aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--StormLib_vs19.bat44
-rw-r--r--make-msvc.bat58
-rw-r--r--src/SBaseFileTable.cpp2
-rw-r--r--test/StormTest.cpp28
-rw-r--r--test/TLogHelper.cpp2
5 files changed, 74 insertions, 60 deletions
diff --git a/StormLib_vs19.bat b/StormLib_vs19.bat
deleted file mode 100644
index 6052b52..0000000
--- a/StormLib_vs19.bat
+++ /dev/null
@@ -1,44 +0,0 @@
-@echo off
-rem Build file for VS 2017 (expected in %ProgramFiles%\Microsoft Visual Studio\2017)
-
-rem Save the values of INCLUDE, LIB and PATH
-set SAVE_INCLUDE=%INCLUDE%
-set SAVE_LIB=%LIB%
-set SAVE_PATH=%PATH%
-
-rem Determine where the program files are, both for 64-bit and 32-bit Windows
-if exist "%ProgramFiles%" set PROGRAM_FILES_DIR=%ProgramFiles%
-if exist "%ProgramFiles(x86)%" set PROGRAM_FILES_DIR=%ProgramFiles(x86)%
-
-rem Determine the installed version of Visual Studio (Professional/Enterprise)
-if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_BAT=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat
-if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_BAT=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
-
-:BUILD_32BIT
-call "%VCVARS_BAT%" x86
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugAD|Win32"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugAS|Win32"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugUD|Win32"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugUS|Win32"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseAD|Win32"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseAS|Win32"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseUD|Win32"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseUS|Win32"
-call :RestoreEnvVars
-
-:BUILD_64BIT
-call "%VCVARS_BAT%" x64
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugAD|x64"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugAS|x64"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugUD|x64"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "DebugUS|x64"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseAD|x64"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseAS|x64"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseUD|x64"
-devenv.com StormLib_vs19.sln /project "StormLib" /rebuild "ReleaseUS|x64"
-call :RestoreEnvVars
-
-:RestoreEnvVars
-set INCLUDE=%SAVE_INCLUDE%
-set LIB=%SAVE_LIB%
-set PATH=%SAVE_PATH%
diff --git a/make-msvc.bat b/make-msvc.bat
new file mode 100644
index 0000000..3dc3ba4
--- /dev/null
+++ b/make-msvc.bat
@@ -0,0 +1,58 @@
+:: Build file for Visual Studio 2008 and 2017
+@echo off
+
+:: Save the values of INCLUDE, LIB and PATH
+set SAVE_INCLUDE=%INCLUDE%
+set SAVE_LIB=%LIB%
+set SAVE_PATH=%PATH%
+set LIB_NAME=StormLib
+
+:: Determine where the program files are, both for 64-bit and 32-bit Windows
+if exist "%ProgramFiles%" set PROGRAM_FILES_DIR=%ProgramFiles%
+if exist "%ProgramFiles(x86)%" set PROGRAM_FILES_DIR=%ProgramFiles(x86)%
+
+:: Determine the installed version of Visual Studio (Prioritize Enterprise over Professional)
+if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" set VCVARS_2008=%PROGRAM_FILES_DIR%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat
+if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_2017=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat
+if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_2017=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
+if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_2019=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat
+if exist "%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" set VCVARS_2019=%PROGRAM_FILES_DIR%\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
+
+::Build all libraries using Visual Studio 2008 and 2017
+call :BuildStormLib "%VCVARS_2008%" x86 StormLib_vs08.sln
+call :BuildStormLib "%VCVARS_2008%" x64 StormLib_vs08.sln
+call :BuildStormLib "%VCVARS_2019%" x86 StormLib_vs19.sln
+call :BuildStormLib "%VCVARS_2019%" x64 StormLib_vs19.sln
+goto:eof
+
+::-----------------------------------------------------------------------------
+:: Build all 8 configurations of the library
+::
+:: Parameters:
+::
+:: %1 Full path to the VCVARS.BAT file
+:: %2 Target build platform (x86 or x64)
+:: %3 Plain name of the solution file (for example "StormLib_vs19.sln")
+::
+
+:BuildStormLib
+::set VSCMD_DEBUG=1
+call %1 %2
+if "%2" == "x86" set SLN_TRG=Win32
+if "%2" == "x64" set SLN_TRG=x64
+devenv.com %3 /project "%LIB_NAME%" /rebuild "DebugAD|%SLN_TRG%"
+devenv.com %3 /project "%LIB_NAME%" /rebuild "DebugAS|%SLN_TRG%"
+devenv.com %3 /project "%LIB_NAME%" /rebuild "DebugUD|%SLN_TRG%"
+devenv.com %3 /project "%LIB_NAME%" /rebuild "DebugUS|%SLN_TRG%"
+devenv.com %3 /project "%LIB_NAME%" /rebuild "ReleaseAD|%SLN_TRG%"
+devenv.com %3 /project "%LIB_NAME%" /rebuild "ReleaseAS|%SLN_TRG%"
+devenv.com %3 /project "%LIB_NAME%" /rebuild "ReleaseUD|%SLN_TRG%"
+devenv.com %3 /project "%LIB_NAME%" /rebuild "ReleaseUS|%SLN_TRG%"
+
+:: Restore environment variables to the old level
+set INCLUDE=%SAVE_INCLUDE%
+set LIB=%SAVE_LIB%
+set PATH=%SAVE_PATH%
+set VSINSTALLDIR=
+set VCINSTALLDIR=
+set DevEnvDir=
diff --git a/src/SBaseFileTable.cpp b/src/SBaseFileTable.cpp
index 4448289..e08daef 100644
--- a/src/SBaseFileTable.cpp
+++ b/src/SBaseFileTable.cpp
@@ -66,7 +66,7 @@ struct TStormBits
void GetBits(unsigned int nBitPosition, unsigned int nBitLength, void * pvBuffer, int nResultSize);
void SetBits(unsigned int nBitPosition, unsigned int nBitLength, void * pvBuffer, int nResultSize);
- static const USHORT SetBitsMask[];
+ static const USHORT SetBitsMask[]; // Bit mask for each number of bits (0-8)
DWORD NumberOfBytes; // Total number of bytes in "Elements"
DWORD NumberOfBits; // Total number of bits that are available
diff --git a/test/StormTest.cpp b/test/StormTest.cpp
index c0fbe44..bb55eb8 100644
--- a/test/StormTest.cpp
+++ b/test/StormTest.cpp
@@ -28,7 +28,7 @@
#pragma comment(lib, "winmm.lib")
#endif
-#ifndef PLATFORM_WINDOWS
+#ifndef STORMLIB_WINDOWS
#include <dirent.h>
#endif
@@ -47,22 +47,22 @@ typedef struct _TEST_INFO
//------------------------------------------------------------------------------
// Local variables
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
#define WORK_PATH_ROOT _T("\\Multimedia\\MPQs")
static const TCHAR szListFileDir[] = { '1', '9', '9', '5', ' ', '-', ' ', 'T', 'e', 's', 't', ' ', 'M', 'P', 'Q', 's', '\\', 'l', 'i', 's', 't', 'f', 'i', 'l', 'e', 's', '-', (TCHAR)0x65B0, (TCHAR)0x5EFA, (TCHAR)0x6587, (TCHAR)0x4EF6, (TCHAR)0x5939, 0 };
#endif
-#ifdef PLATFORM_LINUX
+#ifdef STORMLIB_LINUX
#define WORK_PATH_ROOT "/home/ladik/StormLib/test"
static const TCHAR szListFileDir[] = { '1', '9', '9', '5', ' ', '-', ' ', 'T', 'e', 's', 't', ' ', 'M', 'P', 'Q', 's', '\\', 'l', 'i', 's', 't', 'f', 'i', 'l', 'e', 's', '-', (TCHAR)0xe6, (TCHAR)0x96, (TCHAR)0xB0, (TCHAR)0xE5, (TCHAR)0xBB, (TCHAR)0xBA, (TCHAR)0xE6, (TCHAR)0x96, (TCHAR)0x87, (TCHAR)0xE4, (TCHAR)0xBB, (TCHAR)0xB6, (TCHAR)0xE5, (TCHAR)0xA4, (TCHAR)0xB9, 0 };
#endif
-#ifdef PLATFORM_MAC
+#ifdef STORMLIB_MAC
#define WORK_PATH_ROOT "/home/sam/StormLib/test"
static const TCHAR szListFileDir[] = { '1', '9', '9', '5', ' ', '-', ' ', 'T', 'e', 's', 't', ' ', 'M', 'P', 'Q', 's', '\\', 'l', 'i', 's', 't', 'f', 'i', 'l', 'e', 's', '-', (TCHAR)0xe6, (TCHAR)0x96, (TCHAR)0xB0, (TCHAR)0xE5, (TCHAR)0xBB, (TCHAR)0xBA, (TCHAR)0xE6, (TCHAR)0x96, (TCHAR)0x87, (TCHAR)0xE4, (TCHAR)0xBB, (TCHAR)0xB6, (TCHAR)0xE5, (TCHAR)0xA4, (TCHAR)0xB9, 0 };
#endif
-#ifdef PLATFORM_HAIKU
+#ifdef STORMLIB_HAIKU
#define WORK_PATH_ROOT "~/StormLib/test"
static const TCHAR szListFileDir[] = { '1', '9', '9', '5', ' ', '-', ' ', 'T', 'e', 's', 't', ' ', 'M', 'P', 'Q', 's', '\\', 'l', 'i', 's', 't', 'f', 'i', 'l', 'e', 's', '-', (TCHAR)0xe6, (TCHAR)0x96, (TCHAR)0xB0, (TCHAR)0xE5, (TCHAR)0xBB, (TCHAR)0xBA, (TCHAR)0xE6, (TCHAR)0x96, (TCHAR)0x87, (TCHAR)0xE4, (TCHAR)0xBB, (TCHAR)0xB6, (TCHAR)0xE5, (TCHAR)0xA4, (TCHAR)0xB9, 0 };
#endif
@@ -280,7 +280,7 @@ static LPCTSTR PatchList_HS_6898_enGB[] =
// Local file functions
// Definition of the path separator
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
static LPCTSTR g_szPathSeparator = _T("\\");
static const TCHAR PATH_SEPARATOR = _T('\\'); // Path separator for Windows platforms
#else
@@ -296,7 +296,7 @@ size_t cchMpqDirectory = 0;
template <typename XCHAR>
static bool IsFullPath(const XCHAR * szFileName)
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
if(('A' <= szFileName[0] && szFileName[0] <= 'Z') || ('a' <= szFileName[0] && szFileName[0] <= 'z'))
{
return (szFileName[1] == ':' && szFileName[2] == PATH_SEPARATOR);
@@ -715,7 +715,7 @@ static int CalculateFileSha1(TLogHelper * pLogger, LPCTSTR szFullPath, TCHAR * s
static HANDLE InitDirectorySearch(LPCTSTR szDirectory)
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
WIN32_FIND_DATA wf;
HANDLE hFind;
@@ -730,7 +730,7 @@ static HANDLE InitDirectorySearch(LPCTSTR szDirectory)
#endif
-#if defined(PLATFORM_LINUX) || defined(PLATFORM_HAIKU)
+#if defined(STORMLIB_LINUX) || defined(STORMLIB_HAIKU)
// Keep compilers happy
return (HANDLE)opendir(szDirectory);
@@ -740,7 +740,7 @@ static HANDLE InitDirectorySearch(LPCTSTR szDirectory)
static bool SearchDirectory(HANDLE hFind, TCHAR * szDirEntry, size_t cchDirEntry, bool & IsDirectory)
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
WIN32_FIND_DATA wf;
TCHAR szDirEntryT[MAX_PATH];
@@ -765,7 +765,7 @@ static bool SearchDirectory(HANDLE hFind, TCHAR * szDirEntry, size_t cchDirEntry
#endif
-#if defined(PLATFORM_LINUX) || defined(PLATFORM_HAIKU)
+#if defined(STORMLIB_LINUX) || defined(STORMLIB_HAIKU)
struct dirent * directory_entry;
@@ -784,11 +784,11 @@ static bool SearchDirectory(HANDLE hFind, TCHAR * szDirEntry, size_t cchDirEntry
static void FreeDirectorySearch(HANDLE hFind)
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
FindClose(hFind);
#endif
-#if defined(PLATFORM_LINUX) || defined(PLATFORM_HAIKU)
+#if defined(STORMLIB_LINUX) || defined(STORMLIB_HAIKU)
closedir((DIR *)hFind);
#endif
}
@@ -2225,7 +2225,7 @@ static int TestReadFile_MasterMirror(LPCTSTR szMirrorName, LPCTSTR szMasterName,
// Retrieve the provider
FileStream_Prefix(szMasterName, &dwProvider);
-#ifndef PLATFORM_WINDOWS
+#ifndef STORMLIB_WINDOWS
if((dwProvider & BASE_PROVIDER_MASK) == BASE_PROVIDER_HTTP)
return ERROR_SUCCESS;
#endif
diff --git a/test/TLogHelper.cpp b/test/TLogHelper.cpp
index 64cc815..9bf4f6d 100644
--- a/test/TLogHelper.cpp
+++ b/test/TLogHelper.cpp
@@ -425,7 +425,7 @@ char * TLogHelper::CopyFormatCharacter(char * szBuffer, const char *& szFormat)
int TLogHelper::GetConsoleWidth()
{
-#ifdef PLATFORM_WINDOWS
+#ifdef STORMLIB_WINDOWS
CONSOLE_SCREEN_BUFFER_INFO ScreenInfo;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &ScreenInfo);