Jump to content

[Resolved] Any SODE experts out there?


Recommended Posts

  • Moderator
Posted

I.'m posting here as the SODE forum and support has more or less ceased.

As a retired programmer I pride myself on having a logical mind. Having managed to place a couple of windsocks in a couple of my UK2000 airports adapting the existing code in the xml files I have tried to create two at a different airport that doesn't have any.

I copied the required files from the UK2000 folder in C:\ProgramData\12bPilot\SODE\SimObjects to a new LEIB folder.

In it I have the same 3 windsock folders, texture folder and sim.cfg.

The 3 windsock folders have the same name as in the UK2000 setup.

I have edited sim.cfg as follows:-
[General]
Category=Viewer
Module=SODE

[fltsim.0]
title=UK2000_WindsockSlow
sim=
model=WindsockSlow
texture=""

[fltsim.1]
title=UK2000_WindsockFast
sim=
model=WindsockFast
texture=""

[fltsim.2]
title=UK2000_WindsockNormal
sim=
model=WindsockNormal
texture=""

The LEIB.xml is as follows:-

<SODE>    

    <!-- Data Probe serving its clients -->
    <SimObject Name="LEIB Ibiza">  
    <TargetSim ID="P3Dv5"/>    
    <Placement Lat="39.87289986" Lon="1.373121142" Alt="20.000" Hdg="0.0"/>    
    <Model SimTitle="12bPilot_SODE_Environmental_Data_Probe">    
        <EnvironmentalDataProbe ClientList="Wind_Sock"/>
    </Model>   
    </SimObject>       
    <SimObject Name="Wind_Sock">    
        <Placement Lat="38.88050000" Lon="1.38550000" Alt="0#AGL" Hdg="0.0"/>
        <Placement Lat="49.20849473" Lon="-2.20085704" Alt="0#AGL" Hdg="0.0"/>   
        <Model SimTitle="UK2000_WindsockSlow">            
            <VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>    
            <ConditionalVisibility Variable="WindSpeed" Value="0-14"/>    
        </Model>
    
        <Model SimTitle="UK2000_WindsockNormal">    
            <VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>    
            <ConditionalVisibility Variable="WindSpeed" Value="15-28"/>    
        </Model>    
        <Model SimTitle="UK2000_WindsockFast">    
            <VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>    
            <ConditionalVisibility Variable="WindSpeed" Value="29-60"/>    
        </Model>    
    </SimObject>    
</SODE>

When I start P3D the SODE data is read by the time the scenario screen is displayed. In the log I have these entries...

EDP dependent SimObject [SimWings_LEIB:Wind_Sock #1] will not be injected because EDP does not exist/or SimObject is not defined in ClientList!
[11:30:04.161] ERROR SODE.FSLOOP : EDP dependent SimObject [SimWings_LEIB:Wind_Sock #1] will not be injected because EDP does not exist/or SimObject is not defined in ClientList!
[11:30:04.161] ERROR SODE.FSLOOP : EDP dependent SimObject [SimWings_LEIB:Wind_Sock #1] will not be injected because EDP does not exist/or SimObject is not defined in ClientList!

Needless to say when P3D is running there is no sign of the windsocks.

The problem appears to be the ClientList cannot be read and the names of the three Model sim titles is not the same as those in sim.cfg.

But it is. I've double-checked and they are the same as those in the UK2000 airports bar the different xml filename and lon / lat positions.

If anyone can resolve this I'd be very grateful.

Ray (Cheshire, England).

System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke, Fulcrum TQ (pre-production).

Cheadle Hulme Weather website.

chlive.php

Posted

If you open your sode .xml using SODE Placer can you see the EDP, if so try changing its name to match the airport.

Not sure if the issue relates to that Ray but maybe having two objects with the same name is the cause.

  • Moderator
Posted

Hi Stephen,

Thanks for helping. Never heard of that program but installed it and created the database.

Could you give me specific instructions on how to see the EDP? There's no help with it sadly.

Ray (Cheshire, England).

System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke, Fulcrum TQ (pre-production).

Cheadle Hulme Weather website.

chlive.php

  • Moderator
Posted (edited)

Finally cracked it but not quite sure how. Here's the xml that works.

I suspect that SimObjectName has to be the name of the folder containing the referenced data.

I also changed the name of the winsock entries in the sim.cfg so they didn't clash with the UK2000 ones.

I've placed the second windsock. See image below.

@srcooke, it looks like that SODE Placer Java program is for creating these xml files but sadly I didn't crack how to create one.

 

Lear+Windsock.jpg

 

LEIB.jpg

Edited by Ray Proudfoot
Additional info.

Ray (Cheshire, England).

System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke, Fulcrum TQ (pre-production).

Cheadle Hulme Weather website.

chlive.php

  • Moderator
Posted

One thing I did find helpful was to create a spreadsheet allowing me to enter degrees, minutes and decimal minutes.

It then converts it to degrees to 7 decimal places.

I slewed to the place where I wanted to create a windsock and read the lat / lon in slew mode. Enter the numbers into the spreadsheet and you’ve got the numbers to go into the xml file.

  • Like 1

Ray (Cheshire, England).

System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke, Fulcrum TQ (pre-production).

Cheadle Hulme Weather website.

chlive.php

Posted

FWIW Ray, SODEplacer is an effective and fast front-end tool you can use like ADE to make tweaks/new files without tooling around in the raw XML (you can also "connect" it to a live session with your sim to display your aircraft location in real-time, giving you another way to trace-spot specific coordinates/locations).

You also don't need to copy/clone the SimObjects content into a custom folder, you can just use SODEplacer to build the xml placement files for your existing assets. Creating new custom folders adds complexity - specifically around model names, folder names, and cfg files, as you've just experienced - that isn't necessary when using already-installed material.

For example, my SODE edit for FSDT's PHLI airport borrows Flightbeam jetways: https://i.imgur.com/CE4HgEH.jpeg

The placement file maps to assets from the Flightbeam KSFO folder, which is also easily selected with SODEplacer: https://i.imgur.com/oGpaROR.jpeg

Modifying/cloning existing content in the SimObjects folder itself should only be necessary in extreme cases. The only time that was ever necessary for me personally was when I discovered that ORBX KSBA and [unknown.scenery.#2] use identical names for the SODE models, which resulted in the wrong SODE models spawning at the wrong airports. This was resolved by renaming the content and updating all the corresponding cfg's and xml files.

  • Like 1

Windows 10 64bit | Prepar3D v4.5 HF3 | MSI Z490 Gaming Carbon WiFi | i9-10900k + ARCTIC Liquid Freezer II 360 | 12GB EVGA RTX 3080ti FTW3 | 64GB Corsair LPX DDR4 3600 | 2x 2TB SSD Samsung 860 EVO | 1x 1TB M.2 Samsung 970 EVO | 3x Thermaltake PWM Fans | EVGA SuperNOVA 220 80+ Gold 850W  | InWin 303C

  • Moderator
Posted

@drobinho, I only became aware of SODE Placer today courtesy of Stephen Cook. I did struggle to use it mainly because I couldn’t find a tutorial anywhere.

Thanks for the tip about pointing to objects in existing folders rather than copying them to a new one. I’ll never need to place SODE jetways as I have GSX Level 2 which produces really high quality ones including transparent ones.

Also I wanted to learn how to place simple objects like windsocks. Are you aware of any tutorials?

Ray (Cheshire, England).

System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke, Fulcrum TQ (pre-production).

Cheadle Hulme Weather website.

chlive.php

  • Moderator
Posted

@drobinho, one other question. What is the entry in the <SimObject Name=""> in your PHLI xml?

Ray (Cheshire, England).

System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke, Fulcrum TQ (pre-production).

Cheadle Hulme Weather website.

chlive.php

Posted (edited)

Yeah it takes a little getting used to, like any interface, but it's one of the tools I use the most. Let me know if you ever have a change of heart re: GSX-vs-SODE jetways and run into questions with editing/placing jetways. I prefer SODE jetways for the things the GSX jetways can't do (like connect w/ AI after landing, or connect multiple jetways to AI) and have spent too many hours fiddling with this stuff.

Here's the SODEplacer tutorial: https://sode.12bpilot.ch/?document=tutorials/sode-placer-workflow

And all the rest of the documentation is available here: https://sode.12bpilot.ch/?page_id=101

SODEplacer basically has two distinct methods for adding objects, depending on the object type: 1 is jetways (by selecting parking locations and then adding jetways), and 2 is everything else (windsocks, runway lights, trees). Took me far too long to figure out *how* to add the second set other than copying existing placements. To add a new placement, select "Add Library Object" from the Edit dropdown menu (or the shortcut: Insert key). From there, the process is essentially the same: move cursor > left click to place > then double click into the placement to configure it (select model, choose name, set altitude).

"SimObject Name" is that individual instance or placement's ID. It's a free-text field intended for dev organization; it's not something that needs to match a folder or filename. For Library Objects like windsocks, the ID is helpful for identifying the block of code within the raw XML data; and it also displays in the Object Details (see second screenshot > top left window "Edit Jetway SimObject" > Name value), but other than that it doesn't carry too much weight. If you copy and paste an existing object multiple times, you might end up with SimObject Names like "[original.name] 1 1 1 1 1". On the other hand, for jetways: it's also the name of the jetway that appears within sim panels like SODE or GSX windows.

Edited by drobinho
  • Like 1

Windows 10 64bit | Prepar3D v4.5 HF3 | MSI Z490 Gaming Carbon WiFi | i9-10900k + ARCTIC Liquid Freezer II 360 | 12GB EVGA RTX 3080ti FTW3 | 64GB Corsair LPX DDR4 3600 | 2x 2TB SSD Samsung 860 EVO | 1x 1TB M.2 Samsung 970 EVO | 3x Thermaltake PWM Fans | EVGA SuperNOVA 220 80+ Gold 850W  | InWin 303C

  • Moderator
Posted

@drobinho, much obliged. 👏 I shall work my way through the tutorial and your post. There are plenty of airports to tackle.

GSX does have the option to connect Ai to jetways but it’s a fps hog at busy airports like Heathrow. I have disabled it and things are better.

Ray (Cheshire, England).

System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke, Fulcrum TQ (pre-production).

Cheadle Hulme Weather website.

chlive.php

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
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...