From f5119027b044d2aedb832d6ad17bd8cbbc2fb683 Mon Sep 17 00:00:00 2001 From: NHogweed Date: Sun, 6 Sep 2026 20:00:34 +0300 Subject: [PATCH 1/2] Support for insert, home, end, page up and page down --- common/utils/keycodec.cpp | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/common/utils/keycodec.cpp b/common/utils/keycodec.cpp index 62b012ebf..2fd17540a 100644 --- a/common/utils/keycodec.cpp +++ b/common/utils/keycodec.cpp @@ -42,6 +42,13 @@ std::initializer_list KeyCodec::keys = { {Tempest::Event::K_8, 0x7f00}, {Tempest::Event::K_9, 0x8000}, + {Tempest::Event::K_Insert, 0xd200}, + {Tempest::Event::K_Delete, 0xd300}, + {Tempest::Event::K_Home, 0xc700}, + {Tempest::Event::K_End, 0xcf00}, + {Tempest::Event::K_PageUp, 0xc900}, + {Tempest::Event::K_PageDown, 0xd100}, + {Tempest::Event::K_Up, 0xc800}, {Tempest::Event::K_Down, 0xd000}, {Tempest::Event::K_Left, 0xcb00}, @@ -49,7 +56,6 @@ std::initializer_list KeyCodec::keys = { {Tempest::Event::K_Back, 0x0e00}, {Tempest::Event::K_Tab, 0x0f00}, - {Tempest::Event::K_Delete, 0xd300}, {Tempest::Event::K_Space, 0x3900}, {Tempest::Event::K_CapsLock, 0x3A00}, @@ -349,6 +355,24 @@ string_frm<64> KeyCodec::keyToStr(Tempest::Event::KeyType k) { return string_frm<64>(c); } + if(k==Tempest::Event::K_Insert) { + return "INSERT"; + } + if(k==Tempest::Event::K_Delete) { + return "DELETE"; + } + if(k==Tempest::Event::K_Home) { + return "HOME"; + } + if(k==Tempest::Event::K_End) { + return "END"; + } + if(k==Tempest::Event::K_PageUp) { + return "PAGE UP"; + } + if(k==Tempest::Event::K_PageDown) { + return "PAGE DOWN"; + } if(k==Tempest::Event::K_Up) { return "CURSOR UP"; } @@ -376,9 +400,6 @@ string_frm<64> KeyCodec::keyToStr(Tempest::Event::KeyType k) { if(k==Tempest::Event::K_RControl) { return "RIGHT CONTROL"; } - if(k==Tempest::Event::K_Delete) { - return "DELETE"; - } if(k==Tempest::Event::K_LShift) { return "LEFT SHIFT"; } From 126d1e7a8824d12f46e92cc4f131ff36c9340742 Mon Sep 17 00:00:00 2001 From: NHogweed Date: Tue, 15 Sep 2026 14:30:11 +0300 Subject: [PATCH 2/2] Enable underwater rotation with forward/backward keys --- common/game/playercontrol.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/common/game/playercontrol.cpp b/common/game/playercontrol.cpp index 8d48c583f..5c4f92f82 100644 --- a/common/game/playercontrol.cpp +++ b/common/game/playercontrol.cpp @@ -858,21 +858,22 @@ void PlayerControl::implMove(uint64_t dt) { ani = Npc::Anim::MoveR; } else if(this->wantsToMoveForward()) { - if((pl.walkMode()&WalkBit::WM_Dive)!=WalkBit::WM_Dive) { - ani = Npc::Anim::Move; - } - else if(pl.isDive()) { + if(pl.isDive()) { pl.setDirectionY(rotY - rspeed); return; } + else { + ani = Npc::Anim::Move; + } } else if(this->wantsToMoveBackward()) { - if((pl.walkMode()&WalkBit::WM_Dive)!=WalkBit::WM_Dive) { - ani = Npc::Anim::MoveBack; - } else if(pl.isDive()) { + if(pl.isDive()) { pl.setDirectionY(rotY + rspeed); return; } + else { + ani = Npc::Anim::MoveBack; + } }