Ori and the Blind Forest

Detailed breakdowns of how games react to widescreen, ultra-wide, 4k and multi-mon
Post Reply
User avatar
Timobkg
Posts: 79
Joined: 17 Jul 2010, 21:49

Ori and the Blind Forest

Post by Timobkg »



Widescreen Grade: A
Ultra-Widescreen Grade: Incomplete
Multi-monitor Grade: Unsupported
4k Grade: Incomplete

Read Full Detailed Report - Ori and the Blind Forest

Ori and the Blind Forest is a single-player-only platform adventure video game designed by Moon Studios, an independent developer, and published by Microsoft Studios. Players assume control of Ori, a white guardian spirit, who has the ability to wall jump and pairs up with a spirit named Sein that can shoot Spirit Flames. Sein is the light and eyes of the forest's Spirit Tree. In order to progress forward in the game, players are tasked to move between platforms and solve puzzles. The game also features a system called "soul links", which allows players to save at will, and an upgrade system which gives players the ability to strengthen Ori's skills.

Set as a 2D open world platform game, the player controls Ori, a white guardian spirit. He has the ability to jump, climb and has many other abilities. Sein can also shoot Spirit Flames to assist in combating enemies or obstacles. Ori is required to interact with his environment as he jumps from platforms and solves puzzles. Ori is faced with enemies as he makes his way to restoring the forest. The player helps Ori collect health shards, energy shards, new abilities, and upgrades. Beside Ori is Sein who is the light and eyes of the Spirit Tree.

Source: Wikipedia



4:3


16:10


16:9


3x1

Last edited by Timobkg on 06 Jan 2016, 22:26, edited 2 times in total.
Reason: Edit
User avatar
czarman
Insiders
Insiders
Posts: 685
Joined: 11 Dec 2008, 23:51
Location: Germany

Re: Ori and the Blind Forest

Post by czarman »

I dont own this Game (yet) but since it is UNITY Engine its probably easy to get it to HOR+ .Hex edit the Assembly-CSharp.dll and if necessary Ori.exe - look for 39 8E E3 3F and change it to your Aspect Ratio......
CZARMAN aka 彼得爸爸
User avatar
Deh
Posts: 10
Joined: 14 Mar 2016, 17:42

Re: Ori and the Blind Forest

Post by Deh »

There is a new version of this game launching soon, any ultrawide support?
User avatar
Garrett
Insiders
Insiders
Posts: 366
Joined: 12 Mar 2013, 23:18

Re: Ori and the Blind Forest

Post by Garrett »

Deh wrote:There is a new version of this game launching soon, any ultrawide support?

The Definitive Edition supports ultra-widescreen natively (Twitter post) but note that this is not going to be a free update.
fomoz
Posts: 31
Joined: 26 May 2013, 23:08

Re: Ori and the Blind Forest

Post by fomoz »

Garrett wrote:
Deh wrote:There is a new version of this game launching soon, any ultrawide support?

The Definitive Edition supports ultra-widescreen natively (Twitter post) but note that this is not going to be a free update.


Any Surround fixes for this?
Intel i7-5960X @ 4456 1.20V; Noctua NH-D14
G.Skill 32GB @ 2800 CL15 1.25V; ASRock X99 OC Formula/3.1
2x NVIDIA TITAN X Pascal
2x Intel 520 240GB RAID-0; 2x Crucial BX100 500GB RAID-0; 2x Mushkin Reactor 1TB RAID-0
1x Seagate Backup Plus Fast 4TB
EVGA SuperNOVA 1600 P2; Rosewill Thor V2; 3x Asus PG278Q 2560x1440 144Hz G-SYNC
DacMagic Plus, 2x Dynaudio BM15A, 2x Dynaudio BM14S; Windows 10 Pro x64
User avatar
b0n3z
Posts: 64
Joined: 31 Jan 2007, 06:46
Location: Orange, CA
Contact:

Re: Ori and the Blind Forest

Post by b0n3z »

The original supported 3x1 surround gaming using Flawless Widescreen. However the new Definitive Edition does not as the EXE changed to oriDE.exe now. :cry:

Does anyone know how to create plugins for Flawless Widescreen? I'm trying to hack the non-DE version, but it's not working.
ASUS Maximus XII Gene MB | i7 4790k CPU with Corsair Hydro Series H80i | Corsair Dominator Platinum 32GB | (2) EVGA nVidia GeForce GTX1080 Founders Edition in HB SLI | 1TB Samsung EVO SSD | Corsair Digital AX760i PSU | (3) Asus PG279Q (1) Asus PG278Q mounted on WSGF Ultimate Desk Stand v2 with Thru Desk Mount (3+1 Landscape Surround) | HTC Vive | Grace Design m9XX Headphone Amp/DAC | AudioEngine A5+ Bamboo | Ultimate Ears CIEM UE-5 Pro | ErgoDox Infinity Keyboard (Cherry Red) with Custom Keycaps | Logitech G502 Proteus Core Mouse | Win10 Enterprise x64

Current Setup
imusrt
Insiders
Insiders
Posts: 291
Joined: 21 Oct 2014, 23:33

Re: Ori and the Blind Forest

Post by imusrt »

2016 Definitive Edition (proof of 21:9 support, by default)
Tried very hard to fix this thing to spread with no pillarbox. Bitter failure. Dev, why you force Unity into a fucking box? Let it free, user knows best.
DE_cp1.jpg
DE_cp1.jpg (281.43 KiB) Viewed 13461 times

2015 edition, with FWS (or no-FWS & instead Assembly-CSharp.dll hex edit yourself, swapping 16:9 aspect (39 8E E3 3F formatted hex) with yours).
nonDE_cp1.jpg
nonDE_cp1.jpg (314.64 KiB) Viewed 13413 times

(manual PLP, borderless with Borderless Gaming. Though 2015 can also be spread manual FS w SoftTH DX9 enforced, but doesn't run butter smooth)
User avatar
b0n3z
Posts: 64
Joined: 31 Jan 2007, 06:46
Location: Orange, CA
Contact:

Re: Ori and the Blind Forest

Post by b0n3z »

I wish I knew more about programming in C#. I found this other thread within WSGF also based upon the Unity engine:
http://www.wsgf.org/forums/viewtopic.php?f=64&t=27490

So I downloaded JetBrains decompiler just to take a look:
https://www.jetbrains.com/decompiler/

I loaded the file Assembly-CSharp.dll from Ori DE into the decompiler. In looking around I found the following for FOV under the CameraSizeConstraint.cs object within the Root:

Code: Select all

using System;
using UnityEngine;

public class CameraSizeConstraint : MonoBehaviour
{
  public float FixedWidth;
  public Transform CameraOffset;
  public Camera Camera;

  public CameraSizeConstraint()
  {
    base.\u002Ector();
  }

  private void Start()
  {
    float num = this.FixedWidth / 2f / Mathf.Tan((float) ((double) this.Camera.get_fieldOfView() / 2.0 * (Math.PI / 180.0))) / this.Camera.get_aspect();
    Vector3 localPosition = this.CameraOffset.get_localPosition();
    localPosition.z = (__Null) -(double) num;
    this.CameraOffset.set_localPosition(localPosition);
  }
}


Now just to make sense of this all and compile it or hex edit it (I wish I could).

-b0n3z
ASUS Maximus XII Gene MB | i7 4790k CPU with Corsair Hydro Series H80i | Corsair Dominator Platinum 32GB | (2) EVGA nVidia GeForce GTX1080 Founders Edition in HB SLI | 1TB Samsung EVO SSD | Corsair Digital AX760i PSU | (3) Asus PG279Q (1) Asus PG278Q mounted on WSGF Ultimate Desk Stand v2 with Thru Desk Mount (3+1 Landscape Surround) | HTC Vive | Grace Design m9XX Headphone Amp/DAC | AudioEngine A5+ Bamboo | Ultimate Ears CIEM UE-5 Pro | ErgoDox Infinity Keyboard (Cherry Red) with Custom Keycaps | Logitech G502 Proteus Core Mouse | Win10 Enterprise x64

Current Setup
imusrt
Insiders
Insiders
Posts: 291
Joined: 21 Oct 2014, 23:33

Re: Ori and the Blind Forest

Post by imusrt »

It is a good find b0n3z, thanks. It is aspect we want. Have some ideas at least now, need to build somehow later.
-----
The most disturbing code, most likely the problem:
MaintainAspectRatio.cs
1. First of all, dev has used "1.77777..." a fair amount in this dll. That is why so many 16:9 aspect hits in hex. I think. Switching them does not improve the logic, so that hex don't fix game. I think, something like that.
2. The main issue here (I think) is dev's new & funky 21:9 code (2.389f), stuck snuggly in here. I think that's got to go, somehow. In a manor of speaking (the flow could be shoved with a hardcode, or the 21:9 value changed to a logical value that would alter the flow)
3. Guess1 (strong guess): Change the dll's hex for 21:9, to something else, to affect the Clamp statement's effect on flow.

Code: Select all

4. Tuning... will describe some vars in this area. This is rough, sharing thought
A.   'num1 = your proper aspect, temp-stored here.
   'eg0 num1=1.333333333 (4:3) (!)
   'eg1 num1=1.777777778 (16:9)
   'eg2 num1=2.388888889 (3440x1440, ~21:9)
   'eg3 num1=3.259259259 (3520x1080, ~16:5) (!)
   'eg4 num1=5.333333333 (LLL 16:9x3) (!)
B.   'num2 looks faulty, is used as a flag. It is compared with num1 to decide a horrible fait. I think.
   'Clamp is used to direct aspect-range's future flow (branch of two, one is bad & should be shunned).
   'num2 shuns your wide aspect (via clamp), storing instead 21:9 (for flagging, not actual visuals yet).
   'eg0 num1 of 1.333333333 = num2 of 1.777777778 (!)
   'eg1 num1 of 1.777777778 = num2 of 1.777777778
   'eg2 num1 of 2.388888889 = num2 of 2.388888889
   'eg3 num1 of 3.259259259 = num2 of 2.388888889 (!!!)
   'eg4 num1 of 5.333333333 = num2 of 2.388888889 (!!!)
C.   height (used first as a flag):
   'i. Examples
   'eg0 height = 0.75 (!)
   'eg1 height = 1.0
   'eg2 height = 1.0
   'eg3 height = 1.364341085 (!!!)
   'eg4 height = 2.232558140 (!!!)
   'ii. Logic branch (BAD I think):
   '- if height > 1.0 (eg PLP, LLL; we are forced into this BAD branch atm), then
   '- 1. store (eg):
   '- - eg3: new width-variable = 0.732954545 (ie 1/height-variable, ie 1/1.364341085)
   '- - eg4: new width-variable = 0.447916667 (ie 1/height-variable, ie 1/2.232558140)
   '- 2. width-variable then thrown to Rect (____), along with height (of 1, for all egs, including eg3).
   '- - means: these values will be used to calc later (are not your actual px/aspect-values, here). But we can fix logic here, for later.
   '= 3. OutputGuess1: appears nasty code, whining for pillarbox.
   '= - eg3: 3520 x 0.732954545 (width-variable) = 2580 pxWidth, which will auto-use 1080, which is about ~21:9, a hint wider (2560x1080 would be dead-proper 21:9).
   '= = = This is exactly what I see in-game (game-image bare-hint-wider than 21:9). Our first test of theory passes.
   '= - eg4: 5760 x 0.447916667 (width-variable) = 2580 pxWidth, which will auto-use 1080, which is about ~21:9, a hint wider (2560x1080 would be dead-proper 21:9).
   '= = = Same exact 21:9 output. This villian.
------WE ARE HERE-------
   'iii. Logic flow (GOOD BRANCH. we PLP/LLL want to shove over to this branch. Sort of):
   '- if height < 1.0 (ie, eg0 of 4:3; PLP can't get in here atm), then
   '1. width-variable is never used (ie it will not mess with our wider-aspects). Rect is instead sent 1 (for width; which will likely = [x yours = yours]. your proper width's aspect, in theory)
   '2. It uses height variable & defaults to your width (1x yours), which appears exactly what we want.
   '3. This branch is evil toward 4:3. I think. It will letterbox narrow aspect. I think.
   '4. If we force our way here, the height needs a fudge. I think. This is a spanner in the works. I think, hope can think around it. I don't know it could block, very easily.
   '= - eg0: 1200 (pxHt) x 0.75 (height-variable) = 900 (!)
   '= - eg1: 1080 (pxHt) x 1.0 (height-variable) = 1080
   '= - eg2: 1440 (pxHt) x 1.0 (height-variable) = 1440
   '= - eg3: 1080 (pxHt) x 1.364341085 (height-variable) = 1473.488372000  (!!! what would that do?)
   '= - eg4: 1080 (pxHt) x 2.232558140 (height-variable) = 2411.162791000 (!!! what would that do?)

'MOST IMPORTANTLY, FOR THE GAMBLER (test at your own risk. I have not yet, still feeling around)
'- Logic (you can ignore): 2.389f == 4018E560 >>format>> 60E51840.
'- TO TEST ~GOOD BRANCH:
'Open Assembly-CSharp.dll in HxD. Find 60E51840, replace with __something else__ (evil grin) that is a lot bigger or smaller. It don't matter much, because I can't think which way. One way is right, the other way will make no difference. So 50-50 chance, you try both ways & see.
Post now complete. No more post edits.
----------
At this point, it remains feasible this can be corrected with hex or CE. But not certain yet. There is also I chance I can decompile, fix, recompile (using other tools). But that plain sucks if hex will suffice
Last edited by imusrt on 21 Oct 2016, 08:49, edited 4 times in total.
User avatar
b0n3z
Posts: 64
Joined: 31 Jan 2007, 06:46
Location: Orange, CA
Contact:

Re: Ori and the Blind Forest

Post by b0n3z »

Sorry imusrt. I lost you a ways back. It feels like I'm watching this video:
https://www.youtube.com/watch?v=qVY2x6f3FTU

Even though I understand HTML code it's extremely hard to concentrate and understand any word she's saying (blah, blah, blah, SQUIRREL!) Maybe I need more coffee. I'm just glad your brain is on it. Thank you!

-b0n3z
ASUS Maximus XII Gene MB | i7 4790k CPU with Corsair Hydro Series H80i | Corsair Dominator Platinum 32GB | (2) EVGA nVidia GeForce GTX1080 Founders Edition in HB SLI | 1TB Samsung EVO SSD | Corsair Digital AX760i PSU | (3) Asus PG279Q (1) Asus PG278Q mounted on WSGF Ultimate Desk Stand v2 with Thru Desk Mount (3+1 Landscape Surround) | HTC Vive | Grace Design m9XX Headphone Amp/DAC | AudioEngine A5+ Bamboo | Ultimate Ears CIEM UE-5 Pro | ErgoDox Infinity Keyboard (Cherry Red) with Custom Keycaps | Logitech G502 Proteus Core Mouse | Win10 Enterprise x64

Current Setup
imusrt
Insiders
Insiders
Posts: 291
Joined: 21 Oct 2014, 23:33

Re: Ori and the Blind Forest

Post by imusrt »

Definitive Edition is fixed I think. Nearly certain. Go play it, see if stable throughout game.
(main menu)
oriDE_fixed aspect.jpg
oriDE_fixed aspect.jpg (398.38 KiB) Viewed 5058 times

Ori and the Blind Forest: Definitive Edition 2016. By Moon Studios..............

Aspect Ratio/Pillarbox Fix:
1. Open <path-to-game>\oriDE_Data\Managed\Assembly-CSharp.dll in HxD.
2. Find (Ctrl+F) 60E51840 & replace with 00001041.

(checkpoint one)
oriDE_fixed aspect cp1.jpg
oriDE_fixed aspect cp1.jpg (336.1 KiB) Viewed 4999 times

NOTES:
1. Solution uses a quite-clean manual off-switch for the pillarbox. It successfully renders any wide aspect (i.e. to a ridiculous point).
2. User aspect variance:
A. Instructions are for anyone with an aspect wider than 21:9.
B. Narrow-aspect probably has letterbox (e.g. 4:3). If it does, it can be removed, easily & definitely, with hex. Tester may explain if asked, otherwise done.
3. Theory details:
A. In short, MaintainAspectRatio.cs contains 21:9 clamp-crap. Increase clamp's max-value from 2.389f to e.g. 9.0f (== 0x41100000 >>format>> 00001041), so that aspect's width is no longer manhandled by developer.
B. This forces flow down the evil-letterboxer's branch ("~GOOD BRANCH") & bypasses the evil-pillarboxer's branch. This new branch does not negatively affect wider aspects, in any perceivable way.
C. There remains a data weirdness:
i. The height-flag (if you look at the original Guess1's calculations, at the bottom). It means there is a chance of instability (because we are forcing a weird value through, & tester hasn't hunted it down to learn what it will do).
ii. Data-variance considered, still strong chance we have here proper fix. Most likely value thrown to wind, based on good-looking CP1. But there is a chance of instability, after long duration. This should be tested.

(rendered cutscene)
oriDE_fixed aspect rendered.jpg
oriDE_fixed aspect rendered.jpg (325.98 KiB) Viewed 5043 times

One stipulation. If you use these instructions & like. Then you must make the DR (or start it, with image at least).
fomoz
Posts: 31
Joined: 26 May 2013, 23:08

Re: Ori and the Blind Forest

Post by fomoz »

imusrt wrote:Definitive Edition is fixed I think. Nearly certain. Go play it, see if stable throughout game.
(main menu)
oriDE_fixed aspect.jpg

Ori and the Blind Forest: Definitive Edition 2016. By Moon Studios..............

Aspect Ratio/Pillarbox Fix:
1. Open <path-to-game>\oriDE_Data\Managed\Assembly-CSharp.dll in HxD.
2. Find (Ctrl+F) 60E51840 & replace with 00001041.


Works, thanks a lot!

To set a custom resolution, hold shift when you're launching the game in Steam to bring up the launcher:

Image

I don't know how to make a DR but here are some pics.

Image

Image

Image

Image
Intel i7-5960X @ 4456 1.20V; Noctua NH-D14
G.Skill 32GB @ 2800 CL15 1.25V; ASRock X99 OC Formula/3.1
2x NVIDIA TITAN X Pascal
2x Intel 520 240GB RAID-0; 2x Crucial BX100 500GB RAID-0; 2x Mushkin Reactor 1TB RAID-0
1x Seagate Backup Plus Fast 4TB
EVGA SuperNOVA 1600 P2; Rosewill Thor V2; 3x Asus PG278Q 2560x1440 144Hz G-SYNC
DacMagic Plus, 2x Dynaudio BM15A, 2x Dynaudio BM14S; Windows 10 Pro x64
karasuhebi
Posts: 2
Joined: 09 Dec 2014, 08:31

Re: Ori and the Blind Forest

Post by karasuhebi »

Will hex editing this .dll do anything if I want to revert back to playing at 1080p?

Also the WSGF entry (http://www.wsgf.org/dr/ori-and-blind-fo ... edition/en) says that you need to hex edit oriDE.exe, not Assembly-CSharp.dll. Who do we contact to get that fixed?

Last question: Does anyone know how to make it so I can run the game at 120 FPS on a 60 Hz monitor? It's capped at 60 even with vsync off.
Last edited by karasuhebi on 29 Jun 2017, 03:30, edited 1 time in total.
User avatar
skipclarke
Founder
Founder
Posts: 7358
Joined: 13 Oct 2003, 05:00

Re: Ori and the Blind Forest

Post by skipclarke »

I need to download the game and update the whole entry.
Post Reply

Who is online

Users browsing this forum: No registered users and 10 guests