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
Michał W. Urbańczyk
918452d37c
Fixed #930 .
2012-04-17 15:08:38 +00:00
Michał W. Urbańczyk
cd4c93318d
#928 and #931 should be fixed.
...
Ignoring savegames from newer versions of VCMI.
2012-04-17 12:46:21 +00:00
DjWarmonger
aeb9cf9460
- First part of battle interface rewrite. Untested. May work or not work randomly.
...
- Tweaks for AI logging.
2012-04-16 17:12:39 +00:00
Michał W. Urbańczyk
b5526f0f54
Fixed #925 .
2012-04-14 07:22:08 +00:00
Ivan Savenko
f426a48d09
- fixes for gcc-4.7
...
- added missing virtual destructors (new warning from gcc)
2012-04-08 10:34:23 +00:00
DjWarmonger
2193f8912e
- Framework of new battle interface
...
- Minor fixes for AI
2012-04-04 08:03:52 +00:00
DjWarmonger
e046f06421
Small fix for previous commit.
2012-03-29 18:29:47 +00:00
DjWarmonger
81367ef6d5
- A complete solutions for reserved adventure objects
...
- AI won't get stuck at School of War / School of Magic when no money
2012-03-29 18:26:06 +00:00
Michał W. Urbańczyk
7b7ddf987a
Fixed #909 .
...
Minor fix in using requestActionASAP (capture by val).
2012-03-26 11:38:51 +00:00
Michał W. Urbańczyk
13f26fc3cb
* Client is able to await for answers for multiple queries at the same time
...
* Hackish solution allowing AI undertaking actions from event-handling thread
* Fixed crash when death stare or acid breath activated on stack that was just killed
* minor fixes
2012-03-25 22:46:14 +00:00
DjWarmonger
a3f36ccc71
- Unified interface for visitable objects
...
- AI will manage visitable objects smarter
2012-03-14 13:02:38 +00:00
DjWarmonger
c8c4c5b682
AI heroes won't trash for objects when exploring area together.
...
String logging for goal types. Fixes.
2012-03-13 20:33:00 +00:00
DjWarmonger
9518474ec7
First attempt to replace rule-of-a-thumb behavior with actual reasoning
...
- GATHER_ARMY goal replaces wander function
- Heroes will remember their own goals until they are fulfilled
- Goal search handles mutual dependency
- AI will recruit multiple heroes for exploration
- Lots of tweaks
2012-03-13 12:47:47 +00:00
Ivan Savenko
f2f39f1497
- makefiles for fuzzylite ( #911 )
...
- fixes for gcc compilation
- fixed #908
2012-03-12 20:11:46 +00:00
Michał W. Urbańczyk
6db3c5bc7e
* VCAI: can't request actions from action handling thread
...
* Save game screen and returning to main menu will work if game was started with --start option
* GUI controls can selectively capture keyboard events. CTextInput won't capture Enter. Fixes #654 .
2012-03-11 16:29:01 +00:00
Michał W. Urbańczyk
76eb0ed429
Rewritten VCAI::pickBestCreatures. Should fix the compilation error ( http://forum.vcmi.eu/viewtopic.php?p=6605#6605 ).
2012-03-11 01:26:11 +00:00
Michał W. Urbańczyk
59681be0a4
Fixed #906 .
2012-03-10 19:14:45 +00:00
DjWarmonger
88e9dec974
Fixed Thieves Guild window showing for all players.
...
It needed 11 files modified... :/
2012-03-07 14:05:54 +00:00
DjWarmonger
0793ce2c4a
AI will now always pick best stacks from towns.
...
It will also crash when picking stacks from objects, work in progress.
2012-03-06 18:49:23 +00:00
Michał W. Urbańczyk
0ef1085555
Changes around FuzzyLite library based on patch by q4a.
...
http://forum.vcmi.eu/viewtopic.php?p=6592#6592
2012-03-06 16:28:32 +00:00
DjWarmonger
bdd71b4f38
AI can now use external dwellings.
...
AI will weekly revisit dwellings & mills.
2012-03-05 19:11:28 +00:00
Ivan Savenko
e7783479d2
- (linux) version bump
...
- compile fixes
2012-03-05 13:31:59 +00:00
DjWarmonger
1ea2f3d3bb
Added fixed FuzzyLite library to sources. It compiles without additional settings under MVS2010 and should also compile with other tools (straightforward include structure).
...
Did not add it to project files to avoid mess.
Fixed NaN / infinity issues.
2012-03-05 12:01:41 +00:00
DjWarmonger
71e482ce7f
Few tweaks for discrete values.
2012-03-04 11:19:34 +00:00
DjWarmonger
cd0ed39fbf
Implemented rule-based evaluation of tactical advantage between armies.
...
AI will creep more agressively and smarter.
2012-03-04 10:43:46 +00:00
DjWarmonger
c5007f8bef
Fixed #891 .
...
Minor tweaks.
2012-03-03 12:42:53 +00:00
DjWarmonger
1354351a40
Fixed AI recklessly visting Utopia.
...
Made algorithm asctually working. Library fixes were needed.
2012-03-03 11:39:54 +00:00
DjWarmonger
998d8bf501
Added trivial fuzzy logic to handle creature banks estimation.
...
Check http://forum.vcmi.eu/viewtopic.php?p=6570#6570 for new library used.
2012-03-03 10:08:01 +00:00
Michał W. Urbańczyk
672468a738
Deleted GeniusAI.
2012-03-01 16:32:14 +00:00
Michał W. Urbańczyk
f2642cb62c
Added VCAI and EmptyAI to the VS solution. Removed from it GeniusAI.
...
Fixed #329 , #884 , #885 .
2012-02-29 01:31:48 +00:00
Michał W. Urbańczyk
b54489ecb7
Fixed #873 and #877 .
2012-02-26 18:31:59 +00:00
Michał W. Urbańczyk
4f182744e7
* Fixed in game scenario info and save game screens
...
* AI will now use tlog6 (teal color) for logs
2012-02-22 19:22:11 +00:00
Michał W. Urbańczyk
e18419f5d2
* adventure map GUI should be properly blocked during AI turn
...
* battle window will wait till all dialogs are closed
* fixed problems with AI working after the game ended
* fixed problems with overzealous redrawing of infobar
2012-02-22 13:41:27 +00:00
Michał W. Urbańczyk
e4dc00abac
* new file lib/UnlockGuard.h — unlock_guard is for unlocking a mutex for the scope time (RAII)
...
* all lock/unlock and unlock/lock pairs are done by RAII guards now
* fixed two possible crashes at the end of battle when last stack was killed by spell. That should fix #749 and #752 .
* fixed a very nasty race condition, eliminating possible deadlock at the start of battle when human hero has tactics
* fixed #422
2012-02-19 21:03:43 +00:00
Michał W. Urbańczyk
0867451f26
Fixed path issues: #491 , #834 , #845 .
...
Fixed AI crash when enemy hero was teleported onto tile not visible for AI.
2012-02-18 14:59:37 +00:00
Michał W. Urbańczyk
1abf089bc7
Missed fixed for #858 (TortoiseSVN tricked me...)
...
Fixed #852 .
2012-02-16 21:46:28 +00:00
Ivan Savenko
0c3e88226f
- (linux) replaced Genius with VCAI
...
- gcc set to c++0x mode
- most of gcc warnings fixed
- replaced boost::assign with initialization lists (if available in compiler)
- new cheat code: vcmiarmenelos - build everything
- updated linux readme
- minor fixes, applied patch for #98
2012-02-16 17:10:58 +00:00
Michał W. Urbańczyk
7a66c1bf2b
* added an initial version of adventure AI: VCAI, more details here: http://forum.vcmi.eu/viewtopic.php?p=6508#6508
...
* VCAI set as default adventure AI
* several adjustments in GUI (hourglass during AI turn), minor changes
2012-02-14 18:04:45 +00:00
Michał W. Urbańczyk
046e54563c
* fixed project files for RD configuration
...
* fixed crash when creature is casting Hypnosis (ie. exped Vampire Lords)
* fixed crash when creature is casting Cure before attack (ie. exped Unicorns)
* fixed crash when creature is summoning elemental (TODO fix it)
* fixed crash when doing a bonus system operation with a hero liberated from prison (ie. entering town or battle)
* fixed deadlock when StupidAI tried to assault the turrets
* fixed never ending siege when StupidAI has to use catapult (no more deadlocks on AI-AI siege)
* fixed deadlock when a hero received a level during another player's turn (ie. when he successfully defended)
* AI can win the game by defeating all enemies if there is a specific victory condition applying only to human players
* added options to help testing adventure map AI (--onlyAI, --autoSkip and --oneGoodAI).
* many minor changes
2012-01-03 01:55:26 +00:00
Ivan Savenko
91c0ce33f4
- re-generated build system
...
- fixed several gcc issues
2011-12-31 10:03:29 +00:00
beegee1
156aa6e4d9
* Updated class - file - handling
...
* Renamed color constants
* Renamed class AdventureMapButton to CAdventureMapButton
* Moved basic controls like CTextBox from GuiClasses to CIntObjectClasses
* Moved new creature window from GuiClasses to CCreatureWindow
2011-12-22 13:05:19 +00:00
beegee1
2f5d6f2684
* CHexField renamed to CBattleHex
...
* CHexFieldControl renamed to CClickableHex
* CCreatureAnimation.cpp/.h moved to BattleInterface/CCreatureAnimation.cpp/.h
* Removed unused project files
* Added VCMI_client filters file for VS 2010
* Gathered common parts of StdInc.h in Global.h
* Boost.Spirit has been included in PCH for ERM project
* StopWatch renamed to CStopWatch
* GuiBase.cpp split up in UIFramework/...
2011-12-17 18:59:59 +00:00
beegee1
cce814c41b
* Final commit
2011-12-13 21:35:28 +00:00
beegee1
7f04ed990b
Major refactoring. First part: BattleInterface
...
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +00:00
Frank Zago
a62634cf94
Add support for SDL 1.3 in compatibility mode.
2011-11-17 00:24:27 +00:00
Ivan Savenko
ede7fd5a7a
- (linux) Fixed gcc linking issues
2011-10-31 18:00:44 +00:00
DjWarmonger
0903d6037c
New pack - BattleEffectTrigger for various one-shot effects with animation
2011-10-08 13:02:58 +00:00
Frank Zago
8963293c07
Avoid soname versioning for AI libraries. These libraries are dlopened so there is no need to make them versioned at all.
...
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
2011-10-06 01:21:25 +00:00
Michał W. Urbańczyk
623325ca61
Ouch. Thing was for branch only.
2011-09-27 22:03:43 +00:00
Michał W. Urbańczyk
bdd66b6537
Zmiany do Programming challenge.
2011-09-27 21:54:40 +00:00
Michał W. Urbańczyk
9621cbcaa7
* fixed crash on calculating dmg dealt by stack under Curse
...
* fixed crash on sea battles (obstacles data got corrupted during conversion)
* fixed crash when StupidAI had a catapult
* minor fixes and refactorings (typename for bonus list under shared ptr)
2011-09-06 13:59:26 +00:00
Michał W. Urbańczyk
3152e6d540
Fixed #771 , #772 and #787 .
...
Some minor changes and fixes.
2011-08-25 15:24:37 +00:00
Michał W. Urbańczyk
26a83d7680
http://forum.vcmi.eu/viewtopic.php?p=5956#5956
...
Significant changes in project files:
* new library package required! URL: http://download.vcmi.eu/msvc-pack.7z
* created VCMI_global.props property sheet for settings common to all VCMI projects
* added configuration for x64 builds
2011-08-15 21:53:03 +00:00
beegee1
f609c4ad9a
* Fixed #33 -> Creatures tend to stop at every hex during movement
2011-08-01 17:36:18 +00:00
Ivan Savenko
b8448e4c3b
- (linux) build system update
...
- gcc errors/warnings fixes
2011-07-05 11:31:26 +00:00
Michał W. Urbańczyk
b3234e8bfa
* CGameInterface.h/.cpp moved from client project to lib (and, appropriately, to lib subfolder).
...
* New files in lib: ResourceSet.h/.cpp -> containing new structure for managing resources logic
* Minor changes and fixes
2011-07-05 06:14:07 +00:00
Ivan Savenko
a89895452a
- (linux) fixed searching/loading of scripting libraries
...
- (linux) moved AI libraries to /lib/vcmi/AI/lib*, ERM lib to /lib/vcmi/Scripting/*
- gcc compile and warnings fixes
2011-06-28 14:19:16 +00:00
DjWarmonger
9ca5d9048a
Fixed total spell immunity granted by 2212.
...
Improvements for Life Drain.
2011-06-25 15:05:01 +00:00
DjWarmonger
af8d8cbfc7
Implemented #479
2011-06-21 12:45:57 +00:00
Frank Zago
129c9d521e
Warning fixes + typo.
2011-06-18 23:56:48 +00:00
ozsy1023
671e7bc3ec
Modified and added some functions in BattleHelper.cpp.
2011-06-09 13:23:38 +00:00
Frank Zago
4af4f0a707
Compile and warning fixes.
2011-05-27 22:34:58 +00:00
Michał W. Urbańczyk
617e1f962e
New files for lib:
...
* lib/ERMScriptModule.cpp
* lib/ERMScriptModule.h
* lib/CObstacleInstance.h
More jugglery with callbacks. Moving stuff from CGameState to CGameInfoCallback. Work on unified game events interface for player (AI or GUI) and script module. Directing events to ERM interpretetr, first attempts of calling some triggers. Crashy, if there any scripts.
Some other changes, including fighting amount of includes in includes and tracking of hero visits (need further work).
2011-05-09 22:20:47 +00:00
Frank Zago
0c3f3c67a9
Callback naming fix.
2011-05-04 02:32:35 +00:00
Michał W. Urbańczyk
b4144dc616
Callback jugglery, part 1.
...
Fixed #252 .
2011-05-03 03:14:18 +00:00
Michał W. Urbańczyk
d092eaf9d1
Artifact Merchant: selling artifacts. Messy, but completes H3 town structures functionalities.
...
BTW updating screen after closing marketplace is broken.
2011-04-22 21:51:10 +00:00
Frank Zago
ecb3508690
(linux) Added configure test for the icc and clang compilers, and set some extra parameters for them.
2011-04-09 17:28:51 +00:00
Ivan Savenko
407acce4c6
- gcc 4.5 / boost 1.46 compilation fixes
...
- configure will accept CXXFLAGS parameter correctly
- boost version check in ERMParser - to skip compilation with old boost
2011-03-29 17:16:10 +00:00
Michał W. Urbańczyk
4d3776058d
My project files for VC10.
2011-03-17 23:06:48 +00:00
Michał W. Urbańczyk
a382b641b7
Removing old, VC9 project files.
2011-03-12 22:53:52 +00:00
Ivan Savenko
a2f512813f
- gcc compile fixes
...
- fixed locale issue
- Makefiles for StupidAI
- fix for #671 (not tested)
- linux readme update, including #598
2011-02-28 15:14:26 +00:00
mateuszb
13af78edca
* unnecessary arguments removed
2011-02-26 17:34:23 +00:00
mateuszb
1dd05788c9
* fixed #53
2011-02-26 17:32:56 +00:00
Michał W. Urbańczyk
1afcaf2817
* CThreadHelper.cpp now belongs to VCMI_lib project
...
* fixed console on Windows (restored old code)
* GeniusAI won't get blocked when it has a hero with tactics in battle
* fixed an issue with switching turns in hot-seat mode when there is Cover of Darkness active
* suppressed bonus system console output: it goes only to the logfile
* [win32] setting thread names (debug purposes)
* minor fixes
2011-02-24 13:57:47 +00:00
Michał W. Urbańczyk
cab8f9e11d
AI for neutral creatures and battles and player AIs can be different. StupidAI will handle neutrals by default.
...
Fixes for issues with deserialization and handling Tactics secondary skill.
2011-02-23 03:57:45 +00:00
DjWarmonger
9d313d3d2c
Minor fixes and tweaks.
2011-02-22 14:23:09 +00:00
Michał W. Urbańczyk
2f9ed138f6
Tactics more or less working (some improvements still needed, as proper updating battle GUI).
2011-02-14 20:31:53 +00:00
DjWarmonger
125f39275d
Compile fix for previous commit.
2011-02-06 17:37:51 +00:00
Ivan Savenko
2ff07fa66a
- Next part of animation system:
...
-- Reduced memory usage for images with margins
-- Implemented RLE compression
- Linux-related changes:
-- build system updated to include changed paths
-- new dependency: boost-program-options
-- configure option --disable-debug will produce optimized build
- Several gcc compile fixes
- Optimized CPU usage on town screens
- Removed several includes from headers
- Possible fix for #496
2011-02-06 17:26:27 +00:00
Michał W. Urbańczyk
31fc8f6db3
Merged Warmonger's changes from trunk
2011-02-06 08:32:05 +00:00
DjWarmonger
78fc212489
A little more work on Expert System.
2011-02-05 18:24:32 +00:00
DjWarmonger
094bb6fd8f
Moving some work in progress from one computer to another. It shall not explode.
...
Fixed video issue from #670 .
2011-02-01 18:10:43 +00:00
Frank Zago
872a057aa7
Fixed bad prototype.
2011-01-29 19:07:49 +00:00
Michał W. Urbańczyk
f52d4f7cd6
Merged changes from trunk.
2011-01-15 02:35:46 +00:00
mateuszb
56ec829049
* minor refactoring
...
* minor improvements in battle interface
2011-01-09 17:41:46 +00:00
Michał W. Urbańczyk
c1bd81abdd
Mostly fixed battle animations.
...
Added proper ending for duel mode.
2011-01-08 19:38:42 +00:00
Michał W. Urbańczyk
a53ec23556
Stupid AI is capable of winning / losing battle.
2011-01-08 18:33:40 +00:00
mateuszb
957f1764d7
* some progress in StupidAI
...
* refactoring of battle handling
WARNING: strange crash on entering battle
2011-01-07 10:48:31 +00:00
Michał W. Urbańczyk
471c23ba71
Compile fixes, more work on new artifact system.
2010-12-26 14:34:11 +00:00
mateuszb
b3fd14b524
* splitted CGameState into general game state and battle game state
...
* added missing fields to serialize in CHero
2010-12-25 19:23:30 +00:00
Michał W. Urbańczyk
a82469a205
Ooops. Some obvious corrections to previous commit.
2010-12-25 01:48:02 +00:00
Michał W. Urbańczyk
2cf6729eee
Towards duel support.
2010-12-25 01:43:40 +00:00
Ivan Savenko
3d9dc0642d
- gcc compile fixes
...
- corrected projectiles for some units
2010-12-24 15:37:48 +00:00
mateuszb
4929cf9782
* enum for secondary skills
...
* THex for battle positions
* towards removal of battleGetStackByID
TODO:
investigate the necessity of putting implementation of BattleAction CGlobalAI::activeStack( const CStack * stack ) in CGeniusAI.cpp
2010-12-23 20:18:10 +00:00
Michał W. Urbańczyk
2fe8b07f4f
Little more development for duel mode.
2010-12-23 00:33:48 +00:00
Michał W. Urbańczyk
cde0e8933f
Moved StupidAI to AI/ subfolder.
2010-12-22 22:23:19 +00:00
mateuszb
49083c4e5a
* ConstTransitive CGI more or less done
...
* hch contents distributed to more appropriate folders
2010-12-20 21:22:53 +00:00
Michał W. Urbańczyk
e677cd5b07
Merged r1880.
2010-12-11 20:30:33 +00:00
Michał W. Urbańczyk
69b97e0a51
Little more changes.
2010-12-09 23:10:28 +00:00
mateuszb
ad48681d91
* cleanup
2010-12-08 20:17:05 +00:00
Michał W. Urbańczyk
f020562570
Merged changes from trunk.
2010-12-05 23:26:56 +00:00
Michał W. Urbańczyk
848a00bc6f
Stacks #4 -> giving creatures still needs to be fixed.
2010-12-05 23:10:02 +00:00
mateuszb
6f56b5bb30
* a few more consts
2010-12-04 19:44:23 +00:00
mateuszb
efedb1a55a
* minor cleanup
2010-12-04 19:15:20 +00:00
DjWarmonger
ea03273c8e
Some work towards useful AI:
...
-It is possible to toggle adventure AI on / off typing "ai" in the console (default is true)
-General cleaning and formatting of code
-Some minor optimizations
-Teal console log for AI
AI tends to hang in the maze of mutexes and current player interface, further investigation is needed.
Fixed #580
minor tweaks
2010-11-28 16:39:13 +00:00
Michał W. Urbańczyk
7c3f3d20c3
Stacks #2 -> towards new system of stack operations.
2010-11-27 01:46:19 +00:00
Michał W. Urbańczyk
32ce20af15
Moving stack system to pointers, part #1
2010-11-22 00:34:46 +00:00
Michał W. Urbańczyk
9250cc8adf
Separated CStack and CStackInstance.
2010-11-20 17:36:02 +00:00
DjWarmonger
67baa3d8e4
I hope that's final shape of universal Expert System, now it's time to add some functionality.
2010-11-13 19:25:21 +00:00
DjWarmonger
e2f4a60c4b
A bit more metamagic for expert system.
2010-11-12 15:20:44 +00:00
DjWarmonger
6da5c8ee56
A framework for generic expert system, currently aimed at Bonus processing.
2010-11-11 21:01:35 +00:00
Frank Zago
e252c2d06c
Build files update.
2010-08-21 00:41:40 +00:00
Frank Zago
fdad7e34e1
Remove line break in comment.
2010-08-04 03:33:10 +00:00
Frank Zago
006a7d1f11
serialID is gone.
2010-08-04 03:32:24 +00:00
mateuszb
54496ddee1
* player's serialID removed (save format broken, new game seems to work)
...
* building bonus (campaigns) supported
2010-08-03 11:36:52 +00:00
DjWarmonger
695c862638
Support for creature damage bonus.
...
TODO: display it in a creature window
2010-07-16 06:18:41 +00:00
mateuszb
71b73bad53
* mostly working hero flying and water walking; support for artifacts:
...
- Angel's Wings
- Boots of levitation
and spells
- fly
- water walk
2010-05-16 13:42:19 +00:00
Frank Zago
df151cceba
Various compile and warning fixes.
2010-05-12 02:32:56 +00:00
Michał W. Urbańczyk
a14606f32d
New bonus system. Unified HeroBonus and StackFeature. Still early version, will need improvements and development.
...
If you encounter any new crashes / bugs / unacceptable slowdowns, please PM me.
2010-05-02 18:20:26 +00:00
Michał W. Urbańczyk
993036e4a1
New non battle stack class. (Base for future improved bonus system, stack exp / arts)
...
Fixed #443
2010-04-02 02:07:40 +00:00
mateuszb
ac7bc76b7b
* implemented first aid kit including first aid secondary ability
2010-03-07 17:40:33 +00:00
Michał W. Urbańczyk
0a950c508b
Grail digging and construction.
...
Minor fixes.
2010-02-24 13:03:36 +00:00
Michał W. Urbańczyk
e6f31b7500
Compilation fixes for VC10.
...
Changes towards hot-seat support.
2010-02-20 13:24:38 +00:00
Frank Zago
3ec6cfd115
(linux) Meved version to 0.75 (at last) and regenerated the makefiles.
2010-01-25 03:19:55 +00:00
Michał W. Urbańczyk
eb6f7fffc9
Support for smart pointer serialization. Fixed creature banks serialization. Minor fixes.
2009-12-29 01:07:17 +00:00
Michał W. Urbańczyk
01831e912a
Fixes for adventure AI: battles where AI is the attacker should work, fixed drawing AI heroes under FoW.
...
Restructured thread structure: no new thread on yourturn, instead of that introduced update() method called by thread dispatching GUI events.
Further changes are planned.
2009-12-28 04:08:24 +00:00
Michał W. Urbańczyk
7f97a56a28
Fixed crash on casting spell. Fixed giving resources from towns. Version set to 0.74c. Incremented save format version.
...
Disabled adventure AI. Will be released as dev build.
2009-11-28 01:42:08 +00:00
red1939
f7a1b74092
Next batch of code clearing.
2009-11-01 20:13:12 +00:00
red1939
3f3c019784
Next part of AI code cleaning/reformatting.
2009-10-28 16:28:52 +00:00
red1939
ed9b75b447
First part of reformatting the code, renaming variables, rewriting tricky part. Basically making the code more readable, maintainable and ready for further additions.
2009-10-22 22:04:42 +00:00
Frank Zago
1609b8fdb9
Made all paths dependent on DATA_DIR, USER_DIR, BIN_DIR or LIB_DIR. Data access can now be separated from saved games and binaries.
...
Fixed a file handle leak.
Bumped revision to 0.74b (linux).
Reworked the build system to remove uneeded dependencies (linux).
Removed use of PATHSEPARATOR since Windows can use / too.
2009-10-04 02:02:45 +00:00
Michał W. Urbańczyk
4c458a7e47
Bumped version, restored AI and Cage.
2009-10-01 22:18:37 +00:00
Michał W. Urbańczyk
5073365eb9
Disable AI and Cage of Warlorlds for release (crashes)
2009-10-01 22:13:11 +00:00
Michał W. Urbańczyk
307c20e7dc
* fixed crash on clicking on the map frame
...
* battle settings will be stored
* fixed calculating battle casualties
* fixed crash when clicking on enemy stack without moving mouse when we receive action
* fixed issue when splitting stack to the hero with only one creatures
2009-09-24 13:23:52 +00:00
Michał W. Urbańczyk
a424032ec3
Bumped version to 0.73d, restored AI.
2009-09-20 13:22:47 +00:00
Michał W. Urbańczyk
ee3c318ed9
Version for development release 0.73c
...
* version set to 0.73c, bumped save format version, updated changelog
* new stack queue for higher resolutions (needs new graphics!)
* improved stack ordering during battle
* many minor fixes
* temporarily disabled AI
2009-09-20 12:47:40 +00:00
mateuszb
1a08772bc8
* reading of creature banks' names
2009-09-17 11:05:50 +00:00
mateuszb
c8ac6cf914
* certain improvements for animations in battles
...
* obstacles won't be placed on battlefield when creature bank is attacked
2009-09-11 12:46:26 +00:00
Frank Zago
a9617b3dfd
Fixed prototype.
2009-09-10 14:06:28 +00:00
OnionKnight
3d2ab9c753
* Garrison dialogs for garrisons. Required a bit restructuring of the code to take removable units into account. All showGarrisonDialog methods and the GarrisonDialog struct now takes it as a parameter. Visiting ally towns would benefit from this other than garrisons.
...
* Garrison right-click information shown, but not taking detailed info into account.
* Town info dialogs centered around cursor.
2009-09-09 17:49:03 +00:00
Michał W. Urbańczyk
956a87f264
* redone stack queue algorithm
...
* recalculating paths only after finished movement / switching selection
* moving hero uses "new" pathfinder
* moving hero by arrow keys / numpad
* VCMI window should start centered
* fixed pairing Subterranean Gates
* fixed issues with creatures sounds after loading
* several minor changes and improvements
2009-09-07 02:29:44 +00:00
mateuszb
a4df8e8831
* partial support for arrow turrets
2009-09-04 14:11:42 +00:00
Frank Zago
f92b6fc2b6
Depending on the distros, ffmpeg headers aren't always installed in the same directory. Fix from Szpak.
2009-08-29 15:52:29 +00:00
Michał W. Urbańczyk
1f0a1bd771
More fixes.
2009-08-28 19:34:08 +00:00
Frank Zago
90c31d5cd5
Typo.
2009-08-28 00:27:25 +00:00
DjWarmonger
82ddb607e6
1.blocked critical AI call
...
2.Yet another chapter of epic battle with creature banks
2009-08-24 14:59:24 +00:00
Michał W. Urbańczyk
66dd31fd8a
* attacking and capturing towns
...
* r-click popups on selected town/hero.bonus and teams in pregame
* disabled music due to bugs in SDL_mixer and smpeg (probably it was the source of reported random crashes / hangups)
* minor fixes
2009-08-22 13:59:15 +00:00
Trevor Standley
f4743d2fc6
Various fixes. Temporarily replaced neural network's output with random number.
2009-08-21 18:18:52 +00:00
Trevor Standley
af1a55e063
More AI stuff.
2009-08-19 10:18:14 +00:00
Frank Zago
81109b3897
Added missing headers.
2009-08-19 05:01:25 +00:00
Frank Zago
a7b7b0a431
Add new files to makefiles.
2009-08-19 04:45:33 +00:00
Trevor Standley
a3b6bb4892
AI loads .brain file which contains a list of objects to visit and what features are necessary to determine how valuable that objective is.
...
AI creates random neural networks and assumes that their outputs are trained values.
2009-08-18 07:37:45 +00:00
mateuszb
49a142b92e
* minor changes
2009-08-17 13:08:05 +00:00
DjWarmonger
dd91e7e406
1. Support for Pandora Box
...
2. Improved functions handling experience. Now it works with values over 65K, but still didn't with event giving 99M exp
I have no idea what it has to do with AI though
2009-08-16 15:39:18 +00:00
Frank Zago
69217ff217
Compile fix for g++.
2009-08-12 02:08:59 +00:00
Frank Zago
575840f641
Use amin instead of min.
2009-08-08 06:13:56 +00:00
Trevor Standley
3d93e0acf0
AI doesn't try to visit itself. AI doesn't try to visit OPW/OPH objects that have been visited. Soon AI will be able to learn priorities.
2009-08-07 08:41:40 +00:00
Trevor Standley
184676d7c4
AI now performs almost all basic operations.
...
-builds buildings
-recruits creatures/heroes
-upgrades creatures
-moves heroes to random destinations.
-passes units to heroes/upgrades heroes' units
-attacks weaker parties
-and more.
2009-08-06 09:59:33 +00:00
Trevor Standley
cd4d3e6db3
2009-08-06 09:52:07 +00:00
Frank Zago
9aca713050
Compile fixes.
2009-08-06 05:08:17 +00:00
mateuszb
507597301f
* new spells: resurrection, animate dead
...
* a lot of minor fixes in battles
* resolution & depth in settings.txt reverted to 800x600 and 24bpp
2009-08-05 12:46:08 +00:00
Michał W. Urbańczyk
64f098017b
Fixed linker problems.
2009-08-05 12:24:31 +00:00
Trevor Standley
48581962ab
More AI changes. Minor associated fixes.
2009-08-05 09:46:55 +00:00
Michał W. Urbańczyk
310c369265
Fixed two possible block-ups in AI. Fixed possible problems with picking hero available to recruit (no more duplicates hopefully).
2009-08-05 00:05:37 +00:00
mateuszb
1872c2d575
* new spell: cure
...
* minor changes
2009-08-04 17:05:49 +00:00
Trevor Standley
07828ab335
2009-08-04 09:40:57 +00:00
Trevor Standley
45d311a9f5
AI now attacks randomly.
2009-08-04 08:56:38 +00:00
Michał W. Urbańczyk
de1ed92379
* version set 0.73b
...
* config entry for 1600x1200 resolution
* several fixes
* http://vcmi.antypika.aplus.pl/forum/viewtopic.php?p=3185#3185
2009-08-03 23:53:18 +00:00
Trevor Standley
b987f02cb0
AI heroes move to random safe objects.
...
AI recruits heroes.
2009-08-03 22:15:13 +00:00
mateuszb
048ab62530
* some changes in code handling movement of wide creatures in battles. It could solve a few bugs but I'm not sure
2009-08-02 14:21:18 +00:00
Trevor Standley
3cdff92e42
AI walks around randomly until movement is almost out. Battle causes crash.
2009-08-01 02:57:50 +00:00
Michał W. Urbańczyk
2f73b6cd1e
* pressing enter or escape close spellbook
...
* spellbook shows adventure spells when opened on adventure map
* removed redundant quotation marks from skills description
* erasing path after picking objects with last movement point
2009-07-03 19:57:14 +00:00
Frank Zago
a11ea59418
Video player compilation.
2009-06-20 01:40:52 +00:00
ambtrip
8ecabaa041
GeniusAI:
...
* UML project (can be viewed and edited in BOUML). The aim of this UML documentation is to help to share ideas and to make good AI logic.
2009-05-12 21:01:42 +00:00
Frank Zago
788343dd1d
Typo: cast is an irregular verb.
2009-05-12 03:35:51 +00:00
Frank Zago
c1eea72fce
Support for new source files.
2009-05-11 04:58:50 +00:00
mateuszb
3c50890d16
* msvc compilation fix
...
* fixed problem with maximal spell level checking reported by ubuntux
2009-05-10 13:00:15 +00:00
ambtrip
1906060bc6
GeniusAI:
...
* project was reorganized - now there is possibility to work simultaneously on battle AI and general AI
2009-05-10 08:15:30 +00:00
Frank Zago
8172493467
Updated autoconf generated files.
2009-05-07 04:52:40 +00:00
Frank Zago
81d2a36df6
Autoconf rework.
2009-05-07 04:45:59 +00:00
mateuszb
b0e2d13b4e
* new spells:
...
- precision
- slayer
* refactoring
2009-05-01 13:42:41 +00:00
mateuszb
621400ac85
* small refactoring
2009-04-30 14:59:30 +00:00
Michał W. Urbańczyk
df25dd7efb
Sound patches from Ubuntux #7 - #10 :
...
* Some sound code cleanups
* Renamed soundBase::soundNames into soundBase::soundID
* Add a music handler destructor
* Add Archdevil and vampire pre and post movement sounds
I've applied minor change to fix CMusicHandler - GeniusAI conflict: moved sounds bimap to the .cpp file.
(vcmi_sounds_cleanup.diff
vcmi_sounds_cleanup2.diff
vcmi_sounds_cleanup3.diff
vcmi_add_sounds.diff)
2009-04-30 10:53:06 +00:00
Michał W. Urbańczyk
ade4b46edd
Sound patch from Ubuntux #2
...
(vcmi_sounds.diff)
2009-04-22 18:48:56 +00:00
mateuszb
408411d8c3
* next ubuntux's patch
2009-04-19 15:01:33 +00:00
mateuszb
aa87e1ff16
* next ubuntux's patch
2009-04-15 10:20:47 +00:00
mateuszb
049b4de2b2
* next ubuntux's patches
2009-04-14 10:46:42 +00:00
mateuszb
4d3808cfa0
* applied ubuntux's patches
...
* fixed AmptyAI (it builds now)
2009-04-13 18:52:20 +00:00
Michał W. Urbańczyk
f9aebcc4bd
* Started making support for garrison window. Leaving guardians in flagged mines.
2009-04-12 00:58:41 +00:00
Michał W. Urbańczyk
d72d988a9c
* fixed crash on closing application
...
* unified yes/no and selection dialog interface calls
* VCMI won't anymore be always giving all three stacks in the starting armies
* fix for drawing starting army creatures count
* support for School of Magic
* support for School of War
* support for Pillar of Fire
* minor changes
2009-04-11 01:32:50 +00:00
mateuszb
b74b6ecc01
* minor bugfixes
2009-04-07 17:51:50 +00:00
Michał W. Urbańczyk
2710017049
* First Aid Tent won't get move
...
* presumably fixed crash occurring sometimes on battle end
* fixed problems when attacking with two-hex creature another two-hex creature, when tile before our destination was blocked
* minor changes
2009-03-31 20:47:53 +00:00
Michał W. Urbańczyk
d3246cc6de
* Fixed ReFixed Redwood Observatory problem
...
* Updated changelog
2009-03-28 20:13:26 +00:00
Michał W. Urbańczyk
b2c4f3e0fd
* fixed crash on saving when some objects havebeen removed
...
* support for multi-target attacks/spells in the protocol
* version bumped to 0.7d
2009-03-21 12:49:58 +00:00
mateuszb
a08aaba29d
* probably fixed problem with displaying corpses on battlefield
...
* fixed buy troops window
* workaround for a problem with GeniusAI
* some magic numbers are removed
2009-03-12 18:06:02 +00:00
Michał W. Urbańczyk
e9ebc7de5b
wrong1
2009-03-06 22:25:19 +00:00
Michał W. Urbańczyk
99aef852be
* probably fixed Bind effect
...
* reverted unwanted part of r730
* project files will now have relative paths to libs/includes
* more checkings on startup
2009-02-14 15:00:29 +00:00
Michał W. Urbańczyk
9dbe9bd277
Reverted r731
2009-02-14 14:37:13 +00:00
mateuszb
96a7e1600b
?!?
2009-02-14 13:51:21 +00:00
Michał W. Urbańczyk
b2924064ee
* new movement cost calculation.
...
* fixed crashes on loading maps with flag all mines/dwelling victory condition
* minor changes
2009-02-12 14:44:58 +00:00
Michał W. Urbańczyk
a113a8d289
* patch update from Dikamilo
2009-02-08 16:36:53 +00:00
Michał W. Urbańczyk
dd36cfce50
Patch from Dikamilo:
...
* compatibility fixes for MinGW
* Code::Blocks project files
2009-02-08 15:39:26 +00:00
ambtrip
d794a83444
GeniusAI:
...
* code refactoring
* some problems were fixed
2009-02-07 18:52:55 +00:00
Michał W. Urbańczyk
131c220685
* fixed r-click on tavern hero crash
...
* fixed removing one-week bonuses
* added keybindings for components in selection window (eg. for treasure chest dialog)
* HANDLE_EXCEPTIONC macro will rethrow exception after logging
2009-02-07 13:28:23 +00:00
mateuszb
0070c93888
* more support for attacking stacks for back by two hex stacks
...
* minor typo fixed
2009-02-05 14:44:27 +00:00
Vadim Glazunov
a560e9069a
AI dynamic library load in linux. Autoconf/automake project updated, to recompile use autoreconf -f -i; automake; ./configure
2009-01-31 02:36:44 +00:00
ambtrip
fb0aad5edf
* AI should be a bit more intelligent
...
* some problems with double-wide creatures were fixed
2009-01-29 20:01:57 +00:00
Łukasz Wychrystenko
b356524aee
corrected that missclick! hope so
2008-12-26 01:15:47 +00:00
ambtrip
584eced759
Several improvements.
2008-12-15 21:37:22 +00:00
Michał W. Urbańczyk
c4bcf7b880
* better support for non-800x600 resolutions
...
* Merged CPreGameTextHandler into CGeneralTextHandler and moved to VCMI_Lib.dll (update your project files)
* Genius AI will be used as a default AI
* more code for save/load
2008-11-28 01:36:34 +00:00
Michał W. Urbańczyk
aeb1f6d012
Uploaded Genius AI by Ambtrip.
2008-11-25 18:51:44 +00:00
Michał W. Urbańczyk
b89c951d09
* version set to 0.62
...
* almost redone treasure chest
* working gaining levels for heroes (including dialog with skill selection)
* corrected another typo i cr_shots
2008-08-13 00:44:31 +00:00
Michał W. Urbańczyk
62b0365e70
Improvements for netcode. AI is working. Townlist won't crash. Moving hero is wrong but won't crash. Giving starting hero is working properly. Town defs are wrong but displayed.
2008-07-27 17:07:37 +00:00
Michał W. Urbańczyk
a729484dde
* battle funcs added to ICallback
...
* initing visiting heroes
* merging stacks in town screen
* available creature amount handled
2008-04-13 11:05:39 +00:00
Michał W. Urbańczyk
fe5bcc19cf
* redone def info handling
...
* redone randomization (mam nadziemę, że będzie toto działać)
* no more cheating pathfinder
* minor improvements
* version changed to 0.52
2008-02-05 03:56:45 +00:00
Michał W. Urbańczyk
d3f5a1c1e7
Finished drawing selection window for treasure chest.
...
(trzeba dorobic jego zamykanie, zwrocenie infa, zwrot pamieci)
2007-12-27 00:11:46 +00:00
Michał W. Urbańczyk
01c996591a
More stuff for selection window.
2007-12-25 16:25:53 +00:00
mateuszb
58f1a2169f
faster FoW in minimap, does not work, compiler errors
2007-12-06 18:55:58 +00:00
Michał W. Urbańczyk
c8c0d0eaaf
Bugfixes for AI, Callback Interface, logging macrodefs.
2007-12-06 18:32:06 +00:00
Michał W. Urbańczyk
e1b2ae0df1
Several bugfixes and half-done things.
2007-12-01 12:50:33 +00:00
Michał W. Urbańczyk
556311c9ab
Partially done object scripting and interactions.
...
Most of 0.4 ;)
2007-11-18 22:58:28 +00:00
Michał W. Urbańczyk
8440ffb39b
Probably last bugfixes for 0.3
2007-10-22 17:01:00 +00:00
Michał W. Urbańczyk
04985fce2f
* added #45 , #44 , #43
2007-10-21 16:45:13 +00:00
Michał W. Urbańczyk
97f4fbcce8
First EmptyAI. It's not used yet, but it can be compiled.
...
Support for AIs I'll soon after infoboxes for towns (if there won't anything urgent)
2007-10-16 22:41:45 +00:00