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

208 Commits

Author SHA1 Message Date
ArseniyShestakov
2f305cc68d Remove code related to duel mode (#312)
Remove code related to duel mode
2017-07-01 16:30:13 +03:00
Arseniy Shestakov
18161d3688 Client: implement spectator mode via command-line options
If running with --spectate/-s CPlayerInterface will appear even without human players.
Following command-line options also available:
 --spectate-ignore-hero
 --spectate-hero-speed=N
 --spectate-battle-speed=N
 --spectate-skip-battle
 --spectate-skip-battle-result
Boolean options can also be changed in runtime via client console:
 set spectate-ignore-hero on / off
Spectator mode also:
 - Work with --onlyAI option when starting game or loading saves.
 - Allow to use any cheat codes.
 - Give recon on towns and heroes.
2017-06-06 07:30:16 +03:00
AlexVinS
c0ed22c99e Fixed CID 1366398. 2016-11-27 22:14:41 +03:00
AlexVinS
86e33a4c45 [Refactoring] Unified SetResources NetPack API. 2016-11-26 15:14:43 +03:00
Ivan Savenko
5b76c3f4eb Rebase of codebase changes for refactored serializer
Some of newer fixes not yet merged there and save compatibility a bit off.
2016-10-27 18:12:20 +03:00
AlexVinS
523e33a5e5 cleanup 2016-10-16 03:41:43 +03:00
AlexVinS
e4816c0639 cleanup 2016-10-16 03:14:59 +03:00
AlexVinS
1c9dd41188 Removed unused STOP_CLIENT SDL event 2016-08-30 03:54:46 +03:00
Arseniy Shestakov
c5cfc8467f Battles: change naming from drawbridge to gate for everything
This way code is shorter and cleaner while in future we may support towns with gate only.
2016-02-13 17:40:31 +03:00
Arseniy Shestakov
422d5cabdf CBattleInterface: first pass on client drawbridge visualization 2016-02-10 07:10:32 +03:00
Vadim Markovtsev
9ffd0155e6 Fix 1810 suggest artifact assembly 2016-01-23 16:24:43 +03:00
Vadim Markovtsev
a266154b26 Fix 2014 cursor must disappear during movement and Magi's Eye 2016-01-23 00:35:41 +03:00
Arseniy Shestakov
9fd1cff090 Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared
Long time ago it's was used without prefix to make future switch from boost to std version easier.
I discusses this with Ivan and decide to drop these using from Global.h now.

This change wouldn't break anything because there was already code with prefix for each of three cases.
2015-12-29 05:43:33 +03:00
ArseniyShestakov
0a5e9c0fbe Merge pull request #144 from vcmi/fix/teleportMultiExitPoints
Support for exit selection between multiple teleport exit points
2015-12-05 03:12:17 +03:00
Ivan Savenko
7b5a7f43ad Removed includes of CGameState from headers 2015-12-02 21:39:53 +02:00
ArseniyShestakov
b5100bee94 Teleport: rework code to support exit point selection for whirlpools 2015-12-02 17:56:26 +03:00
Vadim Markovtsev
e4b1ef1405 Add "override" to virtual overriden methods 2015-10-13 21:05:36 +03:00
AlexVinS
cc669b0ae7 Move gui locking to GUIHandler 2015-06-22 21:53:47 +03:00
AlexVinS
f81116e04d Fix mantiss #2208 2015-06-21 20:30:19 +03:00
DjWarmonger
ec879046ca Merge pull request #93 from ArseniyShestakov/feature/pathfindingTeleports
Okay let's do this!
2015-03-10 09:04:25 +01:00
ArseniyShestakov
5233b60243 CPlayerInterface: all new code for automatic teleport usage 2015-03-08 17:17:24 +03:00
ArseniyShestakov
25656aa586 Add showTeleportDialog everywhere except actual code for AI and player
Just like TeleportDialog it's based off showBlockingDialog, but as number of package is higher when possible showTeleportDialog will be after other dialogs handling code.
2015-03-08 16:52:50 +03:00
AlexVinS
f4c683cd5e Move VievXXX logic to server side (except expert ViewEarth) 2015-02-26 17:15:17 +03:00
AlexVinS
c46999bcb8 Conurrency related tweaks. Crashes in renderFrame should be fixed, but synchronization is still not perfect 2015-02-15 04:53:01 +03:00
Fay
4b248c2762 World view impl -- initial; 2015-01-13 20:57:41 +01:00
AlexVinS
3bca68fd2d Initial refactoring
* reduce registerTypes* templtates instantiation
2014-12-21 17:29:42 +03:00
Ivan Savenko
6c0c03d74b Refactoing of pathfinder <-> client/AI interaction to remove dependency on selected hero
- finished removal of server-side setSelection
- disabled some broken code (AI & cheats). TODO: fix
2014-09-21 16:42:08 +03:00
Ivan Savenko
78709e223b Breaking things - trying to remove server-side knowledge of selected objects 2014-09-19 00:18:49 +03:00
DjWarmonger
ec8476d43a Compile fixes for Visual. 2014-09-05 20:13:58 +02:00
Ivan Savenko
b1285bc506 Merged GUI refactoring into develop, fixed conflicts 2014-08-09 15:01:55 +03:00
beegee1
5139378319 - migrated boost::function/ref/bind to std:: variants 2014-08-04 20:33:59 +02:00
Ivan Savenko
10fc1892a8 Large refactoring of button classes:
- renamed CAdventureMapButton to more expectable CButton
- merged CButtonBase into CButton
- created more generic class for clickable elements
- created more generic class for selectable elements
- renamed CHighlightableButton to CToggleButton
- renamed CHighlightableButtonsGrous to CToggleGroup
- minimized differences between API of all these classes
- removed all but one contructors in buttons, with same parameters across all classes
2014-08-03 14:16:19 +03:00
Ivan Savenko
731aedf3a1 Split CIntObjectClasses into multiple smaller files. This should be the last change in files 2014-07-15 10:14:49 +03:00
AlexVinS
74d3effa98 More safe way of update locking 2014-07-03 22:30:56 +04:00
AlexVinS
9b8ad51cd3 Run all rendering with pim lock if possible 2014-07-03 22:05:59 +04:00
AlexVinS
4e4ba6654c fix Eye of magi, also fix #1608
Conflicts:
	lib/CObjectHandler.cpp
2014-06-24 18:20:28 +04:00
AlexVinS
13bd4ddcb2 Now movement can be canceled
(-) rendering still missing
2014-06-21 10:49:27 +04:00
AlexVinS
5fa5ba622f Start preparation for moveHero threaded implementation 2014-06-18 14:31:11 +04:00
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