m_nAngleSpeed( 3 ),
m_bCamInverseMouse( false ),
m_bCamDiscrete( true ),
- m_bCubicClipping( true ),
+ m_bCubicClipping( false ),
m_showStats( true ),
m_nStrafeMode( 0 ){
}
color( 0, 0, 0 ),
movementflags( 0 ),
m_keymove_handler( 0 ),
- fieldOfView( 90.0f ),
+ fieldOfView( 110.0f ),
m_mouseMove( motionDelta, this ),
m_view( view ),
m_update( update ){
camera.origin -= camera.vright * strafespeed * dx;
if ( camera.m_strafe_forward ) {
- camera.origin += camera.vpn * strafespeed * dy;
+ camera.origin -= camera.vpn * strafespeed * dy;
}
else{
camera.origin += camera.vup * strafespeed * dy;
ReferenceCaller<camera_t, void(), Camera_PitchUp_KeyUp>( camwnd.getCamera() )
);
- GlobalKeyEvents_insert( "CameraFreeMoveForward", Accelerator( 'W' ),
+ GlobalKeyEvents_insert( "CameraFreeMoveForward", Accelerator( GDK_KEY_Up ),
FreeMoveCameraMoveForwardKeyDownCaller( camwnd.getCamera() ),
FreeMoveCameraMoveForwardKeyUpCaller( camwnd.getCamera() )
);
- GlobalKeyEvents_insert( "CameraFreeMoveBack", Accelerator( 'S' ),
+ GlobalKeyEvents_insert( "CameraFreeMoveBack", Accelerator( GDK_KEY_Down ),
FreeMoveCameraMoveBackKeyDownCaller( camwnd.getCamera() ),
FreeMoveCameraMoveBackKeyUpCaller( camwnd.getCamera() )
);
- GlobalKeyEvents_insert( "CameraFreeMoveLeft", Accelerator( 'A' ),
+ GlobalKeyEvents_insert( "CameraFreeMoveLeft", Accelerator( GDK_KEY_Left ),
FreeMoveCameraMoveLeftKeyDownCaller( camwnd.getCamera() ),
FreeMoveCameraMoveLeftKeyUpCaller( camwnd.getCamera() )
);
- GlobalKeyEvents_insert( "CameraFreeMoveRight", Accelerator( 'D' ),
+ GlobalKeyEvents_insert( "CameraFreeMoveRight", Accelerator( GDK_KEY_Right ),
FreeMoveCameraMoveRightKeyDownCaller( camwnd.getCamera() ),
FreeMoveCameraMoveRightKeyUpCaller( camwnd.getCamera() )
);
- GlobalKeyEvents_insert( "CameraFreeMoveUp", Accelerator( GDK_period ),
+
+ GlobalKeyEvents_insert( "CameraFreeMoveForward2", Accelerator( GDK_Up ),
+ FreeMoveCameraMoveForwardKeyDownCaller( camwnd.getCamera() ),
+ FreeMoveCameraMoveForwardKeyUpCaller( camwnd.getCamera() )
+ );
+ GlobalKeyEvents_insert( "CameraFreeMoveBack2", Accelerator( GDK_Down ),
+ FreeMoveCameraMoveBackKeyDownCaller( camwnd.getCamera() ),
+ FreeMoveCameraMoveBackKeyUpCaller( camwnd.getCamera() )
+ );
+ GlobalKeyEvents_insert( "CameraFreeMoveLeft2", Accelerator( GDK_Left ),
+ FreeMoveCameraMoveLeftKeyDownCaller( camwnd.getCamera() ),
+ FreeMoveCameraMoveLeftKeyUpCaller( camwnd.getCamera() )
+ );
+ GlobalKeyEvents_insert( "CameraFreeMoveRight2", Accelerator( GDK_Right ),
+ FreeMoveCameraMoveRightKeyDownCaller( camwnd.getCamera() ),
+ FreeMoveCameraMoveRightKeyUpCaller( camwnd.getCamera() )
+ );
+
+ GlobalKeyEvents_insert( "CameraFreeMoveUp", Accelerator( 'D' ),
FreeMoveCameraMoveUpKeyDownCaller( camwnd.getCamera() ),
FreeMoveCameraMoveUpKeyUpCaller( camwnd.getCamera() )
);
- GlobalKeyEvents_insert( "CameraFreeMoveDown", Accelerator( GDK_comma ),
+ GlobalKeyEvents_insert( "CameraFreeMoveDown", Accelerator( 'C' ),
FreeMoveCameraMoveDownKeyDownCaller( camwnd.getCamera() ),
FreeMoveCameraMoveDownKeyUpCaller( camwnd.getCamera() )
);
KeyEvent_connect( "CameraFreeMoveBack" );
KeyEvent_connect( "CameraFreeMoveLeft" );
KeyEvent_connect( "CameraFreeMoveRight" );
+
+ KeyEvent_connect( "CameraFreeMoveForward2" );
+ KeyEvent_connect( "CameraFreeMoveBack2" );
+ KeyEvent_connect( "CameraFreeMoveLeft2" );
+ KeyEvent_connect( "CameraFreeMoveRight2" );
+
KeyEvent_connect( "CameraFreeMoveUp" );
KeyEvent_connect( "CameraFreeMoveDown" );
}
KeyEvent_disconnect( "CameraFreeMoveBack" );
KeyEvent_disconnect( "CameraFreeMoveLeft" );
KeyEvent_disconnect( "CameraFreeMoveRight" );
+
+ KeyEvent_disconnect( "CameraFreeMoveForward2" );
+ KeyEvent_disconnect( "CameraFreeMoveBack2" );
+ KeyEvent_disconnect( "CameraFreeMoveLeft2" );
+ KeyEvent_disconnect( "CameraFreeMoveRight2" );
+
KeyEvent_disconnect( "CameraFreeMoveUp" );
KeyEvent_disconnect( "CameraFreeMoveDown" );
m_bestDown = floorHeight;
}
}
+ else if( !path.top().get().visible() ){
+ return false;
+ }
return true;
}
};
gtk_window_set_focus( m_parent, m_gl_widget );
m_freemove_handle_focusout = m_gl_widget.connect( "focus_out_event", G_CALLBACK( camwindow_freemove_focusout ), this );
- m_freezePointer.freeze_pointer( m_parent, Camera_motionDelta, &m_Camera );
+ m_freezePointer.freeze_pointer( m_parent, m_gl_widget, Camera_motionDelta, &m_Camera );
CamWnd_Update( *this );
}
void CamWnd_constructToolbar( ui::Toolbar toolbar ){
- toolbar_append_toggle_button( toolbar, "Cubic clip the camera view (\\)", "view_cubicclipping.png", "ToggleCubicClip" );
+ toolbar_append_toggle_button( toolbar, "Cubic clip the camera view (Ctrl + \\)", "view_cubicclipping.png", "ToggleCubicClip" );
}
void CamWnd_registerShortcuts(){
GlobalShortcuts_insert( "CameraFreeMoveLeft", Accelerator( GDK_Left ) );
GlobalShortcuts_insert( "CameraFreeMoveRight", Accelerator( GDK_Right ) );
+ GlobalShortcuts_insert( "CameraFreeMoveForward2", Accelerator( GDK_Up ) );
+ GlobalShortcuts_insert( "CameraFreeMoveBack2", Accelerator( GDK_Down ) );
+ GlobalShortcuts_insert( "CameraFreeMoveLeft2", Accelerator( GDK_Left ) );
+ GlobalShortcuts_insert( "CameraFreeMoveRight2", Accelerator( GDK_Right ) );
+
GlobalToggles_insert( "ShowStats", makeCallbackF(ShowStatsToggle), ToggleItem::AddCallbackCaller( g_show_stats ) );
GlobalPreferenceSystem().registerPreference( "ShowStats", make_property_string( g_camwindow_globals_private.m_showStats ) );