hlsdk-portable/dlls/extdll.h

112 lines
2.7 KiB
C
Raw Normal View History

2016-06-04 13:24:23 +00:00
/***
*
* Copyright (c) 1996-2002, Valve LLC. All rights reserved.
*
* This product contains software technology licensed from Id
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
* All Rights Reserved.
*
* Use, distribution, and modification of this source code and/or resulting
* object code is restricted to non-commercial enhancements to products from
* Valve LLC. All other use, distribution, or modification is prohibited
* without written permission from Valve LLC.
*
****/
#pragma once
2016-06-04 13:24:23 +00:00
#ifndef EXTDLL_H
#define EXTDLL_H
//
// Global header file for extension DLLs
//
// Allow "DEBUG" in addition to default "_DEBUG"
2021-06-07 00:05:58 +00:00
#if _DEBUG
2016-06-04 13:24:23 +00:00
#define DEBUG 1
#endif
// Silence certain warnings
2021-06-07 00:05:58 +00:00
#if _MSC_VER
2016-06-04 13:24:23 +00:00
#pragma warning(disable : 4244) // int or float down-conversion
#pragma warning(disable : 4305) // int or float data truncation
#pragma warning(disable : 4201) // nameless struct/union
#pragma warning(disable : 4514) // unreferenced inline function removed
#pragma warning(disable : 4100) // unreferenced formal parameter
2017-06-29 13:56:03 +00:00
#endif
2016-06-04 13:24:23 +00:00
// Prevent tons of unused windows definitions
2021-06-07 00:05:58 +00:00
#if _WIN32
2016-06-04 13:24:23 +00:00
#define WIN32_LEAN_AND_MEAN
#define NOWINRES
#define NOSERVICE
#define NOMCX
#define NOIME
2016-08-03 22:36:50 +00:00
#define HSPRITE HSPRITE_win32
2020-03-21 13:51:14 +00:00
#include <windows.h>
2016-08-03 22:36:50 +00:00
#undef HSPRITE
2016-06-04 13:24:23 +00:00
#else // _WIN32
2017-06-29 13:56:03 +00:00
#ifndef FALSE
2016-06-04 13:24:23 +00:00
#define FALSE 0
2017-06-29 13:56:03 +00:00
#endif
#ifndef TRUE
2016-06-04 13:24:23 +00:00
#define TRUE (!FALSE)
2017-06-29 13:56:03 +00:00
#endif
2019-10-26 12:48:49 +00:00
#include <limits.h>
#include <stdarg.h>
typedef unsigned int ULONG;
2016-06-04 13:24:23 +00:00
typedef unsigned char BYTE;
typedef int BOOL;
#define MAX_PATH PATH_MAX
2019-10-26 12:48:49 +00:00
#ifndef PATH_MAX
#define PATH_MAX 4096
#endif
2016-06-12 09:14:28 +00:00
#endif //_WIN32
2016-06-04 13:24:23 +00:00
// Misc C-runtime library headers
2019-10-13 13:37:32 +00:00
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#if HAVE_CMATH
2019-10-13 13:37:32 +00:00
#include <cmath>
#else
#include <math.h>
#endif
2016-06-04 13:24:23 +00:00
2019-10-13 11:49:25 +00:00
#ifndef M_PI_F
#define M_PI_F (float)M_PI
#endif
2016-06-04 13:24:23 +00:00
2017-07-14 15:34:44 +00:00
#if defined(__LP64__) || defined(__LLP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
#define XASH_64BIT
#endif
2016-06-04 13:24:23 +00:00
// Header file containing definition of globalvars_t and entvars_t
2016-08-01 11:13:13 +00:00
typedef unsigned int func_t;
typedef int string_t; // from engine's pr_comp.h;
2016-06-04 13:24:23 +00:00
typedef float vec_t; // needed before including progdefs.h
// Vector class
#include "vector.h"
// Defining it as a (bogus) struct helps enforce type-checking
#define vec3_t Vector
// Shared engine/DLL constants
#include "const.h"
#include "progdefs.h"
#include "edict.h"
// Shared header describing protocol between engine and DLLs
#include "eiface.h"
// Shared header between the client DLL and the game DLLs
#include "cdll_dll.h"
2017-10-14 19:57:55 +00:00
#ifndef Q_min
#define Q_min(a,b) (((a) < (b)) ? (a) : (b))
2016-08-18 23:23:03 +00:00
#endif
2017-10-14 19:57:55 +00:00
#ifndef Q_max
#define Q_max(a,b) (((a) > (b)) ? (a) : (b))
2016-08-18 23:23:03 +00:00
#endif
2016-06-04 13:24:23 +00:00
#endif //EXTDLL_H