mirror of
https://github.com/zeldaret/tmc
synced 2026-08-20 22:24:01 -04:00
Identify player functions and update asm.h
This commit is contained in:
@@ -12,7 +12,6 @@ extern void sub_08032338(Entity*);
|
||||
extern Entity* sub_08049DF4(u32);
|
||||
|
||||
extern Entity* gUnk_020000B0;
|
||||
extern u8 gEntCount;
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
extern void (*const gUnk_080CE56C[])(Entity*);
|
||||
extern void (*const gUnk_080CE584[])(Entity*);
|
||||
@@ -411,12 +410,12 @@ void sub_08032008(Entity* this) {
|
||||
this->field_0x76.HALF.HI = 1;
|
||||
this->direction = GetFacingDirection(this, parent);
|
||||
sub_080322E8(this);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
} else {
|
||||
this->direction = GetFacingDirection(this, parent);
|
||||
sub_080322E8(this);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (this->x.HALF.HI == parent->x.HALF.HI && this->y.HALF.HI == parent->y.HALF.HI)
|
||||
this->field_0x76.HALF.HI = 0;
|
||||
}
|
||||
|
||||
+1
-1
@@ -245,7 +245,7 @@ void sub_08021B64(Entity* this) {
|
||||
InitializeAnimation(this, 5);
|
||||
} else {
|
||||
gPlayerState.field_0x1a[0] |= 0x80;
|
||||
gPlayerState.field_0x80 -= 0x50;
|
||||
gPlayerState.speed_modifier -= 0x50;
|
||||
gPlayerState.field_0xaa++;
|
||||
CopyPositionAndSpriteOffset(&gPlayerEntity, this);
|
||||
this->x.HALF.HI += gUnk_080CB5E4[(this->field_0xf++ & 0xe) >> 1];
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#include "global.h"
|
||||
#include "audio.h"
|
||||
#include "entity.h"
|
||||
#include "room.h"
|
||||
@@ -13,7 +12,7 @@ void BladeTrap(Entity* this) {
|
||||
sub_080A2CC0(this, &this->child, &this->field_0x74);
|
||||
}
|
||||
if (!(this->direction & 0x80)) {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
|
||||
if (!(--this->field_0x74.HWORD)) {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "asm.h"
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
#include "player.h"
|
||||
@@ -280,7 +279,7 @@ ASM_FUNC("asm/non_matching/eu/sub_0802AC40.inc", void sub_0802AC40(Entity* this)
|
||||
#else
|
||||
void sub_0802AC40(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (this->field_0x7a.HALF.LO) {
|
||||
if (sub_0802B234(this) == 0) {
|
||||
this->field_0x7a.HALF.LO = 0;
|
||||
|
||||
@@ -1,15 +1,11 @@
|
||||
#include "asm.h"
|
||||
#include "enemy.h"
|
||||
#include "audio.h"
|
||||
#include "entity.h"
|
||||
#include "flags.h"
|
||||
#include "textbox.h"
|
||||
#include "save.h"
|
||||
#include "npc.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
#include "overworld.h"
|
||||
|
||||
extern void LoadObjPalette(Entity*, u32);
|
||||
extern Entity* sub_08049DF4(u32);
|
||||
extern bool32 sub_08056338(void);
|
||||
extern void UnloadOBJPalette(Entity*);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "enemy.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern s32 sub_080012DC(Entity*);
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#include "asm.h"
|
||||
#include "enemy.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
#include "audio.h"
|
||||
|
||||
extern s32 sub_080012DC(Entity*);
|
||||
extern void sub_08001318(Entity*);
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
#include "enemy.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
|
||||
void sub_08027870(Entity*);
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#include "audio.h"
|
||||
#include "enemy.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern s16 sub_080001DA(u32, u32); // ?
|
||||
extern void sub_08049CF4();
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "enemy.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
|
||||
void sub_08023000(Entity*, int);
|
||||
|
||||
@@ -110,7 +110,7 @@ NONMATCH("asm/non_matching/fallingBoulder/sub_0802C334.inc", void sub_0802C334(E
|
||||
if (y >= 5) {
|
||||
sub_080AEFB4(this);
|
||||
} else {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (this->z.HALF.HI - y > 0x38) {
|
||||
sub_0802C62C(this);
|
||||
this->field_0x7a.HWORD = (Random() & 0x7f) | 0x80;
|
||||
|
||||
@@ -13,8 +13,6 @@ extern void (*const gUnk_080D1800[])(Entity*);
|
||||
extern u8 gUnk_080D180C[4]; // Entity count per form
|
||||
extern PosOffset gUnk_080D1810[4];
|
||||
|
||||
extern u8 gEntCount;
|
||||
|
||||
void FireballGuy(Entity* this) {
|
||||
EnemyFunctionHandler(this, gUnk_080D17E8);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#include "player.h"
|
||||
#include "fileScreen.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
void (*const gUnk_080D1AFC[8])(Entity*);
|
||||
void (*const gUnk_080D1B1C[7])(Entity*);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void (*const gHangingSeedFunctions[])(Entity*);
|
||||
extern void (*const gUnk_080CB588[])(Entity*);
|
||||
|
||||
@@ -85,7 +85,7 @@ void sub_0803CDA8(Entity* this) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
|
||||
if ((this->direction & 0x80) == 0) {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
|
||||
if (--this->field_0x74.HWORD << 0x10 == 0) {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern u8 gEntCount;
|
||||
extern Hitbox gUnk_080FD298;
|
||||
extern Hitbox gUnk_080FD2A0;
|
||||
|
||||
|
||||
+15
-16
@@ -85,7 +85,6 @@ void sub_0803B978(Entity*);
|
||||
void sub_0803BA6C(Entity*);
|
||||
void sub_0803BA80(Entity*);
|
||||
|
||||
extern u8 gEntCount;
|
||||
// these are not with the rest of this files constant data
|
||||
extern Hitbox gUnk_080FD35C;
|
||||
extern Hitbox gUnk_080FD364;
|
||||
@@ -242,7 +241,7 @@ void sub_0803A364(Entity* this) {
|
||||
break;
|
||||
case 5:
|
||||
if (sub_0803B4E4(this) == 0) {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
return;
|
||||
}
|
||||
this->type2 = 0;
|
||||
@@ -325,7 +324,7 @@ void sub_0803A548(Entity* this) {
|
||||
index = ((this->parent->field_0xf >> 4) + 3);
|
||||
this->z.HALF.HI = ptr[(index + (u32)this->type * 2) & 7] + 4;
|
||||
if (sub_0803B4E4(this) == 0) {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -339,7 +338,7 @@ void sub_0803A58C(Entity* this) {
|
||||
if (sub_0803B4E4(this) != 0) {
|
||||
sub_0803B59C(this);
|
||||
} else {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -408,7 +407,7 @@ void sub_0803A6E8(Entity* this) {
|
||||
this->actionDelay = 10;
|
||||
} else {
|
||||
sub_0803B63C(this);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
y = this->parent->y.HALF.HI + 8;
|
||||
if (y > this->y.HALF.HI) {
|
||||
this->y.HALF.HI = y;
|
||||
@@ -468,7 +467,7 @@ void sub_0803A7CC(Entity* this) {
|
||||
this->action = 0xd;
|
||||
InitAnimationForceUpdate(this->child, 6);
|
||||
} else {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -527,7 +526,7 @@ void sub_0803A90C(Entity* this) {
|
||||
this->z.HALF.HI = ptr[(index + (u32)this->type * 2) & 7] + 4;
|
||||
GetNextFrame(this);
|
||||
sub_0803B55C(this);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
this->actionDelay--;
|
||||
if (this->actionDelay == 0) {
|
||||
this->action = 0x11;
|
||||
@@ -550,7 +549,7 @@ void sub_0803A978(Entity* this) {
|
||||
if ((++this->actionDelay & 3) == 0) {
|
||||
sub_08004596(this, 0x10);
|
||||
}
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (this->direction == 0x10) {
|
||||
this->action = 0x12;
|
||||
this->actionDelay = 3;
|
||||
@@ -574,7 +573,7 @@ void sub_0803AA00(Entity* this) {
|
||||
if ((++this->actionDelay & 3) == 0) {
|
||||
sub_08004596(this, direction);
|
||||
}
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if ((this->direction == direction) || (this->y.HALF.HI >= gPlayerEntity.y.HALF.HI)) {
|
||||
this->action = 0x13;
|
||||
this->spriteSettings.draw = 0;
|
||||
@@ -594,7 +593,7 @@ NONMATCH("asm/non_matching/mazaal/sub_0803AA98.inc", void sub_0803AA98(Entity* t
|
||||
index = ((this->parent->field_0xf >> 4) + 3);
|
||||
this->z.HALF.HI = ptr[(index + (u32)this->type * 2) & 7] + 4;
|
||||
if (sub_0803B870(this) == 0) {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (sub_0803B6F4(this) != 0) {
|
||||
this->action = 0x14;
|
||||
this->speed = 0x40;
|
||||
@@ -616,7 +615,7 @@ void sub_0803AB10(Entity* this) {
|
||||
ptr = gUnk_080CED6C;
|
||||
index = ((this->parent->field_0xf >> 4) + 3);
|
||||
this->z.HALF.HI = ptr[(index + (u32)this->type * 2) & 7] + 4;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
sub_0803B55C(this);
|
||||
if ((this->child->frame & 0x80) != 0) {
|
||||
this->action = 0x15;
|
||||
@@ -667,7 +666,7 @@ void sub_0803AC1C(Entity* this) {
|
||||
if (sub_0803B4E4(this)) {
|
||||
sub_0803B59C(this);
|
||||
} else {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -685,7 +684,7 @@ void sub_0803AC60(Entity* this) {
|
||||
this->subAction = 0;
|
||||
this->actionDelay = 0x1e;
|
||||
} else {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
} else {
|
||||
this->actionDelay = this->actionDelay - 1;
|
||||
@@ -788,7 +787,7 @@ void sub_0803AE48(Entity* this) {
|
||||
InitializeAnimation(this, 4);
|
||||
} else {
|
||||
if (sub_0803B4E4(this) == 0) {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1049,7 +1048,7 @@ void sub_0803B398(Entity* this) {
|
||||
InitializeAnimation(this, 4);
|
||||
InitAnimationForceUpdate(this->child, 0);
|
||||
} else {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1214,7 +1213,7 @@ void sub_0803B724(Entity* param_1) {
|
||||
pEVar1->x.HALF.HI = (random_value & 0x70) + temp + gRoomControls.roomOriginX;
|
||||
pEVar1->y.HALF.HI = ((random_value >> 0x10) & 7) * 10 + 0x5c + gRoomControls.roomOriginY;
|
||||
pEVar1->parent = param_1;
|
||||
sub_08016A30(pEVar1);
|
||||
ResolveCollisionLayer(pEVar1);
|
||||
param_1->field_0xf++;
|
||||
param_1->cutsceneBeh.HALF.LO--;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
void sub_08035194(Entity*);
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
|
||||
extern void UnloadOBJPalette(Entity*);
|
||||
|
||||
extern u8 gEntCount;
|
||||
|
||||
void sub_0803499C(Entity*);
|
||||
void sub_08034420(Entity*);
|
||||
void sub_08034830(Entity*);
|
||||
@@ -220,7 +218,7 @@ void sub_08033FFC(Entity* this) {
|
||||
gRoomControls.cameraTarget = &gPlayerEntity;
|
||||
sub_08034420(this);
|
||||
gPlayerState.controlMode = 1;
|
||||
sub_080791D0();
|
||||
ResetPlayerAnimationAndAction();
|
||||
SoundReq(BGM_BOSS_THEME);
|
||||
}
|
||||
}
|
||||
@@ -243,7 +241,7 @@ void sub_0803414C(Entity* this) {
|
||||
}
|
||||
} else {
|
||||
this->direction = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, x, y);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -562,7 +560,7 @@ NONMATCH("asm/non_matching/mazaal/sub_0803473C.inc", void sub_0803473C(Entity* t
|
||||
direction = 0x18;
|
||||
}
|
||||
this->direction = direction;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
@@ -585,7 +583,7 @@ NONMATCH("asm/non_matching/mazaal/sub_080347B4.inc", void sub_080347B4(Entity* t
|
||||
direction = 0x18;
|
||||
}
|
||||
this->direction = direction;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
END_NONMATCH
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ extern void (*const gUnk_080CBBA0[])(Entity*);
|
||||
extern void (*const gUnk_080CBBB4[])(Entity*);
|
||||
extern void (*const gUnk_080CBBBC[])(Entity*);
|
||||
|
||||
extern u8 gEntCount;
|
||||
extern const s8 gUnk_080CBBC4[];
|
||||
|
||||
void Moldorm(Entity* this) {
|
||||
|
||||
@@ -14,7 +14,6 @@ void sub_0802390C(Entity*);
|
||||
void sub_080239F0(Entity*);
|
||||
bool32 sub_08023B38(Entity*);
|
||||
|
||||
extern u8 gEntCount;
|
||||
extern const u8 gUnk_080B37A0[];
|
||||
|
||||
extern void (*const gUnk_080CBC38[])(Entity*);
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#include "functions.h"
|
||||
#include "object.h"
|
||||
#include "projectile.h"
|
||||
#include "structures.h"
|
||||
#include "overworld.h"
|
||||
|
||||
extern void sub_08078AC0(u32, u32, u32);
|
||||
@@ -36,25 +35,25 @@ this->field_0x7c.BYTES.byte0 Boss Phase
|
||||
3: frozen 2
|
||||
4: unfrozen -> death
|
||||
*/
|
||||
#define IS_FROZEN(this) (this->field_0x7c.BYTES.byte0 & 1)
|
||||
#define GET_BOSS_PHASE(this) (this->field_0x7c.BYTES.byte0)
|
||||
#define IS_FROZEN(this) ((this)->field_0x7c.BYTES.byte0 & 1)
|
||||
#define GET_BOSS_PHASE(this) ((this)->field_0x7c.BYTES.byte0)
|
||||
/*
|
||||
this->field_0x78.HALF.HI reused timer
|
||||
*/
|
||||
#define GET_TIMER(this) this->field_0x78.HALF.HI
|
||||
#define GET_TIMER(this) ((this)->field_0x78.HALF.HI)
|
||||
/*
|
||||
this->field_0x78.HALF.LO turns until the next attack
|
||||
*/
|
||||
#define GET_ATTACK_WAIT_TURNS(this) this->field_0x78.HALF.LO
|
||||
#define GET_ATTACK_WAIT_TURNS(this) ((this)->field_0x78.HALF.LO)
|
||||
/*
|
||||
this->field_0x7a.HALF.HI angle of legs
|
||||
*/
|
||||
#define GET_ANGLE(this) this->field_0x7a.HWORD
|
||||
#define GET_ANGLE_HI(this) this->field_0x7a.HALF.HI
|
||||
#define GET_ANGLE(this) ((this)->field_0x7a.HWORD)
|
||||
#define GET_ANGLE_HI(this) ((this)->field_0x7a.HALF.HI)
|
||||
/*
|
||||
this->field_0x82.HWORD angular speed
|
||||
*/
|
||||
#define GET_ANGULAR_VEL(this) this->field_0x82.HWORD
|
||||
#define GET_ANGULAR_VEL(this) ((this)->field_0x82.HWORD)
|
||||
|
||||
enum OctorokBossPart { WHOLE, LEG_BR, LEG_FR, LEG_FL, LEG_BL, MOUTH, TAIL_END, TAIL };
|
||||
enum OctorokBossAction {
|
||||
|
||||
+1
-1
@@ -343,7 +343,7 @@ void PeahatPropeller_Fly(Entity* this) {
|
||||
this->spriteSettings.draw ^= 1;
|
||||
|
||||
this->z.WORD -= 0xc000;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (--this->field_0xf == 0) {
|
||||
this->field_0xf = 40;
|
||||
this->direction = (Random() & 0x10) + 8;
|
||||
|
||||
@@ -9,7 +9,6 @@ extern void SoundReqClipped(Entity*, u32);
|
||||
extern u32 sub_08049F1C(Entity*, Entity*, u32);
|
||||
extern u32 PlayerInRange(Entity*, u32, u32);
|
||||
extern void sub_080AEFB4(Entity*);
|
||||
extern Entity* FindNextDuplicateID(Entity* ent, int listIndex);
|
||||
|
||||
void sub_080249F4(Entity*);
|
||||
void sub_08024940(Entity*);
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "sprite.h"
|
||||
#include "functions.h"
|
||||
#include "enemy.h"
|
||||
|
||||
@@ -9,8 +8,6 @@ extern void (*const gUnk_080CF4C8[6])(Entity*);
|
||||
extern void (*const gUnk_080CF4E0[4])(Entity*);
|
||||
|
||||
extern s32 sub_080012DC(Entity*);
|
||||
extern void SetGlobalFlag(u32);
|
||||
extern u32 CheckGlobalFlag(u32);
|
||||
extern u32 sub_0804A044(Entity*, Entity*, u32);
|
||||
|
||||
void sub_080383AC(Entity*);
|
||||
|
||||
@@ -3,11 +3,9 @@
|
||||
#include "audio.h"
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
#include "npc.h"
|
||||
#include "player.h"
|
||||
#include "save.h"
|
||||
#include "object.h"
|
||||
#include "functions.h"
|
||||
#include "save.h"
|
||||
|
||||
extern void sub_080293DC(Entity*);
|
||||
extern void sub_080296D8(Entity*);
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
#include "enemy.h"
|
||||
#include "audio.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern u32 sub_0804A024(Entity*, u32, u32);
|
||||
extern bool32 sub_080AE4CC(Entity*, u32, u32, u32);
|
||||
|
||||
@@ -16,8 +16,6 @@ extern void (*const gUnk_080D16A4[])(Entity*);
|
||||
extern u8 gUnk_080D16D0[4]; // Entity count per form
|
||||
extern PosOffset gUnk_080D16D4[4];
|
||||
|
||||
extern u8 gEntCount;
|
||||
|
||||
void Slime(Entity* this) {
|
||||
EnemyFunctionHandler(this, gUnk_080D16A4);
|
||||
SetChildOffset(this, 0, 1, -12);
|
||||
|
||||
@@ -94,7 +94,7 @@ void sub_08031770(Entity* this) {
|
||||
|
||||
void sub_080317B4(Entity* this) {
|
||||
this->z.HALF.HI = ((Random() & 0x30) != 0) ? -0xc : -0xd;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
GetNextFrame(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#include "enemy.h"
|
||||
#include "entity.h"
|
||||
#include "object.h"
|
||||
#include "functions.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern void (*const gUnk_080CD234[])(Entity*);
|
||||
extern void (*const gUnk_080CD24C[])(Entity*);
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "enemy.h"
|
||||
#include "entity.h"
|
||||
#include "object.h"
|
||||
#include "functions.h"
|
||||
|
||||
static bool32 ShouldSpawnTreeItem(Entity*);
|
||||
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
#include "object.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void DoExitTransition(ScreenTransitionData*);
|
||||
|
||||
typedef struct VaatiArm_HeapStruct1 {
|
||||
union SplitHWord unk00;
|
||||
u16 unk02;
|
||||
@@ -165,7 +163,6 @@ const u16 gUnk_080D140E[] = { -0x6000, -0x5000, -0x4000 };
|
||||
const u8 gUnk_080D1414[] = { 0, 0xc, 0xe, 0x10, 0x1c };
|
||||
const u8 gUnk_080D1419[] = { 0, 0xa, 0xa, 0xa, 0x1c };
|
||||
|
||||
extern u8 gEntCount;
|
||||
extern const Hitbox gUnk_080FD450;
|
||||
extern const Hitbox gUnk_080FD538;
|
||||
|
||||
|
||||
+15
-17
@@ -1,9 +1,7 @@
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
#include "player.h"
|
||||
#include "screen.h"
|
||||
#include "object.h"
|
||||
#include "audio.h"
|
||||
#include "functions.h"
|
||||
|
||||
typedef struct {
|
||||
@@ -112,7 +110,7 @@ void sub_0804474C(Entity* this) {
|
||||
this->direction++;
|
||||
this->direction &= 0x1f;
|
||||
}
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
UpdateAnimationSingleFrame(this);
|
||||
}
|
||||
}
|
||||
@@ -164,7 +162,7 @@ void sub_08044868(Entity* this) {
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (sub_0806FCB8(this, vaati->x.HALF.HI, vaati->y.HALF.HI - 0x10, 0xc)) {
|
||||
this->field_0x74.HALF.LO++;
|
||||
this->x.HALF.HI = vaati->x.HALF.HI;
|
||||
@@ -200,7 +198,7 @@ void sub_08044868(Entity* this) {
|
||||
case 2:
|
||||
if (this->actionDelay)
|
||||
if (--this->actionDelay < 0x11)
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
break;
|
||||
case 3: {
|
||||
u8 draw;
|
||||
@@ -229,7 +227,7 @@ void sub_080449F8(Entity* this) {
|
||||
|
||||
switch (vaati->field_0x74.HALF.LO) {
|
||||
case 0:
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (--this->actionDelay)
|
||||
break;
|
||||
|
||||
@@ -254,17 +252,17 @@ void sub_080449F8(Entity* this) {
|
||||
break;
|
||||
case 1:
|
||||
this->direction = (this->direction + 0x10) & 0x1f;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
this->direction = (this->direction + 0x10) & 0x1f;
|
||||
this->actionDelay = 2;
|
||||
break;
|
||||
case 3:
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
this->actionDelay = 2;
|
||||
break;
|
||||
case 4:
|
||||
sub_0806F69C(this);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
LinearMoveUpdate(this);
|
||||
this->actionDelay = 2;
|
||||
break;
|
||||
}
|
||||
@@ -305,7 +303,7 @@ void sub_08044B04(Entity* this) {
|
||||
|
||||
switch (vaati->field_0x74.HALF.LO) {
|
||||
case 0:
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
switch (this->field_0x74.HALF.LO) {
|
||||
case 0:
|
||||
if (--this->actionDelay == 0) {
|
||||
@@ -420,7 +418,7 @@ void sub_08044B04(Entity* this) {
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (--this->actionDelay == 0)
|
||||
this->field_0x74.HALF.LO++;
|
||||
break;
|
||||
@@ -472,11 +470,11 @@ void sub_08044E74(Entity* this, u32 state) {
|
||||
this->direction &= 0x1f;
|
||||
PositionRelative(this->parent, this, 0, -0x100000);
|
||||
this->speed = 12288;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
this->direction += 0x8;
|
||||
this->direction &= 0x1f;
|
||||
this->speed = 1280;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
break;
|
||||
case 1:
|
||||
this->direction = (this->direction + 8) & 0x1f;
|
||||
@@ -486,18 +484,18 @@ void sub_08044E74(Entity* this, u32 state) {
|
||||
switch (this->actionDelay) {
|
||||
case 3 ... 4:
|
||||
do {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
} while (this->actionDelay-- != 3);
|
||||
break;
|
||||
case 1:
|
||||
this->direction = (this->direction + 0x10) & 0x1f;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
this->direction = (this->direction + 0x10) & 0x1f;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (this->actionDelay == 2) {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -43,8 +43,6 @@ const u8 gUnk_080CDE70[] = {
|
||||
const s8 gUnk_080CDE90[] = { -2, -3, -4, -5, -6, -5, -4, -3 };
|
||||
const u16 gUnk_080CDE98[] = { 0xc0, 0x100, 0x140, 0x180 };
|
||||
|
||||
extern u8 gEntCount;
|
||||
|
||||
void VaatiEyesMacro(Entity* this) {
|
||||
vaatiEyesMacroFunctions[GetNextFunction(this)](this);
|
||||
SetChildOffset(this, 0, 1, -0x10);
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#include "functions.h"
|
||||
|
||||
extern bool32 PlayerInRange(Entity*, u32, u32);
|
||||
extern void DoExitTransition(ScreenTransitionData*);
|
||||
extern u32 sub_080002E0(u32, u32);
|
||||
extern Entity* gUnk_020000B0;
|
||||
extern const ScreenTransitionData gUnk_0813AB94;
|
||||
@@ -131,7 +130,7 @@ void VaatiProjectileFunction0Action1(Entity* this) {
|
||||
} else {
|
||||
if (gUnk_020000B0 != NULL) {
|
||||
sub_08004596(this, GetFacingDirection(this, gUnk_020000B0));
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
}
|
||||
GetNextFrame(this);
|
||||
@@ -191,7 +190,7 @@ void VaatiProjectileFunction0Action6(Entity* this) {
|
||||
|
||||
void VaatiProjectileFunction0Action7(Entity* this) {
|
||||
sub_0803E444(this);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
sub_0803E4D8(this);
|
||||
if ((gRoomControls.roomOriginY + gRoomControls.height + -0x10) <= this->y.HALF.HI) {
|
||||
SetInitializationPriority();
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#include "functions.h"
|
||||
|
||||
extern void sub_080AEFB4(Entity*);
|
||||
extern u8 gEntCount;
|
||||
|
||||
void VaatiRebornEnemyType0PreAction(Entity*);
|
||||
void VaatiRebornEnemyType1PreAction(Entity*);
|
||||
|
||||
@@ -37,7 +37,6 @@ typedef struct {
|
||||
s8 x;
|
||||
s8 y;
|
||||
} PACKED xy;
|
||||
extern u8 gEntCount;
|
||||
|
||||
#ifdef EU
|
||||
const u8 gUnk_080D0ABC[] = { 0xf0, 0xd0, 0xb0 };
|
||||
@@ -288,7 +287,7 @@ void VaatiTransfiguredType0Action3(Entity* this) {
|
||||
if (this->animationState > 2) {
|
||||
this->action = 7;
|
||||
this->actionDelay = 0xe0;
|
||||
sub_0807A108();
|
||||
DeleteClones();
|
||||
SoundReq(SFX_BOSS_HIT);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
#include "audio.h"
|
||||
#include "textbox.h"
|
||||
#include "coord.h"
|
||||
#include "functions.h"
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
#include "enemy.h"
|
||||
#include "object.h"
|
||||
#include "textbox.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
#include "save.h"
|
||||
#include "screen.h"
|
||||
|
||||
extern u8 gEntCount;
|
||||
|
||||
void VaatiWrathType0PreAction(Entity*);
|
||||
u32 sub_08041FCC(Entity*);
|
||||
void sub_08042004(Entity*);
|
||||
@@ -380,7 +377,7 @@ void VaatiWrathType0Action7(Entity* this) {
|
||||
if (gRoomControls.roomOriginY + 0x48 != this->y.HALF.HI) {
|
||||
this->speed = 0x100;
|
||||
this->direction = ((gRoomControls.roomOriginY + 0x48) >= this->y.HALF.HI) ? 0x10 : 0;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
} else {
|
||||
if (--this->actionDelay == 0) {
|
||||
sub_08042050(this);
|
||||
@@ -391,7 +388,7 @@ void VaatiWrathType0Action7(Entity* this) {
|
||||
void VaatiWrathType0Action8(Entity* this) {
|
||||
sub_08042004(this);
|
||||
UpdateAnimationSingleFrame(this);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (((gRoomControls.roomOriginX + 0x20) > this->x.HALF.HI) ||
|
||||
((gRoomControls.roomOriginX + 0x140) < this->x.HALF.HI)) {
|
||||
if (0x3f < this->speed) {
|
||||
@@ -466,7 +463,7 @@ void VaatiWrathType0ActionA(Entity* this) {
|
||||
void VaatiWrathType0ActionB(Entity* this) {
|
||||
switch (this->subAction) {
|
||||
case 0:
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
UpdateAnimationSingleFrame(this);
|
||||
GetNextFrame(((VaatiWrathHeapStruct*)this->myHeap)->type1);
|
||||
GetNextFrame(((VaatiWrathHeapStruct*)this->myHeap)->type2);
|
||||
@@ -527,7 +524,7 @@ void VaatiWrathType0ActionC(Entity* this) {
|
||||
if (this->actionDelay) {
|
||||
this->actionDelay--;
|
||||
} else {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (gRoomControls.roomOriginY + 0x48 == this->y.HALF.HI) {
|
||||
this->subAction = 2;
|
||||
InitializeAnimation(((VaatiWrathHeapStruct*)this->myHeap)->type1, 0x11);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "enemy.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
|
||||
void sub_080485D8(Entity*);
|
||||
@@ -82,7 +81,7 @@ void VaatiWrathEyeAction3(Entity* this) {
|
||||
y = parent->y.HALF.HI + ptr[1];
|
||||
direction = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, x, y);
|
||||
this->direction = direction;
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
this->z.HALF.HI = this->parent->z.HALF.HI;
|
||||
if ((this->x.HALF.HI == x) && (this->y.HALF.HI == y)) {
|
||||
this->action = 4;
|
||||
|
||||
@@ -92,7 +92,7 @@ void sub_0802CD54(Entity* this) {
|
||||
this->actionDelay = 60;
|
||||
sub_0802CF64(this);
|
||||
}
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
|
||||
void sub_0802CDE8(Entity* this) {
|
||||
@@ -101,7 +101,7 @@ void sub_0802CDE8(Entity* this) {
|
||||
sub_08004596(this, GetFacingDirection(this, gUnk_020000B0));
|
||||
sub_0802CF8C(this);
|
||||
}
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
} else {
|
||||
this->action = 1;
|
||||
this->actionDelay = 60;
|
||||
@@ -120,7 +120,7 @@ void sub_0802CE68(Entity* this) {
|
||||
gPlayerState.flags |= 0x100;
|
||||
if (!sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 4)) {
|
||||
this->direction = GetFacingDirection(this, &gPlayerEntity);
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
sub_0802CFD8(this);
|
||||
GetNextFrame(this);
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#include "screen.h"
|
||||
#include "object.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
|
||||
void sub_0802A39C(Entity*);
|
||||
void sub_0802A334(Entity*);
|
||||
@@ -39,7 +38,7 @@ void sub_0802A2B4(Entity* this) {
|
||||
this->spritePriority.b0 = 7;
|
||||
EnqueueSFX(0x84);
|
||||
} else {
|
||||
sub_0806F69C(this);
|
||||
LinearMoveUpdate(this);
|
||||
}
|
||||
|
||||
sub_0802A39C(this);
|
||||
|
||||
Reference in New Issue
Block a user