mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-01-27 05:43:51 +01:00
Merge branch 'master' of https://github.com/DizzyEggg/pokeemerald into item_expansion
This commit is contained in:
commit
b5c54d404d
@ -125,19 +125,42 @@ my $docPct = sprintf("%.4f", 100 * $documented / $total_syms);
|
|||||||
my $partialPct = sprintf("%.4f", 100 * $partial_documented / $total_syms);
|
my $partialPct = sprintf("%.4f", 100 * $partial_documented / $total_syms);
|
||||||
my $undocPct = sprintf("%.4f", 100 * $undocumented / $total_syms);
|
my $undocPct = sprintf("%.4f", 100 * $undocumented / $total_syms);
|
||||||
|
|
||||||
print "$total total bytes of code\n";
|
if ($asm == 0)
|
||||||
print "$src bytes of code in src ($srcPct%)\n";
|
{
|
||||||
print "$asm bytes of code in asm ($asmPct%)\n";
|
print "Code decompilation is 100% complete\n"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print "$total total bytes of code\n";
|
||||||
|
print "$src bytes of code in src ($srcPct%)\n";
|
||||||
|
print "$asm bytes of code in asm ($asmPct%)\n";
|
||||||
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
print "$total_syms total symbols\n";
|
|
||||||
print "$documented symbols documented ($docPct%)\n";
|
if ($partial_documented == 0 && $undocumented == 0)
|
||||||
print "$partial_documented symbols partially documented ($partialPct%)\n";
|
{
|
||||||
print "$undocumented symbols undocumented ($undocPct%)\n";
|
print "Documentation is 100% complete\n"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print "$total_syms total symbols\n";
|
||||||
|
print "$documented symbols documented ($docPct%)\n";
|
||||||
|
print "$partial_documented symbols partially documented ($partialPct%)\n";
|
||||||
|
print "$undocumented symbols undocumented ($undocPct%)\n";
|
||||||
|
}
|
||||||
|
|
||||||
print "\n";
|
print "\n";
|
||||||
my $dataTotal = $srcdata + $data;
|
my $dataTotal = $srcdata + $data;
|
||||||
my $srcDataPct = sprintf("%.4f", 100 * $srcdata / $dataTotal);
|
my $srcDataPct = sprintf("%.4f", 100 * $srcdata / $dataTotal);
|
||||||
my $dataPct = sprintf("%.4f", 100 * $data / $dataTotal);
|
my $dataPct = sprintf("%.4f", 100 * $data / $dataTotal);
|
||||||
print "$dataTotal total bytes of data\n";
|
|
||||||
print "$srcdata bytes of data in src ($srcDataPct%)\n";
|
if ($data == 0)
|
||||||
print "$data bytes of data in data ($dataPct%)\n";
|
{
|
||||||
|
print "Data porting to C is 100% complete\n"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print "$dataTotal total bytes of data\n";
|
||||||
|
print "$srcdata bytes of data in src ($srcDataPct%)\n";
|
||||||
|
print "$data bytes of data in data ($dataPct%)\n";
|
||||||
|
}
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
.section .rodata
|
|
||||||
|
|
||||||
.asciz "SIIRTC_V001"
|
|
||||||
|
|
||||||
.align 2
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte 0x3001A7E
|
|
||||||
.4byte GPIOPortDirection
|
|
@ -108,12 +108,12 @@ LilycoveCity_Harbor_EventScript_GoToBattleFrontier:: @ 821E171
|
|||||||
|
|
||||||
LilycoveCity_Harbor_EventScript_GetEonTicketState:: @ 821E194
|
LilycoveCity_Harbor_EventScript_GetEonTicketState:: @ 821E194
|
||||||
setvar VAR_TEMP_E, 0
|
setvar VAR_TEMP_E, 0
|
||||||
goto_if_unset FLAG_SYS_HAS_EON_TICKET, Common_EventScript_NopReturn
|
goto_if_unset FLAG_ENABLE_SHIP_SOUTHERN_ISLAND, Common_EventScript_NopReturn
|
||||||
checkitem ITEM_EON_TICKET, 1
|
checkitem ITEM_EON_TICKET, 1
|
||||||
compare VAR_RESULT, 0
|
compare VAR_RESULT, 0
|
||||||
goto_if_eq Common_EventScript_NopReturn
|
goto_if_eq Common_EventScript_NopReturn
|
||||||
setvar VAR_TEMP_E, 1
|
setvar VAR_TEMP_E, 1
|
||||||
goto_if_set FLAG_HAS_EON_TICKET, Common_EventScript_NopReturn
|
goto_if_set FLAG_SHOWN_EON_TICKET, Common_EventScript_NopReturn
|
||||||
setvar VAR_TEMP_E, 2
|
setvar VAR_TEMP_E, 2
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ LilycoveCity_Harbor_EventScript_GetAuroraTicketState:: @ 821E1C6
|
|||||||
compare VAR_RESULT, 0
|
compare VAR_RESULT, 0
|
||||||
goto_if_eq Common_EventScript_NopReturn
|
goto_if_eq Common_EventScript_NopReturn
|
||||||
setvar VAR_TEMP_D, 1
|
setvar VAR_TEMP_D, 1
|
||||||
goto_if_set FLAG_HAS_AURORA_TICKET, Common_EventScript_NopReturn
|
goto_if_set FLAG_SHOWN_AURORA_TICKET, Common_EventScript_NopReturn
|
||||||
setvar VAR_TEMP_D, 2
|
setvar VAR_TEMP_D, 2
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ LilycoveCity_Harbor_EventScript_GetOldSeaMapState:: @ 821E1F8
|
|||||||
compare VAR_RESULT, 0
|
compare VAR_RESULT, 0
|
||||||
goto_if_eq Common_EventScript_NopReturn
|
goto_if_eq Common_EventScript_NopReturn
|
||||||
setvar VAR_TEMP_C, 1
|
setvar VAR_TEMP_C, 1
|
||||||
goto_if_set FLAG_HAS_OLD_SEA_MAP, Common_EventScript_NopReturn
|
goto_if_set FLAG_SHOWN_OLD_SEA_MAP, Common_EventScript_NopReturn
|
||||||
setvar VAR_TEMP_C, 2
|
setvar VAR_TEMP_C, 2
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -146,7 +146,7 @@ LilycoveCity_Harbor_EventScript_GetMysticTicketState:: @ 821E22A
|
|||||||
compare VAR_RESULT, 0
|
compare VAR_RESULT, 0
|
||||||
goto_if_eq Common_EventScript_NopReturn
|
goto_if_eq Common_EventScript_NopReturn
|
||||||
setvar VAR_TEMP_9, 1
|
setvar VAR_TEMP_9, 1
|
||||||
goto_if_set FLAG_HAS_MYSTIC_TICKET, Common_EventScript_NopReturn
|
goto_if_set FLAG_SHOWN_MYSTIC_TICKET, Common_EventScript_NopReturn
|
||||||
setvar VAR_TEMP_9, 2
|
setvar VAR_TEMP_9, 2
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -207,7 +207,7 @@ LilycoveCity_Harbor_EventScript_SetHasMysticTicket:: @ 821E2EA
|
|||||||
return
|
return
|
||||||
|
|
||||||
LilycoveCity_Harbor_EventScript_EonTicketFirstTime:: @ 821E2F0
|
LilycoveCity_Harbor_EventScript_EonTicketFirstTime:: @ 821E2F0
|
||||||
setflag FLAG_HAS_EON_TICKET
|
setflag FLAG_SHOWN_EON_TICKET
|
||||||
msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
|
msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
|
||||||
closemessage
|
closemessage
|
||||||
call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
|
call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
|
||||||
@ -224,7 +224,7 @@ LilycoveCity_Harbor_EventScript_GoToSouthernIslandFirstTime:: @ 821E30F
|
|||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_Harbor_EventScript_AuroraTicketFirstTime:: @ 821E320
|
LilycoveCity_Harbor_EventScript_AuroraTicketFirstTime:: @ 821E320
|
||||||
setflag FLAG_HAS_AURORA_TICKET
|
setflag FLAG_SHOWN_AURORA_TICKET
|
||||||
msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
|
msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
|
||||||
closemessage
|
closemessage
|
||||||
call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
|
call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
|
||||||
@ -241,7 +241,7 @@ LilycoveCity_Harbor_EventScript_GoToBirthIslandFirstTime:: @ 821E33F
|
|||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime:: @ 821E350
|
LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime:: @ 821E350
|
||||||
setflag FLAG_HAS_OLD_SEA_MAP
|
setflag FLAG_SHOWN_OLD_SEA_MAP
|
||||||
msgbox EventTicket_Text_ShowOldSeaMap, MSGBOX_DEFAULT
|
msgbox EventTicket_Text_ShowOldSeaMap, MSGBOX_DEFAULT
|
||||||
closemessage
|
closemessage
|
||||||
call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
|
call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
|
||||||
@ -290,7 +290,7 @@ LilycoveCity_Harbor_EventScript_GoToFarawayIslandFirstTime:: @ 821E40C
|
|||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_Harbor_EventScript_MysticTicketFirstTime:: @ 821E41D
|
LilycoveCity_Harbor_EventScript_MysticTicketFirstTime:: @ 821E41D
|
||||||
setflag FLAG_HAS_MYSTIC_TICKET
|
setflag FLAG_SHOWN_MYSTIC_TICKET
|
||||||
msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
|
msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
|
||||||
closemessage
|
closemessage
|
||||||
call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
|
call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
|
||||||
|
@ -58,7 +58,7 @@ SouthernIsland_Interior_EventScript_Lati:: @ 8242AD0
|
|||||||
goto_if_set FLAG_TEMP_2, SouthernIsland_Interior_EventScript_Sign
|
goto_if_set FLAG_TEMP_2, SouthernIsland_Interior_EventScript_Sign
|
||||||
goto_if_set FLAG_DEFEATED_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_Sign
|
goto_if_set FLAG_DEFEATED_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_Sign
|
||||||
goto_if_set FLAG_CAUGHT_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_Sign
|
goto_if_set FLAG_CAUGHT_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_Sign
|
||||||
goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_Sign
|
goto_if_unset FLAG_ENABLE_SHIP_SOUTHERN_ISLAND, SouthernIsland_Interior_EventScript_Sign
|
||||||
setflag FLAG_ENCOUNTERED_LATIAS_OR_LATIOS
|
setflag FLAG_ENCOUNTERED_LATIAS_OR_LATIOS
|
||||||
setflag FLAG_TEMP_2
|
setflag FLAG_TEMP_2
|
||||||
special SpawnCameraObject
|
special SpawnCameraObject
|
||||||
|
@ -39,10 +39,10 @@ CableClub_EventScript_DistributeEonTicket:: @ 8276B23
|
|||||||
checkitem ITEM_EON_TICKET, 1
|
checkitem ITEM_EON_TICKET, 1
|
||||||
compare VAR_RESULT, TRUE
|
compare VAR_RESULT, TRUE
|
||||||
goto_if_eq CableClub_EventScript_AlreadyGotEonTicket
|
goto_if_eq CableClub_EventScript_AlreadyGotEonTicket
|
||||||
goto_if_set FLAG_SYS_HAS_EON_TICKET, CableClub_EventScript_AlreadyGotEonTicket
|
goto_if_set FLAG_ENABLE_SHIP_SOUTHERN_ISLAND, CableClub_EventScript_AlreadyGotEonTicket
|
||||||
msgbox Mevent_Text_TheresATicketForYou, MSGBOX_DEFAULT
|
msgbox Mevent_Text_TheresATicketForYou, MSGBOX_DEFAULT
|
||||||
giveitem ITEM_EON_TICKET
|
giveitem ITEM_EON_TICKET
|
||||||
setflag FLAG_SYS_HAS_EON_TICKET
|
setflag FLAG_ENABLE_SHIP_SOUTHERN_ISLAND
|
||||||
setvar VAR_DISTRIBUTE_EON_TICKET, 0
|
setvar VAR_DISTRIBUTE_EON_TICKET, 0
|
||||||
msgbox Mevent_Text_TryUsingItAtLilycovePort, MSGBOX_DEFAULT
|
msgbox Mevent_Text_TryUsingItAtLilycovePort, MSGBOX_DEFAULT
|
||||||
release
|
release
|
||||||
|
@ -44,7 +44,7 @@ EventScript_NotEnoughMonsForDoubleBattle:: @ 82713BA
|
|||||||
EventScript_NoDoubleTrainerBattle:: @ 82713C1
|
EventScript_NoDoubleTrainerBattle:: @ 82713C1
|
||||||
gotopostbattlescript
|
gotopostbattlescript
|
||||||
|
|
||||||
EventScript_DoTainerBattle:: @ 82713C2
|
EventScript_DoNoIntroTrainerBattle:: @ 82713C2
|
||||||
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
|
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
|
||||||
waitmovement 0
|
waitmovement 0
|
||||||
special SetUpTrainerEncounterMusic
|
special SetUpTrainerEncounterMusic
|
||||||
@ -54,7 +54,7 @@ EventScript_DoTainerBattle:: @ 82713C2
|
|||||||
EventScript_TryDoRematchBattle:: @ 82713D1
|
EventScript_TryDoRematchBattle:: @ 82713D1
|
||||||
call EventScript_RevealTrainer
|
call EventScript_RevealTrainer
|
||||||
specialvar VAR_RESULT, IsTrainerReadyForRematch
|
specialvar VAR_RESULT, IsTrainerReadyForRematch
|
||||||
compare VAR_RESULT, 0
|
compare VAR_RESULT, FALSE
|
||||||
goto_if_eq EventScript_NoRematchTrainerBattle
|
goto_if_eq EventScript_NoRematchTrainerBattle
|
||||||
special SetUpTrainerEncounterMusic
|
special SetUpTrainerEncounterMusic
|
||||||
special SetUpTrainerMovement
|
special SetUpTrainerMovement
|
||||||
@ -70,7 +70,7 @@ EventScript_NoRematchTrainerBattle:: @ 82713F7
|
|||||||
|
|
||||||
EventScript_TryDoDoubleRematchBattle:: @ 82713F8
|
EventScript_TryDoDoubleRematchBattle:: @ 82713F8
|
||||||
specialvar VAR_RESULT, IsTrainerReadyForRematch
|
specialvar VAR_RESULT, IsTrainerReadyForRematch
|
||||||
compare VAR_RESULT, 0
|
compare VAR_RESULT, FALSE
|
||||||
goto_if_eq EventScript_NoDoubleRematchTrainerBattle
|
goto_if_eq EventScript_NoDoubleRematchTrainerBattle
|
||||||
special HasEnoughMonsForDoubleBattle
|
special HasEnoughMonsForDoubleBattle
|
||||||
compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
|
compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
|
||||||
@ -113,7 +113,7 @@ EventScript_ShowTrainerIntroMsg:: @ 827143C
|
|||||||
|
|
||||||
EventScript_DoTrainerBattle:: @ 8271454
|
EventScript_DoTrainerBattle:: @ 8271454
|
||||||
trainerbattlebegin
|
trainerbattlebegin
|
||||||
@ Pointless check, possibly used for debugging?
|
@ Below battle mode check only needed in FRLG
|
||||||
specialvar VAR_RESULT, GetTrainerBattleMode
|
specialvar VAR_RESULT, GetTrainerBattleMode
|
||||||
compare VAR_RESULT, TRAINER_BATTLE_SINGLE
|
compare VAR_RESULT, TRAINER_BATTLE_SINGLE
|
||||||
goto_if_eq EventScript_EndTrainerBattle
|
goto_if_eq EventScript_EndTrainerBattle
|
||||||
@ -125,7 +125,6 @@ EventScript_DoTrainerBattle:: @ 8271454
|
|||||||
goto_if_eq EventScript_EndTrainerBattle
|
goto_if_eq EventScript_EndTrainerBattle
|
||||||
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC
|
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC
|
||||||
goto_if_eq EventScript_EndTrainerBattle
|
goto_if_eq EventScript_EndTrainerBattle
|
||||||
|
|
||||||
EventScript_EndTrainerBattle:: @ 8271491
|
EventScript_EndTrainerBattle:: @ 8271491
|
||||||
gotobeatenscript
|
gotobeatenscript
|
||||||
releaseall
|
releaseall
|
||||||
|
@ -459,9 +459,9 @@
|
|||||||
|
|
||||||
#define FLAG_DEFEATED_DEOXYS 0x1AC
|
#define FLAG_DEFEATED_DEOXYS 0x1AC
|
||||||
#define FLAG_BATTLED_DEOXYS 0x1AD
|
#define FLAG_BATTLED_DEOXYS 0x1AD
|
||||||
#define FLAG_HAS_EON_TICKET 0x1AE
|
#define FLAG_SHOWN_EON_TICKET 0x1AE
|
||||||
#define FLAG_HAS_AURORA_TICKET 0x1AF
|
#define FLAG_SHOWN_AURORA_TICKET 0x1AF
|
||||||
#define FLAG_HAS_OLD_SEA_MAP 0x1B0
|
#define FLAG_SHOWN_OLD_SEA_MAP 0x1B0
|
||||||
#define FLAG_MOVE_TUTOR_TAUGHT_SWAGGER 0x1B1
|
#define FLAG_MOVE_TUTOR_TAUGHT_SWAGGER 0x1B1
|
||||||
#define FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT 0x1B2
|
#define FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT 0x1B2
|
||||||
#define FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER 0x1B3
|
#define FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER 0x1B3
|
||||||
@ -506,7 +506,7 @@
|
|||||||
|
|
||||||
#define FLAG_UNUSED_0x1DA 0x1DA // Unused Flag
|
#define FLAG_UNUSED_0x1DA 0x1DA // Unused Flag
|
||||||
|
|
||||||
#define FLAG_HAS_MYSTIC_TICKET 0x1DB
|
#define FLAG_SHOWN_MYSTIC_TICKET 0x1DB
|
||||||
#define FLAG_DEFEATED_HO_OH 0x1DC
|
#define FLAG_DEFEATED_HO_OH 0x1DC
|
||||||
#define FLAG_DEFEATED_LUGIA 0x1DD
|
#define FLAG_DEFEATED_LUGIA 0x1DD
|
||||||
|
|
||||||
@ -1448,10 +1448,9 @@
|
|||||||
#define FLAG_SYS_REGIROCK_PUZZLE_COMPLETED (SYSTEM_FLAGS + 0x50)
|
#define FLAG_SYS_REGIROCK_PUZZLE_COMPLETED (SYSTEM_FLAGS + 0x50)
|
||||||
#define FLAG_SYS_BRAILLE_REGICE_COMPLETED (SYSTEM_FLAGS + 0x51)
|
#define FLAG_SYS_BRAILLE_REGICE_COMPLETED (SYSTEM_FLAGS + 0x51)
|
||||||
#define FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED (SYSTEM_FLAGS + 0x52)
|
#define FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED (SYSTEM_FLAGS + 0x52)
|
||||||
#define FLAG_SYS_HAS_EON_TICKET (SYSTEM_FLAGS + 0x53)
|
#define FLAG_ENABLE_SHIP_SOUTHERN_ISLAND (SYSTEM_FLAGS + 0x53)
|
||||||
|
|
||||||
#define FLAG_LANDMARK_POKEMON_LEAGUE (SYSTEM_FLAGS + 0x54)
|
#define FLAG_LANDMARK_POKEMON_LEAGUE (SYSTEM_FLAGS + 0x54)
|
||||||
|
|
||||||
#define FLAG_LANDMARK_ISLAND_CAVE (SYSTEM_FLAGS + 0x55)
|
#define FLAG_LANDMARK_ISLAND_CAVE (SYSTEM_FLAGS + 0x55)
|
||||||
#define FLAG_LANDMARK_DESERT_RUINS (SYSTEM_FLAGS + 0x56)
|
#define FLAG_LANDMARK_DESERT_RUINS (SYSTEM_FLAGS + 0x56)
|
||||||
#define FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE (SYSTEM_FLAGS + 0x57)
|
#define FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE (SYSTEM_FLAGS + 0x57)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
extern const u8 EventScript_TestSignpostMsg[];
|
extern const u8 EventScript_TestSignpostMsg[];
|
||||||
extern const u8 EventScript_TryGetTrainerScript[];
|
extern const u8 EventScript_TryGetTrainerScript[];
|
||||||
extern const u8 EventScript_271354[];
|
extern const u8 EventScript_271354[];
|
||||||
extern const u8 EventScript_DoTainerBattle[];
|
extern const u8 EventScript_DoNoIntroTrainerBattle[];
|
||||||
extern const u8 EventScript_TryDoDoubleTrainerBattle[];
|
extern const u8 EventScript_TryDoDoubleTrainerBattle[];
|
||||||
extern const u8 EventScript_TryDoNormalTrainerBattle[];
|
extern const u8 EventScript_TryDoNormalTrainerBattle[];
|
||||||
extern const u8 EventScript_TryDoDoubleRematchBattle[];
|
extern const u8 EventScript_TryDoDoubleRematchBattle[];
|
||||||
|
@ -1087,7 +1087,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
|
|||||||
{
|
{
|
||||||
case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT:
|
case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT:
|
||||||
TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data);
|
TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data);
|
||||||
return EventScript_DoTainerBattle;
|
return EventScript_DoNoIntroTrainerBattle;
|
||||||
case TRAINER_BATTLE_DOUBLE:
|
case TRAINER_BATTLE_DOUBLE:
|
||||||
TrainerBattleLoadArgs(sDoubleBattleParams, data);
|
TrainerBattleLoadArgs(sDoubleBattleParams, data);
|
||||||
SetMapVarsToTrainer();
|
SetMapVarsToTrainer();
|
||||||
|
@ -1400,495 +1400,75 @@ void sub_80219C8(u8 windowId, u8 left, u8 colorId, const u8 *string)
|
|||||||
AddTextPrinterParameterized3(windowId, 2, left, 0, sBerryCrushTextColorTable[colorId], 0, string);
|
AddTextPrinterParameterized3(windowId, 2, left, 0, sBerryCrushTextColorTable[colorId], 0, string);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NONMATCHING
|
void sub_8021A28(struct BerryCrushGame * sp0C, u8 sp10, u8 sp14, u8 sp18)
|
||||||
void sub_8021A28(struct BerryCrushGame *sp0C, u8 sp10, u8 sp14, u8 r3)
|
|
||||||
{
|
{
|
||||||
s32 r6;
|
u8 r8;
|
||||||
u8 i, j;
|
|
||||||
u8 sp18 = 0;
|
|
||||||
u8 sp1C = 0;
|
u8 sp1C = 0;
|
||||||
union BerryCrushGame_68 *sp20 = &sp0C->unk68;
|
u8 sp20 = 0;
|
||||||
|
u8 r2;
|
||||||
|
s32 r3;
|
||||||
|
u8 r7;
|
||||||
|
union BerryCrushGame_68 * sp24 = &sp0C->unk68;
|
||||||
u32 xOffset;
|
u32 xOffset;
|
||||||
u32 r8, r9, r4, r7, r3_;
|
s32 r6;
|
||||||
u8 r10, r2;
|
|
||||||
|
|
||||||
r3 -= 16;
|
sp18 -= 16;
|
||||||
if (sp10 == 2)
|
if (sp10 == 2)
|
||||||
r3 -= 42;
|
sp18 -= 42;
|
||||||
r6 = r3 - 14 * sp0C->unk9;
|
r6 = sp18 - 14 * sp0C->unk9;
|
||||||
if (r6 > 0)
|
if (r6 > 0)
|
||||||
r6 = r6 / 2 + 16;
|
r6 = r6 / 2 + 16;
|
||||||
else
|
else
|
||||||
r6 = 16;
|
r6 = 16;
|
||||||
i = 0;
|
|
||||||
while (i < sp0C->unk9)
|
for (r8 = 0; r8 < sp0C->unk9; r6 += 14, ++r8)
|
||||||
{
|
{
|
||||||
DynamicPlaceholderTextUtil_Reset();
|
DynamicPlaceholderTextUtil_Reset();
|
||||||
switch (sp10)
|
switch (sp10)
|
||||||
{
|
{
|
||||||
default: // how can you write this twice??????
|
|
||||||
r4 = sp14 - 4;
|
|
||||||
r10 = r6;
|
|
||||||
r9 = sp1C + 0xA2;
|
|
||||||
r8 = sp18;
|
|
||||||
r6 += 14;
|
|
||||||
++i;
|
|
||||||
break;
|
|
||||||
case 0:
|
case 0:
|
||||||
sp18 = sp20->as_five_players.unk1C[0].unk4.as_2d_bytes[0][i];
|
sp1C = sp24->as_five_players.unk1C[0].unk4.as_2d_bytes[sp10][r8];
|
||||||
if (i != 0 && sp20->as_four_players.unk00.unk0C[0][i] != sp20->as_four_players.unk00.unk0C[0][i - 1])
|
if (r8 != 0 && sp24->as_four_players.unk00.unk0C[sp10][r8] != sp24->as_four_players.unk00.unk0C[sp10][r8 - 1])
|
||||||
sp1C = i;
|
sp20 = r8;
|
||||||
ConvertIntToDecimalStringN(
|
ConvertIntToDecimalStringN(gStringVar4, sp24->as_four_players.unk00.unk0C[sp10][r8], STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||||
gStringVar4,
|
|
||||||
sp20->as_four_players.unk00.unk0C[sp10][i],
|
|
||||||
STR_CONV_MODE_RIGHT_ALIGN,
|
|
||||||
4
|
|
||||||
);
|
|
||||||
StringAppend(gStringVar4, gUnknown_082F43B4[sp10]);
|
StringAppend(gStringVar4, gUnknown_082F43B4[sp10]);
|
||||||
r4 = sp14 - 4;
|
|
||||||
r10 = r6;
|
|
||||||
r9 = sp1C + 0xA2;
|
|
||||||
r8 = sp18;
|
|
||||||
r6 += 14;
|
|
||||||
++i;
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sp18 = sp20->as_five_players.unk1C[0].unk4.as_2d_bytes[1][i];
|
sp1C = sp24->as_five_players.unk1C[0].unk4.as_2d_bytes[sp10][r8];
|
||||||
if (i != 0 && sp20->as_four_players.unk00.unk0C[1][i] != sp20->as_four_players.unk00.unk0C[1][i - 1])
|
if (r8 != 0 && sp24->as_four_players.unk00.unk0C[sp10][r8] != sp24->as_four_players.unk00.unk0C[sp10][r8 - 1])
|
||||||
sp1C = i;
|
sp20 = r8;
|
||||||
ConvertIntToDecimalStringN(
|
ConvertIntToDecimalStringN(gStringVar1, sp24->as_four_players.unk00.unk0C[sp10][r8] >> 4, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||||
gStringVar1,
|
r3 = 0;
|
||||||
sp20->as_four_players.unk00.unk0C[sp10][i] >> 4,
|
r7 = sp24->as_four_players.unk00.unk0C[sp10][r8] & 15;
|
||||||
STR_CONV_MODE_RIGHT_ALIGN,
|
for (r2 = 0; r2 < 4; ++r2)
|
||||||
3
|
if ((r7 >> (3 - r2)) & 1)
|
||||||
);
|
r3 += gUnknown_082F334C[r2];
|
||||||
j = 0;
|
r7 = r3 / 1000000u;
|
||||||
r3_ = 15 & (u8)sp20->as_four_players.unk00.unk0C[sp10][i];
|
ConvertIntToDecimalStringN(gStringVar2, r7, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||||
r4 = sp14 - 4;
|
StringExpandPlaceholders(gStringVar4, gUnknown_082F43B4[sp10]);
|
||||||
r10 = r6;
|
|
||||||
r9 = sp1C + 0xA2;
|
|
||||||
r8 = sp18;
|
|
||||||
r6 += 14;
|
|
||||||
++i;
|
|
||||||
for (; j < 4; ++j)
|
|
||||||
if (((r3_ >> (3 - j)) & 1) != 0) // why does it load constant 1 into r10?
|
|
||||||
r7 += gUnknown_082F334C[j];
|
|
||||||
ConvertIntToDecimalStringN(
|
|
||||||
gStringVar2,
|
|
||||||
(u8)(r7 / 1000000),
|
|
||||||
STR_CONV_MODE_LEADING_ZEROS,
|
|
||||||
2
|
|
||||||
);
|
|
||||||
StringExpandPlaceholders(gStringVar4, gText_XDotY);
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
sp18 = i;
|
sp1C = r8;
|
||||||
sp1C = i;
|
sp20 = r8;
|
||||||
r2 = sp0C->unk68.as_four_players.others[i].unk0;
|
r2 = sp0C->unk68.as_five_players.unk1C[r8].unk14[12];
|
||||||
if (r2 > 43)
|
if (r2 >= LAST_BERRY_INDEX - FIRST_BERRY_INDEX + 2)
|
||||||
r2 = 0;
|
r2 = 0;
|
||||||
StringCopy(gStringVar1,gBerries[r2].name);
|
StringCopy(gStringVar1, gBerries[r2].name);
|
||||||
StringExpandPlaceholders(gStringVar4, gText_Var1Berry);
|
StringExpandPlaceholders(gStringVar4, gUnknown_082F43B4[2]);
|
||||||
r4 = sp14 - 4;
|
|
||||||
r10 = r6;
|
|
||||||
r9 = sp1C + 0xA2;
|
|
||||||
r8 = i;
|
|
||||||
r6 += 14;
|
|
||||||
++i;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
xOffset = GetStringRightAlignXOffset(2, gStringVar4, r4);
|
xOffset = GetStringRightAlignXOffset(2, gStringVar4, sp14 - 4);
|
||||||
AddTextPrinterParameterized3(
|
AddTextPrinterParameterized3(sp0C->unk138.unk82, 2, xOffset, r6, sBerryCrushTextColorTable[0], 0, gStringVar4);
|
||||||
sp0C->unk138.unk82,
|
if (sp1C == sp0C->unk8)
|
||||||
2,
|
|
||||||
xOffset,
|
|
||||||
r10,
|
|
||||||
sBerryCrushTextColorTable[0],
|
|
||||||
0,
|
|
||||||
gStringVar4
|
|
||||||
);
|
|
||||||
if (sp18 == sp0C->unk8)
|
|
||||||
StringCopy(gStringVar3, gText_1DotBlueF700);
|
StringCopy(gStringVar3, gText_1DotBlueF700);
|
||||||
else
|
else
|
||||||
StringCopy(gStringVar3, gText_1DotF700);
|
StringCopy(gStringVar3, gText_1DotF700);
|
||||||
gStringVar3[0] = r9;
|
gStringVar3[0] = sp20 + CHAR_1;
|
||||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, PLAYER_UNK14(sp0C, r8));
|
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, PLAYER_UNK14(sp0C, sp1C));
|
||||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gStringVar3);
|
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gStringVar3);
|
||||||
AddTextPrinterParameterized3(
|
AddTextPrinterParameterized3(sp0C->unk138.unk82, 2, 4, r6, sBerryCrushTextColorTable[0], 0, gStringVar4);
|
||||||
sp0C->unk138.unk82,
|
|
||||||
2,
|
|
||||||
4,
|
|
||||||
r10,
|
|
||||||
sBerryCrushTextColorTable[0],
|
|
||||||
0,
|
|
||||||
gStringVar4
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
NAKED
|
|
||||||
void sub_8021A28(struct BerryCrushGame *sp0C, u8 sp10, u8 sp14, u8 r3)
|
|
||||||
{
|
|
||||||
asm_unified("\n\
|
|
||||||
push {r4-r7,lr}\n\
|
|
||||||
mov r7, r10\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
push {r5-r7}\n\
|
|
||||||
sub sp, 0x2C\n\
|
|
||||||
str r0, [sp, 0xC]\n\
|
|
||||||
lsls r1, 24\n\
|
|
||||||
lsrs r1, 24\n\
|
|
||||||
str r1, [sp, 0x10]\n\
|
|
||||||
lsls r2, 24\n\
|
|
||||||
lsrs r2, 24\n\
|
|
||||||
str r2, [sp, 0x14]\n\
|
|
||||||
lsls r3, 24\n\
|
|
||||||
movs r0, 0\n\
|
|
||||||
str r0, [sp, 0x18]\n\
|
|
||||||
movs r1, 0\n\
|
|
||||||
str r1, [sp, 0x1C]\n\
|
|
||||||
ldr r2, [sp, 0xC]\n\
|
|
||||||
adds r2, 0x68\n\
|
|
||||||
str r2, [sp, 0x20]\n\
|
|
||||||
movs r4, 0xF0\n\
|
|
||||||
lsls r4, 24\n\
|
|
||||||
adds r3, r4\n\
|
|
||||||
lsrs r3, 24\n\
|
|
||||||
ldr r0, [sp, 0x10]\n\
|
|
||||||
cmp r0, 0x2\n\
|
|
||||||
bne _08021A68\n\
|
|
||||||
adds r0, r3, 0\n\
|
|
||||||
subs r0, 0x2A\n\
|
|
||||||
lsls r0, 24\n\
|
|
||||||
lsrs r3, r0, 24\n\
|
|
||||||
_08021A68:\n\
|
|
||||||
ldr r2, [sp, 0xC]\n\
|
|
||||||
ldrb r1, [r2, 0x9]\n\
|
|
||||||
lsls r0, r1, 3\n\
|
|
||||||
subs r0, r1\n\
|
|
||||||
lsls r0, 1\n\
|
|
||||||
subs r6, r3, r0\n\
|
|
||||||
cmp r6, 0\n\
|
|
||||||
ble _08021A84\n\
|
|
||||||
lsrs r0, r6, 31\n\
|
|
||||||
adds r0, r6, r0\n\
|
|
||||||
asrs r0, 1\n\
|
|
||||||
adds r6, r0, 0\n\
|
|
||||||
adds r6, 0x10\n\
|
|
||||||
b _08021A86\n\
|
|
||||||
_08021A84:\n\
|
|
||||||
movs r6, 0x10\n\
|
|
||||||
_08021A86:\n\
|
|
||||||
movs r5, 0\n\
|
|
||||||
ldr r3, [sp, 0xC]\n\
|
|
||||||
ldrb r3, [r3, 0x9]\n\
|
|
||||||
cmp r5, r3\n\
|
|
||||||
bcc _08021A92\n\
|
|
||||||
b _08021D14\n\
|
|
||||||
_08021A92:\n\
|
|
||||||
ldr r4, [sp, 0x10]\n\
|
|
||||||
lsls r4, 2\n\
|
|
||||||
str r4, [sp, 0x24]\n\
|
|
||||||
_08021A98:\n\
|
|
||||||
bl DynamicPlaceholderTextUtil_Reset\n\
|
|
||||||
ldr r0, [sp, 0x10]\n\
|
|
||||||
cmp r0, 0x1\n\
|
|
||||||
beq _08021B48\n\
|
|
||||||
cmp r0, 0x1\n\
|
|
||||||
bgt _08021AC0\n\
|
|
||||||
cmp r0, 0\n\
|
|
||||||
beq _08021ADE\n\
|
|
||||||
ldr r4, [sp, 0x14]\n\
|
|
||||||
subs r4, 0x4\n\
|
|
||||||
lsls r1, r6, 24\n\
|
|
||||||
mov r10, r1\n\
|
|
||||||
ldr r2, [sp, 0x1C]\n\
|
|
||||||
adds r2, 0xA2\n\
|
|
||||||
mov r9, r2\n\
|
|
||||||
ldr r3, [sp, 0x18]\n\
|
|
||||||
lsls r3, 5\n\
|
|
||||||
mov r8, r3\n\
|
|
||||||
b _08021C5A\n\
|
|
||||||
_08021AC0:\n\
|
|
||||||
ldr r4, [sp, 0x10]\n\
|
|
||||||
cmp r4, 0x2\n\
|
|
||||||
bne _08021AC8\n\
|
|
||||||
b _08021C1C\n\
|
|
||||||
_08021AC8:\n\
|
|
||||||
ldr r4, [sp, 0x14]\n\
|
|
||||||
subs r4, 0x4\n\
|
|
||||||
lsls r0, r6, 24\n\
|
|
||||||
mov r10, r0\n\
|
|
||||||
ldr r1, [sp, 0x1C]\n\
|
|
||||||
adds r1, 0xA2\n\
|
|
||||||
mov r9, r1\n\
|
|
||||||
ldr r2, [sp, 0x18]\n\
|
|
||||||
lsls r2, 5\n\
|
|
||||||
mov r8, r2\n\
|
|
||||||
b _08021C5A\n\
|
|
||||||
_08021ADE:\n\
|
|
||||||
ldr r0, [sp, 0x20]\n\
|
|
||||||
adds r0, 0x20\n\
|
|
||||||
adds r0, r5\n\
|
|
||||||
ldrb r0, [r0]\n\
|
|
||||||
str r0, [sp, 0x18]\n\
|
|
||||||
lsls r3, r5, 1\n\
|
|
||||||
ldr r2, [sp, 0x20]\n\
|
|
||||||
adds r2, 0xC\n\
|
|
||||||
cmp r5, 0\n\
|
|
||||||
beq _08021B04\n\
|
|
||||||
adds r0, r2, r3\n\
|
|
||||||
subs r1, r5, 0x1\n\
|
|
||||||
lsls r1, 1\n\
|
|
||||||
adds r1, r2, r1\n\
|
|
||||||
ldrh r0, [r0]\n\
|
|
||||||
ldrh r1, [r1]\n\
|
|
||||||
cmp r0, r1\n\
|
|
||||||
beq _08021B04\n\
|
|
||||||
str r5, [sp, 0x1C]\n\
|
|
||||||
_08021B04:\n\
|
|
||||||
ldr r4, [sp, 0x24]\n\
|
|
||||||
ldr r1, [sp, 0x10]\n\
|
|
||||||
adds r0, r4, r1\n\
|
|
||||||
lsls r0, 1\n\
|
|
||||||
adds r0, r3, r0\n\
|
|
||||||
adds r0, r2, r0\n\
|
|
||||||
ldrh r1, [r0]\n\
|
|
||||||
ldr r0, =gStringVar4\n\
|
|
||||||
movs r2, 0x1\n\
|
|
||||||
movs r3, 0x4\n\
|
|
||||||
bl ConvertIntToDecimalStringN\n\
|
|
||||||
ldr r0, =gUnknown_082F43B4\n\
|
|
||||||
adds r0, r4, r0\n\
|
|
||||||
ldr r1, [r0]\n\
|
|
||||||
ldr r0, =gStringVar4\n\
|
|
||||||
bl StringAppend\n\
|
|
||||||
ldr r4, [sp, 0x14]\n\
|
|
||||||
subs r4, 0x4\n\
|
|
||||||
lsls r2, r6, 24\n\
|
|
||||||
mov r10, r2\n\
|
|
||||||
ldr r3, [sp, 0x1C]\n\
|
|
||||||
adds r3, 0xA2\n\
|
|
||||||
mov r9, r3\n\
|
|
||||||
ldr r0, [sp, 0x18]\n\
|
|
||||||
lsls r0, 5\n\
|
|
||||||
mov r8, r0\n\
|
|
||||||
b _08021C5A\n\
|
|
||||||
.pool\n\
|
|
||||||
_08021B48:\n\
|
|
||||||
ldr r1, [sp, 0x20]\n\
|
|
||||||
adds r0, r1, r5\n\
|
|
||||||
adds r0, 0x28\n\
|
|
||||||
ldrb r0, [r0]\n\
|
|
||||||
str r0, [sp, 0x18]\n\
|
|
||||||
lsls r3, r5, 1\n\
|
|
||||||
adds r2, r1, 0\n\
|
|
||||||
adds r2, 0xC\n\
|
|
||||||
cmp r5, 0\n\
|
|
||||||
beq _08021B72\n\
|
|
||||||
adds r0, r3, 0\n\
|
|
||||||
adds r0, 0xA\n\
|
|
||||||
adds r0, r2, r0\n\
|
|
||||||
adds r1, r3, 0\n\
|
|
||||||
adds r1, 0x8\n\
|
|
||||||
adds r1, r2, r1\n\
|
|
||||||
ldrh r0, [r0]\n\
|
|
||||||
ldrh r1, [r1]\n\
|
|
||||||
cmp r0, r1\n\
|
|
||||||
beq _08021B72\n\
|
|
||||||
str r5, [sp, 0x1C]\n\
|
|
||||||
_08021B72:\n\
|
|
||||||
ldr r0, [sp, 0x24]\n\
|
|
||||||
ldr r1, [sp, 0x10]\n\
|
|
||||||
adds r4, r0, r1\n\
|
|
||||||
lsls r4, 1\n\
|
|
||||||
adds r4, r3, r4\n\
|
|
||||||
adds r4, r2, r4\n\
|
|
||||||
ldrh r1, [r4]\n\
|
|
||||||
lsrs r1, 4\n\
|
|
||||||
ldr r0, =gStringVar1\n\
|
|
||||||
movs r2, 0x1\n\
|
|
||||||
movs r3, 0x3\n\
|
|
||||||
bl ConvertIntToDecimalStringN\n\
|
|
||||||
movs r7, 0\n\
|
|
||||||
ldrb r0, [r4]\n\
|
|
||||||
movs r3, 0xF\n\
|
|
||||||
ands r3, r0\n\
|
|
||||||
movs r2, 0\n\
|
|
||||||
ldr r4, [sp, 0x10]\n\
|
|
||||||
lsls r4, 2\n\
|
|
||||||
str r4, [sp, 0x28]\n\
|
|
||||||
ldr r4, [sp, 0x14]\n\
|
|
||||||
subs r4, 0x4\n\
|
|
||||||
lsls r0, r6, 24\n\
|
|
||||||
mov r10, r0\n\
|
|
||||||
ldr r1, [sp, 0x1C]\n\
|
|
||||||
adds r1, 0xA2\n\
|
|
||||||
mov r9, r1\n\
|
|
||||||
ldr r0, [sp, 0x18]\n\
|
|
||||||
lsls r0, 5\n\
|
|
||||||
mov r8, r0\n\
|
|
||||||
adds r6, 0xE\n\
|
|
||||||
adds r5, 0x1\n\
|
|
||||||
ldr r1, =gUnknown_082F334C\n\
|
|
||||||
mov r12, r1\n\
|
|
||||||
_08021BB8:\n\
|
|
||||||
movs r0, 0x3\n\
|
|
||||||
subs r1, r0, r2\n\
|
|
||||||
adds r0, r3, 0\n\
|
|
||||||
asrs r0, r1\n\
|
|
||||||
movs r1, 0x1\n\
|
|
||||||
ands r0, r1\n\
|
|
||||||
cmp r0, 0\n\
|
|
||||||
beq _08021BD0\n\
|
|
||||||
lsls r0, r2, 2\n\
|
|
||||||
add r0, r12\n\
|
|
||||||
ldr r0, [r0]\n\
|
|
||||||
adds r7, r0\n\
|
|
||||||
_08021BD0:\n\
|
|
||||||
adds r0, r2, 0x1\n\
|
|
||||||
lsls r0, 24\n\
|
|
||||||
lsrs r2, r0, 24\n\
|
|
||||||
cmp r2, 0x3\n\
|
|
||||||
bls _08021BB8\n\
|
|
||||||
adds r0, r7, 0\n\
|
|
||||||
ldr r1, =0x000f4240\n\
|
|
||||||
bl __udivsi3\n\
|
|
||||||
lsls r0, 24\n\
|
|
||||||
lsrs r3, r0, 24\n\
|
|
||||||
ldr r0, =gStringVar2\n\
|
|
||||||
adds r1, r3, 0\n\
|
|
||||||
movs r2, 0x2\n\
|
|
||||||
movs r3, 0x2\n\
|
|
||||||
bl ConvertIntToDecimalStringN\n\
|
|
||||||
ldr r0, =gUnknown_082F43B4\n\
|
|
||||||
ldr r2, [sp, 0x28]\n\
|
|
||||||
adds r0, r2, r0\n\
|
|
||||||
ldr r1, [r0]\n\
|
|
||||||
ldr r0, =gStringVar4\n\
|
|
||||||
bl StringExpandPlaceholders\n\
|
|
||||||
b _08021C5E\n\
|
|
||||||
.pool\n\
|
|
||||||
_08021C1C:\n\
|
|
||||||
str r5, [sp, 0x18]\n\
|
|
||||||
str r5, [sp, 0x1C]\n\
|
|
||||||
lsls r7, r5, 5\n\
|
|
||||||
ldr r3, [sp, 0xC]\n\
|
|
||||||
adds r0, r3, r7\n\
|
|
||||||
adds r0, 0xA4\n\
|
|
||||||
ldrb r2, [r0]\n\
|
|
||||||
cmp r2, 0x2B\n\
|
|
||||||
bls _08021C30\n\
|
|
||||||
movs r2, 0\n\
|
|
||||||
_08021C30:\n\
|
|
||||||
lsls r1, r2, 3\n\
|
|
||||||
subs r1, r2\n\
|
|
||||||
lsls r1, 2\n\
|
|
||||||
ldr r0, =gBerries\n\
|
|
||||||
adds r1, r0\n\
|
|
||||||
ldr r0, =gStringVar1\n\
|
|
||||||
bl StringCopy\n\
|
|
||||||
ldr r0, =gUnknown_082F43B4\n\
|
|
||||||
ldr r1, [r0, 0x8]\n\
|
|
||||||
ldr r0, =gStringVar4\n\
|
|
||||||
bl StringExpandPlaceholders\n\
|
|
||||||
ldr r4, [sp, 0x14]\n\
|
|
||||||
subs r4, 0x4\n\
|
|
||||||
lsls r0, r6, 24\n\
|
|
||||||
mov r10, r0\n\
|
|
||||||
movs r1, 0xA2\n\
|
|
||||||
adds r1, r5\n\
|
|
||||||
mov r9, r1\n\
|
|
||||||
mov r8, r7\n\
|
|
||||||
_08021C5A:\n\
|
|
||||||
adds r6, 0xE\n\
|
|
||||||
adds r5, 0x1\n\
|
|
||||||
_08021C5E:\n\
|
|
||||||
movs r0, 0x2\n\
|
|
||||||
ldr r1, =gStringVar4\n\
|
|
||||||
adds r2, r4, 0\n\
|
|
||||||
bl GetStringRightAlignXOffset\n\
|
|
||||||
adds r2, r0, 0\n\
|
|
||||||
ldr r3, [sp, 0xC]\n\
|
|
||||||
movs r4, 0xDD\n\
|
|
||||||
lsls r4, 1\n\
|
|
||||||
adds r0, r3, r4\n\
|
|
||||||
ldrb r0, [r0]\n\
|
|
||||||
lsls r2, 24\n\
|
|
||||||
lsrs r2, 24\n\
|
|
||||||
mov r1, r10\n\
|
|
||||||
lsrs r3, r1, 24\n\
|
|
||||||
ldr r1, =sBerryCrushTextColorTable\n\
|
|
||||||
str r1, [sp]\n\
|
|
||||||
movs r4, 0\n\
|
|
||||||
str r4, [sp, 0x4]\n\
|
|
||||||
ldr r1, =gStringVar4\n\
|
|
||||||
str r1, [sp, 0x8]\n\
|
|
||||||
movs r1, 0x2\n\
|
|
||||||
bl AddTextPrinterParameterized3\n\
|
|
||||||
ldr r3, [sp, 0x18]\n\
|
|
||||||
ldr r2, [sp, 0xC]\n\
|
|
||||||
ldrb r2, [r2, 0x8]\n\
|
|
||||||
cmp r3, r2\n\
|
|
||||||
bne _08021CC0\n\
|
|
||||||
ldr r0, =gStringVar3\n\
|
|
||||||
ldr r1, =gText_1DotBlueF700\n\
|
|
||||||
bl StringCopy\n\
|
|
||||||
b _08021CC8\n\
|
|
||||||
.pool\n\
|
|
||||||
_08021CC0:\n\
|
|
||||||
ldr r0, =gStringVar3\n\
|
|
||||||
ldr r1, =gText_1DotF700\n\
|
|
||||||
bl StringCopy\n\
|
|
||||||
_08021CC8:\n\
|
|
||||||
ldr r4, =gStringVar3\n\
|
|
||||||
mov r3, r9\n\
|
|
||||||
strb r3, [r4]\n\
|
|
||||||
mov r1, r8\n\
|
|
||||||
adds r1, 0x98\n\
|
|
||||||
ldr r0, [sp, 0xC]\n\
|
|
||||||
adds r1, r0, r1\n\
|
|
||||||
movs r0, 0\n\
|
|
||||||
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\
|
|
||||||
ldr r0, =gStringVar4\n\
|
|
||||||
adds r1, r4, 0\n\
|
|
||||||
bl DynamicPlaceholderTextUtil_ExpandPlaceholders\n\
|
|
||||||
ldr r1, [sp, 0xC]\n\
|
|
||||||
movs r2, 0xDD\n\
|
|
||||||
lsls r2, 1\n\
|
|
||||||
adds r0, r1, r2\n\
|
|
||||||
ldrb r0, [r0]\n\
|
|
||||||
mov r4, r10\n\
|
|
||||||
lsrs r3, r4, 24\n\
|
|
||||||
ldr r1, =sBerryCrushTextColorTable\n\
|
|
||||||
str r1, [sp]\n\
|
|
||||||
movs r1, 0\n\
|
|
||||||
str r1, [sp, 0x4]\n\
|
|
||||||
ldr r2, =gStringVar4\n\
|
|
||||||
str r2, [sp, 0x8]\n\
|
|
||||||
movs r1, 0x2\n\
|
|
||||||
movs r2, 0x4\n\
|
|
||||||
bl AddTextPrinterParameterized3\n\
|
|
||||||
lsls r0, r5, 24\n\
|
|
||||||
lsrs r5, r0, 24\n\
|
|
||||||
ldr r3, [sp, 0xC]\n\
|
|
||||||
ldrb r3, [r3, 0x9]\n\
|
|
||||||
cmp r5, r3\n\
|
|
||||||
bcs _08021D14\n\
|
|
||||||
b _08021A98\n\
|
|
||||||
_08021D14:\n\
|
|
||||||
add sp, 0x2C\n\
|
|
||||||
pop {r3-r5}\n\
|
|
||||||
mov r8, r3\n\
|
|
||||||
mov r9, r4\n\
|
|
||||||
mov r10, r5\n\
|
|
||||||
pop {r4-r7}\n\
|
|
||||||
pop {r0}\n\
|
|
||||||
bx r0\n\
|
|
||||||
.pool");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void sub_8021D34(struct BerryCrushGame *r8)
|
void sub_8021D34(struct BerryCrushGame *r8)
|
||||||
{
|
{
|
||||||
|
@ -2770,22 +2770,22 @@ struct UnkPacket2
|
|||||||
u8 id;
|
u8 id;
|
||||||
u8 unk1_0:4;
|
u8 unk1_0:4;
|
||||||
u8 unk1_1:4;
|
u8 unk1_1:4;
|
||||||
u8 unk2_0:4;
|
u16 unk2_0:4;
|
||||||
u8 unk2_1:4;
|
u16 unk2_1:4;
|
||||||
u8 unk3_0:4;
|
u16 unk3_0:4;
|
||||||
u8 unk3_1:4;
|
u16 unk3_1:4;
|
||||||
u8 unk4_0:4;
|
u16 unk4_0:4;
|
||||||
u8 unk4_1:4;
|
u16 unk4_1:4;
|
||||||
u8 unk5_0:4;
|
u16 unk5_0:4;
|
||||||
u8 unk5_1:4;
|
u16 unk5_1:4;
|
||||||
u8 unk6_0:2;
|
u16 unk6_0:2;
|
||||||
u8 unk6_1:2;
|
u16 unk6_1:2;
|
||||||
u8 unk6_2:2;
|
u16 unk6_2:2;
|
||||||
u8 unk6_3:2;
|
u16 unk6_3:2;
|
||||||
u8 unk7_0:2;
|
u16 unk7_0:2;
|
||||||
u8 unk7_1:2;
|
u16 unk7_1:2;
|
||||||
u8 unk7_2:2;
|
u16 unk7_2:2;
|
||||||
u8 unk7_3:2;
|
u16 unk7_3:2;
|
||||||
u8 unk8_0:2;
|
u8 unk8_0:2;
|
||||||
u8 unk8_1:2;
|
u8 unk8_1:2;
|
||||||
u8 unk8_2:2;
|
u8 unk8_2:2;
|
||||||
@ -2808,7 +2808,6 @@ struct UnkPacket2
|
|||||||
u8 unkB_6:1;
|
u8 unkB_6:1;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef NONMATCHING
|
|
||||||
static void sub_8027E30(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 arg6, u32 arg7, u32 arg8)
|
static void sub_8027E30(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 arg6, u32 arg7, u32 arg8)
|
||||||
{
|
{
|
||||||
struct UnkPacket2 packet;
|
struct UnkPacket2 packet;
|
||||||
@ -2860,422 +2859,6 @@ static void sub_8027E30(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruc
|
|||||||
packet.unkB_0 = arg8;
|
packet.unkB_0 = arg8;
|
||||||
sub_800FE50(&packet);
|
sub_800FE50(&packet);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
NAKED
|
|
||||||
static void sub_8027E30(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 arg6, u32 arg7, u32 arg8)
|
|
||||||
{
|
|
||||||
asm_unified(" push {r4-r7,lr}\n\
|
|
||||||
mov r7, r10\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
push {r5-r7}\n\
|
|
||||||
sub sp, 0x20\n\
|
|
||||||
ldr r4, [sp, 0x48]\n\
|
|
||||||
lsls r4, 24\n\
|
|
||||||
str r4, [sp, 0x1C]\n\
|
|
||||||
movs r4, 0x14\n\
|
|
||||||
adds r4, r0\n\
|
|
||||||
mov r9, r4\n\
|
|
||||||
mov r5, sp\n\
|
|
||||||
movs r4, 0x2\n\
|
|
||||||
strb r4, [r5]\n\
|
|
||||||
mov r10, sp\n\
|
|
||||||
mov r5, r9\n\
|
|
||||||
ldrb r4, [r5, 0xB]\n\
|
|
||||||
movs r7, 0xF\n\
|
|
||||||
adds r5, r7, 0\n\
|
|
||||||
ands r5, r4\n\
|
|
||||||
mov r6, r10\n\
|
|
||||||
ldrb r6, [r6, 0x1]\n\
|
|
||||||
mov r8, r6\n\
|
|
||||||
movs r4, 0x10\n\
|
|
||||||
negs r4, r4\n\
|
|
||||||
mov r6, r8\n\
|
|
||||||
ands r4, r6\n\
|
|
||||||
orrs r4, r5\n\
|
|
||||||
mov r5, r10\n\
|
|
||||||
strb r4, [r5, 0x1]\n\
|
|
||||||
mov r8, sp\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
ldrb r5, [r6, 0xC]\n\
|
|
||||||
lsls r5, 4\n\
|
|
||||||
ands r4, r7\n\
|
|
||||||
orrs r4, r5\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
strb r4, [r5, 0x1]\n\
|
|
||||||
ldrb r5, [r6, 0xD]\n\
|
|
||||||
movs r6, 0xF\n\
|
|
||||||
ands r5, r6\n\
|
|
||||||
mov r4, r10\n\
|
|
||||||
ldrb r4, [r4, 0x2]\n\
|
|
||||||
mov r8, r4\n\
|
|
||||||
movs r4, 0x10\n\
|
|
||||||
negs r4, r4\n\
|
|
||||||
mov r6, r8\n\
|
|
||||||
ands r4, r6\n\
|
|
||||||
orrs r4, r5\n\
|
|
||||||
mov r5, r10\n\
|
|
||||||
strb r4, [r5, 0x2]\n\
|
|
||||||
mov r8, sp\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
ldrb r5, [r6, 0xE]\n\
|
|
||||||
lsls r5, 4\n\
|
|
||||||
ands r4, r7\n\
|
|
||||||
orrs r4, r5\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
strb r4, [r5, 0x2]\n\
|
|
||||||
ldrb r5, [r6, 0xF]\n\
|
|
||||||
movs r6, 0xF\n\
|
|
||||||
ands r5, r6\n\
|
|
||||||
mov r4, r10\n\
|
|
||||||
ldrb r4, [r4, 0x3]\n\
|
|
||||||
mov r8, r4\n\
|
|
||||||
movs r4, 0x10\n\
|
|
||||||
negs r4, r4\n\
|
|
||||||
mov r6, r8\n\
|
|
||||||
ands r4, r6\n\
|
|
||||||
orrs r4, r5\n\
|
|
||||||
mov r5, r10\n\
|
|
||||||
strb r4, [r5, 0x3]\n\
|
|
||||||
mov r8, sp\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
ldrb r5, [r6, 0x10]\n\
|
|
||||||
lsls r5, 4\n\
|
|
||||||
ands r4, r7\n\
|
|
||||||
orrs r4, r5\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
strb r4, [r5, 0x3]\n\
|
|
||||||
ldrb r5, [r6, 0x11]\n\
|
|
||||||
movs r6, 0xF\n\
|
|
||||||
ands r5, r6\n\
|
|
||||||
mov r4, r10\n\
|
|
||||||
ldrb r4, [r4, 0x4]\n\
|
|
||||||
mov r8, r4\n\
|
|
||||||
movs r4, 0x10\n\
|
|
||||||
negs r4, r4\n\
|
|
||||||
mov r6, r8\n\
|
|
||||||
ands r4, r6\n\
|
|
||||||
orrs r4, r5\n\
|
|
||||||
mov r5, r10\n\
|
|
||||||
strb r4, [r5, 0x4]\n\
|
|
||||||
mov r8, sp\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
ldrb r5, [r6, 0x12]\n\
|
|
||||||
lsls r5, 4\n\
|
|
||||||
ands r4, r7\n\
|
|
||||||
orrs r4, r5\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
strb r4, [r5, 0x4]\n\
|
|
||||||
ldrb r4, [r6, 0x13]\n\
|
|
||||||
movs r6, 0xF\n\
|
|
||||||
ands r4, r6\n\
|
|
||||||
mov r6, r8\n\
|
|
||||||
ldrb r5, [r6, 0x5]\n\
|
|
||||||
movs r6, 0x10\n\
|
|
||||||
negs r6, r6\n\
|
|
||||||
ands r6, r5\n\
|
|
||||||
orrs r6, r4\n\
|
|
||||||
str r6, [sp, 0xC]\n\
|
|
||||||
mov r4, r8\n\
|
|
||||||
strb r6, [r4, 0x5]\n\
|
|
||||||
mov r5, sp\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
ldrb r4, [r6, 0x14]\n\
|
|
||||||
lsls r4, 4\n\
|
|
||||||
ldr r6, [sp, 0xC]\n\
|
|
||||||
ands r6, r7\n\
|
|
||||||
orrs r6, r4\n\
|
|
||||||
strb r6, [r5, 0x5]\n\
|
|
||||||
mov r7, sp\n\
|
|
||||||
movs r4, 0x3\n\
|
|
||||||
mov r8, r4\n\
|
|
||||||
ldrb r0, [r0, 0x14]\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
ldrb r5, [r7, 0x6]\n\
|
|
||||||
movs r6, 0x4\n\
|
|
||||||
negs r6, r6\n\
|
|
||||||
mov r10, r6\n\
|
|
||||||
mov r4, r10\n\
|
|
||||||
ands r4, r5\n\
|
|
||||||
orrs r4, r0\n\
|
|
||||||
strb r4, [r7, 0x6]\n\
|
|
||||||
mov r5, r9\n\
|
|
||||||
ldrb r0, [r5, 0x1]\n\
|
|
||||||
mov r6, r8\n\
|
|
||||||
ands r0, r6\n\
|
|
||||||
lsls r0, 2\n\
|
|
||||||
movs r5, 0xD\n\
|
|
||||||
negs r5, r5\n\
|
|
||||||
ands r5, r4\n\
|
|
||||||
orrs r5, r0\n\
|
|
||||||
strb r5, [r7, 0x6]\n\
|
|
||||||
mov r0, r9\n\
|
|
||||||
ldrb r4, [r0, 0x2]\n\
|
|
||||||
ands r4, r6\n\
|
|
||||||
lsls r4, 4\n\
|
|
||||||
movs r0, 0x31\n\
|
|
||||||
negs r0, r0\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
strb r0, [r7, 0x6]\n\
|
|
||||||
mov r5, sp\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
ldrb r4, [r6, 0x3]\n\
|
|
||||||
lsls r4, 6\n\
|
|
||||||
movs r6, 0x3F\n\
|
|
||||||
ands r0, r6\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
strb r0, [r5, 0x6]\n\
|
|
||||||
mov r4, r9\n\
|
|
||||||
ldrb r0, [r4, 0x4]\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
ldrb r5, [r7, 0x7]\n\
|
|
||||||
mov r4, r10\n\
|
|
||||||
ands r4, r5\n\
|
|
||||||
orrs r4, r0\n\
|
|
||||||
strb r4, [r7, 0x7]\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
ldrb r0, [r6, 0x5]\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
lsls r0, 2\n\
|
|
||||||
movs r5, 0xD\n\
|
|
||||||
negs r5, r5\n\
|
|
||||||
ands r5, r4\n\
|
|
||||||
orrs r5, r0\n\
|
|
||||||
strb r5, [r7, 0x7]\n\
|
|
||||||
ldrb r4, [r6, 0x6]\n\
|
|
||||||
mov r6, r8\n\
|
|
||||||
ands r4, r6\n\
|
|
||||||
lsls r4, 4\n\
|
|
||||||
movs r0, 0x31\n\
|
|
||||||
negs r0, r0\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
strb r0, [r7, 0x7]\n\
|
|
||||||
mov r5, sp\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
ldrb r4, [r6, 0x7]\n\
|
|
||||||
lsls r4, 6\n\
|
|
||||||
movs r6, 0x3F\n\
|
|
||||||
ands r0, r6\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
strb r0, [r5, 0x7]\n\
|
|
||||||
mov r8, sp\n\
|
|
||||||
mov r0, r9\n\
|
|
||||||
ldrb r4, [r0, 0x8]\n\
|
|
||||||
movs r7, 0x3\n\
|
|
||||||
adds r0, r7, 0\n\
|
|
||||||
ands r0, r4\n\
|
|
||||||
mov r4, r8\n\
|
|
||||||
ldrb r5, [r4, 0x8]\n\
|
|
||||||
mov r4, r10\n\
|
|
||||||
ands r4, r5\n\
|
|
||||||
orrs r4, r0\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
strb r4, [r5, 0x8]\n\
|
|
||||||
mov r6, r9\n\
|
|
||||||
ldrb r5, [r6, 0x9]\n\
|
|
||||||
adds r0, r7, 0\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
lsls r0, 2\n\
|
|
||||||
movs r5, 0xD\n\
|
|
||||||
negs r5, r5\n\
|
|
||||||
ands r5, r4\n\
|
|
||||||
orrs r5, r0\n\
|
|
||||||
mov r0, r8\n\
|
|
||||||
strb r5, [r0, 0x8]\n\
|
|
||||||
ldrb r0, [r1]\n\
|
|
||||||
adds r4, r7, 0\n\
|
|
||||||
ands r4, r0\n\
|
|
||||||
lsls r4, 4\n\
|
|
||||||
movs r0, 0x31\n\
|
|
||||||
negs r0, r0\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
mov r4, r8\n\
|
|
||||||
strb r0, [r4, 0x8]\n\
|
|
||||||
mov r5, sp\n\
|
|
||||||
ldrb r4, [r2]\n\
|
|
||||||
lsls r4, 6\n\
|
|
||||||
movs r6, 0x3F\n\
|
|
||||||
ands r0, r6\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
strb r0, [r5, 0x8]\n\
|
|
||||||
ldrb r4, [r3]\n\
|
|
||||||
adds r0, r7, 0\n\
|
|
||||||
ands r0, r4\n\
|
|
||||||
ldrb r4, [r5, 0x9]\n\
|
|
||||||
mov r6, r10\n\
|
|
||||||
ands r6, r4\n\
|
|
||||||
orrs r6, r0\n\
|
|
||||||
mov r10, r6\n\
|
|
||||||
strb r6, [r5, 0x9]\n\
|
|
||||||
ldr r0, [sp, 0x40]\n\
|
|
||||||
ldrb r4, [r0]\n\
|
|
||||||
adds r0, r7, 0\n\
|
|
||||||
ands r0, r4\n\
|
|
||||||
lsls r0, 2\n\
|
|
||||||
movs r4, 0xD\n\
|
|
||||||
negs r4, r4\n\
|
|
||||||
ands r6, r4\n\
|
|
||||||
orrs r6, r0\n\
|
|
||||||
str r6, [sp, 0x10]\n\
|
|
||||||
strb r6, [r5, 0x9]\n\
|
|
||||||
mov r4, sp\n\
|
|
||||||
ldr r5, [sp, 0x44]\n\
|
|
||||||
ldrb r0, [r5]\n\
|
|
||||||
adds r6, r7, 0\n\
|
|
||||||
ands r6, r0\n\
|
|
||||||
lsls r0, r6, 4\n\
|
|
||||||
subs r7, 0x34\n\
|
|
||||||
ldr r5, [sp, 0x10]\n\
|
|
||||||
ands r7, r5\n\
|
|
||||||
orrs r7, r0\n\
|
|
||||||
strb r7, [r4, 0x9]\n\
|
|
||||||
mov r5, sp\n\
|
|
||||||
ldrb r0, [r1, 0x4]\n\
|
|
||||||
movs r6, 0x1\n\
|
|
||||||
mov r12, r6\n\
|
|
||||||
mov r4, r12\n\
|
|
||||||
ands r4, r0\n\
|
|
||||||
lsls r4, 6\n\
|
|
||||||
movs r0, 0x41\n\
|
|
||||||
negs r0, r0\n\
|
|
||||||
mov r10, r0\n\
|
|
||||||
ands r0, r7\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
strb r0, [r5, 0x9]\n\
|
|
||||||
ldrb r4, [r2, 0x4]\n\
|
|
||||||
lsls r4, 7\n\
|
|
||||||
movs r5, 0x7F\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
mov r4, r8\n\
|
|
||||||
strb r0, [r4, 0x9]\n\
|
|
||||||
ldrb r4, [r3, 0x4]\n\
|
|
||||||
mov r0, r12\n\
|
|
||||||
ands r0, r4\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
ldrb r4, [r5, 0xA]\n\
|
|
||||||
movs r7, 0x2\n\
|
|
||||||
negs r7, r7\n\
|
|
||||||
adds r5, r7, 0\n\
|
|
||||||
ands r5, r4\n\
|
|
||||||
orrs r5, r0\n\
|
|
||||||
mov r6, r8\n\
|
|
||||||
strb r5, [r6, 0xA]\n\
|
|
||||||
mov r9, sp\n\
|
|
||||||
ldr r4, [sp, 0x40]\n\
|
|
||||||
ldrb r0, [r4, 0x4]\n\
|
|
||||||
mov r4, r12\n\
|
|
||||||
ands r4, r0\n\
|
|
||||||
lsls r4, 1\n\
|
|
||||||
movs r6, 0x3\n\
|
|
||||||
negs r6, r6\n\
|
|
||||||
mov r8, r6\n\
|
|
||||||
mov r0, r8\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
mov r4, r9\n\
|
|
||||||
strb r0, [r4, 0xA]\n\
|
|
||||||
ldr r6, [sp, 0x44]\n\
|
|
||||||
ldrb r5, [r6, 0x4]\n\
|
|
||||||
mov r4, r12\n\
|
|
||||||
ands r4, r5\n\
|
|
||||||
lsls r4, 2\n\
|
|
||||||
movs r5, 0x5\n\
|
|
||||||
negs r5, r5\n\
|
|
||||||
ands r0, r5\n\
|
|
||||||
orrs r0, r4\n\
|
|
||||||
mov r4, r9\n\
|
|
||||||
strb r0, [r4, 0xA]\n\
|
|
||||||
mov r4, sp\n\
|
|
||||||
ldrb r1, [r1, 0x8]\n\
|
|
||||||
mov r0, r12\n\
|
|
||||||
ands r0, r1\n\
|
|
||||||
lsls r0, 2\n\
|
|
||||||
ldrb r1, [r4, 0xB]\n\
|
|
||||||
ands r5, r1\n\
|
|
||||||
orrs r5, r0\n\
|
|
||||||
strb r5, [r4, 0xB]\n\
|
|
||||||
ldrb r1, [r2, 0x8]\n\
|
|
||||||
mov r0, r12\n\
|
|
||||||
ands r0, r1\n\
|
|
||||||
lsls r0, 3\n\
|
|
||||||
movs r1, 0x9\n\
|
|
||||||
negs r1, r1\n\
|
|
||||||
ands r1, r5\n\
|
|
||||||
orrs r1, r0\n\
|
|
||||||
strb r1, [r4, 0xB]\n\
|
|
||||||
ldrb r2, [r3, 0x8]\n\
|
|
||||||
mov r0, r12\n\
|
|
||||||
ands r0, r2\n\
|
|
||||||
lsls r0, 4\n\
|
|
||||||
movs r2, 0x11\n\
|
|
||||||
negs r2, r2\n\
|
|
||||||
ands r2, r1\n\
|
|
||||||
orrs r2, r0\n\
|
|
||||||
strb r2, [r4, 0xB]\n\
|
|
||||||
mov r3, sp\n\
|
|
||||||
ldr r5, [sp, 0x40]\n\
|
|
||||||
ldrb r0, [r5, 0x8]\n\
|
|
||||||
mov r1, r12\n\
|
|
||||||
ands r1, r0\n\
|
|
||||||
lsls r1, 5\n\
|
|
||||||
movs r0, 0x21\n\
|
|
||||||
negs r0, r0\n\
|
|
||||||
ands r0, r2\n\
|
|
||||||
orrs r0, r1\n\
|
|
||||||
strb r0, [r3, 0xB]\n\
|
|
||||||
mov r2, sp\n\
|
|
||||||
ldrb r1, [r6, 0x8]\n\
|
|
||||||
mov r6, r12\n\
|
|
||||||
ands r6, r1\n\
|
|
||||||
lsls r1, r6, 6\n\
|
|
||||||
mov r3, r10\n\
|
|
||||||
ands r0, r3\n\
|
|
||||||
orrs r0, r1\n\
|
|
||||||
strb r0, [r2, 0xB]\n\
|
|
||||||
ldr r4, [sp, 0x1C]\n\
|
|
||||||
lsrs r3, r4, 21\n\
|
|
||||||
ldrb r1, [r2, 0xA]\n\
|
|
||||||
movs r0, 0x7\n\
|
|
||||||
ands r0, r1\n\
|
|
||||||
orrs r0, r3\n\
|
|
||||||
strb r0, [r2, 0xA]\n\
|
|
||||||
mov r1, sp\n\
|
|
||||||
ldr r5, [sp, 0x4C]\n\
|
|
||||||
movs r6, 0x1\n\
|
|
||||||
ands r5, r6\n\
|
|
||||||
lsls r2, r5, 1\n\
|
|
||||||
ldrb r0, [r1, 0xB]\n\
|
|
||||||
mov r3, r8\n\
|
|
||||||
ands r3, r0\n\
|
|
||||||
orrs r3, r2\n\
|
|
||||||
mov r8, r3\n\
|
|
||||||
strb r3, [r1, 0xB]\n\
|
|
||||||
mov r0, sp\n\
|
|
||||||
ldr r4, [sp, 0x50]\n\
|
|
||||||
ands r4, r6\n\
|
|
||||||
mov r5, r8\n\
|
|
||||||
ands r5, r7\n\
|
|
||||||
orrs r5, r4\n\
|
|
||||||
strb r5, [r0, 0xB]\n\
|
|
||||||
bl sub_800FE50\n\
|
|
||||||
add sp, 0x20\n\
|
|
||||||
pop {r3-r5}\n\
|
|
||||||
mov r8, r3\n\
|
|
||||||
mov r9, r4\n\
|
|
||||||
mov r10, r5\n\
|
|
||||||
pop {r4-r7}\n\
|
|
||||||
pop {r0}\n\
|
|
||||||
bx r0\n\
|
|
||||||
");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static u32 sub_8028164(u32 unused, struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 *arg6, u32 *arg7, u32 *arg8)
|
static u32 sub_8028164(u32 unused, struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 *arg6, u32 *arg7, u32 *arg8)
|
||||||
{
|
{
|
||||||
|
@ -932,7 +932,7 @@ static void ReceiveGiftItem(u16 *item, u8 which)
|
|||||||
VarSet(VAR_TEMP_1, *item);
|
VarSet(VAR_TEMP_1, *item);
|
||||||
StringCopy(gStringVar1, gLinkPlayers[0].name);
|
StringCopy(gStringVar1, gLinkPlayers[0].name);
|
||||||
if (*item == ITEM_EON_TICKET)
|
if (*item == ITEM_EON_TICKET)
|
||||||
FlagSet(FLAG_SYS_HAS_EON_TICKET);
|
FlagSet(FLAG_ENABLE_SHIP_SOUTHERN_ISLAND);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -428,7 +428,7 @@ static void CreateLilycoveSSTidalMultichoice(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CheckBagHasItem(ITEM_EON_TICKET, 1) == TRUE && FlagGet(FLAG_SYS_HAS_EON_TICKET) == TRUE)
|
if (CheckBagHasItem(ITEM_EON_TICKET, 1) == TRUE && FlagGet(FLAG_ENABLE_SHIP_SOUTHERN_ISLAND) == TRUE)
|
||||||
{
|
{
|
||||||
if (gSpecialVar_0x8004 == 0)
|
if (gSpecialVar_0x8004 == 0)
|
||||||
{
|
{
|
||||||
@ -436,11 +436,11 @@ static void CreateLilycoveSSTidalMultichoice(void)
|
|||||||
selectionCount++;
|
selectionCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_EON_TICKET) == FALSE)
|
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_SHOWN_EON_TICKET) == FALSE)
|
||||||
{
|
{
|
||||||
sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SOUTHERN_ISLAND;
|
sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SOUTHERN_ISLAND;
|
||||||
selectionCount++;
|
selectionCount++;
|
||||||
FlagSet(FLAG_HAS_EON_TICKET);
|
FlagSet(FLAG_SHOWN_EON_TICKET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -452,11 +452,11 @@ static void CreateLilycoveSSTidalMultichoice(void)
|
|||||||
selectionCount++;
|
selectionCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_MYSTIC_TICKET) == FALSE)
|
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_SHOWN_MYSTIC_TICKET) == FALSE)
|
||||||
{
|
{
|
||||||
sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_NAVEL_ROCK;
|
sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_NAVEL_ROCK;
|
||||||
selectionCount++;
|
selectionCount++;
|
||||||
FlagSet(FLAG_HAS_MYSTIC_TICKET);
|
FlagSet(FLAG_SHOWN_MYSTIC_TICKET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -468,11 +468,11 @@ static void CreateLilycoveSSTidalMultichoice(void)
|
|||||||
selectionCount++;
|
selectionCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_AURORA_TICKET) == FALSE)
|
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_SHOWN_AURORA_TICKET) == FALSE)
|
||||||
{
|
{
|
||||||
sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BIRTH_ISLAND;
|
sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BIRTH_ISLAND;
|
||||||
selectionCount++;
|
selectionCount++;
|
||||||
FlagSet(FLAG_HAS_AURORA_TICKET);
|
FlagSet(FLAG_SHOWN_AURORA_TICKET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -484,11 +484,11 @@ static void CreateLilycoveSSTidalMultichoice(void)
|
|||||||
selectionCount++;
|
selectionCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_OLD_SEA_MAP) == FALSE)
|
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_SHOWN_OLD_SEA_MAP) == FALSE)
|
||||||
{
|
{
|
||||||
sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_FARAWAY_ISLAND;
|
sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_FARAWAY_ISLAND;
|
||||||
selectionCount++;
|
selectionCount++;
|
||||||
FlagSet(FLAG_HAS_OLD_SEA_MAP);
|
FlagSet(FLAG_SHOWN_OLD_SEA_MAP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user