Commit Graph

33 Commits (master)

Author SHA1 Message Date
Karl F 9e44b09314 Happy new year!
HAPPY MERRY 2021!
2021-01-03 19:40:16 +01:00
Edoardo Morandi e6b9cd8d71 Remove many warnings 2020-04-25 01:31:42 +02:00
Webster Sheets 05f23c73c2 Handle POT-extended textures correctly 2020-03-13 14:50:14 -04:00
Karl F 436db08636 Happy new decade!
May you live long and prosper!
2020-01-01 10:47:46 +01:00
mike-f1 d90e14ec13 Speedup pilua (#4548)
* Add a Rotate function to vector2 and copy-pasted some specializations to be used by Lua

Copy-Paste vector3 Lua interface in LuaVector2 so it works for vector2

Expose LuaVector (vector3) and LuaVector2 (vector2) to LVM (example in 'pigui.lua')

Add some utility function (used in PiGui) to LuaVector2

* mainmenu.lua use LuaVector2

Return vector2 for screen position of an object

Pull a vector2d from Lua instead of a size_v

* Port ui.pointOnClock in C++;

Store last 'center' in ui.pointOnClock;

Provide two pointOnClock overrided; Provide lineOnClock;

Use pointOnClock and lineOnClock in Lua;

* Eradicate dependencies of C++ from Vector.lua (see LuaPiGui); vectors in Lua are either LuaVector or LuaVector2

Remove Vector.lua

Remove remaining dependencies from Vector.lua

* Use length() instead of magnitude()

Use length instead of magnitude in order to re-enable radar; Pass vector2 instead of vector3 for aep; Fix some calcultations because of length

* Add '__newindex' function to LuaVector&LuaVector2; CheckFromLua don't return a 'const'; Use vector.x|y|z where useful; Implement some improvement here and there

* New ctor for LuaTable; Avoid rehashing in 'l_pigui_get_projected_bodies';

Use new ctor of LuaTable, caching results;

Some little explanation on new ctor in LuaTable;

* Remove remaining '&' in Space.*

* Use 'lua_typename' in LuaVector and LuaVector2; Move CalcTextAlignment in C++; Cache variable in 'displayDirectionalMarkers'

* Remove 'ImVec2' push/pull, use vector2 instead

* Use __index in game.lua

* Bugfixes: seems vector2 assign value as reference; use 'new_index'"

* Group bodies in C++ using 'Hierarchical Agglomerative Clustering';
Pass results in Lua; Print them
Use reverse iterator in 'l_pigui_get_projected_bodies_grouped';
Reserve memory ahead of time; use group head to check nearest;
use std::accumulate Reduce memory waste; Use std::for_each
Use grouped bodies in game.lua; 'typedef' grouped bodies
Avoid 'pass-the-end' error trying to group the last one

* Add Print to vector2

* Use '__call' metamethod in order to initialize vectors in Lua; Name for vectors are now Vector2 and Vector3

* Split 'is_more_important_than' in a C-to-Lua part and a C++ function and use last directly in 'l_pigui_get_projected_bodies_grouped'

* Use intensively Vector2 in Lua

* Use forward iterator in reverse

* Remove LuaMatrix.* because aren't used
2019-05-05 11:42:29 +01:00
Webster Sheets 5cdaefad6a Run clang-format over the entire code base.
Fix hidden header-inclusion-order dependency errors.
Update .clang-format for v7.0.1.
2019-01-05 17:09:05 -05:00
Karl F d2ab921b62 Happy New Year!
Awesome sauce (for next year):
find . -type f -exec sed -i 's/2008-2018 Pioneer Developers'/'2008-2019 Pioneer Developers/g' {} \;

closes #4507
2019-01-03 15:28:42 +01:00
Karl F 7225e9c723 Happy New Year!
Ten years in the making now, but how can we improve upon perfection
for ten more years?
2018-01-01 21:22:12 +01:00
Andrew Copland 8cb1555f67 Eliminate the evil trailing whitespace 2017-03-05 13:15:55 +00:00
Andrew Copland 74d50958fe MERRY HAPPY 2017 2017-01-04 15:11:15 +00:00
Andrew Copland e562b417aa Change vector2 to be a template class with float and double types. 2016-03-10 21:03:00 +00:00
Andrew Copland fea5ac26b2 MERRY HAPPY 2016 2016-01-29 11:31:54 +00:00
Andrew Copland 68ea0d06e7 Cache Indent and Outdent buffers to avoid recreating them per-frame. 2015-07-16 12:12:51 +01:00
Andrew Copland d1023915a6 Added operator== method to vector2.h 2015-01-13 11:25:44 +00:00
Robert Norris 9f95339a9d MERRY HAPPY 2014-12-31 23:05:37 +11:00
Robert Norris 6dc4283eb6 happy new year 2014-01-02 14:43:38 +11:00
Robert Norris 91b8586653 happy new year 2013-01-01 12:36:52 +11:00
Robert Norris 357d8b7a34 remove unused vector2 component stuff 2012-10-20 14:07:49 +11:00
Robert Norris 2062da2cd9 Merge branch 'master' into new-ui 2012-09-23 20:48:35 +10:00
John Bartholomew e7dddc7577 Merge branch 'master' into header-legals
Conflicts:
	AUTHORS.txt
2012-09-23 01:52:57 +01:00
Robert Norris d937d4a448 Merge branch 'master' into new-ui
Conflicts:
	src/Pi.cpp
	src/vector2.h
2012-09-21 07:44:54 +10:00
John Bartholomew bf207914b1 make single-argument vector2/3 constructors explicit (for safety)
It's fairly rare to be bitten by an unintended implicit conversion,
but when it happens it's confusing as all hell. Also, it makes the code
easier to follow when it's clear what values are vectors and what values
are scalars.
2012-09-19 05:55:10 +01:00
Robert Norris efbce7648a update license paths 2012-09-16 10:59:15 +10:00
Robert Norris e9f4448bba add copyright notices to all the code 2012-09-16 09:45:04 +10:00
Robert Norris 21894c2504 vector2 unsigned int constructor 2012-05-03 09:25:52 +10:00
Robert Norris 21e2c1fd3f pull new ui over from gui-core-refactor branch 2012-04-10 21:59:07 +10:00
Robert Norris 415908da3d also don't include cmath from vector2. it clashes with math.h for isfinite 2012-04-03 16:31:42 +10:00
John Bartholomew 2ec9198195 add some extra methods (operator/, Length{,Sqr}, Normalized{,Safe}) to vec2 2012-04-01 21:31:28 +01:00
John Bartholomew 31b2a5f640 remove unused vector2f::operator[] (see rationale below)
1- it's unused
2- as it's currently written, v[0] and v[1] don't actually work, because
   the index must be a vector2f::Component value (to compile, you have to
   write v[vector2f::X] or v[vector2f::Y])
3- the ternary operator implementation looks weird, and an (&x)[idx]
   implementation is technically invalid (though it works in practice,
   and tons of code relies on it or on the same underlying requirements
   for field alignment and packing)
2012-04-01 21:30:32 +01:00
kko 010db1a9ea Merge remote-tracking branch 'origin/master' into renderer
Conflicts:
	src/Makefile.am
	src/Pi.cpp
	src/Projectile.cpp
	src/Projectile.h
	src/ShipSpinnerWidget.h
2012-02-20 08:47:19 -05:00
Robert Norris a1d1c78c6b give vector2 an operator[] 2012-02-15 08:50:32 -05:00
Robert Norris eb8832aced more vector2 constructors for convenience 2012-02-15 08:50:23 -05:00
Robert Norris 146a371507 simple vector2 class 2012-02-04 22:10:17 -05:00