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

5788 Commits

Author SHA1 Message Date
ArseniyShestakov
d524b4eabe CPathfinder: get rid of addNeighbours coord argument 2015-11-16 19:54:17 +03:00
ArseniyShestakov
8f72d73241 CPathfinder: update teleport code and use TurnInfo for whirlpools 2015-11-16 19:14:18 +03:00
ArseniyShestakov
0949283cb9 Pathfinding: pass PathfinderOptions to helper and avoid changing them
Original idea behind options is that options should only be set on pathfinder object creation (or via some special method in case pathfinder become persistent).
2015-11-16 18:43:02 +03:00
ArseniyShestakov
3185b64fb0 CPathfinder: rename cObj and dObjt to ctObj and dtObj
This way it's more clear that it's pointer to object on tile and not path node.
It's important because air layer nodes don't have visitable objects while tile under them can have one.
2015-11-16 17:41:23 +03:00
ArseniyShestakov
6dd9572644 CPathfinder: cleanup checks for source node visitable object 2015-11-16 17:36:58 +03:00
AlexVinS
d6bb599bc8 Another ffmpeg api fix 2015-11-14 03:59:16 +03:00
ArseniyShestakov
aa59ad05ed CPathfinder: don't access map->guardingCreaturePositions directly 2015-11-13 23:32:52 +03:00
ArseniyShestakov
324cf5490c CPathfinder: fix movement into guardian tile 2015-11-13 23:07:56 +03:00
ArseniyShestakov
0be9d21132 CPathfinder: add rule that hero in boat can't visit empty boats 2015-11-13 10:28:44 +03:00
AlexVinS
cdec29e413 Merge branch 'ffmpeg-cleanup' into develop 2015-11-12 15:47:02 +03:00
ArseniyShestakov
d2baa5b0d0 Pathfinding: move isLayerAvailable into TurnInfo 2015-11-12 14:40:56 +03:00
ArseniyShestakov
abc4ea272f TurnInfo: store all bonuses and use TileInfo for everything
Currently this going to break ONE_WEEK bonuses because those don't work with CWillLastDays selector.
2015-11-12 14:30:29 +03:00
ArseniyShestakov
9ed9d94009 TurnInfo: first step towards better abstraction 2015-11-12 05:20:32 +03:00
ArseniyShestakov
4e11d81673 CGWhirlpool: fix random exit chooser 2015-11-12 01:23:27 +03:00
ArseniyShestakov
942c0cd718 CPathfinder: improve support for whirlpools 2015-11-12 01:16:06 +03:00
ArseniyShestakov
d76b2b7ca8 CPathsInfo: rework nodes multi_array allocation 2015-11-12 00:05:20 +03:00
ArseniyShestakov
09473f6648 CPathfinder: move embark special case to isMovementToDestPossible 2015-11-11 22:29:20 +03:00
ArseniyShestakov
46b923713b Pathfinding: rework isLayerTransitionPossible and fix formatting 2015-11-11 22:08:15 +03:00
ArseniyShestakov
f1311abd0b CPathfinder: move node action code into getDestAction 2015-11-11 19:51:08 +03:00
AlexVinS
c9ad7167d1 another try to fix travis build. 2015-11-11 16:27:04 +03:00
AlexVinS
e20f861727 try to fix travis build.
What an ancient version of ffmpeg does it have?
2015-11-11 15:44:17 +03:00
AlexVinS
f9dfa8d0c2 try to fix libav 9.18 2015-11-11 15:18:05 +03:00
AlexVinS
33c933c208 All "old" APIs are deprecated in ffmgeg 2.2.3 - remove them entirely 2015-11-11 13:07:56 +03:00
AlexVinS
4b94efe6b5 Hopefully proper fix for ffmpeg on MSVS 2015-11-11 12:41:28 +03:00
DjWarmonger
5fadb239f2 Merge pull request #134 from edeksumo/Fix-Defence-Ani
Let's try this.
2015-11-11 09:43:51 +01:00
DjWarmonger
d95a999e23 Fixed ffmpeg compilation on Visual Studio. 2015-11-11 09:41:28 +01:00
ArseniyShestakov
4aaf6191a5 CPathfinder: implemented originalMovementRules option 2015-11-10 21:07:27 +03:00
ArseniyShestakov
2b6851b3d2 Pathfinding: use unique_ptr for hlp and fix few rules 2015-11-10 19:15:59 +03:00
ArseniyShestakov
9a63735c24 CPathfinderHelper: implement TurnInfo to avoid bonus re-checking
TurnInfo contain information about what movement-related bonuses and MP hero going to have on certain turn.
This way we can collect this information once for each turn so it's huge performance boost.
2015-11-10 14:26:45 +03:00
ArseniyShestakov
2ef9d7c3ec Rename getCost back to getMovementCost
Initially wanter to name main class differently and back then getCost make sense.
Then renamed class to CPathfinderHelper, but forgot to rename function back.
2015-11-10 02:30:05 +03:00
ArseniyShestakov
b2e1ee5363 CGameState: move two pathfinding-related functions to CPathfinderHelper
Both getMovementCost and getNeighbours have nothing to do with gamestate.
2015-11-10 02:15:27 +03:00
ArseniyShestakov
d3c8ca7c1c Pathfinding: implement duration checking for fly and water walking
Now pathfinder take into account different bonuses for different tuns. So if you only have FLYING_MOVEMENT bonus from Fly spell for one turn then pathfinder will only let you use air layer within one turn only.

That work for cost calculations too. Let's say you have two bonuses:
 - FLYING_MOVEMENT with 20% penalty for next 2 turns
 - FLYING_MOVEMENT with 40% penalty for 5 turns
Now pathfinder using correct penalty for each turn so movements in air layer going to be more expensive on 3-5 turns.
2015-11-09 19:57:26 +03:00
ArseniyShestakov
5106738160 Merge branch 'develop' into feature/pathfinderLayers 2015-11-09 19:20:13 +03:00
ArseniyShestakov
96897acc46 CWillLastDays: add condition for permanent durations
Accidentally missed them in pull request
2015-11-09 19:05:22 +03:00
ArseniyShestakov
b8ccb5916c Merge pull request #139 from ArseniyShestakov/fixDaysBonusDuration
Bonus system: N_DAYS duration support and new CWillLastDays selector
2015-11-09 17:17:12 +03:00
ArseniyShestakov
7f0b0bd1b5 Bonus system: use updateBonuses in battleTurnPasseed 2015-11-09 15:48:07 +03:00
ArseniyShestakov
ee1c5e452f Bonus system: add CWillLastDays selector 2015-11-09 15:01:58 +03:00
ArseniyShestakov
5bfbd8526b Bonus system: fix N_DAYS bonus duration 2015-11-09 14:18:36 +03:00
ArseniyShestakov
45e4cf354e Revert "Pathfinding: do path calculation in separate thread"
This reverts commit f376b27999.
2015-11-09 09:35:56 +03:00
ArseniyShestakov
74198a537b CGameHandler::setOwner: fix InfoWindow text on last town loss 2015-11-09 00:54:59 +03:00
ArseniyShestakov
866a0a1fc0 VCAI: little improvement for 2a59cb6191 2015-11-08 23:02:59 +03:00
ArseniyShestakov
a49950e958 Fix 2292. Fix chat on adventure map, increase maxOutputPerLine 2015-11-08 22:16:58 +03:00
ArseniyShestakov
f376b27999 Pathfinding: do path calculation in separate thread 2015-11-08 19:19:48 +03:00
ArseniyShestakov
9cf35d1bfd CPathfinder: support for Castle Gate
No support for client / server implemented yet.
2015-11-08 10:06:24 +03:00
ArseniyShestakov
be37e1cd8b CPathfinder: add const to appropriate methods 2015-11-08 08:39:00 +03:00
ArseniyShestakov
f590b364c5 Pathfinder: shorten EPathfindingLayer to ELayer 2015-11-08 08:27:51 +03:00
ArseniyShestakov
4af9c7c29d CPathfinder: add one turn boundary for flying and water walking
Now when oneTurnSpecialLayersLimit is enabled hero won't be able to stop on blocked or water tiles between turns.
It's default H3 mechanics so it's enabled by default.
2015-11-08 07:44:00 +03:00
ArseniyShestakov
2fb73c55e1 CPathfinder: use node action in isMovementAfterDestPossible checks 2015-11-08 04:41:06 +03:00
ArseniyShestakov
4973a1ec90 CGPathNode: get rid of land member as it's now obsolete
CTerrainRect::showPath behaviour changed so it's will only add cross path graphics on embark/disembark and path ending.
We want continuous paths for flying and water walking even when land<-> water transition occur.
2015-11-08 04:01:58 +03:00
ArseniyShestakov
842da69a3e CAdvMapInt::tileHovered cleanup function a bit more 2015-11-08 03:33:01 +03:00