1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-26 08:41:13 +02:00
Commit Graph

972 Commits

Author SHA1 Message Date
beegee1
a4129f43f2 - Correct handling of who manages which players(player count may differ from initial start options for a RMG map) - Fixed warning 2013-01-21 20:49:19 +00:00
DjWarmonger
ce15eb37c2 - Fixed serialization of limiters
- Hero can now can have several separate specialty nodes
- Fixed typo (speciality->specialty)
- Fixed several crashes related to commanders
- Improvements to specialty handling, bugfixes and temporary solutions for upcoming hero specialties in mods
2013-01-17 18:15:00 +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
68e91ada1c [refactor]
* spells are now more configurable (unused yet, WiP)
* a few more cleanups
2013-01-15 14:20:48 +00:00
alexvins
055e922e4d [refactor] a few more cleanups 2013-01-12 18:08:33 +00:00
alexvins
daf2c285e9 [refactor] reduce some code duplication, get rid of few magic nombers.
*fix deletion of empty pandora box
2013-01-12 10:32:03 +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
9051731755 [c::b] reorganize workspace 2012-12-24 15:55:19 +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
Michał W. Urbańczyk
bcf8cab19a Project files update/cleanup. 2012-12-19 18:23:21 +00:00
alexvins
66d9edf76e small refactor secskill limit check. 2012-12-18 11:24:13 +00:00
Ivan Savenko
ffe8b99369 - reorganized hero classes
- artifact iconIndex should work
- new file with hardcoded string constants: lib/StringConstants.h

Note: some minor bugs, will fix soon:
- slow to open hero window
- hero adventure map images serialization is broken\incorrect
2012-12-14 15:32:53 +00:00
Ivan Savenko
04358ed0c6 multiple changes in config system, breaks existing mods. See upcoming post on forums.
- filesystem initialization works in conjuction with modHandler
- (config) split buildings.json in multiple files in "factions" directory
- (mods) merged filesystem.json and config/mod.json into mod.json
2012-12-12 11:13:57 +00:00
DjWarmonger
cff758cfba Moved artifact-related text to CArtifact class. 2012-12-06 19:03:47 +00:00
Ivan Savenko
cfaa9fd00a - fixed deadlock on visiting such objects like artifacts
- typos in vcmibuilder script
2012-12-05 10:46:53 +00:00
Ivan Savenko
85a23e298c - generic string ID -> numeric ID resolution system
- - hero army and creature upgrade names are resolved using new system
- - faction names and creatures in towns are resolved using new system
- (linux) replaced build_data.sh with hopefully better vcmibuilder script
- minor fixes
2012-12-03 16:00:17 +00:00
DjWarmonger
ca9033d0e4 - Support for "Enchanted" WoG ability.
- Precision will not be cast on non-shooters
2012-12-01 18:30:03 +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
DjWarmonger
7be00e97a0 Fixed #1124. Probably also other bugs related to two-hex creatures (or they were already resolved). 2012-11-30 14:06:22 +00:00
beegee1
53169abea7 - Foundation for starting a random map is done - Moved StdInc.h to header file in some /Map and /RMG compilation units(better syntax highlighting, should have no negative impact) 2012-11-20 17:53:45 +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
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
db10f512d5 - game won't crash on missing dwellings (instead random one will generated)
- added disabled code that can be used to fix buildings blit order
- minor fixes
2012-10-07 14:58:48 +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
f113f9573d - CPack support. Works on my side, needs tweaks for Win 2012-10-05 12:38:17 +00:00
Ivan Savenko
3542bfdc63 - fixed #1128 #1127 #1121 #1119
- instructions in linux readme use cmake instead of autotools
- update autoconf files
2012-10-02 14:22:58 +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
3de9b71cc3 Fixed crash when unit dies by entering obstacle (eg. moat) on the way to perform attack. 2012-09-30 17:48:21 +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
Michał W. Urbańczyk
786bd73e67 Fixed #1092. 2012-09-28 11:43:19 +00:00
DjWarmonger
076974729a Fixed #1089. 2012-09-28 06:10:01 +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
ecd8947d8e Crashes on starting next campaign mission should be fixed. 2012-09-25 18:00:55 +00:00
mateuszb
f3f4a7633d * fixed 1085
* fixed starting hero is granted in normal scenarios
* introduced TArtifactInstanceID
2012-09-25 14:40:39 +00:00
mateuszb
18bd898cb1 * fixed bug when starting certain maps in campaigns
* introduced TPlayerColor typedef
2012-09-24 16:14:53 +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
mateuszb
8e3de98059 * restoring campaign features
* minor improvements
2012-09-21 17:59:54 +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
mateuszb
aa04a5bcd0 * removed unnecessary include in .h -- they should be avoided
* fixed bug 1074
* fixed starting new custom campaign
* fixed building of ERM project
2012-09-18 15:06:29 +00:00
alexvins
2b2b02cccc [static analysis] [WIP] fix few possible bugs
CBattleAnimations.cpp,CBitmapHandler.cpp,CGameHandler.cpp Possible null pointer dereference
2012-09-16 14:36:31 +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
Michał W. Urbańczyk
6530e7a1e1 * servers will not allow using out-of-range slots ( #1061 )
* server won't crash on some scenarios when they're used
* fixed some minor discrepancies with creature placement in creature banks
2012-08-30 16:01:19 +00:00
Ivan Savenko
8fac276922 - a bit nicer stack queue. Check forum for graphics.
- warning fix
2012-08-28 16:28:21 +00:00
Michał W. Urbańczyk
830d94064e Fixed #1056, #1057 and #1058.
Should also fix #152.
2012-08-28 12:28:13 +00:00
Michał W. Urbańczyk
a14f381d48 Fixed #1055 - hang when creature performed automatic (not controleld by player) action.
Fixed possible crash on arrow turret turn.
2012-08-27 12:34:43 +00:00
Ivan Savenko
7ce9e95525 - death stare works identically to H3
- gcc warnings fix
2012-08-27 10:47:02 +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
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
Ivan Savenko
9cbc1f1058 - merged basicCreatures and upgradedCreatures into single array
- missing fix for savegames
2012-08-07 21:46:24 +00:00
Ivan Savenko
8040a81eec - fixed save games issues (#1044)
- hopefully some speedup for filesystem loading (#1048)
2012-08-07 11:28:52 +00:00
Ivan Savenko
e67f8afdd9 - removed multiple unused files
- config folder with all json files is used via new FS API
- fixed campaigns loading. Replaced "detect h3m starts" heuristics with CCompessedStream::getNextBlock()
2012-08-02 11:03:26 +00:00
Ivan Savenko
b3c17d2788 large filesystem update. Filesysytem is now fully functional, everything should work.
- completely replaced CLodHandler, removed bitmaph and spriteh
- replaced CLodStream in favour of CCompressedStream (2 new files)
- renamed CResourceLoaderFactory and ResourceIndetifier to shorter names
NOTES:
- campaign loading is currently broken. Will fix.
- I am going to remove several unused files in several days (e.g. LodHandler)
2012-08-01 12:02:54 +00:00
Ivan Savenko
a72a294a46 some work on new filesystem, not tested
- one more new file
- removed duplicating code
- filesystem parser is now recursive
- decompression should be possible if decompressed size is unknown
- autotools and cmake update
2012-07-23 10:23:43 +00:00
Ivan Savenko
13de841e10 - minor tweaks to quest window
- fixed #531
- fixed query crash (empty funciton)
2012-07-21 20:16:54 +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
b86706d58c Commander can now die in a battle and will be automatically rised when visiting town. 2012-07-17 08:52:27 +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
DjWarmonger
e3e4bc4c9c Second part of interactive Commander level-up. Quite messy. 2012-07-04 14:41:53 +00:00
ddaroo
758fb0679e Stub for a CMake build system. 2012-07-01 14:27:41 +00:00
Ivan Savenko
613172fa45 - fixed #582, #1019 and #1022
- linux readme tweaks
2012-06-27 20:44:01 +00:00
Ivan Savenko
47945383da gcc-4.5 compatibility 2012-06-23 17:19:50 +00:00
Michał W. Urbańczyk
84630a0984 Fixed #993, tent code cleanups. 2012-06-10 13:07:08 +00:00
Michał W. Urbańczyk
e6ebf42308 #994 should not crash anymore. 2012-06-09 19:58:17 +00:00
Michał W. Urbańczyk
247fabc3a6 Seems to be actually a missing return and redundant check. 2012-05-29 23:22:28 +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
Ivan Savenko
61ccabde53 - vcmi can be compiled with clang-3.1 2012-05-27 19:06:35 +00:00
Frank Zago
ee103c7bcd Compile fix. 2012-05-26 03:29:34 +00:00
Ivan Savenko
49495c9caf - possibly fixed #966 and #958
- fixed crash on shutdown 
- fixed compile issue #973
2012-05-25 11:49:56 +00:00
DjWarmonger
d34cf90bf7 Support for Chain Lightning.
Fixed getClosestTile function.
2012-05-20 11:40:23 +00:00
DjWarmonger
6419f953cb Some (disabled) work for commander artifacts. Hero artifacts window seems broken.
Minor fixes.
2012-05-19 18:27:23 +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
Michał W. Urbańczyk
d168f3eac2 * Implemented Moat functionality during siege (stops movement and deals dmg)
* Mostly implemented battle spells:
 - Fire Wall
 - Force Field
 - Land Mine
 - Quicksands
2012-05-18 20:50:16 +00:00
DjWarmonger
5435101182 Lots of fixes and improvements for Commander interface. 2012-05-18 19:44:15 +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
Ivan Savenko
8de71c2b39 - fixed #711, #862, #321
- moved PutPixel templates into header to allow inlining
2012-05-15 08:47:11 +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
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
Ivan Savenko
82b60c00a2 - fixed compile issues. Renamed several "battleobstacleSplaced" to "battleobstacleplaced"
- implemented --disable-video command line switch
2012-05-05 08:32:55 +00:00
Michał W. Urbańczyk
5449546447 Advanced work on support for Quicksand and Land Mine spells. 2012-05-04 21:16:39 +00:00
DjWarmonger
bd2a0c2a2b "You have captured enemy artifact" window. All arts from commander & stacks will also be looted. 2012-05-02 08:37:11 +00:00
DjWarmonger
6f108c41df Fix for previous commit. Now artifacts from defeated hero are passed to winner. 2012-05-01 14:38:53 +00:00
DjWarmonger
5d311fb3ed - Hopefully fixed possibleActions for every case
- better algorithm for looting artifacts, yet buggy
2012-05-01 13:56:32 +00:00
DjWarmonger
c4d933c668 Quick fix for previous commit. 2012-05-01 09:02:27 +00:00
DjWarmonger
2fbc57e140 1. Better way to disable stack / cursor glitches
2. An attempt to handle looting artifacts after battle
2012-05-01 08:52:22 +00:00
Ivan Savenko
d479341a5a - gcc compile and warning fixes 2012-04-30 12:13:36 +00:00
DjWarmonger
25bdcd3cab - Fixed wrong creature teleported
- Support for Sacrifice
2012-04-28 19:40:27 +00:00
Michał W. Urbańczyk
7dc0d6878e Rewritten battle obstacles. New file for lib: CObstacleInstance.cpp.
Now obstacles should be placed exactly like they were in OH3. 
All problems with displaying obstacles in battlefield should be gone. They should be now matched to the single pixel. 
If there are still some discrepancies, please report them.
2012-04-23 19:56:37 +00:00
Michał W. Urbańczyk
017013a5a4 Throwing runtime_errors instead of string (or even char*) objects. 2012-04-22 07:32:45 +00:00
DjWarmonger
cd1a9414ac - Restored Genie random spell
- Fixed crashes in many strange creature-spellcasting scenarios, including stack with multiple cast abilities and Enchanter with non-stadard spell
2012-04-18 15:57:49 +00:00
DjWarmonger
05311dd30c - Fixed and simplified Teleport casting
- Stack artifacts will now not be wearable by hero (by default)
- Fixed crash involving clone
2012-04-18 13:24:18 +00:00
DjWarmonger
f720038ca5 - Battle interface fixes. It's possible to move stacks & attack
- Creature window allows to pass stack artifact to hero
- Fixes for Mana Drain, including #916
2012-04-17 14:50:23 +00:00
Ivan Savenko
66f5b5e2d7 - gcc compile fixes 2012-04-14 16:28:36 +00:00
Michał W. Urbańczyk
6ec3501909 Fixed #927. 2012-04-14 07:39:32 +00:00
Michał W. Urbańczyk
722ec55384 Redid stack artifacts. Broken save compatibility. Added serializer support for boost::variant and sending CStackInstace* over network by implicitly passing IDs. Moved seeds and checksum to StartInfo. Various minor changes. 2012-04-14 02:20:22 +00:00
Michał W. Urbańczyk
c61f536d8b * fixed remaining parts of #760
* it's possible to switch active creature during tacts phase by clicking on stack
* a few minor fixes after handleHex rewrite
2012-04-02 23:23:14 +00:00
Michał W. Urbańczyk
c80d9b0a51 Possibly "fixed" #915.
Fixed server output (printing ui8 as %d apparently breaks boost.format :/).
2012-03-31 15:10:16 +00:00
Michał W. Urbańczyk
a9af0da0ab Rewritten handling mouse movement over hex and l-clicking hex into one procedure. That way the tooltip and cursor are always accurate, because they're set by the same routing that selects action. Having that logic duplicated in two methods was unmaintainable. [though the new one is still monstrous...] By the way fixed numerous issues, including:
* #785 and parts of #760
* first aid tent can heal only creatures that suffered damage
* war machines can't be healed by tent
* creatures casting spells won't try to cast them during tactic phase
* console tooltips for first aid tent
* console tooltips for teleport spell
* cursor is reset to pointer when action is requested
* fixed a few other missing or wrong tooltips/cursors

Implemented opening creature window by l-clicking on stack. Master Genie's spell is picked by server, not client.
Minor changes.
2012-03-30 21:36:07 +00:00
Michał W. Urbańczyk
3cf4ebc163 Little more work on #760:
* no tactics in creature banks
* no spellcasting during tactics phase
2012-03-28 21:54:43 +00:00
Michał W. Urbańczyk
c698181c4c * simple mechanism for detecting desync after init
* moving stacks in tactics phase won't affect stack queue  (part of #760)
* moved all boost headers in server to PCH
2012-03-27 20:08:54 +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
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
DjWarmonger
88e9dec974 Fixed Thieves Guild window showing for all players.
It needed 11 files modified... :/
2012-03-07 14:05:54 +00:00
Michał W. Urbańczyk
324b11b09c Possible fix for #848 2012-02-20 23:02:32 +00:00
DjWarmonger
386ac80cf9 Fixed #855 & 861. Unsigned values were bad idea to prevent overflow. 2012-02-20 16:26:14 +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
4baf4e13ed * fixed #857 and #858
* fixed crash when AI attacked player before his first turn
* fixed various crashes when mass-effect spells affected town turrets in sieges
* some refactoring around spell positiveness
2012-02-16 21:19:07 +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
Frank Zago
f7ac873303 Added test for librt, since linux needs it and OSX doesn't have it. 2012-02-13 02:15:05 +00:00
DjWarmonger
c724092028 Partial support for Clone spell. 2012-02-10 13:13:24 +00:00
DjWarmonger
2bddf29cbf Stack artifacts part 2, not working yet. 2012-02-04 16:34:29 +00:00
DjWarmonger
b8a5d0d430 Stack artifacts - part 1 2012-01-30 16:07:52 +00:00
DjWarmonger
1cbd7e94e4 - Extended cap or removed sign for some values that may potentially overflow
- Fixed #851
2012-01-26 16:48:53 +00:00
Ivan Savenko
dbc603b7d7 - fixed crash on opening spellbook during enemy turn
- fixed last known localization issue (bank configs)
- diplomacy and new weeks\month mechanics should be identical to H3
- minor fixes
2012-01-19 14:33:22 +00:00
Ivan Savenko
3fcf8b6f4b - minor mechanics fixes, corrected handling of 2nd upgrades (like pirates from hota) 2012-01-13 14:18:32 +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
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
DjWarmonger
2e0ca6d162 Cleaned some code. 2011-11-13 09:29:22 +00:00
Ivan Savenko
0f2e00c780 -(linux) Moved all (I hope) files created by VCMI to ~/.vcmi to prevents crash on launch from read-only directory
- minor fixes for #362 #835 #836
2011-11-01 12:58:01 +00:00
Ivan Savenko
ede7fd5a7a - (linux) Fixed gcc linking issues 2011-10-31 18:00:44 +00:00
DjWarmonger
10fce0025a Support for wall penalty & No Wall Penalty ability.
All creature abilities should now be more or less working.
2011-10-20 17:41:40 +00:00
DjWarmonger
95f23cf20f Support for Bind ability. 2011-10-17 08:24:51 +00:00
DjWarmonger
b4d0ebf9ab Support for Mana Channeling ability. 2011-10-09 11:23:24 +00:00
DjWarmonger
5e40d3da72 Support for Enchanter ability. 2011-10-09 07:20:23 +00:00
DjWarmonger
d607d90a91 Support for Fear & Fearless ability.
Ogre Magi can now cast too.
2011-10-08 17:10:43 +00:00
DjWarmonger
0903d6037c New pack - BattleEffectTrigger for various one-shot effects with animation 2011-10-08 13:02:58 +00:00
DjWarmonger
f4fc77ccb8 Creature spells are now functional.
It includes Master Genie, Archangel, Faerie Dragon & Elementals
2011-10-08 09:11:36 +00:00
Frank Zago
28231fee98 Newest GCC linker requires that every necessary library must be explicitly mentioned - no implicit linking allowed.
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
2011-10-06 01:11:23 +00:00
DjWarmonger
f1f416c890 Fixed (unnecessary?) deadlock in BattleStacksRemoved. Daemon summoning is pretty functional. 2011-10-02 13:59:12 +00:00
DjWarmonger
07b8f87fb7 Partial support for Daemon Summoning.
It freezes for unknown reason, but still.

Minor fixes.
2011-10-02 07:16:34 +00:00
DjWarmonger
6fdb984799 Lots of refactoring & work for creature spells.
No new features yet, but summon elementals now work properly again.
2011-10-01 19:56:54 +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
Frank Zago
c4b8039c1e Added a missing rturn in CGameHandler::isAllowedExchangeForQuery. Fixed several typos. 2011-09-24 01:15:36 +00:00
Frank Zago
c481177515 Fixed #815. 2011-09-24 00:32:55 +00:00
Ivan Savenko
d113517db4 - fixed #108, #798, #810
- fixed several gcc warnings
- some work on JSON (const char* as input, no crash on missing value)
2011-09-23 15:58:18 +00:00
Michał W. Urbańczyk
6ef44bde5a Work on pathfinder: torn the code out from CGameState into a separate class. It can use Subterranean Gates and Boats. Removed code for handling Fly spell effect. It didn't work as supposed anyway. 2011-09-19 20:50:25 +00:00
ori.bar
74fafbedbf Fix #807 2011-09-17 18:15:10 +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
bb1bdcb0a7 * fixed crash on visiting Sirens
* fixed race condition on the new turn,  #729 should be gone
* fixed crashes in AI-only game mode
2011-09-06 09:59:06 +00:00
Michał W. Urbańczyk
8b7a2f179c * Server will strictly require answering the queries before taking any actions. Let me know, if this causes any freezes.
* Fixed crash on new week after we lost battle with neutral monster but killed the top stack (merging failed then).
* minor changes
2011-09-06 06:00:32 +00:00
DjWarmonger
e3a8a41063 Fixed #804.
Phoenix won't upgrade to Centaur Captain ;)

Minor tweaks.
2011-09-05 06:37:24 +00:00
ori.bar
4f2bc1cc35 Fix bug 803 2011-09-04 01:44:50 +00:00
Michał W. Urbańczyk
102593aabe Fixed #789 and #795, 2011-09-01 02:48:29 +00:00
Michał W. Urbańczyk
20a53b04fd Removed object recycling that was causing #796. Fixed text nr typo.
Corrected json include in client/Client.cpp.
2011-09-01 01:40:46 +00:00
Michał W. Urbańczyk
18444fc72f Rewritten code handling growth to eliminate duplication and make it conformant to OH3 mechanics. Proper support for Statue of Legion.
Displaying shield over minimap during AI turn.
2011-08-26 20:32:05 +00:00
Michał W. Urbańczyk
4f20c5a376 Fixed #731. 2011-08-25 21:08:53 +00:00
Michał W. Urbańczyk
4c3ed24fe1 Fixed #768. More logging for #774.
Fixed crash on town time event (-1 and -2 "structures" present on buildings list).
2011-08-25 20:02:38 +00:00
Michał W. Urbańczyk
77be397bf6 Fixed #782. 2011-08-25 15:49:11 +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
DjWarmonger
287761a93d Fixed #229 & #332 2011-08-12 19:38:30 +00:00
Frank Zago
56bf3dc8ab Replaced io_service()) with get_io_service(). Fixes bug #780. 2011-08-04 23:49:32 +00:00
beegee1
f609c4ad9a * Fixed #33 -> Creatures tend to stop at every hex during movement 2011-08-01 17:36:18 +00:00
DjWarmonger
2272b4a316 Reverted changes from r2270. These strange callbacks were introduced for purpose (bugs 574 & 615).
Described crash after a battle is not reproductible now. Refer to these bug reports for more details.
2011-07-30 18:02:31 +00:00
beegee1
a5c39ca84b * Fixed a crash which occurred when a battle was won against a enemy hero but not gaining a lvl-up.
* Code improvements, fixed warnings.
2011-07-30 15:04:34 +00:00
Frank Zago
5eab8339d0 Someone likes to put semicolons in the wrong places. Fixed. 2011-07-28 00:38:19 +00:00
DjWarmonger
8789968d67 Fixed #777. 2011-07-27 10:41:27 +00:00
DjWarmonger
2047862eb1 Compile fix for Kingdom Overview
Fixed common crash with gained exp, fixed necromancy.
2011-07-23 06:14:05 +00:00
DjWarmonger
da83f0fcde For dev release 0.85b
Quick fix for #762
2011-07-21 14:16:45 +00:00
Ivan Savenko
0693312a8e - fixed several crashes with joining creatures
- support for loading *.tga images
- minor fixes
2011-07-18 15:21:16 +00:00
Michał W. Urbańczyk
79f5b29196 Various player/AI interface related fixes and improvements. 2011-07-17 18:49:05 +00:00
DjWarmonger
ef954b8a4f Most of the stuff I've commited today makes no sense, proper solution is trivial. 2011-07-17 18:11:03 +00:00
DjWarmonger
e4c5de3d0f Fixes for previous commit. Now #574, #615 and #743 work correctly. 2011-07-17 13:56:55 +00:00
DjWarmonger
096e77333f Better handling of after-battle callbacks. Looks messy, but works. 2011-07-17 12:53:06 +00:00
DjWarmonger
16e7241fbd Support for WoG's Defense bonus. 2011-07-16 16:40:38 +00:00
DjWarmonger
b609479496 Support for Magic Mirror spell. 2011-07-16 08:28:01 +00:00
DjWarmonger
79a453f442 Support for WoG "cast before attack" bonus. Minor fixes. 2011-07-16 06:42:44 +00:00
DjWarmonger
5269e845fd handling of Rebirth ability for Phoenix.
However, I've got no idea how to restore its animation to alive state.
2011-07-08 14:54:20 +00:00
DjWarmonger
1bf9bb4d94 Flexible handling of creature spell power. 2011-07-08 13:17:05 +00:00
DjWarmonger
f33fbdc43b Support for Thunderbolt (Thunderbirds).
General framework for handling creatures casting spells with arbitrary spell power.
2011-07-08 07:00:11 +00:00
DjWarmonger
8102fd4cf0 Support for Death Blow ability. 2011-07-06 17:00:45 +00:00
DjWarmonger
c53c226820 Support for Titan's Thunder (creating Spellbook) & Titan's Lightning Bolt. 2011-07-06 14:25:12 +00:00
Michał W. Urbańczyk
ed056cf0df Set of minor improvements and fixes. 2011-07-05 19:05:41 +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
DjWarmonger
08b7d0db17 All multi-hex attacks and shots should now be fully functional. 2011-07-05 06:07:36 +00:00
DjWarmonger
e95ae22061 Implemented Dragon Breath, Attack All Around & Three-Headed Attack.
Dragon Breath does not yet work correctly for all double-wide stacks, though.
2011-07-04 19:34:49 +00:00
mateuszb
aac1c0b4e7 * cleaner code is better :) 2011-07-03 19:10:36 +00:00
DjWarmonger
57a36e77f3 Improvement for multiple-hex effects.
TODO: Attacker must know exact attacked tile, not only the stack.
2011-07-03 05:55:57 +00:00
DjWarmonger
81180de8be Handling of area attack animation & effect 2011-07-02 17:40:33 +00:00
DjWarmonger
51943e5f1e Partial support for Death Cloud & Magog's Fire Ball.
Lots of refactoring is needed to handle this and multiple-target attacks.
2011-07-02 16:49:22 +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
Michał W. Urbańczyk
e6409e8ddd Fix for printing the line number. Fixed #753. 2011-06-27 16:03:03 +00:00
DjWarmonger
9ca5d9048a Fixed total spell immunity granted by 2212.
Improvements for Life Drain.
2011-06-25 15:05:01 +00:00
beegee1
5fdb5aa494 * Improved battle and bonus system performance (significantly faster in debug build, tip: use vs 2008, turn of hex field presentation)
* Implemented caching for the bonus system
2011-06-25 13:53:15 +00:00
DjWarmonger
7dce558e28 More fixes. Estates skill is now handled as a Bonus. 2011-06-24 18:16:28 +00:00
DjWarmonger
bdce46ab60 Minor refactorings, fixes & improvements.
Moved CArtifactSet to ArtHandler. ObjectHandler is already too messed.
2011-06-24 17:43:02 +00:00
DjWarmonger
e41d2f6e87 Fixed possible crash related to Peculiar Enchants. 2011-06-24 07:12:52 +00:00
DjWarmonger
d2d5930b64 Fix for previous commit. 2011-06-21 17:14:15 +00:00
DjWarmonger
5eef9551de Fixed #607
Support for Admiral's Hat
2011-06-21 16:00:19 +00:00
DjWarmonger
af8d8cbfc7 Implemented #479 2011-06-21 12:45:57 +00:00
DjWarmonger
825562a092 Fixed #538 2011-06-19 09:07:15 +00:00
Frank Zago
eecb470e74 Fixed all warnings "take address of temporary". 2011-06-11 04:54:41 +00:00
Frank Zago
ff49b852df Silenced several "warning: suggest parentheses around ‘&&’ within ‘||’": added some parenthesis, optimized a couple statments and fix a bug in another. 2011-05-30 19:20:14 +00:00
Michał W. Urbańczyk
2d61fab7e9 * Probably fixed #655.
* Fixed #736, #737.
* Fixed crash on loss/victory.
* Fixed crash on loading some AB maps.
* Fixed crash on loading map where victory/loss condition objective hero was placed inside the town.
* Fixed crash on loading map when neutral Dungeon has built Portal of Summoning.
* Mutex protecting GS will be used to prevent changes in GS when GUI might read it.
* Little more securities around moving hero and ending turn, still needed more.
2011-05-29 23:49:25 +00:00
Michał W. Urbańczyk
3ca95ef5ed Fixed #730:
* crash on +5 growth week 
* crash on spawning wandering creatures on double growth months
(how come that has not been found in previous build?)

More logging for #729-like issues.
2011-05-28 01:02:28 +00:00
mateuszb
94166b83aa * some changes 2011-05-22 18:46:52 +00:00
DjWarmonger
3a6b5cbfbb Various fixes related to spell effects and Creature Window. 2011-05-21 07:07:07 +00:00
DjWarmonger
d4c2e55a00 Fixed #421 & #480. Some work on animations & sounds. Minor changes.
TODO: Interface should check game state before it's changed by triggered abilities of creatures.
2011-05-15 06:37:57 +00:00
DjWarmonger
b02527566c Fixed some battle logs. 2011-05-13 10:45:36 +00:00
DjWarmonger
515ab7e7c1 Support for Acid Breath (both effects are now separate).
Minor fixes.
2011-05-13 09:02:16 +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
Michał W. Urbańczyk
b4144dc616 Callback jugglery, part 1.
Fixed #252.
2011-05-03 03:14:18 +00:00
Ivan Savenko
e494171de3 - several changes to get reusable code
- possibly fixed #725
- bug in random seed initializing?
2011-04-30 18:16:58 +00:00
DjWarmonger
a4d845688a Support for Poison, Age, Disease
Partial support for Stone Gaze, Paralyze, Mana drain
Partial fix for #134 - animation triggers only for our own stacks, not enemy's
Lots of tweaks & fixes.
2011-04-25 09:03:13 +00:00
DjWarmonger
7591d06b05 Support for Death Stare.
Some tweaks are still needed. Level 0 spell-like abilities won't work correctly.
2011-04-23 17:10:54 +00:00
DjWarmonger
7e9033c44f Fixed #668 and #718.
Hero is now properly attached to his special.

Compile fix for ERM Parser.
2011-04-23 09:57:51 +00:00
Michał W. Urbańczyk
5cc9d16014 Fixed #276. 2011-04-22 22:28:13 +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
7209f158a1 - gcc/Linux fixes
- added --nointro parameter to skip intro videos
- minor fixes to scenario selection menu
2011-03-19 22:27:05 +00:00
mateuszb
b3ed75ab03 * first part of ERM parser 2011-03-19 17:06:46 +00:00
Michał W. Urbańczyk
4d3776058d My project files for VC10. 2011-03-17 23:06:48 +00:00
mateuszb
406b3e3f1c * unnecessary code removed 2011-03-15 17:25:51 +00:00
Michał W. Urbańczyk
a382b641b7 Removing old, VC9 project files. 2011-03-12 22:53:52 +00:00
DjWarmonger
f7bd5e75cb Fixed 563 & 701.
It's not nice to write same piece of code twice.
2011-03-08 13:27:32 +00:00
Michał W. Urbańczyk
7dbf105f6e Surrendering and related artifacts (Statesman's Medal,
Diplomat's Ring, Ambassador's Sash).
2011-03-05 16:38:22 +00:00
Michał W. Urbańczyk
207e573001 Fixed #645 by reverting support for screen scrolling [there are still some remains in settings file]
Removed some unused code.
2011-03-01 09:57:18 +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
Michał W. Urbańczyk
03fdd22b1a Version set to 0.83c, to be released as development build.
Code reorganizations in bonus system, allowing defining bonusNode-like classes.
Fixed some issues with artifact handling (proper updating of GUI when moving, minor fixes). 
Restoring battle AI for neutrals after loading game.
2011-02-27 19:58:14 +00:00
Michał W. Urbańczyk
236345e61d Fixed #674, #675, #676, #677. 2011-02-25 17:57:30 +00:00
mateuszb
ab4418917a * artillery skill fixed 2011-02-24 15:33:03 +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
mateuszb
6d6a1af9ed * fixed crash on after attack spell casting
* more aggressive stack direction normalization after action
* artillery support
2011-02-23 17:10:35 +00:00
mateuszb
6db7f1d610 * minor improvements in spell immunity handling 2011-02-22 13:44:34 +00:00
mateuszb
b4edd10e6c * beegee's comments patch
* very minor changes
2011-02-22 11:52:36 +00:00
Michał W. Urbańczyk
a46ad0b7ef Next set of fixes, mostly for deserialization. 2011-02-22 09:47:25 +00:00
Michał W. Urbańczyk
4c9edd3f06 Many fixes around bonus system. Some basic propagation mechanism (not clever but works). 2011-02-21 04:13:00 +00:00
mateuszb
519a4186de * fixed bugs 470 and 523
* minor improvements
2011-02-20 18:32:39 +00:00
mateuszb
4e631fc530 * fix for bug 573
* minor changes
2011-02-15 19:54:55 +00:00
Michał W. Urbańczyk
e3310f8759 Eagle Eye seems to work. 2011-02-14 09:29:35 +00:00
Michał W. Urbańczyk
0c700f97cd A little progress with Eagle Eye and Tactics. 2011-02-13 22:46:04 +00:00
DjWarmonger
252cee96f5 Partial Stack Exp operations. Can't really test it as battle is unplayable atm. 2011-02-12 18:48:11 +00:00