mirror of https://github.com/zeldaret/mm.git
Yet another header cleanup (#1284)
* thread, scene and interface * non header stuff * fix missing stuff * z64sound_source.h * collision_check.h * Update include/z64sound_source.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64scene.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64thread.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * review * review * Update src/code/z_collision_check.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_sound_source.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> --------- Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
This commit is contained in:
parent
9c40dea770
commit
587d12e3cb
|
@ -787,217 +787,6 @@ void Camera_SetTargetActor(Camera* camera, Actor* actor);
|
|||
f32 Camera_GetWaterYPos(Camera* camera);
|
||||
void func_800E0348(Camera* camera);
|
||||
|
||||
DamageTable* DamageTable_Get(s32 index);
|
||||
void DamageTable_Clear(DamageTable* damageTable);
|
||||
f32 CollisionCheck_GetDamageAndEffectOnBumper(Collider* at, ColliderInfo* atInfo, Collider* ac, ColliderInfo* acInfo, u32* effect);
|
||||
f32 CollisionCheck_ApplyBumperDefense(f32 damage, ColliderInfo* ac);
|
||||
s32 CollisionCheck_GetToucherDamage(Collider* at, ColliderInfo* atInfo, Collider* ac, ColliderInfo* acInfo);
|
||||
s32 Collider_InitBase(PlayState* play, Collider* collider);
|
||||
s32 Collider_DestroyBase(PlayState* play, Collider* collider);
|
||||
s32 Collider_SetBaseToActor(PlayState* play, Collider* collider, ColliderInitToActor* src);
|
||||
s32 Collider_SetBaseType1(PlayState* play, Collider* collider, Actor* actor, ColliderInitType1* src);
|
||||
s32 Collider_SetBase(PlayState* play, Collider* collider, Actor* actor, ColliderInit* src);
|
||||
void Collider_ResetATBase(PlayState* play, Collider* collider);
|
||||
void Collider_ResetACBase(PlayState* play, Collider* collider);
|
||||
void Collider_ResetOCBase(PlayState* play, Collider* collider);
|
||||
s32 Collider_InitTouch(PlayState* play, ColliderTouch* touch);
|
||||
s32 Collider_DestroyTouch(PlayState* play, ColliderTouch* touch);
|
||||
s32 Collider_SetTouch(PlayState* play, ColliderTouch* touch, ColliderTouchInit* src);
|
||||
void Collider_ResetATInfoUnk(PlayState* play, ColliderInfo* info);
|
||||
s32 Collider_InitBump(PlayState* play, ColliderBump* bump);
|
||||
s32 Collider_DestroyBump(PlayState* play, ColliderBump* bump);
|
||||
s32 Collider_SetBump(PlayState* play, ColliderBump* bump, ColliderBumpInit* src);
|
||||
s32 Collider_InitInfo(PlayState* play, ColliderInfo* info);
|
||||
s32 Collider_DestroyInfo(PlayState* play, ColliderInfo* info);
|
||||
s32 Collider_SetInfo(PlayState* play, ColliderInfo* info, ColliderInfoInit* src);
|
||||
void Collider_ResetATInfo(PlayState* play, ColliderInfo* info);
|
||||
void Collider_ResetACInfo(PlayState* play, ColliderInfo* info);
|
||||
void Collider_ResetOCInfo(PlayState* play, ColliderInfo* info);
|
||||
s32 Collider_InitJntSphElementDim(PlayState* play, ColliderJntSphElementDim* dim);
|
||||
s32 Collider_DestroyJntSphElementDim(PlayState* play, ColliderJntSphElementDim* dim);
|
||||
s32 Collider_SetJntSphElementDim(PlayState* play, ColliderJntSphElementDim* dest, ColliderJntSphElementDimInit* src);
|
||||
s32 Collider_InitJntSphElement(PlayState* play, ColliderJntSphElement* element);
|
||||
s32 Collider_DestroyJntSphElement(PlayState* play, ColliderJntSphElement* element);
|
||||
s32 Collider_SetJntSphElement(PlayState* play, ColliderJntSphElement* dest, ColliderJntSphElementInit* src);
|
||||
s32 Collider_ResetJntSphElementAT(PlayState* play, ColliderJntSphElement* collider);
|
||||
s32 Collider_ResetJntSphElementAC(PlayState* play, ColliderJntSphElement* collider);
|
||||
s32 Collider_ResetJntSphElementOC(PlayState* play, ColliderJntSphElement* collider);
|
||||
s32 Collider_InitJntSph(PlayState* play, ColliderJntSph* collider);
|
||||
s32 Collider_FreeJntSph(PlayState* play, ColliderJntSph* collider);
|
||||
s32 Collider_DestroyJntSph(PlayState* play, ColliderJntSph* collider);
|
||||
s32 Collider_SetJntSphToActor(PlayState* play, ColliderJntSph* collider, ColliderJntSphInitToActor* src);
|
||||
s32 Collider_SetJntSphAllocType1(PlayState* play, ColliderJntSph* sphereGroup, Actor* actor, ColliderJntSphInitType1* src);
|
||||
s32 Collider_SetJntSph(PlayState* play, ColliderJntSph* sphereGroup, Actor* actor, ColliderJntSphInit* src, ColliderJntSphElement* elements);
|
||||
s32 Collider_InitAndSetJntSph(PlayState* play, ColliderJntSph* sphereGroup, Actor* actor, ColliderJntSphInit* src, ColliderJntSphElement* elements);
|
||||
s32 Collider_ResetJntSphAT(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetJntSphAC(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetJntSphOC(PlayState* play, Collider* collider);
|
||||
s32 Collider_InitCylinderDim(PlayState* play, Cylinder16* dim);
|
||||
s32 Collider_DestroyCylinderDim(PlayState* play, Cylinder16* dim);
|
||||
s32 Collider_SetCylinderDim(PlayState* play, Cylinder16* dim, Cylinder16* src);
|
||||
s32 Collider_InitCylinder(PlayState* play, ColliderCylinder* collider);
|
||||
s32 Collider_DestroyCylinder(PlayState* play, ColliderCylinder* collider);
|
||||
s32 Collider_SetCylinderToActor(PlayState* play, ColliderCylinder* collider, ColliderCylinderInitToActor* src);
|
||||
s32 Collider_SetCylinderType1(PlayState* play, ColliderCylinder* collider, Actor* actor, ColliderCylinderInitType1* src);
|
||||
s32 Collider_SetCylinder(PlayState* play, ColliderCylinder* collider, Actor* actor, ColliderCylinderInit* src);
|
||||
s32 Collider_InitAndSetCylinder(PlayState* play, ColliderCylinder* collider, Actor* actor, ColliderCylinderInit* src);
|
||||
s32 Collider_ResetCylinderAT(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetCylinderAC(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetCylinderOC(PlayState* play, Collider* collider);
|
||||
s32 Collider_InitTrisElementDim(PlayState* play, TriNorm* dim);
|
||||
s32 Collider_DestroyTrisElementDim(PlayState* play, TriNorm* dim);
|
||||
s32 Collider_SetTrisElementDim(PlayState* play, TriNorm* dim, ColliderTrisElementDimInit* src);
|
||||
s32 Collider_InitTrisElement(PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_DestroyTrisElement(PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_SetTrisElement(PlayState* play, ColliderTrisElement* element, ColliderTrisElementInit* src);
|
||||
s32 Collider_ResetTrisElementAT(PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_ResetTrisElementAC(PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_ResetTrisElementOC(PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_InitTris(PlayState* play, ColliderTris* tris);
|
||||
s32 Collider_FreeTris(PlayState* play, ColliderTris* tris);
|
||||
s32 Collider_DestroyTris(PlayState* play, ColliderTris* tris);
|
||||
s32 Collider_SetTrisAllocType1(PlayState* play, ColliderTris* tris, Actor* actor, ColliderTrisInitType1* src);
|
||||
s32 Collider_SetTris(PlayState* play, ColliderTris* triGroup, Actor* actor, ColliderTrisInit* src, ColliderTrisElement* tris);
|
||||
s32 Collider_InitAndSetTris(PlayState* play, ColliderTris* tris, Actor* actor, ColliderTrisInit* src, ColliderTrisElement* elements);
|
||||
s32 Collider_ResetTrisAT(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetTrisAC(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetTrisOC(PlayState* play, Collider* collider);
|
||||
s32 Collider_InitQuadDim(PlayState* play, ColliderQuadDim* dim);
|
||||
s32 Collider_DestroyQuadDim(PlayState* play, ColliderQuadDim* dim);
|
||||
s32 Collider_ResetQuadACDist(PlayState* play, ColliderQuadDim* dim);
|
||||
void Collider_SetQuadMidpoints(ColliderQuadDim* dim);
|
||||
s32 Collider_SetQuadDim(PlayState* play, ColliderQuadDim* dim, ColliderQuadDimInit* init);
|
||||
s32 Collider_InitQuad(PlayState* play, ColliderQuad* collider);
|
||||
s32 Collider_DestroyQuad(PlayState* play, ColliderQuad* collider);
|
||||
s32 Collider_SetQuadType1(PlayState* play, ColliderQuad* collider, Actor* actor, ColliderQuadInitType1* src);
|
||||
s32 Collider_SetQuad(PlayState* play, ColliderQuad* collider, Actor* actor, ColliderQuadInit* src);
|
||||
s32 Collider_InitAndSetQuad(PlayState* play, ColliderQuad* collider, Actor* actor, ColliderQuadInit* src);
|
||||
s32 Collider_ResetQuadAT(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetQuadAC(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetQuadOC(PlayState* play, Collider* collider);
|
||||
s32 Collider_QuadSetNearestAC(PlayState* play, ColliderQuad* quad, Vec3f* hitPos);
|
||||
s32 Collider_InitSphere(PlayState* play, ColliderSphere* collider);
|
||||
s32 Collider_DestroySphere(PlayState* play, ColliderSphere* collider);
|
||||
s32 Collider_SetSphere(PlayState* play, ColliderSphere* collider, Actor* actor, ColliderSphereInit* src);
|
||||
s32 Collider_InitAndSetSphere(PlayState* play, ColliderSphere* collider, Actor* actor, ColliderSphereInit* src);
|
||||
s32 Collider_ResetSphereAT(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetSphereAC(PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetSphereOC(PlayState* play, Collider* collider);
|
||||
s32 Collider_InitLine(PlayState* play, OcLine* line);
|
||||
s32 Collider_DestroyLine(PlayState* play, OcLine* line);
|
||||
s32 Collider_SetLinePoints(PlayState* play, OcLine* line, Vec3f* a, Vec3f* b);
|
||||
s32 Collider_SetLine(PlayState* play, OcLine* line, OcLine* src);
|
||||
s32 Collider_ResetLineOC(PlayState* play, OcLine* line);
|
||||
void CollisionCheck_InitContext(PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_DestroyContext(PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_ClearContext(PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_EnableSAC(PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_DisableSAC(PlayState* play, CollisionCheckContext* colCtxt);
|
||||
s32 CollisionCheck_SetAT(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
s32 CollisionCheck_SetAT_SAC(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider, s32 index);
|
||||
s32 CollisionCheck_SetAC(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
s32 CollisionCheck_SetAC_SAC(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider, s32 index);
|
||||
s32 CollisionCheck_SetOC(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
s32 CollisionCheck_SetOC_SAC(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider, s32 index);
|
||||
s32 CollisionCheck_SetOCLine(PlayState* play, CollisionCheckContext* colCtxt, OcLine* line);
|
||||
s32 CollisionCheck_SkipTouch(ColliderInfo* info);
|
||||
s32 CollisionCheck_SkipBump(ColliderInfo* info);
|
||||
s32 CollisionCheck_NoSharedFlags(ColliderInfo* toucher, ColliderInfo* bumper);
|
||||
void CollisionCheck_NoBlood(PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_BlueBlood(PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_GreenBlood(PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_WaterBurst(PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_RedBlood(PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_RedBloodUnused(PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_HitSolid(PlayState* play, ColliderInfo* info, Collider* collider, Vec3f* hitPos);
|
||||
s32 CollisionCheck_SwordHitAudio(Collider* at, ColliderInfo* acInfo);
|
||||
void CollisionCheck_HitEffects(PlayState* play, Collider* at, ColliderInfo* atInfo, Collider* ac, ColliderInfo* acInfo, Vec3f* hitPos);
|
||||
void CollisionCheck_SetBounce(Collider* at, Collider* ac);
|
||||
s32 CollisionCheck_SetATvsAC(PlayState* play, Collider* at, ColliderInfo* atInfo, Vec3f* atPos, Collider* ac, ColliderInfo* acInfo, Vec3f* acPos, Vec3f* hitPos);
|
||||
void CollisionCheck_TrisAvgPoint(ColliderTrisElement* tri, Vec3f* avg);
|
||||
void CollisionCheck_QuadAvgPoint(ColliderQuad* quad, Vec3f* avg);
|
||||
void CollisionCheck_AC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_JntSphVsTris(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_JntSphVsQuad(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_JntSphVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsJntSph(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsCyl(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsTris(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsQuad(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsJntSph(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsCyl(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsTris(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsQuad(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsJntSph(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsCyl(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsTris(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsQuad(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsJntSph(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsCylinder(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsTris(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsQuad(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_SetJntSphHitFX(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetCylHitFX(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetTrisHitFX(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetQuadHitFX(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetSphereHitFX(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetHitEffects(PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_AC(PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT);
|
||||
void CollisionCheck_AT(PlayState* play, CollisionCheckContext* colCtxt);
|
||||
s32 CollisionCheck_GetMassType(u8 mass);
|
||||
void CollisionCheck_SetOCvsOC(PlayState* play, Collider* left, ColliderInfo* leftInfo, Vec3f* leftPos, Collider* right, ColliderInfo* rightInfo, Vec3f* rightPos, f32 overlap);
|
||||
void CollisionCheck_OC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_JntSphVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_CylVsJntSph(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_CylVsCyl(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_CylVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_SphereVsJntSph(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_SphereVsCyl(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_SphereVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
s32 CollisionCheck_SkipOC(Collider* collider);
|
||||
s32 CollisionCheck_Incompatible(Collider* left, Collider* right);
|
||||
void CollisionCheck_OC(PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_InitInfo(CollisionCheckInfo* info);
|
||||
void CollisionCheck_ResetDamage(CollisionCheckInfo* info);
|
||||
void CollisionCheck_SetInfoNoDamageTable(CollisionCheckInfo* info, CollisionCheckInfoInit* init);
|
||||
void CollisionCheck_SetInfo(CollisionCheckInfo* info, DamageTable* damageTable, CollisionCheckInfoInit* init);
|
||||
void CollisionCheck_SetInfo2(CollisionCheckInfo* info, DamageTable* damageTable, CollisionCheckInfoInit2* init);
|
||||
void CollisionCheck_SetInfoGetDamageTable(CollisionCheckInfo* info, s32 index, CollisionCheckInfoInit2* init);
|
||||
void CollisionCheck_ApplyDamage(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider, ColliderInfo* info);
|
||||
void CollisionCheck_ApplyDamageJntSph(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_ApplyDamageCyl(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_ApplyDamageTris(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_ApplyDamageQuad(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_ApplyDamageSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_Damage(PlayState* play, CollisionCheckContext* colCtxt);
|
||||
s32 CollisionCheck_LineOC_JntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, Vec3f* a, Vec3f* b);
|
||||
s32 CollisionCheck_LineOC_Cyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, Vec3f* a, Vec3f* b);
|
||||
s32 CollisionCheck_LineOC_Sphere(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, Vec3f* a, Vec3f* b);
|
||||
s32 CollisionCheck_LineOC(PlayState* play, CollisionCheckContext* colChkCtx, Vec3f* a, Vec3f* b, Actor** exclusions, s32 numExclusions);
|
||||
s32 CollisionCheck_LineOCCheckAll(PlayState* play, CollisionCheckContext* colCtxt, Vec3f* a, Vec3f* b);
|
||||
s32 CollisionCheck_LineOCCheck(PlayState* play, CollisionCheckContext* colCtxt, Vec3f* a, Vec3f* b, Actor** exclusions, s32 numExclusions);
|
||||
void Collider_UpdateCylinder(Actor* actor, ColliderCylinder* collider);
|
||||
void Collider_SetCylinderPosition(ColliderCylinder* collider, Vec3s* pos);
|
||||
void Collider_SetQuadVertices(ColliderQuad* collider, Vec3f* a, Vec3f* b, Vec3f* c, Vec3f* d);
|
||||
void Collider_SetTrisVertices(ColliderTris* collider, s32 index, Vec3f* a, Vec3f* b, Vec3f* c);
|
||||
void Collider_SetTrisDim(PlayState* play, ColliderTris* collider, s32 index, ColliderTrisElementDimInit* init);
|
||||
void Collider_UpdateSpheres(s32 limb, ColliderJntSph* collider);
|
||||
void Collider_UpdateSpheresElement(ColliderJntSph* collider, s32 index, Actor* actor);
|
||||
void Collider_UpdateSphere(s32 limb, ColliderSphere* collider);
|
||||
void CollisionCheck_SpawnRedBlood(PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnWaterDroplets(PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnShieldParticles(PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnShieldParticlesMetal(PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnShieldParticlesMetalSound(PlayState* play, Vec3f* v, Vec3f* pos);
|
||||
void CollisionCheck_SpawnShieldParticlesMetal2(PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnShieldParticlesWood(PlayState* play, Vec3f* v, Vec3f* pos);
|
||||
s32 CollisionCheck_CylSideVsLineSeg(f32 radius, f32 height, f32 offset, Vec3f* actorPos, Vec3f* itemPos, Vec3f* itemProjPos, Vec3f* out1, Vec3f* out2);
|
||||
void Actor_ContinueText(PlayState* play, Actor* actor, u16 textId);
|
||||
s32 Flags_GetEventChkInf(s32 flag);
|
||||
void Flags_SetEventChkInf(s32 flag);
|
||||
|
@ -1011,10 +800,6 @@ void SaveContext_Init(void);
|
|||
|
||||
void GetItem_Draw(PlayState* play, s16 drawId);
|
||||
|
||||
void SoundSource_InitAll(PlayState* play);
|
||||
void SoundSource_UpdateAll(PlayState* play);
|
||||
void SoundSource_PlaySfxAtFixedWorldPos(PlayState* play, Vec3f* worldPos, u32 duration, u16 sfxId);
|
||||
void SoundSource_PlaySfxEachFrameAtFixedWorldPos(PlayState* play, Vec3f* worldPos, u32 duration, u16 sfxId);
|
||||
u16 QuestHint_GetTatlTextId(PlayState* play);
|
||||
|
||||
u16 Text_GetFaceReaction(PlayState* play, u32 reactionSet);
|
||||
|
@ -1355,51 +1140,6 @@ Vec3s* OLib_Vec3fDiffBinAng(Vec3s* dest, Vec3f* a, Vec3f* b);
|
|||
void OLib_Vec3fDiff(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
void OLib_Vec3fAdd(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
|
||||
Gfx* Gfx_DrawTexRectRGBA16(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
Gfx* Gfx_DrawTexRectIA8(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
Gfx* Gfx_DrawTexRectI8(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
Gfx* Gfx_DrawTexQuadIA8(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, u16 point);
|
||||
Gfx* Gfx_DrawTexQuad4b(Gfx* gfx, TexturePtr texture, s32 fmt, s16 textureWidth, s16 textureHeight, u16 point);
|
||||
|
||||
void Interface_StartTimer(s16 timerId, s16 seconds);
|
||||
void Interface_StartPostmanTimer(s16 seconds, s16 bunnyHoodState);
|
||||
void Interface_NewDay(PlayState* play, s32 day);
|
||||
void Interface_SetHudVisibility(u16 hudVisibility);
|
||||
void Interface_UpdateButtonsPart2(PlayState* play);
|
||||
void Interface_SetSceneRestrictions(PlayState* play);
|
||||
void Interface_InitMinigame(PlayState* play);
|
||||
void Interface_LoadItemIconImpl(PlayState* play, u8 btn);
|
||||
void Interface_LoadItemIcon(PlayState* play, u8 btn);
|
||||
void Interface_UpdateButtonsAlt(PlayState* play, u16 flag);
|
||||
u8 Item_Give(PlayState* play, u8 item);
|
||||
u8 Item_CheckObtainability(u8 item);
|
||||
void Inventory_DeleteItem(s16 item, s16 slot);
|
||||
void Inventory_UnequipItem(s16 item);
|
||||
s32 Inventory_ReplaceItem(PlayState* play, u8 oldItem, u8 newItem);
|
||||
void Inventory_UpdateDeitySwordEquip(PlayState* play) ;
|
||||
s32 Inventory_HasEmptyBottle(void);
|
||||
s32 Inventory_HasItemInBottle(u8 item);
|
||||
void Inventory_UpdateBottleItem(PlayState* play, u8 item, u8 btn);
|
||||
s32 Inventory_ConsumeFairy(PlayState* play);
|
||||
void Inventory_UpdateItem(PlayState* play, s16 slot, s16 item);
|
||||
void func_8011552C(PlayState* play, u16 arg1);
|
||||
void func_801155B4(PlayState* play, s16 arg1);
|
||||
void func_80115764(PlayState* play, UNK_TYPE arg1);
|
||||
void func_80115844(PlayState* play, s16 doAction);
|
||||
s32 Health_ChangeBy(PlayState* play, s16 healthChange);
|
||||
void Health_GiveHearts(s16 hearts);
|
||||
void Rupees_ChangeBy(s16 rupeeChange);
|
||||
void Inventory_ChangeAmmo(s16 item, s16 ammoChange);
|
||||
void Magic_Add(PlayState* play, s16 magicToAdd);
|
||||
void Magic_Reset(PlayState* play);
|
||||
s32 Magic_Consume(PlayState* play, s16 magicToConsume, s16 type);
|
||||
void Interface_SetPerfectLetters(PlayState* play, s16 perfectLettersType);
|
||||
void Interface_StartMoonCrash(PlayState* play);
|
||||
void Interface_Draw(PlayState* play);
|
||||
void Interface_Update(PlayState* play);
|
||||
void Interface_Destroy(PlayState* play);
|
||||
void Interface_Init(PlayState* play);
|
||||
|
||||
Path* Path_GetByIndex(PlayState* play, s16 index, s16 indexNone);
|
||||
f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw);
|
||||
void Path_CopyLastPoint(Path* path, Vec3f* dest);
|
||||
|
@ -1498,90 +1238,6 @@ void Inventory_SaveDekuPlaygroundHighScore(s16 timerId);
|
|||
void Inventory_IncrementSkullTokenCount(s16 sceneIndex);
|
||||
s16 Inventory_GetSkullTokenCount(s16 sceneIndex);
|
||||
void Inventory_SaveLotteryCodeGuess(PlayState* play);
|
||||
s32 Object_Spawn(ObjectContext* objectCtx, s16 id);
|
||||
void Object_InitBank(GameState* gameState, ObjectContext* objectCtx);
|
||||
void Object_UpdateBank(ObjectContext* objectCtx);
|
||||
s32 Object_GetIndex(ObjectContext* objectCtx, s16 objectId);
|
||||
s32 Object_IsLoaded(ObjectContext* objectCtx, s32 index);
|
||||
void Object_LoadAll(ObjectContext* objectCtx);
|
||||
void* func_8012F73C(ObjectContext* objectCtx, s32 iParm2, s16 id);
|
||||
void Scene_CommandSpawnList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandActorList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandActorCutsceneCamList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandCollisionHeader(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandRoomList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandEntranceList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandSpecialFiles(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandRoomBehavior(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandMesh(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandObjectList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandLightList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandPathList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandTransiActorList(PlayState* play, SceneCmd* cmd);
|
||||
void Door_InitContext(GameState* gameState, DoorContext* doorCtx);
|
||||
void Scene_CommandEnvLightSettings(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_LoadAreaTextures(PlayState* play, s32 fileIndex);
|
||||
void Scene_CommandSkyboxSettings(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandSkyboxDisables(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandTimeSettings(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandWindSettings(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandExitList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_Command09(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandSoundSettings(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandEchoSetting(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandAltHeaderList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandCutsceneScriptList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandCutsceneList(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandMiniMap(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_Command1D(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandMiniMapCompassInfo(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandSetRegionVisitedFlag(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandAnimatedMaterials(PlayState* play, SceneCmd* cmd);
|
||||
void Scene_SetExitFade(PlayState* play);
|
||||
s32 Scene_ExecuteCommands(PlayState* play, SceneCmd* sceneCmd);
|
||||
u16 Entrance_Create(s32 scene, s32 spawn, s32 layer);
|
||||
u16 Entrance_CreateFromSpawn(s32 spawn);
|
||||
void Scene_Draw(PlayState* play);
|
||||
void Scene_DrawConfigDefault(PlayState* play);
|
||||
Gfx* AnimatedMat_TexScroll(PlayState* play, AnimatedMatTexScrollParams* params);
|
||||
void AnimatedMat_DrawTexScroll(PlayState* play, s32 segment, void* params);
|
||||
Gfx* AnimatedMat_TwoLayerTexScroll(PlayState* play, AnimatedMatTexScrollParams* params);
|
||||
void AnimatedMat_DrawTwoTexScroll(PlayState* play, s32 segment, void* params);
|
||||
void AnimatedMat_SetColor(PlayState* play, s32 segment, F3DPrimColor* primColorResult, F3DEnvColor* envColor);
|
||||
void AnimatedMat_DrawColor(PlayState* play, s32 segment, void* params);
|
||||
s32 AnimatedMat_Lerp(s32 min, s32 max, f32 norm);
|
||||
void AnimatedMat_DrawColorLerp(PlayState* play, s32 segment, void* params);
|
||||
f32 Scene_LagrangeInterp(s32 n, f32 x[], f32 fx[], f32 xp);
|
||||
u8 Scene_LagrangeInterpColor(s32 n, f32 x[], f32 fx[], f32 xp);
|
||||
void AnimatedMat_DrawColorNonLinearInterp(PlayState* play, s32 segment, void* params);
|
||||
void AnimatedMat_DrawTexCycle(PlayState* play, s32 segment, void* params);
|
||||
void AnimatedMat_DrawMain(PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio, u32 step, u32 flags);
|
||||
void AnimatedMat_Draw(PlayState* play, AnimatedMaterial* matAnim);
|
||||
void AnimatedMat_DrawOpa(PlayState* play, AnimatedMaterial* matAnim);
|
||||
void AnimatedMat_DrawXlu(PlayState* play, AnimatedMaterial* matAnim);
|
||||
void AnimatedMat_DrawAlpha(PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio);
|
||||
void AnimatedMat_DrawAlphaOpa(PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio);
|
||||
void AnimatedMat_DrawAlphaXlu(PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio);
|
||||
void AnimatedMat_DrawStep(PlayState* play, AnimatedMaterial* matAnim, u32 step);
|
||||
void AnimatedMat_DrawStepOpa(PlayState* play, AnimatedMaterial* matAnim, u32 step);
|
||||
void AnimatedMat_DrawStepXlu(PlayState* play, AnimatedMaterial* matAnim, u32 step);
|
||||
void AnimatedMat_DrawAlphaStep(PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio, u32 step);
|
||||
void AnimatedMat_DrawAlphaStepOpa(PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio, u32 step);
|
||||
void AnimatedMat_DrawAlphaStepXlu(PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio, u32 step);
|
||||
void Scene_DrawConfigMatAnim(PlayState* play);
|
||||
void Scene_DrawConfig3(PlayState* play);
|
||||
void Scene_DrawConfig4(PlayState* play);
|
||||
void Scene_DrawConfigDoNothing(PlayState* play);
|
||||
void Scene_SetRenderModeXlu(PlayState* play, s32 index, u32 flags);
|
||||
void Scene_SetCullFlag(PlayState* play, s32 index, u32 flags);
|
||||
void Scene_DrawConfig5(PlayState* play);
|
||||
void Scene_DrawConfigMatAnimManualStep(PlayState* play);
|
||||
void Scene_DrawConfigGreatBayTemple(PlayState* play);
|
||||
EntranceTableEntry* Entrance_GetTableEntry(u16 entrance);
|
||||
s32 Entrance_GetSceneId(u16 entrance);
|
||||
s32 Entrance_GetSceneIdAbsolute(u16 entrance);
|
||||
s32 Entrance_GetSpawnNum(u16 entrance);
|
||||
s32 Entrance_GetTransitionFlags(u16 entrance);
|
||||
|
||||
s32 Schedule_RunScript(PlayState* play, u8* script, ScheduleOutput* output);
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#define GLOBAL_H
|
||||
|
||||
#include "z64.h"
|
||||
#include "regs.h"
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
#include "macros.h"
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
#include "libc/stdint.h"
|
||||
#include "ultra64/convert.h"
|
||||
#include "z64.h"
|
||||
|
||||
#define SCREEN_WIDTH 320
|
||||
#define SCREEN_HEIGHT 240
|
||||
|
|
|
@ -366,7 +366,7 @@ extern UNK_PTR D_801AE260[3];
|
|||
// extern UNK_TYPE1 D_801AE48C;
|
||||
// extern UNK_TYPE1 D_801AE490;
|
||||
extern EffectSsOverlay gParticleOverlayTable[39];
|
||||
// extern FlagSetEntry sFlagEntries[];
|
||||
|
||||
// extern s32 sEntryIndex;
|
||||
// extern u32 sCurrentBit;
|
||||
// extern s32 sTimer;
|
||||
|
@ -377,36 +377,6 @@ extern BgCheckSceneSubdivisionEntry sSceneSubdivisionList[];
|
|||
extern BgSpecialSceneMaxObjects sCustomDynapolyMem[];
|
||||
// extern UNK_TYPE1 D_801B4708;
|
||||
|
||||
extern DamageTable sDamageTablePresets[23];
|
||||
extern f32 damageMultipliers[16];
|
||||
extern Collider defaultCollider;
|
||||
extern ColliderTouch defaultColliderTouch;
|
||||
extern ColliderBump defaultColliderBump;
|
||||
extern ColliderInfo defaultColliderInfo;
|
||||
extern ColliderJntSphElementDim defaultColliderJntSphElementDim;
|
||||
extern Cylinder16 defaultColliderCylinderDim;
|
||||
extern TriNorm defaultColliderTrisElementDim;
|
||||
extern ColliderQuadDim defaultColliderQuadDim;
|
||||
extern Vec3f defaultLinePoint;
|
||||
extern ColChkResetFunc sATResetFuncs[COLSHAPE_MAX];
|
||||
extern ColChkResetFunc sACResetFuncs[COLSHAPE_MAX];
|
||||
extern ColChkResetFunc sOCResetFuncs[COLSHAPE_MAX];
|
||||
extern ColChkBloodFunc sBloodFuncs[6];
|
||||
extern HitInfo sHitInfo[14];
|
||||
extern ColChkApplyFunc sColChkApplyFuncs[COLSHAPE_MAX];
|
||||
extern ColChkVsFunc sACVsFuncs[COLSHAPE_MAX][COLSHAPE_MAX];
|
||||
extern ColChkVsFunc sOCVsFuncs[COLSHAPE_MAX][COLSHAPE_MAX];
|
||||
extern CollisionCheckInfo defaultColChkInfo;
|
||||
extern ColChkApplyFunc sApplyDamageFuncs[COLSHAPE_MAX];
|
||||
extern ColChkLineFunc sOCLineCheckFuncs[COLSHAPE_MAX];
|
||||
extern EffectShieldParticleInit shieldParticleInitMetal;
|
||||
extern EffectShieldParticleInit shieldParticleInitWood;
|
||||
// extern UNK_TYPE4 D_801BB090;
|
||||
// extern UNK_TYPE1 D_801BB094;
|
||||
// extern UNK_TYPE1 D_801BB0DC;
|
||||
// extern UNK_TYPE2 D_801BB0FC;
|
||||
// extern UNK_TYPE1 D_801BB100;
|
||||
|
||||
extern u8 gOpeningEntranceIndex;
|
||||
|
||||
extern ActorCutscene sGlobalCutsceneList[8];
|
||||
|
@ -2250,7 +2220,6 @@ extern s16 D_801F4E7A;
|
|||
// extern UNK_TYPE1 D_801F5730;
|
||||
// extern UNK_TYPE1 D_801F57B4;
|
||||
// extern UNK_TYPE1 D_801F5834;
|
||||
// extern NmiBuff* gNMIBuffer;
|
||||
|
||||
// extern UNK_TYPE1 sSkyboxDrawMatrix;
|
||||
// extern UNK_TYPE1 D_801F6AF0;
|
||||
|
|
|
@ -60,67 +60,12 @@
|
|||
#include "z64schedule.h"
|
||||
#include "z64skin.h"
|
||||
#include "z64skybox.h"
|
||||
#include "z64sound_source.h"
|
||||
#include "z64subs.h"
|
||||
#include "z64transition.h"
|
||||
#include "z64view.h"
|
||||
#include "regs.h"
|
||||
|
||||
#define Z_THREAD_ID_IDLE 1
|
||||
#define Z_THREAD_ID_SLOWLY 2
|
||||
#define Z_THREAD_ID_MAIN 3
|
||||
#define Z_THREAD_ID_GRAPH 4
|
||||
#define Z_THREAD_ID_SCHED 5
|
||||
#define Z_THREAD_ID_FLASHROM 13
|
||||
#define Z_THREAD_ID_DMAMGR 18
|
||||
#define Z_THREAD_ID_IRQMGR 19
|
||||
|
||||
#define Z_PRIORITY_SLOWLY 5
|
||||
#define Z_PRIORITY_GRAPH 9
|
||||
#define Z_PRIORITY_AUDIOMGR 11
|
||||
#define Z_PRIORITY_IDLE 12
|
||||
#define Z_PRIORITY_MAIN 12
|
||||
#define Z_PRIORITY_FLASHROM 13
|
||||
#define Z_PRIORITY_PADMGR 15
|
||||
#define Z_PRIORITY_SCHED 16
|
||||
#define Z_PRIORITY_DMAMGR 17
|
||||
#define Z_PRIORITY_IRQMGR 18
|
||||
|
||||
typedef enum {
|
||||
/* -1 */ EQUIP_SLOT_NONE = -1,
|
||||
/* 0 */ EQUIP_SLOT_B,
|
||||
/* 1 */ EQUIP_SLOT_C_LEFT,
|
||||
/* 2 */ EQUIP_SLOT_C_DOWN,
|
||||
/* 3 */ EQUIP_SLOT_C_RIGHT,
|
||||
/* 4 */ EQUIP_SLOT_A
|
||||
} EquipSlot;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s8 segment;
|
||||
/* 0x2 */ s16 type;
|
||||
/* 0x4 */ void* params;
|
||||
} AnimatedMaterial; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ Vec3s pos;
|
||||
/* 0x6 */ s16 unk_06;
|
||||
/* 0x8 */ Gfx* opa;
|
||||
/* 0xC */ Gfx* xlu;
|
||||
} PolygonDlist2; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x1 */ u8 num; // number of dlist entries
|
||||
/* 0x4 */ void* start;
|
||||
/* 0x8 */ void* end;
|
||||
} PolygonType2; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 resetting;
|
||||
/* 0x04 */ u32 resetCount;
|
||||
/* 0x08 */ OSTime duration;
|
||||
/* 0x10 */ OSTime resetTime;
|
||||
} NmiBuff; // size >= 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 requestType;
|
||||
/* 0x04 */ OSMesg response;
|
||||
|
@ -162,14 +107,6 @@ typedef struct {
|
|||
/* 0x38 */ FaultDrawerCallback inputCallback;
|
||||
} FaultDrawer; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 countdown;
|
||||
/* 0x01 */ u8 playSfxEachFrame;
|
||||
/* 0x02 */ u16 sfxId;
|
||||
/* 0x04 */ Vec3f worldPos;
|
||||
/* 0x10 */ Vec3f projectedPos;
|
||||
} SoundSource; // size = 0x1C
|
||||
|
||||
typedef void(*fault_update_input_func)(Input* input);
|
||||
|
||||
typedef struct {
|
||||
|
@ -411,12 +348,6 @@ typedef struct {
|
|||
|
||||
struct PlayState;
|
||||
|
||||
typedef s32 (*ColChkResetFunc)(struct PlayState*, Collider*);
|
||||
typedef void (*ColChkBloodFunc)(struct PlayState*, Collider*, Vec3f*);
|
||||
typedef void (*ColChkApplyFunc)(struct PlayState*, CollisionCheckContext*, Collider*);
|
||||
typedef void (*ColChkVsFunc)(struct PlayState*, CollisionCheckContext*, Collider*, Collider*);
|
||||
typedef s32 (*ColChkLineFunc)(struct PlayState*, CollisionCheckContext*, Collider*, Vec3f*, Vec3f*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ IrqMgr* irqMgr;
|
||||
/* 0x004 */ SchedContext* sched;
|
||||
|
@ -456,7 +387,7 @@ typedef struct PlayState {
|
|||
/* 0x00830 */ CollisionContext colCtx;
|
||||
/* 0x01CA0 */ ActorContext actorCtx;
|
||||
/* 0x01F24 */ CutsceneContext csCtx;
|
||||
/* 0x01F78 */ SoundSource soundSources[16];
|
||||
/* 0x01F78 */ SoundSource soundSources[SOUND_SOURCE_COUNT];
|
||||
/* 0x02138 */ EffFootmark footprintInfo[100];
|
||||
/* 0x046B8 */ SramContext sramCtx;
|
||||
/* 0x046E0 */ SkyboxContext skyboxCtx;
|
||||
|
@ -568,11 +499,6 @@ typedef struct {
|
|||
/* 0x14 */ Gfx* dList;
|
||||
} VisMono; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8* value;
|
||||
/* 0x4 */ const char* name;
|
||||
} FlagSetEntry; // size = 0x8
|
||||
|
||||
// TODO: Dedicated Header?
|
||||
#define FRAM_BASE_ADDRESS 0x08000000 // FRAM Base Address in Cart Memory
|
||||
#define FRAM_STATUS_REGISTER FRAM_BASE_ADDRESS // FRAM Base Address in Cart Memory
|
||||
|
|
|
@ -25,71 +25,17 @@ typedef void(*ActorFunc)(struct Actor* this, struct PlayState* play);
|
|||
typedef u16 (*NpcGetTextIdFunc)(struct PlayState*, struct Actor*);
|
||||
typedef s16 (*NpcUpdateTalkStateFunc)(struct PlayState*, struct Actor*);
|
||||
|
||||
typedef struct {
|
||||
typedef struct PosRot {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3s rot;
|
||||
} PosRot; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 attack[32];
|
||||
} DamageTable; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 health;
|
||||
/* 0x2 */ s16 cylRadius;
|
||||
/* 0x4 */ s16 cylHeight;
|
||||
/* 0x6 */ u8 mass;
|
||||
} CollisionCheckInfoInit; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 health;
|
||||
/* 0x2 */ s16 cylRadius;
|
||||
/* 0x4 */ s16 cylHeight;
|
||||
/* 0x6 */ s16 cylYShift;
|
||||
/* 0x8 */ u8 mass;
|
||||
} CollisionCheckInfoInit2; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ DamageTable* damageTable;
|
||||
/* 0x04 */ Vec3f displacement;
|
||||
/* 0x10 */ s16 cylRadius;
|
||||
/* 0x12 */ s16 cylHeight;
|
||||
/* 0x14 */ s16 cylYShift;
|
||||
/* 0x16 */ u8 mass;
|
||||
/* 0x17 */ u8 health;
|
||||
/* 0x18 */ u8 damage;
|
||||
/* 0x19 */ u8 damageEffect;
|
||||
/* 0x1A */ u8 atHitEffect;
|
||||
/* 0x1B */ u8 acHitEffect;
|
||||
} CollisionCheckInfo; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk0;
|
||||
/* 0x04 */ s32 unk4;
|
||||
/* 0x08 */ f32 unk8;
|
||||
/* 0x0C */ f32 unkC;
|
||||
/* 0x10 */ f32 unk10;
|
||||
/* 0x14 */ f32 unk14;
|
||||
/* 0x18 */ f32 unk18;
|
||||
/* 0x1C */ f32 unk1C;
|
||||
/* 0x20 */ f32 unk20;
|
||||
/* 0x24 */ f32 unk24;
|
||||
/* 0x28 */ f32 unk28;
|
||||
/* 0x2C */ f32 unk2C;
|
||||
/* 0x30 */ s16 unk30;
|
||||
/* 0x32 */ s16 unk32;
|
||||
/* 0x34 */ s16 unk34;
|
||||
/* 0x36 */ s16 unk36;
|
||||
/* 0x38 */ s16 unk38;
|
||||
/* 0x3A */ s16 unk3A;
|
||||
} ActorEnTest20C; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s16 unk_0; // frame?
|
||||
/* 0x2 */ Vec3s unk_2; // scale
|
||||
} struct_80124618; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct ActorInit {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x02 */ u8 type;
|
||||
/* 0x04 */ u32 flags;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef Z64_ANIMATION_LEGACY_H
|
||||
#define Z64_ANIMATION_LEGACY_H
|
||||
#ifndef Z64ANIMATION_LEGACY_H
|
||||
#define Z64ANIMATION_LEGACY_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "z64math.h"
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "unk.h"
|
||||
|
||||
struct Actor;
|
||||
struct PlayState;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ struct Actor* actor; // Attached actor
|
||||
|
@ -427,5 +428,250 @@ typedef enum {
|
|||
#define DMG_UNK_0x1E (1 << 0x1E)
|
||||
#define DMG_POWDER_KEG (1 << 0x1F)
|
||||
|
||||
typedef struct DamageTable {
|
||||
/* 0x00 */ u8 attack[32];
|
||||
} DamageTable; // size = 0x20
|
||||
|
||||
typedef struct CollisionCheckInfoInit {
|
||||
/* 0x0 */ u8 health;
|
||||
/* 0x2 */ s16 cylRadius;
|
||||
/* 0x4 */ s16 cylHeight;
|
||||
/* 0x6 */ u8 mass;
|
||||
} CollisionCheckInfoInit; // size = 0x8
|
||||
|
||||
typedef struct CollisionCheckInfoInit2 {
|
||||
/* 0x0 */ u8 health;
|
||||
/* 0x2 */ s16 cylRadius;
|
||||
/* 0x4 */ s16 cylHeight;
|
||||
/* 0x6 */ s16 cylYShift;
|
||||
/* 0x8 */ u8 mass;
|
||||
} CollisionCheckInfoInit2; // size = 0xC
|
||||
|
||||
typedef struct CollisionCheckInfo {
|
||||
/* 0x00 */ DamageTable* damageTable;
|
||||
/* 0x04 */ Vec3f displacement;
|
||||
/* 0x10 */ s16 cylRadius;
|
||||
/* 0x12 */ s16 cylHeight;
|
||||
/* 0x14 */ s16 cylYShift;
|
||||
/* 0x16 */ u8 mass;
|
||||
/* 0x17 */ u8 health;
|
||||
/* 0x18 */ u8 damage;
|
||||
/* 0x19 */ u8 damageEffect;
|
||||
/* 0x1A */ u8 atHitEffect;
|
||||
/* 0x1B */ u8 acHitEffect;
|
||||
} CollisionCheckInfo; // size = 0x1C
|
||||
|
||||
|
||||
DamageTable* DamageTable_Get(s32 index);
|
||||
void DamageTable_Clear(DamageTable* damageTable);
|
||||
f32 CollisionCheck_GetDamageAndEffectOnBumper(Collider* at, ColliderInfo* atInfo, Collider* ac, ColliderInfo* acInfo, u32* effect);
|
||||
f32 CollisionCheck_ApplyBumperDefense(f32 damage, ColliderInfo* ac);
|
||||
s32 CollisionCheck_GetToucherDamage(Collider* at, ColliderInfo* atInfo, Collider* ac, ColliderInfo* acInfo);
|
||||
s32 Collider_InitBase(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_DestroyBase(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_SetBaseToActor(struct PlayState* play, Collider* collider, ColliderInitToActor* src);
|
||||
s32 Collider_SetBaseType1(struct PlayState* play, Collider* collider, struct Actor* actor, ColliderInitType1* src);
|
||||
s32 Collider_SetBase(struct PlayState* play, Collider* collider, struct Actor* actor, ColliderInit* src);
|
||||
void Collider_ResetATBase(struct PlayState* play, Collider* collider);
|
||||
void Collider_ResetACBase(struct PlayState* play, Collider* collider);
|
||||
void Collider_ResetOCBase(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_InitTouch(struct PlayState* play, ColliderTouch* touch);
|
||||
s32 Collider_DestroyTouch(struct PlayState* play, ColliderTouch* touch);
|
||||
s32 Collider_SetTouch(struct PlayState* play, ColliderTouch* touch, ColliderTouchInit* src);
|
||||
void Collider_ResetATInfoUnk(struct PlayState* play, ColliderInfo* info);
|
||||
s32 Collider_InitBump(struct PlayState* play, ColliderBump* bump);
|
||||
s32 Collider_DestroyBump(struct PlayState* play, ColliderBump* bump);
|
||||
s32 Collider_SetBump(struct PlayState* play, ColliderBump* bump, ColliderBumpInit* src);
|
||||
s32 Collider_InitInfo(struct PlayState* play, ColliderInfo* info);
|
||||
s32 Collider_DestroyInfo(struct PlayState* play, ColliderInfo* info);
|
||||
s32 Collider_SetInfo(struct PlayState* play, ColliderInfo* info, ColliderInfoInit* src);
|
||||
void Collider_ResetATInfo(struct PlayState* play, ColliderInfo* info);
|
||||
void Collider_ResetACInfo(struct PlayState* play, ColliderInfo* info);
|
||||
void Collider_ResetOCInfo(struct PlayState* play, ColliderInfo* info);
|
||||
s32 Collider_InitJntSphElementDim(struct PlayState* play, ColliderJntSphElementDim* dim);
|
||||
s32 Collider_DestroyJntSphElementDim(struct PlayState* play, ColliderJntSphElementDim* dim);
|
||||
s32 Collider_SetJntSphElementDim(struct PlayState* play, ColliderJntSphElementDim* dest, ColliderJntSphElementDimInit* src);
|
||||
s32 Collider_InitJntSphElement(struct PlayState* play, ColliderJntSphElement* element);
|
||||
s32 Collider_DestroyJntSphElement(struct PlayState* play, ColliderJntSphElement* element);
|
||||
s32 Collider_SetJntSphElement(struct PlayState* play, ColliderJntSphElement* dest, ColliderJntSphElementInit* src);
|
||||
s32 Collider_ResetJntSphElementAT(struct PlayState* play, ColliderJntSphElement* collider);
|
||||
s32 Collider_ResetJntSphElementAC(struct PlayState* play, ColliderJntSphElement* collider);
|
||||
s32 Collider_ResetJntSphElementOC(struct PlayState* play, ColliderJntSphElement* collider);
|
||||
s32 Collider_InitJntSph(struct PlayState* play, ColliderJntSph* collider);
|
||||
s32 Collider_FreeJntSph(struct PlayState* play, ColliderJntSph* collider);
|
||||
s32 Collider_DestroyJntSph(struct PlayState* play, ColliderJntSph* collider);
|
||||
s32 Collider_SetJntSphToActor(struct PlayState* play, ColliderJntSph* collider, ColliderJntSphInitToActor* src);
|
||||
s32 Collider_SetJntSphAllocType1(struct PlayState* play, ColliderJntSph* sphereGroup, struct Actor* actor, ColliderJntSphInitType1* src);
|
||||
s32 Collider_SetJntSph(struct PlayState* play, ColliderJntSph* sphereGroup, struct Actor* actor, ColliderJntSphInit* src, ColliderJntSphElement* elements);
|
||||
s32 Collider_InitAndSetJntSph(struct PlayState* play, ColliderJntSph* sphereGroup, struct Actor* actor, ColliderJntSphInit* src, ColliderJntSphElement* elements);
|
||||
s32 Collider_ResetJntSphAT(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetJntSphAC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetJntSphOC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_InitCylinderDim(struct PlayState* play, Cylinder16* dim);
|
||||
s32 Collider_DestroyCylinderDim(struct PlayState* play, Cylinder16* dim);
|
||||
s32 Collider_SetCylinderDim(struct PlayState* play, Cylinder16* dim, Cylinder16* src);
|
||||
s32 Collider_InitCylinder(struct PlayState* play, ColliderCylinder* collider);
|
||||
s32 Collider_DestroyCylinder(struct PlayState* play, ColliderCylinder* collider);
|
||||
s32 Collider_SetCylinderToActor(struct PlayState* play, ColliderCylinder* collider, ColliderCylinderInitToActor* src);
|
||||
s32 Collider_SetCylinderType1(struct PlayState* play, ColliderCylinder* collider, struct Actor* actor, ColliderCylinderInitType1* src);
|
||||
s32 Collider_SetCylinder(struct PlayState* play, ColliderCylinder* collider, struct Actor* actor, ColliderCylinderInit* src);
|
||||
s32 Collider_InitAndSetCylinder(struct PlayState* play, ColliderCylinder* collider, struct Actor* actor, ColliderCylinderInit* src);
|
||||
s32 Collider_ResetCylinderAT(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetCylinderAC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetCylinderOC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_InitTrisElementDim(struct PlayState* play, TriNorm* dim);
|
||||
s32 Collider_DestroyTrisElementDim(struct PlayState* play, TriNorm* dim);
|
||||
s32 Collider_SetTrisElementDim(struct PlayState* play, TriNorm* dim, ColliderTrisElementDimInit* src);
|
||||
s32 Collider_InitTrisElement(struct PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_DestroyTrisElement(struct PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_SetTrisElement(struct PlayState* play, ColliderTrisElement* element, ColliderTrisElementInit* src);
|
||||
s32 Collider_ResetTrisElementAT(struct PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_ResetTrisElementAC(struct PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_ResetTrisElementOC(struct PlayState* play, ColliderTrisElement* element);
|
||||
s32 Collider_InitTris(struct PlayState* play, ColliderTris* tris);
|
||||
s32 Collider_FreeTris(struct PlayState* play, ColliderTris* tris);
|
||||
s32 Collider_DestroyTris(struct PlayState* play, ColliderTris* tris);
|
||||
s32 Collider_SetTrisAllocType1(struct PlayState* play, ColliderTris* tris, struct Actor* actor, ColliderTrisInitType1* src);
|
||||
s32 Collider_SetTris(struct PlayState* play, ColliderTris* triGroup, struct Actor* actor, ColliderTrisInit* src, ColliderTrisElement* tris);
|
||||
s32 Collider_InitAndSetTris(struct PlayState* play, ColliderTris* tris, struct Actor* actor, ColliderTrisInit* src, ColliderTrisElement* elements);
|
||||
s32 Collider_ResetTrisAT(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetTrisAC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetTrisOC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_InitQuadDim(struct PlayState* play, ColliderQuadDim* dim);
|
||||
s32 Collider_DestroyQuadDim(struct PlayState* play, ColliderQuadDim* dim);
|
||||
s32 Collider_ResetQuadACDist(struct PlayState* play, ColliderQuadDim* dim);
|
||||
void Collider_SetQuadMidpoints(ColliderQuadDim* dim);
|
||||
s32 Collider_SetQuadDim(struct PlayState* play, ColliderQuadDim* dim, ColliderQuadDimInit* init);
|
||||
s32 Collider_InitQuad(struct PlayState* play, ColliderQuad* collider);
|
||||
s32 Collider_DestroyQuad(struct PlayState* play, ColliderQuad* collider);
|
||||
s32 Collider_SetQuadType1(struct PlayState* play, ColliderQuad* collider, struct Actor* actor, ColliderQuadInitType1* src);
|
||||
s32 Collider_SetQuad(struct PlayState* play, ColliderQuad* collider, struct Actor* actor, ColliderQuadInit* src);
|
||||
s32 Collider_InitAndSetQuad(struct PlayState* play, ColliderQuad* collider, struct Actor* actor, ColliderQuadInit* src);
|
||||
s32 Collider_ResetQuadAT(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetQuadAC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetQuadOC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_QuadSetNearestAC(struct PlayState* play, ColliderQuad* quad, Vec3f* hitPos);
|
||||
s32 Collider_InitSphere(struct PlayState* play, ColliderSphere* collider);
|
||||
s32 Collider_DestroySphere(struct PlayState* play, ColliderSphere* collider);
|
||||
s32 Collider_SetSphere(struct PlayState* play, ColliderSphere* collider, struct Actor* actor, ColliderSphereInit* src);
|
||||
s32 Collider_InitAndSetSphere(struct PlayState* play, ColliderSphere* collider, struct Actor* actor, ColliderSphereInit* src);
|
||||
s32 Collider_ResetSphereAT(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetSphereAC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_ResetSphereOC(struct PlayState* play, Collider* collider);
|
||||
s32 Collider_InitLine(struct PlayState* play, OcLine* line);
|
||||
s32 Collider_DestroyLine(struct PlayState* play, OcLine* line);
|
||||
s32 Collider_SetLinePoints(struct PlayState* play, OcLine* line, Vec3f* a, Vec3f* b);
|
||||
s32 Collider_SetLine(struct PlayState* play, OcLine* line, OcLine* src);
|
||||
s32 Collider_ResetLineOC(struct PlayState* play, OcLine* line);
|
||||
void CollisionCheck_InitContext(struct PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_DestroyContext(struct PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_ClearContext(struct PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_EnableSAC(struct PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_DisableSAC(struct PlayState* play, CollisionCheckContext* colCtxt);
|
||||
s32 CollisionCheck_SetAT(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
s32 CollisionCheck_SetAT_SAC(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider, s32 index);
|
||||
s32 CollisionCheck_SetAC(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
s32 CollisionCheck_SetAC_SAC(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider, s32 index);
|
||||
s32 CollisionCheck_SetOC(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
s32 CollisionCheck_SetOC_SAC(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider, s32 index);
|
||||
s32 CollisionCheck_SetOCLine(struct PlayState* play, CollisionCheckContext* colCtxt, OcLine* line);
|
||||
s32 CollisionCheck_SkipTouch(ColliderInfo* info);
|
||||
s32 CollisionCheck_SkipBump(ColliderInfo* info);
|
||||
s32 CollisionCheck_NoSharedFlags(ColliderInfo* toucher, ColliderInfo* bumper);
|
||||
void CollisionCheck_NoBlood(struct PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_BlueBlood(struct PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_GreenBlood(struct PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_WaterBurst(struct PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_RedBlood(struct PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_RedBloodUnused(struct PlayState* play, Collider* collider, Vec3f* v);
|
||||
void CollisionCheck_HitSolid(struct PlayState* play, ColliderInfo* info, Collider* collider, Vec3f* hitPos);
|
||||
s32 CollisionCheck_SwordHitAudio(Collider* at, ColliderInfo* acInfo);
|
||||
void CollisionCheck_HitEffects(struct PlayState* play, Collider* at, ColliderInfo* atInfo, Collider* ac, ColliderInfo* acInfo, Vec3f* hitPos);
|
||||
void CollisionCheck_SetBounce(Collider* at, Collider* ac);
|
||||
s32 CollisionCheck_SetATvsAC(struct PlayState* play, Collider* at, ColliderInfo* atInfo, Vec3f* atPos, Collider* ac, ColliderInfo* acInfo, Vec3f* acPos, Vec3f* hitPos);
|
||||
void CollisionCheck_TrisAvgPoint(ColliderTrisElement* tri, Vec3f* avg);
|
||||
void CollisionCheck_QuadAvgPoint(ColliderQuad* quad, Vec3f* avg);
|
||||
void CollisionCheck_AC_JntSphVsJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_JntSphVsCyl(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_JntSphVsTris(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_JntSphVsQuad(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_JntSphVsSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsCyl(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsTris(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsQuad(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_CylVsSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsCyl(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsTris(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsQuad(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_TrisVsSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsCyl(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsTris(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsQuad(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_QuadVsSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsCylinder(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsTris(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsQuad(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_AC_SphereVsSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT, Collider* colAC);
|
||||
void CollisionCheck_SetJntSphHitFX(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetCylHitFX(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetTrisHitFX(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetQuadHitFX(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetSphereHitFX(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_SetHitEffects(struct PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_AC(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT);
|
||||
void CollisionCheck_AT(struct PlayState* play, CollisionCheckContext* colCtxt);
|
||||
s32 CollisionCheck_GetMassType(u8 mass);
|
||||
void CollisionCheck_SetOCvsOC(struct PlayState* play, Collider* left, ColliderInfo* leftInfo, Vec3f* leftPos, Collider* right, ColliderInfo* rightInfo, Vec3f* rightPos, f32 overlap);
|
||||
void CollisionCheck_OC_JntSphVsJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_JntSphVsCyl(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_JntSphVsSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_CylVsJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_CylVsCyl(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_CylVsSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_SphereVsJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_SphereVsCyl(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
void CollisionCheck_OC_SphereVsSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
|
||||
s32 CollisionCheck_SkipOC(Collider* collider);
|
||||
s32 CollisionCheck_Incompatible(Collider* left, Collider* right);
|
||||
void CollisionCheck_OC(struct PlayState* play, CollisionCheckContext* colCtxt);
|
||||
void CollisionCheck_InitInfo(CollisionCheckInfo* info);
|
||||
void CollisionCheck_ResetDamage(CollisionCheckInfo* info);
|
||||
void CollisionCheck_SetInfoNoDamageTable(CollisionCheckInfo* info, CollisionCheckInfoInit* init);
|
||||
void CollisionCheck_SetInfo(CollisionCheckInfo* info, DamageTable* damageTable, CollisionCheckInfoInit* init);
|
||||
void CollisionCheck_SetInfo2(CollisionCheckInfo* info, DamageTable* damageTable, CollisionCheckInfoInit2* init);
|
||||
void CollisionCheck_SetInfoGetDamageTable(CollisionCheckInfo* info, s32 index, CollisionCheckInfoInit2* init);
|
||||
void CollisionCheck_ApplyDamage(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider, ColliderInfo* info);
|
||||
void CollisionCheck_ApplyDamageJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_ApplyDamageCyl(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_ApplyDamageTris(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_ApplyDamageQuad(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_ApplyDamageSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* collider);
|
||||
void CollisionCheck_Damage(struct PlayState* play, CollisionCheckContext* colCtxt);
|
||||
s32 CollisionCheck_LineOC_JntSph(struct PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, Vec3f* a, Vec3f* b);
|
||||
s32 CollisionCheck_LineOC_Cyl(struct PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, Vec3f* a, Vec3f* b);
|
||||
s32 CollisionCheck_LineOC_Sphere(struct PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, Vec3f* a, Vec3f* b);
|
||||
s32 CollisionCheck_LineOC(struct PlayState* play, CollisionCheckContext* colChkCtx, Vec3f* a, Vec3f* b, struct Actor** exclusions, s32 numExclusions);
|
||||
s32 CollisionCheck_LineOCCheckAll(struct PlayState* play, CollisionCheckContext* colCtxt, Vec3f* a, Vec3f* b);
|
||||
s32 CollisionCheck_LineOCCheck(struct PlayState* play, CollisionCheckContext* colCtxt, Vec3f* a, Vec3f* b, struct Actor** exclusions, s32 numExclusions);
|
||||
void Collider_UpdateCylinder(struct Actor* actor, ColliderCylinder* collider);
|
||||
void Collider_SetCylinderPosition(ColliderCylinder* collider, Vec3s* pos);
|
||||
void Collider_SetQuadVertices(ColliderQuad* collider, Vec3f* a, Vec3f* b, Vec3f* c, Vec3f* d);
|
||||
void Collider_SetTrisVertices(ColliderTris* collider, s32 index, Vec3f* a, Vec3f* b, Vec3f* c);
|
||||
void Collider_SetTrisDim(struct PlayState* play, ColliderTris* collider, s32 index, ColliderTrisElementDimInit* init);
|
||||
void Collider_UpdateSpheres(s32 limb, ColliderJntSph* collider);
|
||||
void Collider_UpdateSpheresElement(ColliderJntSph* collider, s32 index, struct Actor* actor);
|
||||
void Collider_UpdateSphere(s32 limb, ColliderSphere* collider);
|
||||
void CollisionCheck_SpawnRedBlood(struct PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnWaterDroplets(struct PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnShieldParticles(struct PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnShieldParticlesMetal(struct PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnShieldParticlesMetalSound(struct PlayState* play, Vec3f* v, Vec3f* pos);
|
||||
void CollisionCheck_SpawnShieldParticlesMetal2(struct PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnShieldParticlesWood(struct PlayState* play, Vec3f* v, Vec3f* pos);
|
||||
s32 CollisionCheck_CylSideVsLineSeg(f32 radius, f32 height, f32 offset, Vec3f* actorPos, Vec3f* itemPos, Vec3f* itemProjPos, Vec3f* out1, Vec3f* out2);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef Z64_GAME_H
|
||||
#define Z64_GAME_H
|
||||
#ifndef Z64GAME_H
|
||||
#define Z64GAME_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "libc/stdbool.h"
|
||||
|
|
|
@ -4,6 +4,15 @@
|
|||
#include "ultra64.h"
|
||||
#include "z64view.h"
|
||||
|
||||
typedef enum {
|
||||
/* -1 */ EQUIP_SLOT_NONE = -1,
|
||||
/* 0 */ EQUIP_SLOT_B,
|
||||
/* 1 */ EQUIP_SLOT_C_LEFT,
|
||||
/* 2 */ EQUIP_SLOT_C_DOWN,
|
||||
/* 3 */ EQUIP_SLOT_C_RIGHT,
|
||||
/* 4 */ EQUIP_SLOT_A
|
||||
} EquipSlot;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ A_BTN_STATE_0,
|
||||
/* 1 */ A_BTN_STATE_1,
|
||||
|
@ -213,4 +222,49 @@ typedef struct {
|
|||
/* 0x344 */ size_t storySize;
|
||||
} InterfaceContext; // size = 0x348
|
||||
|
||||
Gfx* Gfx_DrawTexRectRGBA16(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
Gfx* Gfx_DrawTexRectIA8(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
Gfx* Gfx_DrawTexRectI8(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
Gfx* Gfx_DrawTexQuadIA8(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, u16 point);
|
||||
Gfx* Gfx_DrawTexQuad4b(Gfx* gfx, TexturePtr texture, s32 fmt, s16 textureWidth, s16 textureHeight, u16 point);
|
||||
|
||||
void Interface_StartTimer(s16 timerId, s16 seconds);
|
||||
void Interface_StartPostmanTimer(s16 seconds, s16 bunnyHoodState);
|
||||
void Interface_NewDay(struct PlayState* play, s32 day);
|
||||
void Interface_SetHudVisibility(u16 hudVisibility);
|
||||
void Interface_UpdateButtonsPart2(struct PlayState* play);
|
||||
void Interface_SetSceneRestrictions(struct PlayState* play);
|
||||
void Interface_InitMinigame(struct PlayState* play);
|
||||
void Interface_LoadItemIconImpl(struct PlayState* play, u8 btn);
|
||||
void Interface_LoadItemIcon(struct PlayState* play, u8 btn);
|
||||
void Interface_UpdateButtonsAlt(struct PlayState* play, u16 flag);
|
||||
u8 Item_Give(struct PlayState* play, u8 item);
|
||||
u8 Item_CheckObtainability(u8 item);
|
||||
void Inventory_DeleteItem(s16 item, s16 slot);
|
||||
void Inventory_UnequipItem(s16 item);
|
||||
s32 Inventory_ReplaceItem(struct PlayState* play, u8 oldItem, u8 newItem);
|
||||
void Inventory_UpdateDeitySwordEquip(struct PlayState* play);
|
||||
s32 Inventory_HasEmptyBottle(void);
|
||||
s32 Inventory_HasItemInBottle(u8 item);
|
||||
void Inventory_UpdateBottleItem(struct PlayState* play, u8 item, u8 btn);
|
||||
s32 Inventory_ConsumeFairy(struct PlayState* play);
|
||||
void Inventory_UpdateItem(struct PlayState* play, s16 slot, s16 item);
|
||||
void func_8011552C(struct PlayState* play, u16 arg1);
|
||||
void func_801155B4(struct PlayState* play, s16 arg1);
|
||||
void func_80115764(struct PlayState* play, UNK_TYPE arg1);
|
||||
void func_80115844(struct PlayState* play, s16 doAction);
|
||||
s32 Health_ChangeBy(struct PlayState* play, s16 healthChange);
|
||||
void Health_GiveHearts(s16 hearts);
|
||||
void Rupees_ChangeBy(s16 rupeeChange);
|
||||
void Inventory_ChangeAmmo(s16 item, s16 ammoChange);
|
||||
void Magic_Add(struct PlayState* play, s16 magicToAdd);
|
||||
void Magic_Reset(struct PlayState* play);
|
||||
s32 Magic_Consume(struct PlayState* play, s16 magicToConsume, s16 type);
|
||||
void Interface_SetPerfectLetters(struct PlayState* play, s16 perfectLettersType);
|
||||
void Interface_StartMoonCrash(struct PlayState* play);
|
||||
void Interface_Draw(struct PlayState* play);
|
||||
void Interface_Update(struct PlayState* play);
|
||||
void Interface_Destroy(struct PlayState* play);
|
||||
void Interface_Init(struct PlayState* play);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -6,6 +6,9 @@
|
|||
#include "z64cutscene.h"
|
||||
#include "unk.h"
|
||||
|
||||
struct GameState;
|
||||
struct PlayState;
|
||||
|
||||
#define SPAWN_ROT_FLAGS(rotation, flags) (((rotation) << 7) | (flags))
|
||||
|
||||
typedef struct {
|
||||
|
@ -459,6 +462,16 @@ typedef struct {
|
|||
/* 0x8 */ u8* textureIndexList;
|
||||
} AnimatedMatTexCycleParams; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s8 segment;
|
||||
/* 0x2 */ s16 type;
|
||||
/* 0x4 */ void* params;
|
||||
} AnimatedMaterial; // size = 0x8
|
||||
|
||||
// TODO: ZAPD
|
||||
typedef RoomShapeCullableEntry PolygonDlist2;
|
||||
typedef RoomShapeCullable PolygonType2;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ void* spaceStart;
|
||||
/* 0x004 */ void* spaceEnd;
|
||||
|
@ -885,4 +898,89 @@ typedef enum {
|
|||
#define SCENE_CMD_MISC_SETTINGS SCENE_CMD_SET_REGION_VISITED
|
||||
#define SCENE_CMD_CUTSCENE_LIST SCENE_CMD_CUTSCENE_SCRIPT_LIST
|
||||
|
||||
s32 Object_Spawn(ObjectContext* objectCtx, s16 id);
|
||||
void Object_InitBank(struct GameState* gameState, ObjectContext* objectCtx);
|
||||
void Object_UpdateBank(ObjectContext* objectCtx);
|
||||
s32 Object_GetIndex(ObjectContext* objectCtx, s16 objectId);
|
||||
s32 Object_IsLoaded(ObjectContext* objectCtx, s32 index);
|
||||
void Object_LoadAll(ObjectContext* objectCtx);
|
||||
void* func_8012F73C(ObjectContext* objectCtx, s32 iParm2, s16 id);
|
||||
void Scene_CommandSpawnList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandActorList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandActorCutsceneCamList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandCollisionHeader(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandRoomList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandEntranceList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandSpecialFiles(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandRoomBehavior(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandMesh(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandObjectList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandLightList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandPathList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandTransiActorList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Door_InitContext(struct GameState* gameState, DoorContext* doorCtx);
|
||||
void Scene_CommandEnvLightSettings(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_LoadAreaTextures(struct PlayState* play, s32 fileIndex);
|
||||
void Scene_CommandSkyboxSettings(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandSkyboxDisables(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandTimeSettings(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandWindSettings(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandExitList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_Command09(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandSoundSettings(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandEchoSetting(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandAltHeaderList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandCutsceneScriptList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandCutsceneList(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandMiniMap(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_Command1D(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandMiniMapCompassInfo(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandSetRegionVisitedFlag(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_CommandAnimatedMaterials(struct PlayState* play, SceneCmd* cmd);
|
||||
void Scene_SetExitFade(struct PlayState* play);
|
||||
s32 Scene_ExecuteCommands(struct PlayState* play, SceneCmd* sceneCmd);
|
||||
u16 Entrance_Create(s32 scene, s32 spawn, s32 layer);
|
||||
u16 Entrance_CreateFromSpawn(s32 spawn);
|
||||
void Scene_Draw(struct PlayState* play);
|
||||
void Scene_DrawConfigDefault(struct PlayState* play);
|
||||
Gfx* AnimatedMat_TexScroll(struct PlayState* play, AnimatedMatTexScrollParams* params);
|
||||
void AnimatedMat_DrawTexScroll(struct PlayState* play, s32 segment, void* params);
|
||||
Gfx* AnimatedMat_TwoLayerTexScroll(struct PlayState* play, AnimatedMatTexScrollParams* params);
|
||||
void AnimatedMat_DrawTwoTexScroll(struct PlayState* play, s32 segment, void* params);
|
||||
void AnimatedMat_SetColor(struct PlayState* play, s32 segment, F3DPrimColor* primColorResult, F3DEnvColor* envColor);
|
||||
void AnimatedMat_DrawColor(struct PlayState* play, s32 segment, void* params);
|
||||
s32 AnimatedMat_Lerp(s32 min, s32 max, f32 norm);
|
||||
void AnimatedMat_DrawColorLerp(struct PlayState* play, s32 segment, void* params);
|
||||
f32 Scene_LagrangeInterp(s32 n, f32 x[], f32 fx[], f32 xp);
|
||||
u8 Scene_LagrangeInterpColor(s32 n, f32 x[], f32 fx[], f32 xp);
|
||||
void AnimatedMat_DrawColorNonLinearInterp(struct PlayState* play, s32 segment, void* params);
|
||||
void AnimatedMat_DrawTexCycle(struct PlayState* play, s32 segment, void* params);
|
||||
void AnimatedMat_DrawMain(struct PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio, u32 step, u32 flags);
|
||||
void AnimatedMat_Draw(struct PlayState* play, AnimatedMaterial* matAnim);
|
||||
void AnimatedMat_DrawOpa(struct PlayState* play, AnimatedMaterial* matAnim);
|
||||
void AnimatedMat_DrawXlu(struct PlayState* play, AnimatedMaterial* matAnim);
|
||||
void AnimatedMat_DrawAlpha(struct PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio);
|
||||
void AnimatedMat_DrawAlphaOpa(struct PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio);
|
||||
void AnimatedMat_DrawAlphaXlu(struct PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio);
|
||||
void AnimatedMat_DrawStep(struct PlayState* play, AnimatedMaterial* matAnim, u32 step);
|
||||
void AnimatedMat_DrawStepOpa(struct PlayState* play, AnimatedMaterial* matAnim, u32 step);
|
||||
void AnimatedMat_DrawStepXlu(struct PlayState* play, AnimatedMaterial* matAnim, u32 step);
|
||||
void AnimatedMat_DrawAlphaStep(struct PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio, u32 step);
|
||||
void AnimatedMat_DrawAlphaStepOpa(struct PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio, u32 step);
|
||||
void AnimatedMat_DrawAlphaStepXlu(struct PlayState* play, AnimatedMaterial* matAnim, f32 alphaRatio, u32 step);
|
||||
void Scene_DrawConfigMatAnim(struct PlayState* play);
|
||||
void Scene_DrawConfig3(struct PlayState* play);
|
||||
void Scene_DrawConfig4(struct PlayState* play);
|
||||
void Scene_DrawConfigDoNothing(struct PlayState* play);
|
||||
void Scene_SetRenderModeXlu(struct PlayState* play, s32 index, u32 flags);
|
||||
void Scene_SetCullFlag(struct PlayState* play, s32 index, u32 flags);
|
||||
void Scene_DrawConfig5(struct PlayState* play);
|
||||
void Scene_DrawConfigMatAnimManualStep(struct PlayState* play);
|
||||
void Scene_DrawConfigGreatBayTemple(struct PlayState* play);
|
||||
EntranceTableEntry* Entrance_GetTableEntry(u16 entrance);
|
||||
s32 Entrance_GetSceneId(u16 entrance);
|
||||
s32 Entrance_GetSceneIdAbsolute(u16 entrance);
|
||||
s32 Entrance_GetSpawnNum(u16 entrance);
|
||||
s32 Entrance_GetTransitionFlags(u16 entrance);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
#ifndef Z64SOUND_SOURCE_H
|
||||
#define Z64SOUND_SOURCE_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "z64math.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 countdown;
|
||||
/* 0x01 */ u8 playSfxEachFrame;
|
||||
/* 0x02 */ u16 sfxId;
|
||||
/* 0x04 */ Vec3f worldPos;
|
||||
/* 0x10 */ Vec3f projectedPos;
|
||||
} SoundSource; // size = 0x1C
|
||||
|
||||
#define SOUND_SOURCE_COUNT 16
|
||||
|
||||
void SoundSource_InitAll(struct PlayState* play);
|
||||
void SoundSource_UpdateAll(struct PlayState* play);
|
||||
void SoundSource_PlaySfxAtFixedWorldPos(struct PlayState* play, Vec3f* worldPos, u32 duration, u16 sfxId);
|
||||
void SoundSource_PlaySfxEachFrameAtFixedWorldPos(struct PlayState* play, Vec3f* worldPos, u32 duration, u16 sfxId);
|
||||
|
||||
#endif
|
|
@ -0,0 +1,24 @@
|
|||
#ifndef Z64THREAD_H
|
||||
#define Z64THREAD_H
|
||||
|
||||
#define Z_THREAD_ID_IDLE 1
|
||||
#define Z_THREAD_ID_SLOWLY 2
|
||||
#define Z_THREAD_ID_MAIN 3
|
||||
#define Z_THREAD_ID_GRAPH 4
|
||||
#define Z_THREAD_ID_SCHED 5
|
||||
#define Z_THREAD_ID_FLASHROM 13
|
||||
#define Z_THREAD_ID_DMAMGR 18
|
||||
#define Z_THREAD_ID_IRQMGR 19
|
||||
|
||||
#define Z_PRIORITY_SLOWLY 5
|
||||
#define Z_PRIORITY_GRAPH 9
|
||||
#define Z_PRIORITY_AUDIOMGR 11
|
||||
#define Z_PRIORITY_IDLE 12
|
||||
#define Z_PRIORITY_MAIN 12
|
||||
#define Z_PRIORITY_FLASHROM 13
|
||||
#define Z_PRIORITY_PADMGR 15
|
||||
#define Z_PRIORITY_SCHED 16
|
||||
#define Z_PRIORITY_DMAMGR 17
|
||||
#define Z_PRIORITY_IRQMGR 18
|
||||
|
||||
#endif
|
|
@ -2,6 +2,7 @@
|
|||
#include "global.h"
|
||||
#include "stack.h"
|
||||
#include "stackcheck.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
StackEntry sBootStackInfo;
|
||||
OSThread sIdleThread;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "stack.h"
|
||||
#include "buffers.h"
|
||||
#include "stackcheck.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
u8 D_80096B20 = 1;
|
||||
vu8 gViConfigUseDefault = 1;
|
||||
|
@ -94,10 +95,12 @@ void Idle_InitVideo(void) {
|
|||
D_8009B290 = 2;
|
||||
gViConfigMode = osViModeNtscLan1;
|
||||
break;
|
||||
|
||||
case OS_TV_MPAL:
|
||||
D_8009B290 = 30;
|
||||
gViConfigMode = osViModeMpalLan1;
|
||||
break;
|
||||
|
||||
case OS_TV_PAL:
|
||||
D_8009B290 = 44;
|
||||
gViConfigMode = osViModeFpalLan1;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "global.h"
|
||||
#include "stackcheck.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
vs32 gIrqMgrResetStatus = 0;
|
||||
volatile OSTime sIrqMgrResetTime = 0;
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include "global.h"
|
||||
#include "stack.h"
|
||||
#include "stackcheck.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
u32 sDmaMgrDmaBuffSize = 0x2000;
|
||||
|
||||
|
|
|
@ -12,6 +12,11 @@
|
|||
#include "global.h"
|
||||
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
|
||||
|
||||
typedef struct FlagSetEntry {
|
||||
/* 0x0 */ u8* value;
|
||||
/* 0x4 */ const char* name;
|
||||
} FlagSetEntry; // size = 0x8
|
||||
|
||||
static FlagSetEntry sFlagEntries[] = {
|
||||
{ &gSaveContext.save.saveInfo.weekEventReg[0], "week_event_reg[0]" },
|
||||
{ &gSaveContext.save.saveInfo.weekEventReg[1], "week_event_reg[1]" },
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "stack.h"
|
||||
#include "stackcheck.h"
|
||||
#include "system_heap.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
extern OSMesgQueue sSiIntMsgQ;
|
||||
extern OSMesg sSiIntMsgBuf[1];
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
#include "stackcheck.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
#define RSP_DONE_MSG 667
|
||||
#define RDP_DONE_MSG 668
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "stack.h"
|
||||
#include "stackcheck.h"
|
||||
#include "system_malloc.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
OSMesgQueue sFlashromMesgQueue;
|
||||
OSMesg sFlashromMesg[1];
|
||||
|
|
|
@ -8,9 +8,11 @@
|
|||
*
|
||||
* @note: `argCount` must be set manually, as this file implements no way to configure it.
|
||||
*/
|
||||
|
||||
#include "slowly.h"
|
||||
#include "global.h"
|
||||
#include "stackcheck.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
void Slowly_Main(SlowlyMgr* slowly) {
|
||||
slowly->status |= SLOWLY_STATUS_STARTED;
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
#include "global.h"
|
||||
#include "z64collision_check.h"
|
||||
|
||||
typedef s32 (*ColChkResetFunc)(struct PlayState*, Collider*);
|
||||
typedef void (*ColChkBloodFunc)(struct PlayState*, Collider*, Vec3f*);
|
||||
typedef void (*ColChkApplyFunc)(struct PlayState*, CollisionCheckContext*, Collider*);
|
||||
typedef void (*ColChkVsFunc)(struct PlayState*, CollisionCheckContext*, Collider*, Collider*);
|
||||
typedef s32 (*ColChkLineFunc)(struct PlayState*, CollisionCheckContext*, Collider*, Vec3f*, Vec3f*);
|
||||
|
||||
Vec3f D_801EDE00;
|
||||
Vec3f D_801EDE10;
|
||||
|
|
|
@ -3,6 +3,13 @@
|
|||
#define COLD_RESET 0
|
||||
#define NMI 1
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 resetting;
|
||||
/* 0x04 */ u32 resetCount;
|
||||
/* 0x08 */ OSTime duration;
|
||||
/* 0x10 */ OSTime resetTime;
|
||||
} NmiBuff; // size >= 0x18
|
||||
|
||||
NmiBuff* gNMIBuffer;
|
||||
|
||||
void Nmi_Init(void) {
|
||||
|
|
|
@ -526,7 +526,7 @@ void Scene_CommandSetRegionVisitedFlag(PlayState* play, SceneCmd* cmd) {
|
|||
|
||||
// SceneTableEntry Header Command 0x1A: Material Animations
|
||||
void Scene_CommandAnimatedMaterials(PlayState* play, SceneCmd* cmd) {
|
||||
play->sceneMaterialAnims = (AnimatedMaterial*)Lib_SegmentedToVirtual(cmd->textureAnimations.segment);
|
||||
play->sceneMaterialAnims = Lib_SegmentedToVirtual(cmd->textureAnimations.segment);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -536,38 +536,38 @@ void Scene_SetExitFade(PlayState* play) {
|
|||
play->transitionType = Entrance_GetTransitionFlags(play->nextEntrance) & 0x7F;
|
||||
}
|
||||
|
||||
void (*sSceneCmdHandlers[])(PlayState*, SceneCmd*) = {
|
||||
Scene_CommandSpawnList,
|
||||
Scene_CommandActorList,
|
||||
Scene_CommandActorCutsceneCamList,
|
||||
Scene_CommandCollisionHeader,
|
||||
Scene_CommandRoomList,
|
||||
Scene_CommandWindSettings,
|
||||
Scene_CommandEntranceList,
|
||||
Scene_CommandSpecialFiles,
|
||||
Scene_CommandRoomBehavior,
|
||||
Scene_Command09,
|
||||
Scene_CommandMesh,
|
||||
Scene_CommandObjectList,
|
||||
Scene_CommandLightList,
|
||||
Scene_CommandPathList,
|
||||
Scene_CommandTransiActorList,
|
||||
Scene_CommandEnvLightSettings,
|
||||
Scene_CommandTimeSettings,
|
||||
Scene_CommandSkyboxSettings,
|
||||
Scene_CommandSkyboxDisables,
|
||||
Scene_CommandExitList,
|
||||
NULL,
|
||||
Scene_CommandSoundSettings,
|
||||
Scene_CommandEchoSetting,
|
||||
Scene_CommandCutsceneScriptList,
|
||||
Scene_CommandAltHeaderList,
|
||||
Scene_CommandSetRegionVisitedFlag,
|
||||
Scene_CommandAnimatedMaterials,
|
||||
Scene_CommandCutsceneList,
|
||||
Scene_CommandMiniMap,
|
||||
Scene_Command1D,
|
||||
Scene_CommandMiniMapCompassInfo,
|
||||
void (*sSceneCmdHandlers[SCENE_CMD_MAX])(PlayState*, SceneCmd*) = {
|
||||
Scene_CommandSpawnList, // SCENE_CMD_ID_SPAWN_LIST
|
||||
Scene_CommandActorList, // SCENE_CMD_ID_ACTOR_LIST
|
||||
Scene_CommandActorCutsceneCamList, // SCENE_CMD_ID_ACTOR_CUTSCENE_CAM_LIST
|
||||
Scene_CommandCollisionHeader, // SCENE_CMD_ID_COL_HEADER
|
||||
Scene_CommandRoomList, // SCENE_CMD_ID_ROOM_LIST
|
||||
Scene_CommandWindSettings, // SCENE_CMD_ID_WIND_SETTINGS
|
||||
Scene_CommandEntranceList, // SCENE_CMD_ID_ENTRANCE_LIST
|
||||
Scene_CommandSpecialFiles, // SCENE_CMD_ID_SPECIAL_FILES
|
||||
Scene_CommandRoomBehavior, // SCENE_CMD_ID_ROOM_BEHAVIOR
|
||||
Scene_Command09, // SCENE_CMD_ID_UNK_09
|
||||
Scene_CommandMesh, // SCENE_CMD_ID_ROOM_SHAPE
|
||||
Scene_CommandObjectList, // SCENE_CMD_ID_OBJECT_LIST
|
||||
Scene_CommandLightList, // SCENE_CMD_ID_LIGHT_LIST
|
||||
Scene_CommandPathList, // SCENE_CMD_ID_PATH_LIST
|
||||
Scene_CommandTransiActorList, // SCENE_CMD_ID_TRANSI_ACTOR_LIST
|
||||
Scene_CommandEnvLightSettings, // SCENE_CMD_ID_ENV_LIGHT_SETTINGS
|
||||
Scene_CommandTimeSettings, // SCENE_CMD_ID_TIME_SETTINGS
|
||||
Scene_CommandSkyboxSettings, // SCENE_CMD_ID_SKYBOX_SETTINGS
|
||||
Scene_CommandSkyboxDisables, // SCENE_CMD_ID_SKYBOX_DISABLES
|
||||
Scene_CommandExitList, // SCENE_CMD_ID_EXIT_LIST
|
||||
NULL, // SCENE_CMD_ID_END
|
||||
Scene_CommandSoundSettings, // SCENE_CMD_ID_SOUND_SETTINGS
|
||||
Scene_CommandEchoSetting, // SCENE_CMD_ID_ECHO_SETTINGS
|
||||
Scene_CommandCutsceneScriptList, // SCENE_CMD_ID_CUTSCENE_SCRIPT_LIST
|
||||
Scene_CommandAltHeaderList, // SCENE_CMD_ID_ALTERNATE_HEADER_LIST
|
||||
Scene_CommandSetRegionVisitedFlag, // SCENE_CMD_ID_SET_REGION_VISITED
|
||||
Scene_CommandAnimatedMaterials, // SCENE_CMD_ID_ANIMATED_MATERIAL_LIST
|
||||
Scene_CommandCutsceneList, // SCENE_CMD_ID_ACTOR_CUTSCENE_LIST
|
||||
Scene_CommandMiniMap, // SCENE_CMD_ID_MINIMAP_INFO
|
||||
Scene_Command1D, // SCENE_CMD_ID_UNUSED_1D
|
||||
Scene_CommandMiniMapCompassInfo, // SCENE_CMD_ID_MINIMAP_COMPASS_ICON_INFO
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
#include "global.h"
|
||||
#include "z64sound_source.h"
|
||||
|
||||
void SoundSource_InitAll(PlayState* play) {
|
||||
SoundSource* sources = &play->soundSources[0];
|
||||
s32 i;
|
||||
|
||||
// clang-format off
|
||||
for (i = 0; i < ARRAY_COUNT(play->soundSources); i++) { sources[i].countdown = 0; }
|
||||
for (i = 0; i < SOUND_SOURCE_COUNT; i++) { sources[i].countdown = 0; }
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
|
@ -13,7 +14,7 @@ void SoundSource_UpdateAll(PlayState* play) {
|
|||
SoundSource* source = &play->soundSources[0];
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(play->soundSources); i++) {
|
||||
for (i = 0; i < SOUND_SOURCE_COUNT; i++) {
|
||||
if (source->countdown != 0) {
|
||||
if (DECR(source->countdown) == 0) {
|
||||
AudioSfx_StopByPos(&source->projectedPos);
|
||||
|
@ -37,7 +38,7 @@ void SoundSource_Add(PlayState* play, Vec3f* worldPos, u32 duration, u16 sfxId,
|
|||
s32 i;
|
||||
|
||||
source = &play->soundSources[0];
|
||||
for (i = 0; i < ARRAY_COUNT(play->soundSources); i++) {
|
||||
for (i = 0; i < SOUND_SOURCE_COUNT; i++) {
|
||||
if (source->countdown == 0) {
|
||||
break;
|
||||
}
|
||||
|
@ -52,7 +53,7 @@ void SoundSource_Add(PlayState* play, Vec3f* worldPos, u32 duration, u16 sfxId,
|
|||
}
|
||||
|
||||
// If no sound source is available, replace the sound source with the smallest remaining countdown
|
||||
if (i >= ARRAY_COUNT(play->soundSources)) {
|
||||
if (i >= SOUND_SOURCE_COUNT) {
|
||||
source = backupSource;
|
||||
AudioSfx_StopByPos(&source->projectedPos);
|
||||
}
|
||||
|
|
|
@ -903,11 +903,11 @@
|
|||
0x801BB050:("sDebugDisplayLight1","Lights1","",0x24),
|
||||
0x801BB068:("D_801BB068","UNK_TYPE2","",0x2),
|
||||
0x801BB08C:("D_801BB08C","UNK_TYPE1","",0x1),
|
||||
0x801BB090:("D_801BB090","UNK_TYPE4","",0x4),
|
||||
0x801BB094:("D_801BB094","UNK_TYPE1","",0x1),
|
||||
0x801BB0DC:("D_801BB0DC","UNK_TYPE1","",0x1),
|
||||
0x801BB0FC:("D_801BB0FC","UNK_TYPE2","",0x2),
|
||||
0x801BB100:("D_801BB100","UNK_TYPE1","",0x1),
|
||||
0x801BB090:("sDebugTextDrawFlags","UNK_TYPE4","",0x4),
|
||||
0x801BB094:("sDebugTextBuffer","UNK_TYPE1","",0x1),
|
||||
0x801BB0DC:("sDebugTextColors","UNK_TYPE1","",0x1),
|
||||
0x801BB0FC:("sDebugCamTextEntryCount","UNK_TYPE2","",0x2),
|
||||
0x801BB100:("sDebugCamTextColors","UNK_TYPE1","",0x1),
|
||||
0x801BB124:("sCurTextId","UNK_TYPE2","",0x2),
|
||||
0x801BB128:("sCurOcarinaAction","UNK_TYPE2","",0x2),
|
||||
0x801BB12C:("gOpeningEntranceIndex","UNK_TYPE1","",0x1),
|
||||
|
@ -1328,13 +1328,13 @@
|
|||
0x801C212C:("gSceneIdsPerRegion","SceneIdList","[]",0x252),
|
||||
0x801C2380:("sSceneIdsPerTingleMap","u16","[]",0x90),
|
||||
0x801C2410:("gPlayerFormItemRestrictions","UNK_TYPE1","",0x1),
|
||||
0x801C2650:("tatlMessageFiles","RomFile","[2]",0x10),
|
||||
0x801C2650:("naviQuestHintFiles","RomFile","[2]",0x10),
|
||||
0x801C2660:("sceneTextureFiles","RomFile","[9]",0x48),
|
||||
0x801C26A8:("sceneHeaderFuncTable","scene_header_func","[31]",0x7c),
|
||||
0x801C26A8:("sSceneCmdHandlers","scene_header_func","[31]",0x7c),
|
||||
0x801C2730:("gPlayerFormObjectIndices","s16","[5]",0xA),
|
||||
0x801C273C:("gObjectTableSize","ObjectId","",0x4),
|
||||
0x801C2740:("gObjectTable","RomFile","[643]",0x1418),
|
||||
0x801C3B60:("sSceneDrawDefaultDl","Gfx","[11]",0x58),
|
||||
0x801C3B60:("sSceneDrawDefaultDL","Gfx","[11]",0x58),
|
||||
0x801C3BB8:("gSceneProcSceneDrawFuncs","SceneDrawConfigFunc","[8]",0x20),
|
||||
0x801C3BD8:("gSceneProcDrawFuncs","scene_proc_draw_func","[6]",0x18),
|
||||
0x801C3BF0:("D_801C3BF0","Gfx","[4]",0x20),
|
||||
|
|
Loading…
Reference in New Issue