fix state use fmgen flag

This commit is contained in:
AZO234 2019-07-03 16:24:40 +09:00
parent 5420dda64b
commit e0b9fe5527
2 changed files with 23 additions and 18 deletions

View File

@ -579,6 +579,7 @@ int opna_sfsave(PCOPNA opna, STFLAGH sfh, const SFENTRY *tbl)
{
int ret = statflag_write(sfh, &opna->s, sizeof(opna->s));
#if defined(SUPPORT_FMGEN)
statflag_write(sfh, &enable_fmgen, sizeof(enable_fmgen));
if(enable_fmgen) {
void* buf;
@ -607,16 +608,18 @@ int opna_sfload(POPNA opna, STFLAGH sfh, const SFENTRY *tbl)
{
int ret = statflag_read(sfh, &opna->s, sizeof(opna->s));
#if defined(SUPPORT_FMGEN)
if(enable_fmgen) {
OEMCHAR path[MAX_PATH];
void* buf;
if(statflag_read(sfh, &enable_fmgen, sizeof(enable_fmgen))==STATFLAG_SUCCESS){
if(enable_fmgen) {
OEMCHAR path[MAX_PATH];
void* buf;
buf = malloc(fmgen_opnadata_size);
ret |= statflag_read(sfh, buf, fmgen_opnadata_size);
OPNA_DataLoad(opna->fmgen, buf);
free(buf);
getbiospath(path, "", NELEMENTS(path));
OPNA_LoadRhythmSample(opna->fmgen, path);
buf = malloc(fmgen_opnadata_size);
ret |= statflag_read(sfh, buf, fmgen_opnadata_size);
OPNA_DataLoad(opna->fmgen, buf);
free(buf);
getbiospath(path, "", NELEMENTS(path));
OPNA_LoadRhythmSample(opna->fmgen, path);
}
}
#endif /* SUPPORT_FMGEN */
if (opna->s.cCaps & OPNA_HAS_ADPCM)

View File

@ -712,16 +712,18 @@ int opna_sfload(POPNA opna, STFLAGH sfh, const SFENTRY *tbl)
{
int ret = statflag_read(sfh, &opna->s, sizeof(opna->s));
#if defined(SUPPORT_FMGEN)
if(enable_fmgen) {
OEMCHAR path[MAX_PATH];
void* buf;
if(statflag_read(sfh, &enable_fmgen, sizeof(enable_fmgen))==STATFLAG_SUCCESS){
if(enable_fmgen) {
OEMCHAR path[MAX_PATH];
void* buf;
buf = malloc(fmgen_opnadata_size);
ret |= statflag_read(sfh, buf, fmgen_opnadata_size);
OPNA_DataLoad(opna->fmgen, buf);
free(buf);
getbiospath(path, "", NELEMENTS(path));
OPNA_LoadRhythmSample(opna->fmgen, path);
buf = malloc(fmgen_opnadata_size);
ret |= statflag_read(sfh, buf, fmgen_opnadata_size);
OPNA_DataLoad(opna->fmgen, buf);
free(buf);
getbiospath(path, "", NELEMENTS(path));
OPNA_LoadRhythmSample(opna->fmgen, path);
}
}
#endif /* SUPPORT_FMGEN */
if (opna->s.cCaps & OPNA_HAS_ADPCM)