Commit Graph

1263 Commits

Author SHA1 Message Date
ewasylishen 51ece3297d gl_vidsdl.c: remove AMD driver special case which disabled GLSL mdl renderer, as the latest drivers fixed the bug that was working around
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1178 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-03-02 03:13:58 +00:00
ewasylishen 97ead9e294 Windows/CodeBlocks: Add -lmingw32 to linker options to fix "undefined reference to `WinMain@16'" error,
as suggested here: http://stackoverflow.com/questions/18115153/undefined-reference-to-winmain16-when-using-sdl

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1177 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-03-02 03:13:53 +00:00
ewasylishen 1c1a421078 Windows/VS projects: add post build event to copy dll files to build target directory, to avoid having to do it by hand
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1176 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-03-02 03:13:48 +00:00
ewasylishen 406b37da9d MacOSX: unpack SDL/SDL2 from tgz. Update Xcode project to refer to these local copies instead of searching in /Library/Frameworks
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1175 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-03-02 03:13:41 +00:00
ewasylishen a1f9084aa4 Unzip SDL2.zip, SDL.zip into quakespasm/Windows
Update .cbp and .vcproj file to refer to our copy of SDL/SDL2 rather than looking in C:\

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1174 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-03-02 03:13:16 +00:00
sezero 11aca64044 snd_sdl.c: remove superfluous SDL_PauseAudio() and SDL_LockAudio() calls from the Shutdown() proc.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1173 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-27 14:01:23 +00:00
sezero 658e10d5ea Mod_LoadAllSkins(): change name[] size from 32 to 64 (MAX_QPATH) -- consistent with fbr_mask_name[]
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1172 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-27 14:00:49 +00:00
ewasylishen 7a31fd8129 Disable GLSL alias model renderer on Win32+ATI/AMD until szo's bug with models drawing black can be fixed.
Replace GLAlias_SupportsShaders() with gl_glsl_alias_able variable.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1171 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-20 00:24:05 +00:00
ewasylishen 5fd7e3fb29 gl_rmisc.c: allow glsl gamma to be used in combination with -novbo
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1170 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-20 00:23:44 +00:00
sezero cb76080847 snd_flac.c, snd_mpg123.c: fix incorrect usage of decoder function
return value in RewindStream procedures.
bgmusic.c (BGM_UpdateStream): print msg if stream rewinding fails.


git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1169 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-19 08:37:13 +00:00
ewasylishen a6e6be23a2 gl_texmgr.c: fix GL_DeleteTexture not clearing deleted textures out of our currently-bound-texture cache for all TMU's
Fixes a bug where if you do "map e1m6" then "kill", the fullbright part of the key texture is missing (drawn in black) - this bug was introduced in 0.90.0.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1168 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-19 00:50:54 +00:00
sezero cf695ceeff recompile FLAC decoder (again) fixing a regression after the CVE-2014-9028
fix, and applying a fix for another metadata vulnerability.  (xiph.org git,
commits b4b2910, fed0dfa, and 033af7b.)


git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1167 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-18 12:47:47 +00:00
sezero 803a42565d recompile FLAC decoder fix NULL de-reference which can really only happen on a malformed file (xiph.org git, commit 875be0a)
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1166 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-15 20:11:18 +00:00
sezero 35a7c62b7a add some extra safety checks to pak loading
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1165 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-08 08:00:56 +00:00
ewasylishen d4156190f3 gl_vidsdl.c: Experimental support for SDL2's new SDL_WINDOW_FULLSCREEN_DESKTOP mode.
When cvar vid_desktopfullscreen is set to 1, fullscreen mode ignores vid_width/vid_height and uses the desktop resolution. SDL docs recommend using this, it's supposed to offer better OS integration.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1164 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-07 00:05:06 +00:00
ewasylishen 245d1ac16a TexMgr_SafeTextureSize: take advantage of NPOT textures for mdl skins, 2d graphics, etc. Uses about 35% less texture memory on start.bsp.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1163 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-06 06:46:08 +00:00
ewasylishen 2363d0e731 TexMgr_ReloadImages: put in a workaround for the bug reported by Steven where fullscreen toggle on jam3_tronyn.bsp with -heapsize 65536 causes corrupted textures
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1162 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-06 05:21:39 +00:00
sezero f14e2bc01e build_cross_win[32|64]-sdl2.sh: new scripts for me to cross-build on my linux.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1161 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-04 10:00:13 +00:00
ewasylishen 90f47a907e sbar.c: don't skip redrawing the status bar if we're doing glsl gamma, since it would get gamma correction applied multiple times.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1160 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-04 03:57:06 +00:00
sezero 473e6edc5e oslibs (macosx, windows): recompile SDL2 from hg-20150202 snapshot
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1159 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-04 00:00:45 +00:00
ewasylishen b4ef94be23 tab completion: lower size of filelist_item_t name buffer from MAX_OSPATH to 32 to avoid filling up the zone memory (this limits the length of maps / games you can tab-complete).
Prior to r1153 it was 32 for maps and MAX_OSPATH for mods.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1158 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-26 23:35:55 +00:00
ewasylishen b85b510e7d New gamma correction implementation using glsl. Enabled by default on OpenGL2. Disable with -noglslgamma.
Avoids general bugginess of hardware gamma, doesn't affect the whole screen in windowed mode like HW gamma. Should fix http://sourceforge.net/p/quakespasm/bugs/5/

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1157 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-26 20:18:45 +00:00
ewasylishen 85879bab2c VID_Restart: delete all GL textures before calling VID_SetMode. SDL2 reuses the gl context when changing modes, so the TexMgr_ReloadImages call after the mode change was leaking textures.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1156 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-26 20:18:39 +00:00
ewasylishen 74f9ac215c RecursiveLightPoint: add casts to double to force 64-bit precision, fixes zombie at the start of jam3_ericw.bsp from incorrectly being lit up in SSE builds.
See also: http://forums.inside3d.com/viewtopic.php?f=3&t=5620

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1155 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-26 06:46:53 +00:00
ewasylishen 62336450fe GLAlias_GetUniformLocation: refactor to GL_GetUniformLocation, take program as an argument
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1154 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-25 20:29:30 +00:00
ewasylishen f2cbfa75c5 Refactor argument completion for "game" and "map" so all of the code is shared.
TODO: currently using a char[MAX_OSPATH] buffer to store map/mod names in the completion list which is probably unnecessairly large

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1153 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-24 08:26:14 +00:00
ewasylishen 3b33b03c05 Autocompletion of mod names for the "game" command.
Copied from the "map" autocompletion code, now I should probably refactor because most of the code could be shared.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1152 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-24 07:02:47 +00:00
ewasylishen 51a038c76d Alias model rendering fast-path using OpenGL 2.
In GL_MakeAliasModelDisplayLists, after saving the standerd triangle strips and fans onto the hunk, if the system is GL2 capable, we also save a second version of the mdl on the hunk designed to be loaded into a VBO (GL_MakeAliasModelDisplayLists_VBO). In R_NewMap, and on video mode changes, we call GLMesh_LoadVertexBuffers which loops over all precached mdl's and loads the data into a pair of VBO's (vertices and vertex indices).

Finally, in R_DrawAliasModel, assuming no rendering options are disabling the fast-path (r_drawflat 1, r_lightmap 1, or r_fullbright 1 would disable it), we call GL_DrawAliasFrame_GLSL, which sets up all of the bindings and draws the (possibly lerped) mdl in one glDrawElements call.

Special thanks to MH for some of the code from RMQEngine and the general concept.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1151 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-20 18:59:15 +00:00
ewasylishen 870e6cd43c r_oldwater: change default to 0 (which means use the higher quality fitzquake render-to-texture water by default, instead of the lower quality glquake water).
Reasoning is, we default to the higher-quality settings for everything else except this.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1150 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-17 00:54:09 +00:00
sezero 5cdec50c15 oslibs, codecs: recompiled several music decoders from latest sources.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1149 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-01-14 20:03:01 +00:00
sezero 25be6bbc55 * oslibs (macosx, windows):
- recompile FLAC decoder with a fix for free-ing of unitilialized
  pointer (flac git, commit 18a4854)
* recompile opus decoder with a fix for avoiding undefined behavior
  (signed arithmetic overflow) or implementation-defined behavior
  (malloc(0)) on out-of-range arguments (opus git, commit 25b27a9)


git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1148 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-12-23 08:50:23 +00:00
ewasylishen 37e55abb07 Support pausing demo playback.
This is done by adding an extra 'demopaused' flag to client_static_t, separate from cl.paused because we don't want a svc_setpause inside the demo (caused by the player pausing during recording) to actually pause demo playback. The only potential failure case is, if the demo contains a svc_stufftext of the command "pause", the demo will pause itself when being played.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1147 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-12-08 19:30:36 +00:00
ewasylishen e0aecab629 Host_Startdemos_f: set cls.demonum to -1 in the default case where we skip the demo loop.
Fixes a bug where if you launched QS and immediately did "playdemo [something]", after the demo finished, demo1.dem would start to play instead of returning to the console.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1146 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-12-08 19:30:30 +00:00
ewasylishen 01f2fa3fc4 Host_Loadgame_f: don't break when there are } characters in quoted strings. Fixes issue loading savegames from retrojam1_skacky
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1145 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-12-08 19:30:21 +00:00
sezero bdf211c6b8 oslibs (macosx, windows): recompile FLAC decoder with a fix for an input validation bug from upstream.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1144 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-12-05 20:01:30 +00:00
sezero 27199509d3 oslibs (macosx, windows): recompiled FLAC decoder with CVE-2014-9028 fixes applied from mainstream.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1143 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-27 10:57:07 +00:00
sezero ee876cbc59 oslibs (macosx, windows): recompiled FLAC decoder with CVE-2014-8962 fix applied from mainstream.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1142 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-21 17:24:43 +00:00
ewasylishen 2cbc9dac2b R_SetupGL: remove some dead code (glGet call that stores GL_MODELVIEW_MATRIX into r_world_matrix, which is not used anywhere.) The glGet calls was stalling the OpenGL pipeline.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1141 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-11 23:27:12 +00:00
ewasylishen fe70de4507 Fog_ParseWorldspawn: before reading the worldspawn value, clear the fog rgb color back to the default value (0.3).
This fixes a bug seen in jam3_tronyn.bsp (which only has a density value in the worldspawn), where the fog color of the last map played would carry over.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1140 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-03 21:27:27 +00:00
sezero d4bc9c723a make sure we have more than one CPUs before enabling multi-threaded OpenGL
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1139 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-03 09:20:23 +00:00
sezero 5041fa268e add new numcpus field to the quakeparms structure and detect it during Sys_Init time
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1138 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-03 09:10:18 +00:00
ewasylishen 0b01803fd6 GL_Init: on OS X, enable multi-threaded OpenGL mode.
This moves some of the OpenGL implementation to a background thread, and makes draw calls block for a shorter amount of time. AFAIK, this is the default mode on most other OS'es, not sure why you have to explicitly ask for it on OS X.

N.B. the kCGLCEMPEngine constant is available on 10.4+ so I don't bother checking the OS X version.
More info: https://developer.apple.com/library/mac/technotes/tn2085/_index.html

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1137 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-02 23:01:20 +00:00
svdijk bd349d36e0 quakespasm.pak: Another z-fighting workaround.
This fixes:

e2m3:
- The wallpiece that blocks the way out of the Well of Wishes (when open).


git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1136 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-02 20:06:35 +00:00
svdijk 258b25d354 quakespasm.pak: More z-fighting workarounds.
This fixes:

e2m3:
- The floorpiece (when down) and wallpiece (when open) by the crates opposite the normal exit.


git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1135 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-02 19:36:39 +00:00
svdijk 12d170cb6d quakespasm.pak: More z-fighting workarounds.
This fixes:

e1m4:
- The secret doors in the room with the five quake-logo buttons on the floor (when open).

e2m2:
- The platform in the water behind the gold key door (when down).
- The wallpiece that pushes the player into the gold key room (when "closed").


git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1134 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-11-02 19:16:35 +00:00
sezero 9df4292a91 a few more minor stuff from uhexen2 svn
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1133 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-31 13:03:20 +00:00
sezero 5795242b39 sync a few minor stuff with uhexen2 svn
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1132 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-30 18:00:06 +00:00
sezero 6763f8138c bump version to 0.90.1
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1131 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-21 20:05:08 +00:00
ewasylishen cfea94ddc2 Tweak the MH dynamic lighting speedup to be more correct: upload the lightmaps from the current frame instead of the previous frame.
It was possible, but unlikely, to see artifacts from the previous code in some circumstances, e.g. "host_maxfps 10" and spin around quickly near a flashing light e1m1, you may see a surface drawn with an out-of-date lightmap for one frame.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1130 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-21 19:27:42 +00:00
sezero 352c310f99 minor tidy-ups
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1128 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-18 17:00:34 +00:00