Commit Graph

216 Commits

Author SHA1 Message Date
71e3d9f05f fix gjk causing unstable collisions between flat diagonals 2024-10-05 01:03:07 -05:00
1dde27d31b fix wild collisions at low precision 2024-10-05 00:09:50 -05:00
aac6acd18f apparent stability for now 2024-10-04 20:15:44 -05:00
cf911f27b7 soft contact testing 2024-10-04 09:18:09 -05:00
3c275dfc9a warm starting testing 2024-10-02 16:13:38 -05:00
2758bdc394 friction testing 2024-10-02 14:17:48 -05:00
62df86a66a return un-negated normal from gjk 2024-10-02 11:27:52 -05:00
acbd97aa84 tweaking 2024-09-26 17:21:51 -05:00
3b21f641ad calculate contact ponits outside of substeps by storing local positions 2024-09-25 19:36:28 -05:00
c00d43b1de resolve collisions using the new clipped contacts 2024-09-25 17:02:46 -05:00
a6412ba4f1 working face clipping along normal in gjk_contact_points 2024-09-24 18:55:41 -05:00
88334f2ab1 test midpoint contact point 2024-09-23 15:00:14 -05:00
4b88b282df fix manifold swap issue 2024-09-19 20:42:31 -05:00
dbdd653ae8 fix epa collision not detecting when diagonals touch 2024-09-19 17:37:24 -05:00
1f0c8964d0 skip redundant manifold based on manifold iteration 2024-09-19 12:50:26 -05:00
5593db5202 replace { 0 } initializers with new ZI macro. enable 'Wmissing-field-initializers' 2024-09-19 12:15:55 -05:00
eed68f04cd accumulate impulses 2024-09-19 12:11:00 -05:00
7b37f78b1e use shortcut-gjk for gjk_contact_points 2024-09-19 10:27:50 -05:00
41d56ac13c more physics testing (separate logic to functions & re-calculate constraint depth each iteration) 2024-09-18 20:07:58 -05:00
d14207959b more physics testing 2024-09-18 14:46:40 -05:00
be2f15d1a8 accumulated impulse testing 2024-09-17 14:58:40 -05:00
b717a38b13 contact testing 2024-09-17 12:44:54 -05:00
3ed16a426b minor cleanup 2024-09-13 15:27:46 -05:00
e8bc83df3a revert to returning contact pairs from gjk 2024-09-13 12:12:57 -05:00
1d7f9be8b4 use midpoint of clipped gjk contact faces 2024-09-13 11:29:41 -05:00
14958a8449 gjk contact pair testing 2024-09-12 18:36:04 -05:00
a946583bc8 more physics testing 2024-09-12 15:36:20 -05:00
ea56dab9bf kinda working physics 2024-09-11 16:22:04 -05:00
2012d0705d start on glitchy collision resolution 2024-09-11 13:59:56 -05:00
e3055062e6 angular velocity testing 2024-09-10 16:11:39 -05:00
a0600fc419 revert to using euler integration 2024-09-10 14:14:56 -05:00
8177754821 revert to non-swept epa 2024-09-10 13:56:26 -05:00
8050c39496 minor cleanup 2024-09-09 12:08:28 -05:00
5c03288c53 formatting 2024-09-09 10:56:54 -05:00
14163d2a09 semi working sweeping collision along velocity 2024-09-06 16:00:44 -05:00
11759dc6cd better direction gjk testing (still bugged since edge is furthest in velocity rather than closest projected, even though point is now correctly projected from end of velocity ray) 2024-09-05 09:16:01 -05:00
f608000b85 re-add/enable gjk debug visualization 2024-09-04 10:26:04 -05:00
8c36552659 collision resolution testing (janky bc angular velocity not taken into account) 2024-09-03 17:00:40 -05:00
9cb34ea1cd gjk.c & gjk.h 2024-09-03 15:59:06 -05:00
c3b96d1597 join logic for gjk expansion into one function 2024-09-03 14:30:42 -05:00
beccc17b7f working gjk penetration direction test 2024-09-03 12:04:22 -05:00
ed1a788821 gjk closest point working for non-colliding entities 2024-08-30 17:15:26 -05:00
8fd92c55a1 gjk expanded testing non-colliding closest face 2024-08-30 13:39:28 -05:00
8de566cad5 gjk step tweaking in debug mode 2024-08-29 18:46:08 -05:00
7e125e864e tweaking 2024-08-29 15:45:01 -05:00
2150d0e3c4 working epa test 2024-08-29 11:31:57 -05:00
818ffa7eba start on scuffed epa 2024-08-28 20:21:55 -05:00
2453ceb239 fixed skew & child entity interpolation (still drifting skew bug due to accumulated sin & atan2 imprecision) 2024-08-27 18:35:43 -05:00
1e8b6973c1 replace atan2 approximation with one that seems more stable 2024-08-26 19:21:14 -05:00
bdcc6a8c81 set local xform when applying child attachment 2024-08-26 16:13:34 -05:00
4ce85c1bef skew testing 2024-08-26 14:48:40 -05:00
8bcc0bd356 working gjk test 2024-08-24 13:45:12 -05:00
86f1f1f6e0 start on scuffed gjk collision detection 2024-08-23 20:30:22 -05:00
17f7e3daaa small tweak 2024-08-23 13:25:23 -05:00
bd237e211b divide forces by mass only once during physics sim 2024-08-22 13:05:43 -05:00
687ebb4eb9 accumulate forces and impulses in one pass 2024-08-22 11:33:09 -05:00
c4dd372041 store and calculate mass from unscaled mass instead of density 2024-08-21 17:17:05 -05:00
9a2ec4ebe4 take mass to account when applying impulse 2024-08-19 19:45:12 -05:00
10c9c833ba better impulse & force application 2024-08-19 19:20:55 -05:00
0ed2a403dc impulses & forces 2024-08-19 15:02:41 -05:00
83b0b3f255 start verlet integration 2024-08-18 22:44:55 -05:00
00560af92c unlink existing parent when linking 2024-08-16 15:55:16 -05:00
0e658749b1 track key repeats in user binds 2024-08-15 16:18:14 -05:00
bd4e560f67 allow error in aim angle 2024-08-15 14:41:01 -05:00
f48a059397 weapon attachment to parent 2024-08-15 13:59:42 -05:00
9424c9c2c9 correct bullet starting point 2024-08-14 18:40:07 -05:00
38075e5efd entity_prop_kinematic 2024-08-14 18:22:06 -05:00
2a357c127f more bullet testing 2024-08-14 14:21:51 -05:00
ca6c058675 bullet trail testing 2024-08-13 19:29:03 -05:00
45c6d94009 more bullet testing 2024-08-13 16:34:31 -05:00
bcbf9c9588 bullet testing 2024-08-13 14:30:42 -05:00
cad25d24b2 entity release prop 2024-08-13 14:04:01 -05:00
52db86b012 entity active field 2024-08-13 12:58:13 -05:00
57e0d0a84a begin firing/bullet work 2024-08-12 19:41:39 -05:00
81d02f3c80 debug pausing 2024-08-12 18:50:10 -05:00
065986384e move separate game updates into individual iterations 2024-08-12 18:00:11 -05:00
c0517a7df6 rename next_tick -> tick 2024-08-12 16:20:36 -05:00
b629f53f16 formatting 2024-08-12 16:15:31 -05:00
e6d3506035 rename published_tick & world -> prev_tick & next_tick 2024-08-12 15:27:35 -05:00
787bb9e0d1 mark published tick entity store read only 2024-08-12 15:18:51 -05:00
d17727c133 minor cleanup 2024-08-09 23:13:24 -05:00
1125015ff7 weapon triggering testing 2024-08-09 22:57:38 -05:00
911208a926 triggering beginnings. 2024-08-09 22:27:02 -05:00
f5400b0205 equip/fire beginnings. player input cmd change. 2024-08-09 21:03:51 -05:00
dbeb0f0f72 only re-calculate all xforms before publishing game tick 2024-08-08 14:23:18 -05:00
a7d8e19784 use pivot dir to determine sprite transform rotation. 2024-08-08 13:38:25 -05:00
28af2c9fc9 potentially fixed entity release function 2024-08-07 16:36:33 -05:00
8afeea3b9a store user player aim as active camera focus 2024-08-07 14:40:09 -05:00
0f113f640f child xform fixes 2024-08-07 14:13:06 -05:00
f5e28a04af add entitity_get/set_xform functions 2024-08-07 11:48:19 -05:00
91f7299274 re-enable test entities at start 2024-08-06 22:16:18 -05:00
f8549618bb await sprite sheet in game thread 2024-08-06 18:11:04 -05:00
38a2478325 fix updates not ran on new entities added from game commands 2024-08-06 17:58:52 -05:00
bac9d797b9 fix entity gen comparison 2024-08-06 16:05:29 -05:00
53ae299816 add root entity. release children with parent. 2024-08-06 15:09:57 -05:00
c7ee34037a begin entity xform tree refactor 2024-08-06 13:44:24 -05:00
bda472d15e update tim test image 2024-08-05 13:10:15 -05:00
3049e02b57 working aim from hold slice correctly 2024-08-05 13:01:15 -05:00
c25afa72b9 implement partially broken slice based aiming 2024-08-01 14:47:37 -05:00
91d7812f8a rename rel_xform -> exform. world_xform -> xform_world. sprite_quad_xform -> sprite_xform_world. add rel sprite_xform field. 2024-08-01 13:10:37 -05:00