{"id":42557934,"url":"https://github.com/PlatinumMaster/SwissArmyKnife","last_synced_at":"2026-05-19T14:00:59.684Z","repository":{"id":41982230,"uuid":"376642068","full_name":"PlatinumMaster/SwissArmyKnife","owner":"PlatinumMaster","description":"A tool for editing various Generation V formats.","archived":false,"fork":false,"pushed_at":"2023-11-04T05:58:01.000Z","size":384,"stargazers_count":15,"open_issues_count":4,"forks_count":3,"subscribers_count":2,"default_branch":"avalonia","last_synced_at":"2026-03-27T15:59:54.392Z","etag":null,"topics":["gen-5","pokemon","scripting","text-editing"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PlatinumMaster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-06-13T21:17:27.000Z","updated_at":"2025-03-17T19:19:05.000Z","dependencies_parsed_at":"2023-01-30T19:45:17.005Z","dependency_job_id":"a44f13e4-a9db-4839-8e8f-90f81b91a226","html_url":"https://github.com/PlatinumMaster/SwissArmyKnife","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/PlatinumMaster/SwissArmyKnife","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlatinumMaster%2FSwissArmyKnife","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlatinumMaster%2FSwissArmyKnife/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlatinumMaster%2FSwissArmyKnife/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlatinumMaster%2FSwissArmyKnife/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PlatinumMaster","download_url":"https://codeload.github.com/PlatinumMaster/SwissArmyKnife/tar.gz/refs/heads/avalonia","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlatinumMaster%2FSwissArmyKnife/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33219363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T07:54:09.561Z","status":"ssl_error","status_checked_at":"2026-05-19T07:54:08.508Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gen-5","pokemon","scripting","text-editing"],"created_at":"2026-01-28T20:00:26.603Z","updated_at":"2026-05-19T14:00:59.678Z","avatar_url":"https://github.com/PlatinumMaster.png","language":"C#","funding_links":[],"categories":["Game \u0026 Studio Tools"],"sub_categories":["Game Freak"],"readme":"# SwissArmyKnife [![SwissArmyKnife.Avalonia](https://github.com/PlatinumMaster/SwissArmyKnife/actions/workflows/dotnet-desktop.yml/badge.svg)](https://github.com/PlatinumMaster/SwissArmyKnife/actions/workflows/dotnet-desktop.yml)\n\nSwissArmyKnife is a cross-platform ROM editor tailored to the Generation V Pokémon games, written in C#.\n\nThe goal of SwissArmyKnife is to allow editing of the following games (and ONLY the following games):\n- Pokémon White Version (IRA0)\n- Pokémon Black Version (IRB0)\n- Pokémon White 2 Version (IRD0)\n- Pokémon Black 2 Version (IRE0)\n\n***Please note that, at present, only Pokémon Black 2 Version and Pokémon White 2 Version are fully supported! Pokémon Black Version and Pokémon White Version also work, but support for them is limited.***\n\nCurrently, SwissArmyKnife supports editing:\n- Map Containers\n- Text Containers\n- Event and Initialization Scripts\n- Zone Headers\n- Zone Entities (Interactables, NPCs, Triggers, Warps)\n- Encounters (Trainer and Wild)\n\nSwissArmyKnife uses the Hotswap patching system under the hood. \nHotswap is a project-based patching engine which allows for ROM modifications without having to extract a ROM directly. \nThis is done by utilizing the concept of a base ROM, and \"swapping\" any modified files into a separate serialized ROM. \nThis not only allows us to have a smaller disk footprint, but it also allows for easy collaboration on ROM projects while \nproviding a backbone for stability. This should also allow for a future backup system.\n\n# Release Pattern\nStable builds will be marked as such under the `Releases` tab. Nightly builds, currently, are available through the Actions tab. **You must make a GitHub account to download the nightly builds, for now.**\n\n# Usage\nFor usage of the tool, see [here](https://github.com/PlatinumMaster/SwissArmyKnife/wiki). For details on the formats,\nsee [here](https://github.com/PlatinumMaster/BeaterLibrary/wiki).\n**Keep in mind, documentation is a work in progress.**\n\n# Known Issues:\n- Some editors are not fully implemented, or have suboptimal interfaces.\n- Program performance can be improved.\n- Lack of descriptive messages for ROM loading.\n\nAny other issues? Open an issue on this page, and I will look into it.\n\n# Building\n\n* Clone [BeaterLibrary](https://github.com/PlatinumMaster/BeaterLibrary), [NitroSharp](https://github.com/PlatinumMaster/NitroSharp), [Hotswap](https://github.com/PlatinumMaster/Hotswap), and this repository into separate folders,\n  in the same root. So, the folder structure should look something like this:\n```\nroot\n| BeaterLibrary\n| Hotswap\n| NitroSharp\n| SwissArmyKnife\n```\n* Build SwissArmyKnife using Visual Studio, JetBrains Rider, or dotnet. **Note: you will need to install NuGet dependencies\n  for this project to build. Rider and Visual Studio should do this for you automatically.**\n\n# Contributing\nIf you like to help in anyway, fork and submit a pull request, and I'll deal with the rest. \n\n# Credits:\n- PlatinumMaster: Tool programming, research.\n- [Hello007](https://github.com/HelloOO7), [Gonhex](https://github.com/Gonhex), [Bond697](https://github.com/Bond697), [Kaphotics](https://github.com/kwsch): Research.\n- Bromley, recordreader, various members in *Kingdom of DS Hacking*: Testing and feedback.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPlatinumMaster%2FSwissArmyKnife","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPlatinumMaster%2FSwissArmyKnife","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPlatinumMaster%2FSwissArmyKnife/lists"}