mirror of
https://github.com/pret/pokeruby.git
synced 2026-10-01 14:28:25 -05:00
finish decompiling unk_debug_menu_3 code
This commit is contained in:
@@ -1,82 +0,0 @@
|
||||
.if DEBUG
|
||||
|
||||
.include "constants/gba_constants.inc"
|
||||
.include "include/macros.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start debug_sub_813C904
|
||||
debug_sub_813C904:
|
||||
push {r4, lr}
|
||||
ldr r4, ._35 @ gPlayerParty
|
||||
add r0, r4, #0
|
||||
mov r1, #0x5
|
||||
mov r2, #0x32
|
||||
mov r3, #0xb7
|
||||
bl debug_sub_813C638
|
||||
add r0, r4, #0
|
||||
add r0, r0, #0x64
|
||||
mov r1, #0x8
|
||||
mov r2, #0x32
|
||||
mov r3, #0xc4
|
||||
bl debug_sub_813C638
|
||||
add r4, r4, #0xc8
|
||||
add r0, r4, #0
|
||||
mov r1, #0x2
|
||||
mov r2, #0x32
|
||||
mov r3, #0x8d
|
||||
bl debug_sub_813C638
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
._36:
|
||||
.align 2, 0
|
||||
._35:
|
||||
.word gPlayerParty
|
||||
|
||||
thumb_func_end debug_sub_813C904
|
||||
|
||||
thumb_func_start debug_sub_813C93C
|
||||
debug_sub_813C93C:
|
||||
push {r4, r5, r6, lr}
|
||||
add sp, sp, #0xffffff44
|
||||
add r4, r0, #0
|
||||
ldr r6, ._37 @ gUnknown_Debug_845E4EF
|
||||
ldr r5, ._37 + 4 @ gUnknown_Debug_845E606
|
||||
sub r5, r5, r6
|
||||
add r1, r6, #0
|
||||
add r2, r5, #0
|
||||
bl memcpy
|
||||
bl SavePlayerParty
|
||||
bl debug_sub_813C904
|
||||
ldr r1, ._37 + 8 @ Str_842E253
|
||||
ldr r2, ._37 + 12 @ 0x270f
|
||||
mov r0, sp
|
||||
bl debug_sub_8075DB4
|
||||
bl LoadPlayerParty
|
||||
ldr r0, ._37 + 16 @ gUnknown_Debug_845E506
|
||||
add r4, r4, r0
|
||||
sub r4, r4, r6
|
||||
add r0, r4, #0
|
||||
mov r1, sp
|
||||
mov r2, #0xbc
|
||||
bl memcpy
|
||||
add r0, r5, #0
|
||||
add sp, sp, #0xbc
|
||||
pop {r4, r5, r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
._38:
|
||||
.align 2, 0
|
||||
._37:
|
||||
.word gUnknown_Debug_845E4EF
|
||||
.word gUnknown_Debug_845E606
|
||||
.word Str_842E253+5 @ weird...
|
||||
.word 0x270f
|
||||
.word gUnknown_Debug_845E506
|
||||
|
||||
thumb_func_end debug_sub_813C93C
|
||||
|
||||
.align 2, 0
|
||||
|
||||
.endif
|
||||
@@ -215,6 +215,7 @@ gUnknown_Debug_845E4EF::
|
||||
|
||||
gUnknown_Debug_845E506::
|
||||
.space 256
|
||||
gUnknown_Debug_845E4EFEnd::
|
||||
|
||||
gUnknown_Debug_845E606::
|
||||
me_checkcompat gUnknown_Debug_845E606, 0x4, 0x4, 0x4, 0x80
|
||||
|
||||
@@ -9,5 +9,6 @@ void sub_80712B4(u8 taskId);
|
||||
void sub_8071310(void);
|
||||
void ScrSpecial_DoSaveDialog(void);
|
||||
void sub_8071B28(void);
|
||||
void debug_sub_8075DB4(struct BattleTowerEReaderTrainer *ereaderTrainer, const u8 *b, u32 trainerId);
|
||||
|
||||
#endif // GUARD_STARTER_CHOOSE_H
|
||||
|
||||
@@ -364,7 +364,6 @@ SECTIONS {
|
||||
src/save.o(.text);
|
||||
src/mystery_event_script.o(.text);
|
||||
src/debug/unk_debug_menu_3.o(.text);
|
||||
asm/unk_debug_menu_3.o(.text);
|
||||
src/field_effect_helpers.o(.text);
|
||||
src/contest_ai.o(.text);
|
||||
src/unused_81258BC.o(.text);
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include "constants/items.h"
|
||||
#include "string_util.h"
|
||||
#include "new_game.h"
|
||||
#include "load_save.h"
|
||||
#include "start_menu.h"
|
||||
#include "mystery_event_script.h"
|
||||
#include "berry.h"
|
||||
#include "mail_data.h"
|
||||
@@ -222,7 +224,6 @@ size_t debug_sub_813C740(u8 * dest)
|
||||
dataBuffer[0] = LANGUAGE_JAPANESE;
|
||||
SetMonData(mon, MON_DATA_LANGUAGE, dataBuffer);
|
||||
|
||||
// nonmatching pointer arithmetic
|
||||
memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon));
|
||||
|
||||
memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct));
|
||||
@@ -243,7 +244,6 @@ size_t debug_sub_813C810(u8 * dest)
|
||||
debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL);
|
||||
debug_sub_813C6AC(mon, &mail);
|
||||
|
||||
// nonmatching pointer arithmetic
|
||||
memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon));
|
||||
|
||||
memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct));
|
||||
@@ -266,7 +266,6 @@ size_t debug_sub_813C888(u8 * dest)
|
||||
debug_sub_813C6AC(mon, &mail);
|
||||
mon->box.checksum = 0;
|
||||
|
||||
// nonmatching pointer arithmetic
|
||||
memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon));
|
||||
|
||||
memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct));
|
||||
@@ -276,4 +275,33 @@ size_t debug_sub_813C888(u8 * dest)
|
||||
return size;
|
||||
}
|
||||
|
||||
void debug_sub_813C904(void)
|
||||
{
|
||||
debug_sub_813C638(gPlayerParty + 0, SPECIES_CHARMELEON, 50, ITEM_QUICK_CLAW);
|
||||
debug_sub_813C638(gPlayerParty + 1, SPECIES_WARTORTLE, 50, ITEM_FOCUS_BAND);
|
||||
debug_sub_813C638(gPlayerParty + 2, SPECIES_IVYSAUR, 50, ITEM_LUM_BERRY);
|
||||
}
|
||||
|
||||
extern u8 gUnknown_Debug_845E4EF[];
|
||||
extern u8 gUnknown_Debug_845E4EFEnd[];
|
||||
extern u8 gUnknown_Debug_845E506[];
|
||||
extern const u8 Str_842E253[];
|
||||
|
||||
size_t debug_sub_813C93C(u8 * dest)
|
||||
{
|
||||
u8 * src = gUnknown_Debug_845E4EF;
|
||||
size_t size = gUnknown_Debug_845E4EFEnd - src;
|
||||
struct BattleTowerEReaderTrainer ereaderTrainer;
|
||||
|
||||
memcpy(dest, src, size);
|
||||
SavePlayerParty();
|
||||
debug_sub_813C904();
|
||||
debug_sub_8075DB4(&ereaderTrainer, Str_842E253 + 5, 9999);
|
||||
LoadPlayerParty();
|
||||
|
||||
memcpy(gUnknown_Debug_845E506 - src + dest, &ereaderTrainer, sizeof(ereaderTrainer));
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
#endif // DEBUG
|
||||
|
||||
Reference in New Issue
Block a user