From: <sag...@us...> - 2013-10-26 16:37:28
|
Revision: 3044 http://sourceforge.net/p/modplug/code/3044 Author: saga-games Date: 2013-10-26 16:37:16 +0000 (Sat, 26 Oct 2013) Log Message: ----------- [Mod] Rewrote RAR support using official unrar library. This adds support for newer RAR files (probably anything > RAR 1.5?). All changes to the unrar code have been marked in the source code. Solution file still needs to be updated for VS2008. Modified Paths: -------------- trunk/OpenMPT/include/unrar/UnRAR.vcproj trunk/OpenMPT/include/unrar/arcread.cpp trunk/OpenMPT/include/unrar/extract.cpp trunk/OpenMPT/include/unrar/filcreat.cpp trunk/OpenMPT/include/unrar/file.cpp trunk/OpenMPT/include/unrar/file.hpp trunk/OpenMPT/include/unrar/filefn.cpp trunk/OpenMPT/include/unrar/find.cpp trunk/OpenMPT/include/unrar/match.cpp trunk/OpenMPT/include/unrar/pathfn.cpp trunk/OpenMPT/include/unrar/rar.hpp trunk/OpenMPT/include/unrar/rdwrfn.cpp trunk/OpenMPT/include/unrar/secpassword.cpp trunk/OpenMPT/include/unrar/volume.cpp trunk/OpenMPT/include/unrar/win32acl.cpp trunk/OpenMPT/include/unrar/win32lnk.cpp trunk/OpenMPT/mptrack/MPTRACK_10.sln trunk/OpenMPT/mptrack/mptrack_08.vcproj trunk/OpenMPT/mptrack/mptrack_10.vcxproj trunk/OpenMPT/mptrack/mptrack_10.vcxproj.filters trunk/OpenMPT/packageTemplate/readme.txt trunk/OpenMPT/unarchiver/unarchiver.cpp trunk/OpenMPT/unarchiver/unarchiver.h trunk/OpenMPT/unarchiver/unrar.cpp trunk/OpenMPT/unarchiver/unrar.h Added Paths: ----------- trunk/OpenMPT/include/unrar/UnRAR.vcxproj trunk/OpenMPT/include/unrar/UnRAR.vcxproj.filters trunk/OpenMPT/include/unrar/openmpt.hpp trunk/OpenMPT/include/unrar/openmpt.txt Removed Paths: ------------- trunk/OpenMPT/unarchiver/unrar/ Property Changed: ---------------- trunk/OpenMPT/include/unrar/ Index: trunk/OpenMPT/include/unrar =================================================================== --- trunk/OpenMPT/include/unrar 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar 2013-10-26 16:37:16 UTC (rev 3044) Property changes on: trunk/OpenMPT/include/unrar ___________________________________________________________________ Modified: svn:ignore ## -1 +1,2 ## +*.user build Modified: trunk/OpenMPT/include/unrar/UnRAR.vcproj =================================================================== --- trunk/OpenMPT/include/unrar/UnRAR.vcproj 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/UnRAR.vcproj 2013-10-26 16:37:16 UTC (rev 3044) @@ -45,7 +45,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/MP" Optimization="0" - PreprocessorDefinitions="UNRAR" + PreprocessorDefinitions="MODPLUG_TRACKER" MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="1" @@ -123,7 +123,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/MP" Optimization="0" - PreprocessorDefinitions="UNRAR" + PreprocessorDefinitions="MODPLUG_TRACKER" MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="1" @@ -205,7 +205,7 @@ FavorSizeOrSpeed="0" OmitFramePointers="true" WholeProgramOptimization="false" - PreprocessorDefinitions="UNRAR" + PreprocessorDefinitions="MODPLUG_TRACKER" MinimalRebuild="false" RuntimeLibrary="0" StructMemberAlignment="0" @@ -295,7 +295,7 @@ FavorSizeOrSpeed="0" OmitFramePointers="true" WholeProgramOptimization="false" - PreprocessorDefinitions="UNRAR" + PreprocessorDefinitions="MODPLUG_TRACKER" StringPooling="false" MinimalRebuild="false" RuntimeLibrary="0" Added: trunk/OpenMPT/include/unrar/UnRAR.vcxproj =================================================================== --- trunk/OpenMPT/include/unrar/UnRAR.vcxproj (rev 0) +++ trunk/OpenMPT/include/unrar/UnRAR.vcxproj 2013-10-26 16:37:16 UTC (rev 3044) @@ -0,0 +1,331 @@ +<?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="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{95CC809B-03FC-4EDB-BB20-FD07A698C05F}</ProjectGuid> + <RootNamespace>UnRAR</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" 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> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">build\unrar32\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">build\unrar32\$(Configuration)\obj\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">build\unrar64\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">build\unrar64\$(Configuration)\obj\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">build\unrar32\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">build\unrar32\$(Configuration)\obj\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">build\unrar64\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">build\unrar64\$(Configuration)\obj\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>MODPLUG_TRACKER;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>false</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>false</RuntimeTypeInfo> + <PrecompiledHeader>Use</PrecompiledHeader> + <PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <CallingConvention>StdCall</CallingConvention> + <DisableSpecificWarnings>4007;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>UNRAR;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>false</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <RuntimeTypeInfo>false</RuntimeTypeInfo> + <PrecompiledHeader>Use</PrecompiledHeader> + <PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CallingConvention>StdCall</CallingConvention> + <DisableSpecificWarnings>4007;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <Optimization>MaxSpeed</Optimization> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> + <WholeProgramOptimization>true</WholeProgramOptimization> + <PreprocessorDefinitions>MODPLUG_TRACKER;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>false</MinimalRebuild> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <StructMemberAlignment>Default</StructMemberAlignment> + <BufferSecurityCheck>true</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet> + <FloatingPointModel>Precise</FloatingPointModel> + <RuntimeTypeInfo>false</RuntimeTypeInfo> + <PrecompiledHeader>Use</PrecompiledHeader> + <PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CallingConvention>StdCall</CallingConvention> + <DisableSpecificWarnings>4007;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <LinkTimeCodeGeneration> + </LinkTimeCodeGeneration> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <Optimization>MinSpace</Optimization> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PreprocessorDefinitions>UNRAR;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>false</StringPooling> + <MinimalRebuild>false</MinimalRebuild> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <BufferSecurityCheck>true</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <RuntimeTypeInfo>false</RuntimeTypeInfo> + <PrecompiledHeader>Use</PrecompiledHeader> + <PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CallingConvention>StdCall</CallingConvention> + <DisableSpecificWarnings>4007;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <LinkTimeCodeGeneration> + </LinkTimeCodeGeneration> + <TargetMachine>MachineX64</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="archive.cpp" /> + <ClCompile Include="arcread.cpp" /> + <ClCompile Include="blake2s.cpp" /> + <ClCompile Include="cmddata.cpp" /> + <ClCompile Include="consio.cpp" /> + <ClCompile Include="crc.cpp" /> + <ClCompile Include="crypt.cpp" /> + <ClCompile Include="encname.cpp" /> + <ClCompile Include="errhnd.cpp" /> + <ClCompile Include="extinfo.cpp" /> + <ClCompile Include="extract.cpp" /> + <ClCompile Include="filcreat.cpp" /> + <ClCompile Include="file.cpp" /> + <ClCompile Include="filefn.cpp" /> + <ClCompile Include="filestr.cpp" /> + <ClCompile Include="find.cpp" /> + <ClCompile Include="getbits.cpp" /> + <ClCompile Include="global.cpp"> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + </PrecompiledHeader> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + </PrecompiledHeader> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + </PrecompiledHeader> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + </PrecompiledHeader> + </ClCompile> + <ClCompile Include="hash.cpp" /> + <ClCompile Include="headers.cpp" /> + <ClCompile Include="isnt.cpp" /> + <ClCompile Include="list.cpp" /> + <ClCompile Include="match.cpp" /> + <ClCompile Include="options.cpp" /> + <ClCompile Include="pathfn.cpp" /> + <ClCompile Include="qopen.cpp" /> + <ClCompile Include="rar.cpp" /> + <ClCompile Include="rarpch.cpp"> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> + </ClCompile> + <ClCompile Include="rarvm.cpp" /> + <ClCompile Include="rawread.cpp" /> + <ClCompile Include="rdwrfn.cpp" /> + <ClCompile Include="recvol.cpp" /> + <ClCompile Include="resource.cpp" /> + <ClCompile Include="rijndael.cpp" /> + <ClCompile Include="rs.cpp" /> + <ClCompile Include="rs16.cpp" /> + <ClCompile Include="scantree.cpp" /> + <ClCompile Include="secpassword.cpp" /> + <ClCompile Include="sha1.cpp" /> + <ClCompile Include="sha256.cpp" /> + <ClCompile Include="smallfn.cpp" /> + <ClCompile Include="strfn.cpp" /> + <ClCompile Include="strlist.cpp" /> + <ClCompile Include="system.cpp" /> + <ClCompile Include="threadpool.cpp" /> + <ClCompile Include="timefn.cpp" /> + <ClCompile Include="unicode.cpp" /> + <ClCompile Include="unpack.cpp" /> + <ClCompile Include="volume.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="archive.hpp" /> + <ClInclude Include="array.hpp" /> + <ClInclude Include="blake2s.hpp" /> + <ClInclude Include="cmddata.hpp" /> + <ClInclude Include="coder.hpp" /> + <ClInclude Include="compress.hpp" /> + <ClInclude Include="consio.hpp" /> + <ClInclude Include="crc.hpp" /> + <ClInclude Include="crypt.hpp" /> + <ClInclude Include="dll.hpp" /> + <ClInclude Include="encname.hpp" /> + <ClInclude Include="errhnd.hpp" /> + <ClInclude Include="extinfo.hpp" /> + <ClInclude Include="extract.hpp" /> + <ClInclude Include="filcreat.hpp" /> + <ClInclude Include="file.hpp" /> + <ClInclude Include="filefn.hpp" /> + <ClInclude Include="filestr.hpp" /> + <ClInclude Include="find.hpp" /> + <ClInclude Include="getbits.hpp" /> + <ClInclude Include="global.hpp" /> + <ClInclude Include="hash.hpp" /> + <ClInclude Include="headers.hpp" /> + <ClInclude Include="headers5.hpp" /> + <ClInclude Include="isnt.hpp" /> + <ClInclude Include="list.hpp" /> + <ClInclude Include="loclang.hpp" /> + <ClInclude Include="log.hpp" /> + <ClInclude Include="match.hpp" /> + <ClInclude Include="model.hpp" /> + <ClInclude Include="openmpt.hpp" /> + <ClInclude Include="options.hpp" /> + <ClInclude Include="os.hpp" /> + <ClInclude Include="pathfn.hpp" /> + <ClInclude Include="qopen.hpp" /> + <ClInclude Include="rar.hpp" /> + <ClInclude Include="rardefs.hpp" /> + <ClInclude Include="rarlang.hpp" /> + <ClInclude Include="raros.hpp" /> + <ClInclude Include="rartypes.hpp" /> + <ClInclude Include="rarvm.hpp" /> + <ClInclude Include="rawread.hpp" /> + <ClInclude Include="rdwrfn.hpp" /> + <ClInclude Include="recvol.hpp" /> + <ClInclude Include="resource.hpp" /> + <ClInclude Include="rijndael.hpp" /> + <ClInclude Include="rs.hpp" /> + <ClInclude Include="rs16.hpp" /> + <ClInclude Include="savepos.hpp" /> + <ClInclude Include="scantree.hpp" /> + <ClInclude Include="secpassword.hpp" /> + <ClInclude Include="sha1.hpp" /> + <ClInclude Include="sha256.hpp" /> + <ClInclude Include="smallfn.hpp" /> + <ClInclude Include="strfn.hpp" /> + <ClInclude Include="strlist.hpp" /> + <ClInclude Include="suballoc.hpp" /> + <ClInclude Include="system.hpp" /> + <ClInclude Include="threadpool.hpp" /> + <ClInclude Include="timefn.hpp" /> + <ClInclude Include="ulinks.hpp" /> + <ClInclude Include="unicode.hpp" /> + <ClInclude Include="unpack.hpp" /> + <ClInclude Include="version.hpp" /> + <ClInclude Include="volume.hpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file Added: trunk/OpenMPT/include/unrar/UnRAR.vcxproj.filters =================================================================== --- trunk/OpenMPT/include/unrar/UnRAR.vcxproj.filters (rev 0) +++ trunk/OpenMPT/include/unrar/UnRAR.vcxproj.filters 2013-10-26 16:37:16 UTC (rev 3044) @@ -0,0 +1,363 @@ +<?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</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="archive.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="arcread.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="blake2s.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="cmddata.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="consio.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="crc.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="encname.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="errhnd.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="extinfo.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="extract.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="filcreat.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="file.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="filefn.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="filestr.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="find.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="getbits.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="global.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="hash.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="headers.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="isnt.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="list.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="match.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="options.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="pathfn.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="qopen.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="rar.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="rarpch.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="rarvm.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="rawread.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="rdwrfn.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="recvol.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="resource.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="rs.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="rs16.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="scantree.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="secpassword.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sha1.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sha256.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="smallfn.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="strfn.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="strlist.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="system.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="threadpool.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="timefn.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="unicode.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="unpack.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="volume.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="crypt.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="rijndael.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="archive.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="array.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="blake2s.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="cmddata.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="coder.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="compress.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="consio.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="crc.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="crypt.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="dll.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="encname.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="errhnd.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="extinfo.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="extract.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="filcreat.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="file.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="filefn.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="filestr.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="find.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="getbits.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="global.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="hash.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="headers.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="headers5.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="isnt.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="list.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="loclang.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="log.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="match.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="model.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="options.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="os.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="pathfn.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="qopen.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rar.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rardefs.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rarlang.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="raros.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rartypes.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rarvm.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rawread.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rdwrfn.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="recvol.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="resource.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rijndael.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rs.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rs16.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="savepos.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="scantree.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="secpassword.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="sha1.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="sha256.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="smallfn.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="strfn.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="strlist.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="suballoc.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="system.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="threadpool.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="timefn.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ulinks.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="unicode.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="unpack.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="version.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="volume.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="openmpt.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project> \ No newline at end of file Modified: trunk/OpenMPT/include/unrar/arcread.cpp =================================================================== --- trunk/OpenMPT/include/unrar/arcread.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/arcread.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -1326,6 +1326,7 @@ #ifndef SHELL_EXT bool Archive::ReadSubData(Array<byte> *UnpData,File *DestFile) { + return false; // OPENMPT ADDITION if (BrokenHeader) { #ifndef SHELL_EXT Modified: trunk/OpenMPT/include/unrar/extract.cpp =================================================================== --- trunk/OpenMPT/include/unrar/extract.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/extract.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -365,6 +365,7 @@ // DestFileName can be set empty in case of excessive -ap switch. ExtrFile=!SkipSolid && *DestFileName!=0 && !Arc.FileHead.SplitBefore; + /* // OPENMPT ADDITION if ((Cmd->FreshFiles || Cmd->UpdateFiles) && (Command=='E' || Command=='X')) { FindData FD; @@ -386,6 +387,7 @@ if (Cmd->FreshFiles) ExtrFile=false; } + */ // OPENMPT ADDITION if (Arc.FileHead.Encrypted) { @@ -545,6 +547,7 @@ bool LinkSuccess=true; // Assume success for test mode. if (LinkEntry) { + /* // OPENMPT ADDITION FILE_SYSTEM_REDIRECT Type=Arc.FileHead.RedirType; if (Type==FSREDIR_HARDLINK || Type==FSREDIR_FILECOPY) @@ -581,6 +584,7 @@ ShowChecksum=false; } PrevExtracted=FileCreateMode && LinkSuccess; + */ // OPENMPT ADDITION } else if (!Arc.FileHead.SplitBefore && !WrongPassword) @@ -652,6 +656,7 @@ mprintf(L"\b\b\b\b\b "); #endif + /* // OPENMPT ADDITION if (!TestMode && !WrongPassword && (Command=='X' || Command=='E') && (!LinkEntry || Arc.FileHead.RedirType==FSREDIR_FILECOPY && LinkSuccess) && (!BrokenFile || Cmd->KeepBroken)) @@ -688,6 +693,7 @@ SetFileAttr(CurFile.FileName,Arc.FileHead.FileAttr); PrevExtracted=true; } + */ // OPENMPT ADDITION } } if (ExactMatch) @@ -755,6 +761,8 @@ void CmdExtract::ExtrPrepareName(CommandData *Cmd,Archive &Arc,const wchar *ArcFileName,wchar *DestName,size_t DestSize) { + *DestName = L'*'; // OPENMPT ADDITION + return; // OPENMPT ADDITION wcsncpyz(DestName,Cmd->ExtrPath,DestSize); // We need IsPathDiv check here to correctly handle Unix forward slash @@ -825,6 +833,7 @@ #ifdef RARDLL bool CmdExtract::ExtrDllGetPassword(CommandData *Cmd) { + return false; // OPENMPT ADDITION if (!Cmd->Password.IsSet()) { if (Cmd->Callback!=NULL) @@ -911,6 +920,7 @@ void CmdExtract::ExtrCreateDir(CommandData *Cmd,Archive &Arc,const wchar *ArcFileName) { + return; // OPENMPT ADDITION if (Cmd->Test) { #ifndef GUI @@ -981,6 +991,7 @@ bool CmdExtract::ExtrCreateFile(CommandData *Cmd,Archive &Arc,File &CurFile) { + return true; // OPENMPT ADDITION bool Success=true; wchar Command=Cmd->Command[0]; #if !defined(GUI) && !defined(SFX_MODULE) Modified: trunk/OpenMPT/include/unrar/filcreat.cpp =================================================================== --- trunk/OpenMPT/include/unrar/filcreat.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/filcreat.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -7,6 +7,7 @@ OVERWRITE_MODE Mode,bool *UserReject,int64 FileSize, RarTime *FileTime,bool WriteOnly) { + return true; // OPENMPT ADDITION if (UserReject!=NULL) *UserReject=false; #ifdef _WIN_ALL @@ -113,6 +114,7 @@ bool GetAutoRenamedName(wchar *Name,size_t MaxNameSize) { + return true; // OPENMPT ADDITION wchar NewName[NM]; if (wcslen(Name)>ASIZE(NewName)-10) return false; Modified: trunk/OpenMPT/include/unrar/file.cpp =================================================================== --- trunk/OpenMPT/include/unrar/file.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/file.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -1,5 +1,9 @@ #include "rar.hpp" +#undef Min // OPENMPT ADDITION +#include "../../common/BuildSettings.h" // OPENMPT ADDITION +#include "../../soundlib/FileReader.h" // OPENMPT ADDITION + File::File() { hFile=BAD_HANDLE; @@ -22,11 +26,13 @@ File::~File() { + /* // OPENMPT ADDITION if (hFile!=BAD_HANDLE && !SkipClose) if (NewFile) Delete(); else Close(); + */ // OPENMPT ADDITION } @@ -42,6 +48,10 @@ bool File::Open(const wchar *Name,uint Mode) { + hFile = reinterpret_cast<FileReader *>(const_cast<wchar *>(Name)); // OPENMPT ADDITION + hFile->Rewind(); // OPENMPT ADDITION + return true; // OPENMPT ADDITION + /* // OPENMPT ADDITION ErrorType=FILE_SUCCESS; FileHandle hNewFile; bool OpenShared=File::OpenShared || (Mode & FMF_OPENSHARED)!=0; @@ -111,6 +121,7 @@ wcsncpyz(FileName,Name,ASIZE(FileName)); } return Success; + */ // OPENMPT ADDITION } @@ -134,6 +145,8 @@ bool File::Create(const wchar *Name,uint Mode) { + return false; // OPENMPT ADDITION + /* // OPENMPT ADDITION // OpenIndiana based NAS and CIFS shares fail to set the file time if file // was created in read+write mode and some data was written and not flushed // before SetFileTime call. So we should use the write only mode if we plan @@ -163,6 +176,7 @@ SkipClose=false; wcsncpyz(FileName,Name,ASIZE(FileName)); return hFile!=BAD_HANDLE; + */ // OPENMPT ADDITION } @@ -188,6 +202,7 @@ bool File::Close() { bool Success=true; + /* // OPENMPT ADDITION if (HandleType!=FILE_HANDLENORMAL) HandleType=FILE_HANDLENORMAL; else @@ -205,22 +220,27 @@ if (!Success && AllowExceptions) ErrHandler.CloseError(FileName); } + */ // OPENMPT ADDITION return Success; } void File::Flush() { + /* // OPENMPT ADDITION #ifdef _WIN_ALL FlushFileBuffers(hFile); #else fflush(hFile); #endif + */ // OPENMPT ADDITION } bool File::Delete() { + return false; // OPENMPT ADDITION + /* // OPENMPT ADDITION if (HandleType!=FILE_HANDLENORMAL) return false; if (hFile!=BAD_HANDLE) @@ -228,11 +248,14 @@ if (!AllowDelete) return false; return DelFile(FileName); + */ // OPENMPT ADDITION } bool File::Rename(const wchar *NewName) { + return false; // OPENMPT ADDITION + /* // OPENMPT ADDITION // No need to rename if names are already same. bool Success=wcscmp(FileName,NewName)==0; @@ -243,11 +266,13 @@ wcscpy(FileName,NewName); return Success; + */ // OPENMPT ADDITION } void File::Write(const void *Data,size_t Size) { + /* // OPENMPT ADDITION if (Size==0) return; if (HandleType!=FILE_HANDLENORMAL) @@ -314,11 +339,14 @@ break; } LastWrite=true; + */ // OPENMPT ADDITION } int File::Read(void *Data,size_t Size) { + return hFile->ReadRaw(static_cast<char *>(Data), Size); // OPENMPT ADDITION + /* // OPENMPT ADDITION int64 FilePos=0; // Initialized only to suppress some compilers warning. if (IgnoreReadErrors) @@ -352,12 +380,15 @@ break; } return ReadSize; + */ // OPENMPT ADDITION } // Returns -1 in case of error. int File::DirectRead(void *Data,size_t Size) { + return Read(Data, Size); // OPENMPT ADDITION + /* // OPENMPT ADDITION #ifdef _WIN_ALL const size_t MaxDeviceRead=20000; const size_t MaxLockedRead=32768; @@ -406,6 +437,7 @@ return -1; return (int)ReadSize; #endif + */ // OPENMPT ADDITION } @@ -425,6 +457,8 @@ Offset=(Method==SEEK_CUR ? Tell():FileLength())+Offset; Method=SEEK_SET; } + return hFile->Seek((FileReader::off_t)Offset); // OPENMPT ADDITION + /* // OPENMPT ADDITION #ifdef _WIN_ALL LONG HighDist=(LONG)(Offset>>32); if (SetFilePointer(hFile,(LONG)Offset,&HighDist,Method)==0xffffffff && @@ -440,11 +474,14 @@ return false; #endif return true; + */ // OPENMPT ADDITION } int64 File::Tell() { + return hFile->GetPosition(); // OPENMPT ADDITION + /* // OPENMPT ADDITION if (hFile==BAD_HANDLE) if (AllowExceptions) ErrHandler.SeekError(FileName); @@ -466,11 +503,13 @@ return ftell(hFile); #endif #endif + */ // OPENMPT ADDITION } void File::Prealloc(int64 Size) { + /* // OPENMPT ADDITION #ifdef _WIN_ALL if (RawSeek(Size,SEEK_SET)) { @@ -486,6 +525,7 @@ if (fd >= 0) fallocate(fd, 0, 0, Size); #endif + */ // OPENMPT ADDITION } @@ -505,16 +545,20 @@ bool File::Truncate() { + return false; // OPENMPT ADDITION + /* // OPENMPT ADDITION #ifdef _WIN_ALL return SetEndOfFile(hFile)==TRUE; #else return false; #endif + */ // OPENMPT ADDITION } void File::SetOpenFileTime(RarTime *ftm,RarTime *ftc,RarTime *fta) { + /* // OPENMPT ADDITION #ifdef _WIN_ALL // Workaround for OpenIndiana NAS time bug. If we cannot create a file // in write only mode, we need to flush the write buffer before calling @@ -534,19 +578,23 @@ fta->GetWin32(&fa); SetFileTime(hFile,sc ? &fc:NULL,sa ? &fa:NULL,sm ? &fm:NULL); #endif + */ // OPENMPT ADDITION } void File::SetCloseFileTime(RarTime *ftm,RarTime *fta) { + /* // OPENMPT ADDITION #ifdef _UNIX SetCloseFileTimeByName(FileName,ftm,fta); #endif + */ // OPENMPT ADDITION } void File::SetCloseFileTimeByName(const wchar *Name,RarTime *ftm,RarTime *fta) { + /* // OPENMPT ADDITION #ifdef _UNIX bool setm=ftm!=NULL && ftm->IsSet(); bool seta=fta!=NULL && fta->IsSet(); @@ -566,11 +614,13 @@ utime(NameA,&ut); } #endif + */ // OPENMPT ADDITION } void File::GetOpenFileTime(RarTime *ft) { + /* // OPENMPT ADDITION #ifdef _WIN_ALL FILETIME FileTime; GetFileTime(hFile,NULL,NULL,&FileTime); @@ -581,19 +631,25 @@ fstat(fileno(hFile),&st); *ft=st.st_mtime; #endif + */ // OPENMPT ADDITION } int64 File::FileLength() { + return hFile->GetLength(); // OPENMPT ADDITION + /* // OPENMPT ADDITION SaveFilePos SavePos(*this); Seek(0,SEEK_END); return Tell(); + */ // OPENMPT ADDITION } bool File::IsDevice() { + return false; // OPENMPT ADDITION + /* // OPENMPT ADDITION if (hFile==BAD_HANDLE) return false; #ifdef _WIN_ALL @@ -602,6 +658,7 @@ #else return isatty(fileno(hFile)); #endif + */ // OPENMPT ADDITION } Modified: trunk/OpenMPT/include/unrar/file.hpp =================================================================== --- trunk/OpenMPT/include/unrar/file.hpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/file.hpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -1,6 +1,11 @@ #ifndef _RAR_FILE_ #define _RAR_FILE_ +class FileReader; // OPENMPT ADDITION +typedef FileReader* FileHandle; // OPENMPT ADDITION +#define BAD_HANDLE nullptr // OPENMPT ADDITION + +/* // OPENMPT ADDITION #ifdef _WIN_ALL typedef HANDLE FileHandle; #define BAD_HANDLE INVALID_HANDLE_VALUE @@ -8,6 +13,7 @@ typedef FILE* FileHandle; #define BAD_HANDLE NULL #endif +*/ // OPENMPT ADDITION class RAROptions; Modified: trunk/OpenMPT/include/unrar/filefn.cpp =================================================================== --- trunk/OpenMPT/include/unrar/filefn.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/filefn.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -2,6 +2,7 @@ MKDIR_CODE MakeDir(const wchar *Name,bool SetAttr,uint Attr) { + return MKDIR_SUCCESS; // OPENMPT ADDITION #ifdef _WIN_ALL BOOL RetCode=CreateDirectory(Name,NULL); if (RetCode==0 && !FileExist(Name)) @@ -36,6 +37,7 @@ bool CreatePath(const wchar *Path,bool SkipLastName) { + return true; // OPENMPT ADDITION if (Path==NULL || *Path==0) return false; @@ -85,6 +87,7 @@ void SetDirTime(const wchar *Name,RarTime *ftm,RarTime *ftc,RarTime *fta) { + return; // OPENMPT ADDITION #ifdef _WIN_ALL bool sm=ftm!=NULL && ftm->IsSet(); bool sc=ftc!=NULL && ftc->IsSet(); @@ -127,6 +130,7 @@ bool IsRemovable(const wchar *Name) { + return false; // OPENMPT ADDITION #ifdef _WIN_ALL wchar Root[NM]; GetPathRoot(Name,Root,ASIZE(Root)); @@ -141,6 +145,7 @@ #ifndef SFX_MODULE int64 GetFreeDisk(const wchar *Name) { + return 0; // OPENMPT ADDITION #ifdef _WIN_ALL wchar Root[NM]; GetFilePath(Name,Root,ASIZE(Root)); @@ -173,6 +178,7 @@ bool FileExist(const wchar *Name) { + return false; // OPENMPT ADDITION #ifdef _WIN_ALL return GetFileAttr(Name)!=0xffffffff; #elif defined(ENABLE_ACCESS) @@ -188,6 +194,7 @@ bool WildFileExist(const wchar *Name) { + return false; // OPENMPT ADDITION if (IsWildcard(Name)) { FindFile Find; @@ -247,6 +254,7 @@ void PrepareToDelete(const wchar *Name) { + return; // OPENMPT ADDITION #if defined(_WIN_ALL) || defined(_EMX) SetFileAttr(Name,0); #endif @@ -263,6 +271,7 @@ uint GetFileAttr(const wchar *Name) { + return 0; // OPENMPT ADDITION #ifdef _WIN_ALL DWORD Attr=GetFileAttributes(Name); if (Attr==0xffffffff) @@ -285,6 +294,7 @@ bool SetFileAttr(const wchar *Name,uint Attr) { + return false; // OPENMPT ADDITION #ifdef _WIN_ALL bool Success=SetFileAttributes(Name,Attr)!=0; if (!Success) @@ -379,6 +389,7 @@ bool RenameFile(const wchar *SrcName,const wchar *DestName) { + return true; // OPENMPT ADDITION #ifdef _WIN_ALL bool Success=MoveFile(SrcName,DestName)!=0; if (!Success) @@ -400,6 +411,7 @@ bool DelFile(const wchar *Name) { + return true; // OPENMPT ADDITION #ifdef _WIN_ALL bool Success=DeleteFile(Name)!=0; if (!Success) @@ -422,6 +434,7 @@ #if defined(_WIN_ALL) && !defined(SFX_MODULE) bool SetFileCompression(const wchar *Name,bool State) { + return true; // OPENMPT ADDITION HANDLE hFile=CreateFile(Name,FILE_READ_DATA|FILE_WRITE_DATA, FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS|FILE_FLAG_SEQUENTIAL_SCAN,NULL); Modified: trunk/OpenMPT/include/unrar/find.cpp =================================================================== --- trunk/OpenMPT/include/unrar/find.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/find.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -33,6 +33,7 @@ bool FindFile::Next(FindData *fd,bool GetSymLink) { + return true; // OPENMPT ADDITION fd->Error=false; if (*FindMask==0) return false; @@ -110,6 +111,7 @@ bool FindFile::FastFind(const wchar *FindMask,FindData *fd,bool GetSymLink) { + return true; // OPENMPT ADDITION fd->Error=false; #ifndef _UNIX if (IsWildcard(FindMask)) Modified: trunk/OpenMPT/include/unrar/match.cpp =================================================================== --- trunk/OpenMPT/include/unrar/match.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/match.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -18,6 +18,7 @@ bool CmpName(const wchar *Wildcard,const wchar *Name,int CmpMode) { + return true; // OPENMPT ADDITION bool ForceCase=(CmpMode&MATCH_FORCECASESENSITIVE)!=0; CmpMode&=MATCH_MODEMASK; Added: trunk/OpenMPT/include/unrar/openmpt.hpp =================================================================== --- trunk/OpenMPT/include/unrar/openmpt.hpp (rev 0) +++ trunk/OpenMPT/include/unrar/openmpt.hpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -0,0 +1,9 @@ +// OpenMPT definitions (so that unrar project settings are identical to settings when including rar.hpp) +#undef Log +#undef STRICT +#define UNRAR +#define SILENT +#define RARDLL +#define RAR_NOCRYPT +#define NOVOLUME +#define NOMINMAX // For windows.h Added: trunk/OpenMPT/include/unrar/openmpt.txt =================================================================== --- trunk/OpenMPT/include/unrar/openmpt.txt (rev 0) +++ trunk/OpenMPT/include/unrar/openmpt.txt 2013-10-26 16:37:16 UTC (rev 3044) @@ -0,0 +1,16 @@ +This folder is based on http://www.rarlab.com/rar/unrarsrc-5.0.12.tar.gz + +All modifications to existing files have been done in a manner so that no +existing lines were edited; only new lines were added. +Added lines can be found by looking for "// OPENMPT ADDITION" comments. + +The most important modifications have been done in file.cpp / file.hpp to allow +memory-based files (using OpenMPT's own FileReader class). +In other files, optimizations have been done to elimiate dead code that would +never be used in OpenMPT's context. + +The following files have been modified: +arcread.cpp, extract.cpp, filcreat.cpp, file.hpp, file.cpp, filefn.cpp, +find.cpp, match.cpp, pathfn.cpp, rar.hpp, rdwrfn.cpp, secpassword.cpp, +volume.cpp, win32acl.cpp, win32lnk.cpp +The file openmpt.hpp has been added. \ No newline at end of file Modified: trunk/OpenMPT/include/unrar/pathfn.cpp =================================================================== --- trunk/OpenMPT/include/unrar/pathfn.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/pathfn.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -18,6 +18,7 @@ wchar* ConvertPath(const wchar *SrcPath,wchar *DestPath) { + return (wchar *)SrcPath; // OPENMPT ADDITION const wchar *DestPtr=SrcPath; // Prevent \..\ in any part of path string. Modified: trunk/OpenMPT/include/unrar/rar.hpp =================================================================== --- trunk/OpenMPT/include/unrar/rar.hpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/rar.hpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -1,6 +1,7 @@ #ifndef _RAR_RARCOMMON_ #define _RAR_RARCOMMON_ +#include "openmpt.hpp" // OPENMPT ADDITION #include "raros.hpp" #include "os.hpp" Modified: trunk/OpenMPT/include/unrar/rdwrfn.cpp =================================================================== --- trunk/OpenMPT/include/unrar/rdwrfn.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/rdwrfn.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -126,6 +126,7 @@ if (Cmd->Callback!=NULL && Cmd->Callback(UCM_PROCESSDATA,Cmd->UserData,(LPARAM)Addr,Count)==-1) ErrHandler.Exit(RARX_USERBREAK); + /* // OPENMPT ADDITION if (Cmd->ProcessDataProc!=NULL) { // Here we preserve ESP value. It is necessary for those developers, @@ -153,6 +154,7 @@ if (RetCode==0) ErrHandler.Exit(RARX_USERBREAK); } + */ // OPENMPT ADDITION } #endif // RARDLL @@ -189,6 +191,7 @@ void ComprDataIO::ShowUnpRead(int64 ArcPos,int64 ArcSize) { + return; // OPENMPT ADDITION if (ShowProgress && SrcFile!=NULL) { if (TotalArcSize!=0) Modified: trunk/OpenMPT/include/unrar/secpassword.cpp =================================================================== --- trunk/OpenMPT/include/unrar/secpassword.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/secpassword.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -1,5 +1,6 @@ #include "rar.hpp" +/* // OPENMPT ADDITION #ifdef _WIN_ALL typedef BOOL (WINAPI *CRYPTPROTECTMEMORY)(LPVOID pData,DWORD cbData,DWORD dwFlags); typedef BOOL (WINAPI *CRYPTUNPROTECTMEMORY)(LPVOID pData,DWORD cbData,DWORD dwFlags); @@ -51,21 +52,25 @@ // We want to call FreeLibrary when RAR is exiting. CryptLoader GlobalCryptLoader; #endif +*/ // OPENMPT ADDITION SecPassword::SecPassword() { + return; // OPENMPT ADDITION Set(L""); } SecPassword::~SecPassword() { + return; // OPENMPT ADDITION Clean(); } void SecPassword::Clean() { + return; // OPENMPT ADDITION PasswordSet=false; cleandata(Password,sizeof(Password)); } @@ -76,6 +81,7 @@ // So we use our own function for this purpose. void cleandata(void *data,size_t size) { + return; // OPENMPT ADDITION #if defined(_WIN_ALL) && defined(_MSC_VER) SecureZeroMemory(data,size); #else @@ -96,6 +102,7 @@ // to find it in dump. void SecPassword::Process(const wchar *Src,size_t SrcSize,wchar *Dst,size_t DstSize,bool Encode) { + return; // OPENMPT ADDITION // Source string can be shorter than destination as in case when we process // -p<pwd> parameter, so we need to take into account both sizes. memcpy(Dst,Src,Min(SrcSize,DstSize)*sizeof(*Dst)); @@ -105,6 +112,7 @@ void SecPassword::Get(wchar *Psw,size_t MaxSize) { + return; // OPENMPT ADDITION if (PasswordSet) { Process(Password,ASIZE(Password),Psw,MaxSize,false); @@ -117,6 +125,7 @@ void SecPassword::Set(const wchar *Psw) { + return; // OPENMPT ADDITION if (*Psw==0) { PasswordSet=false; @@ -132,6 +141,7 @@ size_t SecPassword::Length() { + return 0; // OPENMPT ADDITION wchar Plain[MAXPASSWORD]; Get(Plain,ASIZE(Plain)); size_t Length=wcslen(Plain); @@ -142,6 +152,7 @@ bool SecPassword::operator == (SecPassword &psw) { + return false; // OPENMPT ADDITION // We cannot compare encoded data directly, because there is no guarantee // than encryption function will always produce the same result for same // data (salt?) and because we do not clean the rest of password buffer @@ -158,6 +169,7 @@ void SecHideData(void *Data,size_t DataSize,bool Encode) { + /* // OPENMPT ADDITION #ifdef _WIN_ALL // Try to utilize the secure Crypt[Un]ProtectMemory if possible. if (GlobalCryptLoader.pCryptProtectMemory==NULL) @@ -203,4 +215,5 @@ for (size_t I=0;I<DataSize;I++) *((byte *)Data+I)^=Key+I+75; + */ // OPENMPT ADDITION } Modified: trunk/OpenMPT/include/unrar/volume.cpp =================================================================== --- trunk/OpenMPT/include/unrar/volume.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/volume.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -9,6 +9,7 @@ bool MergeArchive(Archive &Arc,ComprDataIO *DataIO,bool ShowFileName,wchar Command) { + return true; // OPENMPT ADDITION RAROptions *Cmd=Arc.GetRAROptions(); HEADER_TYPE HeaderType=Arc.GetHeaderType(); @@ -197,6 +198,7 @@ bool DllVolChange(RAROptions *Cmd,wchar *NextName,size_t NameSize) { + return true; // OPENMPT ADDITION bool DllVolChanged=false,DllVolAborted=false; if (Cmd->Callback!=NULL) @@ -270,6 +272,7 @@ #ifdef RARDLL bool DllVolNotify(RAROptions *Cmd,wchar *NextName) { + return true; // OPENMPT ADDITION char NextNameA[NM]; WideToChar(NextName,NextNameA,ASIZE(NextNameA)); if (Cmd->Callback!=NULL) Modified: trunk/OpenMPT/include/unrar/win32acl.cpp =================================================================== --- trunk/OpenMPT/include/unrar/win32acl.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/win32acl.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -43,6 +43,7 @@ return; } + return; // OPENMPT ADDITION SECURITY_INFORMATION si=OWNER_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION| DACL_SECURITY_INFORMATION; if (ReadSacl) @@ -67,6 +68,7 @@ if (!Arc.ReadSubData(&SubData,NULL)) return; + return; // OPENMPT ADDITION SetACLPrivileges(); SECURITY_INFORMATION si=OWNER_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION| @@ -94,6 +96,7 @@ void SetACLPrivileges() { + return; // OPENMPT ADDITION static bool InitDone=false; if (InitDone) return; Modified: trunk/OpenMPT/include/unrar/win32lnk.cpp =================================================================== --- trunk/OpenMPT/include/unrar/win32lnk.cpp 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/include/unrar/win32lnk.cpp 2013-10-26 16:37:16 UTC (rev 3044) @@ -105,6 +105,8 @@ bool CreateReparsePoint(CommandData *Cmd,const wchar *Name,FileHeader *hd) { + return false; // OPENMPT ADDITION + /* // OPENMPT ADDITION static bool PrivSet=false; if (!PrivSet) { @@ -233,4 +235,5 @@ if (!Cmd->IgnoreGeneralAttr) SetFileAttr(Name,hd->FileAttr); return true; + */ // OPENMPT ADDITION } Modified: trunk/OpenMPT/mptrack/MPTRACK_10.sln =================================================================== --- trunk/OpenMPT/mptrack/MPTRACK_10.sln 2013-10-26 16:16:54 UTC (rev 3043) +++ trunk/OpenMPT/mptrack/MPTRACK_10.sln 2013-10-26 16:37:16 UTC (rev 3044) @@ -1,6 +1,9 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mptrack", "mptrack_10.vcxproj", "{21D95071-FB97-4E69-B3B1-050D0D4A5021}" + ProjectSection(ProjectDependencies) = postProject + {95CC809B-03FC-4EDB-BB20-FD07A698C05F} = {95CC809B-03FC-4EDB-BB20-FD07A698C05F} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flac", "..\include\flac\flac.vcxproj", "{E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}" EndProject @@ -20,73 +23,146 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portmidi", "..\include\portmidi\portmidi.vcxproj", "{2512E2CA-578A-4F10-9363-4BFC9A5EF960}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnRAR", "..\include\unrar\UnRAR.vcxproj", "{95CC809B-03FC-4EDB-BB20-FD07A698C05F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 + Release|x64 = Release|x64 ReleaseNoLTCG|Win32 = ReleaseNoLTCG|Win32 + ReleaseNoLTCG|x64 = ReleaseNoLTCG|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {21D95071-FB97-4E69-B3B1-050D0D4A5021}.Debug|Win32.ActiveCfg = Debug|Win32 {21D95071-FB97-4E69-B3B1-050D0D4A5021}.Debug|Win32.Build.0 = Debug|Win32 + {21D95071-FB97-4E69-B3B1-050D0D4A5021}.Debug|x64.ActiveCfg = Debug|Win32 {21D95071-FB97-4E69-B3B1-050D0D4A5021}.Release|Win32.ActiveCfg = ReleaseLTCG|Win32 {21D95071-FB97-4E69-B3B1-050D0D4A5021}.Release|Win32.Build.0 = ReleaseLTCG|Win32 + {21D95071-FB97-4E69-B3B1-050D0D4A5021}.Release|x64.ActiveCfg = Release|Win32 {21D95071-FB97-4E69-B3B1-050D0D4A5021}.ReleaseNoLTCG|Win32.ActiveCfg = Release|Win32 {21D95071-FB97-4E69-B3B1-050D0D4A5021}.ReleaseNoLTCG|Win32.Build.0 = Release|Win32 + {21D95071-FB97-4E69-B3B1-050D0D4A5021}.ReleaseNoLTCG|x64.ActiveCfg = Release|Win32 {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.Debug|Win32.ActiveCfg = DebugLib|Win32 {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.Debug|Win32.Build.0 = DebugLib|Win32 + {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.Debug|x64.ActiveCfg = DebugLib|x64 + {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.Debug|x64.Build.0 = DebugLib|x64 {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.Release|Win32.ActiveCfg = ReleaseLib|Win32 {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.Release|Win32.Build.0 = ReleaseLib|Win32 + {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.Release|x64.ActiveCfg = ReleaseLib|x64 + {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.Release|x64.Build.0 = ReleaseLib|x64 {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.ReleaseNoLTCG|Win32.ActiveCfg = NormalLib|Win32 {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.ReleaseNoLTCG|Win32.Build.0 = NormalLib|Win32 + {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.ReleaseNoLTCG|x64.ActiveCfg = ReleaseLib|x64 + {E599F5AA-F9A3-46CC-8DB0-C8DEFCEB90C5}.ReleaseNoLTCG|x64.Build.0 = ReleaseLib|x64 {6B11F6A8-B131-4D2B-80EF-5731A9016436}.Debug|Win32.ActiveCfg = DebugLib|Win32 {6B11F6A8-B131-4D2B-80EF-5731A9016436}.Debug|Win32.Build.0 = DebugLib|Win32 + {6B11F6A8-B131-4D2B-80EF-5731A9016436}.Debug|x64.ActiveCfg = DebugLib|x64 + {6B11F6A8-B131-4D2B-80EF-5731A9016436}.Debug|x64.Build.0 = DebugLib|x64 {6B11F6A8-B131-4D2B-80EF-5731A9016436}.Release|Win32.ActiveCfg = ReleaseLib|Win32 {6B11F6A8-B131-4D2B-80EF-5731A9016436}.Release|Win32.Build.0 = ReleaseLib|Win32 + {6B11F6A8-B131-4D2B-80EF-5731A9016436}.Release|x64.ActiveCfg = ReleaseLib|x64 + {6B11F6A8-B131-4D2B-80EF-5731A9016436}.Release|x64.Build.0 = ReleaseLib|x64 {6B11F6A8-B131-4D2B-80EF-5731A9016436}.ReleaseNoLTCG|Win32.ActiveCfg = NormalLib|Win32 {6B11F6A8-B131-4D2B-80EF-5731A9016436}.ReleaseNoLTCG|Win32.Build.0 = NormalLib|Win32 + {6B11F6A8-B131-4D2B-80EF-5731A9016436}.ReleaseNoLTCG|x64.ActiveCfg = ReleaseLib|x64 + {6B11F6A8-B131-4D2B-80EF-5731A9016436}.ReleaseNoLTCG|x64.Build.0 = ReleaseLib|x64 {189B867F-FF4B-45A1-B741-A97492EE69AF}.Debug|Win32.ActiveCfg = DebugLib|Win32 {189B867F-FF4B-45A1-B74... [truncated message content] |