DjWarmonger
3ac306f501
Merge pull request #19 from vcmi/feature/mapObjects
...
Feature/map objects
2014-06-22 14:49:42 +02: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
DjWarmonger
d3134a1290
Add free tiles around unguarded objects.
2014-06-18 10:31:08 +02:00
DjWarmonger
f84e25fa78
Somewhat better algorithm for paths, helps balance object distribution.
2014-06-18 09:57:36 +02:00
Ivan Savenko
0a71e89f58
Created large number of missing objects in configs
...
Minor bugfixes in code
2014-06-17 14:57:47 +03:00
Ivan Savenko
09d595e385
- Implemented "mapObject" entry for hero classes
...
- Updated schemas
- Some bugfixing
2014-06-16 19:27:26 +03:00
Ivan Savenko
89b89ff85d
Bugfixing. Game seems to be working without major bugs.
2014-06-15 23:25:10 +03:00
DjWarmonger
60df94a3f5
Placing towns according to template.
2014-06-15 21:23:53 +02:00
DjWarmonger
8e66b7168a
Corrected paths & guard for large objects.
2014-06-15 19:56:58 +02:00
Ivan Savenko
836c466f81
- Implementation of overrides for towns
...
- Converted dwellings.json into new format
- Implemented "mapObject" entry in town format
- Removed capital/fort/village fields from town in favor of overrides
2014-06-15 19:43:01 +03:00
DjWarmonger
01355a77d8
Added "monster strength" info to templates.
2014-06-15 11:08:06 +02:00
DjWarmonger
890f29fa7e
Improved guard placement for large objects.
2014-06-15 09:39:30 +02:00
DjWarmonger
aa54803c50
Refactoring, clearing logs.
2014-06-15 08:48:46 +02:00
DjWarmonger
79da7b92ce
Templates now contain info about mines.
2014-06-14 20:05:19 +02:00
Ivan Savenko
7cfd9a0903
First part of implementation of some type-specific handlers.
...
TODO:
- merge dwellings.json into object configs
- proper implementation of overrides for towns
- fully connect new API to RMG/H3M
2014-06-14 18:42:13 +03:00
DjWarmonger
93b44de63c
Handling "terrain type" and "match terrain to town" options.
2014-06-14 17:14:59 +02:00
DjWarmonger
6cbcfbf0a9
Sealed-off treasure piles will be discarded and filled with obstacles.
2014-06-13 12:04:17 +02:00
DjWarmonger
edd46d87c1
Treasure pile entrance/guard will always be aimed at the center of the zone.
2014-06-13 08:00:26 +02:00
AlexVinS
56c74bc46a
+More build target to support both SDL1 and SDL2 builds
2014-06-13 07:55:48 +04:00
AlexVinS
bbd0312b45
Tweak configuration
2014-06-13 07:55:47 +04:00
Ivan Savenko
6205d07223
Re-enabled video player, should now work with SDL 2
2014-06-13 07:55:46 +04:00
Ivan Savenko
8eb661461c
- vcmi compiles with SDL2 on Linux, video player is disabled for now
2014-06-13 07:55:45 +04:00
AlexVinS
ac2896da42
Implemented SDL2 unicode input. Hotkeys are sill broken.
2014-06-13 07:55:42 +04:00
AlexVinS
30fd9987cf
change minizip.cbp, VCMI_lib.cbp to new externals layout
...
* static link with zlib for now - I don`t want to mix with SDLs zlib
2014-06-13 07:55:37 +04:00
DjWarmonger
2c1001f8e0
Making sure that treasure piles and other objects will always be accessible from the center of zone.
2014-06-12 21:51:16 +02:00
DjWarmonger
236b3ec807
Zones will get random network of passable paths inside them. Treasures will try to fill all remaining fields.
2014-06-12 21:10:43 +02:00
DjWarmonger
1a34297c33
Rearranged treasure pile info.
2014-06-08 14:35:41 +02:00
DjWarmonger
c82bfd0f3e
- Fixed guard generation
...
- Added Jebus template for comparison
2014-06-08 08:42:29 +02:00
DjWarmonger
fed2821a94
Fixed behaviour with extreme treasure values.
2014-06-07 22:27:36 +02:00
DjWarmonger
81a64a8e67
Templates can now use multiple configurations of treasure piles.
2014-06-07 15:51:03 +02:00
DjWarmonger
b3a39f4920
Misc improvements & tests.
2014-06-07 14:02:57 +02:00
DjWarmonger
dd5c94fa1e
Fixed overlaping of treasure piles.
2014-06-07 10:47:38 +02:00
DjWarmonger
b68f16e89e
Make sure that non-removable objects have their visitable tile accessible.
2014-06-07 10:13:59 +02:00
DjWarmonger
743d8dcf9f
Treasure piles won't be placed at free tiles.
2014-06-07 09:09:50 +02:00
Ivan Savenko
44742814cd
More cleanup:
...
- moved SoundBase.h to lib since it contains shared data
- added RMG info to object format. Note that data is not yet imported in
configs
- slightly updated API of object handlers
2014-06-05 23:51:24 +03:00
DjWarmonger
e4ea6727b7
Treasure piles should always be accessible.
...
Boosted treasure value for better overview.
2014-06-05 21:37:39 +02:00
DjWarmonger
1746ab8c12
Added spell scrolls to the mix.
2014-06-05 20:19:42 +02:00
Ivan Savenko
b2e8c92383
Cleanup:
...
- removed commented-out #includ'es
- renamed some files to match name of class
2014-06-05 20:26:50 +03:00
Ivan Savenko
76bf5351c6
Line endings are now unix-style
2014-06-05 19:57:43 +03:00
Ivan Savenko
652ceb2bde
Finally shattered CObjectHandler.cpp into tiny bits
...
- This file is now split into multiple smaller files in mapObjects
directory
- CObjectHandler itself now contains only core classes (Handler itself,
CGObject and interfaces)
- Cleaned up excessive #include's through whole project
2014-06-05 19:52:14 +03:00
DjWarmonger
e54c816c92
Treasure piles can now cover several tiles.
2014-06-05 17:19:11 +02:00
Ivan Savenko
0afdfa529c
Moved all object-related files to lib/mapObjects directory.
...
Renamed some classes to more readable names
2014-06-05 14:19:47 +03:00
Ivan Savenko
1d5d4e3248
Fixed broken in some cases behavior of "base" entries.
...
Maps with new objects seems to be working correctly now, objects are
correctly initialized with base values even with null input
2014-06-04 22:59:28 +03:00
DjWarmonger
c470b9606b
Obstacles won't be generated around unguarded objects.
2014-06-04 20:59:01 +02:00
Ivan Savenko
971a93b4f1
Fixed missing serialization of new types
2014-06-04 20:43:54 +03:00
DjWarmonger
464ffc4afa
Implemented (hopefully) original treasure randomization algorithm.
2014-06-04 19:08:04 +02:00
DjWarmonger
fe05de9aff
Fixed copying zone settings.
2014-06-04 15:41:32 +02:00
DjWarmonger
fdb81f4d5c
Reading treasure values from config.
2014-06-04 15:16:23 +02:00
Ivan Savenko
e9b41cd3c6
Minor fixes, no more missing objects & templates
2014-06-04 14:15:58 +03:00
Ivan Savenko
7e057b6df8
Bugfixing, game can finally load to main menu without crash
2014-06-04 11:25:13 +03:00
DjWarmonger
62e9f13b08
- Implemented guard generation formula following this post http://forum.vcmi.eu/viewtopic.php?p=12426&sid=09f5fac8992dc880eb6a720615787ca0#12426
...
- Some primitive way to randomize treasures
2014-06-04 10:16:08 +02:00
Ivan Savenko
32b6568b65
Merged changes from upstream and fixed compilation caused by API changes
2014-06-03 22:45:18 +03:00
Ivan Savenko
dc7f820161
Implemented object schema. Commiting current progress before sync with
...
upstream.
2014-06-03 21:43:33 +03:00
DjWarmonger
6221f4ac2c
- Corrected guard types
...
- Corrected town positions
2014-06-03 08:57:20 +02:00
DjWarmonger
2aa53e9568
Corrected guard calculation to match OH3.
2014-06-02 15:38:42 +02:00
DjWarmonger
7db06e6bd0
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-01 21:53:00 +02:00
DjWarmonger
37463a3e45
Zone position will be moved to its center of mass.
2014-06-01 21:01:18 +02:00
DjWarmonger
7f31b7dddb
- Zone guards will now match template settings.
...
- Added guards for monoliths.
2014-06-01 16:31:49 +02:00
DjWarmonger
3c5a65af3d
- Random monsters will have proper strength.
...
- Fixed blocking of tiles under objects
2014-06-01 14:10:44 +02:00
DjWarmonger
aee748d8d6
- Added monoliths between remote zones
...
- Fixed land connections between zones, now they're generated correctly.
2014-06-01 12:02:43 +02:00
DjWarmonger
e97933035c
Randomized connections placement (?)
2014-06-01 10:15:03 +02:00
AlexVinS
f212c8221d
[RMG]Fix gcc build, remove some unused variables
2014-05-31 16:11:20 +04:00
DjWarmonger
3c6a1fb715
Large objects will not spawn at blocked tiles.
2014-05-31 12:26:59 +02:00
DjWarmonger
8e8b27087a
Ground connections between adjacent zones.
2014-05-31 10:56:14 +02:00
DjWarmonger
8ab2a8df86
Zone borders.
2014-05-30 21:23:41 +02:00
DjWarmonger
8c24ea0bfb
Introduced 3-value logic for free, blocked and possibly occupied tiles. Refactoring.
2014-05-30 16:50:06 +02:00
DjWarmonger
8ea175ce95
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-05-30 07:33:32 +02:00
beegee1
72b2e1b8fe
- fixed bug when generating random map and adding player info data
2014-05-29 17:34:46 +02:00
beegee1
40ab89e179
- copy of campaign heroes can be done later (at the point where it's clear if they will be replaced)
2014-05-29 17:07:21 +02:00
Ivan Savenko
1d17d60449
gcc update:
...
- removed support for 4.6
- compilation fixes for 4.7
2014-05-29 13:42:05 +03:00
DjWarmonger
690f4a650a
Even better zone shapes.
2014-05-28 21:11:10 +02:00
DjWarmonger
c627aa608a
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-05-28 19:34:12 +02:00
karol57
6a65802f22
Removed hardcoded value
2014-05-26 11:52:27 +02:00
karol57
5907735676
All inline functions are now part of definition.
2014-05-26 10:37:04 +02:00
karol57
dd33fd51a8
int3 dist2d microoptimization
2014-05-25 20:42:25 +02:00
karol57
df8cce0d61
Declarations and definitions are now separated.
...
Added explicit int3(si32) c-tor.
Operators like += now return reference to object.
Operator != has now own implementation.
Added dist2SQ for optimization proposes.
areNeighbours now uses dist2SQ
Removed unnecessary comments
2014-05-25 20:12:53 +02:00
DjWarmonger
8f033a7834
Golden ratio for smoother zone shapes.
2014-05-25 13:30:47 +02:00
AlexVinS
c40c79fa94
Make gcc happy
2014-05-25 13:02:15 +04:00
DjWarmonger
69457dbd75
- Implemented some really nice gravity-based algorithm
...
- Fixed zones placed outside the map (causing various bugs)
2014-05-25 06:20:02 +02:00
DjWarmonger
b9de3875d9
- Attempt to move zones away from map boundaries
...
- Tweaking algorithm parameters
- Refactorings
2014-05-24 18:39:58 +02:00
Ivan Savenko
67f11b1a01
- First part of objects configuration
...
- split objects into 3 files (for now)
- integrated object class handler into mod handler
2014-05-24 15:45:29 +03:00
DjWarmonger
021c6b9af3
All zones will be painted with terrain. Removed unused code.
2014-05-24 14:33:22 +02:00
DjWarmonger
d2fd71d087
Zone shapes & terrains work nicely.
2014-05-24 14:06:08 +02:00
DjWarmonger
27dcf70b1a
Randomized center positions of zones.
2014-05-24 12:42:06 +02:00
Ivan Savenko
7f276185bd
Moving files:
...
- new config for objects (config/objects/generic.json)
- renamed lib/CDefObjectHandler to lib/CObjectClassesHandler
2014-05-24 02:07:54 +03:00
Ivan Savenko
6bd6be0835
Object class handler is now a proper "handler"
...
- Some changes in interfaces
- Fixed some missing fields in serialization
- Moved object names to new handler
2014-05-24 01:56:51 +03:00
DjWarmonger
3a6f748fb5
Paint native terrain in zones.
2014-05-23 21:43:33 +02:00
DjWarmonger
75cea9206d
- Fixed uninitialized guarding creature positions
...
- Fix for guard placement
2014-05-23 19:45:17 +02:00
DjWarmonger
35d6215b7b
jfhs patch integration is now complete:
...
Lots of fixes for object placement.
Fixed blocked paths on generated maps.
2014-05-23 19:14:33 +02:00
DjWarmonger
4ea9810831
First version that works:
...
- Covered RMG with exceptions
- Fixes for object randomization & placement
2014-05-23 17:12:31 +02:00
DjWarmonger
342aec0700
More rollback.
2014-05-23 13:23:03 +02:00
DjWarmonger
5b0b152aa3
Trying to restore recent type of mapGenOptions.
2014-05-23 11:56:51 +02:00
DjWarmonger
eae7e5c51f
Rolled back some incorrect values.
2014-05-23 09:22:22 +02:00
DjWarmonger
67793a2db4
Some more.
2014-05-22 21:40:34 +02:00
DjWarmonger
2d8cd1c5b5
Some more.
2014-05-22 21:06:26 +02:00
DjWarmonger
aead8da54f
Fixed some obvious bugs with random map options.
2014-05-22 20:50:24 +02:00
DjWarmonger
1e1dce20a8
Something that compiles, but crashes when launching RMG map.
2014-05-22 19:25:17 +02:00
DjWarmonger
88f962d6d5
Taken jfhs code as it is.
...
http://forum.vcmi.eu/viewtopic.php?p=10040#10040
2014-05-22 16:27:13 +02:00
AlexVinS
8a3b997fa5
fix a few comments. No code changes.
2014-05-21 13:02:20 +04:00
AlexVinS
6f65d2484b
Extract battleStackIsImmune from battleIsImmune
...
This fix possible problems with rising spells as now immunty is handled on stack level not on hex level
* battleIsImmune in now protected - only used in canCastThisSpellHere
2014-05-19 13:44:38 +04:00
AlexVinS
eff801f39a
Extract "inherit node" function
2014-05-19 02:28:44 +04:00
AlexVinS
2fc16b231f
Implemented inheritance semantic for spell level configuration.
...
This allows more simplification.
2014-05-18 21:16:10 +04:00
AlexVinS
f2b61f7e69
Spell configuration: introduce simplifaction mechanism for level conficuration
...
* also aviable for other handlers
2014-05-18 18:47:18 +04:00
AlexVinS
950ca1156a
Use absoluteLimit
...
* all "old" limits are now absolute
2014-05-18 17:55:26 +04:00
AlexVinS
b6b12ad8f6
Merge and simplify resistance calculation
2014-05-18 17:03:01 +04:00
AlexVinS
7cf64a0628
Made onlyAlive flag a part of TargetInfo
2014-05-18 17:03:01 +04:00
AlexVinS
6bf4140145
Just remove hardcoded targetting for DEATH_RIPPLE & DESTROY_UNDED.
...
It will now affect all creatures (massive, non smart). Immunities are handled separately.
2014-05-18 17:03:01 +04:00
AlexVinS
1431fcedf7
handleSpellCasting: Handle immunity before RESISTANCE. Now immune creatures shouldnt show resisted animation
2014-05-18 17:03:00 +04:00
AlexVinS
d9368ca5ba
Use new battleGetStacksIf method
2014-05-18 17:02:59 +04:00
AlexVinS
0e93ec28c5
Add new general method for battle stack access
2014-05-18 17:02:59 +04:00
DjWarmonger
e074c9b310
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-05-18 09:00:32 +02:00
DjWarmonger
e2d44f6ac6
Fixed #868 - wrong battlefield in ship-to-ship combat
2014-05-18 08:52:03 +02:00
DjWarmonger
9f28e4e4ca
Merge pull request #10 from Macron1Robot/works
...
Bug 0001789 correction (incorrect battle field detection)
2014-05-18 08:26:36 +02:00
Macron1Robot
e4cbfe7f0b
Bug 0001789 correction (incorrect battle field detection)
2014-05-18 03:16:53 +04:00
Ivan Savenko
419a2797c8
Implemented basic loading from JSON
2014-05-17 17:50:11 +03:00
AlexVinS
5be005ee36
Try to fix #1763 and a small refactoring
2014-05-17 11:24:26 +04:00
DjWarmonger
1ea6723a32
Merge pull request #8 from xyzz/android-rolling
...
Android port.
2014-05-17 05:17:54 +02:00
Ivan Savenko
b5160acbac
Finalization of object type handler interface
...
- updated code to use new interface
- removed old DefObjHandler (todo - rename file)
Summary:
- most code but loading is now in place
- type names may deserve improvements (some of them are too similar)
- still barely compiles and not tested
2014-05-16 23:50:02 +03:00
Ilya Zhuravlev
db7cd79cf7
Android port.
...
Conflicts:
lib/vcmi_endian.h
2014-05-16 23:24:29 +04:00
DjWarmonger
eb337d7407
Fixed #1638 - spells banned in map settings appeared in town guild
2014-05-16 12:15:35 +02:00
Ilya Zhuravlev
3c35b3eefe
Replace defined(linux) with __linux__/__linux/linux in vcmi_endian.h
2014-05-14 09:49:25 +04:00
beegee1
60f6c00f2e
Logging API: - removed unused method declaration - updated comments - ensured thread safety
2014-05-10 21:12:33 +02:00
AlexVinS
3e101d89ef
few formatting. Mostly space-> tab
2014-05-07 03:58:58 +04:00
DjWarmonger
fb5152254d
Merge branch 'develop' of git://github.com/Macron1Robot/vcmi into WarmysBackup
...
Conflicts:
client/CKingdomInterface.cpp
2014-05-02 12:03:02 +02:00
Macron1Robot
345df14d60
Update JsonDetail.cpp
...
Replaced new JSON by previous version of JSON comitted by IvanSav and added video file test again
2014-04-30 13:11:04 +04:00
Macron1Robot
9494c6d335
Update JsonDetail.cpp
...
Added video file existence check
2014-04-29 21:53:50 +04:00
Macron1Robot
cd7ec5716f
Update CObjectHandler.cpp
...
Changed type of "for" variable to auto in dailyIncome
2014-04-28 23:23:24 +04:00
Macron1Robot
558b155c0e
Update CTownHandler.h
...
Removed definition of unnecessary type
2014-04-28 23:18:56 +04:00
Macron1Robot
324bb3c98d
Update CModHandler.h
...
Returned type of loadConfigFromFile back to void
2014-04-28 23:17:24 +04:00
Macron1Robot
13ea6e39f0
Update CModHandler.cpp
...
Removed checking of defaultMods.json values
2014-04-28 23:15:36 +04:00
Macron1Robot
a3aa7314fe
Update CObjectHandler.cpp
...
Corrected daily resource income calculation for town buildings
2014-04-28 18:22:21 +04:00
Macron1Robot
2355f3abe1
Update CModHandler.cpp
...
Corrected errors
2014-04-28 11:07:44 +04:00
Macron1Robot
13cd400d27
Update CModHandler.cpp
...
Corrected error handling in CModHandler::loadConfigFromFile
2014-04-28 11:03:54 +04:00
Macron1Robot
7c1d3d17fc
Update CTownHandler.cpp
...
Corrected hadling of null "produce" section for legacy mod to make it more readable
2014-04-28 10:48:00 +04:00
Macron1Robot
1982ca861b
Update CObjectHandler.cpp
...
Deleted commented text and excessive assignment
2014-04-28 10:37:18 +04:00
Ivan Savenko
d805376ab8
Mostly final interface for object type handler
...
Partial implementation of object with reward constructor
2014-04-27 20:37:53 +03:00
DjWarmonger
4a71442c80
Missing changes.
2014-04-27 14:38:20 +02:00
Ivan Savenko
153dd1f5f9
- Added new files that should have been in last commit
2014-04-27 15:19:23 +03:00
Macron1Robot
8ec7a9b919
Moved "max heroes on map per player", "max heroes available for player" to "defaultMods.json"
2014-04-27 10:43:46 +04:00
Macron1Robot
907caedb13
Added "produce" section in "building" structure. Changed dailyIncome.
2014-04-26 18:23:35 +04:00
Ivan Savenko
7725232253
backup of current progress, started design of "Object configurer" that
...
will be responsible for configuring of ObjectWithReward's from json
config.
2014-04-25 17:59:05 +03:00
Macron1Robot
b7b890acff
Added "tavernVideo","guildBackground" to "faction" JSON config and schema. If "primaryResource" is set to "gold", silo will generate 500 gold per day
2014-04-24 23:36:18 +04:00
DjWarmonger
9e7013de77
Backup for my own MVS project configuration
2014-04-24 21:07:43 +02:00
O01eg
8110b65647
Fix for linking in MS VS and CodeBlocks.
2014-04-24 19:54:05 +04:00
O01eg
334bd28bd4
It compiles with -gdwarf-3
2014-04-20 14:10:46 +04:00
O01eg
c6238588bd
Rename new files.
2014-04-20 12:58:58 +04:00
O01eg
ad84ae64b0
Clean up.
2014-04-20 12:40:15 +04:00
O01eg
463073ebfa
Move CPrivilagedInfoCallback, IGameEventCallback and CNonConstInfoCallback to IGameCallback.h
2014-04-20 11:13:37 +04:00
O01eg
927eb33c11
Split IGameCallback to reduce memory required to debug compilation.
2014-04-19 21:44:21 +04:00
Ivan Savenko
a6c0886d03
It is possible to remove object as part of "reward"
2014-04-12 16:47:48 +03:00
Ivan Savenko
2c8af871fc
Added possibility to add custom components to reward description.
...
Used to properly display morale/luck rewards since bonuses don't provide
components associated with them.
2014-04-12 16:16:23 +03:00
Ivan Savenko
cb5b5a05c1
Player can refuse single reward (e.g. Tree of Knowledge)
2014-04-12 14:47:20 +03:00
Ivan Savenko
a4e7987835
Fixed some missing elements, mostly messages
2014-04-12 14:35:48 +03:00
Ivan Savenko
ba5092d669
Some bugfixing, basic functionality of map objects seems to be working
2014-04-11 22:49:25 +03:00
Ivan Savenko
d14a16249d
Core functionality for new objects in now in place, not yet tested
...
- added selection of rewards
- moved "on grant" message to reward struct
- multiple minor fixes
2014-04-11 20:38:27 +03:00
beegee1
1d57b75bc5
- random number generation refactoring
...
- fixed mantis #1743
2014-04-10 19:22:32 +02:00
Ivan Savenko
dab9fd7148
Heroes will be properly marked as visited on visiting
2014-04-07 20:32:15 +03:00
Ivan Savenko
8beea4ec6a
More work on configurable objects:
...
- maps can be started
- visiting will be registered properly
2014-04-07 14:56:59 +03:00
Ivan Savenko
43ba3d30ea
Breaking things - first commit towards configurable object(s).
...
- New files: lib/CObjectWithReward.h/cpp
- Classes that will be replaced by configurable object are now in this
fil
Status: far from functional, currently at "it compiles" point, some
essential pieces are still missing.
2014-04-06 23:14:26 +03:00
beegee1
48e7b7d805
- Some performance improvements for logging
2014-04-01 19:46:47 +00:00
DjWarmonger
30b79588db
- Moved gameState::guardingCreaturePosition() to CMap so it doesn't need to be recalculated many times for every player.
...
- Some optimizations with local cb pinter in VCAI.
2014-04-01 11:53:28 +00:00
DjWarmonger
ec54381b12
Some more optimization.
2014-03-31 15:26:47 +00:00
DjWarmonger
a64df5718f
Some nontrivial optimizations based on profiling results:
...
- Movement bonuses will be calculated ONCE per pathfinder loop
- Goals will be sorted by hero to reduce number of calculatePaths calls
2014-03-31 14:26:09 +00:00
DjWarmonger
8683c8c0eb
- Added and improved some propagators, including Crystal Dragons ability ( #1232 )
...
- Minor refactoring in AI
2014-03-29 21:39:19 +00:00
Ivan Savenko
1cec8d4cfc
Some bits towards replacements of objects.txt, first step towards
...
configurable objects support:
- fixes for object template loader
- schema for current object template format
2014-03-23 20:26:18 +00:00
Ivan Savenko
771c1ce255
- some effords to get rid of bottlenecks in AI code
...
- fixes, probably partially #1577
- enabled code for reading map object templates from json, still not
used
- disabled PCH for launcher due to speed issues.
2014-03-23 16:36:16 +00:00
Ivan Savenko
9c0df68cb8
Fixing spelling mistakes. Patch from josch, fixes #1759
2014-03-23 12:59:03 +00:00
Ivan Savenko
760ae7d44a
Changes related to Debian packaging, based on josch patch
...
- AUTHORS file is now in UTF-8
- tags for desktop files
- fixed some typos
- better reaction on --help and --version commands
- vcmibuilder should work with both avconf and ffmpeg
2014-03-20 18:17:40 +00:00
Ivan Savenko
333a51a48a
Launcher now supports submods. See forum thread for details.
2014-03-20 17:06:25 +00: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
alexvins
1aff899f5b
Hotfix 2
...
* fix loading range attribute
* fix config for massive spells
2014-03-17 14:39:28 +00:00
alexvins
8cc586ab7f
hotfix
2014-03-17 14:06:32 +00:00
alexvins
9cac0af7be
[Spells] More spell related refactoring
...
+ smart target modifier
- CREATURE_EXPERT_MASSIVE target type
* save format changed
spell format changes already documented in http://wiki.vcmi.eu/index.php?title=Spell_Format
2014-03-17 13:11:10 +00:00
Ivan Savenko
7f6f125b4c
First part of submods support.
...
- VCMI will load mods from Mods directory recursively. Submods must be
placed into additional Mods directory, e.g.
<data dir>/Mods/<mod name>/Mods/<submod name>
- submods will be loaded only if their parent mod was enabled
- submods namespace for objects will be "<parent mod ID>.<submod ID>"
- TODO: Launcher is not aware of submods yet (seems to be working but
may behave incorrectly)
2014-03-15 10:57:34 +00:00
alexvins
065b8366fb
[Spells] Added basic support for icons and sounds
...
* few changes in spell format
* save format changed
2014-03-10 16:00:58 +00:00
alexvins
9f01a92f4c
fix crash in jsonschema in case of invalid typename
2014-03-10 15:58:13 +00:00
DjWarmonger
1d6e265e34
- Fixed special spells spawning in Pyramid
...
- Allowed new spells to spawn in Pyramid
2014-03-09 12:33:26 +00:00
DjWarmonger
0347c61dd2
All new spells will be possible to spawn in town magic guilds.
2014-03-09 09:37:20 +00:00
alexvins
c959fdcce0
SpellHandler: cleanup, formatting, simplification.
2014-03-08 23:18:51 +00:00
Michał W. Urbańczyk
7d1e54baa7
Fixed compilation with MSVC.
2014-03-08 19:02:47 +00:00
Ivan Savenko
d2ae847ecf
- files in local directories (saves & configs) now always have higher
...
priority than mods. Fixes #1685 and #1733
- fixed possible crash on exit in dispose() function
- (vcmibuilder) fixes problem with partial mp3 -> ogg conversion
2014-03-08 16:05:23 +00:00
alexvins
afcb7072eb
Implemented #1379
...
+ added new flag for special spells. Special spells can be obtained only with BONUS::SPELL.
* made Titans` thunder special.
2014-03-07 16:10:20 +00:00
alexvins
33935ceb67
cmake/msvc project updates. untested.
2014-03-07 13:23:30 +00:00
alexvins
4203d69525
Part 2 of new spell configuration
...
1) spell handler refactored to support modding in general way
2) imunnity icons moved to WoG as they depends on wog`s graphics
3) introduced new class template for handlers (todo: use this in other handlers)
4) save format changed
5) introduced "absolute immunity" - unaffected by "the Orb" etc. (todo: use it in config)
6) new format documented on wiki, added json schema.
* more split of registertypes - fixes 32 mingw build
2014-03-07 13:21:09 +00:00
Ivan Savenko
5cbec833c2
- (linux) XDG filesystem support
...
BIG NOTE TO LINUX USERS
All user data has been moved according to XDG specs:
- Game data (H3 files and mods) and saves: from ~/.vcmi to ~/.local/
- Temporary files, including logs: from ~/.vcmi to ~/.cache/vcmi
- Config files: from ~/.vcmi/config to ~/.config/vcmi
For compatibility VCMI will read game data from ~/.vcmi as well but this
is temporary behavior and will be removed
2014-03-04 14:51:10 +00:00
Michał W. Urbańczyk
fe4171eb63
Fixed #1719 .
2014-03-01 17:41:29 +00:00
Michał W. Urbańczyk
a6f68d6870
Fixed #1726 .
2014-03-01 13:42:23 +00:00
Michał W. Urbańczyk
2e04738859
Version bumped to 0.95.
2014-03-01 12:24:15 +00:00
Michał W. Urbańczyk
93856dbe98
Quick solution for #1688 .
2014-02-27 20:44:20 +00:00
Michał W. Urbańczyk
07aef4f2f6
Compilation fixes for MSVC (relative include paths)
2014-02-27 20:42:17 +00:00
Michał W. Urbańczyk
71e76966af
Updated MSVC project file after registerTypes split.
2014-02-27 20:35:05 +00:00
beegee1
55a4561926
- fixed mantis #1729
2014-02-26 19:51:44 +00:00
Ivan Savenko
78609871ae
bugfixing:
...
- fixed parsing of campaign bonuses (conversion to building ID)
- CONTROL event condition can be also fulfilled by allies
- fix for crash on opening exchange window in Russian version
2014-02-26 17:32:42 +00:00
Ivan Savenko
8d36bcabce
Split registerTypes into multiple files, now in lib/registerTypes
...
directory in order to reduce huge memory usage by gcc
2014-02-24 19:57:33 +00:00
Michał W. Urbańczyk
6d73052ca1
Development release 0.94f
2014-02-23 23:45:58 +00:00
stopiccot
d66f0222f2
more portable OS X library install names
2014-02-23 16:40:55 +00:00
beegee1
d0a5a6eab4
- Implemented hero recreate handling correctly
2014-02-23 13:52:06 +00:00
beegee1
8a9f2781c2
- Fixed #1674 (Xeron should be re-created on AB campaign)
...
- Remove all hero placeholders after placing campaign heroes
2014-02-19 19:14:32 +00:00
Ivan Savenko
b5568edcc0
fixed compilation with gcc/clang
...
fix for #1699
2014-02-19 07:27:41 +00:00
Michał W. Urbańczyk
1e555a8ee3
Improved serializer. See: http://forum.vcmi.eu/viewtopic.php?p=11562#11562
...
Save format changed, removed compatibility workarounds.
2014-02-19 01:04:27 +00:00
DjWarmonger
a3cad2883f
- Restored correct specialty serialization ( #1599 and all its children)
...
- Fixed rare AI crash
- Fixed AI visiting some objects many times
- Some cleanup and refactoring
2014-02-17 17:28:39 +00:00
DjWarmonger
6ee823298a
- Various improvements for exploration
...
* Heroes will try to use SectorMap if there are no accessible tiles
* Remove some loopholes and pitfalls when all the ways are blocked
* Fixed AI not conquering some (reserved) objects
Still missing: SectorMap does not use Subterranean Gates :(
- Improvements for army exchange
* Fixed exchange condition
* Bidirectional exchange is possible
2014-02-17 07:36:03 +00:00
DjWarmonger
d8933b5c36
- AI will now use SectorMap to find a way to guarded / covered objects.
...
- Improvements to SectorMap needed for use of multiple heroes
2014-02-15 16:38:51 +00:00
alexvins
d01b84b460
[mechanics] fix copy-paste errors in magic skill arrays
...
[c::b] few tweaks to configuration
2014-02-15 09:40:33 +00:00
Ivan Savenko
48d6e2cd59
- move campaigns description into new config file, campaignSets.json
...
- campaigns parser uses binary reader, fixes #1711
- fixed description of change resolution button
2014-02-14 22:46:06 +00:00
Michał W. Urbańczyk
f5e3e578e6
Version bump 0.94e.
2014-02-09 22:44:57 +00:00
Ivan Savenko
8d178fbcf5
Minor fixes:
...
- fog of war will be initialized after bonuses are set (needed if heroes
have scouting or arts with sight bonus)
- victory condition "control all dwellings" also requires golem factory/
- it is possible to dismiss troops during exchange between heroes
2014-02-09 19:47:23 +00:00
Ivan Savenko
7f07a30d7d
More fixes for map-specific crashes, fixes #1427 and #733
...
- if special victory condition is present AND there is only one player
normal victory condition will be disabled
- added new triggered condition, constant value
- if target of CONTROL/DESTROY condition is removed from map, triggered
condition will be replaced with constant
- fixed randomization of armies with random stacks
2014-02-09 12:10:02 +00:00
Michał W. Urbańczyk
30aa07f86c
Fixed #1652 .
2014-02-09 09:57:00 +00:00
Michał W. Urbańczyk
343dd1a7d1
Properly removing stuff from hero, fixes #1646 .
2014-02-08 23:07:33 +00:00
Michał W. Urbańczyk
d6f8a6d4bf
Preparing crossover heroes works on deep copies of heroes, so the original post-mission state is not lost in the process.
2014-02-08 22:14:54 +00:00
Michał W. Urbańczyk
43ef565e7e
Added serializer-based class able to make deep copies of objects — CMemorySerializer.
...
CGameState::init will work on the deep copy of StartInfo.
Some casts to reduce warnings.
2014-02-08 21:54:35 +00:00
Ivan Savenko
e6f433795b
- fixed some crashes on staring a map/campaign
2014-02-08 21:05:24 +00:00
Ivan Savenko
562dc02b3b
- fixed crash on decompressing some files from gzip stream (reported on
...
forums)
2014-02-08 10:30:10 +00:00
beegee1
95034b9fa0
- Updated PCH to use our StdInc.h as the prefix header (not generated one from cotire) -> no exclude headers from ffmpeg/etc... statements required
...
- Fixed compilation error (VCAI ResourceSet logging)
2014-02-05 20:25:36 +00:00
Michał W. Urbańczyk
8eafb9f951
Savegames loader fixed to properly know save version.
2014-02-02 14:54:12 +00:00
Michał W. Urbańczyk
55165a8535
Fixed #1686 . Compatibility measures to be removed later, when format changes become to big.
2014-02-02 14:31:56 +00:00
Ivan Savenko
94a6e02107
- found yet another missing victory condition, fixes 1684
2014-02-02 11:05:05 +00:00
Michał W. Urbańczyk
fabbe1eae8
Version bump.
2014-02-01 21:34:28 +00:00
beegee1
df0a28d9cb
- added PCH compilation for CMake using cotire module (PCH is OFF per default, can be enabled with ENABLE_PCH=ON)
2014-02-01 13:37:26 +00:00
Ivan Savenko
6e252aa0d5
- metadata will be printed before node value, fixes #1678
2014-02-01 13:23:12 +00:00
Michał W. Urbańczyk
6f8974bab3
Fix for #1673 — objects vector may contain nullptr (for objects that have been removed).
2014-02-01 12:54:55 +00:00
beegee1
d4fd361d4b
- fixed #1643 -> hero placeholder handling
...
- fixed bug when loading victory/loss conditions of the 3rd scenario in the first ROE campaign
- fixed bug when loading artifacts to hero of the 3rd scenario in the first ROE campaign (due to corrupt H3M map)
- implemented function object to quickly find a object by it's sub ID in a list
- added netbackbase.h to header list in CMake
- removed false message which said that the server loaded the map successfully
2014-01-30 18:56:31 +00:00
Ivan Savenko
27be6a8f13
- new mods (not mentioned in modSettings.json) will be enabled by
...
default
2014-01-30 14:51:15 +00:00
Ivan Savenko
3779a54ddd
- probably fixed 1671
...
- fixed missing loss condition in Birth of Barbarian
- fixed some bugs found by cppcheck
2014-01-30 11:08:37 +00:00
Michał W. Urbańczyk
f159f28b9f
Version bump 0.94c.
2014-01-29 16:55:38 +00:00
DjWarmonger
5377b163d2
Compile fix for Windows.
2014-01-21 17:03:21 +00:00
alexvins
f837afdc47
CBonusTypeHandler small refactoring
2014-01-19 13:29:13 +00:00
alexvins
16d6292be9
[refactor] extract often used classes from lib\NetPacks.h to separate header - less dependecies on whole packets class tree
...
[mingw build] fix linking issues with netpacks.
Mingw build is finally fixed!
[c::b] update projects
[config] fix and cleanup spell_info.json
2014-01-16 20:24:06 +00:00
Ivan Savenko
c5b74a2dce
Miscellaneous fixes:
...
- proper block of "back" button in campaign menu.
- proper block of AI switch in battles
- vertical garrisons can now be attacked from top
- better UI logging, vcmi will print to log file all pressed buttons
- server will not try to build already existing building
2014-01-13 17:44:21 +00:00
Ivan Savenko
fb5c9fc972
- creatures availability tests no longer check for built buildings.
...
Fixes #1650
- do not crash if town has 0 creatures on some dwelling level
- do not crash if dwelling for some level is not present in town at all
2014-01-11 18:12:09 +00:00
Ivan Savenko
bc1e726be4
- fixed crash on loading modsettings.json from 0.94
2014-01-09 20:15:32 +00:00
Michał W. Urbańczyk
4674e8e3d8
Initializing CHeroClass::commander.
2014-01-06 17:45:21 +00:00
alexvins
a740f7989c
[c::b] update projects, disable PHC for now, +few fixes (still wip)
2014-01-05 17:48:50 +00:00
Ivan Savenko
1f325bafb3
fixes #1619 and #1647
...
- removed some no longer needed code from map handler
- blocked "back" button on campaign map screen if some of scenarios are
already completed
2014-01-05 13:45:44 +00:00
Michał W. Urbańczyk
5e812492e0
VC project updated.
2014-01-04 23:01:28 +00:00
beegee1
22e119770a
Fixed mantis #1645
2014-01-03 16:36:22 +00:00
alexvins
339e1cd98b
[c::b] project file for minizip, lib & client update (wip)
2014-01-03 15:43:54 +00:00
Ivan Savenko
2c4c964a45
Large rewrite of adventure map objects:
...
- replaced CDefObjInfo with ObjectTemplate class
- ObjectTempate is a direct member of objects instead of pointer with
shared ownership across CMap, handler and game objects
- simplified handling of objects that can change appearance (e.g. towns)
- all object queries regarding object appearance/blockmaps use h3m pos
instead of relative positions
- removed need of modhandler::reload
- cleanup of some old code
2014-01-02 23:48:38 +00:00
Ivan Savenko
2b9e074d54
- implements level limit (Mantis #1620 )
...
- added workaround to weird bug where vcmi fails to find objects for
win/loss conditions
2014-01-01 16:12:53 +00:00
Ivan Savenko
cd8a0c01e4
Data for campaign win/loss conditions. All campaigns should now have
...
correct conditions.
All custom conditions are now validated using schema.
Note that some of scenarios may not work due to instant win/loss, mostly
because some placeholders fail to import (Mantis #1643 )
2014-01-01 13:30:31 +00:00
beegee1
aff704d1ca
- Fixed mantis #1643
2013-12-31 16:58:11 +00:00
beegee1
5971ceaa7f
- Fixed hero / army strength handling
2013-12-31 16:11:18 +00:00
Ivan Savenko
7e02f6b670
Support for overriding victory/defeat conditions from h3m map or
...
campaign:
- new file MapFormatJson that implements small subset of Json map
format, as described on wiki
- vcmi will read overrides from file config/mapOverrides.json (currently
empty)
- Json writer for logical expressions
TODO: write data for map overrides
2013-12-30 23:09:58 +00:00
beegee1
a03d01bd3f
- Updated TODOs, removed unused method declaration, updated comments
...
- Fixed hero strength calculation (power, knowledge should be included as well)
2013-12-30 20:04:24 +00:00
beegee1
9d0387140f
- Fixed bug when the type id of the hero placeholder is the same as a already placed hero or prisoned hero
2013-12-30 15:34:28 +00:00
DjWarmonger
51e6961d08
Compile fix for MVS.
2013-12-29 15:48:56 +00:00
Ivan Savenko
a8b9258840
missing dll_linkage
2013-12-29 14:35:38 +00:00
Ivan Savenko
0c5be52a42
Win/loss conditions based on logical expressions, yet another large
...
changeset:
- victory/defeat will be detected using triggered events
- vcmi will convert h3 conditions into set of triggered events
- it is possible to either change number of days without towns or even
remove this loss condition completely
- possibility of custom win/loss text and icons in pregame (no longer
connected to win/loss conditions)
Still missing:
- No interface to pass custom events/victory conditions into the game
- AI would benefit from improvemets (handle all victory conditions,
select best one to fulfill)
- You have X days till defeat message still hardcoded to 7 days
2013-12-29 11:27:38 +00:00
Ivan Savenko
f6c1dace6c
Minors:
...
- By default, cmake will keep debug info
- removed warnings from adventure map infobox (part of #1636 )
- adventure map infobox will refresh on artifact changes (part of #1636 )
- moved terrain music files to terrains.json file
- player should act before AI in all games, not only campaigns
2013-12-28 18:57:08 +00:00