diff --git a/client.cs b/client.cs index 63c6eac..8eb5235 100644 --- a/client.cs +++ b/client.cs @@ -69,6 +69,7 @@ function RPGClient_SendClick(%button, %pos) } %norm = RPGClient_NormPos(RPGClient_Mouse, %pos); commandToServer('RPG_Click', %button, getWord(%norm, 0), getWord(%norm, 1), RPGClient_Aspect()); + schedule(1, 0, RPGClient_ApplyCamera); } function RPGClient_Mouse::onMouseDown(%this, %mod, %pos, %clicks) @@ -89,6 +90,19 @@ function RPGClient_Mouse::onRightMouseDown(%this, %mod, %pos, %clicks) RPGClient_SendClick(1, %pos); } +function RPGClient_Mouse::onWake(%this) +{ + if (isObject(Canvas)) + { + %ext = Canvas.getExtent(); + %this.resize(0, 0, getWord(%ext, 0), getWord(%ext, 1)); + } +} + +function RPGClient_BlockMouse(%val) +{ +} + function RPGClient_EnableOverlay() { if (!isObject(PlayGui) || isObject(RPGClient_Mouse)) @@ -122,9 +136,15 @@ function RPGClient_EnableOverlay() RPGClient_KeyMap.bind(keyboard0, equals, RPGClient_ZoomIn); RPGClient_KeyMap.bind(keyboard0, minus, RPGClient_ZoomOut); RPGClient_KeyMap.bind(keyboard0, m, RPGClient_ToggleCursor); + RPGClient_KeyMap.bind(mouse0, button0, RPGClient_BlockMouse); + RPGClient_KeyMap.bind(mouse0, button1, RPGClient_BlockMouse); RPGClient_KeyMap.push(); $mvFreeLook = 0; $firstPerson = 0; + if (isObject(Canvas) && !Canvas.isCursorOn()) + { + Canvas.cursorOn(); + } if (isObject(PlayGui)) { PlayGui.killToolHud(); @@ -468,6 +488,28 @@ function RPGClient_List_End() } } +package RPGClient_BlockMouseFire +{ + function mouseFire(%val) + { + if ($RPGClient::Active) + { + return; + } + Parent::mouseFire(%val); + } + + function altTrigger(%val) + { + if ($RPGClient::Active) + { + return; + } + Parent::altTrigger(%val); + } +}; +activatePackage(RPGClient_BlockMouseFire); + package RPGClient_Cleanup { function disconnectedCleanup(%doReconnect)