Monday, June 29, 2009

1.6.3 Progress Update

Been a while since I posted a progress update list, so here's what you can expect from 1.6.3 so far:

  • Fixed wrong version number in Window title.
  • Amalgamated readme docs for previous versions.
  • Partially implemented fixed path on world and alias models.
  • Removed d3d_Device->SetTransform calls (I feel silly for having left them in so long...)
  • Added improved state management.
  • Removed TimeRefresh command.
  • Improved effect pass switching; should no longer switch to a pass if nothing is drawn in that pass.
  • Improved BeginScene/EndScene calls to conform with specification and documentation.
  • Removed silly translucency check.
  • Modified vis loading so that decompression is done at load time.
  • Restored anti-wallhack code and added cvar to toggle it (sv_antiwallhack, default 1).
  • Fixed bug where D3D lighting was not being disabled.
  • Enforced correct default states in the state manager and in the renderer.
  • Added enhanced smoke trail particles (r_newparticles 1, default 0).
  • Removed framerate dependency from particle system (and anything else using r_frametime for updates).
  • Removed framerate dependency from dynamic light system.
  • Fixed bug where water surfs, particles and sprites were potentially rendered with an invalid depth bias.
  • Added sv_pvsfat cvar to control how fat the fatpvs is; default 8, set to higher values to fix disappearing models in some maps.
  • Fixed bug where an entity that touches MAX_ENT_LEAFS, none of which are in the PVS, but the entity should be visible, is not transmitted.
  • Added improved entity leaf touch detection as a consequence of the above (functionally identical to old way).
  • Removed restriction on number of leafs an entity may be in.
  • Adjusted brushmodel loader so that leafs and nodes are in contiguous memory.
  • Optimised surface index loading to make map loading substantially faster.
  • Substantially optimised other areas of map loading; maps should now load about 10x faster than 1.6.2
  • Optimized memory allocations in a more general manner for faster map load times.
  • Reworked Cvar_Set (cvar_t *, float) and Cvar_Set (char *, float) to prevent value round-tripping through a char *.
  • Added gl_clearcolor command (and _gl_clearcolor cvar, not intended to be used directly) to control background clear colour; default 0 (black).
  • Added r_lightscale cvar to help rebalance really bright or really dark maps (default 1).
  • Fixed hard crash when you try to run a mod that uses rogue/hipnotic/quoth content without having r/h/q in your gamedirs.
  • Added support for DXT1, DXT3 and DXT5 texture compression.
  • Moved hud_overlay, hud_sbaralpha, hud_drawsbar and hud_drawibar to CVAR_ARCHIVE for performance boost.
  • Changed sv_antiwallhack default to 0.
  • Allowed TAB key in demos to display current scores (this is hard-bound, even if you have TAB bound to something else).
  • Restored automap code (toggleautomap command, bind to "m" or something) - not very robust or performant right now.
There are two bugs I want to kill off before releasing, one is a hard crash in CL_NewTranslation when the game changes (I suspect nearly all of this function may be a WinQuake relic - the latter half certianly is - and therefore not needed, but I need to confirm), the other is a fairly bad excessive darkening in the polyblend overlays.

3 comments:

=peg= said...

i noticed that 1.6.2 crashed when entering the demo menu while not having any previously recorded demo's.. (i deleted demo1, demo2, demo3 from my .pak years ago ;))

as soon as i manually recored a demo from the console all (using the demo menu i mean) worked fine after that..

keep up the good work! looking forward to 1.6.3 :D

k.r. =peg=

mhquake said...

Ah, I thought that might happen but had expected nobody would be crazy enough to have deleted all their demos. Guess I was wrong. :)

Chris said...

Some more feedback on the last DirectQ release - experienced soft crashes on a bunch of Quath maps everytime I killed one of the flying robot thingies (at least I think I killed them) - it was at that moment that it crashed to console with the following message (may not be word perfect but you should get the gist)

Host Error CL_ParseServeMessage Illegal Server message

Cheers, kempie