Skip to content

Commit 9ed7bab

Browse files
committed
Framework: fix unexpected return keyword in DECLARE_POSTFIX_HOOK
1 parent e1cd62e commit 9ed7bab

14 files changed

Lines changed: 74 additions & 136 deletions

File tree

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#pragma once
22

3-
#include <boost/preprocessor.hpp>
43
#include <recomputils.h>
54

65
// Extracts the type and name from a given function parameter.
@@ -19,26 +18,32 @@
1918
#define GET_HOOK_ARG(_, FUNCTION_NAME, PARAM) \
2019
GET_HOOK_PARAM_GLOBAL(FUNCTION_NAME, PARAM)
2120

21+
#define TRS_GET_HOOK_ARGS(FUNCTION_NAME, PARAMS) \
22+
BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_TRANSFORM(GET_HOOK_ARG, FUNCTION_NAME, PARAMS))
23+
2224
// Used for transforming parameters into comma-separated values for function signatures.
2325
#define GET_HOOK_PARAM(_A, _B, PARAM) \
2426
EXTRACT_HOOK_PARAM_TYPE(PARAM) EXTRACT_HOOK_PARAM_NAME(PARAM)
2527

28+
#define TRS_GET_HOOK_PARAMS(FUNCTION_NAME, PARAMS) \
29+
BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_TRANSFORM(GET_HOOK_PARAM, FUNCTION_NAME, PARAMS))
30+
2631
// Used for assigning function parameters to globals in the prefix hook.
2732
#define ASSIGN_HOOK_PARAM_GLOBAL(_, FUNCTION_NAME, PARAM) \
2833
GET_HOOK_PARAM_GLOBAL(FUNCTION_NAME, PARAM) = EXTRACT_HOOK_PARAM_NAME(PARAM);
2934

3035
#define DECLARE_PREFIX_HOOK(RETURN_TYPE, FUNCTION_NAME, SYMBOL_NAME, PARAMS) \
31-
RECOMP_HOOK(SYMBOL_NAME) void prefix_##FUNCTION_NAME(BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_TRANSFORM(GET_HOOK_PARAM, FUNCTION_NAME, PARAMS)))
32-
33-
#define DECLARE_POSTFIX_HOOK(RETURN_TYPE, FUNCTION_NAME, SYMBOL_NAME, PARAMS) \
34-
BOOST_PP_SEQ_FOR_EACH(DECLARE_HOOK_PARAM_GLOBAL, FUNCTION_NAME, PARAMS) \
35-
DECLARE_PREFIX_HOOK(RETURN_TYPE, FUNCTION_NAME, SYMBOL_NAME, PARAMS) \
36-
{ \
37-
BOOST_PP_SEQ_FOR_EACH(ASSIGN_HOOK_PARAM_GLOBAL, FUNCTION_NAME, PARAMS) \
38-
} \
39-
RETURN_TYPE impl_##FUNCTION_NAME(BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_TRANSFORM(GET_HOOK_PARAM, FUNCTION_NAME, PARAMS))); \
40-
RECOMP_HOOK_RETURN(SYMBOL_NAME) RETURN_TYPE postfix_##FUNCTION_NAME() \
41-
{ \
42-
return impl_##FUNCTION_NAME(BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_TRANSFORM(GET_HOOK_ARG, FUNCTION_NAME, PARAMS))); \
43-
} \
44-
RETURN_TYPE impl_##FUNCTION_NAME(BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_TRANSFORM(GET_HOOK_PARAM, FUNCTION_NAME, PARAMS)))
36+
RECOMP_HOOK(SYMBOL_NAME) void prefix_##FUNCTION_NAME(TRS_GET_HOOK_PARAMS(FUNCTION_NAME, PARAMS))
37+
38+
#define DECLARE_POSTFIX_HOOK(RETURN_TYPE, FUNCTION_NAME, SYMBOL_NAME, PARAMS) \
39+
BOOST_PP_SEQ_FOR_EACH(DECLARE_HOOK_PARAM_GLOBAL, FUNCTION_NAME, PARAMS) \
40+
DECLARE_PREFIX_HOOK(RETURN_TYPE, FUNCTION_NAME, SYMBOL_NAME, PARAMS) \
41+
{ \
42+
BOOST_PP_SEQ_FOR_EACH(ASSIGN_HOOK_PARAM_GLOBAL, FUNCTION_NAME, PARAMS) \
43+
} \
44+
RETURN_TYPE impl_##FUNCTION_NAME(TRS_GET_HOOK_PARAMS(FUNCTION_NAME, PARAMS)); \
45+
RECOMP_HOOK_RETURN(SYMBOL_NAME) RETURN_TYPE postfix_##FUNCTION_NAME() \
46+
{ \
47+
GET_RETURN(RETURN_TYPE) impl_##FUNCTION_NAME(TRS_GET_HOOK_ARGS(FUNCTION_NAME, PARAMS)); \
48+
} \
49+
RETURN_TYPE impl_##FUNCTION_NAME(TRS_GET_HOOK_PARAMS(FUNCTION_NAME, PARAMS))

‎Framework/System/System.h‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
#include "Memory/Memory.h"
1515
#include "Net/Net.h"
1616
#include "Numerics/Numerics.h"
17+
#endif
18+
1719
#include "Utilities/Utilities.h"
20+
21+
#ifdef __cplusplus
1822
#include "Logger.h"
1923
#endif
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#pragma once
2+
3+
#include <boost/preprocessor.hpp>
4+
5+
#ifndef offsetof
6+
#define offsetof(s, m) ((size_t)&(((s*)0)->m))
7+
#endif
8+
9+
#define INSERT_PADDING(LENGTH) \
10+
uint8_t BOOST_PP_CAT(pad, __LINE__)[LENGTH]
11+
12+
#define ASSERT_OFFSETOF(TYPE, FIELD, OFFSET) \
13+
static_assert(offsetof(TYPE, FIELD) == OFFSET, "offsetof assertion failed")
14+
15+
#define ASSERT_SIZEOF(TYPE, SIZE) \
16+
static_assert(sizeof(TYPE) == SIZE, "sizeof assertion failed")
17+
18+
#define IS_TYPE_void
19+
20+
#define IS_TYPE(TYPE) \
21+
BOOST_PP_IS_EMPTY(BOOST_PP_CAT(IS_TYPE_, TYPE))
22+
23+
#define GET_RETURN(RETURN_TYPE) \
24+
BOOST_PP_IF(IS_TYPE(RETURN_TYPE), BOOST_PP_EMPTY(), return)
25+
26+
#ifdef WIN32
27+
#include "PreprocessorWin32.h"
28+
#endif
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#pragma once
2+
3+
#define EXPORT extern "C" __declspec(dllexport)
Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,7 @@
11
#pragma once
22

3-
#ifndef offsetof
4-
#define offsetof(s, m) ((size_t)&(((s*)0)->m))
5-
#endif
6-
7-
#define _CONCAT2(X, Y) X##Y
8-
#define CONCAT2(X, Y) _CONCAT(X, Y)
9-
10-
#define INSERT_PADDING(LENGTH) \
11-
uint8_t CONCAT2(pad, __LINE__)[LENGTH]
12-
13-
#define ASSERT_OFFSETOF(TYPE, FIELD, OFFSET) \
14-
static_assert(offsetof(TYPE, FIELD) == OFFSET, "offsetof assertion failed")
15-
16-
#define ASSERT_SIZEOF(TYPE, SIZE) \
17-
static_assert(sizeof(TYPE) == SIZE, "sizeof assertion failed")
3+
#include "Preprocessor.h"
184

5+
#ifdef __cplusplus
196
#include "StringHelper.h"
20-
21-
#ifdef WIN32
22-
#include "UtilitiesWin32.h"
23-
#endif
7+
#endif

‎Framework/System/Utilities/UtilitiesWin32.h‎

Lines changed: 0 additions & 3 deletions
This file was deleted.

‎Games/Fallout 4/FixCameraClipping/FixCameraClipping.vcxproj‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<Optimization>Disabled</Optimization>
5959
<SDLCheck>true</SDLCheck>
6060
<ConformanceMode>true</ConformanceMode>
61-
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Framework\;$(ProjectDir)..\Dependencies\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
61+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Dependencies\Boost\preprocessor\include\;$(ProjectDir)..\..\..\Framework\;$(ProjectDir)..\Dependencies\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
6262
<PrecompiledHeader>Use</PrecompiledHeader>
6363
<PrecompiledHeaderFile>Pch.h</PrecompiledHeaderFile>
6464
<ForcedIncludeFiles>Pch.h</ForcedIncludeFiles>
@@ -86,7 +86,7 @@
8686
<IntrinsicFunctions>true</IntrinsicFunctions>
8787
<SDLCheck>true</SDLCheck>
8888
<ConformanceMode>true</ConformanceMode>
89-
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Framework\;$(ProjectDir)..\Dependencies\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
89+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Dependencies\Boost\preprocessor\include\;$(ProjectDir)..\..\..\Framework\;$(ProjectDir)..\Dependencies\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
9090
<PrecompiledHeader>Use</PrecompiledHeader>
9191
<PrecompiledHeaderFile>Pch.h</PrecompiledHeaderFile>
9292
<ForcedIncludeFiles>Pch.h</ForcedIncludeFiles>

‎Games/Sonic Colours Ultimate/GameplayAndUIFixes/GameplayAndUIFixes.vcxproj‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<Optimization>Disabled</Optimization>
5959
<SDLCheck>true</SDLCheck>
6060
<ConformanceMode>true</ConformanceMode>
61-
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Framework\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
61+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Dependencies\Boost\preprocessor\include\;$(ProjectDir)..\..\..\Framework\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
6262
<PrecompiledHeader>Use</PrecompiledHeader>
6363
<PrecompiledHeaderFile>Pch.h</PrecompiledHeaderFile>
6464
<ForcedIncludeFiles>Pch.h</ForcedIncludeFiles>
@@ -82,7 +82,7 @@
8282
<IntrinsicFunctions>true</IntrinsicFunctions>
8383
<SDLCheck>true</SDLCheck>
8484
<ConformanceMode>true</ConformanceMode>
85-
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Framework\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
85+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Dependencies\Boost\preprocessor\include\;$(ProjectDir)..\..\..\Framework\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
8686
<PrecompiledHeader>Use</PrecompiledHeader>
8787
<PrecompiledHeaderFile>Pch.h</PrecompiledHeaderFile>
8888
<ForcedIncludeFiles>Pch.h</ForcedIncludeFiles>

‎Games/Sonic Generations/FixWindowTitle/FixWindowTitle.vcxproj‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
<Optimization>Disabled</Optimization>
8686
<SDLCheck>true</SDLCheck>
8787
<ConformanceMode>true</ConformanceMode>
88-
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Framework\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
88+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Dependencies\Boost\preprocessor\include\;$(ProjectDir)..\..\..\Framework\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
8989
<PrecompiledHeader>Use</PrecompiledHeader>
9090
<PrecompiledHeaderFile>Pch.h</PrecompiledHeaderFile>
9191
<ForcedIncludeFiles>Pch.h</ForcedIncludeFiles>
@@ -128,7 +128,7 @@
128128
<IntrinsicFunctions>true</IntrinsicFunctions>
129129
<SDLCheck>true</SDLCheck>
130130
<ConformanceMode>true</ConformanceMode>
131-
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Framework\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
131+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Dependencies\Boost\preprocessor\include\;$(ProjectDir)..\..\..\Framework\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
132132
<PrecompiledHeader>Use</PrecompiledHeader>
133133
<PrecompiledHeaderFile>Pch.h</PrecompiledHeaderFile>
134134
<ForcedIncludeFiles>Pch.h</ForcedIncludeFiles>

‎Games/Sonic Generations/RestoreSilverPinchMusic/RestoreSilverPinchMusic.vcxproj‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
<Optimization>Disabled</Optimization>
5858
<SDLCheck>true</SDLCheck>
5959
<ConformanceMode>true</ConformanceMode>
60-
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Framework\;$(ProjectDir)..\Dependencies\;$(ProjectDir)..\Dependencies\BlueBlur\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
60+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Dependencies\Boost\preprocessor\include\;$(ProjectDir)..\..\..\Framework\;$(ProjectDir)..\Dependencies\;$(ProjectDir)..\Dependencies\BlueBlur\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
6161
<PrecompiledHeader>Use</PrecompiledHeader>
6262
<PrecompiledHeaderFile>Pch.h</PrecompiledHeaderFile>
6363
<ForcedIncludeFiles>Pch.h</ForcedIncludeFiles>
@@ -81,7 +81,7 @@
8181
<IntrinsicFunctions>true</IntrinsicFunctions>
8282
<SDLCheck>true</SDLCheck>
8383
<ConformanceMode>true</ConformanceMode>
84-
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Framework\;$(ProjectDir)..\Dependencies\;$(ProjectDir)..\Dependencies\BlueBlur\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
84+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Dependencies\;$(ProjectDir)..\..\..\Dependencies\Boost\preprocessor\include\;$(ProjectDir)..\..\..\Framework\;$(ProjectDir)..\Dependencies\;$(ProjectDir)..\Dependencies\BlueBlur\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
8585
<PrecompiledHeader>Use</PrecompiledHeader>
8686
<PrecompiledHeaderFile>Pch.h</PrecompiledHeaderFile>
8787
<ForcedIncludeFiles>Pch.h</ForcedIncludeFiles>

0 commit comments

Comments
 (0)