From 58cb84d0bf0e9c5b11f7fd8a4a7c4a63d2c1ef30 Mon Sep 17 00:00:00 2001 From: Matt Woodrow Date: Fri, 14 Aug 2009 20:14:03 +1200 Subject: [PATCH] Loads succesfully on tf now, Initial offset testing looks good (bug 3948, what else) --- core/ExtensionSys.cpp | 2 +- extensions/bintools/CallWrapper.cpp | 2 +- extensions/bintools/msvc9/bintools.vcproj | 8 ++++---- gamedata/sdktools.games/master.games.txt | 2 +- loader/loader.cpp | 6 +++++- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/core/ExtensionSys.cpp b/core/ExtensionSys.cpp index 9212a3bb..32f352ee 100644 --- a/core/ExtensionSys.cpp +++ b/core/ExtensionSys.cpp @@ -74,7 +74,7 @@ CLocalExtension::CLocalExtension(const char *filename) #elif SOURCE_ENGINE == SE_ORANGEBOX "extensions/auto.2.ep2/%s", #elif SOURCE_ENGINE == SE_ORANGEBOXVALVE - "extensions/auto.2.ep2valve", + "extensions/auto.2.ep2valve/%s", #elif SOURCE_ENGINE == SE_DARKMESSIAH "extensions/auto.2.darkm/%s", #else diff --git a/extensions/bintools/CallWrapper.cpp b/extensions/bintools/CallWrapper.cpp index 50150861..56b22da4 100644 --- a/extensions/bintools/CallWrapper.cpp +++ b/extensions/bintools/CallWrapper.cpp @@ -180,7 +180,7 @@ const SourceHook::PassInfo * CallWrapper::GetSHParamInfo(unsigned int num) unsigned int CallWrapper::GetParamOffset(unsigned int num) { - assert(num <= GetParamCount() && num > 0); + assert(num < GetParamCount() && num >= 0); return m_Params[num].offset; } diff --git a/extensions/bintools/msvc9/bintools.vcproj b/extensions/bintools/msvc9/bintools.vcproj index 5507a138..477155bb 100644 --- a/extensions/bintools/msvc9/bintools.vcproj +++ b/extensions/bintools/msvc9/bintools.vcproj @@ -991,6 +991,10 @@ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" UniqueIdentifier="{C06F7BFF-18EE-4994-8572-D6383011354B}" > + + @@ -1070,10 +1074,6 @@ Name="Interfaces" UniqueIdentifier="{7DE81EA3-99D9-4f34-823A-B314791F3514}" > - - diff --git a/gamedata/sdktools.games/master.games.txt b/gamedata/sdktools.games/master.games.txt index 3d1ea5a6..d497f08f 100644 --- a/gamedata/sdktools.games/master.games.txt +++ b/gamedata/sdktools.games/master.games.txt @@ -17,7 +17,7 @@ /* Special OB engine for TF/DoD:S only */ "engine.ep2valve.txt" { - engine" "orangebox_valve" + "engine" "orangebox_valve" } "engine.ep1.txt" diff --git a/loader/loader.cpp b/loader/loader.cpp index d94dc71a..244bcc5b 100644 --- a/loader/loader.cpp +++ b/loader/loader.cpp @@ -48,6 +48,8 @@ return (c == '/' || c == '\\'); } #include + #define TF_PATH "\\tf\\" + #define DOD_PATH "\\dod\\" #else #define DLL_EXPORT extern "C" __attribute__((visibility("default"))) #define openlib(lib) dlopen(lib, RTLD_NOW) @@ -61,6 +63,8 @@ return (c == '/'); } #include + #define TF_PATH "/tf/" + #define DOD_PATH "/dod/" #endif #define METAMOD_API_MAJOR 2 @@ -213,7 +217,7 @@ DLL_EXPORT METAMOD_PLUGIN *CreateInterface_MMS(const MetamodVersionInfo *mvi, co } case SOURCE_ENGINE_ORANGEBOX: { - if (strncmp(mli->pl_path, "tf/", 3) == 0 || strncmp(mli->pl_path, "dod/", 4) == 0) + if (strstr(mli->pl_path, TF_PATH) || strstr(mli->pl_path, DOD_PATH)) { filename = FILENAME_1_6_EP2VALVE; break;