google-labs-jules[bot] b60e76653d Fix handling of paths containing non-ASCII characters on Windows
- On Windows, paths inputted as arguments are often parsed according to the system's active ANSI code page instead of UTF-8, which breaks Cyrillic and other Unicode characters.
- Modified `src/main.cpp` to use `GetCommandLineW` and convert arguments to UTF-8 on Windows natively.
- Adjusted paths handling in `build_romfs` and `build_pfs0` calls to be strictly passed as UTF-8 encoded strings via `std::filesystem::path::u8string()`.
- Updated `switch-tools/src/pfs0.c` to handle UTF-8 paths internally by utilizing `filepath.h` abstractions (`os_opendir`, `os_fopen`, etc.), just like `romfs.c`, effectively supporting proper UTF-16 Win32 file functions when run on Windows.

Co-authored-by: arabianq <55220741+arabianq@users.noreply.github.com>
2026-03-03 21:38:34 +00:00
2026-01-10 21:21:23 +03:00
2025-11-19 06:27:33 +03:00
2025-11-19 06:12:55 +03:00
2025-11-19 07:34:52 +03:00
2025-03-18 17:47:32 +03:00
2025-11-19 07:34:06 +03:00

English | Русский

build_msp

A tool that helps to build .msp file mod


How to use

Usage: build_msp [OPTIONS]

Options:
  -i, --input <INPUT>        [default: .]
  -o, --output <OUTPUT>      [default: mod.msp]
  -m, --manifest <MANIFEST>  [default: ./manifest]
  -h, --help                 Print help
  -V, --version              Print version

  • --input - the source directory with the mod files
  • --output - path to the .msp file
  • --manifest - path to the manifest

Manifest example

titleid=0100D3F008746000
version=65536
patchset=kpnp_russ
  • titleid - title_id of a game (required)
  • version - recommended game version (optional)
  • patchset- name for the .ips patches directory (optional)

Installing

You can download pre-built binaries from releases page

Building

  1. Install CMake (if not already installed)

  2. Clone this repository (including switch-tools submodule)

    git clone --recursive https://github.com/arabianq/build_msp

  3. Configure the project with CMake cmake .

  4. Build the project make

  5. Done. The executable will be in the current directory.

Notes

  • You can install .msp files only with DBI (Duckbill Installer) 772+. Latest DBI
  • Supports romfs, exefs and ips mods
  • Supports confg.ini and icon.jpg
S
Description
No description provided
Readme MIT 68 KiB
Languages
C++ 90.6%
CMake 9.4%