Compare commits
4 Commits
259fa114ca
...
2461244f6b
Author | SHA1 | Date |
---|---|---|
|
2461244f6b | |
|
9410075207 | |
|
c1207ec5b4 | |
|
13d8aafec3 |
|
@ -5,10 +5,10 @@
|
|||
#define MAX_RENDER_LAYERS 4
|
||||
#define MAX_ENTITIES 2048
|
||||
#define MAX_TEXTURES 16
|
||||
#define MAX_SPRITES 64
|
||||
#define MAX_SPRITES 128
|
||||
#define MAX_SOUNDS 32
|
||||
#define MAX_FONTS 4
|
||||
#define MAX_N_TILES 4096
|
||||
#define MAX_N_TILES 16384
|
||||
#define MAX_NAME_LEN 32
|
||||
#define MAX_LEVEL_PACK 4
|
||||
#define N_SFX 32
|
||||
|
|
|
@ -37,6 +37,7 @@ ENUMIDS_TILETYPE_MAPPING = {
|
|||
'Boulder': 20,
|
||||
'Runner': 21,
|
||||
'Player': 22,
|
||||
'Chest': 23,
|
||||
}
|
||||
|
||||
#ENTID_MAPPING = {
|
||||
|
@ -99,8 +100,13 @@ with open(converted_filename, 'wb+') as out_file:
|
|||
n_tiles = width * height
|
||||
tiles_info = [[0,0,0] for _ in range(n_tiles)]
|
||||
# Loop through gridTiles, get "d" as the index to fill the info
|
||||
for tile in level_layout["gridTiles"]:
|
||||
tiles_info[tile["d"][0]][0] = ids_tiletype_map[tile["t"]]
|
||||
for i, tile in enumerate(level_layout["gridTiles"]):
|
||||
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"]):
|
||||
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))
|
||||
|
||||
|
||||
for y in range(height):
|
||||
for x in range(width):
|
||||
print(tiles_info[y*width + x], end=" ")
|
||||
print()
|
||||
#for y in range(height):
|
||||
# for x in range(width):
|
||||
# print(tiles_info[y*width + x], end=" ")
|
||||
# print()
|
||||
|
||||
|
|
|
@ -47,6 +47,4 @@
|
|||
#define WATER_BBOX_STEP (TILE_SIZE / MAX_WATER_LEVEL)
|
||||
|
||||
#define MAX_LEVEL_NUM 50
|
||||
#define MAX_N_TILES 4096
|
||||
|
||||
#endif // __CONSTANTS_H
|
||||
|
|
|
@ -7,10 +7,16 @@
|
|||
static void level_select_render_func(Scene_t* scene)
|
||||
{
|
||||
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);
|
||||
ClearBackground(BLANK);
|
||||
DrawText("Level Select", 10, 10, 40, BLACK);
|
||||
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();
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ static void menu_scene_render_func(Scene_t* scene)
|
|||
{
|
||||
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);
|
||||
ClearBackground(RAYWHITE);
|
||||
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 + 3, "Exit");
|
||||
|
||||
DrawTexturePro(*bg,
|
||||
(Rectangle){0, 0, bg->width, bg->height},
|
||||
(Rectangle){START_X + 200, 120, bg->width, bg->height},
|
||||
(Vector2){0,0}, 0.0f, WHITE
|
||||
);
|
||||
draw_sprite(spr, 0, (Vector2){START_X + 200, 120}, 0, false);
|
||||
EndTextureMode();
|
||||
}
|
||||
|
||||
|
|
|
@ -64,13 +64,19 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num)
|
|||
scene->data.tilemap.n_tiles = n_tiles;
|
||||
|
||||
clear_entity_manager(&scene->scene.ent_manager);
|
||||
|
||||
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].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].offset = (Vector2){0, 0};
|
||||
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);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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].wet = scene->data.tilemap.tiles[i].water_level > 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue