Floor Surface

This commit is contained in:
Derek Hensley
2022-10-05 20:42:19 -07:00
parent 9d033cd27a
commit 1eca2fc63f
7 changed files with 15 additions and 14 deletions
+1 -1
View File
@@ -224,7 +224,7 @@ void ActorShadow_DrawFeet(Actor* actor, Lights* mapper, PlayState* play) {
for (i = 0; i < ARRAY_COUNT(floorHeight); i++, spB8 >>= 1) {
feetPosPtr->y += 50.0f;
*floorHeightPtr = func_80169100(play, &sp13C, &spF8, &bgId, feetPosPtr);
*floorHeightPtr = Play_GetFloorSurfaceImpl(play, &sp13C, &spF8, &bgId, feetPosPtr);
feetPosPtr->y -= 50.0f;
distToFloor = feetPosPtr->y - *floorHeightPtr;
+5 -4
View File
@@ -108,7 +108,8 @@ void Play_DisableMotionBlur(void) {
R_MOTION_BLUR_ENABLED = false;
}
void Play_ConvertBufferToI(void* destI, u16* srcBuf, s32 bufWidth, s32 pixelLeft, s32 pixelTop, s32 pixelRight, s32 pixelBottom, s32 type) {
void Play_ConvertBufferToI(void* destI, u16* srcBuf, s32 bufWidth, s32 pixelLeft, s32 pixelTop, s32 pixelRight,
s32 pixelBottom, s32 type) {
s32 i;
s32 j;
u32 pixel;
@@ -1512,7 +1513,7 @@ s32 Play_InCsMode(PlayState* this) {
return (this->csCtx.state != 0) || Player_InCsMode(this);
}
f32 func_80169100(PlayState* this, MtxF* mtx, CollisionPoly** poly, s32* bgId, Vec3f* pos) {
f32 Play_GetFloorSurfaceImpl(PlayState* this, MtxF* mtx, CollisionPoly** poly, s32* bgId, Vec3f* pos) {
f32 floorHeight = BgCheck_EntityRaycastFloor3(&this->colCtx, poly, bgId, pos);
if (floorHeight > BGCHECK_Y_MIN) {
@@ -1539,11 +1540,11 @@ f32 func_80169100(PlayState* this, MtxF* mtx, CollisionPoly** poly, s32* bgId, V
return floorHeight;
}
void func_801691F0(PlayState* this, MtxF* mtx, Vec3f* pos) {
void Play_GetFloorSurface(PlayState* this, MtxF* mtx, Vec3f* pos) {
CollisionPoly* poly;
s32 bgId;
func_80169100(this, mtx, &poly, &bgId, pos);
Play_GetFloorSurfaceImpl(this, mtx, &poly, &bgId, pos);
}
void* Play_LoadFile(PlayState* this, RomFile* entry) {
@@ -209,8 +209,8 @@ void EnWarpTag_RespawnPlayer(EnWarptag* this, PlayState* play) {
// why are we getting player home rotation from the room data? doesnt player have home.rot.y?
// especially because we are converting from deg to binang, but isnt home.rot.y already in binang??
Play_SetRespawnData(
&play->state, 0, entrance,
play->setupEntranceList[playerSpawnIndex].room, playerParams, &newRespawnPos,
&play->state, 0, entrance, play->setupEntranceList[playerSpawnIndex].room, playerParams,
&newRespawnPos,
((((playerActorEntry->rot.y >> 7) & 0x1FF) / 180.0f) * 32768.0f)); // DEG_TO_BINANG ?
Play_TriggerVoidOut(&play->state);
@@ -70,7 +70,7 @@ void EffectSsBlast_Draw(PlayState* play, u32 index, EffectSs* this) {
func_8012C2DC(play->state.gfxCtx);
gDPSetEnvColor(POLY_XLU_DISP++, this->rEnvColorR, this->rEnvColorG, this->rEnvColorB, this->rEnvColorA);
func_801691F0(play, &mf, &this->pos);
Play_GetFloorSurface(play, &mf, &this->pos);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, this->rPrimColorA);
Matrix_Put(&mf);
Matrix_Scale(radius, radius, radius, MTXMODE_APPLY);