1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

1192 Commits

Author SHA1 Message Date
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