Commit Graph
100 Commits
Author SHA1 Message Date
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 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 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 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 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 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 2044bcb12d Silence warnings about unused static functions in opengl2 2013-11-25 15:27:09 -06:00
Zack Middleton d31bf95493 Add header for standalone game licensing 2013-11-23 20:19:41 -06:00
Zack Middleton 94bffacdb2 Improve github interperation of README.md 2013-11-23 19:38:09 -06:00
Zack Middleton 1633ac5b93 Make kamikaze timer loops use level.num_entities instead of MAX_GENTITIES
Optimization. Many other loops use level.num_entities, there was no
special reason that MAX_GENTITIES was used for these.
2013-11-21 02:26:31 -06:00
Zack Middleton 57eae5da91 Fix signal 6 in S_Base_StartBackgroundTrack on OS X 10.9
In S_UpdateBackgroundTrack, s_backgroundLoop was passed to
S_Base_StartBackgroundTrack and tried to copy to itself using Q_strncpyz.
2013-11-20 23:19:17 -06:00
Zack Middleton 8af9516e88 End current draw surface before drawing cinematic
Fixes drawing StretchPic *before* CIN_DrawCinematic resulting
in cinematic being drawn before the StretchPic.
2013-11-20 21:37:17 -06:00
Zack Middleton a53e7c3074 Fix comparing unsigned values to < 0 in gl2 2013-11-11 01:12:42 -06:00
Zack Middleton 203ab7b9af Fix cinematics often being silent on OS X
If OpenAL source isn't playing, often what happens is: queued buffers is 0 and processed buffers is non-0.
S_AL_StreamUpdate won't play the steam if queued buffers 0.
So start the stream in S_AL_RawSamples.
2013-11-11 00:21:53 -06:00
Zack Middleton b3bd74fce7 Fix restoring loop sound position on OS X
The default OpenAL library on OS X errors AL_INVALID_VALUE for AL_SEC_OFFSET if source isn't playing.
2013-11-10 23:28:54 -06:00
Zack Middleton 5795be68f6 Make OpenAL buffer management work on OS X
Don't assume we have unlimited OpenAL buffers.
Detach buffers from sources by setting AL_BUFFER to 0. Cannot delete buffers on OS X immediately after alSourceUnqueueBuffers.
Free unprocessed stream and music buffers.
Free unused sfx buffers when sound file exists and fails loading into OpenAL (though I haven't seen it fail).
2013-11-10 22:55:35 -06:00
Zack Middleton d526eacd10 Fix flares being invisible after vid_restart
flareCoeff was only set if r_flareCoeff cvar was set as modified.
Cvars are set as modified when created or changed.
2013-11-09 16:57:58 -06:00
Zack Middleton baf5737779 Remove function prototypes for non-existant Sys_* DLL functions 2013-11-08 18:44:04 -06:00
Zack Middleton 028f0f1ac4 Remove old comment that FS_Seek doesn't work on zipped files 2013-11-08 18:43:48 -06:00
Zack Middleton 2d45e57068 Support FS_SEEK_END and negative offset for zipped files in FS_Seek
Use FS_SEEK_END in sound code instead of working around it.
If FS_SEEK_SET and going to current position, just return.
2013-11-08 18:43:34 -06:00
Zack Middleton c69db4a400 Remove unused variable baseOffset from fsh[] 2013-11-08 18:43:20 -06:00
Zack Middleton 90c98c90a3 Fix VM FOpenFile( FS_READ ) files seeking twice in FS_Seek 2013-11-08 18:42:56 -06:00
Zack Middleton fd4cd6612d Fix running if built on OS X 10.9
strncpy with in == out causes signal 6 if built on OS X 10.9.
(If built on older OS X versions, the game works on 10.9 though.)

It was happening in COM_StripExtension during map load.
2013-11-06 22:23:40 -06:00
Zack Middleton ae0e09aba9 Remove vertexLightmap from textureBundle_t, it's never qtrue 2013-11-02 02:59:31 -05:00
Zack Middleton 6bd52de44e Remove unused shader state code from tr_local.h 2013-11-02 02:35:59 -05:00
Zack Middleton 0f30dad10a Merge last two commits into renderergl2 2013-10-29 23:22:02 -05:00
Zack Middleton 611d913443 Initialize blendIndexesType and blendWeightsType 2013-10-29 23:18:05 -05:00
Zack Middleton f55bb272b6 Fix IQM comments refering to IQM_BYTE instead of IQM_UBYTE 2013-10-29 23:11:32 -05:00
Zack Middleton c28fabf505 IQM int/float vertex arrays were already swapped 2013-10-29 23:07:15 -05:00
Zack Middleton 0bf1f3d0ba Add support for IQM int blend indices and float blend weights
Integer blend indices are converted to bytes at load, ioq3 doesn't allow more than 128 joints.

Heavily based on code by @zippers.
2013-10-29 22:09:06 -05:00
Zack Middleton 1515841b38 Support IQMs with joints and no poses 2013-10-29 20:47:33 -05:00
Zack Middleton e0a42885d9 Clear more variables in CL_InitServerInfo
Have cls.localServers use CL_InitServerInfo.
Don't set cls.localServers netType to from.type, it's the wrong value.

Note: server->visible is not cleared in CL_InitServerInfo, as stated by a comment below a place where CL_InitServerInfo is used.
2013-10-28 15:23:01 -05:00
Zack Middleton a836c2db89 Drop sounds starting with * before allocating sfx slot
Causes handle 0 to be returned by S_RegisterSound.
2013-10-09 09:51:32 -05:00
Zack Middleton e4227d1cd5 Revert "5097 - Menu corrupted on start (on IRIX)"
Calling glClear( any bits ) in GL_SetDefaultState makes connect screen black using the proprietary NVidia driver on Windows and GNU/Linux.

This reverts commit 92573270de.
2013-10-08 08:01:00 -05:00
Zack Middleton fcaab903d1 Fix UI parse message for menu files
Missing a space after colon.
2013-09-19 21:41:27 -05:00
Zack Middleton 68a616c7f1 Free bot client if cannot load bot
Introduced by commit a57a5cfd9b.
2013-09-08 21:59:58 -05:00
Zack Middleton 27ddba9c2e Fix crash caused by too many surfaces in skin 2013-09-04 20:36:45 -05:00
Zack Middleton 99317a9e9a Make cgame's tcmd use trap_SendClientCommand for "gc"
gc command was forwarded to server after if wasn't recognized locally, but let's just send straight to server.

(trap_SendConsoleCommand should of had a \n at end, but using trap_SendClientCommand makes more sense.)
2013-09-03 18:19:48 -05:00
Zack Middleton c79e0dfc25 Fix targetNum check in cgame's tcmd 2013-09-01 20:58:51 -05:00
Zack Middleton d4c6711e51 Fix "bind <key>" message for unbound keys
"bind X cmd; unbind X; bind X" now says '"x" is unbound' instead of '"x" = ""'
2013-08-16 15:41:01 -05:00
Zack Middleton 3d69ae9995 Fix OpenAL music stop issues using stream stop code
S_AL_StopBackgroundTrack would sometimes generate AL errors.
S_AL_MusicSourceFree needs to kill source or next track may have short looping buffer.
2013-08-16 15:29:12 -05:00
Zack Middleton 6d5041a960 Remove 5 unused variables from make-macosx scripts 2013-08-04 12:06:38 -05:00
Zack Middleton 81909bb266 Fix text getting appended to vid_restart in command buffer
I was getting unknown command "vid_restart-button2" warning on OSX when trying to use alt-return to toggle fullscreen.
2013-08-03 17:40:50 -05:00
Zack Middleton 2eaee597c9 Fix creating symlinks in make-macosx-app.sh
Create symlink if arch name is found anywhere in info printed by file command, not only if arch name is the last word.
2013-08-03 16:37:28 -05:00
Zack Middleton 3518e7b22e Fix bind commands getting run when closing UI
Introduced in commit "Add togglemenu command" bf2b04.

Don't let UI key event changing key catcher affect bind parsing. Bind parsing itself will never change the key catcher.

Example of issue: if mouse1 is bound to +attack when clicking Resume Game, player will shoot until releasing the mouse button.
Mouse button should have to be released and pressed again before player will shoot.
2013-07-22 17:44:28 -05:00
Zack Middleton 43ea1aebb3 Fix Windows server history scrolling
Update history position when CON_HistNext goes to input line, otherwise
when going to previous a line is skipped.
Don't let CON_HistPrev go to unused lines.
2013-07-21 17:32:56 -05:00
Zack Middleton 3cd8b49713 Merge pull request #6 from morturp/patch-2
out seems to be unnecessarily large for one byte per pixel
2013-07-17 19:12:15 -07:00
Zack Middleton 690b281e4d Remove unused models from server_t 2013-07-11 23:26:30 -05:00
Zack Middleton 30fcabec65 SDL Mouse Button clean up
Make 'b' variable an int so that key values more than 255 will work (not currently an issue in ioq3 afaik).
Use SDL_BUTTON_* for easier transition to SDL2.
(SDL2 doesn't have SDL_BUTTON_WHEELUP or SDL_BUTTON_WHEELDOWN, X1/X2 are different values.)
2013-07-09 14:41:56 -05:00