1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-17 00:07:41 +02:00
Commit Graph

68 Commits

Author SHA1 Message Date
daaaf84392 Icon index for map format is now defined in config 2023-05-31 23:01:57 +03:00
86f5d6de69 vcmi: modernize headers 2023-04-30 13:35:54 +03:00
80220fda5b Merge remote-tracking branch 'upstream/develop' into vcmi-campaign
# Conflicts:
#	lib/mapping/CMap.h
2023-04-17 04:54:57 +04:00
954a2abb71 Verifying mods before starting map 2023-04-16 15:38:13 +04:00
22558551bf Fix parsing of invalid data from h3m 2023-04-15 17:20:38 +03:00
d6a3c0e666 Cleaned up handling of hota map format versioning 2023-04-15 17:20:38 +03:00
838d45b32c Implemented parsing of HotA h3m header 2023-04-15 17:20:38 +03:00
3738171b21 Refactoring of H3M loader to make HotA format support easier
- extracted low-level reader from MapFormatH3M class
- added separate structure to define version-specific values
- cleared up some H3M format edge cases
- replaced witch hut skill vector with set
- converted several fields to enum type
2023-04-15 17:20:38 +03:00
617a4385a2 Add mods fields into map header 2023-04-12 02:14:22 +04:00
fedf7d377c vcmi: remove TFaction
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
b16f66477c vcmi: modernize lib/mapping 2023-02-14 14:22:13 +03:00
b3d60ec418 Add new map sizes 2022-12-12 04:46:42 +04:00
628abd1428 Fix campaign serialization 2022-10-03 01:48:03 +04:00
ff635edc0b wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
7ba271edf1 Rotation rebase2 ()
* Instead of [x][y][z] coordinates, map will be stored as [z][x][y].
* Nullkiller AI can get it too.
* Use boost::multi_array instead of nested vectors
* In MapHandler too
* Rotate foreach algorithms, too
* VCAI gets rotated, too
2022-09-18 17:39:10 +03:00
e4ac0d4370 Editor prerequisites [part 2] () 2022-09-17 14:04:01 +03:00
aaa07e4d2e New terrain support - part 1 ()
Initial support of new terrains
2022-09-11 11:31:26 +03:00
ac66fc7f42 Full rework of pre-game interface and networking
New features for players:
* Loading for multiplayer. Any save could be used for multiplayer.
* Restart for multiplayer. All clients will restart together.
* Loading from single save.
* Hotseat mixed with network game. Multiple players per client.
* Now connection to server could be cancelled.
* Return to menu on disconnections instead of crashes.
* Restoring of last selected map, save or campaign on next run.

TLDR on important changes in engine code:
* UI: work with server separated from UI
* UI: all explitic blitting replaced with IntObject's
* UI: all new code use smart pointers instead of DISPOSE
* Gameplay always start through lobby controlled by server.
* Threads receiving netpacks now shared for lobby and gameplay.
* Campaigns: heroes for crossover now serialized as JsonNode.
2018-04-04 14:24:26 +07:00
f917ec5254 Revert "Fixed ancient backward compatibility regression"
This reverts commit 3c67e12620.
2018-02-28 15:00:38 +08:00
3c67e12620 Fixed ancient backward compatibility regression 2018-02-24 19:48:49 +03:00
9d9c026c85 Code style: serialize everything on own lines for easier debugging () 2017-07-31 16:35:42 +03:00
f1e5797834 Code style: move or add licensing information on top of every file 2017-07-14 01:26:03 +03:00
70a092f58c [Refactoring] use virtual method for object specific actions when new map object is created
* --TODO
* fixes CID 1366291, CID 1366297
2017-05-28 16:23:42 +03:00
a85b4cf2a5 * WIP on event condition format
* Hero portrait serialization
* Fix town spells serialization

* Added support for float exponential part in Json
* Added support for int64 in Json
* Added basic Hero definitions serialization
* Added rumors serialization
* Advanced player info serialization.
* Added Disposed heroes serialization, (!) not covered with tests yet
* Added Local event serialization
* Added Pandoras box serialization
* Added Seer hut reward serialization
* Added CQuest serialization
* Added API for map object instance names serialization.
* Added random dwelling options serialization
* Advanced town options serialization
* Advanced hero options serialization
* More map format tests
* A lot of fixes, cleanup and refactoring
2017-05-27 00:23:19 +03:00
cc452bdfa9 Improved road routing so they can go under any passable object. 2016-12-21 10:10:37 +01:00
6dc47a2de0 Fixed use-after-free crash with quests registration in RMG.
* code taken from PR 
2016-09-08 14:48:46 +03:00
8b6cf82a01 Fix 2016-02-24 02:59:34 +03:00
4bcfb8c27d Draft of new Event conditions 2016-02-22 23:43:57 +03:00
dc5ad7d7b3 Make string instance names persistent 2016-02-22 19:26:42 +03:00
4ebafa17b4 Remove unused placeholdedHeroes field 2016-02-21 22:12:58 +03:00
36121696ca Clenaup 2016-02-18 17:48:04 +03:00
0c21efb202 Start integration of map format into engine 2016-02-09 20:20:03 +03:00
6e205a58b4 Merge remote-tracking branch 'remotes/origin/develop' into feature/VCMIMapFormat1
Conflicts:
	lib/VCMI_lib.cbp
	lib/filesystem/CZipLoader.cpp
	lib/filesystem/CZipLoader.h
	lib/mapObjects/CGTownInstance.cpp
2016-02-04 10:27:51 +03:00
3926920103 Rename radious -> radius
There is no such English word, "radious"
Some files get new lines in the end - BSD sed bug + best practices
2016-01-31 18:01:58 +03:00
37d0dad70a Merge branch 'develop' into feature/VCMIMapFormat1
Conflicts:
	lib/CArtHandler.cpp
2016-01-01 20:28:52 +03:00
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
a5b72ce593 Cleanup 2015-12-05 12:36:41 +03:00
6552acdff6 Check coastal tile OTF 2015-12-05 12:36:29 +03:00
c3ce4b25df Removed all #include's of CMap.h from headers.
To all - please, avoid #include's in headers as much as possible
This kills incremental build compile times
2015-12-02 21:05:10 +02:00
f55bfe41d6 Digging: implement digging status on right click. Fix issue 401
This is also fix possibility to dig on some non-blockable objects like event.
2015-11-29 12:34:23 +03:00
237d3f2624 Refactoring: random spells 2015-08-12 16:40:08 +02:00
4c4ad480c5 added experimental usage of roads 2015-04-03 05:47:01 +03:00
c9eba40fe6 Updated CGTeleport and new CGMonolith / CGSubterraneanGate / CGWhirlpool
Now CGTeleport is not publicly available handler, but generic class for teleport channels usage.
Teleport channels are stored as part of information about the map.
2015-03-08 16:11:23 +03:00
f145c82031 TerrainTile: implement exclusion for topVisitable functions
For pathfinder we usually want to check what object hero staying on.
Hero is always top object so we need option to exclude it.
2015-03-08 15:05:24 +03:00
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
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
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
a3cad2883f - Restored correct specialty serialization ( 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
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
7f07a30d7d More fixes for map-specific crashes, fixes and
- 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