<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.hoggitworld.com/index.php?action=history&amp;feed=atom&amp;title=MIST_Changelog</id>
		<title>MIST Changelog - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.hoggitworld.com/index.php?action=history&amp;feed=atom&amp;title=MIST_Changelog"/>
		<link rel="alternate" type="text/html" href="https://wiki.hoggitworld.com/index.php?title=MIST_Changelog&amp;action=history"/>
		<updated>2026-04-29T16:55:31Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.hoggitworld.com/index.php?title=MIST_Changelog&amp;diff=963&amp;oldid=prev</id>
		<title>Grimes: Created page with &quot;MIST release history.   === Version 1.1 === * fixed a bug with mist.addEventHandler  === Version 2.0 === * added mist.utils.metersToNM * added mist.utils.metersToFeet * added...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.hoggitworld.com/index.php?title=MIST_Changelog&amp;diff=963&amp;oldid=prev"/>
				<updated>2018-04-13T08:57:39Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;MIST release history.   === Version 1.1 === * fixed a bug with mist.addEventHandler  === Version 2.0 === * added mist.utils.metersToNM * added mist.utils.metersToFeet * added...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;MIST release history. &lt;br /&gt;
&lt;br /&gt;
=== Version 1.1 ===&lt;br /&gt;
* fixed a bug with mist.addEventHandler&lt;br /&gt;
&lt;br /&gt;
=== Version 2.0 ===&lt;br /&gt;
* added mist.utils.metersToNM&lt;br /&gt;
* added mist.utils.metersToFeet&lt;br /&gt;
* added mist.utils.NMToMeters&lt;br /&gt;
* added mist.utils.feetToMeters&lt;br /&gt;
* added mist.utils.mpsToKnots&lt;br /&gt;
* added mist.utils.mpsToKmph&lt;br /&gt;
* added mist.utils.knotsToMps&lt;br /&gt;
* added mist.utils.kmphToMps&lt;br /&gt;
* added mist.tostringMGRS&lt;br /&gt;
* added mist.tostringLL&lt;br /&gt;
* added mist.tostringBR&lt;br /&gt;
* added mist.getAvgPos&lt;br /&gt;
* added mist.getLeadPos &lt;br /&gt;
* added mist.message.add&lt;br /&gt;
* added mist.message.remove&lt;br /&gt;
* added mist.goRoute&lt;br /&gt;
* added mist.getGroupRoute &lt;br /&gt;
* added mist.groupToPoint&lt;br /&gt;
* added mist.groupToRandomZone&lt;br /&gt;
* added mist.groupRandomDistSelf&lt;br /&gt;
* added mist.ground.buildWP&lt;br /&gt;
* mist.groupToRandomPoint now mist.groupToRandomPoint&lt;br /&gt;
* removed randomized speed from mist.ground.buildWP&lt;br /&gt;
* mist.getAvgPos returns nil if no units found alive.&lt;br /&gt;
* added mist.utils.getDir&lt;br /&gt;
* mist.vec.scalar_mult officially renamed to mist.vec.scalarMult; old name still works though.&lt;br /&gt;
* mist.vec.getUnitVec added&lt;br /&gt;
* mist.utils.makeVec2 and mist.utils.makeVec3 always return back a new vector now.&lt;br /&gt;
* added mist.utils.get2DDist&lt;br /&gt;
* added mist.utils.get3DDist&lt;br /&gt;
* added mist.vec.rotateVec2&lt;br /&gt;
* added mist.getMGRSString&lt;br /&gt;
* added mist.getLeadingMGRSString&lt;br /&gt;
* added mist.getLLString&lt;br /&gt;
* added mist.getBRString&lt;br /&gt;
* added mist.utils.zoneToVec3&lt;br /&gt;
* added mist.getLeadingLLString&lt;br /&gt;
* added mist.getLeadingBRString&lt;br /&gt;
* added mist.getRandPointInCircle&lt;br /&gt;
* fixed compatibility for SSE v1.2.4&lt;br /&gt;
* added mist.fixedWing.buildWP&lt;br /&gt;
* added mist.heli.buildWP&lt;br /&gt;
* added heading and player can drive to units database&lt;br /&gt;
&lt;br /&gt;
=== Version 3.0 ===&lt;br /&gt;
* Several DBs are now updated as units are dynamically added to the mission&lt;br /&gt;
* Country names in DBs are all now lower case.&lt;br /&gt;
* Fixed bug with DBs where countryId was the mission table index of the country table and not the actual country Id&lt;br /&gt;
* Added startTime to group tables&lt;br /&gt;
* Added mist.dbUpdate()&lt;br /&gt;
* added mist.dynAdd()&lt;br /&gt;
* added mist.getCurrentGroupData()&lt;br /&gt;
* added mist.getGroupData()&lt;br /&gt;
* added mist.getPayload()&lt;br /&gt;
* added mist.teleportToPoint()&lt;br /&gt;
* added mist.respawnInZone()&lt;br /&gt;
* added mist.teleportInZone()&lt;br /&gt;
* added mist.cloneInZone()&lt;br /&gt;
* added mist.respawnGroup()&lt;br /&gt;
* added mist.cloneGroup()&lt;br /&gt;
* added mist.teleportGroup()&lt;br /&gt;
* added mist.DBs.MEunitsByName &lt;br /&gt;
* added mist.DBs.MEunitsById &lt;br /&gt;
* added mist.DBs.MEunitsByCat &lt;br /&gt;
* added mist.DBs.MEunitsByNum&lt;br /&gt;
* added mist.DBs.MEgroupsByName&lt;br /&gt;
* added mist.DBs.MEgroupsById&lt;br /&gt;
* added mist.isTerrainValid&lt;br /&gt;
* added mist.DBs.const.callsigns&lt;br /&gt;
* mist.getRandPointInCircle now accepts both vec 2 and 3&lt;br /&gt;
* addded alt and alt_type to units databases&lt;br /&gt;
* bug with mist.removeFunction should be fixed now.&lt;br /&gt;
* mist.message.remove now accepts a self variable, not an integer&lt;br /&gt;
* mist.message.removeById added; works like the old mist.message.remove&lt;br /&gt;
* fixed mist.getUnitsInZones and mist.getUnitsInMovingZones to return only activated units&lt;br /&gt;
* mist.message.add now accepts a &amp;quot;sound&amp;quot; vars to play audio. Due to how it is implemented, Combined Arms players will be UNABLE hear any sounds.&lt;br /&gt;
* Reorganized documentations a bit&lt;br /&gt;
* Fixed bug with how functions called mist.toStringLL&lt;br /&gt;
* Fixed bug with mist.teleportToPoint&lt;br /&gt;
&lt;br /&gt;
=== Version 3.1 === &lt;br /&gt;
* fixed bug with sending sounds to clients&lt;br /&gt;
* if an audio message is sent to correct coalition or 'all', CA players will now hear it&lt;br /&gt;
* added speed entry to units DBs&lt;br /&gt;
* fixed typo with mist.respawnGroup returning a nil value&lt;br /&gt;
* modified mist.cloneGroup, mist.teleportGroup, mist.respawnGroup behavior if task variable is given.&lt;br /&gt;
* If task is anything except for a number, the task become the groups default route.&lt;br /&gt;
* if task is a number, then the route will be assigned after however many seconds you specify. &lt;br /&gt;
* mist.dynAdd now accepts a route variable as part of the table passed to it&lt;br /&gt;
* 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]...&lt;br /&gt;
* fixed mist.getPayload, must now be sent a string &lt;br /&gt;
&lt;br /&gt;
=== Version 3.2 ===&lt;br /&gt;
* added mist.utils.makeVec3GL() returns a vec 3 coordinate at ground level of a given vec2/vec3 coordinate&lt;br /&gt;
* added mist.ground.patrol&lt;br /&gt;
* added mist.ground.patrolRoute&lt;br /&gt;
* fixed bug with mist.ground.buildWP not accepting formations. Minor organizational changes&lt;br /&gt;
* helipad Id is now retrieved on mist.getGroupRoute&lt;br /&gt;
* added livery_id to DBs so helicopters don't spawn without skins&lt;br /&gt;
* added task to DBs and dynAdd scripts so that AI aircraft will engage targets if respawned&lt;br /&gt;
* fixed bug with mist.getCurrentGroupData so that it returns a string for both coalition and category&lt;br /&gt;
* fixed bug with mist.teleportToPoint to properly default to correct surface types&lt;br /&gt;
* added online documentation. Available at: http://wiki.hoggit.us/view/Mission_Scripting_Tools_Documentation&lt;br /&gt;
&lt;br /&gt;
=== Version 3.3 ===&lt;br /&gt;
* added mist.dynAddStatic()&lt;br /&gt;
* added mist.random()&lt;br /&gt;
* added mist.getmist.nextUnitId()&lt;br /&gt;
* added mist.getmist.nextGroupId()&lt;br /&gt;
* added shape_name to DBs for static objects to use&lt;br /&gt;
* added static object support for teleportToPoint and related scripting functions&lt;br /&gt;
* changed print statements to env.info for some functions&lt;br /&gt;
* Fixed Bug with makeVec3GL&lt;br /&gt;
* fixed bug with mist.flagFuncs.point_in_polygon related to the toggle parameter&lt;br /&gt;
* fixed bug with messages not correctly being sent to the right groups&lt;br /&gt;
* numerous changes mist.dynAdd and mist.dbUpdate to be more efficient and squash bugs&lt;br /&gt;
* mist.dynAdd now returns a string of the groups name instead of the table of the group object&lt;br /&gt;
&lt;br /&gt;
=== Version 3.4 ===&lt;br /&gt;
* added country table entry for mist.getGroupData()&lt;br /&gt;
* mist.getHeading now accepts optional second variable.  Set to true to get cartesian*based heading instead of lat/lon*based heading. &lt;br /&gt;
* fixed mist.getLeadPos if passed group table contains a dead leader&lt;br /&gt;
* fixed minor bug with msgDisplay (thanks svenvandevelde)&lt;br /&gt;
* fixed bug with dynamically added groups (thanks Ajax)&lt;br /&gt;
* teleportToPoint now accepts vars.gpName or vars.groupName for the groups name&lt;br /&gt;
* fixed bug with  mist.flagFunc.units_in_polygon() toggle option&lt;br /&gt;
&lt;br /&gt;
=== Version 3.5 ===&lt;br /&gt;
* re-factored database updating functions. &lt;br /&gt;
* added mist.flagFunc.group_alive&lt;br /&gt;
* added mist.flagFunc.group_dead&lt;br /&gt;
* added mist.flagFunc.group_alive_more_than&lt;br /&gt;
* added mist.flagFunc.group_alive_less_than&lt;br /&gt;
* added mist.getUnitSkill&lt;br /&gt;
* added mist.stringMatch&lt;br /&gt;
* added mist.groupTableCheck&lt;br /&gt;
* added mist.randomizeNumTable&lt;br /&gt;
* added mist.spawnRandomizedGroup&lt;br /&gt;
* added mist.randomizeGroupOrder&lt;br /&gt;
* added mist.getUnitsInPolygon&lt;br /&gt;
* added mist.terrainHeightDiff&lt;br /&gt;
* added getGroupPayload&lt;br /&gt;
* DB additions: callsign, psi, modulation, frequency, uncontrolled, radioSet, hardpoint_racks, onboard_num, and point&lt;br /&gt;
* modified flagfuncs now support string values for flag and stop flags&lt;br /&gt;
* optimized mist.getGroupData&lt;br /&gt;
&lt;br /&gt;
=== Version 3.6 ===&lt;br /&gt;
&lt;br /&gt;
* Teleport To Point related functions now check the altitude of a given point if specified for teleporting aircraft&lt;br /&gt;
* fixed bug with mist.flagFunc.group_alive_less_than and mist.flagFunc.group_alive_more_than&lt;br /&gt;
* fixed bug with optional variables for coordinate messages not actually being optional&lt;br /&gt;
* added mist.getRandomPointInZone. Function uses mist.getRandomPointInCircle.&lt;br /&gt;
* fixed bug with altitude switching to radio if baro was specified&lt;br /&gt;
* added the speed to DBs if a unit is dynamically spawned in&lt;br /&gt;
* added extra checks in case Group/Unit.getByName returns dead objects&lt;br /&gt;
* Mission file searching functions now search by Id instead of group or unit names.&lt;br /&gt;
The name input variable hasnt changed, value gets converted to Id automatically if found. &lt;br /&gt;
Functions now also accept a numerical groupId or unitId&lt;br /&gt;
getPayload&lt;br /&gt;
getGroupPayload&lt;br /&gt;
getGroupPoints&lt;br /&gt;
getGroupRoute&lt;br /&gt;
&lt;br /&gt;
=== Version 3.7 ===&lt;br /&gt;
* added mist.time.milToGame&lt;br /&gt;
* added mist.time.getDate&lt;br /&gt;
* added mist.time.getDHMS&lt;br /&gt;
* added mist.time.convertToSec&lt;br /&gt;
* added mist.getDateString&lt;br /&gt;
* added mist.getClockString&lt;br /&gt;
* added mist.getMilString&lt;br /&gt;
* added support for cargo objects for all dynAdd related scripts (clone, teleport, respawn)&lt;br /&gt;
* added cargo spawned outside of mist should be correctly added to mist DBs.&lt;br /&gt;
* added multSound entry for mist.message.add&lt;br /&gt;
* fixed mist.getCurrentGroupData to return static data and hidden value correctly&lt;br /&gt;
* fixed mist.getGroupData to return static data and hidden value correctly&lt;br /&gt;
* fixed mist.dynAdd not accepting either startTime or start_time values&lt;br /&gt;
* refactored mist message display code. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Entries added to DBs&lt;br /&gt;
-hidden&lt;br /&gt;
-AddPropAircraft&lt;br /&gt;
-mass&lt;br /&gt;
-canCargo&lt;br /&gt;
-categoryStatic&lt;br /&gt;
-startTime&lt;br /&gt;
&lt;br /&gt;
=== Version 4.0 ===&lt;br /&gt;
* 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'.&lt;br /&gt;
* added mist.getAvgPos now accepts static objects in addition to units.&lt;br /&gt;
* made DB creation check the mission editor version for no paticular reason&lt;br /&gt;
* added mist.getLastDBUpdateTime which returns the most recent time the DB update function has run. &lt;br /&gt;
* changed mist.makeUnitTable processed entry to return the time it was processed instead of a boolean value. &lt;br /&gt;
* Changed teleport/respawn/clone functions to spawn aircraft at random altitudes instead of constants if the point given is vec2/not specified.&lt;br /&gt;
* 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. &lt;br /&gt;
* Added variable to all flagfuncs. unitTableDef is the original definition used for units. &lt;br /&gt;
* Fixed all getUserFlag checks to compare with numerical value instead of boolean&lt;br /&gt;
* Fixed check in mist.getUnitsLOS to verify units are active in a mission&lt;br /&gt;
* Fixed check in mist.goRoute to verify both the group and controller are valid before assigning the route&lt;br /&gt;
* fixed bug with dynAdd and dynAddStatic not recognizing new countries in dcs 1.5&lt;br /&gt;
* fixed bug with groupRandomDistSelf improperly declaring the y variable&lt;br /&gt;
* fixed flagFunc.units_in_moving_zones not checking for a unitNameTable for the zone_units&lt;br /&gt;
* fixed bug in flagFunc.units_LOS when given a unitNameTable for both entries.&lt;br /&gt;
=== Version 4.1 ===&lt;br /&gt;
* added mist.getAvgPoint(). Function is similar to mist.getAvgPos except it uses raw vec2/3 coordinates instead of units&lt;br /&gt;
* 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. &lt;br /&gt;
* 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. &lt;br /&gt;
* added mist.utils.vecToWP() Converts vec2/3 to a WP table {x,y alt}&lt;br /&gt;
* changed mist.utils.makeVec3 now supports being given a table in WP format. Specifically it now coverts a table {x, y, alt) to vec3&lt;br /&gt;
* fixed issue with dynAdd functions naming a group with the country ID insead of country name&lt;br /&gt;
* changed mist.utils.getDir 2nd variable is now optional&lt;br /&gt;
* Fixed issue with country names in the editor not matching enum country name values. For example &amp;quot;Best Korea&amp;quot; could not match with &amp;quot;BEST_KOREA&amp;quot;. Thanks lukrop for this fix&lt;br /&gt;
* 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.&lt;br /&gt;
* Fixed locality issue with mist.getNorthCorrection&lt;/div&gt;</summary>
		<author><name>Grimes</name></author>	</entry>

	</feed>