Skip to content

NoelTautges/GraphicsAdder

Repository files navigation

GraphicsAdder

A program that converts the DirectX shaders of Outer Wilds to OpenGL as a first step to port it to other platforms.

Important notes: read before using

  • Do not use the modified version of Outer Wilds if you are photosensitive. Lighting is extremely flickery, especially around campfires, and I cannot guarantee the safety of the game after this point.

  • You convert your files at your own risk. While I have ironed out all discovered bugs where Outer Wilds crashes as a result of using DirectX with converted files, I cannot guarantee it will never crash.

  • This tool will not corrupt your saves, even if you replace the game files, because they are stored in a separate folder.

How do I use it?

1.) Make sure you're on Windows and have the Steam version of Outer Wilds installed

2.) Download the latest version of GraphicsAdder from the releases tab to the right

3.) Back up your OuterWilds_Data folder (open by right clicking on Outer Wilds in Steam > Local Files > Browse) in case something goes wrong

4.) Extract the zip file, run GraphicsAdder.exe, and click More Info > Run Anyway if on Windows and SmartScreen shows up

5.) In GraphicsAdder, click Load Steam and Convert and wait for it to finish

6.) Drag the files from OuterWilds_Data_replacement to OuterWilds_Data and hit replace

7.) Right click on Outer Wilds in Steam > Properties > Add -force-glcore to Launch Options

8.) Launch Outer Wilds from Steam as usual and see the beauty (?) of a world without proper lighting effects, most of the in-game GUI, and far too dithery geysers!

9.) (optional) Remove the Launch Options in Properties if you want to go back to the original game

How do I build it?

Open GraphicsAdder.sln in Visual Studio and build the GraphicsAdder project. Only x64 is supported.

Non-NuGet dependencies are included in Libraries.

Dependencies

1.) AssetTools.NET (commit >= 3a84f92)

2.) HLSLccWrapper (my fork without architecture suffixes if you don't feel like changing it yourself)

3.) uTinyRipper and its component DXShaderRestorer (my fork with write support for shader blobs)

I have a question!

Shoot me a DM over at my Twitter or my Reddit or open an issue in this repository!

Future plans

1.) Epic Games Store support

2.) Automatic backup and restore for game files

3.) Generalization to all DirectX-exclusive Unity games

4.) Make all shaders actually work (low priority)

About

A program that converts the Direct3D shaders of Outer Wilds to OpenGL as a first step to port it to other platforms. May be generalized to all Direct3D-exclusive games in the future.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors

Languages