Updated rumblers to be able to get their axis name and axis identifier

This commit is contained in:
endolf 2003-12-02 18:55:13 +00:00
parent a4176e75f8
commit ec62ee8549
5 changed files with 45 additions and 5 deletions

View file

@ -159,8 +159,8 @@ class DirectInputDevice extends AbstractController {
* @param effect the natie effect id
* @param axisID The axis ID
*/
private void addRumbler(long effect, Axis.Identifier axisID) {
rumblerList.add(new DirectInputRumbler(this, effect, axisID));
private void addRumbler(long effect, Axis.Identifier axisID, String axisName) {
rumblerList.add(new DirectInputRumbler(this, effect, axisID, axisName));
}
/** Polls axes for data. Returns false if the controller is no longer valid.

View file

@ -15,12 +15,22 @@ public class DirectInputRumbler implements net.java.games.input.Rumbler {
private DirectInputDevice device;
private long effect;
private Axis.Identifier axisID;
private String axisName;
/** Creates a new instance of DirectInputRumbler */
public DirectInputRumbler(DirectInputDevice device, long effect, Axis.Identifier axisID) {
public DirectInputRumbler(DirectInputDevice device, long effect, Axis.Identifier axisID, String axisName) {
this.device = device;
this.effect = effect;
this.axisID = axisID;
this.axisName = axisName;
}
public Axis.Identifier getAxisIdentifier() {
return axisID;
}
public String getAxisName() {
return axisName;
}
public void rumble(float intensity) {

View file

@ -263,7 +263,7 @@ BOOL InitIDs(JNIEnv* env) {
return FALSE;
}
MID_AddRumbler = env->GetMethodID(CLASS_DirectInputDevice, "addRumbler",
"(JLnet/java/games/input/Axis$Identifier;)V");
"(JLnet/java/games/input/Axis$Identifier;Ljava/lang/String;)V");
if (MID_AddRumbler == NULL) {
return FALSE;
}
@ -700,7 +700,7 @@ BOOL CALLBACK EnumObjectsCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi,
return res;
}
env->CallVoidMethod(obj, MID_AddRumbler, (jlong)(long)g_pEffect, identifier);
env->CallVoidMethod(obj, MID_AddRumbler, (jlong)(long)g_pEffect, identifier, name);
}
return DIENUM_CONTINUE;
}