• 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.

MSFS Explain js/css/html and xml and gltf/bin and wasm relationships - Unofficial SDK ver 0.13 info

Yep... If I put in this;
/Transponders/AS76C/KT76C.html, 0,0,512,114
The Avionics stack is all black, will not function (way weird)
If I put in this;
/Transponders/KT76C/KT76C.html, 0,0,512,114
everything works in the stack except the KT76C.

So this seems to be correct;
/AS76C/KT76C.html,

Or at least this will enable the rest of the things to work.... :S

The screen is properly colored, which I think means the file linked in correctly, but for some reason isnt 'powering up' in the Asobo circuit system.
 
Does your blender file look like this. An empty holding all the transponder stuff including the meaterial for the screen? Thuis is the pitts with the AS330

View attachment 67229
LOLOLOLOL....

Mine was crazy looking... I used the C172 Classic... I cant find the screenshot, but the Empties were GIGANTIC, lolol... In Blender, you can change the size of the Empty's on the right side in the Empty settings section. Select Empty and change size from 2M or 1M to 0.01, etc.
 
Is your KC76C.xml like the AS330.xml? review the <set circuit state> code and the<condition check="circuit_id">
 
Last edited:
I went through all the circuit calls that are in multiple locations for this gauge. I reset them to my own circuit. the HTML has no mention of the circuit in its code. I did this also with the AS530 and AS430 GPS's. They work fine. I designated their Circuit to the ones I had them assigned to, and they work fine.

Do you know if perhaps Bus's are also important or listed outside of the Systems.cfg?
 
This is my system config for the Transponder;
circuit.23 = Type:CIRCUIT_XPNDR #Connections:bus.2 #Power:20, 25, 20.0 #Name:XPNDR ; Transponder 25W

Panel XML:
<Instrument>
<Name>KT76C</Name>
<Electric>
<Simvar name="CIRCUIT ON:23" unit="Boolean"/>
</Electric>
</Instrument>


Some of the Model Behaviors, including GPS's for use as example;

<Include Path="Asobo\GPS\AS430.xml"/>
<Include Path="Asobo\GPS\AS530.xml"/>
<Include Path="Asobo\Transponder\AS330.xml"/>
<Include Path="Asobo\Transponder\Transponder.xml"/>

And this, also from the model XML.


<Component ID="ASOBO_Simple_Transponder_With_Knob">
<UseTemplate Name="ASOBO_Simple_Transponder_With_Knob_Template">
<ID>1</ID>
<EMISSIVE_POTENTIOMETER>1</EMISSIVE_POTENTIOMETER>
<CIRCUIT_XPNDR>23</CIRCUIT_XPNDR>
</UseTemplate>
</Component>
<Component ID="TRANSPONDER_Screen_1">
<UseTemplate Name="ASOBO_GT_Emissive_Gauge">
</UseTemplate>
</Component>

And Ron, I feel like I am highjacking your thread. I'll talk with you about it somewhere else. My humble apologies.
 
The pitts has the following

circuit.24 = Type:CIRCUIT_XPNDR #Connections:bus.2 #Power:10, 18, 14.0 #Name:Transponder ; Transponder 18W

circuit.38 = Type:CIRCUIT_AVIONICS:1 #Connections:bus.2 #Power:20, 25, 10.0 #Name:Avionics_1 ; avionics 1

Surprisingly the panel.xml does not have any transponder data.

Pitts xml

<Component ID="AS330">
<UseTemplate Name="ASOBO_AS330_Template">
</UseTemplate>
</Component>

and later

<!-- ELECTRICAL ################### -->
<Component ID="ELECTRICAL">
<UseTemplate Name="ASOBO_ELECTRICAL_Switch_Battery_Master_Template"/>
<UseTemplate Name="ASOBO_ELECTRICAL_Switch_Avionics_Bus_Template">
<NODE_ID>ELECTRICAL_Switch_Avionics_Master</NODE_ID>
<ANIM_NAME>ELECTRICAL_Switch_Avionics_Master</ANIM_NAME>
<AVIONICS_BUS_ID>2</AVIONICS_BUS_ID>
<SOURCE_BUS_ID>1</SOURCE_BUS_ID>
<AVIONICS_CIRCUIT_ID>38</AVIONICS_CIRCUIT_ID>
<ANIMTIP_0>TT:COCKPIT.TOOLTIPS.AVIONICS_MASTER_SWITCH_OFF</ANIMTIP_0>
<ANIMTIP_1>TT:COCKPIT.TOOLTIPS.AVIONICS_MASTER_SWITCH_ON</ANIMTIP_1>
</UseTemplate>
<UseTemplate Name="ASOBO_ELECTRICAL_Switch_Magneto_Template">
<SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION>
<INDEX_OFF>0</INDEX_OFF>
<INDEX_RIGHT>1</INDEX_RIGHT>
<INDEX_LEFT>2</INDEX_LEFT>
<INDEX_BOTH>3</INDEX_BOTH>
<ARROW_TYPE>Curved</ARROW_TYPE>
<USE_STARTER/>
<STATE_MAX_TIMER>4</STATE_MAX_TIMER>
</UseTemplate>
<UseTemplate Name="ASOBO_ELECTRICAL_Switch_Alternator_Template">
</UseTemplate>
<CameraTitle>Instruments01</CameraTitle>
</Component>

Now the 152 has

<Component ID="TRANSPONDER">
<UseTemplate Name="ASOBO_5Knobs_Transponder_Template">
<DONT_APPEND_ID>True</DONT_APPEND_ID>
<ANIM_LAG>500</ANIM_LAG>
</UseTemplate>
</Component>


So I disagree with your setup the aircraft xml


<Component ID="ASOBO_Simple_Transponder_With_Knob">
<UseTemplate Name="ASOBO_Simple_Transponder_With_Knob_Template">
<ID>1</ID>
<EMISSIVE_POTENTIOMETER>1</EMISSIVE_POTENTIOMETER>
<CIRCUIT_XPNDR>23</CIRCUIT_XPNDR>
</UseTemplate>
</Component>
<Component ID="TRANSPONDER_Screen_1">
<UseTemplate Name="ASOBO_GT_Emissive_Gauge">
</UseTemplate>
</Component>

So to emulate the AS330 you need to make a KT76C.xml and fill it with the transponder code like - AS330.xml

Edit: and don't worry about the thread, in fact your helped me in understanding the system electrics. I completely forgot about the systems.cfg and was wondering where the CIRCUIT_ID came from. Now I know. Thanks. I can add it to my SDK unofficial pages info.
 
Last edited:
RonH wrote;
Edit: and don't worry about the thread, in fact your helped me in understanding the system electrics. I completely forgot about the systems.cfg and was wondering where the CIRCUIT_ID came from. Now I know. Thanks. I can add it to my SDK unofficial pages info.
Roger that, and yep, the System config has TONS of valuable data/details in it. Watts and 'circuit names' especially.

I wonder if in the Model XML, if 'component names' are 'official' or made up? Do you use the 'Use Template...' name for the 'Component Name'? Is there a list of Component Names somewhere in the SDK or Behaviors files?

RonH wrote;
Surprisingly the panel.xml does not have any transponder data.
I think thats because it has no official screen or official 'gauge'. It has buttons only, so perhaps its treated like flaps buttons, electrical buttons, etc. Just more buttons.

By the way, there are a ton of 'components' for that Audio panel. The SR22 has that particular panel (from Cessna 172 Classic, also). I used your trick and opened the glTF file with Visual Studio and was able to find all the AUDIO.... button names. I later found those also buried in the NAVCOM Behaviors file, as well as the daunting question of how to write/modify/enter this into my own Trinidad Model XML... sigh... Its written like a 'form' with all these #NODE this# and things. Almost every button has a little yellow 'visibility' light showing if the button/circuit/feature is 'active'.

I look at the Behaviors on these, and I look at what Asobo use on some of these (which I cant find much on the Avionics like the 172 has) and I just do not understand the rules and layouts of Model XML and Behaviors and what all is really needed. Some of the details for Behaviors are 'not' in the Asobo planes models XML's... What does one actually need? One seems to be pointing the sim to the Behaviors center, not copying code into one's planes models XML...
 
Late last night, I wondered, I should try to dig up existing FSX XML ModelDef code or gauge code for an FSX audio panel and just use that rather then re-inventing ModelBehaviors.
 
I'm so very close to unraveling all this. I should have another part to the SDK relating all these files together in the next week. You triggered me on a key piece with the cfg files. I still have a day job and retiring April 1st.

How much do you understand about programming? I think you know enough to figure out the #thisisavariable# parts. And <DefaultParameters> and <UseTemplate Name="nameoftemplate"> The <Component ID="somecomponent"> is related to Cohernet-GT. They talk about components too, so maybe related. Are the IDs specific, that I have not figured out yet. I think components can be thought of a widgets. and you group things together under a widget name.

ASOBO has created a lot of common instruments, and it would be so easy to reuse all this code, rather than reinvent it all. The KT76C is in there. The png and dds textures see fs-base/texture/AS76 (ya they changed from KT76), the code for the display part (js/html/css) see asobo-vcockpits-instruments-generic\html_ui\Pages\VCockpit\Instruments\Generic\Transponders.

We just need to add a KT76C.xml similar to AS330.xml, If fact we copy that xml remove the buttons 8 and 9 and you have the same transponder. Then in your aircraft xml

<Component ID="KT76C">
<UseTemplate Name="LHC_KT76C_Template">
</UseTemplate>
</Component>

You create a KT76C.xml from the AS330.XML - you may need to rename some parts in your blender model.


<Include Path="Asobo\GPS\AS430.xml"/>
<Include Path="Asobo\GPS\AS530.xml"/>
<Include Path="LHC\Transponder\KT76C.xml"/>

Now where LHC goes in the virtual file system have to look at how the Working Title guys and the MrTommymxr DA40X DA62X files are done.
 
Interesting... Nice going.
I know tiny bits of reading this, not a lot. It has similarities to FSX code. Diff labels of sections. They change Templates in the Behaviors files to Use Template... in the Model XML's. They then add those 'Component ID's... ' (what you call widgets, good call on that) to group them.

My fear is, do these Compoent ID's have official names? I thought I saw/heard that Oz was naming them what ever he wanted, but in the Asobo codes in Model XML's, their naming system uses Underscores, which makes me think they might be official and not 'custom made up names' for these 'widget' Component ID sections. I hope they are just made up, what ever one wants to call them. It would certainly make this a tad bit easier...

To change over 'groups' of #xxxxx# sections in statements, like for 15 buttons, I use the Notepad / Control H system where you can replace lines or symbols, etc, like one at a time in the section you are working on so you do not accidentally change some in another section. It has a 'change all', which you probably know about.
 
We need lists of things, like we had back in the FS2004 days. Lists of A: codes, all in sections. Lists of these and those things, so we can quickly trace down and find what we need.

What would have been cool on the model behavior things would be to simply have copy/paste sections of code that you install into your Model XML. Copy/paste/DONE...! Then your plane animates. No custom writing of these codes. Why they did that, I do not know. Makes no sense. Unless thats how a job-shopped coder did the work and it was never finished 'in the sim', and its half finished. The entire behavior section... I didnt think of that. Maybe they didnt think it all the way through yet?
 
I am thinking about opening up and copying all Behaviors into a master Notepad file. I could put in page or section identifier separators, like a linking symbol section spacer for using Search with. (Find). Then they would all be in one section.
Perhaps a secondary that has finished copy/paste code to quickly place into a plane instead of having to fill them out.
 
I'm looking at the same idea, maybe even apply it to the blender2MSFS files. Similar to the blender2FSXP3D animation names.

Is there not something similar in MAX with that babylon export??
 
By the way, to get things to show up that are gauges or decals, you give them a white background in the 'Emissive' section of the Material.
God bless you greybeard. Spent a bit of time trying to figure this out. I'm just trying to get something to appear in the sim before I start making my own gauges and using the C152 as a template I could get the hoursmeter to appear but not the radios and ADF. I assumed it was something to do with emissive but your tip on changing the emissive to white saved me a lot of work. I assume this is only for lighted gauges (or ones using LEDs) as the hourmeter worked fine with a simple default texture.
 
God bless you greybeard. Spent a bit of time trying to figure this out. I'm just trying to get something to appear in the sim before I start making my own gauges and using the C152 as a template I could get the hoursmeter to appear but not the radios and ADF. I assumed it was something to do with emissive but your tip on changing the emissive to white saved me a lot of work. I assume this is only for lighted gauges (or ones using LEDs) as the hourmeter worked fine with a simple default texture.

Anthony31, without Emmissive, the gauges wouldnt appear. Totally blacked out. With white on the Emmissive base color, the gauges showed up. But, they stay on when the key is off. :(

Something makes them 'illuminate'.

And speaking of this, coincidently, last night while trying to get light dimmer switches operating in my plane using behavior code from Lighting.XML, two of my 3 'dials' started glowing a mild white color, instead of being their solid gray color. ??? Only change part name and part animation. Trying to get them to 'turn off' now, lol...
 
TA DAAA!

Pitts with default AS330

pitts with AS330.png



Pitts with KT76C screen - not textures (and buttons work) - just like I said - copy as330.xml - rename to kt76c.xml, modify the pitts interior xml to link to new kt76c.xml. A few other things and ...

pitts with KT76C.png
 
New update to the Unofficial SDK documentation. See thread post #2

A bit more on html and VFS, and some cleanup.

 
So in your above instructions, you have small letters instead of capitals, such as as330 instead of AS330. Is that correct? Use as330 and kt76c?
 
Back
Top