mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-10-02 06:20:38 -05:00
Match most files in overlay117
This commit is contained in:
@@ -1,22 +0,0 @@
|
||||
.public sub_020067E8
|
||||
.public sub_02006814
|
||||
.public sub_0200681C
|
||||
.public sub_0200682C
|
||||
.public sub_02006830
|
||||
.public sub_02006840
|
||||
.public sub_02006844
|
||||
.public sub_02017FC8
|
||||
.public sub_0201807C
|
||||
.public sub_02032E64
|
||||
.public sub_02032EE8
|
||||
.public sub_02035E18
|
||||
.public sub_0203608C
|
||||
.public sub_020364F0
|
||||
.public sub_02036540
|
||||
.public sub_020388F4
|
||||
.public MI_CpuFill8
|
||||
.public ov4_021D1F18
|
||||
.public ov114_0225C700
|
||||
.public ov114_0225CA54
|
||||
.public ov117_022605D8
|
||||
.public ov117_02260630
|
||||
@@ -1,300 +0,0 @@
|
||||
.include "macros/function.inc"
|
||||
.include "overlay117/ov117_02260440.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ov117_02260440
|
||||
ov117_02260440: ; 0x02260440
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_02006840
|
||||
add r5, r0, #0
|
||||
mov r0, #3
|
||||
mov r1, #0x6e
|
||||
lsl r2, r0, #0x11
|
||||
bl sub_02017FC8
|
||||
add r0, r4, #0
|
||||
mov r1, #0x40
|
||||
mov r2, #0x6e
|
||||
bl sub_0200681C
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x40
|
||||
bl MI_CpuFill8
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
bl ov117_022605D8
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov117_02260440
|
||||
|
||||
thumb_func_start ov117_02260474
|
||||
ov117_02260474: ; 0x02260474
|
||||
push {r4, r5, r6, lr}
|
||||
add r6, r0, #0
|
||||
add r4, r1, #0
|
||||
bl sub_0200682C
|
||||
add r5, r0, #0
|
||||
add r0, r6, #0
|
||||
bl sub_02006840
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ov117_02260630
|
||||
cmp r0, #1
|
||||
bne _02260496
|
||||
mov r0, #1
|
||||
pop {r4, r5, r6, pc}
|
||||
_02260496:
|
||||
ldr r0, [r4, #0]
|
||||
cmp r0, #8
|
||||
bls _0226049E
|
||||
b _022605B0
|
||||
_0226049E:
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_022604AA: ; jump table
|
||||
.short _022604BC - _022604AA - 2 ; case 0
|
||||
.short _022604D8 - _022604AA - 2 ; case 1
|
||||
.short _022604F4 - _022604AA - 2 ; case 2
|
||||
.short _02260510 - _022604AA - 2 ; case 3
|
||||
.short _0226052C - _022604AA - 2 ; case 4
|
||||
.short _02260554 - _022604AA - 2 ; case 5
|
||||
.short _0226057A - _022604AA - 2 ; case 6
|
||||
.short _02260590 - _022604AA - 2 ; case 7
|
||||
.short _022605B0 - _022604AA - 2 ; case 8
|
||||
_022604BC:
|
||||
add r0, r5, #0
|
||||
mov r1, #0
|
||||
add r0, #0x31
|
||||
strb r1, [r0]
|
||||
ldr r0, _022605B8 ; =0x02266908
|
||||
add r1, r5, #0
|
||||
mov r2, #0x6e
|
||||
bl sub_020067E8
|
||||
str r0, [r5, #0x28]
|
||||
ldr r0, [r4, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0]
|
||||
b _022605B4
|
||||
_022604D8:
|
||||
ldr r0, [r5, #0x28]
|
||||
bl sub_02006844
|
||||
cmp r0, #1
|
||||
bne _022605B4
|
||||
ldr r0, [r5, #0x28]
|
||||
bl sub_02006814
|
||||
mov r0, #0
|
||||
str r0, [r5, #0x28]
|
||||
ldr r0, [r4, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0]
|
||||
b _022605B4
|
||||
_022604F4:
|
||||
add r0, r5, #0
|
||||
mov r1, #1
|
||||
add r0, #0x31
|
||||
strb r1, [r0]
|
||||
ldr r0, _022605BC ; =0x022668F8
|
||||
add r1, r5, #0
|
||||
mov r2, #0x6e
|
||||
bl sub_020067E8
|
||||
str r0, [r5, #0x28]
|
||||
ldr r0, [r4, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0]
|
||||
b _022605B4
|
||||
_02260510:
|
||||
ldr r0, [r5, #0x28]
|
||||
bl sub_02006844
|
||||
cmp r0, #1
|
||||
bne _022605B4
|
||||
ldr r0, [r5, #0x28]
|
||||
bl sub_02006814
|
||||
mov r0, #0
|
||||
str r0, [r5, #0x28]
|
||||
ldr r0, [r4, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0]
|
||||
b _022605B4
|
||||
_0226052C:
|
||||
add r6, #0x38
|
||||
ldrb r0, [r6]
|
||||
cmp r0, #0
|
||||
beq _02260538
|
||||
bl ov4_021D1F18
|
||||
_02260538:
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
add r0, #0x31
|
||||
strb r1, [r0]
|
||||
ldr r0, _022605B8 ; =0x02266908
|
||||
add r1, r5, #0
|
||||
mov r2, #0x6e
|
||||
bl sub_020067E8
|
||||
str r0, [r5, #0x28]
|
||||
ldr r0, [r4, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0]
|
||||
b _022605B4
|
||||
_02260554:
|
||||
ldr r0, [r5, #0x28]
|
||||
bl sub_02006844
|
||||
cmp r0, #1
|
||||
bne _022605B4
|
||||
ldr r0, [r5, #0x28]
|
||||
bl sub_02006814
|
||||
mov r1, #0
|
||||
str r1, [r5, #0x28]
|
||||
ldr r0, [r5, #0x38]
|
||||
cmp r0, #1
|
||||
bne _02260572
|
||||
str r1, [r4, #0]
|
||||
b _022605B4
|
||||
_02260572:
|
||||
ldr r0, [r4, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0]
|
||||
b _022605B4
|
||||
_0226057A:
|
||||
mov r0, #0
|
||||
mov r1, #1
|
||||
bl sub_020388F4
|
||||
mov r0, #0xde
|
||||
bl sub_020364F0
|
||||
ldr r0, [r4, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0]
|
||||
b _022605B4
|
||||
_02260590:
|
||||
mov r0, #0xde
|
||||
bl sub_02036540
|
||||
cmp r0, #1
|
||||
beq _022605A8
|
||||
bl sub_02035E18
|
||||
add r5, r0, #0
|
||||
bl sub_02032E64
|
||||
cmp r5, r0
|
||||
bge _022605B4
|
||||
_022605A8:
|
||||
ldr r0, [r4, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0]
|
||||
b _022605B4
|
||||
_022605B0:
|
||||
mov r0, #1
|
||||
pop {r4, r5, r6, pc}
|
||||
_022605B4:
|
||||
mov r0, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_022605B8: .word 0x02266908
|
||||
_022605BC: .word 0x022668F8
|
||||
thumb_func_end ov117_02260474
|
||||
|
||||
thumb_func_start ov117_022605C0
|
||||
ov117_022605C0: ; 0x022605C0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0200682C
|
||||
add r0, r4, #0
|
||||
bl sub_02006830
|
||||
mov r0, #0x6e
|
||||
bl sub_0201807C
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
thumb_func_end ov117_022605C0
|
||||
|
||||
thumb_func_start ov117_022605D8
|
||||
ov117_022605D8: ; 0x022605D8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r6, r0, #0
|
||||
add r7, r1, #0
|
||||
bl sub_0203608C
|
||||
mov r5, #0
|
||||
add r4, r5, #0
|
||||
_022605E6:
|
||||
add r0, r4, #0
|
||||
bl sub_02032EE8
|
||||
cmp r0, #0
|
||||
beq _022605FA
|
||||
add r0, r6, r5
|
||||
add r0, #0x2c
|
||||
strb r4, [r0]
|
||||
add r5, r5, #1
|
||||
b _02260602
|
||||
_022605FA:
|
||||
add r1, r6, r4
|
||||
add r1, #0x2c
|
||||
mov r0, #0xff
|
||||
strb r0, [r1]
|
||||
_02260602:
|
||||
add r4, r4, #1
|
||||
cmp r4, #4
|
||||
blt _022605E6
|
||||
add r0, r6, #0
|
||||
add r0, #0x30
|
||||
strb r5, [r0]
|
||||
add r0, r7, #0
|
||||
add r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
add r0, r6, #0
|
||||
add r0, #0x3c
|
||||
strb r1, [r0]
|
||||
str r7, [sp]
|
||||
add r1, r7, #0
|
||||
add r1, #0x39
|
||||
ldr r2, [r7, #0x34]
|
||||
add r7, #0x38
|
||||
ldrb r1, [r1]
|
||||
ldrb r3, [r7]
|
||||
add r0, r6, #0
|
||||
bl ov114_0225C700
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov117_022605D8
|
||||
|
||||
thumb_func_start ov117_02260630
|
||||
ov117_02260630: ; 0x02260630
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r1, r4, #0
|
||||
add r1, #0x3d
|
||||
ldrb r1, [r1]
|
||||
cmp r1, #0
|
||||
bne _0226064E
|
||||
bl ov114_0225CA54
|
||||
cmp r0, #1
|
||||
bne _0226064E
|
||||
add r0, r4, #0
|
||||
mov r1, #1
|
||||
add r0, #0x3d
|
||||
strb r1, [r0]
|
||||
_0226064E:
|
||||
add r0, r4, #0
|
||||
add r0, #0x3d
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #1
|
||||
bne _02260662
|
||||
ldr r0, [r4, #0x28]
|
||||
cmp r0, #0
|
||||
bne _02260662
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_02260662:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02260630
|
||||
|
||||
.rodata
|
||||
|
||||
.global Unk_ov117_022668F8
|
||||
Unk_ov117_022668F8: ; 0x022668F8
|
||||
.incbin "incbin/overlay117_rodata.bin", 0x0, 0x10
|
||||
|
||||
.global Unk_ov117_02266908
|
||||
Unk_ov117_02266908: ; 0x02266908
|
||||
.incbin "incbin/overlay117_rodata.bin", 0x10, 0x20 - 0x10
|
||||
@@ -1,261 +0,0 @@
|
||||
.public sub_02002AC8
|
||||
.public sub_02002AE4
|
||||
.public sub_02002B20
|
||||
.public sub_02002D7C
|
||||
.public sub_02002F38
|
||||
.public sub_02002F54
|
||||
.public sub_02002F70
|
||||
.public sub_02002FA0
|
||||
.public sub_02002FEC
|
||||
.public sub_02003050
|
||||
.public sub_02003070
|
||||
.public sub_02003694
|
||||
.public sub_02003858
|
||||
.public sub_020038B0
|
||||
.public sub_02005748
|
||||
.public sub_0200681C
|
||||
.public sub_0200682C
|
||||
.public sub_02006830
|
||||
.public sub_02006840
|
||||
.public sub_02006C24
|
||||
.public sub_02006CA8
|
||||
.public sub_020070E8
|
||||
.public sub_0200710C
|
||||
.public sub_0200964C
|
||||
.public sub_0200966C
|
||||
.public sub_02009704
|
||||
.public sub_0200B144
|
||||
.public sub_0200B190
|
||||
.public sub_0200B1EC
|
||||
.public sub_0200B358
|
||||
.public sub_0200B3F0
|
||||
.public sub_0200C6E4
|
||||
.public sub_0200C704
|
||||
.public sub_0200C738
|
||||
.public sub_0200C73C
|
||||
.public sub_0200C7C0
|
||||
.public sub_0200C7EC
|
||||
.public sub_0200C800
|
||||
.public sub_0200C808
|
||||
.public sub_0200C8D4
|
||||
.public sub_0200CB30
|
||||
.public sub_0200CBDC
|
||||
.public sub_0200CC3C
|
||||
.public sub_0200CD7C
|
||||
.public sub_0200CDC4
|
||||
.public sub_0200CE0C
|
||||
.public sub_0200CE24
|
||||
.public sub_0200CE3C
|
||||
.public sub_0200CE54
|
||||
.public sub_0200D0B0
|
||||
.public sub_0200D9B0
|
||||
.public sub_0200D9E8
|
||||
.public sub_0200DA58
|
||||
.public sub_0200DAA4
|
||||
.public sub_0200DC48
|
||||
.public sub_0200F174
|
||||
.public sub_0200F2AC
|
||||
.public sub_0200F2C0
|
||||
.public sub_0200F370
|
||||
.public sub_02012744
|
||||
.public sub_020127BC
|
||||
.public sub_02014000
|
||||
.public sub_02014014
|
||||
.public sub_0201411C
|
||||
.public sub_020144C4
|
||||
.public sub_020144CC
|
||||
.public sub_020145B4
|
||||
.public sub_020145F4
|
||||
.public sub_0201469C
|
||||
.public sub_020146C0
|
||||
.public sub_020146F4
|
||||
.public sub_02014730
|
||||
.public sub_02014784
|
||||
.public sub_020170D8
|
||||
.public sub_02017110
|
||||
.public sub_02017164
|
||||
.public sub_02017190
|
||||
.public sub_020171A0
|
||||
.public sub_02017204
|
||||
.public sub_02017240
|
||||
.public sub_02017258
|
||||
.public sub_0201727C
|
||||
.public sub_02017288
|
||||
.public sub_02017294
|
||||
.public sub_02017348
|
||||
.public sub_02017350
|
||||
.public sub_0201736C
|
||||
.public sub_02017798
|
||||
.public sub_02017DD4
|
||||
.public sub_02018144
|
||||
.public sub_020181C4
|
||||
.public sub_020182CC
|
||||
.public sub_02018340
|
||||
.public sub_02018368
|
||||
.public sub_020183C4
|
||||
.public sub_02019044
|
||||
.public sub_02019120
|
||||
.public sub_02019184
|
||||
.public sub_02019690
|
||||
.public sub_02019CB8
|
||||
.public sub_02019EBC
|
||||
.public sub_0201A7E8
|
||||
.public sub_0201A8FC
|
||||
.public sub_0201A9A4
|
||||
.public sub_0201ADA4
|
||||
.public sub_0201C2B8
|
||||
.public sub_0201C3C0
|
||||
.public sub_0201D78C
|
||||
.public sub_0201DBEC
|
||||
.public sub_0201DC3C
|
||||
.public sub_0201DCAC
|
||||
.public sub_0201E3D8
|
||||
.public sub_0201E450
|
||||
.public sub_0201E530
|
||||
.public sub_0201FE94
|
||||
.public sub_0201FF00
|
||||
.public sub_0201FF0C
|
||||
.public sub_0201FF68
|
||||
.public sub_0201FF74
|
||||
.public sub_0201FFD0
|
||||
.public sub_0201FFE8
|
||||
.public sub_020203AC
|
||||
.public sub_020203B8
|
||||
.public sub_020203D4
|
||||
.public sub_020203EC
|
||||
.public sub_020206BC
|
||||
.public sub_020206D0
|
||||
.public sub_02020854
|
||||
.public GF_AssertFail
|
||||
.public sub_02023790
|
||||
.public sub_020237BC
|
||||
.public sub_020241B4
|
||||
.public sub_020241BC
|
||||
.public sub_02024220
|
||||
.public sub_020242C4
|
||||
.public sub_02025F04
|
||||
.public sub_0203608C
|
||||
.public sub_020364F0
|
||||
.public sub_02036540
|
||||
.public sub_02038A1C
|
||||
.public sub_02039734
|
||||
.public sub_02039794
|
||||
.public NNS_G3dGlbFlushP
|
||||
.public NNS_G3dGlbSetBaseTrans
|
||||
.public NNS_G3dGlbSetBaseScale
|
||||
.public NNS_G3dGlbLightVector
|
||||
.public NNS_G3dGlbLightColor
|
||||
.public NNS_G3dGlbMaterialColorDiffAmb
|
||||
.public NNS_G3dGlbMaterialColorSpecEmi
|
||||
.public NNS_G3dGeBufferOP_N
|
||||
.public MTX_Identity33_
|
||||
.public G2x_SetBlendAlpha_
|
||||
.public G3X_SetFog
|
||||
.public G3X_SetClearColor
|
||||
.public MIi_CpuClear32
|
||||
.public MI_Copy36B
|
||||
.public MI_CpuFill8
|
||||
.public _s32_div_f
|
||||
.public ov4_021D1E74
|
||||
.public ov114_0225C7A4
|
||||
.public ov114_0225C7CC
|
||||
.public ov114_0225CA98
|
||||
.public ov114_0225CAD4
|
||||
.public ov114_0225CB38
|
||||
.public ov114_0225CB74
|
||||
.public ov114_0225CB8C
|
||||
.public ov114_0225CBB0
|
||||
.public ov114_0225CBE0
|
||||
.public ov117_02260DA0
|
||||
.public ov117_02260E14
|
||||
.public ov117_02260E34
|
||||
.public ov117_02260EB8
|
||||
.public ov117_02260EC0
|
||||
.public ov117_02260F64
|
||||
.public ov117_02260F7C
|
||||
.public ov117_022610D8
|
||||
.public ov117_02261280
|
||||
.public ov117_02261368
|
||||
.public ov117_022613B8
|
||||
.public ov117_022613EC
|
||||
.public ov117_022614AC
|
||||
.public ov117_02261574
|
||||
.public ov117_022615E0
|
||||
.public ov117_02261644
|
||||
.public ov117_02261668
|
||||
.public ov117_0226168C
|
||||
.public ov117_022618E8
|
||||
.public ov117_02261940
|
||||
.public ov117_022619F8
|
||||
.public ov117_02261A2C
|
||||
.public ov117_02261AC4
|
||||
.public ov117_02261AC8
|
||||
.public ov117_02261C28
|
||||
.public ov117_02261C2C
|
||||
.public ov117_02261DD0
|
||||
.public ov117_02261F08
|
||||
.public ov117_02261F3C
|
||||
.public ov117_02261FA4
|
||||
.public ov117_02261FF4
|
||||
.public ov117_0226200C
|
||||
.public ov117_022620A0
|
||||
.public ov117_022620E0
|
||||
.public ov117_0226217C
|
||||
.public ov117_022621D4
|
||||
.public ov117_02262200
|
||||
.public ov117_02262270
|
||||
.public ov117_022622B8
|
||||
.public ov117_022622C4
|
||||
.public ov117_0226235C
|
||||
.public ov117_022623B0
|
||||
.public ov117_02262448
|
||||
.public ov117_02262664
|
||||
.public ov117_022626AC
|
||||
.public ov117_022626B0
|
||||
.public ov117_02262760
|
||||
.public ov117_02262798
|
||||
.public ov117_02262950
|
||||
.public ov117_02263CF4
|
||||
.public ov117_02263D80
|
||||
.public ov117_02263EF8
|
||||
.public ov117_022641E4
|
||||
.public ov117_02264508
|
||||
.public ov117_02264560
|
||||
.public ov117_022648E0
|
||||
.public ov117_02264914
|
||||
.public ov117_02264930
|
||||
.public ov117_02264AB0
|
||||
.public ov117_02264AF0
|
||||
.public ov117_02264BF8
|
||||
.public ov117_02264D1C
|
||||
.public ov117_02264FB0
|
||||
.public ov117_0226504C
|
||||
.public ov117_02265064
|
||||
.public ov117_022651E0
|
||||
.public ov117_02265210
|
||||
.public ov117_02265254
|
||||
.public ov117_02265ABC
|
||||
.public ov117_02265B3C
|
||||
.public ov117_02265C1C
|
||||
.public ov117_02265DB8
|
||||
.public ov117_02265EB0
|
||||
.public ov117_02265EC8
|
||||
.public ov117_02265F34
|
||||
.public ov117_02266130
|
||||
.public ov117_02266150
|
||||
.public ov117_02266210
|
||||
.public ov117_02266238
|
||||
.public ov117_02266244
|
||||
.public ov117_02266268
|
||||
.public ov117_02266274
|
||||
.public ov117_022665FC
|
||||
.public ov117_02266624
|
||||
.public ov117_02266648
|
||||
.public ov117_022666A4
|
||||
.public ov117_022666C0
|
||||
.public ov117_02266730
|
||||
.public ov117_02266784
|
||||
.public ov117_022667F4
|
||||
.public ov117_02266834
|
||||
.public ov117_0226687C
|
||||
.public ov117_022668B8
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,29 +0,0 @@
|
||||
.public sub_02005748
|
||||
.public sub_020057D4
|
||||
.public sub_02006C24
|
||||
.public sub_02006CA8
|
||||
.public sub_0200CC3C
|
||||
.public sub_0200CDC4
|
||||
.public sub_0200CE24
|
||||
.public sub_0200CE54
|
||||
.public sub_0200CE6C
|
||||
.public sub_0200D070
|
||||
.public sub_0200D080
|
||||
.public sub_0200D090
|
||||
.public sub_0200D0A0
|
||||
.public sub_0200D0F4
|
||||
.public sub_0200D324
|
||||
.public sub_0200D364
|
||||
.public sub_0200D3F4
|
||||
.public sub_0200D500
|
||||
.public GF_AssertFail
|
||||
.public NNS_G3dGeBufferOP_N
|
||||
.public FX_Atan2Idx
|
||||
.public _ll_sdiv
|
||||
.public ov117_02262A38
|
||||
.public ov117_02263168
|
||||
.public ov117_02263448
|
||||
.public ov117_022637AC
|
||||
.public ov117_022637E4
|
||||
.public ov117_0226384C
|
||||
.public ov117_022638AC
|
||||
@@ -1,986 +0,0 @@
|
||||
.include "macros/function.inc"
|
||||
.include "overlay117/ov117_022626B0_arm.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start ov117_02262D98
|
||||
ov117_02262D98: ; 0x02262D98
|
||||
stmfd sp!, {r4, r5, r6, lr}
|
||||
sub sp, sp, #0x80
|
||||
add r3, sp, #0
|
||||
mov r6, #0
|
||||
_02262DA8:
|
||||
mov r0, r6, lsl #1
|
||||
add r5, r0, #1
|
||||
smull r1, r0, r5, r5
|
||||
umull ip, r2, r5, r1
|
||||
mla r2, r5, r0, r2
|
||||
mov r4, r5, asr #0x1f
|
||||
umull lr, r0, r5, ip
|
||||
mla r2, r4, r1, r2
|
||||
mla r0, r5, r2, r0
|
||||
mla r0, r4, ip, r0
|
||||
mov r1, lr, lsr #0x18
|
||||
orr r1, r1, r0, lsl #8
|
||||
add r0, r6, #1
|
||||
strb r1, [r3, r6]
|
||||
and r6, r0, #0xff
|
||||
cmp r6, #0x7f
|
||||
blo _02262DA8
|
||||
mov ip, #0xff
|
||||
add r1, sp, #0
|
||||
mov r0, #0x34
|
||||
mov r2, #0x20
|
||||
strb ip, [r3, #0x7f]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add sp, sp, #0x80
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
arm_func_end ov117_02262D98
|
||||
|
||||
arm_func_start ov117_02262E0C
|
||||
ov117_02262E0C: ; 0x02262E0C
|
||||
stmfd sp!, {r4, lr}
|
||||
mov lr, #0
|
||||
mov r4, lr
|
||||
mov ip, lr
|
||||
mov r1, #0x80000
|
||||
_02262E20:
|
||||
add r3, r0, lr, lsl #5
|
||||
str ip, [r3, #0xc]
|
||||
str r4, [r3, #0x10]
|
||||
str ip, [r3, #0x14]
|
||||
sub r2, r4, #0x10000
|
||||
str r2, [r3, #0x18]
|
||||
str r1, [r3, #0x1c]
|
||||
str r4, [r3, #0x20]
|
||||
str r1, [r3, #0x24]
|
||||
add lr, lr, #1
|
||||
str r2, [r3, #0x28]
|
||||
cmp lr, #8
|
||||
sub r4, r4, #0x10000
|
||||
blt _02262E20
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end ov117_02262E0C
|
||||
|
||||
arm_func_start ov117_02262E5C
|
||||
ov117_02262E5C: ; 0x02262E5C
|
||||
stmfd sp!, {r4, lr}
|
||||
mov lr, #0
|
||||
mov r4, lr
|
||||
mov ip, lr
|
||||
mov r1, #0x80000
|
||||
_02262E70:
|
||||
add r3, r0, lr, lsl #5
|
||||
str ip, [r3, #0x10c]
|
||||
str r4, [r3, #0x110]
|
||||
str ip, [r3, #0x114]
|
||||
add r2, r4, #0x10000
|
||||
str r2, [r3, #0x118]
|
||||
str r1, [r3, #0x11c]
|
||||
str r4, [r3, #0x120]
|
||||
str r1, [r3, #0x124]
|
||||
add lr, lr, #1
|
||||
mov r4, r2
|
||||
str r2, [r3, #0x128]
|
||||
cmp lr, #8
|
||||
blt _02262E70
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end ov117_02262E5C
|
||||
|
||||
arm_func_start ov117_02262EAC
|
||||
ov117_02262EAC: ; 0x02262EAC
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
sub sp, sp, #0x48
|
||||
mov sb, #0
|
||||
ldr r6, _02263164 ; =0x1FF00000
|
||||
mov sl, r0
|
||||
mov r4, sb
|
||||
add r8, sp, #2
|
||||
add r7, sp, #0
|
||||
mov fp, sb
|
||||
mov r5, sb
|
||||
_02262ED4:
|
||||
mov r0, #1
|
||||
str r0, [sp, #0x44]
|
||||
mov r0, #0x40
|
||||
add r1, sp, #0x44
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r1, sl, sb, lsl #5
|
||||
ldr r0, [r1, #0xc]
|
||||
ldr r1, [r1, #0x10]
|
||||
mov r2, r8
|
||||
mov r3, r7
|
||||
bl ov117_02263168
|
||||
add r1, sl, sb, lsl #5
|
||||
ldr r0, [r1, #0x10c]
|
||||
ldr r1, [r1, #0x110]
|
||||
mov r0, r0, lsl #8
|
||||
mov r1, r1, lsl #8
|
||||
mov r1, r1, asr #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
mov r0, r0, asr #0x10
|
||||
mov r1, r1, lsr #0x10
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
orr r0, r1, r0, lsr #16
|
||||
str r0, [sp, #0x40]
|
||||
mov r0, #0x22
|
||||
add r1, sp, #0x40
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0x21
|
||||
add r1, sp, #0x3c
|
||||
mov r2, #1
|
||||
str r6, [sp, #0x3c]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
ldrh r3, [sp, #2]
|
||||
ldrh r2, [sp]
|
||||
mov r0, #0x23
|
||||
add r1, sp, #0x34
|
||||
orr r2, r3, r2, lsl #16
|
||||
str r2, [sp, #0x34]
|
||||
mov r2, #2
|
||||
str r5, [sp, #0x38]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r1, sl, sb, lsl #5
|
||||
ldr r0, [r1, #0x14]
|
||||
ldr r1, [r1, #0x18]
|
||||
mov r2, r8
|
||||
mov r3, r7
|
||||
bl ov117_02263168
|
||||
add r1, sl, sb, lsl #5
|
||||
ldr r0, [r1, #0x114]
|
||||
ldr r1, [r1, #0x118]
|
||||
mov r0, r0, lsl #8
|
||||
mov r1, r1, lsl #8
|
||||
mov r1, r1, asr #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
mov r0, r0, asr #0x10
|
||||
mov r1, r1, lsr #0x10
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
orr r0, r1, r0, lsr #16
|
||||
str r0, [sp, #0x30]
|
||||
mov r0, #0x22
|
||||
add r1, sp, #0x30
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0x21
|
||||
add r1, sp, #0x2c
|
||||
mov r2, #1
|
||||
str r6, [sp, #0x2c]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
ldrh r3, [sp, #2]
|
||||
ldrh r2, [sp]
|
||||
mov r0, #0x23
|
||||
add r1, sp, #0x24
|
||||
orr r2, r3, r2, lsl #16
|
||||
str r2, [sp, #0x24]
|
||||
mov r2, #2
|
||||
str r4, [sp, #0x28]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r1, sl, sb, lsl #5
|
||||
ldr r0, [r1, #0x24]
|
||||
ldr r1, [r1, #0x28]
|
||||
mov r2, r8
|
||||
mov r3, r7
|
||||
bl ov117_02263168
|
||||
add r1, sl, sb, lsl #5
|
||||
ldr r0, [r1, #0x124]
|
||||
ldr r1, [r1, #0x128]
|
||||
mov r0, r0, lsl #8
|
||||
mov r1, r1, lsl #8
|
||||
mov r1, r1, asr #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
mov r0, r0, asr #0x10
|
||||
mov r1, r1, lsr #0x10
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
orr r0, r1, r0, lsr #16
|
||||
str r0, [sp, #0x20]
|
||||
mov r0, #0x22
|
||||
add r1, sp, #0x20
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0x21
|
||||
add r1, sp, #0x1c
|
||||
mov r2, #1
|
||||
str r6, [sp, #0x1c]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
ldrh r3, [sp, #2]
|
||||
ldrh r2, [sp]
|
||||
mov r0, #0x23
|
||||
add r1, sp, #0x14
|
||||
orr r2, r3, r2, lsl #16
|
||||
str r2, [sp, #0x14]
|
||||
mov r2, #2
|
||||
str fp, [sp, #0x18]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r1, sl, sb, lsl #5
|
||||
ldr r0, [r1, #0x1c]
|
||||
ldr r1, [r1, #0x20]
|
||||
mov r2, r8
|
||||
mov r3, r7
|
||||
bl ov117_02263168
|
||||
add r1, sl, sb, lsl #5
|
||||
ldr r0, [r1, #0x11c]
|
||||
ldr r1, [r1, #0x120]
|
||||
mov r0, r0, lsl #8
|
||||
mov r1, r1, lsl #8
|
||||
mov r1, r1, asr #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
mov r0, r0, asr #0x10
|
||||
mov r1, r1, lsr #0x10
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
orr r0, r1, r0, lsr #16
|
||||
str r0, [sp, #0x10]
|
||||
mov r0, #0x22
|
||||
add r1, sp, #0x10
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0x21
|
||||
add r1, sp, #0xc
|
||||
mov r2, #1
|
||||
str r6, [sp, #0xc]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
ldrh r3, [sp, #2]
|
||||
ldrh r2, [sp]
|
||||
mov r0, #0x23
|
||||
add r1, sp, #4
|
||||
orr r2, r3, r2, lsl #16
|
||||
str r2, [sp, #4]
|
||||
mov r2, #2
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r1, #0
|
||||
mov r0, #0x41
|
||||
mov r2, r1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add sb, sb, #1
|
||||
cmp sb, #8
|
||||
blt _02262ED4
|
||||
add sp, sp, #0x48
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
; .align 2, 0
|
||||
_02263164: .word 0x1FF00000
|
||||
arm_func_end ov117_02262EAC
|
||||
|
||||
arm_func_start ov117_02263168
|
||||
ov117_02263168: ; 0x02263168
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r4, r0, asr #0x1f
|
||||
mov r5, r1
|
||||
mov r1, r4, lsl #0xc
|
||||
mov r7, r2
|
||||
mov r6, r3
|
||||
orr r1, r1, r0, lsr #20
|
||||
mov r0, r0, lsl #0xc
|
||||
mov r2, #0x80000
|
||||
mov r3, #0
|
||||
bl _ll_sdiv
|
||||
mov r1, r5, asr #0x1f
|
||||
mov r1, r1, lsl #0xc
|
||||
mov r4, r0
|
||||
orr r1, r1, r5, lsr #20
|
||||
mov r0, r5, lsl #0xc
|
||||
mov r2, #0x80000
|
||||
mov r3, #0
|
||||
bl _ll_sdiv
|
||||
mov r5, r0
|
||||
ldr r0, _0226326C ; =0x00007FFF
|
||||
cmp r4, r0
|
||||
ble _022631C8
|
||||
bl GF_AssertFail
|
||||
_022631C8:
|
||||
mov r0, #0x8000
|
||||
rsb r0, r0, #0
|
||||
cmp r4, r0
|
||||
bge _022631DC
|
||||
bl GF_AssertFail
|
||||
_022631DC:
|
||||
ldr r0, _0226326C ; =0x00007FFF
|
||||
cmp r5, r0
|
||||
ble _022631EC
|
||||
bl GF_AssertFail
|
||||
_022631EC:
|
||||
mov r0, #0x8000
|
||||
rsb r0, r0, #0
|
||||
cmp r5, r0
|
||||
bge _02263200
|
||||
bl GF_AssertFail
|
||||
_02263200:
|
||||
ldr r0, _0226326C ; =0x00007FFF
|
||||
sub r1, r4, #0x800
|
||||
cmp r1, r0
|
||||
ble _02263214
|
||||
bl GF_AssertFail
|
||||
_02263214:
|
||||
mov r0, #0x8000
|
||||
sub r1, r4, #0x800
|
||||
rsb r0, r0, #0
|
||||
cmp r1, r0
|
||||
bge _0226322C
|
||||
bl GF_AssertFail
|
||||
_0226322C:
|
||||
ldr r0, _0226326C ; =0x00007FFF
|
||||
add r1, r5, #0x800
|
||||
cmp r1, r0
|
||||
ble _02263240
|
||||
bl GF_AssertFail
|
||||
_02263240:
|
||||
mov r0, #0x8000
|
||||
add r1, r5, #0x800
|
||||
rsb r0, r0, #0
|
||||
cmp r1, r0
|
||||
bge _02263258
|
||||
bl GF_AssertFail
|
||||
_02263258:
|
||||
sub r0, r4, #0x800
|
||||
strh r0, [r7]
|
||||
add r0, r5, #0x800
|
||||
strh r0, [r6]
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_0226326C: .word 0x00007FFF
|
||||
arm_func_end ov117_02263168
|
||||
|
||||
arm_func_start ov117_02263270
|
||||
ov117_02263270: ; 0x02263270
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
mov r4, r0
|
||||
ldr r1, [r4, #0x238]
|
||||
cmp r1, #1
|
||||
ldrne r1, [r4, #0x218]
|
||||
cmpne r1, #0
|
||||
moveq r0, #0
|
||||
ldmeqia sp!, {r3, r4, r5, pc}
|
||||
ldr r2, [r4, #0x270]
|
||||
ldr r3, _0226333C ; =0x02266B07
|
||||
ldr r1, _02263340 ; =0x02266B05
|
||||
ldrb lr, [r3, r2, lsl #2]
|
||||
ldr r5, [r4, #0x230]
|
||||
ldrb r3, [r1, r2, lsl #2]
|
||||
ldr ip, [r4, #0x20c]
|
||||
add r1, lr, r5, asr #12
|
||||
cmp ip, r3
|
||||
blt _022632E4
|
||||
ldr r3, _02263344 ; =0x02266B06
|
||||
ldrb r3, [r3, r2, lsl #2]
|
||||
cmp ip, r3
|
||||
bgt _022632E4
|
||||
ldr ip, [r4, #0x210]
|
||||
cmp ip, r1
|
||||
blt _022632E4
|
||||
ldr r3, _02263348 ; =0x02266B08
|
||||
ldrb r2, [r3, r2, lsl #2]
|
||||
cmp ip, r2
|
||||
ble _022632EC
|
||||
_022632E4:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
_022632EC:
|
||||
mov r2, #1
|
||||
str r2, [r4, #0x238]
|
||||
ldr r2, [r4, #0x20c]
|
||||
str r2, [r4, #0x224]
|
||||
ldr r2, [r4, #0x210]
|
||||
str r2, [r4, #0x228]
|
||||
ldr r2, [r4, #0x210]
|
||||
sub r1, r2, r1
|
||||
str r1, [r4, #0x22c]
|
||||
ldr r2, [r4, #0x20]
|
||||
ldr r1, [r4, #0x10]
|
||||
sub r1, r1, r2
|
||||
add r1, r1, r1, lsr #31
|
||||
add r1, r2, r1, asr #1
|
||||
rsb r1, r1, #0
|
||||
str r1, [r4, #0x230]
|
||||
bl ov117_022638AC
|
||||
str r0, [r4, #0x240]
|
||||
mov r0, #1
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_0226333C: .word 0x02266B07
|
||||
_02263340: .word 0x02266B05
|
||||
_02263344: .word 0x02266B06
|
||||
_02263348: .word 0x02266B08
|
||||
arm_func_end ov117_02263270
|
||||
|
||||
arm_func_start ov117_0226334C
|
||||
ov117_0226334C: ; 0x0226334C
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
mov r5, r0
|
||||
ldr r0, [r5, #0x238]
|
||||
mov r4, #0
|
||||
cmp r0, #1
|
||||
bne _022633E8
|
||||
ldr r2, [r5, #0x23c]
|
||||
ldr r1, [r5, #0x210]
|
||||
cmp r1, r2
|
||||
movlt r0, r4
|
||||
strltb r4, [r5, #0x274]
|
||||
ldmltia sp!, {r3, r4, r5, pc}
|
||||
streqb r4, [r5, #0x274]
|
||||
moveq r0, #1
|
||||
ldmeqia sp!, {r3, r4, r5, pc}
|
||||
sub r0, r4, #1
|
||||
cmp r2, r0
|
||||
beq _022633BC
|
||||
cmp r1, r2
|
||||
ble _022633BC
|
||||
ldr r0, _02263440 ; =0x00000577
|
||||
bl sub_020057D4
|
||||
cmp r0, #0
|
||||
bne _022633BC
|
||||
ldr r0, _02263440 ; =0x00000577
|
||||
bl sub_02005748
|
||||
mov r0, #1
|
||||
strb r0, [r5, #0x274]
|
||||
_022633BC:
|
||||
ldr r1, [r5, #0x270]
|
||||
ldr r0, _02263444 ; =0x02266B07
|
||||
ldr ip, [r5, #0x210]
|
||||
ldr r3, [r5, #0x22c]
|
||||
ldr r2, [r5, #0x230]
|
||||
ldrb r0, [r0, r1, lsl #2]
|
||||
sub r1, ip, r3
|
||||
str ip, [r5, #0x23c]
|
||||
add r0, r2, r0, lsl #12
|
||||
rsb r2, r0, r1, lsl #12
|
||||
b _022633F4
|
||||
_022633E8:
|
||||
ldr r0, [r5, #0x248]
|
||||
mov r4, #1
|
||||
rsb r2, r0, #0
|
||||
_022633F4:
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
bl ov117_02263448
|
||||
cmp r0, #0
|
||||
beq _0226341C
|
||||
cmp r0, #1
|
||||
cmpne r0, #2
|
||||
bne _0226341C
|
||||
mov r0, r5
|
||||
blx ov117_02262A38
|
||||
_0226341C:
|
||||
ldr r2, [r5, #0x20]
|
||||
ldr r1, [r5, #0x10]
|
||||
mov r0, #1
|
||||
sub r1, r1, r2
|
||||
add r1, r1, r1, lsr #31
|
||||
add r1, r2, r1, asr #1
|
||||
rsb r1, r1, #0
|
||||
str r1, [r5, #0x230]
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_02263440: .word 0x00000577
|
||||
_02263444: .word 0x02266B07
|
||||
arm_func_end ov117_0226334C
|
||||
|
||||
arm_func_start ov117_02263448
|
||||
ov117_02263448: ; 0x02263448
|
||||
stmfd sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
sub sp, sp, #0x14
|
||||
mov r4, r0
|
||||
ldr r5, [r4, #0x10]
|
||||
ldr r3, [r4, #0x20]
|
||||
rsb r6, r5, #0
|
||||
rsb r7, r3, #0
|
||||
sub r3, r6, r7
|
||||
add r3, r3, r3, lsr #31
|
||||
mov r5, r2
|
||||
mov r2, #0
|
||||
mov sb, r1
|
||||
add r8, r7, r3, asr #1
|
||||
str r2, [sp, #8]
|
||||
bl ov117_022637AC
|
||||
cmp r0, #0
|
||||
beq _022634A0
|
||||
cmp r0, #1
|
||||
beq _022634B4
|
||||
cmp r0, #2
|
||||
beq _022634E0
|
||||
b _02263508
|
||||
_022634A0:
|
||||
add r1, r6, r5
|
||||
add r0, r7, r5
|
||||
str r1, [sp, #0x10]
|
||||
str r0, [sp, #0xc]
|
||||
b _02263508
|
||||
_022634B4:
|
||||
add r0, sp, #0x10
|
||||
str r0, [sp]
|
||||
add sl, sp, #0xc
|
||||
mov r0, r4
|
||||
mov r1, r5
|
||||
mov r2, r6
|
||||
mov r3, r7
|
||||
str sl, [sp, #4]
|
||||
bl ov117_022637E4
|
||||
str r0, [sp, #8]
|
||||
b _02263508
|
||||
_022634E0:
|
||||
add r0, sp, #0xc
|
||||
str r0, [sp]
|
||||
add sl, sp, #0x10
|
||||
mov r0, r4
|
||||
mov r1, r5
|
||||
mov r2, r7
|
||||
mov r3, r6
|
||||
str sl, [sp, #4]
|
||||
bl ov117_022637E4
|
||||
str r0, [sp, #8]
|
||||
_02263508:
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r2, [sp, #0x10]
|
||||
sub r0, r2, r1
|
||||
add r0, r0, r0, lsr #31
|
||||
add r5, r1, r0, asr #1
|
||||
cmp r8, r5
|
||||
cmpeq r6, r2
|
||||
cmpeq r7, r1
|
||||
addeq sp, sp, #0x14
|
||||
moveq r0, #0
|
||||
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
cmp r5, #0
|
||||
movlt r5, #0
|
||||
cmp r2, #0
|
||||
movlt r0, #0
|
||||
strlt r0, [sp, #0x10]
|
||||
cmp r1, #0
|
||||
movlt r0, #0
|
||||
strlt r0, [sp, #0xc]
|
||||
cmp r5, #0x64000
|
||||
movgt r0, #1
|
||||
strgt r0, [sp, #8]
|
||||
ldr r0, [sp, #0x10]
|
||||
movgt r5, #0x64000
|
||||
cmp r0, #0x64000
|
||||
ble _02263580
|
||||
mov r0, #0x64000
|
||||
str r0, [sp, #0x10]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
_02263580:
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, #0x64000
|
||||
ble _0226359C
|
||||
mov r0, #0x64000
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
_0226359C:
|
||||
mov r0, r4
|
||||
mov r1, sb
|
||||
bl ov117_022637AC
|
||||
cmp r0, #0
|
||||
beq _022635C0
|
||||
cmp r0, #1
|
||||
beq _02263600
|
||||
cmp r0, #2
|
||||
beq _022635E0
|
||||
_022635C0:
|
||||
ldr r0, [sp, #0xc]
|
||||
mov r1, #0x40000
|
||||
sub r0, r0, r5
|
||||
bl FX_Atan2Idx
|
||||
add r1, r0, #0x8000
|
||||
mov r1, r1, lsl #0x10
|
||||
mov fp, r1, lsr #0x10
|
||||
b _02263624
|
||||
_022635E0:
|
||||
ldr r0, [sp, #0xc]
|
||||
mov r1, #0x40000
|
||||
sub r0, r0, r5
|
||||
bl FX_Atan2Idx
|
||||
add r1, r0, #0x8000
|
||||
mov r1, r1, lsl #0x10
|
||||
mov fp, r1, lsr #0x10
|
||||
b _02263624
|
||||
_02263600:
|
||||
ldr r0, [sp, #0x10]
|
||||
mov r1, #0x40000
|
||||
sub r0, r0, r5
|
||||
rsb r1, r1, #0
|
||||
bl FX_Atan2Idx
|
||||
mov fp, r0
|
||||
add r0, fp, #0x8000
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r0, r0, lsr #0x10
|
||||
_02263624:
|
||||
mov r1, fp, asr #4
|
||||
mov r7, r1, lsl #1
|
||||
add r2, r7, #1
|
||||
ldr r1, _022637A4 ; =0x020F983C
|
||||
mov r2, r2, lsl #1
|
||||
ldrsh r3, [r1, r2]
|
||||
mov r2, r0, asr #4
|
||||
mov r6, r2, lsl #1
|
||||
mov r2, r3, lsl #6
|
||||
add r2, r2, #0x40000
|
||||
str r2, [r4, #0xc]
|
||||
mov r2, r7, lsl #1
|
||||
ldrsh r7, [r1, r2]
|
||||
add r2, r6, #1
|
||||
mov r2, r2, lsl #1
|
||||
add r7, r5, r7, lsl #6
|
||||
rsb r7, r7, #0
|
||||
str r7, [r4, #0x10]
|
||||
ldrsh r7, [r1, r2]
|
||||
ldr r2, _022637A8 ; =0x92492493
|
||||
rsb r3, r5, #0x70000
|
||||
mov r7, r7, lsl #6
|
||||
add r7, r7, #0x40000
|
||||
mov r6, r6, lsl #1
|
||||
str r7, [r4, #0x1c]
|
||||
ldrsh r6, [r1, r6]
|
||||
smull r1, lr, r2, r3
|
||||
add r1, r5, r6, lsl #6
|
||||
rsb r6, r1, #0
|
||||
add lr, r3, lr
|
||||
mov r1, r3, lsr #0x1f
|
||||
str r6, [r4, #0x20]
|
||||
cmp r0, #0x8000
|
||||
add lr, r1, lr, asr #2
|
||||
smullls r1, r6, r2, r0
|
||||
addls r6, r0, r6
|
||||
movls r1, r0, lsr #0x1f
|
||||
bls _022636D0
|
||||
rsb r1, r0, #0x10000
|
||||
rsb r3, r1, #0
|
||||
smull r1, r6, r2, r3
|
||||
add r6, r3, r6
|
||||
mov r1, r3, lsr #0x1f
|
||||
_022636D0:
|
||||
add r6, r1, r6, asr #2
|
||||
ldr r3, _022637A4 ; =0x020F983C
|
||||
mov r7, r6
|
||||
mov r8, lr
|
||||
mov ip, #1
|
||||
_022636E4:
|
||||
sub r1, fp, r7
|
||||
mov r1, r1, asr #4
|
||||
mov r1, r1, lsl #1
|
||||
add r2, r3, r1, lsl #1
|
||||
ldrsh sb, [r2, #2]
|
||||
sub r2, r0, r7
|
||||
mov r1, r1, lsl #1
|
||||
mov sb, sb, lsl #6
|
||||
add sl, sb, #0x40000
|
||||
mov r2, r2, asr #4
|
||||
mov sb, r2, lsl #1
|
||||
add r2, r4, ip, lsl #5
|
||||
str sl, [r2, #0xc]
|
||||
ldrsh r1, [r3, r1]
|
||||
mov sl, sb, lsl #1
|
||||
add sb, r3, sb, lsl #1
|
||||
add r1, r5, r1, lsl #6
|
||||
add r1, r8, r1
|
||||
rsb r1, r1, #0
|
||||
str r1, [r2, #0x10]
|
||||
ldrsh r1, [sb, #2]
|
||||
add r7, r7, r6
|
||||
add ip, ip, #1
|
||||
mov r1, r1, lsl #6
|
||||
add r1, r1, #0x40000
|
||||
str r1, [r2, #0x1c]
|
||||
ldrsh r1, [r3, sl]
|
||||
cmp ip, #7
|
||||
add r1, r5, r1, lsl #6
|
||||
add r1, r8, r1
|
||||
rsb r1, r1, #0
|
||||
str r1, [r2, #0x20]
|
||||
ldr r1, [r2, #0xc]
|
||||
add r8, r8, lr
|
||||
str r1, [r2, #-0xc]
|
||||
ldr r1, [r2, #0x10]
|
||||
str r1, [r2, #-8]
|
||||
ldr r1, [r2, #0x1c]
|
||||
str r1, [r2, #4]
|
||||
ldr r1, [r2, #0x20]
|
||||
str r1, [r2, #8]
|
||||
blt _022636E4
|
||||
ldr r0, [sp, #8]
|
||||
cmp r0, #1
|
||||
moveq r0, #2
|
||||
movne r0, #0
|
||||
add sp, sp, #0x14
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
; .align 2, 0
|
||||
_022637A4: .word 0x020F983C
|
||||
_022637A8: .word 0x92492493
|
||||
arm_func_end ov117_02263448
|
||||
|
||||
arm_func_start ov117_022637AC
|
||||
ov117_022637AC: ; 0x022637AC
|
||||
cmp r1, #1
|
||||
moveq r0, #0
|
||||
bxeq lr
|
||||
ldr r2, [r0, #0x21c]
|
||||
ldr r1, [r0, #0x224]
|
||||
sub r0, r2, #0x10
|
||||
cmp r1, r0
|
||||
movlt r0, #1
|
||||
bxlt lr
|
||||
add r0, r2, #0x10
|
||||
cmp r1, r0
|
||||
movgt r0, #2
|
||||
movle r0, #0
|
||||
bx lr
|
||||
arm_func_end ov117_022637AC
|
||||
|
||||
arm_func_start ov117_022637E4
|
||||
ov117_022637E4: ; 0x022637E4
|
||||
stmfd sp!, {r4, lr}
|
||||
ldr lr, [sp, #8]
|
||||
add r4, r2, r1
|
||||
mov r0, #0
|
||||
cmp r4, #0x64000
|
||||
subgt r0, r4, #0x64000
|
||||
subgt r1, r1, r0
|
||||
movgt r0, #1
|
||||
ldr ip, [sp, #0xc]
|
||||
str r2, [lr]
|
||||
str r3, [ip]
|
||||
add r4, r2, r1
|
||||
str r4, [lr]
|
||||
cmp r3, r2
|
||||
strgt r3, [ip]
|
||||
ldmgtia sp!, {r4, pc}
|
||||
mov r2, #0x19
|
||||
mul r2, r1, r2
|
||||
ldr lr, _02263848 ; =0x51EB851F
|
||||
mov r1, r2, lsr #0x1f
|
||||
smull r2, r4, lr, r2
|
||||
add r4, r1, r4, asr #5
|
||||
sub r1, r3, r4
|
||||
str r1, [ip]
|
||||
ldmia sp!, {r4, pc}
|
||||
; .align 2, 0
|
||||
_02263848: .word 0x51EB851F
|
||||
arm_func_end ov117_022637E4
|
||||
|
||||
arm_func_start ov117_0226384C
|
||||
ov117_0226384C: ; 0x0226384C
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
ldr r5, [r0, #0x20]
|
||||
ldr r1, [r0, #0x10]
|
||||
ldr r4, [r0, #0x1c]
|
||||
sub r1, r1, r5
|
||||
add r1, r1, r1, lsr #31
|
||||
ldr lr, [r0, #0xc]
|
||||
ldr ip, [r0, #0xe4]
|
||||
ldr r3, [r0, #0xd4]
|
||||
ldr r2, [r0, #0xd8]
|
||||
add r0, r5, r1, asr #1
|
||||
sub r0, r2, r0
|
||||
sub r2, r4, lr
|
||||
sub r1, ip, r3
|
||||
add r1, r2, r1
|
||||
rsb r0, r0, #0
|
||||
smull r2, r0, r1, r0
|
||||
adds r1, r2, #0x800
|
||||
adc r0, r0, #0
|
||||
mov r1, r1, lsr #0xc
|
||||
orr r1, r1, r0, lsl #20
|
||||
add r0, r1, r1, lsr #31
|
||||
mov r0, r0, asr #1
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end ov117_0226384C
|
||||
|
||||
arm_func_start ov117_022638AC
|
||||
ov117_022638AC: ; 0x022638AC
|
||||
stmfd sp!, {r3, lr}
|
||||
bl ov117_0226384C
|
||||
mov r2, #0x64
|
||||
umull r3, r1, r0, r2
|
||||
mov r0, r0, asr #0x1f
|
||||
mla r1, r0, r2, r1
|
||||
mov r0, r3
|
||||
mov r3, #0
|
||||
mov r2, #0x3200000
|
||||
bl _ll_sdiv
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov117_022638AC
|
||||
|
||||
arm_func_start ov117_022638D8
|
||||
ov117_022638D8: ; 0x022638D8
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
sub sp, sp, #0x18
|
||||
mov r5, r0
|
||||
mov r0, #0xad
|
||||
mov r1, #0x6e
|
||||
bl sub_02006C24
|
||||
mov r4, r0
|
||||
str r4, [sp]
|
||||
mov r0, #0x3a
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
mov r1, #1
|
||||
str r1, [sp, #0xc]
|
||||
ldr r0, _022639B4 ; =0x00002715
|
||||
str r1, [sp, #0x10]
|
||||
str r0, [sp, #0x14]
|
||||
ldr r0, [r5, #0x8c]
|
||||
ldr r2, [r5, #0x24]
|
||||
ldr r3, [r5, #0x28]
|
||||
mov r1, #2
|
||||
bl sub_0200CDC4
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r1, #1
|
||||
ldr r0, _022639B8 ; =0x00002713
|
||||
str r1, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, #0x24]
|
||||
ldr r1, [r5, #0x28]
|
||||
mov r2, r4
|
||||
mov r3, #0x37
|
||||
bl sub_0200CC3C
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, _022639B8 ; =0x00002713
|
||||
mov r2, r4
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r5, #0x24]
|
||||
ldr r1, [r5, #0x28]
|
||||
mov r3, #0x39
|
||||
bl sub_0200CE24
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, _022639B8 ; =0x00002713
|
||||
mov r2, r4
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r5, #0x24]
|
||||
ldr r1, [r5, #0x28]
|
||||
mov r3, #0x38
|
||||
bl sub_0200CE54
|
||||
mov r0, r4
|
||||
bl sub_02006CA8
|
||||
add sp, sp, #0x18
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_022639B4: .word 0x00002715
|
||||
_022639B8: .word 0x00002713
|
||||
arm_func_end ov117_022638D8
|
||||
|
||||
arm_func_start ov117_022639BC
|
||||
ov117_022639BC: ; 0x022639BC
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r1, _022639F8 ; =0x00002713
|
||||
bl sub_0200D070
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r1, _022639F8 ; =0x00002713
|
||||
bl sub_0200D090
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r1, _022639F8 ; =0x00002713
|
||||
bl sub_0200D0A0
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r1, _022639FC ; =0x00002715
|
||||
bl sub_0200D080
|
||||
ldmia sp!, {r4, pc}
|
||||
; .align 2, 0
|
||||
_022639F8: .word 0x00002713
|
||||
_022639FC: .word 0x00002715
|
||||
arm_func_end ov117_022639BC
|
||||
|
||||
arm_func_start ov117_02263A00
|
||||
ov117_02263A00: ; 0x02263A00
|
||||
stmfd sp!, {r4, r5, lr}
|
||||
sub sp, sp, #0x34
|
||||
ldr lr, _02263A68 ; =0x02266B38
|
||||
mov r5, r0
|
||||
ldmia lr!, {r0, r1, r2, r3}
|
||||
add ip, sp, #0
|
||||
mov r4, ip
|
||||
stmia ip!, {r0, r1, r2, r3}
|
||||
ldmia lr!, {r0, r1, r2, r3}
|
||||
stmia ip!, {r0, r1, r2, r3}
|
||||
ldmia lr!, {r0, r1, r2, r3}
|
||||
stmia ip!, {r0, r1, r2, r3}
|
||||
ldr r0, [lr]
|
||||
mov r2, r4
|
||||
str r0, [ip]
|
||||
ldr r0, [r5, #0x24]
|
||||
ldr r1, [r5, #0x28]
|
||||
bl sub_0200CE6C
|
||||
mov r4, r0
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_0200D324
|
||||
mov r0, r4
|
||||
add sp, sp, #0x34
|
||||
ldmia sp!, {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_02263A68: .word 0x02266B38
|
||||
arm_func_end ov117_02263A00
|
||||
|
||||
arm_func_start ov117_02263A6C
|
||||
ov117_02263A6C: ; 0x02263A6C
|
||||
stmfd sp!, {r4, r5, r6, lr}
|
||||
mov r6, r0
|
||||
ldr r2, [r6, #0x238]
|
||||
mov r5, r1
|
||||
cmp r2, #0
|
||||
moveq r4, #0
|
||||
beq _02263A94
|
||||
mov r1, #0
|
||||
bl ov117_022637AC
|
||||
add r4, r0, #1
|
||||
_02263A94:
|
||||
ldr r1, [r6, #0x270]
|
||||
ldr r0, _02263AE0 ; =0x02266B07
|
||||
ldr r3, [r6, #0x21c]
|
||||
ldrb r0, [r0, r1, lsl #2]
|
||||
ldr r2, [r6, #0x230]
|
||||
mov r1, r3, lsl #0x10
|
||||
add r0, r0, r2, asr #12
|
||||
mov r2, r0, lsl #0x10
|
||||
mov r0, r5
|
||||
mov r1, r1, asr #0x10
|
||||
mov r2, r2, asr #0x10
|
||||
mov r3, #0x160000
|
||||
bl sub_0200D500
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
bl sub_0200D364
|
||||
ldr r0, [r5, #0]
|
||||
bl sub_0200D324
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_02263AE0: .word 0x02266B07
|
||||
arm_func_end ov117_02263A6C
|
||||
|
||||
arm_func_start ov117_02263AE4
|
||||
ov117_02263AE4: ; 0x02263AE4
|
||||
ldr ip, _02263AEC ; =sub_0200D0F4
|
||||
bx ip
|
||||
; .align 2, 0
|
||||
_02263AEC: .word sub_0200D0F4
|
||||
arm_func_end ov117_02263AE4
|
||||
|
||||
.rodata
|
||||
|
||||
.global Unk_ov117_02266B04
|
||||
Unk_ov117_02266B04: ; 0x02266B04
|
||||
.incbin "incbin/overlay117_rodata.bin", 0x20C, 0x20D - 0x20C
|
||||
|
||||
.global Unk_ov117_02266B05
|
||||
Unk_ov117_02266B05: ; 0x02266B05
|
||||
.incbin "incbin/overlay117_rodata.bin", 0x20D, 0x21A - 0x20D
|
||||
|
||||
.global Unk_ov117_02266B12
|
||||
Unk_ov117_02266B12: ; 0x02266B12
|
||||
.incbin "incbin/overlay117_rodata.bin", 0x21A, 0x240 - 0x21A
|
||||
|
||||
.global Unk_ov117_02266B38
|
||||
Unk_ov117_02266B38: ; 0x02266B38
|
||||
.incbin "incbin/overlay117_rodata.bin", 0x240, 0x274 - 0x240
|
||||
@@ -1,46 +0,0 @@
|
||||
.public sub_0200393C
|
||||
.public sub_02005748
|
||||
.public sub_02006AC0
|
||||
.public sub_02018144
|
||||
.public sub_020181C4
|
||||
.public sub_020182F0
|
||||
.public sub_0201CBCC
|
||||
.public GF_AssertFail
|
||||
.public NNS_G3dGeFlushBuffer
|
||||
.public NNS_G3dGeBufferOP_N
|
||||
.public NNS_G3dGetTex
|
||||
.public GX_BeginLoadTexPltt
|
||||
.public GX_LoadTexPltt
|
||||
.public GX_EndLoadTexPltt
|
||||
.public DC_FlushRange
|
||||
.public MI_CpuFill8
|
||||
.public MI_CpuCopy8
|
||||
.public _s32_div_f
|
||||
.public ov117_02261600
|
||||
.public ov117_0226296C
|
||||
.public ov117_02262998
|
||||
.public ov117_022629E0
|
||||
.public ov117_02262A38
|
||||
.public ov117_02262A70
|
||||
.public ov117_02262B98
|
||||
.public ov117_02262C3C
|
||||
.public ov117_02262C60
|
||||
.public ov117_02262CB8
|
||||
.public ov117_02262CE8
|
||||
.public ov117_02262CFC
|
||||
.public ov117_02262D4C
|
||||
.public ov117_02262D98
|
||||
.public ov117_02262E0C
|
||||
.public ov117_02262E5C
|
||||
.public ov117_02262EAC
|
||||
.public ov117_02263270
|
||||
.public ov117_0226334C
|
||||
.public ov117_022638AC
|
||||
.public ov117_022638D8
|
||||
.public ov117_022639BC
|
||||
.public ov117_02263A00
|
||||
.public ov117_02263A6C
|
||||
.public ov117_02263AE4
|
||||
.public ov117_02263DC4
|
||||
.public ov117_02264E14
|
||||
.public ov117_02264E3C
|
||||
@@ -1,891 +0,0 @@
|
||||
.include "macros/function.inc"
|
||||
.include "overlay117/ov117_022626B0_thumb.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ov117_022626B0
|
||||
ov117_022626B0: ; 0x022626B0
|
||||
push {r3, r4, r5, lr}
|
||||
mov r1, #0x9e
|
||||
add r5, r0, #0
|
||||
mov r0, #0x6e
|
||||
lsl r1, r1, #2
|
||||
bl sub_02018144
|
||||
mov r2, #0x9e
|
||||
mov r1, #0
|
||||
lsl r2, r2, #2
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
ldr r0, [r5, #0]
|
||||
ldr r1, [r0, #0x34]
|
||||
mov r0, #0x27
|
||||
lsl r0, r0, #4
|
||||
str r1, [r4, r0]
|
||||
add r0, r4, #0
|
||||
bl ov117_02262B98
|
||||
add r0, r4, #0
|
||||
blx ov117_02262E0C
|
||||
add r0, r4, #0
|
||||
blx ov117_02262E5C
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, #0x34]
|
||||
cmp r0, #1
|
||||
beq _02262706
|
||||
cmp r0, #2
|
||||
bne _0226271A
|
||||
mov r1, #1
|
||||
mov r0, #0x26
|
||||
lsl r1, r1, #0x12
|
||||
lsl r0, r0, #4
|
||||
str r1, [r4, r0]
|
||||
mov r1, #0x1a
|
||||
lsl r1, r1, #0xe
|
||||
add r0, r0, #4
|
||||
str r1, [r4, r0]
|
||||
b _02262728
|
||||
_02262706:
|
||||
mov r1, #9
|
||||
mov r0, #0x26
|
||||
lsl r1, r1, #0x10
|
||||
lsl r0, r0, #4
|
||||
str r1, [r4, r0]
|
||||
mov r1, #7
|
||||
lsl r1, r1, #0x10
|
||||
add r0, r0, #4
|
||||
str r1, [r4, r0]
|
||||
b _02262728
|
||||
_0226271A:
|
||||
mov r1, #6
|
||||
mov r0, #0x26
|
||||
lsl r1, r1, #0x10
|
||||
lsl r0, r0, #4
|
||||
str r1, [r4, r0]
|
||||
add r0, r0, #4
|
||||
str r1, [r4, r0]
|
||||
_02262728:
|
||||
mov r0, #0x87
|
||||
mov r1, #0x80
|
||||
lsl r0, r0, #2
|
||||
str r1, [r4, r0]
|
||||
mov r1, #0x28
|
||||
add r0, r0, #4
|
||||
str r1, [r4, r0]
|
||||
add r0, r5, #0
|
||||
blx ov117_022638D8
|
||||
add r0, r5, #0
|
||||
blx ov117_02263A00
|
||||
mov r1, #0x8d
|
||||
lsl r1, r1, #2
|
||||
str r0, [r4, r1]
|
||||
ldr r1, [r4, r1]
|
||||
add r0, r4, #0
|
||||
blx ov117_02263A6C
|
||||
mov r1, #2
|
||||
mov r0, #0x92
|
||||
lsl r1, r1, #0xc
|
||||
lsl r0, r0, #2
|
||||
str r1, [r4, r0]
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_022626B0
|
||||
|
||||
thumb_func_start ov117_02262760
|
||||
ov117_02262760: ; 0x02262760
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
mov r0, #0x8d
|
||||
add r4, r1, #0
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
blx ov117_02263AE4
|
||||
add r0, r5, #0
|
||||
blx ov117_022639BC
|
||||
ldr r0, [r4, #0]
|
||||
bl sub_020181C4
|
||||
mov r0, #0x93
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
bl sub_020181C4
|
||||
mov r0, #0x25
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r4, r0]
|
||||
bl sub_020181C4
|
||||
add r0, r4, #0
|
||||
bl sub_020181C4
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov117_02262760
|
||||
|
||||
thumb_func_start ov117_02262798
|
||||
ov117_02262798: ; 0x02262798
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
add r4, r1, #0
|
||||
mov r1, #0x91
|
||||
add r5, r0, #0
|
||||
mov r0, #0
|
||||
lsl r1, r1, #2
|
||||
str r0, [r4, r1]
|
||||
ldr r0, [r5, #0x20]
|
||||
cmp r0, #2
|
||||
bne _022627D8
|
||||
ldr r0, _02262938 ; =0x00001758
|
||||
add r2, r1, #0
|
||||
ldr r3, [r5, r0]
|
||||
sub r2, #0x38
|
||||
str r3, [r4, r2]
|
||||
add r2, r0, #4
|
||||
ldr r3, [r5, r2]
|
||||
add r2, r1, #0
|
||||
sub r2, #0x34
|
||||
str r3, [r4, r2]
|
||||
add r2, r0, #0
|
||||
add r2, #8
|
||||
ldr r3, [r5, r2]
|
||||
add r2, r1, #0
|
||||
sub r2, #0x30
|
||||
str r3, [r4, r2]
|
||||
add r0, #0xc
|
||||
ldr r0, [r5, r0]
|
||||
sub r1, #0x2c
|
||||
str r0, [r4, r1]
|
||||
b _02262820
|
||||
_022627D8:
|
||||
ldr r0, _0226293C ; =0x00002FB8
|
||||
ldr r2, [r5, r0]
|
||||
cmp r2, #0
|
||||
beq _022627E8
|
||||
add r0, r0, #4
|
||||
ldr r0, [r5, r0]
|
||||
cmp r0, #1
|
||||
bne _02262800
|
||||
_022627E8:
|
||||
mov r1, #0x83
|
||||
lsl r1, r1, #2
|
||||
mov r2, #0
|
||||
str r2, [r4, r1]
|
||||
add r0, r1, #4
|
||||
str r2, [r4, r0]
|
||||
add r0, r1, #0
|
||||
add r0, #8
|
||||
str r2, [r4, r0]
|
||||
add r1, #0xc
|
||||
str r2, [r4, r1]
|
||||
b _02262820
|
||||
_02262800:
|
||||
ldr r2, _02262940 ; =0x021BF6BC
|
||||
add r0, r1, #0
|
||||
ldrh r3, [r2, #0x1c]
|
||||
sub r0, #0x38
|
||||
str r3, [r4, r0]
|
||||
add r0, r1, #0
|
||||
ldrh r3, [r2, #0x1e]
|
||||
sub r0, #0x34
|
||||
str r3, [r4, r0]
|
||||
add r0, r1, #0
|
||||
ldrh r3, [r2, #0x22]
|
||||
sub r0, #0x30
|
||||
sub r1, #0x2c
|
||||
str r3, [r4, r0]
|
||||
ldrh r0, [r2, #0x20]
|
||||
str r0, [r4, r1]
|
||||
_02262820:
|
||||
add r0, r4, #0
|
||||
blx ov117_02263270
|
||||
mov r0, #0x85
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
bne _02262846
|
||||
add r0, r4, #0
|
||||
bl ov117_02262A38
|
||||
ldr r0, [r4, #0x20]
|
||||
cmp r0, #0
|
||||
bne _02262846
|
||||
bne _02262846
|
||||
mov r0, #0x9d
|
||||
mov r1, #0
|
||||
lsl r0, r0, #2
|
||||
strb r1, [r4, r0]
|
||||
_02262846:
|
||||
add r0, r4, #0
|
||||
blx ov117_0226334C
|
||||
add r0, r4, #0
|
||||
bl ov117_02262A70
|
||||
mov r1, #0x8d
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r4, r1]
|
||||
add r0, r4, #0
|
||||
blx ov117_02263A6C
|
||||
mov r0, #0x9a
|
||||
lsl r0, r0, #2
|
||||
ldrsh r1, [r4, r0]
|
||||
cmp r1, #0
|
||||
ble _0226287C
|
||||
add r1, #8
|
||||
strh r1, [r4, r0]
|
||||
ldrsh r1, [r4, r0]
|
||||
cmp r1, #0x1e
|
||||
ble _02262876
|
||||
mov r1, #0x1e
|
||||
strh r1, [r4, r0]
|
||||
_02262876:
|
||||
add r0, r4, #0
|
||||
bl ov117_02262CFC
|
||||
_0226287C:
|
||||
ldr r0, _02262944 ; =0x00002FBC
|
||||
ldr r1, [r5, r0]
|
||||
cmp r1, #0
|
||||
bne _02262934
|
||||
sub r0, r0, #4
|
||||
ldr r0, [r5, r0]
|
||||
cmp r0, #1
|
||||
bne _02262934
|
||||
mov r2, #0x91
|
||||
lsl r2, r2, #2
|
||||
ldr r1, [r4, r2]
|
||||
cmp r1, #0
|
||||
ble _02262934
|
||||
add r0, r2, #0
|
||||
add r0, #0x18
|
||||
ldr r0, [r4, r0]
|
||||
add r2, #0xdc
|
||||
mov r7, #0
|
||||
cmp r0, r2
|
||||
bge _022628C4
|
||||
add r0, r4, #0
|
||||
bl ov117_02262CB8
|
||||
cmp r0, #1
|
||||
bne _022628D4
|
||||
mov r0, #0x9a
|
||||
mov r1, #8
|
||||
lsl r0, r0, #2
|
||||
strh r1, [r4, r0]
|
||||
add r1, r7, #0
|
||||
add r0, #0xd
|
||||
strb r1, [r4, r0]
|
||||
ldr r0, _02262948 ; =0x00000576
|
||||
bl sub_02005748
|
||||
b _022628D4
|
||||
_022628C4:
|
||||
add r0, r4, #0
|
||||
bl ov117_02262CE8
|
||||
mov r0, #0x9a
|
||||
add r1, r7, #0
|
||||
lsl r0, r0, #2
|
||||
strh r1, [r4, r0]
|
||||
mov r7, #1
|
||||
_022628D4:
|
||||
mov r1, #0x91
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r4, r1]
|
||||
add r0, r4, #0
|
||||
bl ov117_0226296C
|
||||
add r6, r0, #0
|
||||
cmp r7, #1
|
||||
bne _022628F2
|
||||
mov r0, #0x19
|
||||
mul r0, r6
|
||||
mov r1, #0x64
|
||||
bl _s32_div_f
|
||||
add r6, r6, r0
|
||||
_022628F2:
|
||||
ldr r1, _0226294C ; =0x00002FC8
|
||||
add r0, r5, #0
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r6, #0
|
||||
add r3, sp, #0
|
||||
bl ov117_02264E14
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl ov117_02264E3C
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl ov117_02263DC4
|
||||
mov r1, #0x91
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r4, r1]
|
||||
add r0, r4, #0
|
||||
bl ov117_02262998
|
||||
mov r2, #0x91
|
||||
lsl r2, r2, #2
|
||||
ldr r2, [r4, r2]
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
add r3, r7, #0
|
||||
bl ov117_022629E0
|
||||
mov r0, #0x91
|
||||
mov r1, #0
|
||||
lsl r0, r0, #2
|
||||
str r1, [r4, r0]
|
||||
_02262934:
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_02262938: .word 0x00001758
|
||||
_0226293C: .word 0x00002FB8
|
||||
_02262940: .word 0x021BF6BC
|
||||
_02262944: .word 0x00002FBC
|
||||
_02262948: .word 0x00000576
|
||||
_0226294C: .word 0x00002FC8
|
||||
thumb_func_end ov117_02262798
|
||||
|
||||
thumb_func_start ov117_02262950
|
||||
ov117_02262950: ; 0x02262950
|
||||
push {r3, lr}
|
||||
ldr r0, _02262968 ; =0x00000276
|
||||
ldrb r2, [r1, r0]
|
||||
cmp r2, #1
|
||||
bne _02262964
|
||||
mov r2, #0
|
||||
strb r2, [r1, r0]
|
||||
add r0, r1, #0
|
||||
bl ov117_02262C3C
|
||||
_02262964:
|
||||
pop {r3, pc}
|
||||
nop
|
||||
_02262968: .word 0x00000276
|
||||
thumb_func_end ov117_02262950
|
||||
|
||||
thumb_func_start ov117_0226296C
|
||||
ov117_0226296C: ; 0x0226296C
|
||||
cmp r1, #0x62
|
||||
blt _02262976
|
||||
mov r2, #0x4b
|
||||
lsl r2, r2, #4
|
||||
b _0226297A
|
||||
_02262976:
|
||||
mov r2, #0xa
|
||||
mul r2, r1
|
||||
_0226297A:
|
||||
mov r1, #0x27
|
||||
lsl r1, r1, #4
|
||||
ldr r0, [r0, r1]
|
||||
ldr r3, _02262990 ; =_s32_div_f
|
||||
lsl r1, r0, #2
|
||||
ldr r0, _02262994 ; =0x02266FD8
|
||||
ldr r0, [r0, r1]
|
||||
mov r1, #0x64
|
||||
mul r0, r2
|
||||
bx r3
|
||||
nop
|
||||
_02262990: .word _s32_div_f
|
||||
_02262994: .word 0x02266FD8
|
||||
thumb_func_end ov117_0226296C
|
||||
|
||||
thumb_func_start ov117_02262998
|
||||
ov117_02262998: ; 0x02262998
|
||||
mov r2, #0x91
|
||||
lsl r2, r2, #2
|
||||
ldr r1, [r0, r2]
|
||||
cmp r1, #0x62
|
||||
blt _022629B2
|
||||
add r1, r2, #4
|
||||
ldr r3, [r0, r1]
|
||||
mov r1, #1
|
||||
lsl r1, r1, #0xc
|
||||
add r3, r3, r1
|
||||
add r1, r2, #4
|
||||
str r3, [r0, r1]
|
||||
b _022629CC
|
||||
_022629B2:
|
||||
blt _022629C4
|
||||
add r1, r2, #4
|
||||
ldr r3, [r0, r1]
|
||||
mov r1, #1
|
||||
lsl r1, r1, #0xc
|
||||
add r3, r3, r1
|
||||
add r1, r2, #4
|
||||
str r3, [r0, r1]
|
||||
b _022629CC
|
||||
_022629C4:
|
||||
mov r3, #2
|
||||
lsl r3, r3, #0xc
|
||||
add r1, r2, #4
|
||||
str r3, [r0, r1]
|
||||
_022629CC:
|
||||
mov r1, #0x92
|
||||
lsl r1, r1, #2
|
||||
mov r2, #0x11
|
||||
ldr r3, [r0, r1]
|
||||
lsl r2, r2, #0xc
|
||||
cmp r3, r2
|
||||
ble _022629DC
|
||||
str r2, [r0, r1]
|
||||
_022629DC:
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02262998
|
||||
|
||||
thumb_func_start ov117_022629E0
|
||||
ov117_022629E0: ; 0x022629E0
|
||||
push {r3, lr}
|
||||
cmp r3, #1
|
||||
bne _022629FE
|
||||
mov r2, #0x91
|
||||
lsl r2, r2, #2
|
||||
ldr r2, [r1, r2]
|
||||
cmp r2, #0x62
|
||||
blt _022629FE
|
||||
mov r1, #0
|
||||
bl ov117_02261600
|
||||
ldr r0, _02262A30 ; =0x0000057A
|
||||
bl sub_02005748
|
||||
pop {r3, pc}
|
||||
_022629FE:
|
||||
mov r2, #0x91
|
||||
lsl r2, r2, #2
|
||||
ldr r2, [r1, r2]
|
||||
cmp r2, #0x62
|
||||
bge _02262A2E
|
||||
ldr r2, [r1, #0x20]
|
||||
ldr r1, [r1, #0x10]
|
||||
cmp r1, r2
|
||||
bge _02262A1E
|
||||
mov r1, #2
|
||||
bl ov117_02261600
|
||||
ldr r0, _02262A34 ; =0x00000578
|
||||
bl sub_02005748
|
||||
pop {r3, pc}
|
||||
_02262A1E:
|
||||
cmp r1, r2
|
||||
ble _02262A2E
|
||||
mov r1, #1
|
||||
bl ov117_02261600
|
||||
ldr r0, _02262A34 ; =0x00000578
|
||||
bl sub_02005748
|
||||
_02262A2E:
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
_02262A30: .word 0x0000057A
|
||||
_02262A34: .word 0x00000578
|
||||
thumb_func_end ov117_022629E0
|
||||
|
||||
thumb_func_start ov117_02262A38
|
||||
ov117_02262A38: ; 0x02262A38
|
||||
push {r4, lr}
|
||||
mov r1, #0x8e
|
||||
add r4, r0, #0
|
||||
lsl r1, r1, #2
|
||||
ldr r2, [r4, r1]
|
||||
cmp r2, #0
|
||||
beq _02262A6C
|
||||
mov r2, #0
|
||||
str r2, [r4, r1]
|
||||
sub r2, r2, #1
|
||||
add r1, r1, #4
|
||||
str r2, [r4, r1]
|
||||
blx ov117_022638AC
|
||||
mov r1, #9
|
||||
lsl r1, r1, #6
|
||||
ldr r2, [r4, r1]
|
||||
sub r2, r2, r0
|
||||
add r0, r1, #4
|
||||
str r2, [r4, r0]
|
||||
ldr r0, [r4, r0]
|
||||
cmp r0, #0x19
|
||||
bge _02262A6C
|
||||
mov r2, #0
|
||||
add r0, r1, #4
|
||||
str r2, [r4, r0]
|
||||
_02262A6C:
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02262A38
|
||||
|
||||
thumb_func_start ov117_02262A70
|
||||
ov117_02262A70: ; 0x02262A70
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x38
|
||||
add r5, r0, #0
|
||||
ldr r0, _02262B80 ; =0x2D8B6127
|
||||
add r1, sp, #0x1c
|
||||
str r0, [sp, #0x1c]
|
||||
mov r0, #0x32
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
ldr r0, _02262B84 ; =0x00007FFF
|
||||
add r1, sp, #0x18
|
||||
str r0, [sp, #0x18]
|
||||
mov r0, #0x33
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r1, #0
|
||||
mov r0, #0x11
|
||||
add r2, r1, #0
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0
|
||||
str r0, [sp, #0x2c]
|
||||
mov r0, #0x13
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #0x30]
|
||||
ldr r0, _02262B88 ; =0xFFFFB000
|
||||
add r1, sp, #0x2c
|
||||
str r0, [sp, #0x34]
|
||||
mov r0, #0x1c
|
||||
mov r2, #3
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0x99
|
||||
lsl r0, r0, #2
|
||||
ldr r4, [r5, r0]
|
||||
add r0, r0, #6
|
||||
ldrsh r0, [r5, r0]
|
||||
mov r1, #0x64
|
||||
mul r0, r4
|
||||
bl _s32_div_f
|
||||
mov r1, #0x26
|
||||
lsl r1, r1, #4
|
||||
add r6, r4, r0
|
||||
add r0, r1, #0
|
||||
ldr r4, [r5, r1]
|
||||
add r0, #8
|
||||
add r1, #0xc
|
||||
ldrsh r2, [r5, r0]
|
||||
ldrsh r0, [r5, r1]
|
||||
mov r1, #0x64
|
||||
add r0, r2, r0
|
||||
mul r0, r4
|
||||
bl _s32_div_f
|
||||
add r0, r4, r0
|
||||
str r0, [sp, #0x20]
|
||||
mov r0, #1
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #0x28]
|
||||
mov r0, #0x1b
|
||||
add r1, sp, #0x20
|
||||
mov r2, #3
|
||||
str r6, [sp, #0x24]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #3
|
||||
str r0, [sp, #0x14]
|
||||
mov r0, #0x10
|
||||
add r1, sp, #0x14
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r1, #0
|
||||
mov r0, #0x15
|
||||
add r2, r1, #0
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #2
|
||||
str r0, [sp, #0x10]
|
||||
mov r0, #0x10
|
||||
add r1, sp, #0x10
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #1
|
||||
add r1, r0, #0
|
||||
bl ov117_02262D4C
|
||||
blx ov117_02262D98
|
||||
ldr r1, [r5, #4]
|
||||
mov r2, #1
|
||||
ldr r0, [r1, #0x2c]
|
||||
lsl r4, r0, #0x10
|
||||
ldr r0, [r1, #8]
|
||||
lsl r0, r0, #0x10
|
||||
lsr r1, r0, #0x10
|
||||
ldr r0, _02262B8C ; =0x1FFFFFFF
|
||||
and r1, r0
|
||||
ldr r0, _02262B90 ; =0x72400000
|
||||
orr r0, r1
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #0x2a
|
||||
add r1, sp, #0xc
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
lsr r0, r4, #0x11
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0x2b
|
||||
add r1, sp, #8
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
ldr r0, _02262B94 ; =0x001F00C1
|
||||
add r1, sp, #4
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x29
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r0, r5, #0
|
||||
blx ov117_02262EAC
|
||||
mov r2, #1
|
||||
mov r0, #0x12
|
||||
add r1, sp, #0
|
||||
str r2, [sp]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
bl NNS_G3dGeFlushBuffer
|
||||
add sp, #0x38
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_02262B80: .word 0x2D8B6127
|
||||
_02262B84: .word 0x00007FFF
|
||||
_02262B88: .word 0xFFFFB000
|
||||
_02262B8C: .word 0x1FFFFFFF
|
||||
_02262B90: .word 0x72400000
|
||||
_02262B94: .word 0x001F00C1
|
||||
thumb_func_end ov117_02262A70
|
||||
|
||||
thumb_func_start ov117_02262B98
|
||||
ov117_02262B98: ; 0x02262B98
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
mov r0, #0xad
|
||||
mov r1, #0x1d
|
||||
mov r2, #0x6e
|
||||
bl sub_02006AC0
|
||||
str r0, [r5, #0]
|
||||
bl NNS_G3dGetTex
|
||||
str r0, [r5, #4]
|
||||
bl sub_0201CBCC
|
||||
ldr r6, [r5, #4]
|
||||
ldrh r0, [r6, #0x30]
|
||||
ldr r7, [r6, #0x38]
|
||||
lsl r4, r0, #3
|
||||
ldr r0, [r6, #0x2c]
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0xd
|
||||
str r0, [sp]
|
||||
mov r0, #0x93
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r5, r0]
|
||||
cmp r0, #0
|
||||
beq _02262BD0
|
||||
bl GF_AssertFail
|
||||
_02262BD0:
|
||||
mov r0, #0x6e
|
||||
add r1, r4, #0
|
||||
bl sub_02018144
|
||||
mov r1, #0x93
|
||||
lsl r1, r1, #2
|
||||
str r0, [r5, r1]
|
||||
mov r0, #0x6e
|
||||
add r1, r4, #0
|
||||
bl sub_02018144
|
||||
mov r1, #0x25
|
||||
lsl r1, r1, #4
|
||||
str r0, [r5, r1]
|
||||
sub r1, r1, #4
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r6, r7
|
||||
add r2, r4, #0
|
||||
bl MI_CpuCopy8
|
||||
mov r1, #0x25
|
||||
lsl r1, r1, #4
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r6, r7
|
||||
add r2, r4, #0
|
||||
bl MI_CpuCopy8
|
||||
mov r0, #0x25
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r5, r0]
|
||||
add r1, r4, #0
|
||||
bl DC_FlushRange
|
||||
mov r1, #0x96
|
||||
ldr r0, [sp]
|
||||
lsl r1, r1, #2
|
||||
str r0, [r5, r1]
|
||||
sub r0, r1, #4
|
||||
str r4, [r5, r0]
|
||||
ldr r0, [r5, #4]
|
||||
ldr r0, [r0, #0x14]
|
||||
cmp r0, #0
|
||||
bne _02262C2A
|
||||
bl GF_AssertFail
|
||||
_02262C2A:
|
||||
ldr r2, [r5, #4]
|
||||
ldr r0, [r5, #0]
|
||||
ldr r1, [r2, #0x14]
|
||||
add r1, r2, r1
|
||||
sub r1, r1, r0
|
||||
bl sub_020182F0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02262B98
|
||||
|
||||
thumb_func_start ov117_02262C3C
|
||||
ov117_02262C3C: ; 0x02262C3C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl GX_BeginLoadTexPltt
|
||||
mov r2, #0x25
|
||||
lsl r2, r2, #4
|
||||
add r1, r2, #0
|
||||
ldr r0, [r4, r2]
|
||||
add r1, #8
|
||||
add r2, r2, #4
|
||||
ldr r1, [r4, r1]
|
||||
ldr r2, [r4, r2]
|
||||
bl GX_LoadTexPltt
|
||||
bl GX_EndLoadTexPltt
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02262C3C
|
||||
|
||||
thumb_func_start ov117_02262C60
|
||||
ov117_02262C60: ; 0x02262C60
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
add r4, r0, #0
|
||||
lsl r0, r1, #1
|
||||
add r0, r1, r0
|
||||
mov r1, #0x32
|
||||
lsl r0, r0, #0xa
|
||||
lsl r1, r1, #4
|
||||
bl _s32_div_f
|
||||
add r0, #0x80
|
||||
asr r3, r0, #8
|
||||
cmp r3, #0x10
|
||||
ble _02262C7E
|
||||
mov r3, #0x10
|
||||
_02262C7E:
|
||||
mov r2, #0x93
|
||||
mov r0, #0x1f
|
||||
lsl r2, r2, #2
|
||||
str r0, [sp]
|
||||
add r1, r2, #4
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #8
|
||||
ldr r2, [r4, r2]
|
||||
lsl r3, r3, #0x18
|
||||
lsl r2, r2, #0xf
|
||||
ldr r1, [r4, r1]
|
||||
lsr r2, r2, #0x10
|
||||
lsr r3, r3, #0x18
|
||||
bl sub_0200393C
|
||||
mov r1, #0x25
|
||||
lsl r1, r1, #4
|
||||
ldr r0, [r4, r1]
|
||||
add r1, r1, #4
|
||||
ldr r1, [r4, r1]
|
||||
bl DC_FlushRange
|
||||
ldr r0, _02262CB4 ; =0x00000276
|
||||
mov r1, #1
|
||||
strb r1, [r4, r0]
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
; .align 2, 0
|
||||
_02262CB4: .word 0x00000276
|
||||
thumb_func_end ov117_02262C60
|
||||
|
||||
thumb_func_start ov117_02262CB8
|
||||
ov117_02262CB8: ; 0x02262CB8
|
||||
push {r4, lr}
|
||||
mov r2, #0x97
|
||||
lsl r2, r2, #2
|
||||
ldr r3, [r0, r2]
|
||||
mov r4, #0
|
||||
add r1, r3, r1
|
||||
str r1, [r0, r2]
|
||||
add r1, r2, #0
|
||||
ldr r3, [r0, r2]
|
||||
add r1, #0xc4
|
||||
cmp r3, r1
|
||||
blt _02262CD8
|
||||
add r1, r2, #0
|
||||
add r1, #0xc4
|
||||
str r1, [r0, r2]
|
||||
mov r4, #1
|
||||
_02262CD8:
|
||||
mov r1, #0x97
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r0, r1]
|
||||
bl ov117_02262C60
|
||||
add r0, r4, #0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02262CB8
|
||||
|
||||
thumb_func_start ov117_02262CE8
|
||||
ov117_02262CE8: ; 0x02262CE8
|
||||
mov r1, #0x97
|
||||
ldr r3, _02262CF8 ; =ov117_02262C60
|
||||
mov r2, #0
|
||||
lsl r1, r1, #2
|
||||
str r2, [r0, r1]
|
||||
ldr r1, [r0, r1]
|
||||
bx r3
|
||||
nop
|
||||
_02262CF8: .word ov117_02262C60
|
||||
thumb_func_end ov117_02262CE8
|
||||
|
||||
thumb_func_start ov117_02262CFC
|
||||
ov117_02262CFC: ; 0x02262CFC
|
||||
push {r4, lr}
|
||||
mov r2, #0x9a
|
||||
add r4, r0, #0
|
||||
lsl r2, r2, #2
|
||||
ldrsh r1, [r4, r2]
|
||||
cmp r1, #0
|
||||
beq _02262D44
|
||||
add r1, r2, #0
|
||||
add r1, #0xd
|
||||
ldrb r1, [r4, r1]
|
||||
add r3, r1, #1
|
||||
add r1, r2, #0
|
||||
add r1, #0xd
|
||||
strb r3, [r4, r1]
|
||||
add r1, r2, #0
|
||||
add r1, #0xd
|
||||
ldrb r1, [r4, r1]
|
||||
cmp r1, #4
|
||||
bne _02262D32
|
||||
sub r2, #0xc
|
||||
ldr r2, [r4, r2]
|
||||
lsr r1, r2, #0x1f
|
||||
add r1, r2, r1
|
||||
asr r1, r1, #1
|
||||
bl ov117_02262C60
|
||||
pop {r4, pc}
|
||||
_02262D32:
|
||||
cmp r1, #8
|
||||
bne _02262D44
|
||||
sub r2, #0xc
|
||||
ldr r1, [r4, r2]
|
||||
bl ov117_02262C60
|
||||
ldr r0, _02262D48 ; =0x00000275
|
||||
mov r1, #0
|
||||
strb r1, [r4, r0]
|
||||
_02262D44:
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_02262D48: .word 0x00000275
|
||||
thumb_func_end ov117_02262CFC
|
||||
|
||||
thumb_func_start ov117_02262D4C
|
||||
ov117_02262D4C: ; 0x02262D4C
|
||||
push {r4, lr}
|
||||
sub sp, #8
|
||||
add r4, r1, #0
|
||||
cmp r0, #0
|
||||
beq _02262D5A
|
||||
mov r0, #1
|
||||
b _02262D5C
|
||||
_02262D5A:
|
||||
mov r0, #0
|
||||
_02262D5C:
|
||||
lsl r1, r0, #0xf
|
||||
ldr r0, _02262D90 ; =0x21085EF7
|
||||
mov r2, #1
|
||||
orr r0, r1
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x30
|
||||
add r1, sp, #4
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
cmp r4, #0
|
||||
beq _02262D76
|
||||
mov r0, #1
|
||||
b _02262D78
|
||||
_02262D76:
|
||||
mov r0, #0
|
||||
_02262D78:
|
||||
lsl r1, r0, #0xf
|
||||
ldr r0, _02262D94 ; =0x00007FFF
|
||||
mov r2, #1
|
||||
orr r0, r1
|
||||
str r0, [sp]
|
||||
mov r0, #0x31
|
||||
add r1, sp, #0
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add sp, #8
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_02262D90: .word 0x21085EF7
|
||||
_02262D94: .word 0x00007FFF
|
||||
thumb_func_end ov117_02262D4C
|
||||
@@ -5423,193 +5423,6 @@ _02266494:
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02266440
|
||||
|
||||
thumb_func_start ov117_02266498
|
||||
ov117_02266498: ; 0x02266498
|
||||
push {r3, r4, r5, lr}
|
||||
mov r1, #0xc
|
||||
mov r2, #0x6e
|
||||
add r5, r0, #0
|
||||
bl sub_0200681C
|
||||
mov r1, #0
|
||||
mov r2, #0xc
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl sub_02006840
|
||||
str r0, [r4, #0]
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02266498
|
||||
|
||||
thumb_func_start ov117_022664BC
|
||||
ov117_022664BC: ; 0x022664BC
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r1, #0
|
||||
bl sub_0200682C
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
add r1, r0, #0
|
||||
add r1, #0x3d
|
||||
ldrb r1, [r1]
|
||||
cmp r1, #1
|
||||
bne _02266542
|
||||
add r1, r0, #0
|
||||
add r1, #0x3e
|
||||
ldrb r1, [r1]
|
||||
cmp r1, #0
|
||||
beq _022664E4
|
||||
cmp r1, #1
|
||||
beq _02266506
|
||||
cmp r1, #2
|
||||
b _0226651E
|
||||
_022664E4:
|
||||
bl sub_0200F2AC
|
||||
cmp r0, #1
|
||||
bne _022664F0
|
||||
bl sub_0200F2C0
|
||||
_022664F0:
|
||||
mov r0, #0
|
||||
bl sub_0200F370
|
||||
ldr r1, [r4, #0]
|
||||
add r0, r1, #0
|
||||
add r0, #0x3e
|
||||
ldrb r0, [r0]
|
||||
add r1, #0x3e
|
||||
add r0, r0, #1
|
||||
strb r0, [r1]
|
||||
b _0226653E
|
||||
_02266506:
|
||||
bl ov114_0225CA98
|
||||
cmp r0, #1
|
||||
bne _0226653E
|
||||
ldr r1, [r4, #0]
|
||||
add r0, r1, #0
|
||||
add r0, #0x3e
|
||||
ldrb r0, [r0]
|
||||
add r1, #0x3e
|
||||
add r0, r0, #1
|
||||
strb r0, [r1]
|
||||
b _0226653E
|
||||
_0226651E:
|
||||
ldr r0, [r4, #4]
|
||||
cmp r0, #0
|
||||
beq _0226652C
|
||||
bl ov114_0225C838
|
||||
mov r0, #0
|
||||
str r0, [r4, #4]
|
||||
_0226652C:
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
beq _0226653A
|
||||
bl ov114_0225C904
|
||||
mov r0, #0
|
||||
str r0, [r4, #8]
|
||||
_0226653A:
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_0226653E:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
_02266542:
|
||||
ldr r1, [r5, #0]
|
||||
cmp r1, #5
|
||||
bhi _022665E0
|
||||
add r1, r1, r1
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_02266554: ; jump table
|
||||
.short _02266560 - _02266554 - 2 ; case 0
|
||||
.short _02266574 - _02266554 - 2 ; case 1
|
||||
.short _02266584 - _02266554 - 2 ; case 2
|
||||
.short _022665A8 - _02266554 - 2 ; case 3
|
||||
.short _022665BC - _02266554 - 2 ; case 4
|
||||
.short _022665E0 - _02266554 - 2 ; case 5
|
||||
_02266560:
|
||||
add r0, #0x31
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0226656E
|
||||
mov r0, #1
|
||||
str r0, [r5, #0]
|
||||
b _022665E4
|
||||
_0226656E:
|
||||
mov r0, #3
|
||||
str r0, [r5, #0]
|
||||
b _022665E4
|
||||
_02266574:
|
||||
mov r1, #0x6e
|
||||
bl ov114_0225C82C
|
||||
str r0, [r4, #4]
|
||||
ldr r0, [r5, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r5, #0]
|
||||
b _022665E4
|
||||
_02266584:
|
||||
ldr r0, [r4, #4]
|
||||
bl ov114_0225C8BC
|
||||
cmp r0, #1
|
||||
bne _022665E4
|
||||
ldr r0, [r4, #4]
|
||||
bl ov114_0225C8CC
|
||||
ldr r1, [r4, #0]
|
||||
str r0, [r1, #0x34]
|
||||
ldr r0, [r4, #4]
|
||||
bl ov114_0225C838
|
||||
mov r0, #0
|
||||
str r0, [r4, #4]
|
||||
mov r0, #5
|
||||
str r0, [r5, #0]
|
||||
b _022665E4
|
||||
_022665A8:
|
||||
add r1, r0, #0
|
||||
add r1, #0x10
|
||||
mov r2, #0x6e
|
||||
bl ov114_0225C8F8
|
||||
str r0, [r4, #8]
|
||||
ldr r0, [r5, #0]
|
||||
add r0, r0, #1
|
||||
str r0, [r5, #0]
|
||||
b _022665E4
|
||||
_022665BC:
|
||||
ldr r0, [r4, #8]
|
||||
bl ov114_0225C9A0
|
||||
cmp r0, #1
|
||||
bne _022665E4
|
||||
ldr r0, [r4, #8]
|
||||
bl ov114_0225C9A4
|
||||
ldr r1, [r4, #0]
|
||||
str r0, [r1, #0x38]
|
||||
ldr r0, [r4, #8]
|
||||
bl ov114_0225C904
|
||||
mov r0, #0
|
||||
str r0, [r4, #8]
|
||||
mov r0, #5
|
||||
str r0, [r5, #0]
|
||||
b _022665E4
|
||||
_022665E0:
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_022665E4:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov117_022664BC
|
||||
|
||||
thumb_func_start ov117_022665E8
|
||||
ov117_022665E8: ; 0x022665E8
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0200682C
|
||||
add r0, r4, #0
|
||||
bl sub_02006830
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_022665E8
|
||||
|
||||
.rodata
|
||||
|
||||
.global Unk_ov117_02266B6C
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
.public GF_AssertFail
|
||||
.public sub_02032798
|
||||
.public sub_020359DC
|
||||
.public ov117_02262044
|
||||
@@ -1,145 +0,0 @@
|
||||
.include "macros/function.inc"
|
||||
.include "overlay117/ov117_022665FC.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ov117_022665FC
|
||||
ov117_022665FC: ; 0x022665FC
|
||||
ldr r3, _02266608 ; =sub_02032798
|
||||
add r2, r0, #0
|
||||
ldr r0, _0226660C ; =0x02266FE4
|
||||
mov r1, #4
|
||||
bx r3
|
||||
nop
|
||||
_02266608: .word sub_02032798
|
||||
_0226660C: .word 0x02266FE4
|
||||
thumb_func_end ov117_022665FC
|
||||
|
||||
thumb_func_start ov117_02266610
|
||||
ov117_02266610: ; 0x02266610
|
||||
mov r0, #0x14
|
||||
bx lr
|
||||
thumb_func_end ov117_02266610
|
||||
|
||||
thumb_func_start ov117_02266614
|
||||
ov117_02266614: ; 0x02266614
|
||||
mov r0, #4
|
||||
bx lr
|
||||
thumb_func_end ov117_02266614
|
||||
|
||||
thumb_func_start ov117_02266618
|
||||
ov117_02266618: ; 0x02266618
|
||||
add r1, r0, #0
|
||||
add r0, r3, #0
|
||||
ldr r3, _02266620 ; =ov117_02262044
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02266620: .word ov117_02262044
|
||||
thumb_func_end ov117_02266618
|
||||
|
||||
thumb_func_start ov117_02266624
|
||||
ov117_02266624: ; 0x02266624
|
||||
push {r3, lr}
|
||||
mov r0, #0x18
|
||||
mov r2, #0x14
|
||||
bl sub_020359DC
|
||||
cmp r0, #1
|
||||
bne _02266636
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_02266636:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02266624
|
||||
|
||||
thumb_func_start ov117_0226663C
|
||||
ov117_0226663C: ; 0x0226663C
|
||||
mov r0, #0xbf
|
||||
mov r1, #1
|
||||
lsl r0, r0, #6
|
||||
str r1, [r3, r0]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_0226663C
|
||||
|
||||
thumb_func_start ov117_02266648
|
||||
ov117_02266648: ; 0x02266648
|
||||
push {r3, lr}
|
||||
mov r1, #0
|
||||
mov r0, #0x19
|
||||
add r2, r1, #0
|
||||
bl sub_020359DC
|
||||
cmp r0, #1
|
||||
bne _0226665C
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_0226665C:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov117_02266648
|
||||
|
||||
thumb_func_start ov117_02266660
|
||||
ov117_02266660: ; 0x02266660
|
||||
push {r4, r5, r6, lr}
|
||||
add r4, r3, #0
|
||||
ldr r3, [r4, #0]
|
||||
ldr r1, [r2, #0]
|
||||
add r5, r3, #0
|
||||
add r5, #0x30
|
||||
ldrb r5, [r5]
|
||||
mov r2, #0
|
||||
cmp r5, #0
|
||||
ble _0226668E
|
||||
_02266674:
|
||||
add r6, r3, #0
|
||||
add r6, #0x2c
|
||||
ldrb r6, [r6]
|
||||
cmp r0, r6
|
||||
bne _02266686
|
||||
lsl r0, r2, #2
|
||||
add r0, r4, r0
|
||||
str r1, [r0, #0xc]
|
||||
b _0226668E
|
||||
_02266686:
|
||||
add r2, r2, #1
|
||||
add r3, r3, #1
|
||||
cmp r2, r5
|
||||
blt _02266674
|
||||
_0226668E:
|
||||
ldr r0, [r4, #0]
|
||||
add r0, #0x30
|
||||
ldrb r0, [r0]
|
||||
cmp r2, r0
|
||||
blt _0226669C
|
||||
bl GF_AssertFail
|
||||
_0226669C:
|
||||
ldr r0, [r4, #8]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #8]
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end ov117_02266660
|
||||
|
||||
thumb_func_start ov117_022666A4
|
||||
ov117_022666A4: ; 0x022666A4
|
||||
push {r3, lr}
|
||||
mov r0, #0x64
|
||||
str r0, [sp]
|
||||
mov r0, #0x17
|
||||
add r1, sp, #0
|
||||
mov r2, #4
|
||||
bl sub_020359DC
|
||||
cmp r0, #1
|
||||
bne _022666BC
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_022666BC:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov117_022666A4
|
||||
|
||||
.rodata
|
||||
|
||||
.global Unk_ov117_02266FE4
|
||||
Unk_ov117_02266FE4: ; 0x02266FE4
|
||||
.incbin "incbin/overlay117_rodata.bin", 0x6EC, 0x71C - 0x6EC
|
||||
@@ -1,7 +0,0 @@
|
||||
.public sub_0203608C
|
||||
.public MI_CpuFill8
|
||||
.public ov117_02262130
|
||||
.public ov117_0226238C
|
||||
.public ov117_02263AF0
|
||||
.public ov117_02263DC4
|
||||
.public ov117_02264808
|
||||
@@ -1,333 +0,0 @@
|
||||
.include "macros/function.inc"
|
||||
.include "overlay117/ov117_022666C0.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ov117_022666C0
|
||||
ov117_022666C0: ; 0x022666C0
|
||||
push {r4, lr}
|
||||
add r4, r1, #0
|
||||
ldr r2, [r4, #0]
|
||||
lsl r3, r2, #2
|
||||
ldr r2, _022666E4 ; =0x02267014
|
||||
ldr r2, [r2, r3]
|
||||
cmp r2, #0
|
||||
beq _022666E0
|
||||
blx r2
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl MI_CpuFill8
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_022666E0:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_022666E4: .word 0x02267014
|
||||
thumb_func_end ov117_022666C0
|
||||
|
||||
thumb_func_start ov117_022666E8
|
||||
ov117_022666E8: ; 0x022666E8
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
add r0, sp, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl MI_CpuFill8
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
add r2, sp, #4
|
||||
ldmia r4!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldmia r4!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl ov117_02262130
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
thumb_func_end ov117_022666E8
|
||||
|
||||
thumb_func_start ov117_02266714
|
||||
ov117_02266714: ; 0x02266714
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
bl sub_0203608C
|
||||
ldrb r1, [r4, #4]
|
||||
cmp r1, r0
|
||||
beq _0226672C
|
||||
add r0, r5, #0
|
||||
add r1, r4, #4
|
||||
bl ov117_02263DC4
|
||||
_0226672C:
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02266714
|
||||
|
||||
thumb_func_start ov117_02266730
|
||||
ov117_02266730: ; 0x02266730
|
||||
push {r3, r4, r5, r6, lr}
|
||||
sub sp, #0x14
|
||||
add r6, r0, #0
|
||||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
add r0, sp, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl MI_CpuFill8
|
||||
mov r0, #2
|
||||
str r0, [sp]
|
||||
add r0, sp, #0
|
||||
strh r5, [r0, #4]
|
||||
mov r1, #5
|
||||
strb r1, [r0, #6]
|
||||
strb r4, [r0, #7]
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl ov117_02262130
|
||||
add sp, #0x14
|
||||
pop {r3, r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02266730
|
||||
|
||||
thumb_func_start ov117_02266760
|
||||
ov117_02266760: ; 0x02266760
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
ldr r1, _02266780 ; =0x00002FD0
|
||||
add r5, r0, #0
|
||||
ldr r2, [r5, r1]
|
||||
add r2, r2, #1
|
||||
str r2, [r5, r1]
|
||||
bl ov117_02264808
|
||||
ldrb r1, [r4, #6]
|
||||
ldrb r2, [r4, #7]
|
||||
add r0, r5, #0
|
||||
bl ov117_0226238C
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_02266780: .word 0x00002FD0
|
||||
thumb_func_end ov117_02266760
|
||||
|
||||
thumb_func_start ov117_02266784
|
||||
ov117_02266784: ; 0x02266784
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
add r7, r0, #0
|
||||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
add r0, sp, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
add r6, r3, #0
|
||||
bl MI_CpuFill8
|
||||
mov r0, #3
|
||||
str r0, [sp]
|
||||
add r0, sp, #0
|
||||
strh r5, [r0, #4]
|
||||
strb r4, [r0, #6]
|
||||
mov r1, #4
|
||||
strb r1, [r0, #7]
|
||||
strb r6, [r0, #8]
|
||||
add r0, r7, #0
|
||||
add r1, sp, #0
|
||||
bl ov117_02262130
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02266784
|
||||
|
||||
thumb_func_start ov117_022667B8
|
||||
ov117_022667B8: ; 0x022667B8
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
ldrh r1, [r4, #4]
|
||||
add r5, r0, #0
|
||||
ldr r0, _022667E8 ; =0x00002FC8
|
||||
ldr r3, _022667EC ; =0x00001428
|
||||
str r1, [r5, r0]
|
||||
ldr r1, [r5, #0]
|
||||
ldrb r2, [r4, #6]
|
||||
add r1, #0x30
|
||||
ldrb r1, [r1]
|
||||
ldr r0, [r5, #0x2c]
|
||||
add r3, r5, r3
|
||||
bl ov117_02263AF0
|
||||
ldr r0, _022667F0 ; =0x00002FCC
|
||||
mov r1, #1
|
||||
str r1, [r5, r0]
|
||||
ldrb r1, [r4, #7]
|
||||
ldrb r2, [r4, #8]
|
||||
add r0, r5, #0
|
||||
bl ov117_0226238C
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_022667E8: .word 0x00002FC8
|
||||
_022667EC: .word 0x00001428
|
||||
_022667F0: .word 0x00002FCC
|
||||
thumb_func_end ov117_022667B8
|
||||
|
||||
thumb_func_start ov117_022667F4
|
||||
ov117_022667F4: ; 0x022667F4
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
add r0, sp, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl MI_CpuFill8
|
||||
mov r0, #4
|
||||
str r0, [sp]
|
||||
mov r1, #2
|
||||
add r0, sp, #0
|
||||
strb r1, [r0, #4]
|
||||
strb r4, [r0, #5]
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl ov117_02262130
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_022667F4
|
||||
|
||||
thumb_func_start ov117_02266820
|
||||
ov117_02266820: ; 0x02266820
|
||||
add r2, r1, #0
|
||||
mov r1, #3
|
||||
str r1, [r0, #0x20]
|
||||
ldrb r1, [r2, #4]
|
||||
ldr r3, _02266830 ; =ov117_0226238C
|
||||
ldrb r2, [r2, #5]
|
||||
bx r3
|
||||
nop
|
||||
_02266830: .word ov117_0226238C
|
||||
thumb_func_end ov117_02266820
|
||||
|
||||
thumb_func_start ov117_02266834
|
||||
ov117_02266834: ; 0x02266834
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
add r0, sp, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl MI_CpuFill8
|
||||
mov r0, #5
|
||||
str r0, [sp]
|
||||
mov r1, #3
|
||||
add r0, sp, #0
|
||||
strb r1, [r0, #4]
|
||||
strb r4, [r0, #5]
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl ov117_02262130
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_02266834
|
||||
|
||||
thumb_func_start ov117_02266860
|
||||
ov117_02266860: ; 0x02266860
|
||||
add r3, r1, #0
|
||||
ldr r1, _02266874 ; =0x00002FBC
|
||||
mov r2, #1
|
||||
str r2, [r0, r1]
|
||||
mov r1, #6
|
||||
str r1, [r0, #0x20]
|
||||
ldrb r1, [r3, #4]
|
||||
ldrb r2, [r3, #5]
|
||||
ldr r3, _02266878 ; =ov117_0226238C
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02266874: .word 0x00002FBC
|
||||
_02266878: .word ov117_0226238C
|
||||
thumb_func_end ov117_02266860
|
||||
|
||||
thumb_func_start ov117_0226687C
|
||||
ov117_0226687C: ; 0x0226687C
|
||||
push {r3, r4, r5, r6, lr}
|
||||
sub sp, #0x14
|
||||
add r6, r0, #0
|
||||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
add r0, sp, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl MI_CpuFill8
|
||||
mov r0, #6
|
||||
str r0, [sp]
|
||||
add r0, sp, #0
|
||||
strb r5, [r0, #4]
|
||||
strb r4, [r0, #5]
|
||||
add r0, r6, #0
|
||||
add r1, sp, #0
|
||||
bl ov117_02262130
|
||||
add sp, #0x14
|
||||
pop {r3, r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_0226687C
|
||||
|
||||
thumb_func_start ov117_022668A8
|
||||
ov117_022668A8: ; 0x022668A8
|
||||
ldr r3, _022668B4 ; =ov117_0226238C
|
||||
add r2, r1, #0
|
||||
ldrb r1, [r2, #4]
|
||||
ldrb r2, [r2, #5]
|
||||
bx r3
|
||||
nop
|
||||
_022668B4: .word ov117_0226238C
|
||||
thumb_func_end ov117_022668A8
|
||||
|
||||
thumb_func_start ov117_022668B8
|
||||
ov117_022668B8: ; 0x022668B8
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
add r0, sp, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl MI_CpuFill8
|
||||
mov r0, #7
|
||||
str r0, [sp]
|
||||
mov r1, #6
|
||||
add r0, sp, #0
|
||||
strb r1, [r0, #4]
|
||||
strb r4, [r0, #5]
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
bl ov117_02262130
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov117_022668B8
|
||||
|
||||
thumb_func_start ov117_022668E4
|
||||
ov117_022668E4: ; 0x022668E4
|
||||
add r2, r1, #0
|
||||
mov r1, #1
|
||||
str r1, [r0, #0x20]
|
||||
ldrb r1, [r2, #4]
|
||||
ldr r3, _022668F4 ; =ov117_0226238C
|
||||
ldrb r2, [r2, #5]
|
||||
bx r3
|
||||
nop
|
||||
_022668F4: .word ov117_0226238C
|
||||
thumb_func_end ov117_022668E4
|
||||
; 0x022668F8
|
||||
|
||||
|
||||
.rodata
|
||||
|
||||
.global Unk_ov117_02267014
|
||||
Unk_ov117_02267014: ; 0x02267014
|
||||
.incbin "incbin/overlay117_rodata.bin", 0x71C, 0x73C - 0x71C
|
||||
|
||||
.bss
|
||||
.space 0x0
|
||||
12
main.lsf
12
main.lsf
@@ -2166,13 +2166,13 @@ Overlay overlay116
|
||||
Overlay overlay117
|
||||
{
|
||||
After overlay114
|
||||
Object asm/overlay117/ov117_02260440.o
|
||||
Object asm/overlay117/ov117_02260668.o
|
||||
Object asm/overlay117/ov117_022626B0_thumb.o
|
||||
Object asm/overlay117/ov117_022626B0_arm.o
|
||||
Object src/overlay117/ov117_02260440.o
|
||||
Object src/overlay117/ov117_02260668.o
|
||||
Object src/overlay117/ov117_022626B0.o
|
||||
Object asm/overlay117/ov117_02263AF0.o
|
||||
Object asm/overlay117/ov117_022665FC.o
|
||||
Object asm/overlay117/ov117_022666C0.o
|
||||
Object src/overlay117/ov117_02266498.o
|
||||
Object src/overlay117/ov117_022665FC.o
|
||||
Object src/overlay117/ov117_022666C0.o
|
||||
}
|
||||
|
||||
Overlay overlay118
|
||||
|
||||
181
src/overlay117/ov117_02260440.c
Normal file
181
src/overlay117/ov117_02260440.c
Normal file
@@ -0,0 +1,181 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
#include <dwc.h>
|
||||
|
||||
#include "struct_decls/struct_020067E8_decl.h"
|
||||
|
||||
#include "struct_defs/struct_0208BE5C.h"
|
||||
#include "overlay117/struct_ov117_02260440.h"
|
||||
#include "overlay117/struct_ov117_022605C0.h"
|
||||
|
||||
#include "unk_020067E8.h"
|
||||
#include "unk_02017E74.h"
|
||||
#include "unk_020329E0.h"
|
||||
#include "unk_02034198.h"
|
||||
#include "unk_020363E8.h"
|
||||
#include "unk_020366A0.h"
|
||||
#include "overlay004/ov4_021D0D80.h"
|
||||
#include "overlay114/ov114_0225C700.h"
|
||||
#include "overlay117/ov117_02260440.h"
|
||||
#include "overlay117/ov117_02260668.h"
|
||||
#include "overlay117/ov117_02266498.h"
|
||||
|
||||
static const UnkStruct_0208BE5C Unk_ov117_022668F8 = {
|
||||
ov117_02260668,
|
||||
ov117_0226098C,
|
||||
ov117_02260C10,
|
||||
0xFFFFFFFF
|
||||
};
|
||||
|
||||
static const UnkStruct_0208BE5C Unk_ov117_02266908 = {
|
||||
ov117_02266498,
|
||||
ov117_022664BC,
|
||||
ov117_022665E8,
|
||||
0xFFFFFFFF
|
||||
};
|
||||
|
||||
static void ov117_022605D8(UnkStruct_ov117_022605C0 * param0, UnkStruct_ov117_02260440 * param1);
|
||||
static BOOL ov117_02260630(UnkStruct_ov117_022605C0 * param0);
|
||||
|
||||
int ov117_02260440 (UnkStruct_020067E8 * param0, int * param1)
|
||||
{
|
||||
UnkStruct_ov117_02260440 * v0 = sub_02006840(param0);
|
||||
UnkStruct_ov117_022605C0 * v1;
|
||||
|
||||
sub_02017FC8(3, 110, 0x60000);
|
||||
|
||||
v1 = sub_0200681C(param0, sizeof(UnkStruct_ov117_022605C0), 110);
|
||||
MI_CpuClear8(v1, sizeof(UnkStruct_ov117_022605C0));
|
||||
ov117_022605D8(v1, v0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int ov117_02260474 (UnkStruct_020067E8 * param0, int * param1)
|
||||
{
|
||||
UnkStruct_ov117_022605C0 * v0 = sub_0200682C(param0);
|
||||
UnkStruct_ov117_02260440 * v1 = sub_02006840(param0);
|
||||
|
||||
if (ov117_02260630(v0) == 1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
switch (*param1) {
|
||||
case 0:
|
||||
v0->unk_31 = 0;
|
||||
v0->unk_28 = sub_020067E8(&Unk_ov117_02266908, v0, 110);
|
||||
(*param1)++;
|
||||
break;
|
||||
case 1:
|
||||
if (sub_02006844(v0->unk_28) == 1) {
|
||||
sub_02006814(v0->unk_28);
|
||||
v0->unk_28 = NULL;
|
||||
(*param1)++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
v0->unk_31 = 1;
|
||||
v0->unk_28 = sub_020067E8(&Unk_ov117_022668F8, v0, 110);
|
||||
(*param1)++;
|
||||
break;
|
||||
case 3:
|
||||
if (sub_02006844(v0->unk_28) == 1) {
|
||||
sub_02006814(v0->unk_28);
|
||||
v0->unk_28 = NULL;
|
||||
(*param1)++;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (v1->unk_38) {
|
||||
ov4_021D1F18();
|
||||
}
|
||||
|
||||
v0->unk_31 = 2;
|
||||
v0->unk_28 = sub_020067E8(&Unk_ov117_02266908, v0, 110);
|
||||
(*param1)++;
|
||||
break;
|
||||
case 5:
|
||||
if (sub_02006844(v0->unk_28) == 1) {
|
||||
sub_02006814(v0->unk_28);
|
||||
v0->unk_28 = NULL;
|
||||
|
||||
if (v0->unk_38 == 1) {
|
||||
(*param1) = 0;
|
||||
} else {
|
||||
(*param1)++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
sub_020388F4(0, 1);
|
||||
sub_020364F0(222);
|
||||
(*param1)++;
|
||||
break;
|
||||
case 7:
|
||||
if ((sub_02036540(222) == 1) || (sub_02035E18() < sub_02032E64())) {
|
||||
(*param1)++;
|
||||
}
|
||||
|
||||
break;
|
||||
case 8:
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ov117_022605C0 (UnkStruct_020067E8 * param0, int * param1)
|
||||
{
|
||||
UnkStruct_ov117_022605C0 * v0 = sub_0200682C(param0);
|
||||
|
||||
sub_02006830(param0);
|
||||
sub_0201807C(110);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void ov117_022605D8 (UnkStruct_ov117_022605C0 * param0, UnkStruct_ov117_02260440 * param1)
|
||||
{
|
||||
int v0, v1, v2, v3;
|
||||
|
||||
v3 = sub_0203608C();
|
||||
v2 = 0;
|
||||
v1 = 0;
|
||||
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
if (sub_02032EE8(v0) != NULL) {
|
||||
param0->unk_2C[v1] = v0;
|
||||
|
||||
if (v0 == v3) {
|
||||
v2 = v1;
|
||||
}
|
||||
|
||||
v1++;
|
||||
} else {
|
||||
param0->unk_2C[v0] = 0xffff;
|
||||
}
|
||||
}
|
||||
|
||||
param0->unk_30 = v1;
|
||||
param0->unk_3C = param1->unk_38;
|
||||
|
||||
ov114_0225C700(¶m0->unk_00, param1->unk_39, param1->unk_34, param1->unk_38, ¶m1->unk_00);
|
||||
}
|
||||
|
||||
static BOOL ov117_02260630 (UnkStruct_ov117_022605C0 * param0)
|
||||
{
|
||||
if (param0->unk_3D == 0) {
|
||||
if (ov114_0225CA54(¶m0->unk_00) == 1) {
|
||||
param0->unk_3D = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (param0->unk_3D == 1) {
|
||||
if (param0->unk_28 == NULL) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
1959
src/overlay117/ov117_02260668.c
Normal file
1959
src/overlay117/ov117_02260668.c
Normal file
File diff suppressed because it is too large
Load Diff
970
src/overlay117/ov117_022626B0.c
Normal file
970
src/overlay117/ov117_022626B0.c
Normal file
@@ -0,0 +1,970 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "data_021BF67C.h"
|
||||
#include "inlines.h"
|
||||
|
||||
#include "struct_decls/struct_02006C24_decl.h"
|
||||
|
||||
#include "struct_defs/struct_0200D0F4.h"
|
||||
#include "overlay104/struct_ov104_0223F9E0.h"
|
||||
#include "overlay117/struct_ov117_02261280.h"
|
||||
#include "overlay117/struct_ov117_02264E84.h"
|
||||
|
||||
#include "unk_02002F38.h"
|
||||
#include "unk_02005474.h"
|
||||
#include "unk_020068C8.h"
|
||||
#include "unk_0200C6E4.h"
|
||||
#include "unk_02017E74.h"
|
||||
#include "unk_0201C970.h"
|
||||
#include "overlay117/ov117_02260668.h"
|
||||
#include "overlay117/ov117_022626B0.h"
|
||||
#include "overlay117/ov117_02263AF0.h"
|
||||
|
||||
typedef struct {
|
||||
fx32 unk_00;
|
||||
fx32 unk_04;
|
||||
} UnkStruct_ov117_022626B0_sub1_sub1;
|
||||
|
||||
typedef struct {
|
||||
UnkStruct_ov117_022626B0_sub1_sub1 unk_00;
|
||||
UnkStruct_ov117_022626B0_sub1_sub1 unk_08;
|
||||
UnkStruct_ov117_022626B0_sub1_sub1 unk_10;
|
||||
UnkStruct_ov117_022626B0_sub1_sub1 unk_18;
|
||||
} UnkStruct_ov117_022626B0_sub1;
|
||||
|
||||
typedef struct {
|
||||
UnkStruct_ov117_022626B0_sub1_sub1 unk_00;
|
||||
UnkStruct_ov117_022626B0_sub1_sub1 unk_08;
|
||||
UnkStruct_ov117_022626B0_sub1_sub1 unk_10;
|
||||
UnkStruct_ov117_022626B0_sub1_sub1 unk_18;
|
||||
} UnkStruct_ov117_022626B0_sub2;
|
||||
|
||||
typedef struct UnkStruct_ov117_022626B0_t {
|
||||
NNSG3dResFileHeader * unk_00;
|
||||
NNSG3dResTex * unk_04;
|
||||
u16 unk_08;
|
||||
UnkStruct_ov117_022626B0_sub1 unk_0C[8];
|
||||
UnkStruct_ov117_022626B0_sub2 unk_10C[8];
|
||||
int unk_20C;
|
||||
int unk_210;
|
||||
int unk_214;
|
||||
int unk_218;
|
||||
int unk_21C;
|
||||
int unk_220;
|
||||
int unk_224;
|
||||
int unk_228;
|
||||
int unk_22C;
|
||||
fx32 unk_230;
|
||||
UnkStruct_0200D0F4 * unk_234;
|
||||
int unk_238;
|
||||
int unk_23C;
|
||||
int unk_240;
|
||||
int unk_244;
|
||||
fx32 unk_248;
|
||||
u16 * unk_24C;
|
||||
u16 * unk_250;
|
||||
u32 unk_254;
|
||||
u32 unk_258;
|
||||
s32 unk_25C;
|
||||
fx32 unk_260;
|
||||
fx32 unk_264;
|
||||
s16 unk_268;
|
||||
s16 unk_26A;
|
||||
s16 unk_26C;
|
||||
int unk_270;
|
||||
u8 unk_274;
|
||||
u8 unk_275;
|
||||
u8 unk_276;
|
||||
} UnkStruct_ov117_022626B0;
|
||||
|
||||
static void ov117_02262B98(UnkStruct_ov117_022626B0 * param0);
|
||||
static void ov117_02262E0C(UnkStruct_ov117_022626B0 * param0);
|
||||
static void ov117_02262E5C(UnkStruct_ov117_022626B0 * param0);
|
||||
static void ov117_02262EAC(UnkStruct_ov117_022626B0 * param0);
|
||||
static void ov117_02262A70(UnkStruct_ov117_022626B0 * param0);
|
||||
static BOOL ov117_02263270(UnkStruct_ov117_022626B0 * param0);
|
||||
static int ov117_0226334C(UnkStruct_ov117_022626B0 * param0);
|
||||
static int ov117_02263448(UnkStruct_ov117_022626B0 * param0, int param1, fx32 param2);
|
||||
static int ov117_022637AC(UnkStruct_ov117_022626B0 * param0, int param1);
|
||||
static int ov117_022637E4(UnkStruct_ov117_022626B0 * param0, fx32 param1, fx32 param2, fx32 param3, fx32 * param4, fx32 * param5);
|
||||
static fx32 ov117_0226384C(UnkStruct_ov117_022626B0 * param0);
|
||||
static int ov117_022638AC(UnkStruct_ov117_022626B0 * param0);
|
||||
static void ov117_02263168(fx32 param0, fx32 param1, fx16 * param2, fx16 * param3);
|
||||
static void ov117_02262A38(UnkStruct_ov117_022626B0 * param0);
|
||||
static int ov117_0226296C(UnkStruct_ov117_022626B0 * param0, int param1);
|
||||
static void ov117_02262998(UnkStruct_ov117_022626B0 * param0, int param1);
|
||||
static void ov117_02262C3C(UnkStruct_ov117_022626B0 * param0);
|
||||
static void ov117_02262C60(UnkStruct_ov117_022626B0 * param0, int param1);
|
||||
static BOOL ov117_02262CB8(UnkStruct_ov117_022626B0 * param0, int param1);
|
||||
static void ov117_02262CE8(UnkStruct_ov117_022626B0 * param0);
|
||||
static void ov117_02262CFC(UnkStruct_ov117_022626B0 * param0);
|
||||
static void ov117_022629E0(UnkStruct_ov117_02261280 * param0, UnkStruct_ov117_022626B0 * param1, int param2, int param3);
|
||||
void ov117_02262D4C(BOOL param0, BOOL param1);
|
||||
void ov117_02262D98();
|
||||
static void ov117_022638D8(UnkStruct_ov117_02261280 * param0);
|
||||
static void ov117_022639BC(UnkStruct_ov117_02261280 * param0);
|
||||
static UnkStruct_0200D0F4 * ov117_02263A00(UnkStruct_ov117_02261280 * param0);
|
||||
static void ov117_02263A6C(UnkStruct_ov117_022626B0 * param0, UnkStruct_0200D0F4 * param1);
|
||||
static void ov117_02263AE4(UnkStruct_0200D0F4 * param0);
|
||||
|
||||
static const fx16 Unk_ov117_02266B12[3 * 6] = {
|
||||
0x0,
|
||||
0x0,
|
||||
FX16_ONE - 1,
|
||||
0x0,
|
||||
FX16_ONE - 1,
|
||||
0x0,
|
||||
FX16_ONE - 1,
|
||||
0x0,
|
||||
0x0,
|
||||
0x0,
|
||||
0x0,
|
||||
-FX16_ONE + 1,
|
||||
0x0,
|
||||
-FX16_ONE + 1,
|
||||
0x0,
|
||||
-FX16_ONE + 1,
|
||||
0x0,
|
||||
0x0
|
||||
};
|
||||
|
||||
static const UnkStruct_ov104_0223F9E0 Unk_ov117_02266B38 = {
|
||||
0x0,
|
||||
0x0,
|
||||
0x0,
|
||||
0x0,
|
||||
0xE,
|
||||
0x0,
|
||||
NNS_G2D_VRAM_TYPE_2DMAIN,
|
||||
{0x2713, 0x2715, 0x2713, 0x2713, 0xFFFFFFFF, 0xFFFFFFFF},
|
||||
0x1,
|
||||
0x0
|
||||
};
|
||||
|
||||
static const struct {
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
u8 unk_02;
|
||||
u8 unk_03;
|
||||
} Unk_ov117_02266B05[] = {
|
||||
{0x40, 0xC0, 0x10, 0xA8},
|
||||
{0x28, 0xD8, 0x0, 0xA8},
|
||||
{0x54, 0xAC, 0x8, 0xA8}
|
||||
};
|
||||
|
||||
extern const s32 Unk_ov117_02266FD8[];
|
||||
|
||||
inline void inline_ov117_02262EAC (int param0)
|
||||
{
|
||||
NNS_G3dGeNormal(Unk_ov117_02266B12[param0 * 3], Unk_ov117_02266B12[param0 * 3 + 1], Unk_ov117_02266B12[param0 * 3 + 2]);
|
||||
}
|
||||
|
||||
UnkStruct_ov117_022626B0 * ov117_022626B0 (UnkStruct_ov117_02261280 * param0)
|
||||
{
|
||||
UnkStruct_ov117_022626B0 * v0;
|
||||
|
||||
v0 = sub_02018144(110, sizeof(UnkStruct_ov117_022626B0));
|
||||
MI_CpuClear8(v0, sizeof(UnkStruct_ov117_022626B0));
|
||||
v0->unk_270 = param0->unk_00->unk_34;
|
||||
|
||||
ov117_02262B98(v0);
|
||||
ov117_02262E0C(v0);
|
||||
ov117_02262E5C(v0);
|
||||
|
||||
switch (param0->unk_00->unk_34) {
|
||||
case 2:
|
||||
v0->unk_260 = ((6 * 16 * FX32_ONE) - 2 * 16 * FX32_ONE);
|
||||
v0->unk_264 = ((6 * 16 * FX32_ONE) + 1 * 16 * FX32_ONE / 2);
|
||||
break;
|
||||
case 1:
|
||||
v0->unk_260 = ((6 * 16 * FX32_ONE) + 3 * 16 * FX32_ONE);
|
||||
v0->unk_264 = ((6 * 16 * FX32_ONE) + 1 * 16 * FX32_ONE);
|
||||
break;
|
||||
default:
|
||||
v0->unk_260 = (6 * 16 * FX32_ONE);
|
||||
v0->unk_264 = (6 * 16 * FX32_ONE);
|
||||
break;
|
||||
}
|
||||
|
||||
v0->unk_21C = 128;
|
||||
v0->unk_220 = 40;
|
||||
|
||||
ov117_022638D8(param0);
|
||||
v0->unk_234 = ov117_02263A00(param0);
|
||||
ov117_02263A6C(v0, v0->unk_234);
|
||||
|
||||
v0->unk_248 = 0x2000;
|
||||
|
||||
return v0;
|
||||
}
|
||||
|
||||
void ov117_02262760 (UnkStruct_ov117_02261280 * param0, UnkStruct_ov117_022626B0 * param1)
|
||||
{
|
||||
ov117_02263AE4(param1->unk_234);
|
||||
ov117_022639BC(param0);
|
||||
|
||||
sub_020181C4(param1->unk_00);
|
||||
sub_020181C4(param1->unk_24C);
|
||||
sub_020181C4(param1->unk_250);
|
||||
sub_020181C4(param1);
|
||||
}
|
||||
|
||||
void ov117_02262798 (UnkStruct_ov117_02261280 * param0, UnkStruct_ov117_022626B0 * param1)
|
||||
{
|
||||
param1->unk_244 = 0;
|
||||
|
||||
if (param0->unk_20 == 2) {
|
||||
param1->unk_20C = param0->unk_174C.unk_0C;
|
||||
param1->unk_210 = param0->unk_174C.unk_10;
|
||||
param1->unk_214 = param0->unk_174C.unk_14;
|
||||
param1->unk_218 = param0->unk_174C.unk_18;
|
||||
} else if ((param0->unk_2FB8 == 0) || (param0->unk_2FBC == 1)) {
|
||||
param1->unk_20C = 0;
|
||||
param1->unk_210 = 0;
|
||||
param1->unk_214 = 0;
|
||||
param1->unk_218 = 0;
|
||||
} else {
|
||||
param1->unk_20C = Unk_021BF67C.unk_5C;
|
||||
param1->unk_210 = Unk_021BF67C.unk_5E;
|
||||
param1->unk_214 = Unk_021BF67C.unk_62;
|
||||
param1->unk_218 = Unk_021BF67C.unk_60;
|
||||
}
|
||||
|
||||
ov117_02263270(param1);
|
||||
|
||||
if (param1->unk_214 == 0) {
|
||||
ov117_02262A38(param1);
|
||||
if ((param1->unk_0C[0].unk_10.unk_04 == 0) && (param1->unk_0C[0].unk_10.unk_04 == 0)) {
|
||||
param1->unk_274 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
ov117_0226334C(param1);
|
||||
ov117_02262A70(param1);
|
||||
ov117_02263A6C(param1, param1->unk_234);
|
||||
|
||||
if (param1->unk_268 > 0) {
|
||||
param1->unk_268 += 8;
|
||||
|
||||
if (param1->unk_268 > 30) {
|
||||
param1->unk_268 = 30;
|
||||
}
|
||||
|
||||
ov117_02262CFC(param1);
|
||||
}
|
||||
|
||||
if ((param0->unk_2FBC == 0) && (param0->unk_2FB8 == 1)) {
|
||||
if (param1->unk_244 > 0) {
|
||||
UnkStruct_ov117_02264E84 v0;
|
||||
int v1 = 0, v2 = 0;
|
||||
s32 v3;
|
||||
|
||||
if (param1->unk_25C < 800) {
|
||||
v1 = ov117_02262CB8(param1, param1->unk_244);
|
||||
|
||||
if (v1 == 1) {
|
||||
param1->unk_268 = 8;
|
||||
param1->unk_275 = 0;
|
||||
sub_02005748(1398);
|
||||
}
|
||||
} else {
|
||||
ov117_02262CE8(param1);
|
||||
param1->unk_268 = 0;
|
||||
v2 = 1;
|
||||
}
|
||||
|
||||
v3 = ov117_0226296C(param1, param1->unk_244);
|
||||
|
||||
if (v2 == 1) {
|
||||
v3 += v3 * 25 / 100;
|
||||
}
|
||||
|
||||
ov117_02264E14(param0, param0->unk_2FC8, v3, &v0);
|
||||
ov117_02264E3C(param0, &v0);
|
||||
ov117_02263DC4(param0, &v0);
|
||||
ov117_02262998(param1, param1->unk_244);
|
||||
ov117_022629E0(param0, param1, param1->unk_244, v2);
|
||||
param1->unk_244 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ov117_02262950 (UnkStruct_ov117_02261280 * param0, UnkStruct_ov117_022626B0 * param1)
|
||||
{
|
||||
if (param1->unk_276 == 1) {
|
||||
param1->unk_276 = 0;
|
||||
ov117_02262C3C(param1);
|
||||
}
|
||||
}
|
||||
|
||||
static int ov117_0226296C (UnkStruct_ov117_022626B0 * param0, int param1)
|
||||
{
|
||||
int v0;
|
||||
|
||||
if (param1 >= 98) {
|
||||
v0 = 1200;
|
||||
} else {
|
||||
v0 = param1 * 10;
|
||||
}
|
||||
|
||||
v0 = v0 * Unk_ov117_02266FD8[param0->unk_270] / 100;
|
||||
return v0;
|
||||
}
|
||||
|
||||
static void ov117_02262998 (UnkStruct_ov117_022626B0 * param0, int param1)
|
||||
{
|
||||
if (param0->unk_244 >= 98) {
|
||||
param0->unk_248 += 0x1000;
|
||||
} else if (param0->unk_244 >= 98) {
|
||||
param0->unk_248 += 0x1000;
|
||||
} else {
|
||||
param0->unk_248 = 0x2000;
|
||||
}
|
||||
|
||||
if (param0->unk_248 > 0x11000) {
|
||||
param0->unk_248 = 0x11000;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov117_022629E0 (UnkStruct_ov117_02261280 * param0, UnkStruct_ov117_022626B0 * param1, int param2, int param3)
|
||||
{
|
||||
if ((param3 == 1) && (param1->unk_244 >= 98)) {
|
||||
ov117_02261600(param0, 0);
|
||||
sub_02005748(1402);
|
||||
} else if (param1->unk_244 >= 98) {
|
||||
(void)0;
|
||||
} else {
|
||||
if (param1->unk_0C[0].unk_00.unk_04 < param1->unk_0C[0].unk_10.unk_04) {
|
||||
ov117_02261600(param0, 2);
|
||||
sub_02005748(1400);
|
||||
} else if (param1->unk_0C[0].unk_00.unk_04 > param1->unk_0C[0].unk_10.unk_04) {
|
||||
ov117_02261600(param0, 1);
|
||||
sub_02005748(1400);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ov117_02262A38 (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
if (param0->unk_238 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
param0->unk_238 = 0;
|
||||
param0->unk_23C = -1;
|
||||
|
||||
{
|
||||
int v0;
|
||||
|
||||
v0 = ov117_022638AC(param0);
|
||||
param0->unk_244 = param0->unk_240 - v0;
|
||||
|
||||
if (param0->unk_244 < 25) {
|
||||
param0->unk_244 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ov117_02262A70 (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
u32 v0, v1;
|
||||
|
||||
NNS_G3dGeLightVector(GX_LIGHTID_0, FX16_SQRT1_3, -FX16_SQRT1_3, -FX16_SQRT1_3);
|
||||
NNS_G3dGeLightColor(GX_LIGHTID_0, GX_RGB(31, 31, 31));
|
||||
NNS_G3dGePushMtx();
|
||||
|
||||
{
|
||||
fx16 v2 = FX_SinIdx(param0->unk_08);
|
||||
fx16 v3 = FX_CosIdx(param0->unk_08);
|
||||
|
||||
NNS_G3dGeTranslate(0, (9 + 10) * FX32_ONE, -5 * FX32_ONE);
|
||||
NNS_G3dGeScale(param0->unk_260 + param0->unk_260 * (param0->unk_268 + param0->unk_26C) / 100, param0->unk_264 + param0->unk_264 * param0->unk_26A / 100, (FX32_ONE));
|
||||
}
|
||||
|
||||
{
|
||||
NNS_G3dGeMtxMode(GX_MTXMODE_TEXTURE);
|
||||
NNS_G3dGeIdentity();
|
||||
NNS_G3dGeMtxMode(GX_MTXMODE_POSITION_VECTOR);
|
||||
}
|
||||
|
||||
ov117_02262D4C(1, 1);
|
||||
ov117_02262D98();
|
||||
|
||||
v0 = NNS_GfdGetTexKeyAddr(param0->unk_04->texInfo.vramKey);
|
||||
v1 = NNS_GfdGetPlttKeyAddr(param0->unk_04->plttInfo.vramKey);
|
||||
|
||||
NNS_G3dGeTexImageParam(GX_TEXFMT_PLTT256, GX_TEXGEN_TEXCOORD, GX_TEXSIZE_S128, GX_TEXSIZE_T128, GX_TEXREPEAT_NONE, GX_TEXFLIP_NONE, GX_TEXPLTTCOLOR0_TRNS, v0);
|
||||
NNS_G3dGeTexPlttBase(v1, GX_TEXFMT_PLTT256);
|
||||
NNS_G3dGePolygonAttr(GX_LIGHTMASK_0, GX_POLYGONMODE_MODULATE, GX_CULL_NONE, 0, 31, GX_POLYGON_ATTR_MISC_NONE);
|
||||
|
||||
ov117_02262EAC(param0);
|
||||
|
||||
NNS_G3dGePopMtx(1);
|
||||
NNS_G3dGeFlushBuffer();
|
||||
}
|
||||
|
||||
static void ov117_02262B98 (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
param0->unk_00 = sub_02006AC0(173, 29, 110);
|
||||
param0->unk_04 = NNS_G3dGetTex(param0->unk_00);
|
||||
|
||||
sub_0201CBCC(param0->unk_04);
|
||||
|
||||
{
|
||||
u32 v0;
|
||||
void * v1;
|
||||
u32 v2;
|
||||
|
||||
v0 = (u32)param0->unk_04->plttInfo.sizePltt << 3;
|
||||
v1 = (u8 *)param0->unk_04 + param0->unk_04->plttInfo.ofsPlttData;
|
||||
v2 = (param0->unk_04->plttInfo.vramKey & 0xffff) << 3;
|
||||
|
||||
GF_ASSERT(param0->unk_24C == NULL);
|
||||
|
||||
param0->unk_24C = sub_02018144(110, v0);
|
||||
param0->unk_250 = sub_02018144(110, v0);
|
||||
|
||||
MI_CpuCopy8(v1, param0->unk_24C, v0);
|
||||
MI_CpuCopy8(v1, param0->unk_250, v0);
|
||||
|
||||
DC_FlushRange(param0->unk_250, v0);
|
||||
|
||||
param0->unk_258 = v2;
|
||||
param0->unk_254 = v0;
|
||||
}
|
||||
|
||||
{
|
||||
u8 * v3;
|
||||
u32 v4;
|
||||
|
||||
GF_ASSERT(param0->unk_04->texInfo.ofsTex != 0);
|
||||
|
||||
v3 = (u8 *)param0->unk_04 + param0->unk_04->texInfo.ofsTex;
|
||||
v4 = (u32)(v3 - (u8 *)param0->unk_00);
|
||||
|
||||
sub_020182F0(param0->unk_00, v4);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov117_02262C3C (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
GX_BeginLoadTexPltt();
|
||||
GX_LoadTexPltt(param0->unk_250, param0->unk_258, param0->unk_254);
|
||||
GX_EndLoadTexPltt();
|
||||
}
|
||||
|
||||
static void ov117_02262C60 (UnkStruct_ov117_022626B0 * param0, int param1)
|
||||
{
|
||||
int v0;
|
||||
|
||||
v0 = (12 << 8) * param1 / 800;
|
||||
v0 = (v0 + 0x80) >> 8;
|
||||
|
||||
if (v0 > 16) {
|
||||
v0 = 16;
|
||||
}
|
||||
|
||||
sub_0200393C(param0->unk_24C, param0->unk_250, param0->unk_254 / 2, v0, 0x1f);
|
||||
DC_FlushRange(param0->unk_250, param0->unk_254);
|
||||
|
||||
param0->unk_276 = 1;
|
||||
}
|
||||
|
||||
static BOOL ov117_02262CB8 (UnkStruct_ov117_022626B0 * param0, int param1)
|
||||
{
|
||||
BOOL v0 = 0;
|
||||
|
||||
param0->unk_25C += param1;
|
||||
|
||||
if (param0->unk_25C >= 800) {
|
||||
param0->unk_25C = 800;
|
||||
v0 = 1;
|
||||
}
|
||||
|
||||
ov117_02262C60(param0, param0->unk_25C);
|
||||
|
||||
return v0;
|
||||
}
|
||||
|
||||
static void ov117_02262CE8 (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
param0->unk_25C = 0;
|
||||
ov117_02262C60(param0, param0->unk_25C);
|
||||
}
|
||||
|
||||
static void ov117_02262CFC (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
if (param0->unk_268 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
param0->unk_275++;
|
||||
|
||||
if (param0->unk_275 == 4) {
|
||||
ov117_02262C60(param0, param0->unk_25C / 2);
|
||||
} else if (param0->unk_275 == 4 * 2) {
|
||||
ov117_02262C60(param0, param0->unk_25C);
|
||||
param0->unk_275 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static const GXRgb DEMO_DIFFUSE_COL = GX_RGB(23, 23, 23);
|
||||
static const GXRgb DEMO_AMBIENT_COL = GX_RGB(8, 8, 8);
|
||||
static const GXRgb DEMO_SPECULAR_COL = GX_RGB(31, 31, 31);
|
||||
static const GXRgb DEMO_EMISSION_COL = GX_RGB(0, 0, 0);
|
||||
static const u32 LIGHTING_L_DOT_S_SHIFT = 8;
|
||||
|
||||
void ov117_02262D4C (BOOL param0, BOOL param1)
|
||||
{
|
||||
NNS_G3dGeMaterialColorDiffAmb(DEMO_DIFFUSE_COL, DEMO_AMBIENT_COL, param0);
|
||||
NNS_G3dGeMaterialColorSpecEmi(DEMO_SPECULAR_COL, DEMO_EMISSION_COL, param1);
|
||||
}
|
||||
|
||||
#include <nitro/code32.h>
|
||||
void ov117_02262D98 ()
|
||||
{
|
||||
u8 i;
|
||||
u32 v0[32];
|
||||
u8 * v1 = (u8 *)&v0[0];
|
||||
const u8 v2 = 32 * sizeof(u32);
|
||||
|
||||
for (i = 0; i < v2 - 1; i++) {
|
||||
v1[i] = (u8)(((s64)(i * 2 + 1) * (i * 2 + 1) * (i * 2 + 1) * (i * 2 + 1)) >> (LIGHTING_L_DOT_S_SHIFT * (4 - 1)));
|
||||
}
|
||||
|
||||
v1[v2 - 1] = 0xFF;
|
||||
|
||||
NNS_G3dGeShininess(&v0[0]);
|
||||
}
|
||||
|
||||
#include <nitro/codereset.h>
|
||||
static void ov117_02262E0C (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
int v0;
|
||||
fx32 v1;
|
||||
fx32 v2;
|
||||
|
||||
v2 = ((-(128 * FX32_ONE)) - 0) / 8;
|
||||
|
||||
for (v0 = 0; v0 < 8; v0++) {
|
||||
v1 = 0 + v0 * v2;
|
||||
|
||||
param0->unk_0C[v0].unk_00.unk_00 = 0;
|
||||
param0->unk_0C[v0].unk_00.unk_04 = v1;
|
||||
param0->unk_0C[v0].unk_08.unk_00 = 0;
|
||||
param0->unk_0C[v0].unk_08.unk_04 = v1 + v2;
|
||||
param0->unk_0C[v0].unk_10.unk_00 = ((128 * FX32_ONE));
|
||||
param0->unk_0C[v0].unk_10.unk_04 = v1;
|
||||
param0->unk_0C[v0].unk_18.unk_00 = ((128 * FX32_ONE));
|
||||
param0->unk_0C[v0].unk_18.unk_04 = v1 + v2;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov117_02262E5C (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
int v0;
|
||||
fx32 v1;
|
||||
fx32 v2;
|
||||
|
||||
v2 = 128 * FX32_ONE / 8;
|
||||
|
||||
for (v0 = 0; v0 < 8; v0++) {
|
||||
v1 = v0 * v2;
|
||||
|
||||
param0->unk_10C[v0].unk_00.unk_00 = 0;
|
||||
param0->unk_10C[v0].unk_00.unk_04 = v1;
|
||||
param0->unk_10C[v0].unk_08.unk_00 = 0;
|
||||
param0->unk_10C[v0].unk_08.unk_04 = v1 + v2;
|
||||
param0->unk_10C[v0].unk_10.unk_00 = 128 * FX32_ONE;
|
||||
param0->unk_10C[v0].unk_10.unk_04 = v1;
|
||||
param0->unk_10C[v0].unk_18.unk_00 = 128 * FX32_ONE;
|
||||
param0->unk_10C[v0].unk_18.unk_04 = v1 + v2;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov117_02262EAC (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
int v0;
|
||||
fx64 v1, v2;
|
||||
fx16 v3, v4;
|
||||
|
||||
for (v0 = 0; v0 < 8; v0++) {
|
||||
NNS_G3dGeBegin(GX_BEGIN_QUADS);
|
||||
|
||||
ov117_02263168(param0->unk_0C[v0].unk_00.unk_00, param0->unk_0C[v0].unk_00.unk_04, &v3, &v4);
|
||||
NNS_G3dGeTexCoord(param0->unk_10C[v0].unk_00.unk_00, param0->unk_10C[v0].unk_00.unk_04);
|
||||
inline_ov117_02262EAC(0);
|
||||
NNS_G3dGeVtx(v3, v4, 0);
|
||||
|
||||
ov117_02263168(param0->unk_0C[v0].unk_08.unk_00, param0->unk_0C[v0].unk_08.unk_04, &v3, &v4);
|
||||
NNS_G3dGeTexCoord(param0->unk_10C[v0].unk_08.unk_00, param0->unk_10C[v0].unk_08.unk_04);
|
||||
inline_ov117_02262EAC(0);
|
||||
NNS_G3dGeVtx(v3, v4, 0);
|
||||
|
||||
ov117_02263168(param0->unk_0C[v0].unk_18.unk_00, param0->unk_0C[v0].unk_18.unk_04, &v3, &v4);
|
||||
NNS_G3dGeTexCoord(param0->unk_10C[v0].unk_18.unk_00, param0->unk_10C[v0].unk_18.unk_04);
|
||||
inline_ov117_02262EAC(0);
|
||||
NNS_G3dGeVtx(v3, v4, 0);
|
||||
|
||||
ov117_02263168(param0->unk_0C[v0].unk_10.unk_00, param0->unk_0C[v0].unk_10.unk_04, &v3, &v4);
|
||||
NNS_G3dGeTexCoord(param0->unk_10C[v0].unk_10.unk_00, param0->unk_10C[v0].unk_10.unk_04);
|
||||
inline_ov117_02262EAC(0);
|
||||
NNS_G3dGeVtx(v3, v4, 0);
|
||||
|
||||
NNS_G3dGeEnd();
|
||||
}
|
||||
}
|
||||
|
||||
static void ov117_02263168 (fx32 param0, fx32 param1, fx16 * param2, fx16 * param3)
|
||||
{
|
||||
fx32 v0, v1;
|
||||
|
||||
v0 = (FX16_ONE)*(fx64)param0 / (128 * FX32_ONE);
|
||||
v1 = (FX16_ONE)*(fx64)param1 / (128 * FX32_ONE);
|
||||
|
||||
GF_ASSERT(v0 <= FX16_MAX);
|
||||
GF_ASSERT(v0 >= FX16_MIN);
|
||||
GF_ASSERT(v1 <= FX16_MAX);
|
||||
GF_ASSERT(v1 >= FX16_MIN);
|
||||
|
||||
v0 -= ((FX16_ONE) / 2);
|
||||
v1 += ((FX16_ONE) / 2);
|
||||
|
||||
GF_ASSERT(v0 <= FX16_MAX);
|
||||
GF_ASSERT(v0 >= FX16_MIN);
|
||||
GF_ASSERT(v1 <= FX16_MAX);
|
||||
GF_ASSERT(v1 >= FX16_MIN);
|
||||
|
||||
*param2 = v0;
|
||||
*param3 = v1;
|
||||
}
|
||||
|
||||
static BOOL ov117_02263270 (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
if ((param0->unk_238 == 1) || (param0->unk_218 == 0)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = (param0->unk_230 >> FX32_SHIFT) + Unk_ov117_02266B05[param0->unk_270].unk_02;
|
||||
|
||||
if ((param0->unk_20C < Unk_ov117_02266B05[param0->unk_270].unk_00) || (param0->unk_20C > Unk_ov117_02266B05[param0->unk_270].unk_01) || (param0->unk_210 < v0) || (param0->unk_210 > Unk_ov117_02266B05[param0->unk_270].unk_03)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
param0->unk_238 = 1;
|
||||
param0->unk_224 = param0->unk_20C;
|
||||
param0->unk_228 = param0->unk_210;
|
||||
param0->unk_22C = param0->unk_210 - v0;
|
||||
param0->unk_230 = -(param0->unk_0C[0].unk_10.unk_04 + (param0->unk_0C[0].unk_00.unk_04 - param0->unk_0C[0].unk_10.unk_04) / 2);
|
||||
param0->unk_240 = ov117_022638AC(param0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int ov117_0226334C (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
int v0 = 0;
|
||||
fx32 v1;
|
||||
int v2;
|
||||
int v3;
|
||||
|
||||
if (param0->unk_238 == 1) {
|
||||
if (param0->unk_210 < param0->unk_23C) {
|
||||
param0->unk_274 = 0;
|
||||
return 0;
|
||||
} else if (param0->unk_210 == param0->unk_23C) {
|
||||
param0->unk_274 = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((param0->unk_23C != -1) && (param0->unk_210 > param0->unk_23C) && (sub_020057D4(1399) == 0)) {
|
||||
sub_02005748(1399);
|
||||
param0->unk_274 = 1;
|
||||
}
|
||||
|
||||
v3 = param0->unk_210 - param0->unk_22C;
|
||||
v1 = (v3 << FX32_SHIFT) - (param0->unk_230 + (Unk_ov117_02266B05[param0->unk_270].unk_02 << FX32_SHIFT));
|
||||
param0->unk_23C = param0->unk_210;
|
||||
} else {
|
||||
v0 = 1;
|
||||
v1 = -param0->unk_248;
|
||||
}
|
||||
|
||||
v2 = ov117_02263448(param0, v0, v1);
|
||||
|
||||
switch (v2) {
|
||||
case 0:
|
||||
default:
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
ov117_02262A38(param0);
|
||||
break;
|
||||
}
|
||||
|
||||
param0->unk_230 = -(param0->unk_0C[0].unk_10.unk_04 + (param0->unk_0C[0].unk_00.unk_04 - param0->unk_0C[0].unk_10.unk_04) / 2);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int ov117_02263448 (UnkStruct_ov117_022626B0 * param0, int param1, fx32 param2)
|
||||
{
|
||||
fx32 v0, v1, v2, v3, v4, v5, v6;
|
||||
fx32 v7, v8;
|
||||
fx32 v9, v10;
|
||||
u16 v11, v12;
|
||||
int v13 = 0;
|
||||
|
||||
if ((param1 == 0) && (param2 < 0)) {
|
||||
(void)0;
|
||||
}
|
||||
|
||||
v0 = param0->unk_210 << FX32_SHIFT;
|
||||
v3 = -param0->unk_0C[0].unk_00.unk_04;
|
||||
v4 = -param0->unk_0C[0].unk_10.unk_04;
|
||||
v7 = v4 + (v3 - v4) / 2;
|
||||
|
||||
switch (ov117_022637AC(param0, param1)) {
|
||||
case 0:
|
||||
v5 = v3 + param2;
|
||||
v6 = v4 + param2;
|
||||
break;
|
||||
case 1:
|
||||
v13 = ov117_022637E4(param0, param2, v3, v4, &v5, &v6);
|
||||
break;
|
||||
case 2:
|
||||
v13 = ov117_022637E4(param0, param2, v4, v3, &v6, &v5);
|
||||
break;
|
||||
}
|
||||
|
||||
v8 = v6 + (v5 - v6) / 2;
|
||||
|
||||
if ((v7 == v8) && (v3 == v5) && (v4 == v6)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (v8 < 0) {
|
||||
v8 = 0;
|
||||
}
|
||||
|
||||
if (v5 < 0) {
|
||||
v5 = 0;
|
||||
}
|
||||
|
||||
if (v6 < 0) {
|
||||
v6 = 0;
|
||||
}
|
||||
|
||||
if (v8 > (((128 * FX32_ONE) / 8 * (8 - 1)) - 12 * FX32_ONE)) {
|
||||
v8 = (((128 * FX32_ONE) / 8 * (8 - 1)) - 12 * FX32_ONE);
|
||||
v13 = 1;
|
||||
}
|
||||
|
||||
if (v5 > (((128 * FX32_ONE) / 8 * (8 - 1)) - 12 * FX32_ONE)) {
|
||||
v5 = (((128 * FX32_ONE) / 8 * (8 - 1)) - 12 * FX32_ONE);
|
||||
v13 = 1;
|
||||
}
|
||||
|
||||
if (v6 > (((128 * FX32_ONE) / 8 * (8 - 1)) - 12 * FX32_ONE)) {
|
||||
v6 = (((128 * FX32_ONE) / 8 * (8 - 1)) - 12 * FX32_ONE);
|
||||
v13 = 1;
|
||||
}
|
||||
|
||||
{
|
||||
fx32 v14, v15;
|
||||
int v16;
|
||||
|
||||
v16 = 64;
|
||||
|
||||
switch (ov117_022637AC(param0, param1)) {
|
||||
case 0:
|
||||
default:
|
||||
if (v5 < v6) {
|
||||
v14 = v16 * FX32_ONE;
|
||||
} else if (v5 > v6) {
|
||||
v14 = -v16 * FX32_ONE;
|
||||
} else {
|
||||
v14 = 0;
|
||||
}
|
||||
|
||||
v14 = v16 * FX32_ONE;
|
||||
v15 = v6 - v8;
|
||||
v11 = FX_Atan2Idx(v15, v14);
|
||||
v12 = v11 + 0x8000;
|
||||
break;
|
||||
case 2:
|
||||
v14 = v16 * FX32_ONE;
|
||||
v15 = (v6 - v8);
|
||||
v11 = FX_Atan2Idx(v15, v14);
|
||||
v12 = v11 + 0x8000;
|
||||
break;
|
||||
case 1:
|
||||
v14 = -v16 * FX32_ONE;
|
||||
v15 = v5 - v8;
|
||||
v12 = FX_Atan2Idx(v15, v14);
|
||||
v11 = v12 + 0x8000;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
fx32 v17 = ((128 * FX32_ONE) / 2) / FX32_ONE;
|
||||
|
||||
param0->unk_0C[0].unk_00.unk_00 = v17 * FX_CosIdx(v12) + ((128 * FX32_ONE) / 2);
|
||||
param0->unk_0C[0].unk_00.unk_04 = -(v17 * FX_SinIdx(v12) + v8);
|
||||
param0->unk_0C[0].unk_10.unk_00 = v17 * FX_CosIdx(v11) + ((128 * FX32_ONE) / 2);
|
||||
param0->unk_0C[0].unk_10.unk_04 = -(v17 * FX_SinIdx(v11) + v8);
|
||||
|
||||
{
|
||||
int v18;
|
||||
fx32 v19;
|
||||
s32 v20;
|
||||
|
||||
v19 = (((128 * FX32_ONE) / 8 * (8 - 1)) - v8) / (8 - 1);
|
||||
|
||||
if (v11 > 0x8000) {
|
||||
v20 = -(0x10000 - v11) / (8 - 1);
|
||||
} else {
|
||||
v20 = v11 / (8 - 1);
|
||||
}
|
||||
|
||||
for (v18 = 1; v18 < (8 - 1); v18++) {
|
||||
param0->unk_0C[v18].unk_00.unk_00 = v17 * FX_CosIdx(v12 - v20 * v18) + ((128 * FX32_ONE) / 2);
|
||||
param0->unk_0C[v18].unk_00.unk_04 = -(v17 * FX_SinIdx(v12 - v20 * v18) + v8 + v19 * v18);
|
||||
param0->unk_0C[v18].unk_10.unk_00 = v17 * FX_CosIdx(v11 - v20 * v18) + ((128 * FX32_ONE) / 2);
|
||||
param0->unk_0C[v18].unk_10.unk_04 = -(v17 * FX_SinIdx(v11 - v20 * v18) + v8 + v19 * v18);
|
||||
param0->unk_0C[v18 - 1].unk_08.unk_00 = param0->unk_0C[v18].unk_00.unk_00;
|
||||
param0->unk_0C[v18 - 1].unk_08.unk_04 = param0->unk_0C[v18].unk_00.unk_04;
|
||||
param0->unk_0C[v18 - 1].unk_18.unk_00 = param0->unk_0C[v18].unk_10.unk_00;
|
||||
param0->unk_0C[v18 - 1].unk_18.unk_04 = param0->unk_0C[v18].unk_10.unk_04;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (v13 == 1) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ov117_022637AC (UnkStruct_ov117_022626B0 * param0, int param1)
|
||||
{
|
||||
if (param1 == 1) {
|
||||
return 0;
|
||||
}
|
||||
if (param0->unk_224 < param0->unk_21C - 16) {
|
||||
return 1;
|
||||
}
|
||||
if (param0->unk_224 > param0->unk_21C + 16) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ov117_022637E4 (UnkStruct_ov117_022626B0 * param0, fx32 param1, fx32 param2, fx32 param3, fx32 * param4, fx32 * param5)
|
||||
{
|
||||
int v0 = 0;
|
||||
|
||||
*param4 = param2;
|
||||
*param5 = param3;
|
||||
|
||||
if (param2 + param1 > (((128 * FX32_ONE) / 8 * (8 - 1)) - 12 * FX32_ONE)) {
|
||||
param1 -= (param2 + param1) - (((128 * FX32_ONE) / 8 * (8 - 1)) - 12 * FX32_ONE);
|
||||
v0 = 1;
|
||||
}
|
||||
|
||||
*param4 = param2 + param1;
|
||||
|
||||
if (param3 <= param2) {
|
||||
*param5 = param3 - (param1 * 25 / 100);
|
||||
} else {
|
||||
*param5 = param3;
|
||||
}
|
||||
|
||||
return v0;
|
||||
}
|
||||
|
||||
static fx32 ov117_0226384C (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
fx32 v0, v1, v2;
|
||||
fx32 v3, v4, v5;
|
||||
fx32 v6;
|
||||
int v7 = (8 - 1) - 1;
|
||||
|
||||
v3 = param0->unk_0C[0].unk_10.unk_04 + (param0->unk_0C[0].unk_00.unk_04 - param0->unk_0C[0].unk_10.unk_04) / 2;
|
||||
v2 = -(param0->unk_0C[v7].unk_08.unk_04 - v3);
|
||||
v4 = param0->unk_0C[0].unk_10.unk_00 - param0->unk_0C[0].unk_00.unk_00;
|
||||
v5 = param0->unk_0C[v7].unk_18.unk_00 - param0->unk_0C[v7].unk_08.unk_00;
|
||||
v6 = FX_Mul(v4 + v5, v2) / 2;
|
||||
|
||||
return v6;
|
||||
}
|
||||
|
||||
static int ov117_022638AC (UnkStruct_ov117_022626B0 * param0)
|
||||
{
|
||||
fx32 v0;
|
||||
int v1;
|
||||
|
||||
v0 = ov117_0226384C(param0);
|
||||
v1 = 100 * (fx64)v0 / (((((((128 * FX32_ONE)) - 0) + (((128 * FX32_ONE)) - 0)) * (fx64)((((128 * FX32_ONE) / 8 * (8 - 1)) - 12 * FX32_ONE))) >> FX32_SHIFT) / 2);
|
||||
|
||||
return v1;
|
||||
}
|
||||
|
||||
static void ov117_022638D8 (UnkStruct_ov117_02261280 * param0)
|
||||
{
|
||||
UnkStruct_02006C24 * v0;
|
||||
|
||||
v0 = sub_02006C24(173, 110);
|
||||
|
||||
sub_0200CDC4(param0->unk_8C, 2, param0->unk_24, param0->unk_28, v0, 58, 0, 1, NNS_G2D_VRAM_TYPE_2DMAIN, 10005);
|
||||
sub_0200CC3C(param0->unk_24, param0->unk_28, v0, 55, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 10003);
|
||||
sub_0200CE24(param0->unk_24, param0->unk_28, v0, 57, 0, 10003);
|
||||
sub_0200CE54(param0->unk_24, param0->unk_28, v0, 56, 0, 10003);
|
||||
sub_02006CA8(v0);
|
||||
}
|
||||
|
||||
static void ov117_022639BC (UnkStruct_ov117_02261280 * param0)
|
||||
{
|
||||
sub_0200D070(param0->unk_28, 10003);
|
||||
sub_0200D090(param0->unk_28, 10003);
|
||||
sub_0200D0A0(param0->unk_28, 10003);
|
||||
sub_0200D080(param0->unk_28, 10005);
|
||||
}
|
||||
|
||||
static UnkStruct_0200D0F4 * ov117_02263A00 (UnkStruct_ov117_02261280 * param0)
|
||||
{
|
||||
UnkStruct_0200D0F4 * v0;
|
||||
UnkStruct_ov104_0223F9E0 v1;
|
||||
|
||||
v1 = Unk_ov117_02266B38;
|
||||
v0 = sub_0200CE6C(param0->unk_24, param0->unk_28, &v1);
|
||||
|
||||
sub_0200D3F4(v0, 0);
|
||||
sub_0200D324(v0->unk_00);
|
||||
|
||||
return v0;
|
||||
}
|
||||
|
||||
static void ov117_02263A6C (UnkStruct_ov117_022626B0 * param0, UnkStruct_0200D0F4 * param1)
|
||||
{
|
||||
int v0;
|
||||
|
||||
if (param0->unk_238 == 0) {
|
||||
v0 = 0;
|
||||
} else {
|
||||
v0 = ov117_022637AC(param0, 0) + 1;
|
||||
}
|
||||
|
||||
sub_0200D500(param1, param0->unk_21C, (param0->unk_230 >> FX32_SHIFT) + Unk_ov117_02266B05[param0->unk_270].unk_02, ((192 + 160) << FX32_SHIFT));
|
||||
sub_0200D364(param1, v0);
|
||||
sub_0200D324(param1->unk_00);
|
||||
}
|
||||
|
||||
static void ov117_02263AE4 (UnkStruct_0200D0F4 * param0)
|
||||
{
|
||||
sub_0200D0F4(param0);
|
||||
}
|
||||
2496
src/overlay117/ov117_02263AF0.c
Normal file
2496
src/overlay117/ov117_02263AF0.c
Normal file
File diff suppressed because it is too large
Load Diff
117
src/overlay117/ov117_02266498.c
Normal file
117
src/overlay117/ov117_02266498.c
Normal file
@@ -0,0 +1,117 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
#include <dwc.h>
|
||||
|
||||
#include "struct_decls/struct_020067E8_decl.h"
|
||||
#include "overlay114/struct_ov114_0225D678_decl.h"
|
||||
#include "overlay114/struct_ov114_0225E854_decl.h"
|
||||
|
||||
#include "overlay117/struct_ov117_022605C0.h"
|
||||
|
||||
#include "unk_020067E8.h"
|
||||
#include "unk_0200F174.h"
|
||||
#include "overlay114/ov114_0225C700.h"
|
||||
#include "overlay117/ov117_02266498.h"
|
||||
|
||||
typedef struct {
|
||||
UnkStruct_ov117_022605C0 * unk_00;
|
||||
UnkStruct_ov114_0225D678 * unk_04;
|
||||
UnkStruct_ov114_0225E854 * unk_08;
|
||||
} UnkStruct_ov117_02266498;
|
||||
|
||||
int ov117_02266498 (UnkStruct_020067E8 * param0, int * param1)
|
||||
{
|
||||
UnkStruct_ov117_02266498 * v0;
|
||||
|
||||
v0 = sub_0200681C(param0, sizeof(UnkStruct_ov117_02266498), 110);
|
||||
MI_CpuClear8(v0, sizeof(UnkStruct_ov117_02266498));
|
||||
v0->unk_00 = sub_02006840(param0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int ov117_022664BC (UnkStruct_020067E8 * param0, int * param1)
|
||||
{
|
||||
UnkStruct_ov117_02266498 * v0 = sub_0200682C(param0);
|
||||
|
||||
if (v0->unk_00->unk_3D == 1) {
|
||||
switch (v0->unk_00->unk_3E) {
|
||||
case 0:
|
||||
if (sub_0200F2AC() == 1) {
|
||||
sub_0200F2C0();
|
||||
}
|
||||
|
||||
sub_0200F370(0x0);
|
||||
v0->unk_00->unk_3E++;
|
||||
break;
|
||||
case 1:
|
||||
if (ov114_0225CA98(&v0->unk_00->unk_00) == 1) {
|
||||
v0->unk_00->unk_3E++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case 2:
|
||||
if (v0->unk_04 != NULL) {
|
||||
ov114_0225C838(v0->unk_04);
|
||||
v0->unk_04 = NULL;
|
||||
}
|
||||
|
||||
if (v0->unk_08 != NULL) {
|
||||
ov114_0225C904(v0->unk_08);
|
||||
v0->unk_08 = NULL;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (*param1) {
|
||||
case 0:
|
||||
if (v0->unk_00->unk_31 == 0) {
|
||||
*param1 = 1;
|
||||
} else {
|
||||
*param1 = 3;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
v0->unk_04 = ov114_0225C82C(&v0->unk_00->unk_00, 110);
|
||||
(*param1)++;
|
||||
break;
|
||||
case 2:
|
||||
if (ov114_0225C8BC(v0->unk_04) == 1) {
|
||||
v0->unk_00->unk_34 = ov114_0225C8CC(v0->unk_04);
|
||||
ov114_0225C838(v0->unk_04);
|
||||
v0->unk_04 = NULL;
|
||||
(*param1) = 5;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
v0->unk_08 = ov114_0225C8F8(&v0->unk_00->unk_00, &v0->unk_00->unk_10, 110);
|
||||
(*param1)++;
|
||||
break;
|
||||
case 4:
|
||||
if (ov114_0225C9A0(v0->unk_08) == 1) {
|
||||
v0->unk_00->unk_38 = ov114_0225C9A4(v0->unk_08);
|
||||
ov114_0225C904(v0->unk_08);
|
||||
v0->unk_08 = NULL;
|
||||
(*param1) = 5;
|
||||
}
|
||||
|
||||
break;
|
||||
case 5:
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ov117_022665E8 (UnkStruct_020067E8 * param0, int * param1)
|
||||
{
|
||||
UnkStruct_ov117_02266498 * v0 = sub_0200682C(param0);
|
||||
sub_02006830(param0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
103
src/overlay117/ov117_022665FC.c
Normal file
103
src/overlay117/ov117_022665FC.c
Normal file
@@ -0,0 +1,103 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_defs/struct_02039A58.h"
|
||||
#include "overlay117/struct_ov117_02261280.h"
|
||||
#include "overlay117/struct_ov117_022621D4.h"
|
||||
|
||||
#include "unk_02032798.h"
|
||||
#include "unk_02034198.h"
|
||||
#include "overlay117/ov117_02260668.h"
|
||||
#include "overlay117/ov117_022665FC.h"
|
||||
|
||||
static void ov117_02266618(int param0, int param1, void * param2, void * param3);
|
||||
static void ov117_0226663C(int param0, int param1, void * param2, void * param3);
|
||||
static void ov117_02266660(int param0, int param1, void * param2, void * param3);
|
||||
static int ov117_02266610(void);
|
||||
static int ov117_02266614(void);
|
||||
|
||||
static const UnkStruct_02039A58 Unk_ov117_02266FE4[] = {
|
||||
{NULL, sub_0203294C, NULL},
|
||||
{ov117_02266660, ov117_02266614, NULL},
|
||||
{ov117_02266618, ov117_02266610, NULL},
|
||||
{ov117_0226663C, sub_0203294C, NULL}
|
||||
};
|
||||
|
||||
void ov117_022665FC (void * param0)
|
||||
{
|
||||
int v0 = sizeof(Unk_ov117_02266FE4) / sizeof(UnkStruct_02039A58);
|
||||
|
||||
sub_02032798(Unk_ov117_02266FE4, v0, param0);
|
||||
GF_ASSERT(sizeof(UnkStruct_ov117_022621D4) < 256);
|
||||
}
|
||||
|
||||
static int ov117_02266610 (void)
|
||||
{
|
||||
return sizeof(UnkStruct_ov117_022621D4);
|
||||
}
|
||||
|
||||
static int ov117_02266614 (void)
|
||||
{
|
||||
return sizeof(u32);
|
||||
}
|
||||
|
||||
static void ov117_02266618 (int param0, int param1, void * param2, void * param3)
|
||||
{
|
||||
UnkStruct_ov117_02261280 * v0 = param3;
|
||||
ov117_02262044(v0, param0, param2);
|
||||
}
|
||||
|
||||
BOOL ov117_02266624 (UnkStruct_ov117_02261280 * param0, UnkStruct_ov117_022621D4 * param1)
|
||||
{
|
||||
if (sub_020359DC(24, param1, sizeof(UnkStruct_ov117_022621D4)) == 1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ov117_0226663C (int param0, int param1, void * param2, void * param3)
|
||||
{
|
||||
UnkStruct_ov117_02261280 * v0 = param3;
|
||||
v0->unk_2FC0 = 1;
|
||||
}
|
||||
|
||||
BOOL ov117_02266648 (UnkStruct_ov117_02261280 * param0)
|
||||
{
|
||||
if (sub_020359DC(25, NULL, 0) == 1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ov117_02266660 (int param0, int param1, void * param2, void * param3)
|
||||
{
|
||||
UnkStruct_ov117_02261280 * v0 = param3;
|
||||
u32 * v1 = param2;
|
||||
u32 v2;
|
||||
int v3;
|
||||
|
||||
v2 = v1[0];
|
||||
|
||||
for (v3 = 0; v3 < v0->unk_00->unk_30; v3++) {
|
||||
if (v0->unk_00->unk_2C[v3] == param0) {
|
||||
v0->unk_0C[v3] = v2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
GF_ASSERT(v3 < v0->unk_00->unk_30);
|
||||
v0->unk_08++;
|
||||
}
|
||||
|
||||
BOOL ov117_022666A4 (UnkStruct_ov117_02261280 * param0)
|
||||
{
|
||||
u32 v0 = 100;
|
||||
|
||||
if (sub_020359DC(23, &v0, sizeof(u32)) == 1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
188
src/overlay117/ov117_022666C0.c
Normal file
188
src/overlay117/ov117_022666C0.c
Normal file
@@ -0,0 +1,188 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "overlay117/struct_ov117_02261280.h"
|
||||
#include "overlay117/struct_ov117_022621D4.h"
|
||||
#include "overlay117/struct_ov117_02264E84.h"
|
||||
|
||||
#include "unk_02034198.h"
|
||||
#include "overlay117/ov117_02260668.h"
|
||||
#include "overlay117/ov117_02263AF0.h"
|
||||
#include "overlay117/ov117_022666C0.h"
|
||||
|
||||
static void ov117_022668A8(UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1);
|
||||
static void ov117_02266714(UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1);
|
||||
static void ov117_02266760(UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1);
|
||||
static void ov117_022667B8(UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1);
|
||||
static void ov117_02266820(UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1);
|
||||
static void ov117_02266860(UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1);
|
||||
static void ov117_022668E4(UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1);
|
||||
|
||||
static void(*const Unk_ov117_02267014[])(UnkStruct_ov117_02261280 *, const UnkStruct_ov117_022621D4 *) = {
|
||||
NULL,
|
||||
ov117_02266714,
|
||||
ov117_02266760,
|
||||
ov117_022667B8,
|
||||
ov117_02266820,
|
||||
ov117_02266860,
|
||||
ov117_022668A8,
|
||||
ov117_022668E4,
|
||||
};
|
||||
|
||||
#ifdef _NITRO
|
||||
SDK_COMPILER_ASSERT(NELEMS(Unk_ov117_02267014) == 8);
|
||||
#endif
|
||||
|
||||
BOOL ov117_022666C0 (UnkStruct_ov117_02261280 * param0, UnkStruct_ov117_022621D4 * param1)
|
||||
{
|
||||
if (Unk_ov117_02267014[param1->unk_00] != NULL) {
|
||||
Unk_ov117_02267014[param1->unk_00](param0, param1);
|
||||
MI_CpuClear8(param1, sizeof(UnkStruct_ov117_022621D4));
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ov117_022666E8 (UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_02264E84 * param1)
|
||||
{
|
||||
UnkStruct_ov117_022621D4 v0;
|
||||
|
||||
MI_CpuClear8(&v0, sizeof(UnkStruct_ov117_022621D4));
|
||||
|
||||
v0.unk_00 = 1;
|
||||
v0.unk_04_val4 = *param1;
|
||||
|
||||
ov117_02262130(param0, &v0);
|
||||
}
|
||||
|
||||
static void ov117_02266714 (UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1)
|
||||
{
|
||||
if (param1->unk_04_val4.unk_00 == sub_0203608C()) {
|
||||
return;
|
||||
}
|
||||
|
||||
ov117_02263DC4(param0, ¶m1->unk_04_val4);
|
||||
}
|
||||
|
||||
void ov117_02266730 (UnkStruct_ov117_02261280 * param0, int param1, u8 param2)
|
||||
{
|
||||
UnkStruct_ov117_022621D4 v0;
|
||||
|
||||
MI_CpuClear8(&v0, sizeof(UnkStruct_ov117_022621D4));
|
||||
|
||||
v0.unk_00 = 2;
|
||||
v0.unk_04_val5.unk_00 = param1;
|
||||
v0.unk_04_val5.unk_02 = 5;
|
||||
v0.unk_04_val5.unk_03 = param2;
|
||||
|
||||
ov117_02262130(param0, &v0);
|
||||
}
|
||||
|
||||
static void ov117_02266760 (UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1)
|
||||
{
|
||||
param0->unk_2FD0++;
|
||||
|
||||
ov117_02264808(param0);
|
||||
ov117_0226238C(param0, param1->unk_04_val5.unk_02, param1->unk_04_val5.unk_03);
|
||||
}
|
||||
|
||||
void ov117_02266784 (UnkStruct_ov117_02261280 * param0, int param1, int param2, u8 param3)
|
||||
{
|
||||
UnkStruct_ov117_022621D4 v0;
|
||||
|
||||
MI_CpuClear8(&v0, sizeof(UnkStruct_ov117_022621D4));
|
||||
|
||||
v0.unk_00 = 3;
|
||||
v0.unk_04_val6.unk_00 = param1;
|
||||
v0.unk_04_val6.unk_02 = param2;
|
||||
v0.unk_04_val6.unk_03 = 4;
|
||||
v0.unk_04_val6.unk_04 = param3;
|
||||
|
||||
ov117_02262130(param0, &v0);
|
||||
}
|
||||
|
||||
static void ov117_022667B8 (UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1)
|
||||
{
|
||||
param0->unk_2FC8 = param1->unk_04_val6.unk_00;
|
||||
ov117_02263AF0(param0->unk_2C, param0->unk_00->unk_30, param1->unk_04_val6.unk_02, ¶m0->unk_1428);
|
||||
param0->unk_2FCC = 1;
|
||||
|
||||
ov117_0226238C(param0, param1->unk_04_val6.unk_03, param1->unk_04_val6.unk_04);
|
||||
}
|
||||
|
||||
void ov117_022667F4 (UnkStruct_ov117_02261280 * param0, u8 param1)
|
||||
{
|
||||
UnkStruct_ov117_022621D4 v0;
|
||||
|
||||
MI_CpuClear8(&v0, sizeof(UnkStruct_ov117_022621D4));
|
||||
|
||||
v0.unk_00 = 4;
|
||||
v0.unk_04_val1.unk_00 = 2;
|
||||
v0.unk_04_val1.unk_01 = param1;
|
||||
|
||||
ov117_02262130(param0, &v0);
|
||||
}
|
||||
|
||||
static void ov117_02266820 (UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1)
|
||||
{
|
||||
param0->unk_20 = 3;
|
||||
ov117_0226238C(param0, param1->unk_04_val2.unk_00, param1->unk_04_val2.unk_01);
|
||||
}
|
||||
|
||||
void ov117_02266834 (UnkStruct_ov117_02261280 * param0, u8 param1)
|
||||
{
|
||||
UnkStruct_ov117_022621D4 v0;
|
||||
|
||||
MI_CpuClear8(&v0, sizeof(UnkStruct_ov117_022621D4));
|
||||
|
||||
v0.unk_00 = 5;
|
||||
v0.unk_04_val3.unk_00 = 3;
|
||||
v0.unk_04_val3.unk_01 = param1;
|
||||
|
||||
ov117_02262130(param0, &v0);
|
||||
}
|
||||
|
||||
static void ov117_02266860 (UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1)
|
||||
{
|
||||
param0->unk_2FBC = 1;
|
||||
param0->unk_20 = 6;
|
||||
ov117_0226238C(param0, param1->unk_04_val3.unk_00, param1->unk_04_val3.unk_01);
|
||||
}
|
||||
|
||||
void ov117_0226687C (UnkStruct_ov117_02261280 * param0, int param1, u8 param2)
|
||||
{
|
||||
UnkStruct_ov117_022621D4 v0;
|
||||
|
||||
MI_CpuClear8(&v0, sizeof(UnkStruct_ov117_022621D4));
|
||||
|
||||
v0.unk_00 = 6;
|
||||
v0.unk_04_val1.unk_00 = param1;
|
||||
v0.unk_04_val1.unk_01 = param2;
|
||||
|
||||
ov117_02262130(param0, &v0);
|
||||
}
|
||||
|
||||
static void ov117_022668A8 (UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1)
|
||||
{
|
||||
ov117_0226238C(param0, param1->unk_04_val1.unk_00, param1->unk_04_val1.unk_01);
|
||||
}
|
||||
|
||||
void ov117_022668B8 (UnkStruct_ov117_02261280 * param0, u8 param1)
|
||||
{
|
||||
UnkStruct_ov117_022621D4 v0;
|
||||
|
||||
MI_CpuClear8(&v0, sizeof(UnkStruct_ov117_022621D4));
|
||||
|
||||
v0.unk_00 = 7;
|
||||
v0.unk_04_val1.unk_00 = 6;
|
||||
v0.unk_04_val1.unk_01 = param1;
|
||||
|
||||
ov117_02262130(param0, &v0);
|
||||
}
|
||||
|
||||
static void ov117_022668E4 (UnkStruct_ov117_02261280 * param0, const UnkStruct_ov117_022621D4 * param1)
|
||||
{
|
||||
param0->unk_20 = 1;
|
||||
ov117_0226238C(param0, param1->unk_04_val2.unk_00, param1->unk_04_val2.unk_01);
|
||||
}
|
||||
Reference in New Issue
Block a user