more labels in battle_ai.c and intro.c and misc places (#151)

* make ROM match again

* clean up item_use.c labels and clarify functions.

* label and clarify some functions in decompress.c

* label and clarify berry.c

* rename 20239F8 to gBattleTypeFlags

* formatting

* label intro.c a bit

* label battle_ai.c and document some stuff

* formatting

* more labeling and clarification.

* more label stuff
This commit is contained in:
ProjectRevoTPP
2017-01-03 03:30:20 -05:00
committed by YamaArashi
parent 929148fb7d
commit bdb3dea2b7
11 changed files with 234 additions and 219 deletions
+1 -1
View File
@@ -69,7 +69,7 @@ _0800B8A0:
str r5, [r0]
bl sub_8075624
bl sub_8040710
bl sub_81070D4
bl BattleAI_HandleItemUseBeforeAISetup
ldr r0, _0800B940 @ =gBattleTypeFlags
ldrh r1, [r0]
movs r0, 0x10
+2 -2
View File
@@ -78714,8 +78714,8 @@ sub_8035428: @ 8035428
ands r0, r1
cmp r0, 0
beq _080354F8
bl sub_810715C
bl sub_81072A8
bl BattleAI_SetupAIData
bl BattleAI_GetAIActionToUse
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x4
+17 -17
View File
@@ -851,7 +851,7 @@ gStartMenuItems:: @ 8376D24
.4byte SystemText_Player, StartMenu_PlayerLinkCallback
.align 2
gUnknown_08376D74:: @ 8376D74
gMenuYesNoItems:: @ 8376D74
.4byte OtherText_Yes, 0
.4byte OtherText_No, 0
@@ -20072,7 +20072,7 @@ gIntroTiles::
.incbin "graphics/intro/intro.4bpp.lz"
.align 2
gUnknown_08406974:: @ 8406974
gIntro1BGPals:: @ 8406974
.incbin "graphics/intro/intro1_bgpal1.gbapal"
.incbin "graphics/intro/intro1_bgpal2.gbapal"
.incbin "graphics/intro/intro1_bgpal3.gbapal"
@@ -20091,47 +20091,47 @@ gUnknown_08406974:: @ 8406974
.incbin "graphics/intro/intro1_bgpal16.gbapal"
.align 2
gUnknown_08406B74:: @ 8406B74
gIntro1BG0_Tilemap:: @ 8406B74
.incbin "graphics/intro/intro1_bg0_map.bin.lz"
.align 2
gUnknown_08406F28:: @ 8406F28
gIntro1BG1_Tilemap:: @ 8406F28
.incbin "graphics/intro/intro1_bg1_map.bin.lz"
.align 2
gUnknown_0840725C:: @ 840725C
gIntro1BG2_Tilemap:: @ 840725C
.incbin "graphics/intro/intro1_bg2_map.bin.lz"
.align 2
gUnknown_0840754C:: @ 840754C
gIntro1BG3_Tilemap:: @ 840754C
.incbin "graphics/intro/intro1_bg3_map.bin.lz"
.align 2
gUnknown_08407764:: @ 8407764
gIntro1BGLeavesGfx:: @ 8407764
.incbin "graphics/intro/introgfx.4bpp.lz"
.align 2
gUnknown_084098D4:: @ 84098D4
gIntro3PokeballPal:: @ 84098D4
.incbin "graphics/intro/intro3_pokeball.gbapal"
.align 2
gUnknown_08409AD4:: @ 8409AD4
gIntro3Pokeball_Tilemap:: @ 8409AD4
.incbin "graphics/intro/intro3_pokeball_map.bin.lz"
.align 2
gUnknown_08409C04:: @ 8409C04
gIntro3Pokeball_Gfx:: @ 8409C04
.incbin "graphics/intro/intro3_pokeball.8bpp.lz"
.align 2
gUnknown_0840A758:: @ 840A758
gIntro3Streaks_Pal:: @ 840A758
.incbin "graphics/intro/intro3_streaks.gbapal"
.align 2
gUnknown_0840A778:: @ 840A778
gIntro3Streaks_Gfx:: @ 840A778
.incbin "graphics/intro/intro3_streaks.4bpp.lz"
.align 2
gUnknown_0840A7E4:: @ 840A7E4
gIntro3Streaks_Tilemap:: @ 840A7E4
.incbin "graphics/intro/intro3_streaks_map.bin.lz"
.align 2
@@ -20547,22 +20547,22 @@ gSpriteTemplate_840B1F4:: @ 840B1F4
spr_template 2003, 2003, gOamData_840B1E0, gSpriteAnimTable_840B1F0, NULL, gDummySpriteAffineAnimTable, sub_813EDFC
.align 2
gUnknown_0840B20C:: @ 840B20C
gIntro3PokeballGfx_Table:: @ 840B20C
obj_tiles gInterfaceGfx_PokeBall, 0x100, 2002
.space 8
.align 2
gUnknown_0840B21C:: @ 840B21C
gIntro3MiscGfx_Table:: @ 840B21C
obj_tiles gIntro3MiscTiles, 0xa00, 2003
.space 8
.align 2
gUnknown_0840B22C:: @ 840B22C
gInterfacePokeballPal_Table:: @ 840B22C
obj_pal gInterfacePal_PokeBall, 2002
.space 8
.align 2
gUnknown_0840B23C:: @ 840B23C
gIntro3MiscPal_Table:: @ 840B23C
obj_pal gIntro3Misc1Palette, 2003
obj_pal gIntro3Misc2Palette, 2004
.space 8
+1 -1
View File
@@ -12,7 +12,7 @@ unk_2016000 = 0x2016000;
unk_20160BC = 0x20160BC;
unk_2016800 = 0x2016800;
gAIThinkingSpace = 0x2016800;
unk_2016A00 = 0x2016A00;
unk_2016C00 = 0x2016C00;
+144 -128
View File
@@ -3,17 +3,18 @@
#include "asm.h"
#include "pokemon.h"
#include "rng.h"
#include "abilities.h"
#define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
#define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8)
#define AIScriptRead8(ptr) ((ptr)[0])
#define AIScriptReadPtr(ptr) (u8*) AIScriptRead32(ptr)
/*
this file is a mess. I stopped part way because it starts to involve a huge struct that begins at 0x2000000 and goes
all the way to at least 0x2016800, in addition to extremely hard functions that I can't seem to get right. I am leaving this file
as it currently is until someone bothers to document this huge struct.
*/
enum
{
TARGET,
USER
};
extern u16 gBattleTypeFlags;
extern u8 gUnknown_02024A60;
@@ -33,7 +34,6 @@ extern u32 gUnknown_02024C98[];
extern u16 gUnknown_02024C7A[];
extern struct BattlePokemon gUnknown_02024A8C[];
extern u8 gUnknown_030042E0[];
extern u8 *gAIScriptPtr;
extern u16 gTrainerBattleOpponent;
extern u32 gBitTable[];
extern u8 *BattleAIs[];
@@ -43,6 +43,15 @@ extern struct BattleMove gBattleMoves[];
extern struct BaseStats gBaseStats[];
extern void (*gBattleAICmdTable[])(void);
/*
gAIScriptPtr is a pointer to the next battle AI cmd command to read.
when a command finishes processing, gAIScriptPtr is incremented by
the number of bytes that the current command had reserved for arguments
in order to read the next command correctly. refer to battle_ai_scripts.s for the
AI scripts.
*/
extern u8 *gAIScriptPtr;
struct UnknownStruct1
{
/* 0x00 */ u16 unk0[2][8];
@@ -52,7 +61,7 @@ struct UnknownStruct1
/* 0x2C */ u8 unk8;
};
struct UnknownStruct2 /* 0x2016800 */
struct AI_ThinkingStruct /* 0x2016800 */
{
/* 0x00 */ u8 unk0;
/* 0x01 */ u8 moveConsidered;
@@ -61,7 +70,7 @@ struct UnknownStruct2 /* 0x2016800 */
/* 0x08 */ u32 unk8;
/* 0x0C */ u32 aiFlags;
/* 0x10 */ u8 unk10;
/* 0x11 */ u8 unk11;
/* 0x11 */ u8 aiLogicId;
/* 0x12 */ u8 filler12[6];
/* 0x18 */ u8 unk18[4];
};
@@ -88,23 +97,23 @@ struct BattleStruct /* 0x2000000 */
};
extern struct BattleStruct unk_2000000;
extern struct UnknownStruct2 unk_2016800;
extern struct AI_ThinkingStruct gAIThinkingSpace;
extern struct UnknownStruct1 unk_2016A00;
extern struct UnknownStruct3 unk_2016C00;
void sub_810715C(void);
void sub_8107374(void);
void BattleAI_SetupAIData(void);
void BattleAI_DoAIProcessing(void);
void sub_810745C(void);
void sub_81070D4(void)
// if the AI is a Link battle, safari, battle tower, or ereader, it will ignore considering item uses.
void BattleAI_HandleItemUseBeforeAISetup(void)
{
s32 i;
u8 *data = (u8 *)&unk_2016A00;
for (i = 0; (u32)i < 48; i++)
data[i] = 0;
if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER)
if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER)
&& gTrainerBattleOpponent != 0x400
&& !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER)))
{
@@ -118,29 +127,33 @@ void sub_81070D4(void)
}
}
sub_810715C();
BattleAI_SetupAIData();
}
void sub_810715C(void)
void BattleAI_SetupAIData(void)
{
s32 i;
u8 *data = (u8 *)&unk_2016800;
u8 *data = (u8 *)&gAIThinkingSpace;
u8 r7;
// clear AI data and set default move score to 100.
for(i = 0; (u32)i < 28; i++)
data[i] = 0;
for(i = 0; i < 4; i++)
unk_2016800.score[i] = 100;
gAIThinkingSpace.score[i] = 100;
r7 = sub_8015A98(gUnknown_02024A60, 0, 0xFF);
for(i = 0; i < 4; i++)
{
u16 rand;
if(gBitTable[i] & r7)
unk_2016800.score[i] = 0;
gAIThinkingSpace.score[i] = 0;
rand = Random();
unk_2016800.unk18[i] = 100 - (rand & 0xF);
gAIThinkingSpace.unk18[i] = 100 - (rand & 0xF);
}
unk_2016C00.unk20 = 0;
gUnknown_02024C07 = gUnknown_02024A60;
@@ -153,18 +166,19 @@ void sub_810715C(void)
}
else
gUnknown_02024C08 = gUnknown_02024A60 ^ 1;
// special AI flag cases.
if(gBattleTypeFlags & BATTLE_TYPE_SAFARI)
unk_2016800.aiFlags = 0x40000000;
gAIThinkingSpace.aiFlags = 0x40000000;
else if(gBattleTypeFlags & BATTLE_TYPE_ROAMER)
unk_2016800.aiFlags = 0x20000000;
gAIThinkingSpace.aiFlags = 0x20000000;
else if(gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)
unk_2016800.aiFlags = 0x80000000;
else
unk_2016800.aiFlags = gTrainers[gTrainerBattleOpponent].aiFlags;
gAIThinkingSpace.aiFlags = 0x80000000;
else // otherwise, just set aiFlags to whatever flags the trainer has set in their data.
gAIThinkingSpace.aiFlags = gTrainers[gTrainerBattleOpponent].aiFlags;
}
u8 sub_81072A8(void)
u8 BattleAI_GetAIActionToUse(void)
{
u8 arr1[4];
u8 arr2[4];
@@ -172,77 +186,77 @@ u8 sub_81072A8(void)
s32 i;
sub_810745C();
while(unk_2016800.aiFlags != 0)
while(gAIThinkingSpace.aiFlags != 0)
{
if(unk_2016800.aiFlags & 1)
if(gAIThinkingSpace.aiFlags & 1)
{
unk_2016800.unk0 = 0;
sub_8107374();
gAIThinkingSpace.unk0 = 0;
BattleAI_DoAIProcessing();
}
unk_2016800.aiFlags >>= 1;
unk_2016800.unk11++;
unk_2016800.moveConsidered = 0;
gAIThinkingSpace.aiFlags >>= 1;
gAIThinkingSpace.aiLogicId++;
gAIThinkingSpace.moveConsidered = 0;
}
if(unk_2016800.unk10 & 2)
if(gAIThinkingSpace.unk10 & 2)
return 4;
if(unk_2016800.unk10 & 4)
if(gAIThinkingSpace.unk10 & 4)
return 5;
r5 = 1;
arr1[0] = unk_2016800.score[0];
arr1[0] = gAIThinkingSpace.score[0];
arr2[0] = 0;
for(i = 1; i < 4; i++)
{
if(arr1[0] < (s8)unk_2016800.score[i])
if(arr1[0] < (s8)gAIThinkingSpace.score[i])
{
r5 = 1;
arr1[0] = unk_2016800.score[i];
arr1[0] = gAIThinkingSpace.score[i];
arr2[0] = i;
}
if(arr1[0] == (s8)unk_2016800.score[i])
if(arr1[0] == (s8)gAIThinkingSpace.score[i])
{
arr1[r5] = unk_2016800.score[i];
arr1[r5] = gAIThinkingSpace.score[i];
arr2[r5++] = i;
}
}
return arr2[Random() % r5];
}
void sub_8107374(void)
void BattleAI_DoAIProcessing(void)
{
while(unk_2016800.unk0 != 2)
while(gAIThinkingSpace.unk0 != 2)
{
switch(unk_2016800.unk0)
switch(gAIThinkingSpace.unk0)
{
case 3: //Needed to match.
break;
case 0:
gAIScriptPtr = BattleAIs[unk_2016800.unk11];
if(gBattleMons[gUnknown_02024C07].pp[unk_2016800.moveConsidered] == 0)
gAIScriptPtr = BattleAIs[gAIThinkingSpace.aiLogicId];
if(gBattleMons[gUnknown_02024C07].pp[gAIThinkingSpace.moveConsidered] == 0)
{
unk_2016800.unk2 = 0;
gAIThinkingSpace.unk2 = 0;
}
else
{
unk_2016800.unk2 = gBattleMons[gUnknown_02024C07].moves[unk_2016800.moveConsidered];
gAIThinkingSpace.unk2 = gBattleMons[gUnknown_02024C07].moves[gAIThinkingSpace.moveConsidered];
}
unk_2016800.unk0++;
gAIThinkingSpace.unk0++;
break;
case 1:
if(unk_2016800.unk2 != 0)
gBattleAICmdTable[*(u8 *)gAIScriptPtr](); //weird...
if(gAIThinkingSpace.unk2 != 0)
gBattleAICmdTable[*(u8 *)gAIScriptPtr](); // run AI command.
else
{
unk_2016800.score[unk_2016800.moveConsidered] = 0;
unk_2016800.unk10 |= 1;
gAIThinkingSpace.score[gAIThinkingSpace.moveConsidered] = 0;
gAIThinkingSpace.unk10 |= 1;
}
if(unk_2016800.unk10 & 1)
if(gAIThinkingSpace.unk10 & 1)
{
unk_2016800.moveConsidered++;
if(unk_2016800.moveConsidered < 4 && !(unk_2016800.unk10 & 8))
unk_2016800.unk0 = 0;
gAIThinkingSpace.moveConsidered++;
if(gAIThinkingSpace.moveConsidered < 4 && !(gAIThinkingSpace.unk10 & 8))
gAIThinkingSpace.unk0 = 0;
else
unk_2016800.unk0++;
unk_2016800.unk10 &= 0xFE;
gAIThinkingSpace.unk0++;
gAIThinkingSpace.unk10 &= 0xFE;
}
break;
}
@@ -369,10 +383,10 @@ void BattleAICmd_if_not_random_1(void) // if RNG value not equal to
void BattleAICmd_score(void)
{
unk_2016800.score[unk_2016800.moveConsidered] += gAIScriptPtr[1]; // add the result to the array of the move consider's score.
gAIThinkingSpace.score[gAIThinkingSpace.moveConsidered] += gAIScriptPtr[1]; // add the result to the array of the move consider's score.
if(unk_2016800.score[unk_2016800.moveConsidered] < 0) // if the score is negative, flatten it to 0.
unk_2016800.score[unk_2016800.moveConsidered] = 0;
if(gAIThinkingSpace.score[gAIThinkingSpace.moveConsidered] < 0) // if the score is negative, flatten it to 0.
gAIThinkingSpace.score[gAIThinkingSpace.moveConsidered] = 0;
gAIScriptPtr += 2; // AI return.
}
@@ -381,7 +395,7 @@ void BattleAICmd_if_hp_less_than(void)
{
u16 var;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -396,7 +410,7 @@ void BattleAICmd_if_hp_more_than(void)
{
u16 var;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -411,7 +425,7 @@ void BattleAICmd_if_hp_equal(void)
{
u16 var;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -426,7 +440,7 @@ void BattleAICmd_if_hp_not_equal(void)
{
u16 var;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -442,7 +456,7 @@ void BattleAICmd_if_status(void)
u16 var;
u32 temp;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -460,7 +474,7 @@ void BattleAICmd_if_not_status(void)
u16 var;
u32 temp;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -478,7 +492,7 @@ void BattleAICmd_if_status2(void)
u8 var;
u32 temp;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -496,7 +510,7 @@ void BattleAICmd_if_not_status2(void)
u8 var;
u32 temp;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -514,7 +528,7 @@ void BattleAICmd_if_status3(void)
u8 var;
u32 temp;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -532,7 +546,7 @@ void BattleAICmd_if_not_status3(void)
u8 var;
u32 temp;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -551,7 +565,7 @@ void BattleAICmd_if_status4(void)
u32 temp;
u32 temp2;
if ( gAIScriptPtr[1] == 1 )
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -571,7 +585,7 @@ void BattleAICmd_if_not_status4(void)
u32 temp;
u32 temp2;
if (gAIScriptPtr[1] == 1)
if (gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
@@ -587,7 +601,7 @@ void BattleAICmd_if_not_status4(void)
void BattleAICmd_if_less_than(void)
{
if (unk_2016800.unk8 < gAIScriptPtr[1])
if (gAIThinkingSpace.unk8 < gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -595,7 +609,7 @@ void BattleAICmd_if_less_than(void)
void BattleAICmd_if_more_than(void)
{
if (unk_2016800.unk8 > gAIScriptPtr[1])
if (gAIThinkingSpace.unk8 > gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -603,7 +617,7 @@ void BattleAICmd_if_more_than(void)
void BattleAICmd_if_equal(void)
{
if (unk_2016800.unk8 == gAIScriptPtr[1])
if (gAIThinkingSpace.unk8 == gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -611,7 +625,7 @@ void BattleAICmd_if_equal(void)
void BattleAICmd_if_not_equal(void)
{
if (unk_2016800.unk8 != gAIScriptPtr[1])
if (gAIThinkingSpace.unk8 != gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -621,7 +635,7 @@ void BattleAICmd_if_less_than_32(void)
{
u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
if (unk_2016800.unk8 < *temp)
if (gAIThinkingSpace.unk8 < *temp)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
@@ -631,7 +645,7 @@ void BattleAICmd_if_more_than_32(void)
{
u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
if (unk_2016800.unk8 > *temp)
if (gAIThinkingSpace.unk8 > *temp)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
@@ -641,7 +655,7 @@ void BattleAICmd_if_equal_32(void)
{
u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
if (unk_2016800.unk8 == *temp)
if (gAIThinkingSpace.unk8 == *temp)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
@@ -651,7 +665,7 @@ void BattleAICmd_if_not_equal_32(void)
{
u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
if (unk_2016800.unk8 != *temp)
if (gAIThinkingSpace.unk8 != *temp)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
@@ -661,7 +675,7 @@ void BattleAICmd_if_move(void)
{
u16 move = AIScriptRead16(gAIScriptPtr + 1);
if (unk_2016800.unk2 == move)
if (gAIThinkingSpace.unk2 == move)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
@@ -671,7 +685,7 @@ void BattleAICmd_if_not_move(void)
{
u16 move = AIScriptRead16(gAIScriptPtr + 1);
if (unk_2016800.unk2 != move)
if (gAIThinkingSpace.unk2 != move)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
@@ -683,7 +697,7 @@ void BattleAICmd_if_in_bytes(void)
while(*ptr != 0xFF)
{
if(unk_2016800.unk8 == *ptr)
if(gAIThinkingSpace.unk8 == *ptr)
{
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
return;
@@ -699,7 +713,7 @@ void BattleAICmd_if_not_in_bytes(void)
while(*ptr != 0xFF)
{
if(unk_2016800.unk8 == *ptr)
if(gAIThinkingSpace.unk8 == *ptr)
{
gAIScriptPtr += 9;
return;
@@ -715,7 +729,7 @@ void BattleAICmd_if_in_words(void)
while(*ptr != 0xFFFF)
{
if(unk_2016800.unk8 == *ptr)
if(gAIThinkingSpace.unk8 == *ptr)
{
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
return;
@@ -731,7 +745,7 @@ void BattleAICmd_if_not_in_words(void)
while(*ptr != 0xFFFF)
{
if(unk_2016800.unk8 == *ptr)
if(gAIThinkingSpace.unk8 == *ptr)
{
gAIScriptPtr += 9;
return;
@@ -775,7 +789,7 @@ void BattleAICmd_if_user_cant_damage(void)
void BattleAICmd_unk_21(void)
{
unk_2016800.unk8 = gUnknown_030042E0[19];
gAIThinkingSpace.unk8 = gUnknown_030042E0[19];
gAIScriptPtr += 1;
}
@@ -786,19 +800,19 @@ void BattleAICmd_get_type(void)
switch(typeVar)
{
case 1:
unk_2016800.unk8 = gBattleMons[gUnknown_02024C07].type1;
gAIThinkingSpace.unk8 = gBattleMons[gUnknown_02024C07].type1;
break;
case 0:
unk_2016800.unk8 = gBattleMons[gUnknown_02024C08].type1;
gAIThinkingSpace.unk8 = gBattleMons[gUnknown_02024C08].type1;
break;
case 3:
unk_2016800.unk8 = gBattleMons[gUnknown_02024C07].type2;
gAIThinkingSpace.unk8 = gBattleMons[gUnknown_02024C07].type2;
break;
case 2:
unk_2016800.unk8 = gBattleMons[gUnknown_02024C08].type2;
gAIThinkingSpace.unk8 = gBattleMons[gUnknown_02024C08].type2;
break;
case 4:
unk_2016800.unk8 = gBattleMoves[unk_2016800.unk2].type;
gAIThinkingSpace.unk8 = gBattleMoves[gAIThinkingSpace.unk2].type;
break;
}
gAIScriptPtr += 2;
@@ -806,7 +820,7 @@ void BattleAICmd_get_type(void)
void BattleAICmd_unk_23(void)
{
unk_2016800.unk8 = gBattleMoves[unk_2016800.unk2].power;
gAIThinkingSpace.unk8 = gBattleMoves[gAIThinkingSpace.unk2].power;
gAIScriptPtr += 1;
}
@@ -1056,17 +1070,17 @@ _081083D0: .4byte gAIScriptPtr\n\
void BattleAICmd_get_move(void)
{
if ( gAIScriptPtr[1] == 1 )
unk_2016800.unk8 = gUnknown_02024C34[gUnknown_02024C07];
if (gAIScriptPtr[1] == USER)
gAIThinkingSpace.unk8 = gUnknown_02024C34[gUnknown_02024C07];
else
unk_2016800.unk8 = gUnknown_02024C34[gUnknown_02024C08];
gAIThinkingSpace.unk8 = gUnknown_02024C34[gUnknown_02024C08];
gAIScriptPtr += 2;
}
void BattleAICmd_if_type(void)
{
if ( gAIScriptPtr[1] == unk_2016800.unk8 )
if ( gAIScriptPtr[1] == gAIThinkingSpace.unk8 )
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -1074,7 +1088,7 @@ void BattleAICmd_if_type(void)
void BattleAICmd_unk_27(void) // if_not_type
{
if ( gAIScriptPtr[1] != unk_2016800.unk8 )
if ( gAIScriptPtr[1] != gAIThinkingSpace.unk8 )
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -1228,13 +1242,13 @@ _0810862C: .4byte gAIScriptPtr\n\
void BattleAICmd_unk_2D(void)
{
unk_2016800.unk8 = unk_2016800.unk2;
gAIThinkingSpace.unk8 = gAIThinkingSpace.unk2;
gAIScriptPtr += 1;
}
void BattleAICmd_unk_2E(void)
{
unk_2016800.unk8 = gBattleMoves[unk_2016800.unk2].effect;
gAIThinkingSpace.unk8 = gBattleMoves[gAIThinkingSpace.unk2].effect;
gAIScriptPtr += 1;
}
@@ -1242,67 +1256,69 @@ void BattleAICmd_get_ability(void)
{
u8 var;
if(gAIScriptPtr[1] == 1)
if(gAIScriptPtr[1] == USER)
var = gUnknown_02024C07;
else
var = gUnknown_02024C08;
if(battle_side_get_owner(var) == 0)
if(battle_side_get_owner(var) == TARGET)
{
//register u8 unk asm("r1") = battle_get_per_side_status(var) & 1;
u16 unk = battle_get_per_side_status(var) & 1;
if(unk_2016A00.unk20[unk] != 0)
{
((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = unk_2016A00.unk20[unk];
((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 512))->unk8 = unk_2016A00.unk20[unk];
gAIScriptPtr += 2;
return;
}
//_081086C8
if(gBattleMons[var].ability == 0x17 || gBattleMons[var].ability == 0x2A || gBattleMons[var].ability == 0x47)
// abilities that prevent fleeing.
if(gBattleMons[var].ability == ABILITY_SHADOW_TAG || gBattleMons[var].ability == ABILITY_MAGNET_PULL || gBattleMons[var].ability == ABILITY_ARENA_TRAP)
{
//_081086E4
unk_2016800.unk8 = gBattleMons[var].ability;
gAIThinkingSpace.unk8 = gBattleMons[var].ability;
gAIScriptPtr += 2;
return;
}
//_081086FC
if(gBaseStats[gBattleMons[var].species].ability1 != 0)
if(gBaseStats[gBattleMons[var].species].ability1 != ABILITY_NONE)
{
if(gBaseStats[gBattleMons[var].species].ability2 != 0)
if(gBaseStats[gBattleMons[var].species].ability2 != ABILITY_NONE)
{
// AI is guessing what ability?
if(Random() & 1)
{
((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = gBaseStats[gBattleMons[var].species].ability1;
((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 0x200))->unk8 = gBaseStats[gBattleMons[var].species].ability1;
gAIScriptPtr += 2;
return;
}
//_0810873C
else
{
((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = gBaseStats[gBattleMons[var].species].ability2;
((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 0x200))->unk8 = gBaseStats[gBattleMons[var].species].ability2;
gAIScriptPtr += 2;
return;
}
}
//_08108754
else
{
((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = gBaseStats[gBattleMons[var].species].ability1;
((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 0x200))->unk8 = gBaseStats[gBattleMons[var].species].ability1; // it's definitely ability 1.
gAIScriptPtr += 2;
return;
}
}
//_08108764
else
{
((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = gBaseStats[gBattleMons[var].species].ability2;
((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 0x200))->unk8 = gBaseStats[gBattleMons[var].species].ability2; // AI cant actually reach this part since every mon has at least 1 ability.
gAIScriptPtr += 2;
return;
}
}
//_08108774
unk_2016800.unk8 = gBattleMons[var].ability;
gAIScriptPtr += 2;
else
{
// The AI knows its own ability.
gAIThinkingSpace.unk8 = gBattleMons[var].ability;
gAIScriptPtr += 2;
return;
}
}
// this should probably be in battle.h after this file is fully decompiled.
@@ -1317,7 +1333,7 @@ extern struct
u8 unk1F;
u8 filler16020[0x7E0];
} unk_2016000;
struct UnknownStruct2 unk_2016800;
struct AI_ThinkingStruct gAIThinkingSpace;
} ewram; //0x02000000
#ifdef NONMATCHING
@@ -1330,7 +1346,7 @@ void BattleAICmd_unk_30(void)
ewram.unk_2016000.unk1F = 1;
gUnknown_02024C68 = 0;
gCritMultiplier = 1;
ewram.unk_2016800.unk8 = 0;
ewram.gAIThinkingSpace.unk8 = 0;
for(loopCounter = 0; loopCounter <= 3; loopCounter++)
{
@@ -1354,8 +1370,8 @@ void BattleAICmd_unk_30(void)
if(gUnknown_02024C68 & 8)
gUnknown_02024BEC = 0;
if (ewram.unk_2016800.unk8 < gUnknown_02024BEC)
ewram.unk_2016800.unk8 = gUnknown_02024BEC;
if (ewram.gAIThinkingSpace.unk8 < gUnknown_02024BEC)
ewram.gAIThinkingSpace.unk8 = gUnknown_02024BEC;
}
}
gAIScriptPtr += 1;
+2 -2
View File
@@ -11,7 +11,7 @@
extern u8 gSystemText_ClearAllSaveDataPrompt[];
extern u8 gSystemText_ClearingData[];
extern const struct MenuAction gUnknown_08376D74[];
extern const struct MenuAction gMenuYesNoItems[];
static void VBlankCB_ClearSaveDataScreen(void);
static void Task_InitMenu(u8);
@@ -48,7 +48,7 @@ static void Task_InitMenu(u8 taskId)
MenuPrint(gSystemText_ClearAllSaveDataPrompt, 3, 15);
MenuDrawTextWindow(2, 1, 8, 6);
PrintMenuItems(3, 2, 2, gUnknown_08376D74);
PrintMenuItems(3, 2, 2, gMenuYesNoItems);
InitMenu(0, 3, 2, 2, 1, 5);
gTasks[taskId].func = Task_ProcessMenuInput;
-1
View File
@@ -7,7 +7,6 @@
extern u8 gOtherText_Coins2[];
void UpdateCoinsWindow(s32 a, u8 b, u8 c)
{
PrintCoins(a, 4, b + 2, c + 1);
+56 -56
View File
@@ -28,28 +28,28 @@ extern struct GcmbStruct gUnknown_03005EE0;
extern u16 gSaveFileStatus;
extern u8 gReservedSpritePaletteCount;
extern const u16 gUnknown_08406974[];
extern const u8 gUnknown_08406B74[];
extern const u8 gUnknown_08406F28[];
extern const u8 gUnknown_0840725C[];
extern const u8 gUnknown_0840754C[];
extern const u8 gUnknown_08407764[];
extern const u8 gUnknown_084098D4[];
extern const u8 gUnknown_08409AD4[];
extern const u8 gUnknown_08409C04[];
extern const u16 gUnknown_0840A758[];
extern const u8 gUnknown_0840A778[];
extern const u8 gUnknown_0840A7E4[];
extern const u16 gIntro1BGPals[];
extern const u8 gIntro1BG0_Tilemap[];
extern const u8 gIntro1BG1_Tilemap[];
extern const u8 gIntro1BG2_Tilemap[];
extern const u8 gIntro1BG3_Tilemap[];
extern const u8 gIntro1BGLeavesGfx[];
extern const u8 gIntro3PokeballPal[];
extern const u8 gIntro3Pokeball_Tilemap[];
extern const u8 gIntro3Pokeball_Gfx[];
extern const u16 gIntro3Streaks_Pal[];
extern const u8 gIntro3Streaks_Gfx[];
extern const u8 gIntro3Streaks_Tilemap[];
extern union AnimCmd *gUnknown_0840AE80[];
extern const struct SpriteTemplate gSpriteTemplate_840AFF0;
extern const struct SpriteSheet gUnknown_0840B008;
extern const struct SpriteSheet gUnknown_0840B018;
extern const struct SpritePalette gUnknown_0840B028[];
extern const struct SpriteTemplate gSpriteTemplate_840B1F4;
extern const struct SpriteSheet gUnknown_0840B20C;
extern const struct SpriteSheet gUnknown_0840B21C;
extern const struct SpritePalette gUnknown_0840B22C;
extern const struct SpritePalette gUnknown_0840B23C[];
extern const struct SpriteSheet gIntro3PokeballGfx_Table;
extern const struct SpriteSheet gIntro3MiscGfx_Table;
extern const struct SpritePalette gInterfacePokeballPal_Table;
extern const struct SpritePalette gIntro3MiscPal_Table[];
extern const struct SpriteSheet gIntro2BrendanSpriteSheet;
extern const struct SpriteSheet gIntro2MaySpriteSheet;
extern const struct SpriteSheet gIntro2BicycleSpriteSheet;
@@ -65,16 +65,16 @@ static void MainCB2_EndIntro(void);
static void Task_IntroLoadPart1Graphics(u8);
static void Task_IntroFadeIn(u8);
static void Task_IntroWaterDrops(u8);
static void task_intro_4(u8);
static void task_intro_5(u8);
static void Task_IntroScrollDownAndShowEon(u8);
static void Task_IntroWaitToSetupPart2(u8);
static void Task_IntroLoadPart2Graphics(u8);
static void Task_IntroStartBikeRide(u8);
static void task_intro_8(u8);
static void task_intro_9(u8);
static void task_intro_10(u8);
static void task_intro_11(u8);
static void task_intro_12(u8);
static void task_intro_13(u8);
static void Task_IntroHandleBikeAndEonMovement(u8);
static void Task_IntroWaitToSetupPart3(u8);
static void Task_IntroLoadPart3Graphics(u8);
static void Task_IntroSpinAndZoomPokeball(u8);
static void Task_IntroWaitToSetupPart3DoubleFight(u8);
static void Task_IntroLoadPart3Streaks(u8);
static void task_intro_14(u8);
static void task_intro_15(u8);
static void task_intro_16(u8);
@@ -214,16 +214,16 @@ static void Task_IntroLoadPart1Graphics(u8 taskId)
REG_BG2VOFS = 0x50;
REG_BG1VOFS = 0x18;
REG_BG0VOFS = 0x28;
LZ77UnCompVram(gUnknown_08407764, (void *)VRAM);
LZ77UnCompVram(gUnknown_08406B74, (void *)(VRAM + 0x8000));
LZ77UnCompVram(gIntro1BGLeavesGfx, (void *)VRAM);
LZ77UnCompVram(gIntro1BG0_Tilemap, (void *)(VRAM + 0x8000));
DmaClear16(3, VRAM + 0x8800, 0x800);
LZ77UnCompVram(gUnknown_08406F28, (void *)(VRAM + 0x9000));
LZ77UnCompVram(gIntro1BG1_Tilemap, (void *)(VRAM + 0x9000));
DmaClear16(3, VRAM + 0x9800, 0x800);
LZ77UnCompVram(gUnknown_0840725C, (void *)(VRAM + 0xA000));
LZ77UnCompVram(gIntro1BG2_Tilemap, (void *)(VRAM + 0xA000));
DmaClear16(3, VRAM + 0xA800, 0x800);
LZ77UnCompVram(gUnknown_0840754C, (void *)(VRAM + 0xB000));
LZ77UnCompVram(gIntro1BG3_Tilemap, (void *)(VRAM + 0xB000));
DmaClear16(3, VRAM + 0xB800, 0x800);
LoadPalette(gUnknown_08406974, 0, 0x200);
LoadPalette(gIntro1BGPals, 0, 0x200);
REG_BG3CNT = 0x9603;
REG_BG2CNT = 0x9402;
REG_BG1CNT = 0x9201;
@@ -281,11 +281,11 @@ static void Task_IntroWaterDrops(u8 taskId)
gTasks[taskId].data[4] = 0;
gTasks[taskId].data[5] = 0x28;
gTasks[taskId].data[6] = 0;
gTasks[taskId].func = task_intro_4;
gTasks[taskId].func = Task_IntroScrollDownAndShowEon;
}
}
static void task_intro_4(u8 taskId)
static void Task_IntroScrollDownAndShowEon(u8 taskId)
{
if (gIntroFrameCounter < 904)
{
@@ -319,12 +319,12 @@ static void task_intro_4(u8 taskId)
if (gIntroFrameCounter > 1007)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF);
gTasks[taskId].func = task_intro_5;
gTasks[taskId].func = Task_IntroWaitToSetupPart2;
}
}
}
static void task_intro_5(u8 taskId)
static void Task_IntroWaitToSetupPart2(u8 taskId)
{
if (gIntroFrameCounter > 1026)
gTasks[taskId].func = Task_IntroLoadPart2Graphics;
@@ -384,10 +384,10 @@ static void Task_IntroStartBikeRide(u8 taskId)
gTasks[taskId].data[0] = sub_8148EC0(1, 0x4000, 0x400, 0x10);
sub_8148C78(1);
#endif
gTasks[taskId].func = task_intro_8;
gTasks[taskId].func = Task_IntroHandleBikeAndEonMovement;
}
static void task_intro_8(u8 taskId)
static void Task_IntroHandleBikeAndEonMovement(u8 taskId)
{
s16 a;
u16 sine;
@@ -395,7 +395,7 @@ static void task_intro_8(u8 taskId)
if (gIntroFrameCounter > 1823)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0x10, 0, 0x10, 0xFFFF);
gTasks[taskId].func = task_intro_9;
gTasks[taskId].func = Task_IntroWaitToSetupPart3;
}
if (gIntroFrameCounter == 1109)
gSprites[gTasks[taskId].data[1]].data0 = 1;
@@ -423,21 +423,21 @@ static void task_intro_8(u8 taskId)
#endif
}
static void task_intro_9(u8 taskId)
static void Task_IntroWaitToSetupPart3(u8 taskId)
{
if (gIntroFrameCounter > 2068)
{
DestroyTask(gTasks[taskId].data[0]);
gTasks[taskId].func = task_intro_10;
gTasks[taskId].func = Task_IntroLoadPart3Graphics;
}
}
static void task_intro_10(u8 taskId)
static void Task_IntroLoadPart3Graphics(u8 taskId)
{
intro_reset_and_hide_bgs();
LZ77UnCompVram(gUnknown_08409C04, (void *)VRAM);
LZ77UnCompVram(gUnknown_08409AD4, (void *)(VRAM + 0x4000));
LoadPalette(gUnknown_084098D4, 0, 0x200);
LZ77UnCompVram(gIntro3Pokeball_Gfx, (void *)VRAM);
LZ77UnCompVram(gIntro3Pokeball_Tilemap, (void *)(VRAM + 0x4000));
LoadPalette(gIntro3PokeballPal, 0, 0x200);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[2] = 0;
@@ -448,12 +448,12 @@ static void task_intro_10(u8 taskId)
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF);
REG_BG2CNT = 0x4883;
REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
gTasks[taskId].func = task_intro_11;
gTasks[taskId].func = Task_IntroSpinAndZoomPokeball;
gIntroFrameCounter = 0;
m4aSongNumStart(0x1BA);
}
static void task_intro_11(u8 taskId)
static void Task_IntroSpinAndZoomPokeball(u8 taskId)
{
gTasks[taskId].data[0] += 0x400;
if (gTasks[taskId].data[1] <= 0x6BF)
@@ -463,22 +463,22 @@ static void task_intro_11(u8 taskId)
}
else
{
gTasks[taskId].func = task_intro_12;
gTasks[taskId].func = Task_IntroWaitToSetupPart3DoubleFight;
}
sub_813CE30(0x78, 0x50, 0x10000 / gTasks[taskId].data[1], gTasks[taskId].data[0]);
if (gIntroFrameCounter == 44)
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF);
}
static void task_intro_12(u8 taskId)
static void Task_IntroWaitToSetupPart3DoubleFight(u8 taskId)
{
if (gIntroFrameCounter > 59)
gTasks[taskId].func = task_intro_13;
gTasks[taskId].func = Task_IntroLoadPart3Streaks;
}
extern u8 unk_2000000[][32];
static void task_intro_13(u8 taskId)
static void Task_IntroLoadPart3Streaks(u8 taskId)
{
u16 i;
void *vram;
@@ -505,16 +505,16 @@ static void task_intro_13(u8 taskId)
sub_813D084(1);
gPlttBufferUnfaded[0xF2] = RGB_BLACK;
gPlttBufferFaded[0xF2] = RGB_BLACK;
LZ77UnCompVram(gUnknown_0840A778, (void *)(VRAM + 0x4000));
LZ77UnCompVram(gUnknown_0840A7E4, (void *)(VRAM + 0x7000));
LoadPalette(gUnknown_0840A758, 0, 0x20);
LZ77UnCompVram(gIntro3Streaks_Gfx, (void *)(VRAM + 0x4000));
LZ77UnCompVram(gIntro3Streaks_Tilemap, (void *)(VRAM + 0x7000));
LoadPalette(gIntro3Streaks_Pal, 0, 0x20);
ResetSpriteData();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 8;
LoadCompressedObjectPic(&gUnknown_0840B20C);
LoadCompressedObjectPic(&gUnknown_0840B21C);
LoadCompressedObjectPalette(&gUnknown_0840B22C);
LoadSpritePalettes(gUnknown_0840B23C);
LoadCompressedObjectPic(&gIntro3PokeballGfx_Table);
LoadCompressedObjectPic(&gIntro3MiscGfx_Table);
LoadCompressedObjectPalette(&gInterfacePokeballPal_Table);
LoadSpritePalettes(gIntro3MiscPal_Table);
gTasks[taskId].func = task_intro_14;
}
+2 -2
View File
@@ -41,7 +41,7 @@ EWRAM_DATA u16 gMenuTextWindowTileOffset = 0;
EWRAM_DATA u16 gMenuTextWindowContentTileOffset = 0;
EWRAM_DATA u16 gMenuMessageBoxContentTileOffset = 0;
extern const struct MenuAction gUnknown_08376D74[];
extern const struct MenuAction gMenuYesNoItems[];
void sub_8071C20(void)
{
@@ -575,7 +575,7 @@ void PrintMenuItemsReordered(u8 left, u8 top, u8 menuItemCount, const struct Men
void InitYesNoMenu(u8 left, u8 top, u8 a3)
{
PrintMenuItems(left + 1, top + 1, 2, gUnknown_08376D74);
PrintMenuItems(left + 1, top + 1, 2, gMenuYesNoItems);
InitMenu(0, left + 1, top + 1, 2, 0, a3);
}
+7 -7
View File
@@ -578,9 +578,9 @@ bool8 ScrCmd_fadescreen(struct ScriptContext *ctx)
bool8 ScrCmd_fadescreendelay(struct ScriptContext *ctx)
{
u8 val1 = ScriptReadByte(ctx);
u8 val2 = ScriptReadByte(ctx);
fade_screen(val1, val2);
u8 duration = ScriptReadByte(ctx);
u8 delay = ScriptReadByte(ctx);
fade_screen(duration, delay);
SetupNativeScript(ctx, sub_8066248);
return TRUE;
}
@@ -1855,8 +1855,8 @@ bool8 ScrCmd_checkcoins(struct ScriptContext *ctx)
bool8 ScrCmd_givecoins(struct ScriptContext *ctx)
{
u16 v2 = VarGet(ScriptReadHalfword(ctx));
if (GiveCoins(v2) == TRUE)
u16 coins = VarGet(ScriptReadHalfword(ctx));
if (GiveCoins(coins) == TRUE)
gScriptResult = 0;
else
gScriptResult = 1;
@@ -1866,8 +1866,8 @@ bool8 ScrCmd_givecoins(struct ScriptContext *ctx)
bool8 ScrCmd_removecoins(struct ScriptContext *ctx)
{
u16 v2 = VarGet(ScriptReadHalfword(ctx));
if (TakeCoins(v2) == TRUE)
u16 coins = VarGet(ScriptReadHalfword(ctx));
if (TakeCoins(coins) == TRUE)
gScriptResult = 0;
else
gScriptResult = 1;
+2 -2
View File
@@ -20,7 +20,7 @@ extern struct SpritePalette gUnknown_083F7AA0;
extern u8 gUnknown_08E95774[];
extern u8 gUnknown_08E954B0[];
extern u8 gOtherText_CorrectTimePrompt[];
extern const struct MenuAction gUnknown_08376D74[];
extern const struct MenuAction gMenuYesNoItems[];
extern s8 gClockHandCoords[][2];
extern struct SpriteTemplate gSpriteTemplate_83F7AD8;
@@ -297,7 +297,7 @@ static void Task_SetClock3(u8 taskId)
MenuDrawTextWindow(2, 16, 27, 19);
MenuPrint(gOtherText_CorrectTimePrompt, 3, 17);
MenuDrawTextWindow(23, 8, 29, 13);
PrintMenuItems(24, 9, 2, gUnknown_08376D74);
PrintMenuItems(24, 9, 2, gMenuYesNoItems);
InitMenu(0, 24, 9, 2, 1, 5);
gTasks[taskId].func = Task_SetClock4;
}