Author Topic: GSX Seated Passengers Maddog MD80  (Read 12291 times)

davidcherrie

  • Full Member
  • ***
  • Posts: 128
Re: GSX Seated Passengers Maddog MD80
« Reply #30 on: June 02, 2025, 04:03:35 pm »
How you manage to make something simple sound like rocket science is a real skill.

Yes, Windows is case-insensitive. No, MSFS isn’t Windows. That’s the problem. The sim’s own loading quirks break what should be basic file handling. You had to write extra code, dig into obscure APIs, and slow down the installer just to paper over that mess.

Meanwhile, the rest of us don’t care why it’s broken. We want it fixed. And it’s been broken for how long? Months? Nearly a year? Meanwhile, you’re busy defending your code like it’s flawless.

Your workaround is still the only reason it works right now. So spare me the “this shouldn’t be necessary” lecture and just own the fix you had to push.
« Last Edit: June 02, 2025, 04:08:40 pm by davidcherrie »

virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 53111
    • VIRTUALI Sagl
Re: GSX Seated Passengers Maddog MD80
« Reply #31 on: June 02, 2025, 05:30:02 pm »
Yes, Windows is case-insensitive. No, MSFS isn’t Windows. That’s the problem.

You just made my point. Since MSFS RUNS on Windows, it's not a very good idea to have an internal loading system that doesn't work with the same rules as Windows, when dealing with loading fileswhich ARE on the Windows filesystem.

Quote
The sim’s own loading quirks break what should be basic file handling. You had to write extra code, dig into obscure APIs, and slow down the installer just to paper over that mess.

Thank you for making my point even clearer now. This shouldn't even been required. It causes unnecessary complications in any app that would need to deal with such files. Let's say in a different way:

Suppose another app like some livery manager, or some add-on which places extra stuff in the exterior or interior model, like 3rd party instruments, EFBs, tools in the cockpit, anything that require modifying the exterior model in a similar way to the FSDT Installer. EACH and EVERY of those app should be coded around this, not even mentioning the SDK doesn't say ANYTHING about it, so how any developer can possibly know that ?

In fact, the SDK most of the time says that basically everything in the sim (SimVar Names, Animation names, etc.) is case-insensitive and while for aircraft they don't specifically say anything about case, the closest thing you can find is when they describe generic SimObjects:

https://docs.flightsimulator.com/msfs2024/html/5_Content_Configuration/Modular_SimObjects/SimObjects/SimObjects.htm

Quote
When creating any type of SimObject, except aircraft, the folders and files must all be formatted following the rules given below (note that filenames are case in-sensitive).

Of course one might point out they talk about non-aircraft here but, it's not as if they say in aircraft SimObjects filenames become case-sensitive instead and in the only one place when case MATTERS (the object GUID) they clearly say it must be all lower-case, so how one can possibly guess that a filename, on Windows, switched from being case sensitive or not, depending on the context?

Quote
Meanwhile, you’re busy defending your code like it’s flawless.

Of course! The code WAS flawless, the paths modified by the GSX installer looked perfectly fine to me, they were EXACTLY like the original one from Leonardo!


[models]
exterior=..\..\MaddogX\Model\MaddogX_exterior.xml
interior=..\..\MaddogX\Model\MaddogX_interior.xml


Is this looking like a WRONG path to you ? This is the original, unmodified file supplied with the airplane, and it WORKS, so you wouldn't say it's "wrong". It becomes "wrong" only when it's used from an .XML, as we just discovered so, when I looked at the files and how their were modified by the GSX installer, they look 100% correct to me:

<LOD minSize="0" ModelFile="..\..\MaddogX\Model\MaddogX_exterior.gltf" />

What you would say, if YOU wrote the code which created this ? You would say "I copied the path from the model.cfg EXACTLY!". Unfortunately, this didn't work, I shouldn't have copied the path exactly, that's the issue.

It took a long time to realize this because:

It doesn't happen with all liveries. It happens only with an external livery for which GSX must create a COPY of the exterior .xml, which happens only if GSX has a crew with a uniform matching that airline. If I tried some of them, if it didn't load, I went back to the menu, enter the Hangar to look at the livery, it then worked, I just dismissed as another MSFS quirk, because that's what it was in the end. I double checked the path in the XML, and it looked correct, because it WAS identical to the one taken from the original unmodified model.cfg, how you'd expect you had to CHANGE the path found in the model.cfg, because it was "wrong" even if it shouldn't ?
« Last Edit: June 02, 2025, 05:33:12 pm by virtuali »

virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 53111
    • VIRTUALI Sagl
Re: GSX Seated Passengers Maddog MD80 **SOLVED**
« Reply #32 on: June 02, 2025, 05:32:35 pm »
And since the problem is now FIXED, thanks to a workaround in the GSX Installer that now explicitly checks for case-sensitivity in case the model.cfg doesn't match the "real folder" name, there's no need to continue it, so it can be marked as solved and closed.