A simple, user-friendly Windows Forms (.NET / WinForms) utility designed to automate file transfers for Flyff (Fly For Fun) development and patch management. 🎛️
This tool dynamically reads custom source and destination pathways from a local JSON configuration file (path.json) and copies files across directories with automated directory creation and file overwriting.
- 📦 Batch File Copying: Moves multiple files at once based on a structural list defined in an external configuration.
- 📁 Automated Directory Building: If a targeted destination folder structure doesn't exist yet, the tool handles creating the missing folders on the fly.
- 🔄 Forced Overwriting: Automatically overwrites existing files at the destination, making it seamless for rapid patching or development updates.
- 🖥️ UI Status Tracking: Displays clear visual updates on completion status or captures explicit error diagnostics straight to a status bar.
During Flyff development (such as modifying resource structures, source adjustments, SFX/VFX tuning, or managing client/server synchronization), developers frequently need to move compiled binaries or assets (.res, .dll, .exe) from their project's build directory directly into their testing client or resource repository. Doing this manually is tedious and error-prone.
Flyff File Mover streamlines this process:
- 🔍 Reads Config: When the execution button is clicked, it targets a configuration file named
path.json. - 🧩 Deserializes Data: Utilizing the
Newtonsoft.Jsonframework, it maps the JSON arrays down to strong-typed C# object paths (sourceanddestination). - ⚙️ Validates & Executes: It iterates through each path setup, confirms destination directory safety, and copies the source files into place smoothly.
To successfully compile and run this project, ensure you have the following installed on your machine:
- 🏗️ SDK: .NET 6.0 SDK or higher (depending on your project target).
- 💻 IDE/Editor: Visual Studio 2026 with the .NET Desktop Development workload installed (required for Windows Forms designer rendering).
- 📦 NuGet Packages Required:
Newtonsoft.Json
To let the file mover know which assets to manipulate, a file named path.json must exist in the same runtime folder as your compiled application binary.
Create a file named path.json and paste this structure, customizing the paths to match your local developer setup:
{
"files": [
{
"source": "C:\\MyProjects\\Flyff_Source\\Output\\Neuz.exe",
"destination": "C:\\Flyff_Client\\Neuz.exe"
},
{
"source": "C:\\MyProjects\\Flyff_Source\\Output\\data.res",
"destination": "C:\\Flyff_Client\\data.res"
}
]
}This project was made possible by the NukeZero development collective and its contributors. ✨