mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-23 15:52:55 +01:00
Fix display of chat shortcut on network games (#5593)
This commit is contained in:
@@ -49,6 +49,13 @@ public:
|
||||
{
|
||||
get_keyboard_map_scroll(keysState, x, y);
|
||||
}
|
||||
|
||||
std::string GetKeyboardShortcutString(sint32 shortcut) override
|
||||
{
|
||||
utf8 buffer[256];
|
||||
keyboard_shortcuts_format_string(buffer, sizeof(buffer), shortcut);
|
||||
return std::string(buffer);
|
||||
}
|
||||
};
|
||||
|
||||
IWindowManager * OpenRCT2::Ui::CreateWindowManager()
|
||||
|
||||
@@ -14,9 +14,12 @@
|
||||
*****************************************************************************/
|
||||
#pragma endregion
|
||||
|
||||
#include "../Context.h"
|
||||
#include "../core/Guard.hpp"
|
||||
#include "../OpenRCT2.h"
|
||||
#include "../PlatformEnvironment.h"
|
||||
#include "../ui/UiContext.h"
|
||||
#include "../ui/WindowManager.h"
|
||||
|
||||
extern "C" {
|
||||
#include "../platform/platform.h"
|
||||
@@ -2361,14 +2364,16 @@ const char* network_get_group_name(uint32 index)
|
||||
|
||||
void network_chat_show_connected_message()
|
||||
{
|
||||
char templateBuffer[128];
|
||||
char *templateString = templateBuffer;
|
||||
// keyboard_shortcuts_format_string(templateBuffer, sizeof(templateBuffer), SHORTCUT_OPEN_CHAT_WINDOW);
|
||||
auto windowManager = GetContext()->GetUiContext()->GetWindowManager();
|
||||
std::string s = windowManager->GetKeyboardShortcutString(41 /* SHORTCUT_OPEN_CHAT_WINDOW */);
|
||||
const char * sptr = s.c_str();
|
||||
|
||||
utf8 buffer[256];
|
||||
format_string(buffer, sizeof(buffer), STR_MULTIPLAYER_CONNECTED_CHAT_HINT, &sptr);
|
||||
|
||||
NetworkPlayer server;
|
||||
server.Name = "Server";
|
||||
format_string(buffer, 256, STR_MULTIPLAYER_CONNECTED_CHAT_HINT, &templateString);
|
||||
const char *formatted = Network::FormatChat(&server, buffer);
|
||||
const char * formatted = Network::FormatChat(&server, buffer);
|
||||
chat_history_add(formatted);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ namespace OpenRCT2 { namespace Ui
|
||||
rct_window * OpenWindow(rct_windowclass wc) override { return nullptr; }
|
||||
void HandleKeyboardShortcut(sint32 key) override { }
|
||||
void GetKeyboardMapScroll(const uint8 * keysState, sint32 * x, sint32 * y) override { }
|
||||
std::string GetKeyboardShortcutString(sint32 shortcut) override { return std::string(); }
|
||||
};
|
||||
|
||||
IWindowManager * CreateDummyWindowManager()
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include "../common.h"
|
||||
|
||||
extern "C"
|
||||
@@ -37,6 +38,7 @@ namespace OpenRCT2
|
||||
|
||||
virtual void HandleKeyboardShortcut(sint32 key) abstract;
|
||||
virtual void GetKeyboardMapScroll(const uint8 * keysState, sint32 * x, sint32 * y) abstract;
|
||||
virtual std::string GetKeyboardShortcutString(sint32 shortcut) abstract;
|
||||
};
|
||||
|
||||
IWindowManager * CreateDummyWindowManager();
|
||||
|
||||
Reference in New Issue
Block a user