diff --git a/src/interfaces/track.h b/src/interfaces/track.h index c22a2fe4c..d98862a6a 100644 --- a/src/interfaces/track.h +++ b/src/interfaces/track.h @@ -134,6 +134,7 @@ #define TRK_ATT_COLOR "color" #define TRK_ATT_OBJECT "object" #define TRK_ATT_SEED "random seed" +#define TRK_ATT_USE_OBJ_MATERIALS "use object materials" #define TRK_ATT_ORIENTATION_TYPE "orientation type" #define TRK_ATT_ORIENTATION "orientation" #define TRK_ATT_SCALE_TYPE "scale type" diff --git a/src/tools/trackgen/main.cpp b/src/tools/trackgen/main.cpp index 8277e4d27..98db3a2cd 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.7", "Terrain generator for tracks") +: GfApplication("TrackGen", "1.6.0.8", "Terrain generator for tracks") , HeightSteps(30) , Bump(false) , Raceline(false) @@ -405,6 +405,12 @@ int Application::generate() return EXIT_SUCCESS; } + // check if we should use the object's materials + const std::string useObjectMaterials = GfParmGetStr(TrackHandle, TRK_SECT_TERRAIN, TRK_ATT_USE_OBJ_MATERIALS, "no"); + + if (useObjectMaterials == "yes") + MultipleMaterials = true; + GenerateObjects(Track, TrackHandle, CfgHandle, allAc3d, all, OutMeshName, OutputFileName, MultipleMaterials); allAc3d.writeFile(OutputFileName + ".ac", false);