ekrcore: decompiling

This commit is contained in:
mokhaleee 2023-04-03 22:12:21 +08:00
parent ca94c8eed3
commit 04333a6360
16 changed files with 989 additions and 1311 deletions

View File

@ -5,652 +5,6 @@
@ Everything related to (non-map) battle animations
@ Needs further splitting
THUMB_FUNC_START sub_804FD48
sub_804FD48: @ 0x0804FD48
ldr r1, _0804FD50 @ gUnknown_0203E0F0
str r0, [r1]
bx lr
.align 2, 0
_0804FD50: .4byte gUnknown_0203E0F0
THUMB_FUNC_END sub_804FD48
THUMB_FUNC_START sub_804FD54
sub_804FD54: @ 0x0804FD54
ldr r0, _0804FD5C @ gUnknown_0203E0F0
ldr r0, [r0]
bx lr
.align 2, 0
_0804FD5C: .4byte gUnknown_0203E0F0
THUMB_FUNC_END sub_804FD54
THUMB_FUNC_START NewEkrBattleDeamon
NewEkrBattleDeamon: @ 0x0804FD60
push {r4, lr}
ldr r4, _0804FD80 @ gpProcEkrBattleDeamon
ldr r0, _0804FD84 @ gProc_ekrBattleDeamon
movs r1, #3
bl Proc_Start
str r0, [r4]
ldr r1, _0804FD88 @ gBattleDeamonActive
movs r0, #1
str r0, [r1]
bl AddSkipThread2
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0804FD80: .4byte gpProcEkrBattleDeamon
_0804FD84: .4byte gProc_ekrBattleDeamon
_0804FD88: .4byte gBattleDeamonActive
THUMB_FUNC_END NewEkrBattleDeamon
THUMB_FUNC_START EndEkrBattleDeamon
EndEkrBattleDeamon: @ 0x0804FD8C
push {lr}
ldr r0, _0804FD9C @ gpProcEkrBattleDeamon
ldr r0, [r0]
bl Proc_End
pop {r0}
bx r0
.align 2, 0
_0804FD9C: .4byte gpProcEkrBattleDeamon
THUMB_FUNC_END EndEkrBattleDeamon
THUMB_FUNC_START IsBattleDeamonActive
IsBattleDeamonActive: @ 0x0804FDA0
push {lr}
ldr r0, _0804FDB0 @ gBattleDeamonActive
ldr r0, [r0]
cmp r0, #1
beq _0804FDB4
movs r0, #0
b _0804FDB6
.align 2, 0
_0804FDB0: .4byte gBattleDeamonActive
_0804FDB4:
movs r0, #1
_0804FDB6:
pop {r1}
bx r1
THUMB_FUNC_END IsBattleDeamonActive
THUMB_FUNC_START ekrBattleDeamon_Destructor
ekrBattleDeamon_Destructor: @ 0x0804FDBC
push {lr}
ldr r1, _0804FDCC @ gBattleDeamonActive
movs r0, #0
str r0, [r1]
bl SubSkipThread2
pop {r0}
bx r0
.align 2, 0
_0804FDCC: .4byte gBattleDeamonActive
THUMB_FUNC_END ekrBattleDeamon_Destructor
THUMB_FUNC_START nullsub_35
nullsub_35: @ 0x0804FDD0
bx lr
THUMB_FUNC_END nullsub_35
THUMB_FUNC_START NewEkrBattle
NewEkrBattle: @ 0x0804FDD4
push {r4, lr}
bl AnimClearAll
ldr r4, _0804FE1C @ gpProcEkrBattle
ldr r0, _0804FE20 @ gProc_ekrBattle
movs r1, #3
bl Proc_Start
str r0, [r4]
ldr r0, _0804FE24 @ InBattleMainRoutine
bl SetMainUpdateRoutine
bl sub_8052220
ldr r0, _0804FE28 @ gUnknown_02017724
movs r1, #0
str r1, [r0]
ldr r0, _0804FE2C @ gUnknown_02000018
str r1, [r0]
ldr r0, _0804FE30 @ gUnknown_0200001C
str r1, [r0]
ldr r0, _0804FE34 @ gUnknown_02000020
str r1, [r0]
ldr r0, _0804FE38 @ gUnknown_02000024
str r1, [r0]
ldr r0, _0804FE3C @ gUnknown_0203E0FC
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
bne _0804FE14
bl sub_80726AC
_0804FE14:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0804FE1C: .4byte gpProcEkrBattle
_0804FE20: .4byte gProc_ekrBattle
_0804FE24: .4byte InBattleMainRoutine
_0804FE28: .4byte gUnknown_02017724
_0804FE2C: .4byte gUnknown_02000018
_0804FE30: .4byte gUnknown_0200001C
_0804FE34: .4byte gUnknown_02000020
_0804FE38: .4byte gUnknown_02000024
_0804FE3C: .4byte gUnknown_0203E0FC
THUMB_FUNC_END NewEkrBattle
THUMB_FUNC_START InBattleMainRoutine
InBattleMainRoutine: @ 0x0804FE40
push {lr}
ldr r0, _0804FE58 @ gKeyStatusPtr
ldr r0, [r0]
bl UpdateKeyStatus
ldr r0, _0804FE5C @ gUnknown_0200001C
ldr r0, [r0]
cmp r0, #0
bne _0804FE60
bl MainUpdate_804FEE4
b _0804FE6C
.align 2, 0
_0804FE58: .4byte gKeyStatusPtr
_0804FE5C: .4byte gUnknown_0200001C
_0804FE60:
ldr r0, _0804FE80 @ gUnknown_02000020
ldr r0, [r0]
cmp r0, #1
bne _0804FE6C
bl MainUpdate_804FEE4
_0804FE6C:
ldr r0, _0804FE84 @ gUnknown_02017724
ldr r0, [r0]
cmp r0, #1
beq _0804FE88
cmp r0, #1
bcc _0804FEC4
cmp r0, #2
beq _0804FE98
b _0804FEC4
.align 2, 0
_0804FE80: .4byte gUnknown_02000020
_0804FE84: .4byte gUnknown_02017724
_0804FE88:
ldr r0, _0804FE94 @ gUnknown_0203E0FC
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
bne _0804FEC4
b _0804FEA2
.align 2, 0
_0804FE94: .4byte gUnknown_0203E0FC
_0804FE98:
ldr r0, _0804FEB0 @ gUnknown_0203E0FC
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
bne _0804FEB8
_0804FEA2:
ldr r0, _0804FEB4 @ gpProcEkrBattle
ldr r0, [r0]
bl Proc_End
bl sub_8055C38
b _0804FEC4
.align 2, 0
_0804FEB0: .4byte gUnknown_0203E0FC
_0804FEB4: .4byte gpProcEkrBattle
_0804FEB8:
ldr r0, _0804FED8 @ gpProcEkrBattle
ldr r0, [r0]
bl Proc_End
bl EndEkrGauge
_0804FEC4:
ldr r1, _0804FEDC @ gBmSt
movs r0, #1
strb r0, [r1]
ldr r0, _0804FEE0 @ 0x04000006
ldrh r0, [r0]
strh r0, [r1, #6]
bl VBlankIntrWait
pop {r0}
bx r0
.align 2, 0
_0804FED8: .4byte gpProcEkrBattle
_0804FEDC: .4byte gBmSt
_0804FEE0: .4byte 0x04000006
THUMB_FUNC_END InBattleMainRoutine
THUMB_FUNC_START MainUpdate_804FEE4
MainUpdate_804FEE4: @ 0x0804FEE4
push {r4, lr}
bl ClearSprites
bl sub_8071A8C
bl GetThread2SkipStack
lsls r0, r0, #0x18
cmp r0, #0
bne _0804FF00
ldr r0, _0804FF50 @ gProcTreeRootArray
ldr r0, [r0, #8]
bl Proc_Run
_0804FF00:
ldr r4, _0804FF50 @ gProcTreeRootArray
ldr r0, [r4, #0xc]
bl Proc_Run
ldr r0, [r4, #0x14]
bl Proc_Run
movs r0, #0
bl PushSpriteLayerObjects
ldr r0, [r4, #4]
bl Proc_Run
bl AnimUpdateAll
bl BattleAIS_ExecCommands
ldr r0, [r4, #0x10]
bl Proc_Run
ldr r1, _0804FF54 @ gUnknown_02000020
movs r0, #0
str r0, [r1]
ldr r1, _0804FF58 @ gUnknown_0201FB04
ldr r0, [r1]
ldr r1, [r1, #4]
adds r0, r0, r1
cmp r0, #2
beq _0804FF42
ldr r1, _0804FF5C @ gUnknown_02000018
ldr r0, [r1]
adds r0, #1
str r0, [r1]
_0804FF42:
movs r0, #0xd
bl PushSpriteLayerObjects
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0804FF50: .4byte gProcTreeRootArray
_0804FF54: .4byte gUnknown_02000020
_0804FF58: .4byte gUnknown_0201FB04
_0804FF5C: .4byte gUnknown_02000018
THUMB_FUNC_END MainUpdate_804FEE4
THUMB_FUNC_START nullsub_36
nullsub_36: @ 0x0804FF60
bx lr
THUMB_FUNC_END nullsub_36
THUMB_FUNC_START ekrBattle_Init
ekrBattle_Init: @ 0x0804FF64
push {r4, lr}
adds r4, r0, #0
ldr r1, _0804FF88 @ gUnknown_0201FB0C
movs r0, #0
str r0, [r1]
ldr r0, _0804FF8C @ gUnknown_02017744
ldr r0, [r0]
cmp r0, #0
bne _0804FF9A
ldr r0, _0804FF90 @ gUnknown_0203E120
movs r2, #0
ldrsh r0, [r0, r2]
cmp r0, #1
bne _0804FF94
movs r0, #0x20
negs r0, r0
b _0804FF98
.align 2, 0
_0804FF88: .4byte gUnknown_0201FB0C
_0804FF8C: .4byte gUnknown_02017744
_0804FF90: .4byte gUnknown_0203E120
_0804FF94:
movs r0, #0xf0
negs r0, r0
_0804FF98:
str r0, [r1]
_0804FF9A:
bl sub_8059D28
bl sub_8070B3C
bl sub_8070254
ldr r0, _0804FFB8 @ gUnknown_02000024
movs r1, #1
str r1, [r0]
bl sub_805B028
cmp r0, #1
bne _0804FFBC
movs r0, #0
b _0804FFBE
.align 2, 0
_0804FFB8: .4byte gUnknown_02000024
_0804FFBC:
movs r0, #0x1e
_0804FFBE:
strh r0, [r4, #0x2c]
ldr r0, _0804FFD4 @ gUnknown_0203E100
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
bne _0804FFDC
ldr r1, _0804FFD8 @ gUnknown_0203E190
ldrb r0, [r1]
ldrb r1, [r1, #1]
b _0804FFE2
.align 2, 0
_0804FFD4: .4byte gUnknown_0203E100
_0804FFD8: .4byte gUnknown_0203E190
_0804FFDC:
ldr r1, _0804FFFC @ gUnknown_0203E190
ldrb r0, [r1, #1]
ldrb r1, [r1]
_0804FFE2:
bl ShouldCallBattleQuote
lsls r0, r0, #0x18
asrs r0, r0, #0x18
str r0, [r4, #0x54]
movs r0, #0
str r0, [r4, #0x58]
adds r0, r4, #0
bl Proc_Break
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0804FFFC: .4byte gUnknown_0203E190
THUMB_FUNC_END ekrBattle_Init
THUMB_FUNC_START ekrBattle_8050000
ekrBattle_8050000: @ 0x08050000
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x2c]
adds r0, #1
strh r0, [r4, #0x2c]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #0x1f
bne _08050048
bl sub_804FD54
cmp r0, #1
beq _08050040
ldr r0, [r4, #0x54]
cmp r0, #1
beq _08050026
ldr r0, [r4, #0x58]
cmp r0, #1
bne _08050040
_08050026:
movs r0, #1
movs r1, #7
bl NewEkrWindowAppear
movs r0, #1
movs r1, #7
movs r2, #0
bl NewEkrNamewinAppear
ldr r0, _0805003C @ ekrBattle_8050054
b _08050042
.align 2, 0
_0805003C: .4byte ekrBattle_8050054
_08050040:
ldr r0, _08050050 @ ekrBattle_8050158
_08050042:
str r0, [r4, #0xc]
movs r0, #0
strh r0, [r4, #0x2c]
_08050048:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08050050: .4byte ekrBattle_8050158
THUMB_FUNC_END ekrBattle_8050000
THUMB_FUNC_START ekrBattle_8050054
ekrBattle_8050054: @ 0x08050054
push {r4, lr}
sub sp, #4
adds r4, r0, #0
bl sub_8056D74
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #1
bne _080500DE
bl EkrGauge_8051218
bl sub_8051B90
movs r0, #0
str r0, [sp]
ldr r1, _080500B8 @ gBG0TilemapBuffer
ldr r2, _080500BC @ 0x01000200
mov r0, sp
bl CpuFastSet
ldr r0, _080500C0 @ gUnknown_02000038
ldrh r1, [r0]
ldrh r2, [r0, #2]
movs r0, #0
bl BG_SetPosition
movs r0, #1
movs r1, #0
movs r2, #0
bl BG_SetPosition
movs r0, #1
bl BG_EnableSyncByMask
bl EkrGauge_8051190
ldr r0, [r4, #0x54]
cmp r0, #1
bne _080500DA
ldr r0, _080500C4 @ gUnknown_0203E100
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
bne _080500CC
ldr r1, _080500C8 @ gUnknown_0203E190
ldrb r0, [r1]
ldrb r1, [r1, #1]
bl CallBattleQuoteEventsIfAny
b _080500D6
.align 2, 0
_080500B8: .4byte gBG0TilemapBuffer
_080500BC: .4byte 0x01000200
_080500C0: .4byte gUnknown_02000038
_080500C4: .4byte gUnknown_0203E100
_080500C8: .4byte gUnknown_0203E190
_080500CC:
ldr r1, _080500E8 @ gUnknown_0203E190
ldrb r0, [r1, #1]
ldrb r1, [r1]
bl CallBattleQuoteEventsIfAny
_080500D6:
movs r0, #0
str r0, [r4, #0x54]
_080500DA:
ldr r0, _080500EC @ ekrBattle_80500F0
str r0, [r4, #0xc]
_080500DE:
add sp, #4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080500E8: .4byte gUnknown_0203E190
_080500EC: .4byte ekrBattle_80500F0
THUMB_FUNC_END ekrBattle_8050054
THUMB_FUNC_START ekrBattle_80500F0
ekrBattle_80500F0: @ 0x080500F0
push {r4, lr}
adds r4, r0, #0
bl BattleEventEngineExists
cmp r0, #0
bne _08050128
bl sub_8051F1C
movs r0, #1
bl BG_EnableSyncByMask
movs r0, #0
movs r1, #7
bl NewEkrWindowAppear
movs r0, #0
movs r1, #7
movs r2, #0
bl NewEkrNamewinAppear
bl EkrGauge_8051228
bl sub_8051BA0
bl EkrGauge_8051180
ldr r0, _08050130 @ ekrBattle_8050134
str r0, [r4, #0xc]
_08050128:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08050130: .4byte ekrBattle_8050134
THUMB_FUNC_END ekrBattle_80500F0
THUMB_FUNC_START ekrBattle_8050134
ekrBattle_8050134: @ 0x08050134
push {r4, lr}
adds r4, r0, #0
bl sub_8056D74
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #1
bne _0805014C
ldr r0, _08050154 @ ekrBattle_8050158
str r0, [r4, #0xc]
movs r0, #0
strh r0, [r4, #0x2c]
_0805014C:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08050154: .4byte ekrBattle_8050158
THUMB_FUNC_END ekrBattle_8050134
THUMB_FUNC_START ekrBattle_8050158
ekrBattle_8050158: @ 0x08050158
ldr r1, _0805016C @ gUnknown_0203E100
movs r2, #0
ldrsh r1, [r1, r2]
str r1, [r0, #0x44]
movs r1, #0
str r1, [r0, #0x48]
ldr r1, _08050170 @ ekrBattle_8050174
str r1, [r0, #0xc]
bx lr
.align 2, 0
_0805016C: .4byte gUnknown_0203E100
_08050170: .4byte ekrBattle_8050174
THUMB_FUNC_END ekrBattle_8050158
THUMB_FUNC_START ekrBattle_8050174
ekrBattle_8050174: @ 0x08050174
push {r4, lr}
adds r4, r0, #0
ldr r0, [r4, #0x48]
cmp r0, #2
bne _08050188
ldr r0, _08050184 @ ekrBattle_8050244
str r0, [r4, #0xc]
b _0805021A
.align 2, 0
_08050184: .4byte ekrBattle_8050244
_08050188:
ldr r0, [r4, #0x44]
cmp r0, #0
bne _080501D4
ldr r0, _080501A8 @ gUnknown_02000000
ldr r0, [r0]
str r0, [r4, #0x5c]
bl sub_806FA6C
cmp r0, #2
beq _080501BA
cmp r0, #2
bhi _080501AC
cmp r0, #1
beq _080501B2
b _080501CC
.align 2, 0
_080501A8: .4byte gUnknown_02000000
_080501AC:
cmp r0, #3
beq _080501C2
b _080501CC
_080501B2:
ldr r0, [r4, #0x5c]
bl sub_80701B8
b _080501C8
_080501BA:
ldr r0, [r4, #0x5c]
bl sub_8076540
b _080501C8
_080501C2:
ldr r0, [r4, #0x5c]
bl sub_80708CC
_080501C8:
ldr r0, _080501D0 @ ekrBattle_8050224
str r0, [r4, #0xc]
_080501CC:
movs r0, #1
b _08050212
.align 2, 0
_080501D0: .4byte ekrBattle_8050224
_080501D4:
ldr r0, _080501EC @ gUnknown_02000000
ldr r0, [r0, #8]
str r0, [r4, #0x5c]
bl sub_806FA6C
cmp r0, #2
beq _080501FE
cmp r0, #2
bhi _080501F0
cmp r0, #1
beq _080501F6
b _08050210
.align 2, 0
_080501EC: .4byte gUnknown_02000000
_080501F0:
cmp r0, #3
beq _08050206
b _08050210
_080501F6:
ldr r0, [r4, #0x5c]
bl sub_80701B8
b _0805020C
_080501FE:
ldr r0, [r4, #0x5c]
bl sub_8076540
b _0805020C
_08050206:
ldr r0, [r4, #0x5c]
bl sub_80708CC
_0805020C:
ldr r0, _08050220 @ ekrBattle_8050224
str r0, [r4, #0xc]
_08050210:
movs r0, #0
_08050212:
str r0, [r4, #0x44]
ldr r0, [r4, #0x48]
adds r0, #1
str r0, [r4, #0x48]
_0805021A:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08050220: .4byte ekrBattle_8050224
THUMB_FUNC_END ekrBattle_8050174
THUMB_FUNC_START ekrBattle_8050224
ekrBattle_8050224: @ 0x08050224
push {r4, lr}
@ -4758,7 +4112,7 @@ _080521C4:
ldrsh r0, [r0, r2]
cmp r0, #0
bne _080521EC
ldr r4, _080521F8 @ gUnknown_0203E190
ldr r4, _080521F8 @ gEkrBuIndexes
ldrb r0, [r4]
ldrb r1, [r4, #1]
bl ShouldCallBattleQuote
@ -4776,7 +4130,7 @@ _080521EC:
b _0805220E
.align 2, 0
_080521F4: .4byte gUnknown_0203E0FC
_080521F8: .4byte gUnknown_0203E190
_080521F8: .4byte gEkrBuIndexes
_080521FC:
cmp r1, #1
beq _0805220C
@ -5110,7 +4464,7 @@ _08052494: .4byte gUnknown_0203E1AC
_08052498: .4byte gUnknown_0203E152
_0805249C: .4byte gUnknown_02017780
_080524A0:
ldr r4, _080524C4 @ gUnknown_0203E190
ldr r4, _080524C4 @ gEkrBuIndexes
adds r0, r6, #0
bl GetAISSubjectId
adds r0, r0, r4
@ -5126,7 +4480,7 @@ _080524B4:
bl sub_8052DD4
b _080524E4
.align 2, 0
_080524C4: .4byte gUnknown_0203E190
_080524C4: .4byte gEkrBuIndexes
_080524C8:
bl sub_805B07C
adds r0, r6, #0
@ -5660,7 +5014,7 @@ _08052904: .4byte gUnknown_0203E1AC
_08052908: .4byte gUnknown_0203E152
_0805290C: .4byte gUnknown_02017780
_08052910:
ldr r4, _08052934 @ gUnknown_0203E190
ldr r4, _08052934 @ gEkrBuIndexes
adds r0, r6, #0
bl GetAISSubjectId
adds r0, r0, r4
@ -5676,7 +5030,7 @@ _08052924:
bl sub_8052DD4
b _08052954
.align 2, 0
_08052934: .4byte gUnknown_0203E190
_08052934: .4byte gEkrBuIndexes
_08052938:
bl sub_805B07C
adds r0, r6, #0
@ -6400,7 +5754,7 @@ sub_8052EAC: @ 0x08052EAC
push {r4, r5, lr}
sub sp, #4
adds r5, r0, #0
bl sub_8056D74
bl DoesEkrWindowAppearExist
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #1
@ -6425,7 +5779,7 @@ sub_8052EAC: @ 0x08052EAC
movs r0, #1
bl BG_EnableSyncByMask
bl EkrGauge_8051190
ldr r4, _08052F20 @ gUnknown_0203E190
ldr r4, _08052F20 @ gEkrBuIndexes
ldr r0, [r5, #0x5c]
bl GetAISSubjectId
adds r0, r0, r4
@ -6442,7 +5796,7 @@ _08052F0A:
_08052F14: .4byte gBG0TilemapBuffer
_08052F18: .4byte 0x01000200
_08052F1C: .4byte gUnknown_02000038
_08052F20: .4byte gUnknown_0203E190
_08052F20: .4byte gEkrBuIndexes
THUMB_FUNC_END sub_8052EAC
@ -6492,7 +5846,7 @@ _08052F80: .4byte gUnknown_0203E104
sub_8052F84: @ 0x08052F84
push {r4, lr}
adds r4, r0, #0
bl sub_8056D74
bl DoesEkrWindowAppearExist
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #1
@ -12301,7 +11655,7 @@ _08055BF2:
str r1, [r0, #4]
str r1, [r0, #8]
str r1, [r0, #0xc]
ldr r0, _08055C30 @ gAnims
ldr r0, _08055C30 @ gUnknown_02000010
str r1, [r0]
str r1, [r0, #4]
ldr r0, _08055C34 @ MainUpdate_8055C68
@ -12314,7 +11668,7 @@ _08055C24:
.align 2, 0
_08055C28: .4byte gUnknown_02017744
_08055C2C: .4byte gUnknown_02000000
_08055C30: .4byte gAnims
_08055C30: .4byte gUnknown_02000010
_08055C34: .4byte MainUpdate_8055C68
THUMB_FUNC_END BeginAnimsOnBattleAnimations
@ -14472,7 +13826,7 @@ _08056D46:
lsls r1, r1, #0x10
asrs r1, r1, #0x10
bl EkrGauge_80511D0
ldr r1, _08056D70 @ gUnknown_0201FACC
ldr r1, _08056D70 @ gEkrWindowAppearExist
movs r0, #1
str r0, [r1]
bl EkrGauge_8051208
@ -14482,28 +13836,28 @@ _08056D46:
.align 2, 0
_08056D68: .4byte gProc_ekrWindowAppear
_08056D6C: .4byte gUnknown_02000038
_08056D70: .4byte gUnknown_0201FACC
_08056D70: .4byte gEkrWindowAppearExist
THUMB_FUNC_END NewEkrWindowAppear
THUMB_FUNC_START sub_8056D74
sub_8056D74: @ 0x08056D74
THUMB_FUNC_START DoesEkrWindowAppearExist
DoesEkrWindowAppearExist: @ 0x08056D74
push {lr}
ldr r0, _08056D84 @ gUnknown_0201FACC
ldr r0, _08056D84 @ gEkrWindowAppearExist
ldr r0, [r0]
cmp r0, #0
beq _08056D88
movs r0, #0
b _08056D8A
.align 2, 0
_08056D84: .4byte gUnknown_0201FACC
_08056D84: .4byte gEkrWindowAppearExist
_08056D88:
movs r0, #1
_08056D8A:
pop {r1}
bx r1
THUMB_FUNC_END sub_8056D74
THUMB_FUNC_END DoesEkrWindowAppearExist
THUMB_FUNC_START sub_8056D90
sub_8056D90: @ 0x08056D90
@ -14517,7 +13871,7 @@ sub_8056D90: @ 0x08056D90
ldrsh r0, [r4, r3]
cmp r1, r0
blt _08056DBC
ldr r1, _08056DB8 @ gUnknown_0201FACC
ldr r1, _08056DB8 @ gEkrWindowAppearExist
movs r0, #0
str r0, [r1]
bl EkrGauge_80511F8
@ -14525,7 +13879,7 @@ sub_8056D90: @ 0x08056D90
bl Proc_Break
b _08056E04
.align 2, 0
_08056DB8: .4byte gUnknown_0201FACC
_08056DB8: .4byte gEkrWindowAppearExist
_08056DBC:
adds r0, r2, #1
strh r0, [r4, #0x2c]
@ -15776,7 +15130,7 @@ _08057758:
ldr r1, _080579E0 @ gUnknown_0203E114
strh r0, [r1, #2]
_08057772:
ldr r1, _080579E4 @ gUnknown_0203E190
ldr r1, _080579E4 @ gEkrBuIndexes
movs r7, #0
strb r7, [r1, #1]
strb r7, [r1]
@ -16109,7 +15463,7 @@ _080579D2:
.align 2, 0
_080579DC: .4byte gUnknown_02000000
_080579E0: .4byte gUnknown_0203E114
_080579E4: .4byte gUnknown_0203E190
_080579E4: .4byte gEkrBuIndexes
_080579E8: .4byte gUnknown_0203E1B8
_080579EC: .4byte 0x0000FFFF
_080579F0: .4byte gUnknown_0203E1BC
@ -37051,7 +36405,7 @@ sub_8061E8C: @ 0x08061E8C
adds r6, r1, #0
orrs r0, r6
strh r0, [r5, #8]
ldr r4, _08061F74 @ gAnims
ldr r4, _08061F74 @ gUnknown_02000010
adds r0, r5, #0
bl GetAISSubjectId
lsls r0, r0, #2
@ -37094,7 +36448,7 @@ _08061F64: .4byte gUnknown_085D6A44
_08061F68: .4byte gUnknown_08670548
_08061F6C: .4byte gLCDControlBuffer
_08061F70: .4byte 0x0000F3FF
_08061F74: .4byte gAnims
_08061F74: .4byte gUnknown_02000010
THUMB_FUNC_END sub_8061E8C
@ -37106,7 +36460,7 @@ sub_8061F78: @ 0x08061F78
adds r0, r6, #0
bl GetCoreAIStruct
adds r7, r0, #0
ldr r4, _08061FD4 @ gAnims
ldr r4, _08061FD4 @ gUnknown_02000010
adds r0, r6, #0
bl GetAISSubjectId
lsls r0, r0, #2
@ -37144,7 +36498,7 @@ _08061FA8:
bl sub_8055670
b _08062046
.align 2, 0
_08061FD4: .4byte gAnims
_08061FD4: .4byte gUnknown_02000010
_08061FD8: .4byte 0x0000F3FF
_08061FDC:
movs r0, #1
@ -61333,7 +60687,7 @@ _0806DF14:
str r4, [r6, #0x60]
ldr r0, [r6, #0x5c]
bl GetAISSubjectId
ldr r1, _0806DF7C @ gAnims
ldr r1, _0806DF7C @ gUnknown_02000010
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r6, #0x60]
@ -61358,7 +60712,7 @@ _0806DF14:
_0806DF70: .4byte gUnknown_085F1BD8
_0806DF74: .4byte gUnknown_085F1D6C
_0806DF78: .4byte gUnknown_085D9284
_0806DF7C: .4byte gAnims
_0806DF7C: .4byte gUnknown_02000010
_0806DF80:
ldrh r0, [r4, #8]
movs r2, #0x93
@ -61423,7 +60777,7 @@ sub_806DFD0: @ 0x0806DFD0
bl AnimDelete
ldr r0, [r4, #0x5c]
bl GetAISSubjectId
ldr r1, _0806E010 @ gAnims
ldr r1, _0806E010 @ gUnknown_02000010
lsls r0, r0, #2
adds r0, r0, r1
movs r1, #0
@ -61435,7 +60789,7 @@ _0806E00A:
pop {r0}
bx r0
.align 2, 0
_0806E010: .4byte gAnims
_0806E010: .4byte gUnknown_02000010
THUMB_FUNC_END sub_806DFD0
@ -61719,7 +61073,7 @@ _0806E202:
str r4, [r5, #0x60]
ldr r0, [r5, #0x5c]
bl GetAISSubjectId
ldr r1, _0806E268 @ gAnims
ldr r1, _0806E268 @ gUnknown_02000010
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r5, #0x60]
@ -61744,7 +61098,7 @@ _0806E202:
_0806E25C: .4byte gUnknown_08746508
_0806E260: .4byte gUnknown_0874670C
_0806E264: .4byte gUnknown_085D9300
_0806E268: .4byte gAnims
_0806E268: .4byte gUnknown_02000010
_0806E26C:
ldrh r0, [r4, #8]
movs r2, #0x93
@ -61787,7 +61141,7 @@ sub_806E290: @ 0x0806E290
bl AnimDelete
ldr r0, [r6, #0x5c]
bl GetAISSubjectId
ldr r1, _0806E304 @ gAnims
ldr r1, _0806E304 @ gUnknown_02000010
lsls r0, r0, #2
adds r0, r0, r1
movs r1, #0
@ -61819,7 +61173,7 @@ _0806E2FC:
pop {r0}
bx r0
.align 2, 0
_0806E304: .4byte gAnims
_0806E304: .4byte gUnknown_02000010
_0806E308: .4byte gUnknown_02000000
THUMB_FUNC_END sub_806E290

View File

@ -107,24 +107,6 @@ enum {
#define ANIM_IS_DISABLED(anim) ((anim)->state == 0)
enum ganims_entry_index {
GANIM_INDEX_LEFT_FRONT,
GANIM_INDEX_LEFY_BACK,
GANIM_INDEX_RIGHT_FRONT,
GANIM_INDEX_RIGHT_BACK,
GANIM_INDEX_MAX
};
extern struct Anim *gAnims[GANIM_INDEX_MAX];
extern u16 gBattleActorSide;
extern u16 gBattleInitSide;
extern struct AnimRoundData gAnimRoundData;
extern struct BattleUnit *gpEkrBattleUnitLeft;
extern struct BattleUnit *gpEkrBattleUnitRight;
extern struct Font gSomeFontStruct;
void AnimUpdateAll(void);
void AnimClearAll(void);
struct Anim* AnimCreate_unused(const void* script);

626
include/ekrbattle.h Normal file
View File

@ -0,0 +1,626 @@
#pragma once
#include "global.h"
#include "proc.h"
#include "anime.h"
struct ProcEkrBattleDeamon {
PROC_HEADER;
/* 29 */
};
struct ProcEkrBattle {
PROC_HEADER;
/* 29 */ u8 unk29;
/* 2A */ u8 _pad_2A[0x2C - 0x2A];
/* 2C */ s16 timer;
/* 30 */ u8 _pad_30[0x44 - 0x30];
/* 44 */ int unk44;
/* 48 */ int unk48;
/* 4C */ u8 _pad_4C[0x54 - 0x4C];
/* 54 */ int is_quote;
/* 58 */ int unk58;
/* 5C */ struct Anim *anim;
};
extern int gUnknown_02000018, gUnknown_0200001C;
extern u16 gBattleActorSide;
extern u16 gBattleInitSide;
extern struct AnimRoundData gAnimRoundData;
extern struct BattleUnit *gpEkrBattleUnitLeft;
extern struct BattleUnit *gpEkrBattleUnitRight;
extern struct Font gSomeFontStruct;
// extern ??? gUnknown_02000018
// extern ??? gUnknown_0200001C
extern u32 gUnknown_02000020;
extern u32 gUnknown_02000024;
// extern ??? gUnknown_02000028
// extern ??? gUnknown_0200002C
// extern ??? gUnknown_02000030
// extern ??? gUnknown_02000034
extern struct Vec2u gUnknown_02000038;
// extern ??? gUnknown_0200003C
// extern ??? gUnknown_02000044
// extern ??? gUnknown_0200004C
// extern ??? gUnknown_02000054
// extern ??? gUnknown_0200005C
// extern ??? gUnknown_02000060
extern struct ProcEkrBattle *gpProcEkrBattle;
extern int gUnknown_0203E0F0;
extern int gBattleDeamonActive;
extern struct ProcEkrBattleDeamon *gpProcEkrBattleDeamon;
extern short gUnknown_0203E0FC;
// extern ??? gUnknown_0203E0FE
extern short gUnknown_0203E100;
// extern ??? gUnknown_0203E102
// extern ??? gUnknown_0203E104
// extern ??? gUnknown_0203E108
// extern ??? gUnknown_0203E114
// extern ??? gUnknown_0203E118
// extern ??? gUnknown_0203E11A
// extern ??? gUnknown_0203E11C
extern EWRAM_DATA s16 gUnknown_0203E120;
// extern ??? gUnknown_0203E122
// extern ??? gAnimRoundData
extern struct ProcCmd gProc_ekrBattleDeamon[];
extern struct ProcCmd gProc_ekrBattle[];
extern struct ProcCmd gProc_ekrLvupFan[];
extern struct ProcCmd gProc_ekrGauge[];
// extern ??? gUnknown_085B93D0
// extern ??? gUnknown_085B940C
// extern ??? gUnknown_085B9424
// extern ??? gUnknown_085B949C
// extern ??? gUnknown_085B94F0
// extern ??? gUnknown_085B9544
// extern ??? gUnknown_085B955C
// extern ??? gUnknown_085B9574
// extern ??? gUnknown_085B958C
// extern ??? gUnknown_085B95A4
// extern ??? gUnknown_085B95BC
// extern ??? gUnknown_085B95D4
extern struct ProcCmd gProc_ekrDispUP[];
extern struct ProcCmd gProc_efxHPBar[];
extern struct ProcCmd gProc_efxHPBarResire[];
extern struct ProcCmd gProc_efxAvoid[];
extern struct ProcCmd gProc_efxHPBarLive[];
extern struct ProcCmd gProc_efxNoDamage[];
extern struct ProcCmd gProc_efxNoDamageYure[];
extern struct ProcCmd gProc_efxStatusCHG[];
extern struct ProcCmd gProc_efxDeadEvent[];
extern struct ProcCmd gProc_efxDead[];
extern struct ProcCmd gProc_efxDeadPika[];
extern struct ProcCmd gProc_efxDeadAlpha[];
extern struct ProcCmd gProc_efxDeadDragonAlpha[];
extern struct ProcCmd gProc_efxFarAttack[];
extern struct ProcCmd gProc_efxQuakePure[];
// extern ??? gUnknown_085B9804
extern struct ProcCmd gProc_efxHitQuakePure[];
extern struct ProcCmd gProc_efxQuake[];
extern struct ProcCmd gProc_efxHitQuake[];
extern struct ProcCmd gProc_efxFlashBG[];
extern struct ProcCmd gProc_efxWhiteOUT[];
extern struct ProcCmd gProc_efxWhiteIN[];
extern struct ProcCmd gProc_efxBlackOUT[];
extern struct ProcCmd gProc_efxBlackIN[];
extern struct ProcCmd gProc_efxFlashHPBar[];
extern struct ProcCmd gProc_efxHPBarColorChange[];
extern struct ProcCmd gProc_efxFlashUnit[];
extern struct ProcCmd gProc_efxFlashUnitEffect[];
extern struct ProcCmd gProc_efxStatusUnit[];
extern struct ProcCmd gProc_efxWeaponIcon[];
extern struct ProcCmd gProc_efxSpellCast[];
extern struct ProcCmd gProc_efxspdquake[];
extern struct ProcCmd gProc_ekrBattleStarting[];
extern struct ProcCmd gProc_ekrbattleendin[];
// extern ??? gUnknown_085B9B6C
// extern ??? gUnknown_085B9B84
// extern ??? gUnknown_085B9BA4
// extern ??? gUnknown_085B9BC4
// extern ??? gUnknown_085B9BE4
// extern ??? gUnknown_085B9C04
// extern ??? gUnknown_085B9C24
// extern ??? gUnknown_085B9C44
// extern ??? gUnknown_085B9C64
// extern ??? gUnknown_085B9C84
// extern ??? gUnknown_085B9CA4
// extern ??? gUnknown_085B9CC4
// extern ??? gUnknown_085B9CE4
extern struct ProcCmd gProc_ekrWindowAppear[];
extern struct ProcCmd gProc_ekrNamewinAppear[];
extern struct ProcCmd gProc_ekrBaseAppear[];
// extern ??? gUnknown_085B9D5C
// extern ??? gUnknown_085B9D6C
extern struct ProcCmd gProc_ekrChienCHR[];
extern struct ProcCmd gProc_efxAnimeDrvProc[];
extern struct ProcCmd ProcScr_ekrUnitMainMini[];
extern struct ProcCmd gProc_ekrTogiInit[];
extern struct ProcCmd gProc_ekrTogiEnd[];
extern struct ProcCmd gProc_ekrTogiColor[];
void sub_804FD48(int unk);
// ??? sub_804FD54(???);
// ??? NewEkrBattleDeamon(???);
// ??? EndEkrBattleDeamon(???);
int IsBattleDeamonActive(void); // battle?
// ??? ekrBattleDeamon_Destructor(???);
// ??? nullsub_35(???);
// ??? NewEkrBattle(???);
void InBattleMainRoutine(void);
void MainUpdate_804FEE4(void);
// ??? nullsub_36(???);
// ??? ekrBattle_Init(???);
// ??? ekrBattle_8050000(???);
void ekrBattle_8050054(struct ProcEkrBattle *proc);
void ekrBattle_80500F0(struct ProcEkrBattle *proc);
void ekrBattle_8050134(struct ProcEkrBattle *proc);
void ekrBattle_8050158(struct ProcEkrBattle *proc);
void ekrBattle_8050174(struct ProcEkrBattle *proc);
void ekrBattle_8050224(struct ProcEkrBattle *proc);
void ekrBattle_8050244(struct ProcEkrBattle *proc);
// ??? ekrBattle_8050290(???);
// ??? ekrBattle_80502B0(???);
// ??? ekrBattle_8050304(???);
// ??? ekrBattle_8050338(???);
// ??? ekrBattle_8050360(???);
// ??? ekrBattle_80503EC(???);
// ??? ekrBattle_8050400(???);
// ??? ekrBattle_8050440(???);
// ??? ekrBattle_805046C(???);
// ??? ekrBattle_80505EC(???);
// ??? ekrBattle_8050600(???);
// ??? ekrBattle_8050684(???);
// ??? ekrBattle_80506C8(???);
// ??? ekrBattle_80508F0(???);
// ??? ekrBattle_8050940(???);
// ??? ekrBattle_80509A8(???);
// ??? ekrBattle_8050A84(???);
// ??? ekrBattle_8050AB8(???);
// ??? ekrBattle_8050B08(???);
// ??? ekrBattle_CheckForLevelup_8050C34(???);
// ??? ekrBattle_WaitForLevelup_8050C6C(???);
// ??? ekrBattle_MakePopups(???);
// ??? ekrBattle_WaitForPopup(???);
// ??? ekrBattle_8050CCC(???);
// ??? ekrBattle_8050CF8(???);
// ??? ekrBattle_8050D88(???);
// ??? ekrBattle_8050DA8(???);
// ??? nullsub_69(???);
// ??? NewEkrLvlupFan(???);
// ??? sub_8050E00(???);
// ??? sub_8050E40(???);
// ??? sub_8050E90(???);
// ??? NewEkrGauge(???);
void EndEkrGauge(void);
void EkrGauge_8051180(void);
void EkrGauge_8051190(void);
// ??? EkrGauge_80511A0(???);
// ??? EkrGauge_80511B0(???);
// ??? EkrGauge_80511C0(???);
// ??? EkrGauge_80511D0(???);
// ??? EkrGauge_80511E4(???);
// ??? EkrGauge_80511F8(???);
// ??? EkrGauge_8051208(???);
void EkrGauge_8051218(void);
void EkrGauge_8051228(void);
// ??? sub_8051238(???);
// ??? ekrGauge_Loop(???);
// ??? NewEkrDispUP(???);
// ??? sub_8051AF4(???);
// ??? sub_8051B08(???);
// ??? sub_8051B18(???);
// ??? sub_8051B28(???);
// ??? sub_8051B38(???);
// ??? EkrDispUP_8051B48(???);
// ??? sub_8051B5C(???);
// ??? sub_8051B70(???);
// ??? sub_8051B80(???);
void sub_8051B90(void);
void sub_8051BA0(void);
// ??? ekrDispUP_Loop(???);
// ??? sub_8051CC4(???);
// ??? sub_8051E00(???);
void sub_8051F1C(void);
// ??? sub_8052184(???);
// ??? sub_8052214(???);
void sub_8052220(void);
// ??? sub_80522CC(???);
// ??? sub_80522F4(???);
// ??? sub_8052304(???);
// ??? sub_80523EC(???);
// ??? sub_8052504(???);
// ??? sub_80525A4(???);
// ??? sub_80525E8(???);
// ??? sub_80526C8(???);
// ??? sub_8052788(???);
// ??? sub_805282C(???);
// ??? sub_8052978(???);
// ??? sub_80529F0(???);
// ??? sub_8052A0C(???);
// ??? sub_8052AE4(???);
// ??? sub_8052B98(???);
// ??? sub_8052C24(???);
// ??? sub_8052C7C(???);
// ??? sub_8052CA0(???);
// ??? sub_8052D8C(???);
// ??? sub_8052DB8(???);
// ??? sub_8052DD4(???);
// ??? sub_8052DFC(???);
// ??? sub_8052E7C(???);
// ??? sub_8052EAC(???);
// ??? sub_8052F24(???);
// ??? sub_8052F84(???);
// ??? sub_8052FAC(???);
// ??? sub_8052FEC(???);
// ??? sub_8053080(???);
// ??? sub_8053120(???);
// ??? sub_8053144(???);
// ??? sub_80531A4(???);
// ??? sub_805320C(???);
// ??? sub_805328C(???);
// ??? sub_8053368(???);
// ??? sub_80533D0(???);
// ??? sub_80534AC(???);
// ??? sub_80534E4(???);
// ??? sub_8053514(???);
// ??? sub_8053584(???);
// ??? sub_8053618(???);
// ??? sub_8053678(???);
// ??? sub_80536B8(???);
// ??? sub_8053718(???);
// ??? nullsub_56(???);
// ??? sub_8053730(???);
// ??? sub_805382C(???);
// ??? sub_80539DC(???);
// ??? sub_8053BBC(???);
// ??? StartSpellBG_FLASH(???);
// ??? sub_8053F4C(???);
// ??? sub_8053F8C(???);
// ??? sub_8053FC4(???);
// ??? sub_8053FE4(???);
// ??? sub_805401C(???);
// ??? sub_8054030(???);
// ??? sub_8054054(???);
// ??? sub_80540B0(???);
// ??? sub_8054120(???);
// ??? sub_8054134(???);
// ??? sub_8054158(???);
// ??? sub_80541B4(???);
// ??? sub_8054224(???);
// ??? sub_8054238(???);
// ??? sub_805425C(???);
// ??? sub_80542B8(???);
// ??? sub_8054328(???);
// ??? sub_805433C(???);
// ??? sub_8054360(???);
// ??? sub_80543BC(???);
// ??? sub_805442C(???);
// ??? sub_8054440(???);
// ??? sub_8054478(???);
// ??? sub_8054498(???);
// ??? sub_805452C(???);
// ??? sub_80545C0(???);
// ??? sub_80546B0(???);
// ??? sub_80546C4(???);
// ??? sub_80546D4(???);
// ??? sub_80546E4(???);
// ??? sub_80547DC(???);
// ??? sub_8054818(???);
// ??? sub_8054888(???);
// ??? sub_80548E0(???);
// ??? sub_8054930(???);
// ??? sub_80549BC(???);
// ??? NewEfxStatusUnit(???);
// ??? sub_8054B18(???);
// ??? DeleteEach6C_efxStatusUnit(???);
// ??? sub_8054B64(???);
// ??? sub_8054B84(???);
// ??? sub_8054BA4(???);
// ??? sub_8054BD4(???);
// ??? sub_8054BF0(???);
// ??? sub_8054C94(???);
// ??? sub_8054E4C(???);
// ??? sub_8054E8C(???);
// ??? sub_8054ED4(???);
// ??? sub_8054EF0(???);
// ??? sub_8054F00(???);
// ??? sub_8054F10(???);
// ??? sub_8054F78(???);
void NewEfxSpellCast(void);
void sub_8055000(void);
// ??? sub_805501C(???);
// ??? sub_8055038(???);
// ??? sub_805509C(???);
// ??? sub_80550DC(???);
// ??? sub_805515C(???);
// ??? SetSomethingSpellFxToTrue(???);
// ??? SetSomethingSpellFxToFalse(???);
// ??? ClearBG1Setup(???);
// ??? ClearBG1(???);
// ??? sub_80551B0(???);
// ??? sub_805526C(???);
// ??? ThisMakesTheHPInSpellAnimGoAway(???);
// ??? sub_8055288(???);
// ??? sub_8055298(???);
// ??? sub_8055424(???);
// ??? sub_8055518(???);
// ??? sub_8055554(???);
// ??? sub_80555B0(???);
// ??? sub_805560C(???);
// ??? sub_8055670(???);
// ??? sub_80556F0(???);
// ??? sub_805576C(???);
// ??? SomeImageStoringRoutine_SpellAnim(???);
// ??? SomePaletteStoringRoutine_SpellAnim(???);
// ??? SomeImageStoringRoutine_SpellAnim2(???);
// ??? SomePaletteStoringRoutine_SpellAnim2(???);
// ??? sub_8055860(???);
// ??? sub_805588C(???);
// ??? sub_80558BC(???);
// ??? sub_80558F4(???);
// ??? sub_8055980(???);
// ??? GetAnimationStartFrameMaybe(???);
// ??? sub_80559B0(???);
// ??? sub_80559D0(???);
// ??? sub_80559F0(???);
// ??? sub_8055A28(???);
// ??? sub_8055A34(???);
// ??? sub_8055A40(???);
// ??? sub_8055A64(???);
// ??? sub_8055B38(???);
// ??? sub_8055BB4(???);
s8 sub_8055BC4(void);
void BeginAnimsOnBattleAnimations(void);
void sub_8055C38(void);
// ??? MainUpdate_8055C68(???);
// ??? NewEkrBattleStarting(???);
// ??? ekrBattleStarting_8055CF0(???);
// ??? ekrBattleStarting_8055DF4(???);
// ??? ekrBattleStarting_8055F00(???);
// ??? ekrBattleStarting_8055FA0(???);
// ??? ekrBattleStarting_8055FE8(???);
// ??? ekrBattleStarting_8056024(???);
// ??? ekrBattleStarting_8056078(???);
// ??? sub_80560D8(???);
// ??? ekrBattleEnding_80560F0(???);
// ??? ekrBattleEnding_8056170(???);
// ??? ekrBattleEnding_80561C8(???);
// ??? ekrBattleEnding_8056228(???);
// ??? ekrBattleEnding_8056288(???);
// ??? ekrBattleEnding_8056310(???);
// ??? ekrBattleEnding_8056390(???);
// ??? ekrBattleEnding_8056484(???);
// ??? sub_805649C(???);
// ??? sub_8056864(???);
// ??? sub_8056900(???);
// ??? sub_8056974(???);
// ??? sub_8056B70(???);
// ??? sub_8056D18(???);
void NewEkrWindowAppear(int, int);
bool DoesEkrWindowAppearExist(void);
// ??? sub_8056D90(???);
void NewEkrNamewinAppear(int, int, int);
// ??? sub_8056E60(???);
// ??? sub_8056E7C(???);
// ??? sub_8056EA4(???);
// ??? sub_8056F20(???);
// ??? sub_8056F68(???);
// ??? sub_8056F84(???);
// ??? PrepareBattleGraphicsMaybe(???);
// ??? sub_8057CAC(???);
// ??? sub_8057DA8(???);
// ??? sub_8057ED0(???);
// ??? GetSpellAnimId(???);
// ??? sub_80581A0(???);
// ??? sub_80581EC(???);
// ??? GetBattleAnimationId(???);
// ??? sub_8058918(???);
// ??? sub_805893C(???);
// ??? SomethingFilterBattleAnimId(???);
// ??? GetAllegienceId(???);
// ??? sub_80589E0(???);
// ??? GetSomeAISRelatedIndexMaybeByID(???);
// ??? sub_8058A34(???);
// ??? sub_8058A60(???);
// ??? sub_8058A70(???);
// ??? IsItemDisplayedInBattle(???);
// ??? sub_8058AC8(???);
// ??? sub_8058B08(???);
// ??? sub_8058B24(???);
// ??? sub_8058B64(???);
// ??? sub_8058B70(???);
// ??? sub_8058B7C(???);
// ??? sub_8058B98(???);
// ??? sub_8058BA8(???);
// ??? sub_8058BB8(???);
void BattleAIS_ExecCommands(void);
// ??? sub_8058BD4(???);
// ??? sub_80596E0(???);
// ??? sub_80598CC(???);
// ??? NewEkrChienCHR(???);
// ??? sub_8059924(???);
// ??? RegisterAISSheetGraphics(???);
// ??? sub_8059970(???);
// ??? sub_805999C(???);
// ??? sub_80599E8(???);
void sub_8059D28(void);
// ??? sub_8059DB8(???);
// ??? sub_8059E18(???);
// ??? sub_8059F5C(???);
// ??? sub_805A07C(???);
// ??? sub_805A154(???);
int GetAISSubjectId(struct Anim *anim);
// ??? GetSomeBoolean(???);
// ??? sub_805A1D0(???);
// ??? sub_805A21C(???);
// ??? sub_805A268(???);
struct Anim *GetCoreAIStruct(struct Anim *anim);
// ??? sub_805A2D0(???);
// ??? sub_805A2F0(???);
// ??? GetSomeAISRelatedIndexMaybe(???);
// ??? sub_805A334(???);
// ??? sub_805A358(???);
// ??? sub_805A394(???);
// ??? sub_805A3DC(???);
// ??? sub_805A580(???);
// ??? sub_805A5A8(???);
// ??? sub_805A60C(???);
// ??? sub_805A7B4(???);
// ??? sub_805A930(???);
void sub_805A940(void*, u16, u16);
// ??? sub_805A95C(???);
// ??? sub_805A96C(???);
// ??? sub_805A990(???);
// ??? sub_805A9A4(???);
void NewEfxAnimeDrvProc(void);
void sub_805A9E0(void);
// ??? ExecAllAIS(???);
// ??? sub_805AA00(???);
// ??? sub_805AA4C(???);
// ??? sub_805AA68(???);
// ??? sub_805AE40(???);
// ??? sub_805AE58(???);
// ??? sub_805AFA0(???);
// ??? SetBattleAnimArenaFlag(???);
int sub_805B028(void);
// ??? sub_805B034(???);
// ??? sub_805B07C(???);
// ??? sub_805B094(???);
// ??? BeginAnimsOnBattle_Arena(???);
// ??? sub_805B0CC(???);
// ??? NewEkrTogiInitPROC(???);
// ??? sub_805B104(???);
// ??? sub_805B18C(???);
// ??? sub_805B200(???);
// ??? sub_805B264(???);
// ??? NewEkrTogiEndPROC(???);
// ??? sub_805B290(???);
// ??? sub_805B2BC(???);
// ??? sub_805B320(???);
// ??? NewEkrTogiColor(???);
// ??? EndEkrTogiColor(???);
// ??? sub_805B394(???);
// ??? StartSpellAnimation(???);
// ??? sub_805B3FC(???);
// ??? sub_805B400(???);
// ??? sub_805B444(???);
// ??? sub_805B454(???);
// ??? sub_805B4E8(???);
// ??? sub_805B534(???);
// ??? sub_805B554(???);
// ??? sub_805B584(???);
// ??? sub_805B594(???);
// ??? sub_805B5E0(???);
// ??? sub_805B670(???);
// ??? sub_805B724(???);
// ??? sub_805B750(???);
// ??? sub_805B77C(???);
// ??? sub_805B7BC(???);
// ??? sub_805B7FC(???);
// ??? sub_805B828(???);
// ??? sub_805B93C(???);
// ??? sub_805B94C(???);
// ??? sub_805B958(???);
// ??? sub_805BA1C(???);
// ??? sub_805BA64(???);
// ??? sub_805BB24(???);
// ??? sub_805BB84(???);
// ??? StartSpellThing_MagicQuake(???);
// ??? Loop6C_efxMagicQUAKE(???);
// ??? StartSpellAnimDummy(???);
// ??? Loop6C_efxDummymagic(???);
// ??? StartSpellAnimHandAxe(???);
// ??? sub_805BF40(???);
// ??? sub_805BFDC(???);
// ??? sub_805C080(???);
// ??? sub_805C0DC(???);
// ??? sub_805C104(???);
// ??? sub_805C188(???);
// ??? sub_805C1C8(???);
// ??? sub_805C20C(???);
// ??? sub_805C21C(???);
// ??? StartSpellAnimArrow(???);
// ??? sub_805C29C(???);
// ??? sub_805C358(???);
// ??? sub_805C3C0(???);
// ??? StartSpellAnimJavelin(???);
// ??? sub_805C44C(???);
// ??? sub_805C4A8(???);
// ??? sub_805C504(???);
// ??? sub_805C560(???);
// ??? sub_805C5BC(???);
// ??? sub_805C618(???);
// ??? sub_805C674(???);
// ??? sub_805C6D0(???);
// ??? sub_805C72C(???);
// ??? sub_805C788(???);
// ??? sub_805C7E4(???);
// ??? sub_805C88C(???);
// ??? sub_805C904(???);
// ??? StartSpellAnimSong(???);
// ??? sub_805C96C(???);
// ??? sub_805CA64(???);
// ??? sub_805CAC4(???);
// ??? sub_805CB40(???);
// ??? sub_805CBA8(???);
// ??? StartSpellAnimDance(???);
// ??? sub_805CC14(???);
// ??? sub_805CD0C(???);
// ??? sub_805CD5C(???);
// ??? sub_805CE1C(???);
// ??? sub_805CE94(???);
// ??? nullsub_42(???);
// ??? sub_805CEC8(???);
// ??? sub_805CF04(???);
// ??? sub_805CFC0(???);
// ??? sub_805D030(???);
// ??? StartSpellAnimFireBreath(???);
// ??? sub_805D09C(???);
// ??? sub_805D14C(???);
// ??? sub_805D1FC(???);
// ??? sub_805D260(???);
// ??? sub_805D2B4(???);
// ??? sub_805D2EC(???);
// ??? sub_805D328(???);
// ??? StartSpellAnimIceBreath(???);
// ??? sub_805D3C4(???);
// ??? sub_805D444(???);
// ??? sub_805D4B8(???);
// ??? StartSpellAnimDarkBreath(???);
// ??? Loop6C_efxDarkbreath(???);
// ??? sub_805D59C(???);
// ??? sub_805D5EC(???);
// ??? sub_805D644(???);
// ??? sub_805D680(???);
// ??? sub_805D6CC(???);
// ??? sub_805D774(???);
// ??? StartSpellAnimThunder(???);
// ??? Loop6C_efxThunder(???);
// ??? sub_805D8B4(???);
// ??? sub_805D938(???);
// ??? sub_805D9BC(???);
// ??? sub_805D9F8(???);
// ??? sub_805DA44(???);
// ??? sub_805DAA4(???);
// ??? StartSpellAnimFire(???);
// ??? StartSpellAnimElfire(???);
// ??? Loop6C_efxFire(???);
// ??? sub_805DC64(???);
// ??? Loop6C_efxFireBG(???);
// ??? sub_805DD1C(???);
// ??? sub_805DDA8(???);
// ??? StartSubSpell_efxFireHITBG(???);
// ??? sub_805DE74(???);
// ??? StartSubSpell_efxElfireBG(???);
// ??? sub_805DF70(???);
// ??? StartSubSpell_efxElfireBGCOL(???);
// ??? sub_805DFE8(???);
// ??? StartSubSpell_efxElfireOBJ(???);
// ??? sub_805E0B4(???);
// ??? StartSpellAnimFimbulvetr(???);

View File

@ -4,6 +4,7 @@
#include "proc.h"
#include "bmunit.h"
#include "bmbattle.h"
#include "anime.h"
struct ProcEkrLevelup {
PROC_HEADER;
@ -18,8 +19,8 @@ struct ProcEkrLevelup {
/* 4C */ int unk_4C;
/* 50 */ int unk_50;
/* 54 */ u8 _pad_54[0x5C - 0x54];
/* 5C */ void *ais_main;
/* 60 */ void *ais_struct;
/* 5C */ struct Anim *ais_main;
/* 60 */ struct Anim *ais_core;
};
enum ekr_lvup_status_index {
@ -70,7 +71,7 @@ void EkrLvup_InitStatusText(struct ProcEkrLevelup *proc);
void EkrLvup_DrawUpdatedStatus(struct ProcEkrLevelup *proc, int index);
void EkrLvup_DrawUnitName(void);
void EkrLvup_DrawPreLevelValue(void);
void NewEkrLevelup(void *ais);
void NewEkrLevelup(struct Anim *ais);
void EkrLvup_OnPrepare(struct ProcEkrLevelup *proc);
void EkrLvup_InitScreen(struct ProcEkrLevelup *proc);
void EkrLvup_InitLevelUpBox(struct ProcEkrLevelup *proc);

View File

@ -1308,486 +1308,6 @@ void sub_8048850(ProcPtr);
// ??? sub_804DF38(???);
// ??? sub_804E024(???);
// ??? sub_804E03C(???);
void sub_804FD48(int unk);
// ??? sub_804FD54(???);
// ??? NewEkrBattleDeamon(???);
// ??? EndEkrBattleDeamon(???);
int IsBattleDeamonActive(void); // battle?
// ??? ekrBattleDeamon_Destructor(???);
// ??? nullsub_35(???);
// ??? NewEkrBattle(???);
// ??? InBattleMainRoutine(???);
// ??? MainUpdate_804FEE4(???);
// ??? nullsub_36(???);
// ??? ekrBattle_Init(???);
// ??? ekrBattle_8050000(???);
// ??? ekrBattle_8050054(???);
// ??? ekrBattle_80500F0(???);
// ??? ekrBattle_8050134(???);
// ??? ekrBattle_8050158(???);
// ??? ekrBattle_8050174(???);
// ??? ekrBattle_8050224(???);
// ??? ekrBattle_8050244(???);
// ??? ekrBattle_8050290(???);
// ??? ekrBattle_80502B0(???);
// ??? ekrBattle_8050304(???);
// ??? ekrBattle_8050338(???);
// ??? ekrBattle_8050360(???);
// ??? ekrBattle_80503EC(???);
// ??? ekrBattle_8050400(???);
// ??? ekrBattle_8050440(???);
// ??? ekrBattle_805046C(???);
// ??? ekrBattle_80505EC(???);
// ??? ekrBattle_8050600(???);
// ??? ekrBattle_8050684(???);
// ??? ekrBattle_80506C8(???);
// ??? ekrBattle_80508F0(???);
// ??? ekrBattle_8050940(???);
// ??? ekrBattle_80509A8(???);
// ??? ekrBattle_8050A84(???);
// ??? ekrBattle_8050AB8(???);
// ??? ekrBattle_8050B08(???);
// ??? ekrBattle_CheckForLevelup_8050C34(???);
// ??? ekrBattle_WaitForLevelup_8050C6C(???);
// ??? ekrBattle_MakePopups(???);
// ??? ekrBattle_WaitForPopup(???);
// ??? ekrBattle_8050CCC(???);
// ??? ekrBattle_8050CF8(???);
// ??? ekrBattle_8050D88(???);
// ??? ekrBattle_8050DA8(???);
// ??? nullsub_69(???);
// ??? NewEkrLvlupFan(???);
// ??? sub_8050E00(???);
// ??? sub_8050E40(???);
// ??? sub_8050E90(???);
// ??? NewEkrGauge(???);
// ??? EndEkrGauge(???);
// ??? EkrGauge_8051180(???);
// ??? EkrGauge_8051190(???);
// ??? EkrGauge_80511A0(???);
// ??? EkrGauge_80511B0(???);
// ??? EkrGauge_80511C0(???);
// ??? EkrGauge_80511D0(???);
// ??? EkrGauge_80511E4(???);
// ??? EkrGauge_80511F8(???);
// ??? EkrGauge_8051208(???);
// ??? EkrGauge_8051218(???);
// ??? EkrGauge_8051228(???);
// ??? sub_8051238(???);
// ??? ekrGauge_Loop(???);
// ??? NewEkrDispUP(???);
// ??? sub_8051AF4(???);
// ??? sub_8051B08(???);
// ??? sub_8051B18(???);
// ??? sub_8051B28(???);
// ??? sub_8051B38(???);
// ??? EkrDispUP_8051B48(???);
// ??? sub_8051B5C(???);
// ??? sub_8051B70(???);
// ??? sub_8051B80(???);
// ??? sub_8051B90(???);
// ??? sub_8051BA0(???);
// ??? ekrDispUP_Loop(???);
// ??? sub_8051CC4(???);
// ??? sub_8051E00(???);
// ??? sub_8051F1C(???);
// ??? sub_8052184(???);
// ??? sub_8052214(???);
// ??? sub_8052220(???);
// ??? sub_80522CC(???);
// ??? sub_80522F4(???);
// ??? sub_8052304(???);
// ??? sub_80523EC(???);
// ??? sub_8052504(???);
// ??? sub_80525A4(???);
// ??? sub_80525E8(???);
// ??? sub_80526C8(???);
// ??? sub_8052788(???);
// ??? sub_805282C(???);
// ??? sub_8052978(???);
// ??? sub_80529F0(???);
// ??? sub_8052A0C(???);
// ??? sub_8052AE4(???);
// ??? sub_8052B98(???);
// ??? sub_8052C24(???);
// ??? sub_8052C7C(???);
// ??? sub_8052CA0(???);
// ??? sub_8052D8C(???);
// ??? sub_8052DB8(???);
// ??? sub_8052DD4(???);
// ??? sub_8052DFC(???);
// ??? sub_8052E7C(???);
// ??? sub_8052EAC(???);
// ??? sub_8052F24(???);
// ??? sub_8052F84(???);
// ??? sub_8052FAC(???);
// ??? sub_8052FEC(???);
// ??? sub_8053080(???);
// ??? sub_8053120(???);
// ??? sub_8053144(???);
// ??? sub_80531A4(???);
// ??? sub_805320C(???);
// ??? sub_805328C(???);
// ??? sub_8053368(???);
// ??? sub_80533D0(???);
// ??? sub_80534AC(???);
// ??? sub_80534E4(???);
// ??? sub_8053514(???);
// ??? sub_8053584(???);
// ??? sub_8053618(???);
// ??? sub_8053678(???);
// ??? sub_80536B8(???);
// ??? sub_8053718(???);
// ??? nullsub_56(???);
// ??? sub_8053730(???);
// ??? sub_805382C(???);
// ??? sub_80539DC(???);
// ??? sub_8053BBC(???);
// ??? StartSpellBG_FLASH(???);
// ??? sub_8053F4C(???);
// ??? sub_8053F8C(???);
// ??? sub_8053FC4(???);
// ??? sub_8053FE4(???);
// ??? sub_805401C(???);
// ??? sub_8054030(???);
// ??? sub_8054054(???);
// ??? sub_80540B0(???);
// ??? sub_8054120(???);
// ??? sub_8054134(???);
// ??? sub_8054158(???);
// ??? sub_80541B4(???);
// ??? sub_8054224(???);
// ??? sub_8054238(???);
// ??? sub_805425C(???);
// ??? sub_80542B8(???);
// ??? sub_8054328(???);
// ??? sub_805433C(???);
// ??? sub_8054360(???);
// ??? sub_80543BC(???);
// ??? sub_805442C(???);
// ??? sub_8054440(???);
// ??? sub_8054478(???);
// ??? sub_8054498(???);
// ??? sub_805452C(???);
// ??? sub_80545C0(???);
// ??? sub_80546B0(???);
// ??? sub_80546C4(???);
// ??? sub_80546D4(???);
// ??? sub_80546E4(???);
// ??? sub_80547DC(???);
// ??? sub_8054818(???);
// ??? sub_8054888(???);
// ??? sub_80548E0(???);
// ??? sub_8054930(???);
// ??? sub_80549BC(???);
// ??? NewEfxStatusUnit(???);
// ??? sub_8054B18(???);
// ??? DeleteEach6C_efxStatusUnit(???);
// ??? sub_8054B64(???);
// ??? sub_8054B84(???);
// ??? sub_8054BA4(???);
// ??? sub_8054BD4(???);
// ??? sub_8054BF0(???);
// ??? sub_8054C94(???);
// ??? sub_8054E4C(???);
// ??? sub_8054E8C(???);
// ??? sub_8054ED4(???);
// ??? sub_8054EF0(???);
// ??? sub_8054F00(???);
// ??? sub_8054F10(???);
// ??? sub_8054F78(???);
void NewEfxSpellCast(void);
void sub_8055000(void);
// ??? sub_805501C(???);
// ??? sub_8055038(???);
// ??? sub_805509C(???);
// ??? sub_80550DC(???);
// ??? sub_805515C(???);
// ??? SetSomethingSpellFxToTrue(???);
// ??? SetSomethingSpellFxToFalse(???);
// ??? ClearBG1Setup(???);
// ??? ClearBG1(???);
// ??? sub_80551B0(???);
// ??? sub_805526C(???);
// ??? ThisMakesTheHPInSpellAnimGoAway(???);
// ??? sub_8055288(???);
// ??? sub_8055298(???);
// ??? sub_8055424(???);
// ??? sub_8055518(???);
// ??? sub_8055554(???);
// ??? sub_80555B0(???);
// ??? sub_805560C(???);
// ??? sub_8055670(???);
// ??? sub_80556F0(???);
// ??? sub_805576C(???);
// ??? SomeImageStoringRoutine_SpellAnim(???);
// ??? SomePaletteStoringRoutine_SpellAnim(???);
// ??? SomeImageStoringRoutine_SpellAnim2(???);
// ??? SomePaletteStoringRoutine_SpellAnim2(???);
// ??? sub_8055860(???);
// ??? sub_805588C(???);
// ??? sub_80558BC(???);
// ??? sub_80558F4(???);
// ??? sub_8055980(???);
// ??? GetAnimationStartFrameMaybe(???);
// ??? sub_80559B0(???);
// ??? sub_80559D0(???);
// ??? sub_80559F0(???);
// ??? sub_8055A28(???);
// ??? sub_8055A34(???);
// ??? sub_8055A40(???);
// ??? sub_8055A64(???);
// ??? sub_8055B38(???);
// ??? sub_8055BB4(???);
s8 sub_8055BC4(void);
void BeginAnimsOnBattleAnimations(void);
// ??? sub_8055C38(???);
// ??? MainUpdate_8055C68(???);
// ??? NewEkrBattleStarting(???);
// ??? ekrBattleStarting_8055CF0(???);
// ??? ekrBattleStarting_8055DF4(???);
// ??? ekrBattleStarting_8055F00(???);
// ??? ekrBattleStarting_8055FA0(???);
// ??? ekrBattleStarting_8055FE8(???);
// ??? ekrBattleStarting_8056024(???);
// ??? ekrBattleStarting_8056078(???);
// ??? sub_80560D8(???);
// ??? ekrBattleEnding_80560F0(???);
// ??? ekrBattleEnding_8056170(???);
// ??? ekrBattleEnding_80561C8(???);
// ??? ekrBattleEnding_8056228(???);
// ??? ekrBattleEnding_8056288(???);
// ??? ekrBattleEnding_8056310(???);
// ??? ekrBattleEnding_8056390(???);
// ??? ekrBattleEnding_8056484(???);
// ??? sub_805649C(???);
// ??? sub_8056864(???);
// ??? sub_8056900(???);
// ??? sub_8056974(???);
// ??? sub_8056B70(???);
// ??? sub_8056D18(???);
// ??? NewEkrWindowAppear(???);
// ??? sub_8056D74(???);
// ??? sub_8056D90(???);
// ??? NewEkrNamewinAppear(???);
// ??? sub_8056E60(???);
// ??? sub_8056E7C(???);
// ??? sub_8056EA4(???);
// ??? sub_8056F20(???);
// ??? sub_8056F68(???);
// ??? sub_8056F84(???);
// ??? PrepareBattleGraphicsMaybe(???);
// ??? sub_8057CAC(???);
// ??? sub_8057DA8(???);
// ??? sub_8057ED0(???);
// ??? GetSpellAnimId(???);
// ??? sub_80581A0(???);
// ??? sub_80581EC(???);
// ??? GetBattleAnimationId(???);
// ??? sub_8058918(???);
// ??? sub_805893C(???);
// ??? SomethingFilterBattleAnimId(???);
// ??? GetAllegienceId(???);
// ??? sub_80589E0(???);
// ??? GetSomeAISRelatedIndexMaybeByID(???);
// ??? sub_8058A34(???);
// ??? sub_8058A60(???);
// ??? sub_8058A70(???);
// ??? IsItemDisplayedInBattle(???);
// ??? sub_8058AC8(???);
// ??? sub_8058B08(???);
// ??? sub_8058B24(???);
// ??? sub_8058B64(???);
// ??? sub_8058B70(???);
// ??? sub_8058B7C(???);
// ??? sub_8058B98(???);
// ??? sub_8058BA8(???);
// ??? sub_8058BB8(???);
// ??? BattleAIS_ExecCommands(???);
// ??? sub_8058BD4(???);
// ??? sub_80596E0(???);
// ??? sub_80598CC(???);
// ??? NewEkrChienCHR(???);
// ??? sub_8059924(???);
// ??? RegisterAISSheetGraphics(???);
// ??? sub_8059970(???);
// ??? sub_805999C(???);
// ??? sub_80599E8(???);
// ??? sub_8059D28(???);
// ??? sub_8059DB8(???);
// ??? sub_8059E18(???);
// ??? sub_8059F5C(???);
// ??? sub_805A07C(???);
// ??? sub_805A154(???);
// ??? GetAISSubjectId(???);
// ??? GetSomeBoolean(???);
// ??? sub_805A1D0(???);
// ??? sub_805A21C(???);
// ??? sub_805A268(???);
void *GetCoreAIStruct(void *ais);
// ??? sub_805A2D0(???);
// ??? sub_805A2F0(???);
// ??? GetSomeAISRelatedIndexMaybe(???);
// ??? sub_805A334(???);
// ??? sub_805A358(???);
// ??? sub_805A394(???);
// ??? sub_805A3DC(???);
// ??? sub_805A580(???);
// ??? sub_805A5A8(???);
// ??? sub_805A60C(???);
// ??? sub_805A7B4(???);
// ??? sub_805A930(???);
void sub_805A940(void*, u16, u16);
// ??? sub_805A95C(???);
// ??? sub_805A96C(???);
// ??? sub_805A990(???);
// ??? sub_805A9A4(???);
void NewEfxAnimeDrvProc(void);
void sub_805A9E0(void);
// ??? ExecAllAIS(???);
// ??? sub_805AA00(???);
// ??? sub_805AA4C(???);
// ??? sub_805AA68(???);
// ??? sub_805AE40(???);
// ??? sub_805AE58(???);
// ??? sub_805AFA0(???);
// ??? SetBattleAnimArenaFlag(???);
// ??? sub_805B028(???);
// ??? sub_805B034(???);
// ??? sub_805B07C(???);
// ??? sub_805B094(???);
// ??? BeginAnimsOnBattle_Arena(???);
// ??? sub_805B0CC(???);
// ??? NewEkrTogiInitPROC(???);
// ??? sub_805B104(???);
// ??? sub_805B18C(???);
// ??? sub_805B200(???);
// ??? sub_805B264(???);
// ??? NewEkrTogiEndPROC(???);
// ??? sub_805B290(???);
// ??? sub_805B2BC(???);
// ??? sub_805B320(???);
// ??? NewEkrTogiColor(???);
// ??? EndEkrTogiColor(???);
// ??? sub_805B394(???);
// ??? StartSpellAnimation(???);
// ??? sub_805B3FC(???);
// ??? sub_805B400(???);
// ??? sub_805B444(???);
// ??? sub_805B454(???);
// ??? sub_805B4E8(???);
// ??? sub_805B534(???);
// ??? sub_805B554(???);
// ??? sub_805B584(???);
// ??? sub_805B594(???);
// ??? sub_805B5E0(???);
// ??? sub_805B670(???);
// ??? sub_805B724(???);
// ??? sub_805B750(???);
// ??? sub_805B77C(???);
// ??? sub_805B7BC(???);
// ??? sub_805B7FC(???);
// ??? sub_805B828(???);
// ??? sub_805B93C(???);
// ??? sub_805B94C(???);
// ??? sub_805B958(???);
// ??? sub_805BA1C(???);
// ??? sub_805BA64(???);
// ??? sub_805BB24(???);
// ??? sub_805BB84(???);
// ??? StartSpellThing_MagicQuake(???);
// ??? Loop6C_efxMagicQUAKE(???);
// ??? StartSpellAnimDummy(???);
// ??? Loop6C_efxDummymagic(???);
// ??? StartSpellAnimHandAxe(???);
// ??? sub_805BF40(???);
// ??? sub_805BFDC(???);
// ??? sub_805C080(???);
// ??? sub_805C0DC(???);
// ??? sub_805C104(???);
// ??? sub_805C188(???);
// ??? sub_805C1C8(???);
// ??? sub_805C20C(???);
// ??? sub_805C21C(???);
// ??? StartSpellAnimArrow(???);
// ??? sub_805C29C(???);
// ??? sub_805C358(???);
// ??? sub_805C3C0(???);
// ??? StartSpellAnimJavelin(???);
// ??? sub_805C44C(???);
// ??? sub_805C4A8(???);
// ??? sub_805C504(???);
// ??? sub_805C560(???);
// ??? sub_805C5BC(???);
// ??? sub_805C618(???);
// ??? sub_805C674(???);
// ??? sub_805C6D0(???);
// ??? sub_805C72C(???);
// ??? sub_805C788(???);
// ??? sub_805C7E4(???);
// ??? sub_805C88C(???);
// ??? sub_805C904(???);
// ??? StartSpellAnimSong(???);
// ??? sub_805C96C(???);
// ??? sub_805CA64(???);
// ??? sub_805CAC4(???);
// ??? sub_805CB40(???);
// ??? sub_805CBA8(???);
// ??? StartSpellAnimDance(???);
// ??? sub_805CC14(???);
// ??? sub_805CD0C(???);
// ??? sub_805CD5C(???);
// ??? sub_805CE1C(???);
// ??? sub_805CE94(???);
// ??? nullsub_42(???);
// ??? sub_805CEC8(???);
// ??? sub_805CF04(???);
// ??? sub_805CFC0(???);
// ??? sub_805D030(???);
// ??? StartSpellAnimFireBreath(???);
// ??? sub_805D09C(???);
// ??? sub_805D14C(???);
// ??? sub_805D1FC(???);
// ??? sub_805D260(???);
// ??? sub_805D2B4(???);
// ??? sub_805D2EC(???);
// ??? sub_805D328(???);
// ??? StartSpellAnimIceBreath(???);
// ??? sub_805D3C4(???);
// ??? sub_805D444(???);
// ??? sub_805D4B8(???);
// ??? StartSpellAnimDarkBreath(???);
// ??? Loop6C_efxDarkbreath(???);
// ??? sub_805D59C(???);
// ??? sub_805D5EC(???);
// ??? sub_805D644(???);
// ??? sub_805D680(???);
// ??? sub_805D6CC(???);
// ??? sub_805D774(???);
// ??? StartSpellAnimThunder(???);
// ??? Loop6C_efxThunder(???);
// ??? sub_805D8B4(???);
// ??? sub_805D938(???);
// ??? sub_805D9BC(???);
// ??? sub_805D9F8(???);
// ??? sub_805DA44(???);
// ??? sub_805DAA4(???);
// ??? StartSpellAnimFire(???);
// ??? StartSpellAnimElfire(???);
// ??? Loop6C_efxFire(???);
// ??? sub_805DC64(???);
// ??? Loop6C_efxFireBG(???);
// ??? sub_805DD1C(???);
// ??? sub_805DDA8(???);
// ??? StartSubSpell_efxFireHITBG(???);
// ??? sub_805DE74(???);
// ??? StartSubSpell_efxElfireBG(???);
// ??? sub_805DF70(???);
// ??? StartSubSpell_efxElfireBGCOL(???);
// ??? sub_805DFE8(???);
// ??? StartSubSpell_efxElfireOBJ(???);
// ??? sub_805E0B4(???);
// ??? StartSpellAnimFimbulvetr(???);
// ??? sub_805E120(???);
// ??? sub_805E230(???);
// ??? sub_805E2B4(???);
@ -2457,10 +1977,10 @@ void sub_806E920(void);
// ??? sub_806F968(???);
// ??? sub_806F9D8(???);
// ??? sub_806F9FC(???);
// ??? sub_806FA28(???);
u32 sub_806FA28(void);
// ??? sub_806FA48(???);
// ??? sub_806FA54(???);
// ??? sub_806FA6C(???);
u32 sub_806FA6C(void);
// ??? sub_806FA78(???);
// ??? sub_806FA84(???);
// ??? sub_806FA98(???);
@ -2482,13 +2002,13 @@ void sub_806E920(void);
// ??? sub_806FF48(???);
// ??? sub_80700CC(???);
// ??? sub_80701A0(???);
// ??? sub_80701B8(???);
void sub_80701B8(struct Anim *anim);
// ??? sub_80701E8(???);
// ??? sub_80701F4(???);
// ??? sub_8070204(???);
// ??? sub_8070214(???);
// ??? sub_8070234(???);
// ??? sub_8070254(???);
void sub_8070254(void);
// ??? sub_807027C(???);
// ??? sub_80702D0(???);
// ??? sub_80702FC(???);
@ -2507,14 +2027,14 @@ void sub_806E920(void);
// ??? sub_80707FC(???);
// ??? sub_8070874(???);
// ??? sub_80708A0(???);
// ??? sub_80708CC(???);
void sub_80708CC(struct Anim *anim);
// ??? sub_80708FC(???);
// ??? sub_807096C(???);
// ??? sub_80709CC(???);
// ??? sub_80709EC(???);
// ??? sub_8070A14(???);
// ??? sub_8070AE4(???);
// ??? sub_8070B3C(???);
void sub_8070B3C(void);
// ??? sub_8070D04(???);
// ??? FillBGRect(???);
// ??? sub_8070DBC(???);
@ -2546,7 +2066,7 @@ void sub_807132C(void* ptr, int, int, int);
// ??? sub_8071A44(???);
// ??? sub_8071A54(???);
// ??? StopBGM1(???);
// ??? sub_8071A8C(???);
void sub_8071A8C(void);
// ??? sub_8071A98(???);
// ??? sub_8071AA4(???);
// ??? sub_8071AB0(???);
@ -2559,7 +2079,7 @@ void sub_807132C(void* ptr, int, int, int);
// ??? sub_8072504(???);
// ??? sub_8072548(???);
// ??? sub_8072570(???);
// ??? sub_80726AC(???);
void sub_80726AC(void);
// ??? sub_807289C(???);
// ??? sub_80728D0(???);
// ??? sub_807290C(???);
@ -2683,7 +2203,7 @@ void sub_8074A60(void *ais_main);
// ??? sub_8076484(???);
// ??? sub_80764B0(???);
// ??? sub_8076514(???);
// ??? sub_8076540(???);
void sub_8076540(struct Anim *anim);
// ??? sub_8076598(???);
// ??? sub_807659C(???);
// ??? sub_80765CC(???);
@ -3183,7 +2703,7 @@ s8 sub_80832D4(void);
// ??? sub_8083400(???);
// ??? sub_8083424(???);
// ??? sub_8083468(???);
// ??? ShouldCallBattleQuote(???);
bool ShouldCallBattleQuote(u8 charA, u8 charB);
void CallBattleQuoteEventsIfAny(int charA, int charB);
// ??? sub_8083570(???);
u8 sub_80835A8(u8 pid);

View File

@ -26,6 +26,7 @@ struct MAExpBarProc;
struct ProcAtMenu;
struct PrepUnitList;
struct TextHandle;
struct Anim;
// Type definitions for types without any other home :/

View File

@ -7,23 +7,6 @@
#include "proc.h"
// extern ??? gUnknown_02000000
// extern ??? gAnims
// extern ??? gUnknown_02000018
// extern ??? gUnknown_0200001C
// extern ??? gUnknown_02000020
// extern ??? gUnknown_02000024
// extern ??? gUnknown_02000028
// extern ??? gUnknown_0200002C
// extern ??? gUnknown_02000030
// extern ??? gUnknown_02000034
// extern ??? gUnknown_02000038
// extern ??? gUnknown_0200003C
// extern ??? gUnknown_02000044
// extern ??? gUnknown_0200004C
// extern ??? gUnknown_02000054
// extern ??? gUnknown_0200005C
// extern ??? gUnknown_02000060
// extern ??? gpProcEkrBattle
// extern ??? gUnknown_02000068
// extern ??? gUnknown_0200006C
// extern ??? gUnknown_02000088
@ -170,7 +153,7 @@ extern struct PrepUnitList gPrepUnitList;
// extern ??? gUnknown_02017448
// extern ??? gUnknown_020176F0
// extern ??? gUnknown_02017700
// extern ??? gUnknown_02017724
extern u32 gUnknown_02017724;
// extern ??? gUnknown_02017728
// extern ??? gUnknown_0201772C
// extern ??? gUnknown_02017730
@ -178,7 +161,7 @@ extern struct PrepUnitList gPrepUnitList;
// extern ??? gUnknown_02017738
// extern ??? gUnknown_0201773C
// extern ??? gUnknown_02017740
// extern ??? gUnknown_02017744
extern u32 gUnknown_02017744;
// extern ??? gUnknown_02017748
// extern ??? gUnknown_0201774C
// extern ??? gUnknown_02017750
@ -246,13 +229,13 @@ extern u16 gUnknown_0201CDD4[]; // used as a palette buffer in opsubtitle
// extern ??? gUnknown_0201FA38
// extern ??? gUnknown_0201FA68
// extern ??? gUnknown_0201FAC8
// extern ??? gUnknown_0201FACC
// extern ??? gEkrWindowAppearExist
// extern ??? gUnknown_0201FAD0
// extern ??? gUnknown_0201FAD4
// extern ??? gUnknown_0201FAD8
// extern ??? gUnknown_0201FB04
// extern ??? gUnknown_0201FB0C
extern u32 gUnknown_0201FB04[];
extern u32 gUnknown_0201FB0C;
// extern ??? gUnknown_0201FB18
// extern ??? gUnknown_0201FB1C
// extern ??? gUnknown_0201FB24
@ -524,26 +507,10 @@ extern struct ActionData gActionData;
// extern ??? gUnknown_0203DD9F
// extern ??? gUnknown_0203DDB4
// extern ??? gUnknown_0203DDDC
// extern ??? gUnknown_0203E0F0
// extern ??? gBattleDeamonActive
// extern ??? gpProcEkrBattleDeamon
// extern ??? gUnknown_0203E0FC
// extern ??? gUnknown_0203E0FE
// extern ??? gUnknown_0203E100
// extern ??? gUnknown_0203E102
// extern ??? gUnknown_0203E104
// extern ??? gUnknown_0203E108
// extern ??? gUnknown_0203E114
// extern ??? gUnknown_0203E118
// extern ??? gUnknown_0203E11A
// extern ??? gUnknown_0203E11C
extern EWRAM_DATA s16 gUnknown_0203E120;
// extern ??? gUnknown_0203E122
// extern ??? gAnimRoundData
// extern ??? gUnknown_0203E152
// extern ??? gUnknown_0203E156
// extern ??? gUnknown_0203E182
// extern ??? gUnknown_0203E190
extern u8 gEkrBuIndexes[2];
// extern ??? gUnknown_0203E194
// extern ??? gUnknown_0203E19C
// extern ??? gUnknown_0203E1A4
@ -1573,80 +1540,6 @@ extern const u8 gUnkUiFrameImage[];
extern const u16 gUnkUiFramePalettes[];
// extern ??? gUnknown_085B92C4
// extern ??? gUnknown_085B9354
// extern ??? gProc_ekrBattleDeamon
// extern ??? gProc_ekrBattle
// extern ??? gProc_ekrLvupFan
// extern ??? gProc_ekrGauge
// extern ??? gUnknown_085B93D0
// extern ??? gUnknown_085B940C
// extern ??? gUnknown_085B9424
// extern ??? gUnknown_085B949C
// extern ??? gUnknown_085B94F0
// extern ??? gUnknown_085B9544
// extern ??? gUnknown_085B955C
// extern ??? gUnknown_085B9574
// extern ??? gUnknown_085B958C
// extern ??? gUnknown_085B95A4
// extern ??? gUnknown_085B95BC
// extern ??? gUnknown_085B95D4
// extern ??? gProc_ekrDispUP
// extern ??? gProc_efxHPBar
// extern ??? gProc_efxHPBarResire
// extern ??? gProc_efxAvoid
// extern ??? gProc_efxHPBarLive
// extern ??? gProc_efxNoDamage
// extern ??? gProc_efxNoDamageYure
// extern ??? gProc_efxStatusCHG
// extern ??? gProc_efxDeadEvent
// extern ??? gProc_efxDead
// extern ??? gProc_efxDeadPika
// extern ??? gProc_efxDeadAlpha
// extern ??? gProc_efxDeadDragonAlpha
// extern ??? gProc_efxFarAttack
// extern ??? gProc_efxQuakePure
// extern ??? gUnknown_085B9804
// extern ??? gProc_efxHitQuakePure
// extern ??? gProc_efxQuake
// extern ??? gProc_efxHitQuake
// extern ??? gProc_efxFlashBG
// extern ??? gProc_efxWhiteOUT
// extern ??? gProc_efxWhiteIN
// extern ??? gProc_efxBlackOUT
// extern ??? gProc_efxBlackIN
// extern ??? gProc_efxFlashHPBar
// extern ??? gProc_efxHPBarColorChange
// extern ??? gProc_efxFlashUnit
// extern ??? gProc_efxFlashUnitEffect
// extern ??? gProc_efxStatusUnit
// extern ??? gProc_efxWeaponIcon
// extern ??? gProc_efxSpellCast
// extern ??? gProc_efxspdquake
// extern ??? gProc_ekrBattleStarting
// extern ??? gProc_ekrbattleendin
// extern ??? gUnknown_085B9B6C
// extern ??? gUnknown_085B9B84
// extern ??? gUnknown_085B9BA4
// extern ??? gUnknown_085B9BC4
// extern ??? gUnknown_085B9BE4
// extern ??? gUnknown_085B9C04
// extern ??? gUnknown_085B9C24
// extern ??? gUnknown_085B9C44
// extern ??? gUnknown_085B9C64
// extern ??? gUnknown_085B9C84
// extern ??? gUnknown_085B9CA4
// extern ??? gUnknown_085B9CC4
// extern ??? gUnknown_085B9CE4
// extern ??? gProc_ekrWindowAppear
// extern ??? gProc_ekrNamewinAppear
// extern ??? gProc_ekrBaseAppear
// extern ??? gUnknown_085B9D5C
// extern ??? gUnknown_085B9D6C
// extern ??? gProc_ekrChienCHR
// extern ??? gProc_efxAnimeDrvProc
// extern ??? ProcScr_ekrUnitMainMini
// extern ??? gProc_ekrTogiInit
// extern ??? gProc_ekrTogiEnd
// extern ??? gProc_ekrTogiColor
// extern ??? gUnknown_085B9E4C
// extern ??? gUnknown_085BA0B8
// extern ??? gUnknown_085BA2E0

View File

@ -132,6 +132,7 @@ SECTIONS
src/uiutils.o(.text);
src/uimenu.o(.text);
src/uiselecttarget.o(.text);
src/banim-ekrcore.o(.text);
asm/code_battleanim.o(.text);
src/ekrlevelup.o(.text);
asm/ekrlevelup.o(.text);

295
src/banim-ekrcore.c Normal file
View File

@ -0,0 +1,295 @@
#include "global.h"
#include "anime.h"
#include "bm.h"
#include "hardware.h"
#include "ctc.h"
#include "event.h"
#include "proc.h"
#include "ekrbattle.h"
extern struct Anim *gUnknown_02000000[4];
void sub_804FD48(int unk)
{
gUnknown_0203E0F0 = unk;
}
int sub_804FD54(void)
{
return gUnknown_0203E0F0;
}
void NewEkrBattleDeamon(void)
{
gpProcEkrBattleDeamon = Proc_Start(gProc_ekrBattleDeamon, PROC_TREE_3);
gBattleDeamonActive = true;
AddSkipThread2();
}
void EndEkrBattleDeamon(void)
{
Proc_End(gpProcEkrBattleDeamon);
}
int IsBattleDeamonActive(void)
{
if (gBattleDeamonActive == true)
return true;
return false;
}
void ekrBattleDeamon_Destructor(void)
{
gBattleDeamonActive = false;
SubSkipThread2();
}
void nullsub_35(void)
{
return;
}
void NewEkrBattle(void)
{
AnimClearAll();
gpProcEkrBattle = Proc_Start(gProc_ekrBattle, PROC_TREE_3);
SetMainUpdateRoutine(InBattleMainRoutine);
sub_8052220();
gUnknown_02017724 = 0;
gUnknown_02000018 = 0;
gUnknown_0200001C = 0;
gUnknown_02000020 = 0;
gUnknown_02000024 = 0;
if (0 == gUnknown_0203E0FC)
sub_80726AC();
}
void InBattleMainRoutine(void)
{
UpdateKeyStatus(gKeyStatusPtr);
if (gUnknown_0200001C == 0)
MainUpdate_804FEE4();
else if (gUnknown_02000020 == 1)
MainUpdate_804FEE4();
switch (gUnknown_02017724) {
case 0:
break;
case 1:
if (0 == gUnknown_0203E0FC) {
Proc_End(gpProcEkrBattle);
sub_8055C38();
}
break;
case 2:
if (0 == gUnknown_0203E0FC) {
Proc_End(gpProcEkrBattle);
sub_8055C38();
} else {
Proc_End(gpProcEkrBattle);
EndEkrGauge();
}
break;
default:
break;
}
gBmSt.mainLoopEndedFlag = true;
gBmSt.prevVCount = REG_VCOUNT;
VBlankIntrWait();
}
void MainUpdate_804FEE4(void)
{
ClearSprites();
sub_8071A8C();
if (GetThread2SkipStack() == 0)
Proc_Run(gProcTreeRootArray[2]);
Proc_Run(gProcTreeRootArray[3]);
Proc_Run(gProcTreeRootArray[5]);
PushSpriteLayerObjects(0);
Proc_Run(gProcTreeRootArray[1]);
AnimUpdateAll();
BattleAIS_ExecCommands();
Proc_Run(gProcTreeRootArray[4]);
gUnknown_02000020 = 0;
if ((gUnknown_0201FB04[0] + gUnknown_0201FB04[1]) != 2)
gUnknown_02000018++;
PushSpriteLayerObjects(0xD);
}
void nullsub_36(void)
{
return;
}
void ekrBattle_Init(struct ProcEkrBattle *proc)
{
gUnknown_0201FB0C = 0;
if (gUnknown_02017744 == 0) {
if (gUnknown_0203E120 == 1)
gUnknown_0201FB0C = -0x20;
else
gUnknown_0201FB0C = -0xF0;
}
sub_8059D28();
sub_8070B3C();
sub_8070254();
gUnknown_02000024 = 1;
if (true == sub_805B028())
proc->timer = 0;
else
proc->timer = 0x1E;
if (0 == gUnknown_0203E100)
proc->is_quote = ShouldCallBattleQuote(gEkrBuIndexes[0], gEkrBuIndexes[1]);
else
proc->is_quote = ShouldCallBattleQuote(gEkrBuIndexes[1], gEkrBuIndexes[0]);
proc->unk58 = 0;
Proc_Break(proc);
}
void ekrBattle_8050000(struct ProcEkrBattle *proc)
{
if (++proc->timer == 0x1F) {
if (sub_804FD54() != 1 && (proc->is_quote == true || proc->unk58 == true)) {
NewEkrWindowAppear(1, 7);
NewEkrNamewinAppear(1, 7, 0);
proc->proc_idleCb = (ProcFunc)ekrBattle_8050054;
proc->timer = 0;
} else {
proc->proc_idleCb = (ProcFunc)ekrBattle_8050158;
proc->timer = 0;
}
}
}
void ekrBattle_8050054(struct ProcEkrBattle *proc)
{
if (DoesEkrWindowAppearExist() != true)
return;
EkrGauge_8051218();
sub_8051B90();
CpuFastFill(0, gBG0TilemapBuffer, 0x800);
BG_SetPosition(BG_0, gUnknown_02000038.x, gUnknown_02000038.y);
BG_SetPosition(BG_1, 0, 0);
BG_EnableSyncByMask(BG0_SYNC_BIT);
EkrGauge_8051190();
if (proc->is_quote == true) {
if (gUnknown_0203E100 == 0)
CallBattleQuoteEventsIfAny(gEkrBuIndexes[0], gEkrBuIndexes[1]);
else
CallBattleQuoteEventsIfAny(gEkrBuIndexes[1], gEkrBuIndexes[0]);
proc->is_quote = false;
}
proc->proc_idleCb = (ProcFunc)ekrBattle_80500F0;
}
void ekrBattle_80500F0(struct ProcEkrBattle *proc)
{
if (BattleEventEngineExists() != false)
return;
sub_8051F1C();
BG_EnableSyncByMask(BG0_SYNC_BIT);
NewEkrWindowAppear(0, 7);
NewEkrNamewinAppear(0, 7, 0);
EkrGauge_8051228();
sub_8051BA0();
EkrGauge_8051180();
proc->proc_idleCb = (ProcFunc)ekrBattle_8050134;
}
void ekrBattle_8050134(struct ProcEkrBattle *proc)
{
if (DoesEkrWindowAppearExist() == true) {
proc->proc_idleCb = (ProcFunc)ekrBattle_8050158;
proc->timer = 0;
}
}
void ekrBattle_8050158(struct ProcEkrBattle *proc)
{
proc->unk44 = gUnknown_0203E100;
proc->unk48 = 0;
proc->proc_idleCb = (ProcFunc)ekrBattle_8050174;
}
void ekrBattle_8050174(struct ProcEkrBattle *proc)
{
if (proc->unk48 == 2) {
proc->proc_idleCb = (ProcFunc)ekrBattle_8050244;
return;
}
if (proc->unk44 == 0) {
proc->anim = gUnknown_02000000[0];
switch (sub_806FA6C()) {
case 1:
sub_80701B8(proc->anim);
proc->proc_idleCb = (ProcFunc)ekrBattle_8050224;
break;
case 2:
sub_8076540(proc->anim);
proc->proc_idleCb = (ProcFunc)ekrBattle_8050224;
break;
case 3:
sub_80708CC(proc->anim);
proc->proc_idleCb = (ProcFunc)ekrBattle_8050224;
break;
}
proc->unk44 = 1;
} else {
proc->anim = gUnknown_02000000[2];
switch (sub_806FA6C()) {
case 1:
sub_80701B8(proc->anim);
proc->proc_idleCb = (ProcFunc)ekrBattle_8050224;
break;
case 2:
sub_8076540(proc->anim);
proc->proc_idleCb = (ProcFunc)ekrBattle_8050224;
break;
case 3:
sub_80708CC(proc->anim);
proc->proc_idleCb = (ProcFunc)ekrBattle_8050224;
break;
}
proc->unk44 = 0;
}
proc->unk48++;
}

View File

@ -20,6 +20,7 @@
#include "bmarch.h"
#include "bmarena.h"
#include "bmsave.h"
#include "ekrbattle.h"
#include "bmbattle.h"
struct WeaponTriangleRule {

View File

@ -26,6 +26,7 @@
#include "uimenu.h"
#include "uiutils.h"
#include "bmsave.h"
#include "ekrbattle.h"
u8 PromotionInit_SetNullState(struct PromoProc *proc);
void PromotionInit_Loop(struct PromoProc *proc);

View File

@ -4,6 +4,7 @@
#include "proc.h"
#include "fontgrp.h"
#include "hardware.h"
#include "ekrbattle.h"
#include "ekrlevelup.h"
/**
@ -267,13 +268,13 @@ void EkrLvup_DrawPreLevelValue(void)
Text_Draw(&gTextEkrlvupValue[EKRLVUP_STAT_LVPRE_VAL], TILEMAP_LOCATED(gBG2TilemapBuffer, 13, 7));
}
void NewEkrLevelup(void *ais)
void NewEkrLevelup(struct Anim *ais)
{
struct ProcEkrLevelup *proc;
gpProcEkrLevelup = proc = Proc_Start(ProcScr_EkrLevelup, PROC_TREE_3);
proc->ais_main = ais;
proc->ais_struct = GetCoreAIStruct(ais);
proc->ais_core = GetCoreAIStruct(ais);
if (gUnknown_0203E120 != 4)
proc->is_promotion = false;

View File

@ -10,6 +10,7 @@
#include "bmmap.h"
#include "uimenu.h"
#include "scene.h"
#include "ekrbattle.h"
#include "event.h"

View File

@ -13,6 +13,7 @@
#include "scene.h"
#include "classdisplayfont.h"
#include "opinfo.h"
#include "ekrbattle.h"
#include "constants/classes.h"
@ -1477,7 +1478,6 @@ extern struct Unk201DB00 gUnknown_0201DB00;
ProcPtr StartClassStatsDisplay(ProcPtr);
extern u8 gUnknown_02000038[];
extern u8 gUnknown_02002038[];
extern u8 gUnknown_02007838[];
extern u8 gUnknown_020078D8[];

View File

@ -13,6 +13,7 @@
#include "face.h"
#include "bmunit.h"
#include "uiutils.h"
#include "ekrbattle.h"
#include "scene.h"

View File

@ -1,5 +1,5 @@
. = 0x000000; gUnknown_02000000 = .;
. = 0x000010; gAnims = .;
. = 0x000010; gUnknown_02000010 = .;
. = 0x000018; gUnknown_02000018 = .;
. = 0x00001C; gUnknown_0200001C = .;
. = 0x000020; gUnknown_02000020 = .;
@ -250,7 +250,7 @@
. = 0x01FA38; gUnknown_0201FA38 = .;
. = 0x01FA68; gUnknown_0201FA68 = .;
. = 0x01FAC8; gUnknown_0201FAC8 = .;
. = 0x01FACC; gUnknown_0201FACC = .;
. = 0x01FACC; gEkrWindowAppearExist = .;
. = 0x01FAD0; gUnknown_0201FAD0 = .;
. = 0x01FAD4; gUnknown_0201FAD4 = .;
. = 0x01FAD8; gUnknown_0201FAD8 = .;
@ -574,7 +574,7 @@
. = 0x03E182; gUnknown_0203E182 = .;
. = 0x03E188; gpEkrBattleUnitLeft = .;
. = 0x03E18C; gpEkrBattleUnitRight = .;
. = 0x03E190; gUnknown_0203E190 = .;
. = 0x03E190; gEkrBuIndexes = .;
. = 0x03E194; gUnknown_0203E194 = .;
. = 0x03E19C; gUnknown_0203E19C = .;
. = 0x03E1A4; gUnknown_0203E1A4 = .;