Post news RSS Xash3D Engine v0.99, build 4097 (beta) is released!

In usual anniversary of Xash3D Unkle Mike has released new beta-version of the engine. This release is very close to version 1.0, many things are changed or added, but hereupon they should be carefully tested for proper work.

Posted by on

In usual anniversary of Xash3D Unkle Mike has released new beta-version of the engine. Check Files section to download it. This release is very close to version 1.0, many things are changed or added, but hereupon they should be carefully tested for proper work. So don't be lazy, please report about any technical issues or unforeseen discrepancies from standard game's behaviour.

Don't forget to install engine's files properly, including extras for "valve" folder. Otherwise some things will not work as intended or will not work at all. Detailed manual is here. For questions about mods' support refer to this article. Remember that some nowaday mods (or their new versions) which require Steam interfaces are not supported (or have to be patched by old versions of their game dlls to work with Xash3D). Also most of multiplayer mods were not tested thoroughly, but if you have your own experience & found some problems, please report. In most cases, any mods which worked correctly with old WON version of Half-Life, should work correctly with Xash3D too.

As with previous pre-release & experimental builds, the same rule works for build 4097 too: DO NOT USE it with outdated Xash3D games/mods, such as XashXT, Paranoia 2: Savior, Quake Remake. They are not updated yet and will not work with new version of the engine.

Here is a list of changes which were made since previous public build 3887 to current 4097.

  • Engine: new version of extended BSP30 map format (increased clipnode limits, adjustable lightmap resolution, per-vertex lighting etc)
  • Engine: BSP31 is obsolete now and removed from the engine (please use bsp31migrate.exe tool to convert your old BSP31 maps into new extended BSP30 format)
  • Engine: mextrasurf_t reorganized, please check the source code
  • Engine: event API reorganized, two old functions were removed & one new added
  • Engine: engine feature ENGINE_FIXED_FRAMERATE is no longer supported
  • Engine: RenderAPI changed to version 37 and reorganized
  • Engine: some unused functions from undocumented part of the game and client interface were replaced by stubs
  • Engine: demos protocol changed to version 3
  • Engine: implemented "timedemo" command
  • Engine: fixed very old bug in CheckParm export function (internal version were not bugged)
  • Engine: new queue system for map changing (not stuck with Cbuf_Execute)
  • Engine: experimental function CL_ChangeGame removed from the engine
  • Engine: enabled interpolation for addangle (fixangle = 2)
  • Engine: added a handle for exception in Q_vsnprintf to prevent engine's crash on the error of formatted args
  • Engine: new polymorphic BSP loader
  • Render: mirrors are not supported anymore and have been removed from the engine (but will be kept maintained by such mods as XashXT or P2: Savior)
  • Render: allowed colors remapping for alias player models (for Quake 1)
  • Render: tuned up intensity of dynamic lights (affects alias and studio models)
  • Render: enabled built-in MSAA feature ("gl_enable_msaa" cvar in opengl.cfg)
  • Render: fixed bug of "sticky bind" on texture's uploading
  • Render: most of internal procedural textures have been moved out from the engine (kept only those textures which engine is using itself)
  • Render: fixed VERY old (since Quake 1) bug of R_LightPoint which has contained inaccurate color samples from lightmap and produced invalid results in some cases
  • Render: added new extension of BSP file format (lightmaps which are based now on luxel per units instead of luxel per texels). Also check P2: Savior compile tools, they allow to use this new feature.
  • Render: fixed bug of sorting STUDIO_NF_ADDITIVE meshes in studio models (old Half-Life bug)
  • Render: fixed perfomance-killing water subdivision bug on water's rendering
  • Render: "r_drawentities 7" now shows world position of luxel for lighting
  • Render: removed all unused GL-extensions
  • Render: fixed 16-bit color mode and NPOT textures case
  • Render: now, if video subsystem's initalization is failed, game shows system error instead of switching into dedicated mode
  • Render: removed rotational sky's support (it just never be used by anybody)
  • Client: implemented predictable laser spot for RPG weapon
  • Client: rewritten HudSprite manager to allow the download of missed HUD sprites
  • Client: rewritten SPR_GetList to prevent memory leak (old Half-Life bug)
  • Client: getAppID changed to 70
  • Client: single export for client.dll renamed to GetClientAPI
  • Client: added mp3 command like in GoldSrc (warning - not tested yet)
  • Client: cvar value request can now detect mismatches between cvar.string and cvar.value to detect potential cheaters
  • Client: added built-in resource paths to list downloadable resources
  • Client: revision of tempents code, fixed some bugs
  • Client: EF_MUZZLEFLASH can work now for alias models (Quake 1)
  • Server: fixed problems with russian letters in chat
  • Server: "decalfrequency" parameter is stored now into config.cfg
  • Server: implemented instanced baselines (which can be specified by user)
  • Server: implemented resource consistency check (model CRC and bounds)
  • Server: first implementation of server's game log
  • Server: "changelevel" command is not supported anymore (only internal changelevel is possible)
  • Server: "kill" command moved from server to the client
  • Server: new save/restore system which supports saved games made with GoldSrc (but old Xash3D saves are not supported from now on, also backward compatibility of new Xash3D saves with GoldSrc is not guaranteed & wasn't tested)
  • Server: implemented server FPS control called "sv_fps" (use with precaution)
  • Server: fixed some bugs in unlag system
  • Network: network connection completely rewritten to allow downloading and uploading of files (missing resources, player logos)
  • Network: first implementation of player's customization (logos)
  • Network: network protocol changed to version 49
  • Network: implemented a sign-on sequence
  • Network: max size of user messages is increased up to 2048 bytes
  • Network: IPX protocol is no longer supported and has been removed
  • Network: new experimenal system to get maximum pack size for UDP (official size is 1200 bytes, but in theory it can be increased up to 64000 bytes)
  • Network: new generic resource system which includes sounds, models, events, decals and all other types
  • Network: StudioDecal message moved out from the engine completely
  • Network: fragmented packets now can be compressed by LZSS algorhytm
  • Console: mapinfo now shows information about editor and compiler
  • Console: debug messages system rewritten as in Quake (Con_Printf instead of MsgDev)
  • Console: fixed ConsolePrint to allow messages to go only into notify buffer
  • VGUI: CEngineApp class declared as static
  • VGUI: rewritten Font manager, enabled vertex arrays support
  • GameUI: import interface updated by two new functions (save file and remove file)
  • GameUI: fixed old crash of playersetup and changelevel on a background map
  • Sound: fixed save/restore bug with static sounds
  • Sound: some minor changes in DirectSound backend code
  • Memory: fixed bug in Mem_CheckFilename

If you'd like to support Unkle Mike and inspire him for further development of Xash3D, you can donate him some money via:


Thank you for working on this, i'm seriously sad that valve doesn't just accept this project and pay you to finish and make it official .

Reply Good karma Bad karma+1 vote

What mods turned playable now?

Reply Good karma Bad karma+1 vote
Qwertyus Author

This update includes mostly fixes and improvements for engine itself, rather then for compatibility with mods.

Reply Good karma+1 vote
Qwertyus Author

I was a bit surprised, but this build fixes a problem of crashes in Half-Life: Decay, as I found this in my latest tests!

Reply Good karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.