Commit Graph

757 Commits

Author SHA1 Message Date
Eric Wasylishen 526f90d69b Revert Pa3PyX support for cross-map demos
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@975 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-25 02:55:16 +00:00
Eric Wasylishen 9bd02ae55b cl_parse.c: hack so demos playback at the correct speed even if they contain a lot of svc_stufftext messages (e.g. one every frame).
for a test case, play a demo from: http://www.quaketastic.com/upload/files/demos/otp_honey100.zip
for the honey map pack: http://www.quaketastic.com/upload/files/single_player/maps/honey.zip
on a slow pc that gets signifigantly less than 72fps, or with host_maxfps lowered (e.g. set to 33).

with QS 0.85.9, the demo will play in slow-motion; with QS 0.85.6 (without the cross-map demo support) it plays normally.

admittedly this is a fringe scenario, but it's imo a legitimate bug in the Pa3PyX cross-map demo playback code.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@974 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-24 18:37:28 +00:00
Eric Wasylishen f292a594b3 Fence textures: also support on world polys. From Fitzquake Mark V
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@972 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-22 01:10:58 +00:00
Eric Wasylishen d10512a72b Fence texture support on brush models, e.g. for rmqdemo2 e1m6rq.bsp. Based on Baker's implementation in Fitz Mark V. Consistent with Fitz Mark V, RMQEngine, FTEQW rendering.
Not implemented for world polys (afaik it's useless for world polys) but could be added if needed.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@970 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-19 02:20:12 +00:00
Eric Wasylishen 28134aca63 Change Cvar_Cycle_f to use Q_atof to be consistent with other cvar code. Q_atof("0.3"), a float, does not == atof("0.3"), a double.
Fixes "cycle r_wateralpha 0.3 0.6 1" not working reported by AAS.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@969 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-18 17:12:39 +00:00
Eric Wasylishen 0824c53967 r_brush.c: small optimization in R_DrawSequentialPoly; move the drawing of fullbrights to a separate function, and draw them in a separate pass through the polys of the brush mode. This reduces the amount of texture binding. The extreme case would be, e.g. 1000 polys with one texture (with fullbrights), before would require 2000 binds, after would require 2 binds. This gets part way to the performance of https://sourceforge.net/p/quakespasm/patches/14/ with much less code change
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@968 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-17 21:12:54 +00:00
Eric Wasylishen 9894c0b00d Raise MAX_ENT_LEAFS from 16 to 32, fixes disappearing/flickering bmodels in some situations. In particular fixes an elevator in fort_driant-fullvis.bsp, and a grate (func_door) in jam1_ionous.bsp.
From what I understand, if an entity touches more than MAX_ENT_LEAFS, it will only be visible
if the player happens to be standing in one of the first 'MAX_ENT_LEAFS' (so essentially random).

See discussion of MAX_ENT_LEAFS here:
http://celephais.net/board/view_thread.php?id=60310

For more detail (mh has an alternate fix, used in DirectQ/RMQEngine, haven't looked in to what he did):
http://forums.inside3d.com/viewtopic.php?t=2376&postdays=0&postorder=asc&start=23

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@967 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-13 06:40:07 +00:00
Eric Wasylishen fb31319099 new fsaa support patch. commandline flag is -fsaa, cvar is vid_fsaa. cvar is only read in VID_Init, changing it prints a message that the new value will only be used upon restart
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@966 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:39:20 +00:00
Eric Wasylishen 7cca17afaa revert r962 and r963 (first attempt at multisampling)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@965 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:25:14 +00:00
Sander van Dijk 1cdf1f400d Add a Bourne Shell PAK file writer (remove qpakman dependency).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@964 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 19:59:52 +00:00
Eric Wasylishen 5f7e61ecd4 cleanup fsaa patch, from szo. removes sdl version checks because qs requires sdl >= 1.2.10
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@963 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 08:08:15 +00:00
Eric Wasylishen 503db92edb fsaa support, borrowing from uhexen2. cvar is vid_multisample, cmdline arg is -fsaa (inconsistent..)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@962 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 06:58:42 +00:00
Eric Wasylishen 1fd8a1f344 bump MAX_EFRAGS to 4096 (from 2048) and MAX_CHANNELS to 1024 (from 512). For ijed's map - has over 500 ambient sounds, causing it to hit the channel limit, and a lot of static entities, which I guess cause it to exceed the old efrags limit. For future reference, according to mh, the efrags array can be removed entirely in glquake (http://forums.inside3d.com/viewtopic.php?t=1930) and each efrag allocated in the hunk memory.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@959 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-10 03:33:59 +00:00
Eric Wasylishen bccf3de5df sv_aim: change default to 1 (autoaim off) and CVAR_NONE
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@958 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-07 18:47:37 +00:00
Eric Wasylishen a0f475ebcd Image_LoadImage: read pixel data in 1K chunks instead of calling getc in a loop
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@957 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 20:41:47 +00:00
Eric Wasylishen d9f78442fe AllocBlock: cache index of last used lightmap, start search there
Can speed up map loading by multiple seconds on levels with a lot of lightmaps, at a cost of using slightly more lightmaps (about 5% more).

https://sourceforge.net/p/quakespasm/patches/20/


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@956 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 18:22:58 +00:00
Ozkan Sezer e4f3990efd cd_sdl: add back the informative message (was accidentally reverted in r953.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@955 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 18:20:29 +00:00
Ozkan Sezer b5ffff36a3 ... apply a CD device stops workaround only for linux for now.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@954 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 17:45:22 +00:00
Ozkan Sezer 5058d882e9 revert the all-platforms form of CD device stops workaround from r948/r949 ...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@953 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 17:43:45 +00:00
Eric Wasylishen 931d4e9396 sfx lowpass filter patch
cvar changes:

The "sndspeed" cvar / "-sndspeed" command-line option now control whether the low-pass filter is applied. If it's set to 11025 you get the low-pass filter, otherwise it's not used.

New "snd_mixspeed" cvar (and the "-mixspeed" command-line option); these default to 44100 and just control the sample rate we request from SDL. Not archived.

New “snd_filterquality” cvar, value can be 1-5. Not archived. The “5” setting closely matches the Windows resampler, and the “1” setting closely matches the OS X resampler. The default depends on the OS, “5” is used on windows builds, otherwise “1”, because I wanted the sfx to sound the same as they do with 0.85.9 on each platform. TODO is checking if a setting other than 1 sounds closer to the system resampler on linux (though it probably depends on the distro).

The lowpass filter is only used for sndspeed=11025 and snd_mixspeed=44100, though these are the defaults.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@952 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 05:40:34 +00:00
Ozkan Sezer d6e0a8c020 cd_sdl: prev and next commands must handle data tracks properly.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@951 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-04 21:20:09 +00:00
Steven 75cc453f1a 'cd next', 'cd prev' commands. 'cd play' plays track 1.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@950 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-04 00:08:22 +00:00
Ozkan Sezer d9eb021f1f minor cd_sdl cleanup after r948
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@949 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-02 11:00:09 +00:00
Steven fff88e9ee4 Work around some CD device stops. Oz - 'CDROMSTOP ioctl causes any ioctls following immediately to fail for a considerable time'.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@948 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-02 07:51:24 +00:00
Ozkan Sezer fabac88a0f - ExtraMaps_Init: instead strstr(), directly compare the file extension bsp.
- Modlist_Init: cleanup: instead strstr(), compare the file extension pak.
 no need extra checking for "." and ".." in the inner while loop. break out
 of the inner while loop as soon as a pak file or progs.dat is found.

- ExtraMaps_Init, Modlist_Init, windows: instead of using dirent emulation,
 use windows' native FindFirstFile/FindNextFile/FindClose directly. adapted
 from fitzquake-0.85.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@946 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-01 11:21:54 +00:00
Ozkan Sezer 7b8b4bf14f git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@945 af15c1b1-3010-417e-b628-4374ebc0bcbd 2014-08-01 11:15:58 +00:00
Ozkan Sezer 005dbeffca remove unused var
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@943 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-30 09:45:07 +00:00
Ozkan Sezer b5e0d90e28 reset all models and set mod_numknown to 0 upon gamedir changes.
fixes issue described at:
http://celephais.net/board/view_thread.php?id=60452&start=825
also see http://forums.inside3d.com/viewtopic.php?f=12&t=5509


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@942 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-30 09:33:03 +00:00
Ozkan Sezer 14181eee15 Host_Game_f: fix broken behavion if -gamedir is specified. (use com_basedir, not host_parms->basedir)
Modlist_Init: no need for -basedir check, just use com_basedir


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@941 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-30 09:02:25 +00:00
Ozkan Sezer 4e8c42b050 remove zombie USE_QS_CONBACK ifdefs
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@940 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-29 16:22:29 +00:00
Ozkan Sezer 55634303ea net_sys.h: update from uhexen2
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@938 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-20 14:37:16 +00:00
Ozkan Sezer 90c6f024f6 request 24-bit depth buffer / z-buffer. patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@935 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-15 07:03:56 +00:00
Ozkan Sezer 34246dfc3b restore compilation with g++, some whitespace tidy-up.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@934 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-12 07:50:57 +00:00
Ozkan Sezer ef1c613c9f dynamic light speedup, patch from Eric Wasylishen, based on an earlier work by MH.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@933 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-12 07:01:58 +00:00
Ozkan Sezer aeda9b2515 arch_def.h: update from uhexen2.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@932 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-11 07:06:15 +00:00
Ozkan Sezer 75338a37a1 support for GL_ARB_texture_non_power_of_two, patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@931 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-11 06:56:09 +00:00
Ozkan Sezer b56f757a15 move MAX_OSPATH definition to q_stdinc.h. define it as PATH_MAX,
or as MAXPATHLEN, _MAX_PATH, or MAX_PATH if either of them is
available, or as 1024 if none are available. this would make us
safer in deep installation directory paths.  darkplaces engine
seems to do the same.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@928 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-01 16:25:00 +00:00
Steven aa885d4efa When crosshair is present, for simple messages (SCR_DrawCenterString), text doesnt always end with a newline (eg E1 entry in startmap), so move message up one line. Doesnt affect large messages used via SCR_DrawNotifyString(eg Socks Shadow demo).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@926 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-06-29 01:22:35 +00:00
Ozkan Sezer 65cd7e75e0 ditch fmin/fmax and use plain q_min/q_max
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@922 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-06-22 05:50:39 +00:00
Ozkan Sezer 66d6fc077a revert r907 (fmin()/fmax() is available with vs2012 and newer. patch from Eric Wasylishen.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@921 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-06-21 20:29:11 +00:00
Ozkan Sezer b752f34d7a add mikmod to xcode project file. enable several extra codecs for osx and windows builds.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@919 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-06-21 15:50:09 +00:00
Steven 1463ffca51 Make sv_aim persistant.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@911 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-29 08:28:52 +00:00
Ozkan Sezer 46b1533a41 SCR_ScreenShot_f: dont bother GL_PACK_ALIGNMENT restoring
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@910 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 20:10:34 +00:00
Ozkan Sezer 72be5368ee fix screenshots when width isn't a multiple of 4. explained by Sander van Dijk.
also check that malloc() didn't fail.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@909 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 08:12:42 +00:00
Ozkan Sezer bfab14040b gl_model.c (CalcSurfaceExtents): fix a lighting glitch due to floating point precision. patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@908 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 06:10:12 +00:00
Ozkan Sezer 58b3577721 fmin()/fmax() is available with vs2012 and newer. patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@907 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 05:50:58 +00:00
Ozkan Sezer 4d32042d71 load custom quakespasm.pak from <com_basedir> instead of id1/
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@906 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 05:40:28 +00:00
Ozkan Sezer 5ad7885e70 comment out COM_DefaultExtension
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@905 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-27 08:33:05 +00:00
Ozkan Sezer d941ee83db revert r903 and the old conback hack commits. change the engine
to load id1/quakespasm.pak for content customizations.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@904 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-27 08:28:16 +00:00
Steven 66764cfd6f Overide some old fashioned default bindings (from Eric - https://sourceforge.net/p/quakespasm/patches/17/).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@903 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-26 10:28:13 +00:00