mirror of
https://github.com/zeldaret/tmc
synced 2026-08-16 05:09:24 -04:00
Merge branch 'master' into asset-extraction
This commit is contained in:
+2
-2
@@ -53,14 +53,14 @@ void sub_08063314(Entity* this) {
|
||||
InitializeAnimation(this, offset);
|
||||
}
|
||||
if (this->interactType != '\0') {
|
||||
TextboxNoOverlapFollow(this->actionDelay + 0xA01);
|
||||
MessageFromTarget(this->actionDelay + 0xA01);
|
||||
this->action++;
|
||||
}
|
||||
sub_0806ED78(this);
|
||||
}
|
||||
|
||||
void sub_0806336C(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7F) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7F) == 0) {
|
||||
this->action++;
|
||||
InitializeAnimation(this, 8);
|
||||
}
|
||||
|
||||
+1
-2
@@ -34,7 +34,6 @@ extern Hitbox gUnk_080FD180;
|
||||
Entity* sub_0806D00C(Entity* this);
|
||||
|
||||
void sub_0806D4C0(Entity*, u32);
|
||||
extern u32 CheckPlayerProximity(u32, u32, u32, u32);
|
||||
|
||||
void BigGoron(Entity* this) {
|
||||
gUnk_081140D4[this->type](this);
|
||||
@@ -185,7 +184,7 @@ void sub_0806D274(Entity* this) {
|
||||
case 0:
|
||||
case 1:
|
||||
default:
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->frameIndex = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
+12
-11
@@ -9,6 +9,7 @@
|
||||
#include "npc.h"
|
||||
#include "audio.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void (*gUnk_081115C0[])(Entity*);
|
||||
extern void (*gUnk_081115D0[])(Entity*);
|
||||
@@ -86,7 +87,7 @@ void sub_08068A4C(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
this->interactType = 0;
|
||||
this->action = 2;
|
||||
TextboxNoOverlapFollow(0);
|
||||
MessageFromTarget(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +166,7 @@ void sub_08068BD0(Entity* this) {
|
||||
void sub_08068BEC(Entity* this, u32 unused) {
|
||||
Entity* target;
|
||||
|
||||
target = CreateFx(this, 0x44, 0);
|
||||
target = CreateFx(this, FX_WHITE_SPLASH, 0);
|
||||
if (target) {
|
||||
target->spritePriority.b0 = 1;
|
||||
PositionRelative(this, target, 0, -0x100000);
|
||||
@@ -306,42 +307,42 @@ switchD_08068d12_caseD_0:
|
||||
|
||||
// Introduction dialoague
|
||||
void sub_08068DB8(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_08111664[this->actionDelay], this);
|
||||
MessageNoOverlap(gUnk_08111664[this->actionDelay], this);
|
||||
}
|
||||
|
||||
// Ask to teach dialoague
|
||||
void sub_08068DD0(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_0811167A[this->actionDelay], this);
|
||||
MessageNoOverlap(gUnk_0811167A[this->actionDelay], this);
|
||||
}
|
||||
|
||||
// Technique Dialogue
|
||||
void sub_08068DE8(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_08111690[this->actionDelay], this);
|
||||
MessageNoOverlap(gUnk_08111690[this->actionDelay], this);
|
||||
}
|
||||
|
||||
// Posession dialogue
|
||||
void sub_08068E00(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_081116A6[this->actionDelay], this);
|
||||
MessageNoOverlap(gUnk_081116A6[this->actionDelay], this);
|
||||
}
|
||||
|
||||
void sub_08068E18(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_081116BC[this->actionDelay], this);
|
||||
MessageNoOverlap(gUnk_081116BC[this->actionDelay], this);
|
||||
}
|
||||
|
||||
void sub_08068E30(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_081116D2[this->actionDelay], this);
|
||||
MessageNoOverlap(gUnk_081116D2[this->actionDelay], this);
|
||||
}
|
||||
|
||||
void sub_08068E48(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_081116E8[this->actionDelay], this);
|
||||
MessageNoOverlap(gUnk_081116E8[this->actionDelay], this);
|
||||
}
|
||||
|
||||
void sub_08068E60(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_081116FE[this->actionDelay], this);
|
||||
MessageNoOverlap(gUnk_081116FE[this->actionDelay], this);
|
||||
}
|
||||
|
||||
void sub_08068E78(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_08111714[this->actionDelay], this);
|
||||
MessageNoOverlap(gUnk_08111714[this->actionDelay], this);
|
||||
}
|
||||
|
||||
void sub_08068E90(Entity* this) {
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ void sub_0806355C(Entity* this) {
|
||||
ASM_FUNC("asm/non_matching/brocco/sub_08063584.inc", void sub_08063584(Entity* this))
|
||||
|
||||
void sub_08063608(Entity* this) {
|
||||
u8 tmp = gTextBox.doTextBox & 0x7f;
|
||||
u8 tmp = gMessage.doTextBox & 0x7f;
|
||||
if (tmp == 0) {
|
||||
this->action = 1;
|
||||
this->field_0xf = tmp;
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ void sub_080672C8(Entity* this) {
|
||||
tmp = CheckGlobalFlag(TABIDACHI);
|
||||
dialog = BOOLCAST(tmp);
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08110CE8[(dialog * 2 + this->type * 6) / 2], this);
|
||||
MessageNoOverlap(gUnk_08110CE8[(dialog * 2 + this->type * 6) / 2], this);
|
||||
}
|
||||
|
||||
void sub_08067304(Entity* this) {
|
||||
|
||||
@@ -80,7 +80,7 @@ NONMATCH("asm/non_matching/castleMaid/sub_08064570.inc", void sub_08064570(Entit
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if ((gTextBox.doTextBox & 0x7f) != 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) != 0) {
|
||||
return;
|
||||
}
|
||||
this->action = 1;
|
||||
@@ -111,7 +111,7 @@ void sub_0806464C(Entity* this) {
|
||||
} else {
|
||||
tmp = 1;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_0810F88C[tmp], this);
|
||||
MessageNoOverlap(gUnk_0810F88C[tmp], this);
|
||||
}
|
||||
|
||||
void sub_08064688(Entity* this) {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "script.h"
|
||||
#include "functions.h"
|
||||
#include "flags.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern Hitbox gUnk_08110E94;
|
||||
|
||||
@@ -87,7 +88,7 @@ void sub_08067534(Entity* this) {
|
||||
Entity* entity;
|
||||
s32 i;
|
||||
for (i = 0; i < 2; ++i) {
|
||||
entity = CreateFx(this, 2, 0);
|
||||
entity = CreateFx(this, FX_DEATH, 0);
|
||||
if (entity != NULL) {
|
||||
entity->x.HALF.HI += gUnk_08110E64[i];
|
||||
entity->y.HALF.HI += 0x1c;
|
||||
|
||||
+2
-2
@@ -151,7 +151,7 @@ void sub_0806797C(Entity* this) {
|
||||
|
||||
void sub_0806799C(Entity* this) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
sub_08067B08(this);
|
||||
sub_0805E3A0(this, 1);
|
||||
}
|
||||
@@ -272,7 +272,7 @@ void sub_08067C44(Entity* this) {
|
||||
s32 iVar4;
|
||||
u32 uVar5;
|
||||
|
||||
uVar5 = -((s32) - (gPlayerState.flags.all & 0x80) >> 0x1f);
|
||||
uVar5 = -((s32) - (gPlayerState.flags & 0x80) >> 0x1f);
|
||||
if (uVar5 != this->field_0x68.HALF.HI) {
|
||||
if (uVar5 == 0) {
|
||||
sub_08078778(this);
|
||||
|
||||
+2
-2
@@ -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.all & 0x80;
|
||||
u32 var0 = gPlayerState.flags & 0x80;
|
||||
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.all & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if (itype == 2) {
|
||||
ent->action = 4;
|
||||
sub_0806F118(ent);
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ void sub_0806E648(Entity* this) {
|
||||
|
||||
void sub_0806E65C(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
if ((gPlayerState.flags.all & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 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.all & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if (this->interactType == 2) {
|
||||
this->action = 3;
|
||||
sub_0806F118(this);
|
||||
@@ -69,7 +69,7 @@ void sub_0806E838(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_0806E884(Entity* this) {
|
||||
TextboxNoOverlap(0xdb6, this);
|
||||
MessageNoOverlap(0xdb6, this);
|
||||
}
|
||||
|
||||
void CuccoChick_Fusion(Entity* this) {
|
||||
@@ -79,7 +79,7 @@ void CuccoChick_Fusion(Entity* this) {
|
||||
this->frameIndex = 1;
|
||||
} else {
|
||||
if (sub_08003FC4(this, 0x3000) == 0) {
|
||||
this->field_0x20 = 0x10000;
|
||||
this->hVelocity = 0x10000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -66,7 +66,7 @@ void sub_0806BE84(Entity* this, ScriptExecutionContext* context) {
|
||||
if (GetInventoryValue(0x3C) >= 2) {
|
||||
msgIndex = 2;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08113344[msgIndex], this);
|
||||
MessageNoOverlap(gUnk_08113344[msgIndex], this);
|
||||
}
|
||||
|
||||
void sub_0806BEC8(Entity* this, ScriptExecutionContext* context) {
|
||||
@@ -83,7 +83,7 @@ void sub_0806BEC8(Entity* this, ScriptExecutionContext* context) {
|
||||
msgIndex = 2;
|
||||
}
|
||||
|
||||
TextboxNoOverlap(gUnk_0811334A[msgIndex], this);
|
||||
MessageNoOverlap(gUnk_0811334A[msgIndex], this);
|
||||
}
|
||||
|
||||
void sub_0806BEFC() {
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
#include "functions.h"
|
||||
#include "save.h"
|
||||
|
||||
extern u32 sub_08002632(Entity*);
|
||||
|
||||
void Din(Entity* this) {
|
||||
switch (this->action) {
|
||||
case 0:
|
||||
|
||||
+9
-9
@@ -71,7 +71,7 @@ void sub_08069B44(Entity* this) {
|
||||
if ((this->flags & 2) != 0) {
|
||||
sub_0807DD50(this);
|
||||
}
|
||||
if (((this->type == 0) && ((gPlayerState.flags.all & 0x80) == 0)) && (GetInventoryValue(0x36) != 2)) {
|
||||
if (((this->type == 0) && ((gPlayerState.flags & 0x80) == 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.all & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
sub_08069CB8(this);
|
||||
} else {
|
||||
this->animationState = GetAnimationState(this);
|
||||
@@ -282,14 +282,14 @@ u32 sub_08069F90(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08069FBC(Entity* this) {
|
||||
u32 tmp = (gPlayerState.flags.all & 0x80) != 0 ? 0x24 : 0x20;
|
||||
u32 tmp = (gPlayerState.flags & 0x80) != 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.all & 0x80) >> 0x1f);
|
||||
u32 tmp = -((s32) - (gPlayerState.flags & 0x80) >> 0x1f);
|
||||
if (tmp != this->field_0x6a.HALF.LO) {
|
||||
if (tmp == 0) {
|
||||
sub_08078778(this);
|
||||
@@ -302,7 +302,7 @@ void sub_08069FE8(Entity* this) {
|
||||
|
||||
void sub_0806A028(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
if ((gPlayerState.flags.all & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
if (this->interactType == 2) {
|
||||
this->action = 6;
|
||||
sub_0806F118(this);
|
||||
@@ -326,7 +326,7 @@ void sub_0806A080(Entity* this) {
|
||||
void sub_0806A0A4(Entity* this) {
|
||||
s32 dialog;
|
||||
|
||||
if ((gPlayerState.flags.all & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
dialog = 4;
|
||||
#if defined(JP) || defined(EU) || defined(DEMO_JP)
|
||||
if (CheckLocalFlag(0xcc) == 0) {
|
||||
@@ -364,12 +364,12 @@ void sub_0806A0A4(Entity* this) {
|
||||
}
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08111F74[(u32)gSave.unk8 * 5 + dialog], this);
|
||||
MessageNoOverlap(gUnk_08111F74[(u32)gSave.unk8 * 5 + dialog], this);
|
||||
}
|
||||
|
||||
void sub_0806A144(Entity* this) {
|
||||
s32 dialog = 4;
|
||||
if ((gPlayerState.flags.all & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
dialog = 3;
|
||||
if ((GetInventoryValue(0x46) == 0) && (CheckGlobalFlag(0x29) != 0)) {
|
||||
if (CheckLocalFlag(0x85) == 0) {
|
||||
@@ -379,7 +379,7 @@ void sub_0806A144(Entity* this) {
|
||||
}
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08111FD8[dialog], this);
|
||||
MessageNoOverlap(gUnk_08111FD8[dialog], this);
|
||||
}
|
||||
|
||||
void Dog_Fusion(Entity* this) {
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ void sub_0806C038(Entity* this) {
|
||||
}
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_081133A4[index], this);
|
||||
MessageNoOverlap(gUnk_081133A4[index], this);
|
||||
}
|
||||
|
||||
void sub_0806C09C(Entity* this) {
|
||||
|
||||
+3
-3
@@ -38,7 +38,7 @@ void sub_08065A00(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08065A10(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7F) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7F) == 0) {
|
||||
this->action = 1;
|
||||
InitAnimationForceUpdate(this, this->animationState / 2);
|
||||
}
|
||||
@@ -58,7 +58,7 @@ void sub_08065A50(Entity* this) {
|
||||
void sub_08065A64(Entity* this) {
|
||||
u32 uVar2;
|
||||
|
||||
uVar2 = -(gPlayerState.flags.all & 0x80) >> 0x1f;
|
||||
uVar2 = -(gPlayerState.flags & 0x80) >> 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.all & 0x80) {
|
||||
if (gPlayerState.flags & 0x80) {
|
||||
if (this->interactType == 2) {
|
||||
this->action = 4;
|
||||
sub_0806F118(this);
|
||||
|
||||
+2
-1
@@ -3,6 +3,7 @@
|
||||
#include "script.h"
|
||||
#include "audio.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
const u8 gUnk_08114134[];
|
||||
const u8 gUnk_08114144[];
|
||||
@@ -55,7 +56,7 @@ void sub_0806D944(Entity* this) {
|
||||
|
||||
// Ezlo Angry FX
|
||||
void sub_0806D96C(Entity* this) {
|
||||
Entity* fx = CreateFx(this, 0x42, 0);
|
||||
Entity* fx = CreateFx(this, FX_STEAM_EFC, 0);
|
||||
if (fx != NULL) {
|
||||
fx->spritePriority.b0 = 1;
|
||||
PositionRelative(this, fx, 0, 0xFFE80000);
|
||||
|
||||
@@ -149,7 +149,7 @@ void sub_080601D4(Entity* this) {
|
||||
temp = CheckKinstoneFused(0x17);
|
||||
uVar2 = BOOLCAST(temp);
|
||||
}
|
||||
TextboxNoOverlap(gUnk_0810A354[uVar2], this);
|
||||
MessageNoOverlap(gUnk_0810A354[uVar2], this);
|
||||
}
|
||||
|
||||
void sub_08060208(Entity* this) {
|
||||
@@ -197,7 +197,7 @@ void sub_08060270(Entity* this) {
|
||||
SetLocalFlag(0x76);
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_0810A35A[index], this);
|
||||
MessageNoOverlap(gUnk_0810A35A[index], this);
|
||||
}
|
||||
|
||||
void sub_080602BC(Entity* this) {
|
||||
@@ -213,7 +213,7 @@ void sub_080602BC(Entity* this) {
|
||||
index = 0;
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_0810A362[index], this);
|
||||
MessageNoOverlap(gUnk_0810A362[index], this);
|
||||
}
|
||||
|
||||
void sub_0806030C(Entity* this, ScriptExecutionContext* context) {
|
||||
|
||||
@@ -115,7 +115,7 @@ void sub_08065F20(Entity* this) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
if (this->interactType != 0) {
|
||||
this->interactType = 0;
|
||||
TextboxNoOverlapFollow(0);
|
||||
MessageFromTarget(0);
|
||||
this->animIndex += 1;
|
||||
if (gSpriteAnimations_GhostBrothers[this->animIndex] == 0) {
|
||||
this->animIndex = 0;
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ void sub_08069888(Entity* this) {
|
||||
} else {
|
||||
index = 5;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08111C50[index], this);
|
||||
MessageNoOverlap(gUnk_08111C50[index], this);
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/gorman/sub_0806991C.inc", void sub_0806991C(Entity* this, ScriptExecutionContext* context))
|
||||
|
||||
+5
-4
@@ -3,6 +3,7 @@
|
||||
#include "functions.h"
|
||||
#include "textbox.h"
|
||||
#include "script.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void (*gUnk_08111A80[])(Entity*);
|
||||
extern void (*gUnk_08111A8C[])(Entity*);
|
||||
@@ -40,13 +41,13 @@ void sub_08069328(Entity* this) {
|
||||
this->action = 2;
|
||||
sub_0805E47C(this);
|
||||
InitAnimationForceUpdate(this, 8);
|
||||
TextboxNoOverlapFollow(this->actionDelay + (0x90 << 5));
|
||||
MessageFromTarget(this->actionDelay + (0x90 << 5));
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08069390(Entity* this) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
if ((gTextBox.doTextBox & 0x7F) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7F) == 0) {
|
||||
this->action = 1;
|
||||
this->interactType = 0;
|
||||
sub_0805E584(this);
|
||||
@@ -79,13 +80,13 @@ void sub_080693D0(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08069428(Entity* this, s32 offsetX, bool32 createFx65) {
|
||||
Entity* fx = CreateFx(this, 4, 0);
|
||||
Entity* fx = CreateFx(this, FX_ROCK, 0);
|
||||
if (fx) {
|
||||
PositionRelative(this, fx, offsetX, 0xFFF00000);
|
||||
ResolveEntityOnTop(this, fx);
|
||||
}
|
||||
if (createFx65 != 0) {
|
||||
fx = CreateFx(this, 65, 0);
|
||||
fx = CreateFx(this, FX_REFLECT4, 0);
|
||||
if (fx) {
|
||||
PositionRelative(this, fx, offsetX, 0xFFF00000);
|
||||
ResolveEntityOnTop(this, fx);
|
||||
|
||||
@@ -52,9 +52,9 @@ void sub_080695AC(Entity* this) {
|
||||
|
||||
void sub_080695E8(Entity* this) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->action = 1;
|
||||
this->interactType = gTextBox.doTextBox & 0x7f;
|
||||
this->interactType = gMessage.doTextBox & 0x7f;
|
||||
sub_0805E584(this);
|
||||
InitAnimationForceUpdate(this, this->animationState);
|
||||
}
|
||||
@@ -80,8 +80,8 @@ void sub_08069654(Entity* this) {
|
||||
void sub_08069660(Entity* this) {
|
||||
u32 uVar1;
|
||||
|
||||
TextboxNoOverlap(0x2c1c, this);
|
||||
gTextBox.field_0x10 = (u16)GoronMerchant_GetSalePrice(this);
|
||||
MessageNoOverlap(0x2c1c, this);
|
||||
gMessage.field_0x10 = (u16)GoronMerchant_GetSalePrice(this);
|
||||
}
|
||||
|
||||
void sub_08069684(void) {
|
||||
@@ -142,11 +142,11 @@ void GoronMerchant_TryToBuyKinstone(Entity* this, ScriptExecutionContext* contex
|
||||
gRoomVars.field_0x7 = 0;
|
||||
context->condition = 1;
|
||||
} else {
|
||||
TextboxNoOverlap(0x2c1f, this);
|
||||
MessageNoOverlap(0x2c1f, this);
|
||||
context->condition = 0;
|
||||
}
|
||||
} else {
|
||||
TextboxNoOverlap(0x2c1e, this);
|
||||
MessageNoOverlap(0x2c1e, this);
|
||||
context->condition = 0;
|
||||
}
|
||||
gActiveScriptInfo.flags = gActiveScriptInfo.flags | 1;
|
||||
|
||||
+4
-4
@@ -85,8 +85,8 @@ void sub_08063DC8(Entity* this) {
|
||||
InitAnimationForceUpdate(this, this->animationState + 4);
|
||||
} else {
|
||||
sub_0806EE20(this);
|
||||
if (this->field_0x3e != this->animationState) {
|
||||
this->animationState = this->field_0x3e;
|
||||
if (this->knockbackDirection != this->animationState) {
|
||||
this->animationState = this->knockbackDirection;
|
||||
InitializeAnimation(this, this->animationState + 4);
|
||||
} else {
|
||||
GetNextFrame(this);
|
||||
@@ -107,7 +107,7 @@ void sub_08063E54(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08063E6C(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->action = 1;
|
||||
InitializeAnimation(this, this->animationState + 4);
|
||||
}
|
||||
@@ -160,7 +160,7 @@ void sub_08063F20(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08063F78(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->action = this->action - 1;
|
||||
InitializeAnimation(this, (this->animationState >> 1) + 4 + *(s8*)&this->field_0x70);
|
||||
}
|
||||
|
||||
+4
-4
@@ -70,7 +70,7 @@ void sub_08062130(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08062194(Entity* this) {
|
||||
TextboxNoOverlapFollow(0);
|
||||
MessageFromTarget(0);
|
||||
this->action = 1;
|
||||
this->interactType = 0;
|
||||
}
|
||||
@@ -132,7 +132,7 @@ NONMATCH("asm/non_matching/kid/sub_080621AC.inc", void sub_080621AC(Entity* this
|
||||
break;
|
||||
case 2:
|
||||
GetNextFrame(this);
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->action = 1;
|
||||
}
|
||||
break;
|
||||
@@ -203,13 +203,13 @@ END_NONMATCH
|
||||
NONMATCH("asm/non_matching/kid/sub_08062634.inc", void sub_08062634(Entity* this)) {
|
||||
u32 a = this->type2;
|
||||
u32 b = (Random() & 1);
|
||||
TextboxNoOverlap(*((u16*)gUnk_0810BDE8 + b + a * 2), this);
|
||||
MessageNoOverlap(*((u16*)gUnk_0810BDE8 + b + a * 2), this);
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
NONMATCH("asm/non_matching/kid/sub_0806265C.inc", void sub_0806265C(Entity* this, ScriptExecutionContext* context)) {
|
||||
if (gSave.unk8 == 0) {
|
||||
TextboxNoOverlap(0, this);
|
||||
MessageNoOverlap(0, this);
|
||||
} else {
|
||||
ShowNPCDialogue(this, &gUnk_0810BE10[this->type * 9 + gSave.unk8]);
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ void sub_0806673C(Entity* this) {
|
||||
} else {
|
||||
index = 3;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_081104F8[index], this);
|
||||
MessageNoOverlap(gUnk_081104F8[index], this);
|
||||
}
|
||||
|
||||
void KingDaltus_Fusion(Entity* this) {
|
||||
|
||||
@@ -16,12 +16,12 @@ void KingGustaf(Entity* this) {
|
||||
gScreen.controls.layerFXControl = 0x3f40;
|
||||
gScreen.controls.alphaBlend = 0x1000;
|
||||
this->speed = 0x1000;
|
||||
this->field_0x20 = 0;
|
||||
this->hVelocity = 0;
|
||||
} else {
|
||||
sub_0807DD94(this, 0);
|
||||
speed = 0x100;
|
||||
speed *= this->speed;
|
||||
speed += this->field_0x20;
|
||||
speed += this->hVelocity;
|
||||
speed >>= 0x10;
|
||||
if (speed > 0x10) {
|
||||
speed = 0x10;
|
||||
|
||||
+2
-2
@@ -55,7 +55,7 @@ void sub_0806B260(Entity* this, ScriptExecutionContext* context) {
|
||||
} else {
|
||||
index = 3;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08112D48[index], this);
|
||||
MessageNoOverlap(gUnk_08112D48[index], this);
|
||||
}
|
||||
|
||||
extern u16 gUnk_08112D50[];
|
||||
@@ -82,7 +82,7 @@ void sub_0806B2B4(Entity* this) {
|
||||
} else {
|
||||
index = 0;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08112D50[index], this);
|
||||
MessageNoOverlap(gUnk_08112D50[index], this);
|
||||
}
|
||||
|
||||
void Librari_Fusion(Entity* this) {
|
||||
|
||||
@@ -57,5 +57,5 @@ void sub_0806BBB0(Entity* this) {
|
||||
} else {
|
||||
tmp = 2;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08113078[tmp], this);
|
||||
MessageNoOverlap(gUnk_08113078[tmp], this);
|
||||
}
|
||||
|
||||
+3
-2
@@ -2,6 +2,7 @@
|
||||
#include "entity.h"
|
||||
#include "textbox.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void sub_08063280();
|
||||
|
||||
@@ -41,7 +42,7 @@ void sub_08063254(Entity* this, u32 unused) {
|
||||
sub_08063280(this, unused);
|
||||
if ((this->frames.all & 0x80) != 0) {
|
||||
this->action = 3;
|
||||
TextboxNoOverlapFollow(0);
|
||||
MessageFromTarget(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,5 +59,5 @@ void sub_08063280(Entity* this, u32 unused) {
|
||||
var = e->frames.all & 0x7F;
|
||||
e->frames.all ^= var;
|
||||
if (var == 2)
|
||||
CreateFx(e, 49, 0);
|
||||
CreateFx(e, FX_MAILBOX_UNUSED, 0);
|
||||
}
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ void sub_08062D18(Entity* this, ScriptExecutionContext* context) {
|
||||
tmp = 3;
|
||||
}
|
||||
|
||||
TextboxNoOverlap(gUnk_0810C34C[tmp], this);
|
||||
MessageNoOverlap(gUnk_0810C34C[tmp], this);
|
||||
if (tmp == 0) {
|
||||
context->condition = TRUE;
|
||||
} else {
|
||||
|
||||
+3
-2
@@ -6,6 +6,7 @@
|
||||
#include "random.h"
|
||||
#include "audio.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void sub_08068780(Entity*);
|
||||
extern s32 sub_0806EDD8(Entity*, u32, u32);
|
||||
@@ -49,7 +50,7 @@ void sub_08068730(Entity* this) {
|
||||
}
|
||||
if (this->interactType != 0) {
|
||||
this->interactType = 0;
|
||||
TextboxNoOverlapFollow(this->actionDelay + 0x1200);
|
||||
MessageFromTarget(this->actionDelay + 0x1200);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +92,7 @@ void sub_08068780(Entity* this) {
|
||||
} else {
|
||||
EnqueueSFX(gUnk_08111538[(s32)Random() % 3]);
|
||||
}
|
||||
ent = CreateFx(this, 0x3d, 0x20);
|
||||
ent = CreateFx(this, FX_STARS2, 0x20);
|
||||
if (ent != NULL) {
|
||||
PositionRelative(this, ent, 0x180000, -0xa0000);
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ void sub_08066904(Entity* this) {
|
||||
} else {
|
||||
index = 3;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08110650[index], this);
|
||||
MessageNoOverlap(gUnk_08110650[index], this);
|
||||
}
|
||||
|
||||
void MinisterPotho_Fusion(Entity* this) {
|
||||
|
||||
@@ -50,7 +50,7 @@ void sub_08067E88(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
this->interactType = 0;
|
||||
this->action = 2;
|
||||
TextboxNoOverlapFollow(this->actionDelay + 0x1200);
|
||||
MessageFromTarget(this->actionDelay + 0x1200);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ NONMATCH("asm/non_matching/mountainMinish/sub_08068190.inc", void sub_08068190(E
|
||||
}
|
||||
|
||||
// TODO unable to devide the array access variables by two without breaking everything
|
||||
TextboxNoOverlap(gUnk_0811130E[uVar2 * 2 + uVar3 * 8], this);
|
||||
MessageNoOverlap(gUnk_0811130E[uVar2 * 2 + uVar3 * 8], this);
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ void sub_080670B4(Entity* this) {
|
||||
uVar1 = CheckGlobalFlag(TABIDACHI);
|
||||
uVar2 = BOOLCAST(uVar1);
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08110C0C[uVar2], this);
|
||||
MessageNoOverlap(gUnk_08110C0C[uVar2], this);
|
||||
}
|
||||
|
||||
void sub_080670E4(Entity* this) {
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ void sub_080662F8(Entity* this) {
|
||||
void sub_08066358(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
this->interactType = 0;
|
||||
TextboxNoOverlapFollow(0);
|
||||
MessageFromTarget(0);
|
||||
if ((this->type2 & 0x10) != 0) {
|
||||
this->action = 3;
|
||||
this->subAction = 0;
|
||||
|
||||
+2
-2
@@ -392,7 +392,7 @@ NONMATCH("asm/non_matching/npc5/sub_08061170.inc", bool32 sub_08061170(Entity* t
|
||||
this->action = 6;
|
||||
tmp = (sub_08079FD4(this, 1) * 0x10 - 4);
|
||||
// tmp <<= 0xc;
|
||||
this->field_0x20 = tmp;
|
||||
this->hVelocity = tmp;
|
||||
this->speed = 0x100;
|
||||
this->direction = direction;
|
||||
this->animationState = direction >> 2;
|
||||
@@ -867,7 +867,7 @@ NONMATCH("asm/non_matching/npc5/sub_08061B18.inc", void sub_08061B18(Entity* thi
|
||||
if ((((Tmp**)&this->field_0x68))[++this->actionDelay]->unk_2 == 0) {
|
||||
this->actionDelay = 0;
|
||||
}
|
||||
TextboxNoOverlap((u32)*puVar2, this);
|
||||
MessageNoOverlap((u32)*puVar2, this);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -30,13 +30,13 @@ void sub_08062B14(Entity* this) {
|
||||
void sub_08062B48(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
if ((this->frames.b.f3) != 0) {
|
||||
TextboxNoOverlapFollow(0xa01);
|
||||
MessageFromTarget(0xa01);
|
||||
this->action++;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08062B70(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
InitializeAnimation(this, 2);
|
||||
this->action = 1;
|
||||
sub_0805E584(this);
|
||||
|
||||
+8
-7
@@ -6,6 +6,7 @@
|
||||
#include "flags.h"
|
||||
#include "script.h"
|
||||
#include "save.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void sub_0806B41C(Entity*);
|
||||
extern void sub_0806B3CC(Entity*);
|
||||
@@ -48,7 +49,7 @@ void sub_0806B3CC(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
if (this->interactType != 0) {
|
||||
this->interactType = 0;
|
||||
TextboxNoOverlapFollow(0);
|
||||
MessageFromTarget(0);
|
||||
}
|
||||
sub_0806ED78(this);
|
||||
}
|
||||
@@ -63,7 +64,7 @@ void sub_0806B41C(Entity* this) {
|
||||
this->action = 1;
|
||||
this->spriteSettings.b.draw = 1;
|
||||
if (this->type2 == 2) {
|
||||
CreateFx(this, 0x25, 0);
|
||||
CreateFx(this, FX_SWEAT, 0);
|
||||
}
|
||||
sub_0807DD50(this);
|
||||
}
|
||||
@@ -106,7 +107,7 @@ void sub_0806B504(Entity* this) {
|
||||
SetLocalFlag(0x86);
|
||||
}
|
||||
|
||||
TextboxNoOverlap(gUnk_08112E54[idx], this);
|
||||
MessageNoOverlap(gUnk_08112E54[idx], this);
|
||||
}
|
||||
|
||||
void sub_0806B540(Entity* this) {
|
||||
@@ -115,7 +116,7 @@ void sub_0806B540(Entity* this) {
|
||||
context = *(ScriptExecutionContext**)&this->cutsceneBeh;
|
||||
switch (context->unk_18) {
|
||||
case 0:
|
||||
TextboxNoOverlap(0x2312, this);
|
||||
MessageNoOverlap(0x2312, this);
|
||||
if (CheckLocalFlag(0x3f) != 0) {
|
||||
return;
|
||||
}
|
||||
@@ -123,13 +124,13 @@ void sub_0806B540(Entity* this) {
|
||||
SetLocalFlag(0x3f);
|
||||
break;
|
||||
case 1:
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
context->unk_18 = 2;
|
||||
TextboxNoOverlap(0x2315, this);
|
||||
MessageNoOverlap(0x2315, this);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
context->unk_18 = 3;
|
||||
if (gSave.stats.filler3[0] != 0) {
|
||||
sub_080A7C18(0x58, 0, 0);
|
||||
|
||||
@@ -109,10 +109,10 @@ void sub_0806E1FC(Entity* this) {
|
||||
|
||||
void sub_0806E20C(void) {
|
||||
if (gScreenTransition.field_0x6 != 0) {
|
||||
TextboxNoOverlapFollow(0x421f);
|
||||
gTextBox.field_0x10 = gScreenTransition.field_0x6;
|
||||
MessageFromTarget(0x421f);
|
||||
gMessage.field_0x10 = gScreenTransition.field_0x6;
|
||||
} else {
|
||||
TextboxNoOverlapFollow(0x4220);
|
||||
MessageFromTarget(0x4220);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ void sub_08063A98(Entity* this) {
|
||||
ASM_FUNC("asm/non_matching/pina/sub_08063AC0.inc", void sub_08063AC0(Entity* this))
|
||||
|
||||
void sub_08063B44(Entity* this) {
|
||||
u8 tmp = gTextBox.doTextBox & 0x7f;
|
||||
u8 tmp = gMessage.doTextBox & 0x7f;
|
||||
if (tmp == 0) {
|
||||
this->action = 1;
|
||||
this->field_0xf = tmp;
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ bool32 sub_08062EDC(Entity* this, ScriptExecutionContext* context) {
|
||||
tmp = sub_080028F4(gUnk_0810C435);
|
||||
tmp2 = gUnk_0810C43D[tmp];
|
||||
sub_080A7C18(0x5c, tmp2, 1);
|
||||
TextboxNoOverlap(0x3c05, this);
|
||||
MessageNoOverlap(0x3c05, this);
|
||||
context->condition = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+7
-6
@@ -9,6 +9,7 @@
|
||||
#include "save.h"
|
||||
#include "script.h"
|
||||
#include "flags.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void sub_08060528(Entity*);
|
||||
extern void sub_0806EE04(Entity*, void*, u32);
|
||||
@@ -64,10 +65,10 @@ void sub_0806045C(Entity* this) {
|
||||
case 1:
|
||||
case 2:
|
||||
this->action = 2;
|
||||
TextboxNoOverlapFollow(0);
|
||||
MessageFromTarget(0);
|
||||
break;
|
||||
default:
|
||||
bVar1 = this->field_0x3e;
|
||||
bVar1 = this->knockbackDirection;
|
||||
if (bVar1 != this->animationState) {
|
||||
this->animationState = bVar1;
|
||||
InitAnimationForceUpdate(this, 4 + bVar1);
|
||||
@@ -99,7 +100,7 @@ void sub_080604DC(Entity* this) {
|
||||
if (((u32)(this->spriteSettings.raw << 0x1e) >> 0x1e == 1) && sub_080040A8(this)) {
|
||||
if ((this->frames.all & 1) != 0) {
|
||||
this->frames.all &= 0xfe;
|
||||
ent = CreateFx(this, 0x11, 0x40);
|
||||
ent = CreateFx(this, FX_DASH, 0x40);
|
||||
if (ent != NULL) {
|
||||
ent->y.HALF.HI++;
|
||||
sub_0805E3A0(ent, 3);
|
||||
@@ -139,7 +140,7 @@ void sub_08060528(Entity* this) {
|
||||
break;
|
||||
case 2:
|
||||
UpdateAnimationSingleFrame(this);
|
||||
if ((gTextBox.doTextBox & 0x7f) != 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) != 0) {
|
||||
break;
|
||||
}
|
||||
this->action = 1;
|
||||
@@ -155,7 +156,7 @@ void sub_08060528(Entity* this) {
|
||||
if (0 < (s16)this->field_0x6a.HWORD) {
|
||||
if ((s16)this->field_0x6a.HWORD > 0x12b) {
|
||||
this->field_0x6a.HWORD = 0;
|
||||
this->field_0x20 = 0x20000;
|
||||
this->hVelocity = 0x20000;
|
||||
this->field_0x6c.HALF.HI = 1;
|
||||
sub_080788E0(this);
|
||||
EnqueueSFX(0x7c);
|
||||
@@ -164,7 +165,7 @@ void sub_08060528(Entity* this) {
|
||||
}
|
||||
}
|
||||
sub_08003FC4(this, 0x1800);
|
||||
if (((this->field_0x6c.HALF.HI != 0) && (this->field_0x20 == 0)) && this->height.WORD == 0) {
|
||||
if (((this->field_0x6c.HALF.HI != 0) && (this->hVelocity == 0)) && this->height.WORD == 0) {
|
||||
this->field_0x6c.HALF.HI = 0;
|
||||
sub_080606C0(this);
|
||||
}
|
||||
|
||||
+1
-1
@@ -302,7 +302,7 @@ void sub_0806AA18(Entity* this) {
|
||||
} else {
|
||||
index = 0x440d;
|
||||
}
|
||||
TextboxNoOverlap(index, this);
|
||||
MessageNoOverlap(index, this);
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/rem/sub_0806AA50.inc", void sub_0806AA50(Entity* this, ScriptExecutionContext* context))
|
||||
|
||||
@@ -20,7 +20,7 @@ void SmallTownMinish(Entity* this) {
|
||||
} else {
|
||||
sub_0807DD94(this, NULL);
|
||||
}
|
||||
if ((gPlayerState.flags.all & 0x80) != 0) {
|
||||
if ((gPlayerState.flags & 0x80) != 0) {
|
||||
this->spriteSettings.b.draw = 1;
|
||||
} else {
|
||||
this->spriteSettings.b.draw = 0;
|
||||
|
||||
+3
-2
@@ -7,6 +7,7 @@
|
||||
#include "npc.h"
|
||||
#include "audio.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void sub_08078850(Entity*, u32, u32, u32*);
|
||||
|
||||
@@ -43,7 +44,7 @@ void Smith(Entity* this) {
|
||||
}
|
||||
if ((this->frames.all & 1) != 0) {
|
||||
this->frames.all &= 0xfe;
|
||||
CreateFx(this, 0x3d, 0x20);
|
||||
CreateFx(this, FX_STARS2, 0x20);
|
||||
SoundReq(gUnk_08110380[(Random() & 7)]);
|
||||
}
|
||||
}
|
||||
@@ -90,7 +91,7 @@ void sub_08066118(Entity* this) {
|
||||
}
|
||||
if (this->interactType != 0) {
|
||||
this->action = 2;
|
||||
TextboxNoOverlapFollow(0);
|
||||
MessageFromTarget(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-3
@@ -3,6 +3,7 @@
|
||||
#include "textbox.h"
|
||||
#include "functions.h"
|
||||
#include "script.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void sub_08062CA4();
|
||||
|
||||
@@ -40,13 +41,13 @@ void sub_08062C24(Entity* ent) {
|
||||
GetNextFrame(ent);
|
||||
if ((ent->frames.all & 128) != 0) {
|
||||
InitializeAnimation(ent, 4);
|
||||
TextboxNoOverlapFollow(2561);
|
||||
MessageFromTarget(2561);
|
||||
ent->action++;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08062C54(Entity* ent) {
|
||||
if ((gTextBox.doTextBox & 127) == 0) {
|
||||
if ((gMessage.doTextBox & 127) == 0) {
|
||||
ent->action = 1;
|
||||
InitializeAnimation(ent, 0);
|
||||
sub_0805E584(ent);
|
||||
@@ -57,7 +58,7 @@ void sub_08062C7C(Entity* ent) {
|
||||
ent->action = 1;
|
||||
sub_0807DD64(ent);
|
||||
InitializeAnimation(ent, 0);
|
||||
CreateFx(ent, 37, 0);
|
||||
CreateFx(ent, FX_SWEAT, 0);
|
||||
sub_08062CA4(ent);
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -42,8 +42,8 @@ ASM_FUNC("asm/non_matching/stockwell/sub_080650CC.inc", void sub_080650CC(Entity
|
||||
|
||||
void sub_080651AC(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
this->interactType = gTextBox.doTextBox & 0x7f;
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->interactType = gMessage.doTextBox & 0x7f;
|
||||
this->action = 1;
|
||||
InitializeAnimation(this, 4);
|
||||
}
|
||||
@@ -67,7 +67,7 @@ void sub_080651F8(Entity* this) {
|
||||
void sub_0806522C(Entity* this) {
|
||||
if (--this->actionDelay == 0) {
|
||||
++this->subAction;
|
||||
TextboxNoOverlap(0x2c16, this);
|
||||
MessageNoOverlap(0x2c16, this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,12 +90,12 @@ void sub_08065250(Entity* this) {
|
||||
void sub_0806528C(Entity* this) {
|
||||
if (--this->actionDelay == 0) {
|
||||
++this->subAction;
|
||||
TextboxNoOverlap(0x2c18, this);
|
||||
MessageNoOverlap(0x2c18, this);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_080652B0(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->subAction += 1;
|
||||
this->actionDelay = 10;
|
||||
gRoomVars.greatFairyState = this->field_0xf;
|
||||
@@ -109,22 +109,22 @@ void sub_080652E4(Entity* this) {
|
||||
} else {
|
||||
if (gPlayerEntity.action != 8) {
|
||||
this->subAction += 1;
|
||||
TextboxNoOverlap(0x2c19, this);
|
||||
MessageNoOverlap(0x2c19, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08065314(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->subAction += 1;
|
||||
MenuFadeIn(3, 3);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08065338(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->action = 1;
|
||||
this->subAction = gTextBox.doTextBox & 0x7f;
|
||||
this->subAction = gMessage.doTextBox & 0x7f;
|
||||
gRoomVars.greatFairyState = this->field_0xf;
|
||||
InitializeAnimation(this, 4);
|
||||
}
|
||||
|
||||
+2
-2
@@ -66,7 +66,7 @@ void sub_08064B44(Entity* this) {
|
||||
ASM_FUNC("asm/non_matching/sturgeon/sub_08064B88.inc", void sub_08064B88(Entity* this))
|
||||
|
||||
void sub_08064C2C(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->action = 1;
|
||||
InitializeAnimation(this, (u32)this->field_0xf);
|
||||
}
|
||||
@@ -104,7 +104,7 @@ void sub_08064CD8(Entity* this) {
|
||||
flag = CheckLocalFlag(0x73);
|
||||
tmp = BOOLCAST(flag);
|
||||
}
|
||||
TextboxNoOverlap(gUnk_0810FA54[tmp], this);
|
||||
MessageNoOverlap(gUnk_0810FA54[tmp], this);
|
||||
}
|
||||
|
||||
void sub_08064D08(Entity* this) {
|
||||
|
||||
+2
-2
@@ -92,7 +92,7 @@ void sub_08065680(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_080656A4(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7F) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7F) == 0) {
|
||||
this->action = this->field_0x68.HALF.HI;
|
||||
InitAnimationForceUpdate(this, this->field_0x6a.HALF.LO);
|
||||
}
|
||||
@@ -115,7 +115,7 @@ void sub_080656D4(Entity* this) {
|
||||
this->field_0x68.HALF.HI = this->action;
|
||||
this->action = 3;
|
||||
this->interactType = 0;
|
||||
TextboxNoOverlap(*(u32*)(*(u32*)&this->cutsceneBeh.HWORD + 4), this);
|
||||
MessageNoOverlap(*(u32*)(*(u32*)&this->cutsceneBeh.HWORD + 4), this);
|
||||
label:
|
||||
sub_0806574C(this);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ void sub_08064DA0(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
this->action = 2;
|
||||
InitAnimationForceUpdate(this, 6);
|
||||
TextboxNoOverlapFollow(0);
|
||||
MessageFromTarget(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ void sub_0806ACC4(Entity* this) {
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (gTextBox.doTextBox & 0x7f)
|
||||
if (gMessage.doTextBox & 0x7f)
|
||||
break;
|
||||
|
||||
this->action = 1;
|
||||
@@ -223,12 +223,12 @@ void sub_0806AF60(Entity* this, ScriptExecutionContext* context) {
|
||||
}
|
||||
|
||||
void sub_0806AF70(Entity* this, ScriptExecutionContext* context) {
|
||||
this->field_0x20 = 0x24000;
|
||||
this->hVelocity = 0x24000;
|
||||
}
|
||||
|
||||
void sub_0806AF78(Entity* this, ScriptExecutionContext* context) {
|
||||
sub_08003FC4(this, 0x1800);
|
||||
if (0 <= this->height.WORD && this->field_0x20 < 1) {
|
||||
if (0 <= this->height.WORD && this->hVelocity < 1) {
|
||||
this->height.WORD = 0;
|
||||
sub_0806AF70(this, context);
|
||||
}
|
||||
@@ -273,7 +273,7 @@ void sub_0806B004(Entity* this, ScriptExecutionContext* context) {
|
||||
SetLocalFlag(0x6a);
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08112C40[idx], this);
|
||||
MessageNoOverlap(gUnk_08112C40[idx], this);
|
||||
}
|
||||
|
||||
void sub_0806B064(Entity* this) {
|
||||
@@ -285,7 +285,7 @@ void sub_0806B064(Entity* this) {
|
||||
idx = 2;
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08112C4A[idx], this);
|
||||
MessageNoOverlap(gUnk_08112C4A[idx], this);
|
||||
}
|
||||
|
||||
void sub_0806B098(Entity* this) {
|
||||
@@ -299,7 +299,7 @@ void sub_0806B098(Entity* this) {
|
||||
idx = BOOLCAST(f);
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08112C50[(this->type2 - 7) * 3 + idx], this);
|
||||
MessageNoOverlap(gUnk_08112C50[(this->type2 - 7) * 3 + idx], this);
|
||||
}
|
||||
|
||||
void sub_0806B0E0(Entity* this) {
|
||||
@@ -310,7 +310,7 @@ void sub_0806B0E0(Entity* this) {
|
||||
idx = 1;
|
||||
}
|
||||
|
||||
TextboxNoOverlap(gUnk_08112C5C[idx], this);
|
||||
MessageNoOverlap(gUnk_08112C5C[idx], this);
|
||||
}
|
||||
|
||||
void sub_0806B134(Entity* this) {
|
||||
@@ -329,7 +329,7 @@ void sub_0806B134(Entity* this) {
|
||||
if (5 < gSave.unk8) {
|
||||
idx = 3;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08112C60[idx], this);
|
||||
MessageNoOverlap(gUnk_08112C60[idx], this);
|
||||
}
|
||||
|
||||
void TownMinish_Fusion(Entity* this) {
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "random.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
typedef struct {
|
||||
u8 frame1;
|
||||
@@ -69,7 +70,7 @@ void sub_08061C00(Entity* this) {
|
||||
sub_0806ED78(this);
|
||||
if (this->interactType != 0) {
|
||||
this->interactType = 0;
|
||||
TextboxNoOverlapFollow(this->type2 + 0xa01);
|
||||
MessageFromTarget(this->type2 + 0xa01);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +141,7 @@ void sub_08061D64(Entity* this) {
|
||||
|
||||
void sub_08061E24(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
this->action = 1;
|
||||
InitializeAnimation(this, this->field_0x68.HALF.HI);
|
||||
}
|
||||
@@ -228,7 +229,7 @@ void sub_08061E90(Entity* this, Entity* arg1) {
|
||||
void sub_08061F94(Entity* this) {
|
||||
Entity* ent;
|
||||
|
||||
ent = CreateFx(this, 0x35, 0);
|
||||
ent = CreateFx(this, FX_BIG_EXPLOSION, 0);
|
||||
if (ent != NULL) {
|
||||
ResolveEntityOnTop(this, ent);
|
||||
}
|
||||
@@ -253,7 +254,7 @@ void sub_08061FE4(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08061FF4(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_0810B790[this->type], this);
|
||||
MessageNoOverlap(gUnk_0810B790[this->type], this);
|
||||
}
|
||||
|
||||
void sub_0806200C(Entity* this) {
|
||||
@@ -269,7 +270,7 @@ void sub_0806200C(Entity* this) {
|
||||
index = 1;
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_0810B7BA[index], this);
|
||||
MessageNoOverlap(gUnk_0810B7BA[index], this);
|
||||
}
|
||||
|
||||
void sub_08062048(Entity* this) {
|
||||
@@ -282,7 +283,7 @@ void sub_08062048(Entity* this) {
|
||||
}
|
||||
ShowNPCDialogue(this, gUnk_0810B7C0 + this->type * 0x8 + iVar1);
|
||||
} else {
|
||||
TextboxNoOverlap(0, this);
|
||||
MessageNoOverlap(0, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ void VaatiRebornAction1(Entity* this) {
|
||||
break;
|
||||
}
|
||||
CopyPosition(this, entity);
|
||||
TextboxNoOverlapFollow(0x1634);
|
||||
MessageFromTarget(0x1634);
|
||||
this->subAction = this->subAction + 1;
|
||||
DeleteThisEntity();
|
||||
return;
|
||||
|
||||
@@ -69,7 +69,7 @@ void sub_0806C7D4(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_0806C834(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7f) == 0) {
|
||||
if ((gMessage.doTextBox & 0x7f) == 0) {
|
||||
--this->action;
|
||||
InitializeAnimation(this, (this->animationState / 2) + 4);
|
||||
}
|
||||
@@ -140,7 +140,7 @@ void sub_0806C944(Entity* this) {
|
||||
iVar2 = 1;
|
||||
}
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08113B0C[iVar2], this);
|
||||
MessageNoOverlap(gUnk_08113B0C[iVar2], this);
|
||||
}
|
||||
|
||||
void sub_0806C978(Entity* this) {
|
||||
@@ -148,7 +148,7 @@ void sub_0806C978(Entity* this) {
|
||||
u32 flagAsBool;
|
||||
flag = CheckGlobalFlag(0x58);
|
||||
flagAsBool = BOOLCAST(flag);
|
||||
TextboxNoOverlap(gUnk_08113B12[flagAsBool], this);
|
||||
MessageNoOverlap(gUnk_08113B12[flagAsBool], this);
|
||||
}
|
||||
|
||||
void sub_0806C99C(Entity* this) {
|
||||
@@ -160,7 +160,7 @@ void sub_0806C99C(Entity* this) {
|
||||
if (CheckLocalFlag(99) != 0) {
|
||||
flagAsBool += 1;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08113B16[flagAsBool], this);
|
||||
MessageNoOverlap(gUnk_08113B16[flagAsBool], this);
|
||||
}
|
||||
|
||||
void sub_0806C9D0(Entity* this) {
|
||||
@@ -168,7 +168,7 @@ void sub_0806C9D0(Entity* this) {
|
||||
if (CheckLocalFlag(100) == 0) {
|
||||
tmp = 1;
|
||||
}
|
||||
TextboxNoOverlap(gUnk_08113B1E[tmp], this);
|
||||
MessageNoOverlap(gUnk_08113B1E[tmp], this);
|
||||
}
|
||||
|
||||
void sub_0806C9F8(Entity* this) {
|
||||
@@ -176,15 +176,15 @@ void sub_0806C9F8(Entity* this) {
|
||||
u32 flagAsBool;
|
||||
flag = CheckGlobalFlag(0x58);
|
||||
flagAsBool = BOOLCAST(flag);
|
||||
TextboxNoOverlap(gUnk_08113B22[flagAsBool], this);
|
||||
MessageNoOverlap(gUnk_08113B22[flagAsBool], this);
|
||||
}
|
||||
|
||||
void sub_0806CA1C(Entity* this) {
|
||||
TextboxNoOverlap(0x251b, this);
|
||||
MessageNoOverlap(0x251b, this);
|
||||
}
|
||||
|
||||
void sub_0806CA2C(Entity* this) {
|
||||
TextboxNoOverlap(0x2527, this);
|
||||
MessageNoOverlap(0x2527, this);
|
||||
}
|
||||
|
||||
void sub_0806CA3C(Entity* this) {
|
||||
|
||||
+2
-2
@@ -129,7 +129,7 @@ void sub_08066E80(Entity* this, ScriptExecutionContext* context) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
if (this->frames.all & 1) {
|
||||
context->unk_18++;
|
||||
this->field_0x20 = 0x20000;
|
||||
this->hVelocity = 0x20000;
|
||||
this->frames.all &= 0xFE;
|
||||
SoundReq(SFX_PLY_JUMP);
|
||||
}
|
||||
@@ -140,7 +140,7 @@ void sub_08066E80(Entity* this, ScriptExecutionContext* context) {
|
||||
if (!(this->frames.all & 1)) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
}
|
||||
if (this->field_0x20 < 0) {
|
||||
if (this->hVelocity < 0) {
|
||||
context->unk_18++;
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user