• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

People have started to mod UWP games (Forza 6 Apex)

Thought this was new thread worthy given all the handwringing about UWP games being unmoddable. Saw a post from GAF user TheAdmiester who has been messing around with modding Forza 6. I'm not sure what methods he's using, but from reading further in the thread sounds like people have been messing around with files in the game.

Source: http://www.neogaf.com/forum/showthread.php?p=205585185#post205585185

I think I might've just modded a UWP app somehow. I'm not sure what I did but I've broken the Audi S3's interior.

rs990zA.png


I'm also pretty sure the exterior of my car is the Forzavista LOD model but I don't know how to verify that.

yvzcLJb.png


EDIT: Yep, it's modded. Now's where my fun starts. I managed to edit the credits which is the easiest way to prove if what I change does actually affect the game:

Sorry for the double post but I thought I'd just update with some slightly more interesting stuff.

1. Made the rain on the windshield a LOT heavier/denser. Kind of unrealistic but it's so pretty to look at since they're all dynamic.

TrEMbJb.png

.
 
Just to clarify a bit, I'm not even sure myself how I modded the files. I did some endless tweaking with folder permissions and after a few restarts (I thought I'd made no progress and gave up, only to check the folder a few days later and I had access) I was in.

I can in theory modify any file the game has in it, but since the majority of its files aren't standard formats I can't touch a lot of them. The main thing I can do is fiddle with its renderscenario settings which are basically like in-depth hidden graphics options like car LODs and stuff as those files are plaintext XML.

If someone could crack the .slt format the game uses for its database I could for example start modifying car engines, the sounds they use, performance figures and the like.
 

Gattsu25

Banned
"Also the topic is rather dead, so... AMA I guess? I tried to explain to a Steam friend what I did but his computer was having none of it, so I assume I'm one of the very few who can edit this game. Ask away if anything is even remotely interesting about this."

That seems important to note. Also, I remember from the original Tim Sweeney thread that it was possible to mod UWP apps now but it's a major pain in the ass, is not sanctioned by the platform (whereas it's an everyday aspect of Win32), and a feature that can be removed at any time in future updates to the UWP platform.
 

Durante

Member
I remember from the original Tim Sweeney thread that it was possible to mod UWP apps now but it's a major pain in the ass, is not sanctioned by the platform (whereas it's an everyday aspect of Win32), and a feature that can be removed at any time in future updates to the UWP platform.
That's what I was going to post - the crucial difference is that unsanctioned modification is a feature of Win32, but a bug in UWP.
 

singhr1

Member
That's what I was going to post - the crucial difference is that unsanctioned modification is a feature of Win32, but a bug in UWP.

I mean, sometimes. Developers often protect their Win32 software and games from modifications.

Also not a "bug"
 
That's what I was going to post - the crucial difference is that unsanctioned modification is a feature of Win32, but a bug in UWP.

I'm fairly sure it's an unintended side-effect of both. Have you seen how much some devs like Rockstar try to stop people modding their Win32 games? UWP is rather locked down but I think it's unfair to call it a bug that it allows modding. If they were so concerned about games being modded then they wouldn't leave plaintext files everywhere and the game itself would have an integrity check and refuse to start like they do on console, not just checking the files against servers by default.

If the files are on your computer and not a server then you can bet it's only a matter of time before you can mod them, whether the restriction is folder permissions like with this game or non-standard formats.

EDIT: I should make this a bit more interesting and show some stuff off:

Once you have access to the WindowsApps folder, this is how your apps look.
FVMjHec.png


I have the Xbox App installed to this folder as well but that's irrelevant, what we're looking at now is the Apex one. Here's how the root folder looks. What's interesting to note is that the .exe will not run on its own. I assume apps execute things with certain launch parameters that make it function, but I still don't understand what you're executing when you click an app's icon. Ever since at least the 360 titles, Forza's assets have always been contained in this "media" folder you can see in this screenshot.
JjE1m7c.png


Inside the media folder is a multitude of asset files and folders. The one we want to look at right now is renderscenarios as most of the other files are odd formats or encrypted it seems.
5vQEU66.png


Inside renderscenarios we have a PC folder, then in that we have a folder for each of the presets: low, medium, high, ultra. As I play on max settings I edit the ultra folder, here are the contents of that:
QiaoxLv.png


As you can see, there's a different XML document for certain "scenarios" in the game and the rendering options they should use, hence the name. The Xbox One also uses this format of configuration, because as you may have noticed, in a 1 car race your reflections and raindrops run at 60fps while with AI they're cut to 30. On the PC they're all unlimited once your settings are high enough, but if I wanted to cap them I would do it in one of these files. Here are the contents of photomode.xml:
3qeKJ7u.png


Most of these variable names are probably just guesswork if you make changes to them, but a few are self explanatory. One of the major changes I made was to set "CarDrawAutovista" to true, meaning that in photo mode I now see the highest LOD version of my car, smooth wheel arches etc. Enabling that in the race scenarios is what messed up the car's cockpit model in the picture at the top of this thread, as there's no proper animated cockpit for autovista cars to use during a race.


Hope some of this was interesting to read.
 

Gattsu25

Banned
I'm fairly sure it's an unintended side-effect of both. Have you seen how much some devs like Rockstar try to stop people modding their Win32 games? UWP is rather locked down but I think it's unfair to call it a bug that it allows modding. If they were so concerned about games being modded then they wouldn't leave plaintext files everywhere and the game itself would have an integrity check and refuse to start like they do on console, not just checking the files against servers by default.

If the files are on your computer and not a server then you can bet it's only a matter of time before you can mod them, whether the restriction is folder permissions like with this game or non-standard formats.

Not talking about games. Talking about Win32 as an API.

Win32 allows people to freely modify the contents of their hard drives. Some developers (such as Microsoft) take additional steps to prevent that using things like encryption and hash checks..but the core of Win32 is openness.
 

Durante

Member
I'm fairly sure it's an unintended side-effect of both.
This is not the case, no. Many of the Win32 APIs e.g. GeDoSaTo uses were created (by Microsoft) for the express purpose of modifying the behaviour of existing application binaries.

I'm not talking about what people (e.g. game developers) do with the APIs/containers here, but about their natural default state -- without developers actively changing it. The natural state of Win32 is open to modification, the natural state of UWP is closed.
 
Not talking about games. Talking about Win32 as an API.

Win32 allows people to freely modify the contents of their hard drives. Some developers (such as Microsoft) take additional steps to prevent that using things like encryption and hash checks..but the core of Win32 is openness.

This is not the case, no. Many of the Win32 APIs e.g. GeDoSaTo uses were created for the express purpose of modifying the behaviour of existing application binaries.

I'm not talking about what people do with the APIs/containers here, but about their natural state -- without developers actively changing it. The natural state of Win32 is open to modification, the natural state of UWP is closed.

I see, sorry about the misunderstanding, I did interpret that as what the games do and not the APIs themselves. What kind of functions does Win32 have that are explicitly mod-friendly?
 
A very simple example would be SetWindowsHookEx.

Just read a brief bit about it. In layman's terms it seems to allow external processes to read info about and modify other processes, right?

If so, is this essentially what ENBSeries' d3d9.dll/d3d11.dll and similar mods use?
 

JaggedSac

Member
That's what I was going to post - the crucial difference is that unsanctioned modification is a feature of Win32, but a bug in UWP.

What this person was able to do was not a bug. With the proper permissions, as he said, one can do whatever one wants with the files in the UWA install directory, as with any Win32 application. What has not been done, is modification of anything at runtime using DLL injection or remote process memory alterations. That is quite possible to be done as well. DLL injection cannot and will never be possible to be done UWA to UWA, but Win32 to UWA, maybe. I mean, UWAs have to be able to be debugged, so...
 

Blam

Member
It's not a bug being able to mod UWP you can just take ownership of the entire WindowsApps folder and bam do whatever you want with it.
 
Great work TheAdmiester. I'm surprised this thread isn't longer.

Personally I don't care about mods with Fallout 2 waaaay back in the day and New Vegas a few years ago being the only games where I've actively downloaded and installed mods for but just to have the capability to mod UWP games is big for those into that stuff. It seemed to be the last big bulletpoint for UWP critics.
 
If your idea of modding is the ability to edit xml files on hdd then yes.

I have access to every file. The XML part is simply because I don't have the tools to open the other filetypes, not because of anything UWP related. It's like how in GTA 5 we couldn't mod it for months until people cracked the archive format. I have access to the game files but can't do much with most of them, so yes, it will be truly moddable if enough people with the knowhow care about it.
 

cakely

Member
Great work TheAdmiester. I'm surprised this thread isn't longer.

Personally I don't care about mods with Fallout 2 waaaay back in the day and New Vegas a few years ago being the only games where I've actively downloaded and installed mods for but just to have the capability to mod UWP games is big for those into that stuff. It seemed to be the last big bulletpoint for UWP critics.

The "modding" being talked about here is setting parameters in an xml file for Forza 6 Apex.

This is not the same thing as, say, writing an interception dll that changes directX library calls.
 
The "modding" being talked about here is setting parameters in an xml file for Forza 6 Apex.

This is not the same thing as, say, writing an interception dll that changes directX library calls.

It was news to me. I thought UWP was an unbreakable black box the way that MS initially talked about it.
 
Because of my 2GB GPU I can't set the game at higher than Medium and my resolution wont go past 1680x1050, is there any way to force 1920x1080 resolution in this game so far?
 
Because of my 2GB GPU I can't set the game at higher than Medium and my resolution wont go past 1680x1050, is there any way to force 1920x1080 resolution in this game so far?

Do you have Dynamic Optimisation turned on? If it's on you're restricted but I believe if you turn every mention of "Dynamic" off you should be able to run things however you want.
 
Top Bottom