mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-22 06:52:03 +00:00
Cleanup z_collision_check
1 (#1427)
* Cleanup `z_collision_check.c` and structs
* Revert `other*` names to master, split to other pr
* WIP/experimental: `ColliderCylinderElement`
* Revert "WIP/experimental: `ColliderCylinderElement`"
This reverts commit cfc8c32ace
.
* ac/atHitInfo -> HitElem
* rename some collider elements to "elem" (instead of item, info, hurtbox...)
* cut down on more "hitbox" usage
* name all `ColliderElement*` temps properly
* rearrange colcheck structs
* add collider shape name descriptions
* reword collider shape descriptions
* jntsph first again
---------
Co-authored-by: fig02 <fig02srl@gmail.com>
This commit is contained in:
parent
f02d012ce7
commit
1a8772e540
93 changed files with 1725 additions and 1601 deletions
|
@ -304,8 +304,8 @@ void EnDh_Attack(EnDh* this, PlayState* play) {
|
|||
Animation_Change(&this->skelAnime, &object_dh_Anim_004658, -1.0f, this->skelAnime.curFrame, 0.0f, ANIMMODE_ONCE,
|
||||
-4.0f);
|
||||
this->actionState = 4;
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags = AT_NONE; // also TOUCH_NONE
|
||||
this->collider2.elements[0].info.toucher.dmgFlags = this->collider2.elements[0].info.toucher.damage = 0;
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags = AT_NONE; // also TOUCH_NONE
|
||||
this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0;
|
||||
}
|
||||
switch (this->actionState) {
|
||||
case 1:
|
||||
|
@ -318,16 +318,16 @@ void EnDh_Attack(EnDh* this, PlayState* play) {
|
|||
break;
|
||||
case 2:
|
||||
if (this->skelAnime.curFrame >= 4.0f) {
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags =
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags =
|
||||
AT_ON | AT_TYPE_ENEMY; // also TOUCH_ON | TOUCH_SFX_WOOD
|
||||
this->collider2.elements[0].info.toucher.dmgFlags = DMG_DEFAULT;
|
||||
this->collider2.elements[0].info.toucher.damage = 8;
|
||||
this->collider2.elements[0].base.toucher.dmgFlags = DMG_DEFAULT;
|
||||
this->collider2.elements[0].base.toucher.damage = 8;
|
||||
}
|
||||
if (this->collider2.base.atFlags & AT_BOUNCED) {
|
||||
this->collider2.base.atFlags &= ~(AT_HIT | AT_BOUNCED);
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags =
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags =
|
||||
AT_NONE; // also TOUCH_NONE
|
||||
this->collider2.elements[0].info.toucher.dmgFlags = this->collider2.elements[0].info.toucher.damage = 0;
|
||||
this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0;
|
||||
this->actionState++;
|
||||
} else if (this->collider2.base.atFlags & AT_HIT) {
|
||||
this->collider2.base.atFlags &= ~AT_HIT;
|
||||
|
@ -343,9 +343,9 @@ void EnDh_Attack(EnDh* this, PlayState* play) {
|
|||
Animation_Change(&this->skelAnime, &object_dh_Anim_004658, -1.0f,
|
||||
Animation_GetLastFrame(&object_dh_Anim_004658), 0.0f, ANIMMODE_ONCE, -4.0f);
|
||||
this->actionState++;
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags =
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags =
|
||||
AT_NONE; // also TOUCH_NONE
|
||||
this->collider2.elements[0].info.toucher.dmgFlags = this->collider2.elements[0].info.toucher.damage = 0;
|
||||
this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
|
@ -374,10 +374,10 @@ void EnDh_Burrow(EnDh* this, PlayState* play) {
|
|||
case 0:
|
||||
this->actionState++;
|
||||
this->drawDirtWave++;
|
||||
this->collider1.base.atFlags = this->collider1.info.toucherFlags =
|
||||
this->collider1.base.atFlags = this->collider1.elem.toucherFlags =
|
||||
AT_ON | AT_TYPE_ENEMY; // also TOUCH_ON | TOUCH_SFX_WOOD
|
||||
this->collider1.info.toucher.dmgFlags = DMG_DEFAULT;
|
||||
this->collider1.info.toucher.damage = 4;
|
||||
this->collider1.elem.toucher.dmgFlags = DMG_DEFAULT;
|
||||
this->collider1.elem.toucher.damage = 4;
|
||||
FALLTHROUGH;
|
||||
case 1:
|
||||
this->dirtWavePhase += 0x47E;
|
||||
|
@ -393,8 +393,8 @@ void EnDh_Burrow(EnDh* this, PlayState* play) {
|
|||
case 2:
|
||||
this->drawDirtWave = false;
|
||||
this->collider1.dim.radius = 35;
|
||||
this->collider1.base.atFlags = this->collider1.info.toucherFlags = AT_NONE; // Also TOUCH_NONE
|
||||
this->collider1.info.toucher.dmgFlags = this->collider1.info.toucher.damage = 0;
|
||||
this->collider1.base.atFlags = this->collider1.elem.toucherFlags = AT_NONE; // Also TOUCH_NONE
|
||||
this->collider1.elem.toucher.dmgFlags = this->collider1.elem.toucher.damage = 0;
|
||||
EnDh_SetupWait(this);
|
||||
break;
|
||||
}
|
||||
|
@ -477,8 +477,8 @@ void EnDh_CollisionCheck(EnDh* this, PlayState* play) {
|
|||
if ((this->collider2.base.acFlags & AC_HIT) && !this->retreat) {
|
||||
this->collider2.base.acFlags &= ~AC_HIT;
|
||||
if ((this->actor.colChkInfo.damageEffect != 0) && (this->actor.colChkInfo.damageEffect != 6)) {
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags = AT_NONE; // also TOUCH_NONE
|
||||
this->collider2.elements[0].info.toucher.dmgFlags = this->collider2.elements[0].info.toucher.damage = 0;
|
||||
this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags = AT_NONE; // also TOUCH_NONE
|
||||
this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0;
|
||||
if (player->unk_844 != 0) {
|
||||
this->unk_258 = player->unk_845;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue