Jump to content
The simFlight Network Forums

Use Prepar3Dv4 Add-On system?


Recommended Posts

Thanks again Pete for your great work with FSUIPC5. Looking forward to the purchase.

One interesting aspect of P3D for me has been the way that it handles add-ons; Umberto from FSDT was talking about it on AVSIM earlier this week and his scenery utilities when migrating content to P3Dv4 use it. Essentially, each add-on defines its contents in a separate XML file allowing it to be easily enabled/disabled, etc. After installing FSUIPC5 into my P3Dv4 setup, I took the liberty of disabling FSUIPC5 in the global DLL.XML file and instead did the following:

Created an FSUIPC directory in the $MyDocuments\Prepar3D v4 Addons directory.

Created an add-on.xml file with the following content:

<SimBase.Document Type="AddOnXml" version="4,0" id="add-on">
  <AddOn.Name>FSUIPC5</AddOn.Name>
  <AddOn.Description>FSUIPC v5</AddOn.Description>
  <AddOn.Component>
    <Category>DLL</Category>
    <Path>D:\Program Files\Prepar3D v4\Modules\FSUIPC5.dll</Path>
    <DLLType>PDK</DLLType>
  </AddOn.Component>
</SimBase.Document>

Loads just fine; the directory of course will differ based on the install.

I like the new install mechanism for modules and scenery; it allows better control over what to enable/disable. Something to consider for the installers going forward? It might make your life simpler as there's no risk of stepping on the toes of another add-on.

Cheers!

Luke

Link to comment
Share on other sites

2 hours ago, Luke Kolin said:

I like the new install mechanism for modules and scenery; it allows better control over what to enable/disable

Do you think so? think about my situation: 600 scenery layers at last count (and the additions over the default are ONLY for Europe, as I fly no where else at present). If I need to re-order sceneries for some reason, like conflicts, or bleed throughs, or whatever, it is now much more complicated. Even just to elimiate some, maybe for a test or maybe to try a different version from another supplier, becomes more difficult. You have to try and find the things first, then work out how to disable what!

I like things to be kept simple and self-contained. This new system, which is apparently applied to P3D3 too, is just too complex for my tastes. And what is worse intriduces even more Unicode and XML files, the latter being the most verbose and error prone format ever desgned.  The files are far bigger than they need to be and one little error in the format anywhere renders it all useless.

Maybe when my successor takes over the reins, as and when (and who), they will think differently. I'm rooted in the basic computing eras -- started as a test programmer on Leo III's back in 1963. For me even Windows is too complex, too far removed from the nitty-gritty or what computers are. ;-)

Pete

 

  • Upvote 1
Link to comment
Share on other sites

3 hours ago, Pete Dowson said:

Do you think so? think about my situation: 600 scenery layers at last count (and the additions over the default are ONLY for Europe, as I fly no where else at present). If I need to re-order sceneries for some reason, like conflicts, or bleed throughs, or whatever, it is now much more complicated. Even just to elimiate some, maybe for a test or maybe to try a different version from another supplier, becomes more difficult. You have to try and find the things first, then work out how to disable what!

Pete, scenery order should be orthogonal to using the new add-in configuration model. I had the same worries as you when I converted FreeMeshX to a single XML file; I was concerned because the patches need to be above the other entries in the scenery library - this doesn't change at all. I define all of the directories using an add-on.xml file, then they appear in the scenery library and I can order them just as before. It's really helpful when sceneries have multiple directories to import, the author can specify them all in the add-on.xml.

As you mentioned, you like to keep things "simple and self-contained". I would suggest that this model achieves that goal. Rather than modifying common configuration files such scenery.cfg or dll.xml (and running the risk of stomping on others or getting stomped on) you create your own add-on.xml in its own directory and P3D takes care of the rest. I remember in the old FS9/FS8 days we would just put FSUIPC.DLL in the modules folder; to disable or uninstall it. That wasn't possible in the FSX/ESP world, but today you can achieve the same thing via a folder in MyDocuments\Prepar3dv4 Addons\ and put the DLL and add-on.XML there. Just delete the folder to uninstall.

I don't want the discussion about XML and Unicode to detract from things, but I will make two observations. First, this (mostly) unilingual American in the Deep South can appreciate the need for characters outside the standard ASCII (or even Roman) alphabet. I cannot speak to how elegant Unicode is to work with only that much of its cruft is abstracted away from me via the languages I use. Much like, I expect, most of the cruft in x86 assembler is hidden away by C. Remember how you could only do pointer references using DS:SI and ES:DI, only CX could be used for SHL/SHR instructions? Yech. But it's hidden away from us, quite thankfully.

XML really is the same way - if you're generating it yourself, you're doing it wrong. It seems like There's enough gotchas when dealing with things like encoding, namespaces, escaping special characters, etc. that you really should be using a tested and validated library to generate the XML for you. No matter what environment I'm in, that's what I do and it cuts down on problems. You didn't write your own LUA interpreter, did you? ;)

I have a dim view of most programmers in the FS space. You're one of the good guys - you're responsive, open to suggestions and your turnaround times are absolutely amazing. What I love most of all about you is your attitude when one of our older community members comes in convinced that they cannot understand computers based on their age - your optimism and refusal to let age be an excuse is a great inspiration.

I've been dealing with computers since I first fell in love with making machines do what I wanted them to in the early 1980s. I'm now been writing and publicly distributing code for almost a third of a century, so while I've not stated in the punch card era I am old enough to see the dramatic changes we have gone through, and getting old enough to be more and more resistant to novelty. I need to catch myself from time to time, and recognize that higher-level constructs allow me to solve higher level problems rather than focusing on the logistics of the mundane.

Again, you can do as you see fit but consider this my gentle nudge - the new layout may actually be more compatible with your philosophy than you realize and may make your life simpler, not harder.

Thanks again Pete for making our hobby so great!

Luke

Link to comment
Share on other sites

  • 9 months later...
On 6/1/2017 at 9:00 PM, Luke Kolin said:

Again, you can do as you see fit but consider this my gentle nudge - the new layout may actually be more compatible with your philosophy than you realize and may make your life simpler, not harder.

Your long post seems centered on sceneries, which of course I do not make. I am just a scenery user, If you mean FSUIPC installation, then currently it is very VERY simple. An entry in the DLL.XML (only necessary to get it loaded) -- otherwise I interfere with absolutely nothing else in the user's installation. To my mind the least files in the least number of places I change the better. It is just that one, which is forced upon me in any case (unlike in FS2004 and before).

As far as the scenery layering is concerned, with tools like AddOnOrganizer I am not worried.  I can cope, and in fact most of my recent scenery updates or additions have used the new method, either because that's the way they operated, or because, as with UK2000, I had an easy choice.

If you are referring to my not updating MakeRunways to the new system, that comes about f two main reasons. One is that I can't get my head around how the priority layering is now working -- there's just too may files involved with possibly conflicting leyering declaration. There appear to be conflicts or ambiguities I wouldn't know how to resolve. And, second, AddOnorganizer sorts it out for me with no extra effort on my part other than calling it with a command line option. Really super!

Okay? Or have I missed a point somewhere?

2 hours ago, Sabrefly said:

What is PDK dll-type in P3D's books?

Sorry, I don't understand the question.

Pete

 

 

Link to comment
Share on other sites

On 3/15/2018 at 1:41 PM, Pete Dowson said:

Your long post seems centered on sceneries, which of course I do not make. I am just a scenery user, If you mean FSUIPC installation, then currently it is very VERY simple. An entry in the DLL.XML (only necessary to get it loaded) -- otherwise I interfere with absolutely nothing else in the user's installation. To my mind the least files in the least number of places I change the better. It is just that one, which is forced upon me in any case (unlike in FS2004 and before).

Blast from the past! :)

Actually, I wasn't referring to scenery, I was talking about the FSUIPC installation. My point was that using the P3Dv4 add-on format means that you can just create a directory in the "My Documents\Prepar3D Add-Ons" directory for FSUIPC5, and modify absolutely no shared files whatsoever. You don't even need the installer to have elevated permissions.

IMO this gets you back to the pre-FSX days of not touching shared components.

Cheers!

Luke

Link to comment
Share on other sites

3 hours ago, Luke Kolin said:

You don't even need the installer to have elevated permissions

Actually, without a lot more changes, and revising documentation, and changing existing users expectations, and affecting quite a few add-ons such as Linda, I do. The only reason the Installer has to have admin privileges is because of the use of a Modules folder within the P3D folder. The majority of users still install their sim in its default destination, the Program Files folder, and I have to create the Modules folder and change its access permissions.

I don't think you actually need admin privileges to read or write the places where P3D CFG, DLL.XML and EXE.XML are located.

Of course, you didn't use to need the admin privileges for any Installer. Not sure when that changed -- is in Win10, or is it Program Files vs Program Files (x86)?

Pete

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.