NScumm.Core.Audio.TownsPC98_FmSynthPercussionSource.AdvanceInput C# (CSharp) Method

AdvanceInput() public method

public AdvanceInput ( RhtChannel ins ) : void
ins RhtChannel
return void
        void AdvanceInput(RhtChannel ins)
        {
            sbyte cur = (sbyte)ins.data[ins.posOffset++];

            for (int i = 0; i < 2; i++)
            {
                int b = (2 * (cur & 7) + 1) * stepTable[ins.decState] / 8;
                ins.samples[i] = (short)ScummHelper.Clip(ins.samples[i ^ 1] + ((cur & 8) != 0 ? b : -b), -2048, 2047);
                ins.decState = (sbyte)ScummHelper.Clip(ins.decState + adjustIndex[cur & 7], 0, 48);
                cur >>= 4;
            }
        }