Jan 282015

I just realized I never posted here about my own replacement ref_soft.dll that adds colored lighting and widescreen waterwarp support to the Quake 2 software renderer.   Alphatest and transparency are improved as a bonus.  darklights work.  Not to mention the ddraw palette problem fixed- this one only uses DIB even for fullscreen! Knightmare’s ‘unofficial Q2 patch’ 3.24 is supported, although haven’t tried it on any others.

Unsigned short fix (thanks to Knightmare for the tip) http://forums.inside3d.com/viewtopic.php?f=3&t=5308]

Oh, yeah, and there’s a cvar called ‘sw_transmooth’ that dithers transparent surfaces.

Download dll: http://qbism.com/_extfiles/ref_soft_color.zip

Source code: http://qbism.com/_extfiles/ref_soft_color_src.zip

Notes about the code- It can be copied into the 3.24 source folder. (Make a backup for this purpose.) But I don’t have VC 6, so I built it with VS 2013 (project included in the ref_soft folder).
This started with the colored light code leilei added to stock Q2. Shaded light was completed among other things with head-scratching and borrowed pieces of engoo. Waterwarp improvement and dithering are from AROS Quake2.

That orange. r_lightsaturation = 2

Maric’s ‘The Blue Devoid’


Jan 272015

Description (translated)

The essence of the project: the renderer for Quake II

Platform: Windows (x86, x86-64), a processor with MMX, SSE3

I decided to improve software rendering of Quake II, bringing it to the level of OpenGL rendering, or yes software renderer games such as SiN, Unreal, Half-Life.
In the process of development everything is implemented , and it remains only to increase productivity and fix a few bugs (if any).

• 32-bit TrueColor rendering (no palette!)
• Colored lighting world (lightmap), with Peresvet
• Dynamic lighting world (dynamic lightmap)
• Povershinnoe lighting models of dynamic light sources
• Texture filtering, Dithering, mipy
• 32 -binoe sky
• Do not need a video card
• Hardware gamma correction
• Exponential fog

Source code: https://github.com/Panzerschrek/Q2PR
Local mirror:  Q2 Panzerschrek.7z

Jan 182015

Lots of new stuff here, so it will be called a ‘beta’ for now.  Please report any bugs in the comments or on inside3d.com.

qbism Super8 v230 setup.exe  or  qbism Super8 v230.zip


  • Added bsp2 and 2bsp map format support for mods like the Rubicon Rumble Pack and Something Wicked.
  • A custom palette for Rubicon Rumble:  in console, type ‘r_palette rrumble’ and restart.
  • Support of alpha entities (glass) and colorkey textures (fences and grates).  But there’s a limitation/ performance enhancement for now:  super8 only does one transparency pass.  That means glass won’t show through another layer of glass for example.  This will be noticeable in maps like locust.bsp where there are multiple layers of glass and grates.
  • Added -game2, -game3, and -game4 startup parameters for ‘stacking’ of multiple game directories.  Advanced feature for mod development.
  • Protocol change to reduce sign-on packet size below the maximum.  The upshot is that old super8 demos won’t play.
  • The super8 directory includes a pak with corrected mdl and bsp files.  This round adds greatly improved models:  Player, soldier, and dog from Capnbub plus knight from Lunarian.  I’ve mirrored the original files:  knight.zip    QuakeAuthenticModelUpdate.zip
  • Support for external ‘.vis’ files is removed.  This was a way to add water transparency to old maps with patches.  However, a better way is to revis maps.  See this vispatching guide: http://quakeone.com/forums/quake-help/general-help/4604-vispatching-guide.html
  • Screenshots go into a ‘screenshots’ directory in the game folder.  Only took 4 years to come up with that brilliant organizational improvement.
  • Some other odds-and-ends I forgot about like ‘skyfog’.



Nov 052014

In response to comments- a new test build meant to support map jam3_mfx by adding skyfog support.  The minimum CPU requirement is SSE3 instructions, a Pentium 4 ‘Prescott’ or higher.  Hopefully will run on AMD with SSE3 but I haven’t tested.  Let met know.

The jam3_mfx skyfog value will spam to centerprint for some reason, but it works.


Oct 282014

In the latest release, going into fullscreen console with no map or demo loaded can crash when entering a command or simply hitting the return key.  I found that scaling back the compiler optimization from -O3 to -O2 solves the problem with little difference in speed.  Oh, when will I learn??

I’m going to try it out a bit more before issuing an update.

Also the default particle size seems too large.