Skip to content

Commit 29bff12

Browse files
authored
- Fixes for OnPlayerTeleport hook for linux and linux64 systems (#2214)
- Changed signature call of `CanPlayerTeleport` for linux/linux64 to current used name - Applied fix at detour class CanPlayerBeTeleported to use standard parameter proceedings for linux
1 parent 2be15ff commit 29bff12

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

extensions/tf2/teleporter.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,18 @@ IForward *g_teleportForward = NULL;
3737

3838
class CTFPlayer;
3939

40+
#if defined(__linux__) && defined(__i386__)
41+
class CanPlayerBeTeleportedClass
42+
{
43+
public:
44+
__attribute__((regparm(2))) bool CanPlayerBeTeleported(CTFPlayer * pPlayer);
45+
static __attribute__((regparm(2))) bool (CanPlayerBeTeleportedClass::* CanPlayerBeTeleported_Actual)(CTFPlayer *);
46+
};
47+
__attribute__((regparm(2))) bool (CanPlayerBeTeleportedClass::* CanPlayerBeTeleportedClass::CanPlayerBeTeleported_Actual)(CTFPlayer *) = NULL;
48+
__attribute__((regparm(2))) bool CanPlayerBeTeleportedClass::CanPlayerBeTeleported(CTFPlayer* pPlayer)
49+
#else
4050
DETOUR_DECL_MEMBER1(CanPlayerBeTeleported, bool, CTFPlayer *, pPlayer)
51+
#endif
4152
{
4253
bool origCanTeleport = DETOUR_MEMBER_CALL(CanPlayerBeTeleported)(pPlayer);
4354

gamedata/sm-tf2.games.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,8 @@
132132
"library" "server"
133133
"windows" "\x55\x8B\xEC\x53\x56\x57\x8B\x7D\x08\x8B\xD9\x85\xFF\x0F\x84\x2A\x2A\x2A\x2A"
134134
"windows64" "\x48\x89\x5C\x24\x08\x48\x89\x74\x24\x10\x57\x48\x83\xEC\x20\x48\x8B\xFA\x48\x8B\xF1\x48\x85\xD2\x0F\x84\x2A\x2A\x2A\x2A\x45\x33\xC0"
135-
"linux" "@_ZN17CObjectTeleporter21PlayerCanBeTeleportedEP9CTFPlayer"
136-
"linux64" "@_ZN17CObjectTeleporter21PlayerCanBeTeleportedEP9CTFPlayer"
135+
"linux" "@_ZN17CObjectTeleporter21PlayerCanBeTeleportedEP9CTFPlayer.part.0"
136+
"linux64" "@_ZN17CObjectTeleporter21PlayerCanBeTeleportedEP9CTFPlayer.part.0"
137137
}
138138

139139
// Obsolete

0 commit comments

Comments
 (0)