Add N64 weird frames and OOB Bombchus cvars (#602)

* Add gN64WeirdFrames and gBombchuOOB cvars

* Rename gBombchuOOB to gBombchusOOB

* Fix pipeline
This commit is contained in:
Sirius902
2022-07-06 15:46:01 -07:00
committed by GitHub
parent 537722d57a
commit e8bfa61fc2
7 changed files with 682 additions and 0 deletions

View File

@@ -845,6 +845,12 @@ AnimationEntry* AnimationContext_AddEntry(AnimationContext* animationCtx, Animat
*/
void AnimationContext_SetLoadFrame(GlobalContext* globalCtx, LinkAnimationHeader* animation, s32 frame, s32 limbCount,
Vec3s* frameTable) {
if (CVar_GetS32("gN64WeirdFrames", 0) && frame < 0) {
Vec3s* src = (Vec3s*)getN64WeirdFrame((sizeof(Vec3s) * limbCount + 2) * frame);
memcpy(frameTable, src, sizeof(Vec3s) * limbCount + 2);
return;
}
AnimationEntry* entry = AnimationContext_AddEntry(&globalCtx->animationCtx, ANIMENTRY_LOADFRAME);
if (entry != NULL)

View File

@@ -138,6 +138,11 @@ void EnBomChu_UpdateFloorPoly(EnBomChu* this, CollisionPoly* floorPoly, GlobalCo
f32 normDotUp;
MtxF mf;
if (CVar_GetS32("gBombchusOOB", 0) && floorPoly == NULL) {
EnBomChu_Explode(this, globalCtx);
return;
}
this->actor.floorPoly = floorPoly;
normal.x = COLPOLY_GET_NORMAL(floorPoly->normal.x);