DjWarmonger
95e442898e
Fixed #1900
2014-10-01 13:26:04 +02:00
Ivan Savenko
33c0e24940
Fixes 1895 - Properly select upper army for recruitment
2014-09-23 14:28:55 +03:00
Ivan Savenko
4bb5784922
Fixing AI - dwelling visitation code should now work properly
2014-09-21 18:08:47 +03:00
Ivan Savenko
b67618ab53
First batch of AI fixes:
...
- wiped not actually used set/get selection
- replaced isReachable with VCAI::isAccessible
2014-09-21 17:03:20 +03:00
Ivan Savenko
6c0c03d74b
Refactoing of pathfinder <-> client/AI interaction to remove dependency on selected hero
...
- finished removal of server-side setSelection
- disabled some broken code (AI & cheats). TODO: fix
2014-09-21 16:42:08 +03:00
Ivan Savenko
78709e223b
Breaking things - trying to remove server-side knowledge of selected objects
2014-09-19 00:18:49 +03:00
Ivan Savenko
b551bdb725
Final part of the merge
...
Merging VCMI Dirs refactoring + GUI refactoring with current develop
2014-09-04 20:59:07 +03:00
DjWarmonger
0edaf4fa8a
Merge pull request #26 from vcmi/FFMpeg
...
Let's do this, way too many branches running now.
2014-09-01 10:35:30 +02:00
DjWarmonger
8b10f70afd
Migrating to MSVS 2013, which allows to delete inttypes.h file.
2014-08-31 19:08:39 +02:00
Karol
1b6f2ea3b7
VCMIDirs update #5 fix
...
- Updated old OS detect macros.
- Fixed 1 misspell.
2014-08-26 12:19:04 +02:00
beegee1
5139378319
- migrated boost::function/ref/bind to std:: variants
2014-08-04 20:33:59 +02:00
Michael Pavlyshko
13cbf0bbca
disable fPIC for windows
2014-07-11 23:11:19 +03:00
Michael Pavlyshko
f7d8faa540
install only .dll (without .dll.a)
2014-07-11 17:27:50 +03:00
AlexVinS
195eae48ca
Merge branch 'develop' into SDL2
...
Conflicts:
client/CPlayerInterface.cpp
2014-07-02 17:15:12 +04:00
Ivan Savenko
1157111fcf
More bugfixing:
...
- Fixed compile in VCAI (precompiled headers should not include VCMI headers)
- Fixed crash on visiting observatories, including shroud of darkness
2014-06-29 17:23:06 +03:00
Haryaalcar
88122ee253
another build fix:
...
Undefined symbols for architecture x86_64:
"operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, EVictoryLossCheckResult const&)
2014-06-26 02:19:10 +03:00
Ivan Savenko
32240da34e
Reduced number of #include's in headers. May break compilation on Win
...
since some net packs now need DLL_LINKAGE
2014-06-25 17:11:07 +03:00
Ivan Savenko
a0689fa377
Refactoring of hoverText from objects:
...
- removed hoverText field
- split getHoverText() method into 3:
- - getObjectName() for generic name
- - getHoverText(Player) for player-specific text
- - getHoverText(Hero) for hero-specific strings
2014-06-24 20:39:47 +03:00
AlexVinS
3b8d0e44d4
Merge branch 'develop' into SDL2
2014-06-24 14:09:44 +04:00
DjWarmonger
3ac306f501
Merge pull request #19 from vcmi/feature/mapObjects
...
Feature/map objects
2014-06-22 14:49:42 +02:00
Ivan Savenko
ab475195ac
Banks now use new scheme as well
...
- Implemented Bank Constructor object.
- Merged Pyramid object into common Bank class. Banks can now grant
spells as part of their reward.
- Move bank config code to config/objects/creatureBanks.json. Note: WoG
banks are not updated yet, should be moved to WoG mod.
- Updated AI code so it can correctly evaluate bank danger (should be
generic enough for use with other objects)
- New files JsonRandom.* that contain routines for loading random
objects from Json (still WiP but should be stable)
2014-06-22 13:39:40 +03:00
DjWarmonger
5c431da0f9
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-15 10:01:18 +02:00
AlexVinS
56c74bc46a
+More build target to support both SDL1 and SDL2 builds
2014-06-13 07:55:48 +04:00
AlexVinS
bbd0312b45
Tweak configuration
2014-06-13 07:55:47 +04:00
Haryaalcar
2ee139977f
crash in VCAI::completeGoal() fixed
2014-06-09 11:24:17 +03:00
Ivan Savenko
b2e8c92383
Cleanup:
...
- removed commented-out #includ'es
- renamed some files to match name of class
2014-06-05 20:26:50 +03:00
Ivan Savenko
652ceb2bde
Finally shattered CObjectHandler.cpp into tiny bits
...
- This file is now split into multiple smaller files in mapObjects
directory
- CObjectHandler itself now contains only core classes (Handler itself,
CGObject and interfaces)
- Cleaned up excessive #include's through whole project
2014-06-05 19:52:14 +03:00
DjWarmonger
e54c816c92
Treasure piles can now cover several tiles.
2014-06-05 17:19:11 +02:00
Ivan Savenko
0afdfa529c
Moved all object-related files to lib/mapObjects directory.
...
Renamed some classes to more readable names
2014-06-05 14:19:47 +03:00
Ivan Savenko
32b6568b65
Merged changes from upstream and fixed compilation caused by API changes
2014-06-03 22:45:18 +03:00
DjWarmonger
aee748d8d6
- Added monoliths between remote zones
...
- Fixed land connections between zones, now they're generated correctly.
2014-06-01 12:02:43 +02:00
DjWarmonger
8c24ea0bfb
Introduced 3-value logic for free, blocked and possibly occupied tiles. Refactoring.
2014-05-30 16:50:06 +02:00
Ivan Savenko
1d17d60449
gcc update:
...
- removed support for 4.6
- compilation fixes for 4.7
2014-05-29 13:42:05 +03:00
Ivan Savenko
7f276185bd
Moving files:
...
- new config for objects (config/objects/generic.json)
- renamed lib/CDefObjectHandler to lib/CObjectClassesHandler
2014-05-24 02:07:54 +03:00
AlexVinS
6f65d2484b
Extract battleStackIsImmune from battleIsImmune
...
This fix possible problems with rising spells as now immunty is handled on stack level not on hex level
* battleIsImmune in now protected - only used in canCastThisSpellHere
2014-05-19 13:44:38 +04:00
DjWarmonger
6658e173f1
- Possible fix for #1769
...
- Fixed all possible (even unexpected) crashes when AI looses active hero
2014-05-18 13:13:31 +02:00
Ilya Zhuravlev
db7cd79cf7
Android port.
...
Conflicts:
lib/vcmi_endian.h
2014-05-16 23:24:29 +04:00
DjWarmonger
fb5152254d
Merge branch 'develop' of git://github.com/Macron1Robot/vcmi into WarmysBackup
...
Conflicts:
client/CKingdomInterface.cpp
2014-05-02 12:03:02 +02:00
Macron1Robot
21c2efbc64
Update VCAI.cpp
...
Deleted commented text and optimized estimateIncome
2014-04-28 10:33:42 +04:00
Macron1Robot
ede9818b38
Update VCAI.cpp
...
corrected typo
2014-04-28 08:26:21 +04:00
DjWarmonger
4a71442c80
Missing changes.
2014-04-27 14:38:20 +02:00
Macron1Robot
8ec7a9b919
Moved "max heroes on map per player", "max heroes available for player" to "defaultMods.json"
2014-04-27 10:43:46 +04:00
Macron1Robot
907caedb13
Added "produce" section in "building" structure. Changed dailyIncome.
2014-04-26 18:23:35 +04:00
Macron1Robot
b7b890acff
Added "tavernVideo","guildBackground" to "faction" JSON config and schema. If "primaryResource" is set to "gold", silo will generate 500 gold per day
2014-04-24 23:36:18 +04:00
DjWarmonger
9e7013de77
Backup for my own MVS project configuration
2014-04-24 21:07:43 +02:00
beegee1
e2bcac4d27
- fixed include random generator header
2014-04-18 18:45:47 +02:00
beegee1
1d57b75bc5
- random number generation refactoring
...
- fixed mantis #1743
2014-04-10 19:22:32 +02:00
Ivan Savenko
43ba3d30ea
Breaking things - first commit towards configurable object(s).
...
- New files: lib/CObjectWithReward.h/cpp
- Classes that will be replaced by configurable object are now in this
fil
Status: far from functional, currently at "it compiles" point, some
essential pieces are still missing.
2014-04-06 23:14:26 +03:00
DjWarmonger
2da3d7d7c3
Removed AI bottleneck on water-based maps.
2014-04-03 09:57:44 +00:00
DjWarmonger
30b79588db
- Moved gameState::guardingCreaturePosition() to CMap so it doesn't need to be recalculated many times for every player.
...
- Some optimizations with local cb pinter in VCAI.
2014-04-01 11:53:28 +00:00
DjWarmonger
a64df5718f
Some nontrivial optimizations based on profiling results:
...
- Movement bonuses will be calculated ONCE per pathfinder loop
- Goals will be sorted by hero to reduce number of calculatePaths calls
2014-03-31 14:26:09 +00:00
DjWarmonger
8683c8c0eb
- Added and improved some propagators, including Crystal Dragons ability ( #1232 )
...
- Minor refactoring in AI
2014-03-29 21:39:19 +00:00
Ivan Savenko
771c1ce255
- some effords to get rid of bottlenecks in AI code
...
- fixes, probably partially #1577
- enabled code for reading map object templates from json, still not
used
- disabled PCH for launcher due to speed issues.
2014-03-23 16:36:16 +00:00
DjWarmonger
441e4b2cb2
Improvements for AI speed ( #1760 )
...
AI heroes will be excluded from exploration if:
- There is no clear way to next exploration point or
- There is no possible exploration point at all
AI heroes will be erased from the list above if:
- FoW changes
- New object is added
- To prevent lock, primary hero will be erased at the start of each turn
2014-03-23 16:00:43 +00:00
Ivan Savenko
9c0df68cb8
Fixing spelling mistakes. Patch from josch, fixes #1759
2014-03-23 12:59:03 +00:00
beegee1
fe1b16a7ec
Some preparation towards mantis #1743 :
...
- refactored CRandomGenerator (added util methods, improved method names)
- usages of std::minstd_ran are replaced by CRandomGenerator (not in entire code base, C rand() usages are still not replaced)
- refactored getArtSync method of CArtHandler -> now named pickRandomArtifact
- fixed some compiler warnings
- updated source code URL in VCMI spec
2014-03-17 19:51:07 +00:00
alexvins
4203d69525
Part 2 of new spell configuration
...
1) spell handler refactored to support modding in general way
2) imunnity icons moved to WoG as they depends on wog`s graphics
3) introduced new class template for handlers (todo: use this in other handlers)
4) save format changed
5) introduced "absolute immunity" - unaffected by "the Orb" etc. (todo: use it in config)
6) new format documented on wiki, added json schema.
* more split of registertypes - fixes 32 mingw build
2014-03-07 13:21:09 +00:00
Michał W. Urbańczyk
93b8d2e59a
AI crash — do not modify container when iterating it.
2014-03-01 12:53:09 +00:00
DjWarmonger
d049abe644
Fixed typo #1732 .
2014-02-26 17:29:21 +00:00
DjWarmonger
8ce6659633
Important fix for unreserving objects.
2014-02-23 20:37:33 +00:00
DjWarmonger
94c8f01732
Commiting some minor tweaks before next dev version.
2014-02-23 16:55:42 +00:00
Michał W. Urbańczyk
458ba47965
Compile fix for non-msvc, as per https://github.com/vcmi/vcmi/pull/8
2014-02-21 12:27:56 +00:00
DjWarmonger
15edeb231b
Fixed two heroes getting stuck on both sides of gate.
2014-02-21 09:32:24 +00:00
DjWarmonger
1196eb5d81
AI can finally clear Subterranean Gate with guard on the other side :)
2014-02-21 07:48:38 +00:00
DjWarmonger
b0b0249524
- Implemented serialization of Goals. Loaded games work, at least.
...
- Attempts to add Subterranean Gates to SectorMap
- Extensive use of ClearWayTo goal.
2014-02-20 20:18:49 +00:00
DjWarmonger
8683b982c7
- A simple method to break loop in goal decomposition (which consumed time)
...
- Finally corrected canGetArmy conditions (which also consumed time)
- Removed some unused code, general cleaning
2014-02-19 16:23:47 +00:00
DjWarmonger
a3cad2883f
- Restored correct specialty serialization ( #1599 and all its children)
...
- Fixed rare AI crash
- Fixed AI visiting some objects many times
- Some cleanup and refactoring
2014-02-17 17:28:39 +00:00
DjWarmonger
6ee823298a
- Various improvements for exploration
...
* Heroes will try to use SectorMap if there are no accessible tiles
* Remove some loopholes and pitfalls when all the ways are blocked
* Fixed AI not conquering some (reserved) objects
Still missing: SectorMap does not use Subterranean Gates :(
- Improvements for army exchange
* Fixed exchange condition
* Bidirectional exchange is possible
2014-02-17 07:36:03 +00:00
DjWarmonger
afacb40f5a
- Fixed secondary heroes stalking main hero
...
- Fixed exotic crash when all nearby tiles are occupied
2014-02-15 21:32:49 +00:00
DjWarmonger
b368e565ab
- fixed #1714
...
- Performance improvements, refactoring
2014-02-15 19:39:03 +00:00
DjWarmonger
d8933b5c36
- AI will now use SectorMap to find a way to guarded / covered objects.
...
- Improvements to SectorMap needed for use of multiple heroes
2014-02-15 16:38:51 +00:00
DjWarmonger
e459984897
Cleanup in AI.
2014-02-15 08:10:06 +00:00
Ivan Savenko
7f07a30d7d
More fixes for map-specific crashes, fixes #1427 and #733
...
- if special victory condition is present AND there is only one player
normal victory condition will be disabled
- added new triggered condition, constant value
- if target of CONTROL/DESTROY condition is removed from map, triggered
condition will be replaced with constant
- fixed randomization of armies with random stacks
2014-02-09 12:10:02 +00:00
DjWarmonger
d17b3a14bd
- Significantly improved exploration algorithm
...
- Workaround to make AI gather army when exploration is not possible anymore
- Possibly fixed issue with AI not capturing guarded objects
2014-02-07 20:09:15 +00:00
DjWarmonger
a9b10c8099
- Changed aggregation method so now fuzzy engine takes all the factors into consideration
...
- Heroes now will use real path cost and their movement, which has numerous advantages:
* Actual movement cost is taken into consideration
* Groups of heroes will keep order
* Fastest heroes will be used for exploration first
2014-02-07 08:23:31 +00:00
DjWarmonger
54fbdfec5e
- Finally fixed wander crash
...
- Smoothed values of terms to improve differentiation and stability
2014-02-06 06:05:45 +00:00
beegee1
95034b9fa0
- Updated PCH to use our StdInc.h as the prefix header (not generated one from cotire) -> no exclude headers from ffmpeg/etc... statements required
...
- Fixed compilation error (VCAI ResourceSet logging)
2014-02-05 20:25:36 +00:00
DjWarmonger
486cd4b001
- Fixed (common) issue when AI found neutral stacks infinitely strong
...
- Fixed non-fuzzy performance of some functions. Now AI really considers all options and uses multiple heroes, who don't spend their time wandering a lot.
2014-02-05 18:45:51 +00:00
DjWarmonger
5e58027496
Fix for rare crash in previous commit.
2014-02-05 09:04:09 +00:00
DjWarmonger
c708a631c1
- Improved AI logging messages
...
- Cut wandering time of AI
2014-02-04 21:49:04 +00:00
beegee1
df0a28d9cb
- added PCH compilation for CMake using cotire module (PCH is OFF per default, can be enabled with ENABLE_PCH=ON)
2014-02-01 13:37:26 +00:00
Ivan Savenko
3779a54ddd
- probably fixed 1671
...
- fixed missing loss condition in Birth of Barbarian
- fixed some bugs found by cppcheck
2014-01-30 11:08:37 +00:00
alexvins
16d6292be9
[refactor] extract often used classes from lib\NetPacks.h to separate header - less dependecies on whole packets class tree
...
[mingw build] fix linking issues with netpacks.
Mingw build is finally fixed!
[c::b] update projects
[config] fix and cleanup spell_info.json
2014-01-16 20:24:06 +00:00
DjWarmonger
c2cbd8da27
Un-abstracted AbstractGoal to allow serialization.
2014-01-06 14:17:56 +00:00
alexvins
a740f7989c
[c::b] update projects, disable PHC for now, +few fixes (still wip)
2014-01-05 17:48:50 +00:00
Ivan Savenko
2c4c964a45
Large rewrite of adventure map objects:
...
- replaced CDefObjInfo with ObjectTemplate class
- ObjectTempate is a direct member of objects instead of pointer with
shared ownership across CMap, handler and game objects
- simplified handling of objects that can change appearance (e.g. towns)
- all object queries regarding object appearance/blockmaps use h3m pos
instead of relative positions
- removed need of modhandler::reload
- cleanup of some old code
2014-01-02 23:48:38 +00:00
beegee1
5971ceaa7f
- Fixed hero / army strength handling
2013-12-31 16:11:18 +00:00
DjWarmonger
51e6961d08
Compile fix for MVS.
2013-12-29 15:48:56 +00:00
Ivan Savenko
0c5be52a42
Win/loss conditions based on logical expressions, yet another large
...
changeset:
- victory/defeat will be detected using triggered events
- vcmi will convert h3 conditions into set of triggered events
- it is possible to either change number of days without towns or even
remove this loss condition completely
- possibility of custom win/loss text and icons in pregame (no longer
connected to win/loss conditions)
Still missing:
- No interface to pass custom events/victory conditions into the game
- AI would benefit from improvemets (handle all victory conditions,
select best one to fulfill)
- You have X days till defeat message still hardcoded to 7 days
2013-12-29 11:27:38 +00:00
DjWarmonger
344783efb5
An attempt to handle spawning objects. However, on a day of double growth, when multiple monsters spawn, game freezes. Looks like engine issue, code is commented out.
2013-12-28 16:39:47 +00:00
beegee1
b8eddcd9a8
- Moved place bonus hero before normal random hero and starting hero placement -> same behaviour as in OH3
...
- Moved placing campaign heroes before random object generation -> same behaviour as in OH3
- Refactored pickHero into pickNextHeroType (hero generation sequence) and pickUnusedHeroTypeRandomly
- Added a SIGSEV violation handler to vcmiserver executable for logging stacktrace (for convenience only)
- Fixed Fuzzy.cpp and VCAI.h compilation on Clang
- Added a handleException function in addition to our macros (no use of macros, enables debugging support, does not re-throw, catches ...-case too)
2013-12-28 12:47:55 +00:00
DjWarmonger
9ec299931d
- Fixed VisitHero goal. Now heroes can exchange armies again.
...
- AI should not get lazy in endgame.
- Removed unused code.
2013-12-27 13:20:40 +00:00
DjWarmonger
e5b011abe0
- Fixed heroes stalling. Locked heroes now try to decompose their goals exhaustively, which FINALLY works as intended.
...
- Fixed multiple issues with ClearWayTo goal.
2013-12-26 09:53:37 +00:00
DjWarmonger
603cbd8850
Experiment: goal values calculated by Fuzzy Helper will be stored in "priority" field and used in consecutive calculations.
2013-12-25 16:05:11 +00:00
DjWarmonger
7af9b0ea74
Replaced AI vectors by sets for both performance and safety.
2013-12-25 13:38:20 +00:00
DjWarmonger
12bb9221d1
One more fix.
2013-12-24 22:12:12 +00:00
DjWarmonger
a8539b2b28
- Fixes for Quest Guard and goal completion, in particular For Sale map ( #894 )
...
- Fixes for ally players handling by AI
2013-12-24 22:01:16 +00:00
DjWarmonger
0c3ccda922
One more fix.
2013-12-23 21:22:42 +00:00
DjWarmonger
aec04d920e
Endless crusade against AI issues and loopholes!
...
- Fixed #1126
- ClearWayTo and GatherArmy goals will also consider multiple subgoals
- GatherArmy may include building dwellings in town (experimental)
2013-12-23 20:46:01 +00:00
DjWarmonger
362a54b4df
More fixes and tweaks for AI, including #1590 .
2013-12-21 21:31:28 +00:00
DjWarmonger
a6ce282f8a
Dramatically reduced exploration complexity. AI will check only nearby objects.
2013-12-21 19:17:27 +00:00
DjWarmonger
473250e223
- Removed slow and buggy part of exploration code
...
- Various tweaks and performance improvements. remove_if on long vector is a bad idea.
2013-12-21 17:34:59 +00:00
DjWarmonger
5ec3685041
Fixed heroes getting stuck because their assigned tile was captured by another hero.
2013-12-21 07:37:23 +00:00
DjWarmonger
045af73f0d
Some tweaks and performance improvements.
2013-12-20 21:10:43 +00:00
DjWarmonger
bf3fe0e274
- Explore goal will also use fuzzy comparison
...
- Fixed AI afraid of town with Castle built: #1514 , #1515 , #1584
2013-12-20 16:49:51 +00:00
beegee1
68bdf71db6
- Fixed GCC compiler warnings
...
- Implemented move heroes to next scenario partially
2013-12-20 13:07:58 +00:00
DjWarmonger
6b3ca831c1
- Conquer goal will not use fuzzy logic as well. AI should play more aggresively.
...
- Removed unused code.
2013-12-20 13:01:44 +00:00
DjWarmonger
1b04f4fa9f
Hopefully fixed ALL the cases when hero could use invalid path, for good.
2013-12-20 10:15:29 +00:00
DjWarmonger
d085f8eee8
First implementation of fuzzy logic in VisitTile goal.
2013-12-20 09:43:12 +00:00
DjWarmonger
983c0496d0
Some work towards fuzzy goal comparison.
2013-12-19 20:21:21 +00:00
Ivan Savenko
881a7cf862
- added check to avoid recursion in AI town building code
...
- restored previously missing AI shield during AI turn
2013-12-19 17:29:35 +00:00
Ivan Savenko
ee1b0459e6
Extended building dependencies:
...
- buiding/structure lists must use object format. This may break some
outdated mods.
- generic support for logical expressions that consist from and/or/not
operators.
- string ID's for buidings are now actually used.
2013-12-02 11:58:02 +00:00
beegee1
36a69aaa2f
- Fixed VS project files (added missing .cpp files)
...
- Structured VS project files (added a filter for every subfolder)
2013-11-30 14:22:03 +00:00
DjWarmonger
2f698acf98
Compile fix - template specialization is defined before generic template.
2013-11-30 07:52:08 +00:00
DjWarmonger
8be4ca03c8
Uncommented Fuzzy code. Please let me know if it compiles on other platforms.
2013-11-25 11:55:48 +00:00
DjWarmonger
54c52869cf
- Fixed some more cases when heroes could block each other
...
- More generous checking of complete goals and their dependencies
2013-11-24 19:15:08 +00:00
DjWarmonger
b0bdfff117
Compile fixes, refactoring
2013-11-24 15:30:17 +00:00
Ivan Savenko
27a30b5ff9
- compile fix
...
- fixed crash if json defines only one creature horde
2013-11-24 11:36:51 +00:00
DjWarmonger
74a1d09871
Fixed new issue with hero trying to visit himself.
2013-11-24 08:56:02 +00:00
DjWarmonger
cedb3ea82a
Some more logging for goal completion.
...
Stub of fuzzy goal selection.
2013-11-24 08:21:51 +00:00
DjWarmonger
0ab7b498f5
VCAI is now functional again!
...
Implemented Visitor pattern for double-dispatch (actually only goal type dispatch).
2013-11-23 18:16:25 +00:00
DjWarmonger
e6bb39d3a4
More work on VCAI Goals, still derived functions are not called :/
2013-11-23 12:30:10 +00:00
beegee1
3e4407593f
- Refactoring for checking victory/loss conditions (use enum class instead of magic numbers)
...
- Improved showing player lost message for one special case
2013-11-17 17:57:04 +00:00
beegee1
39d3102905
- Fixed compilation errors on clang
...
- Removed compiler warnings of unused variables
2013-11-16 09:17:19 +00:00
DjWarmonger
900d7a03f0
Template magic. Implemented method chaining + clone pattern for Goals.
2013-11-15 17:30:16 +00:00
Ivan Savenko
3560bbb7f3
two patches/pull requests from janisozaur
...
- replace our custom bmap with std::map::at()
- compile fixes for editor
2013-11-12 10:45:42 +00:00
DjWarmonger
1657f124e1
- Compile fixes for MVS
...
- AI goals will now be handled by smart pointers
2013-11-09 21:29:46 +00:00
Ivan Savenko
55577d0ac4
- fixed missing DLL_LINKAGE
...
- use precalculated checksum for zip files
- UNUSED macro to silence some warnings
2013-11-09 13:49:36 +00:00
Ivan Savenko
ee6cdbeffe
went through the rest of cppcheck warnings, mostly harmless
2013-11-07 12:48:41 +00:00
Ivan Savenko
0e3eae3095
patch from KroArtem
2013-11-03 12:51:25 +00:00
Ivan Savenko
c4716d0a9a
- reordered files in cmake so files with long compile times will be
...
compiled first.
- changed format of modSettings.json, VCMI should properly update file
on the first run.
- implemented property "defaultTavern" that acts as default value for
"tavern" entry in hero class and town formats.
2013-11-03 12:07:23 +00:00
Ivan Savenko
012212698e
compile fixes, cmake files update
2013-10-20 13:51:05 +00:00
DjWarmonger
c77fa499e7
Some more.
2013-10-19 11:37:22 +00:00
DjWarmonger
7b4964b882
Constructors for Goals.
2013-10-19 06:16:21 +00:00
DjWarmonger
f0248dd245
More AI refactoring.
2013-10-19 05:52:30 +00:00
DjWarmonger
9950bc6ec3
First part of AI refactoring. Trying to split AI into three distinct parts:
...
- Core with callback handling and processing
- Logic (goal decomposition)
- Utility and helper functions based on simple mechanics
Also, Goals will now be organized in object-oriented fashion.
2013-10-18 20:17:25 +00:00
Michał W. Urbańczyk
0e8fa04d9f
Fixed #1487 .
2013-10-13 15:24:02 +00:00
Michał W. Urbańczyk
149ff4df14
Fixed tiny but terrible mistake from two commits ago.
2013-09-29 21:15:02 +00:00
Michał W. Urbańczyk
5c6d12400f
Fixed AI detection of battle end (solves some freezes).
2013-09-29 20:54:29 +00:00
Michał W. Urbańczyk
30a0237fb8
Merged the 092c-compat branch.
2013-09-28 12:31:06 +00:00
Michał W. Urbańczyk
c6c53a5b1e
Few more freeze-related fixes.
2013-09-28 00:30:12 +00:00
Michał W. Urbańczyk
d1807585ad
Fixed at least two #1428 freezes, likely more.
...
They were occurring when AI hero visited bank that was also guarded by neutral creature nearby,
2013-09-27 23:46:58 +00:00
Michał W. Urbańczyk
0a0048fdf4
Updated EmptyAI project to follow the conventions.
2013-09-27 23:41:15 +00:00
Michał W. Urbańczyk
b62bb096a7
Fixed #1430 , work-around to make #1435 non-crashing.
...
Fixed at least one of the #1428 infinite turns cases.
2013-09-11 21:57:08 +00:00
Michał W. Urbańczyk
dd72261193
Fixed #1437 .
2013-09-05 22:11:13 +00:00
Michał W. Urbańczyk
92246a2c17
* Fixed #1417 — infinite loop of AI trying to visit allied creture generator
...
* Fixed #1401 — battle AI won't attempt attacks with First Aid Tent
2013-08-25 13:03:29 +00:00
Ivan Savenko
5654fef901
- ZipArchive namespace for operations with zip archives, located in CZipLoader.h/cpp.
...
- new fields in mod format, for use with mod manager (check config/shemas/mod.json for details)
- removed some 0.92 compatibility from mods loading
- several compile fixes
2013-08-19 11:50:53 +00:00
Michał W. Urbańczyk
3b42cff3ec
#1409 should not crash anymore.
...
Fixed crash on serializing empty path. [How did it got there...?]
operator<< for boost::optional.
2013-08-18 15:46:28 +00:00
DjWarmonger
b36be10e30
2013-07-25 11:53:36 +00:00
Michał W. Urbańczyk
e9d51a2670
Fixed issue that allowed to build multiple boats in town. Renamed state() to sth more sensible.
2013-07-21 10:08:32 +00:00
Michał W. Urbańczyk
a1f545792b
Compile fixes specific for VS 2012"
...
* Reverted std::bind to boost::bind. std::bind on Visual 2012 doesn't work in some cases (especially with std::ref), not sure why [but it seems to be a bug, since 2013 preview compiles the same code fine].
* Move assignment operator for VS 2012.
2013-07-02 15:23:32 +00:00
Michał W. Urbańczyk
7a8e401860
Ignore the cmath-fix block on non-vs compilers.
2013-07-02 15:19:54 +00:00
Michał W. Urbańczyk
4576719abe
Visual Studio 2013 Preview compile fixes:
...
* 0 is not convertible to std::function, nullptr should be used
* std::ref(rand) is not convertible to function<int()>, used lambdas (why we dont just pass "rand" ? )
* CFunctionList needs to be constructible from nullptr
* move constructor for CMapInfo (Visual cannot generate them :( )
* #ifdefed some stuff that is not needed anymore since cmath is updated with C99 stuff
* using std::make_unique instead of our vstd implementation
CSelector:
* introduced a class in place of typedef
* Having an overloaded && || operators over sth that is convertible to bool… Wasn't a good idea after all. Purged the operators, replaced with And/Or methods (chaining-style).
* constructor that is present only when constructing from class or function (SFINAE). std::function has an implicit converting constructor from T causing ambiguities (even if the overload would cause compile error in the body)
2013-07-02 12:08:30 +00:00
Ivan Savenko
f82122d9be
second part of c++11 update. gcc 4.5 and VS 2010 are no longer supported
...
- BOOST_FOREACH -> for
- replaced several boost classes with std (e.g. unordered)
- removed gcc-4.5 workarounds
- ran clang c++11 migration tool to detect some cases:
- - pointer initialized with "0" to nullptr
- - replace for with iterators with range-based for
- - use auto in some situations (type name specified twice, avoid long iterators type names)
2013-06-29 13:05:48 +00:00
Ivan Savenko
2b45e13c5c
c++03 -> c++11 switch:
...
- use std versions of function, bind and ref
- OVERRIDE -> override
- NULL -> nullptr
- use std versions of random distributions
NOTE: this may be last revision that supports gcc-4.5
2013-06-26 11:18:27 +00:00
Ivan Savenko
dd808ef5cc
bugfixing:
...
- support for one more Russian localisation, fixes #1321
- fixed icon for level 1 town hall, #1294
- correct portraits for first heroes from mods, #1297 and probably #1298
And a lot of gcc compile fixes
2013-06-23 19:35:54 +00:00
Michał W. Urbańczyk
4a0587d500
More work on auto-fight.
...
Dynamic libraries return smart-pointers to what they create.
2013-06-22 21:47:51 +00:00
Michał W. Urbańczyk
254f194220
Some very early work towards autofight feature.
...
Added EmptyAI to the solution.
Passing callbacks by shared_ptr.
2013-06-22 14:47:20 +00:00
Michał W. Urbańczyk
06dbdd234f
Further changes for duel mode. It is possible to pass names of AIs to be used by command line. Moved things in battle AI.
2013-06-21 20:59:32 +00:00
Michał W. Urbańczyk
6a88604937
* fixed crash related to cammander's SPELL_AFTER_ATTACK spell id not initialized properly (text id was resolved on copy of bonus)
...
* fixed duels, added no-GUI mode for automatic AI testing
* minor things
2013-06-17 15:45:55 +00:00
Ivan Savenko
b01637840a
- compile fixes
...
- fixed building in towns after loading (partial #1272 )
2013-05-27 14:20:46 +00:00
Michał W. Urbańczyk
79026bdfde
Introduced strongly typed QueryID.
...
Exchange between heroes is now a proper first-class query. Fixes #1269 . #66 should also be finally fully fixed.
VC projects: /Zm flag to fix compilation issues with recent Boost.
2013-05-27 10:53:28 +00:00
Ivan Savenko
dca8e9fa6f
- removed access to one wog file
...
- removed way to avoid dependency checking in identifiers resolution
- minor fixes
2013-05-21 22:11:44 +00:00
Michał W. Urbańczyk
5c2473d436
Support for saving/loading in player interfaces, including VCAI.
...
Minor changes.
2013-05-09 11:09:23 +00:00
Ivan Savenko
c6cc6e6301
Large changeset, first part of editing H3 objects via mods feature. Changes:
...
- loading of all objects (including H3 objects) will be directed by mod handlers
- common base for all handlers accessible from mod system (IHanderBase)
- json format changes: use struct with string ID's instead of vector
- fixed some gcc/clang errors and warnings
- fixed several cases of memory leaks and invalid memory access (mostly related to usage of bonus system and/or identifiers resolution)
Note that right now loading is much slower than before due to excessive json validation (or not fast enough validator)
2013-04-21 12:49:26 +00:00
Michał W. Urbańczyk
d30571aa4d
AI won't access enemy heroes' objects that went under FoW. Fixes #1235 .
2013-04-21 12:11:13 +00:00
Michał W. Urbańczyk
e8354908c3
Big change: Introduced new mechanism to handle queries. It should not cause any visible changes ATM apart from fixing several long-standing bugs realted to handling post-visit/battle/levelup callback, including infamous creature bank issues: #955 , #1053 , #1063 , #1191 . Needs testing.
...
Minor changes:
* default log level set to trace
* LOG_TRACE raii guardian lifetime will last till the end of block
* compile fixes
* minor refactorings
2013-04-20 11:34:01 +00:00
beegee1
45fccfb1a6
- Added new trace macro LOG_TRACE which autom. appends leaving func message - Removed old trace macros - Small refactoring in CMapEditManager - Changed documentation comments to /// style for various mapping header files
2013-04-16 13:16:58 +00:00
beegee1
c10266ed97
- Reduced complexity to use the CMapGenerator(simpler interface) - Removed h3m.txt and tchar_amigaos4.h
2013-04-14 18:52:05 +00:00
beegee1
f10ba48c77
- Fully integrated new logging API(ERM, Editor, missing parts) - Removed old logger
2013-04-11 15:58:01 +00:00
beegee1
abf96a5b66
- Integrated the logging API into the AI subprojects - Added macros for tracing the control flow - Added methods isDebug/TraceEnabled for performance-critical sections
2013-04-10 16:28:14 +00:00
beegee1
ee51c5beb5
- Renamed /lib subfolders to lowercase
2013-04-07 10:48:07 +00:00
Ivan Savenko
c4c592b773
- bugfixing: #1243 , #1227 , #1241 , #1236 , #1233
2013-03-14 20:44:00 +00:00
mateuszb
dbec99ffc7
* PlayerColor and TeamID refactoring
2013-03-03 17:06:03 +00:00
alexvins
d99bc7ca07
[mingw]
...
*VCAI fix build
2013-02-23 22:43:02 +00:00
DjWarmonger
f40863b82f
Fixed AI trying to realize incorrect goals, which could lead to crash
2013-02-23 19:13:15 +00:00
mateuszb
560315bc48
* SlotID refactoring
2013-02-16 14:03:47 +00:00
mateuszb
9e00090c42
* refactoring, a few intriguing problems remain
2013-02-13 23:55:42 +00:00
Ivan Savenko
7e46d462b6
- compile fixes
...
- fixed portrait initialization for random heroes
2013-02-12 21:32:55 +00:00
mateuszb
bda766b697
* refactoring
2013-02-12 19:49:40 +00:00
mateuszb
8a8eecd063
* refactoring
2013-02-11 19:11:34 +00:00
DjWarmonger
b554af25d3
- Compile fix
...
- Fixed Basilisk spawning at Hive
- Fixed double-shot of Marksman
2013-02-11 17:23:55 +00:00
mateuszb
d540723739
* refactoring
2013-02-11 14:42:09 +00:00
mateuszb
86dc9386d6
* refactoring, including a generic solution for IDs
2013-02-10 23:24:57 +00:00
Michał W. Urbańczyk
e31f5062f9
Fixed crashes when VCAI cannot find hero to recruit.
...
Bumped format version.
2013-02-09 17:37:38 +00:00
mateuszb
d03dbf64a6
* refactoring
2013-02-09 12:56:35 +00:00
mateuszb
f1c78e3260
* creature ID refactoring
...
* double week creatures are configurable now
2013-02-07 17:34:50 +00:00
alexvins
a9d458c8f4
few more refactorings
2013-02-04 21:58:42 +00:00
mateuszb
25663ce7af
* fixed vector<bool> serialization
...
* refactoring
2013-02-04 19:43:16 +00:00
mateuszb
8769f67c5d
* JsonReader can convert to enums
...
* refactoring
2013-02-03 21:05:44 +00:00
DjWarmonger
beb1ca1bf8
- getDate function now uses enum for different modes
...
- Fixed Black Market (#1195 )
- Fixed one-week bonuses removed eveyr day (#976 )
2013-02-02 08:29:57 +00:00
mateuszb
c4e03ef0de
* enum serialization/deserialization (si32 as basetype ought to be enough for anybody)
...
* some fields in classes refactored to use appropriate enums (not yet finished)
2013-02-01 22:04:25 +00:00
Michał W. Urbańczyk
6232a1b369
Fixed #1181 . Do not change that setProperty to setPropertyDer, it has to be as it is.
...
Sketchy fix for BattleAIs colliding ith their callbacks.
2013-01-21 21:34:30 +00:00
Michał W. Urbańczyk
5b919d88eb
"More stable" opening AI.
2013-01-20 12:06:49 +00:00
alexvins
53b684180d
[refactor]
...
* use spells configuration (all timed effects for battle spells)
* a few more cleanups
+register erm resource types (useful in future and less noise in log now)
2013-01-16 11:19:04 +00:00
alexvins
d8b068afd9
[c::b] update projects
2013-01-08 09:41:28 +00:00
Michał W. Urbańczyk
d4c30667b8
Fixed #1168 and #1170 .
2013-01-06 04:48:05 +00:00
alexvins
4bc2fd5519
[c::b] renamed map subfolder to workaround dependency tracking bug
2013-01-03 12:19:20 +00:00
alexvins
9b106bb0f7
fix build
2012-12-24 15:52:56 +00:00
alexvins
616cedb2f2
get rid of few more magic numbers (obj types)
...
+stub for wog objects
2012-12-24 15:07:30 +00:00
Ivan Savenko
0b1c215882
- end of world, at least for autotools. Removed completely in favor of CMake
2012-12-23 19:44:37 +00:00
Ivan Savenko
8824f5e2d5
- H3 creatures use subset of mod creature format (todo - unify code)
...
- creatures configs moved into confg/creatures files, similar to factions.
- creatures ID's use same camelCase format as the rest of the game
2012-12-22 16:47:12 +00:00
Michał W. Urbańczyk
bcf8cab19a
Project files update/cleanup.
2012-12-19 18:23:21 +00:00
alexvins
e775ad8804
small cleanup
2012-12-16 16:54:20 +00:00
Ivan Savenko
72ea5e4ac9
- fixed crash in AI logging (objID is object index, not hero ID)
2012-12-12 13:32:37 +00:00
alexvins
a6388652d3
[c::b] update projects
2012-12-06 12:16:26 +00:00
DjWarmonger
c5d9110176
Compile fix for last commit.
2012-12-01 07:17:55 +00:00
Ivan Savenko
2643762f08
Mac OS patch from stopiccot
2012-12-01 06:30:52 +00:00
Ivan Savenko
8eba824ada
- updated icons + psd file
...
- better log messages if server failed to open port
- 1148 should be fixed. Cleanup in CGameHandler::moveHero()
- compile fixes
2012-11-15 21:29:22 +00:00
DjWarmonger
c54b983663
Some improvements for AI logging.
2012-11-15 10:40:40 +00:00
DjWarmonger
a7cea94247
- Hopefully fixed #1103
...
- Fixed #1137
2012-11-14 14:27:18 +00:00
Ivan Savenko
0d863c83d7
- removed autogenerated by autotools files
...
- fixes for #386 using patches from Ixtreon
2012-11-10 21:56:19 +00:00
beegee1
105083dd70
* Code convention updates * Default values for CMap types * Updated BinaryReader c-tor * Converted "bool" int types to bool in CMap classes * Removed map event operators in favor of member methods
2012-11-06 16:39:29 +00:00
beegee1
a878f5f79a
* Separated map loading from the map object * Moved map classes to lib/Map * Renamed map.h/cpp to CMap.h/cpp * Profiling of map loading is now optional * Updated CMemoryStream
2012-11-03 13:30:47 +00:00
beegee1
720deba838
* Added comments to map.h * Refactoring(renamed attributes, some steps towards coding guidelines, ..)
2012-10-26 17:51:05 +00:00
Ivan Savenko
9f0d3c9944
- compile flags for fuzzylite should not be arch-specific.
2012-10-19 14:30:55 +00:00
alexvins
2942e2e824
[c::b] update projects
...
-boost::iostreams
*link with release boost libs always
2012-10-06 15:12:07 +00:00
Ivan Savenko
c071a03a8a
- fix for #1135
...
- merged wall_pos.json into town config
- removed tower_shooter field from creatures.json
2012-10-05 18:03:49 +00:00
Ivan Savenko
306d64b0c4
- it is possible to read json file with vector
...
- town configuration:
- - all town-related texts are now in TownHandler
- - alignments are now part of faction
- - removed CTown::bonus field
2012-10-05 13:11:26 +00:00
Ivan Savenko
f113f9573d
- CPack support. Works on my side, needs tweaks for Win
2012-10-05 12:38:17 +00:00
DjWarmonger
b3acde24d5
Fixed #1131 - AI will use subterranean gate for exploration
2012-10-04 10:17:51 +00:00
DjWarmonger
4bacd97497
Quests now handled by pointers again, this time without bugs.
...
Fixed some issues with quests and AI.
2012-10-03 14:49:29 +00:00
DjWarmonger
977acfafc8
- Fixed possible crash at invalid quest
...
- Fixed incorrect victory condition for AI (capture town/monster/hero)
- Possible fix for GET_OBJ not being completed (goal engine needs more work)
- So tweaks
2012-10-03 09:29:55 +00:00
DjWarmonger
1cf99f7be1
- Improved exploration algorithm. AI will avoid dead-end barriers and thus explore much faster.
...
- Fixed crash when there are no heroes available to recruit in the map. TODO: make AI handle it
- Fixed crash when Chain Lightning has not enough targets
- Fixed crash at Hill Fort (?)
- AI will buy Spellbook for its heroes
- AI will try to use Cartographer and Observatory when exploring
- AI will not visit Prison when heroes are at max
- Experiment: AI will try to capture Mines and Dwellings when there are no enemies around (part of CONQUER goal)
2012-10-01 18:25:43 +00:00
Michał W. Urbańczyk
6934ec13e2
Post-release version bump.
...
Minor correction for emptyAI VS project file.
2012-09-29 21:10:39 +00:00
Michał W. Urbańczyk
f30ee8ff04
* fixed possible corruption of pack sent by server when player request is rejected
...
* BattleAI will restore callback to its previous state, fixes freeze after battle #1104
* BattleAI won't lose turn when unable to correctly evaluate a spell
* VCAI will correctly recognize hero standing on town entrance
* War machines of defender will have correctly set side
* Faction 9 as neutral causes crashes, changing to -1 as used elsewhere in the code
2012-09-29 14:44:06 +00:00
Ivan Savenko
a602d7e9da
- build system update
...
- compile\warning fixes
2012-09-29 12:02:46 +00:00
Michał W. Urbańczyk
f8a27a9fdb
* Moved CConfigHandler from client to lib, CMake/Makefile need updating. I believe other projects besides client also need access to settings. (surprisingly there was a "server" category used only by client... and now VCAI.)
...
* It is possible to set the battle ai that'll be used by neutrals by typing in VCMI console:
setBattleAI <AIName>
VCAI also respects that setting and uses given AI as its battle back-end.
2012-09-29 10:59:43 +00:00
Michał W. Urbańczyk
2ba0427432
* Fixed #1096
...
* serializing icon index, otherwise creature portraits are gone after loading a game
* VCAI: fixed crash on attempting revisiting a boat (that is no longer present because it was boarded)
* Fixed strange crash with "neutral hero" (there should be no such thing... but somehow it appears, needs further investigation)
2012-09-28 20:49:23 +00:00
Michał W. Urbańczyk
a669831fc6
* VCAI: fixed crash when a locked hero died when attempting realizing a goal
2012-09-28 19:50:09 +00:00
Michał W. Urbańczyk
57a76c297c
Should not crash in #955 .
2012-09-28 16:48:29 +00:00
Michał W. Urbańczyk
8bb4abb75a
* VCAI: fixed possible endless loop of realizing GATHERRESOURCE goal
...
* an assertion failing when quest object cannot find its targeted monster ("crash early" policy), related to #1076
2012-09-28 16:20:18 +00:00
DjWarmonger
0435d5a4f1
- Removed pointer usage for CQuest. may look rough, but works and fixes #1051 .
...
- Better autoSkip mode, now info windows are not displayed.
2012-09-28 15:46:09 +00:00
Michał W. Urbańczyk
40624f96d9
Some assertions in hope to get clearer reason for #955/#1076.
2012-09-28 09:28:12 +00:00
DjWarmonger
ecda63683e
Fixed Bonus parser crashing at unspecified value. Assigning empty objects is also not good solution.
2012-09-27 17:58:14 +00:00
Ivan Savenko
15a7f43e11
- fixed #1075 , #1080 , #1081
...
- fixed some warnings from cppcheck
2012-09-26 13:13:39 +00:00
Michał W. Urbańczyk
95b866c131
* Further work on Battle AI. Now it is able to cast a number of offensive spells. Battle callback exposes more spell-casting info.
...
* Took down the one Boost.Assign usage offending VC11. I'm getting impatient I guess...
2012-09-23 23:10:56 +00:00
mateuszb
6a81c8b1af
* campaign against magic numbers
...
* ArtifactID was misleading and wrongly used in one place -- renamed and fixed
* minor changes
2012-09-23 18:01:04 +00:00
Ivan Savenko
8f936cd34d
- added battleAI to CMake, compile fixes
...
- icons config for towns and creatures
2012-09-22 15:10:15 +00:00
Michał W. Urbańczyk
62e63d45b1
Work in progress on BattleAI. Related changes:
...
* battle AIs receive ptr to CBattleCallback (not sure why it was CPlayerBattleCallback, likely mistake)
* reworked some battle callback methods to be more generic and able to handle some hypothetic scenarios
* for testing purposes in duel mode the first AI will be taken fro mconfig and the second will remain stupid ai
* minor changes
2012-09-20 16:55:21 +00:00
DjWarmonger
554a98dbd7
Quests will now be handled as object member instead of inheritance. Enabled quest objects for AI.
2012-09-16 13:34:01 +00:00
alexvins
5118386cb4
[c::b] tweak PCH options
2012-09-16 09:12:15 +00:00
alexvins
7087be1f02
C::B project files initial import
...
+ workspace file (not include ERM and Battle AI)
+ project files
* svn:ignore setup
2012-09-15 18:44:55 +00:00
Michał W. Urbańczyk
c42f187608
Created a new battle AI project — BattleAI. Now it is merely a copy of StupidAI but it is meant to eventually replace it.
2012-09-13 23:42:11 +00:00
Ivan Savenko
a138db7c9e
- removed lib headers from PCH
...
- fixed #1062
- correct terrain penalty check
2012-09-06 10:39:48 +00:00
Ivan Savenko
0ca9f64573
Next part of town configuration:
...
- town screen is mostly implemented, has some minor issues
- factions are now separate from towns, neutrals have faction with id=9
- more constants to GameConstants: town-specific buildings, strings for terrains and resources
- replaced most access to builtBuildings with isBuilt() method
- replaced id's with enums for town subtype and buildings id's
2012-09-05 12:49:23 +00:00
Ivan Savenko
44cc848edc
first part of town configuration:
...
- moved almost all loading to TownHandler
- CBuildings and CStructures are now part of CTown
- merged hall.json into buildings.json
Should not cause any crashes or glitches
2012-09-02 10:33:41 +00:00
Ivan Savenko
6c84bd9c71
- typo fix: placing semicolon after "if" is a bad idea.
...
- manual fixes:
- - update for Linux-specific notes
- - update for settings notes
2012-08-30 21:10:00 +00:00
DjWarmonger
9abcca32bc
Fixed AI trying to pick more than 7 stacks from town.
2012-08-30 18:28:40 +00:00
Michał W. Urbańczyk
838c226a31
Compile fix.
2012-08-30 15:37:43 +00:00
DjWarmonger
78fe412375
Hopefully complete solution for taking last stack from heroes (without splitting stacks).
2012-08-29 15:23:47 +00:00
DjWarmonger
4e726f0eb2
- Handling for Hill fort and (kinda) Magic Well
...
- Improved hero exchange
- Fixed strange case when AI found allied town extremely dangerous, resulting in endless loop
2012-08-29 09:19:20 +00:00
DjWarmonger
e913d94c62
VCAI can now exchange armies between heroes. By default, it will pass army to main hero.
2012-08-28 15:04:05 +00:00
Michał W. Urbańczyk
830d94064e
Fixed #1056 , #1057 and #1058 .
...
Should also fix #152 .
2012-08-28 12:28:13 +00:00
DjWarmonger
3b1ddfa3ca
Fixed AI building only one upgraded dwelling per town. Minor tweaks.
2012-08-28 04:13:50 +00:00
Michał W. Urbańczyk
7c09f73402
* INFINITE_DIST is now enum, it should cause least trouble that way. Uh, it's so hard to fight magic values these days.
...
* Fixed crashes in battles after loading game
* Fixed crash in battle AI, when stack is blocked and stands next to an enemy
* Fixes problem when server's moveStack is called with dest==position
* Above should cover #1053 .
2012-08-26 19:13:57 +00:00
Ivan Savenko
656999e99f
- fixed bug in AI town development
...
- fixed too slow generation of FowChange package
2012-08-26 12:26:07 +00:00
Ivan Savenko
d69f4b7632
- build system update
...
- fixed gcc\clang warnings
2012-08-26 09:59:07 +00:00
Michał W. Urbańczyk
d390113c23
* New files for lib: CBattleCallback.cpp and CBattleCallback.h
...
* Updated MSVC project files
* Filesystem: My version of .SND archive does not have \0 after WAV extension. Fixed (though hardcoded 3-char extension length).
* New bonus types: BLOCK_MAGIC_ABOVE for blocking casting spells above given level and BLOCK_ALL_MAGIC for blocking all magic.
* Heavy rewrite of battle callbacks. Fixed some minor bugs. Code reusage between lib/client/server (removed proxy calls). Better access control and support for various perspectives.
* Fixed #1031
* Fixed Orb of Inhibition and Recanter's Cloak (they were incorrectly implemented). Fixed #97 .
* Fleeing hero won't lose artifacts. Spellbook won't be captured. Fixed #980 .
* Fixed crash when attacking stack dies before counterattack (ie. because of Fire Shield)
* Server does some basic checks if action requests during battle are valid
* Minor stuff.
2012-08-26 09:07:48 +00:00
DjWarmonger
edbc7f1223
- Some hardcoded settings will now be read from config/defaultMods.json
...
- Fixed AI crash when it was placed in closed and safe area
2012-08-11 09:06:23 +00:00
DjWarmonger
289b7b68d9
Mod Handler class. It is connected with engine, but doesn't do anything yet.
2012-08-10 13:07:53 +00:00
DjWarmonger
55f321f3f3
- Fixed AI crash at "gather resource" quest
...
- AI will now understand threat of Abandoned Mine. For sure.
- Fixed incorrect creeps quantities info
2012-08-08 08:27:52 +00:00
Ivan Savenko
9cbc1f1058
- merged basicCreatures and upgradedCreatures into single array
...
- missing fix for savegames
2012-08-07 21:46:24 +00:00
Ivan Savenko
708ad6ac7f
- music player uses URI's instead of enum from music base
...
- #1045 and #1046 should be fixed
- moved pregame backgrounds to config/mainmenu
- animation can be overriden with .json multiple times
2012-08-06 07:34:37 +00:00
DjWarmonger
356e675a65
- VCAI can now complete all types of Seer Hut Mission. GATHERTROOP victory condition should also work.
...
- Minor tweaks.
2012-07-21 07:15:53 +00:00
Ivan Savenko
e4c88d5088
- moved ParseBonus to JsonNode.cpp (linkage errors)
...
- fixes to CMakeLists - vcmi can be compiled and started with cmake
- gcc\clang warnings fixes
2012-07-19 18:52:44 +00:00
DjWarmonger
4c0537c420
- AI will now wander with all the heroes that have spare movement points. It should prevent stalling.
...
- Fixed #1030
2012-07-19 16:29:29 +00:00
DjWarmonger
d8cb3a34d3
-Fixed crash #1037
...
-AI can now successfully complete several types of quests.
-Lots of tweaks for AI
TODO: fix bizarre crash when opening borderguard
2012-07-19 09:10:55 +00:00
DjWarmonger
6a7327d38a
VCAI will now not be confused by Border Gates and attempt to find Keymaster to cross them.
2012-07-18 13:23:46 +00:00
DjWarmonger
624908e403
- Fixed unserialized GrowingArtifact, causing crash
...
- An attempt to teach AI completing quests
- Gathering army is now continuous, abstract goal
- Lots of fixes and tweaks in AI
2012-07-18 10:10:14 +00:00
ddaroo
69de38bf1d
Tweaks for cmake build system: data dir definitions, flags for clang (not tested), missing CQuestLog.cpp file for the client, naming convention of few binaries same for autotools and cmake
2012-07-15 16:05:41 +00:00
Michał W. Urbańczyk
edccbd4809
Rewritten many parts of query handling. Fixed several scenarios leading to a hang (including #1012 ). Purged boost::function from player interface (handy but impossible to serialize). VCAI will keep description for each unanswered query, so the further debugging will be easier.
2012-07-15 15:34:00 +00:00
Ivan Savenko
55c78e9f16
- ComponentBox usage in 2 windows: levelup and build screen
...
- Components have selectable image size
- fixed #794
2012-07-07 13:32:37 +00:00
DjWarmonger
10a2dfefd1
VCAI will answer CommanderGotLevel query.
2012-07-06 14:09:34 +00:00
Ivan Savenko
235cf458d7
- fixed text duplication in choice windows
...
- fixed compile issues
- added unused and untested for now CComponentBox
2012-07-02 21:51:48 +00:00
ddaroo
758fb0679e
Stub for a CMake build system.
2012-07-01 14:27:41 +00:00
Michał W. Urbańczyk
fcdad0d323
Added class HeroPtr to VCAI that should replace CGHeroInstance*. HeroPtr is able to detect when the hero under it becomes unavailable.
...
Hopefully fixed #954 (and all bugs caused by keeping a reference to hero that got killed: #998 , #1002 , #1008 , #1011 , #1018 ).
If not, assertions should pop up earlier.
2012-06-30 23:48:40 +00:00
Ivan Savenko
613172fa45
- fixed #582 , #1019 and #1022
...
- linux readme tweaks
2012-06-27 20:44:01 +00:00
Michał W. Urbańczyk
759f85767b
Solved #985 .
2012-06-01 16:14:33 +00:00
Michał W. Urbańczyk
4cd77a0192
Naive solution for endianess issues. Seems to allow loading a big-endian save on little-endian build.
...
Fixed compile issues with CEmptyAI. Removed unnecessary methods from its.
2012-06-01 15:59:26 +00:00
Ivan Savenko
4e92859cee
- fixed crash on loading of some maps
...
- minor fixes
2012-05-30 18:37:21 +00:00
Ivan Savenko
faaf799d95
- fixed some extra warnings. Mostly harmless.
...
NOTE: Please check changes in BattleState.cpp and GameHandler.cpp for possible bugs
2012-05-28 19:29:32 +00:00
DjWarmonger
18e53a1717
- Fixed a scenario when AI could visit the town without picking troops, resulting in a lock
...
- Added ench0's patch for creature range tooltip (#948 )
2012-05-22 10:15:16 +00:00
Ivan Savenko
a13a62537b
- fixed crash in hero window ( #963 )
...
- added unused for now image scaling algorithm
2012-05-19 21:38:01 +00:00
Ivan Savenko
665837d656
- hopefully better town development for AI
...
- fixed minimap blitting
- fixed crash on attacking town without moat
2012-05-19 16:22:34 +00:00
Michał W. Urbańczyk
7116377e4e
More robust fix for #957 / #938 .
...
AI won't try clearing way by attacking its own heroes.
2012-05-19 00:38:25 +00:00
Michał W. Urbańczyk
c9af2bb251
Fixed #957 / #938 .
...
AI won't try visit objects on which another non-enemy hero stands.
2012-05-19 00:11:20 +00:00
Michał W. Urbańczyk
d2756e8c88
Partial fix for #961 .
...
Minor fixes for VS project files.
2012-05-18 22:47:54 +00:00
DjWarmonger
d491bc1c3a
Commanders can level up. It's non-interactive yet.
...
Printing secondary skills for Commanders.
2012-05-18 14:02:27 +00:00
Ivan Savenko
97aeaa9f28
- moved ColorPutter's to separate SDL_Pixels.h file
...
- added Channels namespace for accessing subpixels in format-independent way
- fixed several big-endian issues
- re-generated buld system
2012-05-17 10:44:48 +00:00
DjWarmonger
416c08260a
- Basic Commander window
...
- First part of unified quests interface
This graphics package is needed:
http://forum.vcmi.eu/viewtopic.php?p=6943#6943
2012-05-16 17:29:05 +00:00
DjWarmonger
b597171f91
- EXPLORE goal can now be complete soAI won't get stuck
...
- AI won't try to visit tiles occupied by allied heroes by default
2012-05-09 07:56:39 +00:00
DjWarmonger
05742afd60
Final fix. AI heroes won't loose their turn when visiting adjacent objects.
2012-05-08 09:38:01 +00:00
DjWarmonger
b316be1701
- Introduced a mechanism to set abstract goals for AI
...
- Fixed new crash when AI hero lost a battle
2012-05-08 08:10:40 +00:00
DjWarmonger
9cbbfcf258
- Fixed all bugs with battle interface. It's now more consistent.
...
- Minor cleaning.
2012-05-07 16:04:43 +00:00
DjWarmonger
ee2768ab07
- Some work for commanders
...
- New creature window - visit forum for package with necessary graphics: http://forum.vcmi.eu/viewtopic.php?p=6908#6908
- More AI optimizations - heroes will be processed starting from the fastest one.
- AI will check is GATHER_ARMY object is reachable
2012-05-07 12:54:22 +00:00
DjWarmonger
9894deee55
Little, but significant improvement in AI exploration.
2012-05-05 13:08:15 +00:00
DjWarmonger
b4c58a5644
Fixed path glitchicng.
2012-05-05 08:57:32 +00:00
DjWarmonger
7d706ba8a3
Proper solution for locking & unlocking heroes.
...
However, "tiles are not neighbouring" glitches now became more visible.
2012-05-05 06:42:18 +00:00
DjWarmonger
d6873d7570
- No battle actions will be available during tactics phase
...
- Fixed moving stacks during tactics
- Fixed Genie spell targeting
- Fixed AI getting stuck at Tree of Knowledge when no resources
2012-04-28 13:01:39 +00:00