Original Unreal Tournament (UT99) VRBoost profile

The place for all discussion of the Oculus Rift compatible open source 3D drivers.
Post Reply
Eman
One Eyed Hopeful
Posts: 1
Joined: Sat Apr 20, 2013 7:40 pm

Original Unreal Tournament (UT99) VRBoost profile

Post by Eman »

UT99 is one of the greatest FPS in games history, it´s the Unreal´s saga Grandfather; it´s engine was used to make several of the best games in history too (Deus Ex and several others); how many forteen years old games are still played nowadays daily? UT is probably the only one
Because of this and a lot more reasons, i´ll love to see UT99 running in VR, and i think there will be a lot of people who would love to "be inside" their own custom maps (there are thousands of them!!), this game has it´s own map editor included (what a geniality!!!!)
I have been playing with cfg/profiles.xml and adding a profile for original ut99, and it works like a charm!!
The line i´ve used is:

Code: Select all

./perception/cfg/profiles.xml 
<profile game_name="UT99" game_exe="UnrealTournament.exe" shaderModRules="unreal.xml" VRboostRules="" rollEnabled="true" worldScaleFactor="3.12603" convergence="3" swap_eyes="true" yaw_multiplier="15" pitch_multiplier="15" roll_multiplier="1" hud_3D_depth_mode="0" hud_3D_depth_1="0" hud_3D_depth_2="0" hud_3D_depth_3="0" hud_3D_depth_4="0" hud_distance_1="0.5" hud_distance_2="0.7" hud_distance_3="0.3" hud_distance_4="0" hud_key_swap="0" hud_key_default="0" hud_key_small="0" hud_key_large="0" hud_key_full="0" gui_3D_depth_mode="0" gui_3D_depth_1="0" gui_3D_depth_2="0" gui_3D_depth_3="0" gui_3D_depth_4="0" gui_size_1="0.6" gui_size_2="0.5" gui_size_3="0.9" gui_size_4="1" gui_key_swap="0" gui_key_default="0" gui_key_small="0" gui_key_large="0" gui_key_full="0" /> 
Now i´m trying to find the correct pointers to create a ut99.CT with CheatEngine, and afterwards convert it to ut99.mtbs using VRBoostReferee.exe, but i´m so newbie with cheatengine.
Maybe here is anyone with the knoweledge and time to help me find these damm pointers and create this profile? I´m trying to find help in CheatEngine forums too, and any help would be very apreciated to get this game supported.

Thanks a lot for this awesome drivers, keep up the excellent work!!
User avatar
EisernSchild
Vireio Perception Developer
Vireio Perception Developer
Posts: 225
Joined: Tue Jun 11, 2013 9:39 am
Location: Graz / Austria

Re: Original Unreal Tournament (UT99) VRBoost profile

Post by EisernSchild »

Hi Eman !

Please note that there is a new "VRBoost" section in the driver forums here. Post any related questions there in future !
http://www.mtbs3d.com/phpbb/viewforum.php?f=150

Great to hear you found a profile for UT99. Can imagine that playing your good old self-made maps is a big experience in VR.

Josh told me yesterday that he is on the balls to create good video tutorials for both, shader rules and VRBoost rules. Meanwhile i try to tell you the basic steps to find the VRBoost rules in CheatEngine:

* Usually, a game stores each rotation axis as a "float" value, Unreal games store these angles in "integer" values ! ( http://wiki.beyondunreal.com/Rotator ) We already created Unreal specific modifications called "FloatUnrealCompass" and "FloatUnrealAxis". The compass needs to be applied to the trackers yaw and the axis to the trackers roll. If you are very lucky you can, of course, also apply a direct head roll axis. But first, try them both.

* First, in CheatEngine you set two hotkeys : one for "Changed value" and one for "Unchanged value". Then try to setup your game to run in "windowed mode", of course, to easily switch between the game and CheatEngine. Select the games process.

* So, you start to search for a "4 bytes" (=integer) value, by selecting "Unknown initial value". Then you switch to the game, rotate your player view, and hit your "changed" hotkey. This will need some time, on older pcs that can even freeze. You repeat that step (rotate the view->"changed test") for lets say 30 times. Then you rotate your view, switch back to CheatEngine, and do ONE last "changed" test. Be VERY CAREFUL to not hit the hotkey for two times, otherwise you will have to do an "Undo" or even restart the WHOLE PROCEDURE again !!!

* When you did this last "changed" test while beeing outside the games window, you can start to do as many "unchanged" test as you want. That means, make one unchanged test, wait a few seconds (or even go to drink something meanwhile....;-) ), make another "unchanged" test. You can also just hold down your "unchanged" hotkey, since our desired axis does not change currently while we are outside the game.

* Switch back to the game whenever you want and do as many "changed" tests (rotating your view each time) as you need to get the value counter <1000 (better is <500). Now you can start to look for the axis (either pitch or yaw). Note that the Unreal rotator axis usually has a value between 0....65535. (that is at least the case in Bioshock) Store each axis you found in your cheattable by simply double-click on it ! Only ONE of them is changeable. At least you should be lucky to find a stable but unchangeable address, so you can easily find the angle when restarting the game for some reason.

* When you have your angles you come to the tricky part : finding stable pointers to the addresses. The most easy way to do this is "right-click" on the address in your cheattable and select "Pointer scan for this address...". Please tell cheatengine to only search for 2 offsets (not more) since otherwise you get too many results. Save as many of the found pointers as possible by "double-click" on them. (for more information about finding stable pointers : there is much documentation out there for CheatEngine... this is a tricky thing, though! )

* Save your CheatTable, restart both game and CheatEngine. Now.... you should be lucky to have a few pointers that directly point to the address. Delete the not-working pointers, save, restart and do this once more. Ideally you would send this cheattable to a friend to test it on his computer or you test it on a second pc to ensure your pointers are stable. Note that pointers can vary in different game versions.

* Now you need 3 pointers, one after another stored in your cheattable, for each axis.

Rename the pointers as followed : (first the yaw axis, then the pitch axis)
FloatUnrealCompass
0
TrackerYaw
FloatUnrealAxis
0
TrackerPitch

Delete all other things in your cheattable (of course make a backup before you delete anything) and now you should be able to drag and drop this CheatTable on "VRBoostReferee" to create your VRBoost profile. Don't forget to set the "minimum Shader Count" in your profile, otherwise the game can crash since VRBoost applies the modifications too early in that case !!! (watch the skyrim or bioshock profile in profiles.xml for details) And, of course, also enter the name of your created VRBoost file in "VRboostRules".

Hopefully that all works for you, in case it does not i maybe can find the game somewhere and test. Should definately be a "4 bytes" value and not a "float" value!

Please post any future questions (or even your own created VRBoost profile) in the VRBoost section !

Regards, Denis
Post Reply

Return to “Development / General Discussion”