1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-05 07:24:34 +00:00

All Effect Overlays and z_effect_soft_sprite_old_init.c OK (#396)

* fix colliderinit typo

* dead sound done

* deadsound documentation

* blast done

* progress

* spk init

* progress

* spark done

* ss bomb ok

* bomb done

* cleanup

* progress

* progress

* almost done with bomb2

* clean up gossip stone

* more

* cleanup and format

* remove unused asm file

* nonmatching reloc

* done i think

* mistakes

* fix headers

* idk how that got in here

* EffectSsStick OK

* progress

* fix conflicting name

* progress

* splash OK

* uname fields

* progress

* lightning OK

* remove unwanted files

* kirakira ok

* kirakira done

* magma OK

* remove files

* ss_g_fire OK

* name funcs

* progress

* progress

* magma2 and kakera OK

* eff_ss_dead_dd OK

* fcircle OK

* stone1 OK

* sibuki2 OK

* dt_bubble OK

* deaddb OK

* sibuki OK

* dead_ds OK

* ice_smoke OK

* hitmark OK

* hahen OK

* k_fire OK

* en_fire OK

* starting colors

* color changes 1

* color switch done

* init file data migrated

* data cleanup

* ice_piece OK

* en_ice OK

* progress

* progress

* docs progress

* fix blast color names

* documentation pass 1

* progress

* cleanup pass 2

* touchups

* added to functions.h

* small changes

* fix functions.h

* renaming progress

* name progress

* color enum

* more cleanups

* enice changes

* final cleanups

* remove unwanted file

* lightning -> shock

* pr suggestions

* fix comment

* remove unwanted comments
This commit is contained in:
fig02 2020-09-29 20:18:46 -04:00 committed by GitHub
parent a506801cd7
commit 82968a7381
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
541 changed files with 5667 additions and 15639 deletions

View file

@ -70,11 +70,11 @@ void func_800C0F28(PreRenderContext* this, Gfx** gfxp, void* buf, void* bufSave)
lrt = (ult + add) - 1;
if (1) {}
gDPLoadTextureTile(gfx++, buf, G_IM_FMT_RGBA, G_IM_SIZ_16b, this->width, this->height, uls, ult, lrs, lrt,
0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfx++, uls << 2, ult << 2, lrs << 2, lrt << 2, G_TX_RENDERTILE, uls << 5, ult << 5,
4 << 10, 1 << 10);
gDPLoadTextureTile(gfx++, buf, G_IM_FMT_RGBA, G_IM_SIZ_16b, this->width, this->height, uls, ult, lrs, lrt, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD);
gSPTextureRectangle(gfx++, uls << 2, ult << 2, lrs << 2, lrt << 2, G_TX_RENDERTILE, uls << 5, ult << 5, 4 << 10,
1 << 10);
x -= add;
x2 += add;
@ -125,8 +125,8 @@ void func_800C1258(PreRenderContext* this, Gfx** gfxp) {
gDPLoadTextureTile(gfx++, this->fbufSave, G_IM_FMT_RGBA, G_IM_SIZ_16b, this->widthSave, this->height - 1,
this->ulxSave, ult, this->lrxSave, lrt, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfx++, this->ulx << 2, uly << 2, this->lrx << 2, (uly + add - 1) << 2,
G_TX_RENDERTILE, this->ulxSave << 5, ult << 5, 4 << 10, 1 << 10);
gSPTextureRectangle(gfx++, this->ulx << 2, uly << 2, this->lrx << 2, (uly + add - 1) << 2, G_TX_RENDERTILE,
this->ulxSave << 5, ult << 5, 4 << 10, 1 << 10);
y -= add;
y2 += add;
@ -180,9 +180,9 @@ void func_800C170C(PreRenderContext* this, Gfx** gfxp, void* fbuf, void* fbufSav
ult = x2;
lrt = (x2 + add - 1);
gDPLoadTextureTile(gfx++, fbuf, G_IM_FMT_RGBA, G_IM_SIZ_16b, this->width, this->height, uls, ult, lrs,
lrt, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureTile(gfx++, fbuf, G_IM_FMT_RGBA, G_IM_SIZ_16b, this->width, this->height, uls, ult, lrs, lrt, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD);
if (1) {}
gSPTextureRectangle(gfx++, uls << 2, ult << 2, (lrs + 1) << 2, (lrt + 1) << 2, G_TX_RENDERTILE, uls << 5,
ult << 5, 1 << 10, 1 << 10);
@ -237,9 +237,9 @@ void func_800C1B24(PreRenderContext* this, Gfx** gfxp, void* fbuf, void* cvgSave
ult = x2;
lrt = (x2 + add) - 1;
gDPLoadTextureTile(gfx++, fbuf, G_IM_FMT_IA, G_IM_SIZ_16b, this->width, this->height, uls, ult, lrs, lrt,
0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureTile(gfx++, fbuf, G_IM_FMT_IA, G_IM_SIZ_16b, this->width, this->height, uls, ult, lrs, lrt, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD);
if (1) {}
gSPTextureRectangle(gfx++, uls << 2, ult << 2, (lrs + 1) << 2, (lrt + 1) << 2, G_TX_RENDERTILE, uls << 5,
ult << 5, 1 << 10, 1 << 10);
@ -356,9 +356,9 @@ void func_800C213C(PreRenderContext* this, Gfx** gfxp) {
gDPLoadMultiTile(gfx++, this->fbufSave, 0x0000, G_TX_RENDERTILE, G_IM_FMT_RGBA, G_IM_SIZ_16b, this->width,
this->height, uls, ult, lrx, lry, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gDPLoadMultiTile(gfx++, this->cvgSave, 0x0160, 1, G_IM_FMT_I, G_IM_SIZ_8b, this->width, this->height, uls,
ult, lrx, lry, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gDPLoadMultiTile(gfx++, this->cvgSave, 0x0160, 1, G_IM_FMT_I, G_IM_SIZ_8b, this->width, this->height, uls, ult,
lrx, lry, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfx++, uls << 2, ult << 2, (lrx + 1) << 2, (lry + 1) << 2, G_TX_RENDERTILE, uls << 5,
ult << 5, 1 << 10, 1 << 10);

View file

@ -212,7 +212,7 @@ s32 Math3D_PlaneVsPlaneVsLineClosestPoint(f32 planeAA, f32 planeAB, f32 planeAC,
* Finds a point on the line from starting point `v0`, and directional vector `dir`
* which is `dist` length from the starting point. Result is placed in `ret`
*/
void Math3D_PointOnInfinteLine(Vec3f* v0, Vec3f* dir, f32 dist, Vec3f* ret) {
void Math3D_PointOnInfiniteLine(Vec3f* v0, Vec3f* dir, f32 dist, Vec3f* ret) {
ret->x = (dir->x * dist) + v0->x;
ret->y = (dir->y * dist) + v0->y;
ret->z = (dir->z * dist) + v0->z;
@ -226,7 +226,7 @@ void Math3D_LineSplitRatio(Vec3f* v0, Vec3f* v1, f32 ratio, Vec3f* ret) {
Vec3f diff;
Math_Vec3f_Diff(v1, v0, &diff);
Math3D_PointOnInfinteLine(v0, &diff, ratio, ret);
Math3D_PointOnInfiniteLine(v0, &diff, ratio, ret);
}
/**
@ -1922,8 +1922,8 @@ s32 Math3D_CylTriVsIntersect(Cylinder16* cyl, TriNorm* tri, Vec3f* intersect) {
}
radiusTodistFromCylYIntersectTov0v1 = cyl->radius / distFromCylYIntersectTov0v1;
Math3D_PointOnInfinteLine(&cylIntersectCenter, &diffMidpointIntersect, radiusTodistFromCylYIntersectTov0v1,
intersect);
Math3D_PointOnInfiniteLine(&cylIntersectCenter, &diffMidpointIntersect, radiusTodistFromCylYIntersectTov0v1,
intersect);
return true;
}

View file

@ -1210,7 +1210,7 @@ void func_8002E4B4(GlobalContext* globalCtx, Actor* actor, f32 arg2, f32 arg3, f
f32 sp58;
UNK_TYPE sp54;
f32 sp50;
Vec3f sp44;
Vec3f ripplePos;
sp74 = actor->posRot.pos.y - actor->pos4.y;
@ -1258,12 +1258,12 @@ void func_8002E4B4(GlobalContext* globalCtx, Actor* actor, f32 arg2, f32 arg3, f
if (!(actor->bgCheckFlags & 0x20)) {
actor->bgCheckFlags |= 0x40;
if (!(arg5 & 0x40)) {
sp44.x = actor->posRot.pos.x;
sp44.y = sp50;
sp44.z = actor->posRot.pos.z;
func_80029444(globalCtx, &sp44, 100, 500, 0);
func_80029444(globalCtx, &sp44, 100, 500, 4);
func_80029444(globalCtx, &sp44, 100, 500, 8);
ripplePos.x = actor->posRot.pos.x;
ripplePos.y = sp50;
ripplePos.z = actor->posRot.pos.z;
EffectSsGRipple_Spawn(globalCtx, &ripplePos, 100, 500, 0);
EffectSsGRipple_Spawn(globalCtx, &ripplePos, 100, 500, 4);
EffectSsGRipple_Spawn(globalCtx, &ripplePos, 100, 500, 8);
}
}
actor->bgCheckFlags |= 0x20;
@ -1850,7 +1850,8 @@ void func_8002FBAC(GlobalContext* globalCtx) {
spA4.y = Math_Rand_ZeroOne() * 6.0f + gSaveContext.respawn[RESPAWN_MODE_TOP].pos.y + 80.0f;
spA4.z = Math_Rand_CenteredFloat(6.0f) + gSaveContext.respawn[RESPAWN_MODE_TOP].pos.z;
func_80028BB0(globalCtx, &spA4, &D_80116048, &D_80116054, &D_80116060, &D_80116064, 1000, 0x10);
EffectSsKiraKira_SpawnDispersed(globalCtx, &spA4, &D_80116048, &D_80116054, &D_80116060, &D_80116064, 1000,
16);
if (D_8015BC18 == 0.0f) {
gSaveContext.respawn[RESPAWN_MODE_TOP] = gSaveContext.respawn[RESPAWN_MODE_DOWN];
@ -2184,8 +2185,8 @@ void Actor_Draw(GlobalContext* globalCtx, Actor* actor) {
gSPSegment(oGfxCtx->polyXlu.p++, 0x06, globalCtx->objectCtx.status[actor->objBankIndex].segment);
if (actor->dmgEffectTimer != 0) {
// Must be inline data to match
Color_RGBA8 sp2C = { 0, 0, 0, 255 };
if (actor->dmgEffectParams & 0x8000) {
sp2C.r = sp2C.g = sp2C.b = ((actor->dmgEffectParams & 0x1F00) >> 5) | 7;
} else if (actor->dmgEffectParams & 0x4000) {
@ -3966,7 +3967,7 @@ void func_8003555C(GlobalContext* globalCtx, Vec3f* arg1, Vec3f* arg2, Vec3f* ar
color2.g = 90;
color2.b = 50;
func_80028B74(globalCtx, arg1, arg2, arg3, &color1, &color2);
EffectSsKiraKira_SpawnSmall(globalCtx, arg1, arg2, arg3, &color1, &color2);
}
Vec3f D_80116268 = { 0.0f, -1.5f, 0.0f };

View file

@ -1327,9 +1327,9 @@ void func_8005E10C(GlobalContext* globalCtx, Collider* collider, Vec3f* v) {
Effect_Add(globalCtx, &sp24, EFFECT_SPARK, 0, 1, &D_8015DD68);
}
void func_8005E26C(GlobalContext* globalCtx, Collider* collider, Vec3f* v) {
func_800299AC(globalCtx, v);
func_80062B80(globalCtx, v);
void func_8005E26C(GlobalContext* globalCtx, Collider* collider, Vec3f* pos) {
EffectSsSibuki_SpawnBurst(globalCtx, pos);
func_80062B80(globalCtx, pos);
}
void func_8005E2A4(GlobalContext* globalCtx, Collider* collider, Vec3f* v) {
@ -1345,7 +1345,7 @@ void func_8005E2EC(GlobalContext* globalCtx, ColliderBody* colliderBody, Collide
flags = colliderBody->toucherFlags & 0x18;
if (flags == 0 && collider->type != COLTYPE_METAL_SHIELD) {
func_80029CA4(globalCtx, 0, arg3);
EffectSsHitMark_SpawnFixedScale(globalCtx, 0, arg3);
if (collider->actor == NULL) {
Audio_PlaySoundGeneral(NA_SE_IT_SHIELD_BOUND, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
return;
@ -1355,7 +1355,7 @@ void func_8005E2EC(GlobalContext* globalCtx, ColliderBody* colliderBody, Collide
return;
}
if (flags == 0) {
func_80029CA4(globalCtx, 3, arg3);
EffectSsHitMark_SpawnFixedScale(globalCtx, 3, arg3);
if (collider->actor == NULL) {
func_80062D60(globalCtx, arg3);
return;
@ -1364,7 +1364,7 @@ void func_8005E2EC(GlobalContext* globalCtx, ColliderBody* colliderBody, Collide
return;
}
if (flags == 8) {
func_80029CA4(globalCtx, 0, arg3);
EffectSsHitMark_SpawnFixedScale(globalCtx, 0, arg3);
if (collider->actor == NULL) {
Audio_PlaySoundGeneral(NA_SE_IT_SHIELD_BOUND, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
return;
@ -1374,7 +1374,7 @@ void func_8005E2EC(GlobalContext* globalCtx, ColliderBody* colliderBody, Collide
return;
}
if (flags == 0x10) {
func_80029CA4(globalCtx, 1, arg3);
EffectSsHitMark_SpawnFixedScale(globalCtx, 1, arg3);
if (collider->actor == NULL) {
Audio_PlaySoundGeneral(NA_SE_IT_REFLECTION_WOOD, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
return;
@ -1443,13 +1443,13 @@ void func_8005E604(GlobalContext* globalCtx, Collider* left, ColliderBody* leftB
func_80062E14(globalCtx, arg5, &left->actor->projectedPos);
}
} else if (D_8011DF40[right->type].unk01 != 5) {
func_80029CA4(globalCtx, D_8011DF40[right->type].unk01, arg5);
EffectSsHitMark_SpawnFixedScale(globalCtx, D_8011DF40[right->type].unk01, arg5);
if ((rightBody->bumperFlags & 0x20) == 0) {
func_8005E4F8(left, rightBody);
}
}
} else {
func_80029CA4(globalCtx, 0, arg5);
EffectSsHitMark_SpawnFixedScale(globalCtx, 0, arg5);
if (right->actor == NULL) {
Audio_PlaySoundGeneral(NA_SE_IT_SHIELD_BOUND, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else {

View file

@ -113,7 +113,7 @@ s32 EffectShieldParticle_Update(void* thisx) {
return 0;
}
void EffectShieldParticle_GetColors(EffectShieldParticle* this, Color_RGBA8_n* primColor, Color_RGBA8_n* envColor) {
void EffectShieldParticle_GetColors(EffectShieldParticle* this, Color_RGBA8* primColor, Color_RGBA8* envColor) {
s32 halfDuration;
f32 ratio;
@ -153,8 +153,8 @@ void EffectShieldParticle_GetColors(EffectShieldParticle* this, Color_RGBA8_n* p
void EffectShieldParticle_Draw(void* thisx, GraphicsContext* gfxCtx) {
EffectShieldParticle* this = (EffectShieldParticle*)thisx;
EffectShieldParticleElement* elem;
Color_RGBA8_n primColor;
Color_RGBA8_n envColor;
Color_RGBA8 primColor;
Color_RGBA8 envColor;
OPEN_DISPS(gfxCtx, "../z_eff_shield_particle.c", 272);

View file

@ -69,7 +69,7 @@ void EffectSs_Delete(EffectSs* effectSs) {
}
if (effectSs->flags & 4) {
func_800F89E8(&effectSs->unk_2C);
func_800F89E8(&effectSs->vec);
}
EffectSs_Reset(effectSs);
@ -81,15 +81,15 @@ void EffectSs_Reset(EffectSs* effectSs) {
effectSs->type = EFFECT_SS_TYPE_MAX;
effectSs->accel.x = effectSs->accel.y = effectSs->accel.z = 0;
effectSs->velocity.x = effectSs->velocity.y = effectSs->velocity.z = 0;
effectSs->unk_2C.x = effectSs->unk_2C.y = effectSs->unk_2C.z = 0;
effectSs->vec.x = effectSs->vec.y = effectSs->vec.z = 0;
effectSs->pos.x = effectSs->pos.y = effectSs->pos.z = 0;
effectSs->life = -1;
effectSs->flags = 0;
effectSs->priority = 128;
effectSs->draw = NULL;
effectSs->update = NULL;
effectSs->displayList = NULL;
effectSs->unk_3C = NULL;
effectSs->gfx = NULL;
effectSs->actor = NULL;
for (i = 0; i < ARRAY_COUNT(effectSs->regs); i++) {
effectSs->regs[i] = 0;

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,6 @@
#include <ultra64.h>
#include <global.h>
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
#define FLAGS 0x00000000
@ -336,7 +337,7 @@ void func_8001E1C8(EnItem00* this, GlobalContext* globalCtx) {
pos.x = this->actor.posRot.pos.x + Math_Rand_CenteredFloat(10.0f);
pos.y = this->actor.posRot.pos.y + Math_Rand_CenteredFloat(10.0f);
pos.z = this->actor.posRot.pos.z + Math_Rand_CenteredFloat(10.0f);
func_80028B74(globalCtx, &pos, &D_80115518, &D_80115524, &D_80115510, &D_80115514);
EffectSsKiraKira_SpawnSmall(globalCtx, &pos, &D_80115518, &D_80115524, &D_80115510, &D_80115514);
}
if (this->actor.bgCheckFlags & 0x0003) {
@ -394,7 +395,7 @@ void func_8001E304(EnItem00* this, GlobalContext* globalCtx) {
pos.x = this->actor.posRot.pos.x + (Math_Rand_ZeroOne() - 0.5f) * 10.0f;
pos.y = this->actor.posRot.pos.y + (Math_Rand_ZeroOne() - 0.5f) * 10.0f;
pos.z = this->actor.posRot.pos.z + (Math_Rand_ZeroOne() - 0.5f) * 10.0f;
func_80028B74(globalCtx, &pos, &D_80115518, &D_80115524, &D_80115510, &D_80115514);
EffectSsKiraKira_SpawnSmall(globalCtx, &pos, &D_80115518, &D_80115524, &D_80115510, &D_80115514);
}
if (this->actor.bgCheckFlags & 0x0003) {
@ -877,7 +878,8 @@ EnItem00* Item_DropCollectible(GlobalContext* globalCtx, Vec3f* spawnPos, s16 pa
// TODO: Prevent the cast to EnItem00 here since this is a different actor (En_Elf)
spawnedActor = (EnItem00*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, spawnPos->x,
spawnPos->y + 40.0f, spawnPos->z, 0, 0, 0, 0x0002);
EffectSsDeadSound_SpawnStationary(globalCtx, spawnPos, NA_SE_EV_BUTTERFRY_TO_FAIRY, 1, 1, 40);
EffectSsDeadSound_SpawnStationary(globalCtx, spawnPos, NA_SE_EV_BUTTERFRY_TO_FAIRY, true,
DEADSOUND_REPEAT_MODE_OFF, 40);
} else {
if (!param8000) {
params = func_8001F404(params & 0x00FF);
@ -920,7 +922,8 @@ EnItem00* Item_DropCollectible2(GlobalContext* globalCtx, Vec3f* spawnPos, s16 p
// TODO: Prevent the cast to EnItem00 here since this is a different actor (En_Elf)
spawnedActor = (EnItem00*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, spawnPos->x,
spawnPos->y + 40.0f, spawnPos->z, 0, 0, 0, 0x0002);
EffectSsDeadSound_SpawnStationary(globalCtx, spawnPos, NA_SE_EV_BUTTERFRY_TO_FAIRY, 1, 1, 40);
EffectSsDeadSound_SpawnStationary(globalCtx, spawnPos, NA_SE_EV_BUTTERFRY_TO_FAIRY, true,
DEADSOUND_REPEAT_MODE_OFF, 40);
} else {
params = func_8001F404(params & 0x00FF);
if (params != -1) {
@ -989,7 +992,8 @@ void Item_DropCollectibleRandom(GlobalContext* globalCtx, Actor* fromActor, Vec3
if (gSaveContext.health <= 0x10) { // 1 heart or less
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, spawnPos->x, spawnPos->y + 40.0f, spawnPos->z, 0,
0, 0, 0x0002);
EffectSsDeadSound_SpawnStationary(globalCtx, spawnPos, NA_SE_EV_BUTTERFRY_TO_FAIRY, 1, 1, 40);
EffectSsDeadSound_SpawnStationary(globalCtx, spawnPos, NA_SE_EV_BUTTERFRY_TO_FAIRY, true,
DEADSOUND_REPEAT_MODE_OFF, 40);
return;
} else if (gSaveContext.health <= 0x30) { // 3 hearts or less
params = 0xB * 0x10;

View file

@ -82,7 +82,7 @@ void TransitionFade_Update(TransitionFade* this, s32 updateRate) {
void TransitionFade_Draw(TransitionFade* this, Gfx** gfxP) {
Gfx* gfx;
Color_RGBA8* color;
Color_RGBA8_u32* color;
if (this->fadeColor.a > 0) {
color = &this->fadeColor;
gfx = *gfxP;

View file

@ -142,7 +142,7 @@ void Lights_BindDirectional(Lights* lights, LightParams* params, Vec3f* vec) {
}
}
/*
/**
* For every light in a provided list, try to find a free slot in the provided Lights group and bind
* a light to it. Then apply color and positional/directional info for each light
* based on the parameters supplied by the node.
@ -216,7 +216,7 @@ void func_8007A698(LightContext* lightCtx, u8 arg1, u8 arg2, u8 arg3, s16 numLig
lightCtx->unk_0C = arg5;
}
/*
/**
* Allocate a new Lights group and initilize the ambient color with that provided by LightContext
*/
Lights* LightContext_NewLights(LightContext* lightCtx, GraphicsContext* gfxCtx) {
@ -234,7 +234,7 @@ void LightContext_DestroyList(GlobalContext* globalCtx, LightContext* lightCtx)
}
}
/*
/**
* Insert a new light into the list pointed to by LightContext
*
* Note: Due to the limited number of slots in a Lights group, inserting too many lights in the

View file

@ -9,7 +9,7 @@ Input* D_8012D1F8 = NULL;
TransitionUnk sTrnsnUnk;
s32 gTrnsnUnkState;
VisMono D_80161498;
Color_RGBA8 D_801614B0;
Color_RGBA8_u32 D_801614B0;
FaultClient D_801614B8;
s16 D_801614C8;
u64 D_801614D0[0xA00];
@ -1158,7 +1158,8 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
oGfxCtx->polyOpa.p = sp88;
goto Gameplay_Draw_DrawOverlayElements;
} else {
PreRender_SetValues(&globalCtx->preRenderCtx, SCREEN_WIDTH, SCREEN_HEIGHT, gfxCtx->curFrameBuffer, gZBuffer);
PreRender_SetValues(&globalCtx->preRenderCtx, SCREEN_WIDTH, SCREEN_HEIGHT, gfxCtx->curFrameBuffer,
gZBuffer);
if (R_PAUSE_MENU_MODE == 2) {
MsgEvent_SendNullTask();

View file

@ -703,7 +703,7 @@ void func_8008F87C(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime,
s32 thighLimbIndex, s32 shinLimbIndex, s32 footLimbIndex) {
Vec3f spA4;
Vec3f sp98;
Vec3f sp8C;
Vec3f footprintPos;
CollisionPoly* sp88;
UNK_TYPE sp84;
f32 sp80;
@ -737,12 +737,12 @@ void func_8008F87C(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime,
Matrix_JointPosition(&D_80126038[(void)0, gSaveContext.linkAge], &skelAnime->limbDrawTbl[shinLimbIndex]);
Matrix_Translate(D_80126050[(void)0, gSaveContext.linkAge], 0.0f, 0.0f, MTXMODE_APPLY);
Matrix_MultVec3f(&D_8012602C, &sp98);
Matrix_MultVec3f(&D_80126070, &sp8C);
Matrix_MultVec3f(&D_80126070, &footprintPos);
Matrix_Pull();
sp8C.y += 15.0f;
footprintPos.y += 15.0f;
sp80 = func_8003C9A4(&globalCtx->colCtx, &sp88, &sp84, &this->actor, &sp8C) + sp74;
sp80 = func_8003C9A4(&globalCtx->colCtx, &sp88, &sp84, &this->actor, &footprintPos) + sp74;
if (sp98.y < sp80) {
sp70 = sp98.x - spA4.x;
@ -786,8 +786,8 @@ void func_8008F87C(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime,
temp3 = func_80041D4C(&globalCtx->colCtx, sp88, sp84);
if ((temp3 >= 2) && (temp3 < 4) && !func_80042108(&globalCtx->colCtx, sp88, sp84)) {
sp8C.y = sp80;
func_80029568(globalCtx, &sp8C);
footprintPos.y = sp80;
EffectSsGFire_Spawn(globalCtx, &footprintPos);
}
}
}