Commit Graph
100 Commits
Author SHA1 Message Date
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 d55d48b978 Diagnostics for #924. 2012-04-10 02:30:43 +00:00
Michał W. Urbańczyk 8baec8b093 Implemented #715 (load game from sys options). Fixed #224. Minor improvements. 2012-04-09 02:53:50 +00:00
Michał W. Urbańczyk f9f0fe9d97 Likely fixed #920. 2012-04-08 20:49:16 +00:00
Michał W. Urbańczyk d9064f4f7d Implemented #714 — restart functionality, including quick restart tweak (bound to CTRL+R). 2012-04-08 03:06:27 +00:00
Michał W. Urbańczyk d6223dd137 Fixed #686.
Minor changes.
2012-04-08 02:29:11 +00:00
Michał W. Urbańczyk 9f6270a1f7 Fxied #306 and #856. 2012-04-08 02:14:20 +00:00
Michał W. Urbańczyk b874295b3a Really fixed #918. 2012-04-08 01:43:40 +00:00
Michał W. Urbańczyk 69da179abb Fixed #918. 2012-04-08 01:26:33 +00:00
Michał W. Urbańczyk 3bf76cb719 Fixed #216 and #907.
* CTRL+T will open marketplace window
* T in adventure map will switch to next town
* T in castle window will open a tavern window (if available)
* G will open thieves guild window if player owns at least one town with tavern
* various minor changes
2012-04-08 01:15:18 +00:00
Michał W. Urbańczyk 7317e803db Locking pim mutex in client pack handling method, instead of dozens playerint call-ins. GUI won't try updating in between gamestate change and call-ins about it. Should fix #912.
Minor changes.
2012-04-06 15:02:15 +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 584b761d37 Fixed #917. 2012-04-02 11:38:59 +00:00
Michał W. Urbańczyk 7ccc78c757 Fized crash on attacking walls with Cyclop Kings. 2012-04-01 13:40:14 +00:00
Michał W. Urbańczyk 1eeebdee10 Fixed #914. 2012-04-01 12:35:33 +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 414a896dbd Fixed #890. 2012-03-30 23:39:44 +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 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
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
Michał W. Urbańczyk f7ae917645 VCAI depends on FuzzyLite. 2012-03-08 11:17:09 +00:00
Michał W. Urbańczyk d0e259864e * Replaced boost::shared_ptr with std::shared_ptr.
* Brought shared_ptr and unique_ptr and their factories (make_shared, make_unique) to the global scope. 
* Removed excessive usage of shared_ptr in bonus system interface. 
* Fixed bonus system limiters/caching interactions. That covers #823, #859 and a number of rare edge-cases. 
* Implemented multiple-step limiters applying, fixing hasAnotherBonusLimiter  and allowing transitional dependencies between bonuses. 
* Bonus system should be slightly faster, since we cache limited bonuses. Some rare usages (limiting query against a foreign node) however can't use caching.
2012-03-06 16:59:55 +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
Michał W. Urbańczyk ebfbccdd0e Post-release version bump. 2012-03-01 23:14:16 +00:00
Michał W. Urbańczyk 672468a738 Deleted GeniusAI. 2012-03-01 16:32:14 +00:00
Michał W. Urbańczyk 2bea93f43f Version set to 0.88. Put release date into changelog. 2012-03-01 15:45:43 +00:00
Michał W. Urbańczyk 77b13404c0 Fixed #888. 2012-03-01 13:36:58 +00:00
Michał W. Urbańczyk a833cbd308 Fxied #887. 2012-03-01 11:57:38 +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 e7603a1fee One more thing for dev release — bump save format (so the old saves won't crash us). 2012-02-22 22:32:23 +00:00
Michał W. Urbańczyk df1a128c3b Updated changelog. Version for development build 0.87b. 2012-02-22 22:21:34 +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 3546c7841a * Possibly fixed #870
* Fixed crash after catapult successfully destroyed one of turrets (stack queue wasn't properly updated)
2012-02-22 17:43:59 +00:00
Michał W. Urbańczyk 37d3bea0a9 Missing part of fix for #871. 2012-02-22 14:38:40 +00:00
Michał W. Urbańczyk d9a78ff1ce * fixed #871
* dead stacks won't be also shaded as possible targets
2012-02-22 14:31:53 +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 324b11b09c Possible fix for #848 2012-02-20 23:02:32 +00:00
Michał W. Urbańczyk 5afa5cfb54 * fixed #863 — all members of team will receive notification about FoW change
* fixed #486 
* removed reference to a deleted file from lib VC project file
2012-02-20 21:01:54 +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 b35636d5e9 Fixed #869. 2012-02-18 20:50:06 +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 a975805ae8 Fixed #850. 2012-02-17 19:30:40 +00:00
Michał W. Urbańczyk 1abf089bc7 Missed fixed for #858 (TortoiseSVN tricked me...)
Fixed #852.
2012-02-16 21:46:28 +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
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
Michał W. Urbańczyk 8f1048f835 Merged Beegee's classesRefactoring1 branch. 2011-12-23 02:30:08 +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 750995f7f9 A patch from Gesh fixing and #819 and removing reduntant #ifdefs (DLLHandler is win-only anyway). 2011-09-22 14:21:53 +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
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
Michał W. Urbańczyk d71ed76a0f Fixed villages/capitols not appearing. 2011-09-03 03:04:06 +00:00
Michał W. Urbańczyk 6b9e64de91 Lazy updates of hero paths. 2011-09-03 02:54:33 +00:00
Michał W. Urbańczyk 5072bda7e6 Fixed the stables crash #799. 2011-09-02 05:44:53 +00:00
Michał W. Urbańczyk 10b4f6213f Post-release version bump. 2011-09-01 10:30:22 +00:00
Michał W. Urbańczyk e3db348304 Bump save format. Release date in changelog. 2011-09-01 09:10:49 +00:00
Michał W. Urbańczyk 29eb3d10ec Version set to 0.86. 2011-09-01 06:51:44 +00:00
Michał W. Urbańczyk c5452f26fc Fixed #791. Don't like it. Rogues do not have TURN_R sequence. I if-ed out that in reverse animation but I believe more general solution should be devised, possibly on the side of CCreatureAnimation. 2011-09-01 03:12:54 +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 1bd543ad0c Ouch. #37 is not so easy. :> 2011-08-30 07:08:11 +00:00
Michał W. Urbańczyk b217768d0a A patch from ori.bar fixing #37 and #64.
http://forum.vcmi.eu/viewtopic.php?p=5993#5993
2011-08-30 06:36:57 +00:00
Michał W. Urbańczyk 835bd1fbeb Reverting r2327
http://forum.vcmi.eu/viewtopic.php?t=410
2011-08-30 06:19:07 +00:00
Michał W. Urbańczyk 33020cf953 Fixed fix for #771. 2011-08-26 23:45:00 +00:00
Michał W. Urbańczyk a8a437ccb0 Don't behave so dramatically when Heroes3-cd2.snd is missing.
Fixed a few typos in buildings.json.
2011-08-26 22:52:02 +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 3152e6d540 Fixed #771, #772 and #787.
Some minor changes and fixes.
2011-08-25 15:24:37 +00:00
Michał W. Urbańczyk 583f37bf1f * Playing terrain music
* Fixed crash on l-clicking advmap during AI turn
2011-08-17 21:48:12 +00:00
Michał W. Urbańczyk a043bfa44a * Reinstated music player. Added terrain music. To MSVC users: you need the recently uploaded libraries pack for this to work! [ http://download.vcmi.eu/msvc-pack.7z ]
* Not crash on empty (or 1-byte) lod file. (Case in SoD+WoG installations, where h3ab*.lod are dummies.
2011-08-17 20:44:14 +00:00
Michał W. Urbańczyk c0127032fc Restored ERM interpreter to the solution. 2011-08-16 09:32:08 +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
Michał W. Urbańczyk 05f166f751 Portability fix for „Win64”. 32-bit DLLs (bink, smack) cannot be loaded, so an empty player-placeholder is used to capture calls we can't properly handle.
Probably some fixes for Linux will be needed. (I guess the whole thing could use some refactoring to unify more code)
2011-08-08 07:12:18 +00:00
Michał W. Urbańczyk b05a0c7c83 The add_file method throws an exception where there is no file with a given name.
Catch it and leave NULL, so the silent return can be used.
2011-08-08 06:28:18 +00:00
Michał W. Urbańczyk f417cee2c0 Updated project file. 2011-08-07 08:20:28 +00:00
Michał W. Urbańczyk 79f5b29196 Various player/AI interface related fixes and improvements. 2011-07-17 18:49:05 +00:00
Michał W. Urbańczyk ed056cf0df Set of minor improvements and fixes. 2011-07-05 19:05:41 +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
Michał W. Urbańczyk 4592ddb74e Fixing several issues with artifacts in hero window described in note http://bugs.vcmi.eu/view.php?id=761#c1828 . Also resolving #741. 2011-07-03 01:03:46 +00:00
Michał W. Urbańczyk e6409e8ddd Fix for printing the line number. Fixed #753. 2011-06-27 16:03:03 +00:00
Michał W. Urbańczyk 212bc13ad6 Fixed #755 and #759. 2011-06-25 14:22:19 +00:00
Michał W. Urbańczyk d88b6b1bb3 Interactive mode for ERM interpreter. 2011-06-23 21:42:30 +00:00
Michał W. Urbańczyk d9a9477cb4 Likely fixing #754. 2011-06-22 22:35:26 +00:00
Michał W. Urbańczyk 0a48e51af9 Fixes, more tests. 2011-06-21 00:00:49 +00:00
Michał W. Urbańczyk a1930300be ERM needs to be built after lib. 2011-06-20 11:50:47 +00:00
Michał W. Urbańczyk 580c4e4c9b ERM is now a separate project, linking to ./Scripting/ERM.dll and consisting all ERM* files from ./lib.
Little changes around handling ERM. New class in lib: CFileUtility, so the code for scanning files with given extension is not duplicated.
2011-06-20 11:41:04 +00:00
Michał W. Urbańczyk 9775f88045 Version bump.
Initial support for IF:M elements and string formatting.
Various minor changes related to ERM interpreter.

The following script should be functional now:
ZVSE
!?PI;
!!DO1/0/6/1&v2777<>1:P0;

!?FU1;
!!IF:M^Hello world number %X16!^;
2011-06-10 23:50:32 +00:00
Michał W. Urbańczyk 0dbd7ee3c8 Fixed #739 and #742.
Version set to 0.85.
2011-06-01 18:26:44 +00:00
Michał W. Urbańczyk 96d6d34bc3 For 0.84d build. 2011-05-30 01:03:16 +00:00