Current News Archived News Search News Discussion Forum Old Forum Install Programs More Downloads... Troubleshooting Source Code Format Specs. Misc. Information Non-SF Stuff Links Small banner for links to this site: |
diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
*Debug/
*Release/
+.directory
+*.depend
+*.layout
*.ncb
*.opt
*.plg
diff --git a/SFmpqapi.cpp b/SFmpqapi.cpp
--- a/SFmpqapi.cpp
+++ b/SFmpqapi.cpp
return (DWORD)-1;
}
-DWORD SFMPQAPI WINAPI SFileSetFilePointer(MPQHANDLE hFile, long lDistanceToMove, PLONG lplDistanceToMoveHigh, DWORD dwMoveMethod)
+DWORD SFMPQAPI WINAPI SFileSetFilePointer(MPQHANDLE hFile, LONG lDistanceToMove, PLONG lplDistanceToMoveHigh, DWORD dwMoveMethod)
{
if (!hFile) {
SetLastError(ERROR_INVALID_PARAMETER);
@@ -1154,7 +1154,7 @@ BOOL SFMPQAPI WINAPI SFileReadFile(MPQHANDLE hFile,LPVOID lpBuffer,DWORD nNumber
}
if (lpOverlapped)
if (lpOverlapped->Internal || lpOverlapped->InternalHigh || lpOverlapped->Offset || lpOverlapped->OffsetHigh || lpOverlapped->hEvent)
- SFileSetFilePointer(hFile,lpOverlapped->Offset,(long *)&lpOverlapped->OffsetHigh,FILE_BEGIN);
+ SFileSetFilePointer(hFile,lpOverlapped->Offset,(LONG *)&lpOverlapped->OffsetHigh,FILE_BEGIN);
if (nNumberOfBytesToRead==0) {
if (lpNumberOfBytesRead) *lpNumberOfBytesRead = 0;
if (lpOverlapped) lpOverlapped->InternalHigh = 0;
diff --git a/linux/SFmpqapi.cbp b/linux/SFmpqapi.cbp
--- /dev/null
+++ b/linux/SFmpqapi.cbp
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_project_file>
+ <FileVersion major="1" minor="6" />
+ <Project>
+ <Option title="SFmpqapi" />
+ <Option pch_mode="2" />
+ <Option compiler="gcc" />
+ <Build>
+ <Target title="Debug">
+ <Option output="bin/Debug/libSFmpqapi" prefix_auto="1" extension_auto="1" />
+ <Option object_output="obj/Debug/" />
+ <Option type="3" />
+ <Option compiler="gcc" />
+ <Option createDefFile="1" />
+ <Option createStaticLib="1" />
+ <Compiler>
+ <Add option="-g" />
+ <Add option="-D__SYS_ZLIB" />
+ <Add option="-D__SYS_BZLIB" />
+ <Add directory="./" />
+ </Compiler>
+ </Target>
+ <Target title="Release">
+ <Option output="bin/Release/libSFmpqapi" prefix_auto="1" extension_auto="1" />
+ <Option object_output="obj/Release/" />
+ <Option type="3" />
+ <Option compiler="gcc" />
+ <Option createDefFile="1" />
+ <Option createStaticLib="1" />
+ <Compiler>
+ <Add option="-O2" />
+ <Add option="-D__SYS_ZLIB" />
+ <Add option="-D__SYS_BZLIB" />
+ <Add directory="./" />
+ </Compiler>
+ <Linker>
+ <Add option="-s" />
+ </Linker>
+ </Target>
+ </Build>
+ <Compiler>
+ <Add option="-Wall" />
+ </Compiler>
+ <Unit filename="../../SComp/SComp.cpp" />
+ <Unit filename="../../SComp/SComp.h" />
+ <Unit filename="../../SComp/SErr.cpp" />
+ <Unit filename="../../SComp/SErr.h" />
+ <Unit filename="../../SComp/SMem.cpp" />
+ <Unit filename="../../SComp/SMem.h" />
+ <Unit filename="../../SComp/crc32.c">
+ <Option compilerVar="CC" />
+ </Unit>
+ <Unit filename="../../SComp/explode.c">
+ <Option compilerVar="CC" />
+ </Unit>
+ <Unit filename="../../SComp/huffman.cpp" />
+ <Unit filename="../../SComp/huffman.h" />
+ <Unit filename="../../SComp/implode.c">
+ <Option compilerVar="CC" />
+ </Unit>
+ <Unit filename="../../SComp/pklib.h" />
+ <Unit filename="../../SComp/wave.cpp" />
+ <Unit filename="../../SComp/wave.h" />
+ <Unit filename="../../SComp/wintypes.h" />
+ <Unit filename="../MpqBlockTable.cpp" />
+ <Unit filename="../MpqBlockTable.h" />
+ <Unit filename="../MpqCrypt.cpp" />
+ <Unit filename="../MpqCrypt.h" />
+ <Unit filename="../MpqHashTable.cpp" />
+ <Unit filename="../MpqHashTable.h" />
+ <Unit filename="../SFTypes.h" />
+ <Unit filename="../SFUtil.cpp" />
+ <Unit filename="../SFUtil.h" />
+ <Unit filename="../SFmpqapi.cpp" />
+ <Unit filename="../SFmpqapi.h" />
+ <Unit filename="windows.cpp" />
+ <Unit filename="windows.h" />
+ <Extensions>
+ <code_completion />
+ <debugger />
+ <envvars />
+ </Extensions>
+ </Project>
+</CodeBlocks_project_file>
diff --git a/linux/SFmpqapi.workspace b/linux/SFmpqapi.workspace
--- /dev/null
+++ b/linux/SFmpqapi.workspace
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_workspace_file>
+ <Workspace title="Workspace">
+ <Project filename="SFmpqapi.cbp" active="1" />
+ </Workspace>
+</CodeBlocks_workspace_file>
diff --git a/linux/poppack.h b/linux/poppack.h
--- /dev/null
+++ b/linux/poppack.h
@@ -0,0 +1 @@
+#pragma pack(pop)
diff --git a/linux/pshpack1.h b/linux/pshpack1.h
--- /dev/null
+++ b/linux/pshpack1.h
@@ -0,0 +1 @@
+#pragma pack(push,1)
diff --git a/linux/windows.cpp b/linux/windows.cpp
--- a/linux/windows.cpp
+++ b/linux/windows.cpp
return lpString;
}
-char * strdup(const char *lpString)
+/*char * strdup(const char *lpString)
{
if (lpString==0) return 0;
char *lpStrCopy = (char *)malloc(strlen(lpString)+1);
if (lpStrCopy==0) return 0;
strcpy(lpStrCopy,lpString);
return lpStrCopy;
-}
+}*/
int memicmp(const char *lpString1, const char *lpString2, size_t dwSize)
{
diff --git a/linux/windows.h b/linux/windows.h
--- a/linux/windows.h
+++ b/linux/windows.h
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
+#include <stdint.h>
#define LINUX_PORT
#define __stdcall
#define WINAPI __stdcall
#define APIENTRY __stdcall
-#define __declspec(dllimport)
-#define __declspec(dllexport)
+#define __declspec(x)
#define __inline inline
#define __forceinline inline
#define CONST const
// Type defines
-typedef unsigned char BYTE;
-typedef unsigned short int WORD;
-typedef unsigned long int DWORD;
-typedef short int SHORT;
-typedef unsigned short int USHORT;
+typedef uint8_t BYTE;
+typedef uint16_t WORD;
+typedef uint32_t DWORD;
+typedef int16_t SHORT;
+typedef uint16_t USHORT;
typedef DWORD LCID;
-typedef long int LONG;
+typedef int32_t LONG;
typedef LONG * PLONG;
typedef int BOOL;
typedef void * LPVOID;
#define TRUE 1
#define MAX_PATH 260
#define INVALID_HANDLE_VALUE ((HANDLE)-1)
+#define INVALID_FILE_SIZE ((DWORD)-1)
+#define INVALID_SET_FILE_POINTER ((DWORD)-1)
#define DLL_PROCESS_ATTACH 1
#define DLL_THREAD_ATTACH 2
#define DLL_THREAD_DETACH 3
#define FILE_BEGIN 0
#define FILE_CURRENT 1
#define FILE_END 2
+#define NO_ERROR 0L
#define ERROR_FILE_NOT_FOUND 2L
#define ERROR_ACCESS_DENIED 5L
#define ERROR_INVALID_PARAMETER 87L // dderror
// Declarations for C runtime functions
char * strlwr(char *lpString);
char * strupr(char *lpString);
-char * strdup(const char *lpString);
+//char * strdup(const char *lpString);
#define stricmp strcasecmp
#define strnicmp strncasecmp
int memicmp(const char *lpString1, const char *lpString2, size_t dwSize);
|