mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-25 07:29:01 -05:00
Match unk_0200A328.c
This commit is contained in:
parent
71033fbf88
commit
507a4d7b6b
|
|
@ -1,30 +0,0 @@
|
|||
.public sub_02009E08
|
||||
.public sub_02009E1C
|
||||
.public sub_02009E34
|
||||
.public sub_02009E4C
|
||||
.public sub_02009EAC
|
||||
.public sub_02009EBC
|
||||
.public sub_02009EE8
|
||||
.public sub_0200A328
|
||||
.public sub_0200A3DC
|
||||
.public sub_0200A4E4
|
||||
.public sub_0200A5C8
|
||||
.public sub_0200A640
|
||||
.public sub_0200A6DC
|
||||
.public sub_0200A72C
|
||||
.public sub_0201EA24
|
||||
.public sub_0201EA7C
|
||||
.public sub_0201EB08
|
||||
.public sub_0201EB50
|
||||
.public sub_0201EBDC
|
||||
.public sub_0201EC00
|
||||
.public sub_0201EC84
|
||||
.public sub_0201ED1C
|
||||
.public sub_0201F90C
|
||||
.public sub_0201F950
|
||||
.public sub_0201F990
|
||||
.public sub_0201F9F0
|
||||
.public sub_0201FA58
|
||||
.public sub_0201FA80
|
||||
.public GF_AssertFail
|
||||
.public NNS_G2dGetImagePaletteLocation
|
||||
|
|
@ -1,600 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/unk_0200A328.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start sub_0200A328
|
||||
sub_0200A328: ; 0x0200A328
|
||||
push {r4, lr}
|
||||
sub sp, #0x10
|
||||
add r4, r0, #0
|
||||
bne _0200A334
|
||||
bl GF_AssertFail
|
||||
_0200A334:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #0
|
||||
beq _0200A342
|
||||
bl GF_AssertFail
|
||||
_0200A342:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E1C
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
bl sub_02009EBC
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
add r0, sp, #0
|
||||
bl sub_0201EA24
|
||||
add sp, #0x10
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0200A328
|
||||
|
||||
thumb_func_start sub_0200A368
|
||||
sub_0200A368: ; 0x0200A368
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
bne _0200A372
|
||||
bl GF_AssertFail
|
||||
_0200A372:
|
||||
ldr r0, [r5, #4]
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _0200A39A
|
||||
add r4, r6, #0
|
||||
_0200A37C:
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, r4]
|
||||
cmp r0, #0
|
||||
beq _0200A390
|
||||
bl sub_0200A328
|
||||
cmp r0, #0
|
||||
bne _0200A390
|
||||
bl GF_AssertFail
|
||||
_0200A390:
|
||||
ldr r0, [r5, #4]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blt _0200A37C
|
||||
_0200A39A:
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end sub_0200A368
|
||||
|
||||
thumb_func_start sub_0200A39C
|
||||
sub_0200A39C: ; 0x0200A39C
|
||||
push {r4, lr}
|
||||
sub sp, #0x10
|
||||
add r4, r0, #0
|
||||
bne _0200A3A8
|
||||
bl GF_AssertFail
|
||||
_0200A3A8:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #0
|
||||
beq _0200A3B6
|
||||
bl GF_AssertFail
|
||||
_0200A3B6:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E1C
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
bl sub_02009EBC
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
add r0, sp, #0
|
||||
bl sub_0201EA7C
|
||||
add sp, #0x10
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0200A39C
|
||||
|
||||
thumb_func_start sub_0200A3DC
|
||||
sub_0200A3DC: ; 0x0200A3DC
|
||||
push {r4, lr}
|
||||
sub sp, #0x10
|
||||
add r4, r0, #0
|
||||
bne _0200A3E8
|
||||
bl GF_AssertFail
|
||||
_0200A3E8:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #0
|
||||
beq _0200A3F6
|
||||
bl GF_AssertFail
|
||||
_0200A3F6:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E1C
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
bl sub_02009EBC
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
str r0, [sp, #8]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0xc]
|
||||
add r0, sp, #0
|
||||
bl sub_0201EA24
|
||||
add sp, #0x10
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0200A3DC
|
||||
|
||||
thumb_func_start sub_0200A41C
|
||||
sub_0200A41C: ; 0x0200A41C
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
bne _0200A426
|
||||
bl GF_AssertFail
|
||||
_0200A426:
|
||||
ldr r0, [r5, #4]
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _0200A44E
|
||||
add r4, r6, #0
|
||||
_0200A430:
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, r4]
|
||||
cmp r0, #0
|
||||
beq _0200A444
|
||||
bl sub_0200A3DC
|
||||
cmp r0, #0
|
||||
bne _0200A444
|
||||
bl GF_AssertFail
|
||||
_0200A444:
|
||||
ldr r0, [r5, #4]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blt _0200A430
|
||||
_0200A44E:
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end sub_0200A41C
|
||||
|
||||
thumb_func_start sub_0200A450
|
||||
sub_0200A450: ; 0x0200A450
|
||||
push {r4, lr}
|
||||
sub sp, #0x10
|
||||
add r4, r0, #0
|
||||
bne _0200A45C
|
||||
bl GF_AssertFail
|
||||
_0200A45C:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #0
|
||||
beq _0200A46A
|
||||
bl GF_AssertFail
|
||||
_0200A46A:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E1C
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
bl sub_02009EBC
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
str r0, [sp, #8]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0xc]
|
||||
add r0, sp, #0
|
||||
bl sub_0201EA7C
|
||||
add sp, #0x10
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0200A450
|
||||
|
||||
thumb_func_start sub_0200A490
|
||||
sub_0200A490: ; 0x0200A490
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
add r5, r1, #0
|
||||
cmp r4, #0
|
||||
bne _0200A49E
|
||||
bl GF_AssertFail
|
||||
_0200A49E:
|
||||
cmp r5, #0
|
||||
bne _0200A4A6
|
||||
bl GF_AssertFail
|
||||
_0200A4A6:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl sub_02009E1C
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl sub_0201EB08
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end sub_0200A490
|
||||
|
||||
thumb_func_start sub_0200A4C0
|
||||
sub_0200A4C0: ; 0x0200A4C0
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bne _0200A4CA
|
||||
bl GF_AssertFail
|
||||
_0200A4CA:
|
||||
add r0, r5, #0
|
||||
bl sub_02009E08
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl sub_02009E1C
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl sub_0201EB08
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end sub_0200A4C0
|
||||
|
||||
thumb_func_start sub_0200A4E4
|
||||
sub_0200A4E4: ; 0x0200A4E4
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bne _0200A4EE
|
||||
bl GF_AssertFail
|
||||
_0200A4EE:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #0
|
||||
beq _0200A4FC
|
||||
bl GF_AssertFail
|
||||
_0200A4FC:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
bl sub_0201EB50
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0200A4E4
|
||||
|
||||
thumb_func_start sub_0200A508
|
||||
sub_0200A508: ; 0x0200A508
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
bne _0200A512
|
||||
bl GF_AssertFail
|
||||
_0200A512:
|
||||
ldr r0, [r5, #4]
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _0200A532
|
||||
add r4, r6, #0
|
||||
_0200A51C:
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, r4]
|
||||
cmp r0, #0
|
||||
beq _0200A528
|
||||
bl sub_0200A4E4
|
||||
_0200A528:
|
||||
ldr r0, [r5, #4]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blt _0200A51C
|
||||
_0200A532:
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end sub_0200A508
|
||||
|
||||
thumb_func_start sub_0200A534
|
||||
sub_0200A534: ; 0x0200A534
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bne _0200A53E
|
||||
bl GF_AssertFail
|
||||
_0200A53E:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #0
|
||||
beq _0200A54C
|
||||
bl GF_AssertFail
|
||||
_0200A54C:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
bl sub_0201EBDC
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0200A534
|
||||
|
||||
thumb_func_start sub_0200A558
|
||||
sub_0200A558: ; 0x0200A558
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
add r5, r1, #0
|
||||
cmp r4, #0
|
||||
bne _0200A566
|
||||
bl GF_AssertFail
|
||||
_0200A566:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #0
|
||||
beq _0200A574
|
||||
bl GF_AssertFail
|
||||
_0200A574:
|
||||
cmp r5, #0
|
||||
bne _0200A57C
|
||||
bl GF_AssertFail
|
||||
_0200A57C:
|
||||
add r0, r5, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #2
|
||||
beq _0200A58A
|
||||
bl GF_AssertFail
|
||||
_0200A58A:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl sub_02009E4C
|
||||
add r1, r0, #0
|
||||
ldr r1, [r1, #0xc]
|
||||
add r0, r4, #0
|
||||
ldr r1, [r1, #0]
|
||||
bl sub_0201EC00
|
||||
cmp r0, #0
|
||||
bne _0200A5B2
|
||||
add r0, r4, #0
|
||||
bl sub_0201EBDC
|
||||
bl sub_0201EC84
|
||||
_0200A5B2:
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end sub_0200A558
|
||||
|
||||
thumb_func_start sub_0200A5B4
|
||||
sub_0200A5B4: ; 0x0200A5B4
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bne _0200A5BE
|
||||
bl GF_AssertFail
|
||||
_0200A5BE:
|
||||
add r0, r4, #0
|
||||
bl sub_0201ED1C
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end sub_0200A5B4
|
||||
|
||||
thumb_func_start sub_0200A5C8
|
||||
sub_0200A5C8: ; 0x0200A5C8
|
||||
push {r4, lr}
|
||||
sub sp, #0x10
|
||||
add r4, r0, #0
|
||||
bne _0200A5D4
|
||||
bl GF_AssertFail
|
||||
_0200A5D4:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #1
|
||||
beq _0200A5E2
|
||||
bl GF_AssertFail
|
||||
_0200A5E2:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E34
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
bl sub_02009EBC
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r4, #0
|
||||
bl sub_02009EE8
|
||||
str r0, [sp, #8]
|
||||
add r0, sp, #0
|
||||
bl sub_0201F90C
|
||||
add sp, #0x10
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0200A5C8
|
||||
|
||||
thumb_func_start sub_0200A60C
|
||||
sub_0200A60C: ; 0x0200A60C
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
bne _0200A616
|
||||
bl GF_AssertFail
|
||||
_0200A616:
|
||||
ldr r0, [r5, #4]
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _0200A63E
|
||||
add r4, r6, #0
|
||||
_0200A620:
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, r4]
|
||||
cmp r0, #0
|
||||
beq _0200A634
|
||||
bl sub_0200A5C8
|
||||
cmp r0, #0
|
||||
bne _0200A634
|
||||
bl GF_AssertFail
|
||||
_0200A634:
|
||||
ldr r0, [r5, #4]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blt _0200A620
|
||||
_0200A63E:
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end sub_0200A60C
|
||||
|
||||
thumb_func_start sub_0200A640
|
||||
sub_0200A640: ; 0x0200A640
|
||||
push {r4, lr}
|
||||
sub sp, #0x10
|
||||
add r4, r0, #0
|
||||
bne _0200A64C
|
||||
bl GF_AssertFail
|
||||
_0200A64C:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #1
|
||||
beq _0200A65A
|
||||
bl GF_AssertFail
|
||||
_0200A65A:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E34
|
||||
str r0, [sp]
|
||||
add r0, r4, #0
|
||||
bl sub_02009EBC
|
||||
str r0, [sp, #4]
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r4, #0
|
||||
bl sub_02009EE8
|
||||
str r0, [sp, #8]
|
||||
add r0, sp, #0
|
||||
bl sub_0201F950
|
||||
add sp, #0x10
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0200A640
|
||||
|
||||
thumb_func_start sub_0200A684
|
||||
sub_0200A684: ; 0x0200A684
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
bne _0200A68E
|
||||
bl GF_AssertFail
|
||||
_0200A68E:
|
||||
ldr r0, [r5, #4]
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _0200A6B6
|
||||
add r4, r6, #0
|
||||
_0200A698:
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, r4]
|
||||
cmp r0, #0
|
||||
beq _0200A6AC
|
||||
bl sub_0200A640
|
||||
cmp r0, #0
|
||||
bne _0200A6AC
|
||||
bl GF_AssertFail
|
||||
_0200A6AC:
|
||||
ldr r0, [r5, #4]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blt _0200A698
|
||||
_0200A6B6:
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end sub_0200A684
|
||||
|
||||
thumb_func_start sub_0200A6B8
|
||||
sub_0200A6B8: ; 0x0200A6B8
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bne _0200A6C2
|
||||
bl GF_AssertFail
|
||||
_0200A6C2:
|
||||
add r0, r5, #0
|
||||
bl sub_02009E08
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl sub_02009E34
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl sub_0201F990
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end sub_0200A6B8
|
||||
|
||||
thumb_func_start sub_0200A6DC
|
||||
sub_0200A6DC: ; 0x0200A6DC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bne _0200A6E6
|
||||
bl GF_AssertFail
|
||||
_0200A6E6:
|
||||
add r0, r4, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #1
|
||||
beq _0200A6F4
|
||||
bl GF_AssertFail
|
||||
_0200A6F4:
|
||||
add r0, r4, #0
|
||||
bl sub_02009E08
|
||||
bl sub_0201F9F0
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0200A6DC
|
||||
|
||||
thumb_func_start sub_0200A700
|
||||
sub_0200A700: ; 0x0200A700
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
bne _0200A70A
|
||||
bl GF_AssertFail
|
||||
_0200A70A:
|
||||
ldr r0, [r5, #4]
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _0200A72A
|
||||
add r4, r6, #0
|
||||
_0200A714:
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, r4]
|
||||
cmp r0, #0
|
||||
beq _0200A720
|
||||
bl sub_0200A6DC
|
||||
_0200A720:
|
||||
ldr r0, [r5, #4]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blt _0200A714
|
||||
_0200A72A:
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end sub_0200A700
|
||||
|
||||
thumb_func_start sub_0200A72C
|
||||
sub_0200A72C: ; 0x0200A72C
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
cmp r5, #0
|
||||
bne _0200A73A
|
||||
bl GF_AssertFail
|
||||
_0200A73A:
|
||||
add r0, r5, #0
|
||||
bl sub_02009EAC
|
||||
cmp r0, #1
|
||||
beq _0200A748
|
||||
bl GF_AssertFail
|
||||
_0200A748:
|
||||
add r0, r5, #0
|
||||
bl sub_02009E08
|
||||
cmp r4, #0
|
||||
beq _0200A75A
|
||||
add r1, r4, #0
|
||||
bl sub_0201FA80
|
||||
pop {r3, r4, r5, pc}
|
||||
_0200A75A:
|
||||
bl sub_0201FA58
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end sub_0200A72C
|
||||
|
||||
thumb_func_start sub_0200A760
|
||||
sub_0200A760: ; 0x0200A760
|
||||
push {r4, lr}
|
||||
add r4, r1, #0
|
||||
mov r1, #0
|
||||
bl sub_0200A72C
|
||||
add r1, r4, #0
|
||||
bl NNS_G2dGetImagePaletteLocation
|
||||
mov r1, #0
|
||||
mvn r1, r1
|
||||
cmp r0, r1
|
||||
beq _0200A780
|
||||
asr r1, r0, #4
|
||||
lsr r1, r1, #0x1b
|
||||
add r1, r0, r1
|
||||
asr r0, r1, #5
|
||||
_0200A780:
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end sub_0200A760
|
||||
|
|
@ -1,5 +1,14 @@
|
|||
#ifndef NNSYS_G2D_G2D_IMAGE_H_
|
||||
#define NNSYS_G2D_G2D_IMAGE_H_
|
||||
#ifndef NNS_G2D_IMAGE_H_
|
||||
#define NNS_G2D_IMAGE_H_
|
||||
|
||||
#include <nitro.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define NNS_G2dInitializeImageProxy NNS_G2dInitImageProxy
|
||||
#define NNS_G2dInitializeImagePaletteProxy NNS_G2dInitImagePaletteProxy
|
||||
|
||||
typedef enum NNS_G2D_VRAM_TYPE {
|
||||
NNS_G2D_VRAM_TYPE_3DMAIN = 0,
|
||||
|
|
@ -8,9 +17,14 @@ typedef enum NNS_G2D_VRAM_TYPE {
|
|||
NNS_G2D_VRAM_TYPE_MAX = 3
|
||||
} NNS_G2D_VRAM_TYPE;
|
||||
|
||||
typedef struct NNSG2dVRamLocation {
|
||||
u32 baseAddrOfVram[ NNS_G2D_VRAM_TYPE_MAX ];
|
||||
} NNSG2dVRamLocation;
|
||||
#define NNS_G2D_VRAM_TYPE_VALID(val) \
|
||||
NNS_G2D_ASSERTMSG((val) == NNS_G2D_VRAM_TYPE_3DMAIN || \
|
||||
(val) == NNS_G2D_VRAM_TYPE_2DMAIN || \
|
||||
(val) == NNS_G2D_VRAM_TYPE_2DSUB, \
|
||||
"Invalid NNS_G2D_VRAM_TYPE type") \
|
||||
|
||||
#define NNS_G2D_VRAM_ADDR_NOT_INITIALIZED 0xFFFFFFFF
|
||||
#define NNS_G2D_VRAM_ADDR_NONE NNS_G2D_VRAM_ADDR_NOT_INITIALIZED
|
||||
|
||||
typedef struct NNSG2dImageAttr {
|
||||
GXTexSizeS sizeS;
|
||||
|
|
@ -21,6 +35,10 @@ typedef struct NNSG2dImageAttr {
|
|||
GXOBJVRamModeChar mappingType;
|
||||
} NNSG2dImageAttr;
|
||||
|
||||
typedef struct NNSG2dVRamLocation {
|
||||
u32 baseAddrOfVram[NNS_G2D_VRAM_TYPE_MAX];
|
||||
} NNSG2dVRamLocation;
|
||||
|
||||
typedef struct NNSG2dImageProxy {
|
||||
NNSG2dVRamLocation vramLocation;
|
||||
NNSG2dImageAttr attr;
|
||||
|
|
@ -32,11 +50,110 @@ typedef struct NNSG2dImagePaletteProxy {
|
|||
NNSG2dVRamLocation vramLocation;
|
||||
} NNSG2dImagePaletteProxy;
|
||||
|
||||
void NNS_G2dLoadPaletteEx(const NNSG2dPaletteData* pSrcData, const NNSG2dPaletteCompressInfo* pCmpInfo, u32 addr, NNS_G2D_VRAM_TYPE type, NNSG2dImagePaletteProxy* pPltProxy);
|
||||
void NNS_G2dLoadPalette(const NNSG2dPaletteData* pSrcData, u32 addr, NNS_G2D_VRAM_TYPE type, NNSG2dImagePaletteProxy* pPltProxy);
|
||||
void NNS_G2dLoadImage1DMapping(const NNSG2dCharacterData* pSrcData, u32 baseAddr, NNS_G2D_VRAM_TYPE type, NNSG2dImageProxy* pImgProxy);
|
||||
void NNS_G2dLoadImage2DMapping(const NNSG2dCharacterData* pSrcData, u32 baseAddr, NNS_G2D_VRAM_TYPE type, NNSG2dImageProxy* pImgProxy);
|
||||
u32 NNS_G2dGetImageLocation (const NNSG2dImageProxy* pImg, NNS_G2D_VRAM_TYPE type);
|
||||
u32 NNS_G2dGetImagePaletteLocation(const NNSG2dImagePaletteProxy* pImg, NNS_G2D_VRAM_TYPE type);
|
||||
void NNS_G2dInitImageProxy(NNSG2dImageProxy * pImg);
|
||||
void NNS_G2dSetImageLocation(NNSG2dImageProxy * pImg, NNS_G2D_VRAM_TYPE type, u32 addr);
|
||||
u32 NNS_G2dGetImageLocation(const NNSG2dImageProxy * pImg, NNS_G2D_VRAM_TYPE type);
|
||||
BOOL NNS_G2dIsImageReadyToUse(const NNSG2dImageProxy * pImg, NNS_G2D_VRAM_TYPE type);
|
||||
void NNS_G2dLoadImage1DMapping
|
||||
(
|
||||
const NNSG2dCharacterData * pSrcData,
|
||||
u32 baseAddr,
|
||||
NNS_G2D_VRAM_TYPE type,
|
||||
NNSG2dImageProxy * pImgProxy
|
||||
);
|
||||
void NNS_G2dLoadImage2DMapping
|
||||
(
|
||||
const NNSG2dCharacterData * pSrcData,
|
||||
u32 baseAddr,
|
||||
NNS_G2D_VRAM_TYPE type,
|
||||
NNSG2dImageProxy * pImgProxy
|
||||
);
|
||||
void NNS_G2dLoadImageVramTransfer
|
||||
(
|
||||
const NNSG2dCharacterData * pSrcData,
|
||||
u32 baseAddr,
|
||||
NNS_G2D_VRAM_TYPE type,
|
||||
NNSG2dImageProxy * pImgProxy
|
||||
);
|
||||
void NNS_G2dLoadPalette
|
||||
(
|
||||
const NNSG2dPaletteData * pSrcData,
|
||||
u32 addr,
|
||||
NNS_G2D_VRAM_TYPE type,
|
||||
NNSG2dImagePaletteProxy * pPltProxy
|
||||
);
|
||||
void NNS_G2dLoadPaletteEx
|
||||
(
|
||||
const NNSG2dPaletteData * pSrcData,
|
||||
const NNSG2dPaletteCompressInfo * pCmpInfo,
|
||||
u32 addr,
|
||||
NNS_G2D_VRAM_TYPE type,
|
||||
NNSG2dImagePaletteProxy * pPltProxy
|
||||
);
|
||||
|
||||
#endif //NNSYS_G2D_G2D_IMAGE_H_
|
||||
void NNS_G2dInitImagePaletteProxy(NNSG2dImagePaletteProxy * pImg);
|
||||
void NNS_G2dSetImagePaletteLocation(NNSG2dImagePaletteProxy * pImg, NNS_G2D_VRAM_TYPE type, u32 addr);
|
||||
u32 NNS_G2dGetImagePaletteLocation(const NNSG2dImagePaletteProxy * pImg, NNS_G2D_VRAM_TYPE type);
|
||||
BOOL NNS_G2dIsImagePaletteReadyToUse(const NNSG2dImagePaletteProxy * pImg, NNS_G2D_VRAM_TYPE type);
|
||||
static BOOL NNS_G2dIsPaletteImageFmt(const NNSG2dImageAttr * imgAttr);
|
||||
void NNSi_G2dInitializeVRamLocation(NNSG2dVRamLocation * pVramLocation);
|
||||
void NNSi_G2dSetVramLocation(NNSG2dVRamLocation * pVramLocation, NNS_G2D_VRAM_TYPE type, u32 addr);
|
||||
u32 NNSi_G2dGetVramLocation(const NNSG2dVRamLocation * pVramLocation, NNS_G2D_VRAM_TYPE type);
|
||||
BOOL NNSi_G2dIsVramLocationReadyToUse(const NNSG2dVRamLocation * pVramLocation, NNS_G2D_VRAM_TYPE type);
|
||||
|
||||
void NNSi_G2dDoImageLoadingToVram
|
||||
(
|
||||
const NNSG2dCharacterData * pSrcData,
|
||||
u32 baseAddr,
|
||||
NNS_G2D_VRAM_TYPE type
|
||||
);
|
||||
void NNSi_G2dSetupImageProxyPrams
|
||||
(
|
||||
const NNSG2dCharacterData * pSrcData,
|
||||
u32 baseAddr,
|
||||
NNS_G2D_VRAM_TYPE type,
|
||||
NNSG2dImageProxy * pImgProxy
|
||||
);
|
||||
|
||||
void NNSi_G2dDoLoadingPaletteToVram
|
||||
(
|
||||
const NNSG2dPaletteData * pSrcData,
|
||||
u32 addr,
|
||||
NNS_G2D_VRAM_TYPE type
|
||||
);
|
||||
|
||||
void NNSi_G2dDoLoadingPaletteToVramEx
|
||||
(
|
||||
const NNSG2dPaletteData * pSrcData,
|
||||
const NNSG2dPaletteCompressInfo * pCmpInfo,
|
||||
u32 addr,
|
||||
NNS_G2D_VRAM_TYPE type
|
||||
);
|
||||
|
||||
void NNSi_G2dSetupPaletteProxyPrams
|
||||
(
|
||||
const NNSG2dPaletteData * pSrcData,
|
||||
u32 addr,
|
||||
NNS_G2D_VRAM_TYPE type,
|
||||
NNSG2dImagePaletteProxy * pPltProxy
|
||||
);
|
||||
|
||||
inline BOOL NNS_G2dIsPaletteImageFmt (const NNSG2dImageAttr * imgAttr)
|
||||
{
|
||||
NNS_G2D_NULL_ASSERT(imgAttr);
|
||||
return (imgAttr->fmt == GX_TEXFMT_PLTT4 ||
|
||||
imgAttr->fmt == GX_TEXFMT_PLTT16 ||
|
||||
imgAttr->fmt == GX_TEXFMT_PLTT256) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
inline void NNS_G2dSetImageExtPaletteFlag (NNSG2dImageProxy * pImgProxy, BOOL bUseExtPlt)
|
||||
{
|
||||
NNS_G2D_NULL_ASSERT(pImgProxy);
|
||||
pImgProxy->attr.bExtendedPlt = bUseExtPlt;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
|||
2
main.lsf
2
main.lsf
|
|
@ -29,7 +29,7 @@ Static main
|
|||
Object asm/unk_0200762C.o
|
||||
Object src/unk_020093B4.o
|
||||
Object src/unk_02009714.o
|
||||
Object asm/unk_0200A328.o
|
||||
Object src/unk_0200A328.o
|
||||
Object asm/unk_0200A784.o
|
||||
Object src/unk_0200A9DC.o
|
||||
Object src/unk_0200AC5C.o
|
||||
|
|
|
|||
325
src/unk_0200A328.c
Normal file
325
src/unk_0200A328.c
Normal file
|
|
@ -0,0 +1,325 @@
|
|||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_decls/struct_02009DC8_decl.h"
|
||||
|
||||
#include "struct_defs/struct_02009CFC.h"
|
||||
#include "struct_defs/struct_0200A328.h"
|
||||
#include "struct_defs/struct_0200A5C8.h"
|
||||
|
||||
#include "unk_02009714.h"
|
||||
#include "unk_0200A328.h"
|
||||
#include "unk_0201E86C.h"
|
||||
#include "unk_0201F834.h"
|
||||
|
||||
BOOL sub_0200A328 (const UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
UnkStruct_0200A328 v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 0);
|
||||
|
||||
v0.unk_00 = sub_02009E1C(param0);
|
||||
v0.unk_04 = sub_02009EBC(param0);
|
||||
v0.unk_08 = sub_02009E08(param0);
|
||||
v0.unk_0C = 0;
|
||||
|
||||
return sub_0201EA24(&v0);
|
||||
}
|
||||
|
||||
void sub_0200A368 (const UnkStruct_02009CFC * param0)
|
||||
{
|
||||
int v0;
|
||||
BOOL v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_04; v0++) {
|
||||
if (param0->unk_00[v0]) {
|
||||
v1 = sub_0200A328(param0->unk_00[v0]);
|
||||
GF_ASSERT(v1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL sub_0200A39C (const UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
UnkStruct_0200A328 v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 0);
|
||||
|
||||
v0.unk_00 = sub_02009E1C(param0);
|
||||
v0.unk_04 = sub_02009EBC(param0);
|
||||
v0.unk_08 = sub_02009E08(param0);
|
||||
v0.unk_0C = 0;
|
||||
|
||||
return sub_0201EA7C(&v0);
|
||||
}
|
||||
|
||||
BOOL sub_0200A3DC (const UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
UnkStruct_0200A328 v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 0);
|
||||
|
||||
v0.unk_00 = sub_02009E1C(param0);
|
||||
v0.unk_04 = sub_02009EBC(param0);
|
||||
v0.unk_08 = sub_02009E08(param0);
|
||||
v0.unk_0C = 1;
|
||||
|
||||
return sub_0201EA24(&v0);
|
||||
}
|
||||
|
||||
void sub_0200A41C (const UnkStruct_02009CFC * param0)
|
||||
{
|
||||
int v0;
|
||||
BOOL v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_04; v0++) {
|
||||
if (param0->unk_00[v0]) {
|
||||
v1 = sub_0200A3DC(param0->unk_00[v0]);
|
||||
GF_ASSERT(v1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL sub_0200A450 (const UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
UnkStruct_0200A328 v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 0);
|
||||
|
||||
v0.unk_00 = sub_02009E1C(param0);
|
||||
v0.unk_04 = sub_02009EBC(param0);
|
||||
v0.unk_08 = sub_02009E08(param0);
|
||||
v0.unk_0C = 1;
|
||||
|
||||
return sub_0201EA7C(&v0);
|
||||
}
|
||||
|
||||
void sub_0200A490 (const UnkStruct_02009DC8 * param0, const UnkStruct_02009DC8 * param1)
|
||||
{
|
||||
int v0;
|
||||
NNSG2dCharacterData * v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(param1);
|
||||
|
||||
v0 = sub_02009E08(param0);
|
||||
v1 = sub_02009E1C(param1);
|
||||
|
||||
sub_0201EB08(v0, v1);
|
||||
}
|
||||
|
||||
void sub_0200A4C0 (const UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
int v0;
|
||||
NNSG2dCharacterData * v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
v0 = sub_02009E08(param0);
|
||||
v1 = sub_02009E1C(param0);
|
||||
|
||||
sub_0201EB08(v0, v1);
|
||||
}
|
||||
|
||||
void sub_0200A4E4 (UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 0);
|
||||
|
||||
v0 = sub_02009E08(param0);
|
||||
sub_0201EB50(v0);
|
||||
}
|
||||
|
||||
void sub_0200A508 (UnkStruct_02009CFC * param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_04; v0++) {
|
||||
if (param0->unk_00[v0]) {
|
||||
sub_0200A4E4(param0->unk_00[v0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NNSG2dImageProxy * sub_0200A534 (const UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 0);
|
||||
|
||||
v0 = sub_02009E08(param0);
|
||||
return sub_0201EBDC(v0);
|
||||
}
|
||||
|
||||
NNSG2dImageProxy * sub_0200A558 (const UnkStruct_02009DC8 * param0, const UnkStruct_02009DC8 * param1)
|
||||
{
|
||||
int v0;
|
||||
NNSG2dCellDataBank * v1;
|
||||
NNSG2dImageProxy * v2;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 0);
|
||||
GF_ASSERT(param1);
|
||||
GF_ASSERT(sub_02009EAC(param1) == 2);
|
||||
|
||||
v0 = sub_02009E08(param0);
|
||||
v1 = sub_02009E4C(param1);
|
||||
v2 = sub_0201EC00(v0, v1->pVramTransferData->szByteMax);
|
||||
|
||||
if (v2 == NULL) {
|
||||
NNSG2dImageProxy * v3;
|
||||
|
||||
v3 = sub_0201EBDC(v0);
|
||||
v2 = sub_0201EC84(v3);
|
||||
}
|
||||
|
||||
return v2;
|
||||
}
|
||||
|
||||
void sub_0200A5B4 (const NNSG2dImageProxy * param0)
|
||||
{
|
||||
GF_ASSERT(param0);
|
||||
sub_0201ED1C(param0);
|
||||
}
|
||||
|
||||
BOOL sub_0200A5C8 (const UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
UnkStruct_0200A5C8 v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 1);
|
||||
|
||||
v0.unk_00 = sub_02009E34(param0);
|
||||
v0.unk_04 = sub_02009EBC(param0);
|
||||
v0.unk_0C = sub_02009E08(param0);
|
||||
v0.unk_08 = sub_02009EE8(param0);
|
||||
|
||||
return sub_0201F90C(&v0);
|
||||
}
|
||||
|
||||
void sub_0200A60C (const UnkStruct_02009CFC * param0)
|
||||
{
|
||||
int v0;
|
||||
BOOL v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_04; v0++) {
|
||||
if (param0->unk_00[v0]) {
|
||||
v1 = sub_0200A5C8(param0->unk_00[v0]);
|
||||
GF_ASSERT(v1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL sub_0200A640 (const UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
UnkStruct_0200A5C8 v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 1);
|
||||
|
||||
v0.unk_00 = sub_02009E34(param0);
|
||||
v0.unk_04 = sub_02009EBC(param0);
|
||||
v0.unk_0C = sub_02009E08(param0);
|
||||
v0.unk_08 = sub_02009EE8(param0);
|
||||
|
||||
return sub_0201F950(&v0);
|
||||
}
|
||||
|
||||
void sub_0200A684 (const UnkStruct_02009CFC * param0)
|
||||
{
|
||||
int v0;
|
||||
BOOL v1;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_04; v0++) {
|
||||
if (param0->unk_00[v0]) {
|
||||
v1 = sub_0200A640(param0->unk_00[v0]);
|
||||
GF_ASSERT(v1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0200A6B8 (const UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
NNSG2dPaletteData * v0;
|
||||
int v1;
|
||||
int v2;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
v1 = sub_02009E08(param0);
|
||||
v0 = sub_02009E34(param0);
|
||||
|
||||
sub_0201F990(v1, v0);
|
||||
}
|
||||
|
||||
void sub_0200A6DC (UnkStruct_02009DC8 * param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 1);
|
||||
|
||||
v0 = sub_02009E08(param0);
|
||||
sub_0201F9F0(v0);
|
||||
}
|
||||
|
||||
void sub_0200A700 (UnkStruct_02009CFC * param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_04; v0++) {
|
||||
if (param0->unk_00[v0]) {
|
||||
sub_0200A6DC(param0->unk_00[v0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const NNSG2dImagePaletteProxy * sub_0200A72C (const UnkStruct_02009DC8 * param0, NNSG2dImageProxy * param1)
|
||||
{
|
||||
int v0;
|
||||
|
||||
GF_ASSERT(param0);
|
||||
GF_ASSERT(sub_02009EAC(param0) == 1);
|
||||
|
||||
v0 = sub_02009E08(param0);
|
||||
|
||||
if (param1) {
|
||||
return sub_0201FA80(v0, param1);
|
||||
}
|
||||
|
||||
return sub_0201FA58(v0);
|
||||
}
|
||||
|
||||
u32 sub_0200A760 (const UnkStruct_02009DC8 * param0, NNS_G2D_VRAM_TYPE param1)
|
||||
{
|
||||
int v0;
|
||||
const NNSG2dImagePaletteProxy * v1;
|
||||
|
||||
v1 = sub_0200A72C(param0, NULL);
|
||||
v0 = NNS_G2dGetImagePaletteLocation(v1, param1);
|
||||
|
||||
if (v0 != (NNS_G2D_VRAM_ADDR_NOT_INITIALIZED)) {
|
||||
v0 /= 32;
|
||||
}
|
||||
|
||||
return v0;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user