Nioh No 21:9 support (Fix request)

Topics about game solutions, and success or failure in getting them to work.
Bastinazus
Posts: 10
Joined: 11 Nov 2017, 13:03

Re: Nioh No 21:9 support (Fix request)

Post by Bastinazus »

jackfuste wrote:
Nioh_ws.part001.rar

Nioh_ws.part002.rar

Nioh_ws.part003.rar


    Supported resolutions:
    5:4
    1280x1024

    4:3
    1024x768
    1152x864
    1280x960
    1400x1050
    1600x1200
    2048x1536

    16:10
    1280x800
    1440x900
    1680x1050
    1920x1200
    2560x1600

    21:9
    2560x1080
    3440x1440
    3840x1600

    48:9 and 48:10
    4800x900
    5760x1080
    7680x1440
    5040x1050
    5760x1200
    7680x1600

Game just got updated. Can you upload the fix for 16:10 screen, please?
User avatar
jackfuste
Insiders
Insiders
Posts: 521
Joined: 19 Dec 2011, 16:03

Re: Nioh No 21:9 support (Fix request)

Post by jackfuste »

Update for v1.21.02
Nioh_v1_21_02.part001.rar
(5 MiB) Downloaded 3548 times

Nioh_v1_21_02.part002.rar
(5 MiB) Downloaded 3251 times

Nioh_v1_21_02.part003.rar
(4.78 MiB) Downloaded 3487 times

    Supported resolutions:
    5:4
    1280x1024

    4:3
    1024x768
    1152x864
    1280x960
    1400x1050
    1600x1200
    2048x1536

    16:10
    1280x800
    1440x900
    1680x1050
    1920x1200
    2560x1600

    21:9
    2560x1080
    3440x1440
    3840x1600

    32:9
    3840x1080

    48:9 and 48:10
    4800x900
    5760x1080
    7680x1440
    5040x1050
    5760x1200
    7680x1600
Bastinazus
Posts: 10
Joined: 11 Nov 2017, 13:03

Re: Nioh No 21:9 support (Fix request)

Post by Bastinazus »

jackfuste wrote:Update for v1.21.02
Nioh_v1_21_02.part001.rar

Nioh_v1_21_02.part002.rar

Nioh_v1_21_02.part003.rar

    Supported resolutions:
    5:4
    1280x1024

    4:3
    1024x768
    1152x864
    1280x960
    1400x1050
    1600x1200
    2048x1536

    16:10
    1280x800
    1440x900
    1680x1050
    1920x1200
    2560x1600

    21:9
    2560x1080
    3440x1440
    3840x1600

    32:9
    3840x1080

    48:9 and 48:10
    4800x900
    5760x1080
    7680x1440
    5040x1050
    5760x1200
    7680x1600

You are the best, man. Could you tell us a mini-guide (if possible) of how to edit the .exe in order to fix the resolutions? We don't want to bother you every time the game gets updated :)
caleb59
Posts: 6
Joined: 10 Nov 2017, 15:02

Re: Nioh No 21:9 support (Fix request)

Post by caleb59 »

@jack I really appreciate your work but is this a some sort of secret or what? Why you can't tell us how to "do it by yourself"? Don't be afraid - your forum "prestige" will not be harmed in any way if you tell us how to do it, everyone already knows that you are our "savior" - please find time and tell us how do you do your "magic"...
Bastinazus
Posts: 10
Joined: 11 Nov 2017, 13:03

Re: Nioh No 21:9 support (Fix request)

Post by Bastinazus »

The only thing i'm sure of is the .exe must be edited with an hexadecimal editor. The thing is... what part of all that gibberish must be edited in order to fix the resolution?
adriano_99
Posts: 5
Joined: 28 Apr 2016, 11:09

Re: Nioh No 21:9 support (Fix request)

Post by adriano_99 »

jackfuste wrote:Update for v1.21.02
Nioh_v1_21_02.part001.rar

Nioh_v1_21_02.part002.rar

Nioh_v1_21_02.part003.rar

    Supported resolutions:
    5:4
    1280x1024

    4:3
    1024x768
    1152x864
    1280x960
    1400x1050
    1600x1200
    2048x1536

    16:10
    1280x800
    1440x900
    1680x1050
    1920x1200
    2560x1600

    21:9
    2560x1080
    3440x1440
    3840x1600

    32:9
    3840x1080

    48:9 and 48:10
    4800x900
    5760x1080
    7680x1440
    5040x1050
    5760x1200
    7680x1600

Please, can you post the numbers to edit in the .exe ?
This way we can edit ourselves.
SirPommes
Posts: 10
Joined: 09 Nov 2017, 17:51

Re: Nioh No 21:9 support (Fix request)

Post by SirPommes »

I think he will keep that as a secret (for whatever reason). It's his own decision and we should / have to to respect that.

on the other hand ... we all want to know how we cant edit the .exe by ourselves. So I will try to ask one of my friends if he can explain "the magic" to me. and I will share it with you as soon as I can (he is very busy and it could take one or two days).
Icthalion
Posts: 5
Joined: 12 Nov 2017, 19:13

Re: Nioh No 21:9 support (Fix request)

Post by Icthalion »

Guys, if you keep pestering him for the "secret" you might just annoy him enough to stop updating his fix. And you probably still won't get "the secret".

I've tried this hexadecimal editing before, to get widescreen to work in another game. It's gibberish, and as soon as the game updated it was completely different string of numbers I had to find and enter. And that was just for one resolution. Jackfuste is updating this here for about 20 different resolutions. I, for one, am grateful and I'd advise you to be careful what you wish for.
User avatar
CivilWolf
Posts: 62
Joined: 31 Jan 2017, 08:43

Re: Nioh No 21:9 support (Fix request)

Post by CivilWolf »

SirPommes wrote:I think he will keep that as a secret (for whatever reason). It's his own decision and we should / have to to respect that.

on the other hand ... we all want to know how we cant edit the .exe by ourselves. So I will try to ask one of my friends if he can explain "the magic" to me. and I will share it with you as soon as I can (he is very busy and it could take one or two days).

I'm not a pro at this, but I think I have the answer you want.

The game seems to check if the nioh.exe has been edited. To get around that, you need to download a cracked .exe.

From there, you need to find and change the hex values that dictate the game's resolution and Aspect Ratio. To find which hex values to edit, you can compare two of jackfuste's .exe's.(They will be both Integers and Floats)

To find the hex values in an updated cracked .exe(with altered hex value locations) you would need to use some detective skills to hunt down where the values moved to. (convert what you think the default value would be to HEX and then search for that HEX string within a HEX editor)(Keep in mind, the hex values that Jackfuste edited)

Here is a Hex converter that can help you understand what each hex string is:
https://www.scadacore.com/tools/programming-calculators/online-hex-converter/
Bastinazus
Posts: 10
Joined: 11 Nov 2017, 13:03

Re: Nioh No 21:9 support (Fix request)

Post by Bastinazus »

Icthalion wrote:Guys, if you keep pestering him for the "secret" you might just annoy him enough to stop updating his fix. And you probably still won't get "the secret".

I've tried this hexadecimal editing before, to get widescreen to work in another game. It's gibberish, and as soon as the game updated it was completely different string of numbers I had to find and enter. And that was just for one resolution. Jackfuste is updating this here for about 20 different resolutions. I, for one, am grateful and I'd advise you to be careful what you wish for.

Ehm... I think the point of asking him for the "secret" is to avoid annoying him, precissely. If we can fix the .exe by ourselves, he won't have to make the fix again and again, every time Nioh gets updated.
caleb59
Posts: 6
Joined: 10 Nov 2017, 15:02

Re: Nioh No 21:9 support (Fix request)

Post by caleb59 »

Exactly that's the point!

Don't treat him like some sort of "god" here, dunno what's so secret and why he can't simply response and tell us: "No I can't because it's too complicated" or "Yes I can, do it like this..."

I really appreciate his job here but just can't understand this "secrets" - the forum is meant to help and share opinions...
Bastinazus
Posts: 10
Joined: 11 Nov 2017, 13:03

Re: Nioh No 21:9 support (Fix request)

Post by Bastinazus »

caleb59 wrote:Exactly that's the point!

Don't treat him like some sort of "god" here, dunno what's so secret and why he can't simply response and tell us: "No I can't because it's too complicated" or "Yes I can, do it like this..."

I really appreciate his job here but just can't understand this "secrets" - the forum is meant to help and share opinions...

If he doesn't mind fixing the exe every time the game is updated, then I'm fine with that. The only reason why I asked him for a guide was precissely to avoid annoying him every time a new patch is deployed. But if he prefers to maintain it in secret it's ok, as long as he continues supporting the game, hehe.
User avatar
jackfuste
Insiders
Insiders
Posts: 521
Joined: 19 Dec 2011, 16:03

Re: Nioh No 21:9 support (Fix request)

Post by jackfuste »

  • First you need a cracked nioh.exe. Why it's needed? Because legit exe is encrypted and you can't modify it.
  • Download latest version x64dbg debugger - https://sourceforge.net/projects/x64dbg/files/snapshots/
  • Run release\x64\x64dbg.exe with Administrator rights
  • Go to Options - Preferences
  • Uncheck "System Breakpoint"; "TLS Callback"; "Attach Breakpoint" and save settings
  • File - Open - nioh.exe
  • Click RMB and select "Search for - Current Module - Constant"
    Image
  • Enter constant - 3FE38E39 and press OK
    Image
  • Select second found command "mov dword ptr [rbx+0x50], 0x3FE38E39" click on it RMB (right mouse button) and select "Follow in Disassembler"
    Image
  • Scroll down FPU window and click two times LMB (left mouse button) on XMM0 register
    Image
  • Input to "Float:" window you new aspect ratio, for example, for resolution 2560x1080 it will be 2560/1080 = 2.37037037037037
    Click on "Hexadecimal" and copy value from "Long:" window to clipboard, in my case it will be 4017B426
    Image
  • Click two time LMB on command
    mov dword ptr [rbx+0x50], 0x3FE38E39
    and change aspect ratio value 3FE38E39 to your new aspect ratio value 4017B426
    mov dword ptr [rbx+0x50], 0x4017B426
    Click "OK" and then close window "Assemble at ..."
    Image
  • Go to "Memory Map" tab, select nioh.exe click on it RMB and select "Find Pattern"
    Image
  • Paste to "Hex:" window following bytes 0F 95 C0 88 46 34 and press OK
    Image
  • Select found bytes "0F 95 C0 88 46 34"click on it RMB and select "Follow in Disassembler"
    Image
  • Click two time LMB on command
    setne al
    Check "Fill with NOP's" and change it to
    xor al,al
    Click "OK" and then close window "Assemble at ..."
    Image
  • Select "call 0x00007FF772BA3451" and press "Enter" to go inside it
    Image
  • Press "Enter" again to go inside "jmp 0x00007FF773104E40"
    Image
  • Click two time LMB on command
    jle 0x00007FF773104E70
    and change it to unconditional jump
    jmp 0x00007FF773104E70
    Image
    and also change command
    jns 0x00007FF773104E86
    to unconditional jump
    jmp 0x00007FF773104E86
    Image Image
  • Go to "Memory Map" tab, select nioh.exe click on it RMB and select "Find Pattern"
  • Paste to Hex: window following bytes 00 00 87 44 00 00 F0 44 and press OK
  • Select found bytes "00 00 87 44 00 00 F0 44"click on it RMB and select "Follow in Dump"
  • Click RMB in Dump window and change view to "Float - Float (32-bit)"
    Image
  • You will see values 1080 and 1920
    Image
  • For aspect ratio lower than 1.77777 (16:9) you should change 1080 value.
    How to recalc it:
    for aspect ratio 1.6 (16:10); 1920/1.6 = 1200
    for aspect ratio 1.33333 (4:3); 1920/1.33333 = 1440

    And for aspect ratio higher than 1.77777 (16:9) you should change 1920 value.
    How to recalc it:
    for aspect ratio 2.37037 (2560:1080); 1080*2.37037 = 2560
    for aspect ratio 2.38888 (3440:1440); 1080*2.38888 = 2580
  • So, for resolution 2560x1080, change 1920 to 2560
    Click two times LMB on XMM0 register
    Input value 2560 to "Float:" window
    Click on "Hexadecimal" and copy value from "Long:" window to clipboard, in my case it will be 45200000
    Image
  • Click two times LMB on 1920 value in the Dump window and change it to 45200000
    Image Image
  • Go to "Memory Map" tab, select nioh.exe click on it RMB and select "Find Pattern"
  • Paste to Hex: window following bytes 00 0F 00 00 70 08 00 00 and press OK
  • Select first found bytes "00 0F 00 00 70 08 00 00"click on it RMB and select "Follow in Dump"
  • Click RMB in Dump window and change view to "Integer - Signed long (32-bit)"
    Image
  • You will see two group of values
    Image
    First is a real resolution:

    Code: Select all

    3840        2160
    2560        1440
    2048        1152
    1920        1080
    1600         900
    1366         768
    1280         720

    Second is internal game resolution:

    Code: Select all

    3840        2160
    3328        1872
    2560        1440
    1920        1080
    1664         936
    1280         720
     960         540
  • So, for resolution 2560x1080, change all values to 2560 and 1080
    Click two times LMB on 3840 value in the Dump window and change it to 2560
    Click two times LMB on 2160 value in the Dump window and change it to 1080
    etc...
    Image Image
    You can increase/decrease internal game resolution to manipulate image quality.
    So if you wish to get supersampling 2x2 change all internal game resolution values to 5120 and 2160.
    Image
  • File - Patch file
  • Click "Patch File"
    Image
    Make copy of nioh.exe, and select it for patch, but make sure that file doesn't have attribute "Read only"
    Image
caleb59
Posts: 6
Joined: 10 Nov 2017, 15:02

Re: Nioh No 21:9 support (Fix request)

Post by caleb59 »

Yes, thank you very much!
User avatar
antrad
Posts: 49
Joined: 26 Aug 2016, 16:41
Contact:

Re: Nioh No 21:9 support (Fix request)

Post by antrad »

I hope people understand how much time it took to just make that post alone, not to mention figure all this out, and appreciate the effort. Even though I don't play this game, I would like to say thanks.
hi_voltg3
Posts: 11
Joined: 08 Nov 2017, 16:02

Re: Nioh No 21:9 support (Fix request)

Post by hi_voltg3 »

Do you take donations of any sort Jackfuste?
SirPommes
Posts: 10
Joined: 09 Nov 2017, 17:51

Re: Nioh No 21:9 support (Fix request)

Post by SirPommes »

thank you for your guide and as others have said: i really would like to support you for your work. if you take donations of any kind, please feel free to send me a message ( and dont be shy ... you really helped us and it took you some time doing it. So the least I / we can do is support YOU a little) :)
chenkb
Posts: 6
Joined: 15 Apr 2013, 02:40

Re: Nioh No 21:9 support (Fix request)

Post by chenkb »

just login for thx jack.
lol
lol
lol
shrgnatlas
Posts: 13
Joined: 25 Aug 2016, 06:13

Re: Nioh No 21:9 support (Fix request)

Post by shrgnatlas »

SirPommes wrote:thank you for your guide and as others have said: i really would like to support you for your work. if you take donations of any kind, please feel free to send me a message ( and dont be shy ... you really helped us and it took you some time doing it. So the least I / we can do is support YOU a little) :)


I absolutely absolutely positively agree: The level of transparency and professionalism, not to mention the timely uploads of the patched executables since the game's release, have been absolutely amazing and unexpected. You really outdid yourself and as I mentioned in a previous post, were the sole reason I finally went through and purchased what many people were considering a shoddy PC port at best. I've come to love the game and have since validated my purchase of the product with virtually all of my positive sentiments riding on the shoulders of your hard work.

Thank you, Jack.
hyp36rmax
Posts: 22
Joined: 29 Oct 2016, 00:32

Re: Nioh No 21:9 support (Fix request)

Post by hyp36rmax »

Spoiler:
jackfuste wrote:
  • First you need a cracked nioh.exe. Why it's needed? Because legit exe is encrypted and you can't modify it.
  • Download latest version x64dbg debugger - https://sourceforge.net/projects/x64dbg/files/snapshots/
  • Run release\x64\x64dbg.exe with Administrator rights
  • Go to Options - Preferences
  • Uncheck "System Breakpoint"; "TLS Callback"; "Attach Breakpoint" and save settings
  • File - Open - nioh.exe
  • Click RMB and select "Search for - Current Module - Constant"
    Image
  • Enter constant - 3FE38E39 and press OK
    Image
  • Select second found command "mov dword ptr [rbx+0x50], 0x3FE38E39" click on it RMB (right mouse button) and select "Follow in Disassembler"
    Image
  • Scroll down FPU window and click two times LMB (left mouse button) on XMM0 register
    Image
  • Input to "Float:" window you new aspect ratio, for example, for resolution 2560x1080 it will be 2560/1080 = 2.37037037037037
    Click on "Hexadecimal" and copy value from "Long:" window to clipboard, in my case it will be 4017B426
    Image
  • Click two time LMB on command
    mov dword ptr [rbx+0x50], 0x3FE38E39
    and change aspect ratio value 3FE38E39 to your new aspect ratio value 4017B426
    mov dword ptr [rbx+0x50], 0x4017B426
    Click "OK" and then close window "Assemble at ..."
    Image
  • Go to "Memory Map" tab, select nioh.exe click on it RMB and select "Find Pattern"
    Image
  • Paste to "Hex:" window following bytes 0F 95 C0 88 46 34 and press OK
    Image
  • Select found bytes "0F 95 C0 88 46 34"click on it RMB and select "Follow in Disassembler"
    Image
  • Click two time LMB on command
    setne al
    Check "Fill with NOP's" and change it to
    xor al,al
    Click "OK" and then close window "Assemble at ..."
    Image
  • Select "call 0x00007FF772BA3451" and press "Enter" to go inside it
    Image
  • Press "Enter" again to go inside "jmp 0x00007FF773104E40"
    Image
  • Click two time LMB on command
    jle 0x00007FF773104E70
    and change it to unconditional jump
    jmp 0x00007FF773104E70
    Image
    and also change command
    jns 0x00007FF773104E86
    to unconditional jump
    jmp 0x00007FF773104E86
    Image Image
  • Go to "Memory Map" tab, select nioh.exe click on it RMB and select "Find Pattern"
  • Paste to Hex: window following bytes 00 00 87 44 00 00 F0 44 and press OK
  • Select found bytes "00 00 87 44 00 00 F0 44"click on it RMB and select "Follow in Dump"
  • Click RMB in Dump window and change view to "Float - Float (32-bit)"
    Image
  • You will see values 1080 and 1920
    Image
  • For aspect ratio lower than 1.77777 (16:9) you should change 1080 value.
    How to recalc it:
    for aspect ratio 1.6 (16:10); 1920/1.6 = 1200
    for aspect ratio 1.33333 (4:3); 1920/1.33333 = 1440

    And for aspect ratio higher than 1.77777 (16:9) you should change 1920 value.
    How to recalc it:
    for aspect ratio 2.37037 (2560:1080); 1080*2.37037 = 2560
    for aspect ratio 2.38888 (3440:1440); 1080*2.38888 = 2580
  • So, for resolution 2560x1080, change 1920 to 2560
    Click two times LMB on XMM0 register
    Input value 2560 to "Float:" window
    Click on "Hexadecimal" and copy value from "Long:" window to clipboard, in my case it will be 45200000
    Image
  • Click two times LMB on 1920 value in the Dump window and change it to 45200000
    Image Image
  • Go to "Memory Map" tab, select nioh.exe click on it RMB and select "Find Pattern"
  • Paste to Hex: window following bytes 00 0F 00 00 70 08 00 00 and press OK
  • Select first found bytes "00 0F 00 00 70 08 00 00"click on it RMB and select "Follow in Dump"
  • Click RMB in Dump window and change view to "Integer - Signed long (32-bit)"
    Image
  • You will see two group of values
    Image
    First is a real resolution:

    Code: Select all

    3840        2160
    2560        1440
    2048        1152
    1920        1080
    1600         900
    1366         768
    1280         720

    Second is internal game resolution:

    Code: Select all

    3840        2160
    3328        1872
    2560        1440
    1920        1080
    1664         936
    1280         720
     960         540
  • So, for resolution 2560x1080, change all values to 2560 and 1080
    Click two times LMB on 3840 value in the Dump window and change it to 2560
    Click two times LMB on 2160 value in the Dump window and change it to 1080
    etc...
    Image Image
    You can increase/decrease internal game resolution to manipulate image quality.
    So if you wish to get supersampling 2x2 change all internal game resolution values to 5120 and 2160.
    Image
  • File - Patch file
  • Click "Patch File"
    Image
    Make copy of nioh.exe, and select it for patch, but make sure that file doesn't have attribute "Read only"
    Image


This is awesome Jack! Thanks! So is this process similar for most games?
Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 2 guests