mirror of https://github.com/zeldaret/tmc.git
struct_02002A40 -> structures.h
This commit is contained in:
parent
2575c0a63d
commit
6824834142
|
|
@ -5,237 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0807CD9C
|
||||
sub_0807CD9C: @ 0x0807CD9C
|
||||
push {lr}
|
||||
bl sub_080530C8
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0807CDA4
|
||||
sub_0807CDA4: @ 0x0807CDA4
|
||||
push {lr}
|
||||
ldr r2, _0807CDB8 @ =gUnk_0811E478
|
||||
ldr r1, _0807CDBC @ =gMenu
|
||||
ldrb r1, [r1, #7]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0807CDB8: .4byte gUnk_0811E478
|
||||
_0807CDBC: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_0807CDC0
|
||||
sub_0807CDC0: @ 0x0807CDC0
|
||||
push {lr}
|
||||
ldr r0, _0807CDE0 @ =gUnk_02021EE0
|
||||
ldrh r1, [r0, #0xa]
|
||||
subs r1, #8
|
||||
strh r1, [r0, #0xa]
|
||||
movs r1, #8
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, #0
|
||||
bgt _0807CDDC
|
||||
ldr r0, _0807CDE4 @ =gMenu
|
||||
movs r1, #8
|
||||
strh r1, [r0, #0xa]
|
||||
movs r1, #1
|
||||
strb r1, [r0, #7]
|
||||
_0807CDDC:
|
||||
movs r0, #0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0807CDE0: .4byte gUnk_02021EE0
|
||||
_0807CDE4: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_0807CDE8
|
||||
sub_0807CDE8: @ 0x0807CDE8
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0807CE08 @ =gMenu
|
||||
ldrh r0, [r1, #0xa]
|
||||
cmp r0, #0
|
||||
bne _0807CE4C
|
||||
bl sub_0805616C
|
||||
cmp r4, #1
|
||||
beq _0807CE20
|
||||
cmp r4, #1
|
||||
blo _0807CE0C
|
||||
cmp r4, #2
|
||||
beq _0807CE2E
|
||||
b _0807CE38
|
||||
.align 2, 0
|
||||
_0807CE08: .4byte gMenu
|
||||
_0807CE0C:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
ldrb r0, [r0, #4]
|
||||
ldr r1, _0807CE1C @ =gUnk_02002A40
|
||||
bl sub_0807CF08
|
||||
b _0807CE36
|
||||
.align 2, 0
|
||||
_0807CE1C: .4byte gUnk_02002A40
|
||||
_0807CE20:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
ldrb r0, [r0, #4]
|
||||
bl sub_0807CF48
|
||||
movs r5, #1
|
||||
b _0807CE38
|
||||
_0807CE2E:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
bl sub_0807CF10
|
||||
_0807CE36:
|
||||
adds r5, r0, #0
|
||||
_0807CE38:
|
||||
ldr r1, _0807CE48 @ =gMenu
|
||||
strh r5, [r1, #0xa]
|
||||
movs r0, #2
|
||||
strb r0, [r1, #7]
|
||||
bl sub_08056208
|
||||
b _0807CE50
|
||||
.align 2, 0
|
||||
_0807CE48: .4byte gMenu
|
||||
_0807CE4C:
|
||||
subs r0, #1
|
||||
strh r0, [r1, #0xa]
|
||||
_0807CE50:
|
||||
movs r0, #0
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0807CE54
|
||||
sub_0807CE54: @ 0x0807CE54
|
||||
push {r4, r5, lr}
|
||||
movs r4, #0
|
||||
ldr r2, _0807CE88 @ =gUnk_02021EE0
|
||||
ldrh r0, [r2, #0xa]
|
||||
adds r0, #8
|
||||
strh r0, [r2, #0xa]
|
||||
ldrh r3, [r2, #6]
|
||||
movs r5, #6
|
||||
ldrsh r1, [r2, r5]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
cmp r1, r0
|
||||
bgt _0807CE84
|
||||
strh r3, [r2, #0xa]
|
||||
bl sub_08050384
|
||||
ldr r0, _0807CE8C @ =gMenu
|
||||
movs r1, #0
|
||||
strb r1, [r0, #7]
|
||||
ldrh r0, [r0, #0xa]
|
||||
subs r4, #1
|
||||
cmp r0, #1
|
||||
bne _0807CE84
|
||||
movs r4, #1
|
||||
_0807CE84:
|
||||
adds r0, r4, #0
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0807CE88: .4byte gUnk_02021EE0
|
||||
_0807CE8C: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_0807CE90
|
||||
sub_0807CE90: @ 0x0807CE90
|
||||
push {r4, r5, r6, lr}
|
||||
movs r0, #0x40
|
||||
bl sub_080B1520
|
||||
movs r0, #4
|
||||
bl sub_0807D1C4
|
||||
adds r4, r0, #0
|
||||
movs r5, #0
|
||||
ldrh r0, [r4, #6]
|
||||
ldr r6, _0807CF04 @ =gUnk_0811E484
|
||||
ldrh r2, [r4]
|
||||
adds r1, r6, #0
|
||||
bl sub_0807D24C
|
||||
cmp r0, #0
|
||||
bne _0807CEB4
|
||||
movs r5, #1
|
||||
_0807CEB4:
|
||||
ldrh r0, [r4, #8]
|
||||
ldrh r2, [r4]
|
||||
adds r1, r6, #0
|
||||
bl sub_0807D24C
|
||||
cmp r0, #0
|
||||
bne _0807CEC4
|
||||
adds r5, #2
|
||||
_0807CEC4:
|
||||
cmp r5, #0
|
||||
beq _0807CEFE
|
||||
cmp r5, #3
|
||||
bne _0807CEEA
|
||||
movs r0, #5
|
||||
bl sub_0807CF68
|
||||
movs r0, #3
|
||||
bl sub_0807CF68
|
||||
movs r0, #2
|
||||
bl sub_0807CF68
|
||||
movs r0, #1
|
||||
bl sub_0807CF68
|
||||
movs r0, #0
|
||||
bl sub_0807CF68
|
||||
_0807CEEA:
|
||||
ldrh r0, [r4, #8]
|
||||
ldrh r2, [r4]
|
||||
adds r1, r6, #0
|
||||
bl sub_0807D20C
|
||||
ldrh r0, [r4, #6]
|
||||
ldrh r2, [r4]
|
||||
adds r1, r6, #0
|
||||
bl sub_0807D20C
|
||||
_0807CEFE:
|
||||
movs r0, #1
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0807CF04: .4byte gUnk_0811E484
|
||||
|
||||
thumb_func_start sub_0807CF08
|
||||
sub_0807CF08: @ 0x0807CF08
|
||||
push {lr}
|
||||
bl sub_0807CF88
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0807CF10
|
||||
sub_0807CF10: @ 0x0807CF10
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
movs r0, #3
|
||||
bl sub_0807CF88
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0807CF1C
|
||||
sub_0807CF1C: @ 0x0807CF1C
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
movs r0, #5
|
||||
bl sub_0807CF88
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0807CF28
|
||||
sub_0807CF28: @ 0x0807CF28
|
||||
push {lr}
|
||||
bl sub_0807D008
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0807CF30
|
||||
sub_0807CF30: @ 0x0807CF30
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
movs r0, #3
|
||||
bl sub_0807D008
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0807CF3C
|
||||
sub_0807CF3C: @ 0x0807CF3C
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
movs r0, #5
|
||||
bl sub_0807D008
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0807CF48
|
||||
sub_0807CF48: @ 0x0807CF48
|
||||
push {r4, r5, lr}
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,6 +6,7 @@
|
|||
#include "entity.h"
|
||||
#include "position.h"
|
||||
#include "link.h"
|
||||
#include "structures.h"
|
||||
|
||||
// Identified - to be sorted into header files
|
||||
extern u32 Random(void);
|
||||
|
|
@ -205,4 +206,17 @@ extern void sub_0807A108(void);
|
|||
extern void sub_0801766C(Entity*);
|
||||
extern void sub_08004168(Entity*);
|
||||
extern u32 sub_08052638(u32);
|
||||
extern void sub_0805616C();
|
||||
extern u32 sub_0807CF08(u32, u8*);
|
||||
extern void sub_0807CF48(u32);
|
||||
extern u32 sub_0807CF10(u8 *);
|
||||
extern void sub_08056208();
|
||||
extern void sub_08050384();
|
||||
extern void sub_080B1520(u32);
|
||||
extern struct_0807D1C4* sub_0807D1C4(u32);
|
||||
extern u32 sub_0807D24C(u32, char*, u32);
|
||||
extern void sub_0807CF68(u32);
|
||||
extern void sub_0807D20C(u32, char*, u32);
|
||||
extern u32 sub_0807CF88(u32, u8*);
|
||||
extern u32 sub_0807D008(u32, void*);
|
||||
#endif
|
||||
|
|
@ -45,7 +45,6 @@ extern UI gUnk_02032EC0;
|
|||
|
||||
extern s32 sub_08055F70();
|
||||
extern s32 sub_080A3204(s32);
|
||||
extern s32 sub_0805616C(s32);
|
||||
extern s32 sub_0807CE90(s32);
|
||||
extern s32 sub_080560B8(s32);
|
||||
extern void sub_08056208(s32);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,8 @@ typedef struct {
|
|||
u8 overlayType;
|
||||
u8 storyPanelIndex;
|
||||
u16 transitionTimer;
|
||||
u8 fillerA[0x6];
|
||||
u16 field_0xa;
|
||||
u8 field_0xc[0x4];
|
||||
u8 unk10[2];
|
||||
u8 field_0x12;
|
||||
u8 unk13;
|
||||
|
|
|
|||
|
|
@ -173,22 +173,5 @@ extern void NPC58_Head(Entity*);
|
|||
extern u32 UpdateFuseInteraction(Entity*);
|
||||
extern void ShowNPCDialogue(Entity*, u32*);
|
||||
|
||||
typedef struct {
|
||||
/*0x000*/ u8 filler0[0x6];
|
||||
/*0x006*/ u8 unk6;
|
||||
/*0x007*/ u8 unk7;
|
||||
/*0x008*/ u8 unk8;
|
||||
/*0x009*/ u8 field_0x9[0x34];
|
||||
/*0x040*/ u32 windcrests;
|
||||
/*0x044*/ u8 filler44[0xC];
|
||||
/*0x050*/ u32 unk50;
|
||||
/*0x054*/ u8 filler54[0x54];
|
||||
/*0x0A8*/ Stats stats;
|
||||
/*0x0D0*/ u8 filler4[0x3c0];
|
||||
/*0x490*/ u32 unk490;
|
||||
} struct_02002A40;
|
||||
|
||||
extern struct_02002A40 gUnk_02002A40;
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -13,21 +13,48 @@ typedef struct {
|
|||
u8 gameLanguage;
|
||||
} struct_02000000;
|
||||
|
||||
extern struct_02000000 gUnk_02000000;
|
||||
typedef struct {
|
||||
u16 field_0x0;
|
||||
u16 field_0x2;
|
||||
u16 field_0x4;
|
||||
u16 field_0x6;
|
||||
u16 field_0x8;
|
||||
u16 field_0xa;
|
||||
} struct_0807D1C4;
|
||||
|
||||
#define gUnk_02000000 ((struct_02000000*)(0x2000000))
|
||||
//extern struct_02000000 gUnk_02000000;
|
||||
|
||||
typedef struct {
|
||||
u16 frameCount; // regular frame count? does anything reset it?
|
||||
/*0x000*/ u8 filler0[0x6];
|
||||
/*0x006*/ u8 unk6;
|
||||
/*0x007*/ u8 unk7;
|
||||
/*0x008*/ u8 unk8;
|
||||
/*0x009*/ u8 field_0x9[0x34];
|
||||
/*0x040*/ u32 windcrests;
|
||||
/*0x044*/ u8 filler44[0xC];
|
||||
/*0x050*/ u32 unk50;
|
||||
/*0x054*/ u8 filler54[0x54];
|
||||
/*0x0A8*/ Stats stats;
|
||||
/*0x0D0*/ u8 filler4[0x3c0];
|
||||
/*0x490*/ u32 unk490;
|
||||
} struct_02002A40;
|
||||
|
||||
extern struct_02002A40 gUnk_02002A40;
|
||||
|
||||
typedef struct {
|
||||
u16 frameCount; // regular frame count? does anything reset it?
|
||||
u8 field_0x2[6];
|
||||
bool8 transitioningOut;
|
||||
u8 transitionType; // transition when changing areas
|
||||
u8 field_0xa;
|
||||
u8 field_0xa; // seems to be a tile type
|
||||
u8 field_0xb;
|
||||
u8 areaID;
|
||||
u8 roomID;
|
||||
u8 animState;
|
||||
u8 playerState;
|
||||
u8 field_0xf;
|
||||
Coords startPos;
|
||||
u16 collisionLayer;
|
||||
Coords playerStartPos;
|
||||
u16 playerLayer;
|
||||
u8 field_0x14[0xa];
|
||||
u16 field_0x20;
|
||||
u16 field_0x22;
|
||||
|
|
@ -41,6 +68,8 @@ typedef struct {
|
|||
u16 field_0x46;
|
||||
u16 field_0x48;
|
||||
u16 field_0x4a;
|
||||
u8 field_0x4c[0x60];
|
||||
u16 field_0xac;
|
||||
} ScreenTransition;
|
||||
|
||||
extern ScreenTransition gScreenTransition;
|
||||
|
|
@ -53,9 +82,9 @@ typedef struct {
|
|||
u8 field_0xa;
|
||||
u8 areaID;
|
||||
u8 roomID;
|
||||
u8 collisionLayer;
|
||||
u8 playerLayer;
|
||||
u8 field_0xe;
|
||||
u8 playerAnimState;
|
||||
u8 playerState;
|
||||
u16 transitionSFX;
|
||||
} ScreenTransitionData;
|
||||
|
||||
|
|
|
|||
|
|
@ -663,8 +663,9 @@ SECTIONS {
|
|||
asm/getInventoryValue.o(.text);
|
||||
asm/code_0807CAA0.o(.text);
|
||||
src/flags.o(.text);
|
||||
asm/code_0807CC3C.o(.text);
|
||||
src/code_0807CC3C.o(.text);
|
||||
asm/code_0807CC3C.o(.text);
|
||||
src/code_080808D8.o(.text);
|
||||
src/code_0808091C.o(.text);
|
||||
/* objects */
|
||||
asm/itemOnGround.o(.text);
|
||||
|
|
|
|||
|
|
@ -1,25 +1,125 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
#include "menu.h"
|
||||
#include "structures.h"
|
||||
|
||||
void sub_080808D8(void) {
|
||||
gScreenTransition.transitionType = 0;
|
||||
extern void (*const gUnk_0811E478[])(u32);
|
||||
|
||||
extern s16 gUnk_02021EE0[6];
|
||||
|
||||
void sub_0807CD9C() {
|
||||
sub_080530C8();
|
||||
}
|
||||
|
||||
void sub_080808E4(void) {
|
||||
void sub_0807CDA4(u32 arg0) {
|
||||
gUnk_0811E478[gMenu.storyPanelIndex](arg0);
|
||||
}
|
||||
|
||||
if (sub_08052638(gScreenTransition.areaID)) {
|
||||
gScreenTransition.transitionType = 0;
|
||||
} else {
|
||||
gScreenTransition.transitionType = 5;
|
||||
u32 sub_0807CDC0(void) {
|
||||
gUnk_02021EE0[5] -= 8;
|
||||
if (gUnk_02021EE0[4] <= 0) {
|
||||
gMenu.field_0xa = 8;
|
||||
gMenu.storyPanelIndex = 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_08080904(void) {
|
||||
gScreenTransition.transitionType = 1;
|
||||
u32 sub_0807CDE8(u32 arg0) {
|
||||
u32 temp;
|
||||
|
||||
if (gMenu.field_0xa == 0) {
|
||||
sub_0805616C();
|
||||
switch (arg0) {
|
||||
case 0:
|
||||
temp = sub_0807CF08(gUnk_02000000->saveFile, gUnk_02002A40.filler0);
|
||||
break;
|
||||
case 1:
|
||||
sub_0807CF48(gUnk_02000000->saveFile);
|
||||
temp = 1;
|
||||
break;
|
||||
case 2:
|
||||
temp = sub_0807CF10((u8*)gUnk_02000000->header);
|
||||
break;
|
||||
}
|
||||
gMenu.field_0xa = temp;
|
||||
gMenu.storyPanelIndex = 2;
|
||||
sub_08056208();
|
||||
} else {
|
||||
gMenu.field_0xa--;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_08080910(void) {
|
||||
gScreenTransition.transitionType = 1;
|
||||
}
|
||||
s32 sub_0807CE54(void) {
|
||||
u32 uVar1;
|
||||
|
||||
uVar1 = 0;
|
||||
gUnk_02021EE0[5] += 8;
|
||||
if (gUnk_02021EE0[3] <= gUnk_02021EE0[5]) {
|
||||
gUnk_02021EE0[5] = gUnk_02021EE0[3];
|
||||
sub_08050384();
|
||||
gMenu.storyPanelIndex = 0;
|
||||
if (gMenu.field_0xa == 1) {
|
||||
uVar1 = 1;
|
||||
} else {
|
||||
uVar1 = -1;
|
||||
}
|
||||
}
|
||||
return uVar1;
|
||||
}
|
||||
|
||||
extern char gUnk_0811E484[];
|
||||
|
||||
u32 sub_0807CE90(void)
|
||||
{
|
||||
struct_0807D1C4 *puVar1;
|
||||
int iVar2;
|
||||
int iVar3;
|
||||
|
||||
sub_080B1520(0x40);
|
||||
puVar1 = sub_0807D1C4(4);
|
||||
iVar3 = 0;
|
||||
if (sub_0807D24C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0) == 0) {
|
||||
iVar3 += 1;
|
||||
}
|
||||
if (sub_0807D24C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0) == 0) {
|
||||
iVar3 += 2;
|
||||
}
|
||||
if (iVar3 != 0) {
|
||||
if (iVar3 == 3) {
|
||||
sub_0807CF68(5);
|
||||
sub_0807CF68(3);
|
||||
sub_0807CF68(2);
|
||||
sub_0807CF68(1);
|
||||
sub_0807CF68(0);
|
||||
}
|
||||
sub_0807D20C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0);
|
||||
sub_0807D20C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 sub_0807CF08(u32 arg0, u8* arg1) {
|
||||
return sub_0807CF88(arg0, arg1);
|
||||
}
|
||||
|
||||
u32 sub_0807CF10(u8* arg0) {
|
||||
return sub_0807CF88(3, arg0);
|
||||
}
|
||||
|
||||
u32 sub_0807CF1C(u8* arg0) {
|
||||
return sub_0807CF88(5, arg0);
|
||||
}
|
||||
|
||||
u32 sub_0807CF28(u32 arg0, void* arg1) {
|
||||
return sub_0807D008(arg0, arg1);
|
||||
}
|
||||
|
||||
u32 sub_0807CF30(void* arg0) {
|
||||
return sub_0807D008(3, arg0);
|
||||
}
|
||||
|
||||
u32 sub_0807CF3C(void* arg0) {
|
||||
return sub_0807D008(5, arg0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
|
||||
void sub_080808D8(void) {
|
||||
gScreenTransition.transitionType = 0;
|
||||
}
|
||||
|
||||
void sub_080808E4(void) {
|
||||
|
||||
if (sub_08052638(gScreenTransition.areaID)) {
|
||||
gScreenTransition.transitionType = 0;
|
||||
} else {
|
||||
gScreenTransition.transitionType = 5;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08080904(void) {
|
||||
gScreenTransition.transitionType = 1;
|
||||
}
|
||||
|
||||
void sub_08080910(void) {
|
||||
gScreenTransition.transitionType = 1;
|
||||
}
|
||||
|
|
@ -3,16 +3,10 @@
|
|||
#include "flags.h"
|
||||
#include "functions.h"
|
||||
|
||||
typedef struct {
|
||||
u8 filler[0xAC];
|
||||
u16 unk;
|
||||
} ScreenTransition;
|
||||
|
||||
extern u32 sub_0805C920(Entity*);
|
||||
extern void LoadPalettesByPaletteGroupIndex(u32);
|
||||
extern void (*const gUnk_08108D10[])(Entity*);
|
||||
|
||||
extern ScreenTransition gScreenTransition;
|
||||
extern u8 gUnk_08108D20[];
|
||||
|
||||
void Manager27(Entity *this)
|
||||
|
|
@ -20,10 +14,10 @@ void Manager27(Entity *this)
|
|||
|
||||
gUnk_08108D10[this->action](this);
|
||||
if (CheckLocalFlagByOffset(0x300, this->entityType.form + 0x67)) {
|
||||
gScreenTransition.unk |= (1 << (this->entityType).form);
|
||||
gScreenTransition.field_0xac |= (1 << (this->entityType).form);
|
||||
}
|
||||
else {
|
||||
gScreenTransition.unk &= ~(1 << (this->entityType).form);
|
||||
gScreenTransition.field_0xac &= ~(1 << (this->entityType).form);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,25 +6,13 @@
|
|||
#include "room.h"
|
||||
#include "textbox.h"
|
||||
|
||||
typedef struct {
|
||||
/*0x00*/ u8 filler[0x2C];
|
||||
/*0x2C*/ u8 unk;
|
||||
} ScreenTransition;
|
||||
|
||||
typedef struct {
|
||||
u8 filler[0xa8];
|
||||
Stats stats;
|
||||
} struct_02002A40;
|
||||
|
||||
|
||||
extern void (*gUnk_081115C0[])(Entity*);
|
||||
extern void (*gUnk_081115D0[])(Entity*);
|
||||
|
||||
extern ScreenTransition gScreenTransition;
|
||||
extern u16 gUnk_081115DC[];
|
||||
extern u8 gUnk_08111618[];
|
||||
extern u32* gUnk_081115EC[];
|
||||
extern struct_02002A40 gUnk_02002A40;
|
||||
extern u8 gUnk_08111623[];
|
||||
extern u8 gUnk_0811162B[];
|
||||
extern u16 gUnk_08111664[];
|
||||
|
|
@ -60,7 +48,7 @@ void sub_08068A1C(Entity* this) {
|
|||
int offset;
|
||||
|
||||
(this->entityType).parameter = (this->entityType).form;
|
||||
if (gScreenTransition.unk != 0) {
|
||||
if (gScreenTransition.field_0x24[8] != 0) {
|
||||
offset = 6;
|
||||
bVar1 = 3;
|
||||
|
||||
|
|
@ -114,7 +102,7 @@ void sub_08068AA4(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_08068ADC(Entity* this) {
|
||||
if (gScreenTransition.unk == 2) {
|
||||
if (gScreenTransition.field_0x24[8] == 2) {
|
||||
GetNextFrame(this);
|
||||
}
|
||||
sub_0806FD3C(this);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "flags.h"
|
||||
#include "textbox.h"
|
||||
#include "link.h"
|
||||
#include "structures.h"
|
||||
|
||||
extern void sub_0805E3A0(Entity*, u32);
|
||||
extern void StartCutscene(Entity*, void*);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
#include "sprite.h"
|
||||
#include "textbox.h"
|
||||
#include "npc.h"
|
||||
#include "structures.h"
|
||||
|
||||
extern void sub_0807DD50(Entity*);
|
||||
extern u32 sub_0806F5A4(u32);
|
||||
extern void sub_0806F118(Entity*);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "flags.h"
|
||||
#include "textbox.h"
|
||||
#include "npc.h"
|
||||
#include "structures.h"
|
||||
|
||||
extern void sub_0805E3A0(Entity*, u32);
|
||||
extern void sub_0807DD50(Entity*);
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include "npc.h"
|
||||
#include "textbox.h"
|
||||
#include "link.h"
|
||||
#include "structures.h"
|
||||
|
||||
typedef struct {
|
||||
u8 filler[7];
|
||||
|
|
|
|||
|
|
@ -4,11 +4,6 @@
|
|||
#include "room.h"
|
||||
#include "flags.h"
|
||||
|
||||
typedef struct {
|
||||
u8 filler[9];
|
||||
u8 unk;
|
||||
} ScreenTransition;
|
||||
|
||||
typedef struct {
|
||||
u8 filler[4];
|
||||
u32 unk;
|
||||
|
|
@ -21,7 +16,6 @@ extern void DoFade(u32, u32);
|
|||
|
||||
extern void gUnk_0813AD60;
|
||||
extern void gUnk_0813AD74;
|
||||
extern ScreenTransition gScreenTransition;
|
||||
|
||||
void Simon(Entity *this)
|
||||
{
|
||||
|
|
@ -37,7 +31,7 @@ void Simon(Entity *this)
|
|||
void sub_0806C224(void)
|
||||
{
|
||||
DoExitTransition(&gUnk_0813AD60);
|
||||
gScreenTransition.unk = 6;
|
||||
gScreenTransition.transitionType = 6;
|
||||
}
|
||||
|
||||
void Simon_CreateChest(Entity *this)
|
||||
|
|
@ -51,7 +45,7 @@ void sub_0806C280(void)
|
|||
{
|
||||
SetGlobalFlag(MAROYA_WAKEUP);
|
||||
DoExitTransition(&gUnk_0813AD74);
|
||||
gScreenTransition.unk = 6;
|
||||
gScreenTransition.transitionType = 6;
|
||||
}
|
||||
|
||||
void sub_0806C2A0(u32 *param_1,struct_0806C2A0 *param_2)
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "link.h"
|
||||
#include "textbox.h"
|
||||
#include "flags.h"
|
||||
#include "structures.h"
|
||||
|
||||
typedef struct {
|
||||
u8 frame1;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include "npc.h"
|
||||
#include "textbox.h"
|
||||
#include "flags.h"
|
||||
#include "structures.h"
|
||||
|
||||
extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*);
|
||||
extern void sub_0807DD50(Entity*);
|
||||
|
|
|
|||
|
|
@ -2,11 +2,6 @@
|
|||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
|
||||
typedef struct {
|
||||
u8 filler[64];
|
||||
u32 windcrests;
|
||||
} struct_02002A40;
|
||||
|
||||
extern void sub_0807DD64(Entity*);
|
||||
extern void sub_0807DDAC(Entity*, u32);
|
||||
extern void sub_0807DDE4(Entity*);
|
||||
|
|
@ -15,7 +10,6 @@ extern void PlaySFX(u32);
|
|||
extern Entity* CreateFx (Entity*, u32, u32);
|
||||
|
||||
extern u8 gUnk_08125010;
|
||||
extern struct_02002A40 gUnk_02002A40;
|
||||
|
||||
void Windcrest(Entity *this)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -234,7 +234,7 @@ extern EntityData gUnk_080D6210;
|
|||
|
||||
void sub_0804B5BC(void) {
|
||||
|
||||
if ((u16)gScreenTransition.startPos.HALF.y > 0x40)
|
||||
if ((u16)gScreenTransition.playerStartPos.HALF.y > 0x40)
|
||||
LoadRoomEntityList(&gUnk_080D6210);
|
||||
}
|
||||
|
||||
|
|
@ -1024,7 +1024,7 @@ void sub_0804C018(void) {
|
|||
SetTile(0x4072, 0xc47, 1);
|
||||
|
||||
if (CheckGlobalFlag(MAZE_CLEAR))
|
||||
if (gScreenTransition.startPos.WORD == 0x2780078) // todo: wtf
|
||||
if (gScreenTransition.playerStartPos.WORD == 0x2780078) // todo: wtf
|
||||
PlaySFX(0x72);
|
||||
|
||||
ClearGlobalFlag(MAZE_CLEAR);
|
||||
|
|
|
|||
Loading…
Reference in New Issue