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

This commit is contained in:
2026-05-09 14:45:37 -04:00
parent 4c771227f5
commit cc0916cd1f
10 changed files with 219 additions and 40 deletions

View File

@@ -33,7 +33,7 @@ static akerr_ErrorContext *akgl_sprite_load_json_spritesheet(json_t *json, akgl_
SDL_snprintf((char *)&tmpstr->data, AKGL_MAX_STRING_LENGTH, "%s", ss_filename->data);
}
*sheet = SDL_GetPointerProperty(
AKGL_AKGL_REGISTRY_SPRITESHEET,
AKGL_REGISTRY_SPRITESHEET,
(char *)&tmpstr->data,
NULL
);
@@ -161,7 +161,7 @@ akerr_ErrorContext *akgl_spritesheet_initialize(akgl_SpriteSheet *sheet, int spr
FAIL_ZERO_BREAK(
errctx,
SDL_SetPointerProperty(AKGL_AKGL_REGISTRY_SPRITESHEET, (char *)sheet->name, (void *)sheet),
SDL_SetPointerProperty(AKGL_REGISTRY_SPRITESHEET, (char *)sheet->name, (void *)sheet),
AKERR_KEY,
"Unable to add spritesheet to registry: %s",
SDL_GetError());