diff --git a/src/Game/Scripts.cpp b/src/Game/Scripts.cpp index 9e7b131..7502e4a 100644 --- a/src/Game/Scripts.cpp +++ b/src/Game/Scripts.cpp @@ -64,13 +64,15 @@ namespace Game float Scr_GetFloat/*st0*/(unsigned int index /*eax*/) { + float result; const static uint32_t Scr_GetFloat_func = 0x5583A0; __asm { mov eax, index; - xor eax, eax; call Scr_GetFloat_func; + fstp dword ptr[result]; //FIXED!!! } + return result; } void Scr_Error(const char* error/*eax*/) diff --git a/src/Game/Scripts.hpp b/src/Game/Scripts.hpp index fd61e17..a603426 100644 --- a/src/Game/Scripts.hpp +++ b/src/Game/Scripts.hpp @@ -13,7 +13,7 @@ namespace Game typedef void(*Scr_AddInt_t)(int value); extern Scr_AddInt_t Scr_AddInt; - typedef void(*Scr_AddFloat_t)(float value); + typedef void(__cdecl* Scr_AddFloat_t)(float value); extern Scr_AddFloat_t Scr_AddFloat; typedef void(__cdecl* Scr_ParamError_t)(const char* error, ...);