Compare commits

..

No commits in common. "2461244f6b383f1b79eb73b66247d62913ac40bb" and "259fa114ca4cad748532018b26fbb462036d63ce" have entirely different histories.

6 changed files with 17 additions and 30 deletions

View File

@ -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 128 #define MAX_SPRITES 64
#define MAX_SOUNDS 32 #define MAX_SOUNDS 32
#define MAX_FONTS 4 #define MAX_FONTS 4
#define MAX_N_TILES 16384 #define MAX_N_TILES 4096
#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

View File

@ -37,7 +37,6 @@ ENUMIDS_TILETYPE_MAPPING = {
'Boulder': 20, 'Boulder': 20,
'Runner': 21, 'Runner': 21,
'Player': 22, 'Player': 22,
'Chest': 23,
} }
#ENTID_MAPPING = { #ENTID_MAPPING = {
@ -100,13 +99,8 @@ 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 i, tile in enumerate(level_layout["gridTiles"]): for tile in level_layout["gridTiles"]:
try: tiles_info[tile["d"][0]][0] = ids_tiletype_map[tile["t"]]
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
@ -121,8 +115,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()

View File

@ -47,4 +47,6 @@
#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

View File

@ -7,16 +7,10 @@
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();
} }

View File

@ -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);
Sprite_t* spr = get_sprite(&scene->engine->assets, "title_spr"); Texture2D* bg = get_texture(&scene->engine->assets, "title_tex");
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,7 +18,11 @@ 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");
draw_sprite(spr, 0, (Vector2){START_X + 200, 120}, 0, false); DrawTexturePro(*bg,
(Rectangle){0, 0, bg->width, bg->height},
(Rectangle){START_X + 200, 120, bg->width, bg->height},
(Vector2){0,0}, 0.0f, WHITE
);
EndTextureMode(); EndTextureMode();
} }

View File

@ -64,19 +64,13 @@ 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)
@ -84,7 +78,6 @@ 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;
} }