Add fire mario mode

This commit is contained in:
2022-11-11 19:47:35 +01:00
parent d89712ebab
commit 3cde73d1ed
7 changed files with 55 additions and 12 deletions
+14 -10
View File
@@ -88,7 +88,8 @@ void Mario::handleVisitor(SDLPP::Visitor &visitor) {
// for some reason falling of the edge causes on_ground to be true, but
// visitor ground_y is 0
if (m_visitor.getGroundY() != 0) {
setPos(getPos().getX(), m_visitor.getGroundY() - getDoubleRect().second.getY());
setPos(getPos().getX(),
m_visitor.getGroundY() - getDoubleRect().second.getY());
}
}
// if we just left ground gravity didn't work in custom_move
@@ -217,15 +218,18 @@ void Mario::setBig() {
setFireFlag();
} else {
setBigFlag();
setSize({BLOCK_SIZE, 2 * BLOCK_SIZE});
setBaseRect(isJumping() ? MARIO_JUMP_BIG_SRC : MARIO_STANDING_BIG_SRC);
setAnimationFrames(MARIO_WALK_BIG_ANIM);
standing_src = &MARIO_STANDING_BIG_SRC;
death_src = &MARIO_DEATH_BIG_SRC;
change_dir_src = &MARIO_CHANGE_DIR_BIG_SRC;
jump_src = &MARIO_JUMP_BIG_SRC;
walk_anim = &MARIO_WALK_BIG_ANIM;
setSize({ BLOCK_SIZE, 2 * BLOCK_SIZE });
}
setBaseRect(isJumping()
? (hasFire() ? MARIO_JUMP_FIRE_SRC : MARIO_JUMP_BIG_SRC)
: (hasFire() ? MARIO_STANDING_FIRE_SRC
: MARIO_STANDING_BIG_SRC));
setAnimationFrames(hasFire() ? MARIO_WALK_FIRE_ANIM : MARIO_WALK_BIG_ANIM);
standing_src = hasFire() ? &MARIO_STANDING_FIRE_SRC : &MARIO_STANDING_BIG_SRC;
death_src = hasFire() ? &MARIO_DEATH_FIRE_SRC : &MARIO_DEATH_BIG_SRC;
change_dir_src = hasFire() ? &MARIO_CHANGE_DIR_FIRE_SRC : &MARIO_CHANGE_DIR_BIG_SRC;
jump_src = hasFire() ? &MARIO_JUMP_FIRE_SRC : &MARIO_JUMP_BIG_SRC;
walk_anim = hasFire() ? &MARIO_WALK_FIRE_ANIM : &MARIO_WALK_BIG_ANIM;
}
void Mario::unsetBig() {
@@ -233,7 +237,7 @@ void Mario::unsetBig() {
unsetFireFlag();
} else {
unsetBigFlag();
setSize({BLOCK_SIZE, BLOCK_SIZE});
setSize({ BLOCK_SIZE, BLOCK_SIZE });
setBaseRect(isJumping() ? MARIO_JUMP_SRC : MARIO_STANDING_SRC);
setAnimationFrames(MARIO_WALK_ANIM);
standing_src = &MARIO_STANDING_SRC;