All pastes #1078604 Raw Edit

Patch FS#1336 bis

public diff v1 · immutable
#1078604 ·published 2008-07-21 18:23 UTC
rendered paste body
Index: /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/pscharcontrol.cpp===================================================================--- /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/pscharcontrol.cpp	(révision 1769)+++ /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/pscharcontrol.cpp	(copie de travail)@@ -527,7 +527,7 @@     // RS: invert mouselook status so the mouselook button can be     // used to temporarily switch out of mouselook mode too     movement->MouseLook(!movement->MouseLook());-    if (!movement->MouseZoom()) { // KL: No CenterMouse while in MouseZoom mode.+    if (!movement->MouseZoom() && movement->MouseLook()) { // KL: No CenterMouse while in MouseZoom mode.         charcontrol->CenterMouse(value);     }  Index: /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/gui/pawsslot.cpp===================================================================--- /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/gui/pawsslot.cpp	(révision 1769)+++ /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/gui/pawsslot.cpp	(copie de travail)@@ -86,18 +86,23 @@         psengine->GetMsgHandler()->SendMessage( out.msg );         return true;     }-    else if ( dragDrop && (!empty || psengine->GetSlotManager()->IsDragging()) )+    else     {-        // Grab one item if shift key are used. Grab everything in the slot -        // if either middle mouse button or ctrl key are used-        mgr->Handle( this, modifiers==1, button==2 || modifiers==2 );+        bool grab = psengine->GetMouseBinds()->CheckBind("EntityDragDrop", button, modifiers);+        bool grabAll = psengine->GetMouseBinds()->CheckBind("EntityDragDropAll", button, modifiers);+        bool grabOne = psengine->GetMouseBinds()->CheckBind("EntityDragDropOne", button, modifiers);+        if ( dragDrop && (grab || grabAll || grabOne) && (!empty || psengine->GetSlotManager()->IsDragging()) )+        {+            // Grab one item if EntityDragDropOne modifiers key are used. Grab everything in the slot+            // if EntityDragDropAll modifiers key are used+            mgr->Handle( this, grabOne, grabAll );         return true;-    }-    else if ( parent )+        }else if ( parent )         return parent->OnButtonPressed(button, modifiers, this);     else         return pawsWidget::OnMouseDown(button, modifiers, x, y ); }+}  void pawsSlot::SetToolTip( const char* text ) {Index: /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/gui/psmainwidget.cpp===================================================================--- /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/gui/psmainwidget.cpp	(révision 1769)+++ /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/gui/psmainwidget.cpp	(copie de travail)@@ -354,6 +354,11 @@     {         GEMClientObject* over = FindMouseOverObject( x, y ); +        const psControl* mouseLookTrigger = psengine->GetCharControl()->GetTrigger("MouseLook");+        if(mouseLookTrigger->button==(uint)button && mouseLookTrigger->mods==(uint)keyModifier){+            psengine->GetCharControl()->GetMovementManager()->MouseLookCanAct(true);+        }+         if (psengine->GetMouseBinds()->CheckBind("EntitySelect", button, keyModifier))         {             if ( over )Index: /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/psmovement.h===================================================================--- /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/psmovement.h	(révision 1769)+++ /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/psmovement.h	(copie de travail)@@ -108,6 +108,7 @@     bool autoMove;     bool toggleRun;     bool mouseLook;+    bool mouseLookCanAct;     bool mouseZoom;     bool mouseMove;     bool sneaking;@@ -172,6 +173,9 @@     bool GetInvertedMouse() { return invertedMouse; }     void LoadMouseSettings(); +    void MouseLookCanAct(bool v);+    bool MouseLookCanAct(){ return mouseLookCanAct; }+     void MouseLook(bool v);     bool MouseLook() { return mouseLook; }     void MouseLook(iEvent& ev);Index: /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/psmovement.cpp===================================================================--- /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/psmovement.cpp	(révision 1769)+++ /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/src/client/psmovement.cpp	(copie de travail)@@ -89,6 +89,7 @@     toggleRun = false;     mouseAutoMove = false;     mouseLook = false;+    mouseLookCanAct = false;     mouseZoom = false;     mouseMove = false;     sneaking = false;@@ -599,6 +600,9 @@     SetMouseSensX( v2 ); } +void psMovementManager::MouseLookCanAct(bool v){+    mouseLookCanAct = v;+}  void psMovementManager::MouseLook(bool v) {@@ -606,6 +610,9 @@ 	{ 		return; 	}++    if(mouseLookCanAct || !v)+    { 	mouseLook = v; 	psCamera* camera = psengine->GetPSCamera(); 	if( camera->RotateCameraWithPlayer() )@@ -620,6 +627,8 @@ 		} 	} }+    mouseLookCanAct = false;+}  void psMovementManager::MouseLook(iEvent& ev) {Index: /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/data/gui/configmouse.xml===================================================================--- /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/data/gui/configmouse.xml	(révision 1769)+++ /home/thierry/Documents/planesShift/head/planeshift-base/planeshift/data/gui/configmouse.xml	(copie de travail)@@ -18,7 +18,16 @@             <widget factory="pawsSeqTreeNode" name="EntitySelect">                 <attr name="type" value="action"/>             </widget>+            <widget factory="pawsSeqTreeNode" name="EntityDragDrop">+                <attr name="type" value="action"/>         </widget>+            <widget factory="pawsSeqTreeNode" name="EntityDragDropOne">+                <attr name="type" value="action"/>+            </widget>+            <widget factory="pawsSeqTreeNode" name="EntityDragDropAll">+                <attr name="type" value="action"/>+            </widget>+        </widget>         <widget factory="pawsWidgetTreeNode">             <nodewidget>                 <widget factory="pawsTextBox" name="Settings label">