Namco 163 memory composition
This commit is contained in:
parent
d33e645ea8
commit
898155eb6b
12 changed files with 111 additions and 8 deletions
|
|
@ -131,6 +131,8 @@ bool DivEngine::load(unsigned char* f, size_t slen) {
|
|||
return loadFTM(file,len);
|
||||
} else if (memcmp(file,DIV_FUR_MAGIC,16)==0) {
|
||||
return loadFur(file,len);
|
||||
} else if (memcmp(file,DIV_FUR_MAGIC_DS0,16)==0) {
|
||||
return loadFur(file,len,DIV_FUR_VARIANT_B);
|
||||
} else if (memcmp(file,DIV_FC13_MAGIC,4)==0 || memcmp(file,DIV_FC14_MAGIC,4)==0) {
|
||||
return loadFC(file,len);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,3 +52,10 @@ struct NotZlibException {
|
|||
#define DIV_FC13_MAGIC "SMOD"
|
||||
#define DIV_FC14_MAGIC "FC14"
|
||||
#define DIV_S3M_MAGIC "SCRM"
|
||||
|
||||
#define DIV_FUR_MAGIC_DS0 "Furnace-B module"
|
||||
|
||||
enum DivFurVariants: int {
|
||||
DIV_FUR_VARIANT_VANILLA=0,
|
||||
DIV_FUR_VARIANT_B=1,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -691,7 +691,7 @@ void DivEngine::convertOldFlags(unsigned int oldFlags, DivConfig& newFlags, DivS
|
|||
}
|
||||
}
|
||||
|
||||
bool DivEngine::loadFur(unsigned char* file, size_t len) {
|
||||
bool DivEngine::loadFur(unsigned char* file, size_t len, int variantID) {
|
||||
unsigned int insPtr[256];
|
||||
unsigned int wavePtr[256];
|
||||
unsigned int samplePtr[256];
|
||||
|
|
@ -720,6 +720,11 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
|
|||
ds.version=reader.readS();
|
||||
logI("module version %d (0x%.2x)",ds.version,ds.version);
|
||||
|
||||
if (variantID!=DIV_FUR_VARIANT_VANILLA) {
|
||||
logW("Furnace variant detected: %d",variantID);
|
||||
addWarning("this module was created with a downstream version of Furnace. certain features may not be compatible.");
|
||||
}
|
||||
|
||||
if (ds.version>DIV_ENGINE_VERSION) {
|
||||
logW("this module was created with a more recent version of Furnace!");
|
||||
addWarning("this module was created with a more recent version of Furnace!");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue