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
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
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