Jump to content
Sign in to follow this  
mikebart

Clutter not showing ingame

Recommended Posts

Hi im trying to convert my source files for Mana Island NZ to arma3 p drive and hoping to pick things up where i left off.

when I use the Addon Builder to build the pbo's im getting quite a few errors, but the main one for me at the moment is clutter not showing in game.

Im having this error pop up when i launch Arma 3:

"No entry 'bin\config.bin/CfgSurfaces/CfgSurfaces.rough'."

Here are my config and cfgsurfaces files, I think it would have to be something to do with those two files but I can post up other files if it helps. Also, feel free to point out other problems with the config if you see any.

Thanks in advance.

config.cpp:

#define ReadAndWrite		0
#define ReadAndCreate		1
#define ReadOnly		2
#define ReadOnlyVerified		3

class CfgPatches
{
class mb_manaisland
{
	units[] = {mb_manaisland};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {"A3_Data_F","A3_Roads_F","A3_Structures_F","A3_Map_Data"};
	version = "2014-1-14";
	fileName = "mb_manaisland.pbo";
	author = "mikebart";
	mail = "mikebartlett1980@hotmail.com";
};
};

class CfgWorlds
{
class DefaultWorld
{
class Weather
	{
		class Overcast;
	};
};
class CAWorld: DefaultWorld
{
	class Grid{};
	class DayLightingBrightAlmost;
	class DayLightingRainy;
	class DefaultClutter;
	class Weather: Weather
	{
		class Lighting;
		class Overcast: Overcast
		{
			class Weather1;
			class Weather2;
			class Weather3;
			class Weather4;
			class Weather5;
			class Weather6;
		};
	};
};
class DefaultLighting;	// External class reference

class mb_manaisland: CAWorld
{
	access = ReadOnlyVerified;
	worldId = 4;
	cutscenes[] = {};
	description = "Mana Island";
	icon = "";
	worldName = "mikebart\mb_manaisland\mb_manaisland.wrp";
	pictureMap = "";
	pictureShot = "mikebart\mb_manaisland_data\data\ui_selectisland_mana_ca.paa";
	plateFormat = "ML$ - #####";
	plateLetters = ABCDEGHIKLMNOPRSTVXZ;
	longitude = 30; // positive is east, in degrees?
	latitude = -45; // positive is south, in degrees?

	class Sea
	{
		seaTexture = "a3\data_f\seatexture_co.paa";
		seaMaterial = "#water";
		shoreMaterial = "#shore";
		shoreFoamMaterial = "#shorefoam";
		shoreWetMaterial = "#shorewet";
		WaterMapScale = 20;
		WaterGrid = 50;
		MaxTide = 0;
		MaxWave = 0.25;
		SeaWaveXScale = "2.0/50";
		SeaWaveZScale = "1.0/50";
		SeaWaveHScale = 2.0;
		SeaWaveXDuration = 5000;
		SeaWaveZDuration = 10000;
	};
	class Underwater
	{
		noWaterFog = -0.01;
		fullWaterFog = -0.01;
		deepWaterFog = 100;
		waterFogDistanceNear = 5;
		waterFogDistance = 30;
		waterColor[] = {0.12,0.12,0.12};
		deepWaterColor[] = {0.0,0.5,0.8};
		surfaceColor[] = {0,0,0};
		deepSurfaceColor[] = {0,0,0};
	};

	class SeaWaterShaderPars
	{
		refractionMoveCoef = 0.03;
		minWaterOpacity = 0.0;
		waterOpacityDistCoef = 0.4;
		underwaterOpacity = 0.5;
		waterOpacityFadeStart = 60;
		waterOpacityFadeLength = 120;
	};

	class OutsideTerrain
	{
		satellite = "A3\map_Stratis\data\s_satout_co.paa";
		enableTerrainSynth = 0;
		class Layers
		{
			class Layer0
			{
				nopx = "A3\Map_Data\gdt_grass_green_nopx.paa";
				texture = "A3\Map_Data\gdt_grass_green_co.paa";
			};
		};

	};

	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 = 12:00;
	startDate = 05/08/2010;
	startWeather = 0.0;
	startFog = 0.0;
	forecastWeather = 0.0;
	forecastFog = 0.0;
	centerPosition[] = {2500, 2500, 300};
	seagullPos[] = {2560, 150, 2560};
	ilsPosition[] ={0.0,0.0,0.0};
	ilsDirection[] ={0.0,0.0,0.0};
	ilsTaxiIn[]= {0.0,0.0,0.0};
	ilsTaxiOff[]= {0.0,0.0,0.0};
	drawTaxiway=false;

	class ReplaceObjects {};

	class Sounds
	{
		sounds[] = {};
	};

	class Animation
	{
		vehicles[] = {};
	};

	class Lighting: DefaultLighting
	{
		#include "cfgLight.hpp"
	};

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

	clutterGrid = 1.0;
	clutterDist = 150;
	noDetailDist = 95;
	fullDetailDist = 55;
	midDetailTexture = "mikebart\mb_manaisland_data\data\mb_manaisland_middle_mco.paa";
	minTreesInForestSquare = 4;
	minRocksInRockSquare = 4;
	hazeDistCoef = 0.1;
	hazeFogCoef = 0.98;
	horizonParallaxCoef = 0.045;
	horizonFogColorationStart = "0.8f";
	skyFogColorationStart = "0.7f";
	soundMapSizeCoef = 4;
	satelliteNormalBlendStart = 10;
	satelliteNormalBlendEnd = 100;

	class Ambient
	{
		#include "cfgAmbient.hpp"
	};

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

	class Armory{};

};
};

class CfgWorldList
{
class mb_manaisland {};
};

class CfgMissions {};

class CfgSurfaces 
{
#include "cfgSurfaces.hpp"
};

CgfSurfaces.hpp:

class CfgSurfaces
{
class Default {};

class Water {};

class mb_grasssurface: Default
{
	files = "mb_soilgrass_*";
	rough = 0.05;
	dust = 0.1;
	soundEnviron = "grass";
	character = "mb_soilgrassclutter";
	soundHit = "soft_ground";
	lucidity = 0.3;
	grassCover = 0.0;
	maxSpeedCoef = 1;
};
class mb_drygrasssurface: Default
{
	files = "mb_drygrass_*";
	rough = 0.05;
	dust = 0.2;
	soundEnviron = "drygrass";
	character = "mb_drygrassclutter";
	soundHit = "soft_ground";
	lucidity = 0.3;
	grassCover = 0.0;
	maxSpeedCoef = 1;
};
class mb_forestfloorsurface: Default
{
	files = "mb_forestfloor_*";
	rough = 0.1;
	dust = 0.1;
	soundEnviron = "forest";
	character = "mb_forestfloorclutter";
	soundHit = "soft_ground";
	lucidity = 0.3;
	grassCover = 0.0;
	maxSpeedCoef = 1;
};
class mb_cliffsurface: Default
{
	files = "mb_cliff_*";
	rough = 0.1;
	dust = 0.07;
	soundEnviron = "rock";
	character = "mb_cliffclutter";
	soundHit = "hard_ground";
	lucidity = 0.3;
	grassCover = 0.0;
	maxSpeedCoef = 1;
};
class mb_soilsurface: Default
{
	files = "mb_soil_*";
	rough = 0.01;
	dust = 0.3;
	soundEnviron = "dirt";
	character = "mb_cliffclutter";
	soundHit = "soft_ground";
	lucidity = 0.3;
	grassCover = 0.0;
	maxSpeedCoef = 1;
};
};
class CfgSurfaceCharacters
{
class mb_soilgrassclutter
{
	probability[] = {0.24,0.60,0.05,0.03,0.01,0.04,0.03};
	names[] ={mb_c_grassshort01, "mb_c_grasslush01", "mb_c_grasstall01", "mb_c_forestweed01", "mb_c_forestweedgroup01","mb_c_taraxacum01", "mb_c_tussock01"};
};
class mb_drygrassclutter
{
	probability[] = {0.5,0.4,0.05,0.01,0.04};
	names[] ={"mb_c_grassdry01", "mb_c_tussock01", "mb_c_forestweed01", "mb_c_forestweedgroup01", "mb_c_taraxacum01"};
};
class mb_forestfloorclutter
{
	probability[] = {0.05,0.5,0.1,0.1,0.3,0.2,0.03};
	names[] ={"mb_c_grasslush01", "mb_c_ulmus01", "mb_c_ulmus02", "mb_c_ulmus03", "mb_c_forestweed01", "mb_c_forestweedgroup01","mb_c_taraxacum01"};
};
class mb_cliffclutter
{
	probability[] = {};
	names[] ={};
};
};

Share this post


Link to post
Share on other sites

Probably because include is inside cfgsurfaces

Then cfgsurfaces again defined in hpp

Share this post


Link to post
Share on other sites

Exactly like Sealife says...

just use the include, dont open the class in the main config

......class CfgWorldList
{
class mb_manaisland {};
};

class CfgMissions {};
[color="#A52A2A"]
#include "cfgSurfaces.hpp"[/color]

Share this post


Link to post
Share on other sites
Hi im trying to convert my source files for Mana Island NZ to arma3 p drive and hoping to pick things up where i left off.

welcome back! awesome news :)

Share this post


Link to post
Share on other sites

thanks guys!, that sorted it, clutter is now working. cheers for the help.

Share this post


Link to post
Share on other sites

Sorry for necro, but since this is the same issue. Ive been reading this thread alot, still cant really tell why the clutter doesnt appear.

If I include "#include "cfgSurfaces.hpp"" in usually fails at projectPBO, but without it the island works fine tough.

CFGsurfaces

http://pastebin.com/XTTh4HPD

CFGclutter

http://pastebin.com/q2x57kUx

config.cpp (Currently not having the cfgclutter described), when it was on config... the log said usually "unvariable class" name or such, tried changing it on both. Config and cfgsurfaces but didnt work.

http://pastebin.com/8sA7t3FV

Thanks.

Share this post


Link to post
Share on other sites

In your CfgSurfaces, you have a "grass" surface defined -

"class abc_samplemap_grass_green_Surface"

- good so far...

Part of that definition states it will use a particular "surface character" (or "Clutter mix") -

"character = "abc_samplemap_grass_green_Character";"

- also good so far...

Below that - you correctly define that surface character, plus state which clutter "type" that surface character uses...

" class abc_samplemap_grass_green_Character

{

probability[]={0.4,0.2,0.06};

names[]={"abc_StrGrassGreenGroup"};

};

"

- looking good so far again...

So off we go to cfgClutter to check the definition of "abc_StrGrassGreenGroup", and we find.....

class clutter  
{
   model = "A3\plants_f\Clutter\c_StrGrassGreen_group.p3d";
   affectedByWind = 0.6;
   swLighting = "true";
   scaleMin = 0.7;
   scaleMax = 1.0;
  };
};

There's no class defined by that name... (and you have one "opening" bracket, but TWO "closing" ones.... ???

Maybe try something like this....

class clutter  
{

   {
   [color="#FF0000"]class abc_StrGrassGreenGroup : DefaultClutter[/color]
   model = "A3\plants_f\Clutter\c_StrGrassGreen_group.p3d";
   affectedByWind = 0.6;
   swLighting = "true";
   scaleMin = 0.7;
   scaleMax = 1.0;
 [color="#FF0000"] };[/color]

};

Now there actually IS a "clutter type" called "class abc_StrGrassGreenGroup", so when the Surface Character calls on it - it exists and should be found and - assuming no other problems elsewhere - your clutter should work...

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

Cheers! It worked. But for some reason "In File Saun\cfgSurfaces.hpp: Line 4 Expected class, define, or varname". Cfgsurfaces now look like this : http://pastebin.com/7eJUfPZz

And config.cpp like this, since I removed the defining Clutter, since I dont need to "launch" it too times, should be ok?

http://pastebin.com/m15gT9cE

For some reason, it said the same thing about "unvariable class" on that Enviroment stratis cfg wich includes the lightning settings. I tried to make the brackets there also but it said the same thing. It said that on line 2 or 4 had that class error. It was like that then

class Lighting : DefaultLighting {}

changed it to, but didnt help:

class Lighting : DefaultLighting {

Enviroment Stratis hpp

http://pastebin.com/AnXbhQ4Q

Share this post


Link to post
Share on other sites
"In File Saun\cfgSurfaces.hpp: Line 4 Expected class, define, or varname"

It means what it says... in Line 4 it expects a class definition, or a "define" or a variable name.... something...

But what you have is...

class CfgSurfaces
{
       class Default {
               {      
               class abc_samplemap_grass_green_Character
                files = "abc_samplemap_grass_green_*";
                rough = 0.1;
                dust = 0.05;
                soundEnviron = "grass";
                character = "abc_samplemap_grass_green_Character";
                 soundHit = "soft_ground";
       };
};

Three "opening brackets", only two "closing brackets" and a class "class abc_samplemap_grass_green_Character" which you define all over again in the next section...

class CfgSurfaceCharacters
{
       class [i]abc_samplemap_grass_green_Character[/i]
       {
                       probability[]={0.4,0.2,0.06};
                       names[]={"abc_StrGrassGreenGroup"};
       };
};

Why did you change the defined surface from "class abc_samplemap_grass_green_Surface" to the same classname as the surface character you subsequently define - it was correct before...

class CfgSurfaces
{
       class Default {};
       class abc_samplemap_grass_green_Surface : Default
       {      
                files = "abc_samplemap_grass_green_*";
                rough = 0.1;
                dust = 0.05;
                soundEnviron = "grass";
                character = "abc_samplemap_grass_green_Character";
                 soundHit = "soft_ground";
       };
};

... nothing wrong with this, which is what you had before...

Additionally - unless you "#include" your cfgClutter.hpp in the main config (#include "cfgClutter.hpp"), then the game won't find it at all, so the classes it contains won't be "defined" as far as the game is concerned...

P.S. - This bit in config.cpp is incorrect too...

class CfgMissions {;

and...

class Grid: Grid {

offsetX = 0;

offsetY = 0;

"offsetY" should = "the width of your terrain in meters"

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

Thanks Lurker, corrected the config.... Im trying get my head around this.

"In File Saun\cfgClutter.hpp: Line 4 Expected class, define, or varname", what Im not seeing here http://pastebin.com/bYXCK801

Two opening brackets, two closing brackets. Class is defined as abc_StrGrassGreenGroup?

Share this post


Link to post
Share on other sites

Is now:

class clutter

{

class abc_StrGrassGreenGroup : DefaultClutter {...

No errors anymore, but not clutter also :D

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  

×