diff --git a/README.md b/README.md index 12817f23..155ce3b3 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin - exposed ceilings fix - No false ledgegrabs fix * - Jump kick fix * +- 46 degree wallkicks * - Instant Input patch by Wiseguy (Removes all input lag caused by good emulators and plugins) - pole fix - Mario head skip * diff --git a/include/config.h b/include/config.h index b5c7582f..5f392c2a 100644 --- a/include/config.h +++ b/include/config.h @@ -70,6 +70,8 @@ #define NO_FALSE_LEDGEGRABS // Allows Mario to jump kick on steep surfaces that are set to be non slippery, instead of being forced to dive #define JUMP_KICK_FIX +// 46 degree walkicks +//#define WALLKICKS_46_DEGREES // Disables fall damage #define NO_FALL_DAMAGE // Disables the scream that mario makes when falling off a great height (this is separate from actual fall damage) diff --git a/src/game/mario_step.c b/src/game/mario_step.c index 32144f32..7638e59f 100644 --- a/src/game/mario_step.c +++ b/src/game/mario_step.c @@ -9,6 +9,8 @@ #include "interaction.h" #include "mario_step.h" +#include "config.h" + static s16 sMovingSandSpeeds[] = { 12, 8, 4, 0 }; struct Surface gWaterSurfacePseudoFloor = { @@ -490,8 +492,11 @@ s32 perform_air_quarter_step(struct MarioState *m, Vec3f intendedPos, u32 stepAr if (m->wall->type == SURFACE_BURNING) { return AIR_STEP_HIT_LAVA_WALL; } - + #ifdef WALLKICKS_46_DEGREES + if (wallDYaw < -0x5F00 || wallDYaw > 0x5700) { + #else if (wallDYaw < -0x6000 || wallDYaw > 0x6000) { + #endif m->flags |= MARIO_UNKNOWN_30; return AIR_STEP_HIT_WALL; }