evandixon/Sky-Editor
43.7
Weak · 3 August 2026
4.9k
lines of production code
VB.NET
primary language
3
measurements over time
What this system is
Sky Editor is a .NET-based desktop application designed for creating and managing ROM hacks for Nintendo DS games. It provides a comprehensive suite of tools for generating cheat codes, patching game files (such as messages, text strings, and animations), and managing flashcart libraries. The system integrates emulator launching and code editing features to support the full workflow of modding and testing game modifications.
How it got here
2015 — Initial project structure and tooling
5 changes.
This period established the foundational architecture for the Sky Editor suite, introducing the core solution structure and key utility applications like the LanguageStringPatcher and Wan Animation Tester. Development focused on setting up the .NET 4.6 environment and implementing initial binary file handling abstractions to support future save editing features.
2016 — WPF migration and localization infrastructure
13 changes.
This period focused on restructuring the WPF application's startup logic and establishing a standardized .NET ResX-based localization system across multiple components, including the main editor, console, and services. Concurrently, new features were introduced for code editing, cheat generation, and flashcart management, while DeSmuMe integration was modularized into a dedicated plugin.
Features
Add LanguageStringPatcher tool for creating and applying text patches
A new standalone executable, LanguageStringPatcher, is introduced to handle text\_X.str files. It supports creating patches between original and edited files, and applying those patches back to the original. The tool includes logic to convert string offsets between US and EU regions, ensuring that patches work regardless of the source region.
LanguageStringPatcher · high confidence
Add Wan Animation Tester utility for previewing ROM hack animations
A new debug console application named Wan Animation Tester has been added to the project. This utility allows users to load and preview animated sprites from ROM hacks, featuring a simple interface to browse for animation files, select specific frames, and toggle zoom settings for better visibility.
Debug Console Applications · high confidence
Added Message-FARC Patcher for creating and applying patches to game message files
The Message-FARC Patcher tool has been added, enabling users to generate and apply patches for FARC archive files containing message data. The tool supports two primary operations: creating a patch file that records differences between a source and an edited FARC archive, and applying a generated patch to an edited archive to produce a final, modified FARC file. The implementation includes classes for handling SIR0 and FARC file structures, parsing and comparing string entries within message binaries, and serializing patch data as JSON.
Message-FARC Patcher · high confidence
Added WPF-specific My namespace extensions and project metadata
The WPF application now includes generated files for assembly metadata, resource management, and application settings. Specifically, MyWpfExtension.vb provides access to WPF-specific My namespace members (such as My.Application, My.Computer, My.User, My.Log, and My.Windows), while AssemblyInfo.vb defines the assembly version (4.0.1.0) and other metadata. Additionally, Resources.Designer.vb and Settings.Designer.vb are added to support strongly-typed resource and settings access for the WPF project.
Sky Editor WPF/My Project · high confidence
Added console commands for creating and opening flashcart files
Users can now manage flashcart files via the console with new commands: 'Flashcart-Create' to generate new flashcart files and 'Flashcart-Open' to load existing ones, allowing users to view library contents, add NDS libraries, and save changes directly from the command line.
SkyEditor.FlashcartManager.Windows · high confidence
Added support for running DeSmuMe with DS Modpack projects
Users can now launch the DeSmuMe emulator directly from the menu for DS Modpack projects. A new 'ProjectRun' action detects when a solution node represents a DSModPackProject and, if a patched ROM exists, triggers DeSmuMe to run it. This integrates the emulator launch capability into the project context menu.
DeSmuMe/MenuActions · high confidence
Initial commit of Sky Editor solution and project structure
The repository was initialized with the complete solution file (Sky Editor.sln) and project definitions for the Sky Editor suite, including the main WPF application, console applications, and various plugin and patcher modules. This establishes the foundational build structure for the editor.
(repo-wide) · high confidence
Introduce core flashcart management classes
Added new classes to manage flashcart operations, including the base \Flashcart\ class for handling cart metadata and library references, a \FlashcartNDSRom\ class for managing NDS ROMs and their associated save files, and a \Library\ base class with serialization support. A specific \NDSFlashcartLibrary\ implementation is also included to handle NDS ROMs stored on flashcarts.
SkyEditor.FlashcartManager · high confidence
Introduced ARDS cheat code generation framework
Added a new ARDS (Action Replay DS) cheat code generation system, including the \Button\ class defining controller inputs, \CheatFormat\ for different cheat formats (Action Replay DS/GBA, Gameshark GBA, Codebreaker GBA), and a \CodeDefinition\ interface for plugins to implement. The \Manager\ class handles code generation logic, region and game filtering, and category grouping. The \CodeGenerator\ UI (XAML and code-behind) provides a dialog for selecting code type, region, game, and category to generate cheats. Localization strings for the generator are added via \Language.resx\ and \Language.Designer.vb\.
CheatGenerator · high confidence
Text editor gains syntax highlighting and auto-complete
The WPF text editor now supports syntax highlighting and auto-completion for code files. A new AvalonEdit-based control provides code completion triggered by specific characters, and a custom highlighter applies syntax rules to the editor, improving the coding experience.
Text Editor.WPF · high confidence
Behavioural changes
Added DeSmuMe project configuration files
The DeSmuMe project now includes its standard Visual Studio My Project configuration files, including Application, AssemblyInfo, Resources, and Settings definitions. This establishes the basic project metadata, resource management, and application settings infrastructure for the DeSmuMe integration.
DeSmuMe/My Project · medium confidence
DeSmuMe integration moved to a dedicated plugin with .NET resource-based localization
The DeSmuMe integration has been moved to its own plugin, ensuring it works with a DS Modpack Project. This change replaces the previous translation support with .NET Resource files (Language.Designer.vb and Language.resx), enabling strongly-typed, localized strings for the plugin (e.g., PluginName, PluginCredits). The DeSmuMe module now handles version detection, extraction, and execution of the DeSmuMe emulator binary.
DeSmuMe · medium confidence
Introduce .NET ResX-based localization and code editing infrastructure
The application's translation support has been replaced with .NET Resource files, introducing a new localization system for strings such as 'Code Files', 'Text Files', and 'Lua Script Files'. This change is accompanied by the addition of a code editing framework, including classes for syntax highlighting (e.g., \CodeFile\, \LuaCodeFile\), auto-complete data structures (\FunctionDocumentation\, \ParameterSet\), and file handling interfaces (\ITextFile\, \ICodeProject\).
CodeFiles · high confidence
Introduced GenericFile class for simplified binary file handling
The patcher now uses a new \GenericFile\ class to manage temporary file operations, providing a cleaner interface for reading and writing raw bytes and text. This change supports the upcoming ability to edit SDF saves, as indicated by the commit message, by abstracting away the low-level file I/O details.
_item\p Patcher · high confidence
Migrated Sky Editor Console to .NET ResX-based localization
The Sky Editor Console application has replaced its previous translation support with .NET ResX resource files. This change introduces new configuration and resource files (App.config, Language.Designer.vb, Language.resx, Resources.Designer.vb, Resources.resx, Settings.Designer.vb, Settings.settings) to manage localized strings and application settings using the standard .NET resource system.
Sky Editor Console · high confidence
Migrated Sky Editor Service to .NET Resource files for localization
The Sky Editor Service now uses .NET ResX resource files (Language.resx, Resources.resx) for managing localized strings, replacing the previous translation support. This change introduces strongly-typed resource classes (Language.Designer.vb, Resources.Designer.vb) that allow the service to look up localized strings, such as the plugin name, using the standard .NET ResourceManager. This ensures consistent handling of user-facing text within the service environment.
DungeonBalance, Sky Editor Service · medium confidence
WPF application entry point and startup logic restructured
The Sky Editor WPF application now uses a dedicated Application class to manage startup and exit sequences, including the execution of StartupHelpers for both initialization and cleanup. Debug mode is configured to enable detailed data binding trace sources for easier troubleshooting. This change establishes the WPF application's entry point, separating application-level events from the core logic.
Sky Editor WPF · medium confidence
Dependencies
Updated project dependencies and build configurations
Multiple projects have been updated to target the .NET Framework 4.6, including CheatGenerator, CodeFiles, DeSmuMe, and others. The NuGet package references for these projects have been synchronized to use specific versions of Newtonsoft.Json (8.0.3), SharpZipLib (0.86.0), and SkyEditor.Core (1.0.15).
(dependencies) · medium confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 44 → 44 (+0.0)
Lenses
- Code Health 95 → 95 (+0.0)
- Architecture 98 → 98 (+0.0)
- Maturity 21 → 21 (+0.0)
- Readiness 32 → 32 (+0.0)
- Security 100 → 100 (+0.0)
Resolved (3)
- Largest orphaned file (CheatGenerator/Library/ARDS.vb)
- Largest orphaned file (CheatGenerator/Library/Helper Methods/Utilities.vb)
- Largest orphaned file (CheatGenerator/Library/SkySave.HeldItems.vb)
Architecture
- Unchanged — 5 containers · 0 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
evandixon/Sky-Editor was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 3 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 72de99675294c2fa4d9dcf9026ee15a6b1d3c755 — the exact code this score is about.
- Scored under rubric-2026.08.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer latest.