From 1177626b3c6199d12617f293ac7b61701c963941 Mon Sep 17 00:00:00 2001 From: mibi88 <76903855+mibi88@users.noreply.github.com> Date: Thu, 1 Aug 2024 13:04:20 +0200 Subject: [PATCH] Indoor maps --- CMakeLists.txt | 3 + assets-cg/1b/tileset/fxconv-metadata.txt | 4 - assets-cg/1b/tileset/tileset1b_CG.png | Bin 43967 -> 0 bytes assets-cg/2b/sprites/SpriteTestCG2b.png | Bin 31788 -> 0 bytes assets-cg/2b/tileset/fxconv-metadata.txt | 5 -- assets-cg/2b/tileset/tileset2b_CG.png | Bin 37777 -> 0 bytes assets-cg/ega64/tileset/fxconv-metadata.txt | 6 +- assets-fx/1b/tileset/fxconv-metadata.txt | 3 + assets-fx/2b/tileset/fxconv-metadata.txt | 4 + assets/converters.py | 47 +++++++++-- assets/indoor.png | 1 + assets/indoor.tsx | 4 + assets/interior1_0.tmx | 88 +++++++++++++------- src/game.h | 3 +- src/map.c | 18 ++-- src/player.c | 39 +++++---- 16 files changed, 150 insertions(+), 75 deletions(-) delete mode 100644 assets-cg/1b/tileset/fxconv-metadata.txt delete mode 100644 assets-cg/1b/tileset/tileset1b_CG.png delete mode 100644 assets-cg/2b/sprites/SpriteTestCG2b.png delete mode 100644 assets-cg/2b/tileset/fxconv-metadata.txt delete mode 100644 assets-cg/2b/tileset/tileset2b_CG.png create mode 120000 assets/indoor.png create mode 100644 assets/indoor.tsx diff --git a/CMakeLists.txt b/CMakeLists.txt index e3c55a3..e5745f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,7 @@ set(ASSETS_cg set(ASSETS_cg_EGA64 assets-cg/ega64/tileset/tilesetEGA64_CG.png + assets-cg/ega64/tileset/tileset_inEGA64_CG.png ) set(ASSETS_fx @@ -86,6 +87,7 @@ set(ASSETS_fx set(ASSETS_fx_1b assets-fx/1b/tileset/tileset1b.png + assets-fx/1b/tileset/tileset_in1b.png assets-fx/1b/npc/char/npc_male.png assets-fx/1b/npc/char/npc_female.png assets-fx/1b/npc/char/npc_milkman.png @@ -100,6 +102,7 @@ set(ASSETS_fx_1b set(ASSETS_fx_2b assets-fx/2b/tileset/tileset2b.png + assets-fx/2b/tileset/tileset_in2b.png assets-fx/2b/npc/char/npc_male.png assets-fx/2b/npc/char/npc_female.png assets-fx/2b/npc/char/npc_milkman.png diff --git a/assets-cg/1b/tileset/fxconv-metadata.txt b/assets-cg/1b/tileset/fxconv-metadata.txt deleted file mode 100644 index fad2b40..0000000 --- a/assets-cg/1b/tileset/fxconv-metadata.txt +++ /dev/null @@ -1,4 +0,0 @@ -tileset1b_CG.png: - type: bopti-image - name: img_tilesetnpp - profile: p8 diff --git a/assets-cg/1b/tileset/tileset1b_CG.png b/assets-cg/1b/tileset/tileset1b_CG.png deleted file mode 100644 index 089c983d7ae21901db68a5ff8b7c0dfb9a4a15f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43967 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 b8m9Wz*Q{TP9{^uuff?x?(k;+-Jp2Cu&h2#7 diff --git a/assets-cg/ega64/tileset/fxconv-metadata.txt b/assets-cg/ega64/tileset/fxconv-metadata.txt index 15d8aeb..e8cdf0d 100644 --- a/assets-cg/ega64/tileset/fxconv-metadata.txt +++ b/assets-cg/ega64/tileset/fxconv-metadata.txt @@ -2,4 +2,8 @@ tilesetEGA64_CG.png: type: bopti-image name: img_tilesetnpp profile: p8 - \ No newline at end of file + +tileset_inEGA64_CG.png: + type: bopti-image + name: img_indoor + profile: p8 diff --git a/assets-fx/1b/tileset/fxconv-metadata.txt b/assets-fx/1b/tileset/fxconv-metadata.txt index d5e87d6..9d175fc 100644 --- a/assets-fx/1b/tileset/fxconv-metadata.txt +++ b/assets-fx/1b/tileset/fxconv-metadata.txt @@ -2,3 +2,6 @@ tileset1b.png: type: bopti-image name: img_tilesetnpp +tileset_in1b.png: + type: bopti-image + name: img_indoor diff --git a/assets-fx/2b/tileset/fxconv-metadata.txt b/assets-fx/2b/tileset/fxconv-metadata.txt index 2548038..4f2ab9a 100644 --- a/assets-fx/2b/tileset/fxconv-metadata.txt +++ b/assets-fx/2b/tileset/fxconv-metadata.txt @@ -1,3 +1,7 @@ tileset2b.png: type: bopti-image name: img_tilesetnpp + +tileset_in2b.png: + type: bopti-image + name: img_indoor diff --git a/assets/converters.py b/assets/converters.py index 63d6de5..28d224b 100644 --- a/assets/converters.py +++ b/assets/converters.py @@ -70,6 +70,8 @@ def convert_map(input: str, output: str, params: dict, target): npcs = {} signs = {} portals = {} + + indoor = 0 name = os.path.splitext(os.path.basename(input))[0] @@ -115,7 +117,7 @@ def convert_map(input: str, output: str, params: dict, target): # Get the outdoor tileset try: if VERBOSE: print("INFO: Getting the outdoor tileset") - outdoor_tileset = input_map.get_tileset_by_firstgid(1) + outdoor_tileset = input_map.get_tileset_by_name("tilesetnpp") except Exception as e: # Show a simple error message on failure. sys.stderr.write(f"ERROR: Failed to get the outdoor tileset.\n" @@ -125,12 +127,32 @@ def convert_map(input: str, output: str, params: dict, target): # Get the walkable tileset try: if VERBOSE: print("INFO: Getting the walkable tileset") - walkable_tileset = input_map.get_tileset_by_firstgid(409) + walkable_tileset = input_map.get_tileset_by_name("Walkable") except Exception as e: # Show a simple error message on failure. sys.stderr.write(f"ERROR: Failed to get the walkable tileset.\n" + f" Error message: {e}\n") sys.exit(1) + + # Check if this is an indoor map + try: + if VERBOSE: print("INFO: Checking if it is an indoor map") + indoor = int(input_map.get_property("indoor")) + except Exception as e: + # Show a warning + print(f"WARNING: Indoor property not found.\n") + + if indoor: + # Get the indoor tileset + try: + if VERBOSE: print("INFO: Getting the indoor tileset (it is an\n" + + " indoor map)") + indoor_tileset = input_map.get_tileset_by_name("indoor") + except Exception as e: + # Show a simple error message on failure. + sys.stderr.write(f"ERROR: Failed to get the indoor tileset.\n" + + f" Error message: {e}\n") + sys.exit(1) # Get the background try: @@ -141,7 +163,10 @@ def convert_map(input: str, output: str, params: dict, target): height = bg_layer.get_height() if VERBOSE: print(f"INFO: Map size: ({width}, {height}).") # Get the layer data himself - background_layer = bg_layer.get_data_with_tileset(outdoor_tileset) + if indoor: + background_layer = bg_layer.get_data_with_tileset(indoor_tileset) + else: + background_layer = bg_layer.get_data_with_tileset(outdoor_tileset) # Check if the size of the layer data is correct. if len(background_layer) != width*height: raise Exception("Bad layer size!") @@ -157,7 +182,10 @@ def convert_map(input: str, output: str, params: dict, target): if VERBOSE: print("INFO: Getting the foreground layer") fg_layer = input_map.get_layer_by_name("Foreground") # Get the layer data himself - foreground_layer = fg_layer.get_data_with_tileset(outdoor_tileset) + if indoor: + foreground_layer = fg_layer.get_data_with_tileset(indoor_tileset) + else: + foreground_layer = fg_layer.get_data_with_tileset(outdoor_tileset) # Check if the size of the layer data is correct. if len(foreground_layer) != width*height: raise Exception("Bad layer size!") @@ -252,8 +280,14 @@ def convert_map(input: str, output: str, params: dict, target): map_struct += fxconv.u32(width) map_struct += fxconv.u32(height) map_struct += fxconv.u32(3) - map_struct += fxconv.u32(outdoor_tileset.columns) - tileset_name = os.path.splitext(os.path.basename(outdoor_tileset.source))[0] + if indoor: map_struct += fxconv.u32(indoor_tileset.columns) + else: map_struct += fxconv.u32(outdoor_tileset.columns) + if indoor: + tileset_name = os.path.splitext( + os.path.basename(indoor_tileset.source))[0] + else: + tileset_name = os.path.splitext( + os.path.basename(outdoor_tileset.source))[0] map_struct += fxconv.ref(f"img_{tileset_name}") # Store the walkable layer @@ -335,6 +369,7 @@ def convert_map(input: str, output: str, params: dict, target): # separately. dialog_name = os.path.splitext(os.path.basename(dialog_file))[0] map_struct += fxconv.ref(f"_{dialog_name}") + map_struct += fxconv.u32(indoor) # Store the background layer background_data = bytes() diff --git a/assets/indoor.png b/assets/indoor.png new file mode 120000 index 0000000..578ed8f --- /dev/null +++ b/assets/indoor.png @@ -0,0 +1 @@ +../assets-fx/2b/tileset/tileset_in2b.png \ No newline at end of file diff --git a/assets/indoor.tsx b/assets/indoor.tsx new file mode 100644 index 0000000..c5bbf05 --- /dev/null +++ b/assets/indoor.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/assets/interior1_0.tmx b/assets/interior1_0.tmx index cca09fa..7299f5f 100644 --- a/assets/interior1_0.tmx +++ b/assets/interior1_0.tmx @@ -1,50 +1,76 @@ - + - - + + + - + + -86,90,91,89,90,91,89,90,91,89,90,92, -110,114,115,113,114,115,113,114,115,113,114,116, -86,93,94,1,1,1,1,1,9,10,1,92, -110,117,118,1,1,1,1,1,33,34,1,116, -86,1,1,1,1,1,1,1,1,1,1,92, -110,1,1,1,1,133,2,1,1,1,1,116, -110,1,1,1,1,2,2,1,1,1,1,92, -110,114,114,114,114,114,114,114,114,114,114,116 +425,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,427, +447,617,624,625,626,628,582,583,584,627,628,618,619,620,621,622,622,622,580,581,622,622,623,449, +447,639,646,647,648,650,604,605,606,649,650,640,641,642,643,644,644,644,602,603,644,644,645,449, +447,661,668,669,670,672,668,669,670,672,672,662,663,664,665,671,672,671,671,671,672,666,667,449, +447,691,692,693,694,691,692,693,694,691,692,691,692,693,694,630,631,630,631,630,631,630,631,449, +447,413,414,414,414,414,414,414,414,414,414,414,415,416,678,652,653,652,653,652,653,652,653,449, +447,435,436,436,436,436,436,436,436,436,436,436,437,438,678,678,678,678,678,678,678,678,678,449, +447,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,553,554,555,678,553,554,555,449, +447,678,613,614,678,613,614,678,613,614,678,678,678,678,678,678,575,576,577,678,575,576,577,449, +447,678,635,636,678,635,636,678,635,636,678,678,678,678,678,678,597,598,599,678,597,598,599,449, +447,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,449, +447,678,553,554,555,678,678,553,554,555,678,678,678,678,678,678,553,554,555,678,553,554,555,449, +447,678,575,576,577,678,678,575,576,577,611,612,678,678,611,612,575,576,577,678,575,576,577,449, +447,678,597,598,599,678,678,597,598,599,633,634,675,675,633,634,597,598,599,678,597,598,599,449, +447,678,678,678,678,678,678,678,678,678,655,656,675,675,655,656,678,678,678,678,678,678,678,449, +469,470,470,470,470,470,470,470,470,470,470,470,470,470,470,470,470,470,470,470,470,470,470,471 - + -0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - + -410,410,410,410,410,410,410,410,410,410,410,410, -410,410,410,410,410,410,410,410,410,410,410,410, -410,410,410,0,0,0,0,0,410,0,0,410, -410,410,410,0,0,0,0,0,410,0,0,410, -410,0,0,0,0,0,0,0,0,0,0,410, -410,0,0,0,0,0,0,0,0,0,0,410, -410,0,0,0,0,0,0,0,0,0,0,410, -410,410,410,410,410,410,410,410,410,410,410,410 +410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410, +410,409,409,409,409,409,409,409,409,409,409,409,409,409,409,409,0,0,0,0,0,0,0,410, +410,409,409,409,409,409,409,409,409,409,409,410,410,410,410,409,0,0,0,0,0,0,0,410, +410,410,410,410,410,410,410,410,410,410,410,410,409,409,410,410,410,410,410,410,410,410,410,410, +410,409,409,409,409,409,409,409,409,409,409,409,409,409,409,410,410,410,410,410,410,410,410,410, +410,410,410,410,410,410,410,410,410,410,410,410,410,410,409,410,410,410,410,410,410,410,410,410, +410,410,410,410,410,410,410,410,410,410,410,410,410,410,409,409,0,0,0,0,0,0,0,410, +410,409,409,409,409,409,409,409,409,409,409,409,409,409,409,409,410,410,410,0,410,410,410,410, +410,409,410,410,409,410,410,409,410,410,409,409,409,409,409,409,410,410,410,0,410,410,410,410, +410,409,410,410,409,410,410,409,410,410,409,409,409,409,409,409,410,410,410,0,410,410,410,410, +410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,410, +410,0,410,410,410,0,0,410,410,410,0,0,0,0,0,0,410,410,410,0,410,410,410,410, +410,0,410,410,410,0,0,410,410,410,410,410,0,0,410,410,410,410,410,0,410,410,410,410, +410,0,410,410,410,0,0,410,410,410,410,410,0,0,410,410,410,410,410,0,410,410,410,410, +410,0,0,0,0,0,0,0,0,0,410,410,0,0,410,410,0,0,0,0,0,0,0,410, +410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410 - + diff --git a/src/game.h b/src/game.h index c1ef0a9..6179735 100644 --- a/src/game.h +++ b/src/game.h @@ -143,10 +143,11 @@ typedef struct { /* structure that contains all the dialogs for that part of the map */ uint32_t nbdialogsdata; Dialog *dialogs; + + uint32_t indoor; /* list of all the tiles to draw the background and the foreground layers */ uint16_t *layers[]; - } Map; /* This struct will contain all the data of the game. It will make it possible diff --git a/src/map.c b/src/map.c index 0314811..c4279e1 100644 --- a/src/map.c +++ b/src/map.c @@ -121,25 +121,25 @@ void map_render_by_layer(Game *game, int layer) { /* for all Layer (2 in the current configuration: Background is layer 0 and * foreground is layer 1 ) */ /* x and y will contain the position in the loop. */ - unsigned char x, y; + int x, y; /* The positions where we start drawing the tiles will be in tx and * ty. */ - unsigned short int tx, ty; + int tx, ty; /* mx and my will contain how many pixels will be hidden on x and on * y. */ - unsigned char mx, my; + int mx, my; /* dw and dh contain the amount of tiles that will be drawn on x and on * y. */ - unsigned char dw = DWIDTH / T_WIDTH + 2, dh = DHEIGHT / T_HEIGHT + 1; + int dw = DWIDTH / T_WIDTH + 2, dh = DHEIGHT / T_HEIGHT + 1; /* mw and mh will contain the height and the width of the map. */ - unsigned short int mw = map_level->w * T_WIDTH, - mh = map_level->h * T_HEIGHT; + int mw = map_level->w * T_WIDTH, + mh = map_level->h * T_HEIGHT; /* tile contains the tile to draw. */ - short int tile; + unsigned short int tile; /* The position where I start drawing */ - unsigned short int sx, sy; + int sx, sy; /* The position of the tile in the tileset. */ - unsigned short int xtile, ytile; + int xtile, ytile; /* Fix sx. */ if(player->x < DWIDTH / 2) { /* If I can't center the player because I'm near the left border of diff --git a/src/player.c b/src/player.c index 6751d15..1fea57c 100644 --- a/src/player.c +++ b/src/player.c @@ -88,25 +88,28 @@ void player_move(Game *game, Direction direction) { } /* Check if we should change map */ - Map *target = map_get_for_tile(game, - game->map_level->x + player->x / T_WIDTH + - one_px_mov[direction * 2], - game->map_level->y + player->y / T_HEIGHT + - one_px_mov[direction * 2 + 1]); - if(target != game->map_level) { - if(target->x > game->map_level->x) { - player->x = 0; + /* Disable map change for indoor maps */ + if(!game->map_level->indoor){ + Map *target = map_get_for_tile(game, + game->map_level->x + player->x / T_WIDTH + + one_px_mov[direction * 2], + game->map_level->y + player->y / T_HEIGHT + + one_px_mov[direction * 2 + 1]); + if(target != game->map_level) { + if(target->x > game->map_level->x) { + player->x = 0; + } + if(target->x < game->map_level->x) { + player->x = target->w * T_WIDTH; + } + if(target->y > game->map_level->y) { + player->y = 0; + } + if(target->y < game->map_level->y) { + player->y = target->h * T_HEIGHT; + } + game->map_level = target; } - if(target->x < game->map_level->x) { - player->x = target->w * T_WIDTH; - } - if(target->y > game->map_level->y) { - player->y = 0; - } - if(target->y < game->map_level->y) { - player->y = target->h * T_HEIGHT; - } - game->map_level = target; } }