diff --git a/include/global.h b/include/global.h index 79d2e993e..0f6b0fcc5 100644 --- a/include/global.h +++ b/include/global.h @@ -852,7 +852,9 @@ struct SaveBlock1 #endif //FREE_MYSTERY_GIFT /*0x????*/ u8 dexSeen[DEX_FLAGS_NO]; u8 dexCaught[DEX_FLAGS_NO]; +#if FREE_MYSTERY_EVENT_BUFFERS == FALSE /*0x361C*/ struct RamScript ramScript; +#endif //FREE_MYSTERY_EVENT_BUFFERS /*0x3A08*/ struct RecordMixingGift recordMixingGift; // unused /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH + 1]; /*0x3A54*/ struct FameCheckerSaveData fameChecker[NUM_FAMECHECKER_PERSONS]; diff --git a/src/script.c b/src/script.c index 1f2fe1932..a8b8a5352 100644 --- a/src/script.c +++ b/src/script.c @@ -494,16 +494,23 @@ void TryRunOnWarpIntoMapScript(void) u32 CalculateRamScriptChecksum(void) { +#if FREE_MYSTERY_EVENT_BUFFERS == FALSE return CalcCRC16WithTable((u8 *)(&gSaveBlock1Ptr->ramScript.data), sizeof(gSaveBlock1Ptr->ramScript.data)); +#else + return 0; +#endif //FREE_MYSTERY_EVENT_BUFFERS } void ClearRamScript(void) { +#if FREE_MYSTERY_EVENT_BUFFERS == FALSE CpuFill32(0, &gSaveBlock1Ptr->ramScript, sizeof(struct RamScript)); +#endif //FREE_MYSTERY_EVENT_BUFFERS } bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId) { +#if FREE_MYSTERY_EVENT_BUFFERS == FALSE struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; ClearRamScript(); @@ -518,10 +525,14 @@ bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objec memcpy(scriptData->script, script, scriptSize); gSaveBlock1Ptr->ramScript.checksum = CalculateRamScriptChecksum(); return TRUE; +#else + return FALSE; +#endif //FREE_MYSTERY_EVENT_BUFFERS } const u8 *GetRamScript(u8 objectId, const u8 *script) { +#if FREE_MYSTERY_EVENT_BUFFERS == FALSE struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; gRamScriptRetAddr = NULL; if (scriptData->magic != RAM_SCRIPT_MAGIC) @@ -542,10 +553,14 @@ const u8 *GetRamScript(u8 objectId, const u8 *script) gRamScriptRetAddr = script; return scriptData->script; } +#else + return script; +#endif //FREE_MYSTERY_EVENT_BUFFERS } bool32 ValidateRamScript(void) { +#if FREE_MYSTERY_EVENT_BUFFERS == FALSE struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; if (scriptData->magic != RAM_SCRIPT_MAGIC) return FALSE; @@ -558,10 +573,14 @@ bool32 ValidateRamScript(void) if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum) return FALSE; return TRUE; +#else + return FALSE; +#endif //FREE_MYSTERY_EVENT_BUFFERS } u8 *GetSavedRamScriptIfValid(void) { +#if FREE_MYSTERY_EVENT_BUFFERS == FALSE struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; if (!ValidateSavedWonderCard()) return NULL; @@ -582,13 +601,18 @@ u8 *GetSavedRamScriptIfValid(void) { return scriptData->script; } +#else + return NULL; +#endif //FREE_MYSTERY_EVENT_BUFFERS } void InitRamScript_NoObjectEvent(u8 *script, u16 scriptSize) { +#if FREE_MYSTERY_EVENT_BUFFERS == FALSE if (scriptSize > sizeof(gSaveBlock1Ptr->ramScript.data.script)) scriptSize = sizeof(gSaveBlock1Ptr->ramScript.data.script); InitRamScript(script, scriptSize, MAP_GROUP(UNDEFINED), MAP_NUM(UNDEFINED), 0xFF); +#endif //FREE_MYSTERY_EVENT_BUFFERS } bool8 LoadTrainerObjectScript(void)