sound crash fixes, many mods should now run

This commit is contained in:
eukos 2015-08-05 23:58:07 +02:00
parent e2dea8d8df
commit 9bf7606aed
12 changed files with 579 additions and 683 deletions

556
Makefile
View file

@ -37,7 +37,7 @@ BUILD_RELEASE_DIR=release
CC=gcc -m32
BASE_CFLAGS=-Dstricmp=strcasecmp -I./dumb/include/
RELEASE_CFLAGS=$(BASE_CFLAGS)
RELEASE_CFLAGS=$(BASE_CFLAGS) -O6 -ffast-math -funroll-loops
DEBUG_CFLAGS=$(BASE_CFLAGS) -g
LDFLAGS=-lm -ldl
XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga
@ -57,16 +57,16 @@ DO_GL_AS=$(CC) $(CFLAGS) $(GLCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
# SETUP AND BUILD
#############################################################################
TARGETS=$(BUILDDIR)/engoo.x11
TARGETS=$(MASTER_DIR)/engoo.x11
build_debug:
@-mkdir $(BUILD_DEBUG_DIR) \
$(BUILD_DEBUG_DIR)/obj
$(BUILD_DEBUG_DIR)
$(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
build_release:
@-mkdir $(BUILD_RELEASE_DIR) \
$(BUILD_RELEASE_DIR)/obj
$(BUILD_RELEASE_DIR)
$(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"
all: build_debug build_release
@ -78,562 +78,562 @@ targets: $(TARGETS)
#############################################################################
X11_OBJS = \
$(BUILDDIR)/obj/atexit.o \
$(BUILDDIR)/obj/duhlen.o \
$(BUILDDIR)/obj/duhtag.o \
$(BUILDDIR)/obj/dumbfile.o \
$(BUILDDIR)/obj/loadduh.o \
$(BUILDDIR)/obj/makeduh.o \
$(BUILDDIR)/obj/rawsig.o \
$(BUILDDIR)/obj/readduh.o \
$(BUILDDIR)/obj/register.o \
$(BUILDDIR)/obj/rendduh.o \
$(BUILDDIR)/obj/rendsig.o \
$(BUILDDIR)/obj/unload.o \
$(BUILDDIR)/obj/clickrem.o \
$(BUILDDIR)/obj/memfile.o \
$(BUILDDIR)/obj/resample.o \
$(BUILDDIR)/obj/sampbuf.o \
$(BUILDDIR)/obj/silence.o \
$(BUILDDIR)/obj/stdfile.o \
$(BUILDDIR)/obj/itload.o \
$(BUILDDIR)/obj/itread.o \
$(BUILDDIR)/obj/itload2.o \
$(BUILDDIR)/obj/itread2.o \
$(BUILDDIR)/obj/itrender.o \
$(BUILDDIR)/obj/itunload.o \
$(BUILDDIR)/obj/loads3m.o \
$(BUILDDIR)/obj/reads3m.o \
$(BUILDDIR)/obj/loadxm.o \
$(BUILDDIR)/obj/readxm.o \
$(BUILDDIR)/obj/loadmod.o \
$(BUILDDIR)/obj/readmod.o \
$(BUILDDIR)/obj/loads3m2.o \
$(BUILDDIR)/obj/reads3m2.o \
$(BUILDDIR)/obj/loadxm2.o \
$(BUILDDIR)/obj/readxm2.o \
$(BUILDDIR)/obj/loadmod2.o \
$(BUILDDIR)/obj/readmod2.o \
$(BUILDDIR)/obj/xmeffect.o \
$(BUILDDIR)/obj/itorder.o \
$(BUILDDIR)/obj/itmisc.o \
$(BUILDDIR)/obj/cl_demo.o \
$(BUILDDIR)/obj/cl_input.o \
$(BUILDDIR)/obj/cl_main.o \
$(BUILDDIR)/obj/cl_parse.o \
$(BUILDDIR)/obj/cl_tent.o \
$(BUILDDIR)/obj/chase.o \
$(BUILDDIR)/obj/cmd.o \
$(BUILDDIR)/obj/common.o \
$(BUILDDIR)/obj/console.o \
$(BUILDDIR)/obj/crc.o \
$(BUILDDIR)/obj/cvar.o \
$(BUILDDIR)/obj/draw.o \
$(BUILDDIR)/obj/d_edge.o \
$(BUILDDIR)/obj/d_fill.o \
$(BUILDDIR)/obj/d_init.o \
$(BUILDDIR)/obj/d_modech.o \
$(BUILDDIR)/obj/d_part.o \
$(BUILDDIR)/obj/d_polyse.o \
$(BUILDDIR)/obj/d_scan.o \
$(BUILDDIR)/obj/d_sky.o \
$(BUILDDIR)/obj/d_sprite.o \
$(BUILDDIR)/obj/d_surf.o \
$(BUILDDIR)/obj/d_vars.o \
$(BUILDDIR)/obj/d_zpoint.o \
$(BUILDDIR)/obj/host.o \
$(BUILDDIR)/obj/host_cmd.o \
$(BUILDDIR)/obj/keys.o \
$(BUILDDIR)/obj/menu.o \
$(BUILDDIR)/obj/mathlib.o \
$(BUILDDIR)/obj/model.o \
$(BUILDDIR)/obj/model_common.o \
$(BUILDDIR)/obj/net_dgrm.o \
$(BUILDDIR)/obj/net_loop.o \
$(BUILDDIR)/obj/net_main.o \
$(BUILDDIR)/obj/net_vcr.o \
$(BUILDDIR)/obj/net_udp.o \
$(BUILDDIR)/obj/net_bsd.o \
$(BUILDDIR)/obj/nonintel.o \
$(BUILDDIR)/obj/pr_cmds.o \
$(BUILDDIR)/obj/pr_edict.o \
$(BUILDDIR)/obj/pr_exec.o \
$(BUILDDIR)/obj/r_aclip.o \
$(BUILDDIR)/obj/r_alias.o \
$(BUILDDIR)/obj/r_bsp.o \
$(BUILDDIR)/obj/r_light.o \
$(BUILDDIR)/obj/r_draw.o \
$(BUILDDIR)/obj/r_efrag.o \
$(BUILDDIR)/obj/r_edge.o \
$(BUILDDIR)/obj/r_misc.o \
$(BUILDDIR)/obj/r_main.o \
$(BUILDDIR)/obj/r_sky.o \
$(BUILDDIR)/obj/r_sprite.o \
$(BUILDDIR)/obj/r_surf.o \
$(BUILDDIR)/obj/r_part.o \
$(BUILDDIR)/obj/r_vars.o \
$(BUILDDIR)/obj/screen.o \
$(BUILDDIR)/obj/sbar.o \
$(BUILDDIR)/obj/sv_main.o \
$(BUILDDIR)/obj/sv_phys.o \
$(BUILDDIR)/obj/sv_move.o \
$(BUILDDIR)/obj/sv_user.o \
$(BUILDDIR)/obj/zone.o \
$(BUILDDIR)/obj/view.o \
$(BUILDDIR)/obj/wad.o \
$(BUILDDIR)/obj/world.o \
$(BUILDDIR)/obj/tracker_linux.o \
$(BUILDDIR)/obj/cd_null.o \
$(BUILDDIR)/obj/sys_linux.o \
$(BUILDDIR)/obj/vid_x.o \
$(BUILDDIR)/obj/snd_dma.o \
$(BUILDDIR)/obj/snd_mem.o \
$(BUILDDIR)/obj/snd_mix.o \
$(BUILDDIR)/obj/snd_linux.o \
$(BUILDDIR)/obj/bot.o \
$(BUILDDIR)/obj/nvs_client.o \
$(BUILDDIR)/obj/nvs_common.o \
$(BUILDDIR)/obj/nvs_server.o \
$(BUILDDIR)/obj/nvs_server_data.o \
$(BUILDDIR)/atexit.o \
$(BUILDDIR)/duhlen.o \
$(BUILDDIR)/duhtag.o \
$(BUILDDIR)/dumbfile.o \
$(BUILDDIR)/loadduh.o \
$(BUILDDIR)/makeduh.o \
$(BUILDDIR)/rawsig.o \
$(BUILDDIR)/readduh.o \
$(BUILDDIR)/register.o \
$(BUILDDIR)/rendduh.o \
$(BUILDDIR)/rendsig.o \
$(BUILDDIR)/unload.o \
$(BUILDDIR)/clickrem.o \
$(BUILDDIR)/memfile.o \
$(BUILDDIR)/resample.o \
$(BUILDDIR)/sampbuf.o \
$(BUILDDIR)/silence.o \
$(BUILDDIR)/stdfile.o \
$(BUILDDIR)/itload.o \
$(BUILDDIR)/itread.o \
$(BUILDDIR)/itload2.o \
$(BUILDDIR)/itread2.o \
$(BUILDDIR)/itrender.o \
$(BUILDDIR)/itunload.o \
$(BUILDDIR)/loads3m.o \
$(BUILDDIR)/reads3m.o \
$(BUILDDIR)/loadxm.o \
$(BUILDDIR)/readxm.o \
$(BUILDDIR)/loadmod.o \
$(BUILDDIR)/readmod.o \
$(BUILDDIR)/loads3m2.o \
$(BUILDDIR)/reads3m2.o \
$(BUILDDIR)/loadxm2.o \
$(BUILDDIR)/readxm2.o \
$(BUILDDIR)/loadmod2.o \
$(BUILDDIR)/readmod2.o \
$(BUILDDIR)/xmeffect.o \
$(BUILDDIR)/itorder.o \
$(BUILDDIR)/itmisc.o \
$(BUILDDIR)/cl_demo.o \
$(BUILDDIR)/cl_input.o \
$(BUILDDIR)/cl_main.o \
$(BUILDDIR)/cl_parse.o \
$(BUILDDIR)/cl_tent.o \
$(BUILDDIR)/chase.o \
$(BUILDDIR)/cmd.o \
$(BUILDDIR)/common.o \
$(BUILDDIR)/console.o \
$(BUILDDIR)/crc.o \
$(BUILDDIR)/cvar.o \
$(BUILDDIR)/draw.o \
$(BUILDDIR)/d_edge.o \
$(BUILDDIR)/d_fill.o \
$(BUILDDIR)/d_init.o \
$(BUILDDIR)/d_modech.o \
$(BUILDDIR)/d_part.o \
$(BUILDDIR)/d_polyse.o \
$(BUILDDIR)/d_scan.o \
$(BUILDDIR)/d_sky.o \
$(BUILDDIR)/d_sprite.o \
$(BUILDDIR)/d_surf.o \
$(BUILDDIR)/d_vars.o \
$(BUILDDIR)/d_zpoint.o \
$(BUILDDIR)/host.o \
$(BUILDDIR)/host_cmd.o \
$(BUILDDIR)/keys.o \
$(BUILDDIR)/menu.o \
$(BUILDDIR)/mathlib.o \
$(BUILDDIR)/model.o \
$(BUILDDIR)/model_common.o \
$(BUILDDIR)/net_dgrm.o \
$(BUILDDIR)/net_loop.o \
$(BUILDDIR)/net_main.o \
$(BUILDDIR)/net_vcr.o \
$(BUILDDIR)/net_udp.o \
$(BUILDDIR)/net_bsd.o \
$(BUILDDIR)/nonintel.o \
$(BUILDDIR)/pr_cmds.o \
$(BUILDDIR)/pr_edict.o \
$(BUILDDIR)/pr_exec.o \
$(BUILDDIR)/r_aclip.o \
$(BUILDDIR)/r_alias.o \
$(BUILDDIR)/r_bsp.o \
$(BUILDDIR)/r_light.o \
$(BUILDDIR)/r_draw.o \
$(BUILDDIR)/r_efrag.o \
$(BUILDDIR)/r_edge.o \
$(BUILDDIR)/r_misc.o \
$(BUILDDIR)/r_main.o \
$(BUILDDIR)/r_sky.o \
$(BUILDDIR)/r_sprite.o \
$(BUILDDIR)/r_surf.o \
$(BUILDDIR)/r_part.o \
$(BUILDDIR)/r_vars.o \
$(BUILDDIR)/screen.o \
$(BUILDDIR)/sbar.o \
$(BUILDDIR)/sv_main.o \
$(BUILDDIR)/sv_phys.o \
$(BUILDDIR)/sv_move.o \
$(BUILDDIR)/sv_user.o \
$(BUILDDIR)/zone.o \
$(BUILDDIR)/view.o \
$(BUILDDIR)/wad.o \
$(BUILDDIR)/world.o \
$(BUILDDIR)/tracker_linux.o \
$(BUILDDIR)/cd_null.o \
$(BUILDDIR)/sys_linux.o \
$(BUILDDIR)/vid_x.o \
$(BUILDDIR)/snd_dma.o \
$(BUILDDIR)/snd_mem.o \
$(BUILDDIR)/snd_mix.o \
$(BUILDDIR)/snd_linux.o \
$(BUILDDIR)/bot.o \
$(BUILDDIR)/nvs_client.o \
$(BUILDDIR)/nvs_common.o \
$(BUILDDIR)/nvs_server.o \
$(BUILDDIR)/nvs_server_data.o \
\
$(BUILDDIR)/obj/d_draw.o \
$(BUILDDIR)/obj/d_draw16.o \
$(BUILDDIR)/obj/d_parta.o \
$(BUILDDIR)/obj/d_polysa.o \
$(BUILDDIR)/obj/d_scana.o \
$(BUILDDIR)/obj/d_spr8.o \
$(BUILDDIR)/obj/d_varsa.o \
$(BUILDDIR)/obj/math.o \
$(BUILDDIR)/obj/r_aliasa.o \
$(BUILDDIR)/obj/r_drawa.o \
$(BUILDDIR)/obj/r_edgea.o \
$(BUILDDIR)/obj/r_varsa.o \
$(BUILDDIR)/obj/surf16.o \
$(BUILDDIR)/obj/surf8.o \
$(BUILDDIR)/obj/surf8fst.o \
$(BUILDDIR)/obj/worlda.o \
$(BUILDDIR)/obj/r_aclipa.o \
$(BUILDDIR)/obj/snd_mixa.o \
$(BUILDDIR)/obj/sys_dosa.o
$(BUILDDIR)/d_draw.o \
$(BUILDDIR)/d_draw16.o \
$(BUILDDIR)/d_parta.o \
$(BUILDDIR)/d_polysa.o \
$(BUILDDIR)/d_scana.o \
$(BUILDDIR)/d_spr8.o \
$(BUILDDIR)/d_varsa.o \
$(BUILDDIR)/math.o \
$(BUILDDIR)/r_aliasa.o \
$(BUILDDIR)/r_drawa.o \
$(BUILDDIR)/r_edgea.o \
$(BUILDDIR)/r_varsa.o \
$(BUILDDIR)/surf16.o \
$(BUILDDIR)/surf8.o \
$(BUILDDIR)/surf8fst.o \
$(BUILDDIR)/worlda.o \
$(BUILDDIR)/r_aclipa.o \
$(BUILDDIR)/snd_mixa.o \
$(BUILDDIR)/sys_dosa.o
$(BUILDDIR)/engoo.x11 : $(X11_OBJS)
$(MASTER_DIR)/engoo.x11 : $(X11_OBJS)
$(CC) $(CFLAGS) -o $@ $(X11_OBJS) $(XLDFLAGS) $(LDFLAGS)
$(BUILDDIR)/obj/atexit.o : $(MOUNT_DIR)/../dumb/core/atexit.c
$(BUILDDIR)/atexit.o : $(MOUNT_DIR)/../dumb/core/atexit.c
$(DO_CC)
$(BUILDDIR)/obj/duhlen.o : $(MOUNT_DIR)/../dumb/core/duhlen.c
$(BUILDDIR)/duhlen.o : $(MOUNT_DIR)/../dumb/core/duhlen.c
$(DO_CC)
$(BUILDDIR)/obj/duhtag.o : $(MOUNT_DIR)/../dumb/core/duhtag.c
$(BUILDDIR)/duhtag.o : $(MOUNT_DIR)/../dumb/core/duhtag.c
$(DO_CC)
$(BUILDDIR)/obj/dumbfile.o : $(MOUNT_DIR)/../dumb/core/dumbfile.c
$(BUILDDIR)/dumbfile.o : $(MOUNT_DIR)/../dumb/core/dumbfile.c
$(DO_CC)
$(BUILDDIR)/obj/loadduh.o : $(MOUNT_DIR)/../dumb/core/loadduh.c
$(BUILDDIR)/loadduh.o : $(MOUNT_DIR)/../dumb/core/loadduh.c
$(DO_CC)
$(BUILDDIR)/obj/makeduh.o : $(MOUNT_DIR)/../dumb/core/makeduh.c
$(BUILDDIR)/makeduh.o : $(MOUNT_DIR)/../dumb/core/makeduh.c
$(DO_CC)
$(BUILDDIR)/obj/rawsig.o : $(MOUNT_DIR)/../dumb/core/rawsig.c
$(BUILDDIR)/rawsig.o : $(MOUNT_DIR)/../dumb/core/rawsig.c
$(DO_CC)
$(BUILDDIR)/obj/readduh.o : $(MOUNT_DIR)/../dumb/core/readduh.c
$(BUILDDIR)/readduh.o : $(MOUNT_DIR)/../dumb/core/readduh.c
$(DO_CC)
$(BUILDDIR)/obj/register.o : $(MOUNT_DIR)/../dumb/core/register.c
$(BUILDDIR)/register.o : $(MOUNT_DIR)/../dumb/core/register.c
$(DO_CC)
$(BUILDDIR)/obj/rendduh.o : $(MOUNT_DIR)/../dumb/core/rendduh.c
$(BUILDDIR)/rendduh.o : $(MOUNT_DIR)/../dumb/core/rendduh.c
$(DO_CC)
$(BUILDDIR)/obj/rendsig.o : $(MOUNT_DIR)/../dumb/core/rendsig.c
$(BUILDDIR)/rendsig.o : $(MOUNT_DIR)/../dumb/core/rendsig.c
$(DO_CC)
$(BUILDDIR)/obj/unload.o : $(MOUNT_DIR)/../dumb/core/unload.c
$(BUILDDIR)/unload.o : $(MOUNT_DIR)/../dumb/core/unload.c
$(DO_CC)
$(BUILDDIR)/obj/clickrem.o : $(MOUNT_DIR)/../dumb/helpers/clickrem.c
$(BUILDDIR)/clickrem.o : $(MOUNT_DIR)/../dumb/helpers/clickrem.c
$(DO_CC)
$(BUILDDIR)/obj/memfile.o : $(MOUNT_DIR)/../dumb/helpers/memfile.c
$(BUILDDIR)/memfile.o : $(MOUNT_DIR)/../dumb/helpers/memfile.c
$(DO_CC)
$(BUILDDIR)/obj/resample.o : $(MOUNT_DIR)/../dumb/helpers/resample.c
$(BUILDDIR)/resample.o : $(MOUNT_DIR)/../dumb/helpers/resample.c
$(DO_CC)
$(BUILDDIR)/obj/sampbuf.o : $(MOUNT_DIR)/../dumb/helpers/sampbuf.c
$(BUILDDIR)/sampbuf.o : $(MOUNT_DIR)/../dumb/helpers/sampbuf.c
$(DO_CC)
$(BUILDDIR)/obj/silence.o : $(MOUNT_DIR)/../dumb/helpers/silence.c
$(BUILDDIR)/silence.o : $(MOUNT_DIR)/../dumb/helpers/silence.c
$(DO_CC)
$(BUILDDIR)/obj/stdfile.o : $(MOUNT_DIR)/../dumb/helpers/stdfile.c
$(BUILDDIR)/stdfile.o : $(MOUNT_DIR)/../dumb/helpers/stdfile.c
$(DO_CC)
$(BUILDDIR)/obj/itload.o : $(MOUNT_DIR)/../dumb/it/itload.c
$(BUILDDIR)/itload.o : $(MOUNT_DIR)/../dumb/it/itload.c
$(DO_CC)
$(BUILDDIR)/obj/itread.o : $(MOUNT_DIR)/../dumb/it/itread.c
$(BUILDDIR)/itread.o : $(MOUNT_DIR)/../dumb/it/itread.c
$(DO_CC)
$(BUILDDIR)/obj/itload2.o : $(MOUNT_DIR)/../dumb/it/itload2.c
$(BUILDDIR)/itload2.o : $(MOUNT_DIR)/../dumb/it/itload2.c
$(DO_CC)
$(BUILDDIR)/obj/itread2.o : $(MOUNT_DIR)/../dumb/it/itread2.c
$(BUILDDIR)/itread2.o : $(MOUNT_DIR)/../dumb/it/itread2.c
$(DO_CC)
$(BUILDDIR)/obj/itrender.o : $(MOUNT_DIR)/../dumb/it/itrender.c
$(BUILDDIR)/itrender.o : $(MOUNT_DIR)/../dumb/it/itrender.c
$(DO_CC)
$(BUILDDIR)/obj/itunload.o : $(MOUNT_DIR)/../dumb/it/itunload.c
$(BUILDDIR)/itunload.o : $(MOUNT_DIR)/../dumb/it/itunload.c
$(DO_CC)
$(BUILDDIR)/obj/loads3m.o : $(MOUNT_DIR)/../dumb/it/loads3m.c
$(BUILDDIR)/loads3m.o : $(MOUNT_DIR)/../dumb/it/loads3m.c
$(DO_CC)
$(BUILDDIR)/obj/reads3m.o : $(MOUNT_DIR)/../dumb/it/reads3m.c
$(BUILDDIR)/reads3m.o : $(MOUNT_DIR)/../dumb/it/reads3m.c
$(DO_CC)
$(BUILDDIR)/obj/loadxm.o : $(MOUNT_DIR)/../dumb/it/loadxm.c
$(BUILDDIR)/loadxm.o : $(MOUNT_DIR)/../dumb/it/loadxm.c
$(DO_CC)
$(BUILDDIR)/obj/readxm.o : $(MOUNT_DIR)/../dumb/it/readxm.c
$(BUILDDIR)/readxm.o : $(MOUNT_DIR)/../dumb/it/readxm.c
$(DO_CC)
$(BUILDDIR)/obj/loadmod.o : $(MOUNT_DIR)/../dumb/it/loadmod.c
$(BUILDDIR)/loadmod.o : $(MOUNT_DIR)/../dumb/it/loadmod.c
$(DO_CC)
$(BUILDDIR)/obj/readmod.o : $(MOUNT_DIR)/../dumb/it/readmod.c
$(BUILDDIR)/readmod.o : $(MOUNT_DIR)/../dumb/it/readmod.c
$(DO_CC)
$(BUILDDIR)/obj/loads3m2.o : $(MOUNT_DIR)/../dumb/it/loads3m2.c
$(BUILDDIR)/loads3m2.o : $(MOUNT_DIR)/../dumb/it/loads3m2.c
$(DO_CC)
$(BUILDDIR)/obj/reads3m2.o : $(MOUNT_DIR)/../dumb/it/reads3m2.c
$(BUILDDIR)/reads3m2.o : $(MOUNT_DIR)/../dumb/it/reads3m2.c
$(DO_CC)
$(BUILDDIR)/obj/loadxm2.o : $(MOUNT_DIR)/../dumb/it/loadxm2.c
$(BUILDDIR)/loadxm2.o : $(MOUNT_DIR)/../dumb/it/loadxm2.c
$(DO_CC)
$(BUILDDIR)/obj/readxm2.o : $(MOUNT_DIR)/../dumb/it/readxm2.c
$(BUILDDIR)/readxm2.o : $(MOUNT_DIR)/../dumb/it/readxm2.c
$(DO_CC)
$(BUILDDIR)/obj/loadmod2.o : $(MOUNT_DIR)/../dumb/it/loadmod2.c
$(BUILDDIR)/loadmod2.o : $(MOUNT_DIR)/../dumb/it/loadmod2.c
$(DO_CC)
$(BUILDDIR)/obj/readmod2.o : $(MOUNT_DIR)/../dumb/it/readmod2.c
$(BUILDDIR)/readmod2.o : $(MOUNT_DIR)/../dumb/it/readmod2.c
$(DO_CC)
$(BUILDDIR)/obj/xmeffect.o : $(MOUNT_DIR)/../dumb/it/xmeffect.c
$(BUILDDIR)/xmeffect.o : $(MOUNT_DIR)/../dumb/it/xmeffect.c
$(DO_CC)
$(BUILDDIR)/obj/itorder.o : $(MOUNT_DIR)/../dumb/it/itorder.c
$(BUILDDIR)/itorder.o : $(MOUNT_DIR)/../dumb/it/itorder.c
$(DO_CC)
$(BUILDDIR)/obj/itmisc.o : $(MOUNT_DIR)/../dumb/it/itmisc.c
$(BUILDDIR)/itmisc.o : $(MOUNT_DIR)/../dumb/it/itmisc.c
$(DO_CC)
####
$(BUILDDIR)/obj/cl_demo.o : $(MOUNT_DIR)/cl_demo.c
$(BUILDDIR)/cl_demo.o : $(MOUNT_DIR)/cl_demo.c
$(DO_X11_CC)
$(BUILDDIR)/obj/cl_input.o : $(MOUNT_DIR)/cl_input.c
$(BUILDDIR)/cl_input.o : $(MOUNT_DIR)/cl_input.c
$(DO_X11_CC)
$(BUILDDIR)/obj/cl_main.o : $(MOUNT_DIR)/cl_main.c
$(BUILDDIR)/cl_main.o : $(MOUNT_DIR)/cl_main.c
$(DO_X11_CC)
$(BUILDDIR)/obj/cl_parse.o : $(MOUNT_DIR)/cl_parse.c
$(BUILDDIR)/cl_parse.o : $(MOUNT_DIR)/cl_parse.c
$(DO_X11_CC)
$(BUILDDIR)/obj/cl_tent.o : $(MOUNT_DIR)/cl_tent.c
$(BUILDDIR)/cl_tent.o : $(MOUNT_DIR)/cl_tent.c
$(DO_X11_CC)
$(BUILDDIR)/obj/chase.o : $(MOUNT_DIR)/chase.c
$(BUILDDIR)/chase.o : $(MOUNT_DIR)/chase.c
$(DO_X11_CC)
$(BUILDDIR)/obj/cmd.o : $(MOUNT_DIR)/cmd.c
$(BUILDDIR)/cmd.o : $(MOUNT_DIR)/cmd.c
$(DO_X11_CC)
$(BUILDDIR)/obj/common.o : $(MOUNT_DIR)/common.c
$(BUILDDIR)/common.o : $(MOUNT_DIR)/common.c
$(DO_X11_DEBUG_CC)
$(BUILDDIR)/obj/console.o : $(MOUNT_DIR)/console.c
$(BUILDDIR)/console.o : $(MOUNT_DIR)/console.c
$(DO_X11_CC)
$(BUILDDIR)/obj/crc.o : $(MOUNT_DIR)/crc.c
$(BUILDDIR)/crc.o : $(MOUNT_DIR)/crc.c
$(DO_X11_CC)
$(BUILDDIR)/obj/cvar.o : $(MOUNT_DIR)/cvar.c
$(BUILDDIR)/cvar.o : $(MOUNT_DIR)/cvar.c
$(DO_X11_CC)
$(BUILDDIR)/obj/draw.o : $(MOUNT_DIR)/draw.c
$(BUILDDIR)/draw.o : $(MOUNT_DIR)/draw.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_edge.o : $(MOUNT_DIR)/d_edge.c
$(BUILDDIR)/d_edge.o : $(MOUNT_DIR)/d_edge.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_fill.o : $(MOUNT_DIR)/d_fill.c
$(BUILDDIR)/d_fill.o : $(MOUNT_DIR)/d_fill.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_init.o : $(MOUNT_DIR)/d_init.c
$(BUILDDIR)/d_init.o : $(MOUNT_DIR)/d_init.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_modech.o : $(MOUNT_DIR)/d_modech.c
$(BUILDDIR)/d_modech.o : $(MOUNT_DIR)/d_modech.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_part.o : $(MOUNT_DIR)/d_part.c
$(BUILDDIR)/d_part.o : $(MOUNT_DIR)/d_part.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_polyse.o : $(MOUNT_DIR)/d_polyse.c
$(BUILDDIR)/d_polyse.o : $(MOUNT_DIR)/d_polyse.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_scan.o : $(MOUNT_DIR)/d_scan.c
$(BUILDDIR)/d_scan.o : $(MOUNT_DIR)/d_scan.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_sky.o : $(MOUNT_DIR)/d_sky.c
$(BUILDDIR)/d_sky.o : $(MOUNT_DIR)/d_sky.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_sprite.o : $(MOUNT_DIR)/d_sprite.c
$(BUILDDIR)/d_sprite.o : $(MOUNT_DIR)/d_sprite.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_surf.o : $(MOUNT_DIR)/d_surf.c
$(BUILDDIR)/d_surf.o : $(MOUNT_DIR)/d_surf.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_vars.o : $(MOUNT_DIR)/d_vars.c
$(BUILDDIR)/d_vars.o : $(MOUNT_DIR)/d_vars.c
$(DO_X11_CC)
$(BUILDDIR)/obj/d_zpoint.o : $(MOUNT_DIR)/d_zpoint.c
$(BUILDDIR)/d_zpoint.o : $(MOUNT_DIR)/d_zpoint.c
$(DO_X11_CC)
$(BUILDDIR)/obj/host.o : $(MOUNT_DIR)/host.c
$(BUILDDIR)/host.o : $(MOUNT_DIR)/host.c
$(DO_X11_CC)
$(BUILDDIR)/obj/host_cmd.o : $(MOUNT_DIR)/host_cmd.c
$(BUILDDIR)/host_cmd.o : $(MOUNT_DIR)/host_cmd.c
$(DO_X11_CC)
$(BUILDDIR)/obj/keys.o : $(MOUNT_DIR)/keys.c
$(BUILDDIR)/keys.o : $(MOUNT_DIR)/keys.c
$(DO_X11_CC)
$(BUILDDIR)/obj/menu.o : $(MOUNT_DIR)/menu.c
$(BUILDDIR)/menu.o : $(MOUNT_DIR)/menu.c
$(DO_X11_CC)
$(BUILDDIR)/obj/mathlib.o : $(MOUNT_DIR)/mathlib.c
$(BUILDDIR)/mathlib.o : $(MOUNT_DIR)/mathlib.c
$(DO_X11_CC)
$(BUILDDIR)/obj/model.o : $(MOUNT_DIR)/model.c
$(BUILDDIR)/model.o : $(MOUNT_DIR)/model.c
$(DO_X11_CC)
$(BUILDDIR)/obj/model_common.o :$(MOUNT_DIR)/model_common.c
$(BUILDDIR)/model_common.o :$(MOUNT_DIR)/model_common.c
$(DO_X11_CC)
$(BUILDDIR)/obj/net_dgrm.o : $(MOUNT_DIR)/net_dgrm.c
$(BUILDDIR)/net_dgrm.o : $(MOUNT_DIR)/net_dgrm.c
$(DO_X11_CC)
$(BUILDDIR)/obj/net_loop.o : $(MOUNT_DIR)/net_loop.c
$(BUILDDIR)/net_loop.o : $(MOUNT_DIR)/net_loop.c
$(DO_X11_CC)
$(BUILDDIR)/obj/net_main.o : $(MOUNT_DIR)/net_main.c
$(BUILDDIR)/net_main.o : $(MOUNT_DIR)/net_main.c
$(DO_X11_CC)
$(BUILDDIR)/obj/net_vcr.o : $(MOUNT_DIR)/net_vcr.c
$(BUILDDIR)/net_vcr.o : $(MOUNT_DIR)/net_vcr.c
$(DO_X11_CC)
$(BUILDDIR)/obj/net_udp.o : $(MOUNT_DIR)/net_udp.c
$(BUILDDIR)/net_udp.o : $(MOUNT_DIR)/net_udp.c
$(DO_X11_CC)
$(BUILDDIR)/obj/net_bsd.o : $(MOUNT_DIR)/net_bsd.c
$(BUILDDIR)/net_bsd.o : $(MOUNT_DIR)/net_bsd.c
$(DO_X11_CC)
$(BUILDDIR)/obj/nonintel.o : $(MOUNT_DIR)/nonintel.c
$(BUILDDIR)/nonintel.o : $(MOUNT_DIR)/nonintel.c
$(DO_X11_CC)
$(BUILDDIR)/obj/pr_cmds.o : $(MOUNT_DIR)/pr_cmds.c
$(BUILDDIR)/pr_cmds.o : $(MOUNT_DIR)/pr_cmds.c
$(DO_X11_CC)
$(BUILDDIR)/obj/pr_edict.o : $(MOUNT_DIR)/pr_edict.c
$(BUILDDIR)/pr_edict.o : $(MOUNT_DIR)/pr_edict.c
$(DO_X11_CC)
$(BUILDDIR)/obj/pr_exec.o : $(MOUNT_DIR)/pr_exec.c
$(BUILDDIR)/pr_exec.o : $(MOUNT_DIR)/pr_exec.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_aclip.o : $(MOUNT_DIR)/r_aclip.c
$(BUILDDIR)/r_aclip.o : $(MOUNT_DIR)/r_aclip.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_alias.o : $(MOUNT_DIR)/r_alias.c
$(BUILDDIR)/r_alias.o : $(MOUNT_DIR)/r_alias.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_bsp.o : $(MOUNT_DIR)/r_bsp.c
$(BUILDDIR)/r_bsp.o : $(MOUNT_DIR)/r_bsp.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_light.o : $(MOUNT_DIR)/r_light.c
$(BUILDDIR)/r_light.o : $(MOUNT_DIR)/r_light.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_draw.o : $(MOUNT_DIR)/r_draw.c
$(BUILDDIR)/r_draw.o : $(MOUNT_DIR)/r_draw.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_efrag.o : $(MOUNT_DIR)/r_efrag.c
$(BUILDDIR)/r_efrag.o : $(MOUNT_DIR)/r_efrag.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_edge.o : $(MOUNT_DIR)/r_edge.c
$(BUILDDIR)/r_edge.o : $(MOUNT_DIR)/r_edge.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_misc.o : $(MOUNT_DIR)/r_misc.c
$(BUILDDIR)/r_misc.o : $(MOUNT_DIR)/r_misc.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_main.o : $(MOUNT_DIR)/r_main.c
$(BUILDDIR)/r_main.o : $(MOUNT_DIR)/r_main.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_sky.o : $(MOUNT_DIR)/r_sky.c
$(BUILDDIR)/r_sky.o : $(MOUNT_DIR)/r_sky.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_sprite.o : $(MOUNT_DIR)/r_sprite.c
$(BUILDDIR)/r_sprite.o : $(MOUNT_DIR)/r_sprite.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_surf.o : $(MOUNT_DIR)/r_surf.c
$(BUILDDIR)/r_surf.o : $(MOUNT_DIR)/r_surf.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_part.o : $(MOUNT_DIR)/r_part.c
$(BUILDDIR)/r_part.o : $(MOUNT_DIR)/r_part.c
$(DO_X11_CC)
$(BUILDDIR)/obj/r_vars.o : $(MOUNT_DIR)/r_vars.c
$(BUILDDIR)/r_vars.o : $(MOUNT_DIR)/r_vars.c
$(DO_X11_CC)
$(BUILDDIR)/obj/screen.o : $(MOUNT_DIR)/screen.c
$(BUILDDIR)/screen.o : $(MOUNT_DIR)/screen.c
$(DO_X11_CC)
$(BUILDDIR)/obj/sbar.o : $(MOUNT_DIR)/sbar.c
$(BUILDDIR)/sbar.o : $(MOUNT_DIR)/sbar.c
$(DO_X11_CC)
$(BUILDDIR)/obj/sv_main.o : $(MOUNT_DIR)/sv_main.c
$(BUILDDIR)/sv_main.o : $(MOUNT_DIR)/sv_main.c
$(DO_X11_CC)
$(BUILDDIR)/obj/sv_phys.o : $(MOUNT_DIR)/sv_phys.c
$(BUILDDIR)/sv_phys.o : $(MOUNT_DIR)/sv_phys.c
$(DO_X11_CC)
$(BUILDDIR)/obj/sv_move.o : $(MOUNT_DIR)/sv_move.c
$(BUILDDIR)/sv_move.o : $(MOUNT_DIR)/sv_move.c
$(DO_X11_CC)
$(BUILDDIR)/obj/sv_user.o : $(MOUNT_DIR)/sv_user.c
$(BUILDDIR)/sv_user.o : $(MOUNT_DIR)/sv_user.c
$(DO_X11_CC)
$(BUILDDIR)/obj/zone.o : $(MOUNT_DIR)/zone.c
$(BUILDDIR)/zone.o : $(MOUNT_DIR)/zone.c
$(DO_X11_CC)
$(BUILDDIR)/obj/view.o : $(MOUNT_DIR)/view.c
$(BUILDDIR)/view.o : $(MOUNT_DIR)/view.c
$(DO_X11_CC)
$(BUILDDIR)/obj/wad.o : $(MOUNT_DIR)/wad.c
$(BUILDDIR)/wad.o : $(MOUNT_DIR)/wad.c
$(DO_X11_CC)
$(BUILDDIR)/obj/world.o : $(MOUNT_DIR)/world.c
$(BUILDDIR)/world.o : $(MOUNT_DIR)/world.c
$(DO_X11_CC)
$(BUILDDIR)/obj/tracker_linux.o : $(MOUNT_DIR)/tracker_linux.c
$(BUILDDIR)/tracker_linux.o : $(MOUNT_DIR)/tracker_linux.c
$(DO_X11_CC)
$(BUILDDIR)/obj/cd_null.o : $(MOUNT_DIR)/cd_null.c
$(BUILDDIR)/cd_null.o : $(MOUNT_DIR)/cd_null.c
$(DO_X11_CC)
$(BUILDDIR)/obj/sys_linux.o :$(MOUNT_DIR)/sys_linux.c
$(BUILDDIR)/sys_linux.o :$(MOUNT_DIR)/sys_linux.c
$(DO_X11_CC)
$(BUILDDIR)/obj/vid_x.o: $(MOUNT_DIR)/vid_x.c
$(BUILDDIR)/vid_x.o: $(MOUNT_DIR)/vid_x.c
$(DO_O_CC)
$(BUILDDIR)/obj/snd_dma.o : $(MOUNT_DIR)/snd_dma.c
$(BUILDDIR)/snd_dma.o : $(MOUNT_DIR)/snd_dma.c
$(DO_X11_CC)
$(BUILDDIR)/obj/snd_mem.o : $(MOUNT_DIR)/snd_mem.c
$(BUILDDIR)/snd_mem.o : $(MOUNT_DIR)/snd_mem.c
$(DO_X11_CC)
$(BUILDDIR)/obj/snd_mix.o : $(MOUNT_DIR)/snd_mix.c
$(BUILDDIR)/snd_mix.o : $(MOUNT_DIR)/snd_mix.c
$(DO_X11_CC)
$(BUILDDIR)/obj/snd_linux.o :$(MOUNT_DIR)/snd_linux.c
$(BUILDDIR)/snd_linux.o :$(MOUNT_DIR)/snd_linux.c
$(DO_X11_CC)
$(BUILDDIR)/obj/bot.o :$(MOUNT_DIR)/bot.c
$(BUILDDIR)/bot.o :$(MOUNT_DIR)/bot.c
$(DO_X11_CC)
$(BUILDDIR)/obj/nvs_client.o :$(MOUNT_DIR)/nvs_client.c
$(BUILDDIR)/nvs_client.o :$(MOUNT_DIR)/nvs_client.c
$(DO_X11_CC)
$(BUILDDIR)/obj/nvs_common.o :$(MOUNT_DIR)/nvs_common.c
$(BUILDDIR)/nvs_common.o :$(MOUNT_DIR)/nvs_common.c
$(DO_X11_CC)
$(BUILDDIR)/obj/nvs_server.o :$(MOUNT_DIR)/nvs_server.c
$(BUILDDIR)/nvs_server.o :$(MOUNT_DIR)/nvs_server.c
$(DO_X11_CC)
$(BUILDDIR)/obj/nvs_server_data.o :$(MOUNT_DIR)/nvs_server_data.c
$(BUILDDIR)/nvs_server_data.o :$(MOUNT_DIR)/nvs_server_data.c
$(DO_X11_CC)
#####
$(BUILDDIR)/obj/d_copy.o : $(MOUNT_DIR)/../asm/d_copy.s
$(BUILDDIR)/d_copy.o : $(MOUNT_DIR)/../asm/d_copy.s
$(DO_AS)
$(BUILDDIR)/obj/d_draw.o : $(MOUNT_DIR)/../asm/d_draw.s
$(BUILDDIR)/d_draw.o : $(MOUNT_DIR)/../asm/d_draw.s
$(DO_AS)
$(BUILDDIR)/obj/d_draw16.o : $(MOUNT_DIR)/../asm/d_draw16.s
$(BUILDDIR)/d_draw16.o : $(MOUNT_DIR)/../asm/d_draw16.s
$(DO_AS)
$(BUILDDIR)/obj/d_parta.o : $(MOUNT_DIR)/../asm/d_parta.s
$(BUILDDIR)/d_parta.o : $(MOUNT_DIR)/../asm/d_parta.s
$(DO_AS)
$(BUILDDIR)/obj/d_polysa.o : $(MOUNT_DIR)/../asm/d_polysa.s
$(BUILDDIR)/d_polysa.o : $(MOUNT_DIR)/../asm/d_polysa.s
$(DO_AS)
$(BUILDDIR)/obj/d_scana.o : $(MOUNT_DIR)/../asm/d_scana.s
$(BUILDDIR)/d_scana.o : $(MOUNT_DIR)/../asm/d_scana.s
$(DO_AS)
$(BUILDDIR)/obj/d_spr8.o : $(MOUNT_DIR)/../asm/d_spr8.s
$(BUILDDIR)/d_spr8.o : $(MOUNT_DIR)/../asm/d_spr8.s
$(DO_AS)
$(BUILDDIR)/obj/d_varsa.o : $(MOUNT_DIR)/../asm/d_varsa.s
$(BUILDDIR)/d_varsa.o : $(MOUNT_DIR)/../asm/d_varsa.s
$(DO_AS)
$(BUILDDIR)/obj/math.o : $(MOUNT_DIR)/../asm/math.s
$(BUILDDIR)/math.o : $(MOUNT_DIR)/../asm/math.s
$(DO_AS)
$(BUILDDIR)/obj/r_aliasa.o : $(MOUNT_DIR)/../asm/r_aliasa.s
$(BUILDDIR)/r_aliasa.o : $(MOUNT_DIR)/../asm/r_aliasa.s
$(DO_AS)
$(BUILDDIR)/obj/r_drawa.o : $(MOUNT_DIR)/../asm/r_drawa.s
$(BUILDDIR)/r_drawa.o : $(MOUNT_DIR)/../asm/r_drawa.s
$(DO_AS)
$(BUILDDIR)/obj/r_edgea.o : $(MOUNT_DIR)/../asm/r_edgea.s
$(BUILDDIR)/r_edgea.o : $(MOUNT_DIR)/../asm/r_edgea.s
$(DO_AS)
$(BUILDDIR)/obj/r_varsa.o : $(MOUNT_DIR)/../asm/r_varsa.s
$(BUILDDIR)/r_varsa.o : $(MOUNT_DIR)/../asm/r_varsa.s
$(DO_AS)
$(BUILDDIR)/obj/surf16.o : $(MOUNT_DIR)/../asm/surf16.s
$(BUILDDIR)/surf16.o : $(MOUNT_DIR)/../asm/surf16.s
$(DO_AS)
$(BUILDDIR)/obj/surf8.o : $(MOUNT_DIR)/../asm/surf8.s
$(BUILDDIR)/surf8.o : $(MOUNT_DIR)/../asm/surf8.s
$(DO_AS)
$(BUILDDIR)/obj/surf8fst.o : $(MOUNT_DIR)/../asm/surf8fst.s
$(BUILDDIR)/surf8fst.o : $(MOUNT_DIR)/../asm/surf8fst.s
$(DO_AS)
$(BUILDDIR)/obj/worlda.o : $(MOUNT_DIR)/../asm/worlda.s
$(BUILDDIR)/worlda.o : $(MOUNT_DIR)/../asm/worlda.s
$(DO_AS)
$(BUILDDIR)/obj/r_aclipa.o : $(MOUNT_DIR)/../asm/r_aclipa.s
$(BUILDDIR)/r_aclipa.o : $(MOUNT_DIR)/../asm/r_aclipa.s
$(DO_AS)
$(BUILDDIR)/obj/snd_mixa.o : $(MOUNT_DIR)/../asm/snd_mixa.s
$(BUILDDIR)/snd_mixa.o : $(MOUNT_DIR)/../asm/snd_mixa.s
$(DO_AS)
$(BUILDDIR)/obj/sys_dosa.o : $(MOUNT_DIR)/../asm/sys_dosa.s
$(BUILDDIR)/sys_dosa.o : $(MOUNT_DIR)/../asm/sys_dosa.s
$(DO_AS)
#############################################################################

View file

@ -1,5 +1,5 @@
Engoo
=====
Engoo X11
=========
This is a novelty engine running in software mode, aka on your CPU.
This is _not_ a daily-driver Quake engine. This is featurebloat at its finest, to show off what software-rendering can do.
@ -15,8 +15,7 @@ Everything runs (including fancy water effects) except for a few things:
Sound is done via OSS, not ALSA (aoss will most likely not work without raping your ears)
Also I wouldn't bother trying to compile this with the original RELEASE ASM compiler optimsations since they seem to mess with the massive lookup table which will in return cause a segmentation fault.
Also the massive lookup table does not like ASM compiler optimisations...
Also the input SUUUUUUUCKKS but that can be fixed.

View file

@ -761,7 +761,6 @@ void Bot_Init (void)
iMaxBotnames = 0;
// id is OK as os
while ((fscanf(fd, "%16[^\n]\n", cBotName[iMaxBotnames]) == 1) && !feof(fd)) { // only load 16 chars...
printf("Found botname %d...\n",iMaxBotnames);
iMaxBotnames++;
}

View file

@ -1161,7 +1161,7 @@ void COM_InitArgv (int argc, char **argv)
standard_quake = false;
}
if ((COM_CheckParm ("-hipnotic"))
if ((COM_CheckParm ("-hipnotic")))
{
hipnotic = true;
standard_quake = false;

View file

@ -20,19 +20,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// d_scan.c
//
// Portable C scan-level rasterization code, all pixel depths.
//
// TODO: Fix this mess up, some of the codes formatting is utterly broken on most editors
#include "quakedef.h"
#include "r_local.h"
#include "d_local.h"
unsigned char *r_turb_pbase, *r_turb_pdest, *r_turb_prefst;;
fixed16_t r_turb_s, r_turb_t, r_turb_sstep, r_turb_tstep;
int *r_turb_turb;
int r_turb_spancount;
// hexen II inheritance
//int ZScanCount;
//#define SCAN_SIZE 2048
//byte scanList[SCAN_SIZE];
fixed16_t r_turb_s, r_turb_t, r_turb_sstep, r_turb_tstep;
int *r_turb_turb;
int r_turb_spancount;
void D_DrawTurbulent8Span (void);
void D_DrawTurbulent8SpanT (void);
extern int fogcolr, fogcolg, fogcolb, fogthick, fogrange; // leilei - fog
@ -41,19 +40,11 @@ extern pixel_t transTable[256][256]; // for shrooms effect
pixel_t waterTable[256][256];
extern float oldwateralpha;
byte menumap[256][16]; // haha hack
extern pixel_t addTable[256][256]; // Additive blending effect
extern pixel_t mulTable[256][256]; // Multiply blending effect (for colormod)
extern pixel_t addTable[256][256]; // Additive blending effect
extern pixel_t mulTable[256][256]; // Multiply blending effect (for colormod)
extern pixel_t ditherTable[262144][4];
//extern pixel_t ditherTable[32768][4];
// leilei - turning fogmap into a static = faster by an average of a few frames
// so we do it here, we do it now, we do it forever! (or not)
static byte *foggmap;
void SetFogMap (void)
{
foggmap = (byte *)host_fogmap;
};
extern int wootel[32][32][32];
extern int reflectavailable;
int gonnareflect; // well are we gonna reflect or not?
@ -62,6 +53,12 @@ extern cvar_t *r_tranquality;
extern cvar_t *r_wateralpha;
extern float fademap[256]; // Used in generation of certain alpha tables
extern int oldwaterblend;
void SetFogMap (void)
{
foggmap = (byte *)host_fogmap;
}
void WaterTablgeGet (void)
{
float ay, ae;
@ -71,24 +68,10 @@ void WaterTablgeGet (void)
ooh = (int)r_tranquality->value;
// Use these for now
ae = 0.66;
ay = 0.33;
// or not.
ay = r_wateralpha->value; // water surface
ae = 1 - ay; // base pixels
ae = 1 - ay; // base pixels
// newwateralpha = r_wateralpha->value; // why
//if (oldwateralpha != newwateralpha)
{
// Con_Printf ("yep");
for (l=0;l<255;l++)
for (l=0;l<255;l++)
{
for (c=0 ; c<255 ; c++)
{
@ -109,27 +92,12 @@ void WaterTablgeGet (void)
blue = host_basepal[c*3+2] *ae + ((host_basepal[l*3+2] * 0.1 * (host_basepal[c*3+2] * 0.5)) * ay);
}
else if (oldwaterblend == 5){ // weird alpha thing
// how it works - goes through each color row from transparent(0) to opaque (16)
// this would also be used for the future (can you say decals?)
/* how it works - goes through each color row from transparent(0) to opaque (16)
this would also be used for the future (can you say decals?) */
red = host_basepal[c*3] *(fademap[l] * ae) + (host_basepal[l*3] * (fademap[l]+0.3 * ay));
green = host_basepal[c*3+1] *(fademap[l] * ae) + (host_basepal[l*3+1] * (fademap[l]+0.3 * ay));
blue = host_basepal[c*3+2] * (fademap[l] * ae) + (host_basepal[l*3+2] * (fademap[l]+0.3 * ay));
}
/*
else if (oldwaterblend == 6){ // like above sort of
red = host_basepal[c*3] *host_basepal[l*3] + (host_basepal[l*3] * host_basepal[c*3]) / 768;
green = host_basepal[c*3+1] *host_basepal[l*3+1] + (host_basepal[l*3+1] * host_basepal[c*3+1]) / 768;
blue = host_basepal[c*3+2] *host_basepal[l*3+2]+ (host_basepal[l*3+2] * host_basepal[c*3+2]) / 768;
}
else if (oldwaterblend == 13){ // weird ass blend, black is black, but is a mix of alpha!?
red = host_basepal[c*3] *host_basepal[l*3] + (host_basepal[l*3] * host_basepal[c*3]) / 768;
green = host_basepal[c*3+1] *host_basepal[l*3+1] + (host_basepal[l*3+1] * host_basepal[c*3+1]) / 768;
blue = host_basepal[c*3+2] *host_basepal[l*3+2]+ (host_basepal[l*3+2] * host_basepal[c*3+2]) / 768;
}
*/
else
{
red = host_basepal[c*3] *ae + (host_basepal[l*3] * ay);
@ -150,14 +118,6 @@ void WaterTablgeGet (void)
// fast! or i'll cry.
}
}
// if (!waterTable)
// Con_Printf (".... NOT!\n"); // how are we going to fail?
// else{
// Con_Printf ("!\n");
// }
}
}
@ -215,7 +175,6 @@ void D_AlphaShift (void)
extern void *acolormap; // FIXME: should go away
/*
=============
D_WarpScreen
@ -1804,36 +1763,34 @@ D_DrawSpans8_C_Filter
int kernel[2][2][2] =
{
{
{16384,0},
{49152,16384}
}
,
{16384, 0},
{49152, 16384}
},
{
{32768,49152},
{0,32768}
}
{32768, 49152},
{0, 32768}
}
};
int gernel[12][12][8] =
int gernel[2][11][2] =
{
{
{16384, 0},
{16384, 32},
{16384, 64},
{16384, 128},
{16384, 256},
{49152, 512},
{49152, 1024},
{49152, 2048},
{49152, 4096},
{49152, 8192},
{49152, 16384}
}
,
{16384, 0},
{16384, 32},
{16384, 64},
{16384, 128},
{16384, 256},
{49152, 512},
{49152, 1024},
{49152, 2048},
{49152, 4096},
{49152, 8192},
{49152, 16384}
},
{
{32768, 49152},
{0, 32768}
}
{32768, 49152},
{0, 32768}
}
};
void D_DrawSpans8_C_Filter (espan_t *pspan)
@ -2779,60 +2736,52 @@ void D_DrawSpans16_C_Filter_64 (espan_t *pspan) //qbism- up it from 8 to 16
void D_DrawSpans16_C_Dither (espan_t *pspan) //qbism up it from 8 to 16. This + unroll = big speed gain!
{
int count, spancount;
unsigned char *pbase, *pdest;
fixed16_t s, t, snext, tnext, sstep, tstep;
float sdivz, tdivz, zi, z, du, dv, spancountminus1;
float sdivzstepu, tdivzstepu, zistepu;
int n;
int forg= 0; // leilei - fog
//float forgf= 0; // leilei - alpha'ed fog
unsigned char fogg[3];
// float fogthic;
int count, spancount;
unsigned char *pbase, *pdest;
fixed16_t s, t, snext, tnext, sstep, tstep;
float sdivz, tdivz, zi, z, du, dv, spancountminus1;
float sdivzstepu, tdivzstepu, zistepu;
int n;
int forg= 0; // leilei - fog
unsigned char fogg[3];
unsigned short *src;
// fogthic = fogthick * 0.01;
pbase = (unsigned char *)cacheblock;
sdivzstepu = d_sdivzstepu * 16;
tdivzstepu = d_tdivzstepu * 16;
zistepu = d_zistepu * 16;
sstep = 0; // keep compiler happy
tstep = 0; // ditto
pbase = (unsigned char *)cacheblock;
do
{
pdest = (unsigned char *)((byte *)d_viewbuffer +
(screenwidth * pspan->v) + pspan->u);
sdivzstepu = d_sdivzstepu * 16;
tdivzstepu = d_tdivzstepu * 16;
zistepu = d_zistepu * 16;
count = pspan->count;
do
{
pdest = (unsigned char *)((byte *)d_viewbuffer +
(screenwidth * pspan->v) + pspan->u);
// calculate the initial s/z, t/z, 1/z, s, and t and clamp
du = (float)pspan->u;
dv = (float)pspan->v;
count = pspan->count;
sdivz = d_sdivzorigin + dv*d_sdivzstepv + du*d_sdivzstepu;
tdivz = d_tdivzorigin + dv*d_tdivzstepv + du*d_tdivzstepu;
zi = d_ziorigin + dv*d_zistepv + du*d_zistepu;
z = (float)0x10000 / zi; // prescale to 16.16 fixed-point
// calculate the initial s/z, t/z, 1/z, s, and t and clamp
du = (float)pspan->u;
dv = (float)pspan->v;
s = (int)(sdivz * z) + sadjust;
if (s > bbextents)
s = bbextents;
else if (s < 0)
s = 0;
sdivz = d_sdivzorigin + dv*d_sdivzstepv + du*d_sdivzstepu;
tdivz = d_tdivzorigin + dv*d_tdivzstepv + du*d_tdivzstepu;
zi = d_ziorigin + dv*d_zistepv + du*d_zistepu;
z = (float)0x10000 / zi; // prescale to 16.16 fixed-point
t = (int)(tdivz * z) + tadjust;
if (t > bbextentt)
t = bbextentt;
else if (t < 0)
t = 0;
s = (int)(sdivz * z) + sadjust;
if (s > bbextents)
s = bbextents;
else if (s < 0)
s = 0;
t = (int)(tdivz * z) + tadjust;
if (t > bbextentt)
t = bbextentt;
else if (t < 0)
t = 0;
do
{
do
{
// calculate s and t at the far end of the span
// if (count >= 16)
// spancount = 16;
@ -2981,9 +2930,8 @@ void D_DrawSpans16_C_Dither (espan_t *pspan) //qbism up it from 8 to 16. This +
s = snext;
t = tnext;
} while (count > 0);
} while ((pspan = pspan->pnext) != NULL);
} while (count > 0);
} while ((pspan = pspan->pnext) != NULL);
}

View file

@ -1241,8 +1241,8 @@ void MassiveLookupTablesInit (void)
#ifdef _WIN32
if (erh == 53)
thepaltouse = vid_curpal; // leilei - silly experiment to try adjusted palettes as a basis
// just for recalculating the big tables to see less color clashing
thepaltouse = vid_curpal; // leilei - silly experiment to try adjusted palettes as a basis
// just for recalculating the big tables to see less color clashing
else
#endif
thepaltouse = host_basepal;
@ -1252,13 +1252,8 @@ void MassiveLookupTablesInit (void)
// if (COM_CheckParm ("-cache"))
// lookupcaching = 1; // try to cache it all for future loading
#ifdef linux
inthedos = 1;
#endif
if (inthedos)
fprintf(stderr,"\nGenerating additive table - ");
for (l=0;l<255;l++)
fprintf(stderr,"\nGenerating additive table...");
for (l=0;l<255;l++)
{
for (c=0 ; c<255 ; c++)
{
@ -1266,20 +1261,10 @@ void MassiveLookupTablesInit (void)
green = thepaltouse[c*3+1] + thepaltouse[l*3+1];
blue = thepaltouse[c*3+2] + thepaltouse[l*3+2];
addTable[l][c] = BestColor(red,green,blue, 0, 254);
}
if (inthedos)
fprintf(stderr,".");
}
}
// Make the Additive Lookup Table
// Make the Alpha Transparency table
if (inthedos)
fprintf(stderr,"\nGenerating alpha table - ");
fprintf(stderr,"\nGenerating alpha table...");
for (l=0;l<255;l++)
{
for (c=0 ; c<255 ; c++)
@ -1289,39 +1274,27 @@ void MassiveLookupTablesInit (void)
blue = thepaltouse[c*3+2] *0.66 + (thepaltouse[l*3+2] * 0.33);
transTable[l][c] = BestColor(red,green,blue, 0, 254);
}
if (inthedos) fprintf(stderr,".");
}
if (COM_CheckParm ("-nolookups")){
nolookups = 1;
if (inthedos)
fprintf(stderr,"Color lookup tables are skipped\n");
// hqlite = 1; // force bestcolor water
return; // we don't need your lookupation
}
if (inthedos)
fprintf(stderr,"\n---------------------\nGenerating all the lookup tables\n(If your computer is slow, this will take up to 30 seconds. Use the -nolookups \nparameter if you find this unsettling)\nYou can also skip the 18-bit generation by passing -no18\nAlternatively, you can pass -ugly for faster but ugly generation\n---------------------\n");
fprintf(stderr,"Color lookup tables are skipped\n");
return;
}
fprintf(stderr,"\n\n---------------------\nGenerating all the lookup tables\n(If your computer is slow, this will take up to 30 seconds. Use the -nolookups \nparameter if you find this unsettling)\nYou can also skip the 18-bit generation by passing -no18\nAlternatively, you can pass -ugly for faster but ugly generation\n---------------------\n\n");
if (COM_CheckParm ("-ugly")){
fprintf(stderr,"UGLY GENERAION MODE ON!\n");
fprintf(stderr,"UGLY GENERATION MODE ON!\n");
ugly = 1;}
else
ugly = 0;
// Do 24bit lookup
VID_SetPalette2 (thepaltouse);
VID_SetPalette2 (thepaltouse);
{
//printf ("da\n");
if (inthedos)
fprintf(stderr,"\nGenerating 15-bit lookup table - ");
fprintf(stderr,"\nGenerating 15-bit lookup table...");
for (r=0 ; r<256 ; r+=8)
{
for (g=0 ; g<256 ; g+=8)
@ -1331,131 +1304,85 @@ void MassiveLookupTablesInit (void)
float lol = 3.6;
beastcolor = BestColor (r + lol, g + lol, b + lol, 0, 254);
palmap[r>>3][g>>3][b>>3] = beastcolor;
// palmap3[r>>3>>10 + g>>3>>5 + b>>3] = beastcolor;
// andrewj's crud here
{ int k;
int pix = ((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3);
int rr = r - 4;
int gg = g - 4;
int bb = b - 4;
int col[4];
int ity[4];
byte *found;
// andrewj's crud here
int k;
int pix = ((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3);
int rr = r - 4;
int gg = g - 4;
int bb = b - 4;
int col[4];
int ity[4];
byte *found;
for (k = 0 ; k < 4 ; k++)
{
col[k] = BestColor(rr + lol, gg + lol, bb + lol, 0, 254);
for (k = 0 ; k < 4 ; k++)
{
col[k] = BestColor(rr + lol, gg + lol, bb + lol, 0, 254);
// apply error term
found = thepaltouse + col[k] * 3;
rr += (rr - (int)found[0]);
gg += (gg - (int)found[1]);
bb += (bb - (int)found[2]);
ity[k] = found[0] + found[1] + found[2];
}
// sort colors by intensity
for (rr = 0 ; rr < 4 ; rr++)
for (k = 0 ; k < 3 ; k++)
{
if (ity[k] < ity[k+1])
{
gg = col[k] ; col[k] = col[k+1] ; col[k+1] = gg;
gg = ity[k] ; ity[k] = ity[k+1] ; ity[k+1] = gg;
}
}
ditherTable[pix][0] = col[0];
ditherTable[pix][3] = col[1];
ditherTable[pix][2] = col[2];
ditherTable[pix][1] = col[3];
}
// apply error term
found = thepaltouse + col[k] * 3;
rr += (rr - (int)found[0]);
gg += (gg - (int)found[1]);
bb += (bb - (int)found[2]);
ity[k] = found[0] + found[1] + found[2];
}
// sort colors by intensity
for (rr = 0 ; rr < 4 ; rr++)
for (k = 0 ; k < 3 ; k++)
{
if (ity[k] < ity[k+1])
{
gg = col[k] ; col[k] = col[k+1] ; col[k+1] = gg;
gg = ity[k] ; ity[k] = ity[k+1] ; ity[k+1] = gg;
}
}
ditherTable[pix][0] = col[0];
ditherTable[pix][3] = col[1];
ditherTable[pix][2] = col[2];
ditherTable[pix][1] = col[3];
}
}
if (inthedos)
fprintf(stderr,"."); // yep do the dot thing. it's a big 32k table so we have to
}
}
if (!palmap)
if (inthedos)
fprintf(stderr,"FAILED!\n");
else{
if (inthedos)
fprintf(stderr,"!\n");
}
printf(stderr,"FAILED!\n");
// Make the 18-bit lookup table here
// This is a HUGE 256kb table, the biggest there is here
// TODO: Option to enable this
// if (r_lightquality->value){
if (COM_CheckParm ("-no18")){
if (inthedos)
fprintf(stderr,"\n18-bit lookup generation skipped - High quality light mode DISABLED!\n");
}
if (COM_CheckParm ("-no18"))
fprintf(stderr,"\n18-bit lookup generation skipped - High quality light mode DISABLED!\n");
else
{
// if(!lookupcaching) // when in -cache, skip the files loading for regeneration
// fileinfo3 = COM_LoadHunkFile ("palmap2.lmp");
// if (!fileinfo3)
{
if (inthedos)
fprintf(stderr,"\nGenerating 18-bit lookup table - ");
for (r=0 ; r<256 ; r+=4)
{
for (g=0 ; g<256 ; g+=4)
{
fprintf(stderr,"\nGenerating 18-bit lookup table...");
for (r=0 ; r<256 ; r+=4)
{
for (b=0 ; b<256 ; b+=4)
for (g=0 ; g<256 ; g+=4)
{
if (ugly) beastcolor = FindColor (r, g, b);
else
beastcolor = BestColor (r, g, b, 0, 254);
palmap2[r>>2][g>>2][b>>2] = beastcolor;
for (b=0 ; b<256 ; b+=4)
{
if (ugly)
beastcolor = FindColor (r, g, b);
else
beastcolor = BestColor (r, g, b, 0, 254);
palmap2[r>>2][g>>2][b>>2] = beastcolor;
}
}
}
if (inthedos)
fprintf(stderr,"."); // yep do the dot thing. it's a big 256k table so we have to
}
}
if (!palmap2)
if (inthedos)
fprintf(stderr,"FAILED!\n");
else{
if (inthedos)
fprintf(stderr,"!\n");
if (!palmap2)
printf(stderr,"FAILED!\n");
}
}
// }
// what follows are 3 big 64kb lookup tables. pretty funny when you have this little 32kb
// 15to8 table up there
fprintf(stderr,"\nGenerating additive table...");
// printf ("\nGenerating rgb color surface clamping table - ");
// Make the Additive Lookup Table
if (inthedos)
fprintf(stderr,"\nGenerating additive table - ");
for (l=0;l<255;l++)
for (l=0;l<255;l++)
{
for (c=0 ; c<255 ; c++)
{
@ -1465,25 +1392,16 @@ void MassiveLookupTablesInit (void)
if (ugly) addTable[l][c] = FindColor(red,green,blue);
else
addTable[l][c] = BestColor(red,green,blue, 0, 254);
}
if (inthedos)
fprintf(stderr,".");
}
}
if (!addTable)
if (inthedos)
fprintf(stderr,"FAILED!\n");
else{
printf(stderr,"FAILED!\n");
if (inthedos)
fprintf(stderr,"!\n");
}
// Make the Multiply Lookup Table which doesn't work
if (inthedos)
fprintf(stderr,"\nGenerating multiply blend table - ");
for (l=0;l<255;l++)
fprintf(stderr,"\nGenerating multiply blend table...");
for (l=0;l<255;l++)
{
for (c=0 ; c<255 ; c++)
{
@ -1496,32 +1414,21 @@ void MassiveLookupTablesInit (void)
blue = ((thepaltouse[l*3+2] * erp * (thepaltouse[c*3+2] * ee)) * er);
if (red>255) red=255; if (green>255) green=255; if (blue>255) blue=255;
if (ugly) mulTable[l][c] = FindColor(red,green,blue);
else
mulTable[l][c] = BestColor(red,green,blue, 0, 223);
}
if (inthedos)
fprintf(stderr,".");
if (ugly)
mulTable[l][c] = FindColor(red,green,blue);
else
mulTable[l][c] = BestColor(red,green,blue, 0, 223);
}
}
if (!mulTable)
if (inthedos)
fprintf(stderr,"FAILED!\n");
else{
if (inthedos)
fprintf(stderr,"!\n");
#ifdef linux
inthedos = 0;
#endif
}
if (!mulTable)
printf(stderr,"FAILED!\n");
// if(palmap2)
PalmapStaticized();
// if(palmap2)
PalmapStaticized();
// Caching lookups to disk, possibly folder unfriendly.
// TODO: Caching lookups to disk, possibly folder unfriendly.
/* if (lookupcaching){
if (palmap)
@ -1537,24 +1444,19 @@ void MassiveLookupTablesInit (void)
if (ditherTable)
COM_WriteFile ("dithtab.lmp", ditherTable, 262144); // good lord this is huge.
}*/
}
*/
int ahe;
for (ahe=0; ahe<256; ahe++)
{
if (ahe < host_fullbrights)
fbs[ahe] = 0;
else
fbs[ahe] = mulTable[ahe][6];
}
{
int ahe;
for (ahe=0; ahe<256; ahe++)
{
if (ahe < host_fullbrights)
fbs[ahe] = 0;
else
fbs[ahe] = mulTable[ahe][6];
}
}
GrabColorMapRGB();
GrabColorMapRGB();
}
// mangled a bit from grabcolormap

View file

@ -1111,7 +1111,7 @@ void VID_SetPalette2 (unsigned char *palette)
FILE *f;
char s[255];
float gamma = 0;
Con_Printf ("Making 8to24 lookup tables.");
Con_Printf ("Making 8to24 lookup tables...");
//
// 8 8 8 encoding
//
@ -1119,7 +1119,6 @@ void VID_SetPalette2 (unsigned char *palette)
table = d_8to24table;
for (i=0 ; i<256 ; i++)
{
Con_Printf ("."); // loop an indicator
r = pal[0];
g = pal[1];
b = pal[2];
@ -1155,8 +1154,6 @@ void ColormapForceLoad (void)
Sys_Error ("Couldn't load gfx/colormap.lmp");
host_colormap = fileinfo->data;
};
@ -1227,84 +1224,77 @@ void Palette_Init (void)
#endif
if(pre100 == 1){
/* fileinfo = COM_LoadHunkFile ("gfx/colormap.lmp");
if (!fileinfo)
Sys_Error ("Couldn't load gfx/colormap.lmp");
*/
host_colormap = malloc(16384);
host_fullbrights = 256-host_colormap[16384]; // leilei - variable our fullbright counts if available
host_colormap = malloc(16384);
// leilei - variable our fullbright counts if available
host_fullbrights = 256-host_colormap[16384];
}
else
{
fileinfo = COM_LoadHunkFile ("gfx/colormap.lmp");
if (!fileinfo)
fileinfo = COM_LoadHunkFile ("gfx/colormap.lmp");
Sys_Error ("Couldnf't load gfx/colormap.lmp");
host_colormap = fileinfo->data;
fileinfo = COM_LoadHunkFile ("gfx/colormap.lmp");
host_colormap_red = fileinfo->data;
fileinfo = COM_LoadHunkFile ("gfx/colormap.lmp");
host_colormap_green = fileinfo->data;
fileinfo = COM_LoadHunkFile ("gfx/colormap.lmp");
host_colormap_blue = fileinfo->data;
if (!fileinfo)
Sys_Error ("Couldnf't load gfx/colormap.lmp");
host_colormap = fileinfo->data;
fileinfo = COM_LoadHunkFile ("gfx/colormap.lmp");
host_colormap_red = fileinfo->data;
fileinfo = COM_LoadHunkFile ("gfx/colormap.lmp");
host_colormap_green = fileinfo->data;
fileinfo = COM_LoadHunkFile ("gfx/colormap.lmp");
host_colormap_blue = fileinfo->data;
host_fullbrights = 256-host_colormap[16384]; // leilei - variable our fullbright counts if available
// leilei - variable our fullbright counts if available
host_fullbrights = 256-host_colormap[16384];
}
if (COM_CheckParm ("-glsuck")){
if (COM_CheckParm ("-glsuck"))
{
overbrights = 0;
fullbrights = 0;
host_fullbrights = 255;
GrabColorMap();
}
if (COM_CheckParm ("-nooverbright")){
if (COM_CheckParm ("-nooverbright"))
{
overbrights = 0;
GrabColorMap();
}
if (pre100 == 1){
if (pre100 == 1)
{
overbrights = 0;
fullbrights = 32; // pre 1.00 didn't have the number of brights stored. :(
GrabColorMap();
}
if (COM_CheckParm ("-nofb")){
if (COM_CheckParm ("-nofb"))
{
host_fullbrights = 0;
fullbrights = 0;
GrabColorMap();
}
if (host_basepal != host_otherpal){
if (host_basepal != host_otherpal){
// Make a translation table for converting stuff that uses otherpal to our new pal
translate_bsp = 1;
#ifdef EGAHACK
InitRemap(host_origpal);
//GrabColorMapEGA();
TranslateColorMapEGA();
#else
InitRemap(host_otherpal);
GrabColorMap();
#endif
}
}
// Fog
host_fogmap = malloc(16384);//fileinfo->data;
GrabColorMapNoFB();
MakeMy15to8(host_basepal);
host_fogmap = malloc(16384);//fileinfo->data;
GrabColorMapNoFB();
MakeMy15to8(host_basepal);
}

View file

@ -1983,7 +1983,7 @@ if (!reflectpass)
if(!reflectpass){
// if (r_docrap)
if (amilow) // 160x100
D_CrapScreenMH ();
D_CrapScreen ();
else
{

View file

@ -483,7 +483,65 @@ void R_SetupFrame (void)
if ((r_dowarp != r_dowarpold) || r_viewchanged || r_virtualmode->value || lcd_x->value || v_detail->value)
{
if (r_docrap)
if (r_docrap == 1)
{
if ((vid.width <= vid.maxlowwidth) &&
(vid.height <= vid.maxlowheight))
{
vrect.x = 0;
vrect.y = 0;
vrect.width = vid.width;
vrect.height = vid.height;
if (reflectpass){
R_SetVrect (&vrect, &r_refdef.vrect, 0);
R_ViewChanged (&vrect, 0, vid.aspect);
}
else
{
R_SetVrect (&vrect, &r_refdef.vrect, (sb_what_lines / scalefactoid));
R_ViewChanged (&vrect, (sb_what_lines / scalefactoid), vid.aspect);
}
}
else
{
w = vid.width;
h = vid.height;
if (w > vid.maxlowwidth)
{
h *= (float)vid.maxlowwidth / w;
w = vid.maxlowwidth;
}
if (h > vid.maxlowheight)
{
h = vid.maxlowheight;
w *= (float)vid.maxlowheight / h;
}
vrect.x = 0;
vrect.y = 0;
vrect.width = (int)w;
vrect.height = (int)h;
if (reflectpass)
{
R_SetVrect (&vrect, &r_refdef.vrect, (h/(float)vid.height));
R_ViewChanged (&vrect, 0, vid.aspect * (h / w) * ((float)vid.width / (float)vid.height));
}else{
R_SetVrect (&vrect, &r_refdef.vrect, (int)((float)sb_lines * (h/(float)vid.height)));
R_ViewChanged (&vrect, (sb_what_lines / scalefactoid), vid.aspect * (h / w) * ((float)vid.width / (float)vid.height));
}
// R_ViewChanged (&vrect,
// (int)((float)(sb_what_lines / scalefactoid) * (h/(float)vid.height)),
// vid.aspect * (h / w) *
// ((float)vid.width / (float)vid.height));
}
}
else if(r_docrap > 1)
{
if ((vid.width <= vid.maxwarpwidth) &&
(vid.height <= vid.maxwarpheight))

View file

@ -280,15 +280,13 @@ WAV loading
===============================================================================
*/
static byte *data_p;
static byte *iff_end;
static byte *last_chunk;
static byte *iff_data;
static int iff_chunk_len;
byte *data_p;
byte *iff_end;
byte *last_chunk;
byte *iff_data;
int iff_chunk_len;
short GetLittleShort(void)
static short GetLittleShort (void)
{
short val = 0;
val = *data_p;
@ -297,7 +295,7 @@ short GetLittleShort(void)
return val;
}
int GetLittleLong(void)
static int GetLittleLong (void)
{
int val = 0;
val = *data_p;
@ -308,35 +306,33 @@ int GetLittleLong(void)
return val;
}
void FindNextChunk(char *name)
static void FindNextChunk (const char *name)
{
while (1)
{
data_p=last_chunk;
if (data_p >= iff_end)
{ // didn't find the chunk
data_p = NULL;
return;
}
data_p += 4;
iff_chunk_len = GetLittleLong();
if (iff_chunk_len < 0)
// Need at least 8 bytes for a chunk
if (last_chunk + 8 >= iff_end)
{
data_p = NULL;
return;
}
// if (iff_chunk_len > 1024*1024)
// Sys_Error ("FindNextChunk: %i length is past the 1 meg sanity limit", iff_chunk_len);
data_p = last_chunk + 4;
iff_chunk_len = GetLittleLong();
if (iff_chunk_len < 0 || iff_chunk_len > iff_end - data_p)
{
data_p = NULL;
Con_DPrintf("bad \"%s\" chunk length (%d)\n", name, iff_chunk_len);
return;
}
last_chunk = data_p + ((iff_chunk_len + 1) & ~1);
data_p -= 8;
last_chunk = data_p + 8 + ( (iff_chunk_len + 1) & ~1 );
if (!strncmp(data_p, name, 4))
if (!strncmp((char *)data_p, name, 4))
return;
}
}
void FindChunk(char *name)
static void FindChunk (const char *name)
{
last_chunk = iff_data;
FindNextChunk (name);

View file

@ -100,7 +100,7 @@ void Tracker_Play(byte track, qboolean looping)
void Tracker_Stop(void)
{
if(bTracker_Initialized == false)
if(bTracker_Initialized == false || playing == false)
return;
if(!trackmod || !sr)
return;
@ -133,7 +133,6 @@ void Tracker_Resume(void)
Con_Printf("Resuming %s\n", name);
}
static void Tracker_f (void)
{
char *command;
@ -221,7 +220,7 @@ int Tracker_Init(void)
void Tracker_Shutdown(void)
{
Tracker_Stop(); // First stop the track
close(oss_device); // Close the device
Tracker_Stop(); // First stop the track
dumb_exit(); // Kill DUMB
close(oss_device); // Close the device
}

View file

@ -190,7 +190,12 @@ void *W_GetLumpName (char *name)
lump = W_GetLumpinfo (name);
if(lump)
//Sys_Error("Couldn't find lumpname for %s!\n");
return (void *)(wad_base + lump->filepos);
return NULL;
}
void *W_GetLumpName2 (char *name)