havoc [Fri, 6 May 2005 11:28:31 +0000 (11:28 +0000)]
moved mod_shared.c detail texture and distortion texture stuff to gl_rmain.c (renamed mod_shared_* to r_texture_*)
got rid of unused mod_q1bsp_novis array
moved Mod_Q1BSP_Collision_Init into the boxhull code (which isn't even used anyway)
made r_restart reload models (as was intended) by making Mod_UnloadModel preserve the ->use field
havoc [Fri, 6 May 2005 06:09:33 +0000 (06:09 +0000)]
removed a clear of names in the render modules init code, this allows it to be called AFTER some modules are registered (for a minor cleanup of the Host_Init code)
havoc [Fri, 6 May 2005 00:36:07 +0000 (00:36 +0000)]
added cl.movement_velocity to allow view bobbing to match up with cl_movement
fixed some bugs in cl_movement timing, it now applies input to the next move not the current one, making it work properly (assuming cl_movement_latency is exact)
black [Thu, 5 May 2005 12:48:43 +0000 (12:48 +0000)]
-Changed the SDL window icon back to DP's icon.
-Cmds, Cvars and Aliases are now inserted at the right alphanumerical
position on creation.
-Fixed a bug in the serverlist which caused it to not mask entries properly.
havoc [Wed, 4 May 2005 20:14:06 +0000 (20:14 +0000)]
changed cl_movement_latency to be in milliseconds rather than seconds (less confusing because of ping being milliseconds)
added code to remove 'impossibly far into the future' movement queue items (useful if latency is set to a high value initially and then lower, this will remove the stale high latency items)
relocated the CL_SendMove call to put it at the end of network parsing (and only called if there was an svc_time message in this packet), this should greatly improve consistency of ping times and input sending (which was sometimes falling way behind with lag), no longer uses sys_ticrate to control input frequency
changed CL_TraceLine to CL_TraceBox and made it return a trace_t
worked on CL_ClientMovement function for clientside movement simulation (not working yet), this has many cl_movement* cvars associated with it which will be updated by the server at some point in the future
added (currently unused and not updated) cl_gravity and cl_slowmo cvars, which the server will be setting at some point in the future
slight cleanup of surface clipping code (got rid of a rather redundent function)
major bugfix to surface portal clipping, lights should hit all the right surfaces now
fixed CL_SendMove packet rate limiting to not have a heartattack when going from singleplayer to multiplayer (this was causing the player to be stuck in place for a very long time)
added cl_capturevideo_sound (defaulted to 0) to allow enabling/disabling sound saving, with sound disabled you can save videos at a framerate your machine can't maintain (no sound sync to worry about)
reimplemented rtlight portal culling (used for compiled rtlights, and can be used for dlights but that is often a major speed loss)
added additional bounding box and triangle facing checks to rtlight compilation, triangles outside the box are no longer drawn
r_shadow_staticworldlights has mutated into r_shadow_realtime_world_compile, r_shadow_realtime_world_compilelight, r_shadow_realtime_world_compileshadow
added r_shadow_visiblelighting
fixed a stupid bug in SV_PushMove that made it ignore the first entity in the move box
fixed a rotation check in SV_PushMove so that it would detect roll rotations without pitch/yaw
gl_texture_anisotropy now only affects TEXF_MIPMAP textures which should fix a number of 'wandering off the lightmap' issues (as well as similar issues with model skins, as they are not mipmapped)
texture images now take on the TEXF_FORCENEAREST and TEXF_FORCELINEAR flags from the textures placed in them (as was intended), so gl_texturemode changes
should no longer affect them
default to insert mode instead of replace mode in console
get rid of stupid cursor right at end of line behavior in console, repeating characters from the previous edit line is annoying
allow typing characters > 126 in console
changed R_Shadow_RenderLighting to do full base+pants+shirt+gloss rendering in one call (will optimize the rendering itself later to merge some of the passes)
made dland2.wav not play in GAME_NEXUIZ
no longer runs physics on disconnected clients (quake did not run them), fixing the physics problems with frikbots, thanks to FrikaC for explanation of this problem
black [Thu, 14 Apr 2005 20:45:08 +0000 (20:45 +0000)]
-Added the parameter 'persistent'(naming?) to Draw_CachePic, which decides
whether the texture is loaded in texture memory directly or only on demand.
-Adapted all Draw_CachePic calls (I'll do some corrections, atm most of them
pass persistent := false)
LoadTGA is now more compliant with the TGA spec regarding colormaps (they can be present even on a truecolor image, just not used by it) and attributebits (alpha is now ignored if attributebits is not 8 which fixes a number of malformed TGA files (though they still waste disk space) - note that attributebits is part of the attributes header byte)
changed color codes to match Quake3
changed chat coloring in Nexuiz to use yellow, instead of shifting to upper 128 characters, this should open up the possibility of 8bit fonts in Nexuiz (for multilingual chat)
consolidated many mempools to make memlist more readable (and very slightly reduce memory usage)
changed gltexture_t->identifier from a pointer to an array to reduce the number of allocations per texture (now 2-3 rather than 3-4)
made all MAX_EDICTS arrays in entityframe5_database_t adaptive size to reduce server memory usage
reduced client memory usage by 29MB by making cl_max_entities dynamic (starts out at 256)
cleaned up cl_num_entities to be more generally useful, it is only increased by network entities, this should speed up some code (by using cl_num_entities instead of MAX_EDICTS or cl_max_entities)
optimized surface rendering to surface->groupmesh->data_* array pointers directly instead of indexing them with surface->num_firstvertex, this allows fewer pointer changes (a small speed gain)
fixed stupid bug in q1bsp texture loading which was making all missing textures invisible
changed portal generation to not break when a portal is clipped away, this fixes a crash at render time with bogus portals
changed r_drawportals to only draw portals surrounding the visible leafs (speed gain, but also useful for debugging vis glitches)
Fixed getserversResponse parsing:
* serverquerycount was incremented even when it didn't query this server
* if the list contained a server that was already queried, the remaining servers were ignored
havoc [Mon, 28 Mar 2005 11:32:47 +0000 (11:32 +0000)]
changed surface->mesh to surface->groupmesh and added num_firsttriangle and num_firstvertex fields to msurface_t, this cuts the msurface_t size from 120 bytes to 88 bytes, causing a 3.5% speed gain in a 37000 surface benchmark scene
havoc [Mon, 28 Mar 2005 06:54:34 +0000 (06:54 +0000)]
moved a number of msurface_t fields to a separate msurface_lightmapinfo_t structure which is allocated only for q1bsp maps, to save some memory and save some memory bandwidth (as these fields are not often accessed)
moved collision triangles/vertices information out of surfmesh_t and into msurface_t