Page 1 of 1

Far Cry 3 VRboost failure

Posted: Tue Mar 17, 2015 2:25 pm
by thekitchensink
Hello anyone,
I seem to be having some slight issues with Vireio, because when I start up Far Cry 3 and follow the directions for the VRBoost scan, it does one of two things: It either fails, or somehow grabs ahold of the wrong memory address, because my head movement still doesn't move the view at that point. Keep in mind that the stereo rendering is working ok, the distortion is a little bit off but nothing I couldn't handle.

At this point, I decided to do a bit of investigation, and I found out that whenever I use the Vireio Perception profiler, it throws an error whenever I try to edit a profile, which I find rather odd.

Oh, and before anyone asks, UPlay overlay is off, Vireio is running as admin, and I used the symlink installer for the folder with the binaries for FarCry 3.

Re: Far Cry 3 VRboost failure

Posted: Tue Mar 17, 2015 3:52 pm
by DrBeef
Did you make sure you kept looking "below the horizon" for both the initialising stage and the scanning stage?, if you look above the horizon at all during those stages, it will fail to find the right address. ALso, whilst it is initialising or scanning you must keep moving the view around with the mouse or with the controller, the scanner searches for addresses that change, so if you haven't moved it then it could potentially dismiss valid locations.

You aren't alone, seems quite a few people are having trouble with this one, with the above in mind, please keep trying, if you still have no luck I might ask you to record a short video of your attempt so I can see if I can figure out what the problem might be. These scanner files are generated at the point we are in the game when we add support, and we do some testing elsewhere, but it certainly isn't exhaustive, it's always possible that some later stages of the game differ in such a way that the scanner doesn't work and needs tweaking.

Re: Far Cry 3 VRboost failure

Posted: Tue Mar 17, 2015 11:01 pm
by WiredEarp
Can I ask some questions about this 'VRBoost'? What is it exactly? It sounds like a scanner for changing memory addresses to give absolute control of head tracking (instead of mouse based) but if thats the case, how does it work and what's the interface etc, and how does it deal with different coordinate ranges/types?

Just interested, and I couldn't easily find any info explaining the feature and its technical details.

Re: Far Cry 3 VRboost failure

Posted: Wed Mar 18, 2015 4:21 am
by DrBeef
You are pretty much corrrect.. it avoids th need to use mouse emulation, and therefore is much lower latency head tracing.

If you look at the xml configuration files in the vrboost folder in the release archive you'll see how it is configured. Adding support requires a fair bit of time using Cheat Engine to figure out what sort of addresses he orientation (and somettimes FOV) addresses tend to inhabit, then writing an appropriate config file for the canner, which tells it how things like yaw and pitch and FOV ae stored and used by the engine (Unreal uses DWORDS, whereas source uses floats representingg degrees, some games use radians). The scannerr then pretty much just scans the memory regions defined in the vrboost file over and over looking for relevant changed and then hopefully boils it down to a handful of candidates. Then the scan assist stuff kicks in which can further filter out addresses until it is literally a few candidates, which you can then cycle through.

The original implementation used a stable pointer approach, which meant a long and tedious search for these stable pointers.. the new approach is much quicker to get going, but can occasioanly be error prone and requires tweaking, but is much more intereting to configure.

VRBoost is closed source however, the approach is takes is somewhat akin to hacking/injecting. But hopefully the above decription gives you a better idea of how it works. Looking at the XML config filees might be more enlightening.

Re: Far Cry 3 VRboost failure

Posted: Wed Mar 18, 2015 6:07 pm
by WiredEarp
Thanks DrBeef, thats all the info I wanted at this point. I actually wrote a hack for FC3 a year or two back that did the same thing for when I was playing with TriDEF, so its very cool to hear Vireio has this stuff built in now. Direct mapping like this is way better as it avoids the need to occasionally recenter like you do with mouse emulation.

Re: Far Cry 3 VRboost failure

Posted: Thu Mar 19, 2015 12:01 am
by thekitchensink
Thanks for the tips, I'll try them tomorrow, because I don't have any finals tomorrow :D

Re: Far Cry 3 VRboost failure

Posted: Thu Mar 19, 2015 1:33 pm
by thekitchensink
Hrm....... I kept my eyes below the horizon until it said to look up, and then I did, and it's still having the same results. Do you think it might be a problem with vrboost improperly reading the profile for far cry 3? Or would it even get as far as it did if that was the issue...

Re: Far Cry 3 VRboost failure

Posted: Fri Mar 20, 2015 7:11 am
by DrBeef
If it couldn't read the config for VRBoost you'd not get that far, you'd see some errors.

Could you record a short clip of your attempt please? I'll have a look to see if I can see anything obvious about what is happening.

Frustratingly I've not had these issues myself, so without being able to reproduce the problem it is going to be hard for me to fix.. I wonder if there is a way to export FC3 saved games, I could then take yours and see if I get the same behaviour at that point in the game?

Last question.. are you playing with an Xbox 360 controller or k/b and mouse? getting success with the controller is much harder.

Re: Far Cry 3 VRboost failure

Posted: Fri Mar 20, 2015 3:03 pm
by thekitchensink
yes, I am using a controller, will try with keyboard and mouse next

Re: Far Cry 3 VRboost failure

Posted: Fri Mar 20, 2015 3:31 pm
by thekitchensink
I seem to have gotten it to work, because of the pure luck that I didn't start up the Vireio Perception application. However, if I die and the game reloads, it cannot find the memory addresses again when I try to rescan.

Re: Far Cry 3 VRboost failure

Posted: Sat Mar 21, 2015 6:36 am
by WiredEarp
@ thekitchensink: try running FC3 in DX9 mode and see if it works better in that.

Re: Far Cry 3 VRboost failure

Posted: Sat Mar 21, 2015 1:07 pm
by thekitchensink
It already is running in dx9, I was under the impression that vireio wouldn't work with dx11, can someone confirm or deny this?

Re: Far Cry 3 VRboost failure

Posted: Mon Mar 23, 2015 2:48 am
by DrBeef
Vireio will only work with DX9 games (or games running in DX9 mode), it won't inject otherwise.

Is anyone who's having a problem with the scanner finding the orientation addresses prepared to give Cheat Engine a go to find the addresses the game is using so we can see if there's a fault with the scanner file? If anyone shows an interest in trying this, I'll post some instructions here.

Re: Far Cry 3 VRboost failure

Posted: Mon Mar 23, 2015 11:58 am
by thekitchensink
I can try, it'd be interesting for me, a college student compsci major, to do. Also, I might be able to help with future vr boost profiles then.

Re: Far Cry 3 VRboost failure

Posted: Tue Mar 24, 2015 7:53 am
by DrBeef
First thing you need to do is download Cheat Engine, it's free. I'd advise you go through a couple of tutorials if you are unfamiliar with it.

Then the goal of the exercise is to find the memory location that is used to store the Pitch. Pitch in FC3 is stored as a float, the value is 0.0 when you are looking directly straight ahead, and negative when looking down with a maximum of -1.225, and positive when looking up, with a maximum of somewhere around 1.4.

The trick is to find addresses that change as you would expect Pitch to, then test them (by setting values into them) and seeing if the view in the game is updated accordingly (and that, in a nutshell, is exactly what the scanner and subsequent VRBoost injection does).

To do it properly you'll want to run the game windowed with a small resolution, so you can have the game and Cheat Engine side by side, then follow these sort os steps:

1. In the game, look up as far as you can go
2. In Cheat Engine, search for Float addresses with a value between 1.35 and 1.45
3. in the game, look down as far as you can go
2. In Cheat Engine, search for Float addresses with a value between -1.25 and -1.2

You can also filter addresses that have changed even if you haven't moved the view. Basically it is a trial and error approach and you are just attempting to eliminate addresses until you get down to a handful, then you add the selected addresses to the bottom pane and set values on them to see if any affect the game.

There's little more to it than that.. when you find the Pitch address that causes the in-game pitch to change, then please post it here so I can see if the scanner should be picking it up (in which case you might be doing something wrong while it is scanning), or if it is an address outside the range the scanner is looking at (in which case a change to the scanner configuration should sort it out).

Good luck, happy hunting!

Re: Far Cry 3 VRboost failure

Posted: Tue Mar 24, 2015 9:39 pm
by WiredEarp
If its FC3, and DX9 only, then I'm pretty sure I have static pointers that work reliably for the correct variables (although these may well have changed if there have been patches released since I played around with FC3). Vireio could be updated to use these, and then there wouldn't even be a need to do any configuration etc. Its really cool that it has the configuration ability built in though, as it will mean it can stay current with changing versions...

Re: Far Cry 3 VRboost failure

Posted: Sun Apr 05, 2015 1:58 pm
by thekitchensink
Sorry that it took so long for me to reply, I was extremely busy during spring break. I scanned for the head position, and got the address 0x2FCE2994 for my first scan, then I promptly killed myself. I then tried modifying that value again, and it didn't work very well: There was no change in the viewpoint. I scanned for the viewpoint variable again, and this time it was at 0x0DE2B434. I don't see any relations between those two values. I am working on a pointer scan right now, but it could definitely take a long while, I'm currently at 70 pointers.

Re: Far Cry 3 VRboost failure

Posted: Tue Apr 07, 2015 4:28 am
by DrBeef
Hi, there is no relationship between the two values, where they reside in memory is entirely at the whim of the OS, fortunately, the OS stores these things in a semi predictable manner, hence the use of the scanner to locate them.

I suspect there might be an issue with the scanner file though, if it is finding it the first time, but then not finding it again after, so I'll look into that. The addresses you found are within the scanned region of memory, so it should be working (certainly the first time you run the scan).

VRBoost can be configured to use static pointers, but that approach is a lot more effort to set up (Skyrim uses it, hence no need to run the scan on game start), so using the scanner is much quicker to get results and support for games.

Re: Far Cry 3 VRboost failure

Posted: Tue Apr 07, 2015 7:14 am
by Neil
Are you using the scanner the way the following video demonstrates its use? I had the exact same problem until I realized I was doing it all wrong. :lol:

http://www.mtbs3d.com/new-vireio-site/1 ... -far-cry-3

Regards,
Neil

Re: Far Cry 3 VRboost failure

Posted: Sat Apr 11, 2015 3:51 pm
by thekitchensink
I'm 99% sure that I am using it correctly, because it can find the value at least once. If I die, however, then the scanner cannot find the new address.

Re: Far Cry 3 VRboost failure

Posted: Mon Apr 13, 2015 1:51 am
by DrBeef
I suspect there is something that changes when you die which means the scanner has an issue and can't locate the address. I'll add this to my list of things to look at. Just try to avoid dying in the meantime ;-)

Re: Far Cry 3 VRboost failure

Posted: Mon Apr 13, 2015 3:19 pm
by DrBeef
Couldn't figure out why it couldn't rescan correctly after you die, so I had a fiddle with it and modified the scan profile, and it seems to work much better, I was able to get repeated scan success after I die respawn. If you don't want to wait for the next release of Vireio, you can get the updated scanner file from the github repo, the direct link is:

https://raw.githubusercontent.com/cyber ... arcry3.xml