Add BETTER_HANGING

This commit is contained in:
Arceveti
2021-09-26 11:21:48 -07:00
parent aa2ebba8dc
commit df165f80c9
7 changed files with 71 additions and 37 deletions

View File

@@ -58,10 +58,6 @@
#endif // DISABLE_EXIT_COURSE
// -- MOVEMENT SETTINGS --
// Change the movement speed when hanging from a ceiling (the vanilla value is 4.f)
#define HANGING_SPEED 12.f
// Makes Mario face the direction of the analog stick directly while hanging from a ceiling, without doing "semicircles"
#define TIGHTER_HANGING_CONTROLS
// Fixes Mario's turn radius by making it dependent on forward speed.
// Modes:
// 0 is vanilla behavior.
@@ -69,6 +65,14 @@
// 2 is similar to mode 1, but a bit further from vanilla, and allows instant turnaround if Mario is moving slower than a certain threshold.
// 3 is instant turning to the intended direction regardless of speed and angle.
#define GROUND_TURN_MODE 0
// Improved hanging:
// - Doesn't require holding down the A button
// - Percise turning control ()
// - Preventis falling from the edges
// (Arceveti)
#define BETTER_HANGING
// Change the movement speed when hanging from a ceiling (the vanilla value is 4.0f, has no effect if BETTER_HANGING is enabled)
#define HANGING_SPEED 12.0f
// 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)
@@ -180,7 +184,7 @@
// Uncomment this define and set a test level in order to boot straight into said level.
// This allows you to quickly test the level you're working on.
// If you want the game to boot normally, just comment out the define again.
//#define TEST_LEVEL LEVEL_BOB
// #define TEST_LEVEL LEVEL_BOB
// Custom debug mode. Press DPAD left to show the debug UI. Press DPAD right to enter the noclip mode.
//#define CUSTOM_DEBUG
// Include Puppyprint, a display library for text and large images. Also includes a custom, enhanced performance profiler.

View File

@@ -83,7 +83,7 @@
#define INPUT_OFF_FLOOR /* 0x0004 */ (1 << 2)
#define INPUT_ABOVE_SLIDE /* 0x0008 */ (1 << 3)
#define INPUT_FIRST_PERSON /* 0x0010 */ (1 << 4)
#define INPUT_UNKNOWN_5 /* 0x0020 */ (1 << 5)
#define INPUT_IDLE /* 0x0020 */ (1 << 5)
#define INPUT_SQUISHED /* 0x0040 */ (1 << 6)
#define INPUT_A_DOWN /* 0x0080 */ (1 << 7)
#define INPUT_IN_POISON_GAS /* 0x0100 */ (1 << 8)