NScumm.Core.Audio.PCSpeakerDriver.StartEffect C# (CSharp) Method

StartEffect() private method

private StartEffect ( EffectEnvelope env, byte data, int offset ) : void
env NScumm.Core.Audio.SoftSynth.EffectEnvelope
data byte
offset int
return void
        void StartEffect(EffectEnvelope env, byte[] data, int offset)
        {
            env.state = 1;
            env.currentLevel = 0;
            env.modWheelLast = 31;
            env.duration = (short)(data[offset + 0] * 63);

            env.stateTargetLevels[0] = data[offset + 1];
            env.stateTargetLevels[1] = data[offset + 3];
            env.stateTargetLevels[2] = data[offset + 5];
            env.stateTargetLevels[3] = data[offset + 6];

            env.stateModWheelLevels[0] = data[offset + 2];
            env.stateModWheelLevels[1] = data[offset + 4];
            env.stateModWheelLevels[2] = 0;
            env.stateModWheelLevels[3] = data[offset + 7];

            InitNextEnvelopeState(env);
        }