mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-15 04:25:54 -05:00
event flag clean-up
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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},
|
||||
|
||||
283
src/event_flag.c
283
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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user