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.
MANDATORY LEGAL DISCLAIMER & NON-AFFILIATION NOTICE
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.
- On Windows (using clang):
clang++ -std=c++17 C:\path\to\flashguard1_cli.cpp -o C:\path\to\flashguard1_cli.exeThis produces an executable file namedflashguard1_cli.exe. - On macOS/Linux (using clang):
clang++ -std=c++17 ~/Desktop/FLASHGUARD/flashguard1_cli.cpp -o ~/Desktop/FLASHGUARD/flashguard1_cliThis produces an executable file namedflashguard1_cli.
💻 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
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.)
🔒 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
- Simplified Workflow: The
FlashGuard1 helpermeans users do not need to open IRIS in C++ or compile it themselves every time they analyze a video. They only need to compile the helper once. - Accessibility Boost: The drag-and-drop path retrieval and the simplified CLI save time for a11y developers and testers, making the workflow much smoother.
- Enhanced Usability: Features like high-contrast mode, tooltips, and semantic HTML improve usability for non-technical users.
- IP Safety: The helper + webpage is legal and IP-safe, as the core EA IRIS library must be downloaded and installed separately by the user.
📸 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 1: Execution Prompt
Initial command run and prompt.
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.