A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Shin Megami Tensei III Nocturne HD Remaster - How to Change the Internal Render Resolution

Written by The Rhythm Thief   /   Updated: May 24, 2021    


How to change the internal render resolution to an arbitrary setting beyond 1080p.

Guide to Increase the Internal Render Resolution



Overview



Fixing this day 0 abandonware, one setting at a time. By default, the internal render resolution of Nocturne's "HD" Remaster can only be toggled between 360p, 720p and 1080p, regardless of your display resolution, e.g. even by setting your screen resolution to 4K you can still render at most 1080p with a superimposed 4K HUD.

Disclaimer: at the time of writing, it is unclear how these changes translate into native Unity3D settings, whether this interaction is intended and whether it will break things -- all I know is that it looks good.

Preprequisites



  • Hex editor (I used HxD for this).
  • Some basic understanding of how to use your hex editor.

Tutorial



Step 1

Navigate to the game directory (right-click, browse local files).

Step 2

Backup GameAssembly.dll. Open GameAssembly.dll in your Hex editor.

Step 3

Search for the following hex value.

80 07 00 00 C7 03 38 04 00 00



Modify as follows:

00 1E 00 00 C7 03 E0 10 00 00



Step 4

Search for the following hex value.

80 07 00 00 BF 38 04 00 00



Modify as follows:

00 0F 00 00 BF 70 08 00 00



Step 5

Save, launch the game, set render scale to High.

Comments

Some resolution values to play with. Feel free to experiment with them in either of the edits, but the results won't always look good. You should also be able to deduce the locations of Low and Medium in-game render scale settings from this, which correspond to 640x360 and 1280x720 resolutions respectively.

  • 80 02 00 00 = 640
  • 68 01 00 00 = 360
  • 00 05 00 00 = 1280
  • D0 02 00 00 = 720
  • 80 07 00 00 = 1920
  • 38 04 00 00 = 1080
  • 00 0A 00 00 = 2560
  • A0 05 00 00 = 1440
  • 00 0F 00 00 = 3840
  • 70 08 00 00 = 2160
  • 00 1E 00 00 = 7680
  • E0 10 00 00 = 4320

In Step 3, I am fairly confident that this is the internal render resolution associated with the High in-game setting (4 byte word size per dimension). Hence, we set it to 8K (7680 × 4320).

In Step 4, it is currently unclear how this pair of numbers relates to Nocturne's rendering pipeline, but changing them is required for satisfactory results. I have noticed that setting this resolution equal to or higher than the render resolution may slightly break character rendering, whereas setting it to 4K (3840 x 2160) works well.

If you want to set your own custom res, be mindful of the Endianness when converting with an engineering calculator.

Results



Before and After


Written by The Rhythm Thief.