1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-24 08:32:34 +02:00
Commit Graph

1767 Commits

Author SHA1 Message Date
beegee1
a13d72b636 - Fixed GCC warning
- Small refactoring
- Added RPM spec to SVN again (it's better to keep it there :) )
2013-08-19 18:20:11 +00:00
Ivan Savenko
5654fef901 - ZipArchive namespace for operations with zip archives, located in CZipLoader.h/cpp.
- new fields in mod format, for use with mod manager (check config/shemas/mod.json for details)
- removed some 0.92 compatibility from mods loading
- several compile fixes
2013-08-19 11:50:53 +00:00
Michał W. Urbańczyk
3b42cff3ec #1409 should not crash anymore.
Fixed crash on serializing empty path. [How did it got there...?]
operator<< for boost::optional.
2013-08-18 15:46:28 +00:00
Michał W. Urbańczyk
2e92bfb617 Added missing property sheets to RD|Win32 configuration. 2013-08-18 11:44:14 +00:00
beegee1
1ac328635a - Added handler classes CRmgTemplateStorage and CTerrainViewPatternConfig to LibClasses
- Re-organized CMapGenerator
- Created CZone and CTemplate objects in the heap and used pointers
- Added stub classes CZoneGraphGenerator and CZonePlacer (include warnings of unused variables, please ignore them)
- Fixed CRandomGenerator bug that always the same number was produced
- Better structure of Visual Studio project files with using filters
- Updated project files (VS, CMake)
- Excluded compiler warning mismatched-tags (false positive)
- Fixed a bug when compiling with unit tests enabled
2013-08-17 12:46:48 +00:00
Ivan Savenko
45c2bd7511 hopefully fixes #1397. Still too much magic in this code :( 2013-08-09 17:37:41 +00:00
Ivan Savenko
8beee29482 - corrected "isToReverse" check, partially fixes 1397
- ballistics fix
- minor
2013-08-06 15:25:51 +00:00
Ivan Savenko
c81a31c74a - catapult attacks should be identical to H3
- catapult may miss and attack another part of wall instead (this is how it works in H3)
- minor fixes
2013-08-06 11:20:28 +00:00
DjWarmonger
e2de926aec Fixed #1330. 2013-08-02 08:33:56 +00:00
Michał W. Urbańczyk
be3da8fcf8 Unique macro for minizip exports. Define to nothing on non-msvc. 2013-08-01 22:37:08 +00:00
Michał W. Urbańczyk
91a1f0eae5 Proejct file for minizip library, fixes compilation issues. 2013-08-01 09:55:57 +00:00
Ivan Savenko
b57b14b752 - fixed several bugs with siege graphics, including #1389
- removed "shooterHeight" property - seems to be same in all towns.
2013-07-31 22:24:44 +00:00
DjWarmonger
0c45fb95d4 Fixed crash when aiming with Archangels. 2013-07-31 17:47:31 +00:00
DjWarmonger
937effb649 More or less working project for Visual Studio. 2013-07-31 14:08:18 +00:00
Ivan Savenko
ee09c5301e minor fixes:
- vcmi can play music files from archives
- converted resource_reward fields in bank_config into json object, fixes 3000 gems reward in shipwreck
- some compile fixes for minizip
2013-07-31 11:36:42 +00:00
Ivan Savenko
1d9139303a introduced zip support into vcmi
- minizip library is now part of sources, located at lib/minizip
- cmakefiles will compile minizip as dynamic library (Note: only 2 files used by vcmi are included in minizip.so)
- zip files can be loaded similar to other archives via filesystem.json
- mods can use Content.zip instead of Content/ directory. Files in directory will replace files in archive.
2013-07-30 15:02:55 +00:00
Ivan Savenko
9f7c89d5e3 - more filesystem logging and possible fix for Win
- added missing destructor for loaders
- added missing override kewords
- added unused for now ARCHIVE_ZIP filetype
2013-07-29 10:08:02 +00:00
DjWarmonger
a314a81fd5 Compile fixes. Game doesn't even launch, however. 2013-07-28 18:57:07 +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
DjWarmonger
aa6626bc35 Fixed #1329. 2013-07-28 10:32:01 +00:00
DjWarmonger
257be7a968 Fixed #1342. Animate Dead won't affect living creatures. 2013-07-28 10:05:37 +00:00
DjWarmonger
5f310aa20f Fixed all issues with Resurrection: #123, #1358 2013-07-27 19:01:31 +00:00
DjWarmonger
b36be10e30 2013-07-25 11:53:36 +00:00
DjWarmonger
66d6aebe32 Fixed all the issues with Quests, #828 and #1223.
Upgrade cost will never be negative.
2013-07-23 15:03:01 +00:00
DjWarmonger
b1a569910b Fixed #1378. 2013-07-23 05:41:42 +00:00
DjWarmonger
4ec9faa789 Fixed #1367. Removed confusing code for speed calculation. 2013-07-22 17:06:32 +00:00
Ivan Savenko
a719e03b30 - fixed #1375
- damage done by turrets is properly increased by built buldings
2013-07-22 16:23:23 +00:00
DjWarmonger
4fd9bcfedc Fixed #1345 2013-07-22 10:39:11 +00:00
DjWarmonger
103a75e763 Possible fix for #1348 2013-07-22 09:48:25 +00:00
DjWarmonger
3aec2daca1 Fixed Firewall (#1363) 2013-07-22 09:01:10 +00:00
Michał W. Urbańczyk
d8a27d8f3c Refactored player-specific data into single struct BattleState. 2013-07-21 22:01:29 +00:00
Ivan Savenko
491bd557ef fixed several bugs reported on forum:
- necromancy issues
- fix for lookout tower
- Sir Mullich is unavailable
- first hero is awakened on next turn
- give 500 XP on defeating hero
2013-07-21 18:27:33 +00:00
Michał W. Urbańczyk
0eb496fb57 Fixed #1338 and #1341. Introduced post-load step to ease initialization of bonus source ids. 2013-07-21 14:19:29 +00:00
Michał W. Urbańczyk
1e11904d8a Fixed Remove Obstacle. TODO: limit its working on spell-created obstacles depending on spell school level. 2013-07-21 10:25:12 +00:00
Ivan Savenko
a148c39e0a more battles animations:
- UI will be correctly greyed-out during opponent turn
- fixed remaining issues with blit order
- a bit better handling of catapult attack
- fixes #1362
2013-07-21 10:10:38 +00:00
Michał W. Urbańczyk
e9d51a2670 Fixed issue that allowed to build multiple boats in town. Renamed state() to sth more sensible. 2013-07-21 10:08:32 +00:00
DjWarmonger
9277c695a5 Fixed #1361. 2013-07-20 08:54:43 +00:00
Ivan Savenko
096d6ebf9c refactoring of CBattleInterface::show() and all related code
fixes most of blit order-related bugs in battles (#1200, #1238, #226)

known issues, will fix soon:
- there are still some minor blitting issues during movement
- destruction of walls in siege is out of sync with catapult projectile movement
2013-07-19 16:35:16 +00:00
DjWarmonger
18794af2cb Fixed elemental immunity handling: #1335, #1343, 2013-07-18 17:24:17 +00:00
DjWarmonger
b0f82957ab Fixed #1336 2013-07-17 11:01:36 +00:00
Ivan Savenko
1a77fee7f7 more improvements for battle animations
- synchronized attack/defence animation
- spell animation speed uses game settings
- added logging domain for battle animations

- fixed disrupting ray duration
2013-07-16 18:12:47 +00:00
DjWarmonger
886ef13bec Levels for WoG neutral creatures - fixes #1282.
Renamed Myriad and Medusa Queen (sic?) to Arctic & Lava Sharpshooter.
2013-07-12 19:13:39 +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
Ivan Savenko
410ec92668 Minor fixes:
- removed unused functionality from CCreatureAnimation
- simplified postioning of units in battle, should fix remaining issues with unit positioning
- fixed unit tests compilation
2013-07-07 19:44:08 +00:00
Ivan Savenko
146a5e5ef8 Made speed of most of battle animations time-based
- speed of creature-related animation no longer depends on framerate
- most of values from cranim.txt are now used correctly
- removed BMPPalette struct in favor of SDL_Color
- animation group "DEAD" that is used to display dead stacks, by default consists from last frame of "DEATH" group

Notes:
- animation speed may still need some adjustments
- range of config property "battle/animationSpeed" has been changed. This may result in extremely fast animation. To fix - change animation speed via options.
2013-07-06 16:10:20 +00:00
Michał W. Urbańczyk
68603245c4 Or should not be the same way as And. 2013-07-03 20:18:41 +00:00
Michał W. Urbańczyk
1e8c58ecdf Patch from O01eg fixing #1308 http://forum.vcmi.eu/viewtopic.php?t=721
Helper functions for enabling/disabling smart vector memeber serialziation. [doesn't really save writing but adds consistency]
2013-07-02 16:48:01 +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
Michał W. Urbańczyk
4576719abe Visual Studio 2013 Preview compile fixes:
* 0 is not convertible to std::function, nullptr should be used
* std::ref(rand) is not convertible to function<int()>, used lambdas (why we dont just pass "rand" ? )
* CFunctionList needs to be constructible from nullptr
* move constructor for CMapInfo (Visual cannot generate them :( )
* #ifdefed some stuff that is not needed anymore since cmath is updated with C99 stuff
* using std::make_unique instead of our vstd implementation

CSelector: 
* introduced a class in place of typedef
* Having an overloaded && || operators over sth that is convertible to bool… Wasn't a good idea after all. Purged the operators, replaced  with And/Or methods (chaining-style).
* constructor that is present only when constructing from class or function (SFINAE). std::function has an implicit converting constructor from T causing ambiguities (even if the overload would cause compile error in the body)
2013-07-02 12:08:30 +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
Ivan Savenko
dd808ef5cc bugfixing:
- support for one more Russian localisation, fixes #1321
 - fixed icon for level 1 town hall, #1294
 - correct portraits for first heroes from mods, #1297 and probably #1298
And a lot of gcc compile fixes
2013-06-23 19:35:54 +00:00
Michał W. Urbańczyk
06f0a29b31 Compile fixes for gcc, as per http://forum.vcmi.eu/viewtopic.php?p=9638#9638 2013-06-23 12:36:18 +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
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
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
870399c7be - updated link to repo in readme
- image loader will report last SDL error if loading failed
- fixed parsing of floats from H3 txt's
2013-06-09 10:09:28 +00:00
Ivan Savenko
0c5a717e08 - fixed crash in town after loading #1291 + extra check just in case.
- disabled intro menu animation for now - different position in different versions (WoG, SoD)
- removed no longer needed entry for Linux video from filesystem
2013-06-02 18:57:58 +00:00
Michał W. Urbańczyk
1d46db6a57 Post-release version bump. 2013-06-01 20:19:03 +00:00
Michał W. Urbańczyk
f19e41d38c Fixed #1269.
Version set to 0.93.
2013-05-31 22:23:53 +00:00
Ivan Savenko
1c0ccd2b02 - fixed some bugs with artifacts icons 2013-05-31 11:46:19 +00:00
Ivan Savenko
4724ccbb45 - fixes #1276
- minor fix to json arrays merging
- fixed update of growth icons on town screen
2013-05-30 18:43:45 +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
608a080971 Partial support for serializing std::shared_ptr. Should fix #1281. 2013-05-30 10:44:39 +00:00
Ivan Savenko
4cc28d5e91 compile fix 2013-05-29 08:14:01 +00:00
Michał W. Urbańczyk
11bcc48cc3 Version bump 0.92c. Fixed #1268. Split a few mehods from CGameState::init. 2013-05-28 22:47:15 +00:00
Michał W. Urbańczyk
9f5d1ba623 Fixed #1271. 2013-05-27 21:46:04 +00:00
Ivan Savenko
b01637840a - compile fixes
- fixed building in towns after loading (partial #1272)
2013-05-27 14:20:46 +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
DjWarmonger
c9e95f76df - Fixed Phoenix fire immunity. Again.
- Cheat code with grant all artifacts, including the ones added by mods
- Some clean-up of Berserk effect, however it doesn't work at the moment.
2013-05-25 07:06:00 +00:00
Ivan Savenko
dca8e9fa6f - removed access to one wog file
- removed way to avoid dependency checking in identifiers resolution
- minor fixes
2013-05-21 22:11:44 +00:00
beegee1
56534bc3fb - Bug fix to previous commit 2013-05-21 19:26:31 +00:00
beegee1
5328beb8e7 - Fixed some bugs when starting a RMG map - Checks if there is a template for the chosen options(rejects if not) - Added a few templates for development(2 to 4 players, medium maps are supported) - Refactoring 2013-05-21 19:08:06 +00:00
Michał W. Urbańczyk
c920f29c45 More missing serialization items. 2013-05-20 17:25:19 +00:00
Michał W. Urbańczyk
096e1230ce That needs to be serialized. 2013-05-20 08:37:31 +00:00
Michał W. Urbańczyk
c85829a00c * creature window prints morale/luck for actual stack in battle (CStack), not stack as seen in hero screen (CStackInstance), fixes #1264
* creature abilities bonus properties are updated when the creature id is assigned
* removed decrease morale ability from config file (it was duplicating the one from ZCRTRAIT.TXT
2013-05-19 19:53:03 +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
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
beegee1
42c2c29976 - Added support for RMG templates(subset of OH3) - Added template "Small Ring" for testing 2013-05-11 17:36:11 +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
5de00c752c VC project updated. 2013-05-05 12:21:50 +00:00
Ivan Savenko
b3bbe27089 - ignore wog maps if wog is not present 2013-05-04 19:20:32 +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
beegee1
298f862d86 - Implemented updating additional terrain types fully(including 2 special cases) 2013-05-03 10:15:59 +00:00
beegee1
3358a8efec - Added terrain & object selection classes - Added CComposedOperation - Refactored clear terrain, it is now an operation - Added rough support for updating terrain type if required 2013-04-29 15:51:39 +00:00
Ivan Savenko
b20f8fd3d4 - fixed uninitialized access into modHander
- fixed  #389
2013-04-28 15:06:14 +00:00
DjWarmonger
a7ed3ee3d0 Fixed #987 2013-04-27 08:11:20 +00:00
DjWarmonger
32c87f532f - Added missing abilities for devil & ghost dragon
- Stack affected by Berserk should not try to attack itself

Neither of these can be actually seen in game duo to more general engine bugs :/
2013-04-27 06:39:59 +00:00
beegee1
0f7d175896 - Fixed all unit test failures and a few more bugs - Simplified view generation algorithm 2013-04-26 15:57:47 +00:00
Ivan Savenko
ecb644fce4 - fix to last commit 2013-04-26 07:40:46 +00:00
Ivan Savenko
8297102350 - some groundwork for wog optionality
- moved wog artifacts to wog mod
2013-04-25 21:50:55 +00:00
beegee1
23f7be2a54 - Fixed a few bugs related to the terrain view generation - Updated CMakeLists in /test(copy resources if no source files has been changed too) 2013-04-25 16:09:48 +00:00
Ivan Savenko
8273f323b1 - it is possible to edit data of another mod or H3 data via mods
- mods can access only ID's from dependenies, virtual "core" mod and itself (optional for some mods compatibility)
- metadata field for JsonNode, used to track source mod
- moved wog creatures into wog mod
- (linux) convertMP3 option for vcmibuilder for systems where SDL_Mixer can't play mp3's
2013-04-25 14:03:35 +00:00
Michał W. Urbańczyk
be6aff5173 VC11 compile fix. 2013-04-25 08:22:04 +00:00
DjWarmonger
57ea1ed1b8 Fixed crash at month of double population.
doublingCreatures vector was never properly initialized.
2013-04-23 17:29:16 +00:00
DjWarmonger
0dc5a13596 Fixed missing spell effects, root cause of #1257. 2013-04-23 09:54:57 +00:00
Ivan Savenko
e71bace8e3 - fixed crash on missing icons
- proper ID resolution for secondary skills to avoid #1258
2013-04-23 09:16:20 +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
beegee1
7a3f5dc23b - Replaced exceptions with assert for internal-API code 2013-04-22 16:04:17 +00:00
beegee1
8d82c49a99 - Compile fix - Renamed map operations 2013-04-22 15:08:04 +00:00
beegee1
dd78205ce8 -Added test subfolder and updated CMakeLists for unit testing - Added a test case for the DrawTerrainOperation class(does not pass all tests successfully, 6 failures left to fix) - Fixed a few bugs 2013-04-22 14:49:28 +00:00
DjWarmonger
a9cfb4bddb Refactoring, fixed #1255 2013-04-22 13:23:53 +00:00
Ivan Savenko
d88caec82c - fixes to previous commits 2013-04-21 17:06:24 +00:00
Ivan Savenko
4db13ba845 - proper destructors for handlers and lib objects 2013-04-21 16:38:31 +00:00
Ivan Savenko
2ea1051395 - fixed uninitialized pointer 2013-04-21 14:08:46 +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
d30571aa4d AI won't access enemy heroes' objects that went under FoW. Fixes #1235. 2013-04-21 12:11:13 +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
DjWarmonger
87988b0ae7 Compile fixes for MVS2010 2013-04-20 16:01:58 +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
stopiccot
1fca335a2c Be careful with global var initialization order. All mutexes should be initialized before all CLoggers. Caused a crash on OS X when compiling with clang 2013-04-19 12:26:57 +00:00
beegee1
03c2aa9153 - Refactored CMapEditManager(added structure for undo functionality) - Refactored CMap(terrain pointer is private, safe access via getTile) 2013-04-19 11:43:11 +00:00
Ivan Savenko
857274a670 gcc compile fix 2013-04-18 07:55:57 +00:00
Michał W. Urbańczyk
850f47261d ID should be always outputted as number (not char). 2013-04-17 19:09:54 +00:00
beegee1
45fccfb1a6 - Added new trace macro LOG_TRACE which autom. appends leaving func message - Removed old trace macros - Small refactoring in CMapEditManager - Changed documentation comments to /// style for various mapping header files 2013-04-16 13:16:58 +00:00
beegee1
feea589648 - Bug-fixing for last commit - Moved CMapGenOptions to CMapGenerator 2013-04-15 17:18:04 +00:00
beegee1
44bde4a1d3 - Fixed indentation for various files, sorry... 2013-04-14 19:24:31 +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
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
Ivan Savenko
2d89e643c6 - some optimizations to validator - should be a bit faster now 2013-04-12 20:49:02 +00:00
Ivan Savenko
0cf969d508 - console logger by default uses same format as previously (no extra data)
- a lot of changes in configs;
- - update to creature format - abilities are now json structure
- - multiple bugfixes revealed by validation
- made schemas a bit more strict
- creatures data can be replaced via mods
- it is possible to validate vcmi configs using schemas (disabled)
2013-04-11 19:24:14 +00:00
beegee1
f10ba48c77 - Fully integrated new logging API(ERM, Editor, missing parts) - Removed old logger 2013-04-11 15:58:01 +00:00
DjWarmonger
928dc23003 Compile fix. 2013-04-11 13:33:59 +00:00
Michał W. Urbańczyk
f42cfa6f43 MSVC compile fixes:
1) Names of compile units need to be unique, renamed the new CLogget.cpp to CNewLogger.cpp. (at least till the old CLogger is gone)
2) Fixes for project files (a few includes were marked as compile items).
2013-04-11 01:05:51 +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
abf96a5b66 - Integrated the logging API into the AI subprojects - Added macros for tracing the control flow - Added methods isDebug/TraceEnabled for performance-critical sections 2013-04-10 16:28:14 +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
ee51c5beb5 - Renamed /lib subfolders to lowercase 2013-04-07 10:48:07 +00:00
beegee1
89ad007b44 - Renamed Logging to logging 2013-04-07 10:30:01 +00:00
beegee1
b82f232e50 - Moved the private part of the logging API to CLogger.h/.cpp 2013-04-07 10:17:55 +00:00
beegee1
1bb79ed187 - Removed some documentation comments 2013-04-06 18:34:06 +00:00
beegee1
de01ea54b0 - Added stream-like logging - Schema refactoring 2013-04-06 17:45:02 +00:00
Ivan Savenko
0d3ec3c6da clang compile\warning fixes 2013-04-05 21:27:24 +00:00
beegee1
0baa261dfc - Implemented the new logging API(not used currently) - Added lock typedefs to Global.h - Some layout updates to Global.h 2013-04-05 10:29:46 +00:00
Ivan Savenko
619a07da03 - projectile blitting should be closer to original H3. But still not perfect.
- removed no longer needed field "projectile spins"
2013-04-04 13:18:38 +00:00
Ivan Savenko
52e56693ea - fixed handling of incorrect configuration in settings.json
- more compact schema for siege node
2013-04-03 13:39:46 +00:00
Ivan Savenko
0307639c32 properly initialize settings when configuration was not found 2013-04-02 21:39:32 +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
DjWarmonger
c8bb363a45 Fixed Death Stare of Commanders, additional tweaks. 2013-03-30 20:09:50 +00:00
Ivan Savenko
a9fe9e9e8b - fixed #1229 and #1245 2013-03-29 19:15:52 +00:00
Ivan Savenko
8f998b009b - fixed 1247 2013-03-23 16:19:27 +00:00
Ivan Savenko
c4c592b773 - bugfixing: #1243, #1227, #1241, #1236, #1233 2013-03-14 20:44:00 +00:00
alexvins
ff1c224a97 Few more cleanup 2013-03-14 17:56:52 +00:00
alexvins
f686edc1b8 Cleanup
* simplify JSON values getting
* ensure initialization of Bonus fields
2013-03-14 17:21:16 +00:00
alexvins
9e7fe4d011 Fix duplication in zcrtraits load 2013-03-14 11:39:29 +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
alexvins
b5612624fb fix clone immunity handling for 8+ level creatures, part of issue #1234. 2013-03-10 16:16:43 +00:00
Ivan Savenko
b413d80ccc - better logging of some config files errors
- restored lvl 10 for some dragons
2013-03-09 13:16:35 +00:00
mateuszb
044b19269e * updated Visual Studio project file 2013-03-07 18:48:40 +00:00
stopiccot
277eb13cb4 Fixed OS X compilation 2013-03-06 22:03:57 +00:00
alexvins
2eb8263e51 Basic Configuration for bonus types
* introduced new handler BonusTypeHandler
* config\bonusnames.json converted to common format and splitted info main and localizable parts
* hanlders initialization refactored
2013-03-06 18:49:56 +00:00
DjWarmonger
ca8182f80f Fixed #1133. 2013-03-05 07:34:52 +00:00
DjWarmonger
ae7f3560a3 Moved phoenix immunity to .json. This fixes #978 2013-03-04 19:38:09 +00:00
DjWarmonger
5252e2aefe Added few more icons for creature abilities.
Graphics here http://forum.vcmi.eu/viewtopic.php?p=8715#8715
2013-03-04 18:33:58 +00:00
Ivan Savenko
b4e54f76ea - split heroes.json in manner similar to creatures\factions
- string ID's for H3 heroes
- data in vcmi configs for heroes will replace data in h3 txt's
2013-03-03 18:00:37 +00:00
mateuszb
dbec99ffc7 * PlayerColor and TeamID refactoring 2013-03-03 17:06:03 +00:00
Michał W. Urbańczyk
ac9a009516 VC project file update. 2013-03-03 14:08:39 +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
Ivan Savenko
f306d7bb70 some changes towards editing H3 objects via mods. Should be stable, report if not.
- removed duplicated json loading code in handlers
- simpler and mod-friendly handling of combined artifacts
- reorganized CCreature to avoid huge number of fields in one structure
2013-03-02 16:55:51 +00:00
DjWarmonger
5f4fb22f53 Several fixes to combined artifacts added via mods. 2013-03-02 09:11:52 +00:00
Michał W. Urbańczyk
e708dd5545 Version set to 0.92. Changelog updated. 2013-03-01 21:48:37 +00:00
Michał W. Urbańczyk
459e858756 One more fix for turrets — defender should also not be turned.
Development build 0.91c.
2013-02-27 07:40:21 +00:00
Michał W. Urbańczyk
a9fd7b806c Fixed crash on the new month when there are no creatures that can get double growth. (#1219, possibly #1217)
The list of double growth creatures will be serialized.
Bumped format.
MSVC: silenced that stupid C4275 warning. (senseless when using STL)
2013-02-27 03:11:45 +00:00
Michał W. Urbańczyk
9cc7a28222 Fixed unnecessary turret turning. 2013-02-27 03:06:49 +00:00
Ivan Savenko
b78c4c19ea - compile fix 2013-02-26 15:07:21 +00:00
DjWarmonger
928d1d2121 - Some work on bonus system, effect range can be ignored. TODO: usage of bonus with any subtype.
- Fixed #1156
2013-02-26 09:36:21 +00:00
DjWarmonger
28d3574b0b Compile fix - do it the old way. 2013-02-25 13:28:31 +00:00
alexvins
2cb86d84fa [refactor]
+ crexp parser: parse mind immunity
2013-02-25 12:18:45 +00:00
mateuszb
10fbe7b11e primary skill identifiers for bonuses 2013-02-25 09:48:26 +00:00
alexvins
856c7feeba [refactor]
* creature config use string ids now
+ support string subtype id in short bonus format
* crexp parser: less magic nombers
2013-02-23 22:48:22 +00:00
mateuszb
602827d1ae * MSVC compilation fixes
* campaign epilogues and minor fixes
2013-02-23 19:16:14 +00:00
alexvins
5a135b9f42 [c::b] update projects, fix compilation 2013-02-23 16:05:32 +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
fbb1ae1bb8 * prologue videos (according to Randjan's list) 2013-02-22 21:03:56 +00:00
mateuszb
92995964f3 a bit more of prologue/epilogue screen 2013-02-20 21:01:18 +00:00
mateuszb
b776b93b0c * a bit of campaign prologue/epilogue screen 2013-02-19 20:39:09 +00:00
Michał W. Urbańczyk
9492592a8f Version bump. Fixed crash on desync saves. 2013-02-19 12:24:17 +00:00
Michał W. Urbańczyk
ca4a34df7b Development build 0.91b.
Removed not necessary log.
2013-02-18 23:35:25 +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
DjWarmonger
111312636a Fixed #1207. Some tweaks. 2013-02-17 18:53:01 +00:00
Ivan Savenko
b22d8a007f - minor fixes 2013-02-17 18:25:42 +00:00
Ivan Savenko
a75d237e93 compile fix 2013-02-16 19:53:57 +00:00
mateuszb
776eb13663 * editor menus 2013-02-16 16:37:43 +00:00
mateuszb
560315bc48 * SlotID refactoring 2013-02-16 14:03:47 +00:00
Michał W. Urbańczyk
d23a5dcfdf Fixed #1208. 2013-02-14 15:19:35 +00:00
Michał W. Urbańczyk
12e627ec49 Fixed #1206. 2013-02-14 13:19:03 +00:00
Michał W. Urbańczyk
827d7b8681 Fixes for previous rev. 2013-02-14 02:17:46 +00:00
mateuszb
9e00090c42 * refactoring, a few intriguing problems remain 2013-02-13 23:55:42 +00:00
alexvins
ceea466f54 [refactor] spell handling
* more config options for spells
  + mind immunity handled by config
  + direct damage immunity handled by config
  + immunity icon configurable
- removed mind_spell flag 
* more use of new spell identifacation
2013-02-13 19:35:43 +00:00
mateuszb
6d06710684 * fixes for town building campaign bonus 2013-02-13 14:21:11 +00:00
mateuszb
9c1a117c1c * refactoring 2013-02-12 22:24:48 +00:00
Ivan Savenko
7e46d462b6 - compile fixes
- fixed portrait initialization for random heroes
2013-02-12 21:32:55 +00:00
mateuszb
bda766b697 * refactoring 2013-02-12 19:49:40 +00:00
Michał W. Urbańczyk
6ac70d6a0b Partially reverting r3191: DLL_LINKAGE on registerTypes def breaks compilation for MSVC. The function definition cannot be marked as dll import (and that happened, when it was included in CGameHandler.cpp)
Partially reverting r3184: user-defined include/lib paths got uploaded
2013-02-12 12:51:31 +00:00
Ivan Savenko
5a8787b74d - fixed some compiler warnings, gcc\clang work fine
- better handling of innoextract in vcmibuilder.
2013-02-11 22:36:12 +00:00
alexvins
8249e15f0f [c::b] update projects 2013-02-11 19:27:37 +00:00
mateuszb
8a8eecd063 * refactoring 2013-02-11 19:11:34 +00:00
DjWarmonger
b554af25d3 - Compile fix
- Fixed Basilisk spawning at Hive
- Fixed double-shot of Marksman
2013-02-11 17:23:55 +00:00
mateuszb
6ff7d61b91 * small fix 2013-02-11 16:07:29 +00:00
mateuszb
d540723739 * refactoring 2013-02-11 14:42:09 +00:00
mateuszb
86dc9386d6 * refactoring, including a generic solution for IDs 2013-02-10 23:24:57 +00:00
Michał W. Urbańczyk
2f39db2375 Hero portraits in campaign bonus selection. 2013-02-09 19:19:14 +00:00
Michał W. Urbańczyk
13b3d23b26 Finally working hero crossover in campaigns.
Uncovered new secrets of h3m.
2013-02-09 18:18:55 +00:00
Michał W. Urbańczyk
e31f5062f9 Fixed crashes when VCAI cannot find hero to recruit.
Bumped format version.
2013-02-09 17:37:38 +00:00
mateuszb
d03dbf64a6 * refactoring 2013-02-09 12:56:35 +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
DjWarmonger
140786a04b - Drain Life now has % effect depending on bonus value
- Stack can use more than 2 attacks. Additional attacks can now be seperated as "ONLY_MELEE_FIGHT and "ONLY_DISTANCE_FIGHT".
2013-02-08 09:22:10 +00:00
mateuszb
043c7c52a3 * very important bugfix 2013-02-07 20:53:21 +00:00
mateuszb
f1c78e3260 * creature ID refactoring
* double week creatures are configurable now
2013-02-07 17:34:50 +00:00
alexvins
ed3d35554e [refactor] h3m reader
* reduce code duplication
* use binary reader
2013-02-07 17:02:15 +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
169cf3558d * changes in campaign handling 2013-02-06 19:48:09 +00:00
mateuszb
3958364884 * a bit more work on campaigns; hero crossover still buggy 2013-02-06 10:16:44 +00:00
DjWarmonger
1ef205e5f1 Various tweaks / enchancements to bonus mechanics
- Added CREATURE_SPELL_POWER for commanders
- Added spell modifiers to various spells: Hypnotize (Astral), Firewall (Luna), Landmine 
- Fixed ENEMY_DEFENCE_REDUCTION, GENERAL_ATTACK_REDUCTION
- Extended usefulness of ONLY_DISTANCE_FIGHT, ONLY_MELEE_FIGHT ranges
2013-02-06 08:02:46 +00:00
mateuszb
dc091a1ce1 * some work on hero crossover; still buggy 2013-02-05 23:16:13 +00:00
Ivan Savenko
3f309f0c5e - removed support for ancient versions of ffmpeg
- some cleanup in Linux video player
2013-02-05 23:11:48 +00:00
Michał W. Urbańczyk
60c18f1bb8 More fixes for campaigns. 2013-02-05 21:19:08 +00:00
Ivan Savenko
8ffd482324 - gcc compile fix
- mismatching enum (?) in HeroBonus
- probably fixed some cases of unaligned access
2013-02-05 19:56:28 +00:00
mateuszb
bda92a4a73 * refactoring
* fixed bug 1143
* some work on campaigns
2013-02-05 18:48:46 +00:00
Michał W. Urbańczyk
f8d7473f9a * fixed vector<bool> serialization
* fixed issue with loading castle event
2013-02-05 14:32:59 +00:00
Michał W. Urbańczyk
937b316c11 Updated VC project file. 2013-02-05 01:25:56 +00:00
Michał W. Urbańczyk
59abcac7da A patch from stopiccot http://forum.vcmi.eu/viewtopic.php?p=8340#8340 2013-02-04 23:12:43 +00:00
alexvins
a9d458c8f4 few more refactorings 2013-02-04 21:58:42 +00:00
mateuszb
25663ce7af * fixed vector<bool> serialization
* refactoring
2013-02-04 19:43:16 +00:00
DjWarmonger
5b00d74e1a Fixed commanders starting with 2^32 experience. 2013-02-04 19:22:19 +00:00
mateuszb
3c5d6dd79a * vector<bool> serialization 2013-02-04 16:58:31 +00:00
DjWarmonger
e63747d2d2 Fixed #860 and #1169
Imprisoned heroes as well as their commanders will get full level ups, with updated specialty, mana and movement.
2013-02-04 12:32:53 +00:00
alexvins
d264f17b76 [refactor] separate h3m reader from rest of mapservice 2013-02-04 10:29:59 +00:00
mateuszb
8769f67c5d * JsonReader can convert to enums
* refactoring
2013-02-03 21:05:44 +00:00
mateuszb
ba3075317f * proper bool serialization
* refactoring towards more enums/typedefs
2013-02-02 19:28:39 +00:00
alexvins
b376ac8568 refactor map loading, few small tweaks 2013-02-02 17:20:31 +00:00
DjWarmonger
beb1ca1bf8 - getDate function now uses enum for different modes
- Fixed Black Market (#1195)
- Fixed one-week bonuses removed eveyr day (#976)
2013-02-02 08:29:57 +00:00
mateuszb
c4e03ef0de * enum serialization/deserialization (si32 as basetype ought to be enough for anybody)
* some fields in classes refactored to use appropriate enums (not yet finished)
2013-02-01 22:04:25 +00:00
DjWarmonger
096b0d6a36 Post-release version bump. 2013-02-01 09:37:39 +00:00
DjWarmonger
d325528aa5 For 0.91 release. 2013-02-01 08:44:20 +00:00
mateuszb
a1da195b85 * minor refactoring 2013-01-31 20:11:25 +00:00
mateuszb
5b0c6059e2 * bug 1193 should be fixed
* minor refactoring
2013-01-30 21:28:31 +00:00
DjWarmonger
5194569053 - Fixed #1190
- Fixed incorrect shield effect
2013-01-29 06:47:20 +00:00
Ivan Savenko
9caa21a51c - fix for #1189 (h3 text parsing fix)
- fix for #1188 (replaced ffmpeg detection with module from KDE)
2013-01-26 19:39:54 +00:00
DjWarmonger
ad9cfdcc1b Version 0.90c 2013-01-26 14:56:32 +00:00
beegee1
db2f468341 - Fixed some bugs when generating terrain view IDs (mock map seems to be OK) - Enabled RMG by default 2013-01-26 13:48:20 +00:00
Ivan Savenko
beac6b12d8 - loading fix 2013-01-24 21:03:01 +00:00
Ivan Savenko
080e037c54 - fix for starting towns (#1180)
- fix for creature window (#1184)
2013-01-23 22:09:58 +00:00
DjWarmonger
d71b11de81 Development version 0.90b 2013-01-23 20:33:34 +00:00