git repos / saland

commit 307abe19

Poul Sander · 2021-06-22 20:41
307abe193b61d25b886423ef5961f67a29deec77 patch · browse files
parent c7e8eaa2929633b1b11888ebf4d1f8a05565f271

Can now select between 4 different worlds

Changed files

M src/saland.cpp before
M src/saland/Game.cpp before
diff --git a/src/saland.cpp b/src/saland.cpp index 36653ba..b3d4cf6 100644 --- a/src/saland.cpp +++ b/src/saland.cpp
@@ -258,11 +258,49 @@ void RunGameState(sago::GameStateInterface& state ) {
}
}
-void startWorld() {
+void startWorld1() {
+ Config::getInstance()->setString("world", "world1");
Game g;
RunGameState(g);
}
+void startWorld2() {
+ Config::getInstance()->setString("world", "world2");
+ Game g;
+ RunGameState(g);
+}
+void startWorld3() {
+ Config::getInstance()->setString("world", "world3");
+ Game g;
+ RunGameState(g);
+}
+void startWorld4() {
+ Config::getInstance()->setString("world", "world4");
+ Game g;
+ RunGameState(g);
+}
+
+void runWorldSelect() {
+ Menu m(globalData.screen, true);
+ Button bWorld1;
+ bWorld1.setLabel("World 1");
+ bWorld1.setAction(startWorld1);
+ m.addButton(&bWorld1);
+ Button bWorld2;
+ bWorld2.setLabel("World 2");
+ bWorld2.setAction(startWorld2);
+ m.addButton(&bWorld2);
+ Button bWorld3;
+ bWorld3.setLabel("World 3");
+ bWorld3.setAction(startWorld3);
+ m.addButton(&bWorld3);
+ Button bWorld4;
+ bWorld4.setLabel("World 4");
+ bWorld4.setAction(startWorld4);
+ m.addButton(&bWorld4);
+ RunGameState(m);
+}
+
void ResetFullscreen() {
sago::SagoDataHolder& dataHolder = *globalData.dataHolder;
@@ -334,7 +372,7 @@ void runGame() {
Menu m(globalData.screen, false);
Button bStart;
bStart.setLabel("Start");
- bStart.setAction(startWorld);
+ bStart.setAction(runWorldSelect);
m.addButton(&bStart);
Button bOptions;
bOptions.setLabel("Options");
diff --git a/src/saland/Game.cpp b/src/saland/Game.cpp index aef36bf..e9ff5c0 100644 --- a/src/saland/Game.cpp +++ b/src/saland/Game.cpp
@@ -262,6 +262,7 @@ Game::Game() {
data.reset(new Game::GameImpl());
data->human.reset(new Human());
data->lastUpdate = SDL_GetTicks();
+ data->worldName = Config::getInstance()->getString("world");
ResetWorld(0, 0, false);
data->human->pants = globalData.player.get_visible_bottom();
data->human->hair = globalData.player.get_visible_hair();