Working map diplaying.
This commit is contained in:
parent
447592a0d8
commit
66a0cf3df8
|
|
@ -1 +1 @@
|
||||||
Subproject commit 5eb065b1cfeeeeb5be4a386943a8d898af0f6328
|
Subproject commit 8d021e517a6ccbdce9021deffe1f7179f27057ca
|
||||||
|
|
@ -6,6 +6,7 @@ ASSETS := \
|
||||||
props_sheets/barred_door_sheet.png \
|
props_sheets/barred_door_sheet.png \
|
||||||
props_sheets/wooden_door_sheet.png \
|
props_sheets/wooden_door_sheet.png \
|
||||||
tileset/tileset.png \
|
tileset/tileset.png \
|
||||||
|
maps/dungeon_entry.map \
|
||||||
maps/dungeon_room_1.map
|
maps/dungeon_room_1.map
|
||||||
|
|
||||||
ASSETS := $(addprefix $(ASSETS_DIR)/,$(ASSETS))
|
ASSETS := $(addprefix $(ASSETS_DIR)/,$(ASSETS))
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ typedef struct sprite_component_data_t {
|
||||||
|
|
||||||
texture_t *texture;
|
texture_t *texture;
|
||||||
rect_t src_rect;
|
rect_t src_rect;
|
||||||
frect_t dst_rect;
|
rect_t dst_rect;
|
||||||
bool flip;
|
bool flip;
|
||||||
} sprite_component_data_t;
|
} sprite_component_data_t;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ inline int sprite_component_update(component_t *component)
|
||||||
sprite_component_data_t *component_data = component->data;
|
sprite_component_data_t *component_data = component->data;
|
||||||
transform_component_data_t *transform_component_data = component_data->transform_component->data;
|
transform_component_data_t *transform_component_data = component_data->transform_component->data;
|
||||||
|
|
||||||
component_data->dst_rect = transform_component_data->bounds;
|
frect_to_rect(&transform_component_data->bounds, &component_data->dst_rect);
|
||||||
component->entity->draw_priority = transform_component_data->bounds.y + transform_component_data->bounds.h;
|
component->entity->draw_priority = transform_component_data->bounds.y + transform_component_data->bounds.h;
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
|
|
@ -44,10 +44,7 @@ inline int sprite_component_draw(const component_t *component)
|
||||||
{
|
{
|
||||||
const sprite_component_data_t *component_data = component->data;
|
const sprite_component_data_t *component_data = component->data;
|
||||||
|
|
||||||
frect_t src_frect;
|
if(display_draw_texture(component_data->texture, &component_data->src_rect, &component_data->dst_rect, component_data->flip)) return_failure_int;
|
||||||
rect_to_frect(&component_data->src_rect, &src_frect);
|
|
||||||
|
|
||||||
if(display_draw_texture(component_data->texture, &src_frect, &component_data->dst_rect, component_data->flip)) return_failure_int;
|
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
25
src/game.c
25
src/game.c
|
|
@ -17,22 +17,21 @@ int game_init(void)
|
||||||
|
|
||||||
if(display_init()) return_failure_int;
|
if(display_init()) return_failure_int;
|
||||||
camera_init();
|
camera_init();
|
||||||
if(tilemap_display_init()) return_failure_int;
|
|
||||||
event_bus_init();
|
event_bus_init();
|
||||||
entity_manager_init();
|
entity_manager_init();
|
||||||
if(asset_manager_init()) return_failure_int;
|
if(asset_manager_init()) return_failure_int;
|
||||||
|
|
||||||
asset_t *map_asset = asset_manager_load_asset("dungeon_room_1", ASSET_MAP);
|
asset_t *map_asset = asset_manager_load_asset("dungeon_entry", ASSET_MAP);
|
||||||
if(!map_asset) return_failure_int;
|
if(!map_asset) return_failure_int;
|
||||||
|
|
||||||
game.map = map_asset->data;
|
game.map = map_asset->data;
|
||||||
|
|
||||||
if(map_load_entities(game.map)) return_failure_int;
|
|
||||||
|
|
||||||
asset_t *tileset_asset = asset_manager_load_asset("tileset", ASSET_TEXTURE);
|
asset_t *tileset_asset = asset_manager_load_asset("tileset", ASSET_TEXTURE);
|
||||||
if(!tileset_asset) return_failure_int;
|
if(!tileset_asset) return_failure_int;
|
||||||
|
|
||||||
game.tilemap_display.tileset = tileset_asset->data;
|
game.map->tileset = tileset_asset->data;
|
||||||
|
|
||||||
|
if(map_load_entities(game.map)) return_failure_int;
|
||||||
|
|
||||||
/* ======== Player ======== */
|
/* ======== Player ======== */
|
||||||
{
|
{
|
||||||
|
|
@ -46,8 +45,8 @@ int game_init(void)
|
||||||
transform_component_data_t *transform_component_data = transform_component->data;
|
transform_component_data_t *transform_component_data = transform_component->data;
|
||||||
|
|
||||||
transform_component_data->bounds = (frect_t) {
|
transform_component_data->bounds = (frect_t) {
|
||||||
.x = 10.0f,
|
.x = 100.0f,
|
||||||
.y = 10.0f,
|
.y = 100.0f,
|
||||||
.w = 32.0f,
|
.w = 32.0f,
|
||||||
.h = 32.0f
|
.h = 32.0f
|
||||||
};
|
};
|
||||||
|
|
@ -154,14 +153,7 @@ int game_render(void)
|
||||||
game.is_running = false;
|
game.is_running = false;
|
||||||
return_failure_int;
|
return_failure_int;
|
||||||
}
|
}
|
||||||
|
if(map_display_background())
|
||||||
if(tilemap_display_update())
|
|
||||||
{
|
|
||||||
game.is_running = false;
|
|
||||||
return_failure_int;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(tilemap_display_background())
|
|
||||||
{
|
{
|
||||||
game.is_running = false;
|
game.is_running = false;
|
||||||
return_failure_int;
|
return_failure_int;
|
||||||
|
|
@ -173,7 +165,7 @@ int game_render(void)
|
||||||
return_failure_int;
|
return_failure_int;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tilemap_display_foreground())
|
if(map_display_foreground())
|
||||||
{
|
{
|
||||||
game.is_running = false;
|
game.is_running = false;
|
||||||
return_failure_int;
|
return_failure_int;
|
||||||
|
|
@ -193,7 +185,6 @@ int game_exit(void)
|
||||||
if(asset_manager_exit()) return_failure_int;
|
if(asset_manager_exit()) return_failure_int;
|
||||||
if(entity_manager_exit()) return_failure_int;
|
if(entity_manager_exit()) return_failure_int;
|
||||||
if(event_bus_exit()) return_failure_int;
|
if(event_bus_exit()) return_failure_int;
|
||||||
tilemap_display_exit();
|
|
||||||
display_exit();
|
display_exit();
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue