1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

1959 Commits

Author SHA1 Message Date
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