diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-01-23 12:25:04 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-01-23 12:25:04 -0500 |
commit | 49ff4ad4e8f5cf8cea984e255ba3bb5051ff91e6 (patch) | |
tree | 8fbdd739bdb2586c62c8a057135ebe165e00cdba | |
parent | 0ec2cb85de36a636a96f24101cd5a20ffb53f5ea (diff) |
through sub_80C2340
-rw-r--r-- | asm/contest_link_80C2020.s | 114 | ||||
-rw-r--r-- | asm/contest_link_80C857C.s | 4 | ||||
-rw-r--r-- | data/contest_link_80C2020.s | 3 | ||||
-rw-r--r-- | include/battle.h | 2 | ||||
-rw-r--r-- | include/contest.h | 12 | ||||
-rw-r--r-- | src/battle/contest_link_80C2020.c | 37 | ||||
-rw-r--r-- | src/contest.c | 6 | ||||
-rw-r--r-- | src/contest_ai.c | 5 | ||||
-rw-r--r-- | src/debug/matsuda_debug_menu.c | 19 | ||||
-rw-r--r-- | src/pokemon/pokemon_size_record.c | 2 | ||||
-rw-r--r-- | src/script_pokemon_util_80C4BF0.c | 16 | ||||
-rw-r--r-- | sym_common.txt | 2 |
12 files changed, 64 insertions, 158 deletions
diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s index 4d0f6281e..9fe07f3c0 100644 --- a/asm/contest_link_80C2020.s +++ b/asm/contest_link_80C2020.s @@ -5,120 +5,6 @@ .text - thumb_func_start sub_80C226C -sub_80C226C: @ 80C226C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080C2288 @ =gContestPlayerMonIndex - ldrb r0, [r0] - cmp r5, r0 - bne _080C2294 - ldr r0, _080C228C @ =gDisplayedStringBattle - ldr r1, _080C2290 @ =gUnknown_083D17DC - bl StringCopy - adds r2, r0, 0 - b _080C2296 - .align 2, 0 -_080C2288: .4byte gContestPlayerMonIndex -_080C228C: .4byte gDisplayedStringBattle -_080C2290: .4byte gUnknown_083D17DC -_080C2294: - ldr r2, _080C22E8 @ =gDisplayedStringBattle -_080C2296: - movs r4, 0xFC - strb r4, [r2] - movs r0, 0x6 - strb r0, [r2, 0x1] - movs r0, 0x4 - strb r0, [r2, 0x2] - adds r2, 0x3 - lsls r6, r5, 6 - ldr r7, _080C22EC @ =gContestMons + 0x2 - adds r1, r6, r7 - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - strb r4, [r2] - movs r0, 0x13 - strb r0, [r2, 0x1] - movs r0, 0x32 - strb r0, [r2, 0x2] - adds r2, 0x3 - ldr r1, _080C22F0 @ =gUnknown_083D17E0 - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - ldr r0, _080C22F4 @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C22FC - lsls r4, r5, 3 - subs r1, r4, r5 - lsls r1, 2 - ldr r0, _080C22F8 @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r2, 0 - bl StringCopy - b _080C230A - .align 2, 0 -_080C22E8: .4byte gDisplayedStringBattle -_080C22EC: .4byte gContestMons + 0x2 -_080C22F0: .4byte gUnknown_083D17E0 -_080C22F4: .4byte gIsLinkContest -_080C22F8: .4byte gLinkPlayers + 0x8 -_080C22FC: - adds r1, r7, 0 - adds r1, 0xB - adds r1, r6, r1 - adds r0, r2, 0 - bl StringCopy - lsls r4, r5, 3 -_080C230A: - ldr r0, _080C2334 @ =gMenuWindow - ldr r1, _080C2338 @ =gDisplayedStringBattle - adds r2, r4, r5 - lsls r2, 18 - ldr r3, _080C233C @ =0x03020000 - adds r2, r3 - lsrs r2, 16 - lsls r3, r5, 1 - adds r3, r5 - adds r3, 0x4 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - movs r3, 0x7 - bl Text_InitWindowAndPrintText - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2334: .4byte gMenuWindow -_080C2338: .4byte gDisplayedStringBattle -_080C233C: .4byte 0x03020000 - thumb_func_end sub_80C226C - - thumb_func_start sub_80C2340 -sub_80C2340: @ 80C2340 - push {r4,lr} - movs r4, 0 -_080C2344: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80C226C - adds r4, 0x1 - cmp r4, 0x3 - ble _080C2344 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C2340 - thumb_func_start sub_80C2358 sub_80C2358: @ 80C2358 push {r4,r5,lr} diff --git a/asm/contest_link_80C857C.s b/asm/contest_link_80C857C.s index 6afcaec6d..a77721677 100644 --- a/asm/contest_link_80C857C.s +++ b/asm/contest_link_80C857C.s @@ -735,7 +735,7 @@ _080C88FC: adds r1, r4, 0 movs r2, 0x4 bl memcpy - ldr r0, _080C8934 @ =gUnknown_03005D28 + ldr r0, _080C8934 @ =gContestRngValue adds r1, r4, 0 movs r2, 0x4 bl memcpy @@ -750,7 +750,7 @@ _080C8924: .align 2, 0 _080C892C: .4byte gRngValue _080C8930: .4byte gBlockRecvBuffer -_080C8934: .4byte gUnknown_03005D28 +_080C8934: .4byte gContestRngValue thumb_func_end sub_80C88AC .ifdef ENGLISH diff --git a/data/contest_link_80C2020.s b/data/contest_link_80C2020.s index f0ad06a32..fe5398935 100644 --- a/data/contest_link_80C2020.s +++ b/data/contest_link_80C2020.s @@ -73,6 +73,3 @@ gUnknown_083D17E0:: @ 83D17E0 gUnknown_083D17E2:: @ 83D17E2 .string "{SIZE 3}{COLOR_HIGHLIGHT_SHADOW WHITE2 DARK_GREY LIGHT_BLUE}$" - - .align 2 - .incbin "graphics/unknown/unknown_3D17EC.gbapal" diff --git a/include/battle.h b/include/battle.h index fd60ced79..7d8878018 100644 --- a/include/battle.h +++ b/include/battle.h @@ -721,6 +721,8 @@ extern u16 gBattle_WIN0V; extern u16 gBattle_WIN1H; extern u16 gBattle_WIN1V; +extern u8 gDisplayedStringBattle[]; + // asm/battle_1.o void sub_800D6D4(); void sub_800D74C(); diff --git a/include/contest.h b/include/contest.h index 6b1f1f520..b0bdd7f61 100644 --- a/include/contest.h +++ b/include/contest.h @@ -271,4 +271,16 @@ struct UnknownContestStruct6 #define shared19338 ((struct UnknownContestStruct4 *)(gSharedMem + 0x19338)) #define shared19348 (*(struct UnknownContestStruct8 *)(gSharedMem + 0x19348)) +extern u8 gContestPlayerMonIndex; +extern u8 gIsLinkContest; +extern u32 gContestRngValue; +extern u8 gUnknown_02038696[4]; +extern s16 gUnknown_02038670[4]; +extern s16 gUnknown_02038678[4]; +extern s16 gUnknown_02038680[4]; +extern u16 gUnknown_02038688[4]; +extern u8 gContestFinalStandings[4]; +extern u8 gUnknown_02038696[4]; +extern u8 gUnknown_0203869B; + #endif // GUARD_CONTEST_H diff --git a/src/battle/contest_link_80C2020.c b/src/battle/contest_link_80C2020.c index 5e3cc3cce..27f3f8ea3 100644 --- a/src/battle/contest_link_80C2020.c +++ b/src/battle/contest_link_80C2020.c @@ -3,6 +3,7 @@ #include "palette.h" #include "graphics.h" #include "text.h" +#include "string_util.h" #include "menu.h" #include "battle.h" #include "contest.h" @@ -14,6 +15,9 @@ void sub_80C37E4(void); u8 sub_80C3990(u8 a0, u8 a5); s8 sub_80C39E4(u8 a0, u8 a5); +extern const u8 gUnknown_083D17DC[]; +extern const u8 gUnknown_083D17E0[]; + void sub_80C2020(void) { REG_DISPCNT = DISPCNT_OBJ_1D_MAP; @@ -95,3 +99,36 @@ void sub_80C2144(void) } } } + +void sub_80C226C(u8 a0) +{ + u8 *strbuf; + + if (a0 == gContestPlayerMonIndex) + strbuf = StringCopy(gDisplayedStringBattle, gUnknown_083D17DC); + else + strbuf = gDisplayedStringBattle; + strbuf[0] = EXT_CTRL_CODE_BEGIN; + strbuf[1] = 0x06; + strbuf[2] = 0x04; + strbuf += 3; + strbuf = StringCopy(strbuf, gContestMons[a0].nickname); + strbuf[0] = EXT_CTRL_CODE_BEGIN; + strbuf[1] = 0x13; + strbuf[2] = 0x32; + strbuf += 3; + strbuf = StringCopy(strbuf, gUnknown_083D17E0); + if (gIsLinkContest & 1) + StringCopy(strbuf, gLinkPlayers[a0].name); + else + StringCopy(strbuf, gContestMons[a0].trainerName); + Text_InitWindowAndPrintText(&gMenuWindow, gDisplayedStringBattle, a0 * 36 + 770, 7, a0 * 3 + 4); +} + +void sub_80C2340(void) +{ + int i; + + for (i = 0; i < 4; i++) + sub_80C226C(i); +} diff --git a/src/contest.c b/src/contest.c index e690488fb..9c115840e 100644 --- a/src/contest.c +++ b/src/contest.c @@ -47,7 +47,7 @@ extern u8 gBankTarget; extern u8 gBanksBySide[]; extern u8 gObjectBankIDs[]; extern struct Window gUnknown_03004210; -extern u32 gUnknown_03005D28; // saved RNG value +extern u32 gContestRngValue; // saved RNG value extern struct SpriteTemplate gUnknown_02024E8C; @@ -483,7 +483,7 @@ void sub_80AB6B4(u8 taskId) GetMultiplayerId(); // unused return value DestroyTask(taskId); gTasks[sContest.mainTaskId].func = sub_80AB960; - gRngValue = gUnknown_03005D28; + gRngValue = gContestRngValue; } } @@ -1799,7 +1799,7 @@ void sub_80ADDA4(u8 taskId) sub_80AF668(); sub_80AF138(); sub_80BE23C(sContestantStatus[gContestPlayerMonIndex].prevMove); - gUnknown_03005D28 = gRngValue; + gContestRngValue = gRngValue; StringExpandPlaceholders(gStringVar4, gUnknown_083CB02C); Text_InitWindow8002EB0(&gMenuWindow, gStringVar4, 776, 1, 15); gTasks[taskId].data[2] = 0; diff --git a/src/contest_ai.c b/src/contest_ai.c index 66b387270..932f9fb8a 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -8,7 +8,6 @@ extern u8 AreMovesContestCombo(u16, u16); extern bool8 sub_80B214C(u8); extern bool8 Contest_IsMonsTurnDisabled(u8); -extern s16 gUnknown_02038670[]; extern u16 gSpecialVar_ContestCategory; extern u8 *gAIScriptPtr; @@ -1119,7 +1118,7 @@ static void ContestAICmd_check_would_finish_combo(void) if(sContestantStatus[eContestAI->unk41].prevMove) result = AreMovesContestCombo(sContestantStatus[eContestAI->unk41].prevMove, move); - + if(result) result = 1; @@ -1727,7 +1726,7 @@ static void ContestAICmd_unk_85(void) int result = 0; int i; u16 arg = T1_READ_16(gAIScriptPtr + 1); - + for(i = 0; i < 4; i++) { u16 move = gContestMons[eContestAI->unk41].moves[i]; diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index da1937adb..62d49fc62 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -1,5 +1,6 @@ #include "global.h" #include "matsuda_debug_menu.h" +#include "battle.h" #include "contest.h" #include "contest_link_80C2020.h" #include "contest_link_80C857C.h" @@ -18,30 +19,12 @@ #include "ewram.h" extern u8 gUnknown_0203856C; -extern s16 gUnknown_02038670[]; -extern s16 gUnknown_02038678[]; -extern s16 gUnknown_02038680[]; -extern u8 gContestFinalStandings[]; extern u8 gUnknown_02038694; -extern u8 gIsLinkContest; -extern u8 gUnknown_0203869B; -extern u8 gContestPlayerMonIndex; extern u16 gSpecialVar_ContestCategory; extern u16 gSpecialVar_ContestRank; -extern u16 gBattle_BG0_X; -extern u16 gBattle_BG0_Y; -extern u16 gBattle_BG1_X; -extern u16 gBattle_BG1_Y; -extern u16 gBattle_BG2_X; -extern u16 gBattle_BG2_Y; -extern u16 gBattle_BG3_X; -extern u16 gBattle_BG3_Y; - extern u8 (*gMenuCallback)(void); -extern bool8 gReceivedRemoteLinkPlayers; - static bool8 sub_80A9B78(void); static void sub_80A9BE4(u8 taskId); static void sub_80A9C98(u8); diff --git a/src/pokemon/pokemon_size_record.c b/src/pokemon/pokemon_size_record.c index f92a95bfb..2ba4e57cc 100644 --- a/src/pokemon/pokemon_size_record.c +++ b/src/pokemon/pokemon_size_record.c @@ -8,6 +8,8 @@ #include "strings2.h" #include "text.h" +const u16 Unknown_083D17EC[] = INCBIN_U16("graphics/unknown/unknown_3D17EC.gbapal"); + struct UnknownStruct { u16 unk0; diff --git a/src/script_pokemon_util_80C4BF0.c b/src/script_pokemon_util_80C4BF0.c index f991297ab..22fce174a 100644 --- a/src/script_pokemon_util_80C4BF0.c +++ b/src/script_pokemon_util_80C4BF0.c @@ -32,26 +32,14 @@ extern void sub_80C4698(u8 *, u8); extern struct SpriteTemplate gUnknown_02024E8C; -extern u8 gContestPlayerMonIndex; -extern u8 gIsLinkContest; -extern u8 gPlayerPartyCount; extern u8 gSelectedOrderFromParty[]; -extern u16 gSpecialVar_0x8004; -extern u16 gSpecialVar_0x8005; -extern u16 gSpecialVar_0x8006; extern u16 gSpecialVar_ContestCategory; extern u16 gSpecialVar_ContestRank; -extern u16 gSpecialVar_Result; - -extern u32 gUnknown_03005D28; extern u8 gUnknown_02038694; extern u8 gUnknown_0203856C; -extern u8 gContestFinalStandings[]; -extern s16 gUnknown_02038670[]; -extern s16 gUnknown_02038678[]; void SetContestTrainerGfxIds(void) { @@ -373,8 +361,8 @@ void ScriptRandom(void) if(gIsLinkContest & 1) { - gUnknown_03005D28 = 1103515245 * gUnknown_03005D28 + 24691; - random = gUnknown_03005D28 >> 16; + gContestRngValue = 1103515245 * gContestRngValue + 24691; + random = gContestRngValue >> 16; scriptPtr = &gSpecialVar_Result; } else diff --git a/sym_common.txt b/sym_common.txt index 64e87c046..0bc9fd80c 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -213,7 +213,7 @@ gFieldItemUseCallback = .; gBagPocketScrollStates = .; . += 0x14; SYMBOL(gCurrentBagPocketItemSlots, 4) -SYMBOL(gUnknown_03005D28, 4) +SYMBOL(gContestRngValue, 4) // record_mixing.c SYMBOL(gUnknown_03005D2C, 4) |