NScumm.Core.TownsPC98_FmSynthOperator.RecalculateRates C# (CSharp) Method

RecalculateRates() public method

public RecalculateRates ( ) : void
return void
        void RecalculateRates()
        {
            int k = _keyScale2;
            int r = (_specifiedAttackRate != 0) ? (int)((_specifiedAttackRate << 1) + 0x20) : 0;
            fs_a.rate = ((r + k) < 94) ? _rateTbl[r + k] : (byte)136;
            fs_a.shift = ((r + k) < 94) ? _rshiftTbl[r + k] : (byte)0;

            r = (_specifiedDecayRate != 0) ? (int)((_specifiedDecayRate << 1) + 0x20) : 0;
            fs_d.rate = _rateTbl[r + k];
            fs_d.shift = _rshiftTbl[r + k];

            r = (_specifiedSustainRate != 0) ? (int)((_specifiedSustainRate << 1) + 0x20) : 0;
            fs_s.rate = _rateTbl[r + k];
            fs_s.shift = _rshiftTbl[r + k];

            r = (int)((_specifiedReleaseRate << 2) + 0x22);
            fs_r.rate = _rateTbl[r + k];
            fs_r.shift = _rshiftTbl[r + k];
        }