3854b33750
Update tilemap tests for renderer backends
...
Migrate tilemap tests to pointer-based game globals and current loader signatures, initialize the renderer callback used by image comparisons, and refresh the character fixture schema. Preserve loaded tileset names by removing a duplicate heap allocation.
Co-authored-by: Codex (GPT-5) <noreply@openai.com >
2026-07-29 18:25:36 -04:00
cf9ebb206f
Repair embedded dependency build and test setup
...
Isolate vendored test registration, namespace project error codes, and update dependency revisions. Fix mutable sprite path handling, out-of-tree fixtures, and charviewer initialization while documenting the outstanding character-to-sprite refcount bug.
Co-authored-by: Codex (GPT-5) <noreply@openai.com >
2026-07-29 18:17:08 -04:00
74867ea82e
README
2026-06-20 13:19:58 -04:00
4e510dd6d6
README updates
2026-06-19 10:47:07 -04:00
dca03cb50d
Start README docs
2026-06-19 09:52:08 -04:00
652ee4cdf3
Tilemaps can now load their own physics engines from map properties. The gravity for the arcade simulation is acting a little funny when populated from the map properties.
2026-06-02 17:11:16 -04:00
9fed59c4c8
Abstract the global renderer, physics, camera and gamemap objects behind a pointer, so you can swap in and out different ones as needed
2026-06-02 13:15:26 -04:00
941eeb2493
Got the physics system applying gravity and drag correctly. (Mostly? Seems like it? Seems good.)
2026-05-26 16:45:04 -04:00
314ce5e10d
Physics simulation engine implemented, basic cases (null and 2d SideScroller) works
2026-05-26 10:36:31 -04:00
d87c5d2c20
More rendering subsystem breakout, added a physics subsystem, everything now fires from akgl_game_update() for the user
2026-05-25 21:29:18 -04:00
6314ad7f26
Start abstracting the rendering backend away to make it easier to switch to GPU rendering later
2026-05-24 21:59:29 -04:00
8f613397d6
Loading sprites and tiles both work correctly with relative paths, now using akgl_path_relative* helpers
2026-05-24 19:57:57 -04:00
980bbc56fb
Fixed loading of tilesets and images from tilemaps to correctly use relative paths.
2026-05-24 10:28:35 -04:00
e3edd5b855
Add a method that automatically opens gamepads so they will send events
2026-05-21 21:43:51 -04:00
f695a035c8
Add a low FPS callback to aid in debugging, and fix a huge memory leak in akgl_text_rendertextat
2026-05-15 11:07:31 -04:00
73b1a4cab0
Make perspective scale work more explicitly from properties
2026-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)
2026-05-13 22:45:52 -04:00
9443fa8532
Fix bug in akgl_heap_release_actor preventing it from being cleared out of the registry
2026-05-13 19:28:38 -04:00
dc2e88b72f
Fix a scale bug (default should be 1.0), add tilemap release function
2026-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
2026-05-13 09:57:24 -04:00
b8dee456ca
Add keyboard enumeration function. Make image layers work.
2026-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
2026-05-13 04:55:19 -04:00
23dbc7d985
Make mkcontrollers script work when building as a submodule
2026-05-12 21:40:31 -04:00
6f62e674d5
Make mkcontrollers script work when building as a submodule
2026-05-12 21:38:08 -04:00
8ae99120b5
Wrap subdirectory compilation in conditional
2026-05-12 21:06:29 -04:00
c79d93dd58
Wrap subdirectory compilation in conditional
2026-05-12 21:01:47 -04:00
ccd26494d9
Import all dependencies as submodules, make cmake do the right thing
2026-05-12 16:45:42 -04:00
5439b8004b
Move some of the sprite math out of the actor into the sprite
2026-05-12 15:21:36 -04:00
0f01126bad
More akstdlib conversion
2026-05-11 20:58:36 -04:00
d928a8af0f
Complete rename to akgl
2026-05-10 00:06:58 -04:00
4a02f0364f
Start moving away from wrapping libc stuff in akerror, and move towards akstdlib that does this for me
2026-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
2026-05-09 14:45:37 -04:00
4c771227f5
Encode library version and game version into savegame files and check them both
2026-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
2026-05-08 23:15:11 -04:00
0bd1ae1df8
Move music tracks out of akgl_Game to make it more suitable for serialization
2026-05-08 22:16:43 -04:00
e0a59e2447
Add types.h, standardize integer types on stdint
2026-05-08 22:01:56 -04:00
5dda86d887
Add properties registry. Start bounding defines with conditionals so users can change library allocation size.
2026-05-08 10:16:33 -04:00
a0b2dda4cf
Rename library to AKGL (AKLabs Game Library)
2026-05-07 22:20:10 -04:00
359ae23414
Unify the library on an akgl_ namespace
2026-05-07 22:01:27 -04:00
f416cb5dee
Fix bad pointer reference in SDL3G_controller_default
2026-05-06 23:05:17 -04:00
ef24d7b843
Add missing text header file
2026-05-06 22:49:05 -04:00
87a5b1da21
Add ability to push controls to a control map without having to manually track controlmap index IDs
2026-05-06 12:02:36 -04:00
c3847160da
Added a font registry, a text rendering helper, and an FPS counter function
2026-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
2026-05-05 20:40:25 -04:00
90cbf41d75
Added missing error include
2026-05-04 00:02:31 -04:00
6763b5629f
Got the suite rebuilding, most tests pass, actor and sprite are failing
2026-05-03 23:57:55 -04:00
f475dfb6ee
Move from 'libsdlerror' to 'libakerror'
2026-01-05 08:58:06 -05:00
7cff27f035
Added charviewer
2026-01-05 08:57:38 -05:00
0601a8d767
Add rebuild script to make my life easier
2025-08-09 13:54:42 -04:00
4b901886a2
Add GameControllerDB support
2025-08-09 13:53:37 -04:00