1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-25 01:34:18 +00:00

ACTOR_FLAG_ENKUSA_CUT -> ACTOR_FLAG_GRASS_DESTROYED (#2285)

* rename enkusa cut to bush destroyed

* bush -> grass

* clump
This commit is contained in:
fig02 2024-11-04 18:22:44 -05:00 committed by GitHub
parent 5b27899b9f
commit e50581b9fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 9 deletions

View file

@ -146,8 +146,9 @@ typedef struct ActorShape {
// //
#define ACTOR_FLAG_10 (1 << 10) #define ACTOR_FLAG_10 (1 << 10)
// // A clump of grass (EN_KUSA) has been destroyed.
#define ACTOR_FLAG_ENKUSA_CUT (1 << 11) // This flag is used to communicate with the spawner actor (OBJ_MURE).
#define ACTOR_FLAG_GRASS_DESTROYED (1 << 11)
// Actor will not shake when a quake occurs // Actor will not shake when a quake occurs
#define ACTOR_FLAG_IGNORE_QUAKE (1 << 12) #define ACTOR_FLAG_IGNORE_QUAKE (1 << 12)

View file

@ -278,7 +278,7 @@ void EnKusa_SetupWaitForObject(EnKusa* this) {
void EnKusa_WaitForObject(EnKusa* this, PlayState* play) { void EnKusa_WaitForObject(EnKusa* this, PlayState* play) {
if (Object_IsLoaded(&play->objectCtx, this->requiredObjectSlot)) { if (Object_IsLoaded(&play->objectCtx, this->requiredObjectSlot)) {
if (this->actor.flags & ACTOR_FLAG_ENKUSA_CUT) { if (this->actor.flags & ACTOR_FLAG_GRASS_DESTROYED) {
EnKusa_SetupCut(this); EnKusa_SetupCut(this);
} else { } else {
EnKusa_SetupMain(this); EnKusa_SetupMain(this);
@ -317,7 +317,7 @@ void EnKusa_Main(EnKusa* this, PlayState* play) {
} }
EnKusa_SetupCut(this); EnKusa_SetupCut(this);
this->actor.flags |= ACTOR_FLAG_ENKUSA_CUT; this->actor.flags |= ACTOR_FLAG_GRASS_DESTROYED;
} else { } else {
if (!(this->collider.base.ocFlags1 & OC1_TYPE_PLAYER) && (this->actor.xzDistToPlayer > 12.0f)) { if (!(this->collider.base.ocFlags1 & OC1_TYPE_PLAYER) && (this->actor.xzDistToPlayer > 12.0f)) {
this->collider.base.ocFlags1 |= OC1_TYPE_PLAYER; this->collider.base.ocFlags1 |= OC1_TYPE_PLAYER;
@ -466,7 +466,7 @@ void EnKusa_SetupRegrow(EnKusa* this) {
EnKusa_SetupAction(this, EnKusa_Regrow); EnKusa_SetupAction(this, EnKusa_Regrow);
EnKusa_SetScaleSmall(this); EnKusa_SetScaleSmall(this);
this->actor.shape.rot = this->actor.home.rot; this->actor.shape.rot = this->actor.home.rot;
this->actor.flags &= ~ACTOR_FLAG_ENKUSA_CUT; this->actor.flags &= ~ACTOR_FLAG_GRASS_DESTROYED;
} }
void EnKusa_Regrow(EnKusa* this, PlayState* play) { void EnKusa_Regrow(EnKusa* this, PlayState* play) {
@ -490,7 +490,7 @@ void EnKusa_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play); this->actionFunc(this, play);
if (this->actor.flags & ACTOR_FLAG_ENKUSA_CUT) { if (this->actor.flags & ACTOR_FLAG_GRASS_DESTROYED) {
this->actor.shape.yOffset = -6.25f; this->actor.shape.yOffset = -6.25f;
} else { } else {
this->actor.shape.yOffset = 0.0f; this->actor.shape.yOffset = 0.0f;
@ -501,7 +501,7 @@ void EnKusa_Draw(Actor* thisx, PlayState* play) {
static Gfx* dLists[] = { gFieldBushDL, object_kusa_DL_000140, object_kusa_DL_000140 }; static Gfx* dLists[] = { gFieldBushDL, object_kusa_DL_000140, object_kusa_DL_000140 };
EnKusa* this = (EnKusa*)thisx; EnKusa* this = (EnKusa*)thisx;
if (this->actor.flags & ACTOR_FLAG_ENKUSA_CUT) { if (this->actor.flags & ACTOR_FLAG_GRASS_DESTROYED) {
Gfx_DrawDListOpa(play, object_kusa_DL_0002E0); Gfx_DrawDListOpa(play, object_kusa_DL_0002E0);
} else { } else {
Gfx_DrawDListOpa(play, dLists[PARAMS_GET_U(thisx->params, 0, 2)]); Gfx_DrawDListOpa(play, dLists[PARAMS_GET_U(thisx->params, 0, 2)]);

View file

@ -161,7 +161,7 @@ void ObjMure_SpawnActors0(ObjMure* this, PlayState* play) {
Actor_Spawn(&play->actorCtx, play, sSpawnActorIds[this->type], pos.x, pos.y, pos.z, Actor_Spawn(&play->actorCtx, play, sSpawnActorIds[this->type], pos.x, pos.y, pos.z,
actor->world.rot.x, actor->world.rot.y, actor->world.rot.z, sSpawnParams[this->type]); actor->world.rot.x, actor->world.rot.y, actor->world.rot.z, sSpawnParams[this->type]);
if (this->children[i] != NULL) { if (this->children[i] != NULL) {
this->children[i]->flags |= ACTOR_FLAG_ENKUSA_CUT; this->children[i]->flags |= ACTOR_FLAG_GRASS_DESTROYED;
this->children[i]->room = actor->room; this->children[i]->room = actor->room;
} else { } else {
PRINTF("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 359); PRINTF("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 359);
@ -262,7 +262,7 @@ void ObjMure_CheckChildren(ObjMure* this, PlayState* play) {
if (this->children[i] != NULL) { if (this->children[i] != NULL) {
if (this->childrenStates[i] == OBJMURE_CHILD_STATE_0) { if (this->childrenStates[i] == OBJMURE_CHILD_STATE_0) {
if (this->children[i]->update != NULL) { if (this->children[i]->update != NULL) {
if (this->children[i]->flags & ACTOR_FLAG_ENKUSA_CUT) { if (this->children[i]->flags & ACTOR_FLAG_GRASS_DESTROYED) {
this->childrenStates[i] = OBJMURE_CHILD_STATE_2; this->childrenStates[i] = OBJMURE_CHILD_STATE_2;
} }
} else { } else {