Start battle factory

This commit is contained in:
DizzyEggg
2018-09-02 18:10:36 +02:00
parent 4418189d4c
commit 10eb952db5
3 changed files with 342 additions and 731 deletions

View File

@@ -5,736 +5,9 @@
.text
thumb_func_start sub_819A44C
sub_819A44C: @ 819A44C
push {r4,r5,lr}
adds r5, r0, 0
ldrb r4, [r5, 0x5]
lsrs r4, 4
movs r0, 0x65
bl IndexOfSpritePaletteTag
lsls r0, 24
lsls r4, 16
lsrs r4, 16
lsrs r0, 24
cmp r4, r0
bne _0819A4BA
adds r0, r5, 0
adds r0, 0x3F
ldrb r1, [r0]
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _0819A4B0
ldrh r1, [r5, 0x2E]
movs r2, 0x2E
ldrsh r0, [r5, r2]
cmp r0, 0
beq _0819A484
subs r0, r1, 0x1
strh r0, [r5, 0x2E]
b _0819A4C2
_0819A484:
bl Random
lsls r0, 16
lsrs r0, 16
movs r1, 0x5
bl __umodsi3
lsls r0, 16
cmp r0, 0
bne _0819A4A6
adds r0, r5, 0
movs r1, 0
bl StartSpriteAnim
movs r0, 0x20
strh r0, [r5, 0x2E]
b _0819A4C2
_0819A4A6:
adds r0, r5, 0
movs r1, 0x1
bl StartSpriteAnim
b _0819A4C2
_0819A4B0:
adds r0, r5, 0
movs r1, 0x1
bl StartSpriteAnimIfDifferent
b _0819A4C2
_0819A4BA:
adds r0, r5, 0
movs r1, 0
bl StartSpriteAnimIfDifferent
_0819A4C2:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_819A44C
thumb_func_start sub_819A4C8
sub_819A4C8: @ 819A4C8
push {lr}
bl AnimateSprites
bl BuildOamBuffer
bl RunTextPrinters
bl UpdatePaletteFade
bl RunTasks
pop {r0}
bx r0
thumb_func_end sub_819A4C8
thumb_func_start sub_819A4E4
sub_819A4E4: @ 819A4E4
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
pop {r0}
bx r0
thumb_func_end sub_819A4E4
thumb_func_start sub_819A4F8
sub_819A4F8: @ 819A4F8
push {lr}
ldr r0, =gUnknown_0300127C
movs r1, 0
str r1, [r0]
ldr r0, =sub_819A514
bl SetMainCallback2
pop {r0}
bx r0
.pool
thumb_func_end sub_819A4F8
thumb_func_start sub_819A514
sub_819A514: @ 819A514
push {r4,r5,lr}
sub sp, 0xC
ldr r0, =gMain
movs r1, 0x87
lsls r1, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0xA
bls _0819A528
b _0819A98E
_0819A528:
lsls r0, 2
ldr r1, =_0819A53C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_0819A53C:
.4byte _0819A568
.4byte _0819A5C0
.4byte _0819A69C
.4byte _0819A77C
.4byte _0819A7CC
.4byte _0819A868
.4byte _0819A8A4
.4byte _0819A8AC
.4byte _0819A8C4
.4byte _0819A8DC
.4byte _0819A8FC
_0819A568:
ldr r4, =gUnknown_0203CE3C
ldr r0, [r4]
cmp r0, 0
beq _0819A578
bl Free
movs r0, 0
str r0, [r4]
_0819A578:
movs r0, 0
bl SetHBlankCallback
movs r0, 0
bl SetVBlankCallback
movs r0, 0
str r0, [sp, 0x8]
movs r1, 0xC0
lsls r1, 19
ldr r2, =0x05006000
add r0, sp, 0x8
bl CpuSet
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_08610428
movs r0, 0
movs r2, 0x3
bl InitBgsFromTemplates
ldr r0, =gUnknown_08610434
bl InitWindows
bl DeactivateAllTextPrinters
b _0819A8E6
.pool
_0819A5C0:
ldr r5, =gUnknown_0203CE2C
movs r4, 0x88
lsls r4, 3
adds r0, r4, 0
bl Alloc
str r0, [r5]
ldr r5, =gUnknown_0203CE30
adds r0, r4, 0
bl AllocZeroed
str r0, [r5]
ldr r5, =gUnknown_0203CE34
movs r4, 0x80
lsls r4, 4
adds r0, r4, 0
bl Alloc
str r0, [r5]
ldr r5, =gUnknown_0203CE38
adds r0, r4, 0
bl AllocZeroed
str r0, [r5]
movs r0, 0
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x3
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x3
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x50
movs r1, 0
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
movs r0, 0x4C
movs r1, 0
bl SetGpuReg
movs r0, 0x40
movs r1, 0
bl SetGpuReg
movs r0, 0x44
movs r1, 0
bl SetGpuReg
movs r0, 0x42
movs r1, 0
bl SetGpuReg
movs r0, 0x46
movs r1, 0
bl SetGpuReg
movs r0, 0x48
movs r1, 0
bl SetGpuReg
movs r0, 0x4A
movs r1, 0
bl SetGpuReg
ldr r1, =gMain
movs r3, 0x87
lsls r3, 3
adds r1, r3
b _0819A8EE
.pool
_0819A69C:
bl ResetPaletteFade
bl ResetSpriteData
bl ResetTasks
bl FreeAllSpritePalettes
ldr r0, =gFrontierFactorySelectMenu_Gfx
ldr r5, =gUnknown_0203CE2C
ldr r1, [r5]
movs r2, 0x88
lsls r2, 2
bl CpuSet
ldr r0, =gUnknown_0861033C
ldr r4, =gUnknown_0203CE30
ldr r1, [r4]
movs r2, 0x30
bl CpuSet
ldr r1, [r5]
movs r2, 0x88
lsls r2, 3
movs r0, 0x1
movs r3, 0
bl LoadBgTiles
ldr r1, [r4]
movs r0, 0x3
movs r2, 0x60
movs r3, 0
bl LoadBgTiles
ldr r0, =gFrontierFactorySelectMenu_Tilemap
ldr r4, =gUnknown_0203CE34
ldr r1, [r4]
movs r2, 0x80
lsls r2, 3
bl CpuSet
ldr r1, [r4]
movs r2, 0x80
lsls r2, 4
movs r0, 0x1
movs r3, 0
bl LoadBgTilemap
ldr r0, =gFrontierFactorySelectMenu_Pal
movs r1, 0
movs r2, 0x40
bl LoadPalette
ldr r4, =gUnknown_0861046C
adds r0, r4, 0
movs r1, 0xF0
movs r2, 0x8
bl LoadPalette
adds r0, r4, 0
movs r1, 0xE0
movs r2, 0xA
bl LoadPalette
ldr r0, =gUnknown_0300127C
ldr r1, [r0]
ldrb r0, [r1, 0x6]
cmp r0, 0x1
bne _0819A738
ldr r0, =gPlttBufferUnfaded
movs r2, 0xA9
lsls r2, 2
adds r1, r2
ldrh r1, [r1]
movs r3, 0xE4
lsls r3, 1
adds r0, r3
strh r1, [r0]
_0819A738:
ldr r0, =gUnknown_0861039C
movs r1, 0x20
movs r2, 0x4
bl LoadPalette
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _0819A8EE
.pool
_0819A77C:
ldr r0, =gUnknown_0203CE38
ldr r1, [r0]
movs r0, 0x3
bl SetBgTilemapBuffer
ldr r5, =gUnknown_0861023C
movs r4, 0x8
str r4, [sp]
str r4, [sp, 0x4]
movs r0, 0x3
adds r1, r5, 0
movs r2, 0xB
movs r3, 0x4
bl CopyToBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
movs r0, 0x3
adds r1, r5, 0
movs r2, 0x2
movs r3, 0x4
bl CopyToBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
movs r0, 0x3
adds r1, r5, 0
movs r2, 0x14
movs r3, 0x4
bl CopyToBgTilemapBufferRect
movs r0, 0x3
bl CopyBgTilemapBufferToVram
b _0819A8E6
.pool
_0819A7CC:
ldr r0, =gUnknown_086103F4
bl LoadSpritePalettes
ldr r0, =gUnknown_086103BC
bl LoadSpriteSheets
ldr r0, =gUnknown_086103E4
bl LoadCompressedObjectPic
movs r0, 0
bl ShowBg
movs r0, 0x1
bl ShowBg
ldr r0, =sub_819A4E4
bl SetVBlankCallback
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
movs r1, 0x9A
lsls r1, 5
movs r0, 0
bl SetGpuReg
ldr r0, =gUnknown_0300127C
ldr r0, [r0]
ldrb r0, [r0, 0x6]
cmp r0, 0x1
bne _0819A854
movs r0, 0x58
movs r1, 0x98
movs r2, 0x20
movs r3, 0x60
bl sub_819C5D0
movs r0, 0x3
bl ShowBg
ldr r1, =0x00001248
movs r0, 0x50
bl SetGpuReg
ldr r1, =0x0000040b
movs r0, 0x52
bl SetGpuReg
b _0819A85A
.pool
_0819A854:
movs r0, 0x3
bl HideBg
_0819A85A:
ldr r1, =gMain
movs r3, 0x87
lsls r3, 3
adds r1, r3
b _0819A8EE
.pool
_0819A868:
ldr r4, =gUnknown_0300127C
ldr r1, [r4]
ldrb r0, [r1, 0x6]
cmp r0, 0x1
bne _0819A878
ldr r0, =gUnknown_0203CF20
ldrb r0, [r0]
strb r0, [r1, 0x3]
_0819A878:
bl sub_819A9AC
bl sub_819AA18
ldr r0, [r4]
ldrb r0, [r0, 0x6]
cmp r0, 0x1
bne _0819A88C
bl sub_819BE34
_0819A88C:
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _0819A8EE
.pool
_0819A8A4:
bl sub_819BA64
movs r0, 0x2
b _0819A8E2
_0819A8AC:
bl sub_819BCF8
movs r0, 0x5
bl PutWindowTilemap
ldr r1, =gMain
movs r3, 0x87
lsls r3, 3
adds r1, r3
b _0819A8EE
.pool
_0819A8C4:
bl sub_819B9E8
movs r0, 0x1
bl PutWindowTilemap
ldr r1, =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
b _0819A8EE
.pool
_0819A8DC:
bl sub_819B9B4
movs r0, 0
_0819A8E2:
bl PutWindowTilemap
_0819A8E6:
ldr r1, =gMain
movs r2, 0x87
lsls r2, 3
adds r1, r2
_0819A8EE:
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _0819A98E
.pool
_0819A8FC:
ldr r0, =sub_819C69C
movs r1, 0
bl CreateTask
ldr r2, =gUnknown_0300127C
ldr r1, [r2]
ldr r3, =0x000002a1
adds r1, r3
strb r0, [r1]
ldr r3, [r2]
ldrb r5, [r3, 0x6]
cmp r5, 0
bne _0819A954
ldr r4, =gTasks
ldr r1, =0x000002a1
adds r0, r3, r1
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r4
strh r5, [r0, 0x8]
ldr r0, =sub_819B378
movs r1, 0
bl CreateTask
lsls r0, 24
lsrs r1, r0, 24
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r4
strh r5, [r0, 0x8]
b _0819A988
.pool
_0819A954:
ldr r4, =gTasks
ldr r2, =0x000002a1
adds r0, r3, r2
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r4
movs r2, 0
movs r1, 0x1
strh r1, [r0, 0x8]
ldr r1, =0x000002a2
adds r0, r3, r1
strb r2, [r0]
ldr r0, =sub_819B124
movs r1, 0
bl CreateTask
lsls r0, 24
lsrs r1, r0, 24
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r4
movs r1, 0xD
strh r1, [r0, 0x8]
_0819A988:
ldr r0, =sub_819A4C8
bl SetMainCallback2
_0819A98E:
add sp, 0xC
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_819A514
thumb_func_start sub_819A9AC
sub_819A9AC: @ 819A9AC
push {r4,r5,lr}
ldr r5, =gUnknown_0300127C
ldr r4, [r5]
cmp r4, 0
bne _0819AA12
movs r0, 0xAB
lsls r0, 2
bl AllocZeroed
str r0, [r5]
strb r4, [r0, 0x3]
ldr r1, [r5]
movs r0, 0x1
strb r0, [r1, 0x5]
ldr r0, [r5]
strb r4, [r0, 0x6]
movs r2, 0
movs r4, 0x6C
movs r3, 0
_0819A9D2:
ldr r0, [r5]
adds r1, r2, 0
muls r1, r4
adds r0, r1
strb r3, [r0, 0x10]
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x5
bls _0819A9D2
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000ca9
adds r0, r1
ldrb r1, [r0]
movs r0, 0x3
ands r0, r1
cmp r0, 0x2
beq _0819AA0C
movs r0, 0
bl sub_819B484
b _0819AA12
.pool
_0819AA0C:
movs r0, 0
bl sub_819B63C
_0819AA12:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_819A9AC
thumb_func_start sub_819AA18
sub_819AA18: @ 819AA18
push {r4-r7,lr}
mov r7, r8
push {r7}
movs r4, 0
mov r8, r4
ldr r7, =gSprites
_0819AA24:
lsls r1, r4, 3
adds r1, r4
lsls r1, 2
subs r1, r4
adds r1, 0x20
lsls r1, 16
asrs r1, 16
ldr r0, =gUnknown_086105D8
movs r2, 0x40
movs r3, 0x1
bl CreateSprite
ldr r6, =gUnknown_0300127C
ldr r2, [r6]
movs r5, 0x6C
adds r1, r4, 0
muls r1, r5
adds r2, r1
lsls r0, 24
lsrs r0, 24
strh r0, [r2, 0xE]
ldrh r1, [r2, 0xE]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r7
mov r1, r8
strh r1, [r0, 0x2E]
adds r0, r4, 0
bl sub_819ADAC
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x5
bls _0819AA24
ldr r0, [r6]
ldrb r1, [r0, 0x3]
ldr r4, =gSprites
muls r1, r5
adds r0, r1
ldrh r0, [r0, 0xE]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r4
ldr r0, =gUnknown_086105F0
movs r2, 0x20
ldrsh r1, [r1, r2]
movs r2, 0x58
movs r3, 0
bl CreateSprite
ldr r1, [r6]
movs r5, 0
strb r0, [r1, 0x4]
ldr r0, =gUnknown_08610608
movs r1, 0xB0
movs r2, 0x70
movs r3, 0
bl CreateSprite
ldr r1, [r6]
strb r0, [r1, 0x1]
ldr r0, =gUnknown_08610620
movs r1, 0xB0
movs r2, 0x90
movs r3, 0
bl CreateSprite
ldr r1, [r6]
strb r0, [r1, 0x2]
ldr r0, [r6]
ldrb r1, [r0, 0x1]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
adds r0, 0x3E
ldrb r1, [r0]
movs r2, 0x4
orrs r1, r2
strb r1, [r0]
ldr r0, [r6]
ldrb r1, [r0, 0x2]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
adds r0, 0x3E
ldrb r1, [r0]
orrs r1, r2
strb r1, [r0]
ldr r0, [r6]
ldrb r1, [r0, 0x1]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
adds r0, 0x28
strb r5, [r0]
ldr r0, [r6]
ldrb r1, [r0, 0x1]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
adds r0, 0x29
strb r5, [r0]
ldr r0, [r6]
ldrb r1, [r0, 0x2]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
adds r0, 0x28
strb r5, [r0]
ldr r0, [r6]
ldrb r1, [r0, 0x2]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
adds r0, 0x29
strb r5, [r0]
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_819AA18
thumb_func_start sub_819AB40
sub_819AB40: @ 819AB40
@@ -1059,8 +332,8 @@ _0819AD9C:
.pool
thumb_func_end sub_819ACE0
thumb_func_start sub_819ADAC
sub_819ADAC: @ 819ADAC
thumb_func_start SetBallSpritePaletteNum
SetBallSpritePaletteNum: @ 819ADAC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -1102,7 +375,7 @@ _0819ADCE:
pop {r0}
bx r0
.pool
thumb_func_end sub_819ADAC
thumb_func_end SetBallSpritePaletteNum
thumb_func_start sub_819AE08
sub_819AE08: @ 819AE08