Hello!

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

[Guide] Hitman 2016

1235

Comments

  • edited February 12
    OtisInf said:

    New release, for v1.9 of the game: https://github.com/FransBouma/InjectableGenericCameraSystem/tree/master/Cameras/Hitman2016. Also made a new hud toggle (linked there too), as the old one doesn't work anymore.

    Not working for me unfortunately, simply crashes the game whenever I inject. Could be that they've changed something with the latest Elusive target update..

    edit: It seems I also have some issues with your hud toggle..since applying it the game randomly freezes while loading the level. I can only guess this has something to do with it, since I haven't had a crash in 100+ hrs of gameplay so far


  • The game was updated again about two days ago, they do release some smaller fixes in-between the major updates and full episodes and these "elusive target" NPC's usually also see the game updated when those are added so that could be one explanation. :)
    (Next patch should be 1.9.1 but there's still three more elusive targets with more probably going to be added now that the game is going into season two.)
  • never047 said:

    OtisInf said:

    New release, for v1.9 of the game: https://github.com/FransBouma/InjectableGenericCameraSystem/tree/master/Cameras/Hitman2016. Also made a new hud toggle (linked there too), as the old one doesn't work anymore.

    Not working for me unfortunately, simply crashes the game whenever I inject. Could be that they've changed something with the latest Elusive target update..

    edit: It seems I also have some issues with your hud toggle..since applying it the game randomly freezes while loading the level. I can only guess this has something to do with it, since I haven't had a crash in 100+ hrs of gameplay so far


    The game was updated again about two days ago, they do release some smaller fixes in-between the major updates and full episodes and these "elusive target" NPC's usually also see the game updated when those are added so that could be one explanation. :)
    (Next patch should be 1.9.1 but there's still three more elusive targets with more probably going to be added now that the game is going into season two.)

    I saw the same thing last night as well, thought it was what I was trying to do with Reshade but after removing all that, and then the HUD toggle, the game would load levels properly. I can look at the HUD toggle later today if I have time.

  • Found that using an older dll with those shaders seems to work. Try the below HUD toggle and see if it works for you. Also added vignette and main menu red filter toggles.
    [Caps Lock] - HUD elements including outlines
    [K] - red filter
    [L] - vignette

    https://drive.google.com/open?id=0B0Ad-GMKCuiNU0NOUFpaUWhfbTQ
  • edited February 13
    Yeah they indeed updated the .exe again... Probably because the 1.9.0 release was pretty bad. The previous ET's weren't breaking the camera though. I don't think they'll release a new patch though, season 2 is confirmed but it's not known when that will hit. I assume it will be a new exe/game engine version with season 2. I'll try to update the camera tools.

    The latest build indeed fails with 3d migoto v1.2.34, it does work (read: doesn't hang during level load) with 1.2.56, released 2 days ago. The hud toggle itself fails though (no hud hiding). I didn't use the new .ini, perhaps that's the reason it doesn't work, but I doubt they broke their ini config. Now looking for the camera addresses....

    (edit) the new 3dmigoto dll apparently requires new shaders to be converted, as the old ones definitely don't work. The hudtoggle with the older dll worked tho :) And that's what counts, eh? :) Camera done, Will upload soon.
  • One3rd said:

    Found that using an older dll with those shaders seems to work. Try the below HUD toggle and see if it works for you. Also added vignette and main menu red filter toggles.
    [Caps Lock] - HUD elements including outlines
    [K] - red filter
    [L] - vignette

    https://drive.google.com/open?id=0B0Ad-GMKCuiNU0NOUFpaUWhfbTQ

    Thanks, will try it out as soon as I get the chance
    OtisInf said:

    Yeah they indeed updated the .exe again... Probably because the 1.9.0 release was pretty bad. The previous ET's weren't breaking the camera though. I don't think they'll release a new patch though, season 2 is confirmed but it's not known when that will hit. I assume it will be a new exe/game engine version with season 2. I'll try to update the camera tools.

    The latest build indeed fails with 3d migoto v1.2.34, it does work (read: doesn't hang during level load) with 1.2.56, released 2 days ago. The hud toggle itself fails though (no hud hiding). I didn't use the new .ini, perhaps that's the reason it doesn't work, but I doubt they broke their ini config. Now looking for the camera addresses....

    That's awesome man..thanks in advance :)
  • edited February 13
    Far as updates go I primarily use SteamDB for that, Valve has changed things a bit though as they are aware of this website so it's not quite as open but it's still possible to track changes and monitor updates to different branches both private and public which I find extremely useful for checking up on if games are still actively maintained or not. :)
    https://steamdb.info/app/236870/depots/

    1.9.0 with elusive target #20 was last updated 4 days ago and hit the public/release branch 3 days ago, elusive target 21 to 23 are still in testing as is update 1.9.1 and the same elusive targets for that update so chances are there will be a 1.9.1 patch release soon.
    (Though that doesn't have to mean it'll break existing compatibility with this utility or others but it can happen depending on what they change.)

    Guessing 2.0.0 will be the start of season 2 whenever that gets started, from my understanding they've developed this game to be pretty modular so they can change and add things from adding more targets to new episodes or even new mechanics.

    For one such feature there's been talk of a sniper rifle briefcase which was shown fully working in the alpha build of the game and was planned to be added but I don't think there's a ETA yet though they did recently add a separate difficulty mode to the game though I'm personally more looking forward to seeing some new locations with whatever new episodes they might have planned for the game. :)

    EDIT: Guessing that being close to AMD also means using Ansel from Nvidia for a full photo mode might not happen though they could always implement their own solution such as with Shadow of Mordor from Monolith or Mad Max from Avalanche. :)
    (Ansel support is growing though, I might be on a AMD GPU myself but it's nice to see it supported, For Honor has a .dll for that in it's preload data to name one upcoming game though whether or not that game allows you to disable the chromatic aberration effect is a unknown heh well at worst killing the actual shader should do it, ha ha.)

    Though obviously third party utilities are also welcome, still a lot of games that won't even allow the player to adjust the FOV even slightly though I'd imagine detaching the camera and moving that around freely is a lot more complicated and then the game itself might not expect the player to be able to see certain things during cutscene moments or what not plus the ever present level of detail scaling. It bugs out after a while but I'm actually surprised how well the free cam function in Witcher 3 works for just flying from one end of the current zone to another and it'll actually load in detail as you go though actor animation breaks easily so it's best done with the game in a paused state. :D
    (Unlike say Batman Arhkam Knight or Mad Max where the camera even in photo mode is by default locked around the player so you basically end up doing more complex "selfie" shots. :D )
  • Far as updates go I primarily use SteamDB for that, Valve has changed things a bit though as they are aware of this website so it's not quite as open but it's still possible to track changes and monitor updates to different branches both private and public which I find extremely useful for checking up on if games are still actively maintained or not. :)
    https://steamdb.info/app/236870/depots/

    Hmm, that are a lot of releases ;) They didn't break any exe with previous ETs though, I hoped the 1.9.0 release was the last one, but that code wasn't good and they needed to fix some of the issues people were having, and they also corrected some other things: in the camera write code in v1.9 there was a mysterious byte added, which messed up the instructions. It wasn't there in previous versions, but in v1.9 it was there. In x64 asm, bytes make up the instructions, and the next one starts where the previous one ends. Here, an instruction ended, and it was followed by a byte (I think it was 0c, but don't remember anymore) and that byte formed an instruction with its following byte, but that was wrong:


    hitman.exe+43C183B - 48 C1 F8 14 - sar rax,14 { 20 }
    hitman.exe+43C183F - 48 89 43 28 - mov [rbx+28],rax
    hitman.exe+43C1843 - 48 8B 4B 18 - mov rcx,[rbx+18]
    hitman.exe+43C1847 - 48 89 4B 20 - mov [rbx+20],rcx
    hitman.exe+43C184B - 48 01 43 18 - add [rbx+18],rax
    hitman.exe+43C184F - EB 42 - jmp hitman.exe+43C1893
    hitman.exe+43C1851 - xx yy
    hitman.exe+43C1853 - aa bb error!

    consider address, hitman.exe+43C1851. The mysterious byte 'xx', formed an instruction with its following byte 'yy'. This meant the instruction after that started at e.g. hitman.exe+43C1853. But that was an illegal statement. In fact, it jumped over the xx, to yy, so the next statement was 'yy aa bb'. So weird. Perhaps a compiler glitch, no idea. It wasn't code alignment, as it actually borked that!

    There are other things though. They have 3 times the camera code in the exe. Exactly the same blocks. Only the 3rd works. I have no idea how bad the code looks on the C++ level, but that it's full of clones created by copy/paste is a given. Not reassuring. ;)

    1.9.0 with elusive target #20 was last updated 4 days ago and hit the public/release branch 3 days ago, elusive target 21 to 23 are still in testing as is update 1.9.1 and the same elusive targets for that update so chances are there will be a 1.9.1 patch release soon.
    (Though that doesn't have to mean it'll break existing compatibility with this utility or others but it can happen depending on what they change.)

    Guessing 2.0.0 will be the start of season 2 whenever that gets started, from my understanding they've developed this game to be pretty modular so they can change and add things from adding more targets to new episodes or even new mechanics.

    For one such feature there's been talk of a sniper rifle briefcase which was shown fully working in the alpha build of the game and was planned to be added but I don't think there's a ETA yet though they did recently add a separate difficulty mode to the game though I'm personally more looking forward to seeing some new locations with whatever new episodes they might have planned for the game. :)
    I'd be surprised if they'll release 2.0 very soon though. If I were them, I'd release 2.0 with a newer engine release: everyone has to buy the new episodes, so they can break everything, which is a good point to do so: they won't be able to later on in the season.

    EDIT: Guessing that being close to AMD also means using Ansel from Nvidia for a full photo mode might not happen though they could always implement their own solution such as with Shadow of Mordor from Monolith or Mad Max from Avalanche. :)
    (Ansel support is growing though, I might be on a AMD GPU myself but it's nice to see it supported, For Honor has a .dll for that in it's preload data to name one upcoming game though whether or not that game allows you to disable the chromatic aberration effect is a unknown heh well at worst killing the actual shader should do it, ha ha.)

    Though obviously third party utilities are also welcome, still a lot of games that won't even allow the player to adjust the FOV even slightly though I'd imagine detaching the camera and moving that around freely is a lot more complicated and then the game itself might not expect the player to be able to see certain things during cutscene moments or what not plus the ever present level of detail scaling. It bugs out after a while but I'm actually surprised how well the free cam function in Witcher 3 works for just flying from one end of the current zone to another and it'll actually load in detail as you go though actor animation breaks easily so it's best done with the game in a paused state. :D
    (Unlike say Batman Arhkam Knight or Mad Max where the camera even in photo mode is by default locked around the player so you basically end up doing more complex "selfie" shots. :D )
    The Witcher 3 freecam is actually their own debug camera system, I think they used it to look around during testing.

    I fail to see why more games don't simply add a freecam/photomode which actually leaves everything to the player. Most engines have it already built in, and it's for them not that hard to do, they know where everything is in the code ;). The more people creating screenshots and videos of your game, the more free advertising you get. Doesn't cost a dime.

    perhaps one day ;) Till then, we're hacking along haha :)
  • OtisInf said:
    Thanks for this! I really do appreciate your hard work with this games free camera and keeping it up to date.

    On the Generic Camera System you've created, is it possible to update or create a new free camera with knowing just the camera structure addresses or would I need to have some C++ experience to effectively get that information into a form that could be used? As in, finding the camera structure addresses with CE (which I'm partially familiar with) and then providing them to the camera system through a csv or text file.
  • That's sadly not possible as every game requires specific tinkering, albeit often not that much, in code. The addresses of the camera location are defined as offsets, see: https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/Hitman2016/InjectableGenericCameraSystem/GameConstants.h#L56

    which are start and continue offsets. Start is where the JMP interceptorcode is placed, continue is where the jmp back will jmp to. See:
    https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/Hitman2016/InjectableGenericCameraSystem/Interceptor.asm#L64

    To rotate the camera you have to either write a new quaternion on the location or calculate a matrix from it. It depends on the game whether it uses a quaternion or matrix. I have both situations implemented in the various cameras so there's always a camera which already contains that code. The problem one will face is the axis system used by the game: Hitman for instance has -Y into the screen, if I recall correctly, watch_dogs has X into the screen. This is important as it requires you apply the right angle of rotation to the right axis :) It's a couple of lines of code though, so not that hard, but still needed:
    https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/Hitman2016/InjectableGenericCameraSystem/Camera.cpp#L49
    vs
    https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/Watch_Dogs/InjectableGenericCameraSystem/Camera.cpp#L51

    The rest is pretty much a matter of details, e.g. whether FoV is needed by the game too (e.g. in watchdogs so you can't simply nop the statements) and e.g. whether timestop is a float or a byte.

    When I started it, I indeed had the plan to make it generic where you could simply fill in a bunch of addresses and it would take care of it. It's turned out that that was not quite possible, at least not with a lot of code which effectively does the tinkering with the code for you based on parameters. Maybe I'll write that one day...
  • Looks like that 1.9.1 patch was just released.
  • yeah I just noticed. What a clusterf*ck. Last friday they released a .exe update, now again... I have had my botched releases in the past but they're not really sharp over there with this quick set of releases one after another.

    I'll see if I can update the tools one more time. Then I'm done with this game.
  • edited February 14
    Well at least it's not a early-access release, multiple daily updates are no fun at all especially with the way Steam is updating existing files which can take ages for certain games while HDD activity is almost maxed out. :D
    (Pretty impressed really with how some users on the Cheat-Engine forums are maintaining games like Empyrion or Subnautica or ARK despite all that though after a few years and the game in question still nowhere near release it's understandable that such script updates slow down a bit.)

    I'm not sure it's used in Hitman though but with Deus Ex (And Rise of the Tomb Raider.) at least they allow you to roll back via the Steam beta update functionality by having earlier patches available as a sort of archive, heard GOG Galaxy has something similar too but I've never used that system myself.
    (Always handy should a update end up breaking something whether it's something with the game or with compatibility with external utilities though this feature is pretty under utilized.)


    EDIT: Wonder if they've posted a changelog yet.
    EDIT: No it doesn't seem like it, odd.
  • edited February 14
    Changelog is here: https://www.reddit.com/r/HiTMAN/comments/5tzm2l/hitman_february_update_v_191_release_notes/ddq6udt/ . I.o.w.: nothing much.
    Exe is updated though, however still marked as 1.9.0.0. Someone has/will have a bad day over there at IOI ;). Luckily updating the camera is very easy: I stored all codeblocks with bytes as comments, so I can quickly find them back and update the indices, test and release. AOB scanning doesn't work here, they have identical blocks of code all over the place. Perhaps those updating cheats for those games have similar tactics: you know how the code looks like, scanning for the blocks is often very easy. But still a chore after a while, indeed.

    Lots of people complained about bugs in 1.9, and they haven't done much with them. Pressure of v2.0 deadlines? Anyway, almost done with the camera update.
Sign In or Register to comment.