Jump to content
Sign in to follow this  
dinoboy123

cfgSurfaces Not working correctly in game

Recommended Posts

i've been working away on my map through l3dt and have made some fairly decent sat and mask images. However, I have run into a major problem that i've tried solving about a dozen times now with no luck. In game the terrain surfaces have the incorrect soundhit (eg, sand has a hard ground sound, when i clearly state in the file i want soft_ground). I have reviewed the config over and over, along with the layers file, to understand what is the issue, but I cant seem to figure out what could be wrong. I feel something becomes messed up during binarization but other than that i have no clue.

Hopefully you guys can gloss over my surface and layer files and notice any oversights i may have made.

Thanks for any help!

-Andrew


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 RockSurface : Default
{	
	 files = "al_rock*";
	 rough = 0.00251;
	 dust = 0.1;
	 soundEnviron = "grass";
	 character = "rock_clutter";
	 soundHit = "concrete";
};
class SandSurface : Default
{	
	 files = "al_sand*";
	 rough = 0.00451;
	 dust = 0.41;
	 soundEnviron = "dirt";
	 character = "sand_clutter";
	 soundHit = "soft_ground";
};
class MudSurface : Default
{	
	 files = "al_mud*";
	 rough = 0.0031;
	 dust = 0.41;
	 soundEnviron = "dirt";
	 character = "mud_clutter";
	 soundHit = "hard_ground";
};
};

class CfgSurfaceCharacters
{
class sm_grassClutter
 	{
		probability[]={0.79,0.1,0.1,0.01};
		names[]={"al_grasstall","al_GrassCrookedGreen","al_GrassCrooked","al_AutumnFlowers","al_WeedDead"};
 	};
class rock_clutter
 	{
		probability[]={0.0119,.01};
		names[]={"al_GrassCrookedForest","al_WeedDead"};
 	};
class sand_clutter
{
		probability[]={.0001};
		names[]={"al_weed2"};
};
class mud_clutter
{
		probability[]={.1};
		names[]={"al_weed2"};
};
};


class Layers
{
 class sm_grass
 {
   texture = "andy_map8\data\al_grass_mco.png";
   material= "andy_map8\data\al_grass.rvmat";

 };
class al_sand
 {
   texture = "andy_map8\data\al_sand.png";
   material="andy_map8\data\al_sand_polopoust.rvmat";
 };
class rock
 {
   texture = "andy_map8\data\al_rock.png";
   material="andy_map8\data\al_rock_polopoust - Copy.rvmat";
 };
class mud
 {
   texture = "andy_map8\data\al_mud.png";
   material="andy_map8\data\al_mud_polopoust - Copy - Copy.rvmat";
 };

};

class Legend
{
 picture="andy_map8\source\mapLegend.png";
 class Colors
 {
   sm_grass[]={{130,192,80}};
   sand[]={{230,230,120}};  
   rock[]={{120,120,120}}; 
   mud[]={{200,170,100}}; 
 };
};

PS: I am attempting to use 4 terrains, which i've heard from some users as being impossible, but I could have sworn seeing more than 3 terrain types ingame on other maps. So far the 4th terrain is converted into the third terrain despite the obvious color difference in the mask image.

Share this post


Link to post
Share on other sites

Hi Andrew....

Okay - lets take a look!

cfgSurfaces first....

class SMgrassSurface : Default

{

files = "sm_grass_*";

"SM"grass... any particular reason this class only is "tagged" same as Sgt Ace's tutorial? - If you were actually loading the tutorial map and your own at the same time there's a possibility of conflicts by doing that...

The following class is tagged with "al", and the subsequent two aren't tagged at all... this is less critical, but it's kinda untidy and liable to lead to confusion if you don't maintain some kind of consistent tagging scheme throughout the project...

... and in fact, it DID lead to confusion... A quick fast-forward to the matching grass entry in your layers.cfg reveals...

class Layers

{

class sm_grass

{

texture = "andy_map8\data\al_grass_mco.png";

material= "andy_map8\data\al_grass.rvmat";

We still have the "sm" tag on this class, but it refers to "al" tagged grass texture files, whereas in cfgSurfaces you state that all the grass texture files are "sm_grass_(something)"...

...Back to cfgSurfaces and the next entry - rock.....

class RockSurface : Default

{

files = "al_rock*";

rough = 0.00251;

dust = 0.1;

soundEnviron = "grass";

character = "rock_clutter";

soundHit = "concrete";

A couple of points here...

Firstly, no "tag" at all on this surface class - that won't immediately conflict with Sgt Ace's terrain, like the class above might, but - with no tag all it requires is for someone else to make a terrain, not bother with a tag either, and just use "class RockSurface" in their terrain too... If a user were to load your terrain and that theoretical other one at the same time then, theoretically, there could be issues... Besides - consistency and uniqueness, remember?

The filename "tag" - "al" matches the ones quoted in layers.cfg this time, so we're ok there, but - that next line.. " rough = 0.00251;" - that's an extremely low value for Rock Roughness... try 0.3 or even 0.4 - give people a bit of a rough ride if they're unwise enough to venture on to your rock surface in a vehicle ;)

Still on the "Rock" entry in cfgSurfaces, down another two lines and you have " soundEnviron = "grass";" - for "Rock"?? - are you sure about this?

Also - "soundHit = "concrete";" - well, not quite so bad.. at least its a "stony" sort of sound...

Without going in to extreme detail with the rest, looking down thru the rest of the cfgSurfaces I see several similar errors... very low "roughness" values, no tags on the classes, and odd choices for soundEnviron and soundHit in some cases...

You might be slightly confused by these two - me too! They're not particularly well-named...

AFAIK, "soundEnviron" is what the surface sounds like when you walk on it, whereas "soundHit" is literally, how the surface behaves when you hit, or shoot it (dull, bullet hitting soft earth, whining ricochet from rock, etc)..

Kju published a nice list of the available types for these guys... I'll edit in a link later if I can find it...

*edit - HERE

Finally...

I am attempting to use 4 terrains, which i've heard from some users as being impossible, but I could have sworn seeing more than 3 terrain types ingame on other maps. So far the 4th terrain is converted into the third terrain despite the obvious color difference in the mask image

4 different surface types is perfectly OK and should work perfectly in all cases - providing everything else is structured and configged correctly. It's only when attempting to use 5 or more different surfaces that it can get a little tricky...

For now, stick to a "Core Four" like you're doing until you get things behaving as they should...

I suspect your struggles with the fourth surface is more likely to be a problem with those variously named files for "grass" than anything else...

I'd suggest you grab a copy of my beginners guide... Even if you don't actually follow the tutorial, it's a useful "look up guide" since there's sections on "layers.cfg", "cfgSurfaces", etc where each of the available parameters is discussed a little in turn... That might help a little when it comes to stuff like tagging classes, roughly what each parameter does and nominal "usual values", etc

Don't Panic!

It looks like you're getting the hang of the overall concepts here, which is a really Good Thing! - It's just untidiness and inconsistencies here and there which are causing you grief. Have a look at that guide, tag stuff consistently across all your configs and it should all start to kick in nicely....

B

Share this post


Link to post
Share on other sites

Excellent help! I have your beginners guide open at all times when working on any map and has managed to keep me going for the last week straight without any problems!

As for the odd choice of soundhits and environment, at this point i'm just desperate to get any change in sound. I keep loading in the game and sand makes a hardground sound. I assume this must be a conflict so I am redoing all my tags. As for the low roughness values, I am attempting to paint mud/dirt roads into the game in l3dt rather than painstakingly adding roads in visitor 3. Hopefully I can get the 4th terrain to work successfully after I do some serious cleaning up on all my code

-Andrew

Share this post


Link to post
Share on other sites
As for the low roughness values, I am attempting to paint mud/dirt roads into the game in l3dt rather than painstakingly adding roads in visitor 3. Hopefully I can get the 4th terrain to work successfully after I do some serious cleaning up on all my code

-Andrew

Not to change the topic but why is it "painstakingly"? There are three ways that people tend to add roads in this game. Individually placing them as artificial objects (terrible idea). External Road Tools (Good). As a Network (Good). The last two aren't very difficult. I just want to make sure that you know that you have options in case you are doing it the first way. A lot of people don't like the last way either but since I have been using it for a decade almost now I think I am just used to it.

Share this post


Link to post
Share on other sites

i was infact going to do it the first way. I was aware of road tools made by some users, but I feel like if i have to learn another software program my head is gonna explode, especially with midterms coming up. If i get a break in the next few weeks i'll definitley try them out, but i figured painting them in in l3dt kills 2 birds with one stone since you can see them from a distance as they are part of the sat map, and will allow me to place spots of clutter on the road for a more rustic/rural feel

* in hindsight, it looks like the roads come out a little too pixilated than hopedfor, i guess i'll go give the other options a shot

Edited by dinoboy123

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  

×