//A nice collection of characters. // //Normal //"a b c d e f g h i j k l m n o p q r s t u v w x y z" //a $SW::Info["a"] = "5 0.85"; //Pieces,Space $SW::Sizes["a",0] = "0.3 0.50 0.55 0.50 0.3 0.60"; $SW::Sizes["a",1] = "0.55 0.2 0.65 0.2 0.55 0.55"; $SW::Sizes["a",2] = "0.3 0.1 0.75 0.1 0.3 0.2"; $SW::Sizes["a",3] = "0.2 0.15 0.3 0.15 0.2 0.35"; $SW::Sizes["a",4] = "0.3 0.3 0.55 0.3 0.3 0.4"; //b $SW::Info["b"] = "4 0.7"; //Pieces,Space $SW::Sizes["b",0] = "0.2 0.1 0.3 0.1 0.2 0.8"; $SW::Sizes["b",1] = "0.3 0.40 0.60 0.40 0.3 0.50"; $SW::Sizes["b",2] = "0.3 0.10 0.60 0.10 0.3 0.20"; $SW::Sizes["b",3] = "0.60 0.15 0.70 0.15 0.60 0.45"; //c $SW::Info["c"] = "3 0.75"; //Pieces,Space $SW::Sizes["c",0] = "0.2 0.15 0.3 0.15 0.2 0.50"; $SW::Sizes["c",1] = "0.3 0.45 0.65 0.45 0.3 0.55"; $SW::Sizes["c",2] = "0.3 0.10 0.65 0.10 0.3 0.20"; //d $SW::Info["d"] = "4 0.8"; //Pieces,Space $SW::Sizes["d",0] = "0.2 0.15 0.3 0.15 0.2 0.45"; $SW::Sizes["d",1] = "0.3 0.40 0.60 0.40 0.3 0.50"; $SW::Sizes["d",2] = "0.3 0.10 0.60 0.10 0.3 0.20"; $SW::Sizes["d",3] = "0.60 0.1 0.70 0.1 0.60 0.8"; //e $SW::Info["e"] = "5 0.75"; //Pieces,Space $SW::Sizes["e",0] = "0.2 0.15 0.3 0.15 0.2 0.50"; $SW::Sizes["e",1] = "0.3 0.45 0.55 0.45 0.3 0.55"; $SW::Sizes["e",2] = "0.3 0.10 0.65 0.10 0.3 0.20"; $SW::Sizes["e",3] = "0.55 0.35 0.65 0.35 0.55 0.50"; $SW::Sizes["e",4] = "0.3 0.25 0.65 0.25 0.3 0.35"; //f $SW::Info["f"] = "3 0.8"; //Pieces,Space $SW::Sizes["f",0] = "0.30 0.5 0.70 0.5 0.30 0.60"; $SW::Sizes["f",1] = "0.45 0.1 0.55 0.1 0.45 0.7"; $SW::Sizes["f",2] = "0.50 0.65 0.70 0.65 0.50 0.75"; //g $SW::Info["g"] = "5 0.75"; //Pieces,Space $SW::Sizes["g",0] = "0.3 0.50 0.55 0.50 0.3 0.60"; $SW::Sizes["g",1] = "0.55 0.05 0.65 0.05 0.55 0.60"; $SW::Sizes["g",2] = "0.3 0.0 0.60 0.0 0.3 0.1"; $SW::Sizes["g",3] = "0.25 0.30 0.35 0.30 0.25 0.55"; $SW::Sizes["g",4] = "0.3 0.25 0.55 0.25 0.3 0.35"; //h $SW::Info["h"] = "3 0.7"; //Pieces,Space $SW::Sizes["h",0] = "0.2 0.1 0.3 0.1 0.2 0.8"; $SW::Sizes["h",1] = "0.3 0.40 0.60 0.40 0.3 0.50"; $SW::Sizes["h",2] = "0.55 0.1 0.65 0.1 0.55 0.45"; //i $SW::Info["i"] = "2 0.35"; //Pieces,Space $SW::Sizes["i",0] = "0.15 0.1 0.25 0.1 0.15 0.5"; $SW::Sizes["i",1] = "0.15 0.6 0.25 0.6 0.15 0.7"; //j $SW::Info["j"] = "3 0.45"; //Pieces,Space $SW::Sizes["j",0] = "0.25 0.05 0.35 0.05 0.25 0.6"; $SW::Sizes["j",1] = "0.25 0.7 0.35 0.7 0.25 0.8"; $SW::Sizes["j",2] = "0.10 0.0 0.30 0.0 0.10 0.1"; //k $SW::Info["k"] = "3 0.6"; //Pieces,Space $SW::Sizes["k",0] = "0.2 0.1 0.3 0.1 0.2 0.7"; $SW::Sizes["k",1] = "0.3 0.25 0.50 0.45 0.23 0.32"; $SW::Sizes["k",2] = "0.3 0.25 0.45 0.1 0.37 0.32"; //l $SW::Info["l"] = "1 0.4"; //Pieces,Space $SW::Sizes["l",0] = "0.2 0.1 0.3 0.1 0.2 0.8"; //m $SW::Info["m"] = "5 0.9"; //Pieces,Space $SW::Sizes["m",0] = "0.2 0.1 0.3 0.1 0.2 0.55"; $SW::Sizes["m",1] = "0.3 0.40 0.50 0.40 0.3 0.50"; $SW::Sizes["m",2] = "0.45 0.1 0.55 0.1 0.45 0.45"; $SW::Sizes["m",3] = "0.55 0.40 0.75 0.40 0.55 0.50"; $SW::Sizes["m",4] = "0.70 0.1 0.80 0.1 0.70 0.45"; //n $SW::Info["n"] = "3 0.65"; //Pieces,Space $SW::Sizes["n",0] = "0.2 0.1 0.3 0.1 0.2 0.55"; $SW::Sizes["n",1] = "0.3 0.40 0.50 0.40 0.3 0.50"; $SW::Sizes["n",2] = "0.45 0.1 0.55 0.1 0.45 0.45"; //o $SW::Info["o"] = "4 0.65"; //Pieces,Space $SW::Sizes["o",0] = "0.2 0.15 0.3 0.15 0.2 0.45"; $SW::Sizes["o",1] = "0.25 0.40 0.50 0.40 0.3 0.50"; $SW::Sizes["o",2] = "0.45 0.15 0.55 0.15 0.45 0.45"; $SW::Sizes["o",3] = "0.25 0.1 0.50 0.1 0.25 0.2"; //p $SW::Info["p"] = "4 0.8"; //Pieces,Space $SW::Sizes["p",0] = "0.3 0.50 0.55 0.50 0.3 0.60"; $SW::Sizes["p",1] = "0.5 0.30 0.6 0.30 0.5 0.55"; $SW::Sizes["p",2] = "0.2 0.0 0.3 0.00 0.2 0.60"; $SW::Sizes["p",3] = "0.3 0.25 0.55 0.25 0.3 0.35"; //q $SW::Info["q"] = "4 0.75"; //Pieces,Space $SW::Sizes["q",0] = "0.3 0.50 0.55 0.50 0.3 0.60"; $SW::Sizes["q",1] = "0.55 0.0 0.65 0.0 0.55 0.60"; $SW::Sizes["q",2] = "0.25 0.30 0.35 0.30 0.25 0.55"; $SW::Sizes["q",3] = "0.3 0.25 0.55 0.25 0.3 0.35"; //r $SW::Info["r"] = "4 0.6"; //Pieces,Space $SW::Sizes["r",0] = "0.2 0.1 0.3 0.1 0.2 0.55"; $SW::Sizes["r",1] = "0.3 0.38 0.35 0.38 0.3 0.48"; $SW::Sizes["r",2] = "0.3 0.40 0.50 0.40 0.3 0.50"; $SW::Sizes["r",3] = "0.45 0.38 0.50 0.38 0.45 0.48"; //s $SW::Info["s"] = "7 0.6"; //Pieces,Space $SW::Sizes["s",0] = "0.2 0.40 0.3 0.40 0.2 0.50"; $SW::Sizes["s",1] = "0.25 0.45 0.45 0.45 0.3 0.55"; $SW::Sizes["s",2] = "0.2 0.40 0.40 0.2 0.25 0.50"; $SW::Sizes["s",3] = "0.40 0.15 0.5 0.15 0.4 0.25"; $SW::Sizes["s",4] = "0.25 0.1 0.45 0.1 0.2 0.2"; $SW::Sizes["s",5] = "0.40 0.40 0.5 0.40 0.4 0.5"; $SW::Sizes["s",6] = "0.2 0.15 0.3 0.15 0.2 0.25"; //t $SW::Info["t"] = "3 0.75"; //Pieces,Space $SW::Sizes["t",0] = "0.35 0.5 0.65 0.5 0.35 0.60"; $SW::Sizes["t",1] = "0.45 0.1 0.55 0.1 0.45 0.7"; $SW::Sizes["t",2] = "0.55 0.1 0.65 0.1 0.55 0.2"; //u $SW::Info["u"] = "3 0.60"; //Pieces,Space $SW::Sizes["u",0] = "0.2 0.1 0.3 0.1 0.2 0.50"; $SW::Sizes["u",1] = "0.25 0.05 0.50 0.05 0.3 0.15"; $SW::Sizes["u",2] = "0.45 0.1 0.55 0.1 0.45 0.50"; //v $SW::Info["v"] = "2 0.60"; //Pieces,Space $SW::Sizes["v",0] = "0.1 0.5 0.3 0.1 0.15 0.55"; $SW::Sizes["v",1] = "0.3 0.1 0.5 0.5 0.25 0.15"; //w $SW::Info["w"] = "4 0.9"; //Pieces,Space $SW::Sizes["w",0] = "0.1 0.5 0.3 0.1 0.15 0.55"; $SW::Sizes["w",1] = "0.3 0.1 0.5 0.5 0.25 0.15"; $SW::Sizes["w",2] = "0.4 0.5 0.6 0.1 0.45 0.55"; $SW::Sizes["w",3] = "0.6 0.1 0.8 0.5 0.55 0.15"; //x $SW::Info["x"] = "2 0.5"; //Pieces,Space $SW::Sizes["x",0] = "0.1 0.4 0.38 0.1 0.15 0.45"; $SW::Sizes["x",1] = "0.12 0.1 0.4 0.4 0.07 0.15"; //y $SW::Info["y"] = "3 0.60"; //Pieces,Space $SW::Sizes["y",0] = "0.1 0.5 0.25 0.25 0.15 0.55"; $SW::Sizes["y",1] = "0.3 0.15 0.5 0.5 0.25 0.2"; $SW::Sizes["y",2] = "0.15 0.10 0.3 0.1 0.2 0.18"; //z $SW::Info["z"] = "3 0.6"; //Pieces,Space $SW::Sizes["z",0] = "0.1 0.40 0.4 0.40 0.1 0.50"; $SW::Sizes["z",1] = "0.15 0.1 0.4 0.4 0.1 0.15"; $SW::Sizes["z",2] = "0.1 0.1 0.4 0.1 0.1 0.2"; //Numbers //"1 2 3 4 5 6 7 8 9 0" //1 $SW::Info["1"] = "3 0.65"; //Pieces,Space $SW::Sizes["1",0] = "0.3 0.1 0.4 0.1 0.3 0.8"; $SW::Sizes["1",1] = "0.2 0.6 0.4 0.75 0.17 0.67"; $SW::Sizes["1",2] = "0.15 0.0 0.55 0.0 0.1 0.1"; //2 $SW::Info["2"] = "4 0.65"; //Pieces,Space $SW::Sizes["2",0] = "0.1 0.7 0.5 0.7 0.1 0.8"; $SW::Sizes["2",1] = "0.45 0.5 0.55 0.5 0.45 0.75"; $SW::Sizes["2",2] = "0.15 0.0 0.55 0.5 0.08 0.07"; $SW::Sizes["2",3] = "0.07 0.0 0.55 0.0 0.07 0.1"; //3 $SW::Info["3"] = "5 0.65"; //Pieces,Space $SW::Sizes["3",0] = "0.1 0.7 0.5 0.7 0.1 0.8"; $SW::Sizes["3",1] = "0.45 0.45 0.55 0.45 0.45 0.75"; $SW::Sizes["3",2] = "0.1 0.35 0.5 0.35 0.1 0.45"; $SW::Sizes["3",3] = "0.45 0.05 0.55 0.05 0.45 0.35"; $SW::Sizes["3",4] = "0.1 0.0 0.5 0.0 0.1 0.1"; //4 $SW::Info["4"] = "3 0.75"; //Pieces,Space $SW::Sizes["4",0] = "0.4 0.0 0.5 0.0 0.4 0.8"; $SW::Sizes["4",1] = "0.1 0.25 0.5 0.75 0.17 0.32"; $SW::Sizes["4",2] = "0.1 0.25 0.65 0.25 0.1 0.35"; //5 $SW::Info["5"] = "5 0.7"; //Pieces,Space $SW::Sizes["5",0] = "0.1 0.35 0.2 0.35 0.1 0.8"; $SW::Sizes["5",1] = "0.2 0.35 0.55 0.35 0.2 0.45"; $SW::Sizes["5",2] = "0.1 0.0 0.55 0.00 0.1 0.10"; $SW::Sizes["5",3] = "0.5 0.05 0.60 0.05 0.50 0.40"; $SW::Sizes["5",4] = "0.2 0.70 0.60 0.70 0.2 0.8"; //6 $SW::Info["6"] = "6 0.7"; //Pieces,Space $SW::Sizes["6",0] = "0.1 0.05 0.2 0.05 0.1 0.7"; $SW::Sizes["6",1] = "0.2 0.35 0.55 0.35 0.2 0.45"; $SW::Sizes["6",2] = "0.15 0.0 0.55 0.00 0.15 0.10"; $SW::Sizes["6",3] = "0.50 0.05 0.60 0.05 0.50 0.40"; $SW::Sizes["6",4] = "0.15 0.65 0.60 0.70 0.08 0.72"; //7 $SW::Info["7"] = "2 0.6"; //Pieces,Space $SW::Sizes["7",0] = "0.1 0.7 0.5 0.7 0.1 0.8"; $SW::Sizes["7",1] = "0.2 0.0 0.5 0.7 0.13 0.07"; //8 $SW::Info["8"] = "7 0.7"; //Pieces,Space $SW::Sizes["8",0] = "0.1 0.05 0.2 0.05 0.1 0.43"; $SW::Sizes["8",1] = "0.1 0.45 0.58 0.35 0.17 0.52"; $SW::Sizes["8",2] = "0.15 0.00 0.55 0.00 0.15 0.15"; $SW::Sizes["8",3] = "0.50 0.05 0.60 0.05 0.50 0.45"; $SW::Sizes["8",4] = "0.15 0.70 0.55 0.70 0.15 0.80"; $SW::Sizes["8",5] = "0.1 0.45 0.2 0.45 0.1 0.75"; $SW::Sizes["8",6] = "0.50 0.47 0.60 0.47 0.50 0.75"; //9 $SW::Info["9"] = "6 0.7"; //Pieces,Space $SW::Sizes["9",0] = "0.1 0.45 0.58 0.35 0.17 0.52"; $SW::Sizes["9",1] = "0.15 0.00 0.55 0.00 0.15 0.15"; $SW::Sizes["9",2] = "0.50 0.05 0.60 0.05 0.50 0.45"; $SW::Sizes["9",3] = "0.15 0.70 0.55 0.70 0.15 0.80"; $SW::Sizes["9",4] = "0.1 0.45 0.2 0.45 0.1 0.75"; $SW::Sizes["9",5] = "0.50 0.47 0.60 0.47 0.50 0.75"; //0 $SW::Info["0"] = "4 0.7"; //Pieces,Space $SW::Sizes["0",0] = "0.1 0.05 0.2 0.05 0.1 0.75"; $SW::Sizes["0",1] = "0.15 0.00 0.55 0.00 0.15 0.15"; $SW::Sizes["0",2] = "0.50 0.05 0.60 0.05 0.50 0.75"; $SW::Sizes["0",3] = "0.15 0.70 0.55 0.70 0.15 0.80"; //Tribes2 String Chars // " ' \ //" $SW::Info["\""] = "2 0.40"; //Pieces,Space $SW::Sizes["\"",0] = "0.15 0.65 0.20 0.65 0.15 0.8"; $SW::Sizes["\"",1] = "0.25 0.65 0.30 0.65 0.25 0.8"; //' $SW::Info["\'"] = "1 0.30"; //Pieces,Space $SW::Sizes["\'",0] = "0.15 0.65 0.20 0.65 0.15 0.8"; // \ $SW::Info["\\"] = "1 0.70"; //Pieces,Space $SW::Sizes["\\",0] = "0.1 0.75 0.6 0.1 0.15 0.8"; //Skywrite string Chars //+ / $SW::Info["/+"] = "2 0.70"; //Pieces,Space $SW::Sizes["/+",0] = "0.1 0.35 0.6 0.35 0.1 0.45"; $SW::Sizes["/+",1] = "0.3 0.1 0.4 0.1 0.3 0.7"; // / $SW::Info["//"] = "1 0.70"; //Pieces,Space $SW::Sizes["//",0] = "0.1 0.1 0.6 0.8 0.05 0.15"; //Sentance builders //. , : ; ! ? //. $SW::Info["."] = "1 0.30"; //Pieces,Space $SW::Sizes[".",0] = "0.1 0.1 0.20 0.1 0.1 0.2"; //, $SW::Info[","] = "2 0.30"; //Pieces,Space $SW::Sizes[",",0] = "0.1 0.1 0.20 0.1 0.1 0.2"; $SW::Sizes[",",1] = "0.1 0.0 0.2 0.1 0.05 0.05"; //: $SW::Info[":"] = "2 0.30"; //Pieces,Space $SW::Sizes[":",0] = "0.1 0.2 0.20 0.2 0.1 0.3"; $SW::Sizes[":",1] = "0.1 0.5 0.20 0.5 0.1 0.6"; //; $SW::Info[";"] = "3 0.30"; //Pieces,Space $SW::Sizes[";",0] = "0.1 0.2 0.20 0.2 0.1 0.3"; $SW::Sizes[";",1] = "0.1 0.1 0.2 0.2 0.05 0.15"; $SW::Sizes[";",2] = "0.1 0.5 0.20 0.5 0.1 0.6"; //! $SW::Info["!"] = "2 0.35"; //Pieces,Space $SW::Sizes["!",0] = "0.15 0.2 0.25 0.2 0.15 0.8"; $SW::Sizes["!",1] = "0.15 0.0 0.25 0.0 0.15 0.1"; //? $SW::Info["?"] = "6 0.65"; //Pieces,Space $SW::Sizes["?",0] = "0.2 0.7 0.5 0.7 0.2 0.8"; $SW::Sizes["?",1] = "0.15 0.65 0.25 0.65 0.15 0.75"; $SW::Sizes["?",2] = "0.45 0.5 0.55 0.5 0.45 0.75"; $SW::Sizes["?",3] = "0.35 0.25 0.55 0.5 0.27 0.33"; $SW::Sizes["?",4] = "0.25 0.2 0.35 0.2 0.25 0.3"; $SW::Sizes["?",5] = "0.25 0.0 0.35 0.0 0.25 0.1"; //# $SW::Info["#"] = "4 0.55"; //Pieces,Space $SW::Sizes["#",0] = "0.15 0.15 0.20 0.15 0.15 0.7"; $SW::Sizes["#",1] = "0.25 0.15 0.30 0.15 0.25 0.7"; $SW::Sizes["#",2] = "0.05 0.30 0.40 0.30 0.05 0.35"; $SW::Sizes["#",3] = "0.05 0.50 0.40 0.50 0.05 0.55"; //$ $SW::Info["$"] = "6 0.7"; //Pieces,Space $SW::Sizes["$",0] = "0.2 0.65 0.55 0.65 0.2 0.75"; $SW::Sizes["$",1] = "0.15 0.40 0.25 0.40 0.15 0.7"; $SW::Sizes["$",2] = "0.2 0.40 0.55 0.30 0.27 0.47"; $SW::Sizes["$",3] = "0.5 0.10 0.60 0.1 0.50 0.40"; $SW::Sizes["$",4] = "0.2 0.05 0.55 0.05 0.25 0.15"; $SW::Sizes["$",5] = "0.325 0.0 0.425 0.0 0.325 0.80"; //% $SW::Info["%"] = "3 0.6"; //Pieces,Space $SW::Sizes["%",0] = "0.4 0.1 0.5 0.0 0.5 0.2"; $SW::Sizes["%",1] = "0.1 0.0 0.6 0.8 0.03 0.07"; $SW::Sizes["%",2] = "0.0 0.75 0.1 0.65 0.1 0.85"; //& $SW::Info["&"] = "6 0.7"; //Pieces,Space $SW::Sizes["&",0] = "0.5 0.0 0.6 0.5 0.48 0.05"; $SW::Sizes["&",1] = "0.1 0.0 0.5 0.0 0.1 0.1"; $SW::Sizes["&",2] = "0.05 0.05 0.15 0.05 0.05 0.25"; $SW::Sizes["&",3] = "0.1 0.20 0.55 0.65 0.05 0.25"; $SW::Sizes["&",4] = "0.45 0.75 0.55 0.65 0.50 0.80"; $SW::Sizes["&",5] = "0.25 0.55 0.60 0.60 0.20 0.70"; //Hooks //( ) [ ] { } < > //( $SW::Info["("] = "3 0.45"; //Pieces,Space $SW::Sizes["(",0] = "0.155 0.45 0.4 0.75 0.105 0.50"; $SW::Sizes["(",1] = "0.1 0.3 0.2 0.3 0.1 0.5"; $SW::Sizes["(",2] = "0.1 0.3 0.35 0.0 0.15 0.35"; //) $SW::Info[")"] = "3 0.4"; //Pieces,Space $SW::Sizes[")",0] = "0.0 0.75 0.24 0.46 0.05 0.8"; $SW::Sizes[")",1] = "0.2 0.3 0.3 0.3 0.2 0.5"; $SW::Sizes[")",2] = "0.05 0.0 0.3 0.3 0.0 0.05"; //[ $SW::Info["["] = "3 0.4"; //Pieces,Space $SW::Sizes["[",0] = "0.0 0.7 0.3 0.7 0.0 0.8"; $SW::Sizes["[",1] = "0.0 0.1 0.1 0.1 0.0 0.7"; $SW::Sizes["[",2] = "0.0 0.0 0.3 0.0 0.0 0.1"; //] $SW::Info["]"] = "3 0.4"; //Pieces,Space $SW::Sizes["]",0] = "0.0 0.7 0.3 0.7 0.0 0.8"; $SW::Sizes["]",1] = "0.2 0.1 0.3 0.1 0.2 0.7"; $SW::Sizes["]",2] = "0.0 0.0 0.3 0.0 0.0 0.1"; //{ $SW::Info["{"] = "4 0.4"; //Pieces,Space $SW::Sizes["{",0] = "0.15 0.7 0.4 0.7 0.15 0.8"; $SW::Sizes["{",1] = "0.1 0.1 0.2 0.1 0.1 0.7"; $SW::Sizes["{",2] = "0.15 0.0 0.4 0.0 0.15 0.1"; $SW::Sizes["{",3] = "0.0 0.35 0.1 0.35 0.0 0.45"; //} $SW::Info["}"] = "4 0.4"; //Pieces,Space $SW::Sizes["}",0] = "0.0 0.7 0.25 0.7 0.0 0.8"; $SW::Sizes["}",1] = "0.2 0.1 0.3 0.1 0.2 0.7"; $SW::Sizes["}",2] = "0.0 0.0 0.25 0.0 0.0 0.1"; $SW::Sizes["}",3] = "0.3 0.35 0.4 0.35 0.3 0.45"; //< $SW::Info["<"] = "2 0.45"; //Pieces,Space $SW::Sizes["<",0] = "0.155 0.35 0.4 0.65 0.105 0.40"; $SW::Sizes["<",1] = "0.1 0.4 0.35 0.1 0.15 0.45"; //> $SW::Info[">"] = "2 0.6"; //Pieces,Space $SW::Sizes[">",0] = "0.0 0.65 0.24 0.36 0.05 0.7"; $SW::Sizes[">",1] = "0.05 0.1 0.3 0.4 0.0 0.15"; //Lines // = _ - | //= $SW::Info["="] = "2 0.45"; //Pieces,Space $SW::Sizes["=",0] = "0.05 0.25 0.40 0.25 0.05 0.35"; $SW::Sizes["=",1] = "0.05 0.50 0.40 0.50 0.05 0.60"; //- $SW::Info["-"] = "1 0.45"; //Pieces,Space $SW::Sizes["-",0] = "0.05 0.35 0.40 0.35 0.05 0.45"; //_ $SW::Info["_"] = "1 0.45"; //Pieces,Space $SW::Sizes["_",0] = "0.05 0.05 0.40 0.05 0.05 0.15"; //| $SW::Info["|"] = "1 0.40"; //Pieces,Space $SW::Sizes["|",0] = "0.15 0.0 0.25 0.0 0.15 0.8"; //Space $SW::Info["sp"] = "0 0.5"; //Pieces,Space //Capital Letters //T $SW::Info["+t"] = "2 1"; //Pieces,Space $SW::Sizes["+t",0] = "0 0.8 1 0.8 0 1"; $SW::Sizes["+t",1] = "0.4 0 0.6 0 0.4 0.8"; $SW::Thickness = 0.1; function GameConnection::skyWrite(%cl,%word,%dist,%scale,%center,%upright,%angle,%mirror) { if (%word $= "") return; if (%dist $= "" || %dist == 0) %dist = 50; if (%scale $= "" || %scale == 0) %scale = 5; %word = SW_goodWord(%word); %obj = %cl.player; %pos = %obj.getEyepoint(); %dir = %obj.getEyeVector(); %location = vectorAdd(%pos,vectorScale(%dir,%dist)); if (%upright) %dir = vectorNormalize(getWords(%dir,0,1)); if (%mirror) %dir = vectorScale(%dir,-1); SW_word(%word,%location,%dir,%scale,%center,%cl,%angle); } function SW_word(%word,%pos,%nrm,%scale,%center,%cl,%angle) { %cl.lastword++; %z = vectorNormalize(%nrm); %tx = vectorCross(%nrm,"0 0 1"); %up = vectorAdd(vectorScale("0 0 1",mCos(mDegToRad(%angle))),vectorScale(%tx,mSin(mDegToRad(%angle)))); %x = vectorCross(%nrm,%up); if (%center) { for (%td = 0; %td < getWordCount(%word);%td++) { %letter = getWord(%word,%td); %space = %space + getWord($SW::Info[%letter],1) * %scale; } %space = %space * -0.5; %pos = vectorAdd(%pos,vectorScale(%up,-0.5 * %scale)); } for (%td = 0; %td < getWordCount(%word);%td++) { %letter = getWord(%word,%td); SW_letter(%letter,vectorAdd(%pos,vectorScale(%x,%space)),%nrm,%scale,%cl,%angle); %space = %space + getWord($SW::Info[%letter],1) * %scale; } } function SW_letter(%letter,%pos,%nrm,%scale,%cl,%angle) { %z = vectorNormalize(%nrm); %tx = vectorCross(%nrm,"0 0 1"); %up = vectorAdd(vectorScale("0 0 1",mCos(mDegToRad(%angle))),vectorScale(%tx,mSin(mDegToRad(%angle)))); %x = vectorCross(%nrm,%up); %y = vectorCross(%x,%nrm); %matrix = %x SPC %y SPC %z; %pieces = getWord($SW::Info[%letter],0); for (%td = 0; %td < %pieces;%td++) { %obj = SW_letterPart(%letter,%td,%pos,%matrix,%scale); %obj.textGroup(%cl,%cl.lastword); %obj.team = %cl.team; %obj.needsFit = 1; // commented out. Can easily remove writing with "remove orphaned pieces", even if client is no longer in game // %obj.setOwner(0,%cl); } } function SW_letterPart(%letter,%part,%pos,%matrix,%scale) { %partInfo = $SW::Sizes[%letter,%part]; %p1 = SW_goodSquare(%partInfo); %pos1 = vectorScale(matrixMult(getWords(%p1,0,1) SPC "0",%matrix),%scale); %vecx1 = vectorScale(matrixMult(getWords(%p1,2,3) SPC "0",%matrix),%scale); %vecy1 = vectorScale(matrixMult(getWords(%p1,4,5) SPC "0",%matrix),%scale); %vecz1 = vectorScale(getWords(%matrix,6,8),%scale * $SW::Thickness); %obj = SW_bar(vectorAdd(%pos,%pos1),%vecx1,%vecy1,%vecz1); return %obj; } function SW_goodSquare(%p) { %pos = getWords(%p,0,1); %x = getWords(%p,2,3); %y = getWords(%p,4,5); return %pos SPC getWords(VectorSub(%x,%pos),0,1) SPC getWords(VectorSub(%y,%pos),0,1); } function SW_goodWord(%word) { %id = 0; while (%id < strLen(%word)) { %letter = getSubStr(%word,%id,1); if (%letter $= "" || %letter $= "/" || %letter $= "+") { %letter = getSubStr(%word,%id,2); %id++; } if (%letter $= " ") %letter = "sp"; %id++; if (%goodWord !$= "") %goodWord = %goodWord SPC %letter; else %goodWord = %letter; } return %goodWord; } //Creates the actual beam function SW_bar(%pos,%fo,%ri,%up) { %size = vectorLen(%fo) SPC vectorLen(%ri) SPC vectorLen(%up); %rot = fullRot(%up,%fo); %obj = new StaticShape() { dataBlock = DeployedSpine; }; // %obj = new ForceFieldBare() { // datablock = DeployedForceField1; // }; %obj.setRealSize(%size); %obj.setRotation(%rot); %pos = microAdjust(%pos); %obj.setEdge(%pos,"-1 1 -1"); return %obj; } ///Grouping function GameBase::textGroup(%obj,%cl,%word) { %subGroup = %cl @ "/" @ %word; %group = nameToID("MissionCleanup/textGroup/" @ %subgroup); if (%group <= 0) { %group = new SimGroup(%word); addToClientTextGroup(%group,%cl); } %group.add(%obj); } function addToClientTextGroup(%obj,%cl) { %group = nameToID("MissionCleanup/textGroup/"@ %cl); if (%group <= 0) { %group = new SimGroup(%cl); addToTextGroup(%group); } %group.add(%obj); } function addToTextGroup(%obj) { %group = nameToID("MissionCleanup/textGroup"); if (%group <= 0) { %group = new SimGroup("textGroup"); MissionCleanup.add(%group); } %group.add(%obj); } function getLatestGroup(%group) { %count = %group.getCount(); return %group.getObject(%count - 1); } function GameConnection::removeLastWord(%cl) { %group = nameToID("MissionCleanup/textGroup/" @ %cl); %lastWord = getLatestGroup(%group); if (isObject(%lastWord)) %lastWord.delete(); } function GameConnection::removeWords(%cl) { %group = nameToID("MissionCleanup/textGroup/" @ %cl); if (isObject(%group)) %group.delete(); }