Compare commits
6 Commits
9b0adc84c5
...
8df34b4c3f
Author | SHA1 | Date |
---|---|---|
an | 8df34b4c3f | |
an | 6909073d3d | |
an | 2473e7d835 | |
an | 55aef43175 | |
an | 1e5b30ba49 | |
an | 7396d8e285 |
|
@ -22,6 +22,7 @@ pkg_check_modules(MikMod IMPORTED_TARGET libmikmod>=3.3.11)
|
|||
set(srcs
|
||||
source/anorm_dots.h
|
||||
source/anorms.h
|
||||
source/arch_def.c
|
||||
source/arch_def.h
|
||||
source/bgmusic.c
|
||||
source/bgmusic.h
|
||||
|
@ -98,17 +99,15 @@ set(srcs
|
|||
source/progs.h
|
||||
source/protocol.h
|
||||
source/q_ctype.h
|
||||
source/q_defs.h
|
||||
source/q_sound.h
|
||||
source/q_stdinc.h
|
||||
source/qs_bmp.h
|
||||
source/quakedef.h
|
||||
source/r_alias.c
|
||||
source/r_brush.c
|
||||
source/r_part.c
|
||||
source/r_sprite.c
|
||||
source/r_world.c
|
||||
source/render.h
|
||||
source/resource.h
|
||||
source/sbar.c
|
||||
source/sbar.h
|
||||
source/screen.h
|
||||
|
@ -154,7 +153,8 @@ set(srcs
|
|||
source/zone.h)
|
||||
|
||||
set(srcs_linux
|
||||
source/linux/pl_linux.c)
|
||||
source/linux/pl_linux.c
|
||||
source/linux/qs_bmp.h)
|
||||
|
||||
set(srcs_osx
|
||||
source/osx/pl_osx.c)
|
||||
|
@ -172,6 +172,7 @@ set(srcs_windows
|
|||
source/windows/net_wipx.c
|
||||
source/windows/net_wipx.h
|
||||
source/windows/pl_win.c
|
||||
source/windows/resource.h
|
||||
source/windows/sys_sdl_win.c
|
||||
source/windows/wsaerror.h)
|
||||
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* arch_def.c
|
||||
*
|
||||
* Copyright (C) 2019 Alison G. Watson
|
||||
*
|
||||
* 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 the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "arch_def.h"
|
||||
|
||||
char const platform_names[][16] = {
|
||||
[PLATFRM_BSD] = "BSD",
|
||||
[PLATFRM_DREAMCAST] = "Dreamcast",
|
||||
[PLATFRM_LINUX] = "Linux",
|
||||
[PLATFRM_OSX] = "OSX",
|
||||
[PLATFRM_UNIX] = "*nix",
|
||||
[PLATFRM_WINDOWS] = "Windows",
|
||||
|
||||
[PLATFRM_IRIX] = "IRIX",
|
||||
[PLATFRM_SWITCH] = "Switch",
|
||||
[PLATFRM_WII] = "Wii",
|
||||
[PLATFRM_PLAN9] = "plan9",
|
||||
};
|
||||
|
|
@ -24,147 +24,53 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef ARCHDEFS_H
|
||||
#define ARCHDEFS_H
|
||||
#ifndef spingle__arch_def_h
|
||||
#define spingle__arch_def_h
|
||||
|
||||
/* core ports */
|
||||
#define PLATFRM_BSD 0
|
||||
#define PLATFRM_DREAMCAST 1
|
||||
#define PLATFRM_LINUX 2
|
||||
#define PLATFRM_OSX 3
|
||||
#define PLATFRM_UNIX 4
|
||||
#define PLATFRM_WINDOWS 5
|
||||
|
||||
#if defined(__DJGPP__) || defined(__MSDOS__) || defined(__DOS__) || defined(_MSDOS)
|
||||
/* wanted ports */
|
||||
#define PLATFRM_IRIX 6
|
||||
#define PLATFRM_SWITCH 7
|
||||
#define PLATFRM_WII 8
|
||||
#define PLATFRM_PLAN9 9
|
||||
|
||||
# if !defined(PLATFORM_DOS)
|
||||
# define PLATFORM_DOS 1
|
||||
# endif
|
||||
#define PLATFORM_IS(x) (PLATFORM == PLATFRM_##x)
|
||||
|
||||
#elif defined(__OS2__) || defined(__EMX__)
|
||||
|
||||
# if !defined(PLATFORM_OS2)
|
||||
# define PLATFORM_OS2 1
|
||||
# endif
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(__NT__) || defined(_Windows)
|
||||
|
||||
# if !defined(PLATFORM_WINDOWS)
|
||||
# define PLATFORM_WINDOWS 1
|
||||
# endif
|
||||
|
||||
#elif defined(__APPLE__) && defined(__MACH__) /* Mac OS X */
|
||||
|
||||
# if !defined(PLATFORM_OSX)
|
||||
# define PLATFORM_OSX 1
|
||||
# endif
|
||||
|
||||
#elif defined(macintosh) /* Mac OS classic */
|
||||
|
||||
# if !defined(PLATFORM_MAC)
|
||||
# define PLATFORM_MAC 1
|
||||
# endif
|
||||
|
||||
#elif defined(__MORPHOS__) || defined(__AROS__) || defined(AMIGAOS) || \
|
||||
defined(__amigaos__) || defined(__amigaos4__) ||defined(__amigados__) || \
|
||||
defined(AMIGA) || defined(_AMIGA) || defined(__AMIGA__)
|
||||
|
||||
# if !defined(PLATFORM_AMIGA)
|
||||
# define PLATFORM_AMIGA 1
|
||||
# endif
|
||||
|
||||
#elif defined(__riscos__)
|
||||
|
||||
# if !defined(PLATFORM_RISCOS)
|
||||
# define PLATFORM_RISCOS 1
|
||||
# endif
|
||||
|
||||
#else /* here goes the unix platforms */
|
||||
|
||||
#if defined(__unix) || defined(__unix__) || defined(unix) || \
|
||||
defined(__linux__) || defined(__linux) || \
|
||||
defined(__FreeBSD__) || defined(__DragonFly__) || \
|
||||
defined(__FreeBSD_kernel__) /* Debian GNU/kFreeBSD */ || \
|
||||
defined(__OpenBSD__) || defined(__NetBSD__) || \
|
||||
defined(__hpux) || defined(__hpux__) || defined(_hpux) || \
|
||||
defined(__sun) || defined(sun) || \
|
||||
defined(__sgi) || defined(sgi) || defined(__sgi__) || \
|
||||
defined(__GNU__) /* GNU/Hurd */ || \
|
||||
defined(__QNX__) || defined(__QNXNTO__)
|
||||
# if !defined(PLATFORM_UNIX)
|
||||
# define PLATFORM_UNIX 1
|
||||
# endif
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
#define PLATFORM PLATFRM_WINDOWS
|
||||
#elif defined(__APPLE__) && defined(__MACH__)
|
||||
#define PLATFORM PLATFRM_OSX
|
||||
#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__)
|
||||
#define PLATFORM PLATFRM_BSD
|
||||
#elif defined(__linux__)
|
||||
#define PLATFORM PLATFRM_LINUX
|
||||
#elif defined(_arch_dreamcast)
|
||||
#define PLATFORM PLATFRM_DREAMCAST
|
||||
#endif
|
||||
|
||||
#endif /* PLATFORM_xxx */
|
||||
#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
|
||||
#if !defined(PLATFORM)
|
||||
#define PLATFORM PLATFRM_UNIX
|
||||
#endif
|
||||
|
||||
#define PLATFORM_IS_UNIX 1
|
||||
#endif
|
||||
|
||||
#if defined (PLATFORM_OSX) /* OS X is unix-based */
|
||||
# if !defined(PLATFORM_UNIX)
|
||||
# define PLATFORM_UNIX 2
|
||||
# endif
|
||||
#endif /* OS X -> PLATFORM_UNIX */
|
||||
#if defined(__GNUC__)
|
||||
#define PLATFORM_IS_GNUC __GNUC__
|
||||
#endif
|
||||
|
||||
#if !defined(PLATFORM)
|
||||
#error "Platform not defined. The program will not compile."
|
||||
#endif
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__) || \
|
||||
defined(__FreeBSD_kernel__) /* Debian GNU/kFreeBSD */ || \
|
||||
defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
# if !defined(PLATFORM_BSD)
|
||||
# define PLATFORM_BSD 1
|
||||
# endif
|
||||
#endif /* PLATFORM_BSD (for convenience) */
|
||||
|
||||
|
||||
#if defined(PLATFORM_AMIGA) && !defined(PLATFORM_AMIGAOS3)
|
||||
# if !defined(__MORPHOS__) && !defined(__AROS__) && !defined(__amigaos4__)
|
||||
# define PLATFORM_AMIGAOS3 1
|
||||
# endif
|
||||
#endif /* PLATFORM_AMIGAOS3 (for convenience) */
|
||||
|
||||
|
||||
#if defined(_WIN64)
|
||||
# define PLATFORM_STRING "Win64"
|
||||
#elif defined(PLATFORM_WINDOWS)
|
||||
# define PLATFORM_STRING "Windows"
|
||||
#elif defined(PLATFORM_DOS)
|
||||
# define PLATFORM_STRING "DOS"
|
||||
#elif defined(PLATFORM_OS2)
|
||||
# define PLATFORM_STRING "OS/2"
|
||||
#elif defined(__linux__) || defined(__linux)
|
||||
# define PLATFORM_STRING "Linux"
|
||||
#elif defined(__DragonFly__)
|
||||
# define PLATFORM_STRING "DragonFly"
|
||||
#elif defined(__FreeBSD__)
|
||||
# define PLATFORM_STRING "FreeBSD"
|
||||
#elif defined(__NetBSD__)
|
||||
# define PLATFORM_STRING "NetBSD"
|
||||
#elif defined(__OpenBSD__)
|
||||
# define PLATFORM_STRING "OpenBSD"
|
||||
#elif defined(__MORPHOS__)
|
||||
# define PLATFORM_STRING "MorphOS"
|
||||
#elif defined(__AROS__)
|
||||
# define PLATFORM_STRING "AROS"
|
||||
#elif defined(__amigaos4__)
|
||||
# define PLATFORM_STRING "AmigaOS4"
|
||||
#elif defined(PLATFORM_AMIGA)
|
||||
# define PLATFORM_STRING "AmigaOS"
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_STRING "QNX"
|
||||
#elif defined(PLATFORM_OSX)
|
||||
# define PLATFORM_STRING "MacOSX"
|
||||
#elif defined(PLATFORM_MAC)
|
||||
# define PLATFORM_STRING "MacOS"
|
||||
#elif defined(__hpux) || defined(__hpux__) || defined(_hpux)
|
||||
# define PLATFORM_STRING "HP-UX"
|
||||
#elif (defined(__sun) || defined(sun)) && (defined(__svr4__) || defined(__SVR4))
|
||||
# define PLATFORM_STRING "Solaris"
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_STRING "SunOS"
|
||||
#elif defined(__sgi) || defined(sgi) || defined(__sgi__)
|
||||
# define PLATFORM_STRING "Irix"
|
||||
#elif defined(PLATFORM_RISCOS)
|
||||
# define PLATFORM_STRING "RiscOS"
|
||||
#elif defined(__GNU__)
|
||||
# define PLATFORM_STRING "GNU/Hurd"
|
||||
#elif defined(PLATFORM_UNIX)
|
||||
# define PLATFORM_STRING "Unix"
|
||||
#else
|
||||
# define PLATFORM_STRING "Unknown"
|
||||
# warning "Platform is UNKNOWN."
|
||||
#endif /* PLATFORM_STRING */
|
||||
|
||||
#endif /* ARCHDEFS_H */
|
||||
extern char const platform_names[][16];
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "snd_codec.h"
|
||||
#include "bgmusic.h"
|
||||
#include "cdaudio.h"
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifndef _BGMUSIC_H_
|
||||
#define _BGMUSIC_H_
|
||||
#ifndef spingle__bgmusic_h
|
||||
#define spingle__bgmusic_h
|
||||
|
||||
extern bool bgmloop;
|
||||
extern cvar_t bgm_extmusic;
|
||||
|
@ -39,5 +39,4 @@ void BGM_Resume(void);
|
|||
|
||||
void BGM_PlayCDtrack(byte track, bool looping);
|
||||
|
||||
#endif /* _BGMUSIC_H_ */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __BSPFILE_H
|
||||
#define __BSPFILE_H
|
||||
#ifndef spingle__bspfile_h
|
||||
#define spingle__bspfile_h
|
||||
|
||||
// upper design bounds
|
||||
|
||||
|
@ -310,5 +310,4 @@ typedef struct
|
|||
|
||||
//============================================================================
|
||||
|
||||
#endif /* __BSPFILE_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
int32_t CDAudio_Play(byte track, bool looping)
|
||||
{
|
||||
|
@ -44,7 +44,6 @@ void CDAudio_Update(void)
|
|||
|
||||
int32_t CDAudio_Init(void)
|
||||
{
|
||||
Con_Printf("CDAudio disabled at compile time\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
#else /* defined(SDL_INIT_CDROM) */
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "cdaudio.h"
|
||||
|
||||
static bool cdValid = false;
|
||||
|
@ -53,7 +53,7 @@ static void CDAudio_Eject(void)
|
|||
if(!cd_handle || !enabled)
|
||||
return;
|
||||
|
||||
#ifdef __linux__
|
||||
#if PLATFORM_IS(LINUX)
|
||||
SDL_CDStop(cd_handle); /* see CDAudio_Stop() */
|
||||
#endif
|
||||
if(SDL_CDEject(cd_handle) < 0)
|
||||
|
@ -144,7 +144,7 @@ void CDAudio_Stop(void)
|
|||
if(!playing)
|
||||
return;
|
||||
|
||||
#ifdef __linux__
|
||||
#if PLATFORM_IS(LINUX)
|
||||
/* Don't really stop, but just pause: On some devices, the CDROMSTOP
|
||||
* ioctl causes any followup ioctls to fail for a considerable time.
|
||||
* observed with a TSSTcorp CDW/DVD SH-M522C drive with TS05 and TS08
|
||||
|
@ -427,7 +427,7 @@ void CDAudio_Update(void)
|
|||
|
||||
static const char *get_cddev_arg(const char *arg)
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
/* arg should be like "D:\", make sure it is so,
|
||||
* but tolerate args like "D" or "D:", as well. */
|
||||
static char drive[4];
|
||||
|
@ -475,7 +475,7 @@ static void export_cddev_arg(void)
|
|||
{
|
||||
/* Bad ugly hack to workaround SDL's cdrom device detection.
|
||||
* not needed for windows due to the way SDL_cdrom works. */
|
||||
#if !defined(_WIN32)
|
||||
#if !PLATFORM_IS(WINDOWS)
|
||||
int32_t i = COM_CheckParm("-cddev");
|
||||
if(i != 0 && i < com_argc - 1 && com_argv[i + 1][0] != '\0')
|
||||
{
|
||||
|
@ -502,8 +502,7 @@ int32_t CDAudio_Init(void)
|
|||
}
|
||||
|
||||
sdl_num_drives = SDL_CDNumDrives();
|
||||
Con_Printf("SDL detected %" PRIi32 " CD-ROM drive%c\n", sdl_num_drives,
|
||||
sdl_num_drives == 1 ? ' ' : 's');
|
||||
Con_Printf("SDL detected %" PRIi32 " CD-ROM drive(s)\n", sdl_num_drives);
|
||||
|
||||
if(sdl_num_drives < 1)
|
||||
return -1;
|
||||
|
@ -571,7 +570,7 @@ void CDAudio_Shutdown(void)
|
|||
CDAudio_Stop();
|
||||
if(hw_vol_works)
|
||||
CD_SetVolume(NULL); /* no SDL support at present. */
|
||||
#ifdef __linux__
|
||||
#if PLATFORM_IS(LINUX)
|
||||
SDL_CDStop(cd_handle); /* see CDAudio_Stop() */
|
||||
#endif
|
||||
SDL_CDClose(cd_handle);
|
||||
|
|
|
@ -19,8 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __CDAUDIO_H
|
||||
#define __CDAUDIO_H
|
||||
#ifndef spingle__cdaudio_h
|
||||
#define spingle__cdaudio_h
|
||||
|
||||
int32_t CDAudio_Init(void);
|
||||
int32_t CDAudio_Play(byte track, bool looping);
|
||||
|
@ -31,5 +31,4 @@ void CDAudio_Resume(void);
|
|||
void CDAudio_Shutdown(void);
|
||||
void CDAudio_Update(void);
|
||||
|
||||
#endif /* __CDAUDIO_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
|
||||
static fshandle_t *cfg_file;
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef __CFGFILE_H
|
||||
#define __CFGFILE_H
|
||||
#ifndef spingle__cfgfile_h
|
||||
#define spingle__cfgfile_h
|
||||
|
||||
int32_t CFG_OpenConfig(const char *cfg_name);
|
||||
// opens the given config file. only one open config file is
|
||||
|
@ -39,4 +39,4 @@ void CFG_ReadCvarOverrides(const char **vars, int32_t num_vars);
|
|||
// the config file. call this after CFG_ReadCvars() and before
|
||||
// locking your cvars.
|
||||
|
||||
#endif /* __CFGFILE_H */
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// chase.c -- chase camera code
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
cvar_t chase_back = {"chase_back", "100", CVAR_NONE};
|
||||
cvar_t chase_up = {"chase_up", "16", CVAR_NONE};
|
||||
|
|
|
@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
static void CL_FinishTimeDemo(void);
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
// Quake is a trademark of Id Software, Inc., (c) 1996 Id Software, Inc. All
|
||||
// rights reserved.
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
extern cvar_t cl_maxpitch; //johnfitz -- variable pitch clamping
|
||||
extern cvar_t cl_minpitch; //johnfitz -- variable pitch clamping
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// cl_main.c -- client main loop
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "bgmusic.h"
|
||||
|
||||
// we need to declare some mouse variables here, because the menu system
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// cl_parse.c -- parse a message received from the server
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "bgmusic.h"
|
||||
|
||||
const char *svc_strings[] =
|
||||
|
@ -316,7 +316,7 @@ void CL_ParseServerInfo(void)
|
|||
|
||||
// seperate the printfs so the server message can have a color
|
||||
Con_Printf("\n%s\n", Con_Quakebar(40)); //johnfitz
|
||||
Con_Printf("%c%s\n", 2, str);
|
||||
Con_Printf("\x02%s\n", str);
|
||||
|
||||
//johnfitz -- tell user which protocol this is
|
||||
Con_Printf("Using protocol %" PRIi32 "\n", i);
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// cl_tent.c -- client side temporary entities
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
entity_t *cl_temp_entities;
|
||||
int32_t num_temp_entities;
|
||||
|
@ -331,12 +331,12 @@ void CL_UpdateTEnts(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
yaw = (int32_t)(atan2(dist[1], dist[0]) * 180 / M_PI);
|
||||
yaw = (int32_t)(atan2(dist[1], dist[0]) * 180 / PI);
|
||||
if(yaw < 0)
|
||||
yaw += 360;
|
||||
|
||||
forward = sqrt(dist[0] * dist[0] + dist[1] * dist[1]);
|
||||
pitch = (int32_t)(atan2(dist[2], forward) * 180 / M_PI);
|
||||
pitch = (int32_t)(atan2(dist[2], forward) * 180 / PI);
|
||||
if(pitch < 0)
|
||||
pitch += 360;
|
||||
}
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _CLIENT_H_
|
||||
#define _CLIENT_H_
|
||||
#ifndef spingle__client_h
|
||||
#define spingle__client_h
|
||||
|
||||
// client.h
|
||||
|
||||
|
@ -379,5 +379,4 @@ void TraceLine(vec3_t start, vec3_t end, vec3_t impact);
|
|||
void Chase_UpdateForClient(void); //johnfitz
|
||||
void Chase_UpdateForDrawing(void); //johnfitz
|
||||
|
||||
#endif /* _CLIENT_H_ */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// cmd.c -- Quake script command processing module
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
void Cmd_ForwardToServer(void);
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_CMD_H
|
||||
#define _QUAKE_CMD_H
|
||||
#ifndef spingle__cmd_h
|
||||
#define spingle__cmd_h
|
||||
|
||||
// cmd.h -- Command buffer and command execution
|
||||
|
||||
|
@ -123,5 +123,4 @@ void Cmd_Print(const char *text);
|
|||
// used by command functions to send output to either the graphics console or
|
||||
// passed as a print message to the client
|
||||
|
||||
#endif /* _QUAKE_CMD_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
// common.c -- misc functions used in client and server
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "q_ctype.h"
|
||||
#include <errno.h>
|
||||
|
||||
|
@ -34,19 +34,8 @@ int32_t safemode;
|
|||
cvar_t registered = {"registered", "1", CVAR_ROM};
|
||||
cvar_t cmdline = {"cmdline", "", CVAR_ROM/*|CVAR_SERVERINFO*/}; /* sending cmdline upon CCREQ_RULE_INFO is evil */
|
||||
|
||||
static bool com_modified; // set true if using non-id files
|
||||
|
||||
static void COM_Path_f(void);
|
||||
|
||||
// if a packfile directory differs from this, it is assumed to be hacked
|
||||
#define PAK0_COUNT 339 /* id1/pak0.pak - v1.0x */
|
||||
#define PAK0_CRC_V100 13900 /* id1/pak0.pak - v1.00 */
|
||||
#define PAK0_CRC_V101 62751 /* id1/pak0.pak - v1.01 */
|
||||
#define PAK0_CRC_V106 32981 /* id1/pak0.pak - v1.06 */
|
||||
#define PAK0_CRC (PAK0_CRC_V106)
|
||||
#define PAK0_COUNT_V091 308 /* id1/pak0.pak - v0.91/0.92, not supported */
|
||||
#define PAK0_CRC_V091 28804 /* id1/pak0.pak - v0.91/0.92, not supported */
|
||||
|
||||
char com_token[1024];
|
||||
int32_t com_argc;
|
||||
char **com_argv;
|
||||
|
@ -227,7 +216,7 @@ char *q_strupr(char *str)
|
|||
}
|
||||
|
||||
/* platform dependant (v)snprintf function names: */
|
||||
#if defined(_WIN32)
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
#define snprintf_func _snprintf
|
||||
#define vsnprintf_func _vsnprintf
|
||||
#else
|
||||
|
@ -607,7 +596,7 @@ void MSG_WriteChar(sizebuf_t *sb, int32_t c)
|
|||
{
|
||||
byte *buf;
|
||||
|
||||
#ifdef PARANOID
|
||||
#if defined(PARANOID)
|
||||
if(c < -128 || c > 127)
|
||||
Sys_Error("MSG_WriteChar: range error");
|
||||
#endif
|
||||
|
@ -620,7 +609,7 @@ void MSG_WriteByte(sizebuf_t *sb, int32_t c)
|
|||
{
|
||||
byte *buf;
|
||||
|
||||
#ifdef PARANOID
|
||||
#if defined(PARANOID)
|
||||
if(c < 0 || c > 255)
|
||||
Sys_Error("MSG_WriteByte: range error");
|
||||
#endif
|
||||
|
@ -633,7 +622,7 @@ void MSG_WriteShort(sizebuf_t *sb, int32_t c)
|
|||
{
|
||||
byte *buf;
|
||||
|
||||
#ifdef PARANOID
|
||||
#if defined(PARANOID)
|
||||
if(c < ((int16_t)0x8000) || c > (int16_t)0x7fff)
|
||||
Sys_Error("MSG_WriteShort: range error");
|
||||
#endif
|
||||
|
@ -1854,7 +1843,6 @@ static pack_t *COM_LoadPackFile(const char *packfile)
|
|||
pack_t *pack;
|
||||
int32_t packhandle;
|
||||
dpackfile_t info[MAX_FILES_IN_PACK];
|
||||
uint16_t crc;
|
||||
|
||||
if(Sys_FileOpenRead(packfile, &packhandle) == -1)
|
||||
return NULL;
|
||||
|
@ -1882,21 +1870,11 @@ static pack_t *COM_LoadPackFile(const char *packfile)
|
|||
if(numpackfiles > MAX_FILES_IN_PACK)
|
||||
Sys_Error("%s has %" PRIi32 " files", packfile, numpackfiles);
|
||||
|
||||
if(numpackfiles != PAK0_COUNT)
|
||||
com_modified = true; // not the original file
|
||||
|
||||
newfiles = (packfile_t *) Z_Malloc(numpackfiles * sizeof(packfile_t));
|
||||
|
||||
Sys_FileSeek(packhandle, header.dirofs);
|
||||
Sys_FileRead(packhandle, (void *)info, header.dirlen);
|
||||
|
||||
// crc the directory to check for modifications
|
||||
CRC_Init(&crc);
|
||||
for(i = 0; i < header.dirlen; i++)
|
||||
CRC_ProcessByte(&crc, ((byte *)info)[i]);
|
||||
if(crc != PAK0_CRC_V106 && crc != PAK0_CRC_V101 && crc != PAK0_CRC_V100)
|
||||
com_modified = true;
|
||||
|
||||
// parse the directory
|
||||
for(i = 0; i < numpackfiles; i++)
|
||||
{
|
||||
|
@ -2025,8 +2003,6 @@ _same:
|
|||
}
|
||||
}
|
||||
|
||||
com_modified = true;
|
||||
|
||||
//Kill the server
|
||||
CL_Disconnect();
|
||||
Host_ShutdownServer(true);
|
||||
|
@ -2120,6 +2096,7 @@ void COM_InitFilesystem(void) //johnfitz -- modified based on topaz's tutorial
|
|||
int32_t i, j;
|
||||
|
||||
Cvar_RegisterVariable(&cmdline);
|
||||
Cvar_RegisterVariable(®istered);
|
||||
Cmd_AddCommand("path", COM_Path_f);
|
||||
Cmd_AddCommand("game", COM_Game_f); //johnfitz
|
||||
|
||||
|
@ -2158,7 +2135,6 @@ void COM_InitFilesystem(void) //johnfitz -- modified based on topaz's tutorial
|
|||
const char *p = com_argv[i + 1];
|
||||
if(!*p || !strcmp(p, ".") || strstr(p, "..") || strstr(p, "/") || strstr(p, "\\") || strstr(p, ":"))
|
||||
Sys_Error("gamedir should be a single directory name, not a path\n");
|
||||
com_modified = true;
|
||||
// don't load mission packs twice
|
||||
if(COM_CheckParm("-rogue") && !q_strcasecmp(p, "rogue")) p = NULL;
|
||||
if(COM_CheckParm("-hipnotic") && !q_strcasecmp(p, "hipnotic")) p = NULL;
|
||||
|
|
|
@ -20,25 +20,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _Q_COMMON_H
|
||||
#define _Q_COMMON_H
|
||||
#ifndef spingle__common_h
|
||||
#define spingle__common_h
|
||||
|
||||
// comndef.h -- general definitions
|
||||
|
||||
#if defined(_WIN32)
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(disable:4244)
|
||||
/* 'argument' : conversion from 'type1' to 'type2',
|
||||
possible loss of data */
|
||||
# pragma warning(disable:4305)
|
||||
/* 'identifier' : truncation from 'type1' to 'type2' */
|
||||
/* in our case, truncation from 'double' to 'float' */
|
||||
# pragma warning(disable:4267)
|
||||
/* 'var' : conversion from 'size_t' to 'type',
|
||||
possible loss of data (/Wp64 warning) */
|
||||
#endif /* _MSC_VER */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#undef min
|
||||
#undef max
|
||||
#define q_min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
|
@ -299,5 +285,4 @@ extern bool standard_quake, rogue, hipnotic;
|
|||
|
||||
struct cvar_s;
|
||||
|
||||
#endif /* _Q_COMMON_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,16 +21,16 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// console.c
|
||||
|
||||
#include "q_defs.h"
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#ifdef _WIN32
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
#include <io.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include "quakedef.h"
|
||||
|
||||
int32_t con_linewidth;
|
||||
|
||||
|
@ -325,7 +325,7 @@ void Con_Init(void)
|
|||
con_current = con_totallines - 1;
|
||||
//johnfitz
|
||||
|
||||
Con_Printf("Console initialized.\n");
|
||||
Con_Printf("Console initialized\n");
|
||||
|
||||
Cvar_RegisterVariable(&con_notifytime);
|
||||
Cvar_RegisterVariable(&con_logcenterprint); //johnfitz
|
||||
|
@ -1186,9 +1186,10 @@ The typing input line at the bottom should only be drawn if typing is allowed
|
|||
*/
|
||||
void Con_DrawConsole(int32_t lines, bool drawinput)
|
||||
{
|
||||
static char const ver[] = ENGINE_NAME " " VERSION;
|
||||
|
||||
int32_t i, x, y, j, sb, rows;
|
||||
const char *text;
|
||||
char ver[32];
|
||||
|
||||
if(lines <= 0)
|
||||
return;
|
||||
|
@ -1231,9 +1232,8 @@ void Con_DrawConsole(int32_t lines, bool drawinput)
|
|||
|
||||
//draw version number in bottom right
|
||||
y += 8;
|
||||
q_snprintf(ver, sizeof(ver), "QuakeSpasm " QUAKESPASM_VERSION);
|
||||
for(x = 0; x < (int32_t)strlen(ver); x++)
|
||||
Draw_Character((con_linewidth - strlen(ver) + x + 2) << 3, y, ver[x] /*+ 128*/);
|
||||
for(x = 0; x < (int32_t)strsizeof(ver); x++)
|
||||
Draw_Character((con_linewidth - strsizeof(ver) + x + 2) << 3, y, ver[x] /*+ 128*/);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __CONSOLE_H
|
||||
#define __CONSOLE_H
|
||||
#ifndef spingle__console_h
|
||||
#define spingle__console_h
|
||||
|
||||
//
|
||||
// console
|
||||
|
@ -65,5 +65,4 @@ void LOG_Init(quakeparms_t *parms);
|
|||
void LOG_Close(void);
|
||||
void Con_DebugLog(const char *msg);
|
||||
|
||||
#endif /* __CONSOLE_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
/* crc.c */
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "crc.h"
|
||||
|
||||
// this is a 16 bit, non-reflected CRC using the polynomial 0x1021
|
||||
|
|
|
@ -19,8 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_CRC_H
|
||||
#define _QUAKE_CRC_H
|
||||
#ifndef spingle__crc_h
|
||||
#define spingle__crc_h
|
||||
|
||||
/* crc.h */
|
||||
|
||||
|
@ -29,5 +29,4 @@ void CRC_ProcessByte(uint16_t *crcvalue, byte data);
|
|||
uint16_t CRC_Value(uint16_t crcvalue);
|
||||
uint16_t CRC_Block(const byte *start, int32_t count); //johnfitz -- texture crc
|
||||
|
||||
#endif /* _QUAKE_CRC_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// cvar.c -- dynamic variable tracking
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
static cvar_t *cvar_vars;
|
||||
static char cvar_null_string[] = "";
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __CVAR_H__
|
||||
#define __CVAR_H__
|
||||
#ifndef spingle__cvar_h
|
||||
#define spingle__cvar_h
|
||||
|
||||
/*
|
||||
cvar_t variables are used to hold scalar or string variables that can
|
||||
|
@ -139,5 +139,4 @@ const char *Cvar_CompleteVariable(const char *partial);
|
|||
// attempts to match a partial variable name for command line completion
|
||||
// returns NULL if nothing fits
|
||||
|
||||
#endif /* __CVAR_H__ */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_DRAW_H
|
||||
#define _QUAKE_DRAW_H
|
||||
#ifndef spingle__draw_h
|
||||
#define spingle__draw_h
|
||||
|
||||
// draw.h -- these are the only functions outside the refresh allowed
|
||||
// to touch the vid buffer
|
||||
|
@ -44,5 +44,4 @@ void Draw_NewGame(void);
|
|||
|
||||
void GL_SetCanvas(canvastype newcanvas); //johnfitz
|
||||
|
||||
#endif /* _QUAKE_DRAW_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -24,73 +24,26 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef FILENAMES_H
|
||||
#define FILENAMES_H
|
||||
#ifndef spingle__filenames_h
|
||||
#define spingle__filenames_h
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/* ---------------------- Windows, DOS, OS2: ---------------------- */
|
||||
#if defined(__MSDOS__) || defined(__DOS__) || defined(__DJGPP__) || \
|
||||
defined(_MSDOS) || defined(__OS2__) || defined(__EMX__) || \
|
||||
defined(_WIN32) || defined(_Windows) || defined(__WINDOWS__) || \
|
||||
defined(__NT__) || defined(__CYGWIN__)
|
||||
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
#define HAVE_DOS_BASED_FILE_SYSTEM 1
|
||||
#define HAVE_CASE_INSENSITIVE_FILE_SYSTEM 1
|
||||
|
||||
#define HAS_DRIVE_SPEC(f) ((f)[0] && ((f)[1] == ':'))
|
||||
#define STRIP_DRIVE_SPEC(f) ((f) + 2)
|
||||
#define IS_DIR_SEPARATOR(c) ((c) == '/' || (c) == '\\')
|
||||
/* both '/' and '\\' work as dir separator. djgpp likes changing
|
||||
* '\\' into '/', so I define DIR_SEPARATOR_CHAR as '/' for djgpp,
|
||||
* '\\' otherwise. */
|
||||
#ifdef __DJGPP__
|
||||
#define DIR_SEPARATOR_CHAR '/'
|
||||
#define DIR_SEPARATOR_STR "/"
|
||||
#else
|
||||
#define DIR_SEPARATOR_CHAR '\\'
|
||||
#define DIR_SEPARATOR_STR "\\"
|
||||
#endif
|
||||
/* Note that IS_ABSOLUTE_PATH accepts d:foo as well, although it is
|
||||
only semi-absolute. This is because the users of IS_ABSOLUTE_PATH
|
||||
want to know whether to prepend the current working directory to
|
||||
a file name, which should not be done with a name like d:foo. */
|
||||
#define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0]) || HAS_DRIVE_SPEC((f)))
|
||||
|
||||
#ifdef __cplusplus
|
||||
static inline char *FIND_FIRST_DIRSEP(char *_the_path)
|
||||
{
|
||||
char *p1 = strchr(_the_path, '/');
|
||||
char *p2 = strchr(_the_path, '\\');
|
||||
if(p1 == NULL) return p2;
|
||||
if(p2 == NULL) return p1;
|
||||
return (p1 < p2) ? p1 : p2;
|
||||
}
|
||||
static inline char *FIND_LAST_DIRSEP(char *_the_path)
|
||||
{
|
||||
char *p1 = strrchr(_the_path, '/');
|
||||
char *p2 = strrchr(_the_path, '\\');
|
||||
if(p1 == NULL) return p2;
|
||||
if(p2 == NULL) return p1;
|
||||
return (p1 > p2) ? p1 : p2;
|
||||
}
|
||||
static inline const char *FIND_FIRST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
const char *p1 = strchr(_the_path, '/');
|
||||
const char *p2 = strchr(_the_path, '\\');
|
||||
if(p1 == NULL) return p2;
|
||||
if(p2 == NULL) return p1;
|
||||
return (p1 < p2) ? p1 : p2;
|
||||
}
|
||||
static inline const char *FIND_LAST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
const char *p1 = strrchr(_the_path, '/');
|
||||
const char *p2 = strrchr(_the_path, '\\');
|
||||
if(p1 == NULL) return p2;
|
||||
if(p2 == NULL) return p1;
|
||||
return (p1 > p2) ? p1 : p2;
|
||||
}
|
||||
#else
|
||||
static inline char *FIND_FIRST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
char *p1 = strchr(_the_path, '/');
|
||||
|
@ -99,6 +52,7 @@ static inline char *FIND_FIRST_DIRSEP(const char *_the_path)
|
|||
if(p2 == NULL) return p1;
|
||||
return (p1 < p2) ? p1 : p2;
|
||||
}
|
||||
|
||||
static inline char *FIND_LAST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
char *p1 = strrchr(_the_path, '/');
|
||||
|
@ -107,64 +61,7 @@ static inline char *FIND_LAST_DIRSEP(const char *_the_path)
|
|||
if(p2 == NULL) return p1;
|
||||
return (p1 > p2) ? p1 : p2;
|
||||
}
|
||||
#endif /* C++ */
|
||||
|
||||
/* ----------------- AmigaOS, MorphOS, AROS, etc: ----------------- */
|
||||
#elif defined(__MORPHOS__) || defined(__AROS__) || defined(AMIGAOS) || \
|
||||
defined(__amigaos__) || defined(__amigaos4__) ||defined(__amigados__) || \
|
||||
defined(AMIGA) || defined(_AMIGA) || defined(__AMIGA__)
|
||||
|
||||
#define HAS_DRIVE_SPEC(f) (0) /* */
|
||||
#define STRIP_DRIVE_SPEC(f) (f) /* */
|
||||
#define IS_DIR_SEPARATOR(c) ((c) == '/' || (c) == ':')
|
||||
#define DIR_SEPARATOR_CHAR '/'
|
||||
#define DIR_SEPARATOR_STR "/"
|
||||
#define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0]) || (strchr((f), ':')))
|
||||
#define HAVE_CASE_INSENSITIVE_FILE_SYSTEM 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
static inline char *FIND_FIRST_DIRSEP(char *_the_path)
|
||||
{
|
||||
char *p = strchr(_the_path, ':');
|
||||
if(p != NULL) return p;
|
||||
return strchr(_the_path, '/');
|
||||
}
|
||||
static inline char *FIND_LAST_DIRSEP(char *_the_path)
|
||||
{
|
||||
char *p = strrchr(_the_path, '/');
|
||||
if(p != NULL) return p;
|
||||
return strchr(_the_path, ':');
|
||||
}
|
||||
static inline const char *FIND_FIRST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
const char *p = strchr(_the_path, ':');
|
||||
if(p != NULL) return p;
|
||||
return strchr(_the_path, '/');
|
||||
}
|
||||
static inline const char *FIND_LAST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
const char *p = strrchr(_the_path, '/');
|
||||
if(p != NULL) return p;
|
||||
return strchr(_the_path, ':');
|
||||
}
|
||||
#else
|
||||
static inline char *FIND_FIRST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
char *p = strchr(_the_path, ':');
|
||||
if(p != NULL) return p;
|
||||
return strchr(_the_path, '/');
|
||||
}
|
||||
static inline char *FIND_LAST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
char *p = strrchr(_the_path, '/');
|
||||
if(p != NULL) return p;
|
||||
return strchr(_the_path, ':');
|
||||
}
|
||||
#endif /* C++ */
|
||||
|
||||
/* ---------------------- assumed UNIX-ish : ---------------------- */
|
||||
#else /* */
|
||||
|
||||
#define IS_DIR_SEPARATOR(c) ((c) == '/')
|
||||
#define DIR_SEPARATOR_CHAR '/'
|
||||
#define DIR_SEPARATOR_STR "/"
|
||||
|
@ -172,34 +69,15 @@ static inline char *FIND_LAST_DIRSEP(const char *_the_path)
|
|||
#define HAS_DRIVE_SPEC(f) (0)
|
||||
#define STRIP_DRIVE_SPEC(f) (f)
|
||||
|
||||
#ifdef __cplusplus
|
||||
static inline char *FIND_FIRST_DIRSEP(char *_the_path)
|
||||
{
|
||||
return strchr(_the_path, '/');
|
||||
}
|
||||
static inline char *FIND_LAST_DIRSEP(char *_the_path)
|
||||
{
|
||||
return strrchr(_the_path, '/');
|
||||
}
|
||||
static inline const char *FIND_FIRST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
return strchr(_the_path, '/');
|
||||
}
|
||||
static inline const char *FIND_LAST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
return strrchr(_the_path, '/');
|
||||
}
|
||||
#else
|
||||
static inline char *FIND_FIRST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
return strchr(_the_path, '/');
|
||||
}
|
||||
|
||||
static inline char *FIND_LAST_DIRSEP(const char *_the_path)
|
||||
{
|
||||
return strrchr(_the_path, '/');
|
||||
}
|
||||
#endif /* C++ */
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* FILENAMES_H */
|
||||
#endif
|
||||
|
|
|
@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
// draw.c -- 2d drawing
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
//extern uint8_t d_15to8table[65536]; //johnfitz -- never used
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
//gl_fog.c -- global and volumetric fog
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
//==============================================================================
|
||||
//
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// gl_mesh.c: triangle model functions
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
// models are the only shared resource between a client and server running
|
||||
// on the same machine.
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
qmodel_t *loadmodel;
|
||||
char loadname[32]; // for hunk tags
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __MODEL__
|
||||
#define __MODEL__
|
||||
#ifndef spingle__gl_model_h
|
||||
#define spingle__gl_model_h
|
||||
|
||||
#include "modelgen.h"
|
||||
#include "spritegn.h"
|
||||
|
@ -519,4 +519,4 @@ byte *Mod_NoVisPVS(qmodel_t *model);
|
|||
|
||||
void Mod_SetExtraFlags(qmodel_t *mod);
|
||||
|
||||
#endif // __MODEL__
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// r_efrag.c
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
mnode_t *r_pefragtopnode;
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// r_light.c
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
int32_t r_dlightframecount;
|
||||
|
||||
|
@ -108,7 +108,7 @@ void R_RenderDlight(dlight_t *light)
|
|||
glColor3f(0, 0, 0);
|
||||
for(i = 16 ; i >= 0 ; i--)
|
||||
{
|
||||
a = i / 16.0 * M_PI * 2;
|
||||
a = i / 16.0 * PI * 2;
|
||||
for(j = 0 ; j < 3 ; j++)
|
||||
v[j] = light->origin[j] + vright[j] * cos(a) * rad
|
||||
+ vup[j] * sin(a) * rad;
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// r_main.c
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
bool r_cache_thrash; // compatability
|
||||
|
||||
|
@ -414,7 +414,7 @@ assumes side and forward are perpendicular, and normalized
|
|||
to turn away from side, use a negative angle
|
||||
===============
|
||||
*/
|
||||
#define DEG2RAD( a ) ( (a) * M_PI_DIV_180 )
|
||||
#define DEG2RAD( a ) ( (a) * PI_DIV_180 )
|
||||
void TurnVector(vec3_t out, const vec3_t forward, const vec3_t side, float angle)
|
||||
{
|
||||
float scale_forward, scale_side;
|
||||
|
@ -462,8 +462,8 @@ float frustum_skew = 0.0; //used by r_stereo
|
|||
void GL_SetFrustum(float fovx, float fovy)
|
||||
{
|
||||
float xmax, ymax;
|
||||
xmax = NEARCLIP * tan(fovx * M_PI / 360.0);
|
||||
ymax = NEARCLIP * tan(fovy * M_PI / 360.0);
|
||||
xmax = NEARCLIP * tan(fovx * PI / 360.0);
|
||||
ymax = NEARCLIP * tan(fovy * PI / 360.0);
|
||||
glFrustum(-xmax + frustum_skew, xmax + frustum_skew, -ymax, ymax, NEARCLIP, gl_farclip.value);
|
||||
}
|
||||
|
||||
|
@ -575,8 +575,8 @@ void R_SetupView(void)
|
|||
if(contents == CONTENTS_WATER || contents == CONTENTS_SLIME || contents == CONTENTS_LAVA)
|
||||
{
|
||||
//variance is a percentage of width, where width = 2 * tan(fov / 2) otherwise the effect is too dramatic at high FOV and too subtle at low FOV. what a mess!
|
||||
r_fovx = atan(tan(DEG2RAD(r_refdef.fov_x) / 2) * (0.97 + sin(cl.time * 1.5) * 0.03)) * 2 / M_PI_DIV_180;
|
||||
r_fovy = atan(tan(DEG2RAD(r_refdef.fov_y) / 2) * (1.03 - sin(cl.time * 1.5) * 0.03)) * 2 / M_PI_DIV_180;
|
||||
r_fovx = atan(tan(DEG2RAD(r_refdef.fov_x) / 2) * (0.97 + sin(cl.time * 1.5) * 0.03)) * 2 / PI_DIV_180;
|
||||
r_fovy = atan(tan(DEG2RAD(r_refdef.fov_y) / 2) * (1.03 - sin(cl.time * 1.5) * 0.03)) * 2 / PI_DIV_180;
|
||||
}
|
||||
}
|
||||
//johnfitz
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// r_misc.c
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
//johnfitz -- new cvars
|
||||
extern cvar_t r_stereo;
|
||||
|
|
|
@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
// screen.c -- master for refresh, status bar, console, chat, notify, etc
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
/*
|
||||
|
||||
|
@ -249,8 +249,8 @@ float AdaptFovx(float fov_x, float width, float height)
|
|||
return fov_x;
|
||||
if((x = height / width) == 0.75)
|
||||
return fov_x;
|
||||
a = atan(0.75 / x * tan(fov_x / 360 * M_PI));
|
||||
a = a * 360 / M_PI;
|
||||
a = atan(0.75 / x * tan(fov_x / 360 * PI));
|
||||
a = a * 360 / PI;
|
||||
return a;
|
||||
}
|
||||
|
||||
|
@ -266,9 +266,9 @@ float CalcFovy(float fov_x, float width, float height)
|
|||
if(fov_x < 1 || fov_x > 179)
|
||||
Sys_Error("Bad fov: %f", fov_x);
|
||||
|
||||
x = width / tan(fov_x / 360 * M_PI);
|
||||
x = width / tan(fov_x / 360 * PI);
|
||||
a = atan(height / x);
|
||||
a = a * 360 / M_PI;
|
||||
a = a * 360 / PI;
|
||||
return a;
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
//gl_sky.c
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
#define MAX_CLIP_VERTS 64
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
//gl_texmgr.c -- fitzquake's texture manager. manages opengl texture images
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
const int32_t gl_solid_format = 3;
|
||||
const int32_t gl_alpha_format = 4;
|
||||
|
|
|
@ -19,8 +19,8 @@ along with this program; if not, write to the Free Software
|
|||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef _GL_TEXMAN_H
|
||||
#define _GL_TEXMAN_H
|
||||
#ifndef spingle__gl_texmgr_h
|
||||
#define spingle__gl_texmgr_h
|
||||
|
||||
//gl_texmgr.h -- fitzquake's texture manager. manages opengl texture images
|
||||
|
||||
|
@ -107,5 +107,4 @@ void GL_EnableMultitexture(void); //selects texture unit 1
|
|||
void GL_Bind(gltexture_t *texture);
|
||||
void GL_ClearBindings(void);
|
||||
|
||||
#endif /* _GL_TEXMAN_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,14 +22,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// gl_vidsdl.c -- SDL GL vid component
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "cfgfile.h"
|
||||
#include "bgmusic.h"
|
||||
#include "resource.h"
|
||||
#include <SDL.h>
|
||||
|
||||
//ericw -- for putting the driver into multithreaded mode
|
||||
#ifdef __APPLE__
|
||||
#if PLATFORM_IS(OSX)
|
||||
#include <OpenGL/OpenGL.h>
|
||||
#endif
|
||||
|
||||
|
@ -279,8 +278,10 @@ static void VID_Gamma_Init(void)
|
|||
gammaworks = (SDL_SetWindowBrightness(draw_context, 1) == 0);
|
||||
# endif
|
||||
|
||||
#if defined(DEBUG)
|
||||
if(!gammaworks)
|
||||
Con_SafePrintf("gamma adjustment not available\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -476,9 +477,10 @@ VID_SetMode
|
|||
*/
|
||||
static bool VID_SetMode(int32_t width, int32_t height, int32_t refreshrate, int32_t bpp, bool fullscreen)
|
||||
{
|
||||
static char const caption[] = ENGINE_NAME " " VERSION;
|
||||
|
||||
int32_t temp;
|
||||
Uint32 flags;
|
||||
char caption[50];
|
||||
int32_t depthbits, stencilbits;
|
||||
int32_t fsaa_obtained;
|
||||
int32_t previous_display;
|
||||
|
@ -507,8 +509,6 @@ static bool VID_SetMode(int32_t width, int32_t height, int32_t refreshrate, int3
|
|||
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, fsaa > 0 ? 1 : 0);
|
||||
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, fsaa);
|
||||
|
||||
q_snprintf(caption, sizeof(caption), "QuakeSpasm " QUAKESPASM_VERSION);
|
||||
|
||||
/* Create the window if needed, hidden */
|
||||
if(!draw_context)
|
||||
{
|
||||
|
@ -818,6 +818,14 @@ static char *GL_MakeNiceExtensionsList(const char *in)
|
|||
return out;
|
||||
}
|
||||
|
||||
static void GL_ShowBriefInfo(void)
|
||||
{
|
||||
Con_SafePrintf("GL Vendor : %s\n", gl_vendor);
|
||||
Con_SafePrintf("GL Renderer: %s\n", gl_renderer);
|
||||
Con_SafePrintf("GL Version : %s\n", gl_version);
|
||||
Con_SafePrintf("GL TexUnits: %" PRIi32 "\n", (int32_t)gl_max_texture_units);
|
||||
}
|
||||
|
||||
/*
|
||||
===============
|
||||
GL_Info_f -- johnfitz
|
||||
|
@ -825,9 +833,7 @@ GL_Info_f -- johnfitz
|
|||
*/
|
||||
static void GL_Info_f(void)
|
||||
{
|
||||
Con_SafePrintf("GL_VENDOR: %s\n", gl_vendor);
|
||||
Con_SafePrintf("GL_RENDERER: %s\n", gl_renderer);
|
||||
Con_SafePrintf("GL_VERSION: %s\n", gl_version);
|
||||
GL_ShowBriefInfo();
|
||||
Con_Printf("GL_EXTENSIONS: %s\n", gl_extensions_nice);
|
||||
}
|
||||
|
||||
|
@ -880,13 +886,17 @@ static void GL_CheckExtensions(void)
|
|||
GL_GenBuffersFunc = (PFNGLGENBUFFERSARBPROC) SDL_GL_GetProcAddress("glGenBuffersARB");
|
||||
if(GL_BindBufferFunc && GL_BufferDataFunc && GL_BufferSubDataFunc && GL_DeleteBuffersFunc && GL_GenBuffersFunc)
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: ARB_vertex_buffer_object\n");
|
||||
#endif
|
||||
gl_vbo_able = true;
|
||||
}
|
||||
#if defined(DEBUG)
|
||||
else
|
||||
{
|
||||
Con_Warning("ARB_vertex_buffer_object not available\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// multitexture
|
||||
|
@ -900,11 +910,12 @@ static void GL_CheckExtensions(void)
|
|||
GL_ClientActiveTextureFunc = (PFNGLCLIENTACTIVETEXTUREARBPROC) SDL_GL_GetProcAddress("glClientActiveTextureARB");
|
||||
if(GL_MTexCoord2fFunc && GL_SelectTextureFunc && GL_ClientActiveTextureFunc)
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: ARB_multitexture\n");
|
||||
#endif
|
||||
gl_mtexable = true;
|
||||
|
||||
glGetIntegerv(GL_MAX_TEXTURE_UNITS, &gl_max_texture_units);
|
||||
Con_Printf("GL_MAX_TEXTURE_UNITS: %" PRIi32 "\n", (int32_t)gl_max_texture_units);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -922,12 +933,16 @@ static void GL_CheckExtensions(void)
|
|||
Con_Warning("texture_env_combine disabled at command line\n");
|
||||
else if(GL_ParseExtensionList(gl_extensions, "GL_ARB_texture_env_combine"))
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: ARB_texture_env_combine\n");
|
||||
#endif
|
||||
gl_texture_env_combine = true;
|
||||
}
|
||||
else if(GL_ParseExtensionList(gl_extensions, "GL_EXT_texture_env_combine"))
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: EXT_texture_env_combine\n");
|
||||
#endif
|
||||
gl_texture_env_combine = true;
|
||||
}
|
||||
else
|
||||
|
@ -941,12 +956,16 @@ static void GL_CheckExtensions(void)
|
|||
Con_Warning("texture_env_add disabled at command line\n");
|
||||
else if(GL_ParseExtensionList(gl_extensions, "GL_ARB_texture_env_add"))
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: ARB_texture_env_add\n");
|
||||
#endif
|
||||
gl_texture_env_add = true;
|
||||
}
|
||||
else if(GL_ParseExtensionList(gl_extensions, "GL_EXT_texture_env_add"))
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: EXT_texture_env_add\n");
|
||||
#endif
|
||||
gl_texture_env_add = true;
|
||||
}
|
||||
else
|
||||
|
@ -972,7 +991,9 @@ static void GL_CheckExtensions(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: SDL_GL_SetSwapInterval\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
// anisotropic filtering
|
||||
|
@ -994,7 +1015,9 @@ static void GL_CheckExtensions(void)
|
|||
|
||||
if(test1 == 1 && test2 == 2)
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: EXT_texture_filter_anisotropic\n");
|
||||
#endif
|
||||
gl_anisotropy_able = true;
|
||||
}
|
||||
else
|
||||
|
@ -1023,7 +1046,9 @@ static void GL_CheckExtensions(void)
|
|||
Con_Warning("texture_non_power_of_two disabled at command line\n");
|
||||
else if(GL_ParseExtensionList(gl_extensions, "GL_ARB_texture_non_power_of_two"))
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: ARB_texture_non_power_of_two\n");
|
||||
#endif
|
||||
gl_texture_NPOT = true;
|
||||
}
|
||||
else
|
||||
|
@ -1085,18 +1110,24 @@ static void GL_CheckExtensions(void)
|
|||
GL_Uniform3fFunc &&
|
||||
GL_Uniform4fFunc)
|
||||
{
|
||||
#if defined(DEBUG)
|
||||
Con_Printf("FOUND: GLSL\n");
|
||||
#endif
|
||||
gl_glsl_able = true;
|
||||
}
|
||||
#if defined(DEBUG)
|
||||
else
|
||||
{
|
||||
Con_Warning("GLSL not available\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#if defined(DEBUG)
|
||||
else
|
||||
{
|
||||
Con_Warning("OpenGL version < 2, GLSL not available\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
// GLSL gamma
|
||||
//
|
||||
|
@ -1106,10 +1137,12 @@ static void GL_CheckExtensions(void)
|
|||
{
|
||||
gl_glsl_gamma_able = true;
|
||||
}
|
||||
#if defined(DEBUG)
|
||||
else
|
||||
{
|
||||
Con_Warning("GLSL gamma not available, using hardware gamma\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
// GLSL alias model rendering
|
||||
//
|
||||
|
@ -1119,10 +1152,12 @@ static void GL_CheckExtensions(void)
|
|||
{
|
||||
gl_glsl_alias_able = true;
|
||||
}
|
||||
#if defined(DEBUG)
|
||||
else
|
||||
{
|
||||
Con_Warning("GLSL alias model rendering not available, using Fitz renderer\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1165,10 +1200,6 @@ static void GL_Init(void)
|
|||
gl_version = (const char *) glGetString(GL_VERSION);
|
||||
gl_extensions = (const char *) glGetString(GL_EXTENSIONS);
|
||||
|
||||
Con_SafePrintf("GL_VENDOR: %s\n", gl_vendor);
|
||||
Con_SafePrintf("GL_RENDERER: %s\n", gl_renderer);
|
||||
Con_SafePrintf("GL_VERSION: %s\n", gl_version);
|
||||
|
||||
if(gl_version == NULL || sscanf(gl_version, "%" PRIi32 ".%" PRIi32 "", &gl_version_major, &gl_version_minor) < 2)
|
||||
{
|
||||
gl_version_major = 0;
|
||||
|
@ -1181,11 +1212,12 @@ static void GL_Init(void)
|
|||
|
||||
GL_CheckExtensions(); //johnfitz
|
||||
|
||||
#ifdef __APPLE__
|
||||
GL_ShowBriefInfo();
|
||||
|
||||
#if PLATFORM_IS(OSX)
|
||||
// ericw -- enable multi-threaded OpenGL, gives a decent FPS boost.
|
||||
// https://developer.apple.com/library/mac/technotes/tn2085/
|
||||
if(host_parms->numcpus > 1 &&
|
||||
kCGLNoError != CGLEnable(CGLGetCurrentContext(), kCGLCEMPEngine))
|
||||
if(host_parms->numcpus > 1 && kCGLNoError != CGLEnable(CGLGetCurrentContext(), kCGLCEMPEngine))
|
||||
{
|
||||
Con_Warning("Couldn't enable multi-threaded OpenGL");
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
//gl_warp.c -- warping animation support
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
extern cvar_t r_drawflat;
|
||||
|
||||
|
@ -36,8 +36,8 @@ float turbsin[] =
|
|||
#include "gl_warp_sin.h"
|
||||
};
|
||||
|
||||
#define WARPCALC(s,t) ((s + turbsin[(int32_t)((t*2)+(cl.time*(128.0/M_PI))) & 255]) * (1.0/64)) //johnfitz -- correct warp
|
||||
#define WARPCALC2(s,t) ((s + turbsin[(int32_t)((t*0.125+cl.time)*(128.0/M_PI)) & 255]) * (1.0/64)) //johnfitz -- old warp
|
||||
#define WARPCALC(s,t) ((s + turbsin[(int32_t)((t*2)+(cl.time*(128.0/PI))) & 255]) * (1.0/64)) //johnfitz -- correct warp
|
||||
#define WARPCALC2(s,t) ((s + turbsin[(int32_t)((t*0.125+cl.time)*(128.0/PI)) & 255]) * (1.0/64)) //johnfitz -- old warp
|
||||
|
||||
//==============================================================================
|
||||
//
|
||||
|
|
|
@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __GLQUAKE_H
|
||||
#define __GLQUAKE_H
|
||||
#ifndef spingle__glquake_h
|
||||
#define spingle__glquake_h
|
||||
|
||||
void GL_BeginRendering(int32_t *x, int32_t *y, int32_t *width, int32_t *height);
|
||||
void GL_EndRendering(void);
|
||||
|
@ -376,5 +376,4 @@ void R_ScaleView_DeleteTexture(void);
|
|||
|
||||
float GL_WaterAlphaForSurface(msurface_t *fa);
|
||||
|
||||
#endif /* __GLQUAKE_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// host.c -- coordinates spawning and killing of local servers
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "bgmusic.h"
|
||||
#include <setjmp.h>
|
||||
|
||||
|
@ -225,11 +225,15 @@ void Host_FindMaxClients(void)
|
|||
Cvar_SetQuick(&deathmatch, "0");
|
||||
}
|
||||
|
||||
static void PrintExeTime(void)
|
||||
{
|
||||
Con_Printf("Compiled on " __DATE__ " " __TIME__ "\n");
|
||||
}
|
||||
|
||||
void Host_Version_f(void)
|
||||
{
|
||||
Con_Printf("Quake Version %s\n", VERSION);
|
||||
Con_Printf("QuakeSpasm Version " QUAKESPASM_VERSION "\n");
|
||||
Con_Printf("Exe: " __TIME__ " " __DATE__ "\n");
|
||||
Con_Printf(ENGINE_NAME " Version " VERSION "\n");
|
||||
PrintExeTime();
|
||||
}
|
||||
|
||||
/* cvar callback functions : */
|
||||
|
@ -836,7 +840,7 @@ void Host_Init(void)
|
|||
NET_Init();
|
||||
SV_Init();
|
||||
|
||||
Con_Printf("Exe: " __TIME__ " " __DATE__ "\n");
|
||||
PrintExeTime();
|
||||
Con_Printf("%4.1f megabyte heap\n", host_parms->memsize / (1024 * 1024.0));
|
||||
|
||||
if(cls.state != ca_dedicated)
|
||||
|
|
|
@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#ifndef _WIN32
|
||||
#include "q_defs.h"
|
||||
#if !PLATFORM_IS(WINDOWS)
|
||||
#include <dirent.h>
|
||||
#endif
|
||||
|
||||
|
@ -116,7 +116,7 @@ void ExtraMaps_Add(const char *name)
|
|||
|
||||
void ExtraMaps_Init(void)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
WIN32_FIND_DATA fdat;
|
||||
HANDLE fhnd;
|
||||
#else
|
||||
|
@ -138,7 +138,7 @@ void ExtraMaps_Init(void)
|
|||
{
|
||||
if(*search->filename) //directory
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
q_snprintf(filestring, sizeof(filestring), "%s/maps/*.bsp", search->filename);
|
||||
fhnd = FindFirstFile(filestring, &fdat);
|
||||
if(fhnd == INVALID_HANDLE_VALUE)
|
||||
|
@ -228,7 +228,7 @@ void Modlist_Add(const char *name)
|
|||
FileList_Add(name, &modlist);
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
void Modlist_Init(void)
|
||||
{
|
||||
WIN32_FIND_DATA fdat;
|
||||
|
@ -308,7 +308,7 @@ void DemoList_Rebuild(void)
|
|||
// TODO: Factor out to a general-purpose file searching function
|
||||
void DemoList_Init(void)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
WIN32_FIND_DATA fdat;
|
||||
HANDLE fhnd;
|
||||
#else
|
||||
|
@ -330,7 +330,7 @@ void DemoList_Init(void)
|
|||
{
|
||||
if(*search->filename) //directory
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
q_snprintf(filestring, sizeof(filestring), "%s/*.dem", search->filename);
|
||||
fhnd = FindFirstFile(filestring, &fdat);
|
||||
if(fhnd == INVALID_HANDLE_VALUE)
|
||||
|
@ -428,8 +428,7 @@ Host_Status_f
|
|||
*/
|
||||
void Host_Status_f(void)
|
||||
{
|
||||
void (*print_fn)(const char *fmt, ...)
|
||||
FUNCP_PRINTF(1, 2);
|
||||
void (*print_fn)(const char *fmt, ...) FUNCP_PRINTF(1, 2);
|
||||
client_t *client;
|
||||
int32_t seconds;
|
||||
int32_t minutes;
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
//image.c -- image loading
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
#define STB_IMAGE_WRITE_IMPLEMENTATION
|
||||
#define STB_IMAGE_WRITE_STATIC
|
||||
|
@ -590,7 +590,7 @@ bool Image_WritePNG(const char *name, byte *data, int32_t width, int32_t height,
|
|||
|
||||
error = lodepng_encode(&png, &pngsize, flipped, width, height, &state);
|
||||
if(error == 0) lodepng_save_file(png, pngsize, pathname);
|
||||
#ifdef LODEPNG_COMPILE_ERROR_TEXT
|
||||
#if defined(LODEPNG_COMPILE_ERROR_TEXT)
|
||||
else Con_Printf("WritePNG: %s\n", lodepng_error_text());
|
||||
#endif
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef GL_IMAGE_H
|
||||
#define GL_IMAGE_H
|
||||
#ifndef spingle__image_h
|
||||
#define spingle__image_h
|
||||
|
||||
//image.h -- image reading / writing
|
||||
|
||||
|
@ -34,5 +34,4 @@ bool Image_WriteTGA(const char *name, byte *data, int32_t width, int32_t height,
|
|||
bool Image_WritePNG(const char *name, byte *data, int32_t width, int32_t height, int32_t bpp, bool upsidedown);
|
||||
bool Image_WriteJPG(const char *name, byte *data, int32_t width, int32_t height, int32_t bpp, int32_t quality, bool upsidedown);
|
||||
|
||||
#endif /* GL_IMAGE_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,19 +21,19 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include <SDL.h>
|
||||
|
||||
static bool textmode;
|
||||
|
||||
static cvar_t in_debugkeys = {"in_debugkeys", "0", CVAR_NONE};
|
||||
|
||||
#ifdef __APPLE__
|
||||
#if PLATFORM_IS(OSX)
|
||||
/* Mouse acceleration needs to be disabled on OS X */
|
||||
#define MACOS_X_ACCELERATION_HACK
|
||||
#endif
|
||||
|
||||
#ifdef MACOS_X_ACCELERATION_HACK
|
||||
#if defined(MACOS_X_ACCELERATION_HACK)
|
||||
#include <IOKit/IOTypes.h>
|
||||
#include <IOKit/hidsystem/IOHIDLib.h>
|
||||
#include <IOKit/hidsystem/IOHIDParameter.h>
|
||||
|
@ -105,7 +105,7 @@ static void IN_EndIgnoringMouseEvents(void)
|
|||
SDL_SetEventFilter(NULL, NULL);
|
||||
}
|
||||
|
||||
#ifdef MACOS_X_ACCELERATION_HACK
|
||||
#if defined(MACOS_X_ACCELERATION_HACK)
|
||||
static cvar_t in_disablemacosxmouseaccel = {"in_disablemacosxmouseaccel", "1", CVAR_ARCHIVE};
|
||||
static double originalMouseSpeed = -1.0;
|
||||
|
||||
|
@ -180,7 +180,7 @@ void IN_Activate(void)
|
|||
if(no_mouse)
|
||||
return;
|
||||
|
||||
#ifdef MACOS_X_ACCELERATION_HACK
|
||||
#if defined(MACOS_X_ACCELERATION_HACK)
|
||||
/* Save the status of mouse acceleration */
|
||||
if(originalMouseSpeed == -1 && in_disablemacosxmouseaccel.value)
|
||||
IN_DisableOSXMouseAccel();
|
||||
|
@ -202,7 +202,7 @@ void IN_Deactivate(bool free_cursor)
|
|||
if(no_mouse)
|
||||
return;
|
||||
|
||||
#ifdef MACOS_X_ACCELERATION_HACK
|
||||
#if defined(MACOS_X_ACCELERATION_HACK)
|
||||
if(originalMouseSpeed != -1)
|
||||
IN_ReenableOSXMouseAccel();
|
||||
#endif
|
||||
|
@ -256,7 +256,7 @@ void IN_StartupJoystick(void)
|
|||
gamecontroller = SDL_GameControllerOpen(i);
|
||||
if(gamecontroller)
|
||||
{
|
||||
Con_Printf("detected controller: %s\n", controllername != NULL ? controllername : "NULL");
|
||||
Con_Printf("Controller found: %s\n", controllername != NULL ? controllername : "NULL");
|
||||
|
||||
joy_active_instaceid = SDL_JoystickInstanceID(SDL_GameControllerGetJoystick(gamecontroller));
|
||||
joy_active_controller = gamecontroller;
|
||||
|
@ -294,7 +294,7 @@ void IN_Init(void)
|
|||
IN_BeginIgnoringMouseEvents();
|
||||
}
|
||||
|
||||
#ifdef MACOS_X_ACCELERATION_HACK
|
||||
#if defined(MACOS_X_ACCELERATION_HACK)
|
||||
Cvar_RegisterVariable(&in_disablemacosxmouseaccel);
|
||||
#endif
|
||||
Cvar_RegisterVariable(&in_debugkeys);
|
||||
|
@ -350,11 +350,6 @@ static joyaxisstate_t joy_axisstate;
|
|||
static double joy_buttontimer[SDL_CONTROLLER_BUTTON_MAX];
|
||||
static double joy_emulatedkeytimer[10];
|
||||
|
||||
#ifdef __WATCOMC__ /* OW1.9 doesn't have powf() / sqrtf() */
|
||||
#define powf pow
|
||||
#define sqrtf sqrt
|
||||
#endif
|
||||
|
||||
/*
|
||||
================
|
||||
IN_AxisMagnitude
|
||||
|
|
|
@ -19,8 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_INPUT_H
|
||||
#define _QUAKE_INPUT_H
|
||||
#ifndef spingle__input_h
|
||||
#define spingle__input_h
|
||||
|
||||
// input.h -- external (non-keyboard) input devices
|
||||
|
||||
|
@ -53,5 +53,4 @@ void IN_Activate();
|
|||
// called when the app becomes inactive
|
||||
void IN_Deactivate(bool free_cursor);
|
||||
|
||||
#endif /* _QUAKE_INPUT_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,8 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "arch_def.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
/* key up events are sent even if in console mode */
|
||||
|
||||
|
@ -418,7 +417,7 @@ void Key_Console(int32_t key)
|
|||
|
||||
case 'v':
|
||||
case 'V':
|
||||
#if defined(PLATFORM_OSX) || defined(PLATFORM_MAC)
|
||||
#if PLATFORM_IS(OSX)
|
||||
if(keydown[K_COMMAND]) /* Cmd+v paste (Mac-only) */
|
||||
{
|
||||
PasteToConsole();
|
||||
|
@ -869,7 +868,7 @@ void Key_Init(void)
|
|||
consolekeys[K_KP_ENTER] = true;
|
||||
consolekeys[K_KP_INS] = true;
|
||||
consolekeys[K_KP_DEL] = true;
|
||||
#if defined(PLATFORM_OSX) || defined(PLATFORM_MAC)
|
||||
#if PLATFORM_IS(OSX)
|
||||
consolekeys[K_COMMAND] = true;
|
||||
#endif
|
||||
consolekeys[K_MWHEELUP] = true;
|
||||
|
@ -1097,7 +1096,7 @@ void Char_Event(int32_t key)
|
|||
if(key < 32 || key > 126)
|
||||
return;
|
||||
|
||||
#if defined(PLATFORM_OSX) || defined(PLATFORM_MAC)
|
||||
#if PLATFORM_IS(OSX)
|
||||
if(keydown[K_COMMAND])
|
||||
return;
|
||||
#endif
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_KEYS_H
|
||||
#define _QUAKE_KEYS_H
|
||||
#ifndef spingle__keys_h
|
||||
#define spingle__keys_h
|
||||
|
||||
//
|
||||
// these are the key numbers that should be passed to Key_Event
|
||||
|
@ -196,5 +196,4 @@ int32_t Key_GetChatMsgLen(void);
|
|||
void History_Init(void);
|
||||
void History_Shutdown(void);
|
||||
|
||||
#endif /* _QUAKE_KEYS_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include <SDL.h>
|
||||
|
||||
static const Uint8 bmp_bytes[] =
|
||||
|
|
344
source/lodepng.c
344
source/lodepng.c
|
@ -59,7 +59,7 @@ define them in your own project's source files without needing to change
|
|||
lodepng source code. Don't forget to remove "static" if you copypaste them
|
||||
from here.*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ALLOCATORS
|
||||
#if defined(LODEPNG_COMPILE_ALLOCATORS)
|
||||
static void* lodepng_malloc(size_t size)
|
||||
{
|
||||
return malloc(size);
|
||||
|
@ -132,7 +132,7 @@ About uivector, ucvector and string:
|
|||
-As with many other structs in this file, the init and cleanup functions serve as ctor and dtor.
|
||||
*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ZLIB
|
||||
#if defined(LODEPNG_COMPILE_ZLIB)
|
||||
/*dynamic vector of unsigned ints*/
|
||||
typedef struct uivector
|
||||
{
|
||||
|
@ -188,7 +188,7 @@ static void uivector_init(uivector* p)
|
|||
p->size = p->allocsize = 0;
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
/*returns 1 if success, 0 if failure ==> nothing done*/
|
||||
static unsigned uivector_push_back(uivector* p, unsigned c)
|
||||
{
|
||||
|
@ -234,7 +234,7 @@ static unsigned ucvector_resize(ucvector* p, size_t size)
|
|||
return 1; /*success*/
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_PNG
|
||||
#if defined(LODEPNG_COMPILE_PNG)
|
||||
|
||||
static void ucvector_cleanup(void* p)
|
||||
{
|
||||
|
@ -250,7 +250,7 @@ static void ucvector_init(ucvector* p)
|
|||
}
|
||||
#endif /*LODEPNG_COMPILE_PNG*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ZLIB
|
||||
#if defined(LODEPNG_COMPILE_ZLIB)
|
||||
/*you can both convert from vector to buffer&size and vica versa. If you use
|
||||
init_buffer to take over a buffer and size, it is not needed to use cleanup*/
|
||||
static void ucvector_init_buffer(ucvector* p, uint8_t* buffer, size_t size)
|
||||
|
@ -273,8 +273,8 @@ static unsigned ucvector_push_back(ucvector* p, uint8_t c)
|
|||
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_PNG
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_PNG)
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
/*returns 1 if success, 0 if failure ==> nothing done*/
|
||||
static unsigned string_resize(char** out, size_t size)
|
||||
{
|
||||
|
@ -333,7 +333,7 @@ static void lodepng_set32bitInt(uint8_t* buffer, unsigned value)
|
|||
}
|
||||
#endif /*defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER)*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
static void lodepng_add32bitInt(ucvector* buffer, unsigned value)
|
||||
{
|
||||
ucvector_resize(buffer, buffer->size + 4); /*todo: give error if resize failed*/
|
||||
|
@ -345,7 +345,7 @@ static void lodepng_add32bitInt(ucvector* buffer, unsigned value)
|
|||
/* / File IO / */
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
#if defined(LODEPNG_COMPILE_DISK)
|
||||
|
||||
/* returns negative value on error. This should be pure C compatible, so no fstat. */
|
||||
static long lodepng_filesize(const char* filename)
|
||||
|
@ -415,8 +415,8 @@ unsigned lodepng_save_file(const uint8_t* buffer, size_t buffersize, const char*
|
|||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ZLIB
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ZLIB)
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
/*TODO: this ignores potential out of memory errors*/
|
||||
#define addBitToStream(/*size_t**/ bitpointer, /*ucvector**/ bitstream, /*uint8_t*/ bit)\
|
||||
{\
|
||||
|
@ -440,7 +440,7 @@ static void addBitsToStreamReversed(size_t* bitpointer, ucvector* bitstream, uns
|
|||
}
|
||||
#endif /*LODEPNG_COMPILE_ENCODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
|
||||
#define READBIT(bitpointer, bitstream) ((bitstream[bitpointer >> 3] >> (bitpointer & 0x7)) & (uint8_t)1)
|
||||
|
||||
|
@ -669,7 +669,7 @@ static unsigned HuffmanTree_makeFromLengths(HuffmanTree* tree, const unsigned* b
|
|||
return HuffmanTree_makeFromLengths2(tree);
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
|
||||
/*BPM: Boundary Package Merge, see "A Fast and Space-Economical Algorithm for Length-Limited Coding",
|
||||
Jyrki Katajainen, Alistair Moffat, Andrew Turpin, 1995.*/
|
||||
|
@ -942,7 +942,7 @@ static unsigned generateFixedDistanceTree(HuffmanTree* tree)
|
|||
return error;
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
|
||||
/*
|
||||
returns the code, or (unsigned)(-1) if error happened
|
||||
|
@ -969,7 +969,7 @@ static unsigned huffmanDecodeSymbol(const uint8_t* in, size_t* bp,
|
|||
}
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* / Inflator (Decompressor) / */
|
||||
|
@ -1318,7 +1318,7 @@ static unsigned inflate(uint8_t** out, size_t* outsize,
|
|||
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* / Deflator (Compressor) / */
|
||||
|
@ -2135,7 +2135,7 @@ static unsigned adler32(const uint8_t* data, unsigned len)
|
|||
/* / Zlib / */
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
|
||||
unsigned lodepng_zlib_decompress(uint8_t** out, size_t* outsize, const uint8_t* in,
|
||||
size_t insize, const LodePNGDecompressSettings* settings)
|
||||
|
@ -2197,7 +2197,7 @@ static unsigned zlib_decompress(uint8_t** out, size_t* outsize, const uint8_t* i
|
|||
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
|
||||
unsigned lodepng_zlib_compress(uint8_t** out, size_t* outsize, const uint8_t* in,
|
||||
size_t insize, const LodePNGCompressSettings* settings)
|
||||
|
@ -2258,7 +2258,7 @@ static unsigned zlib_compress(uint8_t** out, size_t* outsize, const uint8_t* in,
|
|||
|
||||
#else /*no LODEPNG_COMPILE_ZLIB*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
static unsigned zlib_decompress(uint8_t** out, size_t* outsize, const uint8_t* in,
|
||||
size_t insize, const LodePNGDecompressSettings* settings)
|
||||
{
|
||||
|
@ -2266,7 +2266,7 @@ static unsigned zlib_decompress(uint8_t** out, size_t* outsize, const uint8_t* i
|
|||
return settings->custom_zlib(out, outsize, in, insize, settings);
|
||||
}
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
static unsigned zlib_compress(uint8_t** out, size_t* outsize, const uint8_t* in,
|
||||
size_t insize, const LodePNGCompressSettings* settings)
|
||||
{
|
||||
|
@ -2279,7 +2279,7 @@ static unsigned zlib_compress(uint8_t** out, size_t* outsize, const uint8_t* in,
|
|||
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
|
||||
/*this is a good tradeoff between speed and compression ratio*/
|
||||
#define DEFAULT_WINDOWSIZE 2048
|
||||
|
@ -2304,7 +2304,7 @@ const LodePNGCompressSettings lodepng_default_compress_settings = {2, 1, DEFAULT
|
|||
|
||||
#endif /*LODEPNG_COMPILE_ENCODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
|
||||
void lodepng_decompress_settings_init(LodePNGDecompressSettings* settings)
|
||||
{
|
||||
|
@ -2325,14 +2325,14 @@ const LodePNGDecompressSettings lodepng_default_decompress_settings = {0, 0, 0,
|
|||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_PNG
|
||||
#if defined(LODEPNG_COMPILE_PNG)
|
||||
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* / CRC32 / */
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
|
||||
|
||||
#ifndef LODEPNG_NO_COMPILE_CRC
|
||||
#if !defined(LODEPNG_NO_COMPILE_CRC)
|
||||
/* CRC polynomial: 0xedb88320 */
|
||||
static unsigned lodepng_crc32_table[256] =
|
||||
{
|
||||
|
@ -2408,7 +2408,7 @@ static unsigned readBitsFromReversedStream(size_t* bitpointer, const uint8_t* bi
|
|||
return result;
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
static void setBitOfReversedStream0(size_t* bitpointer, uint8_t* bitstream, uint8_t bit)
|
||||
{
|
||||
/*the current bit in bitstream must be 0 for this to work*/
|
||||
|
@ -2740,8 +2740,8 @@ size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode* colo
|
|||
}
|
||||
|
||||
|
||||
#ifdef LODEPNG_COMPILE_PNG
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_PNG)
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
/*in an idat chunk, each scanline is a multiple of 8 bits, unlike the lodepng output buffer*/
|
||||
static size_t lodepng_get_raw_size_idat(unsigned w, unsigned h, const LodePNGColorMode* color)
|
||||
{
|
||||
|
@ -2753,7 +2753,7 @@ static size_t lodepng_get_raw_size_idat(unsigned w, unsigned h, const LodePNGCol
|
|||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
#endif /*LODEPNG_COMPILE_PNG*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
|
||||
static void LodePNGUnknownChunks_init(LodePNGInfo* info)
|
||||
{
|
||||
|
@ -2944,7 +2944,7 @@ void lodepng_info_init(LodePNGInfo* info)
|
|||
info->interlace_method = 0;
|
||||
info->compression_method = 0;
|
||||
info->filter_method = 0;
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
info->background_defined = 0;
|
||||
info->background_r = info->background_g = info->background_b = 0;
|
||||
|
||||
|
@ -2961,7 +2961,7 @@ void lodepng_info_init(LodePNGInfo* info)
|
|||
void lodepng_info_cleanup(LodePNGInfo* info)
|
||||
{
|
||||
lodepng_color_mode_cleanup(&info->color);
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
LodePNGText_cleanup(info);
|
||||
LodePNGIText_cleanup(info);
|
||||
|
||||
|
@ -2976,7 +2976,7 @@ unsigned lodepng_info_copy(LodePNGInfo* dest, const LodePNGInfo* source)
|
|||
lodepng_color_mode_init(&dest->color);
|
||||
CERROR_TRY_RETURN(lodepng_color_mode_copy(&dest->color, &source->color));
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
CERROR_TRY_RETURN(LodePNGText_copy(dest, source));
|
||||
CERROR_TRY_RETURN(LodePNGIText_copy(dest, source));
|
||||
|
||||
|
@ -3047,7 +3047,7 @@ static int32_t color_tree_get(ColorTree* tree, uint8_t r, uint8_t g, uint8_t b,
|
|||
return tree ? tree->index : -1;
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
static int32_t color_tree_has(ColorTree* tree, uint8_t r, uint8_t g, uint8_t b, uint8_t a)
|
||||
{
|
||||
return color_tree_get(tree, r, g, b, a) >= 0;
|
||||
|
@ -3552,7 +3552,7 @@ unsigned lodepng_convert(uint8_t* out, const uint8_t* in,
|
|||
return error;
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
|
||||
void lodepng_color_profile_init(LodePNGColorProfile* profile)
|
||||
{
|
||||
|
@ -3849,7 +3849,7 @@ unsigned lodepng_auto_choose_color(LodePNGColorMode* mode_out,
|
|||
return error;
|
||||
}
|
||||
|
||||
#endif /* #ifdef LODEPNG_COMPILE_ENCODER */
|
||||
#endif /* #if defined(LODEPNG_COMPILE_ENCODER) */
|
||||
|
||||
/*
|
||||
Paeth predicter, used by PNG filter type 4
|
||||
|
@ -3917,7 +3917,7 @@ static void Adam7_getpassvalues(unsigned passw[7], unsigned passh[7], size_t fil
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* / PNG Decoder / */
|
||||
|
@ -4296,7 +4296,7 @@ static unsigned readChunk_tRNS(LodePNGColorMode* color, const uint8_t* data, siz
|
|||
}
|
||||
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
/*background color chunk (bKGD)*/
|
||||
static unsigned readChunk_bKGD(LodePNGInfo* info, const uint8_t* data, size_t chunkLength)
|
||||
{
|
||||
|
@ -4560,7 +4560,7 @@ static void decodeGeneric(uint8_t** out, unsigned* w, unsigned* h,
|
|||
|
||||
/*for unknown chunk order*/
|
||||
unsigned unknown = 0;
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
unsigned critical_pos = 1; /*1 = after IHDR, 2 = after PLTE, 3 = after IDAT*/
|
||||
#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/
|
||||
|
||||
|
@ -4617,7 +4617,7 @@ static void decodeGeneric(uint8_t** out, unsigned* w, unsigned* h,
|
|||
size_t oldsize = idat.size;
|
||||
if(!ucvector_resize(&idat, oldsize + chunkLength)) CERROR_BREAK(state->error, 83 /*alloc fail*/);
|
||||
for(i = 0; i != chunkLength; ++i) idat.data[oldsize + i] = data[i];
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
critical_pos = 3;
|
||||
#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/
|
||||
}
|
||||
|
@ -4631,7 +4631,7 @@ static void decodeGeneric(uint8_t** out, unsigned* w, unsigned* h,
|
|||
{
|
||||
state->error = readChunk_PLTE(&state->info_png.color, data, chunkLength);
|
||||
if(state->error) break;
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
critical_pos = 2;
|
||||
#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/
|
||||
}
|
||||
|
@ -4641,7 +4641,7 @@ static void decodeGeneric(uint8_t** out, unsigned* w, unsigned* h,
|
|||
state->error = readChunk_tRNS(&state->info_png.color, data, chunkLength);
|
||||
if(state->error) break;
|
||||
}
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
/*background color chunk (bKGD)*/
|
||||
else if(lodepng_chunk_type_equals(chunk, "bKGD"))
|
||||
{
|
||||
|
@ -4695,7 +4695,7 @@ static void decodeGeneric(uint8_t** out, unsigned* w, unsigned* h,
|
|||
}
|
||||
|
||||
unknown = 1;
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
if(state->decoder.remember_unknown_chunks)
|
||||
{
|
||||
state->error = lodepng_chunk_append(&state->info_png.unknown_chunks_data[critical_pos - 1],
|
||||
|
@ -4825,7 +4825,7 @@ unsigned lodepng_decode24(uint8_t** out, unsigned* w, unsigned* h, const uint8_t
|
|||
return lodepng_decode_memory(out, w, h, in, insize, LCT_RGB, 8);
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
#if defined(LODEPNG_COMPILE_DISK)
|
||||
unsigned lodepng_decode_file(uint8_t** out, unsigned* w, unsigned* h, const char* filename,
|
||||
LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
|
@ -4852,7 +4852,7 @@ unsigned lodepng_decode24_file(uint8_t** out, unsigned* w, unsigned* h, const ch
|
|||
void lodepng_decoder_settings_init(LodePNGDecoderSettings* settings)
|
||||
{
|
||||
settings->color_convert = 1;
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
settings->read_text_chunks = 1;
|
||||
settings->remember_unknown_chunks = 0;
|
||||
#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/
|
||||
|
@ -4868,10 +4868,10 @@ void lodepng_decoder_settings_init(LodePNGDecoderSettings* settings)
|
|||
|
||||
void lodepng_state_init(LodePNGState* state)
|
||||
{
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
lodepng_decoder_settings_init(&state->decoder);
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
lodepng_encoder_settings_init(&state->encoder);
|
||||
#endif /*LODEPNG_COMPILE_ENCODER*/
|
||||
lodepng_color_mode_init(&state->info_raw);
|
||||
|
@ -4899,7 +4899,7 @@ void lodepng_state_copy(LodePNGState* dest, const LodePNGState* source)
|
|||
|
||||
#endif /* defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* / PNG Encoder / */
|
||||
|
@ -5031,7 +5031,7 @@ static unsigned addChunk_IEND(ucvector* out)
|
|||
return error;
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
|
||||
static unsigned addChunk_tEXt(ucvector* out, const char* keyword, const char* textstring)
|
||||
{
|
||||
|
@ -5675,7 +5675,7 @@ static unsigned getPaletteTranslucency(const uint8_t* palette, size_t palettesiz
|
|||
return key;
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
static unsigned addUnknownChunks(ucvector* out, uint8_t* data, size_t datasize)
|
||||
{
|
||||
uint8_t* inchunk = data;
|
||||
|
@ -5758,14 +5758,14 @@ unsigned lodepng_encode(uint8_t** out, size_t* outsize,
|
|||
ucvector_init(&outv);
|
||||
while(!state->error) /*while only executed once, to break on error*/
|
||||
{
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
size_t i;
|
||||
#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/
|
||||
/*write signature and chunks*/
|
||||
writeSignature(&outv);
|
||||
/*IHDR*/
|
||||
addChunk_IHDR(&outv, w, h, info.color.colortype, info.color.bitdepth, info.interlace_method);
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
/*unknown chunks between IHDR and PLTE*/
|
||||
if(info.unknown_chunks_data[0])
|
||||
{
|
||||
|
@ -5791,7 +5791,7 @@ unsigned lodepng_encode(uint8_t** out, size_t* outsize,
|
|||
{
|
||||
addChunk_tRNS(&outv, &info.color);
|
||||
}
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
/*bKGD (must come between PLTE and the IDAt chunks*/
|
||||
if(info.background_defined) addChunk_bKGD(&outv, &info);
|
||||
/*pHYs (must come before the IDAT chunks)*/
|
||||
|
@ -5807,7 +5807,7 @@ unsigned lodepng_encode(uint8_t** out, size_t* outsize,
|
|||
/*IDAT (multiple IDAT chunks must be consecutive)*/
|
||||
state->error = addChunk_IDAT(&outv, data, datasize, &state->encoder.zlibsettings);
|
||||
if(state->error) break;
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
/*tIME*/
|
||||
if(info.time_defined) addChunk_tIME(&outv, &info.time);
|
||||
/*tEXt and/or zTXt*/
|
||||
|
@ -5914,7 +5914,7 @@ unsigned lodepng_encode24(uint8_t** out, size_t* outsize, const uint8_t* image,
|
|||
return lodepng_encode_memory(out, outsize, image, w, h, LCT_RGB, 8);
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
#if defined(LODEPNG_COMPILE_DISK)
|
||||
unsigned lodepng_encode_file(const char* filename, const uint8_t* image, unsigned w, unsigned h,
|
||||
LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
|
@ -5945,7 +5945,7 @@ void lodepng_encoder_settings_init(LodePNGEncoderSettings* settings)
|
|||
settings->auto_convert = 1;
|
||||
settings->force_palette = 0;
|
||||
settings->predefined_filters = 0;
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
settings->add_id = 0;
|
||||
settings->text_compression = 1;
|
||||
#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/
|
||||
|
@ -5954,7 +5954,7 @@ void lodepng_encoder_settings_init(LodePNGEncoderSettings* settings)
|
|||
#endif /*LODEPNG_COMPILE_ENCODER*/
|
||||
#endif /*LODEPNG_COMPILE_PNG*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ERROR_TEXT
|
||||
#if defined(LODEPNG_COMPILE_ERROR_TEXT)
|
||||
/*
|
||||
This returns the description of a numerical error code in English. This is also
|
||||
the documentation of all the error codes.
|
||||
|
@ -6141,237 +6141,3 @@ const char* lodepng_error_text(unsigned code)
|
|||
return "unknown error code";
|
||||
}
|
||||
#endif /*LODEPNG_COMPILE_ERROR_TEXT*/
|
||||
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* // C++ Wrapper // */
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
/* ////////////////////////////////////////////////////////////////////////// */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_CPP
|
||||
namespace lodepng
|
||||
{
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
unsigned load_file(std::vector<uint8_t>& buffer, const std::string& filename)
|
||||
{
|
||||
long size = lodepng_filesize(filename.c_str());
|
||||
if(size < 0) return 78;
|
||||
buffer.resize((size_t)size);
|
||||
return size == 0 ? 0 : lodepng_buffer_file(&buffer[0], (size_t)size, filename.c_str());
|
||||
}
|
||||
|
||||
/*write given buffer to the file, overwriting the file, it doesn't append to it.*/
|
||||
unsigned save_file(const std::vector<uint8_t>& buffer, const std::string& filename)
|
||||
{
|
||||
return lodepng_save_file(buffer.empty() ? 0 : &buffer[0], buffer.size(), filename.c_str());
|
||||
}
|
||||
#endif /* LODEPNG_COMPILE_DISK */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ZLIB
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
unsigned decompress(std::vector<uint8_t>& out, const uint8_t* in, size_t insize,
|
||||
const LodePNGDecompressSettings& settings)
|
||||
{
|
||||
uint8_t* buffer = 0;
|
||||
size_t buffersize = 0;
|
||||
unsigned error = zlib_decompress(&buffer, &buffersize, in, insize, &settings);
|
||||
if(buffer)
|
||||
{
|
||||
out.insert(out.end(), &buffer[0], &buffer[buffersize]);
|
||||
lodepng_free(buffer);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
unsigned decompress(std::vector<uint8_t>& out, const std::vector<uint8_t>& in,
|
||||
const LodePNGDecompressSettings& settings)
|
||||
{
|
||||
return decompress(out, in.empty() ? 0 : &in[0], in.size(), settings);
|
||||
}
|
||||
#endif /* LODEPNG_COMPILE_DECODER */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
unsigned compress(std::vector<uint8_t>& out, const uint8_t* in, size_t insize,
|
||||
const LodePNGCompressSettings& settings)
|
||||
{
|
||||
uint8_t* buffer = 0;
|
||||
size_t buffersize = 0;
|
||||
unsigned error = zlib_compress(&buffer, &buffersize, in, insize, &settings);
|
||||
if(buffer)
|
||||
{
|
||||
out.insert(out.end(), &buffer[0], &buffer[buffersize]);
|
||||
lodepng_free(buffer);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
unsigned compress(std::vector<uint8_t>& out, const std::vector<uint8_t>& in,
|
||||
const LodePNGCompressSettings& settings)
|
||||
{
|
||||
return compress(out, in.empty() ? 0 : &in[0], in.size(), settings);
|
||||
}
|
||||
#endif /* LODEPNG_COMPILE_ENCODER */
|
||||
#endif /* LODEPNG_COMPILE_ZLIB */
|
||||
|
||||
|
||||
#ifdef LODEPNG_COMPILE_PNG
|
||||
|
||||
State::State()
|
||||
{
|
||||
lodepng_state_init(this);
|
||||
}
|
||||
|
||||
State::State(const State& other)
|
||||
{
|
||||
lodepng_state_init(this);
|
||||
lodepng_state_copy(this, &other);
|
||||
}
|
||||
|
||||
State::~State()
|
||||
{
|
||||
lodepng_state_cleanup(this);
|
||||
}
|
||||
|
||||
State& State::operator=(const State& other)
|
||||
{
|
||||
lodepng_state_copy(this, &other);
|
||||
return *this;
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h, const uint8_t* in,
|
||||
size_t insize, LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
uint8_t* buffer;
|
||||
unsigned error = lodepng_decode_memory(&buffer, &w, &h, in, insize, colortype, bitdepth);
|
||||
if(buffer && !error)
|
||||
{
|
||||
State state;
|
||||
state.info_raw.colortype = colortype;
|
||||
state.info_raw.bitdepth = bitdepth;
|
||||
size_t buffersize = lodepng_get_raw_size(w, h, &state.info_raw);
|
||||
out.insert(out.end(), &buffer[0], &buffer[buffersize]);
|
||||
lodepng_free(buffer);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h,
|
||||
const std::vector<uint8_t>& in, LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
return decode(out, w, h, in.empty() ? 0 : &in[0], (unsigned)in.size(), colortype, bitdepth);
|
||||
}
|
||||
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h,
|
||||
State& state,
|
||||
const uint8_t* in, size_t insize)
|
||||
{
|
||||
uint8_t* buffer = NULL;
|
||||
unsigned error = lodepng_decode(&buffer, &w, &h, &state, in, insize);
|
||||
if(buffer && !error)
|
||||
{
|
||||
size_t buffersize = lodepng_get_raw_size(w, h, &state.info_raw);
|
||||
out.insert(out.end(), &buffer[0], &buffer[buffersize]);
|
||||
}
|
||||
lodepng_free(buffer);
|
||||
return error;
|
||||
}
|
||||
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h,
|
||||
State& state,
|
||||
const std::vector<uint8_t>& in)
|
||||
{
|
||||
return decode(out, w, h, state, in.empty() ? 0 : &in[0], in.size());
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h, const std::string& filename,
|
||||
LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
std::vector<uint8_t> buffer;
|
||||
unsigned error = load_file(buffer, filename);
|
||||
if(error) return error;
|
||||
return decode(out, w, h, buffer, colortype, bitdepth);
|
||||
}
|
||||
#endif /* LODEPNG_COMPILE_DECODER */
|
||||
#endif /* LODEPNG_COMPILE_DISK */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
static size_t lodepng_get_raw_size_lct(unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
/*will not overflow for any color type if roughly w * h < 268435455*/
|
||||
size_t bpp = lodepng_get_bpp_lct(colortype, bitdepth);
|
||||
size_t n = w * h;
|
||||
return ((n / 8) * bpp) + ((n & 7) * bpp + 7) / 8;
|
||||
}
|
||||
|
||||
unsigned encode(std::vector<uint8_t>& out, const uint8_t* in, unsigned w, unsigned h,
|
||||
LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
uint8_t* buffer;
|
||||
size_t buffersize;
|
||||
unsigned error = lodepng_encode_memory(&buffer, &buffersize, in, w, h, colortype, bitdepth);
|
||||
if(buffer)
|
||||
{
|
||||
out.insert(out.end(), &buffer[0], &buffer[buffersize]);
|
||||
lodepng_free(buffer);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
unsigned encode(std::vector<uint8_t>& out,
|
||||
const std::vector<uint8_t>& in, unsigned w, unsigned h,
|
||||
LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
if(lodepng_get_raw_size_lct(w, h, colortype, bitdepth) > in.size()) return 84;
|
||||
return encode(out, in.empty() ? 0 : &in[0], w, h, colortype, bitdepth);
|
||||
}
|
||||
|
||||
unsigned encode(std::vector<uint8_t>& out,
|
||||
const uint8_t* in, unsigned w, unsigned h,
|
||||
State& state)
|
||||
{
|
||||
uint8_t* buffer;
|
||||
size_t buffersize;
|
||||
unsigned error = lodepng_encode(&buffer, &buffersize, in, w, h, &state);
|
||||
if(buffer)
|
||||
{
|
||||
out.insert(out.end(), &buffer[0], &buffer[buffersize]);
|
||||
lodepng_free(buffer);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
unsigned encode(std::vector<uint8_t>& out,
|
||||
const std::vector<uint8_t>& in, unsigned w, unsigned h,
|
||||
State& state)
|
||||
{
|
||||
if(lodepng_get_raw_size(w, h, &state.info_raw) > in.size()) return 84;
|
||||
return encode(out, in.empty() ? 0 : &in[0], w, h, state);
|
||||
}
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
unsigned encode(const std::string& filename,
|
||||
const uint8_t* in, unsigned w, unsigned h,
|
||||
LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
std::vector<uint8_t> buffer;
|
||||
unsigned error = encode(buffer, in, w, h, colortype, bitdepth);
|
||||
if(!error) error = save_file(buffer, filename);
|
||||
return error;
|
||||
}
|
||||
|
||||
unsigned encode(const std::string& filename,
|
||||
const std::vector<uint8_t>& in, unsigned w, unsigned h,
|
||||
LodePNGColorType colortype, unsigned bitdepth)
|
||||
{
|
||||
if(lodepng_get_raw_size_lct(w, h, colortype, bitdepth) > in.size()) return 84;
|
||||
return encode(filename, in.empty() ? 0 : &in[0], w, h, colortype, bitdepth);
|
||||
}
|
||||
#endif /* LODEPNG_COMPILE_DISK */
|
||||
#endif /* LODEPNG_COMPILE_ENCODER */
|
||||
#endif /* LODEPNG_COMPILE_PNG */
|
||||
} /* namespace lodepng */
|
||||
#endif /*LODEPNG_COMPILE_CPP*/
|
||||
|
|
212
source/lodepng.h
212
source/lodepng.h
|
@ -23,8 +23,8 @@ freely, subject to the following restrictions:
|
|||
distribution.
|
||||
*/
|
||||
|
||||
#ifndef LODEPNG_H
|
||||
#define LODEPNG_H
|
||||
#ifndef spingle__lodepng_h
|
||||
#define spingle__lodepng_h
|
||||
|
||||
#include <string.h> /*for size_t*/
|
||||
|
||||
|
@ -41,52 +41,41 @@ allow implementing a custom lodepng_crc32.
|
|||
*/
|
||||
/*deflate & zlib. If disabled, you must specify alternative zlib functions in
|
||||
the custom_zlib field of the compress and decompress settings*/
|
||||
#ifndef LODEPNG_NO_COMPILE_ZLIB
|
||||
#if !defined(LODEPNG_NO_COMPILE_ZLIB)
|
||||
#define LODEPNG_COMPILE_ZLIB
|
||||
#endif
|
||||
/*png encoder and png decoder*/
|
||||
#ifndef LODEPNG_NO_COMPILE_PNG
|
||||
#if !defined(LODEPNG_NO_COMPILE_PNG)
|
||||
#define LODEPNG_COMPILE_PNG
|
||||
#endif
|
||||
/*deflate&zlib decoder and png decoder*/
|
||||
#ifndef LODEPNG_NO_COMPILE_DECODER
|
||||
#if !defined(LODEPNG_NO_COMPILE_DECODER)
|
||||
#define LODEPNG_COMPILE_DECODER
|
||||
#endif
|
||||
/*deflate&zlib encoder and png encoder*/
|
||||
#ifndef LODEPNG_NO_COMPILE_ENCODER
|
||||
#if !defined(LODEPNG_NO_COMPILE_ENCODER)
|
||||
#define LODEPNG_COMPILE_ENCODER
|
||||
#endif
|
||||
/*the optional built in harddisk file loading and saving functions*/
|
||||
#ifndef LODEPNG_NO_COMPILE_DISK
|
||||
#if !defined(LODEPNG_NO_COMPILE_DISK)
|
||||
#define LODEPNG_COMPILE_DISK
|
||||
#endif
|
||||
/*support for chunks other than IHDR, IDAT, PLTE, tRNS, IEND: ancillary and unknown chunks*/
|
||||
#ifndef LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS
|
||||
#if !defined(LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS)
|
||||
#define LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#endif
|
||||
/*ability to convert error numerical codes to English text string*/
|
||||
#ifndef LODEPNG_NO_COMPILE_ERROR_TEXT
|
||||
#if !defined(LODEPNG_NO_COMPILE_ERROR_TEXT)
|
||||
#define LODEPNG_COMPILE_ERROR_TEXT
|
||||
#endif
|
||||
/*Compile the default allocators (C's free, malloc and realloc). If you disable this,
|
||||
you can define the functions lodepng_free, lodepng_malloc and lodepng_realloc in your
|
||||
source files with custom allocators.*/
|
||||
#ifndef LODEPNG_NO_COMPILE_ALLOCATORS
|
||||
#if !defined(LODEPNG_NO_COMPILE_ALLOCATORS)
|
||||
#define LODEPNG_COMPILE_ALLOCATORS
|
||||
#endif
|
||||
/*compile the C++ version (you can disable the C++ wrapper here even when compiling for C++)*/
|
||||
#ifdef __cplusplus
|
||||
#ifndef LODEPNG_NO_COMPILE_CPP
|
||||
#define LODEPNG_COMPILE_CPP
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef LODEPNG_COMPILE_CPP
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#endif /*LODEPNG_COMPILE_CPP*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_PNG
|
||||
#if defined(LODEPNG_COMPILE_PNG)
|
||||
/*The PNG color types (also used for raw).*/
|
||||
typedef enum LodePNGColorType
|
||||
{
|
||||
|
@ -97,7 +86,7 @@ typedef enum LodePNGColorType
|
|||
LCT_RGBA = 6 /*RGB with alpha: 8,16 bit*/
|
||||
} LodePNGColorType;
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
/*
|
||||
Converts PNG data in memory to raw pixel data.
|
||||
out: Output parameter. Pointer to buffer that will contain the raw pixel data.
|
||||
|
@ -125,7 +114,7 @@ unsigned lodepng_decode32(uint8_t** out, unsigned* w, unsigned* h,
|
|||
unsigned lodepng_decode24(uint8_t** out, unsigned* w, unsigned* h,
|
||||
const uint8_t* in, size_t insize);
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
#if defined(LODEPNG_COMPILE_DISK)
|
||||
/*
|
||||
Load PNG from disk, from file with given name.
|
||||
Same as the other decode functions, but instead takes a filename as input.
|
||||
|
@ -145,7 +134,7 @@ unsigned lodepng_decode24_file(uint8_t** out, unsigned* w, unsigned* h,
|
|||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
/*
|
||||
Converts raw pixel data into a PNG image in memory. The colortype and bitdepth
|
||||
of the output PNG image cannot be chosen, they are automatically determined
|
||||
|
@ -174,7 +163,7 @@ unsigned lodepng_encode32(uint8_t** out, size_t* outsize,
|
|||
unsigned lodepng_encode24(uint8_t** out, size_t* outsize,
|
||||
const uint8_t* image, unsigned w, unsigned h);
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
#if defined(LODEPNG_COMPILE_DISK)
|
||||
/*
|
||||
Converts raw pixel data into a PNG file on disk.
|
||||
Same as the other encode functions, but instead takes a filename as output.
|
||||
|
@ -194,63 +183,14 @@ unsigned lodepng_encode24_file(const char* filename,
|
|||
#endif /*LODEPNG_COMPILE_DISK*/
|
||||
#endif /*LODEPNG_COMPILE_ENCODER*/
|
||||
|
||||
|
||||
#ifdef LODEPNG_COMPILE_CPP
|
||||
namespace lodepng
|
||||
{
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
/*Same as lodepng_decode_memory, but decodes to an std::vector. The colortype
|
||||
is the format to output the pixels to. Default is RGBA 8-bit per channel.*/
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h,
|
||||
const uint8_t* in, size_t insize,
|
||||
LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8);
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h,
|
||||
const std::vector<uint8_t>& in,
|
||||
LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8);
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
/*
|
||||
Converts PNG file from disk to raw pixel data in memory.
|
||||
Same as the other decode functions, but instead takes a filename as input.
|
||||
*/
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h,
|
||||
const std::string& filename,
|
||||
LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8);
|
||||
#endif /* LODEPNG_COMPILE_DISK */
|
||||
#endif /* LODEPNG_COMPILE_DECODER */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
/*Same as lodepng_encode_memory, but encodes to an std::vector. colortype
|
||||
is that of the raw input data. The output PNG color type will be auto chosen.*/
|
||||
unsigned encode(std::vector<uint8_t>& out,
|
||||
const uint8_t* in, unsigned w, unsigned h,
|
||||
LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8);
|
||||
unsigned encode(std::vector<uint8_t>& out,
|
||||
const std::vector<uint8_t>& in, unsigned w, unsigned h,
|
||||
LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8);
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
/*
|
||||
Converts 32-bit RGBA raw pixel data into a PNG file on disk.
|
||||
Same as the other encode functions, but instead takes a filename as output.
|
||||
NOTE: This overwrites existing files without warning!
|
||||
*/
|
||||
unsigned encode(const std::string& filename,
|
||||
const uint8_t* in, unsigned w, unsigned h,
|
||||
LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8);
|
||||
unsigned encode(const std::string& filename,
|
||||
const std::vector<uint8_t>& in, unsigned w, unsigned h,
|
||||
LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8);
|
||||
#endif /* LODEPNG_COMPILE_DISK */
|
||||
#endif /* LODEPNG_COMPILE_ENCODER */
|
||||
} /* namespace lodepng */
|
||||
#endif /*LODEPNG_COMPILE_CPP*/
|
||||
#endif /*LODEPNG_COMPILE_PNG*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ERROR_TEXT
|
||||
#if defined(LODEPNG_COMPILE_ERROR_TEXT)
|
||||
/*Returns an English description of the numerical error code.*/
|
||||
const char* lodepng_error_text(unsigned code);
|
||||
#endif /*LODEPNG_COMPILE_ERROR_TEXT*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
/*Settings for zlib decompression*/
|
||||
typedef struct LodePNGDecompressSettings LodePNGDecompressSettings;
|
||||
struct LodePNGDecompressSettings
|
||||
|
@ -276,7 +216,7 @@ extern const LodePNGDecompressSettings lodepng_default_decompress_settings;
|
|||
void lodepng_decompress_settings_init(LodePNGDecompressSettings* settings);
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
/*
|
||||
Settings for zlib compression. Tweaking these settings tweaks the balance
|
||||
between speed and compression ratio.
|
||||
|
@ -310,7 +250,7 @@ extern const LodePNGCompressSettings lodepng_default_compress_settings;
|
|||
void lodepng_compress_settings_init(LodePNGCompressSettings* settings);
|
||||
#endif /*LODEPNG_COMPILE_ENCODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_PNG
|
||||
#if defined(LODEPNG_COMPILE_PNG)
|
||||
/*
|
||||
Color mode of an image. Contains all information required to decode the pixel
|
||||
bits to RGBA colors. This information is the same as used in the PNG file
|
||||
|
@ -391,7 +331,7 @@ unsigned lodepng_can_have_alpha(const LodePNGColorMode* info);
|
|||
/*Returns the byte size of a raw image buffer with given width, height and color mode*/
|
||||
size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode* color);
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
/*The information of a Time chunk in PNG.*/
|
||||
typedef struct LodePNGTime
|
||||
{
|
||||
|
@ -413,7 +353,7 @@ typedef struct LodePNGInfo
|
|||
unsigned interlace_method; /*interlace method of the original file*/
|
||||
LodePNGColorMode color; /*color type and bits, palette and transparency of the PNG file*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
/*
|
||||
suggested background color chunk (bKGD)
|
||||
This color uses the same color mode as the PNG (except alpha channel), which can be 1-bit to 16-bit.
|
||||
|
@ -488,7 +428,7 @@ void lodepng_info_cleanup(LodePNGInfo* info);
|
|||
/*return value is error code (0 means no error)*/
|
||||
unsigned lodepng_info_copy(LodePNGInfo* dest, const LodePNGInfo* source);
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
void lodepng_clear_text(LodePNGInfo* info); /*use this to clear the texts again after you filled them in*/
|
||||
unsigned lodepng_add_text(LodePNGInfo* info, const char* key, const char* str); /*push back both texts at once*/
|
||||
|
||||
|
@ -512,7 +452,7 @@ unsigned lodepng_convert(uint8_t* out, const uint8_t* in,
|
|||
const LodePNGColorMode* mode_out, const LodePNGColorMode* mode_in,
|
||||
unsigned w, unsigned h);
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
/*
|
||||
Settings for the decoder. This contains settings for the PNG and the Zlib
|
||||
decoder, but not the Info settings from the Info structs.
|
||||
|
@ -528,7 +468,7 @@ typedef struct LodePNGDecoderSettings
|
|||
|
||||
unsigned color_convert; /*whether to convert the PNG to the color type you want. Default: yes*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
unsigned read_text_chunks; /*if false but remember_unknown_chunks is true, they're stored in the unknown chunks*/
|
||||
/*store all bytes from unknown chunks in the LodePNGInfo (off by default, useful for a png editor)*/
|
||||
unsigned remember_unknown_chunks;
|
||||
|
@ -538,7 +478,7 @@ typedef struct LodePNGDecoderSettings
|
|||
void lodepng_decoder_settings_init(LodePNGDecoderSettings* settings);
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
/*automatically use color type with less bits per pixel if losslessly possible. Default: AUTO*/
|
||||
typedef enum LodePNGFilterStrategy
|
||||
{
|
||||
|
@ -609,7 +549,7 @@ typedef struct LodePNGEncoderSettings
|
|||
/*force creating a PLTE chunk if colortype is 2 or 6 (= a suggested palette).
|
||||
If colortype is 3, PLTE is _always_ created.*/
|
||||
unsigned force_palette;
|
||||
#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
|
||||
#if defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)
|
||||
/*add LodePNG identifier and version as a text chunk, for debugging*/
|
||||
unsigned add_id;
|
||||
/*encode text chunks as zTXt chunks instead of tEXt chunks, and use compression in iTXt chunks*/
|
||||
|
@ -625,19 +565,15 @@ void lodepng_encoder_settings_init(LodePNGEncoderSettings* settings);
|
|||
/*The settings, state and information for extended encoding and decoding.*/
|
||||
typedef struct LodePNGState
|
||||
{
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
LodePNGDecoderSettings decoder; /*the decoding settings*/
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
LodePNGEncoderSettings encoder; /*the encoding settings*/
|
||||
#endif /*LODEPNG_COMPILE_ENCODER*/
|
||||
LodePNGColorMode info_raw; /*specifies the format in which you would like to get the raw pixel buffer*/
|
||||
LodePNGInfo info_png; /*info of the PNG image obtained after decoding*/
|
||||
unsigned error;
|
||||
#ifdef LODEPNG_COMPILE_CPP
|
||||
/* For the lodepng::State subclass. */
|
||||
virtual ~LodePNGState() {}
|
||||
#endif
|
||||
} LodePNGState;
|
||||
|
||||
/*init, cleanup and copy functions to use with this struct*/
|
||||
|
@ -646,7 +582,7 @@ void lodepng_state_cleanup(LodePNGState* state);
|
|||
void lodepng_state_copy(LodePNGState* dest, const LodePNGState* source);
|
||||
#endif /* defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
/*
|
||||
Same as lodepng_decode_memory, but uses a LodePNGState to allow custom settings and
|
||||
getting much more information about the PNG image and color mode.
|
||||
|
@ -666,7 +602,7 @@ unsigned lodepng_inspect(unsigned* w, unsigned* h,
|
|||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
/*This function allocates the out buffer with standard malloc and stores the size in *outsize.*/
|
||||
unsigned lodepng_encode(uint8_t** out, size_t* outsize,
|
||||
const uint8_t* image, unsigned w, unsigned h,
|
||||
|
@ -743,14 +679,14 @@ unsigned lodepng_crc32(const uint8_t* buf, size_t len);
|
|||
#endif /*LODEPNG_COMPILE_PNG*/
|
||||
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ZLIB
|
||||
#if defined(LODEPNG_COMPILE_ZLIB)
|
||||
/*
|
||||
This zlib part can be used independently to zlib compress and decompress a
|
||||
buffer. It cannot be used to create gzip files however, and it only supports the
|
||||
part of zlib that is required for PNG, it does not support dictionaries.
|
||||
*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
#if defined(LODEPNG_COMPILE_DECODER)
|
||||
/*Inflate a buffer. Inflate is the decompression step of deflate. Out buffer must be freed after use.*/
|
||||
unsigned lodepng_inflate(uint8_t** out, size_t* outsize,
|
||||
const uint8_t* in, size_t insize,
|
||||
|
@ -767,7 +703,7 @@ unsigned lodepng_zlib_decompress(uint8_t** out, size_t* outsize,
|
|||
const LodePNGDecompressSettings* settings);
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
#if defined(LODEPNG_COMPILE_ENCODER)
|
||||
/*
|
||||
Compresses data with Zlib. Reallocates the out buffer and appends the data.
|
||||
Zlib adds a small header and trailer around the deflate data.
|
||||
|
@ -794,7 +730,7 @@ unsigned lodepng_deflate(uint8_t** out, size_t* outsize,
|
|||
#endif /*LODEPNG_COMPILE_ENCODER*/
|
||||
#endif /*LODEPNG_COMPILE_ZLIB*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
#if defined(LODEPNG_COMPILE_DISK)
|
||||
/*
|
||||
Load a file from disk into buffer. The function allocates the out buffer, and
|
||||
after usage you should free it.
|
||||
|
@ -816,79 +752,6 @@ return value: error code (0 means ok)
|
|||
unsigned lodepng_save_file(const uint8_t* buffer, size_t buffersize, const char* filename);
|
||||
#endif /*LODEPNG_COMPILE_DISK*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_CPP
|
||||
/* The LodePNG C++ wrapper uses std::vectors instead of manually allocated memory buffers. */
|
||||
namespace lodepng
|
||||
{
|
||||
#ifdef LODEPNG_COMPILE_PNG
|
||||
class State : public LodePNGState
|
||||
{
|
||||
public:
|
||||
State();
|
||||
State(const State& other);
|
||||
virtual ~State();
|
||||
State& operator=(const State& other);
|
||||
};
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
/* Same as other lodepng::decode, but using a State for more settings and information. */
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h,
|
||||
State& state,
|
||||
const uint8_t* in, size_t insize);
|
||||
unsigned decode(std::vector<uint8_t>& out, unsigned& w, unsigned& h,
|
||||
State& state,
|
||||
const std::vector<uint8_t>& in);
|
||||
#endif /*LODEPNG_COMPILE_DECODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
/* Same as other lodepng::encode, but using a State for more settings and information. */
|
||||
unsigned encode(std::vector<uint8_t>& out,
|
||||
const uint8_t* in, unsigned w, unsigned h,
|
||||
State& state);
|
||||
unsigned encode(std::vector<uint8_t>& out,
|
||||
const std::vector<uint8_t>& in, unsigned w, unsigned h,
|
||||
State& state);
|
||||
#endif /*LODEPNG_COMPILE_ENCODER*/
|
||||
|
||||
#ifdef LODEPNG_COMPILE_DISK
|
||||
/*
|
||||
Load a file from disk into an std::vector.
|
||||
return value: error code (0 means ok)
|
||||
*/
|
||||
unsigned load_file(std::vector<uint8_t>& buffer, const std::string& filename);
|
||||
|
||||
/*
|
||||
Save the binary data in an std::vector to a file on disk. The file is overwritten
|
||||
without warning.
|
||||
*/
|
||||
unsigned save_file(const std::vector<uint8_t>& buffer, const std::string& filename);
|
||||
#endif /* LODEPNG_COMPILE_DISK */
|
||||
#endif /* LODEPNG_COMPILE_PNG */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ZLIB
|
||||
#ifdef LODEPNG_COMPILE_DECODER
|
||||
/* Zlib-decompress an uint8_t buffer */
|
||||
unsigned decompress(std::vector<uint8_t>& out, const uint8_t* in, size_t insize,
|
||||
const LodePNGDecompressSettings& settings = lodepng_default_decompress_settings);
|
||||
|
||||
/* Zlib-decompress an std::vector */
|
||||
unsigned decompress(std::vector<uint8_t>& out, const std::vector<uint8_t>& in,
|
||||
const LodePNGDecompressSettings& settings = lodepng_default_decompress_settings);
|
||||
#endif /* LODEPNG_COMPILE_DECODER */
|
||||
|
||||
#ifdef LODEPNG_COMPILE_ENCODER
|
||||
/* Zlib-compress an uint8_t buffer */
|
||||
unsigned compress(std::vector<uint8_t>& out, const uint8_t* in, size_t insize,
|
||||
const LodePNGCompressSettings& settings = lodepng_default_compress_settings);
|
||||
|
||||
/* Zlib-compress an std::vector */
|
||||
unsigned compress(std::vector<uint8_t>& out, const std::vector<uint8_t>& in,
|
||||
const LodePNGCompressSettings& settings = lodepng_default_compress_settings);
|
||||
#endif /* LODEPNG_COMPILE_ENCODER */
|
||||
#endif /* LODEPNG_COMPILE_ZLIB */
|
||||
} /* namespace lodepng */
|
||||
#endif /*LODEPNG_COMPILE_CPP*/
|
||||
|
||||
/*
|
||||
TODO:
|
||||
[.] test if there are no memory leaks or security exploits - done a lot but needs to be checked often
|
||||
|
@ -906,7 +769,7 @@ TODO:
|
|||
[ ] allow user to give data (void*) to custom allocator
|
||||
*/
|
||||
|
||||
#endif /*LODEPNG_H inclusion guard*/
|
||||
#endif
|
||||
|
||||
/*
|
||||
LodePNG Documentation
|
||||
|
@ -1036,8 +899,9 @@ The C++ version has extra functions with std::vectors in the interface and the
|
|||
lodepng::State class which is a LodePNGState with constructor and destructor.
|
||||
|
||||
These files work without modification for both C and C++ compilers because all
|
||||
the additional C++ code is in "#ifdef __cplusplus" blocks that make C-compilers
|
||||
ignore it, and the C code is made to compile both with strict ISO C90 and C++.
|
||||
the additional C++ code is in "#if defined(__cplusplus" blocks that make
|
||||
C-compilers) ignore it, and the C code is made to compile both with strict ISO
|
||||
C90 and C++.
|
||||
|
||||
To use the C++ version, you need to rename the source file to lodepng.cpp
|
||||
(instead of lodepng.c), and compile it with a C++ compiler.
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include <SDL.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
@ -43,23 +43,17 @@ static void Sys_InitSDL(void)
|
|||
SDL_version *sdl_version = &v;
|
||||
SDL_GetVersion(&v);
|
||||
|
||||
Sys_Printf("Found SDL version %" PRIi32 ".%" PRIi32 ".%" PRIi32 "\n", sdl_version->major, sdl_version->minor, sdl_version->patch);
|
||||
Sys_Printf("SDL version %" PRIi32 ".%" PRIi32 ".%" PRIi32 "\n", sdl_version->major, sdl_version->minor, sdl_version->patch);
|
||||
|
||||
if(SDL_VERSIONNUM(sdl_version->major, sdl_version->minor, sdl_version->patch) < SDL_REQUIREDVERSION)
|
||||
{
|
||||
/*reject running under older SDL versions */
|
||||
Sys_Error("You need at least v%" PRIi32 ".%" PRIi32 ".%" PRIi32 " of SDL to run this game.", SDL_MIN_X, SDL_MIN_Y, SDL_MIN_Z);
|
||||
}
|
||||
Sys_Error("Need at least v%" PRIi32 ".%" PRIi32 ".%" PRIi32 " of SDL to run. Exiting.", SDL_MIN_X, SDL_MIN_Y, SDL_MIN_Z);
|
||||
|
||||
if(SDL_VERSIONNUM(sdl_version->major, sdl_version->minor, sdl_version->patch) >= SDL_NEW_VERSION_REJECT)
|
||||
{
|
||||
/*reject running under newer (1.3.x) SDL */
|
||||
Sys_Error("Your version of SDL library is incompatible with me.\n"
|
||||
"You need a library version in the line of %" PRIi32 ".%" PRIi32 ".%" PRIi32 "\n", SDL_MIN_X, SDL_MIN_Y, SDL_MIN_Z);
|
||||
}
|
||||
Sys_Error("Detected SDL is too new. Exiting.");
|
||||
|
||||
if(SDL_Init(0) < 0)
|
||||
{
|
||||
Sys_Error("Couldn't init SDL: %s", SDL_GetError());
|
||||
}
|
||||
|
||||
atexit(Sys_AtExit);
|
||||
}
|
||||
|
||||
|
@ -69,7 +63,7 @@ static quakeparms_t parms;
|
|||
|
||||
// On OS X we call SDL_main from the launcher, but SDL2 doesn't redefine main
|
||||
// as SDL_main on OS X anymore, so we do it ourselves.
|
||||
#if defined(__APPLE__)
|
||||
#if PLATFORM_IS(OSX)
|
||||
#define main SDL_main
|
||||
#endif
|
||||
|
||||
|
@ -105,14 +99,12 @@ int32_t main(int32_t argc, char *argv[])
|
|||
parms.membase = malloc(parms.memsize);
|
||||
|
||||
if(!parms.membase)
|
||||
Sys_Error("Not enough memory free; check disk space\n");
|
||||
Sys_Error("Not enough memory free for heap. You need 256MiB.\n");
|
||||
|
||||
Sys_Printf("Quake " VERSION " (c) id Software\n");
|
||||
Sys_Printf("FitzQuake " FITZQUAKE_VERSION " (c) John Fitzgibbons\n");
|
||||
Sys_Printf("FitzQuake SDL port (c) SleepwalkR, Baker\n");
|
||||
Sys_Printf("QuakeSpasm " QUAKESPASM_VERSION " (c) Ozkan Sezer, Eric Wasylishen & others\n");
|
||||
Sys_Printf(ENGINE_NAME " " VERSION " (c) id Software, John Fitzgibbons, "
|
||||
"SleepwalkR, Baker, Ozkan Sezer, Eric Wasylishen, "
|
||||
"Alison Watson, et al.\n");
|
||||
|
||||
Sys_Printf("Host_Init\n");
|
||||
Host_Init();
|
||||
|
||||
oldtime = Sys_DoubleTime();
|
||||
|
|
|
@ -22,15 +22,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// mathlib.c -- math primitives
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
vec3_t vec3_origin = {0, 0, 0};
|
||||
|
||||
/*-----------------------------------------------------------------*/
|
||||
|
||||
|
||||
//#define DEG2RAD( a ) ( a * M_PI ) / 180.0F
|
||||
#define DEG2RAD( a ) ( (a) * M_PI_DIV_180 ) //johnfitz
|
||||
#define DEG2RAD( a ) ( (a) * PI_DIV_180 ) //johnfitz
|
||||
|
||||
void ProjectPointOnPlane(vec3_t dst, const vec3_t p, const vec3_t normal)
|
||||
{
|
||||
|
@ -202,7 +201,7 @@ int32_t BoxOnPlaneSide(vec3_t emins, vec3_t emaxs, mplane_t *p)
|
|||
if(dist2 < p->dist)
|
||||
sides |= 2;
|
||||
|
||||
#ifdef PARANOID
|
||||
#if defined(PARANOID)
|
||||
if(sides == 0)
|
||||
Sys_Error("BoxOnPlaneSide: sides==0");
|
||||
#endif
|
||||
|
@ -219,8 +218,8 @@ void VectorAngles(const vec3_t forward, vec3_t angles)
|
|||
temp[0] = forward[0];
|
||||
temp[1] = forward[1];
|
||||
temp[2] = 0;
|
||||
angles[PITCH] = -atan2(forward[2], VectorLength(temp)) / M_PI_DIV_180;
|
||||
angles[YAW] = atan2(forward[1], forward[0]) / M_PI_DIV_180;
|
||||
angles[PITCH] = -atan2(forward[2], VectorLength(temp)) / PI_DIV_180;
|
||||
angles[YAW] = atan2(forward[1], forward[0]) / PI_DIV_180;
|
||||
angles[ROLL] = 0;
|
||||
}
|
||||
|
||||
|
@ -229,13 +228,13 @@ void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
|
|||
float angle;
|
||||
float sr, sp, sy, cr, cp, cy;
|
||||
|
||||
angle = angles[YAW] * (M_PI * 2 / 360);
|
||||
angle = angles[YAW] * (PI * 2 / 360);
|
||||
sy = sin(angle);
|
||||
cy = cos(angle);
|
||||
angle = angles[PITCH] * (M_PI * 2 / 360);
|
||||
angle = angles[PITCH] * (PI * 2 / 360);
|
||||
sp = sin(angle);
|
||||
cp = cos(angle);
|
||||
angle = angles[ROLL] * (M_PI * 2 / 360);
|
||||
angle = angles[ROLL] * (PI * 2 / 360);
|
||||
sr = sin(angle);
|
||||
cr = cos(angle);
|
||||
|
||||
|
@ -427,7 +426,7 @@ void FloorDivMod(double numer, double denom, int32_t *quotient,
|
|||
int32_t q, r;
|
||||
double x;
|
||||
|
||||
#ifndef PARANOID
|
||||
#if !defined(PARANOID)
|
||||
if(denom <= 0.0)
|
||||
Sys_Error("FloorDivMod: bad denominator %f\n", denom);
|
||||
|
||||
|
|
|
@ -21,18 +21,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __MATHLIB_H
|
||||
#define __MATHLIB_H
|
||||
#ifndef spingle__mathlib_h
|
||||
#define spingle__mathlib_h
|
||||
|
||||
// mathlib.h
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
|
||||
#endif
|
||||
|
||||
#define M_PI_DIV_180 (M_PI / 180.0) //johnfitz
|
||||
#define PI 3.14159265358979323846
|
||||
#define PI_DIV_180 (PI / 180.0) //johnfitz
|
||||
|
||||
struct mplane_s;
|
||||
|
||||
|
@ -106,21 +103,11 @@ int32_t BoxOnPlaneSide(vec3_t emins, vec3_t emaxs, struct mplane_s *plane);
|
|||
float anglemod(float a);
|
||||
|
||||
|
||||
#define BOX_ON_PLANE_SIDE(emins, emaxs, p) \
|
||||
(((p)->type < 3)? \
|
||||
( \
|
||||
((p)->dist <= (emins)[(p)->type])? \
|
||||
1 \
|
||||
: \
|
||||
( \
|
||||
((p)->dist >= (emaxs)[(p)->type])?\
|
||||
2 \
|
||||
: \
|
||||
3 \
|
||||
) \
|
||||
) \
|
||||
: \
|
||||
BoxOnPlaneSide( (emins), (emaxs), (p)))
|
||||
|
||||
#endif /* __MATHLIB_H */
|
||||
#define BOX_ON_PLANE_SIDE(emins, emaxs, p) \
|
||||
(((p)->type < 3) \
|
||||
? (((p)->dist <= (emins)[(p)->type]) \
|
||||
? 1 \
|
||||
: (((p)->dist >= (emaxs)[(p)->type]) ? 2 : 3)) \
|
||||
: BoxOnPlaneSide((emins), (emaxs), (p)))
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "bgmusic.h"
|
||||
|
||||
void (*vid_menucmdfn)(void); //johnfitz
|
||||
|
@ -988,10 +988,7 @@ enum
|
|||
OPT_ALWAYSMLOOK,
|
||||
OPT_LOOKSPRING,
|
||||
OPT_LOOKSTRAFE,
|
||||
//#ifdef _WIN32
|
||||
// OPT_USEMOUSE,
|
||||
//#endif
|
||||
OPT_VIDEO, // This is the last before OPTIONS_ITEMS
|
||||
OPT_VIDEO, // This is the last before OPTIONS_ITEMS
|
||||
OPTIONS_ITEMS
|
||||
};
|
||||
|
||||
|
@ -1680,10 +1677,10 @@ bool M_Quit_TextEntry(void)
|
|||
}
|
||||
|
||||
|
||||
void M_Quit_Draw(void) //johnfitz -- modified for new quit message
|
||||
void M_Quit_Draw(void)
|
||||
{
|
||||
static char const msg1[] = "QuakeSpasm " QUAKESPASM_VERSION;
|
||||
static char const msg2[] = "by Ozkan, Ericw & Stevenaaus";
|
||||
static char const msg1[] = ENGINE_NAME " " VERSION;
|
||||
static char const msg2[] = "FIXME: make this customizable";
|
||||
static char const msg3[] = "Press y to quit";
|
||||
|
||||
int32_t boxlen;
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_MENU_H
|
||||
#define _QUAKE_MENU_H
|
||||
#ifndef spingle__menu_h
|
||||
#define spingle__menu_h
|
||||
|
||||
enum m_state_e
|
||||
{
|
||||
|
@ -72,5 +72,4 @@ void M_DrawPic(int32_t x, int32_t y, qpic_t *pic);
|
|||
void M_DrawTransPic(int32_t x, int32_t y, qpic_t *pic);
|
||||
void M_DrawCheckbox(int32_t x, int32_t y, int32_t on);
|
||||
|
||||
#endif /* _QUAKE_MENU_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -19,8 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _MODELGEN_H
|
||||
#define _MODELGEN_H
|
||||
#ifndef spingle__modelgen_h
|
||||
#define spingle__modelgen_h
|
||||
|
||||
//
|
||||
// modelgen.h: header file for model generation program
|
||||
|
@ -32,31 +32,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
// * pass data from one to the other via model files. *
|
||||
// *********************************************************
|
||||
|
||||
#ifdef INCLUDELIBS
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "cmdlib.h"
|
||||
#include "scriplib.h"
|
||||
#include "trilib.h"
|
||||
#include "lbmlib.h"
|
||||
#include "mathlib.h"
|
||||
|
||||
#endif
|
||||
|
||||
#define ALIAS_VERSION 6
|
||||
|
||||
#define ALIAS_ONSEAM 0x0020
|
||||
|
||||
// must match definition in spritegn.h
|
||||
#ifndef SYNCTYPE_T
|
||||
#define SYNCTYPE_T
|
||||
typedef enum {ST_SYNC = 0, ST_RAND } synctype_t;
|
||||
#endif
|
||||
|
||||
typedef enum { ALIAS_SINGLE = 0, ALIAS_GROUP } aliasframetype_t;
|
||||
|
||||
typedef enum { ALIAS_SKIN_SINGLE = 0, ALIAS_SKIN_GROUP } aliasskintype_t;
|
||||
|
@ -148,5 +127,4 @@ typedef struct
|
|||
#define IDPOLYHEADER (('O'<<24)+('P'<<16)+('D'<<8)+'I')
|
||||
// little-endian "IDPO"
|
||||
|
||||
#endif /* _MODELGEN_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -28,8 +28,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
whole engine
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_NET_H
|
||||
#define _QUAKE_NET_H
|
||||
#ifndef spingle__quake_net_h
|
||||
#define spingle__quake_net_h
|
||||
|
||||
|
||||
#define NET_NAMELEN 64
|
||||
|
@ -111,5 +111,4 @@ extern bool tcpipAvailable;
|
|||
extern char my_ipx_address[NET_NAMELEN];
|
||||
extern char my_tcpip_address[NET_NAMELEN];
|
||||
|
||||
#endif /* _QUAKE_NET_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef __NET_DEFS_H
|
||||
#define __NET_DEFS_H
|
||||
#ifndef spingle__net_defs_h
|
||||
#define spingle__net_defs_h
|
||||
|
||||
struct qsockaddr
|
||||
{
|
||||
|
@ -256,5 +256,4 @@ typedef struct _PollProcedure
|
|||
|
||||
void SchedulePollProcedure(PollProcedure *pp, double timeOffset);
|
||||
|
||||
#endif /* __NET_DEFS_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -23,9 +23,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#define BAN_TEST
|
||||
|
||||
#include "q_stdinc.h"
|
||||
#include "arch_def.h"
|
||||
#include "net_sys.h"
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "net_defs.h"
|
||||
#include "net_dgrm.h"
|
||||
|
||||
|
@ -68,7 +67,7 @@ static char *StrAddr(struct qsockaddr *addr)
|
|||
}
|
||||
|
||||
|
||||
#ifdef BAN_TEST
|
||||
#if defined(BAN_TEST)
|
||||
|
||||
static struct in_addr banAddr;
|
||||
static struct in_addr banMask;
|
||||
|
@ -135,7 +134,7 @@ int32_t Datagram_SendMessage(qsocket_t *sock, sizebuf_t *data)
|
|||
uint32_t dataLen;
|
||||
uint32_t eom;
|
||||
|
||||
#ifdef DEBUG
|
||||
#if defined(DEBUG)
|
||||
if(data->cursize == 0)
|
||||
Sys_Error("Datagram_SendMessage: zero length message\n");
|
||||
|
||||
|
@ -262,7 +261,7 @@ int32_t Datagram_SendUnreliableMessage(qsocket_t *sock, sizebuf_t *data)
|
|||
{
|
||||
int32_t packetLen;
|
||||
|
||||
#ifdef DEBUG
|
||||
#if defined(DEBUG)
|
||||
if(data->cursize == 0)
|
||||
Sys_Error("Datagram_SendUnreliableMessage: zero length message\n");
|
||||
|
||||
|
@ -788,7 +787,7 @@ int32_t Datagram_Init(void)
|
|||
int32_t i, num_inited;
|
||||
sys_socket_t csock;
|
||||
|
||||
#ifdef BAN_TEST
|
||||
#if defined(BAN_TEST)
|
||||
banAddr.s_addr = INADDR_ANY;
|
||||
banMask.s_addr = INADDR_NONE;
|
||||
#endif
|
||||
|
@ -813,7 +812,7 @@ int32_t Datagram_Init(void)
|
|||
if(num_inited == 0)
|
||||
return -1;
|
||||
|
||||
#ifdef BAN_TEST
|
||||
#if defined(BAN_TEST)
|
||||
Cmd_AddCommand("ban", NET_Ban_f);
|
||||
#endif
|
||||
Cmd_AddCommand("test", Test_f);
|
||||
|
@ -1001,7 +1000,7 @@ static qsocket_t *_Datagram_CheckNewConnections(void)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#ifdef BAN_TEST
|
||||
#if defined(BAN_TEST)
|
||||
// check for a ban
|
||||
if(clientaddr.qsa_family == AF_INET)
|
||||
{
|
||||
|
|
|
@ -19,8 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __NET_DATAGRAM_H
|
||||
#define __NET_DATAGRAM_H
|
||||
#ifndef spingle__net_dgrm_h
|
||||
#define spingle__net_dgrm_h
|
||||
|
||||
int32_t Datagram_Init(void);
|
||||
void Datagram_Listen(bool state);
|
||||
|
@ -35,5 +35,4 @@ bool Datagram_CanSendUnreliableMessage(qsocket_t *sock);
|
|||
void Datagram_Close(qsocket_t *sock);
|
||||
void Datagram_Shutdown(void);
|
||||
|
||||
#endif /* __NET_DATAGRAM_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,9 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
|
||||
#include "q_stdinc.h"
|
||||
#include "arch_def.h"
|
||||
#include "net_sys.h"
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "net_defs.h"
|
||||
#include "net_loop.h"
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __NET_LOOP_H
|
||||
#define __NET_LOOP_H
|
||||
#ifndef spingle__net_loop_h
|
||||
#define spingle__net_loop_h
|
||||
|
||||
// net_loop.h
|
||||
int32_t Loop_Init(void);
|
||||
|
@ -36,5 +36,4 @@ bool Loop_CanSendUnreliableMessage(qsocket_t *sock);
|
|||
void Loop_Close(qsocket_t *sock);
|
||||
void Loop_Shutdown(void);
|
||||
|
||||
#endif /* __NET_LOOP_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,9 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
|
||||
#include "q_stdinc.h"
|
||||
#include "arch_def.h"
|
||||
#include "net_sys.h"
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "net_defs.h"
|
||||
|
||||
qsocket_t *net_activeSockets = NULL;
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
* net_sys.h -- common network system header.
|
||||
* - depends on arch_def.h
|
||||
* - may depend on q_stdinc.h
|
||||
*
|
||||
* Copyright (C) 2007-2012 O.Sezer <sezero@users.sourceforge.net>
|
||||
*
|
||||
|
@ -21,17 +19,15 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef __NET_SYS_H__
|
||||
#define __NET_SYS_H__
|
||||
#ifndef spingle__net_sys_h
|
||||
#define spingle__net_sys_h
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <errno.h>
|
||||
#include <stddef.h>
|
||||
#include <limits.h>
|
||||
|
||||
#if defined(PLATFORM_BSD) || defined(PLATFORM_OSX) || \
|
||||
defined(PLATFORM_AMIGA) /* bsdsocket.library */ || \
|
||||
defined(__GNU__) /* GNU/Hurd */ || defined(__riscos__)
|
||||
#if PLATFORM_IS(BSD) || PLATFORM_IS(OSX)
|
||||
/* struct sockaddr has uint8_t sa_len as the first member in BSD
|
||||
* variants and the family member is also an uint8_t instead of an
|
||||
* uint16_t. This should matter only when PLATFORM_UNIX is defined,
|
||||
|
@ -47,14 +43,9 @@
|
|||
#endif /* BSD, sockaddr */
|
||||
|
||||
/* unix includes and compatibility macros */
|
||||
#if defined(PLATFORM_UNIX) || defined(PLATFORM_RISCOS)
|
||||
|
||||
#if PLATFORM_IS_UNIX
|
||||
#include <sys/param.h>
|
||||
#include <sys/ioctl.h>
|
||||
#if defined(__sun) || defined(sun)
|
||||
#include <sys/filio.h>
|
||||
#include <sys/sockio.h>
|
||||
#endif /* __sunos__ */
|
||||
#include <unistd.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
|
@ -78,55 +69,10 @@ typedef int32_t sys_socket_t;
|
|||
|
||||
_Static_assert(offsetof(struct sockaddr, sa_family) == SA_FAM_OFFSET,
|
||||
"HAVE_SA_LEN not defined correctly");
|
||||
|
||||
#endif /* end of unix stuff */
|
||||
|
||||
|
||||
/* amiga includes and compatibility macros */
|
||||
#if defined(PLATFORM_AMIGA) /* Amiga bsdsocket.library */
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <unistd.h>
|
||||
#include <proto/exec.h>
|
||||
#include <proto/socket.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netdb.h>
|
||||
|
||||
typedef int32_t sys_socket_t;
|
||||
#define INVALID_SOCKET (-1)
|
||||
#define SOCKET_ERROR (-1)
|
||||
|
||||
typedef uint32_t in_addr_t;
|
||||
|
||||
#define SOCKETERRNO Errno()
|
||||
#define ioctlsocket IoctlSocket
|
||||
#define closesocket CloseSocket
|
||||
#define selectsocket(_N,_R,_W,_E,_T) \
|
||||
WaitSelect((_N),(_R),(_W),(_E),(_T),NULL)
|
||||
#define IOCTLARG_P(x) (char *) x
|
||||
#if defined(__amigaos4__) || defined(PLATFORM_AMIGAOS3)
|
||||
#define inet_ntoa(x) Inet_NtoA(x.s_addr) /* Inet_NtoA(*(ULONG*)&x) */
|
||||
#define h_errno Errno()
|
||||
#endif
|
||||
|
||||
#define NET_EWOULDBLOCK EWOULDBLOCK
|
||||
#define NET_ECONNREFUSED ECONNREFUSED
|
||||
|
||||
#define socketerror(x) strerror((x))
|
||||
/* there is h_errno but no hstrerror() */
|
||||
#define hstrerror(x) strerror((x))
|
||||
|
||||
_Static_assert(offsetof(struct sockaddr, sa_family) == SA_FAM_OFFSET,
|
||||
"HAVE_SA_LEN not defined correctly");
|
||||
|
||||
#endif /* end of amiga bsdsocket.library stuff */
|
||||
|
||||
#endif /* PLATFORM_IS_UNIX */
|
||||
|
||||
/* windows includes and compatibility macros */
|
||||
#if defined(PLATFORM_WINDOWS)
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
|
||||
/* NOTE: winsock[2].h already includes windows.h */
|
||||
#if !defined(_USE_WINSOCK2)
|
||||
|
@ -181,5 +127,4 @@ _Static_assert(offsetof(struct sockaddr, sa_family) == SA_FAM_OFFSET,
|
|||
#endif /* MAXHOSTNAMELEN */
|
||||
|
||||
|
||||
#endif /* __NET_SYS_H__ */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include <SDL.h>
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
|
|
|
@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_PLATFORM_H
|
||||
#define _QUAKE_PLATFORM_H
|
||||
#ifndef spingle__platform_h
|
||||
#define spingle__platform_h
|
||||
|
||||
/* platform dependent way to set the window icon */
|
||||
void PL_SetWindowIcon(void);
|
||||
|
@ -36,5 +36,4 @@ char *PL_GetClipboardData(void);
|
|||
/* show an error dialog */
|
||||
void PL_ErrorDialog(const char *text);
|
||||
|
||||
#endif /* _QUAKE_PLATFORM_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
#define STRINGTEMP_BUFFERS 16
|
||||
#define STRINGTEMP_LENGTH 1024
|
||||
|
@ -192,7 +192,7 @@ static void SetMinMaxSize(edict_t *e, float *minvec, float *maxvec, bool rotate)
|
|||
// find min / max for rotations
|
||||
angles = e->v.angles;
|
||||
|
||||
a = angles[1] / 180 * M_PI;
|
||||
a = angles[1] / 180 * PI;
|
||||
|
||||
xvector[0] = cos(a);
|
||||
xvector[1] = sin(a);
|
||||
|
@ -455,7 +455,7 @@ static void PF_vectoyaw(void)
|
|||
yaw = 0;
|
||||
else
|
||||
{
|
||||
yaw = (int32_t)(atan2(value1[1], value1[0]) * 180 / M_PI);
|
||||
yaw = (int32_t)(atan2(value1[1], value1[0]) * 180 / PI);
|
||||
if(yaw < 0)
|
||||
yaw += 360;
|
||||
}
|
||||
|
@ -489,12 +489,12 @@ static void PF_vectoangles(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
yaw = (int32_t)(atan2(value1[1], value1[0]) * 180 / M_PI);
|
||||
yaw = (int32_t)(atan2(value1[1], value1[0]) * 180 / PI);
|
||||
if(yaw < 0)
|
||||
yaw += 360;
|
||||
|
||||
forward = sqrt(value1[0] * value1[0] + value1[1] * value1[1]);
|
||||
pitch = (int32_t)(atan2(value1[2], forward) * 180 / M_PI);
|
||||
pitch = (int32_t)(atan2(value1[2], forward) * 180 / PI);
|
||||
if(pitch < 0)
|
||||
pitch += 360;
|
||||
}
|
||||
|
@ -1175,7 +1175,7 @@ static void PF_walkmove(void)
|
|||
return;
|
||||
}
|
||||
|
||||
yaw = yaw * M_PI * 2 / 360;
|
||||
yaw = yaw * PI * 2 / 360;
|
||||
|
||||
move[0] = cos(yaw) * dist;
|
||||
move[1] = sin(yaw) * dist;
|
||||
|
|
|
@ -19,8 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __PR_COMP_H
|
||||
#define __PR_COMP_H
|
||||
#ifndef spingle__pr_comp_h
|
||||
#define spingle__pr_comp_h
|
||||
|
||||
// this file is shared by quake and qcc
|
||||
|
||||
|
@ -40,17 +40,16 @@ typedef enum
|
|||
ev_pointer
|
||||
} etype_t;
|
||||
|
||||
#define OFS_NULL 0
|
||||
#define OFS_RETURN 1
|
||||
#define OFS_PARM0 4 // leave 3 ofs for each parm to hold vectors
|
||||
#define OFS_PARM1 7
|
||||
#define OFS_PARM2 10
|
||||
#define OFS_PARM3 13
|
||||
#define OFS_PARM4 16
|
||||
#define OFS_PARM5 19
|
||||
#define OFS_PARM6 22
|
||||
#define OFS_PARM7 25
|
||||
#define RESERVED_OFS 28
|
||||
#define OFS_NULL 0
|
||||
#define OFS_RETURN 1
|
||||
#define OFS_PARM0 4 // leave 3 ofs for each parm to hold vectors
|
||||
#define OFS_PARM1 7
|
||||
#define OFS_PARM2 10
|
||||
#define OFS_PARM3 13
|
||||
#define OFS_PARM4 16
|
||||
#define OFS_PARM5 19
|
||||
#define OFS_PARM6 22
|
||||
#define OFS_PARM7 25
|
||||
|
||||
|
||||
enum
|
||||
|
@ -193,5 +192,4 @@ typedef struct
|
|||
int32_t entityfields;
|
||||
} dprograms_t;
|
||||
|
||||
#endif /* __PR_COMP_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// sv_edict.c -- entity dictionary
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
dprograms_t *progs;
|
||||
dfunction_t *pr_functions;
|
||||
|
@ -775,13 +775,13 @@ returns false if error
|
|||
*/
|
||||
static bool ED_ParseEpair(void *base, ddef_t *key, const char *s)
|
||||
{
|
||||
int32_t i;
|
||||
char string[128];
|
||||
ddef_t *def;
|
||||
char *v, *w;
|
||||
char *end;
|
||||
void *d;
|
||||
dfunction_t *func;
|
||||
int32_t i;
|
||||
char string[128];
|
||||
ddef_t *def;
|
||||
char *v, *w;
|
||||
char *end;
|
||||
void *d;
|
||||
dfunction_t *func;
|
||||
|
||||
d = (void *)((int32_t *)base + key->ofs);
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
@ -356,12 +356,12 @@ The interpretation main loop
|
|||
|
||||
void PR_ExecuteProgram(func_t fnum)
|
||||
{
|
||||
eval_t *ptr;
|
||||
dstatement_t *st;
|
||||
dfunction_t *f, *newf;
|
||||
int32_t profile, startprofile;
|
||||
edict_t *ed;
|
||||
int32_t exitdepth;
|
||||
eval_t *ptr;
|
||||
dstatement_t *st;
|
||||
dfunction_t *f, *newf;
|
||||
int32_t profile, startprofile;
|
||||
edict_t *ed;
|
||||
int32_t exitdepth;
|
||||
|
||||
if(!fnum || fnum >= progs->numfunctions)
|
||||
{
|
||||
|
@ -374,7 +374,7 @@ void PR_ExecuteProgram(func_t fnum)
|
|||
|
||||
pr_trace = false;
|
||||
|
||||
// make a stack frame
|
||||
// make a stack frame
|
||||
exitdepth = pr_depth;
|
||||
|
||||
st = &pr_statements[PR_EnterFunction(f)];
|
||||
|
@ -382,7 +382,8 @@ void PR_ExecuteProgram(func_t fnum)
|
|||
|
||||
while(1)
|
||||
{
|
||||
st++; /* next statement */
|
||||
/* next statement */
|
||||
st++;
|
||||
|
||||
if(++profile > 100000)
|
||||
{
|
||||
|
@ -444,24 +445,12 @@ void PR_ExecuteProgram(func_t fnum)
|
|||
OPC->_float = (int32_t)OPA->_float | (int32_t)OPB->_float;
|
||||
break;
|
||||
|
||||
case OP_GE:
|
||||
OPC->_float = OPA->_float >= OPB->_float;
|
||||
break;
|
||||
case OP_LE:
|
||||
OPC->_float = OPA->_float <= OPB->_float;
|
||||
break;
|
||||
case OP_GT:
|
||||
OPC->_float = OPA->_float > OPB->_float;
|
||||
break;
|
||||
case OP_LT:
|
||||
OPC->_float = OPA->_float < OPB->_float;
|
||||
break;
|
||||
case OP_AND:
|
||||
OPC->_float = OPA->_float && OPB->_float;
|
||||
break;
|
||||
case OP_OR:
|
||||
OPC->_float = OPA->_float || OPB->_float;
|
||||
break;
|
||||
case OP_GE: OPC->_float = OPA->_float >= OPB->_float; break;
|
||||
case OP_LE: OPC->_float = OPA->_float <= OPB->_float; break;
|
||||
case OP_GT: OPC->_float = OPA->_float > OPB->_float; break;
|
||||
case OP_LT: OPC->_float = OPA->_float < OPB->_float; break;
|
||||
case OP_AND: OPC->_float = OPA->_float && OPB->_float; break;
|
||||
case OP_OR: OPC->_float = OPA->_float || OPB->_float; break;
|
||||
|
||||
case OP_NOT_F:
|
||||
OPC->_float = !OPA->_float;
|
||||
|
@ -517,9 +506,9 @@ void PR_ExecuteProgram(func_t fnum)
|
|||
|
||||
case OP_STORE_F:
|
||||
case OP_STORE_ENT:
|
||||
case OP_STORE_FLD: // integers
|
||||
case OP_STORE_FLD:
|
||||
case OP_STORE_S:
|
||||
case OP_STORE_FNC: // pointers
|
||||
case OP_STORE_FNC:
|
||||
OPB->_int = OPA->_int;
|
||||
break;
|
||||
case OP_STORE_V:
|
||||
|
@ -545,7 +534,7 @@ void PR_ExecuteProgram(func_t fnum)
|
|||
|
||||
case OP_ADDRESS:
|
||||
ed = PROG_TO_EDICT(OPA->edict);
|
||||
#ifdef PARANOID
|
||||
#if defined(PARANOID)
|
||||
NUM_FOR_EDICT(ed); // Make sure it's in range
|
||||
#endif
|
||||
if(ed == (edict_t *)sv.edicts && sv.state == ss_active)
|
||||
|
@ -562,7 +551,7 @@ void PR_ExecuteProgram(func_t fnum)
|
|||
case OP_LOAD_S:
|
||||
case OP_LOAD_FNC:
|
||||
ed = PROG_TO_EDICT(OPA->edict);
|
||||
#ifdef PARANOID
|
||||
#if defined(PARANOID)
|
||||
NUM_FOR_EDICT(ed); // Make sure it's in range
|
||||
#endif
|
||||
OPC->_int = ((eval_t *)((int32_t *)&ed->v + OPB->_int))->_int;
|
||||
|
@ -570,7 +559,7 @@ void PR_ExecuteProgram(func_t fnum)
|
|||
|
||||
case OP_LOAD_V:
|
||||
ed = PROG_TO_EDICT(OPA->edict);
|
||||
#ifdef PARANOID
|
||||
#if defined(PARANOID)
|
||||
NUM_FOR_EDICT(ed); // Make sure it's in range
|
||||
#endif
|
||||
ptr = (eval_t *)((int32_t *)&ed->v + OPB->_int);
|
||||
|
@ -579,19 +568,9 @@ void PR_ExecuteProgram(func_t fnum)
|
|||
OPC->vector[2] = ptr->vector[2];
|
||||
break;
|
||||
|
||||
case OP_IFNOT:
|
||||
if(!OPA->_int)
|
||||
st += st->b - 1; /* -1 to offset the st++ */
|
||||
break;
|
||||
|
||||
case OP_IF:
|
||||
if(OPA->_int)
|
||||
st += st->b - 1; /* -1 to offset the st++ */
|
||||
break;
|
||||
|
||||
case OP_GOTO:
|
||||
st += st->a - 1; /* -1 to offset the st++ */
|
||||
break;
|
||||
case OP_IFNOT: if(!OPA->_int) st += st->b - 1; break;
|
||||
case OP_IF: if(OPA->_int) st += st->b - 1; break;
|
||||
case OP_GOTO: st += st->a - 1; break;
|
||||
|
||||
case OP_CALL0:
|
||||
case OP_CALL1:
|
||||
|
@ -649,7 +628,7 @@ void PR_ExecuteProgram(func_t fnum)
|
|||
pr_xstatement = st - pr_statements;
|
||||
PR_RunError("Bad opcode %" PRIi32 "", st->op);
|
||||
}
|
||||
} /* end of while(1) loop */
|
||||
}
|
||||
}
|
||||
#undef OPA
|
||||
#undef OPB
|
||||
|
|
|
@ -19,10 +19,149 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __PROGDEFS_H
|
||||
#define __PROGDEFS_H
|
||||
#ifndef spingle__progdefs_h
|
||||
#define spingle__progdefs_h
|
||||
|
||||
#include "progdefs.q1"
|
||||
typedef struct
|
||||
{
|
||||
int32_t pad[28];
|
||||
int32_t self;
|
||||
int32_t other;
|
||||
int32_t world;
|
||||
float time;
|
||||
float frametime;
|
||||
float force_retouch;
|
||||
string_t mapname;
|
||||
float deathmatch;
|
||||
float coop;
|
||||
float teamplay;
|
||||
float serverflags;
|
||||
float total_secrets;
|
||||
float total_monsters;
|
||||
float found_secrets;
|
||||
float killed_monsters;
|
||||
float parm1;
|
||||
float parm2;
|
||||
float parm3;
|
||||
float parm4;
|
||||
float parm5;
|
||||
float parm6;
|
||||
float parm7;
|
||||
float parm8;
|
||||
float parm9;
|
||||
float parm10;
|
||||
float parm11;
|
||||
float parm12;
|
||||
float parm13;
|
||||
float parm14;
|
||||
float parm15;
|
||||
float parm16;
|
||||
vec3_t v_forward;
|
||||
vec3_t v_up;
|
||||
vec3_t v_right;
|
||||
float trace_allsolid;
|
||||
float trace_startsolid;
|
||||
float trace_fraction;
|
||||
vec3_t trace_endpos;
|
||||
vec3_t trace_plane_normal;
|
||||
float trace_plane_dist;
|
||||
int32_t trace_ent;
|
||||
float trace_inopen;
|
||||
float trace_inwater;
|
||||
int32_t msg_entity;
|
||||
func_t main;
|
||||
func_t StartFrame;
|
||||
func_t PlayerPreThink;
|
||||
func_t PlayerPostThink;
|
||||
func_t ClientKill;
|
||||
func_t ClientConnect;
|
||||
func_t PutClientInServer;
|
||||
func_t ClientDisconnect;
|
||||
func_t SetNewParms;
|
||||
func_t SetChangeParms;
|
||||
} globalvars_t;
|
||||
|
||||
#endif /* __PROGDEFS_H */
|
||||
typedef struct
|
||||
{
|
||||
float modelindex;
|
||||
vec3_t absmin;
|
||||
vec3_t absmax;
|
||||
float ltime;
|
||||
float movetype;
|
||||
float solid;
|
||||
vec3_t origin;
|
||||
vec3_t oldorigin;
|
||||
vec3_t velocity;
|
||||
vec3_t angles;
|
||||
vec3_t avelocity;
|
||||
vec3_t punchangle;
|
||||
string_t classname;
|
||||
string_t model;
|
||||
float frame;
|
||||
float skin;
|
||||
float effects;
|
||||
vec3_t mins;
|
||||
vec3_t maxs;
|
||||
vec3_t size;
|
||||
func_t touch;
|
||||
func_t use;
|
||||
func_t think;
|
||||
func_t blocked;
|
||||
float nextthink;
|
||||
int32_t groundentity;
|
||||
float health;
|
||||
float frags;
|
||||
float weapon;
|
||||
string_t weaponmodel;
|
||||
float weaponframe;
|
||||
float currentammo;
|
||||
float ammo_shells;
|
||||
float ammo_nails;
|
||||
float ammo_rockets;
|
||||
float ammo_cells;
|
||||
float items;
|
||||
float takedamage;
|
||||
int32_t chain;
|
||||
float deadflag;
|
||||
vec3_t view_ofs;
|
||||
float button0;
|
||||
float button1;
|
||||
float button2;
|
||||
float impulse;
|
||||
float fixangle;
|
||||
vec3_t v_angle;
|
||||
float idealpitch;
|
||||
string_t netname;
|
||||
int32_t enemy;
|
||||
float flags;
|
||||
float colormap;
|
||||
float team;
|
||||
float max_health;
|
||||
float teleport_time;
|
||||
float armortype;
|
||||
float armorvalue;
|
||||
float waterlevel;
|
||||
float watertype;
|
||||
float ideal_yaw;
|
||||
float yaw_speed;
|
||||
int32_t aiment;
|
||||
int32_t goalentity;
|
||||
float spawnflags;
|
||||
string_t target;
|
||||
string_t targetname;
|
||||
float dmg_take;
|
||||
float dmg_save;
|
||||
int32_t dmg_inflictor;
|
||||
int32_t owner;
|
||||
vec3_t movedir;
|
||||
string_t message;
|
||||
float sounds;
|
||||
string_t noise;
|
||||
string_t noise1;
|
||||
string_t noise2;
|
||||
string_t noise3;
|
||||
} entvars_t;
|
||||
|
||||
#define PROGHEADER_CRC 5927
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,143 +0,0 @@
|
|||
|
||||
/* file generated by qcc, do not modify */
|
||||
|
||||
typedef struct
|
||||
{ int32_t pad[28];
|
||||
int32_t self;
|
||||
int32_t other;
|
||||
int32_t world;
|
||||
float time;
|
||||
float frametime;
|
||||
float force_retouch;
|
||||
string_t mapname;
|
||||
float deathmatch;
|
||||
float coop;
|
||||
float teamplay;
|
||||
float serverflags;
|
||||
float total_secrets;
|
||||
float total_monsters;
|
||||
float found_secrets;
|
||||
float killed_monsters;
|
||||
float parm1;
|
||||
float parm2;
|
||||
float parm3;
|
||||
float parm4;
|
||||
float parm5;
|
||||
float parm6;
|
||||
float parm7;
|
||||
float parm8;
|
||||
float parm9;
|
||||
float parm10;
|
||||
float parm11;
|
||||
float parm12;
|
||||
float parm13;
|
||||
float parm14;
|
||||
float parm15;
|
||||
float parm16;
|
||||
vec3_t v_forward;
|
||||
vec3_t v_up;
|
||||
vec3_t v_right;
|
||||
float trace_allsolid;
|
||||
float trace_startsolid;
|
||||
float trace_fraction;
|
||||
vec3_t trace_endpos;
|
||||
vec3_t trace_plane_normal;
|
||||
float trace_plane_dist;
|
||||
int32_t trace_ent;
|
||||
float trace_inopen;
|
||||
float trace_inwater;
|
||||
int32_t msg_entity;
|
||||
func_t main;
|
||||
func_t StartFrame;
|
||||
func_t PlayerPreThink;
|
||||
func_t PlayerPostThink;
|
||||
func_t ClientKill;
|
||||
func_t ClientConnect;
|
||||
func_t PutClientInServer;
|
||||
func_t ClientDisconnect;
|
||||
func_t SetNewParms;
|
||||
func_t SetChangeParms;
|
||||
} globalvars_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float modelindex;
|
||||
vec3_t absmin;
|
||||
vec3_t absmax;
|
||||
float ltime;
|
||||
float movetype;
|
||||
float solid;
|
||||
vec3_t origin;
|
||||
vec3_t oldorigin;
|
||||
vec3_t velocity;
|
||||
vec3_t angles;
|
||||
vec3_t avelocity;
|
||||
vec3_t punchangle;
|
||||
string_t classname;
|
||||
string_t model;
|
||||
float frame;
|
||||
float skin;
|
||||
float effects;
|
||||
vec3_t mins;
|
||||
vec3_t maxs;
|
||||
vec3_t size;
|
||||
func_t touch;
|
||||
func_t use;
|
||||
func_t think;
|
||||
func_t blocked;
|
||||
float nextthink;
|
||||
int32_t groundentity;
|
||||
float health;
|
||||
float frags;
|
||||
float weapon;
|
||||
string_t weaponmodel;
|
||||
float weaponframe;
|
||||
float currentammo;
|
||||
float ammo_shells;
|
||||
float ammo_nails;
|
||||
float ammo_rockets;
|
||||
float ammo_cells;
|
||||
float items;
|
||||
float takedamage;
|
||||
int32_t chain;
|
||||
float deadflag;
|
||||
vec3_t view_ofs;
|
||||
float button0;
|
||||
float button1;
|
||||
float button2;
|
||||
float impulse;
|
||||
float fixangle;
|
||||
vec3_t v_angle;
|
||||
float idealpitch;
|
||||
string_t netname;
|
||||
int32_t enemy;
|
||||
float flags;
|
||||
float colormap;
|
||||
float team;
|
||||
float max_health;
|
||||
float teleport_time;
|
||||
float armortype;
|
||||
float armorvalue;
|
||||
float waterlevel;
|
||||
float watertype;
|
||||
float ideal_yaw;
|
||||
float yaw_speed;
|
||||
int32_t aiment;
|
||||
int32_t goalentity;
|
||||
float spawnflags;
|
||||
string_t target;
|
||||
string_t targetname;
|
||||
float dmg_take;
|
||||
float dmg_save;
|
||||
int32_t dmg_inflictor;
|
||||
int32_t owner;
|
||||
vec3_t movedir;
|
||||
string_t message;
|
||||
float sounds;
|
||||
string_t noise;
|
||||
string_t noise1;
|
||||
string_t noise2;
|
||||
string_t noise3;
|
||||
} entvars_t;
|
||||
|
||||
#define PROGHEADER_CRC 5927
|
|
@ -20,20 +20,20 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_PROGS_H
|
||||
#define _QUAKE_PROGS_H
|
||||
#ifndef spingle__progs_h
|
||||
#define spingle__progs_h
|
||||
|
||||
#include "pr_comp.h" /* defs shared with qcc */
|
||||
#include "progdefs.h" /* generated by program cdefs */
|
||||
|
||||
typedef union eval_s
|
||||
{
|
||||
string_t string;
|
||||
float _float;
|
||||
float vector[3];
|
||||
func_t function;
|
||||
int32_t _int;
|
||||
int32_t edict;
|
||||
string_t string;
|
||||
float _float;
|
||||
float vector[3];
|
||||
func_t function;
|
||||
int32_t _int;
|
||||
int32_t edict;
|
||||
} eval_t;
|
||||
|
||||
#define MAX_ENT_LEAFS 32
|
||||
|
@ -59,13 +59,13 @@ typedef struct edict_s
|
|||
|
||||
//============================================================================
|
||||
|
||||
extern dprograms_t *progs;
|
||||
extern dfunction_t *pr_functions;
|
||||
extern dstatement_t *pr_statements;
|
||||
extern globalvars_t *pr_global_struct;
|
||||
extern float *pr_globals; /* same as pr_global_struct */
|
||||
extern dprograms_t *progs;
|
||||
extern dfunction_t *pr_functions;
|
||||
extern dstatement_t *pr_statements;
|
||||
extern globalvars_t *pr_global_struct;
|
||||
extern float *pr_globals;
|
||||
|
||||
extern int32_t pr_edict_size; /* in bytes */
|
||||
extern int32_t pr_edict_size;
|
||||
|
||||
|
||||
void PR_Init(void);
|
||||
|
@ -131,14 +131,10 @@ extern int32_t pr_xstatement;
|
|||
extern uint16_t pr_crc;
|
||||
|
||||
noreturn void PR_RunError(const char *error, ...) FUNC_PRINTF(1, 2);
|
||||
#ifdef __WATCOMC__
|
||||
#pragma aux PR_RunError aborts;
|
||||
#endif
|
||||
|
||||
void ED_PrintEdicts(void);
|
||||
void ED_PrintNum(int32_t ent);
|
||||
|
||||
eval_t *GetEdictFieldValue(edict_t *ed, const char *field);
|
||||
|
||||
#endif /* _QUAKE_PROGS_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,10 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_PROTOCOL_H
|
||||
#define _QUAKE_PROTOCOL_H
|
||||
|
||||
// protocol.h -- communications protocols
|
||||
#ifndef spingle__protocol_h
|
||||
#define spingle__protocol_h
|
||||
|
||||
#define PROTOCOL_NETQUAKE 15 //johnfitz -- standard quake protocol
|
||||
#define PROTOCOL_FITZQUAKE 666 //johnfitz -- added new protocol for fitzquake 0.85
|
||||
|
@ -253,5 +251,4 @@ typedef struct
|
|||
float upmove;
|
||||
} usercmd_t;
|
||||
|
||||
#endif /* _QUAKE_PROTOCOL_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef Q_CTYPE_H
|
||||
#define Q_CTYPE_H
|
||||
#ifndef spingle__q_ctype_h
|
||||
#define spingle__q_ctype_h
|
||||
|
||||
static inline int32_t q_isascii(int32_t c)
|
||||
{
|
||||
|
@ -101,4 +101,4 @@ static inline int32_t q_toupper(int32_t c)
|
|||
return ((q_islower(c)) ? (c & ~('a' - 'A')) : c);
|
||||
}
|
||||
|
||||
#endif /* Q_CTYPE_H */
|
||||
#endif
|
||||
|
|
|
@ -21,18 +21,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef QUAKEDEFS_H
|
||||
#define QUAKEDEFS_H
|
||||
#ifndef spingle__q_defs_h
|
||||
#define spingle__q_defs_h
|
||||
|
||||
// quakedef.h -- primary header for client
|
||||
#define ENGINE_NAME "spingle"
|
||||
#define VERSION "6.90"
|
||||
|
||||
#define VERSION "1.09"
|
||||
#define FITZQUAKE_VERSION "0.85" //johnfitz
|
||||
#define QUAKESPASM_VERSION "0.93.1"
|
||||
//#define PARANOID // speed sapping error checking
|
||||
|
||||
//define PARANOID // speed sapping error checking
|
||||
|
||||
#define GAMENAME "id1" // directory to look in by default
|
||||
#define GAMENAME "id1" // directory to look in by default
|
||||
|
||||
#include "q_stdinc.h"
|
||||
|
||||
|
@ -168,6 +165,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
#define SOUND_CHANNELS 8
|
||||
|
||||
typedef enum {ST_SYNC = 0, ST_RAND } synctype_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const char *basedir;
|
||||
|
@ -202,9 +201,6 @@ typedef struct
|
|||
#include "platform.h"
|
||||
#include <SDL.h>
|
||||
#include <SDL_opengl.h>
|
||||
#ifndef APIENTRY
|
||||
#define APIENTRY
|
||||
#endif
|
||||
|
||||
#include "console.h"
|
||||
#include "wad.h"
|
||||
|
@ -272,10 +268,6 @@ void Host_Shutdown(void);
|
|||
void Host_Callback_Notify(cvar_t *var); /* callback function for CVAR_NOTIFY */
|
||||
noreturn void Host_Error(const char *error, ...) FUNC_PRINTF(1, 2);
|
||||
noreturn void Host_EndGame(const char *message, ...) FUNC_PRINTF(1, 2);
|
||||
#ifdef __WATCOMC__
|
||||
#pragma aux Host_Error aborts;
|
||||
#pragma aux Host_EndGame aborts;
|
||||
#endif
|
||||
void Host_Frame(float time);
|
||||
void Host_Quit_f(void);
|
||||
void Host_ClientCommands(const char *fmt, ...) FUNC_PRINTF(1, 2);
|
||||
|
@ -294,5 +286,4 @@ extern int32_t current_skill; // skill level for currently loaded leve
|
|||
|
||||
extern bool isDedicated;
|
||||
|
||||
#endif /* QUAKEDEFS_H */
|
||||
|
||||
#endif
|
|
@ -22,10 +22,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// sound.h -- client sound i/o functions
|
||||
|
||||
#ifndef __QUAKE_SOUND__
|
||||
#define __QUAKE_SOUND__
|
||||
#ifndef spingle__q_sound_h
|
||||
#define spingle__q_sound_h
|
||||
|
||||
/* !!! if this is changed, it must be changed in asm_i386.h too !!! */
|
||||
typedef struct
|
||||
{
|
||||
int32_t left;
|
||||
|
@ -186,5 +185,4 @@ wavinfo_t GetWavinfo(const char *name, byte *wav, int32_t wavlength);
|
|||
|
||||
void SND_InitScaletable(void);
|
||||
|
||||
#endif /* __QUAKE_SOUND__ */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,8 +26,10 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef __QSTDINC_H
|
||||
#define __QSTDINC_H
|
||||
#ifndef spingle__q_stdinc_h
|
||||
#define spingle__q_stdinc_h
|
||||
|
||||
#include "arch_def.h"
|
||||
|
||||
#include <limits.h>
|
||||
#include <stdarg.h>
|
||||
|
@ -40,7 +42,7 @@
|
|||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifndef _WIN32
|
||||
#if !PLATFORM_IS(WINDOWS)
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
|
||||
|
@ -70,28 +72,28 @@ typedef vec_t vec5_t[5];
|
|||
#if !defined(PATH_MAX)
|
||||
/* equivalent values? */
|
||||
#if defined(MAXPATHLEN)
|
||||
#define PATH_MAX MAXPATHLEN
|
||||
#elif defined(_WIN32) && defined(_MAX_PATH)
|
||||
#define PATH_MAX _MAX_PATH
|
||||
#elif defined(_WIN32) && defined(MAX_PATH)
|
||||
#define PATH_MAX MAX_PATH
|
||||
#else /* fallback */
|
||||
#define PATH_MAX 1024
|
||||
#define PATH_MAX MAXPATHLEN
|
||||
#elif defined(_MAX_PATH)
|
||||
#define PATH_MAX _MAX_PATH
|
||||
#elif defined(MAX_PATH)
|
||||
#define PATH_MAX MAX_PATH
|
||||
#else
|
||||
#error "no PATH_MAX available"
|
||||
#endif
|
||||
#endif
|
||||
#endif /* PATH_MAX */
|
||||
|
||||
#define MAX_OSPATH PATH_MAX
|
||||
|
||||
/* function attributes, etc */
|
||||
#if defined(__GNUC__)
|
||||
#if PLATFORM_IS_GNUC
|
||||
#define FUNC_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
|
||||
#else
|
||||
#define FUNC_PRINTF(x,y)
|
||||
#endif
|
||||
|
||||
/* argument format attributes for function pointers are supported for gcc >= 3.1 */
|
||||
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0))
|
||||
#define FUNCP_PRINTF FUNC_PRINTF
|
||||
#if PLATFORM_IS_GNUC >= 3
|
||||
#define FUNCP_PRINTF FUNC_PRINTF
|
||||
#else
|
||||
#define FUNCP_PRINTF(x,y)
|
||||
#endif
|
||||
|
@ -99,4 +101,4 @@ typedef vec_t vec5_t[5];
|
|||
#define arraysizeof(a) (sizeof(a) / sizeof(*a))
|
||||
#define strsizeof(a) (sizeof(a) - 1)
|
||||
|
||||
#endif /* __QSTDINC_H */
|
||||
#endif
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
//r_alias.c -- alias model rendering
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
extern cvar_t r_drawflat, gl_overbright_models, gl_fullbrights, r_lerpmodels, r_lerpmove; //johnfitz
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// r_brush.c: brush model rendering. renamed from r_surf.c
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
extern cvar_t gl_fullbrights, r_drawflat, gl_overbright, r_oldwater; //johnfitz
|
||||
extern cvar_t gl_zfix; // QuakeSpasm z-fighting fix
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
#define MAX_PARTICLES 2048 // default max # of particles at one
|
||||
// time
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
//r_sprite.c -- sprite model rendering
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
/*
|
||||
================
|
||||
|
@ -124,7 +124,7 @@ void R_DrawSpriteModel(entity_t *e)
|
|||
s_right = v_right;
|
||||
break;
|
||||
case SPR_VP_PARALLEL_ORIENTED: //faces view plane, but obeys roll value
|
||||
angle = currententity->angles[ROLL] * M_PI_DIV_180;
|
||||
angle = currententity->angles[ROLL] * PI_DIV_180;
|
||||
sr = sin(angle);
|
||||
cr = cos(angle);
|
||||
v_right[0] = vright[0] * cr + vup[0] * sr;
|
||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// r_world.c: world model rendering
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
extern cvar_t gl_fullbrights, r_drawflat, gl_overbright, r_oldwater, r_oldskyleaf, r_showtris; //johnfitz
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_RENDER_H
|
||||
#define _QUAKE_RENDER_H
|
||||
#ifndef spingle__render_h
|
||||
#define spingle__render_h
|
||||
|
||||
// refresh.h -- public interface to refresh functions
|
||||
|
||||
|
@ -174,5 +174,4 @@ void D_DeleteSurfaceCache(void);
|
|||
void D_InitCaches(void *buffer, int32_t size);
|
||||
void R_SetVrect(vrect_t *pvrect, vrect_t *pvrectin, int32_t lineadj);
|
||||
|
||||
#endif /* _QUAKE_RENDER_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
// sbar.c -- status bar code
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
|
||||
int32_t sb_updates; // if >= vid.numpages, no update needed
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_SBAR_H
|
||||
#define _QUAKE_SBAR_H
|
||||
#ifndef spingle__sbar_h
|
||||
#define spingle__sbar_h
|
||||
|
||||
// the status bar is only redrawn if something has changed, but if anything
|
||||
// does, the entire thing will be redrawn for the next vid.numpages frames.
|
||||
|
@ -42,5 +42,4 @@ void Sbar_IntermissionOverlay(void);
|
|||
|
||||
void Sbar_FinaleOverlay(void);
|
||||
|
||||
#endif /* _QUAKE_SBAR_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_SCREEN_H
|
||||
#define _QUAKE_SCREEN_H
|
||||
#ifndef spingle__screen_h
|
||||
#define spingle__screen_h
|
||||
|
||||
// screen.h
|
||||
|
||||
|
@ -81,5 +81,4 @@ extern cvar_t scr_crosshairscale;
|
|||
|
||||
extern int32_t scr_tileclear_updates; //johnfitz
|
||||
|
||||
#endif /* _QUAKE_SCREEN_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _QUAKE_SERVER_H
|
||||
#define _QUAKE_SERVER_H
|
||||
#ifndef spingle__server_h
|
||||
#define spingle__server_h
|
||||
|
||||
// server.h
|
||||
|
||||
|
@ -228,5 +228,4 @@ void SV_RunClients(void);
|
|||
void SV_SaveSpawnparms();
|
||||
void SV_SpawnServer(const char *server);
|
||||
|
||||
#endif /* _QUAKE_SERVER_H */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "snd_codec.h"
|
||||
#include "snd_codeci.h"
|
||||
|
||||
|
@ -62,19 +62,19 @@ void S_CodecInit(void)
|
|||
/* Register in the inverse order
|
||||
* of codec choice preference: */
|
||||
S_CodecRegister(&umx_codec);
|
||||
#ifdef USE_CODEC_MIKMOD
|
||||
#if defined(USE_CODEC_MIKMOD)
|
||||
S_CodecRegister(&mikmod_codec);
|
||||
#endif
|
||||
#ifdef USE_CODEC_FLAC
|
||||
#if defined(USE_CODEC_FLAC)
|
||||
S_CodecRegister(&flac_codec);
|
||||
#endif
|
||||
#ifdef USE_CODEC_OPUS
|
||||
#if defined(USE_CODEC_OPUS)
|
||||
S_CodecRegister(&opus_codec);
|
||||
#endif
|
||||
#ifdef USE_CODEC_VORBIS
|
||||
#if defined(USE_CODEC_VORBIS)
|
||||
S_CodecRegister(&vorbis_codec);
|
||||
#endif
|
||||
#ifdef USE_CODEC_MP3
|
||||
#if defined(USE_CODEC_MP3)
|
||||
S_CodecRegister(&mp3_codec);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifndef _SND_CODEC_H_
|
||||
#define _SND_CODEC_H_
|
||||
#ifndef spingle__snd_codec_h
|
||||
#define spingle__snd_codec_h
|
||||
|
||||
typedef struct snd_info_s
|
||||
{
|
||||
|
@ -101,5 +101,4 @@ int32_t S_CodecIsAvailable(uint32_t type);
|
|||
/* return 1 if available, 0 if codec failed init
|
||||
* or -1 if no such codec is present. */
|
||||
|
||||
#endif /* _SND_CODEC_H_ */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifndef _SND_CODECI_H_
|
||||
#define _SND_CODECI_H_
|
||||
#ifndef spingle__snd_codeci_h
|
||||
#define spingle__snd_codeci_h
|
||||
|
||||
/* Codec internals */
|
||||
typedef bool (*CODEC_INIT)(void);
|
||||
|
@ -51,5 +51,4 @@ struct snd_codec_s
|
|||
bool S_CodecForwardStream(snd_stream_t *stream, uint32_t type);
|
||||
/* Forward a stream to another codec of 'type' type. */
|
||||
|
||||
#endif /* _SND_CODECI_H_ */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
// snd_dma.c -- main control for any streaming sound output device
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "q_defs.h"
|
||||
#include "snd_codec.h"
|
||||
#include "bgmusic.h"
|
||||
|
||||
|
@ -79,7 +79,7 @@ cvar_t loadas8bit = {"loadas8bit", "0", CVAR_NONE};
|
|||
cvar_t sndspeed = {"sndspeed", "11025", CVAR_NONE};
|
||||
cvar_t snd_mixspeed = {"snd_mixspeed", "44100", CVAR_NONE};
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if PLATFORM_IS(WINDOWS)
|
||||
#define SND_FILTERQUALITY_DEFAULT "5"
|
||||
#else
|
||||
#define SND_FILTERQUALITY_DEFAULT "1"
|
||||
|
@ -189,8 +189,6 @@ void S_Init(void)
|
|||
if(safemode || COM_CheckParm("-nosound"))
|
||||
return;
|
||||
|
||||
Con_Printf("\nSound Initialization\n");
|
||||
|
||||
Cmd_AddCommand("play", S_Play);
|
||||
Cmd_AddCommand("playvol", S_PlayVol);
|
||||
Cmd_AddCommand("stopsound", S_StopAllSoundsC);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue