ソースを参照

Final preparations for merge into develop (#780)

* version updated, change log updated from release draft
* horse sounds for terrains
* Update and freeze essential files
Nordsoft91 3 年 前
コミット
99a9680f62

+ 1 - 1
AUTHORS

@@ -80,4 +80,4 @@ Dmitry Orlov, <[email protected]>
    * special buildings support in fan towns, new features and bug fixes
 
 Andrey Cherkas aka nordsoft, <[email protected]>
-   * random map generator features and bug fixes
+   * new terrain support, random map generator features and various bug fixes

+ 2 - 2
CMakeLists.txt

@@ -37,8 +37,8 @@ if(NOT CMAKE_BUILD_TYPE)
 	set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release RelWithDebInfo)
 endif()
 
-set(VCMI_VERSION_MAJOR 0)
-set(VCMI_VERSION_MINOR 99)
+set(VCMI_VERSION_MAJOR 1)
+set(VCMI_VERSION_MINOR 0)
 set(VCMI_VERSION_PATCH 0)
 
 option(ENABLE_ERM "Enable compilation of ERM scripting module" ON)

+ 47 - 8
ChangeLog

@@ -1,9 +1,12 @@
-0.99 -> 1.00
+0.99 -> 1.0
 
 GENERAL:
 * Spectator mode was implemented through command-line options
 * Some main menu settings get saved after returning to main menu - last selected map, save etc.
 * Restart scenario button should work correctly now
+* Skyship Grail works now immediately after capturing without battle
+* Lodestar Grail implemented
+* Fixed Gargoyles immunity
 * New bonuses:
 - SOUL_STEAL - "WoG ghost" ability, should work somewhat same as in H3
 - TRANSMUTATION - "WoG werewolf"-like ability
@@ -35,17 +38,53 @@ MODS:
 * Added bonus updaters for hero specialties
 * Added allOf, anyOf and noneOf qualifiers for bonus limiters
 * Added bonus limiters: alignment, faction and terrain
+* Supported new terrains, new battlefields, custom water and rock terrains
+* Following special buildings becomes available in the fan towns:
+- attackVisitingBonus
+- defenceVisitingBonus
+- spellPowerVisitingBonus
+- knowledgeVisitingBonus
+- experienceVisitingBonus
+- lighthouse
+- treasury
 
 SOUND:
 * Fixed many mising or wrong pickup and visit sounds for map objects
-* All map objects now have ambient sounds identical to OH3
-
-RANDOM MAP GENERATOR:
-* Random map generator supports water modes (normal, islands)
-* Added config randomMap.json with settings for map generator
-* Added parameter for template allowedWaterContent
-* Extra resource packs appear nearby mines
+* All map objects now have ambient sounds identical to OH3
+
+RANDOM MAP GENERATOR:
+* Random map generator supports water modes (normal, islands)
+* Added config randomMap.json with settings for map generator
+* Added parameter for template allowedWaterContent
+* Extra resource packs appear nearby mines
 * Underground can be player starting place for factions allowed to be placed underground
+* Improved obstacles placement aesthetics
+* Rivers are generated on the random maps
+* RMG works more stable, various crashes have been fixed
+* Treasures requiring guards are guaranteed to be protected
+
+VCAI:
+* Reworked goal decomposition engine, fixing many loopholes. AI will now pick correct goals faster.
+* AI will now use universal pathfinding globally
+* AI can use Summon  Boat and Town Portal
+* AI can gather and save resources on purpose
+* AI will only buy army on demand instead of every turn
+* AI can distinguish the value of all map objects
+* General speed optimizations
+
+BATTLES:
+* Towers should block ranged retaliation
+* AI can bypass broken wall with moat instead of standing and waiting until gate is destroyed
+* Towers do not attack war machines automatically
+* Draw is possible now as battle outcome in case the battle ends with only summoned creatures (both sides loose)
+
+ADVENTURE MAP:
+* Added buttons and keyboard shortcuts to quickly exchange army and artifacts between heroes
+* Fix: Captured town should not be duplicated on the UI
+
+LAUNCHER:
+* Implemented notifications about updates
+* Supported redirection links for downloading mods
 
 0.98 -> 0.99
 

BIN
Mods/vcmi/Data/QuickRecruitmentWindow/CreaturePurchaseCard.png


+ 40 - 0
Mods/vcmi/Data/s/std.verm

@@ -0,0 +1,40 @@
+VERM
+; standard verm file, global engine things should be put here
+
+!?PI;
+; example 1 --- Hello World
+![print ^Hello world!^]
+
+; example 2 --- simple arithmetics
+![defun add [x y] [+ x y]]
+![print [add 2 3]]
+
+; example 3 --- semantic macros
+![defmacro do-n-times [times body]
+	`[progn
+		[setq do-counter 0]
+		[setq do-max ,times]
+		[do [< do-counter do-max]
+			[progn 
+				[setq do-counter [+ do-counter 1]]
+				,body
+			]
+		]
+	]
+]
+![do-n-times 4 [print ^tekst\n^]]
+
+
+; example 4 --- conditional expression
+![if [> 2 1] [print ^Wieksze^] [print ^Mniejsze^]]
+
+; example 5 --- lambda expressions
+![[lambda [x y] [if [> x y] [print ^wieksze^] [print ^mniejsze^]]] 2 3]
+
+; example 6 --- resursion
+![defun factorial [n]
+	[if [= n 0] 1
+		[* n [factorial [- n 1]]]
+	]
+]
+![print [factorial 8]]

+ 14 - 0
Mods/vcmi/Data/s/testy.erm

@@ -0,0 +1,14 @@
+ZVSE
+!?PI;
+	!!VRv2777:S4;
+	!!DO1/0/5/1&v2777<>1:P0;
+
+!?FU1;
+	!!VRv2778:Sx16%2;
+	!!IF&x16>3:M^Hello world number %X16! To duza liczba^;
+	!!IF&v2778==0&x16<=3:M^Hello world number %X16! To mala parzysta liczba^;
+	!!IF&v2778==1&x16<=3:M^Hello world number %X16! To mala nieparzysta liczba^;
+
+!?PI;
+	!!VRz10:S^Composed hello ^;
+	!!IF:M^%Z10%%world%%, v2777=%V2777, v2778=%V2778!^;

BIN
Mods/vcmi/Maps/VCMI_Tests_2011b.h3m


+ 20 - 10
config/terrains.json

@@ -9,7 +9,8 @@
 		"code" : "dt",
 		"river" : "rm",
 		"battleFields" : ["dirt_birches", "dirt_hills", "dirt_pines"],
-		"terrainViewPatterns" : "dirt"
+		"terrainViewPatterns" : "dirt",
+		"horseSoundId" : 0
 	},
 	"sand" :
 	{
@@ -22,7 +23,8 @@
 		"river" : "rm",
 		"battleFields" : ["sand_mesas"],
 		"transitionRequired" : true,
-		"terrainViewPatterns" : "sand"
+		"terrainViewPatterns" : "sand",
+		"horseSoundId" : 1
 	},
 	"grass" :
 	{
@@ -33,7 +35,8 @@
 		"tiles" : "GRASTL",
 		"code" : "gr",
 		"river" : "rw",
-		"battleFields" : ["grass_hills", "grass_pines"]
+		"battleFields" : ["grass_hills", "grass_pines"],
+		"horseSoundId" : 2
 	},
 	"snow" :
 	{
@@ -44,7 +47,8 @@
 		"tiles" : "SNOWTL",
 		"code" : "sn",
 		"river" : "ri",
-		"battleFields" : ["snow_mountains", "snow_trees"]
+		"battleFields" : ["snow_mountains", "snow_trees"],
+		"horseSoundId" : 3
 	},
 	"swamp" :
 	{
@@ -55,7 +59,8 @@
 		"tiles" : "SWMPTL",
 		"code" : "sw",
 		"river" : "rw",
-		"battleFields" : ["swamp_trees"]
+		"battleFields" : ["swamp_trees"],
+		"horseSoundId" : 4
 	},
 	"rough" :
 	{
@@ -66,7 +71,8 @@
 		"tiles" : "ROUGTL",
 		"code" : "rg",
 		"river" : "rm",
-		"battleFields" : ["rough"]
+		"battleFields" : ["rough"],
+		"horseSoundId" : 5
 	},
 	"subterra" :
 	{
@@ -79,7 +85,8 @@
 		"code" : "sb",
 		"river" : "rw",
 		"battleFields" : ["subterranean"],
-		"rockTerrain" : "rock"
+		"rockTerrain" : "rock",
+		"horseSoundId" : 6
 	},
 	"lava" :
 	{
@@ -91,7 +98,8 @@
 		"code" : "lv",
 		"river" : "rl",
 		"battleFields" : ["lava"],
-		"rockTerrain" : "rock"
+		"rockTerrain" : "rock",
+		"horseSoundId" : 7
 	},
 	"water" :
 	{
@@ -104,7 +112,8 @@
 		"code" : "wt",
 		"battleFields" : ["ship"],
 		"transitionRequired" : true,
-		"terrainViewPatterns" : "water"
+		"terrainViewPatterns" : "water",
+		"horseSoundId" : 8
 	},
 	"rock" :
 	{
@@ -117,6 +126,7 @@
 		"code" : "rc",
 		"battleFields" : ["rocklands"],
 		"transitionRequired" : true,
-		"terrainViewPatterns" : "rock"
+		"terrainViewPatterns" : "rock",
+		"horseSoundId" : 9
 	}
 }

+ 2 - 2
lib/GameConstants.cpp

@@ -51,9 +51,9 @@ const TeamID TeamID::NO_TEAM = TeamID(255);
 namespace GameConstants
 {
 #ifdef VCMI_NO_EXTRA_VERSION
-	const std::string VCMI_VERSION = std::string("VCMI 0.99");
+	const std::string VCMI_VERSION = std::string("VCMI 1.0.0");
 #else
-	const std::string VCMI_VERSION = std::string("VCMI 0.99 ") + GIT_SHA1;
+	const std::string VCMI_VERSION = std::string("VCMI 1.0.0.") + GIT_SHA1;
 #endif
 }