using Newtonsoft.Json; using TrianglesToGD; var level = JsonConvert.DeserializeObject(File.ReadAllText("C:\\Users\\Travis\\Downloads\\level.json")); if (level == null) return; string gdString = $"kS38,1_{level.data.backgroundColor.R}_2_{level.data.backgroundColor.G}_3_{level.data.backgroundColor.B}_11_255_12_255_13_255_4_-1_6_1000_7_1.000000_15_1.000000_18_0_8_1|1_{level.data.groundColor.R}_2_{level.data.groundColor.G}_3_{level.data.groundColor.B}_11_255_12_255_13_255_4_-1_6_1001_7_1.000000_15_1.000000_18_0_8_1|1_0_2_102_3_255_11_255_12_255_13_255_4_-1_6_1009_7_1.000000_15_1.000000_18_0_8_1|1_255_2_255_3_255_11_255_12_255_13_255_4_-1_6_1002_5_1_7_1.000000_15_1.000000_18_0_8_1|1_40_2_125_3_255_11_255_12_255_13_255_4_-1_6_1013_7_1.000000_15_1.000000_18_0_8_1|1_40_2_125_3_255_11_255_12_255_13_255_4_-1_6_1014_7_1.000000_15_1.000000_18_0_8_1|1_125_2_255_3_0_11_255_12_255_13_255_4_-1_6_1005_5_1_7_1.000000_15_1.000000_18_0_8_1|1_0_2_255_3_255_11_255_12_255_13_255_4_-1_6_1006_5_1_7_1.000000_15_1.000000_18_0_8_1|1_255_2_255_3_255_11_255_12_255_13_255_4_-1_6_1004_7_1.000000_15_1.000000_18_0_8_1|,kA13,0.000000,kA15,0,kA16,0,kA14,,kA6,0,kA7,0,kA25,0,kA17,0,kA18,0,kS39,0,kA2,0,kA3,0,kA8,0,kA4,0,kA9,0,kA10,0,kA22,0,kA23,0,kA24,0,kA27,1,kA40,1,kA48,1,kA41,1,kA42,1,kA28,0,kA29,0,kA31,1,kA32,1,kA36,0,kA43,0,kA44,0,kA45,1,kA46,0,kA47,0,kA33,1,kA34,1,kA35,0,kA37,1,kA38,1,kA39,1,kA19,0,kA26,0,kA20,0,kA21,0,kA11,0"; foreach (var obj in level.data.objects) { int id = 1; float x = obj.pos.X * 30 + 15; float y = obj.pos.Y * 30 + 15; switch (obj.id) { case 1: id = 1; break; case 2: id = 40; break; case 3: id = 8; break; case 4: id = 39; switch (obj.rotation) { case 0: y -= 9f; break; case 270: x -= 9f; break; case 180: y += 9f; break; case 90: x += 9f; break; } break; case 5: id = 392; switch (obj.rotation) { case 0: y -= 9.75f; break; case 270: x -= 9.75f; break; case 180: y += 9.75f; break; case 90: x += 9.75f; break; } break; case 6: id = 467; break; case 7: id = 470; break; case 8: id = 471; break; case 9: id = 469; break; case 10: id = 468; switch (obj.rotation) { case 0: y += 14.25f; break; case 270: x += 14.25f; break; case 180: y -= 14.25f; break; case 90: x -= 14.25f; break; } break; case 11: id = 5; break; case 12: id = 3600; break; } gdString += $";1,{id},2,{x},3,{y},6,{-obj.rotation}"; } gdString += ";"; Console.WriteLine(gdString);