mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 07:21:58 +00:00
Merge tag 'quakespasm-0.94.6' into qss
This commit is contained in:
commit
1b911ae1f8
28 changed files with 306 additions and 303 deletions
|
@ -7,14 +7,14 @@
|
|||
|
||||
<sect> About <p>
|
||||
|
||||
<url url="http://quakespasm.sourceforge.net" name="QuakeSpasm">
|
||||
is a modern, cross-platform Quake engine based on <url url="http://www.celephais.net/fitzquake" name="FitzQuake">.
|
||||
QuakeSpasm is a modern cross-platform Quake engine based on FitzQuake.
|
||||
</p><p>
|
||||
It includes support for 64 bit CPUs and custom music playback, a new
|
||||
sound driver, some graphical niceities, and numerous bug-fixes and other improvements.
|
||||
</p><p>
|
||||
Quakespasm utilizes either the SDL or SDL2 frameworks, so choose which one works best for you.
|
||||
SDL is probably less buggy, but SDL2 has nicer features and smoother mouse input - though no CD support.
|
||||
Quakespasm utilizes SDL-1.2 or SDL2 frameworks, choose one which works best for you.
|
||||
SDL2 has nicer features, smoother mouse input and better support for newer operating systems,
|
||||
but no CD-ROM support.
|
||||
|
||||
<sect> Downloads <p>
|
||||
|
||||
|
@ -50,8 +50,8 @@ Quakespasm can play various external music formats, including MP3, OGG and FLAC.
|
|||
<itemize>
|
||||
<item>Tracks should be named like "track02.ogg", "track03.ogg" ... (there is no track01) and placed into "Quake/id1/music".
|
||||
<item>Unix users may need some extra libraries installed: "libmad" or "libmpg123" for MP3, and "libogg" and "libvorbis" for OGG.
|
||||
<item>As of 0.90.0, music is played back at 44100 Hz by default with no need to adjust "-sndspeed".
|
||||
<item>Use the "-noextmusic" option to disable this feature.
|
||||
<item>As of 0.90.0, music is played back at 44100 Hz by default with no need to adjust "-sndspeed".
|
||||
<item>See <url url="Quakespasm-Music.txt"> for more details.
|
||||
</itemize>
|
||||
|
||||
|
@ -122,15 +122,11 @@ Compile time options include
|
|||
<item><bf>make SDL_CONFIG=</bf><em>/PATH/TO/sdl-config</em> for unusual SDL installations
|
||||
<item><bf>make USE_SDL2=1</bf> to compile against SDL2 instead of SDL-1.2
|
||||
</itemize>
|
||||
|
||||
<sect1> Windows <p>
|
||||
QuakeSpasm developers cross-compile windows binaries using <url url="http://mingw-w64.sf.net" name="MinGW-w64"> and <url url="https://mingw.osdn.io" name="MinGW">.
|
||||
|
||||
The project can also be built using Microsoft Visual Studio 2005 and newer versions.</p>
|
||||
|
||||
<sect1> Mac OS X <p>
|
||||
A Quakespasm App (including program launcher and update framework) can be made using the <bf>Xcode</bf> template found in the MacOSX directory.
|
||||
|
||||
Alternatively, have a look at <bf>Makefile.darwin</bf> for more instructions on building from a console.
|
||||
</p>
|
||||
|
||||
|
@ -140,6 +136,17 @@ QuakeSpasm 0.94.0 has initial support for playing the 2021 re-release content: C
|
|||
|
||||
<sect> Changes<p>
|
||||
|
||||
<sect1> Changes in 0.94.6<p>
|
||||
<itemize>
|
||||
<item> Server protocol size check fixes for sounds and particles.
|
||||
<item> An invalid memory access fix in the jpg screenshot writer.
|
||||
<item> Basic dependency tracking in Makefiles.
|
||||
<item> Backported a few fixes to the bundled SDL2-2.0.22 version.
|
||||
<item> Minor build fix for C++ compilers.
|
||||
<item> Other small improvements elsewhere in the code.
|
||||
</itemize>
|
||||
</p>
|
||||
|
||||
<sect1> Changes in 0.94.5<p>
|
||||
<itemize>
|
||||
<item> Compatibility with new SDL2 versioning scheme.
|
||||
|
@ -323,24 +330,20 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<item> Prevent a possible buffer overflow in Cbuf_Execute (old Q1/Q2 bug).
|
||||
<item> Prevent a possible vulnerability in MSG_ReadString (old Q1/Q2 bug).
|
||||
</itemize>
|
||||
|
||||
<sect2> Visual improvements
|
||||
<itemize>
|
||||
<item> New cvars r_lavaalpha, r_slimealpha, r_telealpha for fine-tuning specific liquid opacities (from DirectQ/RMQEngine, non-archived, default to 0), and new worldspawn keys _wateralpha, _lavaalpha, _slimealpha, _telealpha, _skyfog (unique to Quakespasm, similar to the behaviour of the "fog" worldspawn key).
|
||||
<item> GLSL gamma is now supported on older hardware without NPOT extension.
|
||||
</itemize>
|
||||
|
||||
<sect2> Interface improvements
|
||||
<itemize>
|
||||
<item> New r_pos command to show player position.
|
||||
<item> NaN detection in traceline with "developer 1" set now warns instead of errors.
|
||||
</itemize>
|
||||
|
||||
<sect2> Code cleanup / Other
|
||||
<itemize>
|
||||
<item> Update third-party libraries.
|
||||
</itemize>
|
||||
|
||||
<sect2> Raised limits
|
||||
<itemize>
|
||||
<item> Default max_edicts 8192 (was 2048) and no longer saved to config.cfg.
|
||||
|
@ -362,13 +365,11 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<item> Fix viewmodel not lerping on extended-limit maps.
|
||||
<item> Fix crash on out-of-bounds skin number.
|
||||
</itemize>
|
||||
|
||||
<sect2> Performance
|
||||
<itemize>
|
||||
<item> Use multithreaded OpenGL on OS X for better performance.
|
||||
<item> New, faster mdl renderer using GLSL. Disable with "-noglslalias".
|
||||
</itemize>
|
||||
|
||||
<sect2> Visual improvements
|
||||
<itemize>
|
||||
<item> New gamma correction implementation using GLSL. Fixes all known gamma issues (affecting the full display, persisting after quitting, or darkening the screen on OS X). Disable with "-noglslgamma".
|
||||
|
@ -376,7 +377,6 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<item> Shadows use stencil buffer to avoid overlapping artifacts (from MarkV.)
|
||||
<item> r_noshadow_list cvar added (from MarkV.)
|
||||
</itemize>
|
||||
|
||||
<sect2> Interface improvements
|
||||
<itemize>
|
||||
<item> Support pausing demo playback with the "pause" command.
|
||||
|
@ -385,7 +385,6 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<item> Silence "exceeded standard limit" messages unless developer cvar is >= 1.
|
||||
<item> Some spam moved from developer 1 to 2: "can't find tga/lit/ent", "trying to load ent", "bad chunk length", "meshing", "PR_AlocStringSlots: realloc'ing"
|
||||
</itemize>
|
||||
|
||||
<sect2> Code cleanup
|
||||
<itemize>
|
||||
<item> Clean up IDE project files to build on fresh systems.
|
||||
|
@ -594,7 +593,6 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<item>Changes to cvar persistence gl_flashblend (default 0), r_shadow, r_wateralpha, r_dynamic, r_novis
|
||||
</itemize>
|
||||
|
||||
|
||||
<sect> Copyright <p>
|
||||
<itemize>
|
||||
<item>Quake and Quakespasm are released under the <url url="http://www.gnu.org/licenses/gpl-2.0.html" name="GNU GENERAL PUBLIC LICENSE Version 2">
|
||||
|
|
Binary file not shown.
|
@ -17,7 +17,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.94.5</string>
|
||||
<string>0.94.6</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
|
|
|
@ -71,7 +71,7 @@ assert can have unique static variables associated with it.
|
|||
|
||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 supports __func__ as a standard. */
|
||||
# define SDL_FUNCTION __func__
|
||||
#elif ((__GNUC__ >= 2) || defined(_MSC_VER) || defined (__WATCOMC__))
|
||||
#elif ((defined(__GNUC__) && (__GNUC__ >= 2)) || defined(_MSC_VER) || defined (__WATCOMC__))
|
||||
# define SDL_FUNCTION __FUNCTION__
|
||||
#else
|
||||
# define SDL_FUNCTION "???"
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#define SDL_REVISION "@1594e60f8c154d3c8cea175fe88694e5aaf5e7bc"
|
||||
#define SDL_REVISION "@a788189020ac220e3c44e1383e0a1621b3309f8f"
|
||||
#define SDL_REVISION_NUMBER 0
|
||||
|
|
|
@ -61,6 +61,8 @@ extern "C" {
|
|||
*/
|
||||
#define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0)
|
||||
|
||||
typedef struct SDL_BlitMap SDL_BlitMap; /* this is an opaque type. */
|
||||
|
||||
/**
|
||||
* \brief A collection of pixels used in software blitting.
|
||||
*
|
||||
|
@ -88,7 +90,7 @@ typedef struct SDL_Surface
|
|||
SDL_Rect clip_rect; /**< Read-only */
|
||||
|
||||
/** info for fast blit mapping to other surfaces */
|
||||
struct SDL_BlitMap *map; /**< Private */
|
||||
SDL_BlitMap *map; /**< Private */
|
||||
|
||||
/** Reference count -- used when freeing surface */
|
||||
int refcount; /**< Read-mostly */
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
#define _begin_code_h
|
||||
|
||||
#ifndef SDL_DEPRECATED
|
||||
# if (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */
|
||||
# if defined(__GNUC__) && (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */
|
||||
# define SDL_DEPRECATED __attribute__((deprecated))
|
||||
# else
|
||||
# define SDL_DEPRECATED
|
||||
|
|
Binary file not shown.
|
@ -55,7 +55,7 @@ PKG_CONFIG ?= pkg-config
|
|||
CPUFLAGS=
|
||||
LDFLAGS =
|
||||
DFLAGS ?=
|
||||
CFLAGS ?= -Wall -Wno-trigraphs
|
||||
CFLAGS ?= -Wall -Wno-trigraphs -MMD
|
||||
CFLAGS += $(call check_gcc,-std=gnu11,)
|
||||
CFLAGS += $(CPUFLAGS)
|
||||
ifneq ($(DEBUG),0)
|
||||
|
@ -65,7 +65,7 @@ do_strip=
|
|||
else
|
||||
DFLAGS += -DNDEBUG
|
||||
CFLAGS += -O2
|
||||
# -fno-asynchronous-unwind-tables
|
||||
#CFLAGS += -fno-asynchronous-unwind-tables
|
||||
CFLAGS += $(call check_gcc,-fweb,)
|
||||
CFLAGS += $(call check_gcc,-frename-registers,)
|
||||
cmd_strip=$(STRIP) $(1)
|
||||
|
@ -198,23 +198,8 @@ endif
|
|||
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODECLIBS)
|
||||
|
||||
# ---------------------------
|
||||
# targets
|
||||
# ---------------------------
|
||||
|
||||
.PHONY: clean debug release
|
||||
|
||||
DEFAULT_TARGET := quakespasm
|
||||
|
||||
# ---------------------------
|
||||
# rules
|
||||
# ---------------------------
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# objects
|
||||
# ----------------------------------------------------------------------------
|
||||
# ---------------------------
|
||||
|
||||
MUSIC_OBJS:= bgmusic.o \
|
||||
snd_codec.o \
|
||||
|
@ -236,7 +221,6 @@ SYSOBJ_GL_VID:= gl_vidsdl.o
|
|||
SYSOBJ_NET := net_bsd.o net_udp.o
|
||||
SYSOBJ_SYS := pl_linux.o sys_sdl_unix.o
|
||||
SYSOBJ_MAIN:= main_sdl.o
|
||||
SYSOBJ_RES :=
|
||||
|
||||
GLOBJS = \
|
||||
gl_refrag.o \
|
||||
|
@ -303,24 +287,32 @@ OBJS := strlcat.o \
|
|||
sv_user.o \
|
||||
world.o \
|
||||
zone.o \
|
||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN) $(SYSOBJ_RES)
|
||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN)
|
||||
|
||||
# ------------------------
|
||||
# Linux build rules
|
||||
# ------------------------
|
||||
# ---------------------------
|
||||
# targets / rules
|
||||
# ---------------------------
|
||||
|
||||
.PHONY: clean debug release
|
||||
|
||||
DEFAULT_TARGET := quakespasm
|
||||
all: $(DEFAULT_TARGET)
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
|
||||
quakespasm: $(OBJS)
|
||||
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||
$(call do_strip,$@)
|
||||
|
||||
image.o: lodepng.c lodepng.h stb_image_write.h
|
||||
|
||||
release: quakespasm
|
||||
debug:
|
||||
$(error Use "make DEBUG=1")
|
||||
|
||||
clean:
|
||||
rm -f $(shell find . \( -name '*~' -o -name '#*#' -o -name '*.o' -o -name '*.res' -o -name $(DEFAULT_TARGET) \) -print)
|
||||
$(RM) *.o *.d $(DEFAULT_TARGET)
|
||||
|
||||
install: quakespasm
|
||||
cp quakespasm /usr/local/games/quake
|
||||
|
||||
sinclude $(OBJS:.o=.d)
|
||||
|
|
|
@ -50,12 +50,12 @@ CC ?= gcc
|
|||
LINKER = $(CC)
|
||||
LIPO ?= lipo
|
||||
|
||||
STRIP ?= strip
|
||||
STRIP ?= strip -S
|
||||
|
||||
CPUFLAGS=
|
||||
LDFLAGS =
|
||||
DFLAGS ?=
|
||||
CFLAGS ?= -Wall
|
||||
CFLAGS ?= -Wall -MMD
|
||||
# @rpath can be used when targeting 10.5+
|
||||
USE_RPATH=0
|
||||
# require 10.5 for 64 bit builds
|
||||
|
@ -97,7 +97,7 @@ do_strip=
|
|||
else
|
||||
DFLAGS += -DNDEBUG
|
||||
CFLAGS += -O2
|
||||
# -fno-asynchronous-unwind-tables
|
||||
#CFLAGS += -fno-asynchronous-unwind-tables
|
||||
CFLAGS += $(call check_gcc,-fweb,)
|
||||
CFLAGS += $(call check_gcc,-frename-registers,)
|
||||
cmd_strip=$(STRIP) $(1)
|
||||
|
@ -222,27 +222,8 @@ endif
|
|||
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODEC_LINK) $(CODECLIBS)
|
||||
|
||||
# ---------------------------
|
||||
# targets
|
||||
# ---------------------------
|
||||
|
||||
.PHONY: clean debug release
|
||||
|
||||
DEFAULT_TARGET := quakespasm
|
||||
|
||||
# ---------------------------
|
||||
# rules
|
||||
# ---------------------------
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
%.o: %.m
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
%.o: ../MacOSX/%.m
|
||||
$(CC) $(DFLAGS) -c -I../MacOSX $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# objects
|
||||
# ----------------------------------------------------------------------------
|
||||
# ---------------------------
|
||||
|
||||
MUSIC_OBJS:= bgmusic.o \
|
||||
snd_codec.o \
|
||||
|
@ -331,21 +312,34 @@ OBJS := strlcat.o \
|
|||
sv_user.o \
|
||||
world.o \
|
||||
zone.o \
|
||||
$(SYSOBJ_SYS) $(SYSOBJ_LAUNCHER) $(SYSOBJ_MAIN)
|
||||
$(SYSOBJ_SYS) \
|
||||
$(SYSOBJ_LAUNCHER) $(SYSOBJ_MAIN)
|
||||
|
||||
# ------------------------
|
||||
# darwin build rules
|
||||
# ------------------------
|
||||
# ---------------------------
|
||||
# targets / rules
|
||||
# ---------------------------
|
||||
|
||||
.PHONY: clean debug release
|
||||
|
||||
DEFAULT_TARGET := quakespasm
|
||||
all: $(DEFAULT_TARGET)
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
%.o: %.m
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
%.o: ../MacOSX/%.m
|
||||
$(CC) $(DFLAGS) -c -I../MacOSX $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
|
||||
quakespasm: $(OBJS)
|
||||
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||
$(call do_strip,$@)
|
||||
|
||||
image.o: lodepng.c lodepng.h stb_image_write.h
|
||||
|
||||
release: quakespasm
|
||||
debug:
|
||||
$(error Use "make DEBUG=1")
|
||||
|
||||
clean:
|
||||
rm -f $(shell find . \( -name '*~' -o -name '#*#' -o -name '*.o' -o -name '*.res' -o -name $(DEFAULT_TARGET) \) -print)
|
||||
$(RM) *.o *.d $(DEFAULT_TARGET)
|
||||
|
||||
sinclude $(OBJS:.o=.d)
|
||||
|
|
|
@ -53,7 +53,7 @@ LDFLAGS += -Wl,--large-address-aware #don't crash out with larger hunk sizes
|
|||
LDFLAGS += $(QSS_LDFLAGS)
|
||||
LDFLAGS += -Wl,--no-insert-timestamp #prevent non-determinism in the exe header. mustn't be used for dlls.
|
||||
DFLAGS ?=
|
||||
CFLAGS ?= -m32 -Wall -Wno-trigraphs
|
||||
CFLAGS ?= -m32 -Wall -Wno-trigraphs -MMD
|
||||
CFLAGS += $(call check_gcc,-std=gnu11,)
|
||||
CFLAGS += $(CPUFLAGS)
|
||||
CFLAGS += $(QSS_CFLAGS)
|
||||
|
@ -64,7 +64,7 @@ do_strip=
|
|||
else
|
||||
DFLAGS += -DNDEBUG
|
||||
CFLAGS += -O2
|
||||
# -fno-asynchronous-unwind-tables
|
||||
#CFLAGS += -fno-asynchronous-unwind-tables
|
||||
CFLAGS += $(call check_gcc,-fweb,)
|
||||
CFLAGS += $(call check_gcc,-frename-registers,)
|
||||
cmd_strip=$(STRIP) $(1)
|
||||
|
@ -185,25 +185,8 @@ endif
|
|||
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODEC_LINK) $(CODECLIBS)
|
||||
|
||||
# ---------------------------
|
||||
# targets
|
||||
# ---------------------------
|
||||
|
||||
.PHONY: clean debug release
|
||||
|
||||
DEFAULT_TARGET := quakespasm.exe
|
||||
|
||||
# ---------------------------
|
||||
# rules
|
||||
# ---------------------------
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
%.res: ../Windows/%.rc
|
||||
$(WINDRES) -I../Windows --output-format=coff --target=pe-i386 -o $@ $<
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# objects
|
||||
# ----------------------------------------------------------------------------
|
||||
# ---------------------------
|
||||
|
||||
MUSIC_OBJS:= bgmusic.o \
|
||||
snd_codec.o \
|
||||
|
@ -291,21 +274,31 @@ OBJS := strlcat.o \
|
|||
sv_user.o \
|
||||
world.o \
|
||||
zone.o \
|
||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN) $(SYSOBJ_RES)
|
||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN)
|
||||
|
||||
# ------------------------
|
||||
# MinGW build rules
|
||||
# ------------------------
|
||||
# ---------------------------
|
||||
# targets / rules
|
||||
# ---------------------------
|
||||
|
||||
quakespasm.exe: $(OBJS)
|
||||
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||
.PHONY: clean debug release
|
||||
|
||||
DEFAULT_TARGET := quakespasm.exe
|
||||
all: $(DEFAULT_TARGET)
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
%.res: ../Windows/%.rc
|
||||
$(WINDRES) -I../Windows --output-format=coff --target=pe-i386 -o $@ $<
|
||||
|
||||
quakespasm.exe: $(OBJS) $(SYSOBJ_RES)
|
||||
$(LINKER) $(OBJS) $(SYSOBJ_RES) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||
$(call do_strip,$@)
|
||||
|
||||
image.o: lodepng.c lodepng.h stb_image_write.h
|
||||
|
||||
release: quakespasm.exe
|
||||
debug:
|
||||
$(error Use "make DEBUG=1")
|
||||
|
||||
clean:
|
||||
rm -f $(shell find . \( -name '*~' -o -name '#*#' -o -name '*.o' -o -name '*.res' -o -name $(DEFAULT_TARGET) \) -print)
|
||||
$(RM) *.o *.d *.res $(DEFAULT_TARGET)
|
||||
|
||||
sinclude $(OBJS:.o=.d)
|
||||
|
|
|
@ -50,7 +50,7 @@ LDFLAGS = -m64 -mwindows -static-libgcc
|
|||
LDFLAGS += $(QSS_LDFLAGS)
|
||||
LDFLAGS += -Wl,--no-insert-timestamp #prevent non-determinism in the exe header. mustn't be used for dlls.
|
||||
DFLAGS ?=
|
||||
CFLAGS ?= -m64 -Wall -Wno-trigraphs
|
||||
CFLAGS ?= -m64 -Wall -Wno-trigraphs -MMD
|
||||
CFLAGS += $(call check_gcc,-std=gnu11,)
|
||||
CFLAGS += $(CPUFLAGS)
|
||||
CFLAGS += $(QSS_CFLAGS)
|
||||
|
@ -61,7 +61,7 @@ do_strip=
|
|||
else
|
||||
DFLAGS += -DNDEBUG
|
||||
CFLAGS += -O2
|
||||
# -fno-asynchronous-unwind-tables
|
||||
#CFLAGS += -fno-asynchronous-unwind-tables
|
||||
CFLAGS += $(call check_gcc,-fweb,)
|
||||
CFLAGS += $(call check_gcc,-frename-registers,)
|
||||
cmd_strip=$(STRIP) $(1)
|
||||
|
@ -177,25 +177,8 @@ endif
|
|||
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODEC_LINK) $(CODECLIBS)
|
||||
|
||||
# ---------------------------
|
||||
# targets
|
||||
# ---------------------------
|
||||
|
||||
.PHONY: clean debug release
|
||||
|
||||
DEFAULT_TARGET := quakespasm.exe
|
||||
|
||||
# ---------------------------
|
||||
# rules
|
||||
# ---------------------------
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
%.res: ../Windows/%.rc
|
||||
$(WINDRES) -I../Windows --output-format=coff --target=pe-x86-64 -o $@ $<
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# objects
|
||||
# ----------------------------------------------------------------------------
|
||||
# ---------------------------
|
||||
|
||||
MUSIC_OBJS:= bgmusic.o \
|
||||
snd_codec.o \
|
||||
|
@ -283,21 +266,31 @@ OBJS := strlcat.o \
|
|||
sv_user.o \
|
||||
world.o \
|
||||
zone.o \
|
||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN) $(SYSOBJ_RES)
|
||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN)
|
||||
|
||||
# ------------------------
|
||||
# MinGW-w64 build rules
|
||||
# ------------------------
|
||||
# ---------------------------
|
||||
# targets / rules
|
||||
# ---------------------------
|
||||
|
||||
quakespasm.exe: $(OBJS)
|
||||
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||
.PHONY: clean debug release
|
||||
|
||||
DEFAULT_TARGET := quakespasm.exe
|
||||
all: $(DEFAULT_TARGET)
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||
%.res: ../Windows/%.rc
|
||||
$(WINDRES) -I../Windows --output-format=coff --target=pe-x86-64 -o $@ $<
|
||||
|
||||
quakespasm.exe: $(OBJS) $(SYSOBJ_RES)
|
||||
$(LINKER) $(OBJS) $(SYSOBJ_RES) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||
$(call do_strip,$@)
|
||||
|
||||
image.o: lodepng.c lodepng.h stb_image_write.h
|
||||
|
||||
release: quakespasm.exe
|
||||
debug:
|
||||
$(error Use "make DEBUG=1")
|
||||
|
||||
clean:
|
||||
rm -f $(shell find . \( -name '*~' -o -name '#*#' -o -name '*.o' -o -name '*.res' -o -name $(DEFAULT_TARGET) \) -print)
|
||||
$(RM) *.o *.d *.res $(DEFAULT_TARGET)
|
||||
|
||||
sinclude $(OBJS:.o=.d)
|
||||
|
|
|
@ -301,8 +301,10 @@ void Cmd_Exec_f (void)
|
|||
|
||||
Cbuf_InsertText ("\n"); //just in case there was no trailing \n.
|
||||
Cbuf_InsertText (f);
|
||||
if (f != default_cfg) {
|
||||
Hunk_FreeToLowMark (mark);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -42,8 +42,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#undef min
|
||||
#undef max
|
||||
|
||||
#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \
|
||||
(defined(__cplusplus) && (__cplusplus >= 201103L))
|
||||
#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L))
|
||||
#define GENERIC_TYPES(x, separator) \
|
||||
x(int, i) separator \
|
||||
x(unsigned int, u) separator \
|
||||
|
|
|
@ -588,9 +588,7 @@ typedef struct targaheader_s {
|
|||
unsigned char pixel_size, attributes;
|
||||
} targaheader_t;
|
||||
|
||||
#define TARGAHEADERSIZE 18 //size on disk
|
||||
|
||||
targaheader_t targa_header;
|
||||
#define TARGAHEADERSIZE 18 /* size on disk */
|
||||
|
||||
int fgetLittleShort (FILE *f)
|
||||
{
|
||||
|
@ -676,6 +674,7 @@ byte *Image_LoadTGA (FILE *fin, int *width, int *height)
|
|||
int realrow; //johnfitz -- fix for upside-down targas
|
||||
qboolean upside_down; //johnfitz -- fix for upside-down targas
|
||||
stdio_buffer_t *buf;
|
||||
targaheader_t targa_header;
|
||||
|
||||
targa_header.id_length = fgetc(fin);
|
||||
targa_header.colormap_type = fgetc(fin);
|
||||
|
@ -1152,10 +1151,11 @@ qboolean Image_WritePNG (const char *name, byte *data, int width, int height, in
|
|||
#endif
|
||||
|
||||
lodepng_state_cleanup (&state);
|
||||
free (png);
|
||||
lodepng_free (png); /* png was allocated by lodepng */
|
||||
free (filters);
|
||||
if (!upsidedown)
|
||||
if (!upsidedown) {
|
||||
free (flipped);
|
||||
}
|
||||
|
||||
return (error == 0);
|
||||
}
|
||||
|
|
|
@ -87,6 +87,8 @@ int main(int argc, char *argv[])
|
|||
|
||||
Sys_Init();
|
||||
|
||||
Sys_Printf("Initializing "ENGINE_NAME_AND_VER"\n");
|
||||
|
||||
parms.memsize = DEFAULT_MEMORY;
|
||||
if (COM_CheckParm("-heapsize"))
|
||||
{ //in kb
|
||||
|
@ -106,13 +108,6 @@ int main(int argc, char *argv[])
|
|||
if (!parms.membase)
|
||||
Sys_Error ("Not enough memory free; check disk space\n");
|
||||
|
||||
Sys_Printf("Quake %1.2f (c) id Software\n", VERSION);
|
||||
Sys_Printf("GLQuake %1.2f (c) id Software\n", GLQUAKE_VERSION);
|
||||
Sys_Printf("FitzQuake %1.2f (c) John Fitzgibbons\n", FITZQUAKE_VERSION);
|
||||
Sys_Printf("FitzQuake SDL port (c) SleepwalkR, Baker\n");
|
||||
Sys_Printf("QuakeSpasm " QUAKESPASM_VER_STRING " (c) Ozkan Sezer, Eric Wasylishen & others\n");
|
||||
Sys_Printf("QuakeSpasm-Spiked (c) Spike\n");
|
||||
|
||||
Sys_Printf("Host_Init\n");
|
||||
Host_Init();
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
#define FITZQUAKE_VERSION 0.85 //johnfitz
|
||||
#define QUAKESPASM_VERSION 0.94
|
||||
#define QUAKESPASM_VER_PATCH 5 // helper to print a string like 0.94.4
|
||||
#define QUAKESPASM_VER_PATCH 6 // helper to print a string like 0.94.6
|
||||
#ifndef QUAKESPASM_VER_SUFFIX
|
||||
#define QUAKESPASM_VER_SUFFIX // optional version suffix string literal like "-beta1"
|
||||
#endif
|
||||
|
|
|
@ -93,6 +93,7 @@ static qboolean S_XMP_CodecOpenStream (snd_stream_t *stream)
|
|||
moddata = (byte *) Hunk_Alloc(len);
|
||||
FS_fread(moddata, 1, len, &stream->fh);
|
||||
if (xmp_load_module_from_memory(c, moddata, len) < 0) {
|
||||
Hunk_FreeToLowMark(mark);
|
||||
Con_DPrintf("Could not load module %s\n", stream->name);
|
||||
goto err1;
|
||||
}
|
||||
|
|
|
@ -381,7 +381,7 @@ static int stbiw__jpg_processDU(stbi__write_context *s, int *bitBuf, int *bitCnt
|
|||
int startpos = i;
|
||||
int nrzeroes;
|
||||
unsigned short bits[2];
|
||||
for (; DU[i]==0 && i<=end0pos; ++i) {
|
||||
for (; i<=end0pos && DU[i]==0; ++i) {
|
||||
}
|
||||
nrzeroes = i-startpos;
|
||||
if ( nrzeroes >= 16 ) {
|
||||
|
|
|
@ -1565,7 +1565,7 @@ void SV_StartParticle (vec3_t org, vec3_t dir, int color, int count)
|
|||
{
|
||||
int i, v;
|
||||
|
||||
if (sv.datagram.cursize > MAX_DATAGRAM-16)
|
||||
if (sv.datagram.cursize > MAX_DATAGRAM-18)
|
||||
return;
|
||||
MSG_WriteByte (&sv.datagram, svc_particle);
|
||||
MSG_WriteCoord (&sv.datagram, org[0], sv.protocolflags);
|
||||
|
@ -1601,7 +1601,7 @@ Larger attenuations will drop off. (max 4 attenuation)
|
|||
*/
|
||||
void SV_StartSound2 (edict_t *entity, float *origin, int channel, const char *sample, int volume, float attenuation, float speed, int flags, float timeoffset)
|
||||
{
|
||||
unsigned int sound_num, ent;
|
||||
unsigned int sound_num, ent, msgsize;
|
||||
int i, field_mask, client_mask;
|
||||
int p;
|
||||
client_t *cl;
|
||||
|
@ -1623,7 +1623,7 @@ void SV_StartSound2 (edict_t *entity, float *origin, int channel, const char *sa
|
|||
else if (channel > 7)
|
||||
Con_DPrintf ("SV_StartSound: channel = %i\n", channel);
|
||||
|
||||
if (sv.datagram.cursize > MAX_DATAGRAM-16)
|
||||
if (sv.datagram.cursize > MAX_DATAGRAM-21)
|
||||
return;
|
||||
|
||||
// find precache number for sound
|
||||
|
@ -1641,11 +1641,12 @@ void SV_StartSound2 (edict_t *entity, float *origin, int channel, const char *sa
|
|||
|
||||
ent = NUM_FOR_EDICT(entity);
|
||||
|
||||
msgsize = 2+4+2+12;
|
||||
field_mask = 0;
|
||||
if (volume != DEFAULT_SOUND_PACKET_VOLUME)
|
||||
field_mask |= SND_VOLUME;
|
||||
field_mask |= SND_VOLUME, msgsize+=1;
|
||||
if (attenuation != DEFAULT_SOUND_PACKET_ATTENUATION)
|
||||
field_mask |= SND_ATTENUATION;
|
||||
field_mask |= SND_ATTENUATION, msgsize+=1;
|
||||
|
||||
//johnfitz -- PROTOCOL_FITZQUAKE
|
||||
if (ent >= 8192 || channel >= 8)
|
||||
|
@ -1662,9 +1663,10 @@ void SV_StartSound2 (edict_t *entity, float *origin, int channel, const char *sa
|
|||
if (flags & CF_NOREVERB) field_mask |= SND_FTE_NOREVERB;
|
||||
if (flags & CF_FOLLOW) field_mask |= SND_FTE_FOLLOW;
|
||||
if (flags & CF_NOREPLACE) field_mask |= SND_FTE_NOREPLACE;
|
||||
if (flags & CF_SENDVELOCITY) field_mask |= SND_FTE_VELOCITY;
|
||||
if (speed && speed != 1) field_mask |= SND_FTE_PITCHADJ;
|
||||
if (timeoffset) field_mask |= SND_FTE_TIMEOFS;
|
||||
if (flags & CF_SENDVELOCITY) field_mask |= SND_FTE_VELOCITY, msgsize+=6;
|
||||
if (speed && speed != 1) field_mask |= SND_DP_PITCH, msgsize+=2;
|
||||
if (timeoffset) field_mask |= SND_FTE_TIMEOFS, msgsize+=2;
|
||||
if (field_mask > 0xff) field_mask |= SND_FTE_MOREFLAGS, msgsize += 9; //too lazy to figure out the actual size.
|
||||
//
|
||||
|
||||
for (p = 0; p < svs.maxclients; p++)
|
||||
|
@ -1690,6 +1692,9 @@ void SV_StartSound2 (edict_t *entity, float *origin, int channel, const char *sa
|
|||
if (!(cl->protocol_pext2&PEXT2_REPLACEMENTDELTAS))
|
||||
client_mask &= (SND_VOLUME|SND_ATTENUATION|SND_LARGEENTITY|SND_LARGESOUND);
|
||||
|
||||
if (msg->cursize+msgsize > msg->maxsize)
|
||||
continue; //sacrifice it so as to not crash the client out.
|
||||
|
||||
// directed messages go only to the entity the are targeted on
|
||||
MSG_WriteByte (msg, svc_sound);
|
||||
MSG_WriteByte (msg, client_mask&0xff);
|
||||
|
@ -1779,6 +1784,9 @@ void SV_LocalSound (client_t *client, const char *sample)
|
|||
field_mask = SND_LARGESOUND;
|
||||
}
|
||||
|
||||
if (msg->cursize+19 > msg->maxsize)
|
||||
return;
|
||||
|
||||
MSG_WriteByte (msg, svc_sound);
|
||||
MSG_WriteByte (msg, field_mask);
|
||||
if (field_mask & SND_ATTENUATION)
|
||||
|
|
134
Quakespasm.html
134
Quakespasm.html
|
@ -18,14 +18,13 @@
|
|||
|
||||
<P>
|
||||
<H2><A NAME="toc3">3.</A> <A HREF="Quakespasm.html#s3">Hints </A></H2>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="toc3.1">3.1</A> <A HREF="Quakespasm.html#ss3.1">Music Playback</A>
|
||||
<LI><A NAME="toc3.2">3.2</A> <A HREF="Quakespasm.html#ss3.2">Controller Support</A>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
<H2><A NAME="toc4">4.</A> <A HREF="Quakespasm.html#s4">Compiling and Installation</A></H2>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="toc4.1">4.1</A> <A HREF="Quakespasm.html#ss4.1">Linux/Unix </A>
|
||||
<LI><A NAME="toc4.2">4.2</A> <A HREF="Quakespasm.html#ss4.2">Windows </A>
|
||||
|
@ -33,32 +32,33 @@
|
|||
<LI><A NAME="toc4.4">4.4</A> <A HREF="Quakespasm.html#ss4.4">Quake '2021 re-release' </A>
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="toc5">5.</A> <A HREF="Quakespasm.html#s5">Changes</A></H2>
|
||||
|
||||
<H2><A NAME="toc5">5.</A> <A HREF="Quakespasm.html#s5">Changes</A></H2>
|
||||
<UL>
|
||||
<LI><A NAME="toc5.1">5.1</A> <A HREF="Quakespasm.html#ss5.1">Changes in 0.94.5</A>
|
||||
<LI><A NAME="toc5.2">5.2</A> <A HREF="Quakespasm.html#ss5.2">Changes in 0.94.4</A>
|
||||
<LI><A NAME="toc5.3">5.3</A> <A HREF="Quakespasm.html#ss5.3">Changes in 0.94.3</A>
|
||||
<LI><A NAME="toc5.4">5.4</A> <A HREF="Quakespasm.html#ss5.4">Changes in 0.94.2</A>
|
||||
<LI><A NAME="toc5.5">5.5</A> <A HREF="Quakespasm.html#ss5.5">Changes in 0.94.1</A>
|
||||
<LI><A NAME="toc5.6">5.6</A> <A HREF="Quakespasm.html#ss5.6">Changes in 0.94.0</A>
|
||||
<LI><A NAME="toc5.7">5.7</A> <A HREF="Quakespasm.html#ss5.7">Changes in 0.93.2</A>
|
||||
<LI><A NAME="toc5.8">5.8</A> <A HREF="Quakespasm.html#ss5.8">Changes in 0.93.1</A>
|
||||
<LI><A NAME="toc5.9">5.9</A> <A HREF="Quakespasm.html#ss5.9">Changes in 0.93.0</A>
|
||||
<LI><A NAME="toc5.10">5.10</A> <A HREF="Quakespasm.html#ss5.10">Changes in 0.92.1</A>
|
||||
<LI><A NAME="toc5.11">5.11</A> <A HREF="Quakespasm.html#ss5.11">Changes in 0.92.0</A>
|
||||
<LI><A NAME="toc5.12">5.12</A> <A HREF="Quakespasm.html#ss5.12">Changes in 0.91.0</A>
|
||||
<LI><A NAME="toc5.13">5.13</A> <A HREF="Quakespasm.html#ss5.13">Changes in 0.90.1</A>
|
||||
<LI><A NAME="toc5.14">5.14</A> <A HREF="Quakespasm.html#ss5.14">Changes in 0.90.0</A>
|
||||
<LI><A NAME="toc5.15">5.15</A> <A HREF="Quakespasm.html#ss5.15">Changes in 0.85.9</A>
|
||||
<LI><A NAME="toc5.16">5.16</A> <A HREF="Quakespasm.html#ss5.16">Changes in 0.85.8</A>
|
||||
<LI><A NAME="toc5.17">5.17</A> <A HREF="Quakespasm.html#ss5.17">Changes in 0.85.7</A>
|
||||
<LI><A NAME="toc5.18">5.18</A> <A HREF="Quakespasm.html#ss5.18">Changes in 0.85.6</A>
|
||||
<LI><A NAME="toc5.19">5.19</A> <A HREF="Quakespasm.html#ss5.19">Changes in 0.85.5</A>
|
||||
<LI><A NAME="toc5.20">5.20</A> <A HREF="Quakespasm.html#ss5.20">Changes in 0.85.4</A>
|
||||
<LI><A NAME="toc5.21">5.21</A> <A HREF="Quakespasm.html#ss5.21">Changes in 0.85.3</A>
|
||||
<LI><A NAME="toc5.22">5.22</A> <A HREF="Quakespasm.html#ss5.22">Changes in 0.85.2</A>
|
||||
<LI><A NAME="toc5.23">5.23</A> <A HREF="Quakespasm.html#ss5.23">Changes in 0.85.1</A>
|
||||
<LI><A NAME="toc5.1">5.1</A> <A HREF="Quakespasm.html#ss5.1">Changes in 0.94.6</A>
|
||||
<LI><A NAME="toc5.2">5.2</A> <A HREF="Quakespasm.html#ss5.2">Changes in 0.94.5</A>
|
||||
<LI><A NAME="toc5.3">5.3</A> <A HREF="Quakespasm.html#ss5.3">Changes in 0.94.4</A>
|
||||
<LI><A NAME="toc5.4">5.4</A> <A HREF="Quakespasm.html#ss5.4">Changes in 0.94.3</A>
|
||||
<LI><A NAME="toc5.5">5.5</A> <A HREF="Quakespasm.html#ss5.5">Changes in 0.94.2</A>
|
||||
<LI><A NAME="toc5.6">5.6</A> <A HREF="Quakespasm.html#ss5.6">Changes in 0.94.1</A>
|
||||
<LI><A NAME="toc5.7">5.7</A> <A HREF="Quakespasm.html#ss5.7">Changes in 0.94.0</A>
|
||||
<LI><A NAME="toc5.8">5.8</A> <A HREF="Quakespasm.html#ss5.8">Changes in 0.93.2</A>
|
||||
<LI><A NAME="toc5.9">5.9</A> <A HREF="Quakespasm.html#ss5.9">Changes in 0.93.1</A>
|
||||
<LI><A NAME="toc5.10">5.10</A> <A HREF="Quakespasm.html#ss5.10">Changes in 0.93.0</A>
|
||||
<LI><A NAME="toc5.11">5.11</A> <A HREF="Quakespasm.html#ss5.11">Changes in 0.92.1</A>
|
||||
<LI><A NAME="toc5.12">5.12</A> <A HREF="Quakespasm.html#ss5.12">Changes in 0.92.0</A>
|
||||
<LI><A NAME="toc5.13">5.13</A> <A HREF="Quakespasm.html#ss5.13">Changes in 0.91.0</A>
|
||||
<LI><A NAME="toc5.14">5.14</A> <A HREF="Quakespasm.html#ss5.14">Changes in 0.90.1</A>
|
||||
<LI><A NAME="toc5.15">5.15</A> <A HREF="Quakespasm.html#ss5.15">Changes in 0.90.0</A>
|
||||
<LI><A NAME="toc5.16">5.16</A> <A HREF="Quakespasm.html#ss5.16">Changes in 0.85.9</A>
|
||||
<LI><A NAME="toc5.17">5.17</A> <A HREF="Quakespasm.html#ss5.17">Changes in 0.85.8</A>
|
||||
<LI><A NAME="toc5.18">5.18</A> <A HREF="Quakespasm.html#ss5.18">Changes in 0.85.7</A>
|
||||
<LI><A NAME="toc5.19">5.19</A> <A HREF="Quakespasm.html#ss5.19">Changes in 0.85.6</A>
|
||||
<LI><A NAME="toc5.20">5.20</A> <A HREF="Quakespasm.html#ss5.20">Changes in 0.85.5</A>
|
||||
<LI><A NAME="toc5.21">5.21</A> <A HREF="Quakespasm.html#ss5.21">Changes in 0.85.4</A>
|
||||
<LI><A NAME="toc5.22">5.22</A> <A HREF="Quakespasm.html#ss5.22">Changes in 0.85.3</A>
|
||||
<LI><A NAME="toc5.23">5.23</A> <A HREF="Quakespasm.html#ss5.23">Changes in 0.85.2</A>
|
||||
<LI><A NAME="toc5.24">5.24</A> <A HREF="Quakespasm.html#ss5.24">Changes in 0.85.1</A>
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="toc6">6.</A> <A HREF="Quakespasm.html#s6">Copyright </A></H2>
|
||||
|
@ -72,14 +72,14 @@
|
|||
|
||||
<HR>
|
||||
<H2><A NAME="s1">1.</A> <A HREF="#toc1">About </A></H2>
|
||||
<P>
|
||||
<A HREF="http://quakespasm.sourceforge.net">QuakeSpasm</A>
|
||||
is a modern, cross-platform Quake engine based on
|
||||
<A HREF="http://www.celephais.net/fitzquake">FitzQuake</A>.</P>
|
||||
|
||||
|
||||
<P>QuakeSpasm is a modern cross-platform Quake engine based on FitzQuake.</P>
|
||||
<P>It includes support for 64 bit CPUs and custom music playback, a new
|
||||
sound driver, some graphical niceities, and numerous bug-fixes and other improvements.</P>
|
||||
<P>Quakespasm utilizes either the SDL or SDL2 frameworks, so choose which one works best for you.
|
||||
SDL is probably less buggy, but SDL2 has nicer features and smoother mouse input - though no CD support.</P>
|
||||
<P>Quakespasm utilizes SDL-1.2 or SDL2 frameworks, choose one which works best for you.
|
||||
SDL2 has nicer features, smoother mouse input and better support for newer operating systems,
|
||||
but no CD-ROM support.</P>
|
||||
|
||||
<H2><A NAME="s2">2.</A> <A HREF="#toc2">Downloads </A></H2>
|
||||
<P>
|
||||
|
@ -117,8 +117,8 @@ where DRIVER may be alsa, dsp, pulse, esd ...</LI>
|
|||
<UL>
|
||||
<LI>Tracks should be named like "track02.ogg", "track03.ogg" ... (there is no track01) and placed into "Quake/id1/music".</LI>
|
||||
<LI>Unix users may need some extra libraries installed: "libmad" or "libmpg123" for MP3, and "libogg" and "libvorbis" for OGG.</LI>
|
||||
<LI>As of 0.90.0, music is played back at 44100 Hz by default with no need to adjust "-sndspeed".</LI>
|
||||
<LI>Use the "-noextmusic" option to disable this feature.</LI>
|
||||
<LI>As of 0.90.0, music is played back at 44100 Hz by default with no need to adjust "-sndspeed".</LI>
|
||||
<LI>See
|
||||
<A HREF="Quakespasm-Music.txt">Quakespasm-Music.txt</A> for more details.</LI>
|
||||
</UL>
|
||||
|
@ -174,13 +174,12 @@ where DRIVER may be alsa, dsp, pulse, esd ...</LI>
|
|||
|
||||
|
||||
<H2><A NAME="s4">4.</A> <A HREF="#toc4">Compiling and Installation</A></H2>
|
||||
|
||||
<P>See the Downloads section to get the sourcecode, then below for platform specific instructions.
|
||||
Quakespasm can also be built with the cross-platform Codeblocks.<BR>
|
||||
Quakespasm's (optional) custom data is now stored in the file <B>quakespasm.pak</B>. This file should be placed alongside your quakespasm binary and <B>id1</B> directory.</P>
|
||||
|
||||
<H2><A NAME="ss4.1">4.1</A> <A HREF="#toc4.1">Linux/Unix </A>
|
||||
</H2>
|
||||
|
||||
<P>After extracting the source tarball, "cd Quake" and edit the Makefile for music options. </P>
|
||||
<P><EM>Streaming music playback requires "libmad" or "libmpg123" for MP3, and "libogg" and "libvorbis" for OGG files.</EM></P>
|
||||
<P>Then type "make" to compile the program, and copy the "quakespasm" binary (and "quakespasm.pak") to your Quake game directory.<BR>
|
||||
|
@ -195,25 +194,37 @@ Compile time options include
|
|||
|
||||
<H2><A NAME="ss4.2">4.2</A> <A HREF="#toc4.2">Windows </A>
|
||||
</H2>
|
||||
|
||||
<P>QuakeSpasm developers cross-compile windows binaries using
|
||||
<A HREF="http://mingw-w64.sf.net">MinGW-w64</A> and
|
||||
<A HREF="https://mingw.osdn.io">MinGW</A>.</P>
|
||||
<P>The project can also be built using Microsoft Visual Studio 2005 and newer versions.</P>
|
||||
|
||||
<H2><A NAME="ss4.3">4.3</A> <A HREF="#toc4.3">Mac OS X </A>
|
||||
</H2>
|
||||
|
||||
<P>A Quakespasm App (including program launcher and update framework) can be made using the <B>Xcode</B> template found in the MacOSX directory.</P>
|
||||
<P>Alternatively, have a look at <B>Makefile.darwin</B> for more instructions on building from a console.</P>
|
||||
|
||||
<H2><A NAME="ss4.4">4.4</A> <A HREF="#toc4.4">Quake '2021 re-release' </A>
|
||||
</H2>
|
||||
|
||||
<P>QuakeSpasm 0.94.0 has initial support for playing the 2021 re-release content: Copy the quakespasm binary to your rerelease installation and run quakespasm as you normally do.</P>
|
||||
|
||||
|
||||
<H2><A NAME="s5">5.</A> <A HREF="#toc5">Changes</A></H2>
|
||||
|
||||
<H2><A NAME="ss5.1">5.1</A> <A HREF="#toc5.1">Changes in 0.94.5</A>
|
||||
<H2><A NAME="ss5.1">5.1</A> <A HREF="#toc5.1">Changes in 0.94.6</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
<LI> Server protocol size check fixes for sounds and particles.</LI>
|
||||
<LI> An invalid memory access fix in the jpg screenshot writer.</LI>
|
||||
<LI> Basic dependency tracking in Makefiles.</LI>
|
||||
<LI> Backported a few fixes to the bundled SDL2-2.0.22 version.</LI>
|
||||
<LI> Minor build fix for C++ compilers.</LI>
|
||||
<LI> Other small improvements elsewhere in the code.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.2">5.2</A> <A HREF="#toc5.2">Changes in 0.94.5</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -226,7 +237,7 @@ Compile time options include
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.2">5.2</A> <A HREF="#toc5.2">Changes in 0.94.4</A>
|
||||
<H2><A NAME="ss5.3">5.3</A> <A HREF="#toc5.3">Changes in 0.94.4</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -248,7 +259,7 @@ Compile time options include
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.3">5.3</A> <A HREF="#toc5.3">Changes in 0.94.3</A>
|
||||
<H2><A NAME="ss5.4">5.4</A> <A HREF="#toc5.4">Changes in 0.94.3</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -258,7 +269,7 @@ Compile time options include
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.4">5.4</A> <A HREF="#toc5.4">Changes in 0.94.2</A>
|
||||
<H2><A NAME="ss5.5">5.5</A> <A HREF="#toc5.5">Changes in 0.94.2</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -269,7 +280,7 @@ Compile time options include
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.5">5.5</A> <A HREF="#toc5.5">Changes in 0.94.1</A>
|
||||
<H2><A NAME="ss5.6">5.6</A> <A HREF="#toc5.6">Changes in 0.94.1</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -277,7 +288,7 @@ Compile time options include
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.6">5.6</A> <A HREF="#toc5.6">Changes in 0.94.0</A>
|
||||
<H2><A NAME="ss5.7">5.7</A> <A HREF="#toc5.7">Changes in 0.94.0</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -302,7 +313,7 @@ Compile time options include
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.7">5.7</A> <A HREF="#toc5.7">Changes in 0.93.2</A>
|
||||
<H2><A NAME="ss5.8">5.8</A> <A HREF="#toc5.8">Changes in 0.93.2</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -315,7 +326,7 @@ Compile time options include
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.8">5.8</A> <A HREF="#toc5.8">Changes in 0.93.1</A>
|
||||
<H2><A NAME="ss5.9">5.9</A> <A HREF="#toc5.9">Changes in 0.93.1</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -329,7 +340,7 @@ Compile time options include
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.9">5.9</A> <A HREF="#toc5.9">Changes in 0.93.0</A>
|
||||
<H2><A NAME="ss5.10">5.10</A> <A HREF="#toc5.10">Changes in 0.93.0</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -372,7 +383,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.10">5.10</A> <A HREF="#toc5.10">Changes in 0.92.1</A>
|
||||
<H2><A NAME="ss5.11">5.11</A> <A HREF="#toc5.11">Changes in 0.92.1</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -382,7 +393,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.11">5.11</A> <A HREF="#toc5.11">Changes in 0.92.0</A>
|
||||
<H2><A NAME="ss5.12">5.12</A> <A HREF="#toc5.12">Changes in 0.92.0</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -401,8 +412,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Updated some of the third-party libraries. Other fixes/clean-ups.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.12">5.12</A> <A HREF="#toc5.12">Changes in 0.91.0</A>
|
||||
<H2><A NAME="ss5.13">5.13</A> <A HREF="#toc5.13">Changes in 0.91.0</A>
|
||||
</H2>
|
||||
<H3>Bugfixes</H3>
|
||||
<P>
|
||||
|
@ -452,7 +462,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.13">5.13</A> <A HREF="#toc5.13">Changes in 0.90.1</A>
|
||||
<H2><A NAME="ss5.14">5.14</A> <A HREF="#toc5.14">Changes in 0.90.1</A>
|
||||
</H2>
|
||||
<H3>Bugfixes</H3>
|
||||
<P>
|
||||
|
@ -502,7 +512,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.14">5.14</A> <A HREF="#toc5.14">Changes in 0.90.0</A>
|
||||
<H2><A NAME="ss5.15">5.15</A> <A HREF="#toc5.15">Changes in 0.90.0</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -548,7 +558,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.15">5.15</A> <A HREF="#toc5.15">Changes in 0.85.9</A>
|
||||
<H2><A NAME="ss5.16">5.16</A> <A HREF="#toc5.16">Changes in 0.85.9</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -572,7 +582,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.16">5.16</A> <A HREF="#toc5.16">Changes in 0.85.8</A>
|
||||
<H2><A NAME="ss5.17">5.17</A> <A HREF="#toc5.17">Changes in 0.85.8</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -597,7 +607,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.17">5.17</A> <A HREF="#toc5.17">Changes in 0.85.7</A>
|
||||
<H2><A NAME="ss5.18">5.18</A> <A HREF="#toc5.18">Changes in 0.85.7</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -615,7 +625,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.18">5.18</A> <A HREF="#toc5.18">Changes in 0.85.6</A>
|
||||
<H2><A NAME="ss5.19">5.19</A> <A HREF="#toc5.19">Changes in 0.85.6</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -626,7 +636,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.19">5.19</A> <A HREF="#toc5.19">Changes in 0.85.5</A>
|
||||
<H2><A NAME="ss5.20">5.20</A> <A HREF="#toc5.20">Changes in 0.85.5</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -645,7 +655,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.20">5.20</A> <A HREF="#toc5.20">Changes in 0.85.4</A>
|
||||
<H2><A NAME="ss5.21">5.21</A> <A HREF="#toc5.21">Changes in 0.85.4</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -663,7 +673,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.21">5.21</A> <A HREF="#toc5.21">Changes in 0.85.3</A>
|
||||
<H2><A NAME="ss5.22">5.22</A> <A HREF="#toc5.22">Changes in 0.85.3</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -685,7 +695,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.22">5.22</A> <A HREF="#toc5.22">Changes in 0.85.2</A>
|
||||
<H2><A NAME="ss5.23">5.23</A> <A HREF="#toc5.23">Changes in 0.85.2</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -703,7 +713,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss5.23">5.23</A> <A HREF="#toc5.23">Changes in 0.85.1</A>
|
||||
<H2><A NAME="ss5.24">5.24</A> <A HREF="#toc5.24">Changes in 0.85.1</A>
|
||||
</H2>
|
||||
<P>
|
||||
<UL>
|
||||
|
|
160
Quakespasm.txt
160
Quakespasm.txt
|
@ -19,39 +19,40 @@
|
|||
4.4 Quake '2021 re-release'
|
||||
|
||||
5. Changes
|
||||
5.1 Changes in 0.94.5
|
||||
5.2 Changes in 0.94.4
|
||||
5.3 Changes in 0.94.3
|
||||
5.4 Changes in 0.94.2
|
||||
5.5 Changes in 0.94.1
|
||||
5.6 Changes in 0.94.0
|
||||
5.7 Changes in 0.93.2
|
||||
5.8 Changes in 0.93.1
|
||||
5.9 Changes in 0.93.0
|
||||
5.10 Changes in 0.92.1
|
||||
5.11 Changes in 0.92.0
|
||||
5.12 Changes in 0.91.0
|
||||
5.12.1 Bugfixes
|
||||
5.12.2 Visual improvements
|
||||
5.12.3 Interface improvements
|
||||
5.12.4 Code cleanup / Other
|
||||
5.12.5 Raised limits
|
||||
5.13 Changes in 0.90.1
|
||||
5.1 Changes in 0.94.6
|
||||
5.2 Changes in 0.94.5
|
||||
5.3 Changes in 0.94.4
|
||||
5.4 Changes in 0.94.3
|
||||
5.5 Changes in 0.94.2
|
||||
5.6 Changes in 0.94.1
|
||||
5.7 Changes in 0.94.0
|
||||
5.8 Changes in 0.93.2
|
||||
5.9 Changes in 0.93.1
|
||||
5.10 Changes in 0.93.0
|
||||
5.11 Changes in 0.92.1
|
||||
5.12 Changes in 0.92.0
|
||||
5.13 Changes in 0.91.0
|
||||
5.13.1 Bugfixes
|
||||
5.13.2 Performance
|
||||
5.13.3 Visual improvements
|
||||
5.13.4 Interface improvements
|
||||
5.13.5 Code cleanup
|
||||
5.14 Changes in 0.90.0
|
||||
5.15 Changes in 0.85.9
|
||||
5.16 Changes in 0.85.8
|
||||
5.17 Changes in 0.85.7
|
||||
5.18 Changes in 0.85.6
|
||||
5.19 Changes in 0.85.5
|
||||
5.20 Changes in 0.85.4
|
||||
5.21 Changes in 0.85.3
|
||||
5.22 Changes in 0.85.2
|
||||
5.23 Changes in 0.85.1
|
||||
5.13.2 Visual improvements
|
||||
5.13.3 Interface improvements
|
||||
5.13.4 Code cleanup / Other
|
||||
5.13.5 Raised limits
|
||||
5.14 Changes in 0.90.1
|
||||
5.14.1 Bugfixes
|
||||
5.14.2 Performance
|
||||
5.14.3 Visual improvements
|
||||
5.14.4 Interface improvements
|
||||
5.14.5 Code cleanup
|
||||
5.15 Changes in 0.90.0
|
||||
5.16 Changes in 0.85.9
|
||||
5.17 Changes in 0.85.8
|
||||
5.18 Changes in 0.85.7
|
||||
5.19 Changes in 0.85.6
|
||||
5.20 Changes in 0.85.5
|
||||
5.21 Changes in 0.85.4
|
||||
5.22 Changes in 0.85.3
|
||||
5.23 Changes in 0.85.2
|
||||
5.24 Changes in 0.85.1
|
||||
|
||||
6. Copyright
|
||||
7. Contact
|
||||
|
@ -66,17 +67,15 @@
|
|||
|
||||
1. About
|
||||
|
||||
QuakeSpasm <http://quakespasm.sourceforge.net> is a modern, cross-
|
||||
platform Quake engine based on FitzQuake
|
||||
<http://www.celephais.net/fitzquake>.
|
||||
QuakeSpasm is a modern cross-platform Quake engine based on FitzQuake.
|
||||
|
||||
It includes support for 64 bit CPUs and custom music playback, a new
|
||||
sound driver, some graphical niceities, and numerous bug-fixes and
|
||||
other improvements.
|
||||
|
||||
Quakespasm utilizes either the SDL or SDL2 frameworks, so choose which
|
||||
one works best for you. SDL is probably less buggy, but SDL2 has
|
||||
nicer features and smoother mouse input - though no CD support.
|
||||
Quakespasm utilizes SDL-1.2 or SDL2 frameworks, choose one which works
|
||||
best for you. SDL2 has nicer features, smoother mouse input and better
|
||||
support for newer operating systems, but no CD-ROM support.
|
||||
|
||||
|
||||
2. Downloads
|
||||
|
@ -131,11 +130,11 @@
|
|||
o Unix users may need some extra libraries installed: "libmad" or
|
||||
"libmpg123" for MP3, and "libogg" and "libvorbis" for OGG.
|
||||
|
||||
o Use the "-noextmusic" option to disable this feature.
|
||||
|
||||
o As of 0.90.0, music is played back at 44100 Hz by default with no
|
||||
need to adjust "-sndspeed".
|
||||
|
||||
o Use the "-noextmusic" option to disable this feature.
|
||||
|
||||
o See Quakespasm-Music.txt for more details.
|
||||
|
||||
3.2. Controller Support
|
||||
|
@ -266,7 +265,22 @@
|
|||
5. Changes
|
||||
|
||||
|
||||
5.1. Changes in 0.94.5
|
||||
5.1. Changes in 0.94.6
|
||||
|
||||
o Server protocol size check fixes for sounds and particles.
|
||||
|
||||
o An invalid memory access fix in the jpg screenshot writer.
|
||||
|
||||
o Basic dependency tracking in Makefiles.
|
||||
|
||||
o Backported a few fixes to the bundled SDL2-2.0.22 version.
|
||||
|
||||
o Minor build fix for C++ compilers.
|
||||
|
||||
o Other small improvements elsewhere in the code.
|
||||
|
||||
|
||||
5.2. Changes in 0.94.5
|
||||
|
||||
o Compatibility with new SDL2 versioning scheme.
|
||||
|
||||
|
@ -283,7 +297,7 @@
|
|||
o Backported a few fixes to the bundled SDL2-2.0.22 version.
|
||||
|
||||
|
||||
5.2. Changes in 0.94.4
|
||||
5.3. Changes in 0.94.4
|
||||
|
||||
o Fixed getting stuck with loading plaque upon attempting to load a
|
||||
bad save from the menu
|
||||
|
@ -319,7 +333,7 @@
|
|||
patches.
|
||||
|
||||
|
||||
5.3. Changes in 0.94.3
|
||||
5.4. Changes in 0.94.3
|
||||
|
||||
o Handle sky textures with non-standard sizes and warn about them
|
||||
(e.g. ad_tears)
|
||||
|
@ -331,7 +345,7 @@
|
|||
o Updated included SDL2 to latest version 2.0.18.
|
||||
|
||||
|
||||
5.4. Changes in 0.94.2
|
||||
5.5. Changes in 0.94.2
|
||||
|
||||
o 2021 rerelease: Support for playing the latest update.
|
||||
|
||||
|
@ -342,13 +356,13 @@
|
|||
o 2021 rerelease: Look for QuakeEX.kpf under userdir, too.
|
||||
|
||||
|
||||
5.5. Changes in 0.94.1
|
||||
5.6. Changes in 0.94.1
|
||||
|
||||
o Fix lightmap issues after vkQuake surface mark/cull optimizations
|
||||
merge (sf.net bug/50)
|
||||
|
||||
|
||||
5.6. Changes in 0.94.0
|
||||
5.7. Changes in 0.94.0
|
||||
|
||||
o Initial support for playing the 'Quake 2021 re-release' content
|
||||
(thanks to Andrei Drexler for bulk of the work, Guillaume Plourde
|
||||
|
@ -397,7 +411,7 @@
|
|||
o Source repository moved to git.
|
||||
|
||||
|
||||
5.7. Changes in 0.93.2
|
||||
5.8. Changes in 0.93.2
|
||||
|
||||
o Lightmaps are now dynamically allocated (from QSS), and
|
||||
BLOCK_WIDTH/HEIGHT raised from 128 to 256.
|
||||
|
@ -417,7 +431,7 @@
|
|||
o Update the third-party libraries. Other fixes/cleanups.
|
||||
|
||||
|
||||
5.8. Changes in 0.93.1
|
||||
5.9. Changes in 0.93.1
|
||||
|
||||
o Fixed a fog regression which was introduced in 0.93.0.
|
||||
|
||||
|
@ -435,7 +449,7 @@
|
|||
o Update the third-party libraries. Other fixes/cleanups.
|
||||
|
||||
|
||||
5.9. Changes in 0.93.0
|
||||
5.10. Changes in 0.93.0
|
||||
|
||||
o Raise default "joy_deadzone_trigger" cvar to 0.2.
|
||||
|
||||
|
@ -520,7 +534,7 @@
|
|||
o Update the third-party libraries.
|
||||
|
||||
|
||||
5.10. Changes in 0.92.1
|
||||
5.11. Changes in 0.92.1
|
||||
|
||||
o Fixed large menu scale factors (was broken in 0.92.0).
|
||||
|
||||
|
@ -529,7 +543,7 @@
|
|||
o Updated some of the third-party libraries.
|
||||
|
||||
|
||||
5.11. Changes in 0.92.0
|
||||
5.12. Changes in 0.92.0
|
||||
|
||||
o SDL2 Game Controller support.
|
||||
|
||||
|
@ -566,9 +580,9 @@
|
|||
o Updated some of the third-party libraries. Other fixes/clean-ups.
|
||||
|
||||
|
||||
5.12. Changes in 0.91.0
|
||||
5.13. Changes in 0.91.0
|
||||
|
||||
5.12.1. Bugfixes
|
||||
5.13.1. Bugfixes
|
||||
|
||||
o Fix unwanted fog mode change upon video restart.
|
||||
|
||||
|
@ -604,7 +618,7 @@
|
|||
|
||||
o Prevent a possible vulnerability in MSG_ReadString (old Q1/Q2 bug).
|
||||
|
||||
5.12.2. Visual improvements
|
||||
5.13.2. Visual improvements
|
||||
|
||||
o New cvars r_lavaalpha, r_slimealpha, r_telealpha for fine-tuning
|
||||
specific liquid opacities (from DirectQ/RMQEngine, non-archived,
|
||||
|
@ -615,18 +629,18 @@
|
|||
o GLSL gamma is now supported on older hardware without NPOT
|
||||
extension.
|
||||
|
||||
5.12.3. Interface improvements
|
||||
5.13.3. Interface improvements
|
||||
|
||||
o New r_pos command to show player position.
|
||||
|
||||
o NaN detection in traceline with "developer 1" set now warns instead
|
||||
of errors.
|
||||
|
||||
5.12.4. Code cleanup / Other
|
||||
5.13.4. Code cleanup / Other
|
||||
|
||||
o Update third-party libraries.
|
||||
|
||||
5.12.5. Raised limits
|
||||
5.13.5. Raised limits
|
||||
|
||||
o Default max_edicts 8192 (was 2048) and no longer saved to
|
||||
config.cfg.
|
||||
|
@ -638,9 +652,9 @@
|
|||
o Raised MAX_SFX to 1024 (was 512).
|
||||
|
||||
|
||||
5.13. Changes in 0.90.1
|
||||
5.14. Changes in 0.90.1
|
||||
|
||||
5.13.1. Bugfixes
|
||||
5.14.1. Bugfixes
|
||||
|
||||
o Fix dynamic light artifact where changing lightmap are rendered one
|
||||
frame late (bug introduced in 0.90.0).
|
||||
|
@ -663,13 +677,13 @@
|
|||
|
||||
o Fix crash on out-of-bounds skin number.
|
||||
|
||||
5.13.2. Performance
|
||||
5.14.2. Performance
|
||||
|
||||
o Use multithreaded OpenGL on OS X for better performance.
|
||||
|
||||
o New, faster mdl renderer using GLSL. Disable with "-noglslalias".
|
||||
|
||||
5.13.3. Visual improvements
|
||||
5.14.3. Visual improvements
|
||||
|
||||
o New gamma correction implementation using GLSL. Fixes all known
|
||||
gamma issues (affecting the full display, persisting after
|
||||
|
@ -683,7 +697,7 @@
|
|||
|
||||
o r_noshadow_list cvar added (from MarkV.)
|
||||
|
||||
5.13.4. Interface improvements
|
||||
5.14.4. Interface improvements
|
||||
|
||||
o Support pausing demo playback with the "pause" command.
|
||||
|
||||
|
@ -700,14 +714,14 @@
|
|||
"trying to load ent", "bad chunk length", "meshing",
|
||||
"PR_AlocStringSlots: realloc'ing"
|
||||
|
||||
5.13.5. Code cleanup
|
||||
5.14.5. Code cleanup
|
||||
|
||||
o Clean up IDE project files to build on fresh systems.
|
||||
|
||||
o Update 3rd-party libraries.
|
||||
|
||||
|
||||
5.14. Changes in 0.90.0
|
||||
5.15. Changes in 0.90.0
|
||||
|
||||
o Fix issues on Windows systems with DPI scaling.
|
||||
|
||||
|
@ -815,7 +829,7 @@
|
|||
o Other fixes and clean-ups.
|
||||
|
||||
|
||||
5.15. Changes in 0.85.9
|
||||
5.16. Changes in 0.85.9
|
||||
|
||||
o Fixes for several undefined behaviors in C code (gcc-4.8 support.)
|
||||
|
||||
|
@ -862,7 +876,7 @@
|
|||
o Several other minor fixes/cleanups.
|
||||
|
||||
|
||||
5.16. Changes in 0.85.8
|
||||
5.17. Changes in 0.85.8
|
||||
|
||||
o Made Quake shareware 1.00 and 1.01 versions to be recognized
|
||||
properly.
|
||||
|
@ -909,7 +923,7 @@
|
|||
o Miscellaneous source code cleanups.
|
||||
|
||||
|
||||
5.17. Changes in 0.85.7
|
||||
5.18. Changes in 0.85.7
|
||||
|
||||
o Added support for cross-level demo playback
|
||||
|
||||
|
@ -935,7 +949,7 @@
|
|||
o Several other small changes mostly invisible to the end-user
|
||||
|
||||
|
||||
5.18. Changes in 0.85.6
|
||||
5.19. Changes in 0.85.6
|
||||
|
||||
o More work for string buffer safety
|
||||
|
||||
|
@ -948,7 +962,7 @@
|
|||
o Minor SDL video fixes.
|
||||
|
||||
|
||||
5.19. Changes in 0.85.5
|
||||
5.20. Changes in 0.85.5
|
||||
|
||||
o SDL input driver updated adding native keymap and dead key support
|
||||
to the console
|
||||
|
@ -979,7 +993,7 @@
|
|||
o Several code updates from uHexen2 project, several code cleanups.
|
||||
|
||||
|
||||
5.20. Changes in 0.85.4
|
||||
5.21. Changes in 0.85.4
|
||||
|
||||
o Implement music (OGG, MP3, WAV) playback
|
||||
|
||||
|
@ -1007,7 +1021,7 @@
|
|||
o Other minor sound and cdaudio updates
|
||||
|
||||
|
||||
5.21. Changes in 0.85.3
|
||||
5.22. Changes in 0.85.3
|
||||
|
||||
o Fix the "-dedicated" option (thanks Oz) and add platform specific
|
||||
networking code (default) rather than SDL_net
|
||||
|
@ -1044,7 +1058,7 @@
|
|||
some other CD tweaks.
|
||||
|
||||
|
||||
5.22. Changes in 0.85.2
|
||||
5.23. Changes in 0.85.2
|
||||
|
||||
o Replace the old "Screen size" slider with a "Scale" slider
|
||||
|
||||
|
@ -1072,7 +1086,7 @@
|
|||
o Add OSX Makefile (tested?)
|
||||
|
||||
|
||||
5.23. Changes in 0.85.1
|
||||
5.24. Changes in 0.85.1
|
||||
|
||||
o 64 bit CPU support
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ assert can have unique static variables associated with it.
|
|||
|
||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 supports __func__ as a standard. */
|
||||
# define SDL_FUNCTION __func__
|
||||
#elif ((__GNUC__ >= 2) || defined(_MSC_VER) || defined (__WATCOMC__))
|
||||
#elif ((defined(__GNUC__) && (__GNUC__ >= 2)) || defined(_MSC_VER) || defined (__WATCOMC__))
|
||||
# define SDL_FUNCTION __FUNCTION__
|
||||
#else
|
||||
# define SDL_FUNCTION "???"
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#define SDL_REVISION "@1594e60f8c154d3c8cea175fe88694e5aaf5e7bc"
|
||||
#define SDL_REVISION "@a788189020ac220e3c44e1383e0a1621b3309f8f"
|
||||
#define SDL_REVISION_NUMBER 0
|
||||
|
|
|
@ -61,6 +61,8 @@ extern "C" {
|
|||
*/
|
||||
#define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0)
|
||||
|
||||
typedef struct SDL_BlitMap SDL_BlitMap; /* this is an opaque type. */
|
||||
|
||||
/**
|
||||
* \brief A collection of pixels used in software blitting.
|
||||
*
|
||||
|
@ -88,7 +90,7 @@ typedef struct SDL_Surface
|
|||
SDL_Rect clip_rect; /**< Read-only */
|
||||
|
||||
/** info for fast blit mapping to other surfaces */
|
||||
struct SDL_BlitMap *map; /**< Private */
|
||||
SDL_BlitMap *map; /**< Private */
|
||||
|
||||
/** Reference count -- used when freeing surface */
|
||||
int refcount; /**< Read-mostly */
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
#define _begin_code_h
|
||||
|
||||
#ifndef SDL_DEPRECATED
|
||||
# if (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */
|
||||
# if defined(__GNUC__) && (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */
|
||||
# define SDL_DEPRECATED __attribute__((deprecated))
|
||||
# else
|
||||
# define SDL_DEPRECATED
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue