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

466 Commits

Author SHA1 Message Date
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
3943c10f1a fixes #1237 - if server savegame entry is missing it will be created in "update mode". 2013-05-30 16:25:00 +00:00
Michał W. Urbańczyk
1e8e932323 Logging around #1237. Typos. 2013-05-30 12:14:39 +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
beegee1
b1428bcd24 - Compile fix for editor - Renamed /Editor to /editor and Scripting/ERM to scripting/erm - Removed unused ipch folder and format file - Removed ancient lua folder 2013-04-13 11:07:32 +00:00
beegee1
c7c2686379 - Integrated the logging API into the client and the lib - Remove some more comments and switched to /// style - Fixed recursive locks - Added Global.h to CMakeLists(now visible in qt-creator) - Removed usage of shared_mutex - Added unique_ptr to CLogger targets 2013-04-09 14:31:36 +00:00
beegee1
30bcec42c6 - Renamed client/BattleInterface to client/battle and client/UIFramework to client/gui 2013-04-07 11:52:07 +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
Ivan Savenko
b5fcefe455 - moved all system-specific handling of filesystem to VCMIDirs.cpp (new file)
- fixed #1128, artifact constituents are now stored as pointers
2013-03-02 18:41:25 +00:00
mateuszb
602827d1ae * MSVC compilation fixes
* campaign epilogues and minor fixes
2013-02-23 19:16:14 +00:00
Michał W. Urbańczyk
6fdf64c2b1 Little more logging. 2013-02-18 23:10:46 +00:00
Michał W. Urbańczyk
d45a554fec Significant changes to saving system. Now both client and server store their lib part.
Desync detection upon loading. Fixed many desyncs. (more remain)
Monsters won't have creature count 0 even if that is set as creature properties.
2013-02-18 22:37:22 +00:00
Michał W. Urbańczyk
17755caa10 * fixed #1199
* fixed advancing between misisons in campaigns
2013-02-05 20:06:13 +00:00
mateuszb
8769f67c5d * JsonReader can convert to enums
* refactoring
2013-02-03 21:05:44 +00:00
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
Ivan Savenko
46eb0b3daf - wrokaround/fix for #1177
- removed assert in Fonts.cpp (can be triggered a lot by old pregame\battles code)
- fixed battle console text positioning
- fixed some new compiler warnings
2013-01-20 22:49:34 +00:00
alexvins
4bc2fd5519 [c::b] renamed map subfolder to workaround dependency tracking bug 2013-01-03 12:19:20 +00:00
Ivan Savenko
c9dd80ea6d - moved json-related functions (e.g. ParseBonus) into JsonUtils namespace
- replaced JsonNode::toStdVector with more universal convertTo
- some renaming in StartInfo
2012-12-02 12:21:44 +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
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
mateuszb
657ed41088 * fixed bug in campaigns
* turned off artifacts.json creation
* minor changes
2012-09-29 17:36:48 +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
6c017a0fdf Fixed #1088. 2012-09-28 09:11:18 +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
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
82e21f8b6e * minor campaign related improvements 2012-09-22 15:16:45 +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
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
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
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
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
Michał W. Urbańczyk
5981ad15d4 Fixed Duel mode. Integrated some changes from programmingChallenge branch - it's possible to define duel parameters using JSON. 2012-07-26 00:48:44 +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
613172fa45 - fixed #582, #1019 and #1022
- linux readme tweaks
2012-06-27 20:44:01 +00:00
Ivan Savenko
1b50082e43 - fixed crash with necromancy dialog #1009 (russian-only)
- Client::run will catch only asio exceptions
- (linux) fixed typo that disabled debug mode
2012-06-16 17:12:58 +00:00
Ivan Savenko
d60f2d57a0 - first part of CIntObject API clean-up.
- - mostly remove usage of (de)activateSomething functions
- - CIntObject's can be safely deleted in active state or without removing from parent first
- - Added CWindowObject to use as base of all windows (will be required for such features as shadows)

Report any crashes or glitches - it should not cause any issues apart from more console output. 

TODO:
- remove redundant (de)activate and show(All) calls
- decrease usage of blitAtLoc\printAtLoc methods
- switch all windows to new base
2012-06-02 15:16:54 +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
Ivan Savenko
fef876e1ec - fixed #934 (batte screen after changing resolution) 2012-04-19 21:21:11 +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
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
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
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
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
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
Ivan Savenko
86e7d96b39 - setting system: replaced settings.txt + sysopt.bin with json-based system (defaultSetting.json + settings.json)
- some work on system settings window
- new menu for selecting resolution (reused town portal graphics), can be opened from system settings
2012-01-12 15:23:00 +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
7f04ed990b Major refactoring. First part: BattleInterface
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +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
ori.bar
ebacb433fe auto_ptr -> shared_ptr see http://gcc.gnu.org/onlinedocs/libstdc++/manual/auto_ptr.html 2011-09-10 09:42:09 +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
Frank Zago
2ae53395d7 Removed duplicate function initVillagesCapitols(), and simplified its clone loadTownDInfos(). 2011-09-04 18:07:26 +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
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
Frank Zago
d49058049e Created towns_defs.json from townsDefs.txt. 2011-09-01 00:11:34 +00:00
Michał W. Urbańczyk
4f20c5a376 Fixed #731. 2011-08-25 21:08:53 +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
Ivan Savenko
8054c85091 - some work on sound and music players:
-- Adventure map music will update with hero movement
-- implemented battle intro sounds
-- battle music tracks will  be selected randomly each time
- fixed #781
2011-08-19 19:50:24 +00:00
Michał W. Urbańczyk
79f5b29196 Various player/AI interface related fixes and improvements. 2011-07-17 18:49:05 +00:00
Ivan Savenko
48e79b163c - missed file from previous commit
- minor fixes
2011-07-01 16:26:36 +00:00
Michał W. Urbańczyk
212bc13ad6 Fixed #755 and #759. 2011-06-25 14:22:19 +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
DjWarmonger
361e58eddb Applied patch from #749 2011-06-18 04:56:32 +00:00
Frank Zago
4b7d0f3092 Partial integration of Android patches, from Pelya. 2011-06-15 02:15:05 +00:00
Frank Zago
eecb470e74 Fixed all warnings "take address of temporary". 2011-06-11 04:54:41 +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
Frank Zago
aca118b613 Fixed creature bonus parser. Fixed several uninitialized variables. Updated data build script to v0.85. 2011-06-03 03:23:50 +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
c32242b4e9 For 0.84b dev build. 2011-05-25 23:52:27 +00:00
mateuszb
94166b83aa * some changes 2011-05-22 18:46:52 +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
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
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
Michał W. Urbańczyk
a46ad0b7ef Next set of fixes, mostly for deserialization. 2011-02-22 09:47:25 +00:00
Michał W. Urbańczyk
15011e611d Merged Ivan's changes from trunk (r1921) 2011-01-28 02:33:26 +00:00
Michał W. Urbańczyk
a75a37008f Practically finished combined artifacts changes, many other fixes. 2011-01-28 02:11:58 +00:00
Ivan Savenko
551d1f1b26 - Possible support for sounds in GOG version
- Fixed all issues with Russian localisation
- (Linux) fixed #637
2011-01-17 16:07:08 +00:00
mateuszb
56ec829049 * minor refactoring
* minor improvements in battle interface
2011-01-09 17:41:46 +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
2cf6729eee Towards duel support. 2010-12-25 01:43:40 +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
mateuszb
af2c4633ad * partially done duel mode
* program options parsing via boost::program_options
* Stupid AI - a stupid battle-only AI
* precompiled headers for server and Stupid AI on MSVC
2010-12-22 20:14:40 +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
mateuszb
8b831c1f46 Const-transitiveness of CGI almost reached 2010-12-20 13:04:24 +00:00
mateuszb
5806976a9a * towards ConstTranssitivePointers in CGI 2010-12-18 22:11:28 +00:00
mateuszb
ad48681d91 * cleanup 2010-12-08 20:17:05 +00:00
Michał W. Urbańczyk
1c8d909433 Hotfix for loading game. 2010-11-03 11:34:25 +00:00
Frank Zago
dbe38a7062 A few bug fixes and arious warning fixes: unused code/variables, out of order initializations, ... 2010-10-30 21:53:41 +00:00
Michał W. Urbańczyk
daeb3af67a Early changes towards MP support.
It's possible to connect several clients (running on localhost) and enter MP pregame. The actual MP game still not playable. (though it can be started)
2010-10-24 11:35:14 +00:00
Michał W. Urbańczyk
aa131bbf15 Reverted r1811, r1812, r1813 2010-10-24 11:23:43 +00:00
DjWarmonger
b75cf89f86 Partial support for customizable artifacts and Spell Scroll. Still doesn't work, though. 2010-10-03 17:52:11 +00:00
Frank Zago
4b8be22fb6 Several compile/link fixes. 2010-09-04 14:47:39 +00:00
mateuszb
4ba3c68ced Chenges (networking for PG, minor fixes) 2010-09-03 18:42:54 +00:00
mateuszb
d681afe1c1 Changes towards campaign support. 2010-08-20 13:34:39 +00:00
mateuszb
9aa6d0a7b9 * refactoring of map handler and minor changes 2010-08-16 13:51:31 +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
Michał W. Urbańczyk
ec6342d9a7 Serializer will now smartly send over network CArtifact* and CHero*. Unified handling of items stored in vector.
Started making support for Black Market / Artifact merchant.
2010-06-26 16:02:10 +00:00
mateuszb
adbc142ff0 * a bit of campaign support 2010-05-08 18:56:38 +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
mateuszb
5d3d9689e8 * luck support
* support for distance/wall penalties & no * penalty abilities
* reworked damage calculation to fit OH3 formula better
2010-04-06 13:19:54 +00:00
Michał W. Urbańczyk
80f49badc9 Implemented Scuttle Boat and Dimension Door spells.
Fixed #417 and #418.
Moved / refactored some code. Minor fixes.
2010-03-20 22:17:19 +00:00
Michał W. Urbańczyk
ad841f7fea Implemented Summon Boat spell. 2010-03-10 23:16:30 +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
Michał W. Urbańczyk
78f54ffcd3 Fixed game loading.
Release 0.75d
2010-02-13 21:45:46 +00:00
Michał W. Urbańczyk
96819379c5 Fixed #109, #352, #359.
Possibly also #344, #353.
Allowed switching heroes with l-click when another hero is selected. (works for not accessible heroes)
2010-02-13 04:47:31 +00:00
Michał W. Urbańczyk
6803d08c6c Further victory conditions supported:
Transport artifact
Find artifact
Gather army
Gather resource
Build city
2010-01-30 12:46:15 +00:00
Michał W. Urbańczyk
5279e2e9fc First part of support for victory & loss conditions.
Implemented and tested are
victory:
Defeat hero
Capture town
Defeat monster
Flag dwellings
Flag mines

Lose:
Loss hero
Time expire

**

Some others may work but not has been tested yet.
I've added a new page in VCMI Status spreadsheet with status of various victory/loss conditions.
2010-01-29 20:52:45 +00:00
Michał W. Urbańczyk
226935fd89 More missing virtual d-tors. GCC should be pleased.
Moved some code.
2010-01-02 01:48:44 +00:00
Michał W. Urbańczyk
5be449b6ca Fixed crash on closing. Fixed #326. Max movement points values follow H3 more closely. Minor fixes. 2009-12-31 11:04:29 +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
1c32679f93 Implemented flagged garrisons passableness ( #150 ). Full support for BorderGates. 2009-12-20 17:14:14 +00:00
Michał W. Urbańczyk
d037bec1be Fixed #229, #290.
Fixed problems with accessing shared memory sometimes occurring after application has previously crashed.
2009-12-19 12:31:57 +00:00
Frank Zago
6b5feb63e6 Implemented "main menu" in-game option. 2009-11-01 01:15:16 +00:00
mateuszb
fdcb286044 * VCMI works again on Windows.
hint: ./executable.exe does not run executable on Windows - you must use executable.exe or .\executable.exe
2009-10-17 13:13:09 +00:00
Frank Zago
b02d4c1c2f (linux) Manage one directory per user for save games and config. 2009-10-10 05:47:59 +00:00
Michał W. Urbańczyk
fe7ef6bbe1 Smart map object serialization over net.
Fixed doubling click sound on map selection.
2009-10-06 00:32:33 +00:00
Michał W. Urbańczyk
ca7ee8936c Implemented redesigned pathfinder. Using new info from it, implemented various adventure map cursors.
(Paths are still calculated using the old pathfinder, it will be changed soon)
2009-08-30 12:47:40 +00:00
Michał W. Urbańczyk
a91ab8872b First part of GUI reorganization: extracted CGuiHandler from CPlayerInterface.
Minor fixes for Creature Generators and recruitment window.
2009-08-06 22:36:51 +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
Michał W. Urbańczyk
ec3b254c83 Castle interface: improved town scrolling.
Minor changes for future loading-without-restarting.
2009-07-20 08:18:33 +00:00
Michał W. Urbańczyk
eb40ade906 * saving system options
* saving hero direction
* minor changes in saving
2009-07-18 03:13:13 +00:00
Michał W. Urbańczyk
9ff6501ba3 Mostly done .BIK video handling (WIN only).
Refactoring.
2009-06-23 08:14:49 +00:00
Frank Zago
e0c600b963 Don't close the server socket while another thread is using it. 2009-06-06 15:17:07 +00:00
Michał W. Urbańczyk
a17936908a * updated changelog
* version set to 0.72
* integrated save format version to the CLoadFile
* fixed problems on entering non-number as resolution number
* minor improvements
2009-06-01 22:31:11 +00:00
mateuszb
429b226517 * moved a few files 2009-05-20 10:08:56 +00:00
Michał W. Urbańczyk
d80afb1902 * server sends confirmation (given later to player interface) after applying request (will be needed for AI)
* created new package for injuring multiple units - needed for area spells (not tested)
* proper screen updating on garrison change
* spell effects will be removed when they time out
* Corpse (Skeleton) will be accessible from all directions
* new objects supported:
- Corpse
- Lean To
- Wagon
- Warrior's Tomb

* several minor improvements
2009-04-16 00:28:54 +00:00
mateuszb
f9ae91d88c * further changes towards support for ranged spells
* added info about author & license in files
2009-04-15 14:03:31 +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
Michał W. Urbańczyk
fca28fab10 * battle settings will be remembered between battles
* call-ins for serializing client and playerinterfaces (not used really yet)
2009-03-28 18:46:20 +00:00
Michał W. Urbańczyk
516b1e2b00 REMOVED FILES: CPatgFinder.h/cpp
Updated project files for MSVC and automake (I hope I didn't break it)
* Refactored pathfinding and integrated into CGameState. 
* Fixed issues with wrong calculating movement cost at server side
* Hero infowindow won't be redrawed each time experience changes
* Removed memory leaks with CPaths-s
* Support for Sign objects
* Bumped savegame formt version to ensure old not compatible saves won't be readed
* Spellscrolls will disappear on visit (won't be treated as spellbooks anymore)
2009-03-19 14:17:19 +00:00
Michał W. Urbańczyk
f33d3894bd Possibly fixed compiling on gcc. 2009-03-15 12:53:58 +00:00
Michał W. Urbańczyk
a7680d3957 Bugfixes and support for timed events. 2009-03-09 19:40:43 +00:00
Michał W. Urbańczyk
4653ca6b29 New file for VCMI_Server - NetPacksServer.cpp
Redone client -> server protocol.
2009-03-09 10:37:49 +00:00
Michał W. Urbańczyk
5ebb54ec59 should be fine... 2009-03-07 15:54:12 +00:00
Michał W. Urbańczyk
e9ebc7de5b wrong1 2009-03-06 22:25:19 +00:00
Michał W. Urbańczyk
b1c0d10ece 2009-03-06 22:11:17 +00:00
Michał W. Urbańczyk
6a3bfbee46 * added "Next hero" button functionality
* minor improvement for prison (hero appears at proper tile)
* only one spell can be casted per turn
* minor changes
2009-02-20 10:36:15 +00:00
Michał W. Urbańczyk
adf5c052f9 * support for prison
* updated changelog
2009-02-14 19:12:40 +00:00
Michał W. Urbańczyk
59b2bb4940 * fixed scrolling behind window problem (now it's possible to scroll with CTRL + arrows)
* proper updating resdatabar after building structure in town or buying creatures (non 800x600 res)
* fixed blinking resdatabar in town screen when buying (800x600)
* updating blockmap/visitmap of randomized objects
* blocked "save" command during battle
* cannot select heroes for computer player (pregame)
* fixed mouse slow downs in pregame
2009-02-11 17:03:30 +00:00
Michał W. Urbańczyk
e1d6ff54d7 * morale/luck support in battles
* minor improvements/fixes
* updated changelog
More objects supported:
 *	Faerie Ring
 *	Swan Pond
 *	Idol of Fortune
 *	Fountain of Fortune
 *	Rally Flag
 *	Oasis
 *	Temple
 *	Watering Hole
 *	Fountain of Youth
2009-02-05 09:49:45 +00:00
Michał W. Urbańczyk
680993459a * started making morale/luck system
* basic calculation of hero/stack morale
* displaying morale in hero window
* redone checking if attack is possible (should fix some problems with attacking with 2-hex creatures, at least on server side)
* std::list serialization
* version set to 0.7b
2009-02-03 05:28:05 +00:00
Michał W. Urbańczyk
3d29c31deb * further fight with hanged scroll tab
* fixed r-click on FoW crash
* fixed crash on opening tavern window after load
* fixed recruiting new heroes after load
* fixed crash on loading map with spell scrolls
* fixed more crashes
* displpaying difficulty level of saved game
* added support for Library of Enlightenment
* added notification when saving is done
2009-02-01 14:11:41 +00:00
Michał W. Urbańczyk
f28c76984c Really fixed the evil bug. 2009-01-30 22:23:13 +00:00
Michał W. Urbańczyk
8868105fac * fixed the evil, strange bug [http://vcmi.antypika.aplus.pl/forum/viewtopic.php?t=93]
* fixed invisible hero problem reported by Steven Aus
* version bumped to 0.69
2009-01-30 21:28:02 +00:00
mateuszb
9ef5519f89 * fixed bug with displaying mass spells
* fixed defender projectile animation
* you don't have to select location for spells which don't need them
* fixed calculating stack speed when it's under slow spell effect
* changed some 17's into BFIELD_WIDTH
2009-01-16 17:58:41 +00:00
Michał W. Urbańczyk
b895fa35cb * saving and resuming games should work!
(loading from the main menu, saving using "save [NAME]" command)
2009-01-12 20:05:56 +00:00
Michał W. Urbańczyk
3474fdaf05 * save/load partially working
* Arena and Witch Hut support
* improved support for Resources
* minor fixes and changes
2009-01-10 22:08:18 +00:00
Michał W. Urbańczyk
847a4f222c Further serialization code and refactorings. 2009-01-06 18:42:20 +00:00
Michał W. Urbańczyk
4a8ae4ed9a * restored objects functionalities (hopefully working)
* new file in vcmi lib: IGameCallback.cpp
2008-12-27 01:01:59 +00:00
Michał W. Urbańczyk
ae48e73fe7 * fixed reading .defs
* new system for handling objects and their behaviors, most functionalities don't work now but will be restored soon
* more serialization code, savegame/loadgame bit closer :)
CHANGES IN PROJECT FILES:
* removed CLua.h and CLua.cpp (server)
* removed CScriptCallback.h and CScriptCallback.cpp (server)
* added IGameCallback.h header (lib)
2008-12-22 17:48:41 +00:00
Łukasz Wychrystenko
633b0007ba some warning & code cleanup - nothing significant 2008-12-21 19:17:35 +00:00
Michał W. Urbańczyk
c6bcd61aba * animation of water tiles
* minor changes
2008-11-30 00:15:38 +00:00
Michał W. Urbańczyk
333e1d9878 * started making support for save/load options 2008-11-16 01:06:15 +00:00
Michał W. Urbańczyk
bb5819f4df * support for Wait command (to be tested) 2008-11-15 15:26:08 +00:00
Michał W. Urbańczyk
f6807a2af9 * loading AI dll for neutrals
* hopefully fixed reported by Zamolxis garrison bugs
* fixed calculating hero level
* fixed gicing starting exp for heroes
2008-11-15 00:55:19 +00:00
Michał W. Urbańczyk
a1606b2fb3 * partial support for Haste spell
* started making external settings file (will be used for support for non 800x600 screen resolutions)
* minor changes
2008-11-08 22:29:19 +00:00
Michał W. Urbańczyk
3a66dc2b7c * added heroes pool for heroes available for hiring
* better handling disposed/predefined heroes
* blocked scrolling adventure map with mouse when left ctrl is pressed
* scholar will be accessible from the top
* partially done tavern and hero recruitment
* fixed bug with formation button in hero window
* unified hero initialization code
* minor changes

For 0.63c dev release
2008-10-26 20:58:34 +00:00
Michał W. Urbańczyk
2d01e00284 Added some kind of simple chatting functionality through console. Implemented several WoG cheats equivalents:
* woggaladriel -> vcmiainur 
* wogoliphaunt -> vcminoldor 
* wogshadowfax -> vcminahar 
* wogeyeofsauron -> vcmieagles 
* wogisengard -> vcmiformenos 
* wogsaruman -> vcmiistari 
* wogpathofthedead -> vcmiangband 

Minor changes.
2008-10-18 23:20:48 +00:00
Michał W. Urbańczyk
9d099e8c54 * blocked map scrolling where dialog window is opened
* it's possible in battles to check remeaining HP of neutral stacks
* function in CGameInterface called when spell is casted. Support for the Magic Arrow from engine side.
* heroes can regain mana
* support for mistycisim and intelligence skills
* fixed leak with creating frameratekeeper every turn
* minor improvements
2008-10-18 11:41:24 +00:00
Michał W. Urbańczyk
4af64f1b9f * fixed blocked shooter behavior
* slowed map scrolling
* minor
2008-10-11 13:14:52 +00:00
Michał W. Urbańczyk
89cb5cb81b * added calls for battle action start/end
* added interface for casting spells
* artifact info in backpack
* artifacts we pick up on the map go to the appropriate slot (if free)
2008-09-28 21:01:49 +00:00
Michał W. Urbańczyk
41acf5528c * spells in the guild visible again
* garrisons on adv. map again available from all directions
* working Subterranean Gates, Monoliths
* minor code reorganizations
2008-09-23 10:58:54 +00:00
Michał W. Urbańczyk
856698bd80 * fixes for MSVC (it needs to have global variables from library explicitly exported)
* renamed logging variables to tlogX ('_' in var names looks ugly)
* cleaned it improved setting formations
* fixed crashbug on maps with random hero
2008-09-19 08:16:19 +00:00
Vadim Glazunov
a1dd7f22f9 gcc fixes(bad idea to call global vars such as log2, this name used by math function). Colored log support on some non-win32 platforms. Small Automake project update 2008-09-18 20:24:53 +00:00
Michał W. Urbańczyk
70673674dc * setting army formation
* minor changes
2008-09-18 13:54:54 +00:00
Michał W. Urbańczyk
629d934810 * moved CConsoleHandler to lib (update project files)
* using winapi for better console handling with MSVC (I hope I didn't break anything at GCC)
* new logging system (use log0 - log5 for different priorities and colors (at msvc))
* using lists for storing activated interface objects
* more proper closing of server
2008-09-17 10:18:22 +00:00
Michał W. Urbańczyk
e71b40ccc5 * counterattacks
* spells learning
* no tooltips for objects under FoW
* working resource silo
* new system for simple unit abilities/states
* neutral monster army disappears when defeated
* synchronization between client and server processes
* fixed battle ending
2008-09-12 08:51:46 +00:00
Michał W. Urbańczyk
bca18a31c3 * fixed crashes when town is placed out of the map boundaries
* for screen is updated after buying creatures
* fixed crashbug on maps with random monster
* proper images of war machines are displayed in blacksmith
* picking starting hero should work again
* Ice Elemental will be treated as two-hex creature
* minor fixes
2008-08-29 21:41:32 +00:00
Michał W. Urbańczyk
7722d058f0 Fixed issues reported by Zamolxis:
* dismiss Hero works blocked in the castles
* the backpack scrollable arrows aren't available (yellow, clickable) even when backpack is empty.
* added missing info texts for buttons in hero window (and added functionality of enable tactic formations button)
* can select (single click) and enter castle (double click) from the map. Same for hero.
* Hero gets automatically selected after End Turn 
* Hero is automatically selected when exiting town
* In Garrison or Hero army: units are selected when we first click on them
Fixed (at least partially) also a problem with disappearing path
2008-08-28 17:36:34 +00:00
Michał W. Urbańczyk
6613955463 * hero placed in the town starts as visiting hero, not garrisoned
* if hero doesn't have a spell book, he can buy one in a mage guild
* improvements in closing
* fixed crash on picking artifact
* added event message when picking artifact
* fixed problems with disappearing pikemen
* InfoWindow will be properly centered
* hero portraits again visible in PreGame
* fixed problems with handling Pandora's Box
* support for Campfires
* minor changes
2008-08-25 10:25:16 +00:00
Michał W. Urbańczyk
0607ec70cf Support for Tree of knowledge and minor changes. 2008-08-22 12:21:09 +00:00
Michał W. Urbańczyk
1c7e3718a7 * swapping artifacts (needs testing)
* various improvements and fixes for interface
* put changelog into ChangeLog
2008-08-20 19:02:48 +00:00
Michał W. Urbańczyk
22ade5efbe * make compatible with boost 1.36.0 (there was breaking change in boost::function)
* randomizing spells in towns
* fixed reading forbidden structures
* support for heroes starting in town garrisons
* hopefully fixed problems with wrong town defs (village/fort/capitol)
* moved CSpellHandler.* to VCMI_Lib (project files must be updated)
* redone reading spell info
* added missing features to the fort screen
* minor improvements

* partially done mage guild screen
2008-08-20 06:57:53 +00:00
Vadim Glazunov
c94fbbf228 Changes to compile under gcc 2008-08-17 14:09:30 +00:00
Michał W. Urbańczyk
61e66fa89c * icon in infobox showing that there is hero in town garrison
* fort/citadel/castle screen
2008-08-17 09:11:16 +00:00
Michał W. Urbańczyk
346af53961 * showing creature amount in the CCreInfoWindow
* fixes and improvements in dismiss/upgrade dialogs
* possibility of moving hero into the garrison
* viewing hero window in the town screen
2008-08-16 08:47:41 +00:00
Michał W. Urbańczyk
52f6de2877 Fixed entering/leaving town. 2008-08-13 09:28:06 +00:00
Michał W. Urbańczyk
59b808f4e1 * removing objects (resources, chests, dismissing heroes) 2008-08-13 04:41:11 +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
6e02c1c5db * corrected typo in cr_shots
* recruiting creatures
2008-08-10 04:46:16 +00:00
Michał W. Urbańczyk
15ff21e84c Battles: attacking, shooting, killing. 2008-08-08 23:02:32 +00:00
Michał W. Urbańczyk
d8eb861117 Battles:
* showing ranges
* improvements in moving
* workaround for neutrals
2008-08-05 23:33:08 +00:00
Michał W. Urbańczyk
c7bb04235c * merged changes in pregame
* portrait initialziaton
* minor
2008-08-05 22:11:32 +00:00
Michał W. Urbańczyk
a5354271e2 * improvements in battle support - moving creatures work though there are small graphic glitches
* @neweagle - I've replaced in VCMI_Lib.h your #ifndef with #ifdef since you modification affected (and broke) compilation only on MSVC. Is it ok now?
2008-08-04 23:04:15 +00:00
Michał W. Urbańczyk
a15ffb06e6 * compiles under MSVC (haven't I broken anything on gcc?)
* half-done support for battles
2008-08-04 15:56:36 +00:00
Vadim Glazunov
6e737bbf3c Now netcode branch may be compiled with gcc. Sorry can't check build with MSVC 2008-08-04 09:05:52 +00:00
Michał W. Urbańczyk
dc82232e70 Hover text for heroes. 2008-08-02 10:25:58 +00:00
Michał W. Urbańczyk
1f4b4364df Dismissing heroes / minor. 2008-08-01 21:41:38 +00:00
Michał W. Urbańczyk
e5a064f36b Improved threa-safety, almost finished building structures in towns. 2008-08-01 11:21:15 +00:00
Michał W. Urbańczyk
5c5c80933b Made CreatureSet serializable and using creature id. Stack moving, swapping, merging, splitting. 2008-07-31 13:21:42 +00:00
Michał W. Urbańczyk
28d5c184a9 Mines and object visitable once per week working. 2008-07-31 10:35:22 +00:00
Michał W. Urbańczyk
03287540c7 Further code for objects (mines) - not finished. 2008-07-30 21:27:15 +00:00
Michał W. Urbańczyk
b4f383f196 Slowly recovering object scripts. 2008-07-30 17:51:19 +00:00
Michał W. Urbańczyk
3247a9a4dd Rewrote hero moving code. Seems to be working. 2008-07-28 12:44:08 +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
b3c5f19c0d Proper initialization of the first turn. 2008-07-26 13:57:32 +00:00
Michał W. Urbańczyk
b72d065265 Minor changes/cleanups. Adventure map is shown :) 2008-07-26 06:39:44 +00:00
Michał W. Urbańczyk
0c139e72f5 More changes for netcode/serialization
Removed not needed stuff
2008-07-25 17:28:28 +00:00