2024-04-20 16:20:27 -04:00
|
|
|
#include "MoonJump.h"
|
|
|
|
|
#include <libultraship/bridge.h>
|
|
|
|
|
#include "Enhancements/GameInteractor/GameInteractor.h"
|
|
|
|
|
#include "variables.h"
|
|
|
|
|
|
|
|
|
|
static uint32_t moonJumpOnLGameStateUpdateHookId = 0;
|
|
|
|
|
void RegisterMoonJumpOnL() {
|
|
|
|
|
if (moonJumpOnLGameStateUpdateHookId) {
|
2024-05-22 09:52:56 -04:00
|
|
|
GameInteractor::Instance->UnregisterGameHook<GameInteractor::OnGameStateUpdate>(
|
|
|
|
|
moonJumpOnLGameStateUpdateHookId);
|
2024-04-20 16:20:27 -04:00
|
|
|
moonJumpOnLGameStateUpdateHookId = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CVarGetInteger("gCheats.MoonJumpOnL", 0)) {
|
2024-05-22 09:52:56 -04:00
|
|
|
moonJumpOnLGameStateUpdateHookId =
|
|
|
|
|
GameInteractor::Instance->RegisterGameHook<GameInteractor::OnGameStateUpdate>([]() {
|
|
|
|
|
if (gPlayState == nullptr)
|
|
|
|
|
return;
|
2024-04-20 16:20:27 -04:00
|
|
|
|
2024-05-22 09:52:56 -04:00
|
|
|
Player* player = GET_PLAYER(gPlayState);
|
2024-04-20 16:20:27 -04:00
|
|
|
|
2024-05-22 09:52:56 -04:00
|
|
|
if (CHECK_BTN_ANY(gPlayState->state.input[0].cur.button, BTN_L)) {
|
|
|
|
|
player->actor.velocity.y = 6.34375f;
|
|
|
|
|
}
|
|
|
|
|
});
|
2024-04-20 16:20:27 -04:00
|
|
|
}
|
|
|
|
|
}
|