- Cleaned out of the code and converted it to taking a struct instead.
- This will make it much easier on me to add future changes. Big thanks to Graf for the idea.
This commit is contained in:
parent
d6e4a7a081
commit
49d9482363
3 changed files with 34 additions and 31 deletions
|
|
@ -770,9 +770,10 @@ bool R_GetViewInterpolationStatus()
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
static fixed_t QuakePower(double factor, int intensity, double scaleDown, double scaleDownStart)
|
||||
static fixed_t QuakePower(double factor, int intensity, quakeInfo quake)
|
||||
{
|
||||
|
||||
double scaleDownStart = quake.scaleDownStart;
|
||||
double scaleDown = quake.scaleDown;
|
||||
if (intensity == 0)
|
||||
{
|
||||
return 0;
|
||||
|
|
@ -902,41 +903,38 @@ void R_SetupFrame (AActor *actor)
|
|||
|
||||
if (!paused)
|
||||
{
|
||||
int intensityX, intensityY, intensityZ, relIntensityX, relIntensityY, relIntensityZ;
|
||||
double scaleDown, scaleDownStart;
|
||||
if (DEarthquake::StaticGetQuakeIntensities(camera,
|
||||
intensityX, intensityY, intensityZ,
|
||||
relIntensityX, relIntensityY, relIntensityZ, scaleDown, scaleDownStart) > 0)
|
||||
quakeInfo quake;
|
||||
if (DEarthquake::StaticGetQuakeIntensities(camera, quake) > 0)
|
||||
{
|
||||
double quakefactor = r_quakeintensity;
|
||||
|
||||
if (relIntensityX != 0)
|
||||
if (quake.relIntensityX != 0)
|
||||
{
|
||||
int ang = (camera->angle) >> ANGLETOFINESHIFT;
|
||||
fixed_t power = QuakePower(quakefactor, relIntensityX, scaleDown, scaleDownStart);
|
||||
fixed_t power = QuakePower(quakefactor, quake.relIntensityX, quake);
|
||||
viewx += FixedMul(finecosine[ang], power);
|
||||
viewy += FixedMul(finesine[ang], power);
|
||||
}
|
||||
if (relIntensityY != 0)
|
||||
if (quake.relIntensityY != 0)
|
||||
{
|
||||
int ang = (camera->angle + ANG90) >> ANGLETOFINESHIFT;
|
||||
fixed_t power = QuakePower(quakefactor, relIntensityY, scaleDown, scaleDownStart);
|
||||
fixed_t power = QuakePower(quakefactor, quake.relIntensityY, quake);
|
||||
viewx += FixedMul(finecosine[ang], power);
|
||||
viewy += FixedMul(finesine[ang], power);
|
||||
}
|
||||
if (intensityX != 0)
|
||||
if (quake.intensityX != 0)
|
||||
{
|
||||
viewx += QuakePower(quakefactor, intensityX, scaleDown, scaleDownStart);
|
||||
viewx += QuakePower(quakefactor, quake.intensityX, quake);
|
||||
}
|
||||
if (intensityY != 0)
|
||||
if (quake.intensityY != 0)
|
||||
{
|
||||
viewy += QuakePower(quakefactor, intensityY, scaleDown, scaleDownStart);
|
||||
viewy += QuakePower(quakefactor, quake.intensityY, quake);
|
||||
}
|
||||
// FIXME: Relative Z is not relative
|
||||
intensityZ = MAX(intensityZ, relIntensityZ);
|
||||
if (intensityZ != 0)
|
||||
quake.intensityZ = MAX(quake.intensityZ, quake.relIntensityZ);
|
||||
if (quake.intensityZ != 0)
|
||||
{
|
||||
viewz += QuakePower(quakefactor, intensityZ, scaleDown, scaleDownStart);
|
||||
viewz += QuakePower(quakefactor, quake.intensityZ, quake);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue