//              MAD DOG'S PANTHER XL CONFIG for
//        HALF-LIFE: OPPOSING FORCE (BASIC VERSION)
// 	         FOR SINGLE-PLAYER & DEATHMATCH
// 			December 29, 1999
// 	No redistributions of this file or any part of its
// 			contents permitted.
// See the end of this document for details and exclusions.
//              http://doghouse.gamedesign.net/
// ===========================================================


[Use EDIT>WORD WRAP to read this file.]

Files enclosed:
PXL_OF.cfg
PXL_OF.bmp
readme.txt (this file, duh)

========================================================

1. Initial Setup

	First off, you should have a MadCatz PantherXL hooked up to your machine, the latest drivers installed, and the controller configured properly. http://www.pantherxl.com/ is a site you should bookmark.

Unzip this archive in \HALF-LIFE\VALVE\. The important part is that PXL_OF.cfg ends up in that folder so HL.EXE can find it.

No matter what mod or mission pack you play, HL.EXE will find config files there, AS LONG AS you add the line:

	exec PXL_OF.cfg

...to your \GEARBOX\AUTOEXEC.CFG file (make one if you haven't already). Now this part is VERY IMPORTANT: Make sure this AUTOEXEC.CFG in the \HALF-LIFE\GEARBOX\ folder. This way the Opposing Force PXL config will only be loaded when the Opposing Force game is run, and not when the standard game is run. Alternatively, you could put PXL_OF.cfg into the HALF-LIFE\GEARBOX\ folder and rename it to JOYSTICK.CFG and Half-Life will load it automatically, and will do so only when Opposing Force is run. If you already have a JOYSTICK.CFG in the \GEARBOX\ folder, then figure out what to do with it, since loading 2 game controller configuration files is probably going to yield odd results.

	OK, you're almost done! Print out that cheesy "PXL_OF.bmp" so you can see what the buttons do, and fire up Half-Life: Opposing Force, using an Opposing Force shortcut which has the -console switch on its command line (not the autorun CD launcher). Now click the "Console" button. When the game starts, the settings in the enclosed config will take effect... but will then be overridden by the last saved configuration (for some reason that only Valve software can explain, configs are loaded in the wrong order). To get around this, bring down the console and type:

	exec PXL_OF.cfg

...or JOYSTICK.CFG if you renamed the file, and the settings and bindings will take and stick. From here on everything should work fine in subsequent game sessions. If you change any bindings however, you will have to load the config from the console again to make your changes take effect in the game.

========================================================

2. Adjustments

	The sensitivity and threshold settings for all axes are mine, I have no idea what your preferences are. If you already have tried-and-true settings that you want to use then edit them under the "CONFIGURE CONTROLLER" section of "settings" config. If you are unfamiliar with this stuff then I strongly advise you read my article on "Understanding JoyAdvanced Commands" that I maintain at the DogHouse:
	http://doghouse.gamedesign.net/articles/joyadv.html

	SPECIAL NOTE: When in 'zoom' mode, you will find the trackball action to be jumpy and imprecise. A workaround is provided in the form of the "Trackball Sensitivity Toggle" which is found on the center upper ball button. How it works is described in more detail in Section #5 of this readme: "Function Explanations". In the section of the config labeled "SET ZOOM/NORMAL SENSITIVITY SETTINGS" is where adjustments are made to this function.

========================================================

3. The Keyboard

	You still will need the keyboard for some crap, like for saving games in single-play, the scoreboard in multiplayer, and for accessing the menus. Moment-to-moment gameplay is pretty much handled by the PXL otherwise.

========================================================

4. The Mouse

	No, the mouse isn't used for anything; who needs it when you have a trackball? But knocking the mouse around during a game can have annoying results. If you wish, you could add:

	m_yaw 0
	m_pitch 0

...to any config you're loading, and this will make the mouse totally unresponsive. You could consider the now-dead mouse on your desk as a kind of mascot if that amuses you.

========================================================

5. Function Explanations

	As a departure from my other 'basic' PXL configurations, I have included a few alias scripts and bindings strings since I feel their benefit far outweighs the complexity added to the config. So here's what they do:

TRACKBALL SENSITIVITY TOGGLE: When in 'zoom' mode, you will find the trackball action is jumpy and imprecise. This is because trackball sensitivity does not scale down with the drop in field-of-view. This function is offered as a workaround. Press the button once, and the trackball sensitivity becomes much slower and precise. Press it again and it returns to normal. Each time you press the button you will hear a sound cue to alert you that the trackball sensitivity has changed. An echo will appear on the screen as well, but only if you are running with "developer 1". You can enable this easily by uncommenting (that means remove the "//") from the "developer 1" line in the "SET ZOOM/NORMAL SENSITIVITY SETTINGS" section of the config.

Making adjustments to this toggle is very important if you change your "normal" trackball sensitivity settings. The settings specified on the "norm_sensitivity" line must be identical to the settings in the "CONFIGURE CONTROLLER" section. The settings on the "zoom_sensitivity" line should be proportionally smaller. You could set these to whatever you want; I've found settings that are 20% of normal to be pretty good. The config itself contains commented instructions for what to do.

CANCEL SLOT: This string turns off a selected weapon slot without selecting any weapons. Normally you would use the ESC key or some key or button with the "cancelselect" command bound to it. This has the unfortunate consequence of kicking you out to the main menu if you should happen to hit such a key or button when no weapon slot is active. My "Cancel Slot" string will never do this... it cancels weapon slots, and does nothing else.

JUMP/SWIM UP: Two commands on the same button. If you're on solid ground, you can't swim up, and if you're in water, you can't jump, so it all works out, taking up less buttons in the process.

DUCK/SWIM DOWN: Similar to above - if you're on solid ground, you can't swim down, if you're in water, you can't duck. Once again only one button is used instead of 2. This setup does NOT interfere with making LongJumps and DuckJumps.

========================================================

6. Using the OpFor PXL config with Half-Life PXL config

	For simplicity of installation, the OpFor PXL config can stand alone to completely configure the PantherXL for playing Opposing Force. If you compare my Half-Life PXL config (a separate download) to my OpFor PXL config, you will notice they are nearly identical. The only real difference is the "Scoreboard" and "Last Weapon" functions were replaced by "Weapon Slot 6" and "Weapon Slot 7" functions for OpFor support. Also the "Flashlight" descriptive label on the bitmap was replaced by the "Night Vision Goggles" label, but the in-game command is identical for both, so in this case the button binding is the same.

	If you are comfortable with creating and editing config files, then I recommend using the AUTOEXEC.CFG in \HALF-LIFE\GEARBOX\ to first call the standard Half-Life PXL config (PXL_HL.cfg), then call another small config which contains nothing but the 2 changed button assignments. This would have the same result as using the 2 separate complete files for the 2 games. The advantage to doing this would be that changes to sensitivity and threshold settings, or the "trackball sensitivity toggle", could be made only once in a single file, and the changes would apply to both games. Things like this make managing and editing your configuration files easier.

========================================================

7. Troubleshooting

	Your PXL doesn't work in the game.
Half-Life loads config files in the wrong order, which results in your last saved configuration overriding your new configuration. Load the PXL config from the console as described in Section #1: "Initial Setup".

	Button assignment changes made in the game configuration menu is not saved session-to-session.
This is because the button assignments are made in the PXL config. Edit the config directly, since many commands in the config are not recognized by the configuration menu (since they are aliased commands).

	The trackball is jumpy when zoomed in.
That's what the "Trackball Sensitivity Toggle" button is for. See Section #5: "Function Explanations".

	Your trackball settings are lost whenever you use the "Trackball Sensitivity Toggle".
You have to make changes to the "Trackball Sensitivity Toggle" to match your new "normal" settings. See Section #5: "Function Explanations".

	You can't stop moving when you let go of the stick.
My guess would be you haven't calibrated the PXL too well in the Windows control panel. Increasing threshold values would be another solution, but should't be necessary to solve this problem. To do so, see section #2: "Adjustments".

	The trackball doesn't work properly.
Recalibrate in the Windows control panel. You really need to spin that bad boy; don't be shy. Also make sure you're using the latest PXL drivers from MadCatz. Early shipping drivers would often cause the settings to be lost after a reboot.

	Other controller-specific problems.
Visit http://www.pantherxl.com . Here you will find solutions, access to tech support, and a message board specifically for PXL owners.

======================================================

8. Revision History

Current Version: Release date 12/29/99
-Filenames: PXL_OF.cfg
-This is a basic stripped-down version of my HL:OpFor Advanced PXL config with just a few scary aliases and scripts.

======================================================

9. Redistribution Limitations

Redistribution of these files IS NOT PERMITTED UNDER ANY CIRCUMSTANCES. I'd like to retain some quality and version control here. Especially since the included configs are still being tweaked.

SPECIAL EXCEPTION TO THE ABOVE IS GRANTED TO:

	Steveo and http://www.clana3d.com/ 
	(A site you should visit on a regular basis if you have a PXL)
and:
	MadCatz - http://www.pantherxl.com/
	The Source :-)

- Mad Dog/Cannis Rabidus
http://doghouse.gamedesign.net/


======================================================

"PantherXL" is a trademark of MADCATZ
"Half-Life" is a trademark of VALVE SOFTWARE
"Opposing Force" is a trademark of GEARBOX SOFTWARE
These trademarks are being used here *without* permission.

======================================================
