The online racing simulator
LFS MouseLook
(61 posts, started )
LFS MouseLook
Current version: 1.0.1.1 (for changelog scroll down)

Hi there!

An issue that was long bugging me, is the unflexible 90° look LFS currently has. There have been many suggestions on how to improve it, but Scawen didn't yet have the time to actually implement any of them. So I thought, how nice and smooth the mouse look in LFS works, but how terribly unusable it is. But, when the mouse look itself is so iffy to use, why not abuse it for something else? And so was born the idea of MouseLook.


Requirements
Microsoft .NET Framework 2.0
(http://www.microsoft.com/downl ... 62-4b0d-8edd-aab15c5e04f5)
How to install?
Extract the contents of the zip anywhere you like.
How to use & set up?
  1. Start up MouseLook.exe.
  2. Assign the wheel buttons for "look left" and "look right". To do this, first click on the button "Set" located besides the function, then press the desired button on your wheel. You can also hit ESC to cancel the assignment, or DEL to clear it.
  3. Leave the "view settings" at default for now, and start up LFS.
  4. In LFS, go to "Options > View" and set:
    • "Look function" to "ms X"
    • "Look sensitivity" to "1.00"
    • "Look centre reduction" to "0.00" *
  5. Then go to "Controls > wheel/js > Buttons 1", and make sure that "Left View" and "Right View" are UNassigned.
  6. Start your race session, and use the previsouly assigned wheel buttons for looking around.
*) If you plan to use the steer look functionality, a value around 0.60 is recommended

Note: Of course, these set-up steps only need to be done once, not everytime you want to use MouseLook
How does it work?
MouseLook is a relatively simple program that does nothing else but move around your mouse cursor. While not terribly useful outside of LFS, ingame it will behave very much like the default look left/right function.
View settings explained
Range:
Defines the primary angle limit for looking (single wheel button press)
For example: 100% means 180° looking angle ingame (= over your shoulder), 50% means 90°, etc.
This angle is always smaller than the secondary one (see below).

DoubleClick Rng:
Defines the secondary angle limit (double-"click" the wheel button to use)
This angle is always bigger than the primary one.

Look Speed:
Sets the maximum "look" speed (applied while pressing any of the buttons)
At 25% it will need one second to go completely from the left side of your screen to the right side. Ingame this means, it would need one second from looking over your left shoulder to looking over your right.

Return Speed:
Sets the maximum "return" speed (applied when no buttons are pressed)
Works the same way as "Look Speed".

Inertia:
Defines how fast the "cursor" or "view point" starts and stops moving. A low inertia means that looking around will be very erratic with fast direction changes. A high inertia will smooth out that movement, but turning the virtual head will take longer. Watch out, if you set the inertia too high, you might not even be able to reach the set maximum "Look Speed"

Steer Look:
Defines the maximum angle achievable by steer look
For example: 100% means 90°, 50% -> 45° and 0% disables it. This function mimics the steer look (or look-to-apex) functionality of LFS, where you look into the turn depending on how much you steer. Unfortunately this also shows a shortcoming of MouseLook, as the movement isn't as smooth as in LFS itself. Though, you can somewhat fix this by playing with the LFS options "Look sensitivity" and "Look centre reduction" - I'd recommend setting the latter to a value of about "0.6". But be aware; modifying these will change the behaviour of all MouseLook functionalities!

Instant look:
If enabled, any movement and smoothing settings are ignored, and the view will instantly snap to the desired viewing target.

Pressing Left+Right locks view:
If enabled, pressing both left and right look button will stop the current view movement, instead of going into look-over-shoulder mode. Movement will continue as soon as the buttons are released.

Asymmetric range settings:
If enabled, the Range and DoubleClick Range settings can be applied seperately for looking left and right.

Center on ESC:
If enabled, pressing ESC at any time while ingame will center the view. However, if you are in a menu and press ESC, the mouse cursor will be moved to the center, too.

Center on Steer:
If enabled, the view will automatically return to center if you steer. This is useful if the view is off-center after returning to the cockpit from a menu, and should also prevent dangerous situations while racing (for example if you unintentionally bump the mouse). However, the cursor will be moved to the center if you move the wheel while inside a menu.
General notes & tips
For MouseLook to work correctly, LFS must run in full screen mode. Though, you can somewhat use it in windowed mode if you center the LFS window and set up the range limitations accordingly. Otherwise the mouse cursor might wander outside of the LFS window.

MouseLook automatically saves the settings to "MouseLook.ini" on closing (the file will be created in the directory you started MouseLook.exe from). Should MouseLook throw an error on loading, because "someone" () entered invalid values into the ini, just delete the latter and MouseLook will use default settings.

It's best to use the primary angle for slightly looking to the side, or maybe even just enough to see the side mirror (very useful in the BF1, for example). The secondary angle is best used for *really* looking to the side or even a bit to the back, so you can spot your opponents.

Press and hold both buttons at the same time to look over your shoulder, regardless of range settings. If you release one button, the view will snap back to what you have set up as secondary angle limit.

Instead of double-clicking a button to use the secondary angle, you can also archieve the same by pressing and holding the desired button and then briefly pressing the other one too, so both buttons were pressed at the same time (basically like going into look-over-shoulder mode shortly).
Changelog
v1.0.1.1
- Added collapse button
- Added "Misc settings" area
- Added option to close MouseLook after LFS closes
- Added option to minimize MouseLook when LFS starts, and maximize it back when it closes. This was default behaviour in previous versions but can now be overridden.
- Added Click-to-Double-Click feature. If enabled, pressing a look button and holding it for the specified amount of time will switch the look from the normal to the double click range. The click timer is started after the single click range has been reached.


v1.0.1.0
- Added option to return view to center on pressing Escape
- Added option of automatic view centering when steering activity is detected

v1.0.0.9
- Improved steer look, now it doesn't influence the other look functions anymore
- Added a few missing tooltips

v1.0.0.8
- Added preset system
- Added steer look (look-to-apex)
- Changed the rather confusing "L" and "R" descriptors to "«" and "»"

v1.0.0.7
- Improved check to prevent multiple MouseLook instances/processes

v1.0.0.6
- Added check for other running MouseLook processes to prevent two instances running at the same time
- Fix: Small bug at loading asymmetric settings (double-click ranges weren't loaded properly)
- Reversed "Left" scrollbars direction when using asymmetric ranges. Seems more logical that way - you now have to drag the left scrollbars to the left instead of right to get higher range %. To restore the old behaviour, add the line "ReverseAsymmetricScrollbar=false" to MouseLook.ini (or replace it, if it is already existing in there)

v1.0.0.5
- Added support for multiple wheels (works)
- Added support for joystick (buttons + POV hat)

v1.0.0.4
- Added asymmetric range settings
- Added support for multiple wheels (still experimental ~ didn't work)
- Improved processing of D-Pad input

v1.0.0.3
- Added support for the D-Pad on the DFP (and other wheels)

v1.0.0.2
- Added possibility to launch LFS directly from MouseLook. To use, either place MouseLook.exe in the LFS install directory, or set the LFS.exe path manually
- Fix: Forgot saving & loading the state of "Pressing L+R locks view" checkbox

v1.0.0.1
- Added tooltips
- Added "Pressing Left+Right locks view" checkbox

v1.0.0.0
- Initial release
Well, I hope you like it

Please post all comments/suggestions/bugreports in here. If you have problems with some missing DirectX dlls, download Microsoft.DirectX.zip and place the contents in the same folder as MouseLook.
(Yes, the screenshot is actually bigger than the program :-Þ)
Attached images
MouseLook.png
Attached files
Microsoft.DirectX.zip - 129.8 KB - 465 views
MouseLook v1.0.0.9.zip - 29.3 KB - 337 views
MouseLook v1.0.1.0.zip - 31.5 KB - 321 views
MouseLook v1.0.1.1.zip - 55.3 KB - 448 views
sounds lovely. I'll give it a go when i find the time! i know alot of people have been longing for something like this.

Edit: woops seems like i dont have .net 2.0
#3 - filur
Works great , feature request would be some options for button combinations, i'd like to 'lock' the view in its current position by pressing both buttons, then return to center on release.
Heh, it actually did that in an earlier version
I'll see what I can do, probably another checkbox to trade "look-over-shoulder" with "lock view".

E: And here it is...
v1.0.0.1
- Added tooltips
- Added "Pressing Left+Right locks view" checkbox
Update
v1.0.0.2
- Added possibility to launch LFS directly from MouseLook. To use, either place MouseLook.exe in the LFS install directory, or set the LFS.exe path manually
- Fix: Forgot saving & loading the state of "Pressing L+R locks view" checkbox

C'mon people, give it a try. Despite the ultralong startpost, this isn't hard to use at all.
This is a great program exactly what I need but I would like to use the d-pad on my DFP but it doesnt recognise the buttons, I want button 35 to look left and 33 to look right can you help?
So in LFS the D-pad buttons register as 33 and 35?
And if you press the pad while in assignment mode, simply nothing happens, or a wrong number appears?
yes the buttons come up as 33 for right and 35 for left. when I press left/right to set them as look left/right nothing happens but for other buttons it works perfectly!
Quote from Turner89 :yes the buttons come up as 33 for right and 35 for left. when I press left/right to set them as look left/right nothing happens but for other buttons it works perfectly!

do you go into cockpit view to try it?
No, my program probably doesn't register them, because it only watches for "button" presses, but the d-pad reports as POV hat in DirectInput. I think I have a solution, though. I'll post 1.0.0.3 in a few minutes, and it should register the d-pad as follows:

32 UP
33 RIGHT
34 DOWN
35 LEFT
Okay, 1.0.0.3 is up, please report if it works. I don't have a D-Pad here, so I couldn't test
#12 - Vain
I get some strange error in 1.0.0.2 regarding direct input that I can't evaluate. Screenshot see attachment.

.Net seems to be missing a component, though I properly installed .net 2.0 and restarted the system (win2k SP4). DirectX version is 9.0c. I don't know what file is meant when it says "Can't file the specified file". If I knew I could perhaps help the problem...

I know why I always avoided .Net...

Vain
Attached images
error.jpg
Okay, I don't know the exact reasons for this, but try extracting the both .dll's attached into the same dir as MouseLook.
OK the D-pad now works but the double press view thing doesnt work at all on any button in your new version, now just by pressing the button once it rotates the view all the way.
#15 - Vain
That did the trick. Absolutely great program.

Works nicely, though I'd like to ask for a feature:
In all non-singleseater cars the drive's position isn't central. Thus when I sit on the left hand side I will want to look only 33% to the right to see my outside mirror and most of my right side. However I will need to look 50% to the left to see anything important on that side.
So what I'm asking for are asymmetrical view-angle setups.

Vain
Quote from Turner89 :OK the D-pad now works but the double press view thing doesnt work at all on any button in your new version, now just by pressing the button once it rotates the view all the way.

On any button, or just on D-Pad buttons? On normal buttons it works fine here in my version. You sure you haven't accidently set the range to 100% or something? Then again, maybe the D-Pad reports it's buttons a bit dodgy, so it always thinks it's a double press.
Quote from Vain :So what I'm asking for are asymmetrical view-angle setups.

Okay, lets see
OK my mistake I've just tried it again and to my surprise it's working perfectly hmmm lol. Well thanks for a great program!
hm... i guess this doesn't work with multiple wheels
Quote from XCNuse :hm... i guess this doesn't work with multiple wheels

How exactly does your setup look like?

E: I guess you have two wheels plugged in and use the pedals from one for a clutch? If so, try unplugging the "clutch-wheel" or somehow arranging it that the main wheel is recognized first, by trying to switch around the order they are currently attached to. I think the problem is that my program only detects the button presses from the unused wheel in your case.
I'll see what I can do for native multi-wheel support, though.
Update
v1.0.0.4
- Added asymmetric range settings
- Added support for multiple wheels (still experimental)
- Improved processing of D-Pad input
nope still doesn't work, i pushed a button on my other wheel and it worked but.. as for order, i dont even know if i can fix it, i've tried rearranging them but it.. just wont happen
Damn. If I just had a second wheel to test it out. One more thing, please make sure both wheels are attached before starting MouseLook.
ya they are, mine are attached 24/7
Update
Okay, I've now finally found a joystick, installed the gameport from my soundcard and got both wheel and joystick to work simultaneously. The bad news is, I still couldn't test it with multiple wheels, but the chances of working should be pretty good now. The good news is, I also found out how to poll the joystick, so added support to that. Well, atleast Gameport joysticks will now work, as I'm not sure a USB one needs the same treatment. We'll find out sooner or later

v1.0.0.5
- Added support for multiple wheels (should now really work)
- Added support for joystick (buttons + POV hat)
awesome, thanks much android, it works!

LFS MouseLook
(61 posts, started )
FGED GREDG RDFGDR GSFDG