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
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
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
de01ea54b0
- Added stream-like logging - Schema refactoring
2013-04-06 17:45:02 +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
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
Ivan Savenko
b413d80ccc
- better logging of some config files errors
...
- restored lvl 10 for some dragons
2013-03-09 13:16:35 +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
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
DjWarmonger
7174977888
Fixed incorrect components of Cornucopia.
2013-03-03 19:15:48 +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
DjWarmonger
ef6be76480
WoG creature sounds from Kuririn.
2013-03-03 17:00:45 +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
cc2391d641
Fixed Spellbinder's Hat giving level 1 spells instead of 5.
2013-03-02 11:54:02 +00:00
Ivan Savenko
9c1c337a3d
- fixed #1220 and #1218
...
- vcmibuilder will correctly install campaign video
2013-02-27 15:46:14 +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
c330188ef5
* Randjan's list of campaign prologue/epilogue voices
2013-02-23 19:46:21 +00:00
mateuszb
fbb1ae1bb8
* prologue videos (according to Randjan's list)
2013-02-22 21:03:56 +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
DjWarmonger
b554af25d3
- Compile fix
...
- Fixed Basilisk spawning at Hive
- Fixed double-shot of Marksman
2013-02-11 17:23:55 +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
f1c78e3260
* creature ID refactoring
...
* double week creatures are configurable now
2013-02-07 17:34:50 +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
8769f67c5d
* JsonReader can convert to enums
...
* refactoring
2013-02-03 21:05:44 +00:00
Ivan Savenko
a82601db72
- playing a bit with ttf fonts: bugfix + shadow rendering
2013-01-29 22:43:39 +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
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
alexvins
14909444b5
small fix to spell config
2013-01-20 10:00:04 +00:00
alexvins
36469f406c
Fix results of merge conflict with Warmonger. + more fixes to barseBonus.
...
Bonus duration now can be array and parsed to bitmask as designed.
2013-01-16 16:41:01 +00:00
alexvins
29c54d1cdc
small fix typo in spell_info.json
2013-01-16 14:31:24 +00:00
DjWarmonger
d7c9377843
- Parsing propagators and limiters
...
- Experimental support for chaining limiters
- Added missing abilities, propagators and limiters to artifacts
- Sketch of Calculator for bonuses, ignore it for now
2013-01-16 13:02:01 +00:00
alexvins
53b684180d
[refactor]
...
* use spells configuration (all timed effects for battle spells)
* a few more cleanups
+register erm resource types (useful in future and less noise in log now)
2013-01-16 11:19:04 +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
alexvins
68e91ada1c
[refactor]
...
* spells are now more configurable (unused yet, WiP)
* a few more cleanups
2013-01-15 14:20:48 +00:00
beegee1
0311e5e6f5
- Added basic mock/test generation - Added stub for terrain editing
2013-01-06 19:30:12 +00:00
DjWarmonger
1807a8a536
- Bonus subtype will now be resolved using string identifiers.
...
- Registered secondary skills and resource names in identifier pool
2012-12-26 09:46:09 +00:00
DjWarmonger
91175f377b
Removed redundant default parameters from artifact config.
2012-12-25 19:55:34 +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
alexvins
399fbb4dfa
[config] small cleanup
2012-12-23 23:17:33 +00:00
Ivan Savenko
8824f5e2d5
- H3 creatures use subset of mod creature format (todo - unify code)
...
- creatures configs moved into confg/creatures files, similar to factions.
- creatures ID's use same camelCase format as the rest of the game
2012-12-22 16:47:12 +00:00
Ivan Savenko
b5ebf443fc
- all fonts handling is now in new file, UIFramework/Fonts.cpp/h
...
- common base class for H3 bmp and ttf fonts
- replaced fonts.txt with fonts.json
2012-12-19 17:24:53 +00:00
DjWarmonger
0e06ac15ad
- Commanders are now a part of faction config
...
- Support for external dwellings for new towns
2012-12-19 16:35:58 +00:00
Ivan Savenko
94c55e2632
- string ID's for spells (not configurable due to hardcode)
...
- spell chances in new towns guilds can be specified in config
2012-12-18 10:32:11 +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
ff146a80fe
- fixed empty tavern in new towns
...
- by default new heroes\new towns will be enabled on maps (no effect without mods)
2012-12-17 12:55:29 +00:00
Ivan Savenko
e36bc50504
- support for new heroes and hero classes
...
- moved hero-specific data from text handler to CHero
- moved hero classes-specific data into heroClasses.json
2012-12-16 13:47:53 +00:00
Ivan Savenko
d2ee602b29
- fix uninitialized cursor
...
- stubs for loading heroes and classes from mods (no real code yet)
- heroes loading uses string IDs for secondary skills, some cleanup in HeroHandler
2012-12-15 08:47:02 +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
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
e3231db1c9
- primaryResource and warMachine now use string ID
...
- fixed long delays on moving units in garrisons
- fixed bug on loading available spells from map
- removed unused bigImgs from Graphics
2012-12-11 12:12:46 +00:00
Ivan Savenko
16b72ee89b
minor:
...
- siege tower shooters use string ID's
- cmake will install vcmibuilder with correct permissions
- vcmibuilder will not extract outdated config files from core.zip
2012-12-10 20:08:00 +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
f4ec678b0c
Removed unused code. Some properties of artifacts will be generated automatically.
2012-12-07 11:35:57 +00:00
Ivan Savenko
85a23e298c
- generic string ID -> numeric ID resolution system
...
- - hero army and creature upgrade names are resolved using new system
- - faction names and creatures in towns are resolved using new system
- (linux) replaced build_data.sh with hopefully better vcmibuilder script
- minor fixes
2012-12-03 16:00:17 +00:00
DjWarmonger
ca9033d0e4
- Support for "Enchanted" WoG ability.
...
- Precision will not be cast on non-shooters
2012-12-01 18:30:03 +00:00
DjWarmonger
13a5a820d0
- Fixed #1032
...
- Fixed upgrades not working after recent changes. Now all upgrades will be handled by creature names.
2012-11-14 15:26:33 +00:00
beegee1
c336abcf4a
* Added RMG tab to pregame(disabled by default, activate with: enableRMG=true in settings.json) * Fixed tab intendation * Renamed colors to more comprehensible names
2012-11-11 12:23:31 +00:00
Ivan Savenko
9f0441a0be
- adventure map defs are now part of town config. Should be the last part
...
- possibly fixed #1136
2012-10-05 19:57:28 +00:00
Ivan Savenko
c071a03a8a
- fix for #1135
...
- merged wall_pos.json into town config
- removed tower_shooter field from creatures.json
2012-10-05 18:03:49 +00:00
Ivan Savenko
306d64b0c4
- it is possible to read json file with vector
...
- town configuration:
- - all town-related texts are now in TownHandler
- - alignments are now part of faction
- - removed CTown::bonus field
2012-10-05 13:11:26 +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
Ivan Savenko
3542bfdc63
- fixed #1128 #1127 #1121 #1119
...
- instructions in linux readme use cmake instead of autotools
- update autoconf files
2012-10-02 14:22:58 +00:00
DjWarmonger
b6a20b6e99
Fixed teleporting animation ( #818 ). Flying ability with subtype "1" will cause movement animation to skip (teleport).
2012-09-29 12:40:12 +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
Ivan Savenko
8f936cd34d
- added battleAI to CMake, compile fixes
...
- icons config for towns and creatures
2012-09-22 15:10:15 +00:00
Ivan Savenko
99dcb73a72
- filesystem.json files for wog and vcmi data
...
- merged puzzle map into town configuration (todo: sieges, adventure map, icons)
2012-09-20 21:28:18 +00:00
alexvins
a7ff036550
config\creatures.json comments cleanup
2012-09-15 18:14:22 +00:00
Michał W. Urbańczyk
74f9c19a7c
Implemented spell countering.
2012-09-13 23:41:03 +00:00
Ivan Savenko
0ca9f64573
Next part of town configuration:
...
- town screen is mostly implemented, has some minor issues
- factions are now separate from towns, neutrals have faction with id=9
- more constants to GameConstants: town-specific buildings, strings for terrains and resources
- replaced most access to builtBuildings with isBuilt() method
- replaced id's with enums for town subtype and buildings id's
2012-09-05 12:49:23 +00:00
Ivan Savenko
44cc848edc
first part of town configuration:
...
- moved almost all loading to TownHandler
- CBuildings and CStructures are now part of CTown
- merged hall.json into buildings.json
Should not cause any crashes or glitches
2012-09-02 10:33:41 +00:00
Michał W. Urbańczyk
6530e7a1e1
* servers will not allow using out-of-range slots ( #1061 )
...
* server won't crash on some scenarios when they're used
* fixed some minor discrepancies with creature placement in creature banks
2012-08-30 16:01:19 +00:00
Michał W. Urbańczyk
d0e2f25cfe
* No explosion when catapult fails to damage the wall
...
* Missing abilities for Azure Dragon (tons of others are still missing...)
2012-08-29 13:44:39 +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
DjWarmonger
edbc7f1223
- Some hardcoded settings will now be read from config/defaultMods.json
...
- Fixed AI crash when it was placed in closed and safe area
2012-08-11 09:06:23 +00:00
Ivan Savenko
d72c44e4c3
- fixed modifiers keys behaviour in TextInput
...
- erm compilation is optional in cmake (too memory-consuming for old systems)
- minor fixes
2012-08-10 08:49:18 +00:00
Ivan Savenko
7e778045b8
- removed no longer used CSndHandler. Transition to new fs is finished
...
- moved TownHandler::requirements to CBuilding class
2012-08-09 10:32:50 +00:00
Ivan Savenko
94cfc99d7b
- fixes #1044
...
- fixes to linux video player
2012-08-08 20:58:06 +00:00
Ivan Savenko
28f0263298
- compile fixes
...
- filesystem tweaks
2012-08-08 10:17:46 +00:00
Ivan Savenko
9cbc1f1058
- merged basicCreatures and upgradedCreatures into single array
...
- missing fix for savegames
2012-08-07 21:46:24 +00:00
Ivan Savenko
8040a81eec
- fixed save games issues ( #1044 )
...
- hopefully some speedup for filesystem loading (#1048 )
2012-08-07 11:28:52 +00:00
Ivan Savenko
708ad6ac7f
- music player uses URI's instead of enum from music base
...
- #1045 and #1046 should be fixed
- moved pregame backgrounds to config/mainmenu
- animation can be overriden with .json multiple times
2012-08-06 07:34:37 +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
cf45239332
Fixed #1035 .
...
Support for commander artifacts that accumulate bonus after battle.
2012-07-16 16:18:02 +00:00
Ivan Savenko
235cf458d7
- fixed text duplication in choice windows
...
- fixed compile issues
- added unused and untested for now CComponentBox
2012-07-02 21:51:48 +00:00
Ivan Savenko
613172fa45
- fixed #582 , #1019 and #1022
...
- linux readme tweaks
2012-06-27 20:44:01 +00:00
Michał W. Urbańczyk
3df1ddbf86
Post-release version bump.
...
Fixed #986 .
2012-06-01 21:31:41 +00:00
Michał W. Urbańczyk
b7c4da65b5
Integrated 1280x800 resolution from #972 .
...
Version set to 0.89.
Updated changelog.
2012-06-01 17:11:30 +00:00
Ivan Savenko
7ddf76a081
- fixed #967
...
- removed unused settings.txt
- fixed player flags on info windows.
2012-05-26 17:59:00 +00:00
DjWarmonger
d34cf90bf7
Support for Chain Lightning.
...
Fixed getClosestTile function.
2012-05-20 11:40:23 +00:00