diff --git a/src/tools/trackgen/main.cpp b/src/tools/trackgen/main.cpp index 616cc979..c86a40af 100644 --- a/src/tools/trackgen/main.cpp +++ b/src/tools/trackgen/main.cpp @@ -98,7 +98,7 @@ public: //! Constructor. Application::Application() -: GfApplication("TrackGen", "1.6.0.27", "Terrain generator for tracks") +: GfApplication("TrackGen", "1.6.0.28", "Terrain generator for tracks") , HeightSteps(30) , Bump(false) , Raceline(false) diff --git a/src/tools/trackgen/objects.cpp b/src/tools/trackgen/objects.cpp index 2bcdee9e..348775c4 100644 --- a/src/tools/trackgen/objects.cpp +++ b/src/tools/trackgen/objects.cpp @@ -493,37 +493,37 @@ GenerateObjects(tTrack *track, void *TrackHandle, void *CfgHandle, Ac3d &allAc3d GfParmListSeekFirst(TrackHandle, TRK_SECT_TERRAIN_OBJECTS); + Ac3d Root; + + index++; + do { - Ac3d Root; - - index++; - const tdble x = GfParmGetCurNum(TrackHandle, TRK_SECT_TERRAIN_OBJECTS, TRK_ATT_X, "m", 0); const tdble y = GfParmGetCurNum(TrackHandle, TRK_SECT_TERRAIN_OBJECTS, TRK_ATT_Y, "m", 0); const unsigned int color = (unsigned int)GfParmGetCurNum(TrackHandle, TRK_SECT_TERRAIN_OBJECTS, TRK_ATT_COLOR, nullptr, 0); printf("found color: 0x%X x: %f y: %f\n", color, x, y); AddObject(track, TrackHandle, TrackRoot, Root, color, x + zeroX, y + zeroY, multipleMaterials, true); - - Ac3d GroupRoot; - GroupRoot.materials = Root.materials; - Ac3d::Object object("group", ""); - GroupRoot.addObject(object); - std::vector Groups; - - Group(track, TrackHandle, &Root.root, &GroupRoot.root.kids.front(), Groups); - - const char *extName = GfParmGetStr(CfgHandle, "Files", "object", "obj"); - const std::string objectFile(outputFile + "-" + extName + "-" + std::to_string(index) + ".ac"); - saveACInner(&GroupRoot.root.kids.front(), GroupRoot); - GroupRoot.flipAxes(false); // convert to track coordinate system - GroupRoot.writeFile(objectFile, false); - - if (all) - { - allAc3d.merge(GroupRoot, multipleMaterials); - } } while (!GfParmListSeekNext(TrackHandle, TRK_SECT_TERRAIN_OBJECTS)); + + Ac3d GroupRoot; + GroupRoot.materials = Root.materials; + Ac3d::Object object("group", ""); + GroupRoot.addObject(object); + std::vector Groups; + + Group(track, TrackHandle, &Root.root, &GroupRoot.root.kids.front(), Groups); + + const char *extName = GfParmGetStr(CfgHandle, "Files", "object", "obj"); + const std::string objectFile(outputFile + "-" + extName + "-" + std::to_string(index) + ".ac"); + saveACInner(&GroupRoot.root.kids.front(), GroupRoot); + GroupRoot.flipAxes(false); // convert to track coordinate system + GroupRoot.writeFile(objectFile, false); + + if (all) + { + allAc3d.merge(GroupRoot, multipleMaterials); + } } }