Files
Shiip-of-Hakinian-Espanol/soh/soh/Enhancements/Cheats/Infinite/Magic.cpp
2025-06-29 18:21:47 -07:00

26 lines
772 B
C++

#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
#include "soh/ShipInit.hpp"
extern "C" {
#include "z64save.h"
extern SaveContext gSaveContext;
}
#define CVAR_INFINITE_MAGIC_NAME CVAR_CHEAT("InfiniteMagic")
#define CVAR_INFINITE_MAGIC_DEFAULT 0
#define CVAR_INFINITE_MAGIC_VALUE CVarGetInteger(CVAR_INFINITE_MAGIC_NAME, CVAR_INFINITE_MAGIC_DEFAULT)
void OnGameFrameUpdateInfiniteMagic() {
if (!GameInteractor::IsSaveLoaded(true)) {
return;
}
gSaveContext.magic = gSaveContext.magicLevel * MAGIC_NORMAL_METER;
}
void RegisterInfiniteMagic() {
COND_HOOK(OnGameFrameUpdate, CVAR_INFINITE_MAGIC_VALUE, OnGameFrameUpdateInfiniteMagic);
}
static RegisterShipInitFunc initFunc(RegisterInfiniteMagic, { CVAR_INFINITE_MAGIC_NAME });