From: <sv...@op...> - 2024-05-23 18:29:38
|
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) { |