Restructured project structure to use a singular SLN; made the T2API common to all projects; adjusted watchdog timer to 8 seconds

This commit is contained in:
Robert MacGregor 2015-06-27 13:36:30 -04:00
parent e1c5d1dead
commit 527474ff24
79 changed files with 469 additions and 626 deletions

20
CommonAPI/Common.sln Normal file
View file

@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "Common\Common.vcxproj", "{9B3A3214-400B-4245-85FD-EA12D5F791D4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.ActiveCfg = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.Build.0 = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.ActiveCfg = Release|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

BIN
CommonAPI/Common.suo Normal file

Binary file not shown.

View file

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9B3A3214-400B-4245-85FD-EA12D5F791D4}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Common</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>include;$(IncludePath)</IncludePath>
<TargetName>Common</TargetName>
<OutDir>$(SolutionDir)</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;COMMON_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;COMMON_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\DXAPI\DXAPI.h" />
<ClInclude Include="include\DXAPI\FlyingVehicle.h" />
<ClInclude Include="include\DXAPI\GameBase.h" />
<ClInclude Include="include\DXAPI\GameConnection.h" />
<ClInclude Include="include\DXAPI\GrenadeProjectile.h" />
<ClInclude Include="include\DXAPI\NetConnection.h" />
<ClInclude Include="include\DXAPI\NetObject.h" />
<ClInclude Include="include\DXAPI\Player.h" />
<ClInclude Include="include\DXAPI\Point3F.h" />
<ClInclude Include="include\DXAPI\Projectile.h" />
<ClInclude Include="include\DXAPI\SceneObject.h" />
<ClInclude Include="include\DXAPI\ScriptObject.h" />
<ClInclude Include="include\DXAPI\ShapeBase.h" />
<ClInclude Include="include\DXAPI\SimObject.h" />
<ClInclude Include="include\DXAPI\StaticShape.h" />
<ClInclude Include="include\DXAPI\TCPObject.h" />
<ClInclude Include="include\DXAPI\Vehicle.h" />
<ClInclude Include="include\LinkerAPI.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="source\DXAPI\DXAPI.cpp" />
<ClCompile Include="source\DXAPI\FlyingVehicle.cpp" />
<ClCompile Include="source\DXAPI\GameBase.cpp" />
<ClCompile Include="source\DXAPI\GameConnection.cpp" />
<ClCompile Include="source\DXAPI\GrenadeProjectile.cpp" />
<ClCompile Include="source\DXAPI\NetConnection.cpp" />
<ClCompile Include="source\DXAPI\NetObject.cpp" />
<ClCompile Include="source\DXAPI\Player.cpp" />
<ClCompile Include="source\DXAPI\Point3F.cpp" />
<ClCompile Include="source\DXAPI\Projectile.cpp" />
<ClCompile Include="source\DXAPI\SceneObject.cpp" />
<ClCompile Include="source\DXAPI\ScriptObject.cpp" />
<ClCompile Include="source\DXAPI\ShapeBase.cpp" />
<ClCompile Include="source\DXAPI\SimObject.cpp" />
<ClCompile Include="source\DXAPI\StaticShape.cpp" />
<ClCompile Include="source\DXAPI\TCPObject.cpp" />
<ClCompile Include="source\DXAPI\Vehicle.cpp" />
<ClCompile Include="source\LinkerAPI.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\DXAPI\DXAPI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\FlyingVehicle.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\GameBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\GameConnection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\GrenadeProjectile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\NetConnection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\NetObject.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\Player.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\Point3F.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\Projectile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\SceneObject.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\ScriptObject.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\ShapeBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\SimObject.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\StaticShape.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\TCPObject.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\Vehicle.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\LinkerAPI.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="source\DXAPI\DXAPI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\FlyingVehicle.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\GameBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\GameConnection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\GrenadeProjectile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\NetConnection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\NetObject.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\Player.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\Point3F.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\Projectile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\SceneObject.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\ScriptObject.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\ShapeBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\SimObject.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\StaticShape.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\TCPObject.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\Vehicle.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\LinkerAPI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

56
Everything.sln Normal file
View file

@ -0,0 +1,56 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "CommonAPI\Common\Common.vcxproj", "{9B3A3214-400B-4245-85FD-EA12D5F791D4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Modloader", "ModLoader\Modloader\Modloader.vcxproj", "{10159605-BFF5-496F-8C23-0A1FB9850E55}"
ProjectSection(ProjectDependencies) = postProject
{9B3A3214-400B-4245-85FD-EA12D5F791D4} = {9B3A3214-400B-4245-85FD-EA12D5F791D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RandomMod", "Mod Sources\RandomMod\RandomMod\RandomMod.vcxproj", "{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}"
ProjectSection(ProjectDependencies) = postProject
{9B3A3214-400B-4245-85FD-EA12D5F791D4} = {9B3A3214-400B-4245-85FD-EA12D5F791D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TSExtension", "Mod Sources\TSExtension\TSExtension\TSExtension.vcxproj", "{08220905-AEC1-49C9-84E6-78672F9EF5F1}"
ProjectSection(ProjectDependencies) = postProject
{9B3A3214-400B-4245-85FD-EA12D5F791D4} = {9B3A3214-400B-4245-85FD-EA12D5F791D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WatchDog", "Mod Sources\Watchdog\Watchdog\Watchdog.vcxproj", "{1C8B5AA4-B172-45DD-9D27-55F41B6F1755}"
ProjectSection(ProjectDependencies) = postProject
{9B3A3214-400B-4245-85FD-EA12D5F791D4} = {9B3A3214-400B-4245-85FD-EA12D5F791D4}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.ActiveCfg = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.Build.0 = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.ActiveCfg = Release|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.Build.0 = Release|Win32
{10159605-BFF5-496F-8C23-0A1FB9850E55}.Debug|Win32.ActiveCfg = Debug|Win32
{10159605-BFF5-496F-8C23-0A1FB9850E55}.Debug|Win32.Build.0 = Debug|Win32
{10159605-BFF5-496F-8C23-0A1FB9850E55}.Release|Win32.ActiveCfg = Release|Win32
{10159605-BFF5-496F-8C23-0A1FB9850E55}.Release|Win32.Build.0 = Release|Win32
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Debug|Win32.ActiveCfg = Debug|Win32
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Debug|Win32.Build.0 = Debug|Win32
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Release|Win32.ActiveCfg = Release|Win32
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Release|Win32.Build.0 = Release|Win32
{08220905-AEC1-49C9-84E6-78672F9EF5F1}.Debug|Win32.ActiveCfg = Debug|Win32
{08220905-AEC1-49C9-84E6-78672F9EF5F1}.Debug|Win32.Build.0 = Debug|Win32
{08220905-AEC1-49C9-84E6-78672F9EF5F1}.Release|Win32.ActiveCfg = Release|Win32
{08220905-AEC1-49C9-84E6-78672F9EF5F1}.Release|Win32.Build.0 = Release|Win32
{1C8B5AA4-B172-45DD-9D27-55F41B6F1755}.Debug|Win32.ActiveCfg = Debug|Win32
{1C8B5AA4-B172-45DD-9D27-55F41B6F1755}.Debug|Win32.Build.0 = Debug|Win32
{1C8B5AA4-B172-45DD-9D27-55F41B6F1755}.Release|Win32.ActiveCfg = Release|Win32
{1C8B5AA4-B172-45DD-9D27-55F41B6F1755}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

BIN
Everything.suo Normal file

Binary file not shown.

View file

@ -2,6 +2,11 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RandomMod", "RandomMod\RandomMod.vcxproj", "{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}"
ProjectSection(ProjectDependencies) = postProject
{9B3A3214-400B-4245-85FD-EA12D5F791D4} = {9B3A3214-400B-4245-85FD-EA12D5F791D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\..\CommonAPI\Common\Common.vcxproj", "{9B3A3214-400B-4245-85FD-EA12D5F791D4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -13,6 +18,10 @@ Global
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Debug|Win32.Build.0 = Debug|Win32
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Release|Win32.ActiveCfg = Release|Win32
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Release|Win32.Build.0 = Release|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.ActiveCfg = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.Build.0 = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.ActiveCfg = Release|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Binary file not shown.

View file

@ -15,13 +15,11 @@
<ClCompile Include="source\dllmain.cpp" />
<ClCompile Include="source\mt.cc" />
<ClCompile Include="source\randomCmds.cpp" />
<ClCompile Include="source\t2api.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\BaseMod.h" />
<ClInclude Include="include\mt.h" />
<ClInclude Include="include\randomCmds.h" />
<ClInclude Include="include\t2api.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}</ProjectGuid>
@ -53,11 +51,13 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>include;$(IncludePath)</IncludePath>
<IncludePath>include;..\..\..\CommonAPI\Common\include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)\Mods\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>include;$(IncludePath)</IncludePath>
<IncludePath>include;..\..\..\CommonAPI\Common\include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)\Mods\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@ -69,6 +69,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>$(SolutionDir)\Common.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -85,6 +86,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>$(SolutionDir)\Common.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View file

@ -18,9 +18,6 @@
<ClCompile Include="source\BaseMod.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\t2api.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\dllmain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -32,9 +29,6 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\t2api.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\BaseMod.h">
<Filter>Header Files</Filter>
</ClInclude>

View file

@ -1,14 +1,14 @@
#include <t2api.h>
#include <LinkerAPI.h>
const char* conGuiTsCtrlProject(SimObject *obj,S32 argc, const char* argv[]);
bool conNetObjectSetGhostable(SimObject *obj,S32 argc, const char* argv[]);
const char* conGetVariable(SimObject *obj,S32 argc, const char* argv[]);
const char* conGuiTsCtrlProject(Linker::SimObject *obj,S32 argc, const char* argv[]);
bool conNetObjectSetGhostable(Linker::SimObject *obj,S32 argc, const char* argv[]);
const char* conGetVariable(Linker::SimObject *obj,S32 argc, const char* argv[]);
// Merscenne Random
const char *conMRandom(SimObject *obj, S32 argc, const char *argv[]);
const char *conMSeed(SimObject *obj, S32 argc, const char *argv[]);
const char *conMRandomFloat(SimObject *obj, S32 argc, const char *argv[]);
const char *conMRandom(Linker::SimObject *obj, S32 argc, const char *argv[]);
const char *conMSeed(Linker::SimObject *obj, S32 argc, const char *argv[]);
const char *conMRandomFloat(Linker::SimObject *obj, S32 argc, const char *argv[]);
// Clock
const char*conQPCBegin(SimObject *obj, S32 argc, const char *argv[]);
const char*conQPCEnd(SimObject *obj, S32 argc, const char *argv[]);
const char*conQPCBegin(Linker::SimObject *obj, S32 argc, const char *argv[]);
const char*conQPCEnd(Linker::SimObject *obj, S32 argc, const char *argv[]);

View file

@ -1,111 +0,0 @@
#pragma once
#include <string.h>
void initT2Api();
//api stuff
typedef unsigned int U32;
typedef int S32;
typedef float F32;
typedef unsigned int dsize_t;
//for addvariable
#define TypeS32 1
#define TypeBool 3
#define TypeF32 5
//dshit
inline dsize_t dStrlen(const char *str)
{
return (dsize_t)strlen(str);
}
class Namespace {
const char* mName;
};
class SimObject{
SimObject* group;
const char* objectName; //04h: objectName
SimObject* nextNameObject; //8
SimObject* nextManagerNameObject; //c
SimObject* nextIdObject; //10h: nextIdObject
U32 stuff; //14
U32 mFlags; //18h
U32 mNotifyList; //actually a pointer
U32 mId; //20h: mId
//more stuff
};
class SimIdDictionary
{
enum
{
DefaultTableSize = 4096,
TableBitMask = 4095
};
SimObject *table[DefaultTableSize];
};
extern SimIdDictionary* gIdDictionary;
class Point3F
{
public:
F32 x;
F32 y;
F32 z;
};
//GuiTSCtrl
class GuiTSCtrl {};
class HoverVehicle {};
void GuiTSCtrl_project(GuiTSCtrl *obj, const Point3F &pt, Point3F *dest); //fake
namespace Sim {
extern SimObject* (*findObject)(U32 id);
}
//console
typedef const char * (*StringCallback)(SimObject *obj, S32 argc, const char *argv[]);
typedef S32 (*IntCallback)(SimObject *obj, S32 argc, const char *argv[]);
typedef F32 (*FloatCallback)(SimObject *obj, S32 argc, const char *argv[]);
typedef void (*VoidCallback)(SimObject *obj, S32 argc, const char *argv[]);
typedef bool (*BoolCallback)(SimObject *obj, S32 argc, const char *argv[]);
extern void (*someTest)(void);
//functions
namespace Con{
extern char * (*getReturnBuffer)(U32 bufferSize);
extern void (*addMethodB)(const char *nsName, const char *name, BoolCallback cb, const char *usage, S32 minArgs, S32 maxArgs);
extern void (*addMethodS)(const char *nsName, const char *name, StringCallback cb, const char *usage, S32 minArgs, S32 maxArgs);
extern bool (*addVariable)(const char *name, S32 t, void *dp);
extern void (*printf)(const char* fmt,...);
extern void (*errorf)(U32 type, const char* fmt,...);
extern const char * (*getVariable)(const char *name);
extern const char * (*execute)(S32 argc, const char *argv[]);
extern const char * (*executef)(S32 argc, ...);
extern const char * (*executem)(SimObject *object, S32 argc, const char *argv[]);
extern const char * (*evaluate)(const char* string, bool echo, const char *fileName, bool cf);
}
//d-util
extern int (*dSscanf)(const char *buffer, const char *format, ...);
extern int (*dSprintf)(char *buffer, dsize_t bufferSize, const char *format, ...);
extern bool (*dAtob)(const char *str);

View file

@ -3,7 +3,7 @@
#include "BaseMod.h"
#include "t2api.h"
#include "LinkerAPI.h"
#include "randomCmds.h"
extern "C"

View file

@ -8,11 +8,11 @@
#include "mt.h"
#include "t2api.h"
#include "LinkerAPI.h"
// Merscenne Twister
MersenneTwister *mt = NULL;
const char *conMRandom(SimObject *obj, S32 argc, const char *argv[])
const char *conMRandom(Linker::SimObject *obj, S32 argc, const char *argv[])
{
if (!mt)
{
@ -56,7 +56,7 @@ const char *conMRandom(SimObject *obj, S32 argc, const char *argv[])
return mem;
}
const char *conMRandomFloat(SimObject *obj, S32 argc, const char *argv[])
const char *conMRandomFloat(Linker::SimObject *obj, S32 argc, const char *argv[])
{
if (!mt)
{
@ -95,7 +95,7 @@ const char *conMRandomFloat(SimObject *obj, S32 argc, const char *argv[])
return mem;
}
const char *conMSeed(SimObject *obj, S32 argc, const char *argv[])
const char *conMSeed(Linker::SimObject *obj, S32 argc, const char *argv[])
{
if (!mt)
{
@ -125,7 +125,7 @@ static unsigned int CURRENT_STOPWATCH_COUNT = 0;
static __int64 QPC_STOPWATCHES[QPC_MAX_STOPWATCHES];
__int64 STARTING_QPC_TIME;
const char*conQPCBegin(SimObject *obj, S32 argc, const char *argv[])
const char*conQPCBegin(Linker::SimObject *obj, S32 argc, const char *argv[])
{
if (!QueryPerformanceCounter((LARGE_INTEGER*)&QPC_STOPWATCHES[CURRENT_STOPWATCH_COUNT]))
{
@ -147,7 +147,7 @@ const char*conQPCBegin(SimObject *obj, S32 argc, const char *argv[])
return result;
}
const char*conQPCEnd(SimObject *obj, S32 argc, const char *argv[])
const char*conQPCEnd(Linker::SimObject *obj, S32 argc, const char *argv[])
{
__int64 ENDING_QPC_TIME;
if (!QueryPerformanceCounter((LARGE_INTEGER*)&ENDING_QPC_TIME))

View file

@ -1,85 +0,0 @@
#include "t2api.h"
SimIdDictionary* gIdDictionary = reinterpret_cast<SimIdDictionary*>(0x009E9194);
//439550
namespace Sim {
SimObject* (*findObject)(U32 id) =
(SimObject* (_cdecl *)(U32 id) )
0x439550;
}
//hackey way to do member functions, ....
void GuiTSCtrl_project(GuiTSCtrl *obj, const Point3F &pt, Point3F *dest) {
typedef void (__cdecl *projFunc)(const Point3F &pt, Point3F *dest);
static projFunc p = (projFunc)0x4d0b40;
__asm {
push dest;
push pt;
mov ecx,obj;
lea eax, p;
mov eax, [eax];
call eax;
}
}
namespace Con {
char* (*getReturnBuffer)(U32 bufferSize) =
(char *(__cdecl *)(U32))
0x42caa0;
void (*addMethodB)(const char *nsName, const char *name, BoolCallback cb, const char *usage, S32 minArgs, S32 maxArgs) =
(void (__cdecl *)(const char *, const char *,BoolCallback,const char *,S32,S32))
0x426510;
void (*addMethodS)(const char *, const char *,StringCallback, const char *, S32, S32) =
(void (__cdecl *)(const char *,const char *,StringCallback,const char *,S32,S32))
0x426410;
bool (*addVariable)(const char *name, S32 t, void *dp) =
(bool (__cdecl *)(const char *name, S32 t, void *dp))
0x4263B0;
const char * (*execute)(S32 argc, const char *argv[]) =
(const char * (__cdecl *)(S32 argc, const char *argv[]))
0x4267A0;
const char * (*executef)(S32 argc, ...) =
(const char * (__cdecl *)(S32 argc, ...))
0x4269E0;
const char * (*evaluate)(const char* string, bool echo, const char *fileName, bool cf) =
(const char * (__cdecl *)(const char* string, bool echo, const char *fileName, bool cf))
0x426690;
const char * (*executem)(SimObject *object, S32 argc, const char *argv[]) =
(const char * (__cdecl *)(SimObject *object, S32 argc, const char *argv[]))
0x426800;
const char * (*getVariable)(const char *name) =
(const char * (__cdecl *)(const char *name))
0x4261F0;
void (*printf)(const char* fmt,...) =
(void (__cdecl *)(const char* fmt,...))
0x425F30;
void (*errorf)(U32 type, const char* fmt,...)=
(void (__cdecl *)(U32, const char*,...))
0x425FB0;
}
int (*dSscanf)(const char *buffer, const char *format, ...) =
(int (__cdecl *)(const char *,const char *,...))
0x55b640;
int (*dSprintf)(char *buffer, dsize_t bufferSize, const char *format, ...) =
(int (__cdecl *)(char *,dsize_t,const char *,...))
0x55b5e0;
bool (*dAtob)(const char *str) =
(bool (__cdecl *)(const char *str))
0x55B490;

View file

@ -2,6 +2,11 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TSExtension", "TSExtension\TSExtension.vcxproj", "{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}"
ProjectSection(ProjectDependencies) = postProject
{9B3A3214-400B-4245-85FD-EA12D5F791D4} = {9B3A3214-400B-4245-85FD-EA12D5F791D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\..\CommonAPI\Common\Common.vcxproj", "{9B3A3214-400B-4245-85FD-EA12D5F791D4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -13,6 +18,10 @@ Global
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Debug|Win32.Build.0 = Debug|Win32
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Release|Win32.ActiveCfg = Release|Win32
{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}.Release|Win32.Build.0 = Release|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.ActiveCfg = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.Build.0 = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.ActiveCfg = Release|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View file

@ -12,51 +12,15 @@
</ItemGroup>
<ItemGroup>
<ClCompile Include="source\dllmain.cpp" />
<ClCompile Include="source\DXAPI\DXAPI.cpp" />
<ClCompile Include="source\DXAPI\FlyingVehicle.cpp" />
<ClCompile Include="source\DXAPI\GameBase.cpp" />
<ClCompile Include="source\DXAPI\GameConnection.cpp" />
<ClCompile Include="source\DXAPI\GrenadeProjectile.cpp" />
<ClCompile Include="source\DXAPI\NetConnection.cpp" />
<ClCompile Include="source\DXAPI\NetObject.cpp" />
<ClCompile Include="source\DXAPI\Player.cpp" />
<ClCompile Include="source\DXAPI\Point3F.cpp" />
<ClCompile Include="source\DXAPI\Projectile.cpp" />
<ClCompile Include="source\DXAPI\SceneObject.cpp" />
<ClCompile Include="source\DXAPI\ScriptObject.cpp" />
<ClCompile Include="source\DXAPI\ShapeBase.cpp" />
<ClCompile Include="source\DXAPI\SimObject.cpp" />
<ClCompile Include="source\DXAPI\StaticShape.cpp" />
<ClCompile Include="source\DXAPI\TCPObject.cpp" />
<ClCompile Include="source\DXAPI\Vehicle.cpp" />
<ClCompile Include="source\DXBinaryObjects.cpp" />
<ClCompile Include="source\DXConCmds.cpp" />
<ClCompile Include="source\DXTCPObjects.cpp" />
<ClCompile Include="source\LinkerAPI.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\DXAPI\DXAPI.h" />
<ClInclude Include="include\DXAPI\FlyingVehicle.h" />
<ClInclude Include="include\DXAPI\GameBase.h" />
<ClInclude Include="include\DXAPI\GameConnection.h" />
<ClInclude Include="include\DXAPI\GrenadeProjectile.h" />
<ClInclude Include="include\DXAPI\NetConnection.h" />
<ClInclude Include="include\DXAPI\NetObject.h" />
<ClInclude Include="include\DXAPI\Player.h" />
<ClInclude Include="include\DXAPI\Point3F.h" />
<ClInclude Include="include\DXAPI\Projectile.h" />
<ClInclude Include="include\DXAPI\SceneObject.h" />
<ClInclude Include="include\DXAPI\ScriptObject.h" />
<ClInclude Include="include\DXAPI\ShapeBase.h" />
<ClInclude Include="include\DXAPI\SimObject.h" />
<ClInclude Include="include\DXAPI\StaticShape.h" />
<ClInclude Include="include\DXAPI\TCPObject.h" />
<ClInclude Include="include\DXAPI\Vehicle.h" />
<ClInclude Include="include\DXConCmds.h" />
<ClInclude Include="include\LinkerAPI.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}</ProjectGuid>
<ProjectGuid>{08220905-AEC1-49C9-84E6-78672F9EF5F1}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>BaseMod</RootNamespace>
<ProjectName>TSExtension</ProjectName>
@ -85,11 +49,13 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>include;$(IncludePath)</IncludePath>
<IncludePath>include;..\..\..\CommonAPI\Common\include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)\Mods</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>include;$(IncludePath)</IncludePath>
<IncludePath>include;..\..\..\CommonAPI\Common\include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)\Mods</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@ -101,7 +67,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>ws2_32.lib;Dnsapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>ws2_32.lib;Dnsapi.lib;$(SolutionDir)\Common.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -118,7 +84,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>ws2_32.lib;Dnsapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>ws2_32.lib;Dnsapi.lib;$(SolutionDir)\Common.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View file

@ -13,138 +13,24 @@
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Header Files\DXAPI">
<UniqueIdentifier>{6d8e53d2-8590-4c42-b4e2-ff67cedefcce}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\DXAPI">
<UniqueIdentifier>{5269716c-2798-40ef-aa8a-2c8e784cf99b}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="source\DXConCmds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\LinkerAPI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\dllmain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\DXAPI.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\Point3F.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\FlyingVehicle.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\GameBase.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\Projectile.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\ShapeBase.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\GrenadeProjectile.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\SceneObject.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\NetObject.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\StaticShape.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\Player.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\SimObject.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\Vehicle.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\NetConnection.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\GameConnection.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\TCPObject.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
<ClCompile Include="source\DXTCPObjects.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXBinaryObjects.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\DXAPI\ScriptObject.cpp">
<Filter>Source Files\DXAPI</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\LinkerAPI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXConCmds.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\Player.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\Projectile.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\SceneObject.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\ShapeBase.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\SimObject.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\StaticShape.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\DXAPI.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\GameBase.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\NetObject.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\Point3F.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\FlyingVehicle.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\Vehicle.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\GrenadeProjectile.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\NetConnection.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\GameConnection.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\TCPObject.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
<ClInclude Include="include\DXAPI\ScriptObject.h">
<Filter>Header Files\DXAPI</Filter>
</ClInclude>
</ItemGroup>
</Project>

View file

@ -23,7 +23,9 @@ bool conShapeBaseSetCloakValue(Linker::SimObject *obj, S32 argc, const char* arg
}
operand.setMaskBits(0x40);
return true;
}
bool conPlayerGetJumpingState(Linker::SimObject *obj, S32 argc, const char* argv[])
{
DX::Player operand = DX::Player((unsigned int)obj);
@ -155,6 +157,7 @@ bool conclientCmdSetGhostTicks(Linker::SimObject *obj, S32 argc, const char* arg
}
return 1;
}
bool conclientCmdSetProcessTicks(Linker::SimObject *obj, S32 argc, const char* argv[]) {
unsigned int result_ptr = 0;
unsigned int my_ptr = 0;
@ -186,6 +189,7 @@ bool conclientCmdSetProcessTicks(Linker::SimObject *obj, S32 argc, const char* a
}
return 1;
}
bool conSetProcessTicks(Linker::SimObject *obj, S32 argc, const char* argv[]) {
unsigned int result_ptr = 0;

View file

@ -1,2 +0,0 @@
#v4.0:v100
Release|Win32|C:\Users\Robert MacGregor\Documents\T2-CPP\Mod Sources\Watchdog\|

View file

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TSExtension", "TSExtension\TSExtension.vcxproj", "{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WatchDog", "Watchdog\Watchdog.vcxproj", "{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

Binary file not shown.

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View file

@ -14,7 +14,7 @@
<ClCompile Include="source\dllmain.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2A498B2D-84B2-4BBF-9532-EA17E5BA51BB}</ProjectGuid>
<ProjectGuid>{1C8B5AA4-B172-45DD-9D27-55F41B6F1755}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>BaseMod</RootNamespace>
<ProjectName>WatchDog</ProjectName>
@ -44,10 +44,12 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)\Mods</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>include;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)\Mods</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View file

@ -30,7 +30,7 @@ DWORD WINAPI WatchDogThread(LPVOID lpParam)
time_t now = clock();
time_t seconds = (now - lastPet) / CLOCKS_PER_SEC;
if (!sDogPetted && seconds > 2) // Wait 2 seconds to be safe
if (!sDogPetted && seconds > 8) // Wait 8 seconds to be safe
{
CloseHandle(sMainThread);
exit(0);

View file

@ -2,6 +2,11 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Modloader", "Modloader\Modloader.vcxproj", "{10159605-BFF5-496F-8C23-0A1FB9850E55}"
ProjectSection(ProjectDependencies) = postProject
{9B3A3214-400B-4245-85FD-EA12D5F791D4} = {9B3A3214-400B-4245-85FD-EA12D5F791D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\CommonAPI\Common\Common.vcxproj", "{9B3A3214-400B-4245-85FD-EA12D5F791D4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -13,6 +18,10 @@ Global
{10159605-BFF5-496F-8C23-0A1FB9850E55}.Debug|Win32.Build.0 = Debug|Win32
{10159605-BFF5-496F-8C23-0A1FB9850E55}.Release|Win32.ActiveCfg = Release|Win32
{10159605-BFF5-496F-8C23-0A1FB9850E55}.Release|Win32.Build.0 = Release|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.ActiveCfg = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Debug|Win32.Build.0 = Debug|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.ActiveCfg = Release|Win32
{9B3A3214-400B-4245-85FD-EA12D5F791D4}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Binary file not shown.

View file

@ -1,2 +0,0 @@
#v4.0:v100
Debug|Win32|C:\Users\Robert MacGregor\Documents\T2-CPP\ModLoader\|

Binary file not shown.

View file

@ -39,10 +39,13 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>include;$(IncludePath)</IncludePath>
<IncludePath>include;..\..\CommonAPI\Common\include;$(IncludePath)</IncludePath>
<TargetName>IFC22</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>include;..\..\CommonAPI\Common\include;$(IncludePath)</IncludePath>
<TargetName>IFC22</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@ -55,6 +58,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>$(SolutionDir)\Common.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -72,17 +76,16 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>$(SolutionDir)\Common.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="source\modLoader.cpp" />
<ClCompile Include="source\t2api.cpp" />
<ClCompile Include="source\t2dll.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\modLoader.h" />
<ClInclude Include="include\stdafx.h" />
<ClInclude Include="include\t2api.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View file

@ -18,9 +18,6 @@
<ClCompile Include="source\modLoader.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\t2api.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\t2dll.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -29,9 +26,6 @@
<ClInclude Include="include\modLoader.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\t2api.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>

View file

@ -2,7 +2,7 @@
* modLoader.h
*/
#include <t2api.h>
#include <LinkerAPI.h>
// Mod Loader Implementation
bool conLoadMod(SimObject *obj,S32 argc, const char* argv[]);
bool conLoadMod(Linker::SimObject *obj,S32 argc, const char* argv[]);

View file

@ -1,111 +0,0 @@
#pragma once
#include <string.h>
void initT2Api();
//api stuff
typedef unsigned int U32;
typedef int S32;
typedef float F32;
typedef unsigned int dsize_t;
//for addvariable
#define TypeS32 1
#define TypeBool 3
#define TypeF32 5
//dshit
inline dsize_t dStrlen(const char *str)
{
return (dsize_t)strlen(str);
}
class Namespace {
const char* mName;
};
class SimObject{
SimObject* group;
const char* objectName; //04h: objectName
SimObject* nextNameObject; //8
SimObject* nextManagerNameObject; //c
SimObject* nextIdObject; //10h: nextIdObject
U32 stuff; //14
U32 mFlags; //18h
U32 mNotifyList; //actually a pointer
U32 mId; //20h: mId
//more stuff
};
class SimIdDictionary
{
enum
{
DefaultTableSize = 4096,
TableBitMask = 4095
};
SimObject *table[DefaultTableSize];
};
extern SimIdDictionary* gIdDictionary;
class Point3F
{
public:
F32 x;
F32 y;
F32 z;
};
//GuiTSCtrl
class GuiTSCtrl {};
class HoverVehicle {};
void GuiTSCtrl_project(GuiTSCtrl *obj, const Point3F &pt, Point3F *dest); //fake
namespace Sim {
extern SimObject* (*findObject)(U32 id);
}
//console
typedef const char * (*StringCallback)(SimObject *obj, S32 argc, const char *argv[]);
typedef S32 (*IntCallback)(SimObject *obj, S32 argc, const char *argv[]);
typedef F32 (*FloatCallback)(SimObject *obj, S32 argc, const char *argv[]);
typedef void (*VoidCallback)(SimObject *obj, S32 argc, const char *argv[]);
typedef bool (*BoolCallback)(SimObject *obj, S32 argc, const char *argv[]);
extern void (*someTest)(void);
//functions
namespace Con{
extern char * (*getReturnBuffer)(U32 bufferSize);
extern void (*addMethodB)(const char *nsName, const char *name, BoolCallback cb, const char *usage, S32 minArgs, S32 maxArgs);
extern void (*addMethodS)(const char *nsName, const char *name, StringCallback cb, const char *usage, S32 minArgs, S32 maxArgs);
extern bool (*addVariable)(const char *name, S32 t, void *dp);
extern void (*printf)(const char* fmt,...);
extern void (*errorf)(U32 type, const char* fmt,...);
extern const char * (*getVariable)(const char *name);
extern const char * (*execute)(S32 argc, const char *argv[]);
extern const char * (*executef)(S32 argc, ...);
extern const char * (*executem)(SimObject *object, S32 argc, const char *argv[]);
extern const char * (*evaluate)(const char* string, bool echo, const char *fileName, bool cf);
}
//d-util
extern int (*dSscanf)(const char *buffer, const char *format, ...);
extern int (*dSprintf)(char *buffer, dsize_t bufferSize, const char *format, ...);
extern bool (*dAtob)(const char *str);

View file

@ -3,7 +3,7 @@
*/
#include "stdafx.h"
#include <t2api.h>
#include <LinkerAPI.h>
static std::tr1::unordered_set<ServerProcessPointer> sServerProcessResponders;
@ -27,7 +27,7 @@ void serverProcessReplacement(unsigned int timeDelta)
}
// Mod Loader Implementation
bool conLoadMod(SimObject *obj,S32 argc, const char* argv[])
bool conLoadMod(Linker::SimObject *obj,S32 argc, const char* argv[])
{
typedef void (*LPMODINIT)(void);
HINSTANCE hDLL = NULL;
@ -42,7 +42,7 @@ bool conLoadMod(SimObject *obj,S32 argc, const char* argv[])
hDLL = LoadLibrary(modification.c_str());
if (hDLL == NULL)
{
Con::errorf(0, "loadMod(): Failed to load DLL '%s'. Does it exist in GameData\mods? (%u)", raw.c_str(), GetLastError());
Con::errorf(0, "loadMod(): Failed to load DLL '%s'. Does it exist in GameData\\mods? (%u)", raw.c_str(), GetLastError());
return false; // The DLL doesn't exist
}

View file

@ -1,89 +0,0 @@
#include <t2api.h>
SimIdDictionary* gIdDictionary = reinterpret_cast<SimIdDictionary*>(0x009E9194);
//439550
namespace Sim {
SimObject* (*findObject)(U32 id) =
(SimObject* (_cdecl *)(U32 id) )
0x439550;
}
//hackey way to do member functions, ....
void GuiTSCtrl_project(GuiTSCtrl *obj, const Point3F &pt, Point3F *dest) {
typedef void (__cdecl *projFunc)(const Point3F &pt, Point3F *dest);
static projFunc p = (projFunc)0x4d0b40;
__asm {
push dest;
push pt;
mov ecx,obj;
lea eax, p;
mov eax, [eax];
call eax;
}
}
void (*someTest)(void) =
(void (__cdecl *)(void))
0x4FD9B3;
namespace Con {
char* (*getReturnBuffer)(U32 bufferSize) =
(char *(__cdecl *)(U32))
0x42caa0;
void (*addMethodB)(const char *nsName, const char *name, BoolCallback cb, const char *usage, S32 minArgs, S32 maxArgs) =
(void (__cdecl *)(const char *, const char *,BoolCallback,const char *,S32,S32))
0x426510;
void (*addMethodS)(const char *, const char *,StringCallback, const char *, S32, S32) =
(void (__cdecl *)(const char *,const char *,StringCallback,const char *,S32,S32))
0x426410;
bool (*addVariable)(const char *name, S32 t, void *dp) =
(bool (__cdecl *)(const char *name, S32 t, void *dp))
0x4263B0;
const char * (*execute)(S32 argc, const char *argv[]) =
(const char * (__cdecl *)(S32 argc, const char *argv[]))
0x4267A0;
const char * (*executef)(S32 argc, ...) =
(const char * (__cdecl *)(S32 argc, ...))
0x4269E0;
const char * (*evaluate)(const char* string, bool echo, const char *fileName, bool cf) =
(const char * (__cdecl *)(const char* string, bool echo, const char *fileName, bool cf))
0x426690;
const char * (*executem)(SimObject *object, S32 argc, const char *argv[]) =
(const char * (__cdecl *)(SimObject *object, S32 argc, const char *argv[]))
0x426800;
const char * (*getVariable)(const char *name) =
(const char * (__cdecl *)(const char *name))
0x4261F0;
void (*printf)(const char* fmt,...) =
(void (__cdecl *)(const char* fmt,...))
0x425F30;
void (*errorf)(U32 type, const char* fmt,...)=
(void (__cdecl *)(U32, const char*,...))
0x425FB0;
}
int (*dSscanf)(const char *buffer, const char *format, ...) =
(int (__cdecl *)(const char *,const char *,...))
0x55b640;
int (*dSprintf)(char *buffer, dsize_t bufferSize, const char *format, ...) =
(int (__cdecl *)(char *,dsize_t,const char *,...))
0x55b5e0;
bool (*dAtob)(const char *str) =
(bool (__cdecl *)(const char *str))
0x55B490;

View file

@ -6,7 +6,7 @@
#include <stdafx.h>
#include <t2api.h>
#include <LinkerAPI.h>
#include <modLoader.h>
#include <unordered_set>
@ -21,7 +21,7 @@ BOOL APIENTRY DllMain( HMODULE hModule,
return true;
}
const char* congetServPAddr(SimObject *obj, S32 argc, const char *argv[])
const char* congetServPAddr(Linker::SimObject *obj, S32 argc, const char *argv[])
{
char test[256] = "";
char test2[256]="";
@ -38,33 +38,63 @@ const char* congetServPAddr(SimObject *obj, S32 argc, const char *argv[])
test2[8]=0;*/
return test2;
}
__declspec(dllexport) void initT2Dll(void)
{
Con::addVariable("$cpuspeed",TypeS32,reinterpret_cast<void*>(0x8477F8)); //1 - S32, this is so i can set my cpu speed to 31337 or osmething =P
Con::addVariable("$GameBase::showBoundingBox",TypeBool,reinterpret_cast<void*>(0x9ECF24));
// Mod Loader Function
Con::addMethodB(NULL, "loadMod", &conLoadMod, "Loads a C++ modification.",2,2);
Con::addMethodS(NULL, "getServPAddr",&congetServPAddr,"Gets the memPatch data for ServerProcess",1,1);
// Load the original TribesNext DLL if available
typedef void (*LPINITT2DLL)(void);
HINSTANCE hDLL = NULL;
LPINITT2DLL lpinitT2DLL = NULL;
hDLL = LoadLibrary(L"tribesnext.dll"); // AfxLoadLibrary is probably better.
if (hDLL == NULL)
return; // The DLL doesn't exist
else
lpinitT2DLL = (LPINITT2DLL)GetProcAddress(hDLL, "_Z9initT2Dllv"); // Attempt to load our entry point
if (lpinitT2DLL == NULL)
return; // Unable to load entry point
else
lpinitT2DLL(); // The function was loaded, call TribesNext and move on to postTN Startup
}
class CImmCompoundEffect
{
public:
_declspec(dllexport) int Start(unsigned long x, unsigned long y) { return 8; }
_declspec(dllexport) int Stop() { return 1; }
};
class CImmDevice
{
public:
_declspec(dllexport) static CImmDevice * CreateDevice(HINSTANCE__ *, HWND__ *)
{
Con::addVariable("$cpuspeed",TypeS32,reinterpret_cast<void*>(0x8477F8)); //1 - S32, this is so i can set my cpu speed to 31337 or osmething =P
Con::addVariable("$GameBase::showBoundingBox",TypeBool,reinterpret_cast<void*>(0x9ECF24));
// Mod Loader Function
Con::addMethodB(NULL, "loadMod", &conLoadMod, "Loads a C++ modification.",2,2);
Con::addMethodS(NULL, "getServPAddr",&congetServPAddr,"Gets the memPatch data for ServerProcess",1,1);
// Load the original TribesNext DLL if available
typedef void (*LPINITT2DLL)(void);
HINSTANCE hDLL = NULL;
LPINITT2DLL lpinitT2DLL = NULL;
hDLL = LoadLibrary(L"tribesnext.dll"); // AfxLoadLibrary is probably better.
if (hDLL == NULL)
return 0; // The DLL doesn't exist
else
lpinitT2DLL = (LPINITT2DLL)GetProcAddress(hDLL, "_Z9initT2Dllv"); // Attempt to load our entry point
if (lpinitT2DLL == NULL)
return 0; // Unable to load entry point
else
lpinitT2DLL(); // The function was loaded, call TribesNext and move on to postTN Startup
return 0;
}
_declspec(dllexport) int UsesWin32MouseServices(int) { return 4; }
};
class CImmProject
{
public:
_declspec(dllexport) CImmProject() {}
_declspec(dllexport) ~CImmProject() {}
_declspec(dllexport) CImmCompoundEffect *GetCreatedEffect(int) { return 0; }
_declspec(dllexport) CImmCompoundEffect *GetCreatedEffect(const char *) { return 0; }
_declspec(dllexport) CImmCompoundEffect *CreateEffect(char const *, CImmDevice *, unsigned long) { return 0; }
_declspec(dllexport) int Start(char const *, unsigned long, unsigned long, class CImmDevice *) { return 1; }
_declspec(dllexport) int Stop(const char *) { return 1; }
_declspec(dllexport) int LoadProjectFromMemory(void *, CImmDevice *) { return 1; }
};
#ifdef _MANAGED
#pragma managed(pop)
#endif