Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
d6c869c
- s_interrupt - allows sounds to be interrupted by the same sound or …
leilei- Feb 8, 2024
79a5732
- r_slowness gone. Use llvmpipe, PCem, or a slow computer instead.
leilei- Mar 28, 2025
bc431a4
Spring cleaning of old deprecated/broken post-process GLSL experiments
leilei- Mar 28, 2025
9dcac5d
test
leilei- Mar 28, 2025
d06babd
Cool console things
leilei- Mar 29, 2025
de7dcf2
SDL2: Clicking the red X now does something: you can leave!!!
leilei- Mar 30, 2025
fc35244
s_xmp_startPattern - makes the tracker song play a different pattern …
leilei- Mar 30, 2025
354edd5
- fixed xmp playback as xmp explicitly requires a length of the modul…
leilei- Mar 30, 2025
5312d24
- deprecating r_modelshader because the shader got stale, old, buggy,…
leilei- Apr 10, 2025
28e8ff0
- r_lightmapColorNorm : Make normalization of bright luxels an option…
leilei- Apr 16, 2025
ed16ba3
- Crash fix for older (<=2001) mods by trimming the string shared wit…
leilei- Apr 16, 2025
7749e7d
Some renderer refactor and cleanup
leilei- Apr 18, 2025
8b7378a
- Internal GLSL brightness shader, so gamma control can work without …
leilei- May 17, 2025
bd458c0
- More r_dynamiclight options:
leilei- May 25, 2025
16ae6f4
- fixed a fog modulation regression stemming from a rgbMod case retur…
leilei- May 30, 2025
d825d6f
Sun stuff
leilei- Jun 29, 2025
3827ec0
- GetViewPosition builtin for cgame to allow stuff like text drawn ov…
leilei- Jul 1, 2025
735598b
- Model fog fix
leilei- Jul 31, 2025
59ffa68
- Cgame entity glow renderer hookup
leilei- Nov 21, 2025
d8d2458
RB_UVcolor: casting as gcc 14 hates this line
leilei- Nov 21, 2025
93feed1
Merge branch 'master' into leidev24
leilei- Nov 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 28 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,14 @@ ifndef USE_LOCAL_HEADERS
USE_LOCAL_HEADERS=1
endif

ifndef WINFOUR
WINFOUR=0
endif

ifndef USE_REACTOS_WINSOCK_HEADER
USE_REACTOS_WINSOCK_HEADER=0
endif

ifndef USE_RENDERER_DLOPEN
USE_RENDERER_DLOPEN=1
endif
Expand All @@ -244,6 +252,15 @@ ifndef SDL_VERSION
SDL_VERSION=2
endif

ifeq ($(WINFOUR),1)
BASE_CFLAGS += -DWINFOUR
BASE_CFLAGS += -DUSE_REACTOS_WINSOCK_HEADER
BASE_CFLAGS += -DUSE_INTERNAL_JPEG
SDL_VERSION=1
USE_CURL=0
# CLIENTBIN=oa95
endif

#############################################################################

BD=$(BUILD_DIR)/debug-$(PLATFORM)-$(ARCH)
Expand Down Expand Up @@ -1141,6 +1158,10 @@ ifeq ($(USE_LOCAL_HEADERS),1)
BASE_CFLAGS += -DUSE_LOCAL_HEADERS
endif

ifeq ($(USE_REACTOS_WINSOCK_HEADER),1)
BASE_CFLAGS += -DUSE_REACTOS_WINSOCK_HEADER
endif

ifeq ($(BUILD_STANDALONE),1)
BASE_CFLAGS += -DSTANDALONE
endif
Expand All @@ -1154,14 +1175,15 @@ endif
ifeq ($(NO_STRIP),1)
STRIP_FLAG =
else
STRIP_FLAG = -s
STRIP_FLAG = -s
endif

BASE_CFLAGS += -DPRODUCT_VERSION=\\\"$(VERSION)\\\"
BASE_CFLAGS += -Wformat=2 -Wno-format-zero-length -Wformat-security -Wno-format-nonliteral
BASE_CFLAGS += -Wstrict-aliasing=2 -Wmissing-format-attribute
BASE_CFLAGS += -Wdisabled-optimization
BASE_CFLAGS += -Werror-implicit-function-declaration
BASE_CFLAGS += -Wno-int-conversion

ifeq ($(V),1)
echo_cmd=@:
Expand Down Expand Up @@ -1267,7 +1289,7 @@ endef
#############################################################################

default: release
all: debug release
all: debug release

debug:
@$(MAKE) targets B=$(BD) CFLAGS="$(CFLAGS) $(BASE_CFLAGS) $(DEPEND_CFLAGS)" \
Expand Down Expand Up @@ -1757,6 +1779,7 @@ Q3ROAOBJ = \
$(B)/renderer_oa/tr_image_jpg.o \
$(B)/renderer_oa/tr_image_bmp.o \
$(B)/renderer_oa/tr_image_tga.o \
$(B)/renderer_oa/tr_image_dds.o \
$(B)/renderer_oa/tr_image_pcx.o \
$(B)/renderer_oa/tr_init.o \
$(B)/renderer_oa/tr_light.o \
Expand Down Expand Up @@ -1831,6 +1854,7 @@ Q3RSOFTOBJ = \
$(B)/renderer_oa/tr_image_jpg.o \
$(B)/renderer_oa/tr_image_bmp.o \
$(B)/renderer_oa/tr_image_tga.o \
$(B)/renderer_oa/tr_image_dds.o \
$(B)/renderer_oa/tr_image_pcx.o \
$(B)/renderer_oa/tr_init.o \
$(B)/renderer_oa/tr_light.o \
Expand Down Expand Up @@ -3020,8 +3044,8 @@ else
@$(MAKE) VERSION=$(VERSION) -C $(LOKISETUPDIR) V=$(V)
endif

dist:
git archive --format zip --output $(CLIENTBIN)-$(VERSION).zip HEAD
# dist:
# git archive --format zip --output $(CLIENTBIN)-$(VERSION).zip HEAD

#############################################################################
# DEPENDENCIES
Expand Down
16 changes: 14 additions & 2 deletions Makefile.OpenArena
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@ BUILD_CLIENT=1
BUILD_SERVER=1
BUILD_GAME_SO=0
BUILD_GAME_QVM=0
USE_GIT=0
BUILD_BASEGAME=0
BUILD_MISSIONPACK=0
BASEGAME=baseoa
# VERSION=1.36+0.8.8
VERSION=3.0.0a
VERSION=TEST


# OpenArena doesn't use opus yet
USE_CODEC_VORBIS=1
Expand All @@ -24,13 +26,17 @@ ifndef USE_CODEC_XMP
USE_CODEC_XMP=1
endif

USE_CURL=1

# FLTO Test

OPTIMIZE += -flto

# This doesn't work with OpenArena yet
# Not supported
BUILD_RENDERER_OPENGL2=0
# You can disable the renderer libraries and build in the OA renderer by default
# This is disabled because we have some client builtins used (trace etc) and
# we are scaling back some modularization for security and support reasons.
USE_RENDERER_DLOPEN=0

# Choose version 1 or 2
Expand Down Expand Up @@ -58,6 +64,12 @@ CLIENTBIN=openarena
SERVERBIN=oa_ded
COPYDIR=/usr/local/games/openarena

# Use the Winsock2 headers from ReactOS, which doesn't give errors in Win9x
# USE_REACTOS_WINSOCK_HEADER=1

# Enable changes to allow Windows 95 and NT4 to work
# (Overrides enabling libraries above that don't work well, and outputs to oa95.exe)
WINFOUR=0

# DEBUG_CFLAGS=-ggdb -O0

Expand Down
3 changes: 2 additions & 1 deletion code/cgame/cg_public.h
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,8 @@ typedef enum {
CG_TESTPRINTINT,
CG_TESTPRINTFLOAT,
CG_ACOS,
CG_R_LFX_PARTICLEEFFECT // leilei - particle effects
CG_R_LFX_PARTICLEEFFECT, // leilei - particle effects
CG_R_VIEWPOSITION // leilei - view position
} cgameImport_t;


Expand Down
1 change: 1 addition & 0 deletions code/cgame/cg_syscalls.asm
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,4 @@ equ testPrintInt -110
equ testPrintFloat -111
equ acos -112
equ trap_R_LFX_ParticleEffect -113
equ trap_R_GetViewPosition -114
4 changes: 3 additions & 1 deletion code/client/cl_cgame.c
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,9 @@ intptr_t CL_CgameSystemCalls( intptr_t *args ) {
case CG_R_LFX_PARTICLEEFFECT:
re.LFX_ParticleEffect( args[1], VMA(2), VMA(3));
return 0;

case CG_R_VIEWPOSITION:
re.GetViewPosition( VMA(1) );
return VMA(1);
case CG_PC_ADD_GLOBAL_DEFINE:
return botlib_export->PC_AddGlobalDefine( VMA(1) );
case CG_PC_LOAD_SOURCE:
Expand Down
12 changes: 6 additions & 6 deletions code/client/snd_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,17 +267,17 @@ static sfx_t *S_FindName( const char *name ) {
}

if (!name[0]) {
Com_Printf( S_COLOR_YELLOW "WARNING: Sound name is empty\n" );
Com_DPrintf( S_COLOR_YELLOW "WARNING: Sound name is empty\n" );
return NULL;
}

if (strlen(name) >= MAX_QPATH) {
Com_Printf( S_COLOR_YELLOW "WARNING: Sound name is too long: %s\n", name );
Com_DPrintf( S_COLOR_YELLOW "WARNING: Sound name is too long: %s\n", name );
return NULL;
}

if (name[0] == '*') {
Com_Printf( S_COLOR_YELLOW "WARNING: Tried to load player sound directly: %s\n", name );
Com_DPrintf( S_COLOR_YELLOW "WARNING: Tried to load player sound directly: %s\n", name );
return NULL;
}

Expand Down Expand Up @@ -371,7 +371,7 @@ sfxHandle_t S_Base_RegisterSound( const char *name, qboolean compressed ) {

if ( sfx->soundData ) {
if ( sfx->defaultSound ) {
Com_Printf( S_COLOR_YELLOW "WARNING: could not find %s - using default\n", sfx->soundName );
Com_DPrintf( S_COLOR_YELLOW "WARNING: could not find %s - using default\n", sfx->soundName );
return 0;
}
return sfx - s_knownSfx;
Expand All @@ -383,7 +383,7 @@ sfxHandle_t S_Base_RegisterSound( const char *name, qboolean compressed ) {
S_memoryLoad(sfx);

if ( sfx->defaultSound ) {
Com_Printf( S_COLOR_YELLOW "WARNING: could not find %s - using default\n", sfx->soundName );
Com_DPrintf( S_COLOR_YELLOW "WARNING: could not find %s - using default\n", sfx->soundName );
return 0;
}

Expand Down Expand Up @@ -1428,7 +1428,7 @@ static void S_OpenBackgroundStream( const char *filename ) {
// Open stream
s_backgroundStream = S_CodecOpenStream(filename);
if(!s_backgroundStream) {
Com_Printf( S_COLOR_YELLOW "WARNING: couldn't open music file %s\n", filename );
Com_DPrintf( S_COLOR_YELLOW "WARNING: couldn't open music file %s\n", filename );
return;
}

Expand Down
6 changes: 6 additions & 0 deletions code/qcommon/net_ip.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# include <winsock2.h>
# include <ws2tcpip.h>
# if WINVER < 0x501

# ifdef __MINGW32__
// wspiapi.h isn't available on MinGW, so if it's
// present it's because the end user has added it
Expand All @@ -37,6 +38,11 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# endif
# else
# include <ws2spi.h>
# endif

// leilei - addition to fix win9x
# ifdef USE_REACTOS_WINSOCK_HEADER
# include "../reactos/wspiapi.h"
# endif

typedef int socklen_t;
Expand Down
5 changes: 5 additions & 0 deletions code/qcommon/qcommon.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

//#define PRE_RELEASE_DEMO

// leilei - broken things

//#define BROKEN_MDRPHYS // MDR physics are not serialized!
//#define BROKEN_IQM // crashes (and we don't plan to use the format anyway. IQM users are other games)

//============================================================================

//
Expand Down
16 changes: 16 additions & 0 deletions code/qcommon/qfiles.h
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,22 @@ typedef struct {
int ofsEnd; // end of file
} mdrHeader_t;

#ifdef BROKEN_MDRPHYS
// leilei - bone deformery
// MDR loading also checks for a text file that can set these properties so the "MDP" code can get to work with them.
// and working from the cliententity.
typedef struct {

vec3_t ofs[MDR_MAX_BONES];
vec3_t wgt[MDR_MAX_BONES];
float jiggle[MDR_MAX_BONES];

} mdrClBoneDeformSet_t;

typedef struct {
mdrClBoneDeformSet_t def[4]; // up to 4 can alter bones
} mdrDeformity_t;
#endif

/*
==============================================================================
Expand Down
2 changes: 2 additions & 0 deletions code/reactos/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Place ReactOS' wspiapi.h file here.

Loading