summaryrefslogtreecommitdiff
path: root/src/newer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/newer.cpp')
-rw-r--r--src/newer.cpp72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/newer.cpp b/src/newer.cpp
new file mode 100644
index 0000000..314b50f
--- /dev/null
+++ b/src/newer.cpp
@@ -0,0 +1,72 @@
+#include <newer.h>
+
+NWRWorld NewerWorldForLevelID(int w, int l) {
+ switch (w) {
+ case 1: return YOSHI_ISLAND;
+ case 2:
+ if (((l>1) && (l<5)) || (l==15) || (l==33) || (l==34))
+ return SOGGY_SEWERS;
+ else
+ return RUBBLE_RUINS;
+ case 3: return MUSHROOM_PEAKS;
+ case 4: return SAKURA_VILLAGE;
+ case 5:
+ if (l<7 || l==15 || l==33 || l==34)
+ return FREEZEFLAME_GLACIER;
+ else
+ return FREEZEFLAME_VOLCANO;
+ case 6: return PUMPKIN_BONEYARD;
+ case 7:
+ if (l<4)
+ return SKY_MOUNTAIN;
+ else
+ return STARRY_SKIES;
+ case 8:
+ if (l<6 || l==15 || l==25 || l==33 || l==34)
+ return KOOPA_PLANET;
+ else
+ return KOOPA_CORE;
+ case 9: return BONUS_LAND;
+ case 10:
+ if (l<6 || l==30 || l==41)
+ return GOLDWOOD_FOREST;
+ else if (l<11 || l==32)
+ return MINIMEGA_ISLAND;
+ else if (l<16 || l==33 || l==34 || l==31)
+ return CRYSTAL_CAVES;
+ else if (l<19)
+ return BOMBARD_CLIFFS;
+ else
+ return SKY_CITY;
+ }
+
+ return UNKNOWN_WORLD;
+}
+
+
+static const wchar_t *NewerWorldNames[] = {
+ L"Yoshi's Island",
+ L"Rubble Ruins",
+ L"Soggy Sewers",
+ L"Mushroom Peaks",
+ L"Sakura Village",
+ L"Freezeflame Glacier",
+ L"Freezeflame Volcano",
+ L"Pumpkin Boneyard",
+ L"Sky Mountain",
+ L"Starry Skies",
+ L"Koopa Planet",
+ L"Koopa Core",
+ L"Bonus Land",
+ L"Goldwood Forest",
+ L"Mini-Mega Island",
+ L"Crystal Caves",
+ L"Bombard Cliffs",
+ L"Sky City"
+};
+
+const wchar_t *NewerWorldName(NWRWorld world) {
+ if (world < 0 || world >= WORLD_COUNT)
+ return L"Unknown World";
+ return NewerWorldNames[world];
+}