From e1e0d95e457ba5f424bcfb62bc59b4e13d4cbbd1 Mon Sep 17 00:00:00 2001 From: RallyBlock Date: Tue, 10 Nov 2026 01:46:54 -0500 Subject: [PATCH] Fix cam pitch (neg euler); restore Corpse+orbit; drop bad chat hooks --- client.cs | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/client.cs b/client.cs index 70eb769..f61ce6b 100644 --- a/client.cs +++ b/client.cs @@ -161,7 +161,7 @@ function RPGClient_ViewTransform(%body, %yaw, %dist, %panX, %panY) %ey = %cy + %by; %ez = %cz + %bz; %eye = %ex @ " " @ %ey @ " " @ %ez; - %euler = %pitch @ " 0 " @ (%yaw + $pi); + %euler = (-%pitch) @ " 0 " @ (%yaw + $pi); %rot = eulerRadToMatrix(%euler); return %eye @ " " @ %rot; } @@ -188,6 +188,7 @@ function RPGClient_NetCam() function RPGClient_CameraTick() { $RPGClient::CamTickSched = 0; + RPGClient_PollChatOpen(); if (!isObject(ServerConnection) || !$RPGClient::CamTickOn) { return; @@ -260,6 +261,18 @@ function RPGClient_SetChatOpen(%open) $RPGClient::ChatOpen = %open ? 1 : 0; } +function RPGClient_PollChatOpen() +{ + if (!$RPGClient::ChatOpen || !isObject(newChatText)) + { + return; + } + if (!newChatText.isVisible()) + { + $RPGClient::ChatOpen = 0; + } +} + function RPGClient_RpgKeys() { return $RPGClient::Active && !RPGClient_TextTyping(); @@ -558,13 +571,14 @@ function RPGClient_ApplyCamera(%forceSync) %cam.unmountImage(0); if (!$RPGClient::OrbitInit) { - %cam.setMode("Fly", 0); - %cam.mode = "Fly"; - $mvFreeLook = 0; - $firstPerson = 0; + %cam.setMode("Corpse", %body); + %cam.mode = "Corpse"; + %cam.thirdPersonOnly = 1; $RPGClient::OrbitInit = 1; } + %cam.setOrbitMode(%body, %xfm, 0, 32, $RPGClient::Dist); %cam.setTransform(%xfm); + %cam.setOrbitDist($RPGClient::Dist); } function RPGClient_ScheduleCamera() @@ -1215,17 +1229,6 @@ package RPGClient_ChatKeys } } - function newChatText::onWake(%this) - { - Parent::onWake(%this); - RPGClient_SetChatOpen(1); - } - - function newChatText::onSleep(%this) - { - Parent::onSleep(%this); - RPGClient_SetChatOpen(0); - } }; activatePackage(RPGClient_ChatKeys);