1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-20 20:23:03 +02:00
Commit Graph

170 Commits

Author SHA1 Message Date
beegee1
b9b25ef552 - Fixed mantis #1422 (starting another scenario crashes VCMI for now)
- Refactoring
2013-12-16 18:39:56 +00:00
beegee1
41e274b4aa - Moved FunctionList from /client to /lib -> used in client and server
- Updated project files
2013-11-30 10:08:38 +00:00
beegee1
c786a3076a - Refactored victory loss condition checks
- Added toString() method to EVictoryLossCheckResult enum class to improve debugging
- Removed mostly unused CFunctionList2
- Added missing header files for vcmiclient project to CMakeLists
- Tweaked SDL suggests bpp message a bit
- Added showInfoDialogAndWait (info dialog and waits, used from client thread) and showOkDialog (callback to ok click, used from GUI thread) to player interface
- Added showOkDialog method to CInfoWindow (unused for now, but may be used later)
2013-11-30 09:43:31 +00:00
beegee1
3e4407593f - Refactoring for checking victory/loss conditions (use enum class instead of magic numbers)
- Improved showing player lost message for one special case
2013-11-17 17:57:04 +00:00
Michał W. Urbańczyk
d4a8e90460 Fixed #1448, #1470 2013-09-14 19:09:35 +00:00
Ivan Savenko
f82122d9be second part of c++11 update. gcc 4.5 and VS 2010 are no longer supported
- BOOST_FOREACH -> for
- replaced several boost classes with std (e.g. unordered)
- removed gcc-4.5 workarounds
- ran clang c++11 migration tool to detect some cases:
- - pointer initialized with "0" to nullptr
- - replace for with iterators with range-based for
- - use auto in some situations (type name specified twice, avoid long iterators type names)
2013-06-29 13:05:48 +00:00
Ivan Savenko
2b45e13c5c c++03 -> c++11 switch:
- use std versions of function, bind and ref
- OVERRIDE -> override
- NULL -> nullptr
- use std versions of random distributions

NOTE: this may be last revision that supports gcc-4.5
2013-06-26 11:18:27 +00:00
Michał W. Urbańczyk
04d11519ef Quick Combat system setting works… if user doesn't click in the meantime. 2013-06-23 11:25:48 +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
79026bdfde Introduced strongly typed QueryID.
Exchange between heroes is now a proper first-class query. Fixes #1269. #66 should also be finally fully fixed.
VC projects: /Zm flag to fix compilation issues with recent Boost.
2013-05-27 10:53:28 +00:00
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
30bcec42c6 - Renamed client/BattleInterface to client/battle and client/UIFramework to client/gui 2013-04-07 11:52:07 +00:00
mateuszb
dbec99ffc7 * PlayerColor and TeamID refactoring 2013-03-03 17:06:03 +00:00
mateuszb
9e00090c42 * refactoring, a few intriguing problems remain 2013-02-13 23:55:42 +00:00
mateuszb
bda766b697 * refactoring 2013-02-12 19:49:40 +00:00
mateuszb
8a8eecd063 * refactoring 2013-02-11 19:11:34 +00:00
Michał W. Urbańczyk
17755caa10 * fixed #1199
* fixed advancing between misisons in campaigns
2013-02-05 20:06:13 +00:00
mateuszb
25663ce7af * fixed vector<bool> serialization
* refactoring
2013-02-04 19:43:16 +00:00
Michał W. Urbańczyk
fa3d32925e A patch from Gernsworth that fixes #166. CGStatusBar is extended to support alignment, old CStatusBar class is removed. 2012-12-22 20:05:08 +00:00
Ivan Savenko
e3231db1c9 - primaryResource and warMachine now use string ID
- fixed long delays on moving units in garrisons
- fixed bug on loading available spells from map
- removed unused bigImgs from Graphics
2012-12-11 12:12:46 +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
alexvins
369f0ae9c6 [PLATFORM] MinGW support added
* disabled features unsupported by MinGW
* fixed issues with DLL_LINKAGE
! BOOST_THREAD_VERSION in now 3 workaround for existing code added, consider refactoring.
* some small tweaks ("-fpedantic" warnings)
2012-09-15 19:16:16 +00:00
Michał W. Urbańczyk
96a92d0f45 * fixed remaining part of #1071 — the screen surface has always to be created in the main thread
* hold events in the queue by value (less ptr jugglery)
2012-09-11 14:25:19 +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
12511d8fee First part of new Quest Log, including common quest interface. 2012-07-06 19:12:04 +00:00
Ivan Savenko
9d2711fb51 - rewrote most of classes from adventure map window
-- new files: client/AdventureMapClasses.*
-- implemented all missing details from infobox
- textinput can handle numbers as input
- fixed several bugs caused by CIntObject changes
- fixed #988
2012-06-13 13:04:06 +00:00
Ivan Savenko
45c2809a40 - pregame will use same resolution as main game
- disabled most of now unused code for changing resolution
- added missing spell effect sounds
- adventure map spells sounds
- remaining fixes for big endian systems
2012-05-18 17:35:46 +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
DjWarmonger
416c08260a - Basic Commander window
- First part of unified quests interface

This graphics package is needed:
http://forum.vcmi.eu/viewtopic.php?p=6943#6943
2012-05-16 17:29:05 +00:00
Michał W. Urbańczyk
5449546447 Advanced work on support for Quicksand and Land Mine spells. 2012-05-04 21:16:39 +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
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
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
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
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
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
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
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
DjWarmonger
0903d6037c New pack - BattleEffectTrigger for various one-shot effects with animation 2011-10-08 13:02:58 +00:00
yupsi
583aca8912 Move hero/Next hero buttons being blocked when they should (#204) 2011-10-04 19:43:49 +00:00
Frank Zago
01566fcde1 Patch from Yupsi. Hero sleep/wake-up. Fixes #162 and #601. 2011-09-24 16:46:23 +00:00
Frank Zago
c4b8039c1e Added a missing rturn in CGameHandler::isAllowedExchangeForQuery. Fixed several typos. 2011-09-24 01:15:36 +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
3152e6d540 Fixed #771, #772 and #787.
Some minor changes and fixes.
2011-08-25 15:24:37 +00:00
beegee1
f609c4ad9a * Fixed #33 -> Creatures tend to stop at every hex during movement 2011-08-01 17:36:18 +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
af8d8cbfc7 Implemented #479 2011-06-21 12:45:57 +00:00
Michał W. Urbańczyk
b4144dc616 Callback jugglery, part 1.
Fixed #252.
2011-05-03 03:14:18 +00:00
Michał W. Urbańczyk
b5a546349b Moved framerate keeper from CPlayerInterface to CGuiHandler, thing should be running smoother. 2011-04-03 10:45:39 +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
0482195489 * bug 652 fixed 2011-02-24 13:14:52 +00:00
mateuszb
b4edd10e6c * beegee's comments patch
* very minor changes
2011-02-22 11:52:36 +00:00
Michał W. Urbańczyk
3fde9e45df Partially redone combined artifacts. 2011-01-22 03:43:20 +00:00
mateuszb
2451c0dea6 * a bit better stack reversing
* FoWChange uses unordered_set instead of set
2011-01-20 17:25:15 +00:00
Michał W. Urbańczyk
401b364ad7 Partially functional artifact screen.
[TBD compound artifacts, backpack arranging, "live" modifying values, many details]
2011-01-06 20:00:19 +00:00
mateuszb
6383c9a013 * more extensive usage of CStack pointers instead of stack IDs 2010-12-24 21:44:48 +00:00
mateuszb
4929cf9782 * enum for secondary skills
* THex for battle positions
* towards removal of battleGetStackByID

TODO:
investigate the necessity of putting implementation of BattleAction CGlobalAI::activeStack( const CStack * stack ) in CGeniusAI.cpp
2010-12-23 20:18:10 +00:00
Michał W. Urbańczyk
2fe8b07f4f Little more development for duel mode. 2010-12-23 00:33:48 +00:00
Michał W. Urbańczyk
e301256f92 Adjusted player interface to new set of stack operations.
Const transitive ptr.
2010-12-14 21:55:23 +00:00
mateuszb
6f56b5bb30 * a few more consts 2010-12-04 19:44:23 +00:00
mateuszb
efedb1a55a * minor cleanup 2010-12-04 19:15:20 +00:00
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
mateuszb
d681afe1c1 Changes towards campaign support. 2010-08-20 13:34:39 +00:00
Michał W. Urbańczyk
4aa60cd40e Minor changes. 2010-08-18 09:50:25 +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
Ivan Savenko
215dc95acb - implemented Hill Fort (minor issue - you can do ANY upgrades, including archers to sharpshooters without Gelu and so on)
- fixed some g++ errors in macroses
- minor tweaks
2010-07-22 00:32:45 +00:00
Michał W. Urbańczyk
931949e349 A bunch of spellbook-related fixes: #91, #454, #462, #526, #527, #536 2010-07-21 10:09:29 +00:00
Ivan Savenko
5dc444cd2b - University is finally implemented, both town and map objects 2010-07-20 14:08:13 +00:00
Michał W. Urbańczyk
88e1636250 Fixed #15, #224, #370, #516
Minor changes.
2010-07-13 05:25:40 +00:00
Michał W. Urbańczyk
1e30045541 Support for Tavern on adv map. 2010-07-08 23:03:27 +00:00
Michał W. Urbańczyk
21a05d73cb Black Market and Artifact Merchant (only buying artifacts) support. 2010-06-27 16:03:01 +00:00
Michał W. Urbańczyk
3111a904ae Several minor fixes. 2010-05-26 21:59:58 +00:00
Michał W. Urbańczyk
1002bd2b4f Trading Post handling. 2010-05-18 07:01:54 +00:00
mateuszb
71b73bad53 * mostly working hero flying and water walking; support for artifacts:
- Angel's Wings
- Boots of levitation
and spells
- fly
- water walk
2010-05-16 13:42:19 +00:00
Michał W. Urbańczyk
bb80d4bc02 * support for build grail victory condition
* improved formula for necromancy to match better OH3
* Support for new town structures:
- Lighthouse
- Colossus
- Guardian Spirit
- Necromancy Amplifier
- Soul Prison
2010-05-14 02:18:37 +00:00
mateuszb
dbbbaa1e18 * life drain implemented
* fixed #134
* fixed damage calculation formula
2010-05-07 12:29:41 +00:00
Michał W. Urbańczyk
a14606f32d New bonus system. Unified HeroBonus and StackFeature. Still early version, will need improvements and development.
If you encounter any new crashes / bugs / unacceptable slowdowns, please PM me.
2010-05-02 18:20:26 +00:00
Michał W. Urbańczyk
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
OnionKnight
ad3371b4c0 It's now possible to assemble and disassemble artifacts.
There is some strange behavior when right-clicking on the artifact screen outside the slots though, all slots then get  right-click handling and display the assembly dialog for whatever it finds.
2010-02-27 01:05:39 +00:00
Michał W. Urbańczyk
9588e39e84 To be released as 0.75d. Fixed town list with hotseat. Fixed colouring hero window. Minor fixes. 2010-02-26 11:18:09 +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
mateuszb
d53e4d7c1a * (hopefully) fixed battle interface in hotseat mode
* fixed a bug when defending player (human) attacks in battle with two-hex unit from top-right or bottom-right direction
2010-02-19 16:02:34 +00:00
Michał W. Urbańczyk
49b99f470f More hot-seat GUI in pregame. 2010-02-15 11:37:47 +00:00
Michał W. Urbańczyk
0fdbe787dc * New file: lib/HeroBonus.cpp - updated project files for MSVC
* Updated changelog
* Support for Lighthosues and Obelisks
* Bonus system extended on players 
* Army speed won't affect movement points when sailing
* Picking grail position (digging not implemented though, puzzle map only partially)
* Minor improvements
2010-02-10 02:56:00 +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
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
6c4b4f21bc * Implemented rivers animation. Thanks to GrayFace for giving range of colors in palette to be shifted.
* Hopefully fixed all issues with bliwWithRotate functions family. If there are any artefacts on terrain drawing, let me know.
* Fixed drawing of objects shadows.
2009-12-22 21:53:50 +00:00
Michał W. Urbańczyk
85f336cbaa Fixed #158, #236, #243, #248.
Fixed crash on catapult shot.
2009-11-29 02:46:30 +00:00
Frank Zago
6b5feb63e6 Implemented "main menu" in-game option. 2009-11-01 01:15:16 +00:00
Michał W. Urbańczyk
307c20e7dc * fixed crash on clicking on the map frame
* battle settings will be stored
* fixed calculating battle casualties
* fixed crash when clicking on enemy stack without moving mouse when we receive action
* fixed issue when splitting stack to the hero with only one creatures
2009-09-24 13:23:52 +00:00
OnionKnight
3d2ab9c753 * Garrison dialogs for garrisons. Required a bit restructuring of the code to take removable units into account. All showGarrisonDialog methods and the GarrisonDialog struct now takes it as a parameter. Visiting ally towns would benefit from this other than garrisons.
* Garrison right-click information shown, but not taking detailed info into account.
* Town info dialogs centered around cursor.
2009-09-09 17:49:03 +00:00
Michał W. Urbańczyk
956a87f264 * redone stack queue algorithm
* recalculating paths only after finished movement / switching selection
* moving hero uses "new" pathfinder
* moving hero by arrow keys / numpad
* VCMI window should start centered
* fixed pairing Subterranean Gates
* fixed issues with creatures sounds after loading
* several minor changes and improvements
2009-09-07 02:29:44 +00:00
mateuszb
05b0d82769 * next part of sieges 2009-09-05 14:10:26 +00:00
mateuszb
d25a5a795e * next part of sieges 2009-09-01 13:54:13 +00:00