faa7cbff18
Fixed gcc/clang warnings
2015-12-04 01:17:43 +02:00
3800bd45b7
Movement: initialize destinationTeleportPos with invalid int3 position
2015-12-04 01:54:25 +03:00
c2f4991e99
Replaced barrier with mutex due to data races:
...
Destruction of barrier while one of the threads is still in barrier.wait() is illegal. This may happen if caller thread reaches wait() after helper thread and immediately return's from the function destroying barrier which is still in use by helper thread
2015-12-04 00:12:49 +02:00
2e56b547ee
replaced references to SectorMap with shared_ptr to avoid data races in AI code
2015-12-04 00:10:51 +02:00
ee08749743
VCAI: more work on teleport exit probing
2015-12-03 21:18:40 +03:00
2f9ca778b2
VCAI: add channel probing support for teleporters with multiple exits
2015-12-03 17:20:03 +03:00
7189a12df2
removed few more includes from headers
2015-12-02 22:10:46 +02:00
7b5a7f43ad
Removed includes of CGameState from headers
2015-12-02 21:39:53 +02:00
eb9f29e368
VCAI: restoring teleport probing feature for updated mechanics
2015-12-02 19:26:24 +03:00
b5100bee94
Teleport: rework code to support exit point selection for whirlpools
2015-12-02 17:56:26 +03: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
f6de3f94ca
Teleports: use TTeleportExitsList typedef for exits list
...
There is several ideas that teleportation code have to be shared between object/spells and this way we can avoid changing showTeleportDialog declaration every time.
2015-11-28 02:41:30 +03:00
5106738160
Merge branch 'develop' into feature/pathfinderLayers
2015-11-09 19:20:13 +03:00
866a0a1fc0
VCAI: little improvement for 2a59cb6191
2015-11-08 23:02:59 +03:00
ac12a0735e
Plumbing on client and server to make flying actually work
2015-11-05 10:02:13 +03:00
2b6e1498d2
Pathfinding: change argument order for getPath and AUTO layer as default
...
This still need investigation, but likely most of external code shouldn't be aware of layers in order to work properly because only LAND and SAIL can be targeted and single tile can't have both of these layers.
2015-11-02 11:14:32 +03:00
d46364c4c3
Merge branch 'develop' into issue/2306
...
Need to reapply changes to pathfiner
Conflicts:
AI/VCAI/VCAI.cpp
lib/CGameState.cpp
lib/CGameStateFwd.h
2015-11-01 01:49:57 +03:00
fa8a282696
Fix pthread_mutex_lock abort() in requestActionASAP impl
2015-10-31 18:04:06 +03:00
1e36f3cecd
Cache SectorMap where possible and update when necessary.
2015-10-26 16:38:17 +01:00
e8e484bbca
Merge branch 'mutexRelax_fix' into develop
2015-10-25 22:35:19 +03:00
2a59cb6191
Fixed #2308 - AI didn't attack enemy heroes at all.
2015-10-25 11:55:50 +01:00
768b1ca289
More consitent code.
2015-10-25 11:16:43 +01:00
87f838f286
AI should poke inaccessible Quest Guards less often.
2015-10-25 08:39:03 +01:00
520e42bcd7
Fixed #2317
2015-10-25 08:21:15 +01:00
4e444abf66
Few more uses of cached visibleTiles.
2015-10-24 20:46:55 +02:00
afe65d1264
Relaxed some locks in VCAI.
2015-08-31 09:18:24 +02:00
1c14dbf7b2
Cache SectorMaps to evaluate multiple goals -> huge performance boost
2015-08-31 08:25:33 +02:00
a3ce1521e5
Cache visible tiles within SectorMap for quicker access.
2015-08-31 07:39:03 +02:00
2012d53dd6
Fixed issues with exchanging combo artifacts ( #2132 ).
2015-08-30 15:15:04 +02:00
6af8db2c69
Fixed logic discrepancy for (in)visible objects. Fixes #2224 , #2225 and possibly more.
2015-08-30 09:14:54 +02:00
3e8c395156
- More fixes for wander targets
...
- SectorMap won't find paths through the rock
2015-04-10 08:50:21 +02:00
d32461d9d1
Complete solution for artifact equip & exchange.
2015-04-09 09:53:17 +02:00
b3f482b8a8
Restored artifact selection & exchange, work in progress.
2015-04-07 22:48:35 +02:00
264a0c4fe7
- Restored evaluation of wander targets at every step.
...
- First wander target will be sorted by distance (closest) as well.
2015-04-07 08:55:13 +02:00
2f588b548e
Fixed one case when heroes exchanged armies until ran out of movement points.
2015-04-07 08:43:10 +02:00
6cfc89dc7c
A number of fixes for wander / SectorMap.
2015-04-05 21:13:47 +02:00
b2a75551c8
- Extensive use of SectorMap. AI will not eagerly pick guarded and blocked treasures.
...
- Fixed usage of boats, added Boat building as a part of Explore goal. This resolves #2151
2015-03-30 15:32:23 +02:00
299e9d5a0b
Experiment - do not prioritize reserved objects during wandering to prevent running back and forth.
2015-03-30 10:07:37 +02:00
8820bc05a9
MSVS compiler doesn't allow default arguments for Lambdas.
2015-03-10 10:06:45 +01:00
ec879046ca
Merge pull request #93 from ArseniyShestakov/feature/pathfindingTeleports
...
Okay let's do this!
2015-03-10 09:04:25 +01:00
11d4b4291c
VCAI: always clear teleport channel probing list if we lost hero
2015-03-10 03:23:36 +03:00
431f3bd857
VCAI: use cannotFulfillGoalException instead of runtime_error
2015-03-09 17:09:34 +03:00
8524bdbc25
VCAI: use copy_if instead of erase_if for teleport exit probing list
2015-03-09 03:24:39 +03:00
496338813c
VCAI: explicitly check for teleportation between subterranean gates
2015-03-09 02:27:49 +03:00
8f8d237d5d
Use isTeleportChannel callback functions to check teleport channel type
2015-03-09 02:13:40 +03:00
afac28a2f5
VCAI little fix for typo in retreiveVisitableObjs
2015-03-08 17:56:59 +03:00
12cf883740
VCAI: add all new movement code include teleports and transit support
2015-03-08 17:47:58 +03:00
665712c196
VCAI: add any newly found teleports to knownTeleportChannels
...
Now all new objects added to visitableObjs only using addVisitableObj so we can catch them for teleports handling.
I also simplified one of retreiveVisitableObjs functions because it's only used for inserting things into visitableObjs.
2015-03-08 17:38:09 +03:00
ab7ad4741a
AIStatus: add teleport channel probing mode
...
When AI going through bidirectional teleport it's always getting list of all available exits.
If some of exits are invisible it's will attempt to visit each of them teleport probing begins.
2015-03-08 17:23:56 +03:00
f4c683cd5e
Move VievXXX logic to server side (except expert ViewEarth)
2015-02-26 17:15:17 +03:00