Author: sagamusix
Date: Thu May 23 20:29:29 2024
New Revision: 20844
URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20844
Log:
Merged revision(s) 20843 from trunk/OpenMPT:
[Imp] MED: Try to combine effect commands when there are multiple pages.
........
Modified:
branches/OpenMPT-1.31/ (props changed)
branches/OpenMPT-1.31/soundlib/Load_med.cpp
Modified: branches/OpenMPT-1.31/soundlib/Load_med.cpp
==============================================================================
--- branches/OpenMPT-1.31/soundlib/Load_med.cpp Thu May 23 20:29:12 2024 (r20843)
+++ branches/OpenMPT-1.31/soundlib/Load_med.cpp Thu May 23 20:29:29 2024 (r20844)
@@ -568,7 +568,7 @@
ModCommand *m = pattern.GetpModCommand(row, 0);
for(CHANNELINDEX chn = 0; chn < ctx.numTracks; chn++, m++)
{
- const auto oldCmd = std::make_pair(m->command, m->param);
+ auto oldCmd = std::make_pair(m->command, m->param);
int note = NOTE_NONE;
uint8 cmd = 0, param1 = 0, param2 = 0;
if(ctx.version < 1)
@@ -618,6 +618,8 @@
m->SetEffectCommand(oldCmd);
else if(row > 0 && oldCmd.first == CMD_XPARAM)
pattern.GetpModCommand(row - 1, chn)->param = Util::MaxValueOfType(m->param);
+ else if(!ModCommand::CombineEffects(m->command, m->param, oldCmd.first, oldCmd.second) && m->volcmd == VOLCMD_NONE)
+ m->FillInTwoCommands(m->command, m->param, oldCmd.first, oldCmd.second);
}
if(extraCmd.first != CMD_NONE)
{
|