Max Cahill
e726f19a5e
added pretty module with pretty.print and pretty.string
...
breaking: string.pretty still exists but takes new config argument
2021-07-05 16:12:16 +10:00
Max Cahill
b44b92a32d
refactored state machine to be clear about which variables and parameters are state tables, and which are name strings
...
breaking - changed some property and function names
fixes #16
2021-07-05 14:53:55 +10:00
Max Cahill
1de942daa8
Use luajit table.clear properly
...
Fixes #25
2021-06-29 14:46:40 +10:00
Max Cahill
a2c7800290
Note about branchless or abs-based mathx.sign
2021-06-29 14:44:09 +10:00
Max Cahill
fe135c533b
More pooled storage for intersect.lua
2021-06-29 14:43:55 +10:00
Max Cahill
009beadc68
Updated performance note on functional.lua
2021-06-25 13:31:33 +10:00
Max Cahill
af919da379
Fixed intersect.lua line functions not all working properly with un-exported batteries
2021-06-17 11:29:14 +10:00
Max Cahill
9b95643e6e
Added tablex.swap_and_pop
2021-06-09 19:49:04 +10:00
Max Cahill
0bc9ccb17b
Merge branch 'feature/minmax-vector-ops-and-aabb-collisions'
2021-06-08 11:53:09 +10:00
Max Cahill
a92a0c0351
Reworked aabb vs point and circle methods
2021-06-08 11:51:18 +10:00
Max Cahill
99c496df24
Added maxcomp and mincomp and specified major/minor to always mask an axis - removed farthest and closest because they were under-specified as a result (and questionable utility)
2021-06-08 11:50:54 +10:00
Max Cahill
a73a44f424
Added vec2:signi and vec2:sign to get the sign of each component
2021-06-08 11:49:29 +10:00
Max Cahill
bcd94c134e
Added vec2 support for multiple concurrent release to pool
2021-06-08 11:48:58 +10:00
Max Cahill
2128a38702
Merge pull request #24 from emdete/master
...
fix super_call to call in the next higher class
2021-06-08 09:56:35 +10:00
M. Dietrich
a4e677466a
fix super_call to call in the next higher class
2021-06-07 16:44:39 +02:00
Max Cahill
b3bae9b0f2
Merge pull request #23 from monolifed/patch-1
...
rgb to hsl
2021-06-06 20:04:50 +10:00
monolifed
e9687d763f
rgb to hsl
2021-06-06 09:00:43 +03:00
Max Cahill
7e467b279f
[added] more vec2 angle functions
2021-05-23 20:43:51 +10:00
Max Cahill
c1a4e6898a
Merge pull request #22 from DUznanski/shuffle-fix
...
Fix shuffle to avoid bias
2021-05-21 09:14:01 +10:00
DUznanski
2846de2ea3
Fix shuffle to avoid bias
...
There's a subtle trick in shuffling: you should draw only from the part of the deck you have not seen! Otherwise, some permutations are more common than others.
2021-05-20 12:33:52 -07:00
Max Cahill
2d06ec7b9c
[fixed] intersect.line_circle_overlap
bug
2021-05-13 16:13:30 +10:00
Max Cahill
6fae516630
[added] :ipairs method for sequence, for convenient inline chaining - should consider making it the __call metamethod probably
2021-05-13 15:03:06 +10:00
Max Cahill
80c44f3436
[added] intersect.line_circle_overlap
for checking boolean overlap circles vs lines
2021-05-13 12:24:45 +10:00
Max Cahill
af961ab2b8
[added] intersect.balance_from_mass
which gets a normalised balance factor from two mass inputs, and treats <=0 or infinite or nil masses as static bodies
2021-05-11 15:47:48 +10:00
Max Cahill
a397d3d7f8
Merge remote-tracking branch 'origin/master'
2021-05-11 11:00:10 +10:00
Max Cahill
f343c1c0b7
[modified] optimised table.insert_sorted
and made it _actually_ insert at the back of the range instead of at the first equal found position (not always the same)
2021-05-11 10:59:59 +10:00
Aweptimum
b5d3707939
Added aabb_circle_collide routine, modify aabb_point_collide
...
If circle center within aabb, calls aabb_point collide. Then, adds to the msv the difference between the closest point on the aabb to the circle and the closest point on circle to closest point on the aabb.
It failed when the circle center was exactly on the aabb edges, so COLLIDE_EPS was added to the apo_normal in aabb_point_collide to force the point off the edge. As such, the "nudge" section was removed. This should definitely be reviewed.
2021-05-10 12:29:37 -04:00
Aweptimum
06ca04bde7
Added aabb_circle_overlap
...
When the distance between the circle's center and the closest point on the aabb is less than the circle radius, returns true.
2021-05-10 11:55:51 -04:00
Aweptimum
bfee65762e
Added helper function for aabb_circle routines
...
Clamps point coords to the dimensions of an aabb to get the nearest point on the aabb. Returns two integers to avoid garbage.
2021-05-10 11:55:00 -04:00
Aweptimum
9d1e563796
Added aabb_point_collide()
...
Pushes point out along minimum axis. Nudges it out with COLLIDE_EPS added to the msv.
2021-05-10 11:53:40 -04:00
Aweptimum
bc014db183
Added min/max ops to vec2
...
major/minor return the component with the max/min value.
farthest/closest return the component with the max/min magnitude
2021-05-10 11:52:08 -04:00
Max Cahill
89ecd4258e
Merge remote-tracking branch 'origin/master'
...
# Conflicts:
# tablex.lua
2021-05-04 21:07:35 +10:00
Max Cahill
5cd33398a5
[added] tablex.swap
2021-05-04 20:52:47 +10:00
Max Cahill
d9da4749e2
[added] some randomness helper functions to mathx
2021-05-04 11:41:22 +10:00
Max Cahill
7c975e8c4a
[removed] prime stuff from mathx; hard to justify the filesize
2021-05-04 11:40:20 +10:00
Max Cahill
bc7754ae0b
[modified] minor refactor of how tablex.clear
is or isn't initialised as needed
2021-05-04 10:38:31 +10:00
Max Cahill
c2a9d39bcf
[added] set.clear
which does what you'd expect
2021-05-04 10:38:07 +10:00
Max Cahill
97eac9c51a
Merge branch 'feature/insert-sorted-binary-search'
2021-04-30 11:47:03 +10:00
Max Cahill
826a2797c8
[modified] refactored insert_sorted to get PR #18 merged
2021-04-30 11:46:51 +10:00
Max Cahill
5601d9415b
Merge remote-tracking branch 'origin/master' into feature/insert-sorted-binary-search
2021-04-30 11:22:11 +10:00
Alvaro Frias Garay
5ed6d68f6c
added binary search to insert_sorted
...
Added method tablex.is_sorted
2021-04-15 21:09:04 -03:00
Max Cahill
87834e9267
[modified] sequence wrappers a bit more; exposed functional query interface
2021-04-15 10:31:06 +10:00
Max Cahill
39268148d8
Merge remote-tracking branch 'origin/master'
2021-04-15 10:22:37 +10:00
Max Cahill
d1b7e77b8a
[modified] vec2
to support direct use for conversion in functional.map
2021-04-15 10:22:26 +10:00
Max Cahill
d476bc9c9c
[modified] how sequence
binds the functional interface to make binding new methods less error prone and shorter
2021-04-15 10:21:41 +10:00
Max Cahill
49505af37e
Merge PR #17
2021-04-14 17:07:14 +10:00
Max Cahill
62957a9270
[modified] PR #17 a little; simplified various unneeded sections and added comments
2021-04-14 17:06:31 +10:00
Max Cahill
c840bd01a5
[added] more intersection/resolution helpers
2021-04-14 13:32:14 +10:00
Max Cahill
bfad0baba9
[added] experimental intersect.bounce_off
(needs to be verified)
2021-04-13 15:39:36 +10:00
Max Cahill
ab0839430a
[fixed] broken intersect.circle_circle_collide result
2021-04-13 15:38:52 +10:00