From aaf1cf73bd683d5e8f750a4dc53c09c6d2e406c1 Mon Sep 17 00:00:00 2001 From: Brian Matzon Date: Sat, 17 Jul 2004 23:34:22 +0000 Subject: [PATCH] implemented GetDriverCaps --- src/java/org/lwjgl/fmod3/FSound.java | 5 ++++- src/native/common/fmod3/org_lwjgl_fmod3_FSound.cpp | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/java/org/lwjgl/fmod3/FSound.java b/src/java/org/lwjgl/fmod3/FSound.java index 50120fc5..9e2dc2c1 100644 --- a/src/java/org/lwjgl/fmod3/FSound.java +++ b/src/java/org/lwjgl/fmod3/FSound.java @@ -623,7 +623,10 @@ public class FSound { * @param caps IntBuffer to have the caps bits stored * @return On success, TRUE is returned. On failure, FALSE is returned */ - public static native boolean FSOUND_GetDriverCaps(int driverid, IntBuffer caps); + public static boolean FSOUND_GetDriverCaps(int driverid, IntBuffer caps) { + return nFSOUND_GetDriverCaps(driverid, caps, caps.position()); + } + private static native boolean nFSOUND_GetDriverCaps(int driverid, IntBuffer caps, int offset); /** * Returns the name of the selected driver. Drivers are enumerated when selecting a driver with diff --git a/src/native/common/fmod3/org_lwjgl_fmod3_FSound.cpp b/src/native/common/fmod3/org_lwjgl_fmod3_FSound.cpp index bab671be..aa77b1e2 100644 --- a/src/native/common/fmod3/org_lwjgl_fmod3_FSound.cpp +++ b/src/native/common/fmod3/org_lwjgl_fmod3_FSound.cpp @@ -193,9 +193,9 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_fmod3_FSound_FSOUND_1GetDriver(JNIEnv * en * Method: FSOUND_GetDriverCaps * Signature: (ILjava/nio/IntBuffer;)Z */ -JNIEXPORT jboolean JNICALL Java_org_lwjgl_fmod3_FSound_FSOUND_1GetDriverCaps(JNIEnv * env, jclass clazz, jint, jobject) { - throwFMODException(env, "missing implementation"); - return false; +JNIEXPORT jboolean JNICALL Java_org_lwjgl_fmod3_FSound_nFSOUND_1GetDriverCaps(JNIEnv * env, jclass clazz, jint id, jobject buffer, jint offset) { + unsigned int* caps = offset + (unsigned int *) env->GetDirectBufferAddress(buffer); + return fmod_instance->FSOUND_GetDriverCaps(id, caps); } /*