Toggle Contrast
Scroll Up
Scroll Down
FlashGuard UI 🛡️

An independent wrapper for photosensitivity analysis, utilizing the open-source EA IRIS library, and inspired by the **IGDA-GASIG** community.

⭐ Mission, Purpose, and Objectives

Primary Purpose: To bridge the gap between powerful tools and the accessibility community by translating the complexity of the IRIS library into a simple, reliable command line interface (CLI) workflow.

Core Goal (The 'Why'): To serve non-programmers, gamers with disabilities, and accessibility-minded developers and QA professionals. We aim to remove the C++ coding requirement, making photosensitivity analysis accessible to a wider audience.

Objective: OS Flexibility. Ensure the FlashGuard1 helper file and instructions are officially supported on Windows and Linux, with macOS guidance provided as experimental/unofficial. Users may encounter additional setup challenges on macOS, as IRIS does not include any officially provided or personally verifiable macOS example app or tested build to date.

Primary Warning: FlashGuard UI is my independent, personally developed C++ application/wrapper that can utilize the open-source EA IRIS library for photosensitivity analysis.

NO AFFILIATION/ENDORSEMENT (BSD-3-Clause Clause 3): This project is STRICTLY NOT endorsed by or affiliated with Electronic Arts Inc. or its licensors. Neither the name of Electronic Arts Inc. nor its contributors may be used to endorse or promote this derived product without specific prior written permission.

WARRANTY DISCLAIMER: The underlying software components and this wrapper are provided "AS IS" without warranty of any kind. Electronic Arts Inc. provides no warranty for this project. Use at your own risk.

🛠️ FlashGuard1 Helper Instructions & Setup (Build It Yourself)

The goal is to run the EA IRIS analysis tool on your video files with minimal command line (CLI) interaction. This simple C++ FlashGuard1 helper makes it possible. Since this page cannot distribute executables, you must build the helper yourself following these steps.

Step 1: Install EA IRIS (The Core Tool)

Go to the EA IRIS GitHub repository (you'll need to find the exact link). Download IRIS for your platform: Windows or Linux (official), macOS (experimental/unofficial). Follow the repository's instructions to install the library. On Windows: You may need Visual Studio and vcpkg. On macOS (experimental only): You may need Xcode and vcpkg. (Please note: This is untested on macOS.) Important: EA IRIS must be installed on your own machine. Your helper cannot include or distribute it.

Step 2: Create the Helper Program (flashguard1_cli.cpp)

Copy the following C++ code and save it as flashguard1_cli.cpp in a folder you can easily access (e.g., your Desktop).

#include <iostream>
#include <string>
#include <cstdlib>

int main() {
    std::string videoPath;
    std::cout << "=== FlashGuard1 Analysis CLI ===" << std::endl;
    std::cout << "Enter video file path to analyze: ";
    std::getline(std::cin, videoPath);

    if (videoPath.empty()) {
        std::cerr << "Error: No file path provided." << std::endl;
        return 1;
    }

    std::cout << "You provided: " << videoPath << std::endl;

    // Construct command to run IRIS with the provided file
    std::string command = "./iris \"" + videoPath + "\"";
    std::cout << "Running: " << command << std::endl;

    // Execute the command
    int result = system(command.c_str());
    if (result != 0) {
        std::cerr << "Warning: Could not run IRIS. Make sure the IRIS library/executable is installed." << std::endl;
    }

    std::cout << "Analysis completed." << std::endl;
    return 0;
}

Step 3: Compile the FlashGuard1 Helper

Open your terminal/command prompt, navigate to the folder where you saved flashguard1_cli.cpp, and use one of the following commands to compile it. This creates the executable file you will run.

💻 Linux/macOS Note: Make Executable Runnable

Linux and macOS users may need to run this command to grant execution permission to the compiled file:

chmod +x flashguard1_cli
🛑 CRITICAL TECHNICAL WARNING: Path Dependency. Your helper code uses the relative path ./iris in the command to run the analyzer. For this to succeed, the iris executable (e.g., iris.exe on Windows) MUST be located in the exact same folder as your compiled helper program (flashguard1_cli.exe or flashguard1_cli).

Action Required: After compiling, copy the iris executable from where you installed it into the same folder as your FlashGuard1 helper executable.

Step 4: Run the Analysis (From the Correct Folder)

Before running the helper, ensure your terminal is in the folder containing both the compiled helper and the IRIS executable. Run the FlashGuard1 helper program: ./flashguard1_cli. The program will prompt you to Paste or type the video file path. The helper handles the rest, calling IRIS automatically and outputting results.

🎬 Drag & Drop Workflow (Saves Time)

The drag-and-drop box below is an accessibility feature designed to save you time and prevent path errors. When you drop a file, the browser safely provides the file's name in a pop-up, instantly validating that you selected the correct file. Drag your video file here to get the file name and copy its path. (The file name will appear in a pop-up, then you must manually copy the full path for the CLI helper.)

Drag your video file here

🔒 Data Privacy & Logging Disclosure (Crucial Update)

I WILL NEVER COLLECT, RECORD, OR LOG YOUR FILES OR FILE INFORMATION. This page is hosted on Netlify, but the drag-and-drop function is run entirely on your local machine (client-side) using your browser's JavaScript. No file data leaves your browser. Due to this local execution and strict browser security rules, this page is technically incapable of seeing, collecting, transmitting, or logging the full system path, the video file contents, or any details about the files you test. Remember: You still need to run the ./flashguard1_cli program in your terminal and paste the path when prompted.

🎉 Conclusion: Usability & Accessibility Summary

📸 Visual Guide: Running the FlashGuard1 Helper

These examples illustrate the final steps in your terminal, showing how to execute the compiled helper and how to paste your video file path when prompted. Click an image to view it clearly at half-screen size with a close button.

Example of terminal showing initial command run and prompt.

Example 1: Execution Prompt

Initial command run and prompt.

Example of terminal showing the file path being pasted for analysis.

Example 2: Pasting the Path

The file path is pasted for analysis.

⚖️ License & Security Information

This software uses components from the open-source EA IRIS library.

EA IRIS Copyright: Portions are Copyright (c) 2022-2025 Electronic Arts Inc. All rights reserved.

Security Note (TLS): Although this application runs locally, any related documentation or services prioritize security using standard protocols such as TLS (Transport Layer Security).

License Governing IRIS: The IRIS components are licensed under the BSD-3-Clause ***SEE FULL BSD-3 BELOW***:

Understanding the BSD-3-Clause License (Full Text)

EA IRIS Component License

Portions of this software are Copyright (c) 2022-2025 Electronic Arts Inc. All rights reserved.

The 3-Clause BSD License

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of Electronic Arts Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        

📞 Feedback and Support (FlashGuard UI)

I actively maintain and welcome input for the FlashGuard UI wrapper. If you encounter bugs, have suggestions for new UI features, or want to provide general feedback, please contact me directly. This wrapper is built on the principles of accessibility and community support, inspired by the dedication of groups like the IGDA-GASIG.

Developer: William C.

LinkedIn: /in/wcjc/

Please note: I cannot provide official support or answer questions regarding the core EA IRIS library or its licensing.

⟵ Home