summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-10-22 09:50:49 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2019-10-22 09:50:49 -0400
commitd51915bb0d658772c57178e28ab702ffcff018da (patch)
tree8f05b2b60194216b5c08ad818bad12a68e1a5bc2
parentba768c855d977b73e9a87d8bb823f9167e0b9c92 (diff)
Document some variables
-rw-r--r--asm/field_specials.s2
-rw-r--r--data/maps/BirthIsland_Exterior/scripts.inc4
-rw-r--r--include/constants/vars.h116
-rw-r--r--src/quest_log.c54
4 files changed, 105 insertions, 71 deletions
diff --git a/asm/field_specials.s b/asm/field_specials.s
index faf899cfe..d7297ba13 100644
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -5417,7 +5417,7 @@ sub_80CCFBC: @ 80CCFBC
ldr r0, _080CCFF0 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldrh r1, [r0, 0x4]
- ldr r0, _080CCFF4 @ =0x00003802
+ ldr r0, _080CCFF4 @ =0x00003802 MAP_BIRTH_ISLAND_EXTERIOR
cmp r1, r0
bne _080CD000
adds r0, r2, 0x1
diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc
index 47baf3c34..f23c73615 100644
--- a/data/maps/BirthIsland_Exterior/scripts.inc
+++ b/data/maps/BirthIsland_Exterior/scripts.inc
@@ -11,8 +11,8 @@ BirthIsland_Exterior_MapScript3_165213:: @ 8165213
BirthIsland_Exterior_MapScript1_165217:: @ 8165217
setworldmapflag FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR
setvar VAR_OBJ_GFX_ID_0, MAP_OBJ_GFX_DEOXYS_N
- setvar VAR_0x4026, 0
- setvar VAR_0x403E, 0
+ setvar VAR_DEOXYS_INTERACTION_STEP_COUNTER, 0
+ setvar VAR_DEOXYS_INTERACTION_NUM, 0
checkflag FLAG_FOUGHT_DEOXYS
call_if TRUE, EventScript_16523C
checkflag FLAG_FOUGHT_DEOXYS
diff --git a/include/constants/vars.h b/include/constants/vars.h
index e288ee292..6c38e5ea5 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -5,46 +5,80 @@
#define VARS_START 0x4000
-#define VAR_0x4000 0x4000
-#define VAR_0x4001 0x4001
-#define VAR_0x4002 0x4002
-#define VAR_0x4003 0x4003
-#define VAR_0x4004 0x4004
-#define VAR_0x4005 0x4005
-#define VAR_0x4006 0x4006
-#define VAR_0x4007 0x4007
-#define VAR_0x4008 0x4008
-#define VAR_0x4009 0x4009
-#define VAR_0x400A 0x400A
-#define VAR_0x400B 0x400B
-#define VAR_0x400C 0x400C
-#define VAR_0x400D 0x400D
-#define VAR_0x400E 0x400E
-#define VAR_0x400F 0x400F
-#define VAR_OBJ_GFX_ID_0 0x4010
-#define VAR_OBJ_GFX_ID_1 0x4011
-#define VAR_OBJ_GFX_ID_2 0x4012
-#define VAR_OBJ_GFX_ID_3 0x4013
-#define VAR_OBJ_GFX_ID_4 0x4014
-#define VAR_OBJ_GFX_ID_5 0x4015
-#define VAR_OBJ_GFX_ID_6 0x4016
-#define VAR_OBJ_GFX_ID_7 0x4017
-#define VAR_OBJ_GFX_ID_8 0x4018
-#define VAR_OBJ_GFX_ID_9 0x4019
-#define VAR_OBJ_GFX_ID_A 0x401A
-#define VAR_OBJ_GFX_ID_B 0x401B
-#define VAR_OBJ_GFX_ID_C 0x401C
-#define VAR_OBJ_GFX_ID_D 0x401D
-#define VAR_OBJ_GFX_ID_E 0x401E
-#define VAR_OBJ_GFX_ID_F 0x401F
-#define VAR_REPEL_STEP_COUNT 0x4020
-#define VAR_0x4021 0x4021
-#define VAR_ICE_STEP_COUNT 0x4022
-#define VAR_RENEWABLE_ITEM_STEP_COUNTER 0x4023
-#define VAR_ALTERING_CAVE_WILD_SET 0x4024
-#define VAR_MASSAGE_COOLDOWN_STEP_COUNTER 0x4025
-#define VAR_0x4026 0x4026
-#define VAR_0x4027 0x4027
+// Temporary variables. Reset on map load.
+#define VAR_0x4000 0x4000
+#define VAR_0x4001 0x4001
+#define VAR_0x4002 0x4002
+#define VAR_0x4003 0x4003
+#define VAR_0x4004 0x4004
+#define VAR_0x4005 0x4005
+#define VAR_0x4006 0x4006
+#define VAR_0x4007 0x4007
+#define VAR_0x4008 0x4008
+#define VAR_0x4009 0x4009
+#define VAR_0x400A 0x400A
+#define VAR_0x400B 0x400B
+#define VAR_0x400C 0x400C
+#define VAR_0x400D 0x400D
+#define VAR_0x400E 0x400E
+#define VAR_0x400F 0x400F
+
+// Object event graphics IDs which can be changed by
+// script commands.
+#define VAR_OBJ_GFX_ID_0 0x4010
+#define VAR_OBJ_GFX_ID_1 0x4011
+#define VAR_OBJ_GFX_ID_2 0x4012
+#define VAR_OBJ_GFX_ID_3 0x4013
+#define VAR_OBJ_GFX_ID_4 0x4014
+#define VAR_OBJ_GFX_ID_5 0x4015
+#define VAR_OBJ_GFX_ID_6 0x4016
+#define VAR_OBJ_GFX_ID_7 0x4017
+#define VAR_OBJ_GFX_ID_8 0x4018
+#define VAR_OBJ_GFX_ID_9 0x4019
+#define VAR_OBJ_GFX_ID_A 0x401A
+#define VAR_OBJ_GFX_ID_B 0x401B
+#define VAR_OBJ_GFX_ID_C 0x401C
+#define VAR_OBJ_GFX_ID_D 0x401D
+#define VAR_OBJ_GFX_ID_E 0x401E
+#define VAR_OBJ_GFX_ID_F 0x401F
+
+// If nonzero, counts down by one every step.
+// When it hits zero, repel's effect wears off.
+#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_0x4029 0x4029
#define VAR_HAPPINESS_STEP_COUNTER 0x402A
@@ -70,7 +104,7 @@
#define VAR_0x403B 0x403B
#define VAR_0x403C 0x403C
#define VAR_0x403D 0x403D
-#define VAR_0x403E 0x403E
+#define VAR_DEOXYS_INTERACTION_NUM 0x403E
#define VAR_0x403F 0x403F
#define VAR_DAYS 0x4040
#define VAR_0x4041 0x4041
diff --git a/src/quest_log.c b/src/quest_log.c
index 8762d8e60..ec8d736b8 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -129,9 +129,9 @@ static u8 sub_8110E68(struct UnkStruct_203AE98 *);
static void sub_8110F90(u8);
static void sub_8111150(u8);
static void sub_8111368(void);
-static void sub_81115E8(void);
-static u16 sub_8111618(void);
-static u16 sub_811164C(void);
+static void QuestLog_GetSaneMonCounts(void);
+static u16 QuestLog_GetSanePartyCount(void);
+static u16 QuestLog_GetSaneBoxCount(void);
static void sub_8111688(void);
static void sub_811175C(u8, struct UnkStruct_203AE98 *);
static void sub_81118F4(s8);
@@ -541,7 +541,7 @@ void sub_8110AEC(u16 a0)
gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 2;
else
gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 1;
- sub_81115E8();
+ QuestLog_GetSaneMonCounts();
sub_8110BB0(gUnknown_203ADF8);
sub_8110BE8(gUnknown_203ADF8);
sub_8110D94();
@@ -1012,8 +1012,8 @@ void sub_81113E4(void)
struct PokemonAndSomethingElse
{
struct Pokemon mon;
- u16 unk_64;
- u16 unk_66;
+ u16 sanePartyCount;
+ u16 saneBoxesCount;
};
void sub_8111438(void)
@@ -1022,32 +1022,32 @@ void sub_8111438(void)
u16 r0, r3, r5, r6;
CreateMon(&r9->mon, SPECIES_RATTATA, 1, 0x20, FALSE, 0, 0, 0);
- r0 = VarGet(VAR_0x4027);
- r9->unk_64 = r0 >> 12;
- r9->unk_66 = r0 % 0x1000;
+ r0 = VarGet(VAR_QUEST_LOG_MON_COUNTS);
+ r9->sanePartyCount = r0 >> 12;
+ r9->saneBoxesCount = r0 % 0x1000;
- r5 = sub_8111618();
- if (r5 > r9->unk_64)
+ r5 = QuestLog_GetSanePartyCount();
+ 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]);
}
}
- else if (r5 < r9->unk_64)
+ else if (r5 < r9->sanePartyCount)
{
for (r3 = 0; r3 < 5; 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));
}
}
- r5 = sub_811164C();
- if (r5 > r9->unk_66)
+ r5 = QuestLog_GetSaneBoxCount();
+ if (r5 > r9->saneBoxesCount)
{
for (r3 = 0; r3 < 14; r3++)
{
@@ -1057,15 +1057,15 @@ void sub_8111438(void)
{
sub_808BCB4(r3, r6);
r5--;
- if (r5 == r9->unk_66)
+ if (r5 == r9->saneBoxesCount)
break;
}
}
- if (r5 == r9->unk_66)
+ if (r5 == r9->saneBoxesCount)
break;
}
}
- else if (r5 < r9->unk_66)
+ else if (r5 < r9->saneBoxesCount)
{
for (r3 = 0; r3 < TOTAL_BOXES_COUNT; r3++)
{
@@ -1076,11 +1076,11 @@ void sub_8111438(void)
{
CopyMon(boxMon, &r9->mon.box, sizeof(struct BoxPokemon));
r5++;
- if (r5 == r9->unk_66)
+ if (r5 == r9->saneBoxesCount)
break;
}
}
- if (r5 == r9->unk_66)
+ if (r5 == r9->saneBoxesCount)
break;
}
}
@@ -1088,14 +1088,14 @@ void sub_8111438(void)
Free(r9);
}
-static void sub_81115E8(void)
+static void QuestLog_GetSaneMonCounts(void)
{
- u16 r4 = sub_8111618();
- u16 r1 = sub_811164C();
- VarSet(VAR_0x4027, (r4 << 12) + r1);
+ u16 partyCount = QuestLog_GetSanePartyCount();
+ u16 boxesCount = QuestLog_GetSaneBoxCount();
+ VarSet(VAR_QUEST_LOG_MON_COUNTS, (partyCount << 12) + boxesCount);
}
-static u16 sub_8111618(void)
+static u16 QuestLog_GetSanePartyCount(void)
{
u16 count = 0;
u16 i;
@@ -1109,7 +1109,7 @@ static u16 sub_8111618(void)
return count;
}
-static u16 sub_811164C(void)
+static u16 QuestLog_GetSaneBoxCount(void)
{
u16 count = 0;
u16 i, j;