Mercurial > hg > dmlib
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