diff --git a/src/incl/sprite.h b/src/incl/sprite.h index 4671dc2f..fc7761bd 100644 --- a/src/incl/sprite.h +++ b/src/incl/sprite.h @@ -10,11 +10,11 @@ extern "C" { /** * @brief Primitive of a sprite. */ -struct z3_sprite { +typedef struct z3_sprite { const char* name; /**< Name of the sprite. */ uint8_t id; /**< ID of the sprite. */ -}; -typedef struct z3_sprite z3_sprite; + uint8_t subtype; /**< Subtype of the sprite. */ +} z3_sprite; #ifdef __cplusplus } diff --git a/src/yaze.cc b/src/yaze.cc index 30c3e931..b3cf7f46 100644 --- a/src/yaze.cc +++ b/src/yaze.cc @@ -70,6 +70,15 @@ void yaze_unload_rom(z3_rom* rom) { } } +yaze_bitmap yaze_load_bitmap(const char* filename) { + yaze_bitmap bitmap; + bitmap.width = 0; + bitmap.height = 0; + bitmap.bpp = 0; + bitmap.data = nullptr; + return bitmap; +} + snes_color yaze_get_color_from_paletteset(const z3_rom* rom, int palette_set, int palette, int color) { snes_color color_struct; @@ -101,11 +110,8 @@ z3_overworld* yaze_load_overworld(const z3_rom* rom) { } yaze::app::Rom* internal_rom = static_cast(rom->impl); - - yaze::app::zelda3::overworld::Overworld* internal_overworld = - new yaze::app::zelda3::overworld::Overworld(); - auto load_ow = internal_overworld->Load(*internal_rom); - if (!load_ow.ok()) { + auto internal_overworld = new yaze::app::zelda3::overworld::Overworld(); + if (!internal_overworld->Load(*internal_rom).ok()) { return nullptr; } diff --git a/src/yaze.h b/src/yaze.h index e75dcc28..6df30fe9 100644 --- a/src/yaze.h +++ b/src/yaze.h @@ -21,18 +21,16 @@ typedef struct yaze_project yaze_project; typedef struct yaze_command_registry yaze_command_registry; typedef struct yaze_event_dispatcher yaze_event_dispatcher; -typedef struct yaze_editor_context yaze_editor_context; - /** * @brief Extension editor context. */ -struct yaze_editor_context { +typedef struct yaze_editor_context { yaze_project* project; yaze_flags* flags; yaze_command_registry* command_registry; yaze_event_dispatcher* event_dispatcher; -}; +} yaze_editor_context; /** * @brief Flags to initialize the Yaze library. @@ -92,6 +90,21 @@ z3_rom* yaze_load_rom(const char* filename); */ void yaze_unload_rom(z3_rom* rom); +/** + * @brief Primitive of a Bitmap + */ +typedef struct yaze_bitmap { + int width; + int height; + uint8_t bpp; + uint8_t* data; +} yaze_bitmap; + +/** + * @brief Load a bitmap from a file. + */ +yaze_bitmap yaze_load_bitmap(const char* filename); + /** * @brief Get a color from a palette set. */