mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-02 16:53:46 -05:00
Merge pull request #255 from Kermalis/serialization
Some checks are pending
GithubCI / build (push) Waiting to run
Some checks are pending
GithubCI / build (push) Waiting to run
Dungeon/Adventure Serialization
This commit is contained in:
commit
a91629769c
|
|
@ -1,785 +0,0 @@
|
|||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80453AC
|
||||
sub_80453AC:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
mov r8, r0
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
mov r9, r0
|
||||
mov r0, r8
|
||||
bl GetBodySize
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
movs r5, 0
|
||||
movs r0, 0x6
|
||||
subs r3, r0, r6
|
||||
ldr r4, _080453D8
|
||||
b _080453DE
|
||||
.align 2, 0
|
||||
_080453D8: .4byte gUnknown_202EE70
|
||||
_080453DC:
|
||||
adds r5, 0x1
|
||||
_080453DE:
|
||||
cmp r5, r3
|
||||
bgt _08045400
|
||||
movs r2, 0
|
||||
cmp r2, r6
|
||||
bge _080453FA
|
||||
adds r1, r5, r4
|
||||
b _080453F4
|
||||
_080453EC:
|
||||
adds r1, 0x1
|
||||
adds r2, 0x1
|
||||
cmp r2, r6
|
||||
bge _080453FA
|
||||
_080453F4:
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _080453EC
|
||||
_080453FA:
|
||||
cmp r2, r6
|
||||
bne _080453DC
|
||||
mov r9, r5
|
||||
_08045400:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r9, r0
|
||||
beq _080454FC
|
||||
movs r5, 0
|
||||
ldr r7, _080454DC
|
||||
_0804540C:
|
||||
ldr r1, _080454E0
|
||||
ldr r0, [r1]
|
||||
lsls r1, r5, 2
|
||||
ldr r2, _080454E4
|
||||
adds r0, r2
|
||||
adds r0, r1
|
||||
ldr r4, [r0]
|
||||
adds r0, r4, 0
|
||||
bl EntityExists
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r10, r0
|
||||
cmp r0, 0
|
||||
bne _080454F0
|
||||
movs r0, 0x1
|
||||
str r0, [r4]
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x24
|
||||
strb r5, [r0]
|
||||
ldr r1, _080454E0
|
||||
ldr r0, [r1]
|
||||
adds r0, r7
|
||||
str r0, [r4, 0x70]
|
||||
mov r2, r8
|
||||
strh r2, [r0, 0x2]
|
||||
movs r0, 0
|
||||
mov r1, r8
|
||||
bl sub_8069F54
|
||||
ldr r1, [r4, 0x70]
|
||||
strh r0, [r1, 0x4]
|
||||
ldr r0, [r4, 0x70]
|
||||
movs r5, 0
|
||||
strb r5, [r0, 0x6]
|
||||
movs r0, 0
|
||||
mov r1, r8
|
||||
bl sub_8069F54
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
bl GetSpriteData
|
||||
str r0, [r4, 0x64]
|
||||
mov r1, r9
|
||||
lsls r0, r1, 4
|
||||
adds r0, 0x40
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x68
|
||||
strh r0, [r1]
|
||||
adds r1, 0x2
|
||||
movs r0, 0x7
|
||||
strb r0, [r1]
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x6C
|
||||
movs r2, 0
|
||||
strb r2, [r0]
|
||||
adds r1, 0x1
|
||||
movs r0, 0xFF
|
||||
strb r0, [r1]
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x6D
|
||||
movs r5, 0x1
|
||||
strb r5, [r0]
|
||||
adds r0, 0x2
|
||||
strb r5, [r0]
|
||||
mov r0, r10
|
||||
str r0, [r4, 0x1C]
|
||||
bl sub_8045ACC
|
||||
ldr r0, [r4, 0x70]
|
||||
ldr r1, _080454E8
|
||||
adds r0, r1
|
||||
mov r2, r9
|
||||
strb r2, [r0]
|
||||
ldr r0, [r4, 0x70]
|
||||
movs r5, 0xB4
|
||||
lsls r5, 1
|
||||
adds r0, r5
|
||||
strb r6, [r0]
|
||||
cmp r6, 0
|
||||
beq _080454C6
|
||||
ldr r3, _080454EC
|
||||
movs r2, 0x1
|
||||
adds r1, r6, 0
|
||||
_080454B6:
|
||||
mov r5, r9
|
||||
adds r0, r5, r3
|
||||
strb r2, [r0]
|
||||
movs r0, 0x1
|
||||
add r9, r0
|
||||
subs r1, 0x1
|
||||
cmp r1, 0
|
||||
bne _080454B6
|
||||
_080454C6:
|
||||
ldr r1, _080454E0
|
||||
ldr r0, [r1]
|
||||
movs r2, 0xCD
|
||||
lsls r2, 3
|
||||
adds r0, r2
|
||||
ldrh r2, [r0]
|
||||
adds r1, r2, 0x1
|
||||
strh r1, [r0]
|
||||
strh r2, [r4, 0x26]
|
||||
adds r0, r4, 0
|
||||
b _080454FE
|
||||
.align 2, 0
|
||||
_080454DC: .4byte 0x0000069c
|
||||
_080454E0: .4byte gDungeon
|
||||
_080454E4: .4byte 0x0001357c
|
||||
_080454E8: .4byte 0x00000167
|
||||
_080454EC: .4byte gUnknown_202EE70
|
||||
_080454F0:
|
||||
movs r0, 0x82
|
||||
lsls r0, 2
|
||||
adds r7, r0
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x3
|
||||
ble _0804540C
|
||||
_080454FC:
|
||||
movs r0, 0
|
||||
_080454FE:
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80453AC
|
||||
|
||||
thumb_func_start sub_804550C
|
||||
sub_804550C:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x8
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
mov r8, r0
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
mov r9, r0
|
||||
mov r0, r8
|
||||
bl GetBodySize
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
movs r5, 0
|
||||
movs r0, 0x10
|
||||
subs r3, r0, r7
|
||||
ldr r4, _08045538
|
||||
b _0804553E
|
||||
.align 2, 0
|
||||
_08045538: .4byte gUnknown_202EE76
|
||||
_0804553C:
|
||||
adds r5, 0x1
|
||||
_0804553E:
|
||||
cmp r5, r3
|
||||
bgt _08045560
|
||||
movs r2, 0
|
||||
cmp r2, r7
|
||||
bge _0804555A
|
||||
adds r1, r5, r4
|
||||
b _08045554
|
||||
_0804554C:
|
||||
adds r1, 0x1
|
||||
adds r2, 0x1
|
||||
cmp r2, r7
|
||||
bge _0804555A
|
||||
_08045554:
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _0804554C
|
||||
_0804555A:
|
||||
cmp r2, r7
|
||||
bne _0804553C
|
||||
mov r9, r5
|
||||
_08045560:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r9, r0
|
||||
bne _0804556A
|
||||
b _08045670
|
||||
_0804556A:
|
||||
movs r5, 0
|
||||
movs r1, 0x1
|
||||
mov r10, r1
|
||||
ldr r2, _08045650
|
||||
mov r3, r9
|
||||
lsls r0, r3, 4
|
||||
adds r0, 0xA0
|
||||
str r0, [sp]
|
||||
_0804557A:
|
||||
ldr r1, _08045654
|
||||
ldr r0, [r1]
|
||||
lsls r1, r5, 2
|
||||
ldr r3, _08045658
|
||||
adds r0, r3
|
||||
adds r0, r1
|
||||
ldr r4, [r0]
|
||||
adds r0, r4, 0
|
||||
str r2, [sp, 0x4]
|
||||
bl EntityExists
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
ldr r2, [sp, 0x4]
|
||||
cmp r6, 0
|
||||
bne _08045664
|
||||
mov r0, r10
|
||||
str r0, [r4]
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x24
|
||||
strb r5, [r0]
|
||||
subs r0, 0x2
|
||||
strb r6, [r0]
|
||||
ldr r1, _08045654
|
||||
ldr r0, [r1]
|
||||
adds r0, r2
|
||||
str r0, [r4, 0x70]
|
||||
mov r2, r8
|
||||
strh r2, [r0, 0x2]
|
||||
movs r0, 0
|
||||
mov r1, r8
|
||||
bl sub_8069F54
|
||||
ldr r1, [r4, 0x70]
|
||||
strh r0, [r1, 0x4]
|
||||
ldr r0, [r4, 0x70]
|
||||
mov r3, r10
|
||||
strb r3, [r0, 0x6]
|
||||
movs r0, 0
|
||||
mov r1, r8
|
||||
bl sub_8069F54
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
bl GetSpriteData
|
||||
str r0, [r4, 0x64]
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x68
|
||||
mov r5, sp
|
||||
ldrh r5, [r5]
|
||||
strh r5, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x6A
|
||||
movs r0, 0x7
|
||||
strb r0, [r1]
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x6C
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x6B
|
||||
movs r0, 0xFF
|
||||
strb r0, [r1]
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x6D
|
||||
mov r2, r10
|
||||
strb r2, [r0]
|
||||
adds r0, 0x2
|
||||
strb r2, [r0]
|
||||
str r6, [r4, 0x1C]
|
||||
ldr r0, [r4, 0x70]
|
||||
ldr r3, _0804565C
|
||||
adds r0, r3
|
||||
mov r5, r9
|
||||
strb r5, [r0]
|
||||
ldr r0, [r4, 0x70]
|
||||
movs r1, 0xB4
|
||||
lsls r1, 1
|
||||
adds r0, r1
|
||||
strb r7, [r0]
|
||||
cmp r7, 0
|
||||
beq _08045636
|
||||
ldr r3, _08045660
|
||||
movs r2, 0x1
|
||||
adds r1, r7, 0
|
||||
_08045626:
|
||||
mov r5, r9
|
||||
adds r0, r5, r3
|
||||
strb r2, [r0]
|
||||
movs r0, 0x1
|
||||
add r9, r0
|
||||
subs r1, 0x1
|
||||
cmp r1, 0
|
||||
bne _08045626
|
||||
_08045636:
|
||||
bl sub_8045ACC
|
||||
ldr r1, _08045654
|
||||
ldr r0, [r1]
|
||||
movs r2, 0xCD
|
||||
lsls r2, 3
|
||||
adds r0, r2
|
||||
ldrh r2, [r0]
|
||||
adds r1, r2, 0x1
|
||||
strh r1, [r0]
|
||||
strh r2, [r4, 0x26]
|
||||
adds r0, r4, 0
|
||||
b _08045672
|
||||
.align 2, 0
|
||||
_08045650: .4byte 0x00000ebc
|
||||
_08045654: .4byte gDungeon
|
||||
_08045658: .4byte 0x0001358c
|
||||
_0804565C: .4byte 0x00000167
|
||||
_08045660: .4byte gUnknown_202EE76
|
||||
_08045664:
|
||||
movs r3, 0x82
|
||||
lsls r3, 2
|
||||
adds r2, r3
|
||||
adds r5, 0x1
|
||||
cmp r5, 0xF
|
||||
ble _0804557A
|
||||
_08045670:
|
||||
movs r0, 0
|
||||
_08045672:
|
||||
add sp, 0x8
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_804550C
|
||||
|
||||
thumb_func_start sub_8045684
|
||||
sub_8045684:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
mov r10, r1
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r8, r0
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
mov r9, r2
|
||||
movs r5, 0
|
||||
ldr r7, _080456E4
|
||||
ldr r6, _080456E8
|
||||
_080456A2:
|
||||
ldr r0, [r7]
|
||||
lsls r1, r5, 2
|
||||
ldr r2, _080456EC
|
||||
adds r0, r2
|
||||
adds r0, r1
|
||||
ldr r4, [r0]
|
||||
adds r0, r4, 0
|
||||
bl EntityExists
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0
|
||||
bne _080456F0
|
||||
movs r0, 0x2
|
||||
str r0, [r4]
|
||||
ldr r0, [r7]
|
||||
adds r0, r6
|
||||
str r0, [r4, 0x70]
|
||||
mov r2, r8
|
||||
strb r2, [r0]
|
||||
ldr r0, [r4, 0x70]
|
||||
mov r2, r9
|
||||
strb r2, [r0, 0x1]
|
||||
str r1, [r4, 0x1C]
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x22
|
||||
strb r1, [r0]
|
||||
mov r2, r10
|
||||
ldr r0, [r2]
|
||||
str r0, [r4, 0x4]
|
||||
strh r1, [r4, 0x26]
|
||||
adds r0, r4, 0
|
||||
b _080456FA
|
||||
.align 2, 0
|
||||
_080456E4: .4byte gDungeon
|
||||
_080456E8: .4byte 0x00003908
|
||||
_080456EC: .4byte 0x0001371c
|
||||
_080456F0:
|
||||
adds r6, 0x4
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x3F
|
||||
ble _080456A2
|
||||
movs r0, 0
|
||||
_080456FA:
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8045684
|
||||
|
||||
thumb_func_start sub_8045708
|
||||
sub_8045708:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
mov r8, r0
|
||||
ldr r1, _08045744
|
||||
ldr r0, _08045748
|
||||
ldr r0, [r0]
|
||||
ldr r2, _0804574C
|
||||
adds r0, r2
|
||||
movs r3, 0
|
||||
ldrsh r0, [r0, r3]
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
bne _0804579C
|
||||
mov r1, r8
|
||||
movs r2, 0
|
||||
ldrsh r0, [r1, r2]
|
||||
movs r3, 0x2
|
||||
ldrsh r1, [r1, r3]
|
||||
bl GetTileSafe
|
||||
ldrh r1, [r0]
|
||||
movs r0, 0x3
|
||||
ands r0, r1
|
||||
cmp r0, 0x2
|
||||
bne _0804579C
|
||||
b _080457C4
|
||||
.align 2, 0
|
||||
_08045744: .4byte gDungeonWaterType
|
||||
_08045748: .4byte gDungeon
|
||||
_0804574C: .4byte 0x00003a0e
|
||||
_08045750:
|
||||
movs r0, 0x3
|
||||
str r0, [r4]
|
||||
ldr r0, _08045798
|
||||
adds r1, r6, r0
|
||||
mov r2, r9
|
||||
ldr r0, [r2]
|
||||
adds r0, r1
|
||||
str r0, [r4, 0x70]
|
||||
mov r3, r8
|
||||
ldr r0, [r3]
|
||||
str r0, [r4, 0x4]
|
||||
movs r1, 0
|
||||
ldrsh r0, [r3, r1]
|
||||
lsls r1, r0, 1
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, 0x4
|
||||
lsls r1, 8
|
||||
movs r2, 0x2
|
||||
ldrsh r0, [r3, r2]
|
||||
lsls r2, r0, 1
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, 0x4
|
||||
lsls r2, 8
|
||||
adds r0, r4, 0
|
||||
bl SetEntityPixelPos
|
||||
movs r0, 0
|
||||
strh r7, [r4, 0x26]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x22
|
||||
strb r0, [r1]
|
||||
str r7, [r4, 0x1C]
|
||||
adds r0, r4, 0
|
||||
b _080457C6
|
||||
.align 2, 0
|
||||
_08045798: .4byte 0x00003804
|
||||
_0804579C:
|
||||
movs r5, 0
|
||||
ldr r3, _080457D4
|
||||
mov r9, r3
|
||||
_080457A2:
|
||||
mov r1, r9
|
||||
ldr r0, [r1]
|
||||
lsls r6, r5, 2
|
||||
ldr r2, _080457D8
|
||||
adds r0, r2
|
||||
adds r0, r6
|
||||
ldr r4, [r0]
|
||||
adds r0, r4, 0
|
||||
bl EntityExists
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
cmp r7, 0
|
||||
beq _08045750
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x3F
|
||||
ble _080457A2
|
||||
_080457C4:
|
||||
movs r0, 0
|
||||
_080457C6:
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080457D4: .4byte gDungeon
|
||||
_080457D8: .4byte 0x0001361c
|
||||
thumb_func_end sub_8045708
|
||||
|
||||
thumb_func_start sub_80457DC
|
||||
sub_80457DC:
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
movs r0, 0x5
|
||||
str r0, [r4]
|
||||
movs r6, 0
|
||||
movs r5, 0
|
||||
strh r5, [r4, 0x4]
|
||||
strh r5, [r4, 0x6]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl SetEntityPixelPos
|
||||
strh r5, [r4, 0x26]
|
||||
adds r4, 0x22
|
||||
strb r6, [r4]
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80457DC
|
||||
|
||||
thumb_func_start sub_8045804
|
||||
sub_8045804:
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
bl GetEntityType
|
||||
cmp r0, 0x1
|
||||
beq _0804581C
|
||||
cmp r0, 0x1
|
||||
bcc _08045880
|
||||
cmp r0, 0x5
|
||||
beq _08045880
|
||||
_08045818:
|
||||
movs r0, 0x1
|
||||
b _08045882
|
||||
_0804581C:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x20
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08045880
|
||||
ldr r0, _08045874
|
||||
ldr r1, [r0]
|
||||
ldr r0, _08045878
|
||||
adds r2, r1, r0
|
||||
ldr r5, [r2, 0x10]
|
||||
ldr r3, [r4, 0x70]
|
||||
ldrb r0, [r3, 0x6]
|
||||
cmp r0, 0
|
||||
beq _08045818
|
||||
ldr r6, _0804587C
|
||||
adds r0, r1, r6
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _0804584C
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xE4
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _08045880
|
||||
_0804584C:
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x23
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08045818
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x25
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08045818
|
||||
cmp r5, 0
|
||||
beq _08045880
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r2, 0
|
||||
bl IsPositionActuallyInSight
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
b _08045882
|
||||
.align 2, 0
|
||||
_08045874: .4byte gDungeon
|
||||
_08045878: .4byte 0x000181e8
|
||||
_0804587C: .4byte 0x0001820f
|
||||
_08045880:
|
||||
movs r0, 0
|
||||
_08045882:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8045804
|
||||
|
||||
thumb_func_start sub_8045888
|
||||
sub_8045888:
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
adds r0, 0x20
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08045988
|
||||
ldr r1, [r4, 0xC]
|
||||
cmp r1, 0
|
||||
bge _0804589C
|
||||
adds r1, 0xFF
|
||||
_0804589C:
|
||||
asrs r1, 8
|
||||
ldr r0, _080458F0
|
||||
ldr r2, [r0]
|
||||
ldr r3, _080458F4
|
||||
adds r0, r2, r3
|
||||
movs r5, 0
|
||||
ldrsh r0, [r0, r5]
|
||||
subs r3, r1, r0
|
||||
ldr r0, [r4, 0x10]
|
||||
cmp r0, 0
|
||||
bge _080458B4
|
||||
adds r0, 0xFF
|
||||
_080458B4:
|
||||
asrs r0, 8
|
||||
ldr r5, _080458F8
|
||||
adds r1, r2, r5
|
||||
movs r5, 0
|
||||
ldrsh r1, [r1, r5]
|
||||
subs r1, r0, r1
|
||||
movs r0, 0x20
|
||||
negs r0, r0
|
||||
cmp r3, r0
|
||||
blt _08045988
|
||||
cmp r1, r0
|
||||
blt _08045988
|
||||
movs r0, 0x88
|
||||
lsls r0, 1
|
||||
cmp r3, r0
|
||||
bgt _08045988
|
||||
cmp r1, 0xC0
|
||||
bgt _08045988
|
||||
ldr r0, _080458FC
|
||||
adds r5, r2, r0
|
||||
adds r0, r4, 0
|
||||
bl GetEntityType
|
||||
cmp r0, 0x5
|
||||
bhi _08045984
|
||||
lsls r0, 2
|
||||
ldr r1, _08045900
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080458F0: .4byte gDungeon
|
||||
_080458F4: .4byte 0x000181f0
|
||||
_080458F8: .4byte 0x000181f2
|
||||
_080458FC: .4byte 0x000181e8
|
||||
_08045900: .4byte _08045904
|
||||
.align 2, 0
|
||||
_08045904:
|
||||
.4byte _08045988
|
||||
.4byte _08045934
|
||||
.4byte _08045964
|
||||
.4byte _0804591C
|
||||
.4byte _08045984
|
||||
.4byte _08045988
|
||||
_0804591C:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x26
|
||||
_08045920:
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08045984
|
||||
adds r0, r4, 0x4
|
||||
bl sub_803F428
|
||||
lsls r0, 24
|
||||
_0804592E:
|
||||
cmp r0, 0
|
||||
bne _08045984
|
||||
b _08045988
|
||||
_08045934:
|
||||
ldr r1, [r4, 0x70]
|
||||
ldrb r0, [r1, 0x6]
|
||||
cmp r0, 0
|
||||
beq _08045984
|
||||
ldr r0, _0804595C
|
||||
ldr r0, [r0]
|
||||
ldr r2, _08045960
|
||||
adds r0, r2
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08045954
|
||||
adds r0, r1, 0
|
||||
adds r0, 0xE4
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _08045988
|
||||
_08045954:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x25
|
||||
b _08045920
|
||||
.align 2, 0
|
||||
_0804595C: .4byte gDungeon
|
||||
_08045960: .4byte 0x0001820f
|
||||
_08045964:
|
||||
ldr r0, _0804597C
|
||||
ldr r0, [r0]
|
||||
ldr r3, _08045980
|
||||
adds r0, r3
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08045984
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x20
|
||||
ldrb r0, [r0]
|
||||
b _0804592E
|
||||
.align 2, 0
|
||||
_0804597C: .4byte gDungeon
|
||||
_08045980: .4byte 0x0001820f
|
||||
_08045984:
|
||||
movs r0, 0x1
|
||||
b _0804598A
|
||||
_08045988:
|
||||
movs r0, 0
|
||||
_0804598A:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8045888
|
||||
|
||||
.align 2, 0
|
||||
|
|
@ -3136,7 +3136,7 @@ sub_806BB6C:
|
|||
str r6, [sp, 0xC]
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_8069F54
|
||||
bl GetMonsterApparentID
|
||||
lsls r0, 16
|
||||
adds r1, r7, 0
|
||||
adds r1, 0x22
|
||||
|
|
|
|||
|
|
@ -421,7 +421,7 @@ _0807E9A4:
|
|||
movs r0, 0x2
|
||||
ldrsh r1, [r4, r0]
|
||||
adds r0, r5, 0
|
||||
bl sub_8069F54
|
||||
bl GetMonsterApparentID
|
||||
b _0807E9D8
|
||||
.align 2, 0
|
||||
_0807E9D0: .4byte 0xfffffe88
|
||||
|
|
|
|||
1010
asm/code_8080CF0.s
1010
asm/code_8080CF0.s
File diff suppressed because it is too large
Load Diff
|
|
@ -400,7 +400,7 @@ _080987C0:
|
|||
bl DeleteGroundEffects
|
||||
bl sub_809C658
|
||||
bl nullsub_16
|
||||
bl sub_8097944
|
||||
bl UpdateAdventureAchievements
|
||||
cmp r7, r4
|
||||
beq _08098848
|
||||
adds r0, r7, 0
|
||||
|
|
|
|||
|
|
@ -487,7 +487,7 @@ _080A195A:
|
|||
movs r2, 0xA
|
||||
bl sub_80922B4
|
||||
_080A1968:
|
||||
bl sub_8097848
|
||||
bl IncrementAdventureNumJoined
|
||||
bl _080A236A
|
||||
.align 2, 0
|
||||
_080A1970: .4byte gUnknown_8116710
|
||||
|
|
@ -526,7 +526,7 @@ _080A1988:
|
|||
bne _080A19C2
|
||||
b _080A1EBE
|
||||
_080A19C2:
|
||||
bl sub_8097848
|
||||
bl IncrementAdventureNumJoined
|
||||
ldrh r1, [r4]
|
||||
movs r0, 0x2
|
||||
orrs r0, r1
|
||||
|
|
@ -626,7 +626,7 @@ _080A1A70:
|
|||
bl sub_808D2E8
|
||||
cmp r0, 0
|
||||
beq _080A1A9A
|
||||
bl sub_8097848
|
||||
bl IncrementAdventureNumJoined
|
||||
_080A1A9A:
|
||||
movs r0, 0x92
|
||||
movs r1, 0
|
||||
|
|
@ -641,7 +641,7 @@ _080A1A9A:
|
|||
bl sub_808D2E8
|
||||
cmp r0, 0
|
||||
beq _080A1ABC
|
||||
bl sub_8097848
|
||||
bl IncrementAdventureNumJoined
|
||||
_080A1ABC:
|
||||
movs r0, 0x90
|
||||
movs r1, 0
|
||||
|
|
@ -660,7 +660,7 @@ _080A1ACC:
|
|||
bne _080A1AE2
|
||||
bl _080A236A
|
||||
_080A1AE2:
|
||||
bl sub_8097848
|
||||
bl IncrementAdventureNumJoined
|
||||
bl _080A236A
|
||||
.align 2, 0
|
||||
_080A1AEC: .4byte gUnknown_8116788
|
||||
|
|
@ -1121,7 +1121,7 @@ _080A1EAC:
|
|||
adds r2, 0x1
|
||||
cmp r2, 0x9
|
||||
ble _080A1EAC
|
||||
bl sub_8097848
|
||||
bl IncrementAdventureNumJoined
|
||||
_080A1EBE:
|
||||
movs r0, 0x1
|
||||
b _080A236C
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ -d "$DEVKITARM/bin/" ]]; then
|
||||
OBJDUMP_BIN="$DEVKITARM/bin/arm-none-eabi-objdump"
|
||||
else
|
||||
OBJDUMP_BIN="arm-none-eabi-objdump"
|
||||
fi
|
||||
OBJDUMP_BIN="arm-none-eabi-objdump"
|
||||
|
||||
OBJDUMP="$OBJDUMP_BIN -D -bbinary -marmv4t -Mforce-thumb"
|
||||
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@
|
|||
'”' = 7E 39 34
|
||||
'•' = 95
|
||||
@ 96, 97 are not hyphens, 'er', and 're' superscripts in kanji_a
|
||||
INVALID_SEQUENCE_976C = 97 6C
|
||||
'˜' = 98
|
||||
'™' = 99
|
||||
'š' = 9A
|
||||
|
|
|
|||
|
|
@ -812,5 +812,12 @@ gUnknown_80F51EC: @ 80F51EC
|
|||
.global gUnknown_80F520C
|
||||
gUnknown_80F520C: @ 80F520C
|
||||
@ replacing .incbin "baserom.gba", 0x000f520c, 0x20
|
||||
.byte 0x01, 0x00, 0x78, 0x01, 0x02, 0x00, 0x7a, 0x01, 0x01, 0x00, 0x78, 0x01, 0x01, 0x00, 0x78, 0x01, 0x03, 0x00, 0x7b, 0x01, 0x06, 0x00, 0x79, 0x01, 0x03, 0x00, 0x7b, 0x01, 0x06, 0x00, 0x79, 0x01
|
||||
.byte 0x01, 0x00, 0x78, 0x01
|
||||
.byte 0x02, 0x00, 0x7a, 0x01
|
||||
.byte 0x01, 0x00, 0x78, 0x01
|
||||
.byte 0x01, 0x00, 0x78, 0x01
|
||||
.byte 0x03, 0x00, 0x7b, 0x01
|
||||
.byte 0x06, 0x00, 0x79, 0x01
|
||||
.byte 0x03, 0x00, 0x7b, 0x01
|
||||
.byte 0x06, 0x00, 0x79, 0x01
|
||||
|
||||
|
|
|
|||
|
|
@ -465,7 +465,8 @@ gUnknown_80F683C: @ 80F683C
|
|||
.global gUnknown_80F6850
|
||||
gUnknown_80F6850: @ 80F6850
|
||||
@ replacing .incbin "baserom.gba", 0xF6850, 0x10
|
||||
.byte 0x9e, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00
|
||||
.byte 0x9e, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01
|
||||
.byte 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00
|
||||
|
||||
.global gSpeedTurns
|
||||
gSpeedTurns: @ 80F6860
|
||||
|
|
|
|||
1534
data/data_8107010.s
1534
data/data_8107010.s
File diff suppressed because it is too large
Load Diff
1523
data/data_8107224.s
Normal file
1523
data/data_8107224.s
Normal file
File diff suppressed because it is too large
Load Diff
8
include/code_800F958.h
Normal file
8
include/code_800F958.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef GUARD_CODE_800F958_H
|
||||
#define GUARD_CODE_800F958_H
|
||||
|
||||
#include "structs/str_position.h"
|
||||
|
||||
void AddPokemonDungeonSprite(s32 id, s16 species, Position *pos, u32);
|
||||
|
||||
#endif // GUARD_CODE_800F958_H
|
||||
8
include/code_803E724.h
Normal file
8
include/code_803E724.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef GUARD_CODE_803E724_H
|
||||
#define GUARD_CODE_803E724_H
|
||||
|
||||
#include "structs/str_position.h"
|
||||
|
||||
bool8 sub_803F428(Position *pos);
|
||||
|
||||
#endif // GUARD_CODE_803E724_H
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_damage.h"
|
||||
|
||||
void sub_80420E8(Entity *pokemon, struct DamageStruct *dmgStruct);
|
||||
void sub_80420E8(Entity *pokemon, DamageStruct *dmgStruct);
|
||||
void sub_80421C0(Entity *pokemon, u16);
|
||||
|
||||
#endif
|
||||
#endif // GUARD_CODE_8041AD0_H
|
||||
10
include/code_80450F8.h
Normal file
10
include/code_80450F8.h
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#ifndef GUARD_CODE_80227B8_H
|
||||
#define GUARD_CODE_80227B8_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
Entity *sub_8045684(u8 trapID, Position *pos, u8 c);
|
||||
Entity *sub_8045708(Position *pos);
|
||||
void sub_80457DC(Entity* ent);
|
||||
|
||||
#endif // GUARD_CODE_80227B8_H
|
||||
|
|
@ -5,4 +5,6 @@
|
|||
|
||||
void SetMessageArgument(u8 *buffer, Entity *entity, u32 param_3);
|
||||
|
||||
#endif // GUARD_CODE_8045A00_H
|
||||
void sub_8045ACC(void);
|
||||
|
||||
#endif // GUARD_CODE_8045A00_H
|
||||
|
|
@ -1,21 +1,12 @@
|
|||
#ifndef GUARD_CODE_8092334_H
|
||||
#define GUARD_CODE_8092334_H
|
||||
|
||||
// size: 0x10?
|
||||
typedef struct unkStruct_8094924
|
||||
{
|
||||
u8 *unk0; // head?
|
||||
u8 *unk4; // tail?
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
} unkStruct_8094924;
|
||||
#include "data_serializer.h"
|
||||
|
||||
void nullsub_102(unkStruct_8094924 *);
|
||||
void RestoreIntegerBits(unkStruct_8094924 *, void *, s32 size);
|
||||
void SaveIntegerBits(unkStruct_8094924 *, void *, s32 size);
|
||||
void xxx_init_struct_8094924_restore_809485C(unkStruct_8094924 *, u8 *, s32 size);
|
||||
void xxx_init_struct_8094924_save_809486C(unkStruct_8094924 *, u8 *, s32 size);
|
||||
|
||||
void sub_80948E4(unkStruct_8094924 *, u8 *, s32 size);
|
||||
void FinishBitSerializer(DataSerializer *seri);
|
||||
void InitBitReader(DataSerializer *seri, u8 *buffer, s32 bufLen);
|
||||
void InitBitWriter(DataSerializer *seri, u8 *buffer, s32 bufLen);
|
||||
void ReadBits(DataSerializer *seri, void *dst, s32 numBits);
|
||||
void WriteBits(DataSerializer *seri, void *src, s32 numBits);
|
||||
|
||||
#endif // GUARD_CODE_8092334_H
|
||||
|
|
@ -46,7 +46,7 @@ u32 CountAllMail(void);
|
|||
s32 sub_8095374(void);
|
||||
s32 GetMailIndex(u8 mailType, u32);
|
||||
s32 GetFirstIndexofMailType(u8 mailType);
|
||||
void sub_8095824(struct unkStruct_8094924 *a, unkStruct_203B480 *b);
|
||||
void sub_8095774(struct unkStruct_8094924 *a, unkStruct_203B480 *b);
|
||||
void sub_8095824(DataSerializer *a, unkStruct_203B480 *b);
|
||||
void sub_8095774(DataSerializer *a, unkStruct_203B480 *b);
|
||||
|
||||
#endif // GUARD_CODE_8094F88_H
|
||||
|
|
@ -68,7 +68,7 @@ u8 *sub_8096DD8(void);
|
|||
u8 *sub_8096DE8(void);
|
||||
u8 sub_8096E2C(void);
|
||||
void sub_8096EEC(WonderMail *mail);
|
||||
void SaveWonderMail(unkStruct_8094924 *a, WonderMail *b);
|
||||
void RestoreWonderMail(unkStruct_8094924 *a, WonderMail *b);
|
||||
void WriteWonderMailBits(DataSerializer *a, WonderMail *b);
|
||||
void ReadWonderMailBits(DataSerializer *a, WonderMail *b);
|
||||
|
||||
#endif // GUARD_CODE_80958E8_H
|
||||
|
|
|
|||
|
|
@ -3,21 +3,59 @@
|
|||
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
// See gAdventureLogText
|
||||
enum AdventureAchievement
|
||||
{
|
||||
AA_HILL_OF_ANCIENTS,
|
||||
AA_FUGITIVE,
|
||||
AA_PREVENT_METEOR,
|
||||
AA_BROKE_CURSE,
|
||||
AA_TEAM_BASE_DONE,
|
||||
AA_SMEARGLE,
|
||||
AA_SPOTTED_MUNCHLAX,
|
||||
AA_NUM_MOVES_LEARNED,
|
||||
AA_NUM_FRIEND_RESCUE_SUCCESSES,
|
||||
AA_NUM_POKEMON_EVOLVED,
|
||||
AA_NUM_POKEMON_JOINED,
|
||||
AA_NUM_THIEVING_SUCCESSES,
|
||||
AA_NUM_FLOORS_EXPLORED,
|
||||
AA_ALL_FRIEND_AREAS,
|
||||
AA_ALL_POKEMON_LEADERS,
|
||||
AA_ALL_POKEMON_JOINED,
|
||||
AA_RECRUIT_MOLTRES,
|
||||
AA_RECRUIT_ZAPDOS,
|
||||
AA_RECRUIT_ARTICUNO,
|
||||
AA_RECRUIT_DEOXYS,
|
||||
AA_RECRUIT_ENTEI,
|
||||
AA_RECRUIT_RAIKOU,
|
||||
AA_RECRUIT_SUICUNE,
|
||||
AA_RECRUIT_HO_OH,
|
||||
AA_RECRUIT_KYOGRE,
|
||||
AA_RECRUIT_GROUDON,
|
||||
AA_RECRUIT_RAYQUAZA,
|
||||
AA_RECRUIT_LUGIA,
|
||||
AA_RECRUIT_CELEBI,
|
||||
AA_RECRUIT_MEW,
|
||||
AA_RECRUIT_MEWTWO,
|
||||
AA_RECRUIT_JIRACHI,
|
||||
AA_MAX
|
||||
};
|
||||
|
||||
// size: 0xC4
|
||||
struct unkStruct_203B494
|
||||
{
|
||||
u32 unk0; // 32 bit bitfield, I think
|
||||
/* 0x0 */ u32 achievements; // Adventure achievement flags
|
||||
/* 0x4 */ s32 numAdventures;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
/* 0x8 */ s32 friendRescueSuccesses;
|
||||
/* 0xC */ s32 numEvolved;
|
||||
/* 0x10 */ DungeonLocation dungeonLocation;
|
||||
s16 unk14;
|
||||
s16 unk16;
|
||||
s16 unk18;
|
||||
/* 0x14 */ s16 thievingSuccesses;
|
||||
/* 0x16 */ s16 numJoined;
|
||||
/* 0x18 */ s16 adventureMovesLearned;
|
||||
u32 unk1C[14];
|
||||
u32 unk54[14];
|
||||
u32 unk8C[13];
|
||||
s32 unkC0;
|
||||
/* 0x8C */ u32 learnedMoves[13]; // Get with `learnedMoves[move / 32] & 1 << move % 32` ... Set with `learnedMoves[move / 32] |= 1 << move % 32`
|
||||
/* 0xC0 */ s32 numFloorsExplored;
|
||||
};
|
||||
|
||||
extern struct unkStruct_203B494 *gUnknown_203B494;
|
||||
|
|
@ -29,20 +67,20 @@ void ResetNumAdventures(void);
|
|||
|
||||
void sub_8097670(void);
|
||||
struct unkStruct_203B494 *sub_8097680(void);
|
||||
void sub_80976A8(void);
|
||||
void sub_80976F8(u8);
|
||||
bool8 sub_8097710(u8);
|
||||
void sub_8097790(void);
|
||||
s32 sub_80977B8(void);
|
||||
void sub_80977D0(void);
|
||||
s32 sub_80977F8(void);
|
||||
s16 sub_8097838(void);
|
||||
void sub_8097848(void);
|
||||
s16 sub_8097870(void);
|
||||
s16 sub_8097880(void);
|
||||
s16 sub_80978B8(void);
|
||||
void sub_8097944(void);
|
||||
u32 sub_8097D60(u8 *r0, u32 size);
|
||||
u32 sub_8097D98(u8 *r0, u32 size);
|
||||
void ResetAdventureInfo(void);
|
||||
void SetAdventureAchievement(u8);
|
||||
bool8 GetAdventureAchievement(u8);
|
||||
void IncrementFriendRescueSuccesses(void);
|
||||
s32 GetFriendRescueSuccesses(void);
|
||||
void IncrementNumEvolved(void);
|
||||
s32 GetAdventureNumEvolved(void);
|
||||
s16 GetThievingSuccesses(void);
|
||||
void IncrementAdventureNumJoined(void);
|
||||
s16 GetAdventureNumJoined(void);
|
||||
s16 GetAdventureMovesLearned(void);
|
||||
s16 GetAdventureFloorsExplored(void);
|
||||
void UpdateAdventureAchievements(void);
|
||||
u32 SaveAdventureData(u8 *r0, u32 size);
|
||||
u32 RestoreAdventureData(u8 *r0, u32 size);
|
||||
|
||||
#endif // GUARD_CODE_8097670_H
|
||||
|
|
|
|||
|
|
@ -33,6 +33,6 @@ extern const u8* const gCommonKecleonBros[KECLEON_BROS_MODE_COUNT][KECLEON_DLG_M
|
|||
extern const u8* const gCommonWigglytuff[WIGGLYTUFF_SHOP_MODE_COUNT][WIGGLY_DLG_MAX];
|
||||
extern const u8* const gCommonGulpin[GULPIN_SHOP_MODE_DIALOGUE_COUNT][GULPIN_DLG_MAX];
|
||||
extern const u8* const gCommonMakuhita[MAKUHITA_DOJO_MODE_COUNT][MAKUHITA_DLG_MAX];
|
||||
extern const Hints gCommonHints[NUM_HINTS];
|
||||
extern const Hints gCommonHints[HINT_MAX];
|
||||
|
||||
#endif // GUARD_COMMON_STRINGS_H
|
||||
|
|
@ -8,6 +8,14 @@ typedef struct Hints
|
|||
const u8 *body;
|
||||
} Hints;
|
||||
|
||||
#define NUM_HINTS 5
|
||||
enum HintKind
|
||||
{
|
||||
HINT_TOWN_CONTROLS_1,
|
||||
HINT_TOWN_CONTROLS_2,
|
||||
HINT_SAVING,
|
||||
HINT_ADVENTURES_WITH_FRIENDS,
|
||||
HINT_BUILDING_A_TEAM,
|
||||
HINT_MAX
|
||||
};
|
||||
|
||||
#endif // GUARD_COMMON_STRINGS_HINTS_H
|
||||
|
|
@ -24,9 +24,9 @@ enum KangaskhanStorageDialogue
|
|||
KANG_DLG_WITHDRAW_CONFIRMATION,
|
||||
KANG_DLG_YOU_HAVE_NOTHING,
|
||||
KANG_DLG_YOU_ARE_FULL,
|
||||
KANG_DLG_STORAGE_HAS_NOTHING,
|
||||
KANG_DLG_DEPOSIT__INVALID_ITEM,
|
||||
KANG_DLG_DEPOSIT__TOO_MANY_OF_ITEM,
|
||||
KANG_DLG_STORAGE_EMPTY,
|
||||
KANG_DLG_DEPOSIT_INVALID_ITEM,
|
||||
KANG_DLG_DEPOSIT_TOO_MANY_OF_ITEM,
|
||||
KANG_DLG_STORAGE_FULL,
|
||||
KANG_DLG_HOW_IT_WORKS,
|
||||
KANG_DLG_MAX
|
||||
|
|
|
|||
|
|
@ -418,4 +418,6 @@
|
|||
#define MOVE_MD1_2 0x19B // Unused
|
||||
#define MOVE_PIERCE 0x19C
|
||||
|
||||
#define NUM_MOVE_IDS (MOVE_PIERCE + 1)
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -17,15 +17,14 @@ enum NaturePersonalities
|
|||
LONELY,
|
||||
QUIRKY,
|
||||
MISC,
|
||||
|
||||
};
|
||||
|
||||
#define NUM_PARTNERS 10
|
||||
#define NUM_QUIZ_QUESTIONS 55
|
||||
#define MAX_ASKED_QUESTIONS 8
|
||||
#define NUM_PERSONALITIES MISC
|
||||
#define NUM_PERSONALITY_TEST_EFFECTS (NUM_PERSONALITIES+3)
|
||||
#define NUM_PERSONALITY_TEST_EFFECTS (NUM_PERSONALITIES + 3)
|
||||
|
||||
#define BRAVE_2B_TRIGGER 99
|
||||
|
||||
#endif // GUARD_CONSTANTS_PERSONALITY_TEST_H
|
||||
#endif // GUARD_CONSTANTS_PERSONALITY_TEST_H
|
||||
13
include/data_serializer.h
Normal file
13
include/data_serializer.h
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#ifndef GUARD_DATA_SERIALIZER_H
|
||||
#define GUARD_DATA_SERIALIZER_H
|
||||
|
||||
// size: 0x10
|
||||
typedef struct DataSerializer
|
||||
{
|
||||
u8 *stream;
|
||||
u8 *end; // Exclusive end of the stream
|
||||
u32 count; // Used to count bits between ReadBits functions, or count bytes between ReadBytes functions
|
||||
u32 unkC; // Seems to be a temporary 32 bit storage
|
||||
} DataSerializer;
|
||||
|
||||
#endif // GUARD_DATA_SERIALIZER_H
|
||||
|
|
@ -10,6 +10,8 @@ typedef struct unkStruct_202F190
|
|||
|
||||
Tile *GetTile(s32 x, s32 y);
|
||||
Tile *GetTileSafe(s32 x, s32 y);
|
||||
|
||||
void sub_8049ED4(void);
|
||||
void sub_804AC20(Position *pos);
|
||||
|
||||
#endif
|
||||
#endif // GUARD_DUNGEON_MAP_ACCESS_H
|
||||
11
include/dungeon_serializer.h
Normal file
11
include/dungeon_serializer.h
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#ifndef GUARD_DUNGEON_SERIALIZER_H
|
||||
#define GUARD_DUNGEON_SERIALIZER_H
|
||||
|
||||
#include "data_serializer.h"
|
||||
|
||||
void ReadDungeonState(u8 *buffer, u32 bufLen);
|
||||
void SaveDungeonState(u8 *buffer, u32 bufLen);
|
||||
|
||||
void sub_8082B40(void);
|
||||
|
||||
#endif // GUARD_DUNGEON_SERIALIZER_H
|
||||
|
|
@ -11,13 +11,18 @@ extern const Position gAdjacentTileOffsets[NUM_DIRECTIONS];
|
|||
bool8 EntityExists(Entity *pokemon);
|
||||
u32 GetEntityType(Entity *entity);
|
||||
u8 GetEntityRoom(Entity *entity);
|
||||
Trap *GetTrapData(Entity *entity);
|
||||
Trap* GetTrapData_1(Entity *entity);
|
||||
Item *GetItemData(Entity *entity);
|
||||
struct Tile *GetTileAtEntitySafe(Entity *entity);
|
||||
Item *GetItemData_1(Entity *entity);
|
||||
void sub_804535C(Entity *entity, Position32 *pos);
|
||||
void SetEntityPixelPos(Entity *entity, s32 x, s32 y);
|
||||
void IncreaseEntityPixelPos(Entity *entity, s32 x, s32 y);
|
||||
|
||||
#endif
|
||||
static inline EntityInfo *GetEntInfo(Entity *entity)
|
||||
{
|
||||
return entity->axObj.info.monster;
|
||||
}
|
||||
Item *GetItemData(Entity *entity);
|
||||
Item *GetItemData_1(Entity *entity);
|
||||
Trap *GetTrapData(Entity *entity);
|
||||
Trap* GetTrapData_1(Entity *entity);
|
||||
|
||||
#endif // GUARD_DUNGEON_UTIL_H
|
||||
|
|
@ -57,7 +57,7 @@ void SetTutorialFlag(s32 param_1);
|
|||
bool32 GetTutorialFlag(s32 param_1);
|
||||
bool8 IsExclusivePokemonUnlocked(s16 pokeID);
|
||||
void UnlockExclusivePokemon(s16 pokeID);
|
||||
void WriteExclusivePokemon(struct unkStruct_8094924 *r0);
|
||||
void ReadExclusivePokemon(struct unkStruct_8094924 *r0);
|
||||
void WriteExclusivePokemon(DataSerializer *r0);
|
||||
void ReadExclusivePokemon(DataSerializer *r0);
|
||||
|
||||
#endif // GUARD_EXCLUSIVE_POKEMON_H
|
||||
|
|
|
|||
|
|
@ -68,10 +68,10 @@ bool8 IsInvalidItemReward(u8 itemID);
|
|||
bool8 HasGummiItem(void);
|
||||
void GetGummiItemStatBoost(PokemonStruct1* pokemon, u8 id, bool8 checkBoostFlags, Gummi *gummi);
|
||||
|
||||
void RestoreHeldItem(unkStruct_8094924 *, BulkItem *);
|
||||
void SaveHeldItem(unkStruct_8094924 *, BulkItem *);
|
||||
void RestoreItemSlot(unkStruct_8094924 *, Item *);
|
||||
void SaveItemSlot(unkStruct_8094924 *, Item *);
|
||||
void ReadHeldItemBits(DataSerializer *, BulkItem *);
|
||||
void WriteHeldItemBits(DataSerializer *, BulkItem *);
|
||||
void ReadItemSlotBits(DataSerializer *, Item *);
|
||||
void WriteItemSlotBits(DataSerializer *, Item *);
|
||||
s32 RestoreTeamInventory(u8 *, u32 size);
|
||||
s32 SaveTeamInventory(u8 *, u32 size);
|
||||
|
||||
|
|
|
|||
|
|
@ -51,8 +51,8 @@ void LoadWazaParameters(void);
|
|||
bool8 MoveCannotHitFrozen(Move *move);
|
||||
bool8 MoveIgnoresTaunted(Move *move);
|
||||
void RemoveLinkSequenceFromMoves8(Move *moves, s32 index);
|
||||
void RestorePokemonMoves(struct unkStruct_8094924 *, Move *moveSet);
|
||||
void SavePokemonMoves(struct unkStruct_8094924 *, Move *moveSet);
|
||||
void ReadPoke1MovesBits(DataSerializer *, Move *moveSet);
|
||||
void WritePoke1MovesBits(DataSerializer *, Move *moveSet);
|
||||
bool8 ToggleMoveEnabled(s32 index, Move *moves);
|
||||
bool8 ToggleSetMove(s32 index, Move *moves);
|
||||
bool8 TryLinkMovesAfter(s32 index, Move *moves);
|
||||
|
|
@ -86,8 +86,8 @@ bool8 sub_8093318(s32, Move *moves);
|
|||
bool8 sub_809333C(s32, Move *moves);
|
||||
s32 sub_80935B8(Move *moves, s32 index);
|
||||
void sub_8094060(Move *srcMoves, Move *destMoves);
|
||||
void sub_8094184(struct unkStruct_8094924 *, struct Moves *);
|
||||
void sub_80941FC(struct unkStruct_8094924 *, struct Moves *);
|
||||
void WritePoke2MovesBits(DataSerializer *, struct Moves *);
|
||||
void ReadPoke2MovesBits(DataSerializer *, struct Moves *);
|
||||
|
||||
static inline bool8 MoveFlagExists(Move *move)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@
|
|||
|
||||
enum PokemonUnk0Flags
|
||||
{
|
||||
FLAG_ON_TEAM = 2,
|
||||
FLAG_NONE = 0,
|
||||
FLAG_UNK_1 = 1,
|
||||
FLAG_ON_TEAM = 2, // Mon is not on "standby"
|
||||
};
|
||||
|
||||
// size: 0x1A4
|
||||
|
|
@ -34,7 +36,7 @@ void LoadMonsterParameters(void);
|
|||
unkStruct_203B45C *GetRecruitedPokemon(void);
|
||||
void InitializeRecruitedPokemon(void);
|
||||
|
||||
// These two need to be overridden in status_actions.c
|
||||
// This needs to be overridden in status_actions.c
|
||||
// Uncomment when fixed
|
||||
//u8 GetBodySize(s16 index);
|
||||
|
||||
|
|
@ -83,8 +85,8 @@ s32 GetUnownIndex(s16 index);
|
|||
void GenerateHiddenPower(HiddenPower *);
|
||||
s32 GetEvolutionSequence(PokemonStruct1 *pokemon, EvolveStage *);
|
||||
void xxx_pokemonstruct_to_pokemon2_808DE50(PokemonStruct2 *, PokemonStruct1 *, s32);
|
||||
void SavePokemonStruct(unkStruct_8094924 *, PokemonStruct1 *pokemon);
|
||||
void RestorePokemonStruct(unkStruct_8094924 *, PokemonStruct1 *);
|
||||
void WritePoke1Bits(DataSerializer *, PokemonStruct1 *pokemon);
|
||||
void ReadPoke1Bits(DataSerializer *, PokemonStruct1 *);
|
||||
s32 sub_808E218(unkStruct_808E218_arg *, PokemonStruct1 *pokemon);
|
||||
void sub_808CFD0(PokemonStruct1 *pokemon, s16 _species, u8* name, u32 _itemID, DungeonLocation *location, u16 *moveID);
|
||||
void sub_808D0D8(PokemonStruct1 *pokemon);
|
||||
|
|
@ -100,12 +102,12 @@ extern s32 sub_808D580(s32 *);
|
|||
|
||||
static inline bool8 PokemonFlag1(PokemonStruct1 *mon)
|
||||
{
|
||||
return ((mon->unk0 & 1));
|
||||
return (mon->unk0 >> (FLAG_UNK_1 - 1)) & 1;
|
||||
}
|
||||
|
||||
static inline bool8 PokemonFlag2(PokemonStruct1 *mon)
|
||||
{
|
||||
return (((mon->unk0 >> (FLAG_ON_TEAM - 1)) & 1));
|
||||
return (mon->unk0 >> (FLAG_ON_TEAM - 1)) & 1;
|
||||
}
|
||||
|
||||
static inline void SetPokemonFlag2(PokemonStruct1 *mon)
|
||||
|
|
|
|||
|
|
@ -84,7 +84,12 @@ struct axObject
|
|||
u8 unk45_orientation;
|
||||
u8 unk46;
|
||||
u8 unk47;
|
||||
/* 0x48 */ struct EntityInfo* info;
|
||||
/* 0x48 */ union
|
||||
{
|
||||
struct Item* item;
|
||||
struct EntityInfo* monster;
|
||||
struct Trap* trap;
|
||||
} info;
|
||||
};
|
||||
|
||||
// size: 0x80? (assuming it's the last sub-struct of GroundLives)
|
||||
|
|
|
|||
|
|
@ -1,14 +1,16 @@
|
|||
#ifndef GUARD_DUNGEON_ENTITY_H
|
||||
#define GUARD_DUNGEON_ENTITY_H
|
||||
|
||||
#include "constants/dungeon_action.h"
|
||||
#include "constants/global.h"
|
||||
#include "structs/str_position.h"
|
||||
#include "sprite.h"
|
||||
#include "constants/status.h"
|
||||
#include "structs/axdata.h"
|
||||
#include "structs/str_items.h"
|
||||
#include "structs/str_moves.h"
|
||||
#include "structs/axdata.h"
|
||||
|
||||
#include "structs/str_position.h"
|
||||
#include "math.h"
|
||||
#include "number_util.h"
|
||||
#include "sprite.h"
|
||||
|
||||
#define MAX_STAT_STAGE 20
|
||||
#define STAT_MULTIPLIER_THRESHOLD 63
|
||||
|
|
@ -26,10 +28,13 @@
|
|||
#define STAT_STAGE_ACCURACY 0
|
||||
#define STAT_STAGE_EVASION 1
|
||||
|
||||
#define NUM_PICKED_IQ_SKILLS 3
|
||||
|
||||
// size: 0x8
|
||||
typedef struct unkStruct_8044CC8
|
||||
{
|
||||
u8 actionUseIndex;
|
||||
Position lastItemThrowPosition;
|
||||
/* 0x0 */ u8 actionUseIndex;
|
||||
/* 0x4 */ Position lastItemThrowPosition;
|
||||
} unkStruct_8044CC8;
|
||||
|
||||
// size: 0x18
|
||||
|
|
@ -37,25 +42,28 @@ typedef struct ActionContainer
|
|||
{
|
||||
/* 0x0 */ u16 action;
|
||||
/* 0x2 */ u8 direction;
|
||||
u8 fill3;
|
||||
u8 unk3;
|
||||
// Additional parameter alongside actionIndex. Used for things like indicating which move a Pokémon should use from its moveset.
|
||||
/* 0x4 */ unkStruct_8044CC8 unk4[2];
|
||||
// Position of the target that the Pokémon wants throw an item at.
|
||||
/* 0x14 */ Position itemTargetPosition;
|
||||
} ActionContainer;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct HiddenPower
|
||||
{
|
||||
/* 0x0 */ s16 hiddenPowerBasePower;
|
||||
/* 0x2 */ u8 hiddenPowerType;
|
||||
} HiddenPower;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct JoinedAt
|
||||
{
|
||||
/* 0x0 */ u8 joinedAt;
|
||||
/* 0x1 */ u8 unk1;
|
||||
} JoinedAt;
|
||||
|
||||
// size: 0x14
|
||||
typedef struct AITarget
|
||||
{
|
||||
/* 0x0 */ u8 aiObjective;
|
||||
|
|
@ -66,15 +74,16 @@ typedef struct AITarget
|
|||
/* 0x8 */ struct Entity *aiTarget;
|
||||
/* 0xC */ u32 unkC;
|
||||
/* 0x10 */ Position aiTargetPos;
|
||||
|
||||
} AITarget;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Sleep
|
||||
{
|
||||
/* 0x0 */ u8 sleep;
|
||||
/* 0x1 */ u8 sleepTurns;
|
||||
} Sleep;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct NonVolatile
|
||||
{
|
||||
/* 0x0 */ u8 nonVolatileStatus;
|
||||
|
|
@ -83,6 +92,7 @@ typedef struct NonVolatile
|
|||
/* 0x3 */ u8 unk4;
|
||||
} NonVolatile;
|
||||
|
||||
// size: 0xC
|
||||
typedef struct Immobilize
|
||||
{
|
||||
/* 0x0 */ u8 immobilizeStatus;
|
||||
|
|
@ -91,12 +101,14 @@ typedef struct Immobilize
|
|||
/* 0x9 */ u8 immobilizeStatusDamageCountdown;
|
||||
} Immobilize;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Volatile
|
||||
{
|
||||
/* 0x0 */ u8 volatileStatus;
|
||||
/* 0x1 */ u8 volatileStatusTurns;
|
||||
} Volatile;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Charging
|
||||
{
|
||||
/* 0x0 */ u8 chargingStatus;
|
||||
|
|
@ -104,60 +116,68 @@ typedef struct Charging
|
|||
/* 0x2 */ u8 chargingStatusMoveIndex; // The position of the move in the Pokémon's moveset that triggered the status.
|
||||
} Charging;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Protection
|
||||
{
|
||||
/* 0x0 */ u8 protectionStatus;
|
||||
/* 0x1 */ u8 protectionStatusTurns;
|
||||
} Protection;
|
||||
|
||||
// size: 0x8
|
||||
typedef struct Waiting
|
||||
{
|
||||
/* 0xC8 */ u8 waitingStatus;
|
||||
/* 0xC9 */ bool8 enemyDecoy; // True if the Pokémon is a decoy and a wild Pokémon (i.e., not an allied Pokémon).
|
||||
u8 unkCA;
|
||||
/* 0xCB */ u8 waitingStatusTurns;
|
||||
/* 0xCC */ u8 curseDamageCountdown;
|
||||
/* 0x0 */ u8 waitingStatus;
|
||||
/* 0x1 */ bool8 enemyDecoy; // True if the Pokémon is a decoy and a wild Pokémon (i.e., not an allied Pokémon).
|
||||
/* 0x2 */ bool8 unk2;
|
||||
/* 0x3 */ u8 waitingStatusTurns;
|
||||
/* 0x4 */ u8 curseDamageCountdown;
|
||||
} Waiting;
|
||||
|
||||
// size: 0xC
|
||||
typedef struct Linked
|
||||
{
|
||||
/* 0xD0 */ u8 linkedStatus;
|
||||
/* 0xD4 */ u32 unkD4;
|
||||
/* 0xD8 */ u8 unkD8;
|
||||
/* 0xD9 */ u8 linkedStatusTurns;
|
||||
/* 0xDA */ u8 linkedStatusDamageCountdown;
|
||||
/* 0x0 */ u8 linkedStatus;
|
||||
/* 0x4 */ u32 unk4;
|
||||
/* 0x8 */ u8 unk8;
|
||||
/* 0x9 */ u8 linkedStatusTurns;
|
||||
/* 0xA */ u8 linkedStatusDamageCountdown;
|
||||
} Linked;
|
||||
|
||||
|
||||
// size: 0x4
|
||||
typedef struct MoveStatus
|
||||
{
|
||||
/* 0xDC */ u8 moveStatus;
|
||||
/* 0xDD */ u8 moveStatusTurns;
|
||||
/* 0x0 */ u8 moveStatus;
|
||||
/* 0x0 */ u8 moveStatusTurns;
|
||||
} MoveStatus;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct ItemStatus
|
||||
{
|
||||
/* 0xE0 */ u8 itemStatus;
|
||||
/* 0x0 */ u8 itemStatus;
|
||||
} ItemStatus;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct TransformStatus
|
||||
{
|
||||
/* 0xE4 */ u8 transformStatus;
|
||||
/* 0xE5 */ u8 transformStatusTurns;
|
||||
/* 0x0 */ u8 transformStatus;
|
||||
/* 0x0 */ u8 transformStatusTurns;
|
||||
} TransformStatus;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct EyesightStatus
|
||||
{
|
||||
/* 0xE8 */ u8 eyesightStatus;
|
||||
/* 0xE9 */ u8 eyesightStatusTurns;
|
||||
/* 0x0 */ u8 eyesightStatus;
|
||||
/* 0x0 */ u8 eyesightStatusTurns;
|
||||
} EyesightStatus;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct Muzzled
|
||||
{
|
||||
/* 0xEC */ bool8 muzzled;
|
||||
/* 0xED */ u8 muzzledTurns;
|
||||
/* 0x0 */ bool8 muzzled;
|
||||
/* 0x1 */ u8 muzzledTurns;
|
||||
} Muzzled;
|
||||
|
||||
// size: 0x1C
|
||||
typedef struct Unk_Entity_x184
|
||||
{
|
||||
/* 0x184 - 0x0 */ Position previousTargetMovePosition1;
|
||||
|
|
@ -167,12 +187,13 @@ typedef struct Unk_Entity_x184
|
|||
/* 0x194 - 0x10*/ Position32 lastMoveIncrement;
|
||||
/* 0x19C - 0x18 */ s16 walkAnimFramesLeft; // Set when the Pokémon starts moving, and counts down until the Pokémon's walk animation stops.
|
||||
/* 0x19e - 0x1a */ u8 unk1A;
|
||||
} Unk_Entity_x184 ;
|
||||
} Unk_Entity_x184;
|
||||
|
||||
// size: 0x24
|
||||
typedef struct Moves
|
||||
{
|
||||
/* 0x118 */ Move moves[MAX_MON_MOVES];
|
||||
/* 0x138 */ u8 struggleMoveFlags;
|
||||
/* 0x0 */ Move moves[MAX_MON_MOVES];
|
||||
/* 0x20 */ u8 struggleMoveFlags;
|
||||
} Moves;
|
||||
|
||||
// size: 0x208
|
||||
|
|
@ -211,9 +232,9 @@ typedef struct EntityInfo
|
|||
/* 0x28 */ s16 flashFireBoost;
|
||||
// These start at 0x1000, and are halved by certain moves like Screech to lower the corresponding stat.
|
||||
// Index 0 is Attack. Index 1 is Special Attack.
|
||||
/* 0x2C */ s32 offensiveMultipliers[2];
|
||||
/* 0x2C */ s24_8 offensiveMultipliers[2];
|
||||
// Index 0 is Defense. Index 1 is Special Defense.
|
||||
/* 0x34 */ s32 defensiveMultipliers[2];
|
||||
/* 0x34 */ s24_8 defensiveMultipliers[2];
|
||||
/* 0x3C */ HiddenPower hiddenPower;
|
||||
/* 0x40 */ JoinedAt joinedAt; // Uses the dungeon index in dungeon.h.
|
||||
/* 0x44 */ ActionContainer action;
|
||||
|
|
@ -224,8 +245,10 @@ typedef struct EntityInfo
|
|||
/* 0x68 */ Position prevPos[NUM_PREV_POS];
|
||||
/* 0x78 */ AITarget aiTarget;
|
||||
// Bitwise flags corresponding to selected IQ skills.
|
||||
/* 0x8C */ u8 IQSkillMenuFlags[4]; // IQ skills selected in the IQ skills menu.
|
||||
/* 0x90 */ u8 IQSkillFlags[4];
|
||||
/* 0x8C */ u8 IQSkillMenuFlags[NUM_PICKED_IQ_SKILLS]; // IQ skills selected in the IQ skills menu.
|
||||
u8 padding8F;
|
||||
/* 0x90 */ u8 IQSkillFlags[NUM_PICKED_IQ_SKILLS];
|
||||
u8 padding93;
|
||||
/* 0x94 */ u8 tactic;
|
||||
u8 fill95[0x98 - 0x95];
|
||||
/* 0x98 */ u32 unk98;
|
||||
|
|
@ -316,7 +339,7 @@ typedef struct EntityInfo
|
|||
/* 0x169 */ u8 turnsSinceWarpScarfActivation;
|
||||
/* 0x16C */ Position targetPos;
|
||||
/* 0x170 */ Position pixelPos;
|
||||
u32 unk174;
|
||||
s24_8 unk174;
|
||||
u16 abilityEffectFlags; // See enum AbilityEffectFlags
|
||||
/* 0x17A */ u16 mimicMoveIDs[MAX_MON_MOVES]; // All moves that Mimic has copied (not sure on size...)
|
||||
// Previous value of targetPosition for movement, 1 and 2 moves ago.
|
||||
|
|
@ -448,9 +471,4 @@ static inline void SetExpMultplier(EntityInfo *info)
|
|||
SetRegularExpMultiplier(info);
|
||||
}
|
||||
|
||||
static inline EntityInfo *GetEntInfo(Entity *ent)
|
||||
{
|
||||
return ent->axObj.info;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
#ifndef GUARD_STR_DAMAGE_H
|
||||
#define GUARD_STR_DAMAGE_H
|
||||
|
||||
struct DamageStruct
|
||||
// size: 0x10
|
||||
typedef struct DamageStruct
|
||||
{
|
||||
s32 dmg;
|
||||
s32 residualDmgType;
|
||||
|
|
@ -10,6 +11,6 @@ struct DamageStruct
|
|||
bool8 isCrit;
|
||||
u8 unkE;
|
||||
bool8 tookNoDamage;
|
||||
};
|
||||
} DamageStruct;
|
||||
|
||||
#endif
|
||||
#endif // GUARD_STR_DAMAGE_H
|
||||
|
|
@ -7,6 +7,7 @@
|
|||
#include "structs/map.h"
|
||||
#include "structs/rgb.h"
|
||||
#include "structs/str_position.h"
|
||||
#include "structs/str_traps.h"
|
||||
#include "sprite.h"
|
||||
|
||||
#define DUNGEON_MAX_SIZE_X 56
|
||||
|
|
@ -24,17 +25,17 @@ typedef struct DungeonLocation
|
|||
/* 0x1 */ u8 floor;
|
||||
} DungeonLocation;
|
||||
|
||||
// size: 0x18
|
||||
typedef struct Weather
|
||||
{
|
||||
/* 0xE264 */ u8 weather; // Uses the weather constants in weather.h.
|
||||
u8 unkE265; // Uses the weather constants in weather.h
|
||||
/* 0xE266 */ u8 weatherDamageCounter; // Timer for applying sandstorm/hail damage periodically.
|
||||
/* 0xE267 */ u8 unkE267[8];
|
||||
/* 0xE26F */ u8 naturalWeather[8]; // The weather at the start of the floor. If the weather changes, then expires, revert back to the starting weather.
|
||||
/* 0xE277 */ u8 mudSportTurns;
|
||||
/* 0xE278 */ u8 waterSportTurns;
|
||||
/* 0xE279 */ bool8 nullifyWeather; // Air Lock and Cloud Nine toggle this to disable weather effects
|
||||
|
||||
/* 0x0 */ u8 weather; // Uses the weather constants in weather.h.
|
||||
/* 0x1 */ u8 unkE265; // Uses the weather constants in weather.h
|
||||
/* 0x2 */ u8 weatherDamageCounter; // Timer for applying sandstorm/hail damage periodically.
|
||||
/* 0x3 */ u8 unkE267[8];
|
||||
/* 0xB */ u8 naturalWeather[8]; // The weather at the start of the floor. If the weather changes, then expires, revert back to the starting weather.
|
||||
/* 0x13 */ u8 mudSportTurns;
|
||||
/* 0x14 */ u8 waterSportTurns;
|
||||
/* 0x15 */ bool8 nullifyWeather; // Air Lock and Cloud Nine toggle this to disable weather effects
|
||||
} Weather;
|
||||
|
||||
// size: 0x30
|
||||
|
|
@ -66,6 +67,8 @@ typedef struct DungeonMusicPlayer
|
|||
/* 0x0 */ u32 state;
|
||||
/* 0x4 */ u32 fadeOutSpeed;
|
||||
/* 0x8 */ u16 fadeInSpeed;
|
||||
|
||||
// dungeon_serializer.c refers to these 3 as s16, but they are almost always handled as u16
|
||||
/* 0xA */ u16 songIndex;
|
||||
/* 0xC */ u16 pastSongIndex;
|
||||
/* 0xE */ u16 queuedSongIndex;
|
||||
|
|
@ -85,15 +88,15 @@ typedef struct UnkDungeonGlobal_unk181E8_sub
|
|||
u8 unk18208; // x20
|
||||
/* 0x18209 */ u8 visibilityRange; // x21 Dungeon light level.
|
||||
/* 0x1820A */ bool8 blinded; // x22 Blacks out the screen when the player has the Blinker status.
|
||||
u8 unk1820B; // x23
|
||||
u8 unk1820C; // x24
|
||||
u8 unk1820D; // x25
|
||||
u8 unk1820E; // x26
|
||||
u8 unk1820F; // x27
|
||||
bool8 unk1820B; // x23
|
||||
bool8 unk1820C; // x24
|
||||
bool8 unk1820D; // x25
|
||||
bool8 unk1820E; // x26
|
||||
bool8 unk1820F; // x27
|
||||
/* 0x18210 */ bool8 hallucinating; // x28 Displays Substitute and flower sprites when the player has the Cross-Eyed status.
|
||||
u8 unk18211; // x29
|
||||
bool8 unk18211; // x29
|
||||
u8 unk18212; // x2A
|
||||
u8 unk18213; // x2B
|
||||
bool8 unk18213; // x2B
|
||||
u8 unk18214; // x2C
|
||||
u8 unk18215; // x2D
|
||||
u8 unk18216; // x2E
|
||||
|
|
@ -196,12 +199,13 @@ struct unkStruct_Dungeon5C4_sub
|
|||
Entity *unkC;
|
||||
};
|
||||
|
||||
struct unkStruct_Dungeon64C
|
||||
// size: 0x8
|
||||
typedef struct unkStruct_Dungeon64C
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u32 unk4;
|
||||
};
|
||||
} unkStruct_Dungeon64C;
|
||||
|
||||
#define UNK_1BBD4_STR_COUNT 10
|
||||
|
||||
|
|
@ -230,6 +234,72 @@ struct MessageLogString
|
|||
u8 str[MESSAGE_LOG_BUFFER_SIZE];
|
||||
};
|
||||
|
||||
// size: 0x58
|
||||
typedef struct unkDungeon644
|
||||
{
|
||||
/* 0x0 */ DungeonLocation dungeonLocation;
|
||||
/* 0x4 */ DungeonLocation dungeonLocation2;
|
||||
/* 0x8 */ unkStruct_Dungeon64C unk8;
|
||||
/* 0x10 */ u8 unk10;
|
||||
/* 0x11 */ u8 fill11[3];
|
||||
/* 0x14 */ u8 unk14;
|
||||
/* 0x15 */ u8 unk15;
|
||||
/* 0x16 */ u8 unk16;
|
||||
/* 0x17 */ u8 unk17;
|
||||
/* 0x18 */ u8 unk18;
|
||||
/* 0x19 */ u8 unk19;
|
||||
/* 0x1A */ u8 fill1A[2];
|
||||
/* 0x1C */ s16 fractionalTurn; // Handles turn order when Pokémon have different movement speeds.
|
||||
/* 0x1E */ s16 unk1E;
|
||||
/* 0x20 */ s16 unk20;
|
||||
/* 0x22 */ s16 windTurns; // Turns remaining before getting swept out of the dungeon.
|
||||
/* 0x24 */ u16 unk24;
|
||||
/* 0x26 */ u16 bossSongIndex;
|
||||
/* 0x28 */ u8 unk28;
|
||||
/* 0x29 */ u8 unk29;
|
||||
/* 0x2A */ u8 unk2A;
|
||||
/* 0x2B */ u8 unk2B;
|
||||
/* 0x2C */ u8 unk2C;
|
||||
/* 0x2D */ bool8 monsterHouseTriggered;
|
||||
/* 0x2E */ bool8 monsterHouseTriggeredEvent;
|
||||
/* 0x2F */ u8 unk2F;
|
||||
/* 0x30 */ u8 unk30;
|
||||
/* 0x31 */ u8 unk31;
|
||||
/* 0x32 */ bool8 itemHoldersIdentified;
|
||||
/* 0x33 */ u8 fill33;
|
||||
/* 0x34 */ u8 unk34;
|
||||
/* 0x35 */ u8 unk35;
|
||||
/* 0x36 */ u8 unk36;
|
||||
/* 0x37 */ s8 unk37;
|
||||
/* 0x38 */ u32 unk38;
|
||||
/* 0x3C */ u32 unk3C;
|
||||
/* 0x40 */ s16 unk40;
|
||||
/* 0x42 */ s16 unk42;
|
||||
/* 0x44 */ s16 unk44;
|
||||
/* 0x46 */ u8 unk46;
|
||||
/* 0x48 */ s32 unk48;
|
||||
/* 0x4C */ s32 unk4C;
|
||||
/* 0x50 */ s32 unk50;
|
||||
/* 0x54 */ u8 unk54;
|
||||
/* 0x55 */ u8 unk55;
|
||||
} unkDungeon644;
|
||||
|
||||
// size: 0x10
|
||||
typedef struct unkDungeonE240
|
||||
{
|
||||
/* 0x0 */ u32 unk0;
|
||||
/* 0x4 */ u32 unk4;
|
||||
/* 0x8 */ u32 unk8;
|
||||
/* 0xC */ u32 unkC;
|
||||
} unkDungeonE240;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct unkDungeonE260
|
||||
{
|
||||
/* 0x0 */ u16 unk0;
|
||||
/* 0x2 */ u16 unk2;
|
||||
} unkDungeonE260;
|
||||
|
||||
// size: 0x1CEDC
|
||||
typedef struct Dungeon
|
||||
{
|
||||
|
|
@ -264,58 +334,10 @@ typedef struct Dungeon
|
|||
/* 0x5C0 */ s32 unk5C0;
|
||||
/* 0x5C4 */ struct unkStruct_Dungeon5C4_sub unk5C4[3];
|
||||
/* 0x5F4 */ u8 faintStringBuffer[80];
|
||||
/* 0x644 */ DungeonLocation dungeonLocation;
|
||||
/* 0x648 */ DungeonLocation dungeonLocation2;
|
||||
struct unkStruct_Dungeon64C unk64C;
|
||||
u8 unk654;
|
||||
u8 fill655;
|
||||
u8 fill656;
|
||||
u8 fill657;
|
||||
u8 unk658;
|
||||
u8 unk659;
|
||||
u8 unk65A;
|
||||
u8 unk65B;
|
||||
u8 unk65C;
|
||||
u8 unk65D;
|
||||
u8 fill65e[0x660 - 0x65e];
|
||||
/* 0x660 */ s16 fractionalTurn; // Handles turn order when Pokémon have different movement speeds.
|
||||
s16 unk662;
|
||||
s16 unk664;
|
||||
/* 0x666 */ s16 windTurns; // Turns remaining before getting swept out of the dungeon.
|
||||
/* 0x668 */ u16 unk668;
|
||||
u16 bossSongIndex;
|
||||
u8 unk66C;
|
||||
u8 unk66D;
|
||||
/* 0x66E */ u8 unk66E;
|
||||
u8 unk66F;
|
||||
u8 unk670;
|
||||
/* 0x671 */ bool8 monsterHouseTriggered;
|
||||
/* 0x672 */ bool8 monsterHouseTriggeredEvent;
|
||||
u8 unk673;
|
||||
u8 unk674;
|
||||
u8 unk675;
|
||||
/* 0x676 */ bool8 itemHoldersIdentified;
|
||||
u8 unk677;
|
||||
u8 unk678;
|
||||
u8 unk679;
|
||||
u8 unk67A;
|
||||
s8 unk67B;
|
||||
u32 unk67C;
|
||||
u32 unk680;
|
||||
s16 unk684;
|
||||
s16 unk686;
|
||||
s16 unk688;
|
||||
/* 0x68A */ u8 unk68A;
|
||||
u8 fill68B;
|
||||
s32 unk68C;
|
||||
s32 unk690;
|
||||
s32 unk694;
|
||||
u8 unk698;
|
||||
u8 unk699;
|
||||
u8 fill69A[0x69C - 0x69A];
|
||||
EntityInfo unk69C[4];
|
||||
EntityInfo unkEBC[1]; // Unsure about the size... See sub_8082A08()
|
||||
u8 fill10C4[0x343C - 0x10C4];
|
||||
unkDungeon644 unk644;
|
||||
EntityInfo unk69C[MAX_TEAM_MEMBERS];
|
||||
EntityInfo unkEBC[DUNGEON_MAX_WILD_POKEMON_BODY_SIZE];
|
||||
u8 fill2F3C[0x343C - 0x2F3C];
|
||||
/* 0x343C */ UnkDungeonGlobal_unk1CD98 unk343C[32];
|
||||
u8 fill353C[0x363c-0x353c];
|
||||
/* 0x363C */ u8 expYieldRankings[NUM_MONSTERS];
|
||||
|
|
@ -328,17 +350,18 @@ typedef struct Dungeon
|
|||
/* 0x37F8 */ bool8 plusIsActive[2]; // Index 0: Enemy , Index 1: Team
|
||||
/* 0x37FA */ bool8 minusIsActive[2]; // Index 0: Enemy , Index 1: Team
|
||||
/* 0x37FC */ bool8 decoyActive;
|
||||
/* 0x37FD */ u8 unk37FD;
|
||||
/* 0x37FD */ bool8 unk37FD;
|
||||
/* 0x37FE */ bool8 deoxysDefeat; // Flag set for deoxys in Meteor Cave
|
||||
/* 0x37FE */ u8 unk37FF;
|
||||
s16 unk3800;
|
||||
u8 fill3802[0x3904 - 0x3802];
|
||||
/* 0x37FE */ bool8 unk37FF;
|
||||
// dungeon_serializer.c refers to this as a u16 but elsewhere it's handled as a s16
|
||||
/* 0x3800 */ s16 deoxysForm;
|
||||
Item unk3804[DUNGEON_MAX_ITEMS];
|
||||
/* 0x3904 */ s16 unk3904;
|
||||
u8 fill3906[0x3A08 - 0x3906];
|
||||
/* 0x3A08 */ u8 unk3A08;
|
||||
/* 0x3A09 */ u8 unk3A09;
|
||||
/* 0x3A0A */ u8 unk3A0A;
|
||||
/* 0x3A0B */ u8 unk3A0B;
|
||||
Trap unk3908[DUNGEON_MAX_TRAPS];
|
||||
/* 0x3A08 */ bool8 unk3A08;
|
||||
/* 0x3A09 */ bool8 unk3A09;
|
||||
/* 0x3A0A */ bool8 unk3A0A;
|
||||
/* 0x3A0B */ bool8 unk3A0B;
|
||||
u8 unk3A0C;
|
||||
/* 0x3A0D */ u8 unk3A0D;
|
||||
/* 0x3A0E */ s16 tileset;
|
||||
|
|
@ -350,11 +373,9 @@ typedef struct Dungeon
|
|||
Position unkE218;
|
||||
Position unkE21C; // stair location?
|
||||
Position unkE220[8];
|
||||
u32 unkE240;
|
||||
u8 fillE244[0xE250 - 0xE244];
|
||||
u32 unkE250;
|
||||
u8 fillE254[0xE260 - 0xE254];
|
||||
u32 unkE260;
|
||||
unkDungeonE240 unkE240;
|
||||
unkDungeonE240 unkE250;
|
||||
unkDungeonE260 unkE260;
|
||||
/* 0xE264 */ Weather weather; // Uses the weather constants in weather.h.
|
||||
/* 0xE27C */ Tile unkE27C[8][8];
|
||||
/* 0xE87C */ u8 unkE87C[8][8];
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ typedef struct unkPokeSubStruct_C
|
|||
// size: 0x58
|
||||
typedef struct PokemonStruct1
|
||||
{
|
||||
u16 unk0; // Probably a union: Sometimes ldrh and sometimes ldrb. Recruited??
|
||||
u16 unk0; // Probably a union: Sometimes ldrh and sometimes ldrb. Recruited?? "sub_80954CC" only loads 2 bits of info
|
||||
/* 0x2 */ bool8 isTeamLeader;
|
||||
/* 0x3 */ u8 level;
|
||||
/* 0x4 */ DungeonLocation dungeonLocation;
|
||||
|
|
@ -71,8 +71,8 @@ typedef struct PokemonStruct2
|
|||
/* 0x18 */ u32 currExp;
|
||||
/* 0x1C */ Moves moves;
|
||||
/* 0x40 */ Item itemSlot; // heldItem
|
||||
FixedPoint belly; // some struct
|
||||
FixedPoint maxBelly; // some struct (same type as 44)
|
||||
/* 0x44 */ FixedPoint belly;
|
||||
/* 0x48 */ FixedPoint maxBelly;
|
||||
/* 0x4C */ u32 IQSkills; // unk20
|
||||
/* 0x50 */ u8 tacticIndex;
|
||||
/* 0x54 */ HiddenPower hiddenPower;
|
||||
|
|
|
|||
|
|
@ -3,10 +3,11 @@
|
|||
|
||||
#include "constants/trap.h"
|
||||
|
||||
typedef struct Trap
|
||||
// size: 0x4
|
||||
typedef struct Trap
|
||||
{
|
||||
/* 0x0 */ u8 id;
|
||||
/* 0x1 */ u8 unk1;
|
||||
} Trap;
|
||||
|
||||
#endif // GUARD_STR_TRAPS_H
|
||||
#endif // GUARD_STR_TRAPS_H
|
||||
|
|
@ -64,8 +64,8 @@ typedef struct unkStruct_203B480
|
|||
u32 unk10;
|
||||
u16 unk10_u16;
|
||||
} unk10;
|
||||
/* 0x14 */ u8 playerName[0x20 - 0x14];
|
||||
Item item;
|
||||
/* 0x14 */ u8 playerName[10];
|
||||
/* 0x20 */ Item item;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
/* 0x2C */ s8 rescuesAllowed;
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@
|
|||
#define DUNGEON_WATER_TYPE_LAVA 1
|
||||
#define DUNGEON_WATER_TYPE_WATER 2
|
||||
|
||||
extern const u8 gDungeonWaterType[];
|
||||
extern const u8 gDungeonWaterType[76];
|
||||
|
||||
void sub_804AE84(Position *pos);
|
||||
bool8 IsTileGround(Tile *tile);
|
||||
bool8 IsWaterTileset();
|
||||
|
||||
#endif
|
||||
#endif // GUARD_TILE_TYPES_H
|
||||
|
|
@ -216,7 +216,7 @@ SECTIONS {
|
|||
src/dungeon_action.o(.text);
|
||||
src/code_8044CC8.o(.text);
|
||||
src/dungeon_util.o(.text);
|
||||
asm/code_80450F8.o(.text);
|
||||
src/code_80450F8.o(.text);
|
||||
src/dungeon_visibility.o(.text);
|
||||
src/code_8045A00.o(.text);
|
||||
asm/code_8045A00.o(.text);
|
||||
|
|
@ -278,8 +278,7 @@ SECTIONS {
|
|||
src/trap.o(.text);
|
||||
asm/code_807FCD4.o(.text);
|
||||
src/trap_1.o(.text);
|
||||
asm/code_8080CF0.o(.text);
|
||||
src/code_8083288.o(.text);
|
||||
src/dungeon_serializer.o(.text);
|
||||
src/dungeon_range.o(.text);
|
||||
src/code_808333C.o(.text);
|
||||
src/dungeon_leader.o(.text);
|
||||
|
|
@ -524,6 +523,12 @@ SECTIONS {
|
|||
src/load_screen.o(.rodata);
|
||||
src/wonder_mail_main_menu.o(.rodata);
|
||||
src/debug_menu1.o(.rodata);
|
||||
src/debug_unused1.o(.rodata);
|
||||
src/debug_unused2.o(.rodata);
|
||||
src/debug_unused3.o(.rodata);
|
||||
src/debug_unused4.o(.rodata);
|
||||
src/debug_unused5.o(.rodata);
|
||||
src/debug_unused6.o(.rodata);
|
||||
src/debug_menu2.o(.rodata);
|
||||
src/debug_menu3.o(.rodata);
|
||||
src/debug_menu4.o(.rodata);
|
||||
|
|
@ -557,6 +562,8 @@ SECTIONS {
|
|||
src/dungeon_capabilities.o(.rodata);
|
||||
src/dungeon_ai_targeting.o(.rodata);
|
||||
data/data_8107010.o(.rodata);
|
||||
src/dungeon_serializer.o(.rodata);
|
||||
data/data_8107224.o(.rodata);
|
||||
src/game_options.o(.rodata);
|
||||
data/data_8109964.o(.rodata);
|
||||
src/code_80972F4.o(.rodata);
|
||||
|
|
|
|||
|
|
@ -87,8 +87,7 @@ static void DisplayAdventureLog(void)
|
|||
s32 i;
|
||||
s32 r4; // r4
|
||||
s32 r6; // r6
|
||||
u8 temp;
|
||||
s32 v1, v2, v3, v4, v5, v6;
|
||||
u8 aa;
|
||||
|
||||
CallPrepareTextbox_8008C54(sAdventureLog->s0.unk34);
|
||||
sub_80073B8(sAdventureLog->s0.unk34);
|
||||
|
|
@ -102,42 +101,49 @@ static void DisplayAdventureLog(void)
|
|||
sub_8012BC4(r6, 0, sAdventureLog->s0.input.unk1E + 1, 1, 7, sAdventureLog->s0.unk34);
|
||||
|
||||
for (i = 0; i < sAdventureLog->s0.input.unk1A; i++) {
|
||||
temp = (sAdventureLog->s0.input.unk1E * sAdventureLog->s0.input.unk1C) + i;
|
||||
aa = (sAdventureLog->s0.input.unk1E * sAdventureLog->s0.input.unk1C) + i;
|
||||
|
||||
if (sub_8097710(temp)) {
|
||||
switch (temp) {
|
||||
case 12:
|
||||
v1 = sub_80978B8();
|
||||
if (GetAdventureAchievement(aa)) {
|
||||
switch (aa) {
|
||||
case AA_NUM_FLOORS_EXPLORED: {
|
||||
s32 v1 = GetAdventureFloorsExplored();
|
||||
gFormatArgs[0] = (s16)v1;
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
break;
|
||||
case 7:
|
||||
v2 = sub_8097880();
|
||||
}
|
||||
case AA_NUM_MOVES_LEARNED: {
|
||||
s32 v2 = GetAdventureMovesLearned();
|
||||
gFormatArgs[0] = (s16)v2;
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
break;
|
||||
case 11:
|
||||
v3 = sub_8097838();
|
||||
}
|
||||
case AA_NUM_THIEVING_SUCCESSES: {
|
||||
s32 v3 = GetThievingSuccesses();
|
||||
gFormatArgs[0] = (s16)v3;
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
break;
|
||||
case 8:
|
||||
v4 = sub_80977B8();
|
||||
}
|
||||
case AA_NUM_FRIEND_RESCUE_SUCCESSES: {
|
||||
s32 v4 = GetFriendRescueSuccesses();
|
||||
gFormatArgs[0] = v4;
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
break;
|
||||
case 9:
|
||||
v5 = sub_80977F8();
|
||||
}
|
||||
case AA_NUM_POKEMON_EVOLVED: {
|
||||
s32 v5 = GetAdventureNumEvolved();
|
||||
gFormatArgs[0] = v5;
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
break;
|
||||
case 10:
|
||||
v6 = sub_8097870();
|
||||
}
|
||||
case AA_NUM_POKEMON_JOINED: {
|
||||
s32 v6 = GetAdventureNumJoined();
|
||||
gFormatArgs[0] = (s16)v6;
|
||||
// fallthrough
|
||||
default:
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0);
|
||||
}
|
||||
default: {
|
||||
PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -145,4 +151,4 @@ static void DisplayAdventureLog(void)
|
|||
}
|
||||
|
||||
sub_80073E0(sAdventureLog->s0.unk34);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
#include "global.h"
|
||||
#include "code_800F958.h"
|
||||
#include "dungeon_pokemon_sprites.h"
|
||||
#include "memory.h"
|
||||
|
||||
|
|
@ -7,7 +8,8 @@ extern DungeonPokemonSprite* GetDungeonPokemonSprite(s32 id);
|
|||
|
||||
extern Position gUnknown_80D3564;
|
||||
|
||||
void AddPokemonDungeonSprite(s32 id, s16 species, Position *pos, u32 r3) {
|
||||
void AddPokemonDungeonSprite(s32 id, s16 species, Position *pos, u32 r3)
|
||||
{
|
||||
DungeonPokemonSprite *dSprite;
|
||||
DungeonPokemonSprite *newSprite;
|
||||
Position newPos;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ u8 sub_803D110(u8 *param_1, u8 *param_2, s32 size)
|
|||
s32 index1;
|
||||
s32 newSize;
|
||||
s32 save;
|
||||
unkStruct_8094924 auStack_88;
|
||||
DataSerializer auStack_88;
|
||||
u8 local_78 [56];
|
||||
u8 auStack_40 [36];
|
||||
|
||||
|
|
@ -62,13 +62,13 @@ u8 sub_803D110(u8 *param_1, u8 *param_2, s32 size)
|
|||
|
||||
newSize >>= 3;
|
||||
save = newSize;
|
||||
xxx_init_struct_8094924_save_809486C(&auStack_88,auStack_40, save);
|
||||
InitBitWriter(&auStack_88,auStack_40, save);
|
||||
|
||||
for(index1 = 0; index1 < size; index1++)
|
||||
{
|
||||
SaveIntegerBits(&auStack_88, &local_78[index1], 5);
|
||||
WriteBits(&auStack_88, &local_78[index1], 5);
|
||||
}
|
||||
nullsub_102(&auStack_88);
|
||||
FinishBitSerializer(&auStack_88);
|
||||
MemoryCopy8(param_2, auStack_40, save);
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -77,7 +77,7 @@ void sub_803D1A8(u8 *param_1, u8 *param_2, s32 size)
|
|||
{
|
||||
s32 index;
|
||||
s32 newSize;
|
||||
unkStruct_8094924 auStack_5c;
|
||||
DataSerializer auStack_5c;
|
||||
u8 local_4c [56];
|
||||
|
||||
newSize = size * 5 + 5;
|
||||
|
|
@ -85,13 +85,13 @@ void sub_803D1A8(u8 *param_1, u8 *param_2, s32 size)
|
|||
newSize = size * 5 + 0xc;
|
||||
}
|
||||
newSize >>= 3;
|
||||
xxx_init_struct_8094924_restore_809485C(&auStack_5c, param_2, newSize);
|
||||
InitBitReader(&auStack_5c, param_2, newSize);
|
||||
for(index = 0; index < size; index++)
|
||||
{
|
||||
RestoreIntegerBits(&auStack_5c, &local_4c[index], 5);
|
||||
ReadBits(&auStack_5c, &local_4c[index], 5);
|
||||
}
|
||||
|
||||
nullsub_102(&auStack_5c);
|
||||
FinishBitSerializer(&auStack_5c);
|
||||
for(index = 0; index < size; index++)
|
||||
{
|
||||
*param_1++ = sub_803D100(local_4c[index]);
|
||||
|
|
@ -105,7 +105,7 @@ bool8 sub_803D204(u8 *buffer,unkStruct_203B480 *param_2)
|
|||
u8 local_c4 [34];
|
||||
u8 translateBuffer [PASSWORD_BUFFER_SIZE];
|
||||
u8 localBuffer [PASSWORD_BUFFER_SIZE];
|
||||
unkStruct_8094924 uStack_30;
|
||||
DataSerializer uStack_30;
|
||||
s32 index;
|
||||
|
||||
checksum = 0;
|
||||
|
|
@ -127,9 +127,9 @@ bool8 sub_803D204(u8 *buffer,unkStruct_203B480 *param_2)
|
|||
checksum += local_c4[index] + index;
|
||||
}
|
||||
if (local_c4[0] == checksum) {
|
||||
xxx_init_struct_8094924_restore_809485C(&uStack_30,&local_c4[1],33);
|
||||
InitBitReader(&uStack_30,&local_c4[1],33);
|
||||
sub_8095774(&uStack_30,param_2);
|
||||
nullsub_102(&uStack_30);
|
||||
FinishBitSerializer(&uStack_30);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
|
@ -143,7 +143,7 @@ void sub_803D2C0(u8 *buffer, unkStruct_203B480 *mail)
|
|||
u8 local_c0 [34];
|
||||
u8 buffer1 [PASSWORD_BUFFER_SIZE];
|
||||
u8 buffer2 [PASSWORD_BUFFER_SIZE];
|
||||
unkStruct_8094924 auStack_2c;
|
||||
DataSerializer auStack_2c;
|
||||
|
||||
checksum = 0;
|
||||
|
||||
|
|
@ -152,9 +152,9 @@ void sub_803D2C0(u8 *buffer, unkStruct_203B480 *mail)
|
|||
local_c0[index] = 0;
|
||||
}
|
||||
|
||||
xxx_init_struct_8094924_save_809486C(&auStack_2c,&local_c0[1],33);
|
||||
InitBitWriter(&auStack_2c,&local_c0[1],33);
|
||||
sub_8095824(&auStack_2c,mail);
|
||||
nullsub_102(&auStack_2c);
|
||||
FinishBitSerializer(&auStack_2c);
|
||||
for(index = 1; index < 34; index++)
|
||||
{
|
||||
checksum += + local_c0[index] + index;
|
||||
|
|
@ -176,7 +176,7 @@ bool8 DecodeWonderMailPassword(u8* buffer, WonderMail *mail)
|
|||
u8 local_70 [16];
|
||||
u8 local_60 [24];
|
||||
u8 password [24];
|
||||
unkStruct_8094924 puVar1;
|
||||
DataSerializer puVar1;
|
||||
|
||||
checksum = 0;
|
||||
MemoryCopy8(password,buffer,24);
|
||||
|
|
@ -199,9 +199,9 @@ bool8 DecodeWonderMailPassword(u8* buffer, WonderMail *mail)
|
|||
checksum += (local_70[index] + index);
|
||||
}
|
||||
if (local_70[0] == checksum) {
|
||||
xxx_init_struct_8094924_restore_809485C(&puVar1,&local_70[1],0xc);
|
||||
RestoreWonderMail(&puVar1,mail);
|
||||
nullsub_102(&puVar1);
|
||||
InitBitReader(&puVar1,&local_70[1],0xc);
|
||||
ReadWonderMailBits(&puVar1,mail);
|
||||
FinishBitSerializer(&puVar1);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
|
@ -215,7 +215,7 @@ void sub_803D414(u8 *buffer,WonderMail *mail)
|
|||
u8 local_6c [15];
|
||||
u8 local_5c [24];
|
||||
u8 auStack_44 [24];
|
||||
unkStruct_8094924 uStack_2c;
|
||||
DataSerializer uStack_2c;
|
||||
|
||||
checksum = 0;
|
||||
for(index = 0; index < 0xF; index++)
|
||||
|
|
@ -223,9 +223,9 @@ void sub_803D414(u8 *buffer,WonderMail *mail)
|
|||
local_6c[index] = 0;
|
||||
}
|
||||
|
||||
xxx_init_struct_8094924_save_809486C(&uStack_2c,&local_6c[1],12);
|
||||
SaveWonderMail(&uStack_2c,mail);
|
||||
nullsub_102(&uStack_2c);
|
||||
InitBitWriter(&uStack_2c,&local_6c[1],12);
|
||||
WriteWonderMailBits(&uStack_2c,mail);
|
||||
FinishBitSerializer(&uStack_2c);
|
||||
|
||||
for(index = 1; index < 0xF; index++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -83,17 +83,17 @@ void sub_803D4D0(void)
|
|||
OpenedFile *file;
|
||||
struct UnkDungeonFileData *strPtr;
|
||||
|
||||
sub_80901D8(&gDungeon->dungeonLocation2, &gDungeon->dungeonLocation);
|
||||
if (gDungeon->unk1C570.id == gDungeon->dungeonLocation2.id && gDungeon->unk1C570.floor == gDungeon->dungeonLocation2.floor)
|
||||
sub_80901D8(&gDungeon->unk644.dungeonLocation2, &gDungeon->unk644.dungeonLocation);
|
||||
if (gDungeon->unk1C570.id == gDungeon->unk644.dungeonLocation2.id && gDungeon->unk1C570.floor == gDungeon->unk644.dungeonLocation2.floor)
|
||||
return;
|
||||
|
||||
gDungeon->unk1C570 = gDungeon->dungeonLocation2;
|
||||
gDungeon->unk1C570 = gDungeon->unk644.dungeonLocation2;
|
||||
file = OpenFileAndGetFileDataPtr(gUnknown_80F4D8C, &gDungeonFileArchive);
|
||||
|
||||
strPtr = &file->data.dungData->unk0[gDungeon->unk1C570.id][gDungeon->unk1C570.floor];
|
||||
|
||||
gDungeon->unk1CEC8 = GetDungeonFloorCount(gDungeon->dungeonLocation.id);
|
||||
gDungeon->unk14 = sub_80902C8(gDungeon->dungeonLocation.id);
|
||||
gDungeon->unk1CEC8 = GetDungeonFloorCount(gDungeon->unk644.dungeonLocation.id);
|
||||
gDungeon->unk14 = sub_80902C8(gDungeon->unk644.dungeonLocation.id);
|
||||
|
||||
gDungeon->unk1C574 = file->data.dungData->unk4[strPtr->unk0];
|
||||
|
||||
|
|
@ -564,8 +564,8 @@ void ShowDungeonNameBanner(void)
|
|||
}
|
||||
CpuClear((void *)(VRAM + 0x140), 0x1C00);
|
||||
if (sub_80848EC()) {
|
||||
s32 r8 = gDungeon->dungeonLocation.floor + gDungeon->unk14;
|
||||
const u8 *dungName = GetDungeonName2(gDungeon->dungeonLocation.id);
|
||||
s32 r8 = gDungeon->unk644.dungeonLocation.floor + gDungeon->unk14;
|
||||
const u8 *dungName = GetDungeonName2(gDungeon->unk644.dungeonLocation.id);
|
||||
s32 r5 = 10;
|
||||
|
||||
for (r7 = 0; r7 < 8; r7++) {
|
||||
|
|
@ -579,7 +579,7 @@ void ShowDungeonNameBanner(void)
|
|||
}
|
||||
|
||||
var = sub_803DC14(dungName, (224 - CalcStringWidth(dungName)) / 2, 0);
|
||||
if (IsStairDirectionUp(gDungeon->dungeonLocation.id))
|
||||
if (IsStairDirectionUp(gDungeon->unk644.dungeonLocation.id))
|
||||
r6 = gUnknown_80F6108;
|
||||
else
|
||||
r6 = gUnknown_80F610C;
|
||||
|
|
@ -1069,11 +1069,11 @@ void sub_803E178(void)
|
|||
s32 val = sub_8043D10();
|
||||
|
||||
if (val == 0) {
|
||||
if (gDungeon->dungeonLocation.id == DUNGEON_METEOR_CAVE && !gDungeon->deoxysDefeat) {
|
||||
if (gDungeon->unk644.dungeonLocation.id == DUNGEON_METEOR_CAVE && !gDungeon->deoxysDefeat) {
|
||||
gDungeon->unk3A12 = 28;
|
||||
}
|
||||
else {
|
||||
gDungeon->unk3A12 = (IsStairDirectionUp(gDungeon->dungeonLocation.id) != FALSE) ? 23 : 22;
|
||||
gDungeon->unk3A12 = (IsStairDirectionUp(gDungeon->unk644.dungeonLocation.id) != FALSE) ? 23 : 22;
|
||||
}
|
||||
}
|
||||
else if (val == 1) {
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include "dungeon_items.h"
|
||||
#include "constants/item.h"
|
||||
#include "constants/status.h"
|
||||
#include "code_803E724.h"
|
||||
|
||||
extern s32 gDungeonBrightness;
|
||||
extern u32 gUnknown_202EDD0;
|
||||
|
|
@ -64,7 +65,6 @@ extern u32 gUnknown_3001018[];
|
|||
|
||||
extern void sub_8040A84();
|
||||
extern void sub_8083D44(void);
|
||||
extern void sub_8049ED4(void);
|
||||
extern void sub_8040A84(void);
|
||||
extern void sub_80400D4(void);
|
||||
extern void sub_8041888(u8 param_1);
|
||||
|
|
@ -850,9 +850,9 @@ void sub_803F27C(bool8 a0)
|
|||
strPtr->blinded = 0;
|
||||
strPtr->hallucinating = 0;
|
||||
strPtr->unk1820F = 0;
|
||||
strPtr->unk1820D = 0;
|
||||
strPtr->unk1820D = FALSE;
|
||||
strPtr->unk18211 = 0;
|
||||
strPtr->unk1820E = 0;
|
||||
strPtr->unk1820E = FALSE;
|
||||
strPtr->unk1820B = 0;
|
||||
strPtr->unk1820C = 0;
|
||||
}
|
||||
|
|
@ -980,8 +980,8 @@ void sub_803F580(u8 a0)
|
|||
strPtr->cameraPixelPos.y = (cameraTarget->pixelPos.y / 256) - 96;
|
||||
|
||||
if (HasHeldItem(cameraTarget, ITEM_X_RAY_SPECS) && info->isTeamLeader) {
|
||||
strPtr->unk1820D = 1;
|
||||
strPtr->unk1820E = 1;
|
||||
strPtr->unk1820D = TRUE;
|
||||
strPtr->unk1820E = TRUE;
|
||||
}
|
||||
else {
|
||||
strPtr->unk1820D = info->powerEars;
|
||||
|
|
@ -1113,8 +1113,8 @@ void sub_803F878(s32 a0, s32 a1)
|
|||
strPtr->cameraPixelPos.y = (a1 / 256) - 96;
|
||||
strPtr->cameraPos.x = a0 / 6144;
|
||||
strPtr->cameraPos.y = a1 / 6144;
|
||||
strPtr->unk1820D = 0;
|
||||
strPtr->unk1820E = 0;
|
||||
strPtr->unk1820D = FALSE;
|
||||
strPtr->unk1820E = FALSE;
|
||||
strPtr->unk18211 = 0;
|
||||
strPtr->unk18216 = 0;
|
||||
|
||||
|
|
@ -1313,10 +1313,10 @@ void sub_803FB74(void)
|
|||
}
|
||||
|
||||
arrPtr = gUnknown_202B038[0][0];
|
||||
unkFloor = gDungeon->unk14 + gDungeon->dungeonLocation.floor;
|
||||
unkFloor = gDungeon->unk14 + gDungeon->unk644.dungeonLocation.floor;
|
||||
if (strPtr->unk3A != unkFloor) {
|
||||
strPtr->unk3A = unkFloor;
|
||||
if (IsStairDirectionUp(gDungeon->dungeonLocation.id)) {
|
||||
if (IsStairDirectionUp(gDungeon->unk644.dungeonLocation.id)) {
|
||||
arrPtr[1] = 0;
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ extern OpenedFile *gUnknown_202EE04;
|
|||
extern void sub_803F7BC(void);
|
||||
|
||||
extern void sub_803F580(u32);
|
||||
extern void sub_8049ED4();
|
||||
extern void sub_8040A84();
|
||||
|
||||
extern const char *gUnknown_80FD040; // It became brighter on the floor
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "code_800E9A8.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_803E724.h"
|
||||
#include "code_804267C.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_8041AD0.h"
|
||||
|
|
@ -34,10 +35,8 @@ extern void sub_803ED30(u8, Entity *pokemon, u8, u8);
|
|||
extern void sub_804151C(Entity *pokemon, u32 r1, u8 r2);
|
||||
extern u32 sub_806F62C(u32);
|
||||
extern void PlaySoundEffect(u32);
|
||||
extern u8 sub_803F428(Position *pos);
|
||||
extern void sub_8041550(Entity *pokemon, u32, u32, u32, u32, u32);
|
||||
|
||||
void sub_80421C0(Entity *pokemon, u16 r1);
|
||||
void EntityUpdateStatusSprites(Entity *entity);
|
||||
|
||||
extern s32 gDungeonBrightness;
|
||||
|
|
@ -221,7 +220,7 @@ void EntityUpdateStatusSprites(Entity *entity)
|
|||
spriteStatus = spriteStatus | STATUS_SPRITE_LOWHP;
|
||||
}
|
||||
}
|
||||
if ((gDungeon->itemHoldersIdentified) && (entityInfo->heldItem.flags & ITEM_FLAG_EXISTS)) {
|
||||
if ((gDungeon->unk644.itemHoldersIdentified) && (entityInfo->heldItem.flags & ITEM_FLAG_EXISTS)) {
|
||||
spriteStatus = spriteStatus | STATUS_SPRITE_LOWHP;
|
||||
}
|
||||
if ( (entityInfo->offensiveMultipliers[0] < DEFAULT_STAT_MULTIPLIER) ||
|
||||
|
|
@ -870,7 +869,7 @@ void sub_80421C0(Entity *pokemon, u16 r1)
|
|||
|
||||
void sub_80421EC(Position *pos, u16 r1)
|
||||
{
|
||||
if(sub_803F428(pos) != 0)
|
||||
if(sub_803F428(pos))
|
||||
PlaySoundEffect(r1);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
#include "code_8041AD0.h"
|
||||
#include "code_804267C.h"
|
||||
|
||||
#include "code_803E46C.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
|
|
@ -24,7 +24,6 @@ extern void sub_8040238(void);
|
|||
extern void sub_804151C(Entity *pokemon, u32 r1, u8 r2);
|
||||
extern void sub_804178C(u32);
|
||||
extern void sub_80416A4(Position *r0, u32 r1, bool8 r2);
|
||||
extern void sub_80421C0(Entity *pokemon, u16 r1);
|
||||
extern void sub_80429A0(Entity *);
|
||||
extern void sub_8042B34(u32, u32, u32);
|
||||
extern bool8 sub_8042CC0(void);
|
||||
|
|
@ -42,7 +41,7 @@ void PlayStairsSound(void)
|
|||
switch (sub_8043D10()) {
|
||||
case 0:
|
||||
default:
|
||||
songIndex = IsStairDirectionUp(gDungeon->dungeonLocation.id) ? 340 : 341;
|
||||
songIndex = IsStairDirectionUp(gDungeon->unk644.dungeonLocation.id) ? 340 : 341;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
#include "constants/dungeon.h"
|
||||
#include "constants/monster.h"
|
||||
#include "constants/trap.h"
|
||||
#include "dungeon_serializer.h"
|
||||
|
||||
extern void sub_800EE5C(s32);
|
||||
extern void sub_800EF64(void);
|
||||
|
|
@ -243,7 +244,7 @@ void sub_8042EC8(Entity *a0, s32 a1)
|
|||
}
|
||||
|
||||
extern u8 gUnknown_203B40C;
|
||||
extern u16 gUnknown_203B410;
|
||||
extern Position gUnknown_203B410;
|
||||
extern u8 *gSerializedData_203B41C;
|
||||
|
||||
struct Substruct_xxx_dungeon_8042F6C
|
||||
|
|
@ -266,7 +267,7 @@ struct UnkStruct_xxx_dungeon_8042F6C
|
|||
u8 unkF;
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
struct unkStruct_Dungeon64C unk14;
|
||||
unkStruct_Dungeon64C unk14;
|
||||
PokemonStruct1 unk1C;
|
||||
u8 *unk74;
|
||||
Dungeon *unk78;
|
||||
|
|
@ -298,7 +299,7 @@ extern void sub_8047104(void);
|
|||
extern void sub_8068F28(void);
|
||||
extern void sub_806C1D8(void);
|
||||
extern void sub_804700C(void);
|
||||
extern void sub_8097810(void);
|
||||
extern void IncrementThievingSuccesses(void);
|
||||
extern void sub_803E13C(void);
|
||||
extern void sub_80841EC(void);
|
||||
extern void sub_8084424(void);
|
||||
|
|
@ -315,7 +316,7 @@ extern void sub_8068614(void);
|
|||
extern void sub_80840A4(void);
|
||||
extern void sub_803E178(void);
|
||||
extern void sub_80848F0(void);
|
||||
extern void sub_8097890(void);
|
||||
extern void IncrementAdventureFloorsExplored(void);
|
||||
extern void sub_806AB2C(void);
|
||||
extern void DisplayPreFightDialogue(void);
|
||||
extern void sub_8071DA4(Entity *);
|
||||
|
|
@ -332,13 +333,11 @@ extern void sub_80521D0(void);
|
|||
extern void sub_803F27C(u8);
|
||||
extern void sub_807E7FC(u8);
|
||||
extern void sub_80095CC(u32, u32);
|
||||
extern void sub_8081BF4(u8 *r0, u32 r1);
|
||||
extern bool8 IsLevelResetTo1(u8 dungeon);
|
||||
extern void sub_8068A84(PokemonStruct1 *pokemon);
|
||||
extern void sub_807EAA0(u32, u32);
|
||||
extern void sub_803D4D0(void);
|
||||
extern void sub_80842F0(void);
|
||||
extern void sub_8082B40(void);
|
||||
extern void sub_80427AC(void);
|
||||
extern void sub_806AA70(void);
|
||||
extern void sub_803D8F0(void);
|
||||
|
|
@ -357,7 +356,6 @@ extern void sub_8045CB0(void);
|
|||
extern void sub_807FA18(void);
|
||||
extern void sub_806A974(void);
|
||||
extern void sub_806CF60(void);
|
||||
extern void sub_8049ED4(void);
|
||||
extern void sub_8049884(void);
|
||||
extern void sub_8068F80(void);
|
||||
extern bool8 sub_8044B28(void);
|
||||
|
|
@ -371,7 +369,6 @@ extern void sub_803EAF0(u32, u32);
|
|||
extern void sub_806A914(u8 a0, u8 a1, u8 a2);
|
||||
extern void sub_803F4A0(Entity *a0);
|
||||
extern void sub_8083AB0(s16 param_0, Entity * target, Entity * entity);
|
||||
extern void sub_8080B30(u8 *param_1,u32 param_2);
|
||||
extern void sub_8046F84(s32 itemFlag);
|
||||
extern bool8 sub_8083C50(void);
|
||||
extern void sub_8068FE0(Entity *, u32, Entity *r2);
|
||||
|
|
@ -400,7 +397,7 @@ extern const u8 *const gUnknown_80F89B4;
|
|||
extern const u8 *const gUnknown_80F89D4;
|
||||
extern const u8 *const gUnknown_80F89D8;
|
||||
|
||||
extern const s16 gUnknown_80F6850[];
|
||||
extern const s16 gUnknown_80F6850[4];
|
||||
extern const s16 gDungeonMusic[];
|
||||
|
||||
extern OpenedFile *gDungeonNameBannerPalette;
|
||||
|
|
@ -433,24 +430,24 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
dungeonPtr[i] = 0;
|
||||
}
|
||||
|
||||
gUnknown_203B410 = 0; // Needed to match
|
||||
gUnknown_203B410 = 100;
|
||||
gUnknown_203B410.x = 0; // Needed to match
|
||||
gUnknown_203B410.x = 100;
|
||||
|
||||
if (!r6) {
|
||||
gDungeon->unk678 = r8->unkF;
|
||||
gDungeon->unk64C = r8->unk14;
|
||||
gDungeon->windTurns = GetTurnLimit(r8->unk4.id);
|
||||
gDungeon->unk67A = 0;
|
||||
gDungeon->unk67B = GetRescuesAllowed(r8->unk4.id);
|
||||
gDungeon->unk644.unk34 = r8->unkF;
|
||||
gDungeon->unk644.unk8 = r8->unk14;
|
||||
gDungeon->unk644.windTurns = GetTurnLimit(r8->unk4.id);
|
||||
gDungeon->unk644.unk36 = 0;
|
||||
gDungeon->unk644.unk37 = GetRescuesAllowed(r8->unk4.id);
|
||||
}
|
||||
gDungeon->unk698 = 0;
|
||||
gDungeon->unk699 = 0;
|
||||
gDungeon->unk65C = r8->unk9;
|
||||
gDungeon->unk65A = r8->unkC;
|
||||
gDungeon->unk658 = r8->unkA;
|
||||
gDungeon->unk659 = r8->unkB;
|
||||
gDungeon->unk65B = r8->unkD;
|
||||
gDungeon->unk65D = r8->unkE;
|
||||
gDungeon->unk644.unk54 = 0;
|
||||
gDungeon->unk644.unk55 = 0;
|
||||
gDungeon->unk644.unk18 = r8->unk9;
|
||||
gDungeon->unk644.unk16 = r8->unkC;
|
||||
gDungeon->unk644.unk14 = r8->unkA;
|
||||
gDungeon->unk644.unk15 = r8->unkB;
|
||||
gDungeon->unk644.unk17 = r8->unkD;
|
||||
gDungeon->unk644.unk19 = r8->unkE;
|
||||
StopDungeonBGM();
|
||||
sub_803D4AC();
|
||||
sub_804513C();
|
||||
|
|
@ -469,7 +466,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
sub_8042E98();
|
||||
gUnknown_202F32C = 0;
|
||||
if (r6) {
|
||||
sub_8081BF4(gSerializedData_203B41C, 0x4800);
|
||||
ReadDungeonState(gSerializedData_203B41C, 0x4800);
|
||||
sub_8049840();
|
||||
}
|
||||
if (r9) {
|
||||
|
|
@ -479,35 +476,35 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
if (!r6) {
|
||||
gDungeon->unk181e8.unk1820B = 1;
|
||||
gDungeon->unk181e8.unk1820C = 1;
|
||||
if (gDungeon->unk678 == 1) {
|
||||
gDungeon->dungeonLocation.id = r8->unk14.unk0;
|
||||
gDungeon->dungeonLocation.floor = 1;
|
||||
if (gDungeon->unk644.unk34 == 1) {
|
||||
gDungeon->unk644.dungeonLocation.id = r8->unk14.unk0;
|
||||
gDungeon->unk644.dungeonLocation.floor = 1;
|
||||
}
|
||||
else {
|
||||
gDungeon->dungeonLocation = r8->unk4;
|
||||
gDungeon->unk644.dungeonLocation = r8->unk4;
|
||||
}
|
||||
|
||||
gDungeon->unk674 = 0;
|
||||
gDungeon->unk644.unk30 = 0;
|
||||
EnforceMaxItemsAndMoney();
|
||||
}
|
||||
if (!r6) {
|
||||
if (gDungeon->unk678 == 1) {
|
||||
gDungeon->unk67C = r8->unk14.unk4;
|
||||
if (gDungeon->unk644.unk34 == 1) {
|
||||
gDungeon->unk644.unk38 = r8->unk14.unk4;
|
||||
}
|
||||
else {
|
||||
gDungeon->unk67C = Rand32Bit() & 0xFFFFFF;
|
||||
gDungeon->unk644.unk38 = Rand32Bit() & 0xFFFFFF;
|
||||
}
|
||||
sub_808408C(gDungeon->unk67C);
|
||||
sub_808408C(gDungeon->unk644.unk38);
|
||||
}
|
||||
if (!r6) {
|
||||
if (!sub_80980A4() && gDungeon->dungeonLocation.id == DUNGEON_TINY_WOODS) {
|
||||
if (!sub_80980A4() && gDungeon->unk644.dungeonLocation.id == DUNGEON_TINY_WOODS) {
|
||||
sub_8043FD0();
|
||||
}
|
||||
sub_806890C();
|
||||
}
|
||||
|
||||
if (r9) {
|
||||
gFormatArgs[0] = gDungeon->unk67B;
|
||||
gFormatArgs[0] = gDungeon->unk644.unk37;
|
||||
if (gFormatArgs[0] != 0) {
|
||||
DisplayDungeonMessage(0, gUnknown_80FEC48, 1);
|
||||
}
|
||||
|
|
@ -518,7 +515,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
|
||||
if (r10) {
|
||||
r8->unk1C.heldItem.id = 0;
|
||||
if (IsLevelResetTo1(gDungeon->dungeonLocation.id)) {
|
||||
if (IsLevelResetTo1(gDungeon->unk644.dungeonLocation.id)) {
|
||||
sub_808D0D8(&r8->unk1C);
|
||||
}
|
||||
sub_8068A84(&r8->unk1C);
|
||||
|
|
@ -528,7 +525,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
}
|
||||
|
||||
sub_8068614();
|
||||
if (!r6 && gDungeon->unk678 == 1) {
|
||||
if (!r6 && gDungeon->unk644.unk34 == 1) {
|
||||
if (sub_8099394(&sp)) {
|
||||
unkStruct_203B480 *mailStr = GetMailatIndex(sp);
|
||||
if (mailStr->rescuesAllowed) {
|
||||
|
|
@ -553,9 +550,9 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
gLeaderPointer = NULL;
|
||||
gDungeon->unk0 = 0;
|
||||
if (!r6) {
|
||||
gDungeon->unk680 = YetAnotherRandom24();
|
||||
gDungeon->unk668 = 10;
|
||||
InitDungeonRNG(gDungeon->unk680);
|
||||
gDungeon->unk644.unk3C = YetAnotherRandom24();
|
||||
gDungeon->unk644.unk24 = 10;
|
||||
InitDungeonRNG(gDungeon->unk644.unk3C);
|
||||
}
|
||||
gDungeon->unk37EC = 0;
|
||||
if (!r6) {
|
||||
|
|
@ -565,9 +562,9 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
rnd = DungeonRandInt(4);
|
||||
gDungeon->unk37FD = 0;
|
||||
gDungeon->deoxysDefeat = FALSE;
|
||||
gDungeon->unk3800 = gUnknown_80F6850[rnd];
|
||||
gDungeon->deoxysForm = gUnknown_80F6850[rnd];
|
||||
gDungeon->unk37FF = 0;
|
||||
gDungeon->unk675 = 0;
|
||||
gDungeon->unk644.unk31 = 0;
|
||||
}
|
||||
sub_803D4D0();
|
||||
gDungeon->unk1 = 0;
|
||||
|
|
@ -588,23 +585,23 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
gDungeon->unkE = 0;
|
||||
gDungeon->unk1BDD4.unk1C05E = 0;
|
||||
if (!r6) {
|
||||
gDungeon->unk679 = 0;
|
||||
gDungeon->unk68C = 0;
|
||||
gDungeon->unk690 = 0;
|
||||
gDungeon->unk694 = 0;
|
||||
gDungeon->fractionalTurn = 0;
|
||||
gDungeon->unk662 = 0;
|
||||
gDungeon->unk66E = 0;
|
||||
gDungeon->unk66F = 0;
|
||||
gDungeon->unk670 = 0;
|
||||
gDungeon->itemHoldersIdentified = 0;
|
||||
gDungeon->monsterHouseTriggered = 0;
|
||||
gDungeon->monsterHouseTriggeredEvent = 0;
|
||||
gDungeon->bossSongIndex = 999;
|
||||
gDungeon->unk688 = 0;
|
||||
gDungeon->unk68A = 0;
|
||||
gDungeon->unk684 = 99;
|
||||
gDungeon->unk686 = 99;
|
||||
gDungeon->unk644.unk35 = 0;
|
||||
gDungeon->unk644.unk48 = 0;
|
||||
gDungeon->unk644.unk4C = 0;
|
||||
gDungeon->unk644.unk50 = 0;
|
||||
gDungeon->unk644.fractionalTurn = 0;
|
||||
gDungeon->unk644.unk1E = 0;
|
||||
gDungeon->unk644.unk2A = 0;
|
||||
gDungeon->unk644.unk2B = 0;
|
||||
gDungeon->unk644.unk2C = 0;
|
||||
gDungeon->unk644.itemHoldersIdentified = 0;
|
||||
gDungeon->unk644.monsterHouseTriggered = 0;
|
||||
gDungeon->unk644.monsterHouseTriggeredEvent = 0;
|
||||
gDungeon->unk644.bossSongIndex = 999;
|
||||
gDungeon->unk644.unk44 = 0;
|
||||
gDungeon->unk644.unk46 = 0;
|
||||
gDungeon->unk644.unk40 = 99;
|
||||
gDungeon->unk644.unk42 = 99;
|
||||
gDungeon->weather.weather = 0;
|
||||
gDungeon->tileset = gDungeon->unk1C574.unk2;
|
||||
gDungeon->unk3A10 = gDungeon->unk1C574.unk3;
|
||||
|
|
@ -639,8 +636,8 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
|
||||
if (!r6) {
|
||||
sub_804AFAC();
|
||||
gDungeon->windTurns = GetTurnLimit(gDungeon->dungeonLocation.id);
|
||||
gDungeon->unk67A = 0;
|
||||
gDungeon->unk644.windTurns = GetTurnLimit(gDungeon->unk644.dungeonLocation.id);
|
||||
gDungeon->unk644.unk36 = 0;
|
||||
}
|
||||
sub_804AAD4();
|
||||
sub_8049B8C();
|
||||
|
|
@ -663,8 +660,8 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
if (!r6) {
|
||||
sub_807FA18();
|
||||
sub_8045CB0();
|
||||
gDungeon->unk694 = gDungeon->unk68C;
|
||||
gDungeon->unk690 = 0;
|
||||
gDungeon->unk644.unk50 = gDungeon->unk644.unk48;
|
||||
gDungeon->unk644.unk4C = 0;
|
||||
sub_8051E3C();
|
||||
sub_804AAAC();
|
||||
}
|
||||
|
|
@ -686,7 +683,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
|
||||
if (!r6) {
|
||||
sub_80848F0();
|
||||
sub_8097890();
|
||||
IncrementAdventureFloorsExplored();
|
||||
}
|
||||
|
||||
gUnknown_203B40C = 1;
|
||||
|
|
@ -706,8 +703,8 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
sub_8040150(r6);
|
||||
sub_8040A84();
|
||||
gDungeon->unkB8 = NULL;
|
||||
gDungeon->unk66C = 0;
|
||||
gDungeon->unk66D = 0;
|
||||
gDungeon->unk644.unk28 = 0;
|
||||
gDungeon->unk644.unk29 = 0;
|
||||
gDungeon->unk12 = 99;
|
||||
gDungeon->unk0 = 1;
|
||||
|
||||
|
|
@ -757,7 +754,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
if (gDungeon->unk5 == 0) {
|
||||
bool8 param = TRUE;
|
||||
|
||||
gDungeon->unk654 = 0;
|
||||
gDungeon->unk644.unk10 = 0;
|
||||
gDungeon->unk181e8.unk18218 = 0;
|
||||
gDungeon->unk181e8.unk18219 = 1;
|
||||
do {
|
||||
|
|
@ -771,12 +768,12 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
sub_8071DA4(leader);
|
||||
}
|
||||
|
||||
if (gDungeon->unk654 != 1) {
|
||||
if (gDungeon->unk644.unk10 != 1) {
|
||||
if (sub_8043ED0(TRUE)) {
|
||||
gDungeon->unk654 = 1;
|
||||
gDungeon->unk644.unk10 = 1;
|
||||
}
|
||||
}
|
||||
if (gDungeon->unk654 == 1 || gDungeon->unk11 != 0) {
|
||||
if (gDungeon->unk644.unk10 == 1 || gDungeon->unk11 != 0) {
|
||||
if (gDungeon->unk6 == 0) {
|
||||
sub_806AA70();
|
||||
}
|
||||
|
|
@ -794,7 +791,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
if (gDungeon->unk3 == 0
|
||||
&& gDungeon->unk6 == 0
|
||||
&& gDungeon->musPlayer.queuedSongIndex == 0x72
|
||||
&& gDungeon->dungeonLocation.id == DUNGEON_BURIED_RELIC)
|
||||
&& gDungeon->unk644.dungeonLocation.id == DUNGEON_BURIED_RELIC)
|
||||
{
|
||||
DungeonFadeOutBGM(60);
|
||||
}
|
||||
|
|
@ -824,9 +821,9 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
gUnknown_203B40C = 0;
|
||||
|
||||
if (gDungeon->unk3 != 0) {
|
||||
sub_8080B30(gSerializedData_203B41C, 0x4800);
|
||||
SaveDungeonState(gSerializedData_203B41C, 0x4800);
|
||||
r8->unk7C = 3;
|
||||
r8->unk80 = gDungeon->dungeonLocation;
|
||||
r8->unk80 = gDungeon->unk644.dungeonLocation;
|
||||
check = FALSE;
|
||||
}
|
||||
else
|
||||
|
|
@ -834,15 +831,15 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
s16 var;
|
||||
|
||||
if (gDungeon->unk6 != 0) {
|
||||
sub_8080B30(gSerializedData_203B41C, 0x4800);
|
||||
SaveDungeonState(gSerializedData_203B41C, 0x4800);
|
||||
}
|
||||
else {
|
||||
sub_8046F84(ITEM_FLAG_IN_SHOP);
|
||||
}
|
||||
sub_806C1D8();
|
||||
|
||||
if (gDungeon->unk654 == 1) {
|
||||
if (gDungeon->unk66E != 0) {
|
||||
if (gDungeon->unk644.unk10 == 1) {
|
||||
if (gDungeon->unk644.unk2A != 0) {
|
||||
sub_804700C();
|
||||
}
|
||||
check = TRUE;
|
||||
|
|
@ -853,15 +850,15 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
}
|
||||
else if (gDungeon->unk11 == 2) {
|
||||
sub_8083AB0(0x229, NULL, GetLeader());
|
||||
if (gDungeon->unk66E != 0) {
|
||||
sub_8097810();
|
||||
if (gDungeon->unk644.unk2A != 0) {
|
||||
IncrementThievingSuccesses();
|
||||
}
|
||||
check = TRUE;
|
||||
}
|
||||
else if (gDungeon->unk11 == 3) {
|
||||
sub_8083AB0(0x22A, NULL, GetLeader());
|
||||
if (gDungeon->unk66E != 0) {
|
||||
sub_8097810();
|
||||
if (gDungeon->unk644.unk2A != 0) {
|
||||
IncrementThievingSuccesses();
|
||||
}
|
||||
check = TRUE;
|
||||
}
|
||||
|
|
@ -870,21 +867,21 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
sub_8083AB0(var, NULL, GetLeader());
|
||||
check = TRUE;
|
||||
}
|
||||
else if (gDungeon->unk678 == 1 && sub_8043D10() == 2 && gDungeon->unk654 == 2) {
|
||||
else if (gDungeon->unk644.unk34 == 1 && sub_8043D10() == 2 && gDungeon->unk644.unk10 == 2) {
|
||||
sub_8083AB0(0x228, NULL, GetLeader());
|
||||
if (gDungeon->unk66E != 0) {
|
||||
sub_8097810();
|
||||
if (gDungeon->unk644.unk2A != 0) {
|
||||
IncrementThievingSuccesses();
|
||||
}
|
||||
check = TRUE;
|
||||
}
|
||||
else {
|
||||
if (gDungeon->unk66E != 0) {
|
||||
sub_8097810();
|
||||
if (gDungeon->unk644.unk2A != 0) {
|
||||
IncrementThievingSuccesses();
|
||||
}
|
||||
if (gDungeon->dungeonLocation.floor + 1 < gDungeon->unk1CEC8) {
|
||||
gDungeon->dungeonLocation.floor++;
|
||||
if (gDungeon->dungeonLocation.id == DUNGEON_FROSTY_FOREST
|
||||
&& gDungeon->dungeonLocation.floor == 6
|
||||
if (gDungeon->unk644.dungeonLocation.floor + 1 < gDungeon->unk1CEC8) {
|
||||
gDungeon->unk644.dungeonLocation.floor++;
|
||||
if (gDungeon->unk644.dungeonLocation.id == DUNGEON_FROSTY_FOREST
|
||||
&& gDungeon->unk644.dungeonLocation.floor == 6
|
||||
&& !sub_8098100(0x1F))
|
||||
{
|
||||
sub_8097FA8(0x1F);
|
||||
|
|
@ -917,7 +914,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
sub_80095CC(1, 0x14);
|
||||
sub_803E13C();
|
||||
sub_800CDA8(4);
|
||||
if (gDungeon->unk6 == 0 && sub_8083C88(gDungeon->unk678)) {
|
||||
if (gDungeon->unk6 == 0 && sub_8083C88(gDungeon->unk644.unk34)) {
|
||||
sub_80841EC();
|
||||
}
|
||||
|
||||
|
|
@ -925,9 +922,9 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
if (gDungeon->unk6 != 0) {
|
||||
r8->unk7C = -2;
|
||||
memset(&r8->unk84, 0, sizeof(r8->unk84));
|
||||
r8->unk80 = gDungeon->dungeonLocation;
|
||||
r8->unk84.a0 = gDungeon->dungeonLocation;
|
||||
r8->unk84.a4 = gDungeon->unk67C;
|
||||
r8->unk80 = gDungeon->unk644.dungeonLocation;
|
||||
r8->unk84.a0 = gDungeon->unk644.dungeonLocation;
|
||||
r8->unk84.a4 = gDungeon->unk644.unk38;
|
||||
|
||||
}
|
||||
else {
|
||||
|
|
@ -935,10 +932,10 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
}
|
||||
}
|
||||
else if (sub_8083C50()) {
|
||||
if (gDungeon->unk678 == 1) {
|
||||
if (gDungeon->unk644.unk34 == 1) {
|
||||
r8->unk7C = 4;
|
||||
}
|
||||
else if (gDungeon->unk678 == 0) {
|
||||
else if (gDungeon->unk644.unk34 == 0) {
|
||||
r8->unk7C = 1;
|
||||
sub_8084424();
|
||||
}
|
||||
|
|
@ -946,7 +943,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
r8->unk7C = 1;
|
||||
sub_8084424();
|
||||
}
|
||||
r8->unk7E = gDungeon->unk674;
|
||||
r8->unk7E = gDungeon->unk644.unk30;
|
||||
}
|
||||
else {
|
||||
r8->unk7C = 2;
|
||||
|
|
@ -994,7 +991,7 @@ bool8 sub_8043CE4(s32 dungeonId)
|
|||
|
||||
u8 sub_8043D10(void)
|
||||
{
|
||||
if (gDungeon->unk678 == 1 && gDungeon->unk64C.unk1 == gDungeon->dungeonLocation.floor)
|
||||
if (gDungeon->unk644.unk34 == 1 && gDungeon->unk644.unk8.unk1 == gDungeon->unk644.dungeonLocation.floor)
|
||||
return 2;
|
||||
else if (IsBossFight())
|
||||
return 1;
|
||||
|
|
@ -1042,7 +1039,7 @@ void sub_8043D60(void)
|
|||
monInfo = GetEntInfo(mon);
|
||||
monInfo->HP = monInfo->maxHPStat;
|
||||
monInfo->belly = monInfo->maxBelly;
|
||||
gDungeon->itemHoldersIdentified = FALSE;
|
||||
gDungeon->unk644.itemHoldersIdentified = FALSE;
|
||||
sub_806BFC0(monInfo, 0);
|
||||
monInfo->apparentID = monInfo->id;
|
||||
monInfo->perishSongTurns = 0;
|
||||
|
|
@ -1184,7 +1181,7 @@ void EnforceMaxItemsAndMoney(void)
|
|||
{
|
||||
s32 i;
|
||||
|
||||
if (GetMaxItemsAllowed(gDungeon->dungeonLocation.id) == 0)
|
||||
if (GetMaxItemsAllowed(gDungeon->unk644.dungeonLocation.id) == 0)
|
||||
{
|
||||
for (i = 0; i < INVENTORY_SIZE; i++) {
|
||||
ZeroOutItem(&gTeamInventoryRef->teamItems[i]);
|
||||
|
|
@ -1197,7 +1194,7 @@ void EnforceMaxItemsAndMoney(void)
|
|||
}
|
||||
}
|
||||
|
||||
if (!IsKeepMoney(gDungeon->dungeonLocation.id)) {
|
||||
if (!IsKeepMoney(gDungeon->unk644.dungeonLocation.id)) {
|
||||
gTeamInventoryRef->teamMoney = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
676
src/code_80450F8.c
Normal file
676
src/code_80450F8.c
Normal file
|
|
@ -0,0 +1,676 @@
|
|||
#include "global.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "code_803E724.h"
|
||||
#include "code_80450F8.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_range.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "tile_types.h"
|
||||
|
||||
// Related to sub_80828E0
|
||||
// 93.08% https://decomp.me/scratch/AYGBN
|
||||
/*Entity *sub_80453AC(s16 id)
|
||||
{
|
||||
s32 something; // r1
|
||||
s32 uVar8; // r2
|
||||
Entity *entity; // r4
|
||||
s32 r5;
|
||||
u8 bodySize; // r6
|
||||
s32 id_; // r8
|
||||
//register s32 id_ asm("r8"); // r8
|
||||
s32 r9;
|
||||
|
||||
id_ = id; // SpeciesId() ?
|
||||
r9 = -1;
|
||||
bodySize = GetBodySize(id_);
|
||||
|
||||
for (r5 = 0; r5 <= MAX_TEAM_BODY_SIZE - bodySize; r5++) {
|
||||
for (uVar8 = 0; uVar8 < bodySize; uVar8++) {
|
||||
if (gUnknown_202EE70[r5 + uVar8] != 0)
|
||||
break;
|
||||
}
|
||||
|
||||
if (uVar8 == bodySize) {
|
||||
r9 = r5;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (r9 != -1) {
|
||||
for (r5 = 0; r5 < MAX_TEAM_MEMBERS; r5++) {
|
||||
entity = gDungeon->teamPokemon[r5];
|
||||
if (!EntityExists(entity)) {
|
||||
entity->type = ENTITY_MONSTER;
|
||||
entity->unk24 = r5;
|
||||
entity->axObj.info = &gDungeon->unk69C[r5];
|
||||
entity->axObj.info->id = id_;
|
||||
entity->axObj.info->apparentID = sub_8069F54(NULL, id_);
|
||||
entity->axObj.info->isNotTeamMember = FALSE;
|
||||
|
||||
entity->axObj.spriteFile = GetSpriteData(sub_8069F54(NULL, id_));
|
||||
entity->axObj.unk40_maybeAnimTimer = (r9 * 0x10) + 0x40;
|
||||
entity->axObj.unk42_animId1 = 7;
|
||||
entity->axObj.unk44_direction1 = 0;
|
||||
entity->axObj.unk43_animId2 = 0xFF;
|
||||
entity->axObj.unk45_orientation = 1;
|
||||
entity->axObj.unk47 = 1;
|
||||
|
||||
entity->unk1C = 0;
|
||||
sub_8045ACC();
|
||||
entity->axObj.info->unk167 = r9;
|
||||
entity->axObj.info->unk168 = bodySize;
|
||||
|
||||
for (something = 0; something < bodySize; something++) {
|
||||
gUnknown_202EE70[r9] = 1;
|
||||
r9++;
|
||||
}
|
||||
|
||||
entity->spawnGenID = gDungeon->unk668++;
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}*/
|
||||
NAKED
|
||||
Entity *sub_80453AC(s16 id)
|
||||
{
|
||||
asm_unified(
|
||||
" push {r4-r7,lr}\n"
|
||||
" mov r7, r10\n"
|
||||
" mov r6, r9\n"
|
||||
" mov r5, r8\n"
|
||||
" push {r5-r7}\n"
|
||||
" lsls r0, 16\n"
|
||||
" asrs r0, 16\n"
|
||||
" mov r8, r0\n"
|
||||
" movs r0, 0x1\n"
|
||||
" negs r0, r0\n"
|
||||
" mov r9, r0\n"
|
||||
" mov r0, r8\n"
|
||||
" bl GetBodySize\n"
|
||||
" lsls r0, 24\n"
|
||||
" lsrs r6, r0, 24\n"
|
||||
" movs r5, 0\n"
|
||||
" movs r0, 0x6\n"
|
||||
" subs r3, r0, r6\n"
|
||||
" ldr r4, _080453D8\n"
|
||||
" b _080453DE\n"
|
||||
" .align 2, 0\n"
|
||||
"_080453D8: .4byte gUnknown_202EE70\n"
|
||||
"_080453DC:\n"
|
||||
" adds r5, 0x1\n"
|
||||
"_080453DE:\n"
|
||||
" cmp r5, r3\n"
|
||||
" bgt _08045400\n"
|
||||
" movs r2, 0\n"
|
||||
" cmp r2, r6\n"
|
||||
" bge _080453FA\n"
|
||||
" adds r1, r5, r4\n"
|
||||
" b _080453F4\n"
|
||||
"_080453EC:\n"
|
||||
" adds r1, 0x1\n"
|
||||
" adds r2, 0x1\n"
|
||||
" cmp r2, r6\n"
|
||||
" bge _080453FA\n"
|
||||
"_080453F4:\n"
|
||||
" ldrb r0, [r1]\n"
|
||||
" cmp r0, 0\n"
|
||||
" beq _080453EC\n"
|
||||
"_080453FA:\n"
|
||||
" cmp r2, r6\n"
|
||||
" bne _080453DC\n"
|
||||
" mov r9, r5\n"
|
||||
"_08045400:\n"
|
||||
" movs r0, 0x1\n"
|
||||
" negs r0, r0\n"
|
||||
" cmp r9, r0\n"
|
||||
" beq _080454FC\n"
|
||||
" movs r5, 0\n"
|
||||
" ldr r7, _080454DC\n"
|
||||
"_0804540C:\n"
|
||||
" ldr r1, _080454E0\n"
|
||||
" ldr r0, [r1]\n"
|
||||
" lsls r1, r5, 2\n"
|
||||
" ldr r2, _080454E4\n"
|
||||
" adds r0, r2\n"
|
||||
" adds r0, r1\n"
|
||||
" ldr r4, [r0]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" bl EntityExists\n"
|
||||
" lsls r0, 24\n"
|
||||
" lsrs r0, 24\n"
|
||||
" mov r10, r0\n"
|
||||
" cmp r0, 0\n"
|
||||
" bne _080454F0\n"
|
||||
" movs r0, 0x1\n"
|
||||
" str r0, [r4]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" adds r0, 0x24\n"
|
||||
" strb r5, [r0]\n"
|
||||
" ldr r1, _080454E0\n"
|
||||
" ldr r0, [r1]\n"
|
||||
" adds r0, r7\n"
|
||||
" str r0, [r4, 0x70]\n"
|
||||
" mov r2, r8\n"
|
||||
" strh r2, [r0, 0x2]\n"
|
||||
" movs r0, 0\n"
|
||||
" mov r1, r8\n"
|
||||
" bl GetMonsterApparentID\n"
|
||||
" ldr r1, [r4, 0x70]\n"
|
||||
" strh r0, [r1, 0x4]\n"
|
||||
" ldr r0, [r4, 0x70]\n"
|
||||
" movs r5, 0\n"
|
||||
" strb r5, [r0, 0x6]\n"
|
||||
" movs r0, 0\n"
|
||||
" mov r1, r8\n"
|
||||
" bl GetMonsterApparentID\n"
|
||||
" lsls r0, 16\n"
|
||||
" asrs r0, 16\n"
|
||||
" bl GetSpriteData\n"
|
||||
" str r0, [r4, 0x64]\n"
|
||||
" mov r1, r9\n"
|
||||
" lsls r0, r1, 4\n"
|
||||
" adds r0, 0x40\n"
|
||||
" adds r1, r4, 0\n"
|
||||
" adds r1, 0x68\n"
|
||||
" strh r0, [r1]\n"
|
||||
" adds r1, 0x2\n"
|
||||
" movs r0, 0x7\n"
|
||||
" strb r0, [r1]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" adds r0, 0x6C\n"
|
||||
" movs r2, 0\n"
|
||||
" strb r2, [r0]\n"
|
||||
" adds r1, 0x1\n"
|
||||
" movs r0, 0xFF\n"
|
||||
" strb r0, [r1]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" adds r0, 0x6D\n"
|
||||
" movs r5, 0x1\n"
|
||||
" strb r5, [r0]\n"
|
||||
" adds r0, 0x2\n"
|
||||
" strb r5, [r0]\n"
|
||||
" mov r0, r10\n"
|
||||
" str r0, [r4, 0x1C]\n"
|
||||
" bl sub_8045ACC\n"
|
||||
" ldr r0, [r4, 0x70]\n"
|
||||
" ldr r1, _080454E8\n"
|
||||
" adds r0, r1\n"
|
||||
" mov r2, r9\n"
|
||||
" strb r2, [r0]\n"
|
||||
" ldr r0, [r4, 0x70]\n"
|
||||
" movs r5, 0xB4\n"
|
||||
" lsls r5, 1\n"
|
||||
" adds r0, r5\n"
|
||||
" strb r6, [r0]\n"
|
||||
" cmp r6, 0\n"
|
||||
" beq _080454C6\n"
|
||||
" ldr r3, _080454EC\n"
|
||||
" movs r2, 0x1\n"
|
||||
" adds r1, r6, 0\n"
|
||||
"_080454B6:\n"
|
||||
" mov r5, r9\n"
|
||||
" adds r0, r5, r3\n"
|
||||
" strb r2, [r0]\n"
|
||||
" movs r0, 0x1\n"
|
||||
" add r9, r0\n"
|
||||
" subs r1, 0x1\n"
|
||||
" cmp r1, 0\n"
|
||||
" bne _080454B6\n"
|
||||
"_080454C6:\n"
|
||||
" ldr r1, _080454E0\n"
|
||||
" ldr r0, [r1]\n"
|
||||
" movs r2, 0xCD\n"
|
||||
" lsls r2, 3\n"
|
||||
" adds r0, r2\n"
|
||||
" ldrh r2, [r0]\n"
|
||||
" adds r1, r2, 0x1\n"
|
||||
" strh r1, [r0]\n"
|
||||
" strh r2, [r4, 0x26]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" b _080454FE\n"
|
||||
" .align 2, 0\n"
|
||||
"_080454DC: .4byte 0x0000069c\n"
|
||||
"_080454E0: .4byte gDungeon\n"
|
||||
"_080454E4: .4byte 0x0001357c\n"
|
||||
"_080454E8: .4byte 0x00000167\n"
|
||||
"_080454EC: .4byte gUnknown_202EE70\n"
|
||||
"_080454F0:\n"
|
||||
" movs r0, 0x82\n"
|
||||
" lsls r0, 2\n"
|
||||
" adds r7, r0\n"
|
||||
" adds r5, 0x1\n"
|
||||
" cmp r5, 0x3\n"
|
||||
" ble _0804540C\n"
|
||||
"_080454FC:\n"
|
||||
" movs r0, 0\n"
|
||||
"_080454FE:\n"
|
||||
" pop {r3-r5}\n"
|
||||
" mov r8, r3\n"
|
||||
" mov r9, r4\n"
|
||||
" mov r10, r5\n"
|
||||
" pop {r4-r7}\n"
|
||||
" pop {r1}\n"
|
||||
" bx r1"
|
||||
);
|
||||
}
|
||||
|
||||
// Related to sub_8082A08
|
||||
// 91.51% https://decomp.me/scratch/Fp0Kw
|
||||
/*Entity *sub_804550C(s16 a)
|
||||
{
|
||||
s32 something; // r1
|
||||
s32 uVar8; // r2
|
||||
Entity *entity; // r4
|
||||
s32 r5;
|
||||
u8 r6;
|
||||
s32 id; // r8
|
||||
s32 r9;
|
||||
s32 timer; // sp0
|
||||
|
||||
id = a; // SpeciesId() ?
|
||||
r9 = -1;
|
||||
r6 = GetBodySize(id);
|
||||
|
||||
for (r5 = 0; r5 <= DUNGEON_MAX_WILD_POKEMON_BODY_SIZE - r6; r5++) {
|
||||
for (uVar8 = 0; uVar8 < r6; uVar8++) {
|
||||
if (gUnknown_202EE76[r5 + uVar8] != 0)
|
||||
break;
|
||||
}
|
||||
|
||||
if (uVar8 == r6) {
|
||||
r9 = r5;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (r9 != -1) {
|
||||
for (r5 = 0; r5 < DUNGEON_MAX_WILD_POKEMON_BODY_SIZE; r5++) {
|
||||
timer = (r9 * 0x10) + 0xA0;
|
||||
entity = gDungeon->wildPokemon[r5];
|
||||
if (!EntityExists(entity)) {
|
||||
entity->type = ENTITY_MONSTER;
|
||||
entity->unk24 = r5;
|
||||
entity->unk22 = 0;
|
||||
entity->axObj.info = &gDungeon->unkEBC[r5];
|
||||
entity->axObj.info->id = id;
|
||||
entity->axObj.info->apparentID = sub_8069F54(NULL, id);
|
||||
entity->axObj.info->isNotTeamMember = TRUE;
|
||||
|
||||
entity->axObj.spriteFile = GetSpriteData(sub_8069F54(NULL, id));
|
||||
entity->axObj.unk40_maybeAnimTimer = timer;
|
||||
entity->axObj.unk42_animId1 = 7;
|
||||
entity->axObj.unk44_direction1 = 0;
|
||||
entity->axObj.unk43_animId2 = 0xFF;
|
||||
entity->axObj.unk45_orientation = 1;
|
||||
entity->axObj.unk47 = 1;
|
||||
|
||||
entity->unk1C = 0;
|
||||
|
||||
entity->axObj.info->unk167 = r9;
|
||||
entity->axObj.info->unk168 = r6;
|
||||
|
||||
for (something = 0; something < r6; something++) {
|
||||
gUnknown_202EE76[r9] = 1;
|
||||
r9++;
|
||||
}
|
||||
|
||||
sub_8045ACC();
|
||||
|
||||
entity->spawnGenID = gDungeon->unk668++;
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}*/
|
||||
NAKED
|
||||
Entity *sub_804550C(s16 a)
|
||||
{
|
||||
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, 0x8\n"
|
||||
" lsls r0, 16\n"
|
||||
" asrs r0, 16\n"
|
||||
" mov r8, r0\n"
|
||||
" movs r0, 0x1\n"
|
||||
" negs r0, r0\n"
|
||||
" mov r9, r0\n"
|
||||
" mov r0, r8\n"
|
||||
" bl GetBodySize\n"
|
||||
" lsls r0, 24\n"
|
||||
" lsrs r7, r0, 24\n"
|
||||
" movs r5, 0\n"
|
||||
" movs r0, 0x10\n"
|
||||
" subs r3, r0, r7\n"
|
||||
" ldr r4, _08045538\n"
|
||||
" b _0804553E\n"
|
||||
" .align 2, 0\n"
|
||||
"_08045538: .4byte gUnknown_202EE76\n"
|
||||
"_0804553C:\n"
|
||||
" adds r5, 0x1\n"
|
||||
"_0804553E:\n"
|
||||
" cmp r5, r3\n"
|
||||
" bgt _08045560\n"
|
||||
" movs r2, 0\n"
|
||||
" cmp r2, r7\n"
|
||||
" bge _0804555A\n"
|
||||
" adds r1, r5, r4\n"
|
||||
" b _08045554\n"
|
||||
"_0804554C:\n"
|
||||
" adds r1, 0x1\n"
|
||||
" adds r2, 0x1\n"
|
||||
" cmp r2, r7\n"
|
||||
" bge _0804555A\n"
|
||||
"_08045554:\n"
|
||||
" ldrb r0, [r1]\n"
|
||||
" cmp r0, 0\n"
|
||||
" beq _0804554C\n"
|
||||
"_0804555A:\n"
|
||||
" cmp r2, r7\n"
|
||||
" bne _0804553C\n"
|
||||
" mov r9, r5\n"
|
||||
"_08045560:\n"
|
||||
" movs r0, 0x1\n"
|
||||
" negs r0, r0\n"
|
||||
" cmp r9, r0\n"
|
||||
" bne _0804556A\n"
|
||||
" b _08045670\n"
|
||||
"_0804556A:\n"
|
||||
" movs r5, 0\n"
|
||||
" movs r1, 0x1\n"
|
||||
" mov r10, r1\n"
|
||||
" ldr r2, _08045650\n"
|
||||
" mov r3, r9\n"
|
||||
" lsls r0, r3, 4\n"
|
||||
" adds r0, 0xA0\n"
|
||||
" str r0, [sp]\n"
|
||||
"_0804557A:\n"
|
||||
" ldr r1, _08045654\n"
|
||||
" ldr r0, [r1]\n"
|
||||
" lsls r1, r5, 2\n"
|
||||
" ldr r3, _08045658\n"
|
||||
" adds r0, r3\n"
|
||||
" adds r0, r1\n"
|
||||
" ldr r4, [r0]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" str r2, [sp, 0x4]\n"
|
||||
" bl EntityExists\n"
|
||||
" lsls r0, 24\n"
|
||||
" lsrs r6, r0, 24\n"
|
||||
" ldr r2, [sp, 0x4]\n"
|
||||
" cmp r6, 0\n"
|
||||
" bne _08045664\n"
|
||||
" mov r0, r10\n"
|
||||
" str r0, [r4]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" adds r0, 0x24\n"
|
||||
" strb r5, [r0]\n"
|
||||
" subs r0, 0x2\n"
|
||||
" strb r6, [r0]\n"
|
||||
" ldr r1, _08045654\n"
|
||||
" ldr r0, [r1]\n"
|
||||
" adds r0, r2\n"
|
||||
" str r0, [r4, 0x70]\n"
|
||||
" mov r2, r8\n"
|
||||
" strh r2, [r0, 0x2]\n"
|
||||
" movs r0, 0\n"
|
||||
" mov r1, r8\n"
|
||||
" bl GetMonsterApparentID\n"
|
||||
" ldr r1, [r4, 0x70]\n"
|
||||
" strh r0, [r1, 0x4]\n"
|
||||
" ldr r0, [r4, 0x70]\n"
|
||||
" mov r3, r10\n"
|
||||
" strb r3, [r0, 0x6]\n"
|
||||
" movs r0, 0\n"
|
||||
" mov r1, r8\n"
|
||||
" bl GetMonsterApparentID\n"
|
||||
" lsls r0, 16\n"
|
||||
" asrs r0, 16\n"
|
||||
" bl GetSpriteData\n"
|
||||
" str r0, [r4, 0x64]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" adds r0, 0x68\n"
|
||||
" mov r5, sp\n"
|
||||
" ldrh r5, [r5]\n"
|
||||
" strh r5, [r0]\n"
|
||||
" adds r1, r4, 0\n"
|
||||
" adds r1, 0x6A\n"
|
||||
" movs r0, 0x7\n"
|
||||
" strb r0, [r1]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" adds r0, 0x6C\n"
|
||||
" movs r1, 0\n"
|
||||
" strb r1, [r0]\n"
|
||||
" adds r1, r4, 0\n"
|
||||
" adds r1, 0x6B\n"
|
||||
" movs r0, 0xFF\n"
|
||||
" strb r0, [r1]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" adds r0, 0x6D\n"
|
||||
" mov r2, r10\n"
|
||||
" strb r2, [r0]\n"
|
||||
" adds r0, 0x2\n"
|
||||
" strb r2, [r0]\n"
|
||||
" str r6, [r4, 0x1C]\n"
|
||||
" ldr r0, [r4, 0x70]\n"
|
||||
" ldr r3, _0804565C\n"
|
||||
" adds r0, r3\n"
|
||||
" mov r5, r9\n"
|
||||
" strb r5, [r0]\n"
|
||||
" ldr r0, [r4, 0x70]\n"
|
||||
" movs r1, 0xB4\n"
|
||||
" lsls r1, 1\n"
|
||||
" adds r0, r1\n"
|
||||
" strb r7, [r0]\n"
|
||||
" cmp r7, 0\n"
|
||||
" beq _08045636\n"
|
||||
" ldr r3, _08045660\n"
|
||||
" movs r2, 0x1\n"
|
||||
" adds r1, r7, 0\n"
|
||||
"_08045626:\n"
|
||||
" mov r5, r9\n"
|
||||
" adds r0, r5, r3\n"
|
||||
" strb r2, [r0]\n"
|
||||
" movs r0, 0x1\n"
|
||||
" add r9, r0\n"
|
||||
" subs r1, 0x1\n"
|
||||
" cmp r1, 0\n"
|
||||
" bne _08045626\n"
|
||||
"_08045636:\n"
|
||||
" bl sub_8045ACC\n"
|
||||
" ldr r1, _08045654\n"
|
||||
" ldr r0, [r1]\n"
|
||||
" movs r2, 0xCD\n"
|
||||
" lsls r2, 3\n"
|
||||
" adds r0, r2\n"
|
||||
" ldrh r2, [r0]\n"
|
||||
" adds r1, r2, 0x1\n"
|
||||
" strh r1, [r0]\n"
|
||||
" strh r2, [r4, 0x26]\n"
|
||||
" adds r0, r4, 0\n"
|
||||
" b _08045672\n"
|
||||
" .align 2, 0\n"
|
||||
"_08045650: .4byte 0x00000ebc\n"
|
||||
"_08045654: .4byte gDungeon\n"
|
||||
"_08045658: .4byte 0x0001358c\n"
|
||||
"_0804565C: .4byte 0x00000167\n"
|
||||
"_08045660: .4byte gUnknown_202EE76\n"
|
||||
"_08045664:\n"
|
||||
" movs r3, 0x82\n"
|
||||
" lsls r3, 2\n"
|
||||
" adds r2, r3\n"
|
||||
" adds r5, 0x1\n"
|
||||
" cmp r5, 0xF\n"
|
||||
" ble _0804557A\n"
|
||||
"_08045670:\n"
|
||||
" movs r0, 0\n"
|
||||
"_08045672:\n"
|
||||
" add sp, 0x8\n"
|
||||
" pop {r3-r5}\n"
|
||||
" mov r8, r3\n"
|
||||
" mov r9, r4\n"
|
||||
" mov r10, r5\n"
|
||||
" pop {r4-r7}\n"
|
||||
" pop {r1}\n"
|
||||
" bx r1"
|
||||
);
|
||||
}
|
||||
|
||||
Entity *sub_8045684(u8 trapID, Position *pos, u8 c)
|
||||
{
|
||||
Entity *entity;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < DUNGEON_MAX_TRAPS; i++) {
|
||||
entity = gDungeon->traps[i];
|
||||
if (!EntityExists(entity)) {
|
||||
entity->type = ENTITY_TRAP;
|
||||
entity->axObj.info.trap = &gDungeon->unk3908[i];
|
||||
entity->axObj.info.trap->id = trapID;
|
||||
entity->axObj.info.trap->unk1 = c;
|
||||
|
||||
entity->unk1C = 0;
|
||||
entity->unk22 = 0;
|
||||
entity->pos = *pos;
|
||||
entity->spawnGenID = 0;
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Entity *sub_8045708(Position *pos)
|
||||
{
|
||||
s32 i;
|
||||
Entity *ent;
|
||||
|
||||
if (gDungeonWaterType[gDungeon->tileset] == DUNGEON_WATER_TYPE_LAVA
|
||||
&& (GetTileSafe(pos->x, pos->y)->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) == TERRAIN_TYPE_SECONDARY) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for (i = 0; i < DUNGEON_MAX_ITEMS; i++) {
|
||||
ent = gDungeon->items[i];
|
||||
if (!EntityExists(ent)) {
|
||||
ent->type = ENTITY_ITEM;
|
||||
ent->axObj.info.item = &gDungeon->unk3804[i];
|
||||
|
||||
ent->pos = *pos;
|
||||
SetEntityPixelPos(ent, ((pos->x * 24) + 4) * 0x100, ((pos->y * 24) + 4) * 0x100);
|
||||
ent->spawnGenID = 0;
|
||||
ent->unk22 = 0;
|
||||
ent->unk1C = 0;
|
||||
return ent;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void sub_80457DC(Entity* ent)
|
||||
{
|
||||
ent->type = ENTITY_UNK_5;
|
||||
ent->pos.x = 0;
|
||||
ent->pos.y = 0;
|
||||
SetEntityPixelPos(ent, 0, 0);
|
||||
ent->spawnGenID = 0;
|
||||
ent->unk22 = 0;
|
||||
}
|
||||
|
||||
bool8 sub_8045804(Entity *ent)
|
||||
{
|
||||
UnkDungeonGlobal_unk181E8_sub* saveTyping;
|
||||
Entity* camTarget;
|
||||
EntityInfo *monInfo;
|
||||
|
||||
switch (GetEntityType(ent)) {
|
||||
case ENTITY_MONSTER: {
|
||||
if (ent->isVisible) {
|
||||
saveTyping = &gDungeon->unk181e8;
|
||||
camTarget = saveTyping->cameraTarget;
|
||||
monInfo = GetEntInfo(ent);
|
||||
|
||||
if (!monInfo->isNotTeamMember)
|
||||
return TRUE;
|
||||
|
||||
if (!saveTyping->unk1820F && monInfo->transformStatus.transformStatus == STATUS_INVISIBLE)
|
||||
return FALSE;
|
||||
|
||||
if (saveTyping->unk1820B || saveTyping->unk1820D)
|
||||
return TRUE;
|
||||
|
||||
if (camTarget != NULL)
|
||||
return IsPositionActuallyInSight(&saveTyping->cameraPos, &ent->pos);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
/*case ENTITY_TRAP:
|
||||
case ENTITY_ITEM:
|
||||
case ENTITY_UNK_4:*/
|
||||
default: {
|
||||
return TRUE;
|
||||
}
|
||||
case ENTITY_NOTHING:
|
||||
case ENTITY_UNK_5: {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool8 sub_8045888(Entity *ent)
|
||||
{
|
||||
if (ent->isVisible) {
|
||||
s32 x = (ent->pixelPos.x / 256) - gDungeon->unk181e8.cameraPixelPos.x;
|
||||
s32 y = (ent->pixelPos.y / 256) - gDungeon->unk181e8.cameraPixelPos.y;
|
||||
|
||||
if (x >= -32 && y >= -32 && x <= 272 && y <= 192) {
|
||||
UnkDungeonGlobal_unk181E8_sub *saveTyping = &gDungeon->unk181e8;
|
||||
|
||||
switch (GetEntityType(ent)) {
|
||||
case ENTITY_ITEM: {
|
||||
if (!saveTyping->unk1820E && !sub_803F428(&ent->pos))
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
case ENTITY_MONSTER: {
|
||||
EntityInfo *monInfo = GetEntInfo(ent);
|
||||
|
||||
if (monInfo->isNotTeamMember) {
|
||||
if (!gDungeon->unk181e8.unk1820F && monInfo->transformStatus.transformStatus == STATUS_INVISIBLE)
|
||||
return FALSE;
|
||||
|
||||
if (!saveTyping->unk1820D && !sub_803F428(&ent->pos))
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ENTITY_TRAP: {
|
||||
if (!gDungeon->unk181e8.unk1820F && !ent->isVisible)
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
case ENTITY_NOTHING:
|
||||
case ENTITY_UNK_5: {
|
||||
return FALSE;
|
||||
}
|
||||
case ENTITY_UNK_4:
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
#include "global.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_8041AD0.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_8077274_1.h"
|
||||
|
|
@ -85,7 +86,6 @@ extern u8 *gUnknown_80F9BD8[];
|
|||
|
||||
#include "data/code_8048480.h"
|
||||
|
||||
extern void sub_80421C0(Entity *r0, u16 r1);
|
||||
extern void sub_8078B5C(Entity *, Entity *, u32, u32, u32);
|
||||
extern u8 sub_806A538(s32);
|
||||
extern void sub_8051E7C(Entity *pokemon);
|
||||
|
|
@ -687,7 +687,7 @@ void BlastSeedItemAction(Entity *pokemon, Entity * target, u8 param_3)
|
|||
if (param_3 != 0) {
|
||||
entityInfo = GetEntInfo(target);
|
||||
entityInfo_1 = entityInfo;
|
||||
if (gDungeon->unk675 != 0) {
|
||||
if (gDungeon->unk644.unk31 != 0) {
|
||||
uVar1 = gUnknown_80F4FA8;
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FEAE8);
|
||||
}
|
||||
|
|
@ -710,7 +710,7 @@ void BlastSeedItemAction(Entity *pokemon, Entity * target, u8 param_3)
|
|||
else
|
||||
{
|
||||
entityInfo = GetEntInfo(entity);
|
||||
if (gDungeon->unk675 != 0) {
|
||||
if (gDungeon->unk644.unk31 != 0) {
|
||||
uVar1 = gUnknown_80F4FAA;
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FEAE8);
|
||||
}
|
||||
|
|
@ -870,7 +870,7 @@ bool8 sub_8048A68(Entity *param_1,Item *item)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (gDungeon->unk65C == 0) {
|
||||
if (gDungeon->unk644.unk18 == 0) {
|
||||
DisplayDungeonMessage(0,*gUnknown_80F9BD8,1);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include "code_805D8C8.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "pokemon.h"
|
||||
|
||||
// monster_sbin.s
|
||||
extern const struct FileArchive gMonsterFileArchive;
|
||||
|
|
@ -35,14 +36,14 @@ void sub_80687AC(void)
|
|||
|
||||
OpenedFile *GetSpriteData(s16 species)
|
||||
{
|
||||
s32 species32 = species;
|
||||
s32 species32 = SpeciesId(species);
|
||||
return gDungeon->sprites[species32];
|
||||
}
|
||||
|
||||
static void EnsureSpriteLoaded(s32 _id)
|
||||
static void EnsureSpriteLoaded(s32 _id) // TODO: Should this param be s16? If so, the castform part of LoadPokemonSprite is preventing us
|
||||
{
|
||||
u8 name [12];
|
||||
s32 id = (s16)_id;
|
||||
u8 name[12];
|
||||
s32 id = SpeciesId(_id);
|
||||
|
||||
if (gDungeon->sprites[id] == NULL) {
|
||||
sprintf(name, gUnknown_8106EA0, id);
|
||||
|
|
@ -52,20 +53,35 @@ static void EnsureSpriteLoaded(s32 _id)
|
|||
|
||||
void LoadPokemonSprite(s16 id, bool32 a1)
|
||||
{
|
||||
s32 id_s32 = id;
|
||||
s32 id_s32 = SpeciesId(id);
|
||||
bool8 param_2 = a1;
|
||||
|
||||
if (!param_2 &&
|
||||
(id_s32 == MONSTER_DEOXYS_NORMAL || id_s32 == MONSTER_DEOXYS_ATTACK || id_s32 == MONSTER_DEOXYS_DEFENSE || id_s32 == MONSTER_DEOXYS_SPEED)) {
|
||||
if (!param_2 && (id_s32 == MONSTER_DEOXYS_NORMAL || id_s32 == MONSTER_DEOXYS_ATTACK || id_s32 == MONSTER_DEOXYS_DEFENSE || id_s32 == MONSTER_DEOXYS_SPEED)) {
|
||||
EnsureDeoxysLoaded();
|
||||
}
|
||||
else {
|
||||
EnsureSpriteLoaded(id_s32);
|
||||
// >= MONSTER_CASTFORM && <= MONSTER_CASTFORM_RAINY
|
||||
|
||||
if ((u16)(id_s32 - MONSTER_CASTFORM) < 4)
|
||||
EnsureCastformLoaded();
|
||||
}
|
||||
}
|
||||
/*void LoadPokemonSprite(s16 id, bool8 a1)
|
||||
{
|
||||
s32 id_s32 = SpeciesId(id);
|
||||
|
||||
if (!a1 && (id_s32 == MONSTER_DEOXYS_NORMAL || id_s32 == MONSTER_DEOXYS_ATTACK || id_s32 == MONSTER_DEOXYS_DEFENSE || id_s32 == MONSTER_DEOXYS_SPEED)) {
|
||||
EnsureDeoxysLoaded();
|
||||
}
|
||||
else {
|
||||
EnsureSpriteLoaded(id);
|
||||
|
||||
// TODO: >= MONSTER_CASTFORM && <= MONSTER_CASTFORM_RAINY
|
||||
if (id_s32 == MONSTER_CASTFORM || id_s32 == MONSTER_CASTFORM_SNOWY || id_s32 == MONSTER_CASTFORM_SUNNY || id_s32 == MONSTER_CASTFORM_RAINY)
|
||||
//if ((u16)(id_s32 - MONSTER_CASTFORM) < 4)
|
||||
EnsureCastformLoaded();
|
||||
}
|
||||
}*/
|
||||
|
||||
static void EnsureCastformLoaded(void)
|
||||
{
|
||||
|
|
@ -77,7 +93,7 @@ static void EnsureCastformLoaded(void)
|
|||
|
||||
static void EnsureDeoxysLoaded(void)
|
||||
{
|
||||
EnsureSpriteLoaded(gDungeon->unk3800);
|
||||
EnsureSpriteLoaded(gDungeon->deoxysForm);
|
||||
}
|
||||
|
||||
void CloseAllSpriteFiles(void)
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@ void sub_805E738(Entity *a0);
|
|||
void sub_803E708(s32 a0, s32 a1);
|
||||
void sub_8040A78(void);
|
||||
void sub_805E804(void);
|
||||
void sub_8049ED4(void);
|
||||
void sub_8064BE0(void);
|
||||
void sub_8075680(u32);
|
||||
void sub_8094C88(void);
|
||||
|
|
@ -171,7 +170,7 @@ void DungeonHandlePlayerInput(void)
|
|||
return;
|
||||
}
|
||||
|
||||
gDungeon->unk673 = 0;
|
||||
gDungeon->unk644.unk2F = 0;
|
||||
sub_8040A78();
|
||||
if (gDungeon->unk1 != 0) {
|
||||
gDungeon->unk1 = 0;
|
||||
|
|
@ -193,7 +192,7 @@ void DungeonHandlePlayerInput(void)
|
|||
EntityInfo *leaderInfo = GetEntInfo(leader);
|
||||
|
||||
sub_80978C8(leaderInfo->id);
|
||||
if (gDungeon->unk66C != 0) {
|
||||
if (gDungeon->unk644.unk28 != 0) {
|
||||
if (sub_805E874() != 0) {
|
||||
leaderInfo->action.action = 2;
|
||||
leaderInfo->action.unk4[0].actionUseIndex = 0;
|
||||
|
|
@ -248,7 +247,7 @@ void DungeonHandlePlayerInput(void)
|
|||
|
||||
if (gRealInputs.held & A_BUTTON && gRealInputs.held & B_BUTTON && FixedPointToInt(leaderInfo->belly) != 0) {
|
||||
sub_8044C50(1);
|
||||
gDungeon->unk673 = 1;
|
||||
gDungeon->unk644.unk2F = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -259,14 +258,14 @@ void DungeonHandlePlayerInput(void)
|
|||
if (gRealInputs.held & B_BUTTON) {
|
||||
if (FixedPointToInt(leaderInfo->belly) != 0) {
|
||||
sub_8044C50(1);
|
||||
gDungeon->unk673 = 1;
|
||||
gDungeon->unk644.unk2F = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (ShouldMonsterRunAwayAndShowEffect(leader, TRUE)) {
|
||||
TryDisplayDungeonLoggableMessage(leader, gUnknown_80FD4B0);
|
||||
sub_8044C50(1);
|
||||
gDungeon->unk673 = 1;
|
||||
gDungeon->unk644.unk2F = 1;
|
||||
break;
|
||||
}
|
||||
else if (gRealInputs.held & L_BUTTON) {
|
||||
|
|
@ -460,7 +459,7 @@ void DungeonHandlePlayerInput(void)
|
|||
sub_803E46C(0x2F);
|
||||
}
|
||||
|
||||
if (gDungeon->unk66D != 0 && !sInDiagonalMode) {
|
||||
if (gDungeon->unk644.unk29 != 0 && !sInDiagonalMode) {
|
||||
dpadDiagonal = dpadSimple = gRealInputs.pressed;
|
||||
}
|
||||
else {
|
||||
|
|
@ -532,13 +531,13 @@ void DungeonHandlePlayerInput(void)
|
|||
TryDisplayDungeonLoggableMessage(leader, immobilizedMsg);
|
||||
}
|
||||
sub_8044C50(1);
|
||||
gDungeon->unk673 = 1;
|
||||
gDungeon->unk644.unk2F = 1;
|
||||
}
|
||||
else {
|
||||
sub_8044C50(2);
|
||||
if ((gRealInputs.held & B_BUTTON || bPress) && FixedPointToInt(leaderInfo->belly) != 0) {
|
||||
if (GetEntInfo(leader)->volatileStatus.volatileStatus != STATUS_CONFUSED) {
|
||||
gDungeon->unk66C = 1;
|
||||
gDungeon->unk644.unk28 = 1;
|
||||
}
|
||||
leaderInfo->action.unk4[0].actionUseIndex = 0;
|
||||
}
|
||||
|
|
@ -568,7 +567,7 @@ void DungeonHandlePlayerInput(void)
|
|||
sub_8044C50(0);
|
||||
}
|
||||
else if ((r6.a0_8) == 0) {
|
||||
gDungeon->unk66D = 0;
|
||||
gDungeon->unk644.unk29 = 0;
|
||||
if (leaderInfo->action.action != 0) {
|
||||
if (!IsNotAttacking(leader, FALSE)) {
|
||||
sub_803E46C(0xF);
|
||||
|
|
@ -1380,9 +1379,9 @@ void sub_805E738(Entity *a0)
|
|||
|
||||
void sub_805E804(void)
|
||||
{
|
||||
gDungeon->unk66D |= gDungeon->unk66C;
|
||||
gDungeon->unk66C = 0;
|
||||
while (gDungeon->unk66D != 0 && gRealInputs.held & R_BUTTON) {
|
||||
gDungeon->unk644.unk29 |= gDungeon->unk644.unk28;
|
||||
gDungeon->unk644.unk28 = 0;
|
||||
while (gDungeon->unk644.unk29 != 0 && gRealInputs.held & R_BUTTON) {
|
||||
sub_803E46C(0x54);
|
||||
}
|
||||
}
|
||||
|
|
@ -1406,7 +1405,7 @@ bool8 sub_805E874(void)
|
|||
s32 yAdjacent = y + gAdjacentTileOffsets[direction].y;
|
||||
s32 room;
|
||||
|
||||
if (dungeon->unk66C == 0)
|
||||
if (dungeon->unk644.unk28 == 0)
|
||||
return FALSE;
|
||||
if (leaderTile->object != NULL)
|
||||
return FALSE;
|
||||
|
|
@ -1719,11 +1718,11 @@ void sub_805F02C(void)
|
|||
else if (sub_8047084(ITEM_FLAG_IN_SHOP) || sub_807EF48()) {
|
||||
DisplayDungeonLoggableMessageTrue(r7, gUnknown_80F9C08);
|
||||
}
|
||||
else if (gDungeon->unk66E) {
|
||||
else if (gDungeon->unk644.unk2A) {
|
||||
DisplayDungeonLoggableMessageTrue(r7, gUnknown_80F9C2C);
|
||||
}
|
||||
else {
|
||||
gDungeon->unk679 = 0;
|
||||
gDungeon->unk644.unk35 = 0;
|
||||
r8->isTeamLeader = TRUE;
|
||||
leaderInfo->isTeamLeader = FALSE;
|
||||
for (i = 0; i < 4; i++) {
|
||||
|
|
@ -2298,7 +2297,7 @@ typedef struct UnkTextStruct3 {
|
|||
} UnkTextStruct3;
|
||||
|
||||
extern void sub_803ECB4(UnkTextStruct3 *a0, u8 a1);
|
||||
void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 *a4, UnkTextStruct2_sub2 *a5);
|
||||
static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 *a4, UnkTextStruct2_sub2 *a5);
|
||||
|
||||
// Inline needed to (fake?)match.
|
||||
static inline void sub_805FC30_SetUpTxtStruct(UnkTextStruct3 *src)
|
||||
|
|
@ -2661,7 +2660,7 @@ bool8 sub_805FD74(Entity * a0, struct UnkMenuBitsStruct *a1)
|
|||
extern const struct UnkTextStruct2 gUnknown_8106B6C;
|
||||
extern const struct unkStruct_8090F58 gUnknown_8106B60;
|
||||
|
||||
void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 *a4, UnkTextStruct2_sub2 *a5)
|
||||
static void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 *a4, UnkTextStruct2_sub2 *a5)
|
||||
{
|
||||
s32 i, x, y;
|
||||
s32 r10;
|
||||
|
|
@ -2786,8 +2785,9 @@ void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3
|
|||
default: {
|
||||
Entity *chosenTeamMember = gDungeon->teamPokemon[sUnknown_202F248[a0] - MAX_TEAM_MEMBERS];
|
||||
if (EntityExists(chosenTeamMember)) {
|
||||
Item *item = &GetEntInfo(chosenTeamMember)->heldItem;
|
||||
SetMessageArgument_2(gFormatBuffer_Monsters[0], chosenTeamMember->axObj.info, 0);
|
||||
EntityInfo *monInfo = GetEntInfo(chosenTeamMember);
|
||||
Item *item = &monInfo->heldItem;
|
||||
SetMessageArgument_2(gFormatBuffer_Monsters[0], monInfo, 0);
|
||||
PrintFormattedStringOnWindow(x, 0, gUnknown_80FE940, 0, 0);
|
||||
if (item->flags & ITEM_FLAG_EXISTS) {
|
||||
gUnknown_202EE10.unk1A++;
|
||||
|
|
@ -2891,7 +2891,7 @@ void sub_8060900(Entity *a0)
|
|||
sub_8044F5C(9, item->id);
|
||||
if (GetItemCategory(item->id) != CATEGORY_POKE) {
|
||||
bool32 r2 = 0;
|
||||
if (gDungeon->unk65B != 0) {
|
||||
if (gDungeon->unk644.unk17 != 0) {
|
||||
if (gTeamInventoryRef->teamItems[INVENTORY_SIZE - 1].flags & ITEM_FLAG_EXISTS) {
|
||||
r2 = TRUE;
|
||||
}
|
||||
|
|
@ -2905,7 +2905,7 @@ void sub_8060900(Entity *a0)
|
|||
}
|
||||
}
|
||||
}
|
||||
if (sUnknownActionUnk4.actionUseIndex == 128 && gDungeon->unk65B != 0) {
|
||||
if (sUnknownActionUnk4.actionUseIndex == 128 && gDungeon->unk644.unk17 != 0) {
|
||||
sub_8044F5C(10, item->id);
|
||||
}
|
||||
val_sub8044DC8 = sub_8044DC8(item);
|
||||
|
|
@ -2965,7 +2965,7 @@ void sub_8060900(Entity *a0)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (gDungeon->unk65B) {
|
||||
else if (gDungeon->unk644.unk17) {
|
||||
if (gTeamInventoryRef->teamItems[INVENTORY_SIZE - 1].flags & ITEM_FLAG_EXISTS) {
|
||||
sub_8044F5C(0x3E, item->id);
|
||||
}
|
||||
|
|
@ -3026,7 +3026,7 @@ void sub_8060900(Entity *a0)
|
|||
if (GetItemCategory(item->id) == CATEGORY_TMS_HMS) r5 = TRUE;
|
||||
if (GetItemCategory(item->id) == CATEGORY_ORBS) r5 = TRUE;
|
||||
|
||||
if (gDungeon->unk65B) {
|
||||
if (gDungeon->unk644.unk17) {
|
||||
if (r4) {
|
||||
sub_8044F5C(0x3E, item->id);
|
||||
}
|
||||
|
|
@ -3095,7 +3095,7 @@ s32 sub_8060D64(s16 *a0, bool8 a1, bool8 a2, bool8 a3, Entity *a4)
|
|||
s32 i;
|
||||
s32 count = 0;
|
||||
|
||||
if (gDungeon->unk65B && !a1) {
|
||||
if (gDungeon->unk644.unk17 && !a1) {
|
||||
if (gTeamInventoryRef->teamItems[0].flags & ITEM_FLAG_EXISTS) {
|
||||
a0[count++] = 0;
|
||||
}
|
||||
|
|
@ -3161,7 +3161,7 @@ bool8 sub_8060E38(Entity *a0)
|
|||
}
|
||||
}
|
||||
|
||||
if (!gDungeon->unk65B) {
|
||||
if (!gDungeon->unk644.unk17) {
|
||||
var_84.a0[0].unk4 = 3;
|
||||
var_84.a0[0].unk8.unk0.arr[1]++;
|
||||
}
|
||||
|
|
@ -3438,7 +3438,7 @@ void sub_806145C(struct UnkFieldTeamMenuStruct *a0)
|
|||
sub_8044F5C(0x1B, 0);
|
||||
sub_8044F5C(0x19, 0);
|
||||
if (!monInfo->isTeamLeader) {
|
||||
if (!gDungeon->unk65D && (monInfo->joinedAt.joinedAt != DUNGEON_JOIN_LOCATION_PARTNER || gDungeon->unk65C)) {
|
||||
if (!gDungeon->unk644.unk19 && (monInfo->joinedAt.joinedAt != DUNGEON_JOIN_LOCATION_PARTNER || gDungeon->unk644.unk18)) {
|
||||
sub_8044F5C(0x34, 0);
|
||||
}
|
||||
sub_8044F5C(0x1C, 0);
|
||||
|
|
@ -3447,7 +3447,7 @@ void sub_806145C(struct UnkFieldTeamMenuStruct *a0)
|
|||
if (!monInfo->isTeamLeader) {
|
||||
sub_8044F5C(0x1A, 0);
|
||||
}
|
||||
if (!monInfo->isTeamLeader && gDungeon->unk65C && CanLeaderSwitch(gDungeon->dungeonLocation.id)) {
|
||||
if (!monInfo->isTeamLeader && gDungeon->unk644.unk18 && CanLeaderSwitch(gDungeon->unk644.dungeonLocation.id)) {
|
||||
bool32 r5;
|
||||
|
||||
sub_8044F5C(0x3B, 0);
|
||||
|
|
|
|||
|
|
@ -23,12 +23,13 @@
|
|||
|
||||
struct unkStruct_80F520C
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
s16 unk2;
|
||||
u8 unk0; // types0
|
||||
u8 unk1; // Most likely just padding and should be removed
|
||||
s16 unk2; // monsterID
|
||||
};
|
||||
|
||||
extern struct unkStruct_80F520C gUnknown_80F520C[];
|
||||
// Castform Forecast ability data
|
||||
extern struct unkStruct_80F520C gUnknown_80F520C[WEATHER_RANDOM];
|
||||
|
||||
extern u8 gUnknown_80F51E4[];
|
||||
extern u8 *gUnknown_80FCC7C[];
|
||||
|
|
@ -93,17 +94,15 @@ void TriggerWeatherAbilities(void)
|
|||
}
|
||||
}
|
||||
|
||||
s32 sub_8069F54(Entity *pokemon, s16 param_2)
|
||||
s32 GetMonsterApparentID(Entity *pokemon, s16 id)
|
||||
{
|
||||
if ((((param_2 * 0x10000) + 0xfe880000U) >> 0x10) < 4) {
|
||||
if (HasAbility(pokemon, ABILITY_FORECAST)) {
|
||||
return gUnknown_80F520C[GetApparentWeather(pokemon)].unk2;
|
||||
if (id == MONSTER_CASTFORM || id == MONSTER_CASTFORM_SNOWY || id == MONSTER_CASTFORM_SUNNY || id == MONSTER_CASTFORM_RAINY) {
|
||||
if (HasAbility(pokemon, ABILITY_FORECAST))
|
||||
return gUnknown_80F520C[GetApparentWeather(pokemon)].unk2;
|
||||
return MONSTER_CASTFORM;
|
||||
}
|
||||
else {
|
||||
return 0x178;
|
||||
}
|
||||
}
|
||||
return param_2;
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
static inline u8 sub_8069F9C_sub(Entity *pokemon)
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
#include "code_8041AD0.h"
|
||||
#include "type_chart.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "dungeon_map_access.h"
|
||||
|
||||
extern u8 gUnknown_202F221;
|
||||
|
||||
|
|
@ -288,7 +289,6 @@ extern bool8 DoEnemiesEvolveWhenKOed(u8 dungeon);
|
|||
extern bool8 sub_806FA5C(Entity *, Entity *, struct unkStruct_8069D4C *);
|
||||
extern void EntityUpdateStatusSprites(Entity *);
|
||||
extern bool8 sub_8045888(Entity *r0);
|
||||
extern void sub_8049ED4(void);
|
||||
|
||||
extern const s32 gUnknown_8106A4C;
|
||||
extern const s16 gUnknown_80F4E10;
|
||||
|
|
@ -473,11 +473,11 @@ void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *
|
|||
if (r9) {
|
||||
EntityInfo *targetInfo = GetEntInfo(target);
|
||||
if (targetInfo->linked.linkedStatus == STATUS_DESTINY_BOND) {
|
||||
Entity *destBondTarget = gDungeon->allPokemon[targetInfo->linked.unkD8];
|
||||
Entity *destBondTarget = gDungeon->allPokemon[targetInfo->linked.unk8];
|
||||
if (destBondTarget == NULL) {
|
||||
targetInfo->linked.linkedStatus = 0;
|
||||
}
|
||||
else if (GetEntInfo(destBondTarget)->unk98 != targetInfo->linked.unkD4) {
|
||||
else if (GetEntInfo(destBondTarget)->unk98 != targetInfo->linked.unk4) {
|
||||
targetInfo->linked.linkedStatus = 0;
|
||||
}
|
||||
else {
|
||||
|
|
@ -736,7 +736,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
}
|
||||
else {
|
||||
PokemonStruct2 *recruitedMon = &gRecruitedPokemonRef->pokemon2[targetData->teamIndex];
|
||||
if (targetData->isTeamLeader || (targetData->joinedAt.joinedAt == DUNGEON_JOIN_LOCATION_PARTNER && gDungeon->unk65C == 0)) {
|
||||
if (targetData->isTeamLeader || (targetData->joinedAt.joinedAt == DUNGEON_JOIN_LOCATION_PARTNER && gDungeon->unk644.unk18 == 0)) {
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9CEC[r8]);
|
||||
}
|
||||
else if (IsClientOrTeamBase(targetData->joinedAt.joinedAt)) {
|
||||
|
|
@ -746,7 +746,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9DF0[r8]);
|
||||
}
|
||||
else if (sub_806A58C(recruitedMon->unkA)) {
|
||||
if (gDungeon->unk65D != 0) {
|
||||
if (gDungeon->unk644.unk19 != 0) {
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9D8C[r8]);
|
||||
}
|
||||
else {
|
||||
|
|
@ -775,8 +775,8 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
targetData->unk14C = 1;
|
||||
targetData->belly = targetData->maxBelly;
|
||||
if (targetData->isTeamLeader) {
|
||||
gDungeon->unk679 = 0;
|
||||
gDungeon->itemHoldersIdentified = 0;
|
||||
gDungeon->unk644.unk35 = 0;
|
||||
gDungeon->unk644.itemHoldersIdentified = 0;
|
||||
}
|
||||
ZeroOutItem(&targetData->heldItem);
|
||||
if (targetData->waitingStruct.waitingStatus == STATUS_SNATCH) {
|
||||
|
|
@ -832,8 +832,8 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
targetData->unk14C = 1;
|
||||
targetData->belly = targetData->maxBelly;
|
||||
if (targetData->isTeamLeader) {
|
||||
gDungeon->unk679 = 0;
|
||||
gDungeon->itemHoldersIdentified = 0;
|
||||
gDungeon->unk644.unk35 = 0;
|
||||
gDungeon->unk644.itemHoldersIdentified = 0;
|
||||
}
|
||||
ZeroOutItem(heldItem);
|
||||
if (targetData->waitingStruct.waitingStatus == STATUS_SNATCH) {
|
||||
|
|
@ -887,8 +887,8 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
targetData->unk14C = 1;
|
||||
targetData->belly = targetData->maxBelly;
|
||||
if (targetData->isTeamLeader) {
|
||||
gDungeon->unk679 = 0;
|
||||
gDungeon->itemHoldersIdentified = 0;
|
||||
gDungeon->unk644.unk35 = 0;
|
||||
gDungeon->unk644.itemHoldersIdentified = 0;
|
||||
}
|
||||
if (targetData->waitingStruct.waitingStatus == STATUS_SNATCH) {
|
||||
SendWaitingEndMessage(attacker, target, STATUS_SNATCH);
|
||||
|
|
@ -914,7 +914,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
ZeroOutItem(&targetData->heldItem);
|
||||
}
|
||||
if (targetData->bossFlag) {
|
||||
gDungeon->bossSongIndex = 999;
|
||||
gDungeon->unk644.bossSongIndex = 999;
|
||||
}
|
||||
|
||||
// Give exp
|
||||
|
|
@ -956,7 +956,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
}
|
||||
}
|
||||
else {
|
||||
if (DoEnemiesEvolveWhenKOed(gDungeon->dungeonLocation.id)) {
|
||||
if (DoEnemiesEvolveWhenKOed(gDungeon->unk644.dungeonLocation.id)) {
|
||||
attackerData->unk149 = 1;
|
||||
gDungeon->unkD = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,9 +17,11 @@
|
|||
#include "status.h"
|
||||
#include "type_chart.h"
|
||||
#include "dungeon_random.h"
|
||||
#include "code_80450F8.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "dungeon_items.h"
|
||||
#include "structs/str_damage.h"
|
||||
#include "dungeon_util.h"
|
||||
|
||||
void sub_8042940(Entity *r0);
|
||||
void sub_80428B0(Entity *r0);
|
||||
|
|
@ -30,7 +32,6 @@ extern bool8 sub_806E100(struct unkStruct_80943A8 *param_1, Entity *pokemon, Ent
|
|||
extern void sub_8041B74(Entity *pokemon);
|
||||
extern void sub_8041B5C(Entity *pokemon);
|
||||
extern void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *dmgStruct, bool32 isFalseSwipe, bool32 giveExp, s16 arg4, bool32 arg8, s32 argC);
|
||||
extern void sub_80457DC(Entity *);
|
||||
|
||||
extern const s32 gUnknown_80F54B4[NUM_EFFECTIVENESS][NUM_EFFECTIVENESS];
|
||||
extern const s32 gUnknown_80F504C[];
|
||||
|
|
@ -396,7 +397,7 @@ void CalcDamage(Entity *attacker, Entity *target, u8 moveType, s32 movePower, s3
|
|||
}
|
||||
|
||||
// ALSO needed to match. unk694 chosen randomly and it worked with matching.
|
||||
ASM_MATCH_TRICK(gDungeon->unk694);
|
||||
ASM_MATCH_TRICK(gDungeon->unk644.unk50);
|
||||
gDungeon->unk134.unk150 = sub_800A048(&unkSp8);
|
||||
{
|
||||
s32 rnd = DungeonRandInt(0x4000);
|
||||
|
|
|
|||
|
|
@ -198,12 +198,12 @@ bool8 sub_806F660(Entity *pokemon,Entity *target)
|
|||
size = GetBodySize(targetInfo->apparentID);
|
||||
if ((1 < ((u16)(gDungeon->bossBattleIndex - 4))) && (gDungeon->bossBattleIndex != 9) && (gDungeon->bossBattleIndex != 0xf)) {
|
||||
if ((u16)(gDungeon->bossBattleIndex - 0x2cU) < 5) {
|
||||
if (gDungeon->unk65C == 0) {
|
||||
if (gDungeon->unk644.unk18 == 0) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else if (gDungeon->bossBattleIndex == 0x31) {
|
||||
if (gDungeon->fill655[4] == 0) {
|
||||
if (gDungeon->unk644.unk15 == 0) {
|
||||
return FALSE;
|
||||
}
|
||||
if (sub_8097900(0x19e) == 0) {
|
||||
|
|
@ -212,12 +212,12 @@ bool8 sub_806F660(Entity *pokemon,Entity *target)
|
|||
|
||||
}
|
||||
else {
|
||||
if (IsRecruitingEnabled((gDungeon->dungeonLocation).id) == 0) {
|
||||
if (IsRecruitingEnabled((gDungeon->unk644.dungeonLocation).id) == 0) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (gDungeon->unk65D == 0)
|
||||
if (gDungeon->unk644.unk19 == 0)
|
||||
{
|
||||
if (((
|
||||
(2 < (u16)(targetInfo->id - 0x90)) &&
|
||||
|
|
@ -689,8 +689,8 @@ bool8 sub_806F9BC(s16 species)
|
|||
unkStruct_8092638 auStack_18;
|
||||
|
||||
id = species;
|
||||
if (((gDungeon->unk658 == 0) || (sub_808529C(id) == 0)) ||
|
||||
((id == MONSTER_MEW && (gDungeon->unk678 == 1)))) {
|
||||
if (((gDungeon->unk644.unk14 == 0) || (sub_808529C(id) == 0)) ||
|
||||
((id == MONSTER_MEW && (gDungeon->unk644.unk34 == 1)))) {
|
||||
return FALSE;
|
||||
}
|
||||
else if (id == MONSTER_LATIAS)
|
||||
|
|
@ -779,7 +779,7 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa
|
|||
pokeStruct2->unkA = -1;
|
||||
pokeStruct2->unkC = pokeIndex;
|
||||
pokeStruct2->speciesNum = param_3->id;
|
||||
(pokeStruct2->dungeonLocation) = gDungeon->dungeonLocation;
|
||||
(pokeStruct2->dungeonLocation) = gDungeon->unk644.dungeonLocation;
|
||||
pokeStruct2->unk10 = param_3->HP;
|
||||
pokeStruct2->unk12 = param_3->HP;
|
||||
pokeStruct2->belly = param_3->belly;
|
||||
|
|
@ -797,7 +797,7 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa
|
|||
pokeStruct2->itemSlot = param_3->heldItem;
|
||||
BoundedCopyStringtoBuffer(pokeStruct2->name,GetMonSpecies(param_3->id),10);
|
||||
|
||||
sub_8097848();
|
||||
IncrementAdventureNumJoined();
|
||||
|
||||
if (sub_806B8CC(param_3->id,param_3->pos.x,param_3->pos.y,pokeStruct2,&local_2c,0,1) == 0) {
|
||||
TryDisplayDungeonLoggableMessage(entity1,*gUnknown_80FA058);
|
||||
|
|
@ -1039,7 +1039,7 @@ bool8 sub_806FDF4(Entity *entity1,Entity *entity2,Entity **entityPtr)
|
|||
pokeStruct2->unkA = -1;
|
||||
pokeStruct2->unkC = index;
|
||||
pokeStruct2->speciesNum = local_74.id;
|
||||
pokeStruct2->dungeonLocation = gDungeon->dungeonLocation;
|
||||
pokeStruct2->dungeonLocation = gDungeon->unk644.dungeonLocation;
|
||||
pokeStruct2->unk10 = local_74.HP;
|
||||
pokeStruct2->unk12 = local_74.HP;
|
||||
pokeStruct2->belly = local_74.belly;
|
||||
|
|
@ -1061,7 +1061,7 @@ bool8 sub_806FDF4(Entity *entity1,Entity *entity2,Entity **entityPtr)
|
|||
UnlockFriendArea(friendArea);
|
||||
flag = TRUE;
|
||||
}
|
||||
sub_8097848();
|
||||
IncrementAdventureNumJoined();
|
||||
sub_8068FE0(entity2,500,entity1);
|
||||
if (sub_806B8CC(local_74.id,local_74.pos.x,local_74.pos.y,pokeStruct2,&local_2c,0,0) == 0) {
|
||||
pokeStruct2->unk0 = 0;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_leader.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_8041AD0.h"
|
||||
#include "code_80450F8.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_8077274_1.h"
|
||||
#include "constants/dungeon.h"
|
||||
|
|
@ -50,7 +52,6 @@ extern u8 *gUnknown_80FF730[];
|
|||
extern u8 gUnknown_8107010[8];
|
||||
extern u8 *gUnknown_8107018[3];
|
||||
|
||||
extern void sub_80421C0(Entity *pokemon, u16 r1);
|
||||
void sub_8083D58(void);
|
||||
void sub_8072778(Entity *, Entity *, u8, u8);
|
||||
bool8 sub_80725A4(Entity *, Entity *);
|
||||
|
|
@ -82,21 +83,21 @@ void sub_8071B48(void)
|
|||
|
||||
entityPtr = NULL;
|
||||
dungeon = gDungeon;
|
||||
if ((dungeon->unk664 != 0) &&
|
||||
((dungeon->dungeonLocation.id != DUNGEON_METEOR_CAVE || (dungeon->unk37FD == 0)))) {
|
||||
dungeon->unk662++;
|
||||
if (dungeon->unk66E == 0) {
|
||||
if ( dungeon->unk662 < gUnknown_80F4DAA) {
|
||||
if ((dungeon->unk644.unk20 != 0) &&
|
||||
((dungeon->unk644.dungeonLocation.id != DUNGEON_METEOR_CAVE || (dungeon->unk37FD == 0)))) {
|
||||
dungeon->unk644.unk1E++;
|
||||
if (dungeon->unk644.unk2A == 0) {
|
||||
if ( dungeon->unk644.unk1E < gUnknown_80F4DAA) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( dungeon->unk662 < gUnknown_80F4DAC) {
|
||||
if ( dungeon->unk644.unk1E < gUnknown_80F4DAC) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (dungeon->unk662 > 900) {
|
||||
if (dungeon->unk644.unk1E > 900) {
|
||||
entity2 = dungeon->unk17B34;
|
||||
if ((EntityExists(entity2)) && (entity2->spawnGenID == dungeon->unk17B40)) {
|
||||
SetMessageArgument(gFormatBuffer_Monsters[0],entity2,0);
|
||||
|
|
@ -104,7 +105,7 @@ void sub_8071B48(void)
|
|||
}
|
||||
}
|
||||
|
||||
dungeon->unk662 = 0;
|
||||
dungeon->unk644.unk1E = 0;
|
||||
dungeon->unk17B34 = NULL;
|
||||
|
||||
counter = 0;
|
||||
|
|
@ -117,7 +118,7 @@ void sub_8071B48(void)
|
|||
counter++;
|
||||
}
|
||||
}
|
||||
if (dungeon->unk66E == 0) {
|
||||
if (dungeon->unk644.unk2A == 0) {
|
||||
if (gDungeon->unk3A0C == 0xff) {
|
||||
if (counter >= gUnknown_80F4DA6) {
|
||||
return;
|
||||
|
|
@ -135,7 +136,7 @@ void sub_8071B48(void)
|
|||
DisplayDungeonLoggableMessageTrue(0,*gUnknown_80FED68);
|
||||
sub_8042920(entityPtr);
|
||||
}
|
||||
if (dungeon->unk66E != 0) {
|
||||
if (dungeon->unk644.unk2A != 0) {
|
||||
index1 = 0x17c;
|
||||
}
|
||||
else {
|
||||
|
|
@ -150,7 +151,7 @@ void sub_8071B48(void)
|
|||
local_2c.species = index1;
|
||||
local_2c.level = level;
|
||||
local_2c.unk2 = 0;
|
||||
if(DungeonRandInt(100) < GetRandomMovementChance(gDungeon->dungeonLocation.id))
|
||||
if(DungeonRandInt(100) < GetRandomMovementChance(gDungeon->unk644.dungeonLocation.id))
|
||||
{
|
||||
local_2c.unk4 = 1;
|
||||
}
|
||||
|
|
@ -586,7 +587,7 @@ void sub_807218C(Entity *pokemon)
|
|||
}
|
||||
else if(info->joinedAt.joinedAt == DUNGEON_JOIN_LOCATION_PARTNER)
|
||||
{
|
||||
if(gDungeon->unk65C == 0)
|
||||
if(gDungeon->unk644.unk18 == 0)
|
||||
r3 = 1;
|
||||
}
|
||||
sub_806A3D4(buffer, r1, 3, r3);
|
||||
|
|
|
|||
|
|
@ -2,9 +2,10 @@
|
|||
#include "code_805D8C8.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "dungeon_movement.h"
|
||||
#include "dungeon_random.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "moves.h"
|
||||
#include "pokemon_mid.h"
|
||||
#include "pokemon_mid.h"
|
||||
|
|
@ -13,7 +14,6 @@
|
|||
#include "structs/map.h"
|
||||
#include "structs/str_pokemon.h"
|
||||
|
||||
extern Position gAdjacentTileOffsets[];
|
||||
extern u8 *gUnknown_80FE2EC[];
|
||||
|
||||
struct unkStruct_806B7F8
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ void sub_8073D14(Entity *entity)
|
|||
Item *carriedItems[INVENTORY_SIZE + 1]; // plus held
|
||||
s32 newQuantity;
|
||||
|
||||
if (gDungeon->unk65B && !_entityInfo->isNotTeamMember) {
|
||||
if (gDungeon->unk644.unk17 && !_entityInfo->isNotTeamMember) {
|
||||
for (i = 0; i < INVENTORY_SIZE; i++) {
|
||||
carriedItems[i] = &gTeamInventoryRef->teamItems[i];
|
||||
inventoryIds[i] = i;
|
||||
|
|
@ -361,13 +361,13 @@ void sub_8074094(Entity *entity)
|
|||
UseAttack(NULL);
|
||||
if (!EntityExists(entity) || sub_8044B28())
|
||||
return;
|
||||
if (gDungeon->unk679 < 10)
|
||||
gDungeon->unk679++;
|
||||
if (gDungeon->unk679 == 1)
|
||||
if (gDungeon->unk644.unk35 < 10)
|
||||
gDungeon->unk644.unk35++;
|
||||
if (gDungeon->unk644.unk35 == 1)
|
||||
str = gUnknown_80FD5DC;
|
||||
if (gDungeon->unk679 == 2)
|
||||
if (gDungeon->unk644.unk35 == 2)
|
||||
str = gUnknown_80FD608, sound = FALSE;
|
||||
if (gDungeon->unk679 == 3)
|
||||
if (gDungeon->unk644.unk35 == 3)
|
||||
str = gUnknown_80FD628, sound = FALSE;
|
||||
|
||||
TrySendImmobilizeSleepEndMsg(entity, entity);
|
||||
|
|
@ -377,7 +377,7 @@ void sub_8074094(Entity *entity)
|
|||
str = NULL;
|
||||
}
|
||||
else {
|
||||
gDungeon->unk679 = 0;
|
||||
gDungeon->unk644.unk35 = 0;
|
||||
}
|
||||
|
||||
if (str != NULL) {
|
||||
|
|
@ -529,7 +529,7 @@ void sub_8074094(Entity *entity)
|
|||
if (entityInfo->linked.linkedStatus == STATUS_LEECH_SEED) {
|
||||
if (entityInfo->linked.linkedStatusDamageCountdown == 0 || --entityInfo->linked.linkedStatusDamageCountdown == 0) {
|
||||
s32 hp = gUnknown_80F4FB4;
|
||||
Entity *target = gDungeon->allPokemon[entityInfo->linked.unkD8];
|
||||
Entity *target = gDungeon->allPokemon[entityInfo->linked.unk8];
|
||||
|
||||
entityInfo->linked.linkedStatusDamageCountdown = gUnknown_80F4F40;
|
||||
if (target == NULL) {
|
||||
|
|
@ -537,7 +537,7 @@ void sub_8074094(Entity *entity)
|
|||
}
|
||||
else {
|
||||
EntityInfo *targetInfo = GetEntInfo(target);
|
||||
if (targetInfo->unk98 != entityInfo->linked.unkD4) {
|
||||
if (targetInfo->unk98 != entityInfo->linked.unk4) {
|
||||
entityInfo->linked.linkedStatus = 0;
|
||||
}
|
||||
else {
|
||||
|
|
@ -930,7 +930,7 @@ bool8 UseAttack(Entity *a0)
|
|||
|
||||
savedEntityPtr = gDungeon->unkB8;
|
||||
gDungeon->unkB8 = a0;
|
||||
if (gDungeon->unk66C == 0 && r9) {
|
||||
if (gDungeon->unk644.unk28 == 0 && r9) {
|
||||
sub_80526D0(0x35);
|
||||
for (loop = 0; loop < 24 / gUnknown_202F378; loop++) {
|
||||
sub_803E46C(7);
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@
|
|||
#include "position_util.h"
|
||||
#include "trap.h"
|
||||
|
||||
extern void sub_8049ED4(void);
|
||||
extern void sub_8073D14(Entity *);
|
||||
|
||||
void sub_8075680(void)
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include "status_checks_1.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_map_access.h"
|
||||
|
||||
extern u8 *gUnknown_80FA8BC[];
|
||||
extern u8 *gUnknown_80FA824[];
|
||||
|
|
@ -165,12 +166,11 @@ extern s16 gUnknown_80F4F1C[];
|
|||
extern u8 *gUnknown_80FBF68[];
|
||||
extern u8 *gUnknown_80FBF84[];
|
||||
|
||||
extern void sub_8049ED4();
|
||||
extern void sub_8040A84();
|
||||
extern void EntityUpdateStatusSprites(Entity *);
|
||||
extern void sub_8042A74(Entity *r0);
|
||||
extern void sub_807EC28(bool8);
|
||||
extern s32 sub_8069F54(Entity *param_1, s16 param_2);
|
||||
extern s32 GetMonsterApparentID(Entity *param_1, s16 param_2);
|
||||
extern void sub_806A898(Entity *, u32, u32);
|
||||
extern void HealTargetHP(Entity *pokemon, Entity *r1, s16, s16, u32);
|
||||
extern void DealDamageToEntity(Entity *, s16, u32, u32);
|
||||
|
|
@ -260,7 +260,7 @@ void TransformStatusTarget(Entity * pokemon, Entity * target)
|
|||
|
||||
for (index = 0; index < DUNGEON_MAX_POKEMON; index++) {
|
||||
species = ExtractSpeciesIndex(&auStack544[DungeonRandInt(iVar5) * 2]);
|
||||
apparentID_s16 = sub_8069F54(target, species);
|
||||
apparentID_s16 = GetMonsterApparentID(target, species);
|
||||
apparentID = apparentID_s16;
|
||||
|
||||
if (apparentID != entityInfo->apparentID && sub_806AA0C(apparentID, 1)) {
|
||||
|
|
@ -365,9 +365,9 @@ void IdentityItemHolders(Entity *pokemon, Entity *target)
|
|||
|
||||
if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon, target, TRUE))) {
|
||||
entityInfo = GetEntInfo(target);
|
||||
if (!gDungeon->itemHoldersIdentified) {
|
||||
if (!gDungeon->unk644.itemHoldersIdentified) {
|
||||
nullsub_89(target);
|
||||
gDungeon->itemHoldersIdentified = TRUE;
|
||||
gDungeon->unk644.itemHoldersIdentified = TRUE;
|
||||
EntityUpdateStatusSprites(target);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC028);
|
||||
}
|
||||
|
|
@ -1427,7 +1427,7 @@ void SendLinkedEndMessage(Entity * pokemon, Entity * target)
|
|||
break;
|
||||
}
|
||||
entityInfo->linked.linkedStatus = STATUS_NONE;
|
||||
entityInfo->linked.unkD8 = 0xff;
|
||||
entityInfo->linked.unk8 = 0xff;
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
}
|
||||
|
|
@ -1486,7 +1486,7 @@ void SendTransformEndMessage(Entity * pokemon, Entity *target)
|
|||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FABBC);
|
||||
break;
|
||||
case STATUS_TRANSFORMED:
|
||||
entityInfo->apparentID = sub_8069F54(target, entityInfo->id);
|
||||
entityInfo->apparentID = GetMonsterApparentID(target, entityInfo->id);
|
||||
target->axObj.spriteFile = GetSpriteData(entityInfo->apparentID);
|
||||
uVar3 = sub_806CEBC(target);
|
||||
sub_806CCB4(target,uVar3);
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
#include "move_effects_target.h"
|
||||
#include "moves.h"
|
||||
#include "move_util.h"
|
||||
#include "code_8041AD0.h"
|
||||
|
||||
extern u32 gUnknown_202EDCC;
|
||||
|
||||
|
|
@ -38,7 +39,6 @@ bool8 ExposeTrap(s32 x, s32 y);
|
|||
void sub_8040A84();
|
||||
void sub_8049ED4();
|
||||
void sub_806A5B8(Entity *);
|
||||
void sub_80421C0(Entity *, u32);
|
||||
u8 sub_8045888(Entity *);
|
||||
void sub_807EC28(u32);
|
||||
void sub_80694C0(Entity *, s32, s32, s32);
|
||||
|
|
|
|||
|
|
@ -123,56 +123,56 @@ void sub_807E378(void)
|
|||
leader = GetLeader();
|
||||
if (EntityExists(leader)) {
|
||||
|
||||
uVar2 = gDungeon->windTurns;
|
||||
if ((gDungeon->windTurns < 1) ||
|
||||
(gDungeon->windTurns--, ((uVar2 - 1) << 0x10) < 1)) {
|
||||
gDungeon->unk67A = 3;
|
||||
uVar2 = gDungeon->unk644.windTurns;
|
||||
if ((gDungeon->unk644.windTurns < 1) ||
|
||||
(gDungeon->unk644.windTurns--, ((uVar2 - 1) << 0x10) < 1)) {
|
||||
gDungeon->unk644.unk36 = 3;
|
||||
}
|
||||
|
||||
if (gDungeon->unk67A == 0) {
|
||||
if (gDungeon->windTurns < 0xfa) {
|
||||
if (gDungeon->unk644.unk36 == 0) {
|
||||
if (gDungeon->unk644.windTurns < 0xfa) {
|
||||
sub_805E804();
|
||||
sub_806A2BC(leader,1);
|
||||
UseAttack(leader);
|
||||
if (sub_8044B28() == 0) {
|
||||
TryDisplayDungeonLoggableMessage(leader,*gUnknown_80F9C4C);
|
||||
sub_80426C8(gUnknown_80F5FAC[gDungeon->tileset],0);
|
||||
gDungeon->unk67A = 1;
|
||||
gDungeon->unk644.unk36 = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (gDungeon->unk67A == 1) {
|
||||
if (gDungeon->windTurns < 0x96) {
|
||||
else if (gDungeon->unk644.unk36 == 1) {
|
||||
if (gDungeon->unk644.windTurns < 0x96) {
|
||||
sub_805E804();
|
||||
sub_806A2BC(leader,1);
|
||||
UseAttack(leader);
|
||||
if (sub_8044B28() == 0) {
|
||||
TryDisplayDungeonLoggableMessage(leader,*gUnknown_80F9C70);
|
||||
sub_80426C8(gUnknown_80F5FAC[gDungeon->tileset],1);
|
||||
gDungeon->unk67A = 2;
|
||||
gDungeon->unk644.unk36 = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (gDungeon->unk67A == 2) {
|
||||
if (gDungeon->windTurns < 0x32) {
|
||||
else if (gDungeon->unk644.unk36 == 2) {
|
||||
if (gDungeon->unk644.windTurns < 0x32) {
|
||||
sub_805E804();
|
||||
sub_806A2BC(leader,1);
|
||||
UseAttack(leader);
|
||||
if (sub_8044B28() == 0) {
|
||||
TryDisplayDungeonLoggableMessage(leader,*gUnknown_80F9C8C);
|
||||
sub_80426C8(gUnknown_80F5FAC[gDungeon->tileset],2);
|
||||
gDungeon->unk67A = 3;
|
||||
gDungeon->unk644.unk36 = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (gDungeon->windTurns < 1) {
|
||||
else if (gDungeon->unk644.windTurns < 1) {
|
||||
sub_805E804();
|
||||
sub_806A2BC(leader,1);
|
||||
UseAttack(leader);
|
||||
if (sub_8044B28() == 0) {
|
||||
TryDisplayDungeonLoggableMessage(leader,*gUnknown_80F9CBC);
|
||||
sub_80426C8(gUnknown_80F5FAC[gDungeon->tileset],3);
|
||||
gDungeon->unk67A = 4;
|
||||
gDungeon->unk644.unk36 = 4;
|
||||
sub_8068FE0(leader,0x21e,leader);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,511 +0,0 @@
|
|||
#include "global.h"
|
||||
#include "constants/dungeon_action.h"
|
||||
#include "code_805D8C8.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_8092334.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "structs/str_position.h"
|
||||
|
||||
|
||||
u16 sub_8083158(unkStruct_8094924 *param_1);
|
||||
s16 sub_8083170(unkStruct_8094924 *param_1);
|
||||
u8 sub_8083188(unkStruct_8094924 *param_1);
|
||||
u32 sub_80831A0(unkStruct_8094924 *param_1);
|
||||
bool8 sub_80831DC(unkStruct_8094924 *param_1);
|
||||
void sub_8082FE0(unkStruct_8094924 *param_1, u8 *param_2, s32 size);
|
||||
void sub_80831F8(unkStruct_8094924 *param_1,Position *param_2);
|
||||
|
||||
void AddPokemonDungeonSprite(u32, s16, Position *, u32);
|
||||
|
||||
void sub_8082B40(void)
|
||||
{
|
||||
EntityInfo *info;
|
||||
Entity *entity;
|
||||
int index;
|
||||
Position pos;
|
||||
|
||||
for(index = 0; index < DUNGEON_MAX_POKEMON; index++)
|
||||
{
|
||||
entity = gDungeon->allPokemon[index];
|
||||
if (EntityExists(entity)) {
|
||||
info = GetEntInfo(entity);
|
||||
entity->axObj.spriteFile = GetSpriteData(info->apparentID);
|
||||
sub_806CCB4(entity,sub_806CEBC(entity));
|
||||
pos = entity->pos;
|
||||
AddPokemonDungeonSprite(info->unk98,info->apparentID,&pos,3);
|
||||
entity->room = GetTileSafe(entity->pos.x,entity->pos.y)->room;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s16 sub_8082BC0(unkStruct_8094924 *param_1)
|
||||
{
|
||||
s16 temp[2];
|
||||
|
||||
temp[0] = 0;
|
||||
|
||||
sub_8082FE0(param_1, (u8 *)temp, 2);
|
||||
return temp[0];
|
||||
}
|
||||
|
||||
|
||||
u8 sub_8082BE0(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 temp[4];
|
||||
|
||||
temp[0] = 0;
|
||||
|
||||
sub_8082FE0(param_1, temp, 1);
|
||||
return temp[0];
|
||||
}
|
||||
|
||||
|
||||
u8 sub_8082BFC(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 temp[4];
|
||||
|
||||
temp[0] = 0;
|
||||
|
||||
sub_8082FE0(param_1, temp, 1);
|
||||
return temp[0];
|
||||
}
|
||||
|
||||
u8 sub_8082C18(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 temp[4];
|
||||
|
||||
temp[0] = 0;
|
||||
|
||||
sub_8082FE0(param_1, temp, 1);
|
||||
return temp[0];
|
||||
}
|
||||
|
||||
u8 sub_8082C34(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 temp[4];
|
||||
|
||||
temp[0] = 0;
|
||||
|
||||
sub_8082FE0(param_1, temp, 1);
|
||||
return temp[0];
|
||||
}
|
||||
|
||||
u8 sub_8082C50(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 temp[4];
|
||||
|
||||
temp[0] = 0;
|
||||
|
||||
sub_8082FE0(param_1, temp, 1);
|
||||
return temp[0];
|
||||
}
|
||||
|
||||
u32 sub_8082C6C(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u32 temp;
|
||||
|
||||
temp = 0;
|
||||
|
||||
sub_8082FE0(param_1, (u8 *)&temp, 4);
|
||||
return temp;
|
||||
}
|
||||
|
||||
u8 sub_8082C84(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 temp[4];
|
||||
|
||||
temp[0] = 0;
|
||||
|
||||
sub_8082FE0(param_1, temp, 1);
|
||||
return temp[0];
|
||||
}
|
||||
|
||||
u8 sub_8082CA0(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 temp[4];
|
||||
|
||||
temp[0] = 0;
|
||||
|
||||
sub_8082FE0(param_1, temp, 1);
|
||||
return temp[0];
|
||||
}
|
||||
|
||||
void sub_8082CBC(unkStruct_8094924 *param_1, ActionContainer *action)
|
||||
{
|
||||
action->action = ACTION_NOTHING;
|
||||
sub_8082FE0(param_1, &action->direction, 1);
|
||||
action->fill3 = 7;
|
||||
sub_80831F8(param_1, &action->itemTargetPosition);
|
||||
}
|
||||
|
||||
void sub_8082CE4(unkStruct_8094924 *param_1, AITarget *aitarget)
|
||||
{
|
||||
sub_8082FE0(param_1, (u8 *)&aitarget->aiObjective, 1);
|
||||
aitarget->aiNotNextToTarget = sub_80831DC(param_1);
|
||||
aitarget->aiTargetingEnemy = sub_80831DC(param_1);
|
||||
aitarget->aiTurningAround = sub_80831DC(param_1);
|
||||
aitarget->aiTargetSpawnGenID = sub_8083158(param_1);
|
||||
aitarget->aiTarget = NULL;
|
||||
aitarget->unkC = 0;
|
||||
sub_80831F8(param_1, &aitarget->aiTargetPos);
|
||||
}
|
||||
|
||||
void sub_8082D28(unkStruct_8094924 *param_1, u8 *param_2)
|
||||
{
|
||||
sub_8082FE0(param_1, param_2, 3);
|
||||
}
|
||||
|
||||
void sub_8082D34(unkStruct_8094924 *param_1, Sleep *sleep)
|
||||
{
|
||||
sub_8082FE0(param_1, &sleep->sleep, 1);
|
||||
sleep->sleepTurns = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082D50(unkStruct_8094924 *param_1, NonVolatile *nonvoltaile)
|
||||
{
|
||||
sub_8082FE0(param_1, &nonvoltaile->nonVolatileStatus, 1);
|
||||
nonvoltaile->nonVolatileStatusTurns = sub_8083188(param_1);
|
||||
nonvoltaile->nonVolatileStatusDamageCountdown = sub_8083188(param_1);
|
||||
nonvoltaile->unk4 = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082D7C(unkStruct_8094924 *param_1, Immobilize *immobilze)
|
||||
{
|
||||
sub_8082FE0(param_1, &immobilze->immobilizeStatus, 1);
|
||||
immobilze->immobilizeStatusTurns = sub_8083188(param_1);
|
||||
immobilze->immobilizeStatusDamageCountdown = sub_8083188(param_1);
|
||||
immobilze->unk4 = sub_80831A0(param_1);
|
||||
}
|
||||
|
||||
void sub_8082DA8(unkStruct_8094924 *param_1, Volatile *volatileStatus)
|
||||
{
|
||||
sub_8082FE0(param_1, &volatileStatus->volatileStatus, 1);
|
||||
volatileStatus->volatileStatusTurns = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082DC4(unkStruct_8094924 *param_1, Charging *charging)
|
||||
{
|
||||
sub_8082FE0(param_1, &charging->chargingStatus, 1);
|
||||
charging->chargingStatusTurns = sub_8083188(param_1);
|
||||
charging->chargingStatusMoveIndex = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082DE8(unkStruct_8094924 *param_1, Protection *protect)
|
||||
{
|
||||
sub_8082FE0(param_1, &protect->protectionStatus, 1);
|
||||
protect->protectionStatusTurns = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082E04(unkStruct_8094924 *param_1, Waiting *waiting)
|
||||
{
|
||||
sub_8082FE0(param_1, &waiting->waitingStatus, 1);
|
||||
waiting->enemyDecoy = sub_80831DC(param_1);
|
||||
waiting->unkCA = sub_80831DC(param_1);
|
||||
waiting->waitingStatusTurns = sub_8083188(param_1);
|
||||
waiting->curseDamageCountdown = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082E38(unkStruct_8094924 *param_1, Linked *linked)
|
||||
{
|
||||
sub_8082FE0(param_1, &linked->linkedStatus, 1);
|
||||
linked->unkD4 = sub_80831A0(param_1);
|
||||
linked->unkD8 = sub_8083188(param_1);
|
||||
linked->linkedStatusTurns = sub_8083188(param_1);
|
||||
linked->linkedStatusDamageCountdown = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082E6C(unkStruct_8094924 *param_1, MoveStatus *moveStatus)
|
||||
{
|
||||
sub_8082FE0(param_1, &moveStatus->moveStatus, 1);
|
||||
moveStatus->moveStatusTurns = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082E88(unkStruct_8094924 *param_1, u8 *param_2, s32 size)
|
||||
{
|
||||
sub_8082FE0(param_1, param_2, 1);
|
||||
}
|
||||
|
||||
void sub_8082E94(unkStruct_8094924 *param_1, TransformStatus *transform)
|
||||
{
|
||||
sub_8082FE0(param_1, &transform->transformStatus, 1);
|
||||
transform->transformStatusTurns = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082EB0(unkStruct_8094924 *param_1, EyesightStatus *eyesight)
|
||||
{
|
||||
sub_8082FE0(param_1, &eyesight->eyesightStatus, 1);
|
||||
eyesight->eyesightStatusTurns = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082ECC(unkStruct_8094924 *param_1, Muzzled *muzzle)
|
||||
{
|
||||
sub_8082FE0(param_1, (u8 *)&muzzle->muzzled, 1);
|
||||
muzzle->muzzledTurns = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void RestoreDungeonPokemonMove(unkStruct_8094924 *param_1, Move *move)
|
||||
{
|
||||
move->moveFlags = sub_8083188(param_1);
|
||||
move->moveFlags2 = sub_8083188(param_1);
|
||||
sub_8082FE0(param_1, (u8 *)&move->id, 2);
|
||||
move->PP = sub_8083188(param_1);
|
||||
move->ginseng = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082F1C(unkStruct_8094924 *param_1,Move *moves)
|
||||
{
|
||||
s32 index;
|
||||
Move *move;
|
||||
for(index = 0; index < MAX_MON_MOVES; index++)
|
||||
{
|
||||
move = &moves[index];
|
||||
RestoreDungeonPokemonMove(param_1, move);
|
||||
}
|
||||
*(u8 *)(moves + 4) = sub_8083188(param_1); // TODO: struggleMoveFlags again
|
||||
}
|
||||
|
||||
|
||||
void sub_8082F48(unkStruct_8094924 *param_1, u16 *r1)
|
||||
{
|
||||
r1[0] = sub_8083170(param_1);
|
||||
r1[1] = sub_8083170(param_1);
|
||||
}
|
||||
|
||||
void sub_8082F64(unkStruct_8094924 *param_1, JoinedAt *joined)
|
||||
{
|
||||
joined->joinedAt = sub_8083188(param_1);
|
||||
joined->unk1 = sub_8083188(param_1);
|
||||
}
|
||||
|
||||
void sub_8082F80(unkStruct_8094924 *param_1, HiddenPower *hidden)
|
||||
{
|
||||
hidden->hiddenPowerBasePower = sub_8083170(param_1);
|
||||
hidden->hiddenPowerType = sub_8082BFC(param_1);
|
||||
}
|
||||
|
||||
void sub_8082F9C(unkStruct_8094924 *param_1, u8 *r1, u32 r2)
|
||||
{
|
||||
param_1->unk0 = r1;
|
||||
param_1->unk8 = 0;
|
||||
param_1->unk4 = r1 + r2;
|
||||
}
|
||||
|
||||
void sub_8082FA8(unkStruct_8094924 *param_1, u8 *param_2, s32 size)
|
||||
{
|
||||
while (size != 0) {
|
||||
*(param_1->unk0) = *param_2;
|
||||
param_1->unk0++;
|
||||
param_2++;
|
||||
size--;
|
||||
param_1->unk8++;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8082FD4(unkStruct_8094924 *param_1, u8 *r1, u32 r2)
|
||||
{
|
||||
param_1->unk0 = r1;
|
||||
param_1->unk8 = 0;
|
||||
param_1->unk4 = r1 + r2;
|
||||
}
|
||||
|
||||
void sub_8082FE0(unkStruct_8094924 *param_1, u8 *param_2, s32 size)
|
||||
{
|
||||
while (size != 0) {
|
||||
*param_2 = *(param_1->unk0);
|
||||
param_1->unk0++;
|
||||
param_2++;
|
||||
size--;
|
||||
param_1->unk8++;
|
||||
}
|
||||
}
|
||||
|
||||
void nullsub_98(unkStruct_8094924 *param_1)
|
||||
{}
|
||||
|
||||
void sub_808300C(unkStruct_8094924 *param_1, u8 *param_2)
|
||||
{
|
||||
sub_8082FA8(param_1, param_2, 8);
|
||||
}
|
||||
|
||||
void sub_8083018(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 auStack_10 [12];
|
||||
|
||||
sub_8082FE0(param_1,auStack_10,8);
|
||||
auStack_10[8] = 0;
|
||||
}
|
||||
|
||||
void sub_8083030(unkStruct_8094924 *param_1, u16 param_2)
|
||||
{
|
||||
u16 uStack_8;
|
||||
|
||||
uStack_8 = param_2;
|
||||
sub_8082FA8(param_1,(u8 *)&uStack_8,2);
|
||||
}
|
||||
|
||||
void sub_8083048(unkStruct_8094924 *param_1, u32 param_2)
|
||||
{
|
||||
u16 uStack_8;
|
||||
|
||||
uStack_8 = param_2;
|
||||
sub_8082FA8(param_1,(u8 *)&uStack_8,2);
|
||||
}
|
||||
|
||||
void sub_8083060(unkStruct_8094924 *param_1, u32 param_2)
|
||||
{
|
||||
u8 uStack_8;
|
||||
|
||||
uStack_8 = param_2;
|
||||
sub_8082FA8(param_1,&uStack_8,1);
|
||||
}
|
||||
|
||||
void sub_8083078(unkStruct_8094924 *param_1, u32 param_2)
|
||||
{
|
||||
u32 uStack_8;
|
||||
|
||||
uStack_8 = param_2;
|
||||
sub_8082FA8(param_1,(u8 *)&uStack_8,4);
|
||||
}
|
||||
|
||||
void sub_808308C(unkStruct_8094924 *param_1, u32 param_2)
|
||||
{
|
||||
u32 uStack_8;
|
||||
|
||||
uStack_8 = param_2;
|
||||
sub_8082FA8(param_1,(u8 *)&uStack_8,4);
|
||||
}
|
||||
|
||||
void sub_80830A0(unkStruct_8094924 *param_1, u32 param_2)
|
||||
{
|
||||
u32 uStack_8;
|
||||
|
||||
uStack_8 = param_2;
|
||||
sub_8082FA8(param_1,(u8 *)&uStack_8,4);
|
||||
}
|
||||
|
||||
void sub_80830B4(unkStruct_8094924 *param_1, u8 param_2)
|
||||
{
|
||||
u8 local_8;
|
||||
|
||||
local_8 = (param_2 != 0) ? -1 : 0;
|
||||
sub_8082FA8(param_1,&local_8,1);
|
||||
}
|
||||
|
||||
void SavePosition(unkStruct_8094924 *param_1, Position *param_2)
|
||||
{
|
||||
sub_8082FA8(param_1, (u8 *)¶m_2->x, 1);
|
||||
sub_8082FA8(param_1, (u8 *)¶m_2->y, 1);
|
||||
}
|
||||
|
||||
void sub_80830F8(unkStruct_8094924 *param_1, u32 *param_2)
|
||||
{
|
||||
sub_8082FA8(param_1, (u8 *)¶m_2[0], 1);
|
||||
sub_8082FA8(param_1, (u8 *)¶m_2[1], 1);
|
||||
sub_8082FA8(param_1, (u8 *)¶m_2[2], 1);
|
||||
sub_8082FA8(param_1, (u8 *)¶m_2[3], 1);
|
||||
}
|
||||
|
||||
void sub_808312C(unkStruct_8094924 *param_1, u16 *param_2)
|
||||
{
|
||||
sub_8082FA8(param_1, (u8 *)¶m_2[0], 1);
|
||||
sub_8082FA8(param_1, (u8 *)¶m_2[1], 1);
|
||||
}
|
||||
|
||||
void SaveSpeedCounters(unkStruct_8094924 *param_1, u32 *speedCounters, u32 numCounters)
|
||||
{
|
||||
sub_8082FA8(param_1, (u8 *)speedCounters, numCounters);
|
||||
}
|
||||
|
||||
u16 sub_8083158(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u16 local_8;
|
||||
|
||||
sub_8082FE0(param_1,(u8 *)&local_8,2);
|
||||
return local_8;
|
||||
}
|
||||
|
||||
s16 sub_8083170(unkStruct_8094924 *param_1)
|
||||
{
|
||||
s16 local_8;
|
||||
|
||||
sub_8082FE0(param_1,(u8 *)&local_8,2);
|
||||
return local_8;
|
||||
}
|
||||
|
||||
u8 sub_8083188(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 local_8;
|
||||
|
||||
sub_8082FE0(param_1,&local_8,1);
|
||||
return local_8;
|
||||
}
|
||||
|
||||
u32 sub_80831A0(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u32 local_8;
|
||||
|
||||
sub_8082FE0(param_1,(u8 *)&local_8,4);
|
||||
return local_8;
|
||||
}
|
||||
|
||||
u32 sub_80831B4(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u32 local_8;
|
||||
|
||||
sub_8082FE0(param_1,(u8 *)&local_8,4);
|
||||
return local_8;
|
||||
}
|
||||
|
||||
u32 sub_80831C8(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u32 local_8;
|
||||
|
||||
sub_8082FE0(param_1,(u8 *)&local_8,4);
|
||||
return local_8;
|
||||
}
|
||||
|
||||
bool8 sub_80831DC(unkStruct_8094924 *param_1)
|
||||
{
|
||||
u8 local_8;
|
||||
|
||||
sub_8082FE0(param_1,&local_8,1);
|
||||
return local_8 != 0;
|
||||
}
|
||||
|
||||
void sub_80831F8(unkStruct_8094924 *param_1,Position *param_2)
|
||||
{
|
||||
param_2->x = 0;
|
||||
param_2->y = 0;
|
||||
sub_8082FE0(param_1,(u8 *)¶m_2->x,1);
|
||||
sub_8082FE0(param_1,(u8 *)¶m_2->y,1);
|
||||
}
|
||||
|
||||
|
||||
void sub_8083220(unkStruct_8094924 *param_1,u32 *param_2)
|
||||
{
|
||||
param_2[0] = 0;
|
||||
param_2[1] = 0;
|
||||
param_2[2] = 0;
|
||||
param_2[3] = 0;
|
||||
sub_8082FE0(param_1,(u8 *)¶m_2[0],1);
|
||||
sub_8082FE0(param_1,(u8 *)¶m_2[1],1);
|
||||
sub_8082FE0(param_1,(u8 *)¶m_2[2],1);
|
||||
sub_8082FE0(param_1,(u8 *)¶m_2[3],1);
|
||||
}
|
||||
|
||||
void sub_8083260(unkStruct_8094924 *param_1,u16 *param_2)
|
||||
{
|
||||
param_2[0] = 0;
|
||||
param_2[1] = 0;
|
||||
sub_8082FE0(param_1,(u8 *)¶m_2[0],1);
|
||||
sub_8082FE0(param_1,(u8 *)¶m_2[1],1);
|
||||
}
|
||||
|
||||
void sub_8083288(unkStruct_8094924 *r0, u16 *r1, u32 size)
|
||||
{
|
||||
sub_8082FE0(r0, (u8 *)r1, size);
|
||||
}
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ void sub_8084778(void)
|
|||
|
||||
for (i = 0; i < MAX_ACCEPTED_JOBS; i++) {
|
||||
wm = GetJobSlotInfo(i);
|
||||
if (wm->mailType == MAIL_TYPE_TAKEN_JOB && gDungeon->dungeonLocation.id == wm->unk4.dungeon.id && wm->missionType == WONDER_MAIL_MISSION_TYPE_ESCORT_CLIENT) {
|
||||
if (wm->mailType == MAIL_TYPE_TAKEN_JOB && gDungeon->unk644.dungeonLocation.id == wm->unk4.dungeon.id && wm->missionType == WONDER_MAIL_MISSION_TYPE_ESCORT_CLIENT) {
|
||||
CopyCyanMonsterNametoBuffer(gFormatBuffer_Monsters[3], wm->targetSpecies);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ void sub_80847D4(void)
|
|||
|
||||
void sub_8084854(struct unkData_8107234 *param_1)
|
||||
{
|
||||
if (gDungeon->unk678 != 0) {
|
||||
if (gDungeon->unk644.unk34 != 0) {
|
||||
gDungeon->unk3A0D = param_1->unk0[5];
|
||||
}
|
||||
else
|
||||
|
|
@ -64,7 +64,7 @@ void sub_8084854(struct unkData_8107234 *param_1)
|
|||
}
|
||||
}
|
||||
}
|
||||
gDungeon->unk675 = 1;
|
||||
gDungeon->unk644.unk31 = 1;
|
||||
sub_807E5E4(WEATHER_CLEAR);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
#include "code_803E668.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "dungeon_music.h"
|
||||
#include "dungeon_util.h"
|
||||
|
||||
extern const unkStruct_2039DB0 gUnknown_8107380;
|
||||
|
||||
|
|
|
|||
|
|
@ -19,136 +19,107 @@ s16 sub_8094828(u16 moveID, u8 id)
|
|||
}
|
||||
}
|
||||
|
||||
void xxx_init_struct_8094924_restore_809485C(struct unkStruct_8094924 *r0, u8 *r1, s32 size)
|
||||
|
||||
|
||||
// New file here
|
||||
|
||||
|
||||
void InitBitReader(DataSerializer *r0, u8 *buffer, s32 bufLen)
|
||||
{
|
||||
r0->unk0 = r1;
|
||||
r0->unk8 = 0;
|
||||
r0->stream = buffer;
|
||||
r0->count = 0;
|
||||
r0->unkC = 0;
|
||||
r0->unk4 = &r1[size];
|
||||
r0->end = buffer + bufLen;
|
||||
}
|
||||
|
||||
void xxx_init_struct_8094924_save_809486C(struct unkStruct_8094924 *r0, u8 *r1, s32 size)
|
||||
void InitBitWriter(DataSerializer *r0, u8 *buffer, s32 bufLen)
|
||||
{
|
||||
r0->unk0 = r1;
|
||||
r0->unk8 = 0;
|
||||
r0->stream = buffer;
|
||||
r0->count = 0;
|
||||
r0->unkC = 0;
|
||||
r0->unk4 = &r1[size];
|
||||
MemoryClear8(r1, size);
|
||||
r0->end = buffer + bufLen;
|
||||
MemoryClear8(buffer, bufLen);
|
||||
}
|
||||
|
||||
// Related to reading/writing bits
|
||||
void nullsub_102(struct unkStruct_8094924 *r0)
|
||||
void FinishBitSerializer(DataSerializer *seri)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SaveIntegerBits(struct unkStruct_8094924 *r0, void *r1, s32 size)
|
||||
void WriteBits(DataSerializer *r0, void *src, s32 numBits)
|
||||
{
|
||||
s32 r5;
|
||||
u8 *r6;
|
||||
s32 curBit;
|
||||
u8 *curByte;
|
||||
|
||||
r5 = 0;
|
||||
r6 = r1;
|
||||
curBit = 0;
|
||||
curByte = src;
|
||||
|
||||
while (numBits != 0) {
|
||||
if ((*curByte >> curBit) & 1)
|
||||
*r0->stream |= (1 << r0->count);
|
||||
|
||||
if(size != 0)
|
||||
{
|
||||
while(size != 0)
|
||||
{
|
||||
if(( *(r6) >> r5) & 1)
|
||||
{
|
||||
*r0->unk0 |= (1 << r0->unk8);
|
||||
}
|
||||
r5++;
|
||||
if(r5 == 8)
|
||||
{
|
||||
r6++;
|
||||
r5 = 0;
|
||||
}
|
||||
r0->unk8++;
|
||||
if(r0->unk8 == 8)
|
||||
{
|
||||
r0->unk0++;
|
||||
r0->unk8 = 0;
|
||||
}
|
||||
r0->unkC++;
|
||||
size--;
|
||||
curBit++;
|
||||
if (curBit == 8) {
|
||||
curByte++;
|
||||
curBit = 0;
|
||||
}
|
||||
|
||||
r0->count++;
|
||||
if (r0->count == 8) {
|
||||
r0->stream++;
|
||||
r0->count = 0;
|
||||
}
|
||||
|
||||
r0->unkC++;
|
||||
numBits--;
|
||||
}
|
||||
}
|
||||
|
||||
// Unused
|
||||
NAKED
|
||||
void sub_80948E4(struct unkStruct_8094924 *r0, u8 *r1, s32 size)
|
||||
UNUSED void sub_80948E4(DataSerializer *seri, void *src, s32 numBytes)
|
||||
{
|
||||
asm_unified("\tpush {r4-r6,lr}\n"
|
||||
"\tadds r4, r0, 0\n"
|
||||
"\tadds r5, r2, 0\n"
|
||||
"\tadds r6, r1, 0\n"
|
||||
"\tcmp r5, 0\n"
|
||||
"\tbeq _0809491C\n"
|
||||
"_080948F0:\n"
|
||||
"\tldrb r1, [r6]\n"
|
||||
"\tldr r0, [r4, 0x8]\n"
|
||||
"\tlsls r1, r0\n"
|
||||
"\tldr r3, [r4]\n"
|
||||
"\tldrb r2, [r3]\n"
|
||||
"\tadds r0, r1, 0\n"
|
||||
"\torrs r0, r2\n"
|
||||
"\tstrb r0, [r3]\n"
|
||||
"\tldr r2, [r4]\n"
|
||||
"\tadds r0, r2, 0x1\n"
|
||||
"\tstr r0, [r4]\n"
|
||||
"\tasrs r1, 8\n"
|
||||
"\tldrb r0, [r2, 0x1]\n"
|
||||
"\torrs r1, r0\n"
|
||||
"\tstrb r1, [r2, 0x1]\n"
|
||||
"\tadds r6, 0x1\n"
|
||||
"\tldr r0, [r4, 0xC]\n"
|
||||
"\tadds r0, 0x8\n"
|
||||
"\tstr r0, [r4, 0xC]\n"
|
||||
"\tsubs r5, 0x1\n"
|
||||
"\tcmp r5, 0\n"
|
||||
"\tbne _080948F0\n"
|
||||
"_0809491C:\n"
|
||||
"\tpop {r4-r6}\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0");
|
||||
}
|
||||
s32 iVar1;
|
||||
u8 *curByte;
|
||||
|
||||
void RestoreIntegerBits(struct unkStruct_8094924 *r0, void *r1, s32 size)
|
||||
{
|
||||
s32 r6;
|
||||
u8 *r2;
|
||||
curByte = src;
|
||||
|
||||
r6 = 0;
|
||||
r2 = r1;
|
||||
|
||||
|
||||
if(size != 0)
|
||||
{
|
||||
while(size != 0)
|
||||
{
|
||||
if(r6 == 0)
|
||||
*r2 = 0;
|
||||
if(( *(r0->unk0) >> r0->unk8) & 1)
|
||||
{
|
||||
*r2 |= (1 << r6);
|
||||
}
|
||||
r6++;
|
||||
if(r6 == 8)
|
||||
{
|
||||
r2++;
|
||||
r6 = 0;
|
||||
}
|
||||
r0->unk8++;
|
||||
if(r0->unk8 == 8)
|
||||
{
|
||||
r0->unk0++;
|
||||
r0->unk8 = 0;
|
||||
}
|
||||
r0->unkC++;
|
||||
size--;
|
||||
}
|
||||
while (numBytes != 0) {
|
||||
iVar1 = (*curByte << seri->count);
|
||||
*seri->stream |= iVar1;
|
||||
seri->stream++;
|
||||
*seri->stream |= iVar1 >> 8;
|
||||
curByte++;
|
||||
seri->unkC += 8;
|
||||
numBytes--;
|
||||
}
|
||||
}
|
||||
|
||||
void ReadBits(DataSerializer *r0, void *dst, s32 numBits)
|
||||
{
|
||||
s32 curBit;
|
||||
u8 *curByte;
|
||||
|
||||
curBit = 0;
|
||||
curByte = dst;
|
||||
|
||||
while (numBits != 0) {
|
||||
if (curBit == 0)
|
||||
*curByte = 0;
|
||||
|
||||
if ((*r0->stream >> r0->count) & 1)
|
||||
*curByte |= (1 << curBit);
|
||||
|
||||
curBit++;
|
||||
if (curBit == 8) {
|
||||
curByte++;
|
||||
curBit = 0;
|
||||
}
|
||||
|
||||
r0->count++;
|
||||
if (r0->count == 8) {
|
||||
r0->stream++;
|
||||
r0->count = 0;
|
||||
}
|
||||
|
||||
r0->unkC++;
|
||||
numBits--;
|
||||
}
|
||||
}
|
||||
|
|
@ -35,16 +35,16 @@ extern const u8 *gUnknown_8113870[];
|
|||
|
||||
extern struct unkStruct_8113080 gUnknown_8113080[];
|
||||
|
||||
void sub_809447C(struct unkStruct_8094924 *r0, u8 *r1)
|
||||
void ReadBellyBits(DataSerializer *r0, FixedPoint *dst)
|
||||
{
|
||||
RestoreIntegerBits(r0, r1, 0x10);
|
||||
RestoreIntegerBits(r0, r1 + 2, 0x10);
|
||||
ReadBits(r0, &dst->unk0, 16);
|
||||
ReadBits(r0, &dst->unk2, 16);
|
||||
}
|
||||
|
||||
void sub_809449C(struct unkStruct_8094924 *r0, u8 *r1)
|
||||
void WriteBellyBits(DataSerializer *r0, FixedPoint *src)
|
||||
{
|
||||
SaveIntegerBits(r0, r1, 0x10);
|
||||
SaveIntegerBits(r0, r1 + 2, 0x10);
|
||||
WriteBits(r0, &src->unk0, 16);
|
||||
WriteBits(r0, &src->unk2, 16);
|
||||
}
|
||||
|
||||
static void sub_80944BC(s16 moveID, u8 *buffer)
|
||||
|
|
|
|||
|
|
@ -21,10 +21,10 @@ EWRAM_DATA UNUSED static u32 fill0 = {0}; // 203B484 is size 0x5C and I need to
|
|||
EWRAM_DATA u32 gUnknown_20392E8[0x36] = {0};
|
||||
EWRAM_DATA unkStruct_203B48C gUnknown_20393C0 = {0};
|
||||
|
||||
extern void SaveDungeonLocation(struct unkStruct_8094924*, DungeonLocation*);
|
||||
extern void RestoreDungeonLocation(struct unkStruct_8094924*, DungeonLocation*);
|
||||
extern void xxx_save_poke_sub_c_808F41C(struct unkStruct_8094924* a1, struct unkPokeSubStruct_C* unkC);
|
||||
extern void xxx_restore_poke_sub_c_808F410(struct unkStruct_8094924*, struct unkPokeSubStruct_C*);
|
||||
extern void WriteDungeonLocationBits(DataSerializer*, DungeonLocation*);
|
||||
extern void ReadDungeonLocationBits(DataSerializer*, DungeonLocation*);
|
||||
extern void WritePoke1LevelBits(DataSerializer* a1, struct unkPokeSubStruct_C* unkC);
|
||||
extern void ReadPoke1LevelBits(DataSerializer*, struct unkPokeSubStruct_C*);
|
||||
|
||||
void sub_80950BC(void)
|
||||
{
|
||||
|
|
@ -78,11 +78,11 @@ void sub_8095118(void)
|
|||
}
|
||||
}
|
||||
|
||||
void nullsub_206(void)
|
||||
UNUSED static void nullsub_206(void)
|
||||
{
|
||||
}
|
||||
|
||||
void nullsub_207(void)
|
||||
UNUSED static void nullsub_207(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -308,141 +308,164 @@ u32 sub_80954B4(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
u32 sub_80954CC(u8 *a, u32 b)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// New file?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
u32 sub_80954CC(u8 *buffer, u32 size)
|
||||
{
|
||||
struct unkStruct_8094924 backup;
|
||||
PokemonStruct1 *temp;
|
||||
s32 index;
|
||||
DataSerializer backup;
|
||||
PokemonStruct1 *mon;
|
||||
s32 i;
|
||||
|
||||
xxx_init_struct_8094924_restore_809485C(&backup, a, b);
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
sub_8095774(&backup, &gUnknown_203B480[index]);
|
||||
}
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B484->unk0, 0x20);
|
||||
temp = &gUnknown_203B484->unk4;
|
||||
memset(temp, 0, sizeof(PokemonStruct1));
|
||||
RestoreIntegerBits(&backup, &temp->unk0, 2);
|
||||
RestoreIntegerBits(&backup, &temp->isTeamLeader, 1);
|
||||
RestoreIntegerBits(&backup, &temp->level, 7);
|
||||
RestoreDungeonLocation(&backup, &temp->dungeonLocation);
|
||||
RestoreIntegerBits(&backup, &temp->speciesNum, 9);
|
||||
xxx_restore_poke_sub_c_808F410(&backup, &temp->unkC[0]);
|
||||
xxx_restore_poke_sub_c_808F410(&backup, &temp->unkC[1]);
|
||||
RestoreIntegerBits(&backup, &temp->IQ, 0xA);
|
||||
RestoreIntegerBits(&backup, &temp->pokeHP, 0xA);
|
||||
RestoreIntegerBits(&backup, &temp->offense.att[0], 8);
|
||||
RestoreIntegerBits(&backup, &temp->offense.att[1], 8);
|
||||
RestoreIntegerBits(&backup, &temp->offense.def[0], 8);
|
||||
RestoreIntegerBits(&backup, &temp->offense.def[1], 8);
|
||||
RestoreIntegerBits(&backup, &temp->currExp, 0x18);
|
||||
RestoreIntegerBits(&backup, &temp->IQSkills, 0x18);
|
||||
RestoreIntegerBits(&backup, &temp->tacticIndex, 4);
|
||||
RestoreHeldItem(&backup, &temp->heldItem);
|
||||
RestorePokemonMoves(&backup, temp->moves);
|
||||
RestoreIntegerBits(&backup, temp->name, 0x50);
|
||||
InitBitReader(&backup, buffer, size);
|
||||
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B48C->unk0, 0x20);
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B48C->unk4[index], 0x20);
|
||||
for (i = 0; i < 32; i++) {
|
||||
sub_8095774(&backup, &gUnknown_203B480[i]);
|
||||
}
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
|
||||
ReadBits(&backup, &gUnknown_203B484->unk0, 32);
|
||||
|
||||
mon = &gUnknown_203B484->unk4;
|
||||
memset(mon, 0, sizeof(PokemonStruct1));
|
||||
|
||||
ReadBits(&backup, &mon->unk0, 2);
|
||||
ReadBits(&backup, &mon->isTeamLeader, 1);
|
||||
ReadBits(&backup, &mon->level, 7);
|
||||
ReadDungeonLocationBits(&backup, &mon->dungeonLocation);
|
||||
ReadBits(&backup, &mon->speciesNum, 9);
|
||||
ReadPoke1LevelBits(&backup, &mon->unkC[0]);
|
||||
ReadPoke1LevelBits(&backup, &mon->unkC[1]);
|
||||
ReadBits(&backup, &mon->IQ, 10);
|
||||
ReadBits(&backup, &mon->pokeHP, 10);
|
||||
ReadBits(&backup, &mon->offense.att[0], 8);
|
||||
ReadBits(&backup, &mon->offense.att[1], 8);
|
||||
ReadBits(&backup, &mon->offense.def[0], 8);
|
||||
ReadBits(&backup, &mon->offense.def[1], 8);
|
||||
ReadBits(&backup, &mon->currExp, 24);
|
||||
ReadBits(&backup, &mon->IQSkills, 24);
|
||||
ReadBits(&backup, &mon->tacticIndex, 4);
|
||||
ReadHeldItemBits(&backup, &mon->heldItem);
|
||||
ReadPoke1MovesBits(&backup, mon->moves);
|
||||
ReadBits(&backup, mon->name, 10 * 8);
|
||||
|
||||
ReadBits(&backup, &gUnknown_203B48C->unk0, 32);
|
||||
for (i = 0; i < 32; i++) {
|
||||
ReadBits(&backup, &gUnknown_203B48C->unk4[i], 32);
|
||||
}
|
||||
|
||||
FinishBitSerializer(&backup);
|
||||
return backup.count;
|
||||
}
|
||||
|
||||
u32 sub_8095624(u8 *a, u32 b)
|
||||
u32 sub_8095624(u8 *buffer, u32 b)
|
||||
{
|
||||
struct unkStruct_8094924 backup;
|
||||
PokemonStruct1 *temp;
|
||||
s32 index;
|
||||
DataSerializer backup;
|
||||
PokemonStruct1 *mon;
|
||||
s32 i;
|
||||
|
||||
xxx_init_struct_8094924_save_809486C(&backup, a, b);
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
sub_8095824(&backup, &gUnknown_203B480[index]);
|
||||
}
|
||||
SaveIntegerBits(&backup, &gUnknown_203B484->unk0, 0x20);
|
||||
temp = &gUnknown_203B484->unk4;
|
||||
SaveIntegerBits(&backup, &temp->unk0, 2);
|
||||
SaveIntegerBits(&backup, &temp->isTeamLeader, 1);
|
||||
SaveIntegerBits(&backup, &temp->level, 7);
|
||||
SaveDungeonLocation(&backup, &temp->dungeonLocation);
|
||||
SaveIntegerBits(&backup, &temp->speciesNum, 9);
|
||||
xxx_save_poke_sub_c_808F41C(&backup, &temp->unkC[0]);
|
||||
xxx_save_poke_sub_c_808F41C(&backup, &temp->unkC[1]);
|
||||
SaveIntegerBits(&backup, &temp->IQ, 0xA);
|
||||
SaveIntegerBits(&backup, &temp->pokeHP, 0xA);
|
||||
SaveIntegerBits(&backup, &temp->offense.att[0], 8);
|
||||
SaveIntegerBits(&backup, &temp->offense.att[1], 8);
|
||||
SaveIntegerBits(&backup, &temp->offense.def[0], 8);
|
||||
SaveIntegerBits(&backup, &temp->offense.def[1], 8);
|
||||
SaveIntegerBits(&backup, &temp->currExp, 0x18);
|
||||
SaveIntegerBits(&backup, &temp->IQSkills, 0x18);
|
||||
SaveIntegerBits(&backup, &temp->tacticIndex, 4);
|
||||
SaveHeldItem(&backup, &temp->heldItem);
|
||||
SavePokemonMoves(&backup, temp->moves);
|
||||
SaveIntegerBits(&backup, temp->name, 0x50);
|
||||
InitBitWriter(&backup, buffer, b);
|
||||
|
||||
SaveIntegerBits(&backup, &gUnknown_203B48C->unk0, 0x20);
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
SaveIntegerBits(&backup, &gUnknown_203B48C->unk4[index], 0x20);
|
||||
for (i = 0; i < 32; i++) {
|
||||
sub_8095824(&backup, &gUnknown_203B480[i]);
|
||||
}
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
|
||||
WriteBits(&backup, &gUnknown_203B484->unk0, 32);
|
||||
|
||||
mon = &gUnknown_203B484->unk4;
|
||||
|
||||
WriteBits(&backup, &mon->unk0, 2);
|
||||
WriteBits(&backup, &mon->isTeamLeader, 1);
|
||||
WriteBits(&backup, &mon->level, 7);
|
||||
WriteDungeonLocationBits(&backup, &mon->dungeonLocation);
|
||||
WriteBits(&backup, &mon->speciesNum, 9);
|
||||
WritePoke1LevelBits(&backup, &mon->unkC[0]);
|
||||
WritePoke1LevelBits(&backup, &mon->unkC[1]);
|
||||
WriteBits(&backup, &mon->IQ, 10);
|
||||
WriteBits(&backup, &mon->pokeHP, 10);
|
||||
WriteBits(&backup, &mon->offense.att[0], 8);
|
||||
WriteBits(&backup, &mon->offense.att[1], 8);
|
||||
WriteBits(&backup, &mon->offense.def[0], 8);
|
||||
WriteBits(&backup, &mon->offense.def[1], 8);
|
||||
WriteBits(&backup, &mon->currExp, 24);
|
||||
WriteBits(&backup, &mon->IQSkills, 24);
|
||||
WriteBits(&backup, &mon->tacticIndex, 4);
|
||||
WriteHeldItemBits(&backup, &mon->heldItem);
|
||||
WritePoke1MovesBits(&backup, mon->moves);
|
||||
WriteBits(&backup, mon->name, 10 * 8);
|
||||
|
||||
WriteBits(&backup, &gUnknown_203B48C->unk0, 32);
|
||||
|
||||
for (i = 0; i < 32; i++) {
|
||||
WriteBits(&backup, &gUnknown_203B48C->unk4[i], 32);
|
||||
}
|
||||
|
||||
FinishBitSerializer(&backup);
|
||||
return backup.count;
|
||||
}
|
||||
|
||||
void sub_8095774(struct unkStruct_8094924 * a, unkStruct_203B480 *b)
|
||||
void sub_8095774(DataSerializer * a, unkStruct_203B480 *b)
|
||||
{
|
||||
u8 temp;
|
||||
|
||||
RestoreIntegerBits(a, &b->mailType, 4);
|
||||
RestoreDungeonLocation(a, &b->unk4.dungeon);
|
||||
RestoreIntegerBits(a, &b->unk4.seed, 0x18);
|
||||
RestoreIntegerBits(a, &b->clientSpecies, 0x9);
|
||||
RestoreIntegerBits(a, &b->unk10.unk10, 0x20);
|
||||
RestoreIntegerBits(a, &b->playerName, 0x50);
|
||||
RestoreIntegerBits(a, &b->item.flags, 0x8);
|
||||
RestoreIntegerBits(a, &b->item.quantity, 0x8);
|
||||
RestoreIntegerBits(a, &b->item.id, 0x8);
|
||||
RestoreIntegerBits(a, &b->unk24, 0x20);
|
||||
RestoreIntegerBits(a, &b->unk28, 0x20);
|
||||
RestoreIntegerBits(a, &b->rescuesAllowed, 0x8);
|
||||
ReadBits(a, &b->mailType, 4);
|
||||
ReadDungeonLocationBits(a, &b->unk4.dungeon);
|
||||
ReadBits(a, &b->unk4.seed, 24);
|
||||
ReadBits(a, &b->clientSpecies, 9);
|
||||
ReadBits(a, &b->unk10.unk10, 32);
|
||||
ReadBits(a, &b->playerName, 10 * 8);
|
||||
ReadBits(a, &b->item.flags, 8);
|
||||
ReadBits(a, &b->item.quantity, 8);
|
||||
ReadBits(a, &b->item.id, 8);
|
||||
ReadBits(a, &b->unk24, 32);
|
||||
ReadBits(a, &b->unk28, 32);
|
||||
ReadBits(a, &b->rescuesAllowed, 8);
|
||||
|
||||
RestoreIntegerBits(a, &temp, 1);
|
||||
ReadBits(a, &temp, 1);
|
||||
b->unk2D = temp & 1;
|
||||
}
|
||||
|
||||
void sub_8095824(struct unkStruct_8094924 * a, unkStruct_203B480 *b)
|
||||
void sub_8095824(DataSerializer * a, unkStruct_203B480 *b)
|
||||
{
|
||||
u8 neg1;
|
||||
u8 zero;
|
||||
u8 *puVar2;
|
||||
u8 *ptr;
|
||||
|
||||
neg1 = -1;
|
||||
zero = 0;
|
||||
|
||||
SaveIntegerBits(a, &b->mailType, 4);
|
||||
SaveDungeonLocation(a, &b->unk4.dungeon);
|
||||
SaveIntegerBits(a, &b->unk4.seed, 0x18);
|
||||
SaveIntegerBits(a, &b->clientSpecies, 0x9);
|
||||
SaveIntegerBits(a, &b->unk10.unk10, 0x20);
|
||||
SaveIntegerBits(a, &b->playerName, 0x50);
|
||||
SaveIntegerBits(a, &b->item.flags, 0x8);
|
||||
SaveIntegerBits(a, &b->item.quantity, 0x8);
|
||||
SaveIntegerBits(a, &b->item.id, 0x8);
|
||||
SaveIntegerBits(a, &b->unk24, 0x20);
|
||||
SaveIntegerBits(a, &b->unk28, 0x20);
|
||||
SaveIntegerBits(a, &b->rescuesAllowed, 0x8);
|
||||
WriteBits(a, &b->mailType, 4);
|
||||
WriteDungeonLocationBits(a, &b->unk4.dungeon);
|
||||
WriteBits(a, &b->unk4.seed, 24);
|
||||
WriteBits(a, &b->clientSpecies, 9);
|
||||
WriteBits(a, &b->unk10.unk10, 32);
|
||||
WriteBits(a, &b->playerName, 10 * 8);
|
||||
WriteBits(a, &b->item.flags, 8);
|
||||
WriteBits(a, &b->item.quantity, 8);
|
||||
WriteBits(a, &b->item.id, 8);
|
||||
WriteBits(a, &b->unk24, 32);
|
||||
WriteBits(a, &b->unk28, 32);
|
||||
WriteBits(a, &b->rescuesAllowed, 8);
|
||||
|
||||
if(b->unk2D != 0)
|
||||
puVar2 = &neg1;
|
||||
if (b->unk2D != 0)
|
||||
ptr = &neg1;
|
||||
else
|
||||
puVar2 = &zero;
|
||||
SaveIntegerBits(a, puVar2, 1);
|
||||
ptr = &zero;
|
||||
WriteBits(a, ptr, 1);
|
||||
}
|
||||
|
||||
void sub_80958E4(u32 *a, u32 b)
|
||||
{
|
||||
*a = b;
|
||||
}
|
||||
}
|
||||
|
|
@ -30,8 +30,8 @@ u8 sub_8095E78(void);
|
|||
bool8 sub_80963B4(void);
|
||||
s32 CalculateMailChecksum(WonderMail *mail);
|
||||
|
||||
extern void SaveDungeonLocation(unkStruct_8094924*, DungeonLocation*);
|
||||
extern void RestoreDungeonLocation(unkStruct_8094924*, DungeonLocation*);
|
||||
extern void WriteDungeonLocationBits(DataSerializer*, DungeonLocation*);
|
||||
extern void ReadDungeonLocationBits(DataSerializer*, DungeonLocation*);
|
||||
extern void sub_803C4F0(WonderMail *);
|
||||
extern void sub_803C3E0(WonderMail *);
|
||||
extern void sub_803C45C(WonderMail *);
|
||||
|
|
@ -1289,13 +1289,13 @@ s32 CalculateMailChecksum(WonderMail *mail)
|
|||
sum += mail->unk4.dungeon.id;
|
||||
sum += mail->unk4.dungeon.floor;
|
||||
|
||||
sum += mail->unk4.seed << 0x8;
|
||||
sum += mail->unk4.seed << 8;
|
||||
|
||||
sum += mail->clientSpecies << 0xC;
|
||||
sum += mail->clientSpecies << 12;
|
||||
|
||||
sum += mail->targetSpecies << 0x10;
|
||||
sum += mail->targetSpecies << 16;
|
||||
|
||||
sum += mail->targetItem << 0x18;
|
||||
sum += mail->targetItem << 24;
|
||||
|
||||
sum += mail->rewardType;
|
||||
|
||||
|
|
@ -1310,10 +1310,10 @@ void sub_8096EEC(WonderMail *mail)
|
|||
{
|
||||
s32 index;
|
||||
|
||||
for(index = 15; index > 0; index--)
|
||||
{
|
||||
for (index = 16 - 1; index > 0; index--) {
|
||||
gUnknown_203B490->unk230[index] = gUnknown_203B490->unk230[index - 1];
|
||||
}
|
||||
|
||||
gUnknown_203B490->unk230[0].sub = mail->unk4;
|
||||
gUnknown_203B490->unk230[0].checksum = CalculateMailChecksum(mail);
|
||||
}
|
||||
|
|
@ -1326,7 +1326,7 @@ bool8 sub_8096F50(WonderMail *mail)
|
|||
|
||||
checksum = CalculateMailChecksum(mail);
|
||||
|
||||
for (index = 0; index < 0x10; index++) {
|
||||
for (index = 0; index < 16; index++) {
|
||||
temp = &gUnknown_203B490->unk230[index];
|
||||
if (temp->sub.dungeon.id == mail->unk4.dungeon.id)
|
||||
if (temp->sub.dungeon.floor == mail->unk4.dungeon.floor)
|
||||
|
|
@ -1341,66 +1341,66 @@ bool8 sub_8096F50(WonderMail *mail)
|
|||
u32 RestoreMailInfo(u8 *r0, u32 size)
|
||||
{
|
||||
s32 index;
|
||||
unkStruct_8094924 backup;
|
||||
DataSerializer backup;
|
||||
u32 temp;
|
||||
|
||||
xxx_init_struct_8094924_restore_809485C(&backup, r0, size);
|
||||
InitBitReader(&backup, r0, size);
|
||||
for(index = 0; index < NUM_MAILBOX_SLOTS; index++)
|
||||
{
|
||||
RestoreWonderMail(&backup, &gUnknown_203B490->mailboxSlots[index]);
|
||||
ReadWonderMailBits(&backup, &gUnknown_203B490->mailboxSlots[index]);
|
||||
}
|
||||
for(index = 0; index < MAX_ACCEPTED_JOBS; index++)
|
||||
{
|
||||
RestoreWonderMail(&backup, &gUnknown_203B490->pelipperBoardJobs[index]);
|
||||
ReadWonderMailBits(&backup, &gUnknown_203B490->pelipperBoardJobs[index]);
|
||||
}
|
||||
for(index = 0; index < MAX_ACCEPTED_JOBS; index++)
|
||||
{
|
||||
RestoreWonderMail(&backup, &gUnknown_203B490->jobSlots[index]);
|
||||
ReadWonderMailBits(&backup, &gUnknown_203B490->jobSlots[index]);
|
||||
}
|
||||
for(index = 0; index < 0x38; index++)
|
||||
for(index = 0; index < 56; index++)
|
||||
{
|
||||
RestoreIntegerBits(&backup, &temp, 1);
|
||||
ReadBits(&backup, &temp, 1);
|
||||
if(temp & 1)
|
||||
gUnknown_203B490->PKMNNewsReceived[index] = TRUE;
|
||||
else
|
||||
gUnknown_203B490->PKMNNewsReceived[index] = FALSE;
|
||||
}
|
||||
RestoreIntegerBits(&backup, &temp, 1);
|
||||
ReadBits(&backup, &temp, 1);
|
||||
if(temp & 1)
|
||||
gUnknown_203B490->unk328 = TRUE;
|
||||
else
|
||||
gUnknown_203B490->unk328 = FALSE;
|
||||
|
||||
RestoreIntegerBits(&backup, gUnknown_203B490->unk190, 0x140);
|
||||
RestoreIntegerBits(&backup, gUnknown_203B490->unk1B8, 0x3C0);
|
||||
for(index = 0; index < 0x10; index++)
|
||||
ReadBits(&backup, gUnknown_203B490->unk190, 40 * 8);
|
||||
ReadBits(&backup, gUnknown_203B490->unk1B8, 120 * 8);
|
||||
for (index = 0; index < 16; index++)
|
||||
{
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B490->unk230[index].checksum, 0x20);
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B490->unk230[index].sub.seed, 0x18);
|
||||
RestoreDungeonLocation(&backup, &gUnknown_203B490->unk230[index].sub.dungeon);
|
||||
ReadBits(&backup, &gUnknown_203B490->unk230[index].checksum, 32);
|
||||
ReadBits(&backup, &gUnknown_203B490->unk230[index].sub.seed, 24);
|
||||
ReadDungeonLocationBits(&backup, &gUnknown_203B490->unk230[index].sub.dungeon);
|
||||
}
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
FinishBitSerializer(&backup);
|
||||
return backup.count;
|
||||
}
|
||||
|
||||
u32 SaveMailInfo(u8 *r0, u32 size)
|
||||
{
|
||||
s32 index;
|
||||
unkStruct_8094924 backup;
|
||||
DataSerializer backup;
|
||||
u32 temp;
|
||||
|
||||
xxx_init_struct_8094924_save_809486C(&backup, r0, size);
|
||||
InitBitWriter(&backup, r0, size);
|
||||
for(index = 0; index < NUM_MAILBOX_SLOTS; index++)
|
||||
{
|
||||
SaveWonderMail(&backup, &gUnknown_203B490->mailboxSlots[index]);
|
||||
WriteWonderMailBits(&backup, &gUnknown_203B490->mailboxSlots[index]);
|
||||
}
|
||||
for(index = 0; index < MAX_ACCEPTED_JOBS; index++)
|
||||
{
|
||||
SaveWonderMail(&backup, &gUnknown_203B490->pelipperBoardJobs[index]);
|
||||
WriteWonderMailBits(&backup, &gUnknown_203B490->pelipperBoardJobs[index]);
|
||||
}
|
||||
for(index = 0; index < MAX_ACCEPTED_JOBS; index++)
|
||||
{
|
||||
SaveWonderMail(&backup, &gUnknown_203B490->jobSlots[index]);
|
||||
WriteWonderMailBits(&backup, &gUnknown_203B490->jobSlots[index]);
|
||||
}
|
||||
for(index = 0; index < 0x38; index++)
|
||||
{
|
||||
|
|
@ -1408,51 +1408,51 @@ u32 SaveMailInfo(u8 *r0, u32 size)
|
|||
temp = -1;
|
||||
else
|
||||
temp = 0;
|
||||
SaveIntegerBits(&backup, &temp, 1);
|
||||
WriteBits(&backup, &temp, 1);
|
||||
}
|
||||
if(gUnknown_203B490->unk328)
|
||||
temp = -1;
|
||||
else
|
||||
temp = 0;
|
||||
SaveIntegerBits(&backup, &temp, 1);
|
||||
SaveIntegerBits(&backup, gUnknown_203B490->unk190, 0x140);
|
||||
SaveIntegerBits(&backup, gUnknown_203B490->unk1B8, 0x3C0);
|
||||
WriteBits(&backup, &temp, 1);
|
||||
WriteBits(&backup, gUnknown_203B490->unk190, 0x140);
|
||||
WriteBits(&backup, gUnknown_203B490->unk1B8, 0x3C0);
|
||||
for(index = 0; index < 0x10; index++)
|
||||
{
|
||||
SaveIntegerBits(&backup, &gUnknown_203B490->unk230[index].checksum, 0x20);
|
||||
SaveIntegerBits(&backup, &gUnknown_203B490->unk230[index].sub.seed, 0x18);
|
||||
SaveDungeonLocation(&backup, &gUnknown_203B490->unk230[index].sub.dungeon);
|
||||
WriteBits(&backup, &gUnknown_203B490->unk230[index].checksum, 0x20);
|
||||
WriteBits(&backup, &gUnknown_203B490->unk230[index].sub.seed, 0x18);
|
||||
WriteDungeonLocationBits(&backup, &gUnknown_203B490->unk230[index].sub.dungeon);
|
||||
}
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
FinishBitSerializer(&backup);
|
||||
return backup.count;
|
||||
}
|
||||
|
||||
void RestoreWonderMail(unkStruct_8094924 *a, WonderMail *b)
|
||||
void ReadWonderMailBits(DataSerializer *a, WonderMail *b)
|
||||
{
|
||||
RestoreIntegerBits(a, &b->mailType, 4);
|
||||
RestoreIntegerBits(a, &b->missionType, 3);
|
||||
RestoreIntegerBits(a, &b->unk2, 4);
|
||||
RestoreIntegerBits(a, &b->clientSpecies, 9);
|
||||
RestoreIntegerBits(a, &b->targetSpecies, 9);
|
||||
RestoreIntegerBits(a, &b->targetItem, 8);
|
||||
RestoreIntegerBits(a, &b->rewardType, 4);
|
||||
RestoreIntegerBits(a, &b->itemReward, 8);
|
||||
RestoreIntegerBits(a, &b->friendAreaReward, 6);
|
||||
RestoreIntegerBits(a, &b->unk4.seed, 0x18);
|
||||
RestoreDungeonLocation(a, &b->unk4.dungeon);
|
||||
ReadBits(a, &b->mailType, 4);
|
||||
ReadBits(a, &b->missionType, 3);
|
||||
ReadBits(a, &b->unk2, 4);
|
||||
ReadBits(a, &b->clientSpecies, 9);
|
||||
ReadBits(a, &b->targetSpecies, 9);
|
||||
ReadBits(a, &b->targetItem, 8);
|
||||
ReadBits(a, &b->rewardType, 4);
|
||||
ReadBits(a, &b->itemReward, 8);
|
||||
ReadBits(a, &b->friendAreaReward, 6);
|
||||
ReadBits(a, &b->unk4.seed, 24);
|
||||
ReadDungeonLocationBits(a, &b->unk4.dungeon);
|
||||
}
|
||||
|
||||
void SaveWonderMail(unkStruct_8094924 *a, WonderMail *b)
|
||||
void WriteWonderMailBits(DataSerializer *a, WonderMail *b)
|
||||
{
|
||||
SaveIntegerBits(a, &b->mailType, 4);
|
||||
SaveIntegerBits(a, &b->missionType, 3);
|
||||
SaveIntegerBits(a, &b->unk2, 4);
|
||||
SaveIntegerBits(a, &b->clientSpecies, 9);
|
||||
SaveIntegerBits(a, &b->targetSpecies, 9);
|
||||
SaveIntegerBits(a, &b->targetItem, 8);
|
||||
SaveIntegerBits(a, &b->rewardType, 4);
|
||||
SaveIntegerBits(a, &b->itemReward, 8);
|
||||
SaveIntegerBits(a, &b->friendAreaReward, 6);
|
||||
SaveIntegerBits(a, &b->unk4.seed, 0x18);
|
||||
SaveDungeonLocation(a, &b->unk4.dungeon);
|
||||
WriteBits(a, &b->mailType, 4);
|
||||
WriteBits(a, &b->missionType, 3);
|
||||
WriteBits(a, &b->unk2, 4);
|
||||
WriteBits(a, &b->clientSpecies, 9);
|
||||
WriteBits(a, &b->targetSpecies, 9);
|
||||
WriteBits(a, &b->targetItem, 8);
|
||||
WriteBits(a, &b->rewardType, 4);
|
||||
WriteBits(a, &b->itemReward, 8);
|
||||
WriteBits(a, &b->friendAreaReward, 6);
|
||||
WriteBits(a, &b->unk4.seed, 24);
|
||||
WriteDungeonLocationBits(a, &b->unk4.dungeon);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ void sub_8097418(s16 index,bool32 param_2)
|
|||
bool8 param_2_u8 = param_2;
|
||||
if (index_s32 != 0xd) {
|
||||
if ((param_2_u8) && (SetScriptVarArrayValue(NULL,RESCUE_SCENARIO_JOB_LIST,index_s32,0), index_s32 < 0x1f)) {
|
||||
const MissionText *mt = &gStoryMissionText[index_s32];
|
||||
const MissionText *mt = &sStoryMissionText[index_s32];
|
||||
if (mt->unk4 != 0xFF) {
|
||||
sub_8097FA8(mt->unk4);
|
||||
}
|
||||
|
|
@ -169,7 +169,7 @@ const u8 *GetCurrentMissionText(s16 index)
|
|||
{
|
||||
if(index < 0x1F)
|
||||
{
|
||||
const MissionText *mt = &gStoryMissionText[index];
|
||||
const MissionText *mt = &sStoryMissionText[index];
|
||||
return mt->text;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@ EWRAM_DATA_2 struct unkStruct_203B494 *gUnknown_203B494 = {0};
|
|||
// data_810AE24.s
|
||||
extern const u8 *gAdventureLogText[];
|
||||
|
||||
extern void SaveDungeonLocation(struct unkStruct_8094924*, DungeonLocation*);
|
||||
extern void RestoreDungeonLocation(struct unkStruct_8094924*, DungeonLocation*);
|
||||
void ReadGameOptions(struct unkStruct_8094924 *param_1);
|
||||
void ReadPlayTime(struct unkStruct_8094924 *r0);
|
||||
void WriteGameOptions(struct unkStruct_8094924 *param_1);
|
||||
void WritePlayTime(struct unkStruct_8094924 *r0);
|
||||
extern void WriteDungeonLocationBits(DataSerializer*, DungeonLocation*);
|
||||
extern void ReadDungeonLocationBits(DataSerializer*, DungeonLocation*);
|
||||
void ReadGameOptionsBits(DataSerializer *param_1);
|
||||
void ReadPlayTimeBits(DataSerializer *r0);
|
||||
void WriteGameOptionsBits(DataSerializer *param_1);
|
||||
void WritePlayTimeBits(DataSerializer *r0);
|
||||
|
||||
void sub_8097670(void)
|
||||
{
|
||||
|
|
@ -30,10 +30,10 @@ struct unkStruct_203B494 *sub_8097680(void)
|
|||
return &sUnknown_2039778;
|
||||
}
|
||||
|
||||
void SetDungeonLocationInfo(DungeonLocation *r0)
|
||||
void SetDungeonLocationInfo(DungeonLocation *dl)
|
||||
{
|
||||
gUnknown_203B494->dungeonLocation.id = r0->id;
|
||||
gUnknown_203B494->dungeonLocation.floor = r0->floor;
|
||||
gUnknown_203B494->dungeonLocation.id = dl->id;
|
||||
gUnknown_203B494->dungeonLocation.floor = dl->floor;
|
||||
}
|
||||
|
||||
DungeonLocation *GetDungeonLocationInfo(void)
|
||||
|
|
@ -41,40 +41,40 @@ DungeonLocation *GetDungeonLocationInfo(void)
|
|||
return &gUnknown_203B494->dungeonLocation;
|
||||
}
|
||||
|
||||
void sub_80976A8(void)
|
||||
void ResetAdventureInfo(void)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
gUnknown_203B494->unk0 = 0;
|
||||
gUnknown_203B494->unk14 = 0;
|
||||
gUnknown_203B494->unk16 = 0;
|
||||
gUnknown_203B494->unk18 = 0;
|
||||
gUnknown_203B494->unkC0 = 0;
|
||||
gUnknown_203B494->unk8 = 0;
|
||||
gUnknown_203B494->unkC = 0;
|
||||
gUnknown_203B494->achievements = 0;
|
||||
gUnknown_203B494->thievingSuccesses = 0;
|
||||
gUnknown_203B494->numJoined = 0;
|
||||
gUnknown_203B494->adventureMovesLearned = 0;
|
||||
gUnknown_203B494->numFloorsExplored = 0;
|
||||
gUnknown_203B494->friendRescueSuccesses = 0;
|
||||
gUnknown_203B494->numEvolved = 0;
|
||||
|
||||
for (index = 0; index < 14; index++)
|
||||
gUnknown_203B494->unk1C[index] = 0;
|
||||
|
||||
for (index = 0; index < 13; index++)
|
||||
gUnknown_203B494->unk8C[index] = 0;
|
||||
for (index = 0; index < (s32)ARRAY_COUNT(gUnknown_203B494->learnedMoves); index++)
|
||||
gUnknown_203B494->learnedMoves[index] = 0;
|
||||
}
|
||||
|
||||
void sub_80976F8(u8 r0)
|
||||
void SetAdventureAchievement(u8 x)
|
||||
{
|
||||
gUnknown_203B494->unk0 |= (1 << r0);
|
||||
gUnknown_203B494->achievements |= (1 << x);
|
||||
}
|
||||
|
||||
bool8 sub_8097710(u8 r0)
|
||||
bool8 GetAdventureAchievement(u8 x)
|
||||
{
|
||||
if (gUnknown_203B494->unk0 & (1 << r0))
|
||||
if (gUnknown_203B494->achievements & (1 << x))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
const u8 *GetAdventureLogLine(u8 index)
|
||||
const u8 *GetAdventureLogLine(u8 achievement)
|
||||
{
|
||||
return gAdventureLogText[index];
|
||||
return gAdventureLogText[achievement];
|
||||
}
|
||||
|
||||
void ResetNumAdventures(void)
|
||||
|
|
@ -99,86 +99,86 @@ UNUSED static void SetNumAdventures(s32 numAdventures)
|
|||
gUnknown_203B494->numAdventures = numAdventures;
|
||||
}
|
||||
|
||||
void sub_8097790(void)
|
||||
void IncrementFriendRescueSuccesses(void)
|
||||
{
|
||||
gUnknown_203B494->unk8++;
|
||||
if (gUnknown_203B494->unk8 > 99999)
|
||||
gUnknown_203B494->unk8 = 99999;
|
||||
gUnknown_203B494->friendRescueSuccesses++;
|
||||
if (gUnknown_203B494->friendRescueSuccesses > 99999)
|
||||
gUnknown_203B494->friendRescueSuccesses = 99999;
|
||||
|
||||
sub_80976F8(8);
|
||||
SetAdventureAchievement(AA_NUM_FRIEND_RESCUE_SUCCESSES);
|
||||
}
|
||||
|
||||
s32 sub_80977B8(void)
|
||||
s32 GetFriendRescueSuccesses(void)
|
||||
{
|
||||
return gUnknown_203B494->unk8;
|
||||
return gUnknown_203B494->friendRescueSuccesses;
|
||||
}
|
||||
|
||||
UNUSED static void sub_80977C4(s32 r0)
|
||||
UNUSED static void SetFriendRescueSuccess(s32 numSuccess)
|
||||
{
|
||||
gUnknown_203B494->unk8 = r0;
|
||||
gUnknown_203B494->friendRescueSuccesses = numSuccess;
|
||||
}
|
||||
|
||||
void sub_80977D0(void)
|
||||
void IncrementNumEvolved(void)
|
||||
{
|
||||
gUnknown_203B494->unkC++;
|
||||
if (gUnknown_203B494->unkC > 99999)
|
||||
gUnknown_203B494->unkC = 99999;
|
||||
gUnknown_203B494->numEvolved++;
|
||||
if (gUnknown_203B494->numEvolved > 99999)
|
||||
gUnknown_203B494->numEvolved = 99999;
|
||||
|
||||
sub_80976F8(9);
|
||||
SetAdventureAchievement(AA_NUM_POKEMON_EVOLVED);
|
||||
}
|
||||
|
||||
s32 sub_80977F8(void)
|
||||
s32 GetAdventureNumEvolved(void)
|
||||
{
|
||||
return gUnknown_203B494->unkC;
|
||||
return gUnknown_203B494->numEvolved;
|
||||
}
|
||||
|
||||
UNUSED static void sub_8097804(s32 r0)
|
||||
UNUSED static void SetAdventureNumEvolved(s32 numEvolved)
|
||||
{
|
||||
gUnknown_203B494->unkC = r0;
|
||||
gUnknown_203B494->numEvolved = numEvolved;
|
||||
}
|
||||
|
||||
void sub_8097810(void)
|
||||
void IncrementThievingSuccesses(void)
|
||||
{
|
||||
if (gUnknown_203B494->unk14 < 9999)
|
||||
gUnknown_203B494->unk14++;
|
||||
if (gUnknown_203B494->thievingSuccesses < 9999)
|
||||
gUnknown_203B494->thievingSuccesses++;
|
||||
|
||||
sub_80976F8(11);
|
||||
SetAdventureAchievement(AA_NUM_THIEVING_SUCCESSES);
|
||||
}
|
||||
|
||||
s16 sub_8097838(void)
|
||||
s16 GetThievingSuccesses(void)
|
||||
{
|
||||
return gUnknown_203B494->unk14;
|
||||
return gUnknown_203B494->thievingSuccesses;
|
||||
}
|
||||
|
||||
void sub_8097848(void)
|
||||
void IncrementAdventureNumJoined(void)
|
||||
{
|
||||
if (gUnknown_203B494->unk16 < 9999)
|
||||
gUnknown_203B494->unk16++;
|
||||
if (gUnknown_203B494->numJoined < 9999)
|
||||
gUnknown_203B494->numJoined++;
|
||||
|
||||
sub_80976F8(10);
|
||||
SetAdventureAchievement(AA_NUM_POKEMON_JOINED);
|
||||
}
|
||||
|
||||
s16 sub_8097870(void)
|
||||
s16 GetAdventureNumJoined(void)
|
||||
{
|
||||
return gUnknown_203B494->unk16;
|
||||
return gUnknown_203B494->numJoined;
|
||||
}
|
||||
|
||||
s16 sub_8097880(void)
|
||||
s16 GetAdventureMovesLearned(void)
|
||||
{
|
||||
return gUnknown_203B494->unk18;
|
||||
return gUnknown_203B494->adventureMovesLearned;
|
||||
}
|
||||
|
||||
void sub_8097890(void)
|
||||
void IncrementAdventureFloorsExplored(void)
|
||||
{
|
||||
if (gUnknown_203B494->unkC0 < 99999)
|
||||
gUnknown_203B494->unkC0++;
|
||||
if (gUnknown_203B494->numFloorsExplored < 99999)
|
||||
gUnknown_203B494->numFloorsExplored++;
|
||||
|
||||
sub_80976F8(12);
|
||||
SetAdventureAchievement(AA_NUM_FLOORS_EXPLORED);
|
||||
}
|
||||
|
||||
s16 sub_80978B8(void)
|
||||
s16 GetAdventureFloorsExplored(void)
|
||||
{
|
||||
return gUnknown_203B494->unkC0;
|
||||
return gUnknown_203B494->numFloorsExplored;
|
||||
}
|
||||
|
||||
void sub_80978C8(s16 pokeIndex)
|
||||
|
|
@ -191,9 +191,9 @@ void sub_80978C8(s16 pokeIndex)
|
|||
preload = gUnknown_203B494;
|
||||
iVar2 = baseSpecies;
|
||||
if (baseSpecies < 0)
|
||||
iVar2 = baseSpecies + 0x1F; // 0x1F == MONSTER_NIDOQUEEN
|
||||
iVar2 = baseSpecies + 0x1F; // 0b11111
|
||||
|
||||
preload->unk54[iVar2 >> 5] |= 1 << (baseSpecies + (iVar2 >> 5) * -0x20);
|
||||
preload->unk54[iVar2 >> 5] |= 1 << (baseSpecies + (iVar2 >> 5) * -32);
|
||||
}
|
||||
|
||||
bool8 sub_8097900(s16 pokeIndex)
|
||||
|
|
@ -206,45 +206,42 @@ bool8 sub_8097900(s16 pokeIndex)
|
|||
preload = gUnknown_203B494;
|
||||
iVar2 = baseSpecies;
|
||||
if (baseSpecies < 0)
|
||||
iVar2 = baseSpecies + 0x1F; // 0x1F == MONSTER_NIDOQUEEN
|
||||
iVar2 = baseSpecies + 0x1F; // 0b11111
|
||||
|
||||
if (preload->unk1C[iVar2 >> 5] & (1 << (baseSpecies + (iVar2 >> 5) * -0x20)))
|
||||
if (preload->unk1C[iVar2 >> 5] & (1 << (baseSpecies + (iVar2 >> 5) * -32)))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_8097944(void)
|
||||
void UpdateAdventureAchievements(void)
|
||||
{
|
||||
bool8 bVar2;
|
||||
bool8 bVar3;
|
||||
bool8 allJoined;
|
||||
bool8 allLeaders;
|
||||
s32 i, j;
|
||||
s32 counter;
|
||||
s32 moveCount;
|
||||
Move *move;
|
||||
|
||||
bVar2 = 1;
|
||||
bVar3 = 1;
|
||||
if (!sub_8097710(0xd) && (HasAllFriendAreas())) {
|
||||
sub_80976F8(0xd);
|
||||
}
|
||||
allJoined = TRUE;
|
||||
allLeaders = TRUE;
|
||||
|
||||
for(i = 0; i < NUM_MONSTERS; i++)
|
||||
{
|
||||
if (!GetAdventureAchievement(AA_ALL_FRIEND_AREAS) && HasAllFriendAreas())
|
||||
SetAdventureAchievement(AA_ALL_FRIEND_AREAS);
|
||||
|
||||
for (i = 0; i < NUM_MONSTERS; i++) {
|
||||
if (PokemonFlag1(&gRecruitedPokemonRef->pokemon[i])) {
|
||||
s32 species = gRecruitedPokemonRef->pokemon[i].speciesNum;
|
||||
gUnknown_203B494->unk1C[species / 32] |= 1 << species % 32;
|
||||
|
||||
for(j = 0; j < MAX_MON_MOVES; j++)
|
||||
{
|
||||
for (j = 0; j < MAX_MON_MOVES; j++) {
|
||||
move = &gRecruitedPokemonRef->pokemon[i].moves[j];
|
||||
if (MoveFlagExists(move)) {
|
||||
gUnknown_203B494->unk8C[move->id / 32] |= 1 << move->id % 32;
|
||||
}
|
||||
|
||||
if (MoveFlagExists(move))
|
||||
gUnknown_203B494->learnedMoves[move->id / 32] |= 1 << move->id % 32;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(i = 0; i < MONSTER_MAX; i++)
|
||||
{
|
||||
for (i = 0; i < MONSTER_MAX; i++) {
|
||||
if (i == MONSTER_NONE) continue;
|
||||
if (i == MONSTER_CASTFORM_SNOWY) continue;
|
||||
if (i == MONSTER_CASTFORM_SUNNY) continue;
|
||||
|
|
@ -258,141 +255,141 @@ void sub_8097944(void)
|
|||
if (i == MONSTER_RAYQUAZA_CUTSCENE) continue;
|
||||
|
||||
if ((gUnknown_203B494->unk54[i / 32] & 1 << i % 32) == 0)
|
||||
{
|
||||
bVar3 = 0;
|
||||
}
|
||||
if ((gUnknown_203B494->unk1C[i / 32] & 1 << i % 32) != 0)
|
||||
{
|
||||
if (i == MONSTER_MOLTRES) {
|
||||
sub_80976F8(0x10);
|
||||
}
|
||||
if (i == MONSTER_ZAPDOS) {
|
||||
sub_80976F8(0x11);
|
||||
}
|
||||
if (i == MONSTER_ARTICUNO) {
|
||||
sub_80976F8(0x12);
|
||||
}
|
||||
if (i == MONSTER_DEOXYS_NORMAL) {
|
||||
sub_80976F8(0x13);
|
||||
}
|
||||
if (i == MONSTER_ENTEI) {
|
||||
sub_80976F8(0x14);
|
||||
}
|
||||
if (i == MONSTER_RAIKOU) {
|
||||
sub_80976F8(0x15);
|
||||
}
|
||||
if (i == MONSTER_SUICUNE) {
|
||||
sub_80976F8(0x16);
|
||||
}
|
||||
if (i == MONSTER_HO_OH) {
|
||||
sub_80976F8(0x17);
|
||||
}
|
||||
if (i == MONSTER_KYOGRE) {
|
||||
sub_80976F8(0x18);
|
||||
}
|
||||
if (i == MONSTER_GROUDON) {
|
||||
sub_80976F8(0x19);
|
||||
}
|
||||
if (i == MONSTER_RAYQUAZA) {
|
||||
sub_80976F8(0x1a);
|
||||
}
|
||||
if (i == MONSTER_LUGIA) {
|
||||
sub_80976F8(0x1b);
|
||||
}
|
||||
if (i == MONSTER_CELEBI) {
|
||||
sub_80976F8(0x1c);
|
||||
}
|
||||
if (i == MONSTER_MEW) {
|
||||
sub_80976F8(0x1d);
|
||||
}
|
||||
if (i == MONSTER_MEWTWO) {
|
||||
sub_80976F8(0x1e);
|
||||
}
|
||||
if (i == MONSTER_JIRACHI) {
|
||||
sub_80976F8(0x1f);
|
||||
}
|
||||
allLeaders = FALSE;
|
||||
|
||||
if ((gUnknown_203B494->unk1C[i / 32] & 1 << i % 32) != 0) {
|
||||
if (i == MONSTER_MOLTRES)
|
||||
SetAdventureAchievement(AA_RECRUIT_MOLTRES);
|
||||
|
||||
if (i == MONSTER_ZAPDOS)
|
||||
SetAdventureAchievement(AA_RECRUIT_ZAPDOS);
|
||||
|
||||
if (i == MONSTER_ARTICUNO)
|
||||
SetAdventureAchievement(AA_RECRUIT_ARTICUNO);
|
||||
|
||||
if (i == MONSTER_DEOXYS_NORMAL)
|
||||
SetAdventureAchievement(AA_RECRUIT_DEOXYS);
|
||||
|
||||
if (i == MONSTER_ENTEI)
|
||||
SetAdventureAchievement(AA_RECRUIT_ENTEI);
|
||||
|
||||
if (i == MONSTER_RAIKOU)
|
||||
SetAdventureAchievement(AA_RECRUIT_RAIKOU);
|
||||
|
||||
if (i == MONSTER_SUICUNE)
|
||||
SetAdventureAchievement(AA_RECRUIT_SUICUNE);
|
||||
|
||||
if (i == MONSTER_HO_OH)
|
||||
SetAdventureAchievement(AA_RECRUIT_HO_OH);
|
||||
|
||||
if (i == MONSTER_KYOGRE)
|
||||
SetAdventureAchievement(AA_RECRUIT_KYOGRE);
|
||||
|
||||
if (i == MONSTER_GROUDON)
|
||||
SetAdventureAchievement(AA_RECRUIT_GROUDON);
|
||||
|
||||
if (i == MONSTER_RAYQUAZA)
|
||||
SetAdventureAchievement(AA_RECRUIT_RAYQUAZA);
|
||||
|
||||
if (i == MONSTER_LUGIA)
|
||||
SetAdventureAchievement(AA_RECRUIT_LUGIA);
|
||||
|
||||
if (i == MONSTER_CELEBI)
|
||||
SetAdventureAchievement(AA_RECRUIT_CELEBI);
|
||||
|
||||
if (i == MONSTER_MEW)
|
||||
SetAdventureAchievement(AA_RECRUIT_MEW);
|
||||
|
||||
if (i == MONSTER_MEWTWO)
|
||||
SetAdventureAchievement(AA_RECRUIT_MEWTWO);
|
||||
|
||||
if (i == MONSTER_JIRACHI)
|
||||
SetAdventureAchievement(AA_RECRUIT_JIRACHI);
|
||||
}
|
||||
else
|
||||
{
|
||||
bVar2 = 0;
|
||||
}
|
||||
allJoined = FALSE;
|
||||
}
|
||||
|
||||
if (bVar2) {
|
||||
sub_80976F8(0xf);
|
||||
if (allJoined)
|
||||
SetAdventureAchievement(AA_ALL_POKEMON_JOINED);
|
||||
|
||||
if (allLeaders)
|
||||
SetAdventureAchievement(AA_ALL_POKEMON_LEADERS);
|
||||
|
||||
moveCount = 0;
|
||||
for (i = 0; i < NUM_MOVE_IDS; i++) {
|
||||
if (i == MOVE_NOTHING || i == MOVE_REGULAR_ATTACK || i == MOVE_IS_WATCHING || i == MOVE_BIDE_2)
|
||||
continue;
|
||||
|
||||
if (gUnknown_203B494->learnedMoves[i / 32] & 1 << i % 32)
|
||||
moveCount++;
|
||||
}
|
||||
if (bVar3) {
|
||||
sub_80976F8(0xe);
|
||||
}
|
||||
counter = 0;
|
||||
for(i = 0; i < NUM_MONSTERS; i++)
|
||||
{
|
||||
if (i == MONSTER_NONE || i == MONSTER_FLYGON || i == MONSTER_CACNEA || i == MONSTER_CACTURNE) continue;
|
||||
if (gUnknown_203B494->unk8C[i / 32] & 1 << i % 32) {
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
if (counter != 0) {
|
||||
gUnknown_203B494->unk18 = counter;
|
||||
sub_80976F8(7);
|
||||
|
||||
if (moveCount != 0) {
|
||||
gUnknown_203B494->adventureMovesLearned = moveCount;
|
||||
SetAdventureAchievement(AA_NUM_MOVES_LEARNED);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8097C18(struct unkStruct_8094924 *r0)
|
||||
static void WriteAdventureBits(DataSerializer *r0)
|
||||
{
|
||||
sub_8097944();
|
||||
SaveIntegerBits(r0, &gUnknown_203B494->numAdventures, 0x11);
|
||||
SaveIntegerBits(r0, &gUnknown_203B494->unk8, 0x11);
|
||||
SaveIntegerBits(r0, &gUnknown_203B494->unkC, 0x11);
|
||||
SaveIntegerBits(r0, &gUnknown_203B494->unk0, 0x20);
|
||||
SaveIntegerBits(r0, &gUnknown_203B494->unk14, 0xE);
|
||||
SaveIntegerBits(r0, &gUnknown_203B494->unk16, 0xE);
|
||||
SaveIntegerBits(r0, &gUnknown_203B494->unk18, 0x9);
|
||||
SaveIntegerBits(r0, &gUnknown_203B494->unkC0, 0x11);
|
||||
SaveIntegerBits(r0, gUnknown_203B494->unk1C, 0xE0 << 1);
|
||||
SaveIntegerBits(r0, gUnknown_203B494->unk54, 0xE0 << 1);
|
||||
SaveIntegerBits(r0, gUnknown_203B494->unk8C, 0xD0 << 1);
|
||||
SaveDungeonLocation(r0, &gUnknown_203B494->dungeonLocation);
|
||||
UpdateAdventureAchievements();
|
||||
WriteBits(r0, &gUnknown_203B494->numAdventures, 17);
|
||||
WriteBits(r0, &gUnknown_203B494->friendRescueSuccesses, 17);
|
||||
WriteBits(r0, &gUnknown_203B494->numEvolved, 17);
|
||||
WriteBits(r0, &gUnknown_203B494->achievements, 32);
|
||||
WriteBits(r0, &gUnknown_203B494->thievingSuccesses, 14);
|
||||
WriteBits(r0, &gUnknown_203B494->numJoined, 14);
|
||||
WriteBits(r0, &gUnknown_203B494->adventureMovesLearned, 9);
|
||||
WriteBits(r0, &gUnknown_203B494->numFloorsExplored, 17);
|
||||
WriteBits(r0, gUnknown_203B494->unk1C, 14 * 32);
|
||||
WriteBits(r0, gUnknown_203B494->unk54, 14 * 32);
|
||||
WriteBits(r0, gUnknown_203B494->learnedMoves, (s32)ARRAY_COUNT(gUnknown_203B494->learnedMoves) * 32);
|
||||
WriteDungeonLocationBits(r0, &gUnknown_203B494->dungeonLocation);
|
||||
}
|
||||
|
||||
void sub_8097CC0(struct unkStruct_8094924 *r0)
|
||||
static void ReadAdventureBits(DataSerializer *r0)
|
||||
{
|
||||
RestoreIntegerBits(r0, &gUnknown_203B494->numAdventures, 0x11);
|
||||
RestoreIntegerBits(r0, &gUnknown_203B494->unk8, 0x11);
|
||||
RestoreIntegerBits(r0, &gUnknown_203B494->unkC, 0x11);
|
||||
RestoreIntegerBits(r0, &gUnknown_203B494->unk0, 0x20);
|
||||
RestoreIntegerBits(r0, &gUnknown_203B494->unk14, 0xE);
|
||||
RestoreIntegerBits(r0, &gUnknown_203B494->unk16, 0xE);
|
||||
RestoreIntegerBits(r0, &gUnknown_203B494->unk18, 0x9);
|
||||
RestoreIntegerBits(r0, &gUnknown_203B494->unkC0, 0x11);
|
||||
RestoreIntegerBits(r0, gUnknown_203B494->unk1C, 0xE0 << 1);
|
||||
RestoreIntegerBits(r0, gUnknown_203B494->unk54, 0xE0 << 1);
|
||||
RestoreIntegerBits(r0, gUnknown_203B494->unk8C, 0xD0 << 1);
|
||||
RestoreDungeonLocation(r0, &gUnknown_203B494->dungeonLocation);
|
||||
ReadBits(r0, &gUnknown_203B494->numAdventures, 17);
|
||||
ReadBits(r0, &gUnknown_203B494->friendRescueSuccesses, 17);
|
||||
ReadBits(r0, &gUnknown_203B494->numEvolved, 17);
|
||||
ReadBits(r0, &gUnknown_203B494->achievements, 32);
|
||||
ReadBits(r0, &gUnknown_203B494->thievingSuccesses, 14);
|
||||
ReadBits(r0, &gUnknown_203B494->numJoined, 14);
|
||||
ReadBits(r0, &gUnknown_203B494->adventureMovesLearned, 9);
|
||||
ReadBits(r0, &gUnknown_203B494->numFloorsExplored, 17);
|
||||
ReadBits(r0, gUnknown_203B494->unk1C, 14 * 32);
|
||||
ReadBits(r0, gUnknown_203B494->unk54, 14 * 32);
|
||||
ReadBits(r0, gUnknown_203B494->learnedMoves, (s32)ARRAY_COUNT(gUnknown_203B494->learnedMoves) * 32);
|
||||
ReadDungeonLocationBits(r0, &gUnknown_203B494->dungeonLocation);
|
||||
}
|
||||
|
||||
// Save something...
|
||||
u32 sub_8097D60(u8 *r0, u32 size)
|
||||
u32 SaveAdventureData(u8 *buffer, u32 bufLen)
|
||||
{
|
||||
struct unkStruct_8094924 backup;
|
||||
xxx_init_struct_8094924_save_809486C(&backup, r0, size);
|
||||
WriteGameOptions(&backup);
|
||||
WritePlayTime(&backup);
|
||||
sub_8097C18(&backup);
|
||||
WriteExclusivePokemon(&backup);
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
DataSerializer seri;
|
||||
|
||||
InitBitWriter(&seri, buffer, bufLen);
|
||||
|
||||
WriteGameOptionsBits(&seri);
|
||||
WritePlayTimeBits(&seri);
|
||||
WriteAdventureBits(&seri);
|
||||
WriteExclusivePokemon(&seri);
|
||||
|
||||
FinishBitSerializer(&seri);
|
||||
return seri.count;
|
||||
}
|
||||
|
||||
// Read something...
|
||||
u32 sub_8097D98(u8 *r0, u32 size)
|
||||
u32 RestoreAdventureData(u8 *buffer, u32 bufLen)
|
||||
{
|
||||
struct unkStruct_8094924 backup;
|
||||
xxx_init_struct_8094924_restore_809485C(&backup, r0, size);
|
||||
ReadGameOptions(&backup);
|
||||
ReadPlayTime(&backup);
|
||||
sub_8097CC0(&backup);
|
||||
ReadExclusivePokemon(&backup);
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
}
|
||||
DataSerializer seri;
|
||||
|
||||
InitBitReader(&seri, buffer, bufLen);
|
||||
|
||||
ReadGameOptionsBits(&seri);
|
||||
ReadPlayTimeBits(&seri);
|
||||
ReadAdventureBits(&seri);
|
||||
ReadExclusivePokemon(&seri);
|
||||
|
||||
FinishBitSerializer(&seri);
|
||||
return seri.count;
|
||||
}
|
||||
|
|
@ -2,7 +2,22 @@
|
|||
#include "globaldata.h"
|
||||
#include "common_strings.h"
|
||||
|
||||
// Probably had many entries per ptr because of languages, but USA release is english-only. Check other roms
|
||||
// The structure of this file seems to be completely different in the EU version.
|
||||
// Not sure about the JP version though - Kermalis
|
||||
|
||||
#define REGION_USA TRUE // For now
|
||||
|
||||
#if REGION_USA
|
||||
|
||||
#include "data/locale/felicity_bank_usa.h"
|
||||
#include "data/locale/gulpin_shop_usa.h"
|
||||
#include "data/locale/hints_usa.h"
|
||||
#include "data/locale/kangaskhan_storage_usa.h"
|
||||
#include "data/locale/kecleon_bros_usa.h"
|
||||
#include "data/locale/makuhita_dojo_usa.h"
|
||||
#include "data/locale/wigglytuff_shop_usa.h"
|
||||
|
||||
#endif
|
||||
|
||||
ALIGNED(4) static const u8 sYes0[] = _("Yes");
|
||||
ALIGNED(4) const u8* const gCommonYes[] = { sYes0 };
|
||||
|
|
@ -55,10 +70,337 @@ ALIGNED(4) const u8* const gCommonDepositPrompt[] = { sDepositPrompt0 };
|
|||
ALIGNED(4) static const u8 sWithdrawPrompt0[] = _("Withdraw?");
|
||||
ALIGNED(4) const u8* const gCommonWithdrawPrompt[] = { sWithdrawPrompt0 };
|
||||
|
||||
#include "data/common_strings_felicity_bank.h"
|
||||
#include "data/common_strings_kangaskhan_storage.h"
|
||||
#include "data/common_strings_kecleon_bros.h"
|
||||
#include "data/common_strings_wigglytuff_shop.h"
|
||||
#include "data/common_strings_gulpin_shop.h"
|
||||
#include "data/common_strings_makuhita_dojo.h"
|
||||
#include "data/common_strings_hints.h"
|
||||
|
||||
|
||||
ALIGNED(4) const u8* const gCommonFelicity[FEL_MODE_COUNT][FEL_DLG_MAX] =
|
||||
{
|
||||
[FEL_MODE_AWAKE] = {
|
||||
[FEL_DLG_WELCOME] = FEL_AWAKE_WELCOME,
|
||||
[FEL_DLG_HOW_MAY_I_SERVE__NO_MONEY] = FEL_AWAKE_HOW_MAY_I_SERVE__NO_MONEY,
|
||||
[FEL_DLG_HOW_MAY_I_SERVE__HAS_MONEY] = FEL_AWAKE_HOW_MAY_I_SERVE__HAS_MONEY,
|
||||
[FEL_DLG_VERY_WELL] = FEL_AWAKE_VERY_WELL,
|
||||
[FEL_DLG_BYE__NO_MONEY] = FEL_AWAKE_BYE__NO_MONEY,
|
||||
[FEL_DLG_BYE__HAS_MONEY] = FEL_AWAKE_BYE__HAS_MONEY,
|
||||
[FEL_DLG_DEPOSIT__HOW_MUCH] = FEL_AWAKE_DEPOSIT__HOW_MUCH,
|
||||
[FEL_DLG_DEPOSIT__NO_MONEY] = FEL_AWAKE_DEPOSIT__NO_MONEY,
|
||||
[FEL_DLG_DEPOSIT__BANK_FULL] = FEL_AWAKE_DEPOSIT__BANK_FULL,
|
||||
[FEL_DLG_DEPOSIT__RECEIPT] = FEL_AWAKE_DEPOSIT__RECEIPT,
|
||||
[FEL_DLG_WITHDRAW__HOW_MUCH] = FEL_AWAKE_WITHDRAW__HOW_MUCH,
|
||||
[FEL_DLG_WITHDRAW__NO_MONEY] = FEL_AWAKE_WITHDRAW__NO_MONEY,
|
||||
[FEL_DLG_WITHDRAW__WALLET_FULL] = FEL_AWAKE_WITHDRAW__WALLET_FULL,
|
||||
[FEL_DLG_WITHDRAW__RECEIPT] = FEL_AWAKE_WITHDRAW__RECEIPT,
|
||||
[FEL_DLG_HOW_IT_WORKS] = FEL_AWAKE_HOW_IT_WORKS
|
||||
},
|
||||
[FEL_MODE_ASLEEP] = {
|
||||
[FEL_DLG_WELCOME] = FEL_ASLEEP_WELCOME,
|
||||
[FEL_DLG_HOW_MAY_I_SERVE__NO_MONEY] = FEL_ASLEEP_HOW_MAY_I_SERVE__NO_MONEY,
|
||||
[FEL_DLG_HOW_MAY_I_SERVE__HAS_MONEY] = FEL_ASLEEP_HOW_MAY_I_SERVE__HAS_MONEY,
|
||||
[FEL_DLG_VERY_WELL] = FEL_ASLEEP_VERY_WELL,
|
||||
[FEL_DLG_BYE__NO_MONEY] = FEL_ASLEEP_BYE__NO_MONEY,
|
||||
[FEL_DLG_BYE__HAS_MONEY] = FEL_ASLEP_BYE__HAS_MONEY,
|
||||
[FEL_DLG_DEPOSIT__HOW_MUCH] = FEL_ASLEEP_DEPOSIT__HOW_MUCH,
|
||||
[FEL_DLG_DEPOSIT__NO_MONEY] = FEL_ASLEEP_DEPOSIT__NO_MONEY,
|
||||
[FEL_DLG_DEPOSIT__BANK_FULL] = FEL_ASLEEP_DEPOSIT__BANK_FULL,
|
||||
[FEL_DLG_DEPOSIT__RECEIPT] = FEL_ASLEEP_DEPOSIT__RECEIPT,
|
||||
[FEL_DLG_WITHDRAW__HOW_MUCH] = FEL_ASLEEP_WITHDRAW__HOW_MUCH,
|
||||
[FEL_DLG_WITHDRAW__NO_MONEY] = FEL_ASLEEP_WITHDRAW__NO_MONEY,
|
||||
[FEL_DLG_WITHDRAW__WALLET_FULL] = FEL_ASLEEP_WITHDRAW__WALLET_FULL,
|
||||
[FEL_DLG_WITHDRAW__RECEIPT] = FEL_ASLEEP_WITHDRAW__RECEIPT,
|
||||
[FEL_DLG_HOW_IT_WORKS] = FEL_ASLEEP_HOW_IT_WORKS
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8* const gCommonKangStorage[KANG_MODE_COUNT][KANG_DLG_MAX] =
|
||||
{
|
||||
[KANG_MODE_AWAKE] = {
|
||||
[KANG_DLG_WELCOME] = KANG_AWAKE_WELCOME,
|
||||
[KANG_DLG_ANYTHING_ELSE] = KANG_AWAKE_ANYTHING_ELSE,
|
||||
[KANG_DLG_BYE] = KANG_AWAKE_BYE,
|
||||
[KANG_DLG_STORE_WHAT] = KANG_AWAKE_STORE_WHAT,
|
||||
[KANG_DLG_STORE_MORE] = KANG_AWAKE_STORE_MORE,
|
||||
[KANG_DLG_DEPOSIT_ONE_PROMPT] = KANG_AWAKE_DEPOSIT_ONE_PROMPT,
|
||||
[KANG_DLG_DEPOSIT_MANY_PROMPT] = KANG_AWAKE_DEPOSIT_MANY_PROMPT,
|
||||
[KANG_DLG_DEPOSIT_CONFIRMATION] = KANG_AWAKE_DEPOSIT_CONFIRMATION,
|
||||
[KANG_DLG_TAKE_WHAT] = KANG_AWAKE_TAKE_WHAT,
|
||||
[KANG_DLG_TAKE_MORE] = KANG_AWAKE_TAKE_MORE,
|
||||
[KANG_DLG_WITHDRAW_ONE_PROMPT] = KANG_AWAKE_WITHDRAW_ONE_PROMPT,
|
||||
[KANG_DLG_WITHDRAW_MANY_PROMPT] = KANG_AWAKE_WITHDRAW_MANY_PROMPT,
|
||||
[KANG_DLG_WITHDRAW_CONFIRMATION] = KANG_AWAKE_WITHDRAW_CONFIRMATION,
|
||||
[KANG_DLG_YOU_HAVE_NOTHING] = KANG_AWAKE_YOU_HAVE_NOTHING,
|
||||
[KANG_DLG_YOU_ARE_FULL] = KANG_AWAKE_YOU_ARE_FULL,
|
||||
[KANG_DLG_STORAGE_EMPTY] = KANG_AWAKE_STORAGE_HAS_NOTHING,
|
||||
[KANG_DLG_DEPOSIT_INVALID_ITEM] = KANG_AWAKE_DEPOSIT_INVALID_ITEM,
|
||||
[KANG_DLG_DEPOSIT_TOO_MANY_OF_ITEM] = KANG_AWAKE_DEPOSIT_TOO_MANY_OF_ITEM,
|
||||
[KANG_DLG_STORAGE_FULL] = KANG_AWAKE_STORAGE_FULL,
|
||||
[KANG_DLG_HOW_IT_WORKS] = KANG_AWAKE_HOW_IT_WORKS
|
||||
},
|
||||
[KANG_MODE_ASLEEP] = {
|
||||
[KANG_DLG_WELCOME] = KANG_ASLEEP_WELCOME,
|
||||
[KANG_DLG_ANYTHING_ELSE] = KANG_ASLEEP_ANYTHING_ELSE,
|
||||
[KANG_DLG_BYE] = KANG_ASLEEP_BYE,
|
||||
[KANG_DLG_STORE_WHAT] = KANG_ASLEEP_STORE_WHAT,
|
||||
[KANG_DLG_STORE_MORE] = KANG_ASLEEP_STORE_MORE,
|
||||
[KANG_DLG_DEPOSIT_ONE_PROMPT] = KANG_ASLEEP_DEPOSIT_ONE_PROMPT,
|
||||
[KANG_DLG_DEPOSIT_MANY_PROMPT] = KANG_ASLEEP_DEPOSIT_MANY_PROMPT,
|
||||
[KANG_DLG_DEPOSIT_CONFIRMATION] = KANG_ASLEEP_DEPOSIT_CONFIRMATION,
|
||||
[KANG_DLG_TAKE_WHAT] = KANG_ASLEEP_TAKE_WHAT,
|
||||
[KANG_DLG_TAKE_MORE] = KANG_ASLEEP_TAKE_MORE,
|
||||
[KANG_DLG_WITHDRAW_ONE_PROMPT] = KANG_ASLEEP_WITHDRAW_ONE_PROMPT,
|
||||
[KANG_DLG_WITHDRAW_MANY_PROMPT] = KANG_ASLEEP_WITHDRAW_MANY_PROMPT,
|
||||
[KANG_DLG_WITHDRAW_CONFIRMATION] = KANG_ASLEEP_WITHDRAW_CONFIRMATION,
|
||||
[KANG_DLG_YOU_HAVE_NOTHING] = KANG_ASLEEP_YOU_HAVE_NOTHING,
|
||||
[KANG_DLG_YOU_ARE_FULL] = KANG_ASLEEP_YOU_ARE_FULL,
|
||||
[KANG_DLG_STORAGE_EMPTY] = KANG_ASLEEP_STORAGE_EMPTY,
|
||||
[KANG_DLG_DEPOSIT_INVALID_ITEM] = KANG_ASLEEP_DEPOSIT_INVALID_ITEM,
|
||||
[KANG_DLG_DEPOSIT_TOO_MANY_OF_ITEM] = KANG_ASLEEP_DEPOSIT_TOO_MANY_OF_ITEM,
|
||||
[KANG_DLG_STORAGE_FULL] = KANG_ASLEEP_STORAGE_FULL,
|
||||
[KANG_DLG_HOW_IT_WORKS] = KANG_ASLEEP_HOW_IT_WORKS
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8* const gCommonKecleonBros[KECLEON_BROS_MODE_COUNT][KECLEON_DLG_MAX] =
|
||||
{
|
||||
[KECLEON_BROS_MODE_ITEMS_AWAKE] = {
|
||||
[KECLEON_DLG_00] = KEC_ITEMS_AWAKE_DLG_00,
|
||||
[KECLEON_DLG_01] = KEC_ITEMS_AWAKE_DLG_01,
|
||||
[KECLEON_DLG_02] = KEC_ITEMS_AWAKE_DLG_02,
|
||||
[KECLEON_DLG_03] = KEC_ITEMS_AWAKE_DLG_03,
|
||||
[KECLEON_DLG_04] = KEC_ITEMS_AWAKE_DLG_04,
|
||||
[KECLEON_DLG_05] = KEC_ITEMS_AWAKE_DLG_05,
|
||||
[KECLEON_DLG_06] = KEC_ITEMS_AWAKE_DLG_06,
|
||||
[KECLEON_DLG_07] = KEC_ITEMS_AWAKE_DLG_07,
|
||||
[KECLEON_DLG_08] = KEC_ITEMS_AWAKE_DLG_08,
|
||||
[KECLEON_DLG_09] = KEC_ITEMS_AWAKE_DLG_09,
|
||||
[KECLEON_DLG_10] = KEC_ITEMS_AWAKE_DLG_10,
|
||||
[KECLEON_DLG_11] = KEC_ITEMS_AWAKE_DLG_11,
|
||||
[KECLEON_DLG_12] = KEC_ITEMS_AWAKE_DLG_12,
|
||||
[KECLEON_DLG_13] = KEC_ITEMS_AWAKE_DLG_13,
|
||||
[KECLEON_DLG_14] = KEC_ITEMS_AWAKE_DLG_14,
|
||||
[KECLEON_DLG_15] = KEC_ITEMS_AWAKE_DLG_15,
|
||||
[KECLEON_DLG_16] = KEC_ITEMS_AWAKE_DLG_16,
|
||||
[KECLEON_DLG_17] = KEC_ITEMS_AWAKE_DLG_17,
|
||||
[KECLEON_DLG_18] = KEC_ITEMS_AWAKE_DLG_18,
|
||||
[KECLEON_DLG_19] = KEC_ITEMS_AWAKE_DLG_19,
|
||||
[KECLEON_DLG_20] = KEC_ITEMS_AWAKE_DLG_20,
|
||||
[KECLEON_DLG_21] = KEC_ITEMS_AWAKE_DLG_21,
|
||||
[KECLEON_DLG_22] = KEC_ITEMS_AWAKE_DLG_22
|
||||
},
|
||||
[KECLEON_BROS_MODE_ITEMS_ASLEEP] = {
|
||||
[KECLEON_DLG_00] = KEC_ITEMS_ASLEEP_DLG_00,
|
||||
[KECLEON_DLG_01] = KEC_ITEMS_ASLEEP_DLG_01,
|
||||
[KECLEON_DLG_02] = KEC_ITEMS_ASLEEP_DLG_02,
|
||||
[KECLEON_DLG_03] = KEC_ITEMS_ASLEEP_DLG_03,
|
||||
[KECLEON_DLG_04] = KEC_ITEMS_ASLEEP_DLG_04,
|
||||
[KECLEON_DLG_05] = KEC_ITEMS_ASLEEP_DLG_05,
|
||||
[KECLEON_DLG_06] = KEC_ITEMS_ASLEEP_DLG_06,
|
||||
[KECLEON_DLG_07] = KEC_ITEMS_ASLEEP_DLG_07,
|
||||
[KECLEON_DLG_08] = KEC_ITEMS_ASLEEP_DLG_08,
|
||||
[KECLEON_DLG_09] = KEC_ITEMS_ASLEEP_DLG_09,
|
||||
[KECLEON_DLG_10] = KEC_ITEMS_ASLEEP_DLG_10,
|
||||
[KECLEON_DLG_11] = KEC_ITEMS_ASLEEP_DLG_11,
|
||||
[KECLEON_DLG_12] = KEC_ITEMS_ASLEEP_DLG_12,
|
||||
[KECLEON_DLG_13] = KEC_ITEMS_ASLEEP_DLG_13,
|
||||
[KECLEON_DLG_14] = KEC_ITEMS_ASLEEP_DLG_14,
|
||||
[KECLEON_DLG_15] = KEC_ITEMS_ASLEEP_DLG_15,
|
||||
[KECLEON_DLG_16] = KEC_ITEMS_ASLEEP_DLG_16,
|
||||
[KECLEON_DLG_17] = KEC_ITEMS_ASLEEP_DLG_17,
|
||||
[KECLEON_DLG_18] = KEC_ITEMS_ASLEEP_DLG_18,
|
||||
[KECLEON_DLG_19] = KEC_ITEMS_ASLEEP_DLG_19,
|
||||
[KECLEON_DLG_20] = KEC_ITEMS_ASLEEP_DLG_20,
|
||||
[KECLEON_DLG_21] = KEC_ITEMS_ASLEEP_DLG_21,
|
||||
[KECLEON_DLG_22] = KEC_ITEMS_ASLEEP_DLG_22
|
||||
},
|
||||
[KECLEON_BROS_MODE_WARES_AWAKE] = {
|
||||
[KECLEON_DLG_00] = KEC_WARES_AWAKE_DLG_00,
|
||||
[KECLEON_DLG_01] = KEC_WARES_AWAKE_DLG_01,
|
||||
[KECLEON_DLG_02] = KEC_WARES_AWAKE_DLG_02,
|
||||
[KECLEON_DLG_03] = KEC_WARES_AWAKE_DLG_03,
|
||||
[KECLEON_DLG_04] = KEC_WARES_AWAKE_DLG_04,
|
||||
[KECLEON_DLG_05] = KEC_WARES_AWAKE_DLG_05,
|
||||
[KECLEON_DLG_06] = KEC_WARES_AWAKE_DLG_06,
|
||||
[KECLEON_DLG_07] = KEC_WARES_AWAKE_DLG_07,
|
||||
[KECLEON_DLG_08] = KEC_WARES_AWAKE_DLG_08,
|
||||
[KECLEON_DLG_09] = KEC_WARES_AWAKE_DLG_09,
|
||||
[KECLEON_DLG_10] = KEC_WARES_AWAKE_DLG_10,
|
||||
[KECLEON_DLG_11] = KEC_WARES_AWAKE_DLG_11,
|
||||
[KECLEON_DLG_12] = KEC_WARES_AWAKE_DLG_12,
|
||||
[KECLEON_DLG_13] = KEC_WARES_AWAKE_DLG_13,
|
||||
[KECLEON_DLG_14] = KEC_WARES_AWAKE_DLG_14,
|
||||
[KECLEON_DLG_15] = KEC_WARES_AWAKE_DLG_15,
|
||||
[KECLEON_DLG_16] = KEC_WARES_AWAKE_DLG_16,
|
||||
[KECLEON_DLG_17] = KEC_WARES_AWAKE_DLG_17,
|
||||
[KECLEON_DLG_18] = KEC_WARES_AWAKE_DLG_18,
|
||||
[KECLEON_DLG_19] = KEC_WARES_AWAKE_DLG_19,
|
||||
[KECLEON_DLG_20] = KEC_WARES_AWAKE_DLG_20,
|
||||
[KECLEON_DLG_21] = KEC_WARES_AWAKE_DLG_21,
|
||||
[KECLEON_DLG_22] = KEC_WARES_AWAKE_DLG_22
|
||||
},
|
||||
[KECLEON_BROS_MODE_WARES_ASLEEP] = {
|
||||
[KECLEON_DLG_00] = KEC_WARES_ASLEEP_DLG_00,
|
||||
[KECLEON_DLG_01] = KEC_WARES_ASLEEP_DLG_01,
|
||||
[KECLEON_DLG_02] = KEC_WARES_ASLEEP_DLG_02,
|
||||
[KECLEON_DLG_03] = KEC_WARES_ASLEEP_DLG_03,
|
||||
[KECLEON_DLG_04] = KEC_WARES_ASLEEP_DLG_04,
|
||||
[KECLEON_DLG_05] = KEC_WARES_ASLEEP_DLG_05,
|
||||
[KECLEON_DLG_06] = KEC_WARES_ASLEEP_DLG_06,
|
||||
[KECLEON_DLG_07] = KEC_WARES_ASLEEP_DLG_07,
|
||||
[KECLEON_DLG_08] = KEC_WARES_ASLEEP_DLG_08,
|
||||
[KECLEON_DLG_09] = KEC_WARES_ASLEEP_DLG_09,
|
||||
[KECLEON_DLG_10] = KEC_WARES_ASLEEP_DLG_10,
|
||||
[KECLEON_DLG_11] = KEC_WARES_ASLEEP_DLG_11,
|
||||
[KECLEON_DLG_12] = KEC_WARES_ASLEEP_DLG_12,
|
||||
[KECLEON_DLG_13] = KEC_WARES_ASLEEP_DLG_13,
|
||||
[KECLEON_DLG_14] = KEC_WARES_ASLEEP_DLG_14,
|
||||
[KECLEON_DLG_15] = KEC_WARES_ASLEEP_DLG_15,
|
||||
[KECLEON_DLG_16] = KEC_WARES_ASLEEP_DLG_16,
|
||||
[KECLEON_DLG_17] = KEC_WARES_ASLEEP_DLG_17,
|
||||
[KECLEON_DLG_18] = KEC_WARES_ASLEEP_DLG_18,
|
||||
[KECLEON_DLG_19] = KEC_WARES_ASLEEP_DLG_19,
|
||||
[KECLEON_DLG_20] = KEC_WARES_ASLEEP_DLG_20,
|
||||
[KECLEON_DLG_21] = KEC_WARES_ASLEEP_DLG_21,
|
||||
[KECLEON_DLG_22] = KEC_WARES_ASLEEP_DLG_22
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8* const gCommonWigglytuff[WIGGLYTUFF_SHOP_MODE_COUNT][WIGGLY_DLG_MAX] =
|
||||
{
|
||||
[WIGGLYTUFF_SHOP_MODE_AWAKE] = {
|
||||
[WIGGLY_DLG_00] = WIGGLY_AWAKE_DLG_00,
|
||||
[WIGGLY_DLG_01] = WIGGLY_AWAKE_DLG_01,
|
||||
[WIGGLY_DLG_02] = WIGGLY_AWAKE_DLG_02,
|
||||
[WIGGLY_DLG_03] = WIGGLY_AWAKE_DLG_03,
|
||||
[WIGGLY_DLG_04] = WIGGLY_AWAKE_DLG_04,
|
||||
[WIGGLY_DLG_05] = WIGGLY_AWAKE_DLG_05,
|
||||
[WIGGLY_DLG_06] = WIGGLY_AWAKE_DLG_06,
|
||||
[WIGGLY_DLG_07] = WIGGLY_AWAKE_DLG_07,
|
||||
[WIGGLY_DLG_08] = WIGGLY_AWAKE_DLG_08,
|
||||
[WIGGLY_DLG_09] = WIGGLY_AWAKE_DLG_09,
|
||||
[WIGGLY_DLG_10] = WIGGLY_AWAKE_DLG_10,
|
||||
[WIGGLY_DLG_11] = WIGGLY_AWAKE_DLG_11,
|
||||
[WIGGLY_DLG_12] = WIGGLY_AWAKE_DLG_12,
|
||||
[WIGGLY_DLG_13] = WIGGLY_AWAKE_DLG_13,
|
||||
[WIGGLY_DLG_14] = WIGGLY_AWAKE_DLG_14,
|
||||
[WIGGLY_DLG_15] = WIGGLY_AWAKE_DLG_15,
|
||||
[WIGGLY_DLG_16] = WIGGLY_AWAKE_DLG_16,
|
||||
[WIGGLY_DLG_17] = WIGGLY_AWAKE_DLG_17,
|
||||
[WIGGLY_DLG_18] = WIGGLY_AWAKE_DLG_18,
|
||||
[WIGGLY_DLG_19] = WIGGLY_AWAKE_DLG_19
|
||||
},
|
||||
[WIGGLYTUFF_SHOP_MODE_ASLEEP] = {
|
||||
[WIGGLY_DLG_00] = WIGGLY_ASLEEP_DLG_00,
|
||||
[WIGGLY_DLG_01] = WIGGLY_ASLEEP_DLG_01,
|
||||
[WIGGLY_DLG_02] = WIGGLY_ASLEEP_DLG_02,
|
||||
[WIGGLY_DLG_03] = WIGGLY_ASLEEP_DLG_03,
|
||||
[WIGGLY_DLG_04] = WIGGLY_ASLEEP_DLG_04,
|
||||
[WIGGLY_DLG_05] = WIGGLY_ASLEEP_DLG_05,
|
||||
[WIGGLY_DLG_06] = WIGGLY_ASLEEP_DLG_06,
|
||||
[WIGGLY_DLG_07] = WIGGLY_ASLEEP_DLG_07,
|
||||
[WIGGLY_DLG_08] = WIGGLY_ASLEEP_DLG_08,
|
||||
[WIGGLY_DLG_09] = WIGGLY_ASLEEP_DLG_09,
|
||||
[WIGGLY_DLG_10] = WIGGLY_ASLEEP_DLG_10,
|
||||
[WIGGLY_DLG_11] = WIGGLY_ASLEEP_DLG_11,
|
||||
[WIGGLY_DLG_12] = WIGGLY_ASLEEP_DLG_12,
|
||||
[WIGGLY_DLG_13] = WIGGLY_ASLEEP_DLG_13,
|
||||
[WIGGLY_DLG_14] = WIGGLY_ASLEEP_DLG_14,
|
||||
[WIGGLY_DLG_15] = WIGGLY_ASLEEP_DLG_15,
|
||||
[WIGGLY_DLG_16] = WIGGLY_ASLEEP_DLG_16,
|
||||
[WIGGLY_DLG_17] = WIGGLY_ASLEEP_DLG_17,
|
||||
[WIGGLY_DLG_18] = WIGGLY_ASLEEP_DLG_18,
|
||||
[WIGGLY_DLG_19] = WIGGLY_ASLEEP_DLG_19
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8* const gCommonGulpin[GULPIN_SHOP_MODE_DIALOGUE_COUNT][GULPIN_DLG_MAX] =
|
||||
{
|
||||
[GULPIN_SHOP_MODE_AWAKE] = {
|
||||
[GULPIN_DLG_00] = GULP_AWAKE_DLG_00,
|
||||
[GULPIN_DLG_01] = GULP_AWAKE_DLG_01,
|
||||
[GULPIN_DLG_02] = GULP_AWAKE_DLG_02,
|
||||
[GULPIN_DLG_03] = GULP_AWAKE_DLG_03,
|
||||
[GULPIN_DLG_04] = GULP_AWAKE_DLG_04,
|
||||
[GULPIN_DLG_05] = GULP_AWAKE_DLG_05,
|
||||
[GULPIN_DLG_06] = GULP_AWAKE_DLG_06,
|
||||
[GULPIN_DLG_07] = GULP_AWAKE_DLG_07,
|
||||
[GULPIN_DLG_08] = GULP_AWAKE_DLG_08,
|
||||
[GULPIN_DLG_09] = GULP_AWAKE_DLG_09,
|
||||
[GULPIN_DLG_10] = GULP_AWAKE_DLG_10,
|
||||
[GULPIN_DLG_11] = GULP_AWAKE_DLG_11,
|
||||
[GULPIN_DLG_12] = GULP_AWAKE_DLG_12,
|
||||
[GULPIN_DLG_13] = GULP_AWAKE_DLG_13,
|
||||
[GULPIN_DLG_14] = GULP_AWAKE_DLG_14,
|
||||
[GULPIN_DLG_15] = GULP_AWAKE_DLG_15,
|
||||
[GULPIN_DLG_16] = GULP_AWAKE_DLG_16,
|
||||
[GULPIN_DLG_17] = GULP_AWAKE_DLG_17,
|
||||
[GULPIN_DLG_18] = GULP_AWAKE_DLG_18,
|
||||
[GULPIN_DLG_19] = GULP_AWAKE_DLG_19,
|
||||
[GULPIN_DLG_20] = GULP_AWAKE_DLG_20,
|
||||
[GULPIN_DLG_21] = GULP_AWAKE_DLG_21,
|
||||
[GULPIN_DLG_22] = GULP_AWAKE_DLG_22,
|
||||
[GULPIN_DLG_23] = GULP_AWAKE_DLG_23,
|
||||
[GULPIN_DLG_24] = GULP_AWAKE_DLG_24
|
||||
},
|
||||
[GULPIN_SHOP_MODE_ASLEEP] = {
|
||||
[GULPIN_DLG_00] = GULP_ASLEEP_DLG_00,
|
||||
[GULPIN_DLG_01] = GULP_ASLEEP_DLG_01,
|
||||
[GULPIN_DLG_02] = GULP_ASLEEP_DLG_02,
|
||||
[GULPIN_DLG_03] = GULP_ASLEEP_DLG_03,
|
||||
[GULPIN_DLG_04] = GULP_ASLEEP_DLG_04,
|
||||
[GULPIN_DLG_05] = GULP_ASLEEP_DLG_05,
|
||||
[GULPIN_DLG_06] = GULP_ASLEEP_DLG_06,
|
||||
[GULPIN_DLG_07] = GULP_ASLEEP_DLG_07,
|
||||
[GULPIN_DLG_08] = GULP_ASLEEP_DLG_08,
|
||||
[GULPIN_DLG_09] = GULP_ASLEEP_DLG_09,
|
||||
[GULPIN_DLG_10] = GULP_ASLEEP_DLG_10,
|
||||
[GULPIN_DLG_11] = GULP_ASLEEP_DLG_11,
|
||||
[GULPIN_DLG_12] = GULP_ASLEEP_DLG_12,
|
||||
[GULPIN_DLG_13] = GULP_ASLEEP_DLG_13,
|
||||
[GULPIN_DLG_14] = GULP_ASLEEP_DLG_14,
|
||||
[GULPIN_DLG_15] = GULP_ASLEEP_DLG_15,
|
||||
[GULPIN_DLG_16] = GULP_ASLEEP_DLG_16,
|
||||
[GULPIN_DLG_17] = GULP_ASLEEP_DLG_17,
|
||||
[GULPIN_DLG_18] = GULP_ASLEEP_DLG_18,
|
||||
[GULPIN_DLG_19] = GULP_ASLEEP_DLG_19,
|
||||
[GULPIN_DLG_20] = GULP_ASLEEP_DLG_20,
|
||||
[GULPIN_DLG_21] = GULP_ASLEEP_DLG_21,
|
||||
[GULPIN_DLG_22] = GULP_ASLEEP_DLG_22,
|
||||
[GULPIN_DLG_23] = GULP_ASLEEP_DLG_23,
|
||||
[GULPIN_DLG_24] = GULP_ASLEEP_DLG_24
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8* const gCommonMakuhita[MAKUHITA_DOJO_MODE_COUNT][MAKUHITA_DLG_MAX] =
|
||||
{
|
||||
[MAKUHITA_DOJO_MODE_AWAKE] = {
|
||||
[MAKUHITA_DLG_0] = MAKU_AWAKE_DLG_0,
|
||||
[MAKUHITA_DLG_1] = MAKU_AWAKE_DLG_1,
|
||||
[MAKUHITA_DLG_2] = MAKU_AWAKE_DLG_2,
|
||||
[MAKUHITA_DLG_3] = MAKU_AWAKE_DLG_3,
|
||||
[MAKUHITA_DLG_4] = MAKU_AWAKE_DLG_4,
|
||||
[MAKUHITA_DLG_5] = MAKU_AWAKE_DLG_5,
|
||||
[MAKUHITA_DLG_6] = MAKU_AWAKE_DLG_6,
|
||||
[MAKUHITA_DLG_7] = MAKU_AWAKE_DLG_7,
|
||||
[MAKUHITA_DLG_8] = MAKU_AWAKE_DLG_8,
|
||||
[MAKUHITA_DLG_9] = MAKU_AWAKE_DLG_9
|
||||
},
|
||||
[MAKUHITA_DOJO_MODE_ASLEEP] = {
|
||||
[MAKUHITA_DLG_0] = MAKU_ASLEEP_DLG_0,
|
||||
[MAKUHITA_DLG_1] = MAKU_ASLEEP_DLG_1,
|
||||
[MAKUHITA_DLG_2] = MAKU_ASLEEP_DLG_2,
|
||||
[MAKUHITA_DLG_3] = MAKU_ASLEEP_DLG_3,
|
||||
[MAKUHITA_DLG_4] = MAKU_ASLEEP_DLG_4,
|
||||
[MAKUHITA_DLG_5] = MAKU_ASLEEP_DLG_5,
|
||||
[MAKUHITA_DLG_6] = MAKU_ASLEEP_DLG_6,
|
||||
[MAKUHITA_DLG_7] = MAKU_ASLEEP_DLG_7,
|
||||
[MAKUHITA_DLG_8] = MAKU_ASLEEP_DLG_8,
|
||||
[MAKUHITA_DLG_9] = MAKU_ASLEEP_DLG_9
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const Hints gCommonHints[HINT_MAX] =
|
||||
{
|
||||
[HINT_TOWN_CONTROLS_1] = {HINTHEADING_TOWN_CONTROLS_1, HINTBODY_TOWN_CONTROLS_1},
|
||||
[HINT_TOWN_CONTROLS_2] = {HINTHEADING_TOWN_CONTROLS_2, HINTBODY_TOWN_CONTROLS_2},
|
||||
[HINT_SAVING] = {HINTHEADING_SAVING, HINTBODY_SAVING},
|
||||
[HINT_ADVENTURES_WITH_FRIENDS] = {HINTHEADING_ADVENTURES_WITH_FRIENDS, HINTBODY_ADVENTURES_WITH_FRIENDS},
|
||||
[HINT_BUILDING_A_TEAM] = {HINTHEADING_BUILDING_A_TEAM, HINTBODY_BUILDING_A_TEAM}
|
||||
};
|
||||
|
|
@ -1,25 +1,13 @@
|
|||
const u8 Yes_80D4878[];
|
||||
const u8 No_80D4874[];
|
||||
|
||||
const MenuItem gUnknown_80D485C[] =
|
||||
{
|
||||
{Yes_80D4878, 1},
|
||||
{No_80D4874, 0},
|
||||
{_("*Yes"), 1},
|
||||
{_("No"), 0},
|
||||
{NULL, -1}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 No_80D4874[] = "No";
|
||||
ALIGNED(4) const u8 Yes_80D4878[] = "*Yes";
|
||||
|
||||
const u8 Yes_80D489C[];
|
||||
const u8 No_80D4898[];
|
||||
|
||||
const MenuItem gUnknown_80D4880[] =
|
||||
{
|
||||
{Yes_80D489C, 1},
|
||||
{No_80D4898, 0},
|
||||
{_("Yes"), 1},
|
||||
{_("*No"), 0},
|
||||
{NULL, -1}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 No_80D4898[] = "*No";
|
||||
ALIGNED(4) const u8 Yes_80D489C[] = "Yes";
|
||||
};
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
static const MenuItem sUnknown_80DC584[3] =
|
||||
{
|
||||
{"Yes", 2},
|
||||
{"No", 3},
|
||||
{_("Yes"), 2},
|
||||
{_("No"), 3},
|
||||
{NULL, 1},
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,224 +0,0 @@
|
|||
// TODO: The strings are in reverse-order if you insert them in-line with the array creation.
|
||||
// Our preprocessor doesn't ALIGNED(4) for _("") strings. It does ALIGNED(1). This is why we do it this way for now until that's fixed
|
||||
|
||||
static const u8 sUnknown_80D4A58[];
|
||||
static const u8 sUnknown_80D4C14[];
|
||||
static const u8 sUnknown_80D4C50[];
|
||||
static const u8 sUnknown_80D4CC0[];
|
||||
static const u8 sUnknown_80D4D20[];
|
||||
static const u8 sUnknown_80D4D44[];
|
||||
static const u8 sUnknown_80D4D8C[];
|
||||
static const u8 sUnknown_80D4E28[];
|
||||
static const u8 sUnknown_80D4E84[];
|
||||
static const u8 sUnknown_80D4EB0[];
|
||||
static const u8 sUnknown_80D4EDC[];
|
||||
static const u8 sUnknown_80D4F08[];
|
||||
static const u8 sUnknown_80D4F24[];
|
||||
static const u8 sUnknown_80D4F74[];
|
||||
static const u8 sUnknown_80D4F94[];
|
||||
static const u8 sUnknown_80D4FC8[];
|
||||
static const u8 sUnknown_80D5158[];
|
||||
static const u8 sUnknown_80D5184[];
|
||||
static const u8 sUnknown_80D51DC[];
|
||||
static const u8 sUnknown_80D5224[];
|
||||
static const u8 sUnknown_80D5244[];
|
||||
static const u8 sUnknown_80D527C[];
|
||||
static const u8 sUnknown_80D52F8[];
|
||||
static const u8 sUnknown_80D5340[];
|
||||
static const u8 sUnknown_80D5364[];
|
||||
static const u8 sUnknown_80D5380[];
|
||||
static const u8 sUnknown_80D538C[];
|
||||
static const u8 sUnknown_80D53C8[];
|
||||
static const u8 sUnknown_80D53E0[];
|
||||
|
||||
ALIGNED(4) const u8* const gCommonFelicity[FEL_MODE_COUNT][FEL_DLG_MAX] =
|
||||
{
|
||||
[FEL_MODE_AWAKE] = {
|
||||
[FEL_DLG_WELCOME] = sUnknown_80D53E0,
|
||||
[FEL_DLG_HOW_MAY_I_SERVE__NO_MONEY] = sUnknown_80D53C8,
|
||||
[FEL_DLG_HOW_MAY_I_SERVE__HAS_MONEY] = sUnknown_80D538C,
|
||||
[FEL_DLG_VERY_WELL] = sUnknown_80D5380,
|
||||
[FEL_DLG_BYE__NO_MONEY] = sUnknown_80D5364,
|
||||
[FEL_DLG_BYE__HAS_MONEY] = sUnknown_80D5364,
|
||||
[FEL_DLG_DEPOSIT__HOW_MUCH] = sUnknown_80D5340,
|
||||
[FEL_DLG_DEPOSIT__NO_MONEY] = sUnknown_80D52F8,
|
||||
[FEL_DLG_DEPOSIT__BANK_FULL] = sUnknown_80D527C,
|
||||
[FEL_DLG_DEPOSIT__RECEIPT] = sUnknown_80D5244,
|
||||
[FEL_DLG_WITHDRAW__HOW_MUCH] = sUnknown_80D5224,
|
||||
[FEL_DLG_WITHDRAW__NO_MONEY] = sUnknown_80D51DC,
|
||||
[FEL_DLG_WITHDRAW__WALLET_FULL] = sUnknown_80D5184,
|
||||
[FEL_DLG_WITHDRAW__RECEIPT] = sUnknown_80D5158,
|
||||
[FEL_DLG_HOW_IT_WORKS] = sUnknown_80D4FC8
|
||||
},
|
||||
[FEL_MODE_ASLEEP] = {
|
||||
[FEL_DLG_WELCOME] = sUnknown_80D4F94,
|
||||
[FEL_DLG_HOW_MAY_I_SERVE__NO_MONEY] = sUnknown_80D4F74,
|
||||
[FEL_DLG_HOW_MAY_I_SERVE__HAS_MONEY] = sUnknown_80D4F24,
|
||||
[FEL_DLG_VERY_WELL] = sUnknown_80D4F08,
|
||||
[FEL_DLG_BYE__NO_MONEY] = sUnknown_80D4EDC,
|
||||
[FEL_DLG_BYE__HAS_MONEY] = sUnknown_80D4EB0,
|
||||
[FEL_DLG_DEPOSIT__HOW_MUCH] = sUnknown_80D4E84,
|
||||
[FEL_DLG_DEPOSIT__NO_MONEY] = sUnknown_80D4E28,
|
||||
[FEL_DLG_DEPOSIT__BANK_FULL] = sUnknown_80D4D8C,
|
||||
[FEL_DLG_DEPOSIT__RECEIPT] = sUnknown_80D4D44,
|
||||
[FEL_DLG_WITHDRAW__HOW_MUCH] = sUnknown_80D4D20,
|
||||
[FEL_DLG_WITHDRAW__NO_MONEY] = sUnknown_80D4CC0,
|
||||
[FEL_DLG_WITHDRAW__WALLET_FULL] = sUnknown_80D4C50,
|
||||
[FEL_DLG_WITHDRAW__RECEIPT] = sUnknown_80D4C14,
|
||||
[FEL_DLG_HOW_IT_WORKS] = sUnknown_80D4A58
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4A58[] = _(
|
||||
" Sssnore...\n"
|
||||
"Ah, you wish to know how the bank\n"
|
||||
"operates... Very well...{EXTRA_MSG}"
|
||||
" Zzz...\n"
|
||||
"If you're defeated in a dungeon,\n"
|
||||
"you'll lose all your money. Did you know?{EXTRA_MSG}"
|
||||
" Purr...\n"
|
||||
"But, you've nothing to fear if you leave\n"
|
||||
"your money with Felicity Bank...{EXTRA_MSG}"
|
||||
" Meow... Even if you\n"
|
||||
"return defeated from a dungeon, your\n"
|
||||
"money will be safe with me...{EXTRA_MSG}"
|
||||
" Sssnore...\n"
|
||||
"I assure you, my bank will keep your\n"
|
||||
"money safe...{EXTRA_MSG}"
|
||||
" Zzz...\n"
|
||||
"Simple, isn't it...?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4C14[] = _(
|
||||
" {POKE}... Purr...\n"
|
||||
"Very well, {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"Here you are.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4C50[] = _(
|
||||
" Fnarf? Hunh...?{EXTRA_MSG}"
|
||||
" Purr... I so do apologize,\n"
|
||||
"but you couldn't possibly carry any more\n"
|
||||
"money with you...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4CC0[] = _(
|
||||
" Fnarf? Meow...?{EXTRA_MSG}"
|
||||
" Purr...\n"
|
||||
"I so hate to disappoint, but you have no\n"
|
||||
"money saved with me...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4D20[] = _(
|
||||
" Zzz...\n"
|
||||
"How much will you withdraw?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4D44[] = _(
|
||||
" Zzz...\n"
|
||||
"{COLOR CYAN}{VALUE_0}{RESET} {POKE}... Very well...{WAIT_PRESS}\n"
|
||||
"I will guard it jealously...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4D8C[] = _(
|
||||
" Fnarf? Purr...\n"
|
||||
"Meow! All this money...{WAIT_PRESS}\n"
|
||||
"Our safe is about to burst...{EXTRA_MSG}"
|
||||
" Purr...\n"
|
||||
"I am so sorry to say, but I can't accept\n"
|
||||
"any more of your money...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4E28[] = _(
|
||||
" Sssnore... Hmm?{EXTRA_MSG}"
|
||||
" Zzz...\n"
|
||||
"I'm so sorry to say, but you appear not\n"
|
||||
"to have any money...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4E84[] = _(
|
||||
" Purr...\n"
|
||||
"How much do you wish to deposit?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4EB0[] = _(
|
||||
" Zzz... Meow...\n"
|
||||
"I await your next visit...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4EDC[] = _(
|
||||
" Zzz... Purr...\n"
|
||||
"I await your next visit...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4F08[] = _(
|
||||
" Sssnore...\n"
|
||||
"Very well...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4F24[] = _(
|
||||
" Sssnore... Purr...\n"
|
||||
"Your account contains {COLOR CYAN}{VALUE_0}{RESET} {POKE}...\n"
|
||||
"How may I serve you?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4F74[] = _(
|
||||
" Zzz...\n"
|
||||
"How may I serve you?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4F94[] = _(
|
||||
" Ssssnore... Welcome...\n"
|
||||
"This is Felicity Bank...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D4FC8[] = _(
|
||||
" Ah, you wish to know how\n"
|
||||
"the bank operates. Very well.{EXTRA_MSG}"
|
||||
" If you are defeated\n"
|
||||
"in a dungeon, you'll lose all your money.\n"
|
||||
"Did you know that?{EXTRA_MSG}"
|
||||
" But you can avoid that!{WAIT_PRESS}\n"
|
||||
"You've nothing to fear if you leave your\n"
|
||||
"money with Felicity Bank.{EXTRA_MSG}"
|
||||
" Even if you return\n"
|
||||
"defeated from a dungeon, your money will\n"
|
||||
"be safe with me!{EXTRA_MSG}"
|
||||
" I assure you, my bank\n"
|
||||
"will keep your money safe.{EXTRA_MSG}"
|
||||
" Simple, isn't it?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5158[] = _(
|
||||
" Very well, {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"Here you are.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5184[] = _(
|
||||
" Oh?{WAIT_PRESS} I do so apologize,\n"
|
||||
"but you couldn't possibly carry any more\n"
|
||||
"money with you.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D51DC[] = _(
|
||||
" Oh?{WAIT_PRESS} I so hate to disappoint,\n"
|
||||
"but you have no money saved with me.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5224[] = _(
|
||||
" How much will you\n"
|
||||
"withdraw?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5244[] = _(
|
||||
" {COLOR CYAN}{VALUE_0}{RESET} {POKE}. Very well.{WAIT_PRESS}\n"
|
||||
"I will guard it jealously.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D527C[] = _(
|
||||
" Meow! All this money!{WAIT_PRESS}\n"
|
||||
"Our safe is about to burst!{EXTRA_MSG}"
|
||||
" I am so sorry to say, but\n"
|
||||
"I can't accept any more of your money!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D52F8[] = _(
|
||||
" Oh?{WAIT_PRESS} I'm so sorry to say,\n"
|
||||
"but you appear not to have any money.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5340[] = _(
|
||||
" How much do you wish to\n"
|
||||
"deposit?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5364[] = _(" I await your next visit.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5380[] = _(" Very well.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D538C[] = _(
|
||||
" Your account contains\n"
|
||||
"{COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"How may I serve you?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D53C8[] = _(" How may I serve you?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D53E0[] = _(
|
||||
" Welcome.\n"
|
||||
"This is Felicity Bank.");
|
||||
|
|
@ -1,457 +0,0 @@
|
|||
static const u8 sUnknown_80D8950[];
|
||||
static const u8 sUnknown_80D8AB8[];
|
||||
static const u8 sUnknown_80D8BD4[];
|
||||
static const u8 sUnknown_80D8C98[];
|
||||
static const u8 sUnknown_80D8CC8[];
|
||||
static const u8 sUnknown_80D8D64[];
|
||||
static const u8 sUnknown_80D8DE8[];
|
||||
static const u8 sUnknown_80D8E28[];
|
||||
static const u8 sUnknown_80D8E48[];
|
||||
static const u8 sUnknown_80D8E9C[];
|
||||
static const u8 sUnknown_80D8EC4[];
|
||||
static const u8 sUnknown_80D8F98[];
|
||||
static const u8 sUnknown_80D9034[];
|
||||
static const u8 sUnknown_80D9080[];
|
||||
static const u8 sUnknown_80D90BC[];
|
||||
static const u8 sUnknown_80D9168[];
|
||||
static const u8 sUnknown_80D9194[];
|
||||
static const u8 sUnknown_80D91C4[];
|
||||
static const u8 sUnknown_80D91E4[];
|
||||
static const u8 sUnknown_80D9204[];
|
||||
static const u8 sUnknown_80D9234[];
|
||||
static const u8 sUnknown_80D9268[];
|
||||
static const u8 sUnknown_80D9290[];
|
||||
static const u8 sUnknown_80D92B4[];
|
||||
static const u8 sUnknown_80D92EC[];
|
||||
static const u8 sUnknown_80D9328[];
|
||||
static const u8 sUnknown_80D9498[];
|
||||
static const u8 sUnknown_80D972C[];
|
||||
static const u8 sUnknown_80D98D4[];
|
||||
static const u8 sUnknown_80D9904[];
|
||||
static const u8 sUnknown_80D9988[];
|
||||
static const u8 sUnknown_80D99F0[];
|
||||
static const u8 sUnknown_80D9A2C[];
|
||||
static const u8 sUnknown_80D9A50[];
|
||||
static const u8 sUnknown_80D9ACC[];
|
||||
static const u8 sUnknown_80D9B1C[];
|
||||
static const u8 sUnknown_80D9BD8[];
|
||||
static const u8 sUnknown_80D9C68[];
|
||||
static const u8 sUnknown_80D9CC0[];
|
||||
static const u8 sUnknown_80D9D00[];
|
||||
static const u8 sUnknown_80D9DA4[];
|
||||
static const u8 sUnknown_80D9DCC[];
|
||||
static const u8 sUnknown_80D9DF4[];
|
||||
static const u8 sUnknown_80D9E34[];
|
||||
static const u8 sUnknown_80D9E48[];
|
||||
static const u8 sUnknown_80D9E88[];
|
||||
static const u8 sUnknown_80D9EC0[];
|
||||
static const u8 sUnknown_80D9EF4[];
|
||||
static const u8 sUnknown_80D9F24[];
|
||||
static const u8 sUnknown_80D9F74[];
|
||||
|
||||
ALIGNED(4) const u8* const gCommonGulpin[GULPIN_SHOP_MODE_DIALOGUE_COUNT][GULPIN_DLG_MAX] =
|
||||
{
|
||||
[GULPIN_SHOP_MODE_AWAKE] = {
|
||||
[GULPIN_DLG_00] = sUnknown_80D9F74,
|
||||
[GULPIN_DLG_01] = sUnknown_80D9F24,
|
||||
[GULPIN_DLG_02] = sUnknown_80D9EF4,
|
||||
[GULPIN_DLG_03] = sUnknown_80D9EC0,
|
||||
[GULPIN_DLG_04] = sUnknown_80D9E88,
|
||||
[GULPIN_DLG_05] = sUnknown_80D9E48,
|
||||
[GULPIN_DLG_06] = sUnknown_80D9E34,
|
||||
[GULPIN_DLG_07] = sUnknown_80D9DF4,
|
||||
[GULPIN_DLG_08] = sUnknown_80D9DCC,
|
||||
[GULPIN_DLG_09] = sUnknown_80D9DA4,
|
||||
[GULPIN_DLG_10] = sUnknown_80D9D00,
|
||||
[GULPIN_DLG_11] = sUnknown_80D9CC0,
|
||||
[GULPIN_DLG_12] = sUnknown_80D9C68,
|
||||
[GULPIN_DLG_13] = sUnknown_80D9BD8,
|
||||
[GULPIN_DLG_14] = sUnknown_80D9B1C,
|
||||
[GULPIN_DLG_15] = sUnknown_80D9ACC,
|
||||
[GULPIN_DLG_16] = sUnknown_80D9A50,
|
||||
[GULPIN_DLG_17] = sUnknown_80D9A2C,
|
||||
[GULPIN_DLG_18] = sUnknown_80D99F0,
|
||||
[GULPIN_DLG_19] = sUnknown_80D9988,
|
||||
[GULPIN_DLG_20] = sUnknown_80D9904,
|
||||
[GULPIN_DLG_21] = sUnknown_80D98D4,
|
||||
[GULPIN_DLG_22] = sUnknown_80D972C,
|
||||
[GULPIN_DLG_23] = sUnknown_80D9498,
|
||||
[GULPIN_DLG_24] = sUnknown_80D9328
|
||||
},
|
||||
[GULPIN_SHOP_MODE_ASLEEP] = {
|
||||
[GULPIN_DLG_00] = sUnknown_80D92EC,
|
||||
[GULPIN_DLG_01] = sUnknown_80D92B4,
|
||||
[GULPIN_DLG_02] = sUnknown_80D9290,
|
||||
[GULPIN_DLG_03] = sUnknown_80D9268,
|
||||
[GULPIN_DLG_04] = sUnknown_80D9234,
|
||||
[GULPIN_DLG_05] = sUnknown_80D9204,
|
||||
[GULPIN_DLG_06] = sUnknown_80D91E4,
|
||||
[GULPIN_DLG_07] = sUnknown_80D91C4,
|
||||
[GULPIN_DLG_08] = sUnknown_80D9194,
|
||||
[GULPIN_DLG_09] = sUnknown_80D9168,
|
||||
[GULPIN_DLG_10] = sUnknown_80D90BC,
|
||||
[GULPIN_DLG_11] = sUnknown_80D9080,
|
||||
[GULPIN_DLG_12] = sUnknown_80D9034,
|
||||
[GULPIN_DLG_13] = sUnknown_80D8F98,
|
||||
[GULPIN_DLG_14] = sUnknown_80D8EC4,
|
||||
[GULPIN_DLG_15] = sUnknown_80D8E9C,
|
||||
[GULPIN_DLG_16] = sUnknown_80D8E48,
|
||||
[GULPIN_DLG_17] = sUnknown_80D8E28,
|
||||
[GULPIN_DLG_18] = sUnknown_80D8DE8,
|
||||
[GULPIN_DLG_19] = sUnknown_80D8D64,
|
||||
[GULPIN_DLG_20] = sUnknown_80D8CC8,
|
||||
[GULPIN_DLG_21] = sUnknown_80D8C98,
|
||||
[GULPIN_DLG_22] = sUnknown_80D8BD4,
|
||||
[GULPIN_DLG_23] = sUnknown_80D8AB8,
|
||||
[GULPIN_DLG_24] = sUnknown_80D8950
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8950[] = _(
|
||||
" Zzz... Snuffle...\n"
|
||||
"I'd go broke if it weren't for those\n"
|
||||
"forgetful Pokémon...{EXTRA_MSG}"
|
||||
" Zzz... Gwaaah...\n"
|
||||
"Especially that {COLOR CYAN}{POKEMON_4}{RESET}...\n"
|
||||
"It seems to be forgetful...{EXTRA_MSG}"
|
||||
" Sssnore...\n"
|
||||
"I hope it forgets more moves...\n"
|
||||
"So it needs to see me...{EXTRA_MSG}"
|
||||
" Zzz... Mumble...\n"
|
||||
"But we decided to get rid of that\n"
|
||||
"{COLOR CYAN}{POKEMON_4}{RESET}...{EXTRA_MSG}"
|
||||
" Gwaaaah... Gweh...\n"
|
||||
"{COLOR CYAN}{POKEMON_4}{RESET} won't be coming around\n"
|
||||
"anymore... ");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8AB8[] = _(
|
||||
" Zzznork...{WAIT_PRESS}\n"
|
||||
"Link moves to use them all in\n"
|
||||
"one turn...{EXTRA_MSG}"
|
||||
" Zzz... Fnurf...?\n"
|
||||
"Linked moves...\n"
|
||||
"Top one goes first...{EXTRA_MSG}"
|
||||
" Zzz... Hah...?\n"
|
||||
"Delink moves to break links...{EXTRA_MSG}"
|
||||
" Zzzzz... Fwaaah...\n"
|
||||
"Change order of moves with {R_BUTTON}...\n"
|
||||
"And up and down on {DPAD}...{EXTRA_MSG}"
|
||||
" Gwaaah... Gweh...\n"
|
||||
"Make your own links...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8BD4[] = _(
|
||||
" Zzz... Zzz...\n"
|
||||
"A set move can be used...\n"
|
||||
"Press {L_BUTTON} and {A_BUTTON}...{EXTRA_MSG}"
|
||||
" Sssnort... Set the move...{WAIT_PRESS}\n"
|
||||
"Press {L_BUTTON} and {A_BUTTON}...{WAIT_PRESS} Use move!{WAIT_PRESS}\n"
|
||||
"Convenient...{EXTRA_MSG}"
|
||||
" Sssnore...\n"
|
||||
"Switch the set move in a dungeon, too...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8C98[] = _(
|
||||
" Zzznork... Fnurfle?\n"
|
||||
"What do you want to know?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8CC8[] = _(
|
||||
" Fgwaaah...\n"
|
||||
"Here goes...{EXTRA_MSG}"
|
||||
" Zzznort...\n"
|
||||
"Gggggggg...{WAIT_PRESS} Pwah!{EXTRA_MSG}"
|
||||
" Fwaaah hah!\n"
|
||||
"There...{EXTRA_MSG}"
|
||||
" Zzz... Mutter...\n"
|
||||
"{COLOR CYAN}{POKEMON_5}{RESET} forgot...\n"
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and moves linked to it...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8D64[] = _(
|
||||
" Fgwaaah...\n"
|
||||
"Here goes...{EXTRA_MSG}"
|
||||
" Zzznort...\n"
|
||||
"Gggggggg...{WAIT_PRESS} Pwah!{EXTRA_MSG}"
|
||||
" Fwaaah hah!\n"
|
||||
"There...{EXTRA_MSG}"
|
||||
" Zzz... Mumble...\n"
|
||||
"{COLOR CYAN}{POKEMON_5}{RESET} forgot...\n"
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8DE8[] = _(
|
||||
" Zzz... Fwaah? Forget...?\n"
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and any moves\n"
|
||||
"linked to it?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8E28[] = _(
|
||||
" Zzz... Forget...?\n"
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET}?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8E48[] = _(
|
||||
" Zzznork...? Hunh?\n"
|
||||
"You're a special Pokémon...{EXTRA_MSG}"
|
||||
" Mumble...\n"
|
||||
"I can't help you...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8E9C[] = _(
|
||||
" Zzz... Fwaah?\n"
|
||||
"No moves to remember...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8EC4[] = _(
|
||||
" Fgwaaah...\n"
|
||||
"Here goes...{EXTRA_MSG}"
|
||||
" Zzznort...\n"
|
||||
"Gggggggg...{WAIT_PRESS} Pwah! Gulpin!{EXTRA_MSG}"
|
||||
" Fwaaah hah!\n"
|
||||
"There...{EXTRA_MSG}"
|
||||
" Zzz... Mumble...\n"
|
||||
"{COLOR CYAN_M}{POKEMON_5}{RESET}'s OK...{EXTRA_MSG}"
|
||||
" Sssnork... Forgotten...\n"
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and moves linked to it...\n"
|
||||
"Remembered {COLOR CYAN}{POKEMON_0}{RESET}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8F98[] = _(
|
||||
" Fgwaah...\n"
|
||||
"Here goes...{EXTRA_MSG}"
|
||||
" Zzznort...\n"
|
||||
"Gggggggg...{WAIT_PRESS} Pwah! Gulpin!{EXTRA_MSG}"
|
||||
" Fwaah hah!\n"
|
||||
"There...{EXTRA_MSG}"
|
||||
" Zzz... Zzz... {COLOR CYAN_M}{POKEMON_5}{RESET}\n"
|
||||
"forgot {COLOR GREEN}{POKEMON_1}{RESET}...\n"
|
||||
"Remembered {COLOR CYAN}{POKEMON_0}{RESET}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9034[] = _(
|
||||
" Zzz? Fnurf? \n"
|
||||
"Forget {COLOR GREEN}{POKEMON_1}{RESET}...and moves linked\n"
|
||||
"to it? Remember {COLOR CYAN}{POKEMON_0}{RESET}?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9080[] = _(
|
||||
" Zzznort... Grumble...\n"
|
||||
"Forget {COLOR GREEN}{POKEMON_1}{RESET}?\n"
|
||||
"Remember {COLOR CYAN}{POKEMON_0}{RESET}?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D90BC[] = _(
|
||||
" Zzzznort... Move...?\n"
|
||||
"Remember {COLOR CYAN}{POKEMON_0}{RESET}?{EXTRA_MSG}"
|
||||
" Fwaah...\n"
|
||||
"Gggggggggggg...{WAIT_PRESS} Gulpin!{EXTRA_MSG}"
|
||||
" Fgwaah...\n"
|
||||
"There...{EXTRA_MSG}"
|
||||
" Zzz... Zzz...\n"
|
||||
"{COLOR CYAN_M}{POKEMON_5}{RESET} remembered...\n"
|
||||
"Hunh? That move, {COLOR CYAN}{POKEMON_0}{RESET}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9168[] = _(
|
||||
" Zzz... Fgwah...?\n"
|
||||
"Remember what? What move?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9194[] = _(
|
||||
" Gwaah... Gwaah...\n"
|
||||
"Who's gonna link moves?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D91C4[] = _(
|
||||
" Zzz... Zzz...\n"
|
||||
"Come again...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D91E4[] = _(
|
||||
" Zzz... Zzz...\n"
|
||||
"Keep going...?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9204[] = _(
|
||||
" Zzznort... Zzznnort...\n"
|
||||
"Can't forget that...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9234[] = _(
|
||||
" Sssnork... Sssnork...\n"
|
||||
"Nothing to be delinked...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9268[] = _(
|
||||
" Zzz... Grumph...\n"
|
||||
"Nothing to link...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9290[] = _(
|
||||
" Zzz... Grunt?\n"
|
||||
"Not enough money...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D92B4[] = _(
|
||||
" Zzz... Gulpin Link Shop...\n"
|
||||
"Link for just 150 {POKE}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D92EC[] = _(
|
||||
" Zzz... Hello...\n"
|
||||
"Gulpin Link Shop...\n"
|
||||
"Link for 150 {POKE}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9328[] = _(
|
||||
" What if you had to forget\n"
|
||||
"a move, but you wanted it back?{WAIT_PRESS}\n"
|
||||
"Ever face that situation?{EXTRA_MSG}"
|
||||
" I can help!{WAIT_PRESS}\n"
|
||||
"Come to me, and I can make you instantly\n"
|
||||
"remember forgotten moves!{EXTRA_MSG}"
|
||||
" I...{WAIT_PRESS}\n"
|
||||
"Well, when Pokémon remember...{WAIT_PRESS}\n"
|
||||
"I love seeing that instant!{EXTRA_MSG}"
|
||||
" That look of enlightenment!{WAIT_PRESS}\n"
|
||||
"That amazed look of pleasure!{EXTRA_MSG}"
|
||||
" I run this business because\n"
|
||||
"I live to see that moment!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9498[] = _(
|
||||
" When moves are linked...{WAIT_PRESS}\n"
|
||||
"Two or more moves can be used one after\n"
|
||||
"another in one turn!{EXTRA_MSG}"
|
||||
" For example, if the moves\n"
|
||||
"{COLOR CYAN}Scratch{RESET} and {COLOR CYAN}Growl{RESET} are\n"
|
||||
"linked...{EXTRA_MSG}"
|
||||
" Both {COLOR CYAN}Scratch{RESET} and {COLOR CYAN}Growl{RESET} are\n"
|
||||
"used in one turn!{WAIT_PRESS}\n"
|
||||
"See? Amazing, huh?{EXTRA_MSG}"
|
||||
" Using links, heheh...{WAIT_PRESS}\n"
|
||||
"Well, depending on the moves you link,\n"
|
||||
"you can get incredible results!{EXTRA_MSG}"
|
||||
" Oh, yes.\n"
|
||||
"When moves are linked, they are used in\n"
|
||||
"sequence from the top one first.{EXTRA_MSG}"
|
||||
" You can also separate linked\n"
|
||||
"moves by selecting the Delink command.{EXTRA_MSG}"
|
||||
" The sequence of moves can\n"
|
||||
"be changed by pressing {R_BUTTON},\n"
|
||||
"then pressing up or down on {DPAD}.{EXTRA_MSG}"
|
||||
" Try to innovate with links.{WAIT_PRESS}\n"
|
||||
"Try creating links of your very own!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D972C[] = _(
|
||||
" When you're in a dungeon\n"
|
||||
"and you're about to use a move...{WAIT_PRESS}\n"
|
||||
"Isn't it a pain to open a window each time?{EXTRA_MSG}"
|
||||
" You can avoid that!{WAIT_PRESS}\n"
|
||||
"You can just conveniently “Set”\n"
|
||||
"a move for instant use!{EXTRA_MSG}"
|
||||
" A set move can be instantly\n"
|
||||
"used with {L_BUTTON} and {A_BUTTON}!{WAIT_PRESS}\n"
|
||||
"See? Isn't it easy?{EXTRA_MSG}"
|
||||
" Just set the move...{WAIT_PRESS}\n"
|
||||
"Hold {L_BUTTON} and then press {A_BUTTON} to use it!{WAIT_PRESS}\n"
|
||||
"It's very convenient!{EXTRA_MSG}"
|
||||
" You can also switch the set\n"
|
||||
"move in a dungeon.\n"
|
||||
"Do try it out!\n");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D98D4[] = _(
|
||||
" Sure thing!\n"
|
||||
"What do you need information on?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9904[] = _(
|
||||
" OK, here goes!{EXTRA_MSG}"
|
||||
" Gggggggg...{WAIT_PRESS} Poof!{EXTRA_MSG}"
|
||||
" There!\n"
|
||||
"Success!{EXTRA_MSG}"
|
||||
" {COLOR CYAN}{POKEMON_5}{RESET} has forgotten\n"
|
||||
"the move {COLOR GREEN}{POKEMON_1}{RESET} and any moves\n"
|
||||
"linked to it!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9988[] = _(
|
||||
" OK, here goes!{EXTRA_MSG}"
|
||||
" Gggggggg...{WAIT_PRESS} Poof!{EXTRA_MSG}"
|
||||
" There!\n"
|
||||
"Success!{EXTRA_MSG}"
|
||||
" {COLOR CYAN}{POKEMON_5}{RESET} has forgotten\n"
|
||||
"the move {COLOR GREEN}{POKEMON_1}{RESET}!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D99F0[] = _(
|
||||
" So, forget the move\n"
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and any moves linked to it?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9A2C[] = _(
|
||||
" So, forget the move\n"
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET}?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9A50[] = _(
|
||||
" Uh... Huh?{WAIT_PRESS}\n"
|
||||
"You appear to be a special Pokémon.{EXTRA_MSG}"
|
||||
" I can't help you remember\n"
|
||||
"any moves, I don't think.\n"
|
||||
"I'm sorry.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9ACC[] = _(
|
||||
" Uh... Hello?{WAIT_PRESS}\n"
|
||||
"There don't appear to be any moves that\n"
|
||||
"can be remembered.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9B1C[] = _(
|
||||
" OK, here goes!{EXTRA_MSG}"
|
||||
" Gggggggg...{WAIT_PRESS} Pwah! Gulpin!{EXTRA_MSG}"
|
||||
" There!\n"
|
||||
"Success!{EXTRA_MSG}"
|
||||
" {COLOR CYAN_M}{POKEMON_5}{RESET} is done!{EXTRA_MSG}"
|
||||
" It's forgotten the move\n"
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and any moves linked to it,\n"
|
||||
"and {COLOR CYAN}{POKEMON_0}{RESET} has been remembered!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9BD8[] = _(
|
||||
" OK, here goes!{EXTRA_MSG}"
|
||||
" Gggggggg...{WAIT_PRESS} Pwah! Gulpin!{EXTRA_MSG}"
|
||||
" There!\n"
|
||||
"Success!{EXTRA_MSG}"
|
||||
" {COLOR CYAN_M}{POKEMON_5}{RESET} has forgotten\n"
|
||||
"the move {COLOR GREEN}{POKEMON_1}{RESET} and remembered\n"
|
||||
"the move {COLOR CYAN}{POKEMON_0}{RESET}!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9C68[] = _(
|
||||
" So, forget {COLOR GREEN}{POKEMON_1}{RESET}\n"
|
||||
"and any moves linked to it, and remember\n"
|
||||
"the move {COLOR CYAN}{POKEMON_0}{RESET}?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9CC0[] = _(
|
||||
" So, forget the move\n"
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and remember the move\n"
|
||||
"{COLOR CYAN}{POKEMON_0}{RESET}?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9D00[] = _(
|
||||
" So, the move {COLOR CYAN}{POKEMON_0}{RESET}\n"
|
||||
"is the one to be remembered?{WAIT_PRESS}\n"
|
||||
"OK, here goes!{EXTRA_MSG}"
|
||||
" Gggggggggggg...{WAIT_PRESS} Gulpin!{EXTRA_MSG}"
|
||||
" There!\n"
|
||||
"Success!{EXTRA_MSG}"
|
||||
" {COLOR CYAN_M}{POKEMON_5}{RESET} has\n"
|
||||
"remembered the move {COLOR CYAN}{POKEMON_0}{RESET}!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9DA4[] = _(
|
||||
" Which move would you like\n"
|
||||
"to recall?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9DCC[] = _(
|
||||
" Good!\n"
|
||||
"Now, who wants to link moves?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9DF4[] = _(
|
||||
" Whenever you get the urge\n"
|
||||
"to link moves, please come see me!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9E34[] = _(" Shall we go on?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9E48[] = _(
|
||||
" If you forget that move,\n"
|
||||
"you won't have any moves at all.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9E88[] = _(
|
||||
" That move isn't linked,\n"
|
||||
"so it can't be delinked.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9EC0[] = _(
|
||||
" Too bad.\n"
|
||||
"There are no moves that can be linked.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9EF4[] = _(
|
||||
" Uh... Hello?\n"
|
||||
"You don't have enough money?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9F24[] = _(
|
||||
" Welcome to the Gulpin\n"
|
||||
"Link Shop!\n"
|
||||
"Link moves all you like for just 150 {POKE}!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D9F74[] = _(
|
||||
" Hello!\n"
|
||||
"Welcome to the Gulpin Link Shop!\n"
|
||||
"Link moves all you like for just 150 {POKE}!");
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
static const u8 sUnknown_80DAAC0[];
|
||||
static const u8 sUnknown_80DABD8[];
|
||||
static const u8 sUnknown_80DABE8[];
|
||||
static const u8 sUnknown_80DAD28[];
|
||||
static const u8 sUnknown_80DAD40[];
|
||||
static const u8 sUnknown_80DADCC[];
|
||||
static const u8 sUnknown_80DADD4[];
|
||||
static const u8 sUnknown_80DAECC[];
|
||||
static const u8 sUnknown_80DAEE0[];
|
||||
static const u8 sUnknown_80DAF54[];
|
||||
|
||||
ALIGNED(4) const Hints gCommonHints[NUM_HINTS] =
|
||||
{
|
||||
{sUnknown_80DAF54, sUnknown_80DAEE0},
|
||||
{sUnknown_80DAECC, sUnknown_80DADD4},
|
||||
{sUnknown_80DADCC, sUnknown_80DAD40},
|
||||
{sUnknown_80DAD28, sUnknown_80DABE8},
|
||||
{sUnknown_80DABD8, sUnknown_80DAAC0}
|
||||
};
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DAAC0[] = _(
|
||||
"Before leaving on an adventure, go visit\n"
|
||||
"friends in their Friend Areas and pick\n"
|
||||
"your mission members.\n"
|
||||
"The team can include members up to\n"
|
||||
"a total body size of 6{STAR_BULLET}. The body size\n"
|
||||
"data is under the Info section.\n"
|
||||
"Dungeons may also limit how many\n"
|
||||
"members are allowed to go inside.");
|
||||
ALIGNED(4) static const u8 sUnknown_80DABD8[] = _("Building a Team");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DABE8[] = _(
|
||||
"If new recruits join you, try to return to\n"
|
||||
"your base without letting them faint.\n"
|
||||
"If you get them out safely, they'll wait\n"
|
||||
"for you in their Friend Areas.\n"
|
||||
"Once you get them out, they'll always\n"
|
||||
"return home if they faint in a dungeon.\n"
|
||||
"If you faint in a dungeon, you lose all your\n"
|
||||
"money and some items, too.");
|
||||
ALIGNED(4) static const u8 sUnknown_80DAD28[] = _("Adventures with Friends");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DAD40[] = _(
|
||||
"You can save your adventure by\n"
|
||||
"hopping onto your bed in your base.\n"
|
||||
"Get in the habit of saving regularly as\n"
|
||||
"you progress in your adventure.");
|
||||
ALIGNED(4) static const u8 sUnknown_80DADCC[] = _("Saving");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DADD4[] = _(
|
||||
"Selecting multiple items in storage:\n"
|
||||
" Select an item, then press {L_BUTTON} or {R_BUTTON}.\n"
|
||||
"Moving to the Friend Area Map:\n"
|
||||
" Move out from the town's west side\n"
|
||||
" while pressing {L_BUTTON} or {R_BUTTON}.\n"
|
||||
"Moving diagonally on the Friend Area Map:\n"
|
||||
" {DPAD} while keeping {R_BUTTON} pressed.");
|
||||
ALIGNED(4) static const u8 sUnknown_80DAECC[] = _("Controls in Town 2");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DAEE0[] = _(
|
||||
"Talk: {A_BUTTON}\n"
|
||||
"Move: {DPAD}\n"
|
||||
"Window: {B_BUTTON} lightly\n"
|
||||
"Message scroll: {A_BUTTON} or {B_BUTTON}\n"
|
||||
"Cancel: {B_BUTTON}\n"
|
||||
"Description: Choose item or move, {START_BUTTON}");
|
||||
ALIGNED(4) static const u8 sUnknown_80DAF54[] = _("Controls in Town 1");
|
||||
|
|
@ -1,276 +0,0 @@
|
|||
static const u8 sUnknown_80D54A4[];
|
||||
static const u8 sUnknown_80D555C[];
|
||||
static const u8 sUnknown_80D5590[];
|
||||
static const u8 sUnknown_80D55C0[];
|
||||
static const u8 sUnknown_80D55F4[];
|
||||
static const u8 sUnknown_80D5630[];
|
||||
static const u8 sUnknown_80D5670[];
|
||||
static const u8 sUnknown_80D56AC[];
|
||||
static const u8 sUnknown_80D56CC[];
|
||||
static const u8 sUnknown_80D5710[];
|
||||
static const u8 sUnknown_80D574C[];
|
||||
static const u8 sUnknown_80D5774[];
|
||||
static const u8 sUnknown_80D57C4[];
|
||||
static const u8 sUnknown_80D57F4[];
|
||||
static const u8 sUnknown_80D5844[];
|
||||
static const u8 sUnknown_80D5884[];
|
||||
static const u8 sUnknown_80D58B0[];
|
||||
static const u8 sUnknown_80D5900[];
|
||||
static const u8 sUnknown_80D5934[];
|
||||
static const u8 sUnknown_80D5954[];
|
||||
static const u8 sUnknown_80D5984[];
|
||||
static const u8 sUnknown_80D5AF0[];
|
||||
static const u8 sUnknown_80D5B24[];
|
||||
static const u8 sUnknown_80D5B5C[];
|
||||
static const u8 sUnknown_80D5BAC[];
|
||||
static const u8 sUnknown_80D5BDC[];
|
||||
static const u8 sUnknown_80D5C1C[];
|
||||
static const u8 sUnknown_80D5C44[];
|
||||
static const u8 sUnknown_80D5C74[];
|
||||
static const u8 sUnknown_80D5CAC[];
|
||||
static const u8 sUnknown_80D5CE4[];
|
||||
static const u8 sUnknown_80D5D0C[];
|
||||
static const u8 sUnknown_80D5D58[];
|
||||
static const u8 sUnknown_80D5D8C[];
|
||||
static const u8 sUnknown_80D5DBC[];
|
||||
static const u8 sUnknown_80D5DE8[];
|
||||
static const u8 sUnknown_80D5E10[];
|
||||
static const u8 sUnknown_80D5E60[];
|
||||
static const u8 sUnknown_80D5E84[];
|
||||
static const u8 sUnknown_80D5E9C[];
|
||||
|
||||
ALIGNED(4) const u8* const gCommonKangStorage[KANG_MODE_COUNT][KANG_DLG_MAX] =
|
||||
{
|
||||
[KANG_MODE_AWAKE] = {
|
||||
[KANG_DLG_WELCOME] = sUnknown_80D5E9C,
|
||||
[KANG_DLG_ANYTHING_ELSE] = sUnknown_80D5E84,
|
||||
[KANG_DLG_BYE] = sUnknown_80D5E60,
|
||||
[KANG_DLG_STORE_WHAT] = sUnknown_80D5E10,
|
||||
[KANG_DLG_STORE_MORE] = sUnknown_80D5DE8,
|
||||
[KANG_DLG_DEPOSIT_ONE_PROMPT] = sUnknown_80D5DBC,
|
||||
[KANG_DLG_DEPOSIT_MANY_PROMPT] = sUnknown_80D5D8C,
|
||||
[KANG_DLG_DEPOSIT_CONFIRMATION] = sUnknown_80D5D58,
|
||||
[KANG_DLG_TAKE_WHAT] = sUnknown_80D5D0C,
|
||||
[KANG_DLG_TAKE_MORE] = sUnknown_80D5CE4,
|
||||
[KANG_DLG_WITHDRAW_ONE_PROMPT] = sUnknown_80D5CAC,
|
||||
[KANG_DLG_WITHDRAW_MANY_PROMPT] = sUnknown_80D5C74,
|
||||
[KANG_DLG_WITHDRAW_CONFIRMATION] = sUnknown_80D5C44,
|
||||
[KANG_DLG_YOU_HAVE_NOTHING] = sUnknown_80D5C1C,
|
||||
[KANG_DLG_YOU_ARE_FULL] = sUnknown_80D5BDC,
|
||||
[KANG_DLG_STORAGE_HAS_NOTHING] = sUnknown_80D5BAC,
|
||||
[KANG_DLG_DEPOSIT__INVALID_ITEM] = sUnknown_80D5B5C,
|
||||
[KANG_DLG_DEPOSIT__TOO_MANY_OF_ITEM] = sUnknown_80D5B24,
|
||||
[KANG_DLG_STORAGE_FULL] = sUnknown_80D5AF0,
|
||||
[KANG_DLG_HOW_IT_WORKS] = sUnknown_80D5984
|
||||
},
|
||||
[KANG_MODE_ASLEEP] = {
|
||||
[KANG_DLG_WELCOME] = sUnknown_80D5954,
|
||||
[KANG_DLG_ANYTHING_ELSE] = sUnknown_80D5934,
|
||||
[KANG_DLG_BYE] = sUnknown_80D5900,
|
||||
[KANG_DLG_STORE_WHAT] = sUnknown_80D58B0,
|
||||
[KANG_DLG_STORE_MORE] = sUnknown_80D5884,
|
||||
[KANG_DLG_DEPOSIT_ONE_PROMPT] = sUnknown_80D5844,
|
||||
[KANG_DLG_DEPOSIT_MANY_PROMPT] = sUnknown_80D57F4,
|
||||
[KANG_DLG_DEPOSIT_CONFIRMATION] = sUnknown_80D57C4,
|
||||
[KANG_DLG_TAKE_WHAT] = sUnknown_80D5774,
|
||||
[KANG_DLG_TAKE_MORE] = sUnknown_80D574C,
|
||||
[KANG_DLG_WITHDRAW_ONE_PROMPT] = sUnknown_80D5710,
|
||||
[KANG_DLG_WITHDRAW_MANY_PROMPT] = sUnknown_80D56CC,
|
||||
[KANG_DLG_WITHDRAW_CONFIRMATION] = sUnknown_80D56AC,
|
||||
[KANG_DLG_YOU_HAVE_NOTHING] = sUnknown_80D5670,
|
||||
[KANG_DLG_YOU_ARE_FULL] = sUnknown_80D5630,
|
||||
[KANG_DLG_STORAGE_HAS_NOTHING] = sUnknown_80D55F4,
|
||||
[KANG_DLG_DEPOSIT__INVALID_ITEM] = sUnknown_80D55C0,
|
||||
[KANG_DLG_DEPOSIT__TOO_MANY_OF_ITEM] = sUnknown_80D5590,
|
||||
[KANG_DLG_STORAGE_FULL] = sUnknown_80D555C,
|
||||
[KANG_DLG_HOW_IT_WORKS] = sUnknown_80D54A4
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D54A4[] = _(
|
||||
" Zzz... Snork!\n"
|
||||
"I can store items that you\n"
|
||||
"found in dungeons...{EXTRA_MSG}"
|
||||
" Snarfle...\n"
|
||||
"Things in storage don't get lost...{EXTRA_MSG}"
|
||||
" Zzz... Zzz...\n"
|
||||
"That's why...\n"
|
||||
"Keep important items in storage...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D555C[] = _(
|
||||
" Zzz... Zzz... No...\n"
|
||||
"The storage space is full...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5590[] = _(
|
||||
" Zzz... No...\n"
|
||||
"Can't store any more of that...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D55C0[] = _(
|
||||
" Zzz... Zzz...\n"
|
||||
"That {COLOR GREEN}{MOVE_ITEM_0}{RESET}...\n"
|
||||
"Can't store it...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D55F4[] = _(
|
||||
" Snarfle? Hunh...?{WAIT_PRESS}\n"
|
||||
"Zzz... Your storage space... Empty...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5630[] = _(
|
||||
" Snarfle? Hunh...?{WAIT_PRESS}\n"
|
||||
"Zzz...\n"
|
||||
"You don't have enough space...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5670[] = _(
|
||||
" Snarfle? Hunh...?{WAIT_PRESS}\n"
|
||||
"Zzz...\n"
|
||||
"You don't have anything...?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D56AC[] = _(
|
||||
" Zzz... Snork!\n"
|
||||
"There you go...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D56CC[] = _(
|
||||
" Zzz... Zzz... Hunh...?\n"
|
||||
"You want those things from storage...\n"
|
||||
"OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5710[] = _(
|
||||
" Hunh...? Taking...?\n"
|
||||
"Oh... You want your {COLOR GREEN}{MOVE_ITEM_0}{RESET}...\n"
|
||||
"OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D574C[] = _(
|
||||
" Snork! Zzz...\n"
|
||||
"Taking anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5774[] = _(
|
||||
" What...? Take out...?\n"
|
||||
"Uh-huh... Choose more than one using\n"
|
||||
"{L_BUTTON} or {R_BUTTON}... Zzz...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D57C4[] = _(
|
||||
" Zzz... Zzz...\n"
|
||||
"Yup, I did... Stored away...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D57F4[] = _(
|
||||
" Hunh, wha--? Storage...?\n"
|
||||
"I'll put away the things you chose...\n"
|
||||
"That OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5844[] = _(
|
||||
" Zzz... Store something?\n"
|
||||
"Gonna put {COLOR GREEN}{MOVE_ITEM_0}{RESET} in storage...\n"
|
||||
"OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5884[] = _(
|
||||
" Do you... Snork...\n"
|
||||
"Store anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D58B0[] = _(
|
||||
" Hunh, wha--? Store what...?\n"
|
||||
"You can choose more than one using\n"
|
||||
"{L_BUTTON} or {R_BUTTON}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5900[] = _(
|
||||
" Snuffle... Mutter...\n"
|
||||
"Thank you...\n"
|
||||
"Come again...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5934[] = _(
|
||||
" Zzz... Snork...\n"
|
||||
"Anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5954[] = _(
|
||||
" Zzz... Zzz...\n"
|
||||
"Hello, there...\n"
|
||||
"{POKEMON_6} Storage...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5984[] = _(
|
||||
" I can store items that you\n"
|
||||
"found in dungeons, or that you\n"
|
||||
"bought from shops.{EXTRA_MSG}"
|
||||
" If you faint in\n"
|
||||
"a dungeon, your items will be lost...{WAIT_PRESS}\n"
|
||||
"But what's in storage will be safe.{EXTRA_MSG}"
|
||||
" I keep guard over the\n"
|
||||
"storage space, so anything you leave\n"
|
||||
"with me won't ever disappear!{EXTRA_MSG}"
|
||||
" If you have any items that\n"
|
||||
"you can't bear to lose, be sure to leave\n"
|
||||
"them with me!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5AF0[] = _(
|
||||
" Sorry, dear.\n"
|
||||
"I've run out of storage space.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5B24[] = _(
|
||||
" Sorry, dear.\n"
|
||||
"I can't take any more of that item.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5B5C[] = _(
|
||||
" Oh, dear, sorry.{WAIT_PRESS}\n"
|
||||
"That {COLOR GREEN}{MOVE_ITEM_0}{RESET} is an item you\n"
|
||||
"can't put in storage.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5BAC[] = _(
|
||||
" Oh?\n"
|
||||
"You don't have anything stored, dear.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5BDC[] = _(
|
||||
" Oh? You don't have the room\n"
|
||||
"to carry any more items, dear.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5C1C[] = _(
|
||||
" Oh?\n"
|
||||
"You don't seem to have anything?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5C44[] = _(
|
||||
" There you go!\n"
|
||||
"Just like you asked, sweetie!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5C74[] = _(
|
||||
" I'll take the items you\n"
|
||||
"chose out of storage. OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5CAC[] = _(
|
||||
" Fine, I'll take your\n"
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET} out of storage. OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5CE4[] = _(
|
||||
" Would you like to take\n"
|
||||
"anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5D0C[] = _(
|
||||
" What will you take out?\n"
|
||||
"You can choose more than one item using\n"
|
||||
"{L_BUTTON} or {R_BUTTON}.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5D58[] = _(
|
||||
" OK, stored away!\n"
|
||||
"You can count on me, honey.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5D8C[] = _(
|
||||
" I'll put the items you chose\n"
|
||||
"in storage. OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5DBC[] = _(
|
||||
" I'll put your\n"
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET} in storage. OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5DE8[] = _(
|
||||
" Do you want to store\n"
|
||||
"anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5E10[] = _(
|
||||
" What do you want to store?\n"
|
||||
"You can choose more than one item using\n"
|
||||
"{L_BUTTON} or {R_BUTTON}.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5E60[] = _(
|
||||
" Thank you, sweetie.\n"
|
||||
"Come again!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5E84[] = _(" Anything else, dear?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D5E9C[] = _(
|
||||
" Hello, there!\n"
|
||||
"Welcome to {POKEMON_6} Storage.");
|
||||
|
|
@ -1,656 +0,0 @@
|
|||
static const u8 sUnknown_80D6038[];
|
||||
static const u8 sUnknown_80D6128[];
|
||||
static const u8 sUnknown_80D6168[];
|
||||
static const u8 sUnknown_80D61B0[];
|
||||
static const u8 sUnknown_80D61D4[];
|
||||
static const u8 sUnknown_80D6204[];
|
||||
static const u8 sUnknown_80D6250[];
|
||||
static const u8 sUnknown_80D627C[];
|
||||
static const u8 sUnknown_80D62B0[];
|
||||
static const u8 sUnknown_80D630C[];
|
||||
static const u8 sUnknown_80D6338[];
|
||||
static const u8 sUnknown_80D6364[];
|
||||
static const u8 sUnknown_80D6394[];
|
||||
static const u8 sUnknown_80D63E8[];
|
||||
static const u8 sUnknown_80D6420[];
|
||||
static const u8 sUnknown_80D6450[];
|
||||
static const u8 sUnknown_80D6478[];
|
||||
static const u8 sUnknown_80D6494[];
|
||||
static const u8 sUnknown_80D64C0[];
|
||||
static const u8 sUnknown_80D64E8[];
|
||||
static const u8 sUnknown_80D6508[];
|
||||
static const u8 sUnknown_80D652C[];
|
||||
static const u8 sUnknown_80D6544[];
|
||||
static const u8 sUnknown_80D6564[];
|
||||
static const u8 sUnknown_80D6818[];
|
||||
static const u8 sUnknown_80D6868[];
|
||||
static const u8 sUnknown_80D68A4[];
|
||||
static const u8 sUnknown_80D68E0[];
|
||||
static const u8 sUnknown_80D6938[];
|
||||
static const u8 sUnknown_80D6980[];
|
||||
static const u8 sUnknown_80D69B0[];
|
||||
static const u8 sUnknown_80D6A04[];
|
||||
static const u8 sUnknown_80D6A74[];
|
||||
static const u8 sUnknown_80D6AAC[];
|
||||
static const u8 sUnknown_80D6B18[];
|
||||
static const u8 sUnknown_80D6B50[];
|
||||
static const u8 sUnknown_80D6BA0[];
|
||||
static const u8 sUnknown_80D6BF4[];
|
||||
static const u8 sUnknown_80D6C1C[];
|
||||
static const u8 sUnknown_80D6C48[];
|
||||
static const u8 sUnknown_80D6C90[];
|
||||
static const u8 sUnknown_80D6CB8[];
|
||||
static const u8 sUnknown_80D6D08[];
|
||||
static const u8 sUnknown_80D6D38[];
|
||||
static const u8 sUnknown_80D6D5C[];
|
||||
static const u8 sUnknown_80D6D98[];
|
||||
static const u8 sUnknown_80D6E30[];
|
||||
static const u8 sUnknown_80D6E78[];
|
||||
static const u8 sUnknown_80D6EA4[];
|
||||
static const u8 sUnknown_80D6EEC[];
|
||||
static const u8 sUnknown_80D6F18[];
|
||||
static const u8 sUnknown_80D6F4C[];
|
||||
static const u8 sUnknown_80D6F8C[];
|
||||
static const u8 sUnknown_80D6FD4[];
|
||||
static const u8 sUnknown_80D7038[];
|
||||
static const u8 sUnknown_80D7064[];
|
||||
static const u8 sUnknown_80D7090[];
|
||||
static const u8 sUnknown_80D70B4[];
|
||||
static const u8 sUnknown_80D7108[];
|
||||
static const u8 sUnknown_80D7154[];
|
||||
static const u8 sUnknown_80D7184[];
|
||||
static const u8 sUnknown_80D71B0[];
|
||||
static const u8 sUnknown_80D71CC[];
|
||||
static const u8 sUnknown_80D7204[];
|
||||
static const u8 sUnknown_80D7228[];
|
||||
static const u8 sUnknown_80D7250[];
|
||||
static const u8 sUnknown_80D7270[];
|
||||
static const u8 sUnknown_80D72A0[];
|
||||
static const u8 sUnknown_80D72B8[];
|
||||
static const u8 sUnknown_80D7480[];
|
||||
static const u8 sUnknown_80D74DC[];
|
||||
static const u8 sUnknown_80D7524[];
|
||||
static const u8 sUnknown_80D7560[];
|
||||
static const u8 sUnknown_80D75AC[];
|
||||
static const u8 sUnknown_80D75E0[];
|
||||
static const u8 sUnknown_80D7610[];
|
||||
static const u8 sUnknown_80D7640[];
|
||||
static const u8 sUnknown_80D76A8[];
|
||||
static const u8 sUnknown_80D76D4[];
|
||||
static const u8 sUnknown_80D7740[];
|
||||
static const u8 sUnknown_80D776C[];
|
||||
static const u8 sUnknown_80D77C0[];
|
||||
static const u8 sUnknown_80D780C[];
|
||||
static const u8 sUnknown_80D7830[];
|
||||
static const u8 sUnknown_80D785C[];
|
||||
static const u8 sUnknown_80D788C[];
|
||||
static const u8 sUnknown_80D78CC[];
|
||||
static const u8 sUnknown_80D78F8[];
|
||||
static const u8 sUnknown_80D7934[];
|
||||
static const u8 sUnknown_80D7958[];
|
||||
static const u8 sUnknown_80D797C[];
|
||||
|
||||
ALIGNED(4) const u8* const gCommonKecleonBros[KECLEON_BROS_MODE_COUNT][KECLEON_DLG_MAX] =
|
||||
{
|
||||
[KECLEON_BROS_MODE_ITEMS_AWAKE] = {
|
||||
[KECLEON_DLG_00] = sUnknown_80D797C,
|
||||
[KECLEON_DLG_01] = sUnknown_80D7958,
|
||||
[KECLEON_DLG_02] = sUnknown_80D7934,
|
||||
[KECLEON_DLG_03] = sUnknown_80D78F8,
|
||||
[KECLEON_DLG_04] = sUnknown_80D78CC,
|
||||
[KECLEON_DLG_05] = sUnknown_80D788C,
|
||||
[KECLEON_DLG_06] = sUnknown_80D785C,
|
||||
[KECLEON_DLG_07] = sUnknown_80D7830,
|
||||
[KECLEON_DLG_08] = sUnknown_80D780C,
|
||||
[KECLEON_DLG_09] = sUnknown_80D77C0,
|
||||
[KECLEON_DLG_10] = sUnknown_80D776C,
|
||||
[KECLEON_DLG_11] = sUnknown_80D7740,
|
||||
[KECLEON_DLG_12] = sUnknown_80D76D4,
|
||||
[KECLEON_DLG_13] = sUnknown_80D76A8,
|
||||
[KECLEON_DLG_14] = sUnknown_80D7640,
|
||||
[KECLEON_DLG_15] = sUnknown_80D7610,
|
||||
[KECLEON_DLG_16] = sUnknown_80D75E0,
|
||||
[KECLEON_DLG_17] = sUnknown_80D75AC,
|
||||
[KECLEON_DLG_18] = sUnknown_80D7560,
|
||||
[KECLEON_DLG_19] = sUnknown_80D7524,
|
||||
[KECLEON_DLG_20] = sUnknown_80D74DC,
|
||||
[KECLEON_DLG_21] = sUnknown_80D7480,
|
||||
[KECLEON_DLG_22] = sUnknown_80D72B8
|
||||
},
|
||||
[KECLEON_BROS_MODE_ITEMS_ASLEEP] = {
|
||||
[KECLEON_DLG_00] = sUnknown_80D72A0,
|
||||
[KECLEON_DLG_01] = sUnknown_80D7270,
|
||||
[KECLEON_DLG_02] = sUnknown_80D7250,
|
||||
[KECLEON_DLG_03] = sUnknown_80D7228,
|
||||
[KECLEON_DLG_04] = sUnknown_80D7204,
|
||||
[KECLEON_DLG_05] = sUnknown_80D71CC,
|
||||
[KECLEON_DLG_06] = sUnknown_80D71B0,
|
||||
[KECLEON_DLG_07] = sUnknown_80D7184,
|
||||
[KECLEON_DLG_08] = sUnknown_80D7154,
|
||||
[KECLEON_DLG_09] = sUnknown_80D7108,
|
||||
[KECLEON_DLG_10] = sUnknown_80D70B4,
|
||||
[KECLEON_DLG_11] = sUnknown_80D7090,
|
||||
[KECLEON_DLG_12] = sUnknown_80D7064,
|
||||
[KECLEON_DLG_13] = sUnknown_80D7038,
|
||||
[KECLEON_DLG_14] = sUnknown_80D6FD4,
|
||||
[KECLEON_DLG_15] = sUnknown_80D6F8C,
|
||||
[KECLEON_DLG_16] = sUnknown_80D6F4C,
|
||||
[KECLEON_DLG_17] = sUnknown_80D6F18,
|
||||
[KECLEON_DLG_18] = sUnknown_80D6EEC,
|
||||
[KECLEON_DLG_19] = sUnknown_80D6EA4,
|
||||
[KECLEON_DLG_20] = sUnknown_80D6E78,
|
||||
[KECLEON_DLG_21] = sUnknown_80D6E30,
|
||||
[KECLEON_DLG_22] = sUnknown_80D6D98
|
||||
},
|
||||
[KECLEON_BROS_MODE_WARES_AWAKE] = {
|
||||
[KECLEON_DLG_00] = sUnknown_80D6D5C,
|
||||
[KECLEON_DLG_01] = sUnknown_80D6D38,
|
||||
[KECLEON_DLG_02] = sUnknown_80D6D08,
|
||||
[KECLEON_DLG_03] = sUnknown_80D6CB8,
|
||||
[KECLEON_DLG_04] = sUnknown_80D6C90,
|
||||
[KECLEON_DLG_05] = sUnknown_80D6C48,
|
||||
[KECLEON_DLG_06] = sUnknown_80D6C1C,
|
||||
[KECLEON_DLG_07] = sUnknown_80D7830,
|
||||
[KECLEON_DLG_08] = sUnknown_80D6BF4,
|
||||
[KECLEON_DLG_09] = sUnknown_80D6BA0,
|
||||
[KECLEON_DLG_10] = sUnknown_80D6B50,
|
||||
[KECLEON_DLG_11] = sUnknown_80D6B18,
|
||||
[KECLEON_DLG_12] = sUnknown_80D6AAC,
|
||||
[KECLEON_DLG_13] = sUnknown_80D6A74,
|
||||
[KECLEON_DLG_14] = sUnknown_80D6A04,
|
||||
[KECLEON_DLG_15] = sUnknown_80D69B0,
|
||||
[KECLEON_DLG_16] = sUnknown_80D6980,
|
||||
[KECLEON_DLG_17] = sUnknown_80D6938,
|
||||
[KECLEON_DLG_18] = sUnknown_80D68E0,
|
||||
[KECLEON_DLG_19] = sUnknown_80D68A4,
|
||||
[KECLEON_DLG_20] = sUnknown_80D6868,
|
||||
[KECLEON_DLG_21] = sUnknown_80D6818,
|
||||
[KECLEON_DLG_22] = sUnknown_80D6564
|
||||
},
|
||||
[KECLEON_BROS_MODE_WARES_ASLEEP] = {
|
||||
[KECLEON_DLG_00] = sUnknown_80D6544,
|
||||
[KECLEON_DLG_01] = sUnknown_80D652C,
|
||||
[KECLEON_DLG_02] = sUnknown_80D6508,
|
||||
[KECLEON_DLG_03] = sUnknown_80D64E8,
|
||||
[KECLEON_DLG_04] = sUnknown_80D64C0,
|
||||
[KECLEON_DLG_05] = sUnknown_80D6494,
|
||||
[KECLEON_DLG_06] = sUnknown_80D6478,
|
||||
[KECLEON_DLG_07] = sUnknown_80D6450,
|
||||
[KECLEON_DLG_08] = sUnknown_80D6420,
|
||||
[KECLEON_DLG_09] = sUnknown_80D63E8,
|
||||
[KECLEON_DLG_10] = sUnknown_80D6394,
|
||||
[KECLEON_DLG_11] = sUnknown_80D6364,
|
||||
[KECLEON_DLG_12] = sUnknown_80D6338,
|
||||
[KECLEON_DLG_13] = sUnknown_80D630C,
|
||||
[KECLEON_DLG_14] = sUnknown_80D62B0,
|
||||
[KECLEON_DLG_15] = sUnknown_80D627C,
|
||||
[KECLEON_DLG_16] = sUnknown_80D6250,
|
||||
[KECLEON_DLG_17] = sUnknown_80D6204,
|
||||
[KECLEON_DLG_18] = sUnknown_80D61D4,
|
||||
[KECLEON_DLG_19] = sUnknown_80D61B0,
|
||||
[KECLEON_DLG_20] = sUnknown_80D6168,
|
||||
[KECLEON_DLG_21] = sUnknown_80D6128,
|
||||
[KECLEON_DLG_22] = sUnknown_80D6038
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6038[] = _(
|
||||
" Zzz... Reep reep...\n"
|
||||
"Wonder Orbs are convenient...{EXTRA_MSG}"
|
||||
" Zzzzzz...\n"
|
||||
"They disappear after one use...{EXTRA_MSG}"
|
||||
" Zzz... And moves...\n"
|
||||
"They are ultimate...{EXTRA_MSG}"
|
||||
" Zzz... Eep...\n"
|
||||
"Learn moves with Technical Machines...{EXTRA_MSG}"
|
||||
" Zzz...\n"
|
||||
"My good wares...\n"
|
||||
"Come buy... Reep...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6128[] = _(
|
||||
" Zzz... Eep? No, no...{WAIT_PRESS}\n"
|
||||
"You cannot hold any more money...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6168[] = _(
|
||||
" Zzz... Hunh? Wha--? Whoa!{WAIT_PRESS}\n"
|
||||
"I... I can't accept anything like that!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D61B0[] = _(
|
||||
" Reep...? Eep!{WAIT_PRESS}\n"
|
||||
"Not enough money!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D61D4[] = _(
|
||||
" Zzz... Uh-oh...{WAIT_PRESS}\n"
|
||||
"All gone!\n"
|
||||
"I am sold out...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6204[] = _(
|
||||
" Zzz... Hunh? Oh...{WAIT_PRESS}\n"
|
||||
"Reep... No room... Reep...\n"
|
||||
"No room for my wares...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6250[] = _(
|
||||
" Zzzzzz... Oh?{WAIT_PRESS}\n"
|
||||
"You've got nothing...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D627C[] = _(
|
||||
" Zzz... Oh...?{WAIT_PRESS}\n"
|
||||
"You have nothing to sell...\n"
|
||||
"Hunh?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D62B0[] = _(
|
||||
" Eep...? Zzz...\n"
|
||||
"You have too much money!{EXTRA_MSG}"
|
||||
" Zzz... Eh?\n"
|
||||
"You can't hold any more money...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D630C[] = _(
|
||||
" Reep eep! Oh?{WAIT_PRESS}\n"
|
||||
"Eep...?\n"
|
||||
"You have no money?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6338[] = _(
|
||||
" ...{WAIT_PRESS}Zzz...\n"
|
||||
"I am all sold out... Sorry...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6364[] = _(
|
||||
" Fine... Reep reep...\n"
|
||||
"Done deal!\n"
|
||||
"Thank you...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6394[] = _(
|
||||
" Zzz... Reep, what...?\n"
|
||||
"For all that I can buy, I will pay\n"
|
||||
"{COLOR CYAN}{VALUE_0}{RESET} {POKE}... OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D63E8[] = _(
|
||||
" Zzzzzz... Zzzzzz...?\n"
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET}?\n"
|
||||
"Is {COLOR CYAN}{VALUE_0}{RESET} {POKE} OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6420[] = _(
|
||||
" Reep reep... Eep...\n"
|
||||
"Anything else for sale?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6450[] = _(
|
||||
" Zzz... Eep...?\n"
|
||||
"What will you sell...?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6478[] = _(
|
||||
" Zzz... Reep!\n"
|
||||
"Thank you...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6494[] = _(
|
||||
" Zzzzzz...\n"
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET} is {COLOR CYAN}{VALUE_0}{RESET} {POKE}...\n"
|
||||
"OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D64C0[] = _(
|
||||
" Anything? Zzz...\n"
|
||||
"Buying anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D64E8[] = _(
|
||||
" Ah... Zzz...\n"
|
||||
"My merchandise...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6508[] = _(
|
||||
" Thank... Reep eep...\n"
|
||||
"Come again...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D652C[] = _(
|
||||
" Reep...\n"
|
||||
"Anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6544[] = _(
|
||||
" Zzzzzz...\n"
|
||||
"This is...my shop...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6564[] = _(
|
||||
" Wonder Orbs are very,\n"
|
||||
"very convenient〜♪{EXTRA_MSG}"
|
||||
" However, they disappear\n"
|
||||
"after one use...{WAIT_PRESS}\n"
|
||||
"But they are useful in a pinch!{EXTRA_MSG}"
|
||||
" Use them cleverly, and your\n"
|
||||
"adventures will be made much easier〜♪{EXTRA_MSG}"
|
||||
" And moves...{WAIT_PRESS}\n"
|
||||
"They are the ultimate power!{EXTRA_MSG}"
|
||||
" Smash rocks!{WAIT_PRESS} Fly!{WAIT_PRESS}\n"
|
||||
"There are many kinds of moves, all of\n"
|
||||
"them dynamic, yet elegant!{EXTRA_MSG}"
|
||||
" There are even moves of\n"
|
||||
"obscure rarity...{WAIT_PRESS}\n"
|
||||
"Simply gorgeous, they are!{EXTRA_MSG}"
|
||||
" Now, we have these moves!{WAIT_PRESS}\n"
|
||||
"They can be learned using our Technical\n"
|
||||
"Machines, or TMs for short!{EXTRA_MSG}"
|
||||
" You see?\n"
|
||||
"Isn't it exciting? Even dreamy?{EXTRA_MSG}"
|
||||
" Why, it gets me so excited,\n"
|
||||
"my color has turned a rosy tint!{EXTRA_MSG}"
|
||||
" I do hope you will shop\n"
|
||||
"with us--me and my brother next to\n"
|
||||
"me!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6818[] = _(
|
||||
" Oh, no, no!{WAIT_PRESS}\n"
|
||||
"My friend, you cannot add to your money!\n"
|
||||
"I cannot do this.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6868[] = _(
|
||||
" Whoa, whoa!{WAIT_PRESS}\n"
|
||||
"I... I can't accept anything like that!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D68A4[] = _(
|
||||
" Eep! Oh, dear!{WAIT_PRESS}\n"
|
||||
"You're short on money, my friend!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D68E0[] = _(
|
||||
" Oh? Uh-oh!{WAIT_PRESS}\n"
|
||||
"My shelves are bare of wares!{EXTRA_MSG}"
|
||||
" I am completely sold out,\n"
|
||||
"my friend!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6938[] = _(
|
||||
" Oh, dear me!{WAIT_PRESS}\n"
|
||||
"My friend, you've run out of space for\n"
|
||||
"my wares!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6980[] = _(
|
||||
" Oh?{WAIT_PRESS}\n"
|
||||
"My friend, you seem to have nothing?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D69B0[] = _(
|
||||
" Oh, oh, oh?{WAIT_PRESS}\n"
|
||||
"My friend, you seem to not have anything\n"
|
||||
"that you can sell?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6A04[] = _(
|
||||
" Oh, my, my!\n"
|
||||
"My friend, you have too much money!{EXTRA_MSG}"
|
||||
" You can't carry any more\n"
|
||||
"money than you have now.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6A74[] = _(
|
||||
" Oh?{WAIT_PRESS}\n"
|
||||
"My friend, you seem not to have\n"
|
||||
"enough money?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6AAC[] = _(
|
||||
" ...{WAIT_PRESS}I am all out of wares...\n"
|
||||
"I am so sorry, my friend...{EXTRA_MSG}"
|
||||
" Tomorrow!\n"
|
||||
"Tomorrow I shall have more wares!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6B18[] = _(
|
||||
" Fine, fine, we have a deal!\n"
|
||||
"Thank you so much〜♪ ");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6B50[] = _(
|
||||
" For all that I can buy, I can\n"
|
||||
"offer you {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"Is that acceptable?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6BA0[] = _(
|
||||
" {COLOR GREEN}{MOVE_ITEM_0}{RESET}, you say?\n"
|
||||
"For that, I can offer {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"Is that acceptable?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6BF4[] = _(
|
||||
" Do you wish to sell me\n"
|
||||
"anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6C1C[] = _(
|
||||
" Thank you so much〜♪\n"
|
||||
"A very good choice!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6C48[] = _(
|
||||
" {COLOR GREEN}{MOVE_ITEM_0}{RESET}, you say?\n"
|
||||
"That will be {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"Is that acceptable?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6C90[] = _(
|
||||
" Do you wish to purchase\n"
|
||||
"anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6CB8[] = _(
|
||||
" Ah, very well!\n"
|
||||
"Do examine my merchandise.\n"
|
||||
"I have chosen it with pride〜♪ ");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6D08[] = _(
|
||||
" Thank you so much!\n"
|
||||
"Please do visit again〜♪ ");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6D38[] = _(
|
||||
" May I assist you in any\n"
|
||||
"other way?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6D5C[] = _(
|
||||
" Welcome to Kecleon Wares!\n"
|
||||
"The shop for Orbs and TMs〜♪ ");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6D98[] = _(
|
||||
" Zzzzzz...\n"
|
||||
"I sell items...{EXTRA_MSG}"
|
||||
" Items... Meep meep...\n"
|
||||
"Are useful in dungeons...{EXTRA_MSG}"
|
||||
" Use... Zzz... Huh...?\n"
|
||||
"Your imagination...and be clever...\n"
|
||||
"With them...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6E30[] = _(
|
||||
" Zzz... Hunh, what...?{WAIT_PRESS}\n"
|
||||
"Zzz... You can't hold any more money...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6E78[] = _(
|
||||
" Zzz... Whoa...{WAIT_PRESS}\n"
|
||||
"I... I can't take that!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6EA4[] = _(
|
||||
" Zzz... Huh, my...!{WAIT_PRESS}\n"
|
||||
"Meep... Meep...\n"
|
||||
"You don't have enough money!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6EEC[] = _(
|
||||
" Zzz... Uh-oh?!{WAIT_PRESS}\n"
|
||||
"Eep!\n"
|
||||
"Sold out! All gone!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6F18[] = _(
|
||||
" Zzz... Oh, my!{WAIT_PRESS}\n"
|
||||
"Meep... You have no space...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6F4C[] = _(
|
||||
" Zzz... Eep...?{WAIT_PRESS}\n"
|
||||
"Meep... You don't seem to have\n"
|
||||
"anything...?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6F8C[] = _(
|
||||
" Zzz... Huh?{WAIT_PRESS}\n"
|
||||
"Meep meep...\n"
|
||||
"You don't seem to have anything to sell?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D6FD4[] = _(
|
||||
" Zzz... Oh, my!\n"
|
||||
"You have so much money...!{EXTRA_MSG}"
|
||||
" Zzz... Meep...\n"
|
||||
"You can't carry any more money...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7038[] = _(
|
||||
" Hunh?{WAIT_PRESS}\n"
|
||||
"Eep...?\n"
|
||||
"You don't have money?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7064[] = _(
|
||||
" ...{WAIT_PRESS} ZZZ!\n"
|
||||
"I'm sold out... Forgive me...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7090[] = _(
|
||||
" Done... Meep! Deal!\n"
|
||||
"Thank you...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D70B4[] = _(
|
||||
" Zzzzzz... Zzzzzz...?\n"
|
||||
"I can pay you {COLOR CYAN}{VALUE_0}{RESET} {POKE}\n"
|
||||
"for everything I can buy... OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7108[] = _(
|
||||
" Zzzzzz... Zzzzzz...?\n"
|
||||
"Selling that {COLOR GREEN}{MOVE_ITEM_0}{RESET}...?\n"
|
||||
"How about {COLOR CYAN}{VALUE_0}{RESET} {POKE}?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7154[] = _(
|
||||
" Zzz... Meep...\n"
|
||||
"Going to sell anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7184[] = _(
|
||||
" Zzz... Zzz...?\n"
|
||||
"You're selling what...?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D71B0[] = _(
|
||||
" Eep! Wah...?\n"
|
||||
"Thank you...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D71CC[] = _(
|
||||
" Zzz... Meep meep...\n"
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET}...?\n"
|
||||
"{COLOR CYAN}{VALUE_0}{RESET} {POKE}, OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7204[] = _(
|
||||
" Buy? Huh, eep?\n"
|
||||
"Anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7228[] = _(
|
||||
" Zzz... Meep... Eep...\n"
|
||||
"Look around...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7250[] = _(
|
||||
" Thank... Zzz...\n"
|
||||
"Thank you...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7270[] = _(
|
||||
" Zzz... Meep...\n"
|
||||
"Help you with anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D72A0[] = _(
|
||||
" Zzzzzz...\n"
|
||||
"Welcome...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D72B8[] = _(
|
||||
" We, the {POKEMON_6}\n"
|
||||
"Brothers, have a passion for selling\n"
|
||||
"items.{EXTRA_MSG}"
|
||||
" Items are useful for your\n"
|
||||
"dungeon adventures.{EXTRA_MSG}"
|
||||
" Use your imagination and\n"
|
||||
"discover innovative uses, please.{EXTRA_MSG}"
|
||||
" Ah, yes.\n"
|
||||
"If my shop sells out...{EXTRA_MSG}"
|
||||
" New merchandise will\n"
|
||||
"arrive the following day.{EXTRA_MSG}"
|
||||
" Until then, please go to\n"
|
||||
"a dungeon and spend some time.\n"
|
||||
"Please visit on your return〜♪{EXTRA_MSG}"
|
||||
" Ah, yes. The {POKEMON_6}\n"
|
||||
"Shop is a nationwide chain.{EXTRA_MSG}"
|
||||
" There are shops even in\n"
|
||||
"dungeons.\n"
|
||||
"Please do visit〜♪ ");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7480[] = _(
|
||||
" Oh, my!{WAIT_PRESS}\n"
|
||||
"You can't add any more to your money.\n"
|
||||
"I can't complete this deal, sorry.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D74DC[] = _(
|
||||
" Oh, whoa, whoa!{WAIT_PRESS}\n"
|
||||
"I... I couldn't possibly take that from you!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7524[] = _(
|
||||
" Oh, my!{WAIT_PRESS}\n"
|
||||
"Sorry, but you don't have enough money!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7560[] = _(
|
||||
" Uh-oh?!{WAIT_PRESS}\n"
|
||||
"That's it! No more merchandise!{EXTRA_MSG}"
|
||||
" I'm completely sold out!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D75AC[] = _(
|
||||
" Oh, my!{WAIT_PRESS}\n"
|
||||
"You have no space for any more items!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D75E0[] = _(
|
||||
" Oh? Oh?{WAIT_PRESS}\n"
|
||||
"You don't seem to have anything?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7610[] = _(
|
||||
" Oh? Oh?{WAIT_PRESS}\n"
|
||||
"You seem to have nothing to sell?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7640[] = _(
|
||||
" Oh, my goodness!\n"
|
||||
"You're overflowing with money!{EXTRA_MSG}"
|
||||
" You couldn't possibly carry\n"
|
||||
"any more money! ");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D76A8[] = _(
|
||||
" Huh?{WAIT_PRESS}\n"
|
||||
"You don't seem to have the money?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D76D4[] = _(
|
||||
" ...{WAIT_PRESS}I'm sold out...\n"
|
||||
"Please, forgive me.{EXTRA_MSG}"
|
||||
" I will have new merchandise\n"
|
||||
"for you tomorrow, I swear!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7740[] = _(
|
||||
" Good! Done deal!\n"
|
||||
"Thank you so much〜♪ ");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D776C[] = _(
|
||||
" For everything I can buy,\n"
|
||||
"I can offer {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"Is that acceptable to you?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D77C0[] = _(
|
||||
" {COLOR GREEN}{MOVE_ITEM_0}{RESET}?\n"
|
||||
"I can offer you {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"Will you sell it for that price?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D780C[] = _(
|
||||
" Do you wish to sell\n"
|
||||
"anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7830[] = _(
|
||||
" Ah, very well!\n"
|
||||
"What do you wish to sell?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D785C[] = _(
|
||||
" Very well! Thank you〜♪\n"
|
||||
"It is yours to take!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D788C[] = _(
|
||||
" {COLOR GREEN}{MOVE_ITEM_0}{RESET}?\n"
|
||||
"That will be {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"Is that to your liking?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D78CC[] = _(
|
||||
" Do you wish to buy\n"
|
||||
"anything else today?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D78F8[] = _(
|
||||
" Ah, very well!\n"
|
||||
"Feel free to examine my merchandise〜♪");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7934[] = _(
|
||||
" Thank you!\n"
|
||||
"Please call again〜♪ ");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7958[] = _(
|
||||
" May I help you with\n"
|
||||
"anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D797C[] = _(
|
||||
" Hello〜♪\n"
|
||||
"Welcome to the {POKEMON_6} Shop〜♪ ");
|
||||
|
|
@ -1,202 +0,0 @@
|
|||
static const u8 sUnknown_80DA018[];
|
||||
static const u8 sUnknown_80DA0DC[];
|
||||
static const u8 sUnknown_80DA100[];
|
||||
static const u8 sUnknown_80DA204[];
|
||||
static const u8 sUnknown_80DA248[];
|
||||
static const u8 sUnknown_80DA290[];
|
||||
static const u8 sUnknown_80DA2B4[];
|
||||
static const u8 sUnknown_80DA2D4[];
|
||||
static const u8 sUnknown_80DA2F0[];
|
||||
static const u8 sUnknown_80DA30C[];
|
||||
static const u8 sUnknown_80DA338[];
|
||||
static const u8 sUnknown_80DA62C[];
|
||||
static const u8 sUnknown_80DA688[];
|
||||
static const u8 sUnknown_80DA844[];
|
||||
static const u8 sUnknown_80DA908[];
|
||||
static const u8 sUnknown_80DA998[];
|
||||
static const u8 sUnknown_80DA9D4[];
|
||||
static const u8 sUnknown_80DA9F4[];
|
||||
static const u8 sUnknown_80DAA2C[];
|
||||
static const u8 sUnknown_80DAA44[];
|
||||
|
||||
ALIGNED(4) const u8* const gCommonMakuhita[MAKUHITA_DOJO_MODE_COUNT][MAKUHITA_DLG_MAX] =
|
||||
{
|
||||
[MAKUHITA_DOJO_MODE_AWAKE] = {
|
||||
[MAKUHITA_DLG_0] = sUnknown_80DAA44,
|
||||
[MAKUHITA_DLG_1] = sUnknown_80DAA2C,
|
||||
[MAKUHITA_DLG_2] = sUnknown_80DA9F4,
|
||||
[MAKUHITA_DLG_3] = sUnknown_80DA9D4,
|
||||
[MAKUHITA_DLG_4] = sUnknown_80DA998,
|
||||
[MAKUHITA_DLG_5] = sUnknown_80DA908,
|
||||
[MAKUHITA_DLG_6] = sUnknown_80DA844,
|
||||
[MAKUHITA_DLG_7] = sUnknown_80DA688,
|
||||
[MAKUHITA_DLG_8] = sUnknown_80DA62C,
|
||||
[MAKUHITA_DLG_9] = sUnknown_80DA338
|
||||
},
|
||||
[MAKUHITA_DOJO_MODE_ASLEEP] = {
|
||||
[MAKUHITA_DLG_0] = sUnknown_80DA30C,
|
||||
[MAKUHITA_DLG_1] = sUnknown_80DA2F0,
|
||||
[MAKUHITA_DLG_2] = sUnknown_80DA2D4,
|
||||
[MAKUHITA_DLG_3] = sUnknown_80DA2B4,
|
||||
[MAKUHITA_DLG_4] = sUnknown_80DA290,
|
||||
[MAKUHITA_DLG_5] = sUnknown_80DA248,
|
||||
[MAKUHITA_DLG_6] = sUnknown_80DA204,
|
||||
[MAKUHITA_DLG_7] = sUnknown_80DA100,
|
||||
[MAKUHITA_DLG_8] = sUnknown_80DA0DC,
|
||||
[MAKUHITA_DLG_9] = sUnknown_80DA018
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA018[] = _(
|
||||
" Zzznarr... Zzz...\n"
|
||||
"This dojo...\n"
|
||||
"Help rescue teams...{EXTRA_MSG}"
|
||||
" Zzznarr... Urr...\n"
|
||||
"Train in different rooms to level up...{EXTRA_MSG}"
|
||||
" Zzznarr... Urr!\n"
|
||||
"Make stronger rescue team...{EXTRA_MSG}"
|
||||
" Urr... Zzznarr!\n"
|
||||
"Don't let up!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA0DC[] = _(
|
||||
" Zzznarr... Zzz...!\n"
|
||||
"Keep working...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA100[] = _(
|
||||
" Ah... Zzznarr...\n"
|
||||
"Cleared it...{EXTRA_MSG}"
|
||||
" Zzzznarr... Urr...\n"
|
||||
"Good going... Keep going...{WAIT_PRESS}\n"
|
||||
"Hunh...{WAIT_PRESS} ...{EXTRA_MSG}"
|
||||
" Gwoh?{WAIT_PRESS}\n"
|
||||
"Gwogwogwoh?{EXTRA_MSG}"
|
||||
" Mugawah?\n"
|
||||
"Cleared everything?{EXTRA_MSG}"
|
||||
" Zzznarr!\n"
|
||||
"Congrazzz...{EXTRA_MSG}"
|
||||
" Zzznarr... Zzznarr...\n"
|
||||
"Your reward...\n"
|
||||
"Promised...{EXTRA_MSG}"
|
||||
" Zzz... Urr!\n"
|
||||
"{COLOR GREEN_I}Bonsly Doll{RESET}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA204[] = _(
|
||||
" Ah... Zzznarr...\n"
|
||||
"Cleared it...{EXTRA_MSG}"
|
||||
" Congrazzz...\n"
|
||||
"Keep going... Zzz...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA248[] = _(
|
||||
" Aiyah... Zzznarr...\n"
|
||||
"Didn't finish...{EXTRA_MSG}"
|
||||
" Zzz... Urr?\n"
|
||||
"No giving up...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA290[] = _(
|
||||
" Zzz... Narr...\n"
|
||||
"{POKEMON_0}? 'K, go...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA2B4[] = _(
|
||||
" Zzznarr... Zzz...\n"
|
||||
"Train where?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA2D4[] = _(
|
||||
" Urr... Narr...\n"
|
||||
"See you...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA2F0[] = _(
|
||||
" Zzznarr... Urr?\n"
|
||||
"What else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA30C[] = _(
|
||||
" Zzznarr... Zzznarr...\n"
|
||||
"Makuhita... Dojo...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA338[] = _(
|
||||
" This dojo was founded to\n"
|
||||
"support the efforts of rescue teams.{EXTRA_MSG}"
|
||||
" Train in different rooms to\n"
|
||||
"level up...{WAIT_PRESS}\n"
|
||||
"And toughen up your rescue team.{EXTRA_MSG}"
|
||||
" Also...{WAIT_PRESS}\n"
|
||||
"In the {COLOR YELLOW_D}Fire Maze{RESET} you will find only\n"
|
||||
"Fire-type Pokémon.{EXTRA_MSG}"
|
||||
" In the {COLOR YELLOW_D}Water Maze{RESET} there\n"
|
||||
"will only be Water-type Pokémon.{EXTRA_MSG}"
|
||||
" In such ways, only one type\n"
|
||||
"of Pokémon will be in a given room.\n"
|
||||
"Study how types match up in battle.{EXTRA_MSG}"
|
||||
" The Pokémon in this dojo,\n"
|
||||
"by the way, are all volunteers.{EXTRA_MSG}"
|
||||
" They are participating\n"
|
||||
"because they want to see rescue teams\n"
|
||||
"succeed.{EXTRA_MSG}"
|
||||
" The only thanks they expect\n"
|
||||
"is to see you become stronger.\n"
|
||||
"Don't let them down!{EXTRA_MSG}"
|
||||
" There's more.{WAIT_PRESS}\n"
|
||||
"For a rescue team that successfully\n"
|
||||
"completes all training courses...{EXTRA_MSG}"
|
||||
" I have a special reward!{EXTRA_MSG}"
|
||||
" Let that compel you to train\n"
|
||||
"harder!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA62C[] = _(
|
||||
" Don't let up on your training!\n"
|
||||
"Keep bettering yourself!{EXTRA_MSG}"
|
||||
" May you never lose your\n"
|
||||
"drive!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA688[] = _(
|
||||
" Ah...\n"
|
||||
"You have succeeded in your training!{EXTRA_MSG}"
|
||||
" You've shown your worth!{WAIT_PRESS}\n"
|
||||
"Without a doubt, you have grown more\n"
|
||||
"powerful from your training!{WAIT_PRESS} Wait...{WAIT_PRESS} ...{EXTRA_MSG}"
|
||||
" Wuh?{WAIT_PRESS}\n"
|
||||
"What, what, what?!{EXTRA_MSG}"
|
||||
" Did you maybe...{WAIT_PRESS}\n"
|
||||
"Conquer all the training courses?{EXTRA_MSG}"
|
||||
" That's...{WAIT_PRESS} Amazing! You!{WAIT_PRESS}\n"
|
||||
"Congratulations!{EXTRA_MSG}"
|
||||
" I promised!{WAIT_PRESS}\n"
|
||||
"I promised you a reward for completing\n"
|
||||
"the training courses!{EXTRA_MSG}"
|
||||
" So... Here it is!{WAIT_PRESS}\n"
|
||||
"My {COLOR GREEN_I}Bonsly Doll{RESET}!{EXTRA_MSG}"
|
||||
" Isn't it smashing? Hey?!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA844[] = _(
|
||||
" Ah...\n"
|
||||
"You have succeeded in your training!{EXTRA_MSG}"
|
||||
" You've shown your worth!{WAIT_PRESS}\n"
|
||||
"Without a doubt, you have grown more\n"
|
||||
"powerful from your training!{EXTRA_MSG}"
|
||||
" May this success drive\n"
|
||||
"you to train even harder!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA908[] = _(
|
||||
" Aiyah...{WAIT_PRESS}\n"
|
||||
"You failed to reach the end...{WAIT_PRESS}\n"
|
||||
"More training is what you need.{EXTRA_MSG}"
|
||||
" But effort is never wasted!{EXTRA_MSG}"
|
||||
" Learn from this and move\n"
|
||||
"forward!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA998[] = _(
|
||||
" The {POKEMON_0}?{WAIT_PRESS}\n"
|
||||
"Your decision stands!{WAIT_PRESS}\n"
|
||||
"Let the training begin!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA9D4[] = _(" Where do you wish to train?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DA9F4[] = _(
|
||||
" Fine, farewell.\n"
|
||||
"Return if you seek more training.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DAA2C[] = _(" What else do you seek?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80DAA44[] = _(
|
||||
" This is the Makuhita Dojo!{WAIT_PRESS}\n"
|
||||
"Through rigorous training, one begets\n"
|
||||
"true power.");
|
||||
|
|
@ -1,320 +0,0 @@
|
|||
static const u8 sUnknown_80D7A44[];
|
||||
static const u8 sUnknown_80D7C94[];
|
||||
static const u8 sUnknown_80D7CE8[];
|
||||
static const u8 sUnknown_80D7D64[];
|
||||
static const u8 sUnknown_80D7DA0[];
|
||||
static const u8 sUnknown_80D7DE0[];
|
||||
static const u8 sUnknown_80D7E04[];
|
||||
static const u8 sUnknown_80D7E2C[];
|
||||
static const u8 sUnknown_80D7E58[];
|
||||
static const u8 sUnknown_80D7E9C[];
|
||||
static const u8 sUnknown_80D7ED0[];
|
||||
static const u8 sUnknown_80D7F10[];
|
||||
static const u8 sUnknown_80D7F7C[];
|
||||
static const u8 sUnknown_80D8000[];
|
||||
static const u8 sUnknown_80D8030[];
|
||||
static const u8 sUnknown_80D8054[];
|
||||
static const u8 sUnknown_80D8080[];
|
||||
static const u8 sUnknown_80D80B0[];
|
||||
static const u8 sUnknown_80D80D4[];
|
||||
static const u8 sUnknown_80D8104[];
|
||||
static const u8 sUnknown_80D8420[];
|
||||
static const u8 sUnknown_80D8468[];
|
||||
static const u8 sUnknown_80D84F8[];
|
||||
static const u8 sUnknown_80D8528[];
|
||||
static const u8 sUnknown_80D8550[];
|
||||
static const u8 sUnknown_80D8584[];
|
||||
static const u8 sUnknown_80D85AC[];
|
||||
static const u8 sUnknown_80D85E4[];
|
||||
static const u8 sUnknown_80D8620[];
|
||||
static const u8 sUnknown_80D8644[];
|
||||
static const u8 sUnknown_80D8674[];
|
||||
static const u8 sUnknown_80D86E4[];
|
||||
static const u8 sUnknown_80D8738[];
|
||||
static const u8 sUnknown_80D876C[];
|
||||
static const u8 sUnknown_80D8798[];
|
||||
static const u8 sUnknown_80D87E0[];
|
||||
static const u8 sUnknown_80D8818[];
|
||||
static const u8 sUnknown_80D883C[];
|
||||
|
||||
ALIGNED(4) const u8* const gCommonWigglytuff[WIGGLYTUFF_SHOP_MODE_COUNT][WIGGLY_DLG_MAX] =
|
||||
{
|
||||
[WIGGLYTUFF_SHOP_MODE_AWAKE] = {
|
||||
[WIGGLY_DLG_00] = sUnknown_80D883C,
|
||||
[WIGGLY_DLG_01] = sUnknown_80D8818,
|
||||
[WIGGLY_DLG_02] = sUnknown_80D87E0,
|
||||
[WIGGLY_DLG_03] = sUnknown_80D8798,
|
||||
[WIGGLY_DLG_04] = sUnknown_80D876C,
|
||||
[WIGGLY_DLG_05] = sUnknown_80D8738,
|
||||
[WIGGLY_DLG_06] = sUnknown_80D86E4,
|
||||
[WIGGLY_DLG_07] = sUnknown_80D8674,
|
||||
[WIGGLY_DLG_08] = sUnknown_80D8644,
|
||||
[WIGGLY_DLG_09] = sUnknown_80D8620,
|
||||
[WIGGLY_DLG_10] = sUnknown_80D85E4,
|
||||
[WIGGLY_DLG_11] = sUnknown_80D85AC,
|
||||
[WIGGLY_DLG_12] = sUnknown_80D8584,
|
||||
[WIGGLY_DLG_13] = sUnknown_80D8550,
|
||||
[WIGGLY_DLG_14] = sUnknown_80D8528,
|
||||
[WIGGLY_DLG_15] = sUnknown_80D84F8,
|
||||
[WIGGLY_DLG_16] = sUnknown_80D8468,
|
||||
[WIGGLY_DLG_17] = sUnknown_80D8420,
|
||||
[WIGGLY_DLG_18] = sUnknown_80D8420,
|
||||
[WIGGLY_DLG_19] = sUnknown_80D8104
|
||||
},
|
||||
[WIGGLYTUFF_SHOP_MODE_ASLEEP] = {
|
||||
[WIGGLY_DLG_00] = sUnknown_80D80D4,
|
||||
[WIGGLY_DLG_01] = sUnknown_80D80B0,
|
||||
[WIGGLY_DLG_02] = sUnknown_80D8080,
|
||||
[WIGGLY_DLG_03] = sUnknown_80D8054,
|
||||
[WIGGLY_DLG_04] = sUnknown_80D8030,
|
||||
[WIGGLY_DLG_05] = sUnknown_80D8000,
|
||||
[WIGGLY_DLG_06] = sUnknown_80D7F7C,
|
||||
[WIGGLY_DLG_07] = sUnknown_80D7F10,
|
||||
[WIGGLY_DLG_08] = sUnknown_80D7ED0,
|
||||
[WIGGLY_DLG_09] = sUnknown_80D7E9C,
|
||||
[WIGGLY_DLG_10] = sUnknown_80D7E58,
|
||||
[WIGGLY_DLG_11] = sUnknown_80D7E2C,
|
||||
[WIGGLY_DLG_12] = sUnknown_80D7E04,
|
||||
[WIGGLY_DLG_13] = sUnknown_80D7DE0,
|
||||
[WIGGLY_DLG_14] = sUnknown_80D7DA0,
|
||||
[WIGGLY_DLG_15] = sUnknown_80D7D64,
|
||||
[WIGGLY_DLG_16] = sUnknown_80D7CE8,
|
||||
[WIGGLY_DLG_17] = sUnknown_80D7C94,
|
||||
[WIGGLY_DLG_18] = sUnknown_80D7C94,
|
||||
[WIGGLY_DLG_19] = sUnknown_80D7A44
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7A44[] = _(
|
||||
" Zzz...\n"
|
||||
"Want more friends?{EXTRA_MSG}"
|
||||
" Zzz... Kwoo...\n"
|
||||
"You need Friend Areas for friends...{EXTRA_MSG}"
|
||||
" Zzz... Zzz...\n"
|
||||
"A Pokémon becomes your pal when it's in\n"
|
||||
"the right Friend Area...{EXTRA_MSG}"
|
||||
" Zzz... Dwee...\n"
|
||||
"That's why you should get more Friend\n"
|
||||
"Areas...{EXTRA_MSG}"
|
||||
" Zzz... Pokémon can only\n"
|
||||
"live in the right Friend Area for\n"
|
||||
"their species...{EXTRA_MSG}"
|
||||
" Kwoo... Sssnore...\n"
|
||||
"See what Pokémon can live there by\n"
|
||||
"checking {COLOR YELLOW}Info{RESET}...{EXTRA_MSG}"
|
||||
" Zzz...\n"
|
||||
"I don't sell some Friend Areas...{EXTRA_MSG}"
|
||||
" Kwoo...\n"
|
||||
"Some rescue missions reward you with\n"
|
||||
"Friend Areas...{EXTRA_MSG}"
|
||||
" Zzz... Dwee...\n"
|
||||
"Check the Pelipper Post Office's Bulletin\n"
|
||||
"Board or your Mailbox for missions...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7C94[] = _(
|
||||
" Sssnore...\n"
|
||||
"{COLOR GREEN}{FRIEND_AREA}{RESET}...?\n"
|
||||
"I can't get that Friend Area...{EXTRA_MSG}"
|
||||
" Zzz... Zzz...\n"
|
||||
"Sorry...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7CE8[] = _(
|
||||
" Zzz... Hunh...?\n"
|
||||
"{COLOR GREEN}{FRIEND_AREA}{RESET}...?\n"
|
||||
"I don't know... I'll check...{EXTRA_MSG}"
|
||||
" Sssnore...\n"
|
||||
"I'll have it for sale...\n"
|
||||
"When I find out...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7D64[] = _(
|
||||
" Sssnore...\n"
|
||||
"You can already go...\n"
|
||||
"Friend Area {COLOR GREEN}{FRIEND_AREA}{RESET}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7DA0[] = _(
|
||||
" Dwee... Kwoo...\n"
|
||||
"{COLOR CYAN}{POKEMON_0}{RESET}'s Friend Area...\n"
|
||||
"Zzz... {COLOR GREEN}{FRIEND_AREA}{RESET}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7DE0[] = _(
|
||||
" Another Pokémon...\n"
|
||||
"Zzz... Check?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7E04[] = _(
|
||||
" Zzz... Kwoo...\n"
|
||||
"Check which Pokémon?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7E2C[] = _(
|
||||
" Zzz... Dwee...? Oops?{WAIT_PRESS}\n"
|
||||
"Not enough money?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7E58[] = _(
|
||||
" Zzz... Hunh?{WAIT_PRESS}\n"
|
||||
"Sssnore... Sorry...\n"
|
||||
"Fresh out of Friend Areas...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7E9C[] = _(
|
||||
" Hunh...?{WAIT_PRESS}\n"
|
||||
"You don't have any money...\n"
|
||||
"Zzzzzz...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7ED0[] = _(
|
||||
" Zzz... Zzz?{WAIT_PRESS}\n"
|
||||
"Hunh...?\n"
|
||||
"You can't add to your Friend Areas...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7F10[] = _(
|
||||
" Grats... Zzz...{WAIT_PRESS}\n"
|
||||
"You can go to {COLOR GREEN}{FRIEND_AREA}{RESET}...{EXTRA_MSG}"
|
||||
" Dwee... Sssnore...\n"
|
||||
"Make friends with Pokémon in...\n"
|
||||
"{COLOR GREEN}{FRIEND_AREA}{RESET}...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D7F7C[] = _(
|
||||
" Zzz... Dwee... Gotcha...{WAIT_PRESS}\n"
|
||||
"Zzz... Let's do it...{EXTRA_MSG}"
|
||||
" Sssnore♪ Sssnore♪\n"
|
||||
"{POKEMON_6}〜♪ {POKEMON_6}〜♪\n"
|
||||
"Let's be friends...{EXTRA_MSG}"
|
||||
" Kwoo!\n"
|
||||
"Taaaaaaah!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8000[] = _(
|
||||
" Kwoo? {COLOR GREEN}{FRIEND_AREA}{RESET}?\n"
|
||||
"That's {COLOR CYAN}{VALUE_0}{RESET} {POKE}...\n"
|
||||
"OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8030[] = _(
|
||||
" Zzz... Wha--?\n"
|
||||
"More Friend Areas?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8054[] = _(
|
||||
" Dwee... Hunh?\n"
|
||||
"Friend Areas...?\n"
|
||||
"Which one?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8080[] = _(
|
||||
" Thank... Zzz... You...\n"
|
||||
"Friends, friend...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D80B0[] = _(
|
||||
" Anything? Kwoo...\n"
|
||||
"Anything else?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D80D4[] = _(
|
||||
" Friends... Zzz...\n"
|
||||
"Welcome to the {POKEMON_6} Club...");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8104[] = _(
|
||||
" Would you like to get more\n"
|
||||
"friends...{WAIT_PRESS}\n"
|
||||
"...More members for your team?{EXTRA_MSG}"
|
||||
" To add new friends, what\n"
|
||||
"you need are Friend Areas.{EXTRA_MSG}"
|
||||
" A Pokémon can join your\n"
|
||||
"rescue team only after it settles in\n"
|
||||
"the right Friend Area.{EXTRA_MSG}"
|
||||
" So, if you want to recruit\n"
|
||||
"new members, you should add to your\n"
|
||||
"Friend Areas.{EXTRA_MSG}"
|
||||
" Oh, yes, Pokémon can\n"
|
||||
"only live in the right Friend Area for\n"
|
||||
"their species.{EXTRA_MSG}"
|
||||
" If you're buying a Friend\n"
|
||||
"Area, you should confirm what Pokémon\n"
|
||||
"can live there by checking {COLOR YELLOW}Info{RESET}.{EXTRA_MSG}"
|
||||
" Also, there are some Friend\n"
|
||||
"Areas that I don't sell.{EXTRA_MSG}"
|
||||
" I think there are some\n"
|
||||
"rescue missions that give you access\n"
|
||||
"to Friend Areas, too.{EXTRA_MSG}"
|
||||
" You should check the\n"
|
||||
"Pelipper Post Office's Bulletin Board or\n"
|
||||
"your Mailbox for rescue requests.{EXTRA_MSG}"
|
||||
" You know, it makes me\n"
|
||||
"delighted when you make new friends!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8420[] = _(
|
||||
" {COLOR GREEN}{FRIEND_AREA}{RESET}?\n"
|
||||
"I can't get that Friend Area for you.{WAIT_PRESS}\n"
|
||||
"I'm really sorry.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8468[] = _(
|
||||
" {COLOR GREEN}{FRIEND_AREA}{RESET}?\n"
|
||||
"I don't know much about it at all.{WAIT_PRESS}\n"
|
||||
"I'll check up on it.{EXTRA_MSG}"
|
||||
" I'll add it to the Friend\n"
|
||||
"Areas you can buy when I find out more.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D84F8[] = _(
|
||||
" You can already go to the\n"
|
||||
"Friend Area {COLOR GREEN}{FRIEND_AREA}{RESET}.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8528[] = _(
|
||||
" {COLOR CYAN}{POKEMON_0}{RESET}'s Friend Area\n"
|
||||
"is {COLOR GREEN}{FRIEND_AREA}{RESET}.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8550[] = _(
|
||||
" Is there another Pokémon\n"
|
||||
"you'd like to check?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8584[] = _(
|
||||
" Which Pokémon would you\n"
|
||||
"like to check?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D85AC[] = _(
|
||||
" Oops?{WAIT_PRESS}\n"
|
||||
"It doesn't look like you have enough\n"
|
||||
"money!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D85E4[] = _(
|
||||
" Oops?{WAIT_PRESS}\n"
|
||||
"Oh, too bad.{WAIT_PRESS}\n"
|
||||
"I'm fresh out of Friend Areas.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8620[] = _(
|
||||
" Um?{WAIT_PRESS}\n"
|
||||
"You don't have any money.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8644[] = _(
|
||||
" Oops!{WAIT_PRESS}\n"
|
||||
"You can't add to your Friend Areas.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8674[] = _(
|
||||
" Congratulations!{WAIT_PRESS}\n"
|
||||
"You can go to {COLOR GREEN}{FRIEND_AREA}{RESET} now!{EXTRA_MSG}"
|
||||
" You can recruit\n"
|
||||
"Pokémon that live in the Friend Area\n"
|
||||
"{COLOR GREEN}{FRIEND_AREA}{RESET}.");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D86E4[] = _(
|
||||
" Gotcha! Let's do it!{WAIT_PRESS}\n"
|
||||
"{POKEMON_6}〜♪ {POKEMON_6}〜♪{WAIT_PRESS}\n"
|
||||
"Let's be friends... Yoomtaaaaaaah!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8738[] = _(
|
||||
" {COLOR GREEN}{FRIEND_AREA}{RESET}?\n"
|
||||
"That will be {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n"
|
||||
"Is that OK?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D876C[] = _(
|
||||
" Would you like to add\n"
|
||||
"other Friend Areas?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8798[] = _(
|
||||
" You'd like to add to your\n"
|
||||
"Friend Areas?\n"
|
||||
"Which one would you like?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D87E0[] = _(
|
||||
" Thank you! Come again!\n"
|
||||
"We're all friends, friend!");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D8818[] = _(
|
||||
" Anything else I can do for\n"
|
||||
"you?");
|
||||
|
||||
ALIGNED(4) static const u8 sUnknown_80D883C[] = _(
|
||||
" Friends are my treasures!\n"
|
||||
"Welcome to the {POKEMON_6} Club--\n"
|
||||
"a circle of friends! ");
|
||||
|
|
@ -1,7 +1,4 @@
|
|||
ALIGNED(4) static const u8 sFill[] = _("pksdir0");
|
||||
|
||||
static const UnkTextStruct2 sUnknown_80E7D40 =
|
||||
{
|
||||
static const UnkTextStruct2 sUnknown_80E7D40 = {
|
||||
0, 0, 0, 0,
|
||||
3,
|
||||
0, 0,
|
||||
|
|
@ -9,8 +6,7 @@ static const UnkTextStruct2 sUnknown_80E7D40 =
|
|||
0, 0,
|
||||
NULL
|
||||
};
|
||||
static const UnkTextStruct2 sUnknown_80E7D58 =
|
||||
{
|
||||
static const UnkTextStruct2 sUnknown_80E7D58 = {
|
||||
0, 0, 0, 0,
|
||||
3,
|
||||
2, 2,
|
||||
|
|
@ -19,22 +15,13 @@ static const UnkTextStruct2 sUnknown_80E7D58 =
|
|||
NULL
|
||||
};
|
||||
|
||||
static const MenuItem sDebugMenuItems[8] =
|
||||
{
|
||||
{"Dungeons", MENU_DEBUG_MENU_DUNGEONS},
|
||||
{"Field", MENU_DEBUG_MENU_FIELD},
|
||||
{"Field Map", MENU_DEBUG_MENU_FIELD_MAP},
|
||||
{"Field Script", MENU_DEBUG_MENU_FIELD_SCRIPT},
|
||||
{"Debug Menu", MENU_DEBUG_MENU_DEBUG_MENU},
|
||||
{"Storage", MENU_DEBUG_MENU_STORAGE},
|
||||
{"h-open", MENU_DEBUG_MENU_H_OPEN},
|
||||
static const MenuItem sDebugMenuItems[] = {
|
||||
{_("Dungeons"), MENU_DEBUG_MENU_DUNGEONS},
|
||||
{_("Field"), MENU_DEBUG_MENU_FIELD},
|
||||
{_("Field Map"), MENU_DEBUG_MENU_FIELD_MAP},
|
||||
{_("Field Script"), MENU_DEBUG_MENU_FIELD_SCRIPT},
|
||||
{_("Debug Menu"), MENU_DEBUG_MENU_DEBUG_MENU},
|
||||
{_("Storage"), MENU_DEBUG_MENU_STORAGE},
|
||||
{_("h-open"), MENU_DEBUG_MENU_H_OPEN},
|
||||
{NULL, 10},
|
||||
};
|
||||
|
||||
// TODO: These belong to files after, which have no data. More stripped-out debug menus..? They'd be between debug_menu1.c and debug_menu2.c
|
||||
ALIGNED(4) static const u8 sFill1[] = _("pksdir0");
|
||||
ALIGNED(4) static const u8 sFill2[] = _("pksdir0");
|
||||
ALIGNED(4) static const u8 sFill3[] = _("pksdir0");
|
||||
ALIGNED(4) static const u8 sFill4[] = _("pksdir0");
|
||||
ALIGNED(4) static const u8 sFill5[] = _("pksdir0");
|
||||
ALIGNED(4) static const u8 sFill6[] = _("pksdir0");
|
||||
};
|
||||
10
src/data/dungeon_serializer.h
Normal file
10
src/data/dungeon_serializer.h
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
// The code assumes these two strings are the same size:
|
||||
|
||||
ALIGNED(4) static const u8 sYayoiSan[] = _("やよい{INVALID_SEQUENCE_976C}"); // 0x82, 0xE2, 0x82, 0xE6, 0x82, 0xA2, 0x97, 0x6C, 0x00
|
||||
ALIGNED(4) static const u8 sMisakiSan[] = _("みさき{INVALID_SEQUENCE_976C}"); // 0x82, 0xDD, 0x82, 0xB3, 0x82, 0xAB, 0x97, 0x6C, 0x00
|
||||
|
||||
// -1 because of the trailing "\0"
|
||||
#define BLAME_SIZE (sizeof(sYayoiSan) - 1)
|
||||
|
||||
// Should be aligned to 4 bytes. Default blame size is 8, stack size 12. If blame size was 11, stack size should still be 12
|
||||
#define BLAME_STACK_SIZE (BLAME_SIZE - (BLAME_SIZE % 4) + 4)
|
||||
|
|
@ -1,150 +1,107 @@
|
|||
extern const u8 GoRescue_80E20AC[];
|
||||
extern const u8 GetHelp_80E20A0[];
|
||||
extern const u8 Info_80E2098[];
|
||||
extern const u8 Exit_80E2090[];
|
||||
|
||||
const MenuItem gUnknown_80E2068[5] = {
|
||||
{GoRescue_80E20AC, 0x0},
|
||||
{GetHelp_80E20A0, 0x1},
|
||||
{Info_80E2098, 0x17},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2068[] = {
|
||||
{_("Go Rescue"), 0},
|
||||
{_("Get Help"), 1},
|
||||
{_("Info"), 23},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 Exit_80E2090[] = "Exit";
|
||||
const u8 Info_80E2098[] = "Info";
|
||||
const u8 GetHelp_80E20A0[] = "Get Help";
|
||||
const u8 GoRescue_80E20AC[] = "Go Rescue";
|
||||
|
||||
const MenuItem gUnknown_80E20B8[5] = {
|
||||
{GoRescue_80E20AC, 0x0},
|
||||
{GetHelp_80E20A0, -1},
|
||||
{Info_80E2098, 0x17},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E20B8[] = {
|
||||
{_("Go Rescue"), 0},
|
||||
{_("Get Help"), -1},
|
||||
{_("Info"), 23},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const MenuItem gUnknown_80E20E0[5] = {
|
||||
{GoRescue_80E20AC, -1},
|
||||
{GetHelp_80E20A0, 1},
|
||||
{Info_80E2098, 0x17},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E20E0[] = {
|
||||
{_("Go Rescue"), -1},
|
||||
{_("Get Help"), 1},
|
||||
{_("Info"), 23},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
const MenuItem gUnknown_80E2108[5] = {
|
||||
{GoRescue_80E20AC, -1},
|
||||
{GetHelp_80E20A0, -1},
|
||||
{Info_80E2098, 0x17},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2108[] = {
|
||||
{_("Go Rescue"), -1},
|
||||
{_("Get Help"), -1},
|
||||
{_("Info"), 23},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
extern const u8 ReceiveSOSMail_80E217C[];
|
||||
extern const u8 SendAOKMail_80E216C[];
|
||||
extern const u8 GetThankYouMail_80E2158[];
|
||||
|
||||
const MenuItem gUnknown_80E2130[5] = {
|
||||
{ReceiveSOSMail_80E217C, 3},
|
||||
{SendAOKMail_80E216C, 4},
|
||||
{GetThankYouMail_80E2158, 0x14},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2130[] = {
|
||||
{_("Receive SOS Mail"), 3},
|
||||
{_("Send A-OK Mail"), 4},
|
||||
{_("Get Thank-You Mail"), 20},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 GetThankYouMail_80E2158[] = "Get Thank-You Mail";
|
||||
const u8 SendAOKMail_80E216C[] = "Send A-OK Mail";
|
||||
const u8 ReceiveSOSMail_80E217C[] = "Receive SOS Mail";
|
||||
|
||||
const MenuItem gUnknown_80E2190[5] = {
|
||||
{ReceiveSOSMail_80E217C, 3},
|
||||
{SendAOKMail_80E216C, -1},
|
||||
{GetThankYouMail_80E2158, 0x14},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2190[] = {
|
||||
{_("Receive SOS Mail"), 3},
|
||||
{_("Send A-OK Mail"), -1},
|
||||
{_("Get Thank-You Mail"), 20},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
extern const u8 SendSOS_80E2208[];
|
||||
extern const u8 ReceiveAOK_80E21F4[];
|
||||
extern const u8 SendThankYou_80E21E0[];
|
||||
|
||||
|
||||
const MenuItem gUnknown_80E21B8[5] = {
|
||||
{SendSOS_80E2208, 0x11},
|
||||
{ReceiveAOK_80E21F4, 0x12},
|
||||
{SendThankYou_80E21E0, 0x13},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E21B8[] = {
|
||||
{_("Send SOS Mail"), 17},
|
||||
{_("Receive A-OK Mail"), 18},
|
||||
{_("Send Thank-You Mail"), 19},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 SendThankYou_80E21E0[] = "Send Thank-You Mail";
|
||||
const u8 ReceiveAOK_80E21F4[] = "Receive A-OK Mail";
|
||||
const u8 SendSOS_80E2208[] = "Send SOS Mail";
|
||||
|
||||
const MenuItem gUnknown_80E2218[5] = {
|
||||
{SendSOS_80E2208, -1},
|
||||
{ReceiveAOK_80E21F4, -1},
|
||||
{SendThankYou_80E21E0, 0x13},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2218[] = {
|
||||
{_("Send SOS Mail"), -1},
|
||||
{_("Receive A-OK Mail"), -1},
|
||||
{_("Send Thank-You Mail"), 19},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const MenuItem gUnknown_80E2240[5] = {
|
||||
{SendSOS_80E2208, 0x11},
|
||||
{ReceiveAOK_80E21F4, 0x12},
|
||||
{SendThankYou_80E21E0, -1},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2240[] = {
|
||||
{_("Send SOS Mail"), 17},
|
||||
{_("Receive A-OK Mail"), 18},
|
||||
{_("Send Thank-You Mail"), -1},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const MenuItem gUnknown_80E2268[5] = {
|
||||
{SendSOS_80E2208, -1},
|
||||
{ReceiveAOK_80E21F4, -1},
|
||||
{SendThankYou_80E21E0, -1},
|
||||
{Exit_80E2090, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2268[] = {
|
||||
{_("Send SOS Mail"), -1},
|
||||
{_("Receive A-OK Mail"), -1},
|
||||
{_("Send Thank-You Mail"), -1},
|
||||
{_("Exit"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
extern const u8 Yes_80E22B0[];
|
||||
extern const u8 Cancel_80E22A8[];
|
||||
|
||||
|
||||
const MenuItem gUnknown_80E2290[3] = {
|
||||
{Yes_80E22B0, 6},
|
||||
{Cancel_80E22A8, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2290[] = {
|
||||
{_("Yes"), 6},
|
||||
{_("Cancel"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 Cancel_80E22A8[] = "Cancel";
|
||||
const u8 Yes_80E22B0[] = "Yes";
|
||||
|
||||
|
||||
extern const u8 No_80E22CC[];
|
||||
|
||||
const MenuItem gUnknown_80E22B4[3] = {
|
||||
{Yes_80E22B0, 6},
|
||||
{No_80E22CC, 7},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E22B4[] = {
|
||||
{_("Yes"), 6},
|
||||
{_("No"), 7},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 No_80E22CC[] = "No";
|
||||
|
||||
const MenuItem gUnknown_80E22D0[4] = {
|
||||
{Yes_80E22B0, 6},
|
||||
{No_80E22CC, 7},
|
||||
{Cancel_80E22A8, 8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E22D0[] = {
|
||||
{_("Yes"), 6},
|
||||
{_("No"), 7},
|
||||
{_("Cancel"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
extern const u8 SendPokemon_80E2308[];
|
||||
|
||||
const MenuItem gUnknown_80E22F0[3] = {
|
||||
{SendPokemon_80E2308, 0x10},
|
||||
{Cancel_80E22A8, 8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E22F0[] = {
|
||||
{_("Send w/o Pokémon"), 16},
|
||||
{_("Cancel"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 SendPokemon_80E2308[] = _("Send w/o Pokémon");
|
||||
|
||||
const UnkTextStruct2 gUnknown_80E231C =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
|
|
@ -165,42 +122,26 @@ const UnkTextStruct2 gUnknown_80E2334 =
|
|||
NULL
|
||||
};
|
||||
|
||||
extern const u8 Confirm_80E2364[];
|
||||
|
||||
const MenuItem gUnknown_80E234C[3] = {
|
||||
{Confirm_80E2364, 9},
|
||||
{Info_80E2098, 10},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E234C[] = {
|
||||
{_("Confirm"), 9},
|
||||
{_("Info"), 10},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 Confirm_80E2364[] = "Confirm";
|
||||
|
||||
extern const u8 GameLinkCable_80E2398[];
|
||||
extern const u8 Password_80E238C[];
|
||||
|
||||
const MenuItem gUnknown_80E236C[4] = {
|
||||
{GameLinkCable_80E2398, 0xB},
|
||||
{Password_80E238C, 0xD},
|
||||
{Cancel_80E22A8, 8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E236C[] = {
|
||||
{_("Game Link cable"), 11},
|
||||
{_("Password"), 13},
|
||||
{_("Cancel"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 Password_80E238C[] = "Password";
|
||||
const u8 GameLinkCable_80E2398[] = "Game Link cable";
|
||||
|
||||
extern const u8 SendPokemon_80E23E0[];
|
||||
extern const u8 DontSendPokemon_80E23C8[];
|
||||
|
||||
const MenuItem gUnknown_80E23A8[4] = {
|
||||
{SendPokemon_80E23E0, 0xF},
|
||||
{DontSendPokemon_80E23C8, 0x10},
|
||||
{Cancel_80E22A8, 8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E23A8[] = {
|
||||
{_("Send Pokémon"), 15},
|
||||
{_("Don't Send Pokémon"), 16},
|
||||
{_("Cancel"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 DontSendPokemon_80E23C8[] = _("Don't Send Pokémon");
|
||||
ALIGNED(4) const u8 SendPokemon_80E23E0[] = _("Send Pokémon");
|
||||
|
||||
const UnkTextStruct2 gUnknown_80E23F0 =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
|
|
@ -211,14 +152,14 @@ const UnkTextStruct2 gUnknown_80E23F0 =
|
|||
NULL
|
||||
};
|
||||
|
||||
const MenuItem gUnknown_80E2408[4] = {
|
||||
{Confirm_80E2364, 0x9},
|
||||
{Info_80E2098, 0xA},
|
||||
{Cancel_80E22A8, 5},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2408[] = {
|
||||
{_("Confirm"), 9},
|
||||
{_("Info"), 10},
|
||||
{_("Cancel"), 5},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
UNUSED static const UnkTextStruct2 unused_text =
|
||||
UNUSED static const UnkTextStruct2 sUnused =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
|
|
@ -228,89 +169,61 @@ UNUSED static const UnkTextStruct2 unused_text =
|
|||
NULL
|
||||
};
|
||||
|
||||
const MenuItem gUnknown_80E2440[3] = {
|
||||
{Yes_80E22B0, 6},
|
||||
{Cancel_80E22A8, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2440[] = {
|
||||
{_("Yes"), 6},
|
||||
{_("Cancel"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const MenuItem gUnknown_80E2458[3] = {
|
||||
{Yes_80E22B0, 6},
|
||||
{No_80E22CC, 0x7},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2458[] = {
|
||||
{_("Yes"), 6},
|
||||
{_("No"), 7},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
extern const u8 SendItem_80E24A4[];
|
||||
extern const u8 DontSendItem_80E2490[];
|
||||
|
||||
const MenuItem gUnknown_80E2470[4] = {
|
||||
{SendItem_80E24A4, 0x15},
|
||||
{DontSendItem_80E2490, 0x16},
|
||||
{Cancel_80E22A8, 8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E2470[] = {
|
||||
{_("Send Item"), 21},
|
||||
{_("Don't Send Item"), 22},
|
||||
{_("Cancel"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 DontSendItem_80E2490[] = _("Don't Send Item");
|
||||
const u8 SendItem_80E24A4[] = "Send Item";
|
||||
|
||||
extern const u8 SendwoItem_80E24C8[];
|
||||
|
||||
const MenuItem gUnknown_80E24B0[3] = {
|
||||
{SendwoItem_80E24C8, 0x16},
|
||||
{Cancel_80E22A8, 8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E24B0[] = {
|
||||
{_("Send w/o Item"), 22},
|
||||
{_("Cancel"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
const u8 SendwoItem_80E24C8[] = "Send w/o Item";
|
||||
|
||||
const MenuItem gUnknown_80E24D8[4] = {
|
||||
{Yes_80E22B0, 6},
|
||||
{No_80E22CC, 0x7},
|
||||
{Cancel_80E22A8, 0x8},
|
||||
{NULL, 0x8},
|
||||
const MenuItem gUnknown_80E24D8[] = {
|
||||
{_("Yes"), 6},
|
||||
{_("No"), 7},
|
||||
{_("Cancel"), 8},
|
||||
{NULL, 8},
|
||||
};
|
||||
|
||||
extern const u8 RescueInfo_80E2540[];
|
||||
extern const u8 GoRescue_80E530[];
|
||||
extern const u8 GetHelp_80E2520[];
|
||||
|
||||
const MenuItem gUnknown_80E24F8[5] = {
|
||||
{RescueInfo_80E2540, 0x1A},
|
||||
{GoRescue_80E530, 0x1B},
|
||||
{GetHelp_80E2520, 0x1C},
|
||||
{Cancel_80E22A8, 0x19},
|
||||
{NULL, 0x19},
|
||||
const MenuItem gUnknown_80E24F8[] = {
|
||||
{_("Friend Rescue Info"), 26},
|
||||
{_("{COLOR YELLOW}Go rescue{RESET} "), 27},
|
||||
{_("{COLOR YELLOW}Get help{RESET} "), 28},
|
||||
{_("Cancel"), 25},
|
||||
{NULL, 25},
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 GetHelp_80E2520[] = _("{COLOR YELLOW}Get help{RESET} ");
|
||||
ALIGNED(4) const u8 GoRescue_80E530[] = _("{COLOR YELLOW}Go rescue{RESET} ");
|
||||
const u8 RescueInfo_80E2540[] = "Friend Rescue Info";
|
||||
|
||||
extern const u8 RescueProcedures_80E25A0[];
|
||||
extern const u8 LeaveForRescue_80E258C[];
|
||||
|
||||
const MenuItem gUnknown_80E2554[7] = {
|
||||
{RescueProcedures_80E25A0, 0x1E},
|
||||
{ReceiveSOSMail_80E217C, 0x1F},
|
||||
{LeaveForRescue_80E258C, 0x20},
|
||||
{SendAOKMail_80E216C, 0x21},
|
||||
{GetThankYouMail_80E2158, 0x22},
|
||||
{Exit_80E2090, 0x19},
|
||||
{NULL, 0x19},
|
||||
const MenuItem gUnknown_80E2554[] = {
|
||||
{_("Rescue Procedures"), 30},
|
||||
{_("Receive SOS Mail"), 31},
|
||||
{_("Leave for Rescue"), 32},
|
||||
{_("Send A-OK Mail"), 33},
|
||||
{_("Get Thank-You Mail"), 34},
|
||||
{_("Exit"), 25},
|
||||
{NULL, 25},
|
||||
};
|
||||
|
||||
const u8 LeaveForRescue_80E258C[] = "Leave for Rescue";
|
||||
const u8 RescueProcedures_80E25A0[] = "Rescue Procedures";
|
||||
|
||||
extern const u8 GettingHelp_80E25E4[];
|
||||
|
||||
const MenuItem gUnknown_80E25B4[6] = {
|
||||
{GettingHelp_80E25E4, 0x23},
|
||||
{SendSOS_80E2208, 0x24},
|
||||
{ReceiveAOK_80E21F4, 0x25},
|
||||
{SendThankYou_80E21E0, 0x26},
|
||||
{Exit_80E2090, 0x19},
|
||||
{NULL, 0x19},
|
||||
};
|
||||
|
||||
const u8 GettingHelp_80E25E4[] = "Getting Help";
|
||||
const MenuItem gUnknown_80E25B4[] = {
|
||||
{_("Getting Help"), 35},
|
||||
{_("Send SOS Mail"), 36},
|
||||
{_("Receive A-OK Mail"), 37},
|
||||
{_("Send Thank-You Mail"), 38},
|
||||
{_("Exit"), 25},
|
||||
{NULL, 25},
|
||||
};
|
||||
|
|
@ -3,5 +3,5 @@ ALIGNED(4) static const u8 sFmtRescueRequest[] = "GroundMain recue request %3d %
|
|||
ALIGNED(4) static const u8 sFmtUserRescueRequest[] = "GroundMain user rescue request %3d";
|
||||
ALIGNED(4) static const u8 sFmtGameEndRequest[] = "GroundMain game end request %3d";
|
||||
ALIGNED(4) static const u8 sFmtGameCancelRequest[] = "GroundMain game cancel request %3d";
|
||||
UNUSED static const u8 sFill1[] = "pksdir0";
|
||||
UNUSED static const u8 sFill2[] = "pksdir0";
|
||||
UNUSED static const u8 sFill1[] = _("pksdir0");
|
||||
UNUSED static const u8 sFill2[] = _("pksdir0");
|
||||
157
src/data/locale/felicity_bank_usa.h
Normal file
157
src/data/locale/felicity_bank_usa.h
Normal file
|
|
@ -0,0 +1,157 @@
|
|||
#define FEL_AWAKE_WELCOME (_( \
|
||||
" Welcome.\n" \
|
||||
"This is Felicity Bank."))
|
||||
|
||||
#define FEL_AWAKE_HOW_MAY_I_SERVE__NO_MONEY (_(" How may I serve you?"))
|
||||
|
||||
#define FEL_AWAKE_HOW_MAY_I_SERVE__HAS_MONEY (_( \
|
||||
" Your account contains\n" \
|
||||
"{COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"How may I serve you?"))
|
||||
|
||||
#define FEL_AWAKE_VERY_WELL (_(" Very well."))
|
||||
|
||||
#define FEL_AWAKE_BYE__NO_MONEY (_(" I await your next visit."))
|
||||
|
||||
#define FEL_AWAKE_BYE__HAS_MONEY (_(" I await your next visit."))
|
||||
|
||||
#define FEL_AWAKE_DEPOSIT__HOW_MUCH (_( \
|
||||
" How much do you wish to\n" \
|
||||
"deposit?"))
|
||||
|
||||
#define FEL_AWAKE_DEPOSIT__NO_MONEY (_( \
|
||||
" Oh?{WAIT_PRESS} I'm so sorry to say,\n" \
|
||||
"but you appear not to have any money."))
|
||||
|
||||
#define FEL_AWAKE_DEPOSIT__BANK_FULL (_( \
|
||||
" Meow! All this money!{WAIT_PRESS}\n" \
|
||||
"Our safe is about to burst!{EXTRA_MSG}" \
|
||||
" I am so sorry to say, but\n" \
|
||||
"I can't accept any more of your money!"))
|
||||
|
||||
#define FEL_AWAKE_DEPOSIT__RECEIPT (_( \
|
||||
" {COLOR CYAN}{VALUE_0}{RESET} {POKE}. Very well.{WAIT_PRESS}\n" \
|
||||
"I will guard it jealously."))
|
||||
|
||||
#define FEL_AWAKE_WITHDRAW__HOW_MUCH (_( \
|
||||
" How much will you\n" \
|
||||
"withdraw?"))
|
||||
|
||||
#define FEL_AWAKE_WITHDRAW__NO_MONEY (_( \
|
||||
" Oh?{WAIT_PRESS} I so hate to disappoint,\n" \
|
||||
"but you have no money saved with me."))
|
||||
|
||||
#define FEL_AWAKE_WITHDRAW__WALLET_FULL (_( \
|
||||
" Oh?{WAIT_PRESS} I do so apologize,\n" \
|
||||
"but you couldn't possibly carry any more\n" \
|
||||
"money with you."))
|
||||
|
||||
#define FEL_AWAKE_WITHDRAW__RECEIPT (_( \
|
||||
" Very well, {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"Here you are."))
|
||||
|
||||
#define FEL_AWAKE_HOW_IT_WORKS (_( \
|
||||
" Ah, you wish to know how\n" \
|
||||
"the bank operates. Very well.{EXTRA_MSG}" \
|
||||
" If you are defeated\n" \
|
||||
"in a dungeon, you'll lose all your money.\n" \
|
||||
"Did you know that?{EXTRA_MSG}" \
|
||||
" But you can avoid that!{WAIT_PRESS}\n" \
|
||||
"You've nothing to fear if you leave your\n" \
|
||||
"money with Felicity Bank.{EXTRA_MSG}" \
|
||||
" Even if you return\n" \
|
||||
"defeated from a dungeon, your money will\n" \
|
||||
"be safe with me!{EXTRA_MSG}" \
|
||||
" I assure you, my bank\n" \
|
||||
"will keep your money safe.{EXTRA_MSG}" \
|
||||
" Simple, isn't it?"))
|
||||
|
||||
|
||||
|
||||
#define FEL_ASLEEP_WELCOME (_( \
|
||||
" Ssssnore... Welcome...\n" \
|
||||
"This is Felicity Bank..."))
|
||||
|
||||
#define FEL_ASLEEP_HOW_MAY_I_SERVE__NO_MONEY (_( \
|
||||
" Zzz...\n" \
|
||||
"How may I serve you?"))
|
||||
|
||||
#define FEL_ASLEEP_HOW_MAY_I_SERVE__HAS_MONEY (_( \
|
||||
" Sssnore... Purr...\n" \
|
||||
"Your account contains {COLOR CYAN}{VALUE_0}{RESET} {POKE}...\n" \
|
||||
"How may I serve you?"))
|
||||
|
||||
#define FEL_ASLEEP_VERY_WELL (_( \
|
||||
" Sssnore...\n" \
|
||||
"Very well..."))
|
||||
|
||||
#define FEL_ASLEEP_BYE__NO_MONEY (_( \
|
||||
" Zzz... Purr...\n" \
|
||||
"I await your next visit..."))
|
||||
|
||||
#define FEL_ASLEP_BYE__HAS_MONEY (_( \
|
||||
" Zzz... Meow...\n" \
|
||||
"I await your next visit..."))
|
||||
|
||||
#define FEL_ASLEEP_DEPOSIT__HOW_MUCH (_( \
|
||||
" Purr...\n" \
|
||||
"How much do you wish to deposit?"))
|
||||
|
||||
#define FEL_ASLEEP_DEPOSIT__NO_MONEY (_( \
|
||||
" Sssnore... Hmm?{EXTRA_MSG}" \
|
||||
" Zzz...\n" \
|
||||
"I'm so sorry to say, but you appear not\n" \
|
||||
"to have any money..."))
|
||||
|
||||
#define FEL_ASLEEP_DEPOSIT__BANK_FULL (_( \
|
||||
" Fnarf? Purr...\n" \
|
||||
"Meow! All this money...{WAIT_PRESS}\n" \
|
||||
"Our safe is about to burst...{EXTRA_MSG}" \
|
||||
" Purr...\n" \
|
||||
"I am so sorry to say, but I can't accept\n" \
|
||||
"any more of your money..."))
|
||||
|
||||
#define FEL_ASLEEP_DEPOSIT__RECEIPT (_( \
|
||||
" Zzz...\n" \
|
||||
"{COLOR CYAN}{VALUE_0}{RESET} {POKE}... Very well...{WAIT_PRESS}\n" \
|
||||
"I will guard it jealously..."))
|
||||
|
||||
#define FEL_ASLEEP_WITHDRAW__HOW_MUCH (_( \
|
||||
" Zzz...\n" \
|
||||
"How much will you withdraw?"))
|
||||
|
||||
#define FEL_ASLEEP_WITHDRAW__NO_MONEY (_( \
|
||||
" Fnarf? Meow...?{EXTRA_MSG}" \
|
||||
" Purr...\n" \
|
||||
"I so hate to disappoint, but you have no\n" \
|
||||
"money saved with me..."))
|
||||
|
||||
#define FEL_ASLEEP_WITHDRAW__WALLET_FULL (_( \
|
||||
" Fnarf? Hunh...?{EXTRA_MSG}" \
|
||||
" Purr... I so do apologize,\n" \
|
||||
"but you couldn't possibly carry any more\n" \
|
||||
"money with you..."))
|
||||
|
||||
#define FEL_ASLEEP_WITHDRAW__RECEIPT (_( \
|
||||
" {POKE}... Purr...\n" \
|
||||
"Very well, {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"Here you are."))
|
||||
|
||||
#define FEL_ASLEEP_HOW_IT_WORKS (_( \
|
||||
" Sssnore...\n" \
|
||||
"Ah, you wish to know how the bank\n" \
|
||||
"operates... Very well...{EXTRA_MSG}" \
|
||||
" Zzz...\n" \
|
||||
"If you're defeated in a dungeon,\n" \
|
||||
"you'll lose all your money. Did you know?{EXTRA_MSG}" \
|
||||
" Purr...\n" \
|
||||
"But, you've nothing to fear if you leave\n" \
|
||||
"your money with Felicity Bank...{EXTRA_MSG}" \
|
||||
" Meow... Even if you\n" \
|
||||
"return defeated from a dungeon, your\n" \
|
||||
"money will be safe with me...{EXTRA_MSG}" \
|
||||
" Sssnore...\n" \
|
||||
"I assure you, my bank will keep your\n" \
|
||||
"money safe...{EXTRA_MSG}" \
|
||||
" Zzz...\n" \
|
||||
"Simple, isn't it...?"))
|
||||
352
src/data/locale/gulpin_shop_usa.h
Normal file
352
src/data/locale/gulpin_shop_usa.h
Normal file
|
|
@ -0,0 +1,352 @@
|
|||
|
||||
|
||||
#define GULP_AWAKE_DLG_00 (_( \
|
||||
" Hello!\n" \
|
||||
"Welcome to the Gulpin Link Shop!\n" \
|
||||
"Link moves all you like for just 150 {POKE}!"))
|
||||
|
||||
#define GULP_AWAKE_DLG_01 (_( \
|
||||
" Welcome to the Gulpin\n" \
|
||||
"Link Shop!\n" \
|
||||
"Link moves all you like for just 150 {POKE}!"))
|
||||
|
||||
#define GULP_AWAKE_DLG_02 (_( \
|
||||
" Uh... Hello?\n" \
|
||||
"You don't have enough money?"))
|
||||
|
||||
#define GULP_AWAKE_DLG_03 (_( \
|
||||
" Too bad.\n" \
|
||||
"There are no moves that can be linked."))
|
||||
|
||||
#define GULP_AWAKE_DLG_04 (_( \
|
||||
" That move isn't linked,\n" \
|
||||
"so it can't be delinked."))
|
||||
|
||||
#define GULP_AWAKE_DLG_05 (_( \
|
||||
" If you forget that move,\n" \
|
||||
"you won't have any moves at all."))
|
||||
|
||||
#define GULP_AWAKE_DLG_06 (_(" Shall we go on?"))
|
||||
|
||||
#define GULP_AWAKE_DLG_07 (_( \
|
||||
" Whenever you get the urge\n" \
|
||||
"to link moves, please come see me!"))
|
||||
|
||||
#define GULP_AWAKE_DLG_08 (_( \
|
||||
" Good!\n" \
|
||||
"Now, who wants to link moves?"))
|
||||
|
||||
#define GULP_AWAKE_DLG_09 (_( \
|
||||
" Which move would you like\n" \
|
||||
"to recall?"))
|
||||
|
||||
#define GULP_AWAKE_DLG_10 (_( \
|
||||
" So, the move {COLOR CYAN}{POKEMON_0}{RESET}\n" \
|
||||
"is the one to be remembered?{WAIT_PRESS}\n" \
|
||||
"OK, here goes!{EXTRA_MSG}" \
|
||||
" Gggggggggggg...{WAIT_PRESS} Gulpin!{EXTRA_MSG}" \
|
||||
" There!\n" \
|
||||
"Success!{EXTRA_MSG}" \
|
||||
" {COLOR CYAN_M}{POKEMON_5}{RESET} has\n" \
|
||||
"remembered the move {COLOR CYAN}{POKEMON_0}{RESET}!"))
|
||||
|
||||
#define GULP_AWAKE_DLG_11 (_( \
|
||||
" So, forget the move\n" \
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and remember the move\n" \
|
||||
"{COLOR CYAN}{POKEMON_0}{RESET}?"))
|
||||
|
||||
#define GULP_AWAKE_DLG_12 (_( \
|
||||
" So, forget {COLOR GREEN}{POKEMON_1}{RESET}\n" \
|
||||
"and any moves linked to it, and remember\n" \
|
||||
"the move {COLOR CYAN}{POKEMON_0}{RESET}?"))
|
||||
|
||||
#define GULP_AWAKE_DLG_13 (_( \
|
||||
" OK, here goes!{EXTRA_MSG}" \
|
||||
" Gggggggg...{WAIT_PRESS} Pwah! Gulpin!{EXTRA_MSG}" \
|
||||
" There!\n" \
|
||||
"Success!{EXTRA_MSG}" \
|
||||
" {COLOR CYAN_M}{POKEMON_5}{RESET} has forgotten\n" \
|
||||
"the move {COLOR GREEN}{POKEMON_1}{RESET} and remembered\n" \
|
||||
"the move {COLOR CYAN}{POKEMON_0}{RESET}!"))
|
||||
|
||||
#define GULP_AWAKE_DLG_14 (_( \
|
||||
" OK, here goes!{EXTRA_MSG}" \
|
||||
" Gggggggg...{WAIT_PRESS} Pwah! Gulpin!{EXTRA_MSG}" \
|
||||
" There!\n" \
|
||||
"Success!{EXTRA_MSG}" \
|
||||
" {COLOR CYAN_M}{POKEMON_5}{RESET} is done!{EXTRA_MSG}" \
|
||||
" It's forgotten the move\n" \
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and any moves linked to it,\n" \
|
||||
"and {COLOR CYAN}{POKEMON_0}{RESET} has been remembered!"))
|
||||
|
||||
#define GULP_AWAKE_DLG_15 (_( \
|
||||
" Uh... Hello?{WAIT_PRESS}\n" \
|
||||
"There don't appear to be any moves that\n" \
|
||||
"can be remembered."))
|
||||
|
||||
#define GULP_AWAKE_DLG_16 (_( \
|
||||
" Uh... Huh?{WAIT_PRESS}\n" \
|
||||
"You appear to be a special Pokémon.{EXTRA_MSG}" \
|
||||
" I can't help you remember\n" \
|
||||
"any moves, I don't think.\n" \
|
||||
"I'm sorry."))
|
||||
|
||||
#define GULP_AWAKE_DLG_17 (_( \
|
||||
" So, forget the move\n" \
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET}?"))
|
||||
|
||||
#define GULP_AWAKE_DLG_18 (_( \
|
||||
" So, forget the move\n" \
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and any moves linked to it?"))
|
||||
|
||||
#define GULP_AWAKE_DLG_19 (_( \
|
||||
" OK, here goes!{EXTRA_MSG}" \
|
||||
" Gggggggg...{WAIT_PRESS} Poof!{EXTRA_MSG}" \
|
||||
" There!\n" \
|
||||
"Success!{EXTRA_MSG}" \
|
||||
" {COLOR CYAN}{POKEMON_5}{RESET} has forgotten\n" \
|
||||
"the move {COLOR GREEN}{POKEMON_1}{RESET}!"))
|
||||
|
||||
#define GULP_AWAKE_DLG_20 (_( \
|
||||
" OK, here goes!{EXTRA_MSG}" \
|
||||
" Gggggggg...{WAIT_PRESS} Poof!{EXTRA_MSG}" \
|
||||
" There!\n" \
|
||||
"Success!{EXTRA_MSG}" \
|
||||
" {COLOR CYAN}{POKEMON_5}{RESET} has forgotten\n" \
|
||||
"the move {COLOR GREEN}{POKEMON_1}{RESET} and any moves\n" \
|
||||
"linked to it!"))
|
||||
|
||||
#define GULP_AWAKE_DLG_21 (_( \
|
||||
" Sure thing!\n" \
|
||||
"What do you need information on?"))
|
||||
|
||||
#define GULP_AWAKE_DLG_22 (_( \
|
||||
" When you're in a dungeon\n" \
|
||||
"and you're about to use a move...{WAIT_PRESS}\n" \
|
||||
"Isn't it a pain to open a window each time?{EXTRA_MSG}" \
|
||||
" You can avoid that!{WAIT_PRESS}\n" \
|
||||
"You can just conveniently “Set”\n" \
|
||||
"a move for instant use!{EXTRA_MSG}" \
|
||||
" A set move can be instantly\n" \
|
||||
"used with {L_BUTTON} and {A_BUTTON}!{WAIT_PRESS}\n" \
|
||||
"See? Isn't it easy?{EXTRA_MSG}" \
|
||||
" Just set the move...{WAIT_PRESS}\n" \
|
||||
"Hold {L_BUTTON} and then press {A_BUTTON} to use it!{WAIT_PRESS}\n" \
|
||||
"It's very convenient!{EXTRA_MSG}" \
|
||||
" You can also switch the set\n" \
|
||||
"move in a dungeon.\n" \
|
||||
"Do try it out!\n"))
|
||||
|
||||
#define GULP_AWAKE_DLG_23 (_( \
|
||||
" When moves are linked...{WAIT_PRESS}\n" \
|
||||
"Two or more moves can be used one after\n" \
|
||||
"another in one turn!{EXTRA_MSG}" \
|
||||
" For example, if the moves\n" \
|
||||
"{COLOR CYAN}Scratch{RESET} and {COLOR CYAN}Growl{RESET} are\n" \
|
||||
"linked...{EXTRA_MSG}" \
|
||||
" Both {COLOR CYAN}Scratch{RESET} and {COLOR CYAN}Growl{RESET} are\n" \
|
||||
"used in one turn!{WAIT_PRESS}\n" \
|
||||
"See? Amazing, huh?{EXTRA_MSG}" \
|
||||
" Using links, heheh...{WAIT_PRESS}\n" \
|
||||
"Well, depending on the moves you link,\n" \
|
||||
"you can get incredible results!{EXTRA_MSG}" \
|
||||
" Oh, yes.\n" \
|
||||
"When moves are linked, they are used in\n" \
|
||||
"sequence from the top one first.{EXTRA_MSG}" \
|
||||
" You can also separate linked\n" \
|
||||
"moves by selecting the Delink command.{EXTRA_MSG}" \
|
||||
" The sequence of moves can\n" \
|
||||
"be changed by pressing {R_BUTTON},\n" \
|
||||
"then pressing up or down on {DPAD}.{EXTRA_MSG}" \
|
||||
" Try to innovate with links.{WAIT_PRESS}\n" \
|
||||
"Try creating links of your very own!"))
|
||||
|
||||
#define GULP_AWAKE_DLG_24 (_( \
|
||||
" What if you had to forget\n" \
|
||||
"a move, but you wanted it back?{WAIT_PRESS}\n" \
|
||||
"Ever face that situation?{EXTRA_MSG}" \
|
||||
" I can help!{WAIT_PRESS}\n" \
|
||||
"Come to me, and I can make you instantly\n" \
|
||||
"remember forgotten moves!{EXTRA_MSG}" \
|
||||
" I...{WAIT_PRESS}\n" \
|
||||
"Well, when Pokémon remember...{WAIT_PRESS}\n" \
|
||||
"I love seeing that instant!{EXTRA_MSG}" \
|
||||
" That look of enlightenment!{WAIT_PRESS}\n" \
|
||||
"That amazed look of pleasure!{EXTRA_MSG}" \
|
||||
" I run this business because\n" \
|
||||
"I live to see that moment!"))
|
||||
|
||||
|
||||
|
||||
#define GULP_ASLEEP_DLG_00 (_( \
|
||||
" Zzz... Hello...\n" \
|
||||
"Gulpin Link Shop...\n" \
|
||||
"Link for 150 {POKE}..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_01 (_( \
|
||||
" Zzz... Gulpin Link Shop...\n" \
|
||||
"Link for just 150 {POKE}..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_02 (_( \
|
||||
" Zzz... Grunt?\n" \
|
||||
"Not enough money..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_03 (_( \
|
||||
" Zzz... Grumph...\n" \
|
||||
"Nothing to link..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_04 (_( \
|
||||
" Sssnork... Sssnork...\n" \
|
||||
"Nothing to be delinked..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_05 (_( \
|
||||
" Zzznort... Zzznnort...\n" \
|
||||
"Can't forget that..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_06 (_( \
|
||||
" Zzz... Zzz...\n" \
|
||||
"Keep going...?"))
|
||||
|
||||
#define GULP_ASLEEP_DLG_07 (_( \
|
||||
" Zzz... Zzz...\n" \
|
||||
"Come again..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_08 (_( \
|
||||
" Gwaah... Gwaah...\n" \
|
||||
"Who's gonna link moves?"))
|
||||
|
||||
#define GULP_ASLEEP_DLG_09 (_( \
|
||||
" Zzz... Fgwah...?\n" \
|
||||
"Remember what? What move?"))
|
||||
|
||||
#define GULP_ASLEEP_DLG_10 (_( \
|
||||
" Zzzznort... Move...?\n" \
|
||||
"Remember {COLOR CYAN}{POKEMON_0}{RESET}?{EXTRA_MSG}" \
|
||||
" Fwaah...\n" \
|
||||
"Gggggggggggg...{WAIT_PRESS} Gulpin!{EXTRA_MSG}" \
|
||||
" Fgwaah...\n" \
|
||||
"There...{EXTRA_MSG}" \
|
||||
" Zzz... Zzz...\n" \
|
||||
"{COLOR CYAN_M}{POKEMON_5}{RESET} remembered...\n" \
|
||||
"Hunh? That move, {COLOR CYAN}{POKEMON_0}{RESET}..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_11 (_( \
|
||||
" Zzznort... Grumble...\n" \
|
||||
"Forget {COLOR GREEN}{POKEMON_1}{RESET}?\n" \
|
||||
"Remember {COLOR CYAN}{POKEMON_0}{RESET}?"))
|
||||
|
||||
#define GULP_ASLEEP_DLG_12 (_( \
|
||||
" Zzz? Fnurf? \n" \
|
||||
"Forget {COLOR GREEN}{POKEMON_1}{RESET}...and moves linked\n" \
|
||||
"to it? Remember {COLOR CYAN}{POKEMON_0}{RESET}?"))
|
||||
|
||||
#define GULP_ASLEEP_DLG_13 (_( \
|
||||
" Fgwaah...\n" \
|
||||
"Here goes...{EXTRA_MSG}" \
|
||||
" Zzznort...\n" \
|
||||
"Gggggggg...{WAIT_PRESS} Pwah! Gulpin!{EXTRA_MSG}" \
|
||||
" Fwaah hah!\n" \
|
||||
"There...{EXTRA_MSG}" \
|
||||
" Zzz... Zzz... {COLOR CYAN_M}{POKEMON_5}{RESET}\n" \
|
||||
"forgot {COLOR GREEN}{POKEMON_1}{RESET}...\n" \
|
||||
"Remembered {COLOR CYAN}{POKEMON_0}{RESET}..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_14 (_( \
|
||||
" Fgwaaah...\n" \
|
||||
"Here goes...{EXTRA_MSG}" \
|
||||
" Zzznort...\n" \
|
||||
"Gggggggg...{WAIT_PRESS} Pwah! Gulpin!{EXTRA_MSG}" \
|
||||
" Fwaaah hah!\n" \
|
||||
"There...{EXTRA_MSG}" \
|
||||
" Zzz... Mumble...\n" \
|
||||
"{COLOR CYAN_M}{POKEMON_5}{RESET}'s OK...{EXTRA_MSG}" \
|
||||
" Sssnork... Forgotten...\n" \
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and moves linked to it...\n" \
|
||||
"Remembered {COLOR CYAN}{POKEMON_0}{RESET}..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_15 (_( \
|
||||
" Zzz... Fwaah?\n" \
|
||||
"No moves to remember..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_16 (_( \
|
||||
" Zzznork...? Hunh?\n" \
|
||||
"You're a special Pokémon...{EXTRA_MSG}" \
|
||||
" Mumble...\n" \
|
||||
"I can't help you..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_17 (_( \
|
||||
" Zzz... Forget...?\n" \
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET}?"))
|
||||
|
||||
#define GULP_ASLEEP_DLG_18 (_( \
|
||||
" Zzz... Fwaah? Forget...?\n" \
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and any moves\n" \
|
||||
"linked to it?"))
|
||||
|
||||
#define GULP_ASLEEP_DLG_19 (_( \
|
||||
" Fgwaaah...\n" \
|
||||
"Here goes...{EXTRA_MSG}" \
|
||||
" Zzznort...\n" \
|
||||
"Gggggggg...{WAIT_PRESS} Pwah!{EXTRA_MSG}" \
|
||||
" Fwaaah hah!\n" \
|
||||
"There...{EXTRA_MSG}" \
|
||||
" Zzz... Mumble...\n" \
|
||||
"{COLOR CYAN}{POKEMON_5}{RESET} forgot...\n" \
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET}..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_20 (_( \
|
||||
" Fgwaaah...\n" \
|
||||
"Here goes...{EXTRA_MSG}" \
|
||||
" Zzznort...\n" \
|
||||
"Gggggggg...{WAIT_PRESS} Pwah!{EXTRA_MSG}" \
|
||||
" Fwaaah hah!\n" \
|
||||
"There...{EXTRA_MSG}" \
|
||||
" Zzz... Mutter...\n" \
|
||||
"{COLOR CYAN}{POKEMON_5}{RESET} forgot...\n" \
|
||||
"{COLOR GREEN}{POKEMON_1}{RESET} and moves linked to it..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_21 (_( \
|
||||
" Zzznork... Fnurfle?\n" \
|
||||
"What do you want to know?"))
|
||||
|
||||
#define GULP_ASLEEP_DLG_22 (_( \
|
||||
" Zzz... Zzz...\n" \
|
||||
"A set move can be used...\n" \
|
||||
"Press {L_BUTTON} and {A_BUTTON}...{EXTRA_MSG}" \
|
||||
" Sssnort... Set the move...{WAIT_PRESS}\n" \
|
||||
"Press {L_BUTTON} and {A_BUTTON}...{WAIT_PRESS} Use move!{WAIT_PRESS}\n" \
|
||||
"Convenient...{EXTRA_MSG}" \
|
||||
" Sssnore...\n" \
|
||||
"Switch the set move in a dungeon, too..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_23 (_( \
|
||||
" Zzznork...{WAIT_PRESS}\n" \
|
||||
"Link moves to use them all in\n" \
|
||||
"one turn...{EXTRA_MSG}" \
|
||||
" Zzz... Fnurf...?\n" \
|
||||
"Linked moves...\n" \
|
||||
"Top one goes first...{EXTRA_MSG}" \
|
||||
" Zzz... Hah...?\n" \
|
||||
"Delink moves to break links...{EXTRA_MSG}" \
|
||||
" Zzzzz... Fwaaah...\n" \
|
||||
"Change order of moves with {R_BUTTON}...\n" \
|
||||
"And up and down on {DPAD}...{EXTRA_MSG}" \
|
||||
" Gwaaah... Gweh...\n" \
|
||||
"Make your own links..."))
|
||||
|
||||
#define GULP_ASLEEP_DLG_24 (_( \
|
||||
" Zzz... Snuffle...\n" \
|
||||
"I'd go broke if it weren't for those\n" \
|
||||
"forgetful Pokémon...{EXTRA_MSG}" \
|
||||
" Zzz... Gwaaah...\n" \
|
||||
"Especially that {COLOR CYAN}{POKEMON_4}{RESET}...\n" \
|
||||
"It seems to be forgetful...{EXTRA_MSG}" \
|
||||
" Sssnore...\n" \
|
||||
"I hope it forgets more moves...\n" \
|
||||
"So it needs to see me...{EXTRA_MSG}" \
|
||||
" Zzz... Mumble...\n" \
|
||||
"But we decided to get rid of that\n" \
|
||||
"{COLOR CYAN}{POKEMON_4}{RESET}...{EXTRA_MSG}" \
|
||||
" Gwaaaah... Gweh...\n" \
|
||||
"{COLOR CYAN}{POKEMON_4}{RESET} won't be coming around\n" \
|
||||
"anymore... "))
|
||||
60
src/data/locale/hints_usa.h
Normal file
60
src/data/locale/hints_usa.h
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
#define HINTHEADING_TOWN_CONTROLS_1 (_("Controls in Town 1"))
|
||||
|
||||
#define HINTBODY_TOWN_CONTROLS_1 (_( \
|
||||
"Talk: {A_BUTTON}\n" \
|
||||
"Move: {DPAD}\n" \
|
||||
"Window: {B_BUTTON} lightly\n" \
|
||||
"Message scroll: {A_BUTTON} or {B_BUTTON}\n" \
|
||||
"Cancel: {B_BUTTON}\n" \
|
||||
"Description: Choose item or move, {START_BUTTON}"))
|
||||
|
||||
|
||||
|
||||
#define HINTHEADING_TOWN_CONTROLS_2 (_("Controls in Town 2"))
|
||||
|
||||
#define HINTBODY_TOWN_CONTROLS_2 (_( \
|
||||
"Selecting multiple items in storage:\n" \
|
||||
" Select an item, then press {L_BUTTON} or {R_BUTTON}.\n" \
|
||||
"Moving to the Friend Area Map:\n" \
|
||||
" Move out from the town's west side\n" \
|
||||
" while pressing {L_BUTTON} or {R_BUTTON}.\n" \
|
||||
"Moving diagonally on the Friend Area Map:\n" \
|
||||
" {DPAD} while keeping {R_BUTTON} pressed."))
|
||||
|
||||
|
||||
|
||||
#define HINTHEADING_SAVING (_("Saving"))
|
||||
|
||||
#define HINTBODY_SAVING (_( \
|
||||
"You can save your adventure by\n" \
|
||||
"hopping onto your bed in your base.\n" \
|
||||
"Get in the habit of saving regularly as\n" \
|
||||
"you progress in your adventure."))
|
||||
|
||||
|
||||
|
||||
#define HINTHEADING_ADVENTURES_WITH_FRIENDS (_("Adventures with Friends"))
|
||||
|
||||
#define HINTBODY_ADVENTURES_WITH_FRIENDS (_( \
|
||||
"If new recruits join you, try to return to\n" \
|
||||
"your base without letting them faint.\n" \
|
||||
"If you get them out safely, they'll wait\n" \
|
||||
"for you in their Friend Areas.\n" \
|
||||
"Once you get them out, they'll always\n" \
|
||||
"return home if they faint in a dungeon.\n" \
|
||||
"If you faint in a dungeon, you lose all your\n" \
|
||||
"money and some items, too."))
|
||||
|
||||
|
||||
|
||||
#define HINTHEADING_BUILDING_A_TEAM (_("Building a Team"))
|
||||
|
||||
#define HINTBODY_BUILDING_A_TEAM (_( \
|
||||
"Before leaving on an adventure, go visit\n" \
|
||||
"friends in their Friend Areas and pick\n" \
|
||||
"your mission members.\n" \
|
||||
"The team can include members up to\n" \
|
||||
"a total body size of 6{STAR_BULLET}. The body size\n" \
|
||||
"data is under the Info section.\n" \
|
||||
"Dungeons may also limit how many\n" \
|
||||
"members are allowed to go inside."))
|
||||
189
src/data/locale/kangaskhan_storage_usa.h
Normal file
189
src/data/locale/kangaskhan_storage_usa.h
Normal file
|
|
@ -0,0 +1,189 @@
|
|||
#define KANG_AWAKE_WELCOME (_( \
|
||||
" Hello, there!\n" \
|
||||
"Welcome to {POKEMON_6} Storage."))
|
||||
|
||||
#define KANG_AWAKE_ANYTHING_ELSE (_(" Anything else, dear?"))
|
||||
|
||||
#define KANG_AWAKE_BYE (_( \
|
||||
" Thank you, sweetie.\n" \
|
||||
"Come again!"))
|
||||
|
||||
#define KANG_AWAKE_STORE_WHAT (_( \
|
||||
" What do you want to store?\n" \
|
||||
"You can choose more than one item using\n" \
|
||||
"{L_BUTTON} or {R_BUTTON}."))
|
||||
|
||||
#define KANG_AWAKE_STORE_MORE (_( \
|
||||
" Do you want to store\n" \
|
||||
"anything else?"))
|
||||
|
||||
#define KANG_AWAKE_DEPOSIT_ONE_PROMPT (_( \
|
||||
" I'll put your\n" \
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET} in storage. OK?"))
|
||||
|
||||
#define KANG_AWAKE_DEPOSIT_MANY_PROMPT (_( \
|
||||
" I'll put the items you chose\n" \
|
||||
"in storage. OK?"))
|
||||
|
||||
#define KANG_AWAKE_DEPOSIT_CONFIRMATION (_( \
|
||||
" OK, stored away!\n" \
|
||||
"You can count on me, honey."))
|
||||
|
||||
#define KANG_AWAKE_TAKE_WHAT (_( \
|
||||
" What will you take out?\n" \
|
||||
"You can choose more than one item using\n" \
|
||||
"{L_BUTTON} or {R_BUTTON}."))
|
||||
|
||||
#define KANG_AWAKE_TAKE_MORE (_( \
|
||||
" Would you like to take\n" \
|
||||
"anything else?"))
|
||||
|
||||
#define KANG_AWAKE_WITHDRAW_ONE_PROMPT (_( \
|
||||
" Fine, I'll take your\n" \
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET} out of storage. OK?"))
|
||||
|
||||
#define KANG_AWAKE_WITHDRAW_MANY_PROMPT (_( \
|
||||
" I'll take the items you\n" \
|
||||
"chose out of storage. OK?"))
|
||||
|
||||
#define KANG_AWAKE_WITHDRAW_CONFIRMATION (_( \
|
||||
" There you go!\n" \
|
||||
"Just like you asked, sweetie!"))
|
||||
|
||||
#define KANG_AWAKE_YOU_HAVE_NOTHING (_( \
|
||||
" Oh?\n" \
|
||||
"You don't seem to have anything?"))
|
||||
|
||||
#define KANG_AWAKE_YOU_ARE_FULL (_( \
|
||||
" Oh? You don't have the room\n" \
|
||||
"to carry any more items, dear."))
|
||||
|
||||
#define KANG_AWAKE_STORAGE_HAS_NOTHING (_( \
|
||||
" Oh?\n" \
|
||||
"You don't have anything stored, dear."))
|
||||
|
||||
#define KANG_AWAKE_DEPOSIT_INVALID_ITEM (_( \
|
||||
" Oh, dear, sorry.{WAIT_PRESS}\n" \
|
||||
"That {COLOR GREEN}{MOVE_ITEM_0}{RESET} is an item you\n" \
|
||||
"can't put in storage."))
|
||||
|
||||
#define KANG_AWAKE_DEPOSIT_TOO_MANY_OF_ITEM (_( \
|
||||
" Sorry, dear.\n" \
|
||||
"I can't take any more of that item."))
|
||||
|
||||
#define KANG_AWAKE_STORAGE_FULL (_( \
|
||||
" Sorry, dear.\n" \
|
||||
"I've run out of storage space."))
|
||||
|
||||
#define KANG_AWAKE_HOW_IT_WORKS (_( \
|
||||
" I can store items that you\n" \
|
||||
"found in dungeons, or that you\n" \
|
||||
"bought from shops.{EXTRA_MSG}" \
|
||||
" If you faint in\n" \
|
||||
"a dungeon, your items will be lost...{WAIT_PRESS}\n" \
|
||||
"But what's in storage will be safe.{EXTRA_MSG}" \
|
||||
" I keep guard over the\n" \
|
||||
"storage space, so anything you leave\n" \
|
||||
"with me won't ever disappear!{EXTRA_MSG}" \
|
||||
" If you have any items that\n" \
|
||||
"you can't bear to lose, be sure to leave\n" \
|
||||
"them with me!"))
|
||||
|
||||
|
||||
|
||||
#define KANG_ASLEEP_WELCOME (_( \
|
||||
" Zzz... Zzz...\n" \
|
||||
"Hello, there...\n" \
|
||||
"{POKEMON_6} Storage..."))
|
||||
|
||||
#define KANG_ASLEEP_ANYTHING_ELSE (_( \
|
||||
" Zzz... Snork...\n" \
|
||||
"Anything else?"))
|
||||
|
||||
#define KANG_ASLEEP_BYE (_( \
|
||||
" Snuffle... Mutter...\n" \
|
||||
"Thank you...\n" \
|
||||
"Come again..."))
|
||||
|
||||
#define KANG_ASLEEP_STORE_WHAT (_( \
|
||||
" Hunh, wha--? Store what...?\n" \
|
||||
"You can choose more than one using\n" \
|
||||
"{L_BUTTON} or {R_BUTTON}..."))
|
||||
|
||||
#define KANG_ASLEEP_STORE_MORE (_( \
|
||||
" Do you... Snork...\n" \
|
||||
"Store anything else?"))
|
||||
|
||||
#define KANG_ASLEEP_DEPOSIT_ONE_PROMPT (_( \
|
||||
" Zzz... Store something?\n" \
|
||||
"Gonna put {COLOR GREEN}{MOVE_ITEM_0}{RESET} in storage...\n" \
|
||||
"OK?"))
|
||||
|
||||
#define KANG_ASLEEP_DEPOSIT_MANY_PROMPT (_( \
|
||||
" Hunh, wha--? Storage...?\n" \
|
||||
"I'll put away the things you chose...\n" \
|
||||
"That OK?"))
|
||||
|
||||
#define KANG_ASLEEP_DEPOSIT_CONFIRMATION (_( \
|
||||
" Zzz... Zzz...\n" \
|
||||
"Yup, I did... Stored away..."))
|
||||
|
||||
#define KANG_ASLEEP_TAKE_WHAT (_( \
|
||||
" What...? Take out...?\n" \
|
||||
"Uh-huh... Choose more than one using\n" \
|
||||
"{L_BUTTON} or {R_BUTTON}... Zzz..."))
|
||||
|
||||
#define KANG_ASLEEP_TAKE_MORE (_( \
|
||||
" Snork! Zzz...\n" \
|
||||
"Taking anything else?"))
|
||||
|
||||
#define KANG_ASLEEP_WITHDRAW_ONE_PROMPT (_( \
|
||||
" Hunh...? Taking...?\n" \
|
||||
"Oh... You want your {COLOR GREEN}{MOVE_ITEM_0}{RESET}...\n" \
|
||||
"OK?"))
|
||||
|
||||
#define KANG_ASLEEP_WITHDRAW_MANY_PROMPT (_( \
|
||||
" Zzz... Zzz... Hunh...?\n" \
|
||||
"You want those things from storage...\n" \
|
||||
"OK?"))
|
||||
|
||||
#define KANG_ASLEEP_WITHDRAW_CONFIRMATION (_( \
|
||||
" Zzz... Snork!\n" \
|
||||
"There you go..."))
|
||||
|
||||
#define KANG_ASLEEP_YOU_HAVE_NOTHING (_( \
|
||||
" Snarfle? Hunh...?{WAIT_PRESS}\n" \
|
||||
"Zzz...\n" \
|
||||
"You don't have anything...?"))
|
||||
|
||||
#define KANG_ASLEEP_YOU_ARE_FULL (_( \
|
||||
" Snarfle? Hunh...?{WAIT_PRESS}\n" \
|
||||
"Zzz...\n" \
|
||||
"You don't have enough space..."))
|
||||
|
||||
#define KANG_ASLEEP_STORAGE_EMPTY (_( \
|
||||
" Snarfle? Hunh...?{WAIT_PRESS}\n" \
|
||||
"Zzz... Your storage space... Empty..."))
|
||||
|
||||
#define KANG_ASLEEP_DEPOSIT_INVALID_ITEM (_( \
|
||||
" Zzz... Zzz...\n" \
|
||||
"That {COLOR GREEN}{MOVE_ITEM_0}{RESET}...\n" \
|
||||
"Can't store it..."))
|
||||
|
||||
#define KANG_ASLEEP_DEPOSIT_TOO_MANY_OF_ITEM (_( \
|
||||
" Zzz... No...\n" \
|
||||
"Can't store any more of that..."))
|
||||
|
||||
#define KANG_ASLEEP_STORAGE_FULL (_( \
|
||||
" Zzz... Zzz... No...\n" \
|
||||
"The storage space is full..."))
|
||||
|
||||
#define KANG_ASLEEP_HOW_IT_WORKS (_( \
|
||||
" Zzz... Snork!\n" \
|
||||
"I can store items that you\n" \
|
||||
"found in dungeons...{EXTRA_MSG}" \
|
||||
" Snarfle...\n" \
|
||||
"Things in storage don't get lost...{EXTRA_MSG}" \
|
||||
" Zzz... Zzz...\n" \
|
||||
"That's why...\n" \
|
||||
"Keep important items in storage..."))
|
||||
470
src/data/locale/kecleon_bros_usa.h
Normal file
470
src/data/locale/kecleon_bros_usa.h
Normal file
|
|
@ -0,0 +1,470 @@
|
|||
#define KEC_ITEMS_AWAKE_DLG_00 (_( \
|
||||
" Hello〜♪\n" \
|
||||
"Welcome to the {POKEMON_6} Shop〜♪ "))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_01 (_( \
|
||||
" May I help you with\n" \
|
||||
"anything else?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_02 (_( \
|
||||
" Thank you!\n" \
|
||||
"Please call again〜♪ "))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_03 (_( \
|
||||
" Ah, very well!\n" \
|
||||
"Feel free to examine my merchandise〜♪"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_04 (_( \
|
||||
" Do you wish to buy\n" \
|
||||
"anything else today?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_05 (_( \
|
||||
" {COLOR GREEN}{MOVE_ITEM_0}{RESET}?\n" \
|
||||
"That will be {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"Is that to your liking?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_06 (_( \
|
||||
" Very well! Thank you〜♪\n" \
|
||||
"It is yours to take!"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_07 (_( \
|
||||
" Ah, very well!\n" \
|
||||
"What do you wish to sell?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_08 (_( \
|
||||
" Do you wish to sell\n" \
|
||||
"anything else?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_09 (_( \
|
||||
" {COLOR GREEN}{MOVE_ITEM_0}{RESET}?\n" \
|
||||
"I can offer you {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"Will you sell it for that price?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_10 (_( \
|
||||
" For everything I can buy,\n" \
|
||||
"I can offer {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"Is that acceptable to you?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_11 (_( \
|
||||
" Good! Done deal!\n" \
|
||||
"Thank you so much〜♪ "))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_12 (_( \
|
||||
" ...{WAIT_PRESS}I'm sold out...\n" \
|
||||
"Please, forgive me.{EXTRA_MSG}" \
|
||||
" I will have new merchandise\n" \
|
||||
"for you tomorrow, I swear!"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_13 (_( \
|
||||
" Huh?{WAIT_PRESS}\n" \
|
||||
"You don't seem to have the money?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_14 (_( \
|
||||
" Oh, my goodness!\n" \
|
||||
"You're overflowing with money!{EXTRA_MSG}" \
|
||||
" You couldn't possibly carry\n" \
|
||||
"any more money! "))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_15 (_( \
|
||||
" Oh? Oh?{WAIT_PRESS}\n" \
|
||||
"You seem to have nothing to sell?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_16 (_( \
|
||||
" Oh? Oh?{WAIT_PRESS}\n" \
|
||||
"You don't seem to have anything?"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_17 (_( \
|
||||
" Oh, my!{WAIT_PRESS}\n" \
|
||||
"You have no space for any more items!"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_18 (_( \
|
||||
" Uh-oh?!{WAIT_PRESS}\n" \
|
||||
"That's it! No more merchandise!{EXTRA_MSG}" \
|
||||
" I'm completely sold out!"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_19 (_( \
|
||||
" Oh, my!{WAIT_PRESS}\n" \
|
||||
"Sorry, but you don't have enough money!"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_20 (_( \
|
||||
" Oh, whoa, whoa!{WAIT_PRESS}\n" \
|
||||
"I... I couldn't possibly take that from you!"))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_21 (_( \
|
||||
" Oh, my!{WAIT_PRESS}\n" \
|
||||
"You can't add any more to your money.\n" \
|
||||
"I can't complete this deal, sorry."))
|
||||
|
||||
#define KEC_ITEMS_AWAKE_DLG_22 (_( \
|
||||
" We, the {POKEMON_6}\n" \
|
||||
"Brothers, have a passion for selling\n" \
|
||||
"items.{EXTRA_MSG}" \
|
||||
" Items are useful for your\n" \
|
||||
"dungeon adventures.{EXTRA_MSG}" \
|
||||
" Use your imagination and\n" \
|
||||
"discover innovative uses, please.{EXTRA_MSG}" \
|
||||
" Ah, yes.\n" \
|
||||
"If my shop sells out...{EXTRA_MSG}" \
|
||||
" New merchandise will\n" \
|
||||
"arrive the following day.{EXTRA_MSG}" \
|
||||
" Until then, please go to\n" \
|
||||
"a dungeon and spend some time.\n" \
|
||||
"Please visit on your return〜♪{EXTRA_MSG}" \
|
||||
" Ah, yes. The {POKEMON_6}\n" \
|
||||
"Shop is a nationwide chain.{EXTRA_MSG}" \
|
||||
" There are shops even in\n" \
|
||||
"dungeons.\n" \
|
||||
"Please do visit〜♪ "))
|
||||
|
||||
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_00 (_( \
|
||||
" Zzzzzz...\n" \
|
||||
"Welcome..."))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_01 (_( \
|
||||
" Zzz... Meep...\n" \
|
||||
"Help you with anything else?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_02 (_( \
|
||||
" Thank... Zzz...\n" \
|
||||
"Thank you..."))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_03 (_( \
|
||||
" Zzz... Meep... Eep...\n" \
|
||||
"Look around..."))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_04 (_( \
|
||||
" Buy? Huh, eep?\n" \
|
||||
"Anything else?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_05 (_( \
|
||||
" Zzz... Meep meep...\n" \
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET}...?\n" \
|
||||
"{COLOR CYAN}{VALUE_0}{RESET} {POKE}, OK?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_06 (_( \
|
||||
" Eep! Wah...?\n" \
|
||||
"Thank you..."))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_07 (_( \
|
||||
" Zzz... Zzz...?\n" \
|
||||
"You're selling what...?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_08 (_( \
|
||||
" Zzz... Meep...\n" \
|
||||
"Going to sell anything else?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_09 (_( \
|
||||
" Zzzzzz... Zzzzzz...?\n" \
|
||||
"Selling that {COLOR GREEN}{MOVE_ITEM_0}{RESET}...?\n" \
|
||||
"How about {COLOR CYAN}{VALUE_0}{RESET} {POKE}?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_10 (_( \
|
||||
" Zzzzzz... Zzzzzz...?\n" \
|
||||
"I can pay you {COLOR CYAN}{VALUE_0}{RESET} {POKE}\n" \
|
||||
"for everything I can buy... OK?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_11 (_( \
|
||||
" Done... Meep! Deal!\n" \
|
||||
"Thank you..."))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_12 (_( \
|
||||
" ...{WAIT_PRESS} ZZZ!\n" \
|
||||
"I'm sold out... Forgive me..."))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_13 (_( \
|
||||
" Hunh?{WAIT_PRESS}\n" \
|
||||
"Eep...?\n" \
|
||||
"You don't have money?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_14 (_( \
|
||||
" Zzz... Oh, my!\n" \
|
||||
"You have so much money...!{EXTRA_MSG}" \
|
||||
" Zzz... Meep...\n" \
|
||||
"You can't carry any more money..."))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_15 (_( \
|
||||
" Zzz... Huh?{WAIT_PRESS}\n" \
|
||||
"Meep meep...\n" \
|
||||
"You don't seem to have anything to sell?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_16 (_( \
|
||||
" Zzz... Eep...?{WAIT_PRESS}\n" \
|
||||
"Meep... You don't seem to have\n" \
|
||||
"anything...?"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_17 (_( \
|
||||
" Zzz... Oh, my!{WAIT_PRESS}\n" \
|
||||
"Meep... You have no space..."))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_18 (_( \
|
||||
" Zzz... Uh-oh?!{WAIT_PRESS}\n" \
|
||||
"Eep!\n" \
|
||||
"Sold out! All gone!"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_19 (_( \
|
||||
" Zzz... Huh, my...!{WAIT_PRESS}\n" \
|
||||
"Meep... Meep...\n" \
|
||||
"You don't have enough money!"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_20 (_( \
|
||||
" Zzz... Whoa...{WAIT_PRESS}\n" \
|
||||
"I... I can't take that!"))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_21 (_( \
|
||||
" Zzz... Hunh, what...?{WAIT_PRESS}\n" \
|
||||
"Zzz... You can't hold any more money..."))
|
||||
|
||||
#define KEC_ITEMS_ASLEEP_DLG_22 (_( \
|
||||
" Zzzzzz...\n" \
|
||||
"I sell items...{EXTRA_MSG}" \
|
||||
" Items... Meep meep...\n" \
|
||||
"Are useful in dungeons...{EXTRA_MSG}" \
|
||||
" Use... Zzz... Huh...?\n" \
|
||||
"Your imagination...and be clever...\n" \
|
||||
"With them..."))
|
||||
|
||||
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_00 (_( \
|
||||
" Welcome to Kecleon Wares!\n" \
|
||||
"The shop for Orbs and TMs〜♪ "))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_01 (_( \
|
||||
" May I assist you in any\n" \
|
||||
"other way?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_02 (_( \
|
||||
" Thank you so much!\n" \
|
||||
"Please do visit again〜♪ "))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_03 (_( \
|
||||
" Ah, very well!\n" \
|
||||
"Do examine my merchandise.\n" \
|
||||
"I have chosen it with pride〜♪ "))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_04 (_( \
|
||||
" Do you wish to purchase\n" \
|
||||
"anything else?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_05 (_( \
|
||||
" {COLOR GREEN}{MOVE_ITEM_0}{RESET}, you say?\n" \
|
||||
"That will be {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"Is that acceptable?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_06 (_( \
|
||||
" Thank you so much〜♪\n" \
|
||||
"A very good choice!"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_07 (_( \
|
||||
" Ah, very well!\n" \
|
||||
"What do you wish to sell?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_08 (_( \
|
||||
" Do you wish to sell me\n" \
|
||||
"anything else?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_09 (_( \
|
||||
" {COLOR GREEN}{MOVE_ITEM_0}{RESET}, you say?\n" \
|
||||
"For that, I can offer {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"Is that acceptable?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_10 (_( \
|
||||
" For all that I can buy, I can\n" \
|
||||
"offer you {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"Is that acceptable?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_11 (_( \
|
||||
" Fine, fine, we have a deal!\n" \
|
||||
"Thank you so much〜♪ "))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_12 (_( \
|
||||
" ...{WAIT_PRESS}I am all out of wares...\n" \
|
||||
"I am so sorry, my friend...{EXTRA_MSG}" \
|
||||
" Tomorrow!\n" \
|
||||
"Tomorrow I shall have more wares!"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_13 (_( \
|
||||
" Oh?{WAIT_PRESS}\n" \
|
||||
"My friend, you seem not to have\n" \
|
||||
"enough money?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_14 (_( \
|
||||
" Oh, my, my!\n" \
|
||||
"My friend, you have too much money!{EXTRA_MSG}" \
|
||||
" You can't carry any more\n" \
|
||||
"money than you have now."))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_15 (_( \
|
||||
" Oh, oh, oh?{WAIT_PRESS}\n" \
|
||||
"My friend, you seem to not have anything\n" \
|
||||
"that you can sell?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_16 (_( \
|
||||
" Oh?{WAIT_PRESS}\n" \
|
||||
"My friend, you seem to have nothing?"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_17 (_( \
|
||||
" Oh, dear me!{WAIT_PRESS}\n" \
|
||||
"My friend, you've run out of space for\n" \
|
||||
"my wares!"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_18 (_( \
|
||||
" Oh? Uh-oh!{WAIT_PRESS}\n" \
|
||||
"My shelves are bare of wares!{EXTRA_MSG}" \
|
||||
" I am completely sold out,\n" \
|
||||
"my friend!"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_19 (_( \
|
||||
" Eep! Oh, dear!{WAIT_PRESS}\n" \
|
||||
"You're short on money, my friend!"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_20 (_( \
|
||||
" Whoa, whoa!{WAIT_PRESS}\n" \
|
||||
"I... I can't accept anything like that!"))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_21 (_( \
|
||||
" Oh, no, no!{WAIT_PRESS}\n" \
|
||||
"My friend, you cannot add to your money!\n" \
|
||||
"I cannot do this."))
|
||||
|
||||
#define KEC_WARES_AWAKE_DLG_22 (_( \
|
||||
" Wonder Orbs are very,\n" \
|
||||
"very convenient〜♪{EXTRA_MSG}" \
|
||||
" However, they disappear\n" \
|
||||
"after one use...{WAIT_PRESS}\n" \
|
||||
"But they are useful in a pinch!{EXTRA_MSG}" \
|
||||
" Use them cleverly, and your\n" \
|
||||
"adventures will be made much easier〜♪{EXTRA_MSG}" \
|
||||
" And moves...{WAIT_PRESS}\n" \
|
||||
"They are the ultimate power!{EXTRA_MSG}" \
|
||||
" Smash rocks!{WAIT_PRESS} Fly!{WAIT_PRESS}\n" \
|
||||
"There are many kinds of moves, all of\n" \
|
||||
"them dynamic, yet elegant!{EXTRA_MSG}" \
|
||||
" There are even moves of\n" \
|
||||
"obscure rarity...{WAIT_PRESS}\n" \
|
||||
"Simply gorgeous, they are!{EXTRA_MSG}" \
|
||||
" Now, we have these moves!{WAIT_PRESS}\n" \
|
||||
"They can be learned using our Technical\n" \
|
||||
"Machines, or TMs for short!{EXTRA_MSG}" \
|
||||
" You see?\n" \
|
||||
"Isn't it exciting? Even dreamy?{EXTRA_MSG}" \
|
||||
" Why, it gets me so excited,\n" \
|
||||
"my color has turned a rosy tint!{EXTRA_MSG}" \
|
||||
" I do hope you will shop\n" \
|
||||
"with us--me and my brother next to\n" \
|
||||
"me!"))
|
||||
|
||||
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_00 (_( \
|
||||
" Zzzzzz...\n" \
|
||||
"This is...my shop..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_01 (_( \
|
||||
" Reep...\n" \
|
||||
"Anything else?"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_02 (_( \
|
||||
" Thank... Reep eep...\n" \
|
||||
"Come again..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_03 (_( \
|
||||
" Ah... Zzz...\n" \
|
||||
"My merchandise..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_04 (_( \
|
||||
" Anything? Zzz...\n" \
|
||||
"Buying anything else?"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_05 (_( \
|
||||
" Zzzzzz...\n" \
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET} is {COLOR CYAN}{VALUE_0}{RESET} {POKE}...\n" \
|
||||
"OK?"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_06 (_( \
|
||||
" Zzz... Reep!\n" \
|
||||
"Thank you..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_07 (_( \
|
||||
" Zzz... Eep...?\n" \
|
||||
"What will you sell...?"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_08 (_( \
|
||||
" Reep reep... Eep...\n" \
|
||||
"Anything else for sale?"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_09 (_( \
|
||||
" Zzzzzz... Zzzzzz...?\n" \
|
||||
"{COLOR GREEN}{MOVE_ITEM_0}{RESET}?\n" \
|
||||
"Is {COLOR CYAN}{VALUE_0}{RESET} {POKE} OK?"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_10 (_( \
|
||||
" Zzz... Reep, what...?\n" \
|
||||
"For all that I can buy, I will pay\n" \
|
||||
"{COLOR CYAN}{VALUE_0}{RESET} {POKE}... OK?"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_11 (_( \
|
||||
" Fine... Reep reep...\n" \
|
||||
"Done deal!\n" \
|
||||
"Thank you..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_12 (_( \
|
||||
" ...{WAIT_PRESS}Zzz...\n" \
|
||||
"I am all sold out... Sorry..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_13 (_( \
|
||||
" Reep eep! Oh?{WAIT_PRESS}\n" \
|
||||
"Eep...?\n" \
|
||||
"You have no money?"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_14 (_( \
|
||||
" Eep...? Zzz...\n" \
|
||||
"You have too much money!{EXTRA_MSG}" \
|
||||
" Zzz... Eh?\n" \
|
||||
"You can't hold any more money..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_15 (_( \
|
||||
" Zzz... Oh...?{WAIT_PRESS}\n" \
|
||||
"You have nothing to sell...\n" \
|
||||
"Hunh?"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_16 (_( \
|
||||
" Zzzzzz... Oh?{WAIT_PRESS}\n" \
|
||||
"You've got nothing..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_17 (_( \
|
||||
" Zzz... Hunh? Oh...{WAIT_PRESS}\n" \
|
||||
"Reep... No room... Reep...\n" \
|
||||
"No room for my wares..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_18 (_( \
|
||||
" Zzz... Uh-oh...{WAIT_PRESS}\n" \
|
||||
"All gone!\n" \
|
||||
"I am sold out..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_19 (_( \
|
||||
" Reep...? Eep!{WAIT_PRESS}\n" \
|
||||
"Not enough money!"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_20 (_( \
|
||||
" Zzz... Hunh? Wha--? Whoa!{WAIT_PRESS}\n" \
|
||||
"I... I can't accept anything like that!"))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_21 (_( \
|
||||
" Zzz... Eep? No, no...{WAIT_PRESS}\n" \
|
||||
"You cannot hold any more money..."))
|
||||
|
||||
#define KEC_WARES_ASLEEP_DLG_22 (_( \
|
||||
" Zzz... Reep reep...\n" \
|
||||
"Wonder Orbs are convenient...{EXTRA_MSG}" \
|
||||
" Zzzzzz...\n" \
|
||||
"They disappear after one use...{EXTRA_MSG}" \
|
||||
" Zzz... And moves...\n" \
|
||||
"They are ultimate...{EXTRA_MSG}" \
|
||||
" Zzz... Eep...\n" \
|
||||
"Learn moves with Technical Machines...{EXTRA_MSG}" \
|
||||
" Zzz...\n" \
|
||||
"My good wares...\n" \
|
||||
"Come buy... Reep..."))
|
||||
155
src/data/locale/makuhita_dojo_usa.h
Normal file
155
src/data/locale/makuhita_dojo_usa.h
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
#define MAKU_AWAKE_DLG_0 (_( \
|
||||
" This is the Makuhita Dojo!{WAIT_PRESS}\n" \
|
||||
"Through rigorous training, one begets\n" \
|
||||
"true power."))
|
||||
|
||||
#define MAKU_AWAKE_DLG_1 (_(" What else do you seek?"))
|
||||
|
||||
#define MAKU_AWAKE_DLG_2 (_( \
|
||||
" Fine, farewell.\n" \
|
||||
"Return if you seek more training."))
|
||||
|
||||
#define MAKU_AWAKE_DLG_3 (_(" Where do you wish to train?"))
|
||||
|
||||
#define MAKU_AWAKE_DLG_4 (_( \
|
||||
" The {POKEMON_0}?{WAIT_PRESS}\n" \
|
||||
"Your decision stands!{WAIT_PRESS}\n" \
|
||||
"Let the training begin!"))
|
||||
|
||||
#define MAKU_AWAKE_DLG_5 (_( \
|
||||
" Aiyah...{WAIT_PRESS}\n" \
|
||||
"You failed to reach the end...{WAIT_PRESS}\n" \
|
||||
"More training is what you need.{EXTRA_MSG}" \
|
||||
" But effort is never wasted!{EXTRA_MSG}" \
|
||||
" Learn from this and move\n" \
|
||||
"forward!"))
|
||||
|
||||
#define MAKU_AWAKE_DLG_6 (_( \
|
||||
" Ah...\n" \
|
||||
"You have succeeded in your training!{EXTRA_MSG}" \
|
||||
" You've shown your worth!{WAIT_PRESS}\n" \
|
||||
"Without a doubt, you have grown more\n" \
|
||||
"powerful from your training!{EXTRA_MSG}" \
|
||||
" May this success drive\n" \
|
||||
"you to train even harder!"))
|
||||
|
||||
#define MAKU_AWAKE_DLG_7 (_( \
|
||||
" Ah...\n" \
|
||||
"You have succeeded in your training!{EXTRA_MSG}" \
|
||||
" You've shown your worth!{WAIT_PRESS}\n" \
|
||||
"Without a doubt, you have grown more\n" \
|
||||
"powerful from your training!{WAIT_PRESS} Wait...{WAIT_PRESS} ...{EXTRA_MSG}" \
|
||||
" Wuh?{WAIT_PRESS}\n" \
|
||||
"What, what, what?!{EXTRA_MSG}" \
|
||||
" Did you maybe...{WAIT_PRESS}\n" \
|
||||
"Conquer all the training courses?{EXTRA_MSG}" \
|
||||
" That's...{WAIT_PRESS} Amazing! You!{WAIT_PRESS}\n" \
|
||||
"Congratulations!{EXTRA_MSG}" \
|
||||
" I promised!{WAIT_PRESS}\n" \
|
||||
"I promised you a reward for completing\n" \
|
||||
"the training courses!{EXTRA_MSG}" \
|
||||
" So... Here it is!{WAIT_PRESS}\n" \
|
||||
"My {COLOR GREEN_I}Bonsly Doll{RESET}!{EXTRA_MSG}" \
|
||||
" Isn't it smashing? Hey?!"))
|
||||
|
||||
#define MAKU_AWAKE_DLG_8 (_( \
|
||||
" Don't let up on your training!\n" \
|
||||
"Keep bettering yourself!{EXTRA_MSG}" \
|
||||
" May you never lose your\n" \
|
||||
"drive!"))
|
||||
|
||||
#define MAKU_AWAKE_DLG_9 (_( \
|
||||
" This dojo was founded to\n" \
|
||||
"support the efforts of rescue teams.{EXTRA_MSG}" \
|
||||
" Train in different rooms to\n" \
|
||||
"level up...{WAIT_PRESS}\n" \
|
||||
"And toughen up your rescue team.{EXTRA_MSG}" \
|
||||
" Also...{WAIT_PRESS}\n" \
|
||||
"In the {COLOR YELLOW_D}Fire Maze{RESET} you will find only\n" \
|
||||
"Fire-type Pokémon.{EXTRA_MSG}" \
|
||||
" In the {COLOR YELLOW_D}Water Maze{RESET} there\n" \
|
||||
"will only be Water-type Pokémon.{EXTRA_MSG}" \
|
||||
" In such ways, only one type\n" \
|
||||
"of Pokémon will be in a given room.\n" \
|
||||
"Study how types match up in battle.{EXTRA_MSG}" \
|
||||
" The Pokémon in this dojo,\n" \
|
||||
"by the way, are all volunteers.{EXTRA_MSG}" \
|
||||
" They are participating\n" \
|
||||
"because they want to see rescue teams\n" \
|
||||
"succeed.{EXTRA_MSG}" \
|
||||
" The only thanks they expect\n" \
|
||||
"is to see you become stronger.\n" \
|
||||
"Don't let them down!{EXTRA_MSG}" \
|
||||
" There's more.{WAIT_PRESS}\n" \
|
||||
"For a rescue team that successfully\n" \
|
||||
"completes all training courses...{EXTRA_MSG}" \
|
||||
" I have a special reward!{EXTRA_MSG}" \
|
||||
" Let that compel you to train\n" \
|
||||
"harder!"))
|
||||
|
||||
|
||||
|
||||
#define MAKU_ASLEEP_DLG_0 (_( \
|
||||
" Zzznarr... Zzznarr...\n" \
|
||||
"Makuhita... Dojo..."))
|
||||
|
||||
#define MAKU_ASLEEP_DLG_1 (_( \
|
||||
" Zzznarr... Urr?\n" \
|
||||
"What else?"))
|
||||
|
||||
#define MAKU_ASLEEP_DLG_2 (_( \
|
||||
" Urr... Narr...\n" \
|
||||
"See you..."))
|
||||
|
||||
#define MAKU_ASLEEP_DLG_3 (_( \
|
||||
" Zzznarr... Zzz...\n" \
|
||||
"Train where?"))
|
||||
|
||||
#define MAKU_ASLEEP_DLG_4 (_( \
|
||||
" Zzz... Narr...\n" \
|
||||
"{POKEMON_0}? 'K, go..."))
|
||||
|
||||
#define MAKU_ASLEEP_DLG_5 (_( \
|
||||
" Aiyah... Zzznarr...\n" \
|
||||
"Didn't finish...{EXTRA_MSG}" \
|
||||
" Zzz... Urr?\n" \
|
||||
"No giving up..."))
|
||||
|
||||
#define MAKU_ASLEEP_DLG_6 (_( \
|
||||
" Ah... Zzznarr...\n" \
|
||||
"Cleared it...{EXTRA_MSG}" \
|
||||
" Congrazzz...\n" \
|
||||
"Keep going... Zzz..."))
|
||||
|
||||
#define MAKU_ASLEEP_DLG_7 (_( \
|
||||
" Ah... Zzznarr...\n" \
|
||||
"Cleared it...{EXTRA_MSG}" \
|
||||
" Zzzznarr... Urr...\n" \
|
||||
"Good going... Keep going...{WAIT_PRESS}\n" \
|
||||
"Hunh...{WAIT_PRESS} ...{EXTRA_MSG}" \
|
||||
" Gwoh?{WAIT_PRESS}\n" \
|
||||
"Gwogwogwoh?{EXTRA_MSG}" \
|
||||
" Mugawah?\n" \
|
||||
"Cleared everything?{EXTRA_MSG}" \
|
||||
" Zzznarr!\n" \
|
||||
"Congrazzz...{EXTRA_MSG}" \
|
||||
" Zzznarr... Zzznarr...\n" \
|
||||
"Your reward...\n" \
|
||||
"Promised...{EXTRA_MSG}" \
|
||||
" Zzz... Urr!\n" \
|
||||
"{COLOR GREEN_I}Bonsly Doll{RESET}..."))
|
||||
|
||||
#define MAKU_ASLEEP_DLG_8 (_( \
|
||||
" Zzznarr... Zzz...!\n" \
|
||||
"Keep working..."))
|
||||
|
||||
#define MAKU_ASLEEP_DLG_9 (_( \
|
||||
" Zzznarr... Zzz...\n" \
|
||||
"This dojo...\n" \
|
||||
"Help rescue teams...{EXTRA_MSG}" \
|
||||
" Zzznarr... Urr...\n" \
|
||||
"Train in different rooms to level up...{EXTRA_MSG}" \
|
||||
" Zzznarr... Urr!\n" \
|
||||
"Make stronger rescue team...{EXTRA_MSG}" \
|
||||
" Urr... Zzznarr!\n" \
|
||||
"Don't let up!"))
|
||||
769
src/data/locale/personality_test1_usa.h
Normal file
769
src/data/locale/personality_test1_usa.h
Normal file
|
|
@ -0,0 +1,769 @@
|
|||
#define HARDY_Q1 (_( \
|
||||
"A test is coming up.\n" \
|
||||
"How do you study for it?"))
|
||||
|
||||
#define HARDY_Q1_A0 (_("Study hard."))
|
||||
#define HARDY_Q1_A1 (_("At the last second."))
|
||||
#define HARDY_Q1_A2 (_("Ignore it and play."))
|
||||
|
||||
|
||||
|
||||
#define HARDY_Q2 (_("Can you focus on something you like?"))
|
||||
|
||||
#define HARDY_Q2_A0 (_("Yes."))
|
||||
#define HARDY_Q2_A1 (_("No. "))
|
||||
|
||||
|
||||
|
||||
#define HARDY_Q3 (_( \
|
||||
"When the going gets tough, do you get\n" \
|
||||
"going?"))
|
||||
|
||||
#define HARDY_Q3_A0 (_("Yes."))
|
||||
#define HARDY_Q3_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define HARDY_Q4 (_( \
|
||||
"There is a bucket. If you put\n" \
|
||||
"water in it, how high will you fill it?"))
|
||||
|
||||
#define HARDY_Q4_A0 (_("Full."))
|
||||
#define HARDY_Q4_A1 (_("Half."))
|
||||
#define HARDY_Q4_A2 (_("A little."))
|
||||
|
||||
|
||||
|
||||
#define DOCILE_Q1 (_( \
|
||||
"You are offered a choice of two gifts.\n" \
|
||||
"Which one will you take?"))
|
||||
|
||||
#define DOCILE_Q1_A0 (_("Big box."))
|
||||
#define DOCILE_Q1_A1 (_("Small box."))
|
||||
|
||||
|
||||
|
||||
#define DOCILE_Q2 (_( \
|
||||
"You broke a rotten egg in your room!\n" \
|
||||
"What will you do?"))
|
||||
|
||||
#define DOCILE_Q2_A0 (_("Open a window right away."))
|
||||
#define DOCILE_Q2_A1 (_("Take a sniff first."))
|
||||
|
||||
|
||||
|
||||
#define DOCILE_Q3 (_( \
|
||||
"A friend brought over something you'd\n" \
|
||||
"forgotten.{WAIT_PRESS}\n" \
|
||||
"How do you thank your friend?"))
|
||||
|
||||
#define DOCILE_Q3_A0 (_("Say thank you regularly."))
|
||||
#define DOCILE_Q3_A1 (_("Say thanks with a joke."))
|
||||
#define DOCILE_Q3_A2 (_("Say thanks, but be cool."))
|
||||
|
||||
|
||||
|
||||
#define DOCILE_Q4 (_("There is a wallet at the side of a road."))
|
||||
|
||||
#define DOCILE_Q4_A0 (_("Turn it in to the police!"))
|
||||
#define DOCILE_Q4_A1 (_("Yay! Yay!"))
|
||||
#define DOCILE_Q4_A2 (_("Is anyone watching...?"))
|
||||
|
||||
|
||||
|
||||
#define BRAVE_Q1 (_( \
|
||||
"You're going bungee jumping for the first\n" \
|
||||
"time.{EXTRA_MSG}Since it's scary, you decide to test the\n" \
|
||||
"jump with a doll...{WAIT_PRESS}\n" \
|
||||
"And the bungee cord snaps!{EXTRA_MSG}" \
|
||||
"Will you still try to make a jump anyway?"))
|
||||
|
||||
#define BRAVE_Q1_A0 (_("Yes."))
|
||||
#define BRAVE_Q1_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define BRAVE_Q2A (_( \
|
||||
"There is an alien invasion!\n" \
|
||||
"What will you do?"))
|
||||
|
||||
#define BRAVE_Q2A_A0 (_("Fight."))
|
||||
#define BRAVE_Q2A_A1 (_("Run."))
|
||||
#define BRAVE_Q2A_A2 (_("Ignore it."))
|
||||
|
||||
|
||||
|
||||
#define BRAVE_Q2B (_( \
|
||||
"You valiantly fight the aliens...{WAIT_PRESS}\n" \
|
||||
"But, you are defeated...{EXTRA_MSG}An alien says to you...{EXTRA_MSG}“YOU HAVE IMPRESSED US.\n" \
|
||||
"IT WAS A PLEASURE TO SEE.{EXTRA_MSG}JOIN US, AND TOGETHER WE SHALL\n" \
|
||||
"RULE THE WORLD.”{WAIT_PRESS}\n" \
|
||||
"What will you do?"))
|
||||
|
||||
#define BRAVE_Q2B_A0 (_("Rule with the aliens."))
|
||||
#define BRAVE_Q2B_A1 (_("Refuse."))
|
||||
|
||||
|
||||
|
||||
#define BRAVE_Q3 (_( \
|
||||
"There is a scream from behind a door!{WAIT_PRESS}\n" \
|
||||
"How will you react?"))
|
||||
|
||||
#define BRAVE_Q3_A0 (_("Yank open the door."))
|
||||
#define BRAVE_Q3_A1 (_("Scream in unison."))
|
||||
|
||||
|
||||
|
||||
#define BRAVE_Q4 (_( \
|
||||
"A delinquent is hassling a girl on\n" \
|
||||
"a busy city street!{WAIT_PRESS}\n" \
|
||||
"What will you do?"))
|
||||
|
||||
#define BRAVE_Q4_A0 (_("Help without hesitation."))
|
||||
#define BRAVE_Q4_A1 (_("Help, even if scared."))
|
||||
#define BRAVE_Q4_A2 (_("Call the police."))
|
||||
#define BRAVE_Q4_A3 (_("Do nothing out of fear."))
|
||||
|
||||
|
||||
|
||||
#define JOLLY_Q1 (_("Are you a cheerful personality?"))
|
||||
|
||||
#define JOLLY_Q1_A0 (_("Yes."))
|
||||
#define JOLLY_Q1_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define JOLLY_Q2 (_( \
|
||||
"Do you like to noisily enjoy yourself\n" \
|
||||
"with others?"))
|
||||
|
||||
#define JOLLY_Q2_A0 (_("Yes."))
|
||||
#define JOLLY_Q2_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define JOLLY_Q3 (_( \
|
||||
"It's the summer holidays!\n" \
|
||||
"Where would you like to go?"))
|
||||
|
||||
#define JOLLY_Q3_A0 (_("The beach!"))
|
||||
#define JOLLY_Q3_A1 (_("Spas."))
|
||||
#define JOLLY_Q3_A2 (_("Anywhere."))
|
||||
|
||||
|
||||
|
||||
#define JOLLY_Q4 (_( \
|
||||
"A foreign person has started up a\n" \
|
||||
"conversation with you.{EXTRA_MSG}" \
|
||||
"To be honest, you don't have a clue what\n" \
|
||||
"this fellow is saying.{WAIT_PRESS}\n" \
|
||||
"How do you reply?"))
|
||||
|
||||
#define JOLLY_Q4_A0 (_("Haha! Yes. Very funny!"))
|
||||
#define JOLLY_Q4_A1 (_("Um... Could you say that again?"))
|
||||
#define JOLLY_Q4_A2 (_("Right... Well, I gotta go."))
|
||||
|
||||
|
||||
|
||||
#define IMPISH_Q1 (_("Have you ever made a pitfall trap?"))
|
||||
|
||||
#define IMPISH_Q1_A0 (_("Yes."))
|
||||
#define IMPISH_Q1_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define IMPISH_Q2 (_("Do you like pranks?"))
|
||||
|
||||
#define IMPISH_Q2_A0 (_("Yes."))
|
||||
#define IMPISH_Q2_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define IMPISH_Q3 (_("Are there many things that you would like\nto do?"))
|
||||
|
||||
#define IMPISH_Q3_A0 (_("Yes."))
|
||||
#define IMPISH_Q3_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define IMPISH_Q4 (_( \
|
||||
"Your friend is being bullied!\n" \
|
||||
"What do you do?"))
|
||||
|
||||
#define IMPISH_Q4_A0 (_("Face up to the bully."))
|
||||
#define IMPISH_Q4_A1 (_("Caution the bully from afar."))
|
||||
#define IMPISH_Q4_A2 (_("Heckle the bully from behind."))
|
||||
|
||||
|
||||
|
||||
#define NAIVE_Q1 (_("Do you like groan-inducing puns?"))
|
||||
|
||||
#define NAIVE_Q1_A0 (_("Love them!"))
|
||||
#define NAIVE_Q1_A1 (_("A little."))
|
||||
#define NAIVE_Q1_A2 (_("Spare me."))
|
||||
|
||||
|
||||
|
||||
#define NAIVE_Q2 (_("Do you tend to laugh a lot?"))
|
||||
|
||||
#define NAIVE_Q2_A0 (_("Yes."))
|
||||
#define NAIVE_Q2_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define NAIVE_Q3 (_("Do others often call you childish?"))
|
||||
|
||||
#define NAIVE_Q3_A0 (_("Yes."))
|
||||
#define NAIVE_Q3_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define NAIVE_Q4 (_( \
|
||||
"Do you like to imagine things for your\n" \
|
||||
"amusement?"))
|
||||
|
||||
#define NAIVE_Q4_A0 (_("Yes."))
|
||||
#define NAIVE_Q4_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define TIMID_Q1 (_( \
|
||||
"A human hand extends out of a toilet!\n" \
|
||||
"What would you do?"))
|
||||
|
||||
#define TIMID_Q1_A0 (_("Scream and run."))
|
||||
#define TIMID_Q1_A1 (_("Close the lid without a word."))
|
||||
#define TIMID_Q1_A2 (_("Shake hands with it."))
|
||||
|
||||
|
||||
|
||||
#define TIMID_Q2 (_( \
|
||||
"Grab any digit on your left hand with your\n" \
|
||||
"right hand.{WAIT_PRESS}\n" \
|
||||
"Which digit did you grab?"))
|
||||
|
||||
#define TIMID_Q2_A0 (_("Thumb."))
|
||||
#define TIMID_Q2_A1 (_("Index finger."))
|
||||
#define TIMID_Q2_A2 (_("Middle finger."))
|
||||
#define TIMID_Q2_A3 (_("Ring finger."))
|
||||
#define TIMID_Q2_A4 (_("Little finger."))
|
||||
|
||||
|
||||
|
||||
#define TIMID_Q3 (_( \
|
||||
"You are suddenly locked inside a\n" \
|
||||
"pitch-black room!{WAIT_PRESS}\n" \
|
||||
"What do you do?"))
|
||||
|
||||
#define TIMID_Q3_A0 (_("Kick the door."))
|
||||
#define TIMID_Q3_A1 (_("Cry."))
|
||||
#define TIMID_Q3_A2 (_("Clean it."))
|
||||
|
||||
|
||||
|
||||
#define TIMID_Q4 (_("Can you go into a haunted house?"))
|
||||
|
||||
#define TIMID_Q4_A0 (_("No problem!"))
|
||||
#define TIMID_Q4_A1 (_("Uh... N-no..."))
|
||||
#define TIMID_Q4_A2 (_("With someone I like."))
|
||||
|
||||
|
||||
|
||||
#define HASTY_Q1 (_( \
|
||||
"You receive a gift!{WAIT_PRESS}\n" \
|
||||
"But you don't know what's in it.{WAIT_PRESS}\n" \
|
||||
"You're curious, so what do you do?"))
|
||||
|
||||
#define HASTY_Q1_A0 (_("Open it now."))
|
||||
#define HASTY_Q1_A1 (_("Open it later."))
|
||||
#define HASTY_Q1_A2 (_("Get someone to open it."))
|
||||
|
||||
|
||||
|
||||
#define HASTY_Q2 (_( \
|
||||
"You win a lottery!{WAIT_PRESS}\n" \
|
||||
"What do you do with the money?"))
|
||||
|
||||
#define HASTY_Q2_A0 (_("Spend it now."))
|
||||
#define HASTY_Q2_A1 (_("Save it."))
|
||||
#define HASTY_Q2_A2 (_("Give it away."))
|
||||
|
||||
|
||||
|
||||
#define HASTY_Q3 (_( \
|
||||
"You come across a treasure chest!\n" \
|
||||
"What do you do?"))
|
||||
|
||||
#define HASTY_Q3_A0 (_("Open it right away!"))
|
||||
#define HASTY_Q3_A1 (_("No... Could be a trap..."))
|
||||
#define HASTY_Q3_A2 (_("It's going to be empty..."))
|
||||
|
||||
|
||||
|
||||
#define HASTY_Q4 (_( \
|
||||
"Your friend fails to show up for a meeting\n" \
|
||||
"at the promised time.\n" \
|
||||
"What do you do?"))
|
||||
|
||||
#define HASTY_Q4_A0 (_("Become irritated."))
|
||||
#define HASTY_Q4_A1 (_("Wait patiently."))
|
||||
#define HASTY_Q4_A2 (_("Get angry and bail."))
|
||||
|
||||
|
||||
|
||||
#define SASSY_Q1 (_( \
|
||||
"Your country's leader is in front of you.\n" \
|
||||
"How do you speak to him or her?"))
|
||||
|
||||
#define SASSY_Q1_A0 (_("Speak calmly."))
|
||||
#define SASSY_Q1_A1 (_("Speak nervously."))
|
||||
#define SASSY_Q1_A2 (_("WHATEVER!!"))
|
||||
|
||||
|
||||
|
||||
#define SASSY_Q2 (_("Do others tell you to watch what you say?"))
|
||||
|
||||
#define SASSY_Q2_A0 (_("Yes."))
|
||||
#define SASSY_Q2_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define SASSY_Q3 (_( \
|
||||
"Do you think you are cool?\n" \
|
||||
"Be honest."))
|
||||
|
||||
#define SASSY_Q3_A0 (_("Yes."))
|
||||
#define SASSY_Q3_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define SASSY_Q4 (_( \
|
||||
"Can you sincerely thank someone when you\n" \
|
||||
"feel grateful?"))
|
||||
|
||||
#define SASSY_Q4_A0 (_("Yes."))
|
||||
#define SASSY_Q4_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define CALM_Q1 (_( \
|
||||
"Do you occasionally consider yourself\n" \
|
||||
"dull and overly cautious?"))
|
||||
|
||||
#define CALM_Q1_A0 (_("Yes."))
|
||||
#define CALM_Q1_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define CALM_Q2 (_( \
|
||||
"Do you dream of lounging around idly\n" \
|
||||
"without much excitement?"))
|
||||
|
||||
#define CALM_Q2_A0 (_("Yes."))
|
||||
#define CALM_Q2_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define CALM_Q3 (_("Do you like to fight?"))
|
||||
|
||||
#define CALM_Q3_A0 (_("Yes."))
|
||||
#define CALM_Q3_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define CALM_Q4 (_("Do you often yawn?"))
|
||||
|
||||
#define CALM_Q4_A0 (_("Yes."))
|
||||
#define CALM_Q4_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define RELAXED_Q1 (_("Are you often late for school or meetings?"))
|
||||
|
||||
#define RELAXED_Q1_A0 (_("Yes."))
|
||||
#define RELAXED_Q1_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define RELAXED_Q2 (_( \
|
||||
"Do you get the feeling that you've slowed\n" \
|
||||
"down lately?"))
|
||||
|
||||
#define RELAXED_Q2_A0 (_("Yes."))
|
||||
#define RELAXED_Q2_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define RELAXED_Q3 (_( \
|
||||
"It is a pleasant day at the beach.\n" \
|
||||
"How do you feel?"))
|
||||
|
||||
#define RELAXED_Q3_A0 (_("This feels great!"))
|
||||
#define RELAXED_Q3_A1 (_("Snore..."))
|
||||
#define RELAXED_Q3_A2 (_("I want to go home soon!"))
|
||||
|
||||
|
||||
|
||||
#define RELAXED_Q4 (_("Do you fall asleep without noticing?"))
|
||||
|
||||
#define RELAXED_Q4_A0 (_("Yes."))
|
||||
#define RELAXED_Q4_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define LONELY_Q1 (_("Do you feel lonesome when you are alone?"))
|
||||
|
||||
#define LONELY_Q1_A0 (_("Yes."))
|
||||
#define LONELY_Q1_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define LONELY_Q2 (_( \
|
||||
"Do you hate to be the last person to leave\n" \
|
||||
"class at the end of a school day?"))
|
||||
|
||||
#define LONELY_Q2_A0 (_("Yes."))
|
||||
#define LONELY_Q2_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define LONELY_Q3 (_( \
|
||||
"What do you do with your room's light\n" \
|
||||
"when you're going to bed at night?"))
|
||||
|
||||
#define LONELY_Q3_A0 (_("Leave it on."))
|
||||
#define LONELY_Q3_A1 (_("Turn it off."))
|
||||
|
||||
|
||||
|
||||
#define LONELY_Q4 (_( \
|
||||
"It's a weekend, but no one will play\n" \
|
||||
"with you...\n" \
|
||||
"What do you do?"))
|
||||
|
||||
#define LONELY_Q4_A0 (_("Go on a trip."))
|
||||
#define LONELY_Q4_A1 (_("Hang around vacantly."))
|
||||
#define LONELY_Q4_A2 (_("Huddle in a corner."))
|
||||
|
||||
|
||||
|
||||
#define QUIRKY_Q1 (_( \
|
||||
"Do you sometimes run out of things to do\n" \
|
||||
"all of a sudden?"))
|
||||
|
||||
#define QUIRKY_Q1_A0 (_("Yes."))
|
||||
#define QUIRKY_Q1_A1 (_("No."))
|
||||
|
||||
|
||||
|
||||
#define QUIRKY_Q2 (_("How quickly do you respond to an e-mail?"))
|
||||
|
||||
#define QUIRKY_Q2_A0 (_("Reply right away."))
|
||||
#define QUIRKY_Q2_A1 (_("May reply, may not."))
|
||||
#define QUIRKY_Q2_A2 (_("Too much trouble."))
|
||||
|
||||
|
||||
|
||||
#define QUIRKY_Q3 (_( \
|
||||
"There is a person you like...{WAIT_PRESS}\n" \
|
||||
"But there's no opportunity to get close.\n" \
|
||||
"What do you do?"))
|
||||
|
||||
#define QUIRKY_Q3_A0 (_("Bravely declare my love."))
|
||||
#define QUIRKY_Q3_A1 (_("Might say hello..."))
|
||||
#define QUIRKY_Q3_A2 (_("Pull a prank to get attention."))
|
||||
#define QUIRKY_Q3_A3 (_("Look from afar."))
|
||||
|
||||
|
||||
|
||||
#define QUIRKY_Q4 (_( \
|
||||
"The road forks to the right and left.\n" \
|
||||
"You are told there is a treasure on the\n" \
|
||||
"right side. What do you do?"))
|
||||
|
||||
#define QUIRKY_Q4_A0 (_("Instantly go right."))
|
||||
#define QUIRKY_Q4_A1 (_("It's a trap! Go left."))
|
||||
#define QUIRKY_Q4_A2 (_("Choose either side."))
|
||||
|
||||
|
||||
|
||||
#define MISC_Q1 (_("On vacation outings, you want to..."))
|
||||
|
||||
#define MISC_Q1_A0 (_("Go alone."))
|
||||
#define MISC_Q1_A1 (_("Go with others."))
|
||||
|
||||
|
||||
|
||||
#define MISC_Q2 (_( \
|
||||
"It's the summer festival!\n" \
|
||||
"Do you like carnivals?"))
|
||||
|
||||
#define MISC_Q2_A0 (_("Love them!"))
|
||||
#define MISC_Q2_A1 (_("Don't care."))
|
||||
|
||||
|
||||
|
||||
#define MISC_Q3 (_( \
|
||||
"Somebody calls you “weird but funny.”\n" \
|
||||
"How does that make you feel?"))
|
||||
|
||||
#define MISC_Q3_A0 (_("Happy!"))
|
||||
#define MISC_Q3_A1 (_("Not happy."))
|
||||
|
||||
|
||||
|
||||
#define DESC_HARDY (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The hardy type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You do your homework diligently,\n" \
|
||||
"{CENTER_ALIGN}and you know to eat properly.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You have strong willpower that lets\n" \
|
||||
"{CENTER_ALIGN}you complete tasks, however tough.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}But, you can also be stubborn to the\n" \
|
||||
"{CENTER_ALIGN}point of even feuding with friends...{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Nothing will go right for you when you're\n" \
|
||||
"{CENTER_ALIGN}irritated, so learn to laugh it off.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A hardy person like you should be..."))
|
||||
|
||||
#define DESC_DOCILE (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The docile type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You're very kindhearted.{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}Very helpful.{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}You can make friends with anyone.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You're a wonderful person.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}......{WAIT_PRESS}Is that going overboard?{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}I don't think so.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You yourself should be\n" \
|
||||
"{CENTER_ALIGN}the best judge of that.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A docile person like you should be..."))
|
||||
|
||||
#define DESC_BRAVE (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The brave type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You have a strong sense of justice.{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}You hate evil.{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}You will take on any opponent.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You are truly a hero!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Go forth!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}For justice...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}For peace on earth...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}Fight the forces of evil!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}......{WAIT_PRESS}If I'm wrong...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}Work at becoming a true hero!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A brave person like you should be..."))
|
||||
|
||||
#define DESC_JOLLY (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The jolly type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Always laughing and smiling,\n" \
|
||||
"{CENTER_ALIGN}you uplift everyone around you.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You love jokes!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You have lots of friends, and\n" \
|
||||
"{CENTER_ALIGN}you're popular wherever you go.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}But sometimes you get carried away\n" \
|
||||
"{CENTER_ALIGN}and say things that get you in trouble.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You should learn to think before\n" \
|
||||
"{CENTER_ALIGN}saying or doing anything.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A jolly person like you should be..."))
|
||||
|
||||
#define DESC_IMPISH (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The impish type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You're playful, cheerful,\n" \
|
||||
"{CENTER_ALIGN}and you love pranks.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You're also kindhearted.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}That's why the people around\n" \
|
||||
"{CENTER_ALIGN}you find you so irresistible.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You must be the most\n" \
|
||||
"{CENTER_ALIGN}popular person around!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Oh?{WAIT_PRESS} You're not that popular?{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}You're either being modest...\n" \
|
||||
"{CENTER_ALIGN}or you just don't notice it.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}I bet people are just too shy\n" \
|
||||
"{CENTER_ALIGN}to let their feelings be known.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}There's someone out there who's\n" \
|
||||
"{CENTER_ALIGN}afraid to declare their love for you!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}An impish person like you should be..."))
|
||||
|
||||
#define DESC_NAIVE (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The naive type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You are highly curious,\n" \
|
||||
"{CENTER_ALIGN}and you love rare things.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Your cheerful and carefree\n" \
|
||||
"{CENTER_ALIGN}attitude should make things fun\n" \
|
||||
"{CENTER_ALIGN}for the people around you.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}But you do have one flaw.\n" \
|
||||
"{CENTER_ALIGN}You can be childish.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You can never sit still.\n" \
|
||||
"{CENTER_ALIGN}You're always on the move.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You can also be selfish,\n" \
|
||||
"{CENTER_ALIGN}so you should watch yourself.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A naive person like you should be..."))
|
||||
|
||||
#define DESC_TIMID (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The timid type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You may find it hard to go\n" \
|
||||
"{CENTER_ALIGN}to the washroom at night.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You may also find it too frightening\n" \
|
||||
"{CENTER_ALIGN}to go back to school to get something\n" \
|
||||
"{CENTER_ALIGN}you left behind in class.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}If you're ever walking on a dark\n" \
|
||||
"{CENTER_ALIGN}street at night, you probably turn\n" \
|
||||
"{CENTER_ALIGN}around often to check behind you.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}But your timid nature is\n" \
|
||||
"{CENTER_ALIGN}also your good point!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Because those who know fear are\n" \
|
||||
"{CENTER_ALIGN}those who know true courage.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A timid person like you should be..."))
|
||||
|
||||
#define DESC_HASTY (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The hasty type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You like to take charge\n" \
|
||||
"{CENTER_ALIGN}and get things done.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You're a real go-getter.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}But are you also stressed out?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You get irritated when your\n" \
|
||||
"{CENTER_ALIGN}friends don't show up on time.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You get frustrated when things\n" \
|
||||
"{CENTER_ALIGN}don't turn out the way you expect.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Maybe you jab the elevator button\n" \
|
||||
"{CENTER_ALIGN}if the elevator is slow to arrive.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}...Maybe you're already jabbing\n" \
|
||||
"{CENTER_ALIGN}the A Button repeatedly now.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Beware--getting too easily irritated\n" \
|
||||
"{CENTER_ALIGN}just isn't good for your well-being.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A hasty person like you should be..."))
|
||||
|
||||
#define DESC_SASSY (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The sassy type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You tend to be somewhat cynical.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Despite that, there is something\n" \
|
||||
"{CENTER_ALIGN}appealing and lovable about you.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}But do you occasionally say something\n" \
|
||||
"{CENTER_ALIGN}arrogant that angers others?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Do you make that mistake?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Or have people called you\n" \
|
||||
"{CENTER_ALIGN}conceited, vain, or selfish?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Have people said that about you?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Huh?{WAIT_PRESS} You're telling me to get lost?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Why, you... Come here and say that!{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}......Gasp!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}...I'm sorry.\n" \
|
||||
"{CENTER_ALIGN}I let my feelings run away.\n" \
|
||||
"{CENTER_ALIGN}I truly regret this, really.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Anyway, your cool and aloof\n" \
|
||||
"{CENTER_ALIGN}attitude is what defines you.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}It makes you exasperating and\n" \
|
||||
"{CENTER_ALIGN}appealing at the same time.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A sassy person like you should be..."))
|
||||
|
||||
#define DESC_CALM (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The calm type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You're capable of giving advice\n" \
|
||||
"{CENTER_ALIGN}to friends with worries.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You don't like to fight.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You're a warm, kindhearted\n" \
|
||||
"{CENTER_ALIGN}person who cares.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You must have many friends\n" \
|
||||
"{CENTER_ALIGN}who look up to you.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}However...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}You may also be somewhat gullible...{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}As well as a little careless...{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}And even a little sloppy.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You might want to keep\n" \
|
||||
"{CENTER_ALIGN}those points in mind.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A calm person like you should be..."))
|
||||
|
||||
#define DESC_RELAXED (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The relaxed type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Do you occasionally\n" \
|
||||
"{CENTER_ALIGN}zone out and miss a bus?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Or do you find yourself dozing off?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Or is your reaction time\n" \
|
||||
"{CENTER_ALIGN}a little slower than others?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}But that's not necessarily\n" \
|
||||
"{CENTER_ALIGN}a bad thing.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You can do things at your own\n" \
|
||||
"{CENTER_ALIGN}tempo without feeling pressured.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You can live in a relaxed and\n" \
|
||||
"{CENTER_ALIGN}unhurried manner without worries.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}I think that's a happy\n" \
|
||||
"{CENTER_ALIGN}lifestyle to be envied, even.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You're also surprisingly popular.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}The way you vacantly stare\n" \
|
||||
"{CENTER_ALIGN}off into the distance...{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}It should make that someone\n" \
|
||||
"{CENTER_ALIGN}special's pulse race.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A relaxed person like you should be..."))
|
||||
|
||||
#define DESC_LONELY (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The lonely type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You always act cheerful and\n" \
|
||||
"{CENTER_ALIGN}jocular around other people.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}But that's only because\n" \
|
||||
"{CENTER_ALIGN}you are with other people.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}However, when you get alone...{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Do you find yourself\n" \
|
||||
"{CENTER_ALIGN}feeling oddly depressed?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}That's why you always\n" \
|
||||
"{CENTER_ALIGN}want to be with others.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}But if you go around feeling\n" \
|
||||
"{CENTER_ALIGN}depressed too much...{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Your nutritional balance goes out\n" \
|
||||
"{CENTER_ALIGN}of wack. Eat more vegetables!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}However...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}It's not a bad thing\n" \
|
||||
"{CENTER_ALIGN}to feel lonely.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You know what it's like when you aren't\n" \
|
||||
"{CENTER_ALIGN}alone, so that's why you feel lonesome.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}And that's why you aren't really alone.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A lonely person like you should be..."))
|
||||
|
||||
#define DESC_QUIRKY (_( \
|
||||
"{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}The quirky type.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}People consider you an eccentric\n" \
|
||||
"{CENTER_ALIGN}who does things at your own pace.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You never break tempo.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Your carefree nature makes you\n" \
|
||||
"{CENTER_ALIGN}attractive. But you also happen\n" \
|
||||
"{CENTER_ALIGN}to be somewhat childish...{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}You are fickle and cause problems for the\n" \
|
||||
"{CENTER_ALIGN}people who have to go along with you.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Maybe people are even upset\n" \
|
||||
"{CENTER_ALIGN}with you for being so fickle?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}If you realize how selfishly\n" \
|
||||
"{CENTER_ALIGN}you're behaving, try to think\n" \
|
||||
"{CENTER_ALIGN}before you do anything rash.{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}A quirky person like you should be..."))
|
||||
|
||||
#define GENDER_Q (_("Are you a boy or a girl?"))
|
||||
|
||||
#define GENDER_A0 (_("Boy."))
|
||||
#define GENDER_A1 (_("Girl."))
|
||||
|
||||
#define STARTER_REVEAL (_( \
|
||||
"\n" \
|
||||
"{CENTER_ALIGN}The Pokémon {POKEMON_0}!"))
|
||||
|
||||
#define PARTNER_PROMPT (_( \
|
||||
"{CENTER_ALIGN}This is the final step.{WAIT_PRESS}\n" \
|
||||
"{CENTER_ALIGN}Who would you like to have as a partner?{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Choose the Pokémon you want\n" \
|
||||
"{CENTER_ALIGN}as your partner from this group."))
|
||||
|
||||
#define PARTNER_NICK_PROMPT (_("{CENTER_ALIGN}What is your partner's nickname?"))
|
||||
|
||||
#define END_TEXT (_( \
|
||||
"{CENTER_ALIGN}OK! We're all set!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Let's get you into the\n" \
|
||||
"{CENTER_ALIGN}world of Pokémon!{EXTRA_MSG}" \
|
||||
"{CENTER_ALIGN}Go for it!"))
|
||||
246
src/data/locale/wigglytuff_shop_usa.h
Normal file
246
src/data/locale/wigglytuff_shop_usa.h
Normal file
|
|
@ -0,0 +1,246 @@
|
|||
#define WIGGLY_AWAKE_DLG_00 (_( \
|
||||
" Friends are my treasures!\n" \
|
||||
"Welcome to the {POKEMON_6} Club--\n" \
|
||||
"a circle of friends! "))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_01 (_( \
|
||||
" Anything else I can do for\n" \
|
||||
"you?"))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_02 (_( \
|
||||
" Thank you! Come again!\n" \
|
||||
"We're all friends, friend!"))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_03 (_( \
|
||||
" You'd like to add to your\n" \
|
||||
"Friend Areas?\n" \
|
||||
"Which one would you like?"))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_04 (_( \
|
||||
" Would you like to add\n" \
|
||||
"other Friend Areas?"))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_05 (_( \
|
||||
" {COLOR GREEN}{FRIEND_AREA}{RESET}?\n" \
|
||||
"That will be {COLOR CYAN}{VALUE_0}{RESET} {POKE}.\n" \
|
||||
"Is that OK?"))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_06 (_( \
|
||||
" Gotcha! Let's do it!{WAIT_PRESS}\n" \
|
||||
"{POKEMON_6}〜♪ {POKEMON_6}〜♪{WAIT_PRESS}\n" \
|
||||
"Let's be friends... Yoomtaaaaaaah!"))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_07 (_( \
|
||||
" Congratulations!{WAIT_PRESS}\n" \
|
||||
"You can go to {COLOR GREEN}{FRIEND_AREA}{RESET} now!{EXTRA_MSG}" \
|
||||
" You can recruit\n" \
|
||||
"Pokémon that live in the Friend Area\n" \
|
||||
"{COLOR GREEN}{FRIEND_AREA}{RESET}."))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_08 (_( \
|
||||
" Oops!{WAIT_PRESS}\n" \
|
||||
"You can't add to your Friend Areas."))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_09 (_( \
|
||||
" Um?{WAIT_PRESS}\n" \
|
||||
"You don't have any money."))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_10 (_( \
|
||||
" Oops?{WAIT_PRESS}\n" \
|
||||
"Oh, too bad.{WAIT_PRESS}\n" \
|
||||
"I'm fresh out of Friend Areas."))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_11 (_( \
|
||||
" Oops?{WAIT_PRESS}\n" \
|
||||
"It doesn't look like you have enough\n" \
|
||||
"money!"))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_12 (_( \
|
||||
" Which Pokémon would you\n" \
|
||||
"like to check?"))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_13 (_( \
|
||||
" Is there another Pokémon\n" \
|
||||
"you'd like to check?"))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_14 (_( \
|
||||
" {COLOR CYAN}{POKEMON_0}{RESET}'s Friend Area\n" \
|
||||
"is {COLOR GREEN}{FRIEND_AREA}{RESET}."))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_15 (_( \
|
||||
" You can already go to the\n" \
|
||||
"Friend Area {COLOR GREEN}{FRIEND_AREA}{RESET}."))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_16 (_( \
|
||||
" {COLOR GREEN}{FRIEND_AREA}{RESET}?\n" \
|
||||
"I don't know much about it at all.{WAIT_PRESS}\n" \
|
||||
"I'll check up on it.{EXTRA_MSG}" \
|
||||
" I'll add it to the Friend\n" \
|
||||
"Areas you can buy when I find out more."))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_17 (_( \
|
||||
" {COLOR GREEN}{FRIEND_AREA}{RESET}?\n" \
|
||||
"I can't get that Friend Area for you.{WAIT_PRESS}\n" \
|
||||
"I'm really sorry."))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_18 (_( \
|
||||
" {COLOR GREEN}{FRIEND_AREA}{RESET}?\n" \
|
||||
"I can't get that Friend Area for you.{WAIT_PRESS}\n" \
|
||||
"I'm really sorry."))
|
||||
|
||||
#define WIGGLY_AWAKE_DLG_19 (_( \
|
||||
" Would you like to get more\n" \
|
||||
"friends...{WAIT_PRESS}\n" \
|
||||
"...More members for your team?{EXTRA_MSG}" \
|
||||
" To add new friends, what\n" \
|
||||
"you need are Friend Areas.{EXTRA_MSG}" \
|
||||
" A Pokémon can join your\n" \
|
||||
"rescue team only after it settles in\n" \
|
||||
"the right Friend Area.{EXTRA_MSG}" \
|
||||
" So, if you want to recruit\n" \
|
||||
"new members, you should add to your\n" \
|
||||
"Friend Areas.{EXTRA_MSG}" \
|
||||
" Oh, yes, Pokémon can\n" \
|
||||
"only live in the right Friend Area for\n" \
|
||||
"their species.{EXTRA_MSG}" \
|
||||
" If you're buying a Friend\n" \
|
||||
"Area, you should confirm what Pokémon\n" \
|
||||
"can live there by checking {COLOR YELLOW}Info{RESET}.{EXTRA_MSG}" \
|
||||
" Also, there are some Friend\n" \
|
||||
"Areas that I don't sell.{EXTRA_MSG}" \
|
||||
" I think there are some\n" \
|
||||
"rescue missions that give you access\n" \
|
||||
"to Friend Areas, too.{EXTRA_MSG}" \
|
||||
" You should check the\n" \
|
||||
"Pelipper Post Office's Bulletin Board or\n" \
|
||||
"your Mailbox for rescue requests.{EXTRA_MSG}" \
|
||||
" You know, it makes me\n" \
|
||||
"delighted when you make new friends!"))
|
||||
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_00 (_( \
|
||||
" Friends... Zzz...\n" \
|
||||
"Welcome to the {POKEMON_6} Club..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_01 (_( \
|
||||
" Anything? Kwoo...\n" \
|
||||
"Anything else?"))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_02 (_( \
|
||||
" Thank... Zzz... You...\n" \
|
||||
"Friends, friend..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_03 (_( \
|
||||
" Dwee... Hunh?\n" \
|
||||
"Friend Areas...?\n" \
|
||||
"Which one?"))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_04 (_( \
|
||||
" Zzz... Wha--?\n" \
|
||||
"More Friend Areas?"))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_05 (_( \
|
||||
" Kwoo? {COLOR GREEN}{FRIEND_AREA}{RESET}?\n" \
|
||||
"That's {COLOR CYAN}{VALUE_0}{RESET} {POKE}...\n" \
|
||||
"OK?"))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_06 (_( \
|
||||
" Zzz... Dwee... Gotcha...{WAIT_PRESS}\n" \
|
||||
"Zzz... Let's do it...{EXTRA_MSG}" \
|
||||
" Sssnore♪ Sssnore♪\n" \
|
||||
"{POKEMON_6}〜♪ {POKEMON_6}〜♪\n" \
|
||||
"Let's be friends...{EXTRA_MSG}" \
|
||||
" Kwoo!\n" \
|
||||
"Taaaaaaah!"))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_07 (_( \
|
||||
" Grats... Zzz...{WAIT_PRESS}\n" \
|
||||
"You can go to {COLOR GREEN}{FRIEND_AREA}{RESET}...{EXTRA_MSG}" \
|
||||
" Dwee... Sssnore...\n" \
|
||||
"Make friends with Pokémon in...\n" \
|
||||
"{COLOR GREEN}{FRIEND_AREA}{RESET}..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_08 (_( \
|
||||
" Zzz... Zzz?{WAIT_PRESS}\n" \
|
||||
"Hunh...?\n" \
|
||||
"You can't add to your Friend Areas..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_09 (_( \
|
||||
" Hunh...?{WAIT_PRESS}\n" \
|
||||
"You don't have any money...\n" \
|
||||
"Zzzzzz..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_10 (_( \
|
||||
" Zzz... Hunh?{WAIT_PRESS}\n" \
|
||||
"Sssnore... Sorry...\n" \
|
||||
"Fresh out of Friend Areas..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_11 (_( \
|
||||
" Zzz... Dwee...? Oops?{WAIT_PRESS}\n" \
|
||||
"Not enough money?"))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_12 (_( \
|
||||
" Zzz... Kwoo...\n" \
|
||||
"Check which Pokémon?"))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_13 (_( \
|
||||
" Another Pokémon...\n" \
|
||||
"Zzz... Check?"))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_14 (_( \
|
||||
" Dwee... Kwoo...\n" \
|
||||
"{COLOR CYAN}{POKEMON_0}{RESET}'s Friend Area...\n" \
|
||||
"Zzz... {COLOR GREEN}{FRIEND_AREA}{RESET}..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_15 (_( \
|
||||
" Sssnore...\n" \
|
||||
"You can already go...\n" \
|
||||
"Friend Area {COLOR GREEN}{FRIEND_AREA}{RESET}..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_16 (_( \
|
||||
" Zzz... Hunh...?\n" \
|
||||
"{COLOR GREEN}{FRIEND_AREA}{RESET}...?\n" \
|
||||
"I don't know... I'll check...{EXTRA_MSG}" \
|
||||
" Sssnore...\n" \
|
||||
"I'll have it for sale...\n" \
|
||||
"When I find out..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_17 (_( \
|
||||
" Sssnore...\n" \
|
||||
"{COLOR GREEN}{FRIEND_AREA}{RESET}...?\n" \
|
||||
"I can't get that Friend Area...{EXTRA_MSG}" \
|
||||
" Zzz... Zzz...\n" \
|
||||
"Sorry..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_18 (_( \
|
||||
" Sssnore...\n" \
|
||||
"{COLOR GREEN}{FRIEND_AREA}{RESET}...?\n" \
|
||||
"I can't get that Friend Area...{EXTRA_MSG}" \
|
||||
" Zzz... Zzz...\n" \
|
||||
"Sorry..."))
|
||||
|
||||
#define WIGGLY_ASLEEP_DLG_19 (_( \
|
||||
" Zzz...\n" \
|
||||
"Want more friends?{EXTRA_MSG}" \
|
||||
" Zzz... Kwoo...\n" \
|
||||
"You need Friend Areas for friends...{EXTRA_MSG}" \
|
||||
" Zzz... Zzz...\n" \
|
||||
"A Pokémon becomes your pal when it's in\n" \
|
||||
"the right Friend Area...{EXTRA_MSG}" \
|
||||
" Zzz... Dwee...\n" \
|
||||
"That's why you should get more Friend\n" \
|
||||
"Areas...{EXTRA_MSG}" \
|
||||
" Zzz... Pokémon can only\n" \
|
||||
"live in the right Friend Area for\n" \
|
||||
"their species...{EXTRA_MSG}" \
|
||||
" Kwoo... Sssnore...\n" \
|
||||
"See what Pokémon can live there by\n" \
|
||||
"checking {COLOR YELLOW}Info{RESET}...{EXTRA_MSG}" \
|
||||
" Zzz...\n" \
|
||||
"I don't sell some Friend Areas...{EXTRA_MSG}" \
|
||||
" Kwoo...\n" \
|
||||
"Some rescue missions reward you with\n" \
|
||||
"Friend Areas...{EXTRA_MSG}" \
|
||||
" Zzz... Dwee...\n" \
|
||||
"Check the Pelipper Post Office's Bulletin\n" \
|
||||
"Board or your Mailbox for missions..."))
|
||||
|
|
@ -16,11 +16,10 @@ static const UnkTextStruct2 sUnknown_80E59E0 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static const MenuItem sUnknown_80E59F8[] =
|
||||
{
|
||||
{"New Game", MENU_NEW_GAME},
|
||||
{"Adventure Log", MENU_ADVENTURE_LOG},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E59F8[] = {
|
||||
{_("New Game"), MENU_NEW_GAME},
|
||||
{_("Adventure Log"), MENU_ADVENTURE_LOG},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
UNUSED static const UnkTextStruct2 sUnknown_80E5A29 = {
|
||||
|
|
@ -32,10 +31,9 @@ UNUSED static const UnkTextStruct2 sUnknown_80E5A29 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
UNUSED static const MenuItem sUnknown_80E5A44[] =
|
||||
{
|
||||
{"Wonder Mail", MENU_WONDER_MAIL},
|
||||
{NULL, 0xffdd},
|
||||
UNUSED static const MenuItem sUnknown_80E5A44[] = {
|
||||
{_("Wonder Mail"), MENU_WONDER_MAIL},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
static const UnkTextStruct2 sUnknown_80E5A60 = {
|
||||
|
|
@ -56,25 +54,23 @@ static const UnkTextStruct2 sUnknown_80E5A78 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static const MenuItem sUnknown_80E5A90[] =
|
||||
{
|
||||
{"Continue", MENU_CONTINUE},
|
||||
{"Delete Save Data", MENU_DELETE_SAVE_PROMPT},
|
||||
{"Adventure Log", MENU_ADVENTURE_LOG},
|
||||
{"Friend Rescue", MENU_FRIEND_RESCUE},
|
||||
{"Trade Items", MENU_TRADE_ITEMS},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5A90[] = {
|
||||
{_("Continue"), MENU_CONTINUE},
|
||||
{_("Delete Save Data"), MENU_DELETE_SAVE_PROMPT},
|
||||
{_("Adventure Log"), MENU_ADVENTURE_LOG},
|
||||
{_("Friend Rescue"), MENU_FRIEND_RESCUE},
|
||||
{_("Trade Items"), MENU_TRADE_ITEMS},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
static const MenuItem sUnknown_80E5AFC[] =
|
||||
{
|
||||
{"Continue", MENU_CONTINUE},
|
||||
{"Delete Save Data", MENU_DELETE_SAVE_PROMPT},
|
||||
{"Adventure Log", MENU_ADVENTURE_LOG},
|
||||
{"Friend Rescue", MENU_FRIEND_RESCUE},
|
||||
{"Trade Items", MENU_TRADE_ITEMS},
|
||||
{"Wonder Mail", MENU_WONDER_MAIL},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5AFC[] = {
|
||||
{_("Continue"), MENU_CONTINUE},
|
||||
{_("Delete Save Data"), MENU_DELETE_SAVE_PROMPT},
|
||||
{_("Adventure Log"), MENU_ADVENTURE_LOG},
|
||||
{_("Friend Rescue"), MENU_FRIEND_RESCUE},
|
||||
{_("Trade Items"), MENU_TRADE_ITEMS},
|
||||
{_("Wonder Mail"), MENU_WONDER_MAIL},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
static const UnkTextStruct2 sUnknown_80E5B34 = {
|
||||
|
|
@ -86,25 +82,23 @@ static const UnkTextStruct2 sUnknown_80E5B34 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static const MenuItem sUnknown_80E5B4C[] =
|
||||
{
|
||||
{"Awaiting Rescue", MENU_AWAITING_RESCUE},
|
||||
{"Delete Save Data", MENU_DELETE_SAVE_PROMPT},
|
||||
{"Adventure Log", MENU_ADVENTURE_LOG},
|
||||
{"Friend Rescue", MENU_FRIEND_RESCUE},
|
||||
{"Trade Items", MENU_TRADE_ITEMS},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5B4C[] = {
|
||||
{_("Awaiting Rescue"), MENU_AWAITING_RESCUE},
|
||||
{_("Delete Save Data"), MENU_DELETE_SAVE_PROMPT},
|
||||
{_("Adventure Log"), MENU_ADVENTURE_LOG},
|
||||
{_("Friend Rescue"), MENU_FRIEND_RESCUE},
|
||||
{_("Trade Items"), MENU_TRADE_ITEMS},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
static const MenuItem sUnknown_80E5B8C[] =
|
||||
{
|
||||
{"Awaiting Rescue", MENU_AWAITING_RESCUE},
|
||||
{"Delete Save Data", MENU_DELETE_SAVE_PROMPT},
|
||||
{"Adventure Log", MENU_ADVENTURE_LOG},
|
||||
{"Friend Rescue", MENU_FRIEND_RESCUE},
|
||||
{"Trade Items", MENU_TRADE_ITEMS},
|
||||
{"Wonder Mail", MENU_WONDER_MAIL},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5B8C[] = {
|
||||
{_("Awaiting Rescue"), MENU_AWAITING_RESCUE},
|
||||
{_("Delete Save Data"), MENU_DELETE_SAVE_PROMPT},
|
||||
{_("Adventure Log"), MENU_ADVENTURE_LOG},
|
||||
{_("Friend Rescue"), MENU_FRIEND_RESCUE},
|
||||
{_("Trade Items"), MENU_TRADE_ITEMS},
|
||||
{_("Wonder Mail"), MENU_WONDER_MAIL},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
static const UnkTextStruct2 sUnknown_80E5BC4 = {
|
||||
|
|
@ -116,25 +110,23 @@ static const UnkTextStruct2 sUnknown_80E5BC4 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static const MenuItem sUnknown_80E5BDC[] =
|
||||
{
|
||||
{"Revive Team", MENU_CONTINUE},
|
||||
{"Delete Save Data", MENU_DELETE_SAVE_PROMPT},
|
||||
{"Adventure Log", MENU_ADVENTURE_LOG},
|
||||
{"Friend Rescue", MENU_FRIEND_RESCUE},
|
||||
{"Trade Items", MENU_TRADE_ITEMS},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5BDC[] = {
|
||||
{_("Revive Team"), MENU_CONTINUE},
|
||||
{_("Delete Save Data"), MENU_DELETE_SAVE_PROMPT},
|
||||
{_("Adventure Log"), MENU_ADVENTURE_LOG},
|
||||
{_("Friend Rescue"), MENU_FRIEND_RESCUE},
|
||||
{_("Trade Items"), MENU_TRADE_ITEMS},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
static const MenuItem sUnknown_80E5C18[] =
|
||||
{
|
||||
{"Revive Team", MENU_CONTINUE},
|
||||
{"Delete Save Data", MENU_DELETE_SAVE_PROMPT},
|
||||
{"Adventure Log", MENU_ADVENTURE_LOG},
|
||||
{"Friend Rescue", MENU_FRIEND_RESCUE},
|
||||
{"Trade Items", MENU_TRADE_ITEMS},
|
||||
{"Wonder Mail", MENU_WONDER_MAIL},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5C18[] = {
|
||||
{_("Revive Team"), MENU_CONTINUE},
|
||||
{_("Delete Save Data"), MENU_DELETE_SAVE_PROMPT},
|
||||
{_("Adventure Log"), MENU_ADVENTURE_LOG},
|
||||
{_("Friend Rescue"), MENU_FRIEND_RESCUE},
|
||||
{_("Trade Items"), MENU_TRADE_ITEMS},
|
||||
{_("Wonder Mail"), MENU_WONDER_MAIL},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
UNUSED static const UnkTextStruct2 sUnknown_80E5C50 = {
|
||||
|
|
@ -146,18 +138,16 @@ UNUSED static const UnkTextStruct2 sUnknown_80E5C50 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
UNUSED static const MenuItem sUnknown_80E5C68[] =
|
||||
{
|
||||
{"Send Items", MENU_SEND_ITEMS},
|
||||
{"Receive Items", MENU_RECEIVE_ITEMS},
|
||||
{NULL, 0xffdd},
|
||||
UNUSED static const MenuItem sUnknown_80E5C68[] = {
|
||||
{_("Send Items"), MENU_SEND_ITEMS},
|
||||
{_("Receive Items"), MENU_RECEIVE_ITEMS},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
UNUSED static const MenuItem sUnknown_80E5C9C[] =
|
||||
{
|
||||
{"Send Items", -1},
|
||||
{"Receive Items", MENU_RECEIVE_ITEMS},
|
||||
{NULL, 0xffdd},
|
||||
UNUSED static const MenuItem sUnknown_80E5C9C[] = {
|
||||
{_("Send Items"), -1},
|
||||
{_("Receive Items"), MENU_RECEIVE_ITEMS},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
|
||||
static const UnkTextStruct2 sUnknown_80E5CB4 = {
|
||||
|
|
@ -169,121 +159,69 @@ static const UnkTextStruct2 sUnknown_80E5CB4 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static const u8 sUnknown_80E5CE4[];
|
||||
static const u8 sUnknown_80E5CE8[];
|
||||
static const MenuItem sUnknown_80E5CCC[] =
|
||||
{
|
||||
{sUnknown_80E5CE8, 0xffde},
|
||||
{sUnknown_80E5CE4, 0xffde},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5CCC[] = {
|
||||
{_("Start an entirely new adventure."), 0xFFDE},
|
||||
{_(" "), 0xFFDE},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5CE4[] = _(" ");
|
||||
ALIGNED(4) static const u8 sUnknown_80E5CE8[] = _("Start an entirely new adventure.");
|
||||
|
||||
static const u8 sUnknown_80E5D24[];
|
||||
static const MenuItem sUnknown_80E5D0C[] =
|
||||
{
|
||||
{sUnknown_80E5D24, 0xffde},
|
||||
{sUnknown_80E5CE4, 0xffde},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5D0C[] = {
|
||||
{_("Check your career as an adventurer."), 0xFFDE},
|
||||
{_(" "), 0xFFDE},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5D24[] = _("Check your career as an adventurer.");
|
||||
|
||||
static const u8 sUnknown_80E5D60[];
|
||||
static const u8 sUnknown_80E5D88[];
|
||||
static const MenuItem sUnknown_80E5D48[] =
|
||||
{
|
||||
{sUnknown_80E5D88, 0xffde},
|
||||
{sUnknown_80E5D60, 0xffde},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5D48[] = {
|
||||
{_("This is the Debug Mode."), 0xFFDE},
|
||||
{_("It won't be in the release version."), 0xFFDE},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5D60[] = _("It won't be in the release version.");
|
||||
ALIGNED(4) static const u8 sUnknown_80E5D88[] = _("This is the Debug Mode.");
|
||||
|
||||
static const u8 sUnknown_80E5DB8[];
|
||||
static const u8 sUnknown_80E5DCC[];
|
||||
static const MenuItem sUnknown_80E5DA0[] =
|
||||
{
|
||||
{sUnknown_80E5DCC, 0xffde},
|
||||
{sUnknown_80E5DB8, 0xffde},
|
||||
{NULL, 0xffdd},
|
||||
static const MenuItem sUnknown_80E5DA0[] = {
|
||||
{_("Resume your adventure from where"), 0xFFDE},
|
||||
{_("you last saved. "), 0xFFDE},
|
||||
{NULL, 0xFFDD},
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5DB8[] = _("you last saved. ");
|
||||
ALIGNED(4) static const u8 sUnknown_80E5DCC[] = _("Resume your adventure from where");
|
||||
|
||||
static const u8 sUnknown_80E5E08[];
|
||||
static const u8 sUnknown_80E5E34[];
|
||||
static const MenuItem sUnknown_80E5DF0[] =
|
||||
{
|
||||
{sUnknown_80E5E34, 0xFFDE},
|
||||
{sUnknown_80E5E08, 0xFFDE},
|
||||
{0, 0xFFDD}
|
||||
static const MenuItem sUnknown_80E5DF0[] = {
|
||||
{_("This will delete your saved game data."), 0xFFDE},
|
||||
{_("{COLOR RED}Beware{RESET}! This will delete it forever!"), 0xFFDE},
|
||||
{NULL, 0xFFDD}
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5E08[] = _("{COLOR RED}Beware{RESET}! This will delete it forever!");
|
||||
ALIGNED(4) static const u8 sUnknown_80E5E34[] = _("This will delete your saved game data.");
|
||||
|
||||
static const u8 sUnknown_80E5E74[];
|
||||
static const u8 sUnknown_80E5EA0[];
|
||||
static const MenuItem sUnknown_80E5E5C[] =
|
||||
{
|
||||
{sUnknown_80E5EA0, 0xFFDE},
|
||||
{sUnknown_80E5E74, 0xFFDE},
|
||||
{0, 0xFFDD}
|
||||
static const MenuItem sUnknown_80E5E5C[] = {
|
||||
{_("Using a Game Link cable or"), 0xFFDE},
|
||||
{_("passwords, friends may rescue each other."), 0xFFDE},
|
||||
{NULL, 0xFFDD}
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5E74[] = _("passwords, friends may rescue each other.");
|
||||
ALIGNED(4) static const u8 sUnknown_80E5EA0[] = _("Using a Game Link cable or");
|
||||
|
||||
static const u8 sUnknown_80E5ED4[];
|
||||
static const u8 sUnknown_80E5EF8[];
|
||||
static const MenuItem sUnknown_80E5EBC[] =
|
||||
{
|
||||
{sUnknown_80E5EF8, 0xFFDE},
|
||||
{sUnknown_80E5ED4, 0xFFDE},
|
||||
{0, 0xFFDD}
|
||||
static const MenuItem sUnknown_80E5EBC[] = {
|
||||
{_("Using a Game Link cable, you can"), 0xFFDE},
|
||||
{_("trade stored items with a friend."), 0xFFDE},
|
||||
{NULL, 0xFFDD}
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5ED4[] = _("trade stored items with a friend.");
|
||||
ALIGNED(4) static const u8 sUnknown_80E5EF8[] = _("Using a Game Link cable, you can");
|
||||
|
||||
static const u8 sUnknown_80E5F34[];
|
||||
static const u8 sUnknown_80E5F58[];
|
||||
static const MenuItem sUnknown_80E5F1C[] =
|
||||
{
|
||||
{sUnknown_80E5F58, 0xFFDE},
|
||||
{sUnknown_80E5F34, 0xFFDE},
|
||||
{0, 0xFFDD}
|
||||
static const MenuItem sUnknown_80E5F1C[] = {
|
||||
{_("You are awaiting rescue by a friend."), 0xFFDE},
|
||||
{_("You can give up waiting for rescue."), 0xFFDE},
|
||||
{NULL, 0xFFDD}
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5F34[] = _("You can give up waiting for rescue.");
|
||||
ALIGNED(4) static const u8 sUnknown_80E5F58[] = _("You are awaiting rescue by a friend.");
|
||||
|
||||
static const u8 sUnknown_80E5F98[];
|
||||
static const u8 sUnknown_80E5FB0[];
|
||||
static const MenuItem sUnknown_80E5F80[] =
|
||||
{
|
||||
{sUnknown_80E5FB0, 0xFFDE},
|
||||
{sUnknown_80E5F98, 0xFFDE},
|
||||
{0, 0xFFDD}
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5F98[] = _("receive Wonder Mail.");
|
||||
ALIGNED(4) static const u8 sUnknown_80E5FB0[] = _("Using passwords, you can");
|
||||
|
||||
static const u8 sUnknown_80E5FE4[];
|
||||
static const u8 sUnknown_80E6008[];
|
||||
static const MenuItem sUnknown_80E5FCC[] =
|
||||
{
|
||||
{sUnknown_80E6008, 0xFFDE},
|
||||
{sUnknown_80E5FE4, 0xFFDE},
|
||||
{_("Using passwords, you can"), 0xFFDE},
|
||||
{_("receive Wonder Mail."), 0xFFDE},
|
||||
{NULL, 0xFFDD}
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E5FE4[] = _("receive teams from your friends.");
|
||||
ALIGNED(4) static const u8 sUnknown_80E6008[] = _("Using the Dual Slot function, you can");
|
||||
|
||||
static const u8 sUnknown_80E6048[];
|
||||
static const u8 sUnknown_80E6070[];
|
||||
static const MenuItem sUnknown_80E6030[] =
|
||||
{
|
||||
{sUnknown_80E6070, 0xFFDE},
|
||||
{sUnknown_80E6048, 0xFFDE},
|
||||
static const MenuItem sUnknown_80E5FCC[] = {
|
||||
{_("Using the Dual Slot function, you can"), 0xFFDE},
|
||||
{_("receive teams from your friends."), 0xFFDE},
|
||||
{NULL, 0xFFDD}
|
||||
};
|
||||
ALIGNED(4) static const u8 sUnknown_80E6048[] = _("go on an adventure to unknown worlds.");
|
||||
ALIGNED(4) static const u8 sUnknown_80E6070[] = _("Using wireless communication, you can");
|
||||
|
||||
static const MenuItem sUnknown_80E6030[] = {
|
||||
{_("Using wireless communication, you can"), 0xFFDE},
|
||||
{_("go on an adventure to unknown worlds."), 0xFFDE},
|
||||
{NULL, 0xFFDD}
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user