Commit Graph

363 Commits

Author SHA1 Message Date
a80eff9e39 host progress 2025-02-03 19:54:06 -06:00
062285b1b3 socket progress 2025-01-31 10:26:07 -06:00
d7f1ac06cb remove buffer struct, use string struct instead 2025-01-30 15:12:26 -06:00
a1a1430fd8 serialize game cmds 2025-01-30 13:36:44 -06:00
7d0826b57b give byte writer option to be backed by an arena 2025-01-30 11:38:35 -06:00
eea9c978c9 set aim joint correction rate dynamically based on dt 2025-01-30 11:05:38 -06:00
79cc9e15e5 set tick sim time right before publishing 2025-01-29 11:39:05 -06:00
f0a25248c3 remove sys_timestamp, refactor into generalized i64 holding nanoseconds 2025-01-29 11:29:31 -06:00
4eef91dd63 convert sys_timestamp_t to struct 2025-01-29 10:22:00 -06:00
fef1d98c26 remove redundant cell iter check 2025-01-28 23:31:08 -06:00
dbd16ccd67 skip space cells at 0 2025-01-28 20:31:52 -06:00
0836eec851 broad phase for colliders via aabb spatial hash 2025-01-27 19:42:17 -06:00
c200a618b0 collider_get_aabb & collider_test_aabb 2025-01-27 12:11:23 -06:00
b9bc22a019 profile locks 2025-01-26 21:29:03 -06:00
ab6761b733 formatting 2025-01-20 14:26:12 -06:00
a2f9f58143 retrieve texture size dynamically 2025-01-20 12:03:09 -06:00
cebaed5aa5 refactor renderer_handle -> renderer_texture. retrieve backbuffer as texture. 2025-01-20 11:50:18 -06:00
c6e1450d88 rename viewport -> ui 2025-01-20 09:29:34 -06:00
3c47774e67 rename canvas -> cmd buffer 2025-01-20 09:25:32 -06:00
511783243d draw ui & world to separate texture 2025-01-18 12:29:10 -06:00
acced9dfed render to texture 2025-01-17 19:29:57 -06:00
9549897e6b fix grid offset 2025-01-17 11:45:12 -06:00
e6cea55854 slight renderer refactor. grid shader. 2025-01-16 18:04:21 -06:00
6c5183fe0a merge sort typo 2025-01-16 14:33:13 -06:00
d2cfeed161 sorted layers first pass 2025-01-16 11:42:26 -06:00
c361becc73 add merge sort 2025-01-16 10:40:20 -06:00
81f4049f95 tweak player torque speed 2025-01-15 17:21:29 -06:00
ad7ca7d68c pre-generate rand.dat file for deterministic noise. calculate shake based on world time 2025-01-15 14:32:36 -06:00
4c194d3b39 camera shake 2025-01-14 17:06:25 -06:00
25592d24d3 rework collider clipping logic 2025-01-13 15:58:30 -06:00
a1b8f752c9 working on capsule collision bug 2025-01-13 11:58:32 -06:00
85234c8dac add random direction to blood test 2025-01-13 09:50:01 -06:00
33ad436040 draw bullet circle in tracer 2025-01-13 07:53:06 -06:00
37f10d76dd working tracers 2025-01-12 18:23:01 -06:00
5026a967ff config option to disable detailed collision debug 2025-01-12 15:36:44 -06:00
a00798fc7a tracer beginnings 2025-01-12 11:54:48 -06:00
0ef72e1b23 disable all warnings for profiling build 2025-01-11 15:49:57 -06:00
0716ebd398 separate physics logic from game.c 2025-01-10 15:44:07 -06:00
1e81a7ea41 create collider_closest_points function 2025-01-06 11:41:59 -06:00
33df739cc6 create separate entities for visualizing collision debug info 2025-01-03 17:24:34 -06:00
9981b600a8 draw debug movement for kinematic objects 2025-01-03 16:04:32 -06:00
1bbe316b20 kinematic flag 2024-12-16 12:53:52 -06:00
f5e45d6ba1 game tick continuity gen. start removing static constraint lookup 2024-10-30 14:47:17 -05:00
c071e17305 fix clip winding swap 2024-10-30 13:58:11 -05:00
c8b48b9537 object dragging via mouse joint 2024-10-30 10:16:09 -05:00
c966924760 fix incorrect contact point calculation 2024-10-29 13:59:12 -05:00
483a95dfca testing linear movement using motor joint 2024-10-29 11:13:31 -05:00
161e615aa7 specify control torque in turns / second 2024-10-28 15:58:00 -05:00
4e920e071d motor joint 2024-10-28 14:33:26 -05:00
68d80de75a move manifold data into 'contact_constraint' struct 2024-10-23 16:35:09 -05:00
7708b8e5b8 rework transformation math functions, add separate 'world' transform functions 2024-10-22 15:16:34 -05:00
ed8b03941e use v2_winding when clipping 2024-10-22 11:15:52 -05:00
55fc39fddd minor tweaking 2024-10-15 17:47:57 -05:00
8f1422a882 more popping work 2024-10-15 14:00:03 -05:00
73b7fef768 more fixed up capsule collision. remove transform matrix skewing 2024-10-12 00:37:15 -05:00
6951fa62e3 popping probably fixed 2024-10-11 14:32:01 -05:00
31082916ad unevenly-scaled shape collisions working 2024-10-10 16:43:31 -05:00
daf1a862f5 more physics config defines 2024-10-10 13:52:57 -05:00
c193e31cce only draw collider line for circles 2024-10-10 13:24:08 -05:00
59361a60af divide warm start impulse by num contacts 2024-10-10 13:13:37 -05:00
9b4cfa345d halve warm start impulse to reduce jitter 2024-10-10 10:29:35 -05:00
bc19bd816d gonna probably rework clipping to better support round shapes 2024-10-10 08:57:55 -05:00
f22aec28bb more gjk collision work for rounded shapes 2024-10-09 13:05:01 -05:00
33b32e849c ignore speculative bias during relaxation for stabililty 2024-10-08 19:34:52 -05:00
ac042a3306 rounded collisions working except for clipping 2024-10-08 16:01:30 -05:00
d52effe5c1 wip collider shapes 2024-10-08 12:15:11 -05:00
5ef8ee3f40 rename module gjk -> collider. remove unused gjk functions. 2024-10-08 07:43:45 -05:00
71e3d9f05f fix gjk causing unstable collisions between flat diagonals 2024-10-05 01:03:07 -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
2758bdc394 friction testing 2024-10-02 14:17:48 -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
5593db5202 replace { 0 } initializers with new ZI macro. enable 'Wmissing-field-initializers' 2024-09-19 12:15:55 -05:00
7b37f78b1e use shortcut-gjk for gjk_contact_points 2024-09-19 10:27:50 -05:00
d14207959b more physics testing 2024-09-18 14:46:40 -05:00
b717a38b13 contact testing 2024-09-17 12:44:54 -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
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
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
d735ff8fc8 fix closest points janky when shape edges aligned 2024-08-30 19:57:34 -05:00
987842e130 working depth points for colliding gjk 2024-08-30 18:22:48 -05:00
ed1a788821 gjk closest point working for non-colliding entities 2024-08-30 17:15:26 -05:00
2fe3502cfc fix gjk hang 2024-08-30 14:40:40 -05:00
8fd92c55a1 gjk expanded testing non-colliding closest face 2024-08-30 13:39:28 -05:00
99381f1274 gjk tweaks 2024-08-30 09:00:18 -05:00
8de566cad5 gjk step tweaking in debug mode 2024-08-29 18:46:08 -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
4ce85c1bef skew testing 2024-08-26 14:48:40 -05:00
86f1f1f6e0 start on scuffed gjk collision detection 2024-08-23 20:30:22 -05:00
c4dd372041 store and calculate mass from unscaled mass instead of density 2024-08-21 17:17:05 -05:00
c461956fb0 remove a debugbreak 2024-08-21 14:31:44 -05:00
10c9c833ba better impulse & force application 2024-08-19 19:20:55 -05:00
4b10be1b17 specify arena when queueing game cmds from user thread 2024-08-19 13:32:30 -05:00
83b0b3f255 start verlet integration 2024-08-18 22:44:55 -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
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
cad25d24b2 entity release prop 2024-08-13 14:04:01 -05:00
52db86b012 entity active field 2024-08-13 12:58:13 -05:00
81d02f3c80 debug pausing 2024-08-12 18:50:10 -05:00
ccbfc22e84 fix camera debug rect not drawing 2024-08-12 18:02:02 -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
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
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
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
219acd3927 calculate sprite xform from world xform, and add calculation to world xform recurse step 2024-08-01 12:43:49 -05:00
5c51b555b2 fix sprite slice size off-by-one. dont calculate entity animation in user thread. debug draw slices 2024-07-31 20:01:43 -05:00
fd3ab6146b calculate sprite xform from pivot in game thread 2024-07-31 18:20:31 -05:00
1dd8a4d659 store slices & spans in array 2024-07-25 13:04:12 -05:00
6193d80983 sprite slice rays 2024-07-24 15:18:50 -05:00
a314f1b8f4 ase slice parsing first pass 2024-07-23 14:15:02 -05:00
04db1226e2 refactor mutexes to use 'sys_lock' objects. make all mutexes rw mutexes. 2024-06-25 19:54:33 -05:00
3061d465d1 minor tweaks & fixes 2024-06-25 18:35:53 -05:00
ebc73abfb7 more buildit accommodations 2024-05-22 18:45:51 -05:00
9eabdcd222 msvc support in progress 2024-05-03 02:35:25 -05:00
00629aa988 merge texture & sheet into 'sprite' 2024-05-01 15:50:50 -05:00
cf3d678699 texture cache w/ eviction & reloading 2024-05-01 00:22:06 -05:00
5a32c90813 sheet eviction & reload detection 2024-04-29 18:59:32 -05:00
35ded9dbac sheet loader thread 2024-04-26 14:00:31 -05:00
e3830fccae working sheet cache prototype 2024-04-24 18:19:19 -05:00
228bef5a68 more proper sys_panic 2024-04-15 19:31:22 -05:00
511364ee05 app exit / shutdown callbacks 2024-04-15 18:02:38 -05:00
d646d3434c rename ase & sheet 'tag' -> 'span'. begin sheet testing. 2024-04-15 14:25:10 -05:00
26950f13e3 remove text input test 2024-04-15 12:57:31 -05:00
f399c093ca rename utf.h -> uni.h 2024-04-12 12:03:39 -05:00
2d593fee03 rename global 'L' vars to 'G' 2024-04-11 12:50:28 -05:00
02b31ab441 rename DEBUG_LVAR -> DEBUG_ALIAS 2024-04-11 12:42:44 -05:00
db9550a356 font testing 2024-04-10 17:22:50 -05:00
103a87281c top-level scratch arena safety check 2024-04-06 20:18:55 -05:00
773a221b44 more unified tls model. testing json parsing & unicode display. 2024-04-05 18:02:17 -05:00
04eb118e60 system startup receipts 2024-03-28 13:31:35 -05:00
508c77abfd use macros for typedef'd function definitions 2024-03-28 11:46:43 -05:00
cdb0d2bf58 minor tweaks 2024-03-28 08:44:27 -05:00
0a1761627b camera debug drawing and less direct rel xform application 2024-03-20 13:36:57 -05:00
c6ca5c0c9a viewport scaling by camera size 2024-03-19 21:17:49 -05:00
5f0c315d3f add simple borderless fullscreen 2024-03-18 02:44:16 -05:00
e3ffcaa2a1 render to aspect-ratio-locked viewport 2024-03-18 00:54:00 -05:00
3b0cdfd1f4 more fleshed out atomics for i32, i64, u32, u64 2024-03-15 22:37:49 -05:00
edadca820a clip cursor by crosshair dimensions 2024-03-15 17:47:25 -05:00
8b5b32ba76 add args to cursor clip set, stop rounding screen size to even number 2024-03-15 17:35:42 -05:00
744a6f8d65 use cursor position as aim direction 2024-03-15 16:52:40 -05:00
39f7b09036 ln, exp, pow, camera lerping 2024-03-15 01:10:24 -05:00
fa6df3152c add interp enable def in config 2024-03-14 14:00:25 -05:00
1d2e7c0b9f hash fnv from seed 2024-03-14 13:28:31 -05:00
fd486bb71b remove 'view' type, replace with xform 2024-03-14 01:08:55 -05:00
808e106f78 draw debug lines on screen canvas 2024-03-13 23:17:07 -05:00
e91a66f5b3 xform movement & focus directions by world view basis 2024-03-13 23:08:18 -05:00
181f8258fe keep mouse in window instead of setting cursor pos to center 2024-03-13 22:26:28 -05:00
bdd8db60c3 player focus dir relative to player. raw mouse input. crosshair. 2024-03-13 21:44:25 -05:00
aa8dd7a4fa minor tweaks 2024-03-13 15:10:16 -05:00
bac001947b interp tick ratio rather than time offset. set world tick timestamp at beginning of frame 2024-03-13 14:00:56 -05:00
8f33957bf9 use a blend time for interpolation 2024-03-13 13:15:20 -05:00
efa639c971 separate entity handling from world to new entity_store 2024-03-11 20:55:49 -05:00
c602220707 draw debug motion arrows 2024-03-11 19:48:51 -05:00
4f52d24c94 rename ui_canvas -> screen_canvas 2024-03-11 19:43:17 -05:00
0f67701761 proper xform tree iteration 2024-03-11 19:39:26 -05:00
ff3fbecc10 push debug info to temp arena 2024-03-11 13:49:24 -05:00
452e922e23 rework animation logic, don't loop increasingly as time goes on 2024-03-11 13:21:31 -05:00
76c609f8d5 fix entities arena not growing 2024-03-11 12:16:34 -05:00
adce14bbf3 rework tick -> world, move related logic from game into world api 2024-03-08 19:56:34 -06:00
8a2c40c817 rename cpy -> copy 2024-03-08 17:41:39 -06:00
8f3aaba794 alter DEBUG_LVAR semantics 2024-03-08 17:19:09 -06:00
46495d5815 rework sprite_trs -> sprite_xform 2024-03-08 15:56:07 -06:00
ba4dafcb4d convert entity rel_trs -> rel_xform 2024-03-08 11:50:28 -06:00
2a7146c8c9 xform macros 2024-03-07 16:17:11 -06:00
77421d7c09 change type mtx3x3 to xform 2024-03-07 15:43:51 -06:00