mirror of
https://github.com/pret/pokeheartgold.git
synced 2025-02-08 14:18:35 +00:00
through sub_0200DBB8
This commit is contained in:
parent
39d80d77d7
commit
acc4b1b103
@ -220,3 +220,5 @@
|
||||
.public sub_0200D0B4
|
||||
.public sub_0200D0D4
|
||||
.public sub_0200D124
|
||||
.public sub_0200DB64
|
||||
.public sub_0200DAE4
|
||||
|
@ -4,417 +4,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0200D934
|
||||
sub_0200D934: ; 0x0200D934
|
||||
push {r3, lr}
|
||||
ldr r0, [r0, #0x10]
|
||||
bl Get2DGfxResObjById
|
||||
mov r1, #0
|
||||
bl sub_0200B0F8
|
||||
pop {r3, pc}
|
||||
thumb_func_end sub_0200D934
|
||||
|
||||
thumb_func_start sub_0200D944
|
||||
sub_0200D944: ; 0x0200D944
|
||||
push {r4, lr}
|
||||
ldr r0, [r0, #0x10]
|
||||
add r4, r2, #0
|
||||
bl Get2DGfxResObjById
|
||||
add r1, r4, #0
|
||||
bl sub_0200B12C
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0200D944
|
||||
|
||||
thumb_func_start sub_0200D958
|
||||
sub_0200D958: ; 0x0200D958
|
||||
add r3, r0, #0
|
||||
add r2, r1, #0
|
||||
ldr r0, [r3, #0xc]
|
||||
ldr r1, [r3, #0x24]
|
||||
ldr r3, _0200D964 ; =sub_0200DB64
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0200D964: .word sub_0200DB64
|
||||
thumb_func_end sub_0200D958
|
||||
|
||||
thumb_func_start sub_0200D968
|
||||
sub_0200D968: ; 0x0200D968
|
||||
add r3, r0, #0
|
||||
add r2, r1, #0
|
||||
ldr r0, [r3, #0x10]
|
||||
ldr r1, [r3, #0x28]
|
||||
ldr r3, _0200D974 ; =sub_0200DBB8
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0200D974: .word sub_0200DBB8
|
||||
thumb_func_end sub_0200D968
|
||||
|
||||
thumb_func_start sub_0200D978
|
||||
sub_0200D978: ; 0x0200D978
|
||||
add r3, r0, #0
|
||||
add r2, r1, #0
|
||||
ldr r0, [r3, #0x14]
|
||||
ldr r1, [r3, #0x2c]
|
||||
ldr r3, _0200D984 ; =sub_0200DB18
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0200D984: .word sub_0200DB18
|
||||
thumb_func_end sub_0200D978
|
||||
|
||||
thumb_func_start sub_0200D988
|
||||
sub_0200D988: ; 0x0200D988
|
||||
add r3, r0, #0
|
||||
add r2, r1, #0
|
||||
ldr r0, [r3, #0x18]
|
||||
ldr r1, [r3, #0x30]
|
||||
ldr r3, _0200D994 ; =sub_0200DB18
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0200D994: .word sub_0200DB18
|
||||
thumb_func_end sub_0200D988
|
||||
|
||||
thumb_func_start sub_0200D998
|
||||
sub_0200D998: ; 0x0200D998
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r6, r1, #0
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
bl sub_0200D044
|
||||
ldr r0, [r6, #0x24]
|
||||
bl sub_0200AED4
|
||||
ldr r0, [r6, #0x28]
|
||||
bl sub_0200B0CC
|
||||
ldr r0, [r6, #0x54]
|
||||
mov r4, #0
|
||||
cmp r0, #0
|
||||
ble _0200D9D0
|
||||
add r5, r6, #0
|
||||
_0200D9BA:
|
||||
ldr r0, [r5, #0x24]
|
||||
bl Delete2DGfxResObjList
|
||||
ldr r0, [r5, #0xc]
|
||||
bl Destroy2DGfxResObjMan
|
||||
ldr r0, [r6, #0x54]
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, r0
|
||||
blt _0200D9BA
|
||||
_0200D9D0:
|
||||
add r0, r7, #0
|
||||
add r1, r6, #0
|
||||
bl sub_0200D0D4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0200D998
|
||||
|
||||
thumb_func_start sub_0200D9DC
|
||||
sub_0200D9DC: ; 0x0200D9DC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0200D9EE
|
||||
ldr r0, [r4, #4]
|
||||
ldr r0, [r0]
|
||||
bl sub_0200AF80
|
||||
_0200D9EE:
|
||||
ldr r0, [r4]
|
||||
bl Sprite_Delete
|
||||
ldr r0, [r4, #8]
|
||||
bl sub_02009F24
|
||||
add r0, r4, #0
|
||||
bl FreeToHeap
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0200D9DC
|
||||
|
||||
thumb_func_start sub_0200DA04
|
||||
sub_0200DA04: ; 0x0200DA04
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
add r6, r1, #0
|
||||
add r7, r0, #0
|
||||
ldr r0, [sp, #0x2c]
|
||||
add r5, r6, #0
|
||||
lsl r4, r0, #2
|
||||
add r5, #0xc
|
||||
ldr r0, [r5, r4]
|
||||
ldr r1, [sp, #0x30]
|
||||
str r2, [sp, #0xc]
|
||||
str r3, [sp, #0x10]
|
||||
bl _2DGfxResObjExistsById
|
||||
cmp r0, #0
|
||||
bne _0200DA2A
|
||||
add sp, #0x14
|
||||
mov r0, #0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_0200DA2A:
|
||||
ldr r0, [sp, #0x30]
|
||||
ldr r1, [sp, #0xc]
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x2c]
|
||||
ldr r2, [sp, #0x10]
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r7]
|
||||
ldr r3, [sp, #0x28]
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, r4]
|
||||
bl AddCellOrAnimResObjFromNarc
|
||||
add r5, r0, #0
|
||||
beq _0200DA60
|
||||
add r0, r6, r4
|
||||
ldr r0, [r0, #0x24]
|
||||
add r1, r5, #0
|
||||
bl sub_0200DAE4
|
||||
add r4, r0, #0
|
||||
cmp r4, #1
|
||||
beq _0200DA5A
|
||||
bl GF_AssertFail
|
||||
_0200DA5A:
|
||||
add sp, #0x14
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_0200DA60:
|
||||
bl GF_AssertFail
|
||||
cmp r5, #0
|
||||
beq _0200DA6E
|
||||
add sp, #0x14
|
||||
mov r0, #1
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_0200DA6E:
|
||||
mov r0, #0
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
thumb_func_end sub_0200DA04
|
||||
|
||||
thumb_func_start sub_0200DA74
|
||||
sub_0200DA74: ; 0x0200DA74
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
add r6, r1, #0
|
||||
add r7, r0, #0
|
||||
ldr r0, [sp, #0x2c]
|
||||
add r5, r6, #0
|
||||
lsl r4, r0, #2
|
||||
add r5, #0xc
|
||||
ldr r0, [r5, r4]
|
||||
ldr r1, [sp, #0x30]
|
||||
str r2, [sp, #0xc]
|
||||
str r3, [sp, #0x10]
|
||||
bl _2DGfxResObjExistsById
|
||||
cmp r0, #0
|
||||
bne _0200DA9A
|
||||
add sp, #0x14
|
||||
mov r0, #0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_0200DA9A:
|
||||
ldr r0, [sp, #0x30]
|
||||
ldr r1, [sp, #0xc]
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #0x2c]
|
||||
ldr r2, [sp, #0x10]
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r7]
|
||||
ldr r3, [sp, #0x28]
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, r4]
|
||||
bl AddCellOrAnimResObjFromOpenNarc
|
||||
add r5, r0, #0
|
||||
beq _0200DAD0
|
||||
add r0, r6, r4
|
||||
ldr r0, [r0, #0x24]
|
||||
add r1, r5, #0
|
||||
bl sub_0200DAE4
|
||||
add r4, r0, #0
|
||||
cmp r4, #1
|
||||
beq _0200DACA
|
||||
bl GF_AssertFail
|
||||
_0200DACA:
|
||||
add sp, #0x14
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_0200DAD0:
|
||||
bl GF_AssertFail
|
||||
cmp r5, #0
|
||||
beq _0200DADE
|
||||
add sp, #0x14
|
||||
mov r0, #1
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_0200DADE:
|
||||
mov r0, #0
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
thumb_func_end sub_0200DA74
|
||||
|
||||
thumb_func_start sub_0200DAE4
|
||||
sub_0200DAE4: ; 0x0200DAE4
|
||||
push {r3, r4, r5, r6}
|
||||
ldr r6, [r0, #4]
|
||||
mov r3, #0
|
||||
cmp r6, #0
|
||||
ble _0200DB10
|
||||
ldr r5, [r0]
|
||||
add r4, r5, #0
|
||||
_0200DAF2:
|
||||
ldr r2, [r4]
|
||||
cmp r2, #0
|
||||
bne _0200DB08
|
||||
lsl r2, r3, #2
|
||||
str r1, [r5, r2]
|
||||
ldr r1, [r0, #8]
|
||||
add r1, r1, #1
|
||||
str r1, [r0, #8]
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, r6}
|
||||
bx lr
|
||||
_0200DB08:
|
||||
add r3, r3, #1
|
||||
add r4, r4, #4
|
||||
cmp r3, r6
|
||||
blt _0200DAF2
|
||||
_0200DB10:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, r6}
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0200DAE4
|
||||
|
||||
thumb_func_start sub_0200DB18
|
||||
sub_0200DB18: ; 0x0200DB18
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r1, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [r5, #4]
|
||||
add r7, r2, #0
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _0200DB60
|
||||
add r4, r6, #0
|
||||
_0200DB2A:
|
||||
ldr r0, [r5]
|
||||
ldr r0, [r0, r4]
|
||||
cmp r0, #0
|
||||
beq _0200DB56
|
||||
bl sub_0200A7FC
|
||||
cmp r0, r7
|
||||
bne _0200DB56
|
||||
ldr r1, [r5]
|
||||
lsl r4, r6, #2
|
||||
ldr r0, [sp]
|
||||
ldr r1, [r1, r4]
|
||||
bl DestroySingle2DGfxResObj
|
||||
ldr r0, [r5]
|
||||
mov r1, #0
|
||||
str r1, [r0, r4]
|
||||
ldr r0, [r5, #8]
|
||||
sub r0, r0, #1
|
||||
str r0, [r5, #8]
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0200DB56:
|
||||
ldr r0, [r5, #4]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blt _0200DB2A
|
||||
_0200DB60:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end sub_0200DB18
|
||||
|
||||
thumb_func_start sub_0200DB64
|
||||
sub_0200DB64: ; 0x0200DB64
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r1, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [r5, #4]
|
||||
add r7, r2, #0
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _0200DBB2
|
||||
add r4, r6, #0
|
||||
_0200DB76:
|
||||
ldr r0, [r5]
|
||||
ldr r0, [r0, r4]
|
||||
cmp r0, #0
|
||||
beq _0200DBA8
|
||||
bl sub_0200A7FC
|
||||
cmp r0, r7
|
||||
bne _0200DBA8
|
||||
add r0, r7, #0
|
||||
bl sub_02021884
|
||||
ldr r1, [r5]
|
||||
lsl r4, r6, #2
|
||||
ldr r0, [sp]
|
||||
ldr r1, [r1, r4]
|
||||
bl DestroySingle2DGfxResObj
|
||||
ldr r0, [r5]
|
||||
mov r1, #0
|
||||
str r1, [r0, r4]
|
||||
ldr r0, [r5, #8]
|
||||
sub r0, r0, #1
|
||||
str r0, [r5, #8]
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0200DBA8:
|
||||
ldr r0, [r5, #4]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blt _0200DB76
|
||||
_0200DBB2:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0200DB64
|
||||
|
||||
thumb_func_start sub_0200DBB8
|
||||
sub_0200DBB8: ; 0x0200DBB8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r1, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [r5, #4]
|
||||
add r7, r2, #0
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _0200DC06
|
||||
add r4, r6, #0
|
||||
_0200DBCA:
|
||||
ldr r0, [r5]
|
||||
ldr r0, [r0, r4]
|
||||
cmp r0, #0
|
||||
beq _0200DBFC
|
||||
bl sub_0200A7FC
|
||||
cmp r0, r7
|
||||
bne _0200DBFC
|
||||
add r0, r7, #0
|
||||
bl sub_02022744
|
||||
ldr r1, [r5]
|
||||
lsl r4, r6, #2
|
||||
ldr r0, [sp]
|
||||
ldr r1, [r1, r4]
|
||||
bl DestroySingle2DGfxResObj
|
||||
ldr r0, [r5]
|
||||
mov r1, #0
|
||||
str r1, [r0, r4]
|
||||
ldr r0, [r5, #8]
|
||||
sub r0, r0, #1
|
||||
str r0, [r5, #8]
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0200DBFC:
|
||||
ldr r0, [r5, #4]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #4
|
||||
cmp r6, r0
|
||||
blt _0200DBCA
|
||||
_0200DC06:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0200DBB8
|
||||
|
||||
thumb_func_start sub_0200DC0C
|
||||
sub_0200DC0C: ; 0x0200DC0C
|
||||
ldr r3, _0200DC14 ; =sub_020249B0
|
||||
|
@ -76,11 +76,11 @@ struct _2DGfxResHeader {
|
||||
u8 isNarc;
|
||||
};
|
||||
|
||||
struct _2DGfxResObjList {
|
||||
typedef struct _2DGfxResObjList {
|
||||
struct _2DGfxResObj **obj;
|
||||
int max;
|
||||
int num;
|
||||
};
|
||||
} _2DGfxResObjList;
|
||||
|
||||
struct _2DGfxResMan *Create2DGfxResObjMan(int num, GfGfxResType type, HeapID heapId);
|
||||
void Destroy2DGfxResObjMan(struct _2DGfxResMan *mgr);
|
||||
|
@ -12,6 +12,7 @@ void sub_0200AEB0(struct _2DGfxResObj *charResObj);
|
||||
void sub_0200AED4(struct _2DGfxResObjList *charResObjList);
|
||||
NNSG2dImageProxy *sub_0200AF00(struct _2DGfxResObj *charResObj);
|
||||
NNSG2dImageProxy *sub_0200AF24(struct _2DGfxResObj *charResObj, struct _2DGfxResObj *cellResObj);
|
||||
void sub_0200AF80(const NNSG2dImageProxy* imgProxy);
|
||||
void sub_0200AF94(struct _2DGfxResObj *obj);
|
||||
void sub_0200AFD8(struct _2DGfxResObjList *plttResObjList);
|
||||
BOOL sub_0200B00C(struct _2DGfxResObj *plttResObj);
|
||||
|
@ -107,10 +107,12 @@ BOOL sub_0200D704(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NarcId narcId,
|
||||
BOOL sub_0200D71C(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NARC* narc, int fileId, BOOL compressed, int resId);
|
||||
UnkImageStruct* sub_0200D734(UnkStruct_0200CF18*, UnkStruct_0200CF38*, struct UnkTemplate_0200D748*);
|
||||
UnkImageStruct* sub_0200D740(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, UnkTemplate_0200D748* a2, u32 a3);
|
||||
void sub_0200D958(void* a0, u32 character);
|
||||
void sub_0200D968(void* a0, u32 pal);
|
||||
void sub_0200D978(void* a0, u32 cell);
|
||||
void sub_0200D988(void* a0, u32 animation);
|
||||
NNSG2dImagePaletteProxy* sub_0200D934(UnkStruct_0200CF38* a0, int id);
|
||||
int sub_0200D944(UnkStruct_0200CF38* a0, int id, int vram);
|
||||
BOOL sub_0200D958(UnkStruct_0200CF38* a0, u32 character);
|
||||
BOOL sub_0200D968(UnkStruct_0200CF38* a0, u32 pal);
|
||||
BOOL sub_0200D978(UnkStruct_0200CF38* a0, u32 cell);
|
||||
BOOL sub_0200D988(UnkStruct_0200CF38* a0, u32 animation);
|
||||
void sub_0200D998(UnkStruct_0200CF18*, UnkStruct_0200CF38*);
|
||||
void sub_0200D9DC(UnkImageStruct*);
|
||||
void sub_0200DC18(UnkImageStruct*);
|
||||
|
@ -10,10 +10,11 @@ typedef struct UnkStruct_020215A0 {
|
||||
HeapID heapId;
|
||||
} UnkStruct_020215A0;
|
||||
|
||||
void sub_020216F4(u32, u32, u32);
|
||||
void sub_020215A0(UnkStruct_020215A0 *a0);
|
||||
void sub_020215C0(UnkStruct_020215A0 *a0, int a1, int a2);
|
||||
void sub_0202168C(void);
|
||||
void sub_020216C8(void);
|
||||
void sub_020215A0(UnkStruct_020215A0 *a0);
|
||||
void sub_020216F4(u32, u32, u32);
|
||||
void sub_02021884(u32);
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_020215A0_H
|
||||
|
@ -7,5 +7,6 @@ void sub_02022588(int, HeapID);
|
||||
void sub_02022608(void);
|
||||
void sub_02022638(void);
|
||||
void sub_020225E4(u32, u32);
|
||||
void sub_02022744(u32);
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_02022588_H
|
||||
|
@ -19,10 +19,13 @@ void sub_0200D0B4(UnkStruct_0200CF18* a0);
|
||||
void sub_0200D0D4(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1);
|
||||
BOOL sub_0200D124(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, const u16* a2, int a3, int a4);
|
||||
Sprite* sub_0200D2F0(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, int a2, s16 x, s16 y, s16 z, u16 animSeqNo, int rotation, int a8, int whichScreen, int a10, int a11, int a12, int a13);
|
||||
void sub_0200DAE4(struct _2DGfxResObjList* list, _2DGfxResObj* obj);
|
||||
BOOL sub_0200DA04(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NarcId narcId, int fileId, BOOL compressed, int a6, int resId);
|
||||
BOOL sub_0200DA74(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NARC* narc, int fileId, BOOL compressed, int a6, int resId);
|
||||
UnkImageStruct* sub_0200D748(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, UnkTemplate_0200D748* a2, u32 a3);
|
||||
BOOL sub_0200DA04(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NarcId narcId, int fileId, BOOL compressed, GfGfxResType a6, int resId);
|
||||
BOOL sub_0200DA74(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NARC* narc, int fileId, BOOL compressed, GfGfxResType a6, int resId);
|
||||
BOOL sub_0200DAE4(_2DGfxResObjList* list, _2DGfxResObj* obj);
|
||||
BOOL sub_0200DB64(_2DGfxResMan* manager, _2DGfxResObjList* list, u32 charId);
|
||||
BOOL sub_0200DBB8(_2DGfxResMan* manager, _2DGfxResObjList* list, u32 plttId);
|
||||
BOOL sub_0200DB18(_2DGfxResMan* manager, _2DGfxResObjList* list, u32 cellOrAnimId);
|
||||
|
||||
UnkStruct_0200CF18* sub_0200CF18(HeapID heapId) {
|
||||
UnkStruct_0200CF18* ret = AllocFromHeap(heapId, sizeof(UnkStruct_0200CF18));
|
||||
@ -369,19 +372,19 @@ u8 sub_0200D68C(PaletteData* a0, u32 bufferId, UnkStruct_0200CF18* a2, UnkStruct
|
||||
}
|
||||
|
||||
BOOL sub_0200D6D4(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NarcId narcId, int fileId, BOOL compressed, int resId) {
|
||||
return sub_0200DA04(a0, a1, narcId, fileId, compressed, 2, resId);
|
||||
return sub_0200DA04(a0, a1, narcId, fileId, compressed, GF_GFX_RES_TYPE_CELL, resId);
|
||||
}
|
||||
|
||||
BOOL sub_0200D6EC(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NARC* narc, int fileId, BOOL compressed, int resId) {
|
||||
return sub_0200DA74(a0, a1, narc, fileId, compressed, 2, resId);
|
||||
return sub_0200DA74(a0, a1, narc, fileId, compressed, GF_GFX_RES_TYPE_CELL, resId);
|
||||
}
|
||||
|
||||
BOOL sub_0200D704(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NarcId narcId, int fileId, BOOL compressed, int resId) {
|
||||
return sub_0200DA04(a0, a1, narcId, fileId, compressed, 3, resId);
|
||||
return sub_0200DA04(a0, a1, narcId, fileId, compressed, GF_GFX_RES_TYPE_ANIM, resId);
|
||||
}
|
||||
|
||||
BOOL sub_0200D71C(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NARC* narc, int fileId, BOOL compressed, int resId) {
|
||||
return sub_0200DA74(a0, a1, narc, fileId, compressed, 3, resId);
|
||||
return sub_0200DA74(a0, a1, narc, fileId, compressed, GF_GFX_RES_TYPE_ANIM, resId);
|
||||
}
|
||||
|
||||
UnkImageStruct* sub_0200D734(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, UnkTemplate_0200D748* a2) {
|
||||
@ -474,3 +477,136 @@ UnkImageStruct* sub_0200D748(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, Unk
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
NNSG2dImagePaletteProxy* sub_0200D934(UnkStruct_0200CF38* a0, int id) {
|
||||
return sub_0200B0F8(Get2DGfxResObjById(a0->_2dGfxResMan[GF_GFX_RES_TYPE_PLTT], id), NULL);
|
||||
}
|
||||
|
||||
int sub_0200D944(UnkStruct_0200CF38* a0, int id, int vram) {
|
||||
return sub_0200B12C(Get2DGfxResObjById(a0->_2dGfxResMan[GF_GFX_RES_TYPE_PLTT], id), vram);
|
||||
}
|
||||
|
||||
BOOL sub_0200D958(UnkStruct_0200CF38* a0, u32 character) {
|
||||
return sub_0200DB64(a0->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], a0->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR], character);
|
||||
}
|
||||
|
||||
BOOL sub_0200D968(UnkStruct_0200CF38* a0, u32 pal) {
|
||||
return sub_0200DBB8(a0->_2dGfxResMan[GF_GFX_RES_TYPE_PLTT], a0->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT], pal);
|
||||
}
|
||||
|
||||
BOOL sub_0200D978(UnkStruct_0200CF38* a0, u32 cell) {
|
||||
return sub_0200DB18(a0->_2dGfxResMan[GF_GFX_RES_TYPE_CELL], a0->_2dGfxResObjList[GF_GFX_RES_TYPE_CELL], cell);
|
||||
}
|
||||
|
||||
BOOL sub_0200D988(UnkStruct_0200CF38* a0, u32 animation) {
|
||||
return sub_0200DB18(a0->_2dGfxResMan[GF_GFX_RES_TYPE_ANIM], a0->_2dGfxResObjList[GF_GFX_RES_TYPE_ANIM], animation);
|
||||
}
|
||||
|
||||
void sub_0200D998(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1) {
|
||||
int i;
|
||||
|
||||
sub_0200D044(a1);
|
||||
sub_0200AED4(a1->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR]);
|
||||
sub_0200B0CC(a1->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT]);
|
||||
|
||||
for (i = 0; i < a1->unk_54; ++i) {
|
||||
Delete2DGfxResObjList(a1->_2dGfxResObjList[i]);
|
||||
Destroy2DGfxResObjMan(a1->_2dGfxResMan[i]);
|
||||
}
|
||||
sub_0200D0D4(a0, a1);
|
||||
}
|
||||
|
||||
void sub_0200D9DC(UnkImageStruct* a0) {
|
||||
if (a0->vramTransfer) {
|
||||
sub_0200AF80(a0->unk4->imageProxy);
|
||||
}
|
||||
Sprite_Delete(a0->unk0);
|
||||
sub_02009F24(a0->unk8);
|
||||
FreeToHeap(a0);
|
||||
}
|
||||
|
||||
BOOL sub_0200DA04(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NarcId narcId, int fileId, BOOL compressed, GfGfxResType a6, int resId) {
|
||||
if (!_2DGfxResObjExistsById(a1->_2dGfxResMan[a6], resId)) {
|
||||
return FALSE;
|
||||
}
|
||||
_2DGfxResObj* data = AddCellOrAnimResObjFromNarc(a1->_2dGfxResMan[a6], narcId, fileId, compressed, resId, a6, a0->heapId);
|
||||
if (data != NULL) {
|
||||
BOOL result = sub_0200DAE4(a1->_2dGfxResObjList[a6], data);
|
||||
GF_ASSERT(result == TRUE);
|
||||
return result;
|
||||
}
|
||||
GF_ASSERT(0);
|
||||
return data != NULL;
|
||||
}
|
||||
|
||||
BOOL sub_0200DA74(UnkStruct_0200CF18* a0, UnkStruct_0200CF38* a1, NARC* narc, int fileId, BOOL compressed, GfGfxResType a6, int resId) {
|
||||
if (!_2DGfxResObjExistsById(a1->_2dGfxResMan[a6], resId)) {
|
||||
return FALSE;
|
||||
}
|
||||
_2DGfxResObj* data = AddCellOrAnimResObjFromOpenNarc(a1->_2dGfxResMan[a6], narc, fileId, compressed, resId, a6, a0->heapId);
|
||||
if (data != NULL) {
|
||||
BOOL result = sub_0200DAE4(a1->_2dGfxResObjList[a6], data);
|
||||
GF_ASSERT(result == TRUE);
|
||||
return result;
|
||||
}
|
||||
GF_ASSERT(0);
|
||||
return data != NULL;
|
||||
}
|
||||
|
||||
BOOL sub_0200DAE4(_2DGfxResObjList* list, _2DGfxResObj* obj) {
|
||||
for (int i = 0; i < list->max; ++i) {
|
||||
if (list->obj[i] == NULL) {
|
||||
list->obj[i] = obj;
|
||||
++list->num;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL sub_0200DB18(_2DGfxResMan* manager, _2DGfxResObjList* list, u32 cellOrAnimId) {
|
||||
for (int i = 0; i < list->max; ++i) {
|
||||
if (list->obj[i] != NULL) {
|
||||
u32 test_id = sub_0200A7FC(list->obj[i]);
|
||||
if (test_id == cellOrAnimId) {
|
||||
DestroySingle2DGfxResObj(manager, list->obj[i]);
|
||||
list->obj[i] = NULL;
|
||||
--list->num;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL sub_0200DB64(_2DGfxResMan* manager, _2DGfxResObjList* list, u32 charId) {
|
||||
for (int i = 0; i < list->max; ++i) {
|
||||
if (list->obj[i] != NULL) {
|
||||
u32 test_id = sub_0200A7FC(list->obj[i]);
|
||||
if (test_id == charId) {
|
||||
sub_02021884(charId);
|
||||
DestroySingle2DGfxResObj(manager, list->obj[i]);
|
||||
list->obj[i] = NULL;
|
||||
--list->num;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL sub_0200DBB8(_2DGfxResMan* manager, _2DGfxResObjList* list, u32 plttId) {
|
||||
for (int i = 0; i < list->max; ++i) {
|
||||
if (list->obj[i] != NULL) {
|
||||
u32 test_id = sub_0200A7FC(list->obj[i]);
|
||||
if (test_id == plttId) {
|
||||
sub_02022744(plttId);
|
||||
DestroySingle2DGfxResObj(manager, list->obj[i]);
|
||||
list->obj[i] = NULL;
|
||||
--list->num;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user