TTLG|Thief|Bioshock|System Shock|Deus Ex|Mobile
Results 1 to 15 of 15

Thread: The Official Unofficial Guide to Using a Game Controller with Thief and Thief II

  1. #1
    New Member
    Registered: May 2004

    The Official Unofficial Guide to Using a Game Controller with Thief and Thief II

    As of the creation of this thread, there is nothing on this board that will help those wishing to use a game controller with Thief and Thief II. The purpose of this FAQ is not to discuss the merits of using a game controller over keyboard and mouse, or vice versa. Instead, it is to instruct those wishing to use one in how to jump the hoops necessary to allow the games to use them properly. I welcome replies that wish to legitimately critique the technical aspects of this FAQ. Iím only human and could get something wrong. If you have anything to correct or to add, then by all means I will be happy to hear it.

    Anyone whoís tried to use a game controller with Thief and Thief II will probably have learned quite quickly that while the relevant documentation enclosed with the games do give some basic commands for getting Thief to recognize a game controller and some simple controls (such as move forward, back, sidestep, and turn), they omit lines allowing the ability to look up and down. Indeed, once the game is loaded, players will find this seemingly important ability at first impossible using analog joysticks.

    Rest assured this is quite possible (hence the creation of this FAQ). The following procedure is virtually identical with Thief and Thief II. There are two files we must concern ourselves with named dark.cfg and dark.bnd located directly in the relevant game folder. For example, if Thief Gold is located directly off your main hard drive, then you will want to look in C:\ThiefG. To open them, simply open a writing tool such as Notepad, WordPad, or Word. Select File\Open, and then find the files in their relevant folders. Note: you might want to make copies of these two files in case you do something the game doesnít like.

    First open dark.cfg and type the following string exactly as you see it:

    joystick_enable

    You are now able to use your game controller. Next open dark.bnd and type in the following string exactly as you see it, or even better, copy the following text and paste it into dark.bnd:

    bind joy_axisx +joyxaxis
    bind joy_axisy +joyforward
    bind joy_axisr +joyturn
    bind joy_axisz +mlook

    Notice that we are assigning the mouse look function directly to the right analog stick (it took me quite a while to figure out how to do this). This will only apply to actions directly in game (i.e. controlling Garrett). You will have to use the mouse when not in game (i.e. map, objective, menus, etc.). Also note that in Thief II, the axisr should be:

    bind joy_axisr rudderturn

    Also, depending on the game controller your using, you may have to swap the z and r axises around. In other words, assign +joyturn to axisz and +mlook to axisz (thanks to sysqc for that one).

    First, youíll want to run the game to make sure it works. Run a new game and look around in the first mission. I have found dark.bnd to be a little stubborn at times in that it will occasionally rewrite a command when not directly accessed in the game. If it didnít work the first time, donít worry. Open up dark.bnd and try again. Once you do get the command to stick, youíll never have to worry about it again. If you are having problems getting the controls to stick, you may need to access the user.bnd file directly. This file has much the same information that dark.bnd has, but is treated a little differently that dark.bnd. If the game will not accept the mouse movement with dark.bnd, then enter the above commands under both dark.bnd and user.bnd. That should work.

    Okay, once you are able to use the right analog stick to look up and down, you will probably notice that doing so is a bit slow. This happens because a mouse is much more sensitive then a joystick. Therefore, we have to go back into dark.bnd and mess with the mouse sensitivity, called mouse_sensitivity in the file. Try various numbers until you find one that feels comfortable for you. I have mine set at 20.0. Again, please note that messing around with the mouse sensitivity will only affect Garrett's in game movements; it will have no affect on the cursor when perusing the menus, maps, etc. Mouse sensitivity can also be controlled through user.bnd.

    Does it work? Does it feel nice and comfortable to use? Great, although this might seem a little backwards to discuss it at this point, Iíd like to talk about the game controllers themselves. Some game controllers are better than others, and you will want to find one that will work well for you. Iíve used two game controllers: the Gravis Eliminator Aftershock and the Thrustmaster Firestorm Dual Power 3. Both come with mapping software (they can also be downloaded from the appropriate sites). The following are just suggestions based on what worked for me. Remember, you have to get something with which you are comfortable.

    The Gravis, when it works, works very well. The mapping software is easy to use and one of the buttons can be mapped as a shift button giving every button (including the d-pad) a second function. The mapping software also makes programming the press of multiple keys at the same time easy (such as <alt, shift, w> to lean forward). However, you might have noticed my get out of jail free card above. When the software works, it works very well. However, it doesnít always work. The problem is that the mapping software doesnít always tell DirectX that Thief and Thief II have opened. There have been many times, Iíve had to reopen the games repeatedly in order to get the game to recognize the mapped functions. This problem was what led me to give Thrustmaster a try.

    Unlike Gravis, I have never had a problem getting a game to recognize the mapping software. In fact, the software will actually throw a small dialogue box up informing you that a program with mapped functions is loading. The controller itself is very responsive and there are two extra buttons that many other controllers donít have. The mapping software is easy to use. However, like Gravis, there is one or two problems. Firstly, a programmed mouse function will sometimes stick in game. This is easily fixed by re-mapping the use weapon/item commands. I think I have mine mapped to <;> and <í>. Also, unlike Gravis, there is no easy way to map multiple keys pressed at the same time (I still donít know how itís done). But again, lean forward is easily mapped to something else like the <l> key. They are problems, but they arenít problems that canít easily be overcome.

    Great, now that you have a comfortable game controller that will work in your game, we now have to program the controller. Just like above, the following are only recommendations based on what worked for me. X-Box users will notice some similarities to the Thief III control scheme. My Thief I and Thief II maps are remarkably similar. Any differences will be noted with a <,>. Thief will be to the left, Thief II will be to the right.

    The following example will refer exclusively to the Thrustmaster Firestorm Dual Power 3 (as thatís the one I like to use).

    Key
    * Numbers refer to a particular button
    * d-pad and a direction refers to the d-pad and the direction being pressed
    * Buttons 5 and 7 are the upper shoulder buttons; buttons 6 and 8 are the lower shoulder buttons
    * Buttons labeled 9 and 10 are located underneath the controller
    * Buttons labeled 11 and 12 refer to clicking the analog sticks (much like a PlayStationís L3 and R3 buttons)

    6 8
    5 7
    9 10

    4
    d-pad 2 3
    1
    11 12


    Primary Functions
    1 = lean forward
    2 = toggle crouch
    3 = drop
    4 = jump/block
    5 = map
    6 = use weapon
    7 = objective
    8 = use item
    9 = shift
    10 = quick save
    11 = next weapon
    12 = next item
    d-pad left/right = lean left/right
    d-pad up/down = compass/gas arrow, zoom in/out


    Shift Functions
    1 = blackjack
    2 = rope arrow
    3 = moss arrow
    4 = holy water, scouting orb
    5 = lockpick 1
    6 = flash bomb
    7 = lockpick 2
    8 = healing potion
    9 = shift
    10 = quick load
    11 = sword
    12 = broadhead arrow
    d-pad left/right = clear weapon/item
    d-pad up/down = fire arrow/water arrow
    Last edited by ianrace; 20th Jul 2005 at 12:27.

  2. #2
    Member
    Registered: Apr 2001
    Location: Finland, Helsinki rock city
    Nice!
    I've had some success with a program called "joy2key". Although I can instantly see what is better in the way in your FAQ, is that when using analog to move, you can actually just push softly to move slower. In joy2key I've just binded "W" to analog up, which isn't as nice.

  3. #3
    New Member
    Registered: May 2004
    To sysqc: Thanks, I hope the guide helps. I have tried programming keys to the stick in the past, but the point of having an analog stick is to be able to use it. Right? That's why I started experimenting.

    To Abysmal: Yes this method will allow accurate analog movement in Thief and Thief II

    I've never actually used joy2key, so I couldn't honestly comment on that. Once you get everything set up, the game will allow you to use the analog sticks as analog sticks including movement, sidestepping, turning, and looking.

  4. #4
    New Member
    Registered: May 2004
    I've edited the original post slightly to include an addendum. If you are having trouble getting the game to accept your changes to the dark.bnd file, then you will have to open the user.bnd file as well. By putting the binds in both files, Thief and Thief II should accept whatever changes you give it. Just remember to make backup copies of both files before messing around with them.

  5. #5
    Member
    Registered: Apr 2001
    Location: Finland, Helsinki rock city
    Could you be so kind and post the lines with joystick definitions of your dark.bnd and user.bnd files?
    I can't get any other axis working except the right analog stick y-axis, while using a popular gamepad called logitech dual action.

    Never mind!
    Last edited by sysqc; 18th Jul 2005 at 11:20. Reason: Got it working

  6. #6
    New Member
    Registered: May 2004
    I'm not quite sure what you meant, as I did give the lines from the cfg and bnd files that pertain to the joysticks in the original post. However, because you asked I'll post them again, this time directly from user.bnd

    Thief I
    bind joy_axisr +joyturn
    bind joy_axisx +joyxaxis
    bind joy_axisy +joyforward
    bind joy_axisz +mlook

    Thief II
    bind joy_axisr +joyturn
    bind joy_axisx +joyxaxis
    bind joy_axisy +joyforward
    bind joy_axisz +mlook

    I am glad you got it working, though. Out of morbid curiosity, what was the trouble you were encountering? If you don't mind, I'll include your solution in the original post.

  7. #7

    Good work good work but i do it differently. good night

  8. #8
    Member
    Registered: Apr 2001
    Location: Finland, Helsinki rock city
    Quote Originally Posted by ianrace
    I am glad you got it working, though. Out of morbid curiosity, what was the trouble you were encountering? If you don't mind, I'll include your solution in the original post.
    Trouble was, only one axis was working (z).
    I believe, as there were already joystick axis definitions on my file (I hadn't added them myself), that defining them twice for both files got it mixed somehow.
    Also, iirc, on thief1, I needed to swap z- and r-axises.

    And different from your configuration, I found for logitech dual action, mouse sensitivity 30 more appropriate.

  9. #9

    good thing I don't even use a game controller or joystic what ever you call them. That's for game systems.

  10. #10
    New Member
    Registered: May 2004
    Okay, I'll edit the original post to reflect that Logitech users may need to swap the z and r axises. Mouse sensitivity is entirely subjective. Though oddly enough, I have found that Thief II's mouse is a bit more sensitive than Thief I. I only have Thief II's set to 10.5.

  11. #11
    Member
    Registered: Feb 2012
    Okay, here's my situation. I have the Logitech F710 and it works great... for the most part. I didn't want to just jump into doing ALL that stuff you typed, because I can already use one of the analog sticks (the left) already. Is it necessary to do EVERYTHING you said just to get the game to recognize when I try to use the RIGHT analog? Or is there a specific thing I can just add to my current setup.

    Also, has anyone come up with a way to PAUSE the game with the controller and/or move the cursor around in menus? Probably not, but I figured I'd ask.

  12. #12
    Member
    Registered: Oct 2007
    Location: Angelwatch
    There are game controller to keyboard mappers. Can't remember the name right now, but they should do the trick.

    I'm currently replaying Thief as well, in front of the TV with a F510. For menus I have a Hama multimedia center remote that can move and click the mouse and also has a Escape key (and an Enter key which I use for quick load).

  13. #13
    Member
    Registered: Oct 2007
    Location: Angelwatch
    Sorry for double post but I have another question here: how do you set the dead zone for the rudder axis? For some reason this value has no effect in the user.bnd. It works for all other axes though... My current controller doesn't really center the right joystick, even after calibration. So when I'm not moving it I'm very slowly turning upwards.

  14. #14
    Member
    Registered: Apr 2013
    Location: some nondescript building
    Quote Originally Posted by Child Of Karras View Post
    Sorry for double post but I have another question here: how do you set the dead zone for the rudder axis? For some reason this value has no effect in the user.bnd. It works for all other axes though... My current controller doesn't really center the right joystick, even after calibration. So when I'm not moving it I'm very slowly turning upwards.
    The rudder deadzone variable has an effect - the problem is that it only influences the left/right axis, not up/down as you seem to be having problems with.

    Does your controller mapping software offer anything to simulate a deadzone? I use 'Better DS3' which allows me to do just that (though it's for PS3 controllers only).

  15. #15
    Member
    Registered: Oct 2007
    Location: Angelwatch
    I will check that later. But I'm wondering, you've got a z-axis and the rudder axis. I thought the z-axis was for the left/right movement.

    EDIT:
    While looking around the net for an external solution I stumbled across this little program DXTweak that recalibrates the joystick systemwide. And it works like a charm.
    Last edited by Child Of Karras; 24th Jan 2015 at 05:37.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •