mirror of https://github.com/zeldaret/tmc.git
Match sub_0801876C
This commit is contained in:
parent
aad92e4341
commit
dba74f4c92
312
asm/kinstone.s
312
asm/kinstone.s
|
@ -343,315 +343,3 @@ _08018760:
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08018764: .4byte gUnk_080FE320
|
_08018764: .4byte gUnk_080FE320
|
||||||
_08018768: .4byte gRoomControls
|
_08018768: .4byte gRoomControls
|
||||||
|
|
||||||
thumb_func_start sub_0801876C
|
|
||||||
sub_0801876C: @ 0x0801876C
|
|
||||||
push {r4, r5, lr}
|
|
||||||
adds r2, r0, #0
|
|
||||||
adds r4, r1, #0
|
|
||||||
lsls r0, r2, #2
|
|
||||||
adds r0, r0, r2
|
|
||||||
lsls r0, r0, #2
|
|
||||||
ldr r1, _08018790 @ =gUnk_080FE320
|
|
||||||
adds r5, r0, r1
|
|
||||||
ldrb r0, [r5]
|
|
||||||
cmp r0, #0x1c
|
|
||||||
bls _08018784
|
|
||||||
b _080189E4
|
|
||||||
_08018784:
|
|
||||||
lsls r0, r0, #2
|
|
||||||
ldr r1, _08018794 @ =_08018798
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_08018790: .4byte gUnk_080FE320
|
|
||||||
_08018794: .4byte _08018798
|
|
||||||
_08018798: @ jump table
|
|
||||||
.4byte _080189E4 @ case 0
|
|
||||||
.4byte _08018838 @ case 1
|
|
||||||
.4byte _0801882A @ case 2
|
|
||||||
.4byte _08018858 @ case 3
|
|
||||||
.4byte _08018878 @ case 4
|
|
||||||
.4byte _08018886 @ case 5
|
|
||||||
.4byte _0801880C @ case 6
|
|
||||||
.4byte _08018894 @ case 7
|
|
||||||
.4byte _080188E0 @ case 8
|
|
||||||
.4byte _08018930 @ case 9
|
|
||||||
.4byte _080189E4 @ case 10
|
|
||||||
.4byte _080188FE @ case 11
|
|
||||||
.4byte _080189E4 @ case 12
|
|
||||||
.4byte _080189E4 @ case 13
|
|
||||||
.4byte _080189E4 @ case 14
|
|
||||||
.4byte _080189B4 @ case 15
|
|
||||||
.4byte _080189E4 @ case 16
|
|
||||||
.4byte _080189D0 @ case 17
|
|
||||||
.4byte _080189E4 @ case 18
|
|
||||||
.4byte _080189E4 @ case 19
|
|
||||||
.4byte _080189E4 @ case 20
|
|
||||||
.4byte _080189E4 @ case 21
|
|
||||||
.4byte _080189E4 @ case 22
|
|
||||||
.4byte _080189E4 @ case 23
|
|
||||||
.4byte _080189A4 @ case 24
|
|
||||||
.4byte _080188B8 @ case 25
|
|
||||||
.4byte _080189E4 @ case 26
|
|
||||||
.4byte _080189E4 @ case 27
|
|
||||||
.4byte _080189E4 @ case 28
|
|
||||||
_0801880C:
|
|
||||||
cmp r4, #0
|
|
||||||
beq _08018812
|
|
||||||
b _080189E4
|
|
||||||
_08018812:
|
|
||||||
ldrh r0, [r5, #8]
|
|
||||||
lsrs r0, r0, #4
|
|
||||||
movs r2, #0x3f
|
|
||||||
ands r0, r2
|
|
||||||
ldrh r1, [r5, #0xa]
|
|
||||||
lsrs r1, r1, #4
|
|
||||||
ands r1, r2
|
|
||||||
lsls r1, r1, #6
|
|
||||||
orrs r0, r1
|
|
||||||
bl sub_08018AB4
|
|
||||||
b _080189E4
|
|
||||||
_0801882A:
|
|
||||||
cmp r4, #0
|
|
||||||
bne _08018830
|
|
||||||
b _080189E4
|
|
||||||
_08018830:
|
|
||||||
adds r0, r2, #0
|
|
||||||
bl sub_08018BB4
|
|
||||||
b _080189E4
|
|
||||||
_08018838:
|
|
||||||
cmp r4, #0
|
|
||||||
bne _0801883E
|
|
||||||
b _080189E4
|
|
||||||
_0801883E:
|
|
||||||
ldrh r0, [r5, #0x12]
|
|
||||||
bl CheckGlobalFlag
|
|
||||||
cmp r0, #0
|
|
||||||
beq _0801884A
|
|
||||||
b _080189E4
|
|
||||||
_0801884A:
|
|
||||||
ldrb r0, [r5, #1]
|
|
||||||
lsls r0, r0, #4
|
|
||||||
ldr r1, _08018854 @ =gUnk_080FEC28
|
|
||||||
b _080188A4
|
|
||||||
.align 2, 0
|
|
||||||
_08018854: .4byte gUnk_080FEC28
|
|
||||||
_08018858:
|
|
||||||
cmp r4, #0
|
|
||||||
bne _0801885E
|
|
||||||
b _080189E4
|
|
||||||
_0801885E:
|
|
||||||
ldrh r0, [r5, #0x12]
|
|
||||||
bl GetInventoryValue
|
|
||||||
cmp r0, #0
|
|
||||||
beq _0801886A
|
|
||||||
b _080189E4
|
|
||||||
_0801886A:
|
|
||||||
ldrb r0, [r5, #1]
|
|
||||||
lsls r0, r0, #4
|
|
||||||
ldr r1, _08018874 @ =gUnk_080FEBE8
|
|
||||||
b _080188A4
|
|
||||||
.align 2, 0
|
|
||||||
_08018874: .4byte gUnk_080FEBE8
|
|
||||||
_08018878:
|
|
||||||
cmp r4, #0
|
|
||||||
beq _0801887E
|
|
||||||
b _080189E4
|
|
||||||
_0801887E:
|
|
||||||
adds r0, r2, #0
|
|
||||||
bl sub_08018A58
|
|
||||||
b _080189E4
|
|
||||||
_08018886:
|
|
||||||
cmp r4, #0
|
|
||||||
bne _0801888C
|
|
||||||
b _080189E4
|
|
||||||
_0801888C:
|
|
||||||
adds r0, r2, #0
|
|
||||||
bl sub_08018B50
|
|
||||||
b _080189E4
|
|
||||||
_08018894:
|
|
||||||
cmp r4, #0
|
|
||||||
beq _0801889A
|
|
||||||
b _080189E4
|
|
||||||
_0801889A:
|
|
||||||
ldrb r0, [r5, #1]
|
|
||||||
cmp r0, #0x80
|
|
||||||
beq _080188B0
|
|
||||||
lsls r0, r0, #4
|
|
||||||
ldr r1, _080188AC @ =gUnk_080FECC8
|
|
||||||
_080188A4:
|
|
||||||
adds r0, r0, r1
|
|
||||||
bl LoadRoomEntity
|
|
||||||
b _080189E4
|
|
||||||
.align 2, 0
|
|
||||||
_080188AC: .4byte gUnk_080FECC8
|
|
||||||
_080188B0:
|
|
||||||
adds r0, r2, #0
|
|
||||||
bl sub_080189EC
|
|
||||||
b _080189E4
|
|
||||||
_080188B8:
|
|
||||||
ldrb r0, [r5, #1]
|
|
||||||
lsls r0, r0, #4
|
|
||||||
ldr r1, _080188DC @ =gUnk_080FED18
|
|
||||||
adds r0, r0, r1
|
|
||||||
bl LoadRoomEntity
|
|
||||||
adds r2, r0, #0
|
|
||||||
cmp r2, #0
|
|
||||||
bne _080188CC
|
|
||||||
b _080189E4
|
|
||||||
_080188CC:
|
|
||||||
rsbs r0, r4, #0
|
|
||||||
orrs r0, r4
|
|
||||||
asrs r0, r0, #0x1f
|
|
||||||
movs r1, #2
|
|
||||||
ands r0, r1
|
|
||||||
strb r0, [r2, #0xa]
|
|
||||||
b _080189E4
|
|
||||||
.align 2, 0
|
|
||||||
_080188DC: .4byte gUnk_080FED18
|
|
||||||
_080188E0:
|
|
||||||
cmp r4, #0
|
|
||||||
bne _080188E6
|
|
||||||
b _080189E4
|
|
||||||
_080188E6:
|
|
||||||
movs r0, #0xb4
|
|
||||||
lsls r0, r0, #1
|
|
||||||
ldrh r1, [r5, #8]
|
|
||||||
lsrs r1, r1, #4
|
|
||||||
movs r3, #0x3f
|
|
||||||
ands r1, r3
|
|
||||||
ldrh r2, [r5, #0xa]
|
|
||||||
lsrs r2, r2, #4
|
|
||||||
ands r2, r3
|
|
||||||
lsls r2, r2, #6
|
|
||||||
orrs r1, r2
|
|
||||||
b _0801899C
|
|
||||||
_080188FE:
|
|
||||||
cmp r4, #0
|
|
||||||
beq _080189E4
|
|
||||||
ldrb r0, [r5, #1]
|
|
||||||
lsls r0, r0, #4
|
|
||||||
ldr r1, _08018924 @ =gUnk_080FED58
|
|
||||||
adds r0, r0, r1
|
|
||||||
bl LoadRoomEntity
|
|
||||||
ldr r2, _08018928 @ =gRoomVars
|
|
||||||
ldrb r0, [r5, #1]
|
|
||||||
lsls r0, r0, #2
|
|
||||||
adds r2, #0x8c
|
|
||||||
adds r2, r0, r2
|
|
||||||
ldr r1, _0801892C @ =gUnk_080FED98
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
str r0, [r2]
|
|
||||||
b _080189E4
|
|
||||||
.align 2, 0
|
|
||||||
_08018924: .4byte gUnk_080FED58
|
|
||||||
_08018928: .4byte gRoomVars
|
|
||||||
_0801892C: .4byte gUnk_080FED98
|
|
||||||
_08018930:
|
|
||||||
cmp r4, #0
|
|
||||||
beq _080189E4
|
|
||||||
ldrb r0, [r5, #1]
|
|
||||||
lsls r0, r0, #4
|
|
||||||
ldr r1, _08018974 @ =gUnk_080FEE78
|
|
||||||
adds r0, r0, r1
|
|
||||||
bl LoadRoomEntity
|
|
||||||
adds r2, r0, #0
|
|
||||||
cmp r2, #0
|
|
||||||
beq _08018958
|
|
||||||
ldr r0, _08018978 @ =gRoomControls
|
|
||||||
ldrh r1, [r0, #6]
|
|
||||||
ldrh r3, [r5, #8]
|
|
||||||
adds r1, r1, r3
|
|
||||||
strh r1, [r2, #0x38]
|
|
||||||
ldrh r0, [r0, #8]
|
|
||||||
ldrh r1, [r5, #0xa]
|
|
||||||
adds r0, r0, r1
|
|
||||||
strh r0, [r2, #0x3a]
|
|
||||||
_08018958:
|
|
||||||
ldrb r0, [r5, #1]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _0801897C
|
|
||||||
ldrh r1, [r5, #8]
|
|
||||||
lsrs r1, r1, #4
|
|
||||||
movs r2, #0x3f
|
|
||||||
ands r1, r2
|
|
||||||
ldrh r0, [r5, #0xa]
|
|
||||||
lsrs r0, r0, #4
|
|
||||||
ands r0, r2
|
|
||||||
lsls r0, r0, #6
|
|
||||||
orrs r1, r0
|
|
||||||
movs r0, #0x8d
|
|
||||||
b _0801899C
|
|
||||||
.align 2, 0
|
|
||||||
_08018974: .4byte gUnk_080FEE78
|
|
||||||
_08018978: .4byte gRoomControls
|
|
||||||
_0801897C:
|
|
||||||
ldrh r4, [r5, #8]
|
|
||||||
lsrs r4, r4, #4
|
|
||||||
movs r1, #0x3f
|
|
||||||
ands r4, r1
|
|
||||||
ldrh r0, [r5, #0xa]
|
|
||||||
lsrs r0, r0, #4
|
|
||||||
ands r0, r1
|
|
||||||
lsls r0, r0, #6
|
|
||||||
orrs r4, r0
|
|
||||||
subs r1, r4, #1
|
|
||||||
movs r0, #0x8c
|
|
||||||
movs r2, #1
|
|
||||||
bl SetTileType
|
|
||||||
movs r0, #0x8e
|
|
||||||
adds r1, r4, #0
|
|
||||||
_0801899C:
|
|
||||||
movs r2, #1
|
|
||||||
bl SetTileType
|
|
||||||
b _080189E4
|
|
||||||
_080189A4:
|
|
||||||
cmp r4, #0
|
|
||||||
beq _080189E4
|
|
||||||
ldr r0, _080189B0 @ =gUnk_080FEE18
|
|
||||||
bl LoadRoomEntityList
|
|
||||||
b _080189E4
|
|
||||||
.align 2, 0
|
|
||||||
_080189B0: .4byte gUnk_080FEE18
|
|
||||||
_080189B4:
|
|
||||||
cmp r4, #0
|
|
||||||
beq _080189C4
|
|
||||||
ldr r0, _080189C0 @ =gUnk_080FEE58
|
|
||||||
bl LoadRoomEntity
|
|
||||||
b _080189E4
|
|
||||||
.align 2, 0
|
|
||||||
_080189C0: .4byte gUnk_080FEE58
|
|
||||||
_080189C4:
|
|
||||||
ldr r0, _080189CC @ =gUnk_080FEE48
|
|
||||||
bl LoadRoomEntity
|
|
||||||
b _080189E4
|
|
||||||
.align 2, 0
|
|
||||||
_080189CC: .4byte gUnk_080FEE48
|
|
||||||
_080189D0:
|
|
||||||
cmp r4, #0
|
|
||||||
beq _080189E4
|
|
||||||
movs r0, #0x80
|
|
||||||
lsls r0, r0, #1
|
|
||||||
.ifdef JP
|
|
||||||
movs r1, #0x77
|
|
||||||
.else
|
|
||||||
.ifdef EU
|
|
||||||
movs r1, #0x77
|
|
||||||
.else
|
|
||||||
.ifdef DEMO_JP
|
|
||||||
movs r1, #0x77 @ TODO deduplicate
|
|
||||||
.else
|
|
||||||
movs r1, #0x79
|
|
||||||
.endif
|
|
||||||
.endif
|
|
||||||
.endif
|
|
||||||
bl SetLocalFlagByBank
|
|
||||||
ldr r0, _080189E8 @ =gUnk_080FEE38
|
|
||||||
bl LoadRoomEntityList
|
|
||||||
_080189E4:
|
|
||||||
pop {r4, r5, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_080189E8: .4byte gUnk_080FEE38
|
|
||||||
|
|
|
@ -228,7 +228,8 @@ void LoadRoom(void);
|
||||||
void SetCurrentRoomPropertyList(u32 area, u32 room);
|
void SetCurrentRoomPropertyList(u32 area, u32 room);
|
||||||
void* GetCurrentRoomProperty(u32);
|
void* GetCurrentRoomProperty(u32);
|
||||||
void LoadRoomTileEntities();
|
void LoadRoomTileEntities();
|
||||||
void LoadRoomEntityList(EntityData* listPtr);
|
Entity* LoadRoomEntity(const EntityData*);
|
||||||
|
void LoadRoomEntityList(const EntityData* listPtr);
|
||||||
|
|
||||||
bool32 LoadFixedGFX(Entity*, u32);
|
bool32 LoadFixedGFX(Entity*, u32);
|
||||||
void UnloadGFXSlots(Entity*);
|
void UnloadGFXSlots(Entity*);
|
||||||
|
|
142
src/kinstone.c
142
src/kinstone.c
|
@ -3,6 +3,148 @@
|
||||||
#include "subtask.h"
|
#include "subtask.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "flags.h"
|
#include "flags.h"
|
||||||
|
#include "player.h"
|
||||||
|
|
||||||
|
extern EntityData gUnk_080FEC28[];
|
||||||
|
extern EntityData gUnk_080FEBE8[];
|
||||||
|
extern EntityData gUnk_080FECC8[];
|
||||||
|
extern EntityData gUnk_080FEE78[];
|
||||||
|
extern EntityData gUnk_080FED58[];
|
||||||
|
extern const EntityData gUnk_080FED18[];
|
||||||
|
extern const EntityData gUnk_080FEE38[];
|
||||||
|
extern const EntityData gUnk_080FEE18[];
|
||||||
|
extern const EntityData gUnk_080FEE48[];
|
||||||
|
extern const EntityData gUnk_080FEE58[];
|
||||||
|
extern const void* gUnk_080FED98[];
|
||||||
|
|
||||||
|
void sub_08018AB4(int);
|
||||||
|
void sub_08018BB4(int);
|
||||||
|
void sub_08018A58(int);
|
||||||
|
void sub_08018B50(int);
|
||||||
|
void sub_080189EC(int);
|
||||||
|
|
||||||
|
void sub_0801876C(int param_1, int param_2) {
|
||||||
|
Entity* roomEnt;
|
||||||
|
Entity* ent;
|
||||||
|
u32 uVar3;
|
||||||
|
u32 tmp;
|
||||||
|
u8* puVar4;
|
||||||
|
u32 uVar5;
|
||||||
|
struct_080FE320* ptr;
|
||||||
|
|
||||||
|
ptr = &gUnk_080FE320[param_1];
|
||||||
|
switch (ptr->evt_type) {
|
||||||
|
case 6:
|
||||||
|
if (param_2 == 0) {
|
||||||
|
sub_08018AB4((ptr->x >> 4 & 0x3f) | (ptr->y >> 4 & 0x3f) << 6);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (param_2 != 0) {
|
||||||
|
sub_08018BB4(param_1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (param_2 == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (CheckGlobalFlag(ptr->flag)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
LoadRoomEntity(gUnk_080FEC28 + ptr->entity_idx);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (param_2 == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (GetInventoryValue(ptr->flag)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
LoadRoomEntity(gUnk_080FEBE8 + ptr->entity_idx);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if (param_2 == 0) {
|
||||||
|
sub_08018A58(param_1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
if (param_2 != 0) {
|
||||||
|
sub_08018B50(param_1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 7:
|
||||||
|
if (param_2 != 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (ptr->entity_idx != 0x80) {
|
||||||
|
LoadRoomEntity(gUnk_080FECC8 + ptr->entity_idx);
|
||||||
|
} else {
|
||||||
|
sub_080189EC(param_1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x19:
|
||||||
|
roomEnt = LoadRoomEntity(&gUnk_080FED18[ptr->entity_idx]);
|
||||||
|
if (roomEnt != 0) {
|
||||||
|
roomEnt->type = param_2 ? 2 : 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
if (param_2 == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SetTileType(0x168, (ptr->x >> 4 & 0x3f) | (ptr->y >> 4 & 0x3f) << 6, 1);
|
||||||
|
break;
|
||||||
|
case 0xb:
|
||||||
|
if (param_2 != 0) {
|
||||||
|
LoadRoomEntity(&gUnk_080FED58[ptr->entity_idx]);
|
||||||
|
gRoomVars.field_0x8c[ptr->entity_idx] = (void*)gUnk_080FED98[ptr->entity_idx];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
if (param_2 == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ent = LoadRoomEntity(&gUnk_080FEE78[ptr->entity_idx]);
|
||||||
|
if (ent != 0) {
|
||||||
|
*(u16*)&ent->collisionLayer = ptr->x + gRoomControls.origin_x;
|
||||||
|
*(u16*)&ent->gustJarState = ptr->y + gRoomControls.origin_y;
|
||||||
|
}
|
||||||
|
if (ptr->entity_idx == 0) {
|
||||||
|
SetTileType(0x8d, (ptr->x >> 4 & 0x3f) | (ptr->y >> 4 & 0x3f) << 6, 1);
|
||||||
|
} else {
|
||||||
|
uVar5 = (ptr->x >> 4 & 0x3f) | (ptr->y >> 4 & 0x3f) << 6;
|
||||||
|
SetTileType(0x8c, uVar5 - 1, 1);
|
||||||
|
uVar3 = 0x8e;
|
||||||
|
SetTileType(uVar3, uVar5, 1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x18:
|
||||||
|
if (param_2 != 0) {
|
||||||
|
LoadRoomEntityList(gUnk_080FEE18);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xf:
|
||||||
|
if (param_2 != 0) {
|
||||||
|
LoadRoomEntity(gUnk_080FEE58);
|
||||||
|
} else {
|
||||||
|
LoadRoomEntity(gUnk_080FEE48);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x11:
|
||||||
|
if (param_2 != 0) {
|
||||||
|
SetLocalFlagByBank(FLAG_BANK_1, SOUGEN_05_BOMB_00);
|
||||||
|
LoadRoomEntityList(gUnk_080FEE38);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x1a:
|
||||||
|
case 0x1b:
|
||||||
|
case 0x1c:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void sub_080189EC(int param_1) {
|
void sub_080189EC(int param_1) {
|
||||||
u32 i;
|
u32 i;
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
#include "entity.h"
|
#include "entity.h"
|
||||||
#include "room.h"
|
#include "room.h"
|
||||||
|
|
||||||
extern Entity* LoadRoomEntity(EntityData*);
|
|
||||||
|
|
||||||
void sub_0805E0C0(Entity*);
|
void sub_0805E0C0(Entity*);
|
||||||
void sub_0805E0F4(Entity*);
|
void sub_0805E0F4(Entity*);
|
||||||
|
|
||||||
|
|
|
@ -81,8 +81,6 @@ void ManagerB_WaitForDone(ManagerB* this) {
|
||||||
ManagerBHelper* CreateHelper(Manager*);
|
ManagerBHelper* CreateHelper(Manager*);
|
||||||
void ManagerBHelper_Monitor(ManagerBHelper*, Entity*, u32);
|
void ManagerBHelper_Monitor(ManagerBHelper*, Entity*, u32);
|
||||||
|
|
||||||
extern Entity* LoadRoomEntity(EntityData*);
|
|
||||||
|
|
||||||
void ManagerB_LoadFight(Manager* this) {
|
void ManagerB_LoadFight(Manager* this) {
|
||||||
ManagerBHelper* monitor;
|
ManagerBHelper* monitor;
|
||||||
EntityData* prop;
|
EntityData* prop;
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include "object.h"
|
#include "object.h"
|
||||||
|
|
||||||
extern u32 sub_080B1AE0(u16, u8);
|
extern u32 sub_080B1AE0(u16, u8);
|
||||||
extern Entity* LoadRoomEntity(EntityData*);
|
|
||||||
|
|
||||||
extern void (*const RemovableDust_Functions[])(Entity*);
|
extern void (*const RemovableDust_Functions[])(Entity*);
|
||||||
extern const u16 gUnk_08129FD0[];
|
extern const u16 gUnk_08129FD0[];
|
||||||
|
|
14
src/room.c
14
src/room.c
|
@ -10,7 +10,7 @@
|
||||||
static void sub_0804B058(EntityData* dat);
|
static void sub_0804B058(EntityData* dat);
|
||||||
extern void sub_0801AC98(void);
|
extern void sub_0801AC98(void);
|
||||||
extern u32 sub_08049D1C(u32);
|
extern u32 sub_08049D1C(u32);
|
||||||
extern Entity* LoadRoomEntity(EntityData*);
|
extern Entity* LoadRoomEntity(const EntityData*);
|
||||||
extern void* GetRoomProperty(u32, u32, u32);
|
extern void* GetRoomProperty(u32, u32, u32);
|
||||||
|
|
||||||
extern void** gCurrentRoomProperties;
|
extern void** gCurrentRoomProperties;
|
||||||
|
@ -22,8 +22,8 @@ extern void sub_0804B16C(void);
|
||||||
extern void ClearSmallChests(void);
|
extern void ClearSmallChests(void);
|
||||||
extern Entity* GetEmptyEntityByKind(u32 kind);
|
extern Entity* GetEmptyEntityByKind(u32 kind);
|
||||||
|
|
||||||
void RegisterRoomEntity(Entity*, EntityData*);
|
void RegisterRoomEntity(Entity*, const EntityData*);
|
||||||
void sub_0804AF0C(Entity*, EntityData*);
|
void sub_0804AF0C(Entity*, const EntityData*);
|
||||||
void sub_0804AFB0(void** properties);
|
void sub_0804AFB0(void** properties);
|
||||||
|
|
||||||
void sub_08054524(void);
|
void sub_08054524(void);
|
||||||
|
@ -39,7 +39,7 @@ static void LoadDestructibleTile(TileEntity*);
|
||||||
static void LoadGrassDropTile(TileEntity*);
|
static void LoadGrassDropTile(TileEntity*);
|
||||||
static void LoadLocationTile(TileEntity*);
|
static void LoadLocationTile(TileEntity*);
|
||||||
|
|
||||||
void LoadRoomEntityList(EntityData* listPtr) {
|
void LoadRoomEntityList(const EntityData* listPtr) {
|
||||||
if (listPtr != NULL) {
|
if (listPtr != NULL) {
|
||||||
while (listPtr->kind != 0xFF) {
|
while (listPtr->kind != 0xFF) {
|
||||||
LoadRoomEntity(listPtr++);
|
LoadRoomEntity(listPtr++);
|
||||||
|
@ -47,7 +47,7 @@ void LoadRoomEntityList(EntityData* listPtr) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NONMATCH("asm/non_matching/LoadRoomEntity.inc", Entity* LoadRoomEntity(EntityData* dat)) {
|
NONMATCH("asm/non_matching/LoadRoomEntity.inc", Entity* LoadRoomEntity(const EntityData* dat)) {
|
||||||
int kind;
|
int kind;
|
||||||
Entity* v4;
|
Entity* v4;
|
||||||
Entity* v5;
|
Entity* v5;
|
||||||
|
@ -86,7 +86,7 @@ NONMATCH("asm/non_matching/LoadRoomEntity.inc", Entity* LoadRoomEntity(EntityDat
|
||||||
}
|
}
|
||||||
END_NONMATCH
|
END_NONMATCH
|
||||||
|
|
||||||
void RegisterRoomEntity(Entity* ent, EntityData* dat) {
|
void RegisterRoomEntity(Entity* ent, const EntityData* dat) {
|
||||||
u32 list;
|
u32 list;
|
||||||
u32 kind;
|
u32 kind;
|
||||||
void* offset;
|
void* offset;
|
||||||
|
@ -108,7 +108,7 @@ void RegisterRoomEntity(Entity* ent, EntityData* dat) {
|
||||||
MemCopy(dat, offset, sizeof(EntityData));
|
MemCopy(dat, offset, sizeof(EntityData));
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_0804AF0C(Entity* ent, EntityData* dat) {
|
void sub_0804AF0C(Entity* ent, const EntityData* dat) {
|
||||||
switch (dat->flags & 0xf0) {
|
switch (dat->flags & 0xf0) {
|
||||||
case 0x0:
|
case 0x0:
|
||||||
ent->x.HALF.HI = dat->xPos + gRoomControls.origin_x;
|
ent->x.HALF.HI = dat->xPos + gRoomControls.origin_x;
|
||||||
|
|
|
@ -69,7 +69,6 @@ extern const EntityData gUnk_080FF264[];
|
||||||
|
|
||||||
extern void (*const gUnk_080FF28C[])(void);
|
extern void (*const gUnk_080FF28C[])(void);
|
||||||
|
|
||||||
extern Entity* LoadRoomEntity(EntityData*);
|
|
||||||
extern void sub_08054A14(u32);
|
extern void sub_08054A14(u32);
|
||||||
|
|
||||||
extern const EntityData gUnk_080FEE48[];
|
extern const EntityData gUnk_080FEE48[];
|
||||||
|
|
Loading…
Reference in New Issue