added q_stdinc.h, adapted from uhexen2, to tidy up several includes and

macros in one place.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@277 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
Ozkan Sezer 2010-08-14 20:55:39 +00:00
parent 13491eb6a1
commit 3a6e17e627
21 changed files with 195 additions and 82 deletions

View file

@ -24,26 +24,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// comndef.h -- general definitions // comndef.h -- general definitions
#if !defined BYTE_DEFINED
typedef unsigned char byte;
#define BYTE_DEFINED 1
#endif
#undef true
#undef false
#if defined(__cplusplus)
/* do NOT use the bool of C++ because some structures have boolean and they
* expect it to be 4 bytes long. as a hack, typedef it as int. */
/* DO HOPE that the compiler built-ins for true and false are 1 and 0 ... */
typedef int qboolean;
#else
typedef enum {
false = 0,
true = 1
} qboolean;
#endif
//============================================================================
typedef struct sizebuf_s typedef struct sizebuf_s
{ {
@ -81,28 +61,6 @@ void InsertLinkAfter (link_t *l, link_t *after);
//============================================================================ //============================================================================
#ifndef NULL
#if defined(__cplusplus)
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
#define Q_MAXCHAR ((char)0x7f)
#define Q_MAXSHORT ((short)0x7fff)
#define Q_MAXINT ((int)0x7fffffff)
#define Q_MAXLONG ((int)0x7fffffff)
#define Q_MAXFLOAT ((int)0x7fffffff)
#define Q_MINCHAR ((char)0x80)
#define Q_MINSHORT ((short)0x8000)
#define Q_MININT ((int)0x80000000)
#define Q_MINLONG ((int)0x80000000)
#define Q_MINFLOAT ((int)0x7fffffff)
//============================================================================
extern qboolean bigendien; extern qboolean bigendien;
extern short (*BigShort) (short l); extern short (*BigShort) (short l);

View file

@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// host.c -- coordinates spawning and killing of local servers // host.c -- coordinates spawning and killing of local servers
#include "quakedef.h" #include "quakedef.h"
#include <setjmp.h>
/* /*

View file

@ -20,6 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" /* for net_defs.h */ #include "net_sys.h" /* for net_defs.h */
#include <dirent.h> #include <dirent.h>

View file

@ -21,7 +21,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
// mathlib.c -- math primitives // mathlib.c -- math primitives
#include <math.h>
#include "quakedef.h" #include "quakedef.h"
vec3_t vec3_origin = {0,0,0}; vec3_t vec3_origin = {0,0,0};

View file

@ -25,13 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// mathlib.h // mathlib.h
typedef float vec_t; #include <math.h>
typedef vec_t vec3_t[3];
typedef vec_t vec5_t[5];
typedef int fixed4_t;
typedef int fixed8_t;
typedef int fixed16_t;
#ifndef M_PI #ifndef M_PI
#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h #define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h

View file

@ -19,6 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" /* FIXME */ #include "net_sys.h" /* FIXME */
#include "quakedef.h" #include "quakedef.h"

View file

@ -18,6 +18,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include "quakedef.h" #include "quakedef.h"

View file

@ -25,6 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// This is enables a simple IP banning mechanism // This is enables a simple IP banning mechanism
#define BAN_TEST #define BAN_TEST
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include "quakedef.h" #include "quakedef.h"

View file

@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// net_loop.c // net_loop.c
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include "quakedef.h" #include "quakedef.h"

View file

@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// net_main.c // net_main.c
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include "quakedef.h" #include "quakedef.h"

View file

@ -20,6 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include "quakedef.h" #include "quakedef.h"

View file

@ -18,6 +18,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include "quakedef.h" #include "quakedef.h"

View file

@ -113,10 +113,8 @@ typedef int socklen_t;
#define socketerror(x) strerror((x)) #define socketerror(x) strerror((x))
/* Verify that we defined HAVE_SA_LEN correctly /* Verify that we defined HAVE_SA_LEN correctly: */
(Expression inside [] evaluates negative if HAVE_SA_LEN not correctly defined, COMPILE_TIME_ASSERT(sockaddr, offsetof(struct sockaddr, sa_family) == SA_FAM_OFFSET);
thowing "error: size of array is negative" at compile time) */
typedef char _check_sockaddr[2 * (offsetof(struct sockaddr, sa_family) == SA_FAM_OFFSET) - 1];
#endif /* end of unix stuff */ #endif /* end of unix stuff */
@ -150,7 +148,7 @@ typedef SOCKET sys_socket_t;
#define socketerror(x) __WSAE_StrError((x)) #define socketerror(x) __WSAE_StrError((x))
/* Verify that we defined HAVE_SA_LEN correctly: */ /* Verify that we defined HAVE_SA_LEN correctly: */
typedef char _check_sockaddr[2 * (offsetof(struct sockaddr, sa_family) == SA_FAM_OFFSET) - 1]; COMPILE_TIME_ASSERT(sockaddr, offsetof(struct sockaddr, sa_family) == SA_FAM_OFFSET);
#endif /* end of windows stuff */ #endif /* end of windows stuff */

View file

@ -20,6 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include "quakedef.h" #include "quakedef.h"

View file

@ -19,6 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include "quakedef.h" #include "quakedef.h"

View file

@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// net_wins.c // net_wins.c
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include "quakedef.h" #include "quakedef.h"

View file

@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// net_wipx.c // net_wipx.c
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" #include "net_sys.h"
#include <wsipx.h> #include <wsipx.h>

176
Quake/q_stdinc.h Normal file
View file

@ -0,0 +1,176 @@
/*
q_stdinc.h
includes the minimum necessary stdc headers,
defines common and / or missing types.
Copyright (C) 1996-1997 Id Software, Inc.
Copyright (C) 2007-2008 O.Sezer <sezero@users.sourceforge.net>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
51 Franklin St, Fifth Floor,
Boston, MA 02110-1301 USA
*/
#ifndef __QSTDINC_H
#define __QSTDINC_H
#include <sys/types.h>
#include <stddef.h>
#include <limits.h>
/* NOTES on TYPE SIZES:
Quake/Hexen II engine relied on 32 bit int type size
with ILP32 (not LP32) model in mind. We now support
LP64 and LLP64, too. We expect:
sizeof (char) == 1
sizeof (short) == 2
sizeof (int) == 4
sizeof (float) == 4
sizeof (long) == 4 / 8
sizeof (pointer *) == 4 / 8
FIXME: Properly replace certain short and int usage
with int16_t and int32_t.
*/
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#if !(defined(_WIN32) || defined(_WIN64))
#include <strings.h> /* strcasecmp and strncasecmp */
#endif /* ! PLATFORM_WINDOWS */
/*==========================================================================*/
#ifndef NULL
#if defined(__cplusplus)
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
#define Q_MAXCHAR ((char)0x7f)
#define Q_MAXSHORT ((short)0x7fff)
#define Q_MAXINT ((int)0x7fffffff)
#define Q_MAXLONG ((int)0x7fffffff)
#define Q_MAXFLOAT ((int)0x7fffffff)
#define Q_MINCHAR ((char)0x80)
#define Q_MINSHORT ((short)0x8000)
#define Q_MININT ((int)0x80000000)
#define Q_MINLONG ((int)0x80000000)
#define Q_MINFLOAT ((int)0x7fffffff)
/* Make sure the types really have the right
* sizes: These macros are from SDL headers.
*/
#define COMPILE_TIME_ASSERT(name, x) \
typedef int dummy_ ## name[(x) * 2 - 1]
COMPILE_TIME_ASSERT(char, sizeof(char) == 1);
COMPILE_TIME_ASSERT(float, sizeof(float) == 4);
COMPILE_TIME_ASSERT(long, sizeof(long) >= 4);
COMPILE_TIME_ASSERT(int, sizeof(int) == 4);
COMPILE_TIME_ASSERT(short, sizeof(short) == 2);
/* make sure enums are the size of ints for structure packing */
typedef enum {
THE_DUMMY_VALUE
} THE_DUMMY_ENUM;
COMPILE_TIME_ASSERT(enum, sizeof(THE_DUMMY_ENUM) == sizeof(int));
/* Provide a substitute for offsetof() if we don't have one.
* This variant works on most (but not *all*) systems...
*/
#ifndef offsetof
#define offsetof(t,m) ((size_t)&(((t *)0)->m))
#endif
/*==========================================================================*/
typedef unsigned char byte;
#undef true
#undef false
#if defined(__cplusplus)
/* do NOT use the bool of C++ because some structures have boolean and they
* expect it to be 4 bytes long. as a hack, typedef it as int. */
/* DO HOPE that the compiler built-ins for true and false are 1 and 0 ... */
typedef int qboolean;
#else
typedef enum {
false = 0,
true = 1
} qboolean;
#endif
/*==========================================================================*/
/* math */
typedef float vec_t;
typedef vec_t vec3_t[3];
typedef vec_t vec5_t[5];
typedef int fixed4_t;
typedef int fixed8_t;
typedef int fixed16_t;
/*==========================================================================*/
#if defined(_MSC_VER)
#if defined(_WIN64)
#define ssize_t SSIZE_T
#else
typedef int ssize_t;
#endif /* _WIN64 */
#endif /* _MSC_VER */
/* compatibility with M$ types */
#if !(defined(_WIN32) || defined(_WIN64))
#define PASCAL
#define FAR
#define APIENTRY
#endif /* ! WINDOWS */
#if !defined(__GNUC__)
#define __attribute__(x)
#endif /* __GNUC__ */
/* argument format attributes for function
* pointers are supported for gcc >= 3.1
*/
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0))
#define __fp_attribute__ __attribute__
#else
#define __fp_attribute__(x)
#endif
#if defined(_MSC_VER) && !defined(__cplusplus)
#define inline __inline
#endif /* _MSC_VER */
/*==========================================================================*/
#endif /* __QSTDINC_H */

View file

@ -42,31 +42,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define GAMENAME "id1" // directory to look in by default #define GAMENAME "id1" // directory to look in by default
#include <math.h> #include "q_stdinc.h"
#include <string.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <setjmp.h>
#include <assert.h> //johnfitz
#if !defined(__GNUC__)
#define __attribute__(x)
#endif /* __GNUC__ */
/* argument format attributes for function
* pointers are supported for gcc >= 3.1
*/
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0))
#define __fp_attribute__ __attribute__
#else
#define __fp_attribute__(x)
#endif
#if defined(_MSC_VER) && !defined(__cplusplus)
#define inline __inline
#endif /* _MSC_VER */
#if defined(_WIN32) && !defined(WINDED) #if defined(_WIN32) && !defined(WINDED)

View file

@ -186,8 +186,6 @@ extern server_t sv; // local server
extern client_t *host_client; extern client_t *host_client;
extern jmp_buf host_abortserver;
extern double host_time; extern double host_time;
extern edict_t *sv_player; extern edict_t *sv_player;

View file

@ -20,6 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
// sv_main.c -- server main program // sv_main.c -- server main program
#include "q_stdinc.h"
#include "arch_def.h" #include "arch_def.h"
#include "net_sys.h" /* for net_defs.h */ #include "net_sys.h" /* for net_defs.h */
#include "quakedef.h" #include "quakedef.h"