From d26fae38402e5cecb4bc0a14abf150d2706055cb Mon Sep 17 00:00:00 2001 From: Cong Date: Sat, 25 May 2024 21:29:39 +1000 Subject: [PATCH] Noah flag #712 --- .../N3Ddata.cdogscpn/graphics/brick_color.png | Bin 0 -> 5274 bytes .../N3Ddata.cdogscpn/graphics/brick_color.txt | 4 + .../graphics/coat_of_arms_flag.png | Bin 12642 -> 0 bytes .../graphics/curtain_blue.png | Bin 0 -> 8396 bytes .../N3Ddata.cdogscpn/graphics/noah_flag.png | Bin 0 -> 348 bytes .../.wolf3d/N3Ddata.cdogscpn/map_objects.json | 24 +- data/.wolf3d/N3Ddata.cdogscpn/missions.json | 57 +++-- src/cdogs/map_wolf.c | 226 +++++++++++------- 8 files changed, 193 insertions(+), 118 deletions(-) create mode 100644 data/.wolf3d/N3Ddata.cdogscpn/graphics/brick_color.png create mode 100644 data/.wolf3d/N3Ddata.cdogscpn/graphics/brick_color.txt delete mode 100644 data/.wolf3d/N3Ddata.cdogscpn/graphics/coat_of_arms_flag.png create mode 100644 data/.wolf3d/N3Ddata.cdogscpn/graphics/curtain_blue.png create mode 100644 data/.wolf3d/N3Ddata.cdogscpn/graphics/noah_flag.png diff --git a/data/.wolf3d/N3Ddata.cdogscpn/graphics/brick_color.png b/data/.wolf3d/N3Ddata.cdogscpn/graphics/brick_color.png new file mode 100644 index 0000000000000000000000000000000000000000..7d880d8a53fb52de9802378bf22d5bb27377a3e5 GIT binary patch literal 5274 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 Ky9+jfiT?rji;Zdk literal 0 HcmV?d00001 diff --git a/data/.wolf3d/N3Ddata.cdogscpn/graphics/brick_color.txt b/data/.wolf3d/N3Ddata.cdogscpn/graphics/brick_color.txt new file mode 100644 index 000000000..76b2e9f37 --- /dev/null +++ b/data/.wolf3d/N3Ddata.cdogscpn/graphics/brick_color.txt @@ -0,0 +1,4 @@ +Derived from Dawnblocker Ortho +By Buch +http://opengameart.org/content/dawnblocker-ortho +http://creativecommons.org/publicdomain/zero/1.0/ \ No newline at end of file diff --git a/data/.wolf3d/N3Ddata.cdogscpn/graphics/coat_of_arms_flag.png b/data/.wolf3d/N3Ddata.cdogscpn/graphics/coat_of_arms_flag.png deleted file mode 100644 index cf76b7ce8bc11c4caa2ed3d5c04e15770c30ad8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12642 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 diff --git a/data/.wolf3d/N3Ddata.cdogscpn/graphics/curtain_blue.png b/data/.wolf3d/N3Ddata.cdogscpn/graphics/curtain_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..3d7201efd2c7a3eb28ee792f6b9290b1df0333c8 GIT binary patch literal 8396 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 N(9<$P7i-vs{14;J_vios literal 0 HcmV?d00001 diff --git a/data/.wolf3d/N3Ddata.cdogscpn/graphics/noah_flag.png b/data/.wolf3d/N3Ddata.cdogscpn/graphics/noah_flag.png new file mode 100644 index 0000000000000000000000000000000000000000..6fbc875a4ad602504e060d2f7ba6b157d1b9daa9 GIT binary patch literal 348 zcmV-i0i*tjP)7z~@DuIN!%RZ4z`f0N?jFypLXS5|EZL@+JS*eXYeZ z8T++G8jAC>qLe#l781aqr)h@~gPu-=D1eqRk_M)AI|)OT=$NYt2hSn7sxTCx9Yz4I z&IUPfC_>STC>u@Di=1Jj_7|L(aW=`Or|Eh+od@6I*j<#3o-^Oolk>vwasW091^2R? u%{qe(T`!dYXfzsX4z#LNDybW`fYlGx5`&pR6Yr=10000type) { - case 2: - moName = "heer_flag"; + case CWMAPTYPE_N3D: + break; + default: + switch (spearMission) + { + case 2: + moName = "heer_flag"; + break; + } break; } - break; case CWWALL_RED_BRICK_FLAG: - switch (spearMission) + switch (map->type) { - case 1: - moName = "coat_of_arms_flag"; + case CWMAPTYPE_N3D: + moName = "noah_flag"; break; - case 3: - moName = "swastika_relief"; + default: + switch (spearMission) + { + case 1: + moName = "coat_of_arms_flag"; + break; + case 3: + moName = "swastika_relief"; + break; + } break; } - break; case CWWALL_ELEVATOR: { - const TileClass *tcBelow = - MissionStaticGetTileClass(m, levelSize, vBelow); - if (tcBelow == NULL) + switch (map->type) { + case CWMAPTYPE_N3D: break; - } - if (tcBelow->Type == TILE_CLASS_FLOOR) - { - moName = "elevator_interior"; - } - // Elevators only occur on east/west tiles - for (int dx = -1; dx <= 1; dx += 2) - { - const struct vec2i exitV = svec2i(v.x + dx, v.y); - const TileClass *tc = - MissionStaticGetTileClass(m, levelSize, exitV); - // Tile can be a vertical door - const uint16_t chd = CWLevelGetCh(level, 0, exitV.x, exitV.y); - const CWTile tile = CWChToTile(chd); - const bool isVerticalDoor = - tile == CWTILE_ELEVATOR_V || tile == CWTILE_DOOR_V || - tile == CWTILE_DOOR_GOLD_V || tile == CWTILE_DOOR_SILVER_V; - if (tc != NULL && (tc->Type == TILE_CLASS_FLOOR || isVerticalDoor)) + default: { + const TileClass *tcBelow = + MissionStaticGetTileClass(m, levelSize, vBelow); + if (tcBelow == NULL) { - Exit e; - e.Hidden = true; - e.Mission = missionIndex + 1; - // Check if coming back from secret level - if (map->type == CWMAPTYPE_SOD) + break; + } + if (tcBelow->Type == TILE_CLASS_FLOOR) + { + moName = "elevator_interior"; + } + // Elevators only occur on east/west tiles + for (int dx = -1; dx <= 1; dx += 2) + { + const struct vec2i exitV = svec2i(v.x + dx, v.y); + const TileClass *tc = + MissionStaticGetTileClass(m, levelSize, exitV); + // Tile can be a vertical door + const uint16_t chd = CWLevelGetCh(level, 0, exitV.x, exitV.y); + const CWTile tile = CWChToTile(chd); + const bool isVerticalDoor = + tile == CWTILE_ELEVATOR_V || tile == CWTILE_DOOR_V || + tile == CWTILE_DOOR_GOLD_V || tile == CWTILE_DOOR_SILVER_V; + if (tc != NULL && + (tc->Type == TILE_CLASS_FLOOR || isVerticalDoor)) { - if (missionIndex == 18) - { - e.Mission = 4; - } - else if (missionIndex == 19) + Exit e; + e.Hidden = true; + e.Mission = missionIndex + 1; + // Check if coming back from secret level + if (map->type == CWMAPTYPE_SOD) { - e.Mission = 12; + if (missionIndex == 18) + { + e.Mission = 4; + } + else if (missionIndex == 19) + { + e.Mission = 12; + } } - } - else - { - switch (missionIndex) + else { - case 9: - e.Mission = 1; - break; - case 19: - e.Mission = 11; - break; - case 29: - e.Mission = 27; - break; - case 39: - e.Mission = 33; - break; - case 49: - e.Mission = 45; - break; - case 59: - e.Mission = 53; - break; - default: - break; + switch (missionIndex) + { + case 9: + e.Mission = 1; + break; + case 19: + e.Mission = 11; + break; + case 29: + e.Mission = 27; + break; + case 39: + e.Mission = 33; + break; + case 49: + e.Mission = 45; + break; + case 59: + e.Mission = 53; + break; + default: + break; + } } + e.R.Pos = exitV; + e.R.Size = svec2i_zero(); + MissionStaticTryAddExit(m, &e); } - e.R.Pos = exitV; - e.R.Size = svec2i_zero(); - MissionStaticTryAddExit(m, &e); } } + } } break; case CWWALL_DEAD_ELEVATOR: - if (MissionStaticGetTileClass( - m, svec2i(level->header.width, level->header.height), vBelow) - ->Type == TILE_CLASS_FLOOR) + switch (map->type) { - moName = "elevator_interior"; + case CWMAPTYPE_N3D: + moName = "curtain_blue"; + break; + default: + if (MissionStaticGetTileClass( + m, svec2i(level->header.width, level->header.height), + vBelow) + ->Type == TILE_CLASS_FLOOR) + { + moName = "elevator_interior"; + } + break; } break; case CWWALL_WOOD_IRON_CROSS: - switch (spearMission) + switch (map->type) { - case 1: - moName = "iron_cross"; - break; - case 2: - moName = "wall_chart"; + case CWMAPTYPE_N3D: break; - case 3: - moName = "wall_goo2"; + default: + switch (spearMission) + { + case 1: + moName = "iron_cross"; + break; + case 2: + moName = "wall_chart"; + break; + case 3: + moName = "wall_goo2"; + break; + } break; } break; case CWWALL_DIRTY_BRICK_1: - switch (spearMission) + switch (map->type) { - case 1: - moName = "cobble_moss"; + case CWMAPTYPE_N3D: + moName = "green_relief"; break; - case 3: - moName = "wall_goo2"; + default: + switch (spearMission) + { + case 1: + moName = "cobble_moss"; + break; + case 3: + moName = "wall_goo2"; + break; + } break; } - break; case CWWALL_PURPLE_BLOOD: switch (spearMission) { @@ -2881,8 +2925,9 @@ static void AdjustTurningPoint(Mission *m, const struct vec2i v) { return; } - // HACK: locked doors can be opened by patrolling enemies walking into them - // Therefore unlock any locked doors directly in front of a turning point + // HACK: locked doors can be opened by patrolling enemies walking + // into them Therefore unlock any locked doors directly in front of + // a turning point const uint16_t unlockedAccess = 0; CArraySet(&m->u.Static.Access, v.x + v.y * m->Size.y, &unlockedAccess); } @@ -2945,7 +2990,8 @@ static bool TryLoadSpearSteamVanilla(CampaignList *list) for (int i = 1; i <= 3; i++) { char buf2[CDOGS_PATH_MAX]; - // Append spear mission pack to path - we will handle this later + // Append spear mission pack to path - we will handle this + // later sprintf(buf2, "%s?%d", buf, i); if (!TryLoadCampaign(list, buf2)) {