Update main game render
parent
639aed69db
commit
979533092e
5
main.c
5
main.c
|
@ -63,7 +63,10 @@ int main(void)
|
|||
level_scene.data.tile_sprites[SPIKES + TILE_90CWROT] = get_sprite(&engine.assets, "l_spikes");
|
||||
level_scene.data.tile_sprites[SPIKES + TILE_90CCWROT] = get_sprite(&engine.assets, "r_spikes");
|
||||
level_scene.data.tile_sprites[SPIKES + TILE_180ROT] = get_sprite(&engine.assets, "u_spikes");
|
||||
LevelPack_t* pack = get_level_pack(&engine.assets, "TestLevels");
|
||||
Texture2D* tex = get_texture(&engine.assets, "bg_tex");
|
||||
SetTextureWrap(*tex, TEXTURE_WRAP_REPEAT);
|
||||
|
||||
LevelPack_t* pack = get_level_pack(&engine.assets, "DefLevels");
|
||||
if (pack != NULL)
|
||||
{
|
||||
level_scene.data.level_pack = pack;
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
#define DEFAULT_MAP_HEIGHT 32
|
||||
#define VIEWABLE_EDITOR_MAP_WIDTH 32
|
||||
#define VIEWABLE_EDITOR_MAP_HEIGHT 16
|
||||
#define VIEWABLE_MAP_WIDTH 21
|
||||
#define VIEWABLE_MAP_HEIGHT 15
|
||||
#define VIEWABLE_MAP_WIDTH 25
|
||||
#define VIEWABLE_MAP_HEIGHT 14
|
||||
#else
|
||||
#define TILE_SIZE 16
|
||||
#define DEFAULT_MAP_WIDTH 64
|
||||
|
@ -23,9 +23,9 @@
|
|||
#define MOVE_ACCEL 1300
|
||||
|
||||
#ifndef TILE16_SIZE
|
||||
#define PLAYER_WIDTH 28
|
||||
#define PLAYER_WIDTH 22
|
||||
#define PLAYER_HEIGHT 42
|
||||
#define PLAYER_C_WIDTH 28
|
||||
#define PLAYER_C_WIDTH 22
|
||||
#define PLAYER_C_HEIGHT 26
|
||||
#else
|
||||
#define PLAYER_WIDTH 14
|
||||
|
@ -41,7 +41,7 @@
|
|||
#define GROUND_X_FRICTION 6.1
|
||||
#define GROUND_Y_FRICTION 1.0
|
||||
|
||||
#define ARROW_SPEED 350
|
||||
#define ARROW_SPEED 400
|
||||
|
||||
#define MAX_WATER_LEVEL 4
|
||||
#define WATER_BBOX_STEP (TILE_SIZE / MAX_WATER_LEVEL)
|
||||
|
|
|
@ -301,9 +301,10 @@ static void render_regular_game_scene(Scene_t* scene)
|
|||
|
||||
if (tilemap.tiles[i].tile_type != LADDER)
|
||||
{
|
||||
if (data->tile_sprites[tilemap.tiles[i].tile_type] != NULL)
|
||||
uint8_t tile_sprite_idx = tilemap.tiles[i].tile_type + tilemap.tiles[i].rotation;
|
||||
if (data->tile_sprites[tile_sprite_idx] != NULL)
|
||||
{
|
||||
draw_sprite(data->tile_sprites[tilemap.tiles[i].tile_type], 0, (Vector2){x,y}, 0.0f, false);
|
||||
draw_sprite(data->tile_sprites[tile_sprite_idx], 0, (Vector2){x,y}, 0.0f, false);
|
||||
}
|
||||
else if (tilemap.tiles[i].tile_type == SOLID_TILE)
|
||||
{
|
||||
|
@ -443,8 +444,6 @@ void init_game_scene(LevelScene_t* scene)
|
|||
update_entity_manager(&scene->scene.ent_manager);
|
||||
|
||||
// Set up textures
|
||||
Texture2D* tex = get_texture(&scene->scene.engine->assets, "bg_tex");
|
||||
SetTextureWrap(*tex, TEXTURE_WRAP_REPEAT);
|
||||
scene->data.solid_tile_sprites = get_sprite(&scene->scene.engine->assets, "stile0");
|
||||
|
||||
sc_array_add(&scene->scene.systems, &update_tilemap_system);
|
||||
|
|
|
@ -75,10 +75,10 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num)
|
|||
|
||||
if (lvl_map.tiles[i].tile_type == 1)
|
||||
{
|
||||
change_a_tile(&scene->data.tilemap, i, SOLID_TILE);
|
||||
change_a_tile(&scene->data.tilemap, i, SOLID_TILE);
|
||||
}
|
||||
|
||||
scene->data.tilemap.tiles[i].water_level = lvl_map.tiles[i].water;
|
||||
scene->data.tilemap.tiles[i].water_level = lvl_map.tiles[i].water;
|
||||
}
|
||||
// Two pass
|
||||
for (size_t i = 0; i < scene->data.tilemap.n_tiles;i++)
|
||||
|
@ -139,6 +139,15 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num)
|
|||
ent->spawn_pos = ent->position;
|
||||
}
|
||||
break;
|
||||
case 23:
|
||||
{
|
||||
Entity_t* ent = create_chest(&scene->scene.ent_manager);
|
||||
ent->position.x = (i % scene->data.tilemap.width) * scene->data.tilemap.tile_size;
|
||||
ent->position.y = (i / scene->data.tilemap.width) * scene->data.tilemap.tile_size;
|
||||
CTransform_t* p_ctransform = get_component(ent, CTRANSFORM_COMP_T);
|
||||
p_ctransform->active = true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue