• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

FSX XMLTools v1.0 is released.

taguilo

Resource contributor
Messages
1,585
Country
argentina
XMLTools: a common XML expansion module has been released and is available in the Resources section.

From Resources' page Overview:

This module contains a group of C++ classes aimed to provide extra functions to XML gauges.

Some of these classes are in fact development tools for XML programmers while others were planned to enhance what is currently available for XML panel’s development.

The objective in this case is to associate different C++ callback functions in a single library (.dll) that is loaded by FS at startup, so they are available to any panel without the need of adding individual C++ gauges and/or modules to do the task. Future versions of XMLTools might include file I/O, sound, advanced graphics and any other specific functionality users may come up with and request.

A group of example and utility gauges are also provided with this release as a guide on how to properly make XML code interact with each one of the module classes.



XMLTools classes included in v1.0:

XMLVARS v2.0: a class to handle custom variables, including strings, in single/array format.
LOCALVARS v1.0: a class to manage data from local (L) variables actives in the current flight.
XMLEVENTS v1.0: a class that enhances the management of standard and custom events.
SIMVARS v1.0: a class that enables direct writing of specific aircraft (A) variables.
XMLTABLES v1.0: a class used to extract values from nonlinear/multicolumn tables.

Hope you like it guys!

Tom
 
Nice Tom, you did say you had a new version coming!

If i use this updated version do i need Blackbox? Or is the download XMLTools.zip have everything?
Also where do i add these files? Do you have instructions for setting up?
 
If i use this updated version do i need Blackbox? Or is the download XMLTools.zip have everything?

Looks like XMLTools has everything and for debugging you wont not need Blackbox too. I'm sure many people get what they need from Doug Dawson's xml vars module; many use Robbie Mcelrath's Blackbox, and many will use Tom's LocalVarsLogger, especially because it is bundled with other must have tools (like XMLVars !!). All three are a bit different I guess, so there's something for everyone. But for sure, I don't see how anybody can make XML gauges of any complexity without a debugging app.

@Tom: A:Vars. What about A:Vars? In your documentation, it looks like LocalVarsLogger is limited to L:Vars... what am I missing? Gotta see A:Vars at the same time as the L:Vars. Additionally, IMHO, we could use a debugger that shows values for any XMLVar that has been created. Apologies up front if I am jumping the gun ... I have only had time to glance at the documentation so far.

Anyway, Toms earlier XMLVars module is really a game-changer for XML work and I look forward to trying out the latest.

Bob
 
Last edited:
Tom, thank very much for this package. Off to do some reading, installing & testing. Now how can we get Joe Simmer to install the dll and edit the dll.xml w/o shooting it down...
 
Do you have instructions for setting up?

Yes, the are in XMLTools.pdf file, check i out.

@Tom: A:Vars. What about A:Vars? Blackbox ships with a complete file of all A:Vars (>1100 of them) and so it is easy to click any one and see that A:Var even if its not in your gauge. As well, within any specific gauge, BB finds any A:, L:, E: and P: variable so the user can see that too. In your documentation, it looks like LocalVarsLogger is limited to L:Vars... what am I missing? Gotta see A:Vars at the same time as the L:Vars.

Bob,

LocalVarsLogger, as it name suggests, is basically an L:Vars logger BUT, because it is written in XML, you can perfectly customize to your own needs and make it display, for example, A:Vars and also XMLVars. Notice that XMLVars are used to manage the [SELECTED VARSET] tab. More tabs containing A:Vars/XMLVars names and values could be added and the entire code might be optimized a lot.

Originally, I developed LOCALVARS class for my personal use; as an aid for detecting L:Vars in third party panels that I was commited to work with in some gauge systems' enhancements. It became a perfect tool for finding model (.mdl) hidden (exclusive) variables that were not present on panel gauges, most of them applied to control dummy switches in which I needed to add true functionality.
Results were so good that I decided to include the class in XMLTools and make it available to everyone.

Additionally, IMHO, we could use a debugger that shows values for any XMLVar that has been created.

XMLVars 2.0 contains new properties for that, please check the documentation.

Tom
 
Tom,

This little piece of code had me stumped .... untill (after two hours trying) it struck me why it didn't work ... : )

Code:
<Update>
  'FLAPS_UP' (>C:XMLEVENTS:EventName,string)
  '(G:Var1) ++ (>G:Var1)' (>C:XMLEVENTS:EventString,string)
</Update>

Thinking about it, it's obvious I can't use G:Vars in the script !! ??
When I used an Lvar instead of GVar, it works fine; as advertised in a non-visible window as well.
So a great replacement for ON Event + my previous "workaround".

Thanks, Rob
 
Rob,

G:Vars are local to the gauge they're used in and therefore not supported. I forgot to mention that in the documents, sorry.

Tom

PS: BTW, your <On Key> demand will be included in the first update, after the release of XMLTools for P3D v2.2
 
Thanks Tom, that's what I figured out already ... LoL

I have a question on re-distrubution of XMLTools. It's probably my English, but your statement on that in the documentation isn't clear to me.
If I upload gauges (that use XMLTools) for public use, can I included XMLTools in that upload ? Or do users need to download that seperately (like here at FSDevelopper) ?

Also, is it allowed to use/include XMLTools in commercial projects ?
Reason I ask: although everything I make is freeware, some of it ends up bundled in a payware addon. Usally as special version I make (for free) for that addon.

Rob
 
Rob,

You can include XMLTools in your upload, but only the module. You can't distribute the zip file containing the module, documentation and examples. The same applies for commercial projects.

Tom
 
Rob,

You can include XMLTools in your upload, but only the module. You can't distribute the zip file containing the module, documentation and examples. The same applies for commercial projects.

Tom
Tom,

Ok, clear now.
Thanks again ....

Rob
 
Tom,

Working through XMLTools classes now and have a quick question regarding LocalVarsLogger. What keystroke is trapped by VK_SEPARATOR? Bob
 
yeah, my kb doesn't have a trappable "_" but looking closer, I see that won't affect LocalVarsLogger ...
 
Bob,

Trappable keys are related to English keyboard.
Try changing your KB custom configuration to English and it should work.

Tom
 
Back
Top