Outrun 2 FXT:  Feel The Road (Beta 2.3) by HowardC

Version History
---------------
2.4
	Fixed various bugs with the forcefeedback.
	Added all 30 cars as an option for bonus cars
	Added button overlays to indicate bonus car/song mode.
	Re-arranged the config program moving all enhancments to their own section.
	Made Bonus Cars/Songs optional
	Added the option to try the experimental HD hud (unfinished)
	Added the option to try the LAN macros (experimental, unstable, ect.)
	



2.3 	
	Removed unused "don't block vr" checkbox from config program.
	Added "override menu for vr1" option, allowing the vr button to be pressed regardless of your key config. (experimental)
	Added Bonus Cars to the 2SP(Arcade) menu.  Now all the cars can be played in Arcade Mode!
	Added Bonus Songs to the 2SP(Arcade) menu.  Now all the songs can be played in Arcade Mode!
	
	
2.2 Beta (Bug Fix Release)
	Fixed bugs with the lamp outputs.
	Added more arcade accurate lamp behaviour
	Added Preliminary Pedal override (may not be 100% accurate).
	


2.1 Beta (Bug Fix Release)
	Fixed bug that kept the wheel from turning left in the menus.
	Fixed a bug where the Song title doesn't immediately change in alt-music mode.
	Added a Throttle Option, which seems to help compatibility issues with some machines.
	Changed FXTConfig.exe so it will do it's best to auto-install the dx8vb.dll
	Added a bit more documentation, including notes about the known issues and a troubleshooting section.
	

2.0 Beta (used higher number to avoid confusion):
	Fixed the Config.exe so that it actually saves VR settings.  (OOPS!)
	Hooked X-Force back up.
	Added Joystick support for VR buttons and the gear shift. 
	Added Wheel Override with configurable dead-zone and preliminary wheel menu override (left/right selection in menus).  
	Added Optional Hat switch support for both.
	Made the Game State variable more useful, it's now fairly accurate at telling you if you are in menus (0) the game (1) or at the pause screen (2).
	Used new Game State variable to ensure that you can't press gameplay buttons unless you are in-game, which should prevent lock-ups.
	Gear shift code is now more robust, it won't allow you to attempt a shift in automatic transmission mode, ect.
	Finally inverted the fake start lamp so that it's more "Sega Correct"
	Changed the way music toggle works.  Now to add an alt track simply name it after the original with an ".alt" extension... this allows for many more custom tracks.
	Added a race leader lamp and Lan position flags for Lan multi-player games.
	Added Player select (preliminary, and buggy).  To change drivers, go into the license editing menu and press the brake button.  The girls are glitched btw.
	Added Headlights to the outputs.
	OverRev should now be more accurate.
	Added preliminary HD HUD.  It is not yet usable, but you can enable it manually in the settings.ini
	Captured in-game horn sound and the horn button hack now uses this.  Also added a bit of compression to make it smaller.  
	Preliminary Force Feedback support.  It should work with wheels at least. 
	Compiled my previous texture hacks into a single package installable from the config.exe
	

1.5 alpha:
	MPH is now used as a percentage multiplier for the effect strength, so now effects won't rumble as hard when you are going slow.
	Fixed a few bugs with the terrain value, you should no longer get errant rumbles or a rumble while paused.
	Added configuration (keyboard only atm) to the gear shift override.  Also added the option to keep the up/down mappings active while using it.
	Added fully configurable View buttons.  4 Button mode, 3 button mode and Hybrid mode.  You can choose which of the many camera angles to bind to.
	Config.exe got an overhaul.  New logo and now most things are configurable within it.  

1.4 alpha:
Fixed a typo.  Mamehooker outputs now actually work  (OOPS!)
Added Memory hooks for the number of gears and if you are playing in auto, or manual trans mode.  Fixes issues with Rev lamp in 5 speed cars.
Moved FXTXinput.ini (renamed Xinput.ini) to FXTcfg folder... it's going to get crowded in there soon.  ;)
Added experimental Shifter Override... Individual gears are mapped to numpad keys when enabled (will be mappable in the future.)
Added some more shifter-related variables, which just happen to fix the OverRev light on 5 speed cars.
Depreciated "-outputs" flag in favour of a spot in the new settings.ini
Updated FXTConfig.exe a little bit.  Now basic stuff like selecting the Xinput gamepad, enabling outputs and ect can be done within it.  

1.3 alpha:
Improved the horn... it should hopefully work (IN RACE ONLY) even if some of your controls are mapped to the keyboard.
Fixed a minor bug introduced last version that prevented you from toggling the sound tracks back to their original versions (oops!).

Added preliminary mamehooker support for the lamps and instrument cluster. Add the "-outputs" flag to your command line when launching to enable it.
(Note mamehooker 5.0 or higher required)

Added configuration options for Xinput rumble.  Look inside you FXTXinput.ini for now.  
Revised the docs to include new known bugs and new bonus features.  


1.2 alpha:
Added Spark Force and Rumble Effects.
Added better error handling for the Japan Track Swap.
Japan Sound Track is no longer required (and for the time being it won't be included).  


1.1 alpha:

Added improved error handling to the main loop.
Fixed bug that knocked the game out of fullscreen.

1.0 alpha - initial release


What is it?
-----------
FXT is a wrapper for Outrun 2006 on the PC.  It will add various things.  Right now it adds Rumble for 360 controllers, a horn, and the 4 bonus sound tracks.
Note that this software is ALPHA!  Things might not work correctly, some features may be buggy, ect.

Requirements:
-------------
-a copy of Outrun 2006 for the pc (duh)
-DirectX 8 or above
-The direct x for vb dll (see installation)
-Some patience and understanding as we are just barely into the beta stage of testing.  


Installation
------------
Copy the contents of this archive to your Outrun folder.  There are two fonts in the package.  You need to right click on them and select "install".  The first time you 
run FXTConfig.exe please right-click and run as administrator.  If you don't have the dx8vb.dll installed the app will try to do do it for you.  You will get a prompt upon launch
telling you if it was successful. FXTConfig.exe completely replaces the Config app included with the game.  This version gives you access to all of the Video options, including 
custom resolutions and windowed mode.  If you wish to install the texture mods (highly recommended as it removes those horrid keyboard keys in favour of arcade icons) you can 
also do so in the config.exe.  In addition, go to the "configure controls" section to turn on 360 rumble, force feedback, the VR/Gear shift hacks and more.  

Usage
-------

Run OR2FXT.exe  2k6 will be launched with the added features you enabled in FXTConfig.exe.  In addition, the horn button now actually honks a horn (imagine that!).  
There is also a handy info screen for debugging, which you can access via clicking on the blue icon in your task bar.  (Note set the game to windowed mode first.)

VR (View) hack:
----------------------------------------
Enabling this hack allows you to either use 4 VR buttons (daytona style) or to use the Original VR button as per usual and have three bonus views.
You can configure this via FXTConfig.exe and it's fairly self-explanatory.  Note that you'll want to also map the VR button inside the Outrun menus and
set your first VR button in FXTConfig.exe to match the button used in outrun.  This is so you can still navigate the menus with the first view button.

GearShift hack:
----------------------------------------
Enabling this hack allows you to use a h-shifter (each gear gets it's own button) in addition to the up/down shift mode available in outrun.
Again just like the VR buttons, configure this in FXTConfig.exe and again, you'll want to take two of those inputs and map them to shift up/down as
configured within outrun so you can navigate the menus.  That is unless you check the "don't block" option.

Wheel Override:
----------------------------------------
This game is optimized for gamepads, not wheels and thus the deadzone for the wheel is HUGE.  Wheel override gets around this problem.  Simply select the appropriate joystick ID
and configure the deadzone as desired.  Menu override lets the menus work with the wheel as well.  Wheel override also has the added benefit of blocking the left/right keys and
hat directions.  This means the hat options for the gear shift and vr hacks will now work without steering the car!

Bonus Cars:
---------------------------------------
When in the 2SP(Arcade) car select menu, use your wheel to move to the right-most selection, return to center, and then move right again.  You will hear a chime and the first 
of the bonus cars, normally only selectable in 2k6 mode, will appear.  Release again and turn right again to go to the next car.  Turning left exits you to the normal selection.

**Important Note**
The Bonus car images are found in the fxtcfg/images/carssp folder.  They are optimized for 1080p 4:3 and 16:9 respectively and no post-processing is applied.  Thus if you aren't
running the game at 1080p, you may wish to rescale the images in your favorite image editor for the best appearance.   

Bonus Music:
--------------------------------------
Just like the cars, you can now listen to music normally only available in 2k6 mode in the 2SP(Arcade) mode of the game.  Again, just navigate all the way to the right, release
and turn right again.  Yes you can do custom alt track as well.  (See below).  


Custom Music:
---------------------------------------
Custom Tracks are pretty simple to setup.  Save your music as an ogg file.  Select the track you wish to make an alt for in the "sound" folder and simply use the same file name,
but with a ".alt" extension.  You are also REQUIRED to make a "tag" file to go along with it.  It should be a simple text file.  The first line in the file is the collection/album
and the second line is the song title.  If the title is long, split into multiple lines via the "^" symbol.  Name the tag file after the song, again but with the .tag extension.

You can download the "official" bonus tracks for examples of how to do this.  

After you've done this you can swap out tracks in the 2k6 radio menu by pressing the brake button on a song that does NOT have an alt track.  In the 2 SP radio menu, press brake
on the random slot. 

Arcade Mode:
-----------------------------------------
Arcade mode is a macro that jumps the game straight into the Outrun 2 SP menu from the title screen for a more authentic arcade experience.

Lan Mode:
-----------------------------------------
Lan Mode is a Macro that jumps the game to the Lan menu, similar to Arcade mode.  Note it is unfinished and thus unstable. 

Overlays:
-----------------------------------------
The overlay system will become increasingly important as the project progresses.  Overlays are currently only used to display the new song title in the radio menus and the
beta hud replacement.  Overlays only work in fullscreen mode and when they are enabled, the game no longer runs in true fullscreen mode (although you won't be able to tell).

Driver Select:
-----------------------------------------
A lost feature in the game for 2006 mode was the ability to select your driver.  You can now select your driver in the license editor by pressing the 
brake button.  Wolf and Sam (the other two male drivers) work fairly well, but the girls currently glitch out pretty bad.  Flag Man is also in there as
a bonus and he works fine, but will disappear after leaving the first area as his model is loaded with the stage.

Custom Loading Screens:
----------------------------------------
This feature isn't really ready yet, but I'll explain how to test it.   In the fxtcfg/images folder, create a folder named "loading".  Put as many jpgs and gifs as you want in the 
folder and when the game goes into one of those rather long loading screens and overlays are enabled, one of your images will be randomly shown instead.  Anything magenta in your
image will be transparent and show the original loading screen instead.  Note that the loading screens to and from 2SP mode don't work yet due to coding differences.

Black Bar Images (For force 4:3 menus):
---------------------------------------- 
Just so things look nicer, you can display images in the rest of your screen when forcing menus to 4:3.  I have included some sample images that are pretty decent.  If you have a 
multi-screen setup, you may want to make some splash screens or something.  The images are just stretched to fill the blank space.  

HD hud:
----------------------------------------
Because the game stretches the hud, it's hard to play on multi monitor setups.  Also the 480i sprites aren't doing the game any favors.
Enable the experimental hud in the options to see what things will look like.  



Xinput Rumble:
----------------------------------------
The hack isn't known as "feel the road" for nothing.  Enabling rumble is pretty straight forward.... select the gamepad number (1-4) and enable it.  
Going to advanced tab opens up the Xinput text file of configuration.  A gamepad has a left and right motor.  How fxt works is it "ANDS" all variables
sent to the same motor together, essentially playing the strongest current value of all of them.  You can take individual variables and set their maximum
strength as well as which motors to send them to.  You can even send effects to multiple controllers!

Force Feedback:
----------------------------------------
Force feedback for wheels and similar devices operate similar to Xinput.  Instead of sending variables to physical motors, they are sent to various manipulation
values for the individual effects created in your effects file.  You can use the provided files or make your own.  Variables can be used to alter lots of stuff in 
an effect.  It behaves more or less like effect files in mamehooker, so I suggest you take a look at the documentation on my site.  Note that while I have made the FF
for wheels, you could also make an effect file to control a force-feedback enabled gamepad or whatever.  


Bonus Features/Easter Eggs
--------------------------

Launch the wrapper with the command line flag "-OuttaTime" to freeze the timer, giving you infinite time to screw arou...err beta test for me.

Check the "Enable MH Outputs" box in FXTConfig.exe to enable output broadcasting to mamehooker 5.0 or higher.  
Note this will slow down your machine from time-outs if mamehooker is not loaded.

Troubleshooting/Work-Arounds:
-----------------------------
The FXTConfig.exe seems to have some issues on windows XP.  I have been told that right-clicking and setting backwards compatibility to windows 95 fixes this.

If some options don't seem to be working, you might want to make sure the app isn't hanging.  While running an icon is put in the lower right corner of the taskbar.
Double-clicking it will bring up the debug window.  If you can't bring it up then the app is hung.  The most likely culprit is an improperly installed dx8vb.dll.

If you check that and still have issues, try adjusting the throttle option in the config app.  The value is how many milliseconds the wrapper sleeps per loop,
giving the game time to breathe.  It's set at roughly 30fps right now.  A higher number will make the wrapper check less often while a lower number will make
a tighter loop.  On my machine things run fine without this, so you might want to try a value of 0, but most have reported that the 33 ms rest seems to make it
behave better.

If a feature or option isn't working 100% how you think it should, please let me know, but understand that we are still in beta and some things, for better or
worse, aren't 100% working yet.

Known Bugs:
-----------
The Outrun class of the bonus cars haven't been added yet.  This is simply because I haven't made all of the images for the menu yet, so be patient.

The newly added pedal override doesn't work 100% and you may run into issues when drifting.

Rumble occasionally freezes when you pause the game (I'm working on it).

Some features (horn, Japan tracks) won't work properly if those inputs are mapped to a keyboard key.  
Use joystick buttons instead or wait for a new version of the wrapper.

With the texture packs installed, sometimes the menus will tell you that you should press start when in fact you should press up shift.  
This is because I will eventually make start and up shift interchangeable in the menus via hacking.    

If you click on the debug window while using force feedback, you may lose FF!  Just exit the game and restart.  This actually isn't a bug.  
The game re-initializes direct input each time you click on the window and thus it screws up my settings.


Copyright Notice:
-----------------
While the license to the game is expired, the license to the bonus music tracks is NOT.  To legally obtain these tracks please purchase the Outrun 20th anniversary boxed set.  
All copyrights and trademarks to Outrun are property of Sega.  All copyrights and trademarks to Ferrari are owned by Ferrari.  