mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-10 18:15:45 -05:00
start code 80A26CC
This commit is contained in:
@@ -5,415 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80A2B40
|
||||
sub_80A2B40:
|
||||
push {r4-r6,lr}
|
||||
adds r5, r0, 0
|
||||
ldr r2, _080A2BFC
|
||||
adds r0, r5, r2
|
||||
ldm r1!, {r2-r4}
|
||||
stm r0!, {r2-r4}
|
||||
ldm r1!, {r2-r4}
|
||||
stm r0!, {r2-r4}
|
||||
ldr r3, _080A2C00
|
||||
adds r0, r5, r3
|
||||
movs r4, 0
|
||||
ldrsh r1, [r0, r4]
|
||||
lsls r0, r1, 3
|
||||
adds r0, r1
|
||||
lsls r0, 1
|
||||
movs r1, 0x6
|
||||
bl MemoryAlloc
|
||||
movs r2, 0xA9
|
||||
lsls r2, 3
|
||||
adds r1, r5, r2
|
||||
str r0, [r1]
|
||||
movs r6, 0
|
||||
movs r3, 0xA7
|
||||
lsls r3, 3
|
||||
adds r0, r5, r3
|
||||
movs r4, 0
|
||||
ldrsh r0, [r0, r4]
|
||||
cmp r6, r0
|
||||
bge _080A2BC0
|
||||
_080A2B7C:
|
||||
lsls r4, r6, 2
|
||||
ldr r0, _080A2C04
|
||||
adds r2, r5, r0
|
||||
adds r2, r4
|
||||
ldr r1, _080A2C08
|
||||
adds r0, r5, r1
|
||||
movs r3, 0
|
||||
ldrsh r0, [r0, r3]
|
||||
adds r1, r6, 0x2
|
||||
adds r0, r1
|
||||
lsls r0, 11
|
||||
ldr r1, _080A2C0C
|
||||
adds r0, r1
|
||||
str r0, [r2]
|
||||
ldr r1, _080A2C10
|
||||
adds r0, r5, r1
|
||||
movs r2, 0
|
||||
ldrsh r0, [r0, r2]
|
||||
lsls r0, 7
|
||||
movs r1, 0x6
|
||||
bl MemoryAlloc
|
||||
ldr r3, _080A2C14
|
||||
adds r1, r5, r3
|
||||
adds r1, r4
|
||||
str r0, [r1]
|
||||
adds r6, 0x1
|
||||
movs r4, 0xA7
|
||||
lsls r4, 3
|
||||
adds r0, r5, r4
|
||||
movs r1, 0
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r6, r0
|
||||
blt _080A2B7C
|
||||
_080A2BC0:
|
||||
cmp r6, 0x1
|
||||
bgt _080A2BD8
|
||||
movs r1, 0
|
||||
lsls r0, r6, 2
|
||||
ldr r2, _080A2C14
|
||||
adds r0, r2
|
||||
adds r0, r5
|
||||
_080A2BCE:
|
||||
str r1, [r0, 0x8]
|
||||
stm r0!, {r1}
|
||||
adds r6, 0x1
|
||||
cmp r6, 0x1
|
||||
ble _080A2BCE
|
||||
_080A2BD8:
|
||||
movs r3, 0xA8
|
||||
lsls r3, 3
|
||||
adds r0, r5, r3
|
||||
ldr r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _080A2C20
|
||||
ldr r4, _080A2C18
|
||||
adds r0, r5, r4
|
||||
movs r1, 0
|
||||
ldrsh r0, [r0, r1]
|
||||
lsls r0, 8
|
||||
movs r1, 0x6
|
||||
bl MemoryAlloc
|
||||
ldr r2, _080A2C1C
|
||||
adds r1, r5, r2
|
||||
str r0, [r1]
|
||||
b _080A2C26
|
||||
.align 2, 0
|
||||
_080A2BFC: .4byte 0x0000052c
|
||||
_080A2C00: .4byte 0x00000534
|
||||
_080A2C04: .4byte 0x00000554
|
||||
_080A2C08: .4byte 0x00000536
|
||||
_080A2C0C: .4byte gBgTilemaps
|
||||
_080A2C10: .4byte 0x0000053c
|
||||
_080A2C14: .4byte 0x0000054c
|
||||
_080A2C18: .4byte 0x0000053a
|
||||
_080A2C1C: .4byte 0x00000544
|
||||
_080A2C20:
|
||||
ldr r3, _080A2CF0
|
||||
adds r0, r5, r3
|
||||
str r1, [r0]
|
||||
_080A2C26:
|
||||
movs r4, 0x86
|
||||
lsls r4, 3
|
||||
adds r0, r5, r4
|
||||
movs r1, 0
|
||||
str r1, [r0]
|
||||
ldr r2, _080A2CF4
|
||||
adds r0, r5, r2
|
||||
str r1, [r0]
|
||||
movs r3, 0x87
|
||||
lsls r3, 3
|
||||
adds r0, r5, r3
|
||||
str r1, [r0]
|
||||
adds r4, 0xC
|
||||
adds r0, r5, r4
|
||||
str r1, [r0]
|
||||
adds r2, 0xC
|
||||
adds r0, r5, r2
|
||||
str r1, [r0]
|
||||
adds r3, 0xF2
|
||||
adds r0, r5, r3
|
||||
strb r1, [r0]
|
||||
adds r4, 0x8
|
||||
adds r2, r5, r4
|
||||
ldr r0, _080A2CF8
|
||||
strh r0, [r2]
|
||||
movs r2, 0x8D
|
||||
lsls r2, 3
|
||||
adds r0, r5, r2
|
||||
str r1, [r0]
|
||||
subs r3, 0xE2
|
||||
adds r0, r5, r3
|
||||
strb r1, [r0]
|
||||
adds r4, 0x5
|
||||
adds r0, r5, r4
|
||||
strb r1, [r0]
|
||||
subs r2, 0x1E
|
||||
adds r0, r5, r2
|
||||
strb r1, [r0]
|
||||
adds r3, 0x3
|
||||
adds r0, r5, r3
|
||||
strb r1, [r0]
|
||||
adds r4, 0x3
|
||||
adds r0, r5, r4
|
||||
strb r1, [r0]
|
||||
adds r2, 0x3
|
||||
adds r0, r5, r2
|
||||
strb r1, [r0]
|
||||
adds r2, r5, 0
|
||||
adds r3, 0x21
|
||||
adds r0, r5, r3
|
||||
str r1, [r0]
|
||||
adds r4, 0x24
|
||||
adds r0, r5, r4
|
||||
strb r1, [r0]
|
||||
adds r3, 0x5
|
||||
adds r0, r5, r3
|
||||
strb r1, [r0]
|
||||
movs r0, 0
|
||||
movs r1, 0xD
|
||||
_080A2C9C:
|
||||
strh r0, [r2]
|
||||
strh r0, [r2, 0x2]
|
||||
str r0, [r2, 0x8]
|
||||
str r0, [r2, 0x4]
|
||||
subs r1, 0x1
|
||||
adds r2, 0x10
|
||||
cmp r1, 0
|
||||
bge _080A2C9C
|
||||
movs r1, 0
|
||||
movs r4, 0xF8
|
||||
lsls r4, 2
|
||||
adds r0, r5, r4
|
||||
movs r2, 0x1
|
||||
_080A2CB6:
|
||||
strb r1, [r0]
|
||||
strb r1, [r0, 0x1]
|
||||
strh r1, [r0, 0x2]
|
||||
strh r1, [r0, 0x4]
|
||||
str r1, [r0, 0x8]
|
||||
str r1, [r0, 0xC]
|
||||
str r1, [r0, 0x14]
|
||||
str r1, [r0, 0x10]
|
||||
str r1, [r0, 0x1C]
|
||||
str r1, [r0, 0x18]
|
||||
str r1, [r0, 0x20]
|
||||
str r1, [r0, 0x24]
|
||||
adds r0, 0x28
|
||||
subs r2, 0x1
|
||||
cmp r2, 0
|
||||
bge _080A2CB6
|
||||
movs r4, 0
|
||||
_080A2CD8:
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
ldr r2, _080A2CFC
|
||||
bl sub_80A456C
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x1
|
||||
ble _080A2CD8
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A2CF0: .4byte 0x00000544
|
||||
_080A2CF4: .4byte 0x00000434
|
||||
_080A2CF8: .4byte 0x0000ffff
|
||||
_080A2CFC: .4byte gUnknown_81172B8
|
||||
thumb_func_end sub_80A2B40
|
||||
|
||||
thumb_func_start sub_80A2D00
|
||||
sub_80A2D00:
|
||||
push {r4-r7,lr}
|
||||
adds r6, r0, 0
|
||||
bl sub_80A2DD4
|
||||
ldr r0, _080A2D5C
|
||||
adds r4, r6, r0
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080A2D1A
|
||||
bl MemoryFree
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080A2D1A:
|
||||
movs r1, 0xA9
|
||||
lsls r1, 3
|
||||
adds r4, r6, r1
|
||||
ldr r0, [r4]
|
||||
bl MemoryFree
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
movs r5, 0
|
||||
movs r7, 0
|
||||
_080A2D2E:
|
||||
lsls r2, r5, 2
|
||||
ldr r1, _080A2D60
|
||||
adds r0, r6, r1
|
||||
adds r1, r0, r2
|
||||
ldr r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _080A2D3E
|
||||
str r7, [r1]
|
||||
_080A2D3E:
|
||||
ldr r1, _080A2D64
|
||||
adds r0, r6, r1
|
||||
adds r4, r0, r2
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080A2D50
|
||||
bl MemoryFree
|
||||
str r7, [r4]
|
||||
_080A2D50:
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x1
|
||||
ble _080A2D2E
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A2D5C: .4byte 0x00000544
|
||||
_080A2D60: .4byte 0x00000554
|
||||
_080A2D64: .4byte 0x0000054c
|
||||
thumb_func_end sub_80A2D00
|
||||
|
||||
thumb_func_start sub_80A2D68
|
||||
sub_80A2D68:
|
||||
push {r4,lr}
|
||||
ldr r1, _080A2D84
|
||||
adds r4, r0, r1
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080A2D7C
|
||||
bl MemoryFree
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080A2D7C:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A2D84: .4byte 0x00000544
|
||||
thumb_func_end sub_80A2D68
|
||||
|
||||
thumb_func_start sub_80A2D88
|
||||
sub_80A2D88:
|
||||
push {r4-r7,lr}
|
||||
adds r6, r0, 0
|
||||
movs r0, 0xA8
|
||||
lsls r0, 3
|
||||
adds r7, r6, r0
|
||||
ldr r0, [r7]
|
||||
cmp r0, 0
|
||||
beq _080A2DC6
|
||||
movs r1, 0x89
|
||||
lsls r1, 3
|
||||
adds r5, r6, r1
|
||||
ldr r2, _080A2DCC
|
||||
adds r4, r6, r2
|
||||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
lsls r0, 8
|
||||
movs r1, 0x6
|
||||
bl MemoryAlloc
|
||||
ldr r2, _080A2DD0
|
||||
adds r1, r6, r2
|
||||
str r0, [r1]
|
||||
subs r2, 0xDC
|
||||
adds r1, r6, r2
|
||||
ldr r1, [r1]
|
||||
movs r2, 0
|
||||
ldrsh r3, [r4, r2]
|
||||
ldr r4, [r7]
|
||||
adds r2, r5, 0
|
||||
bl _call_via_r4
|
||||
_080A2DC6:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A2DCC: .4byte 0x0000053a
|
||||
_080A2DD0: .4byte 0x00000544
|
||||
thumb_func_end sub_80A2D88
|
||||
|
||||
thumb_func_start sub_80A2DD4
|
||||
sub_80A2DD4:
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
movs r0, 0xFA
|
||||
lsls r0, 2
|
||||
adds r4, r6, r0
|
||||
movs r5, 0x1
|
||||
_080A2DE0:
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080A2DEE
|
||||
bl CloseFile
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080A2DEE:
|
||||
adds r4, 0x28
|
||||
subs r5, 0x1
|
||||
cmp r5, 0
|
||||
bge _080A2DE0
|
||||
ldr r0, _080A2E5C
|
||||
adds r4, r6, r0
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080A2E08
|
||||
bl CloseFile
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080A2E08:
|
||||
movs r0, 0x88
|
||||
lsls r0, 3
|
||||
adds r4, r6, r0
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080A2E1C
|
||||
bl CloseFile
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080A2E1C:
|
||||
movs r0, 0x86
|
||||
lsls r0, 3
|
||||
adds r4, r6, r0
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080A2E30
|
||||
bl CloseFile
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080A2E30:
|
||||
ldr r0, _080A2E60
|
||||
adds r4, r6, r0
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080A2E42
|
||||
bl CloseFile
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080A2E42:
|
||||
movs r0, 0x87
|
||||
lsls r0, 3
|
||||
adds r4, r6, r0
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080A2E56
|
||||
bl CloseFile
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080A2E56:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A2E5C: .4byte 0x0000043c
|
||||
_080A2E60: .4byte 0x00000434
|
||||
thumb_func_end sub_80A2DD4
|
||||
|
||||
thumb_func_start sub_80A2E64
|
||||
sub_80A2E64:
|
||||
|
||||
@@ -12,4 +12,12 @@ OpenedFile *OpenFileAndGetFileDataPtr(const u8 *filename, const FileArchive *arc
|
||||
|
||||
u32 sub_800A8F8(u32 value);
|
||||
|
||||
#define CLOSE_FILE_AND_SET_NULL(filePtr) \
|
||||
{ \
|
||||
CloseFile(filePtr); \
|
||||
filePtr = NULL; \
|
||||
}
|
||||
|
||||
#define TRY_CLOSE_FILE_AND_SET_NULL(filePtr) if (filePtr != NULL) CLOSE_FILE_AND_SET_NULL(filePtr)
|
||||
|
||||
#endif //GUARD_FILE_SYSTEM_H
|
||||
|
||||
@@ -1,10 +1,82 @@
|
||||
#ifndef GUARD_GROUND_MAP_H
|
||||
#define GUARD_GROUND_MAP_H
|
||||
|
||||
#include "structs/str_file_system.h"
|
||||
|
||||
typedef struct SubStruct_0
|
||||
{
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
u8 fillC;
|
||||
} SubStruct_0;
|
||||
|
||||
typedef struct SubStruct_3E0
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u16 unk2;
|
||||
u16 unk4;
|
||||
OpenedFile *unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
s32 unk12;
|
||||
s32 unk14;
|
||||
s32 unk1C;
|
||||
s32 unk20;
|
||||
s32 unk24;
|
||||
} SubStruct_3E0;
|
||||
|
||||
// size: 0x18?
|
||||
typedef struct SubStruct_52C
|
||||
{
|
||||
u8 fill0[8]; // 0x52C
|
||||
s16 unk8; // 0x534
|
||||
s16 unkA; // 0x536
|
||||
s16 unkC; // 0x538
|
||||
s16 unkE; // 0x53A
|
||||
s16 unk10; // 0x53C
|
||||
s16 unk12; // 0x53E
|
||||
void (*unk14)(void *, s32, void *, s32); // TODO: fix void * to proper ptr types 0x540
|
||||
} SubStruct_52C;
|
||||
|
||||
#define UNK_0_ARR_COUNT 14
|
||||
#define UNK_3E0_ARR_COUNT 2
|
||||
|
||||
#define UNK_54C_ARR_COUNT 2
|
||||
|
||||
// size: 0x55C
|
||||
typedef struct unkStruct_3001B70
|
||||
{
|
||||
u8 fill0[0x55C - 0x0];
|
||||
SubStruct_0 unk0[UNK_0_ARR_COUNT];
|
||||
u8 fillUnk[0x300];
|
||||
SubStruct_3E0 unk3E0[UNK_3E0_ARR_COUNT];
|
||||
OpenedFile *unk430;
|
||||
OpenedFile *unk434;
|
||||
OpenedFile *unk438;
|
||||
OpenedFile *unk43C;
|
||||
OpenedFile *unk440;
|
||||
s16 unk444;
|
||||
u8 fill446[2];
|
||||
u8 unk448;
|
||||
u8 unk449;
|
||||
u8 unk44A;
|
||||
u8 unk44B;
|
||||
u8 unk44C;
|
||||
u8 unk44D;
|
||||
u8 fill44E[0x468-0x44E];
|
||||
s32 unk468;
|
||||
s32 unk46C;
|
||||
u8 unk470;
|
||||
u8 unk471;
|
||||
u8 fill472[0x52A-0x472];
|
||||
u8 unk52A;
|
||||
SubStruct_52C unk52C;
|
||||
void *unk544;
|
||||
void *unk548;
|
||||
void *unk54C[UNK_54C_ARR_COUNT];
|
||||
u16 *unk554[UNK_54C_ARR_COUNT];
|
||||
} unkStruct_3001B70;
|
||||
|
||||
extern unkStruct_3001B70 *gGroundMapDungeon_3001B70;
|
||||
@@ -16,4 +88,4 @@ void FreeGroundMapAction(void);
|
||||
void sub_80A4B38(void);
|
||||
void sub_80A4B54(void);
|
||||
|
||||
#endif // GUARD_GROUND_MAP_H
|
||||
#endif // GUARD_GROUND_MAP_H
|
||||
|
||||
@@ -13,4 +13,12 @@ void MemoryCopy32(u32 *dest, u32 *src, s32 size);
|
||||
void *MemoryAlloc(s32 size, s32 group);
|
||||
void MemoryFree(void *a);
|
||||
|
||||
#define FREE_AND_SET_NULL(ptr) \
|
||||
{ \
|
||||
MemoryFree(ptr); \
|
||||
ptr = NULL; \
|
||||
}
|
||||
|
||||
#define TRY_FREE_AND_SET_NULL(ptr) if (ptr != NULL) FREE_AND_SET_NULL(ptr)
|
||||
|
||||
#endif // GUARD_MEMORY_H
|
||||
|
||||
@@ -462,3 +462,129 @@ UNUSED static const u8 *sub_80A2B28(u16 r0)
|
||||
{
|
||||
return sub_80A2B18(GetScriptVarValue(NULL, GROUND_PLACE));
|
||||
}
|
||||
|
||||
#include "ground_map.h"
|
||||
#include "text_1.h"
|
||||
#include "memory.h"
|
||||
#include "file_system.h"
|
||||
|
||||
extern void sub_80A456C(unkStruct_3001B70 *, u32, const PixelPos *);
|
||||
extern const PixelPos gUnknown_81172B8;
|
||||
|
||||
void sub_80A2B40(unkStruct_3001B70 *mapPtr, const SubStruct_52C *a1)
|
||||
{
|
||||
SubStruct_0 *unk0Ptr;
|
||||
s32 id, unk0Id, unk3E0Id;
|
||||
s32 i;
|
||||
|
||||
mapPtr->unk52C = *a1;
|
||||
mapPtr->unk548 = MemoryAlloc(mapPtr->unk52C.unk8 * 18, 6);
|
||||
for (id = 0; id < mapPtr->unk52C.unkC; id++) {
|
||||
mapPtr->unk554[id] = &gBgTilemaps[2 + mapPtr->unk52C.unkA + id][0][0];
|
||||
mapPtr->unk54C[id] = MemoryAlloc(mapPtr->unk52C.unk10 * 128, 6);
|
||||
}
|
||||
for (; id < UNK_54C_ARR_COUNT; id++) {
|
||||
mapPtr->unk554[id] = NULL;
|
||||
mapPtr->unk54C[id] = NULL;
|
||||
}
|
||||
|
||||
if (mapPtr->unk52C.unk14 != NULL) {
|
||||
mapPtr->unk544 = MemoryAlloc(mapPtr->unk52C.unkE * 256, 6);
|
||||
}
|
||||
else {
|
||||
mapPtr->unk544 = NULL;
|
||||
}
|
||||
|
||||
mapPtr->unk430 = NULL;
|
||||
mapPtr->unk434 = NULL;
|
||||
mapPtr->unk438 = NULL;
|
||||
mapPtr->unk43C = NULL;
|
||||
mapPtr->unk440 = NULL;
|
||||
mapPtr->unk52A = 0;
|
||||
mapPtr->unk444 = -1;
|
||||
mapPtr->unk468 = 0;
|
||||
mapPtr->unk448 = 0;
|
||||
mapPtr->unk449 = 0;
|
||||
mapPtr->unk44A = 0;
|
||||
mapPtr->unk44B = 0;
|
||||
mapPtr->unk44C = 0;
|
||||
mapPtr->unk44D = 0;
|
||||
unk0Ptr = &mapPtr->unk0[0];
|
||||
mapPtr->unk46C = 0;
|
||||
mapPtr->unk470 = 0;
|
||||
mapPtr->unk471 = 0;
|
||||
|
||||
for (unk0Id = 0; unk0Id < UNK_0_ARR_COUNT; unk0Id++, unk0Ptr++) {
|
||||
unk0Ptr->unk0 = 0;
|
||||
unk0Ptr->unk2 = 0;
|
||||
unk0Ptr->unk8 = 0;
|
||||
unk0Ptr->unk4 = 0;
|
||||
}
|
||||
|
||||
for (unk3E0Id = 0; unk3E0Id < UNK_3E0_ARR_COUNT; unk3E0Id++) {
|
||||
SubStruct_3E0 *unkPtr = &mapPtr->unk3E0[unk3E0Id];
|
||||
unkPtr->unk0 = 0;
|
||||
unkPtr->unk1 = 0;
|
||||
unkPtr->unk2 = 0;
|
||||
unkPtr->unk4 = 0;
|
||||
unkPtr->unk8 = NULL;
|
||||
unkPtr->unkC = 0;
|
||||
unkPtr->unk12 = 0;
|
||||
unkPtr->unk10 = 0;
|
||||
unkPtr->unk1C = 0;
|
||||
unkPtr->unk14 = 0;
|
||||
unkPtr->unk20 = 0;
|
||||
unkPtr->unk24 = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
sub_80A456C(mapPtr, i, &gUnknown_81172B8);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A2DD4(unkStruct_3001B70 *mapPtr);
|
||||
|
||||
void sub_80A2D00(unkStruct_3001B70 *mapPtr)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
sub_80A2DD4(mapPtr);
|
||||
TRY_FREE_AND_SET_NULL(mapPtr->unk544);
|
||||
FREE_AND_SET_NULL(mapPtr->unk548);
|
||||
|
||||
for (i = 0; i < UNK_54C_ARR_COUNT; i++) {
|
||||
if (mapPtr->unk554[i] != NULL) {
|
||||
mapPtr->unk554[i] = NULL;
|
||||
}
|
||||
TRY_FREE_AND_SET_NULL(mapPtr->unk54C[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A2D68(unkStruct_3001B70 *mapPtr)
|
||||
{
|
||||
TRY_FREE_AND_SET_NULL(mapPtr->unk544);
|
||||
}
|
||||
|
||||
void sub_80A2D88(unkStruct_3001B70 *mapPtr)
|
||||
{
|
||||
if (mapPtr->unk52C.unk14 != NULL) {
|
||||
void *unk448 = &mapPtr->unk448;
|
||||
mapPtr->unk544 = MemoryAlloc(mapPtr->unk52C.unkE * 256, 6);
|
||||
mapPtr->unk52C.unk14(mapPtr->unk544, mapPtr->unk468, unk448, mapPtr->unk52C.unkE);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A2DD4(unkStruct_3001B70 *mapPtr)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < UNK_3E0_ARR_COUNT; i++) {
|
||||
SubStruct_3E0 *unkPtr = &mapPtr->unk3E0[i];
|
||||
TRY_CLOSE_FILE_AND_SET_NULL(unkPtr->unk8);
|
||||
}
|
||||
TRY_CLOSE_FILE_AND_SET_NULL(mapPtr->unk43C);
|
||||
TRY_CLOSE_FILE_AND_SET_NULL(mapPtr->unk440);
|
||||
TRY_CLOSE_FILE_AND_SET_NULL(mapPtr->unk430);
|
||||
TRY_CLOSE_FILE_AND_SET_NULL(mapPtr->unk434);
|
||||
TRY_CLOSE_FILE_AND_SET_NULL(mapPtr->unk438);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user