mirror of
https://github.com/CookiePLMonster/SilentPatch.git
synced 2024-12-29 07:13:02 +05:00
SilentPatchIII/VC/SA: Add GCC/Clang-compatible safebuffers equivalent
And switch to a common define for this attribute (this fixes compile warnings on MinGW GCC)
This commit is contained in:
parent
b5483bbf59
commit
58905270bc
4 changed files with 14 additions and 5 deletions
|
@ -6,6 +6,15 @@
|
|||
|
||||
#include <rwcore.h>
|
||||
|
||||
// FIXME: Common.h might be a better place for this (but SA doesn't include it)
|
||||
#ifdef _MSC_VER
|
||||
#define NOBUFFERCHECKS __declspec(safebuffers)
|
||||
#elif defined(__GNUC__) && !defined(__clang__)
|
||||
#define NOBUFFERCHECKS __attribute__((optimize("-fno-stack-protector")))
|
||||
#else
|
||||
#define NOBUFFERCHECKS __attribute__((no_stack_protector))
|
||||
#endif
|
||||
|
||||
constexpr double RAD_TO_DEG (180.0/M_PI);
|
||||
constexpr double DEG_TO_RAD (M_PI/180.0);
|
||||
|
||||
|
@ -570,4 +579,4 @@ public:
|
|||
return angle;
|
||||
}
|
||||
|
||||
};
|
||||
};
|
||||
|
|
|
@ -380,7 +380,7 @@ __declspec(naked) void RadarBoundsCheckEntityBlip()
|
|||
extern char** ppUserFilesDir = AddressByVersion<char**>(0x580C16, 0x580F66, 0x580E66);
|
||||
|
||||
static LARGE_INTEGER FrameTime;
|
||||
__declspec(safebuffers) int32_t GetTimeSinceLastFrame()
|
||||
NOBUFFERCHECKS int32_t GetTimeSinceLastFrame()
|
||||
{
|
||||
LARGE_INTEGER curTime;
|
||||
QueryPerformanceCounter(&curTime);
|
||||
|
|
|
@ -950,7 +950,7 @@ char* GetMyDocumentsPathSA()
|
|||
}
|
||||
|
||||
static LARGE_INTEGER FrameTime;
|
||||
__declspec(safebuffers) int32_t GetTimeSinceLastFrame()
|
||||
NOBUFFERCHECKS int32_t GetTimeSinceLastFrame()
|
||||
{
|
||||
LARGE_INTEGER curTime;
|
||||
QueryPerformanceCounter(&curTime);
|
||||
|
@ -3960,7 +3960,7 @@ __declspec(naked) void DarkVehiclesFix4()
|
|||
}
|
||||
// 1.0 ONLY ENDS HERE
|
||||
|
||||
__declspec(safebuffers) static int _Timers_ftol_internal( double timer, double& remainder )
|
||||
NOBUFFERCHECKS static int _Timers_ftol_internal( double timer, double& remainder )
|
||||
{
|
||||
double integral;
|
||||
remainder = modf( timer + remainder, &integral );
|
||||
|
|
|
@ -699,7 +699,7 @@ __declspec(naked) void CreateInstance_BikeFix()
|
|||
extern char** ppUserFilesDir = AddressByVersion<char**>(0x6022AA, 0x60228A, 0x601ECA);
|
||||
|
||||
static LARGE_INTEGER FrameTime;
|
||||
__declspec(safebuffers) int32_t GetTimeSinceLastFrame()
|
||||
NOBUFFERCHECKS int32_t GetTimeSinceLastFrame()
|
||||
{
|
||||
LARGE_INTEGER curTime;
|
||||
QueryPerformanceCounter(&curTime);
|
||||
|
|
Loading…
Reference in a new issue