Page 1 of 2
Mouse flight control in Windowed mode
Posted: Thu Dec 19, 2013 8:02 pm
by Sydney2K
Would it be possible to implement mouse flight control in windowed mode? I note that when I played minecraft the game controlled the mouse, but it was simple to press escape to access the mouse for standard window control. Something similar could be done for Oolite, ie., Shift/Shift+Control/+"M", and then if you need to use the mouse pointer, press F5-F8 to throw up a console window, which doesn't need flight control. Returning to F1-F4 brings back mouse flight control.
Sydney2K
Re: Mouse flight control in Windowed mode
Posted: Thu Dec 19, 2013 8:06 pm
by cim
Which OS is this? On my Linux build, 'shift-M' toggles mouse control in windowed mode just the same as in fullscreen. Or have I misunderstood what you're asking for?
Re: Mouse flight control in Windowed mode
Posted: Thu Dec 19, 2013 8:37 pm
by Cody
cim wrote:On my Linux build, 'shift-M' toggles mouse control in windowed mode just the same as in fullscreen.
I just tried that with the latest vanilla trunk (Win 7 x64), and 'shift-m' doesn't seem to work in windowed mode (works fine in fullscreen).
Re: Mouse flight control in Windowed mode
Posted: Thu Dec 19, 2013 9:36 pm
by Sydney2K
Oops, Windows OS, I assumed it was the same for all flavours of ice cream
Sydney2K
Re: Mouse flight control in Windowed mode
Posted: Fri Dec 20, 2013 7:09 am
by another_commander
Mouse in windowed mode works in Windows as well, but only for debug builds. For all other build types it is by default enabled only in fullscreen mode. If you want to enable it also for windowed mode, add this line inside .GNUstepDefaults:
Code: Select all
"mouse-control-in-windowed-mode" = YES;
Then launch the game and press Shift+M (or Shift+Ctrl+M if you want yaw on the mouse x-axis) while running in a window and it will work just fine.
Re: Mouse flight control in Windowed mode
Posted: Fri Dec 20, 2013 10:13 am
by Sydney2K
another_commander wrote:Mouse in windowed mode works in Windows as well, but only for debug builds.
DYNO-MITE! <insert .gif>
Sydney2K
Re: Mouse flight control in Windowed mode
Posted: Mon Aug 10, 2015 6:24 am
by Entelechus
another_commander wrote:Mouse in windowed mode works in Windows as well, but only for debug builds. For all other build types it is by default enabled only in fullscreen mode. If you want to enable it also for windowed mode, add this line inside .GNUstepDefaults:
Code: Select all
"mouse-control-in-windowed-mode" = YES;
Then launch the game and press Shift+M (or Shift+Ctrl+M if you want yaw on the mouse x-axis) while running in a window and it will work just fine.
That didn't work for me. I could find no such file in which to paste that text. I'm using Win7 btw. I looked everywhere for the .GNUstepDefaults file. None.
Re: Mouse flight control in Windowed mode
Posted: Mon Aug 10, 2015 6:29 am
by another_commander
The .GNUstepDefaults file in Windows is located at <OoliteRootFolder>\oolite.app\GNUstep\Defaults
. It is created by the game the first time it runs.
Re: Mouse flight control in Windowed mode
Posted: Mon Aug 10, 2015 7:09 am
by Entelechus
another_commander wrote:The .GNUstepDefaults file in Windows is located at <OoliteRootFolder>\oolite.app\GNUstep\Defaults
. It is created by the game the first time it runs.
I checked again it wasn't there. Reinstalled game, now it's there. Tried adding that line, and made sure to save it. Started the game up, no dice. Checked file after game play. File was as if I never added the code you showed here. Really weird.
First (and only) line of code in that file says this:
{
NSGlobalDomain = {
};
oolite = {
"Jameson-humbletrash" = "-29624";
"gamma-value" = 1;
window_height = 1058;
window_width = 1920;
};
}
After which, on line two, I added your text exactly as you posted it, quotes and semicolon and all.
"mouse-control-in-windowed-mode" = YES;
Don't know why the file erases it after I run the game. It lets me save it to the file, but then its gone after I start the game.
Re: Mouse flight control in Windowed mode
Posted: Mon Aug 10, 2015 7:32 am
by another_commander
Where is the game installed? Is it by chance in C:\Program Files? This sounds like an OS file virtualization issue.
If you can post a Latest.log, please do so, it may be of help too.
As a test, I copied the contents of .GNUstepDefaults as they appear in your post into a new .GNUstepDefaults file in my installation. Then run the game, exited, then added the mouse control in window line, again copied from your post above. Run the game again, Shift+M worked fine in the 1920x1058 window. For completeness, I will mention that I added the mouse control line below the gamma value line (for no other reason than alphabetical ordering). All this in Windows 7 64-bit Enterprise.
If you have indeed installed the game in something like C:\Program Files or My Documents, my advice would be to uninstall it and re-install in a non-Program Files folder. This will evade file virtualization issues and is the reason why the installer proposes C:\Oolite by default.
Re: Mouse flight control in Windowed mode
Posted: Mon Aug 10, 2015 7:39 am
by Entelechus
It's installed where it prompted by default, in the C:/ folder. It is on par with Programs, and Programs x86 but it is not in those or any others. It is right under the C:/ directory.
Here's the activity log:
Opening log for Oolite version 1.82 (x86-64) under Windows 6.1.7601 Service Pack 1 64-bit at 2015-08-10 00:12:22 -0700.
8 processors detected.
Build options: OpenAL, new planets.
Note that the contents of the log file can be adjusted by editing logcontrol.plist.
00:12:22.776 [display.mode.list.native]: Windows native resolution detected: 1920 x 1080
00:12:23.282 [joystick.init]: Number of joysticks detected: 0
00:12:23.283 [rendering.opengl.version]: OpenGL renderer version: 3.1.0 ("3.1.0 - Build 8.15.10.2361"). Vendor: "Intel". Renderer: "Intel(R) HD Graphics Family".
00:12:23.283 [rendering.opengl.extensions]: OpenGL extensions (102):
GL_NV_primitive_restart, GL_ARB_texture_env_crossbar, GL_EXT_abgr, GL_ARB_shadow, GL_IBM_texture_mirrored_repeat, GL_EXT_separate_specular_color, GL_EXT_texture_edge_clamp, GL_EXT_blend_minmax, GL_EXT_draw_buffers2, GL_ARB_texture_env_add, GL_ARB_draw_elements_base_vertex, GL_ARB_sampler_objects, GL_EXT_framebuffer_blit, GL_EXT_transform_feedback, GL_ARB_texture_env_dot3, GL_EXT_framebuffer_object, GL_EXT_blend_subtract, GL_3DFX_texture_compression_FXT1, GL_NV_conditional_render, GL_ARB_vertex_array_bgra, GL_EXT_texture_snorm, GL_ARB_multitexture, GL_EXT_stencil_wrap, GL_ARB_texture_border_clamp, GL_ARB_framebuffer_sRGB, GL_ARB_texture_env_combine, GL_EXT_framebuffer_multisample, GL_EXT_texture_env_add, GL_EXT_packed_pixels, GL_SGIS_texture_edge_clamp, GL_ARB_depth_clamp, GL_INTEL_performance_queries, GL_ARB_uniform_buffer_object, GL_ARB_depth_texture, GL_SGIS_texture_lod, GL_ARB_occlusion_query, GL_ARB_transpose_matrix, GL_NV_texgen_reflection, GL_EXT_stencil_two_side, GL_ARB_seamless_cube_map, GL_ARB_shading_language_100, GL_ARB_texture_compression_rgtc, GL_EXT_gpu_program_parameters, GL_EXT_texture_shared_exponent, GL_EXT_rescale_normal, GL_ARB_map_buffer_range, GL_ARB_pixel_buffer_object, GL_EXT_secondary_color, GL_ARB_copy_buffer, GL_ARB_half_float_pixel, GL_EXT_blend_equation_separate, GL_EXT_draw_range_elements, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, GL_ARB_half_float_vertex, GL_EXT_texture_swizzle, GL_SGIS_generate_mipmap, GL_ARB_texture_rectangle, GL_ARB_texture_non_power_of_two, GL_ARB_point_sprite, GL_EXT_packed_depth_stencil, GL_ARB_vertex_shader, GL_EXT_texture_compression_s3tc, GL_EXT_texture_integer, GL_ARB_depth_buffer_float, GL_ARB_sync, GL_ARB_draw_instanced, GL_ARB_vertex_buffer_object, GL_WIN_swap_hint, GL_ARB_color_buffer_float, GL_ARB_shader_objects, GL_EXT_texture_array, GL_ATI_separate_stencil, GL_ARB_framebuffer_object, GL_EXT_packed_float, GL_ARB_compatibility, GL_EXT_texture_rectangle, GL_ARB_texture_rg, GL_ARB_fragment_shader, GL_EXT_fog_coord, GL_EXT_texture3D, GL_ARB_window_pos, GL_ARB_fragment_program, GL_ARB_vertex_program, GL_EXT_texture_env_combine, GL_ARB_point_parameters, GL_ARB_texture_cube_map, GL_EXT_bgra, GL_EXT_compiled_vertex_array, GL_ARB_multisample, GL_ARB_vertex_array_object, GL_ARB_draw_buffers, GL_ARB_texture_compression, GL_EXT_multi_draw_arrays, GL_ARB_fragment_coord_conventions, GL_ARB_texture_float, GL_EXT_blend_func_separate, GL_EXT_texture_sRGB, GL_EXT_shadow_funcs, GL_EXT_clip_volume_hint, GL_EXT_blend_color, GL_NV_blend_square
00:12:23.289 [rendering.opengl.shader.support]: Shaders are supported.
00:12:23.305 [searchPaths.dumpAll]: Resource paths:
Resources
../AddOns
00:12:23.467 [shipData.load.begin]: Loading ship data.
00:12:23.981 [startup.complete]: ========== Loading complete in 1.27 seconds. ==========
00:12:26.972 [shipData.load.begin]: Loading ship data.
00:12:27.473 [script.load.world.listAll]: Loaded 16 world scripts:
Oolite Equipment Control 1.82
Oolite Ship Library 1.82
oolite-cloaking-device 1.82
oolite-constrictor-hunt 1.82
oolite-contracts-cargo 1.82
oolite-contracts-helpers 1.82
oolite-contracts-parcels 1.82
oolite-contracts-passengers 1.82
oolite-libPriorityAI 1.82
oolite-nova 1.82
oolite-populator 1.82
oolite-primable-equipment-register 1.82
oolite-registership 1.82
oolite-thargoid-plans 1.82
oolite-trumbles 1.82
oolite-tutorial 1.82
00:12:52.712 [gnustep]: 2015-08-10 00:12:52.712 oolite[4548] File NSDictionary.m: 625. In -[NSDictionary initWithContentsOfFile:] Contents of file 'C:\Oolite/oolite.app/GNUstep/Defaults/.GNUstepDefaults' does not contain a dictionary
00:12:56.281 [exit.context]: Exiting: SDL_QUIT event received.
00:12:56.281 [gameController.exitApp]: .GNUstepDefaults synchronized.
Closing log at 2015-08-10 00:12:56 -0700.
Re: Mouse flight control in Windowed mode
Posted: Mon Aug 10, 2015 7:50 am
by another_commander
00:12:52.712 [gnustep]: 2015-08-10 00:12:52.712 oolite[4548] File NSDictionary.m: 625. In -[NSDictionary initWithContentsOfFile:] Contents of file 'C:\Oolite/oolite.app/GNUstep/Defaults/.GNUstepDefaults' does not contain a dictionary
Here is a problem. The contents of your .GNUstepDefaults are not a proper dictionary and this is probably because of a partial or accidental copy/paste, or possibly because of using Notepad as a text editor. When Oolite finds a non-readable .GNUstepDefaults, it will re-create a minimum working version of it so it can restart successfully next time. In doing so, it erases your changes. What you need to do is add the line "mouse-control-in-windowed-mode" = YES;
in the defaults file, without changing anything else; just add a new line below the gamma value line and paste. Do not use Notepad; Wordpad or any other text editor is fine.
If you have done it correctly, your log should be without any message about .GNUstepDefaults not being valid and you should be able to use the mouse in a window.
Re: Mouse flight control in Windowed mode
Posted: Mon Aug 10, 2015 8:15 am
by another_commander
OK, it's a bit tricky because it seems there were multiple installations going on earlier and third party uninstallers involved, but if all fails, try this:
I have copied and pasted a guaranteed, working on my system .GNUstepDefaults, based on your own one. Delete or rename any previous .GNUstepDefaults in your game. Then copy everything inside the text box (including the begining and ending curly brackets) and paste it in an empty file. Use Wordpad for that. Save the file as ".GNUstepDefaults" (including the double quotes so that Wordpad doesn't try to be clever and append the .txt or any other extension) in the folder where Oolite normally creates the file. Then run the game. Mouse control is already enabled in this .GNUstepDefaults.
Code: Select all
{
NSGlobalDomain = {
};
oolite = {
"Jameson-humbletrash" = "-29624";
"debug-settings-override" = {
};
"gamma-value" = 1;
"mouse-control-in-windowed-mode" = YES;
window_height = 1058;
window_width = 1920;
};
}
Re: Mouse flight control in Windowed mode
Posted: Mon Aug 10, 2015 8:27 am
by Entelechus
RIGHT ON. THAT WORKED!!!!
I made a copy of the file, using Wordpad I opened it and pasted your code here directly over what was there. I put this copy in the folder with the other one set aside (just in case), and it worked like a CHARM!!!
Now if only we could reverse the y-axis... :O
Re: Mouse flight control in Windowed mode
Posted: Mon Aug 10, 2015 8:48 am
by Norby
Welcome Entelechus!
Entelechus wrote:we could reverse the y-axis... :O
[wiki]ReverseControl[/wiki] do the same but in the aft view. If you want it in the forward view instead then find and install ReverseControl OXP in the Manage Expansion Packs main menu item under the Mechanics category and replace all "VIEW_AFT" to "VIEW_FORWARD" in Scripts\reversecontrol.js within C:\Oolite\oolite.app\GNUstep\Library\ApplicationSupport\Oolite\ManagedAddOns\oolite.oxp.Norby.ReverseControl.oxz which is a renamed zip file.