MIST Changelog

From DCS World Wiki - Hoggitworld.com

MIST release history.

Version 1.1

  • fixed a bug with mist.addEventHandler

Version 2.0

  • added mist.utils.metersToNM
  • added mist.utils.metersToFeet
  • added mist.utils.NMToMeters
  • added mist.utils.feetToMeters
  • added mist.utils.mpsToKnots
  • added mist.utils.mpsToKmph
  • added mist.utils.knotsToMps
  • added mist.utils.kmphToMps
  • added mist.tostringMGRS
  • added mist.tostringLL
  • added mist.tostringBR
  • added mist.getAvgPos
  • added mist.getLeadPos
  • added mist.message.add
  • added mist.message.remove
  • added mist.goRoute
  • added mist.getGroupRoute
  • added mist.groupToPoint
  • added mist.groupToRandomZone
  • added mist.groupRandomDistSelf
  • added mist.ground.buildWP
  • mist.groupToRandomPoint now mist.groupToRandomPoint
  • removed randomized speed from mist.ground.buildWP
  • mist.getAvgPos returns nil if no units found alive.
  • added mist.utils.getDir
  • mist.vec.scalar_mult officially renamed to mist.vec.scalarMult; old name still works though.
  • mist.vec.getUnitVec added
  • mist.utils.makeVec2 and mist.utils.makeVec3 always return back a new vector now.
  • added mist.utils.get2DDist
  • added mist.utils.get3DDist
  • added mist.vec.rotateVec2
  • added mist.getMGRSString
  • added mist.getLeadingMGRSString
  • added mist.getLLString
  • added mist.getBRString
  • added mist.utils.zoneToVec3
  • added mist.getLeadingLLString
  • added mist.getLeadingBRString
  • added mist.getRandPointInCircle
  • fixed compatibility for SSE v1.2.4
  • added mist.fixedWing.buildWP
  • added mist.heli.buildWP
  • added heading and player can drive to units database

Version 3.0

  • Several DBs are now updated as units are dynamically added to the mission
  • Country names in DBs are all now lower case.
  • Fixed bug with DBs where countryId was the mission table index of the country table and not the actual country Id
  • Added startTime to group tables
  • Added mist.dbUpdate()
  • added mist.dynAdd()
  • added mist.getCurrentGroupData()
  • added mist.getGroupData()
  • added mist.getPayload()
  • added mist.teleportToPoint()
  • added mist.respawnInZone()
  • added mist.teleportInZone()
  • added mist.cloneInZone()
  • added mist.respawnGroup()
  • added mist.cloneGroup()
  • added mist.teleportGroup()
  • added mist.DBs.MEunitsByName
  • added mist.DBs.MEunitsById
  • added mist.DBs.MEunitsByCat
  • added mist.DBs.MEunitsByNum
  • added mist.DBs.MEgroupsByName
  • added mist.DBs.MEgroupsById
  • added mist.isTerrainValid
  • added mist.DBs.const.callsigns
  • mist.getRandPointInCircle now accepts both vec 2 and 3
  • addded alt and alt_type to units databases
  • bug with mist.removeFunction should be fixed now.
  • mist.message.remove now accepts a self variable, not an integer
  • mist.message.removeById added; works like the old mist.message.remove
  • fixed mist.getUnitsInZones and mist.getUnitsInMovingZones to return only activated units
  • mist.message.add now accepts a "sound" vars to play audio. Due to how it is implemented, Combined Arms players will be UNABLE hear any sounds.
  • Reorganized documentations a bit
  • Fixed bug with how functions called mist.toStringLL
  • Fixed bug with mist.teleportToPoint

Version 3.1

  • fixed bug with sending sounds to clients
  • if an audio message is sent to correct coalition or 'all', CA players will now hear it
  • added speed entry to units DBs
  • fixed typo with mist.respawnGroup returning a nil value
  • modified mist.cloneGroup, mist.teleportGroup, mist.respawnGroup behavior if task variable is given.
  • If task is anything except for a number, the task become the groups default route.
  • if task is a number, then the route will be assigned after however many seconds you specify.
  • mist.dynAdd now accepts a route variable as part of the table passed to it
  • overloaded mist.dynAdd to accept route data if the points part of the table is missing. groupTable.route[1]... instead of the correct format groupTable.route.points[1]...
  • fixed mist.getPayload, must now be sent a string

Version 3.2

  • added mist.utils.makeVec3GL() returns a vec 3 coordinate at ground level of a given vec2/vec3 coordinate
  • added mist.ground.patrol
  • added mist.ground.patrolRoute
  • fixed bug with mist.ground.buildWP not accepting formations. Minor organizational changes
  • helipad Id is now retrieved on mist.getGroupRoute
  • added livery_id to DBs so helicopters don't spawn without skins
  • added task to DBs and dynAdd scripts so that AI aircraft will engage targets if respawned
  • fixed bug with mist.getCurrentGroupData so that it returns a string for both coalition and category
  • fixed bug with mist.teleportToPoint to properly default to correct surface types
  • added online documentation. Available at: http://wiki.hoggit.us/view/Mission_Scripting_Tools_Documentation

Version 3.3

  • added mist.dynAddStatic()
  • added mist.random()
  • added mist.getmist.nextUnitId()
  • added mist.getmist.nextGroupId()
  • added shape_name to DBs for static objects to use
  • added static object support for teleportToPoint and related scripting functions
  • changed print statements to env.info for some functions
  • Fixed Bug with makeVec3GL
  • fixed bug with mist.flagFuncs.point_in_polygon related to the toggle parameter
  • fixed bug with messages not correctly being sent to the right groups
  • numerous changes mist.dynAdd and mist.dbUpdate to be more efficient and squash bugs
  • mist.dynAdd now returns a string of the groups name instead of the table of the group object

Version 3.4

  • added country table entry for mist.getGroupData()
  • mist.getHeading now accepts optional second variable. Set to true to get cartesian*based heading instead of lat/lon*based heading.
  • fixed mist.getLeadPos if passed group table contains a dead leader
  • fixed minor bug with msgDisplay (thanks svenvandevelde)
  • fixed bug with dynamically added groups (thanks Ajax)
  • teleportToPoint now accepts vars.gpName or vars.groupName for the groups name
  • fixed bug with mist.flagFunc.units_in_polygon() toggle option

Version 3.5

  • re-factored database updating functions.
  • added mist.flagFunc.group_alive
  • added mist.flagFunc.group_dead
  • added mist.flagFunc.group_alive_more_than
  • added mist.flagFunc.group_alive_less_than
  • added mist.getUnitSkill
  • added mist.stringMatch
  • added mist.groupTableCheck
  • added mist.randomizeNumTable
  • added mist.spawnRandomizedGroup
  • added mist.randomizeGroupOrder
  • added mist.getUnitsInPolygon
  • added mist.terrainHeightDiff
  • added getGroupPayload
  • DB additions: callsign, psi, modulation, frequency, uncontrolled, radioSet, hardpoint_racks, onboard_num, and point
  • modified flagfuncs now support string values for flag and stop flags
  • optimized mist.getGroupData

Version 3.6

  • Teleport To Point related functions now check the altitude of a given point if specified for teleporting aircraft
  • fixed bug with mist.flagFunc.group_alive_less_than and mist.flagFunc.group_alive_more_than
  • fixed bug with optional variables for coordinate messages not actually being optional
  • added mist.getRandomPointInZone. Function uses mist.getRandomPointInCircle.
  • fixed bug with altitude switching to radio if baro was specified
  • added the speed to DBs if a unit is dynamically spawned in
  • added extra checks in case Group/Unit.getByName returns dead objects
  • Mission file searching functions now search by Id instead of group or unit names.

The name input variable hasnt changed, value gets converted to Id automatically if found. Functions now also accept a numerical groupId or unitId getPayload getGroupPayload getGroupPoints getGroupRoute

Version 3.7

  • added mist.time.milToGame
  • added mist.time.getDate
  • added mist.time.getDHMS
  • added mist.time.convertToSec
  • added mist.getDateString
  • added mist.getClockString
  • added mist.getMilString
  • added support for cargo objects for all dynAdd related scripts (clone, teleport, respawn)
  • added cargo spawned outside of mist should be correctly added to mist DBs.
  • added multSound entry for mist.message.add
  • fixed mist.getCurrentGroupData to return static data and hidden value correctly
  • fixed mist.getGroupData to return static data and hidden value correctly
  • fixed mist.dynAdd not accepting either startTime or start_time values
  • refactored mist message display code.

Functionality should be the same, but the backend should be more efficient. As stated earlier I also added the multSound entry which allows for multiple sound files to be played during the course of a single message at different times.

Entries added to DBs -hidden -AddPropAircraft -mass -canCargo -categoryStatic -startTime

Version 4.0

  • added a check when adding unitTypes for messages to figure out the correct in-game unit name for a given unit. For example the Mi-8 helicopter is always displayed as 'Mi-8MTV2', however its actual in game name is 'Mi-8MT', this feature allows for you to list 'Mi-8MTV2', 'Mi-8MTV', or 'Mi-8' to get messages sent to the Mi-8. Shortcut also works for the relevant aircraft 'Mig-21', 'Mig-15', 'FW-190', and 'Bf-109'.
  • added mist.getAvgPos now accepts static objects in addition to units.
  • made DB creation check the mission editor version for no paticular reason
  • added mist.getLastDBUpdateTime which returns the most recent time the DB update function has run.
  • changed mist.makeUnitTable processed entry to return the time it was processed instead of a boolean value.
  • Changed teleport/respawn/clone functions to spawn aircraft at random altitudes instead of constants if the point given is vec2/not specified.
  • Fixed FlagFuncs will now recognize units added in dynamically. Note this only applies if you send it unitTableNames identifier and not the table that the function creates.
  • Added variable to all flagfuncs. unitTableDef is the original definition used for units.
  • Fixed all getUserFlag checks to compare with numerical value instead of boolean
  • Fixed check in mist.getUnitsLOS to verify units are active in a mission
  • Fixed check in mist.goRoute to verify both the group and controller are valid before assigning the route
  • fixed bug with dynAdd and dynAddStatic not recognizing new countries in dcs 1.5
  • fixed bug with groupRandomDistSelf improperly declaring the y variable
  • fixed flagFunc.units_in_moving_zones not checking for a unitNameTable for the zone_units
  • fixed bug in flagFunc.units_LOS when given a unitNameTable for both entries.

Version 4.1

  • added mist.getAvgPoint(). Function is similar to mist.getAvgPos except it uses raw vec2/3 coordinates instead of units
  • added mist.utils.roundTbl() Has the same input values as mist.utils.round except it accepts a table and it rounds all numbers in the first level of the table to the passed precision.
  • added mist.utils.unitToWP( ) Convers a units current position to a WP table. Will also use the unit's current velocity for the speed variable.
  • added mist.utils.vecToWP() Converts vec2/3 to a WP table {x,y alt}
  • changed mist.utils.makeVec3 now supports being given a table in WP format. Specifically it now coverts a table {x, y, alt) to vec3
  • fixed issue with dynAdd functions naming a group with the country ID insead of country name
  • changed mist.utils.getDir 2nd variable is now optional
  • Fixed issue with country names in the editor not matching enum country name values. For example "Best Korea" could not match with "BEST_KOREA". Thanks lukrop for this fix
  • added check to DB update functions to only update if data from the group has changed from what is currently in the DB. This fixes an issue I had where some data was lost if you spawned a group normally after mission start and then used a respawn, clone, or teleport function on said group.
  • Fixed locality issue with mist.getNorthCorrection