Fixed the argument of how_much and enabled support for ceil math function.

Added VS2010 project files.
Tweaked CMap.h for the compatibility of VS2008.
This commit is contained in:
NovaRain
2018-05-22 20:49:45 +08:00
parent 1c73e8dec8
commit 9d9bf4a3b2
6 changed files with 309 additions and 13 deletions
+1 -1
View File
@@ -42,7 +42,7 @@ class CMap
{ {
if (_map.find(offset) != _map.end()) if (_map.find(offset) != _map.end())
{ {
_map.at(offset) = value; _map.find(offset)->second = value;
} }
_map.insert(std::pair<A, C>(offset, value)); _map.insert(std::pair<A, C>(offset, value));
+2 -2
View File
@@ -260,7 +260,7 @@ COpcode::CF2OpcodeAttributesMap::CF2OpcodeAttributesMap()
SetAt(O_DO_CHECK, COpcodeAttributes("O_DO_CHECK", "do_check", 3, expression)); SetAt(O_DO_CHECK, COpcodeAttributes("O_DO_CHECK", "do_check", 3, expression));
SetAt(O_IS_SUCCESS, COpcodeAttributes("O_IS_SUCCESS", "is_success", 1, expression)); SetAt(O_IS_SUCCESS, COpcodeAttributes("O_IS_SUCCESS", "is_success", 1, expression));
SetAt(O_IS_CRITICAL, COpcodeAttributes("O_IS_CRITICAL", "is_critical", 1, expression)); SetAt(O_IS_CRITICAL, COpcodeAttributes("O_IS_CRITICAL", "is_critical", 1, expression));
SetAt(O_HOW_MUCH, COpcodeAttributes("O_HOW_MUCH", "how_much", 0, expression)); SetAt(O_HOW_MUCH, COpcodeAttributes("O_HOW_MUCH", "how_much", 1, expression));
SetAt(O_MARK_AREA_KNOWN, COpcodeAttributes("O_MARK_AREA_KNOWN", "mark_area_known", 3)); SetAt(O_MARK_AREA_KNOWN, COpcodeAttributes("O_MARK_AREA_KNOWN", "mark_area_known", 3));
SetAt(O_REACTION_INFLUENCE, COpcodeAttributes("O_REACTION_INFLUENCE", "reaction_influence", 3, expression)); SetAt(O_REACTION_INFLUENCE, COpcodeAttributes("O_REACTION_INFLUENCE", "reaction_influence", 3, expression));
SetAt(O_RANDOM, COpcodeAttributes("O_RANDOM", "random", 2, expression)); SetAt(O_RANDOM, COpcodeAttributes("O_RANDOM", "random", 2, expression));
@@ -757,7 +757,7 @@ COpcode::CF2OpcodeAttributesMap::CF2OpcodeAttributesMap()
SetAt(O_TS_TYPEOF, COpcodeAttributes("O_TS_TYPEOF", "typeof", 1, expression)); SetAt(O_TS_TYPEOF, COpcodeAttributes("O_TS_TYPEOF", "typeof", 1, expression));
SetAt(O_TS_LOG, COpcodeAttributes("O_TS_LOG", "log", 1, expression)); // sfall 3.5 SetAt(O_TS_LOG, COpcodeAttributes("O_TS_LOG", "log", 1, expression)); // sfall 3.5
SetAt(O_TS_EXP, COpcodeAttributes("O_TS_EXP", "exponent", 1, expression)); // sfall 3.5 SetAt(O_TS_EXP, COpcodeAttributes("O_TS_EXP", "exponent", 1, expression)); // sfall 3.5
//SetAt(O_TS_CEIL, COpcodeAttributes("O_TS_CEIL", "ceil", 1, expression)); SetAt(O_TS_CEIL, COpcodeAttributes("O_TS_CEIL", "ceil", 1, expression)); // sfall 3.5
SetAt(O_TS_ROUND, COpcodeAttributes("O_TS_ROUND", "round", 1, expression)); // sfall 3.5 SetAt(O_TS_ROUND, COpcodeAttributes("O_TS_ROUND", "round", 1, expression)); // sfall 3.5
SetAt(O_TS_SAVE_ARRAY, COpcodeAttributes("O_TS_SAVE_ARRAY", "save_array", 2)); SetAt(O_TS_SAVE_ARRAY, COpcodeAttributes("O_TS_SAVE_ARRAY", "save_array", 2));
SetAt(O_TS_LOAD_ARRAY, COpcodeAttributes("O_TS_LOAD_ARRAY", "load_array", 1, expression)); SetAt(O_TS_LOAD_ARRAY, COpcodeAttributes("O_TS_LOAD_ARRAY", "load_array", 1, expression));
+10 -10
View File
@@ -54,18 +54,18 @@ std::string escape_str(std::string input)
for (std::string::size_type i = 0; i < input.length(); ++i) for (std::string::size_type i = 0; i < input.length(); ++i)
{ {
switch (input[i]) switch (input[i])
{ {
case '\n': case '\n':
output += "\\n"; output += "\\n";
break; break;
case '\r': case '\r':
output += "\\r"; output += "\\r";
break; break;
default: default:
output += input[i]; output += input[i];
break;; break;
} }
} }
return output; return output;
+23
View File
@@ -0,0 +1,23 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "int2ssl", "int2ssl.vcxproj", "{111A0D20-3404-449D-A984-73C3D9A001E1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
Win2K|Win32 = Win2K|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{111A0D20-3404-449D-A984-73C3D9A001E1}.Debug|Win32.ActiveCfg = Debug|Win32
{111A0D20-3404-449D-A984-73C3D9A001E1}.Debug|Win32.Build.0 = Debug|Win32
{111A0D20-3404-449D-A984-73C3D9A001E1}.Release|Win32.ActiveCfg = Release|Win32
{111A0D20-3404-449D-A984-73C3D9A001E1}.Release|Win32.Build.0 = Release|Win32
{111A0D20-3404-449D-A984-73C3D9A001E1}.Win2K|Win32.ActiveCfg = Win2K|Win32
{111A0D20-3404-449D-A984-73C3D9A001E1}.Win2K|Win32.Build.0 = Win2K|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
+177
View File
@@ -0,0 +1,177 @@
<?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>
<ProjectConfiguration Include="Win2K|Win32">
<Configuration>Win2K</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{111A0D20-3404-449D-A984-73C3D9A001E1}</ProjectGuid>
<RootNamespace>int2ssl</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win2K|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v90</PlatformToolset>
</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>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win2K|Win32'" Label="PropertySheets">
<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'">
<OutDir>Debug\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IntDir>Debug\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Release\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win2K|Win32'">
<OutDir>Win2K\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IntDir>Release\</IntDir>
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win2K|Win32'">
<IntDir>Win2K\</IntDir>
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(TargetPath)</OutputFile>
<ProgramDatabaseFile>$(OutDir)int2ssl.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<AdditionalDependencies>kernel32.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(TargetPath)</OutputFile>
<SubSystem>Console</SubSystem>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<AdditionalDependencies>kernel32.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win2K|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(TargetPath)</OutputFile>
<SubSystem>Console</SubSystem>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<AdditionalDependencies>kernel32.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="FalloutScript.cpp" />
<ClCompile Include="FalloutScriptDecompile.cpp" />
<ClCompile Include="FalloutScriptDefObject.cpp" />
<ClCompile Include="FalloutScriptDump.cpp" />
<ClCompile Include="FalloutScriptStore.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="Namespace.cpp" />
<ClCompile Include="Node.cpp" />
<ClCompile Include="Opcode.cpp" />
<ClCompile Include="OpcodeAttributes.cpp" />
<ClCompile Include="ProcTable.cpp" />
<ClCompile Include="StartupCode.cpp" />
<ClCompile Include="Utility.cpp" />
<ClCompile Include="XGetopt.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="FalloutScript.h" />
<ClInclude Include="Hacks\CMap.h" />
<ClInclude Include="Namespace.h" />
<ClInclude Include="Node.h" />
<ClInclude Include="ObjectAttributes.h" />
<ClInclude Include="Opcode.h" />
<ClInclude Include="ProcTable.h" />
<ClInclude Include="StartupCode.h" />
<ClInclude Include="Utility.h" />
<ClInclude Include="XGetopt.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+96
View File
@@ -0,0 +1,96 @@
<?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>
<Filter Include="Header Files\Hacks">
<UniqueIdentifier>{e9afbbab-60f2-40b9-a1ff-859a3bf8248a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="FalloutScript.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="FalloutScriptDecompile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="FalloutScriptDefObject.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="FalloutScriptDump.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="FalloutScriptStore.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Namespace.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Node.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Opcode.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="OpcodeAttributes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ProcTable.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StartupCode.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Utility.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XGetopt.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Hacks\CMap.h">
<Filter>Header Files\Hacks</Filter>
</ClInclude>
<ClInclude Include="FalloutScript.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Namespace.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Node.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ObjectAttributes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Opcode.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ProcTable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="StartupCode.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Utility.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="XGetopt.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>