f695a035c8
Add a low FPS callback to aid in debugging, and fix a huge memory leak in akgl_text_rendertextat
main
Andrew Kesterson2026-05-15 11:07:31 -04:00
73b1a4cab0
Make perspective scale work more explicitly from properties
Andrew Kesterson2026-05-13 23:36:49 -04:00
aad196d84e
akgl_heap_release* should not cascade into dependent objects (releasing actors should not release characters, sprites, and spritesheets)
Andrew Kesterson2026-05-13 22:45:52 -04:00
9443fa8532
Fix bug in akgl_heap_release_actor preventing it from being cleared out of the registry
Andrew Kesterson2026-05-13 19:28:38 -04:00
dc2e88b72f
Fix a scale bug (default should be 1.0), add tilemap release function
Andrew Kesterson2026-05-13 16:56:24 -04:00
53e4f5c14f
Tilemaps can have two objects placed on it, 'p_foreground' and 'p_vanishing' whose placement form a virtual perspective plane, which causes sprites to scale as they move up and down the screen between them, creating the illusion of depth on the screen
Andrew Kesterson2026-05-13 09:57:24 -04:00
b8dee456ca
Add keyboard enumeration function. Make image layers work.
Andrew Kesterson2026-05-13 08:02:59 -04:00
36dfd47a06
Fixed a bug in akgl_heap_next_string, made screen width and height load from properties, not on the game object
Andrew Kesterson2026-05-13 04:55:19 -04:00
23dbc7d985
Make mkcontrollers script work when building as a submodule
Andrew Kesterson2026-05-12 21:38:08 -04:00
6f62e674d5
Make mkcontrollers script work when building as a submodule
Andrew Kesterson2026-05-12 21:38:08 -04:00
4a02f0364f
Start moving away from wrapping libc stuff in akerror, and move towards akstdlib that does this for me
Andrew Kesterson2026-05-10 00:03:45 -04:00
cc0916cd1f
Added a (registry object name -> registry object pointer) map to the save method so that registry reference by name can have their actor, sprite, spritesheet, and character references reset
Andrew Kesterson2026-05-09 14:45:37 -04:00
4c771227f5
Encode library version and game version into savegame files and check them both
Andrew Kesterson2026-05-08 23:48:35 -04:00
ff6b282112
Added basic game save function, doesn't save much yet, but implements version comparison of binary saves for compatibility
Andrew Kesterson2026-05-08 23:15:11 -04:00
0bd1ae1df8
Move music tracks out of akgl_Game to make it more suitable for serialization
Andrew Kesterson2026-05-08 22:16:43 -04:00
5dda86d887
Add properties registry. Start bounding defines with conditionals so users can change library allocation size.
Andrew Kesterson2026-05-08 10:16:33 -04:00
87a5b1da21
Add ability to push controls to a control map without having to manually track controlmap index IDs
Andrew Kesterson2026-05-06 12:02:36 -04:00
c3847160da
Added a font registry, a text rendering helper, and an FPS counter function
Andrew Kesterson2026-05-06 11:12:42 -04:00
284ffd7b4a
Fix missing sdl3game.pc for pkg-config, change sprite speed and character movement values to long int expressed in nanoseconds for better compatibility with SDL_Time and locking against game clock, still expressed as milliseconds in json
Andrew Kesterson2026-05-05 20:39:58 -04:00
93bc3addfe
actor_logic_changeframe was allowing frame counters to increment out of control leading to unpredictable behavior when changing state, animations would be outside their frame range
Andrew Kesterson2025-08-09 08:54:12 -04:00
35621d8b4d
Changed sprite and character loaders to use the explicit paths passed into them, and to use relative paths for assets referenced inside of spritesheets
Andrew Kesterson2025-08-04 22:34:25 -04:00
9ecfc7dc42
Add charviewer utility for viewing character / sprite files
Andrew Kesterson2025-08-04 21:37:36 -04:00
fb3ff6f2b3
Refactor gamepad to controller, introduce control maps and control map handling of actor states
Andrew Kesterson2025-08-03 21:42:12 -04:00
0a386a6a67
Removed box2d physics because of linking problems (and nothing's using it yet). Also tests work now.
Andrew Kesterson2025-08-03 14:06:40 -04:00