[Scummvm-git-logs] scummvm master -> 288e1aaa3f87f93c55c7fe1d8ade7c131373e5b5
sev-
noreply at scummvm.org
Mon Jan 8 12:07:09 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
288e1aaa3f COMMON: Remove use of fmin/fmax/fminf/fmaxf
Commit: 288e1aaa3f87f93c55c7fe1d8ade7c131373e5b5
https://github.com/scummvm/scummvm/commit/288e1aaa3f87f93c55c7fe1d8ade7c131373e5b5
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2024-01-08T13:07:05+01:00
Commit Message:
COMMON: Remove use of fmin/fmax/fminf/fmaxf
Changed paths:
audio/soundfont/vab/psxspu.h
backends/plugins/psp2/psp2-provider.cpp
backends/plugins/riscos/riscos-provider.cpp
common/forbidden.h
engines/grim/emi/costume/emihead.cpp
engines/grim/emi/modelemi.cpp
engines/grim/emi/sound/track.cpp
engines/groovie/video/player.cpp
math/vector3d.h
diff --git a/audio/soundfont/vab/psxspu.h b/audio/soundfont/vab/psxspu.h
index 559e4bd49a4..8070b5fa890 100644
--- a/audio/soundfont/vab/psxspu.h
+++ b/audio/soundfont/vab/psxspu.h
@@ -28,6 +28,7 @@
#include "audio/soundfont/common.h"
#include "common/str.h"
+#include "common/util.h"
#include "audio/soundfont/vgminstrset.h"
#include "audio/soundfont/vgmsamp.h"
#include "audio/soundfont/vgmitem.h"
@@ -170,7 +171,7 @@ void PSXConvADSR(T *realADSR, uint8 Am, uint8 Ar, uint8 Dr, uint8 Sl, uint8 Sm,
samples = (unsigned long)(0x60000000 / rate);
remainder = 0x60000000 % rate;
rate = RateTable[RoundToZero((Ar ^ 0x7F) - 0x18) + 32];
- samples += ceil(fmax(0, 0x1FFFFFFF - (long) remainder) / (double) rate);
+ samples += ceil(MAX<double>(0, 0x1FFFFFFF - (long) remainder) / (double) rate);
}
timeInSecs = samples / sampleRate;
realADSR->_attack_time = timeInSecs;
diff --git a/backends/plugins/psp2/psp2-provider.cpp b/backends/plugins/psp2/psp2-provider.cpp
index 4e1667c2e9b..3abb8d200f4 100644
--- a/backends/plugins/psp2/psp2-provider.cpp
+++ b/backends/plugins/psp2/psp2-provider.cpp
@@ -41,8 +41,6 @@ void *forceLinkFunctions[] = {
(void *)(void *(*)(std::size_t, std::nothrow_t const&))operator new [],
(void *)coshf,
(void *)fgetc,
- (void *)fmaxf,
- (void *)fminf,
(void *)frexpf,
(void *)getc,
(void *)log2f,
diff --git a/backends/plugins/riscos/riscos-provider.cpp b/backends/plugins/riscos/riscos-provider.cpp
index d36213adf0e..7a7c7f7f3ee 100644
--- a/backends/plugins/riscos/riscos-provider.cpp
+++ b/backends/plugins/riscos/riscos-provider.cpp
@@ -57,8 +57,6 @@ void pluginHack() {
f = expf(f);
f = frexpf(f, NULL);
f = ldexpf(f, 1);
- f = fmaxf(f, f);
- f = fminf(f, f);
f = truncf(f);
d = nearbyint(d);
diff --git a/common/forbidden.h b/common/forbidden.h
index 7826f6af396..c1e61411199 100644
--- a/common/forbidden.h
+++ b/common/forbidden.h
@@ -462,6 +462,38 @@
#endif // FORBIDDEN_SYMBOL_EXCEPTION_ctype_h
+
+//
+// Disable various symbols from math.h
+//
+#ifndef FORBIDDEN_SYMBOL_EXCEPTION_math_h
+
+ // Use MIN in common/util.h
+ #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fmin
+ #undef fmin
+ #define fmin(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
+ #endif
+
+ // Use MIN in common/util.h
+ #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fminf
+ #undef fminf
+ #define fminf(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
+ #endif
+
+ // Use MAX in common/util.h
+ #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fmax
+ #undef fmax
+ #define fmax(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
+ #endif
+
+ // Use MAX in common/util.h
+ #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fmaxf
+ #undef fmaxf
+ #define fmaxf(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
+ #endif
+
+#endif // FORBIDDEN_SYMBOL_EXCEPTION_math_h
+
// No equivalent in ScummVM
#ifndef FORBIDDEN_SYMBOL_EXCEPTION_mkdir
#undef mkdir
diff --git a/engines/grim/emi/costume/emihead.cpp b/engines/grim/emi/costume/emihead.cpp
index fbcc26aca0a..1f88e78e47a 100644
--- a/engines/grim/emi/costume/emihead.cpp
+++ b/engines/grim/emi/costume/emihead.cpp
@@ -101,7 +101,7 @@ void EMIHead::lookAt(bool entering, const Math::Vector3d &point, float rate, con
if (_headRot != lookAtQuat) {
Math::Quaternion diff = _headRot.inverse() * lookAtQuat;
diff.normalize();
- float angle = 2 * acos(fminf(fmaxf(diff.w(), -1.0f), 1.0f));
+ float angle = 2 * acos(MIN(MAX(diff.w(), -1.0f), 1.0f));
if (diff.w() < 0.0f) {
angle = 2 * (float)M_PI - angle;
}
diff --git a/engines/grim/emi/modelemi.cpp b/engines/grim/emi/modelemi.cpp
index dd365ba103a..d1dc40aaeec 100644
--- a/engines/grim/emi/modelemi.cpp
+++ b/engines/grim/emi/modelemi.cpp
@@ -368,7 +368,7 @@ void EMIModel::updateLighting(const Math::Matrix4 &modelToWorld) {
if (cosAngle < 0.0f)
continue;
- float angle = acos(fminf(cosAngle, 1.0f));
+ float angle = acos(MIN(cosAngle, 1.0f));
if (angle > l->_penumbraangle)
continue;
diff --git a/engines/grim/emi/sound/track.cpp b/engines/grim/emi/sound/track.cpp
index 7a0805a913b..8344550663e 100644
--- a/engines/grim/emi/sound/track.cpp
+++ b/engines/grim/emi/sound/track.cpp
@@ -89,7 +89,7 @@ void SoundTrack::updatePosition() {
if (_volume == 0) {
_attenuation = 0.0f;
} else {
- _attenuation = fmaxf(0.0f, 1.0f - distance / (_volume * 100.0f / Audio::Mixer::kMaxChannelVolume));
+ _attenuation = MAX(0.0f, 1.0f - distance / (_volume * 100.0f / Audio::Mixer::kMaxChannelVolume));
}
Math::Matrix4 worldRot = setup->_rot;
diff --git a/engines/groovie/video/player.cpp b/engines/groovie/video/player.cpp
index c15da648d12..3e1bb41ed1c 100644
--- a/engines/groovie/video/player.cpp
+++ b/engines/groovie/video/player.cpp
@@ -138,7 +138,7 @@ void VideoPlayer::waitFrame() {
uint32 millisDiff = currTime - _lastFrameTime;
float fMillis = _millisBetweenFrames + _frameTimeDrift;
// use floorf instead of roundf, because delayMillis often slightly over-sleeps
- uint32 millisSleep = fmaxf(0.0f, floorf(fMillis) - float(millisDiff));
+ uint32 millisSleep = MAX(0.0f, floorf(fMillis) - float(millisDiff));
if (millisSleep > 0) {
debugC(7, kDebugVideo, "Groovie::Player: Delaying %d (currTime=%d, _lastFrameTime=%d, millisDiff=%d, _millisBetweenFrame=%.2f, _frameTimeDrift=%.2f)",
diff --git a/math/vector3d.h b/math/vector3d.h
index 832d86b0f39..9f531bd563c 100644
--- a/math/vector3d.h
+++ b/math/vector3d.h
@@ -94,7 +94,7 @@ public:
* @return The computed angle
*/
inline static Angle angle(const Vector3d& v1, const Vector3d& v2) {
- return Angle::arcCosine(fminf(fmaxf(dotProduct(v1, v2) / (v1.getMagnitude() * v2.getMagnitude()), -1.0f), 1.0f));
+ return Angle::arcCosine(MIN(MAX(dotProduct(v1, v2) / (v1.getMagnitude() * v2.getMagnitude()), -1.0f), 1.0f));
}
/**
More information about the Scummvm-git-logs
mailing list