Jump to content
Sign in to follow this  
dinoboy123

Issue with cfgClutter

Recommended Posts

Thanks so much for the help I've gotten so far this weekend! I managed to solve several nagging problems with my map and am getting very close to being able to create a bug free/playable world. THe last problem that i have kept ignoring until now has been adding clutter. I have a simple cfgClutter which should add grass and several other p3ds in game. I understand the basic fundamentals of how the cfg works in terms of distances, detail etc. however I clearly do not understand the path needed for the game to use it, or some other issue. I posted the code below in case there is a flaw there, but i think the issue lies in how it is placed within my addon folder (see link to photobucket)

I think this will be a simple problem for most of you guys, but I've run out of ideas on why i cant get any clutter to appear in game, you guys always seem to point out my obvious mistakes!

To sum my issues: I have the cfgClutter placed in my addon folder, and references the p3ds i want in game, however no clutter appears. I am able to see clutter that i manually place as a natural object however

Thanks

-Andrew

http://i1308.photobucket.com/albums/s612/andrew_voorhees32/andy_clutter2_zps93ea0842.png


clutterGrid = 1.0;
 clutterDist = 125;
 noDetailDist = 40;
 fullDetailDist = 15;
 midDetailTexture = "ca\chernarus\data\cr_trava1_mco.paa";
 minTreesInForestSquare = 3;
 minRocksInRockSquare = 3;

 class clutter
 {

  class sm_grasstall: DefaultClutter
  {
	  model=ca\plants2\clutter\c_grasstall.p3d;
	  affectedByWind = 0.60;
	  swLighting = true;
	  scaleMin = 0.7;
	  scaleMax = 1.0;
  };
  class sm_AutumnFlowers: DefaultClutter
{
	model=ca\plants2\clutter\c_autumn_flowers.p3d;
	affectedByWind = 0.4;
	swLighting = true;
	scaleMin = 0.7;
	scaleMax = 1.0;
};

class sm_GrassCrooked: DefaultClutter
{
	model=ca\plants2\clutter\c_GrassCrooked.p3d;
	affectedByWind = 0.3;
	swLighting = true;
	scaleMin = 0.7;
	scaleMax = 1.4;
};

class sm_GrassCrookedGreen: DefaultClutter
{
	model=ca\plants2\clutter\c_GrassCrookedGreen.p3d;
	affectedByWind = 0.3;
	swLighting = true;
	scaleMin = 0.9;
	scaleMax = 1.3;
};

class sm_WeedDead: DefaultClutter
{
	model=ca\plants2\clutter\c_WeedDead.p3d;
	affectedByWind = 0.3;
	swLighting = true;
	scaleMin = 0.75;
	scaleMax = 1.1;
};
 };

Share this post


Link to post
Share on other sites

post your full config please. layers.cfg might be useful too

Share this post


Link to post
Share on other sites

////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 3.97
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////

#define _ARMA_

//Class utes : config.bin{
class CfgPatches
{
class andy_map5
{
	units[] = {"ANDY5"};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {};
};
};
class CfgVehicles{};
class CfgWorlds
{
class DefaultWorld
{
	class Weather;
};
class CAWorld: DefaultWorld
{
	class Grid{};
	class DayLightingBrightAlmost;
	class DayLightingRainy;
	class DefaultClutter;
	class Weather: Weather
	{
		class Lighting;
	};
};
class DefaultLighting;
class Andy_Map5: CAWorld
{
	access = 3;
	worldId = 4;
	cutscenes[] = {"UtesIntro1"};
	description = "ANDY5";
	icon = "";
	worldName = "\TUT\TUT_SampleMap\islandbuilding.wrp";
	pictureMap = "";
	pictureShot = "\ca\utes\data\ui_selectisland_utes_ca.paa";
	plateFormat = "ML$ - #####";
	plateLetters = "ABCDEGHIKLMNOPRSTVXZ";
	longitude = 30;
	latitude = -45;
	class Grid: Grid
	{
		offsetX = 0;
		offsetY = 0;
		class Zoom1
		{
			zoomMax = 0.15;
			format = "XY";
			formatX = "000";
			formatY = "000";
			stepX = 100;
			stepY = 100;
		};
		class Zoom2
		{
			zoomMax = 0.85;
			format = "XY";
			formatX = "00";
			formatY = "00";
			stepX = 1000;
			stepY = 1000;
		};
		class Zoom3
		{
			zoomMax = 1e+030;
			format = "XY";
			formatX = "0";
			formatY = "0";
			stepX = 10000;
			stepY = 10000;
		};
	};
	startTime = "14:20";
	startDate = "11/10/2008";
	startWeather = 0.4;
	startFog = 0.0;
	forecastWeather = 0.25;
	forecastFog = 0.0;
	centerPosition[] = {3500,3500,300};
	seagullPos[] = {2560,150,2560};
	ilsPosition[] = {3330,3610};
	ilsDirection[] = {-1,0.08,0};
	ilsTaxiIn[] = {3540,3572,3388,3572,3382,3578,3382,3600,3400,3610};
	ilsTaxiOff[] = {3520,3610,4040,3610,4050,3600,4050,3580,4045,3575,4040,3572,3540,3572};
	class ReplaceObjects{};
	class Sounds
	{
		sounds[] = {};
	};
	class Animation
	{
		vehicles[] = {};
	};
	class Lighting: DefaultLighting
	{
		groundReflection[] = {0.06,0.06,0.03};
	};
	class DayLightingBrightAlmost: DayLightingBrightAlmost
	{
		deepNight[] = {-15,
			{ 0.05,0.05,0.06 },
			{ 0.001,0.001,0.002 },
			{ 0.02,0.02,0.05 },
			{ 0.003,0.003,0.003 },
			{ 0.0001,0.0001,0.0002 },
			{ 0.0001,0.0001,0.0002 },0};
		fullNight[] = {-5,
			{ 0.05,0.05,0.05 },
			{ 0.02,0.02,0.02 },
			{ 0.04,0.04,0.04 },
			{ 0.04,0.04,0.04 },
			{ 0.01,0.01,0.02 },
			{ 0.08,0.06,0.06 },0};
		sunMoon[] = {-3.75,
			{ 0.045,0.04,0.04 },
			{ 0.04,0.04,0.04 },
			{ 0.045,0.04,0.04 },
			{ 0.04,0.04,0.04 },
			{ 0.04,0.035,0.04 },
			{ 0.1,0.08,0.09 },0.5};
		earlySun[] = {-2.5,
			{ 0.12,0.1,0.1 },
			{ 0.08,0.06,0.07 },
			{ 0.12,0.1,0.1 },
			{ 0.08,0.06,0.07 },
			{ 0.08,0.07,0.08 },
			{ 0.1,0.1,0.12 },1};
		sunrise[] = {0,
			{ 
				{ 0.7,0.45,0.45 },"5.16+(-4)" },
			{ 
				{ 0.07,0.09,0.12 },"4.0+(-4)" },
			{ 
				{ 0.6,0.47,0.25 },"4.66+(-4)" },
			{ 
				{ 0.1,0.09,0.1 },"4.3+(-4)" },
			{ 
				{ 0.5,0.4,0.4 },"6.49+(-4)" },
			{ 
				{ 0.88,0.51,0.24 },"8.39+(-4)" },1};
		earlyMorning[] = {3,
			{ 
				{ 0.65,0.55,0.55 },"6.04+(-4)" },
			{ 
				{ 0.08,0.09,0.11 },"4.5+(-4)" },
			{ 
				{ 0.55,0.47,0.25 },"5.54+(-4)" },
			{ 
				{ 0.1,0.09,0.1 },"5.02+(-4)" },
			{ 
				{ 0.5,0.4,0.4 },"7.05+(-4)" },
			{ 
				{ 0.88,0.51,0.24 },"8.88+(-4)" },1};
		midMorning[] = {8,
			{ 
				{ 0.98,0.85,0.8 },"8.37+(-4)" },
			{ 
				{ 0.08,0.09,0.11 },"6.42+(-4)" },
			{ 
				{ 0.87,0.47,0.25 },"7.87+(-4)" },
			{ 
				{ 0.09,0.09,0.1 },"6.89+(-4)" },
			{ 
				{ 0.5,0.4,0.4 },"8.9+(-4)" },
			{ 
				{ 0.88,0.51,0.24 },"10.88+(-4)" },1};
		morning[] = {16,
			{ 
				{ 1,1,0.9 },"13.17+(-4)" },
			{ 
				{ 0.17,0.18,0.19 },"10.26+(-4)" },
			{ 
				{ 1,1,0.9 },"12.67+(-4)" },
			{ 
				{ 0.17,0.18,0.19 },"11.71+(-4)" },
			{ 
				{ 0.15,0.15,0.15 },"12.42+(-4)" },
			{ 
				{ 0.17,0.17,0.15 },"14.42+(-4)" },1};
		noon[] = {45,
			{ 
				{ 1,1,1 },"17+(-4)" },
			{ 
				{ 1,1.3,1.55 },"13.5+(-4)" },
			{ 
				{ 1,1,1 },"15+(-4)" },
			{ 
				{ 0.36,0.37,0.38 },"13.5+(-4)" },
			{ 
				{ 1,1,1 },"16+(-4)" },
			{ 
				{ 1.0,1.0,1 },"17+(-4)" },1};
	};
	class DayLightingRainy: DayLightingRainy
	{
		deepNight[] = {-15,
			{ 0.0034,0.0034,0.004 },
			{ 0.003,0.003,0.003 },
			{ 0.0034,0.0034,0.004 },
			{ 0.003,0.003,0.003 },
			{ 0.001,0.001,0.002 },
			{ 0.001,0.001,0.002 },0};
		fullNight[] = {-5,
			{ 0.023,0.023,0.023 },
			{ 0.02,0.02,0.02 },
			{ 0.023,0.023,0.023 },
			{ 0.02,0.02,0.02 },
			{ 0.01,0.01,0.02 },
			{ 0.08,0.06,0.06 },0};
		sunMoon[] = {-3.75,
			{ 0.04,0.04,0.05 },
			{ 0.04,0.04,0.05 },
			{ 0.04,0.04,0.05 },
			{ 0.04,0.04,0.05 },
			{ 0.04,0.035,0.04 },
			{ 0.11,0.08,0.09 },0.5};
		earlySun[] = {-2.5,
			{ 0.0689,0.0689,0.0804 },
			{ 0.06,0.06,0.07 },
			{ 0.0689,0.0689,0.0804 },
			{ 0.06,0.06,0.07 },
			{ 0.08,0.07,0.08 },
			{ 0.14,0.1,0.12 },0.5};
		earlyMorning[] = {0,
			{ 
				{ 1,1,1 },"(-4)+3.95" },
			{ 
				{ 1,1,1 },"(-4)+3.0" },
			{ 
				{ 1,1,1 },"(-4)+3.95" },
			{ 
				{ 1,1,1 },"(-4)+3.0" },
			{ 
				{ 1,1,1 },"(-4)+4" },
			{ 
				{ 1,1,1 },"(-4)+5.5" },1};
		morning[] = {5,
			{ 
				{ 1,1,1 },"(-4)+5.7" },
			{ 
				{ 1,1,1 },"(-4)+4.5" },
			{ 
				{ 1,1,1 },"(-4)+5.7" },
			{ 
				{ 1,1,1 },"(-4)+4.5" },
			{ 
				{ 1,1,1 },"(-4)+7" },
			{ 
				{ 1,1,1 },"(-4)+8" },1};
		lateMorning[] = {25,
			{ 
				{ 1,1,1 },"(-4)+10.45" },
			{ 
				{ 1,1,1 },"(-4)+9.75" },
			{ 
				{ 1,1,1 },"(-4)+10.45" },
			{ 
				{ 1,1,1 },"(-4)+9.75" },
			{ 
				{ 1,1,1 },"(-4)+12" },
			{ 
				{ 1,1,1 },"(-4)+12.75" },1};
		noon[] = {70,
			{ 
				{ 1,1,1 },"(-4)+12.5" },
			{ 
				{ 1,1,1 },"(-4)+11" },
			{ 
				{ 1,1,1 },"(-4)+12" },
			{ 
				{ 1,1,1 },"(-4)+11" },
			{ 
				{ 1,1,1 },"(-4)+13.5" },
			{ 
				{ 1,1,1 },"(-4)+14" },1};
	};
	class Weather: Weather
	{
		class Lighting: Lighting
		{
			class BrightAlmost: DayLightingBrightAlmost
			{
				overcast = 0;
			};
			class Rainy: DayLightingRainy
			{
				overcast = 1.0;
			};
		};
	};
	clutterGrid = 1.0;
	clutterDist = 125;
	noDetailDist = 40;
	fullDetailDist = 15;
	midDetailTexture = "ca\utes\data\ut_middle_mco.paa";
	minTreesInForestSquare = 5;
	minRocksInRockSquare = 4;
	class Clutter
	{
		class UTGrassDryBunch: DefaultClutter
		{
			model = "ca\plants2\clutter\c_deadGrassBunch.p3d";
			affectedByWind = 0.35;
			swLighting = 1;
			scaleMin = 0.5;
			scaleMax = 1.0;
		};
		class UTGrassDryLongBunch: DefaultClutter
		{
			model = "ca\plants2\clutter\c_grassDryLongBunch.p3d";
			affectedByWind = 0.35;
			swLighting = 1;
			scaleMin = 0.6;
			scaleMax = 1.1;
		};
		class UTAutumnFlowers: DefaultClutter
		{
			model = "ca\plants2\clutter\c_autumn_flowers.p3d";
			affectedByWind = 0.4;
			swLighting = 1;
			scaleMin = 0.7;
			scaleMax = 1.0;
		};
		class UTHeatherBrush: DefaultClutter
		{
			model = "ca\plants2\clutter\c_caluna.p3d";
			affectedByWind = 0.15;
			swLighting = 1;
			scaleMin = 0.8;
			scaleMax = 1.8;
		};
		class UTWeedSedge: DefaultClutter
		{
			model = "ca\plants2\clutter\c_weed3.p3d";
			affectedByWind = 0.2;
			swLighting = 1;
			scaleMin = 0.5;
			scaleMax = 0.85;
		};
		class UTWeedTall: DefaultClutter
		{
			model = "ca\plants2\clutter\c_weed2.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.8;
			scaleMax = 1.1;
		};
		class UTWeedDead: DefaultClutter
		{
			model = "ca\plants2\clutter\c_WeedDead.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.1;
		};
		class UTWeedDeadSmall: DefaultClutter
		{
			model = "ca\plants2\clutter\c_WeedDead2.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 0.9;
		};
		class UTBlueBerry: DefaultClutter
		{
			model = "ca\plants2\clutter\c_BlueBerry.p3d";
			affectedByWind = 0.05;
			swLighting = 1;
			scaleMin = 0.85;
			scaleMax = 1.3;
		};
		class UTFernAutumn: DefaultClutter
		{
			model = "ca\plants2\clutter\c_fern.p3d";
			affectedByWind = 0.1;
			scaleMin = 0.6;
			scaleMax = 1.2;
		};
		class UTFernAutumnTall: DefaultClutter
		{
			model = "ca\plants2\clutter\c_fernTall.p3d";
			affectedByWind = 0.15;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};
		class GrassCrookedForest: DefaultClutter
		{
			model = "ca\plants2\clutter\c_GrassCrookedForest.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.8;
			scaleMax = 1.4;
		};
		class UTMushroomsPrasivka: DefaultClutter
		{
			model = "ca\plants2\clutter\c_MushroomPrasivky.p3d";
			affectedByWind = 0;
			scaleMin = 0.85;
			scaleMax = 1.25;
		};
	};
	class Subdivision
	{
		class Fractal
		{
			rougness = 5;
			maxRoad = 0.02;
			maxTrack = 0.5;
			maxSlopeFactor = 0.05;
		};
		class WhiteNoise
		{
			rougness = 2;
			maxRoad = 0.01;
			maxTrack = 0.05;
			maxSlopeFactor = 0.0025;
		};
		minY = -0.0;
		minSlope = 0.02;
	};
	class Ambient
	{
		class Mammals
		{
			radius = 200;
			cost = "(1 + forest + trees) * (0.5 + (0.5 * night)) * (1 - sea) * (1 - houses)";
			class Species
			{
				class Rabbit
				{
					probability = 0.52;
					cost = 1;

				};
				class CA_Animals2_WildBoar
				{
					probability = 0.52;
					cost = 1;
				};

			};
		};
		class Mammals2
		{
			radius=200
				cost="(meadow) * (1 - forest) * (1 - houses) * (1 - sea)";
		class Species
		{
				class Goat
				{
				probability=.99;
				cost=1

				};
			};
		};
		class BigBirds
		{
			radius = 300;
			cost = "((1 + forest + trees) - ((2 * rain)) - houses) * (1 - night) * (1 - sea)";
			class Species
			{
				class Hawk
				{
					probability = 0.2;
					cost = 1;
				};
			};
		};


		class Birds
		{
			radius = 170;
			cost = "(1 - night) * ((1 + (3 * sea)) - (2 * rain))";
			class Species
			{
				class Crow
				{
					probability = 0.2;
					cost = 1;
				};
			};
		};
		class BigInsects
		{
			radius = 20;
			cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = "0.6 - (meadow * 0.5) + (forest * 0.4)";
					cost = 1;
				};
				class ButterFly
				{
					probability = "0.4 + (meadow * 0.5) - (forest * 0.4)";
					cost = 1;
				};
			};
		};
		class BigInsectsAquatic
		{
			radius = 20;
			cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = 1;
					cost = 1;
				};
			};
		};
		class SmallInsects
		{
			radius = 3;
			cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class HouseFly
				{
					probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";
					cost = 1;
				};
				class HoneyBee
				{
					probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";
					cost = 1;
				};
				class Mosquito
				{
					probability = "(1 - deadBody) * (0.2 * forest)";
					cost = 1;
				};
			};
		};
		class NightInsects
		{
			radius = 3;
			cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class Mosquito
				{
					probability = 1;
					cost = 1;
				};
			};
		};
		class WindClutter
		{
			radius = 10;
			cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";
			class Species
			{
				class FxWindGrass1
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindGrass2
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindRock1
				{
					probability = "0.4 * hills";
					cost = 1;
				};
			};
		};
		class NoWindClutter
		{
			radius = 15;
			cost = 8;
			class Species
			{
				class FxWindPollen1
				{
					probability = 1;
					cost = 1;
				};
			};
		};
	};

};
};
class CfgWorldList
{
class andy_map5{};
};
class CfgMissions
{
class Cutscenes
{
	class UtesIntro1
	{
		directory = "ca\utes\data\scenes\intro.utes";
	};
};
};
class CfgSurfaces
{
class Default{};
class Water{};
class UTGravel: Default
{
	access = 2;
	files = "ut_sterk_*";
	rough = 0.1;
	dust = 0.35;
	soundEnviron = "gravel";
	character = "Empty";
	soundHit = "hard_ground";
};
class UTRock: Default
{
	access = 2;
	files = "ut_skala_*";
	rough = 0.2;
	dust = 0.07;
	soundEnviron = "rock";
	character = "Empty";
	soundHit = "hard_ground";
};
class UTConcrete: Default
{
	access = 2;
	files = "ut_beton_*";
	rough = 0.08;
	dust = 0.05;
	soundEnviron = "concrete_ext";
	character = "Empty";
	soundHit = "hard_ground";
};
class UTBoulders: Default
{
	access = 2;
	files = "ut_valouny_*";
	rough = 0.1;
	dust = 0.07;
	soundEnviron = "rock";
	character = "UTSparseGrassClutter";
	soundHit = "hard_ground";
};
class UTGround: Default
{
	access = 2;
	files = "ut_hlina_*";
	rough = 0.1;
	dust = 0.2;
	soundEnviron = "dirt";
	character = "UTSparseGrassClutter";
	soundHit = "soft_ground";
};
class UTGrass: Default
{
	access = 2;
	files = "ut_trava_*";
	rough = 0.11;
	dust = 0.1;
	soundEnviron = "grass";
	character = "UTGrassClutter";
	soundHit = "soft_ground";
};
class UTHeather: Default
{
	access = 2;
	files = "ut_vres_*";
	rough = 0.14;
	dust = 0.1;
	soundEnviron = "drygrass";
	character = "UTHeatherClutter";
	soundHit = "soft_ground";
};
class UTWeeds: Default
{
	access = 2;
	files = "ut_plevel_*";
	rough = 0.11;
	dust = 0.1;
	soundEnviron = "drygrass";
	character = "UTWeedsClutter";
	soundHit = "soft_ground";
};
class UTForest: Default
{
	access = 2;
	files = "ut_les_*";
	rough = 0.2;
	dust = 0.15;
	soundEnviron = "forest";
	character = "UTPineForestClutter";
	soundHit = "soft_ground";
};
};
class CfgSurfaceCharacters
{
class UTSparseGrassClutter
{
	names[] = {"UTGrassDryBunch"};
	probability[] = {0.07};
};
class UTGrassClutter
{
	probability[] = {0.95,0.02,0.03};
	names[] = {"UTGrassDryBunch","UTGrassDryLongBunch","UTAutumnFlowers"};
};
class UTHeatherClutter
{
	probability[] = {0.1,0.25,0.07,0.03};
	names[] = {"UTBlueBerry","UTHeatherBrush","UTGrassDryBunch","UTWeedSedge"};
};
class UTWeedsClutter
{
	probability[] = {0.6,0.3,0.05,0.03,0.02};
	names[] = {"UTAutumnFlowers","UTGrassDryLongBunch","UTWeedTall","UTWeedDead","UTWeedDeadSmall"};
};
class UTPineForestClutter
{
	probability[] = {0.1,0.15,0.2,0.05,0.001};
	names[] = {"UTBlueBerry","UTFernAutumn","UTFernAutumnTall","UTGrassDryBunch","UTMushroomsPrasivka"};
};
};
//};

---------- Post added at 22:25 ---------- Previous post was at 22:23 ----------

here is the layers.cfg, i was unaware that this may impact it. I am only working with one terrain texture at the moment

class Layers
{
 class sm_grass
 {
   texture = "tut\tut_samplemap\data\sm_grass_mco.png";
   material= "tut\tut_samplemap\data\sm_grass.rvmat";
 };
};

class Legend
{
 picture="tut\tut_samplemap\source\mapLegend.png";
 class Colors
 {
   sm_grass[]={{255,255,255}};
 };
};

Share this post


Link to post
Share on other sites

There is already information in your config regarding clutter and where clutter should be. I recommend reading about clutter and surface characteristics in this tutorial: Bush's Geotypical Microterrains - A Beginners Guide - 1st Editionid=15141. It will help you understand the best way of going about using clutter. Additionally, why do you have a folder called buildings, buildings2, structures, etc. in your project folder?

Edited by Jakerod

Share this post


Link to post
Share on other sites

Jakerod is right. You can ditch 90% of the config. Look at a proper release to learn how its done.

Like from Jakerod or Bushlurker. You need to understand how clutter relates to CfgSurfaceCharacters, CfgSurfaces and its files definition.

Get rid of the said folders from your project folder as Jakerod says.

Share this post


Link to post
Share on other sites

Hi dinoboy!

Hmm... looks like you've made a Brave start, but there's quite a few... inconsistencies.. in your config... You have some original Sgt Ace Tut Samplemap paths, quite a few Utes definitions (Utes won't like that!), the "grass" you define in "Layers.cfg" seems to be missing from "Config.cpp", etc, etc, etc...

Buildings and structures folders inside your project folder isn't a great idea either...

I'd seriously suggest you sit down for an evening and have a serious go at the Beginners Guide that Jakerod posted the link for above...

That tutorial starts with up-to-date instructions for a proper tools & assets install - eases you into Sgt Ace's Tut (after the out of date part) for a little (optional) quick success to boost confidence, then it moves on to a fairly detailed description of how you can rename and repath the included full set of Source Files, (configs, layers.cfg's, Surfaces - the lot) into your own structure, ready to use as a template for your own project...

It's a fairly long-winded tutorial (like everything else I write, it seems :)), but it should get you past a lot of these fairly serious "beginners errors" and with a bit of luck, help you to grasp some of the basic concepts a little better...

Don't panic!... this terrain stuff is intricate, picky and obscure, but it isn't difficult... Follow that beginners guide, and a lot of stuff will suddenly seem a lot more obvious and understandable.....

Good luck!

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

Bushlurkers tut was extremely helpful in understanding the fundamentals of the config file structure!!

I cleaned mine up, taking out all the unnecessary junk, fixed any classname issues, and added the references to the surfaces and cluter. hpp's . However, the one recurring issue that has plagued me for the last 2.5 hrs has been a path error, i think. The surface files are work fine and have used them to tinker around with sounds in game. However, clutter still eludes me. I receive the error shown below, and have double checked by config and clutter/surface files to try and figure out the cause

http://i1308.photobucket.com/albums/s612/andrew_voorhees32/ArmA2OA2013-02-2021-41-46-41_zpsac281785.png

I dont fully understand this error, unlike previous path issues.

It seems to look in the config, under cfgworlds class, under and_map5, clutter class, and then clutter.model?

I dont understand why it doesnt just refer to the cfgclutter file like it does with surfaces

Any help is greatly appreciated !!

Thanks,

Andrew

here is my improved, but far from perfect config

value

////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 3.97
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////

#define _ARMA_

//Class utes : config.bin{
class CfgPatches
{
class andy_map5
{
	units[] = {"andy_map5"};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {};
	fileName="andy_map5.pbo";
};
};
class CfgVehicles{};
class CfgWorlds
{
class DefaultWorld
{
	class Weather;
};
class CAWorld: DefaultWorld
{
	class Grid{};
	class DayLightingBrightAlmost;
	class DayLightingRainy;
	class DefaultClutter;
	class Weather: Weather

	{
		class Lighting;
	};
};
class DefaultLighting;
class andy_map5: CAWorld
{
	access = 3;
	worldId = 4;
	cutscenes[] = {"UtesIntro1"};
	description = "ANDY5";
	icon = "";
	worldName = "\andy_map5\islandbridgeandy3.wrp";
	pictureMap = "";
	pictureShot = "\ca\utes\data\ui_selectisland_utes_ca.paa";
	plateFormat = "ML$ - #####";
	plateLetters = "ABCDEGHIKLMNOPRSTVXZ";
	longitude = 30;
	latitude = -45;
	clutterGrid = 1.0;
	clutterDist = 125;
	noDetailDist = 40;
	fullDetailDist = 15;
	midDetailTexture = "ca\chernarus\data\cr_trava1_mco.paa";
	minTreesInForestSquare = 3;
	minRocksInRockSquare = 3;
	class Grid: Grid
	{
		offsetX = 0;
		offsetY = 0;
		class Zoom1
		{
			zoomMax = 0.15;
			format = "XY";
			formatX = "000";
			formatY = "000";
			stepX = 100;
			stepY = 100;
		};
		class Zoom2
		{
			zoomMax = 0.85;
			format = "XY";
			formatX = "00";
			formatY = "00";
			stepX = 1000;
			stepY = 1000;
		};
		class Zoom3
		{
			zoomMax = 1e+030;
			format = "XY";
			formatX = "0";
			formatY = "0";
			stepX = 10000;
			stepY = 10000;
		};
	};
	startTime = "14:20";
	startDate = "11/10/2008";
	startWeather = 0.4;
	startFog = 0.0;
	forecastWeather = 0.25;
	forecastFog = 0.0;
	centerPosition[] = {3500,3500,300};
	seagullPos[] = {2560,150,2560};
	ilsPosition[] = {3330,3610};
	ilsDirection[] = {-1,0.08,0};
	ilsTaxiIn[] = {3540,3572,3388,3572,3382,3578,3382,3600,3400,3610};
	ilsTaxiOff[] = {3520,3610,4040,3610,4050,3600,4050,3580,4045,3575,4040,3572,3540,3572};
	class ReplaceObjects{};
	class Sounds
	{
		sounds[] = {};
	};
	class Animation
	{
		vehicles[] = {};
	};
	class Lighting: DefaultLighting
	{
		groundReflection[] = {0.06,0.06,0.03};
	};
	class DayLightingBrightAlmost: DayLightingBrightAlmost
	{
		deepNight[] = {-15,
			{ 0.05,0.05,0.06 },
			{ 0.001,0.001,0.002 },
			{ 0.02,0.02,0.05 },
			{ 0.003,0.003,0.003 },
			{ 0.0001,0.0001,0.0002 },
			{ 0.0001,0.0001,0.0002 },0};
		fullNight[] = {-5,
			{ 0.05,0.05,0.05 },
			{ 0.02,0.02,0.02 },
			{ 0.04,0.04,0.04 },
			{ 0.04,0.04,0.04 },
			{ 0.01,0.01,0.02 },
			{ 0.08,0.06,0.06 },0};
		sunMoon[] = {-3.75,
			{ 0.045,0.04,0.04 },
			{ 0.04,0.04,0.04 },
			{ 0.045,0.04,0.04 },
			{ 0.04,0.04,0.04 },
			{ 0.04,0.035,0.04 },
			{ 0.1,0.08,0.09 },0.5};
		earlySun[] = {-2.5,
			{ 0.12,0.1,0.1 },
			{ 0.08,0.06,0.07 },
			{ 0.12,0.1,0.1 },
			{ 0.08,0.06,0.07 },
			{ 0.08,0.07,0.08 },
			{ 0.1,0.1,0.12 },1};
		sunrise[] = {0,
			{ 
				{ 0.7,0.45,0.45 },"5.16+(-4)" },
			{ 
				{ 0.07,0.09,0.12 },"4.0+(-4)" },
			{ 
				{ 0.6,0.47,0.25 },"4.66+(-4)" },
			{ 
				{ 0.1,0.09,0.1 },"4.3+(-4)" },
			{ 
				{ 0.5,0.4,0.4 },"6.49+(-4)" },
			{ 
				{ 0.88,0.51,0.24 },"8.39+(-4)" },1};
		earlyMorning[] = {3,
			{ 
				{ 0.65,0.55,0.55 },"6.04+(-4)" },
			{ 
				{ 0.08,0.09,0.11 },"4.5+(-4)" },
			{ 
				{ 0.55,0.47,0.25 },"5.54+(-4)" },
			{ 
				{ 0.1,0.09,0.1 },"5.02+(-4)" },
			{ 
				{ 0.5,0.4,0.4 },"7.05+(-4)" },
			{ 
				{ 0.88,0.51,0.24 },"8.88+(-4)" },1};
		midMorning[] = {8,
			{ 
				{ 0.98,0.85,0.8 },"8.37+(-4)" },
			{ 
				{ 0.08,0.09,0.11 },"6.42+(-4)" },
			{ 
				{ 0.87,0.47,0.25 },"7.87+(-4)" },
			{ 
				{ 0.09,0.09,0.1 },"6.89+(-4)" },
			{ 
				{ 0.5,0.4,0.4 },"8.9+(-4)" },
			{ 
				{ 0.88,0.51,0.24 },"10.88+(-4)" },1};
		morning[] = {16,
			{ 
				{ 1,1,0.9 },"13.17+(-4)" },
			{ 
				{ 0.17,0.18,0.19 },"10.26+(-4)" },
			{ 
				{ 1,1,0.9 },"12.67+(-4)" },
			{ 
				{ 0.17,0.18,0.19 },"11.71+(-4)" },
			{ 
				{ 0.15,0.15,0.15 },"12.42+(-4)" },
			{ 
				{ 0.17,0.17,0.15 },"14.42+(-4)" },1};
		noon[] = {45,
			{ 
				{ 1,1,1 },"17+(-4)" },
			{ 
				{ 1,1.3,1.55 },"13.5+(-4)" },
			{ 
				{ 1,1,1 },"15+(-4)" },
			{ 
				{ 0.36,0.37,0.38 },"13.5+(-4)" },
			{ 
				{ 1,1,1 },"16+(-4)" },
			{ 
				{ 1.0,1.0,1 },"17+(-4)" },1};
	};
	class DayLightingRainy: DayLightingRainy
	{
		deepNight[] = {-15,
			{ 0.0034,0.0034,0.004 },
			{ 0.003,0.003,0.003 },
			{ 0.0034,0.0034,0.004 },
			{ 0.003,0.003,0.003 },
			{ 0.001,0.001,0.002 },
			{ 0.001,0.001,0.002 },0};
		fullNight[] = {-5,
			{ 0.023,0.023,0.023 },
			{ 0.02,0.02,0.02 },
			{ 0.023,0.023,0.023 },
			{ 0.02,0.02,0.02 },
			{ 0.01,0.01,0.02 },
			{ 0.08,0.06,0.06 },0};
		sunMoon[] = {-3.75,
			{ 0.04,0.04,0.05 },
			{ 0.04,0.04,0.05 },
			{ 0.04,0.04,0.05 },
			{ 0.04,0.04,0.05 },
			{ 0.04,0.035,0.04 },
			{ 0.11,0.08,0.09 },0.5};
		earlySun[] = {-2.5,
			{ 0.0689,0.0689,0.0804 },
			{ 0.06,0.06,0.07 },
			{ 0.0689,0.0689,0.0804 },
			{ 0.06,0.06,0.07 },
			{ 0.08,0.07,0.08 },
			{ 0.14,0.1,0.12 },0.5};
		earlyMorning[] = {0,
			{ 
				{ 1,1,1 },"(-4)+3.95" },
			{ 
				{ 1,1,1 },"(-4)+3.0" },
			{ 
				{ 1,1,1 },"(-4)+3.95" },
			{ 
				{ 1,1,1 },"(-4)+3.0" },
			{ 
				{ 1,1,1 },"(-4)+4" },
			{ 
				{ 1,1,1 },"(-4)+5.5" },1};
		morning[] = {5,
			{ 
				{ 1,1,1 },"(-4)+5.7" },
			{ 
				{ 1,1,1 },"(-4)+4.5" },
			{ 
				{ 1,1,1 },"(-4)+5.7" },
			{ 
				{ 1,1,1 },"(-4)+4.5" },
			{ 
				{ 1,1,1 },"(-4)+7" },
			{ 
				{ 1,1,1 },"(-4)+8" },1};
		lateMorning[] = {25,
			{ 
				{ 1,1,1 },"(-4)+10.45" },
			{ 
				{ 1,1,1 },"(-4)+9.75" },
			{ 
				{ 1,1,1 },"(-4)+10.45" },
			{ 
				{ 1,1,1 },"(-4)+9.75" },
			{ 
				{ 1,1,1 },"(-4)+12" },
			{ 
				{ 1,1,1 },"(-4)+12.75" },1};
		noon[] = {70,
			{ 
				{ 1,1,1 },"(-4)+12.5" },
			{ 
				{ 1,1,1 },"(-4)+11" },
			{ 
				{ 1,1,1 },"(-4)+12" },
			{ 
				{ 1,1,1 },"(-4)+11" },
			{ 
				{ 1,1,1 },"(-4)+13.5" },
			{ 
				{ 1,1,1 },"(-4)+14" },1};
	};
	class Weather: Weather
	{
		class Lighting: Lighting
		{
			class BrightAlmost: DayLightingBrightAlmost
			{
				overcast = 0;
			};
			class Rainy: DayLightingRainy
			{
				overcast = 1.0;
			};
		};
	};


	class Ambient
	{
		class Mammals
		{
			radius = 200;
			cost = "(1 + forest + trees) * (0.5 + (0.5 * night)) * (1 - sea) * (1 - houses)";
			class Species
			{
				class Rabbit
				{
					probability = 0.52;
					cost = 1;

				};
				class CA_Animals2_WildBoar
				{
					probability = 0.52;
					cost = 1;
				};

			};
		};
		class Mammals2
		{
			radius=200
				cost="(meadow) * (1 - forest) * (1 - houses) * (1 - sea)";
		class Species
		{
				class Goat
				{
				probability=.99;
				cost=1

				};
			};
		};
		class BigBirds
		{
			radius = 300;
			cost = "((1 + forest + trees) - ((2 * rain)) - houses) * (1 - night) * (1 - sea)";
			class Species
			{
				class Hawk
				{
					probability = 0.2;
					cost = 1;
				};
			};
		};


		class Birds
		{
			radius = 170;
			cost = "(1 - night) * ((1 + (3 * sea)) - (2 * rain))";
			class Species
			{
				class Crow
				{
					probability = 0.2;
					cost = 1;
				};
			};
		};
		class BigInsects
		{
			radius = 20;
			cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = "0.6 - (meadow * 0.5) + (forest * 0.4)";
					cost = 1;
				};
				class ButterFly
				{
					probability = "0.4 + (meadow * 0.5) - (forest * 0.4)";
					cost = 1;
				};
			};
		};
		class BigInsectsAquatic
		{
			radius = 20;
			cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = 1;
					cost = 1;
				};
			};
		};
		class SmallInsects
		{
			radius = 3;
			cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class HouseFly
				{
					probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";
					cost = 1;
				};
				class HoneyBee
				{
					probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";
					cost = 1;
				};
				class Mosquito
				{
					probability = "(1 - deadBody) * (0.2 * forest)";
					cost = 1;
				};
			};
		};
		class NightInsects
		{
			radius = 3;
			cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class Mosquito
				{
					probability = 1;
					cost = 1;
				};
			};
		};
		class WindClutter
		{
			radius = 10;
			cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";
			class Species
			{
				class FxWindGrass1
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindGrass2
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindRock1
				{
					probability = "0.4 * hills";
					cost = 1;
				};
			};
		};
		class NoWindClutter
		{
			radius = 15;
			cost = 8;
			class Species
			{
				class FxWindPollen1
				{
					probability = 1;
					cost = 1;
				};
			};
		};

	};

	class Clutter
{
	#include "cfgClutter.hpp"
};

	class Names
{
	#include "islandtree11.hpp"
};

};
};
class CfgWorldList
{
class andy_map5{};
};
class CfgMissions
{
class Cutscenes
{
	class UtesIntro1
	{
		directory = "ca\utes\data\scenes\intro.utes";
	};
};
};
#include "cfgSurfaces.hpp"


//};

Share this post


Link to post
Share on other sites

Made some fixes and improvements.

Use a diff tool like compareIt to see what has been changed.

I always advise to have people base their world classes on Chernarus/Utes/Takistan etc (BI worlds).

Saves you from a lot of code and issues.

class CfgPatches
{
class andy_map5
{
	units[] = {"andy_map5"};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {};
	fileName="andy_map5.pbo";
};
};
class CfgWorlds
{
class DefaultWorld
{
	class Weather;
};
class CAWorld: DefaultWorld
{
	class Grid;
	class DayLightingBrightAlmost;
	class DayLightingRainy;
	class DefaultClutter;
	class Weather: Weather
	{
		class Lighting;
	};
};
class DefaultLighting;
class andy_map5: CAWorld//must be like wrp name
{
	cutscenes[] = {"andy_map5Intro1"};
	description = "ANDY5";
	icon = "";
	worldName = "\andy_map5\islandbridgeandy3.wrp";
	pictureMap = "";
	pictureShot = "\ca\utes\data\ui_selectisland_utes_ca.paa";
	plateFormat = "ML$ - #####";
	plateLetters = "ABCDEGHIKLMNOPRSTVXZ";
	longitude = 30;
	latitude = -45;
	clutterGrid = 1;
	clutterDist = 125;
	noDetailDist = 40;
	fullDetailDist = 15;
	midDetailTexture = "ca\chernarus\data\cr_trava1_mco.paa";
	minTreesInForestSquare = 3;
	minRocksInRockSquare = 3;
	class Grid: Grid
	{
		offsetX = 0;
		offsetY = 0;
		class Zoom1
		{
			zoomMax = 0.15;
			format = "XY";
			formatX = "000";
			formatY = "000";
			stepX = 100;
			stepY = 100;
		};
		class Zoom2
		{
			zoomMax = 0.85;
			format = "XY";
			formatX = "00";
			formatY = "00";
			stepX = 1000;
			stepY = 1000;
		};
		class Zoom3
		{
			zoomMax = 1e+030;
			format = "XY";
			formatX = "0";
			formatY = "0";
			stepX = 10000;
			stepY = 10000;
		};
	};
	startTime = "14:20";
	startDate = "11/10/2008";
	startWeather = 0.4;
	startFog = 0;
	forecastWeather = 0.25;
	forecastFog = 0;
	centerPosition[] = {3500,3500,300};
	seagullPos[] = {2560,150,2560};
	ilsPosition[] = {3330,3610};
	ilsDirection[] = {-1,0.08,0};
	ilsTaxiIn[] = {3540,3572,3388,3572,3382,3578,3382,3600,3400,3610};
	ilsTaxiOff[] = {3520,3610,4040,3610,4050,3600,4050,3580,4045,3575,4040,3572,3540,3572};
	class ReplaceObjects{};
	class Sounds
	{
		sounds[] = {};
	};
	class Animation
	{
		vehicles[] = {};
	};
	class Lighting: DefaultLighting
	{
		groundReflection[] = {0.06,0.06,0.03};
	};
	class DayLightingBrightAlmost: DayLightingBrightAlmost
	{
		deepNight[] = {-15,
			{0.05,0.05,0.06},
			{0.001,0.001,0.002},
			{0.02,0.02,0.05},
			{0.003,0.003,0.003},
			{0.0001,0.0001,0.0002},
			{0.0001,0.0001,0.0002},0};
		fullNight[] = {-5,
			{0.05,0.05,0.05},
			{0.02,0.02,0.02},
			{0.04,0.04,0.04},
			{0.04,0.04,0.04},
			{0.01,0.01,0.02},
			{0.08,0.06,0.06},0};
		sunMoon[] = {-3.75,
			{0.045,0.04,0.04},
			{0.04,0.04,0.04},
			{0.045,0.04,0.04},
			{0.04,0.04,0.04},
			{0.04,0.035,0.04},
			{0.1,0.08,0.09},0.5};
		earlySun[] = {-2.5,
			{0.12,0.1,0.1},
			{0.08,0.06,0.07},
			{0.12,0.1,0.1},
			{0.08,0.06,0.07},
			{0.08,0.07,0.08},
			{0.1,0.1,0.12},1};
		sunrise[] = {0,
			{{0.7,0.45,0.45},"5.16+(-4)"},
			{{0.07,0.09,0.12},"4.0+(-4)"},
			{{0.6,0.47,0.25},"4.66+(-4)"},
			{{0.1,0.09,0.1},"4.3+(-4)"},
			{{0.5,0.4,0.4},"6.49+(-4)"},
			{{0.88,0.51,0.24},"8.39+(-4)"},1};
		earlyMorning[] = {3,
			{{0.65,0.55,0.55},"6.04+(-4)"},
			{{0.08,0.09,0.11},"4.5+(-4)"},
			{{0.55,0.47,0.25},"5.54+(-4)"},
			{{0.1,0.09,0.1},"5.02+(-4)"},
			{{0.5,0.4,0.4},"7.05+(-4)"},
			{{0.88,0.51,0.24},"8.88+(-4)"},1};
		midMorning[] = {8,
			{{0.98,0.85,0.8},"8.37+(-4)"},
			{{0.08,0.09,0.11},"6.42+(-4)"},
			{{0.87,0.47,0.25},"7.87+(-4)"},
			{{0.09,0.09,0.1},"6.89+(-4)"},
			{{0.5,0.4,0.4},"8.9+(-4)"},
			{{0.88,0.51,0.24},"10.88+(-4)"},1};
		morning[] = {16,
			{{1,1,0.9},"13.17+(-4)"},
			{{0.17,0.18,0.19},"10.26+(-4)"},
			{{1,1,0.9},"12.67+(-4)"},
			{{0.17,0.18,0.19},"11.71+(-4)"},
			{{0.15,0.15,0.15},"12.42+(-4)"},
			{{0.17,0.17,0.15},"14.42+(-4)"},1};
		noon[] = {45,
			{{1,1,1},"17+(-4)"},
			{{1,1.3,1.55},"13.5+(-4)"},
			{{1,1,1},"15+(-4)"},
			{{0.36,0.37,0.38},"13.5+(-4)"},
			{{1,1,1},"16+(-4)"},
			{{1,1,1},"17+(-4)"},1};
	};
	class DayLightingRainy: DayLightingRainy
	{
		deepNight[] = {-15,
			{0.0034,0.0034,0.004},
			{0.003,0.003,0.003},
			{0.0034,0.0034,0.004},
			{0.003,0.003,0.003},
			{0.001,0.001,0.002},
			{0.001,0.001,0.002},0};
		fullNight[] = {-5,
			{0.023,0.023,0.023},
			{0.02,0.02,0.02},
			{0.023,0.023,0.023},
			{0.02,0.02,0.02},
			{0.01,0.01,0.02},
			{0.08,0.06,0.06},0};
		sunMoon[] = {-3.75,
			{0.04,0.04,0.05},
			{0.04,0.04,0.05},
			{0.04,0.04,0.05},
			{0.04,0.04,0.05},
			{0.04,0.035,0.04},
			{0.11,0.08,0.09},0.5};
		earlySun[] = {-2.5,
			{0.0689,0.0689,0.0804},
			{0.06,0.06,0.07},
			{0.0689,0.0689,0.0804},
			{0.06,0.06,0.07},
			{0.08,0.07,0.08},
			{0.14,0.1,0.12},0.5};
		earlyMorning[] = {0,
			{{1,1,1},"(-4)+3.95"},
			{{1,1,1},"(-4)+3.0"},
			{{1,1,1},"(-4)+3.95"},
			{{1,1,1},"(-4)+3.0"},
			{{1,1,1},"(-4)+4"},
			{{1,1,1},"(-4)+5.5"},1};
		morning[] = {5,
			{{1,1,1},"(-4)+5.7"},
			{{1,1,1},"(-4)+4.5"},
			{{1,1,1},"(-4)+5.7"},
			{{1,1,1},"(-4)+4.5"},
			{{1,1,1},"(-4)+7"},
			{{1,1,1},"(-4)+8"},1};
		lateMorning[] = {25,
			{{1,1,1},"(-4)+10.45"},
			{{1,1,1},"(-4)+9.75"},
			{{1,1,1},"(-4)+10.45"},
			{{1,1,1},"(-4)+9.75"},
			{{1,1,1},"(-4)+12"},
			{{1,1,1},"(-4)+12.75"},1};
		noon[] = {70,
			{{1,1,1},"(-4)+12.5"},
			{{1,1,1},"(-4)+11"},
			{{1,1,1},"(-4)+12"},
			{{1,1,1},"(-4)+11"},
			{{1,1,1},"(-4)+13.5"},
			{{1,1,1},"(-4)+14"},1};
	};
	class Weather: Weather
	{
		class Lighting: Lighting
		{
			class BrightAlmost: DayLightingBrightAlmost
			{
				overcast = 0;
			};
			class Rainy: DayLightingRainy
			{
				overcast = 1;
			};
		};
	};
	class Ambient
	{
		class Mammals
		{
			radius = 200;
			cost = "(1 + forest + trees) * (0.5 + (0.5 * night)) * (1 - sea) * (1 - houses)";
			class Species
			{
				class Rabbit
				{
					probability = 0.52;
					cost = 1;
				};
				class CA_Animals2_WildBoar
				{
					probability = 0.52;
					cost = 1;
				};
			};
		};
		class Mammals2
		{
			radius=200
				cost="(meadow) * (1 - forest) * (1 - houses) * (1 - sea)";
		class Species
		{
				class Goat
				{
				probability=.99;
				cost=1
				};
			};
		};
		class BigBirds
		{
			radius = 300;
			cost = "((1 + forest + trees) - ((2 * rain)) - houses) * (1 - night) * (1 - sea)";
			class Species
			{
				class Hawk
				{
					probability = 0.2;
					cost = 1;
				};
			};
		};
		class Birds
		{
			radius = 170;
			cost = "(1 - night) * ((1 + (3 * sea)) - (2 * rain))";
			class Species
			{
				class Crow
				{
					probability = 0.2;
					cost = 1;
				};
			};
		};
		class BigInsects
		{
			radius = 20;
			cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = "0.6 - (meadow * 0.5) + (forest * 0.4)";
					cost = 1;
				};
				class ButterFly
				{
					probability = "0.4 + (meadow * 0.5) - (forest * 0.4)";
					cost = 1;
				};
			};
		};
		class BigInsectsAquatic
		{
			radius = 20;
			cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = 1;
					cost = 1;
				};
			};
		};
		class SmallInsects
		{
			radius = 3;
			cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class HouseFly
				{
					probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";
					cost = 1;
				};
				class HoneyBee
				{
					probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";
					cost = 1;
				};
				class Mosquito
				{
					probability = "(1 - deadBody) * (0.2 * forest)";
					cost = 1;
				};
			};
		};
		class NightInsects
		{
			radius = 3;
			cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class Mosquito
				{
					probability = 1;
					cost = 1;
				};
			};
		};
		class WindClutter
		{
			radius = 10;
			cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";
			class Species
			{
				class FxWindGrass1
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindGrass2
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindRock1
				{
					probability = "0.4 * hills";
					cost = 1;
				};
			};
		};
		class NoWindClutter
		{
			radius = 15;
			cost = 8;
			class Species
			{
				class FxWindPollen1
				{
					probability = 1;
					cost = 1;
				};
			};
		};
	};
	class Clutter
	{
		#include "cfgClutter.hpp"
	};
	class Names
	{
		#include "islandtree11.hpp"
	};
};
};
class CfgWorldList
{
class andy_map5{};
};
class CfgMissions
{
class Cutscenes
{
	class andy_map5Intro1
	{
		directory = "ca\utes\data\scenes\intro.utes";//TODO
	};
};
};
#include "cfgSurfaces.hpp"

You need to post also the included files.

Share this post


Link to post
Share on other sites

i like the changes, and have a quicker time loading it ingame, however same error occurs. I guess it may have to do with the clutter/surface files

---------- Post added at 15:41 ---------- Previous post was at 15:39 ----------

 class clutter
 {

  class sm_grasstall: DefaultClutter
  {
	  model="ca\plants2\clutter\c_grasstall.p3d";
	  affectedByWind = 0.60;
	  swLighting = true;
	  scaleMin = 0.7;
	  scaleMax = 1.0;
  };
  class sm_AutumnFlowers: DefaultClutter
{
	model="ca\plants2\clutter\c_autumn_flowers.p3d";
	affectedByWind = 0.4;
	swLighting = true;
	scaleMin = 0.7;
	scaleMax = 1.0;
};

class sm_GrassCrooked: DefaultClutter
{
	model="ca\plants2\clutter\c_GrassCrooked.p3d";
	affectedByWind = 0.3;
	swLighting = true;
	scaleMin = 0.7;
	scaleMax = 1.4;
};

class sm_GrassCrookedGreen: DefaultClutter
{
	model="ca\plants2\clutter\c_GrassCrookedGreen.p3d";
	affectedByWind = 0.3;
	swLighting = true;
	scaleMin = 0.9;
	scaleMax = 1.3;
};

class sm_WeedDead: DefaultClutter
{
	model="ca\plants2\clutter\c_WeedDead.p3d";
	affectedByWind = 0.3;
	swLighting = true;
	scaleMin = 0.75;
	scaleMax = 1.1;
};
 };

class CfgSurfaces 
{
class Default {};
class SMgrassSurface : Default
{	
	 files = "sm_grass_*";
	 rough = 0.1;
	 dust = 0.1;
	 soundEnviron = "grass";
	 character = "sm_grassClutter";
	 soundHit = "soft_ground";
};
};

class CfgSurfaceCharacters
{
class sm_grassClutter
 	{
		probability[]={0.79,0.1,0.1,0.01};
		names[]={"sm_grasstall","sm_GrassCrookedGreen","sm_GrassCrooked","sm_AutumnFlowers","sm_WeedDead"};
 	};
};

class Layers
{
 class sm_grass
 {
   texture = "tut\tut_samplemap\data\sm_grass_mco.png";
   material= "tut\tut_samplemap\data\sm_grass.rvmat";
 };
};

class Legend
{
 picture="tut\tut_samplemap\source\mapLegend.png";
 class Colors
 {
   sm_grass[]={{255,255,255}};
 };
};

Share this post


Link to post
Share on other sites

This path (for example) in Layers.cfg....

texture = "tut\tut_samplemap\data\sm_grass_mco.png";

Is pointing to the "Data" folder within Sgt Ace's tutorial source files...

But this path, from your config.cpp is pointing to....

\andy_map5\islandbridgeandy3.wrp

Which terrain are you actually working on?

The Layers.cfg is used while importing the Sat & Mask files and creating the "Layers" folder - normally found within the "yourtag\yourproject\Data" folder... where is yours going?

Currently, with this setup, you're likely to produce a terrain which, on loading in-game, will immediately start looking for the "Tut_Samplemap" in order to find its groundtextures...

Actually, if you just happen to have the Tut_Samplemap loaded as well, then this might actually give the illusion of working - though if you gave the terrain.pbo to other people who didn't have Tut_Samplemap also loaded it would error out more spectacularly...

Another interesting error that's likely to occur is that you haven't "re-tagged" any of the surfaces or clutter classes or definitions.. they're still carrying the "sm_" tag.. This is likely to cause another error, not generally seen since the early days of Arma2 mapmaking, when terrainmakers hadn't realised the importance of this, used the Chernarus or Utes definitions directly - thereby causing "conflicts" with these terrains which caused them to..... lose their clutter...

In this case, having the Tut_Samplemap and your terrain loaded at the same time may well be causing this particular kind of "clutter conflict"...

I strongly suggest you actually follow through the entire "Beginners guide" repathing section... particularly the Layers.cfg (p20), cfgClutter.hpp (p23) and cfgSurfaces (p25), plus the "Layers Folder Path" section on page 36...

Give these sections a GOOD read, compare what's there to your own versions of these files and make the appropriate changes...

At some point in the near future I'd also suggest you consider Kju's advice of simply "inheriting" from the most appropriate BI terrain... that avoids a lot of the unnecessary "Ambient", etc, etc definitions from littering your main config... there's no point in including that stuff unless you're planning on making it different...

Still - meantime - Kju's "fixed" config should work fine for the purposes of this initial project...

Don't despair! - You're getting closer to cracking the entire procedure!... Reread the guide again... once you get a handle on these basic paths and structure concepts you'll be up and running, and you'll be well on your way to the more interesting stuff....

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

all the layers paa's are within the tut_samplemap/data/layers, which is packed as a separate pbo. I've been meaning to make a new xyz/map altogether but have just been using an older map i made from wilbur back when i was using the tutorial for testing. It seems to work fine ingame but in hindsight i should probably scratch it and get started making a new height map.

As for the class names, i was unware this might cause a conflict. So you are saying that sm_* class names conflict with already defined classes? So i should just rename the class whatever value i feel and then a new class will be defined using the same p3ds/textures/rvmats?

I'll try this out as soon as i get home from work, just curious to understanding the logic behind the error

Thanks!

Share this post


Link to post
Share on other sites
So you are saying that sm_* class names conflict with already defined classes?

They'll conflict with the ones defined in Tut_Samplemap, if you have that loaded as a mod alongside your experimental terrain...

It's really more of an issue if you were using something like Chernarus or Utes definitions and you hadn't changed them.. they're ALWAYS loaded so there'd always be a conflict...

It's generally considered good practise to tag all classes, and even texture filenames, etc with something relevant to either you, or the terrain itself... You'll see that in the Beginners guide pages I mentioned, where the sample terrain provided is called "Afghan Valley", so, throughout the configs & fileset, you'll see a lot of "AV_" tags on almost everything....

B

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×