User Tools

Site Tools


arma2:missions:porting

This is an old revision of the document!


Porting Missions

Porting OFP or ArmA missions to ArmA 2.

Using powergrep configs to port missions. In these examples we use === as the search pair delimiter, for example bis===PMC would replace bis string with PMC string.

Remove addOns[] addOnsAuto[]

You need to remove the contents of addOns[] and addOnsAuto[] arrays in mission.sqm otherwise you cannot even begin to load your mission in mission editor. You can do this with easy regexp line:

addOns\[\][^}]*===addons[]={
addonsAuto\[\][^}]*===addonsAuto[]={

When you run this to all your OFP/ArmA mission.sqm files, they can begin to load in mission editor, of course its just the first step as there is still tons of old class names which prevent the mission to load without errors or load at all.

Briefing OFP/ArmA to ArmA 2

We already had a page to show you how to convert OFP/ArmA briefing.html file into briefing.sqf file.

briefing to sqf

Please note that its just helping you to convert the html to sqf, its not complete port. After you have run those replaces with powergrep, then you can copy paste the actual text parts (with formatting <br/> strings) into the actual briefing.sqf file.

objStatus to setTaskState

The objectives system changed to “tasks” in ArmA 2, so you need to change your existing objStatus lines to more suitable setTaskState's. Here is the replacements:

""1"" objStatus ""DONE"";===PMC_objective1 setTaskState ""SUCCEEDED"";
""2"" objStatus ""DONE"";===PMC_objective2 setTaskState ""SUCCEEDED"";
""3"" objStatus ""DONE"";===PMC_objective3 setTaskState ""SUCCEEDED"";
""4"" objStatus ""DONE"";===PMC_objective4 setTaskState ""SUCCEEDED"";
""5"" objStatus ""DONE"";===PMC_objective5 setTaskState ""SUCCEEDED"";
""6"" objStatus ""DONE"";===PMC_objective6 setTaskState ""SUCCEEDED"";
""7"" objStatus ""DONE"";===PMC_objective7 setTaskState ""SUCCEEDED"";
""8"" objStatus ""DONE"";===PMC_objective8 setTaskState ""SUCCEEDED"";
""9"" objStatus ""DONE"";===PMC_objective9 setTaskState ""SUCCEEDED"";
""10"" objStatus ""DONE"";===PMC_objective10 setTaskState ""SUCCEEDED"";
""1"" objStatus ""FAILED"";===PMC_objective1 setTaskState ""FAILED"";
""2"" objStatus ""FAILED"";===PMC_objective2 setTaskState ""FAILED"";
""3"" objStatus ""FAILED"";===PMC_objective3 setTaskState ""FAILED"";
""4"" objStatus ""FAILED"";===PMC_objective4 setTaskState ""FAILED"";
""5"" objStatus ""FAILED"";===PMC_objective5 setTaskState ""FAILED"";
""6"" objStatus ""FAILED"";===PMC_objective6 setTaskState ""FAILED"";
""7"" objStatus ""FAILED"";===PMC_objective7 setTaskState ""FAILED"";
""8"" objStatus ""FAILED"";===PMC_objective8 setTaskState ""FAILED"";
""9"" objStatus ""FAILED"";===PMC_objective9 setTaskState ""FAILED"";
""10"" objStatus ""FAILED"";===PMC_objective10 setTaskState ""FAILED"";

Then you of course need to have the tasks made in init.sqf for example and have them called the same variables as shown here.

Markers OFP/ArmA to ArmA 2

In ArmA 2 you have config to allow you to load the old marker classes, however if you have old marker classes in your mission and you double click a such marker, it automatically turns into EMPTY marker leaving you guessing what it was previously.

This is list of replacements:

type="Arrow";===type="mil_Arrow";
type="Destroy";===type="mil_destroy";
type="Dot";===type="mil_Dot";
type="Empty";===type="mil_empty";
type="End";===type="mil_End";
type="Flag";===type="mil_Flag";
type="Flag1";===type="mil_flag";
type="Join";===type="mil_join";
type="Marker";===type="mil_marker";
type="Pickup";===type="mil_pickup";
type="Start";===type="mil_start";
type="Unknown";===type="mil_unknown";
type="Warning";===type="mil_warning";

WARNING! There is only one drawback in that list, its the type=“Destroy”; line, as in mission.sqm waypoints, the destroy waypoint is defined just the same. So you either can use that, be careful with destroy waypoints, or make more advanced regexp config to skip the waypoints type destroy.

Also note that since this replacement is for full mission.sqm type= line, any markers created with scripts wont be effected, for example:

_Marker setMarkerType “Arrow”;

Delete unused files

Delete briefing.html and overview.html files after you have ran the briefing replacement config and ported rest of it manually. In MP missions you don't need overview.html at all and it also has changed for single player missions in ArmA 2. Many people doesn't even use it in ArmA 2 anymore.

Tips on testing

This is how to hunt down missing classes: put mission in users\Missions dir, load it in Mission Editor. You get errors (or not), check RPT for all errors. Fix errors and start again until you have no more errors. Easy.

Class replacements

Here is rough and work in progress class replacement lists, these are by no means complete and might be totally incorrect too (also some ArmA class names might be mixed with OFP ones, but it doesn't matter). However you get long way by using these. If you use and further develop these lists, please let us know so we can update the lists.

OFP to ArmA 2

"7thdecide"==="Track07_Last_Men_Standing"
"AGS"==="AGS_RU"
"AH1W"==="AH1Z"
"AH6"==="AH6J_EP1"
"AH64"==="AH64D"
"AmmoBoxEast"==="RUBasicAmmunitionBox"
"AmmoBoxWest"==="USBasicAmmunitionBox"
"BlackhawkWreck"==="MH60Wreck"
"BMP"==="BMP2_INS"
"BMP2"==="BMP2_INS"
"BMP2Ambul"==="BMP2_INS"
"Bradley"==="M2A2_EP1"
"BRDM2"==="BRDM2_INS"
"BRDM2_ATGM"==="BRDM2_ATGM_INS"
"Bus_city"==="Ikarus"
"CampEastC"==="CampEast"
"CampEmpty"==="CampEast"
"CarrierW"==="Land_Destroyer"
"CH47"==="CH_47F_EP1"
"Ch47D"==="CH_47F_EP1"
"Civilian"==="Citizen1"
"Civilian10"==="Worker1"
"Civilian11"==="Profiteer1"
"Civilian12"==="Rocker1"
"Civilian13"==="Woodlander1"
"Civilian14"==="Functionary1"
"Civilian15"==="Villager1"
"Civilian16"==="Priest"
"Civilian17"==="Woman1"
"Civilian18"==="Citizen1"
"Civilian19"==="Worker1"
"Civilian2"==="Profiteer1"
"Civilian20"==="Rocker1"
"Civilian21"==="Woodlander1"
"Civilian3"==="Functionary1"
"Civilian4"==="Villager1"
"Civilian5"==="Priest"
"Civilian6"==="Woman1"
"Civilian7"==="Citizen1"
"Civilian8"==="Worker1"
"Civilian9"==="Profiteer1"
"Cobra"==="AH1Z"
"DSHKM"==="DSHKM_RU"
"FenceWood"==="Land_BagFenceLong"
"FlagCarrier"==="FlagCarrierUSA"
"Fortress1"==="Land_fortified_nest_big"
"Fortress2"==="Fortress1"
"HeavyGrenadier"==="RU_Soldier_GL"
"HeavyReammoBoxWest"==="USBasicAmmunitionBox"
"HMMWV50"==="HMMWV_M2"
"HMMWVMK"==="HMMWV_MK19"
"HMMWVTOW"==="HMMWV_TOW"
"Jawa"==="M1030"
"Jeep"==="HMMWV"
"JeepMG"==="HMMWV_M2"
"JeepPolice"==="LadaLM"
"KA50"==="Ka52"
"Kolo"==="Old_bike_TK_CIV_EP1"
"LAWLauncher"==="M136"
"LIEUTNANT"==="LIEUTENANT"
"M113"==="M2A2_EP1"
"M113Ambul"==="HMMWV_Ambulance"
"M1Abrams"==="M1A2_TUSK_MG"
"M2StaticMGE"==="DSHkM_Mini_TriPod"
"M60"==="M1A2_TUSK_MG"
"Mi17"==="Mi17_rockets_RU"
"Mi17_MG"==="Mi17_rockets_RU"
"Mi24"==="Mi17_rockets_RU"
"Mini"==="Skoda"
"OfficerE"==="RU_Soldier"
"OfficerW"==="USMC_Soldier_Officer"
"OH58"==="AH6J_EP1"
"Rapid"==="Skoda"
"RapidY"==="SkodaRed"
"ReammoBoxEast"==="RUBasicAmmunitionBox"
"ReammoBoxWest"==="USBasicAmmunitionBox"
"rtrack1"==="Track10_Logistics"
"rtrack1a"==="Track10_Logistics"
"Scud"==="MAZ_543_SCUD_TK_EP1"
"Shed"==="Land_Shed_W01"
"ShedSmall"==="Land_fortified_nest_small"
"shell125"==="Sh_125_HE"
"SoldierEAA"==="RU_Soldier_AA"
"SoldierEAT"==="RU_Soldier_AT"
"SoldierEB"==="RU_Soldier"
"SoldierECrew"==="RU_Soldier_Crew"
"SoldierEG"==="RU_Soldier_GL"
"SoldierELAW"==="RU_Soldier_AT"
"SoldierEMedic"==="RU_Soldier_Medic"
"SoldierEMG"==="RU_Soldier_MG"
"SoldierEPilot"==="RU_Soldier_Pilot"
"SoldierESaboteurBizon"==="RUS_Soldier_Sab"
"SoldierESaboteurMarksman"==="RUS_Soldier_Sab"
"SoldierESaboteurPipe"==="RUS_Soldier_Sab"
"SoldierESniper"==="RU_Soldier_Sniper"
"SoldierWAR"==="USMC_Soldier_MG"
"SoldierWAT"==="USMC_Soldier_AT"
"SoldierWB"==="USMC_Soldier"
"SoldierWG"==="USMC_Soldier_GL"
"SoldierWLAW"==="USMC_Soldier_AT"
"SoldierWMedic"==="USMC_Soldier_Medic"
"SoldierWMG"==="USMC_Soldier_MG"
"SoldierWMortar"==="USMC_Soldier_GL"
"SoldierWPilot"==="USMC_Soldier_Pilot"
"SoldierWSaboteurAssault"==="FR_AR"
"SoldierWSaboteurMarksman"==="FR_Marksman"
"SoldierWSaboteurPipe"==="FR_R"
"SoldierWSaboteurPipe2"==="FR_Sapper"
"SoldierWSaboteurRecon"==="FR_Light"
"SoldierWSniper"==="USMC_SoldierS_Sniper"
"SoldierWXMS"==="FR_Light"
"SpecialBoxEast"==="RUSpecialWeaponsBox"
"SpecialBoxWest"==="USSpecialWeaponsBox"
"SquadLeaderE"==="RU_Soldier_SL"
"SquadLeaderW"==="USMC_Soldier_SL"
"T55"==="T55_TK_EP1"
"T72"==="T72_RU"
"T80"==="T90"
"Table"==="SmallTable"
"TableX"==="SmallTable"
"TeamLeaderE"==="RU_Soldier_TL"
"TeamLeaderW"==="USMC_Soldier_TL"
"Trabant"==="car_sedan"
"track1"==="Track07_Last_Men_Standing"
"Truck5t"==="MTVR"
"Truck5tMG"==="MTVR"
"Truck5tReammo"==="MtvrReammo"
"Truck5tRefuel"==="MtvrRefuel"
"Truck5tRepair"==="MtvrRepair"
"TruckV3SCivil"==="V3S_Open_TK_CIV_EP1"
"UAZ"==="UAZ_RU"
"UAZ_AGS30"==="UAZ_AGS30_RU"
"UAZMG"==="UAZ_MG_INS"
"UH60"==="MH60S"
"UH60MG"==="MH60S"
"Ural"==="GAZ_Vodnik"
"UralOpen"==="UralOpen_INS"
"UralReammo"==="UralReammo_INS"
"UralRefuel"==="UralRefuel_INS"
"UralRepair"==="UralRepair_INS"
"Vulcan"==="M2A2_EP1"
"WeaponBoxEast"==="RUBasicWeaponsBox"
"WeaponBoxWest"==="USBasicWeaponsBox"
"Wire"==="Fort_RazorWire"
"Woman"==="Sportswoman1"
"Woman1"==="Sportswoman2"
"Woman2"==="Sportswoman3"
"Woman3"==="Sportswoman4"
"Woman4"==="Sportswoman5"
"Woman5"==="Sportswoman2"
"ZSU"==="ZSU_INS"
this setFlagTexture ""rus_vlajka.pac"";===this setFlagTexture ""\ca\data\flag_rus_co.paa"";
this setFlagTexture ""usa_vlajka.pac"";===this setFlagTexture ""\ca\data\flag_usa_co.paa"";
track="7thLifeless"===track="Track14_Close_Quarter_Combat"

ArmA to ArmA 2

"AGS"==="AGS_RU"
"AH1W"==="AH1Z"
"AH6"==="AH6J_EP1"
"AH6_RACS"==="AH6J_EP1"
"AmmoBoxEast"==="RUBasicAmmunitionBox"
"AmmoBoxGuer"==="GuerillaCacheBox_EP1"
"AmmoBoxWest"==="USBasicAmmunitionBox"
"AV8B"==="AV8B2"
"BlackhawkWreck"==="MH60Wreck"
"BMP2"==="BMP2_INS"
"BMP2Ambul"==="BMP2_INS"
"BRDM2"==="BRDM2_INS"
"BRDM2_ATGM"==="BRDM2_ATGM_INS"
"Bus_city"==="Bus"
"CampEastC"==="CampEast"
"CampEmpty"==="ACamp"
"Civilian"==="Citizen1"
"Civilian10"==="Worker1"
"Civilian11"==="Profiteer1"
"Civilian12"==="Rocker"
"Civilian13"==="Woodlander"
"Civilian14"==="Functionary"
"Civilian15"==="Villager"
"Civilian16"==="Priest"
"Civilian17"==="Woman1"
"Civilian18"==="Citizen1"
"Civilian19"==="Worker"
"Civilian2"==="Profiteer1"
"Civilian20"==="Rocker"
"Civilian21"==="Woodlander"
"Civilian3"==="Functionary"
"Civilian4"==="Villager"
"Civilian5"==="Priest"
"Civilian6"==="Woman1"
"Civilian7"==="Citizen1"
"Civilian8"==="Worker"
"Civilian9"==="Profiteer1"
"D30"==="D30_RU"
"Danger"==="Sign_Danger"
"DATSUN_DSHKM1"==="Offroad_DSHKM_INS"
"DATSUN_DSHKM2"==="Offroad_DSHKM_INS"
"DATSUN_PK1"==="Offroad_DSHKM_INS"
"DSHKM"==="DSHKM_RU"
"Fire"==="Land_Fire"
"FlagCarrierNorth"==="FlagCarrierRU"
"FlagCarrierSouth"==="FlagCarrierUSA"
"FlagCarrierWest"==="FlagCarrierUSA"
"Fortress2"==="Fortress1"
"HILUX_DSHKM1"==="hilux1_civil_1_open"
"HILUX_DSHKM2"==="hilux1_civil_2_covered"
"HILUX_PK1"==="hilux1_civil_1_open"
"HILUX_PK2"==="hilux1_civil_2_covered"
"hilux1_civil_3_open"==="hilux1_civil_1_open"
"HMMWV50"==="HMMWV_M2"
"HMMWVMK"==="HMMWV_MK19"
"HMMWVTOW"==="HMMWV_TOW"
"JeepWreck1"==="barrel1"
"KA50"==="Ka52"
"Landrover"==="LandRover_TK_CIV_EP1"
"Landrover_Closed"==="LandRover_TK_CIV_EP1"
"Landrover_Police"==="LandRover_TK_CIV_EP1"
"LandroverMG"==="HMMWV_M2"
"M113"==="M2A2_EP1"
"M113_RACS"==="M2A2_EP1"
"M113Ambul"==="HMMWV_Ambulance"
"M113Wreck"==="barrel1"
"M1Abrams"==="M1A2_TUSK_MG"
"MAA_DATSUN_PK2"==="Pickup_PK_INS"
"MH6"==="AH6J_EP1"
"MH6_RACS"==="AH6J_EP1"
"Mi17"==="Mi17_rockets_RU"
"Mi17_MG"==="Mi17_rockets_RU"
"OfficerW"==="USMC_Soldier_Officer"
"ShedBig"==="Barrel1"
"SoldierEAT"==="RU_Soldier_AT"
"SoldierEB"==="RU_Soldier"
"SoldierECrew"==="RU_Soldier_Crew"
"SoldierEG"==="RU_Soldier_GL"
"SoldierEMG"==="RU_Soldier_MG"
"SoldierEPilot"==="RU_Soldier_Pilot"
"SoldierESaboteurBizon"==="RUS_Soldier1"
"SoldierESaboteurMarksman"==="RUS_Soldier1"
"SoldierESaboteurPipe"==="RUS_Soldier1"
"SoldierESniper"==="RU_Soldier_Sniper"
"SoldierGAT"==="GUE_Soldier_1"
"SoldierGB"==="GUE_Soldier_2"
"SoldierGG"==="GUE_Soldier_GL"
"SoldierGMedic"==="GUE_Soldier_3"
"SoldierGMG"==="GUE_Soldier_AR"
"SoldierGPilot"==="GUE_Soldier_3"
"SoldierGSniper"==="GUE_Soldier_3"
"SoldierWAR"==="USMC_Soldier_MG"
"SoldierWAT"==="USMC_Soldier_AT"
"SoldierWB"==="USMC_Soldier"
"SoldierWCrew"==="USMC_Soldier_Crew"
"SoldierWG"==="USMC_Soldier_GL"
"SoldierWMedic"==="USMC_Soldier_Medic"
"SoldierWMG"==="USMC_Soldier_MG"
"SoldierWPilot"==="USMC_Soldier_Pilot"
"SoldierWSaboteurAssault"==="FR_AR"
"SoldierWSaboteurMarksman"==="FR_Marksman"
"SoldierWSaboteurPipe"==="FR_R"
"SoldierWSaboteurPipe2"==="FR_Sapper"
"SoldierWSaboteurRecon"==="FR_Light"
"SoldierWSniper"==="USMC_SoldierS_Sniper"
"SpecialBoxEast"==="RUSpecialWeaponsBox"
"SpecialBoxGuer"==="GuerillaCacheBox_EP1"
"SpecialBoxWest"==="USSpecialWeaponsBox"
"SquadLeaderE"==="RU_Soldier_SL"
"SquadLeaderG"==="GUE_Soldier_CO"
"SquadLeaderW"==="USMC_Soldier_SL"
"Stinger_Pod_East"==="Stinger_Pod"
"Stryker_ICV_M2"==="M1126_ICV_M2_EP1"
"Stryker_ICV_MK19"==="M1126_ICV_mk19_EP1"
"Stryker_TOW"==="M1135_ATGMV_EP1"
"T72"==="T72_RU"
"TeamLeaderE"==="RU_Soldier_TL"
"TeamLeaderG"==="GUE_Soldier_CO"
"TeamLeaderW"==="USMC_Soldier_TL"
"TOW_TriPod_East"==="TOW_TriPod"
"Truck5t"==="MTVR"
"Truck5tMG"==="MTVR"
"Truck5tOpen"==="MTVR"
"Truck5tReammo"==="MtvrReammo"
"Truck5tRefuel"==="MtvrRefuel"
"Truck5tRepair"==="MtvrRepair"
"TT650C"==="M1030"
"UAZ"==="UAZ_RU"
"UAZ_AGS30"==="UAZ_AGS30_RU"
"UAZMG"==="UAZ_MG_INS"
"UH60"==="UH60M_EP1"
"UH60MG"==="MH60S"
"Ural"==="Ural_TK_CIV_EP1"
"UralCivil"==="Ural_TK_CIV_EP1"
"UralCivil2"==="Ural_TK_CIV_EP1"
"UralOpen"==="UralOpen_INS"
"UralReammo"==="UralReammo_INS"
"UralRefuel"==="UralRefuel_INS"
"UralRepair"==="UralRepair_INS"
"US_Soldier_WDL"==="USMC_Soldier"
"US_Soldier_WDL_AR"==="USMC_Soldier_MG"
"US_Soldier_WDL_AT"==="USMC_Soldier_AT"
"US_Soldier_WDL_GL"==="USMC_Soldier_GL"
"US_Soldier_WDL_Med"==="USMC_Soldier_Medic"
"US_Soldier_WDL_MG"==="USMC_Soldier_MG"
"US_Soldier_WDL_SL"==="USMC_Soldier_SL"
"US_Soldier_WDL_Sniper"==="USMC_SoldierS_Sniper"
"USMCD_Soldier_AR"==="USMC_Soldier_MG"
"USMCD_Soldier_AT"==="USMC_Soldier_AT"
"USMCD_Soldier_GL"==="USMC_Soldier_GL"
"USMCD_Soldier_HAT"==="USMC_Soldier_AT"
"USMCD_Soldier_Med"==="USMC_Soldier_Medic"
"USMCD_Soldier_MG"==="USMC_Soldier_MG"
"USMCD_Soldier_R"==="USMC_Soldier"
"USMCD_Soldier_SL"==="USMC_Soldier_SL"
"USMCD_Soldier_Sniper"==="USMC_SoldierS_Sniper"
"USMCD_Soldier_Spotter"==="USMC_SoldierS_Sniper"
"USMCD_Soldier_TL"==="USMC_Soldier_TL"
"Vulcan"==="M2A2_EP1"
"Vulcan_RACS"==="M2A2_EP1"
"WarfareBHesco10x"==="Base_WarfareBBarrier10x"
"WarfareBSandbagSite"==="Base_WarfareBBarrier5x"
"WeaponBoxEast"==="RUBasicWeaponsBox"
"WeaponBoxGuer"==="GuerillaCacheBox_EP1"
"WeaponBoxWest"==="USBasicWeaponsBox"
"Wire"==="land_fire"
"ZSU"==="ZSU_INS"
"handgrenadetimed"==="handGrenade_West"
'handgrenadetimed'==='handGrenade_West'
arma2/missions/porting.1312571922.txt.gz · Last modified: 2011-08-05 19:18 by snakeman