TWiLightMenu:基于任天堂掌机生态的菜单升级替换项目

DSi Menu replacement for DS/DSi/3DS/2DS

Branch5Tags315
FilesLast commitLast update
3 months ago
3 years ago
1 year ago
3 months ago
1 year ago
12 days ago
12 days ago
16 days ago
12 days ago
12 days ago
10 days ago
10 months ago
10 days ago
10 days ago
10 days ago
12 days ago
12 days ago
10 days ago
6 days ago
5 months ago
1 year ago
3 months ago
3 months ago
3 months ago
3 months ago
1 year ago
6 years ago
1 year ago
12 days ago
4 years ago
4 years ago
6 years ago
6 years ago
6 years ago
4 years ago
6 years ago
9 months ago
1 year ago
1 year ago
1 year ago
3 years ago


GBAtemp Thread Discord Server Build status on GitHub Actions Localized on Crowdin

TWiLight Menu++ 是一款面向任天堂 DSi、任天堂 3DS 和任天堂 DS 烧录卡的开源 DSi 菜单升级/替换方案。 它可运行任天堂 DS、任天堂 DSi 和 GameBoy Advance 游戏,并支持 DSTWO 插件(如果你使用 DSTWO)。

附加组件

可额外为 TWiLight Menu++ 添加更多功能。详细信息请参见此页面

编译

环境配置

编译此应用需要 devkitPro 的 devkitARM、libnds、grit 和 mmutil。这些工具可通过 devkitPro pacman 使用以下命令安装:

sudo dkp-pacman -S nds-dev

(注意:命令可能因操作系统而异,可能不需要 sudo,也可能只需使用 pacman。)

克隆

该仓库包含子模块,因此需要递归克隆:

git clone --recursive https://github.com/DS-Homebrew/TWiLightMenu.git

如果你克隆时未拉取子模块,之后可以更新它们:

git submodule update --init --recursive

Building

安装好 devkitPro 工具链后,只需在仓库根目录运行 make package,即可构建整个 TWiLight Menu++。如果你只想构建 TWiLight Menu++ 的特定部分,可以 cd 到对应文件夹并运行 make dist

构建完成后,输出文件会位于 7zfile 文件夹中,其目录结构与官方 TWiLightMenu.7z 构建保持一致。

Using Docker

使用自带的 Docker 镜像,你可以轻松编译 TWiLight Menu++,无需手动配置所需的 devkitARM 版本,直接使用提供的 PowerShell(.ps1)脚本即可。

该脚本也接受 make 参数。例如,.\compile_docker.ps1 clean 会清理所有已编译代码的目录。如果你想构建所有产物,请运行 .\compile_docker.ps1 package

请注意,Docker 编译与 Windows 上的原生编译不兼容。在尝试使用 Docker 构建之前,应运行 .\compile_docker.ps1 clean 清理构建产物。如果系统提示你共享驱动器,必须选择启用驱动器共享,Docker 才能在 Windows 上正常工作。

Manual Pages

手册页面存储在一个独立仓库中,并在构建 TWiLight Menu++ 时从发布版本中下载。更多信息,请参阅 twilight-manual 仓库。

Subfolders

TWiLight Menu++ 由多个“子项目”组成,它们共同协作以创建 DSi Menu 替代程序。仓库中的大多数子文件夹包含各自的代码,这些代码会编译出一个 xxx.nds 文件,该文件通常会被复制到 7z 文件(或 7zfile 文件夹)内部的 /_nds/TWiLightMenu/xxx.srldr 路径下。

  • 3dssplash:打开 3ds 和 cia 文件 (?)
    • 编译为 /_nds/TWiLightMenu/3dssplash.srldr
  • booter:主入口点,使用 SD 卡或 CFW 时由主机加载的第一个文件
    • 生成 /BOOT.nds/title/00030004/53524c41/content/00000000.app(同一个文件)。
  • booter_fc:闪存卡的主入口点
    • 生成 _DS_MENU.datdsedgei.datakmenu4.nds_DSMENU.ndsSCFW.SC 以及其他文件。
  • gbapatcher
  • imageview:类似 DSi 相机的图像查看器(gif、png、bmp)(多媒体附加组件的一部分)
    • /_nds/TWiLightMenu/imageview.srldr
  • manual:TWiLight Menu++ 的使用手册
    • 生成 /_nds/TWiLightMenu/manual.srldr
  • quickmenu:DS Lite 菜单,旧式经典 UI
    • 生成 /_nds/TWiLightMenu/mainmenu.srldr
  • romsel_aktheme:Wood UI 的菜单
    • 生成 /_nds/TWiLightMenu/akmenu.srldr
  • romsel_dsimenutheme:“Nintendo DSi”、“Nintendo 3DS”、“SEGA Saturn”和“Homebrew Launcher” UI 的菜单
    • 生成 /_nds/TWiLightMenu/dsimenu.srldr
  • romsel_r4theme:“R4 Original”和“Gameboy Color” UI 的菜单
    • 生成 /_nds/TWiLightMenu/r4menu.srldr
  • settings:设置菜单
    • 生成 /_nds/TWiLightMenu/settings.srldr
  • slot1launch
    • 生成 /_nds/TWiLightMenu/slot1launch.srldr
  • title:启动画面(默认为任天堂标志)
    • 生成 /_nds/TWiLightMenu/main.srldr

翻译

欢迎在 Crowdin 项目 中协助翻译 TWiLight Menu++。若希望新增一种语言,请在 Discord 服务器 上提出请求。

致谢

主要开发者

  • Rocket Robz:首席开发者
  • chyyran:在重构之前,将 akMenu/Wood UI 移植至 TWiLight Menu++,并为 DSi/3DS UI 增加从 SD 卡加载主题的功能
  • Pk11:为原版 R4 UI 增加从 SD 卡加载自定义主题的功能,引入排序功能,并让说明书使用 PNG 格式,优化字体渲染,为 Unlaunch 提供自定义背景,负责翻译管理,以及修复多项缺陷

次要开发者

  • DieGo:新增对自定义 ROM/文件夹图标的支持,并优化自定义主题
  • lifehackerhansol:改进对烧录卡自启动和内核加载的支持
  • NightScript:清理代码、制定代码规范,为 Wood UI(重构之前)新增烧录卡功能,并制作说明页面
  • asiekierka:来自 nds-miniboot 的 Stargate 3DS 自启动文件

应用启动器

图形与主题

音乐

音效

  • dbry: 来自 adpcm-xq 的 Xtreme Quality IMA-ADPCM 解码器代码。
  • Firexploit: 3DS UI 音效,其中部分也用于 DSi UI。

其他

翻译者

Introduction

DS/DSi/3DS/2DS系统下DSi菜单的替代方案【此简介由AI生成】

Customize your domain
1134.07 K222Visit GitHub