Commit graph

2745 commits

Author SHA1 Message Date
SmileTheory
65b999446d OpenGL2: Speedup for SSAO & blur shaders, fix sunlight normals in lightall. 2016-03-08 18:30:51 -08:00
SmileTheory
5738d09969 OpenGL2: Add r_glossType. 2016-03-07 03:30:16 -08:00
SmileTheory
90d6f941f8 OpenGL2: Add r_shadowBlur. 2016-03-07 02:27:03 -08:00
SmileTheory
a331637745 OpenGL2: Shader optimization, and add dither to tonemap. 2016-02-17 20:06:18 -08:00
SmileTheory
d11cfc88d5 OpenGL2: Fix some GL errors and no sun shadows on older OpenGLs. 2016-02-17 19:49:21 -08:00
SmileTheory
0f6f2be155 OpenGL2: Typos. 2016-02-12 18:34:31 -08:00
SmileTheory
871872689e OpenGL2: Add named cubemaps and per-map env.json parsing. 2016-02-10 16:25:32 -08:00
SmileTheory
ad952b9537 OpenGL2: Merge several cvars into r_pbr.
r_glossIsRoughness, r_specularIsMetallic, r_framebufferGamma, r_tonemapGamma, r_materialGamma, r_lightGamma
2016-02-01 21:37:23 -08:00
SmileTheory
41791c662f Fix frame_msec possibly being zero in cl_input.c.
This fixes a mouse freezing bug.
2016-01-29 20:14:35 -08:00
SmileTheory
2b2f1aeaa1 OpenGL2: Load existing per-map cubemaps. 2016-01-28 16:39:42 -08:00
SmileTheory
558da25277 OpenGL2: Some FBO related cleanup/fixes. 2016-01-21 22:31:41 -08:00
SmileTheory
28ff383061 OpenGL2: Direct state access, part 3: Framebuffers. 2016-01-20 06:32:50 -08:00
SmileTheory
f70e9dac01 OpenGL2: Direct state access, part 2: Uniforms. 2016-01-18 23:30:36 -08:00
SmileTheory
275317fefb OpenGL2: Direct state access, part 1: Texture binds 2016-01-18 04:46:01 -08:00
SmileTheory
63e45fab9a OpenGL2: Remove specular ambient. 2016-01-15 02:46:30 -08:00
Zack Middleton
8d38e2307c Fix some opus_decode issues
It was able to fail the assert before. I was using opus_decode wrong.
2016-01-06 05:19:10 -06:00
Zack Middleton
615b73288f Use Opus for VoIP
Server/client VoIP protocol is handled by adding new cvars
cl_voipProtocol and sv_voipProtocol, sv_voip and cl_voip
are used to auto set/clear them. All users need to touch
are cl/sv_voip as 0 or 1 just like before.

Old Speex VoIP packets in demos are skipped.
New VoIP packets are skipped in demos if sv_voipProtocol
doesn't match cl_voipProtocol.

Notable difference between usage of speex and opus codecs,
when using Speex client would be sent 80ms at a time.
Using Opus, 60ms is sent at a time. This was changed because
the Opus codec supports encoding up to 60ms at a time.
(Simpler to send only one codec frame in a packet.)
2016-01-06 05:19:10 -06:00
Zachary J. Slater
fe619680f8 Merge pull request #73 from Pan7/sayto
sayto cmd with player name completion
2015-12-28 09:04:19 -08:00
Zachary J. Slater
5555788867 Merge pull request #103 from openmoh/ioq3-intro
Have custom intro cinematics for standalone game
2015-12-28 08:56:20 -08:00
SmileTheory
e2b2437966 OpenGL2: Add r_cubemapSize. 2015-12-24 16:34:58 -08:00
SmileTheory
c3216f54d2 OpenGL2: Replace r_exportCubemaps cvar with exportCubemaps command. 2015-12-23 09:58:11 -08:00
SmileTheory
a6a6162f04 OpenGL2: Add r_exportCubemaps for saving cubemaps on map load. 2015-12-22 05:04:07 -08:00
SmileTheory
06feb6115b OpenGL2: Support picmip for DDS textures. 2015-12-21 20:24:19 -08:00
SmileTheory
e25035672d Fix error handling in RE_SaveJPGToBuffer(). 2015-12-21 01:05:55 -08:00
SmileTheory
d8fd07b69a Make jpeg loading errors non-fatal. 2015-12-20 03:08:50 -08:00
SmileTheory
f78d04eba8 OpenGL2: Add null dereference checks to DDS loader. 2015-12-18 19:42:15 -08:00
SmileTheory
f965f3c66e OpenGL2: DDS (compressed textures) support. 2015-12-18 06:53:20 -08:00
SmileTheory
336419235a OpenGL2: Some tr_image.c cleanup. 2015-12-16 07:12:30 -08:00
SmileTheory
cbfc3471bc OpenGL2: Switch to RGTC from LATC for normal maps.
Also added a RGTC compressor as a workaround on Intel graphics.
2015-12-15 03:23:55 -08:00
SmileTheory
c07cc282d0 OpenGL2: Use correct sunlight color for sunlight specular. 2015-12-09 05:25:58 -08:00
SmileTheory
08ecc3a80a OpenGL2: Forgot a multiply. 2015-12-09 03:42:12 -08:00
SmileTheory
f9c72eee69 OpenGL2: Parse radius entries from misc_cubemap entities. 2015-12-09 02:00:40 -08:00
SmileTheory
b52ede0445 OpenGL2: Add r_glossIsRoughness. 2015-12-08 21:23:50 -08:00
SmileTheory
92d4b20129 OpenGL2: Add option in code for alternate overbright method. 2015-12-08 05:17:05 -08:00
SmileTheory
e5aabdaff6 OpenGL2: Remove some rendering options for simplicity. 2015-12-03 02:44:33 -08:00
SmileTheory
2954bdfa65 OpenGL2: automatically load textures with a _s suffix as specular. 2015-12-02 17:08:40 -08:00
SmileTheory
f663104cfc Access 32-bit registry key from 64-bit Windows correctly. 2015-12-02 17:07:26 -08:00
Zack Middleton
41f83ac8b0 Replace 4 with sizeof( int ) in R_GetCommandBufferReserved 2015-10-17 21:58:11 -05:00
Zack Middleton
81e2b6c0cf Fix reserved size for swap buffer command being too small on x86_64 2015-10-16 20:50:25 -05:00
Zack Middleton
e6209f3b7c Fix crash from reading past end of tr.refdef.drawSurfs
The number of draw surfaces was range checked against number of surfaces for
the current view but needs to check total for the frame otherwise can read
past the end of the tr.refdef.drawSurfs array when there are multiple views.
2015-10-16 20:21:15 -05:00
Zack Middleton
8531162bd9 Fix not swapping buffers because out of cmd buffer space
Reserve space for end of list and swap buffer commands. These are absolutely
required and cannot be dropped. Dropping swap buffer command causes screen
to not update and possible crash from drawsurf buffer overflow if not enough
cmd buffer space for many continous frames.
2015-10-16 19:38:49 -05:00
Zack Middleton
ce35188acd Add support for uncompressed image upload flag to OpenGL1 2015-10-16 03:29:27 -05:00
Zack Middleton
7f4b34bf09 Remove unused define MAC_EVENT_PUMP_MSEC 2015-10-04 17:20:56 -05:00
Tim Angus
7e0dac7517 Fix check for empty rconpassword in CL_Rcon_f 2015-10-04 21:11:35 +01:00
Zack Middleton
1902b6e659 Fix compiling on Windows without Steam path/appid 2015-09-26 19:26:21 -05:00
Tim Angus
9732f1ba69 Now with less infinite recursion 2015-09-26 10:54:16 +01:00
Tim Angus
c70e10d15e Effectively revert c2e146c1 2015-09-25 22:50:01 +01:00
SmileTheory
2f77a98afe Use Windows uninstall path to find Steam Quake 3 install.
Thanks Pan- and Ensiform for pointing this out.
2015-09-25 04:55:41 -07:00
SmileTheory
3bd7a8d842 Search for mods in steam path as well as home and base paths. 2015-09-25 04:52:17 -07:00
Zack Middleton
7e96fd9cb6 Make steam path optional at compile time for standalone games 2015-09-22 19:25:16 -05:00
Zack Middleton
750fdc0e43 Align indent of defines at top of q_shared.h to 4 space tabs 2015-09-22 19:05:46 -05:00
Zack Middleton
68ab4e9548 Early out of Cmd_CompleteArgument and Cmd_SetCommandCompletionFunc
Reported by Ensiform.
2015-09-20 18:51:20 -05:00
Zack Middleton
5e09f20cd4 Use correct array size for facets in cm_patch.c 2015-09-17 18:46:01 -05:00
SmileTheory
f860a753e0 Add Steam's Quake 3 Arena dir to game dirs on Windows. 2015-09-17 02:53:19 -07:00
Zack Middleton
3001cacf89 Make add bots menu use standard menu drawing
Made add bots menu draw banner and background like remove bots menu.
2015-09-16 01:43:28 -05:00
Zack Middleton
b85935d30c Fix glyph width calculation in Text_Paint_Limit
Text_Width's scale argument will be multiplied by glyphScale, so don't
pass useScale that is already multiplied by glyphScale as this makes
the scale too big.
2015-09-15 16:56:03 -05:00
Tim Angus
ec6916ded5 Fix the wonky fix to the wonky va_list usage 2015-09-09 23:33:36 +01:00
Tim Angus
566e2a18de Fix wonky va_list usage 2015-09-09 22:32:12 +01:00
Tim Angus
9767a0e790 Merge pull request #152 from dionrhys/cvar-unset-notify
Fix Cvar_Unset not notifying cvar_modifiedFlags
2015-09-07 13:00:30 +01:00
Dion Williams
2917077323 Ensure reads from /dev/urandom are unbuffered
Upstream: JACoders/OpenJK@de6a9dfd40
2015-09-07 11:33:29 +01:00
Dion Williams
ce2b8db294 Fix Cvar_Unset not notifying cvar_modifiedFlags
Upstream: JACoders/OpenJK@9a5e9e87ff
2015-09-07 11:29:15 +01:00
Zachary J. Slater
87e0bf6eaf Better language, less tense 2015-08-28 18:19:29 -07:00
Zachary J. Slater
4667210e1d more helpful error message
Can’t find your pak0.pk3? Here’s where we tried looking.
2015-08-28 10:36:46 -07:00
Zack Middleton
f4aa39adc1 Remove unused define CG_FONT_THRESHOLD 2015-08-25 16:23:06 -05:00
Tobias Kuehnhammer
49ab0cc05e Fix (unused) watertype checks in PM_WaterMove 2015-07-30 19:33:28 -05:00
Pan7
8fddf5d6cd Fix va_list warning 2015-07-30 17:09:51 +02:00
Pan7
017af35969 Add missing qcurl handle cleanup 2015-07-29 16:44:59 +02:00
Tim Angus
4e1cf7ac9b Return the result from qcurl_easy_setopt_warn 2015-07-29 13:39:27 +01:00
Tim Angus
eb3dda59e4 Merge pull request #143 from Pan7/qcurl_cleanup
qcurl_multi_cleanup check
2015-07-29 13:16:39 +01:00
Pan7
e9e1e25d77 qcurl_multi_cleanup check 2015-07-29 13:32:00 +02:00
Pan7
c2e146c145 qcurl_easy_setopt dev warning 2015-07-28 17:23:31 +02:00
Tim Angus
da79a3ed4e Merge pull request #140 from Pan7/qcurl_remove
qcurl_multi_remove_handle check
2015-07-28 10:37:07 +01:00
Pan7
4db5c3af40 qcurl_multi_strerror not curl_multi_strerror 2015-07-27 21:04:47 +02:00
Pan7
85faec91ab qcurl_multi_remove_handle check 2015-07-27 20:38:20 +02:00
Tim Angus
db941dcb5f Merge pull request #138 from Pan7/SDL_Swap
SDL_GL_SetSwapInterval() check
2015-07-26 19:49:49 +01:00
Tim Angus
793708a010 Merge pull request #137 from Pan7/SDL_display
SDL_GetWindowDisplayIndex() check2
2015-07-26 19:49:04 +01:00
Tim Angus
0dad4ce9fe Merge pull request #92 from Pan7/curl_error
qcurl_multi_add_handle error check
2015-07-26 19:48:03 +01:00
Pan7
525eac0d99 SDL_GL_SetSwapInterval() check 2015-07-26 20:23:48 +02:00
Pan7
56808ab51f SDL_GetWindowDisplayIndex() check2 2015-07-26 19:46:07 +02:00
Tim Angus
c35e0faffb Merge pull request #136 from Pan7/SDL_NULL
SDL_CreateWindow NULL check
2015-07-26 15:50:54 +01:00
Tim Angus
5a495d5824 Merge pull request #135 from Pan7/SDL_Index
SDL_GetWindowDisplayIndex check
2015-07-26 15:50:30 +01:00
Tim Angus
19fe4f8fbd Merge pull request #134 from Pan7/GammaCheck
SDL_SetWindowGammaRamp check
2015-07-26 15:49:42 +01:00
Tim Angus
30c88442b2 Merge pull request #133 from Pan7/SDL_bool
SDL_FALSE/TRUE for SDL_SetWindowGrab
2015-07-26 15:48:59 +01:00
Pan7
19c4048315 Added SDL_GetError() 2015-07-26 15:45:21 +02:00
Pan7
4b176297e2 Added SDL_GetError() 2015-07-26 15:41:41 +02:00
Pan7
6fb47ce9bf SDL_CreateWindow NULL check 2015-07-26 13:54:29 +02:00
Pan7
9694e93fd2 SDL_GetWindowDisplayIndex check 2015-07-26 13:03:47 +02:00
Pan7
2003a054f9 SDL_SetWindowGammaRamp check 2015-07-26 04:31:27 +02:00
Pan7
9e08cdb16a SDL_FALSE/TRUE for SDL_SetWindowGrab 2015-07-26 03:21:45 +02:00
Tim Angus
605dfabb94 Merge pull request #132 from Pan7/SDL_Init
SDL_Init zero check
2015-07-25 11:54:12 +01:00
Pan7
2a38bca931 SDL_Init zero check 2015-07-24 22:56:00 +02:00
Tim Angus
61a49ba1db Merge pull request #129 from smcv/generic-platform
Implement Linux architecture support generically
2015-07-15 13:37:51 +00:00
Simon McVittie
2a71948f21 build: define ARCH_STRING in Makefile on Linux and other GNU platforms
GNU platforms (Linux, kFreeBSD, Hurd) have endian.h to determine
endianness, so all architectures except x86_64 are in fact treated
identically, except that their ARCH_STRING is different.
The ARCH_STRING must always be identical to the ARCH from the Makefile,
otherwise the engine will not find its cgame, game and ui plugins
under their expected names and startup will fail. If we pass it in
from the Makefile, then an identical value is guaranteed, and we can
get rid of an increasingly long list of defined(__some_cpu__) tests.

The one remaining quirk is that we test __x86_64__ to determine
whether to define idx64; I've kept that, but separated it from
the ARCH_STRING.

On non-Linux platforms we only support a few architectures anyway,
so keeping the list up to date is less of a burden; *BSD porters
could probably use the same technique to get support for lots of
architectures with little effort, but I have not done that here,
because I cannot test it.

Windows must continue to support preprocessor-based architecture tests
in any case, so that the MSVC solutions (which do not use the Makefile)
can continue to work. However, Windows only runs on a few CPU families,
so this shouldn't be a significant burden in practice.

When cross-compiling, the tools are compiled for the build architecture
(COMPILE_PLATFORM, COMPILE_ARCH) rather than the host architecture
(PLATFORM, ARCH), so define ARCH_STRING to COMPILE_ARCH on a GNU
COMPILE_PLATFORM.
2015-07-14 22:51:57 +01:00
Zack Middleton
c91fe0bcfe Fix handling too many teams in Team Arena UI 2015-07-13 00:09:22 -05:00
Zack Middleton
b4b68b8e80 Remove logically dead code from CL_GetServerStatus
Found by Coverity.
2015-07-12 21:14:04 -05:00
Zack Middleton
604b63f00f Fix cgs.teamVoteString buffer overflow in CG_ConfigStringModified
Found by Coverity.
2015-07-12 21:08:16 -05:00
Zack Middleton
a5fbc1bfc4 Fix alloc size for default skin and single shader skin
Found by Coverity.
2015-07-12 20:41:47 -05:00
Zack Middleton
4473924636 Remove logically dead code in R_CheckFBO
Found by Coverity.
2015-07-12 20:35:22 -05:00
Zack Middleton
c7500bb28e Don't segfault in FS_CreatePath when there are no path seperators 2015-07-12 20:06:24 -05:00
Zack Middleton
2e904141ff Make more vm_x86 macros use braces so they work with if blah run macro
MASK_REG in EmitMovEDXStack would incorrectly emit asm if 'andit' was 0.
'andit' would never be 0 though so it wasn't causing issues.

Found by Coverity.
2015-07-12 19:11:13 -05:00
Zack Middleton
ee2541efee Fix range checks for numBorders in CM_AddFacetBevels
Found by Coverity.
2015-07-12 18:39:54 -05:00
Zack Middleton
9f57fea0ee Backport ignoring values outside lightgrid to OpenGL1
Fixes possibly of reading memory past end of lightGridData or reading
wrong light grid data (wrapping around to next row).
2015-07-12 18:17:57 -05:00
Zack Middleton
1bb2bc370d Fix OpenGL2 ignoring last light grid point on each axis
Also change light grid bounds clamping to make it more clear what invalid
values are.
2015-07-09 22:42:01 -05:00
Zack Middleton
5768e2316a Remove unused fpucw from snapvector.asm
It's usage was removed in commit 8a500d71.
2015-07-09 18:35:45 -05:00
Zack Middleton
993b838f27 Fix Windows file list extension check
Windows' Sys_ListFiles would add files that contain the extension anywhere,
not only at the end of the file name.

Example: "word.pk3omghacks" use to be loaded as a pk3 file.
2015-07-04 20:46:03 -05:00
Zack Middleton
b152cf1423 Don't fog 3D crosshair sprite 2015-07-04 19:33:28 -05:00
Zack Middleton
5e575ae82e Apply greyscaling to fog blocks 2015-07-04 19:17:58 -05:00
Zack Middleton
386a00fc2b Fix CGame CG_WaterLevel() comparisons
My last commit made it so that CGame "waterlevel 1" is feet in water,
but before it was erroneously about waist deep in water. The places
where it is checked it is suppose to be view position underwater.

Change comparisons to use correct value for view position underwater.
2015-07-04 05:53:29 -05:00
Zack Middleton
08ac364cd6 Fix CG_WaterLevel() checks for waterlevel 2 and 3
CG_WaterLevel() added lerpOrigin to itself instead of adding view height
when checking for waterlevel 2 and 3. This did not cause issues because
ioq3 only compared the calculated waterlevel to more or equal to 1.
2015-07-04 03:40:05 -05:00
Zack Middleton
6a03817a9c Merge pull request #4 from smcv/hurd
Add support for the GNU/Hurd architecture
2015-06-30 19:02:46 -05:00
Martin Michlmayr
ebb69f699c Add support for Aarch64 (ARM64)
Add support for Aarch64, the 64-bit ARM architecture.
2015-06-30 14:22:49 -04:00
Zack Middleton
6d62dc3646 Fix abs() being used for float in cl_input.c 2015-06-28 18:27:09 -05:00
Zack Middleton
1d09a7d578 Fix abs() being used for long int in l_precomp.c 2015-06-28 18:13:06 -05:00
Zack Middleton
70eb1fa79e Make cinematic times be int like CL_ScaledMilliseconds
Cinematic's startTime and lastTime are always set from CL_ScaledMilliseconds
which returns int and are converted back and forth to int and unsigned int.

This fixes a warning that abs() is used on an unsigned int.
2015-06-28 18:02:51 -05:00
Zack Middleton
b27e0fbf95 Remove unused function WRITE_1BYTES from cl_avi.c 2015-06-28 17:55:51 -05:00
Zack Middleton
f0c4c185fc Remove check for cg_recordSPDemoName.string array address
It will always be true.
2015-06-28 17:55:25 -05:00
Zack Middleton
da8a74d734 Fix variable declaration for C89 compilers 2015-06-28 16:29:10 -05:00
Tim Angus
61825d8e5f Check SDL_GetNumDisplayModes return value for errors 2015-06-28 18:01:03 +01:00
/dev/humancontroller
c52e35bcd8 fix a stupid use of strcpy()
strcpy() arguments may not overlap !
2015-06-18 17:24:50 -05:00
Zack Middleton
5d7612ec84 Merge pull request #109 from Pan7/SIGABRT
SIGABRT is in ANSI and POSIX.1, and SIGIOT isn't.
2015-06-18 13:20:54 -05:00
Zack Middleton
9e03e606cd Merge pull request #108 from Pan7/memmove
No unix memmove for MSVC
2015-06-18 13:13:25 -05:00
Zack Middleton
e857ed7273 Merge pull request #118 from jkent/master
fix buffer overflow in CL_CheckForResend
2015-06-18 13:09:58 -05:00
Zack Middleton
f110f668bf Move image load function prototypes to tr_common.h
The functions themselves are in code/renderercommon/tr_image_*.c
2015-06-12 14:22:37 -05:00
Zack Middleton
e5af084211 Remove erroneous new line from error message 2015-06-12 13:08:10 -05:00
Tim Angus
77ad75887f Merge pull request #105 from smcv/sdl-modes
Don't crash if more than 128 modes are available
2015-06-12 16:29:38 +01:00
Tim Angus
68dbb8a1bb Commit newly generated gram.c 2015-06-06 23:06:19 +01:00
Tim Angus
01275693a6 Fix cppcheck warning 2015-06-06 22:56:45 +01:00
Zack Middleton
5082548bf5 Horizontal scroll should not cause K_MWHEELDOWN key press 2015-05-29 16:38:43 -05:00
Zack Middleton
2292bf5bb2 Save bot accompany distance across map change or restart
If a bot is accompanying someone before map change or restart, the bot would
continue accompanying them but press up against them and orbit around them.
This is caused by the bot's formation distance being 0.

Save the formation distance so they maintain proper distance and do not
orbit around the player.
2015-04-30 17:19:00 -05:00
Jeff Kent
63e6c82f4b fix buffer overflow in CL_CheckForResend 2015-04-18 22:43:47 -05:00
Zack Middleton
8265af84be Let's not ifdef MISSIONPACK inside of ifdef MISSIONPACK 2015-04-12 20:00:08 -05:00
Zack Middleton
10c5f0b5a9 Merge pull request #116 from smcv/system-minizip
Enhancements for system libraries
2015-04-12 19:56:37 -05:00
SmileTheory
3ebc230b28 OpenGL2: Use signed value in case value goes below 0. 2015-04-06 03:05:28 -07:00
Zack Middleton
c755d75a5e Fix MDR surface indexes overflow check
Also, use the check overflow macro like everywhere else.
2015-03-25 15:41:03 -05:00
Zack Middleton
1a7628126a OpenGL2: Fix shadow cubemap segfault
Changed image size to 512, but 'data' buffer is only 16x16 resulting
in libGL segfault. Use NULL instead like other dynamic images.
2015-03-24 03:39:53 -05:00
Zack Middleton
f47d148b72 Add a comment about non-functional bot code 2015-03-23 20:36:27 -05:00
/dev/humancontroller
1ce8ba0cdb Fix return values in nested system calls from QVMs
When the engine is compiled with Clang it appears that the return value
is being written to the WRONG address, either due to the vm_ variables being
changed (unexpectedly) elsewhere, or as a result of bad assembly assumptions;
having a stack variable pointing to where to write the return value seems
to do the trick.

This fixes the case where, for a trap_Register()-like call, weird numbers
are being returned when, during the process, an error message is printed
(which in Tremulous results in a QVM call and (nested) system call).
2015-03-23 20:17:07 -05:00
Author: Xycaleth
33efe82de9 OpenGL2: Fix shadow cubemap size 2015-03-23 20:05:35 -05:00
Zack Middleton
7a39f4a30c Fix attacker icon being default image if attacker left
With cg_draw3dicons 0 if attacker is kicked or disconnects, the
attacker icon becomes the default image.
2015-03-23 19:54:26 -05:00
Zack Middleton
1897afbd3a Fix crosshair drawing not clearing color
The renderer color is set to health color when drawing crosshair. After
drawing the crosshair, the renderer color was not cleared and could affect
other things. With cg_draw3dicons 0 and cg_drawCrosshairNames 0 it affected
the attacker icon.
2015-03-23 19:33:56 -05:00
Zack Middleton
5fb49acda8 Clean up CG_DrawProxWarning design
Hopefully fixes the following warning
cg_draw.c:2315 assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Wstrict-overflow]
2015-03-20 21:21:47 -05:00
/dev/humancontroller
c4a2836269 Fix Com_RandomBytes weak-random case
255 is valid for unsigned char too.
2015-03-20 18:50:58 -05:00
Simon McVittie
caf08fdb7b unzip: comment why there is no USE_INTERNAL_MINIZIP boolean option
Bug: https://github.com/ioquake/ioq3/pull/116
2015-03-18 17:38:10 +00:00
SmileTheory
40cfbc9a82 OpenGL2: Fix culling again. 2015-03-12 21:44:06 -07:00
Zack Middleton
148603c951 Don't run vid_restart when "resized" to current size 2015-02-28 18:35:41 -06:00
Zack Middleton
c4f5176af4 Set bsp_trace_t::surface.flags to surfaceFlags in server and game
Revert last commit so that grapple sky check is compatible with BSPC
BotImport_Trace in (removed from repo) code/bspc/be_aas_bspq3.c.

Set bsp_trace_t::surface.flags instead of surface.value to trace_t::surfaceFlags.
surface.flags is only used for the sky check for grapple AAS reachability.
surface.value is not used at all.

bsp_trace_t is not part of the game VM API, so this does not affect VM compatibility.
BotAI_Trace in game was changed to match server. surface.value/flags are not used in game.
2015-02-18 15:17:57 -06:00
Zack Middleton
dbd6f6d8b1 Fix AAS_Reachability_Grapple's sky surface check
Surface flags are stored in bsptrace.surface.value not flags.
2015-02-18 13:39:59 -06:00
Zack Middleton
99b74fc5bf OpenGL2: Remove unused function prototype from tr_fbo.c 2015-02-07 18:52:03 -06:00
Zack Middleton
4fb053b8e7 Fix incorrect strncpy in S_AL_StartBackgroundTrack
Error is loop argument is NULL.
Ensure that s_backgroundTrack is a null terminated string.
2015-02-05 04:37:26 -06:00
Ensiform
43c7f1e734 Inform how many shader stages the max is in the warning message 2015-01-26 02:39:59 -06:00
Xycaleth
2742dfad26 Add arrow key support for win32 console 2015-01-26 02:39:59 -06:00
Ensiform
b9e97b3857 Move Event processor call down below the mouse checks.
Only send mouse events if both values are non-zero.

Hopefully this helps with the event overflow spam that can sometimes
happen on loads or laggy situations.
2015-01-26 02:39:58 -06:00
vloup
d7f00e2b65 Fix Team Arena tauntGauntlet command 2015-01-26 02:39:58 -06:00
Pan7
9c52d6c2bf SIGABRT is in ANSI and POSIX.1, and SIGIOT isn't. 2015-01-18 18:41:06 +01:00
Pan7
16c67b96c2 No unix memmove for msvc 2015-01-17 18:15:03 +01:00
Zack Middleton
10e2caad46 Fix crash in MSVC x64 qsnapvectorsse, bug #5905
Make MASM x64 qsnapvectorsse the same as the inline version.
Remove leftover OP code, see commit 8a500d71da.
2015-01-14 15:29:45 -06:00
Zack Middleton
af8acbd7a9 Make barrel/flash model name buffer safe 2015-01-12 22:35:20 -06:00
Zack Middleton
af617bc0e6 Fix possible levelPicNames buffer overflow in q3_ui 2015-01-12 21:28:03 -06:00
Zack Middleton
daa604ae9b Fix parsing bots in arena info with trailing spaces
q3_ui would shown bot at index of number of bots in list.
game would send empty name to addbot command and command would think skill
(i.e., 2.000000) was the bot name.
2015-01-12 21:28:03 -06:00
Zack Middleton
9c4b75c499 Remove logically dead code from UI_GetServerStatusInfo 2015-01-12 21:28:03 -06:00
Zack Middleton
78e7656900 Make Window_Paint check if w is NULL before dereference 2015-01-12 21:28:03 -06:00
Zack Middleton
84e792f453 Fix (unused) "orders" menu script logic
"orders" menu script is not used by Team Arena.

The same C format string was given an int or string argument depending on if
ordering a single person or everyone. Make it always use int.
2015-01-12 21:28:03 -06:00
Zack Middleton
f74479afe8 Fix handling too many characters or aliases in Team Arena UI 2015-01-12 21:28:02 -06:00
Zack Middleton
07eb0f6dc9 Fix possible string buffer overflows in Team Arena UI 2015-01-12 21:28:02 -06:00
Zack Middleton
5020361be4 Fix off-by-one range checks in Team Arena UI 2015-01-12 18:31:39 -06:00
Zack Middleton
d62dfd87f9 Set float rounding mode on non-Windows platforms
Sys_SetFloatEnv in sys_unix.c existed but was not called. It sets the
rounding mode to "to nearest" which is the default on Linux. Might be
required on other platforms, I don't know.
2015-01-12 17:03:13 -06:00
Zack Middleton
1ff28f2389 Merge pull request #22 from zturtleman/cvar_modified
Add cvar_modified command
2015-01-07 19:48:16 -06:00
Zack Middleton
e7c7ca1309 Merge pull request #100 from Pan7/q3lcc
q3lcc option -lcppdir and -lrccdir.

Enabled using `q3lcc -Wo-lrccdir=/path/to/dir -Wo-cppdir=/path/to/dir`.
2015-01-07 19:45:12 -06:00
Zack Middleton
bd2af6e4ea Use MSVC mode marcos for creat in q3cpp on Windows
Using unix mode 0666 for creat was causing crashes when compiled with MSVC.
So use the marcos recommended by MSDN. MinGW also has the marcos, so apply
to Windows builds in general.
2015-01-07 19:27:59 -06:00
Zack Middleton
aa1aad928e Merge pull request #98 from Pan7/lcc
Windows header files for q3lcc
2015-01-07 19:31:51 -06:00
Zack Middleton
010821384c Merge pull request #97 from Pan7/outp
Renaming outp to outbufp because outp() is an existing function
2015-01-07 19:27:53 -06:00
Simon McVittie
df7dab721f Don't crash if more than 128 modes are available 2015-01-07 23:39:12 +00:00
Simon McVittie
ff7ff32b0e Ensure that mbstowcs does not overflow its buffer
Similar to one of the changes by Tim Angus in fd986da: mbstowcs' third
argument is the number of wchar_t available in dest, not the number
of bytes.

This does not appear to be exploitable, because ioquake3 does
not actually call mumble_set_identity() or mumble_set_description()
anywhere, but it might be relevant to derivatives.

Spotted via compiler warnings.
2015-01-07 23:37:11 +00:00
Michael Rieder
7c5feef6a2 Have custom intro cinematics for standalone game 2015-01-07 23:47:18 +01:00
Jun Woong
8469c40c2b Stop LCC from warning about null pointer conversion to function pointer
Fixed LCC to correctly diagnose expressions with NPC. It no longer reports messages such as

    warning: conversion from `pointer to void' to `pointer to void function(void)' is compiler dependent
2015-01-06 23:43:04 -06:00
Pan7
c4f851668b q3lcc option -lcppdir and -lrccdir 2015-01-07 03:43:18 +01:00
Michael Rieder
dd3c6619bc rephrase SSE availability message 2015-01-02 02:31:10 +01:00
Tim Angus
dd82b9d1a8 Fix case where interval overflows (thanks jackeri)
[17:58] <Jacker> hey, you might be interested in checking out this
4da5a397b5 (diff-acaedc9d8b492f9af8966ae68597392cR615)
[17:58] <Jacker> its related to the ddos protection code you wrote
[17:59] <Jacker> in continuation to:
ab9b08e584
[17:59] <Jacker> in a case if the client has in the past connected to
the server days/weeks earlier and time wraps the client wont be able to
connect
[18:00] <Jacker> since in that case if the bucket of that clients ip
still exists it wont get checked correctly
2014-12-29 19:08:42 +00:00
Zack Middleton
7de09c3490 Include stdint.h instead of inttypes.h in libmumblelink.c
MSVC 2010 has stdint.h but not inttypes.h.
Debian (GCC, MinGW) and OS X (Clang) can compile using stdint.h.
2014-12-28 15:08:02 -06:00
Zack Middleton
3cc16d6b92 Merge pull request #94 from wombat23/asmfix
Fix compile error with ml64 assembler
2014-12-28 15:06:29 -06:00
Tim Angus
a2bbb74cae Unfix warning 2014-12-28 15:47:40 +00:00
Tim Angus
4756826521 Fix warning 2014-12-28 12:44:59 +00:00
Zack Middleton
70e3d61006 Fix cg.intermissionStarted only being enabled at first intermission
Game sets CS_INTERMISSION to 1 at intermission, but does not clear it at
map_restart so it's only sent the first time. CG_MapRestart manually clears
cg.intermissionStarted (which is set to value of CS_INTERMISSION when it's
modified). So subsequent intermissions do not have cg.intermissionStarted
enabled.

Now CS_INTERMISSION is cleared and sent each time intermission is started
and cg.intermissionStarted is enabled each time.

This makes subsequent intermissions not play sounds in CG_CheckLocalSounds
during the 1 second between intermission starting and switching to scoreboard
(PM_INTERMISSION) and makes Team Arena voice chats not play.
2014-12-27 18:32:49 -06:00
Pan7
a82fb6d1b1 Windows header files for q3lcc 2014-12-26 23:33:52 +01:00
Pan7
6de3f51c23 Renaming outp to outbufp because outp() is an existing function 2014-12-26 12:52:10 +01:00
Zack Middleton
4463af85fb When player stops following a player, keep view angles
Now player keeps looking the same direction instead of facing somewhere else
which is slightly disorienting.
2014-12-19 22:09:26 -06:00
Zack Middleton
5cf45c5937 Don't use dead view angles after stop following a dead player
If ps.stats[STAT_HEALTH] is less or equal to 0, cgame uses fixed view angles.
When stop following a player, make sure health isn't less or equal to 0.
2014-12-19 22:08:06 -06:00
Zack Middleton
a700b76722 Fix reading 4 byte UTF-8 text input 2014-12-19 21:56:54 -06:00
Zack Middleton
65121c62c9 Add weapon barrel to gauntlet/mg/bfg items in baseq3 too 2014-12-10 19:29:36 -06:00
Zack Middleton
b0561e5fb4 Fix weapon barrel angle on Gauntlet and BFG items in Team Arena
The barrels were rotated 90 degrees from what they should be.
Used barrel code from CG_AddPlayerWeapon to fix them.
2014-12-10 19:23:35 -06:00
Michael Rieder
55c15e4466 Fix compile error with ml64 assembler 2014-12-07 03:40:52 +01:00
Zack Middleton
424122c366 Fix bot's teamleader name field being too short
Players using names with 32 to 35 characters could not be recognized as
the team leader.

Reported by Razor.
2014-12-04 16:50:28 -06:00
Zack Middleton
b21a59af8c Fix negative glyph index in Team Arena text functions
Team Arena's text functions cast signed char values to int and use as an array index.
This works fine for values 0 to 127, but not for -128 to -1 which are a negative array index.
Instead use "character & 255" like client and original Q3 ui/cgame string drawing code.
2014-12-01 22:14:58 -06:00
Zack Middleton
08ddb99732 Fix saving/loading glyph 255 in RegisterFont
The glyph for character 255 (lower case y with two dots above it) was
rendered, but it's glyph information was not stored in fontInfo_t and
not saved into .dat file (including the ones in Team Arena).

Attempting to load it from existing .dat font files is fine because
shader name is "" and gets 0 handle. The handle was already 0 anyway.
2014-12-01 22:04:40 -06:00
SmileTheory
8c7fedb1fe OpenGL2: Fix face culling. 2014-11-30 21:50:33 -08:00
SmileTheory
fd23249357 OpenGL2: Ensure tess VAO is bound before using it. 2014-11-21 16:12:53 -08:00
Zack Middleton
c787cf3aef Fix stencil shadows not drawing if has 500 or more vertexes
Stencil shadow is not drawn if a mesh, or multiple meshes with the same
entity and shader, have more than 500 vertexes. The issue is caused by storing
the projected positions in the tess vertex buffer. Use a new array instead.
2014-11-16 21:21:30 -06:00
Zack Middleton
d06deb41c8 Don't set fog image border color
GL1's R_CreateImage sets GL texture to 0 before it ends, so border color is not
applied to the fog image. GL_CLAMP is not used for fog image (in either renderer),
so it would presumably not be used even if applied to the fog image.
2014-11-16 14:59:09 -06:00
Zack Middleton
60d28722ef Remove unfinished OpenGL display list code
It seems unlikely anyone is going to do anything with this aside from stub
it out in OpenGLES ports.
2014-11-16 14:57:13 -06:00
Zack Middleton
22bcda018b Correct a few OpenGL variable types
Affectly no change for desktop OpenGL.
Use correct types for OpenGLES support.
2014-11-16 14:56:43 -06:00
SmileTheory
89b719ec8d OpenGL2: Bit more parallax optimization. 2014-11-14 01:12:41 -08:00
SmileTheory
d9e2184c1a OpenGL2: Add support for parallax occlusion mapping. 2014-11-10 22:11:36 -08:00
SmileTheory
b1821e303d OpenGL2: remove lightmap support from generic glsl shader.
This path was barely used and doing this compiles fewer shaders.
2014-11-10 21:59:37 -08:00
Zack Middleton
1d016e6ff5 Clear window buffer when it's created
When starting the game in windowed mode, the window buffer used whatever
was on the screen before running the game. Kind of like you could see
through the window, but it doesn't update what happens behind it.

It makes it look like something is broken or non-responsive.

So clear the window opengl buffer to black.

Credit to theinvsblman for the code.
2014-11-07 21:50:00 -06:00
SmileTheory
1ad2b413ef Remove accidentally added increment. 2014-11-03 22:18:17 -08:00
SmileTheory
943259f6b4 OpenGL2: Support half floats for texcoords and vertex colors. 2014-11-03 19:10:35 -08:00
Zack Middleton
1ba9e7a45e Always use GL_Cull to change cull state
Manually changing cull state can cause later GL_Cull calls to not change
the cull state.
2014-10-29 01:32:50 -05:00
Zack Middleton
39cf21bf54 Fix pid file ignoring user set fs_homepath
Create pid file in fs_homepath instead of (always) default homepath.
If not manually set, fs_homepath is set to Sys_DefaultHomePath().
2014-10-29 00:03:49 -05:00
Zack Middleton
3273df14af Add missing EV_USE_ITEM15 cases
Add EV_USE_ITEM15 to cg_event.c and ai_dmq3.c for consistency.
2014-10-29 00:03:49 -05:00
SmileTheory
e488663e31 OpenGL2: Change normal/tangent vertex encoding. 2014-10-28 18:15:13 -07:00
SmileTheory
7e808f92d6 OpenGL2: Speed up tonemap shader. 2014-10-27 06:37:57 -07:00
Pan7
50038a7d26 qcurl_multi_add_handle error check 2014-10-26 17:10:41 +01:00
Ludwig Nussel
6214f73af5 a VM for ARMv7l 2014-10-24 13:44:23 +02:00
SmileTheory
3765652778 OpenGL2: Fix corrupt models. 2014-10-23 16:51:10 -07:00
SmileTheory
4f5ebf8349 OpenGL2: Bit of multidraw optimization. 2014-10-16 00:32:20 -07:00
SmileTheory
03ac9649ea Fix a bug in previous commit. 2014-10-15 20:28:26 -07:00
SmileTheory
e34972b110 OpenGL2: Fix missing surfaces with r_mergeMultidraws 2. 2014-10-15 20:00:54 -07:00
SmileTheory
541d3a40c2 OpenGL2: Interleave vertex data for static MD3s. 2014-10-15 03:42:29 -07:00
SmileTheory
05e07311ba OpenGL2: Fix invalid texture parameter. 2014-10-15 03:40:16 -07:00
SmileTheory
0578b70f38 OpenGL2: Reduce redundant GL calls. 2014-10-14 06:15:06 -07:00
SmileTheory
84206c8598 OpenGL2: Vertex array object support. 2014-10-14 01:50:44 -07:00
SmileTheory
873a02bd3c OpenGL2: VBO cleanup. 2014-10-13 21:57:06 -07:00
SmileTheory
a90c17ac1b OpenGL2: Better BSP surface merging. 2014-10-07 04:17:01 -07:00
Zack Middleton
918eed9295 OpenGL2: Don't segfault if r_ext_multitexture is disabled 2014-09-29 01:02:13 -05:00
Zack Middleton
a955d975b7 Add function for clearing global shader instead of duplicating the code 2014-09-27 01:35:35 -05:00
Tim Angus
f83334d81b Add facility to describe cvars 2014-09-26 14:29:51 +01:00
Tim Angus
f9c202f83e Use correct type for thinktime 2014-09-26 14:29:11 +01:00
Zack Middleton
24923615b7 Don't add duplicate resolutions to r_availableModes
SDL can give the same resolution with different refresh rates.
The refresh rate isn't used, so only add resolution to mode list once.
2014-09-20 19:23:33 -05:00
Zack Middleton
9fbbf4214d Fix Windows key bind name on non-Mac using SDL2
SDL 1.2 sends SDKL_*META (command) and SDLK_*SUPER (windows key).
SDL2 sends SDLK_*GUI for both.
2014-09-11 20:04:28 -05:00
Zack Middleton
878cda6a20 Fix binding 'context menu' key using SDL2
SDL 1.2 converted Windows' VK_APPS and X11 XK_Hyper_R to SDLK_MENU.
SDL2 has it as a separate SDLK_APPLICATION key, so convert it to K_MENU too.
2014-09-11 20:03:54 -05:00
Zack Middleton
4529f124d6 Merge pull request #29 from inolen/shader_tidying
misc shader fixes
2014-09-09 19:18:59 -05:00
Zack Middleton
a5d641b3d0 Merge pull request #84 from MAN-AT-ARMS/openal_speedsound
Change default value for s_alDopplerSpeed
2014-09-09 18:05:08 -05:00
Zack Middleton
d5ddb72502 Merge pull request #85 from MAN-AT-ARMS/curl_fixes
Fix building with curl on Linux PPC and Sparc
2014-09-09 18:03:36 -05:00
MAN-AT-ARMS
dd69576dc1 Fix building with curl on Linux PPC and Sparc 2014-09-09 13:18:28 -04:00
MAN-AT-ARMS
a3653e475e Change default value for s_alDopplerSpeed 2014-09-09 13:03:29 -04:00
MAN-AT-ARMS
dd83cbdc25 Fix possible division by zero in S_PaintChannelFrom16_altivec 2014-09-09 11:30:23 -04:00
Tim Angus
43b21055b8 Actually, that's not suppressing, that's changing behaviour 2014-09-01 13:07:08 +01:00
Tim Angus
7277d8d6e7 Fix more warnings 2014-09-01 13:03:06 +01:00
Tim Angus
6665ea4a49 Fix renderergl2 warnings 2014-09-01 11:35:49 +01:00
Tim Angus
d38039f975 Fix renderergl1 warnings 2014-09-01 11:31:39 +01:00
Tim Angus
eeaf0227f7 Suppress warning of (deliberate) null pointer deference 2014-09-01 11:19:57 +01:00
Tim Angus
4f3c95c589 Fix client warnings 2014-09-01 11:13:47 +01:00
Tim Angus
fbdb3e0875 Fix game warnings 2014-09-01 11:09:11 +01:00
Tim Angus
b55809b925 Fix ui warnings 2014-09-01 11:05:46 +01:00
Tim Angus
4444202a41 Fix cgame warnings 2014-09-01 10:47:15 +01:00
Tim Angus
621a72e698 Fix a few warnings 2014-08-30 17:29:23 +01:00
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
Pan7
18e08125dd Add ColorIndexForNumber macro replacing '& 0x07'
Makes it easier to add more colors.
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
Tim Angus
86b75ba936 There have been 0 days since the last compiler warning 2014-08-27 12:40:45 +01:00
Tim Angus
0c0019a2d1 Fix some warnings 2014-08-27 11:24:25 +01: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
Tim Angus
cf7004ffb2 Fix OSX build 2014-08-25 12:03:10 -04:00
Tim Angus
2a3368481d Merge branch 'master' into sdl2
Conflicts:
	Makefile
	code/renderergl2/tr_image.c
2014-08-25 15:00:48 +01:00
Tim Angus
7d026177ad Fix assorted warnings 2014-08-25 14:48:49 +01:00
SmileTheory
ca9eebb125 OpenGL2: Fix a glsl compile error on old hardware with r_shadowFilter 0. 2014-08-02 00:02:46 -07:00
SmileTheory
ff1f093a0b OpenGL2: Remove R_MipMap() and R_MipMap2(), and fix gamma conversion in R_MipMapsRGB() 2014-08-01 23:57:26 -07:00
SmileTheory
2b2d696f12 OpenGL2: Add fourth cascade for sun shadows, and adjust sun shadow cvar defaults. 2014-07-31 21:01:57 -07:00
/dev/humancontroller
7b866ae96d guard against out-of-bounds jump table targets 2014-07-31 03:56:29 -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
SmileTheory
3d01543e2c OpenGL2: Replace R_MipMapsRGB() with faster version. 2014-07-22 11:43:19 -07:00
Pan7
f62d4c7f1c sayto cmd with player name completion 2014-07-18 00:15:05 +02: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
b12a9acf4d Merge branch 'master' (early part 2) into sdl2 2014-06-03 00:50:50 -05:00
Ensiform
af79d2cb38 Fix an invalid null deref check in the slider code. 2014-05-29 22:27:00 -05:00
SmileTheory
9efaf819dc OpenGL2: Really obvious optimization to previous commit. 2014-05-27 20:52:36 -07:00
SmileTheory
318d45cff5 OpenGL2: Reimplement MD3 tangent space calculation. 2014-05-27 18:20:12 -07: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
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
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
MAN-AT-ARMS
b9b67036f3 Rebuilt MSVC SDL 1.2.15 Revision 8040 import libs 2014-04-16 15:08:21 -05:00
SmileTheory
4fe69cb418 OpenGL2: Remove sRGB support, replace with gamma cvars. 2014-04-16 05:26:03 -07:00
MAN-AT-ARMS
880a7c6bec Add MSVC SDL 1.2.15 Revision 8040 import libs 2014-04-07 22:28:18 -05:00
MAN-AT-ARMS
d426ed307d Update SDL2 to 2.0.3 2014-03-24 19:13:56 -04:00
Zack Middleton
c55df2c9aa Merge branch 'master' into sdl2 2014-03-24 17:53:08 -05:00
Zack Middleton
73aa7ef2c7 Merge branch 'master' (early part) into sdl2 2014-03-24 17:51:57 -05:00
Tobias Kuehnhammer
63463d1bcf Fix compiling game VM with OBSTACLEDEBUG defined 2014-03-24 17:10:24 -05:00
Zack Middleton
9f3fd12501 Remove unused extern qboolean charSet
No variable even exists.
2014-03-24 12:47:14 -05:00
Tim Angus
3185ae6b1f Merge pull request #56 from MAN-AT-ARMS/net_stop
Release network bindings on shutdown
2014-03-24 14:35:34 +00:00
Tim Angus
1cbb5e9771 Merge pull request #44 from xhairball/features/add-vorbis-1.3.4
Add vorbis 1.3.4 support
2014-03-24 14:15:11 +00:00
Tim Angus
2393c8f44f Merge pull request #55 from MAN-AT-ARMS/status_command
Fix colored name padding and allow IPv6 address to fit in output of 'status' command
2014-03-24 14:12:06 +00:00
Tim Angus
9027365be6 Merge pull request #59 from MAN-AT-ARMS/sdl_1215_hg
Update SDL 1.2.15 to Revision 8040
2014-03-24 13:23:24 +00:00
SmileTheory
b099255748 #6095: OpenGL2: Use areamask and leaf cluster for PVS when VIS is missing. 2014-03-19 17:59:07 -07: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
SmileTheory
375f6247d4 OpenGL2: Parallax corrected cubemap (cheaper trick) 2014-03-16 16:29:38 -07:00
Zack Middleton
8455b5a833 Don't crash when fail to create SDL window 2014-03-15 17:54:00 -05:00
Tequila
baca82d64e Bunch of comment fixes 2014-03-13 02:20:54 +01: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
MAN-AT-ARMS
5e1011bf70 Update SDL 1.2.15 to Revision 8040 2014-03-09 09:24:54 -04:00
MAN-AT-ARMS
dafed0fd66 Update SDL2 to 2.0.2 2014-03-08 21:33:02 -06: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
MAN-AT-ARMS
11ed883298 OpenGL2: Set default normal/specular in RE_RegisterShaderFromImage 2014-03-04 20:31:31 -05:00
SmileTheory
ee67d0a981 OpenGL2: Add normalScale and parallaxDepth stage keywords and helper cvars. 2014-03-03 21:02:39 -08:00
SmileTheory
ea2810c085 OpenGL2: Minor GLSL shader improvements. 2014-03-03 17:32:07 -08:00
MAN-AT-ARMS
89fab090d7 Fix s_alDopplerSpeed default value 2014-03-02 23:00:46 -06:00
Ensiform
950dc7254a Fix native trap_BotMutateGoalFuzzyLogic 2014-03-02 22:53:15 -06:00
MAN-AT-ARMS
8661e0509b Release netowrk bindings on shutdown 2014-02-22 21:18:34 -05:00
MAN-AT-ARMS
94e36c288c Fix colored name padding and allow IPv6 address to fit in output of
'status' command
2014-02-22 20:47:18 -05:00
MAN-AT-ARMS
71386beaac OpenGL2: Fix pshadows for MDR models 2014-02-22 18:09:48 -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
MAN-AT-ARMS
6887a69064 Replace deprecated alDopplerVelocity with alSpeedOfSound per OpenAL 1.1 spec 2014-02-22 18:02:22 -06:00
SmileTheory
3740c55dec OpenGL2: Remove and force r_softOverbright. 2014-02-20 17:01:50 -08:00
Tim Angus
1250b352be Merge branch 'master' into sdl2 2014-02-18 10:30:35 +00:00
SmileTheory
5fabc28dff OpenGL2: Fix rendering when r_hdr = 0 and r_floatLightmap = 1 2014-02-14 22:41:25 -08: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
SmileTheory
78f8100d74 OpenGL2: Oops, set lightmap alpha to 1. 2014-02-14 03:31:54 -08:00
SmileTheory
7a23bb1c59 OpenGL2: Fix bug in ColorToRGBM(). 2014-02-14 02:52:22 -08:00
SmileTheory
79e9baedf8 OpenGL2: Set RGBM to use a multiplier of 1, and only use it with HDR lightmaps. 2014-02-13 18:04:23 -08: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
user
922d7044f6 Merge branch 'master' into features/upgrade-curl-7.35.0 2014-02-10 00:28:57 +00: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
hairball
1435e78454 Upgrade from libcurl 7.15.5 (2006-08-07) to 7.35.0 (2014-01-29)
Note: This uses the generic curlbuild.h because it is used by multiple platforms.
A system curl would have a configure generated one.

The libraries for win32 and win64 were cross compiled with these options:

  --disable-shared --enable-static --disable-ares --enable-http \
  --enable-ftp --disable-ldap --disable-ldaps --disable-rtsp \
  --disable-dict --disable-file --disable-telnet --disable-tftp \
  --disable-pop3 --disable-imap --disable-smtp --disable-gopher \
  --enable-ipv6 --without-ssl \
  --disable-manual --disable-libcurl-option

This effectively enables only HTTP and FTP protocol support.
2014-02-08 17:33:56 +00:00
hairball
cc40051839 Add vorbis 1.3.4 build support 2014-02-08 08:26:03 +00:00
Zack Middleton
ed087bb89e Merge branch 'master' into sdl2 2014-02-07 23:24:12 -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
hairball
2de340895f Upgrade libogg 1.3.0 to 1.3.1
This is a minor bugfix release with few changes
2014-02-08 03:38:01 +00:00
hairball
b0aed02823 Upgrade opusfile 0.2 to 0.5 2014-02-08 03:29:10 +00:00
hairball
9e0c602795 Upgrade opus 1.0.2 -> 1.1 2014-02-08 03:21:02 +00: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
Anthony Pesch
278d7533e5 restart the renderer after the hunk mark has been set 2014-02-01 09:58:49 -08:00
Zack Middleton
36a4075a8d Try default OpenAL driver if user set one fails to load 2014-01-27 20:09:55 -06:00
robo9k
1611188ef7 Fix check for jpeg_mem_ to work with libjpeg-turbo 2014-01-27 23:41:51 +01:00
Zack Middleton
cc9072d098 Check for buffer overflow for rail/lightning surfaces 2014-01-25 21:15:36 -06:00
Anthony Pesch
280b5269f8 don't clear screen during CA_LOADING and CA_PRIMED 2014-01-23 13:44:36 -08: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
Anthony Pesch
3603102088 don't call va each frame in GLSL_VertexAttribPointers 2014-01-14 13:19:15 -08:00
SmileTheory
eea652f5c5 Don't create images/framebuffers that won't be used, and add checks before use. 2014-01-12 20:52:36 -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
Anthony Pesch
25bde423b5 fixed formatting of a few GLSL float constants
remove unneeded version number from texturecolor shader
call GLSL_VertexAttribPointers after attribute arrays have been enabled
2014-01-11 17:43:19 -08: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
SmileTheory
bc2efc4870 #6077: OpenGL2: Add r_ignoreDstAlpha. 2013-12-17 04:08:25 -08: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
SmileTheory
623d107f42 OpenGL2: Small glsl shader optimizations, fixes, and cleanup. 2013-12-12 21:38:01 -08:00
Amanieu d'Antras
efe8437cde Fix crash in OpenAL when no input devices are available 2013-12-10 16:40:28 -06:00
SmileTheory
f6f3a19f73 OpenGL2: Support GL_ARB_vertex_type_2_10_10_10_rev for normals/tangents/lightdirs 2013-12-09 17:33:54 -08: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
IR4T4
ca23b626a0 r_noborder changes require a restart 2013-12-06 23:29:47 -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
37de879211 Add cvar_modified command
Based on cvarlist command, it only lists modified cvars.
2013-12-01 23:16:51 -06:00
James Canete
c02528cf1d Merge pull request #21 from cmf028/master
Fix glsl DEFORM_BULGE calculation
2013-12-01 19:33:51 -08:00
cmf028
e01b66aef5 Fix glsl DEFORM_BULGE calculation 2013-12-01 21:19:26 -06:00
Zack Middleton
0a4da32d62 Remove R_AddAnimSurfaces and R_MakeAnimModel prototypes 2013-11-30 03:16:05 -06:00
SmileTheory
ecc1f23b1d OpenGL2: Remove redundant GLS_* enum.
Thanks Xycaleth for pointing out.
2013-11-29 23:40:48 -08:00
SmileTheory
6f3edb20b8 #6069: Remove md4 model support. 2013-11-29 16:13:47 -08: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
Zack Middleton
ad514c9689 Merge branch 'master' into sdl2 2013-11-26 16:57:10 -06:00
Zack Middleton
2044bcb12d Silence warnings about unused static functions in opengl2 2013-11-25 15:27: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
SmileTheory
d63d7ba6bf OpenGL2: Use RGBA16F format for HDR.
RGB16F is not 4-byte aligned and not supported by certain hardware.
2013-11-20 00:48:18 -08:00
SmileTheory
e686010d73 #6059: OpenGL2: Read depths from resolve fbo when msaa is on in RB_TestFlare(). 2013-11-20 00:45:08 -08:00
SmileTheory
c350963bf2 OpenGL2: Match glsl data type names: matrix_t -> mat4_t, vec*i_t -> ivec*_t 2013-11-19 03:23:50 -08:00
Zack Middleton
3736968943 Merge branch 'master' into sdl2 2013-11-17 19:01:35 -06:00
SmileTheory
6e5f8cc918 OpenGL2: Calculate bitangent in shader, and store normal/tangent as normalized byte arrays. 2013-11-12 19:21:51 -08:00
Zack Middleton
a53e7c3074 Fix comparing unsigned values to < 0 in gl2 2013-11-11 01:12:42 -06:00
Ensiform
93be2655f8 Remove unused cvar_t variable cl_trn 2013-11-11 01:09:10 -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
SmileTheory
ae57eebf52 Merge branch 'glindex_size_fixes' of https://github.com/inolen/ioq3 into inolen-glindex_size_fixes 2013-11-08 22:19:32 -08: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
SmileTheory
ef9fe17dd5 OpenGL2: Remove srfTriangle_t, and use glIndex_t instead. 2013-11-08 01:46:17 -08:00
SmileTheory
d295db747c OpenGL2: Small optimizations and comments in world VBO creation and surface merging. 2013-11-07 04:03:52 -08: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
SmileTheory
7672533e8f OpenGL2: Prefer VBO/IBO sizes of around 4MB. 2013-11-05 20:07:10 -08:00
SmileTheory
8c3ae8d7d2 OpenGL2: Reimplement soft overbright to avoid a framebuffer blit. 2013-11-05 00:08:59 -08:00
SmileTheory
a7c5fc0ee7 OpenGL2: Some small shader optimizations. 2013-11-04 22:50:53 -08:00
SmileTheory
0e25d0357b OpenGL2: Revisit fragment tangent space calculation, and remove tangent space lighting. 2013-11-04 21:53:05 -08:00
SmileTheory
3846c115e6 OpenGL2: Reduce glsl shader count by using a uniform to disable textures. 2013-11-03 19:34:22 -08:00
Tim Angus
779ebfacfd Merge branch 'master' into sdl2 2013-11-02 19:12:52 +00:00
Tim Angus
7ae49cc237 Fix video recording sync drift (patch refactored but original author unknown) 2013-11-02 19:11:14 +00: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
5fdff01d1b Check #ifdef MACOS_X not #if MACOS_X 2013-10-20 13:58:30 -05:00
Zack Middleton
8c1d3c635c Use bundle icon on Mac OS X instead of internal 32x32 window icon 2013-10-19 01:54:58 -05:00
Zack Middleton
983ebbb4a6 Ignore -psn* arguments on Mac OS X
Mac OS X adds an argument starting with "-psn" when launched using Finder, Dock,
or a terminal using open command and not specifying arguments.

It caused the opening videos to be skipped.

This change mimics SDL 1.2.
2013-10-19 01:10:24 -05:00
Zack Middleton
cb153f2aaa Fix warning that SDL_GetKeyboardState return value is used non-const 2013-10-19 00:39:07 -05:00
Zack Middleton
c6a61d212a Fix SDL2 losing event subsystem
Quiting SDL Video or Joystick subsystem implies quiting the Event subsystem in SDL2.
SDL keeps track of number of init and shutdown calls for each subsystem.
Shuting down video or joystick more or equal to number of times they're inited will lead to event shutdown.

Toggling in and out of fullscreen or running in_restart twice causes SDL event subsystem to shutdown, making input not work.

If the console is closed, IN_GobbleMotionEvents gets stuck in a loop. SDL_PeepEvents returns -1 when there is an error, but we assume non-0 means read more events.

IN_ShutdownJoystick needs to check if joystick subsystem was inited before quitting it, otherwise we may cause SDL event subsystem to shutdown.
2013-10-18 16:31:19 -05:00
SmileTheory
535d0ea70e OpenGL2: Merge bsp surface structs into a single struct, and more cleanup. 2013-10-15 01:19:16 -07:00
SmileTheory
01efe4a538 OpenGL2: Use an idea from ETXreal and separate world VBO into separate VBOs by shader. 2013-10-14 03:58:13 -07:00
SmileTheory
08fcecc829 OpenGL2: Clean up texmod calculations, and improve vertex animation handling. 2013-10-14 01:55:54 -07:00
SmileTheory
f8355ba2fb OpenGL2: Fix TCGEN_ENVIRONMENT stages not rendering correctly. 2013-10-10 03:41:31 -07: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
SmileTheory
c6774cf113 OpenGL2: default to RGBM lightmap, and add r_floatLightmap for old behaviour. 2013-10-07 01:46:50 -07:00
SmileTheory
acbeca6042 OpenGL2: Remove AGEN_FRESNEL(superceded by cubemap patch), and some small fixes and optimizations. 2013-09-24 03:29:49 -07:00
cmf028
11c3bed74d Send key up events for the mouse wheel
Previous versions of SDL would send SDL_MOUSEBUTTONUP events for the mouse wheel immediately following the corresponding SDL_MOUSEBUTTONDOWN event
2013-09-23 12:21:21 -05:00
cmf028
7d83bba2d0 Set com_minimized to 0 when the window is restored 2013-09-23 12:21:21 -05:00
cmf028
d7444b8ca1 Don't set the window title twice 2013-09-23 12:21:20 -05:00
SmileTheory
82be4e667f OpenGL2: Disable GL_ARB_seamless_cube_map by default, caused huge frame drops on some hardware 2013-09-20 17:20:36 -07:00
Zack Middleton
fcaab903d1 Fix UI parse message for menu files
Missing a space after colon.
2013-09-19 21:41:27 -05:00
SmileTheory
3ab895d1cd OpenGL2: reduce varying usage in lightall shader. 2013-09-17 23:52:40 -07:00
SmileTheory
cbd05da5d1 OpenGL2: Fix for "unsupported framebuffer format" bug 2013-09-17 15:33:46 -07:00
SmileTheory
42501db862 OpenGL2: Some shader cleanup 2013-09-16 23:41:04 -07:00
SmileTheory
5985cca2e6 OpenGL2: Speed up fog shader slightly. 2013-09-16 23:20:44 -07:00
Tim Angus
76e49b668e Merge branch 'master' into sdl2 2013-09-16 22:34:51 +01:00
SmileTheory
a408a2bdae OpenGL2: Fix inaccurate RGBM calculation. 2013-09-16 14:26:42 -07:00
SmileTheory
e80faf812e OpenGL2: Use RGBM instead of RGBE encoding for lightmaps. 2013-09-16 05:57:14 -07:00
SmileTheory
7e875c6941 #5979: Cubemap support for opengl2. 2013-09-16 00:54:26 -07:00
Tim Angus
58b8cfa0b3 Various fixes from Fuma 2013-09-15 23:54:52 +01: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
Razish
61dd609aee Fix warning message in animation.cfg parsing functions
Signed-off-by: Zack Middleton <zturtleman@gmail.com>
2013-09-04 15:51:34 -05:00
Tim Angus
462694763e Bug #6021 Fix misuse of Sys_Mkdir (Joerg Dietrich) 2013-09-04 17:56:11 +01: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
Tim Angus
fb9270306b Fix initial window position being top left 2013-08-29 19:15:35 +01:00
Thilo Schulz
daf71ca502 Fix recursive crash when home path cannot be created 2013-08-25 12:00:30 +02:00
SmileTheory
311376af8a Fix upside-down SSAO. 2013-08-23 01:51:58 -07:00
SmileTheory
d46916082d #5999: OpenGL2: Don't use lightall shader with deforms or adjustColorsForFog. 2013-08-23 01:35:17 -07:00
SmileTheory
ebd164deaf #6004: OpenGL2: Make any CGEN_LIGHTING_DIFFUSE stages use lightall shader. 2013-08-23 00:55:28 -07:00
Tim Angus
273b9ab77e Update SDL2 headers... oops 2013-08-20 18:30:56 +01:00
Tim Angus
32a859c680 More updates to SDL2 libs from MAN-AT-ARMS 2013-08-19 23:19:29 +01:00
Tim Angus
e13773de69 Update prebuilt SDL2 libs for Windows 2013-08-18 18:23:14 +01:00
Tim Angus
e6d075e165 SDL2 libs for OSX, thanks to MAN-AT-ARMS 2013-08-18 18:08:03 +01:00
Tim Angus
bde7665462 Merge branch 'master' into sdl2
Conflicts:
	code/sdl/sdl_input.c
2013-08-16 23:34:08 +01: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
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
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
Henry Stratmann III
db85b61e94 Add assignment below declarations otherwise compiling fails with msvc
Signed-off-by: Zack Middleton <zturtleman@gmail.com>
2013-07-21 19:15:24 -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
Anthony Pesch
b0f0376a4f Misc fixes to IBO code to correctly use sizeof(glIndex_t) 2013-07-19 14:16:49 -07:00
morturp
7b47c6cf36 out seems to be unnecessarily large for one byte per pixel 2013-07-18 03:00:39 +03: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
Zack Middleton
4776fb4767 (bug #5984) Unload renderer lib 2013-07-08 16:36:30 -06:00
Zack Middleton
6b13806066 Fix getting servers from and being listed on id's q3 master server
Use q3 master protocol when com_gamename is Quake3Arena (the default), otherwise use dpmaster protocol.
2013-07-07 16:31:36 -05:00
Zack Middleton
608e852ac6 Free Team Arena fonts/fontImage_X.dat buffer
Caused temp memory to be present all the time, so Hunk_Alloc ignored memory low/high preference.

May have caused other issues as well.
2013-07-04 15:34:05 -05:00
morturp
213b8e2435 Prevent the skip of the glyph if it does not fit 2013-06-26 11:42:59 +03:00
Zack Middleton
d79fe65878 Fix r_mergeLightmaps 0 crashing OpenGL2 renderer
tr.fatLightmapStep was 0 and caused modulus division by 0.
2013-06-20 21:56:04 -05:00
Zack Middleton
872465500e Fix r_nocurves in OpenGL2 renderer
Check r_nocurves in surface cull.
While r_nocurves is enabled, don't use merged surfaces because merged curves would be renderer. (note: surface merging is enabled by r_mergeLeafSurfaces)
2013-06-20 16:27:00 -05:00
Zack Middleton
323e8b9921 Fix r_speeds 4 in OpenGL2 renderer 2013-06-20 16:21:26 -05:00
Zack Middleton
aa2ea68741 Fix IQM tess buffer overflow
Set the variables that use tess.numVertexes after calling RB_CHECKOVERFLOW() as it may set tess.numVertexes to 0!

Could cause visual issues and error "RB_EndSurface() - SHADER_MAX_VERTEXES hit".
2013-06-18 18:00:45 -05:00
Zack Middleton
cb2fa48d65 Only allow model meshes to have SHADER_MAX_VERTEXES - 1 vertexes
The last index is used to check for buffer overflows. See RB_CheckOverflow and RB_EndSurface.
2013-06-18 17:02:47 -05:00
Zack Middleton
00c1831edb Don't try to fog flares with fogNum 0
fogNum 0 means no fog. Shaders don't try to apply fog color if fogNum is 0.

This was done to make things more consistent and fix a crash in iortcw MP using a user made map on GNU/Linux x86_64.
2013-06-11 15:47:00 -05:00
Tim Angus
7b15415042 Rate limit getchallenge 2013-06-10 20:31:15 +01:00
Zack Middleton
2937ac7661 Allow adjusting VoIP gain and mute during SP demo playback 2013-06-04 23:19:47 -05:00
Zack Middleton
e89a1b9f8e Allow adjusting VoIP gain and mute during demo playback 2013-06-04 23:02:23 -05:00