Commit Graph
100 Commits
Author SHA1 Message Date
Zack Middleton c621589157 Fix 6155: OpenGL2: some shader stages remains visible through fog volumes
Fix CalcFog in generic_vp.glsl to fog fogged surfaces.
Now it's the same as CalcFog in fogpass_vp.glsl.

Fixes shaders that use adjustColorsForFog. Impact wallmarks, blood sprites, flame textures and so on.
2014-08-29 02:50:02 -05:00
Zack Middleton de3062623a Use ColorIndexForNumber in Con_DrawSolidConsole 2014-08-29 01:55:47 -05:00
Zack Middleton e742952db8 Port COM_ParseExt fixes to CommaParse 2014-08-28 20:34:05 -05:00
Zack Middleton 1d95ef210e SDL 2 scroll/caps/num lock keys send KEYUP event when key is released 2014-08-28 20:09:37 -05:00
Zack Middleton eeef7cbae7 Don't scale cinematic time by timescale twice
Reported by Ensiform.
2014-08-28 20:09:37 -05:00
Zack Middleton f17f58705c Remove a numIboIndexes=0 that is not read from GL2 tr_bsp.c
numIboIndexes is set to 0 inside the loop for each surface. Does not need to be set before loop.
2014-08-27 20:47:45 -05:00
Zack Middleton e5f54c584a Fix incorrect rgbGen const reading uninitialized memory
If ParseVector fails, color isn't fully set.
2014-08-27 20:35:16 -05:00
Zack Middleton 0853c85e19 Fix incorrect strncat usage in CL_ServerInfoPacket 2014-08-27 20:35:16 -05:00
Zack Middleton b0596248ff Remove unused functions from null_main.c and null_input.c
Sys_mkdir is suppose to have a capital M, which is also in null_main.c.
2014-08-27 20:35:16 -05:00
Zack Middleton 137ddb9dc6 Get clipboard data from SDL
This makes pasting in client console and UI edit fields work on X11 and OS X.

Sys_GetClipboardData is only used by client, so returning NULL in dedicated is fine.
2014-08-27 04:32:05 -05:00
Zack Middleton 077f6bd068 Fix binding KP_NUMLOCK
Restore mapping SDL numlock to quake3 numlock.
2014-08-26 23:01:18 -05:00
Zack Middleton 75cce50a9c Don't load external GLSL files by default
External GLSL should probably only be used for development testing,
not released products. The GLSL files are tied to the code, and the
code changes some what often.

Fixes using OpenArena 0.8.8 which has incompatible GLSL files in a pk3.
2014-07-25 23:57:53 -05:00
Zack Middleton 48738599a0 Allow user override of cURL, OpenAL, and SDL libs/cflags 2014-07-20 17:39:27 -05:00
Zack Middleton 574f6d1f31 Allow overriding external opus libs/cflags in Makefile
Pointed out by @MAN-AT-ARMS.
2014-07-20 16:55:45 -05:00
Zack Middleton b02b54883b Fix up vorbis handling in Makefile 2014-07-20 06:14:44 -05:00
Zack Middleton efa9555d74 Merge branch 'pkg-config' of github.com:smcv/ioq3 into master
Conflicts:
	Makefile
2014-07-20 05:51:17 -05:00
Zack Middleton 7afb433e20 Fix fast-math optimize flag for MinGW x86_64 build
Found by /dev/humancontroller.
2014-07-15 00:23:02 -05:00
Zack Middleton 0fe2e8d224 Restore drawing a cut off client console line in 1920x1080
The text lines don't meet at top of the sceen in 1920x1080, restore
drawing a cut off line across the top. In 640x480 this line isn't seen
at all. This is still better then trying to draw twice as many lines
than are actually seen (the way it was before the last commit).
2014-07-13 02:07:45 -05:00
Zack Middleton b9e0398244 Don't draw client console buffer past top of screen
Thanks @Pan7.
2014-07-12 21:57:03 -05:00
Zack Middleton d9309ac6db Fix overstrike/insert logic being reversed in q3_ui 2014-07-03 21:06:05 -05:00
Zack Middleton 1d664a3a10 Remove unused cvar in_joystickDebug 2014-07-03 20:59:54 -05:00
Zack Middleton 5994564537 Remove unused array joy_pressed 2014-06-19 20:48:54 -05:00
Zack Middleton 5c1091b414 Fix SkipRestOfLine going past end of string
If string data starts with a 0 (string terminator), don't skip over it at p++.

Not causing any problems in ioq3 as far as I know.
2014-06-17 21:31:29 -05:00
Zack Middleton 95b241b8ba OpenGL2 don't try to dlight surfaces that had all dlights culled
In the renderers, dlightbits are never cleared from world surfaces.
The dlight image does not repeat, so if it draws on extra surfaces it's
not visible.

However if using a repeating image (tr.defaultImage instead of tr.dlightImage);

  * In OpenGL1 image is only drawn on surfaces close to dlight origin.
  * In OpenGL2 image is draw on surfaces clearly outside the dlight radius, including past non-dlighted surfaces.

It seems there was a similar issue with pshadowBits. So update surface
dlightBits even if 0, like already done for pshadowBits. This causes
only surfaces close to origin to be affected. (Though it is a little
farther than in OpenGL1.)

I have no idea why this isn't a problem in OpenGL1.
2014-06-10 21:34:31 -05:00
Zack Middleton 107cae63d6 Merge branch 'master' into sdl2
Conflicts:
	.travis.yml
2014-06-03 00:52:49 -05:00
Zack Middleton cd3b7133ae Skip merging a SDL 1.2 commit into sdl2 2014-06-03 00:51:31 -05:00
Zack Middleton b12a9acf4d Merge branch 'master' (early part 2) into sdl2 2014-06-03 00:50:50 -05:00
Zack Middleton b5a17f3058 Skip merging a SDL 1.2 commit into sdl2 2014-06-03 00:50:00 -05:00
Zack Middleton b87d889af8 Merge branch 'master' (early part 1) into sdl2 2014-06-03 00:49:05 -05:00
Zack Middleton 347b429fdb Fix potential OOB in Windows Dedicated TTY CON_Show
Found by Coverity.
2014-05-26 23:11:56 -05:00
Zack Middleton 077ab4cbd1 Fix OOB access in CM_EdgePlaneNum without erroring in CM_GridPlane
I changed warning to error in 9d74227559,
which broke JA's mp/ctf4 map and probably others.
2014-05-25 23:03:42 -05:00
Zack Middleton eeeaf3f125 Fix potential buffer overflow caused by long tcMod args
Found by Coverity.
2014-05-25 18:44:17 -05:00
Zack Middleton 9c99cf29db Have OpenGL2 "map $lightmap" check for NULL tr.lightmaps too
Zero length lightmap lump will have NULL tr.lightmaps.

OpenGL1 already has this check, because r_vertexLight 1
would crash Team Arena. OpenGL2 does not disable loading lightmaps
when r_vertexLight is 1 though, so it does not have that issue.
2014-05-25 18:41:57 -05:00
Zack Middleton 7a4ef47476 Fix max bans range check in SV_AddBanToList
Adding too many bans would write out of bounds. Found by Coverity.
2014-05-25 18:41:51 -05:00
Zack Middleton eea9fbdb61 Fix unchecked buffer size issues in l_script.c and l_precomp.c
Found by Coverity.
2014-05-25 18:41:24 -05:00
Zack Middleton 078d004dc2 Fix potential buffer overflow in PS_ReadPrimitive
Found by Coverity.
2014-05-25 16:28:38 -05:00
Zack Middleton e21ff01946 Don't use memset with non-zero value to fill ints
Coverity reported using value -2 as a bad memset. Really doesn't make sense when filling ints and not bytes too.
2014-05-25 16:10:01 -05:00
Zack Middleton 9d74227559 Fix potential out of bounds access caused by CM_GridPlane
Coverity doesn't care if there is a warning, out of bounds access is bad.
2014-05-25 15:59:09 -05:00
Zack Middleton 494789664e Try to fix Travis CI MinGW builds
Listing i686-w64-mingw32-gcc as a compiler stopped working.
Travis tries to print version before installing it.

$ i686-w64-mingw32-gcc --version

/home/travis/build.sh: line 201: i686-w64-mingw32-gcc: command not found

The command "i686-w64-mingw32-gcc --version" failed and exited with 127 during setup.
2014-05-19 17:28:06 -05:00
Zack Middleton 6a33a69795 Disable key repeat if key catcher is 0
SDL1.2 branch disables key repeat when key catcher is 0.
Presumably to prevent binds from executing multiple times.

SDL2 replaced being able to disabled key repeat using SDL_EnableKeyRepeat
with a non-zero repeat value in the key event.
2014-05-19 03:45:44 -05:00
Zack Middleton a3c2f77236 Fix Gauntlet barrel axis in UI
UI's PositionRotatedEntityOnTag is different than CGame's and
UI has switched pitch/roll for Gauntlet/BFG axis to get it to
look like /close to/ how it looks in CGame.

Making UI use the same *PositionRotatedEntityOnTag and axis as
CGame fixes the Gauntlet blade being wobbly in controls menu.
2014-05-18 20:38:14 -05:00
Zack Middleton daa570c193 Fix always switching back to mgun in Q3 controls menu
Caused by 120e296a74.
2014-05-18 20:27:18 -05:00
Zack Middleton 5c4e429471 Merge branch 'features/add-x86_64-travis-ci-support' of github.com:xhairball/ioq3 2014-05-12 21:34:40 -05:00
Zack Middleton 6d47ff88a6 Don't install libvorbis-dev on Travis
The in-tree copy of vorbis is used. No reason to install the package anymore.
2014-05-12 21:30:39 -05:00
Zack Middleton 3a7298d6ae Make R_LerpTag return qfalse if MDR tag does not exist
Elite Force SDK has trap_R_LerpTag return void, so this shouldn't cause issues for iostvef.
Allows new games to check if a tag exists in a MDR model.
2014-05-06 21:10:16 -05:00
Zack Middleton b9061c8447 Fix cg.skulltrails out of bounds access in Team Arena Harvester mode
In Team Arena's Harvester mode, players corrupt your memory from beyond
the grave. Gib the players to stop the corruption!

CG_PlayerTokens is called for player entities, including corpses.
The entity number is used for the index in cg.skulltrails which only has
MAX_CLIENTS elements. This results in incorrect memory being overwritten
for corpse entities (as the entity number is >= MAX_CLIENTS).

So limit skull trails to valid entities (entity number < MAX_CLIENTS).
2014-05-01 21:32:21 -05:00
Zack Middleton cfcd2d2d7f Merge pull request #65 from MAN-AT-ARMS/sdl2_203
Update SDL2 to 2.0.3
2014-03-24 19:37:46 -05:00
Zack Middleton c55df2c9aa Merge branch 'master' into sdl2 2014-03-24 17:53:08 -05:00
Zack Middleton 8b06986a9f Skip merging sdl1.2 commit into sdl2 2014-03-24 17:52:32 -05:00
Zack Middleton 73aa7ef2c7 Merge branch 'master' (early part) into sdl2 2014-03-24 17:51:57 -05:00
Zack Middleton cf7d8ef9cf Remove -falign-loops and -falign-jumps from Makefile
Clang warns and errors because of them on various platforms.

Based on pull request #43 by @xhairball.
2014-03-24 13:09:49 -05:00
Zack Middleton 9f3fd12501 Remove unused extern qboolean charSet
No variable even exists.
2014-03-24 12:47:14 -05:00
Zack Middleton 67d9ecd070 Fix FS_FOpenFileReadDir non-zero file handle when file not found in pk3
If a pk3 search path is passed to FS_FOpenFileReadDir, a non-zero
file handle is returned if file is not found. This causes incorrect
behavior in FS_ReadFileDir (when a pk3 search path is passed in)
which only checks file handle, not length, for seeing if file exists.

I don't know of any issues in ioq3 caused by this.
2014-03-18 20:49:52 -05:00
Zack Middleton 0861d3c583 Revert "DMA 44100Hz needs more memory for sound buffers"
This reverts commit 0e6632f464.

Cause crashes if com_soundMegs is 32.
2014-03-17 13:44:30 -05:00
Zack Middleton 9f22ae9cb2 Fix ctrl-c etc codes for edit fields 2014-03-17 12:46:09 -05:00
Zack Middleton 344ff23164 Fix multisampling on X11
Setting SDL_GL_ACCELERATED_VISUAL was disabled for ioq3 SDL 1.2
for other reasons. However, it causes creating GL context to fail
if multisampling is enabled on X11 for both SDL1.2 and SDL2.

Tested using nVidia proprietary driver on Debian 7.
2014-03-17 12:24:59 -05:00
Zack Middleton 8455b5a833 Don't crash when fail to create SDL window 2014-03-15 17:54:00 -05:00
Zack Middleton d0d1883895 Merge pull request #60 from smokin-guns/master
Bunch of comment fixes
2014-03-12 20:28:49 -05:00
Zack Middleton 0e6632f464 DMA 44100Hz needs more memory for sound buffers
It doubles the size of the data compared to the default (22050),
so increase the buffer automatically. Likewise, decreasing speed
doesn't need as much (though that doesn't really matter).
2014-03-11 17:16:03 -05:00
Zack Middleton a167110f43 Don't mix sfx with NULL soundData
Caused a crash. Already done for looping sounds.
2014-03-11 16:44:50 -05:00
Zack Middleton 63d1911c18 Parse q3map_sunExt in OpenGL1 too
Used for drawing sun, which is supported by both OpenGL1 and OpenGL2.
OpenGL2 already parses it.
2014-03-11 12:38:53 -05:00
Zack Middleton 07290a7d52 Fix typo in animMap and videoMap warnings 2014-03-10 19:58:55 -05:00
Zack Middleton c8c7bb1dc3 Fix R_GetEntityToken ending prematurely
If spawn var key or value is "" it caused R_GetEntityToken (available to
cgame, used by opengl2) to stop parsing, whereas game VM would continue.

Changed it to match parsing used for game VM
(see G_GET_ENTITY_TOKEN in code/server/sv_game.c).

The map poq3dm5 has a "wait" key with value "".
2014-03-10 16:27:31 -05:00
Zack Middleton 5a3e10d716 Don't say cubemap is outside lightgrid 6 times 2014-03-10 16:12:49 -05:00
Zack Middleton b98e6d5cc0 Fix error handling in R_ParseSpawnVars
When R_GetEntityToken returns qfalse it resets pointer for parsing, by
R_ParseSpawnVars not returning qfalse it could cause an infinite loop.

Also add newlines to printfs.
2014-03-10 15:57:26 -05:00
Zack Middleton 9ec7931c54 Merge branch 'master' into sdl2 2014-03-08 21:32:47 -06:00
Zack Middleton e7f43545ed Don't wash out HDR vertex lite surfaces in OpenGL2
Vertex lite surfaces being brighter than light maps looks bad,
they're meant to look the same. Especially in ET, which mixes
them fequently. It's noticeable in Q3 too though.

BSP lightmaps (i.e. not external HDR lightmaps) use
R_ColorShiftLightingBytes, now *Floats (used by vertex colors)
has the same behavior.

This may be a problem for HDR lightmaps, as the RGB will always be
scaled to 0.0 to 1.0 range.

I had enabled this for non-HDR before, but now HDR needs it too.
2014-03-08 12:30:47 -06:00
Zack Middleton 5bf4f26d5f Remove references to alDopplerVelocity
Let's load driver even if it doesn't have the deprecated alDopplerVelocity.
2014-02-22 18:06:04 -06:00
Zack Middleton 3cfc1bb1f9 Rebuilt Windows libcurl-7.35.0 static libraries
Fix linking with mingw32.
Enable FTPS and HTTPS.
2014-02-14 20:08:48 -06:00
Zack Middleton 6beab9cf58 Merge pull request #45 from xhairball/features/upgrade-curl-7.35.0
Upgrade libcurl to the latest release (7.35.0).
2014-02-13 16:50:25 -06:00
Zack Middleton 718d0a0d11 Fix sending pk3 download error messages to clients
Disabled in e52a492f61.
2014-02-09 20:23:48 -06:00
Zack Middleton 90eb32c5ab Clear referenced paks when disconnecting
After playing Team Arena, if you switch to Q3A and try to play a demo with
cl_allowDownload enabled it would print "Need Paks: blah blah" and not play the demo.
2014-02-08 22:09:30 -06:00
Zack Middleton ed087bb89e Merge branch 'master' into sdl2 2014-02-07 23:24:12 -06:00
Zack Middleton c2e2514efc Merge pull request #41 from xhairball/fixes/check-cc-when-cross-compiling-mingw32
When cross compiling on mingw32, make sure it finds a CC
2014-02-07 22:33:02 -06:00
Zack Middleton d0b1fb4fed Merge branch 'features/upgrade-opus-1.1' of https://github.com/xhairball/ioq3 into opus_update
Conflicts:
	Makefile
2014-02-07 22:12:59 -06:00
Zack Middleton 166f5ab90c Merge branch 'features/upgrade-opusfile-0.5' of https://github.com/xhairball/ioq3 into opus_update 2014-02-07 22:11:31 -06:00
Zack Middleton d8e42cf02f Merge pull request #35 from inolen/no_renderer_restart
don't restart renderer in SV_SpawnServer unless client running dedicated
2014-02-01 16:22:24 -08:00
Zack Middleton aedb151d94 Merge pull request #33 from inolen/widescreen_clear_fix
don't clear screen during CA_LOADING and CA_PRIMED
2014-02-01 15:51:41 -08:00
Zack Middleton 36a4075a8d Try default OpenAL driver if user set one fails to load 2014-01-27 20:09:55 -06:00
Zack Middleton 49d756364a Merge pull request #34 from robo9k/issue/libjpeg-turbo
Fix check for jpeg_mem_ to work with libjpeg-turbo
2014-01-27 15:21:05 -08:00
Zack Middleton cc9072d098 Check for buffer overflow for rail/lightning surfaces 2014-01-25 21:15:36 -06:00
Zack Middleton dde36d91ce Fix OpenGL2 non-HDR map surface over brighting
Vertex lit map surfaces were saturating to white when
r_mapOverBrightBits was increased and r_hdr was disabled.

Now the color is normalized like lightmaps and lightgrid
when r_hdr is disabled. Which is the same as OpenGL1.

Noticeable on misc_model trisoup.
2014-01-16 00:12:21 -06:00
Zack Middleton aa92f7e76a Merge pull request #30 from inolen/nova_fix
don't call va each frame in GLSL_VertexAttribPointers
2014-01-14 13:23:37 -08:00
Zack Middleton d4fc617cec Merge pull request #26 from andreyv/master
Include opengl2 client in make copyfiles if USE_RENDERER_DLOPEN=0
2014-01-12 17:41:58 -08:00
Zack Middleton 0698817a7f Remove unused code path from S_Base_StartBackgroundTrack
We make sure intro isn't NULL. Then if loop is NULL, set it to intro.
2014-01-12 18:16:39 -06:00
Zack Middleton ebac005c9e Don't read clc.voipIncomingSequence until range checked sender 2014-01-12 18:01:02 -06:00
Zack Middleton 581b6316b7 Fix GL2 deluxemap 0,0,0 to 127,127,127
Checked if first byte was 0 twice instead of checking second byte.
2014-01-12 17:02:21 -06:00
Zack Middleton 52e72408d9 Fix demoName Com_sprintf size larger than buffer
Maybe this is why demoName is a static global with the comment 'compiler bug workaround'?
2014-01-12 16:22:46 -06:00
Zack Middleton 43c6ebee8d Fix music studder in base sound when starting silent cinematics 2014-01-12 15:14:38 -06:00
Zack Middleton a889d7a14f Remove extra client_t::csUpdated[] slot
sv.configstrings[] is limited to 0 to MAX_CONFIGSTRINGS-1, make client_t::csUpdated[] the same.
2014-01-11 17:37:06 -06:00
Zack Middleton 4520857fc9 Make GL2 MDR code use R_VboPackNormal for normal 2014-01-10 12:48:17 -06:00
Zack Middleton fda03ee4ca Fix PNG tRNS length checks 2014-01-10 12:34:48 -06:00
Zack Middleton 1a86229538 Fix playback of stereo sounds in Base sound system
Already works correctly in OpenAL.
2013-12-15 00:23:10 -06:00
Zack Middleton d2846c06ac Fix checking if MP dylibs exist in make-macosx-app.sh 2013-12-08 15:52:18 -06:00
Zack Middleton 2ba7a33715 Have ui_test cmd in missionpack ui return qtrue 2013-12-07 21:27:17 -06:00
Zack Middleton fa9fd1b1fc Support spatialized raw streams in base sound, e.g. for VoIP 2013-12-07 00:15:29 -06:00
Zack Middleton 7c0491d7fd Add latch to r_centerWindow and r_allowResize 2013-12-06 23:42:23 -06:00
Zack Middleton 973a616061 Fix white flash levelshot bug in OpenGL1
If you tried to draw the last loaded image, gl texture 0 (which is appearently white)
was used because renderer thought the image was already bound.

Why OpenGL1 renderer binds texture 0, I have no idea. It's been removed from OpenGL2.
2013-12-06 23:06:52 -06:00
Zack Middleton 0a4da32d62 Remove R_AddAnimSurfaces and R_MakeAnimModel prototypes 2013-11-30 03:16:05 -06:00
Zack Middleton 952fd0489c Readd backspace char event for UI VM text fields
UI VMs expect a backspace char event, but sdl2 branch only was only sending a key event.
Revert cl_keys.c to master branch (it would cause backspace to happen twice in console).
2013-11-26 17:03:15 -06:00