diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/camel.xml b/binaries/data/mods/public/audio/actor/fauna/animal/camel.xml
index b37909dddf..8adb2dade3 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/camel.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/camel.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- camel_10.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ camel_10.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/chickens.xml b/binaries/data/mods/public/audio/actor/fauna/animal/chickens.xml
index 6569740429..1f841d4296 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/chickens.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/chickens.xml
@@ -1,17 +1,17 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- chicken_13.ogg
- chicken_10.ogg
- chicken_11.ogg
- chicken_12.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ chicken_13.ogg
+ chicken_10.ogg
+ chicken_11.ogg
+ chicken_12.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_attack.xml b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_attack.xml
index db98cb4ff9..818c6163ed 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_attack.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_attack.xml
@@ -1,25 +1,25 @@
-
-
- 0.75
- 100
- 1
- 0
- 0
- 0
- 0.75
- 0.5
- 0
- 5
- audio/actor/fauna/animal
- elephant_attack1.ogg
- elephant_attack2.ogg
- elephant_attack3.ogg
- elephant_order1.ogg
- elephant_order2.ogg
- elephant_select1.ogg
- elephant_select2.ogg
- elephant_order1.ogg
- elephant_order2.ogg
- elephant_select1.ogg
- elephant_select2.ogg
-
+
+
+ 0.75
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.75
+ 0.5
+ 0
+ 5
+ audio/actor/fauna/animal
+ elephant_attack1.ogg
+ elephant_attack2.ogg
+ elephant_attack3.ogg
+ elephant_order1.ogg
+ elephant_order2.ogg
+ elephant_select1.ogg
+ elephant_select2.ogg
+ elephant_order1.ogg
+ elephant_order2.ogg
+ elephant_select1.ogg
+ elephant_select2.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_death.xml b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_death.xml
index 131d68b07c..db9124ff67 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_death.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_death.xml
@@ -1,15 +1,15 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- elephant_death1.ogg
- elephant_death2.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ elephant_death1.ogg
+ elephant_death2.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_order.xml b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_order.xml
index 09ed8c50e1..7a62f10bce 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_order.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_order.xml
@@ -1,15 +1,15 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- elephant_order1.ogg
- elephant_order2.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ elephant_order1.ogg
+ elephant_order2.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_select.xml b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_select.xml
index ae9aa6c110..17a1b4d763 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_select.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_select.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- elephant_select1.ogg
- elephant_select2.ogg
-
+
+
+ 1
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ elephant_select1.ogg
+ elephant_select2.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_trained.xml b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_trained.xml
index 8484ba61fd..ddf8c48973 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/elephant_trained.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/elephant_trained.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- elephant_trained1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ elephant_trained1.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/goat.xml b/binaries/data/mods/public/audio/actor/fauna/animal/goat.xml
index 86e0afb402..d9fc3934c9 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/goat.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/goat.xml
@@ -1,19 +1,19 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- goat_15.ogg
- goat_10.ogg
- goat_11.ogg
- goat_12.ogg
- goat_13.ogg
- goat_14.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ goat_15.ogg
+ goat_10.ogg
+ goat_11.ogg
+ goat_12.ogg
+ goat_13.ogg
+ goat_14.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/horse_attack.xml b/binaries/data/mods/public/audio/actor/fauna/animal/horse_attack.xml
index 191f46aa9a..88b056d88f 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/horse_attack.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/horse_attack.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- horse_attack1.ogg
- horse_attack2.ogg
- horse_attack3.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ horse_attack1.ogg
+ horse_attack2.ogg
+ horse_attack3.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/horse_death.xml b/binaries/data/mods/public/audio/actor/fauna/animal/horse_death.xml
index 01f21a3226..3d86c56c50 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/horse_death.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/horse_death.xml
@@ -1,15 +1,15 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- horse_death1.ogg
- horse_death2.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ horse_death1.ogg
+ horse_death2.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/horse_order.xml b/binaries/data/mods/public/audio/actor/fauna/animal/horse_order.xml
index fba14d8130..d1c1afe773 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/horse_order.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/horse_order.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- horse_idle1.ogg
- horse_idle2.ogg
- horse_idle3.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ horse_idle1.ogg
+ horse_idle2.ogg
+ horse_idle3.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/horse_select.xml b/binaries/data/mods/public/audio/actor/fauna/animal/horse_select.xml
index 9a3037d52c..93848695ab 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/horse_select.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/horse_select.xml
@@ -1,17 +1,17 @@
-
-
- 1
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- horse_select1.ogg
- horse_select2.ogg
- horse_select3.ogg
-
+
+
+ 1
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ horse_select1.ogg
+ horse_select2.ogg
+ horse_select3.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/horse_trained.xml b/binaries/data/mods/public/audio/actor/fauna/animal/horse_trained.xml
index fba14d8130..d1c1afe773 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/horse_trained.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/horse_trained.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- horse_idle1.ogg
- horse_idle2.ogg
- horse_idle3.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ horse_idle1.ogg
+ horse_idle2.ogg
+ horse_idle3.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/lion_attack.xml b/binaries/data/mods/public/audio/actor/fauna/animal/lion_attack.xml
index 00b46d969f..d36c83a7c6 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/lion_attack.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/lion_attack.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 80
- 1
- 1
- 0
- 0
- 0.8
- 0.6
- 0
- 5
- audio/actor/fauna/animal
- lion_attack1.ogg
- lion_attack2.ogg
-
+
+
+ 1
+ 80
+ 1
+ 1
+ 0
+ 0
+ 0.8
+ 0.6
+ 0
+ 5
+ audio/actor/fauna/animal
+ lion_attack1.ogg
+ lion_attack2.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/lion_select.xml b/binaries/data/mods/public/audio/actor/fauna/animal/lion_select.xml
index 2c0e93fe01..d04f80bfa3 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/lion_select.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/lion_select.xml
@@ -1,15 +1,15 @@
-
-
- 1
- 80
- 1
- 0
- 0
- 0
- 0.8
- 0.6
- 0
- 5
- audio/actor/fauna/animal
- lion_select1.ogg
-
+
+
+ 1
+ 80
+ 1
+ 0
+ 0
+ 0
+ 0.8
+ 0.6
+ 0
+ 5
+ audio/actor/fauna/animal
+ lion_select1.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/pig.xml b/binaries/data/mods/public/audio/actor/fauna/animal/pig.xml
index 3179a6669a..400982fc0b 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/pig.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/pig.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- pig_12.ogg
- pig_10.ogg
- pig_11.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ pig_12.ogg
+ pig_10.ogg
+ pig_11.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/animal/sheep.xml b/binaries/data/mods/public/audio/actor/fauna/animal/sheep.xml
index be2cd04dbf..9fb065c89c 100644
--- a/binaries/data/mods/public/audio/actor/fauna/animal/sheep.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/animal/sheep.xml
@@ -1,15 +1,15 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/animal
- sheep_11.ogg
- sheep_10.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/animal
+ sheep_11.ogg
+ sheep_10.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/death/death_animal_gen.xml b/binaries/data/mods/public/audio/actor/fauna/death/death_animal_gen.xml
index 9971e56dfa..49100206d7 100644
--- a/binaries/data/mods/public/audio/actor/fauna/death/death_animal_gen.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/death/death_animal_gen.xml
@@ -1,17 +1,17 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 1
- 0
- 0
- 1.01
- 0.99
- 0
- audio/actor/fauna/death/
- Animal_death_generic_12.ogg
- Animal_death_generic_13.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 1.01
+ 0.99
+ 0
+ audio/actor/fauna/death/
+ Animal_death_generic_12.ogg
+ Animal_death_generic_13.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/death/death_camel.xml b/binaries/data/mods/public/audio/actor/fauna/death/death_camel.xml
index 5597b3cb6f..37c9acd56c 100644
--- a/binaries/data/mods/public/audio/actor/fauna/death/death_camel.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/death/death_camel.xml
@@ -1,15 +1,15 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 1
- 0
- 0
- 0
- audio/actor/fauna/death/
- death_camel_10.ogg
- death_camel_10.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ audio/actor/fauna/death/
+ death_camel_10.ogg
+ death_camel_10.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/death/death_horse.xml b/binaries/data/mods/public/audio/actor/fauna/death/death_horse.xml
index 5ebfab8ab1..3be2568a70 100644
--- a/binaries/data/mods/public/audio/actor/fauna/death/death_horse.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/death/death_horse.xml
@@ -1,19 +1,19 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 1
- 0
- 0
- 1.01
- 0.99
- 0
- audio/actor/fauna/death/
- death_horse_10.ogg
- death_horse_11.ogg
- death_horse_12.ogg
- death_horse_13.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 1.01
+ 0.99
+ 0
+ audio/actor/fauna/death/
+ death_horse_10.ogg
+ death_horse_11.ogg
+ death_horse_12.ogg
+ death_horse_13.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/death/goat_death.xml b/binaries/data/mods/public/audio/actor/fauna/death/goat_death.xml
index 2602402c7f..c6dd8307f4 100644
--- a/binaries/data/mods/public/audio/actor/fauna/death/goat_death.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/death/goat_death.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/fauna/death/
- death_goat_11.ogg
- death_goat_10.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/fauna/death/
+ death_goat_11.ogg
+ death_goat_10.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/fauna/movement/camel.xml b/binaries/data/mods/public/audio/actor/fauna/movement/camel.xml
index d417fd5eaa..2112e87e2a 100644
--- a/binaries/data/mods/public/audio/actor/fauna/movement/camel.xml
+++ b/binaries/data/mods/public/audio/actor/fauna/movement/camel.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 0
- 0.9
- 0
- 5
- audio/actor/fauna/movement
- camel_10.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 0
+ 0.9
+ 0
+ 5
+ audio/actor/fauna/movement
+ camel_10.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/gate/stonegate_close.xml b/binaries/data/mods/public/audio/actor/gate/stonegate_close.xml
index 538f217f6b..d5f48e34a0 100644
--- a/binaries/data/mods/public/audio/actor/gate/stonegate_close.xml
+++ b/binaries/data/mods/public/audio/actor/gate/stonegate_close.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/gate
- stonegate_close_21.ogg
- stonegate_close_22.ogg
-
+
+
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/gate
+ stonegate_close_21.ogg
+ stonegate_close_22.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/gate/stonegate_open.xml b/binaries/data/mods/public/audio/actor/gate/stonegate_open.xml
index ce653da984..34033271f0 100644
--- a/binaries/data/mods/public/audio/actor/gate/stonegate_open.xml
+++ b/binaries/data/mods/public/audio/actor/gate/stonegate_open.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/gate
- stonegate_open_21.ogg
- stonegate_open_22.ogg
-
+
+
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/gate
+ stonegate_open_21.ogg
+ stonegate_open_22.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/human/death/female_death.xml b/binaries/data/mods/public/audio/actor/human/death/female_death.xml
index 0ddb918317..b7eb6f79c6 100644
--- a/binaries/data/mods/public/audio/actor/human/death/female_death.xml
+++ b/binaries/data/mods/public/audio/actor/human/death/female_death.xml
@@ -1,25 +1,25 @@
-
-
- 0.9
- 100
- 1
- 0
- 1
- 0.9
- 0.7
- 1
- 10
- audio/actor/human/death/
- female_death_01.ogg
- female_death_02.ogg
- female_death_03.ogg
- female_death_04.ogg
- female_death_05.ogg
- female_death_06.ogg
- female_death_07.ogg
- female_death_08.ogg
- female_death_09.ogg
- female_death_10.ogg
- female_death_11.ogg
- female_death_12.ogg
-
+
+
+ 0.9
+ 100
+ 1
+ 0
+ 1
+ 0.9
+ 0.7
+ 1
+ 10
+ audio/actor/human/death/
+ female_death_01.ogg
+ female_death_02.ogg
+ female_death_03.ogg
+ female_death_04.ogg
+ female_death_05.ogg
+ female_death_06.ogg
+ female_death_07.ogg
+ female_death_08.ogg
+ female_death_09.ogg
+ female_death_10.ogg
+ female_death_11.ogg
+ female_death_12.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/human/death/male_death.xml b/binaries/data/mods/public/audio/actor/human/death/male_death.xml
index 386d325467..e6f680f369 100644
--- a/binaries/data/mods/public/audio/actor/human/death/male_death.xml
+++ b/binaries/data/mods/public/audio/actor/human/death/male_death.xml
@@ -1,23 +1,23 @@
-
-
- 0.5
- 100
- 1
- 0
- 1
- 0
- 0.5
- 0
- 1
- 1.0
- 0.8
- 10
- audio/actor/human/death/
- death_18.ogg
- death_11.ogg
- death_13.ogg
- death_14.ogg
- death_15.ogg
- death_16.ogg
- death_17.ogg
-
+
+
+ 0.5
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0.5
+ 0
+ 1
+ 1.0
+ 0.8
+ 10
+ audio/actor/human/death/
+ death_18.ogg
+ death_11.ogg
+ death_13.ogg
+ death_14.ogg
+ death_15.ogg
+ death_16.ogg
+ death_17.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/human/movement/run.xml b/binaries/data/mods/public/audio/actor/human/movement/run.xml
index 1c219ccb18..c6664fd62c 100644
--- a/binaries/data/mods/public/audio/actor/human/movement/run.xml
+++ b/binaries/data/mods/public/audio/actor/human/movement/run.xml
@@ -1,17 +1,17 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- .5
- 0
- 0
- 1.0
- 1.0
- 10
- audio/actor/human/movement/
- hstep_run_dirt_MN_11.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ .5
+ 0
+ 0
+ 1.0
+ 1.0
+ 10
+ audio/actor/human/movement/
+ hstep_run_dirt_MN_11.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/human/movement/walk.xml b/binaries/data/mods/public/audio/actor/human/movement/walk.xml
index 0fc65539e3..4e7b0eea77 100644
--- a/binaries/data/mods/public/audio/actor/human/movement/walk.xml
+++ b/binaries/data/mods/public/audio/actor/human/movement/walk.xml
@@ -1,17 +1,17 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- .5
- 0
- 0
- 1.0
- 1.0
- 10
- audio/actor/human/movement/
- hstep_dirt_MN_13.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ .5
+ 0
+ 0
+ 1.0
+ 1.0
+ 10
+ audio/actor/human/movement/
+ hstep_dirt_MN_13.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/mounted/death/death_mounted.xml b/binaries/data/mods/public/audio/actor/mounted/death/death_mounted.xml
index db9fd9e214..e53002ea25 100644
--- a/binaries/data/mods/public/audio/actor/mounted/death/death_mounted.xml
+++ b/binaries/data/mods/public/audio/actor/mounted/death/death_mounted.xml
@@ -1,17 +1,17 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 1
- 0
- 1
- 0.5
- 0
- 0
- audio/actor/mounted/death/
- death_horse_11.ogg
- death_horse_10.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 0.5
+ 0
+ 0
+ audio/actor/mounted/death/
+ death_horse_11.ogg
+ death_horse_10.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/mounted/movement/walk.xml b/binaries/data/mods/public/audio/actor/mounted/movement/walk.xml
index dbc5b4b948..fcfcb9b963 100644
--- a/binaries/data/mods/public/audio/actor/mounted/movement/walk.xml
+++ b/binaries/data/mods/public/audio/actor/mounted/movement/walk.xml
@@ -1,22 +1,22 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- .5
- 0
- 0
- 1.0
- 1.0
- 10
- audio/actor/mounted/movement/
- mstep110.ogg
- mstep111.ogg
- mstep112.ogg
- mstep113.ogg
- mstep114.ogg
- mstep115.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ .5
+ 0
+ 0
+ 1.0
+ 1.0
+ 10
+ audio/actor/mounted/movement/
+ mstep110.ogg
+ mstep111.ogg
+ mstep112.ogg
+ mstep113.ogg
+ mstep114.ogg
+ mstep115.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/ship/boat_move.xml b/binaries/data/mods/public/audio/actor/ship/boat_move.xml
index aa197a32d8..3318383086 100644
--- a/binaries/data/mods/public/audio/actor/ship/boat_move.xml
+++ b/binaries/data/mods/public/audio/actor/ship/boat_move.xml
@@ -1,15 +1,15 @@
-
-
- 0.5
- 100
- 1
- 0
- 1
- 1
- 0.2
- 0.1
- 1
- 1
- audio/actor/ship
- ship_move.ogg
-
+
+
+ 0.5
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.2
+ 0.1
+ 1
+ 1
+ audio/actor/ship
+ ship_move.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/ship/ship_move.xml b/binaries/data/mods/public/audio/actor/ship/ship_move.xml
index 8eadaa3a55..31cb23fed8 100644
--- a/binaries/data/mods/public/audio/actor/ship/ship_move.xml
+++ b/binaries/data/mods/public/audio/actor/ship/ship_move.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/ship
- ship_move.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/ship
+ ship_move.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/ship/ship_select.xml b/binaries/data/mods/public/audio/actor/ship/ship_select.xml
index a3a11c0ca4..2cf7ec2183 100644
--- a/binaries/data/mods/public/audio/actor/ship/ship_select.xml
+++ b/binaries/data/mods/public/audio/actor/ship/ship_select.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/ship
- smove_21.ogg
-
+
+
+ 1
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/ship
+ smove_21.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/ship/warship_death.xml b/binaries/data/mods/public/audio/actor/ship/warship_death.xml
index 7115deb95b..0ea55531f8 100644
--- a/binaries/data/mods/public/audio/actor/ship/warship_death.xml
+++ b/binaries/data/mods/public/audio/actor/ship/warship_death.xml
@@ -1,17 +1,17 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.0
- 0.8
- 10
- audio/actor/ship/
- warship_death_01.ogg
- warship_death_02.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.0
+ 0.8
+ 10
+ audio/actor/ship/
+ warship_death_01.ogg
+ warship_death_02.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/singlesteps/steps_grass.xml b/binaries/data/mods/public/audio/actor/singlesteps/steps_grass.xml
index d511c4ca32..f997b14314 100644
--- a/binaries/data/mods/public/audio/actor/singlesteps/steps_grass.xml
+++ b/binaries/data/mods/public/audio/actor/singlesteps/steps_grass.xml
@@ -1,20 +1,20 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/singlesteps
- fs_grass8.ogg
- fs_grass1.ogg
- fs_grass2.ogg
- fs_grass3.ogg
- fs_grass4.ogg
- fs_grass5.ogg
- fs_grass6.ogg
- fs_grass7.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/singlesteps
+ fs_grass8.ogg
+ fs_grass1.ogg
+ fs_grass2.ogg
+ fs_grass3.ogg
+ fs_grass4.ogg
+ fs_grass5.ogg
+ fs_grass6.ogg
+ fs_grass7.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/singlesteps/steps_gravel.xml b/binaries/data/mods/public/audio/actor/singlesteps/steps_gravel.xml
index aa0344e1be..39cb357e61 100644
--- a/binaries/data/mods/public/audio/actor/singlesteps/steps_gravel.xml
+++ b/binaries/data/mods/public/audio/actor/singlesteps/steps_gravel.xml
@@ -1,20 +1,20 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/singlesteps
- fs_gravel8.ogg
- fs_gravel1.ogg
- fs_gravel2.ogg
- fs_gravel3.ogg
- fs_gravel4.ogg
- fs_gravel5.ogg
- fs_gravel6.ogg
- fs_gravel7.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/singlesteps
+ fs_gravel8.ogg
+ fs_gravel1.ogg
+ fs_gravel2.ogg
+ fs_gravel3.ogg
+ fs_gravel4.ogg
+ fs_gravel5.ogg
+ fs_gravel6.ogg
+ fs_gravel7.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/singlesteps/steps_rock.xml b/binaries/data/mods/public/audio/actor/singlesteps/steps_rock.xml
index 9cfb2549a8..293ae0f023 100644
--- a/binaries/data/mods/public/audio/actor/singlesteps/steps_rock.xml
+++ b/binaries/data/mods/public/audio/actor/singlesteps/steps_rock.xml
@@ -1,20 +1,20 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/singlesteps
- fs_rock8.ogg
- fs_rock1.ogg
- fs_rock2.ogg
- fs_rock3.ogg
- fs_rock4.ogg
- fs_rock5.ogg
- fs_rock6.ogg
- fs_rock7.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/singlesteps
+ fs_rock8.ogg
+ fs_rock1.ogg
+ fs_rock2.ogg
+ fs_rock3.ogg
+ fs_rock4.ogg
+ fs_rock5.ogg
+ fs_rock6.ogg
+ fs_rock7.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/singlesteps/steps_sand.xml b/binaries/data/mods/public/audio/actor/singlesteps/steps_sand.xml
index fc43984a23..a6fd23e5f2 100644
--- a/binaries/data/mods/public/audio/actor/singlesteps/steps_sand.xml
+++ b/binaries/data/mods/public/audio/actor/singlesteps/steps_sand.xml
@@ -1,20 +1,20 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/singlesteps
- fs_sand8.ogg
- fs_sand1.ogg
- fs_sand2.ogg
- fs_sand3.ogg
- fs_sand4.ogg
- fs_sand5.ogg
- fs_sand6.ogg
- fs_sand7.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/singlesteps
+ fs_sand8.ogg
+ fs_sand1.ogg
+ fs_sand2.ogg
+ fs_sand3.ogg
+ fs_sand4.ogg
+ fs_sand5.ogg
+ fs_sand6.ogg
+ fs_sand7.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/singlesteps/steps_snow.xml b/binaries/data/mods/public/audio/actor/singlesteps/steps_snow.xml
index e98c4592cc..3e70f81d77 100644
--- a/binaries/data/mods/public/audio/actor/singlesteps/steps_snow.xml
+++ b/binaries/data/mods/public/audio/actor/singlesteps/steps_snow.xml
@@ -1,20 +1,20 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/singlesteps
- fs_snow_18.ogg
- fs_snow_11.ogg
- fs_snow_12.ogg
- fs_snow_13.ogg
- fs_snow_14.ogg
- fs_snow_15.ogg
- fs_snow_16.ogg
- fs_snow_17.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/singlesteps
+ fs_snow_18.ogg
+ fs_snow_11.ogg
+ fs_snow_12.ogg
+ fs_snow_13.ogg
+ fs_snow_14.ogg
+ fs_snow_15.ogg
+ fs_snow_16.ogg
+ fs_snow_17.ogg
+
diff --git a/binaries/data/mods/public/audio/actor/singlesteps/steps_wood.xml b/binaries/data/mods/public/audio/actor/singlesteps/steps_wood.xml
index 881c640efe..e9d35a64c5 100644
--- a/binaries/data/mods/public/audio/actor/singlesteps/steps_wood.xml
+++ b/binaries/data/mods/public/audio/actor/singlesteps/steps_wood.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/singlesteps
- fs_wood4.ogg
- fs_wood1.ogg
- fs_wood2.ogg
- fs_wood3.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/singlesteps
+ fs_wood4.ogg
+ fs_wood1.ogg
+ fs_wood2.ogg
+ fs_wood3.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/building/amb_farm.xml b/binaries/data/mods/public/audio/ambient/building/amb_farm.xml
index 98e6a8b084..526225895d 100644
--- a/binaries/data/mods/public/audio/ambient/building/amb_farm.xml
+++ b/binaries/data/mods/public/audio/ambient/building/amb_farm.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 50
- 1
- 1
- 1
- 1
- 1
- 2
- audio/ambient/building/
- amb_farm_13.ogg
- amb_farm_10.ogg
- amb_farm_11.ogg
- amb_farm_12.ogg
-
+
+
+ 1
+ 50
+ 1
+ 1
+ 1
+ 1
+ 1
+ 2
+ audio/ambient/building/
+ amb_farm_13.ogg
+ amb_farm_10.ogg
+ amb_farm_11.ogg
+ amb_farm_12.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/building/amb_port.xml b/binaries/data/mods/public/audio/ambient/building/amb_port.xml
index 3a4e4bfb53..bcb7ff9b6e 100644
--- a/binaries/data/mods/public/audio/ambient/building/amb_port.xml
+++ b/binaries/data/mods/public/audio/ambient/building/amb_port.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 50
- 1
- 1
- 1
- 1
- 1
- 2
- audio/ambient/building/
- amb_port_21.ogg
- amb_port_10.ogg
- amb_port_11.ogg
- amb_port_12.ogg
-
+
+
+ 1
+ 50
+ 1
+ 1
+ 1
+ 1
+ 1
+ 2
+ audio/ambient/building/
+ amb_port_21.ogg
+ amb_port_10.ogg
+ amb_port_11.ogg
+ amb_port_12.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/building/amb_trade.xml b/binaries/data/mods/public/audio/ambient/building/amb_trade.xml
index c9ab86f1d5..7eb8a3c551 100644
--- a/binaries/data/mods/public/audio/ambient/building/amb_trade.xml
+++ b/binaries/data/mods/public/audio/ambient/building/amb_trade.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 50
- 1
- 1
- 1
- 1
- 1
- 2
- audio/ambient/building/
- amb_trade_13.ogg
- amb_trade_10.ogg
- amb_trade_11.ogg
- amb_trade_12.ogg
-
+
+
+ 1
+ 50
+ 1
+ 1
+ 1
+ 1
+ 1
+ 2
+ audio/ambient/building/
+ amb_trade_13.ogg
+ amb_trade_10.ogg
+ amb_trade_11.ogg
+ amb_trade_12.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/dayscape/day_temperate.xml b/binaries/data/mods/public/audio/ambient/dayscape/day_temperate.xml
index c548d462b6..d60c1500d1 100644
--- a/binaries/data/mods/public/audio/ambient/dayscape/day_temperate.xml
+++ b/binaries/data/mods/public/audio/ambient/dayscape/day_temperate.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/dayscape/
- day_temperate_14.ogg
- day_temperate_11.ogg
- day_temperate_12.ogg
- day_temperate_13.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/dayscape/
+ day_temperate_14.ogg
+ day_temperate_11.ogg
+ day_temperate_12.ogg
+ day_temperate_13.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/water/coastline_beach.xml b/binaries/data/mods/public/audio/ambient/water/coastline_beach.xml
index 0fa750dc5d..fa61189067 100644
--- a/binaries/data/mods/public/audio/ambient/water/coastline_beach.xml
+++ b/binaries/data/mods/public/audio/ambient/water/coastline_beach.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/water/
- wave_21.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/water/
+ wave_21.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/water/coastline_rocks.xml b/binaries/data/mods/public/audio/ambient/water/coastline_rocks.xml
index 17c5a9d3d6..5d9426a857 100644
--- a/binaries/data/mods/public/audio/ambient/water/coastline_rocks.xml
+++ b/binaries/data/mods/public/audio/ambient/water/coastline_rocks.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/water/
- waverocky_21.ogg
- wavecrash_21.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/water/
+ waverocky_21.ogg
+ wavecrash_21.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/water/river_fast.xml b/binaries/data/mods/public/audio/ambient/water/river_fast.xml
index a5d260acac..deaba15f25 100644
--- a/binaries/data/mods/public/audio/ambient/water/river_fast.xml
+++ b/binaries/data/mods/public/audio/ambient/water/river_fast.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/water/
- river_fast_21.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/water/
+ river_fast_21.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/water/river_med.xml b/binaries/data/mods/public/audio/ambient/water/river_med.xml
index 46702fafe2..7c0d29292d 100644
--- a/binaries/data/mods/public/audio/ambient/water/river_med.xml
+++ b/binaries/data/mods/public/audio/ambient/water/river_med.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/water/
- river_med_21.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/water/
+ river_med_21.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/water/river_slow.xml b/binaries/data/mods/public/audio/ambient/water/river_slow.xml
index 3a7869dad2..bff902f93d 100644
--- a/binaries/data/mods/public/audio/ambient/water/river_slow.xml
+++ b/binaries/data/mods/public/audio/ambient/water/river_slow.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/water/
- river_slow_21.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/water/
+ river_slow_21.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/water/waterfall.xml b/binaries/data/mods/public/audio/ambient/water/waterfall.xml
index 77afe5e1e3..faef9f4306 100644
--- a/binaries/data/mods/public/audio/ambient/water/waterfall.xml
+++ b/binaries/data/mods/public/audio/ambient/water/waterfall.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/water/
- waterfall_31.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/water/
+ waterfall_31.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/weather/rain.xml b/binaries/data/mods/public/audio/ambient/weather/rain.xml
index 64a361abaa..ed4e42f8f3 100644
--- a/binaries/data/mods/public/audio/ambient/weather/rain.xml
+++ b/binaries/data/mods/public/audio/ambient/weather/rain.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/weather/
- rain_12.ogg
- rain_11.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/weather/
+ rain_12.ogg
+ rain_11.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/weather/snow.xml b/binaries/data/mods/public/audio/ambient/weather/snow.xml
index ed696b5236..a7587ddd0b 100644
--- a/binaries/data/mods/public/audio/ambient/weather/snow.xml
+++ b/binaries/data/mods/public/audio/ambient/weather/snow.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/weather/
- snowstorm_11.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/weather/
+ snowstorm_11.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/weather/wind_gust.xml b/binaries/data/mods/public/audio/ambient/weather/wind_gust.xml
index d9134a1da8..04be8d51c9 100644
--- a/binaries/data/mods/public/audio/ambient/weather/wind_gust.xml
+++ b/binaries/data/mods/public/audio/ambient/weather/wind_gust.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/weather/
- windgust_11.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/weather/
+ windgust_11.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/weather/wind_reg.xml b/binaries/data/mods/public/audio/ambient/weather/wind_reg.xml
index bc88eced72..0e62e790fc 100644
--- a/binaries/data/mods/public/audio/ambient/weather/wind_reg.xml
+++ b/binaries/data/mods/public/audio/ambient/weather/wind_reg.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/weather/
- wind_11.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/weather/
+ wind_11.ogg
+
diff --git a/binaries/data/mods/public/audio/ambient/weather/wind_storm.xml b/binaries/data/mods/public/audio/ambient/weather/wind_storm.xml
index b6d2225940..b309db7790 100644
--- a/binaries/data/mods/public/audio/ambient/weather/wind_storm.xml
+++ b/binaries/data/mods/public/audio/ambient/weather/wind_storm.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/ambient/weather/
- windstorm_11.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/ambient/weather/
+ windstorm_11.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/destruction/building_collapse_large.xml b/binaries/data/mods/public/audio/attack/destruction/building_collapse_large.xml
index c62e149736..e03fa7856a 100644
--- a/binaries/data/mods/public/audio/attack/destruction/building_collapse_large.xml
+++ b/binaries/data/mods/public/audio/attack/destruction/building_collapse_large.xml
@@ -1,18 +1,18 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1.1
- 0.9
- 1
- 1.2
- 0.8
- 1
- audio/attack/destruction/
- building_collapse_large_01.ogg
- building_collapse_large_02.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1.1
+ 0.9
+ 1
+ 1.2
+ 0.8
+ 1
+ audio/attack/destruction/
+ building_collapse_large_01.ogg
+ building_collapse_large_02.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/destruction/explode_debris.xml b/binaries/data/mods/public/audio/attack/destruction/explode_debris.xml
index 269c9de027..3e821c89da 100644
--- a/binaries/data/mods/public/audio/attack/destruction/explode_debris.xml
+++ b/binaries/data/mods/public/audio/attack/destruction/explode_debris.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/attack/destruction/
- explode_debris_20.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/attack/destruction/
+ explode_debris_20.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/fire/crackling_fire.xml b/binaries/data/mods/public/audio/attack/fire/crackling_fire.xml
index 62c5242570..b126b6965f 100644
--- a/binaries/data/mods/public/audio/attack/fire/crackling_fire.xml
+++ b/binaries/data/mods/public/audio/attack/fire/crackling_fire.xml
@@ -1,21 +1,21 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/attack/fire/
- c_19.ogg
- c_11.ogg
- c_12.ogg
- c_13.ogg
- c_14.ogg
- c_15.ogg
- c_16.ogg
- c_17.ogg
- c_18.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/attack/fire/
+ c_19.ogg
+ c_11.ogg
+ c_12.ogg
+ c_13.ogg
+ c_14.ogg
+ c_15.ogg
+ c_16.ogg
+ c_17.ogg
+ c_18.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/fire/spreading_fire.xml b/binaries/data/mods/public/audio/attack/fire/spreading_fire.xml
index 57fbadc95d..d45286598e 100644
--- a/binaries/data/mods/public/audio/attack/fire/spreading_fire.xml
+++ b/binaries/data/mods/public/audio/attack/fire/spreading_fire.xml
@@ -1,21 +1,21 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/attack/fire/
- sp_19.ogg
- sp_11.ogg
- sp_12.ogg
- sp_13.ogg
- sp_14.ogg
- sp_15.ogg
- sp_16.ogg
- sp_17.ogg
- sp_18.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/attack/fire/
+ sp_19.ogg
+ sp_11.ogg
+ sp_12.ogg
+ sp_13.ogg
+ sp_14.ogg
+ sp_15.ogg
+ sp_16.ogg
+ sp_17.ogg
+ sp_18.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/impact/arrow_metal.xml b/binaries/data/mods/public/audio/attack/impact/arrow_metal.xml
index 9bcd82db19..d662bfa602 100644
--- a/binaries/data/mods/public/audio/attack/impact/arrow_metal.xml
+++ b/binaries/data/mods/public/audio/attack/impact/arrow_metal.xml
@@ -1,25 +1,25 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/attack/impact/
- arrowimpmetal_21.ogg
- arrowimpmetal_22.ogg
- arrowimpmetal_23.ogg
- arrowimpmetal_24.ogg
- arrowimpmetal_25.ogg
- arrowimpmetal_26.ogg
- arrowimpmetal_27.ogg
- arrowimpmetal_28.ogg
- arrowimpmetal_29.ogg
- arrowimpmetal_210.ogg
- arrowimpmetal_211.ogg
- arrowimpmetal_212.ogg
- arrowimpmetal_213.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/attack/impact/
+ arrowimpmetal_21.ogg
+ arrowimpmetal_22.ogg
+ arrowimpmetal_23.ogg
+ arrowimpmetal_24.ogg
+ arrowimpmetal_25.ogg
+ arrowimpmetal_26.ogg
+ arrowimpmetal_27.ogg
+ arrowimpmetal_28.ogg
+ arrowimpmetal_29.ogg
+ arrowimpmetal_210.ogg
+ arrowimpmetal_211.ogg
+ arrowimpmetal_212.ogg
+ arrowimpmetal_213.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/impact/shield_metal.xml b/binaries/data/mods/public/audio/attack/impact/shield_metal.xml
index 02ccc8d6a5..c0dadab6cb 100644
--- a/binaries/data/mods/public/audio/attack/impact/shield_metal.xml
+++ b/binaries/data/mods/public/audio/attack/impact/shield_metal.xml
@@ -1,27 +1,27 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/attack/impact/
- shieldimpmetal_22.ogg
- shieldimpmetal_21.ogg
- shieldimpmetal_26.ogg
- shieldimpmetal_23.ogg
- shieldimpmetal_24.ogg
- shieldimpmetal_25.ogg
- shieldimpmetal_213.ogg
- shieldimpmetal_27.ogg
- shieldimpmetal_28.ogg
- shieldimpmetal_29.ogg
- shieldimpmetal_210.ogg
- shieldimpmetal_211.ogg
- shieldimpmetal_212.ogg
- shieldimpmetal_215.ogg
- shieldimpmetal_214.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/attack/impact/
+ shieldimpmetal_22.ogg
+ shieldimpmetal_21.ogg
+ shieldimpmetal_26.ogg
+ shieldimpmetal_23.ogg
+ shieldimpmetal_24.ogg
+ shieldimpmetal_25.ogg
+ shieldimpmetal_213.ogg
+ shieldimpmetal_27.ogg
+ shieldimpmetal_28.ogg
+ shieldimpmetal_29.ogg
+ shieldimpmetal_210.ogg
+ shieldimpmetal_211.ogg
+ shieldimpmetal_212.ogg
+ shieldimpmetal_215.ogg
+ shieldimpmetal_214.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/impact/shield_wooden.xml b/binaries/data/mods/public/audio/attack/impact/shield_wooden.xml
index 0368dec28a..5f974e3970 100644
--- a/binaries/data/mods/public/audio/attack/impact/shield_wooden.xml
+++ b/binaries/data/mods/public/audio/attack/impact/shield_wooden.xml
@@ -1,28 +1,28 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/attack/impact/
- shieldimpwooden_27.ogg
- shieldimpwooden_21.ogg
- shieldimpwooden_22.ogg
- shieldimpwooden_23.ogg
- shieldimpwooden_24.ogg
- shieldimpwooden_25.ogg
- shieldimpwooden_26.ogg
- shieldimpwooden_212.ogg
- shieldimpwooden_28.ogg
- shieldimpwooden_29.ogg
- shieldimpwooden_210.ogg
- shieldimpwooden_211.ogg
- shieldimpwooden_216.ogg
- shieldimpwooden_213.ogg
- shieldimpwooden_214.ogg
- shieldimpwooden_215.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/attack/impact/
+ shieldimpwooden_27.ogg
+ shieldimpwooden_21.ogg
+ shieldimpwooden_22.ogg
+ shieldimpwooden_23.ogg
+ shieldimpwooden_24.ogg
+ shieldimpwooden_25.ogg
+ shieldimpwooden_26.ogg
+ shieldimpwooden_212.ogg
+ shieldimpwooden_28.ogg
+ shieldimpwooden_29.ogg
+ shieldimpwooden_210.ogg
+ shieldimpwooden_211.ogg
+ shieldimpwooden_216.ogg
+ shieldimpwooden_213.ogg
+ shieldimpwooden_214.ogg
+ shieldimpwooden_215.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/siege/ballist_attack.xml b/binaries/data/mods/public/audio/attack/siege/ballist_attack.xml
index ceeed29763..c8e80522f0 100644
--- a/binaries/data/mods/public/audio/attack/siege/ballist_attack.xml
+++ b/binaries/data/mods/public/audio/attack/siege/ballist_attack.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 0.9
- 0.5
- 1
- 1
- audio/attack/siege
- ballist_attack_01.ogg
- ballist_attack_02.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.9
+ 0.5
+ 1
+ 1
+ audio/attack/siege
+ ballist_attack_01.ogg
+ ballist_attack_02.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/siege/ballist_rome_attack.xml b/binaries/data/mods/public/audio/attack/siege/ballist_rome_attack.xml
index eb8ee5a842..9da4576acb 100644
--- a/binaries/data/mods/public/audio/attack/siege/ballist_rome_attack.xml
+++ b/binaries/data/mods/public/audio/attack/siege/ballist_rome_attack.xml
@@ -1,15 +1,15 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 0.7
- 0.4
- 1
- 1
- audio/attack/siege
- ballist_rome_attack_01.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.7
+ 0.4
+ 1
+ 1
+ audio/attack/siege
+ ballist_rome_attack_01.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/siege/ram_attack.xml b/binaries/data/mods/public/audio/attack/siege/ram_attack.xml
index 112ba7f1a1..9104655e88 100644
--- a/binaries/data/mods/public/audio/attack/siege/ram_attack.xml
+++ b/binaries/data/mods/public/audio/attack/siege/ram_attack.xml
@@ -1,17 +1,17 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 0.9
- 0.5
- 1
- 1.3
- 0.7
- 1
- audio/attack/siege
- ram_attack.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.9
+ 0.5
+ 1
+ 1.3
+ 0.7
+ 1
+ audio/attack/siege
+ ram_attack.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/siege/ram_attack_order.xml b/binaries/data/mods/public/audio/attack/siege/ram_attack_order.xml
index a936aceac0..c2d74f8f28 100644
--- a/binaries/data/mods/public/audio/attack/siege/ram_attack_order.xml
+++ b/binaries/data/mods/public/audio/attack/siege/ram_attack_order.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 1
- 1
- 1
- 1
- 1
- audio/attack/siege
- ram_attack_order.ogg
-
+
+
+ 1
+ 100
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ audio/attack/siege
+ ram_attack_order.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/siege/ram_move.xml b/binaries/data/mods/public/audio/attack/siege/ram_move.xml
index 9c342a1585..1ef0879d7d 100644
--- a/binaries/data/mods/public/audio/attack/siege/ram_move.xml
+++ b/binaries/data/mods/public/audio/attack/siege/ram_move.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 1
- 1
- 1
- 1
- 1
- audio/attack/siege
- ram_move.ogg
-
+
+
+ 1
+ 100
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ audio/attack/siege
+ ram_move.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/siege/siege_select.xml b/binaries/data/mods/public/audio/attack/siege/siege_select.xml
index 750d762f32..071119240a 100644
--- a/binaries/data/mods/public/audio/attack/siege/siege_select.xml
+++ b/binaries/data/mods/public/audio/attack/siege/siege_select.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/attack/siege
- siege_select_10.ogg
-
+
+
+ 1
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/attack/siege
+ siege_select_10.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/weapon/arrowfly.xml b/binaries/data/mods/public/audio/attack/weapon/arrowfly.xml
index bb89dd7008..6846362472 100644
--- a/binaries/data/mods/public/audio/attack/weapon/arrowfly.xml
+++ b/binaries/data/mods/public/audio/attack/weapon/arrowfly.xml
@@ -1,28 +1,28 @@
-
-
- .3
- 100
- 1
- 0
- 1
- 1
- 0.5
- 0.4
- 1
- 1.2
- 0.8
- 100
- audio/attack/weapon/
- arrowfly_28.ogg
- arrowfly_20.ogg
- arrowfly_21.ogg
- arrowfly_22.ogg
- arrowfly_23.ogg
- arrowfly_24.ogg
- arrowfly_25.ogg
- arrowfly_26.ogg
- arrowfly_27.ogg
- arrowfly_211.ogg
- arrowfly_29.ogg
- arrowfly_210.ogg
-
+
+
+ .3
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.5
+ 0.4
+ 1
+ 1.2
+ 0.8
+ 100
+ audio/attack/weapon/
+ arrowfly_28.ogg
+ arrowfly_20.ogg
+ arrowfly_21.ogg
+ arrowfly_22.ogg
+ arrowfly_23.ogg
+ arrowfly_24.ogg
+ arrowfly_25.ogg
+ arrowfly_26.ogg
+ arrowfly_27.ogg
+ arrowfly_211.ogg
+ arrowfly_29.ogg
+ arrowfly_210.ogg
+
diff --git a/binaries/data/mods/public/audio/attack/weapon/sword.xml b/binaries/data/mods/public/audio/attack/weapon/sword.xml
index 5ee7131acb..1c9fdf8565 100644
--- a/binaries/data/mods/public/audio/attack/weapon/sword.xml
+++ b/binaries/data/mods/public/audio/attack/weapon/sword.xml
@@ -1,39 +1,39 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/attack/weapon/
- swordhit_12a.ogg
- swordhit_10.ogg
- swordhit_10a.ogg
- swordhit_11.ogg
- swordhit_11a.ogg
- swordhit_11b.ogg
- swordhit_12.ogg
- swordhit_15.ogg
- swordhit_12b.ogg
- swordhit_13.ogg
- swordhit_13a.ogg
- swordhit_13b.ogg
- swordhit_14.ogg
- swordhit_14a.ogg
- swordhit_14b.ogg
- swordhit_18.ogg
- swordhit_15a.ogg
- swordhit_15b.ogg
- swordhit_16.ogg
- swordhit_16a.ogg
- swordhit_16b.ogg
- swordhit_17.ogg
- swordhit_17a.ogg
- swordhit_17b.ogg
- swordhit_19a.ogg
- swordhit_18a.ogg
- swordhit_19.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/attack/weapon/
+ swordhit_12a.ogg
+ swordhit_10.ogg
+ swordhit_10a.ogg
+ swordhit_11.ogg
+ swordhit_11a.ogg
+ swordhit_11b.ogg
+ swordhit_12.ogg
+ swordhit_15.ogg
+ swordhit_12b.ogg
+ swordhit_13.ogg
+ swordhit_13a.ogg
+ swordhit_13b.ogg
+ swordhit_14.ogg
+ swordhit_14a.ogg
+ swordhit_14b.ogg
+ swordhit_18.ogg
+ swordhit_15a.ogg
+ swordhit_15b.ogg
+ swordhit_16.ogg
+ swordhit_16a.ogg
+ swordhit_16b.ogg
+ swordhit_17.ogg
+ swordhit_17a.ogg
+ swordhit_17b.ogg
+ swordhit_19a.ogg
+ swordhit_18a.ogg
+ swordhit_19.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_grass_left.xml b/binaries/data/mods/public/audio/groups/fs_grass_left.xml
index dfc7f63edc..50cef498b1 100644
--- a/binaries/data/mods/public/audio/groups/fs_grass_left.xml
+++ b/binaries/data/mods/public/audio/groups/fs_grass_left.xml
@@ -1,18 +1,18 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_grass7.ogg
- fs_grass1.ogg
- fs_grass3.ogg
- fs_grass5.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_grass7.ogg
+ fs_grass1.ogg
+ fs_grass3.ogg
+ fs_grass5.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_grass_right.xml b/binaries/data/mods/public/audio/groups/fs_grass_right.xml
index d430386e24..0beb18bd19 100644
--- a/binaries/data/mods/public/audio/groups/fs_grass_right.xml
+++ b/binaries/data/mods/public/audio/groups/fs_grass_right.xml
@@ -1,18 +1,18 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_grass8.ogg
- fs_grass6.ogg
- fs_grass4.ogg
- fs_grass2.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_grass8.ogg
+ fs_grass6.ogg
+ fs_grass4.ogg
+ fs_grass2.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_gravel_left.xml b/binaries/data/mods/public/audio/groups/fs_gravel_left.xml
index 7fd70ed260..920f753263 100644
--- a/binaries/data/mods/public/audio/groups/fs_gravel_left.xml
+++ b/binaries/data/mods/public/audio/groups/fs_gravel_left.xml
@@ -1,18 +1,18 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_gravel1.ogg
- fs_gravel3.ogg
- fs_gravel5.ogg
- fs_gravel7.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_gravel1.ogg
+ fs_gravel3.ogg
+ fs_gravel5.ogg
+ fs_gravel7.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_gravel_right.xml b/binaries/data/mods/public/audio/groups/fs_gravel_right.xml
index c241f1f3d3..3c47d36451 100644
--- a/binaries/data/mods/public/audio/groups/fs_gravel_right.xml
+++ b/binaries/data/mods/public/audio/groups/fs_gravel_right.xml
@@ -1,18 +1,18 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_gravel8.ogg
- fs_gravel6.ogg
- fs_gravel4.ogg
- fs_gravel2.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_gravel8.ogg
+ fs_gravel6.ogg
+ fs_gravel4.ogg
+ fs_gravel2.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_rock_left.xml b/binaries/data/mods/public/audio/groups/fs_rock_left.xml
index 9b31819b5e..098a136b70 100644
--- a/binaries/data/mods/public/audio/groups/fs_rock_left.xml
+++ b/binaries/data/mods/public/audio/groups/fs_rock_left.xml
@@ -1,18 +1,18 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_rock1.ogg
- fs_rock3.ogg
- fs_rock5.ogg
- fs_rock7.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_rock1.ogg
+ fs_rock3.ogg
+ fs_rock5.ogg
+ fs_rock7.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_rock_right.xml b/binaries/data/mods/public/audio/groups/fs_rock_right.xml
index 6ad18b7464..9c4550ec65 100644
--- a/binaries/data/mods/public/audio/groups/fs_rock_right.xml
+++ b/binaries/data/mods/public/audio/groups/fs_rock_right.xml
@@ -1,18 +1,18 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_rock2.ogg
- fs_rock4.ogg
- fs_rock6.ogg
- fs_rock8.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_rock2.ogg
+ fs_rock4.ogg
+ fs_rock6.ogg
+ fs_rock8.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_sand_left.xml b/binaries/data/mods/public/audio/groups/fs_sand_left.xml
index 7771892f7e..ac4a1aea17 100644
--- a/binaries/data/mods/public/audio/groups/fs_sand_left.xml
+++ b/binaries/data/mods/public/audio/groups/fs_sand_left.xml
@@ -1,18 +1,18 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_sand1.ogg
- fs_sand3.ogg
- fs_sand5.ogg
- fs_sand7.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_sand1.ogg
+ fs_sand3.ogg
+ fs_sand5.ogg
+ fs_sand7.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_sand_right.xml b/binaries/data/mods/public/audio/groups/fs_sand_right.xml
index 8883cd29e6..df264b052a 100644
--- a/binaries/data/mods/public/audio/groups/fs_sand_right.xml
+++ b/binaries/data/mods/public/audio/groups/fs_sand_right.xml
@@ -1,18 +1,18 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_sand2.ogg
- fs_sand4.ogg
- fs_sand6.ogg
- fs_sand8.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_sand2.ogg
+ fs_sand4.ogg
+ fs_sand6.ogg
+ fs_sand8.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_wood_left.xml b/binaries/data/mods/public/audio/groups/fs_wood_left.xml
index efd6b85466..8fc3c53055 100644
--- a/binaries/data/mods/public/audio/groups/fs_wood_left.xml
+++ b/binaries/data/mods/public/audio/groups/fs_wood_left.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_wood1.ogg
- fs_wood3.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_wood1.ogg
+ fs_wood3.ogg
+
diff --git a/binaries/data/mods/public/audio/groups/fs_wood_right.xml b/binaries/data/mods/public/audio/groups/fs_wood_right.xml
index 5a2ee48704..bb20f115fd 100644
--- a/binaries/data/mods/public/audio/groups/fs_wood_right.xml
+++ b/binaries/data/mods/public/audio/groups/fs_wood_right.xml
@@ -1,16 +1,16 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 0
- 0
- 1
- 1.03
- 0
- audio/actor/singlesteps/
- fs_wood2.ogg
- fs_wood4.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1.03
+ 0
+ audio/actor/singlesteps/
+ fs_wood2.ogg
+ fs_wood4.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_alert_0.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_alert_0.xml
index e02dc661d4..4b3f4f72ce 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_alert_0.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_alert_0.xml
@@ -1,17 +1,17 @@
-
-
- 1
- owner
- 0.25
- 100
- 1
- 0
- 1
- 1
- 0.25
- 0.2
- 1
- 1
- audio/interface/alarm/
- alarmalert0.ogg
-
+
+
+ 1
+ owner
+ 0.25
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.25
+ 0.2
+ 1
+ 1
+ audio/interface/alarm/
+ alarmalert0.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_alert_1.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_alert_1.xml
index 5d70762706..10552e2da3 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_alert_1.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_alert_1.xml
@@ -1,17 +1,17 @@
-
-
- 1
- owner
- 0.25
- 100
- 1
- 0
- 1
- 1
- 0.25
- 0.2
- 1
- 1
- audio/interface/alarm/
- alarmalert1.ogg
-
+
+
+ 1
+ owner
+ 0.25
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.25
+ 0.2
+ 1
+ 1
+ audio/interface/alarm/
+ alarmalert1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_alert_2.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_alert_2.xml
index 8fa6bedb92..5c01511464 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_alert_2.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_alert_2.xml
@@ -1,17 +1,17 @@
-
-
- 1
- owner
- 0.25
- 100
- 1
- 0
- 1
- 1
- 0.25
- 0.2
- 1
- 1
- audio/interface/alarm/
- alarmalert2.ogg
-
+
+
+ 1
+ owner
+ 0.25
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.25
+ 0.2
+ 1
+ 1
+ audio/interface/alarm/
+ alarmalert2.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_ally.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_ally.xml
index 163fbe69bd..9ba416c410 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_ally.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_ally.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmally_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmally_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_attackcity.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_attackcity.xml
index 9793b3673c..67d0c841be 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_attackcity.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_attackcity.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmattackcity_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmattackcity_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_attackplayer.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_attackplayer.xml
index f7d91d2f0c..f55089a4ef 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_attackplayer.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_attackplayer.xml
@@ -1,17 +1,17 @@
-
-
- 1
- owner
- 0.75
- 100
- 1
- 0
- 1
- 1
- 0.75
- 0.65
- 1
- 1
- audio/interface/alarm/
- alarmattackplayer_1.ogg
-
+
+
+ 1
+ owner
+ 0.75
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.75
+ 0.65
+ 1
+ 1
+ audio/interface/alarm/
+ alarmattackplayer_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_attackunit.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_attackunit.xml
index 328c6d975b..ac618a852a 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_attackunit.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_attackunit.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmattackunit_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmattackunit_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_capturebuilding.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_capturebuilding.xml
index 17811f67fa..c8f33675a0 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_capturebuilding.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_capturebuilding.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmunitturn_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmunitturn_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_create_cav.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_create_cav.xml
index fefdd0f02c..3445663cad 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_create_cav.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_create_cav.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmcreatecavalry_1.ogg
-
+
+
+ 1
+ owner
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmcreatecavalry_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_create_female.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_create_female.xml
index 2456e09f8f..1ae7d30008 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_create_female.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_create_female.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmcreatefemale.ogg
-
+
+
+ 1
+ owner
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmcreatefemale.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_create_infantry.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_create_infantry.xml
index 7ea6f866f2..f72dd156b1 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_create_infantry.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_create_infantry.xml
@@ -1,22 +1,22 @@
-
-
- 1
- owner
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/actor/singlesteps
- fs_gravel8.ogg
- fs_gravel1.ogg
- fs_gravel2.ogg
- fs_gravel3.ogg
- fs_gravel4.ogg
- fs_gravel5.ogg
- fs_gravel6.ogg
- fs_gravel7.ogg
-
+
+
+ 1
+ owner
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/actor/singlesteps
+ fs_gravel8.ogg
+ fs_gravel1.ogg
+ fs_gravel2.ogg
+ fs_gravel3.ogg
+ fs_gravel4.ogg
+ fs_gravel5.ogg
+ fs_gravel6.ogg
+ fs_gravel7.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_create_priest.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_create_priest.xml
index 4c0e841db2..3b27980092 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_create_priest.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_create_priest.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmcreatepriest_1.ogg
-
+
+
+ 1
+ owner
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmcreatepriest_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_create_warship.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_create_warship.xml
index 7bc12e3dc1..445a11ea90 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_create_warship.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_create_warship.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarm_warship_03.ogg
-
+
+
+ 1
+ owner
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarm_warship_03.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_create_worker.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_create_worker.xml
index 95b95fecd9..6f9696a8da 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_create_worker.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_create_worker.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmcreateworker_1.ogg
-
+
+
+ 1
+ owner
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmcreateworker_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_defeat.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_defeat.xml
index 5dc40cfe37..59529e3a4f 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_defeat.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_defeat.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmdefeat_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmdefeat_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_garrison.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_garrison.xml
index 2668730b56..65cfaa4184 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_garrison.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_garrison.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmgarrison_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmgarrison_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_herodead.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_herodead.xml
index 56e47a2214..02e98e95a1 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_herodead.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_herodead.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmherodead_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmherodead_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_herojoin.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_herojoin.xml
index 62c6710678..6c85863db3 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_herojoin.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_herojoin.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmherojoin_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmherojoin_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_newobjective.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_newobjective.xml
index 3d4b8f4bda..f92814dfe1 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_newobjective.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_newobjective.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmobjectives_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmobjectives_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_noresources.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_noresources.xml
index 9b0667f321..7c69494daf 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_noresources.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_noresources.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmnoresource_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmnoresource_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_phase.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_phase.xml
index ec64202bc5..06c71bd21c 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_phase.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_phase.xml
@@ -1,17 +1,17 @@
-
-
- 1
- owner
- 0.1
- 100
- 1
- 0
- 1
- 1
- 0.1
- 0.08
- 1
- 1
- audio/interface/alarm/
- alarmvictory_1.ogg
-
+
+
+ 1
+ owner
+ 0.1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.1
+ 0.08
+ 1
+ 1
+ audio/interface/alarm/
+ alarmvictory_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_techcomplete.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_techcomplete.xml
index 118fbade66..d0c8a0d820 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_techcomplete.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_techcomplete.xml
@@ -1,17 +1,17 @@
-
-
- 1
- owner
- 0.25
- 100
- 1
- 0
- 1
- 1
- 0.25
- 0.15
- 1
- 1
- audio/interface/alarm/
- alarmresearchtech_1.ogg
-
+
+
+ 1
+ owner
+ 0.25
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.25
+ 0.15
+ 1
+ 1
+ audio/interface/alarm/
+ alarmresearchtech_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_upgradearmory.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_upgradearmory.xml
index 69e839262f..a6a42f4a1d 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_upgradearmory.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_upgradearmory.xml
@@ -1,17 +1,17 @@
-
-
- 1
- owner
- 0.25
- 100
- 1
- 0
- 1
- 1
- 0.25
- 0.2
- 1
- 1
- audio/interface/alarm/
- alarmupgradearmory_1.ogg
-
+
+
+ 1
+ owner
+ 0.25
+ 100
+ 1
+ 0
+ 1
+ 1
+ 0.25
+ 0.2
+ 1
+ 1
+ audio/interface/alarm/
+ alarmupgradearmory_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/alarm/alarm_victory.xml b/binaries/data/mods/public/audio/interface/alarm/alarm_victory.xml
index 946130e064..474d1dfcaf 100644
--- a/binaries/data/mods/public/audio/interface/alarm/alarm_victory.xml
+++ b/binaries/data/mods/public/audio/interface/alarm/alarm_victory.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/alarm/
- alarmvictory_1.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/alarm/
+ alarmvictory_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_barracks.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_barracks.xml
index ddbf6919d7..a400252dcf 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_barracks.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_barracks.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_barracks.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_barracks.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_blacksmith.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_blacksmith.xml
index 536a1b36e1..ed44a78d34 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_blacksmith.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_blacksmith.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_blacksmith.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_blacksmith.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_broch.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_broch.xml
index c0a68949ab..068baeaa2e 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_broch.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_broch.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_broch.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_broch.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_cavalry_stables.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_cavalry_stables.xml
index 93e0a158cf..e9beb055fe 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_cavalry_stables.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_cavalry_stables.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_cavalry_stables.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_cavalry_stables.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_civ_center.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_civ_center.xml
index b244941505..e5cc2fd08d 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_civ_center.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_civ_center.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_civ_center.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_civ_center.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_corral.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_corral.xml
index 0c5ce0a0bf..5f2a950154 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_corral.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_corral.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_corral.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_corral.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_dock.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_dock.xml
index 5cea0ff64e..891ec24fea 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_dock.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_dock.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_dock.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_dock.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_elephant_stables.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_elephant_stables.xml
index 4b9b3acfbf..5b41cb536c 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_elephant_stables.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_elephant_stables.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_elephant_stables.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_elephant_stables.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_farmstead.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_farmstead.xml
index 63f0c241b0..10a6d29c0a 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_farmstead.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_farmstead.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_farmstead.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_farmstead.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_ffactri.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_ffactri.xml
index cc0fe466eb..e3d7c9667e 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_ffactri.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_ffactri.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_ffactri.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_ffactri.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_field.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_field.xml
index 73f753bad8..cec39f0a46 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_field.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_field.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_field.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_field.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_fortress.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_fortress.xml
index 3c5ac7589b..ca395e2a3d 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_fortress.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_fortress.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_fortress.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_fortress.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_gate.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_gate.xml
index 788374bdc2..bc282d47ff 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_gate.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_gate.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_gate.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_gate.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_greek_theater.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_greek_theater.xml
index 43d1de9985..49a6739353 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_greek_theater.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_greek_theater.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_greek_theater.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_greek_theater.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_gymnasium.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_gymnasium.xml
index e3781c2960..ca7a1ea9d5 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_gymnasium.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_gymnasium.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_gymnasium.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_gymnasium.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_house.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_house.xml
index cc3d0a2558..0888717c38 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_house.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_house.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_house.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_house.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_iber_monument.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_iber_monument.xml
index 3abf3255bf..d7a526ac81 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_iber_monument.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_iber_monument.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_iber_monument.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_iber_monument.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_kennel.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_kennel.xml
index 48786fdf3a..4553953d84 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_kennel.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_kennel.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_kennel.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_kennel.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_market.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_market.xml
index 88b8d75764..9db95e1df8 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_market.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_market.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_market.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_market.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_storehouse.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_storehouse.xml
index 30a7f55e9f..0b75cd4d41 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_storehouse.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_storehouse.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_storehouse.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_storehouse.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_temple.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_temple.xml
index 25e7c7c16f..efb2f1d777 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_temple.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_temple.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_temple.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_temple.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_theatre.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_theatre.xml
index fc1cf6572b..f922107469 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_theatre.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_theatre.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_theatre.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_theatre.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_tholos.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_tholos.xml
index d98f2d32cd..549db90555 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_tholos.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_tholos.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_tholos.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_tholos.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_tower.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_tower.xml
index c411df0abb..51c5094dff 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_tower.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_tower.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_tower.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_tower.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_universal.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_universal.xml
index f4017662b3..e53926dcef 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_universal.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_universal.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_universal.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_universal.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_wall.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_wall.xml
index aabd60b34b..faed9bd637 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_wall.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_wall.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_wall.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_wall.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/complete/building/complete_wonder.xml b/binaries/data/mods/public/audio/interface/complete/building/complete_wonder.xml
index 1403d7079c..c587cfe9e9 100644
--- a/binaries/data/mods/public/audio/interface/complete/building/complete_wonder.xml
+++ b/binaries/data/mods/public/audio/interface/complete/building/complete_wonder.xml
@@ -1,15 +1,15 @@
-
-
- 1
- owner
- 1
- 30
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/complete/building
- complete_wonder.ogg
-
+
+
+ 1
+ owner
+ 1
+ 30
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/complete/building
+ complete_wonder.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_barracks.xml b/binaries/data/mods/public/audio/interface/select/building/sel_barracks.xml
index f31711fac7..b6d29ac698 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_barracks.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_barracks.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_barracks.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_barracks.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_blacksmith.xml b/binaries/data/mods/public/audio/interface/select/building/sel_blacksmith.xml
index 6db1ec825b..2d6a33ef74 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_blacksmith.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_blacksmith.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_blacksmith.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_blacksmith.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_broch.xml b/binaries/data/mods/public/audio/interface/select/building/sel_broch.xml
index b4de5615a4..0f92b7f859 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_broch.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_broch.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_broch.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_broch.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_cavalry_stables.xml b/binaries/data/mods/public/audio/interface/select/building/sel_cavalry_stables.xml
index b4526241a9..b407b12567 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_cavalry_stables.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_cavalry_stables.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_cavalry_stables.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_cavalry_stables.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_civ_center.xml b/binaries/data/mods/public/audio/interface/select/building/sel_civ_center.xml
index cf1a2c5170..ca4603601c 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_civ_center.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_civ_center.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_civ_center.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_civ_center.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_corral.xml b/binaries/data/mods/public/audio/interface/select/building/sel_corral.xml
index 66a2fb4c91..ce248475fb 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_corral.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_corral.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_corral.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_corral.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_dock.xml b/binaries/data/mods/public/audio/interface/select/building/sel_dock.xml
index 986a445b09..72f1c32a7a 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_dock.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_dock.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_dock.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_dock.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_elephant_stables.xml b/binaries/data/mods/public/audio/interface/select/building/sel_elephant_stables.xml
index 613d604e32..2ccce0c409 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_elephant_stables.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_elephant_stables.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_elephant_stables.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_elephant_stables.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_farmstead.xml b/binaries/data/mods/public/audio/interface/select/building/sel_farmstead.xml
index b9ad346aea..05e8ef6288 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_farmstead.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_farmstead.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_farmstead.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_farmstead.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_ffactri.xml b/binaries/data/mods/public/audio/interface/select/building/sel_ffactri.xml
index 24ce64dacf..023f51e41c 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_ffactri.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_ffactri.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_ffactri.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_ffactri.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_field.xml b/binaries/data/mods/public/audio/interface/select/building/sel_field.xml
index 092c7972f9..78703e24c6 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_field.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_field.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_field.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_field.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_fortress.xml b/binaries/data/mods/public/audio/interface/select/building/sel_fortress.xml
index 87b2f6add7..4de2d86ee1 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_fortress.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_fortress.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_fortress.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_fortress.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_gate.xml b/binaries/data/mods/public/audio/interface/select/building/sel_gate.xml
index b1e763b976..189fdcdfa3 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_gate.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_gate.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_gate.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_gate.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_greek_theater.xml b/binaries/data/mods/public/audio/interface/select/building/sel_greek_theater.xml
index a3306636e4..94941e12f8 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_greek_theater.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_greek_theater.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_greek_theater.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_greek_theater.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_gymnasium.xml b/binaries/data/mods/public/audio/interface/select/building/sel_gymnasium.xml
index 6cb40e5339..c3ba2f8e56 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_gymnasium.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_gymnasium.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_gymnasium.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_gymnasium.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_house.xml b/binaries/data/mods/public/audio/interface/select/building/sel_house.xml
index 6a320e350e..1b47058584 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_house.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_house.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_house.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_house.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_iber_monument.xml b/binaries/data/mods/public/audio/interface/select/building/sel_iber_monument.xml
index a185a9cc40..e05349c180 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_iber_monument.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_iber_monument.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_iber_monument.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_iber_monument.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_kennel.xml b/binaries/data/mods/public/audio/interface/select/building/sel_kennel.xml
index af7af8ad37..1c2301ab00 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_kennel.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_kennel.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_kennel.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_kennel.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_market.xml b/binaries/data/mods/public/audio/interface/select/building/sel_market.xml
index dca426a36e..606fb1c4cf 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_market.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_market.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_market.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_market.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_storehouse.xml b/binaries/data/mods/public/audio/interface/select/building/sel_storehouse.xml
index 12bd326d0e..7648fb1a21 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_storehouse.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_storehouse.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_storehouse.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_storehouse.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_temple.xml b/binaries/data/mods/public/audio/interface/select/building/sel_temple.xml
index 51112be122..8a3df21452 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_temple.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_temple.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_temple.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_temple.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_theater.xml b/binaries/data/mods/public/audio/interface/select/building/sel_theater.xml
index 8e69b1d406..5e89ffd68c 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_theater.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_theater.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_theater.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_theater.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_tholos.xml b/binaries/data/mods/public/audio/interface/select/building/sel_tholos.xml
index 3c66366ed5..42b0fda876 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_tholos.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_tholos.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_tholos.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_tholos.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_tower.xml b/binaries/data/mods/public/audio/interface/select/building/sel_tower.xml
index 57288680b7..0c37df4498 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_tower.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_tower.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_tower.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_tower.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_universal.xml b/binaries/data/mods/public/audio/interface/select/building/sel_universal.xml
index 86f7275742..7d41a7d502 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_universal.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_universal.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_universal_1.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_universal_1.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_wall.xml b/binaries/data/mods/public/audio/interface/select/building/sel_wall.xml
index faa919d5aa..171f200e5f 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_wall.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_wall.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_wall.ogg
-
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_wall.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/building/sel_wonder.xml b/binaries/data/mods/public/audio/interface/select/building/sel_wonder.xml
index 75a83ca15f..568466cebf 100644
--- a/binaries/data/mods/public/audio/interface/select/building/sel_wonder.xml
+++ b/binaries/data/mods/public/audio/interface/select/building/sel_wonder.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 1
- 70
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/building
- sel_wonder.ogg
+
+
+ 1
+ 1
+ 70
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/building
+ sel_wonder.ogg
\ No newline at end of file
diff --git a/binaries/data/mods/public/audio/interface/select/resource/sel_fruit.xml b/binaries/data/mods/public/audio/interface/select/resource/sel_fruit.xml
index 2fd4d91daf..4ed8498c44 100644
--- a/binaries/data/mods/public/audio/interface/select/resource/sel_fruit.xml
+++ b/binaries/data/mods/public/audio/interface/select/resource/sel_fruit.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/resource
- sel_fruit_02.ogg
-
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/resource
+ sel_fruit_02.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/resource/sel_metal.xml b/binaries/data/mods/public/audio/interface/select/resource/sel_metal.xml
index 0203a759d1..01f7710f18 100644
--- a/binaries/data/mods/public/audio/interface/select/resource/sel_metal.xml
+++ b/binaries/data/mods/public/audio/interface/select/resource/sel_metal.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/resource
- sel_metal_01.ogg
-
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/resource
+ sel_metal_01.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/resource/sel_stone.xml b/binaries/data/mods/public/audio/interface/select/resource/sel_stone.xml
index f7a338fb9b..6fe5bab44c 100644
--- a/binaries/data/mods/public/audio/interface/select/resource/sel_stone.xml
+++ b/binaries/data/mods/public/audio/interface/select/resource/sel_stone.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/resource
- sel_stone_02.ogg
-
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/resource
+ sel_stone_02.ogg
+
diff --git a/binaries/data/mods/public/audio/interface/select/resource/sel_tree.xml b/binaries/data/mods/public/audio/interface/select/resource/sel_tree.xml
index dca0d85e20..dbd52bc9b4 100644
--- a/binaries/data/mods/public/audio/interface/select/resource/sel_tree.xml
+++ b/binaries/data/mods/public/audio/interface/select/resource/sel_tree.xml
@@ -1,13 +1,13 @@
-
-
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- audio/interface/select/resource
- sel_tree_01.ogg
-
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/interface/select/resource
+ sel_tree_01.ogg
+
diff --git a/binaries/data/mods/public/audio/resource/construction/con_stone.xml b/binaries/data/mods/public/audio/resource/construction/con_stone.xml
index dd48550808..3e119856f6 100644
--- a/binaries/data/mods/public/audio/resource/construction/con_stone.xml
+++ b/binaries/data/mods/public/audio/resource/construction/con_stone.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/resource/construction/
- con_stone_10.ogg
- con_stone_11.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/resource/construction/
+ con_stone_10.ogg
+ con_stone_11.ogg
+
diff --git a/binaries/data/mods/public/audio/resource/construction/con_wood.xml b/binaries/data/mods/public/audio/resource/construction/con_wood.xml
index 1297f55788..fb77b8b2fd 100644
--- a/binaries/data/mods/public/audio/resource/construction/con_wood.xml
+++ b/binaries/data/mods/public/audio/resource/construction/con_wood.xml
@@ -1,24 +1,24 @@
-
-
- 0.5
- 1
- 0
- 1
- 1
- 0.4
- 0.2
- 1
- 1.0
- 0.7
- 1
- audio/resource/construction/
- con_wood_18.ogg
- con_wood_10.ogg
- con_wood_11.ogg
- con_wood_12.ogg
- con_wood_13.ogg
- con_wood_14.ogg
- con_wood_15.ogg
- con_wood_16.ogg
- con_wood_17.ogg
-
+
+
+ 0.5
+ 1
+ 0
+ 1
+ 1
+ 0.4
+ 0.2
+ 1
+ 1.0
+ 0.7
+ 1
+ audio/resource/construction/
+ con_wood_18.ogg
+ con_wood_10.ogg
+ con_wood_11.ogg
+ con_wood_12.ogg
+ con_wood_13.ogg
+ con_wood_14.ogg
+ con_wood_15.ogg
+ con_wood_16.ogg
+ con_wood_17.ogg
+
diff --git a/binaries/data/mods/public/audio/resource/farming/farm.xml b/binaries/data/mods/public/audio/resource/farming/farm.xml
index 47267abab8..d88c6fb339 100644
--- a/binaries/data/mods/public/audio/resource/farming/farm.xml
+++ b/binaries/data/mods/public/audio/resource/farming/farm.xml
@@ -1,23 +1,23 @@
-
-
- 3
- 1
- 0
- 1
- 1
- 3
- 2
- 1
- 1
- 5
- audio/resource/farming/
- hoe_18.ogg
- hoe_10.ogg
- hoe_11.ogg
- hoe_12.ogg
- hoe_13.ogg
- hoe_14.ogg
- hoe_15.ogg
- hoe_16.ogg
- hoe_17.ogg
-
+
+
+ 3
+ 1
+ 0
+ 1
+ 1
+ 3
+ 2
+ 1
+ 1
+ 5
+ audio/resource/farming/
+ hoe_18.ogg
+ hoe_10.ogg
+ hoe_11.ogg
+ hoe_12.ogg
+ hoe_13.ogg
+ hoe_14.ogg
+ hoe_15.ogg
+ hoe_16.ogg
+ hoe_17.ogg
+
diff --git a/binaries/data/mods/public/audio/resource/foraging/forage_leaves.xml b/binaries/data/mods/public/audio/resource/foraging/forage_leaves.xml
index bc762a844d..69cf7e2a52 100644
--- a/binaries/data/mods/public/audio/resource/foraging/forage_leaves.xml
+++ b/binaries/data/mods/public/audio/resource/foraging/forage_leaves.xml
@@ -1,22 +1,22 @@
-
-
- 1
- 1
- 0
- 1
- 1
- 0
- 10
- audio/resource/foraging/
- leaves_19.ogg
- leaves_1a.ogg
- leaves_10.ogg
- leaves_11.ogg
- leaves_12.ogg
- leaves_13.ogg
- leaves_14.ogg
- leaves_15.ogg
- leaves_16.ogg
- leaves_17.ogg
- leaves_18.ogg
-
+
+
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 10
+ audio/resource/foraging/
+ leaves_19.ogg
+ leaves_1a.ogg
+ leaves_10.ogg
+ leaves_11.ogg
+ leaves_12.ogg
+ leaves_13.ogg
+ leaves_14.ogg
+ leaves_15.ogg
+ leaves_16.ogg
+ leaves_17.ogg
+ leaves_18.ogg
+
diff --git a/binaries/data/mods/public/audio/resource/gathering/gathering.xml b/binaries/data/mods/public/audio/resource/gathering/gathering.xml
index b8098222a5..bf91c589a7 100644
--- a/binaries/data/mods/public/audio/resource/gathering/gathering.xml
+++ b/binaries/data/mods/public/audio/resource/gathering/gathering.xml
@@ -1,21 +1,21 @@
-
-
- 1.5
- 1
- 0
- 1
- 1
- 1
- 1
- 5
- audio/resource/farming/
- hoe_18.ogg
- hoe_10.ogg
- hoe_11.ogg
- hoe_12.ogg
- hoe_13.ogg
- hoe_14.ogg
- hoe_15.ogg
- hoe_16.ogg
- hoe_17.ogg
-
+
+
+ 1.5
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 5
+ audio/resource/farming/
+ hoe_18.ogg
+ hoe_10.ogg
+ hoe_11.ogg
+ hoe_12.ogg
+ hoe_13.ogg
+ hoe_14.ogg
+ hoe_15.ogg
+ hoe_16.ogg
+ hoe_17.ogg
+
diff --git a/binaries/data/mods/public/audio/resource/lumbering/lumbering.xml b/binaries/data/mods/public/audio/resource/lumbering/lumbering.xml
index e8ebb3f586..33bd08bf8a 100644
--- a/binaries/data/mods/public/audio/resource/lumbering/lumbering.xml
+++ b/binaries/data/mods/public/audio/resource/lumbering/lumbering.xml
@@ -1,38 +1,38 @@
-
-
- 0.5
- 0
- 1
- 1
- 0.6
- 0.4
- 1
- 1
- audio/resource/lumbering/
- lumber_tree_01.ogg
- lumber_tree_02.ogg
- lumber_tree_03.ogg
- lumber_tree_04.ogg
- lumber_tree_05.ogg
- lumber_tree_06.ogg
- lumber_tree_07.ogg
- lumber_tree_08.ogg
- lumber_tree_09.ogg
- lumber_tree_10.ogg
- lumber_tree_11.ogg
- lumber_tree_12.ogg
- lumber_tree_13.ogg
- lumber_tree_14.ogg
- lumber_tree_15.ogg
- lumber_tree_16.ogg
- lumber_tree_17.ogg
- lumber_tree_18.ogg
- lumber_tree_19.ogg
- lumber_tree_20.ogg
- lumber_tree_21.ogg
- lumber_tree_22.ogg
- lumber_tree_23.ogg
- lumber_tree_24.ogg
- lumber_tree_25.ogg
- lumber_tree_26.ogg
-
+
+
+ 0.5
+ 0
+ 1
+ 1
+ 0.6
+ 0.4
+ 1
+ 1
+ audio/resource/lumbering/
+ lumber_tree_01.ogg
+ lumber_tree_02.ogg
+ lumber_tree_03.ogg
+ lumber_tree_04.ogg
+ lumber_tree_05.ogg
+ lumber_tree_06.ogg
+ lumber_tree_07.ogg
+ lumber_tree_08.ogg
+ lumber_tree_09.ogg
+ lumber_tree_10.ogg
+ lumber_tree_11.ogg
+ lumber_tree_12.ogg
+ lumber_tree_13.ogg
+ lumber_tree_14.ogg
+ lumber_tree_15.ogg
+ lumber_tree_16.ogg
+ lumber_tree_17.ogg
+ lumber_tree_18.ogg
+ lumber_tree_19.ogg
+ lumber_tree_20.ogg
+ lumber_tree_21.ogg
+ lumber_tree_22.ogg
+ lumber_tree_23.ogg
+ lumber_tree_24.ogg
+ lumber_tree_25.ogg
+ lumber_tree_26.ogg
+
diff --git a/binaries/data/mods/public/audio/resource/lumbering/treefall.xml b/binaries/data/mods/public/audio/resource/lumbering/treefall.xml
index cd6721f4c0..bddf86ee3e 100644
--- a/binaries/data/mods/public/audio/resource/lumbering/treefall.xml
+++ b/binaries/data/mods/public/audio/resource/lumbering/treefall.xml
@@ -1,15 +1,15 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- audio/resource/lumbering/
- lumber_treeexpire_02.ogg
- lumber_treeexpire_03.ogg
- lumber_treeexpire_04.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ audio/resource/lumbering/
+ lumber_treeexpire_02.ogg
+ lumber_treeexpire_03.ogg
+ lumber_treeexpire_04.ogg
+
diff --git a/binaries/data/mods/public/audio/resource/mining/mining.xml b/binaries/data/mods/public/audio/resource/mining/mining.xml
index e81cdbf793..20a6aea64a 100644
--- a/binaries/data/mods/public/audio/resource/mining/mining.xml
+++ b/binaries/data/mods/public/audio/resource/mining/mining.xml
@@ -1,38 +1,38 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 1
- 1
- 0.6
- 0.3
- 1
- 5
- audio/resource/mining/
- mine_metal_02.ogg
- mine_metal_03.ogg
- mine_metal_04.ogg
- mine_metal_05.ogg
- mine_metal_06.ogg
- mine_metal_07.ogg
- mine_metal_08.ogg
- mine_metal_09.ogg
- mine_metal_10.ogg
- mine_metal_11.ogg
- mine_metal_12.ogg
- mine_metal_13.ogg
- mine_metal_14.ogg
- mine_metal_15.ogg
- mine_metal_16.ogg
- mine_metal_17.ogg
- mine_metal_18.ogg
- mine_metal_19.ogg
- mine_metal_20.ogg
- mine_metal_21.ogg
- mine_metal_22.ogg
- mine_metal_23.ogg
- mine_metal_24.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 1
+ 1
+ 0.6
+ 0.3
+ 1
+ 5
+ audio/resource/mining/
+ mine_metal_02.ogg
+ mine_metal_03.ogg
+ mine_metal_04.ogg
+ mine_metal_05.ogg
+ mine_metal_06.ogg
+ mine_metal_07.ogg
+ mine_metal_08.ogg
+ mine_metal_09.ogg
+ mine_metal_10.ogg
+ mine_metal_11.ogg
+ mine_metal_12.ogg
+ mine_metal_13.ogg
+ mine_metal_14.ogg
+ mine_metal_15.ogg
+ mine_metal_16.ogg
+ mine_metal_17.ogg
+ mine_metal_18.ogg
+ mine_metal_19.ogg
+ mine_metal_20.ogg
+ mine_metal_21.ogg
+ mine_metal_22.ogg
+ mine_metal_23.ogg
+ mine_metal_24.ogg
+
diff --git a/binaries/data/mods/public/audio/resource/mining/pickaxe.xml b/binaries/data/mods/public/audio/resource/mining/pickaxe.xml
index a7b4ef74b7..fd8297539a 100644
--- a/binaries/data/mods/public/audio/resource/mining/pickaxe.xml
+++ b/binaries/data/mods/public/audio/resource/mining/pickaxe.xml
@@ -1,39 +1,39 @@
-
-
- 1
- 100
- 1
- 0
- 0
- 1
- 1
- 0.6
- 0.3
- 1
- 5
- audio/resource/mining/
- mine_stone_02.ogg
- mine_stone_03.ogg
- mine_stone_04.ogg
- mine_stone_05.ogg
- mine_stone_06.ogg
- mine_stone_07.ogg
- mine_stone_08.ogg
- mine_stone_09.ogg
- mine_stone_10.ogg
- mine_stone_11.ogg
- mine_stone_12.ogg
- mine_stone_13.ogg
- mine_stone_14.ogg
- mine_stone_15.ogg
- mine_stone_16.ogg
- mine_stone_17.ogg
- mine_stone_18.ogg
- mine_stone_19.ogg
- mine_stone_20.ogg
- mine_stone_21.ogg
- mine_stone_22.ogg
- mine_stone_23.ogg
- mine_stone_24.ogg
- mine_stone_25.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 0
+ 1
+ 1
+ 0.6
+ 0.3
+ 1
+ 5
+ audio/resource/mining/
+ mine_stone_02.ogg
+ mine_stone_03.ogg
+ mine_stone_04.ogg
+ mine_stone_05.ogg
+ mine_stone_06.ogg
+ mine_stone_07.ogg
+ mine_stone_08.ogg
+ mine_stone_09.ogg
+ mine_stone_10.ogg
+ mine_stone_11.ogg
+ mine_stone_12.ogg
+ mine_stone_13.ogg
+ mine_stone_14.ogg
+ mine_stone_15.ogg
+ mine_stone_16.ogg
+ mine_stone_17.ogg
+ mine_stone_18.ogg
+ mine_stone_19.ogg
+ mine_stone_20.ogg
+ mine_stone_21.ogg
+ mine_stone_22.ogg
+ mine_stone_23.ogg
+ mine_stone_24.ogg
+ mine_stone_25.ogg
+
diff --git a/binaries/data/mods/public/audio/voice/greek/civ/civ_male_go_out_against.xml b/binaries/data/mods/public/audio/voice/greek/civ/civ_male_go_out_against.xml
index 8198841dd4..f72d4da9fb 100644
--- a/binaries/data/mods/public/audio/voice/greek/civ/civ_male_go_out_against.xml
+++ b/binaries/data/mods/public/audio/voice/greek/civ/civ_male_go_out_against.xml
@@ -1,14 +1,14 @@
-
-
- 1
- 100
- 1
- 0
- 1
- 1
- 1
- 1
- 1
- audio/voice/greek/civ
- civ_male_attack_10.ogg
-
+
+
+ 1
+ 100
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ audio/voice/greek/civ
+ civ_male_attack_10.ogg
+
diff --git a/binaries/data/mods/public/gui/loading/sprites.xml b/binaries/data/mods/public/gui/loading/sprites.xml
index 6a235719f8..2e3907b00e 100644
--- a/binaries/data/mods/public/gui/loading/sprites.xml
+++ b/binaries/data/mods/public/gui/loading/sprites.xml
@@ -1,142 +1,142 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/gui/loading/styles.xml b/binaries/data/mods/public/gui/loading/styles.xml
index 993acbe68c..208100e5d0 100644
--- a/binaries/data/mods/public/gui/loading/styles.xml
+++ b/binaries/data/mods/public/gui/loading/styles.xml
@@ -1,54 +1,54 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/gui/page_savegame.xml b/binaries/data/mods/public/gui/page_savegame.xml
index 3bd9031061..b01c3ecd42 100644
--- a/binaries/data/mods/public/gui/page_savegame.xml
+++ b/binaries/data/mods/public/gui/page_savegame.xml
@@ -1,14 +1,14 @@
-
-
- common/modern/setup.xml
- common/modern/styles.xml
- common/modern/sprites.xml
-
- common/setup.xml
- common/sprite1.xml
- common/styles.xml
- common/common_sprites.xml
- common/common_styles.xml
-
- savedgames/save.xml
-
+
+
+ common/modern/setup.xml
+ common/modern/styles.xml
+ common/modern/sprites.xml
+
+ common/setup.xml
+ common/sprite1.xml
+ common/styles.xml
+ common/common_sprites.xml
+ common/common_styles.xml
+
+ savedgames/save.xml
+
diff --git a/binaries/data/mods/public/gui/savedgames/save.xml b/binaries/data/mods/public/gui/savedgames/save.xml
index 815854895e..71cd404015 100644
--- a/binaries/data/mods/public/gui/savedgames/save.xml
+++ b/binaries/data/mods/public/gui/savedgames/save.xml
@@ -1,53 +1,53 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Save Game
+
+
+
+
+ selectDescription();
+
+
+
+
+ Description:
+
+
+
+ saveGame();
+
+
+
+ Cancel
+ closeSave(true);
+
+
+
+ Delete
+ deleteGame();
+
+
+
+ Save
+ saveGame();
+
+
+
+
+
diff --git a/binaries/data/mods/public/gui/session/selection_panels_left/alert_panel.xml b/binaries/data/mods/public/gui/session/selection_panels_left/alert_panel.xml
index 3452be0674..1a6a835d1a 100644
--- a/binaries/data/mods/public/gui/session/selection_panels_left/alert_panel.xml
+++ b/binaries/data/mods/public/gui/session/selection_panels_left/alert_panel.xml
@@ -1,14 +1,14 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/gui/session/selection_panels_middle/unit_ally_commands.xml b/binaries/data/mods/public/gui/session/selection_panels_middle/unit_ally_commands.xml
index 3399bd6bc1..d8b375f7d0 100644
--- a/binaries/data/mods/public/gui/session/selection_panels_middle/unit_ally_commands.xml
+++ b/binaries/data/mods/public/gui/session/selection_panels_middle/unit_ally_commands.xml
@@ -1,19 +1,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/gui/summary/sprites.xml b/binaries/data/mods/public/gui/summary/sprites.xml
index e621e9a4c1..0aef91e7fa 100644
--- a/binaries/data/mods/public/gui/summary/sprites.xml
+++ b/binaries/data/mods/public/gui/summary/sprites.xml
@@ -1,36 +1,36 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/gui/text/tips/iphicrates.txt b/binaries/data/mods/public/gui/text/tips/iphicrates.txt
index 402d439731..d214b89f6d 100644
--- a/binaries/data/mods/public/gui/text/tips/iphicrates.txt
+++ b/binaries/data/mods/public/gui/text/tips/iphicrates.txt
@@ -1,6 +1,6 @@
-IPHICRATES
-- The Athenian general who reformed the Athenian army to be faster and more maneuverable.
-
-- Units in his formation are faster and stronger.
-
+IPHICRATES
+- The Athenian general who reformed the Athenian army to be faster and more maneuverable.
+
+- Units in his formation are faster and stronger.
+
- Skirmishers move faster while he lives.
\ No newline at end of file
diff --git a/binaries/data/mods/public/gui/text/tips/pericles.txt b/binaries/data/mods/public/gui/text/tips/pericles.txt
index 73de859957..d97ef33285 100644
--- a/binaries/data/mods/public/gui/text/tips/pericles.txt
+++ b/binaries/data/mods/public/gui/text/tips/pericles.txt
@@ -1,6 +1,6 @@
-PERICLES
-- The foremost Athenian politician of the 5th century BCE.
-
-- Buildings construct faster within his range.
-
+PERICLES
+- The foremost Athenian politician of the 5th century BCE.
+
+- Buildings construct faster within his range.
+
- Temples are cheaper while he lives.
\ No newline at end of file
diff --git a/binaries/data/mods/public/gui/text/tips/pikemen.txt b/binaries/data/mods/public/gui/text/tips/pikemen.txt
index 2c2853a9c5..c821be4fce 100644
--- a/binaries/data/mods/public/gui/text/tips/pikemen.txt
+++ b/binaries/data/mods/public/gui/text/tips/pikemen.txt
@@ -1,6 +1,6 @@
-PIKEMEN
-- Heavily armored and slow. Low attack.
-
-- Used against cavalry or against other melee infantry to pin them in place.
-
+PIKEMEN
+- Heavily armored and slow. Low attack.
+
+- Used against cavalry or against other melee infantry to pin them in place.
+
- Available to: Macedonians, Seleucids, and Ptolemies.
\ No newline at end of file
diff --git a/binaries/data/mods/public/gui/text/tips/spearmen.txt b/binaries/data/mods/public/gui/text/tips/spearmen.txt
index 169951dc29..8df330a67a 100644
--- a/binaries/data/mods/public/gui/text/tips/spearmen.txt
+++ b/binaries/data/mods/public/gui/text/tips/spearmen.txt
@@ -1,8 +1,8 @@
-SPEARMEN
-- The basic melee infantry for every faction in the game.
-
-- Used against cavalry for a 2x attack bonus.
-
-- Decent hack attack and a good charge bonus make them good front line troops.
-
+SPEARMEN
+- The basic melee infantry for every faction in the game.
+
+- Used against cavalry for a 2x attack bonus.
+
+- Decent hack attack and a good charge bonus make them good front line troops.
+
- They are countered by ranged units and swordsmen, so support your spearmen with slingers or cavalry.
\ No newline at end of file
diff --git a/binaries/data/mods/public/gui/text/tips/themistocles.txt b/binaries/data/mods/public/gui/text/tips/themistocles.txt
index 551e347c1c..722e6d892d 100644
--- a/binaries/data/mods/public/gui/text/tips/themistocles.txt
+++ b/binaries/data/mods/public/gui/text/tips/themistocles.txt
@@ -1,6 +1,6 @@
-THEMISTOCLES
-- Athenian hero who commanded the Greeks at the great naval battles of Artemisium and Salamis.
-
-- All ships are built faster while he lives.
-
+THEMISTOCLES
+- Athenian hero who commanded the Greeks at the great naval battles of Artemisium and Salamis.
+
+- All ships are built faster while he lives.
+
- The ship he is garrisoned inside moves much faster.
\ No newline at end of file
diff --git a/binaries/data/mods/public/gui/text/tips/war_elephants.txt b/binaries/data/mods/public/gui/text/tips/war_elephants.txt
index 3eec236e00..0fc462966c 100644
--- a/binaries/data/mods/public/gui/text/tips/war_elephants.txt
+++ b/binaries/data/mods/public/gui/text/tips/war_elephants.txt
@@ -1,8 +1,8 @@
-WAR ELEPHANTS
-- Huge beasts from Africa and India, trained for war.
-
-- High Food and Metal cost, but very powerful. Strongest against Structures and Cavalry.
-
-- Vulnerable to infantry skirmishers.
-
+WAR ELEPHANTS
+- Huge beasts from Africa and India, trained for war.
+
+- High Food and Metal cost, but very powerful. Strongest against Structures and Cavalry.
+
+- Vulnerable to infantry skirmishers.
+
- Available to: Mauryans, Ptolemies, Seleucids, and Carthaginians.
\ No newline at end of file
diff --git a/binaries/data/mods/public/shaders/effects/postproc/DOF.xml b/binaries/data/mods/public/shaders/effects/postproc/DOF.xml
index d42cfe669f..5cdf2ecebf 100644
--- a/binaries/data/mods/public/shaders/effects/postproc/DOF.xml
+++ b/binaries/data/mods/public/shaders/effects/postproc/DOF.xml
@@ -1,10 +1,10 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/binaries/data/mods/public/shaders/effects/postproc/hdr.xml b/binaries/data/mods/public/shaders/effects/postproc/hdr.xml
index 65c43274f0..4dd0fc1efc 100644
--- a/binaries/data/mods/public/shaders/effects/postproc/hdr.xml
+++ b/binaries/data/mods/public/shaders/effects/postproc/hdr.xml
@@ -1,9 +1,9 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/binaries/data/mods/public/shaders/glsl/bloom.fs b/binaries/data/mods/public/shaders/glsl/bloom.fs
index ff3122a56f..579efb4a9a 100644
--- a/binaries/data/mods/public/shaders/glsl/bloom.fs
+++ b/binaries/data/mods/public/shaders/glsl/bloom.fs
@@ -1,41 +1,41 @@
-#version 110
-
-varying vec2 v_tex;
-uniform sampler2D renderedTex;
-uniform vec2 texSize;
-
-void main()
-{
- #if BLOOM_NOP
- gl_FragColor = texture2D(renderedTex, v_tex);
- gl_FragColor.a = 1.0;
- #endif
-
- #if BLOOM_PASS_H
- vec4 color = vec4(0.0);
- vec2 v_tex_offs = vec2(v_tex.x - 0.01, v_tex.y);
-
- for (int i = 0; i < 6; ++i)
- {
- color += texture2D(renderedTex, v_tex_offs);
- v_tex_offs += vec2(0.004, 0.0);
- }
-
- gl_FragColor.rgb = color.rgb / 6.0;
- gl_FragColor.a = 1.0;
- #endif
-
- #if BLOOM_PASS_V
- vec4 color = vec4(0.0);
- vec2 v_tex_offs = vec2(v_tex.x, v_tex.y - 0.01);
-
- for (int i = 0; i < 6; ++i)
- {
- color += texture2D(renderedTex, v_tex_offs);
- v_tex_offs += vec2(0.0, 0.004);
- }
-
- gl_FragColor.rgb = color.rgb / 6.0;
- gl_FragColor.a = 1.0;
- #endif
+#version 110
+
+varying vec2 v_tex;
+uniform sampler2D renderedTex;
+uniform vec2 texSize;
+
+void main()
+{
+ #if BLOOM_NOP
+ gl_FragColor = texture2D(renderedTex, v_tex);
+ gl_FragColor.a = 1.0;
+ #endif
+
+ #if BLOOM_PASS_H
+ vec4 color = vec4(0.0);
+ vec2 v_tex_offs = vec2(v_tex.x - 0.01, v_tex.y);
+
+ for (int i = 0; i < 6; ++i)
+ {
+ color += texture2D(renderedTex, v_tex_offs);
+ v_tex_offs += vec2(0.004, 0.0);
+ }
+
+ gl_FragColor.rgb = color.rgb / 6.0;
+ gl_FragColor.a = 1.0;
+ #endif
+
+ #if BLOOM_PASS_V
+ vec4 color = vec4(0.0);
+ vec2 v_tex_offs = vec2(v_tex.x, v_tex.y - 0.01);
+
+ for (int i = 0; i < 6; ++i)
+ {
+ color += texture2D(renderedTex, v_tex_offs);
+ v_tex_offs += vec2(0.0, 0.004);
+ }
+
+ gl_FragColor.rgb = color.rgb / 6.0;
+ gl_FragColor.a = 1.0;
+ #endif
}
\ No newline at end of file
diff --git a/binaries/data/mods/public/shaders/glsl/bloom.xml b/binaries/data/mods/public/shaders/glsl/bloom.xml
index 04a000f049..2bf9003996 100644
--- a/binaries/data/mods/public/shaders/glsl/bloom.xml
+++ b/binaries/data/mods/public/shaders/glsl/bloom.xml
@@ -1,13 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/dof.fs b/binaries/data/mods/public/shaders/glsl/dof.fs
index f250640218..ad4ec65d4e 100644
--- a/binaries/data/mods/public/shaders/glsl/dof.fs
+++ b/binaries/data/mods/public/shaders/glsl/dof.fs
@@ -1,63 +1,63 @@
-#version 120
-
-uniform sampler2D renderedTex;
-uniform sampler2D depthTex;
-uniform sampler2D blurTex2;
-uniform sampler2D blurTex4;
-uniform sampler2D blurTex8;
-
-uniform float width;
-uniform float height;
-
-uniform float zNear;
-uniform float zFar;
-
-uniform float brightness;
-uniform float hdr;
-uniform float saturation;
-uniform float bloom;
-
-varying vec2 v_tex;
-
-
-float linearizeDepth(float depth)
-{
- return -zFar * zNear / (depth * (zFar - zNear) - zFar);
-}
-
-
-void main(void)
-{
- vec3 color = texture2D(renderedTex, v_tex).rgb;
-
- vec3 blur2 = texture2D(blurTex2, v_tex).rgb;
- vec3 blur4 = texture2D(blurTex4, v_tex).rgb;
- vec3 blur8 = texture2D(blurTex8, v_tex).rgb;
-
- float depth = texture2D(depthTex, v_tex).r;
-
- float midDepth = texture2D(depthTex, vec2(0.5, 0.5)).r;
- midDepth += texture2D(depthTex, vec2(0.4, 0.4)).r;
- midDepth += texture2D(depthTex, vec2(0.4, 0.6)).r;
- midDepth += texture2D(depthTex, vec2(0.6, 0.4)).r;
- midDepth += texture2D(depthTex, vec2(0.6, 0.6)).r;
-
- midDepth /= 5.0;
-
-
- float lDepth = linearizeDepth(depth);
- float lMidDepth = linearizeDepth(midDepth);
- float amount = abs(lDepth - lMidDepth);
-
- amount = clamp(amount / (lMidDepth * BLUR_FOV), 0.0, 1.0);
-
- color = (amount >= 0.0 && amount < 0.25) ? mix(color, blur2, (amount - 0.0) / (0.25)) : color;
- color = (amount >= 0.25 && amount < 0.50) ? mix(blur2, blur4, (amount - 0.25) / (0.25)) : color;
- color = (amount >= 0.50 && amount < 0.75) ? mix(blur4, blur8, (amount - 0.50) / (0.25)) : color;
- color = (amount >= 0.75 && amount <= 1.00) ? blur8 : color;
-
- gl_FragColor.rgb = color;
- gl_FragColor.a = 1.0;
-}
-
-
+#version 120
+
+uniform sampler2D renderedTex;
+uniform sampler2D depthTex;
+uniform sampler2D blurTex2;
+uniform sampler2D blurTex4;
+uniform sampler2D blurTex8;
+
+uniform float width;
+uniform float height;
+
+uniform float zNear;
+uniform float zFar;
+
+uniform float brightness;
+uniform float hdr;
+uniform float saturation;
+uniform float bloom;
+
+varying vec2 v_tex;
+
+
+float linearizeDepth(float depth)
+{
+ return -zFar * zNear / (depth * (zFar - zNear) - zFar);
+}
+
+
+void main(void)
+{
+ vec3 color = texture2D(renderedTex, v_tex).rgb;
+
+ vec3 blur2 = texture2D(blurTex2, v_tex).rgb;
+ vec3 blur4 = texture2D(blurTex4, v_tex).rgb;
+ vec3 blur8 = texture2D(blurTex8, v_tex).rgb;
+
+ float depth = texture2D(depthTex, v_tex).r;
+
+ float midDepth = texture2D(depthTex, vec2(0.5, 0.5)).r;
+ midDepth += texture2D(depthTex, vec2(0.4, 0.4)).r;
+ midDepth += texture2D(depthTex, vec2(0.4, 0.6)).r;
+ midDepth += texture2D(depthTex, vec2(0.6, 0.4)).r;
+ midDepth += texture2D(depthTex, vec2(0.6, 0.6)).r;
+
+ midDepth /= 5.0;
+
+
+ float lDepth = linearizeDepth(depth);
+ float lMidDepth = linearizeDepth(midDepth);
+ float amount = abs(lDepth - lMidDepth);
+
+ amount = clamp(amount / (lMidDepth * BLUR_FOV), 0.0, 1.0);
+
+ color = (amount >= 0.0 && amount < 0.25) ? mix(color, blur2, (amount - 0.0) / (0.25)) : color;
+ color = (amount >= 0.25 && amount < 0.50) ? mix(blur2, blur4, (amount - 0.25) / (0.25)) : color;
+ color = (amount >= 0.50 && amount < 0.75) ? mix(blur4, blur8, (amount - 0.50) / (0.25)) : color;
+ color = (amount >= 0.75 && amount <= 1.00) ? blur8 : color;
+
+ gl_FragColor.rgb = color;
+ gl_FragColor.a = 1.0;
+}
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/dof.xml b/binaries/data/mods/public/shaders/glsl/dof.xml
index c3212bf968..38b8688a6f 100644
--- a/binaries/data/mods/public/shaders/glsl/dof.xml
+++ b/binaries/data/mods/public/shaders/glsl/dof.xml
@@ -1,13 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/hdr.fs b/binaries/data/mods/public/shaders/glsl/hdr.fs
index 397ac7577c..15b3aab430 100644
--- a/binaries/data/mods/public/shaders/glsl/hdr.fs
+++ b/binaries/data/mods/public/shaders/glsl/hdr.fs
@@ -1,49 +1,49 @@
-#version 120
-
-uniform sampler2D renderedTex;
-uniform sampler2D depthTex;
-uniform sampler2D blurTex2;
-uniform sampler2D blurTex4;
-uniform sampler2D blurTex8;
-
-uniform float width;
-uniform float height;
-
-uniform float brightness;
-uniform float hdr;
-uniform float saturation;
-uniform float bloom;
-
-varying vec2 v_tex;
-
-
-void main(void)
-{
- vec3 color = texture2D(renderedTex, v_tex).rgb;
- vec3 bloomv2 = texture2D(blurTex2, v_tex).rgb;
- vec3 bloomv4 = texture2D(blurTex4, v_tex).rgb;
- vec3 bloomv8 = texture2D(blurTex8, v_tex).rgb;
-
- bloomv2 = max(bloomv2 - bloom, vec3(0.0));
- bloomv4 = max(bloomv4 - bloom, vec3(0.0));
- bloomv8 = max(bloomv8 - bloom, vec3(0.0));
-
- vec3 bloomv = (bloomv2 + bloomv4 + bloomv8) / 3.0;
-
- bloomv = mix(bloomv, color, bloom/0.2);
-
- color = max(bloomv, color);
-
- color += vec3(brightness);
-
- color -= vec3(0.5);
- color *= vec3(hdr);
- color += vec3(0.5);
-
- color = mix(vec3(dot(color, vec3(0.299, 0.587, 0.114))), color, saturation);
-
- gl_FragColor.rgb = color;
- gl_FragColor.a = 1.0;
-}
-
-
+#version 120
+
+uniform sampler2D renderedTex;
+uniform sampler2D depthTex;
+uniform sampler2D blurTex2;
+uniform sampler2D blurTex4;
+uniform sampler2D blurTex8;
+
+uniform float width;
+uniform float height;
+
+uniform float brightness;
+uniform float hdr;
+uniform float saturation;
+uniform float bloom;
+
+varying vec2 v_tex;
+
+
+void main(void)
+{
+ vec3 color = texture2D(renderedTex, v_tex).rgb;
+ vec3 bloomv2 = texture2D(blurTex2, v_tex).rgb;
+ vec3 bloomv4 = texture2D(blurTex4, v_tex).rgb;
+ vec3 bloomv8 = texture2D(blurTex8, v_tex).rgb;
+
+ bloomv2 = max(bloomv2 - bloom, vec3(0.0));
+ bloomv4 = max(bloomv4 - bloom, vec3(0.0));
+ bloomv8 = max(bloomv8 - bloom, vec3(0.0));
+
+ vec3 bloomv = (bloomv2 + bloomv4 + bloomv8) / 3.0;
+
+ bloomv = mix(bloomv, color, bloom/0.2);
+
+ color = max(bloomv, color);
+
+ color += vec3(brightness);
+
+ color -= vec3(0.5);
+ color *= vec3(hdr);
+ color += vec3(0.5);
+
+ color = mix(vec3(dot(color, vec3(0.299, 0.587, 0.114))), color, saturation);
+
+ gl_FragColor.rgb = color;
+ gl_FragColor.a = 1.0;
+}
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/hdr.vs b/binaries/data/mods/public/shaders/glsl/hdr.vs
index be50844f1f..cdf37fa8b3 100644
--- a/binaries/data/mods/public/shaders/glsl/hdr.vs
+++ b/binaries/data/mods/public/shaders/glsl/hdr.vs
@@ -1,13 +1,13 @@
-#version 110
-
-varying vec2 v_tex;
-
-attribute vec3 a_vertex;
-attribute vec2 a_uv0;
-
-void main()
-{
- gl_Position = vec4(a_vertex, 1.0);
-
- v_tex = a_uv0;
-}
+#version 110
+
+varying vec2 v_tex;
+
+attribute vec3 a_vertex;
+attribute vec2 a_uv0;
+
+void main()
+{
+ gl_Position = vec4(a_vertex, 1.0);
+
+ v_tex = a_uv0;
+}
diff --git a/binaries/data/mods/public/shaders/glsl/hdr.xml b/binaries/data/mods/public/shaders/glsl/hdr.xml
index b17956761c..aaaad6cbf5 100644
--- a/binaries/data/mods/public/shaders/glsl/hdr.xml
+++ b/binaries/data/mods/public/shaders/glsl/hdr.xml
@@ -1,13 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/los_interp.fs b/binaries/data/mods/public/shaders/glsl/los_interp.fs
index 13a7f4df2c..897d271bb4 100644
--- a/binaries/data/mods/public/shaders/glsl/los_interp.fs
+++ b/binaries/data/mods/public/shaders/glsl/los_interp.fs
@@ -1,17 +1,17 @@
-#version 110
-
-varying vec2 v_tex;
-
-uniform sampler2D losTex1, losTex2;
-
-uniform vec3 delta;
-
-
-void main(void)
-{
- float los2 = texture2D(losTex1, v_tex).a;
- float los1 = texture2D(losTex2, v_tex).a;
-
- gl_FragColor.a = mix(los1, los2, clamp(delta.r, 0.0, 1.0));
-}
-
+#version 110
+
+varying vec2 v_tex;
+
+uniform sampler2D losTex1, losTex2;
+
+uniform vec3 delta;
+
+
+void main(void)
+{
+ float los2 = texture2D(losTex1, v_tex).a;
+ float los1 = texture2D(losTex2, v_tex).a;
+
+ gl_FragColor.a = mix(los1, los2, clamp(delta.r, 0.0, 1.0));
+}
+
diff --git a/binaries/data/mods/public/shaders/glsl/los_interp.vs b/binaries/data/mods/public/shaders/glsl/los_interp.vs
index df72569f0c..5065dea5ae 100644
--- a/binaries/data/mods/public/shaders/glsl/los_interp.vs
+++ b/binaries/data/mods/public/shaders/glsl/los_interp.vs
@@ -1,19 +1,19 @@
-#version 110
-
-uniform mat4 transform;
-uniform vec2 losTransform;
-
-varying vec2 v_tex;
-
-attribute vec3 a_vertex;
-attribute vec2 a_uv0;
-
-
-varying vec2 v_los;
-
-void main()
-{
- gl_Position = vec4(a_vertex, 1.0);
-
- v_tex = a_uv0;
-}
+#version 110
+
+uniform mat4 transform;
+uniform vec2 losTransform;
+
+varying vec2 v_tex;
+
+attribute vec3 a_vertex;
+attribute vec2 a_uv0;
+
+
+varying vec2 v_los;
+
+void main()
+{
+ gl_Position = vec4(a_vertex, 1.0);
+
+ v_tex = a_uv0;
+}
diff --git a/binaries/data/mods/public/shaders/glsl/los_interp.xml b/binaries/data/mods/public/shaders/glsl/los_interp.xml
index f7cfe06aa4..d146d441c0 100644
--- a/binaries/data/mods/public/shaders/glsl/los_interp.xml
+++ b/binaries/data/mods/public/shaders/glsl/los_interp.xml
@@ -1,13 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/model_common.fs b/binaries/data/mods/public/shaders/glsl/model_common.fs
index 200545438d..3b5e775ade 100644
--- a/binaries/data/mods/public/shaders/glsl/model_common.fs
+++ b/binaries/data/mods/public/shaders/glsl/model_common.fs
@@ -1,239 +1,239 @@
-#version 120
-
-uniform sampler2D baseTex;
-uniform sampler2D losTex;
-uniform sampler2D aoTex;
-uniform sampler2D normTex;
-uniform sampler2D specTex;
-
-#if USE_SHADOW
- varying vec4 v_shadow;
- #if USE_SHADOW_SAMPLER
- uniform sampler2DShadow shadowTex;
- #if USE_SHADOW_PCF
- uniform vec4 shadowScale;
- #endif
- #else
- uniform sampler2D shadowTex;
- #endif
-#endif
-
-#if USE_OBJECTCOLOR
- uniform vec3 objectColor;
-#else
-#if USE_PLAYERCOLOR
- uniform vec3 playerColor;
-#endif
-#endif
-
-uniform vec3 shadingColor;
-uniform vec3 ambient;
-uniform vec3 sunColor;
-uniform vec3 sunDir;
-
-uniform vec3 fogColor;
-uniform vec2 fogParams;
-
-varying vec4 v_lighting;
-varying vec2 v_tex;
-varying vec2 v_los;
-
-#if (USE_INSTANCING || USE_GPU_SKINNING) && USE_AO
- varying vec2 v_tex2;
-#endif
-
-#if USE_SPECULAR
- uniform float specularPower;
- uniform vec3 specularColor;
-#endif
-
-#if USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_PARALLAX || USE_AO
- uniform vec4 effectSettings;
-#endif
-
-#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_PARALLAX
- varying vec4 v_normal;
- #if (USE_INSTANCING || USE_GPU_SKINNING) && (USE_NORMAL_MAP || USE_PARALLAX)
- varying vec4 v_tangent;
- //varying vec3 v_bitangent;
- #endif
- #if USE_SPECULAR || USE_SPECULAR_MAP
- varying vec3 v_half;
- #endif
- #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_PARALLAX
- varying vec3 v_eyeVec;
- #endif
-#endif
-
-float get_shadow()
-{
- float shadowBias = 0.003;
- #if USE_SHADOW && !DISABLE_RECEIVE_SHADOWS
- float biasedShdwZ = v_shadow.z - shadowBias;
- #if USE_SHADOW_SAMPLER
- #if USE_SHADOW_PCF
- vec2 offset = fract(v_shadow.xy - 0.5);
- vec4 size = vec4(offset + 1.0, 2.0 - offset);
- vec4 weight = (vec4(1.0, 1.0, -0.5, -0.5) + (v_shadow.xy - 0.5*offset).xyxy) * shadowScale.zwzw;
- return (1.0/9.0)*dot(size.zxzx*size.wwyy,
- vec4(shadow2D(shadowTex, vec3(weight.zw, biasedShdwZ)).r,
- shadow2D(shadowTex, vec3(weight.xw, biasedShdwZ)).r,
- shadow2D(shadowTex, vec3(weight.zy, biasedShdwZ)).r,
- shadow2D(shadowTex, vec3(weight.xy, biasedShdwZ)).r));
- #else
- return shadow2D(shadowTex, vec3(v_shadow.xy, biasedShdwZ)).r;
- #endif
- #else
- if (biasedShdwZ >= 1.0)
- return 1.0;
- return (biasedShdwZ < texture2D(shadowTex, v_shadow.xy).x ? 1.0 : 0.0);
- #endif
- #else
- return 1.0;
- #endif
-}
-
-vec3 get_fog(vec3 color)
-{
- float density = fogParams.x;
- float maxFog = fogParams.y;
-
- const float LOG2 = 1.442695;
- float z = gl_FragCoord.z / gl_FragCoord.w;
- float fogFactor = exp2(-density * density * z * z * LOG2);
-
- fogFactor = fogFactor * (1.0 - maxFog) + maxFog;
-
- fogFactor = clamp(fogFactor, 0.0, 1.0);
-
- return mix(fogColor, color, fogFactor);
-}
-
-void main()
-{
- vec2 coord = v_tex;
-
- #if (USE_INSTANCING || USE_GPU_SKINNING) && (USE_PARALLAX || USE_NORMAL_MAP)
- vec3 bitangent = vec3(v_normal.w, v_tangent.w, v_lighting.w);
- mat3 tbn = mat3(v_tangent.xyz, bitangent, v_normal.xyz);
- #endif
-
- #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_PARALLAX
- {
- float h = texture2D(normTex, coord).a;
-
- vec3 eyeDir = normalize(v_eyeVec * tbn);
- float dist = length(v_eyeVec);
-
- vec2 move;
- float height = 1.0;
- float scale = effectSettings.z;
-
- int iter = int(min(20, 25.0 - dist/10.0));
-
- if (iter > 0.01)
- {
- float s = 1.0/iter;
- float t = s;
- move = vec2(-eyeDir.x, eyeDir.y) * scale / (eyeDir.z * iter);
- vec2 nil = vec2(0.0);
-
- for (int i = 0; i < iter; ++i) {
- height -= t;
- t = (h < height) ? s : 0.0;
- vec2 temp = (h < height) ? move : nil;
- coord += temp;
- h = texture2D(normTex, coord).a;
- }
-
- // Move back to where we collided with the surface.
- // This assumes the surface is linear between the sample point before we
- // intersect the surface and after we intersect the surface
- float hp = texture2D(normTex, coord - move).a;
- coord -= move * ((h - height) / (s + h - hp));
- }
- }
- #endif
-
- vec4 tex = texture2D(baseTex, coord);
-
- // Alpha-test as early as possible
- #ifdef REQUIRE_ALPHA_GEQUAL
- if (tex.a < REQUIRE_ALPHA_GEQUAL)
- discard;
- #endif
-
- #if USE_TRANSPARENT
- gl_FragColor.a = tex.a;
- #else
- gl_FragColor.a = 1.0;
- #endif
-
- vec3 texdiffuse = tex.rgb;
-
- // Apply-coloring based on texture alpha
- #if USE_OBJECTCOLOR
- texdiffuse *= mix(objectColor, vec3(1.0, 1.0, 1.0), tex.a);
- #else
- #if USE_PLAYERCOLOR
- texdiffuse *= mix(playerColor, vec3(1.0, 1.0, 1.0), tex.a);
- #endif
- #endif
-
- #if USE_SPECULAR || USE_SPECULAR_MAP || USE_NORMAL_MAP
- vec3 normal = v_normal.xyz;
- #endif
-
- #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_NORMAL_MAP
- vec3 ntex = texture2D(normTex, coord).rgb * 2.0 - 1.0;
- ntex.y = -ntex.y;
- normal = normalize(tbn * ntex);
- vec3 bumplight = max(dot(-sunDir, normal), 0.0) * sunColor;
- vec3 sundiffuse = (bumplight - v_lighting.rgb) * effectSettings.x + v_lighting.rgb;
- #else
- vec3 sundiffuse = v_lighting.rgb;
- #endif
-
- vec4 specular = vec4(0.0);
- #if USE_SPECULAR || USE_SPECULAR_MAP
- vec3 specCol;
- float specPow;
- #if USE_SPECULAR_MAP
- vec4 s = texture2D(specTex, coord);
- specCol = s.rgb;
- specular.a = s.a;
- specPow = effectSettings.y;
- #else
- specCol = specularColor;
- specPow = specularPower;
- #endif
- specular.rgb = sunColor * specCol * pow(max(0.0, dot(normalize(normal), v_half)), specPow);
- #endif
-
- vec3 color = (texdiffuse * sundiffuse + specular.rgb) * get_shadow();
- vec3 ambColor = texdiffuse * ambient;
-
- #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_AO
- vec3 ao = texture2D(aoTex, v_tex2).rrr;
- ao = mix(vec3(1.0), ao * 2.0, effectSettings.w);
- ambColor *= ao;
- #endif
-
- color += ambColor;
-
- #if USE_SPECULAR_MAP && USE_SELF_LIGHT
- color = mix(texdiffuse, color, specular.a);
- #endif
-
- color = get_fog(color);
-
- #if !IGNORE_LOS
- float los = texture2D(losTex, v_los).a;
- los = los < 0.03 ? 0.0 : los;
- color *= los;
- #endif
-
- color *= shadingColor;
-
- gl_FragColor.rgb = color;
-}
+#version 120
+
+uniform sampler2D baseTex;
+uniform sampler2D losTex;
+uniform sampler2D aoTex;
+uniform sampler2D normTex;
+uniform sampler2D specTex;
+
+#if USE_SHADOW
+ varying vec4 v_shadow;
+ #if USE_SHADOW_SAMPLER
+ uniform sampler2DShadow shadowTex;
+ #if USE_SHADOW_PCF
+ uniform vec4 shadowScale;
+ #endif
+ #else
+ uniform sampler2D shadowTex;
+ #endif
+#endif
+
+#if USE_OBJECTCOLOR
+ uniform vec3 objectColor;
+#else
+#if USE_PLAYERCOLOR
+ uniform vec3 playerColor;
+#endif
+#endif
+
+uniform vec3 shadingColor;
+uniform vec3 ambient;
+uniform vec3 sunColor;
+uniform vec3 sunDir;
+
+uniform vec3 fogColor;
+uniform vec2 fogParams;
+
+varying vec4 v_lighting;
+varying vec2 v_tex;
+varying vec2 v_los;
+
+#if (USE_INSTANCING || USE_GPU_SKINNING) && USE_AO
+ varying vec2 v_tex2;
+#endif
+
+#if USE_SPECULAR
+ uniform float specularPower;
+ uniform vec3 specularColor;
+#endif
+
+#if USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_PARALLAX || USE_AO
+ uniform vec4 effectSettings;
+#endif
+
+#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_PARALLAX
+ varying vec4 v_normal;
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && (USE_NORMAL_MAP || USE_PARALLAX)
+ varying vec4 v_tangent;
+ //varying vec3 v_bitangent;
+ #endif
+ #if USE_SPECULAR || USE_SPECULAR_MAP
+ varying vec3 v_half;
+ #endif
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_PARALLAX
+ varying vec3 v_eyeVec;
+ #endif
+#endif
+
+float get_shadow()
+{
+ float shadowBias = 0.003;
+ #if USE_SHADOW && !DISABLE_RECEIVE_SHADOWS
+ float biasedShdwZ = v_shadow.z - shadowBias;
+ #if USE_SHADOW_SAMPLER
+ #if USE_SHADOW_PCF
+ vec2 offset = fract(v_shadow.xy - 0.5);
+ vec4 size = vec4(offset + 1.0, 2.0 - offset);
+ vec4 weight = (vec4(1.0, 1.0, -0.5, -0.5) + (v_shadow.xy - 0.5*offset).xyxy) * shadowScale.zwzw;
+ return (1.0/9.0)*dot(size.zxzx*size.wwyy,
+ vec4(shadow2D(shadowTex, vec3(weight.zw, biasedShdwZ)).r,
+ shadow2D(shadowTex, vec3(weight.xw, biasedShdwZ)).r,
+ shadow2D(shadowTex, vec3(weight.zy, biasedShdwZ)).r,
+ shadow2D(shadowTex, vec3(weight.xy, biasedShdwZ)).r));
+ #else
+ return shadow2D(shadowTex, vec3(v_shadow.xy, biasedShdwZ)).r;
+ #endif
+ #else
+ if (biasedShdwZ >= 1.0)
+ return 1.0;
+ return (biasedShdwZ < texture2D(shadowTex, v_shadow.xy).x ? 1.0 : 0.0);
+ #endif
+ #else
+ return 1.0;
+ #endif
+}
+
+vec3 get_fog(vec3 color)
+{
+ float density = fogParams.x;
+ float maxFog = fogParams.y;
+
+ const float LOG2 = 1.442695;
+ float z = gl_FragCoord.z / gl_FragCoord.w;
+ float fogFactor = exp2(-density * density * z * z * LOG2);
+
+ fogFactor = fogFactor * (1.0 - maxFog) + maxFog;
+
+ fogFactor = clamp(fogFactor, 0.0, 1.0);
+
+ return mix(fogColor, color, fogFactor);
+}
+
+void main()
+{
+ vec2 coord = v_tex;
+
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && (USE_PARALLAX || USE_NORMAL_MAP)
+ vec3 bitangent = vec3(v_normal.w, v_tangent.w, v_lighting.w);
+ mat3 tbn = mat3(v_tangent.xyz, bitangent, v_normal.xyz);
+ #endif
+
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_PARALLAX
+ {
+ float h = texture2D(normTex, coord).a;
+
+ vec3 eyeDir = normalize(v_eyeVec * tbn);
+ float dist = length(v_eyeVec);
+
+ vec2 move;
+ float height = 1.0;
+ float scale = effectSettings.z;
+
+ int iter = int(min(20, 25.0 - dist/10.0));
+
+ if (iter > 0.01)
+ {
+ float s = 1.0/iter;
+ float t = s;
+ move = vec2(-eyeDir.x, eyeDir.y) * scale / (eyeDir.z * iter);
+ vec2 nil = vec2(0.0);
+
+ for (int i = 0; i < iter; ++i) {
+ height -= t;
+ t = (h < height) ? s : 0.0;
+ vec2 temp = (h < height) ? move : nil;
+ coord += temp;
+ h = texture2D(normTex, coord).a;
+ }
+
+ // Move back to where we collided with the surface.
+ // This assumes the surface is linear between the sample point before we
+ // intersect the surface and after we intersect the surface
+ float hp = texture2D(normTex, coord - move).a;
+ coord -= move * ((h - height) / (s + h - hp));
+ }
+ }
+ #endif
+
+ vec4 tex = texture2D(baseTex, coord);
+
+ // Alpha-test as early as possible
+ #ifdef REQUIRE_ALPHA_GEQUAL
+ if (tex.a < REQUIRE_ALPHA_GEQUAL)
+ discard;
+ #endif
+
+ #if USE_TRANSPARENT
+ gl_FragColor.a = tex.a;
+ #else
+ gl_FragColor.a = 1.0;
+ #endif
+
+ vec3 texdiffuse = tex.rgb;
+
+ // Apply-coloring based on texture alpha
+ #if USE_OBJECTCOLOR
+ texdiffuse *= mix(objectColor, vec3(1.0, 1.0, 1.0), tex.a);
+ #else
+ #if USE_PLAYERCOLOR
+ texdiffuse *= mix(playerColor, vec3(1.0, 1.0, 1.0), tex.a);
+ #endif
+ #endif
+
+ #if USE_SPECULAR || USE_SPECULAR_MAP || USE_NORMAL_MAP
+ vec3 normal = v_normal.xyz;
+ #endif
+
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_NORMAL_MAP
+ vec3 ntex = texture2D(normTex, coord).rgb * 2.0 - 1.0;
+ ntex.y = -ntex.y;
+ normal = normalize(tbn * ntex);
+ vec3 bumplight = max(dot(-sunDir, normal), 0.0) * sunColor;
+ vec3 sundiffuse = (bumplight - v_lighting.rgb) * effectSettings.x + v_lighting.rgb;
+ #else
+ vec3 sundiffuse = v_lighting.rgb;
+ #endif
+
+ vec4 specular = vec4(0.0);
+ #if USE_SPECULAR || USE_SPECULAR_MAP
+ vec3 specCol;
+ float specPow;
+ #if USE_SPECULAR_MAP
+ vec4 s = texture2D(specTex, coord);
+ specCol = s.rgb;
+ specular.a = s.a;
+ specPow = effectSettings.y;
+ #else
+ specCol = specularColor;
+ specPow = specularPower;
+ #endif
+ specular.rgb = sunColor * specCol * pow(max(0.0, dot(normalize(normal), v_half)), specPow);
+ #endif
+
+ vec3 color = (texdiffuse * sundiffuse + specular.rgb) * get_shadow();
+ vec3 ambColor = texdiffuse * ambient;
+
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_AO
+ vec3 ao = texture2D(aoTex, v_tex2).rrr;
+ ao = mix(vec3(1.0), ao * 2.0, effectSettings.w);
+ ambColor *= ao;
+ #endif
+
+ color += ambColor;
+
+ #if USE_SPECULAR_MAP && USE_SELF_LIGHT
+ color = mix(texdiffuse, color, specular.a);
+ #endif
+
+ color = get_fog(color);
+
+ #if !IGNORE_LOS
+ float los = texture2D(losTex, v_los).a;
+ los = los < 0.03 ? 0.0 : los;
+ color *= los;
+ #endif
+
+ color *= shadingColor;
+
+ gl_FragColor.rgb = color;
+}
diff --git a/binaries/data/mods/public/shaders/glsl/model_common.vs b/binaries/data/mods/public/shaders/glsl/model_common.vs
index f4e64640dd..f667e10db3 100644
--- a/binaries/data/mods/public/shaders/glsl/model_common.vs
+++ b/binaries/data/mods/public/shaders/glsl/model_common.vs
@@ -1,184 +1,184 @@
-#version 120
-
-uniform mat4 transform;
-uniform vec3 cameraPos;
-#ifdef GL_ES
-uniform mediump vec3 sunDir;
-uniform mediump vec3 sunColor;
-#else
-uniform vec3 sunDir;
-uniform vec3 sunColor;
-#endif
-uniform vec2 losTransform;
-uniform mat4 shadowTransform;
-uniform mat4 instancingTransform;
-
-#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- uniform vec4 shadowScale;
-#endif
-
-#if USE_WIND
- uniform vec4 sim_time;
- uniform vec4 windData;
-#endif
-
-varying vec4 v_lighting;
-varying vec2 v_tex;
-varying vec2 v_los;
-
-#if USE_SHADOW
- varying vec4 v_shadow;
-#endif
-
-#if (USE_INSTANCING || USE_GPU_SKINNING) && USE_AO
- varying vec2 v_tex2;
-#endif
-
-#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_PARALLAX
- varying vec4 v_normal;
- #if (USE_INSTANCING || USE_GPU_SKINNING) && (USE_NORMAL_MAP || USE_PARALLAX)
- varying vec4 v_tangent;
- //varying vec3 v_bitangent;
- #endif
- #if USE_SPECULAR || USE_SPECULAR_MAP
- varying vec3 v_half;
- #endif
- #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_PARALLAX
- varying vec3 v_eyeVec;
- #endif
-#endif
-
-attribute vec3 a_vertex;
-attribute vec3 a_normal;
-#if (USE_INSTANCING || USE_GPU_SKINNING)
- attribute vec4 a_tangent;
-#endif
-attribute vec2 a_uv0;
-attribute vec2 a_uv1;
-
-#if USE_GPU_SKINNING
- const int MAX_INFLUENCES = 4;
- const int MAX_BONES = 64;
- uniform mat4 skinBlendMatrices[MAX_BONES];
- attribute vec4 a_skinJoints;
- attribute vec4 a_skinWeights;
-#endif
-
-
-vec4 fakeCos(vec4 x)
-{
- vec4 tri = abs(fract(x + 0.5) * 2.0 - 1.0);
- return tri * tri *(3.0 - 2.0 * tri);
-}
-
-
-void main()
-{
- #if USE_GPU_SKINNING
- vec3 p = vec3(0.0);
- vec3 n = vec3(0.0);
- for (int i = 0; i < MAX_INFLUENCES; ++i) {
- int joint = int(a_skinJoints[i]);
- if (joint != 0xff) {
- mat4 m = skinBlendMatrices[joint];
- p += vec3(m * vec4(a_vertex, 1.0)) * a_skinWeights[i];
- n += vec3(m * vec4(a_normal, 0.0)) * a_skinWeights[i];
- }
- }
- vec4 position = instancingTransform * vec4(p, 1.0);
- mat3 normalMatrix = mat3(instancingTransform[0].xyz, instancingTransform[1].xyz, instancingTransform[2].xyz);
- vec3 normal = normalMatrix * normalize(n);
- #if (USE_NORMAL_MAP || USE_PARALLAX)
- vec3 tangent = normalMatrix * a_tangent.xyz;
- #endif
- #else
- #if (USE_INSTANCING)
- vec4 position = instancingTransform * vec4(a_vertex, 1.0);
- mat3 normalMatrix = mat3(instancingTransform[0].xyz, instancingTransform[1].xyz, instancingTransform[2].xyz);
- vec3 normal = normalMatrix * a_normal;
- #if (USE_NORMAL_MAP || USE_PARALLAX)
- vec3 tangent = normalMatrix * a_tangent.xyz;
- #endif
- #else
- vec4 position = vec4(a_vertex, 1.0);
- vec3 normal = a_normal;
- #endif
- #endif
-
-
- #if USE_WIND
- vec2 wind = windData.xy;
-
- // fractional part of model position, clamped to >.4
- vec4 modelPos = instancingTransform[3];
- modelPos = fract(modelPos);
- modelPos = clamp(modelPos, 0.4, 1.0);
-
- // crude measure of wind intensity
- float abswind = abs(wind.x) + abs(wind.y);
-
- vec4 cosVec;
- // these determine the speed of the wind's "cosine" waves.
- cosVec.w = 0.0;
- cosVec.x = sim_time.x * modelPos[0] + position.x;
- cosVec.y = sim_time.x * modelPos[2] / 3.0 + instancingTransform[3][0];
- cosVec.z = sim_time.x * abswind / 4.0 + position.z;
-
- // calculate "cosines" in parallel, using a smoothed triangle wave
- cosVec = fakeCos(cosVec);
-
- float limit = clamp((a_vertex.x * a_vertex.z * a_vertex.y) / 3000.0, 0.0, 0.2);
-
- float diff = cosVec.x * limit;
- float diff2 = cosVec.y * clamp(a_vertex.y / 60.0, 0.0, 0.25);
-
- // fluttering of model parts based on distance from model center (ie longer branches)
- position.xyz += cosVec.z * limit * clamp(abswind, 1.2, 1.7);
-
- // swaying of trunk based on distance from ground (higher parts sway more)
- position.xz += diff + diff2 * wind;
- #endif
-
-
- gl_Position = transform * position;
-
- #if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_PARALLAX
- v_normal.xyz = normal;
-
- #if (USE_INSTANCING || USE_GPU_SKINNING) && (USE_NORMAL_MAP || USE_PARALLAX)
- v_tangent.xyz = tangent;
- vec3 bitangent = cross(v_normal.xyz, v_tangent.xyz) * a_tangent.w;
- v_normal.w = bitangent.x;
- v_tangent.w = bitangent.y;
- v_lighting.w = bitangent.z;
- #endif
-
- #if USE_SPECULAR || USE_SPECULAR_MAP || USE_PARALLAX
- vec3 eyeVec = cameraPos.xyz - position.xyz;
- #if USE_SPECULAR || USE_SPECULAR_MAP
- vec3 sunVec = -sunDir;
- v_half = normalize(sunVec + normalize(eyeVec));
- #endif
- #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_PARALLAX
- v_eyeVec = eyeVec;
- #endif
- #endif
- #endif
-
- v_lighting.xyz = max(0.0, dot(normal, -sunDir)) * sunColor;
-
- v_tex = a_uv0;
-
- #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_AO
- v_tex2 = a_uv1;
- #endif
-
- #if USE_SHADOW
- v_shadow = shadowTransform * position;
- #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- v_shadow.xy *= shadowScale.xy;
- #endif
- #endif
-
- v_los = position.xz * losTransform.x + losTransform.y;
-}
+#version 120
+
+uniform mat4 transform;
+uniform vec3 cameraPos;
+#ifdef GL_ES
+uniform mediump vec3 sunDir;
+uniform mediump vec3 sunColor;
+#else
+uniform vec3 sunDir;
+uniform vec3 sunColor;
+#endif
+uniform vec2 losTransform;
+uniform mat4 shadowTransform;
+uniform mat4 instancingTransform;
+
+#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ uniform vec4 shadowScale;
+#endif
+
+#if USE_WIND
+ uniform vec4 sim_time;
+ uniform vec4 windData;
+#endif
+
+varying vec4 v_lighting;
+varying vec2 v_tex;
+varying vec2 v_los;
+
+#if USE_SHADOW
+ varying vec4 v_shadow;
+#endif
+
+#if (USE_INSTANCING || USE_GPU_SKINNING) && USE_AO
+ varying vec2 v_tex2;
+#endif
+
+#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_PARALLAX
+ varying vec4 v_normal;
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && (USE_NORMAL_MAP || USE_PARALLAX)
+ varying vec4 v_tangent;
+ //varying vec3 v_bitangent;
+ #endif
+ #if USE_SPECULAR || USE_SPECULAR_MAP
+ varying vec3 v_half;
+ #endif
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_PARALLAX
+ varying vec3 v_eyeVec;
+ #endif
+#endif
+
+attribute vec3 a_vertex;
+attribute vec3 a_normal;
+#if (USE_INSTANCING || USE_GPU_SKINNING)
+ attribute vec4 a_tangent;
+#endif
+attribute vec2 a_uv0;
+attribute vec2 a_uv1;
+
+#if USE_GPU_SKINNING
+ const int MAX_INFLUENCES = 4;
+ const int MAX_BONES = 64;
+ uniform mat4 skinBlendMatrices[MAX_BONES];
+ attribute vec4 a_skinJoints;
+ attribute vec4 a_skinWeights;
+#endif
+
+
+vec4 fakeCos(vec4 x)
+{
+ vec4 tri = abs(fract(x + 0.5) * 2.0 - 1.0);
+ return tri * tri *(3.0 - 2.0 * tri);
+}
+
+
+void main()
+{
+ #if USE_GPU_SKINNING
+ vec3 p = vec3(0.0);
+ vec3 n = vec3(0.0);
+ for (int i = 0; i < MAX_INFLUENCES; ++i) {
+ int joint = int(a_skinJoints[i]);
+ if (joint != 0xff) {
+ mat4 m = skinBlendMatrices[joint];
+ p += vec3(m * vec4(a_vertex, 1.0)) * a_skinWeights[i];
+ n += vec3(m * vec4(a_normal, 0.0)) * a_skinWeights[i];
+ }
+ }
+ vec4 position = instancingTransform * vec4(p, 1.0);
+ mat3 normalMatrix = mat3(instancingTransform[0].xyz, instancingTransform[1].xyz, instancingTransform[2].xyz);
+ vec3 normal = normalMatrix * normalize(n);
+ #if (USE_NORMAL_MAP || USE_PARALLAX)
+ vec3 tangent = normalMatrix * a_tangent.xyz;
+ #endif
+ #else
+ #if (USE_INSTANCING)
+ vec4 position = instancingTransform * vec4(a_vertex, 1.0);
+ mat3 normalMatrix = mat3(instancingTransform[0].xyz, instancingTransform[1].xyz, instancingTransform[2].xyz);
+ vec3 normal = normalMatrix * a_normal;
+ #if (USE_NORMAL_MAP || USE_PARALLAX)
+ vec3 tangent = normalMatrix * a_tangent.xyz;
+ #endif
+ #else
+ vec4 position = vec4(a_vertex, 1.0);
+ vec3 normal = a_normal;
+ #endif
+ #endif
+
+
+ #if USE_WIND
+ vec2 wind = windData.xy;
+
+ // fractional part of model position, clamped to >.4
+ vec4 modelPos = instancingTransform[3];
+ modelPos = fract(modelPos);
+ modelPos = clamp(modelPos, 0.4, 1.0);
+
+ // crude measure of wind intensity
+ float abswind = abs(wind.x) + abs(wind.y);
+
+ vec4 cosVec;
+ // these determine the speed of the wind's "cosine" waves.
+ cosVec.w = 0.0;
+ cosVec.x = sim_time.x * modelPos[0] + position.x;
+ cosVec.y = sim_time.x * modelPos[2] / 3.0 + instancingTransform[3][0];
+ cosVec.z = sim_time.x * abswind / 4.0 + position.z;
+
+ // calculate "cosines" in parallel, using a smoothed triangle wave
+ cosVec = fakeCos(cosVec);
+
+ float limit = clamp((a_vertex.x * a_vertex.z * a_vertex.y) / 3000.0, 0.0, 0.2);
+
+ float diff = cosVec.x * limit;
+ float diff2 = cosVec.y * clamp(a_vertex.y / 60.0, 0.0, 0.25);
+
+ // fluttering of model parts based on distance from model center (ie longer branches)
+ position.xyz += cosVec.z * limit * clamp(abswind, 1.2, 1.7);
+
+ // swaying of trunk based on distance from ground (higher parts sway more)
+ position.xz += diff + diff2 * wind;
+ #endif
+
+
+ gl_Position = transform * position;
+
+ #if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_PARALLAX
+ v_normal.xyz = normal;
+
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && (USE_NORMAL_MAP || USE_PARALLAX)
+ v_tangent.xyz = tangent;
+ vec3 bitangent = cross(v_normal.xyz, v_tangent.xyz) * a_tangent.w;
+ v_normal.w = bitangent.x;
+ v_tangent.w = bitangent.y;
+ v_lighting.w = bitangent.z;
+ #endif
+
+ #if USE_SPECULAR || USE_SPECULAR_MAP || USE_PARALLAX
+ vec3 eyeVec = cameraPos.xyz - position.xyz;
+ #if USE_SPECULAR || USE_SPECULAR_MAP
+ vec3 sunVec = -sunDir;
+ v_half = normalize(sunVec + normalize(eyeVec));
+ #endif
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_PARALLAX
+ v_eyeVec = eyeVec;
+ #endif
+ #endif
+ #endif
+
+ v_lighting.xyz = max(0.0, dot(normal, -sunDir)) * sunColor;
+
+ v_tex = a_uv0;
+
+ #if (USE_INSTANCING || USE_GPU_SKINNING) && USE_AO
+ v_tex2 = a_uv1;
+ #endif
+
+ #if USE_SHADOW
+ v_shadow = shadowTransform * position;
+ #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ v_shadow.xy *= shadowScale.xy;
+ #endif
+ #endif
+
+ v_los = position.xz * losTransform.x + losTransform.y;
+}
diff --git a/binaries/data/mods/public/shaders/glsl/model_solid.xml b/binaries/data/mods/public/shaders/glsl/model_solid.xml
index 8faa3943a6..0d490086a6 100644
--- a/binaries/data/mods/public/shaders/glsl/model_solid.xml
+++ b/binaries/data/mods/public/shaders/glsl/model_solid.xml
@@ -1,13 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/model_solid_player.xml b/binaries/data/mods/public/shaders/glsl/model_solid_player.xml
index 107bd693da..64e279bf73 100644
--- a/binaries/data/mods/public/shaders/glsl/model_solid_player.xml
+++ b/binaries/data/mods/public/shaders/glsl/model_solid_player.xml
@@ -1,13 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/model_solid_tex.xml b/binaries/data/mods/public/shaders/glsl/model_solid_tex.xml
index d6dafb490a..4c221e226c 100644
--- a/binaries/data/mods/public/shaders/glsl/model_solid_tex.xml
+++ b/binaries/data/mods/public/shaders/glsl/model_solid_tex.xml
@@ -1,15 +1,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/model_water.fs b/binaries/data/mods/public/shaders/glsl/model_water.fs
index 13bff937f3..354d1b0b82 100644
--- a/binaries/data/mods/public/shaders/glsl/model_water.fs
+++ b/binaries/data/mods/public/shaders/glsl/model_water.fs
@@ -1,150 +1,150 @@
-#version 120
-
-uniform sampler2D baseTex;
-uniform sampler2D losTex;
-uniform sampler2D aoTex;
-uniform sampler2D normTex;
-uniform sampler2D specTex;
-
-uniform sampler2D waterTex;
-uniform samplerCube skyCube;
-
-#if USE_SHADOW
- #if USE_SHADOW_SAMPLER
- uniform sampler2DShadow shadowTex;
- #if USE_SHADOW_PCF
- uniform vec4 shadowScale;
- #endif
- #else
- uniform sampler2D shadowTex;
- #endif
-#endif
-
-#if USE_OBJECTCOLOR
- uniform vec3 objectColor;
-#else
-#if USE_PLAYERCOLOR
- uniform vec3 playerColor;
-#endif
-#endif
-
-uniform vec3 shadingColor;
-uniform vec3 ambient;
-uniform vec3 sunColor;
-uniform vec3 sunDir;
-uniform vec3 cameraPos;
-
-uniform float specularStrength;
-uniform float waviness;
-uniform vec3 waterTint;
-uniform float murkiness;
-uniform vec3 reflectionTint;
-uniform float reflectionTintStrength;
-
-
-float waterDepth = 4.0;
-float fullDepth = 5.0; // Depth at which to use full murkiness (shallower water will be clearer)
-
-
-varying vec4 worldPos;
-varying vec4 v_tex;
-varying vec4 v_shadow;
-varying vec2 v_los;
-
-
-float get_shadow(vec4 coords)
-{
- #if USE_SHADOW && !DISABLE_RECEIVE_SHADOWS
- #if USE_SHADOW_SAMPLER
- #if USE_SHADOW_PCF
- vec2 offset = fract(coords.xy - 0.5);
- vec4 size = vec4(offset + 1.0, 2.0 - offset);
- vec4 weight = (vec4(1.0, 1.0, -0.5, -0.5) + (coords.xy - 0.5*offset).xyxy) * shadowScale.zwzw;
- return (1.0/9.0)*dot(size.zxzx*size.wwyy,
- vec4(shadow2D(shadowTex, vec3(weight.zw, coords.z)).r,
- shadow2D(shadowTex, vec3(weight.xw, coords.z)).r,
- shadow2D(shadowTex, vec3(weight.zy, coords.z)).r,
- shadow2D(shadowTex, vec3(weight.xy, coords.z)).r));
- #else
- return shadow2D(shadowTex, coords.xyz).r;
- #endif
- #else
- if (coords.z >= 1.0)
- return 1.0;
- return (coords.z <= texture2D(shadowTex, coords.xy).x ? 1.0 : 0.0);
- #endif
- #else
- return 1.0;
- #endif
-}
-
-
-void main()
-{
- vec3 n, l, h, v; // Normal, light vector, half-vector and view vector (vector to eye)
- float ndotl, ndoth, ndotv;
- float fresnel;
- float t; // Temporary variable
- vec2 reflCoords, refrCoords;
- vec3 reflColor, refrColor, specular;
- float losMod;
-
- //vec4 wtex = textureGrad(waterTex, vec3(fract(v_tex.xy), v_tex.z), dFdx(v_tex.xy), dFdy(v_tex.xy));
- vec4 wtex = texture2D(waterTex, fract(v_tex.xy));
-
- n = normalize(wtex.xzy - vec3(0.5, 0.5, 0.5));
- l = -sunDir;
- v = normalize(cameraPos - worldPos.xyz);
- h = normalize(l + v);
-
- ndotl = dot(n, l);
- ndoth = dot(n, h);
- ndotv = dot(n, v);
-
- fresnel = pow(1.0 - ndotv, 0.8); // A rather random Fresnel approximation
-
- //refrCoords = (0.5*gl_TexCoord[2].xy - 0.8*waviness*n.xz) / gl_TexCoord[2].w + 0.5; // Unbias texture coords
- //reflCoords = (0.5*gl_TexCoord[1].xy + waviness*n.xz) / gl_TexCoord[1].w + 0.5; // Unbias texture coords
-
- //vec3 dir = normalize(v + vec3(waviness*n.x, 0.0, waviness*n.z));
-
- vec3 eye = reflect(v, n);
-
- vec3 tex = textureCube(skyCube, eye).rgb;
-
- reflColor = mix(tex, sunColor * reflectionTint,
- reflectionTintStrength);
-
- //waterDepth = 4.0 + 2.0 * dot(abs(v_tex.zw - 0.5), vec2(0.5));
- waterDepth = 4.0;
-
- //refrColor = (0.5 + 0.5*ndotl) * mix(texture2D(refractionMap, refrCoords).rgb, sunColor * tint,
- refrColor = (0.5 + 0.5*ndotl) * mix(vec3(0.3), sunColor * waterTint,
- murkiness * clamp(waterDepth / fullDepth, 0.0, 1.0)); // Murkiness and tint at this pixel (tweaked based on lighting and depth)
-
- specular = pow(max(0.0, ndoth), 150.0f) * sunColor * specularStrength;
-
- losMod = texture2D(losTex, v_los).a;
-
- //losMod = texture2D(losMap, gl_TexCoord[3].st).a;
-
-#if USE_SHADOW
- float shadow = get_shadow(vec4(v_shadow.xy - 8*waviness*n.xz, v_shadow.zw));
- float fresShadow = mix(fresnel, fresnel*shadow, dot(sunColor, vec3(0.16666)));
-#else
- float fresShadow = fresnel;
-#endif
-
- vec3 color = mix(refrColor + 0.3*specular, reflColor + specular, fresShadow);
-
- gl_FragColor.rgb = color * losMod;
-
-
- //gl_FragColor.rgb = mix(refrColor + 0.3*specular, reflColor + specular, fresnel) * losMod;
-
- // Make alpha vary based on both depth (so it blends with the shore) and view angle (make it
- // become opaque faster at lower view angles so we can't look "underneath" the water plane)
- t = 18.0 * max(0.0, 0.7 - v.y);
- gl_FragColor.a = 0.15 * waterDepth * (1.2 + t + fresnel);
-}
-
+#version 120
+
+uniform sampler2D baseTex;
+uniform sampler2D losTex;
+uniform sampler2D aoTex;
+uniform sampler2D normTex;
+uniform sampler2D specTex;
+
+uniform sampler2D waterTex;
+uniform samplerCube skyCube;
+
+#if USE_SHADOW
+ #if USE_SHADOW_SAMPLER
+ uniform sampler2DShadow shadowTex;
+ #if USE_SHADOW_PCF
+ uniform vec4 shadowScale;
+ #endif
+ #else
+ uniform sampler2D shadowTex;
+ #endif
+#endif
+
+#if USE_OBJECTCOLOR
+ uniform vec3 objectColor;
+#else
+#if USE_PLAYERCOLOR
+ uniform vec3 playerColor;
+#endif
+#endif
+
+uniform vec3 shadingColor;
+uniform vec3 ambient;
+uniform vec3 sunColor;
+uniform vec3 sunDir;
+uniform vec3 cameraPos;
+
+uniform float specularStrength;
+uniform float waviness;
+uniform vec3 waterTint;
+uniform float murkiness;
+uniform vec3 reflectionTint;
+uniform float reflectionTintStrength;
+
+
+float waterDepth = 4.0;
+float fullDepth = 5.0; // Depth at which to use full murkiness (shallower water will be clearer)
+
+
+varying vec4 worldPos;
+varying vec4 v_tex;
+varying vec4 v_shadow;
+varying vec2 v_los;
+
+
+float get_shadow(vec4 coords)
+{
+ #if USE_SHADOW && !DISABLE_RECEIVE_SHADOWS
+ #if USE_SHADOW_SAMPLER
+ #if USE_SHADOW_PCF
+ vec2 offset = fract(coords.xy - 0.5);
+ vec4 size = vec4(offset + 1.0, 2.0 - offset);
+ vec4 weight = (vec4(1.0, 1.0, -0.5, -0.5) + (coords.xy - 0.5*offset).xyxy) * shadowScale.zwzw;
+ return (1.0/9.0)*dot(size.zxzx*size.wwyy,
+ vec4(shadow2D(shadowTex, vec3(weight.zw, coords.z)).r,
+ shadow2D(shadowTex, vec3(weight.xw, coords.z)).r,
+ shadow2D(shadowTex, vec3(weight.zy, coords.z)).r,
+ shadow2D(shadowTex, vec3(weight.xy, coords.z)).r));
+ #else
+ return shadow2D(shadowTex, coords.xyz).r;
+ #endif
+ #else
+ if (coords.z >= 1.0)
+ return 1.0;
+ return (coords.z <= texture2D(shadowTex, coords.xy).x ? 1.0 : 0.0);
+ #endif
+ #else
+ return 1.0;
+ #endif
+}
+
+
+void main()
+{
+ vec3 n, l, h, v; // Normal, light vector, half-vector and view vector (vector to eye)
+ float ndotl, ndoth, ndotv;
+ float fresnel;
+ float t; // Temporary variable
+ vec2 reflCoords, refrCoords;
+ vec3 reflColor, refrColor, specular;
+ float losMod;
+
+ //vec4 wtex = textureGrad(waterTex, vec3(fract(v_tex.xy), v_tex.z), dFdx(v_tex.xy), dFdy(v_tex.xy));
+ vec4 wtex = texture2D(waterTex, fract(v_tex.xy));
+
+ n = normalize(wtex.xzy - vec3(0.5, 0.5, 0.5));
+ l = -sunDir;
+ v = normalize(cameraPos - worldPos.xyz);
+ h = normalize(l + v);
+
+ ndotl = dot(n, l);
+ ndoth = dot(n, h);
+ ndotv = dot(n, v);
+
+ fresnel = pow(1.0 - ndotv, 0.8); // A rather random Fresnel approximation
+
+ //refrCoords = (0.5*gl_TexCoord[2].xy - 0.8*waviness*n.xz) / gl_TexCoord[2].w + 0.5; // Unbias texture coords
+ //reflCoords = (0.5*gl_TexCoord[1].xy + waviness*n.xz) / gl_TexCoord[1].w + 0.5; // Unbias texture coords
+
+ //vec3 dir = normalize(v + vec3(waviness*n.x, 0.0, waviness*n.z));
+
+ vec3 eye = reflect(v, n);
+
+ vec3 tex = textureCube(skyCube, eye).rgb;
+
+ reflColor = mix(tex, sunColor * reflectionTint,
+ reflectionTintStrength);
+
+ //waterDepth = 4.0 + 2.0 * dot(abs(v_tex.zw - 0.5), vec2(0.5));
+ waterDepth = 4.0;
+
+ //refrColor = (0.5 + 0.5*ndotl) * mix(texture2D(refractionMap, refrCoords).rgb, sunColor * tint,
+ refrColor = (0.5 + 0.5*ndotl) * mix(vec3(0.3), sunColor * waterTint,
+ murkiness * clamp(waterDepth / fullDepth, 0.0, 1.0)); // Murkiness and tint at this pixel (tweaked based on lighting and depth)
+
+ specular = pow(max(0.0, ndoth), 150.0f) * sunColor * specularStrength;
+
+ losMod = texture2D(losTex, v_los).a;
+
+ //losMod = texture2D(losMap, gl_TexCoord[3].st).a;
+
+#if USE_SHADOW
+ float shadow = get_shadow(vec4(v_shadow.xy - 8*waviness*n.xz, v_shadow.zw));
+ float fresShadow = mix(fresnel, fresnel*shadow, dot(sunColor, vec3(0.16666)));
+#else
+ float fresShadow = fresnel;
+#endif
+
+ vec3 color = mix(refrColor + 0.3*specular, reflColor + specular, fresShadow);
+
+ gl_FragColor.rgb = color * losMod;
+
+
+ //gl_FragColor.rgb = mix(refrColor + 0.3*specular, reflColor + specular, fresnel) * losMod;
+
+ // Make alpha vary based on both depth (so it blends with the shore) and view angle (make it
+ // become opaque faster at lower view angles so we can't look "underneath" the water plane)
+ t = 18.0 * max(0.0, 0.7 - v.y);
+ gl_FragColor.a = 0.15 * waterDepth * (1.2 + t + fresnel);
+}
+
diff --git a/binaries/data/mods/public/shaders/glsl/model_water.vs b/binaries/data/mods/public/shaders/glsl/model_water.vs
index 205cfab641..daf6618b86 100644
--- a/binaries/data/mods/public/shaders/glsl/model_water.vs
+++ b/binaries/data/mods/public/shaders/glsl/model_water.vs
@@ -1,74 +1,74 @@
-#if USE_GPU_SKINNING
-// Skinning requires GLSL 1.30 for ivec4 vertex attributes
-#version 130
-#else
-#version 120
-#endif
-
-uniform mat4 transform;
-uniform vec3 cameraPos;
-uniform vec3 sunDir;
-uniform vec3 sunColor;
-uniform vec2 losTransform;
-uniform mat4 shadowTransform;
-uniform mat4 instancingTransform;
-
-uniform float sim_time;
-uniform vec2 translation;
-
-#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- uniform vec4 shadowScale;
-#endif
-
-
-attribute vec3 a_vertex;
-attribute vec3 a_normal;
-#if USE_INSTANCING
- attribute vec4 a_tangent;
-#endif
-attribute vec2 a_uv0;
-attribute vec2 a_uv1;
-
-#if USE_GPU_SKINNING
- const int MAX_INFLUENCES = 4;
- const int MAX_BONES = 64;
- uniform mat4 skinBlendMatrices[MAX_BONES];
- attribute ivec4 a_skinJoints;
- attribute vec4 a_skinWeights;
-#endif
-
-
-varying vec4 worldPos;
-varying vec4 v_tex;
-varying vec4 v_shadow;
-varying vec2 v_los;
-
-
-vec4 fakeCos(vec4 x)
-{
- vec4 tri = abs(fract(x + 0.5) * 2.0 - 1.0);
- return tri * tri *(3.0 - 2.0 * tri);
-}
-
-
-
-void main()
-{
- worldPos = instancingTransform * vec4(a_vertex, 1.0);
-
- v_tex.xy = (a_uv0 + worldPos.xz) / 5.0 + sim_time * translation;
-
- v_tex.zw = a_uv0;
-
- #if USE_SHADOW
- v_shadow = shadowTransform * worldPos;
- #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- v_shadow.xy *= shadowScale.xy;
- #endif
- #endif
-
- v_los = worldPos.xz * losTransform.x + losTransform.y;
-
- gl_Position = transform * worldPos;
-}
-
+#if USE_GPU_SKINNING
+// Skinning requires GLSL 1.30 for ivec4 vertex attributes
+#version 130
+#else
+#version 120
+#endif
+
+uniform mat4 transform;
+uniform vec3 cameraPos;
+uniform vec3 sunDir;
+uniform vec3 sunColor;
+uniform vec2 losTransform;
+uniform mat4 shadowTransform;
+uniform mat4 instancingTransform;
+
+uniform float sim_time;
+uniform vec2 translation;
+
+#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ uniform vec4 shadowScale;
+#endif
+
+
+attribute vec3 a_vertex;
+attribute vec3 a_normal;
+#if USE_INSTANCING
+ attribute vec4 a_tangent;
+#endif
+attribute vec2 a_uv0;
+attribute vec2 a_uv1;
+
+#if USE_GPU_SKINNING
+ const int MAX_INFLUENCES = 4;
+ const int MAX_BONES = 64;
+ uniform mat4 skinBlendMatrices[MAX_BONES];
+ attribute ivec4 a_skinJoints;
+ attribute vec4 a_skinWeights;
+#endif
+
+
+varying vec4 worldPos;
+varying vec4 v_tex;
+varying vec4 v_shadow;
+varying vec2 v_los;
+
+
+vec4 fakeCos(vec4 x)
+{
+ vec4 tri = abs(fract(x + 0.5) * 2.0 - 1.0);
+ return tri * tri *(3.0 - 2.0 * tri);
+}
+
+
+
+void main()
+{
+ worldPos = instancingTransform * vec4(a_vertex, 1.0);
+
+ v_tex.xy = (a_uv0 + worldPos.xz) / 5.0 + sim_time * translation;
+
+ v_tex.zw = a_uv0;
+
+ #if USE_SHADOW
+ v_shadow = shadowTransform * worldPos;
+ #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ v_shadow.xy *= shadowScale.xy;
+ #endif
+ #endif
+
+ v_los = worldPos.xz * losTransform.x + losTransform.y;
+
+ gl_Position = transform * worldPos;
+}
+
diff --git a/binaries/data/mods/public/shaders/glsl/model_waterfall.fs b/binaries/data/mods/public/shaders/glsl/model_waterfall.fs
index 7e415f3573..c8ae6a66f5 100644
--- a/binaries/data/mods/public/shaders/glsl/model_waterfall.fs
+++ b/binaries/data/mods/public/shaders/glsl/model_waterfall.fs
@@ -1,88 +1,88 @@
-#version 120
-
-uniform sampler2D baseTex;
-uniform sampler2D losTex;
-
-
-#if USE_SHADOW
- #if USE_SHADOW_SAMPLER
- uniform sampler2DShadow shadowTex;
- #if USE_SHADOW_PCF
- uniform vec4 shadowScale;
- #endif
- #else
- uniform sampler2D shadowTex;
- #endif
-#endif
-
-uniform vec3 shadingColor;
-uniform vec3 ambient;
-uniform vec3 sunColor;
-uniform vec3 sunDir;
-uniform vec3 cameraPos;
-
-
-uniform float specularPower;
-uniform vec3 specularColor;
-
-
-varying vec4 v_tex;
-varying vec4 v_shadow;
-varying vec2 v_los;
-varying vec3 v_half;
-varying vec3 v_normal;
-varying float v_transp;
-varying vec3 v_lighting;
-
-float get_shadow()
-{
- #if USE_SHADOW && !DISABLE_RECEIVE_SHADOWS
- #if USE_SHADOW_SAMPLER
- #if USE_SHADOW_PCF
- vec2 offset = fract(v_shadow.xy - 0.5);
- vec4 size = vec4(offset + 1.0, 2.0 - offset);
- vec4 weight = (vec4(1.0, 1.0, -0.5, -0.5) + (v_shadow.xy - 0.5*offset).xyxy) * shadowScale.zwzw;
- return (1.0/9.0)*dot(size.zxzx*size.wwyy,
- vec4(shadow2D(shadowTex, vec3(weight.zw, v_shadow.z)).r,
- shadow2D(shadowTex, vec3(weight.xw, v_shadow.z)).r,
- shadow2D(shadowTex, vec3(weight.zy, v_shadow.z)).r,
- shadow2D(shadowTex, vec3(weight.xy, v_shadow.z)).r));
- #else
- return shadow2D(shadowTex, v_shadow.xyz).r;
- #endif
- #else
- if (v_shadow.z >= 1.0)
- return 1.0;
- return (v_shadow.z <= texture2D(shadowTex, v_shadow.xy).x ? 1.0 : 0.0);
- #endif
- #else
- return 1.0;
- #endif
-}
-
-
-void main()
-{
- //vec4 texdiffuse = textureGrad(baseTex, vec3(fract(v_tex.xy), v_tex.z), dFdx(v_tex.xy), dFdy(v_tex.xy));
- vec4 texdiffuse = texture2D(baseTex, fract(v_tex.xy));
-
- if (texdiffuse.a < 0.25)
- discard;
-
- texdiffuse.a *= v_transp;
-
- vec3 specular = sunColor * specularColor * pow(max(0.0, dot(normalize(v_normal), v_half)), specularPower);
-
- vec3 color = (texdiffuse.rgb * v_lighting + specular) * get_shadow();
- color += texdiffuse.rgb * ambient;
-
- #if !IGNORE_LOS
- float los = texture2D(losTex, v_los).a;
- los = los < 0.03 ? 0.0 : los;
- color *= los;
- #endif
-
- gl_FragColor.rgb = color;
- gl_FragColor.a = texdiffuse.a;
-}
-
+#version 120
+
+uniform sampler2D baseTex;
+uniform sampler2D losTex;
+
+
+#if USE_SHADOW
+ #if USE_SHADOW_SAMPLER
+ uniform sampler2DShadow shadowTex;
+ #if USE_SHADOW_PCF
+ uniform vec4 shadowScale;
+ #endif
+ #else
+ uniform sampler2D shadowTex;
+ #endif
+#endif
+
+uniform vec3 shadingColor;
+uniform vec3 ambient;
+uniform vec3 sunColor;
+uniform vec3 sunDir;
+uniform vec3 cameraPos;
+
+
+uniform float specularPower;
+uniform vec3 specularColor;
+
+
+varying vec4 v_tex;
+varying vec4 v_shadow;
+varying vec2 v_los;
+varying vec3 v_half;
+varying vec3 v_normal;
+varying float v_transp;
+varying vec3 v_lighting;
+
+float get_shadow()
+{
+ #if USE_SHADOW && !DISABLE_RECEIVE_SHADOWS
+ #if USE_SHADOW_SAMPLER
+ #if USE_SHADOW_PCF
+ vec2 offset = fract(v_shadow.xy - 0.5);
+ vec4 size = vec4(offset + 1.0, 2.0 - offset);
+ vec4 weight = (vec4(1.0, 1.0, -0.5, -0.5) + (v_shadow.xy - 0.5*offset).xyxy) * shadowScale.zwzw;
+ return (1.0/9.0)*dot(size.zxzx*size.wwyy,
+ vec4(shadow2D(shadowTex, vec3(weight.zw, v_shadow.z)).r,
+ shadow2D(shadowTex, vec3(weight.xw, v_shadow.z)).r,
+ shadow2D(shadowTex, vec3(weight.zy, v_shadow.z)).r,
+ shadow2D(shadowTex, vec3(weight.xy, v_shadow.z)).r));
+ #else
+ return shadow2D(shadowTex, v_shadow.xyz).r;
+ #endif
+ #else
+ if (v_shadow.z >= 1.0)
+ return 1.0;
+ return (v_shadow.z <= texture2D(shadowTex, v_shadow.xy).x ? 1.0 : 0.0);
+ #endif
+ #else
+ return 1.0;
+ #endif
+}
+
+
+void main()
+{
+ //vec4 texdiffuse = textureGrad(baseTex, vec3(fract(v_tex.xy), v_tex.z), dFdx(v_tex.xy), dFdy(v_tex.xy));
+ vec4 texdiffuse = texture2D(baseTex, fract(v_tex.xy));
+
+ if (texdiffuse.a < 0.25)
+ discard;
+
+ texdiffuse.a *= v_transp;
+
+ vec3 specular = sunColor * specularColor * pow(max(0.0, dot(normalize(v_normal), v_half)), specularPower);
+
+ vec3 color = (texdiffuse.rgb * v_lighting + specular) * get_shadow();
+ color += texdiffuse.rgb * ambient;
+
+ #if !IGNORE_LOS
+ float los = texture2D(losTex, v_los).a;
+ los = los < 0.03 ? 0.0 : los;
+ color *= los;
+ #endif
+
+ gl_FragColor.rgb = color;
+ gl_FragColor.a = texdiffuse.a;
+}
+
diff --git a/binaries/data/mods/public/shaders/glsl/model_waterfall.vs b/binaries/data/mods/public/shaders/glsl/model_waterfall.vs
index 085db36acc..1779bd20f4 100644
--- a/binaries/data/mods/public/shaders/glsl/model_waterfall.vs
+++ b/binaries/data/mods/public/shaders/glsl/model_waterfall.vs
@@ -1,65 +1,65 @@
-#if USE_GPU_SKINNING
-// Skinning requires GLSL 1.30 for ivec4 vertex attributes
-#version 130
-#else
-#version 120
-#endif
-
-uniform mat4 transform;
-uniform vec3 cameraPos;
-uniform vec3 sunDir;
-uniform vec3 sunColor;
-uniform vec2 losTransform;
-uniform mat4 shadowTransform;
-uniform mat4 instancingTransform;
-
-uniform float sim_time;
-uniform vec2 translation;
-
-#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- uniform vec4 shadowScale;
-#endif
-
-
-attribute vec3 a_vertex;
-attribute vec3 a_normal;
-attribute vec2 a_uv0;
-attribute vec2 a_uv1;
-
-varying vec4 worldPos;
-varying vec4 v_tex;
-varying vec4 v_shadow;
-varying vec2 v_los;
-varying vec3 v_half;
-varying vec3 v_normal;
-varying float v_transp;
-varying vec3 v_lighting;
-
-
-void main()
-{
- worldPos = instancingTransform * vec4(a_vertex, 1.0);
-
- v_tex.xy = a_uv0 + sim_time * translation;
- v_transp = a_uv1.x;
-
- #if USE_SHADOW
- v_shadow = shadowTransform * worldPos;
- #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- v_shadow.xy *= shadowScale.xy;
- #endif
- #endif
-
- v_los = worldPos.xz * losTransform.x + losTransform.y;
-
- vec3 eyeVec = cameraPos.xyz - worldPos.xyz;
- vec3 sunVec = -sunDir;
- v_half = normalize(sunVec + normalize(eyeVec));
-
- mat3 normalMatrix = mat3(instancingTransform[0].xyz, instancingTransform[1].xyz, instancingTransform[2].xyz);
- v_normal = normalMatrix * a_normal;
- v_lighting = max(0.0, dot(v_normal, -sunDir)) * sunColor;
-
- gl_Position = transform * worldPos;
-}
-
+#if USE_GPU_SKINNING
+// Skinning requires GLSL 1.30 for ivec4 vertex attributes
+#version 130
+#else
+#version 120
+#endif
+
+uniform mat4 transform;
+uniform vec3 cameraPos;
+uniform vec3 sunDir;
+uniform vec3 sunColor;
+uniform vec2 losTransform;
+uniform mat4 shadowTransform;
+uniform mat4 instancingTransform;
+
+uniform float sim_time;
+uniform vec2 translation;
+
+#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ uniform vec4 shadowScale;
+#endif
+
+
+attribute vec3 a_vertex;
+attribute vec3 a_normal;
+attribute vec2 a_uv0;
+attribute vec2 a_uv1;
+
+varying vec4 worldPos;
+varying vec4 v_tex;
+varying vec4 v_shadow;
+varying vec2 v_los;
+varying vec3 v_half;
+varying vec3 v_normal;
+varying float v_transp;
+varying vec3 v_lighting;
+
+
+void main()
+{
+ worldPos = instancingTransform * vec4(a_vertex, 1.0);
+
+ v_tex.xy = a_uv0 + sim_time * translation;
+ v_transp = a_uv1.x;
+
+ #if USE_SHADOW
+ v_shadow = shadowTransform * worldPos;
+ #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ v_shadow.xy *= shadowScale.xy;
+ #endif
+ #endif
+
+ v_los = worldPos.xz * losTransform.x + losTransform.y;
+
+ vec3 eyeVec = cameraPos.xyz - worldPos.xyz;
+ vec3 sunVec = -sunDir;
+ v_half = normalize(sunVec + normalize(eyeVec));
+
+ mat3 normalMatrix = mat3(instancingTransform[0].xyz, instancingTransform[1].xyz, instancingTransform[2].xyz);
+ v_normal = normalMatrix * a_normal;
+ v_lighting = max(0.0, dot(v_normal, -sunDir)) * sunColor;
+
+ gl_Position = transform * worldPos;
+}
+
diff --git a/binaries/data/mods/public/shaders/glsl/particle.fs b/binaries/data/mods/public/shaders/glsl/particle.fs
index 180d792ee8..772546219b 100644
--- a/binaries/data/mods/public/shaders/glsl/particle.fs
+++ b/binaries/data/mods/public/shaders/glsl/particle.fs
@@ -1,39 +1,39 @@
-#version 110
-
-uniform sampler2D baseTex;
-uniform sampler2D losTex;
-
-varying vec2 v_tex;
-varying vec2 v_los;
-varying vec4 v_color;
-
-uniform vec3 sunColor;
-uniform vec3 fogColor;
-uniform vec2 fogParams;
-
-vec4 get_fog(vec4 color)
-{
- float density = fogParams.x;
- float maxFog = fogParams.y;
-
- const float LOG2 = 1.442695;
- float z = gl_FragCoord.z / gl_FragCoord.w;
- float fogFactor = exp2(-density * density * z * z * LOG2);
-
- fogFactor = fogFactor * (1.0 - maxFog) + maxFog;
-
- fogFactor = clamp(fogFactor, 0.0, 1.0);
-
- return vec4(mix(fogColor, color.rgb, fogFactor),color.a);
-}
-
-void main()
-{
- vec4 color = texture2D(baseTex, v_tex) * vec4((v_color.rgb + sunColor)/2.0,v_color.a);
-
- float los = texture2D(losTex, v_los).a;
- los = los < 0.03 ? 0.0 : los;
- color.rgb *= los;
-
- gl_FragColor = get_fog(color);
-}
+#version 110
+
+uniform sampler2D baseTex;
+uniform sampler2D losTex;
+
+varying vec2 v_tex;
+varying vec2 v_los;
+varying vec4 v_color;
+
+uniform vec3 sunColor;
+uniform vec3 fogColor;
+uniform vec2 fogParams;
+
+vec4 get_fog(vec4 color)
+{
+ float density = fogParams.x;
+ float maxFog = fogParams.y;
+
+ const float LOG2 = 1.442695;
+ float z = gl_FragCoord.z / gl_FragCoord.w;
+ float fogFactor = exp2(-density * density * z * z * LOG2);
+
+ fogFactor = fogFactor * (1.0 - maxFog) + maxFog;
+
+ fogFactor = clamp(fogFactor, 0.0, 1.0);
+
+ return vec4(mix(fogColor, color.rgb, fogFactor),color.a);
+}
+
+void main()
+{
+ vec4 color = texture2D(baseTex, v_tex) * vec4((v_color.rgb + sunColor)/2.0,v_color.a);
+
+ float los = texture2D(losTex, v_los).a;
+ los = los < 0.03 ? 0.0 : los;
+ color.rgb *= los;
+
+ gl_FragColor = get_fog(color);
+}
diff --git a/binaries/data/mods/public/shaders/glsl/particle.vs b/binaries/data/mods/public/shaders/glsl/particle.vs
index 21779cd3ab..40ad747eab 100644
--- a/binaries/data/mods/public/shaders/glsl/particle.vs
+++ b/binaries/data/mods/public/shaders/glsl/particle.vs
@@ -1,29 +1,29 @@
-#version 110
-
-uniform mat4 transform;
-uniform mat4 modelViewMatrix;
-uniform vec2 losTransform;
-
-varying vec2 v_tex;
-varying vec2 v_los;
-varying vec4 v_color;
-
-attribute vec3 a_vertex;
-attribute vec4 a_color;
-attribute vec2 a_uv0;
-attribute vec2 a_uv1;
-
-void main()
-{
- vec3 axis1 = vec3(modelViewMatrix[0][0], modelViewMatrix[1][0], modelViewMatrix[2][0]);
- vec3 axis2 = vec3(modelViewMatrix[0][1], modelViewMatrix[1][1], modelViewMatrix[2][1]);
- vec2 offset = a_uv1;
-
- vec3 position = axis1*offset.x + axis1*offset.y + axis2*offset.x + axis2*-offset.y + a_vertex;
-
- gl_Position = transform * vec4(position, 1.0);
-
- v_los = position.xz * losTransform.x + losTransform.y;
- v_tex = a_uv0;
- v_color = a_color;
-}
+#version 110
+
+uniform mat4 transform;
+uniform mat4 modelViewMatrix;
+uniform vec2 losTransform;
+
+varying vec2 v_tex;
+varying vec2 v_los;
+varying vec4 v_color;
+
+attribute vec3 a_vertex;
+attribute vec4 a_color;
+attribute vec2 a_uv0;
+attribute vec2 a_uv1;
+
+void main()
+{
+ vec3 axis1 = vec3(modelViewMatrix[0][0], modelViewMatrix[1][0], modelViewMatrix[2][0]);
+ vec3 axis2 = vec3(modelViewMatrix[0][1], modelViewMatrix[1][1], modelViewMatrix[2][1]);
+ vec2 offset = a_uv1;
+
+ vec3 position = axis1*offset.x + axis1*offset.y + axis2*offset.x + axis2*-offset.y + a_vertex;
+
+ gl_Position = transform * vec4(position, 1.0);
+
+ v_los = position.xz * losTransform.x + losTransform.y;
+ v_tex = a_uv0;
+ v_color = a_color;
+}
diff --git a/binaries/data/mods/public/shaders/glsl/particle.xml b/binaries/data/mods/public/shaders/glsl/particle.xml
index 74189ae809..cda69e5cf2 100644
--- a/binaries/data/mods/public/shaders/glsl/particle.xml
+++ b/binaries/data/mods/public/shaders/glsl/particle.xml
@@ -1,17 +1,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/particle_solid.xml b/binaries/data/mods/public/shaders/glsl/particle_solid.xml
index 74189ae809..cda69e5cf2 100644
--- a/binaries/data/mods/public/shaders/glsl/particle_solid.xml
+++ b/binaries/data/mods/public/shaders/glsl/particle_solid.xml
@@ -1,17 +1,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/shaders/glsl/solid.fs b/binaries/data/mods/public/shaders/glsl/solid.fs
index f256cee2cb..29681c5e83 100644
--- a/binaries/data/mods/public/shaders/glsl/solid.fs
+++ b/binaries/data/mods/public/shaders/glsl/solid.fs
@@ -1,8 +1,8 @@
-#version 110
-
-uniform vec4 color;
-
-void main()
-{
- gl_FragColor = color;
-}
+#version 110
+
+uniform vec4 color;
+
+void main()
+{
+ gl_FragColor = color;
+}
diff --git a/binaries/data/mods/public/shaders/glsl/solid_player.fs b/binaries/data/mods/public/shaders/glsl/solid_player.fs
index d65ffdd7d9..9498174cf0 100644
--- a/binaries/data/mods/public/shaders/glsl/solid_player.fs
+++ b/binaries/data/mods/public/shaders/glsl/solid_player.fs
@@ -1,26 +1,26 @@
-#version 110
-
-uniform vec4 playerColor;
-uniform vec3 fogColor;
-uniform vec2 fogParams;
-
-vec3 get_fog(vec3 color)
-{
- float density = fogParams.x;
- float maxFog = fogParams.y;
-
- const float LOG2 = 1.442695;
- float z = gl_FragCoord.z / gl_FragCoord.w;
- float fogFactor = exp2(-density * density * z * z * LOG2);
-
- fogFactor = fogFactor * (1.0 - maxFog) + maxFog;
-
- fogFactor = clamp(fogFactor, 0.0, 1.0);
-
- return mix(fogColor, color, fogFactor);
-}
-
-void main()
-{
- gl_FragColor = vec4(get_fog(playerColor.rgb),playerColor.a);
-}
+#version 110
+
+uniform vec4 playerColor;
+uniform vec3 fogColor;
+uniform vec2 fogParams;
+
+vec3 get_fog(vec3 color)
+{
+ float density = fogParams.x;
+ float maxFog = fogParams.y;
+
+ const float LOG2 = 1.442695;
+ float z = gl_FragCoord.z / gl_FragCoord.w;
+ float fogFactor = exp2(-density * density * z * z * LOG2);
+
+ fogFactor = fogFactor * (1.0 - maxFog) + maxFog;
+
+ fogFactor = clamp(fogFactor, 0.0, 1.0);
+
+ return mix(fogColor, color, fogFactor);
+}
+
+void main()
+{
+ gl_FragColor = vec4(get_fog(playerColor.rgb),playerColor.a);
+}
diff --git a/binaries/data/mods/public/shaders/glsl/solid_tex.fs b/binaries/data/mods/public/shaders/glsl/solid_tex.fs
index 4ad2195f8b..022154b612 100644
--- a/binaries/data/mods/public/shaders/glsl/solid_tex.fs
+++ b/binaries/data/mods/public/shaders/glsl/solid_tex.fs
@@ -1,17 +1,17 @@
-#version 110
-
-uniform sampler2D baseTex;
-
-varying vec2 v_tex;
-
-void main()
-{
- vec4 tex = texture2D(baseTex, v_tex);
-
- #ifdef REQUIRE_ALPHA_GEQUAL
- if (tex.a < REQUIRE_ALPHA_GEQUAL)
- discard;
- #endif
-
- gl_FragColor = tex;
-}
+#version 110
+
+uniform sampler2D baseTex;
+
+varying vec2 v_tex;
+
+void main()
+{
+ vec4 tex = texture2D(baseTex, v_tex);
+
+ #ifdef REQUIRE_ALPHA_GEQUAL
+ if (tex.a < REQUIRE_ALPHA_GEQUAL)
+ discard;
+ #endif
+
+ gl_FragColor = tex;
+}
diff --git a/binaries/data/mods/public/shaders/glsl/terrain_common.fs b/binaries/data/mods/public/shaders/glsl/terrain_common.fs
index 79a1718190..d5059a9074 100644
--- a/binaries/data/mods/public/shaders/glsl/terrain_common.fs
+++ b/binaries/data/mods/public/shaders/glsl/terrain_common.fs
@@ -1,254 +1,254 @@
-#version 120
-
-uniform sampler2D baseTex;
-uniform sampler2D blendTex;
-uniform sampler2D losTex;
-uniform sampler2D normTex;
-uniform sampler2D specTex;
-
-#if USE_SHADOW
- uniform float shadowAngle;
- #if USE_SHADOW_SAMPLER
- uniform sampler2DShadow shadowTex;
- #if USE_SHADOW_PCF
- uniform vec4 shadowScale;
- #endif
- #else
- uniform sampler2D shadowTex;
- #endif
-#endif
-
-uniform vec3 shadingColor;
-uniform vec3 ambient;
-uniform vec3 sunColor;
-uniform vec3 sunDir;
-
-uniform vec3 fogColor;
-uniform vec2 fogParams;
-
-uniform vec2 textureTransform;
-
-varying vec3 v_lighting;
-
-#if USE_SHADOW
- varying vec4 v_shadow;
-#endif
-
-varying vec2 v_los;
-varying vec2 v_blend;
-
-#if USE_TRIPLANAR
- varying vec3 v_tex;
-#else
- varying vec2 v_tex;
-#endif
-
-#if USE_SPECULAR
- uniform float specularPower;
- uniform vec3 specularColor;
-#endif
-
-#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_AO
- uniform vec4 effectSettings;
-#endif
-
-varying vec3 v_normal;
-
-#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP
- #if USE_NORMAL_MAP
- varying vec4 v_tangent;
- varying vec3 v_bitangent;
- #endif
- #if USE_SPECULAR || USE_SPECULAR_MAP
- varying vec3 v_half;
- #endif
-#endif
-
-float get_shadow()
-{
- float shadowBias = 0.0005;
- #if USE_SHADOW && !DISABLE_RECEIVE_SHADOWS
- float biasedShdwZ = v_shadow.z - shadowBias;
- #if USE_SHADOW_SAMPLER
- #if USE_SHADOW_PCF
- vec2 offset = fract(v_shadow.xy - 0.5);
- vec4 size = vec4(offset + 1.0, 2.0 - offset);
- vec4 weight = (vec4(1.0, 1.0, -0.5, -0.5) + (v_shadow.xy - 0.5*offset).xyxy) * shadowScale.zwzw;
- return (1.0/9.0)*dot(size.zxzx*size.wwyy,
- vec4(shadow2D(shadowTex, vec3(weight.zw, biasedShdwZ)).r,
- shadow2D(shadowTex, vec3(weight.xw, biasedShdwZ)).r,
- shadow2D(shadowTex, vec3(weight.zy, biasedShdwZ)).r,
- shadow2D(shadowTex, vec3(weight.xy, biasedShdwZ)).r));
- #else
- return shadow2D(shadowTex, vec3(v_shadow.xy, biasedShdwZ)).r;
- #endif
- #else
- if (biasedShdwZ >= 1.0)
- return 1.0;
- return (biasedShdwZ < texture2D(shadowTex, v_shadow.xy).x ? 1.0 : 0.0);
- #endif
- #else
- return 1.0;
- #endif
-}
-
-#if USE_TRIPLANAR
-vec4 triplanar(sampler2D sampler, vec3 wpos)
-{
- float tighten = 0.4679;
-
- vec3 blending = abs(normalize(v_normal)) - tighten;
- blending = max(blending, 0.0);
-
- blending /= vec3(blending.x + blending.y + blending.z);
-
- vec3 signedBlending = sign(v_normal) * blending;
-
- vec3 coords = wpos;
- coords.xyz /= 32.0; // Ugh.
-
- vec4 col1 = texture2D(sampler, coords.yz);
- vec4 col2 = texture2D(sampler, coords.zx);
- vec4 col3 = texture2D(sampler, coords.yx);
-
- vec4 colBlended = col1 * blending.x + col2 * blending.y + col3 * blending.z;
-
- return colBlended;
-}
-
-vec4 triplanarNormals(sampler2D sampler, vec3 wpos)
-{
- float tighten = 0.4679;
-
- vec3 blending = abs(normalize(v_normal)) - tighten;
- blending = max(blending, 0.0);
-
- blending /= vec3(blending.x + blending.y + blending.z);
-
- vec3 signedBlending = sign(v_normal) * blending;
-
- vec3 coords = wpos;
- coords.xyz /= 32.0; // Ugh.
-
- vec4 col1 = texture2D(sampler, coords.yz).xyzw;
- col1.y = 1.0 - col1.y;
- vec4 col2 = texture2D(sampler, coords.zx).yxzw;
- col2.y = 1.0 - col2.y;
- vec4 col3 = texture2D(sampler, coords.yx).yxzw;
- col3.y = 1.0 - col3.y;
-
- vec4 colBlended = col1 * blending.x + col2 * blending.y + col3 * blending.z;
-
- return colBlended;
-}
-#endif
-
-vec3 get_fog(vec3 color)
-{
- float density = fogParams.x;
- float maxFog = fogParams.y;
-
- const float LOG2 = 1.442695;
- float z = gl_FragCoord.z / gl_FragCoord.w;
- float fogFactor = exp2(-density * density * z * z * LOG2);
-
- fogFactor = fogFactor * (1.0 - maxFog) + maxFog;
-
- fogFactor = clamp(fogFactor, 0.0, 1.0);
-
- return mix(fogColor, color, fogFactor);
-}
-
-void main()
-{
- #if BLEND
- // Use alpha from blend texture
- gl_FragColor.a = 1.0 - texture2D(blendTex, v_blend).a;
-
- #if USE_GRASS
- if (gl_FragColor.a < LAYER / 10.0)
- discard;
- #endif
- #else
- gl_FragColor.a = 1.0;
- #endif
-
- #if USE_TRIPLANAR
- vec4 tex = triplanar(baseTex, v_tex);
- #else
- vec4 tex = texture2D(baseTex, v_tex.xy);
- #endif
-
- #if USE_GRASS && LAYER
- if (tex.a < 0.05)
- discard;
- #endif
-
- #if DECAL
- // Use alpha from main texture
- gl_FragColor.a = tex.a;
- #endif
-
- vec3 texdiffuse = tex.rgb;
-
- #if USE_SPECULAR || USE_SPECULAR_MAP || USE_NORMAL_MAP
- vec3 normal = v_normal;
- #endif
-
- #if USE_NORMAL_MAP
- float sign = v_tangent.w;
- mat3 tbn = mat3(v_tangent.xyz, v_bitangent * -sign, v_normal);
- #if USE_TRIPLANAR
- vec3 ntex = triplanarNormals(normTex, v_tex).rgb * 2.0 - 1.0;
- #else
- vec3 ntex = texture2D(normTex, v_tex).rgb * 2.0 - 1.0;
- #endif
- normal = normalize(tbn * ntex);
- vec3 bumplight = max(dot(-sunDir, normal), 0.0) * sunColor;
- vec3 sundiffuse = (bumplight - v_lighting.rgb) * effectSettings.x + v_lighting.rgb;
- #else
- vec3 sundiffuse = v_lighting;
- #endif
-
- vec4 specular = vec4(0.0);
- #if USE_SPECULAR || USE_SPECULAR_MAP
- vec3 specCol;
- float specPow;
- #if USE_SPECULAR_MAP
- #if USE_TRIPLANAR
- vec4 s = triplanar(specTex, v_tex);
- #else
- vec4 s = texture2D(specTex, v_tex);
- #endif
- specCol = s.rgb;
- specular.a = s.a;
- specPow = effectSettings.y;
- #else
- specCol = specularColor;
- specPow = specularPower;
- #endif
- specular.rgb = sunColor * specCol * pow(max(0.0, dot(normalize(normal), v_half)), specPow);
- #endif
-
- vec3 color = (texdiffuse * sundiffuse + specular.rgb) * get_shadow() + texdiffuse * ambient;
-
- #if USE_SPECULAR_MAP && USE_SELF_LIGHT
- color = mix(texdiffuse, color, specular.a);
- #endif
-
- color = get_fog(color);
-
- float los = texture2D(losTex, v_los).a;
- los = los < 0.03 ? 0.0 : los;
- color *= los;
-
- #if DECAL
- color *= shadingColor;
- #endif
-
- gl_FragColor.rgb = color;
-
- #if USE_GRASS
- gl_FragColor.a = tex.a;
- #endif
-}
+#version 120
+
+uniform sampler2D baseTex;
+uniform sampler2D blendTex;
+uniform sampler2D losTex;
+uniform sampler2D normTex;
+uniform sampler2D specTex;
+
+#if USE_SHADOW
+ uniform float shadowAngle;
+ #if USE_SHADOW_SAMPLER
+ uniform sampler2DShadow shadowTex;
+ #if USE_SHADOW_PCF
+ uniform vec4 shadowScale;
+ #endif
+ #else
+ uniform sampler2D shadowTex;
+ #endif
+#endif
+
+uniform vec3 shadingColor;
+uniform vec3 ambient;
+uniform vec3 sunColor;
+uniform vec3 sunDir;
+
+uniform vec3 fogColor;
+uniform vec2 fogParams;
+
+uniform vec2 textureTransform;
+
+varying vec3 v_lighting;
+
+#if USE_SHADOW
+ varying vec4 v_shadow;
+#endif
+
+varying vec2 v_los;
+varying vec2 v_blend;
+
+#if USE_TRIPLANAR
+ varying vec3 v_tex;
+#else
+ varying vec2 v_tex;
+#endif
+
+#if USE_SPECULAR
+ uniform float specularPower;
+ uniform vec3 specularColor;
+#endif
+
+#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_AO
+ uniform vec4 effectSettings;
+#endif
+
+varying vec3 v_normal;
+
+#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP
+ #if USE_NORMAL_MAP
+ varying vec4 v_tangent;
+ varying vec3 v_bitangent;
+ #endif
+ #if USE_SPECULAR || USE_SPECULAR_MAP
+ varying vec3 v_half;
+ #endif
+#endif
+
+float get_shadow()
+{
+ float shadowBias = 0.0005;
+ #if USE_SHADOW && !DISABLE_RECEIVE_SHADOWS
+ float biasedShdwZ = v_shadow.z - shadowBias;
+ #if USE_SHADOW_SAMPLER
+ #if USE_SHADOW_PCF
+ vec2 offset = fract(v_shadow.xy - 0.5);
+ vec4 size = vec4(offset + 1.0, 2.0 - offset);
+ vec4 weight = (vec4(1.0, 1.0, -0.5, -0.5) + (v_shadow.xy - 0.5*offset).xyxy) * shadowScale.zwzw;
+ return (1.0/9.0)*dot(size.zxzx*size.wwyy,
+ vec4(shadow2D(shadowTex, vec3(weight.zw, biasedShdwZ)).r,
+ shadow2D(shadowTex, vec3(weight.xw, biasedShdwZ)).r,
+ shadow2D(shadowTex, vec3(weight.zy, biasedShdwZ)).r,
+ shadow2D(shadowTex, vec3(weight.xy, biasedShdwZ)).r));
+ #else
+ return shadow2D(shadowTex, vec3(v_shadow.xy, biasedShdwZ)).r;
+ #endif
+ #else
+ if (biasedShdwZ >= 1.0)
+ return 1.0;
+ return (biasedShdwZ < texture2D(shadowTex, v_shadow.xy).x ? 1.0 : 0.0);
+ #endif
+ #else
+ return 1.0;
+ #endif
+}
+
+#if USE_TRIPLANAR
+vec4 triplanar(sampler2D sampler, vec3 wpos)
+{
+ float tighten = 0.4679;
+
+ vec3 blending = abs(normalize(v_normal)) - tighten;
+ blending = max(blending, 0.0);
+
+ blending /= vec3(blending.x + blending.y + blending.z);
+
+ vec3 signedBlending = sign(v_normal) * blending;
+
+ vec3 coords = wpos;
+ coords.xyz /= 32.0; // Ugh.
+
+ vec4 col1 = texture2D(sampler, coords.yz);
+ vec4 col2 = texture2D(sampler, coords.zx);
+ vec4 col3 = texture2D(sampler, coords.yx);
+
+ vec4 colBlended = col1 * blending.x + col2 * blending.y + col3 * blending.z;
+
+ return colBlended;
+}
+
+vec4 triplanarNormals(sampler2D sampler, vec3 wpos)
+{
+ float tighten = 0.4679;
+
+ vec3 blending = abs(normalize(v_normal)) - tighten;
+ blending = max(blending, 0.0);
+
+ blending /= vec3(blending.x + blending.y + blending.z);
+
+ vec3 signedBlending = sign(v_normal) * blending;
+
+ vec3 coords = wpos;
+ coords.xyz /= 32.0; // Ugh.
+
+ vec4 col1 = texture2D(sampler, coords.yz).xyzw;
+ col1.y = 1.0 - col1.y;
+ vec4 col2 = texture2D(sampler, coords.zx).yxzw;
+ col2.y = 1.0 - col2.y;
+ vec4 col3 = texture2D(sampler, coords.yx).yxzw;
+ col3.y = 1.0 - col3.y;
+
+ vec4 colBlended = col1 * blending.x + col2 * blending.y + col3 * blending.z;
+
+ return colBlended;
+}
+#endif
+
+vec3 get_fog(vec3 color)
+{
+ float density = fogParams.x;
+ float maxFog = fogParams.y;
+
+ const float LOG2 = 1.442695;
+ float z = gl_FragCoord.z / gl_FragCoord.w;
+ float fogFactor = exp2(-density * density * z * z * LOG2);
+
+ fogFactor = fogFactor * (1.0 - maxFog) + maxFog;
+
+ fogFactor = clamp(fogFactor, 0.0, 1.0);
+
+ return mix(fogColor, color, fogFactor);
+}
+
+void main()
+{
+ #if BLEND
+ // Use alpha from blend texture
+ gl_FragColor.a = 1.0 - texture2D(blendTex, v_blend).a;
+
+ #if USE_GRASS
+ if (gl_FragColor.a < LAYER / 10.0)
+ discard;
+ #endif
+ #else
+ gl_FragColor.a = 1.0;
+ #endif
+
+ #if USE_TRIPLANAR
+ vec4 tex = triplanar(baseTex, v_tex);
+ #else
+ vec4 tex = texture2D(baseTex, v_tex.xy);
+ #endif
+
+ #if USE_GRASS && LAYER
+ if (tex.a < 0.05)
+ discard;
+ #endif
+
+ #if DECAL
+ // Use alpha from main texture
+ gl_FragColor.a = tex.a;
+ #endif
+
+ vec3 texdiffuse = tex.rgb;
+
+ #if USE_SPECULAR || USE_SPECULAR_MAP || USE_NORMAL_MAP
+ vec3 normal = v_normal;
+ #endif
+
+ #if USE_NORMAL_MAP
+ float sign = v_tangent.w;
+ mat3 tbn = mat3(v_tangent.xyz, v_bitangent * -sign, v_normal);
+ #if USE_TRIPLANAR
+ vec3 ntex = triplanarNormals(normTex, v_tex).rgb * 2.0 - 1.0;
+ #else
+ vec3 ntex = texture2D(normTex, v_tex).rgb * 2.0 - 1.0;
+ #endif
+ normal = normalize(tbn * ntex);
+ vec3 bumplight = max(dot(-sunDir, normal), 0.0) * sunColor;
+ vec3 sundiffuse = (bumplight - v_lighting.rgb) * effectSettings.x + v_lighting.rgb;
+ #else
+ vec3 sundiffuse = v_lighting;
+ #endif
+
+ vec4 specular = vec4(0.0);
+ #if USE_SPECULAR || USE_SPECULAR_MAP
+ vec3 specCol;
+ float specPow;
+ #if USE_SPECULAR_MAP
+ #if USE_TRIPLANAR
+ vec4 s = triplanar(specTex, v_tex);
+ #else
+ vec4 s = texture2D(specTex, v_tex);
+ #endif
+ specCol = s.rgb;
+ specular.a = s.a;
+ specPow = effectSettings.y;
+ #else
+ specCol = specularColor;
+ specPow = specularPower;
+ #endif
+ specular.rgb = sunColor * specCol * pow(max(0.0, dot(normalize(normal), v_half)), specPow);
+ #endif
+
+ vec3 color = (texdiffuse * sundiffuse + specular.rgb) * get_shadow() + texdiffuse * ambient;
+
+ #if USE_SPECULAR_MAP && USE_SELF_LIGHT
+ color = mix(texdiffuse, color, specular.a);
+ #endif
+
+ color = get_fog(color);
+
+ float los = texture2D(losTex, v_los).a;
+ los = los < 0.03 ? 0.0 : los;
+ color *= los;
+
+ #if DECAL
+ color *= shadingColor;
+ #endif
+
+ gl_FragColor.rgb = color;
+
+ #if USE_GRASS
+ gl_FragColor.a = tex.a;
+ #endif
+}
diff --git a/binaries/data/mods/public/shaders/glsl/terrain_common.vs b/binaries/data/mods/public/shaders/glsl/terrain_common.vs
index 4489cdb33a..bbfba9f66d 100644
--- a/binaries/data/mods/public/shaders/glsl/terrain_common.vs
+++ b/binaries/data/mods/public/shaders/glsl/terrain_common.vs
@@ -1,120 +1,120 @@
-#version 120
-
-uniform mat4 transform;
-uniform vec3 cameraPos;
-#ifdef GL_ES
-uniform mediump vec3 sunDir;
-uniform mediump vec3 sunColor;
-#else
-uniform vec3 sunDir;
-uniform vec3 sunColor;
-#endif
-uniform vec2 textureTransform;
-uniform vec2 losTransform;
-uniform mat4 shadowTransform;
-
-#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- uniform vec4 shadowScale;
-#endif
-
-varying vec3 v_lighting;
-
-#if USE_SHADOW
- varying vec4 v_shadow;
-#endif
-
-varying vec2 v_los;
-varying vec2 v_blend;
-
-#if USE_TRIPLANAR
- varying vec3 v_tex;
-#else
- varying vec2 v_tex;
-#endif
-
-varying vec3 v_normal;
-
-#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP
- #if USE_NORMAL_MAP
- varying vec4 v_tangent;
- varying vec3 v_bitangent;
- #endif
- #if USE_SPECULAR || USE_SPECULAR_MAP
- varying vec3 v_half;
- #endif
-#endif
-
-
-attribute vec3 a_vertex;
-attribute vec3 a_normal;
-attribute vec3 a_color;
-attribute vec2 a_uv0;
-attribute vec2 a_uv1;
-
-void main()
-{
- vec4 position = vec4(a_vertex, 1.0);
-
- #if USE_GRASS && LAYER
- position.y = a_vertex.y + (a_normal.y * 0.015 * LAYER);
- #endif
-
- gl_Position = transform * position;
-
- v_lighting = a_color * sunColor;
-
- #if DECAL
- v_tex.xy = a_uv0;
- #else
-
- #if USE_TRIPLANAR
- v_tex = a_vertex;
- #else
- // Compute texcoords from position and terrain-texture-dependent transform
- float c = textureTransform.x;
- float s = -textureTransform.y;
- v_tex = vec2(a_vertex.x * c + a_vertex.z * -s, a_vertex.x * -s + a_vertex.z * -c);
- #endif
-
- #if GL_ES
- // XXX: Ugly hack to hide some precision issues in GLES
- #if USE_TRIPLANAR
- v_tex = mod(v_tex, vec3(9.0, 9.0, 9.0));
- #else
- v_tex = mod(v_tex, vec2(9.0, 9.0));
- #endif
- #endif
- #endif
-
- #if BLEND
- v_blend = a_uv1;
- #endif
-
- #if USE_SHADOW
- v_shadow = shadowTransform * vec4(a_vertex, 1.0);
- #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- v_shadow.xy *= shadowScale.xy;
- #endif
- #endif
-
- v_normal = a_normal;
-
- #if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_TRIPLANAR
- #if USE_NORMAL_MAP
- vec3 t = vec3(1.0, 0.0, 0.0);
- t = normalize(t - v_normal * dot(v_normal, t));
- v_tangent = vec4(t, -1.0);
- v_bitangent = cross(v_normal, t);
- #endif
-
- #if USE_SPECULAR || USE_SPECULAR_MAP
- vec3 eyeVec = cameraPos.xyz - position.xyz;
- #if USE_SPECULAR || USE_SPECULAR_MAP
- vec3 sunVec = -sunDir;
- v_half = normalize(sunVec + normalize(eyeVec));
- #endif
- #endif
- #endif
-
- v_los = a_vertex.xz * losTransform.x + losTransform.yy;
-}
+#version 120
+
+uniform mat4 transform;
+uniform vec3 cameraPos;
+#ifdef GL_ES
+uniform mediump vec3 sunDir;
+uniform mediump vec3 sunColor;
+#else
+uniform vec3 sunDir;
+uniform vec3 sunColor;
+#endif
+uniform vec2 textureTransform;
+uniform vec2 losTransform;
+uniform mat4 shadowTransform;
+
+#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ uniform vec4 shadowScale;
+#endif
+
+varying vec3 v_lighting;
+
+#if USE_SHADOW
+ varying vec4 v_shadow;
+#endif
+
+varying vec2 v_los;
+varying vec2 v_blend;
+
+#if USE_TRIPLANAR
+ varying vec3 v_tex;
+#else
+ varying vec2 v_tex;
+#endif
+
+varying vec3 v_normal;
+
+#if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP
+ #if USE_NORMAL_MAP
+ varying vec4 v_tangent;
+ varying vec3 v_bitangent;
+ #endif
+ #if USE_SPECULAR || USE_SPECULAR_MAP
+ varying vec3 v_half;
+ #endif
+#endif
+
+
+attribute vec3 a_vertex;
+attribute vec3 a_normal;
+attribute vec3 a_color;
+attribute vec2 a_uv0;
+attribute vec2 a_uv1;
+
+void main()
+{
+ vec4 position = vec4(a_vertex, 1.0);
+
+ #if USE_GRASS && LAYER
+ position.y = a_vertex.y + (a_normal.y * 0.015 * LAYER);
+ #endif
+
+ gl_Position = transform * position;
+
+ v_lighting = a_color * sunColor;
+
+ #if DECAL
+ v_tex.xy = a_uv0;
+ #else
+
+ #if USE_TRIPLANAR
+ v_tex = a_vertex;
+ #else
+ // Compute texcoords from position and terrain-texture-dependent transform
+ float c = textureTransform.x;
+ float s = -textureTransform.y;
+ v_tex = vec2(a_vertex.x * c + a_vertex.z * -s, a_vertex.x * -s + a_vertex.z * -c);
+ #endif
+
+ #if GL_ES
+ // XXX: Ugly hack to hide some precision issues in GLES
+ #if USE_TRIPLANAR
+ v_tex = mod(v_tex, vec3(9.0, 9.0, 9.0));
+ #else
+ v_tex = mod(v_tex, vec2(9.0, 9.0));
+ #endif
+ #endif
+ #endif
+
+ #if BLEND
+ v_blend = a_uv1;
+ #endif
+
+ #if USE_SHADOW
+ v_shadow = shadowTransform * vec4(a_vertex, 1.0);
+ #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ v_shadow.xy *= shadowScale.xy;
+ #endif
+ #endif
+
+ v_normal = a_normal;
+
+ #if USE_SPECULAR || USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_TRIPLANAR
+ #if USE_NORMAL_MAP
+ vec3 t = vec3(1.0, 0.0, 0.0);
+ t = normalize(t - v_normal * dot(v_normal, t));
+ v_tangent = vec4(t, -1.0);
+ v_bitangent = cross(v_normal, t);
+ #endif
+
+ #if USE_SPECULAR || USE_SPECULAR_MAP
+ vec3 eyeVec = cameraPos.xyz - position.xyz;
+ #if USE_SPECULAR || USE_SPECULAR_MAP
+ vec3 sunVec = -sunDir;
+ v_half = normalize(sunVec + normalize(eyeVec));
+ #endif
+ #endif
+ #endif
+
+ v_los = a_vertex.xz * losTransform.x + losTransform.yy;
+}
diff --git a/binaries/data/mods/public/shaders/glsl/water_high.vs b/binaries/data/mods/public/shaders/glsl/water_high.vs
index 4b9d3cdebb..0d33919583 100644
--- a/binaries/data/mods/public/shaders/glsl/water_high.vs
+++ b/binaries/data/mods/public/shaders/glsl/water_high.vs
@@ -1,69 +1,69 @@
-#version 110
-
-uniform mat4 reflectionMatrix;
-uniform mat4 refractionMatrix;
-uniform mat4 losMatrix;
-uniform mat4 shadowTransform;
-uniform float repeatScale;
-uniform float windAngle;
-uniform float waviness; // "Wildness" of the reflections and refractions; choose based on texture
-uniform vec3 sunDir;
-
-#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- uniform vec4 shadowScale;
-#endif
-
-uniform float time;
-uniform float mapSize;
-
-uniform mat4 transform;
-
-varying vec3 worldPos;
-varying float waterDepth;
-varying vec2 waterInfo;
-
-varying vec4 normalCoords;
-varying vec3 reflectionCoords;
-varying vec3 refractionCoords;
-varying vec2 losCoords;
-
-varying float fwaviness;
-varying vec2 WindCosSin;
-
-#if USE_SHADOW && USE_SHADOWS_ON_WATER
- varying vec4 v_shadow;
-#endif
-
-attribute vec3 a_vertex;
-attribute vec2 a_waterInfo;
-attribute vec3 a_otherPosition;
-
-void main()
-{
- worldPos = vec3(a_vertex.x,15.0,a_vertex.z);
- waterInfo = a_waterInfo;
- waterDepth = a_waterInfo.g;
-
- WindCosSin = vec2(cos(-windAngle),sin(-windAngle));
-
- float newX = a_vertex.x * WindCosSin.x - a_vertex.z * WindCosSin.y;
- float newY = a_vertex.x * WindCosSin.y + a_vertex.z * WindCosSin.x;
-
- normalCoords = vec4(newX,newY,time,0.0);
- normalCoords.xy *= repeatScale;
- reflectionCoords = (reflectionMatrix * vec4(a_vertex, 1.0)).rga; // projective texturing
- refractionCoords = (refractionMatrix * vec4(a_vertex, 1.0)).rga;
- losCoords = (losMatrix * vec4(a_vertex, 1.0)).rg;
-
- #if USE_SHADOW && USE_SHADOWS_ON_WATER
- v_shadow = shadowTransform * vec4(a_vertex, 1.0);
- #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
- v_shadow.xy *= shadowScale.xy;
- #endif
- #endif
-
- // Fix the waviness for local wind strength
- fwaviness = waviness * ((0.15+a_waterInfo.r/1.15));
-
- gl_Position = transform * vec4(a_vertex, 1.0);
-}
+#version 110
+
+uniform mat4 reflectionMatrix;
+uniform mat4 refractionMatrix;
+uniform mat4 losMatrix;
+uniform mat4 shadowTransform;
+uniform float repeatScale;
+uniform float windAngle;
+uniform float waviness; // "Wildness" of the reflections and refractions; choose based on texture
+uniform vec3 sunDir;
+
+#if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ uniform vec4 shadowScale;
+#endif
+
+uniform float time;
+uniform float mapSize;
+
+uniform mat4 transform;
+
+varying vec3 worldPos;
+varying float waterDepth;
+varying vec2 waterInfo;
+
+varying vec4 normalCoords;
+varying vec3 reflectionCoords;
+varying vec3 refractionCoords;
+varying vec2 losCoords;
+
+varying float fwaviness;
+varying vec2 WindCosSin;
+
+#if USE_SHADOW && USE_SHADOWS_ON_WATER
+ varying vec4 v_shadow;
+#endif
+
+attribute vec3 a_vertex;
+attribute vec2 a_waterInfo;
+attribute vec3 a_otherPosition;
+
+void main()
+{
+ worldPos = vec3(a_vertex.x,15.0,a_vertex.z);
+ waterInfo = a_waterInfo;
+ waterDepth = a_waterInfo.g;
+
+ WindCosSin = vec2(cos(-windAngle),sin(-windAngle));
+
+ float newX = a_vertex.x * WindCosSin.x - a_vertex.z * WindCosSin.y;
+ float newY = a_vertex.x * WindCosSin.y + a_vertex.z * WindCosSin.x;
+
+ normalCoords = vec4(newX,newY,time,0.0);
+ normalCoords.xy *= repeatScale;
+ reflectionCoords = (reflectionMatrix * vec4(a_vertex, 1.0)).rga; // projective texturing
+ refractionCoords = (refractionMatrix * vec4(a_vertex, 1.0)).rga;
+ losCoords = (losMatrix * vec4(a_vertex, 1.0)).rg;
+
+ #if USE_SHADOW && USE_SHADOWS_ON_WATER
+ v_shadow = shadowTransform * vec4(a_vertex, 1.0);
+ #if USE_SHADOW_SAMPLER && USE_SHADOW_PCF
+ v_shadow.xy *= shadowScale.xy;
+ #endif
+ #endif
+
+ // Fix the waviness for local wind strength
+ fwaviness = waviness * ((0.15+a_waterInfo.r/1.15));
+
+ gl_Position = transform * vec4(a_vertex, 1.0);
+}
diff --git a/binaries/data/mods/public/shaders/glsl/water_high.xml b/binaries/data/mods/public/shaders/glsl/water_high.xml
index bc4a45f4cf..ee2fe04588 100644
--- a/binaries/data/mods/public/shaders/glsl/water_high.xml
+++ b/binaries/data/mods/public/shaders/glsl/water_high.xml
@@ -1,12 +1,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/public/simulation/data/auras/athen_hero_themistocles_1.json b/binaries/data/mods/public/simulation/data/auras/athen_hero_themistocles_1.json
index 8d6d3db873..22f48bd578 100644
--- a/binaries/data/mods/public/simulation/data/auras/athen_hero_themistocles_1.json
+++ b/binaries/data/mods/public/simulation/data/auras/athen_hero_themistocles_1.json
@@ -1,10 +1,10 @@
-{
- "type": "garrison",
- "affects": ["Ship"],
- "affectedPlayers": ["MutualAlly"],
- "modifications": [
- { "value": "UnitMotion/WalkSpeed", "multiply": 1.5 }
- ],
- "auraName": "Naval Commander Aura",
- "auraDescription": "When garrisoned in a ship, his ship is +50% faster."
+{
+ "type": "garrison",
+ "affects": ["Ship"],
+ "affectedPlayers": ["MutualAlly"],
+ "modifications": [
+ { "value": "UnitMotion/WalkSpeed", "multiply": 1.5 }
+ ],
+ "auraName": "Naval Commander Aura",
+ "auraDescription": "When garrisoned in a ship, his ship is +50% faster."
}
diff --git a/binaries/data/mods/public/simulation/data/auras/cart_hero_hannibal.json b/binaries/data/mods/public/simulation/data/auras/cart_hero_hannibal.json
index 9a49accbce..f4a386a42c 100644
--- a/binaries/data/mods/public/simulation/data/auras/cart_hero_hannibal.json
+++ b/binaries/data/mods/public/simulation/data/auras/cart_hero_hannibal.json
@@ -1,13 +1,13 @@
-{
- "type": "range",
- "radius": 60,
- "affects": ["Soldier", "Siege"],
- "affectedPlayers": ["Ally"],
- "modifications": [
- { "value": "Attack/Ranged/Pierce", "add": 2 },
- { "value": "Attack/Melee/Hack", "add": 2 },
- { "value": "Attack/Capture/Value", "add": 1 }
- ],
+{
+ "type": "range",
+ "radius": 60,
+ "affects": ["Soldier", "Siege"],
+ "affectedPlayers": ["Ally"],
+ "modifications": [
+ { "value": "Attack/Ranged/Pierce", "add": 2 },
+ { "value": "Attack/Melee/Hack", "add": 2 },
+ { "value": "Attack/Capture/Value", "add": 1 }
+ ],
"auraName": "Tactician Aura",
"auraDescription": "All allied units +2 Attack and +1 Capture within his vision range.",
"overlayIcon": "art/textures/ui/session/auras/attack_bonus.png"
diff --git a/binaries/data/mods/public/simulation/data/auras/pers_hero_darius.json b/binaries/data/mods/public/simulation/data/auras/pers_hero_darius.json
index 9303769485..e041706bc6 100644
--- a/binaries/data/mods/public/simulation/data/auras/pers_hero_darius.json
+++ b/binaries/data/mods/public/simulation/data/auras/pers_hero_darius.json
@@ -1,8 +1,8 @@
-{
- "type": "global",
- "affects": ["Soldier", "Siege"],
- "modifications": [
- { "value": "UnitMotion/WalkSpeed", "multiply": 1.15 }
+{
+ "type": "global",
+ "affects": ["Soldier", "Siege"],
+ "modifications": [
+ { "value": "UnitMotion/WalkSpeed", "multiply": 1.15 }
],
"auraName": "Leadership Aura",
"auraDescription": "+15% Movement Speed for all units."
diff --git a/binaries/data/mods/public/simulation/templates/gaia/flora_tree_apple.xml b/binaries/data/mods/public/simulation/templates/gaia/flora_tree_apple.xml
index ed3b8e345d..4fb7e2109b 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/flora_tree_apple.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/flora_tree_apple.xml
@@ -10,10 +10,10 @@
gaia/flora_bush_berry.png
-
-
-
- 400
+
+
+
+ 400
food.fruit
diff --git a/binaries/data/mods/public/simulation/templates/gaia/flora_tree_olive.xml b/binaries/data/mods/public/simulation/templates/gaia/flora_tree_olive.xml
index 437d9ee3fd..61ec011b49 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/flora_tree_olive.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/flora_tree_olive.xml
@@ -10,10 +10,10 @@
gaia/flora_bush_berry.png
-
-
-
- 400
+
+
+
+ 400
food.fruit
diff --git a/binaries/data/mods/public/simulation/templates/structures/cart_embassy_celtic.xml b/binaries/data/mods/public/simulation/templates/structures/cart_embassy_celtic.xml
index a1442654f8..182173d4a6 100644
--- a/binaries/data/mods/public/simulation/templates/structures/cart_embassy_celtic.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/cart_embassy_celtic.xml
@@ -1,37 +1,37 @@
-
-
-
- 120
-
- 200
- 0
- 0
-
-
-
-
- 11.0
-
-
- 1200
-
-
- cart
- Celtic Embassy
- The Celts supplied fierce warrior mercenaries for Carthaginian armies.
- Hire Celtic mercenaries. Research improvements for these mercenaries.
+
+
+
+ 120
+
+ 200
+ 0
+ 0
+
+
+
+
+ 11.0
+
+
+ 1200
+
+
+ cart
+ Celtic Embassy
+ The Celts supplied fierce warrior mercenaries for Carthaginian armies.
+ Hire Celtic mercenaries. Research improvements for these mercenaries.
structures/celtic_embassy.png
-
-
-
-
-
-
- units/{civ}_infantry_swordsman_gaul_b
+
+
+
+
+
+
+ units/{civ}_infantry_swordsman_gaul_b
units/{civ}_cavalry_swordsman_gaul_b
-
-
-
- structures/carthaginians/embassy_celtic.xml
-
-
+
+
+
+ structures/carthaginians/embassy_celtic.xml
+
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/cart_farmstead.xml b/binaries/data/mods/public/simulation/templates/structures/cart_farmstead.xml
index f65b3e4303..832248934b 100644
--- a/binaries/data/mods/public/simulation/templates/structures/cart_farmstead.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/cart_farmstead.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/maur_pillar_ashoka.xml b/binaries/data/mods/public/simulation/templates/structures/maur_pillar_ashoka.xml
index ad621dc069..ffd0414194 100644
--- a/binaries/data/mods/public/simulation/templates/structures/maur_pillar_ashoka.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/maur_pillar_ashoka.xml
@@ -7,23 +7,23 @@
80
- 0
- 0
- 100
- 100
-
-
-
-
- 5.0
-
-
-
- 1000
- rubble/rubble_stone_2x2
-
-
- maur
+ 0
+ 0
+ 100
+ 100
+
+
+
+
+ 5.0
+
+
+
+ 1000
+ rubble/rubble_stone_2x2
+
+
+ maur
Edict Pillar of Ashoka
Śāsana Stambha Aśokā
-ConquestCritical
@@ -31,22 +31,22 @@
The famous pillar of Ashoka. Increases the walk speed of traders. Buildings in the territory of the monument do not decay.
-
-
-
-
-
-
-
- interface/complete/building/complete_iber_monument.xml
- attack/destruction/building_collapse_large.xml
-
-
-
- true
-
-
- props/structures/mauryans/ashoka_pillar.xml
- structures/fndn_2x2.xml
-
-
+
+
+
+
+
+
+
+ interface/complete/building/complete_iber_monument.xml
+ attack/destruction/building_collapse_large.xml
+
+
+
+ true
+
+
+ props/structures/mauryans/ashoka_pillar.xml
+ structures/fndn_2x2.xml
+
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_blacksmith.xml b/binaries/data/mods/public/simulation/templates/structures/sele_blacksmith.xml
index 4c95ac599e..b70eee9901 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_blacksmith.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_blacksmith.xml
@@ -1,4 +1,4 @@
-
+
sele
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_civil_centre.xml b/binaries/data/mods/public/simulation/templates/structures/sele_civil_centre.xml
index 2bffd2db7e..603d3eb82b 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_civil_centre.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_civil_centre.xml
@@ -1,4 +1,4 @@
-
+
rubble/rubble_hele_cc
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_corral.xml b/binaries/data/mods/public/simulation/templates/structures/sele_corral.xml
index ce16f7694c..5d0354c43f 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_corral.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_corral.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_defense_tower.xml b/binaries/data/mods/public/simulation/templates/structures/sele_defense_tower.xml
index 78b99b8688..2199d532c2 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_defense_tower.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_defense_tower.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_dock.xml b/binaries/data/mods/public/simulation/templates/structures/sele_dock.xml
index 339b484242..521ae89f10 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_dock.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_dock.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_farmstead.xml b/binaries/data/mods/public/simulation/templates/structures/sele_farmstead.xml
index 44ff1b7f54..deb92cbcb3 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_farmstead.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_farmstead.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_house.xml b/binaries/data/mods/public/simulation/templates/structures/sele_house.xml
index eb01a8bded..1916c7c07e 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_house.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_house.xml
@@ -1,4 +1,4 @@
-
+
sele
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_market.xml b/binaries/data/mods/public/simulation/templates/structures/sele_market.xml
index 267005e87c..e6af3d7d62 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_market.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_market.xml
@@ -1,4 +1,4 @@
-
+
sele
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_storehouse.xml b/binaries/data/mods/public/simulation/templates/structures/sele_storehouse.xml
index b724e791e9..52f4d47348 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_storehouse.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_storehouse.xml
@@ -1,4 +1,4 @@
-
+
sele
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_temple.xml b/binaries/data/mods/public/simulation/templates/structures/sele_temple.xml
index cdc07cb7c3..fc2285f36a 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_temple.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_temple.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_wall_gate.xml b/binaries/data/mods/public/simulation/templates/structures/sele_wall_gate.xml
index 68aae70fba..51ce53f034 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_wall_gate.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_wall_gate.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_wall_long.xml b/binaries/data/mods/public/simulation/templates/structures/sele_wall_long.xml
index 5b02b386bb..3bfcb248f2 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_wall_long.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_wall_long.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_wall_medium.xml b/binaries/data/mods/public/simulation/templates/structures/sele_wall_medium.xml
index 4f29d47d7d..849c9621ed 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_wall_medium.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_wall_medium.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/binaries/data/mods/public/simulation/templates/structures/sele_wall_short.xml b/binaries/data/mods/public/simulation/templates/structures/sele_wall_short.xml
index 4f94a0ffbe..eb2e8d2b1c 100644
--- a/binaries/data/mods/public/simulation/templates/structures/sele_wall_short.xml
+++ b/binaries/data/mods/public/simulation/templates/structures/sele_wall_short.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/source/ps/scripting/JSInterface_Mod.cpp b/source/ps/scripting/JSInterface_Mod.cpp
index 1fba79d94b..1e5aa3160c 100644
--- a/source/ps/scripting/JSInterface_Mod.cpp
+++ b/source/ps/scripting/JSInterface_Mod.cpp
@@ -27,7 +27,7 @@
#include "ps/GameSetup/GameSetup.h"
#include "ps/GameSetup/Paths.h"
#include "ps/Mod.h"
-#include "ps/Profile.h"
+#include "ps/Profile.h"
#include "ps/scripting/JSInterface_Mod.h"
#include
diff --git a/source/ps/scripting/JSInterface_VisualReplay.cpp b/source/ps/scripting/JSInterface_VisualReplay.cpp
index 857e086782..8506c13bf0 100644
--- a/source/ps/scripting/JSInterface_VisualReplay.cpp
+++ b/source/ps/scripting/JSInterface_VisualReplay.cpp
@@ -17,7 +17,7 @@
#include "precompiled.h"
-#include "ps/Profile.h"
+#include "ps/Profile.h"
#include "ps/VisualReplay.h"
#include "ps/scripting/JSInterface_VisualReplay.h"
diff --git a/source/ps/tests/test_Preprocessor.h b/source/ps/tests/test_Preprocessor.h
index b8ec126326..5397ddd259 100644
--- a/source/ps/tests/test_Preprocessor.h
+++ b/source/ps/tests/test_Preprocessor.h
@@ -30,8 +30,8 @@ public:
char* out = preproc.Parse(in, strlen(in), len);
TS_ASSERT_EQUALS(std::string(out, len), "\n1+1=2\n");
- // Free output if it's not inside the source string
- if (!(out >= in && out < in + strlen(in)))
+ // Free output if it's not inside the source string
+ if (!(out >= in && out < in + strlen(in)))
free(out);
}
@@ -47,8 +47,8 @@ public:
TS_ASSERT_STR_CONTAINS(logger.GetOutput(), "ERROR: Preprocessor error: line 2: Unclosed parenthesis in #if expression\n");
- // Free output if it's not inside the source string
- if (!(out >= in && out < in + strlen(in)))
+ // Free output if it's not inside the source string
+ if (!(out >= in && out < in + strlen(in)))
free(out);
}
};
diff --git a/source/tools/autolog/SVNLog/lib/SVNLog/Model/CDBI/PublicMessage.pm b/source/tools/autolog/SVNLog/lib/SVNLog/Model/CDBI/PublicMessage.pm
index 485f9bedf7..fa134cc2e2 100644
--- a/source/tools/autolog/SVNLog/lib/SVNLog/Model/CDBI/PublicMessage.pm
+++ b/source/tools/autolog/SVNLog/lib/SVNLog/Model/CDBI/PublicMessage.pm
@@ -2,12 +2,12 @@ package SVNLog::Model::CDBI::PublicMessage;
use strict;
-__PACKAGE__->set_sql(log_range => qq{
- SELECT __TABLE__.id
+__PACKAGE__->set_sql(log_range => qq{
+ SELECT __TABLE__.id
FROM __TABLE__
JOIN logentry ON __TABLE__.logentry = logentry.id
- ORDER BY revision DESC
- LIMIT ? OFFSET ?
+ ORDER BY revision DESC
+ LIMIT ? OFFSET ?
});
1;
diff --git a/source/tools/replayprofile/jquery.js b/source/tools/replayprofile/jquery.js
index 926357433e..462cde56c3 100644
--- a/source/tools/replayprofile/jquery.js
+++ b/source/tools/replayprofile/jquery.js
@@ -1266,150 +1266,150 @@ jQuery.each({
function num(elem, prop) {
return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0;
}
-var expando = "jQuery" + now(), uuid = 0, windowData = {};
-
-jQuery.extend({
- cache: {},
-
- data: function( elem, name, data ) {
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ];
-
- // Compute a unique ID for the element
- if ( !id )
- id = elem[ expando ] = ++uuid;
-
- // Only generate the data cache if we're
- // trying to access or manipulate it
- if ( name && !jQuery.cache[ id ] )
- jQuery.cache[ id ] = {};
-
- // Prevent overriding the named cache with undefined values
- if ( data !== undefined )
- jQuery.cache[ id ][ name ] = data;
-
- // Return the named cache data, or the ID for the element
- return name ?
- jQuery.cache[ id ][ name ] :
- id;
- },
-
- removeData: function( elem, name ) {
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ];
-
- // If we want to remove a specific section of the element's data
- if ( name ) {
- if ( jQuery.cache[ id ] ) {
- // Remove the section of cache data
- delete jQuery.cache[ id ][ name ];
-
- // If we've removed all the data, remove the element's cache
- name = "";
-
- for ( name in jQuery.cache[ id ] )
- break;
-
- if ( !name )
- jQuery.removeData( elem );
- }
-
- // Otherwise, we want to remove all of the element's data
- } else {
- // Clean up the element expando
- try {
- delete elem[ expando ];
- } catch(e){
- // IE has trouble directly removing the expando
- // but it's ok with using removeAttribute
- if ( elem.removeAttribute )
- elem.removeAttribute( expando );
- }
-
- // Completely remove the data cache
- delete jQuery.cache[ id ];
- }
- },
- queue: function( elem, type, data ) {
- if ( elem ){
-
- type = (type || "fx") + "queue";
-
- var q = jQuery.data( elem, type );
-
- if ( !q || jQuery.isArray(data) )
- q = jQuery.data( elem, type, jQuery.makeArray(data) );
- else if( data )
- q.push( data );
-
- }
- return q;
- },
-
- dequeue: function( elem, type ){
- var queue = jQuery.queue( elem, type ),
- fn = queue.shift();
-
- if( !type || type === "fx" )
- fn = queue[0];
-
- if( fn !== undefined )
- fn.call(elem);
- }
-});
-
-jQuery.fn.extend({
- data: function( key, value ){
- var parts = key.split(".");
- parts[1] = parts[1] ? "." + parts[1] : "";
-
- if ( value === undefined ) {
- var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
- if ( data === undefined && this.length )
- data = jQuery.data( this[0], key );
-
- return data === undefined && parts[1] ?
- this.data( parts[0] ) :
- data;
- } else
- return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){
- jQuery.data( this, key, value );
- });
- },
-
- removeData: function( key ){
- return this.each(function(){
- jQuery.removeData( this, key );
- });
- },
- queue: function(type, data){
- if ( typeof type !== "string" ) {
- data = type;
- type = "fx";
- }
-
- if ( data === undefined )
- return jQuery.queue( this[0], type );
-
- return this.each(function(){
- var queue = jQuery.queue( this, type, data );
-
- if( type == "fx" && queue.length == 1 )
- queue[0].call(this);
- });
- },
- dequeue: function(type){
- return this.each(function(){
- jQuery.dequeue( this, type );
- });
- }
+var expando = "jQuery" + now(), uuid = 0, windowData = {};
+
+jQuery.extend({
+ cache: {},
+
+ data: function( elem, name, data ) {
+ elem = elem == window ?
+ windowData :
+ elem;
+
+ var id = elem[ expando ];
+
+ // Compute a unique ID for the element
+ if ( !id )
+ id = elem[ expando ] = ++uuid;
+
+ // Only generate the data cache if we're
+ // trying to access or manipulate it
+ if ( name && !jQuery.cache[ id ] )
+ jQuery.cache[ id ] = {};
+
+ // Prevent overriding the named cache with undefined values
+ if ( data !== undefined )
+ jQuery.cache[ id ][ name ] = data;
+
+ // Return the named cache data, or the ID for the element
+ return name ?
+ jQuery.cache[ id ][ name ] :
+ id;
+ },
+
+ removeData: function( elem, name ) {
+ elem = elem == window ?
+ windowData :
+ elem;
+
+ var id = elem[ expando ];
+
+ // If we want to remove a specific section of the element's data
+ if ( name ) {
+ if ( jQuery.cache[ id ] ) {
+ // Remove the section of cache data
+ delete jQuery.cache[ id ][ name ];
+
+ // If we've removed all the data, remove the element's cache
+ name = "";
+
+ for ( name in jQuery.cache[ id ] )
+ break;
+
+ if ( !name )
+ jQuery.removeData( elem );
+ }
+
+ // Otherwise, we want to remove all of the element's data
+ } else {
+ // Clean up the element expando
+ try {
+ delete elem[ expando ];
+ } catch(e){
+ // IE has trouble directly removing the expando
+ // but it's ok with using removeAttribute
+ if ( elem.removeAttribute )
+ elem.removeAttribute( expando );
+ }
+
+ // Completely remove the data cache
+ delete jQuery.cache[ id ];
+ }
+ },
+ queue: function( elem, type, data ) {
+ if ( elem ){
+
+ type = (type || "fx") + "queue";
+
+ var q = jQuery.data( elem, type );
+
+ if ( !q || jQuery.isArray(data) )
+ q = jQuery.data( elem, type, jQuery.makeArray(data) );
+ else if( data )
+ q.push( data );
+
+ }
+ return q;
+ },
+
+ dequeue: function( elem, type ){
+ var queue = jQuery.queue( elem, type ),
+ fn = queue.shift();
+
+ if( !type || type === "fx" )
+ fn = queue[0];
+
+ if( fn !== undefined )
+ fn.call(elem);
+ }
+});
+
+jQuery.fn.extend({
+ data: function( key, value ){
+ var parts = key.split(".");
+ parts[1] = parts[1] ? "." + parts[1] : "";
+
+ if ( value === undefined ) {
+ var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
+
+ if ( data === undefined && this.length )
+ data = jQuery.data( this[0], key );
+
+ return data === undefined && parts[1] ?
+ this.data( parts[0] ) :
+ data;
+ } else
+ return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){
+ jQuery.data( this, key, value );
+ });
+ },
+
+ removeData: function( key ){
+ return this.each(function(){
+ jQuery.removeData( this, key );
+ });
+ },
+ queue: function(type, data){
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ }
+
+ if ( data === undefined )
+ return jQuery.queue( this[0], type );
+
+ return this.each(function(){
+ var queue = jQuery.queue( this, type, data );
+
+ if( type == "fx" && queue.length == 1 )
+ queue[0].call(this);
+ });
+ },
+ dequeue: function(type){
+ return this.each(function(){
+ jQuery.dequeue( this, type );
+ });
+ }
});/*!
* Sizzle CSS Selector Engine - v0.9.3
* Copyright 2009, The Dojo Foundation
diff --git a/source/tools/xmlvalidator/validate.pl b/source/tools/xmlvalidator/validate.pl
index 27f2ddc3c5..780a08bd8c 100644
--- a/source/tools/xmlvalidator/validate.pl
+++ b/source/tools/xmlvalidator/validate.pl
@@ -1,82 +1,82 @@
-use strict;
-use warnings;
-
-use File::Find;
-use XML::LibXML;
-
-use constant VERBOSE_OUTPUT => 1;
-
-my $vfsroot = '../../../binaries/data/mods';
-
-sub vfs_to_physical
-{
- my ($vfspath) = @_;
- my $fn = "$vfsroot/public/$vfspath";
- return $fn;
-}
-
-sub vfs_to_relative_to_mods
-{
- my ($vfspath) = @_;
- my $fn = "public/$vfspath";
- return $fn;
-}
-
-sub find_files
-{
- my ($vfspath, $extn) = @_;
- my @files;
- my $find_process = sub {
- return $File::Find::prune = 1 if $_ eq '.svn';
- my $n = $File::Find::name;
- return if /~$/;
- return unless -f $_;
- return unless /\.($extn)$/;
- $n =~ s~\Q$vfsroot\E/public/~~;
- push @files, $n;
- };
- find({ wanted => $find_process }, "$vfsroot/public/$vfspath");
-
- return @files;
-}
-
-sub validate
-{
- my ($name, $arr, $schemapath) = @_;
- my @files = @{$arr};
- print "\nValidating ".$name."s...\n";
-
- my $rngschema = XML::LibXML::RelaxNG->new( location => vfs_to_physical($schemapath) );
- my $errorcount = 0;
-
- for my $f (sort @files)
- {
- my $doc = XML::LibXML->new->parse_file(vfs_to_physical($f));
-
- eval { $rngschema->validate( $doc ); };
-
- if ($@)
- {
- if (VERBOSE_OUTPUT)
- {
- # strip $vfsroot from messages
- $@ =~ s/$vfsroot//g;
- warn $@;
- }
- else
- {
- warn "$f validation failed\n";
- }
-
- $errorcount++;
- }
- }
- print "\n$errorcount $name validation errors\n";
-}
-
-sub validate_actors
-{
- my @files = find_files('art/actors', 'xml');
+use strict;
+use warnings;
+
+use File::Find;
+use XML::LibXML;
+
+use constant VERBOSE_OUTPUT => 1;
+
+my $vfsroot = '../../../binaries/data/mods';
+
+sub vfs_to_physical
+{
+ my ($vfspath) = @_;
+ my $fn = "$vfsroot/public/$vfspath";
+ return $fn;
+}
+
+sub vfs_to_relative_to_mods
+{
+ my ($vfspath) = @_;
+ my $fn = "public/$vfspath";
+ return $fn;
+}
+
+sub find_files
+{
+ my ($vfspath, $extn) = @_;
+ my @files;
+ my $find_process = sub {
+ return $File::Find::prune = 1 if $_ eq '.svn';
+ my $n = $File::Find::name;
+ return if /~$/;
+ return unless -f $_;
+ return unless /\.($extn)$/;
+ $n =~ s~\Q$vfsroot\E/public/~~;
+ push @files, $n;
+ };
+ find({ wanted => $find_process }, "$vfsroot/public/$vfspath");
+
+ return @files;
+}
+
+sub validate
+{
+ my ($name, $arr, $schemapath) = @_;
+ my @files = @{$arr};
+ print "\nValidating ".$name."s...\n";
+
+ my $rngschema = XML::LibXML::RelaxNG->new( location => vfs_to_physical($schemapath) );
+ my $errorcount = 0;
+
+ for my $f (sort @files)
+ {
+ my $doc = XML::LibXML->new->parse_file(vfs_to_physical($f));
+
+ eval { $rngschema->validate( $doc ); };
+
+ if ($@)
+ {
+ if (VERBOSE_OUTPUT)
+ {
+ # strip $vfsroot from messages
+ $@ =~ s/$vfsroot//g;
+ warn $@;
+ }
+ else
+ {
+ warn "$f validation failed\n";
+ }
+
+ $errorcount++;
+ }
+ }
+ print "\n$errorcount $name validation errors\n";
+}
+
+sub validate_actors
+{
+ my @files = find_files('art/actors', 'xml');
validate('actor', \@files, 'art/actors/actor.rng');
}
@@ -89,87 +89,87 @@ sub validate_variants
sub validate_guis
{
# there are two different gui XML schemas depending on path
- my @files = find_files('gui', 'xml');
- my (@guipages, @guixmls);
- for my $f (@files)
- {
- if ($f =~ /^gui\/page_/)
- {
- push @guipages, $f;
- }
- else
- {
- push @guixmls, $f;
- }
- }
-
- validate('gui page', \@guipages, 'gui/gui_page.rng');
- validate('gui xml', \@guixmls, 'gui/gui.rng');
-}
-
-sub validate_maps
-{
- my @files = find_files('maps/scenarios', 'xml');
- push @files, find_files('maps/skirmishes', 'xml');
- validate('map', \@files, 'maps/scenario.rng');
-}
-
-sub validate_materials
-{
- my @files = find_files('art/materials', 'xml');
- validate('material', \@files, 'art/materials/material.rng');
-}
-
-sub validate_particles
-{
- my @files = find_files('art/particles', 'xml');
- validate('particle', \@files, 'art/particles/particle.rng');
-}
-
-sub validate_simulation
-{
- my @file = ('simulation/data/pathfinder.xml');
- validate('pathfinder', \@file, 'simulation/data/pathfinder.rng');
- @file = ('simulation/data/territorymanager.xml');
- validate('territory manager', \@file, 'simulation/data/territorymanager.rng');
-}
-
-sub validate_soundgroups
-{
- my @files = find_files('audio', 'xml');
- validate('sound group', \@files, 'audio/sound_group.rng');
-}
-
-sub validate_terrains
-{
- # there are two different terrain XML schemas depending on path
- my @files = find_files('art/terrains', 'xml');
- my (@terrains, @terraintextures);
- for my $f (@files)
- {
- if ($f =~ /terrains.xml/)
- {
- push @terrains, $f;
- }
- else
- {
- push @terraintextures, $f;
- }
- }
-
- validate('terrain', \@terrains, 'art/terrains/terrain.rng');
- validate('terrain texture', \@terraintextures, 'art/terrains/terrain_texture.rng');
-}
-
-sub validate_textures
-{
- my @files;
- my @texturefiles = find_files('art/textures', 'xml');
- for my $f (@texturefiles)
- {
- push @files, $f if $f =~ /textures.xml/;
- }
- validate('texture', \@files, 'art/textures/texture.rng');
+ my @files = find_files('gui', 'xml');
+ my (@guipages, @guixmls);
+ for my $f (@files)
+ {
+ if ($f =~ /^gui\/page_/)
+ {
+ push @guipages, $f;
+ }
+ else
+ {
+ push @guixmls, $f;
+ }
+ }
+
+ validate('gui page', \@guipages, 'gui/gui_page.rng');
+ validate('gui xml', \@guixmls, 'gui/gui.rng');
+}
+
+sub validate_maps
+{
+ my @files = find_files('maps/scenarios', 'xml');
+ push @files, find_files('maps/skirmishes', 'xml');
+ validate('map', \@files, 'maps/scenario.rng');
+}
+
+sub validate_materials
+{
+ my @files = find_files('art/materials', 'xml');
+ validate('material', \@files, 'art/materials/material.rng');
+}
+
+sub validate_particles
+{
+ my @files = find_files('art/particles', 'xml');
+ validate('particle', \@files, 'art/particles/particle.rng');
+}
+
+sub validate_simulation
+{
+ my @file = ('simulation/data/pathfinder.xml');
+ validate('pathfinder', \@file, 'simulation/data/pathfinder.rng');
+ @file = ('simulation/data/territorymanager.xml');
+ validate('territory manager', \@file, 'simulation/data/territorymanager.rng');
+}
+
+sub validate_soundgroups
+{
+ my @files = find_files('audio', 'xml');
+ validate('sound group', \@files, 'audio/sound_group.rng');
+}
+
+sub validate_terrains
+{
+ # there are two different terrain XML schemas depending on path
+ my @files = find_files('art/terrains', 'xml');
+ my (@terrains, @terraintextures);
+ for my $f (@files)
+ {
+ if ($f =~ /terrains.xml/)
+ {
+ push @terrains, $f;
+ }
+ else
+ {
+ push @terraintextures, $f;
+ }
+ }
+
+ validate('terrain', \@terrains, 'art/terrains/terrain.rng');
+ validate('terrain texture', \@terraintextures, 'art/terrains/terrain_texture.rng');
+}
+
+sub validate_textures
+{
+ my @files;
+ my @texturefiles = find_files('art/textures', 'xml');
+ for my $f (@texturefiles)
+ {
+ push @files, $f if $f =~ /textures.xml/;
+ }
+ validate('texture', \@files, 'art/textures/texture.rng');
}
validate_actors();
@@ -177,8 +177,8 @@ validate_variants();
validate_guis();
validate_maps();
validate_materials();
-validate_particles();
-validate_simulation();
-validate_soundgroups();
-validate_terrains();
-validate_textures();
+validate_particles();
+validate_simulation();
+validate_soundgroups();
+validate_terrains();
+validate_textures();