SkillAgentSearch skills...

Platform

Library to edit LucasArts *.TIE mission files for XW95, TIE95, XvT and XWA

Install / Use

/learn @MikeG621/Platform
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Idmr.Platform.dll

Author: Michael Gaisser
GitHub Release GitHub Release Date GitHub License
Contributors:

Library for editing LucasArts *.XWI and *.TIE mission files for Xwing95, TIE95, XvT and XWA.

Latest Release

v7.3, 14 Feb 2026

  • (TIE) Briefing Officer questions now include ability to control facial expressions.
    • Note: currently this is setup to handle a "per question" basis, though it should technically be possible to control on a "per page" basis.
  • (TIE) Added QuestionCondition.Always, renamed QuestionCondition.None to .Never, and deleted QuestionType.None. BREAKING CHANGE

Additional Information

Dependencies

Mission*.txt files contain file structure information per platform.

Programmer's reference can be found in the help file.

Version History

v7.2, 09 Mar 2025

  • (TIE, XvT) Missions with too many Messages will now load, though the excess will be lost. [YOGEME#120]
    • Note: Does not apply to XWA due to Messages being valid Trigger inputs, so simply deleting can break the mission.

v7.1, 02 Feb 2025

  • (TIE) "Board to Destroy Cargo" now "Board with no Effect". [YOGEME#117]
  • (XWA) Defect order text now includes IFF. [YOGEME#113]
  • (Strings) MeshType added.
  • (XWA) Fixes in the Order Var labels.

v7.0, 06 Oct 2024

  • Format spec for XWA implemented, includes some backflow into TIE and XvT.
    • This means all XWA Unknowns are defined; many that were left were editor-use only or Unused.
    • Not all editor-use properties are exposed.
    • Various things renamed. BREAKING CHANGE
    • ArrDep mothership properties renamed, the *Method bools are now *ViaMothership or *MothershipUsed per proper boolean naming convention.
  • Waypoint refactor. BREAKING CHANGE
    • BaseWaypoint renamed to Waypoint, no longer abstract.
    • Xwa.FlightGroup.Waypoint renamed to XwaWaypoint.
    • Xwing, TIE, and XvT now use Waypoint (formerly BaseWaypoint) directly. Previously derived classes deleted.
    • Clone() added.
  • (TIE) Added Questions.QuestionType and .QuestionCondition enums, PostTrigger and PostTrigType types changed. BREAKING CHANGE
  • (Xwing) GetTIECraftType now returns byte.
  • (Xwing) ArrDep *Hyperspace renamed to *ViaHyperspace and changed to bool.
  • (Xwing) Added FlightGroup.CommandList enum
  • (Briefing) EventParameters now a singleton class, this[] made private in lieu of GetCount(). BREAKING CHANGE
  • (Briefing) Deleted EventParameterCount, since it's redundant with GetCount().
  • (Briefing) ConvertTicksToSeconds and ConvertSecondsToTicks functions added.
  • (Briefing) Events parameter now a collection new Event class objects instead of short[]. BREAKING CHANGE
    • This causes many changes throughout. Most of the work is now done within the collection or event itself without requiring a lot of array manipulation.
  • (TIE-XWA) BaseFlightGroup.Difficulty changed to new Difficulties enum.
  • (Xwing Briefing) Couple internal changes around event conversion.
    • short[] _eventMapper now EventMap[] _eventMaps.
    • short getEventMapperIndex() now EventMap getEventMapper.
  • (XWA) The TrimEnd fix from v5.0 reapplied and expanded throughout.

v6.1, 08 Dec 2023

  • (Converter) Added TieToXvt( ), TieToBop( ), TieToXvtBop( ), XvtBopToXwa( ), TieToXwa( ) upgrade paths
  • (Converter) XWA orders convert times and craft type to/from TIE and XvT
  • (Converter) XvT to XWA Triggers adjust craft type
  • (Converter) Added Countermeasures, ExplosionTime, GlobalUnit and Optionals to Xwa to Xvt Flightgroups
  • (Xwing) Fixed up FlightGroup.WaypointIndex
  • (TIE) Added FlightGroup.Order.CommandList, Mission.Trigger.TypeList, .AmountList and .ConditionList enums
  • (XvT) Briefing EventQuantityLimit corrected to 200
  • (XvT) Order and Trigger operators convert time to XWA properly
  • (XvT) Added FlightGroup.Order.CommandList, Mission.Trigger.TypeList, .AmountList and .ConditionList enums
  • (XWA) Added FlightGroup.Order.CommandList, Mission.Trigger.TypeList, .AmountList and .ConditionList enums
  • (XWA) Fixed the time display for "Before Time" trigger/order target type text
  • (XWA) Mission.GetDelaySeconds( ) now static BREAKING CHANGE

v6.0, 27 Oct 2023

  • (XWA) FG.Designation Unknown 0x14 renamed to "HYP from Any Region" [YOGEME#91]
  • (XWA) Arr/Dep Method1 changed to byte to handle value of 2, "HYP to region of mothership" BREAKING CHANGE

v5.8.1, 14 Oct 2023

v5.8, 04 Aug 2023

  • (BaseBriefing) New "Skip Marker" event, for TIE and XvT
  • (XWA) Region references in Triggers and Orders prepped for string replacement similar to FGs and Teams [YOGEME#82]

v5.7.5, 16 Jan 2023

  • (XWA) Fixed Message reading after length increased in 5.7.3
  • Updates for TIE. Deleted items are those confirmed to have zero effect in the exectuable. [Issue #12]
    • "Captured on Ejection" and "Secret Goals" removed
    • Trigger "Unknown (arrive?)" now "cannon subsystem disabled"
    • Trigger Type "Craft When" fixed
    • Trigger Type "Misc" now "Adjusted AI Skill", added "Status" and "All Craft" types to match XvT
    • Status "No Lasers" now "No Turrets", everything past "Hyperdrive Added" deleted
    • Orders after "Board to Repair" deleted

v5.7.4, 27 Aug 2022

  • (XxT) Briefing TicksPerSecond updated to 21 (0x15) instead of 20.

v5.7.3, 19 Jun 2022

  • (XWA) Message length limit increased to 68.

v5.7.2, 25 Feb 2022

  • (XWA) Added missing Squadron logo options in Mission.LogoEnum

v5.7.1, 08 Feb 2022

  • (XWA) Message Trigger And/Or read now checks for 1 instead of any odd value (JB)

v5.7, 27 Jan 2022

  • More work from Random Starfighter
    • (TIE) New ctors for FG.Order, Mission Trigger
    • (XvT) ctors added last rev now call the blanks prior to working
    • (XvT) Strings.OrderDesignation added
    • (XWA) New ctors for FG.Goal, FG Order, FG.Waypoint, Mission.Trigger
    • (XWA) Fixed a Message.OriginatingFG issue during deletes
    • (Xwing.Strings) Formation fixed, first is "Double Vic" and last two are Undefined.

v5.6, 03 Jan 2022

  • (XvT) New constructors for FG.Goal, FG.Order and Mission.Trigger (JB)

v5.5.1, 29 Nov 2021

  • (XWA.Strings) Removed "Not Identified" from Status

v5.5, 01 Aug 2021

  • Some fixes from RandomStarfighter
    • (All) SS Patrol and SS Await Return order strings now show target info
    • (XWA) Hyper to Region order text updated with token
    • (XWA) Fixed some CraftType errors in Order and Trigger strings

v5.4, 04 Apr 2021

  • (Converter) FG Goal amounts fixed when converting from XW [YOGEME#55] (JB)
  • (Converter) Fixed an exception message

v5.3, 28 Mar 2021

  • Several items around X-wing Briefing conversions, most related to YOGEME#51 and YOGEME#53
    • (Converter) Fixed Description, since it wasn't always splitting out hints properly
    • (Converter) Removed auto creation of Page Break before ClearText
    • (Converter) Removed the MoveMap multiplier in XW-XWA
    • (Converter) Skip over porting "None" events
    • (XW) ClearText event now correctly maps to Page Break, v5.2 WaitForClick conversion removed

v5.2 - 24 Mar 2021

  • (XW) WaitForClick briefing event wasn't converting to Page Break, causing failures after mission conversions [YOGEME#51]

v5.1 - 15 Mar 2021

  • (XWA) Trigger And/Or values now read XWA's method of (value & 1) = TRUE. Still only writes 0/1 [Related to YOGEME#48]

v5.0 - 10 Oct 2020

  • (XWA) Changed Trim to TrimEnd for craft Name and Cargos during load, as there's the potential for a leading '\0' which would keep the rest of the string
  • Mostly XvT-related updates by Random Starfighter BREAKING CHANGES
    • Mission.RndSeed discovered
    • FlightGroup.Unknown2 is now StopArrivingWhen enum
    • FlightGroup.Unknown3 is now RandomArrivalDelayMinutes
    • FlightGroup.Unknown4 is now RandomArrivalDelaySeconds
    • FG Goals discovered to have an array of Enabled values, not just the one followed by a Team value (which happened to just work for SP missions). Consumes Unk10-15.
    • Documentation updates to Mission_XvT.txt for some of the finer workings of some triggers and conditions
    • (XWA) Global Group references in Orders and Triggers prepped for string replacement, similar to FGs and Teams.

v4.0 - 09 Aug 2020

Many of these are BREAKING CHANGES

  • A lot of arrays and such were changed to use auto-properties, many of them with private set
  • A lot of other arrays and objects were set to readonly
  • (TIE.Flightgroup) PermaDeath changed to bool
  • (TIE.Strings) IFF numbers removed from defaults
  • (XWA.Mission) Iffs renamed to IFFs
  • (XWA.Mission.Trigger) IFF substitution implemented
  • (Xwing.Briefing) IsVisible( ) removed
  • (Xwing.Briefing) EventCount( ) removed
  • (Xwing.Briefing) Visible renamed to IsVisible
  • (Xwing.Briefing) public fields have PascalCase applied
  • (Xwing.Briefing) EventM
View on GitHub
GitHub Stars9
CategoryDevelopment
Updated1mo ago
Forks5

Languages

C#

Security Score

85/100

Audited on Feb 14, 2026

No findings