public ScreenGenerator(byte[] options, bool applyFixes = false)
        {
            this.warp       = (Warp)options[0];
            this._base      = (Base)options[1];
            this.overlay_a  = (Overlay_A)options[2];
            this.overlay_b  = (Overlay_B)options[3];
            this.blend_mode = (Blend_Mode)options[4];

            ApplyFixes = applyFixes;
            TemplateGenerationValid = true;
        }
        /// <summary>
        /// Generator instantiation for method specific shaders.
        /// </summary>
        public ScreenGenerator(Warp warp, Base _base, Overlay_A overlay_a, Overlay_B overlay_b, Blend_Mode blend_mode, bool applyFixes = false)
        {
            this.warp       = warp;
            this._base      = _base;
            this.overlay_a  = overlay_a;
            this.overlay_b  = overlay_b;
            this.blend_mode = blend_mode;

            ApplyFixes = applyFixes;
            TemplateGenerationValid = true;
        }