aboutsummaryrefslogtreecommitdiffstats
path: root/src/jake2
diff options
context:
space:
mode:
Diffstat (limited to 'src/jake2')
-rw-r--r--src/jake2/sound/joal/JOALSoundImpl.java12
-rw-r--r--src/jake2/sound/lwjgl/LWJGLSoundImpl.java8
2 files changed, 13 insertions, 7 deletions
diff --git a/src/jake2/sound/joal/JOALSoundImpl.java b/src/jake2/sound/joal/JOALSoundImpl.java
index 2caf98c..348bf11 100644
--- a/src/jake2/sound/joal/JOALSoundImpl.java
+++ b/src/jake2/sound/joal/JOALSoundImpl.java
@@ -2,7 +2,7 @@
* JOALSoundImpl.java
* Copyright (C) 2004
*
- * $Id: JOALSoundImpl.java,v 1.10 2004-11-03 12:17:17 hzi Exp $
+ * $Id: JOALSoundImpl.java,v 1.11 2005-04-26 20:17:54 cawe Exp $
*/
package jake2.sound.joal;
@@ -509,8 +509,12 @@ public final class JOALSoundImpl implements Sound {
==============
*/
public sfxcache_t LoadSound(sfx_t s) {
+ if (s.isCached) return s.cache;
sfxcache_t sc = WaveLoader.LoadSound(s);
- initBuffer(s);
+ if (sc != null) {
+ initBuffer(s);
+ s.isCached = true;
+ }
return sc;
}
@@ -518,9 +522,7 @@ public final class JOALSoundImpl implements Sound {
* @see jake2.sound.Sound#StartLocalSound(java.lang.String)
*/
public void StartLocalSound(String sound) {
- sfx_t sfx;
-
- sfx = RegisterSound(sound);
+ sfx_t sfx = RegisterSound(sound);
if (sfx == null) {
Com.Printf("S_StartLocalSound: can't cache " + sound + "\n");
return;
diff --git a/src/jake2/sound/lwjgl/LWJGLSoundImpl.java b/src/jake2/sound/lwjgl/LWJGLSoundImpl.java
index eb8ed8c..3936b87 100644
--- a/src/jake2/sound/lwjgl/LWJGLSoundImpl.java
+++ b/src/jake2/sound/lwjgl/LWJGLSoundImpl.java
@@ -2,7 +2,7 @@
* LWJGLSoundImpl.java
* Copyright (C) 2004
*
- * $Id: LWJGLSoundImpl.java,v 1.4 2004-12-23 00:52:12 cawe Exp $
+ * $Id: LWJGLSoundImpl.java,v 1.5 2005-04-26 20:17:54 cawe Exp $
*/
package jake2.sound.lwjgl;
@@ -481,8 +481,12 @@ public final class LWJGLSoundImpl implements Sound {
==============
*/
public sfxcache_t LoadSound(sfx_t s) {
+ if (s.isCached) return s.cache;
sfxcache_t sc = WaveLoader.LoadSound(s);
- initBuffer(s);
+ if (sc != null) {
+ initBuffer(s);
+ s.isCached = true;
+ }
return sc;
}