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
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
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
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
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
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
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
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
mateuszb
9e00090c42
* refactoring, a few intriguing problems remain
2013-02-13 23:55:42 +00:00
mateuszb
9c1a117c1c
* refactoring
2013-02-12 22:24:48 +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
f1c78e3260
* creature ID refactoring
...
* double week creatures are configurable now
2013-02-07 17:34:50 +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
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
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
beegee1
a4129f43f2
- Correct handling of who manages which players(player count may differ from initial start options for a RMG map) - Fixed warning
2013-01-21 20:49:19 +00:00
DjWarmonger
cf7108f075
- Made sure that stack artifacts will not spawn when they are turned off
...
- Description for "Spell-like attack"
2013-01-21 15:11:37 +00:00
DjWarmonger
fff7909958
- Fix for hero specialties (creature type limiters)
...
- Improved handling of new heroes / arts, check forum for fresh mod packages :)
2013-01-20 16:31:18 +00:00
Ivan Savenko
5deb499e7e
Last breaking change into mod system (will explain on forum)
...
- paths in "filesystem" node are now relative to mod directory
- "filesystem" entry in mod.json is now optional
- made "register object" log messages visible only in log
- minor fixes, including #1173
2013-01-16 14:28:49 +00:00
DjWarmonger
a86b5c1e2e
Artifacts can now have multiple types of bearers. Fixed problems with Commander arts impossible to wear.
2013-01-16 07:37:51 +00:00
beegee1
0311e5e6f5
- Added basic mock/test generation - Added stub for terrain editing
2013-01-06 19:30:12 +00:00
alexvins
4bc2fd5519
[c::b] renamed map subfolder to workaround dependency tracking bug
2013-01-03 12:19:20 +00:00
DjWarmonger
c0e09679f1
- Mod artifacts can have components
...
- Mod artifacts can be for commander / stack
- Commander / stack artifacts will be automatically disabled from random spawning is related module is disabled
2012-12-27 11:00:28 +00:00
DjWarmonger
d50f9c8d34
Moved combo artifacts to config file, they are now handled by string id.
...
TODO: use same solution for new mod artifacts.
2012-12-25 19:04:15 +00:00
DjWarmonger
743a0fc3f4
Added string identifiers to artifacts.
...
Some of them have lost some abilities, needs more work.
2012-12-25 17:23:26 +00:00
DjWarmonger
99e7177d57
Fixed unitialized ptrs in CArtifacts.
...
Parsing for adventure map def for artifacts.
2012-12-16 11:35:14 +00:00
Ivan Savenko
ffe8b99369
- reorganized hero classes
...
- artifact iconIndex should work
- new file with hardcoded string constants: lib/StringConstants.h
Note: some minor bugs, will fix soon:
- slow to open hero window
- hero adventure map images serialization is broken\incorrect
2012-12-14 15:32:53 +00:00
DjWarmonger
afe3f77a59
Fixed Artifact parser. Check http://forum.vcmi.eu/viewtopic.php?p=7889#7889 for example mod.
2012-12-14 08:37:46 +00:00
alexvins
a8175c13bd
fix to prev. revision
2012-12-13 15:38:04 +00:00
DjWarmonger
62a281a665
Complete parsing for new Artifacts. iconIndex needs to be handled.
...
Otherwise, they are ready for test.
2012-12-13 14:27:33 +00:00
Ivan Savenko
1c5a4c669c
- merged minimap.json into terrains.json
...
- removed no longer used fields from Graphics + portraits.json
- work on pregame:
- - new code for map options window icons + popups
- - fixed bugs related to new towns
- - less hardcoded magic numbers
2012-12-10 14:28:27 +00:00
DjWarmonger
730cbd930a
Parsing for new artifact format: http://wiki.vcmi.eu/index.php?title=Artifact_Format
...
Not finished, not tested.
2012-12-10 13:55:54 +00:00
DjWarmonger
f4ec678b0c
Removed unused code. Some properties of artifacts will be generated automatically.
2012-12-07 11:35:57 +00:00
DjWarmonger
cff758cfba
Moved artifact-related text to CArtifact class.
2012-12-06 19:03:47 +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
2cd774fe42
- gcc 4.5 compatibility
2012-11-02 20:08:37 +00:00
mateuszb
a8524a2f95
* missing change from previous commit
2012-10-03 18:13:07 +00:00
mateuszb
652ea4036e
* artifact bonuses are read from config file now
...
* removed two commented-out methods
2012-10-03 18:11:19 +00:00
mateuszb
657ed41088
* fixed bug in campaigns
...
* turned off artifacts.json creation
* minor changes
2012-09-29 17:36:48 +00:00
Ivan Savenko
a602d7e9da
- build system update
...
- compile\warning fixes
2012-09-29 12:02:46 +00:00
Michał W. Urbańczyk
0750d46285
Fix #1095 .
2012-09-28 19:11:09 +00:00
mateuszb
af133ae758
* experimental support for bonus limiter/propagator loading from json (not turned on yet)
2012-09-27 16:48:46 +00:00
mateuszb
8dca88c3c8
* start map in campaign button is properly disabled/enabled (I hope)
...
* exported json for artifact bonuses; no limiters/propagators yet, so it's not used
* minor changes
2012-09-26 18:10:29 +00:00
mateuszb
f3f4a7633d
* fixed 1085
...
* fixed starting hero is granted in normal scenarios
* introduced TArtifactInstanceID
2012-09-25 14:40:39 +00:00
mateuszb
6a81c8b1af
* campaign against magic numbers
...
* ArtifactID was misleading and wrongly used in one place -- renamed and fixed
* minor changes
2012-09-23 18:01:04 +00:00
Michał W. Urbańczyk
62e63d45b1
Work in progress on BattleAI. Related changes:
...
* battle AIs receive ptr to CBattleCallback (not sure why it was CPlayerBattleCallback, likely mistake)
* reworked some battle callback methods to be more generic and able to handle some hypothetic scenarios
* for testing purposes in duel mode the first AI will be taken fro mconfig and the second will remain stupid ai
* minor changes
2012-09-20 16:55:21 +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
38b6435ee4
Shackles of War implementation uses bonus system propagation instead of looking into enemy hero. Silences some warnings.
2012-08-29 15:27:24 +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
Ivan Savenko
cf15ca1cf0
- replaced loadToIt with better H3 parser.
...
- moved hero class to heroes.json
2012-08-25 08:44:51 +00:00
DjWarmonger
39d433c1c7
Moved game Modules to config file.
2012-08-24 09:37:52 +00:00
Ivan Savenko
e67f8afdd9
- removed multiple unused files
...
- config folder with all json files is used via new FS API
- fixed campaigns loading. Replaced "detect h3m starts" heuristics with CCompessedStream::getNextBlock()
2012-08-02 11:03:26 +00:00
Ivan Savenko
b3c17d2788
large filesystem update. Filesysytem is now fully functional, everything should work.
...
- completely replaced CLodHandler, removed bitmaph and spriteh
- replaced CLodStream in favour of CCompressedStream (2 new files)
- renamed CResourceLoaderFactory and ResourceIndetifier to shorter names
NOTES:
- campaign loading is currently broken. Will fix.
- I am going to remove several unused files in several days (e.g. LodHandler)
2012-08-01 12:02:54 +00:00
DjWarmonger
9ebf56ff03
Quick fix for previous commit.
2012-07-16 16:31:41 +00:00
DjWarmonger
cf45239332
Fixed #1035 .
...
Support for commander artifacts that accumulate bonus after battle.
2012-07-16 16:18:02 +00:00
DjWarmonger
cdb55500f3
Fixed #979
2012-06-09 19:24:04 +00:00
Michał W. Urbańczyk
401d6816d1
Workaround for serializer allowing sending CStackInstance* pointing to commander. (and only CStackInstance*)
2012-05-21 23:39:35 +00:00
DjWarmonger
88639be91b
Enabled commander artifacts. Don't work yet.
2012-05-20 08:39:19 +00:00
DjWarmonger
6419f953cb
Some (disabled) work for commander artifacts. Hero artifacts window seems broken.
...
Minor fixes.
2012-05-19 18:27:23 +00:00
DjWarmonger
9c9301a495
Various fixes.
2012-04-22 19:56:03 +00:00
DjWarmonger
05311dd30c
- Fixed and simplified Teleport casting
...
- Stack artifacts will now not be wearable by hero (by default)
- Fixed crash involving clone
2012-04-18 13:24:18 +00:00
DjWarmonger
294276ea13
- Second part of battle interface.
...
- Testing for Stack Artifacts feature.
2012-04-17 08:46:09 +00:00
Ivan Savenko
66f5b5e2d7
- gcc compile fixes
2012-04-14 16:28:36 +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
a975805ae8
Fixed #850 .
2012-02-17 19:30:40 +00:00
DjWarmonger
9e5fcc3152
Stack artifact backup.
...
Still doesn't serialize properly, though.
2012-02-10 10:32:21 +00:00
DjWarmonger
2bddf29cbf
Stack artifacts part 2, not working yet.
2012-02-04 16:34:29 +00:00
DjWarmonger
b8a5d0d430
Stack artifacts - part 1
2012-01-30 16:07:52 +00:00
DjWarmonger
855cebfe81
- MIND_IMMUNITY bonus replaces separate protectons from various spells
...
- Creature Window can handle descriptions of spellcasting abilities
2012-01-27 07:25:29 +00:00
beegee1
7f04ed990b
Major refactoring. First part: BattleInterface
...
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +00:00
DjWarmonger
10fce0025a
Support for wall penalty & No Wall Penalty ability.
...
All creature abilities should now be more or less working.
2011-10-20 17:41:40 +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
18444fc72f
Rewritten code handling growth to eliminate duplication and make it conformant to OH3 mechanics. Proper support for Statue of Legion.
...
Displaying shield over minimap during AI turn.
2011-08-26 20:32:05 +00:00
DjWarmonger
864f758ad8
Some movements towards creature artifacts.
...
Minor improvement - Summon elemental can now benefit from hero's special.
2011-08-13 10:54:23 +00:00
DjWarmonger
e67b7b9da4
Some fixes for shooting vs Creature Window.
2011-08-06 07:05:04 +00:00
beegee1
55e7959fd9
* Bonus system caching updated, partially rewritten, much more robust, thread-safe
...
* Adjusted projectile speed, trebuchet canon speed
2011-07-13 18:39:02 +00:00
DjWarmonger
c53c226820
Support for Titan's Thunder (creating Spellbook) & Titan's Lightning Bolt.
2011-07-06 14:25:12 +00:00
Michał W. Urbańczyk
4592ddb74e
Fixing several issues with artifacts in hero window described in note http://bugs.vcmi.eu/view.php?id=761#c1828 . Also resolving #741 .
2011-07-03 01:03:46 +00:00
DjWarmonger
bdce46ab60
Minor refactorings, fixes & improvements.
...
Moved CArtifactSet to ArtHandler. ObjectHandler is already too messed.
2011-06-24 17:43:02 +00:00
mateuszb
c71127809e
* minor fixes for revision 2193 (no shooting penalty bonus wasn't needed indeed but was poorly removed)
...
* minor changes
2011-06-22 12:44:28 +00:00
DjWarmonger
423fd2ffb7
Fixed #756
...
Extended range (ui64) for army strenght.
2011-06-21 09:31:08 +00:00
DjWarmonger
e7bbfb615c
Removed odd "no shoting penalty" bonus. It seems to be confused with No Distance Penalty.
2011-06-20 06:42:53 +00:00
DjWarmonger
a497c88bde
Fixed #128 and #301
2011-06-18 05:55:39 +00:00
DjWarmonger
936005aa1c
Correct, yet ugly handling of Magic Resistance.
2011-05-29 18:28:50 +00:00
DjWarmonger
d4ed4cf9a0
Minor fix.
...
A general issue: "shooter" artifacts should display bonus only for shooting creatures.
2011-05-25 18:12:26 +00:00
Michał W. Urbańczyk
39120fe4a5
Spell scroll improvements, fixing #689 , #690 , #691 .
...
CArtPlace now uses common CInfoWindow for r-click popup (with or without a custom component), old CMessage::genWindow no longer needed.
2011-03-12 21:55:31 +00:00
DjWarmonger
b9f301b600
Better implementation of creature window, minor fixes.
...
Check forum for new graphics.
2011-03-06 12:12:22 +00:00
mateuszb
1458cf64c2
* fixed bug 298
...
* fixed INDEPENDENT_MIN bonus value type
* minor changes
2011-02-21 16:53:23 +00:00
mateuszb
43468e16e1
* bug 97 fixed
...
* better handling of BLOCK_SPELLS_ABOVE_LEVEL bonus
2011-02-21 13:27:31 +00:00
Michał W. Urbańczyk
4c9edd3f06
Many fixes around bonus system. Some basic propagation mechanism (not clever but works).
2011-02-21 04:13:00 +00:00
mateuszb
fcdc3f0bdd
Various changes, including exprank limiter and development towards Tactics secondary skill support.
2011-02-12 16:12:48 +00:00
Michał W. Urbańczyk
c6db92c0be
More development around bonus system: building hierarchy, managing morale bonuses. Fully functional Spell Scroll and Angelic Alliance artifacts. Fixed recruiting hero and moving hero to garrison.
2011-02-04 14:58:14 +00:00