mirror of https://github.com/zeldaret/tmc.git
commit
faeab7f6e3
|
@ -145,7 +145,12 @@ typedef enum {
|
|||
MIZUUMI_00_H00,
|
||||
MIZUUMI_00_H01,
|
||||
MIZUUMI_00_H02,
|
||||
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
|
||||
MIZUUMI_00_CAP_0,
|
||||
#else
|
||||
HIKYOU_00_T0,
|
||||
HIKYOU_00_T1,
|
||||
#endif
|
||||
MAENIWA_00_00,
|
||||
MAENIWA_00_01,
|
||||
MAENIWA_00_02,
|
||||
|
@ -166,10 +171,15 @@ typedef enum {
|
|||
HIKYOU_00_SEKIZOU,
|
||||
HIKYOU_00_14,
|
||||
HIKYOU_00_BOSEKI,
|
||||
#if defined(EU) || defined(JP) || defined(DEMO_JP)
|
||||
HIKYOU_00_H00,
|
||||
#endif
|
||||
HIKYOU_00_M0,
|
||||
HIKYOU_00_M1,
|
||||
HIKYOU_00_M2,
|
||||
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
|
||||
HIKYOU_00_T1,
|
||||
#endif
|
||||
LOST_00_ENTER,
|
||||
LOST_00_00,
|
||||
LOST_00_01,
|
||||
|
@ -184,8 +194,10 @@ typedef enum {
|
|||
LOST_04_SIBA4,
|
||||
LOST_05_00,
|
||||
LOST_05_01,
|
||||
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
|
||||
LOST_05_02,
|
||||
LOST_05_03,
|
||||
#endif
|
||||
LOST_05_T0,
|
||||
LOST_05_T1,
|
||||
MORI_00_HIBI_0,
|
||||
|
@ -208,7 +220,9 @@ typedef enum {
|
|||
YAMA_03_DOKU_1,
|
||||
YAMA_03_DOKU_2,
|
||||
YAMA_04_CAP_0,
|
||||
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
|
||||
YAMA_04_CAP_1,
|
||||
#endif
|
||||
YAMA_04_R00,
|
||||
YAMA_04_HIBI_0,
|
||||
YAMA_04_HIBI_1,
|
||||
|
@ -281,6 +295,9 @@ typedef enum {
|
|||
SOUGEN_07_00,
|
||||
SOUGEN_07_01,
|
||||
SOUGEN_07_02,
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
SOUGEN_07_H00,
|
||||
#endif
|
||||
SOUGEN_08_00,
|
||||
SOUGEN_08_01,
|
||||
SOUGEN_08_02,
|
||||
|
@ -304,7 +321,9 @@ typedef enum {
|
|||
SUIGEN_00_CAP_1,
|
||||
SUIGEN_00_R0,
|
||||
SUIGEN_00_R1,
|
||||
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
|
||||
SUIGEN_00_R2,
|
||||
#endif
|
||||
SUIGEN_00_h1,
|
||||
SUIGENGORON_00_CAP_0,
|
||||
DAIGORON_SHIELD,
|
||||
|
@ -316,7 +335,9 @@ typedef enum {
|
|||
BEANDEMO_04,
|
||||
KAKERA_TAKARA_A,
|
||||
KAKERA_TAKARA_E,
|
||||
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
|
||||
KAKERA_TAKARA_J,
|
||||
#endif
|
||||
KAKERA_TAKARA_K,
|
||||
KAKERA_TAKARA_L,
|
||||
KAKERA_TAKARA_M,
|
||||
|
@ -341,7 +362,7 @@ typedef enum {
|
|||
MACHI_00_T01,
|
||||
MACHI_01_DEMO,
|
||||
MACHI_02_HEISHI,
|
||||
MACHI_02_DOG,
|
||||
MACHI_02_DOG, /* Talk to dog as minish */
|
||||
MACHI_07_BELL,
|
||||
SHOP05_OPEN,
|
||||
MACHI_MES_20,
|
||||
|
@ -353,7 +374,7 @@ typedef enum {
|
|||
MACHI_MES_40,
|
||||
MACHI_MES_60,
|
||||
MACHI_MES_50,
|
||||
MACHI_DOG_C,
|
||||
MACHI_DOG_C, /* Seen all dog dialogue */
|
||||
KUMOUE_00_CAP_0,
|
||||
KUMOUE_01_CAP_0,
|
||||
KUMOUE_01_T0,
|
||||
|
@ -383,10 +404,22 @@ typedef enum {
|
|||
KUMOUE_02_03,
|
||||
KUMOUE_UNCLE_TALK,
|
||||
KUMOUE_GIRL_TALK,
|
||||
#if !defined(JP) && !defined(EU) && !defined(DEMO_JP)
|
||||
KS_A06,
|
||||
KS_B18,
|
||||
KS_C21,
|
||||
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,
|
||||
} LocalFlags1;
|
||||
|
||||
|
@ -596,13 +629,21 @@ typedef enum {
|
|||
MHOUSE_15_CAP_1,
|
||||
SHOP_03_CAP_0,
|
||||
MHOUSE_07_CAP_2,
|
||||
#ifndef EU
|
||||
SHOP00_BOMBBAG,
|
||||
CAFE_01_CAP_1,
|
||||
#endif
|
||||
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
|
||||
KS_A02,
|
||||
KS_A09,
|
||||
KS_A18,
|
||||
KS_B07,
|
||||
KS_B16,
|
||||
#endif
|
||||
#ifdef DEMO_JP
|
||||
MH01_KS_KUSURI,
|
||||
MH09_KS_KUSURI,
|
||||
#endif
|
||||
END_2,
|
||||
} LocalFlags2;
|
||||
|
||||
|
@ -806,8 +847,12 @@ typedef enum {
|
|||
LV4_HAKA_08_B0,
|
||||
LV4_HAKA_08_K0,
|
||||
MAROYA_1ST,
|
||||
#ifndef EU
|
||||
MACHI_CHIKA2_10_CAP_0,
|
||||
#endif
|
||||
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
|
||||
KS_C02,
|
||||
#endif
|
||||
END_3,
|
||||
} LocalFlags3;
|
||||
|
||||
|
@ -947,12 +992,14 @@ typedef enum {
|
|||
KOBITO_DOUKUTU_02_H00,
|
||||
KOBITO_DOUKUTU_01_T0,
|
||||
YAMADOUKUTU_04_CAP_0,
|
||||
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
|
||||
KS_B06,
|
||||
KS_B15,
|
||||
KS_B01,
|
||||
KS_B12,
|
||||
KS_C12,
|
||||
KS_C37,
|
||||
#endif
|
||||
END_4,
|
||||
} LocalFlags4;
|
||||
|
||||
|
@ -1043,7 +1090,9 @@ typedef enum {
|
|||
LV1_08_01,
|
||||
LV1_01_05,
|
||||
LV1_10_CAP_0,
|
||||
#if !defined(EU) && !defined(JP)
|
||||
LV1_12_CAP_0,
|
||||
#endif
|
||||
END_5,
|
||||
} LocalFlags5;
|
||||
|
||||
|
|
|
@ -41,6 +41,10 @@ enum {
|
|||
PLAYER_PARACHUTE,
|
||||
};
|
||||
|
||||
enum {
|
||||
PL_IS_MINISH = (1 << 7),
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/*0x00*/ u8 field_0x0[2];
|
||||
/*0x02*/ u8 jumpStatus;
|
||||
|
|
|
@ -476,7 +476,7 @@ int sub_08017DD4(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
|
|||
tgt->damage = 4;
|
||||
gPlayerEntity.health = sub_08017874(&gPlayerEntity, tgt);
|
||||
tgt->iframes = -12;
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
sub_08079D84();
|
||||
org->iframes = 90;
|
||||
} else {
|
||||
|
@ -532,7 +532,7 @@ s32 sub_08017F40(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
|
|||
#ifdef EU
|
||||
(gPlayerState.flags & 0x81) == 0 &&
|
||||
#else
|
||||
(gPlayerState.flags & 0x80) == 0 &&
|
||||
(gPlayerState.flags & PL_IS_MINISH) == 0 &&
|
||||
#endif
|
||||
!gPlayerState.swimState) {
|
||||
gPlayerState.field_0x1a[0] |= 0x80u;
|
||||
|
|
|
@ -268,7 +268,7 @@ void sub_08028CE8(Entity* this) {
|
|||
this->field_0x80.HALF.HI = 0;
|
||||
sub_080290E0(this, 3);
|
||||
#if defined(USA) || defined(DEMO_USA)
|
||||
SetLocalFlag(0x87);
|
||||
SetLocalFlag(KS_B06);
|
||||
#endif
|
||||
return;
|
||||
case 1:
|
||||
|
@ -534,7 +534,7 @@ NONMATCH("asm/non_matching/businessScrub/sub_0802925C.inc", void sub_0802922C(En
|
|||
|
||||
switch (offer->field_0x8) {
|
||||
case 0x1c:
|
||||
SetGlobalFlag(0x5a);
|
||||
SetGlobalFlag(AKINDO_BOTTLE_SELL);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -816,7 +816,7 @@ void sub_08034BC8(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,
|
||||
this->y.HALF.HI - gRoomControls.roomOriginY + 0xd, 3, 3) != 0) {
|
||||
if (gScreenTransition.field_0x39 >= 0x3d) {
|
||||
|
|
|
@ -1352,7 +1352,7 @@ void sub_08043DB0(Entity* this) {
|
|||
Entity* pEVar3;
|
||||
Entity* pEVar4;
|
||||
|
||||
if (((gPlayerState.flags & 0x80) != 0)) {
|
||||
if (((gPlayerState.flags & PL_IS_MINISH) != 0)) {
|
||||
pEVar3 = ((VaatiArm_HeapStruct*)this->myHeap)->entities[3];
|
||||
if (CheckPlayerInRegion(pEVar3->x.HALF.HI - gRoomControls.roomOriginX,
|
||||
pEVar3->y.HALF.HI - gRoomControls.roomOriginY + 2, 3, 3)) {
|
||||
|
|
|
@ -21,7 +21,7 @@ void sub_08075A0C(ItemBehavior* this, u32 arg1) {
|
|||
s8* tmp;
|
||||
itemSlot = IsItemEquipped(this->behaviorID);
|
||||
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);
|
||||
gPlayerState.flags &= 0xff7fffff;
|
||||
ForceEquipItem(0xf, itemSlot);
|
||||
|
|
|
@ -23,7 +23,7 @@ void ItemPegasusBoots(ItemBehavior* this, u32 arg1) {
|
|||
if ((bVar1 & 7) == 0) {
|
||||
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 (gPlayerEntity.spriteOffsetY == 0) {
|
||||
CreateFx(&gPlayerEntity, FX_GREEN_SPLASH, 0);
|
||||
|
@ -58,7 +58,7 @@ void sub_080768F8(ItemBehavior* this, u32 arg1) {
|
|||
if (bVar1 == 0) {
|
||||
gPlayerState.field_0x1d[1] = 1;
|
||||
gPlayerState.field_0x1d[4] = bVar1;
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
this->field_0x5[2] = 0x10;
|
||||
} else {
|
||||
gPlayerState.field_0x8 = 0xc14;
|
||||
|
|
|
@ -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))
|
||||
|
||||
void sub_080759B8(ItemBehavior* this, u32 arg1) {
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
gPlayerEntity.hurtType = 0;
|
||||
}
|
||||
gPlayerState.flags &= 0xf7ffffff;
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "object.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
#include "enemy.h"
|
||||
|
||||
typedef struct {
|
||||
Manager manager;
|
||||
|
@ -88,12 +89,12 @@ void sub_0805A370(Manager15* this) {
|
|||
|
||||
void sub_0805A394(Manager15* this) {
|
||||
Entity* ent;
|
||||
if ((ent = FindEntityByID(0x3, 0x13, 0x4))) {
|
||||
if ((ent = FindEntityByID(ENEMY, CHUCHU_BOSS, 0x4))) {
|
||||
if (ent->type != 4) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
SetLocalFlag(0x48);
|
||||
SetLocalFlag(LV1_16_1STEND);
|
||||
ClearRoomFlag(0);
|
||||
gScreen.lcd.displayControl &= 0xB7FF;
|
||||
DeleteThisEntity();
|
||||
|
|
|
@ -157,7 +157,7 @@ void sub_0805B210(Manager1A* this) {
|
|||
gScreenTransition.areaID = tmp->unk_01;
|
||||
gScreenTransition.roomID = tmp->unk_02;
|
||||
gScreenTransition.playerLayer = tmp->unk_03;
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
gScreenTransition.field_0xf = 6;
|
||||
} else {
|
||||
gScreenTransition.field_0xf = 2;
|
||||
|
|
|
@ -76,7 +76,7 @@ void sub_0805C7C4(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) {
|
||||
this->manager.unk_0d = 1;
|
||||
} else {
|
||||
|
|
|
@ -94,7 +94,7 @@ void CreateMagicSparkles(u32 baseX, u32 baseY, u32 layer) {
|
|||
}
|
||||
|
||||
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)) {
|
||||
switch (gPlayerState.field_0xa8) {
|
||||
case 0:
|
||||
|
|
|
@ -18,7 +18,7 @@ void Manager6_Main(Manager6* this) {
|
|||
for (i = this->warpList; i->posX != 0xFFFF; i++) {
|
||||
tmp = (i->unk_07.all & 0x3);
|
||||
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)) {
|
||||
DoExitTransition(GetCurrentRoomProperty(i->unk_06));
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ void sub_08058408(ManagerA* this) {
|
|||
return;
|
||||
case 2:
|
||||
sub_080585DC(this);
|
||||
if ((gPlayerState.flags & 0x80) == 0)
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0)
|
||||
return;
|
||||
case 0:
|
||||
default:
|
||||
|
|
|
@ -360,7 +360,7 @@ void sub_0805938C(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) {
|
||||
return sub_0806FCB8(&gPlayerEntity, this->unk_38, this->unk_3a + 0xC, 6);
|
||||
}
|
||||
|
|
|
@ -95,19 +95,11 @@ void sub_08064644(Entity* this, ScriptExecutionContext* context) {
|
|||
|
||||
void sub_0806464C(Entity* this) {
|
||||
s32 tmp;
|
||||
if (CheckGlobalFlag(0x15) != 0) {
|
||||
if (CheckGlobalFlag(TABIDACHI) != 0) {
|
||||
tmp = 2;
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
} else if (CheckLocalFlag(0x9f) == 0) {
|
||||
#else
|
||||
} else if (CheckLocalFlag(0xa0) == 0) {
|
||||
#endif
|
||||
} else if (CheckLocalFlag(CASTLE_04_MAID_TALK) == 0) {
|
||||
tmp = 0;
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
SetLocalFlag(0x9f);
|
||||
#else
|
||||
SetLocalFlag(0xa0);
|
||||
#endif
|
||||
SetLocalFlag(CASTLE_04_MAID_TALK);
|
||||
} else {
|
||||
tmp = 1;
|
||||
}
|
||||
|
|
|
@ -272,7 +272,7 @@ void sub_08067C44(Entity* this) {
|
|||
s32 iVar4;
|
||||
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 == 0) {
|
||||
sub_08078778(this);
|
||||
|
|
|
@ -181,7 +181,7 @@ void Cow_ShowDialogue(Entity* ent) {
|
|||
|
||||
void sub_0806920C(Entity* ent) {
|
||||
// TODO: figure out what bitfield flag this is
|
||||
u32 var0 = gPlayerState.flags & 0x80;
|
||||
u32 var0 = gPlayerState.flags & PL_IS_MINISH;
|
||||
u32 var1 = -var0 >> 0x1F;
|
||||
|
||||
if (var1 != ent->field_0x6c.HALF.HI) {
|
||||
|
@ -200,7 +200,7 @@ void sub_0806924C(Entity* ent) {
|
|||
s8 itype = ent->interactType;
|
||||
if (itype != 0) {
|
||||
// TODO: figure out what bitfield flag this is
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
|
||||
if (itype == 2) {
|
||||
ent->action = 4;
|
||||
sub_0806F118(ent);
|
||||
|
|
|
@ -59,7 +59,7 @@ void sub_0806E648(Entity* this) {
|
|||
|
||||
void sub_0806E65C(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
|
||||
if (this->interactType == 2) {
|
||||
this->action = 4;
|
||||
sub_0806F118(this);
|
||||
|
|
|
@ -53,7 +53,7 @@ void sub_0806E824(Entity* this) {
|
|||
|
||||
void sub_0806E838(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
|
||||
if (this->interactType == 2) {
|
||||
this->action = 3;
|
||||
sub_0806F118(this);
|
||||
|
|
|
@ -57,9 +57,9 @@ void sub_0806BE84(Entity* this, ScriptExecutionContext* context) {
|
|||
|
||||
context->condition = 0;
|
||||
msgIndex = 1;
|
||||
if (!CheckLocalFlag(0x69)) {
|
||||
if (!CheckLocalFlag(DANPEI_TALK1ST)) {
|
||||
msgIndex = 0;
|
||||
SetLocalFlag(0x69);
|
||||
SetLocalFlag(DANPEI_TALK1ST);
|
||||
context->condition = 1;
|
||||
}
|
||||
// Graveyard key
|
||||
|
|
|
@ -71,7 +71,7 @@ void sub_08069B44(Entity* this) {
|
|||
if ((this->flags & 2) != 0) {
|
||||
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;
|
||||
}
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
|
@ -87,7 +87,7 @@ void sub_08069B44(Entity* this) {
|
|||
void sub_08069C40(Entity* this) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
if (sub_08069F90(this) != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
|
||||
sub_08069CB8(this);
|
||||
} else {
|
||||
this->animationState = GetAnimationState(this);
|
||||
|
@ -270,11 +270,7 @@ void sub_08069F6C(Entity* this) {
|
|||
}
|
||||
|
||||
u32 sub_08069F90(Entity* this) {
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
if ((this->type == 2) && (CheckLocalFlag(0xcc) == 0)) {
|
||||
#else
|
||||
if ((this->type == 2) && (CheckLocalFlag(0xcf) == 0)) {
|
||||
#endif
|
||||
if ((this->type == 2) && (CheckLocalFlag(MACHI_02_DOG) == 0)) {
|
||||
return 1;
|
||||
} else {
|
||||
return sub_080041A0(this, &gPlayerEntity, 0x14, 0x14);
|
||||
|
@ -282,14 +278,14 @@ u32 sub_08069F90(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)) {
|
||||
this->field_0x6a.HALF.HI = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
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 == 0) {
|
||||
sub_08078778(this);
|
||||
|
@ -302,7 +298,7 @@ void sub_08069FE8(Entity* this) {
|
|||
|
||||
void sub_0806A028(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
|
||||
if (this->interactType == 2) {
|
||||
this->action = 6;
|
||||
sub_0806F118(this);
|
||||
|
@ -326,41 +322,20 @@ void sub_0806A080(Entity* this) {
|
|||
void sub_0806A0A4(Entity* this) {
|
||||
s32 dialog;
|
||||
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
dialog = 4;
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
if (CheckLocalFlag(0xcc) == 0) {
|
||||
#else
|
||||
if (CheckLocalFlag(0xcf) == 0) {
|
||||
#endif
|
||||
if (CheckLocalFlag(MACHI_02_DOG) == 0) {
|
||||
dialog = 3;
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
SetLocalFlag(0xcc);
|
||||
#else
|
||||
SetLocalFlag(0xcf);
|
||||
#endif
|
||||
SetLocalFlag(MACHI_02_DOG);
|
||||
sub_0807BA8C(TILE(this->x.HALF.HI, this->y.HALF.HI - 8), (u32)this->collisionLayer);
|
||||
}
|
||||
} else {
|
||||
|
||||
dialog = 2;
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
if (CheckLocalFlag(0xcc) == 0) {
|
||||
#else
|
||||
if (CheckLocalFlag(0xcf) == 0) {
|
||||
#endif
|
||||
if (CheckLocalFlag(MACHI_02_DOG) == 0) {
|
||||
dialog = 1;
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
if (CheckLocalFlag(0xd8) == 0) {
|
||||
#else
|
||||
if (CheckLocalFlag(0xdb) == 0) {
|
||||
#endif
|
||||
if (CheckLocalFlag(MACHI_DOG_C) == 0) {
|
||||
dialog = 0;
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
SetLocalFlag(0xd8);
|
||||
#else
|
||||
SetLocalFlag(0xdb);
|
||||
#endif
|
||||
SetLocalFlag(MACHI_DOG_C);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -369,9 +344,9 @@ void sub_0806A0A4(Entity* this) {
|
|||
|
||||
void sub_0806A144(Entity* this) {
|
||||
s32 dialog = 4;
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
dialog = 3;
|
||||
if ((GetInventoryValue(0x46) == 0) && (CheckGlobalFlag(0x29) != 0)) {
|
||||
if (GetInventoryValue(0x46) == 0 && CheckGlobalFlag(MIZUKAKI_START)) {
|
||||
if (CheckLocalFlag(0x85) == 0) {
|
||||
dialog = 1;
|
||||
} else {
|
||||
|
|
|
@ -66,9 +66,9 @@ void sub_0806C038(Entity* this) {
|
|||
if (GetInventoryValue(0x46) == 0) {
|
||||
if (GetInventoryValue(0x3a) == 0) {
|
||||
index = 6;
|
||||
if (CheckLocalFlag(0xaf) == 0) {
|
||||
if (CheckLocalFlag(LEFT_TALK) == 0) {
|
||||
index = 5;
|
||||
SetLocalFlag(0xaf);
|
||||
SetLocalFlag(LEFT_TALK);
|
||||
}
|
||||
} else {
|
||||
index = 7;
|
||||
|
|
|
@ -58,7 +58,7 @@ void sub_08065A50(Entity* this) {
|
|||
void sub_08065A64(Entity* this) {
|
||||
u32 uVar2;
|
||||
|
||||
uVar2 = -(gPlayerState.flags & 0x80) >> 0x1f;
|
||||
uVar2 = -(gPlayerState.flags & PL_IS_MINISH) >> 0x1f;
|
||||
if (uVar2 != this->field_0x68.HALF.HI) {
|
||||
if (uVar2 == 0) {
|
||||
sub_08078778(this);
|
||||
|
@ -71,7 +71,7 @@ void sub_08065A64(Entity* this) {
|
|||
|
||||
void sub_08065AA4(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
if (this->interactType == 2) {
|
||||
this->action = 4;
|
||||
sub_0806F118(this);
|
||||
|
|
|
@ -30,7 +30,7 @@ void Gina(Entity* this) {
|
|||
if (UpdateFuseInteraction(this) != 0) {
|
||||
this->action = 1;
|
||||
#if defined(USA) || defined(DEMO_USA)
|
||||
SetLocalFlag(0x88);
|
||||
SetLocalFlag(KS_B15);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -57,10 +57,10 @@ void sub_0806CE80(Entity* this) {
|
|||
// flippers
|
||||
if (GetInventoryValue(0x46) == 0) {
|
||||
if (CheckLocalFlag(0x70) != 0) {
|
||||
v2 = CheckLocalFlag(0x71);
|
||||
v2 = CheckLocalFlag(MIZUKAKI_HINT3_MAYOR);
|
||||
if (v2 == 0) {
|
||||
v = 0xb;
|
||||
SetLocalFlag(0x71);
|
||||
SetLocalFlag(MIZUKAKI_HINT3_MAYOR);
|
||||
} else {
|
||||
v = 0xc;
|
||||
}
|
||||
|
@ -68,10 +68,10 @@ void sub_0806CE80(Entity* this) {
|
|||
v = 0xa;
|
||||
}
|
||||
} else {
|
||||
v2 = CheckLocalFlag(0x89);
|
||||
v2 = CheckLocalFlag(MAYOR_2_TALK1ST);
|
||||
if (v2 == 0) {
|
||||
v = 0xd;
|
||||
SetLocalFlag(0x89);
|
||||
SetLocalFlag(MAYOR_2_TALK1ST);
|
||||
} else {
|
||||
v = 0xe;
|
||||
}
|
||||
|
|
|
@ -105,39 +105,19 @@ void sub_0806DAD0(Entity* this) {
|
|||
void sub_0806DAE8(Entity* this) {
|
||||
switch (this->type - 1) {
|
||||
case 0:
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
SetLocalFlag(0xeb);
|
||||
#else
|
||||
SetLocalFlag(0xee);
|
||||
#endif
|
||||
SetLocalFlag(KUMOUE_02_AWASE_01);
|
||||
break;
|
||||
case 1:
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
SetLocalFlag(0xec);
|
||||
#else
|
||||
SetLocalFlag(0xef);
|
||||
#endif
|
||||
SetLocalFlag(KUMOUE_02_AWASE_02);
|
||||
break;
|
||||
case 2:
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
SetLocalFlag(0xed);
|
||||
#else
|
||||
SetLocalFlag(0xf0);
|
||||
#endif
|
||||
SetLocalFlag(KUMOUE_02_AWASE_03);
|
||||
break;
|
||||
case 3:
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
SetLocalFlag(0xee);
|
||||
#else
|
||||
SetLocalFlag(0xf1);
|
||||
#endif
|
||||
SetLocalFlag(KUMOUE_02_AWASE_04);
|
||||
break;
|
||||
case 4:
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
SetLocalFlag(0xef);
|
||||
#else
|
||||
SetLocalFlag(0xf2);
|
||||
#endif
|
||||
SetLocalFlag(KUMOUE_02_AWASE_05);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -147,13 +127,9 @@ void sub_0806DAE8(Entity* this) {
|
|||
void sub_0806DB44(Entity* this, ScriptExecutionContext* context) {
|
||||
context->condition = 0;
|
||||
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
if (CheckLocalFlag(0xeb) != 0 && CheckLocalFlag(0xec) != 0 && CheckLocalFlag(0xed) != 0 &&
|
||||
CheckLocalFlag(0xee) != 0 && CheckLocalFlag(0xef) != 0) {
|
||||
#else
|
||||
if (CheckLocalFlag(0xee) != 0 && CheckLocalFlag(0xef) != 0 && CheckLocalFlag(0xf0) != 0 &&
|
||||
CheckLocalFlag(0xf1) != 0 && CheckLocalFlag(0xf2) != 0) {
|
||||
#endif
|
||||
if (CheckLocalFlag(KUMOUE_02_AWASE_01) && CheckLocalFlag(KUMOUE_02_AWASE_02) &&
|
||||
CheckLocalFlag(KUMOUE_02_AWASE_03) && CheckLocalFlag(KUMOUE_02_AWASE_04) &&
|
||||
CheckLocalFlag(KUMOUE_02_AWASE_05)) {
|
||||
|
||||
context->condition = 1;
|
||||
}
|
||||
|
@ -262,13 +238,12 @@ void NPC4E_Fusion(Entity* this) {
|
|||
const Hitbox gUnk_08114154 = { 0, -8, 0, 0, 0, 0, 24, 8 };
|
||||
|
||||
const u8 gUnk_0811415C[] = { //
|
||||
0x00, 0x00, 0x08, 0x08, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x0e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x06, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x04,
|
||||
0x0e, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x08, 0x0e, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x08, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x0e, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x10, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x0e, 0x00, 0x00, 0x00,
|
||||
0x00, 0x08, 0x10, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x08, 0x0e, 0x00, 0x00, 0x00,
|
||||
#ifndef EU
|
||||
0x00, 0x00, 0x58, 0x08, 0x0e, 0x00, 0x00, 0x00
|
||||
0x00, 0x00, 0x58, 0x08, 0x0e, 0x00, 0x00, 0x00
|
||||
#endif
|
||||
};
|
||||
extern ScreenTransitionData gUnk_0813AB6C;
|
||||
|
@ -289,16 +264,14 @@ extern ScreenTransitionData gUnk_0813ACFC;
|
|||
|
||||
// Array of pointers to ScreenTransitionData
|
||||
const ScreenTransitionData* const gUnk_081141A4[] = { //
|
||||
&gUnk_0813AB6C, &gUnk_0813ABBC, &gUnk_0813ABE4, &gUnk_0813ABF8,
|
||||
&gUnk_0813AC0C, &gUnk_0813AC20, &gUnk_0813AC5C, &gUnk_0813AC70,
|
||||
&gUnk_0813AC84, &gUnk_0813AC98, &gUnk_0813ACAC, &gUnk_0813ACC0,
|
||||
&gUnk_0813ACD4, &gUnk_0813ACE8, &gUnk_0813AC5C, &gUnk_0813ACFC
|
||||
&gUnk_0813AB6C, &gUnk_0813ABBC, &gUnk_0813ABE4, &gUnk_0813ABF8, &gUnk_0813AC0C, &gUnk_0813AC20,
|
||||
&gUnk_0813AC5C, &gUnk_0813AC70, &gUnk_0813AC84, &gUnk_0813AC98, &gUnk_0813ACAC, &gUnk_0813ACC0,
|
||||
&gUnk_0813ACD4, &gUnk_0813ACE8, &gUnk_0813AC5C, &gUnk_0813ACFC
|
||||
};
|
||||
|
||||
// param_2 for the call to sub_0808091C, same indices as gUnk_081141A4
|
||||
const u8 gUnk_081141E4[] = { //
|
||||
0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x09, 0x02,
|
||||
0x02, 0x04, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02
|
||||
0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x09, 0x02, 0x02, 0x04, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02
|
||||
};
|
||||
|
||||
// tiles that are changed?
|
||||
|
|
|
@ -102,9 +102,9 @@ void sub_0806B504(Entity* this) {
|
|||
idx = 1;
|
||||
if (CheckKinstoneFused(0x21)) {
|
||||
idx = 3;
|
||||
} else if (!CheckLocalFlag(0x86)) {
|
||||
} else if (!CheckLocalFlag(URO_POEMN_TALK)) {
|
||||
idx = 0;
|
||||
SetLocalFlag(0x86);
|
||||
SetLocalFlag(URO_POEMN_TALK);
|
||||
}
|
||||
|
||||
MessageNoOverlap(gUnk_08112E54[idx], this);
|
||||
|
|
|
@ -50,8 +50,8 @@ bool32 sub_08062EDC(Entity* this, ScriptExecutionContext* context) {
|
|||
if (GetInventoryValue(0x6b) != 0) {
|
||||
tmp = 3;
|
||||
}
|
||||
if (CheckLocalFlag(0x5b) == 0) {
|
||||
SetLocalFlag(0x5b);
|
||||
if (CheckLocalFlag(SHOP03_PAN_1ST) == 0) {
|
||||
SetLocalFlag(SHOP03_PAN_1ST);
|
||||
tmp = 4;
|
||||
}
|
||||
if ((Random() & 0xff) > gUnk_0810C430[tmp]) {
|
||||
|
|
|
@ -225,7 +225,7 @@ void sub_0806A890(Entity* this) {
|
|||
|
||||
void sub_0806A8C8(Entity* this) {
|
||||
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);
|
||||
entity->parent = this;
|
||||
}
|
||||
|
@ -278,7 +278,7 @@ void sub_0806A9B0(Entity* this, ScriptExecutionContext* context) {
|
|||
this->actionDelay = gUnk_081122A0[Random() & 7];
|
||||
this->field_0x80.HWORD = 9;
|
||||
InitializeAnimation(this, 9);
|
||||
SetLocalFlag(0x62);
|
||||
SetLocalFlag(NPC37_REM_SLEEP);
|
||||
}
|
||||
|
||||
void sub_0806A9E8(Entity* this) {
|
||||
|
|
|
@ -20,7 +20,7 @@ void SmallTownMinish(Entity* this) {
|
|||
} else {
|
||||
sub_0807DD94(this, NULL);
|
||||
}
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
|
||||
this->spriteSettings.draw = 1;
|
||||
} else {
|
||||
this->spriteSettings.draw = 0;
|
||||
|
|
|
@ -260,17 +260,17 @@ void sub_0806B004(Entity* this, ScriptExecutionContext* context) {
|
|||
if (CheckLocalFlag(0x73)) {
|
||||
if (GetInventoryValue(0x46) == 0) {
|
||||
idx = 3;
|
||||
if (CheckLocalFlag(0x78) == 0) {
|
||||
if (CheckLocalFlag(KHOUSE51_00) == 0) {
|
||||
idx = 2;
|
||||
context->condition = 1;
|
||||
SetLocalFlag(0x78);
|
||||
SetLocalFlag(KHOUSE51_00);
|
||||
}
|
||||
} else {
|
||||
idx = 4;
|
||||
}
|
||||
} else {
|
||||
idx = 1;
|
||||
SetLocalFlag(0x6a);
|
||||
SetLocalFlag(MIZUKAKI_KOBITO);
|
||||
}
|
||||
}
|
||||
MessageNoOverlap(gUnk_08112C40[idx], this);
|
||||
|
@ -318,13 +318,13 @@ void sub_0806B134(Entity* this) {
|
|||
|
||||
if (GetInventoryValue(0x45)) {
|
||||
idx = 2;
|
||||
if (CheckLocalFlag(0x7b) == 0) {
|
||||
if (CheckLocalFlag(KHOUSE42_00) == 0) {
|
||||
idx = 1;
|
||||
SetLocalFlag(0x7b);
|
||||
SetLocalFlag(KHOUSE42_00);
|
||||
}
|
||||
} else {
|
||||
idx = 0;
|
||||
SetGlobalFlag(0x4a);
|
||||
SetGlobalFlag(POWERGLOVE_HINT);
|
||||
}
|
||||
if (5 < gSave.unk8) {
|
||||
idx = 3;
|
||||
|
|
|
@ -72,7 +72,7 @@ void sub_08098DC4(Entity* this) {
|
|||
gPlayerState.field_0x34[5] = this->type2;
|
||||
this->action = 4;
|
||||
if (this->type2 == 1) {
|
||||
SetGlobalFlag(0x23);
|
||||
SetGlobalFlag(TATSUMAKI);
|
||||
}
|
||||
sub_08077B20();
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ void sub_0809D0AC(Entity* this) {
|
|||
this->action = 1;
|
||||
this->z.WORD = 0;
|
||||
this->collisionLayer = 1;
|
||||
SetLocalFlag(0x45);
|
||||
SetLocalFlag(LV3_OCARINA_FALL);
|
||||
SoundReq(SFX_SECRET);
|
||||
fx = CreateFx(this, FX_DASH, 0);
|
||||
if (fx != NULL) {
|
||||
|
@ -119,7 +119,7 @@ void sub_0809D10C(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0809D130(Entity* this) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
|
||||
sub_0800445C(this);
|
||||
} else if (sub_08017850(this) != 0) {
|
||||
CreateItemEntity(0x17, 0, 0);
|
||||
|
|
|
@ -26,7 +26,7 @@ void sub_0809B3C4(Entity* this) {
|
|||
DeleteThisEntity();
|
||||
}
|
||||
} else {
|
||||
if (CheckLocalFlag(0x73)) {
|
||||
if (CheckLocalFlag(MIZUKAKI_BOOK_ALLBACK)) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
|
||||
|
@ -143,7 +143,7 @@ void sub_0809B56C(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0809B5B4(Entity* this) {
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
sub_0800445C(this);
|
||||
} else if (sub_08017850(this)) {
|
||||
CreateItemEntity(this->type + 0x39, 0, 0);
|
||||
|
|
|
@ -153,7 +153,7 @@ Entity* sub_08081D74(Entity* this) {
|
|||
}
|
||||
ent = 0;
|
||||
if (sub_08081E0C(this)) {
|
||||
if (!(gPlayerState.flags & 0x10) && !(gPlayerState.flags & 0x80)) {
|
||||
if (!(gPlayerState.flags & 0x10) && !(gPlayerState.flags & PL_IS_MINISH)) {
|
||||
ent = &gPlayerEntity;
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -59,7 +59,7 @@ static void sub_0808E714(Entity* this) {
|
|||
|
||||
static void sub_0808E764(Entity* this) {
|
||||
sub_08080CB4(this);
|
||||
if (!(gPlayerState.flags & 0x80) && sub_08017850(this)) {
|
||||
if (!(gPlayerState.flags & PL_IS_MINISH) && sub_08017850(this)) {
|
||||
SetFlag(this->cutsceneBeh.HWORD);
|
||||
CreateItemEntity(0x62, 0, 0);
|
||||
DeleteThisEntity();
|
||||
|
|
|
@ -32,7 +32,7 @@ void LilypadSmall(Entity* this) {
|
|||
}
|
||||
|
||||
u32 sub_08097ADC(Entity* this) {
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
return 0;
|
||||
} else if (sub_080041A0(this, &gPlayerEntity, 8, 8) == 0) {
|
||||
return 0;
|
||||
|
|
|
@ -31,8 +31,8 @@ void sub_08090F00(Entity* this) {
|
|||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
if ((gPlayerState.flags & 0x80) && sub_080041A0(this, &gPlayerEntity, 4, 4) && (gPlayerEntity.z.HALF.HI == 0) &&
|
||||
(((u16)gPlayerState.field_0x90.HALF.LO) & gUnk_0812225C[this->type2])) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) && sub_080041A0(this, &gPlayerEntity, 4, 4) &&
|
||||
(gPlayerEntity.z.HALF.HI == 0) && (((u16)gPlayerState.field_0x90.HALF.LO) & gUnk_0812225C[this->type2])) {
|
||||
DoExitTransition(GetCurrentRoomProperty(this->actionDelay));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ void sub_08082310(Entity* this) {
|
|||
this->direction = (tileType - 0x4001) * 8;
|
||||
this->actionDelay = 32;
|
||||
this->action = 4;
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
this->speed >>= 1;
|
||||
this->actionDelay = 64;
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ void sub_08082614(Entity* this) {
|
|||
}
|
||||
|
||||
this->action = 1;
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
this->speed <<= 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -206,7 +206,7 @@ void sub_0808B73C(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) {
|
||||
if (this->actionDelay == 0 && gPlayerEntity.action == 0x1b) {
|
||||
sub_080791D0();
|
||||
|
|
54
src/player.c
54
src/player.c
|
@ -160,7 +160,7 @@ void sub_08070C3C(Entity* this) {
|
|||
|
||||
gPlayerState.jumpStatus = 0;
|
||||
|
||||
if ((gPlayerState.flags & 0x80) != 0)
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) != 0)
|
||||
gPlayerState.field_0x8 = 0x1ba;
|
||||
else if ((gPlayerState.flags & 8) != 0)
|
||||
gPlayerState.field_0x8 = 0x458;
|
||||
|
@ -205,7 +205,7 @@ void sub_08070D38(Entity* this) {
|
|||
this->actionDelay = gPlayerState.field_0x38;
|
||||
this->spriteIndex = 1;
|
||||
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
this->zVelocity = 0x20000;
|
||||
gPlayerState.field_0x8 = 0x114;
|
||||
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->subAction++;
|
||||
|
||||
if ((gPlayerState.flags & 0x80) == 0)
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0)
|
||||
gPlayerState.field_0x8 = 0x100;
|
||||
}
|
||||
END_NONMATCH
|
||||
|
@ -290,7 +290,7 @@ void sub_08070EDC(Entity* this) {
|
|||
if ((gMessage.doTextBox & 0x7f) != 0)
|
||||
this->subAction = 1;
|
||||
|
||||
if ((gPlayerState.flags & 0x80) == 0)
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0)
|
||||
sub_08079938();
|
||||
else
|
||||
gPlayerState.field_0x8 = 0xc18;
|
||||
|
@ -330,7 +330,7 @@ void sub_08070FA4(Entity* this) {
|
|||
gPlayerState.flags |= 1;
|
||||
gPlayerState.jumpStatus = 0;
|
||||
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
if (gPlayerState.flags & 0x8) {
|
||||
if (sub_080542AC(gPlayerState.field_0x38)) {
|
||||
temp = 0x45e;
|
||||
|
@ -390,7 +390,7 @@ void sub_080710A8(Entity* this) {
|
|||
gPlayerState.playerAction = 0;
|
||||
|
||||
if ((gPlayerState.heldObject | gPlayerState.field_0x1a[1]) == 0) {
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
ResetPlayer();
|
||||
|
||||
if ((gPlayerState.flags & 0x8) != 0) {
|
||||
|
@ -455,7 +455,7 @@ void sub_08071130(Entity* this) {
|
|||
|
||||
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) {
|
||||
gPlayerState.field_0x8 = 0x424;
|
||||
} else {
|
||||
|
@ -472,7 +472,7 @@ void sub_08071130(Entity* this) {
|
|||
|
||||
void sub_08071208(Entity* this) {
|
||||
if ((gPlayerState.heldObject | gPlayerState.keepFacing) == 0) {
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
}
|
||||
}
|
||||
|
@ -494,7 +494,7 @@ void sub_0807127C(Entity* this) {
|
|||
this->subAction = 1;
|
||||
this->spritePriority.b1 = 0;
|
||||
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
this->actionDelay = 0x3c;
|
||||
gPlayerState.field_0x8 = 0xc19;
|
||||
SoundReq(SFX_WATER_SPLASH);
|
||||
|
@ -519,7 +519,7 @@ void sub_080712F0(Entity* this) {
|
|||
|
||||
temp = FALSE;
|
||||
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) != 0) {
|
||||
if (--this->actionDelay == 0)
|
||||
temp = TRUE;
|
||||
} else if ((this->frame & 0x80) != 0) {
|
||||
|
@ -657,7 +657,7 @@ void PortalActivateUpdate(Entity* this) {
|
|||
|
||||
UpdateAnimationSingleFrame(this);
|
||||
|
||||
if (gPlayerState.flags & 0x80)
|
||||
if (gPlayerState.flags & PL_IS_MINISH)
|
||||
this->subAction = 4;
|
||||
}
|
||||
|
||||
|
@ -747,7 +747,7 @@ void sub_080718A0(Entity* this) {
|
|||
gUnk_03003DC0.unk0 = 6;
|
||||
this->updateConditions = 6;
|
||||
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
this->subAction = 2;
|
||||
this->spritePriority.b1 = 0;
|
||||
sub_08052BB8();
|
||||
|
@ -794,7 +794,7 @@ void sub_08071990(Entity* this) {
|
|||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->subAction++;
|
||||
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
if (this->animationState == 2)
|
||||
gPlayerState.field_0x8 = 0x3cd;
|
||||
else
|
||||
|
@ -806,7 +806,7 @@ void sub_08071990(Entity* this) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (gPlayerState.flags & 0x80)
|
||||
if (gPlayerState.flags & PL_IS_MINISH)
|
||||
return;
|
||||
|
||||
if (this->animationState == 2)
|
||||
|
@ -856,7 +856,7 @@ void sub_08071AB0(Entity* this) {
|
|||
this->actionDelay = 0;
|
||||
this->field_0xf = 1;
|
||||
} else {
|
||||
this->speed = (gPlayerState.flags & 0x80) ? 64 : 128;
|
||||
this->speed = (gPlayerState.flags & PL_IS_MINISH) ? 64 : 128;
|
||||
}
|
||||
sub_08071AF0(this);
|
||||
}
|
||||
|
@ -891,7 +891,7 @@ void sub_08071B60(Entity* this) {
|
|||
this->knockbackDuration = 0;
|
||||
sub_080728AC(this);
|
||||
this->field_0xf = 6;
|
||||
if ((gPlayerState.flags & 0x80) == 0) {
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0) {
|
||||
gPlayerState.field_0x8 = 0x104;
|
||||
this->spriteIndex = 3;
|
||||
InitAnimationForceUpdate(this, (this->animationState >> 1) + 0x3c);
|
||||
|
@ -921,7 +921,7 @@ void sub_08071BDC(Entity* this) {
|
|||
}
|
||||
|
||||
gPlayerState.playerAction = 0;
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
if ((u8)(gPlayerState.field_0x10[2] - 8) < 3) {
|
||||
sub_0807A298(this);
|
||||
RespawnPlayer();
|
||||
|
@ -949,7 +949,7 @@ void sub_08071CAC(Entity* this) {
|
|||
UpdateAnimationSingleFrame(this);
|
||||
if (this->frame & 0x80) {
|
||||
u32 temp;
|
||||
if ((gPlayerState.flags & 0x80) == 0)
|
||||
if ((gPlayerState.flags & PL_IS_MINISH) == 0)
|
||||
temp = (gPlayerState.flags & 8) ? 0x45a : 0x2bd;
|
||||
else
|
||||
temp = 0xc1b;
|
||||
|
@ -1273,7 +1273,7 @@ void sub_080722DC(Entity* this) {
|
|||
Entity* ent;
|
||||
|
||||
COLLISION_OFF(this);
|
||||
if (!(gPlayerState.flags & 0x80)) {
|
||||
if (!(gPlayerState.flags & PL_IS_MINISH)) {
|
||||
this->subAction = 1;
|
||||
this->zVelocity = 0x28000;
|
||||
ent = CreateObject(OBJECT_42, 0x80, 0);
|
||||
|
@ -1377,7 +1377,7 @@ void sub_080724DC(Entity* this) {
|
|||
this->spriteSettings.draw = 3;
|
||||
this->subAction = 1;
|
||||
if (gRoomVars.field_0x0 == 0) {
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
gPlayerState.field_0x8 = 0xc18;
|
||||
} else {
|
||||
gPlayerState.field_0x8 = 0x104;
|
||||
|
@ -1429,7 +1429,7 @@ void sub_08072650(Entity* this) {
|
|||
this->actionDelay = 0;
|
||||
ResetPlayer();
|
||||
temp = gPlayerState.flags;
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (gPlayerState.flags & PL_IS_MINISH) {
|
||||
this->spritePriority.b1 = 0;
|
||||
gPlayerState.field_0x8 = 0xc08;
|
||||
} else {
|
||||
|
@ -1459,7 +1459,7 @@ void sub_080726F4(Entity* this) {
|
|||
}
|
||||
|
||||
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);
|
||||
this->actionDelay = 4;
|
||||
}
|
||||
|
@ -1508,7 +1508,7 @@ void sub_080726F4(Entity* this) {
|
|||
sub_08078F24();
|
||||
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;
|
||||
}
|
||||
if ((this->frame & 0x40) != 0) {
|
||||
|
@ -1525,7 +1525,7 @@ void sub_080726F4(Entity* this) {
|
|||
|
||||
void sub_080728AC(Entity* this) {
|
||||
sub_08079938();
|
||||
if (gPlayerState.flags & 0x80)
|
||||
if (gPlayerState.flags & PL_IS_MINISH)
|
||||
sub_0807B068(this);
|
||||
else
|
||||
sub_08078F60();
|
||||
|
@ -1534,7 +1534,7 @@ void sub_080728AC(Entity* this) {
|
|||
this->speed = 0;
|
||||
if (!(gPlayerState.flags & 0x40))
|
||||
gPlayerEntity.spriteSettings.draw = 3;
|
||||
if (!(gPlayerState.flags & 0x80))
|
||||
if (!(gPlayerState.flags & PL_IS_MINISH))
|
||||
gPlayerEntity.spritePriority.b1 = 1;
|
||||
|
||||
if (!(gRoomControls.unk6 & 4)) {
|
||||
|
@ -1667,7 +1667,7 @@ void sub_08072C48(Entity* this) {
|
|||
if (gPlayerState.field_0x14) {
|
||||
if (sub_08008B22()) {
|
||||
gPlayerState.field_0x10[1] = 7;
|
||||
if (!(gPlayerState.flags & 0x80)) {
|
||||
if (!(gPlayerState.flags & PL_IS_MINISH)) {
|
||||
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 (sub_08008B22() == 0) {
|
||||
gPlayerState.field_0x10[1] = 7;
|
||||
if (!(gPlayerState.flags & 0x80)) {
|
||||
if (!(gPlayerState.flags & PL_IS_MINISH)) {
|
||||
sub_080791BC();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4872,7 +4872,7 @@ extern EntityData gUnk_080F30CC;
|
|||
|
||||
void sub_0804E7A4(void) {
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -806,7 +806,7 @@ void ScriptCommand_CheckEntityInteractType(Entity* entity, ScriptExecutionContex
|
|||
}
|
||||
|
||||
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)) {
|
||||
entity->animationState = sub_0806F5B0(GetFacingDirection(entity, &gPlayerEntity));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue