1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-06 00:24:11 +02:00
Commit Graph

4730 Commits

Author SHA1 Message Date
ArseniyShestakov
3773859e9d CGameHandler::moveHero allow transit, but for teleports only 2015-03-08 17:08:57 +03:00
ArseniyShestakov
21aaad6972 MoveHero: add transit movement option
Transit is new option for hero movement. If it passed for movement then hero can get get on tile without visiting of object on it.
Currently it's will be only allowed is object under destination is teleport.
2015-03-08 17:04:09 +03:00
ArseniyShestakov
25656aa586 Add showTeleportDialog everywhere except actual code for AI and player
Just like TeleportDialog it's based off showBlockingDialog, but as number of package is higher when possible showTeleportDialog will be after other dialogs handling code.
2015-03-08 16:52:50 +03:00
ArseniyShestakov
18535db0ef Add TeleportDialog and CTeleportDialogQuery
TeleportDialog is based off BlockingDialog and it's needed for server to ask client what teleport hero should be teleported to.
It's also contain list of possible exits, identifier of currently used channel and also impassable option.
If impassable set to true then client will remember that current teleport channel is lack of exit point.
2015-03-08 16:37:33 +03:00
ArseniyShestakov
8d7b6d119f CGameInfoCallback: add functions that gather information about teleport channels
This code belongs to callback because both player and AI shouldn't directly access information about teleport channels.
For example pathfinder code need to check teleport channel type only based on information about objects player already seen.
2015-03-08 16:21:14 +03:00
ArseniyShestakov
1c2afc659f Config: replace teleport handler with monolith, subterraneanGate and whirlpool 2015-03-08 16:17:33 +03:00
ArseniyShestakov
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
ArseniyShestakov
04a1df29ad Add TeleportChannel / TeleportChannelID / ETeleportChannelType
TeleportChannel is structure that contain two vectors of entrances and exits for certain teleport channel. It's also store passability state independently which almost only useful for Player and AI as they can't know if channel passible or not until enough entrances / exits are visible or server passed them information that certain channel is impassible when they visited entrance.

ETeleportChannelType is determined by checking intersection between entrances and exit vectors or checking their size:
 - IMPASSABLE: one of vectors empty or only one entrance id is same as only one exit id.
 - BIDIRECTIONAL: contents of both vectors is exactly the same.
 - UNIDIRECTIONAL: contents of both vectors do not intersect.
 - MIXED: contents of vectors only partially intersect. Not currently used; added for future modding.
2015-03-08 15:18:53 +03:00
ArseniyShestakov
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
ArseniyShestakov
e4f591ba84 vstd: add function to check vector intersection 2015-03-08 14:41:17 +03:00
DjWarmonger
6ace53d8b9 Functional RMG Seer Huts, still there are some mysterious bugs. 2015-03-01 13:26:54 +01:00
DjWarmonger
9453250e0f Spawn quest arts in nearby zones. 2015-03-01 10:20:49 +01:00
DjWarmonger
67ab90616d Seer Huts with exp / gold rewards. 2015-03-01 09:46:09 +01:00
DjWarmonger
dd887eb929 Fixes for Seer Huts. 2015-03-01 09:07:43 +01:00
DjWarmonger
4f1d96e5e8 Seer Huts part 2. 2015-02-28 22:37:04 +01:00
DjWarmonger
607375a9bc Generate Seer Huts with creature rewards 2015-02-28 21:14:45 +01:00
DjWarmonger
c5e772eb78 Fixed issue which created large empty areas on two-level maps. 2015-02-25 19:34:02 +01:00
DjWarmonger
ef4e199f15 Implemented "Quantity does not grow" for monsters (#2094) 2015-02-22 20:54:09 +01:00
DjWarmonger
8d1f884d94 Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2015-02-22 20:53:29 +01:00
ArseniyShestakov
ea46be03f3 AI: check if hero killed while visiting object he stayed on
This is need to avoid crashes like one happen in 2084, but then game bahaviour incorrect.
I'm not exactly sure if this possible currently, but I can imaging this would happen if hero decide to attack bank while staying on it.
2015-02-22 20:56:50 +03:00
DjWarmonger
a736a863da Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2015-02-22 18:36:23 +01:00
DjWarmonger
6797c374ed Additional check 2015-02-22 18:36:13 +01:00
ArseniyShestakov
445ded71a7 Movement: now hero will always ignore guards if visiting object that he staying on
This one is replicating original game behaviour and fixes issue 1990 and related to issue 2084.
Currently this is mainly caused problem with teleporters which lead to crash in AI due to unexcepted hero loss.
2015-02-22 20:12:49 +03:00
ArseniyShestakov
00de870f17 Check input destination position when moving using arrow keys
This one fix crash I reported in 2085
2015-02-22 10:05:24 +03:00
ArseniyShestakov
a6ce45e867 Cursor: show battle cursor for garrison if there creature behind
This one fixed issue 1563
2015-02-22 09:34:02 +03:00
AlexVinS
c4cbda88ac Fix "reorder" warnings 2015-02-21 12:39:10 +03:00
DjWarmonger
9427dacc5d Merge pull request #92 from Fayth/mantis-2104
Thanks!
2015-02-21 07:13:51 +01:00
Fay
9034a9d873 Fixed crashes due to invalid ptrs during advmap objects fadeout; 2015-02-20 23:19:16 +01:00
Ivan Savenko
8139eaf961 Merge pull request #71 from Kedrigern/patch-1
Update F21 dependency
2015-02-20 22:32:11 +02:00
DjWarmonger
6ac00873b9 Compilation fixes - allow SDL1.
Please do not define class-specific constants that are static at same time.
2015-02-18 15:31:55 +01:00
DjWarmonger
2a082e6c21 Merge pull request #84 from Fayth/test/advMapFading
If no one objects, I will try to merge this.
2015-02-18 09:52:09 +01:00
DjWarmonger
5d1fbedf85 Merge pull request #91 from Fayth/fix-advmap-restoring
Short and clear code is always welcome.
2015-02-18 07:59:00 +01:00
ArseniyShestakov
536015f1c2 Quest Log: move slider to start when blocked
Partially fixes problem mentioned in issue 2093
2015-02-18 00:07:03 +03:00
DjWarmonger
200bcd7da6 Merge pull request #88 from ArseniyShestakov/improvedQuestLog
Awesome, thanks!
2015-02-17 06:44:38 +01:00
ArseniyShestakov
c0b78de6b4 Quest Log: block hide complete button when it useless
We only want to to be checkable when there is actually any complete quests in list.
2015-02-17 06:08:35 +03:00
ArseniyShestakov
ae20499854 Quest Log: implement option to hide complete quests 2015-02-17 05:47:49 +03:00
Fay
116e1d62a1 Makes player interface recreate advmap instead of reusing existing instance; 2015-02-16 21:45:16 +01:00
ArseniyShestakov
007f95fa44 Fix valgrind warning about uninitialised value 2015-02-16 13:28:10 +03:00
ArseniyShestakov
c865055803 Hero Exchange: fix quest log button 2015-02-16 01:33:05 +03:00
ArseniyShestakov
43f1e37546 Quest Log: fix text for quests with minimal level requirement
This is needed because m13478val is ui32 while translation expect %s string.
2015-02-16 00:53:44 +03:00
ArseniyShestakov
df2894b798 Quest Log: implement support Seer names 2015-02-16 00:44:48 +03:00
DjWarmonger
aef22002ad Merge pull request #89 from ArseniyShestakov/improveSoundHandler
Nobody touched sounds in years. Code looks good and if it fixes the error, there is no reason not to pull it.
2015-02-15 22:37:54 +01:00
ArseniyShestakov
37a5930f84 CSoundHandler: fix memory leak and implement cache
This one fix issue 2091 and add caching that actually works.
2015-02-15 22:51:33 +03:00
ArseniyShestakov
789da96a81 Stables: give 400 movement points bonus instead of 600
Tested it and now VCMI work exactly as original game.
This one fix issues 2077 / 2082
2015-02-15 07:55:59 +03:00
AlexVinS
c46999bcb8 Conurrency related tweaks. Crashes in renderFrame should be fixed, but synchronization is still not perfect 2015-02-15 04:53:01 +03:00
AlexVinS
b71d985d49 cleanup 2015-02-15 01:46:47 +03:00
AlexVinS
aa5e9fc959 get rid of global debug macros. 2015-02-14 22:43:16 +03:00
DjWarmonger
7f12802407 Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2015-02-14 19:48:07 +01:00
DjWarmonger
a8ff08a562 Fixed #2012 2015-02-14 19:44:04 +01:00
ArseniyShestakov
9665c50f3f Quest Log: clanup code that is not needed anymore
As far as I understand once object capturing used it's no longer needed to manually call Show.
Currently CIntObject::show and CIntObject::showAll automatically call it for all children.
2015-02-14 21:35:11 +03:00