through sub_80C2604
This commit is contained in:
@@ -5,397 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80C2344
|
||||
sub_80C2344: @ 80C2344
|
||||
push {lr}
|
||||
ldr r0, _080C2360 @ =gUnknown_20399E0
|
||||
ldr r0, [r0]
|
||||
ldr r1, _080C2364 @ =0x00000ccd
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x8
|
||||
bls _080C2356
|
||||
b _080C249C
|
||||
_080C2356:
|
||||
lsls r0, 2
|
||||
ldr r1, _080C2368 @ =_080C236C
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080C2360: .4byte gUnknown_20399E0
|
||||
_080C2364: .4byte 0x00000ccd
|
||||
_080C2368: .4byte _080C236C
|
||||
.align 2, 0
|
||||
_080C236C:
|
||||
.4byte _080C2390
|
||||
.4byte _080C23B0
|
||||
.4byte _080C23D0
|
||||
.4byte _080C23F0
|
||||
.4byte _080C2410
|
||||
.4byte _080C2430
|
||||
.4byte _080C2450
|
||||
.4byte _080C2468
|
||||
.4byte _080C2484
|
||||
_080C2390:
|
||||
ldr r0, _080C23A8 @ =gUnknown_83F12CC
|
||||
ldr r1, _080C23AC @ =gUnknown_20399E0
|
||||
ldr r1, [r1]
|
||||
ldr r1, [r1]
|
||||
bl LZ77UnCompWram
|
||||
movs r0, 0
|
||||
movs r1, 0x4
|
||||
movs r2, 0x4
|
||||
bl sub_80C210C
|
||||
b _080C24A0
|
||||
.align 2, 0
|
||||
_080C23A8: .4byte gUnknown_83F12CC
|
||||
_080C23AC: .4byte gUnknown_20399E0
|
||||
_080C23B0:
|
||||
ldr r0, _080C23C8 @ =gUnknown_83F1550
|
||||
ldr r1, _080C23CC @ =gUnknown_20399E0
|
||||
ldr r1, [r1]
|
||||
ldr r1, [r1, 0x4]
|
||||
bl LZ77UnCompWram
|
||||
movs r0, 0x1
|
||||
movs r1, 0x5
|
||||
movs r2, 0x5
|
||||
bl sub_80C210C
|
||||
b _080C24A0
|
||||
.align 2, 0
|
||||
_080C23C8: .4byte gUnknown_83F1550
|
||||
_080C23CC: .4byte gUnknown_20399E0
|
||||
_080C23D0:
|
||||
ldr r0, _080C23E8 @ =gUnknown_83F1738
|
||||
ldr r1, _080C23EC @ =gUnknown_20399E0
|
||||
ldr r1, [r1]
|
||||
ldr r1, [r1, 0x8]
|
||||
bl LZ77UnCompWram
|
||||
movs r0, 0x2
|
||||
movs r1, 0x6
|
||||
movs r2, 0x6
|
||||
bl sub_80C210C
|
||||
b _080C24A0
|
||||
.align 2, 0
|
||||
_080C23E8: .4byte gUnknown_83F1738
|
||||
_080C23EC: .4byte gUnknown_20399E0
|
||||
_080C23F0:
|
||||
ldr r0, _080C2408 @ =gUnknown_83F13EC
|
||||
ldr r1, _080C240C @ =gUnknown_20399E0
|
||||
ldr r1, [r1]
|
||||
ldr r1, [r1, 0xC]
|
||||
bl LZ77UnCompWram
|
||||
movs r0, 0x3
|
||||
movs r1, 0x7
|
||||
movs r2, 0x7
|
||||
bl sub_80C210C
|
||||
b _080C24A0
|
||||
.align 2, 0
|
||||
_080C2408: .4byte gUnknown_83F13EC
|
||||
_080C240C: .4byte gUnknown_20399E0
|
||||
_080C2410:
|
||||
ldr r0, _080C2428 @ =gUnknown_83F1640
|
||||
ldr r1, _080C242C @ =gUnknown_20399E0
|
||||
ldr r1, [r1]
|
||||
ldr r1, [r1, 0x10]
|
||||
bl LZ77UnCompWram
|
||||
movs r0, 0x4
|
||||
movs r1, 0x8
|
||||
movs r2, 0x8
|
||||
bl sub_80C210C
|
||||
b _080C24A0
|
||||
.align 2, 0
|
||||
_080C2428: .4byte gUnknown_83F1640
|
||||
_080C242C: .4byte gUnknown_20399E0
|
||||
_080C2430:
|
||||
ldr r0, _080C2448 @ =gUnknown_83F1804
|
||||
ldr r1, _080C244C @ =gUnknown_20399E0
|
||||
ldr r1, [r1]
|
||||
ldr r1, [r1, 0x14]
|
||||
bl LZ77UnCompWram
|
||||
movs r0, 0x5
|
||||
movs r1, 0x9
|
||||
movs r2, 0x9
|
||||
bl sub_80C210C
|
||||
b _080C24A0
|
||||
.align 2, 0
|
||||
_080C2448: .4byte gUnknown_83F1804
|
||||
_080C244C: .4byte gUnknown_20399E0
|
||||
_080C2450:
|
||||
ldr r0, _080C2460 @ =gUnknown_83F0330
|
||||
ldr r1, _080C2464 @ =gUnknown_20399E0
|
||||
ldr r1, [r1]
|
||||
adds r1, 0x18
|
||||
bl LZ77UnCompWram
|
||||
b _080C24A0
|
||||
.align 2, 0
|
||||
_080C2460: .4byte gUnknown_83F0330
|
||||
_080C2464: .4byte gUnknown_20399E0
|
||||
_080C2468:
|
||||
ldr r0, _080C2478 @ =gUnknown_83F0E0C
|
||||
ldr r1, _080C247C @ =gUnknown_20399E0
|
||||
ldr r1, [r1]
|
||||
ldr r2, _080C2480 @ =0x00000818
|
||||
adds r1, r2
|
||||
bl LZ77UnCompWram
|
||||
b _080C24A0
|
||||
.align 2, 0
|
||||
_080C2478: .4byte gUnknown_83F0E0C
|
||||
_080C247C: .4byte gUnknown_20399E0
|
||||
_080C2480: .4byte 0x00000818
|
||||
_080C2484:
|
||||
ldr r0, _080C2498 @ =gUnknown_20399E0
|
||||
ldr r1, [r0]
|
||||
adds r1, 0x18
|
||||
movs r2, 0x80
|
||||
lsls r2, 4
|
||||
movs r0, 0x1
|
||||
movs r3, 0
|
||||
bl LoadBgTiles
|
||||
b _080C24A0
|
||||
.align 2, 0
|
||||
_080C2498: .4byte gUnknown_20399E0
|
||||
_080C249C:
|
||||
movs r0, 0x1
|
||||
b _080C24B0
|
||||
_080C24A0:
|
||||
ldr r0, _080C24B4 @ =gUnknown_20399E0
|
||||
ldr r1, [r0]
|
||||
ldr r0, _080C24B8 @ =0x00000ccd
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
adds r0, 0x1
|
||||
strb r0, [r1]
|
||||
movs r0, 0
|
||||
_080C24B0:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080C24B4: .4byte gUnknown_20399E0
|
||||
_080C24B8: .4byte 0x00000ccd
|
||||
thumb_func_end sub_80C2344
|
||||
|
||||
thumb_func_start sub_80C24BC
|
||||
sub_80C24BC: @ 80C24BC
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
ldr r0, _080C252C @ =gUnknown_20399E0
|
||||
ldr r3, [r0]
|
||||
ldr r0, [r3]
|
||||
ldr r2, _080C2530 @ =0x00000404
|
||||
adds r0, r2
|
||||
ldrh r0, [r0]
|
||||
adds r0, 0x8
|
||||
lsls r0, 16
|
||||
ldr r4, _080C2534 @ =0xffff0000
|
||||
ldr r5, _080C2538 @ =0x0000ffff
|
||||
lsrs r0, 16
|
||||
movs r1, 0x80
|
||||
lsls r1, 13
|
||||
orrs r0, r1
|
||||
str r0, [sp]
|
||||
ldr r0, [r3, 0xC]
|
||||
adds r0, r2
|
||||
ldrh r1, [r0]
|
||||
subs r1, 0x8
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
ldr r0, [sp, 0x4]
|
||||
ands r0, r4
|
||||
orrs r0, r1
|
||||
ands r0, r5
|
||||
movs r1, 0xA0
|
||||
lsls r1, 16
|
||||
orrs r0, r1
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0
|
||||
movs r1, 0x2
|
||||
movs r2, 0
|
||||
bl sub_80C4C2C
|
||||
movs r0, 0x12
|
||||
movs r1, 0
|
||||
bl sub_80C4C74
|
||||
movs r0, 0x10
|
||||
bl sub_80C4C88
|
||||
movs r0, 0
|
||||
mov r1, sp
|
||||
bl sub_80C4CF0
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80C4C9C
|
||||
add sp, 0x8
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C252C: .4byte gUnknown_20399E0
|
||||
_080C2530: .4byte 0x00000404
|
||||
_080C2534: .4byte 0xffff0000
|
||||
_080C2538: .4byte 0x0000ffff
|
||||
thumb_func_end sub_80C24BC
|
||||
|
||||
thumb_func_start sub_80C253C
|
||||
sub_80C253C: @ 80C253C
|
||||
push {lr}
|
||||
sub sp, 0x8
|
||||
ldr r0, _080C258C @ =gUnknown_83F1C34
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, [r0]
|
||||
str r0, [sp]
|
||||
str r1, [sp, 0x4]
|
||||
bl sub_80C4BE4
|
||||
movs r0, 0x2
|
||||
movs r1, 0x29
|
||||
movs r2, 0x80
|
||||
bl sub_80C4C2C
|
||||
ldr r0, _080C2590 @ =gUnknown_20399E0
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xCD
|
||||
lsls r1, 4
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
bl sub_80C4C48
|
||||
movs r0, 0x37
|
||||
movs r1, 0
|
||||
bl sub_80C4C74
|
||||
movs r0, 0x12
|
||||
bl sub_80C4C88
|
||||
movs r0, 0
|
||||
mov r1, sp
|
||||
bl sub_80C4CF0
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80C4C9C
|
||||
add sp, 0x8
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C258C: .4byte gUnknown_83F1C34
|
||||
_080C2590: .4byte gUnknown_20399E0
|
||||
thumb_func_end sub_80C253C
|
||||
|
||||
thumb_func_start sub_80C2594
|
||||
sub_80C2594: @ 80C2594
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080C25B0 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r0, _080C25B4 @ =gUnknown_20399E0
|
||||
ldr r0, [r0]
|
||||
ldr r2, _080C25B8 @ =0x00000cc8
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080C25B0: .4byte gTasks
|
||||
_080C25B4: .4byte gUnknown_20399E0
|
||||
_080C25B8: .4byte 0x00000cc8
|
||||
thumb_func_end sub_80C2594
|
||||
|
||||
thumb_func_start sub_80C25BC
|
||||
sub_80C25BC: @ 80C25BC
|
||||
push {r4-r6,lr}
|
||||
bl sub_80C2604
|
||||
movs r5, 0
|
||||
ldr r6, _080C2600 @ =gUnknown_20399E0
|
||||
_080C25C6:
|
||||
ldr r0, [r6]
|
||||
lsls r4, r5, 2
|
||||
adds r0, r4
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080C25DE
|
||||
bl Free
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
movs r1, 0
|
||||
str r1, [r0]
|
||||
_080C25DE:
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
cmp r5, 0x5
|
||||
bls _080C25C6
|
||||
ldr r4, _080C2600 @ =gUnknown_20399E0
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080C25F8
|
||||
bl Free
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080C25F8:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C2600: .4byte gUnknown_20399E0
|
||||
thumb_func_end sub_80C25BC
|
||||
|
||||
thumb_func_start sub_80C2604
|
||||
sub_80C2604: @ 80C2604
|
||||
push {r4-r7,lr}
|
||||
movs r5, 0
|
||||
ldr r7, _080C2670 @ =gUnknown_20399E0
|
||||
movs r6, 0x80
|
||||
lsls r6, 3
|
||||
_080C260E:
|
||||
ldr r2, [r7]
|
||||
lsls r4, r5, 2
|
||||
adds r2, r4
|
||||
ldr r1, [r2]
|
||||
adds r0, r1, r6
|
||||
ldr r0, [r0]
|
||||
ldrh r0, [r0, 0x20]
|
||||
ldr r3, _080C2674 @ =0x00000404
|
||||
adds r1, r3
|
||||
strh r0, [r1]
|
||||
ldr r1, [r2]
|
||||
adds r0, r1, r6
|
||||
ldr r0, [r0]
|
||||
ldrh r0, [r0, 0x22]
|
||||
adds r3, 0x2
|
||||
adds r1, r3
|
||||
strh r0, [r1]
|
||||
ldr r0, [r2]
|
||||
adds r0, r6
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080C2660
|
||||
bl DestroySprite
|
||||
ldr r0, [r7]
|
||||
adds r0, r4
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x81
|
||||
lsls r1, 3
|
||||
adds r0, r1
|
||||
ldrh r0, [r0]
|
||||
bl FreeSpriteTilesByTag
|
||||
ldr r0, [r7]
|
||||
adds r0, r4
|
||||
ldr r0, [r0]
|
||||
ldr r3, _080C2678 @ =0x0000040a
|
||||
adds r0, r3
|
||||
ldrh r0, [r0]
|
||||
bl FreeSpritePaletteByTag
|
||||
_080C2660:
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
cmp r5, 0x5
|
||||
bls _080C260E
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C2670: .4byte gUnknown_20399E0
|
||||
_080C2674: .4byte 0x00000404
|
||||
_080C2678: .4byte 0x0000040a
|
||||
thumb_func_end sub_80C2604
|
||||
|
||||
thumb_func_start sub_80C267C
|
||||
sub_80C267C: @ 80C267C
|
||||
push {r4,r5,lr}
|
||||
|
||||
+149
-39
@@ -125,11 +125,21 @@ struct UnkStruct_20399E0_000
|
||||
struct UnkStruct_20399E0
|
||||
{
|
||||
struct UnkStruct_20399E0_000 * field_000[6];
|
||||
u8 filler_018[0xCB0];
|
||||
u16 field_018[0x400];
|
||||
u16 field_818[0x258];
|
||||
TaskFunc field_CC8;
|
||||
u8 filler_CCC[0x8];
|
||||
u8 field_CCC;
|
||||
u8 field_CCD;
|
||||
u8 filler_CCE[2];
|
||||
u8 field_CD0;
|
||||
}; // size = 0xCD4
|
||||
|
||||
#define FREE_IF_NOT_NULL(ptr) ({ \
|
||||
if (ptr) { \
|
||||
FREE_AND_SET_NULL(ptr); \
|
||||
} \
|
||||
})
|
||||
|
||||
EWRAM_DATA struct UnkStruct_20399D4 * gUnknown_20399D4 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_20399D8 * gUnknown_20399D8 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_20399DC * gUnknown_20399DC = NULL;
|
||||
@@ -180,6 +190,28 @@ void sub_80C1E14(u8 taskId);
|
||||
void sub_80C1E94(void);
|
||||
void sub_80C1E78(u8 bgId, const u16 * tilemap);
|
||||
bool8 sub_80C1F80(bool8 a0);
|
||||
void sub_80C2208(u8 taskId, TaskFunc taskFunc);
|
||||
void sub_80C24BC(void);
|
||||
void sub_80C267C(u8 taskId);
|
||||
void sub_80C25BC(void);
|
||||
void sub_80C2604(void);
|
||||
void sub_80C2C1C(u8 taskId);
|
||||
void sub_80C3008(u16 a0, u16 a1);
|
||||
void sub_80C3154(u8 a0);
|
||||
void sub_80C3178(void);
|
||||
void sub_80C3188(void);
|
||||
u8 sub_80C3400(void);
|
||||
u16 sub_80C3520(void);
|
||||
u8 sub_80C3AC8(u8 a0);
|
||||
u8 sub_80C4164(u8 a0, u8 a1, s16 a2, s16 a3);
|
||||
void sub_80C41D8(u16 a0, u16 a1);
|
||||
void sub_80C4324(u8 a0);
|
||||
void sub_80C4398(u8 a0, u8 taskId, TaskFunc taskFunc);
|
||||
void sub_80C4348(void);
|
||||
void sub_80C48BC(u8 a0, u8 a1, u8 a2);
|
||||
void sub_80C4960(u8 a0, u8 a1, u8 a2);
|
||||
void sub_80C4A04(void);
|
||||
void sub_80C4B30(u8 a0);
|
||||
void sub_80C4AAC(u8 a0);
|
||||
void sub_80C4BE4(void);
|
||||
void sub_80C4C2C(u8 a0, u16 a1, u16 a2);
|
||||
@@ -189,27 +221,6 @@ void sub_80C4C74(u16 a0, u16 a1);
|
||||
void sub_80C4C88(u16 a0);
|
||||
void sub_80C4C9C(u8 a0, u8 a1);
|
||||
void sub_80C4CF0(u8 a0, const struct UnkStruct_80C4CF0 *a1);
|
||||
void sub_80C2208(u8 taskId, TaskFunc taskFunc);
|
||||
void sub_80C24BC(void);
|
||||
void sub_80C267C(u8 taskId);
|
||||
void sub_80C25BC(void);
|
||||
void sub_80C2C1C(u8 taskId);
|
||||
void sub_80C3008(u16 a0, u16 a1);
|
||||
void sub_80C3154(u8 a0);
|
||||
void sub_80C3178(void);
|
||||
void sub_80C3188(void);
|
||||
u8 sub_80C3AC8(u8 a0);
|
||||
u8 sub_80C3400(void);
|
||||
u8 sub_80C4164(u8 a0, u8 a1, s16 a2, s16 a3);
|
||||
void sub_80C41D8(u16 a0, u16 a1);
|
||||
void sub_80C4324(u8 a0);
|
||||
void sub_80C4398(u8 a0, u8 taskId, TaskFunc taskFunc);
|
||||
void sub_80C4348(void);
|
||||
u16 sub_80C3520(void);
|
||||
void sub_80C48BC(u8 a0, u8 a1, u8 a2);
|
||||
void sub_80C4960(u8 a0, u8 a1, u8 a2);
|
||||
void sub_80C4A04(void);
|
||||
void sub_80C4B30(u8 a0);
|
||||
void sub_80C4D30(void);
|
||||
void sub_80C4E18(const u8 *str);
|
||||
void sub_80C4E74(const u8 *str);
|
||||
@@ -227,6 +238,8 @@ extern const u16 gUnknown_83EF3A4[];
|
||||
extern const u32 gUnknown_83EF3C4[];
|
||||
extern const u32 gUnknown_83EF450[];
|
||||
extern const u32 gUnknown_83EF61C[];
|
||||
extern const u32 gUnknown_83F0330[];
|
||||
extern const u32 gUnknown_83F0E0C[];
|
||||
extern const u32 gUnknown_83F0580[];
|
||||
extern const u32 gUnknown_83F089C[];
|
||||
extern const u32 gUnknown_83F0AFC[];
|
||||
@@ -235,6 +248,12 @@ extern const u32 gUnknown_83F0CF0[];
|
||||
extern const u32 gUnknown_83F0F1C[];
|
||||
extern const u32 gUnknown_83F1084[];
|
||||
extern const u32 gUnknown_83F1190[];
|
||||
extern const u32 gUnknown_83F12CC[];
|
||||
extern const u32 gUnknown_83F13EC[];
|
||||
extern const u32 gUnknown_83F1550[];
|
||||
extern const u32 gUnknown_83F1640[];
|
||||
extern const u32 gUnknown_83F1738[];
|
||||
extern const u32 gUnknown_83F1804[];
|
||||
extern const u32 gUnknown_83F1978[];
|
||||
extern const u32 gUnknown_83F19A0[];
|
||||
extern const struct BgTemplate gUnknown_83F1A50[4];
|
||||
@@ -250,6 +269,7 @@ extern const union AnimCmd *const gUnknown_83F1B38[];
|
||||
extern const struct UnkStruct_83F1B3C gUnknown_83F1B3C[];
|
||||
extern const struct OamData gUnknown_83F1C20;
|
||||
extern const union AnimCmd *const gUnknown_83F1C30[];
|
||||
extern const struct UnkStruct_80C4CF0 gUnknown_83F1C34;
|
||||
extern const u8 *const gUnknown_83F1CAC[];
|
||||
|
||||
static void RegionMap_DarkenPalette(u16 *pal, u16 size, u16 tint)
|
||||
@@ -646,18 +666,12 @@ void sub_80C0820(u8 taskId)
|
||||
SetMainCallback2(gMain.savedCallback);
|
||||
else
|
||||
SetMainCallback2(gUnknown_20399D4->field_47BC);
|
||||
if (gUnknown_20399D4 != NULL)
|
||||
{
|
||||
FREE_AND_SET_NULL(gUnknown_20399D4);
|
||||
}
|
||||
FREE_IF_NOT_NULL(gUnknown_20399D4);
|
||||
}
|
||||
|
||||
void sub_80C0898(void)
|
||||
{
|
||||
if (gUnknown_20399D4 != NULL)
|
||||
{
|
||||
FREE_AND_SET_NULL(gUnknown_20399D4);
|
||||
}
|
||||
FREE_IF_NOT_NULL(gUnknown_20399D4);
|
||||
}
|
||||
|
||||
void sub_80C08B4(void)
|
||||
@@ -1036,10 +1050,7 @@ void sub_80C1280(u8 taskId)
|
||||
sub_80C0AB8();
|
||||
sub_80C0B9C();
|
||||
sub_80C4CF0(0, &gUnknown_83F1B0C[2]);
|
||||
if (gUnknown_20399D8 != NULL)
|
||||
{
|
||||
FREE_AND_SET_NULL(gUnknown_20399D8);
|
||||
}
|
||||
FREE_IF_NOT_NULL(gUnknown_20399D8);
|
||||
}
|
||||
|
||||
bool8 sub_80C12EC(void)
|
||||
@@ -1418,10 +1429,7 @@ void sub_80C1E14(u8 taskId)
|
||||
sub_80C0AB8();
|
||||
sub_80C0B9C();
|
||||
sub_80C4E74(gUnknown_8418E8D);
|
||||
if (gUnknown_20399DC != NULL)
|
||||
{
|
||||
FREE_AND_SET_NULL(gUnknown_20399DC);
|
||||
}
|
||||
FREE_IF_NOT_NULL(gUnknown_20399DC);
|
||||
}
|
||||
|
||||
void sub_80C1E78(u8 bgId, const u16 * tilemap)
|
||||
@@ -1568,3 +1576,105 @@ void sub_80C22C4(u8 a0, bool8 a1)
|
||||
gUnknown_20399E0->field_000[a0]->field_400->invisible = a1;
|
||||
}
|
||||
}
|
||||
|
||||
bool8 sub_80C2344(void)
|
||||
{
|
||||
switch (gUnknown_20399E0->field_CCD)
|
||||
{
|
||||
case 0:
|
||||
LZ77UnCompWram(gUnknown_83F12CC, gUnknown_20399E0->field_000[0]->field_000);
|
||||
sub_80C210C(0, 4, 4);
|
||||
break;
|
||||
case 1:
|
||||
LZ77UnCompWram(gUnknown_83F1550, gUnknown_20399E0->field_000[1]->field_000);
|
||||
sub_80C210C(1, 5, 5);
|
||||
break;
|
||||
case 2:
|
||||
LZ77UnCompWram(gUnknown_83F1738, gUnknown_20399E0->field_000[2]->field_000);
|
||||
sub_80C210C(2, 6, 6);
|
||||
break;
|
||||
case 3:
|
||||
LZ77UnCompWram(gUnknown_83F13EC, gUnknown_20399E0->field_000[3]->field_000);
|
||||
sub_80C210C(3, 7, 7);
|
||||
break;
|
||||
case 4:
|
||||
LZ77UnCompWram(gUnknown_83F1640, gUnknown_20399E0->field_000[4]->field_000);
|
||||
sub_80C210C(4, 8, 8);
|
||||
break;
|
||||
case 5:
|
||||
LZ77UnCompWram(gUnknown_83F1804, gUnknown_20399E0->field_000[5]->field_000);
|
||||
sub_80C210C(5, 9, 9);
|
||||
break;
|
||||
case 6:
|
||||
LZ77UnCompWram(gUnknown_83F0330, gUnknown_20399E0->field_018);
|
||||
break;
|
||||
case 7:
|
||||
LZ77UnCompWram(gUnknown_83F0E0C, gUnknown_20399E0->field_818);
|
||||
break;
|
||||
case 8:
|
||||
LoadBgTiles(1, gUnknown_20399E0->field_018, BG_SCREEN_SIZE, 0x000);
|
||||
break;
|
||||
default:
|
||||
return TRUE;
|
||||
}
|
||||
gUnknown_20399E0->field_CCD++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_80C24BC(void)
|
||||
{
|
||||
struct UnkStruct_80C4CF0 data;
|
||||
data.v0 = gUnknown_20399E0->field_000[0]->field_404 + 8;
|
||||
data.v2 = 0x10;
|
||||
data.v4 = gUnknown_20399E0->field_000[3]->field_404 - 8;
|
||||
data.v6 = 0xA0;
|
||||
sub_80C4C2C(0, 2, 0);
|
||||
sub_80C4C74(18, 0);
|
||||
sub_80C4C88(16);
|
||||
sub_80C4CF0(0, &data);
|
||||
sub_80C4C9C(0, 0);
|
||||
}
|
||||
|
||||
void sub_80C253C(void)
|
||||
{
|
||||
struct UnkStruct_80C4CF0 data = gUnknown_83F1C34;
|
||||
sub_80C4BE4();
|
||||
sub_80C4C2C(2, 41, 128);
|
||||
sub_80C4C48(gUnknown_20399E0->field_CD0);
|
||||
sub_80C4C74(55, 0);
|
||||
sub_80C4C88(18);
|
||||
sub_80C4CF0(0, &data);
|
||||
sub_80C4C9C(0, 0);
|
||||
}
|
||||
|
||||
void sub_80C2594(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].func = gUnknown_20399E0->field_CC8;
|
||||
}
|
||||
|
||||
void sub_80C25BC(void)
|
||||
{
|
||||
u8 i;
|
||||
sub_80C2604();
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
FREE_IF_NOT_NULL(gUnknown_20399E0->field_000[i]);
|
||||
}
|
||||
FREE_IF_NOT_NULL(gUnknown_20399E0);
|
||||
}
|
||||
|
||||
void sub_80C2604(void)
|
||||
{
|
||||
u8 i;
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
gUnknown_20399E0->field_000[i]->field_404 = gUnknown_20399E0->field_000[i]->field_400->pos1.x;
|
||||
gUnknown_20399E0->field_000[i]->field_406 = gUnknown_20399E0->field_000[i]->field_400->pos1.y;
|
||||
if (gUnknown_20399E0->field_000[i]->field_400 != NULL)
|
||||
{
|
||||
DestroySprite(gUnknown_20399E0->field_000[i]->field_400);
|
||||
FreeSpriteTilesByTag(gUnknown_20399E0->field_000[i]->field_408);
|
||||
FreeSpritePaletteByTag(gUnknown_20399E0->field_000[i]->field_40A);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user