Homebrew RELEASE UnityGraphics - Graphics settings for Unity games

masagrator

The patches guy
OP
Developer
Joined
Oct 14, 2018
Messages
6,347
Trophies
3
XP
12,211
Country
Poland
UnityGraphics

This is a combination of SaltyNX plugin and Tesla overlay that allows to modify in real time graphics settings in games using Unity engine.

Screen.jpg


Requirements:
- Atmosphere (This is related to dmnt:cht that allows homebrews for reading build_id of running games. SX OS doesn't provide this info). Not tested on ReinX
- Tesla environment
- SaltyNX
- File with offsets dedicated to game (you can find storage here: https://github.com/masagrator/UnityGraphicsWarehouse)

More info in repo:
https://github.com/masagrator/UnityGraphics

--------------------------
If you want bring support to any other Unity game and you know how to unpack exefs and disassemble main, I can provide help if tutorial at Warehouse is not easy to read.
https://github.com/masagrator/UnityGraphicsWarehouse

Join RetroNX Discord channel and DM me (because some people are sending me invites and never respond after I accept them).
https://discord.gg/9HdWtZ3
 

masagrator

The patches guy
OP
Developer
Joined
Oct 14, 2018
Messages
6,347
Trophies
3
XP
12,211
Country
Poland
As I'm going from Monday to work for next 3-4 weeks abroad, I'm releasing this now.

For now only supported game is Pokémon Mystery Dungeon™: Rescue Team DX 1.0.2 (TID: 01003D200BAA2000) and only Quality category. There will be more if more people will help with expanding support.

For now have fun. Probly next bigger update will come in the end of next month.
 
Last edited by masagrator,

masagrator

The patches guy
OP
Developer
Joined
Oct 14, 2018
Messages
6,347
Trophies
3
XP
12,211
Country
Poland
This is very big, congrats for you work, the ability to create our tweaks!, This should work on the majority of Unity engine games? which limitations did you face it ?
The biggest limitation was my own lack of experience. I have never used classes, etc. And I knew I need to put settings to separate files, otherwise every gui would be in main and that means main.cpp would rise to hundreds of kB, which would be a madness. I have learned enough from looking at WerWolv's overlays to understand finally how to move them to separate file.

For now only limitations I can see are when settings are not using standard casts like int, float, bool, but f.e. Vector3. But if something is using that, then probably end-user won't use it anyway + what is the best way to adjust ints and floats (for now I'm profiling buttons individually for each setting).

So it's not something big. Maybe biggest limitation is my own free time. :unsure:
 
  • Like
Reactions: newkey_sky
0.1.1

masagrator

The patches guy
OP
Developer
Joined
Oct 14, 2018
Messages
6,347
Trophies
3
XP
12,211
Country
Poland
Added 0.1.1 version
  • Fixed version number in Tesla menu
  • Added SetResolution from Screen category with predefined options
  • Added safety for using older offsets files
Remember to update offset file from Warehouse to add support for this option to Pokemon Dungeon.

Unity doesn't accept resolutions other than defined in get_resolutions. I need to implement how to get all supported resolutions and dynamically add options based on that.

2020072618580000-A5A477B869AFD225B3DAF74249D70FF2.jpg
 
Last edited by masagrator,

masagrator

The patches guy
OP
Developer
Joined
Oct 14, 2018
Messages
6,347
Trophies
3
XP
12,211
Country
Poland
Ok, it looks like I was wrong. get_resolutions in Pokemon doesn't output accepted resolutions list. So it will stay as it is.
 

Cybereu

Active Member
Newcomer
Joined
Jun 12, 2020
Messages
25
Trophies
0
Age
36
XP
262
Country
Brazil
Thanks !
Im going to use it a lot.

Edit:
Correcting, I would like to use it a lot but I can`t even know where's exefs files are.
 
Last edited by Cybereu,

uli

Member
Newcomer
Joined
Apr 27, 2013
Messages
5
Trophies
0
Location
Düsseldorf
XP
377
Country
Germany
Just stumbled upon this plugin and started the process of modding The Long Dark. I am completely new to this topic so I will share my steps first, to make sure I didn't miss anything.

I could follow the whole process:
- Get main from exefs via DBI and Android File Transfer App on Mac (I got the main from the update not from the v0)
- Installed Ghidra 9.1.2 (+ SwitchLoader-1.4.0-a9dc0f2-Ghidra_9.1.2)
- Dissambled main (took >2 hours)
- Found the UnityEngine.QualitySettings and Decompiled the function
- Copied all offsets to template.txt
- Created hex Files (size 272) as described in the github Readme
- Put the hex file in sdmc:/SaltySD/plugins/UnityGraphics/01007A700A87C000/9B4979A234077441907E280C6B57A78700000000000000000000000000000000.hex

-> Start Game -> Crashes (SaltyNX seems to have crashed too)

Do you have any hints what I did wrong?

(Atmosphere 1.1.1 / FW 13.0 / Latest SaltyNX)
 

uli

Member
Newcomer
Joined
Apr 27, 2013
Messages
5
Trophies
0
Location
Düsseldorf
XP
377
Country
Germany
Thanks, the issue was related to (stupid) Mac Finder Application which creates dot (.) files everywhere. After running a dot_clean on my SD Card the Game starts and I can at least change the resolution successfully.
When I try to Enter the Quality Settings the Game crashes again.

Thanks a lot for your outstanding work btw. As soon as I have (hopefully) sorted this out I will make a Pull Request to your Repo and do some more Games (Subnautica f.e. :-) )
 

uli

Member
Newcomer
Joined
Apr 27, 2013
Messages
5
Trophies
0
Location
Düsseldorf
XP
377
Country
Germany
I could narrow the settings in template.txt down and have now a working .hex file for The Long Dark.

One annoying thing, which might be related to the behaviour of TLD, is still bugging me.
Every time I enter or leave a building (which happens quite a lot), the changes I made to the Quality Settings are set back to the default settings. The changed resolution stays though.

Is there a way we can make the changes in the Quality Settings permanent? Maybe like the mod from cucholix for Deadly Premonition 2....if yes, can you point me to a howto or explain the steps?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BakerMan @ BakerMan:
    plus there's thunder and lightning outside, and it'll rain soon, there's somehow no tornado watch tho
  • BakerMan @ BakerMan:
    and to make it worse, the heat didn't sway my brother away from wanting to spend some time swimming on his birthday tomorrow
  • Sicklyboy @ Sicklyboy:
    idr where in the US the heat wave is
  • Sicklyboy @ Sicklyboy:
    idk if I'm in it or not
  • BakerMan @ BakerMan:
    midwest, near me and bigonya
  • Sicklyboy @ Sicklyboy:
    ah fuck NJ is in the heat wave
  • BakerMan @ BakerMan:
    we're cooked, possibly literally
  • BakerMan @ BakerMan:
    if you have a habitable basement, the heat shouldn't be down there and that's where you should hang out
  • Sicklyboy @ Sicklyboy:
    No, but, the air conditioner in my living room gets fuckin icy
  • Sicklyboy @ Sicklyboy:
    In a good way, not as in a "my coils are freezing" kind of way
  • K3Nv2 @ K3Nv2:
    Not everyone lives in theirs mom's basement gosh
  • BakerMan @ BakerMan:
    nah, my mom's basement is just for the weekends to check in on the family
  • BakerMan @ BakerMan:
    i usually live in your mom's basement
    +1
  • BakerMan @ BakerMan:
    saves a lot of time fr
  • Sicklyboy @ Sicklyboy:
    It's 11:30 PM here, I just took the trash out and my god is it awful outside
  • Sicklyboy @ Sicklyboy:
    This heatwave can eat my ass
    +3
  • MysticStarlight @ MysticStarlight:
    omg same, it's VERY hot here, too
  • BakerMan @ BakerMan:
    fuck this heatwave, i don't usually sleep with a fan, but i believe the fan is getting put on the bed rather than beside it
  • BakerMan @ BakerMan:
    IT'S 12:30 IN THE FUCKING MORNING AND IT'S STILL 78°, WHAT THE FUCK?
    +1
  • NinStar @ NinStar:
    78º seems abnormal for any part of the day
  • BigOnYa @ BigOnYa:
    Yea it was 96 F for the high, 78 F for the low today, in Ohio, bout same for bakerman in Michigan
  • BigOnYa @ BigOnYa:
    F- fahrenheit C-Celsius. We in USA use F as our temp ratings
  • Sicklyboy @ Sicklyboy:
    F = Freedom units
    +1
    Sicklyboy @ Sicklyboy: F = Freedom units +1