Commit Graph

1121 Commits

Author SHA1 Message Date
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
d735ff8fc8 fix closest points janky when shape edges aligned 2024-08-30 19:57:34 -05:00
657d8206fc fix alt key handling in win32 message loop 2024-08-30 19:50:18 -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
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
36f3a3dbb6 replace trig functions with cephes approximations 2024-08-28 14:33:33 -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
0d33c5746f fix sprite log formatting 2024-08-21 17:50:23 -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
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
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
00560af92c unlink existing parent when linking 2024-08-16 15:55:16 -05:00
3f98cdb669 remove entity_unlink_children, tweak entity_link_parent 2024-08-15 16:48:25 -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
ccbfc22e84 fix camera debug rect not drawing 2024-08-12 18:02:02 -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
192d5db2a5 arena_set_readwrite 2024-08-12 15:04:27 -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
094b64078b add (UNUSED) after lock assertions 2024-08-09 15:02:13 -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
3776c2fab0 calculate store offset at compile time 2024-08-06 14:25:46 -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
630afc411b fix asin & acos swapped 2024-08-05 00:24:00 -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
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
91ea995209 cleanup double semicolons 2024-07-22 13:04:44 -05:00
5eb515ab90 rename suffix assume_locked -> ...locked 2024-06-25 19:58:48 -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
63c309b64f replace with placeholder graphics 2024-06-25 15:17:14 -05:00
0b3e191bb2 use work system for sprite loading 2024-06-21 14:27:35 -05:00
377b83e035 cleanup 2024-06-21 12:16:22 -05:00
d571a9647d worker loop cleanup 2024-06-20 16:02:16 -05:00
5ec253b4aa profiling build fix 2024-06-14 17:52:59 -05:00
179a6c3588 unpoison when releasing arena 2024-06-12 17:00:08 -05:00
1d43fee5a1 fix cv using wrong handle 2024-05-29 17:16:43 -05:00
d6d89b9625 fix msvc pch 2024-05-27 15:40:38 -05:00
3e9ac3e99c incorporate buildit dep hist 2024-05-24 16:02:08 -05:00
2245728b59 msvc debug asan build working 2024-05-23 16:49:12 -05:00
ebc73abfb7 more buildit accommodations 2024-05-22 18:45:51 -05:00
c2bfb3a4b3 buildit accommodation 2024-05-21 13:29:21 -05:00
27d6acadc7 minor tweaks 2024-05-16 23:50:17 -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
42a2d97d3d fix sheet evictor breaking before releasing bucket lock 2024-04-30 17:29:33 -05:00
38d9bde9e6 use sheet evictor cycle and pair with reference count 2024-04-30 15:36:25 -05:00
f414cd874b sheet eviction when over memory budget 2024-04-30 14:04:18 -05:00
878c6a09a5 use a separate rw mutex for each sheet cache bucket 2024-04-29 21:38:05 -05:00
155226b60e make sheet scope and cache use same bucket count 2024-04-29 21:30:42 -05:00
9733b1369e parallel sheet eviction scanning 2024-04-29 19:50:21 -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
925ef5a482 replace semaphore usage w/ condition variable 2024-04-24 20:03:07 -05:00
e3830fccae working sheet cache prototype 2024-04-24 18:19:19 -05:00
f72c05297b wait for panic event to be ready before aborting 2024-04-15 21:08:12 -05:00
3f1d714e7b sleep thread after panicking 2024-04-15 20:59:42 -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
62493e8e69 remove font test bits, just use 256 characters for codepoint caching 2024-04-15 12:56:47 -05:00
77fd98baaa fix read-only macro in debug mode 2024-04-12 16:10:25 -05:00
f399c093ca rename utf.h -> uni.h 2024-04-12 12:03:39 -05:00
aaad37da27 minor tweak 2024-04-11 13:12:20 -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
9a8f86d42b more font testing 2024-04-11 12:39:29 -05:00
db9550a356 font testing 2024-04-10 17:22:50 -05:00
a17950bebe remove json test 2024-04-09 16:41:50 -05:00
d11d2d8309 rename tls -> thread_local 2024-04-07 00:10:29 -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
2a2e857e08 only initialize tls storage when tls_get is called for first time 2024-04-04 18:47:19 -05:00
d29b0569ee define UNICODE when including windows 2024-04-04 17:57:26 -05:00
8035e3d4bd fix - use W versions of GetMessage & DispatchMessage 2024-04-04 17:10:42 -05:00
1cbdc27a4c make font rendering unicode aware 2024-04-04 14:53:00 -05:00
e4ecc217e3 process unicode input in win32 2024-04-04 14:51:32 -05:00
354c372e26 indent labels 2024-04-03 23:20:31 -05:00
bfe64f7373 add BOF json token type 2024-04-03 23:12:50 -05:00
7eb63bc80f only call CreateFileMapping if size > 0 2024-04-03 22:59:18 -05:00
100fdd264d disregard tar pax headers 2024-04-03 22:35:50 -05:00
9a8b712f98 unicode support in win32 layer 2024-04-03 19:34:52 -05:00
db16c4b067 create unicode transformation functions 2024-04-03 15:28:46 -05:00
369223eafd fix json child parsing issue 2024-04-03 15:28:04 -05:00
4978ec6633 minor cleanup 2024-04-03 02:48:43 -05:00
59239ce13f cleanup - move linker lib imports to source code 2024-04-03 02:33:29 -05:00
c3d395a44e give app its own thread 2024-04-03 01:48:32 -05:00
13d927e752 fix ase tag names pushed to wrong arena 2024-04-03 01:47:57 -05:00
f78837ca8a add debug_asan config 2024-04-03 01:47:39 -05:00
bd8f5e7f01 minor cleanup 2024-04-01 15:49:19 -05:00
9ebb75f6c3 minor cleanup & logs 2024-04-01 15:38:31 -05:00
ecbc0c8501 tweak byteio & ase to avoid unaligned access 2024-04-01 15:10:34 -05:00
900e841228 rewrite json parser to be dumber 2024-04-01 15:09:14 -05:00
fec692b434 rename tls -> tls_table 2024-04-01 15:06:55 -05:00
7afa567ea0 tls.h & tls.c 2024-03-28 18:19:26 -05:00
2c3597646d atomic ptr 2024-03-28 15:31:15 -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
6122905949 replace tabs w/ spaces 2024-03-28 10:22:55 -05:00
fb43d04f8f correct d3d11_debug check 2024-03-28 08:52:21 -05:00
81c4b10def minor cleanup 2024-03-28 08:51:06 -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
b53dfe93f8 fix window dimensions when coming out of fulscreen 2024-03-19 19:40:48 -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
4a68e0c6c7 begin aspect ratio work 2024-03-15 23:16:54 -05:00
ba7769fba9 make published tick id atomic 2024-03-15 23:16:39 -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
85ff4d5e2e minor cleanup 2024-03-12 11:50:59 -05:00
536d1f602b resource debug lvar 2024-03-11 21:47:55 -05:00
efa639c971 separate entity handling from world to new entity_store 2024-03-11 20:55:49 -05:00
495d7c97ee testing 2024-03-11 20:11:12 -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
c78635f499 minor cleanup 2024-03-08 17:39:07 -06:00
8f3aaba794 alter DEBUG_LVAR semantics 2024-03-08 17:19:09 -06:00
b5433abf22 add nil entity macros 2024-03-08 17:09:55 -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
650c5cd762 rename xform.t -> xform.tl 2024-03-07 16:02:43 -06:00
77421d7c09 change type mtx3x3 to xform 2024-03-07 15:43:51 -06:00
fa5fdbe955 fix memory error during optimization 2024-03-06 20:41:14 -06:00
ed9841c1b1 sprite tag / animating logic touchup 2024-03-06 19:26:00 -06:00
6b21649c74 fix ase reading pixels outside of frame 2024-03-06 17:21:24 -06:00
a25941d364 merge 2024-03-06 13:59:34 -06:00
8b8d01e67c find camera entity before iterating 2024-03-06 13:08:23 -06:00
c5d0f8b6ea player acceleration, debug draw & camera mode 2024-03-06 12:53:47 -06:00
a4dc273480 camera entity 2024-03-05 22:51:10 -06:00
255626f934 nil entity 2024-03-05 18:05:14 -06:00
f260bf6579 fix fmod 2024-03-05 14:34:35 -06:00
48fef5ce2e player movement 2024-03-05 13:21:50 -06:00
bb9b374471 entity trees, xform storing & lerping 2024-03-04 18:39:10 -06:00
e9dc6b2854 testing sprite scaling 2024-03-02 02:17:18 -06:00
fb2e026665 entity & sprite translation 2024-03-02 02:09:01 -06:00
7b2437889e view zooming & panning 2024-02-29 19:01:51 -06:00
8284923173 initial commit 2024-02-29 16:01:51 -06:00