Tremfusion.net

Xreal renderer branch

From TremFusion

K, this is where Ender is going to dump what he learns about the XReal renderer branch that evilchampion put together.

First off, build it from source. From there, use the misc/makepk3s.py file with the -d switch to make the data and game pk3s. Then copy those to build/release-<arch>/base. This will allow you to run TF-Xreal from the build directory. Do that like so:

cd build/release-linux-x86
./tremulouse.x86

You should see this, if you don't have a vanilla install of tremulous. In other words, you don't have any pk3s installed from Tremulous 1.1.0 in ~/.tremulouse/base. You can fix that by downloading tremulous and installing it, or by installing the Ubuntu package tremulous-data, and then linking to the files it installs in /usr/share/games/tremulous/base.

------ FS_Startup -----
Couldn't find game data

If you do have a vanilla install of tremulous, you will probably see TremFusion start up as normal.

----- CL_Shutdown -----
RE_Shutdown( 1 )
-----------------------
recursive error after: Couldn't load glsl/generic_single_vp.glsl (tr_shade.c)

This means you need the shaders. You can find those in the ./glsl directory. Copy all of those into your base directory

cp -R glsl build/release-linux-x86_64/base

Now, if you run the TF-XReal binary, you should get something like this:

----- CL_Shutdown -----
RE_Shutdown( 1 )
-----------------------
recursive error after: Hunk_AllocateTempMemory: failed on 2097160

After talking to champion, we've got a solution to this one now too. We'll create a new script, 'xreal', which will have the settings we'll need to get this working. Create a new file in build/release-linux-x86_64 called 'xreal', and put in the following contents

./tremulous.x86_64 \
+set r_smp 0 \
+set com_hunkmegs 1000 \
+set developer 1 \
+set fs_debug 1 \
+seta vm_game 0 \
+seta vm_ui 0 \
+seta vm_cgame 0 \
+set fs_homepath <your install location>/build/release-linux-x86_64

What does this do? Well, first off, it calls the TremFusion binary we built with the xreal renderer stuff in it. It then gives it some important settings. I don't know what r_smp does - evilchampion said to use it. com_hunkmegs gives it more memory to play with, getting past the Hunk_AllocateTempMemory error. developer gives us more error messages (and we'll want those). fs_debug gives us file system access information, which we'll also need. vm_game, vm_ui, and vm_cgame all tell it to not use qvms, but instead use the .so (.dll if you're on windows - good luck with that). Finally, fs_homepath tells it to use our build environment directory as the place to pull the pk3 data from. This is important so that we don't use any files from your current tremulous/TremFusion install.