From 9ff6be93117ec426af1f33ed32fdc2a0847b1933 Mon Sep 17 00:00:00 2001 From: mrSkortch Date: Tue, 20 Sep 2016 02:16:13 -0600 Subject: [PATCH] rev 74 Minor fix to mist.getCurrentGroupData. --- mist.lua | 38 ++++++++++++++++++------------ mist_4_3_73.lua => mist_4_3_74.lua | 38 ++++++++++++++++++------------ rev changelog.txt | 3 +++ 3 files changed, 49 insertions(+), 30 deletions(-) rename mist_4_3_73.lua => mist_4_3_74.lua (99%) diff --git a/mist.lua b/mist.lua index 19ee3b4..ffb822a 100644 --- a/mist.lua +++ b/mist.lua @@ -35,7 +35,7 @@ mist = {} -- don't change these mist.majorVersion = 4 mist.minorVersion = 3 -mist.build = 73 +mist.build = 74 -- forward declaration of log shorthand local log @@ -289,7 +289,7 @@ do -- the main scope ['Focus'] = 4, ['Darkstar'] = 5, }, - ['TANKER'] = { + ['TANKER'] = { ['Texaco'] = 1, ['Arco'] = 2, ['Shell'] = 3, @@ -2629,8 +2629,8 @@ function mist.getUnitsInMovingZones(unit_names, zone_unit_names, radius, zone_ty end function mist.getUnitsLOS(unitset1, altoffset1, unitset2, altoffset2, radius) + log:info("$1, $2, $3, $4, $5", unitset1, altoffset1, unitset2, altoffset2, radius) radius = radius or math.huge - local unit_info1 = {} local unit_info2 = {} @@ -2955,19 +2955,26 @@ do -- group functions scope local newUnits = newGroup:getUnits() for unitNum, unitData in pairs(newGroup:getUnits()) do newData.units[unitNum] = {} - newData.units[unitNum].unitId = tonumber(unitData:getID()) - newData.units[unitNum].point = unitData.point + local uName = unitData:getName() + + if mist.DBs.unitsByName[uName] and unitData:getTypeName() == mist.DBs.unitsByName[uName].type and mist.DBs.unitsByName[uName].unitId == tonumber(unitData:getID()) then -- If old data matches most of new data + newData.units[unitNum] = mist.utils.deepCopy(mist.DBs.unitsByName[uName]) + else + newData.units[unitNum].unitId = tonumber(unitData:getID()) + newData.units[unitNum].type = unitData:getTypeName() + newData.units[unitNum].skill = mist.getUnitSkill(uName) + newData.country = string.lower(country.name[unitData:getCountry()]) + newData.units[unitNum].callsign = unitData:getCallsign() + newData.units[unitNum].unitName = uName + end + newData.units[unitNum].x = unitData:getPosition().p.x newData.units[unitNum].y = unitData:getPosition().p.z - newData.units[unitNum].type = unitData:getTypeName() - newData.units[unitNum].skill = mist.getUnitSkill(unitData:getName()) - - -- get velocity needed - newData.units[unitNum].unitName = unitData:getName() - newData.units[unitNum].heading = mist.getHeading(unitData, true) -- added to DBs + newData.units[unitNum].point = {x = newData.units[unitNum].x, y = newData.units[unitNum].y} + newData.units[unitNum].heading = mist.getHeading(unitData, true) -- added to DBs newData.units[unitNum].alt = unitData:getPosition().p.y - newData.country = string.lower(country.name[unitData:getCountry()]) - newData.units[unitNum].callsign = unitData:getCallsign() + newData.units[unitNum].speed = mist.vec.mag(unitData:getVelocity()) + end return newData @@ -6027,6 +6034,7 @@ do -- group tasks scope -- function mist.ground.buildPath() end -- ???? function mist.ground.patrolRoute(vars) + log:info('patrol') local tempRoute = {} local useRoute = {} local gpData = vars.gpData @@ -6117,9 +6125,9 @@ do -- group tasks scope }, }, } - - + useRoute[#useRoute].task = tempTask + log:info(useRoute) mist.goRoute(gpData, useRoute) return diff --git a/mist_4_3_73.lua b/mist_4_3_74.lua similarity index 99% rename from mist_4_3_73.lua rename to mist_4_3_74.lua index 19ee3b4..ffb822a 100644 --- a/mist_4_3_73.lua +++ b/mist_4_3_74.lua @@ -35,7 +35,7 @@ mist = {} -- don't change these mist.majorVersion = 4 mist.minorVersion = 3 -mist.build = 73 +mist.build = 74 -- forward declaration of log shorthand local log @@ -289,7 +289,7 @@ do -- the main scope ['Focus'] = 4, ['Darkstar'] = 5, }, - ['TANKER'] = { + ['TANKER'] = { ['Texaco'] = 1, ['Arco'] = 2, ['Shell'] = 3, @@ -2629,8 +2629,8 @@ function mist.getUnitsInMovingZones(unit_names, zone_unit_names, radius, zone_ty end function mist.getUnitsLOS(unitset1, altoffset1, unitset2, altoffset2, radius) + log:info("$1, $2, $3, $4, $5", unitset1, altoffset1, unitset2, altoffset2, radius) radius = radius or math.huge - local unit_info1 = {} local unit_info2 = {} @@ -2955,19 +2955,26 @@ do -- group functions scope local newUnits = newGroup:getUnits() for unitNum, unitData in pairs(newGroup:getUnits()) do newData.units[unitNum] = {} - newData.units[unitNum].unitId = tonumber(unitData:getID()) - newData.units[unitNum].point = unitData.point + local uName = unitData:getName() + + if mist.DBs.unitsByName[uName] and unitData:getTypeName() == mist.DBs.unitsByName[uName].type and mist.DBs.unitsByName[uName].unitId == tonumber(unitData:getID()) then -- If old data matches most of new data + newData.units[unitNum] = mist.utils.deepCopy(mist.DBs.unitsByName[uName]) + else + newData.units[unitNum].unitId = tonumber(unitData:getID()) + newData.units[unitNum].type = unitData:getTypeName() + newData.units[unitNum].skill = mist.getUnitSkill(uName) + newData.country = string.lower(country.name[unitData:getCountry()]) + newData.units[unitNum].callsign = unitData:getCallsign() + newData.units[unitNum].unitName = uName + end + newData.units[unitNum].x = unitData:getPosition().p.x newData.units[unitNum].y = unitData:getPosition().p.z - newData.units[unitNum].type = unitData:getTypeName() - newData.units[unitNum].skill = mist.getUnitSkill(unitData:getName()) - - -- get velocity needed - newData.units[unitNum].unitName = unitData:getName() - newData.units[unitNum].heading = mist.getHeading(unitData, true) -- added to DBs + newData.units[unitNum].point = {x = newData.units[unitNum].x, y = newData.units[unitNum].y} + newData.units[unitNum].heading = mist.getHeading(unitData, true) -- added to DBs newData.units[unitNum].alt = unitData:getPosition().p.y - newData.country = string.lower(country.name[unitData:getCountry()]) - newData.units[unitNum].callsign = unitData:getCallsign() + newData.units[unitNum].speed = mist.vec.mag(unitData:getVelocity()) + end return newData @@ -6027,6 +6034,7 @@ do -- group tasks scope -- function mist.ground.buildPath() end -- ???? function mist.ground.patrolRoute(vars) + log:info('patrol') local tempRoute = {} local useRoute = {} local gpData = vars.gpData @@ -6117,9 +6125,9 @@ do -- group tasks scope }, }, } - - + useRoute[#useRoute].task = tempTask + log:info(useRoute) mist.goRoute(gpData, useRoute) return diff --git a/rev changelog.txt b/rev changelog.txt index 2669868..7667a2f 100644 --- a/rev changelog.txt +++ b/rev changelog.txt @@ -1,3 +1,6 @@ +v74 +-fixed mist.getCurrentGroupData to return more data + v73 -fixed mist.time.getDate to account for changes made to the mission file format related to how the mission start time and date are saved. Also added in code to correctly account for leap years. - fixed issue in DB updating checking the incorrect value