{"id":51005318,"url":"https://github.com/dere3046/rogue_save_editor_unlocktool","last_synced_at":"2026-06-20T20:01:55.147Z","repository":{"id":342054254,"uuid":"1172264395","full_name":"Dere3046/Rogue_Save_Editor_UnlockTool","owner":"Dere3046","description":"A save editor for the game **Streets of Rogue** to read and modify `GameUnlocks.dat` files.","archived":false,"fork":false,"pushed_at":"2026-03-24T14:55:19.000Z","size":34358,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-25T15:40:24.523Z","etag":null,"topics":["game","mono","saveeditor","streetsofrogue","unity","unlocktool"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dere3046.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-04T05:35:04.000Z","updated_at":"2026-03-24T14:57:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Dere3046/Rogue_Save_Editor_UnlockTool","commit_stats":null,"previous_names":["dere3046/streets-of-rogue-save-editor_unlocktool","dere3046/rogue_save_editor_unlocktool"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Dere3046/Rogue_Save_Editor_UnlockTool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FRogue_Save_Editor_UnlockTool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FRogue_Save_Editor_UnlockTool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FRogue_Save_Editor_UnlockTool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FRogue_Save_Editor_UnlockTool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dere3046","download_url":"https://codeload.github.com/Dere3046/Rogue_Save_Editor_UnlockTool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FRogue_Save_Editor_UnlockTool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34583589,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["game","mono","saveeditor","streetsofrogue","unity","unlocktool"],"created_at":"2026-06-20T20:01:51.262Z","updated_at":"2026-06-20T20:01:55.141Z","avatar_url":"https://github.com/Dere3046.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rogue_Save_Editor_UnlockTool\n\nA save editor for the game **Streets of Rogue** to read and modify `GameUnlocks.dat` files.\n\n[中文版](./README_zh.md)\n\n## Features\n- Export binary save file to human-readable JSON format\n- Repack modified JSON back to game-recognized binary format\n- Create new save files from scratch\n- Unlock all items/agents/traits with a single command\n- Modify in-game statistics (nuggets, wins, deaths, etc.)\n\n## Requirements\n\n### Runtime Requirements\n- **Operating System**: Windows 10 version 1607+ (x64) or Windows 11 (x64)\n- **.NET Runtime**: Not required for standalone build (included in executable)\n- **Game DLLs**: Required only for building (not for running standalone build)\n\n### System Compatibility\n\n| System | Supported |\n|--------|-----------|\n| Windows 11 | ✅ Yes |\n| Windows 10 (1607+) | ✅ Yes |\n| Windows 10 (1507-1605) | ❌ No |\n| Windows 8.1 | ❌ No |\n| Windows 7 | ❌ No |\n\n\u003e **Note**: The minimum Windows version is 1607 (build 10.0.14393.0) due to .NET 8.0 requirements.\n\n## Build\n\n### Prerequisites\n- .NET 8.0 SDK\n- Game DLL files in `win_x64/lib/`:\n  - `Assembly-CSharp.dll`\n  - `Assembly-CSharp-firstpass.dll`\n\n### Build Commands\n\n```bash\ncd win_x64\n\n# Debug build\ndotnet build\n\n# Release build\ndotnet build -c Release\n\n# Publish standalone executable (single .exe file)\ndotnet publish -c Release -r win-x64 \\\n  --self-contained true \\\n  -p:PublishSingleFile=true \\\n  -p:IncludeNativeLibrariesForSelfExtract=true \\\n  -o publish_standalone\n```\n\n### Output\n\n| Build Type | Command | Output | Size |\n|------------|---------|--------|------|\n| Debug | `dotnet build` | `bin/Debug/` | ~30 KB (requires .NET) |\n| Release | `dotnet build -c Release` | `bin/Release/` | ~30 KB (requires .NET) |\n| Standalone | `dotnet publish ...` | `publish_standalone/` | ~74 MB (no dependencies) |\n\n## Usage\n\n### Commands\n\n```bash\n# Show help\nUnlockToolConsole.exe\n\n# Load save and export to JSON\nUnlockToolConsole.exe load GameUnlocks.dat \u003e output.json\n\n# Import JSON to create new save\nUnlockToolConsole.exe import input.json GameUnlocks_new.dat\n\n# Export save to JSON file\nUnlockToolConsole.exe json GameUnlocks.dat output.json\n\n# Create new empty save\nUnlockToolConsole.exe create new.dat\n\n# Unlock specific item\nUnlockToolConsole.exe unlock GameUnlocks.dat RobotPlayer Agent\n\n# Unlock everything\nUnlockToolConsole.exe unlockall GameUnlocks.dat\n\n# Lock specific item\nUnlockToolConsole.exe lock GameUnlocks.dat RobotPlayer Agent\n\n# Modify statistics\nUnlockToolConsole.exe stats GameUnlocks.dat nuggets 99999\nUnlockToolConsole.exe stats GameUnlocks.dat wins 100\n\n# List unlocks (optionally filter by type)\nUnlockToolConsole.exe list GameUnlocks.dat\nUnlockToolConsole.exe list GameUnlocks.dat Agent\n```\n\n### Command Aliases\n| Full Command | Alias |\n|-------------|-------|\n| `load` | `l`, `read` |\n| `save` | `s`, `write` |\n| `unlock` | `u` |\n| `unlockall` | `ua`, `all` |\n| `lock` | `lk` |\n| `json` | `j`, `export` |\n| `import` | `i` |\n| `create` | `c`, `new` |\n| `list` | - |\n| `stats` | - |\n\n### Unlock Types\n- `Agent` - Characters (Cop, Guard, Thief, RobotPlayer, etc.)\n- `Trait` - Traits (Strong, Fast, Tough, etc.)\n- `Item` - Items (Pistol, Shotgun, Medkit, etc.)\n- `Floor` - Floors (Floor2, Floor3, Floor4, Floor5)\n- `Challenge` - Challenges (Sandbox, InfiniteAmmo, etc.)\n- `Extra` - Extra unlocks/achievements\n- `BigQuest` - Big Quests\n- `Ability` - Abilities\n- `Loadout` - Loadouts\n\n### Examples\n\n```bash\n# Export save to JSON, edit, then import back\nUnlockToolConsole.exe json GameUnlocks.dat save.json\n# ... edit save.json ...\nUnlockToolConsole.exe import save.json GameUnlocks_modified.dat\n\n# Create a new save with all unlocks\nUnlockToolConsole.exe create full.dat\nUnlockToolConsole.exe unlockall full.dat\n\n# Modify existing save to have 99999 nuggets\nUnlockToolConsole.exe stats GameUnlocks.dat nuggets 99999\n\n# Unlock a specific character\nUnlockToolConsole.exe unlock GameUnlocks.dat Vampire Agent\n\n# View all unlocked agents\nUnlockToolConsole.exe list GameUnlocks.dat Agent\n```\n\n## Project Structure\n```\nRogue_Save_Editor_UnlockTool/\n├── win_x64/                        # Source code\n│   ├── Program.cs                  # Main entry point\n│   ├── GameUnlocksUtility.cs       # Save file utilities\n│   ├── SaveDataDto.cs              # DTO classes for JSON\n│   ├── UnlockToolConsole.csproj    # Project file\n│   ├── lib/                        # Game DLLs (required for build)\n│   │   ├── Assembly-CSharp.dll\n│   │   └── Assembly-CSharp-firstpass.dll\n│   └── data/                       # Sample save file\n│       └── GameUnlocks.dat\n├── README.md                       # This file\n└── README_zh.md                    # Chinese documentation\n```\n\n## Disclaimer\nThis tool is provided for educational and research purposes only. Modifying game save files may lead to corruption or unexpected behavior. Always back up your original files before use. The author assumes no responsibility for any data loss or game issues.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdere3046%2Frogue_save_editor_unlocktool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdere3046%2Frogue_save_editor_unlocktool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdere3046%2Frogue_save_editor_unlocktool/lists"}