diff --git a/Tools/PHP/ConvertMission2dto3d.php b/Tools/PHP/ConvertMission2dto3d.php new file mode 100644 index 00000000..15a4c6d9 --- /dev/null +++ b/Tools/PHP/ConvertMission2dto3d.php @@ -0,0 +1,298 @@ +'Epoch Mod', + 'timeOfChanges'=>28800, + 'startWeather'=>0, + 'startWind'=>0, + 'startWaves'=>0, + 'forecastWeather'=>0, + 'forecastWind'=>0, + 'forecastWaves'=>0, + 'forecastLightnings'=>1.0, + 'year'=>2035, + 'month'=>6, + 'day'=>24, + 'hour'=>12, + 'minute'=>0, + 'startFogDecay'=>0.013, + 'forecastFogDecay'=>0.013 + ), + $playerCount = 100, + $groups = array ( + 'Item0' => array ( + 'side'=>'CIV', + 'Vehicles' => array ( + 'Item0' => array ( + 'position'=> array(4331.02,0,148.62354), + ) + ) + ) + ), + $markers = array ( + + 'Item0' => array ( + 'position' => array (4135.0137,0,4039.3584), + 'name'=>"center", + 'type'=>"Empty", + ), + 'Item1' => array ( + 'position' => array (4331.02,0,148.62354), + 'name'=>"respawn_east", + 'type'=>"Empty", + ), + 'Item2' => array ( + 'position' => array (4331.02,0,148.62354), + 'name'=>"respawn_west", + 'type'=>"Empty", + ), + 'Item3' => array ( + 'position' => array (3257.1497,0,1079.2324), + 'name'=>"south", + 'type'=>"Empty", + ), + 'Item4' => array ( + 'position' => array (3154.1616,0,5169.5229), + 'name'=>"east", + 'type'=>"Empty", + ) + + ) + ) + { + $this->addOns = $addOns; + $this->addOnsAuto = $addOnsAuto; + $this->randomSeed = $randomSeed; + $this->intel = $intel; + $this->playerCount = $playerCount; + $this->groups = $groups; + $this->markers = $markers; + } + + + + +} // end of class Mission + + + + +?> +
+ $val) { + if (!is_array($val)) { + echo "\t$prop = $val\n"; + } else { + echo "\t$prop = \n"; + print_r($val); + } + } +} + +function print_methods($obj) + { + $arr = get_class_methods(get_class($obj)); + foreach ($arr as $method) { + echo "\tfunction $method()\n"; + } +} + +function class_parentage($obj, $class) +{ + if (is_subclass_of($GLOBALS[$obj], $class)) { + echo "Object $obj belongs to class " . get_class($GLOBALS[$obj]); + echo ", a subclass of $class\n"; + } else { + echo "Object $obj does not belong to a subclass of $class\n"; + } +} + +// instantiate 2 objects +$mission = new Mission(); + +// print out information about objects +// echo "CLASS " . get_class($mission) . "\n"; + +// show mission properties + //echo "\nmission: Properties\n"; + //print_vars($mission); + +echo "version=51; +class EditorData +{ + moveGridStep=1; + angleGridStep=0.2617994; + scaleGridStep=1; + autoGroupingDist=10; + toggles=1; + class ItemIDProvider + { + nextID=2; + }; + class Camera + { + pos[]={7542.4932,93.791428,15492.986}; + dir[]={-0.8989169,-0.17364819,-0.40223712}; + up[]={-0.15850332,0.98480779,-0.070925266}; + aside[]={-0.40844229,0,0.91278416}; + }; +}; +binarizationWanted=0; +"; + + + +echo "addons[]= +{ +"; +foreach ($mission->addOnsAuto as $key => $value) { + if (is_string($value)) { + echo " \"$value\",\n"; + } else { + echo " $value,\n"; + } + +} +echo "};\n"; + + +echo "randomSeed=$mission->randomSeed;\n"; +echo "class ScenarioData +{ + author=\"[VB]AWOL\"; +};\n"; + + + +echo "class Mission +{ + class Intel + { +"; +foreach ($mission->intel as $key => $value) { + if (is_string($value)) { + echo " $key=\"$value\";\n"; + } else { + echo " $key=$value;\n"; + } + +} +echo " };\n"; + +$EntitiesCounter = 0; + +echo " class Entities + { +"; +echo " items=". (count($mission->markers) + $mission->playerCount) .";\n"; + +foreach ($mission->markers as $key => $value) { + + $position = implode(",", $value["position"]); + echo " class Item".$EntitiesCounter." + { + dataType=\"Marker\"; + position[]={".$position."}; + name=\"".$value["name"]."\"; + type=\"".$value["type"]."\"; + id=".$EntitiesCounter."; + };\n"; + $EntitiesCounter++; + +} + +for ($x = count($mission->markers); $x <= ($mission->playerCount+count($mission->markers)); $x++) { + + foreach ($mission->groups as $key => $value) { + + $position = implode(",", $value["Vehicles"]["Item0"]["position"]); + echo " class Item".$x." + { + dataType=\"Group\"; + side=\"Civilian\"; + class Entities + { + items=1; + class Item0 + { + dataType=\"Object\"; + class PositionInfo + { + position[]={".$position."}; + angles[]={0,4.7169838,0}; + }; + side=\"Civilian\"; + flags=3; + class Attributes + { + isPlayable=1; + }; + id=".($EntitiesCounter+1)."; + type=\"VirtualMan_EPOCH\"; + }; + }; + class Attributes + { + }; + id=".$EntitiesCounter."; + };\n"; + $EntitiesCounter++; + $EntitiesCounter++; + + } +} + + + +// Entities end +echo " };\n"; + + + + +// final +echo "};\n"; + +?> ++ + +