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

167 Commits

Author SHA1 Message Date
Ivan Savenko
78709e223b Breaking things - trying to remove server-side knowledge of selected objects 2014-09-19 00:18:49 +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
Ivan Savenko
a0689fa377 Refactoring of hoverText from objects:
- removed hoverText field
- split getHoverText() method into 3:
- - getObjectName() for generic name
- - getHoverText(Player) for player-specific text
- - getHoverText(Hero) for hero-specific strings
2014-06-24 20:39:47 +03:00
Ivan Savenko
ad632d1e8a Moved FoW management from CGObjectInstance to callback 2014-06-24 20:39:47 +03: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
17403b544c Various fixes for quick combat.
Replaced several boost::bind usages with lambdas.
2013-06-23 16:09:15 +00:00
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
2be2143844 Game interfaces can register another interfaces to receive info on game events. 2013-06-22 18:22:44 +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
f95e6c233b It is possible to set on visit query that object is to be removed after visit is over.
Fixes #1263.
2013-05-14 13:42:52 +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
Michał W. Urbańczyk
e8354908c3 Big change: Introduced new mechanism to handle queries. It should not cause any visible changes ATM apart from fixing several long-standing bugs realted to handling post-visit/battle/levelup callback, including infamous creature bank issues: #955, #1053, #1063, #1191. Needs testing.
Minor changes:
* default log level set to trace
* LOG_TRACE raii guardian lifetime will last till the end of block
* compile fixes
* minor refactorings
2013-04-20 11:34:01 +00:00
mateuszb
dbec99ffc7 * PlayerColor and TeamID refactoring 2013-03-03 17:06:03 +00:00
mateuszb
602827d1ae * MSVC compilation fixes
* campaign epilogues and minor fixes
2013-02-23 19:16:14 +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
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
86dc9386d6 * refactoring, including a generic solution for IDs 2013-02-10 23:24:57 +00:00
mateuszb
0003d30991 * refactoring 2013-02-08 22:42:46 +00:00
mateuszb
9dd60b6dbe * refactoring
* moat damage went to config file
2013-02-08 21:17:39 +00:00
mateuszb
af5287c193 * fixed opening custom campaign selection window
* artifact positions refactored
* vstd::advance allows moving between enum values
2013-02-06 23:24:43 +00:00
mateuszb
25663ce7af * fixed vector<bool> serialization
* refactoring
2013-02-04 19:43:16 +00:00
mateuszb
8769f67c5d * JsonReader can convert to enums
* refactoring
2013-02-03 21:05:44 +00:00
mateuszb
8e3de98059 * restoring campaign features
* minor improvements
2012-09-21 17:59:54 +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
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
13f26fc3cb * Client is able to await for answers for multiple queries at the same time
* Hackish solution allowing AI undertaking actions from event-handling thread
* Fixed crash when death stare or acid breath activated on stack that was just killed
* minor fixes
2012-03-25 22:46:14 +00:00
DjWarmonger
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
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
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
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
Michał W. Urbańczyk
6b9e64de91 Lazy updates of hero paths. 2011-09-03 02:54:33 +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
3152e6d540 Fixed #771, #772 and #787.
Some minor changes and fixes.
2011-08-25 15:24:37 +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
212bc13ad6 Fixed #755 and #759. 2011-06-25 14:22:19 +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
3ca95ef5ed Fixed #730:
* crash on +5 growth week 
* crash on spawning wandering creatures on double growth months
(how come that has not been found in previous build?)

More logging for #729-like issues.
2011-05-28 01:02:28 +00:00
mateuszb
94166b83aa * some changes 2011-05-22 18:46:52 +00:00
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
mateuszb
b4edd10e6c * beegee's comments patch
* very minor changes
2011-02-22 11:52:36 +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
471c23ba71 Compile fixes, more work on new artifact system. 2010-12-26 14:34:11 +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
Michał W. Urbańczyk
f7f917845c Merged changes from trunk ( r1885 ) 2010-12-14 18:08:21 +00:00
mateuszb
3989afd153 * more const-correct interface 2010-12-13 20:16:18 +00:00
Michał W. Urbańczyk
02e4ef507e Stacks #5: giving creatures, practically finished (many fixes needed). 2010-12-12 23:44:16 +00:00
Michał W. Urbańczyk
fc6d6e02a3 More fixes for stacks, some basic macro-based logging for bonus graph operations. 2010-12-11 23:11:26 +00:00
Michał W. Urbańczyk
69b97e0a51 Little more changes. 2010-12-09 23:10:28 +00:00
Michał W. Urbańczyk
fdb541d81e Stacks #3 -> towards new system of stack operations. 2010-11-27 20:17:28 +00:00
Michał W. Urbańczyk
7c3f3d20c3 Stacks #2 -> towards new system of stack operations. 2010-11-27 01:46:19 +00:00
Michał W. Urbańczyk
32ce20af15 Moving stack system to pointers, part #1 2010-11-22 00:34:46 +00:00
DjWarmonger
310a36c8d1 Fixed 313 & 314 :) 2010-11-15 12:51:53 +00:00
Michał W. Urbańczyk
bce805dacc Restored Warmonger's changes to artifacts system.
They will be subject of my further work, along with next part of bonus system.
2010-11-10 00:06:25 +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
6cadd47f0d Fixes for artifact system - instances are serialized and synchronized. However, still some serializer issue prevents Scroll from working. 2010-10-09 18:38:32 +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
DjWarmonger
0f314e106c Artifacts will now be handled by pointers.
Assembling & disassembling combos may be buggy, but it's already been before.
2010-10-03 07:07:53 +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
DjWarmonger
6c3ad7fcae Fixed #565. Creature components will not get description if they quantity is set to zero. 2010-08-17 15:50:17 +00:00
Michał W. Urbańczyk
8487653a8e Sacrificing artifacts. [Code is one giant workaround but should work good enough.] Updated changelog. 2010-07-23 12:02:15 +00:00
Michał W. Urbańczyk
ad841f7fea Implemented Summon Boat spell. 2010-03-10 23:16:30 +00:00
Michał W. Urbańczyk
e6f31b7500 Compilation fixes for VC10.
Changes towards hot-seat support.
2010-02-20 13:24:38 +00:00
DjWarmonger
53365af90e Last part of Seer Hut & Quest Guard code:
1.Required artifacts & army are now taken on completion.
2.Hoover tooltip.
3.Fixed bugs.
2010-02-07 16:05:27 +00:00
mateuszb
5fbde49bfb * another part of thieves' guild
* den of thieves
2010-02-06 13:49:14 +00:00
DjWarmonger
ce00ceaf08 Next part of Seer Hut code, including large number of Components, packs and help functions.
Mapa now contains separate vector of monsters to avoid linear search trough all objects.
2010-02-02 17:05:03 +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
Frank Zago
6b5feb63e6 Implemented "main menu" in-game option. 2009-11-01 01:15:16 +00:00
mateuszb
e9c991a180 * compilation fixes (I didn't test everything, I hope it works) 2009-09-23 12:05:33 +00:00
DjWarmonger
91b4212c5f Support for Magic Spring
Optimized Pandora Box
2009-09-22 16:12:33 +00:00
Michał W. Urbańczyk
efb1049860 * fixed crashes with paths when fastly switching heroes
* fixed and improved slider behavior
* fixed possible thread access conflicts
* support for attacking town with visiting hero
* fixed dwellings saving
* minor improvements
2009-09-12 22:17:23 +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
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
66dd31fd8a * attacking and capturing towns
* r-click popups on selected town/hero.bonus and teams in pregame
* disabled music due to bugs in SDL_mixer and smpeg (probably it was the source of reported random crashes / hangups)
* minor fixes
2009-08-22 13:59:15 +00:00
mateuszb
e892913635 * support for battles in creature banks (hopefully) 2009-08-17 10:47:08 +00:00
DjWarmonger
fbc117b034 1.Pandora and Event now give experience correctly
2.Better, but not complete handling for big exp values
2009-08-17 10:02:29 +00:00
DjWarmonger
dd91e7e406 1. Support for Pandora Box
2. Improved functions handling experience. Now it works with values over 65K, but still didn't with event giving 99M exp
I have no idea what it has to do with AI though
2009-08-16 15:39:18 +00:00
DjWarmonger
4653396d76 1.Support for Keymaster Tent & Borderguard, Eye & Hut of The Magi, Stables.
2.Partially done support for creature banks. ToDo: load config file, start battle with surrounding enemies
3.Attempt to increase hero exp capacity. You may ignore it at the moment.
4.Fixed negative countdown in timeHandler.
2009-08-11 07:50:29 +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
9206a13390 Fixed fighting guardians of Dwellings (and other objs as well).
Most of creature generators should work fine.
2009-07-20 23:34:06 +00:00
mateuszb
8231a6e6cc * first part of exchange window
* minor changes
2009-06-16 11:18:14 +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
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
f9aebcc4bd * Started making support for garrison window. Leaving guardians in flagged mines. 2009-04-12 00:58:41 +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
6ce9a253a4 * support for Redwood Observatory
* support for Shrine of Magic Incantation / Gesture / Thought
* minor improvements
2009-03-14 11:25:25 +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
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