Commit graph

46 commits

Author SHA1 Message Date
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
cc9072d098 Check for buffer overflow for rail/lightning surfaces 2014-01-25 21:15:36 -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
0a4da32d62 Remove R_AddAnimSurfaces and R_MakeAnimModel prototypes 2013-11-30 03:16:05 -06:00
SmileTheory
6f3edb20b8 #6069: Remove md4 model support. 2013-11-29 16:13:47 -08:00
Zack Middleton
8af9516e88 End current draw surface before drawing cinematic
Fixes drawing StretchPic *before* CIN_DrawCinematic resulting
in cinematic being drawn before the StretchPic.
2013-11-20 21:37:17 -06:00
Zack Middleton
d526eacd10 Fix flares being invisible after vid_restart
flareCoeff was only set if r_flareCoeff cvar was set as modified.
Cvars are set as modified when created or changed.
2013-11-09 16:57:58 -06:00
Zack Middleton
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
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
e4227d1cd5 Revert "5097 - Menu corrupted on start (on IRIX)"
Calling glClear( any bits ) in GL_SetDefaultState makes connect screen black using the proprietary NVidia driver on Windows and GNU/Linux.

This reverts commit 92573270de.
2013-10-08 08:01:00 -05:00
Zack Middleton
27ddba9c2e Fix crash caused by too many surfaces in skin 2013-09-04 20:36:45 -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
Zack Middleton
d4f785c465 Improve warning for shader missing opening brace 2013-06-02 21:59:01 -05:00
Zack Middleton
3ec2b02dce Check for shaders without closing brace
Shaders without closing brace can eat shaders in other files.
Pass depth to SkipBracedSection instead of reparsing text as it messed up parse line numbers.
2013-06-02 21:55:19 -05:00
Zack Middleton
6c4d010f29 Fix null model axis disappearing if sky is in view 2013-05-31 01:07:49 -05:00
Zack Middleton
eb73dcb7f4 Catch more bad shader syntax cases
Use to only ignore file in cases where both { and \0 were missing after shader name. Now ignore file when either are missing, such as "}\0".
2013-05-30 22:58:58 -05:00
/dev/humancontroller
9e9d6fa52c clean up return statements a bit more 2013-05-30 15:43:21 -05:00
/dev/humancontroller
9d626b6a12 drop some useless return statements 2013-05-30 15:43:21 -05:00
/dev/humancontroller
bbd17d75ce reduce the amount of compiler warnings for variable shadowing 2013-05-30 15:43:20 -05:00
Zack Middleton
0c3ec34db9 Allow drawing sun in OpenGL1 renderer
Removed #if 0 ... #endif around RB_DrawSun().
Merged improvements and changes from OpenGL2 renderer.
2013-05-27 14:52:18 -05:00
Ensiform
53bbfc2cd6 Remove unused renderCommandList variable from renderers 2013-05-13 12:08:16 -05:00
Zack Middleton
ee7bd0cae6 Show surface names in excessive vertexes and triangles warnings
Add newlines to renderergl2's R_LoadMD3 vertex and triangle warnings.
2013-05-03 14:28:18 -05:00
Tim Angus
98360bcd57 Fix some of the things clang --analyze flagged 2013-03-26 16:50:03 +00:00
Zack Middleton
98dda7758f Always initialize joint_names in R_LoadIQM
Reported by MAN-AT-ARMS
2013-03-18 15:55:25 -05:00
Zack Middleton
bf962c516d Fix loading and rendering IQMs with no joints 2013-03-18 14:13:09 -05:00
Tim Angus
ecd50f01c2 Remove RAVENMD4 #define 2013-03-18 19:05:51 +00:00
SmileTheory
9eef320c91 Remove some more automatic sRGB image flags. 2013-03-12 22:00:51 -07:00
Tim Angus
3e92679100 Fix USE_FREETYPE breakage 2013-03-12 19:41:52 +00:00
Tim Angus
37c69a8009 Move renderers a bit closer together 2013-03-12 17:52:29 +00:00
Zack Middleton
89ee8b050f Fix size reserved for IQM jointMats (allocated more than used) 2013-03-08 15:28:27 -06:00
Zack Middleton
8aa6efe7b6 Fix origin returned by IQM's LerpTag
It use to return pose joint's offset from base at the lerped frame, now it returns the joint's origin at the lerped frame.

Patch by Axel Isouard and Zack Middleton.
2013-03-08 13:47:16 -06:00
Zack Middleton
c7059fbf28 Move noise function declations to tr_common.h
tr_noise.c is in renderercommon directory, so declare them in header there too.
2013-02-27 15:35:02 -06:00
Tim Angus
2da0fd6de8 Add renderercommon/tr_common.h 2013-02-16 20:58:04 +00:00
Tim Angus
93e6183ce3 Move some things into renderercommon 2013-02-16 12:15:36 +00:00
Zack Middleton
92573270de 5097 - Menu corrupted on start (on IRIX) 2013-02-15 20:14:02 -06:00
Tim Angus
f6fb9eb602 renderer -> renderergl1, rend2 -> renderergl2 2013-02-15 23:46:37 +00:00