Ivan Savenko
77496bcea9
- fixed several cases of accessing full path to files in archives
2013-07-29 11:38:18 +00:00
Ivan Savenko
b87897096c
Filesystem handling is now more flexible
...
- removed CResourceLoader class in favor of one that implements resource loader interface
- removed global pool of files, in favour of more dynamic approach
- renamed some files to match current situation
All these changes are needed mostly for future mod manager + .zip support
2013-07-28 14:49:50 +00:00
Ivan Savenko
91cd88ba97
- compile fix for OSX
2013-07-11 20:10:17 +00:00
Ivan Savenko
4ac2a6e8b6
minor refactoring of VCMIDirs, bugfixing
...
- VCMIDirs represent XDG specification more closely (partial #1310 )
- Minor bugfixing, including #1327 #1328 and #1306
2013-07-08 20:55:22 +00:00
Michał W. Urbańczyk
a1f545792b
Compile fixes specific for VS 2012"
...
* Reverted std::bind to boost::bind. std::bind on Visual 2012 doesn't work in some cases (especially with std::ref), not sure why [but it seems to be a bug, since 2013 preview compiles the same code fine].
* Move assignment operator for VS 2012.
2013-07-02 15:23:32 +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
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
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
Ivan Savenko
6737c270c9
gcc 4.5 compatibility fixes. Mostly due to lack of fully finctional nullptr class
2013-06-19 21:26:27 +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
08b2af3ccb
- fixed "get txt" console command
...
- command "extract" to extract file by name
- command "def2bmp" to convert def into set of frames.
2013-06-10 17:02:37 +00:00
Michał W. Urbańczyk
fc6e72dc75
* Fixed enchantments ( #1265 ). Their effects were not properly added when reading config. Battle interface will be little less likely to block itself after corrupted spell cast.
...
* Fail gracefully when the file from which game is started is in invalid version.
* Bumped versions.
2013-05-19 15:14:23 +00:00
Michał W. Urbańczyk
be7c2bd07f
CGHeroInstance* can be serialized over network even when hero has been defeated. Strongly typed hero type ID introduced.
...
Should fix #1260 .
2013-05-18 22:30:48 +00:00
Ivan Savenko
8be801a6dc
- CMappedFileLoader class to remap WoG files to h3 names
...
- WoG should be optional, all remapped files are listed in WoG/config/wogFileOverrides.json
- fixed several cases of incorrect positioning of creatures in battles
- some missing sounds for battle effects
- negative luck support, disabled by default
- a bit hackish detection of WoG presence, VCMI should work on SoD-only installs
2013-05-04 13:14:23 +00:00
Ivan Savenko
3285f1910b
- finally, solution for imageIndex fields. All image lists will be generated in runtime
...
- iconIndex fields from json are no longer used
- simple check for missing icons on startup
2013-04-22 19:51:22 +00:00
Ivan Savenko
c6cc6e6301
Large changeset, first part of editing H3 objects via mods feature. Changes:
...
- loading of all objects (including H3 objects) will be directed by mod handlers
- common base for all handlers accessible from mod system (IHanderBase)
- json format changes: use struct with string ID's instead of vector
- fixed some gcc/clang errors and warnings
- fixed several cases of memory leaks and invalid memory access (mostly related to usage of bonus system and/or identifiers resolution)
Note that right now loading is much slower than before due to excessive json validation (or not fast enough validator)
2013-04-21 12:49:26 +00:00
Michał W. Urbańczyk
d1d67caa0b
Get rid of some old serialization workaround code that is not needed because serializer was improved in the meantime.
...
Fixing #1254 .
Fixed possible race causing corruption of the server savegame.
2013-04-20 18:44:55 +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
beegee1
c10266ed97
- Reduced complexity to use the CMapGenerator(simpler interface) - Removed h3m.txt and tchar_amigaos4.h
2013-04-14 18:52:05 +00:00
beegee1
f10ba48c77
- Fully integrated new logging API(ERM, Editor, missing parts) - Removed old logger
2013-04-11 15:58:01 +00:00
beegee1
6827fcdb53
- Integrated the logging API into the server project - Simplified CBasicLogConfigurator usage(exception handling, logging, log file appending)
2013-04-10 17:18:01 +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
c927913f5f
- Improved json validation. Now it support most of features from latest json schema draft
...
- Set of schemas in config/schemas directory that are used to validate input from mods.
2013-04-02 17:06:43 +00:00
Ivan Savenko
5082dafd62
- h3 hero classes and artifacts can be modified via json
...
- commander artifacts are now merged into main artifacts.json, todo - split 2.5k file into something manageable
2013-03-12 14:56:23 +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
Michał W. Urbańczyk
8c7c4789ca
Attempt to apply patch from stopiccot.
2013-03-01 21:32:26 +00:00
Ivan Savenko
74ac44662c
- a bit less memory usage during compilation with gcc, new file - RegisterTypes.cpp
...
- fixed several issues related to visiting town by ally
- fixed #1215
2013-02-23 12:22:23 +00:00
mateuszb
bda766b697
* refactoring
2013-02-12 19:49:40 +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
Ivan Savenko
56ffd05648
patch from stoppicot:
...
1. vcmiclient now usese custom Info.plist
2. Original H3 game data is now also stored in Application Support folder
2013-02-06 15:39:34 +00:00
Michał W. Urbańczyk
17755caa10
* fixed #1199
...
* fixed advancing between misisons in campaigns
2013-02-05 20:06:13 +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
Michał W. Urbańczyk
5b919d88eb
"More stable" opening AI.
2013-01-20 12:06:49 +00:00
Ivan Savenko
62e99a1ae5
- basic loading screen, no progress bar
...
- startGame() call will run in separate thread if loading screen is used (looks OK so far)
2012-12-17 18:01:17 +00:00
Ivan Savenko
423a226e31
OS X patch from stopiccot
2012-12-15 07:24:25 +00:00
Ivan Savenko
04358ed0c6
multiple changes in config system, breaks existing mods. See upcoming post on forums.
...
- filesystem initialization works in conjuction with modHandler
- (config) split buildings.json in multiple files in "factions" directory
- (mods) merged filesystem.json and config/mod.json into mod.json
2012-12-12 11:13:57 +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
Ivan Savenko
2643762f08
Mac OS patch from stopiccot
2012-12-01 06:30:52 +00:00
Ivan Savenko
f7915d9e61
- removed creature-related code from ModHandler
...
- new towns can be loaded as mods
- removed separate DefInfos for towns\capitals
- a bit simpler handling of adventure map def's
2012-11-13 11:52:23 +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
mateuszb
18bd898cb1
* fixed bug when starting certain maps in campaigns
...
* introduced TPlayerColor typedef
2012-09-24 16:14:53 +00:00
DjWarmonger
e2bfd53c98
- Fixed some issues and crashes
...
- Simplified projectile handling. New creatures can now shoot.
2012-09-21 19:49:35 +00:00
mateuszb
8e3de98059
* restoring campaign features
...
* minor improvements
2012-09-21 17:59:54 +00:00
mateuszb
4010978a91
* a bit of work on campaigns
2012-09-19 17:41:22 +00:00
mateuszb
fb2f19b4c5
* some work on campaigns
2012-09-18 17:47:52 +00:00