=========================================
PD Light System 5.2 Call Reference Sheet
=========================================

Note: Always start system by creating the "LightControl" (VPM) or "LightControlO" (originals) timer in the 
      table editor screen.
       -Set timer to the light update/fade speed you desire (45 recommended).
       -Set "Const UseLamps = False" in Table Init section for VPM tables.
       -Create "UpdateLights" Sub and enter light values there (copy from below starter defaults to save typing)

-------------------------
Light Assignment Commands  - (SetLight, SetLightF and SetLightG)
-------------------------
Note: For VPM tables, use previously unused lightnumbers (pick ones outside the system range; WCS would be numbers higher
	than 88 up to 150).  For Originals, use any numbers from 0-150 to assign light states to be on or off.

SetLight - Assigns unused values in the control light array from things like flashers and GI lights
	     or in original tables to set any kind of light in the array range (0-150).
	   - Syntax    (SetLight lightnum, lightstatus)
	   - Examples: (SetLight 100, 1)        -Sets Light 100 to be turned ON
                     (SetLight 100, true)     -(Alternative way for same thing)
                     (SetLight 100, lighton)  -(Alternative way for same thing)
			   '
			   (SetLight 100, 0)        -Set Light 100 to be turned OFF
                     (SetLight 100, false)    -(Alternative way for same thing)
                     (SetLight 100, lightoff) -(Alternative way for same thing)
			   '
			   (SetLight 100, enabled)  -Set Light 100 to be set to variable "enabled"
                     - typically used within a sub called FROM a solenoid callback VBS call:
			   EXAMPLE:
			     SolCallback(28) = "FlasherX"
			     Sub FlasherX(enabled)
				  SetLight 100, enabled
                       End Sub

			   '
                     (SetLight 100,)          -Set Light 100 to be set to solenoid status from Solenoid Callback
                     - typically used from the Solenoid Callback Line itself
			   EXAMEPLE:
                        SolCallback(28) = "SetLight 100,"

Note: Once assigned values, call the lights you assign to that number using the regular UpdateLight stack:
      EXAMPLE:
              SolCallback(28) = "SetLight 100,"

	Sub UpdateLights()
		...
	    FadeL 100, FlasherXa, FlasherXb, FlasherX, FlasherXoff
		...
	End Sub

Note: Lights set using SetLight are set to fade or not fade using the 'Fading' variable. 
      (i.e. Fading = True OR Fading = False)

Additional SetLight Variations
------------------------------
SetLightF - The same as SetLight except its fading status is controlled by the variable 'FadingF' instead.
            This will allow you to independently control whether lights such as flashers fade or not
            independently from the regular lights.

SetLightG - The same as SetLight except its fading status is controlled by the variable 'FadingG' instead.
            This will allow you to independently control whether lights such as GI Lights fade or not
            independently from the regular lights.
------------------------------





--------------
Light Handlers
--------------

Permanant Non-Fading Handlers (Note: These do not fade regardless if "Fading" variable is set to true or false)
-----------------------------

NFade - Single Light Object Handler (uses 1 Light object)
	- Syntax  (NFade lightnum, light)
	- Example (NFade 11, L11)
        - where 11 is the light number and L11 is a light object on the table

LitL2 - Dual Light Object Handler for separate off color assignment (uses 2 Light objects)
	- Syntax  (LitL2 lightnum, light, lightOff)
	- Example (LitL2 11, L11, L11off)
        - where 11 is the light number, L11 is the light and L11off is the off light.

LitW2 - Dual Wall Object Handler (uses 2 Wall objects)
	- Syntax  (LitW2 lightnum, WallLight)
	- Example (LitW2 11, L11)
        - where 11 is the light number, L11 is the WallLight and the playfield is the OFF color.

FadeR - Reel Object Handler (Handles both Fading and Non-Fading lights automatically) (uses 1 Reel and 2 frames)
      - Syntax  (FadeR lightnum, ReelName)
	- Example (FadeR 11, L11)
        - where 11 is the light number and L11 is the Reel (Reel should be set to 2 frames only for non-fades)
      - Frame order should be off, on in the reel.
	- "FadeRm" is used for multiple lights under same light number, except for the last entry which is then just FadeR.
          

Fading Handlers (Note: Fading Switches to Non-Fading when "Fading" variable is set to False in script)
---------------

FadeL	- Fading Light Object Handler (uses 4 light objects)
	- Syntax  (FadeL lightnum, lightDim, lightMedium, LightBright, LightOff)
	- Example (FadeL 11, L11a, L11b, L11, L11off)
	  - where 11 is the light number, L11a is the dim light color, L11b is the medium light color, L11 is the bright
          light color and L11off is the off light color.
      - "FadeLm" is used for multiple lights under the same light number, except for the last entry which is then
	    just FadeL.

FadeW	- Fading Wall Object Handler (uses 3 Wall objects plus the playfield for the "off" state)
	- Syntax  (FadeW lightnum, lightDim, lightMedium, LightBright)
	- Example (FadeW 11, L11a, L11b, L11)
	  - where 11 is the light number, L11a is the dim wall color, L11b is the medium wall color, L11 is the bright
          wall color.  When "off", the 3 walls should all sit under the playfield (set bottom height to -1), leaving the
          playfield as the "off" color (set up 4 playfields accordingly; off, dim, medium and bright).
      - "FadeWm" is used for multiple wall lights under the same light number, except for the last entry which is then
	    just FadeW.

FadeR - Reel Object Handler (Handles both Fading and Non-Fading lights automatically) (uses 1 Reel and 4 frames)
      - Syntax  (FadeR lightnum, ReelName)
	- Example (FadeR 11, L11)
        - where 11 is the light number and L11 is the Reel (Reel should be set to 4 frames for fades)
      - Frame order should be off, on, dim, medium in the reel.
	- "FadeRm" is used for multiple lights under same light number, except for the last entry which is then just FadeR.

Auto-Label Handlers (Used to shorten Syntax in script for Fade Handlers at the cost of some operational speed)
-------------------

aFadeL - Fading Light Object Handler (uses 4 light objects)
	 - Syntax  (aFadeL lightnum, LightBright) 
         (Note: Light names MUST follow the "Xa, Xb, X, Xoff" pattern to use where X is the LightName and
          a, b, and off are extensions.)
	 - Example (aFadeL 11, L11)
	   - where 11 is the light number and L11 is the bright color.  Lights L11a, L11b and L11off must still exist
           and be labeled as such (where L11a is dim, L11b is medium and L11off is the off color)
       - "aFadeLm" is used for multiple lights under the same light number, except for the last entry which is then
	     just aFadeL.

aFadeW - Fading Wall Object Handler (uses 3 Wall objects plus the playfield for the "off" state)
	 - Syntax  (aFadeW lightnum, LightBright) (Note: Wall names MUST follow the "Xa, Xb, X, Xoff" pattern to use)
         (Note: Wall names MUST follow the "Xa, Xb, X, Xoff" pattern to use where X is the LightName and
          a, b, and off are extensions.)
	 - Example (aFadeW 11, L11)
	   - where 11 is the light number and L11 is the bright wall color.  Walls L11a and L11b must still exist
           and be labeled as such (where L11a is dim, L11b is medium and the playfield is the off color)
	   - When "off", the 3 walls should all sit under the playfield (set bottom height to -1), leaving the
           playfield as the "off" color (set up 4 playfields accordingly; off, dim, medium and bright).
       - "aFadeWm" is used for multiple wall lights under the same light number, except for the last entry which is then
	     just aFadeW.

aLitL2 - Dual Light Object Handler for separate off color assignment (uses 2 Light objects)
	 - Syntax  (aLitL2 lightnum, light)
	 - Example (aLitL2 11, L11)
        - where 11 is the light number, L11 is the light and L11off is the off light.

Overlapping Light Handlers   (Use when two separate lights share the same housing)
---------------------------- (e.g. when a light and a flasher share the same lens cover or plastic cover and overlap)
aka ("M"ultiple Light)	     (The First Light called "L1" here takes priority over the secondary "L2" light if both on)


MFadeL - Overlapping Light Handler (uses 7 Light objects) (Note: There is one shared OFF state for both lights)
	 - Syntax (MFadeL lightnum1, L1Dim,L1Medium,L1Bright, lightnum2, L2Dim,L2Medium,L2Bright, OFF)
	 - Example (MFade 11, L11a,L11b,L11, 12, L12a,L12b,L12, L11_12off)
	   where 11 is the light number for the prioritized light; L11a,L11b,L11 are the dim, medium, bright colors for it.
         where 12 is the light number for the secondary light; L12a,L12b,L12 are the dim, medium, bright colors for it.
         where L11_12off is the shared off color light for both lights (same housing = same off color).
	 - To do permanant 2-stage for either or both lights, replace the Dim and Medium stages of the respective light
         with the OFF stage.

MFadeW - Overlapping Wall Handler (uses 6 Drop Walls and 1 non-drop wall; the non-drop wall is the off state)
					    (drop walls should be set to be just above and drop just below the non-drop wall)
	 - Syntax (MFadeL lightnum1, L1Dim,L1Medium,L1Bright, lightnum2, L2Dim,L2Medium,L2Bright)
	 - Example (MFade 11, L11a,L11b,L11, 12, L12a,L12b,L12,)
	   where 11 is the light number for the prioritized light; L11a,L11b,L11 are the dim, medium, bright colors for it.
         where 12 is the light number for the secondary light; L12a,L12b,L12 are the dim, medium, bright colors for it.

MFadeR - Overlapping Lights Using one Reel Handler (uses 1 Reel with 7 frames)
	 - Frame Order should be OFF, L1Bright, L2Bright, L1Dim, L1Medium, L2Dim, L2Medium.
	 - Syntax (MFadeR lightnum1, lightnum2, ReelName)
	 - Example (MFadeR 11, 12, L11_12Reel)
	   where 11 is the light number for the prioritized light
         where 12 is the light number for the secondary light
         where L11_12Reel is the name of the reel containing the 7 light frames for both lights.
       - The "off" frame is shared between both lights.
	 - Lights will both be permanant 2-stage on/off only if only the first 3 frames are set to be used in the reel.
