From: <sag...@us...> - 2013-04-28 22:43:47
|
Revision: 1998 http://sourceforge.net/p/modplug/code/1998 Author: saga-games Date: 2013-04-28 22:43:36 +0000 (Sun, 28 Apr 2013) Log Message: ----------- [Fix] FAR Loader broke some revisions ago. [Imp] Added "made with" tracker identification to most loaders (missing for XM and S3M right now, plus extended Schism Tracker identification in IT files) Modified Paths: -------------- trunk/OpenMPT/mptrack/dlg_misc.cpp trunk/OpenMPT/soundlib/LOAD_DBM.CPP trunk/OpenMPT/soundlib/Load_669.cpp trunk/OpenMPT/soundlib/Load_ams.cpp trunk/OpenMPT/soundlib/Load_digi.cpp trunk/OpenMPT/soundlib/Load_far.cpp trunk/OpenMPT/soundlib/Load_gdm.cpp trunk/OpenMPT/soundlib/Load_it.cpp trunk/OpenMPT/soundlib/Load_itp.cpp trunk/OpenMPT/soundlib/Load_med.cpp trunk/OpenMPT/soundlib/Load_mid.cpp trunk/OpenMPT/soundlib/Load_mod.cpp trunk/OpenMPT/soundlib/Load_mt2.cpp trunk/OpenMPT/soundlib/Load_mtm.cpp trunk/OpenMPT/soundlib/Load_psm.cpp trunk/OpenMPT/soundlib/Load_ptm.cpp trunk/OpenMPT/soundlib/Load_stm.cpp trunk/OpenMPT/soundlib/Load_ult.cpp trunk/OpenMPT/soundlib/Sndfile.cpp trunk/OpenMPT/soundlib/Sndfile.h trunk/OpenMPT/soundlib/load_j2b.cpp Modified: trunk/OpenMPT/mptrack/dlg_misc.cpp =================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/mptrack/dlg_misc.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -124,7 +124,7 @@ m_PlugMixBox.SetCurSel(0); for(int i = m_PlugMixBox.GetCount(); i > 0; i--) { - if(m_PlugMixBox.GetItemData(i) == sndFile.GetMixLevels()) + if(static_cast<mixLevels>(m_PlugMixBox.GetItemData(i)) == sndFile.GetMixLevels()) { m_PlugMixBox.SetCurSel(i); break; @@ -149,8 +149,10 @@ SetDlgItemText(IDC_TEXT_SAVEDWITH, "Last saved with:"); SetDlgItemText(IDC_EDIT_CREATEDWITH, FormatVersionNumber(sndFile.m_dwCreatedWithVersion)); - SetDlgItemText(IDC_EDIT_SAVEDWITH, FormatVersionNumber(sndFile.m_dwLastSavedWithVersion)); - +// if(sndFile.m_dwLastSavedWithVersion) +// SetDlgItemText(IDC_EDIT_SAVEDWITH, FormatVersionNumber(sndFile.m_dwLastSavedWithVersion)); +// else + SetDlgItemText(IDC_EDIT_SAVEDWITH, sndFile.madeWithTracker.c_str()); UpdateDialog(); EnableToolTips(TRUE); @@ -161,7 +163,7 @@ CString CModTypeDlg::FormatVersionNumber(DWORD version) //----------------------------------------------------- { - return CString(MptVersion::ToStr(version)) + (MptVersion::IsTestBuild(version) ? " (Test Build)" : ""); + return CString(MptVersion::ToStr(version)) + (MptVersion::IsTestBuild(version) ? " (test build)" : ""); } Modified: trunk/OpenMPT/soundlib/LOAD_DBM.CPP =================================================================== --- trunk/OpenMPT/soundlib/LOAD_DBM.CPP 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/LOAD_DBM.CPP 2013-04-28 22:43:36 UTC (rev 1998) @@ -222,6 +222,7 @@ nPatterns = BigEndianW(pfh->patterns); m_nType = MOD_TYPE_DBM; m_nChannels = CLAMP(BigEndianW(pfh->channels), 1, MAX_BASECHANNELS); // note: MAX_BASECHANNELS is currently 127, but DBM supports up to 128 channels. + madeWithTracker.Format("Digi Booster %x.%x", pfh->trkver >> 8, pfh->trkver & 0xFF); if(pfh->songname[0]) { Modified: trunk/OpenMPT/soundlib/Load_669.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_669.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_669.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -116,6 +116,11 @@ m_nDefaultSpeed = 4; m_nChannels = 8; + if(fileHeader.sig == _669FileHeader::magic669) + madeWithTracker = "Composer 669"; + else + madeWithTracker = "UNIS 669"; + m_nSamples = fileHeader.samples; for(SAMPLEINDEX smp = 1; smp <= m_nSamples; smp++) { Modified: trunk/OpenMPT/soundlib/Load_ams.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_ams.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_ams.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -403,6 +403,7 @@ m_nSamples = fileHeader.numSamps; SetModFlag(MSF_COMPATIBLE_PLAY, true); SetupMODPanning(true); + madeWithTracker.Format("Extreme's tracker %d.%d", fileHeader.versionHigh, fileHeader.versionLow); vector<bool> packSample(fileHeader.numSamps); @@ -777,6 +778,7 @@ m_nChannels = 32; SetModFlag(MSF_COMPATIBLE_PLAY, true); SetupMODPanning(true); + madeWithTracker.Format("Velvet Studio %d.%d", fileHeader.format >> 4, fileHeader.format & 0x0F); // Instruments vector<SAMPLEINDEX> firstSample; // First sample of instrument Modified: trunk/OpenMPT/soundlib/Load_digi.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_digi.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_digi.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -116,6 +116,7 @@ m_nChannels = fileHeader.numChannels; m_nSamples = 31; m_nSamplePreAmp = 256 / m_nChannels; + madeWithTracker.Format("Digi Booster %d.%d", fileHeader.versionInt >> 4, fileHeader.versionInt & 0x0F); Order.ReadFromArray(fileHeader.orders, fileHeader.lastOrdIndex + 1); Modified: trunk/OpenMPT/soundlib/Load_far.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_far.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_far.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -144,7 +144,7 @@ || file.GetLength() < static_cast<size_t>(fileHeader.headerLength)) { return false; - } else + } else if(loadFlags == onlyVerifyHeader) { return true; } Modified: trunk/OpenMPT/soundlib/Load_gdm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_gdm.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_gdm.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -158,6 +158,7 @@ InitializeGlobals(); m_nType = gdmFormatOrigin[fileHeader.originalFormat]; + madeWithTracker.Format("BWSB 2GDM %d.%d (converted from %s)", fileHeader.trackerMajorVer, fileHeader.formatMinorVer, ModTypeToTracker(GetType())); // Song name StringFixer::ReadString<StringFixer::maybeNullTerminated>(m_szNames[0], fileHeader.songTitle); Modified: trunk/OpenMPT/soundlib/Load_it.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_it.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_it.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -344,23 +344,27 @@ { // ModPlug Tracker 1.16 (semi-raped IT format) m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 16, 00, 00); + madeWithTracker = "ModPlug tracker 1.09 - 1.16"; } else { // OpenMPT 1.17 disguised as this in compatible mode, // but never writes 0xFF in the pan map for unused channels (which is an invalid value). m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 17, 00, 00); + madeWithTracker = "OpenMPT 1.17 (compatibility export)"; } interpretModPlugMade = true; } else if(fileHeader.cwtv == 0x0214 && fileHeader.cmwt == 0x0202 && fileHeader.reserved == 0) { // ModPlug Tracker b3.3 - 1.09, instruments 557 bytes apart m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 09, 00, 00); + madeWithTracker = "ModPlug tracker b3.3 - 1.09"; interpretModPlugMade = true; } else if(fileHeader.cwtv == 0x0214 && fileHeader.cmwt == 0x0200 && fileHeader.reserved == 0) { // ModPlug Tracker 1.00a5, instruments 560 bytes apart m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 00, 00, A5); + madeWithTracker = "ModPlug tracker 1.00a5"; interpretModPlugMade = true; } } else // case: type == MOD_TYPE_MPT @@ -534,6 +538,7 @@ { // These were not zero bytes -> We're in the wrong place! file.SkipBack(2); + madeWithTracker = "UNMO3"; } } @@ -551,6 +556,11 @@ m_SongFlags.set(SONG_EMBEDMIDICFG); } + if(file.ReadMagic("MODU")) + { + madeWithTracker = "BeRoTracker"; + } + // Read pattern names: "PNAM" FileReader patNames; if(file.ReadMagic("PNAM")) @@ -901,6 +911,84 @@ UpgradeModFlags(); + if(m_dwLastSavedWithVersion && madeWithTracker.empty()) + { + madeWithTracker = "OpenMPT " + MptVersion::ToStr(m_dwLastSavedWithVersion); + if(fileHeader.reserved != ITFileHeader::omptMagic && (fileHeader.cwtv & 0xF000) == 0x5000) + { + madeWithTracker += " (compatibility export)"; + } else if(MptVersion::IsTestBuild(m_dwLastSavedWithVersion)) + { + madeWithTracker += " (test build)"; + } + } else + { + switch(fileHeader.cwtv >> 12) + { + case 0: + if(!madeWithTracker.empty()) + { + // BeRoTracker has been detected above. + } else if(fileHeader.cwtv == 0x0214 && fileHeader.cmwt == 0x0200 && fileHeader.flags == 9 && fileHeader.special == 0 + && fileHeader.highlight_major == 0 && fileHeader.highlight_minor == 0 + && fileHeader.insnum == 0 && fileHeader.patnum + 1 == fileHeader.ordnum + && fileHeader.globalvol == 128 && fileHeader.mv == 100 && fileHeader.speed == 1 && fileHeader.sep == 128 && fileHeader.pwd == 0 + && fileHeader.msglength == 0 && fileHeader.msgoffset == 0 && fileHeader.reserved == 0) + { + madeWithTracker = "OpenSPC conversion"; + } else if(fileHeader.cwtv == 0x0214 && fileHeader.cmwt == 0x0214 && fileHeader.reserved == ITFileHeader::chibiMagic) + { + madeWithTracker = "ChibiTracker"; + } else if(fileHeader.cwtv == 0x0214 && fileHeader.cmwt == 0x0214 && !(fileHeader.special & 3) && fileHeader.reserved == 0 && !strcmp(Samples[1].filename, "XXXXXXXX.YYY")) + { + madeWithTracker = "CheeseTracker"; + } else + { + if(fileHeader.cmwt > 0x0214) + { + madeWithTracker = "Impulse Tracker 2.15"; + } else if(fileHeader.cwtv > 0x0214) + { + // Patched update of IT 2.14 (0x0215 - 0x0217 == p1 - p3) + // p4 (as found on modland) adds the ITVSOUND driver, but doesn't seem to change + // anything as far as file saving is concerned. + madeWithTracker.Format("Impulse Tracker 2.14p%d", fileHeader.cwtv - 0x0214); + } else + { + madeWithTracker.Format("Impulse Tracker %d.%02x", (fileHeader.cwtv & 0x0F00) >> 8, (fileHeader.cwtv & 0xFF)); + } + } + break; + case 1: + madeWithTracker = "Schism Tracker "; + if(fileHeader.cwtv > 0x1050) + { + mpt::String version; + tm epoch; + MemsetZero(epoch); + epoch.tm_year = 109, epoch.tm_mon = 9; epoch.tm_mday = 31; + //int32 versionSec = ((fileHeader.cwtv - 0x050) * 86400) + mktime(&epoch); + // TODO what's the difference between localtime and localtime_r? +// if(localtime_r(&versionSec, &epoch)) { +// sprintf(buf, "%04d-%02d-%02d", +// version.tm_year + 1900, version.tm_mon + 1, version.tm_mday); +// return; + } else + { + mpt::String version; + version.Format("0.%x", fileHeader.cwtv & 0xFF); + madeWithTracker += version; + } + break; + case 6: + madeWithTracker.Format("BeRoTracker %x.%x"); + break; + case 7: + madeWithTracker.Format("ITMCK %d.%d.%d", (fileHeader.cwtv >> 8) & 0x0F, (fileHeader.cwtv >> 4) & 0x0F, fileHeader.cwtv & 0x0F); + break; + } + } + if(GetType() == MOD_TYPE_IT) { // Set appropriate mod flags if the file was not made with MPT. Modified: trunk/OpenMPT/soundlib/Load_itp.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_itp.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_itp.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -263,6 +263,8 @@ UpgradeModFlags(); + madeWithTracker = "OpenMPT " + MptVersion::ToStr(m_dwLastSavedWithVersion); + return true; #endif } Modified: trunk/OpenMPT/soundlib/Load_med.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_med.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_med.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -547,6 +547,7 @@ InitializeChannels(); // Setup channel pan positions and volume SetupMODPanning(true); + madeWithTracker.Format("OctaMED (MMD%c)", version); m_nType = MOD_TYPE_MED; m_nSamplePreAmp = 32; Modified: trunk/OpenMPT/soundlib/Load_mid.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mid.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_mid.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -1,5 +1,5 @@ /* - * Load_med.cpp + * Load_mid.cpp * ------------ * Purpose: MIDI file loader * Notes : MIDI import is pretty crappy. @@ -336,13 +336,6 @@ }; -const WORD kMidiChannelPriority[16] = -{ - 0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE0, 0xFFC0, 0xFF80, 0xFF00, - 0xFE00, 0xFDFF, 0xF800, 0xF000, 0xE000, 0xC000, 0x8000, 0x0000, -}; - - /////////////////////////////////////////////////////////////////////////// // Helper functions Modified: trunk/OpenMPT/soundlib/Load_mod.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mod.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_mod.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -454,8 +454,8 @@ } -void CSoundFile::ReadMODPatternEntry(FileReader &file, ModCommand &m) -//------------------------------------------------------------------- +void CSoundFile::ReadMODPatternEntry(FileReader &file, ModCommand &m) const +//------------------------------------------------------------------------- { uint8 data[4]; file.ReadArray(data); @@ -494,15 +494,20 @@ || IsMagic(magic, "FEST")) // jobbig.mod by Mahoney { m_nChannels = 4; - } else if(IsMagic(magic, "CD81") // Falcon - || IsMagic(magic, "OKTA") // Oktalyzer + } else if(IsMagic(magic, "CD81")) // Falcon + { + m_nChannels = 8; + madeWithTracker = "Falcon"; + } else if(IsMagic(magic, "OKTA") // Oktalyzer || IsMagic(magic, "OCTA")) // Oktalyzer { m_nChannels = 8; + madeWithTracker = "Oktalyzer"; } else if((!memcmp(magic, "FLT", 3) || !memcmp(magic, "EXO", 3)) && magic[3] >= '4' && magic[3] <= '9') { // FLTx / EXOx - Startrekker by Exolon / Fairlight m_nChannels = magic[3] - '0'; + madeWithTracker = "Startrekker"; } else if(magic[0] >= '1' && magic[0] <= '9' && !memcmp(magic + 1, "CHN", 3)) { // xCHN - Many trackers @@ -516,6 +521,7 @@ { // TDZx - TakeTracker m_nChannels = magic[3] - '0'; + madeWithTracker = "TakeTracker"; } else { return false; Modified: trunk/OpenMPT/soundlib/Load_mt2.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mt2.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_mt2.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -240,6 +240,7 @@ InitializeGlobals(); InitializeChannels(); + madeWithTracker.Format("MadTracker %d.%x", pfh->wVersion >> 8, pfh->wVersion & 0xFF); m_nType = MOD_TYPE_MT2; m_nChannels = pfh->wChannels; m_nRestartPos = pfh->wRestart; Modified: trunk/OpenMPT/soundlib/Load_mtm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mtm.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_mtm.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -123,6 +123,7 @@ m_nType = MOD_TYPE_MTM; m_nSamples = fileHeader.numSamples; m_nChannels = fileHeader.numChannels; + madeWithTracker.Format("MultiTracker %d.%d", fileHeader.version >> 4, fileHeader.version & 0x0F); // Reading instruments for(SAMPLEINDEX smp = 1; smp <= GetNumSamples(); smp++) Modified: trunk/OpenMPT/soundlib/Load_psm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_psm.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_psm.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -651,6 +651,12 @@ ChnSettings[chn].dwFlags.set(CHN_SURROUND, subsongs[0].channelSurround[chn]); } + madeWithTracker = "Epic MegaGames MASI ("; + if(newFormat) + madeWithTracker = "New Version / Sinaria)"; + else + madeWithTracker = "New Version)"; + if(!(loadFlags & loadPatternData)) { return true; @@ -1156,6 +1162,7 @@ // Seems to be valid! InitializeGlobals(); + madeWithTracker = "Epic MegaGames MASI (Old Version)"; m_nType = MOD_TYPE_S3M; m_nChannels = Clamp(CHANNELINDEX(fileHeader.numChannelsPlay), CHANNELINDEX(fileHeader.numChannelsReal), MAX_BASECHANNELS); m_nSamplePreAmp = fileHeader.masterVolume; Modified: trunk/OpenMPT/soundlib/Load_ptm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_ptm.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_ptm.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -102,6 +102,7 @@ StringFixer::ReadString<StringFixer::maybeNullTerminated>(m_szNames[0], pfh.songname); InitializeGlobals(); + madeWithTracker.Format("PolyTracker %d.%d", pfh.version_hi, pfh.version_lo); m_nType = MOD_TYPE_PTM; m_nChannels = pfh.nchannels; m_nSamples = MIN(pfh.nsamples, MAX_SAMPLES - 1); Modified: trunk/OpenMPT/soundlib/Load_stm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_stm.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_stm.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -134,6 +134,7 @@ // Read STM header InitializeGlobals(); + madeWithTracker.Format("Scream Tracker %d.%02x", fileHeader.verMajor, fileHeader.verMinor); m_nType = MOD_TYPE_STM; m_nSamples = 31; m_nChannels = 4; Modified: trunk/OpenMPT/soundlib/Load_ult.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_ult.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Load_ult.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -395,6 +395,10 @@ InitializeGlobals(); StringFixer::ReadString<StringFixer::maybeNullTerminated>(m_szNames[0], fileHeader.songName); + const char *versions[] = {"<1.4", "1.4", "1.5", "1.6"}; + madeWithTracker = "UltraTracker "; + madeWithTracker += versions[fileHeader.version - '1']; + m_nType = MOD_TYPE_ULT; m_SongFlags = SONG_ITCOMPATGXX | SONG_ITOLDEFFECTS; // this will be converted to IT format by MPT. SetModFlag(MSF_COMPATIBLE_PLAY, true); Modified: trunk/OpenMPT/soundlib/Sndfile.cpp =================================================================== --- trunk/OpenMPT/soundlib/Sndfile.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Sndfile.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -489,6 +489,7 @@ m_nMinPeriod = 16; m_nMaxPeriod = 32767; m_dwLastSavedWithVersion = m_dwCreatedWithVersion = 0; + madeWithTracker.clear(); SetMixLevels(mixLevels_compatible); SetModFlags(0); @@ -608,6 +609,11 @@ m_nType = MOD_TYPE_NONE; } + if(madeWithTracker.empty()) + { + madeWithTracker = ModTypeToTracker(GetType()); + } + #ifndef NO_ARCHIVE_SUPPORT // Read archive comment if there is no song comment if(!songMessage.empty() && unarchiver.GetComments(false)) Modified: trunk/OpenMPT/soundlib/Sndfile.h =================================================================== --- trunk/OpenMPT/soundlib/Sndfile.h 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/Sndfile.h 2013-04-28 22:43:36 UTC (rev 1998) @@ -379,6 +379,7 @@ public: // Song message SongMessage songMessage; + mpt::String madeWithTracker; // -> CODE#0023 // -> DESC="IT project files (.itp)" @@ -555,7 +556,7 @@ void S3MConvert(ModCommand &m, bool fromIT) const; void S3MSaveConvert(uint8 &command, uint8 ¶m, bool toIT, bool compatibilityExport = false) const; void ModSaveCommand(uint8 &command, uint8 ¶m, const bool toXM, const bool compatibilityExport = false) const; - void ReadMODPatternEntry(FileReader &file, ModCommand &m); + void ReadMODPatternEntry(FileReader &file, ModCommand &m) const; void SetupMODPanning(bool bForceSetup = false); // Setup LRRL panning, max channel volume Modified: trunk/OpenMPT/soundlib/load_j2b.cpp =================================================================== --- trunk/OpenMPT/soundlib/load_j2b.cpp 2013-04-28 19:40:37 UTC (rev 1997) +++ trunk/OpenMPT/soundlib/load_j2b.cpp 2013-04-28 22:43:36 UTC (rev 1998) @@ -778,6 +778,12 @@ m_nDefaultGlobalVolume = mainChunk.globalvolume * 2; m_nType = MOD_TYPE_J2B; + madeWithTracker = "Galaxy Sound System ("; + if(isAM) + madeWithTracker += "new version)"; + else + madeWithTracker += "old version)"; + ASSERT(mainChunk.unknown == LittleEndian(0xFF0001C5) || mainChunk.unknown == LittleEndian(0x35800716) || mainChunk.unknown == LittleEndian(0xFF00FFFF)); StringFixer::ReadString<StringFixer::maybeNullTerminated>(m_szNames[0], mainChunk.songname); @@ -849,7 +855,7 @@ continue; } - m_nInstruments = MAX(m_nInstruments, instr); + m_nInstruments = std::max(m_nInstruments, instr); instrHeader.ConvertToMPT(*pIns, m_nSamples); @@ -909,7 +915,7 @@ { continue; } - m_nInstruments = MAX(m_nInstruments, instr); + m_nInstruments = std::max(m_nInstruments, instr); instrHeader.ConvertToMPT(*pIns, m_nSamples); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |