David Cernat
abdaedd752
[Client] Rely on untranslated topics in ObjectDialogueChoice packets
...
Previously, when using the Russian edition, all dialogue topics were translated into English before being sent to the server in an ObjectDialogueChoice packet and were then translated back into Russian when received again by the client. However, there were situations where different topics in English corresponded to the same Russian word, e.g. "chores" and "duties" were both translated as "задания", which led to the incorrect topic being used on the client in the end.
This commit makes it so that users of the Russian edition send ObjectDialogueChoice packets where the topicId variable contains both the untranslated topic and the translated one, delimited by a | character, with the client simply using the former when receiving the packet again.
This is a hotfix instead of the proper fix, as the proper fix would use different variables for the two versions of the topic and thus require the structure of the ObjectDialogueChoice packet to change.
2022-02-16 22:19:58 +02:00
David Cernat
7a6dfc61ec
Add OpenMW commits up to 21 May 2021
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwscript/interpretercontext.cpp
# components/CMakeLists.txt
2021-05-21 16:00:09 +02:00
jvoisin
7deb6a6ffd
Use const references when possible in for loops
...
No need for useless copies.
2021-05-15 19:50:01 +02:00
David Cernat
a3f304107b
Add OpenMW commits up to 2 May 2021
...
# Conflicts:
# components/CMakeLists.txt
2021-05-02 20:55:49 +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
David Cernat
da3316daf8
Add OpenMW commits up to 4 Jan 2021
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/main.cpp
# apps/openmw/mwmechanics/npcstats.hpp
# apps/openmw/mwphysics/actor.cpp
# apps/openmw/mwphysics/mtphysics.hpp
# components/CMakeLists.txt
2021-01-05 07:25:31 +02:00
David Cernat
db32f7f9f8
[Client] Use ObjectDialogueChoice for highlighted topics in dialogue
...
The packet is now sent not just for items in the list on the right of the dialogue screen, but also for the clickable topics in the dialogue text itself.
2020-12-17 03:12:01 +02:00
David Cernat
1a4b817b31
[General] Rework ObjectDialogueChoice for multilingual compatibility
...
Use a different system for sending and applying ObjectDialogueChoice packets.
2020-12-13 08:09:14 +02:00
Alexei Dobrohotov
817ac4cfbd
Don't regenerate the topics list unconditionally
2020-12-12 23:07:00 +03:00
David Cernat
7f435ceeac
Add OpenMW commits up to 1 Nov 2020
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/main.cpp
# apps/openmw/mwclass/container.hpp
# apps/openmw/mwclass/creature.hpp
# apps/openmw/mwclass/npc.hpp
# apps/openmw/mwdialogue/dialoguemanagerimp.hpp
# apps/openmw/mwdialogue/journalimp.hpp
# apps/openmw/mwgui/container.cpp
# apps/openmw/mwgui/dialogue.hpp
# apps/openmw/mwgui/mainmenu.cpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/aiactivate.hpp
# apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
# apps/openmw/mwscript/containerextensions.cpp
# apps/openmw/mwscript/interpretercontext.hpp
# components/CMakeLists.txt
2020-11-01 23:17:59 +02:00
David Cernat
9dcb0f4c32
[General] Implement ObjectDialogueChoice packet
2020-10-26 19:48:40 +02:00
Andrei Kortunov
6c591c190b
Add support for service-specific refusals (feature #5580 )
2020-10-20 18:58:26 +04:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
David Cernat
baa9446cd1
Add OpenMW commits up to 4 Aug 2020
2020-08-04 17:41:01 +02: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
David Cernat
5eb7eb8d88
Add OpenMW commits up to 4 Jul 2020
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
# apps/openmw/engine.cpp
# apps/openmw/mwbase/windowmanager.hpp
# apps/openmw/mwgui/charactercreation.cpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/character.cpp
2020-07-04 16:50:54 +03:00
David Cernat
3b2eb6f62c
Add OpenMW commits up to 22 Jun 2020
...
# Conflicts:
# .travis.yml
# CMakeLists.txt
2020-06-22 20:50:55 +03:00
fredzio
ae27ad6bcd
Follow up to MR 126
...
Fill settings-default.cfg with default values as RGBA values are not intuitive for end users.
Add a boolean setting to enable the formatting (disabled by default).
2020-06-22 04:31:12 +02:00
psi29a
981184109e
Merge branch 'formattopics' into 'master'
...
Change color of keywords in the dialogue window (#2159 )
See merge request OpenMW/openmw!126
2020-06-21 07:58:02 +00:00
David Cernat
3c51f1c23a
[General] Include last gold restock time in ObjectMiscellaneous packets
2020-05-16 19:10:11 +03:00
Capostrophic
45e6a03937
Only reset dialogue history of dialogue GUI mode is gone
2020-05-09 02:01:55 +03: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
Capostrophic
fbcc8ef046
Reset dialogue history when the window can't track what closed it
2020-04-14 08:49:14 +03:00
Capostrophic
9dbdbbaea7
Only clear dialogue history if the dialogue window is closed (bug #5358 )
2020-04-12 11:59:58 +03:00
Capostrophic
56539fee4f
Partially revert "Get rid of redundant setKeyFocusWidget() method"
2019-06-09 02:12:44 +03:00
Andrei Kortunov
faf940546b
Get rid of redundant setKeyFocusWidget() method
2019-05-17 19:09:40 +04:00
Andrei Kortunov
a79955352f
Revert MR !103 and !105 since they cause issues with dialogue window
2019-05-14 14:22:54 +04:00
Phillip A
c4d5203e14
Fix MR !103 breaking of dialogue with actors with no greetings
2019-05-09 23:28:43 +00:00
Andrei Kortunov
8df8bd3f37
Use C++11-style loops in the GUI instead of iterators
2019-03-02 13:27:59 +04:00
Andrei Kortunov
5e071e3eb0
Add a missing check if mPtr is empty (bug #4715 )
2018-11-13 10:32:23 +04:00
Andrei Kortunov
dda02bd696
Do not use book fonts for dialogue window
2018-09-17 19:56:36 +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
Marc Zinnschlag
b75b5d139a
Merged pull request #1845
2018-08-05 12:28:38 +02:00
Capostrophic
7087bad580
Use special behavior for all topics with reserved names (bug #4557 )
2018-08-05 12:39:53 +03:00
Andrei Kortunov
b0f2e00e7f
Make forcegreeting a non-op for non-actor objects (bug #4553 )
2018-08-05 09:31:45 +04:00
Capostrophic
bded697f07
Make Goodbye block using hyperlinks
2018-07-06 19:38:36 +03:00
Capostrophic
1a354f88ac
Make choices trigger goodbye if Goodbye is used ( fixes #3897 )
2018-06-07 22:09:55 +03:00
scrawl
7c5d2a1ac4
Update dialogue topics list after result script is run
...
Regression from 0.42.
2017-11-15 17:20:06 +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
Andrei Kortunov
eaff7e30aa
Fix a 'Good Beast' companion window
2017-10-21 16:56:21 +04:00
scrawl
433028e8d7
Fix GUI regressions
2017-10-03 22:07:56 +00:00
scrawl
097b9d90bc
Fix travel service not showing
2017-09-30 15:40:47 +00:00
scrawl
14c9e858c8
Check to make sure button is enabled
2017-09-28 17:00:07 +00:00
scrawl
6ec66fa95f
Restore keyfocus to goodbye when selecting a topic
2017-09-28 16:57:55 +00:00
scrawl
3d2ad2d339
Include cleanup
2017-09-27 12:56:09 +00:00
scrawl
7a64098da3
Avoid rebuilding the dialogue topics pane unnecessarily
...
Also retaining key focus.
2017-09-27 12:56:02 +00:00
scrawl
1714271a76
Improve KeyboardNavigation to better handle modal windows
...
It's no longer possible to cycle to widgets that aren't part of the current modal window.
The window manager will remember the focused widget of a modal window on a limited basis (it'll be discarded when a different modal window opens).
2017-09-27 12:55:58 +00: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
c5613e384e
Remove duplicate disposition code
2017-09-25 21:30:03 +02:00