mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-24 01:35:07 -05:00
Merge pull request #141 from Kermalis/kermalis-felicity-bank
Complete felicity bank
This commit is contained in:
@@ -1419,14 +1419,14 @@ _0802038C:
|
||||
ldrsh r1, [r2, r5]
|
||||
adds r2, 0x24
|
||||
movs r0, 0
|
||||
bl DisplayGulpinDialogueSprite
|
||||
bl CreateGulpinShop
|
||||
b _08020562
|
||||
_080203A2:
|
||||
movs r0, 0xC
|
||||
ldrsh r1, [r2, r0]
|
||||
adds r2, 0x24
|
||||
movs r0, 0x1
|
||||
bl DisplayGulpinDialogueSprite
|
||||
bl CreateGulpinShop
|
||||
b _08020562
|
||||
_080203B0:
|
||||
ldr r2, [r5]
|
||||
@@ -2709,14 +2709,14 @@ sub_8020D90:
|
||||
ldr r1, _08020DB8
|
||||
ldr r1, [r1]
|
||||
strb r0, [r1, 0x14]
|
||||
bl sub_801E93C
|
||||
bl DestroyGulpinShop
|
||||
movs r0, 0x1A
|
||||
bl sub_801FDA8
|
||||
b _08020DC6
|
||||
.align 2, 0
|
||||
_08020DB8: .4byte gUnknown_203B27C
|
||||
_08020DBC:
|
||||
bl sub_801E93C
|
||||
bl DestroyGulpinShop
|
||||
movs r0, 0x10
|
||||
bl sub_801FDA8
|
||||
_08020DC6:
|
||||
|
||||
@@ -1,571 +0,0 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start UpdateFelicityBankDialogue
|
||||
UpdateFelicityBankDialogue:
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x14
|
||||
ldr r1, _08016558
|
||||
ldr r0, [r1]
|
||||
ldr r0, [r0, 0x4]
|
||||
adds r2, r1, 0
|
||||
cmp r0, 0xC
|
||||
bls _0801654E
|
||||
b _080168EC
|
||||
_0801654E:
|
||||
lsls r0, 2
|
||||
ldr r1, _0801655C
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08016558: .4byte gUnknown_203B204
|
||||
_0801655C: .4byte _08016560
|
||||
.align 2, 0
|
||||
_08016560:
|
||||
.4byte _08016594
|
||||
.4byte _080165B4
|
||||
.4byte _080168B2
|
||||
.4byte _08016650
|
||||
.4byte _08016668
|
||||
.4byte _080166C4
|
||||
.4byte _080168EC
|
||||
.4byte _080166DC
|
||||
.4byte _0801674C
|
||||
.4byte _080167A8
|
||||
.4byte _080167CC
|
||||
.4byte _0801685C
|
||||
.4byte _080168C4
|
||||
_08016594:
|
||||
ldr r2, [r2]
|
||||
movs r0, 0x1
|
||||
str r0, [r2, 0x8]
|
||||
ldr r3, _080165B0
|
||||
ldr r1, [r2]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r3
|
||||
ldr r0, [r0]
|
||||
adds r2, 0xA4
|
||||
ldr r2, [r2]
|
||||
b _08016844
|
||||
.align 2, 0
|
||||
_080165B0: .4byte gFelicityDialogue
|
||||
_080165B4:
|
||||
bl CreateFelicityBankShopMenu
|
||||
ldr r0, _080165FC
|
||||
ldr r0, [r0]
|
||||
mov r12, r0
|
||||
movs r0, 0x2
|
||||
mov r1, r12
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, _08016600
|
||||
ldr r0, [r0]
|
||||
movs r3, 0x99
|
||||
lsls r3, 2
|
||||
adds r0, r3
|
||||
ldr r4, [r0]
|
||||
cmp r4, 0
|
||||
bne _08016608
|
||||
ldr r2, _08016604
|
||||
ldr r1, [r1]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x4
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
mov r5, r12
|
||||
ldr r2, [r5, 0x10]
|
||||
mov r3, r12
|
||||
adds r3, 0x14
|
||||
mov r1, r12
|
||||
adds r1, 0x54
|
||||
str r1, [sp]
|
||||
movs r1, 0x4
|
||||
str r1, [sp, 0x4]
|
||||
str r4, [sp, 0x8]
|
||||
b _08016632
|
||||
.align 2, 0
|
||||
_080165FC: .4byte gUnknown_203B204
|
||||
_08016600: .4byte gTeamInventory_203B460
|
||||
_08016604: .4byte gFelicityDialogue
|
||||
_08016608:
|
||||
ldr r0, _08016648
|
||||
str r4, [r0]
|
||||
ldr r2, _0801664C
|
||||
mov r0, r12
|
||||
ldr r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x8
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
mov r1, r12
|
||||
ldr r2, [r1, 0x10]
|
||||
mov r3, r12
|
||||
adds r3, 0x14
|
||||
adds r1, 0x54
|
||||
str r1, [sp]
|
||||
movs r1, 0x4
|
||||
str r1, [sp, 0x4]
|
||||
movs r1, 0
|
||||
str r1, [sp, 0x8]
|
||||
_08016632:
|
||||
mov r1, r12
|
||||
adds r1, 0xA4
|
||||
ldr r1, [r1]
|
||||
str r1, [sp, 0xC]
|
||||
movs r1, 0xC
|
||||
str r1, [sp, 0x10]
|
||||
movs r1, 0
|
||||
bl sub_8014248
|
||||
b _080168EC
|
||||
.align 2, 0
|
||||
_08016648: .4byte gUnknown_202DE30
|
||||
_0801664C: .4byte gFelicityDialogue
|
||||
_08016650:
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x1
|
||||
str r0, [r3, 0x8]
|
||||
ldr r2, _08016664
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x38
|
||||
b _0801683C
|
||||
.align 2, 0
|
||||
_08016664: .4byte gFelicityDialogue
|
||||
_08016668:
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x6
|
||||
str r0, [r3, 0x8]
|
||||
ldr r0, _08016698
|
||||
ldr r0, [r0]
|
||||
movs r5, 0x99
|
||||
lsls r5, 2
|
||||
adds r0, r5
|
||||
ldr r1, [r0]
|
||||
cmp r1, 0
|
||||
bne _080166A0
|
||||
ldr r2, _0801669C
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x10
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
adds r1, r3, 0
|
||||
adds r1, 0xA4
|
||||
ldr r2, [r1]
|
||||
b _08016844
|
||||
.align 2, 0
|
||||
_08016698: .4byte gTeamInventory_203B460
|
||||
_0801669C: .4byte gFelicityDialogue
|
||||
_080166A0:
|
||||
ldr r0, _080166BC
|
||||
str r1, [r0]
|
||||
ldr r2, _080166C0
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x14
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
adds r1, r3, 0
|
||||
adds r1, 0xA4
|
||||
ldr r2, [r1]
|
||||
b _08016844
|
||||
.align 2, 0
|
||||
_080166BC: .4byte gUnknown_202DE30
|
||||
_080166C0: .4byte gFelicityDialogue
|
||||
_080166C4:
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x1
|
||||
str r0, [r3, 0x8]
|
||||
ldr r2, _080166D8
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0xC
|
||||
b _0801683C
|
||||
.align 2, 0
|
||||
_080166D8: .4byte gFelicityDialogue
|
||||
_080166DC:
|
||||
ldr r0, _08016700
|
||||
ldr r1, [r0]
|
||||
movs r3, 0x98
|
||||
lsls r3, 2
|
||||
adds r0, r1, r3
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08016708
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x1
|
||||
str r0, [r3, 0x8]
|
||||
ldr r2, _08016704
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x1C
|
||||
b _0801683C
|
||||
.align 2, 0
|
||||
_08016700: .4byte gTeamInventory_203B460
|
||||
_08016704: .4byte gFelicityDialogue
|
||||
_08016708:
|
||||
movs r5, 0x99
|
||||
lsls r5, 2
|
||||
adds r0, r1, r5
|
||||
ldr r1, [r0]
|
||||
ldr r0, _0801672C
|
||||
cmp r1, r0
|
||||
ble _08016734
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x1
|
||||
str r0, [r3, 0x8]
|
||||
ldr r2, _08016730
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x20
|
||||
b _0801683C
|
||||
.align 2, 0
|
||||
_0801672C: .4byte 0x0098967e
|
||||
_08016730: .4byte gFelicityDialogue
|
||||
_08016734:
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x8
|
||||
str r0, [r3, 0x8]
|
||||
ldr r2, _08016748
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x18
|
||||
b _0801683C
|
||||
.align 2, 0
|
||||
_08016748: .4byte gFelicityDialogue
|
||||
_0801674C:
|
||||
ldr r4, [r2]
|
||||
ldr r0, _080167A0
|
||||
ldr r3, [r0]
|
||||
movs r1, 0x99
|
||||
lsls r1, 2
|
||||
adds r0, r3, r1
|
||||
ldr r1, [r0]
|
||||
ldr r0, _080167A4
|
||||
subs r0, r1
|
||||
str r0, [r4, 0x70]
|
||||
movs r5, 0x98
|
||||
lsls r5, 2
|
||||
adds r1, r3, r5
|
||||
ldr r1, [r1]
|
||||
cmp r0, r1
|
||||
ble _0801676E
|
||||
str r1, [r4, 0x70]
|
||||
_0801676E:
|
||||
ldr r2, [r2]
|
||||
ldr r0, [r2, 0x70]
|
||||
str r0, [r2, 0x68]
|
||||
movs r0, 0x1
|
||||
str r0, [r2, 0x6C]
|
||||
movs r0, 0x5
|
||||
str r0, [r2, 0x74]
|
||||
movs r0, 0x2
|
||||
str r0, [r2, 0x78]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0xD8
|
||||
str r0, [r2, 0x7C]
|
||||
adds r1, r2, 0
|
||||
adds r1, 0x80
|
||||
movs r0, 0x50
|
||||
str r0, [r1]
|
||||
adds r1, 0x4
|
||||
movs r0, 0x12
|
||||
str r0, [r1]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x64
|
||||
bl sub_8013AA0
|
||||
movs r0, 0x1
|
||||
b _080168AE
|
||||
.align 2, 0
|
||||
_080167A0: .4byte gTeamInventory_203B460
|
||||
_080167A4: .4byte 0x0098967f
|
||||
_080167A8:
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x1
|
||||
str r0, [r3, 0x8]
|
||||
ldr r1, _080167C4
|
||||
ldr r0, [r3, 0xC]
|
||||
str r0, [r1]
|
||||
ldr r2, _080167C8
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x24
|
||||
b _0801683C
|
||||
.align 2, 0
|
||||
_080167C4: .4byte gUnknown_202DE30
|
||||
_080167C8: .4byte gFelicityDialogue
|
||||
_080167CC:
|
||||
ldr r0, _080167F4
|
||||
ldr r3, [r0]
|
||||
movs r1, 0x98
|
||||
lsls r1, 2
|
||||
adds r0, r3, r1
|
||||
ldr r1, [r0]
|
||||
ldr r0, _080167F8
|
||||
cmp r1, r0
|
||||
ble _08016800
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x1
|
||||
str r0, [r3, 0x8]
|
||||
ldr r2, _080167FC
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x30
|
||||
b _0801683C
|
||||
.align 2, 0
|
||||
_080167F4: .4byte gTeamInventory_203B460
|
||||
_080167F8: .4byte 0x0001869e
|
||||
_080167FC: .4byte gFelicityDialogue
|
||||
_08016800:
|
||||
movs r5, 0x99
|
||||
lsls r5, 2
|
||||
adds r4, r3, r5
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
bne _08016824
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x1
|
||||
str r0, [r3, 0x8]
|
||||
ldr r2, _08016820
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x2C
|
||||
b _0801683C
|
||||
.align 2, 0
|
||||
_08016820: .4byte gFelicityDialogue
|
||||
_08016824:
|
||||
ldr r3, [r2]
|
||||
movs r0, 0xB
|
||||
str r0, [r3, 0x8]
|
||||
ldr r1, _08016850
|
||||
ldr r0, [r4]
|
||||
str r0, [r1]
|
||||
ldr r2, _08016854
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x28
|
||||
_0801683C:
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
adds r3, 0xA4
|
||||
ldr r2, [r3]
|
||||
_08016844:
|
||||
ldr r3, _08016858
|
||||
movs r1, 0
|
||||
bl sub_80141B4
|
||||
b _080168EC
|
||||
.align 2, 0
|
||||
_08016850: .4byte gUnknown_202DE30
|
||||
_08016854: .4byte gFelicityDialogue
|
||||
_08016858: .4byte 0x0000010d
|
||||
_0801685C:
|
||||
ldr r4, [r2]
|
||||
ldr r0, _080168BC
|
||||
ldr r3, [r0]
|
||||
movs r1, 0x98
|
||||
lsls r1, 2
|
||||
adds r0, r3, r1
|
||||
ldr r1, [r0]
|
||||
ldr r0, _080168C0
|
||||
subs r0, r1
|
||||
str r0, [r4, 0x70]
|
||||
movs r5, 0x99
|
||||
lsls r5, 2
|
||||
adds r1, r3, r5
|
||||
ldr r1, [r1]
|
||||
cmp r0, r1
|
||||
ble _0801687E
|
||||
str r1, [r4, 0x70]
|
||||
_0801687E:
|
||||
ldr r2, [r2]
|
||||
ldr r0, [r2, 0x70]
|
||||
str r0, [r2, 0x68]
|
||||
movs r0, 0x1
|
||||
str r0, [r2, 0x6C]
|
||||
movs r0, 0x5
|
||||
str r0, [r2, 0x74]
|
||||
movs r0, 0x2
|
||||
str r0, [r2, 0x78]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0xD8
|
||||
str r0, [r2, 0x7C]
|
||||
adds r1, r2, 0
|
||||
adds r1, 0x80
|
||||
movs r0, 0x50
|
||||
str r0, [r1]
|
||||
adds r1, 0x4
|
||||
movs r0, 0x12
|
||||
str r0, [r1]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x64
|
||||
bl sub_8013AA0
|
||||
movs r0, 0
|
||||
_080168AE:
|
||||
bl sub_8016B48
|
||||
_080168B2:
|
||||
movs r0, 0x3
|
||||
bl CreateFelicityMoneySavingsHeader
|
||||
b _080168EC
|
||||
.align 2, 0
|
||||
_080168BC: .4byte gTeamInventory_203B460
|
||||
_080168C0: .4byte 0x0001869f
|
||||
_080168C4:
|
||||
ldr r3, [r2]
|
||||
movs r0, 0x1
|
||||
str r0, [r3, 0x8]
|
||||
ldr r1, _080168F4
|
||||
ldr r0, [r3, 0xC]
|
||||
str r0, [r1]
|
||||
ldr r2, _080168F8
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 4
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x34
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
adds r3, 0xA4
|
||||
ldr r2, [r3]
|
||||
ldr r3, _080168FC
|
||||
movs r1, 0
|
||||
bl sub_80141B4
|
||||
_080168EC:
|
||||
add sp, 0x14
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080168F4: .4byte gUnknown_202DE30
|
||||
_080168F8: .4byte gFelicityDialogue
|
||||
_080168FC: .4byte 0x0000010d
|
||||
thumb_func_end UpdateFelicityBankDialogue
|
||||
|
||||
thumb_func_start CreateFelicityBankShopMenu
|
||||
CreateFelicityBankShopMenu:
|
||||
push {r4-r7,lr}
|
||||
ldr r4, _08016980
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x54
|
||||
movs r1, 0
|
||||
movs r2, 0x10
|
||||
bl MemoryFill16
|
||||
ldr r3, [r4]
|
||||
movs r2, 0
|
||||
ldr r0, _08016984
|
||||
ldr r0, [r0]
|
||||
str r0, [r3, 0x14]
|
||||
movs r0, 0x2
|
||||
str r0, [r3, 0x18]
|
||||
movs r1, 0x1
|
||||
ldr r0, _08016988
|
||||
ldr r0, [r0]
|
||||
str r0, [r3, 0x1C]
|
||||
movs r0, 0x3
|
||||
str r0, [r3, 0x20]
|
||||
ldr r0, _0801698C
|
||||
ldr r0, [r0]
|
||||
str r0, [r3, 0x24]
|
||||
movs r0, 0x4
|
||||
str r0, [r3, 0x28]
|
||||
ldr r0, _08016990
|
||||
ldr r0, [r0]
|
||||
str r0, [r3, 0x2C]
|
||||
str r1, [r3, 0x30]
|
||||
movs r6, 0x4
|
||||
str r2, [r3, 0x34]
|
||||
str r1, [r3, 0x38]
|
||||
movs r5, 0
|
||||
mov r12, r3
|
||||
adds r3, 0x18
|
||||
mov r2, r12
|
||||
adds r2, 0x54
|
||||
_0801694C:
|
||||
ldrh r0, [r2]
|
||||
cmp r0, 0
|
||||
bne _0801695C
|
||||
ldr r1, [r3]
|
||||
mov r7, r12
|
||||
ldr r0, [r7, 0x10]
|
||||
cmp r1, r0
|
||||
beq _080169B6
|
||||
_0801695C:
|
||||
adds r3, 0x8
|
||||
adds r2, 0x2
|
||||
adds r5, 0x1
|
||||
cmp r5, r6
|
||||
blt _0801694C
|
||||
movs r5, 0
|
||||
cmp r5, r6
|
||||
bge _080169B6
|
||||
ldr r1, [r4]
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x54
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08016994
|
||||
ldr r0, [r1, 0x18]
|
||||
str r0, [r1, 0x10]
|
||||
b _080169B6
|
||||
.align 2, 0
|
||||
_08016980: .4byte gUnknown_203B204
|
||||
_08016984: .4byte gUnknown_80D4958
|
||||
_08016988: .4byte gUnknown_80D4964
|
||||
_0801698C: .4byte gUnknown_80D4970
|
||||
_08016990: .4byte gUnknown_80D4934
|
||||
_08016994:
|
||||
adds r5, 0x1
|
||||
cmp r5, r6
|
||||
bge _080169B6
|
||||
ldr r2, [r4]
|
||||
lsls r0, r5, 1
|
||||
adds r1, r2, 0
|
||||
adds r1, 0x54
|
||||
adds r1, r0
|
||||
ldrh r0, [r1]
|
||||
cmp r0, 0
|
||||
bne _08016994
|
||||
lsls r0, r5, 3
|
||||
adds r1, r2, 0
|
||||
adds r1, 0x18
|
||||
adds r1, r0
|
||||
ldr r0, [r1]
|
||||
str r0, [r2, 0x10]
|
||||
_080169B6:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end CreateFelicityBankShopMenu
|
||||
|
||||
.align 2,0
|
||||
@@ -147,7 +147,7 @@ gUnknown_81161D8: @ 81161D8
|
||||
gUnknown_81161E8: @ 81161E8
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.4byte CleanFelicityBank
|
||||
.4byte DestroyFelicityBank
|
||||
.4byte FelicityBankCallback
|
||||
|
||||
.global gUnknown_81161F8
|
||||
|
||||
@@ -5,20 +5,26 @@
|
||||
#include "text.h"
|
||||
#include "menu.h"
|
||||
|
||||
struct unkStruct_203B204
|
||||
// size: 0x108
|
||||
struct FelicityBankWork
|
||||
{
|
||||
// size: 0x108
|
||||
u32 unk0;
|
||||
s32 currState;
|
||||
u32 fallbackState;
|
||||
u32 chosenAmount;
|
||||
u32 menuAction;
|
||||
/* 0x0 */ u32 isAsleep;
|
||||
/* 0x4 */ s32 currState;
|
||||
/* 0x8 */ u32 fallbackState;
|
||||
/* 0xC */ u32 chosenAmount;
|
||||
/* 0x10 */ u32 menuAction;
|
||||
struct MenuItem unk14[8];
|
||||
u16 unk54[8];
|
||||
u32 unk64;
|
||||
u8 fill68[0x78 - 0x68];
|
||||
s32 unk68;
|
||||
s32 unk6C;
|
||||
/* 0x70 */ s32 maximumDepositWithdraw;
|
||||
s32 unk74;
|
||||
u32 unk78;
|
||||
u8 fill7C[0x94 - 0x7C];
|
||||
struct UnkTextStruct2 *unk7C;
|
||||
s32 unk80;
|
||||
s32 unk84;
|
||||
u8 fill88[0x94 - 0x88];
|
||||
/* 0x94 */ struct OpenedFile *faceFile;
|
||||
/* 0x98 */ u8 *faceData;
|
||||
u16 unk9C;
|
||||
@@ -31,5 +37,9 @@ struct unkStruct_203B204
|
||||
struct UnkTextStruct2 unkA8[4];
|
||||
};
|
||||
|
||||
extern struct FelicityBankWork *gFelicityBankWork;
|
||||
|
||||
#define FELICITY_BANK_ACTION_WITHDRAW 0
|
||||
#define FELICITY_BANK_ACTION_DEPOSIT 1
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#ifndef GUARD_GULPIN_SHOP_H
|
||||
#define GUARD_GULPIN_SHOP_H
|
||||
|
||||
struct unkStruct_203B26C
|
||||
{
|
||||
// size: 0x18C
|
||||
u32 unk0;
|
||||
struct GulpinShopWork
|
||||
{
|
||||
/* 0x0 */ u32 isAsleep;
|
||||
/* 0x4 */ s32 state;
|
||||
u32 unk8;
|
||||
/* 0xC */ s16 speciesNum; // species of chosen Pokemon
|
||||
@@ -28,7 +28,10 @@ struct unkStruct_203B26C
|
||||
u8 unk126;
|
||||
u8 unk127;
|
||||
struct OpenedFile **unk128;
|
||||
struct UnkTextStruct2 unk12C[4];
|
||||
struct UnkTextStruct2 unk12C[4];
|
||||
};
|
||||
|
||||
u32 CreateGulpinShop(s32 isAsleep, s16 pokeSpecies, struct Move *moves);
|
||||
void DestroyGulpinShop(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,18 +4,20 @@
|
||||
#define MAX_KECLEON_ITEM_SHOP_ITEMS 8
|
||||
#define MAX_KECLEON_WARE_SHOP_ITEMS 4
|
||||
|
||||
// size: 0x268
|
||||
struct TeamInventory
|
||||
{
|
||||
struct Item teamItems[INVENTORY_SIZE];
|
||||
u16 teamStorage[NUMBER_OF_ITEM_IDS];
|
||||
struct BulkItem kecleonShopItems[MAX_KECLEON_ITEM_SHOP_ITEMS];
|
||||
struct BulkItem kecleonWareItems[MAX_KECLEON_WARE_SHOP_ITEMS];
|
||||
/* 0x0 */ struct Item teamItems[INVENTORY_SIZE];
|
||||
/* 0x50 */ u16 teamStorage[STORAGE_SIZE];
|
||||
/* 0x230 */ struct BulkItem kecleonShopItems[MAX_KECLEON_ITEM_SHOP_ITEMS];
|
||||
/* 0x250 */ struct BulkItem kecleonWareItems[MAX_KECLEON_WARE_SHOP_ITEMS];
|
||||
/* 0x260 */ s32 teamMoney;
|
||||
/* 0x264 */ u32 teamSavings;
|
||||
/* 0x264 */ s32 teamSavings;
|
||||
};
|
||||
|
||||
extern struct TeamInventory *gTeamInventory_203B460;
|
||||
|
||||
#define MAX_TEAM_MONEY 99999
|
||||
#define MAX_TEAM_SAVINGS 9999999
|
||||
|
||||
#endif
|
||||
|
||||
@@ -47,4 +47,5 @@ void sub_80089AC(const struct UnkTextStruct2 *a0, void *a1);
|
||||
void sub_8009388(void);
|
||||
void sub_800641C(struct UnkTextStruct2 *a0, u8 a1, u8 a2);
|
||||
void sub_8006518(struct UnkTextStruct2 *);
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *str, u32 , u32);
|
||||
#endif
|
||||
|
||||
@@ -99,8 +99,6 @@ SECTIONS {
|
||||
asm/code_80130A8.o(.text);
|
||||
src/code_8012A18_1.o(.text);
|
||||
src/felicity_bank.o(.text);
|
||||
asm/felicity_bank.o(.text);
|
||||
src/felicity_bank_1.o(.text);
|
||||
src/kangaskhan_storage.o(.text);
|
||||
asm/kangaskhan_storage.o(.text);
|
||||
src/kangaskhan_storage_1.o(.text);
|
||||
|
||||
@@ -54,7 +54,6 @@ extern s16 sub_8097838();
|
||||
extern s16 sub_8097870();
|
||||
extern s32 sub_80977B8();
|
||||
extern s32 sub_80977F8();
|
||||
extern void xxx_call_draw_string(s32, u32, const u8 *, u32, u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "team_inventory.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "gulpin_shop.h"
|
||||
|
||||
extern void sub_8092C84(u8 *, u16);
|
||||
extern void sub_8099690(u32);
|
||||
@@ -29,7 +30,6 @@ extern u8 gUnknown_202E218[0x50];
|
||||
extern void InitZeroedPPPokemonMove(struct Move*, u16);
|
||||
extern void unk_CopyMoves4To8(struct Move *, struct Move *);
|
||||
extern bool8 IsHMItem(u8);
|
||||
extern void DisplayGulpinDialogueSprite(u32, u32, void *);
|
||||
extern void sub_801B178(void);
|
||||
extern void sub_8094060(void *, struct Move *);
|
||||
extern void PlaySound(u32);
|
||||
@@ -38,7 +38,6 @@ extern void sub_8014248(u32 *, u32, u32, struct MenuItem *, u32, u32, u32, u32,
|
||||
extern void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern u32 sub_801E8C0(void);
|
||||
extern void sub_801E93C(void);
|
||||
|
||||
extern bool8 CanMonLearnMove(u16 moveID, s16 _species);
|
||||
extern s32 sub_808D580(s32*);
|
||||
@@ -130,7 +129,7 @@ void sub_801B080(void)
|
||||
sub_8014248(&gUnknown_80DB9BC, 0, gUnknown_203B22C->unk60, gUnknown_203B22C->menuItems, 0, 4, 0, 0, 0x20);
|
||||
break;
|
||||
case 1:
|
||||
DisplayGulpinDialogueSprite(2, gUnknown_203B22C->chosenPokemon, gUnknown_203B22C->moves);
|
||||
CreateGulpinShop(2, gUnknown_203B22C->chosenPokemon, gUnknown_203B22C->moves);
|
||||
break;
|
||||
case 2:
|
||||
sub_8094060(gUnknown_203B22C->moves, gUnknown_203B22C->pokeStruct->moves);
|
||||
@@ -215,11 +214,11 @@ void sub_801B2AC(void)
|
||||
switch(sub_801E8C0())
|
||||
{
|
||||
case 3:
|
||||
sub_801E93C();
|
||||
DestroyGulpinShop();
|
||||
sub_801B064(2);
|
||||
break;
|
||||
case 2:
|
||||
sub_801E93C();
|
||||
DestroyGulpinShop();
|
||||
sub_801B064(0);
|
||||
break;
|
||||
case 0:
|
||||
|
||||
@@ -162,7 +162,6 @@ extern void PlayMenuSoundEffect(u32);
|
||||
extern char * GetIQSkillDescription(u8 r0);
|
||||
extern s32 GetNumAvailableIQSkills(u8 *param_1, s32 pokeIQ);
|
||||
extern void sub_8013C68(u32 *);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern char * GetIQSkillName(u8 r0);
|
||||
extern void xxx_format_and_draw(u32, u32, const u8 *, u32, u32);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, s32);
|
||||
|
||||
@@ -62,7 +62,6 @@ extern void InitializeJobListMenu(u32);
|
||||
extern const char *sub_8098FB4();
|
||||
extern void xxx_format_string(const char *, u8 *, u32 **, u32);
|
||||
extern s32 sub_8008ED0(u8 *);
|
||||
extern void xxx_call_draw_string(s32 size, u32, u8 *, u32, u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
@@ -38,7 +38,6 @@ extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern s32 sub_8013800(struct MenuInputStruct*, s32);
|
||||
extern void xxx_call_draw_string(s32, s32, u8 *, s32, s32);
|
||||
|
||||
u32 sub_801F7E4(void);
|
||||
void sub_801F690(void);
|
||||
|
||||
@@ -493,7 +493,6 @@ struct unkStruct_8092638
|
||||
u32 unk5;
|
||||
};
|
||||
extern void sub_8092638(u8,struct unkStruct_8092638 *, u32, u32);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
@@ -46,7 +46,6 @@ const struct UnkTextStruct2 gUnknown_80E1FC4 = {
|
||||
ALIGNED(4) const u8 gUnknown_80E1FDC[] = "Password";
|
||||
ALIGNED(4) static const u8 fill0[] = "pksdir0";
|
||||
|
||||
extern void xxx_call_draw_string(s32, s32, const u8 *, s32, s32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
@@ -37,8 +37,6 @@ extern const u32 gUnknown_80E4A40[];
|
||||
extern struct CreditsData* gCreditsTable[27];
|
||||
extern u16 gUnknown_80E5990[];
|
||||
|
||||
extern void xxx_call_draw_string(s32, u32, const u8 *, u32, u32);
|
||||
|
||||
extern void sub_80015C0(u32, u32);
|
||||
extern s32 sub_8001658(u32, u32);
|
||||
extern void sub_80073B8(u32);
|
||||
|
||||
@@ -53,7 +53,6 @@ extern void sub_80073B8(u32);
|
||||
extern void sub_8013C68(u32 *);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void sub_8023DA4(void);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern void sub_803ACE8();
|
||||
extern void sub_803AD88();
|
||||
extern void sub_803AF38();
|
||||
|
||||
@@ -109,7 +109,6 @@ extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void sub_8013C68(u32 *);
|
||||
extern void xxx_call_draw_string(s32, u32, const char *, u32, u32);
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern u8 sub_801CB24();
|
||||
extern void sub_801CBB8();
|
||||
|
||||
@@ -4,60 +4,86 @@
|
||||
#include "input.h"
|
||||
#include "felicity_bank.h"
|
||||
#include "memory.h"
|
||||
#include "team_inventory.h"
|
||||
#include "text.h"
|
||||
#include "menu_input.h"
|
||||
|
||||
extern u8 gUnknown_202E5D8[];
|
||||
extern u32 gUnknown_202DE30;
|
||||
extern u8 gUnknown_202E1C8[];
|
||||
extern u8 gUnknown_202E5D8[];
|
||||
|
||||
extern struct unkStruct_203B204 *gUnknown_203B204;
|
||||
extern u8 *gUnknown_80D4934[];
|
||||
extern u8 *gUnknown_80D4958[];
|
||||
extern u8 *gUnknown_80D4964[];
|
||||
extern u8 *gUnknown_80D4970[];
|
||||
extern u8 *gFelicityDeposit;
|
||||
extern u8 *gFelicityWithdraw;
|
||||
extern u8 *gFelicityDialogue[2][15];
|
||||
extern struct UnkTextStruct2 gUnknown_80DB6DC;
|
||||
extern struct UnkTextStruct2 gUnknown_80DB6F4;
|
||||
extern struct UnkTextStruct2 gUnknown_80DB70C;
|
||||
extern u8 gFelicitySavings[];
|
||||
extern u8 gFelicityMoney[];
|
||||
extern u8 gUnknown_80DB738;
|
||||
|
||||
extern void sub_8016B24();
|
||||
extern void sub_80169BC();
|
||||
extern void Felicity_DepositMoney();
|
||||
extern void Felicity_WithdrawMoney();
|
||||
extern void sub_8016B00();
|
||||
extern void PlaySound(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_8013AA0(u32 *);
|
||||
extern u32 sub_8013BBC(u32 *);
|
||||
extern void sub_8013C68(u32 *);
|
||||
extern void sub_80141B4(const u8 *, u32, struct OpenedFile **, u32);
|
||||
extern void sub_8014248(const u8 *, u32, u32, const struct MenuItem *, void *, u32, u32, struct OpenedFile **, u32);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern void sub_801645C();
|
||||
extern void UpdateFelicityBankDialogue();
|
||||
extern void sub_80169BC();
|
||||
extern void sub_8016B00();
|
||||
extern void sub_8016B24();
|
||||
|
||||
void CreateFelicityBankShopMenu(void);
|
||||
void CreateFelicityMoneySavingsHeader(u32);
|
||||
void Felicity_DepositMoney();
|
||||
void Felicity_WithdrawMoney();
|
||||
void sub_8016B48(u8 action);
|
||||
void UpdateFelicityBankDialogue();
|
||||
void UpdateFelicityBankState(u32);
|
||||
|
||||
u32 CreateFelicityBank(s32 param_1)
|
||||
u32 CreateFelicityBank(s32 isAsleep)
|
||||
{
|
||||
char *monName;
|
||||
struct OpenedFile * faceFile;
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
gUnknown_203B204 = MemoryAlloc(sizeof(struct unkStruct_203B204),8);
|
||||
gUnknown_203B204->menuAction = 0;
|
||||
gUnknown_203B204->unk0 = param_1;
|
||||
sub_800641C(0, 1, 1);
|
||||
gFelicityBankWork = MemoryAlloc(sizeof(struct FelicityBankWork), 8);
|
||||
gFelicityBankWork->menuAction = 0;
|
||||
gFelicityBankWork->isAsleep = isAsleep;
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PERSIAN);
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_PERSIAN);
|
||||
monName = GetMonSpecies(MONSTER_PERSIAN);
|
||||
strcpy(gUnknown_202E1C8 - 0x50, monName);
|
||||
if (gUnknown_203B204->unk0 == 1) {
|
||||
gUnknown_203B204->unkA4 = NULL;
|
||||
}
|
||||
else {
|
||||
gUnknown_203B204->unkA4 = &gUnknown_203B204->faceFile;
|
||||
}
|
||||
|
||||
if (gFelicityBankWork->isAsleep == 1)
|
||||
gFelicityBankWork->unkA4 = NULL;
|
||||
else
|
||||
gFelicityBankWork->unkA4 = &gFelicityBankWork->faceFile;
|
||||
|
||||
faceFile = GetDialogueSpriteDataPtr(MONSTER_PERSIAN);
|
||||
gUnknown_203B204->faceFile = faceFile;
|
||||
gUnknown_203B204->faceData = faceFile->data;
|
||||
gUnknown_203B204->unkA0 = 0;
|
||||
gUnknown_203B204->unkA1 = 0;
|
||||
gUnknown_203B204->unkA2 = 0;
|
||||
gUnknown_203B204->unk9C = 2;
|
||||
gUnknown_203B204->unk9E = 8;
|
||||
gFelicityBankWork->faceFile = faceFile;
|
||||
gFelicityBankWork->faceData = faceFile->data;
|
||||
gFelicityBankWork->unkA0 = 0;
|
||||
gFelicityBankWork->unkA1 = 0;
|
||||
gFelicityBankWork->unkA2 = 0;
|
||||
gFelicityBankWork->unk9C = 2;
|
||||
gFelicityBankWork->unk9E = 8;
|
||||
UpdateFelicityBankState(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 FelicityBankCallback(void)
|
||||
{
|
||||
switch(gUnknown_203B204->currState) {
|
||||
switch (gFelicityBankWork->currState) {
|
||||
case 1:
|
||||
sub_8016B24();
|
||||
break;
|
||||
@@ -87,19 +113,18 @@ u32 FelicityBankCallback(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CleanFelicityBank(void)
|
||||
void DestroyFelicityBank(void)
|
||||
{
|
||||
if(gUnknown_203B204 != NULL)
|
||||
{
|
||||
CloseFile(gUnknown_203B204->faceFile);
|
||||
MemoryFree(gUnknown_203B204);
|
||||
gUnknown_203B204 = NULL;
|
||||
if (gFelicityBankWork != NULL) {
|
||||
CloseFile(gFelicityBankWork->faceFile);
|
||||
MemoryFree(gFelicityBankWork);
|
||||
gFelicityBankWork = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateFelicityBankState(u32 newState)
|
||||
{
|
||||
gUnknown_203B204->currState = newState;
|
||||
gFelicityBankWork->currState = newState;
|
||||
sub_801645C();
|
||||
UpdateFelicityBankDialogue();
|
||||
}
|
||||
@@ -108,33 +133,292 @@ void sub_801645C(void)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
sub_8006518(gUnknown_203B204->unkA8);
|
||||
switch(gUnknown_203B204->currState)
|
||||
sub_8006518(gFelicityBankWork->unkA8);
|
||||
switch (gFelicityBankWork->currState)
|
||||
{
|
||||
case 2:
|
||||
gUnknown_203B204->unkA8[0].fill00[0] = 0x80;
|
||||
gUnknown_203B204->unkA8[1].fill00[0] = 0x80;
|
||||
gUnknown_203B204->unkA8[2].fill00[0] = 0x80;
|
||||
gUnknown_203B204->unkA8[3] = gUnknown_80DB6F4;
|
||||
gFelicityBankWork->unkA8[0].fill00[0] = 0x80;
|
||||
gFelicityBankWork->unkA8[1].fill00[0] = 0x80;
|
||||
gFelicityBankWork->unkA8[2].fill00[0] = 0x80;
|
||||
gFelicityBankWork->unkA8[3] = gUnknown_80DB6F4;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B204->unkA8, 1, 0);
|
||||
sub_800641C(gFelicityBankWork->unkA8, 1, 0);
|
||||
break;
|
||||
case 8:
|
||||
case 11:
|
||||
gUnknown_203B204->unkA8[0].fill00[0] = 0x80;
|
||||
gUnknown_203B204->unkA8[1].fill00[0] = 0x80;
|
||||
gUnknown_203B204->unkA8[3] = gUnknown_80DB6F4;
|
||||
gUnknown_203B204->unkA8[2] = gUnknown_80DB70C;
|
||||
gFelicityBankWork->unkA8[0].fill00[0] = 0x80;
|
||||
gFelicityBankWork->unkA8[1].fill00[0] = 0x80;
|
||||
gFelicityBankWork->unkA8[3] = gUnknown_80DB6F4;
|
||||
gFelicityBankWork->unkA8[2] = gUnknown_80DB70C;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B204->unkA8, 1, 0);
|
||||
sub_800641C(gFelicityBankWork->unkA8, 1, 0);
|
||||
break;
|
||||
default:
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
gUnknown_203B204->unkA8[index] = gUnknown_80DB6DC;
|
||||
for (index = 0; index < 4; index++) {
|
||||
gFelicityBankWork->unkA8[index] = gUnknown_80DB6DC;
|
||||
}
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B204->unkA8, 1, 1);
|
||||
sub_800641C(gFelicityBankWork->unkA8, 1, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateFelicityBankDialogue(void)
|
||||
{
|
||||
switch (gFelicityBankWork->currState) {
|
||||
case 0x0:
|
||||
gFelicityBankWork->fallbackState = 1;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][0], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
break;
|
||||
case 0x1:
|
||||
CreateFelicityBankShopMenu();
|
||||
gFelicityBankWork->fallbackState = 2;
|
||||
if (gTeamInventory_203B460->teamSavings == 0)
|
||||
sub_8014248(gFelicityDialogue[gFelicityBankWork->isAsleep][1], 0, gFelicityBankWork->menuAction,
|
||||
gFelicityBankWork->unk14, gFelicityBankWork->unk54, 4, 0, gFelicityBankWork->unkA4, 0xC);
|
||||
else {
|
||||
gUnknown_202DE30 = gTeamInventory_203B460->teamSavings;
|
||||
sub_8014248(gFelicityDialogue[gFelicityBankWork->isAsleep][2], 0, gFelicityBankWork->menuAction,
|
||||
gFelicityBankWork->unk14, gFelicityBankWork->unk54, 4, 0, gFelicityBankWork->unkA4, 0xC);
|
||||
}
|
||||
break;
|
||||
case 0x3:
|
||||
gFelicityBankWork->fallbackState = 1;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][14], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
break;
|
||||
case 0x4:
|
||||
gFelicityBankWork->fallbackState = 6;
|
||||
if (gTeamInventory_203B460->teamSavings == 0)
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][4], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
else {
|
||||
gUnknown_202DE30 = gTeamInventory_203B460->teamSavings;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][5], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
}
|
||||
break;
|
||||
case 0x5:
|
||||
gFelicityBankWork->fallbackState = 1;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][3], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
break;
|
||||
case 0x7:
|
||||
if (gTeamInventory_203B460->teamMoney == 0) {
|
||||
gFelicityBankWork->fallbackState = 1;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][7], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
}
|
||||
else if (gTeamInventory_203B460->teamSavings >= MAX_TEAM_SAVINGS) {
|
||||
gFelicityBankWork->fallbackState = 1;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][8], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
}
|
||||
else {
|
||||
gFelicityBankWork->fallbackState = 8;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][6], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
}
|
||||
break;
|
||||
case 0x8:
|
||||
gFelicityBankWork->maximumDepositWithdraw = MAX_TEAM_SAVINGS - gTeamInventory_203B460->teamSavings;
|
||||
if (gFelicityBankWork->maximumDepositWithdraw > gTeamInventory_203B460->teamMoney)
|
||||
gFelicityBankWork->maximumDepositWithdraw = gTeamInventory_203B460->teamMoney;
|
||||
gFelicityBankWork->unk68 = gFelicityBankWork->maximumDepositWithdraw;
|
||||
gFelicityBankWork->unk6C = 1;
|
||||
gFelicityBankWork->unk74 = 5;
|
||||
gFelicityBankWork->unk78 = 2;
|
||||
gFelicityBankWork->unk7C = &gFelicityBankWork->unkA8[2];
|
||||
gFelicityBankWork->unk80 = 0x50;
|
||||
gFelicityBankWork->unk84 = 0x12;
|
||||
sub_8013AA0(&gFelicityBankWork->unk64);
|
||||
sub_8016B48(1);
|
||||
CreateFelicityMoneySavingsHeader(3);
|
||||
break;
|
||||
case 0x9:
|
||||
gFelicityBankWork->fallbackState = 1;
|
||||
gUnknown_202DE30 = gFelicityBankWork->chosenAmount;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][9], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
break;
|
||||
case 0xA:
|
||||
if (gTeamInventory_203B460->teamMoney >= MAX_TEAM_MONEY) {
|
||||
gFelicityBankWork->fallbackState = 1;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][12], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
}
|
||||
else if (gTeamInventory_203B460->teamSavings == 0) {
|
||||
gFelicityBankWork->fallbackState = 1;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][11], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
}
|
||||
else {
|
||||
gFelicityBankWork->fallbackState = 11;
|
||||
gUnknown_202DE30 = gTeamInventory_203B460->teamSavings;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][10], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
}
|
||||
break;
|
||||
case 0xB:
|
||||
gFelicityBankWork->maximumDepositWithdraw = MAX_TEAM_MONEY - gTeamInventory_203B460->teamMoney;
|
||||
if (gFelicityBankWork->maximumDepositWithdraw > gTeamInventory_203B460->teamSavings)
|
||||
gFelicityBankWork->maximumDepositWithdraw = gTeamInventory_203B460->teamSavings;
|
||||
gFelicityBankWork->unk68 = gFelicityBankWork->maximumDepositWithdraw;
|
||||
gFelicityBankWork->unk6C = 1;
|
||||
gFelicityBankWork->unk74 = 5;
|
||||
gFelicityBankWork->unk78 = 2;
|
||||
gFelicityBankWork->unk7C = &gFelicityBankWork->unkA8[2];
|
||||
gFelicityBankWork->unk80 = 0x50;
|
||||
gFelicityBankWork->unk84 = 0x12;
|
||||
sub_8013AA0(&gFelicityBankWork->unk64);
|
||||
sub_8016B48(0);
|
||||
CreateFelicityMoneySavingsHeader(3);
|
||||
break;
|
||||
case 0x2:
|
||||
CreateFelicityMoneySavingsHeader(3);
|
||||
break;
|
||||
case 0xC:
|
||||
gFelicityBankWork->fallbackState = 1;
|
||||
gUnknown_202DE30 = gFelicityBankWork->chosenAmount;
|
||||
sub_80141B4(gFelicityDialogue[gFelicityBankWork->isAsleep][13], 0, gFelicityBankWork->unkA4, 0x10D);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void CreateFelicityBankShopMenu(void)
|
||||
{
|
||||
s32 loopMax;
|
||||
s32 i;
|
||||
loopMax = 0;
|
||||
|
||||
MemoryFill16(gFelicityBankWork->unk54, 0, sizeof(gFelicityBankWork->unk54));
|
||||
|
||||
gFelicityBankWork->unk14[loopMax].text = *gUnknown_80D4958; // Store
|
||||
gFelicityBankWork->unk14[loopMax].menuAction = 2;
|
||||
loopMax++;
|
||||
gFelicityBankWork->unk14[loopMax].text = *gUnknown_80D4964; // Take
|
||||
gFelicityBankWork->unk14[loopMax].menuAction = 3;
|
||||
loopMax++;
|
||||
gFelicityBankWork->unk14[loopMax].text = *gUnknown_80D4970; // Info
|
||||
gFelicityBankWork->unk14[loopMax].menuAction = 4;
|
||||
loopMax++;
|
||||
gFelicityBankWork->unk14[loopMax].text = *gUnknown_80D4934; // Cancel
|
||||
gFelicityBankWork->unk14[loopMax].menuAction = 1;
|
||||
loopMax++;
|
||||
gFelicityBankWork->unk14[loopMax].text = NULL;
|
||||
gFelicityBankWork->unk14[loopMax].menuAction = 1;
|
||||
|
||||
for (i = 0; i < loopMax; i++) {
|
||||
if (gFelicityBankWork->unk54[i] == 0 && gFelicityBankWork->unk14[i].menuAction == gFelicityBankWork->menuAction)
|
||||
return;
|
||||
}
|
||||
for (i = 0; i < loopMax; i++) {
|
||||
if (gFelicityBankWork->unk54[i] == 0) {
|
||||
gFelicityBankWork->menuAction = gFelicityBankWork->unk14[i].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80169BC(void)
|
||||
{
|
||||
s32 menuAction;
|
||||
|
||||
if (sub_80144A4(&menuAction) == 0) {
|
||||
gFelicityBankWork->menuAction = menuAction;
|
||||
switch (menuAction)
|
||||
{
|
||||
case 2:
|
||||
UpdateFelicityBankState(7);
|
||||
break;
|
||||
case 3:
|
||||
UpdateFelicityBankState(10);
|
||||
break;
|
||||
case 4:
|
||||
UpdateFelicityBankState(3);
|
||||
break;
|
||||
case 1:
|
||||
UpdateFelicityBankState(4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Felicity_DepositMoney(void)
|
||||
{
|
||||
switch (sub_8013BBC(&gFelicityBankWork->unk64)) {
|
||||
case 1:
|
||||
sub_8016B48(FELICITY_BANK_ACTION_DEPOSIT);
|
||||
break;
|
||||
case 3:
|
||||
gFelicityBankWork->chosenAmount = gFelicityBankWork->unk64;
|
||||
gTeamInventory_203B460->teamSavings += gFelicityBankWork->chosenAmount;
|
||||
gTeamInventory_203B460->teamMoney -= gFelicityBankWork->chosenAmount;
|
||||
PlaySound(0x14c);
|
||||
UpdateFelicityBankState(9);
|
||||
break;
|
||||
case 2:
|
||||
UpdateFelicityBankState(5);
|
||||
break;
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Felicity_WithdrawMoney(void)
|
||||
{
|
||||
switch (sub_8013BBC(&gFelicityBankWork->unk64)) {
|
||||
case 1:
|
||||
sub_8016B48(FELICITY_BANK_ACTION_WITHDRAW);
|
||||
break;
|
||||
case 3:
|
||||
gFelicityBankWork->chosenAmount = gFelicityBankWork->unk64;
|
||||
gTeamInventory_203B460->teamMoney += gFelicityBankWork->chosenAmount;
|
||||
gTeamInventory_203B460->teamSavings -= gFelicityBankWork->chosenAmount;
|
||||
PlaySound(0x14c);
|
||||
UpdateFelicityBankState(0xc);
|
||||
break;
|
||||
case 2:
|
||||
UpdateFelicityBankState(5);
|
||||
break;
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8016B00(void)
|
||||
{
|
||||
s32 auStack8;
|
||||
|
||||
if (sub_80144A4(&auStack8) == 0)
|
||||
UpdateFelicityBankState(gFelicityBankWork->fallbackState);
|
||||
}
|
||||
|
||||
void sub_8016B24(void)
|
||||
{
|
||||
s32 auStack8;
|
||||
|
||||
if (sub_80144A4(&auStack8) == 4)
|
||||
UpdateFelicityBankState(gFelicityBankWork->fallbackState);
|
||||
}
|
||||
|
||||
void sub_8016B48(u8 action)
|
||||
{
|
||||
sub_8008C54(gFelicityBankWork->unk78);
|
||||
sub_80073B8(gFelicityBankWork->unk78);
|
||||
if (action != FELICITY_BANK_ACTION_WITHDRAW)
|
||||
xxx_call_draw_string(12, 0, gFelicityDeposit, gFelicityBankWork->unk78, 0);
|
||||
else
|
||||
xxx_call_draw_string(12, 0, gFelicityWithdraw, gFelicityBankWork->unk78, 0);
|
||||
sub_8013C68(&gFelicityBankWork->unk64);
|
||||
sub_80073E0(gFelicityBankWork->unk78);
|
||||
}
|
||||
|
||||
void CreateFelicityMoneySavingsHeader(u32 param_1)
|
||||
{
|
||||
sub_8008C54(param_1);
|
||||
sub_80073B8(param_1);
|
||||
xxx_call_draw_string(16, 4, gFelicityMoney, param_1, 0);
|
||||
sub_8012BC4(96, 4, gTeamInventory_203B460->teamMoney, 5, 5, param_1);
|
||||
xxx_call_draw_string(112, 4, gFelicitySavings, param_1, 0);
|
||||
sub_8012BC4(200, 4, gTeamInventory_203B460->teamSavings, 7, 5, param_1);
|
||||
sub_80073E0(param_1);
|
||||
}
|
||||
|
||||
void DrawTeamMoneyBox(u32 param_1)
|
||||
{
|
||||
sub_8008C54(param_1);
|
||||
sub_80073B8(param_1);
|
||||
xxx_call_draw_string(6, 0, &gUnknown_80DB738, param_1, 0); // Money
|
||||
sub_8012BC4(42, 12, gTeamInventory_203B460->teamMoney, 5, 5, param_1);
|
||||
sub_80073E0(param_1);
|
||||
}
|
||||
@@ -1,149 +0,0 @@
|
||||
#include "global.h"
|
||||
#include "item.h"
|
||||
#include "team_inventory.h"
|
||||
#include "felicity_bank.h"
|
||||
#include "menu_input.h"
|
||||
|
||||
extern struct unkStruct_203B204 *gUnknown_203B204;
|
||||
|
||||
extern u8 gUnknown_80DB738;
|
||||
extern u8 gFelicityMoney[];
|
||||
extern u8 gFelicitySavings[];
|
||||
extern u8 *gFelicityWithdraw;
|
||||
extern u8 *gFelicityDeposit;
|
||||
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, u8 *, u32 , u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void sub_8013C68(u32 *);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern void UpdateFelicityBankState(u32);
|
||||
extern void PlaySound(u32);
|
||||
|
||||
extern u32 sub_8013BBC(u32 *);
|
||||
void sub_8016B48(u8 action);
|
||||
|
||||
#define FELICITY_BANK_ACTION_WITHDRAW 0
|
||||
#define FELICITY_BANK_ACTION_DEPOSIT 1
|
||||
|
||||
void sub_80169BC(void)
|
||||
{
|
||||
s32 menuAction;
|
||||
if(sub_80144A4(&menuAction) == 0)
|
||||
{
|
||||
gUnknown_203B204->menuAction = menuAction;
|
||||
switch(menuAction)
|
||||
{
|
||||
case 2:
|
||||
UpdateFelicityBankState(7);
|
||||
break;
|
||||
case 3:
|
||||
UpdateFelicityBankState(10);
|
||||
break;
|
||||
case 4:
|
||||
UpdateFelicityBankState(3);
|
||||
break;
|
||||
case 1:
|
||||
UpdateFelicityBankState(4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Felicity_DepositMoney(void)
|
||||
{
|
||||
switch(sub_8013BBC(&gUnknown_203B204->unk64))
|
||||
{
|
||||
case 1:
|
||||
sub_8016B48(FELICITY_BANK_ACTION_DEPOSIT);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B204->chosenAmount = gUnknown_203B204->unk64;
|
||||
gTeamInventory_203B460->teamSavings += gUnknown_203B204->chosenAmount;
|
||||
gTeamInventory_203B460->teamMoney -= gUnknown_203B204->chosenAmount;
|
||||
PlaySound(0x14c);
|
||||
UpdateFelicityBankState(9);
|
||||
break;
|
||||
case 2:
|
||||
UpdateFelicityBankState(5);
|
||||
break;
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Felicity_WithdrawMoney(void)
|
||||
{
|
||||
switch(sub_8013BBC(&gUnknown_203B204->unk64))
|
||||
{
|
||||
case 1:
|
||||
sub_8016B48(FELICITY_BANK_ACTION_WITHDRAW);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B204->chosenAmount = gUnknown_203B204->unk64;
|
||||
gTeamInventory_203B460->teamMoney += gUnknown_203B204->chosenAmount;
|
||||
gTeamInventory_203B460->teamSavings -= gUnknown_203B204->chosenAmount;
|
||||
PlaySound(0x14c);
|
||||
UpdateFelicityBankState(0xc);
|
||||
break;
|
||||
case 2:
|
||||
UpdateFelicityBankState(5);
|
||||
break;
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8016B00(void)
|
||||
{
|
||||
s32 auStack8;
|
||||
|
||||
if (sub_80144A4(&auStack8) == 0) {
|
||||
UpdateFelicityBankState(gUnknown_203B204->fallbackState);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8016B24(void)
|
||||
{
|
||||
s32 auStack8;
|
||||
|
||||
if (sub_80144A4(&auStack8) == 4) {
|
||||
UpdateFelicityBankState(gUnknown_203B204->fallbackState);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8016B48(u8 action)
|
||||
{
|
||||
|
||||
sub_8008C54(gUnknown_203B204->unk78);
|
||||
sub_80073B8(gUnknown_203B204->unk78);
|
||||
if (action != FELICITY_BANK_ACTION_WITHDRAW) {
|
||||
xxx_call_draw_string(12,0,gFelicityDeposit,gUnknown_203B204->unk78,0);
|
||||
}
|
||||
else {
|
||||
xxx_call_draw_string(12,0,gFelicityWithdraw,gUnknown_203B204->unk78,0);
|
||||
}
|
||||
sub_8013C68(&gUnknown_203B204->unk64);
|
||||
sub_80073E0(gUnknown_203B204->unk78);
|
||||
}
|
||||
|
||||
void CreateFelicityMoneySavingsHeader(u32 param_1)
|
||||
{
|
||||
sub_8008C54(param_1);
|
||||
sub_80073B8(param_1);
|
||||
xxx_call_draw_string(16, 4, gFelicityMoney, param_1, 0);
|
||||
sub_8012BC4(96, 4, gTeamInventory_203B460->teamMoney, 5, 5, param_1);
|
||||
xxx_call_draw_string(112, 4, gFelicitySavings, param_1, 0);
|
||||
sub_8012BC4(200,4,gTeamInventory_203B460->teamSavings,7,5,param_1);
|
||||
sub_80073E0(param_1);
|
||||
}
|
||||
|
||||
void DrawTeamMoneyBox(u32 param_1)
|
||||
{
|
||||
sub_8008C54(param_1);
|
||||
sub_80073B8(param_1);
|
||||
xxx_call_draw_string(6, 0, &gUnknown_80DB738,param_1, 0); // Money
|
||||
sub_8012BC4(42, 12, gTeamInventory_203B460->teamMoney, 5, 5, param_1);
|
||||
sub_80073E0(param_1);
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "gulpin_shop.h"
|
||||
#include "menu_input.h"
|
||||
|
||||
extern struct unkStruct_203B26C *gUnknown_203B26C;
|
||||
extern struct GulpinShopWork *gGulpinShopWork;
|
||||
extern const struct UnkTextStruct2 gUnknown_80DC11C;
|
||||
extern const struct UnkTextStruct2 gUnknown_80DC134;
|
||||
extern const u8 *gUnknown_80D4920[];
|
||||
@@ -42,45 +42,43 @@ extern void sub_801F808(u16 *);
|
||||
extern u32 sub_801F890(void);
|
||||
extern void sub_801F8D0(void);
|
||||
extern void PlaySound(u32);
|
||||
void UpdateGulpinShopState(u32);
|
||||
void SetGulpinShopState(u32);
|
||||
|
||||
u32 DisplayGulpinDialogueSprite(s32 param_1,s16 pokeSpecies,struct Move *param_3)
|
||||
u32 CreateGulpinShop(s32 isAsleep, s16 pokeSpecies, struct Move *moves)
|
||||
{
|
||||
struct OpenedFile *faceFile;
|
||||
s32 species_32;
|
||||
|
||||
species_32 = pokeSpecies; // dumb cast needed to get lsr/asr combo
|
||||
|
||||
gUnknown_203B26C = MemoryAlloc(sizeof(struct unkStruct_203B26C),8);
|
||||
gUnknown_203B26C->unk0 = param_1;
|
||||
gUnknown_203B26C->speciesNum = species_32;
|
||||
gUnknown_203B26C->moves = param_3;
|
||||
gUnknown_203B26C->unk1C = param_3[4].id;
|
||||
gGulpinShopWork = MemoryAlloc(sizeof(struct GulpinShopWork), 8);
|
||||
gGulpinShopWork->isAsleep = isAsleep;
|
||||
gGulpinShopWork->speciesNum = species_32;
|
||||
gGulpinShopWork->moves = moves;
|
||||
gGulpinShopWork->unk1C = moves[4].id; // 5th move..?
|
||||
|
||||
if (isAsleep == 0)
|
||||
gGulpinShopWork->unk128 = &gGulpinShopWork->faceFile;
|
||||
else
|
||||
gGulpinShopWork->unk128 = NULL;
|
||||
|
||||
if (param_1 == 0) {
|
||||
gUnknown_203B26C->unk128 = &gUnknown_203B26C->faceFile;
|
||||
}
|
||||
else {
|
||||
gUnknown_203B26C->unk128 = NULL;
|
||||
}
|
||||
faceFile = GetDialogueSpriteDataPtr(MONSTER_GULPIN);
|
||||
gUnknown_203B26C->faceFile = faceFile;
|
||||
gUnknown_203B26C->faceData = faceFile->data;
|
||||
gGulpinShopWork->faceFile = faceFile;
|
||||
gGulpinShopWork->faceData = faceFile->data;
|
||||
|
||||
gUnknown_203B26C->unk124 = 0;
|
||||
gUnknown_203B26C->unk125 = 0;
|
||||
gUnknown_203B26C->unk126 = 0;
|
||||
gGulpinShopWork->unk124 = 0;
|
||||
gGulpinShopWork->unk125 = 0;
|
||||
gGulpinShopWork->unk126 = 0;
|
||||
|
||||
gUnknown_203B26C->unk120 = 2;
|
||||
gUnknown_203B26C->unk122 = 8;
|
||||
UpdateGulpinShopState(0);
|
||||
gGulpinShopWork->unk120 = 2;
|
||||
gGulpinShopWork->unk122 = 8;
|
||||
SetGulpinShopState(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 sub_801E8C0(void)
|
||||
{
|
||||
switch(gUnknown_203B26C->state)
|
||||
{
|
||||
switch (gGulpinShopWork->state) {
|
||||
case 0:
|
||||
case 1:
|
||||
sub_801ECBC();
|
||||
@@ -93,7 +91,7 @@ u32 sub_801E8C0(void)
|
||||
break;
|
||||
case 4:
|
||||
sub_801EDC0();
|
||||
if(gUnknown_203B26C->state == 5)
|
||||
if (gGulpinShopWork->state == 5)
|
||||
return 3;
|
||||
break;
|
||||
case 5:
|
||||
@@ -101,27 +99,26 @@ u32 sub_801E8C0(void)
|
||||
case 6:
|
||||
return 2;
|
||||
}
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool8 GulpinIsNextMoveLinked(void)
|
||||
{
|
||||
return gUnknown_203B26C->isNextMoveLinked;
|
||||
return gGulpinShopWork->isNextMoveLinked;
|
||||
}
|
||||
|
||||
void sub_801E93C(void)
|
||||
void DestroyGulpinShop(void)
|
||||
{
|
||||
if(gUnknown_203B26C != NULL)
|
||||
{
|
||||
CloseFile(gUnknown_203B26C->faceFile);
|
||||
MemoryFree(gUnknown_203B26C);
|
||||
gUnknown_203B26C = NULL;
|
||||
if (gGulpinShopWork != NULL) {
|
||||
CloseFile(gGulpinShopWork->faceFile);
|
||||
MemoryFree(gGulpinShopWork);
|
||||
gGulpinShopWork = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateGulpinShopState(u32 newState)
|
||||
void SetGulpinShopState(u32 newState)
|
||||
{
|
||||
gUnknown_203B26C->state = newState;
|
||||
gGulpinShopWork->state = newState;
|
||||
sub_801E980();
|
||||
sub_801EA28();
|
||||
}
|
||||
@@ -130,124 +127,122 @@ void sub_801E980(void)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
sub_8006518(gUnknown_203B26C->unk12C);
|
||||
switch(gUnknown_203B26C->state)
|
||||
{
|
||||
sub_8006518(gGulpinShopWork->unk12C);
|
||||
|
||||
switch (gGulpinShopWork->state) {
|
||||
case 2:
|
||||
sub_801EBC4();
|
||||
gUnknown_203B26C->unk12C[1] = gUnknown_80DC11C;
|
||||
gUnknown_203B26C->unk12C[2] = gUnknown_80DC134;
|
||||
sub_8012CAC(&gUnknown_203B26C->unk12C[2], gUnknown_203B26C->unk28);
|
||||
gGulpinShopWork->unk12C[1] = gUnknown_80DC11C;
|
||||
gGulpinShopWork->unk12C[2] = gUnknown_80DC134;
|
||||
sub_8012CAC(&gGulpinShopWork->unk12C[2], gGulpinShopWork->unk28);
|
||||
break;
|
||||
default:
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
gUnknown_203B26C->unk12C[index] = gUnknown_80DC11C;
|
||||
for(index = 0; index < 4; index++) {
|
||||
gGulpinShopWork->unk12C[index] = gUnknown_80DC11C;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B26C->unk12C, 1, 1);
|
||||
sub_800641C(gGulpinShopWork->unk12C, 1, 1);
|
||||
}
|
||||
|
||||
void sub_801EA28(void) {
|
||||
switch(gUnknown_203B26C->state) {
|
||||
void sub_801EA28(void)
|
||||
{
|
||||
switch (gGulpinShopWork->state) {
|
||||
case 0:
|
||||
sub_801EE10(2, gUnknown_203B26C->speciesNum, gUnknown_203B26C->moves, 0, &gUnknown_80DC164, 0);
|
||||
sub_801EE10(2, gGulpinShopWork->speciesNum, gGulpinShopWork->moves, 0, &gUnknown_80DC164, 0);
|
||||
break;
|
||||
case 1:
|
||||
sub_801F1B0(1, 0);
|
||||
break;
|
||||
case 2:
|
||||
sub_801F280(0);
|
||||
sub_8012D60(&gUnknown_203B26C->unk78, gUnknown_203B26C->unk28, 0, gUnknown_203B26C->unk68, gUnknown_203B26C->unk24, 2);
|
||||
sub_8012D60(&gGulpinShopWork->unk78, gGulpinShopWork->unk28, 0, gGulpinShopWork->unk68, gGulpinShopWork->unk24, 2);
|
||||
break;
|
||||
case 3:
|
||||
GetLinkedSequence(gUnknown_203B26C->unk20, gUnknown_203B26C->moves, &gUnknown_203B26C->unk14[0]);
|
||||
sub_801F808(&gUnknown_203B26C->unk14[0]);
|
||||
GetLinkedSequence(gGulpinShopWork->unk20, gGulpinShopWork->moves, &gGulpinShopWork->unk14[0]);
|
||||
sub_801F808(&gGulpinShopWork->unk14[0]);
|
||||
break;
|
||||
case 4:
|
||||
sub_801EC7C();
|
||||
sub_8092C84(gAvailablePokemonNames, gUnknown_203B26C->unk1C);
|
||||
sub_8092C84(&gAvailablePokemonNames[0x50], gUnknown_203B26C->unk1E);
|
||||
sub_8092C84(gAvailablePokemonNames, gGulpinShopWork->unk1C);
|
||||
sub_8092C84(&gAvailablePokemonNames[0x50], gGulpinShopWork->unk1E);
|
||||
|
||||
switch (gUnknown_203B26C->unk0) {
|
||||
switch (gGulpinShopWork->isAsleep) {
|
||||
case 0:
|
||||
case 1:
|
||||
if (gUnknown_203B26C->isNextMoveLinked) {
|
||||
sub_8014248(gGulpinDialogue[gUnknown_203B26C->unk0][12], 0, 5, &gUnknown_203B26C->unk28[0],
|
||||
&gUnknown_203B26C->unk68, 4, 0, gUnknown_203B26C->unk128, 12); // Forget the move and any moves linked to it and learn?
|
||||
}
|
||||
else {
|
||||
sub_8014248(gGulpinDialogue[gUnknown_203B26C->unk0][11], 0, 5, &gUnknown_203B26C->unk28[0],
|
||||
&gUnknown_203B26C->unk68, 4, 0, gUnknown_203B26C->unk128, 12); // Forget the move and learn?
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (gUnknown_203B26C->isNextMoveLinked)
|
||||
sub_8014248(gUnknown_80DC1A0, 0, 5, &gUnknown_203B26C->unk28[0],
|
||||
&gUnknown_203B26C->unk68, 4, 0, NULL, 32);
|
||||
if (gGulpinShopWork->isNextMoveLinked)
|
||||
sub_8014248(gGulpinDialogue[gGulpinShopWork->isAsleep][12], 0, 5, &gGulpinShopWork->unk28[0],
|
||||
&gGulpinShopWork->unk68, 4, 0, gGulpinShopWork->unk128, 12); // Forget the move and any moves linked to it and learn?
|
||||
else
|
||||
sub_8014248(gUnknown_80DC1FC, 0, 5, &gUnknown_203B26C->unk28[0],
|
||||
&gUnknown_203B26C->unk68, 4, 0, NULL, 32);
|
||||
break;
|
||||
sub_8014248(gGulpinDialogue[gGulpinShopWork->isAsleep][11], 0, 5, &gGulpinShopWork->unk28[0],
|
||||
&gGulpinShopWork->unk68, 4, 0, gGulpinShopWork->unk128, 12); // Forget the move and learn?
|
||||
break;
|
||||
case 2:
|
||||
if (gGulpinShopWork->isNextMoveLinked)
|
||||
sub_8014248(gUnknown_80DC1A0, 0, 5, &gGulpinShopWork->unk28[0],
|
||||
&gGulpinShopWork->unk68, 4, 0, NULL, 32);
|
||||
else
|
||||
sub_8014248(gUnknown_80DC1FC, 0, 5, &gGulpinShopWork->unk28[0],
|
||||
&gGulpinShopWork->unk68, 4, 0, NULL, 32);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_801EBC4(void) {
|
||||
void sub_801EBC4(void)
|
||||
{
|
||||
s32 which;
|
||||
s32 i;
|
||||
which = 0;
|
||||
|
||||
MemoryFill16(&gUnknown_203B26C->unk68[0], 0, sizeof(gUnknown_203B26C->unk68));
|
||||
MemoryFill16(gGulpinShopWork->unk68, 0, sizeof(gGulpinShopWork->unk68));
|
||||
|
||||
gUnknown_203B26C->unk28[which].text = gUnknown_80DC230; // "Forget"
|
||||
gUnknown_203B26C->unk28[which].menuAction = 2;
|
||||
gGulpinShopWork->unk28[which].text = gUnknown_80DC230; // "Forget"
|
||||
gGulpinShopWork->unk28[which].menuAction = 2;
|
||||
|
||||
if (!IsAnyMoveLinked(gUnknown_203B26C->unk1E, gUnknown_203B26C->moves)
|
||||
|| (s32)gUnknown_203B26C->unk20 >= 4) {
|
||||
gUnknown_203B26C->unk68[0] = 1;
|
||||
}
|
||||
if (!IsAnyMoveLinked(gGulpinShopWork->unk1E, gGulpinShopWork->moves) || (s32)gGulpinShopWork->unk20 >= 4)
|
||||
gGulpinShopWork->unk68[0] = 1;
|
||||
|
||||
which++;
|
||||
gUnknown_203B26C->unk28[which].text = *gUnknown_80D4970; // "Info"
|
||||
gUnknown_203B26C->unk28[which].menuAction = 3;
|
||||
gGulpinShopWork->unk28[which].text = *gUnknown_80D4970; // "Info"
|
||||
gGulpinShopWork->unk28[which].menuAction = 3;
|
||||
which++;
|
||||
gUnknown_203B26C->unk28[which].text = NULL;
|
||||
gUnknown_203B26C->unk28[which].menuAction = 1;
|
||||
gGulpinShopWork->unk28[which].text = NULL;
|
||||
gGulpinShopWork->unk28[which].menuAction = 1;
|
||||
|
||||
i = 0;
|
||||
if (i < which) {
|
||||
if (gUnknown_203B26C->unk68[0] == 0) {
|
||||
gUnknown_203B26C->unk24 = gUnknown_203B26C->unk28[0].menuAction;
|
||||
}
|
||||
if (gGulpinShopWork->unk68[0] == 0)
|
||||
gGulpinShopWork->unk24 = gGulpinShopWork->unk28[0].menuAction;
|
||||
else {
|
||||
while (i < which) {
|
||||
if (gUnknown_203B26C->unk68[i] == 0) {
|
||||
gUnknown_203B26C->unk24 = gUnknown_203B26C->unk28[i].menuAction;
|
||||
if (gGulpinShopWork->unk68[i] == 0) {
|
||||
gGulpinShopWork->unk24 = gGulpinShopWork->unk28[i].menuAction;
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_801EC7C(void) {
|
||||
void sub_801EC7C(void)
|
||||
{
|
||||
s32 which;
|
||||
which = 0;
|
||||
|
||||
MemoryFill16(&gUnknown_203B26C->unk68[0], 0, sizeof(gUnknown_203B26C->unk68));
|
||||
gUnknown_203B26C->unk28[which].text = *gUnknown_80D4920; // "Yes"
|
||||
gUnknown_203B26C->unk28[which].menuAction = 4;
|
||||
MemoryFill16(gGulpinShopWork->unk68, 0, sizeof(gGulpinShopWork->unk68));
|
||||
gGulpinShopWork->unk28[which].text = *gUnknown_80D4920; // "Yes"
|
||||
gGulpinShopWork->unk28[which].menuAction = 4;
|
||||
which++;
|
||||
gUnknown_203B26C->unk28[which].text = *gUnknown_80D4928; // "No"
|
||||
gUnknown_203B26C->unk28[which].menuAction = 5;
|
||||
gGulpinShopWork->unk28[which].text = *gUnknown_80D4928; // "No"
|
||||
gGulpinShopWork->unk28[which].menuAction = 5;
|
||||
which++;
|
||||
gUnknown_203B26C->unk28[which].text = NULL;
|
||||
gUnknown_203B26C->unk28[which].menuAction = 1;
|
||||
gGulpinShopWork->unk28[which].text = NULL;
|
||||
gGulpinShopWork->unk28[which].menuAction = 1;
|
||||
}
|
||||
|
||||
void sub_801ECBC(void)
|
||||
@@ -256,26 +251,26 @@ void sub_801ECBC(void)
|
||||
case 3:
|
||||
{
|
||||
struct Move* move;
|
||||
gUnknown_203B26C->unk20 = sub_801F194();
|
||||
move = gUnknown_203B26C->moves;
|
||||
move = &move[gUnknown_203B26C->unk20];
|
||||
gUnknown_203B26C->unk1E = move->id;
|
||||
UpdateGulpinShopState(2);
|
||||
gGulpinShopWork->unk20 = sub_801F194();
|
||||
move = gGulpinShopWork->moves;
|
||||
move = &move[gGulpinShopWork->unk20];
|
||||
gGulpinShopWork->unk1E = move->id;
|
||||
SetGulpinShopState(2);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
struct Move* move;
|
||||
gUnknown_203B26C->unk20 = sub_801F194();
|
||||
move = gUnknown_203B26C->moves;
|
||||
move = &move[gUnknown_203B26C->unk20];
|
||||
gUnknown_203B26C->unk1E = move->id;
|
||||
UpdateGulpinShopState(3);
|
||||
gGulpinShopWork->unk20 = sub_801F194();
|
||||
move = gGulpinShopWork->moves;
|
||||
move = &move[gGulpinShopWork->unk20];
|
||||
gGulpinShopWork->unk1E = move->id;
|
||||
SetGulpinShopState(3);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
sub_801F214();
|
||||
UpdateGulpinShopState(6);
|
||||
SetGulpinShopState(6);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -286,21 +281,21 @@ void sub_801ED28(void)
|
||||
|
||||
menuAction = 0;
|
||||
sub_801EF38(0);
|
||||
if (sub_8012FD8(&gUnknown_203B26C->unk78) == 0)
|
||||
sub_8013114(&gUnknown_203B26C->unk78, &menuAction);
|
||||
if (sub_8012FD8(&gGulpinShopWork->unk78) == 0)
|
||||
sub_8013114(&gGulpinShopWork->unk78, &menuAction);
|
||||
|
||||
switch(menuAction) {
|
||||
switch (menuAction) {
|
||||
case 1:
|
||||
case 5:
|
||||
UpdateGulpinShopState(1);
|
||||
SetGulpinShopState(1);
|
||||
break;
|
||||
case 2:
|
||||
PlaySound(0x133);
|
||||
gUnknown_203B26C->isNextMoveLinked = IsNextMoveLinked(gUnknown_203B26C->unk20, gUnknown_203B26C->moves);
|
||||
UpdateGulpinShopState(4);
|
||||
gGulpinShopWork->isNextMoveLinked = IsNextMoveLinked(gGulpinShopWork->unk20, gGulpinShopWork->moves);
|
||||
SetGulpinShopState(4);
|
||||
break;
|
||||
case 3:
|
||||
UpdateGulpinShopState(3);
|
||||
SetGulpinShopState(3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -311,7 +306,7 @@ void sub_801EDA4(void)
|
||||
case 2:
|
||||
case 3:
|
||||
sub_801F8D0();
|
||||
UpdateGulpinShopState(1);
|
||||
SetGulpinShopState(1);
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
@@ -322,17 +317,17 @@ void sub_801EDA4(void)
|
||||
void sub_801EDC0(void)
|
||||
{
|
||||
s32 temp;
|
||||
|
||||
if (sub_80144A4(&temp) == 0) {
|
||||
switch (temp)
|
||||
{
|
||||
switch (temp) {
|
||||
case 4:
|
||||
sub_801F214();
|
||||
RemoveLinkSequenceFromMoves8(gUnknown_203B26C->moves, gUnknown_203B26C->unk20);
|
||||
gUnknown_203B26C->state = 5;
|
||||
RemoveLinkSequenceFromMoves8(gGulpinShopWork->moves, gGulpinShopWork->unk20);
|
||||
gGulpinShopWork->state = 5;
|
||||
break;
|
||||
case 1:
|
||||
case 5:
|
||||
UpdateGulpinShopState(1);
|
||||
SetGulpinShopState(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,6 @@ extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_801E714(void);
|
||||
extern void sub_801E76C(void);
|
||||
extern void DisplayChosenHint(void);
|
||||
extern void xxx_call_draw_string(s32, u32, u8 *, u32, u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, u32);
|
||||
|
||||
@@ -53,7 +53,6 @@ extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_8013C68(u32 *);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void xxx_call_draw_string(u32 x, u32 y, u8 *, u32, u32);
|
||||
|
||||
extern void sub_801A9E0();
|
||||
extern void sub_801841C();
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "team_inventory.h"
|
||||
#include "code_800D090.h"
|
||||
#include "menu_input.h"
|
||||
#include "text.h"
|
||||
|
||||
extern struct unkStruct_203B210 *gUnknown_203B210;
|
||||
extern u16 gUnknown_203B218;
|
||||
@@ -46,7 +47,6 @@ extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, u32);
|
||||
extern void xxx_call_draw_string(s32 x, s32, u8 *, u32, u32);
|
||||
extern void xxx_format_and_draw(u32, u32, u8 *, u32, u32);
|
||||
extern s32 sub_801AED0(s32);
|
||||
void sub_8007B7C(s32, s32, s32, s32, s32);
|
||||
|
||||
@@ -49,7 +49,6 @@ extern bool8 sub_80023E4(u32);
|
||||
extern u8 *sub_8098FB4();
|
||||
extern u8 *GetDungeonLocationInfo(void);
|
||||
extern u32 GetNumAdventures(void);
|
||||
extern void xxx_call_draw_string(u32 x, u32 y, const u8 *, u32, u32);
|
||||
extern void PrintDungeonLocationtoBuffer(u8 *, u8 *);
|
||||
extern void sub_80922B4(u8 *, const u8 *, u32);
|
||||
extern u32 sub_8001658(u32, u32);
|
||||
|
||||
@@ -86,7 +86,6 @@ extern void InitializeJobListMenu(u32);
|
||||
extern void sub_802B640(u32, u32, u32);
|
||||
extern void sub_802B7D0(u32);
|
||||
extern void sub_802B9FC(u8);
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
@@ -58,7 +58,6 @@ extern s16 sub_80A26CC(s16 r0);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32);
|
||||
extern u8 sub_80A2740(s32 r0);
|
||||
extern s16 sub_80A2668(u32 r0);
|
||||
extern s32 sub_8013800(void *, u32);
|
||||
|
||||
@@ -59,7 +59,6 @@ extern const char *gUnknown_80D4928[];
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void xxx_call_draw_string(u32, u32, u8 *, u32, u32);
|
||||
extern s32 sub_8008ED0(u8 *);
|
||||
extern s32 sub_8013800(u32 *, u32);
|
||||
extern void sub_80078A4(u32, u32, u32, u32, u32);
|
||||
|
||||
@@ -174,7 +174,6 @@ extern void sub_80073E0(u32);
|
||||
extern void sub_80922B4(u8 *, const u8 *, u32);
|
||||
extern void sub_808D930(u8 *, s16);
|
||||
extern s32 sub_8008ED0(u8 *);
|
||||
extern void xxx_call_draw_string(s32 x, s32 y, u8 *, u32, u32);
|
||||
extern void xxx_format_and_draw(s32, s32, const u8 *, ...);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern u32 sub_801F890(void);
|
||||
|
||||
@@ -79,7 +79,6 @@ extern void sub_803B35C(struct WonderMail *, struct unkStruct_802C39C *);
|
||||
extern void sub_802DE84(struct unkStruct_802C39C *);
|
||||
extern void InitializeJobListMenu(u32);
|
||||
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
@@ -72,7 +72,6 @@ extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_8013984(struct MenuInputStruct *r0);
|
||||
u32 sub_8013800(struct MenuInputStruct *r0, u32);
|
||||
extern void AddMenuCursorSprite(struct MenuInputStruct *r0);
|
||||
extern void xxx_call_draw_string(u32 x, u32 y, const char *text, u32, u32);
|
||||
extern u32 sub_80095E4(s16, u32);
|
||||
|
||||
extern struct GameOptions *gGameOptionsRef;
|
||||
|
||||
@@ -181,7 +181,6 @@ extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_802BC7C(void);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32);
|
||||
extern void xxx_format_and_draw(u32, u32, const u8 *, u32, u32);
|
||||
extern void sub_803B6B0(u32, u32, u32, u32);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, s32);
|
||||
|
||||
@@ -187,7 +187,6 @@ extern u8 *sub_80975DC(u32 r0);
|
||||
extern u8 sub_8099360(u8 *);
|
||||
extern u8 sub_8099394(volatile u8 *);
|
||||
extern struct WonderMail *GetJobSlotInfo(u8);
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void sprintfStatic(char *buffer, const char *text, ...);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "save.h"
|
||||
#include "menu.h"
|
||||
#include "menu_input.h"
|
||||
#include "text.h"
|
||||
|
||||
EWRAM_DATA_2 struct TradeItemsMenu *gTradeItemsMenu = {0};
|
||||
|
||||
@@ -101,7 +102,6 @@ extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_8013C68(u32 *);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern u8 sub_801CF14(u32);
|
||||
extern u32 sub_801D008();
|
||||
extern void sub_801C8C4(u32, u32, s32 *, u32);
|
||||
|
||||
@@ -103,7 +103,6 @@ extern void sub_80073E0(u32);
|
||||
extern struct WonderMail* GetJobSlotInfo(u8);
|
||||
extern s32 sub_8013800(struct MenuInputStruct*, u32);
|
||||
extern void sub_803B35C(struct WonderMail *, struct unkStruct_802C39C *);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern void CreateRescueTitle(struct unkStruct_802C39C *);
|
||||
|
||||
extern void sub_8013984(struct MenuInputStruct*);
|
||||
|
||||
@@ -32,7 +32,6 @@ extern void sub_803B35C(struct WonderMail *, u32 *);
|
||||
extern u8 gBulletinBoardText[];
|
||||
extern bool8 IsMailinJobSlot(struct WonderMail *);
|
||||
extern void CreateRescueTitle(struct unkStruct_802C39C *);
|
||||
extern void xxx_call_draw_string(s32, s32, u8 *, s32, s32);
|
||||
|
||||
|
||||
struct unkStruct_203B2D8
|
||||
|
||||
@@ -149,7 +149,6 @@ extern u8 *sub_8096DE8(void);
|
||||
extern void AcceptJob(struct unkSubStruct_203B2F8 *);
|
||||
extern void sub_8014248(const char *text, u32, u32, struct MenuItem *r0, u32, u32, u32, u32, u32);
|
||||
struct unkStruct_803B344 *sub_803B344(u8);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
@@ -138,7 +138,6 @@ extern u32 sub_801B60C(u32, u8, u8);
|
||||
extern void sub_8092578(u8 *buffer, u8 index, u8 r2);
|
||||
void HandleMissionReward(void);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, s32);
|
||||
extern void xxx_call_draw_string(s32, s32, const u8 *, s32, s32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
@@ -89,7 +89,6 @@ extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_8013984(struct MenuInputStruct*);
|
||||
extern void AddMenuCursorSprite(struct MenuInputStruct*);
|
||||
extern s32 sub_8013800(struct MenuInputStruct*, u32);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
@@ -51,7 +51,6 @@ extern void sub_801317C(void *);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern u32 sub_8012A64(void *, u32);
|
||||
extern void CreateRescueDescription(struct unkStruct_802C39C *);
|
||||
extern void xxx_call_draw_string(u32, u32, const char *, u32, u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ gUnknown_203B1FC: /* 203B1FC */
|
||||
gUnknown_203B200: /* 203B200 */
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B204: /* 203B204 */
|
||||
gFelicityBankWork: /* 203B204 */
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B208: /* 203B208 */
|
||||
@@ -220,7 +220,7 @@ gUnknown_203B264: /* 203B264 */
|
||||
gUnknown_203B268: /* 203B268 */
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B26C: /* 203B26C */
|
||||
gGulpinShopWork: /* 203B26C */
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B270: /* 203B270 */
|
||||
|
||||
Reference in New Issue
Block a user