Pylon Air Racing and POI Creator Tool apps

  • Hi Juan,

    Quote

    ... I will not add images of the sim at least IPACS says I can do this. ...

    :thumbup: - Whereby I created all screenshots in post #98 myself with my FS 4.

    Quote

    ... I have a question: how are the green transparent arrows used in the missions placed in the sim? ...

    These elements are created in FS 4. In FS 4 they are used as approach aid, for routes and for missions.

    I think the TMB files are here:

    • '/.../Aerofly FS 4 Flight Simulator/objects/approach_guide/approach_guide.tmb'
    • '/.../Aerofly FS 4 Flight Simulator/objects/navigation_guide/navigation_guide.tmb'

    I had once tried to use the objects for the various approach methods at aircraft carriers - so far without success.

    Tschüss, Michael

    Tschüss, Michael (🍎🚁)

    Configurations:

    - MacBook Pro (16", 2024); Chip: Apple M4 Max; actual macOS
    - Controllers: | WinWing: URSA MINOR-Fighter-Joystick R, EFIS-L & FCU & EFIS-R | Thrustmaster TCA AIRBUS EDITION: 2x Quadrant, 2x Quadrant Add-On | Pro-Flight-Trainer: PUMA X | Steelseries: Nimbus+

    - iPad (12,9", 4th Generation, RAM: 6 GB); actual iOS | Steelseries: Nimbus+

  • PCT v0.2.2 is out

    Release v0.2.2 — orientation handle for lights, nothing lost, Copy that copies · jlgabriel/afs4-poi-creator
    A polish release. Nothing in the exported .toc / .tsl changed — a POI you built with v0.2.1 comes out byte-for-byte the same here. The orientation handle…
    github.com

    This one is all polish and robustness — no format changes at all. A POI you built with v0.2.1 comes out byte-for-byte identical in v0.2.2, so there is no reason to re-export anything you already made.

    What's new:

    • Airport lights finally get the on-map orientation handle. The Inspector has been telling you to "drag the map handle" since v0.2, but only objects ever had one. Lights now have the same cyan grip, and while you rotate anything, the angle you are dragging toward is shown live on the handle. Hold Shift to snap to 5 degrees.
    • Objects and light fixtures your install does not have no longer disappear in silence. This one matters if you share projects here: open someone's project that uses a fixture or an object you do not own, and PCT used to draw it as if all were well, then quietly export nothing. Now it is red-dashed on the map, badged "missing" in the placed list, and named in the Inspector — so you know exactly what will not show up, before you export.
    • Your work is harder to lose. Every file PCT writes is now written atomically, and installing over an existing POI no longer deletes it before writing the replacement — a failure part-way through used to cost you both the old POI and the new one. The crash-recovery snapshot was the worst case: it could be corrupted by the very crash it exists to survive.
    • The Aerofly user folder field stops biting people. It used to be labelled "(POI install target)", which reads as "the folder POIs go into" — so the natural thing to browse to is ...\scenery\poi, and PCT then installed into ...\scenery\poi\scenery\poi. I did this to myself, more than once. The field is now named properly, it tells you where PCT actually installs, and it corrects a mis-nested pick the moment you choose it.
    • Smaller things: nudging a multi-selection with the arrow keys is one undo step again (it used to push one per object and flood the undo history in about a second); the export dialog's folder-name preview now accounts for the shift, which matters because that name is the coordinate the sim finds your POI by; Cancel is locked while a POI is being written, so you can't close the dialog and miss the "restart Aerofly" note; the catalog search now filters the Lights section too instead of skipping it; third-party POIs in your scenery/poi are labelled "not by PCT" rather than "built-in"; and the Inspector's Copy button now actually copies — it turns out it never did.
    • Mac users: the redundant .zip builds are no longer published. Grab the .dmg (arm64 for Apple Silicon, x64 for Intel).

    Thanks again to Michael ( ApfelFlieger ) and chrispriv — a good part of what got fixed here came straight out of your testing and the discussion in this thread.

    What's next: I am working on v0.3, and the big one is chrispriv's autoheight idea from earlier in this thread. If it holds up in the sim, PCT would not need the online elevation lookup at all — export would work offline and objects would sit on the ground by themselves. The test POIs are built and I will report back here once I have flown them. Also on the list: a way to calibrate an object's orientation once and share the measurement, shape hints drawn inside the footprint boxes (Michael's suggestion), and scanning your scenery/xref folder for third-party objects.

  • ... What's next: ...

    Hi Juan,

    Great work from Claude and you - I can't test so quickly how the updates come. But the ideas come to me much faster at the moment, which will not go on for long, because soon PCT will be pretty perfect.:)


    To my point (5) (Post #91) - local XREF folder:

    Rodeo gave me the opportunity to try out with his pylons, whether they also work as XREF in the user directory? And indeed, it works.

    => Now it is important to find a way for PCT to also read the local XREF folder in the user directory:

    • '/.../Aerofly FS 4/scenery/xref'

    The challenge is that, unlike the FS 4-XREF, there are no TMI folders in the user XREF and usually the TMB files there are compiled.

    Example:

    IPACS has a red FS 4-STOP-Cube that probably everyone has seen before. This FS 4-STOP-Cube is in the original FS 4 directory and waits there patiently for its use.

    A long time ago I copied this FS 4-STOP-Cube as a standalone TMB-STOP-Cube to use it as a dummy when creating AIRPORTS, POI and then also AIRCRAFT.

    And after today's successes with the XREF pylons from Rodeo, I have now also copied the TMB STOP cube to an independent XREF STOP cube. It can now be positioned, rotated as well as enlarged and reduced as desired. However, you have to know that his name is "box" <[string8u][name][box]>. I doubt PCT would find out. I changed the original name of the TMB file from "fallback" to "box" so that you can get to the internal name faster.

    However, I will only publish the XREF version after approval by IPACS.

    Back to PCT - I can imagine that in the PCT we use a placeholder for the local XREF objects. Then the user positions everything appropriately with PCT and has to replace the placeholder name with the local XREF name in the TOC at the end.


    (6) Heliports and smal airports

    Basically, the difference between POI and AIRPORT is not big, both use the same TOC file and only call it up slightly differently:

    • POI: TSL und TOC Datei
    • AIRPORT: TSC+WAD und TOC Datei

    Theoretically, the PCT could also create a TAP as a basis for airfields. But because there is basically a tool for this, I am not looking at this path further.

    For me, the situation is different, especially with heliports. From my experience, heliports in areas with good IMAGES do not need any further ground markings and may only need the elements that the PCT can already do today. I can imagine something comparable later for UL airstrips or small glider airfields.

    To show how the PCT extended by a heliport element could look like, I will now create a small practice park for helicopters with the XREF-pylons from Rodeo8), which many have been looking for for a long time anyway.:)


    So far for now, Tschüss, Michael

    Tschüss, Michael (🍎🚁)

    Configurations:

    - MacBook Pro (16", 2024); Chip: Apple M4 Max; actual macOS
    - Controllers: | WinWing: URSA MINOR-Fighter-Joystick R, EFIS-L & FCU & EFIS-R | Thrustmaster TCA AIRBUS EDITION: 2x Quadrant, 2x Quadrant Add-On | Pro-Flight-Trainer: PUMA X | Steelseries: Nimbus+

    - iPad (12,9", 4th Generation, RAM: 6 GB); actual iOS | Steelseries: Nimbus+

  • What's next: I am working on v0.3, and the big one is chrispriv's autoheight idea from earlier in this thread. If it holds up in the sim, PCT would not need the online elevation lookup at all — export would work offline and objects would sit on the ground by themselves. The test POIs are built and I will report back here once I have flown them. Also on the list: a way to calibrate an object's orientation once and share the measurement, shape hints drawn inside the footprint boxes (Michael's suggestion), and scanning your scenery/xref folder for third-party objects.

    Hi Juan,
    These are great news!

    If you'd like, you can use the attached exclude000m TMB as a reference POI for autoheight: exclude000m.zip

    It's only 10 cm large. Even if I place it with the same coordinates as an XREF object, it no longer creates an exclusion of it because it's too small. Placed at 0.1 m height instead of underground, it get visible just for testing purposes.

    Even when using autoheight, it should still be possible to make minor adjustments to the height of individual objects. Outside of airports, autoheight works very well overall, but there are often some issues on airport grounds.

    I, too, would welcome the additional import of the user XREF folder, since I have already compiled my own XREF libraries on a trial basis in the past. I'll probably have to add the tmi file with all the object data to the folder, so that you can import the user XREF libraries in your PCT app at all.

    Best regards,
    Christophe

    Enthusiast and experienced creator of enhanced Aerofly FS Sceneries and Mods. Enjoy! 8)

  • Hi all — a quick progress update on PCT, and two things we nailed down in the sim this week.

    1) Autoheight — chrispriv, your dummy trick works! 🎉

    I flew an isolated test out in the KDAG desert (where the terrain actually discriminates, unlike a near-sea-level heliport). An XREF placed at height 0, with your tiny underground dummy in the POI, snaps right onto the ground. I also put a "control" object at height 587 next to it — and it floated ~587 m up in the air. So under autoheight+dummy the height value is read as metres above the ground (AGL), not ASL.

    That's great news: PCT can offer an optional autoheight mode that writes height 0 and exports fully offline — no online elevation lookup, objects sit on the ground by themselves.

    2) Using objects from your own scenery/xref — the missing piece is the .tmi

    Thanks Rodeo for the pylons and ApfelFlieger for pointing me here. I tested placing objects from the user's scenery/xref in a POI:

    • A loose .tmb directly in scenery/xref does not resolve — the sim never indexes it.
    • It has to be in its own subfolder with a .tmi (the name + bounding-box index), exactly like the built-in bundles. I even tried a .tmi next to the loose .tmb at the xref root (no subfolder) and it still didn't render — the subfolder is mandatory.
    • The good part: for plain-text .tmb (AC3D exports, like the pylons), PCT can read the internal name and bounding box straight from the file and generate that .tmi automatically. So: drop your objects in, PCT registers them, done.

    3) A question for ApfelFlieger about compiled objects

    For compiled/opaque .tmb (like the STOP cube), PCT can't read the internal name or bbox, so it can't generate a correct .tmi by itself — I tried with guessed values and nothing rendered. You said your box works as a user XREF: could you share how you registered it? Does it ship a .tmi, and did you call it from a POI or from an airport (TSC)? A different loader would explain it. That'd help me support compiled objects too.

    Next up is building the .tmi generator into PCT. Thanks everyone 🙏

  • ...

    3) A question for ApfelFlieger about compiled objects

    For compiled/opaque .tmb (like the STOP cube), PCT can't read the internal name or bbox, so it can't generate a correct .tmi by itself — I tried with guessed values and nothing rendered. You said your box works as a user XREF: could you share how you registered it? Does it ship a .tmi, and did you call it from a POI or from an airport (TSC)? A different loader would explain it. That'd help me support compiled objects too.

    Next up is building the .tmi generator into PCT. Thanks everyone 🙏

    Hi Juan,

    Great progress - and I will also deliver my part to the heliports later.


    To your question:

    It was pure coincidence that I came across "box" while searching for the name of the fallback STOP cube.

    I also experimented with the exclude of chrispriv yesterday. These can also be used as XREF, but unfortunately do not fulfill their previous main task at the moment, to hide automatic objects.

    Now to the "hidden" names:

    In general, the TMB are compiled and it is not possible to read the name. Thankfully, Rodeo o also provided me with the uncompiled text version of the TMB at the pylons, I'll show you an excerpt for the name here:

    Code
            <[pointer_list_tmxglgeometry][geometry_list][]
                <[tmxglgeometry][element][0]
                    <[int32][id][0]>
                    <[string8u][name][pylon_15m]>
                    <[string8u][tag][]>
                    <[matrix4_float64][matrix][1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]>
                    <[tmxglmesh][mesh_collision][]

    It's about this code line: <[string8u][name][pylon_15m]> This is the name that is entered in a TOC for an XREF.

    And there the program for TMB apparently automatically uses "oart00", "part01" or the creator assigns a name that suits his point of view. If the creator does this for a TMB object, it doesn't matter, because then the TMB is called with the TMB name. But for an XREF object you need to know the internal name.

    By the way, this is comparable for objects in aircraft. As a non-TMB creator, I always see only the TMB name and then have to ask for the XREF name. Whereby a TMB can also contain several XREF names.

    For the pylons and the version of the STOP-Cube provided to you, I have adjusted the TMB name so that it corresponds to the XREF name.

    Back to the example with the pylons: Since there is a separate TMB for each pylon, I have assigned the internal and external names identically with the consent of Rodeo and also named them as I can use them well as a scenario developer.


    Tschüss, Michael

    Tschüss, Michael (🍎🚁)

    Configurations:

    - MacBook Pro (16", 2024); Chip: Apple M4 Max; actual macOS
    - Controllers: | WinWing: URSA MINOR-Fighter-Joystick R, EFIS-L & FCU & EFIS-R | Thrustmaster TCA AIRBUS EDITION: 2x Quadrant, 2x Quadrant Add-On | Pro-Flight-Trainer: PUMA X | Steelseries: Nimbus+

    - iPad (12,9", 4th Generation, RAM: 6 GB); actual iOS | Steelseries: Nimbus+

  • Jugac64

    I have now provided the Air Race Pylon with a TMI - and PCT read that correctly.

    But I haven't figured out why

    • for "Pylon 12m" and "Pylon 30m" the names are shown differently and
    • for "Pylon Air Race" the distinctions "18 4" or "25 5" and for "Pylon Reno" the "3" are missing?

    But the main thing is that it works at all.:)


    @all:

    Please unzip the file and move the 'xref_air_race' folder to the XREF folder of your user directory:

    • '/.../Aerofly FS 4/scenery/xref/xref_air_race'

    Files

    Tschüss, Michael (🍎🚁)

    Configurations:

    - MacBook Pro (16", 2024); Chip: Apple M4 Max; actual macOS
    - Controllers: | WinWing: URSA MINOR-Fighter-Joystick R, EFIS-L & FCU & EFIS-R | Thrustmaster TCA AIRBUS EDITION: 2x Quadrant, 2x Quadrant Add-On | Pro-Flight-Trainer: PUMA X | Steelseries: Nimbus+

    - iPad (12,9", 4th Generation, RAM: 6 GB); actual iOS | Steelseries: Nimbus+

  • A permission question about the published XREF library, if possible a word from IPACS:

    First, thank you for making the XREF library public, it's a big help.

    I'd like to ask about one specific file in it: xref_table.csv. For anyone who hasn't looked, it's a plain-text table listing, per object, the internal name,

    an official display name, the category tree (main/sub/type), the dimensions, and the footprint outline. It contains no models and no textures, only metadata.

    For PCT (my open-source POI Creation Tool, GPL-3.0) this table would be very valuable. It would let the tool show IPACS's official object names and categories, and draw each object's real footprint shape on the map instead of a plain bounding box. Today PCT derives those with heuristics, which aren't always right (it recently collapsed several distinct pylons to the same name).

    My question: would IPACS be OK with PCT bundling and redistributing xref_table.csv (just that one metadata file) as part of the tool? I know the library was published with permission, but "available to download" isn't quite the same as "OK to repackage and ship inside another program", and I want to respect IPACS's material, the same care shown here when Jan suggested designing an own cube rather than reusing the STOP-Cube.

    If yes: under what license, and how would you like IPACS (and the contributors) credited? If it's not OK, no problem at all, PCT already works by scanning each user's own install and ships zero IPACS files, so this is an optional enhancement, not something the tool depends on.

    Thanks!

    Juan

  • (6) Heliports and smal airports

    With "Pylon Air Racing" it started a few days ago. From there it was a logical step to the "POI Creator Tool (PCT)". The next logical step could now be the further development to the "Scenery Creator Tool (SCT)".^^

    I was looking for a heliport, which does not yet exist in the FS 4 and which I've always wanted to create. I have made these guidelines:

    • As far as possible, everything should be created with the PCT.
    • Local XREF objects should also be used.
    • The currently missing in the PCT is simply supplemented by hand.

    And here is the result:

    Originally I wanted to create a small parcour. But when completing the pylon as a local XREF, I saw that we still have to optimize the terrain heights. And that's why it has become so now.

    Es geht um diesen Heliport:

    This is what the result looks like:

    • GREEN is the POI created with PCT. Actually, only the 'poi.toc' is required from the POI. For the demonstration, I moved the entire POI folder to the AIRPORTS folder and uploaded the 'poi.toc' file. With the JSON file, the TOC file can be revised at any time in the PCT.
    • BLUE are the two files for the heliport. From the 'de0869.tsc' the 'poi.toc' is also called.


    The two files 'de0869.tsc' and 'de0869.wad' have only few data. The main task of the WAD is that the position of the heliport is read in the FS 4 systematic. For this purpose, the values LONGITUDE, LATITUDE and DIRECTION from the TSC are converted into a different format. I have attached an XLSX file for the conversion and I have already explained this in this post:

    Here is the overview of both files:


    In an SCT there would then be two processes that differ only at the start:

    • Create POI:
      - the way it already works
    • Create HELIPORT (AIRPORT):
      - First put the heliport in the map, align it in size and direction, assign ICAO code (max 6 digits and only in FS 4) and enter name (max 32 digits)
      - then as create POI

    Important (but generally applies to all airfields):

    • The entry in the ICAO code must be 4-6 digits and may only appear once in the user's FS 4. I personally orient myself to meter-taf.com or ourairports.com.
    • The entry in sname (shortname) may be a maximum of 32 characters.

    So Claude, now it's your turn - and if you don't know what to do, ask Juan.😂

  • There it is a new release fixing a Michael's reported issue, thanks! small release.

    Release v0.2.3 — xref variants keep their names · jlgabriel/afs4-poi-creator
    A small fix release. Nothing in the exported .toc / .tsl changed — a POI you built with v0.2.2 comes out byte-for-byte the same here. XREF variants keep their…
    github.com
  • Hi lads, excuse my ignorance but can someone just explain what this tool is exactly for? I read through the whole thread and I didn’t quite understand - is it a tool to make and implement any new physical objects into the simulator? Could we be able to make airports through this potentially, such as adding taxiways, gates (which I see are implemented already) and basic buildings?


    I am watching your project with great interest, I might join in with testing it myself as soon as I just understand the general idea of how this works.

  • can someone just explain what this tool is exactly for?

    Gladly:

    With this tool, you can create small scenery in a very simple way. The tool uses the XREF objects already present in FS 4 on your computer (e.g. airfield vehicles, buildings, etc.) and gives the opportunity to place them in places of your choice. This allows you to make your favorite airfields more interesting. All this works as a POI.

    Jugac64 has programmed it so great that you can adjust something very quickly I've been creating scenarios for several years, but it's never been so fast and easy with the existing XREF objects.

    The tool can also process XREF objects that you have stored locally. I think there will be some in the course of time. The advantage is that all objects are only saved once and can be used as often as desired.

    Earlier I also showed that heliports can be easily created with it. Small airstrips and sailing airfields may still be possible, but nothing more.

    But the tool cannot do this:

    • No tarmacs
    • No lines
    • No jetways
    • No taxi signs
    • No ground text

    These elements are created much more complex and must be created and converted via a TAP file.

    My assessment is that the tool will gradually be used by those who want to make something beautiful here and there. So if a glider wants to equip his airfield, then that will go very well. Small scenarios for missions can also be created well.

    Dare to install the tool, everything stays on your computer and you can't break anything.

    Tschüss, Michael (🍎🚁)

    Configurations:

    - MacBook Pro (16", 2024); Chip: Apple M4 Max; actual macOS
    - Controllers: | WinWing: URSA MINOR-Fighter-Joystick R, EFIS-L & FCU & EFIS-R | Thrustmaster TCA AIRBUS EDITION: 2x Quadrant, 2x Quadrant Add-On | Pro-Flight-Trainer: PUMA X | Steelseries: Nimbus+

    - iPad (12,9", 4th Generation, RAM: 6 GB); actual iOS | Steelseries: Nimbus+

  • PCT v0.3.0 — Bring your own objects

    Until now PCT placed Aerofly's built-in objects. As of v0.3.0 it can also place the custom objects you've added to your own sim.

    ✨ What's new

    🧩 Register and place your own XREF objects
    Have a custom model in your Aerofly FS 4/scenery/xref/ folder — something you built with the SDK, or that came with an add-on? Drop the .tmb (and its textures) in that folder, hit Rescan, and PCT offers to register it: it reads the model's name and footprint, generates the scene-index (.tmi) the sim needs in the model's own subfolder, and copies its textures alongside. After that it's just another catalog object — place it, rotate it, set its height, and export.

    • Text-format .tmb (from the Aerofly SDK / AC3D exporter) are fully supported.
    • IPACS's pre-compiled binary models can't be read automatically and show up greyed out.
    • As always, PCT ships zero model bytes — it only re-lays your own files.

    🧭 Compass-heading orientation
    The rotation field for XREF objects is now "Heading °" — an actual compass heading (0 = north, 90 = east), calibrated in the sim — instead of the raw .toc rotation value people kept misreading as a heading. The map's cyan drag-handle points the way the object actually faces. (Airport lights keep their raw "Orientation °".)

    🙏 Thanks

    Driven by the Aerofly forum community — special thanks to Michael (@ApfelFlieger) for the real third-party objects that made the register-and-fly flow testable, and to @chrispriv, whose object-facing formula this release confirmed in the sim.

    ⚠️ First launch (unsigned builds)

    The builds are unsigned, so your OS warns you once:

    • Windows — "Windows protected your PC" → More info → Run anyway.
    • macOS — right-click → Open → Open. On Apple Silicon, drag PCT.app to Applications, then run xattr -cr /Applications/PCT.app once.

    See the README for details.

  • Thanks for the update.

    There is an error in the footprint display:

    • The object rotates in the POI according to the drawing mark.
    • The foorprint in the map rotates against the drawing mark.


     

    Tschüss, Michael (🍎🚁)

    Configurations:

    - MacBook Pro (16", 2024); Chip: Apple M4 Max; actual macOS
    - Controllers: | WinWing: URSA MINOR-Fighter-Joystick R, EFIS-L & FCU & EFIS-R | Thrustmaster TCA AIRBUS EDITION: 2x Quadrant, 2x Quadrant Add-On | Pro-Flight-Trainer: PUMA X | Steelseries: Nimbus+

    - iPad (12,9", 4th Generation, RAM: 6 GB); actual iOS | Steelseries: Nimbus+