mirror of https://github.com/zeldaret/tmc.git
loadRoom merge
This commit is contained in:
parent
fddb4abd53
commit
f70c95f037
|
@ -1,179 +0,0 @@
|
||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start RegisterRoomEntity
|
|
||||||
RegisterRoomEntity: @ 0x0804AEB0
|
|
||||||
push {r4, r5, r6, lr}
|
|
||||||
adds r5, r0, #0
|
|
||||||
adds r6, r1, #0
|
|
||||||
ldrb r0, [r6, #1]
|
|
||||||
movs r1, #0xf
|
|
||||||
adds r2, r1, #0
|
|
||||||
ands r2, r0
|
|
||||||
ldrb r0, [r6]
|
|
||||||
adds r4, r1, #0
|
|
||||||
ands r4, r0
|
|
||||||
ldr r0, [r5]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _0804AEF6
|
|
||||||
cmp r2, #0xf
|
|
||||||
bne _0804AEE0
|
|
||||||
ldr r0, _0804AEDC @ =gUnk_081091E4
|
|
||||||
adds r0, r4, r0
|
|
||||||
ldrb r1, [r0]
|
|
||||||
adds r0, r5, #0
|
|
||||||
bl AppendEntityToList
|
|
||||||
b _0804AEF6
|
|
||||||
.align 2, 0
|
|
||||||
_0804AEDC: .4byte gUnk_081091E4
|
|
||||||
_0804AEE0:
|
|
||||||
cmp r2, #8
|
|
||||||
bne _0804AEEE
|
|
||||||
adds r0, r5, #0
|
|
||||||
movs r1, #8
|
|
||||||
bl AppendEntityToList
|
|
||||||
b _0804AEF6
|
|
||||||
_0804AEEE:
|
|
||||||
adds r0, r5, #0
|
|
||||||
adds r1, r2, #0
|
|
||||||
bl AppendEntityToList
|
|
||||||
_0804AEF6:
|
|
||||||
adds r1, r5, #0
|
|
||||||
adds r1, #0x78
|
|
||||||
cmp r4, #9
|
|
||||||
bne _0804AF00
|
|
||||||
subs r1, #0x48
|
|
||||||
_0804AF00:
|
|
||||||
adds r0, r6, #0
|
|
||||||
movs r2, #0x10
|
|
||||||
bl MemCopy
|
|
||||||
pop {r4, r5, r6, pc}
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start sub_0804AF0C
|
|
||||||
sub_0804AF0C: @ 0x0804AF0C
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
adds r2, r1, #0
|
|
||||||
ldrb r0, [r2, #1]
|
|
||||||
movs r1, #0xf0
|
|
||||||
ands r1, r0
|
|
||||||
cmp r1, #0x20
|
|
||||||
beq _0804AF40
|
|
||||||
cmp r1, #0x20
|
|
||||||
bgt _0804AF26
|
|
||||||
cmp r1, #0
|
|
||||||
beq _0804AF2C
|
|
||||||
b _0804AF88
|
|
||||||
_0804AF26:
|
|
||||||
cmp r1, #0x40
|
|
||||||
beq _0804AF64
|
|
||||||
b _0804AF88
|
|
||||||
_0804AF2C:
|
|
||||||
ldr r0, _0804AF3C @ =gRoomControls
|
|
||||||
ldrh r1, [r0, #6]
|
|
||||||
ldrh r3, [r2, #8]
|
|
||||||
adds r1, r1, r3
|
|
||||||
strh r1, [r4, #0x2e]
|
|
||||||
ldrh r0, [r0, #8]
|
|
||||||
b _0804AF58
|
|
||||||
.align 2, 0
|
|
||||||
_0804AF3C: .4byte gRoomControls
|
|
||||||
_0804AF40:
|
|
||||||
adds r3, r4, #0
|
|
||||||
adds r3, #0x6d
|
|
||||||
ldrb r1, [r3]
|
|
||||||
movs r0, #0x20
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r3]
|
|
||||||
ldr r1, _0804AF60 @ =gRoomControls
|
|
||||||
ldrh r0, [r1, #6]
|
|
||||||
ldrh r3, [r2, #8]
|
|
||||||
adds r0, r0, r3
|
|
||||||
strh r0, [r4, #0x2e]
|
|
||||||
ldrh r0, [r1, #8]
|
|
||||||
_0804AF58:
|
|
||||||
ldrh r2, [r2, #0xa]
|
|
||||||
adds r0, r0, r2
|
|
||||||
strh r0, [r4, #0x32]
|
|
||||||
b _0804AF88
|
|
||||||
.align 2, 0
|
|
||||||
_0804AF60: .4byte gRoomControls
|
|
||||||
_0804AF64:
|
|
||||||
ldr r1, _0804AF8C @ =gRoomControls
|
|
||||||
ldrh r0, [r1, #6]
|
|
||||||
ldrh r3, [r2, #8]
|
|
||||||
adds r0, r0, r3
|
|
||||||
strh r0, [r4, #0x2e]
|
|
||||||
ldrh r0, [r1, #8]
|
|
||||||
ldrh r1, [r2, #0xa]
|
|
||||||
adds r0, r0, r1
|
|
||||||
strh r0, [r4, #0x32]
|
|
||||||
ldr r1, [r2, #0xc]
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl StartCutscene
|
|
||||||
cmp r0, #0
|
|
||||||
bne _0804AF88
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl DeleteEntity
|
|
||||||
_0804AF88:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_0804AF8C: .4byte gRoomControls
|
|
||||||
|
|
||||||
thumb_func_start sub_0804AF90
|
|
||||||
sub_0804AF90: @ 0x0804AF90
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0804AFA8 @ =gArea
|
|
||||||
ldr r1, _0804AFAC @ =0x0000085C
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r0, [r0, #0x1c]
|
|
||||||
bl sub_0804AFB0
|
|
||||||
bl sub_080A7C7C
|
|
||||||
pop {pc}
|
|
||||||
.align 2, 0
|
|
||||||
_0804AFA8: .4byte gArea
|
|
||||||
_0804AFAC: .4byte 0x0000085C
|
|
||||||
|
|
||||||
thumb_func_start sub_0804AFB0
|
|
||||||
sub_0804AFB0: @ 0x0804AFB0
|
|
||||||
push {r4, lr}
|
|
||||||
ldr r1, _0804AFD4 @ =gUnk_02017654
|
|
||||||
str r0, [r1]
|
|
||||||
movs r2, #0
|
|
||||||
ldr r0, _0804AFD8 @ =gRoomVars
|
|
||||||
adds r3, r1, #0
|
|
||||||
adds r4, r0, #0
|
|
||||||
adds r4, #0x6c
|
|
||||||
_0804AFC0:
|
|
||||||
lsls r0, r2, #2
|
|
||||||
ldr r1, [r3]
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
stm r4!, {r0}
|
|
||||||
adds r2, #1
|
|
||||||
cmp r2, #7
|
|
||||||
bls _0804AFC0
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_0804AFD4: .4byte gUnk_02017654
|
|
||||||
_0804AFD8: .4byte gRoomVars
|
|
||||||
|
|
||||||
thumb_func_start sub_0804AFDC
|
|
||||||
sub_0804AFDC: @ 0x0804AFDC
|
|
||||||
push {r4, lr}
|
|
||||||
movs r4, #1
|
|
||||||
movs r0, #6
|
|
||||||
bl GetCurrentRoomProperty
|
|
||||||
cmp r0, #0
|
|
||||||
beq _0804AFF0
|
|
||||||
bl _call_via_r0
|
|
||||||
adds r4, r0, #0
|
|
||||||
_0804AFF0:
|
|
||||||
adds r0, r4, #0
|
|
||||||
pop {r4, pc}
|
|
|
@ -6,14 +6,14 @@
|
||||||
GetCurrentRoomProperty: @ 0x0804B128
|
GetCurrentRoomProperty: @ 0x0804B128
|
||||||
push {lr}
|
push {lr}
|
||||||
adds r2, r0, #0
|
adds r2, r0, #0
|
||||||
ldr r0, _0804B138 @ =gUnk_02017654
|
ldr r0, _0804B138 @ =gCurrentRoomProperties
|
||||||
ldr r1, [r0]
|
ldr r1, [r0]
|
||||||
cmp r1, #0
|
cmp r1, #0
|
||||||
bne _0804B13C
|
bne _0804B13C
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
b _0804B166
|
b _0804B166
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0804B138: .4byte gUnk_02017654
|
_0804B138: .4byte gCurrentRoomProperties
|
||||||
_0804B13C:
|
_0804B13C:
|
||||||
cmp r2, #0x7f
|
cmp r2, #0x7f
|
||||||
bls _0804B150
|
bls _0804B150
|
||||||
|
|
|
@ -4890,7 +4890,7 @@ sub_080A7250: @ 0x080A7250
|
||||||
adds r0, #0x8b
|
adds r0, #0x8b
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
strb r0, [r1, #0xc]
|
strb r0, [r1, #0xc]
|
||||||
ldr r0, _080A731C @ =gUnk_02017654
|
ldr r0, _080A731C @ =gCurrentRoomProperties
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
str r0, [r1, #0x10]
|
str r0, [r1, #0x10]
|
||||||
ldr r0, _080A7320 @ =gUnk_02025EB0
|
ldr r0, _080A7320 @ =gUnk_02025EB0
|
||||||
|
@ -4917,7 +4917,7 @@ _080A730C: .4byte gUnk_03000420
|
||||||
_080A7310: .4byte gActiveScriptInfo
|
_080A7310: .4byte gActiveScriptInfo
|
||||||
_080A7314: .4byte gScreenTransition
|
_080A7314: .4byte gScreenTransition
|
||||||
_080A7318: .4byte gPlayerState
|
_080A7318: .4byte gPlayerState
|
||||||
_080A731C: .4byte gUnk_02017654
|
_080A731C: .4byte gCurrentRoomProperties
|
||||||
_080A7320: .4byte gUnk_02025EB0
|
_080A7320: .4byte gUnk_02025EB0
|
||||||
_080A7324: .4byte gUnk_0200B650
|
_080A7324: .4byte gUnk_0200B650
|
||||||
|
|
||||||
|
@ -4983,7 +4983,7 @@ sub_080A73A8: @ 0x080A73A8
|
||||||
_080A73B4:
|
_080A73B4:
|
||||||
bl DeleteAllEntities
|
bl DeleteAllEntities
|
||||||
bl sub_0805E974
|
bl sub_0805E974
|
||||||
ldr r1, _080A746C @ =gUnk_02017654
|
ldr r1, _080A746C @ =gCurrentRoomProperties
|
||||||
ldr r5, _080A7470 @ =gUnk_02032EC0
|
ldr r5, _080A7470 @ =gUnk_02032EC0
|
||||||
ldr r0, [r5, #0x10]
|
ldr r0, [r5, #0x10]
|
||||||
str r0, [r1]
|
str r0, [r1]
|
||||||
|
@ -5058,7 +5058,7 @@ _080A73B4:
|
||||||
b _080A74AE
|
b _080A74AE
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A7468: .4byte gFadeControl
|
_080A7468: .4byte gFadeControl
|
||||||
_080A746C: .4byte gUnk_02017654
|
_080A746C: .4byte gCurrentRoomProperties
|
||||||
_080A7470: .4byte gUnk_02032EC0
|
_080A7470: .4byte gUnk_02032EC0
|
||||||
_080A7474: .4byte gPlayerState
|
_080A7474: .4byte gPlayerState
|
||||||
_080A7478: .4byte gUnk_02025EB0
|
_080A7478: .4byte gUnk_02025EB0
|
||||||
|
|
|
@ -1,12 +1,4 @@
|
||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
.syntax unified
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start LoadRoomEntity
|
|
||||||
LoadRoomEntity: @ 0x0804ADF8
|
|
||||||
push {r4, r5, r6, r7, lr}
|
push {r4, r5, r6, r7, lr}
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
ldrb r0, [r4]
|
ldrb r0, [r4]
|
||||||
|
@ -99,3 +91,4 @@ _0804AEAA:
|
||||||
_0804AEAC:
|
_0804AEAC:
|
||||||
pop {r4, r5, r6, r7, pc}
|
pop {r4, r5, r6, r7, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
|
.syntax divided
|
||||||
|
|
|
@ -30,14 +30,14 @@ _0804DE32:
|
||||||
ldrb r0, [r4, #8]
|
ldrb r0, [r4, #8]
|
||||||
cmp r0, #1
|
cmp r0, #1
|
||||||
beq _0804DE5C
|
beq _0804DE5C
|
||||||
ldr r1, _0804DE58 @ =gUnk_02017654
|
ldr r1, _0804DE58 @ =gCurrentRoomProperties
|
||||||
ldr r0, [r5]
|
ldr r0, [r5]
|
||||||
str r0, [r1]
|
str r0, [r1]
|
||||||
b _0804DECC
|
b _0804DECC
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0804DE50: .4byte Area_HyruleTown
|
_0804DE50: .4byte Area_HyruleTown
|
||||||
_0804DE54: .4byte gSave
|
_0804DE54: .4byte gSave
|
||||||
_0804DE58: .4byte gUnk_02017654
|
_0804DE58: .4byte gCurrentRoomProperties
|
||||||
_0804DE5C:
|
_0804DE5C:
|
||||||
movs r0, #0x1c
|
movs r0, #0x1c
|
||||||
bl SetGlobalFlag
|
bl SetGlobalFlag
|
||||||
|
|
|
@ -23,7 +23,8 @@ typedef struct {
|
||||||
u8 unk1A;
|
u8 unk1A;
|
||||||
u8 filler2[13];
|
u8 filler2[13];
|
||||||
u8 field_0x28;
|
u8 field_0x28;
|
||||||
u8 filler4[0x834];
|
u8 filler4[0x833];
|
||||||
|
void*** field_0x85c;
|
||||||
u32 musicIndex;
|
u32 musicIndex;
|
||||||
u32 pMusicIndex;
|
u32 pMusicIndex;
|
||||||
u8 filler5[0x20];
|
u8 filler5[0x20];
|
||||||
|
@ -31,6 +32,7 @@ typedef struct {
|
||||||
u32 unk3;
|
u32 unk3;
|
||||||
u32 unk4;
|
u32 unk4;
|
||||||
} Area;
|
} Area;
|
||||||
|
static_assert(sizeof(Area) == 0x894);
|
||||||
|
|
||||||
extern Area gArea;
|
extern Area gArea;
|
||||||
|
|
||||||
|
|
|
@ -60,20 +60,13 @@ typedef struct {
|
||||||
u8 filler4[48];
|
u8 filler4[48];
|
||||||
u8 filler5[28];
|
u8 filler5[28];
|
||||||
u32 greatFairyState;
|
u32 greatFairyState;
|
||||||
u32* field_0x6c;
|
void* field_0x6c[8];
|
||||||
u32* field_0x70;
|
|
||||||
u32* field_0x74;
|
|
||||||
u32 field_0x78;
|
|
||||||
u8 field_0x79[10];
|
|
||||||
void* field_0x88;
|
|
||||||
} RoomVars;
|
} RoomVars;
|
||||||
|
|
||||||
// Packets used to store which entities to load in a room
|
// Packets used to store which entities to load in a room
|
||||||
typedef struct {
|
typedef struct {
|
||||||
u8 kind : 4;
|
u8 kind;
|
||||||
u8 layer : 4;
|
u8 flags;
|
||||||
u8 flags : 4;
|
|
||||||
u8 unk : 4;
|
|
||||||
u8 id;
|
u8 id;
|
||||||
u8 type;
|
u8 type;
|
||||||
u32 type2;
|
u32 type2;
|
||||||
|
|
|
@ -64,7 +64,7 @@ SECTIONS {
|
||||||
. = 0x00011654; gUnk_02011654 = .;
|
. = 0x00011654; gUnk_02011654 = .;
|
||||||
. = 0x00012654; gMetatilesTop = .;
|
. = 0x00012654; gMetatilesTop = .;
|
||||||
. = 0x00016654; gUnk_02016654 = .;
|
. = 0x00016654; gUnk_02016654 = .;
|
||||||
. = 0x00017654; gUnk_02017654 = .;
|
. = 0x00017654; gCurrentRoomProperties = .;
|
||||||
. = 0x00017660; gUnk_02017660 = .;
|
. = 0x00017660; gUnk_02017660 = .;
|
||||||
. = 0x000176A0; gPaletteBuffer = .;
|
. = 0x000176A0; gPaletteBuffer = .;
|
||||||
. = 0x000176E0; gUnk_020176E0 = .;
|
. = 0x000176E0; gUnk_020176E0 = .;
|
||||||
|
@ -477,9 +477,6 @@ SECTIONS {
|
||||||
src/createEnemy.o(.text);
|
src/createEnemy.o(.text);
|
||||||
src/code_0804AA84.o(.text);
|
src/code_0804AA84.o(.text);
|
||||||
asm/code_0804AA84.o(.text);
|
asm/code_0804AA84.o(.text);
|
||||||
src/loadRoomEntityList.o(.text);
|
|
||||||
asm/loadRoomEntity.o(.text);
|
|
||||||
asm/code_0804AEB0.o(.text);
|
|
||||||
src/loadRoom.o(.text);
|
src/loadRoom.o(.text);
|
||||||
asm/code_0804B058.o(.text);
|
asm/code_0804B058.o(.text);
|
||||||
src/room.o(.text);
|
src/room.o(.text);
|
||||||
|
|
163
src/loadRoom.c
163
src/loadRoom.c
|
@ -1,7 +1,9 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
#include "area.h"
|
||||||
#include "room.h"
|
#include "room.h"
|
||||||
#include "flags.h"
|
#include "flags.h"
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
|
#include "utils.h"
|
||||||
|
|
||||||
extern void sub_0804B058(EntityData* dat);
|
extern void sub_0804B058(EntityData* dat);
|
||||||
extern void sub_0801AC98();
|
extern void sub_0801AC98();
|
||||||
|
@ -9,11 +11,132 @@ extern u32 sub_08049D1C(u32);
|
||||||
extern Entity* LoadRoomEntity(EntityData*);
|
extern Entity* LoadRoomEntity(EntityData*);
|
||||||
extern void* GetRoomProperty(u32, u32, u32);
|
extern void* GetRoomProperty(u32, u32, u32);
|
||||||
|
|
||||||
extern u32 gUnk_02017654;
|
extern void** gCurrentRoomProperties;
|
||||||
extern u32* gAreaTable;
|
extern void*** gAreaTable[];
|
||||||
|
extern u8 gUnk_081091E4[];
|
||||||
|
|
||||||
extern void sub_080186EC();
|
extern void sub_080186EC();
|
||||||
extern void sub_0804B16C();
|
extern void sub_0804B16C();
|
||||||
|
extern void sub_080A7C7C(void);
|
||||||
|
extern Entity* GetEmptyEntityByKind(u32 kind);
|
||||||
|
|
||||||
|
void RegisterRoomEntity(Entity*, EntityData*);
|
||||||
|
void sub_0804AF0C(Entity*, EntityData*);
|
||||||
|
void sub_0804AFB0(void** properties);
|
||||||
|
|
||||||
|
void LoadRoomEntityList(EntityData* listPtr) {
|
||||||
|
if (listPtr != NULL) {
|
||||||
|
while (listPtr->kind != 0xFF) {
|
||||||
|
LoadRoomEntity(listPtr++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NONMATCH("asm/loadRoomEntity.s", Entity* LoadRoomEntity(EntityData* dat)) {
|
||||||
|
int kind;
|
||||||
|
Entity* v4;
|
||||||
|
Entity* v5;
|
||||||
|
|
||||||
|
kind = dat->kind & 0xF;
|
||||||
|
if ((dat->flags & 0xF0) == 0x50 && DeepFindEntityByID(kind, dat->id))
|
||||||
|
return NULL;
|
||||||
|
v4 = GetEmptyEntityByKind(kind);
|
||||||
|
v5 = v4;
|
||||||
|
if (v4 != NULL) {
|
||||||
|
v4->kind = kind;
|
||||||
|
v4->id = dat->id;
|
||||||
|
v4->type = dat->type;
|
||||||
|
RegisterRoomEntity(v4, dat);
|
||||||
|
if ((dat->flags & 0xF0) != 16) {
|
||||||
|
v5->type2 = dat->type2;
|
||||||
|
v5->actionDelay = (dat->type2 & 0xFF00) >> 8;
|
||||||
|
if (kind == 9)
|
||||||
|
return v5;
|
||||||
|
sub_0804AF0C(v5, dat);
|
||||||
|
if (!v5->next)
|
||||||
|
return v5;
|
||||||
|
if ((dat->kind & 0x10) == 0) {
|
||||||
|
if ((dat->kind & 0x20) != 0) {
|
||||||
|
v5->collisionLayer = 2;
|
||||||
|
return v5;
|
||||||
|
}
|
||||||
|
if ((gRoomControls.unk6 & 2) == 0) {
|
||||||
|
sub_08016A30(v5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
v5->collisionLayer = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return v5;
|
||||||
|
}
|
||||||
|
END_NONMATCH
|
||||||
|
|
||||||
|
void RegisterRoomEntity(Entity* ent, EntityData* dat) {
|
||||||
|
u32 list;
|
||||||
|
u32 kind;
|
||||||
|
void* offset;
|
||||||
|
|
||||||
|
list = dat->flags & 0xF;
|
||||||
|
kind = dat->kind & 0xF;
|
||||||
|
if (ent->prev == NULL) {
|
||||||
|
if (list == 0xF) {
|
||||||
|
AppendEntityToList(ent, gUnk_081091E4[kind]);
|
||||||
|
} else if (list == 8) {
|
||||||
|
AppendEntityToList(ent, 8);
|
||||||
|
} else {
|
||||||
|
AppendEntityToList(ent, list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
offset = &ent->field_0x78;
|
||||||
|
if (kind == MANAGER)
|
||||||
|
offset = &ent->y;
|
||||||
|
MemCopy(dat, offset, sizeof(EntityData));
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_0804AF0C(Entity* ent, EntityData* dat) {
|
||||||
|
switch (dat->flags & 0xf0) {
|
||||||
|
case 0x0:
|
||||||
|
ent->x.HALF.HI = dat->xPos + gRoomControls.roomOriginX;
|
||||||
|
ent->y.HALF.HI = dat->yPos + gRoomControls.roomOriginY;
|
||||||
|
break;
|
||||||
|
case 0x20:
|
||||||
|
ent->field_0x6c.HALF.HI |= 0x20;
|
||||||
|
ent->x.HALF.HI = dat->xPos + gRoomControls.roomOriginX;
|
||||||
|
ent->y.HALF.HI = dat->yPos + gRoomControls.roomOriginY;
|
||||||
|
break;
|
||||||
|
case 0x40:
|
||||||
|
ent->x.HALF.HI = dat->xPos + gRoomControls.roomOriginX;
|
||||||
|
ent->y.HALF.HI = dat->yPos + gRoomControls.roomOriginY;
|
||||||
|
if (!StartCutscene(ent, (u16*)dat->spritePtr))
|
||||||
|
DeleteEntity(ent);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_0804AF90(void) {
|
||||||
|
sub_0804AFB0(gArea.field_0x85c[7]);
|
||||||
|
sub_080A7C7C();
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_0804AFB0(void** properties) {
|
||||||
|
u32 i;
|
||||||
|
|
||||||
|
gCurrentRoomProperties = properties;
|
||||||
|
for (i = 0; i < 8; ++i) {
|
||||||
|
gRoomVars.field_0x6c[i] = gCurrentRoomProperties[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sub_0804AFDC() {
|
||||||
|
u32 result;
|
||||||
|
u32 (*func)();
|
||||||
|
|
||||||
|
result = 1;
|
||||||
|
func = (u32(*)())GetCurrentRoomProperty(6);
|
||||||
|
if (func != NULL)
|
||||||
|
result = func();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
void sub_0804AFF4(void) {
|
void sub_0804AFF4(void) {
|
||||||
void (*func)();
|
void (*func)();
|
||||||
|
@ -31,9 +154,6 @@ void sub_0804AFF4(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadRoom(void) {
|
void LoadRoom(void) {
|
||||||
s32 iVar1;
|
|
||||||
s32* dat;
|
|
||||||
|
|
||||||
LoadRoomEntityList(GetCurrentRoomProperty(1));
|
LoadRoomEntityList(GetCurrentRoomProperty(1));
|
||||||
LoadRoomEntityList(GetCurrentRoomProperty(0));
|
LoadRoomEntityList(GetCurrentRoomProperty(0));
|
||||||
|
|
||||||
|
@ -48,10 +168,10 @@ void sub_0804B058(EntityData* dat) {
|
||||||
Entity* ent;
|
Entity* ent;
|
||||||
u32 uVar2;
|
u32 uVar2;
|
||||||
|
|
||||||
if ((dat != NULL) && *(u8*)dat != 0xff) {
|
if ((dat != NULL) && dat->kind != 0xff) {
|
||||||
uVar2 = 0;
|
uVar2 = 0;
|
||||||
do {
|
do {
|
||||||
if ((uVar2 < 0x20) && ((dat->kind) == 3)) {
|
if ((uVar2 < 0x20) && ((dat->kind & 0xF) == 3)) {
|
||||||
if (sub_08049D1C(uVar2) != 0) {
|
if (sub_08049D1C(uVar2) != 0) {
|
||||||
ent = LoadRoomEntity(dat);
|
ent = LoadRoomEntity(dat);
|
||||||
if ((ent != NULL) && (ent->kind == 3)) {
|
if ((ent != NULL) && (ent->kind == 3)) {
|
||||||
|
@ -63,7 +183,7 @@ void sub_0804B058(EntityData* dat) {
|
||||||
}
|
}
|
||||||
uVar2++;
|
uVar2++;
|
||||||
dat++;
|
dat++;
|
||||||
} while (*(u8*)dat != 0xff);
|
} while (dat->kind != 0xff);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,11 +192,9 @@ void sub_0804B0B0(u32 arg0, u32 arg1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetCurrentRoomPropertyList(u32 area, u32 room) {
|
void SetCurrentRoomPropertyList(u32 area, u32 room) {
|
||||||
u32** arr;
|
gCurrentRoomProperties = NULL;
|
||||||
gUnk_02017654 = 0;
|
if (gAreaTable[area] != NULL) {
|
||||||
arr = &gAreaTable;
|
gCurrentRoomProperties = gAreaTable[area][room];
|
||||||
if (arr[area] != 0) {
|
|
||||||
gUnk_02017654 = arr[area][room];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,17 +209,14 @@ void sub_0804B0E8(u32 arg0, u32 arg1) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns multiple types of data?
|
void* GetRoomProperty(u32 area, u32 room, u32 property) {
|
||||||
void* GetRoomProperty(u32 area, u32 room, u32 arg2) {
|
void** temp;
|
||||||
u32 temp;
|
temp = NULL;
|
||||||
u32** arr;
|
if (gAreaTable[area] != NULL) {
|
||||||
temp = 0;
|
temp = gAreaTable[area][room];
|
||||||
arr = &gAreaTable;
|
if (temp != NULL) {
|
||||||
if (arr[area] != NULL) {
|
temp = temp[property];
|
||||||
temp = arr[area][room];
|
|
||||||
if (temp != 0) {
|
|
||||||
temp = *(u32*)(arg2 * 4 + temp);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return (void*)temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
#include "global.h"
|
|
||||||
#include "room.h"
|
|
||||||
|
|
||||||
void extern LoadRoomEntity(EntityData*);
|
|
||||||
|
|
||||||
void LoadRoomEntityList(EntityData* listPtr) {
|
|
||||||
if (listPtr != NULL) {
|
|
||||||
while (*(u8*)listPtr != 0xFF) {
|
|
||||||
LoadRoomEntity(listPtr++);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -85,10 +85,10 @@ u32 Manager28_FindMatchingEntities(Manager28* this) {
|
||||||
EntityData* tmp = GetCurrentRoomProperty(this->manager.unk_0b);
|
EntityData* tmp = GetCurrentRoomProperty(this->manager.unk_0b);
|
||||||
if (!tmp)
|
if (!tmp)
|
||||||
return 0;
|
return 0;
|
||||||
for (; *((u8*)tmp) != 0xFF && !(tmp->kind == 9 && tmp->id == 0x28); tmp++) {
|
for (; *((u8*)tmp) != 0xFF && !((tmp->kind & 0xf) == 9 && tmp->id == 0x28); tmp++) {
|
||||||
Entity* tmp2;
|
Entity* tmp2;
|
||||||
u32 i;
|
u32 i;
|
||||||
if (tmp->kind != 3)
|
if ((tmp->kind & 0xf) != 3)
|
||||||
continue;
|
continue;
|
||||||
tmp2 = Manager28_FindMatchingEntity(tmp);
|
tmp2 = Manager28_FindMatchingEntity(tmp);
|
||||||
if (!tmp2)
|
if (!tmp2)
|
||||||
|
|
90
src/room.c
90
src/room.c
|
@ -374,7 +374,7 @@ void sub_0804B78C(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extern u32 gUnk_080D6A74[];
|
extern u32* gUnk_080D6A74[];
|
||||||
|
|
||||||
u32 sub_0804B7A8(void) {
|
u32 sub_0804B7A8(void) {
|
||||||
u32 index;
|
u32 index;
|
||||||
|
@ -386,7 +386,7 @@ u32 sub_0804B7A8(void) {
|
||||||
index = 0;
|
index = 0;
|
||||||
SetLocalFlag(1);
|
SetLocalFlag(1);
|
||||||
}
|
}
|
||||||
gRoomVars.field_0x78 = gUnk_080D6A74[index];
|
gRoomVars.field_0x6c[3] = gUnk_080D6A74[index];
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -402,7 +402,7 @@ void sub_0804B7E8(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extern u32 gUnk_080D6B18[];
|
extern u32* gUnk_080D6B18[];
|
||||||
|
|
||||||
u32 sub_0804B82C(void) {
|
u32 sub_0804B82C(void) {
|
||||||
u32 index;
|
u32 index;
|
||||||
|
@ -414,7 +414,7 @@ u32 sub_0804B82C(void) {
|
||||||
index = 0;
|
index = 0;
|
||||||
SetLocalFlag(2);
|
SetLocalFlag(2);
|
||||||
}
|
}
|
||||||
gRoomVars.field_0x78 = gUnk_080D6B18[index];
|
gRoomVars.field_0x6c[3] = gUnk_080D6B18[index];
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -428,7 +428,7 @@ void sub_0804B86C(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extern u32 gUnk_080D6BB8[];
|
extern u32* gUnk_080D6BB8[];
|
||||||
|
|
||||||
u32 sub_0804B8B0(void) {
|
u32 sub_0804B8B0(void) {
|
||||||
s32 index;
|
s32 index;
|
||||||
|
@ -440,7 +440,7 @@ u32 sub_0804B8B0(void) {
|
||||||
index = 0;
|
index = 0;
|
||||||
SetLocalFlag(3);
|
SetLocalFlag(3);
|
||||||
}
|
}
|
||||||
gRoomVars.field_0x78 = gUnk_080D6BB8[index];
|
gRoomVars.field_0x6c[3] = gUnk_080D6BB8[index];
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -555,8 +555,8 @@ extern u32 gUnk_080D7348;
|
||||||
|
|
||||||
u32 sub_0804BA9C(void) {
|
u32 sub_0804BA9C(void) {
|
||||||
if (CheckGlobalFlag(ENDING)) {
|
if (CheckGlobalFlag(ENDING)) {
|
||||||
gRoomVars.field_0x6c = &gUnk_080D7348;
|
gRoomVars.field_0x6c[0] = &gUnk_080D7348;
|
||||||
gRoomVars.field_0x74 = 0;
|
gRoomVars.field_0x6c[2] = 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -587,8 +587,8 @@ extern u32 gUnk_080D7410;
|
||||||
|
|
||||||
u32 sub_0804BB18(void) {
|
u32 sub_0804BB18(void) {
|
||||||
if (CheckGlobalFlag(ENDING)) {
|
if (CheckGlobalFlag(ENDING)) {
|
||||||
gRoomVars.field_0x6c = &gUnk_080D7410;
|
gRoomVars.field_0x6c[0] = &gUnk_080D7410;
|
||||||
gRoomVars.field_0x74 = 0;
|
gRoomVars.field_0x6c[2] = 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -1221,7 +1221,7 @@ extern u32 gUnk_080DA230;
|
||||||
|
|
||||||
u32 sub_0804C3CC(void) {
|
u32 sub_0804C3CC(void) {
|
||||||
if (!CheckLocalFlag(0x39))
|
if (!CheckLocalFlag(0x39))
|
||||||
gRoomVars.field_0x6c = &gUnk_080DA230;
|
gRoomVars.field_0x6c[0] = &gUnk_080DA230;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -1594,7 +1594,7 @@ extern u32 gUnk_080DB910;
|
||||||
|
|
||||||
u32 sub_0804C730(void) {
|
u32 sub_0804C730(void) {
|
||||||
if (CheckGlobalFlag(MIZUKAKI_START) && !CheckLocalFlag(0x73)) {
|
if (CheckGlobalFlag(MIZUKAKI_START) && !CheckLocalFlag(0x73)) {
|
||||||
gRoomVars.field_0x70 = &gUnk_080DB910;
|
gRoomVars.field_0x6c[1] = &gUnk_080DB910;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -2454,7 +2454,7 @@ extern u32 gUnk_080E103C;
|
||||||
|
|
||||||
u32 sub_0804CE80(void) {
|
u32 sub_0804CE80(void) {
|
||||||
if (CheckGlobalFlag(LV2_CLEAR)) {
|
if (CheckGlobalFlag(LV2_CLEAR)) {
|
||||||
gRoomVars.field_0x70 = &gUnk_080E103C;
|
gRoomVars.field_0x6c[1] = &gUnk_080E103C;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -2516,7 +2516,7 @@ void sub_0804CED8(void) {
|
||||||
|
|
||||||
if (CheckGlobalFlag(LV2_CLEAR)) {
|
if (CheckGlobalFlag(LV2_CLEAR)) {
|
||||||
gUnk_0200B650 = 0;
|
gUnk_0200B650 = 0;
|
||||||
gScreen.lcd.displayControl &= 0xfdff;
|
gScreen.lcd.displayControl &= ~DISPCNT_BG1_ON;
|
||||||
sub_0807AABC(&gPlayerEntity);
|
sub_0807AABC(&gPlayerEntity);
|
||||||
LoadRoomEntityList(&gUnk_080E1814);
|
LoadRoomEntityList(&gUnk_080E1814);
|
||||||
} else {
|
} else {
|
||||||
|
@ -3769,16 +3769,16 @@ extern u32 gUnk_080EB5D4;
|
||||||
u32 sub_0804D904(void) {
|
u32 sub_0804D904(void) {
|
||||||
|
|
||||||
if (CheckGlobalFlag(ENDING)) {
|
if (CheckGlobalFlag(ENDING)) {
|
||||||
gRoomVars.field_0x6c = &gUnk_080EB604;
|
gRoomVars.field_0x6c[0] = &gUnk_080EB604;
|
||||||
gRoomVars.field_0x74 = 0;
|
gRoomVars.field_0x6c[2] = 0;
|
||||||
gArea.musicIndex = gArea.pMusicIndex = 0x11;
|
gArea.musicIndex = gArea.pMusicIndex = 0x11;
|
||||||
} else if (CheckLocalFlag(0x79)) {
|
} else if (CheckLocalFlag(0x79)) {
|
||||||
gRoomVars.field_0x6c = NULL;
|
gRoomVars.field_0x6c[0] = NULL;
|
||||||
if (!CheckLocalFlag(0x7a)) {
|
if (!CheckLocalFlag(0x7a)) {
|
||||||
SetGlobalFlag(ZELDA_CHASE);
|
SetGlobalFlag(ZELDA_CHASE);
|
||||||
gRoomVars.field_0x6c = &gUnk_080EB5D4;
|
gRoomVars.field_0x6c[0] = &gUnk_080EB5D4;
|
||||||
gRoomVars.field_0x88 = sub_0804D9B0;
|
gRoomVars.field_0x6c[7] = sub_0804D9B0;
|
||||||
gRoomVars.field_0x74 = 0;
|
gRoomVars.field_0x6c[2] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -3841,8 +3841,8 @@ void nullsub_331() {
|
||||||
|
|
||||||
u32 sub_0804DA2C(void) {
|
u32 sub_0804DA2C(void) {
|
||||||
if (!CheckLocalFlag(0x77)) {
|
if (!CheckLocalFlag(0x77)) {
|
||||||
gRoomVars.field_0x6c = 0;
|
gRoomVars.field_0x6c[0] = 0;
|
||||||
gRoomVars.field_0x74 = 0;
|
gRoomVars.field_0x6c[2] = 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -4034,7 +4034,7 @@ void nullsub_348() {
|
||||||
|
|
||||||
u32 sub_0804DBC0(void) {
|
u32 sub_0804DBC0(void) {
|
||||||
if (CheckLocalFlag(0x79)) {
|
if (CheckLocalFlag(0x79)) {
|
||||||
gRoomVars.field_0x74 = 0;
|
gRoomVars.field_0x6c[2] = 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -4067,8 +4067,8 @@ extern u32 gUnk_080ED1E4;
|
||||||
|
|
||||||
u32 sub_0804DC28(void) {
|
u32 sub_0804DC28(void) {
|
||||||
if (CheckGlobalFlag(ENDING)) {
|
if (CheckGlobalFlag(ENDING)) {
|
||||||
gRoomVars.field_0x6c = &gUnk_080ED1E4;
|
gRoomVars.field_0x6c[0] = &gUnk_080ED1E4;
|
||||||
gRoomVars.field_0x74 = 0;
|
gRoomVars.field_0x6c[2] = 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -4228,8 +4228,8 @@ void nullsub_371() {
|
||||||
|
|
||||||
u32 sub_0804DD18(void) {
|
u32 sub_0804DD18(void) {
|
||||||
if (CheckLocalFlag(0x79)) {
|
if (CheckLocalFlag(0x79)) {
|
||||||
gRoomVars.field_0x74 = 0;
|
gRoomVars.field_0x6c[2] = 0;
|
||||||
gRoomVars.field_0x6c = 0;
|
gRoomVars.field_0x6c[0] = 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -4253,7 +4253,7 @@ void nullsub_372() {
|
||||||
|
|
||||||
u32 sub_0804DD78(void) {
|
u32 sub_0804DD78(void) {
|
||||||
if (CheckLocalFlag(0x79)) {
|
if (CheckLocalFlag(0x79)) {
|
||||||
gRoomVars.field_0x74 = 0;
|
gRoomVars.field_0x6c[2] = 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -4506,7 +4506,7 @@ u32 sub_0804E25C(void) {
|
||||||
|
|
||||||
// four sword
|
// four sword
|
||||||
if (GetInventoryValue(0x6)) {
|
if (GetInventoryValue(0x6)) {
|
||||||
gRoomVars.field_0x70 = &gUnk_080F09A0;
|
gRoomVars.field_0x6c[1] = &gUnk_080F09A0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -4989,9 +4989,9 @@ extern u32 gUnk_080F3EA4;
|
||||||
|
|
||||||
u32 sub_0804E998(void) {
|
u32 sub_0804E998(void) {
|
||||||
if (CheckGlobalFlag(LV4_CLEAR) && !CheckLocalFlag(4)) {
|
if (CheckGlobalFlag(LV4_CLEAR) && !CheckLocalFlag(4)) {
|
||||||
gRoomVars.field_0x74 = &gUnk_080F3EA4;
|
gRoomVars.field_0x6c[2] = &gUnk_080F3EA4;
|
||||||
} else {
|
} else {
|
||||||
gRoomVars.field_0x74 = &gUnk_080F3D44;
|
gRoomVars.field_0x6c[2] = &gUnk_080F3D44;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -5144,8 +5144,8 @@ extern u32 gUnk_080F4EB0;
|
||||||
|
|
||||||
u32 sub_0804EBDC(void) {
|
u32 sub_0804EBDC(void) {
|
||||||
if (CheckGlobalFlag(ENDING)) {
|
if (CheckGlobalFlag(ENDING)) {
|
||||||
gRoomVars.field_0x6c = &gUnk_080F4EB0;
|
gRoomVars.field_0x6c[0] = &gUnk_080F4EB0;
|
||||||
gRoomVars.field_0x74 = NULL;
|
gRoomVars.field_0x6c[2] = NULL;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -5206,9 +5206,9 @@ extern u32 gUnk_080F5348;
|
||||||
|
|
||||||
u32 sub_0804ECBC(void) {
|
u32 sub_0804ECBC(void) {
|
||||||
if (CheckGlobalFlag(ENDING)) {
|
if (CheckGlobalFlag(ENDING)) {
|
||||||
gRoomVars.field_0x6c = &gUnk_080F5348;
|
gRoomVars.field_0x6c[0] = &gUnk_080F5348;
|
||||||
gRoomVars.field_0x88 = sub_0804ED18;
|
gRoomVars.field_0x6c[7] = sub_0804ED18;
|
||||||
gRoomVars.field_0x74 = NULL;
|
gRoomVars.field_0x6c[2] = NULL;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -5685,7 +5685,7 @@ extern u32 gUnk_080F7680;
|
||||||
|
|
||||||
u32 sub_0804f308(void) {
|
u32 sub_0804f308(void) {
|
||||||
if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) {
|
if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) {
|
||||||
gRoomVars.field_0x74 = &gUnk_080F7680;
|
gRoomVars.field_0x6c[2] = &gUnk_080F7680;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -5747,17 +5747,17 @@ extern void sub_0804F4E4();
|
||||||
|
|
||||||
u32 Vars_HyruleField_OutsideCastle(void) {
|
u32 Vars_HyruleField_OutsideCastle(void) {
|
||||||
if (CheckGlobalFlag(TABIDACHI) && !GetInventoryValue(0x11)) {
|
if (CheckGlobalFlag(TABIDACHI) && !GetInventoryValue(0x11)) {
|
||||||
gRoomVars.field_0x6c = &gUnk_080F7CD0;
|
gRoomVars.field_0x6c[0] = &gUnk_080F7CD0;
|
||||||
gRoomVars.field_0x88 = sub_0804F5E8;
|
gRoomVars.field_0x6c[7] = sub_0804F5E8;
|
||||||
}
|
}
|
||||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||||
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8a)) {
|
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8a)) {
|
||||||
#else
|
#else
|
||||||
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8c)) {
|
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8c)) {
|
||||||
#endif
|
#endif
|
||||||
gRoomVars.field_0x6c = &gUnk_080F7C80;
|
gRoomVars.field_0x6c[0] = &gUnk_080F7C80;
|
||||||
gRoomVars.field_0x88 = sub_0804F4E4;
|
gRoomVars.field_0x6c[7] = sub_0804F4E4;
|
||||||
gRoomVars.field_0x74 = NULL;
|
gRoomVars.field_0x6c[2] = NULL;
|
||||||
}
|
}
|
||||||
#ifndef EU
|
#ifndef EU
|
||||||
if (CheckGlobalFlag(TABIDACHI)) {
|
if (CheckGlobalFlag(TABIDACHI)) {
|
||||||
|
@ -6273,7 +6273,7 @@ extern u32 gUnk_080F9BF8;
|
||||||
|
|
||||||
u32 sub_0804FC4C(void) {
|
u32 sub_0804FC4C(void) {
|
||||||
if (!CheckKinstoneFused(0xe)) {
|
if (!CheckKinstoneFused(0xe)) {
|
||||||
gRoomVars.field_0x6c = &gUnk_080F9BF8;
|
gRoomVars.field_0x6c[0] = &gUnk_080F9BF8;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -6559,8 +6559,8 @@ extern u32 gUnk_080FAD48;
|
||||||
|
|
||||||
u32 sub_0804FDE0(void) {
|
u32 sub_0804FDE0(void) {
|
||||||
if (CheckGlobalFlag(ENDING)) {
|
if (CheckGlobalFlag(ENDING)) {
|
||||||
gRoomVars.field_0x6c = &gUnk_080FAD48;
|
gRoomVars.field_0x6c[0] = &gUnk_080FAD48;
|
||||||
gRoomVars.field_0x74 = NULL;
|
gRoomVars.field_0x6c[2] = NULL;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue