Skip to content

Commit 3251111

Browse files
committed
UP to 64-bit
Also add physical core recognition for RAB multi-threaded compression.
1 parent eba7f2a commit 3251111

File tree

12 files changed

+241
-41
lines changed

12 files changed

+241
-41
lines changed

EDF Tools.sln

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ Global
2020
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Debug|Win32.ActiveCfg = Debug|Win32
2121
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Debug|Win32.Build.0 = Debug|Win32
2222
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Debug|x64.ActiveCfg = Debug|Win32
23-
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Release|Win32.ActiveCfg = Release|Win32
24-
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Release|Win32.Build.0 = Release|Win32
25-
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Release|x64.ActiveCfg = Release|Win32
23+
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Release|Win32.ActiveCfg = Release|x64
24+
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Release|Win32.Build.0 = Release|x64
25+
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Release|x64.ActiveCfg = Release|x64
26+
{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}.Release|x64.Build.0 = Release|x64
2627
{DEA2F8A0-ABD4-4122-9743-D11454D4F48B}.Debug|Win32.ActiveCfg = Debug|Win32
2728
{DEA2F8A0-ABD4-4122-9743-D11454D4F48B}.Debug|Win32.Build.0 = Debug|Win32
2829
{DEA2F8A0-ABD4-4122-9743-D11454D4F48B}.Debug|x64.ActiveCfg = Debug|x64

EDF_Tools/ASMutil.asm

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
.data
2+
3+
.code
4+
5+
ASMReadInt32 proc
6+
7+
test edx, edx
8+
jne BEdata
9+
mov eax, [rcx]
10+
ret
11+
BEdata:
12+
movbe eax, [rcx]
13+
ret
14+
int 3
15+
16+
ASMReadInt32 ENDP
17+
18+
END

EDF_Tools/CAS.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -704,7 +704,7 @@ CASTControl CAS::WriteTControlData(tinyxml2::XMLElement* data, std::vector<char>
704704
tinyxml2::XMLElement* entry = data->FirstChildElement();
705705
if (entry != nullptr)
706706
{
707-
int number;
707+
int number = 0;
708708
char buffer[4];
709709

710710
for (entry = data->FirstChildElement(); entry != 0; entry = entry->NextSiblingElement())

EDF_Tools/CAS.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ class CAS
5454
std::vector< char > WriteMainAnimationDataB(tinyxml2::XMLElement* data);
5555

5656
private:
57-
int CAS_Version;
57+
int CAS_Version = 0;
5858
// CasDataCommon length
5959
int i_CasDCCount = 0;
60-
int CANM_Offset;
60+
int CANM_Offset = 0;
6161
int i_TControlCount = 0;
6262
int i_TControlOffset = 0;
6363
int i_VControlCount = 0;

EDF_Tools/EDF_Tools.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ void init_locale(void)
5959
#include "CAS.h" //CAS parser
6060
#include "CANM.h" //CANM parser
6161

62-
#include "ModManager.h"
62+
// In 64-bit, it has errors and does not use it now.
63+
//#include "ModManager.h"
6364

6465
#define FLAG_VERBOSE 1
6566
#define FLAG_CREATE_FOLDER 2
@@ -440,8 +441,8 @@ int _tmain( int argc, wchar_t* argv[] )
440441
fileArgNum++;
441442
}
442443
else if (!lstrcmpW(argv[2], L"-mc")) {
443-
rabReader->bIsMultipleThreads = true;
444-
rabReader->bIsMultipleCores = true;
444+
// Initialize thread information
445+
rabReader->WriteInitMTInfo();
445446
fileArgNum++;
446447
}
447448
else if (!lstrcmpW(argv[2], L"-cmtn")) {

EDF_Tools/EDF_Tools.vcxproj

Lines changed: 87 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,18 @@
55
<Configuration>Debug</Configuration>
66
<Platform>Win32</Platform>
77
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Debug|x64">
9+
<Configuration>Debug</Configuration>
10+
<Platform>x64</Platform>
11+
</ProjectConfiguration>
812
<ProjectConfiguration Include="Release|Win32">
913
<Configuration>Release</Configuration>
1014
<Platform>Win32</Platform>
1115
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release|x64">
17+
<Configuration>Release</Configuration>
18+
<Platform>x64</Platform>
19+
</ProjectConfiguration>
1220
</ItemGroup>
1321
<PropertyGroup Label="Globals">
1422
<ProjectGuid>{C4C1EF46-CD8D-41CF-A2AA-008CA025AC7D}</ProjectGuid>
@@ -24,29 +32,57 @@
2432
<CharacterSet>Unicode</CharacterSet>
2533
<PlatformToolset>v141</PlatformToolset>
2634
</PropertyGroup>
35+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
36+
<ConfigurationType>Application</ConfigurationType>
37+
<UseDebugLibraries>true</UseDebugLibraries>
38+
<CharacterSet>Unicode</CharacterSet>
39+
<PlatformToolset>v141</PlatformToolset>
40+
</PropertyGroup>
2741
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
2842
<ConfigurationType>Application</ConfigurationType>
2943
<UseDebugLibraries>false</UseDebugLibraries>
3044
<WholeProgramOptimization>true</WholeProgramOptimization>
3145
<CharacterSet>Unicode</CharacterSet>
3246
<PlatformToolset>v142</PlatformToolset>
3347
</PropertyGroup>
48+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
49+
<ConfigurationType>Application</ConfigurationType>
50+
<UseDebugLibraries>false</UseDebugLibraries>
51+
<WholeProgramOptimization>true</WholeProgramOptimization>
52+
<CharacterSet>Unicode</CharacterSet>
53+
<PlatformToolset>v142</PlatformToolset>
54+
</PropertyGroup>
3455
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
3556
<ImportGroup Label="ExtensionSettings">
57+
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
3658
</ImportGroup>
3759
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
3860
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
3961
</ImportGroup>
62+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
63+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
64+
</ImportGroup>
4065
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
4166
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
4267
</ImportGroup>
68+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
69+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
70+
</ImportGroup>
4371
<PropertyGroup Label="UserMacros" />
4472
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
4573
<LinkIncremental>true</LinkIncremental>
4674
</PropertyGroup>
75+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
76+
<LinkIncremental>true</LinkIncremental>
77+
</PropertyGroup>
4778
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
4879
<LinkIncremental>false</LinkIncremental>
4980
</PropertyGroup>
81+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
82+
<LinkIncremental>false</LinkIncremental>
83+
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
84+
<IntDir>$(Configuration)\</IntDir>
85+
</PropertyGroup>
5086
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
5187
<ClCompile>
5288
<PrecompiledHeader>Use</PrecompiledHeader>
@@ -60,6 +96,19 @@
6096
<GenerateDebugInformation>true</GenerateDebugInformation>
6197
</Link>
6298
</ItemDefinitionGroup>
99+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
100+
<ClCompile>
101+
<PrecompiledHeader>Use</PrecompiledHeader>
102+
<WarningLevel>Level3</WarningLevel>
103+
<Optimization>Disabled</Optimization>
104+
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
105+
<DisableLanguageExtensions>false</DisableLanguageExtensions>
106+
</ClCompile>
107+
<Link>
108+
<SubSystem>Console</SubSystem>
109+
<GenerateDebugInformation>true</GenerateDebugInformation>
110+
</Link>
111+
</ItemDefinitionGroup>
63112
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
64113
<ClCompile>
65114
<WarningLevel>Level3</WarningLevel>
@@ -81,6 +130,27 @@
81130
<StackCommitSize>1048576</StackCommitSize>
82131
</Link>
83132
</ItemDefinitionGroup>
133+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
134+
<ClCompile>
135+
<WarningLevel>Level3</WarningLevel>
136+
<PrecompiledHeader>Use</PrecompiledHeader>
137+
<Optimization>MaxSpeed</Optimization>
138+
<FunctionLevelLinking>true</FunctionLevelLinking>
139+
<IntrinsicFunctions>true</IntrinsicFunctions>
140+
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
141+
<EnableFiberSafeOptimizations>false</EnableFiberSafeOptimizations>
142+
</ClCompile>
143+
<Link>
144+
<SubSystem>Console</SubSystem>
145+
<GenerateDebugInformation>true</GenerateDebugInformation>
146+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
147+
<OptimizeReferences>true</OptimizeReferences>
148+
<HeapReserveSize>10485760</HeapReserveSize>
149+
<HeapCommitSize>1048576</HeapCommitSize>
150+
<StackReserveSize>4048576</StackReserveSize>
151+
<StackCommitSize>1048576</StackCommitSize>
152+
</Link>
153+
</ItemDefinitionGroup>
84154
<ItemGroup>
85155
<ClInclude Include="CANM.h" />
86156
<ClInclude Include="CAS.h" />
@@ -91,7 +161,6 @@
91161
<ClInclude Include="MDB.h" />
92162
<ClInclude Include="Middleware.h" />
93163
<ClInclude Include="MissionScript.h" />
94-
<ClInclude Include="ModManager.h" />
95164
<ClInclude Include="MTAB.h" />
96165
<ClInclude Include="RAB.h" />
97166
<ClInclude Include="RMPA.h" />
@@ -104,42 +173,58 @@
104173
<ItemGroup>
105174
<ClCompile Include="CANM.cpp">
106175
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
176+
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
107177
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">DEBUGMODE;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
178+
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">DEBUGMODE;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
108179
</ClCompile>
109180
<ClCompile Include="CAS.cpp">
110181
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
182+
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
111183
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">DEBUGMODE;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
184+
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">DEBUGMODE;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
112185
</ClCompile>
113186
<ClCompile Include="include\tinyxml2.cpp">
114187
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
188+
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
115189
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
190+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
116191
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
192+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
117193
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
194+
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
118195
</ClCompile>
119196
<ClCompile Include="JSONAMLParser.cpp" />
120197
<ClCompile Include="MAB.cpp" />
121198
<ClCompile Include="MDB.cpp" />
122199
<ClCompile Include="Middleware.cpp" />
123200
<ClCompile Include="MissionScript.cpp" />
124-
<ClCompile Include="ModManager.cpp" />
125201
<ClCompile Include="MTAB.cpp">
126202
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
203+
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
127204
</ClCompile>
128205
<ClCompile Include="RAB.cpp" />
129206
<ClCompile Include="RMPA.cpp" />
130207
<ClCompile Include="SGO.cpp" />
131208
<ClCompile Include="EDF_Tools.cpp" />
132209
<ClCompile Include="stdafx.cpp">
133210
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
211+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
134212
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
213+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
135214
</ClCompile>
136215
<ClCompile Include="util.cpp">
137216
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Default</BasicRuntimeChecks>
217+
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Default</BasicRuntimeChecks>
138218
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Default</BasicRuntimeChecks>
219+
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Default</BasicRuntimeChecks>
139220
</ClCompile>
140221
<ClCompile Include="VMState.cpp" />
141222
</ItemGroup>
223+
<ItemGroup>
224+
<MASM Include="ASMutil.asm" />
225+
</ItemGroup>
142226
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
143227
<ImportGroup Label="ExtensionTargets">
228+
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
144229
</ImportGroup>
145230
</Project>

EDF_Tools/EDF_Tools.vcxproj.filters

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@
3939
<ClInclude Include="VMState.h">
4040
<Filter>Source Files</Filter>
4141
</ClInclude>
42-
<ClInclude Include="ModManager.h">
43-
<Filter>Source Files\UITools</Filter>
44-
</ClInclude>
4542
<ClInclude Include="JSONAMLParser.h">
4643
<Filter>Source Files</Filter>
4744
</ClInclude>
@@ -95,9 +92,6 @@
9592
<ClCompile Include="EDF_Tools.cpp">
9693
<Filter>Source Files</Filter>
9794
</ClCompile>
98-
<ClCompile Include="ModManager.cpp">
99-
<Filter>Source Files\UITools</Filter>
100-
</ClCompile>
10195
<ClCompile Include="JSONAMLParser.cpp">
10296
<Filter>Source Files</Filter>
10397
</ClCompile>
@@ -132,4 +126,9 @@
132126
<Filter>Source Files\Formats</Filter>
133127
</ClCompile>
134128
</ItemGroup>
129+
<ItemGroup>
130+
<MASM Include="ASMutil.asm">
131+
<Filter>Header Files</Filter>
132+
</MASM>
133+
</ItemGroup>
135134
</Project>

0 commit comments

Comments
 (0)