Bo Svensson
ef906cbfa8
improves MWClass mapping ( #3166 )
...
Currently, we use a peculiar mapping of ESM classes by their std::type_info::name. This mapping is an undefined behaviour because std::type_info::name is strictly implementation defined. It could return a non-unique value on some platforms. With this PR we use the unsigned int sRecordId of the ESM class as a more efficient lookup type that does not build on undefined behaviour. We can expect marginally faster save-game loading with these changes as well.
2021-10-11 13:46:21 +02:00
Bo Svensson
af759683b8
enables std::move in keywordsearch.hpp ( #3163 )
...
For some reason we have commented std::move keywords in keywordsearch.hpp while they are quite beneficial. openmw_test_suite for keywordsearch.hpp takes 30% less time with these changes.
2021-10-10 18:15:40 +02:00
florent teppe
e5abadc234
Fix keyword search when the keyword is preceded by a non whitespace non alpha character
2021-10-07 13:26:40 +00:00
florent.teppe
d9c3ba03f4
Uses limits instead of climits
2021-09-20 21:01:28 +02:00
florent.teppe
bcb0526268
Added climits, it compiled on VS2019, but not with g++
2021-09-19 15:00:51 +02:00
florent.teppe
76be2e91e5
Fixed an issue where keyword search expected the text to be all ASCII characters
2021-09-18 18:25:04 +02:00
Evil Eye
1196e0cfe6
Change disposition to work like vanilla
2021-07-06 17:03:56 +02:00
jvoisin
2cb9482893
Use a std::vector instead of a std::list in hypertextparser.cpp
2021-07-01 23:09:08 +00:00
jvoisin
5840279f16
Use default
instead of empty constructors/destructors
...
See https://pvs-studio.com/en/docs/warnings/v832/ for details
2021-06-24 00:26:15 +02:00
Evil Eye
1a1085272a
Use ciEqual to determine actor-specific answers
2021-05-27 17:13:04 +02:00
jvoisin
04edb1c817
Trim down some internal includes
2021-04-30 19:39:26 +02:00
Andrei Kortunov
651ad11ad8
Do not leave variables without initialization, even in execution paths where they are unused
2021-04-19 16:08:10 +04:00
Evil Eye
3007cb14a9
Also allow negative AI values in dialogue
2021-02-05 19:00:35 +01:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
...
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
Bret Curtis
5a824d0333
components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues
2020-10-22 23:57:53 +02:00
Andrei Kortunov
6c591c190b
Add support for service-specific refusals (feature #5580 )
2020-10-20 18:58:26 +04:00
Andrei Kortunov
065ed5138e
Use emplace_back instead of push_back
2020-10-18 10:27:35 +04:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
Frederic Chardon
12ee42c6f3
Update mLastTopic before executing scripts. In case the script contains ClearInfoActor it erase not the correct topic.
...
Other correction not linked with the bug:
- reset mActorKnownTopicsFlag at the same time as mActorKnownTopics
- don't call updateTopics in addResponse, it is already handled by the response
callback
2020-07-28 20:50:49 +00:00
fredzio
947f3cf13c
Optionally change color of keywords in the dialogue window based on the
...
next answer:
- if the answer was already heard, apply "color topic exhaused" setting
- if the answer was never heard, and the current actor is specified in
the dialog, apply "color topic specific"
- otherwise, do nothing special
2020-05-02 01:42:05 +02:00
Andrei Kortunov
d58f93f388
Use sayDone() only for scripting backward compatibility
2019-09-06 09:19:41 +04:00
Andrei Kortunov
bd2188a0f8
Use the logging system for compiler errors
2019-04-23 22:20:18 +04:00
Bret Curtis
2c57abc245
Merge branch 'master' into dialoguefix
2019-03-29 15:07:45 +01:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Andrei Kortunov
b7adbe79b9
Allow localization to use implicit keywords (bug #4841 )
2019-02-09 14:06:05 +04:00
Capostrophic
0535de6ca0
Make quest status update handling closer to vanilla (bug #4815 )
...
Don't update quest status if we're simply updating the quest index
Update quest status if a new entry is added regardless of its index
2019-02-08 10:25:31 +03:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Capostrophic
7ef6fa9f61
Remove deprecated GMST get* functions
2018-08-29 18:38:12 +03:00
Andrei Kortunov
5a4d0cec3a
Use new logging system for game itself
2018-08-14 23:05:43 +04:00
Capostrophic
ab29f9e13f
Add permanent barter disposition change option (feature #3103 )
2018-08-01 17:31:35 +03:00
Capostrophic
8376c8c68e
Allow partial matches in NotCell condition ( fixes #4459 )
2018-06-18 03:27:31 +03:00
Capostrophic
b274931165
Revert erroneous changes
2018-06-08 19:18:53 +03:00
Capostrophic
11103211c5
Make Goodbye and Choice choices mutually exclusive
2018-06-08 15:03:19 +03:00
Capostrophic
99360e132f
Only display "new journal entry" message in dialogue if there *is* a new entry
2018-02-18 16:01:50 +03:00
Andrei Kortunov
b6ae7f3cc8
Do not add greetings to the journal index (bug #4342 )
2017-12-04 22:42:10 +04:00
scrawl
c36d250044
Parse dialogue text for keywords after the resultscript runs ( Fixes #4210 )
2017-11-15 17:20:06 +00:00
scrawl
4a7be0ffda
Don't reset journal index to a lower value ( Fixes #4172 )
2017-10-24 20:02:35 +00:00
scrawl
e564dd842e
Refactor dialogue responses to make sure messages from scripts are printer afterwards, not before the dialogue response ( Fixes #4166 )
...
Don't delete Link objects prematurely (Fixes #4171 )
2017-10-23 23:33:06 +00:00
scrawl
3d0094bd2e
Fix behavior of 'journal' command when invoked with already seen entry
2017-10-22 20:50:15 +00:00
scrawl
768da57da2
Fix dialogue topics displayed in lower case
2017-10-22 20:50:15 +00:00
Andrei Kortunov
f26206b630
Make unconscious actors do not speak and do not track targets
2017-09-30 20:55:42 +04:00
scrawl
2ce79e07a4
Refactor dialogue GUI to talk to the dialogue manager, not the other way around and not both ways.
...
- Fix memory leaks in DialogueWindow
- Fix Link objects being deleted from their own event handler
2017-09-25 23:38:28 +02:00
scrawl
476bec41c5
Remove redundant code
2017-09-25 23:27:01 +02:00
scrawl
e8c6a3b225
Fix crash in dialogue filter if local variables are not configured
...
This could happen e.g. by 'some_npc_in_remote_cell->forcegreeting'
2017-09-25 21:21:51 +02:00
scrawl
717e68fab2
Remove redundant resetHistory argument
2017-09-25 19:58:34 +02:00
scrawl
19e07fad30
Remove redundant Services enum
2017-09-25 19:52:20 +02:00
scrawl
f8ffd85146
Topic passed to keywordSelected() no longer has to be lower case
...
Remove redundant mDialogueMap
2017-09-25 19:03:38 +02:00
scrawl
82a211ba03
Fix duplicate code
2017-09-25 17:47:30 +02:00
scrawl
84657271c7
Improve WindowManager API with a generic way of passing a Ptr to the opened GUI window
2017-09-24 19:08:12 +02:00
scrawl
c203a0774a
Adjust some layouts to take better advantage of keyboard navigation
2017-09-24 19:08:11 +02:00