Merge pull request #42 from kafeijao/prevent-hangable-crash

Prevent SURFACE_HANGABLE crashes
This commit is contained in:
Jeremy Burns 2023-03-06 19:27:08 -07:00 committed by GitHub
commit 5206fd298f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -412,8 +412,7 @@ s32 act_start_hanging(struct MarioState *m) {
return set_mario_action(m, ACT_GROUND_POUND, 0);
}
//! Crash if Mario's referenced ceiling is NULL (same for other hanging actions)
if (m->ceil->type != SURFACE_HANGABLE) {
if (m->ceil == NULL || m->ceil->type != SURFACE_HANGABLE) {
return set_mario_action(m, ACT_FREEFALL, 0);
}
@ -441,7 +440,7 @@ s32 act_hanging(struct MarioState *m) {
return set_mario_action(m, ACT_GROUND_POUND, 0);
}
if (m->ceil->type != SURFACE_HANGABLE) {
if (m->ceil == NULL || m->ceil->type != SURFACE_HANGABLE) {
return set_mario_action(m, ACT_FREEFALL, 0);
}
@ -465,7 +464,7 @@ s32 act_hang_moving(struct MarioState *m) {
return set_mario_action(m, ACT_GROUND_POUND, 0);
}
if (m->ceil->type != SURFACE_HANGABLE) {
if (m->ceil == NULL || m->ceil->type != SURFACE_HANGABLE) {
return set_mario_action(m, ACT_FREEFALL, 0);
}