mirror of
https://github.com/pret/pokeruby.git
synced 2026-10-09 10:01:24 -04:00
through sub_8096BE0
This commit is contained in:
@@ -5,123 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8096AFC
|
||||
sub_8096AFC: @ 8096AFC
|
||||
push {lr}
|
||||
ldr r2, _08096B2C @ =REG_BG2HOFS
|
||||
ldr r1, _08096B30 @ =gSharedMem
|
||||
ldr r3, _08096B34 @ =0x000008b4
|
||||
adds r0, r1, r3
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r2]
|
||||
adds r2, 0x4
|
||||
ldrh r0, [r1, 0xA]
|
||||
strh r0, [r2]
|
||||
adds r2, 0x2
|
||||
ldrh r0, [r1, 0x8]
|
||||
strh r0, [r2]
|
||||
bl LoadOam
|
||||
bl ProcessSpriteCopyRequests
|
||||
bl sub_809CFF0
|
||||
bl TransferPlttBuffer
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08096B2C: .4byte REG_BG2HOFS
|
||||
_08096B30: .4byte gSharedMem
|
||||
_08096B34: .4byte 0x000008b4
|
||||
thumb_func_end sub_8096AFC
|
||||
|
||||
thumb_func_start sub_8096B38
|
||||
sub_8096B38: @ 8096B38
|
||||
push {lr}
|
||||
ldr r0, _08096B58 @ =gSharedMem
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
bl sub_8097E44
|
||||
bl sub_8098734
|
||||
bl AnimateSprites
|
||||
bl BuildOamBuffer
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08096B58: .4byte gSharedMem
|
||||
thumb_func_end sub_8096B38
|
||||
|
||||
thumb_func_start sub_8096B5C
|
||||
sub_8096B5C: @ 8096B5C
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
ldr r4, _08096B70 @ =gSharedMem
|
||||
ldrb r0, [r4, 0x6]
|
||||
cmp r0, 0
|
||||
beq _08096B74
|
||||
cmp r0, 0x1
|
||||
beq _08096BAC
|
||||
b _08096BCC
|
||||
.align 2, 0
|
||||
_08096B70: .4byte gSharedMem
|
||||
_08096B74:
|
||||
ldr r1, _08096B98 @ =0x00002690
|
||||
adds r0, r4, r1
|
||||
ldr r0, [r0]
|
||||
ldr r2, _08096B9C @ =0x0000268d
|
||||
adds r1, r4, r2
|
||||
ldrb r1, [r1]
|
||||
ldr r3, _08096BA0 @ =0x0000268c
|
||||
adds r2, r4, r3
|
||||
ldrb r2, [r2]
|
||||
ldr r3, _08096BA4 @ =sub_80969A0
|
||||
ldr r5, _08096BA8 @ =0x0000268e
|
||||
adds r4, r5
|
||||
ldrb r4, [r4]
|
||||
str r4, [sp]
|
||||
bl ShowPokemonSummaryScreen
|
||||
b _08096BCC
|
||||
.align 2, 0
|
||||
_08096B98: .4byte 0x00002690
|
||||
_08096B9C: .4byte 0x0000268d
|
||||
_08096BA0: .4byte 0x0000268c
|
||||
_08096BA4: .4byte sub_80969A0
|
||||
_08096BA8: .4byte 0x0000268e
|
||||
_08096BAC:
|
||||
ldr r0, _08096BD4 @ =gPokemonStorage
|
||||
ldrb r2, [r0]
|
||||
lsls r1, r2, 3
|
||||
adds r1, r2
|
||||
ldr r2, _08096BD8 @ =0x00008344
|
||||
adds r0, r2
|
||||
adds r1, r0
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
ldr r0, _08096BDC @ =sub_80969A0
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl DoNamingScreen
|
||||
_08096BCC:
|
||||
add sp, 0x8
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08096BD4: .4byte gPokemonStorage
|
||||
_08096BD8: .4byte 0x00008344
|
||||
_08096BDC: .4byte sub_80969A0
|
||||
thumb_func_end sub_8096B5C
|
||||
|
||||
thumb_func_start sub_8096BE0
|
||||
sub_8096BE0: @ 8096BE0
|
||||
ldr r1, _08096BEC @ =gSharedMem
|
||||
str r0, [r1]
|
||||
movs r0, 0
|
||||
strb r0, [r1, 0x4]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08096BEC: .4byte gSharedMem
|
||||
thumb_func_end sub_8096BE0
|
||||
|
||||
thumb_func_start sub_8096BF0
|
||||
sub_8096BF0: @ 8096BF0
|
||||
push {r4,lr}
|
||||
|
||||
@@ -18,7 +18,7 @@ struct PokemonMarkMenu
|
||||
/*0x0030*/ u8 menuWindowSpriteTiles[0x1000];
|
||||
/*0x1030*/ u8 filler1030[0x80];
|
||||
/*0x10B0*/ u8 tileLoadState;
|
||||
};
|
||||
}; // 10b4
|
||||
|
||||
void sub_80F7404(void);
|
||||
void sub_80F727C(struct PokemonMarkMenu *ptr);
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
#include "event_data.h"
|
||||
#include "ewram.h"
|
||||
#include "script.h"
|
||||
#include "pokemon_summary_screen.h"
|
||||
#include "naming_screen.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
|
||||
struct StorageAction {
|
||||
@@ -31,15 +33,6 @@ struct UnkStruct_2000020 {
|
||||
u8 unk_05;
|
||||
};
|
||||
|
||||
struct PokemonStorageSystemData {
|
||||
u8 filler_0000[5];
|
||||
u8 unk_0005;
|
||||
u8 filler_0006[26];
|
||||
struct UnkStruct_2000020 unk_0020[595]; // refine size later
|
||||
u8 filler_12b8[4];
|
||||
struct PokemonMarkMenu unk_12bc;
|
||||
};
|
||||
|
||||
struct UnkPSSStruct_2002370 {
|
||||
struct Sprite *unk_0000;
|
||||
struct Sprite *unk_0004[4];
|
||||
@@ -51,6 +44,27 @@ struct UnkPSSStruct_2002370 {
|
||||
u8 unk_023e;
|
||||
u16 unk_0240;
|
||||
u16 unk_0242;
|
||||
}; // 0244
|
||||
|
||||
struct PokemonStorageSystemData {
|
||||
void (*unk_0000)(void);
|
||||
u8 unk_0004;
|
||||
u8 unk_0005;
|
||||
u8 unk_0006;
|
||||
u16 unk_0008;
|
||||
u16 unk_000a;
|
||||
u8 filler_000c[20];
|
||||
struct UnkStruct_2000020 unk_0020[274]; // refine size later
|
||||
u8 filler_08b0[4];
|
||||
u16 unk_08b4;
|
||||
u8 filler_08b6[0xa06];
|
||||
struct PokemonMarkMenu unk_12bc;
|
||||
struct UnkPSSStruct_2002370 unk_2370;
|
||||
u8 filler_25b4[0xd8];
|
||||
u8 unk_268c;
|
||||
u8 unk_268d;
|
||||
u8 unk_268e;
|
||||
struct Pokemon *unk_2690;
|
||||
};
|
||||
|
||||
void StorageSystemCreatePrimaryMenu(u8 whichMenu);
|
||||
@@ -69,8 +83,10 @@ void sub_8096BE0(void (*func)(void));
|
||||
void sub_8096BF0(void);
|
||||
void sub_8096C68(void);
|
||||
void sub_8097DE0(void);
|
||||
void sub_8097E44(void);
|
||||
void sub_8097E70(void);
|
||||
void sub_8098400(void);
|
||||
void sub_8098734(void);
|
||||
void sub_8099BF8(u8 a0);
|
||||
void sub_8098B48(void);
|
||||
struct Sprite *sub_809A9A0(u16 a0, u16 a1, u8 a2, u8 a3, u8 a4);
|
||||
@@ -80,6 +96,7 @@ void sub_809B0D4(void);
|
||||
void sub_809BBC0(void);
|
||||
void sub_809BD14(void);
|
||||
void sub_809CFDC(struct UnkStruct_2000020 *a0, struct UnkStruct_2000020 *a1, u8 a2);
|
||||
void sub_809CFF0(void);
|
||||
|
||||
const struct PSS_MenuStringPtrs gUnknown_083B600C[] = {
|
||||
{PCText_WithdrawPoke, PCText_MovePokeToParty},
|
||||
@@ -955,6 +972,45 @@ void sub_80969A0(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8096AFC(void)
|
||||
{
|
||||
REG_BG2HOFS = ePokemonStorageSystem.unk_08b4;
|
||||
REG_BG3HOFS = ePokemonStorageSystem.unk_000a;
|
||||
REG_BG3VOFS = ePokemonStorageSystem.unk_0008;
|
||||
LoadOam();
|
||||
ProcessSpriteCopyRequests();
|
||||
sub_809CFF0();
|
||||
TransferPlttBuffer();
|
||||
}
|
||||
|
||||
void sub_8096B38(void)
|
||||
{
|
||||
ePokemonStorageSystem.unk_0000();
|
||||
sub_8097E44();
|
||||
sub_8098734();
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
}
|
||||
|
||||
void sub_8096B5C(void)
|
||||
{
|
||||
switch (ePokemonStorageSystem.unk_0006)
|
||||
{
|
||||
case 0:
|
||||
ShowPokemonSummaryScreen(ePokemonStorageSystem.unk_2690, ePokemonStorageSystem.unk_268d, ePokemonStorageSystem.unk_268c, sub_80969A0, ePokemonStorageSystem.unk_268e);
|
||||
break;
|
||||
case 1:
|
||||
DoNamingScreen(1, gPokemonStorage.boxNames[gPokemonStorage.currentBox], 0, 0, 0, sub_80969A0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8096BE0(void (*func)(void))
|
||||
{
|
||||
ePokemonStorageSystem.unk_0000 = func;
|
||||
ePokemonStorageSystem.unk_0004 = 0;
|
||||
}
|
||||
|
||||
asm(".section .text.8098898");
|
||||
|
||||
void sub_8098898(u8 index) {
|
||||
|
||||
Reference in New Issue
Block a user