#include #include #include #include #include #include SDL_PropertiesID AKGL_REGISTRY_ACTOR; SDL_PropertiesID AKGL_AKGL_REGISTRY_ACTOR_STATE_STRINGS; SDL_PropertiesID AKGL_REGISTRY_SPRITE; SDL_PropertiesID AKGL_AKGL_REGISTRY_SPRITESHEET; SDL_PropertiesID AKGL_REGISTRY_CHARACTER; SDL_PropertiesID AKGL_REGISTRY_MUSIC; SDL_PropertiesID AKGL_REGISTRY_FONT; akerr_ErrorContext *akgl_registry_init() { PREPARE_ERROR(errctx); ATTEMPT { CATCH(errctx, akgl_registry_init_spritesheet()); CATCH(errctx, akgl_registry_init_sprite()); CATCH(errctx, akgl_registry_init_character()); CATCH(errctx, akgl_registry_init_actor()); CATCH(errctx, akgl_registry_init_actor_state_strings()); CATCH(errctx, akgl_registry_init_font()); CATCH(errctx, akgl_registry_init_music()); } CLEANUP { } PROCESS(errctx) { } FINISH(errctx, true); SUCCEED_RETURN(errctx); } akerr_ErrorContext *akgl_registry_init_actor() { PREPARE_ERROR(errctx); AKGL_REGISTRY_ACTOR = SDL_CreateProperties(); FAIL_ZERO_RETURN(errctx, AKGL_REGISTRY_ACTOR, AKERR_NULLPOINTER, "Error initializing actor registry"); SUCCEED_RETURN(errctx); } akerr_ErrorContext AKERR_NOIGNORE *akgl_registry_init_font() { PREPARE_ERROR(errctx); AKGL_REGISTRY_FONT = SDL_CreateProperties(); FAIL_ZERO_RETURN(errctx, AKGL_REGISTRY_FONT, AKERR_NULLPOINTER, "Error initializing font registry"); SUCCEED_RETURN(errctx); } akerr_ErrorContext *akgl_registry_init_music() { PREPARE_ERROR(errctx); AKGL_REGISTRY_MUSIC = SDL_CreateProperties(); FAIL_ZERO_RETURN(errctx, AKGL_REGISTRY_MUSIC, AKERR_NULLPOINTER, "Error initializing music registry"); SUCCEED_RETURN(errctx); } akerr_ErrorContext *akgl_registry_init_actor_state_strings() { int i = 0; int flag = 0; PREPARE_ERROR(errctx); AKGL_AKGL_REGISTRY_ACTOR_STATE_STRINGS = SDL_CreateProperties(); FAIL_ZERO_RETURN(errctx, AKGL_AKGL_REGISTRY_ACTOR_STATE_STRINGS, AKERR_NULLPOINTER, "Error initializing actor state strings registry"); for ( i = 0 ; i < AKGL_ACTOR_MAX_STATES; i++ ) { flag = (1 << i); SDL_SetNumberProperty( AKGL_AKGL_REGISTRY_ACTOR_STATE_STRINGS, AKGL_ACTOR_STATE_STRING_NAMES[i], flag); } SUCCEED_RETURN(errctx); } akerr_ErrorContext *akgl_registry_init_sprite() { PREPARE_ERROR(errctx); AKGL_REGISTRY_SPRITE = SDL_CreateProperties(); FAIL_ZERO_RETURN(errctx, AKGL_REGISTRY_SPRITE, AKERR_NULLPOINTER, "Error initializing sprite registry"); SUCCEED_RETURN(errctx); } akerr_ErrorContext *akgl_registry_init_spritesheet() { PREPARE_ERROR(errctx); AKGL_AKGL_REGISTRY_SPRITESHEET = SDL_CreateProperties(); FAIL_ZERO_RETURN(errctx, AKGL_AKGL_REGISTRY_SPRITESHEET, AKERR_NULLPOINTER, "Error initializing spritesheet registry"); SUCCEED_RETURN(errctx); } akerr_ErrorContext *akgl_registry_init_character() { PREPARE_ERROR(errctx); AKGL_REGISTRY_CHARACTER = SDL_CreateProperties(); FAIL_ZERO_RETURN(errctx, AKGL_REGISTRY_CHARACTER, AKERR_NULLPOINTER, "Error initializing character registry"); SUCCEED_RETURN(errctx); }