diff --git a/src/game/puppycam2.c b/src/game/puppycam2.c index 2df809e9..21189f87 100644 --- a/src/game/puppycam2.c +++ b/src/game/puppycam2.c @@ -807,7 +807,7 @@ static void puppycam_view_panning(void) f32 panFloor, panMulti; s32 expectedPanX, expectedPanZ; s32 height = gPuppyCam.targetObj->oPosY; - s32 panEx = (gPuppyCam.zoomTarget >= 1000) * 250; //Removes the basic panning when idling if the zoom level is at the closest. + s32 panEx = (gPuppyCam.zoomTarget >= 1000) * 160; //Removes the basic panning when idling if the zoom level is at the closest. f32 slideSpeed = 1; panMulti = CLAMP(gPuppyCam.zoom/(f32)gPuppyCam.zoomPoints[2], 0.f, 1.f); @@ -819,8 +819,8 @@ static void puppycam_view_panning(void) if (gMarioState->action & ACT_FLAG_BUTT_OR_STOMACH_SLIDE) slideSpeed = 10; - expectedPanX = LENSIN(panEx+(200*(gMarioState->forwardVel/32.f)), gMarioState->faceAngle[1])*panMulti; - expectedPanZ = LENCOS(panEx+(200*(gMarioState->forwardVel/32.f)), gMarioState->faceAngle[1])*panMulti; + expectedPanX = LENSIN(panEx+(200*(gMarioState->forwardVel/320.f)), gMarioState->faceAngle[1])*panMulti; + expectedPanZ = LENCOS(panEx+(200*(gMarioState->forwardVel/320.f)), gMarioState->faceAngle[1])*panMulti; gPuppyCam.pan[0] = approach_f32_asymptotic(gPuppyCam.pan[0], expectedPanX, 0.02f*slideSpeed); gPuppyCam.pan[2] = approach_f32_asymptotic(gPuppyCam.pan[2], expectedPanZ, 0.02f*slideSpeed); @@ -839,10 +839,10 @@ static void puppycam_view_panning(void) gPuppyCam.edgePitch = approach_s32(gPuppyCam.edgePitch, 0, 0x100, 0x100); } - gPuppyCam.pan[1] = approach_f32_asymptotic(gPuppyCam.pan[1], panFloor-height, 0.25f); + gPuppyCam.pan[1] = approach_f32_asymptotic(gPuppyCam.pan[1], panFloor-height, 0.025f); } else - gPuppyCam.pan[1] = approach_f32_asymptotic(gPuppyCam.pan[1], 0, 0.5f); + gPuppyCam.pan[1] = approach_f32_asymptotic(gPuppyCam.pan[1], 0, 0.05f); } else { @@ -883,7 +883,7 @@ void puppycam_terrain_angle(void) } else { - floorPitch = -atan2s(10.0f, gMarioState->floorHeight - floorHeight); + floorPitch = -atan2s(30.0f, gMarioState->floorHeight - floorHeight); gPuppyCam.intendedTerrainPitch = approach_f32_asymptotic(gPuppyCam.intendedTerrainPitch, floorPitch, adjustSpeed); gotTheOkay = TRUE; } diff --git a/src/game/puppycam2.h b/src/game/puppycam2.h index c3648c91..486d9b1e 100644 --- a/src/game/puppycam2.h +++ b/src/game/puppycam2.h @@ -89,7 +89,7 @@ struct gPuppyStruct u8 opacity; //A value set by collision distance, to fade Mario out if you're too close. s8 stick2[2];//The value that's set and read for analogue stick. u8 stickN[2]; //This is set when the stick is neutral. It's to prevent rapidfire input. - u8 enabled; //A boolean that decides whether to use vanilla camera or puppy camera. Of course, anybody with this enabled is obligated to a death sentence :) + u8 enabled; //A boolean that decides whether to use vanilla camera or puppy camera. s16 swimPitch; //Pitch adjustment that's applied when swimming. All pitch adjustment is clamped. s16 edgePitch; //Pitch adjustment that's applied when stood near an edge. All pitch adjustment is clamped. s16 moveZoom; //A small zoom value that's added on top of the regular zoom when moving. It's pretty subtle, but gives the feeling of a bit of speed.