Fix all warnings raised by IDO (#152)

* Fix all warnings raised by IDO, ignore trailing commas

* Set -woff=624,...; keep const in printf functions

* Remove redefined macros in irqmgr.c

* Remove DECR macro & reformat

* Address PR comments from AngheloAlf
This commit is contained in:
Zach Banks
2021-05-18 22:28:04 -04:00
committed by GitHub
parent 7f14659919
commit dea3c8fd79
40 changed files with 130 additions and 130 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ u32 gViConfigFeatures = 0x42;
f32 gViConfigXScale = 1.0f;
f32 gViConfigYScale = 1.0f;
void Idle_ClearMemory(const void* begin, const void* end) {
void Idle_ClearMemory(void* begin, void* end) {
if (begin < end) {
bzero(begin, (s32)(int)end - (int)begin);
}
-5
View File
@@ -1,11 +1,6 @@
#include <ultra64.h>
#include <global.h>
// TODO move out
#define OS_CLOCK_RATE 62500000LL
#define OS_CPU_COUNTER (OS_CLOCK_RATE * 3 / 4)
#define OS_USEC_TO_CYCLES(n) (((u64)(n) * (OS_CPU_COUNTER / 15625LL)) / (1000000LL / 15625LL))
vs32 gIrqMgrResetStatus = 0;
volatile OSTime sIrqMgrResetTime = 0;
volatile OSTime sIrqMgrRetraceTime = 0;
+1 -1
View File
@@ -883,7 +883,7 @@ void Fault_HangupFaultClient(const char* arg0, char* arg1) {
void Fault_AddHungupAndCrashImpl(const char* arg0, char* arg1) {
FaultClient client;
char padd[4];
Fault_AddClient(&client, (fault_client_func)Fault_HangupFaultClient, arg0, arg1);
Fault_AddClient(&client, (fault_client_func)Fault_HangupFaultClient, (void*)arg0, arg1);
*(u32*)0x11111111 = 0; // trigger an exception
}
+1 -1
View File
@@ -140,7 +140,7 @@ void FaultDrawer_FillScreen() {
#pragma GLOBAL_ASM("./asm/non_matchings/boot/fault_drawer/FaultDrawer_FormatStringFunc.asm")
void FaultDrawer_VPrintf(char* str, char* args) { // va_list
void FaultDrawer_VPrintf(const char* str, char* args) { // va_list
_Printf((printf_func)FaultDrawer_FormatStringFunc, sFaultDrawContext, str, args);
}
+4 -8
View File
@@ -1,10 +1,6 @@
#include <ultra64.h>
#include <global.h>
// From OOT
#define ABS(x) ((x) < 0 ? -(x) : (x))
#define DECR(x) ((x) == 0 ? 0 : ((x) -= 1))
void Actor_PrintLists(ActorContext* actorCtx) {
ActorListEntry* actorList = &actorCtx->actorList[0];
Actor* actor;
@@ -526,7 +522,7 @@ s32 Actor_IsActorFacedByActor(Actor* actor, Actor* other, s16 tolerance) {
angle = Actor_YawBetweenActors(actor, other) + 0x8000;
dist = angle - other->shape.rot.y;
if (ABS(dist) < tolerance) {
if (ABS_ALT(dist) < tolerance) {
return 1;
}
return 0;
@@ -536,7 +532,7 @@ s32 Actor_IsActorFacingLink(Actor* actor, s16 angle) {
s16 dist;
dist = actor->yawTowardsPlayer - actor->shape.rot.y;
if (ABS(dist) < angle) {
if (ABS_ALT(dist) < angle) {
return 1;
}
return 0;
@@ -546,7 +542,7 @@ s32 Actor_IsActorFacingActor(Actor* actor, Actor* other, s16 tolerance) {
s16 dist;
dist = Actor_YawBetweenActors(actor, other) - actor->shape.rot.y;
if (ABS(dist) < tolerance) {
if (ABS_ALT(dist) < tolerance) {
return 1;
}
return 0;
@@ -559,7 +555,7 @@ s32 Actor_IsActorFacingActorAndWithinRange(Actor* actor, Actor* other, f32 range
if (Actor_DistanceBetweenActors(actor, other) < range) {
dist = Actor_YawBetweenActors(actor, other) - actor->shape.rot.y;
if (ABS(dist) < tolerance) {
if (ABS_ALT(dist) < tolerance) {
return 1;
}
}
+1 -1
View File
@@ -162,7 +162,7 @@ void BgCheck_CreateVertexFromVec3f(Vec3s* vertex, Vec3f* vector) {
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C40B4.asm")
f32 func_800C411C(CollisionContext* bgCtxt, CollisionPoly* arg1, s32* arg2, Actor* actor, Vec3f* pos) {
f32 func_800C411C(CollisionContext* bgCtxt, CollisionPoly** arg1, s32* arg2, Actor* actor, Vec3f* pos) {
return func_800C3D50(0, bgCtxt, 2, arg1, arg2, pos, actor, 28, 1.0f, 0);
}
+2 -2
View File
@@ -225,7 +225,7 @@ void EffectSS_UpdateParticle(GlobalContext* ctxt, s32 index) {
particle->pos.y += particle->velocity.y;
particle->pos.z += particle->velocity.z;
(*particle->update)(ctxt, index, particle);
particle->update(ctxt, index, particle);
}
}
@@ -250,7 +250,7 @@ void EffectSS_UpdateAllParticles(GlobalContext* ctxt) {
void EffectSS_DrawParticle(GlobalContext* ctxt, s32 index) {
EffectSs* entry = &EffectSS2Info.data_table[index];
if (entry->draw != 0) {
(*entry->draw)(ctxt, index, entry);
entry->draw(ctxt, index, entry);
}
}
+10 -3
View File
@@ -187,9 +187,16 @@ void Lights_BindDirectional(Lights* lights, LightParams* params, void* unused) {
* available in the Lights group. This is at most 7 slots for a new group, but could be less.
*/
void Lights_BindAll(Lights* lights, LightNode* listHead, Vec3f* refPos, GlobalContext* globalCtx) {
static LightsPosBindFunc posBindFuncs[] = { Lights_BindPoint, Lights_BindDirectional, Lights_BindPoint };
static LightsBindFunc dirBindFuncs[] = { Lights_BindPointWithReference, Lights_BindDirectional,
Lights_BindPointWithReference };
static LightsPosBindFunc posBindFuncs[] = {
Lights_BindPoint,
(LightsPosBindFunc)Lights_BindDirectional,
Lights_BindPoint,
};
static LightsBindFunc dirBindFuncs[] = {
Lights_BindPointWithReference,
(LightsBindFunc)Lights_BindDirectional,
Lights_BindPointWithReference,
};
if (listHead != NULL) {
if ((refPos == NULL) && (lights->enablePosLights == 1)) {
+4 -3
View File
@@ -19,8 +19,9 @@ void SkelAnime_AnimationType4Loaded(GlobalContext* globalCtx, AnimationEntryType
void SkelAnime_AnimationType5Loaded(GlobalContext* globalCtx, AnimationEntryType5* entry);
static AnimationEntryCallback sAnimationLoadDone[] = {
SkelAnime_LinkAnimetionLoaded, SkelAnime_AnimationType1Loaded, SkelAnime_AnimationType2Loaded,
SkelAnime_AnimationType3Loaded, SkelAnime_AnimationType4Loaded, SkelAnime_AnimationType5Loaded,
(AnimationEntryCallback)SkelAnime_LinkAnimetionLoaded, (AnimationEntryCallback)SkelAnime_AnimationType1Loaded,
(AnimationEntryCallback)SkelAnime_AnimationType2Loaded, (AnimationEntryCallback)SkelAnime_AnimationType3Loaded,
(AnimationEntryCallback)SkelAnime_AnimationType4Loaded, (AnimationEntryCallback)SkelAnime_AnimationType5Loaded,
};
s32 D_801F5AB0;
@@ -1240,7 +1241,7 @@ void SkelAnime_ChangeLinkAnim(GlobalContext* globalCtx, SkelAnime* skelAnime, Li
skelAnime->initialFrame = frame;
skelAnime->animCurrentFrame = frame;
skelAnime->animFrameCount = frameCount;
skelAnime->totalFrames = SkelAnime_GetTotalFrames(linkAnimetionEntrySeg);
skelAnime->totalFrames = SkelAnime_GetTotalFrames(&linkAnimetionEntrySeg->genericHeader);
skelAnime->animPlaybackSpeed = playbackSpeed;
}
+2 -2
View File
@@ -113,11 +113,11 @@ s32 func_8013A530(GlobalContext* globalCtx, Actor* actor, s32 flag, Vec3f* pos,
s16 x;
s16 y;
f32 distance;
UNK_TYPE unk1;
CollisionPoly* unk1;
Camera* camera;
Actor* actors[2];
s32 ret = 0;
UNK_TYPE unk2;
u32 unk2;
camera = ACTIVE_CAM;
+1 -1
View File
@@ -62,5 +62,5 @@ void guLookAt(Mtx* m, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f
guLookAtF(mf, xEye, yEye, zEye, xAt, yAt, zAt, xUp, yUp, zUp);
guMtxF2L((MtxF*)mf, m);
guMtxF2L(mf, m);
}
+1 -1
View File
@@ -154,5 +154,5 @@ void guLookAtHilite(Mtx* m, LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 zEye,
guLookAtHiliteF(mf, l, h, xEye, yEye, zEye, xAt, yAt, zAt, xUp, yUp, zUp, xl1, yl1, zl1, xl2, yl2, zl2, hiliteWidth,
hiliteHeight);
guMtxF2L((MtxF*)mf, m);
guMtxF2L(mf, m);
}
+4 -4
View File
@@ -35,11 +35,11 @@
char spaces[] = " ";
char zeroes[] = "00000000000000000000000000000000";
int _Printf(printf_func pfn, void* arg, char* fmt, va_list ap) {
int _Printf(printf_func pfn, void* arg, const char* fmt, va_list ap) {
_Pft x;
x.nchar = 0;
while (1) {
unsigned char* s;
const char* s;
unsigned char c;
unsigned char* t;
@@ -52,11 +52,11 @@ int _Printf(printf_func pfn, void* arg, char* fmt, va_list ap) {
while ((c = *s) != 0 && c != '%') {
s++;
}
_PROUT(fmt, s - fmt);
_PROUT((char*)fmt, s - fmt);
if (c == 0) {
return x.nchar;
}
fmt = (char*)++s;
fmt = ++s;
x.flags = 0;
// TODO the cast isn't necessary because strchr should take it in as const, but it currently doesn't
for (; (t = strchr((char*)fchar, *s)) != NULL; s++) {
@@ -170,7 +170,7 @@ void ArmsHook_Shoot(ArmsHook* this, GlobalContext* globalCtx) {
this->grabbed = NULL;
} else {
if (this->actor.child != NULL) {
f32 sp94 = Actor_DistanceBetweenActors(this, grabbed);
f32 sp94 = Actor_DistanceBetweenActors(&this->actor, grabbed);
f32 sp90 = sqrtf(SQ(this->unk1FC.x) + SQ(this->unk1FC.y) + SQ(this->unk1FC.z));
Math_Vec3f_Diff(&grabbed->world.pos, &this->unk1FC, &this->actor.world.pos);
if (50.0f < (sp94 - sp90)) {
@@ -111,7 +111,7 @@ static InitChainEntry sInitChain[] = {
};
extern Gfx D_06000828[];
extern CollisionHeader* D_06000908;
extern CollisionHeader D_06000908;
s32 BgKin2Fence_CheckHitMask(BgKin2Fence* this) {
ColliderJntSphElement* elements = this->collider.elements;
@@ -149,13 +149,13 @@ void BgKin2Fence_Init(Actor* thisx, GlobalContext* globalCtx) {
BgKin2Fence* this = THIS;
s32 i = 0;
Actor_ProcessInitChain(&this->dyna.actor, &sInitChain);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
BcCheck3_BgActorInit(&this->dyna, 0);
BgCheck3_LoadMesh(globalCtx, &this->dyna, &D_06000908);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->dyna.actor, &sJntSphInit, &this->colliderElements);
Collider_SetJntSph(globalCtx, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderElements);
SysMatrix_SetStateRotationAndTranslation(this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y,
this->dyna.actor.world.pos.z, &this->dyna.actor.shape);
this->dyna.actor.world.pos.z, &this->dyna.actor.shape.rot);
Matrix_Scale(this->dyna.actor.scale.x, this->dyna.actor.scale.y, this->dyna.actor.scale.z, 1);
for (i = 0; i < 4; i++) {
@@ -209,7 +209,7 @@ void BgKin2Fence_HandleMaskCode(BgKin2Fence* this, GlobalContext* globalCtx) {
this->cooldownTimer -= 1;
return;
}
CollisionCheck_SetAC(globalCtx, &globalCtx->colCheckCtx, &this->collider);
CollisionCheck_SetAC(globalCtx, &globalCtx->colCheckCtx, &this->collider.base);
}
}
+6 -6
View File
@@ -33,7 +33,7 @@ void func_80A2E960(SkelAnime* arg0, ActorAnimationEntry* animations, u16 index)
animations += index;
if (animations->frameCount < 0.0f) {
frameCount = SkelAnime_GetFrameCount(animations->animation);
frameCount = SkelAnime_GetFrameCount(&animations->animation->genericHeader);
} else {
frameCount = animations->frameCount;
}
@@ -49,7 +49,7 @@ void DmSa_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.targetArrowOffset = 3000.0f;
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 24.0f);
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06013328, NULL, 0, 0, 0);
func_80A2E960(&this->skelAnime, &D_80A2ED00, 0);
func_80A2E960(&this->skelAnime, D_80A2ED00, 0);
Actor_SetScale(&this->actor, 0.01f);
this->actionFunc = DmSa_DoNothing;
}
@@ -68,14 +68,14 @@ void DmSa_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actionFunc(this, globalCtx);
}
s32 func_80A2EB10(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
s32 func_80A2EB10(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor) {
return 0;
}
void func_80A2EB2C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
void func_80A2EB2C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor) {
}
void func_80A2EB44(s32 arg0, s32 arg1, s32 arg2) {
void func_80A2EB44(GlobalContext* globalCtx, s32 limbIndex, Actor* actor) {
}
Gfx* func_80A2EB58(GraphicsContext* gfxCtx, u32 alpha) {
@@ -115,7 +115,7 @@ void DmSa_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
func_801343C0(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
func_80A2EB10, func_80A2EB2C, func_80A2EB44, this);
func_80A2EB10, func_80A2EB2C, func_80A2EB44, &this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx);
}
@@ -124,7 +124,7 @@ void DoorAna_WaitOpen(DoorAna* this, GlobalContext* globalCtx) {
s32 entranceIndex;
f32 yDist;
if (Math_StepToF(&this->actor.scale, 0.01f, 0.001f) != 0) {
if (Math_StepToF(&this->actor.scale.x, 0.01f, 0.001f) != 0) {
if ((this->actor.targetMode != 0) && (globalCtx->unk18875 == 0) && (globalCtx->unk18B4A == 0) &&
(player->stateFlags1 & 0x80000000) && (player->unkAE7 == 0)) {
@@ -175,7 +175,7 @@ void DoorAna_WaitOpen(DoorAna* this, GlobalContext* globalCtx) {
}
void DoorAna_GrabLink(DoorAna* this, GlobalContext* globalCtx) {
Actor* player;
ActorPlayer* player;
s8 pad[2];
if (ActorCutscene_GetCurrentIndex() != this->actor.cutscene) {
@@ -188,8 +188,8 @@ void DoorAna_GrabLink(DoorAna* this, GlobalContext* globalCtx) {
if ((this->actor.yDistToPlayer <= 0.0f) && (this->actor.xzDistToPlayer > 20.0f)) {
player = PLAYER;
player->world.pos.x = (Math_SinS(this->actor.yawTowardsPlayer) * 20.0f) + this->actor.world.pos.x;
player->world.pos.z = (Math_CosS(this->actor.yawTowardsPlayer) * 20.0f) + this->actor.world.pos.z;
player->base.world.pos.x = (Math_SinS(this->actor.yawTowardsPlayer) * 20.0f) + this->actor.world.pos.x;
player->base.world.pos.z = (Math_CosS(this->actor.yawTowardsPlayer) * 20.0f) + this->actor.world.pos.z;
}
}
@@ -234,7 +234,7 @@ f32 DoorSpiral_GetDistFromPlayer(GlobalContext* globalCtx, DoorSpiral* this, f32
Actor_CalcOffsetOrientedToDrawRotation(&this->actor, &offset, &target);
if ((spiralWidth < fabsf(offset.x)) || (spiralHeight < fabsf(offset.y))) {
return 3.4028235e38f; // TODO FLT_MAX
return FLT_MAX;
}
return offset.z;
@@ -71,7 +71,7 @@ void EnEncount2_Init(Actor* thisx, GlobalContext* globalCtx) {
this->dynaActor.bgId = BgCheck_AddActorMesh(globalCtx, &globalCtx->colCtx.dyna, &this->dynaActor, colHeader);
ActorShape_Init(&this->dynaActor.actor.shape, 0.0f, func_800B3FC0, 25.0f);
this->dynaActor.actor.colChkInfo.mass = 0xFF;
Collider_InitAndSetJntSph(globalCtx, &this->collider, &this->dynaActor, &sJntSphInit, &this->colElement);
Collider_InitAndSetJntSph(globalCtx, &this->collider, &this->dynaActor.actor, &sJntSphInit, &this->colElement);
this->dynaActor.actor.targetMode = 6;
this->dynaActor.actor.colChkInfo.health = 1;
@@ -93,7 +93,7 @@ void EnEncount2_Init(Actor* thisx, GlobalContext* globalCtx) {
this->collider.elements->dim.modelSphere.center.y = -4;
this->collider.elements->dim.modelSphere.center.z = 0;
this->dynaActor.actor.colChkInfo.damageTable = &damageTable;
this->dynaActor.actor.colChkInfo.damageTable = damageTable;
EnEncount2_SetIdle(this);
}
@@ -105,7 +105,7 @@ void EnEncount2_Destroy(Actor* thisx, GlobalContext* globalCtx) {
void EnEncount2_SetIdle(EnEncount2* this) {
this->isPopped = 0;
this->actionFunc = &EnEncount2_Idle;
this->actionFunc = EnEncount2_Idle;
}
void EnEncount2_Idle(EnEncount2* this, GlobalContext* globalCtx) {
@@ -161,8 +161,8 @@ void EnEncount2_Update(Actor* thisx, GlobalContext* globalCtx) {
if (!this->isPopped) {
Collider_UpdateSpheresElement(&this->collider, 0, &this->dynaActor.actor);
CollisionCheck_SetAC(globalCtx, &globalCtx->colCheckCtx, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colCheckCtx, &this->collider);
CollisionCheck_SetAC(globalCtx, &globalCtx->colCheckCtx, &this->collider.base);
CollisionCheck_SetOC(globalCtx, &globalCtx->colCheckCtx, &this->collider.base);
}
}
@@ -177,7 +177,7 @@ void EnEncount2_Draw(Actor* thisx, GlobalContext* globalCtx) {
void EnEncount2_InitParticles(EnEncount2* this, Vec3f* vec, s16 fadeDelay) {
s16 i;
EnEncount2Particle* sPtr = &this->particles;
EnEncount2Particle* sPtr = this->particles;
for (i = 0; i < 200; ++i) {
if (!sPtr->enabled) {
@@ -203,7 +203,7 @@ void EnEncount2_InitParticles(EnEncount2* this, Vec3f* vec, s16 fadeDelay) {
void EnEncount2_UpdateParticles(EnEncount2* this, GlobalContext* globalCtx) {
s32 i;
EnEncount2Particle* sPtr = &this->particles;
EnEncount2Particle* sPtr = this->particles;
for (i = 0; i < 200; i += 2) {
if (sPtr->enabled) {
@@ -3,6 +3,8 @@
#include <global.h>
struct EnEncount2;
typedef void (*EnEncount2ActionFunc)(struct EnEncount2*, GlobalContext*);
typedef struct EnEncount2Particle{
@@ -17,8 +19,6 @@ typedef struct EnEncount2Particle{
} EnEncount2Particle; // size = 0x34
struct EnEncount2;
typedef struct EnEncount2 {
/* 0x0000 */ DynaPolyActor dynaActor;
/* 0x015C */ EnEncount2ActionFunc actionFunc;
@@ -37,7 +37,7 @@ void EnEndingHero3_Init(Actor* thisx, GlobalContext* globalCtx) {
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06007150, &D_06000E50, this->limbDrawTable,
this->transitionDrawTable, 17);
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 25.0f);
func_80C23518(&this->actor);
func_80C23518(this);
}
void EnEndingHero3_Destroy(Actor* thisx, GlobalContext* globalCtx) {
@@ -89,8 +89,8 @@ void EnGinkoMan_Init(Actor* thisx, GlobalContext* globalCtx) {
this->stampChecked = 0;
this->choiceDepositWithdrawl = GINKOMAN_CHOICE_RESET;
this->serviceFee = 0;
SkelAnime_InitSV(globalCtx, &this->skelAnime, object_ginko_skeleton, object_ginko_sitting_anim, &this->limbDrawTbl,
&this->transitionDrawTbl, 0x10);
SkelAnime_InitSV(globalCtx, &this->skelAnime, object_ginko_skeleton, object_ginko_sitting_anim, this->limbDrawTbl,
this->transitionDrawTbl, 0x10);
EnGinkoMan_SetupIdle(this);
}
@@ -741,7 +741,7 @@ void EnGinkoMan_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 EnGinkoMan_LimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor) {
EnGinkoMan* this = (EnGinkoMan*)actor;
if (limbIndex == 15) {
*dList = &object_ginko_limb15_dlist;
*dList = object_ginko_limb15_dlist;
}
if (limbIndex == 15) {
SysMatrix_InsertTranslation(1500.0f, 0.0f, 0.0f, 1);
@@ -3,10 +3,10 @@
#include <global.h>
typedef void (*EnGinkoManActionFunc)(struct EnGinkoMan*, GlobalContext*);
struct EnGinkoMan;
typedef void (*EnGinkoManActionFunc)(struct EnGinkoMan*, GlobalContext*);
typedef struct EnGinkoMan {
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;
@@ -24,7 +24,7 @@ const ActorInit En_Okarina_Effect_InitVars = {
(ActorFunc)NULL,
};
void EnOkarinaEffect_SetupAction(EnOkarinaEffect* this, EnOkarinaEffectActionFunc* actionFunc) {
void EnOkarinaEffect_SetupAction(EnOkarinaEffect* this, EnOkarinaEffectActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
@@ -37,7 +37,7 @@ void EnOkarinaEffect_Init(Actor* thisx, GlobalContext* globalCtx) {
if (globalCtx->kankyoContext.unkF2[1]) {
Actor_MarkForDeath(&this->actor);
}
EnOkarinaEffect_SetupAction(&this->actor, func_8096B104);
EnOkarinaEffect_SetupAction(this, func_8096B104);
}
void func_8096B104(EnOkarinaEffect* this, GlobalContext* globalCtx) {
@@ -22,6 +22,9 @@ void EnPoFusen_IdleFuse(EnPoFusen* this, GlobalContext* gCtx);
s32 EnPoFusen_OverrideLimbDraw(GlobalContext* gCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
struct Actor* actor);
extern AnimationHeader D_06000040;
extern SkeletonHeader D_060024F0;
const ActorInit En_Po_Fusen_InitVars = {
ACTOR_EN_PO_FUSEN,
ACTORCAT_PROP,
@@ -72,10 +75,10 @@ void EnPoFusen_Init(Actor* thisx, GlobalContext* globalCtx) {
if (0) {}
this->collider.dim.worldSphere.radius = 40;
SkelAnime_InitSV(globalCtx, &this->anime, &D_060024F0, &D_06000040, &this->limbDrawTbl, &this->transitionDrawTbl,
10);
SkelAnime_InitSV(globalCtx, &this->anime, &D_060024F0, &D_06000040,
this->limbDrawTbl, this->transitionDrawTbl, 10);
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 25.0f);
func_800B78B8(globalCtx, this, 0.0f, 0.0f, 0.0f, 4);
func_800B78B8(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
if (EnPoFusen_CheckParent(this, globalCtx) == 0) {
Actor_MarkForDeath(&this->actor);
@@ -144,8 +147,8 @@ u16 EnPoFusen_CheckCollision(EnPoFusen* this, GlobalContext* gCtx) {
return 1;
}
CollisionCheck_SetOC(gCtx, &gCtx->colCheckCtx, &this->collider);
CollisionCheck_SetAC(gCtx, &gCtx->colCheckCtx, &this->collider);
CollisionCheck_SetOC(gCtx, &gCtx->colCheckCtx, &this->collider.base);
CollisionCheck_SetAC(gCtx, &gCtx->colCheckCtx, &this->collider.base);
return 0;
}
@@ -272,10 +275,10 @@ s32 EnPoFusen_OverrideLimbDraw(GlobalContext* gCtx, s32 limbIndex, Gfx** dList,
return 0;
}
void EnPoFusen_PostLimbDraw(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
void EnPoFusen_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor) {
}
void EnPoFusen_UnkActorDraw(s32 arg0, s32 arg1, s32 arg2) {
void EnPoFusen_UnkActorDraw(GlobalContext* globalCtx, s32 limbIndex, Actor* actor) {
}
void EnPoFusen_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -27,9 +27,6 @@ typedef struct EnPoFusen {
/* 0x270 */ s16 fuse;
} EnPoFusen; // size = 0x274
extern SkeletonHeader D_06000040;
extern AnimationHeader D_060024F0;
extern const ActorInit En_Po_Fusen_InitVars;
#endif // Z_EN_PO_FUSEN_H
+2 -2
View File
@@ -31,7 +31,7 @@ extern Gfx D_06005458[];
static ActorAnimationEntry animations[] = { { &D_0600788C, 1.0f, 0.0f, 0.0f, 0x00, 0.0f } };
void func_80C25D40(EnRsn* this) {
func_800BDC5C(&this->skelAnime, &animations, 0);
func_800BDC5C(&this->skelAnime, animations, 0);
this->actionFunc = func_80C25D84;
}
@@ -78,7 +78,7 @@ void EnRsn_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
Vec3f sp18 = D_80C26028;
if (limbIndex == 14) {
SysMatrix_MultiplyVector3fByState(&sp18, &this->actor.focus);
SysMatrix_MultiplyVector3fByState(&sp18, &this->actor.focus.pos);
}
}
@@ -30,7 +30,7 @@ void func_80BFCFA0(EnScopecoin* this, GlobalContext* globalCtx) {
void func_80BFCFB8(EnScopecoin* this, GlobalContext* globalCtx) {
if (Actor_GetCollectibleFlag(globalCtx, (this->actor.params & 0x7F0) >> 4)) {
Item_DropCollectible(globalCtx, &this->actor.world, 2);
Item_DropCollectible(globalCtx, &this->actor.world.pos, 2);
Actor_MarkForDeath(&this->actor);
}
}
@@ -81,7 +81,7 @@ void func_8093089C(EnTuboTrap* this, GlobalContext* globalCtx) {
s32 dropCount = func_800A8150(itemParam);
if (dropCount >= 0) {
Item_DropCollectible(globalCtx, &this->actor.world, ((this->actor.params & 0x7F) << 8) | dropCount);
Item_DropCollectible(globalCtx, &this->actor.world.pos, ((this->actor.params & 0x7F) << 8) | dropCount);
}
}
@@ -124,7 +124,7 @@ void func_809308F4(EnTuboTrap* this, GlobalContext* globalCtx) {
arg5 = 0x20;
}
EffectSsKakera_Spawn(globalCtx, &pos, &vel, actorPos, -0xF0, arg5, 0x14, 0, 0,
((Rand_ZeroOne() * 85.0f) + 15.0f), 0, 0, 0x3C, -1, GAMEPLAY_DANGEON_KEEP, &D_05018090);
((Rand_ZeroOne() * 85.0f) + 15.0f), 0, 0, 0x3C, -1, GAMEPLAY_DANGEON_KEEP, D_05018090);
}
func_800BBFB0(globalCtx, actorPos, 30.0f, 4, 0x14, 0x32, 0);
@@ -172,20 +172,20 @@ void func_80930B60(EnTuboTrap* this, GlobalContext* globalCtx) {
}
EffectSsKakera_Spawn(globalCtx, &pos, &vel, actorPos, -0xAA, arg5, 0x32, 5, 0,
((Rand_ZeroOne() * 85.0f) + 15.0f), 0, 0, 0x46, -1, GAMEPLAY_DANGEON_KEEP, &D_05018090);
((Rand_ZeroOne() * 85.0f) + 15.0f), 0, 0, 0x46, -1, GAMEPLAY_DANGEON_KEEP, D_05018090);
}
}
// EnTuboTrap_HandleImpact
void func_80930DDC(EnTuboTrap* this, GlobalContext* globalCtx) {
Actor* player = PLAYER;
Actor* player2 = PLAYER;
ActorPlayer* player = PLAYER;
ActorPlayer* player2 = PLAYER;
// in oot func_800F0568 is Audio_PlaySoundAtPosition
if (((this->actor.bgCheckFlags & 0x20) != 0) && (this->actor.yDistToWater > 15.0f)) {
func_80930B60(this, globalCtx);
func_800F0568(globalCtx, &this->actor.world, 0x28, 0x2817);
func_800F0568(globalCtx, &this->actor.world.pos, 0x28, 0x2817);
func_8093089C(this, globalCtx);
Actor_MarkForDeath(&this->actor);
return;
@@ -193,8 +193,8 @@ void func_80930DDC(EnTuboTrap* this, GlobalContext* globalCtx) {
if ((this->collider.base.atFlags & AT_BOUNCED) != 0) {
this->collider.base.atFlags &= ~AT_BOUNCED;
func_809308F4(this, globalCtx);
func_800F0568(globalCtx, &this->actor.world, 0x28, 0x1808);
func_800F0568(globalCtx, &this->actor.world, 0x28, 0x2887);
func_800F0568(globalCtx, &this->actor.world.pos, 0x28, 0x1808);
func_800F0568(globalCtx, &this->actor.world.pos, 0x28, 0x2887);
func_8093089C(this, globalCtx);
Actor_MarkForDeath(&this->actor);
return;
@@ -202,18 +202,18 @@ void func_80930DDC(EnTuboTrap* this, GlobalContext* globalCtx) {
if ((this->collider.base.acFlags & AC_HIT) != 0) {
this->collider.base.acFlags &= ~AC_HIT;
func_809308F4(this, globalCtx);
func_800F0568(globalCtx, &this->actor.world, 0x28, 0x2802);
func_800F0568(globalCtx, &this->actor.world, 0x28, 0x2887);
func_800F0568(globalCtx, &this->actor.world.pos, 0x28, 0x2802);
func_800F0568(globalCtx, &this->actor.world.pos, 0x28, 0x2887);
func_8093089C(this, globalCtx);
Actor_MarkForDeath(&this->actor);
return;
}
if ((this->collider.base.atFlags & AT_HIT) != 0) {
this->collider.base.atFlags &= ~AT_HIT;
if (player == this->collider.base.at) {
if (&player->base == this->collider.base.at) {
func_809308F4(this, globalCtx);
func_800F0568(globalCtx, &this->actor.world, 0x28, 0x2887);
func_800F0568(globalCtx, &player2->world, 0x28, 0x83E);
func_800F0568(globalCtx, &this->actor.world.pos, 0x28, 0x2887);
func_800F0568(globalCtx, &player2->base.world.pos, 0x28, 0x83E);
func_8093089C(this, globalCtx);
Actor_MarkForDeath(&this->actor);
return;
@@ -221,7 +221,7 @@ void func_80930DDC(EnTuboTrap* this, GlobalContext* globalCtx) {
}
if (((this->actor.bgCheckFlags & 8) != 0) || ((this->actor.bgCheckFlags & 1) != 0)) {
func_809308F4(this, globalCtx);
func_800F0568(globalCtx, &this->actor.world, 0x28, 0x2887);
func_800F0568(globalCtx, &this->actor.world.pos, 0x28, 0x2887);
func_8093089C(this, globalCtx);
Actor_MarkForDeath(&this->actor);
}
@@ -64,10 +64,10 @@ extern UNK_TYPE D_06000EC0;
void EnWarpUzu_Init(Actor* thisx, GlobalContext* globalCtx) {
EnWarpUzu* this = THIS;
Actor_ProcessInitChain(&this->actor, &D_80A664EC);
Actor_ProcessInitChain(&this->actor, D_80A664EC);
Collider_InitAndSetCylinder(globalCtx, &this->collider, thisx, &D_80A664C0);
thisx->targetMode = 0;
func_80A66208(thisx, globalCtx);
func_80A66208(this, globalCtx);
}
void EnWarpUzu_Destroy(Actor* thisx, GlobalContext* globalCtx) {
@@ -83,8 +83,8 @@ void func_80A66208(EnWarpUzu* this, GlobalContext* globalCtx) {
this->actor.textId = 0;
Matrix_RotateY(this->actor.shape.rot.y, 0);
SysMatrix_MultiplyVector3fByState(&D_80A664FC, &sp24);
Math_Vec3f_Sum(&this->actor.world, &sp24, &this->actor.focus);
Math_Vec3s_Copy(&this->actor.focus.rot, &this->actor.shape);
Math_Vec3f_Sum(&this->actor.world.pos, &sp24, &this->actor.focus.pos);
Math_Vec3s_Copy(&this->actor.focus.rot, &this->actor.shape.rot);
this->actionFunc = func_80A66278;
}
@@ -129,7 +129,7 @@ void EnWarpUzu_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actor.uncullZoneForward = 1000.0f;
this->actionFunc(this, globalCtx);
Collider_UpdateCylinder(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colCheckCtx, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colCheckCtx, &this->collider.base);
}
void EnWarpUzu_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -62,10 +62,10 @@ extern AnimatedMaterial D_06000E88;
void ObjBoyo_Init(Actor* thisx, GlobalContext* globalCtx) {
ObjBoyo* this = THIS;
Actor_ProcessInitChain(&this->actor, &sInitChain);
Actor_ProcessInitChain(&this->actor, sInitChain);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
Collider_UpdateCylinder(this, &this->collider);
Collider_UpdateCylinder(&this->actor, &this->collider);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->unk_190 = Lib_SegmentedToVirtual(&D_06000E88);
}
@@ -84,7 +84,7 @@ void ObjBoyo_UpdatePlayerBumpValues(ObjBoyo* this, ActorPlayer* target) {
void ObjBoyo_UpdatePirateBumpValues(ObjBoyo* src, EnKaizoku* target) {
target->unk_2F0 = 30.0f;
target->unk_2F4 = Actor_YawBetweenActors(src, target);
target->unk_2F4 = Actor_YawBetweenActors(&src->actor, &target->actor);
}
void ObjBoyo_UpdateBombBumpValues(ObjBoyo* src, EnBom* target) {
@@ -92,9 +92,9 @@ void ObjBoyo_UpdateBombBumpValues(ObjBoyo* src, EnBom* target) {
}
BumperCollideInfo sBumperCollideInfo[] = {
{ ACTOR_PLAYER, ObjBoyo_UpdatePlayerBumpValues },
{ ACTOR_EN_KAIZOKU, ObjBoyo_UpdatePirateBumpValues },
{ ACTOR_EN_BOM, ObjBoyo_UpdateBombBumpValues },
{ ACTOR_PLAYER, (BumperCollideActorFunc)ObjBoyo_UpdatePlayerBumpValues },
{ ACTOR_EN_KAIZOKU, (BumperCollideActorFunc)ObjBoyo_UpdatePirateBumpValues },
{ ACTOR_EN_BOM, (BumperCollideActorFunc)ObjBoyo_UpdateBombBumpValues },
};
Actor* ObjBoyo_GetCollidedActor(ObjBoyo* this, GlobalContext* globalCtx, s32* num) {
@@ -126,7 +126,7 @@ void ObjBoyo_Update(Actor* thisx, GlobalContext* globalCtx2) {
Actor* target;
s32 num;
target = ObjBoyo_GetCollidedActor(thisx, globalCtx, &num);
target = ObjBoyo_GetCollidedActor(this, globalCtx, &num);
if (target != NULL) {
sBumperCollideInfo[num].actorCollideFunc(this, (void*)target);
@@ -32,7 +32,7 @@ extern UNK_TYPE D_06003478;
void ObjKepnKoya_Init(Actor* thisx, GlobalContext* globalCtx) {
ObjKepnKoya* this = THIS;
Actor_ProcessInitChain(&this->dyna.actor, &D_80C07C40);
Actor_ProcessInitChain(&this->dyna.actor, D_80C07C40);
Actor_SetScale(&this->dyna.actor, 0.1f);
BcCheck3_BgActorInit(&this->dyna, 0);
BgCheck3_LoadMesh(globalCtx, &this->dyna, &D_0600805C);
@@ -94,7 +94,7 @@ void ObjLightswitch_InitCollider(ObjLightswitch* this, GlobalContext* globalCtx)
this->actor.colChkInfo.mass = 0xFF;
SysMatrix_SetStateRotationAndTranslation(
this->actor.world.pos.x, this->actor.world.pos.y + (this->actor.shape.yOffset * this->actor.scale.y),
this->actor.world.pos.z, &this->actor.shape);
this->actor.world.pos.z, &this->actor.shape.rot);
Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, 1);
Collider_UpdateSpheres(0, &this->collider);
}
@@ -185,7 +185,7 @@ void ObjLightswitch_Init(Actor* thisx, GlobalContext* globalCtx) {
switchFlagResult = Flags_GetSwitch(globalCtx, GET_LIGHTSWITCH_SWITCHFLAG(this));
isTriggered = 0;
Actor_ProcessInitChain(&this->actor, &sInitChain);
Actor_ProcessInitChain(&this->actor, sInitChain);
Actor_SetHeight(&this->actor, 0.0f);
if (switchFlagResult != 0) {
@@ -390,8 +390,8 @@ void ObjLightswitch_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actionFunc(this, globalCtx);
if (this->actor.update != 0) {
this->previousACFlags = this->collider.base.acFlags;
CollisionCheck_SetOC(globalCtx, &globalCtx->colCheckCtx, &this->collider);
CollisionCheck_SetAC(globalCtx, &globalCtx->colCheckCtx, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colCheckCtx, &this->collider.base);
CollisionCheck_SetAC(globalCtx, &globalCtx->colCheckCtx, &this->collider.base);
}
}
@@ -3,11 +3,11 @@
#include <global.h>
struct ObjLightswitch;
typedef void (*ObjLightswitchActionFunc)(struct ObjLightswitch*, GlobalContext*);
typedef void (*ObjLightswitchSetupFunc)(struct ObjLightswitch*);
struct ObjLightswitch;
typedef struct ObjLightswitch {
/* 0x000 */ Actor actor;
/* 0x144 */ ColliderJntSph collider;
@@ -28,12 +28,12 @@ static InitChainEntry D_80ADEB50[] = {
};
extern CollisionHeader D_06000AD0;
extern UNK_TYPE D_06000140;
extern Gfx D_06000140[];
void ObjVisiblock_Init(Actor* thisx, GlobalContext* globalCtx) {
ObjVisiblock* this = THIS;
Actor_ProcessInitChain(this, D_80ADEB50);
Actor_ProcessInitChain(&this->dyna.actor, D_80ADEB50);
BcCheck3_BgActorInit(&this->dyna, 0);
BgCheck3_LoadMesh(globalCtx, &this->dyna, &D_06000AD0);
}
@@ -45,5 +45,5 @@ void ObjVisiblock_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void ObjVisiblock_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_800BE03C(globalCtx, &D_06000140);
func_800BE03C(globalCtx, D_06000140);
}