From 9582598c68853cbc3e3d2a280455bf090e6233ce Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 16 Jun 2025 21:10:47 +0200 Subject: [PATCH] event flag clean-up --- include/event_flag.h | 7 +- include/script_vars_info.h | 14 +- src/data/event_flag.h | 10 +- src/event_flag.c | 283 ++++++++++++++++++------------------- src/main_loops.c | 8 +- src/script_vars_info.c | 164 ++++++++++----------- 6 files changed, 247 insertions(+), 239 deletions(-) diff --git a/include/event_flag.h b/include/event_flag.h index be8dad175..249a24cca 100644 --- a/include/event_flag.h +++ b/include/event_flag.h @@ -39,10 +39,11 @@ u8 MapIdToFriendAreaId(s16 mapId_); // map -> friend area lookup s16 FriendAreaIdToMapId(u8 friendAreaId); // friend area -> map lookup bool8 sub_80026CC(s16 r0); void sub_80026E8(s16 r0, bool8 r1); -bool8 SaveGlobalScriptVars(void *r0); -bool8 RestoreGlobalScriptVars(u8 *r0); +bool8 SaveGlobalScriptVars(void *dest); +bool8 RestoreGlobalScriptVars(u8 *src); // EWRAM -extern u8 gScriptVarBuffer[0x400]; +#define SCRIPT_VAR_BUFFER_LEN 0x400 +extern u8 gScriptVarBuffer[SCRIPT_VAR_BUFFER_LEN]; #endif // GUARD_EVENT_FLAG_H diff --git a/include/script_vars_info.h b/include/script_vars_info.h index 70eb0307e..4d68bc952 100644 --- a/include/script_vars_info.h +++ b/include/script_vars_info.h @@ -3,6 +3,18 @@ #include "constants/event_flag.h" +enum { + SCRIPT_VAR_TYPE_0, // 0 + SCRIPT_VAR_TYPE_BIT, // 1 + SCRIPT_VAR_TYPE_U8, // 2 + SCRIPT_VAR_TYPE_S8, // 3 + SCRIPT_VAR_TYPE_U16, // 4 + SCRIPT_VAR_TYPE_S16, // 5 + SCRIPT_VAR_TYPE_S32, // 6 + SCRIPT_VAR_TYPE_U8_2, // 7 Unused + SCRIPT_VAR_TYPE_SPECIAL, // 8 +}; + // size: 0x10 struct ScriptVarInfo { s16 type; @@ -11,7 +23,7 @@ struct ScriptVarInfo { s16 bitOffset; s16 arrayLen; s16 defaultValue; - char *name; + const char *name; }; extern const struct ScriptVarInfo gScriptVarInfo[SCRIPT_VARS_COUNT]; diff --git a/src/data/event_flag.h b/src/data/event_flag.h index 7d6aa5695..37831a738 100644 --- a/src/data/event_flag.h +++ b/src/data/event_flag.h @@ -1,8 +1,8 @@ static const struct ScriptVarInfo sLocalScriptVarInfo[4] = { - 5, 7, 0, 0, 1, 0, "LOCAL0", - 5, 7, 2, 0, 1, 0, "LOCAL1", - 5, 7, 4, 0, 1, 0, "LOCAL2", - 5, 7, 6, 0, 1, 0, "LOCAL3", + {.type = SCRIPT_VAR_TYPE_S16, 7, 0, 0, 1, 0, "LOCAL0"}, + {.type = SCRIPT_VAR_TYPE_S16, 7, 2, 0, 1, 0, "LOCAL1"}, + {.type = SCRIPT_VAR_TYPE_S16, 7, 4, 0, 1, 0, "LOCAL2"}, + {.type = SCRIPT_VAR_TYPE_S16, 7, 6, 0, 1, 0, "LOCAL3"}, }; struct unkStruct_80B6D90 @@ -99,7 +99,7 @@ struct MapIdToFriendAreaIdStruct u8 friendAreaId; }; -static const struct MapIdToFriendAreaIdStruct sMapIdToFriendAreaIdTable[58] = { +static const struct MapIdToFriendAreaIdStruct sMapIdToFriendAreaIdTable[NUM_FRIEND_AREAS] = { {MAP_FRIEND_AREA_BOUNTIFUL_SEA, BOUNTIFUL_SEA}, {MAP_FRIEND_AREA_TREASURE_SEA, TREASURE_SEA}, {MAP_FRIEND_AREA_SERENE_SEA, SERENE_SEA}, diff --git a/src/event_flag.c b/src/event_flag.c index 4acef5ef2..c73a2792f 100644 --- a/src/event_flag.c +++ b/src/event_flag.c @@ -15,9 +15,10 @@ #include "code_8097670.h" #include "pokemon.h" #include "pokemon_3.h" +#include "ground_place.h" #include "script_vars_info.h" -EWRAM_DATA u8 gScriptVarBuffer[0x400] = {0}; // NDS=020876DC +EWRAM_DATA u8 gScriptVarBuffer[SCRIPT_VAR_BUFFER_LEN] = {0}; // NDS=020876DC #include "data/event_flag.h" @@ -31,69 +32,67 @@ extern void nullsub_128(void); // arm9.bin::0200FF68 void ThoroughlyResetScriptVars(void) { - s32 iVar1; - s32 iVar3; - u16 uVar2; - const struct ScriptVarInfo *puVar1; + s32 i; + s32 bufferId; - for(iVar3 = 0; iVar3 < 0x400; iVar3++) - { - gScriptVarBuffer[iVar3] = 0; - } - - for(iVar1 = 0; iVar1 < 0x51; iVar1 = (iVar1 + 1) * 0x10000 >> 0x10) - { - puVar1 = &gScriptVarInfo[iVar1]; - if (((puVar1->type != 0) && ((puVar1->type != 8)))) { - for (uVar2 = 0; uVar2 < puVar1->arrayLen; uVar2++) { - SetScriptVarArrayValue(NULL, iVar1, uVar2, puVar1->defaultValue); - } + for (bufferId = 0; bufferId < SCRIPT_VAR_BUFFER_LEN; bufferId++) { + gScriptVarBuffer[bufferId] = 0; } - } - ClearScriptVarArray(NULL, CONDITION); - ScenarioCalc(SCENARIO_SELECT,0,0); - ScenarioCalc(SCENARIO_MAIN,0,0); - ScenarioCalc(SCENARIO_SUB1,0,0); - ScenarioCalc(SCENARIO_SUB2,0,0); - ScenarioCalc(SCENARIO_SUB3,0,0); - ScenarioCalc(SCENARIO_SUB4,0,0); - ScenarioCalc(SCENARIO_SUB5,0,0); - ScenarioCalc(SCENARIO_SUB6,0,0); - ScenarioCalc(SCENARIO_SUB7,0,0); - ScenarioCalc(SCENARIO_SUB8,0,0); - ScenarioCalc(SCENARIO_SUB9,0,0); - SetScriptVarValue(NULL,GROUND_ENTER,0xa2); - SetScriptVarValue(NULL,GROUND_ENTER_LINK,0); - SetScriptVarValue(NULL,GROUND_GETOUT,0xa2); - SetScriptVarValue(NULL,GROUND_MAP,-1); - SetScriptVarValue(NULL,GROUND_PLACE,0x24); - SetScriptVarValue(NULL,DUNGEON_SELECT,-1); - SetScriptVarValue(NULL,DUNGEON_ENTER,0); - SetScriptVarValue(NULL,DUNGEON_ENTER_INDEX,-1); - SetScriptVarValue(NULL,DUNGEON_RESULT,0); - SetScriptVarValue(NULL,START_MODE,0); - SetScriptVarValue(NULL,CLEAR_COUNT,0); - SetScriptVarValue(NULL,WEATHER_KIND,-1); - SetScriptVarValue(NULL,PLAYER_KIND,0); - SetScriptVarValue(NULL,PARTNER1_KIND,0); - SetScriptVarValue(NULL,PARTNER2_KIND,0); - SetScriptVarValue(NULL,NEW_FRIEND_KIND,0); - ClearScriptVarArray(NULL,WARP_LIST); - SetScriptVarValue(NULL,WARP_LOCK,0); - SetScriptVarValue(NULL,PARTNER_TALK_KIND,0); - SetScriptVarValue(NULL,BASE_KIND,0); - SetScriptVarValue(NULL,BASE_LEVEL,0); - SetScriptVarValue(NULL,FLAG_KIND,0); - SetScriptVarValue(NULL,FLAG_KIND_CHANGE_REQUEST,0); - ClearScriptVarArray(NULL,RESCUE_SCENARIO_ORDER_LIST); - ClearScriptVarArray(NULL,RESCUE_SCENARIO_JOB_LIST); - ClearScriptVarArray(NULL,RESCUE_SCENARIO_CONQUEST_LIST); - ClearScriptVarArray(NULL,TRAINING_CONQUEST_LIST); - ClearScriptVarArray(NULL,TRAINING_PRESENT_LIST); - ClearScriptVarArray(NULL,DUNGEON_ENTER_LIST); - ClearScriptVarArray(NULL,DUNGEON_CLEAR_LIST); - ClearScriptVarArray(NULL,EVENT_S08E01); - sub_80972F4(); + + // Doesn't touch the last var SUM + for (i = 0; i < SCRIPT_VARS_COUNT - 1; i = (s16) (i + 1)) { + const struct ScriptVarInfo *varInfo = &gScriptVarInfo[i]; + if (varInfo->type != SCRIPT_VAR_TYPE_0 && varInfo->type != SCRIPT_VAR_TYPE_SPECIAL) { + u16 j; + for (j = 0; j < varInfo->arrayLen; j++) { + SetScriptVarArrayValue(NULL, i, j, varInfo->defaultValue); + } + } + } + ClearScriptVarArray(NULL, CONDITION); + ScenarioCalc(SCENARIO_SELECT,0,0); + ScenarioCalc(SCENARIO_MAIN,0,0); + ScenarioCalc(SCENARIO_SUB1,0,0); + ScenarioCalc(SCENARIO_SUB2,0,0); + ScenarioCalc(SCENARIO_SUB3,0,0); + ScenarioCalc(SCENARIO_SUB4,0,0); + ScenarioCalc(SCENARIO_SUB5,0,0); + ScenarioCalc(SCENARIO_SUB6,0,0); + ScenarioCalc(SCENARIO_SUB7,0,0); + ScenarioCalc(SCENARIO_SUB8,0,0); + ScenarioCalc(SCENARIO_SUB9,0,0); + SetScriptVarValue(NULL,GROUND_ENTER,MAP_PERSONALITY_TEST_CYAN); + SetScriptVarValue(NULL,GROUND_ENTER_LINK,0); + SetScriptVarValue(NULL,GROUND_GETOUT,0xa2); + SetScriptVarValue(NULL,GROUND_MAP,-1); + SetScriptVarValue(NULL,GROUND_PLACE,GROUND_PLACE_NEW_GAME); + SetScriptVarValue(NULL,DUNGEON_SELECT,-1); + SetScriptVarValue(NULL,DUNGEON_ENTER,0); + SetScriptVarValue(NULL,DUNGEON_ENTER_INDEX,-1); + SetScriptVarValue(NULL,DUNGEON_RESULT,0); + SetScriptVarValue(NULL,START_MODE,0); + SetScriptVarValue(NULL,CLEAR_COUNT,0); + SetScriptVarValue(NULL,WEATHER_KIND,-1); + SetScriptVarValue(NULL,PLAYER_KIND,0); + SetScriptVarValue(NULL,PARTNER1_KIND,0); + SetScriptVarValue(NULL,PARTNER2_KIND,0); + SetScriptVarValue(NULL,NEW_FRIEND_KIND,0); + ClearScriptVarArray(NULL,WARP_LIST); + SetScriptVarValue(NULL,WARP_LOCK,0); + SetScriptVarValue(NULL,PARTNER_TALK_KIND,0); + SetScriptVarValue(NULL,BASE_KIND,0); + SetScriptVarValue(NULL,BASE_LEVEL,0); + SetScriptVarValue(NULL,FLAG_KIND,0); + SetScriptVarValue(NULL,FLAG_KIND_CHANGE_REQUEST,0); + ClearScriptVarArray(NULL,RESCUE_SCENARIO_ORDER_LIST); + ClearScriptVarArray(NULL,RESCUE_SCENARIO_JOB_LIST); + ClearScriptVarArray(NULL,RESCUE_SCENARIO_CONQUEST_LIST); + ClearScriptVarArray(NULL,TRAINING_CONQUEST_LIST); + ClearScriptVarArray(NULL,TRAINING_PRESENT_LIST); + ClearScriptVarArray(NULL,DUNGEON_ENTER_LIST); + ClearScriptVarArray(NULL,DUNGEON_CLEAR_LIST); + ClearScriptVarArray(NULL,EVENT_S08E01); + sub_80972F4(); } #if (GAME_VERSION == VERSION_RED) @@ -110,11 +109,11 @@ void ResetScriptVarArray(u8 *localVarBuf, s16 varId_) u16 i; s32 varId = varId_; - if (varId < 0x400) { + if (varId < LOCAL0) { infoPtr = &gScriptVarInfo[varId]; } else { - infoPtr = &sLocalScriptVarInfo[varId - 0x400]; + infoPtr = &sLocalScriptVarInfo[varId - LOCAL0]; } for (i = 0; i < infoPtr->arrayLen; i++) { @@ -129,11 +128,11 @@ void ClearScriptVarArray(u8 *localVarBuf, s16 varId_) u16 i; s32 varId = varId_; - if (varId < 0x400) { + if (varId < LOCAL0) { infoPtr = &gScriptVarInfo[varId]; } else { - infoPtr = &sLocalScriptVarInfo[varId - 0x400]; + infoPtr = &sLocalScriptVarInfo[varId - LOCAL0]; } for (i = 0; i < infoPtr->arrayLen; i++) { @@ -147,13 +146,13 @@ void GetScriptVarRef(struct ScriptVarPtr *out, u8 *localVarBuf, s32 varId_) const struct ScriptVarInfo *infoPtr; s32 varId = (s16) varId_; - if (varId < 0x400) { + if (varId < LOCAL0) { infoPtr = &gScriptVarInfo[varId]; out->info = infoPtr; out->ptr = &gScriptVarBuffer[infoPtr->bufOffset]; } else { - infoPtr = &sLocalScriptVarInfo[varId - 0x400]; + infoPtr = &sLocalScriptVarInfo[varId - LOCAL0]; out->info = infoPtr; out->ptr = &localVarBuf[infoPtr->bufOffset * 4]; } @@ -168,33 +167,33 @@ s32 GetScriptVarValue(u8 *localVarBuf, s32 varId_) GetScriptVarRef(&sp, localVarBuf, varId); switch (sp.info->type) { - case 1: { + case SCRIPT_VAR_TYPE_BIT: { s32 bitOffset = sp.info->bitOffset; u8 a = 1 << bitOffset; return (*sp.ptr & a) != FALSE; // Read bit-packed bool flag } - case 2: - case 7: + case SCRIPT_VAR_TYPE_U8: + case SCRIPT_VAR_TYPE_U8_2: return *((u8 *)sp.ptr); - case 3: + case SCRIPT_VAR_TYPE_S8: return *((s8 *)sp.ptr); - case 4: + case SCRIPT_VAR_TYPE_U16: return *((u16 *)sp.ptr); - case 5: + case SCRIPT_VAR_TYPE_S16: return *((s16 *)sp.ptr); - case 6: - return *((u32 *)sp.ptr); - case 8: + case SCRIPT_VAR_TYPE_S32: + return *((s32 *)sp.ptr); + case SCRIPT_VAR_TYPE_SPECIAL: switch ((s16)varId) { - case 23: + case SCRIPT_MODE: return GetScriptMode() != FALSE; - case 32: + case FRIEND_SUM: return GetFriendSum_808D480(); - case 33: + case UNIT_SUM: return GetUnitSum_808D544(0); - case 34: + case GOLD: return gTeamInventoryRef->teamMoney; - case 35: + case BANK_GOLD: return gTeamInventoryRef->teamSavings; } default: @@ -212,35 +211,35 @@ s32 GetScriptVarArrayValue(u8 *localVarBuf, s32 varId_, s32 idx_) GetScriptVarRef(&sp, localVarBuf, varId); switch (sp.info->type) { - case 1: { + case SCRIPT_VAR_TYPE_BIT: { s32 bitOffset = (u16) sp.info->bitOffset; u16 flagNum = idx + bitOffset; u8 *a = &sp.ptr[flagNum / 8]; u8 b = 1 << (flagNum % 8); return (*a & b) != FALSE; // Read bit-packed bool flag } - case 2: - case 7: + case SCRIPT_VAR_TYPE_U8: + case SCRIPT_VAR_TYPE_U8_2: return ((u8 *)sp.ptr)[idx]; - case 3: + case SCRIPT_VAR_TYPE_S8: return ((s8 *)sp.ptr)[idx]; - case 4: + case SCRIPT_VAR_TYPE_U16: return ((u16 *)sp.ptr)[idx]; - case 5: + case SCRIPT_VAR_TYPE_S16: return ((s16 *)sp.ptr)[idx]; - case 6: + case SCRIPT_VAR_TYPE_S32: return ((u32 *)sp.ptr)[idx]; - case 8: + case SCRIPT_VAR_TYPE_SPECIAL: switch ((s16)varId) { - case 23: + case SCRIPT_MODE: return GetScriptMode() != FALSE; - case 32: + case FRIEND_SUM: return GetFriendSum_808D480(); - case 33: + case UNIT_SUM: return GetUnitSum_808D544(0); - case 34: + case GOLD: return gTeamInventoryRef->teamMoney; - case 35: + case BANK_GOLD: return gTeamInventoryRef->teamSavings; } default: @@ -258,7 +257,7 @@ void SetScriptVarValue(u8 *localVarBuf, s32 varId_, s32 val) GetScriptVarRef(&sp, localVarBuf, varID); switch (sp.info->type) { - case 1: { + case SCRIPT_VAR_TYPE_BIT: { u8 bVar1 = 1 << sp.info->bitOffset; if (val != 0) @@ -267,37 +266,37 @@ void SetScriptVarValue(u8 *localVarBuf, s32 varId_, s32 val) *sp.ptr = (bVar1 | *sp.ptr) ^ bVar1; break; } - case 2: { - *((s8 *)sp.ptr) = val; - break; - } - case 3: { + case SCRIPT_VAR_TYPE_U8: { *((u8 *)sp.ptr) = val; break; } - case 7: { - *((bool8 *)sp.ptr) = val; + case SCRIPT_VAR_TYPE_S8: { + *((s8 *)sp.ptr) = val; break; } - case 4: { - *((s16 *)sp.ptr) = val; + case SCRIPT_VAR_TYPE_U8_2: { + *((u8 *)sp.ptr) = val; break; } - case 5: { + case SCRIPT_VAR_TYPE_U16: { *((u16 *)sp.ptr) = val; break; } - case 6: { + case SCRIPT_VAR_TYPE_S16: { + *((s16 *)sp.ptr) = val; + break; + } + case SCRIPT_VAR_TYPE_S32: { *((s32 *)sp.ptr) = val; break; } - case 8: { + case SCRIPT_VAR_TYPE_SPECIAL: { switch (varID) { - case 0x22: { + case GOLD: { gTeamInventoryRef->teamMoney = val; break; } - case 0x23: { + case BANK_GOLD: { gTeamInventoryRef->teamSavings = val; break; } @@ -318,7 +317,7 @@ void SetScriptVarArrayValue(u8 *localVarBuf, s32 varId_, s32 idx_, s32 val) GetScriptVarRef(&sp, localVarBuf, varID); switch (sp.info->type) { - case 1: { + case SCRIPT_VAR_TYPE_BIT: { s32 bitOffset = (u16)sp.info->bitOffset; u16 flagNum = idx + bitOffset; u8 *a = &sp.ptr[flagNum / 8]; @@ -329,37 +328,37 @@ void SetScriptVarArrayValue(u8 *localVarBuf, s32 varId_, s32 idx_, s32 val) *a = (bVar1 | *a) ^ bVar1; break; } - case 2: { - ((s8 *)sp.ptr)[idx] = val; - break; - } - case 3: { + case SCRIPT_VAR_TYPE_U8: { ((u8 *)sp.ptr)[idx] = val; break; } - case 7: { - ((bool8 *)sp.ptr)[idx] = val; + case SCRIPT_VAR_TYPE_S8: { + ((s8 *)sp.ptr)[idx] = val; break; } - case 4: { - ((s16 *)sp.ptr)[idx] = val; + case SCRIPT_VAR_TYPE_U8_2: { + ((u8 *)sp.ptr)[idx] = val; break; } - case 5: { + case SCRIPT_VAR_TYPE_U16: { ((u16 *)sp.ptr)[idx] = val; break; } - case 6: { + case SCRIPT_VAR_TYPE_S16: { + ((s16 *)sp.ptr)[idx] = val; + break; + } + case SCRIPT_VAR_TYPE_S32: { ((s32 *)sp.ptr)[idx] = val; break; } - case 8: { + case SCRIPT_VAR_TYPE_SPECIAL: { switch (varID) { - case 0x22: { + case GOLD: { gTeamInventoryRef->teamMoney = val; break; } - case 0x23: { + case BANK_GOLD: { gTeamInventoryRef->teamSavings = val; break; } @@ -369,7 +368,7 @@ void SetScriptVarArrayValue(u8 *localVarBuf, s32 varId_, s32 idx_, s32 val) } #if (GAME_VERSION == VERSION_RED) -UNUSED u8 *GetScriptVarPointer(s16 varId) +UNUSED static u8 *GetScriptVarPointer(s16 varId) { struct ScriptVarPtr local_1c; @@ -377,7 +376,7 @@ UNUSED u8 *GetScriptVarPointer(s16 varId) return local_1c.ptr; } -UNUSED s16 GetScriptVarArrayLength(s16 varId) +UNUSED static s16 GetScriptVarArrayLength(s16 varId) { struct ScriptVarPtr local_1c; @@ -406,7 +405,7 @@ s32 GetScriptVarArraySum(u8 *localVarBuf, s16 varId) } #if (GAME_VERSION == VERSION_RED) -UNUSED void GetScriptVarString(s16 varId, u8 *buf, s32 maxLen) +UNUSED static void GetScriptVarString(s16 varId, u8 *buf, s32 maxLen) { u8 *r1; s32 r2; @@ -423,7 +422,7 @@ UNUSED void GetScriptVarString(s16 varId, u8 *buf, s32 maxLen) *buf = 0; } -UNUSED void ScriptVarStringPopFirstChar(s16 varId,u32 param_2,s32 maxLen) +UNUSED static void ScriptVarStringPopFirstChar(s16 varId,u32 param_2,s32 maxLen) { u8 *r1; s32 r2; @@ -776,7 +775,7 @@ bool8 JudgeVarWithVar(u8 *param_1, s16 param_2, s16 param_3, enum FlagJudgeOpera } #if (GAME_VERSION == VERSION_RED) -UNUSED s32 sub_8002354(u32 param_1) +UNUSED static s32 sub_8002354(u32 param_1) { if (param_1 < 0x3b) { return gUnknown_80B6D90[param_1].num; @@ -786,7 +785,7 @@ UNUSED s32 sub_8002354(u32 param_1) } } -UNUSED const u8 *sub_8002374(u32 param_1) +UNUSED static const u8 *sub_8002374(u32 param_1) { if (param_1 < 0x3b) { return gUnknown_80B6D90[param_1].text; @@ -796,7 +795,7 @@ UNUSED const u8 *sub_8002374(u32 param_1) } } -UNUSED const u8 *sub_8002394(u32 param_1) +UNUSED static const u8 *sub_8002394(u32 param_1) { if (param_1 - 0x12 < 9) { return gUnknown_80B714C[param_1 - 0x12]; @@ -809,7 +808,7 @@ UNUSED const u8 *sub_8002394(u32 param_1) } } -UNUSED const u8 *sub_80023C4(u32 param_1) +UNUSED static const u8 *sub_80023C4(u32 param_1) { if (param_1 < 4) { return gUnknown_80B71A0[param_1]; // CISTART, CECONTINUE, CNLAST, CWEND @@ -934,40 +933,36 @@ void sub_80026E8(s16 r0, bool8 r1) } // arm9.bin::0200E544 -bool8 SaveGlobalScriptVars(void *r0) +bool8 SaveGlobalScriptVars(void *dest) { - MemoryCopy8(r0, gScriptVarBuffer, 0x400); + MemoryCopy8(dest, gScriptVarBuffer, SCRIPT_VAR_BUFFER_LEN); return TRUE; } // arm9.bin::0200E4DC -bool8 RestoreGlobalScriptVars(u8 *r0) +bool8 RestoreGlobalScriptVars(u8 *src) { struct ScriptVarPtr temp; GetScriptVarRef(&temp, NULL, VERSION); - MemoryCopy8(gScriptVarBuffer, r0, 0x400); + MemoryCopy8(gScriptVarBuffer, src, SCRIPT_VAR_BUFFER_LEN); if (temp.info->defaultValue != *(u32 *)temp.ptr) return FALSE; return TRUE; } #if (GAME_VERSION == VERSION_RED) -UNUSED void SetConditionBit(s32 r0) +UNUSED static void SetConditionBit(s32 r0) { UpdateScriptVarWithImmediate(NULL, CONDITION, r0, CALC_SETBIT); } -UNUSED u8 sub_800276C(void) +UNUSED static u8 sub_800276C(void) { return 0; } -UNUSED void nullsub_140(void) +UNUSED static void nullsub_140(void) { } #endif - - - -// TODO: Merge with main_loops.c (below) and code_8002774.c (above) diff --git a/src/main_loops.c b/src/main_loops.c index 178a4e665..9da3788d7 100644 --- a/src/main_loops.c +++ b/src/main_loops.c @@ -601,15 +601,15 @@ static u32 RunGameMode_Async(u32 a0) ShowFriendAreasMap_Async(&friendAreasSetup); MemoryFree(friendAreasSetup.friendAreasMapPtr); if (friendAreasSetup.chosenAreaId != NUM_FRIEND_AREAS) { - s32 val; + s32 mapId; u32 areaId = friendAreasSetup.chosenAreaId; if (areaId != FRIEND_AREA_NONE) { - val = FriendAreaIdToMapId(areaId); + mapId = FriendAreaIdToMapId(areaId); } else { - val = MAP_TEAM_BASE; + mapId = MAP_TEAM_BASE; } - SetScriptVarValue(NULL,GROUND_ENTER,val); + SetScriptVarValue(NULL,GROUND_ENTER,mapId); SetScriptVarValue(NULL,GROUND_ENTER_LINK,0); } mode = MODE_GROUND; diff --git a/src/script_vars_info.c b/src/script_vars_info.c index c6af05efc..afdf6e565 100644 --- a/src/script_vars_info.c +++ b/src/script_vars_info.c @@ -3,86 +3,86 @@ #include "script_vars_info.h" const struct ScriptVarInfo gScriptVarInfo[SCRIPT_VARS_COUNT] = { - [VERSION] = {6, 2, 0, 0, 1, 29, "VERSION"}, - [CONDITION] = {6, 2, 4, 0, 1, 0, "CONDITION"}, - [SCENARIO_SELECT] = {2, 2, 110, 0, 2, 0, "SCENARIO_SELECT"}, - [SCENARIO_MAIN] = {2, 2, 112, 0, 2, 0, "SCENARIO_MAIN"}, - [SCENARIO_SUB1] = {2, 2, 114, 0, 2, 0, "SCENARIO_SUB1"}, - [SCENARIO_SUB2] = {2, 2, 116, 0, 2, 0, "SCENARIO_SUB2"}, - [SCENARIO_SUB3] = {2, 2, 118, 0, 2, 0, "SCENARIO_SUB3"}, - [SCENARIO_SUB4] = {2, 2, 120, 0, 2, 0, "SCENARIO_SUB4"}, - [SCENARIO_SUB5] = {2, 2, 122, 0, 2, 0, "SCENARIO_SUB5"}, - [SCENARIO_SUB6] = {2, 2, 124, 0, 2, 0, "SCENARIO_SUB6"}, - [SCENARIO_SUB7] = {2, 2, 126, 0, 2, 0, "SCENARIO_SUB7"}, - [SCENARIO_SUB8] = {2, 2, 128, 0, 2, 0, "SCENARIO_SUB8"}, - [SCENARIO_SUB9] = {2, 2, 130, 0, 2, 0, "SCENARIO_SUB9"}, - [GROUND_ENTER] = {5, 2, 44, 0, 1, 0, "GROUND_ENTER"}, - [GROUND_ENTER_LINK] = {2, 2, 132, 0, 1, 0, "GROUND_ENTER_LINK"}, - [GROUND_GETOUT] = {5, 2, 46, 0, 1, 0, "GROUND_GETOUT"}, - [GROUND_MAP] = {5, 2, 48, 0, 1, 0, "GROUND_MAP"}, - [GROUND_PLACE] = {5, 2, 50, 0, 1, 0, "GROUND_PLACE"}, - [DUNGEON_SELECT] = {5, 2, 52, 0, 1, 0, "DUNGEON_SELECT"}, - [DUNGEON_ENTER] = {5, 2, 54, 0, 1, 0, "DUNGEON_ENTER"}, - [DUNGEON_ENTER_INDEX] = {5, 2, 56, 0, 1, 0, "DUNGEON_ENTER_INDEX"}, - [DUNGEON_ENTER_FREQUENCY] = {4, 2, 94, 0, 1, 0, "DUNGEON_ENTER_FREQUENCY"}, - [DUNGEON_RESULT] = {2, 2, 133, 0, 1, 0, "DUNGEON_RESULT"}, - [SCRIPT_MODE] = {8, 2, 0, 0, 1, 0, "SCRIPT_MODE"}, - [START_MODE] = {2, 2, 134, 0, 1, 0, "START_MODE"}, - [CLEAR_COUNT] = {2, 2, 135, 0, 1, 0, "CLEAR_COUNT"}, - [CONDITION_KIND] = {2, 2, 136, 0, 1, 0, "CONDITION_KIND"}, - [WEATHER_KIND] = {3, 2, 96, 0, 1, 0, "WEATHER_KIND"}, - [PLAYER_KIND] = {2, 2, 137, 0, 1, 0, "PLAYER_KIND"}, - [PARTNER1_KIND] = {2, 2, 138, 0, 1, 0, "PARTNER1_KIND"}, - [PARTNER2_KIND] = {2, 2, 139, 0, 1, 0, "PARTNER2_KIND"}, - [NEW_FRIEND_KIND] = {5, 2, 58, 0, 1, 0, "NEW_FRIEND_KIND"}, - [FRIEND_SUM] = {8, 2, 0, 0, 1, 0, "FRIEND_SUM"}, - [UNIT_SUM] = {8, 2, 0, 0, 1, 0, "UNIT_SUM"}, - [GOLD] = {8, 2, 0, 0, 1, 0, "GOLD"}, - [BANK_GOLD] = {8, 2, 0, 0, 1, 0, "BANK_GOLD"}, - [WARP_LIST] = {1, 2, 140, 0, 16, 0, "WARP_LIST"}, - [WARP_LOCK] = {3, 2, 97, 0, 1, 0, "WARP_LOCK"}, - [PARTNER_TALK_KIND] = {3, 2, 98, 0, 1, 0, "PARTNER_TALK_KIND"}, - [BASE_KIND] = {3, 2, 99, 0, 1, 0, "BASE_KIND"}, - [BASE_LEVEL] = {3, 2, 100, 0, 1, 0, "BASE_LEVEL"}, - [FLAG_KIND] = {3, 2, 101, 0, 1, 0, "FLAG_KIND"}, - [FLAG_KIND_CHANGE_REQUEST] = {3, 2, 102, 0, 1, 0, "FLAG_KIND_CHANGE_REQUEST"}, - [RESCUE_SCENARIO_ORDER_LIST] = {1, 2, 142, 0, 64, 0, "RESCUE_SCENARIO_ORDER_LIST"}, - [RESCUE_SCENARIO_JOB_LIST] = {1, 2, 150, 0, 64, 0, "RESCUE_SCENARIO_JOB_LIST"}, - [RESCUE_SCENARIO_CONQUEST_LIST] = {1, 2, 158, 0, 64, 0, "RESCUE_SCENARIO_CONQUEST_LIST"}, - [TRAINING_CONQUEST_LIST] = {1, 2, 166, 0, 32, 0, "TRAINING_CONQUEST_LIST"}, - [TRAINING_PRESENT_LIST] = {1, 2, 170, 0, 32, 0, "TRAINING_PRESENT_LIST"}, - [DUNGEON_ENTER_LIST] = {1, 2, 174, 0, 96, 0, "DUNGEON_ENTER_LIST"}, - [DUNGEON_CLEAR_LIST] = {1, 2, 186, 0, 96, 0, "DUNGEON_CLEAR_LIST"}, - [POSITION_X] = {6, 2, 8, 0, 3, 0, "POSITION_X"}, - [POSITION_Y] = {6, 2, 20, 0, 3, 0, "POSITION_Y"}, - [POSITION_HEIGHT] = {6, 2, 32, 0, 3, 0, "POSITION_HEIGHT"}, - [POSITION_DIRECTION] = {3, 2, 103, 0, 3, 0, "POSITION_DIRECTION"}, - [GROUND_LOCAL] = {5, 5, 60, 0, 1, 0, "GROUND_LOCAL"}, - [MAP_LOCAL] = {5, 5, 62, 0, 1, 0, "MAP_LOCAL"}, - [MAP_LOCAL_DOOR] = {1, 5, 198, 0, 8, 0, "MAP_LOCAL_DOOR"}, - [EVENT_LOCAL] = {5, 5, 64, 0, 1, 0, "EVENT_LOCAL"}, - [STATION_ITEM_STATIC] = {1, 5, 199, 0, 32, 0, "STATION_ITEM_STATIC"}, - [STATION_ITEM_TEMP] = {1, 5, 203, 0, 32, 0, "STATION_ITEM_TEMP"}, - [DELIVER_ITEM_STATIC] = {1, 5, 207, 0, 16, 0, "DELIVER_ITEM_STATIC"}, - [DELIVER_ITEM_TEMP] = {1, 5, 209, 0, 16, 0, "DELIVER_ITEM_TEMP"}, - [SHOP_TEMP] = {5, 5, 66, 0, 8, 0, "SHOP_TEMP"}, - [INN_TEMP] = {1, 5, 211, 0, 16, 0, "INN_TEMP"}, - [EVENT_S07E01] = {1, 6, 213, 0, 16, 0, "EVENT_S07E01"}, - [EVENT_S08E01] = {5, 6, 82, 0, 2, 0, "EVENT_S08E01"}, - [EVENT_GONBE] = {5, 6, 86, 0, 4, 0, "EVENT_GONBE"}, - [EVENT_ORNAMENT_01] = {3, 6, 106, 0, 1, 0, "EVENT_ORNAMENT_01"}, - [EVENT_ORNAMENT_02] = {3, 6, 107, 0, 1, 0, "EVENT_ORNAMENT_02"}, - [EVENT_ORNAMENT_03] = {3, 6, 108, 0, 1, 0, "EVENT_ORNAMENT_03"}, - [EVENT_ORNAMENT_04] = {3, 6, 109, 0, 1, 0, "EVENT_ORNAMENT_04"}, - [EVENT_B01P01] = {1, 6, 215, 0, 16, 0, "EVENT_B01P01"}, - [EVENT_T01P01] = {1, 6, 217, 0, 16, 0, "EVENT_T01P01"}, - [EVENT_T01P02] = {1, 6, 219, 0, 16, 0, "EVENT_T01P02"}, - [EVENT_T01P03] = {1, 6, 221, 0, 16, 0, "EVENT_T01P03"}, - [EVENT_M01E09A_2N] = {1, 6, 223, 0, 8, 0, "EVENT_M01E09A_2N"}, - [EVENT_M01E09A_8N] = {1, 6, 224, 0, 8, 0, "EVENT_M01E09A_8N"}, - [EVENT_M01E10A_1N] = {1, 6, 225, 0, 8, 0, "EVENT_M01E10A_1N"}, - [EVENT_M01E10A_3N] = {1, 6, 226, 0, 8, 0, "EVENT_M01E10A_3N"}, - [EVENT_M01E10A_5N] = {1, 6, 227, 0, 8, 0, "EVENT_M01E10A_5N"}, - [EVENT_M02E01A_2N] = {1, 6, 228, 0, 8, 0, "EVENT_M02E01A_2N"}, - [SUM] = {0, 0, 229, 0, 0, 0, "SUM"}, + [VERSION] = {.type = SCRIPT_VAR_TYPE_S32, 2, 0, 0, 1, 29, "VERSION"}, + [CONDITION] = {.type = SCRIPT_VAR_TYPE_S32, 2, 4, 0, 1, 0, "CONDITION"}, + [SCENARIO_SELECT] = {.type = SCRIPT_VAR_TYPE_U8, 2, 110, 0, 2, 0, "SCENARIO_SELECT"}, + [SCENARIO_MAIN] = {.type = SCRIPT_VAR_TYPE_U8, 2, 112, 0, 2, 0, "SCENARIO_MAIN"}, + [SCENARIO_SUB1] = {.type = SCRIPT_VAR_TYPE_U8, 2, 114, 0, 2, 0, "SCENARIO_SUB1"}, + [SCENARIO_SUB2] = {.type = SCRIPT_VAR_TYPE_U8, 2, 116, 0, 2, 0, "SCENARIO_SUB2"}, + [SCENARIO_SUB3] = {.type = SCRIPT_VAR_TYPE_U8, 2, 118, 0, 2, 0, "SCENARIO_SUB3"}, + [SCENARIO_SUB4] = {.type = SCRIPT_VAR_TYPE_U8, 2, 120, 0, 2, 0, "SCENARIO_SUB4"}, + [SCENARIO_SUB5] = {.type = SCRIPT_VAR_TYPE_U8, 2, 122, 0, 2, 0, "SCENARIO_SUB5"}, + [SCENARIO_SUB6] = {.type = SCRIPT_VAR_TYPE_U8, 2, 124, 0, 2, 0, "SCENARIO_SUB6"}, + [SCENARIO_SUB7] = {.type = SCRIPT_VAR_TYPE_U8, 2, 126, 0, 2, 0, "SCENARIO_SUB7"}, + [SCENARIO_SUB8] = {.type = SCRIPT_VAR_TYPE_U8, 2, 128, 0, 2, 0, "SCENARIO_SUB8"}, + [SCENARIO_SUB9] = {.type = SCRIPT_VAR_TYPE_U8, 2, 130, 0, 2, 0, "SCENARIO_SUB9"}, + [GROUND_ENTER] = {.type = SCRIPT_VAR_TYPE_S16, 2, 44, 0, 1, 0, "GROUND_ENTER"}, + [GROUND_ENTER_LINK] = {.type = SCRIPT_VAR_TYPE_U8, 2, 132, 0, 1, 0, "GROUND_ENTER_LINK"}, + [GROUND_GETOUT] = {.type = SCRIPT_VAR_TYPE_S16, 2, 46, 0, 1, 0, "GROUND_GETOUT"}, + [GROUND_MAP] = {.type = SCRIPT_VAR_TYPE_S16, 2, 48, 0, 1, 0, "GROUND_MAP"}, + [GROUND_PLACE] = {.type = SCRIPT_VAR_TYPE_S16, 2, 50, 0, 1, 0, "GROUND_PLACE"}, + [DUNGEON_SELECT] = {.type = SCRIPT_VAR_TYPE_S16, 2, 52, 0, 1, 0, "DUNGEON_SELECT"}, + [DUNGEON_ENTER] = {.type = SCRIPT_VAR_TYPE_S16, 2, 54, 0, 1, 0, "DUNGEON_ENTER"}, + [DUNGEON_ENTER_INDEX] = {.type = SCRIPT_VAR_TYPE_S16, 2, 56, 0, 1, 0, "DUNGEON_ENTER_INDEX"}, + [DUNGEON_ENTER_FREQUENCY] = {.type = SCRIPT_VAR_TYPE_U16, 2, 94, 0, 1, 0, "DUNGEON_ENTER_FREQUENCY"}, + [DUNGEON_RESULT] = {.type = SCRIPT_VAR_TYPE_U8, 2, 133, 0, 1, 0, "DUNGEON_RESULT"}, + [SCRIPT_MODE] = {.type = SCRIPT_VAR_TYPE_SPECIAL, 2, 0, 0, 1, 0, "SCRIPT_MODE"}, + [START_MODE] = {.type = SCRIPT_VAR_TYPE_U8, 2, 134, 0, 1, 0, "START_MODE"}, + [CLEAR_COUNT] = {.type = SCRIPT_VAR_TYPE_U8, 2, 135, 0, 1, 0, "CLEAR_COUNT"}, + [CONDITION_KIND] = {.type = SCRIPT_VAR_TYPE_U8, 2, 136, 0, 1, 0, "CONDITION_KIND"}, + [WEATHER_KIND] = {.type = SCRIPT_VAR_TYPE_S8, 2, 96, 0, 1, 0, "WEATHER_KIND"}, + [PLAYER_KIND] = {.type = SCRIPT_VAR_TYPE_U8, 2, 137, 0, 1, 0, "PLAYER_KIND"}, + [PARTNER1_KIND] = {.type = SCRIPT_VAR_TYPE_U8, 2, 138, 0, 1, 0, "PARTNER1_KIND"}, + [PARTNER2_KIND] = {.type = SCRIPT_VAR_TYPE_U8, 2, 139, 0, 1, 0, "PARTNER2_KIND"}, + [NEW_FRIEND_KIND] = {.type = SCRIPT_VAR_TYPE_S16, 2, 58, 0, 1, 0, "NEW_FRIEND_KIND"}, + [FRIEND_SUM] = {.type = SCRIPT_VAR_TYPE_SPECIAL, 2, 0, 0, 1, 0, "FRIEND_SUM"}, + [UNIT_SUM] = {.type = SCRIPT_VAR_TYPE_SPECIAL, 2, 0, 0, 1, 0, "UNIT_SUM"}, + [GOLD] = {.type = SCRIPT_VAR_TYPE_SPECIAL, 2, 0, 0, 1, 0, "GOLD"}, + [BANK_GOLD] = {.type = SCRIPT_VAR_TYPE_SPECIAL, 2, 0, 0, 1, 0, "BANK_GOLD"}, + [WARP_LIST] = {.type = SCRIPT_VAR_TYPE_BIT, 2, 140, 0, 16, 0, "WARP_LIST"}, + [WARP_LOCK] = {.type = SCRIPT_VAR_TYPE_S8, 2, 97, 0, 1, 0, "WARP_LOCK"}, + [PARTNER_TALK_KIND] = {.type = SCRIPT_VAR_TYPE_S8, 2, 98, 0, 1, 0, "PARTNER_TALK_KIND"}, + [BASE_KIND] = {.type = SCRIPT_VAR_TYPE_S8, 2, 99, 0, 1, 0, "BASE_KIND"}, + [BASE_LEVEL] = {.type = SCRIPT_VAR_TYPE_S8, 2, 100, 0, 1, 0, "BASE_LEVEL"}, + [FLAG_KIND] = {.type = SCRIPT_VAR_TYPE_S8, 2, 101, 0, 1, 0, "FLAG_KIND"}, + [FLAG_KIND_CHANGE_REQUEST] = {.type = SCRIPT_VAR_TYPE_S8, 2, 102, 0, 1, 0, "FLAG_KIND_CHANGE_REQUEST"}, + [RESCUE_SCENARIO_ORDER_LIST] = {.type = SCRIPT_VAR_TYPE_BIT, 2, 142, 0, 64, 0, "RESCUE_SCENARIO_ORDER_LIST"}, + [RESCUE_SCENARIO_JOB_LIST] = {.type = SCRIPT_VAR_TYPE_BIT, 2, 150, 0, 64, 0, "RESCUE_SCENARIO_JOB_LIST"}, + [RESCUE_SCENARIO_CONQUEST_LIST] = {.type = SCRIPT_VAR_TYPE_BIT, 2, 158, 0, 64, 0, "RESCUE_SCENARIO_CONQUEST_LIST"}, + [TRAINING_CONQUEST_LIST] = {.type = SCRIPT_VAR_TYPE_BIT, 2, 166, 0, 32, 0, "TRAINING_CONQUEST_LIST"}, + [TRAINING_PRESENT_LIST] = {.type = SCRIPT_VAR_TYPE_BIT, 2, 170, 0, 32, 0, "TRAINING_PRESENT_LIST"}, + [DUNGEON_ENTER_LIST] = {.type = SCRIPT_VAR_TYPE_BIT, 2, 174, 0, 96, 0, "DUNGEON_ENTER_LIST"}, + [DUNGEON_CLEAR_LIST] = {.type = SCRIPT_VAR_TYPE_BIT, 2, 186, 0, 96, 0, "DUNGEON_CLEAR_LIST"}, + [POSITION_X] = {.type = SCRIPT_VAR_TYPE_S32, 2, 8, 0, 3, 0, "POSITION_X"}, + [POSITION_Y] = {.type = SCRIPT_VAR_TYPE_S32, 2, 20, 0, 3, 0, "POSITION_Y"}, + [POSITION_HEIGHT] = {.type = SCRIPT_VAR_TYPE_S32, 2, 32, 0, 3, 0, "POSITION_HEIGHT"}, + [POSITION_DIRECTION] = {.type = SCRIPT_VAR_TYPE_S8, 2, 103, 0, 3, 0, "POSITION_DIRECTION"}, + [GROUND_LOCAL] = {.type = SCRIPT_VAR_TYPE_S16, 5, 60, 0, 1, 0, "GROUND_LOCAL"}, + [MAP_LOCAL] = {.type = SCRIPT_VAR_TYPE_S16, 5, 62, 0, 1, 0, "MAP_LOCAL"}, + [MAP_LOCAL_DOOR] = {.type = SCRIPT_VAR_TYPE_BIT, 5, 198, 0, 8, 0, "MAP_LOCAL_DOOR"}, + [EVENT_LOCAL] = {.type = SCRIPT_VAR_TYPE_S16, 5, 64, 0, 1, 0, "EVENT_LOCAL"}, + [STATION_ITEM_STATIC] = {.type = SCRIPT_VAR_TYPE_BIT, 5, 199, 0, 32, 0, "STATION_ITEM_STATIC"}, + [STATION_ITEM_TEMP] = {.type = SCRIPT_VAR_TYPE_BIT, 5, 203, 0, 32, 0, "STATION_ITEM_TEMP"}, + [DELIVER_ITEM_STATIC] = {.type = SCRIPT_VAR_TYPE_BIT, 5, 207, 0, 16, 0, "DELIVER_ITEM_STATIC"}, + [DELIVER_ITEM_TEMP] = {.type = SCRIPT_VAR_TYPE_BIT, 5, 209, 0, 16, 0, "DELIVER_ITEM_TEMP"}, + [SHOP_TEMP] = {.type = SCRIPT_VAR_TYPE_S16, 5, 66, 0, 8, 0, "SHOP_TEMP"}, + [INN_TEMP] = {.type = SCRIPT_VAR_TYPE_BIT, 5, 211, 0, 16, 0, "INN_TEMP"}, + [EVENT_S07E01] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 213, 0, 16, 0, "EVENT_S07E01"}, + [EVENT_S08E01] = {.type = SCRIPT_VAR_TYPE_S16, 6, 82, 0, 2, 0, "EVENT_S08E01"}, + [EVENT_GONBE] = {.type = SCRIPT_VAR_TYPE_S16, 6, 86, 0, 4, 0, "EVENT_GONBE"}, + [EVENT_ORNAMENT_01] = {.type = SCRIPT_VAR_TYPE_S8, 6, 106, 0, 1, 0, "EVENT_ORNAMENT_01"}, + [EVENT_ORNAMENT_02] = {.type = SCRIPT_VAR_TYPE_S8, 6, 107, 0, 1, 0, "EVENT_ORNAMENT_02"}, + [EVENT_ORNAMENT_03] = {.type = SCRIPT_VAR_TYPE_S8, 6, 108, 0, 1, 0, "EVENT_ORNAMENT_03"}, + [EVENT_ORNAMENT_04] = {.type = SCRIPT_VAR_TYPE_S8, 6, 109, 0, 1, 0, "EVENT_ORNAMENT_04"}, + [EVENT_B01P01] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 215, 0, 16, 0, "EVENT_B01P01"}, + [EVENT_T01P01] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 217, 0, 16, 0, "EVENT_T01P01"}, + [EVENT_T01P02] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 219, 0, 16, 0, "EVENT_T01P02"}, + [EVENT_T01P03] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 221, 0, 16, 0, "EVENT_T01P03"}, + [EVENT_M01E09A_2N] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 223, 0, 8, 0, "EVENT_M01E09A_2N"}, + [EVENT_M01E09A_8N] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 224, 0, 8, 0, "EVENT_M01E09A_8N"}, + [EVENT_M01E10A_1N] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 225, 0, 8, 0, "EVENT_M01E10A_1N"}, + [EVENT_M01E10A_3N] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 226, 0, 8, 0, "EVENT_M01E10A_3N"}, + [EVENT_M01E10A_5N] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 227, 0, 8, 0, "EVENT_M01E10A_5N"}, + [EVENT_M02E01A_2N] = {.type = SCRIPT_VAR_TYPE_BIT, 6, 228, 0, 8, 0, "EVENT_M02E01A_2N"}, + [SUM] = {.type = SCRIPT_VAR_TYPE_0, 0, 229, 0, 0, 0, "SUM"}, };