Commit Graph

233 Commits (master)

Author SHA1 Message Date
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.
3 years ago
David Cernat 7a6dfc61ec Add OpenMW commits up to 21 May 2021
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/mwscript/interpretercontext.cpp
#   components/CMakeLists.txt
4 years ago
jvoisin 7deb6a6ffd Use const references when possible in for loops
No need for useless copies.
4 years ago
David Cernat a3f304107b Add OpenMW commits up to 2 May 2021
# Conflicts:
#   components/CMakeLists.txt
4 years ago
Andrei Kortunov 651ad11ad8 Do not leave variables without initialization, even in execution paths where they are unused 4 years ago
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
4 years ago
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.
4 years ago
David Cernat 1a4b817b31 [General] Rework ObjectDialogueChoice for multilingual compatibility
Use a different system for sending and applying ObjectDialogueChoice packets.
4 years ago
Alexei Dobrohotov 817ac4cfbd Don't regenerate the topics list unconditionally 4 years ago
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
4 years ago
David Cernat 9dcb0f4c32 [General] Implement ObjectDialogueChoice packet 4 years ago
Andrei Kortunov 6c591c190b Add support for service-specific refusals (feature #5580) 4 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
David Cernat baa9446cd1 Add OpenMW commits up to 4 Aug 2020 4 years ago
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
4 years ago
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
5 years ago
David Cernat 3b2eb6f62c Add OpenMW commits up to 22 Jun 2020
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
5 years ago
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).
5 years ago
psi29a 981184109e Merge branch 'formattopics' into 'master'
Change color of keywords in the dialogue window (#2159)

See merge request OpenMW/openmw!126
5 years ago
David Cernat 3c51f1c23a [General] Include last gold restock time in ObjectMiscellaneous packets 5 years ago
Capostrophic 45e6a03937 Only reset dialogue history of dialogue GUI mode is gone 5 years ago
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
5 years ago
Capostrophic fbcc8ef046 Reset dialogue history when the window can't track what closed it 5 years ago
Capostrophic 9dbdbbaea7 Only clear dialogue history if the dialogue window is closed (bug #5358) 5 years ago
Capostrophic 56539fee4f Partially revert "Get rid of redundant setKeyFocusWidget() method" 6 years ago
Andrei Kortunov faf940546b Get rid of redundant setKeyFocusWidget() method 6 years ago
Andrei Kortunov a79955352f Revert MR !103 and !105 since they cause issues with dialogue window 6 years ago
Phillip A c4d5203e14 Fix MR !103 breaking of dialogue with actors with no greetings 6 years ago
Andrei Kortunov 8df8bd3f37 Use C++11-style loops in the GUI instead of iterators 6 years ago
Andrei Kortunov 5e071e3eb0 Add a missing check if mPtr is empty (bug #4715) 6 years ago
Andrei Kortunov dda02bd696 Do not use book fonts for dialogue window 6 years ago
Capostrophic 7ef6fa9f61 Remove deprecated GMST get* functions 6 years ago
Andrei Kortunov 5a4d0cec3a Use new logging system for game itself 6 years ago
Marc Zinnschlag b75b5d139a Merged pull request #1845 7 years ago
Capostrophic 7087bad580 Use special behavior for all topics with reserved names (bug #4557) 7 years ago
Andrei Kortunov b0f2e00e7f Make forcegreeting a non-op for non-actor objects (bug #4553) 7 years ago
Capostrophic bded697f07
Make Goodbye block using hyperlinks 7 years ago
Capostrophic 1a354f88ac Make choices trigger goodbye if Goodbye is used (fixes #3897) 7 years ago
scrawl 7c5d2a1ac4 Update dialogue topics list after result script is run
Regression from 0.42.
7 years ago
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)
7 years ago
Andrei Kortunov eaff7e30aa Fix a 'Good Beast' companion window 7 years ago
scrawl 433028e8d7 Fix GUI regressions 7 years ago
scrawl 097b9d90bc Fix travel service not showing 7 years ago
scrawl 14c9e858c8 Check to make sure button is enabled 7 years ago
scrawl 6ec66fa95f Restore keyfocus to goodbye when selecting a topic 7 years ago
scrawl 3d2ad2d339 Include cleanup 7 years ago
scrawl 7a64098da3 Avoid rebuilding the dialogue topics pane unnecessarily
Also retaining key focus.
7 years ago
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).
7 years ago
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
7 years ago
scrawl c5613e384e Remove duplicate disposition code 7 years ago