Controller Support

General Enclave discussion
Post Reply
User avatar
Amran
Ogier-Editor
Posts: 21
Joined: Tue Dec 03, 2013 4:59 am
Controller Support

Post by Amran »

Enclave can be played using a controller using one of two methods. I would recommend the first option of the two, as it results in the smoothest experience when setting up and playing the game.

The following are suggested controls that are largely based on the original console version of Enclave. Small changes have been made to improve play, or compensate for button layout differences.
  • Move - Left Stick
    Look - Right Stick
    Crouch - Left Stick Button
    Jump - Right Stick Button (Also set to the A Button.)

    Attack - Right Trigger
    Attack2 / Use Item - Left Trigger (Also set to the B Button.)

    Change Item - DPad Left/Right
    Change Weapon - DPad Up/Down (Also set to the Left/Right Shoulder Buttons.)
    Change Camera - X Button
    Drink Potion - Y Button

    Open Menu - Start Button
Option 1: External Tools

Tools such as Xpadder or an input wrapper can be used to capture controller inputs for any game, including Enclave. This is currently the more flexible of the methods, and a preset Xpadder config file for Enclave's default controls is available below. (This preset file follows the above recommended control settings.)

Xpadder Config File


Option 2: Config Files

Enclave has functioning controller support, but it has been disabled in the PC release of the game. This can be enabled and modified using the below steps, although there may be issues with certain controllers. (e.g. Triggers and the DPad on a Xbox 360 controller will not function as individual buttons, and the controller will not work for navigating the game menus.)
  • Either replace the controller binds at the top of the Config.mpp file (found in the main Enclave directory), or create a new .mpp file with your bindings. Below is a config that can be used and tweaked further as desired. (Note - Rather than being bound to the Left Trigger, attack2 is instead bound to both the Left Shoulder Button and the B Button.)

    Code: Select all

    
    void main()
    {
    	// -------------------------------------------------------------------
    	// Xbox 360 Controller
    	// -------------------------------------------------------------------
    
    	// "bind"
    	// "bind2"
    	// "bindrep"
    
    	// "joy0_axis00" (A Button)
    	// "joy0_axis01" (B Button)
    	// "joy0_axis02" (X Button)
    	// "joy0_axis03" (Y Button)
    
    	// "joy0_axis04" (Left Shoulder Button)
    	// "joy0_axis05" (Right Shoulder Button)
    
    	// "joy0_axis06" (Back Button)
    	// "joy0_axis07" (Start Button)
    
    	// "joy0_axis08" (Left Stick click)
    	// "joy0_axis09" (Right Stick click)
    
    	// "joy0_axis0c" (Left Stick)
    	// "joy0_axis0d" (Right Stick)
    	// "joy0_axis0e" (Triggers)
    	// "joy0_axis0f" (DPad)
    
    	bindrep "joy0_axis0c", "moveright arg1 / 128.0; moveforward (-arg0) / 128.0"; //Move with Left Stick
    	bindrep "joy0_axis0d", "lookvelocity0 arg1*0.2, arg0*0.04"; //Look with Right Stick (modify arg1 and arg0 to change horizontal and vertical sensitivity)
    	bind2 "joy0_axis08", "press crouch", "release crouch"; //Crouch by pressing Left Stick
    	bind2 "joy0_axis09", "moveup 1; press jump", "moveup 0; release jump"; //Jump by pressing Right Stick
    	bind2 "joy0_axis00", "moveup 1; press jump", "moveup 0; release jump"; //Jump by pressing A Button
    
    	bindrep "joy0_axis0e", "int a0 = arg0/255.0; if(a0) { press attack } else { release attack }"; //Attack by pressing either Trigger
    	bind2 "joy0_axis04", "press attack2", "release attack2"; //Second attack or use item by pressing Left Shoulder Button
    	bind2 "joy0_axis01", "press attack2", "release attack2"; //Second attack or use item by pressing B Button
    
    	bind "joy0_axis0f", "int a0 = arg0/255.0; if(a0) { cmd nextitem } int a1 = arg1/255.1; if(a1) { cmd nextweapon }"; //Horizontal DPad changes item, vertical DPad changes weapon
    	//bind "joy0_axis04", "cmd prevweapon"; //Previous weapon by pressing Left Shoulder Button
    	//bind "joy0_axis05", "cmd nextweapon"; //Next weapon by pressing Right Shoulder Button
    	bind "joy0_axis02", "cyclecameramode 0, 1"; //Switch between third and first person by pressing X Button
    	bind "joy0_axis03", "activateitem \"0x106\""; //Use potion by pressing Y Button
    
    	bind "joy0_axis07", "releaseall; cl_opengamemenu"; //Open menu with Start Button
    }
    
  • Open Options.cfg and modify or add the line 'CONFIG=Config.mpp' (without the quotes). The name Config can refer to any file where your specified controller bindings exist, eg DevConfig.mpp, or ControllerXbox.mpp.
  • Voodooman also suggested setting 'CONTROLLER_TYPE=' to 2 in Options.cfg as well, although I'm currently uncertain what this effects.


Post Reply