VOGONS


Wrath: Aeon of Ruin

Topic actions

Reply 20 of 22, by Boroda1

User metadata
Rank Newbie
Rank
Newbie

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.

Reply 21 of 22, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Nice.

I forgot this used dark places. If it requires sdl2 then it's xp and above. Issue with sdl2 and 2000 is the rawinput requirement and that's it. Either has to be patched in sdl2 or use blackwingcat update, although when I tested blackwingcat years ago with sdl2 ports there was a mouse button input bug. I want to say kernelex on 98 didn't have that issue but as you can see below I'm using the same build on 2000 and 98/ME but don't remember why except that it's SDL1.2

I put sdl2 for 2000 on the vogonsorg github awhile back so it wouldnt get lost since the person who patched it did so for SDL 2.05 so I brought it up to the current version at that time. Didn't get it compiling with the environment on github though.

Since devs and lusers are hostile towards compatibility by not accepting patches, not offering older packages or at least the last working ver, or packages not compiled with POSIX, older devs tools, not noting which devs tools are compatible with which os, going on a tirade for daring to use an old os etc etc best bet is to stick with blackwingcat for those wanting to run xp+ ports on 2000.

From when I last tested:

XP
12-22-2018 (This one looks suspect)

Windows 2000 w/Blackwingcat
darkplacesengine20140513

95-98-ME-NT4
darkplacesengine20110328beta2

98-ME (KernelEx)
darkplacesengine20140513

Last edited by DosFreak on 2024-03-15, 20:20. Edited 11 times in total.

How To Ask Questions The Smart Way
Make your games work offline