Flash Guard

From Sinden Lightgun
Revision as of 22:26, 4 March 2026 by Bratwurstmensch (talk | contribs) (Add-ins by Bratwurstmensch)
Jump to navigation Jump to search



Flash Guard

Third party tool
Core: Reshade Shader
Emulates: Any system Reshade works with
Download: lightgunman GDrive
License: Free with inclusion of Copyright notice
Developer: A.Nakada Ko-fi donation page
Note: Requires Reshade

Release Video

https://www.youtube.com/watch?v=7SElDRQAjfk

What is Flash Guard

This is a ReShade shader designed to prevent sudden screen flashing (photosensitive seizures prevention). It effectively suppresses or reduces intense flashes often found in 90s light gun shooters and other retro titles.


No cheat codes, patches, or texture replacements required.

Simply select the target color and sensitivity to suppress flashes.


Compatible with any hardware or software (NES, PS1, Saturn, PS2, PC, etc.). It can also be applied to old movies and anime footage.


Limitations

  • Requires Reshade


Downloads


Setup guide

Information taken from the included Flash Guard 1.0.3.1 Readme.txt

Install ReShade

Download and install ReShade from the official website. https://reshade.me

Using ReShade presets allows you to easily apply specific settings for each game.

Install Flash Guard

Copy FlashGuard.fx into the reshade-shaders/Shaders folder within your game's installation directory. Example: XXXX/reshade-shaders/Shaders/FlashGuard.fx

Enable in Game

Open the ReShade overlay (Home key), type "FlashGuard" in the search bar or find it in the list, and check the box to enable the shader.

Settings Descriptions

Detection Settings

Detection Mode:

  1. Target: Color A Only: Detects and suppresses only "Target Color A".
  2. Target: Color A & B: Detects and suppresses both A and B colors.
  3. Famicom/NES Mode: Specialized mode for NES light gun games.


Info Note
You may need to adjust the "Guard Duration" based on the number of targets (Ducks, Gunmen, etc.).




  • Target Color A / B: Specify the color of the flash you want to prevent.
  • Picking the exact flash color using the color palette is the easiest way.
  • If it doesn't respond well, try slightly adjusting the color (e.g., White to Light Gray) or lowering the sensitivity. Entering direct RGB values from a screen capture can improve accuracy.
  • Sensitivity (Color A / B): Lower values trigger the guard more aggressively (wider range).
  • Higher values require a more precise color match.
  • Sampling Precision: Sets how many pixels are sampled for color detection. "65535" is recommended for general use.


Gaurd Action Settings

Sets the behavior when a flash is detected.

  • Guard Method
    • Freeze Previous Frame (Recommended): Displays the still image from immediately before the flash.
    • Color Overlay Only: Covers the screen with a specific color.
Info Note
Perfectly canceling a flash with transparency/inverse colors is difficult



  • Guard Duration

Sets how many frames the guard is maintained after detection. If a flash lasts multiple frames, setting this to the same or higher value will completely remove it.

Info Note
Too high a value may cause noticeable stuttering.



  • Safety Guard Limit

A safety feature to prevent the screen from staying frozen indefinitely if a flash is constantly detected. The guard will force-release after this number of frames.

Color Overlay Settings (Advanced)

Configures the behavior when "Color Overlay Only" is selected as the Guard Method.

  • Blend Mode

Options include Fill, Add, Subtract, and Multiply. Since this doesn't skip frames, no stuttering occurs.

  • Animation Pattern

Allows the overlay color to "Fade Out" etc., during the guard.

  • Post-Guard Persistence

Sets the duration of the overlay effect after the flash detection ends.

Border & Exclusion Settings (Optional)

Allows setting the size and color of a border (useful for Sinden Lightgun users).


Info Crucial Tip
If you play 4:3 games without stretching to 16:9, set the border

width to match the black bars and enable "Exclude Border from Detection" to significantly improve detection accuracy.



Game Specific Settings (Developer)

Game Table

Game Settings
System Game Emulator/Driver Mode Colour A(R.G.B) Sensitivity(A) Notes
FAMICON/NES duck hunt nestopia/D3D9 FAMICON/NES - - If 2 duck then 3 frame guard
FAMICON/NES wild gunman nestopia/D3D9 FAMICON/NES - - If 3 gunman then 4 frame guard
FAMICON/NES Hogan's Alley nestopia/D3D9 FAMICON/NES - - If 4 gang then 5 frame guard
PlayStation gunbullet/POINT BLANK duckstation/vulkan A White 0.85 -
PlayStation gunbarl/POINT BLANK 2 duckstation/vulkan A White 0.85 -
PlayStation gunbalina/POINT BLANK 3 duckstation/vulkan A 80.176.128 0.85 It doesn't work well in white
PlayStation Time Crisis duckstation/vulkan A White 0.85 -
SegaSaturn Virtua COP 1 medonaffe/OpenGL A White 0.85 Example
SegaSaturn Virtua COP 2 medonaffe/OpenGL A White 0.85 Example
SegaSaturn X-men vs Street fighter medonaffe/OpenGL A White 0.85 Royal Flash is without Flash : )
PlayStation2 Time Crisis 2 PCSX2/Vulkan A 125.125.125 0.85 It doesn't work well in white
PC Mad Bullets Steam/OpenGL A White - longer flash. Not perfect guard
- - - - - - -

Notes

  • While checking the flashing color directly on the game screen, select the target color in the FlashGuard color palette and confirm that the flashing disappears.
    • Capturing the flash moment and getting RGB will be more accurate.
  • Flashing lasts for several frames, the guard frames should also match. Adding too many guard frames will cause the screen to stutter.
  • Set a maximum number of frames for safety in scenes with pure white skies or snow to prevent the screen from freezing due to false detection.


FlashGuard – Setup Notes and Game Testing (tested by Bratwurstmensch)

Renderer Compatibility

Some users experienced issues with FlashGuard when using Direct3D 11.

Switching the renderer to Direct3D 12 resolved the problem and allowed FlashGuard to work correctly even with default settings.

Recommendation:

  • If FlashGuard does not work correctly:
    1. Open emulator graphics settings.
    2. Change Renderer from Direct3D 11 / Vulkan / etc...Direct3D 12.
    3. Restart the emulator if necessary.

Frame Suppression / Guard Duration

FlashGuard suppresses the screen flash by skipping a very small portion of a frame.

Default Adjustment

The guard duration can normally be adjusted in 0.1 ms increments.

Example:

  • 0.3 ms
  • 0.4 ms

For some games (for example Time Crisis) the difference between these values can slightly affect gameplay smoothness.

Fine Adjustment (Advanced)

You can enable finer tuning (0.001 ms increments) by editing the shader file.

Steps:

  1. Open FlashGuard.fx in a text editor (e.g., Notepad).
  2. Find the line: ui_step = 0.1
  3. Change it to: ui_step = 0.001
  4. Save the file.

You can now adjust guard duration in 0.001 ms steps.

Example values tested:

  • 0.4 ms – stable default
  • 0.356 ms – tested sweet spot for smoother gameplay

Note: Differences below ~0.05 ms are usually very difficult to notice.

Game Color Codes

FlashGuard works best by detecting specific flash colors used by games and reduce falce triggers by raising the Sensitvity at 1.000.

Hex color code screenshot.png






<<< Insert the following hex color codes into the bottom color field of the shader settings.


Game Specific Settings (values tested by Bratwurstmensch)

Game Settings
System Game Mode hex color code Sensitivity(A) Sensitivity(B) Notes
PlayStation Judge Dredd A #00646A 1.000 - -
PlayStation Area 51 A #00646A 1.000 - -
PlayStation Point Blank A #00646A 1.000 - -
PlayStation Point Blank 2 A #00646A 1.000 - -
PlayStation Time Crisis Project Titan A #00646A 1.000 - -
PlayStation Ghoul Panic A #50B080 1.000 - if the game is freezing during calibration, turn off Flash Guard and turn it back on after calibration is done
PlayStation Point Blank 3 A #2E6337 1.000 - -
PlayStation Project Horned Owl A #00007E 1.000 - -
PlayStation Rescue Shot A #0000A8 1.000 - -
PlayStation Elemental Gearbolt A & B #0000FF 0.509 0.509 set the same hex color code to A & B
PlayStation Extreme Ghostbusters A & B #0000FF 0.509 0.509 set the same hex color code to A & B

if the game is freezing during calibration, turn off Flash Guard and turn it back on after calibration is done

PlayStation Resident Evil Survivor A #4C2925 1.000 -

Troubleshooting

Gameplay freezes

If the game freezes or stalls, the selected flash color is likely not a perfect match.

Possible fixes:

  • Adjust the color value slightly.
  • Increase or decrease Sensitivity.
  • turn off Flash Guard for a moment (Gun calibration screens tend to freeze in some games, but it works afterwards)