From f8fd51fc9598da4852f6146159acb0c8db228075 Mon Sep 17 00:00:00 2001 From: Dav999-v Date: Thu, 29 Dec 2022 04:58:49 +0100 Subject: [PATCH] Indicate what special roomnames are in the levels This just adds booleans roomname_special to the level classes in preparation for the localization system to use them. This commit is part of rewritten history of the localization branch. The original (unsquashed) commit history can be found here: https://github.com/Dav999-v/VVVVVV/tree/localization-orig --- desktop_version/src/Finalclass.cpp | 11 +++++++++++ desktop_version/src/Finalclass.h | 1 + desktop_version/src/Labclass.cpp | 1 + desktop_version/src/Labclass.h | 1 + desktop_version/src/Map.cpp | 10 ++++++++++ desktop_version/src/Map.h | 1 + desktop_version/src/Otherlevel.cpp | 1 + desktop_version/src/Otherlevel.h | 1 + desktop_version/src/Spacestation2.cpp | 4 ++++ desktop_version/src/Spacestation2.h | 1 + desktop_version/src/WarpClass.cpp | 2 ++ desktop_version/src/WarpClass.h | 1 + 12 files changed, 35 insertions(+) diff --git a/desktop_version/src/Finalclass.cpp b/desktop_version/src/Finalclass.cpp index 66dd9025..5593293d 100644 --- a/desktop_version/src/Finalclass.cpp +++ b/desktop_version/src/Finalclass.cpp @@ -13,6 +13,8 @@ const short* finalclass::loadlevel(int rx, int ry) warpx = false; warpy = false; + roomname_special = false; + switch(t) { #if !defined(MAKEANDPLAY) @@ -156,6 +158,7 @@ const short* finalclass::loadlevel(int rx, int ry) warpy = true; roomname = "glitch"; + roomname_special = true; result = contents; break; } @@ -206,6 +209,7 @@ const short* finalclass::loadlevel(int rx, int ry) warpy = true; roomname = "glitch"; + roomname_special = true; result = contents; break; } @@ -254,6 +258,7 @@ const short* finalclass::loadlevel(int rx, int ry) warpy = true; roomname = "change"; + roomname_special = true; result = contents; break; } @@ -304,6 +309,7 @@ const short* finalclass::loadlevel(int rx, int ry) warpy = true; roomname = "change"; + roomname_special = true; result = contents; break; } @@ -351,6 +357,7 @@ const short* finalclass::loadlevel(int rx, int ry) warpy = true; roomname = "change"; + roomname_special = true; result = contents; break; } @@ -508,6 +515,7 @@ const short* finalclass::loadlevel(int rx, int ry) warpy = true; roomname = "glitch"; + roomname_special = true; result = contents; break; } @@ -954,6 +962,7 @@ const short* finalclass::loadlevel(int rx, int ry) warpx = true; roomname = "change"; + roomname_special = true; result = contents; break; } @@ -1004,6 +1013,7 @@ const short* finalclass::loadlevel(int rx, int ry) warpx = true; roomname = "change"; + roomname_special = true; result = contents; break; } @@ -2603,6 +2613,7 @@ const short* finalclass::loadlevel(int rx, int ry) { static const short contents[1200] = {0}; roomname = "Outer Space"; + roomname_special = true; //game.test = true; //game.teststring = "ERROR: Map not found in Final Area"; diff --git a/desktop_version/src/Finalclass.h b/desktop_version/src/Finalclass.h index 60c04300..35a4d304 100644 --- a/desktop_version/src/Finalclass.h +++ b/desktop_version/src/Finalclass.h @@ -7,6 +7,7 @@ public: const short* loadlevel(int rx, int ry); const char* roomname; + bool roomname_special; bool warpx, warpy; }; diff --git a/desktop_version/src/Labclass.cpp b/desktop_version/src/Labclass.cpp index df795c4d..221e3e40 100644 --- a/desktop_version/src/Labclass.cpp +++ b/desktop_version/src/Labclass.cpp @@ -25,6 +25,7 @@ const short* labclass::loadlevel(int rx, int ry) const short* result; rcol = 0; roomname = ""; + roomname_special = false; switch(t) { diff --git a/desktop_version/src/Labclass.h b/desktop_version/src/Labclass.h index ac650d0f..c8acd48f 100644 --- a/desktop_version/src/Labclass.h +++ b/desktop_version/src/Labclass.h @@ -7,6 +7,7 @@ public: const short* loadlevel(int rx, int ry); const char* roomname; + bool roomname_special; int rcol; }; #endif /* LABCLASS_H */ diff --git a/desktop_version/src/Map.cpp b/desktop_version/src/Map.cpp index 89f1ad0e..1691d286 100644 --- a/desktop_version/src/Map.cpp +++ b/desktop_version/src/Map.cpp @@ -83,6 +83,8 @@ mapclass::mapclass(void) setroomname(""); hiddenname = ""; + + roomname_special = false; } static char roomname_static[SCREEN_WIDTH_CHARS]; @@ -1536,6 +1538,8 @@ void mapclass::loadlevel(int rx, int ry) warpy = true; } + roomname_special = false; + switch(t) { #if !defined(MAKEANDPLAY) @@ -1547,6 +1551,7 @@ void mapclass::loadlevel(int rx, int ry) const short* tmap = otherlevel.loadlevel(rx, ry); copy_short_to_int(contents, tmap, SDL_arraysize(contents)); setroomname(otherlevel.roomname); + roomname_special = otherlevel.roomname_special; hiddenname = otherlevel.hiddenname; tileset = otherlevel.roomtileset; break; @@ -1556,6 +1561,7 @@ void mapclass::loadlevel(int rx, int ry) const short* tmap = lablevel.loadlevel(rx, ry); copy_short_to_int(contents, tmap, SDL_arraysize(contents)); setroomname(lablevel.roomname); + roomname_special = lablevel.roomname_special; tileset = 1; background = 2; graphics.rcol = lablevel.rcol; @@ -1603,6 +1609,7 @@ void mapclass::loadlevel(int rx, int ry) const short* tmap = warplevel.loadlevel(rx, ry); copy_short_to_int(contents, tmap, SDL_arraysize(contents)); setroomname(warplevel.roomname); + roomname_special = warplevel.roomname_special; tileset = 1; background = 3; graphics.rcol = warplevel.rcol; @@ -1621,6 +1628,7 @@ void mapclass::loadlevel(int rx, int ry) const short* tmap = spacestation2.loadlevel(rx, ry); copy_short_to_int(contents, tmap, SDL_arraysize(contents)); setroomname(spacestation2.roomname); + roomname_special = spacestation2.roomname_special; tileset = 0; break; } @@ -1629,6 +1637,7 @@ void mapclass::loadlevel(int rx, int ry) const short* tmap = finallevel.loadlevel(rx, ry); copy_short_to_int(contents, tmap, SDL_arraysize(contents)); setroomname(finallevel.roomname); + roomname_special = finallevel.roomname_special; tileset = 1; background = 3; graphics.backgrounddrawn = false; @@ -1788,6 +1797,7 @@ void mapclass::loadlevel(int rx, int ry) const short* tmap = finallevel.loadlevel(rx, ry); copy_short_to_int(contents, tmap, SDL_arraysize(contents)); setroomname(finallevel.roomname); + roomname_special = finallevel.roomname_special; tileset = 2; if (rx == 108) { diff --git a/desktop_version/src/Map.h b/desktop_version/src/Map.h index 8268e7bf..b5b4fe10 100644 --- a/desktop_version/src/Map.h +++ b/desktop_version/src/Map.h @@ -114,6 +114,7 @@ public: const char* roomname; + bool roomname_special; const char* hiddenname; //Special tower stuff diff --git a/desktop_version/src/Otherlevel.cpp b/desktop_version/src/Otherlevel.cpp index 91ec472c..74c7a514 100644 --- a/desktop_version/src/Otherlevel.cpp +++ b/desktop_version/src/Otherlevel.cpp @@ -15,6 +15,7 @@ const short* otherlevelclass::loadlevel(int rx, int ry) t = rx + (ry * 100); const short* result; roomname = ""; + roomname_special = false; hiddenname = "Dimension VVVVVV"; switch(t) diff --git a/desktop_version/src/Otherlevel.h b/desktop_version/src/Otherlevel.h index 983b9dc0..8b5e4ac8 100644 --- a/desktop_version/src/Otherlevel.h +++ b/desktop_version/src/Otherlevel.h @@ -7,6 +7,7 @@ public: const short* loadlevel(int rx, int ry); const char* roomname; + bool roomname_special; const char* hiddenname; int roomtileset; diff --git a/desktop_version/src/Spacestation2.cpp b/desktop_version/src/Spacestation2.cpp index 385c9ba5..b3e30ea0 100644 --- a/desktop_version/src/Spacestation2.cpp +++ b/desktop_version/src/Spacestation2.cpp @@ -17,6 +17,7 @@ const short* spacestation2class::loadlevel(int rx, int ry) const short* result; roomname = "Untitled room"; + roomname_special = false; switch(t) { @@ -2556,10 +2557,12 @@ const short* spacestation2class::loadlevel(int rx, int ry) if(game.nodeathmode) { roomname = "I Can't Believe You Got This Far"; + roomname_special = true; } else if (game.intimetrial) { roomname = "Imagine Spikes There, if You Like"; + roomname_special = true; } result = contents; break; @@ -3625,6 +3628,7 @@ const short* spacestation2class::loadlevel(int rx, int ry) { static const short contents[1200] = {0}; roomname = "Outer Space"; + roomname_special = true; obj.fatal_bottom(); result = contents; break; diff --git a/desktop_version/src/Spacestation2.h b/desktop_version/src/Spacestation2.h index b316b618..a77a626e 100644 --- a/desktop_version/src/Spacestation2.h +++ b/desktop_version/src/Spacestation2.h @@ -6,6 +6,7 @@ class spacestation2class public: const short* loadlevel(int rx, int ry); const char* roomname; + bool roomname_special; }; #endif /* SPACESTATION2_H */ diff --git a/desktop_version/src/WarpClass.cpp b/desktop_version/src/WarpClass.cpp index 2d6f94f5..c56801af 100644 --- a/desktop_version/src/WarpClass.cpp +++ b/desktop_version/src/WarpClass.cpp @@ -20,6 +20,7 @@ const short* warpclass::loadlevel(int rx, int ry) warpy = false; roomname = "Untitled room"; + roomname_special = false; switch(t) { @@ -1130,6 +1131,7 @@ const short* warpclass::loadlevel(int rx, int ry) { static const short contents[1200] = {0}; //roomname = "Outer Space"; + //roomname_special = true; result = contents; break; } diff --git a/desktop_version/src/WarpClass.h b/desktop_version/src/WarpClass.h index 61d0ba4e..e2d4bfab 100644 --- a/desktop_version/src/WarpClass.h +++ b/desktop_version/src/WarpClass.h @@ -6,6 +6,7 @@ class warpclass public: const short* loadlevel(int rx, int ry); const char* roomname; + bool roomname_special; int rcol; bool warpx, warpy; };