mirror of https://github.com/zeldaret/tmc.git
Decompile manager35
This commit is contained in:
parent
29d7c7bd6b
commit
d632913122
|
@ -1,77 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
bne _0805D3F4
|
||||
ldr r0, _0805D3E8 @ =gArea
|
||||
ldr r1, _0805D3EC @ =0x0000088C
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
ldr r1, _0805D3F0 @ =sub_0805D470
|
||||
cmp r0, r1
|
||||
beq _0805D45E
|
||||
movs r0, #0
|
||||
bl _call_via_r1
|
||||
b _0805D45E
|
||||
.align 2, 0
|
||||
_0805D3E8: .4byte gArea
|
||||
_0805D3EC: .4byte 0x0000088C
|
||||
_0805D3F0: .4byte sub_0805D470
|
||||
_0805D3F4:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805D43A
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
ldr r0, _0805D428 @ =gArea
|
||||
ldr r2, _0805D42C @ =0x0000088C
|
||||
adds r0, r0, r2
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0805D434
|
||||
ldr r1, _0805D430 @ =sub_0805D470
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
b _0805D45E
|
||||
.align 2, 0
|
||||
_0805D428: .4byte gArea
|
||||
_0805D42C: .4byte 0x0000088C
|
||||
_0805D430: .4byte sub_0805D470
|
||||
_0805D434:
|
||||
bl DeleteThisEntity
|
||||
b _0805D45E
|
||||
_0805D43A:
|
||||
ldr r1, _0805D460 @ =gRoomControls
|
||||
ldr r0, [r1, #0x28]
|
||||
ldr r3, _0805D464 @ =0xFFFFC000
|
||||
adds r0, r0, r3
|
||||
str r0, [r1, #0x28]
|
||||
ldr r0, [r1, #0x2c]
|
||||
ldr r2, _0805D468 @ =0xFFFFE000
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x2c]
|
||||
ldr r2, _0805D46C @ =gScreen
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r3, [r1, #0xa]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x30]
|
||||
_0805D45E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805D460: .4byte gRoomControls
|
||||
_0805D464: .4byte 0xFFFFC000
|
||||
_0805D468: .4byte 0xFFFFE000
|
||||
_0805D46C: .4byte gScreen
|
||||
.syntax divided
|
|
@ -1,28 +0,0 @@
|
|||
.syntax unified
|
||||
push {lr}
|
||||
movs r0, #0x4c
|
||||
bl LoadGfxGroup
|
||||
ldr r2, _0805D4A0 @ =gScreen
|
||||
ldr r0, _0805D4A4 @ =0x00001E07
|
||||
strh r0, [r2, #0x2c]
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
ldr r1, _0805D4A8 @ =gRoomControls
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r3, [r1, #0xa]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x30]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805D4A0: .4byte gScreen
|
||||
_0805D4A4: .4byte 0x00001E07
|
||||
_0805D4A8: .4byte gRoomControls
|
||||
.syntax divided
|
|
@ -1,12 +0,0 @@
|
|||
.syntax unified
|
||||
push {lr}
|
||||
ldr r2, _0805DC98 @ =gUnk_08108D98
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DC98: .4byte gUnk_08108D98
|
||||
.syntax divided
|
|
@ -1,21 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805DCAE
|
||||
bl DeleteThisEntity
|
||||
_0805DCAE:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805DCC2
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl SetFlag
|
||||
bl DeleteThisEntity
|
||||
_0805DCC2:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
pop {r4, pc}
|
||||
.syntax divided
|
|
@ -1,47 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805DD1E
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x35
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805DCEC
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
_0805DCEC:
|
||||
ldr r5, _0805DD20 @ =gRoomControls
|
||||
ldr r0, [r5, #0x30]
|
||||
str r0, [r4, #0x14]
|
||||
movs r0, #0x69
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0805DD1E
|
||||
ldrh r0, [r5, #6]
|
||||
ldrh r2, [r4, #0x38]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r1, #0x2e]
|
||||
ldrh r0, [r5, #8]
|
||||
ldrh r2, [r4, #0x3a]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r1, #0x32]
|
||||
str r1, [r4, #0x18]
|
||||
str r1, [r5, #0x30]
|
||||
adds r0, r1, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
_0805DD1E:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805DD20: .4byte gRoomControls
|
||||
.syntax divided
|
|
@ -1,34 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0
|
||||
movs r1, #8
|
||||
bl sub_0805E4E0
|
||||
ldr r0, _0805DD64 @ =gRoomControls
|
||||
ldrb r1, [r0, #0xf]
|
||||
movs r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805DD60
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805DD60
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl SetFlag
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x36
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _0805DD60
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
_0805DD60:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805DD64: .4byte gRoomControls
|
||||
.syntax divided
|
|
@ -1,40 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0
|
||||
movs r1, #8
|
||||
bl sub_0805E4E0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x36
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _0805DD94
|
||||
subs r0, #1
|
||||
strb r0, [r1]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805DDAE
|
||||
ldr r1, _0805DD90 @ =gRoomControls
|
||||
ldr r0, [r4, #0x14]
|
||||
str r0, [r1, #0x30]
|
||||
b _0805DDAE
|
||||
.align 2, 0
|
||||
_0805DD90: .4byte gRoomControls
|
||||
_0805DD94:
|
||||
ldr r0, _0805DDB0 @ =gRoomControls
|
||||
ldrb r1, [r0, #0xf]
|
||||
movs r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805DDAE
|
||||
ldr r0, [r4, #0x18]
|
||||
cmp r0, #0
|
||||
beq _0805DDAA
|
||||
bl DeleteEntity
|
||||
_0805DDAA:
|
||||
bl DeleteThisEntity
|
||||
_0805DDAE:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805DDB0: .4byte gRoomControls
|
||||
.syntax divided
|
|
@ -267,6 +267,7 @@ extern void sub_0805EEB4(u8*, u32);
|
|||
extern void sub_08056BDC(u32);
|
||||
extern void sub_08056F88(u32, u32);
|
||||
extern void sub_0805F8E4(u32 r0, WStruct* r1);
|
||||
extern void DoExitTransition(ScreenTransitionData*);
|
||||
|
||||
extern Entity* sub_08077C94(ItemBehavior*, u32);
|
||||
extern Entity* sub_08077C0C(ItemBehavior*, u32);
|
||||
|
@ -280,5 +281,4 @@ extern bool32 sub_08077EFC(ItemBehavior*);
|
|||
|
||||
extern void sub_08078E84(Entity*, Entity*);
|
||||
extern void sub_080042D0(Entity*, u32, u16);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -169,6 +169,9 @@ typedef struct {
|
|||
u8 unk3;
|
||||
u8 freezeTime;
|
||||
u8 unk9;
|
||||
u8 unk_0xa;
|
||||
u8 unk_0xb;
|
||||
u16 unk_0xc;
|
||||
} EntityHandler;
|
||||
|
||||
extern EntityHandler gUnk_03003DC0;
|
||||
|
|
|
@ -10,8 +10,6 @@ extern u32 gUnk_0200B650;
|
|||
extern u32 gUnk_02025EB0;
|
||||
extern u8 gUnk_02000070;
|
||||
|
||||
extern void DoExitTransition(ScreenTransitionData*);
|
||||
|
||||
void sub_080808D8(void) {
|
||||
gScreenTransition.transitionType = 0;
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include "functions.h"
|
||||
|
||||
extern void UnloadOBJPalette(Entity*);
|
||||
extern void DoExitTransition(ScreenTransitionData*);
|
||||
|
||||
extern u8 gEntCount;
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void DoExitTransition(ScreenTransitionData*);
|
||||
extern void sub_0807B600(u32);
|
||||
|
||||
extern const u16 script_08012E20[];
|
||||
|
|
|
@ -6,9 +6,7 @@
|
|||
|
||||
extern void sub_08001328(Entity*);
|
||||
extern Entity* sub_08049DF4(u32);
|
||||
extern void DoExitTransition(u32*);
|
||||
|
||||
extern u32* gUnk_0813AB1C[];
|
||||
extern ScreenTransitionData* gUnk_0813AB1C[];
|
||||
|
||||
void sub_0802A78C(Entity*);
|
||||
void sub_0802A7D0(Entity*);
|
||||
|
|
|
@ -4,10 +4,9 @@
|
|||
#include "functions.h"
|
||||
|
||||
extern void sub_08001328(Entity*);
|
||||
extern void DoExitTransition(u32*);
|
||||
|
||||
extern Entity* gUnk_020000B0;
|
||||
extern u32* gUnk_0813AB1C[];
|
||||
extern ScreenTransitionData* gUnk_0813AB1C[];
|
||||
|
||||
void sub_0802CF64(Entity*);
|
||||
void sub_0802CF8C(Entity*);
|
||||
|
|
|
@ -16,10 +16,8 @@ typedef struct {
|
|||
|
||||
extern void (*const gUnk_08108654[])(Manager17*);
|
||||
|
||||
|
||||
void sub_0805AD80(Manager17*);
|
||||
|
||||
|
||||
void Manager17_Main(Manager17* manager) {
|
||||
gUnk_08108654[manager->manager.action](manager);
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ void Manager19_Main(Manager* this) {
|
|||
}
|
||||
} else {
|
||||
gRoomControls.bg3OffsetX.WORD = gRoomControls.bg3OffsetX.WORD - 0x2000;
|
||||
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI ;
|
||||
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
|
||||
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ void sub_0805B5E0(Manager* this) {
|
|||
void sub_0805B638(Manager* this) {
|
||||
if (this->unk_0a == 1) {
|
||||
gRoomControls.bg3OffsetX.WORD = gRoomControls.bg3OffsetX.WORD + 0x2000;
|
||||
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI ;
|
||||
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
|
||||
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
|
||||
}
|
||||
}
|
|
@ -28,8 +28,7 @@ void sub_0805B70C(Manager1F* this) {
|
|||
this->manager.unk_0b = 1;
|
||||
}
|
||||
this->manager.action = 1;
|
||||
this->field_0x38 =
|
||||
(this->field_0x38 >> 4 & 0x3fU) | (((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6);
|
||||
this->field_0x38 = (this->field_0x38 >> 4 & 0x3fU) | (((this->field_0x3a << 0x10) >> 0x14 & 0x3fU) << 6);
|
||||
sub_0805B778(this);
|
||||
}
|
||||
|
||||
|
@ -48,6 +47,5 @@ void sub_0805B744(Manager1F* this) {
|
|||
}
|
||||
|
||||
void sub_0805B778(Manager1F* this) {
|
||||
SetTileType(gUnk_08108C9C[this->manager.unk_0a * 2 + this->manager.unk_0b],
|
||||
this->field_0x38, this->field_0x36);
|
||||
SetTileType(gUnk_08108C9C[this->manager.unk_0a * 2 + this->manager.unk_0b], this->field_0x38, this->field_0x36);
|
||||
}
|
|
@ -305,7 +305,6 @@ void sub_0805C4E0(u32 pos, u32 layer) {
|
|||
}
|
||||
}
|
||||
|
||||
u32 sub_0805C608(void)
|
||||
{
|
||||
u32 sub_0805C608(void) {
|
||||
return gUnk_08108CFC[gArea.regret];
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
typedef struct {
|
||||
Manager manager;
|
||||
Entity * field_0x20;
|
||||
Entity* field_0x20;
|
||||
u8 field_0x24;
|
||||
u8 field_0x25;
|
||||
u8 field_0x26;
|
||||
|
@ -37,8 +37,6 @@ typedef struct {
|
|||
u16 field_0x3e;
|
||||
} Manager2B;
|
||||
|
||||
|
||||
|
||||
extern void (*const gUnk_08108D30[])(Entity*);
|
||||
|
||||
extern u8 gEntCount;
|
||||
|
@ -62,7 +60,7 @@ NONMATCH("asm/non_matching/manager2B/sub_0805D02C.inc", void sub_0805D02C(Manage
|
|||
objectData = GetCurrentRoomProperty(this->manager.unk_0a);
|
||||
counter = 0;
|
||||
createdObjects = &this->field_0x20;
|
||||
while(counter < 4) {
|
||||
while (counter < 4) {
|
||||
object = CreateObject(OBJECT_A0, objectData[2], counter);
|
||||
object->x.HALF.HI = objectData[0] + gRoomControls.roomOriginX;
|
||||
object->y.HALF.HI = objectData[1] + gRoomControls.roomOriginY;
|
||||
|
|
|
@ -19,7 +19,7 @@ void Manager2C_Main(Manager2C* manager) {
|
|||
manager->field_0x3a = 0;
|
||||
}
|
||||
if (((CheckPlayerInRegion(manager->field_0x38, manager->field_0x3a, 0x14, 0x40) != 0) &&
|
||||
(((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) +gPlayerEntity.height.HALF.HI) < 0)) &&
|
||||
(((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) + gPlayerEntity.height.HALF.HI) < 0)) &&
|
||||
(gRoomControls.roomScrollY == gRoomControls.roomOriginY)) {
|
||||
MemClear(&gScreenTransition.areaID, 0x20);
|
||||
gScreenTransition.transitioningOut = 1;
|
||||
|
|
|
@ -1,6 +1,40 @@
|
|||
|
||||
#include "manager.h"
|
||||
#include "area.h"
|
||||
#include "room.h"
|
||||
#include "screen.h"
|
||||
#include "functions.h"
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager2F/Manager2F_Main.inc", void Manager2F_Main())
|
||||
void sub_0805D470(Manager*);
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager2F/sub_0805D470.inc", void sub_0805D470())
|
||||
void Manager2F_Main(Manager* this) {
|
||||
if (this == NULL) {
|
||||
if ((void*)gArea.unk3 != sub_0805D470) {
|
||||
sub_0805D470(NULL);
|
||||
}
|
||||
} else {
|
||||
if (this->action == 0) {
|
||||
this->action = 1;
|
||||
this->unk_10 |= 0x20;
|
||||
sub_0805E3A0(this, 6);
|
||||
if (gArea.unk3 == 0) {
|
||||
sub_08052D74(this, sub_0805D470, NULL);
|
||||
} else {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
} else {
|
||||
gRoomControls.bg3OffsetX.WORD -= 0x4000;
|
||||
gRoomControls.bg3OffsetY.WORD -= 0x2000;
|
||||
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
|
||||
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0805D470(Manager* this) {
|
||||
LoadGfxGroup(0x4c);
|
||||
gScreen.affine.bg3Control = 0x1e07;
|
||||
gScreen.lcd.displayControl |= 0x800;
|
||||
gScreen.affine.bg3xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI;
|
||||
gScreen.affine.bg3yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI;
|
||||
}
|
||||
|
|
|
@ -1,11 +1,84 @@
|
|||
#include "manager.h"
|
||||
#include "flags.h"
|
||||
#include "room.h"
|
||||
#include "object.h"
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager35/Manager35_Main.inc", void Manager35_Main())
|
||||
typedef struct {
|
||||
Manager manager;
|
||||
u8 field_0x20[0x15];
|
||||
u8 field_0x35;
|
||||
u8 field_0x36;
|
||||
u8 field_0x37;
|
||||
s16 field_0x38;
|
||||
s16 field_0x3a;
|
||||
u16 field_0x3c;
|
||||
u16 field_0x3e;
|
||||
} Manager35;
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager35/sub_0805DC9C.inc", void sub_0805DC9C())
|
||||
extern void (*const gUnk_08108D98[])(Manager35*);
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager35/sub_0805DCC8.inc", void sub_0805DCC8())
|
||||
extern void sub_0805E4E0(Entity*, u32);
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager35/sub_0805DD24.inc", void sub_0805DD24())
|
||||
void Manager35_Main(Manager35* this) {
|
||||
gUnk_08108D98[this->manager.action](this);
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/manager35/sub_0805DD68.inc", void sub_0805DD68())
|
||||
void sub_0805DC9C(Manager35* this) {
|
||||
if (CheckFlags(this->field_0x3c) != 0) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
if (CheckFlags(this->field_0x3e) != 0) {
|
||||
SetFlag(this->field_0x3c);
|
||||
DeleteThisEntity();
|
||||
}
|
||||
this->manager.action = 1;
|
||||
}
|
||||
|
||||
void sub_0805DCC8(Manager35* this) {
|
||||
Entity* object;
|
||||
|
||||
if (CheckFlags(this->field_0x3e) != 0) {
|
||||
this->manager.action = 2;
|
||||
this->manager.unk_0e = this->field_0x35;
|
||||
if (this->manager.unk_0e == 0) {
|
||||
this->manager.unk_0e = 0x1e;
|
||||
}
|
||||
this->manager.parent = (Manager*)gRoomControls.cameraTarget;
|
||||
object = CreateObject(OBJECT_69, 0, 0);
|
||||
if (object != NULL) {
|
||||
object->x.HALF.HI = this->field_0x38 + gRoomControls.roomOriginX;
|
||||
object->y.HALF.HI = this->field_0x3a + gRoomControls.roomOriginY;
|
||||
*(Entity**)this->manager.unk_18 = object;
|
||||
gRoomControls.cameraTarget = object;
|
||||
sub_0805E4E0(object, 0x1e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0805DD24(Manager35* this) {
|
||||
sub_0805E4E0(0, 8);
|
||||
if ((gRoomControls.unk6 & 4) == 0 && --this->manager.unk_0e == 0) {
|
||||
this->manager.action = 3;
|
||||
SetFlag(this->field_0x3c);
|
||||
if (this->field_0x36 == 0) {
|
||||
this->field_0x36 = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0805DD68(Manager35* this) {
|
||||
sub_0805E4E0(0, 8);
|
||||
if (this->field_0x36 != 0) {
|
||||
if (--this->field_0x36 == 0) {
|
||||
gRoomControls.cameraTarget = (Entity*)this->manager.parent;
|
||||
}
|
||||
} else {
|
||||
if ((gRoomControls.unk6 & 4) == 0) {
|
||||
Entity* entity = *(Entity**)this->manager.unk_18;
|
||||
if (entity != NULL) {
|
||||
DeleteEntity(entity);
|
||||
}
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
#include "manager.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void DoExitTransition(void*);
|
||||
|
||||
void Manager6_Main(Manager6* this) {
|
||||
u32 tmp;
|
||||
Manager6WarpData* i;
|
||||
|
|
|
@ -32,7 +32,6 @@ typedef struct {
|
|||
u16 field_0x3e;
|
||||
} ManagerD;
|
||||
|
||||
|
||||
extern void (*const gUnk_08108308[])(ManagerD*);
|
||||
|
||||
extern u16* GetLayerByIndex(u32);
|
||||
|
@ -52,7 +51,6 @@ void sub_08058DE8(ManagerD* this) {
|
|||
puVar3 = (this->field_0x38 + 2) + puVar2;
|
||||
this->field_0x30 = puVar3;
|
||||
this->field_0x28 = *puVar3;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3,11 +3,9 @@
|
|||
#include "script.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern u32 gUnk_0813AD10;
|
||||
extern u32 gUnk_0813AD24;
|
||||
extern u32 gUnk_0813AD38;
|
||||
|
||||
extern void DoExitTransition(u32*);
|
||||
extern ScreenTransitionData gUnk_0813AD10;
|
||||
extern ScreenTransitionData gUnk_0813AD24;
|
||||
extern ScreenTransitionData gUnk_0813AD38;
|
||||
|
||||
void Emma(Entity* this) {
|
||||
if (this->action == 0) {
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
#include "functions.h"
|
||||
#include "textbox.h"
|
||||
|
||||
extern void DoExitTransition(ScreenTransitionData*);
|
||||
extern ScreenTransitionData gUnk_0813AD4C;
|
||||
|
||||
void sub_0806E014(Entity* this);
|
||||
|
|
|
@ -12,10 +12,8 @@ typedef struct {
|
|||
u32 unk;
|
||||
} struct_0806C2A0;
|
||||
|
||||
extern void DoExitTransition(void*);
|
||||
|
||||
extern void gUnk_0813AD60;
|
||||
extern void gUnk_0813AD74;
|
||||
extern ScreenTransitionData gUnk_0813AD60;
|
||||
extern ScreenTransitionData gUnk_0813AD74;
|
||||
|
||||
void Simon(Entity* this) {
|
||||
if (this->action == 0) {
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
#include "player.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void DoExitTransition(void*);
|
||||
|
||||
extern void (*const gUnk_08122254[])(Entity*);
|
||||
extern u16 gUnk_0812225C[];
|
||||
|
||||
|
@ -35,6 +33,6 @@ void sub_08090F00(Entity* this) {
|
|||
}
|
||||
if ((gPlayerState.flags.all & 0x80) && sub_080041A0(this, &gPlayerEntity, 4, 4) &&
|
||||
(gPlayerEntity.height.HALF.HI == 0) && (((u16)gPlayerState.field_0x90.HALF.LO) & gUnk_0812225C[this->type2])) {
|
||||
DoExitTransition((Entity*)GetCurrentRoomProperty(this->actionDelay));
|
||||
DoExitTransition(GetCurrentRoomProperty(this->actionDelay));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,6 @@ extern void sub_0806F948();
|
|||
extern void sub_08077698();
|
||||
extern void sub_0805E544();
|
||||
extern void sub_080717F8();
|
||||
extern void DoExitTransition();
|
||||
extern void UnfreezeTime();
|
||||
extern void sub_08071A6C();
|
||||
extern void sub_08052BB8();
|
||||
|
|
Loading…
Reference in New Issue