Document some variables

This commit is contained in:
PikalaxALT
2019-10-22 09:50:49 -04:00
parent ba768c855d
commit d51915bb0d
4 changed files with 105 additions and 71 deletions
+1 -1
View File
@@ -5417,7 +5417,7 @@ sub_80CCFBC: @ 80CCFBC
ldr r0, _080CCFF0 @ =gSaveBlock1Ptr ldr r0, _080CCFF0 @ =gSaveBlock1Ptr
ldr r0, [r0] ldr r0, [r0]
ldrh r1, [r0, 0x4] ldrh r1, [r0, 0x4]
ldr r0, _080CCFF4 @ =0x00003802 ldr r0, _080CCFF4 @ =0x00003802 MAP_BIRTH_ISLAND_EXTERIOR
cmp r1, r0 cmp r1, r0
bne _080CD000 bne _080CD000
adds r0, r2, 0x1 adds r0, r2, 0x1
+2 -2
View File
@@ -11,8 +11,8 @@ BirthIsland_Exterior_MapScript3_165213:: @ 8165213
BirthIsland_Exterior_MapScript1_165217:: @ 8165217 BirthIsland_Exterior_MapScript1_165217:: @ 8165217
setworldmapflag FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR setworldmapflag FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR
setvar VAR_OBJ_GFX_ID_0, MAP_OBJ_GFX_DEOXYS_N setvar VAR_OBJ_GFX_ID_0, MAP_OBJ_GFX_DEOXYS_N
setvar VAR_0x4026, 0 setvar VAR_DEOXYS_INTERACTION_STEP_COUNTER, 0
setvar VAR_0x403E, 0 setvar VAR_DEOXYS_INTERACTION_NUM, 0
checkflag FLAG_FOUGHT_DEOXYS checkflag FLAG_FOUGHT_DEOXYS
call_if TRUE, EventScript_16523C call_if TRUE, EventScript_16523C
checkflag FLAG_FOUGHT_DEOXYS checkflag FLAG_FOUGHT_DEOXYS
+75 -41
View File
@@ -5,46 +5,80 @@
#define VARS_START 0x4000 #define VARS_START 0x4000
#define VAR_0x4000 0x4000 // Temporary variables. Reset on map load.
#define VAR_0x4001 0x4001 #define VAR_0x4000 0x4000
#define VAR_0x4002 0x4002 #define VAR_0x4001 0x4001
#define VAR_0x4003 0x4003 #define VAR_0x4002 0x4002
#define VAR_0x4004 0x4004 #define VAR_0x4003 0x4003
#define VAR_0x4005 0x4005 #define VAR_0x4004 0x4004
#define VAR_0x4006 0x4006 #define VAR_0x4005 0x4005
#define VAR_0x4007 0x4007 #define VAR_0x4006 0x4006
#define VAR_0x4008 0x4008 #define VAR_0x4007 0x4007
#define VAR_0x4009 0x4009 #define VAR_0x4008 0x4008
#define VAR_0x400A 0x400A #define VAR_0x4009 0x4009
#define VAR_0x400B 0x400B #define VAR_0x400A 0x400A
#define VAR_0x400C 0x400C #define VAR_0x400B 0x400B
#define VAR_0x400D 0x400D #define VAR_0x400C 0x400C
#define VAR_0x400E 0x400E #define VAR_0x400D 0x400D
#define VAR_0x400F 0x400F #define VAR_0x400E 0x400E
#define VAR_OBJ_GFX_ID_0 0x4010 #define VAR_0x400F 0x400F
#define VAR_OBJ_GFX_ID_1 0x4011
#define VAR_OBJ_GFX_ID_2 0x4012 // Object event graphics IDs which can be changed by
#define VAR_OBJ_GFX_ID_3 0x4013 // script commands.
#define VAR_OBJ_GFX_ID_4 0x4014 #define VAR_OBJ_GFX_ID_0 0x4010
#define VAR_OBJ_GFX_ID_5 0x4015 #define VAR_OBJ_GFX_ID_1 0x4011
#define VAR_OBJ_GFX_ID_6 0x4016 #define VAR_OBJ_GFX_ID_2 0x4012
#define VAR_OBJ_GFX_ID_7 0x4017 #define VAR_OBJ_GFX_ID_3 0x4013
#define VAR_OBJ_GFX_ID_8 0x4018 #define VAR_OBJ_GFX_ID_4 0x4014
#define VAR_OBJ_GFX_ID_9 0x4019 #define VAR_OBJ_GFX_ID_5 0x4015
#define VAR_OBJ_GFX_ID_A 0x401A #define VAR_OBJ_GFX_ID_6 0x4016
#define VAR_OBJ_GFX_ID_B 0x401B #define VAR_OBJ_GFX_ID_7 0x4017
#define VAR_OBJ_GFX_ID_C 0x401C #define VAR_OBJ_GFX_ID_8 0x4018
#define VAR_OBJ_GFX_ID_D 0x401D #define VAR_OBJ_GFX_ID_9 0x4019
#define VAR_OBJ_GFX_ID_E 0x401E #define VAR_OBJ_GFX_ID_A 0x401A
#define VAR_OBJ_GFX_ID_F 0x401F #define VAR_OBJ_GFX_ID_B 0x401B
#define VAR_REPEL_STEP_COUNT 0x4020 #define VAR_OBJ_GFX_ID_C 0x401C
#define VAR_0x4021 0x4021 #define VAR_OBJ_GFX_ID_D 0x401D
#define VAR_ICE_STEP_COUNT 0x4022 #define VAR_OBJ_GFX_ID_E 0x401E
#define VAR_RENEWABLE_ITEM_STEP_COUNTER 0x4023 #define VAR_OBJ_GFX_ID_F 0x401F
#define VAR_ALTERING_CAVE_WILD_SET 0x4024
#define VAR_MASSAGE_COOLDOWN_STEP_COUNTER 0x4025 // If nonzero, counts down by one every step.
#define VAR_0x4026 0x4026 // When it hits zero, repel's effect wears off.
#define VAR_0x4027 0x4027 #define VAR_REPEL_STEP_COUNT 0x4020
// Counts up every step. Wraps around at 128.
// When wraparound occurs, the friendship of
// every party poke gets a slight boost.
#define VAR_FRIENDSHIP_STEP_COUNT 0x4021
// Maybe unused?
#define VAR_ICE_STEP_COUNT 0x4022
// Step counter. Caps at 1500. If you enter a map with
// renewable hidden items and this counter is capped,
// the counter resets to 0 and all renewable hidden
// item flags are resampled.
#define VAR_RENEWABLE_ITEM_STEP_COUNTER 0x4023
// Determines which wild encounter set to use in the
// Altering Cave. Incremented by Mystery Event.
// Wraps around at 10.
#define VAR_ALTERING_CAVE_WILD_SET 0x4024
// Step counter set to 500 at game start. When you get
// a massage from Daisy, it resets to 0. Caps at 500.
#define VAR_MASSAGE_COOLDOWN_STEP_COUNTER 0x4025
// Step counter. Wraps around at 100. Used to
// determine whether the player has reached the
// triangle in time.
#define VAR_DEOXYS_INTERACTION_STEP_COUNTER 0x4026
// Bits 0-11 are the number of mons in all boxes
// with the species sanity bit set.
// Bits 12-15 are the same for the player's party.
// Used by Quest Log.
#define VAR_QUEST_LOG_MON_COUNTS 0x4027
#define VAR_0x4028 0x4028 #define VAR_0x4028 0x4028
#define VAR_0x4029 0x4029 #define VAR_0x4029 0x4029
#define VAR_HAPPINESS_STEP_COUNTER 0x402A #define VAR_HAPPINESS_STEP_COUNTER 0x402A
@@ -70,7 +104,7 @@
#define VAR_0x403B 0x403B #define VAR_0x403B 0x403B
#define VAR_0x403C 0x403C #define VAR_0x403C 0x403C
#define VAR_0x403D 0x403D #define VAR_0x403D 0x403D
#define VAR_0x403E 0x403E #define VAR_DEOXYS_INTERACTION_NUM 0x403E
#define VAR_0x403F 0x403F #define VAR_0x403F 0x403F
#define VAR_DAYS 0x4040 #define VAR_DAYS 0x4040
#define VAR_0x4041 0x4041 #define VAR_0x4041 0x4041
+27 -27
View File
@@ -129,9 +129,9 @@ static u8 sub_8110E68(struct UnkStruct_203AE98 *);
static void sub_8110F90(u8); static void sub_8110F90(u8);
static void sub_8111150(u8); static void sub_8111150(u8);
static void sub_8111368(void); static void sub_8111368(void);
static void sub_81115E8(void); static void QuestLog_GetSaneMonCounts(void);
static u16 sub_8111618(void); static u16 QuestLog_GetSanePartyCount(void);
static u16 sub_811164C(void); static u16 QuestLog_GetSaneBoxCount(void);
static void sub_8111688(void); static void sub_8111688(void);
static void sub_811175C(u8, struct UnkStruct_203AE98 *); static void sub_811175C(u8, struct UnkStruct_203AE98 *);
static void sub_81118F4(s8); static void sub_81118F4(s8);
@@ -541,7 +541,7 @@ void sub_8110AEC(u16 a0)
gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 2; gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 2;
else else
gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 1; gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 1;
sub_81115E8(); QuestLog_GetSaneMonCounts();
sub_8110BB0(gUnknown_203ADF8); sub_8110BB0(gUnknown_203ADF8);
sub_8110BE8(gUnknown_203ADF8); sub_8110BE8(gUnknown_203ADF8);
sub_8110D94(); sub_8110D94();
@@ -1012,8 +1012,8 @@ void sub_81113E4(void)
struct PokemonAndSomethingElse struct PokemonAndSomethingElse
{ {
struct Pokemon mon; struct Pokemon mon;
u16 unk_64; u16 sanePartyCount;
u16 unk_66; u16 saneBoxesCount;
}; };
void sub_8111438(void) void sub_8111438(void)
@@ -1022,32 +1022,32 @@ void sub_8111438(void)
u16 r0, r3, r5, r6; u16 r0, r3, r5, r6;
CreateMon(&r9->mon, SPECIES_RATTATA, 1, 0x20, FALSE, 0, 0, 0); CreateMon(&r9->mon, SPECIES_RATTATA, 1, 0x20, FALSE, 0, 0, 0);
r0 = VarGet(VAR_0x4027); r0 = VarGet(VAR_QUEST_LOG_MON_COUNTS);
r9->unk_64 = r0 >> 12; r9->sanePartyCount = r0 >> 12;
r9->unk_66 = r0 % 0x1000; r9->saneBoxesCount = r0 % 0x1000;
r5 = sub_8111618(); r5 = QuestLog_GetSanePartyCount();
if (r5 > r9->unk_64) if (r5 > r9->sanePartyCount)
{ {
for (r3 = 0; r3 < r5 - r9->unk_64; r3++) for (r3 = 0; r3 < r5 - r9->sanePartyCount; r3++)
{ {
ZeroMonData(&gPlayerParty[5 - r3]); ZeroMonData(&gPlayerParty[5 - r3]);
} }
} }
else if (r5 < r9->unk_64) else if (r5 < r9->sanePartyCount)
{ {
for (r3 = 0; r3 < 5; r3++) for (r3 = 0; r3 < 5; r3++)
{ {
sub_808BCB4(0, r3); sub_808BCB4(0, r3);
} }
for (r3 = r5; r3 < r9->unk_64; r3++) for (r3 = r5; r3 < r9->sanePartyCount; r3++)
{ {
CopyMon(&gPlayerParty[r3], &r9->mon, sizeof(struct Pokemon)); CopyMon(&gPlayerParty[r3], &r9->mon, sizeof(struct Pokemon));
} }
} }
r5 = sub_811164C(); r5 = QuestLog_GetSaneBoxCount();
if (r5 > r9->unk_66) if (r5 > r9->saneBoxesCount)
{ {
for (r3 = 0; r3 < 14; r3++) for (r3 = 0; r3 < 14; r3++)
{ {
@@ -1057,15 +1057,15 @@ void sub_8111438(void)
{ {
sub_808BCB4(r3, r6); sub_808BCB4(r3, r6);
r5--; r5--;
if (r5 == r9->unk_66) if (r5 == r9->saneBoxesCount)
break; break;
} }
} }
if (r5 == r9->unk_66) if (r5 == r9->saneBoxesCount)
break; break;
} }
} }
else if (r5 < r9->unk_66) else if (r5 < r9->saneBoxesCount)
{ {
for (r3 = 0; r3 < TOTAL_BOXES_COUNT; r3++) for (r3 = 0; r3 < TOTAL_BOXES_COUNT; r3++)
{ {
@@ -1076,11 +1076,11 @@ void sub_8111438(void)
{ {
CopyMon(boxMon, &r9->mon.box, sizeof(struct BoxPokemon)); CopyMon(boxMon, &r9->mon.box, sizeof(struct BoxPokemon));
r5++; r5++;
if (r5 == r9->unk_66) if (r5 == r9->saneBoxesCount)
break; break;
} }
} }
if (r5 == r9->unk_66) if (r5 == r9->saneBoxesCount)
break; break;
} }
} }
@@ -1088,14 +1088,14 @@ void sub_8111438(void)
Free(r9); Free(r9);
} }
static void sub_81115E8(void) static void QuestLog_GetSaneMonCounts(void)
{ {
u16 r4 = sub_8111618(); u16 partyCount = QuestLog_GetSanePartyCount();
u16 r1 = sub_811164C(); u16 boxesCount = QuestLog_GetSaneBoxCount();
VarSet(VAR_0x4027, (r4 << 12) + r1); VarSet(VAR_QUEST_LOG_MON_COUNTS, (partyCount << 12) + boxesCount);
} }
static u16 sub_8111618(void) static u16 QuestLog_GetSanePartyCount(void)
{ {
u16 count = 0; u16 count = 0;
u16 i; u16 i;
@@ -1109,7 +1109,7 @@ static u16 sub_8111618(void)
return count; return count;
} }
static u16 sub_811164C(void) static u16 QuestLog_GetSaneBoxCount(void)
{ {
u16 count = 0; u16 count = 0;
u16 i, j; u16 i, j;