summaryrefslogtreecommitdiff
path: root/src/editor/view3d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/editor/view3d.cpp')
-rw-r--r--src/editor/view3d.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/editor/view3d.cpp b/src/editor/view3d.cpp
index 61bcc3e..64cfe85 100644
--- a/src/editor/view3d.cpp
+++ b/src/editor/view3d.cpp
@@ -32,7 +32,7 @@ void gui_editor_3dview_draw_showpos( GUI_EDITOR_3DVIEW* view ) {
objl->pl->rot.x
);
- if( input.mouse_captured ) {
+ if( input.mouselock ) {
gui_draw_str(
x + 2, y + 2,
ALIGN_L,
@@ -65,7 +65,7 @@ void gui_editor_3dview_draw_fn( void* ptr ) {
bsp_draw( editor->map->bsp, editor->game, wnd, winsize );
else
world_draw( editor->game, objl->world, wnd, winsize );
-
+
gui_editor_3dview_draw_showpos( view );
}
@@ -75,14 +75,17 @@ void gui_editor_3dview_input_fn( void* ptr ) {
if( !objl->pl )
return;
- if( input.mouse.left && !input.mouse_captured ) {
+ if( input.mouse.left ) {
I32 view_x = gui_relx( view );
I32 view_y = gui_rely( view ) + EDITORVIEW_TITLE_OFFSET;
if( input.mouse.pos.x >= view_x && input.mouse.pos.x < view_x + view->w &&
input.mouse.pos.y >= view_y && input.mouse.pos.y < view_y + view->h ) {
- input_capture_mouse( true );
+ if( !input.mouselock && !view->heldoutbounds )
+ input_capture_mouse( true );
+ } else {
+ view->heldoutbounds = 1;
}
- }
+ } else view->heldoutbounds = 0;
game_on_tick( editor->game );
}