Jump to content
james2464

1.60+ Terrain Config Update Example

Recommended Posts

greenberet40: I did several tests of your config and it seems all nights (even without full moon) are very very bright. Also, some of the details are wierd:

 

tonemapMethod = 0; in the config then you make new class that has this line inside:

tonemapMethod = 2; ?

 

 

Here's an example shots with both configs:

v5O1gP3.jpg

You use the old config with old lighting? or new lighthing in new config???  forme its works.

 

3B9D92A6FBA0D9F1B35DB3141665B6A125CB07CC

 

 

 

6A66EACEC420BFCDD661C2E6F8BA4FA31A33FAAB

 

 

 

 

1838263627F67AEBE046FDCC63D3BD8211668CAB

 

 

 

 

4D8F52E9DBED3DF21BD73459BADD2D6B2F8D81FA

  • Like 1

Share this post


Link to post
Share on other sites

M.S.K.E. by Hotzenplotz > 1.60 no changes, tonemapMethod = 1; basically the whole HDRNewPars class copied from Tanoa

dJzGfLb.jpg

some changes to the LightingNew class in the weather class.

Subtle but much better imho...

fZOfj6z.jpg

And here is a excel sheet I strated, so I can visualize the light colors in the LightingNew class (uses macros!):

http://hummelhummel-ag.de/downloads/Arma3-newLighting.7z

Config-wise MSKE (or hotze_base to be excat, as MSKE is a child of hotze_base) is derived from Stratis.

My HDRNewPars:

class HDRNewPars : HDRNewPars
{
	minAperture = 1e-005;
	maxAperture = 256;
	apertureRatioMax = 4;
	apertureRatioMin = 10;
	bloomImageScale = 1;
	bloomScale = 0.09;
	bloomExponent = 0.75;
	bloomLuminanceOffset = 0.4;
	bloomLuminanceScale = 0.15;
	bloomLuminanceExponent = 0.25;
	tonemapMethod = 1;
	tonemapShoulderStrength = 0.22;
	tonemapLinearStrength = 0.12;
	tonemapLinearAngle = 0.1;
	tonemapToeStrength = 0.2;
	tonemapToeNumerator = 0.022;
	tonemapToeDenominator = 0.2;
	tonemapLinearWhite = 11.2;
	tonemapExposureBias = 1;
	tonemapLinearWhiteReinhard = "2.5f";
	eyeAdaptFactorLight = 3.3;
	eyeAdaptFactorDark = 0.75;
	nvgApertureMin = 10;
	nvgApertureStandard = 12.5;
	nvgApertureMax = 16.5;
	nvgStandardAvgLum = 10;
	nvgLightGain = 320;
	nvgTransition = 1;
	nvgTransitionCoefOn = "40.0f";
	nvgTransitionCoefOff = "0.01f";
	nightShiftMinAperture = 0;
	nightShiftMaxAperture = 0.002;
	nightShiftMaxEffect = 0.6;
	nightShiftLuminanceScale = 600;
};

My LightingNew:

#define __aperture(VAL1,VAL2,VAL3) apertureMin = VAL1; \
	apertureStandard = VAL2; \
	apertureMax = VAL3 \


class ThunderboltNorm :ThunderboltNorm {};
class ThunderboltHeavy : ThunderboltHeavy {};
class Lighting : Lighting {};
class Overcast : Overcast {};

class LightingNew : LightingNew
{
// Overcast   0.25	cloudy
	class Lighting0 : Lighting0 {
		__aperture(4,4,8);
	};
	
	class Lighting1 : Lighting1 {
		__aperture(4,4,8);
	};
	
	class Lighting2 : Lighting2 {
		__aperture(4,4,8);
	};
	
	class Lighting3 : Lighting3 {
		__aperture(4,5,10);
	};
	
	class Lighting4 : Lighting4 {
		__aperture(5,6,18);
	};
	
	class Lighting5 : Lighting5 {
		__aperture(6,8,20);
	};
	
	class Lighting6 : Lighting6 {
		__aperture(7,9,22);

		diffuse[]			= {{0.75, 0.38, 0.22}, 6.6 };
		diffuseCloud[]		= {{0.75, 0.38, 0.22}, 6.0 };
	};
	
	class Lighting7 : Lighting7 {
		__aperture(8,10,22);

		diffuse[]			= {{0.95, 0.42, 0.22}, 9.2 };
		diffuseCloud[]		= {{0.95, 0.42, 0.22}, 8.4 };		
	};
	
	class Lighting8 : Lighting8 {
		__aperture(8,16,26);

		diffuse[]			= {{0.95, 0.55, 0.35}, 11.2 };
		diffuseCloud[]		= {{0.95, 0.55, 0.35}, 10.2 };
	};

	class Lighting9 : Lighting9 {
		__aperture(20,25,35);

		diffuse[]			= {{1, 0.65, 0.45}, 13.5 };
		diffuseCloud[]		= {{1, 0.65, 0.45}, 12.3 };
	};

	class Lighting10 : Lighting10 {
		__aperture(45,60,80);

		diffuse[]			= {{1, 0.75, 0.62}, 17.4 };
		diffuseCloud[]		= {{1, 0.75, 0.62}, 15.8 };
	};

	class Lighting11 : Lighting11 {
		__aperture(70,100,120);

		diffuse[]			= {{1, 0.92, 0.72}, 18.9 };
		diffuseCloud[]		= {{1, 0.92, 0.72}, 17.2 };
	};
	
	class Lighting12 : Lighting12 {
		__aperture(70,100,120);

		diffuse[]			= {{1, 0.95, 0.77}, 18.9 };
		diffuseCloud[]		= {{1, 0.95, 0.77}, 17.2 };
	};


// Overcast   0.6	rainy
	class Lighting13 : Lighting13 {
		__aperture(5,5,10);
//		__aperture(4,4,8);
	};
	
	class Lighting14 : Lighting14 {
		__aperture(5,5,10);
//		__aperture(4,4,8);
	};
	
	class Lighting15 : Lighting15 {
		__aperture(5,5,10);
//		__aperture(4,4,8);
	};
	
	class Lighting16 : Lighting16 {
		__aperture(5,7,13);
//		__aperture(4,5,10);
	};
	
	class Lighting17 : Lighting17 {
		__aperture(7,8,23);
//		__aperture(5,6,18);
	};
	
	class Lighting18 : Lighting18 {
		__aperture(8,10,26);
//		__aperture(6,8,20);
	};
	
	class Lighting19 : Lighting19 {
		__aperture(9,12,29);
//		__aperture(7,9,22);

		diffuse[]			= {{0.75, 0.38, 0.22}, 3.3 };
		diffuseCloud[]		= {{0.75, 0.38, 0.22}, 3.0 };
	};

	class Lighting20 : Lighting20 {
		__aperture(10,13,31);
//		__aperture(8,10,24);

		diffuse[]			= {{0.95, 0.42, 0.22}, 4.6 };
		diffuseCloud[]		= {{0.95, 0.42, 0.22}, 4.2 };
	};

	class Lighting21 : Lighting21 {
		__aperture(10,21,34);
//		__aperture(8,16,26);

		diffuse[]			= {{0.95, 0.55, 0.35}, 5.6 };
		diffuseCloud[]		= {{0.95, 0.55, 0.35}, 5.1 };
	};

	class Lighting22 : Lighting22 {
		__aperture(26,33,46);
//		__aperture(20,25,35);

		diffuse[]			= {{1, 0.65, 0.45}, 6.8 };
		diffuseCloud[]		= {{1, 0.65, 0.45}, 6.2 };		
	};

	class Lighting23 : Lighting23 {
		__aperture(59,78,104);
//		__aperture(45,60,80);

		diffuse[]			= {{1, 0.75, 0.62}, 8.7 };
		diffuseCloud[]		= {{1, 0.75, 0.62}, 7.9 };
	};

	class Lighting24 : Lighting24 {
		__aperture(91,130,156);
//		__aperture(70,100,120);

		diffuse[]			= {{1, 0.92, 0.72}, 9.5 };
		diffuseCloud[]		= {{1, 0.92, 0.72}, 8.6 };
		
		standardAvgLum = 6000;
	};

	class Lighting25 : Lighting25 {
		__aperture(91,130,156);
//		__aperture(70,100,120);

		diffuse[]			= {{1, 0.95, 0.77}, 9.5 };
		diffuseCloud[]		= {{1, 0.95, 0.77}, 8.6 };
		
		standardAvgLum = 7000;
	};



// Overcast   0.85   stormy
	class Lighting26 : Lighting26 {
		__aperture(8,8,15);
//		__aperture(4,4,8);
	};
	
	class Lighting27 : Lighting27 {
		__aperture(8,8,15);
//		__aperture(4,4,8);
	};
	
	class Lighting28 : Lighting28 {
		__aperture(8,8,15);
//		__aperture(4,4,8);
	};
	
	class Lighting29 : Lighting29 {
		__aperture(8,10,19);
//		__aperture(4,5,10);
	};
	
	class Lighting30 : Lighting30 {
		__aperture(10,11,34);
//		__aperture(5,6,18);
	};
	
	class Lighting31 : Lighting31 {
		__aperture(11,15,38);
//		__aperture(6,8,20);
	};
	
	class Lighting32 : Lighting32 {
		__aperture(13,17,42);
//		__aperture(7,9,22);

		diffuse[]			= {{0.216, 0.286, 0.384}, 0.7 };
		diffuseCloud[]		= {{0.054, 0.0715, 0.096}, 0.6 };	
	};

	class Lighting33 : Lighting33 {
		__aperture(15,19,46);
//		__aperture(8,10,24);

		diffuse[]			= {{0.255, 0.325, 0.42}, 0.9 };
		diffuseCloud[]		= {{0.06375, 0.08125, 0.105}, 0.8 };
	};

	class Lighting34 : Lighting34 {
		__aperture(15,30,49);
//		__aperture(8,16,26);

		diffuse[]			= {{0.298, 0.365, 0.451}, 1.1 };
		diffuseCloud[]		= {{0.0745, 0.09125, 0.11275}, 1.0 };
	};

	class Lighting35 : Lighting35 {
		__aperture(38,48,67);
//		__aperture(20,25,35);

		diffuse[]			= {{0.376, 0.431, 0.506}, 1.4 };
		diffuseCloud[]		= {{0.094, 0.10775, 0.1265}, 1.2 };
	};

	class Lighting36 : Lighting36 {
		__aperture(86,114,152);
//		__aperture(45,60,80);

		diffuse[]			= {{0.5, 0.4, 0.5}, 1.7 };
		diffuseCloud[]		= {{0.5, 0.4, 0.5}, 1.7 };
		ambient[]			= {{0.5, 0.4, 0.5}, 9.8 };
		ambientCloud[]		= {{0.5, 0.4, 0.5}, 9.8 };
		ambientMid[]		= {{0.5, 0.4, 0.5}, 9.4 };
		ambientMidCloud[]	= {{0.5, 0.4, 0.5}, 9.4 };

	};

	class Lighting37 : Lighting37 {
		__aperture(133,190,228);
//		__aperture(70,100,120);

		diffuse[]			= {{0.45, 0.35, 0.45}, 1.9 };
		diffuseCloud[]		= {{0.45, 0.35, 0.45}, 1.7 };
		ambient[]			= {{0.45, 0.35, 0.45}, 10.8};
		ambientCloud[]		= {{0.45, 0.35, 0.45}, 10.8};
		ambientMid[]		= {{0.45, 0.35, 0.45}, 10.2};
		ambientMidCloud[]	= {{0.45, 0.35, 0.45}, 10.2};

	};
	class Lighting38 : Lighting38 {
		__aperture(133,190,228);
//		__aperture(70,100,120);

		diffuse[]			= {{0.4, 0.3, 0.4}, 1.9 };
		diffuseCloud[]		= {{0.4, 0.3, 0.4}, 1.7 };
		ambient[]			= {{0.4, 0.3, 0.4}, 10.8};
		ambientCloud[]		= {{0.4, 0.3, 0.4}, 10.8};
		ambientMid[]		= {{0.4, 0.3, 0.4}, 10.2};
		ambientMidCloud[]	= {{0.4, 0.3, 0.4}, 10.2};

	};




// under water ???
	class Lighting39 : Lighting39 {};
	class Lighting40 : Lighting40 {};
	class Lighting41 : Lighting41 {};
	class Lighting42 : Lighting42 {};
	class Lighting43 : Lighting43 {};
	class Lighting44 : Lighting44 {};
};
  • Like 4

Share this post


Link to post
Share on other sites

looks good t-800a!

 

if anyone has problems, the map is too bright he can try to add this :

 

        //NEW SATELLITE VS DETAIL TEXTURE BLENDING SETUP
        /// maximal darkening coef for blending of satellite map and detail map on terrain (default = 0.0f, no darkening = 1.0f}
        terrainBlendMaxDarkenCoef = 1.0f;

        /// maximal brightening coef for blending of satellite map and detail map on terrain (default = 1.0f, no brightening = 0.0f)
        terrainBlendMaxBrightenCoef = 0.0f;

 

 

  • Like 2

Share this post


Link to post
Share on other sites

I'm a little confused as to what config to use. Does anybody have a config I can use where all I need to do is change the name of the terrain and anything associated with my own map. I'm getting a rapify error when I pack the terrain and I don't really know what I'm to do to fix it. 

Share this post


Link to post
Share on other sites

@Spooky - do you have Mikero's Eliteness tool? If so - run a lint check on your config. It'll ferret out any syntax errors you might have. 

Share this post


Link to post
Share on other sites

Updated my excel sheet a bit:

download 7z

download xlsm

the following are added

  • diffuse
  • diffuseCloud
  • ambient
  • ambientCloud
  • ambientMid
  • ambientMidCloud
  • groundReflection
  • groundReflectionCloud
  • sky
  • skyAroundSun
  • fogColor
and you can generate the config entries for one lightning class for c&p

*edit: and changed the output to work with a dot as decimal seperator

  • Like 3

Share this post


Link to post
Share on other sites

greenberet40: I did several tests of your config and it seems all nights (even without full moon) are very very bright. Also, some of the details are wierd:

 

tonemapMethod = 0; in the config then you make new class that has this line inside:

tonemapMethod = 2; ?

 

 

Here's an example shots with both configs:

v5O1gP3.jpg

looks the fog has an unwanted alpha value?

with skyColorInfluencesFogColor = 1; you must not use an alpha value for your fogcolor  (tanoa lighting is skyColorInfluencesFogColor = 0, and therefore has an alpha value for the fogcolor, if you skyColorInfluencesFogColor = 1, the alpha value of the fog will be interpolated with the alpha value of the skycolor and it will mess up)

also when you want to use old configs, you must use the old skytextures too and in order to do that you need the old skybox objects too (obloha.p3d, horizont.p3d).

just so you guys keep that in mind.

Share this post


Link to post
Share on other sites

Updated my excel sheet a bit:

download 7z

download xlsm

the following are added

  • diffuse
  • diffuseCloud
  • ambient
  • ambientCloud
  • ambientMid
  • ambientMidCloud
  • groundReflection
  • groundReflectionCloud
  • sky
  • skyAroundSun
  • fogColor
and you can generate the config entries for one lightning class for c&p

*edit: and changed the output to work with a dot as decimal seperator

 

that incredibly usefull stuff, if i had a clue about excel i would have made such a table years ago!

Share this post


Link to post
Share on other sites

Hi guys, I need your help. I do not understand the syntax of inheritance here in config business. What I did is rather copy+paste, understanding not so much. If I have a decent template, I want to make changes to map lighting and haze, maybe aperture. May I ask you to have a look?

class CfgWorlds
{
class DefaultWorld {};
   class CAWorld : DefaultWorld{};
   class Stratis : CAWorld
{
class HDRNewPars;
class Names
      {
         class Agia_Marina;
      };
};
 
class Stratis_TORT : Stratis
{
class HDRNewPars : HDRNewPars{tonemapMethod = 1};
class Names : Names
{
class Agia_Marina : Agia_Marina{name = "Tortuosit City"};
};
   };
};
 
class CfgWorldList
{
class Stratis_TORT{};
};

Result of the code:

- A new Addon map called "Stratis" is listed

- It has only one city name. Agia Marina is "Tortuosit City", all other cities have no name,.,, so no inheritence of names happened?

I'd like to:

- Replace the original Stratis but couldnt make it work

- Inherit all properties and then do changes to some attributes

- Can I make cfgWorld attribute changes to all maps at once?

Share this post


Link to post
Share on other sites

1. do a replacement

2. set correct requireAddons to overwrite BI configs

3. inheritance looks alright - yet at times some hardcoded behavior ignores inheritance; may or may not be the case with class Names here

Share this post


Link to post
Share on other sites

1. do a replacement

2. set correct requireAddons to overwrite BI configs

3. inheritance looks alright - yet at times some hardcoded behavior ignores inheritance; may or may not be the case with class Names here

Thanks man, it's not your fault but what you write is too abstract for my lack of cfgWhatever understanding. Did not yet find an understandable documentation of it...

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

×