through CreateNidoranFSprite

This commit is contained in:
PikalaxALT
2019-04-11 08:46:30 -04:00
parent 35892e6b53
commit 6eb7cc6cfa
5 changed files with 115 additions and 375 deletions
-370
View File
@@ -5,376 +5,6 @@
.text
thumb_func_start sub_8130C64
sub_8130C64: @ 8130C64
push {r4,r5,lr}
sub sp, 0x10
ldr r0, _08130C84 @ =gMain
movs r1, 0x87
lsls r1, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x7
bls _08130C78
b _08130F10
_08130C78:
lsls r0, 2
ldr r1, _08130C88 @ =_08130C8C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08130C84: .4byte gMain
_08130C88: .4byte _08130C8C
.align 2, 0
_08130C8C:
.4byte _08130CAC
.4byte _08130D18
.4byte _08130D78
.4byte _08130DB2
.4byte _08130DD0
.4byte _08130DE8
.4byte _08130E38
.4byte _08130EB8
_08130CAC:
movs r0, 0
bl SetVBlankCallback
add r1, sp, 0x8
movs r0, 0
strh r0, [r1]
ldr r1, _08130D04 @ =0x040000d4
add r0, sp, 0x8
str r0, [r1]
movs r0, 0xC0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _08130D08 @ =0x8100c000
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r2, 0
str r2, [sp, 0xC]
add r0, sp, 0xC
str r0, [r1]
movs r0, 0xE0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _08130D0C @ =0x85000100
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
add r0, sp, 0x8
strh r2, [r0]
str r0, [r1]
ldr r0, _08130D10 @ =0x05000002
str r0, [r1, 0x4]
ldr r0, _08130D14 @ =0x810001ff
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
bl ResetPaletteFade
bl ScanlineEffect_Stop
bl ResetSpriteData
bl FreeAllSpritePalettes
bl reset_temp_tile_data_buffers
b _08130F10
.align 2, 0
_08130D04: .4byte 0x040000d4
_08130D08: .4byte 0x8100c000
_08130D0C: .4byte 0x85000100
_08130D10: .4byte 0x05000002
_08130D14: .4byte 0x810001ff
_08130D18:
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, _08130D70 @ =gUnknown_8462E58
movs r0, 0x1
movs r2, 0x3
bl InitBgsFromTemplates
ldr r4, _08130D74 @ =sOakSpeechResources
ldr r1, [r4]
movs r0, 0xE1
lsls r0, 5
adds r1, r0
movs r0, 0x1
bl SetBgTilemapBuffer
ldr r1, [r4]
movs r0, 0xC1
lsls r0, 5
adds r1, r0
movs r0, 0x2
bl SetBgTilemapBuffer
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x2
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x2
movs r1, 0
movs r2, 0
bl ChangeBgY
b _08130F10
.align 2, 0
_08130D70: .4byte gUnknown_8462E58
_08130D74: .4byte sOakSpeechResources
_08130D78:
movs r0, 0x40
movs r1, 0
bl SetGpuReg
movs r0, 0x44
movs r1, 0
bl SetGpuReg
movs r0, 0x48
movs r1, 0
bl SetGpuReg
movs r0, 0x4A
movs r1, 0
bl SetGpuReg
movs r0, 0x50
movs r1, 0
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
b _08130F10
_08130DB2:
bl FreeAllWindowBuffers
bl sub_80F6C6C
bl sub_80F6C98
ldr r0, _08130DCC @ =gUnknown_8460568
movs r1, 0
movs r2, 0xE0
bl LoadPalette
b _08130F10
.align 2, 0
_08130DCC: .4byte gUnknown_8460568
_08130DD0:
ldr r1, _08130DE4 @ =gUnknown_8460CA4
movs r0, 0
str r0, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
b _08130F10
.align 2, 0
_08130DE4: .4byte gUnknown_8460CA4
_08130DE8:
bl free_temp_tile_data_buffers_if_possible
lsls r0, 24
cmp r0, 0
beq _08130DF4
b _08130F1E
_08130DF4:
movs r5, 0x1E
str r5, [sp]
movs r4, 0x14
str r4, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
ldr r1, _08130E34 @ =gUnknown_8460CE8
movs r0, 0x1
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
str r5, [sp]
str r4, [sp, 0x4]
movs r0, 0x2
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
movs r0, 0x1
bl CopyBgTilemapBufferToVram
movs r0, 0x2
bl CopyBgTilemapBufferToVram
b _08130F10
.align 2, 0
_08130E34: .4byte gUnknown_8460CE8
_08130E38:
ldr r0, _08130E5C @ =sub_8130464
movs r1, 0
bl CreateTask
lsls r0, 24
lsrs r5, r0, 24
ldr r0, _08130E60 @ =sOakSpeechResources
ldr r0, [r0]
ldrh r0, [r0, 0x10]
cmp r0, 0
bne _08130E72
ldr r0, _08130E64 @ =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
cmp r0, 0
bne _08130E68
movs r0, 0
b _08130E6A
.align 2, 0
_08130E5C: .4byte sub_8130464
_08130E60: .4byte sOakSpeechResources
_08130E64: .4byte gSaveBlock2Ptr
_08130E68:
movs r0, 0x1
_08130E6A:
movs r1, 0
bl sub_81311F4
b _08130E7A
_08130E72:
movs r0, 0x2
movs r1, 0
bl sub_81311F4
_08130E7A:
ldr r0, _08130EA8 @ =gTasks
lsls r4, r5, 2
adds r4, r5
lsls r4, 3
adds r4, r0
ldr r0, _08130EAC @ =0x0000ffc4
strh r0, [r4, 0xA]
ldr r1, _08130EB0 @ =gSpriteCoordOffsetX
ldrh r0, [r1]
adds r0, 0x3C
strh r0, [r1]
ldr r1, _08130EB4 @ =0xffffc400
movs r0, 0x2
movs r2, 0
bl ChangeBgX
adds r0, r5, 0
movs r1, 0x1
bl sub_8130FD4
movs r0, 0x1
strh r0, [r4, 0x26]
b _08130F10
.align 2, 0
_08130EA8: .4byte gTasks
_08130EAC: .4byte 0x0000ffc4
_08130EB0: .4byte gSpriteCoordOffsetX
_08130EB4: .4byte 0xffffc400
_08130EB8:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
movs r1, 0x82
lsls r1, 5
movs r0, 0
bl SetGpuReg
movs r0, 0
bl ShowBg
movs r0, 0x1
bl ShowBg
movs r0, 0x2
bl ShowBg
movs r0, 0x1
bl EnableInterrupts
ldr r0, _08130F04 @ =sub_812EAFC
bl SetVBlankCallback
ldr r2, _08130F08 @ =gTextFlags
ldrb r0, [r2]
movs r1, 0x1
orrs r0, r1
strb r0, [r2]
ldr r0, _08130F0C @ =sub_812EB10
bl SetMainCallback2
b _08130F1E
.align 2, 0
_08130F04: .4byte sub_812EAFC
_08130F08: .4byte gTextFlags
_08130F0C: .4byte sub_812EB10
_08130F10:
ldr r1, _08130F28 @ =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_08130F1E:
add sp, 0x10
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08130F28: .4byte gMain
thumb_func_end sub_8130C64
thumb_func_start sub_8130F2C
sub_8130F2C: @ 8130F2C
push {r4,r5,lr}
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldr r4, _08130FA0 @ =gUnknown_8235194
movs r0, 0
bl sub_8044E00
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0x1D
bl DecompressPicFromTable
ldr r0, _08130FA4 @ =gUnknown_82373F4
bl sub_800F078
movs r0, 0x1D
movs r1, 0
bl sub_803F7D4
ldr r0, _08130FA8 @ =gMultiuseSpriteTemplate
movs r1, 0x60
movs r2, 0x60
movs r3, 0x1
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r4, _08130FAC @ =gSprites
lsls r2, r0, 4
adds r2, r0
lsls r2, 2
adds r1, r4, 0
adds r1, 0x1C
adds r1, r2, r1
ldr r3, _08130FB0 @ =SpriteCallbackDummy
str r3, [r1]
adds r2, r4
ldrb r3, [r2, 0x5]
movs r1, 0xD
negs r1, r1
ands r1, r3
movs r3, 0x4
orrs r1, r3
strb r1, [r2, 0x5]
adds r2, 0x3E
ldrb r1, [r2]
orrs r1, r3
strb r1, [r2]
ldr r2, _08130FB4 @ =gTasks
lsls r1, r5, 2
adds r1, r5
lsls r1, 3
adds r1, r2
strh r0, [r1, 0x10]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08130FA0: .4byte gUnknown_8235194
_08130FA4: .4byte gUnknown_82373F4
_08130FA8: .4byte gMultiuseSpriteTemplate
_08130FAC: .4byte gSprites
_08130FB0: .4byte SpriteCallbackDummy
_08130FB4: .4byte gTasks
thumb_func_end sub_8130F2C
thumb_func_start sub_8130FB8
sub_8130FB8: @ 8130FB8
ldr r3, _08130FD0 @ =gSprites