changeset 1132:d4512925b4f9

Modularize some more.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 04 Mar 2015 07:00:27 +0200
parents b349646f19a0
children 2af228303727
files minijss/jloadxm.c
diffstat 1 files changed, 21 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/minijss/jloadxm.c	Wed Mar 04 06:37:04 2015 +0200
+++ b/minijss/jloadxm.c	Wed Mar 04 07:00:27 2015 +0200
@@ -452,7 +452,7 @@
 }
 
 
-static BOOL jssXMLoadEnvelope(DMResource *inFile, XMEnvelope *env)
+static BOOL jssXMLoadEnvelopePoints(DMResource *inFile, XMEnvelope *env)
 {
     int i;
     for (i = 0; i < XM_MaxEnvPoints; i++)
@@ -465,6 +465,15 @@
 }
 
 
+static BOOL jssXMLoadEnvelopeData(DMResource *inFile, XMEnvelope *env)
+{
+    return
+        dmf_read_byte(inFile, &(env->sustain)) &&
+        dmf_read_byte(inFile, &(env->loopS)) &&
+        dmf_read_byte(inFile, &(env->loopE));
+}
+
+
 /* Load XM-format extended instrument from file-stream into JSS module's given inst
  */
 static int jssXMLoadExtInstrument(DMResource *inFile, int ninst, JSSModule *module)
@@ -510,22 +519,21 @@
         !dmf_read_str(inFile, &xmI2.sNumForNotes, sizeof(xmI2.sNumForNotes)))
     {
         JSSERROR(DMERR_FREAD, DMERR_FREAD,
-        "Could not read secondary instrument header #1 for #%d.\n", ninst);
+        "Could not read secondary instrument header part #1 for #%d.\n", ninst);
     }
 
-    if (!jssXMLoadEnvelope(inFile, &xmI2.volumeEnv) ||
-        !jssXMLoadEnvelope(inFile, &xmI2.panningEnv) ||
+    if (!jssXMLoadEnvelopePoints(inFile, &xmI2.volumeEnv) ||
+        !jssXMLoadEnvelopePoints(inFile, &xmI2.panningEnv))
+    {
+        JSSERROR(DMERR_FREAD, DMERR_FREAD,
+        "Could not read envelope point data for instrument #%d.\n", ninst);
+    }
 
-        !dmf_read_byte(inFile, &xmI2.volumeEnv.npoints) ||
+    if (!dmf_read_byte(inFile, &xmI2.volumeEnv.npoints) ||
         !dmf_read_byte(inFile, &xmI2.panningEnv.npoints) ||
 
-        !dmf_read_byte(inFile, &xmI2.volumeEnv.sustain) ||
-        !dmf_read_byte(inFile, &xmI2.volumeEnv.loopS) ||
-        !dmf_read_byte(inFile, &xmI2.volumeEnv.loopE) ||
-
-        !dmf_read_byte(inFile, &xmI2.panningEnv.sustain) ||
-        !dmf_read_byte(inFile, &xmI2.panningEnv.loopS) ||
-        !dmf_read_byte(inFile, &xmI2.panningEnv.loopE) ||
+        !jssXMLoadEnvelopeData(inFile, &xmI2.volumeEnv) ||
+        !jssXMLoadEnvelopeData(inFile, &xmI2.panningEnv) ||
 
         !dmf_read_byte(inFile, &xmI2.volumeEnv.flags) ||
         !dmf_read_byte(inFile, &xmI2.panningEnv.flags) ||
@@ -539,7 +547,7 @@
         !dmf_read_le16(inFile, &xmI2.ARESERVED))
     {
         JSSERROR(DMERR_FREAD, DMERR_FREAD,
-        "Could not read secondary instrument header #2 for #%d.\n", ninst);
+        "Could not read secondary instrument header part #2 for #%d.\n", ninst);
     }
 
     // Skip the extra data after header #2