Hello!

It looks like you're new here. If you want to get involved, click one of these buttons!

RYSE

124»

Comments

  • edited April 2016
    Found a way to literally fly around the character =)

    I guess it's possible to zoom-in/zoom-out the same way.
    EDIT: Aye, that's doable. Not a free cam, but still better than nothing =)
  • Hey. Neat! I just bought this game on sale, so I want to try this. Got a table? Or, tell us how to do it?
  • idk31 said:

    Hey. Neat! I just bought this game on sale, so I want to try this. Got a table? Or, tell us how to do it?

    Hello. Thanks a lot for your comment. Here is a link to the table http://maxantonovart.tk/RyseFOV.CT
    Truly speaking, the script is horrible, but you can find all the functions (or opcodes) that you have to disable in the "Advanced Options", in case you want to do it manually.
    Current hotkeys are:
    F1 - activates the script
    num8 - zoom in
    num2 - zoom out
    Zooming keys are assigned to the first record in the "Pointers" group, so you can easily change them or the speed of the zooming.

    Hopefully it'll be helpful.
  • Worked perfect =) Have you found anything else to edit?
  • idk31 said:

    Worked perfect =) Have you found anything else to edit?

    Thanks a lot! Glad that it works not only for me =)

    Here is an updated table http://maxantonovart.tk/RyseFOV2.CT
    I've disabled one more function (that caused some minor camera shifts ) and added a pointer to the value that it was messing with. Additional hotkeys are "num9" and "num3". Now basically you can achieve straight top-down view, similar to good-old GTA2 =)

  • The new thing didn't work, but I see where you were going with it. I just copied the top pointer and lowered it 4 bytes.
  • edited June 1

    FYI - Even with the HUD removed, a free camera is pretty useless. The moment you start flying around with the camera, objects and terrain will stop rendering. This game is doing some VERY aggressive occlusion culling. If the game thinks that you can't see something, it won't render that. And that information is based on your character's location and where your view is pointed. You might see things with a free camera that your character could not. So the only real way to use a free camera is to move it slightly in front of your character so he's out of the view. That way you're still looking at the same thing. But if you start turning the camera... shit will start to break.

    To fix that, you'd have to find a way to tell the game to use the camera position to calculate the occlusion culling rather than the character's position. It was a pretty complicated script as it is. Trying to fix the above problem is pretty much beyond my skill in cheat engine.

    This isn't caused by the game doing aggressive culling, but by something else: you're using coords too far into the pipeline. For anyone who wants to bother, if you start Ryse, and go to this location with CE:


    Ryse.exe+1531AD5 - F3 0F10 45 A8 - movss xmm0,[rbp-58]
    Ryse.exe+1531ADA - F3 0F10 75 D0 - movss xmm6,[rbp-30]
    Ryse.exe+1531ADF - F3 0F10 7D D4 - movss xmm7,[rbp-2C]
    Ryse.exe+1531AE4 - 89 06 - mov [rsi],eax << WRITE X
    Ryse.exe+1531AE6 - 8B 44 24 54 - mov eax,[rsp+54]
    Ryse.exe+1531AEA - F3 0F59 F0 - mulss xmm6,xmm0
    Ryse.exe+1531AEE - F3 0F59 F8 - mulss xmm7,xmm0
    Ryse.exe+1531AF2 - F3 44 0F10 45 D8 - movss xmm8,[rbp-28]
    Ryse.exe+1531AF8 - F3 0F11 75 D0 - movss [rbp-30],xmm6


    You'll see that rsi points to a struct with the format: X, Y, Z, qX, qY, qZ, qW
    Checking what code writes to e.g. the X address, you'll see 4 writes, so disable them all with nops in 1 go. Then set the X value to a higher/lower value. You'll see the game loads whatever the camera is seeing, not what the player is seeying. (some architecture might not be there, as it's not modeled in).

    The reason is that a 3D engine works with a pipeline with stages: one of the first things it does is cull all faces that it can't see with the active camera. Then through various stages these faces end up on the card through draw calls, where shaders are used to transform them and shade them properly. The transformation of a face to screenspace is done on the card so matrices are sent to the card in buffers. These are the ones you often see written by a piece of code which appears to write to many buffers.

    Any camera you're manipulating after the first stage of culling will work but no extra faces are seen: culling has already happened. So it's key to manipulate the original camera, so the cull process will use _that_ camera for the culling and you can fly through the level and you won't see the world crumble around you. (it still might clip things though, depending on how they're doing clipping with respect to the camera (which is assumed to be on the player).

    With CryEngine, the camera structs are as mentioned above, and it depends on the engine code version how much code is writing to these values, but it can be quite complex. (E.g. in Prey I needed 5 write intercepts in 4 different blocks).

    CryEngine also stores copies of this struct after eachother, so it's a bit of trial/error which one to pick. It's often (like here too) the first one of 3, where the 2nd and 3rd are a couple of 100 bytes down. Fov is located at X+(4*13).

    I picked up Ryse for 5Euro and as no CT works anymore I'll port my Prey camera tools to this one, as it should be fairly straightforward. :) Stay tuned...

    (edit) FoV, timestop, supersampling, camera, rotation, hud toggle, all found. Supersampling value is a bit limited though: using a resolution equal to the monitor, you can get as high as 4-5 (in-game menu goes as far as 2), but if you use nvidia DSR, you can't go higher than 2. It looks batshit insane at high res with supersampling cranked up btw. The programmers at Arkane Studios who worked on Prey really did a terrible job if you look at how Ryse looks which is 3 years old! Anyway, hopefully a full fledged camera tomorrow :)

    (edit) For reference :) -> https://abload.de/img/cryenginecammem65r3l.png
  • Oh nice! Great work. Does the camera work in the gladiator mode? I remember the camera I used before didn't work there..or it may have been the HUD.
  • Yes, works great in gladiator mode too. The timestop I found though isn't fully stopping cutscenes so I've to dig for a better one/extended one... I did find another one yesterday but it disabled the camera too, so it was of no use...
  • Enjoy! https://github.com/FransBouma/InjectableGenericCameraSystem/tree/master/Cameras/RyseSonOfRome

    Timestop also during cutscenes, and also works in gladiator mode :)
Sign In or Register to comment.