commit b76e0075
Make the block variant to be part of the start information. Also remap so the yellow color is part of the first 5 blocks.
Changed files
| M | source/code/BlockGame.cpp before |
| M | source/code/BlockGame.hpp before |
| M | source/code/main.cpp before |
diff --git a/source/code/BlockGame.cpp b/source/code/BlockGame.cpp
index f58562c..0c95078 100644
--- a/source/code/BlockGame.cpp
+++ b/source/code/BlockGame.cpp
@@ -267,7 +267,7 @@ void BlockGame::NewGame(const BlockGameStartInfo& s) {
recordStats = false;
}
NewGameInternal(s.ticks);
- basicBlockVariants = 6;
+ basicBlockVariants = s.basicBlockVariants;
if (s.timeTrial) {
timetrial = true;
putStartBlocks();
diff --git a/source/code/BlockGame.hpp b/source/code/BlockGame.hpp
index ea3aac9..d467f2c 100644
--- a/source/code/BlockGame.hpp
+++ b/source/code/BlockGame.hpp
@@ -69,11 +69,12 @@ struct BlockGameStartInfo {
int startBlocks = -1;
int handicap = 0;
int gameSpeed = 0;
+ int basicBlockVariants = 6;
template <class Archive>
void serialize( Archive& ar ) {
ar( CEREAL_NVP(ticks), CEREAL_NVP(timeTrial), CEREAL_NVP(stageClear), CEREAL_NVP(puzzleMode), CEREAL_NVP(singlePuzzle),
CEREAL_NVP(level), CEREAL_NVP(AI), CEREAL_NVP(recordStats), CEREAL_NVP(vsMode), CEREAL_NVP(vsAI),
- CEREAL_NVP(startBlocks), CEREAL_NVP(handicap), CEREAL_NVP(gameSpeed) );
+ CEREAL_NVP(startBlocks), CEREAL_NVP(handicap), CEREAL_NVP(gameSpeed), CEREAL_NVP(basicBlockVariants) );
}
};
diff --git a/source/code/main.cpp b/source/code/main.cpp
index 3d8ae9f..0cdc04e 100644
--- a/source/code/main.cpp
+++ b/source/code/main.cpp
@@ -122,8 +122,8 @@ static int InitImages(sago::SagoSpriteHolder& holder) {
globalData.bricks[1] = holder.GetSprite("block_green");
globalData.bricks[2] = holder.GetSprite("block_purple");
globalData.bricks[3] = holder.GetSprite("block_red");
- globalData.bricks[4] = holder.GetSprite("block_turkish");
- globalData.bricks[5] = holder.GetSprite("block_yellow");
+ globalData.bricks[4] = holder.GetSprite("block_yellow");
+ globalData.bricks[5] = holder.GetSprite("block_turkish");
globalData.bricks[6] = holder.GetSprite("block_grey");
globalData.bomb = holder.GetSprite("block_bomb");
globalData.bHighScore = holder.GetSprite("b_highscore");
@@ -136,8 +136,8 @@ static int InitImages(sago::SagoSpriteHolder& holder) {
globalData.balls[1] = holder.GetSprite("ball_green");
globalData.balls[2] = holder.GetSprite("ball_purple");
globalData.balls[3] = holder.GetSprite("ball_red");
- globalData.balls[4] = holder.GetSprite("ball_turkish");
- globalData.balls[5] = holder.GetSprite("ball_yellow");
+ globalData.balls[4] = holder.GetSprite("ball_yellow");
+ globalData.balls[5] = holder.GetSprite("ball_turkish");
globalData.balls[6] = holder.GetSprite("ball_gray");
globalData.cursor = holder.GetSprite("cursor");
globalData.ready = holder.GetSprite("block_ready");