Reply 20 of 22, by Boroda1
So, i've made 32-bit build of Wrath for Windows XP (Windows 2000 maybe work too, not tested).
Download here
Unpack binaries, place kp1 folder with game resources into the same folder as exe-file.
Main changes:
-Steam cutted off (internal achievements works OK)
-console.c::1466
gettimeofday - implemented for Con_Timestamp (really doesn't matter at all, it's just a text string in console)
-draw.h::114
#define MAX_FONT_SIZES 16 -> 4 (limited font sizes (some fonts (big sizes) may looks little blurry/lowres))
So, you have 2 options: wrath.exe (builded with default MAX_FONT_SIZES) and wrath_fnt4.exe (builded with MAX_FONT_SIZES 4 (uses less memory)).
-/LARGEADDRESSAWARE added (for addressing more than 2 Gb)
Also, you NEED to add some parameters into corresponding sections of WRATH_FOLDER\kp1\default.cfg (make sure you replaced original values if the exist)
// ----- RENDERER ----- //
gl_texturecompression 2
gl_texturecompression_color 1
gl_texturecompression_normal 1
gl_texturecompression_gloss 1
gl_texturecompression_glow 1
gl_texturecompression_2d 1
gl_texturecompression_q3bsplightmaps 1
gl_texturecompression_q3bspdeluxemaps 1
gl_texturecompression_sky 1
gl_texturecompression_lightcubemaps 1
gl_texturecompression_reflectmask 1
gl_texturecompression_sprites 1
// ----- AUDIO ----- //
snd_streaming 2
// ----- FONTS ----- //
r_font_compress 1
r_font_nonpoweroftwo 1
Some technical info:
Main problem - game loads ALL resources into RAM. So, 32-bit build is limited by 2 GB (4 Gb with /LARGEADDRESSAWARE, but 32-bit system can give max 3Gb per process (if /3GB flag in boot.ini))
Most memory used for textures (about 65%) - fixed by setting texture compression parameters
Some memory for fonts (about 10%) - fixed by reduced MAX_FONT_SIZES. Also you can delete pak001.pk3\fonts\japanese.ttf and pak001.pk3\fonts\chinese.otf if you don't need it. This will save about 100 Mbytes of RAM
Some memory for sounds (about 10%) - fixed by setting snd_streaming to 2
So, after that, game with loaded level takes about 1400 - 1600 Mbytes of RAM.
It's possible memory leakage, so game may throw "Out of memory" sometimes. Make sure you have quicksave before level ending and new level loading (before entering portal)
You can change textures resolution in pak005.pk3 and pak007.pk3 to 1024 or even 512. I've done it automatically with "C:\Program Files\XnView\nconvert" -recurse -greater_than filesize 1000000 -overwrite -ratio -resize 50% 50% *.*
I've made experimental build with replacing internal D3DFMT_A8B8G8R8 to D3DFMT_A4B4G4R4 textures. This greatly reduces memory usage too, but i think it's not necessary, default texture compression is enough.
I've exported from code all (i think so) available console commands into TXT, so you can do any experiments with Wrath (press SHIFT+ESCAPE to open console)
If someone knows Darkplaces engine better - please, show me optimal way to do all this work.