Commit Graph

34 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
1066f2a108 Added sprite, spritesheet and actor registries 2024-12-17 22:13:10 -05:00
e2425c5d9e Ripped out the hashmap-based registry, the way it stores copies of objects and not references makes it incompatible for my use 2024-12-08 17:50:17 -05:00
7ae5096d1a Partial rendering of maps through viewports works now (this allows us to scroll the map under a camera) 2024-12-08 17:46:51 -05:00
15dabebad9 Fixed a bug in sprite sheet texture rendering that prevented using frames on a sprite sheet past the first line 2024-12-08 16:34:07 -05:00
bfdff982ee Actors update their animations correctly now 2024-12-08 16:22:20 -05:00
7de95cbea4 Added sprites, actors and spritesheets, along with their respective registries. Sprite animation not working yet. 2024-12-08 15:39:19 -05:00