diff options
Diffstat (limited to 'src/levelspecial.cpp')
-rw-r--r-- | src/levelspecial.cpp | 39 |
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;
-}
- -
- - +} |