Commit Graph

1244 Commits

Author SHA1 Message Date
stevenaaus a37cf183dc Update doco a little for recent changes.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1008 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-09 01:52:00 +00:00
stevenaaus dab96331b9 Rename our docos from README.html to Quakespasm.html (etc).
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1007 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-09 00:45:12 +00:00
sezero d7bf2dff4f fix a r1003 bug in COM_Game_f()
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1006 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 22:15:50 +00:00
svdijk d7fb4c3d00 pl_linux.c: implement PL_GetClipboardData using SDL2
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1005 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 21:30:16 +00:00
sezero 57294d262d adjust date in sgml and regenerate README files.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1004 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 21:11:55 +00:00
sezero 54aad595c8 moved Host_Game_f to common.c, made it to use COM_AddGameDirectory(). moved in-memory pak structures, searchpatch structure and searchpath global declarations to common.h. adjusted affected extra patches.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1003 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 21:10:33 +00:00
svdijk ba9eebd4e8 in_sdl.c: Rename the mouse filter functions for consistency.
Also surround the SDL version by "#if defined(USE_SDL2)" and "#endif", this
suppresses an unused function warning when building for SDL1. (Building for
SDL2 still gives an unused variable "modstate" warning though.)


git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1002 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 20:29:16 +00:00
ewasylishen 057e1494f7 Update README.sgml with some new 0.85.10 features and clarify the description of the sfx filter. Oz: sorry, I couldn't get sgml2rawtxt to work, so I'll leave it for you to regenerate the html/txt files
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1001 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 19:48:49 +00:00
sezero 604a0cef6f make Sander's FS search patch compatible with on-the-fly gamedir changing
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1000 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 18:47:50 +00:00
sezero a8199034c2 make homedir patch to support on-the-fly game directory switching
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@999 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 18:37:24 +00:00
sezero ce6e04fd6e add the com_base_searchpaths thing of qw and use it in Host_Game_f(), kill the no longer needed com_nummissionpacks, KillGameDir() and NumGames().
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@998 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 18:20:47 +00:00
sezero e9a6da6b0b tighten Host_Game_f() a bit more
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@997 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 16:02:58 +00:00
sezero 78fb4b0de5 Host_Game_f(): simplify
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@996 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 14:29:12 +00:00
sezero bba00c335c fix the homedir patch (the 2nd pass sholud use host_parms->userdir, not host_parms->basedir)
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@995 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 12:33:22 +00:00
sezero b46affa562 add Sander's FS search order patch as an optional patch
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@994 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 09:30:51 +00:00
sezero 0730834b0c revert r988
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@993 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 09:10:27 +00:00
ewasylishen a5dffbb059 gl_screen.c: make the console speed independent of the current resolution. Before, switching to a really high (e.g. 2880x1800) resolution would make the colsole take several seconds to open/close
Not totally sure about this but i think it's a decent idea. I'm using 800x600 as a reference screen size (arbitrary choice but it's the default QS resolution). So if your resolution is 600 pixels tall this will make no difference. On higher resolutions this will make the console a bit faster than before.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@992 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 06:25:59 +00:00
ewasylishen 9330762c8c R_CullSurfaces: small optimization. Avoid doing (s->visframe == r_visframecount) test on all world surfaces, instead, use the surfaces in the world texture chains, which already passed that test in R_MarkSurfaces.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@991 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 04:31:26 +00:00
svdijk 6ec776bad5 gl_rmain.c: make gl_zfix default to 0, no longer save it to config.cfg
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@990 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-07 19:35:52 +00:00
svdijk 70a0884752 quakespasm.pak: add several .ent files to prevent z-fighting
fixed so far:
e1m1: quad secret elevator (when down)
e1m2: exit doors (when open)
e2m3: rockets secret doors (when open)
e2m7: bars in front of the exit doors (when raised)



git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@989 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-07 19:33:38 +00:00
svdijk 049e34a3f6 common.c: make plain files overrule files inside a PAK file
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@988 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-07 12:32:27 +00:00
ewasylishen 5e8102e1e6 SDL2 support, if USE_SDL2 defined.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@987 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-05 19:34:43 +00:00
sezero 7a762fbb66 restore compilability with g++. some whitespace tidy-ups.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@986 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-02 05:40:41 +00:00
ewasylishen a166d40de2 PF_VarString: raise buffer size to 1024. I checked all buffers that the resulting string could end up in, and they're all at least 1024 bytes (even with an unmodified quake client).
PF_VarString is only called on the server, in:
- PF_error, PF_objerror, PF_dprint to print error / debugging messages
- PF_bprint, which calls SV_BroadcastPrintf which copies the string into a 1024-byte buffer, then sends that to clients in a svc_print message
- PF_sprint, which sends the string in a svc_print message using MSG_WriteString (without copying into an intermediate buffer)
- PF_centerprint, which sends the return value of PF_VarString in a svc_centerprint message (without copying into an intermediate buffer)

On the client:
- svc_print reads the payload string with MSG_ReadString (2048-byte buffer), then Con_Printf is called (4096-byte buffer)
- svc_centerprint uses MSG_ReadString then calls SCR_CenterPrint (1024-byte buffer)

I also checked the original quake source and the client-side buffers for MSG_ReadString, Con_Printf, and SCR_CenterPrint are all the same sizes as in QS.

Admittedly I want to support sock's ITS mod, but as far as I can see, it's a totally safe to increase this to 1024.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@985 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-01 07:30:23 +00:00
sezero b408ccf949 dropped support for GL_SGIS_multitexture
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@984 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 08:00:34 +00:00
ewasylishen 75723a3f7b Revert r981 "Simple use of vertex arrays in R_DrawTextureChains_Multitexture."
It caused a dramatic slowdown on my machine on windows (50% slower)

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@983 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 06:30:49 +00:00
ewasylishen 516271e393 Silence warning about vid_fsaa requiring restart when parsing config.cfg at startup. Add missing newline to warning message.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@982 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 03:22:36 +00:00
ewasylishen 63b813cb06 Simple use of vertex arrays in R_DrawTextureChains_Multitexture.
The glBegin(GL_POLYGON), for() loop with GL_MTexCoord2fFunc()/glVertex3fv() calls, and glEnd () per polygon is replaced by a memcpy() and a glDrawArrays() call per poly.

My guess is this only saves function call overhead, but it gives a decent ~20% speedup (36 -> 42fps) on my machine on orl’s map.

Note: glDrawArrays() is in OpenGL 1.1, but the glClientActiveTextureARB function is part of the GL_ARB_multitexture extension but not GL_SGIS_multitexture. Instead of splitting into two code paths, I just dropped support for GL_SGIS_multitexture.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@981 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 03:22:26 +00:00
sezero 9e8e99e858 update README files to reflect further 0.85.10 changes so far.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@980 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-29 08:55:19 +00:00
ewasylishen 65db1b5a32 Remove R_DrawSequentialPoly and use texture chains for drawing brush models.
To make this work with the drawing order we use in gl_rmain (world excluding water, opaque ents, world water, transparent ents), I made each texture_t have two texture chains, one for world and one for bmodels. This way they can be cleared during entity drawing without having to regenerate the world ones.

Other than this the changes are mostly minor adjustments to the R_DrawTextureChains_* functions so they can work for things other than the world.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@979 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-29 08:27:22 +00:00
ewasylishen 97e9b4e473 Revert r968, optimization in R_DrawSequentialPoly. Going to try a deeper change that uses the world drawing code for bmodels.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@978 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-29 08:27:16 +00:00
sezero 63761bad8f update README files to reflect further 0.85.10 changes so far.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@977 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-27 09:15:58 +00:00
ewasylishen 9eda6a4c7d Apply Baker's fix for cross-map demo playback (http://forums.inside3d.com/viewtopic.php?f=3&t=2397).
With that alone, the console would come down and slide up when the map changes in a demo.
I added a SCR_BeginLoadingPlaque() call in CL_ParseServerInfo, only done during demo playback, which shows the loading plaque and prevents the console from appearing and sliding up.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@976 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-25 02:55:25 +00:00
ewasylishen 3f50c55d3a Revert Pa3PyX support for cross-map demos
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@975 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-25 02:55:16 +00:00
ewasylishen b517b3d4fc 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+ssh://svn.code.sf.net/p/quakespasm/code/trunk@974 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-24 18:37:28 +00:00
stevenaaus cb024b2ed5 Add links to Erics automatic win builds. (I'll also update the webpage).
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@973 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-22 21:52:34 +00:00
ewasylishen 573c876d0f Fence textures: also support on world polys. From Fitzquake Mark V
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@972 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-22 01:10:58 +00:00
sezero 024abc5d82 set executable property on mkpak.sh
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@971 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-20 09:20:03 +00:00
ewasylishen 1afac37661 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+ssh://svn.code.sf.net/p/quakespasm/code/trunk@970 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-19 02:20:12 +00:00
ewasylishen 3cb4226ddc 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+ssh://svn.code.sf.net/p/quakespasm/code/trunk@969 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-18 17:12:39 +00:00
ewasylishen 6e48bea4d9 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+ssh://svn.code.sf.net/p/quakespasm/code/trunk@968 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-17 21:12:54 +00:00
ewasylishen 4f6b138921 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+ssh://svn.code.sf.net/p/quakespasm/code/trunk@967 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-13 06:40:07 +00:00
ewasylishen fff78c696a 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+ssh://svn.code.sf.net/p/quakespasm/code/trunk@966 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:39:20 +00:00
ewasylishen 34bc355f9e revert r962 and r963 (first attempt at multisampling)
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@965 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:25:14 +00:00
svdijk e6c61b562b Add a Bourne Shell PAK file writer (remove qpakman dependency).
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@964 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 19:59:52 +00:00
ewasylishen faf85380af cleanup fsaa patch, from szo. removes sdl version checks because qs requires sdl >= 1.2.10
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@963 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 08:08:15 +00:00
ewasylishen 53c7b3a1e8 fsaa support, borrowing from uhexen2. cvar is vid_multisample, cmdline arg is -fsaa (inconsistent..)
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@962 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 06:58:42 +00:00
sezero 0e53d9edfd fix broken libFLAC builds from previous commit.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@961 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-10 11:00:26 +00:00
sezero 4aed68b149 recompile libflac and libmodplug (again.)
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@960 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-10 07:47:33 +00:00
ewasylishen c5690fbb78 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+ssh://svn.code.sf.net/p/quakespasm/code/trunk@959 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-10 03:33:59 +00:00