Vadim Markovtsev
2c1dddde33
Fix memory problems with BonusList
...
Bonus * -> std::shared_ptr<Bonus>
This cures the following problems:
1) Memory corruption at exit. Some Bonus-es were deleted twice (mods?).
2) Memory leaks. Some Bonuses were not deleted.
3) Reduce the number of "Orphaned child" messages.
Valgrind reports 0 leaked memory now and no invalid reads/writes.
2016-09-29 15:08:00 +02:00
AlexVinS
53b5587c2e
Advance map header serialization
2016-02-21 21:21:22 +03:00
AlexVinS
e0af4a665a
Added hacks fot spell scroll support.
2016-02-13 19:43:05 +03:00
AlexVinS
483276b128
Merge fixes
2016-02-04 12:28:12 +03:00
AlexVinS
1bc41b3ba3
Merge commit '3c844002626f48007a888d4dd8b0b45ec867fc9a' into feature/VCMIMapFormat1
...
Conflicts:
lib/mapObjects/CGHeroInstance.cpp
2016-02-03 05:04:44 +03:00
Vadim Markovtsev
afa95312ba
Fix 2139 captured spell scroll descriptions
2016-01-25 08:49:26 +03:00
AlexVinS
89d986fc6a
Merge remote-tracking branch 'remotes/origin/develop' into feature/VCMIMapFormat1
...
Conflicts:
lib/CArtHandler.h
lib/mapObjects/MiscObjects.cpp
2016-01-24 15:39:41 +03:00
AlexVinS
408f346541
Drafts for hero serialization
2016-01-24 15:35:08 +03:00
Vadim Markovtsev
11bce2908d
Fix 1723 quest crash on combined arts
2016-01-22 12:56:25 +03:00
AlexVinS
37d0dad70a
Merge branch 'develop' into feature/VCMIMapFormat1
...
Conflicts:
lib/CArtHandler.cpp
2016-01-01 20:28:52 +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
AlexVinS
f33bcee84c
post-merge fixes
2015-12-05 13:56:38 +03:00
AlexVinS
6f203fb7e2
Save string identifiers for all game objects
2015-12-05 12:36:39 +03:00
Vadim Markovtsev
e4b1ef1405
Add "override" to virtual overriden methods
2015-10-13 21:05:36 +03:00
ArseniyShestakov
de6752c048
Implement CArtHandler::isBigArtifact and CArtifact::isTradable
2014-12-24 20:43:35 +03:00
Ivan Savenko
32240da34e
Reduced number of #include's in headers. May break compilation on Win
...
since some net packs now need DLL_LINKAGE
2014-06-25 17:11:07 +03:00
Ivan Savenko
ab475195ac
Banks now use new scheme as well
...
- Implemented Bank Constructor object.
- Merged Pyramid object into common Bank class. Banks can now grant
spells as part of their reward.
- Move bank config code to config/objects/creatureBanks.json. Note: WoG
banks are not updated yet, should be moved to WoG mod.
- Updated AI code so it can correctly evaluate bank danger (should be
generic enough for use with other objects)
- New files JsonRandom.* that contain routines for loading random
objects from Json (still WiP but should be stable)
2014-06-22 13:39:40 +03:00
beegee1
fe1b16a7ec
Some preparation towards mantis #1743 :
...
- refactored CRandomGenerator (added util methods, improved method names)
- usages of std::minstd_ran are replaced by CRandomGenerator (not in entire code base, C rand() usages are still not replaced)
- refactored getArtSync method of CArtHandler -> now named pickRandomArtifact
- fixed some compiler warnings
- updated source code URL in VCMI spec
2014-03-17 19:51:07 +00:00
Ivan Savenko
3560bbb7f3
two patches/pull requests from janisozaur
...
- replace our custom bmap with std::map::at()
- compile fixes for editor
2013-11-12 10:45:42 +00:00
Ivan Savenko
ee6cdbeffe
went through the rest of cppcheck warnings, mostly harmless
2013-11-07 12:48:41 +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
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
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
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
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
alexvins
5b2f176c27
compile fix
2013-01-21 18:27:00 +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
beegee1
0311e5e6f5
- Added basic mock/test generation - Added stub for terrain editing
2013-01-06 19:30:12 +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
99e7177d57
Fixed unitialized ptrs in CArtifacts.
...
Parsing for adventure map def for artifacts.
2012-12-16 11:35:14 +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
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
cff758cfba
Moved artifact-related text to CArtifact class.
2012-12-06 19:03:47 +00:00
Ivan Savenko
2cd774fe42
- gcc 4.5 compatibility
2012-11-02 20:08:37 +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
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
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
DjWarmonger
cf45239332
Fixed #1035 .
...
Support for commander artifacts that accumulate bonus after battle.
2012-07-16 16:18:02 +00:00
DjWarmonger
4d62525ff7
- Restored missing code for BattleInfo::getAvaliableHex - Elementals will now be placed correctly
...
- Fixes for BattleHex::getDistance returning 0 for adjacent hexes
- All stacks will now be placed after obstacles (fixes #1004 )
- Removed unused code from ArtHandler
2012-06-16 14:25:39 +00:00
DjWarmonger
e0135ab6a6
Fixed Commander artifacts management, including #968 .
2012-05-25 15:10:38 +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
82f3bc8135
- Commanders will now be properly intialized
...
- Commanders show in the battle
2012-04-28 11:41:20 +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
DjWarmonger
9e5fcc3152
Stack artifact backup.
...
Still doesn't serialize properly, though.
2012-02-10 10:32:21 +00:00
DjWarmonger
b8a5d0d430
Stack artifacts - part 1
2012-01-30 16:07:52 +00:00
beegee1
7f04ed990b
Major refactoring. First part: BattleInterface
...
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +00:00
Frank Zago
c4b8039c1e
Added a missing rturn in CGameHandler::isAllowedExchangeForQuery. Fixed several typos.
2011-09-24 01:15:36 +00:00
DjWarmonger
e3a8a41063
Fixed #804 .
...
Phoenix won't upgrade to Centaur Captain ;)
Minor tweaks.
2011-09-05 06:37:24 +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
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
Frank Zago
f7a4bb906c
Several minor cleanups.
2011-05-04 02:38:58 +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
Michał W. Urbańczyk
a46ad0b7ef
Next set of fixes, mostly for deserialization.
2011-02-22 09:47:25 +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
Michał W. Urbańczyk
a75a37008f
Practically finished combined artifacts changes, many other fixes.
2011-01-28 02:11:58 +00:00
Michał W. Urbańczyk
3fde9e45df
Partially redone combined artifacts.
2011-01-22 03:43:20 +00:00
Michał W. Urbańczyk
898ad292ea
A few fixes for artifacts.
2011-01-18 18:56:14 +00:00
Michał W. Urbańczyk
502bb5392e
The last set of fixes for non-combined artifacts operations.
2011-01-15 17:58:08 +00:00
Michał W. Urbańczyk
ebb9c84da9
Artifacts, updated map loading.
2010-12-30 14:41:46 +00:00
Michał W. Urbańczyk
c9189119b9
Little more work on artifacts.
2010-12-29 21:04:22 +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
2cf6729eee
Towards duel support.
2010-12-25 01:43:40 +00:00
mateuszb
49083c4e5a
* ConstTransitive CGI more or less done
...
* hch contents distributed to more appropriate folders
2010-12-20 21:22:53 +00:00