Compare commits
4 Commits
259fa114ca
...
2461244f6b
Author | SHA1 | Date |
---|---|---|
|
2461244f6b | |
|
9410075207 | |
|
c1207ec5b4 | |
|
13d8aafec3 |
|
@ -5,10 +5,10 @@
|
||||||
#define MAX_RENDER_LAYERS 4
|
#define MAX_RENDER_LAYERS 4
|
||||||
#define MAX_ENTITIES 2048
|
#define MAX_ENTITIES 2048
|
||||||
#define MAX_TEXTURES 16
|
#define MAX_TEXTURES 16
|
||||||
#define MAX_SPRITES 64
|
#define MAX_SPRITES 128
|
||||||
#define MAX_SOUNDS 32
|
#define MAX_SOUNDS 32
|
||||||
#define MAX_FONTS 4
|
#define MAX_FONTS 4
|
||||||
#define MAX_N_TILES 4096
|
#define MAX_N_TILES 16384
|
||||||
#define MAX_NAME_LEN 32
|
#define MAX_NAME_LEN 32
|
||||||
#define MAX_LEVEL_PACK 4
|
#define MAX_LEVEL_PACK 4
|
||||||
#define N_SFX 32
|
#define N_SFX 32
|
||||||
|
|
|
@ -37,6 +37,7 @@ ENUMIDS_TILETYPE_MAPPING = {
|
||||||
'Boulder': 20,
|
'Boulder': 20,
|
||||||
'Runner': 21,
|
'Runner': 21,
|
||||||
'Player': 22,
|
'Player': 22,
|
||||||
|
'Chest': 23,
|
||||||
}
|
}
|
||||||
|
|
||||||
#ENTID_MAPPING = {
|
#ENTID_MAPPING = {
|
||||||
|
@ -99,8 +100,13 @@ with open(converted_filename, 'wb+') as out_file:
|
||||||
n_tiles = width * height
|
n_tiles = width * height
|
||||||
tiles_info = [[0,0,0] for _ in range(n_tiles)]
|
tiles_info = [[0,0,0] for _ in range(n_tiles)]
|
||||||
# Loop through gridTiles, get "d" as the index to fill the info
|
# Loop through gridTiles, get "d" as the index to fill the info
|
||||||
for tile in level_layout["gridTiles"]:
|
for i, tile in enumerate(level_layout["gridTiles"]):
|
||||||
tiles_info[tile["d"][0]][0] = ids_tiletype_map[tile["t"]]
|
try:
|
||||||
|
tiles_info[tile["d"][0]][0] = ids_tiletype_map[tile["t"]]
|
||||||
|
except Exception as e:
|
||||||
|
print("Error on tile", i, i % width, i // height)
|
||||||
|
print(e)
|
||||||
|
tiles_info[tile["d"][0]][0] = 0
|
||||||
|
|
||||||
for i, water_level in enumerate(water_layout["intGridCsv"]):
|
for i, water_level in enumerate(water_layout["intGridCsv"]):
|
||||||
tiles_info[i][2] = water_level
|
tiles_info[i][2] = water_level
|
||||||
|
@ -115,8 +121,8 @@ with open(converted_filename, 'wb+') as out_file:
|
||||||
out_file.write(struct.pack("<3Bx", *tile))
|
out_file.write(struct.pack("<3Bx", *tile))
|
||||||
|
|
||||||
|
|
||||||
for y in range(height):
|
#for y in range(height):
|
||||||
for x in range(width):
|
# for x in range(width):
|
||||||
print(tiles_info[y*width + x], end=" ")
|
# print(tiles_info[y*width + x], end=" ")
|
||||||
print()
|
# print()
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,4 @@
|
||||||
#define WATER_BBOX_STEP (TILE_SIZE / MAX_WATER_LEVEL)
|
#define WATER_BBOX_STEP (TILE_SIZE / MAX_WATER_LEVEL)
|
||||||
|
|
||||||
#define MAX_LEVEL_NUM 50
|
#define MAX_LEVEL_NUM 50
|
||||||
#define MAX_N_TILES 4096
|
|
||||||
|
|
||||||
#endif // __CONSTANTS_H
|
#endif // __CONSTANTS_H
|
||||||
|
|
|
@ -7,10 +7,16 @@
|
||||||
static void level_select_render_func(Scene_t* scene)
|
static void level_select_render_func(Scene_t* scene)
|
||||||
{
|
{
|
||||||
LevelSelectSceneData_t* data = &(CONTAINER_OF(scene, LevelSelectScene_t, scene)->data);
|
LevelSelectSceneData_t* data = &(CONTAINER_OF(scene, LevelSelectScene_t, scene)->data);
|
||||||
|
Sprite_t* spr = get_sprite(&scene->engine->assets, "bunny_spr1");
|
||||||
BeginTextureMode(scene->layers.render_layers[0].layer_tex);
|
BeginTextureMode(scene->layers.render_layers[0].layer_tex);
|
||||||
ClearBackground(BLANK);
|
ClearBackground(BLANK);
|
||||||
DrawText("Level Select", 10, 10, 40, BLACK);
|
DrawText("Level Select", 10, 10, 40, BLACK);
|
||||||
vert_scrollarea_render(&data->scroll_area);
|
vert_scrollarea_render(&data->scroll_area);
|
||||||
|
draw_sprite(
|
||||||
|
spr, 0, (Vector2){
|
||||||
|
data->scroll_area.display_area.x + data->scroll_area.display_area.width + 50,
|
||||||
|
data->scroll_area.display_area.y + data->scroll_area.display_area.height / 2
|
||||||
|
}, 0, false);
|
||||||
EndTextureMode();
|
EndTextureMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ static void menu_scene_render_func(Scene_t* scene)
|
||||||
{
|
{
|
||||||
MenuSceneData_t* data = &(CONTAINER_OF(scene, MenuScene_t, scene)->data);
|
MenuSceneData_t* data = &(CONTAINER_OF(scene, MenuScene_t, scene)->data);
|
||||||
|
|
||||||
Texture2D* bg = get_texture(&scene->engine->assets, "title_tex");
|
Sprite_t* spr = get_sprite(&scene->engine->assets, "title_spr");
|
||||||
BeginTextureMode(scene->layers.render_layers[0].layer_tex);
|
BeginTextureMode(scene->layers.render_layers[0].layer_tex);
|
||||||
ClearBackground(RAYWHITE);
|
ClearBackground(RAYWHITE);
|
||||||
DrawText("Bunny's Spelunking Adventure", START_X, 100, 32, BLACK);
|
DrawText("Bunny's Spelunking Adventure", START_X, 100, 32, BLACK);
|
||||||
|
@ -18,11 +18,7 @@ static void menu_scene_render_func(Scene_t* scene)
|
||||||
UI_button(data->buttons + 2, "Continue");
|
UI_button(data->buttons + 2, "Continue");
|
||||||
UI_button(data->buttons + 3, "Exit");
|
UI_button(data->buttons + 3, "Exit");
|
||||||
|
|
||||||
DrawTexturePro(*bg,
|
draw_sprite(spr, 0, (Vector2){START_X + 200, 120}, 0, false);
|
||||||
(Rectangle){0, 0, bg->width, bg->height},
|
|
||||||
(Rectangle){START_X + 200, 120, bg->width, bg->height},
|
|
||||||
(Vector2){0,0}, 0.0f, WHITE
|
|
||||||
);
|
|
||||||
EndTextureMode();
|
EndTextureMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,13 +64,19 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num)
|
||||||
scene->data.tilemap.n_tiles = n_tiles;
|
scene->data.tilemap.n_tiles = n_tiles;
|
||||||
|
|
||||||
clear_entity_manager(&scene->scene.ent_manager);
|
clear_entity_manager(&scene->scene.ent_manager);
|
||||||
|
|
||||||
for (size_t i = 0; i < scene->data.tilemap.n_tiles;i++)
|
for (size_t i = 0; i < scene->data.tilemap.n_tiles;i++)
|
||||||
{
|
{
|
||||||
scene->data.tilemap.tiles[i].max_water_level = 4;
|
|
||||||
scene->data.tilemap.tiles[i].solid = NOT_SOLID;
|
scene->data.tilemap.tiles[i].solid = NOT_SOLID;
|
||||||
scene->data.tilemap.tiles[i].tile_type = EMPTY_TILE;
|
scene->data.tilemap.tiles[i].tile_type = EMPTY_TILE;
|
||||||
|
scene->data.tilemap.tiles[i].rotation = TILE_NOROTATE;
|
||||||
|
scene->data.tilemap.tiles[i].connectivity = 0;
|
||||||
scene->data.tilemap.tiles[i].moveable = true;
|
scene->data.tilemap.tiles[i].moveable = true;
|
||||||
|
scene->data.tilemap.tiles[i].offset = (Vector2){0, 0};
|
||||||
scene->data.tilemap.tiles[i].size = (Vector2){TILE_SIZE, TILE_SIZE};
|
scene->data.tilemap.tiles[i].size = (Vector2){TILE_SIZE, TILE_SIZE};
|
||||||
|
scene->data.tilemap.tiles[i].def = 0;
|
||||||
|
|
||||||
sc_map_clear_64v(&scene->data.tilemap.tiles[i].entities_set);
|
sc_map_clear_64v(&scene->data.tilemap.tiles[i].entities_set);
|
||||||
|
|
||||||
if (lvl_map.tiles[i].tile_type == 1)
|
if (lvl_map.tiles[i].tile_type == 1)
|
||||||
|
@ -78,6 +84,7 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num)
|
||||||
change_a_tile(&scene->data.tilemap, i, SOLID_TILE);
|
change_a_tile(&scene->data.tilemap, i, SOLID_TILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
scene->data.tilemap.tiles[i].max_water_level = 4;
|
||||||
scene->data.tilemap.tiles[i].water_level = lvl_map.tiles[i].water;
|
scene->data.tilemap.tiles[i].water_level = lvl_map.tiles[i].water;
|
||||||
scene->data.tilemap.tiles[i].wet = scene->data.tilemap.tiles[i].water_level > 0;
|
scene->data.tilemap.tiles[i].wet = scene->data.tilemap.tiles[i].water_level > 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue