diff --git a/src/openrct2/core/Guard.cpp b/src/openrct2/core/Guard.cpp index 049c1cd79a..6ac3bee231 100644 --- a/src/openrct2/core/Guard.cpp +++ b/src/openrct2/core/Guard.cpp @@ -34,11 +34,13 @@ extern "C" { - void openrct2_assert_va(bool expression, const char * message, va_list va) + void openrct2_assert_fwd(bool expression, const char * message, ...) { + va_list va; + va_start(va, message); Guard::Assert_VA(expression, message, va); + va_end(va); } - } namespace Guard diff --git a/src/openrct2/core/Guard.hpp b/src/openrct2/core/Guard.hpp index e6687b0d29..7d2dc23e9a 100644 --- a/src/openrct2/core/Guard.hpp +++ b/src/openrct2/core/Guard.hpp @@ -22,15 +22,9 @@ extern "C" { #endif // __cplusplus -void openrct2_assert_va(bool expression, const char * message, va_list va); -static inline void openrct2_assert(bool expression, const char * message, ...) -{ - if (!expression) return; - va_list va; - va_start(va, message); - openrct2_assert_va(expression, message, va); - va_end(va); -} +void openrct2_assert_fwd(bool expression, const char * message, ...); + +#define openrct2_assert(expr, msg, ...) if(!(expr)) { openrct2_assert_fwd((expr), msg, ##__VA_ARGS__); } #ifdef __cplusplus }