Commit Graph

80 Commits

Author SHA1 Message Date
243107d0ae Start with music turned off 2026-05-09 14:46:04 -04:00
7209b28993 Experimented with game save and load functions 2026-05-08 23:15:25 -04:00
fca99ae884 akgl API update 2026-05-08 22:16:54 -04:00
a42816ed3a sdl3game -> akgl 2026-05-07 22:20:21 -04:00
4321263465 Unify game library calls on akgl_ 2026-05-07 22:02:35 -04:00
a118434393 Transition to using the default config map, and pushing custom controls with SDL3G_controller_pushmaP 2026-05-06 12:03:25 -04:00
32eeaf9769 Show the FPS readout in the top right 2026-05-06 11:13:06 -04:00
4da733b5db Add a key to toggle the music off, fix little guy's movement speed 2026-05-05 20:41:11 -04:00
e95b907ba9 Game rebuilds against latest libsdl3game 2026-05-04 00:18:55 -04:00
2028065b84 Bind ESCAPE to a breakpoint function you can hook with gdb 2025-08-09 09:00:23 -04:00
8147651a00 Fix evrything for relative paths 2025-08-08 23:09:22 -04:00
569e0a42d1 Refactor from managing specific controller events to using controlmaps. Actor facing doesn't work quite right. 2025-08-03 21:42:33 -04:00
3e36e39e48 Extract the error library out into libsdlerror, extract the game library out into libsdl3game, link against them 2025-08-03 15:15:07 -04:00
dd2098779d Builds and runs on Windows with msys2 / mingw64-gcc 2025-01-05 19:53:54 -08:00
2e58f4a78f Add missing sprite assets 2025-01-05 22:52:46 -05:00
9ed7254364 Character definitions now use an array of state names instead of integers 2025-01-04 14:27:19 -05:00
ee7fd1767c Added parent/child relationship for actors. Children render relative to their parents and don't run movement logic. 2025-01-03 22:35:11 -05:00
adcf28d303 Remove TODO item, too complicated 2025-01-03 20:23:31 -05:00
717f29fcb3 Actor automatic facing by movement state works correctly 2025-01-03 16:59:08 -05:00
f38ba4d99e Fixed a bug in heap error references not getting released properly 2025-01-03 16:25:35 -05:00
5a193e8cac Broke actor logic updates out into structure methods on the actor structure so they can be overriden and to clean up the logic. Introduced movement_controls_face but it doesn't work yet. 2025-01-03 15:34:31 -05:00
fd3a97560b Actor movement rates now controlled by velocity settings on the character and movement states 2025-01-01 22:28:17 -05:00
41e291a216 TODO stuff 2025-01-01 21:55:38 -05:00
3d195820b9 Made player sprite change in reaction to controller input using the state. 2025-01-01 21:53:21 -05:00
077ad65e2c Gamepad input moves the player around the map now 2025-01-01 15:33:14 -05:00
01d75072b9 Fixed the tilemap loading and rendering. Added a bunch more error checking and tests. Fixed actors not rendering with their layers in the dist. 2025-01-01 13:56:15 -05:00
e4d47b0be8 Fixed failing actor test 2024-12-27 20:53:29 -05:00
cae53ac621 Refactored the error stacktrace buffer into the ErrorContext. Fixed a few minor bugs. Got all the character tests working. Added additional warnings to the compilation flags. Actor test is failing now. 2024-12-27 20:48:20 -05:00
7e3c32ce44 Add the ability to generate coverage reports 2024-12-27 15:30:25 -05:00
8e73d2c4e1 Finished breaking out sprites, actors and characters. Completed tests for sprite, including json loading. 2024-12-27 14:48:16 -05:00
3e9a29a0b6 Actor testing 2024-12-25 14:45:06 -05:00
ab15af80ae Added tests for the registry and started testing the actors. Changed how unhandled error termination behavior works. 2024-12-25 10:27:18 -05:00
72bf89c873 Add false collision test 2024-12-25 00:39:38 -05:00
97dad85782 Added util library tests including rectangle and point collisions 2024-12-25 00:27:15 -05:00
61c2a07e4a Added test harness script, a few more tests 2024-12-24 21:56:36 -05:00
9cb8f5e1da Broke files out into library, game, and include. Added a tests/ directory to start building out tests. Gotta figure out WTF is going on w/ the memory management or all dev will have to be restarted. No bueno. 2024-12-24 11:35:27 -05:00
a1a243b2b2 I removed exclib in favor of a errno style approach but now strncpy is segfaulting. I have no fucking idea. 2024-12-23 23:25:53 -05:00
1e0d22d4e1 Fixed the game-breaking memory failure. Was a failure to free a json resource. 2024-12-22 16:32:54 -05:00
ab51822caf Broke out the registry and heap into their own files, added the string type, BITMASK_* functions, and ITERATOR_* flags 2024-12-22 13:45:43 -05:00
e860c84bd1 Using latest exclib, json cleanup occurs properly now. But there's a bug in the joystick handler that causes SDL to crash malloc? So I disabled that until I can figure it out. 2024-12-22 11:08:59 -05:00
29cc3c341d Removed garbage 2024-12-22 00:36:10 -05:00
1ead5d6823 Fixed a bug in reference counting on the heap objects. Added multiple sprites to a character. 2024-12-20 18:21:11 -05:00
f970aa574d Characters can be loaded from JSON files now 2024-12-20 15:16:32 -05:00
f71202a54f "Added utility libraries for collision (and missing source files I didnt add last time!) 2024-12-20 09:13:59 -05:00
c000b8a0cb TODO updates 2024-12-20 08:26:53 -05:00
8b81eac3f5 Started using c-set-style strustroup
Moved json helpers out into their own json_helpers file

Made `sprite_load_json()`, you can load sprite definitions from json now. Spritesheets are automatically loaded if they're not in the registry. See assets/sprites/ for an example json sprite definition.
2024-12-19 09:32:36 -05:00
6cc097f334 Added iterator operators to transmit information to iterators, so now the actor iterator can operate by layer. Added tree layers to the test map to illustrate it works by putting the player behind a tree.
Fixed a bug in actor rendering that rendered their world coordinates as screen coordinates regardless of where the camera was in relation to the world
2024-12-19 08:25:58 -05:00
f62442cfcc New intermediate object between actors and sprites, "characters". Characters consist of a properties map of states to sprites. TIle object layers specify character names, and those are fetched from the heap, and new actors are instantiated for those characters. Each actor is used exactly once, characters may be used by many actors.
Heap objects automatically increment their refcounts when fetched via heap_next_XXX() and their references decrement when released with heap_release_XXX(). When an objects refcount reaches zero, dynamic objects are freed and child reference counts are decremented.
2024-12-18 10:48:17 -05:00
bcc96261d3 Actors can be placed on object layers on the tile map now 2024-12-18 07:30:32 -05:00
dd60c90352 Update loop renders actors by iterating over the property lists now 2024-12-17 22:23:28 -05:00