Got the Windows WIP branch to build in Linux.
This commit is contained in:
parent
7213d91585
commit
0cab37ee8b
3 changed files with 226 additions and 273 deletions
|
@ -1,5 +1,6 @@
|
|||
#define _BSD_SOURCE
|
||||
|
||||
#include <assert.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -12,6 +13,7 @@
|
|||
#include <dirent.h>
|
||||
#include <fnmatch.h>
|
||||
|
||||
#include "fixer.h"
|
||||
#include "files.h"
|
||||
|
||||
static char *local_dir;
|
||||
|
|
378
src/fixer.h
378
src/fixer.h
|
@ -27,6 +27,168 @@
|
|||
// not sure where this was originally defined.
|
||||
#define RGBA_MAKE(r, g, b, a) ((((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
|
||||
|
||||
#else
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include <inttypes.h> /* int64_t */
|
||||
|
||||
#include "files.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define PACKED_PUSH
|
||||
#define PACKED_POP
|
||||
#define PACKED __attribute__((packed))
|
||||
|
||||
/* windows junk */
|
||||
#ifndef min
|
||||
#define min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#ifndef max
|
||||
#define max(a, b) (((a) > (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#define __cdecl
|
||||
|
||||
#define NO_ERROR 0
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
#define stricmp strcasecmp
|
||||
#define _stricmp strcasecmp
|
||||
|
||||
#define strnicmp strncasecmp
|
||||
#define _strnicmp strncasecmp
|
||||
|
||||
#define lstrlen strlen
|
||||
#define lstrcat strcat
|
||||
|
||||
#define _tcslen strlen
|
||||
#define _tcscpy strcpy
|
||||
|
||||
#define _snprintf snprintf
|
||||
|
||||
size_t _mbclen(const unsigned char *s);
|
||||
|
||||
#define RGBA_MAKE(r, g, b, a) ((((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
|
||||
|
||||
#define MAX_PATH PATH_MAX
|
||||
|
||||
typedef int GUID;
|
||||
typedef int HINSTANCE;
|
||||
typedef int WPARAM;
|
||||
typedef int LPARAM;
|
||||
typedef int HANDLE;
|
||||
typedef int HRESULT;
|
||||
|
||||
typedef int BOOL;
|
||||
typedef unsigned char BYTE;
|
||||
typedef unsigned short WORD;
|
||||
typedef unsigned int DWORD;
|
||||
typedef long LONG;
|
||||
typedef char TCHAR;
|
||||
typedef DWORD * LPDWORD;
|
||||
typedef char * LPTSTR;
|
||||
|
||||
#define TEXT(x) x
|
||||
|
||||
typedef struct RECT
|
||||
{
|
||||
int left;
|
||||
int top;
|
||||
int right;
|
||||
int bottom;
|
||||
} RECT;
|
||||
|
||||
#if !defined(__INTEL_COMPILER)
|
||||
typedef int64_t __int64;
|
||||
#else
|
||||
typedef __int64 int64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
#endif
|
||||
|
||||
#define VK_BACK 1
|
||||
#define VK_END 2
|
||||
#define VK_HOME 3
|
||||
#define VK_LEFT 4
|
||||
#define VK_UP 5
|
||||
#define VK_RIGHT 6
|
||||
#define VK_DOWN 7
|
||||
#define VK_INSERT 8
|
||||
#define VK_DELETE 9
|
||||
#define VK_TAB 10
|
||||
|
||||
#define INVALID_HANDLE_VALUE -1
|
||||
#define GENERIC_WRITE 0x0001
|
||||
#define CREATE_ALWAYS 0x0002
|
||||
#define FILE_FLAG_RANDOM_ACCESS 0x0004
|
||||
#define GENERIC_READ 0x0008
|
||||
#define OPEN_EXISTING 0x0010
|
||||
#define FILE_CURRENT 0x0020
|
||||
#define FILE_BEGIN 0x0040
|
||||
#define FILE_END 0x0080
|
||||
#define FILE_SHARE_READ 0x0100
|
||||
#define FILE_SHARE_WRITE 0x0200
|
||||
#define OPEN_ALWAYS 0x0400
|
||||
#define FILE_ATTRIBUTE_READONLY 0x0800
|
||||
#define FILE_ATTRIBUTE_DIRECTORY 0x1000
|
||||
#define FILE_ATTRIBUTE_NORMAL 0x2000
|
||||
|
||||
|
||||
HANDLE CreateFile(const char *file, int write, int x, int y, int flags, int flags2, int z);
|
||||
HANDLE CreateFileA(const char *file, int write, int x, int y, int flags, int flags2, int z);
|
||||
int WriteFile(HANDLE file, const void *data, int len, /* unsigned long */ void *byteswritten, int x);
|
||||
int ReadFile(HANDLE file, void *data, int len, /* unsigned long */ void *bytesread, int x);
|
||||
int GetFileSize(HANDLE file, int x);
|
||||
int CloseHandle(HANDLE file);
|
||||
int DeleteFile(const char *file);
|
||||
int DeleteFileA(const char *file);
|
||||
int GetDiskFreeSpace(int x, unsigned long *a, unsigned long *b, unsigned long *c, unsigned long *d);
|
||||
int CreateDirectory(char *dir, int x);
|
||||
int MoveFile(const char *newfile, const char *oldfile);
|
||||
int MoveFileA(const char *newfile, const char *oldfile);
|
||||
int CopyFile(const char *newfile, const char *oldfile, int x);
|
||||
int GetFileAttributes(const char *file);
|
||||
int GetFileAttributesA(const char *file);
|
||||
unsigned int SetFilePointer(HANDLE file, int x, int y, int z);
|
||||
int SetEndOfFile(HANDLE file);
|
||||
|
||||
unsigned int timeGetTime();
|
||||
unsigned int GetTickCount();
|
||||
|
||||
#define JOYCAPS_HASR 1
|
||||
|
||||
typedef struct JOYINFOEX
|
||||
{
|
||||
DWORD dwXpos;
|
||||
DWORD dwYpos;
|
||||
DWORD dwRpos;
|
||||
DWORD dwUpos;
|
||||
DWORD dwVpos;
|
||||
DWORD dwPOV;
|
||||
} JOYINFOEX;
|
||||
|
||||
typedef struct JOYCAPS
|
||||
{
|
||||
int wCaps;
|
||||
} JOYCAPS;
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
// unused placeholder directplay code.
|
||||
typedef int DPID;
|
||||
|
||||
|
@ -86,224 +248,8 @@ typedef struct DPMSG_DESTROYPLAYERORGROUP
|
|||
int dwPlayerType;
|
||||
} DPMSG_DESTROYPLAYERORGROUP;
|
||||
typedef DPMSG_DESTROYPLAYERORGROUP * LPDPMSG_DESTROYPLAYERORGROUP;
|
||||
|
||||
#else
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
//#include <stdint.h> /* int64_t */
|
||||
|
||||
#include "files.h"
|
||||
|
||||
#define PACKED_PUSH
|
||||
#define PACKED_POP
|
||||
#define PACKED __attribute__((packed))
|
||||
|
||||
/* windows junk */
|
||||
#ifndef min
|
||||
#define min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#ifndef max
|
||||
#define max(a, b) (((a) > (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#define __cdecl
|
||||
|
||||
#define NO_ERROR 0
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
#define stricmp strcasecmp
|
||||
#define _stricmp strcasecmp
|
||||
|
||||
#define strnicmp strncasecmp
|
||||
#define _strnicmp strncasecmp
|
||||
|
||||
#define lstrlen strlen
|
||||
#define lstrcat strcat
|
||||
|
||||
#define _tcslen strlen
|
||||
#define _tcscpy strcpy
|
||||
|
||||
#define _snprintf snprintf
|
||||
|
||||
size_t _mbclen(const unsigned char *s);
|
||||
|
||||
#define RGBA_MAKE(r, g, b, a) ((((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
|
||||
|
||||
#define MAX_PATH PATH_MAX
|
||||
|
||||
typedef int GUID;
|
||||
typedef int DPID;
|
||||
typedef int HINSTANCE;
|
||||
typedef int WPARAM;
|
||||
typedef int LPARAM;
|
||||
typedef int HANDLE;
|
||||
typedef int HRESULT;
|
||||
|
||||
typedef int BOOL;
|
||||
typedef unsigned char BYTE;
|
||||
typedef unsigned short WORD;
|
||||
typedef unsigned int DWORD;
|
||||
typedef long LONG;
|
||||
typedef char TCHAR;
|
||||
typedef DWORD * LPDWORD;
|
||||
typedef char * LPTSTR;
|
||||
|
||||
#define TEXT(x) x
|
||||
|
||||
typedef struct RECT
|
||||
{
|
||||
int left;
|
||||
int top;
|
||||
int right;
|
||||
int bottom;
|
||||
} RECT;
|
||||
|
||||
typedef RECT RECT_AVP;
|
||||
|
||||
#if !defined(__INTEL_COMPILER)
|
||||
typedef int64_t __int64;
|
||||
#else
|
||||
typedef __int64 int64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
#endif
|
||||
|
||||
#define VK_BACK 1
|
||||
#define VK_END 2
|
||||
#define VK_HOME 3
|
||||
#define VK_LEFT 4
|
||||
#define VK_UP 5
|
||||
#define VK_RIGHT 6
|
||||
#define VK_DOWN 7
|
||||
#define VK_INSERT 8
|
||||
#define VK_DELETE 9
|
||||
#define VK_TAB 10
|
||||
|
||||
#define INVALID_HANDLE_VALUE -1
|
||||
#define GENERIC_WRITE 0x0001
|
||||
#define CREATE_ALWAYS 0x0002
|
||||
#define FILE_FLAG_RANDOM_ACCESS 0x0004
|
||||
#define GENERIC_READ 0x0008
|
||||
#define OPEN_EXISTING 0x0010
|
||||
#define FILE_CURRENT 0x0020
|
||||
#define FILE_BEGIN 0x0040
|
||||
#define FILE_END 0x0080
|
||||
#define FILE_SHARE_READ 0x0100
|
||||
#define FILE_SHARE_WRITE 0x0200
|
||||
#define OPEN_ALWAYS 0x0400
|
||||
#define FILE_ATTRIBUTE_READONLY 0x0800
|
||||
#define FILE_ATTRIBUTE_DIRECTORY 0x1000
|
||||
#define FILE_ATTRIBUTE_NORMAL 0x2000
|
||||
|
||||
|
||||
HANDLE CreateFile(const char *file, int write, int x, int y, int flags, int flags2, int z);
|
||||
HANDLE CreateFileA(const char *file, int write, int x, int y, int flags, int flags2, int z);
|
||||
int WriteFile(HANDLE file, const void *data, int len, /* unsigned long */ void *byteswritten, int x);
|
||||
int ReadFile(HANDLE file, void *data, int len, /* unsigned long */ void *bytesread, int x);
|
||||
int GetFileSize(HANDLE file, int x);
|
||||
int CloseHandle(HANDLE file);
|
||||
int DeleteFile(const char *file);
|
||||
int DeleteFileA(const char *file);
|
||||
int GetDiskFreeSpace(int x, unsigned long *a, unsigned long *b, unsigned long *c, unsigned long *d);
|
||||
int CreateDirectory(char *dir, int x);
|
||||
int MoveFile(const char *newfile, const char *oldfile);
|
||||
int MoveFileA(const char *newfile, const char *oldfile);
|
||||
int CopyFile(const char *newfile, const char *oldfile, int x);
|
||||
int GetFileAttributes(const char *file);
|
||||
int GetFileAttributesA(const char *file);
|
||||
unsigned int SetFilePointer(HANDLE file, int x, int y, int z);
|
||||
int SetEndOfFile(HANDLE file);
|
||||
|
||||
unsigned int timeGetTime();
|
||||
unsigned int GetTickCount();
|
||||
|
||||
|
||||
typedef struct DPNAME
|
||||
{
|
||||
int dwSize;
|
||||
|
||||
char *lpszShortNameA;
|
||||
char *lpszLongNameA;
|
||||
} DPNAME;
|
||||
|
||||
#define DP_OK 0
|
||||
|
||||
#define DPRECEIVE_ALL 1
|
||||
#define DPSYS_ADDPLAYERTOGROUP 2
|
||||
#define DPSYS_CREATEPLAYERORGROUP 3
|
||||
#define DPPLAYERTYPE_PLAYER 4
|
||||
#define DPSYS_DELETEPLAYERFROMGROUP 5
|
||||
#define DPSYS_HOST 6
|
||||
#define DPSYS_SESSIONLOST 7
|
||||
#define DPSYS_SETPLAYERORGROUPDATA 8
|
||||
#define DPSYS_SETPLAYERORGROUPNAME 9
|
||||
#define DPEXT_HEADER_SIZE 10
|
||||
#define DPERR_BUSY 11
|
||||
#define DPERR_CONNECTIONLOST 12
|
||||
#define DPERR_INVALIDPARAMS 13
|
||||
#define DPERR_INVALIDPLAYER 14
|
||||
#define DPERR_NOTLOGGEDIN 15
|
||||
#define DPERR_SENDTOOBIG 16
|
||||
#define DPERR_BUFFERTOOSMALL 17
|
||||
#define DPID_SYSMSG 18
|
||||
#define DPSYS_DESTROYPLAYERORGROUP 19
|
||||
#define DPID_ALLPLAYERS 20
|
||||
|
||||
typedef struct DPMSG_GENERIC
|
||||
{
|
||||
int dwType;
|
||||
} DPMSG_GENERIC;
|
||||
typedef DPMSG_GENERIC * LPDPMSG_GENERIC;
|
||||
|
||||
typedef struct DPMSG_CREATEPLAYERORGROUP
|
||||
{
|
||||
int dwType;
|
||||
|
||||
DPID dpId;
|
||||
int dwPlayerType;
|
||||
|
||||
DPNAME dpnName;
|
||||
} DPMSG_CREATEPLAYERORGROUP;
|
||||
typedef DPMSG_CREATEPLAYERORGROUP * LPDPMSG_CREATEPLAYERORGROUP;
|
||||
|
||||
typedef struct DPMSG_DESTROYPLAYERORGROUP
|
||||
{
|
||||
int dwType;
|
||||
|
||||
DPID dpId;
|
||||
int dwPlayerType;
|
||||
} DPMSG_DESTROYPLAYERORGROUP;
|
||||
typedef DPMSG_DESTROYPLAYERORGROUP * LPDPMSG_DESTROYPLAYERORGROUP;
|
||||
|
||||
#define JOYCAPS_HASR 1
|
||||
|
||||
typedef struct JOYINFOEX
|
||||
{
|
||||
DWORD dwXpos;
|
||||
DWORD dwYpos;
|
||||
DWORD dwRpos;
|
||||
DWORD dwUpos;
|
||||
DWORD dwVpos;
|
||||
DWORD dwPOV;
|
||||
} JOYINFOEX;
|
||||
|
||||
typedef struct JOYCAPS
|
||||
{
|
||||
int wCaps;
|
||||
} JOYCAPS;
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
119
src/main.c
119
src/main.c
|
@ -2,16 +2,17 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "SDL.h"
|
||||
#include "oglfunc.h"
|
||||
|
||||
#if !defined(_MSC_VER)
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
///#include <getopt.h>
|
||||
|
||||
#include <getopt.h>
|
||||
#endif
|
||||
|
||||
#include "fixer.h"
|
||||
|
||||
#include "3dc.h"
|
||||
|
@ -1097,23 +1098,25 @@ void FlipBuffers()
|
|||
|
||||
char *AvpCDPath = 0;
|
||||
|
||||
///static const struct option getopt_long_options[] = {
|
||||
///{ "help", 0, NULL, 'h' },
|
||||
///{ "version", 0, NULL, 'v' },
|
||||
///{ "fullscreen", 0, NULL, 'f' },
|
||||
///{ "windowed", 0, NULL, 'w' },
|
||||
///{ "nosound", 0, NULL, 's' },
|
||||
///{ "nocdrom", 0, NULL, 'c' },
|
||||
///{ "nojoy", 0, NULL, 'j' },
|
||||
///{ "debug", 0, NULL, 'd' },
|
||||
///{ "withgl", 1, NULL, 'g' },
|
||||
////*
|
||||
///{ "loadrifs", 1, NULL, 'l' },
|
||||
///{ "server", 0, someval, 1 },
|
||||
///{ "client", 1, someval, 2 },
|
||||
///*/
|
||||
///{ NULL, 0, NULL, 0 },
|
||||
///};
|
||||
#if !defined(_MSC_VER)
|
||||
static const struct option getopt_long_options[] = {
|
||||
{ "help", 0, NULL, 'h' },
|
||||
{ "version", 0, NULL, 'v' },
|
||||
{ "fullscreen", 0, NULL, 'f' },
|
||||
{ "windowed", 0, NULL, 'w' },
|
||||
{ "nosound", 0, NULL, 's' },
|
||||
{ "nocdrom", 0, NULL, 'c' },
|
||||
{ "nojoy", 0, NULL, 'j' },
|
||||
{ "debug", 0, NULL, 'd' },
|
||||
{ "withgl", 1, NULL, 'g' },
|
||||
/*
|
||||
{ "loadrifs", 1, NULL, 'l' },
|
||||
{ "server", 0, someval, 1 },
|
||||
{ "client", 1, someval, 2 },
|
||||
*/
|
||||
{ NULL, 0, NULL, 0 },
|
||||
};
|
||||
#endif
|
||||
|
||||
static const char *usage_string =
|
||||
"Aliens vs Predator Linux - http://www.icculus.org/avp/\n"
|
||||
|
@ -1130,45 +1133,47 @@ static const char *usage_string =
|
|||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#if !defined(_MSC_VER)
|
||||
int c;
|
||||
|
||||
/// opterr = 0;
|
||||
/// while ((c = getopt_long(argc, argv, "hvfwscdg:", getopt_long_options, NULL)) != -1) {
|
||||
/// switch(c) {
|
||||
/// case 'h':
|
||||
/// printf("%s", usage_string);
|
||||
/// exit(EXIT_SUCCESS);
|
||||
/// case 'v':
|
||||
/// printf("%s", AvPVersionString);
|
||||
/// exit(EXIT_SUCCESS);
|
||||
/// case 'f':
|
||||
/// WantFullscreen = 1;
|
||||
/// break;
|
||||
/// case 'w':
|
||||
/// WantFullscreen = 0;
|
||||
/// break;
|
||||
/// case 's':
|
||||
/// WantSound = 0;
|
||||
/// break;
|
||||
/// case 'c':
|
||||
/// WantCDRom = 0;
|
||||
/// break;
|
||||
/// case 'j':
|
||||
/// WantJoystick = 0;
|
||||
/// break;
|
||||
/// case 'd': {
|
||||
/// extern int DebuggingCommandsActive;
|
||||
/// DebuggingCommandsActive = 1;
|
||||
/// }
|
||||
/// break;
|
||||
/// case 'g':
|
||||
/// opengl_library = optarg;
|
||||
/// break;
|
||||
/// default:
|
||||
/// printf("%s", usage_string);
|
||||
/// exit(EXIT_FAILURE);
|
||||
/// }
|
||||
/// }
|
||||
opterr = 0;
|
||||
while ((c = getopt_long(argc, argv, "hvfwscdg:", getopt_long_options, NULL)) != -1) {
|
||||
switch(c) {
|
||||
case 'h':
|
||||
printf("%s", usage_string);
|
||||
exit(EXIT_SUCCESS);
|
||||
case 'v':
|
||||
printf("%s", AvPVersionString);
|
||||
exit(EXIT_SUCCESS);
|
||||
case 'f':
|
||||
WantFullscreen = 1;
|
||||
break;
|
||||
case 'w':
|
||||
WantFullscreen = 0;
|
||||
break;
|
||||
case 's':
|
||||
WantSound = 0;
|
||||
break;
|
||||
case 'c':
|
||||
WantCDRom = 0;
|
||||
break;
|
||||
case 'j':
|
||||
WantJoystick = 0;
|
||||
break;
|
||||
case 'd': {
|
||||
extern int DebuggingCommandsActive;
|
||||
DebuggingCommandsActive = 1;
|
||||
}
|
||||
break;
|
||||
case 'g':
|
||||
opengl_library = optarg;
|
||||
break;
|
||||
default:
|
||||
printf("%s", usage_string);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
InitGameDirectories(argv[0]);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue