mirror of
https://github.com/GTAmodding/re3.git
synced 2025-07-18 17:14:09 +00:00
Merge branch 'miami' into lcs
# Conflicts: # src/control/CarCtrl.cpp # src/control/Script4.cpp # src/core/Frontend.cpp
This commit is contained in:
commit
138abb91f6
51 changed files with 293 additions and 313 deletions
|
@ -1187,7 +1187,7 @@ CCam::Process_FollowPed(const CVector &CameraTarget, float TargetOrientation, fl
|
|||
|
||||
float ReqSpeed = DeltaBeta * SpeedMultiplier;
|
||||
// this is also added
|
||||
ReqSpeed = clamp(ReqSpeed, -SpeedLimit, SpeedLimit);
|
||||
ReqSpeed = Clamp(ReqSpeed, -SpeedLimit, SpeedLimit);
|
||||
|
||||
// Add or subtract absolute depending on sign, genius!
|
||||
if(ReqSpeed - BetaSpeed > 0.0f)
|
||||
|
@ -1682,7 +1682,7 @@ CCam::WorkOutCamHeight(const CVector &TargetCoors, float TargetOrientation, floa
|
|||
Test.z = TargetCoors.z + 0.2f + Length*Sin(CarAlpha+AlphaOffset) + m_fCloseInCarHeightOffset;
|
||||
if(CWorld::ProcessVerticalLine(Test, CamTargetEntity->GetPosition().z, point, entity, true, false, false, false, false, false, nil)){
|
||||
float sin = (point.point.z - TargetCoors.z - 0.2f - m_fCloseInCarHeightOffset)/Length;
|
||||
CarAlpha = Asin(clamp(sin, -1.0f, 1.0f)) - AlphaOffset;
|
||||
CarAlpha = Asin(Clamp(sin, -1.0f, 1.0f)) - AlphaOffset;
|
||||
if(CarAlpha < 0.0f)
|
||||
AlphaOffset += CarAlpha;
|
||||
}
|
||||
|
@ -1832,7 +1832,7 @@ CCam::Process_Cam_On_A_String(const CVector &CameraTarget, float TargetOrientati
|
|||
if(DeltaBeta > PI) DeltaBeta -= TWOPI;
|
||||
else if(DeltaBeta < -PI) DeltaBeta += TWOPI;
|
||||
float dist = (TargetCoors - Source).Magnitude();
|
||||
dist = FIRETRUCK_TRACKING_MULT*dist*clamp(DeltaBeta, -0.8f, 0.8f);
|
||||
dist = FIRETRUCK_TRACKING_MULT*dist*Clamp(DeltaBeta, -0.8f, 0.8f);
|
||||
Source += dist*CrossProduct(Front, CVector(0.0f, 0.0f, 1.0f));
|
||||
}
|
||||
|
||||
|
@ -2805,7 +2805,7 @@ CCam::Process_1rstPersonPedOnPC(const CVector&, float TargetOrientation, float,
|
|||
if(BetaOffset > PI) BetaOffset -= TWOPI;
|
||||
else if(BetaOffset < PI) BetaOffset += TWOPI;
|
||||
|
||||
BetaOffset = clamp(BetaOffset, -pedTarget->m_attachRotStep, pedTarget->m_attachRotStep);
|
||||
BetaOffset = Clamp(BetaOffset, -pedTarget->m_attachRotStep, pedTarget->m_attachRotStep);
|
||||
Beta = NewBeta + BetaOffset;
|
||||
}
|
||||
|
||||
|
@ -3275,7 +3275,7 @@ CCam::Process_BehindBoat(const CVector &CameraTarget, float TargetOrientation, f
|
|||
// useless call
|
||||
//CWaterLevel::GetWaterLevelNoWaves(TargetCoors.x, TargetCoors.y, TargetCoors.z, &Water);
|
||||
Water = (WaterLevel + WATER_Z_ADDITION_MIN - WaterLevelBuffered - WATER_Z_ADDITION)/(BoatDimensions.z/2.0f + MaxHeightUp);
|
||||
TargetAlpha = Asin(clamp(Water, -1.0f, 1.0f));
|
||||
TargetAlpha = Asin(Clamp(Water, -1.0f, 1.0f));
|
||||
}
|
||||
|
||||
if(ResetStatics){
|
||||
|
@ -3461,7 +3461,7 @@ FindSplinePathPositionFloat(float *out, float *spline, uint32 time, uint32 &mark
|
|||
}
|
||||
}
|
||||
float a = ((float)time - (float)MS(spline[marker-4])) / (float)MS(spline[marker] - spline[marker-4]);
|
||||
a = clamp(a, 0.0f, 1.0f);
|
||||
a = Clamp(a, 0.0f, 1.0f);
|
||||
float b = 1.0f - a;
|
||||
*out = b*b*b * spline[marker-3] +
|
||||
3.0f*a*b*b * spline[marker-1] +
|
||||
|
@ -3499,7 +3499,7 @@ FindSplinePathPositionVector(CVector *out, float *spline, uint32 time, uint32 &m
|
|||
}
|
||||
|
||||
float a = ((float)time - (float)MS(spline[marker-10])) / (float)MS(spline[marker] - spline[marker-10]);
|
||||
a = clamp(a, 0.0f, 1.0f);
|
||||
a = Clamp(a, 0.0f, 1.0f);
|
||||
float b = 1.0f - a;
|
||||
out->x =
|
||||
b*b*b * spline[marker-9] +
|
||||
|
@ -4925,7 +4925,7 @@ CCam::Process_FollowCar_SA(const CVector& CameraTarget, float TargetOrientation,
|
|||
// 0.98f: CAR_FOV_FADE_MULT
|
||||
FOV = Pow(0.98f, CTimer::GetTimeStep()) * (FOV - DefaultFOV) + DefaultFOV;
|
||||
|
||||
FOV = clamp(FOV, DefaultFOV, DefaultFOV + 30.0f);
|
||||
FOV = Clamp(FOV, DefaultFOV, DefaultFOV + 30.0f);
|
||||
}
|
||||
|
||||
// WORKAROUND: I still don't know how looking behind works (m_bCamDirectlyInFront is unused in III, they seem to use m_bUseTransitionBeta)
|
||||
|
@ -5044,7 +5044,7 @@ CCam::Process_FollowCar_SA(const CVector& CameraTarget, float TargetOrientation,
|
|||
}
|
||||
}
|
||||
|
||||
float targetAlpha = Asin(clamp(Front.z, -1.0f, 1.0f)) - zoomModeAlphaOffset;
|
||||
float targetAlpha = Asin(Clamp(Front.z, -1.0f, 1.0f)) - zoomModeAlphaOffset;
|
||||
if (targetAlpha <= maxAlphaAllowed) {
|
||||
if (targetAlpha < -CARCAM_SET[camSetArrPos][14])
|
||||
targetAlpha = -CARCAM_SET[camSetArrPos][14];
|
||||
|
|
|
@ -348,7 +348,7 @@ CCamera::Process(void)
|
|||
currentTime = m_uiTransitionDuration;
|
||||
float fractionInter = (float) currentTime / m_uiTransitionDuration;
|
||||
float fractionInterTarget = (float) currentTime / m_uiTransitionDurationTargetCoors;
|
||||
fractionInterTarget = clamp(fractionInterTarget, 0.0f, 1.0f);
|
||||
fractionInterTarget = Clamp(fractionInterTarget, 0.0f, 1.0f);
|
||||
|
||||
// Interpolate target separately
|
||||
if(fractionInterTarget <= m_fFractionInterToStopMovingTarget){
|
||||
|
@ -552,7 +552,7 @@ CCamera::Process(void)
|
|||
|
||||
// Process Shake
|
||||
float shakeStrength = m_fCamShakeForce - 0.28f*(CTimer::GetTimeInMilliseconds()-m_uiCamShakeStart)/1000.0f;
|
||||
shakeStrength = clamp(shakeStrength, 0.0f, 2.0f);
|
||||
shakeStrength = Clamp(shakeStrength, 0.0f, 2.0f);
|
||||
int shakeRand = CGeneral::GetRandomNumber();
|
||||
float shakeOffset = shakeStrength*0.1f;
|
||||
GetMatrix().GetPosition().x += shakeOffset * ((shakeRand & 0xF) - 7);
|
||||
|
@ -1914,7 +1914,7 @@ CCamera::CamShake(float strength, float x, float y, float z)
|
|||
|
||||
float curForce = mult*(m_fCamShakeForce - (CTimer::GetTimeInMilliseconds() - m_uiCamShakeStart)/1000.0f);
|
||||
strength = mult*strength;
|
||||
if(clamp(curForce, 0.0f, 2.0f) < strength){
|
||||
if(Clamp(curForce, 0.0f, 2.0f) < strength){
|
||||
m_fCamShakeForce = strength;
|
||||
m_uiCamShakeStart = CTimer::GetTimeInMilliseconds();
|
||||
}
|
||||
|
@ -1925,7 +1925,7 @@ void
|
|||
CamShakeNoPos(CCamera *cam, float strength)
|
||||
{
|
||||
float curForce = cam->m_fCamShakeForce - (CTimer::GetTimeInMilliseconds() - cam->m_uiCamShakeStart)/1000.0f;
|
||||
if(clamp(curForce, 0.0f, 2.0f) < strength){
|
||||
if(Clamp(curForce, 0.0f, 2.0f) < strength){
|
||||
cam->m_fCamShakeForce = strength;
|
||||
cam->m_uiCamShakeStart = CTimer::GetTimeInMilliseconds();
|
||||
}
|
||||
|
@ -3987,7 +3987,7 @@ CCamera::Find3rdPersonCamTargetVector(float dist, CVector pos, CVector &source,
|
|||
float
|
||||
CCamera::Find3rdPersonQuickAimPitch(void)
|
||||
{
|
||||
float clampedFrontZ = clamp(Cams[ActiveCam].Front.z, -1.0f, 1.0f);
|
||||
float clampedFrontZ = Clamp(Cams[ActiveCam].Front.z, -1.0f, 1.0f);
|
||||
|
||||
float rot = Asin(clampedFrontZ);
|
||||
|
||||
|
|
|
@ -1147,7 +1147,7 @@ CFileLoader::Load2dEffect(const char *line)
|
|||
&probability);
|
||||
effect->attractor.type = flags;
|
||||
#ifdef FIX_BUGS
|
||||
effect->attractor.probability = clamp(probability, 0, 255);
|
||||
effect->attractor.probability = Clamp(probability, 0, 255);
|
||||
#else
|
||||
effect->attractor.probability = probability;
|
||||
#endif
|
||||
|
|
|
@ -711,27 +711,27 @@ CMenuManager::CheckSliderMovement(int value)
|
|||
switch (aScreens[m_nCurrScreen].m_aEntries[m_nCurrOption].m_Action) {
|
||||
case MENUACTION_BRIGHTNESS:
|
||||
m_PrefsBrightness += value * 32.0f;
|
||||
m_PrefsBrightness = clamp(m_PrefsBrightness, MIN_BRIGHTNESS, MAX_BRIGHTNESS);
|
||||
m_PrefsBrightness = Clamp(m_PrefsBrightness, MIN_BRIGHTNESS, MAX_BRIGHTNESS);
|
||||
break;
|
||||
case MENUACTION_DRAWDIST:
|
||||
if(value > 0)
|
||||
m_PrefsLOD += ((1.8f - 0.925f) / 16.0f);
|
||||
else
|
||||
m_PrefsLOD -= ((1.8f - 0.925f) / 16.0f);
|
||||
m_PrefsLOD = clamp(m_PrefsLOD, 0.925f, 1.8f);
|
||||
m_PrefsLOD = Clamp(m_PrefsLOD, 0.925f, 1.8f);
|
||||
CRenderer::ms_lodDistScale = m_PrefsLOD;
|
||||
break;
|
||||
case MENUACTION_MUSICVOLUME:
|
||||
if (m_nPrefsAudio3DProviderIndex != NO_AUDIO_PROVIDER) {
|
||||
m_PrefsMusicVolume += value * (128 / 32);
|
||||
m_PrefsMusicVolume = clamp(m_PrefsMusicVolume, 0, 65);
|
||||
m_PrefsMusicVolume = Clamp(m_PrefsMusicVolume, 0, 65);
|
||||
DMAudio.SetMusicMasterVolume(m_PrefsMusicVolume);
|
||||
}
|
||||
break;
|
||||
case MENUACTION_SFXVOLUME:
|
||||
if (m_nPrefsAudio3DProviderIndex != NO_AUDIO_PROVIDER) {
|
||||
m_PrefsSfxVolume += value * (128 / 32);
|
||||
m_PrefsSfxVolume = clamp(m_PrefsSfxVolume, 0, 65);
|
||||
m_PrefsSfxVolume = Clamp(m_PrefsSfxVolume, 0, 65);
|
||||
DMAudio.SetEffectsMasterVolume(m_PrefsSfxVolume);
|
||||
}
|
||||
break;
|
||||
|
@ -739,14 +739,14 @@ CMenuManager::CheckSliderMovement(int value)
|
|||
if (m_nPrefsAudio3DProviderIndex != NO_AUDIO_PROVIDER) {
|
||||
if (DMAudio.IsMP3RadioChannelAvailable()) {
|
||||
m_PrefsMP3BoostVolume += value * (128 / 32);
|
||||
m_PrefsMP3BoostVolume = clamp(m_PrefsMP3BoostVolume, 0, 65);
|
||||
m_PrefsMP3BoostVolume = Clamp(m_PrefsMP3BoostVolume, 0, 65);
|
||||
DMAudio.SetMP3BoostVolume(m_PrefsMP3BoostVolume);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MENUACTION_MOUSESENS:
|
||||
TheCamera.m_fMouseAccelHorzntl += value * 1.0f/200.0f/15.0f; // ???
|
||||
TheCamera.m_fMouseAccelHorzntl = clamp(TheCamera.m_fMouseAccelHorzntl, 1.0f/3200.0f, 1.0f/200.0f);
|
||||
TheCamera.m_fMouseAccelHorzntl = Clamp(TheCamera.m_fMouseAccelHorzntl, 1.0f/3200.0f, 1.0f/200.0f);
|
||||
#ifdef FIX_BUGS
|
||||
TheCamera.m_fMouseAccelVertical = TheCamera.m_fMouseAccelHorzntl + 0.0005f;
|
||||
#endif
|
||||
|
@ -3490,8 +3490,8 @@ CMenuManager::Process(void)
|
|||
break; \
|
||||
\
|
||||
m_fMapSize *= z2; \
|
||||
m_fMapCenterX = clamp(m_fMapCenterX, SCREEN_WIDTH/2 - (m_fMapSize - MENU_X(MAP_MIN_SIZE)), m_fMapSize - MENU_X(MAP_MIN_SIZE) + SCREEN_WIDTH/2); \
|
||||
m_fMapCenterY = clamp(m_fMapCenterY, SCREEN_HEIGHT/2 - (m_fMapSize - MENU_Y(MAP_MIN_SIZE)), m_fMapSize - MENU_Y(MAP_MIN_SIZE) + SCREEN_HEIGHT/2); \
|
||||
m_fMapCenterX = Clamp(m_fMapCenterX, SCREEN_WIDTH/2 - (m_fMapSize - MENU_X(MAP_MIN_SIZE)), m_fMapSize - MENU_X(MAP_MIN_SIZE) + SCREEN_WIDTH/2); \
|
||||
m_fMapCenterY = Clamp(m_fMapCenterY, SCREEN_HEIGHT/2 - (m_fMapSize - MENU_Y(MAP_MIN_SIZE)), m_fMapSize - MENU_Y(MAP_MIN_SIZE) + SCREEN_HEIGHT/2); \
|
||||
} while(0)
|
||||
|
||||
#endif
|
||||
|
@ -3529,8 +3529,8 @@ CMenuManager::AdditionalOptionInput(bool &goBack)
|
|||
m_fMapCenterX += (SCREEN_WIDTH/2 - m_fMapCenterX) / ((m_fMapSize - MENU_X(MAP_MIN_SIZE)) * 1/15.f);
|
||||
|
||||
m_fMapSize = Max(MENU_Y(MAP_MIN_SIZE), m_fMapSize - MENU_Y(15.f));
|
||||
m_fMapCenterX = clamp(m_fMapCenterX, SCREEN_WIDTH/2 - (m_fMapSize - MENU_X(MAP_MIN_SIZE)), m_fMapSize - MENU_X(MAP_MIN_SIZE) + SCREEN_WIDTH/2);
|
||||
m_fMapCenterY = clamp(m_fMapCenterY, SCREEN_HEIGHT/2 - (m_fMapSize - MENU_Y(MAP_MIN_SIZE)), m_fMapSize - MENU_Y(MAP_MIN_SIZE) + SCREEN_HEIGHT/2);
|
||||
m_fMapCenterX = Clamp(m_fMapCenterX, SCREEN_WIDTH/2 - (m_fMapSize - MENU_X(MAP_MIN_SIZE)), m_fMapSize - MENU_X(MAP_MIN_SIZE) + SCREEN_WIDTH/2);
|
||||
m_fMapCenterY = Clamp(m_fMapCenterY, SCREEN_HEIGHT/2 - (m_fMapSize - MENU_Y(MAP_MIN_SIZE)), m_fMapSize - MENU_Y(MAP_MIN_SIZE) + SCREEN_HEIGHT/2);
|
||||
} else {
|
||||
m_fMapSize = MENU_Y(MAP_MIN_SIZE);
|
||||
}
|
||||
|
@ -3571,8 +3571,8 @@ CMenuManager::AdditionalOptionInput(bool &goBack)
|
|||
if (!justResetPointer) {
|
||||
m_fMapCenterX += m_nMousePosX - m_nMouseOldPosX;
|
||||
m_fMapCenterY += m_nMousePosY - m_nMouseOldPosY;
|
||||
m_fMapCenterX = clamp(m_fMapCenterX, SCREEN_WIDTH/2 - (m_fMapSize - MENU_X(MAP_MIN_SIZE)), m_fMapSize - MENU_X(MAP_MIN_SIZE) + SCREEN_WIDTH/2);
|
||||
m_fMapCenterY = clamp(m_fMapCenterY, SCREEN_HEIGHT/2 - (m_fMapSize - MENU_Y(MAP_MIN_SIZE)), m_fMapSize - MENU_Y(MAP_MIN_SIZE) + SCREEN_HEIGHT/2);
|
||||
m_fMapCenterX = Clamp(m_fMapCenterX, SCREEN_WIDTH/2 - (m_fMapSize - MENU_X(MAP_MIN_SIZE)), m_fMapSize - MENU_X(MAP_MIN_SIZE) + SCREEN_WIDTH/2);
|
||||
m_fMapCenterY = Clamp(m_fMapCenterY, SCREEN_HEIGHT/2 - (m_fMapSize - MENU_Y(MAP_MIN_SIZE)), m_fMapSize - MENU_Y(MAP_MIN_SIZE) + SCREEN_HEIGHT/2);
|
||||
}
|
||||
justResetPointer = false;
|
||||
|
||||
|
@ -5068,7 +5068,7 @@ CMenuManager::ProcessUserInput(uint8 goDown, uint8 goUp, uint8 optionSelected, u
|
|||
case MENUACTION_SPEAKERCONF:
|
||||
if (m_nPrefsAudio3DProviderIndex != NO_AUDIO_PROVIDER) {
|
||||
m_PrefsSpeakers -= changeAmount;
|
||||
m_PrefsSpeakers = clamp(m_PrefsSpeakers, 0, 2);
|
||||
m_PrefsSpeakers = Clamp(m_PrefsSpeakers, 0, 2);
|
||||
DMAudio.SetSpeakerConfig(m_PrefsSpeakers);
|
||||
SaveSettings();
|
||||
}
|
||||
|
@ -5679,7 +5679,7 @@ CMenuManager::DrawQuitGameScreen(void)
|
|||
static int32 exitSignalTimer = 0;
|
||||
|
||||
#ifdef FIX_BUGS
|
||||
int alpha = clamp(m_nMenuFadeAlpha, 0, 255);
|
||||
int alpha = Clamp(m_nMenuFadeAlpha, 0, 255);
|
||||
#else
|
||||
int alpha = m_nMenuFadeAlpha;
|
||||
#endif
|
||||
|
|
|
@ -1375,7 +1375,7 @@ CMenuManager::DrawFrontEndNormal(void)
|
|||
if ((m_nStartPauseTimer - CTimer::GetTimeInMillisecondsPauseMode()) <= 1600)
|
||||
alpha = float(m_nStartPauseTimer - CTimer::GetTimeInMillisecondsPauseMode()) / 400.0f;
|
||||
|
||||
m_someAlpha = 255 - clamp(alpha, 0.0f, 1.0f) * 255.0f;
|
||||
m_someAlpha = 255 - Clamp(alpha, 0.0f, 1.0f) * 255.0f;
|
||||
|
||||
switch ( m_nSlidingDir )
|
||||
{
|
||||
|
@ -1392,7 +1392,7 @@ CMenuManager::DrawFrontEndNormal(void)
|
|||
float slide = float(m_nEndPauseTimer - CTimer::GetTimeInMillisecondsPauseMode()) / 800.0f;
|
||||
float alpha = float((int32)(m_nEndPauseTimer - CTimer::GetTimeInMillisecondsPauseMode()) + -266) / 533.0f;
|
||||
|
||||
m_someAlpha = clamp(alpha, 0.0f, 1.0f) * 255.0f;
|
||||
m_someAlpha = Clamp(alpha, 0.0f, 1.0f) * 255.0f;
|
||||
|
||||
switch ( m_nSlidingDir )
|
||||
{
|
||||
|
|
|
@ -56,7 +56,7 @@ public:
|
|||
|
||||
static float LimitRadianAngle(float angle)
|
||||
{
|
||||
float result = clamp(angle, -25.0f, 25.0f);
|
||||
float result = Clamp(angle, -25.0f, 25.0f);
|
||||
|
||||
while (result >= PI) {
|
||||
result -= 2 * PI;
|
||||
|
|
|
@ -299,7 +299,7 @@ CPlayerInfo::Process(void)
|
|||
m_fRoadDensity = ThePaths.CalcRoadDensity(playerPos.x, playerPos.y);
|
||||
}
|
||||
|
||||
m_fRoadDensity = clamp(m_fRoadDensity, 0.5f, 1.45f);
|
||||
m_fRoadDensity = Clamp(m_fRoadDensity, 0.5f, 1.45f);
|
||||
|
||||
// Because vehicle enter/exit use same key binding.
|
||||
bool enterOrExitVeh;
|
||||
|
|
|
@ -150,7 +150,7 @@ CRopes::FindCoorsAlongRope(uintptr id, float t, CVector *coors)
|
|||
float f;
|
||||
for(i = 0; i < ARRAY_SIZE(aRopes); i++)
|
||||
if(aRopes[i].m_bActive && aRopes[i].m_id == id){
|
||||
t = (ARRAY_SIZE(aRopes[0].m_pos)-1)*clamp(t, 0.0f, 0.999f);
|
||||
t = (ARRAY_SIZE(aRopes[0].m_pos)-1)*Clamp(t, 0.0f, 0.999f);
|
||||
j = t;
|
||||
f = t - j;
|
||||
*coors = (1.0f-f)*aRopes[i].m_pos[j] + f*aRopes[i].m_pos[j+1];
|
||||
|
|
|
@ -399,8 +399,8 @@ CWorld::ProcessVerticalLine(const CVector &point1, float z2, CColPoint &point, C
|
|||
CVector point2(point1.x, point1.y, z2);
|
||||
int secX = GetSectorIndexX(point1.x);
|
||||
int secY = GetSectorIndexY(point1.y);
|
||||
secX = clamp(secX, 0, NUMSECTORS_X-1);
|
||||
secY = clamp(secY, 0, NUMSECTORS_Y-1);
|
||||
secX = Clamp(secX, 0, NUMSECTORS_X-1);
|
||||
secY = Clamp(secY, 0, NUMSECTORS_Y-1);
|
||||
return ProcessVerticalLineSector(*GetSector(secX, secY),
|
||||
CColLine(point1, point2), point, entity, checkBuildings, checkVehicles,
|
||||
checkPeds, checkObjects, checkDummies, ignoreSeeThrough, poly);
|
||||
|
|
|
@ -303,9 +303,9 @@ extern int strncasecmp(const char *str1, const char *str2, size_t len);
|
|||
|
||||
extern wchar *AllocUnicode(const char*src);
|
||||
|
||||
#define clamp(v, low, high) ((v)<(low) ? (low) : (v)>(high) ? (high) : (v))
|
||||
#define Clamp(v, low, high) ((v)<(low) ? (low) : (v)>(high) ? (high) : (v))
|
||||
|
||||
#define clamp2(v, center, radius) ((v) < (center) ? Max(v, center - radius) : Min(v, center + radius))
|
||||
#define Clamp2(v, center, radius) ((v) < (center) ? Max(v, center - radius) : Min(v, center + radius))
|
||||
|
||||
inline float sq(float x) { return x*x; }
|
||||
#define SQR(x) ((x) * (x))
|
||||
|
|
|
@ -404,6 +404,7 @@ static_assert(false, "SUPPORT_XBOX_SCRIPT and SUPPORT_MOBILE_SCRIPT are mutually
|
|||
//#define AUDIO_OAL_USE_SNDFILE // use libsndfile to decode WAVs instead of our internal decoder
|
||||
#define AUDIO_OAL_USE_MPG123 // use mpg123 to support mp3 files
|
||||
#define MULTITHREADED_AUDIO // for streams. requires C++11 or later
|
||||
#define PAUSE_RADIO_IN_FRONTEND // pause radio when game is paused
|
||||
|
||||
#ifdef AUDIO_OPUS
|
||||
#define AUDIO_OAL_USE_OPUS // enable support of opus files
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue