5 分钟上手 Tinke:提取和修改 NDS 游戏资源的完整工作流 5 分钟上手 Tinke提取和修改 NDS 游戏资源的完整工作流【免费下载链接】tinkeViewer and editor for files of NDS games项目地址: https://gitcode.com/gh_mirrors/ti/tinke想把某款 NDS 游戏的 BGM 原样提取成 WAV 文件Tinke 是一款开源的 NDS 游戏资源查看器与编辑器能把 ROM 里的图像、音频、文本解析成可直接预览和导出的通用格式还能把你的修改写回成新的 ROM。Tinke 是什么Tinke 的定位很直接打开一份 NDS 游戏 ROM解析它的文件结构然后以图形界面的方式展示里面的所有内容。你把 ROM 丢给它它读出文件分配表FAT生成目录树每个文件按类型交给对应的解析器渲染。它内置对 NCLR、NCGR、NSCR 等瓦片类图像SWAV、SDAT、STRM 等音频BMG、XML 等文本以及 NARC 包、Huffman/LZ77/LZSS/RLE 压缩的支持。图像可以导出为 PNG音频导出为 WAV也能反向操作拿 BMP 替换游戏里的图、拿 WAV 替换游戏里的声音。程序还自带十六进制编辑器基于 Be.Windows.Forms.HexBox支持多语言界面配置在 Tinke/langs/ 下。安装与首次运行第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/ti/tinke第 2 步编译# Windowscmd compile.bat # Linux / macOS ./compile.shWindows 上需要有 .NET Framework 4.5 或 MonoLinux/macOS 用 Mono 编译Linux 建议额外装mono-locale-extras。编译完成后Tinke.exe和全部插件会输出到build/目录直接运行Tinke.exe即可。核心工作流从打开 ROM 到导出资源打开 NDS ROM菜单「File → Open file(s)」选择.nds文件。Tinke 读取 ROM 头和 FAT 表左侧出现文件树顶部显示游戏信息和 banner 缩略图。浏览文件树双击目录逐层展开。ncr_*.bin一类的图像文件会加载瓦片并关联同名调色板直接渲染成预览图音频部分SDAT包会展开成一条可播放的SWAV条目STRM流式音乐直接显示波形BMG、XML等文本文件则按行渲染成表格。一键提取 NDS 图像和音频右键文件或在预览窗口里用「Export」单文件转换图像存成 PNG音频存成 WAV。想整包拿走就选整目录导出它会让你指定目标文件夹批量转完所有可识别文件。编辑文件内容反方向同样走得通BMP 存成 NCLR 瓦片、WAV 存成 SWAV替换原文件。注意替换后的文件字节数不能超出原文件在 ROM 里分配的空间多出来的部分会直接导致游戏报错。保存修改后的 ROM菜单「Save ROM」把全部改动写回一份新 ROM。导出前把原文件复制一份留底这一步没有后悔药。支持的资源格式速查格式用途可导出为NCLR调色板图像/PNGNCGR瓦片图形图像/PNGNSCR屏幕布局图图像/PNGSWAV / STRM音效 / 流式音乐WAVBMG游戏文本包表格/TXTNARC文件归档包整目录导出Huffman / LZ77 / LZSS / RLE压缩数据解压后的原始内容插件机制与扩展主程序本身几乎不做格式解析打开 ROM、画文件树、调度界面这些是 Tinke/PluginHost.cs 的职责每种文件格式都做成独立插件放在 Plugins/ 下每个插件是一个单独的 C# 解决方案.sln启动时由宿主动态加载插件要实现接口定义在 Ekona/IPlugin.cs。插件分两类通用格式插件比如 Plugins/Common/Common/ 负责 PNG、GIF、TGA、WAV 这类通用编解码游戏专属插件比如 Plugins/LAYTON/LAYTON/ 解析《雷顿教授》的GDS、DARC包和动画帧仓库里还有 Kirby、逆转裁判、牧场物语等多款游戏的插件。想加新格式时参考 Plugins/Common/Common/ 里现成的 PNG 插件源码新建一个 C# 插件工程实现IPlugin接口编译输出到build/Plugins/主程序下次启动就会自动加载它。踩坑笔记启动时报缺少Ekona.dll/DSDecmp.dll—— 程序启动时会检查这两个依赖和Tinke.exe同目录。原因通常是编译不完整或只拷了 exe 没拷依赖。解决用compile.bat/compile.sh完整编译别手动挪文件。弹出「Are you sure its a NDS game?」—— 文件头校验或 FAT 解析失败多半是自制 NDS 软件或裁剪过的 ROM 结构不同。解决换一份完整的游戏 ROM 再试。图像显示花屏或颜色错乱—— 调色板没正确关联、16 色/256 色模式选错或数据本身是压缩的没解开。解决用「Open as...」重新指定类型和压缩方式。替换图像时提示必须保存为 4bpp 深度—— 瓦片编辑只认 4bpp 调色板图像256 色的 PNG 不行。解决把替换图存成 16 色 BMP 再导入。项目目录速览Tinke/—— 主程序源码文件树、菜单、十六进制编辑器入口在Tinke/Program.csEkona/—— 格式解析库图像、调色板、纹理的底层编解码都在这里Plugins/—— 各格式与游戏插件每个子目录一个独立解决方案Be.Windows.Forms.HexBox/—— 十六进制查看器组件compile.bat/compile.sh—— 一键编译脚本插件清单在脚本里Tinke/langs/—— 英文、西语、法语、意语界面文件下一步挑一份你手头感兴趣的 NDS ROM把「打开 → 浏览 → 导出 → 保存」完整走一遍先导出几张图和几段音乐。动手改点东西替换菜单文本或标题图改之前复制一份原 ROM用「Save ROM」写回去验证效果。深入插件层通读 Ekona/IPlugin.cs 接口和 Plugins/Common/Common/ 源码为你的目标游戏写一个新插件编译完丢进build/Plugins/就能用。现在就去 build 目录里跑一次 Tinke.exe把第一个 NDS ROM 打开看看。【免费下载链接】tinkeViewer and editor for files of NDS games项目地址: https://gitcode.com/gh_mirrors/ti/tinke创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考