summaryrefslogtreecommitdiff
path: root/src/levelspecial.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/levelspecial.cpp')
-rw-r--r--src/levelspecial.cpp39
1 files changed, 34 insertions, 5 deletions
diff --git a/src/levelspecial.cpp b/src/levelspecial.cpp
index 245dc87..d92c5ce 100644
--- a/src/levelspecial.cpp
+++ b/src/levelspecial.cpp
@@ -35,6 +35,15 @@ extern float MarioJumpArc;
extern float MiniMarioJumpArc;
extern float MarioSize;
+extern float GlobalSpriteSize;
+extern float GlobalRiderSize;
+extern char SizerOn;
+
+
+float GlobalSizeFloatModifications [] = {1, 0.25, 0.5, 0.75, 1.25, 1.5, 1.75, 2, 2.5, 3, 4, 5, 6, 7, 8, 10 };
+float GlobalRiderFloatModifications [] = {1, 0.6, 0.7, 0.9, 1, 1, 1, 1.1, 1.25, 1.5, 2, 2.5, 3, 3.5, 4, 5};
+
+
extern "C" void GetSpecificPlayerActor(int number);
void LevelSpecial_Update(LevelSpecial *self);
@@ -55,6 +64,9 @@ bool ResetAfterLevel(void) {
MarioJumpArc = 2.5;
MiniMarioJumpArc = 2.5;
MarioSize = 1.0;
+ GlobalSpriteSize = 1.0;
+ GlobalRiderSize = 1.0;
+ SizerOn = 0;
return true;
}
@@ -133,6 +145,18 @@ void LevelSpecial_Update(LevelSpecial *self) {
else //Half-Pint
MarioSize = 0.25;
break;
+
+
+ case 5: // Global Enemy Size
+ SizerOn = 1;
+
+ GlobalSpriteSize = GlobalSizeFloatModifications[self->effect];
+ GlobalRiderSize = GlobalRiderFloatModifications[self->effect];
+
+
+ case 6: // Individual Enemy Size
+ SizerOn = 1;
+
default:
break;
@@ -165,6 +189,15 @@ void LevelSpecial_Update(LevelSpecial *self) {
MarioSize = 1.0;
break;
+ case 5: // Global Enemy Size
+ SizerOn = 0;
+
+ GlobalSpriteSize = 1.0;
+ GlobalRiderSize = 1.0;
+
+ case 6: // Individual Enemy Size
+ SizerOn = 0;
+
default:
break;
}
@@ -178,8 +211,4 @@ void LevelSpecial_Update(LevelSpecial *self) {
self->lastEvState = newEvState;
-}
-
-
-
-
+}