Merge pull request #198 from notyourav/lf

fix flag enum
This commit is contained in:
notyourav 2021-11-15 21:06:02 -08:00 committed by GitHub
commit faeab7f6e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
45 changed files with 179 additions and 185 deletions

View File

@ -145,7 +145,12 @@ typedef enum {
MIZUUMI_00_H00, MIZUUMI_00_H00,
MIZUUMI_00_H01, MIZUUMI_00_H01,
MIZUUMI_00_H02, MIZUUMI_00_H02,
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
MIZUUMI_00_CAP_0, MIZUUMI_00_CAP_0,
#else
HIKYOU_00_T0,
HIKYOU_00_T1,
#endif
MAENIWA_00_00, MAENIWA_00_00,
MAENIWA_00_01, MAENIWA_00_01,
MAENIWA_00_02, MAENIWA_00_02,
@ -166,10 +171,15 @@ typedef enum {
HIKYOU_00_SEKIZOU, HIKYOU_00_SEKIZOU,
HIKYOU_00_14, HIKYOU_00_14,
HIKYOU_00_BOSEKI, HIKYOU_00_BOSEKI,
#if defined(EU) || defined(JP) || defined(DEMO_JP)
HIKYOU_00_H00,
#endif
HIKYOU_00_M0, HIKYOU_00_M0,
HIKYOU_00_M1, HIKYOU_00_M1,
HIKYOU_00_M2, HIKYOU_00_M2,
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
HIKYOU_00_T1, HIKYOU_00_T1,
#endif
LOST_00_ENTER, LOST_00_ENTER,
LOST_00_00, LOST_00_00,
LOST_00_01, LOST_00_01,
@ -184,8 +194,10 @@ typedef enum {
LOST_04_SIBA4, LOST_04_SIBA4,
LOST_05_00, LOST_05_00,
LOST_05_01, LOST_05_01,
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
LOST_05_02, LOST_05_02,
LOST_05_03, LOST_05_03,
#endif
LOST_05_T0, LOST_05_T0,
LOST_05_T1, LOST_05_T1,
MORI_00_HIBI_0, MORI_00_HIBI_0,
@ -208,7 +220,9 @@ typedef enum {
YAMA_03_DOKU_1, YAMA_03_DOKU_1,
YAMA_03_DOKU_2, YAMA_03_DOKU_2,
YAMA_04_CAP_0, YAMA_04_CAP_0,
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
YAMA_04_CAP_1, YAMA_04_CAP_1,
#endif
YAMA_04_R00, YAMA_04_R00,
YAMA_04_HIBI_0, YAMA_04_HIBI_0,
YAMA_04_HIBI_1, YAMA_04_HIBI_1,
@ -281,6 +295,9 @@ typedef enum {
SOUGEN_07_00, SOUGEN_07_00,
SOUGEN_07_01, SOUGEN_07_01,
SOUGEN_07_02, SOUGEN_07_02,
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SOUGEN_07_H00,
#endif
SOUGEN_08_00, SOUGEN_08_00,
SOUGEN_08_01, SOUGEN_08_01,
SOUGEN_08_02, SOUGEN_08_02,
@ -304,7 +321,9 @@ typedef enum {
SUIGEN_00_CAP_1, SUIGEN_00_CAP_1,
SUIGEN_00_R0, SUIGEN_00_R0,
SUIGEN_00_R1, SUIGEN_00_R1,
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
SUIGEN_00_R2, SUIGEN_00_R2,
#endif
SUIGEN_00_h1, SUIGEN_00_h1,
SUIGENGORON_00_CAP_0, SUIGENGORON_00_CAP_0,
DAIGORON_SHIELD, DAIGORON_SHIELD,
@ -316,7 +335,9 @@ typedef enum {
BEANDEMO_04, BEANDEMO_04,
KAKERA_TAKARA_A, KAKERA_TAKARA_A,
KAKERA_TAKARA_E, KAKERA_TAKARA_E,
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
KAKERA_TAKARA_J, KAKERA_TAKARA_J,
#endif
KAKERA_TAKARA_K, KAKERA_TAKARA_K,
KAKERA_TAKARA_L, KAKERA_TAKARA_L,
KAKERA_TAKARA_M, KAKERA_TAKARA_M,
@ -341,7 +362,7 @@ typedef enum {
MACHI_00_T01, MACHI_00_T01,
MACHI_01_DEMO, MACHI_01_DEMO,
MACHI_02_HEISHI, MACHI_02_HEISHI,
MACHI_02_DOG, MACHI_02_DOG, /* Talk to dog as minish */
MACHI_07_BELL, MACHI_07_BELL,
SHOP05_OPEN, SHOP05_OPEN,
MACHI_MES_20, MACHI_MES_20,
@ -353,7 +374,7 @@ typedef enum {
MACHI_MES_40, MACHI_MES_40,
MACHI_MES_60, MACHI_MES_60,
MACHI_MES_50, MACHI_MES_50,
MACHI_DOG_C, MACHI_DOG_C, /* Seen all dog dialogue */
KUMOUE_00_CAP_0, KUMOUE_00_CAP_0,
KUMOUE_01_CAP_0, KUMOUE_01_CAP_0,
KUMOUE_01_T0, KUMOUE_01_T0,
@ -383,10 +404,22 @@ typedef enum {
KUMOUE_02_03, KUMOUE_02_03,
KUMOUE_UNCLE_TALK, KUMOUE_UNCLE_TALK,
KUMOUE_GIRL_TALK, KUMOUE_GIRL_TALK,
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
KS_A06, KS_A06,
KS_B18, KS_B18,
KS_C21, KS_C21,
KS_C25, KS_C25,
#else
MIZUUMI_00_CAP_0,
SUIGEN_00_R2,
YAMA_04_CAP_1,
LOST_05_02,
LOST_05_03,
KAKERA_TAKARA_J,
#endif
#ifdef DEMO_JP
KS_WARPUSE,
#endif
END_1, END_1,
} LocalFlags1; } LocalFlags1;
@ -596,13 +629,21 @@ typedef enum {
MHOUSE_15_CAP_1, MHOUSE_15_CAP_1,
SHOP_03_CAP_0, SHOP_03_CAP_0,
MHOUSE_07_CAP_2, MHOUSE_07_CAP_2,
#ifndef EU
SHOP00_BOMBBAG, SHOP00_BOMBBAG,
CAFE_01_CAP_1, CAFE_01_CAP_1,
#endif
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
KS_A02, KS_A02,
KS_A09, KS_A09,
KS_A18, KS_A18,
KS_B07, KS_B07,
KS_B16, KS_B16,
#endif
#ifdef DEMO_JP
MH01_KS_KUSURI,
MH09_KS_KUSURI,
#endif
END_2, END_2,
} LocalFlags2; } LocalFlags2;
@ -806,8 +847,12 @@ typedef enum {
LV4_HAKA_08_B0, LV4_HAKA_08_B0,
LV4_HAKA_08_K0, LV4_HAKA_08_K0,
MAROYA_1ST, MAROYA_1ST,
#ifndef EU
MACHI_CHIKA2_10_CAP_0, MACHI_CHIKA2_10_CAP_0,
#endif
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
KS_C02, KS_C02,
#endif
END_3, END_3,
} LocalFlags3; } LocalFlags3;
@ -947,12 +992,14 @@ typedef enum {
KOBITO_DOUKUTU_02_H00, KOBITO_DOUKUTU_02_H00,
KOBITO_DOUKUTU_01_T0, KOBITO_DOUKUTU_01_T0,
YAMADOUKUTU_04_CAP_0, YAMADOUKUTU_04_CAP_0,
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
KS_B06, KS_B06,
KS_B15, KS_B15,
KS_B01, KS_B01,
KS_B12, KS_B12,
KS_C12, KS_C12,
KS_C37, KS_C37,
#endif
END_4, END_4,
} LocalFlags4; } LocalFlags4;
@ -1043,7 +1090,9 @@ typedef enum {
LV1_08_01, LV1_08_01,
LV1_01_05, LV1_01_05,
LV1_10_CAP_0, LV1_10_CAP_0,
#if !defined(EU) && !defined(JP)
LV1_12_CAP_0, LV1_12_CAP_0,
#endif
END_5, END_5,
} LocalFlags5; } LocalFlags5;

View File

@ -41,6 +41,10 @@ enum {
PLAYER_PARACHUTE, PLAYER_PARACHUTE,
}; };
enum {
PL_IS_MINISH = (1 << 7),
};
typedef struct { typedef struct {
/*0x00*/ u8 field_0x0[2]; /*0x00*/ u8 field_0x0[2];
/*0x02*/ u8 jumpStatus; /*0x02*/ u8 jumpStatus;

View File

@ -476,7 +476,7 @@ int sub_08017DD4(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
tgt->damage = 4; tgt->damage = 4;
gPlayerEntity.health = sub_08017874(&gPlayerEntity, tgt); gPlayerEntity.health = sub_08017874(&gPlayerEntity, tgt);
tgt->iframes = -12; tgt->iframes = -12;
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
sub_08079D84(); sub_08079D84();
org->iframes = 90; org->iframes = 90;
} else { } else {
@ -532,7 +532,7 @@ s32 sub_08017F40(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
#ifdef EU #ifdef EU
(gPlayerState.flags & 0x81) == 0 && (gPlayerState.flags & 0x81) == 0 &&
#else #else
(gPlayerState.flags & 0x80) == 0 && (gPlayerState.flags & PL_IS_MINISH) == 0 &&
#endif #endif
!gPlayerState.swimState) { !gPlayerState.swimState) {
gPlayerState.field_0x1a[0] |= 0x80u; gPlayerState.field_0x1a[0] |= 0x80u;

View File

@ -268,7 +268,7 @@ void sub_08028CE8(Entity* this) {
this->field_0x80.HALF.HI = 0; this->field_0x80.HALF.HI = 0;
sub_080290E0(this, 3); sub_080290E0(this, 3);
#if defined(USA) || defined(DEMO_USA) #if defined(USA) || defined(DEMO_USA)
SetLocalFlag(0x87); SetLocalFlag(KS_B06);
#endif #endif
return; return;
case 1: case 1:
@ -534,7 +534,7 @@ NONMATCH("asm/non_matching/businessScrub/sub_0802925C.inc", void sub_0802922C(En
switch (offer->field_0x8) { switch (offer->field_0x8) {
case 0x1c: case 0x1c:
SetGlobalFlag(0x5a); SetGlobalFlag(AKINDO_BOTTLE_SELL);
break; break;
} }

View File

@ -816,7 +816,7 @@ void sub_08034BC8(Entity* this) {
} }
void sub_08034C00(Entity* this) { void sub_08034C00(Entity* this) {
if (((gPlayerState.flags & 0x80) != 0) && if (((gPlayerState.flags & PL_IS_MINISH) != 0) &&
CheckPlayerInRegion(this->x.HALF.HI - gRoomControls.roomOriginX, CheckPlayerInRegion(this->x.HALF.HI - gRoomControls.roomOriginX,
this->y.HALF.HI - gRoomControls.roomOriginY + 0xd, 3, 3) != 0) { this->y.HALF.HI - gRoomControls.roomOriginY + 0xd, 3, 3) != 0) {
if (gScreenTransition.field_0x39 >= 0x3d) { if (gScreenTransition.field_0x39 >= 0x3d) {

View File

@ -1352,7 +1352,7 @@ void sub_08043DB0(Entity* this) {
Entity* pEVar3; Entity* pEVar3;
Entity* pEVar4; Entity* pEVar4;
if (((gPlayerState.flags & 0x80) != 0)) { if (((gPlayerState.flags & PL_IS_MINISH) != 0)) {
pEVar3 = ((VaatiArm_HeapStruct*)this->myHeap)->entities[3]; pEVar3 = ((VaatiArm_HeapStruct*)this->myHeap)->entities[3];
if (CheckPlayerInRegion(pEVar3->x.HALF.HI - gRoomControls.roomOriginX, if (CheckPlayerInRegion(pEVar3->x.HALF.HI - gRoomControls.roomOriginX,
pEVar3->y.HALF.HI - gRoomControls.roomOriginY + 2, 3, 3)) { pEVar3->y.HALF.HI - gRoomControls.roomOriginY + 2, 3, 3)) {

View File

@ -21,7 +21,7 @@ void sub_08075A0C(ItemBehavior* this, u32 arg1) {
s8* tmp; s8* tmp;
itemSlot = IsItemEquipped(this->behaviorID); itemSlot = IsItemEquipped(this->behaviorID);
if (gPlayerState.heldObject != 0 || gPlayerState.playerAction == 0x18 || gPlayerState.jumpStatus != 0 || if (gPlayerState.heldObject != 0 || gPlayerState.playerAction == 0x18 || gPlayerState.jumpStatus != 0 ||
gPlayerState.field_0x2c != NULL || (gPlayerState.flags & 0x80) != 0) { gPlayerState.field_0x2c != NULL || (gPlayerState.flags & PL_IS_MINISH) != 0) {
ForceEquipItem(0xf, itemSlot); ForceEquipItem(0xf, itemSlot);
gPlayerState.flags &= 0xff7fffff; gPlayerState.flags &= 0xff7fffff;
ForceEquipItem(0xf, itemSlot); ForceEquipItem(0xf, itemSlot);

View File

@ -23,7 +23,7 @@ void ItemPegasusBoots(ItemBehavior* this, u32 arg1) {
if ((bVar1 & 7) == 0) { if ((bVar1 & 7) == 0) {
SoundReq(SFX_PLY_LAND); SoundReq(SFX_PLY_LAND);
} }
if (((gPlayerState.flags & 0x80) == 0) && ((this->field_0x5[2] & 7) == 0)) { if (((gPlayerState.flags & PL_IS_MINISH) == 0) && ((this->field_0x5[2] & 7) == 0)) {
if (gPlayerState.field_0x10[2] == 0x11) { if (gPlayerState.field_0x10[2] == 0x11) {
if (gPlayerEntity.spriteOffsetY == 0) { if (gPlayerEntity.spriteOffsetY == 0) {
CreateFx(&gPlayerEntity, FX_GREEN_SPLASH, 0); CreateFx(&gPlayerEntity, FX_GREEN_SPLASH, 0);
@ -58,7 +58,7 @@ void sub_080768F8(ItemBehavior* this, u32 arg1) {
if (bVar1 == 0) { if (bVar1 == 0) {
gPlayerState.field_0x1d[1] = 1; gPlayerState.field_0x1d[1] = 1;
gPlayerState.field_0x1d[4] = bVar1; gPlayerState.field_0x1d[4] = bVar1;
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
this->field_0x5[2] = 0x10; this->field_0x5[2] = 0x10;
} else { } else {
gPlayerState.field_0x8 = 0xc14; gPlayerState.field_0x8 = 0xc14;

View File

@ -121,7 +121,7 @@ void sub_080758B0(ItemBehavior* this, u32 arg1) {
ASM_FUNC("asm/non_matching/itemSword/sub_08075900.inc", void sub_08075900(ItemBehavior* this, u32 arg1)) ASM_FUNC("asm/non_matching/itemSword/sub_08075900.inc", void sub_08075900(ItemBehavior* this, u32 arg1))
void sub_080759B8(ItemBehavior* this, u32 arg1) { void sub_080759B8(ItemBehavior* this, u32 arg1) {
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
gPlayerEntity.hurtType = 0; gPlayerEntity.hurtType = 0;
} }
gPlayerState.flags &= 0xf7ffffff; gPlayerState.flags &= 0xf7ffffff;

View File

@ -6,6 +6,7 @@
#include "object.h" #include "object.h"
#include "structures.h" #include "structures.h"
#include "functions.h" #include "functions.h"
#include "enemy.h"
typedef struct { typedef struct {
Manager manager; Manager manager;
@ -88,12 +89,12 @@ void sub_0805A370(Manager15* this) {
void sub_0805A394(Manager15* this) { void sub_0805A394(Manager15* this) {
Entity* ent; Entity* ent;
if ((ent = FindEntityByID(0x3, 0x13, 0x4))) { if ((ent = FindEntityByID(ENEMY, CHUCHU_BOSS, 0x4))) {
if (ent->type != 4) { if (ent->type != 4) {
return; return;
} }
} }
SetLocalFlag(0x48); SetLocalFlag(LV1_16_1STEND);
ClearRoomFlag(0); ClearRoomFlag(0);
gScreen.lcd.displayControl &= 0xB7FF; gScreen.lcd.displayControl &= 0xB7FF;
DeleteThisEntity(); DeleteThisEntity();

View File

@ -157,7 +157,7 @@ void sub_0805B210(Manager1A* this) {
gScreenTransition.areaID = tmp->unk_01; gScreenTransition.areaID = tmp->unk_01;
gScreenTransition.roomID = tmp->unk_02; gScreenTransition.roomID = tmp->unk_02;
gScreenTransition.playerLayer = tmp->unk_03; gScreenTransition.playerLayer = tmp->unk_03;
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
gScreenTransition.field_0xf = 6; gScreenTransition.field_0xf = 6;
} else { } else {
gScreenTransition.field_0xf = 2; gScreenTransition.field_0xf = 2;

View File

@ -76,7 +76,7 @@ void sub_0805C7C4(Manager26* this) {
} }
void sub_0805C7CC(Manager26* this) { void sub_0805C7CC(Manager26* this) {
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
if (gPlayerEntity.y.HALF.HI < this->unk_2a + 0x10) { if (gPlayerEntity.y.HALF.HI < this->unk_2a + 0x10) {
this->manager.unk_0d = 1; this->manager.unk_0d = 1;
} else { } else {

View File

@ -94,7 +94,7 @@ void CreateMagicSparkles(u32 baseX, u32 baseY, u32 layer) {
} }
u32 sub_08057810(void) { u32 sub_08057810(void) {
if ((gPlayerState.flags & 0x80) && !gPlayerState.field_0xaa && (gArea.curPortalType != 0x6) && if ((gPlayerState.flags & PL_IS_MINISH) && !gPlayerState.field_0xaa && (gArea.curPortalType != 0x6) &&
(gPlayerState.heldObject == 0)) { (gPlayerState.heldObject == 0)) {
switch (gPlayerState.field_0xa8) { switch (gPlayerState.field_0xa8) {
case 0: case 0:

View File

@ -18,7 +18,7 @@ void Manager6_Main(Manager6* this) {
for (i = this->warpList; i->posX != 0xFFFF; i++) { for (i = this->warpList; i->posX != 0xFFFF; i++) {
tmp = (i->unk_07.all & 0x3); tmp = (i->unk_07.all & 0x3);
if (((tmp & (gPlayerEntity.collisionLayer)) != 0) && if (((tmp & (gPlayerEntity.collisionLayer)) != 0) &&
(((gPlayerState.flags & 0x80) != 0) || ((i->unk_07.b.unk2) != 0)) && (((gPlayerState.flags & PL_IS_MINISH) != 0) || ((i->unk_07.b.unk2) != 0)) &&
(CheckPlayerInRegion(i->posX, i->posY, i->width, i->height) != 0) && (gPlayerEntity.z.HALF.HI == 0)) { (CheckPlayerInRegion(i->posX, i->posY, i->width, i->height) != 0) && (gPlayerEntity.z.HALF.HI == 0)) {
DoExitTransition(GetCurrentRoomProperty(i->unk_06)); DoExitTransition(GetCurrentRoomProperty(i->unk_06));
} }

View File

@ -59,7 +59,7 @@ void sub_08058408(ManagerA* this) {
return; return;
case 2: case 2:
sub_080585DC(this); sub_080585DC(this);
if ((gPlayerState.flags & 0x80) == 0) if ((gPlayerState.flags & PL_IS_MINISH) == 0)
return; return;
case 0: case 0:
default: default:

View File

@ -360,7 +360,7 @@ void sub_0805938C(ManagerF* this) {
} }
u32 sub_080593CC(ManagerF* this) { u32 sub_080593CC(ManagerF* this) {
if (!(gPlayerState.flags & 0x80) && gPlayerState.swimState != 0 && gPlayerEntity.animationState == 0 && if (!(gPlayerState.flags & PL_IS_MINISH) && gPlayerState.swimState != 0 && gPlayerEntity.animationState == 0 &&
(gPlayerState.field_0x90.HALF.LO & 0xF00) == 0x400) { (gPlayerState.field_0x90.HALF.LO & 0xF00) == 0x400) {
return sub_0806FCB8(&gPlayerEntity, this->unk_38, this->unk_3a + 0xC, 6); return sub_0806FCB8(&gPlayerEntity, this->unk_38, this->unk_3a + 0xC, 6);
} }

View File

@ -95,19 +95,11 @@ void sub_08064644(Entity* this, ScriptExecutionContext* context) {
void sub_0806464C(Entity* this) { void sub_0806464C(Entity* this) {
s32 tmp; s32 tmp;
if (CheckGlobalFlag(0x15) != 0) { if (CheckGlobalFlag(TABIDACHI) != 0) {
tmp = 2; tmp = 2;
#if defined(JP) || defined(EU) || defined(DEMO_JP) } else if (CheckLocalFlag(CASTLE_04_MAID_TALK) == 0) {
} else if (CheckLocalFlag(0x9f) == 0) {
#else
} else if (CheckLocalFlag(0xa0) == 0) {
#endif
tmp = 0; tmp = 0;
#if defined(JP) || defined(EU) || defined(DEMO_JP) SetLocalFlag(CASTLE_04_MAID_TALK);
SetLocalFlag(0x9f);
#else
SetLocalFlag(0xa0);
#endif
} else { } else {
tmp = 1; tmp = 1;
} }

View File

@ -272,7 +272,7 @@ void sub_08067C44(Entity* this) {
s32 iVar4; s32 iVar4;
u32 uVar5; u32 uVar5;
uVar5 = -((s32) - (gPlayerState.flags & 0x80) >> 0x1f); uVar5 = -((s32) - (gPlayerState.flags & PL_IS_MINISH) >> 0x1f);
if (uVar5 != this->field_0x68.HALF.HI) { if (uVar5 != this->field_0x68.HALF.HI) {
if (uVar5 == 0) { if (uVar5 == 0) {
sub_08078778(this); sub_08078778(this);

View File

@ -181,7 +181,7 @@ void Cow_ShowDialogue(Entity* ent) {
void sub_0806920C(Entity* ent) { void sub_0806920C(Entity* ent) {
// TODO: figure out what bitfield flag this is // TODO: figure out what bitfield flag this is
u32 var0 = gPlayerState.flags & 0x80; u32 var0 = gPlayerState.flags & PL_IS_MINISH;
u32 var1 = -var0 >> 0x1F; u32 var1 = -var0 >> 0x1F;
if (var1 != ent->field_0x6c.HALF.HI) { if (var1 != ent->field_0x6c.HALF.HI) {
@ -200,7 +200,7 @@ void sub_0806924C(Entity* ent) {
s8 itype = ent->interactType; s8 itype = ent->interactType;
if (itype != 0) { if (itype != 0) {
// TODO: figure out what bitfield flag this is // TODO: figure out what bitfield flag this is
if ((gPlayerState.flags & 0x80) != 0) { if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
if (itype == 2) { if (itype == 2) {
ent->action = 4; ent->action = 4;
sub_0806F118(ent); sub_0806F118(ent);

View File

@ -59,7 +59,7 @@ void sub_0806E648(Entity* this) {
void sub_0806E65C(Entity* this) { void sub_0806E65C(Entity* this) {
if (this->interactType != 0) { if (this->interactType != 0) {
if ((gPlayerState.flags & 0x80) != 0) { if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
if (this->interactType == 2) { if (this->interactType == 2) {
this->action = 4; this->action = 4;
sub_0806F118(this); sub_0806F118(this);

View File

@ -53,7 +53,7 @@ void sub_0806E824(Entity* this) {
void sub_0806E838(Entity* this) { void sub_0806E838(Entity* this) {
if (this->interactType != 0) { if (this->interactType != 0) {
if ((gPlayerState.flags & 0x80) != 0) { if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
if (this->interactType == 2) { if (this->interactType == 2) {
this->action = 3; this->action = 3;
sub_0806F118(this); sub_0806F118(this);

View File

@ -57,9 +57,9 @@ void sub_0806BE84(Entity* this, ScriptExecutionContext* context) {
context->condition = 0; context->condition = 0;
msgIndex = 1; msgIndex = 1;
if (!CheckLocalFlag(0x69)) { if (!CheckLocalFlag(DANPEI_TALK1ST)) {
msgIndex = 0; msgIndex = 0;
SetLocalFlag(0x69); SetLocalFlag(DANPEI_TALK1ST);
context->condition = 1; context->condition = 1;
} }
// Graveyard key // Graveyard key

View File

@ -71,7 +71,7 @@ void sub_08069B44(Entity* this) {
if ((this->flags & 2) != 0) { if ((this->flags & 2) != 0) {
sub_0807DD50(this); sub_0807DD50(this);
} }
if (((this->type == 0) && ((gPlayerState.flags & 0x80) == 0)) && (GetInventoryValue(0x36) != 2)) { if (((this->type == 0) && ((gPlayerState.flags & PL_IS_MINISH) == 0)) && (GetInventoryValue(0x36) != 2)) {
this->action = 4; this->action = 4;
} }
#if defined(JP) || defined(EU) || defined(DEMO_JP) #if defined(JP) || defined(EU) || defined(DEMO_JP)
@ -87,7 +87,7 @@ void sub_08069B44(Entity* this) {
void sub_08069C40(Entity* this) { void sub_08069C40(Entity* this) {
UpdateAnimationSingleFrame(this); UpdateAnimationSingleFrame(this);
if (sub_08069F90(this) != 0) { if (sub_08069F90(this) != 0) {
if ((gPlayerState.flags & 0x80) != 0) { if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
sub_08069CB8(this); sub_08069CB8(this);
} else { } else {
this->animationState = GetAnimationState(this); this->animationState = GetAnimationState(this);
@ -270,11 +270,7 @@ void sub_08069F6C(Entity* this) {
} }
u32 sub_08069F90(Entity* this) { u32 sub_08069F90(Entity* this) {
#if defined(JP) || defined(EU) || defined(DEMO_JP) if ((this->type == 2) && (CheckLocalFlag(MACHI_02_DOG) == 0)) {
if ((this->type == 2) && (CheckLocalFlag(0xcc) == 0)) {
#else
if ((this->type == 2) && (CheckLocalFlag(0xcf) == 0)) {
#endif
return 1; return 1;
} else { } else {
return sub_080041A0(this, &gPlayerEntity, 0x14, 0x14); return sub_080041A0(this, &gPlayerEntity, 0x14, 0x14);
@ -282,14 +278,14 @@ u32 sub_08069F90(Entity* this) {
} }
void sub_08069FBC(Entity* this) { void sub_08069FBC(Entity* this) {
u32 tmp = (gPlayerState.flags & 0x80) != 0 ? 0x24 : 0x20; u32 tmp = (gPlayerState.flags & PL_IS_MINISH) != 0 ? 0x24 : 0x20;
if ((this->animationState == 1) || (this->animationState == 3)) { if ((this->animationState == 1) || (this->animationState == 3)) {
this->field_0x6a.HALF.HI = tmp; this->field_0x6a.HALF.HI = tmp;
} }
} }
void sub_08069FE8(Entity* this) { void sub_08069FE8(Entity* this) {
u32 tmp = -((s32) - (gPlayerState.flags & 0x80) >> 0x1f); u32 tmp = -((s32) - (gPlayerState.flags & PL_IS_MINISH) >> 0x1f);
if (tmp != this->field_0x6a.HALF.LO) { if (tmp != this->field_0x6a.HALF.LO) {
if (tmp == 0) { if (tmp == 0) {
sub_08078778(this); sub_08078778(this);
@ -302,7 +298,7 @@ void sub_08069FE8(Entity* this) {
void sub_0806A028(Entity* this) { void sub_0806A028(Entity* this) {
if (this->interactType != 0) { if (this->interactType != 0) {
if ((gPlayerState.flags & 0x80) != 0) { if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
if (this->interactType == 2) { if (this->interactType == 2) {
this->action = 6; this->action = 6;
sub_0806F118(this); sub_0806F118(this);
@ -326,41 +322,20 @@ void sub_0806A080(Entity* this) {
void sub_0806A0A4(Entity* this) { void sub_0806A0A4(Entity* this) {
s32 dialog; s32 dialog;
if ((gPlayerState.flags & 0x80) != 0) { if (gPlayerState.flags & PL_IS_MINISH) {
dialog = 4; dialog = 4;
#if defined(JP) || defined(EU) || defined(DEMO_JP) if (CheckLocalFlag(MACHI_02_DOG) == 0) {
if (CheckLocalFlag(0xcc) == 0) {
#else
if (CheckLocalFlag(0xcf) == 0) {
#endif
dialog = 3; dialog = 3;
#if defined(JP) || defined(EU) || defined(DEMO_JP) SetLocalFlag(MACHI_02_DOG);
SetLocalFlag(0xcc);
#else
SetLocalFlag(0xcf);
#endif
sub_0807BA8C(TILE(this->x.HALF.HI, this->y.HALF.HI - 8), (u32)this->collisionLayer); sub_0807BA8C(TILE(this->x.HALF.HI, this->y.HALF.HI - 8), (u32)this->collisionLayer);
} }
} else { } else {
dialog = 2; dialog = 2;
#if defined(JP) || defined(EU) || defined(DEMO_JP) if (CheckLocalFlag(MACHI_02_DOG) == 0) {
if (CheckLocalFlag(0xcc) == 0) {
#else
if (CheckLocalFlag(0xcf) == 0) {
#endif
dialog = 1; dialog = 1;
#if defined(JP) || defined(EU) || defined(DEMO_JP) if (CheckLocalFlag(MACHI_DOG_C) == 0) {
if (CheckLocalFlag(0xd8) == 0) {
#else
if (CheckLocalFlag(0xdb) == 0) {
#endif
dialog = 0; dialog = 0;
#if defined(JP) || defined(EU) || defined(DEMO_JP) SetLocalFlag(MACHI_DOG_C);
SetLocalFlag(0xd8);
#else
SetLocalFlag(0xdb);
#endif
} }
} }
} }
@ -369,9 +344,9 @@ void sub_0806A0A4(Entity* this) {
void sub_0806A144(Entity* this) { void sub_0806A144(Entity* this) {
s32 dialog = 4; s32 dialog = 4;
if ((gPlayerState.flags & 0x80) != 0) { if (gPlayerState.flags & PL_IS_MINISH) {
dialog = 3; dialog = 3;
if ((GetInventoryValue(0x46) == 0) && (CheckGlobalFlag(0x29) != 0)) { if (GetInventoryValue(0x46) == 0 && CheckGlobalFlag(MIZUKAKI_START)) {
if (CheckLocalFlag(0x85) == 0) { if (CheckLocalFlag(0x85) == 0) {
dialog = 1; dialog = 1;
} else { } else {

View File

@ -66,9 +66,9 @@ void sub_0806C038(Entity* this) {
if (GetInventoryValue(0x46) == 0) { if (GetInventoryValue(0x46) == 0) {
if (GetInventoryValue(0x3a) == 0) { if (GetInventoryValue(0x3a) == 0) {
index = 6; index = 6;
if (CheckLocalFlag(0xaf) == 0) { if (CheckLocalFlag(LEFT_TALK) == 0) {
index = 5; index = 5;
SetLocalFlag(0xaf); SetLocalFlag(LEFT_TALK);
} }
} else { } else {
index = 7; index = 7;

View File

@ -58,7 +58,7 @@ void sub_08065A50(Entity* this) {
void sub_08065A64(Entity* this) { void sub_08065A64(Entity* this) {
u32 uVar2; u32 uVar2;
uVar2 = -(gPlayerState.flags & 0x80) >> 0x1f; uVar2 = -(gPlayerState.flags & PL_IS_MINISH) >> 0x1f;
if (uVar2 != this->field_0x68.HALF.HI) { if (uVar2 != this->field_0x68.HALF.HI) {
if (uVar2 == 0) { if (uVar2 == 0) {
sub_08078778(this); sub_08078778(this);
@ -71,7 +71,7 @@ void sub_08065A64(Entity* this) {
void sub_08065AA4(Entity* this) { void sub_08065AA4(Entity* this) {
if (this->interactType != 0) { if (this->interactType != 0) {
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
if (this->interactType == 2) { if (this->interactType == 2) {
this->action = 4; this->action = 4;
sub_0806F118(this); sub_0806F118(this);

View File

@ -30,7 +30,7 @@ void Gina(Entity* this) {
if (UpdateFuseInteraction(this) != 0) { if (UpdateFuseInteraction(this) != 0) {
this->action = 1; this->action = 1;
#if defined(USA) || defined(DEMO_USA) #if defined(USA) || defined(DEMO_USA)
SetLocalFlag(0x88); SetLocalFlag(KS_B15);
#endif #endif
} }
break; break;

View File

@ -57,10 +57,10 @@ void sub_0806CE80(Entity* this) {
// flippers // flippers
if (GetInventoryValue(0x46) == 0) { if (GetInventoryValue(0x46) == 0) {
if (CheckLocalFlag(0x70) != 0) { if (CheckLocalFlag(0x70) != 0) {
v2 = CheckLocalFlag(0x71); v2 = CheckLocalFlag(MIZUKAKI_HINT3_MAYOR);
if (v2 == 0) { if (v2 == 0) {
v = 0xb; v = 0xb;
SetLocalFlag(0x71); SetLocalFlag(MIZUKAKI_HINT3_MAYOR);
} else { } else {
v = 0xc; v = 0xc;
} }
@ -68,10 +68,10 @@ void sub_0806CE80(Entity* this) {
v = 0xa; v = 0xa;
} }
} else { } else {
v2 = CheckLocalFlag(0x89); v2 = CheckLocalFlag(MAYOR_2_TALK1ST);
if (v2 == 0) { if (v2 == 0) {
v = 0xd; v = 0xd;
SetLocalFlag(0x89); SetLocalFlag(MAYOR_2_TALK1ST);
} else { } else {
v = 0xe; v = 0xe;
} }

View File

@ -105,39 +105,19 @@ void sub_0806DAD0(Entity* this) {
void sub_0806DAE8(Entity* this) { void sub_0806DAE8(Entity* this) {
switch (this->type - 1) { switch (this->type - 1) {
case 0: case 0:
#if defined(JP) || defined(EU) || defined(DEMO_JP) SetLocalFlag(KUMOUE_02_AWASE_01);
SetLocalFlag(0xeb);
#else
SetLocalFlag(0xee);
#endif
break; break;
case 1: case 1:
#if defined(JP) || defined(EU) || defined(DEMO_JP) SetLocalFlag(KUMOUE_02_AWASE_02);
SetLocalFlag(0xec);
#else
SetLocalFlag(0xef);
#endif
break; break;
case 2: case 2:
#if defined(JP) || defined(EU) || defined(DEMO_JP) SetLocalFlag(KUMOUE_02_AWASE_03);
SetLocalFlag(0xed);
#else
SetLocalFlag(0xf0);
#endif
break; break;
case 3: case 3:
#if defined(JP) || defined(EU) || defined(DEMO_JP) SetLocalFlag(KUMOUE_02_AWASE_04);
SetLocalFlag(0xee);
#else
SetLocalFlag(0xf1);
#endif
break; break;
case 4: case 4:
#if defined(JP) || defined(EU) || defined(DEMO_JP) SetLocalFlag(KUMOUE_02_AWASE_05);
SetLocalFlag(0xef);
#else
SetLocalFlag(0xf2);
#endif
break; break;
} }
@ -147,13 +127,9 @@ void sub_0806DAE8(Entity* this) {
void sub_0806DB44(Entity* this, ScriptExecutionContext* context) { void sub_0806DB44(Entity* this, ScriptExecutionContext* context) {
context->condition = 0; context->condition = 0;
#if defined(JP) || defined(EU) || defined(DEMO_JP) if (CheckLocalFlag(KUMOUE_02_AWASE_01) && CheckLocalFlag(KUMOUE_02_AWASE_02) &&
if (CheckLocalFlag(0xeb) != 0 && CheckLocalFlag(0xec) != 0 && CheckLocalFlag(0xed) != 0 && CheckLocalFlag(KUMOUE_02_AWASE_03) && CheckLocalFlag(KUMOUE_02_AWASE_04) &&
CheckLocalFlag(0xee) != 0 && CheckLocalFlag(0xef) != 0) { CheckLocalFlag(KUMOUE_02_AWASE_05)) {
#else
if (CheckLocalFlag(0xee) != 0 && CheckLocalFlag(0xef) != 0 && CheckLocalFlag(0xf0) != 0 &&
CheckLocalFlag(0xf1) != 0 && CheckLocalFlag(0xf2) != 0) {
#endif
context->condition = 1; context->condition = 1;
} }
@ -262,11 +238,10 @@ void NPC4E_Fusion(Entity* this) {
const Hitbox gUnk_08114154 = { 0, -8, 0, 0, 0, 0, 24, 8 }; const Hitbox gUnk_08114154 = { 0, -8, 0, 0, 0, 0, 24, 8 };
const u8 gUnk_0811415C[] = { // const u8 gUnk_0811415C[] = { //
0x00, 0x00, 0x08, 0x08, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x0e, 0x00, 0x00, 0x08, 0x08, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x0e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00,
0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x0e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x06, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x04, 0x00, 0x08, 0x10, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x08, 0x0e, 0x00, 0x00, 0x00,
0x0e, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x08, 0x0e, 0x00, 0x00, 0x00,
#ifndef EU #ifndef EU
0x00, 0x00, 0x58, 0x08, 0x0e, 0x00, 0x00, 0x00 0x00, 0x00, 0x58, 0x08, 0x0e, 0x00, 0x00, 0x00
#endif #endif
@ -289,16 +264,14 @@ extern ScreenTransitionData gUnk_0813ACFC;
// Array of pointers to ScreenTransitionData // Array of pointers to ScreenTransitionData
const ScreenTransitionData* const gUnk_081141A4[] = { // const ScreenTransitionData* const gUnk_081141A4[] = { //
&gUnk_0813AB6C, &gUnk_0813ABBC, &gUnk_0813ABE4, &gUnk_0813ABF8, &gUnk_0813AB6C, &gUnk_0813ABBC, &gUnk_0813ABE4, &gUnk_0813ABF8, &gUnk_0813AC0C, &gUnk_0813AC20,
&gUnk_0813AC0C, &gUnk_0813AC20, &gUnk_0813AC5C, &gUnk_0813AC70, &gUnk_0813AC5C, &gUnk_0813AC70, &gUnk_0813AC84, &gUnk_0813AC98, &gUnk_0813ACAC, &gUnk_0813ACC0,
&gUnk_0813AC84, &gUnk_0813AC98, &gUnk_0813ACAC, &gUnk_0813ACC0,
&gUnk_0813ACD4, &gUnk_0813ACE8, &gUnk_0813AC5C, &gUnk_0813ACFC &gUnk_0813ACD4, &gUnk_0813ACE8, &gUnk_0813AC5C, &gUnk_0813ACFC
}; };
// param_2 for the call to sub_0808091C, same indices as gUnk_081141A4 // param_2 for the call to sub_0808091C, same indices as gUnk_081141A4
const u8 gUnk_081141E4[] = { // const u8 gUnk_081141E4[] = { //
0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x09, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x09, 0x02, 0x02, 0x04, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02
0x02, 0x04, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02
}; };
// tiles that are changed? // tiles that are changed?

View File

@ -102,9 +102,9 @@ void sub_0806B504(Entity* this) {
idx = 1; idx = 1;
if (CheckKinstoneFused(0x21)) { if (CheckKinstoneFused(0x21)) {
idx = 3; idx = 3;
} else if (!CheckLocalFlag(0x86)) { } else if (!CheckLocalFlag(URO_POEMN_TALK)) {
idx = 0; idx = 0;
SetLocalFlag(0x86); SetLocalFlag(URO_POEMN_TALK);
} }
MessageNoOverlap(gUnk_08112E54[idx], this); MessageNoOverlap(gUnk_08112E54[idx], this);

View File

@ -50,8 +50,8 @@ bool32 sub_08062EDC(Entity* this, ScriptExecutionContext* context) {
if (GetInventoryValue(0x6b) != 0) { if (GetInventoryValue(0x6b) != 0) {
tmp = 3; tmp = 3;
} }
if (CheckLocalFlag(0x5b) == 0) { if (CheckLocalFlag(SHOP03_PAN_1ST) == 0) {
SetLocalFlag(0x5b); SetLocalFlag(SHOP03_PAN_1ST);
tmp = 4; tmp = 4;
} }
if ((Random() & 0xff) > gUnk_0810C430[tmp]) { if ((Random() & 0xff) > gUnk_0810C430[tmp]) {

View File

@ -225,7 +225,7 @@ void sub_0806A890(Entity* this) {
void sub_0806A8C8(Entity* this) { void sub_0806A8C8(Entity* this) {
Entity* entity; Entity* entity;
if ((CheckLocalFlag(0x60) == 0) && (entity = CreateNPC(0x37, 2, 0), entity != NULL)) { if ((CheckLocalFlag(SHOP02_KUTSU_00) == 0) && (entity = CreateNPC(0x37, 2, 0), entity != NULL)) {
CopyPosition(this, entity); CopyPosition(this, entity);
entity->parent = this; entity->parent = this;
} }
@ -278,7 +278,7 @@ void sub_0806A9B0(Entity* this, ScriptExecutionContext* context) {
this->actionDelay = gUnk_081122A0[Random() & 7]; this->actionDelay = gUnk_081122A0[Random() & 7];
this->field_0x80.HWORD = 9; this->field_0x80.HWORD = 9;
InitializeAnimation(this, 9); InitializeAnimation(this, 9);
SetLocalFlag(0x62); SetLocalFlag(NPC37_REM_SLEEP);
} }
void sub_0806A9E8(Entity* this) { void sub_0806A9E8(Entity* this) {

View File

@ -20,7 +20,7 @@ void SmallTownMinish(Entity* this) {
} else { } else {
sub_0807DD94(this, NULL); sub_0807DD94(this, NULL);
} }
if ((gPlayerState.flags & 0x80) != 0) { if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
this->spriteSettings.draw = 1; this->spriteSettings.draw = 1;
} else { } else {
this->spriteSettings.draw = 0; this->spriteSettings.draw = 0;

View File

@ -260,17 +260,17 @@ void sub_0806B004(Entity* this, ScriptExecutionContext* context) {
if (CheckLocalFlag(0x73)) { if (CheckLocalFlag(0x73)) {
if (GetInventoryValue(0x46) == 0) { if (GetInventoryValue(0x46) == 0) {
idx = 3; idx = 3;
if (CheckLocalFlag(0x78) == 0) { if (CheckLocalFlag(KHOUSE51_00) == 0) {
idx = 2; idx = 2;
context->condition = 1; context->condition = 1;
SetLocalFlag(0x78); SetLocalFlag(KHOUSE51_00);
} }
} else { } else {
idx = 4; idx = 4;
} }
} else { } else {
idx = 1; idx = 1;
SetLocalFlag(0x6a); SetLocalFlag(MIZUKAKI_KOBITO);
} }
} }
MessageNoOverlap(gUnk_08112C40[idx], this); MessageNoOverlap(gUnk_08112C40[idx], this);
@ -318,13 +318,13 @@ void sub_0806B134(Entity* this) {
if (GetInventoryValue(0x45)) { if (GetInventoryValue(0x45)) {
idx = 2; idx = 2;
if (CheckLocalFlag(0x7b) == 0) { if (CheckLocalFlag(KHOUSE42_00) == 0) {
idx = 1; idx = 1;
SetLocalFlag(0x7b); SetLocalFlag(KHOUSE42_00);
} }
} else { } else {
idx = 0; idx = 0;
SetGlobalFlag(0x4a); SetGlobalFlag(POWERGLOVE_HINT);
} }
if (5 < gSave.unk8) { if (5 < gSave.unk8) {
idx = 3; idx = 3;

View File

@ -72,7 +72,7 @@ void sub_08098DC4(Entity* this) {
gPlayerState.field_0x34[5] = this->type2; gPlayerState.field_0x34[5] = this->type2;
this->action = 4; this->action = 4;
if (this->type2 == 1) { if (this->type2 == 1) {
SetGlobalFlag(0x23); SetGlobalFlag(TATSUMAKI);
} }
sub_08077B20(); sub_08077B20();
} }

View File

@ -98,7 +98,7 @@ void sub_0809D0AC(Entity* this) {
this->action = 1; this->action = 1;
this->z.WORD = 0; this->z.WORD = 0;
this->collisionLayer = 1; this->collisionLayer = 1;
SetLocalFlag(0x45); SetLocalFlag(LV3_OCARINA_FALL);
SoundReq(SFX_SECRET); SoundReq(SFX_SECRET);
fx = CreateFx(this, FX_DASH, 0); fx = CreateFx(this, FX_DASH, 0);
if (fx != NULL) { if (fx != NULL) {
@ -119,7 +119,7 @@ void sub_0809D10C(Entity* this) {
} }
void sub_0809D130(Entity* this) { void sub_0809D130(Entity* this) {
if ((gPlayerState.flags & 0x80) != 0) { if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
sub_0800445C(this); sub_0800445C(this);
} else if (sub_08017850(this) != 0) { } else if (sub_08017850(this) != 0) {
CreateItemEntity(0x17, 0, 0); CreateItemEntity(0x17, 0, 0);

View File

@ -26,7 +26,7 @@ void sub_0809B3C4(Entity* this) {
DeleteThisEntity(); DeleteThisEntity();
} }
} else { } else {
if (CheckLocalFlag(0x73)) { if (CheckLocalFlag(MIZUKAKI_BOOK_ALLBACK)) {
DeleteThisEntity(); DeleteThisEntity();
} }
@ -143,7 +143,7 @@ void sub_0809B56C(Entity* this) {
} }
void sub_0809B5B4(Entity* this) { void sub_0809B5B4(Entity* this) {
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
sub_0800445C(this); sub_0800445C(this);
} else if (sub_08017850(this)) { } else if (sub_08017850(this)) {
CreateItemEntity(this->type + 0x39, 0, 0); CreateItemEntity(this->type + 0x39, 0, 0);

View File

@ -153,7 +153,7 @@ Entity* sub_08081D74(Entity* this) {
} }
ent = 0; ent = 0;
if (sub_08081E0C(this)) { if (sub_08081E0C(this)) {
if (!(gPlayerState.flags & 0x10) && !(gPlayerState.flags & 0x80)) { if (!(gPlayerState.flags & 0x10) && !(gPlayerState.flags & PL_IS_MINISH)) {
ent = &gPlayerEntity; ent = &gPlayerEntity;
} }
} else { } else {

View File

@ -59,7 +59,7 @@ static void sub_0808E714(Entity* this) {
static void sub_0808E764(Entity* this) { static void sub_0808E764(Entity* this) {
sub_08080CB4(this); sub_08080CB4(this);
if (!(gPlayerState.flags & 0x80) && sub_08017850(this)) { if (!(gPlayerState.flags & PL_IS_MINISH) && sub_08017850(this)) {
SetFlag(this->cutsceneBeh.HWORD); SetFlag(this->cutsceneBeh.HWORD);
CreateItemEntity(0x62, 0, 0); CreateItemEntity(0x62, 0, 0);
DeleteThisEntity(); DeleteThisEntity();

View File

@ -32,7 +32,7 @@ void LilypadSmall(Entity* this) {
} }
u32 sub_08097ADC(Entity* this) { u32 sub_08097ADC(Entity* this) {
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
return 0; return 0;
} else if (sub_080041A0(this, &gPlayerEntity, 8, 8) == 0) { } else if (sub_080041A0(this, &gPlayerEntity, 8, 8) == 0) {
return 0; return 0;

View File

@ -31,8 +31,8 @@ void sub_08090F00(Entity* this) {
DeleteThisEntity(); DeleteThisEntity();
} }
} }
if ((gPlayerState.flags & 0x80) && sub_080041A0(this, &gPlayerEntity, 4, 4) && (gPlayerEntity.z.HALF.HI == 0) && if ((gPlayerState.flags & PL_IS_MINISH) && sub_080041A0(this, &gPlayerEntity, 4, 4) &&
(((u16)gPlayerState.field_0x90.HALF.LO) & gUnk_0812225C[this->type2])) { (gPlayerEntity.z.HALF.HI == 0) && (((u16)gPlayerState.field_0x90.HALF.LO) & gUnk_0812225C[this->type2])) {
DoExitTransition(GetCurrentRoomProperty(this->actionDelay)); DoExitTransition(GetCurrentRoomProperty(this->actionDelay));
} }
} }

View File

@ -85,7 +85,7 @@ void sub_08082310(Entity* this) {
this->direction = (tileType - 0x4001) * 8; this->direction = (tileType - 0x4001) * 8;
this->actionDelay = 32; this->actionDelay = 32;
this->action = 4; this->action = 4;
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
this->speed >>= 1; this->speed >>= 1;
this->actionDelay = 64; this->actionDelay = 64;
} }
@ -184,7 +184,7 @@ void sub_08082614(Entity* this) {
} }
this->action = 1; this->action = 1;
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
this->speed <<= 1; this->speed <<= 1;
} }

View File

@ -206,7 +206,7 @@ void sub_0808B73C(Entity* this) {
} }
u32 sub_0808B7C8(Entity* this) { u32 sub_0808B7C8(Entity* this) {
if (!(gPlayerState.flags & 0x80) && gPlayerState.field_0xa8 != 0x12 && gPlayerEntity.health != 0 && if (!(gPlayerState.flags & PL_IS_MINISH) && gPlayerState.field_0xa8 != 0x12 && gPlayerEntity.health != 0 &&
sub_08079F8C() && sub_080041A0(this, &gPlayerEntity, 5, 5) && gPlayerEntity.z.HALF.HI == 0) { sub_08079F8C() && sub_080041A0(this, &gPlayerEntity, 5, 5) && gPlayerEntity.z.HALF.HI == 0) {
if (this->actionDelay == 0 && gPlayerEntity.action == 0x1b) { if (this->actionDelay == 0 && gPlayerEntity.action == 0x1b) {
sub_080791D0(); sub_080791D0();

View File

@ -160,7 +160,7 @@ void sub_08070C3C(Entity* this) {
gPlayerState.jumpStatus = 0; gPlayerState.jumpStatus = 0;
if ((gPlayerState.flags & 0x80) != 0) if ((gPlayerState.flags & PL_IS_MINISH) != 0)
gPlayerState.field_0x8 = 0x1ba; gPlayerState.field_0x8 = 0x1ba;
else if ((gPlayerState.flags & 8) != 0) else if ((gPlayerState.flags & 8) != 0)
gPlayerState.field_0x8 = 0x458; gPlayerState.field_0x8 = 0x458;
@ -205,7 +205,7 @@ void sub_08070D38(Entity* this) {
this->actionDelay = gPlayerState.field_0x38; this->actionDelay = gPlayerState.field_0x38;
this->spriteIndex = 1; this->spriteIndex = 1;
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
this->zVelocity = 0x20000; this->zVelocity = 0x20000;
gPlayerState.field_0x8 = 0x114; gPlayerState.field_0x8 = 0x114;
sub_08080964(16, 0); sub_08080964(16, 0);
@ -259,7 +259,7 @@ NONMATCH("asm/non_matching/player/sub_08070DC4.inc", void sub_08070DC4(Entity* t
this->actionDelay = 8; this->actionDelay = 8;
this->subAction++; this->subAction++;
if ((gPlayerState.flags & 0x80) == 0) if ((gPlayerState.flags & PL_IS_MINISH) == 0)
gPlayerState.field_0x8 = 0x100; gPlayerState.field_0x8 = 0x100;
} }
END_NONMATCH END_NONMATCH
@ -290,7 +290,7 @@ void sub_08070EDC(Entity* this) {
if ((gMessage.doTextBox & 0x7f) != 0) if ((gMessage.doTextBox & 0x7f) != 0)
this->subAction = 1; this->subAction = 1;
if ((gPlayerState.flags & 0x80) == 0) if ((gPlayerState.flags & PL_IS_MINISH) == 0)
sub_08079938(); sub_08079938();
else else
gPlayerState.field_0x8 = 0xc18; gPlayerState.field_0x8 = 0xc18;
@ -330,7 +330,7 @@ void sub_08070FA4(Entity* this) {
gPlayerState.flags |= 1; gPlayerState.flags |= 1;
gPlayerState.jumpStatus = 0; gPlayerState.jumpStatus = 0;
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
if (gPlayerState.flags & 0x8) { if (gPlayerState.flags & 0x8) {
if (sub_080542AC(gPlayerState.field_0x38)) { if (sub_080542AC(gPlayerState.field_0x38)) {
temp = 0x45e; temp = 0x45e;
@ -390,7 +390,7 @@ void sub_080710A8(Entity* this) {
gPlayerState.playerAction = 0; gPlayerState.playerAction = 0;
if ((gPlayerState.heldObject | gPlayerState.field_0x1a[1]) == 0) { if ((gPlayerState.heldObject | gPlayerState.field_0x1a[1]) == 0) {
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
ResetPlayer(); ResetPlayer();
if ((gPlayerState.flags & 0x8) != 0) { if ((gPlayerState.flags & 0x8) != 0) {
@ -455,7 +455,7 @@ void sub_08071130(Entity* this) {
this->actionDelay = 6; this->actionDelay = 6;
if (((gPlayerState.heldObject | gPlayerState.keepFacing) == 0) && ((gPlayerState.flags & 0x80) == 0)) { if (((gPlayerState.heldObject | gPlayerState.keepFacing) == 0) && ((gPlayerState.flags & PL_IS_MINISH) == 0)) {
if (gPlayerState.flags & 0x8) { if (gPlayerState.flags & 0x8) {
gPlayerState.field_0x8 = 0x424; gPlayerState.field_0x8 = 0x424;
} else { } else {
@ -472,7 +472,7 @@ void sub_08071130(Entity* this) {
void sub_08071208(Entity* this) { void sub_08071208(Entity* this) {
if ((gPlayerState.heldObject | gPlayerState.keepFacing) == 0) { if ((gPlayerState.heldObject | gPlayerState.keepFacing) == 0) {
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
UpdateAnimationSingleFrame(this); UpdateAnimationSingleFrame(this);
} }
} }
@ -494,7 +494,7 @@ void sub_0807127C(Entity* this) {
this->subAction = 1; this->subAction = 1;
this->spritePriority.b1 = 0; this->spritePriority.b1 = 0;
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
this->actionDelay = 0x3c; this->actionDelay = 0x3c;
gPlayerState.field_0x8 = 0xc19; gPlayerState.field_0x8 = 0xc19;
SoundReq(SFX_WATER_SPLASH); SoundReq(SFX_WATER_SPLASH);
@ -519,7 +519,7 @@ void sub_080712F0(Entity* this) {
temp = FALSE; temp = FALSE;
if ((gPlayerState.flags & 0x80) != 0) { if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
if (--this->actionDelay == 0) if (--this->actionDelay == 0)
temp = TRUE; temp = TRUE;
} else if ((this->frame & 0x80) != 0) { } else if ((this->frame & 0x80) != 0) {
@ -657,7 +657,7 @@ void PortalActivateUpdate(Entity* this) {
UpdateAnimationSingleFrame(this); UpdateAnimationSingleFrame(this);
if (gPlayerState.flags & 0x80) if (gPlayerState.flags & PL_IS_MINISH)
this->subAction = 4; this->subAction = 4;
} }
@ -747,7 +747,7 @@ void sub_080718A0(Entity* this) {
gUnk_03003DC0.unk0 = 6; gUnk_03003DC0.unk0 = 6;
this->updateConditions = 6; this->updateConditions = 6;
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
this->subAction = 2; this->subAction = 2;
this->spritePriority.b1 = 0; this->spritePriority.b1 = 0;
sub_08052BB8(); sub_08052BB8();
@ -794,7 +794,7 @@ void sub_08071990(Entity* this) {
if ((gMessage.doTextBox & 0x7f) == 0) { if ((gMessage.doTextBox & 0x7f) == 0) {
this->subAction++; this->subAction++;
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
if (this->animationState == 2) if (this->animationState == 2)
gPlayerState.field_0x8 = 0x3cd; gPlayerState.field_0x8 = 0x3cd;
else else
@ -806,7 +806,7 @@ void sub_08071990(Entity* this) {
return; return;
} }
if (gPlayerState.flags & 0x80) if (gPlayerState.flags & PL_IS_MINISH)
return; return;
if (this->animationState == 2) if (this->animationState == 2)
@ -856,7 +856,7 @@ void sub_08071AB0(Entity* this) {
this->actionDelay = 0; this->actionDelay = 0;
this->field_0xf = 1; this->field_0xf = 1;
} else { } else {
this->speed = (gPlayerState.flags & 0x80) ? 64 : 128; this->speed = (gPlayerState.flags & PL_IS_MINISH) ? 64 : 128;
} }
sub_08071AF0(this); sub_08071AF0(this);
} }
@ -891,7 +891,7 @@ void sub_08071B60(Entity* this) {
this->knockbackDuration = 0; this->knockbackDuration = 0;
sub_080728AC(this); sub_080728AC(this);
this->field_0xf = 6; this->field_0xf = 6;
if ((gPlayerState.flags & 0x80) == 0) { if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
gPlayerState.field_0x8 = 0x104; gPlayerState.field_0x8 = 0x104;
this->spriteIndex = 3; this->spriteIndex = 3;
InitAnimationForceUpdate(this, (this->animationState >> 1) + 0x3c); InitAnimationForceUpdate(this, (this->animationState >> 1) + 0x3c);
@ -921,7 +921,7 @@ void sub_08071BDC(Entity* this) {
} }
gPlayerState.playerAction = 0; gPlayerState.playerAction = 0;
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
if ((u8)(gPlayerState.field_0x10[2] - 8) < 3) { if ((u8)(gPlayerState.field_0x10[2] - 8) < 3) {
sub_0807A298(this); sub_0807A298(this);
RespawnPlayer(); RespawnPlayer();
@ -949,7 +949,7 @@ void sub_08071CAC(Entity* this) {
UpdateAnimationSingleFrame(this); UpdateAnimationSingleFrame(this);
if (this->frame & 0x80) { if (this->frame & 0x80) {
u32 temp; u32 temp;
if ((gPlayerState.flags & 0x80) == 0) if ((gPlayerState.flags & PL_IS_MINISH) == 0)
temp = (gPlayerState.flags & 8) ? 0x45a : 0x2bd; temp = (gPlayerState.flags & 8) ? 0x45a : 0x2bd;
else else
temp = 0xc1b; temp = 0xc1b;
@ -1273,7 +1273,7 @@ void sub_080722DC(Entity* this) {
Entity* ent; Entity* ent;
COLLISION_OFF(this); COLLISION_OFF(this);
if (!(gPlayerState.flags & 0x80)) { if (!(gPlayerState.flags & PL_IS_MINISH)) {
this->subAction = 1; this->subAction = 1;
this->zVelocity = 0x28000; this->zVelocity = 0x28000;
ent = CreateObject(OBJECT_42, 0x80, 0); ent = CreateObject(OBJECT_42, 0x80, 0);
@ -1377,7 +1377,7 @@ void sub_080724DC(Entity* this) {
this->spriteSettings.draw = 3; this->spriteSettings.draw = 3;
this->subAction = 1; this->subAction = 1;
if (gRoomVars.field_0x0 == 0) { if (gRoomVars.field_0x0 == 0) {
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
gPlayerState.field_0x8 = 0xc18; gPlayerState.field_0x8 = 0xc18;
} else { } else {
gPlayerState.field_0x8 = 0x104; gPlayerState.field_0x8 = 0x104;
@ -1429,7 +1429,7 @@ void sub_08072650(Entity* this) {
this->actionDelay = 0; this->actionDelay = 0;
ResetPlayer(); ResetPlayer();
temp = gPlayerState.flags; temp = gPlayerState.flags;
if (gPlayerState.flags & 0x80) { if (gPlayerState.flags & PL_IS_MINISH) {
this->spritePriority.b1 = 0; this->spritePriority.b1 = 0;
gPlayerState.field_0x8 = 0xc08; gPlayerState.field_0x8 = 0xc08;
} else { } else {
@ -1459,7 +1459,7 @@ void sub_080726F4(Entity* this) {
} }
this->direction = (this->animationState & 6) << 2; this->direction = (this->animationState & 6) << 2;
if (((gPlayerState.flags & 0x80) == 0) && (--this->actionDelay == 0xff)) { if (((gPlayerState.flags & PL_IS_MINISH) == 0) && (--this->actionDelay == 0xff)) {
CreateFx(&gPlayerEntity, FX_DASH, 0x40); CreateFx(&gPlayerEntity, FX_DASH, 0x40);
this->actionDelay = 4; this->actionDelay = 4;
} }
@ -1508,7 +1508,7 @@ void sub_080726F4(Entity* this) {
sub_08078F24(); sub_08078F24();
sub_08079E08(); sub_08079E08();
} }
if (((this->frame & 0x10) == 0) && ((gPlayerState.flags & 0x80) == 0)) { if (((this->frame & 0x10) == 0) && ((gPlayerState.flags & PL_IS_MINISH) == 0)) {
*(u8*)&this->hurtType = 0; *(u8*)&this->hurtType = 0;
} }
if ((this->frame & 0x40) != 0) { if ((this->frame & 0x40) != 0) {
@ -1525,7 +1525,7 @@ void sub_080726F4(Entity* this) {
void sub_080728AC(Entity* this) { void sub_080728AC(Entity* this) {
sub_08079938(); sub_08079938();
if (gPlayerState.flags & 0x80) if (gPlayerState.flags & PL_IS_MINISH)
sub_0807B068(this); sub_0807B068(this);
else else
sub_08078F60(); sub_08078F60();
@ -1534,7 +1534,7 @@ void sub_080728AC(Entity* this) {
this->speed = 0; this->speed = 0;
if (!(gPlayerState.flags & 0x40)) if (!(gPlayerState.flags & 0x40))
gPlayerEntity.spriteSettings.draw = 3; gPlayerEntity.spriteSettings.draw = 3;
if (!(gPlayerState.flags & 0x80)) if (!(gPlayerState.flags & PL_IS_MINISH))
gPlayerEntity.spritePriority.b1 = 1; gPlayerEntity.spritePriority.b1 = 1;
if (!(gRoomControls.unk6 & 4)) { if (!(gRoomControls.unk6 & 4)) {
@ -1667,7 +1667,7 @@ void sub_08072C48(Entity* this) {
if (gPlayerState.field_0x14) { if (gPlayerState.field_0x14) {
if (sub_08008B22()) { if (sub_08008B22()) {
gPlayerState.field_0x10[1] = 7; gPlayerState.field_0x10[1] = 7;
if (!(gPlayerState.flags & 0x80)) { if (!(gPlayerState.flags & PL_IS_MINISH)) {
sub_080791BC(); sub_080791BC();
} }
} }
@ -1783,7 +1783,7 @@ NONMATCH("asm/non_matching/player/sub_08072D54.inc", void sub_08072D54(Entity* t
if (gPlayerState.field_0x14 != 0) { if (gPlayerState.field_0x14 != 0) {
if (sub_08008B22() == 0) { if (sub_08008B22() == 0) {
gPlayerState.field_0x10[1] = 7; gPlayerState.field_0x10[1] = 7;
if (!(gPlayerState.flags & 0x80)) { if (!(gPlayerState.flags & PL_IS_MINISH)) {
sub_080791BC(); sub_080791BC();
} }
} }

View File

@ -4872,7 +4872,7 @@ extern EntityData gUnk_080F30CC;
void sub_0804E7A4(void) { void sub_0804E7A4(void) {
// dog food // dog food
if ((GetInventoryValue(0x36) == 1) && !CheckGlobalFlag(BIN_DOGFOOD) && (gPlayerState.flags & 0x80) == 0) { if ((GetInventoryValue(0x36) == 1) && !CheckGlobalFlag(BIN_DOGFOOD) && (gPlayerState.flags & PL_IS_MINISH) == 0) {
LoadRoomEntityList(&gUnk_080F30CC); LoadRoomEntityList(&gUnk_080F30CC);
} }
} }

View File

@ -806,7 +806,7 @@ void ScriptCommand_CheckEntityInteractType(Entity* entity, ScriptExecutionContex
} }
void ScriptCommand_0807E30C(Entity* entity, ScriptExecutionContext* context) { void ScriptCommand_0807E30C(Entity* entity, ScriptExecutionContext* context) {
if ((context->unk_1A & 0xF) == 0 && (gPlayerState.flags & 0x80) == 0 && if ((context->unk_1A & 0xF) == 0 && (gPlayerState.flags & PL_IS_MINISH) == 0 &&
sub_080041A0(entity, &gPlayerEntity, 0x28, 0x28)) { sub_080041A0(entity, &gPlayerEntity, 0x28, 0x28)) {
entity->animationState = sub_0806F5B0(GetFacingDirection(entity, &gPlayerEntity)); entity->animationState = sub_0806F5B0(GetFacingDirection(entity, &gPlayerEntity));
} }