Fix again u8_COM_StringLengthNoColors returning always 0 if end is NULL (strlennocol case), and counting 1 less character if the last character is multibyte and end is not NULL
New command 'history' and new shortcuts to search through the commands history
ctrl-, goes to the first command of the history
ctrl-. goes to the last command of the history
type a string (wildcards allowed) and
ctrl-f prints all the matching commands
ctrl-r searches backwards
ctrl-shift-r searches forwards
The last 2 shortcuts also point the history's index to the matching command but without fetching it to let one continue the search. To fetch it, it suffices to just press UP or DOWN.
Fix a possible crash when an invalid skinframe gets accessed after cl.time steps backwards (e.g. due to time syncing) right after an entity has been created. Might fix the steel storm crash, but certainly IS a segfault on unstable network connection. Note that a%b can be negative for a<0, b>0 (unlike mathematical 'mod' operation, C '%' is based on rounding towards zero)
allow bgmvolume to be > 1 to be able to exceed mastervolume (but this and other "> 1" values are still clamped to 10, i.e. 10 dB); apply ReplayGain in SND_Spatialize instead of early when setting channel volume to better guard against clipping
Fix GAME_XONOTIC beging misplaced in gamemode_t->gamemode_info causing "gamemode" to be initialized wrong. CSQC now knows "view_punchvector" and "view_punchangle" globals which is what it used to be.
fix some bugs in the HLSL shader, mostly to do with r_shadow_deferred
change texture unit for shadowmaps to 15 rather than 11 because this fixes a conflict between r_shadow_deferred 1 and r_shadows 2
enable Tomaz's PIX-friendly shader debugging code if gl_paranoid is 1
made CHECKGLERROR not crash if qglGetError is NULL (as in D3D9 renderer for example)
remove r_shadow_texturetype cvar (now always uses 2D textures), remove shadowmap cube and rect support
removed GL_ARB_texture_rectangle texture support throughout engine (nothing using it)
refactored D3D9 path in R_Mesh_SetRenderTargets in unsuccessful attempt to fix D3D9 shadowmapping
Added debug shaderflags used by the shader compiler which is needed to debug the shaders in pix
Also added saving of vertstring and fragstring to disk and D3DXCompileShaderFromFileA to load them, this helps when debugging shaders in pix ( all commented out )
change D3D9 implementation of TEXTYPE_SHADOWMAP textures to use CreateDepthStencilSurface instead of CreateTexture, this fixes lots of errors (PIX works, REF rasterizer works, etc)
implement freeing of D3D9 textures
disable the texture size padding on D3D9 as it was not the cause of PIX trouble
on D3D9 renderer do not allow textures to be uploaded with a size smaller than 2xN or Nx2 because the REF rasterizer refuses these (which makes PIX debugging hard)
Set r_shadow_shadowmap2dcolortexture as first rendertarget when doing shadowmaps, sadly this didn't fix the shadowmaps but it at least fixed the white sky.
new cvars: r_drawparticles_nearclip_min and r_drawparticles_nearclip_max, use a range and fading for near clip of particles for speed optimization (fade them out before they become fullscreen)
reorganize sv_public code; add a level -3 that blocks at getchallenge level, but -2 blocks at connect level (srcon needs getchallenge, so -3 also blocks srcon); also sv_public -2 will make connect attempts show the string in sv_public_rejectreason
optimize R_AnimCache_UpdateEntityMeshBuffers to use memcpy instead of VectorCopy, Steel Storm 150fps -> 167fps (now only effective in D3D mode, as this path is usually not used any more in OpenGL)
Since u8_prevbyte skips invalid chars on purpose, it can go before the ] if invalid utf8 chars get pasted in the console edit line. It's even possible to delete the ].
Fix this bug by giving to u8_prevbyte the edit line without ].
added arg: connect-userinfo; works like this: "connect server password foobar" will connect to server, and add \password\foobar to the infostring (works to connect to FTEQW passworded servers)
havoc [Sun, 29 Aug 2010 11:02:44 +0000 (11:02 +0000)]
overhauled mod_q3bsp_lightmapmergepower code, to fix very weird bugs
with misnumbered lightmaps, and make all textures in the set the same
size (better performance on drivers that dislike texture size changes)
havoc [Fri, 27 Aug 2010 19:18:33 +0000 (19:18 +0000)]
don't use sv_gameplayfix_stepmultipletimes by default (except in Nexuiz)
this fixes an sv_jumpstep-like behavior seen in quake dm2 where you have
difficulty falling into lava pits
divverent [Fri, 27 Aug 2010 14:18:30 +0000 (14:18 +0000)]
vid_sdl: also upload a smooth netwm icon if possible, by fetching the X11 window ID and using Xlib code on it (code is inactive on SDL 1.3+, as 1.3 supports NETWM icons natively)
divverent [Fri, 27 Aug 2010 05:43:07 +0000 (05:43 +0000)]
GLX: use _NET_WM_ICON additionally to the xpm icon for most current window managers
_NET_WM_ICON is generated from darkplaces-icon.tga, darkplaces-icon2.tga, darkplaces-icon3.tga in this order
NOTE: at least GNOME displays the first icon only, so this one should have a nice resolution like 64x64
havoc [Tue, 24 Aug 2010 17:26:01 +0000 (17:26 +0000)]
overhauled dynamic vertex rendering in DX9 based on research by mh that showed the DrawIndexedPrimitiveUP function is many times faster than using dynamic vertex buffers
applied a patch from mh to the D3D Present handling to better cope with lost devices
havoc [Mon, 23 Aug 2010 15:09:37 +0000 (15:09 +0000)]
split and overhauled R_Upload into two functions:
R_UploadPartialTexture - does a partial update for real, not used by
anything if gl_nopartialtextureupdates is on
R_UploadFullTexture - takes only new pixel data, does appropriate
scaling and uploads to video memory
havoc [Thu, 19 Aug 2010 14:36:01 +0000 (14:36 +0000)]
load d3dx9_*.dll dynamically to get D3DXCompileShader to fix a compile
error with mingw headers, this also means it doesn't matter which
version is present on the user's system
havoc [Thu, 19 Aug 2010 14:33:10 +0000 (14:33 +0000)]
reworked makefile a little bit to support DX9 renderer, add D3D=1 to
your make line to use it
now WIN32RELEASE and WIN64RELEASE do something useful (correct options
for 32bit and 64bit compiles)
divverent [Thu, 19 Aug 2010 07:31:49 +0000 (07:31 +0000)]
cs_*project: as both 2D and 3D rendering are confined to the viewport, it SHOULD be right to totally ignore the viewport in these functions. I may be wrong here though.
divverent [Fri, 13 Aug 2010 18:42:44 +0000 (18:42 +0000)]
In the apropos command exclude \n from being filtered by wildcards for alias values (an alias value always got a final \n).
For example, apropos ? returned a bunch of aliases with empty definitions
divverent [Fri, 13 Aug 2010 18:42:38 +0000 (18:42 +0000)]
Fix issues with matchpattern_with_separator
Wrong results in case wildcard_least_one is:
- false: *rc*.cfg finds quake.rc
- true: quake.*rc finds quake.rc