From 6cb8167ebae805048d39914e30388c5e9ea22230 Mon Sep 17 00:00:00 2001 From: bgiraudr Date: Tue, 18 Jan 2022 23:43:48 +0100 Subject: [PATCH] Teleporter --- CMakeLists.txt | 2 ++ assets-cg/converters.py | 33 ++++++++++++++++-- assets-cg/maps/1.tmx | 52 +++++++++++++++++++++++++++++ assets-cg/maps/fxconv-metadata.txt | 3 ++ assets-cg/maps/inside/1.tmx | 5 +-- assets-cg/maps/inside/3.tmx | 23 +++++++++++-- assets-cg/maps/testCarte.tmx | 21 ++++++++++-- assets-cg/maps/tileset.tsx | 5 ++- assets-cg/tileset.png | Bin 60526 -> 60683 bytes include/map.h | 16 +++++++-- src/engine.c | 10 ++++++ src/map.c | 15 +++++++-- 12 files changed, 166 insertions(+), 19 deletions(-) create mode 100644 assets-cg/maps/1.tmx diff --git a/CMakeLists.txt b/CMakeLists.txt index 65a5139..87b0203 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,6 +21,7 @@ add_custom_command( COMMAND find | grep .*.tmx | sed 's/.tmx//g' | xargs -l bash -c 'tiled --export-map json $$0.tmx $$0.json' WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/assets-cg/maps/ DEPENDS assets-cg/maps/testCarte.tmx + assets-cg/maps/1.tmx assets-cg/tileset.png assets-cg/maps/tileset.tsx assets-cg/converters.py @@ -44,6 +45,7 @@ set(SOURCES set(ASSETS_cg assets-cg/tileset.png assets-cg/maps/testCarte.json + assets-cg/maps/1.json assets-cg/maps/inside/1.json assets-cg/maps/inside/2.json assets-cg/maps/inside/3.json diff --git a/assets-cg/converters.py b/assets-cg/converters.py index 0a785d3..efbf037 100644 --- a/assets-cg/converters.py +++ b/assets-cg/converters.py @@ -15,8 +15,10 @@ def convert_map(input, output, params, target): TILE_DOOR_IN = 2 TILE_DOOR_OUT = 3 TILE_TALKABLE = 4 + TILE_TELEPORTER = 5 DIALOG_LAYOUT = "dialog" + TELEPORTER_LAYOUT = "teleporter" data = json.load(open(input, "r")) @@ -51,6 +53,8 @@ def convert_map(input, output, params, target): value = TILE_TALKABLE elif type == "bridge": value = TILE_BRIDGE + elif type == "teleporter": + value = TILE_TELEPORTER else: value = TILE_AIR @@ -64,19 +68,25 @@ def convert_map(input, output, params, target): objectLayers = data["layers"][nbTilelayer:len(data["layers"])] nbDialog = 0 + nbTelep = 0 structMap = fxconv.Structure() dialogs = fxconv.Structure() + teleporter = fxconv.Structure() for layer in objectLayers: if layer.get("name") == DIALOG_LAYOUT: nbDialog = len(layer["objects"]) dialogs = parseDialog(layer) + elif layer.get("name") == TELEPORTER_LAYOUT: + nbTelep = len(layer["objects"]) + teleporter = parseTeleporter(layer) else: print("UNKNOWN LAYOUT FOUND : " + layer.get("name")) - structMap += fxconv.u32(w) + fxconv.u32(h) + fxconv.u32(nbTilelayer) + fxconv.u32(nbDialog) + structMap += fxconv.u32(w) + fxconv.u32(h) + fxconv.u32(nbTilelayer) + fxconv.u32(nbDialog) + fxconv.u32(nbTelep) structMap += fxconv.ref(f"img_{nameTilesetFree}") structMap += fxconv.ptr(dialogs) + structMap += fxconv.ptr(teleporter) #generation of the collision map (take the maximum of the layer except for bridges) #bridges are always walkable @@ -126,4 +136,23 @@ def parseDialog(layer): except KeyError: dialogs += fxconv.string("default name") dialogs += fxconv.string("default text") - return dialogs \ No newline at end of file + return dialogs + +def parseTeleporter(layer): + teleporter = fxconv.Structure() + for i in layer["objects"]: + teleporter += fxconv.u32(int(i["x"]/i["width"])) + #Tiled seem to start at the bottom y of the object + teleporter += fxconv.u32(int(i["y"]/i["width"])-1) + + try: + if len(i["properties"]) < 2: + raise Exception("parseTeleporter() : Un téléporteur est mal configuré") + if len(i["properties"]) == 2: + print("parseTeleporter() : passage automatique idMap = -1 sur téléporteur x = " + str(i["properties"][0]["value"]) + ", y = " + str(i["properties"][1]["value"])) + teleporter += fxconv.u32(-1); + for j in i["properties"]: + teleporter += fxconv.u32(j["value"]) + except KeyError : + raise Exception("parseTeleporter() : Un téléporteur est mal configuré") + return teleporter \ No newline at end of file diff --git a/assets-cg/maps/1.tmx b/assets-cg/maps/1.tmx new file mode 100644 index 0000000..a61403b --- /dev/null +++ b/assets-cg/maps/1.tmx @@ -0,0 +1,52 @@ + + + + + + + + +79,80,141,141,80,141,141,80,80,80,141,81, +113,4,30,1,2,3,3,34,3,2,2,111, +113,31,34,2,1,146,148,35,32,1,1,111, +108,3,2,2,146,149,150,148,30,32,4,111, +113,109,3,4,204,205,205,206,4,3,2,111, +108,37,32,3,4,2,4,3,3,3,1,110, +113,240,242,3,3,2,2,30,30,2,3,111, +108,269,244,242,2,3,2,33,4,2,4,110, +113,298,299,300,4,30,33,2,4,1,4,110, +137,83,83,138,138,138,138,83,138,138,138,139 + + + + +0,0,0,0,0,0,0,0,0,320,321,322, +0,0,0,0,0,0,0,0,0,349,350,351, +0,0,0,0,0,28,26,0,0,378,379,380, +0,0,0,0,0,57,55,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,239,0,0, +0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + + + + + + + + + + + + + + diff --git a/assets-cg/maps/fxconv-metadata.txt b/assets-cg/maps/fxconv-metadata.txt index f4c8d95..8b869dc 100644 --- a/assets-cg/maps/fxconv-metadata.txt +++ b/assets-cg/maps/fxconv-metadata.txt @@ -1,3 +1,6 @@ testCarte.json: custom-type: map name: map_1 +1.json: + custom-type: map + name: map_2 diff --git a/assets-cg/maps/inside/1.tmx b/assets-cg/maps/inside/1.tmx index 034794d..3eb9d36 100644 --- a/assets-cg/maps/inside/1.tmx +++ b/assets-cg/maps/inside/1.tmx @@ -1,5 +1,5 @@ - + @@ -46,7 +46,4 @@ - - - diff --git a/assets-cg/maps/inside/3.tmx b/assets-cg/maps/inside/3.tmx index a069a31..d823b26 100644 --- a/assets-cg/maps/inside/3.tmx +++ b/assets-cg/maps/inside/3.tmx @@ -1,5 +1,8 @@ - + + + + @@ -31,10 +34,10 @@ 0,0,620,0,0,0,0,0,0,740,742,649,0,0,0,0,0,0,0,0, 682,683,649,683,683,683,684,0,0,0,0,0,0,682,683,683,683,683,683,684, 711,712,0,712,712,712,713,0,0,0,0,0,0,711,712,712,712,712,712,713, -740,701,0,741,741,701,742,0,0,0,0,0,0,740,741,741,741,741,741,742, +740,701,0,741,741,701,742,0,0,239,0,0,0,740,741,741,741,741,741,742, 0,730,0,0,0,730,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,702,703,0,0, +0,0,0,0,0,0,0,0,0,0,0,239,0,0,0,0,702,703,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,731,732,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 @@ -72,4 +75,18 @@ + + + + + + + + + + + + + + diff --git a/assets-cg/maps/testCarte.tmx b/assets-cg/maps/testCarte.tmx index ecbcc70..a1d1dcd 100644 --- a/assets-cg/maps/testCarte.tmx +++ b/assets-cg/maps/testCarte.tmx @@ -1,5 +1,5 @@ - + @@ -80,8 +80,8 @@ 0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,294,0,0,0,0,294,0,0,0,0,0,751,752,753,754,0,0,41,42,0,0,0,0,0,294,294,0,0,0,0,29,0,0,0,137,138,138,138,139,0,0,0,280,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,285,286,287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,48, 0,0,0,0,0,0,0,0,0,294,294,56,0,0,0,0,0,0,294,294,294,0,0,0,0,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,280,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,285,286,287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,294,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,252,253,253,0,28,0,253,253,254,0,0,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,285,286,287,0,0,0,0,0,0,0,0,0,12,13,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,320,321,322,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,313,314,315,316,0,0,0,656,657,658,659,0,0,41,42,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,349,350,351,56,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,342,343,344,345,0,0,0,685,686,687,688,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,320,321,322,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,239,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,313,314,315,316,0,0,0,656,657,658,659,0,0,41,42,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,349,350,351,56,294,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,342,343,344,345,0,0,0,685,686,687,688,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,378,379,380,294,294,0,0,320,321,322,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,339,340,340,340,340,340,340,340,341,0,0,0,0,0,0,0,320,321,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,714,715,716,717,0,0,0,0,0,0,0,0,0,0,0,0, 294,0,0,0,0,0,0,0,0,0,0,0,0,0,349,350,351,0,0,294,294,294,294,294,294,294,323,324,325,323,324,325,323,324,325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,349,350,351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,13,0,0,0,0,0,0,0,0,28,0,743,744,745,746,0,0,0,0,0,0,0,0,0,0,0,0, 294,0,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,294,294,294,294,0,0,352,353,354,352,353,354,352,353,354,0,0,0,0,0,0,0,0,0,0,0,0,0,0,378,379,380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,42,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -180,4 +180,19 @@ + + + + + + + + + + + + + + + diff --git a/assets-cg/maps/tileset.tsx b/assets-cg/maps/tileset.tsx index edea527..9902698 100644 --- a/assets-cg/maps/tileset.tsx +++ b/assets-cg/maps/tileset.tsx @@ -63,7 +63,8 @@ - + + @@ -119,6 +120,7 @@ + @@ -189,6 +191,7 @@ + diff --git a/assets-cg/tileset.png b/assets-cg/tileset.png index e1fd36d05d356ba3bcaab98623a4c1465195010f..c4146fa8e4e0f5ef866ec67dd64809aa5def06bb 100644 GIT binary patch delta 37637 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ʖ(>K3WhI+bP-3Y0gH->)hBJbE}gEWv@L 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 diff --git a/include/map.h b/include/map.h index b268f57..63bdc0b 100644 --- a/include/map.h +++ b/include/map.h @@ -2,13 +2,20 @@ #include #include "engine.h" +struct Teleporter { + int x, y; + int idMap; + int x2, y2; +}; + struct Map { - /*width, height and the number of layer of the map (max 2)*/ - int w, h, nb_layers, dialog_count; + /*width, height and the number of layer of the map*/ + int w, h, nb_layers, dialog_count, teleporter_count; /*the tileset to use*/ bopti_image_t *tileset; /*list of all the dialog*/ struct Talkable *dialogs; + struct Teleporter *teleporters; /*state of each tile on the map (solid, air ...)*/ short *info_map; /*list of all the tiles*/ @@ -21,6 +28,7 @@ enum map_state { TILE_DOOR_IN = 2, TILE_DOOR_OUT = 3, TILE_TALKABLE = 4, + TILE_TELEPORTER = 5, }; /*check if a tile is walkable*/ @@ -32,4 +40,6 @@ void generate_interior_map(struct Game *game); void set_map(struct Game *game, int id); -struct Vec2 locate_tile(struct Map const *map, int tile); \ No newline at end of file +struct Vec2 locate_tile(struct Map const *map, int tile); + +struct Teleporter get_teleporter_xy(struct Map *map, struct Vec2 pos); \ No newline at end of file diff --git a/src/engine.c b/src/engine.c index f944215..20330bc 100644 --- a/src/engine.c +++ b/src/engine.c @@ -136,6 +136,7 @@ void engine_check_position(struct Game *game) { old_map = game->map; old_pos = game->player->pos; generate_interior_map(game); + engine_center_camera(game); } if(player_curr_tile == TILE_DOOR_OUT) { game->map = old_map; @@ -144,6 +145,15 @@ void engine_check_position(struct Game *game) { game->player->anim.dir = DIR_DOWN; engine_center_camera(game); } + if(player_curr_tile == TILE_TELEPORTER) { + struct Teleporter teleporter = get_teleporter_xy(game->map, game->player->pos); + game->player->pos.x = teleporter.x2; + game->player->pos.y = teleporter.y2; + if(teleporter.idMap != -1) { + set_map(game, teleporter.idMap); + } + engine_center_camera(game); + } } void engine_center_camera(struct Game *game) { diff --git a/src/map.c b/src/map.c index 0f2885f..77a1049 100644 --- a/src/map.c +++ b/src/map.c @@ -1,14 +1,16 @@ #include - +#include #include "map.h" #include "player.h" #include "define.h" #include "util.h" extern struct Map map_1; +extern struct Map map_2; struct Map *maps[] = { &map_1, + &map_2, }; /*check if a tile is walkable*/ @@ -41,13 +43,11 @@ void generate_interior_map(struct Game *game) { game->map = interiors[rand_range(0,NB_INTERIORS)]; game->player->pos = locate_tile(game->map, TILE_DOOR_OUT); - engine_center_camera(game); } /*may be useful later*/ void set_map(struct Game *game, int id) { game->map = maps[id]; - game->camera.pos = vec2f_lerp(game->camera.pos, *game->camera.target, 1); } /*locate the first occurence of a tile in a specified map*/ @@ -61,4 +61,13 @@ struct Vec2 locate_tile(struct Map const *map, int tile) { } } return VEC2(0,0); +} + +struct Teleporter get_teleporter_xy(struct Map *map, struct Vec2 pos) { + int i = 0; + while(i < map->teleporter_count) { + if(map->teleporters[i].x == pos.x && map->teleporters[i].y == pos.y) return map->teleporters[i]; + i++; + } + return map->teleporters[0]; } \ No newline at end of file