Total War: WARHAMMER II

Total War: WARHAMMER II

Not enough ratings
Changing environment lighting and other effects
By Oblivious
Pack File Manager tutorial for editing environment and weather effects/lighting

Scroll to the pictures at the bottom to see what you can do with this tutorial.
   
Award
Favorite
Favorited
Unfavorite
Pack File Manager (Or RPFM)
For this you need PFM, there are other guides online where to find and how to install PFM, Once you have it, right click, add from pack;
select data.pack in warhammer 2 folder





Add weather section

You can also add individual .environment files by double clicking them. There are a few more .environment files in data_2.pack
The weather files



The files on the left are all the individual weather and environment types for the different types of maps in the game. Brt = Bretonnia, Emp = Empire, etc..


-=-=-=-=-=-UPDATE-=-=-=-=- [IGNORE THIS IF FIRST TIME READING THE GUIDE]

Some environments will get used more than others in campaign, while some may never get used. I still don't know exactly how the game connects the maps to the campaign environments.
For example: Norsca has 7 environments;
nor_01
nor_02
nor_04
nor_05
nor_06
nor_07
nor_snowy_coast
But in the campaign, battles in norsca will almost all use nor_01 and nor_02


This means if you change for example nor_01 to rain, approximately 50% the battles in norsca (campaign area) will be rain, even if there are 6 other norsca environments.

The other norsca environments in this case only get used in unique settlements or chokepoint/ambush battles.

Some others examples

Emp_08 = Only appears in the 'sigmar statue' minor settlement map in campaign, nowhere else
Emp_fort = Only appears in the Empire forts, nowhere else

The Dwf_ files rarely get used. subterranean dwarf battles use deep_01, sub_01, sub_02, rift_01.
Overground dwarf settlement battles (the maps surrounded by mountains) almost always use the Pass_ files (pass_01 - pass_04)

Hope this helps.

-=-=-=-=-=- [CONTINUE GUIDE] -=-=-=-=-=-=-
Finding the corresponding maps in-game
To see your changes in-game you can use 'Battles_Tables' in DATA.pack
The names under screenshot path represent (normally) the names of the map in custom battles in-game
While the name under battle_environment represent which weather file it's using


This is not always 100% accurate. And just because a map uses an Environment in custom battles, does not mean it will use the same environment in the Campaign. Campaign maps tend to use an environment connected to their area (Battles in the Empire will use one of the emp_ files) this does not mean that they choose an emp_ file at random, they still tend to use specific environments per map. If you autosave before a battle in campaign and load the battle again, it will always use the same .environment, not a random one.
The values
Now for the values..

*** read the edit below for other values I've found useful since creating this guide. ***

The highlighted ones are the ones I've noticed matter most/make the most difference

From top to bottom;
environment_prefab='prefabs\sky____.bmd'

= The skybox that the map uses
The different sky boxes are found in data.pack / skyboxes


JPGs of the Skyboxes. These can be found as .dds in data. pack/ skyboxes/ tex
Bret_01
Bret_02
bret_03
bst_01
chs_01
chs_02
chs_03
chs_05
emp_01
emp_02
emp_03
emp_04
emp_05
est_01
est_02
est_03
bad_01
bad_02
bad_03
iod_02
lzd_01
mtn_03
nor_01
nor_02
vmp_01
vmp_02




Sun_colour_scale='______'
= The brightness or range of the light coming from the sun. You can try different values but normally it's between 10,000 - 100,000

Sky_colour_scale='_________'
=The brightness of the sky, and brightness the sky emits on the rest of the map. Values normally between 40,000-300,000

Dynamic_light_scale='_____'
= the power/brightness of other lightsources (lamps, torches, fires, also some underground maps have spotlights on units, this is also affected. Normally this is set to 0.25 (25%)

lut_texture_file='______'
= Probably the most important one, this changes the overall tone of the lighting in the map. The different values are:

Brightness, Contrast, and Saturation
= Pretty self-explanatory

Fog density='______'
= The density of fog in the distance, lowering this value will allow you to see clearer maps

height_top='_____'
= the height of fog in the map

height_density='______'
= the density of the fog in the map (different from distance fog)

definition_name='_______'
=The type of weather in the map. The different types can be found in weather_definitions file in PFM. For example:
'rain stormy'
'rain gusty'
'dry breezy'
'ash'
'snow gusty'
etc..
Should have no effect on gameplay, it's just particle effects for snow/rain/ash

sun_scale='______' and sun_flare
= the scale of the sun and sun flare (not lighting, this is the literal sun itself) Values are normally between 0.1 and 0.4

You can also alternate between sundisk1.dds and moondisk1.dds, by default there are no actual textures in the game for either, so you will have to create, or import one if you wish to have a texture.

render_skydome='false/true'
= True/False depending on if you want the sun/moon to be visible or not. (sun scale must have a value greater than 0.0 for it to appear)


That's mainly it. There are other values you can mess around with but i found them not worth the time.

EDIT*
I recommend using RPFM so you can search for these values since they are not highlighted above

A few other values:

'materials\environment\battle_ss_snow.xml.material'>
and
'materials\environment\battle_ss_sand.xml.material'>

Used to add snow or sand. Add the above after 'post process=' on the top of the file to enable snow textures in the map

snowing_Intensity=0.0000
This normally is set to 0. If you have snow or sandenabled as post_process, this decides how intense the snow is.
0.2 = light snow on textures
0.4 = medium snow
0.6 + = full snow, basically the whole map will be covered white

deep_water_colour & shallow_water_colour
Affects the color of both deep water and shallow water. I recommend leaving this untouched..

<tone_mapping serialise_version='1' brightness='0.680000' burn='0.100000' enabled='true'/>
The Brightness will edit the entire brightness of all lighting in the map. The Burn applies a sort of exposure brightness to certain areas, mainly the skybox. Values normally between 0.5 - 1.0 (brightness) and 0.05 - 1.0 (burn)











Possibilities
With the different amount of things you can change and the options there are nearly endless possibilities of what you can do, heres just a quick example changing the sky, lighting texture file, and weather effects



------If there are things that others think should be added to this guide, let me know. I have other details i could probably share, but since few people edit environments, and even fewer see this guide, i'll only put the effort if someone requests it.
14 Comments
Mr RocknRoll Jul 17, 2022 @ 9:39am 
These are all really awesome and I love all the hard work you put into this. There is a mod that naturally changes weather/day/night cycles in the workshop though. This may have more variety though. Either way, Nice work. Horned rat is pleased yes-yes. :WHII_Death:
Dakuwan Apr 7, 2022 @ 12:43pm 
Nice work, hoping to see you in WH3.
Oblivious  [author] Mar 1, 2021 @ 6:50pm 
@John Matrix
1 : Not that i know of. It's a matter of playing and testing. I worked on my mod for a long time, i eventually stopped using custom battles to test, i instead played campaigns and i would autosave before every battle. If i didn't like the environment in that battle, i would look for it in the files.

The good thing about testing it through the campaign is that once you autosave before a battle that battle will always use the same environment, so you can exit the game and load that save again and see your changes.

2 : you can test creep environments through the campaign, or you can copy-paste the environment into another environment temporarily (for example copy everything in vmp_01 into emp_01, and see it in custom battles. Then replace emp_01 with the original or whatever you want.

3 : Yeah it's a bit confusing at first, there's vmp and vam, brt and bret, grn and bad. The easy way to remember is just look at the other files.
John Matrix Mar 1, 2021 @ 4:58pm 
Thank you!
I do have a couple of more questions (i know, i know...).
What does the clear_distance value do?

There are a lot of campaign-only maps that don't appear in the Custom Battle menu. During a campaign, are these maps assigned to a randomized set of environments for that given area? For example, you say Norsca uses only 2 out of 7 environments. Is there any way to know how many environments are random Lustria maps assigned to?

Also, are the creep.environments the corruption lighting (i.e. Chaos/vamp/Skaven corruption)? Can you only test these during a campaign?

Finally, the skybox file name is a bit confusing. vmp_ should also be changed to vam_. However, if you check the skyboxes in the weather folder (your screenshot above), the names correspond to the previous ones you had written down. Bit weird. To make things more confusing, lua_texture files use grn, brt, vmp...

Anyways, thanks a lot man! You have been extremely helpful, and im really grateful!
Oblivious  [author] Mar 1, 2021 @ 4:05pm 
@John Matrix You're right, i probably wrote down those without thinking. it's bad_01 instead of grn_01, etc.

I think some of the other lighting modders have changed battles_tables to change which maps have which environments. I don't have much experience with that because my main concern when making my mod was the campaign. I only used custom battles to test what the lighting looked like, and as far as i know there is no way to change which maps in the campaign use which environments, so your only option there is to edit the environments.

All the maps use a environment file, even if you can't find it in battles_tables. The trick is to figure out which one. The easiest way is to memorize what the skyboxes look like, so if you launch a lizard map, and see a yellow sky, you know it's probably going to be a lzd_environment with the lzd_01 sky.
John Matrix Mar 1, 2021 @ 1:51pm 
Finally, some maps like Lyonesse coast, Sword of Torgald and Wintertooth Crown have no battle_environment associated. Does this mean these cant be changed?

In general is it possible to modify what environments are associated with what maps in the battles_tables?

Another thing i noticed, is it appears that skyboxes have different file names compared to what can be found in the skybox map and here on your page.
For example, Bretonnia skyboxes should be written as bret_01, bret_02 ecc., instead of brt_01. Similarly, badland skyboxes should be written as bad_01, bad_02 instead of grn_01.
Its weird because in the skyboxes, the file names are just like the ones on this page. However, if i write them that way, i get missing skybox when i launch the map.
John Matrix Mar 1, 2021 @ 1:42pm 
Hey Oblivious! So i've started to get the hang of it by now, and i started to figure out some weird things too.
For example, yes Plaque of Sotek uses wh_tehenhuain environment, however it's randomized if you launch it from the Custom Battle as you said, but you actually never get wh_tehenhuain environment (i tried loading it a lot of times). To test it i have to launch the Quest Battle.
Kroak is another weird one. In battles_tables its lzd_02, and it is so in Custom Battles. However, when you launch the Quest Battle, it's actually using the "kroak.environment" file. This file is totally absent from the battles_tables, and can be found only in the weathers folder.
I noticed there's also plenty of other environment files that are not associated to anything in the battles_tables and are completely absent.
Oblivious  [author] Feb 28, 2021 @ 3:55pm 
I looked at Plaque of sotek in custom battle, it looks like it is one the maps that uses multiple environments, i launched it twice and got 2 different environments. This is the time consuming part of doing this, sometimes you have to launch maps over and over and figure out what environment you're looking at.
Oblivious  [author] Feb 28, 2021 @ 3:30pm 
@John Matrix Did you change anything in battles_tables? on my pfm it shows plaque of sotek is wh_tehenhuain environment. It also shows kroaks temple is lzd_02

How did you find that plaque of sotek was lzd_01 for quest battle? in my experience the battles_tables is not accurate with quest battles, only custom battles. But even then there are some maps in custom battles that are not 100% accurate, or they might use multiple environments. So if you launch for example Altdorf map, it might use emp_01, then the second time emp_03, most of them don't do this though.
John Matrix Feb 28, 2021 @ 6:02am 
@Oblivious Thanks for the quick reply!
However, it's still unclear to me. Certain maps have completely different lighting if you launch them as a "Quest Battle" or a Custom Battle. For example, Plaque of Sotek and Kroak's temple have Lzd_01 sky in PFM, and they do so when i launch the Quest Battle. However, when i launch these same maps as Custom Battle they have different skyboxes and lighting. So the changes i make in PFM are only visible on the Quest Battle version of the map.

The Custom Battle version is using a completely different lighting setup, while the Quest Battle version is locked to what i see in PFM. There's several other examples, like Oak of Ages.
Skjold is another example but with an opposite situation. In PFM it has iod_02 sky. In thise case, i do see the iod_02 sky from the Custom Battle menu map, but when i launch Aranessa's quest battle that is on the same map it has a completely different sky.
Would you have any idea of whats up?
Thanks a lot for your help!