void GuestAdditions::syncPhant1UI(const int16 oldMusicVolume, const int16 musicVolume, reg_t &musicGlobal, const int16 oldDacVolume, const int16 dacVolume, reg_t &dacGlobal) const { const reg_t buttonId = _segMan->findObjectByName("dacVolUp"); if (buttonId.isNull() || !_segMan->getObject(buttonId)->isInserted()) { // No inserted dacVolUp button means the control panel with the // volume controls is not visible and we can just update the values // and leave musicGlobal.setOffset(musicVolume); dacGlobal.setOffset(dacVolume); return; } reg_t thermo = _segMan->findObjectByName("midiVolThermo"); if (!thermo.isNull()) { int count = ABS(musicVolume - oldMusicVolume); const int stepSize = (musicVolume > oldMusicVolume ? 1 : -1); while (count--) { musicGlobal.incOffset(stepSize); invokeSelector(thermo, SELECTOR(doit)); } } thermo = _segMan->findObjectByName("dacVolThermo"); if (!thermo.isNull()) { int count = ABS(dacVolume - oldDacVolume) / 8; const int stepSize = (dacVolume > oldDacVolume ? 8 : -8); while (count--) { dacGlobal.incOffset(stepSize); invokeSelector(thermo, SELECTOR(doit)); } } }
reg_t Script::findCanonicAddress(SegManager *segMan, reg_t addr) const { addr.setOffset(0); return addr; }