拼搏

拼搏

从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划

admin
零. 前言从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划-第1张-游戏-拼搏

排骨在初篇给大家介绍了在 N1 上 EmuELEC 的安装和初始设置, 这次中篇排骨给大家再介绍一下 EmuELEC 的前端界面的定制方法.

怀旧游戏千千万, 一个个游戏浏览一遍那记忆中的名字和截图, 就仿佛回到了过去. 如同翻阅着自己的那份童年的热血和欲望 (啥? 你童年的欲望是看 JAV?).

EmuELEC 带的 EmulationStation (ES) 和 RetroArch (RA) 是两个独立的模拟器前端程序. 两者关系如下图.

ES 是纯粹的前端, 通过外调 RA 或其它独立的模拟器运行游戏.

RA 是自带前端的整合型模拟器, 通过调用不同的 Libre 模拟内核运行游戏.

一. 定制 EmuELEC 启动画面

准备一张 png, 尺寸最好 1920x1080, 保存为 oemslpash.png (必须是 png 格式! 拿 .jpg 等改名 .png 无法显示!).

然后把 oemslpash.png 复制到 EmuELEC 的引导分区根目录.

下次重启时就能看到新的启动画面了.

二. 更换 EmulationStation 主题

EmuELEC 内置的 ES 主题是 RetroPie 项目中的 ComicBook (见下图).

RetroPie 目前有公布 100 多个主题, 可以在 EmuELEC 系统的 /storage/.config/emuelec/scriptmodules/supplementary/esthemes.sh文件中找到.

排骨以 ES 默认的 Simple 主题为例 (见下图), 演示下如何更换 ES 的主题.

首先从 gayhub 下载 Simple 主题包, 会得到一个 es-theme-simple-master.zip.

然后解压出 es-theme-simple-master 文件夹并将其改名为 Simple.

最后将 Simple 文件夹复制到 EmuELEC 系统的 /storage/.emulationstation/themes 文件夹中, 这样你会看到 ComicBook 和 Simple两个主题包在一起了.

现在打开 ES 主菜单, 进入 UI SETTINGS, 就可以将 THEME SET 切换为 Simple 了.

三. 添加 EmulationStation 游戏启动图

ES 可以在启动游戏时显示指定的启动图, 可以给每个 ROM 指定启动图 (ROM 文件名匹配), 也可以给每个主机平台指定启动图 (主机名匹配). 如果不自己指定, EmuELEC 会用默认选择下图作为启动图.

启动图加载脚本位于 /storage/.config/emuelec/scripts/show_splash.sh.

排骨找了一张 ComicBook 作者做的街机启动图 (splash.png) 和一张街机双截龙II (ddragon2.png) 启动图来给演示.

首先创建 /storage/roms/mame 文件夹, 将1943和双截龙I/II的 ROM (文件名为 1943, ddragon.zip, ddragon2.zip) 复制到 mame 中.

然后再创建 /storage/overlays/splash/ARCADE 文件夹, 可能需要先建 splash 再建 ARCADE (大写). (为什么是 ARCADE 而不是 MAME? 去看 show_splash.sh 的第10行)

最后将街机启动图和双截龙II启动图分别命名为 splash.png 和 ddragon2.png, 一起复制到 /storage/overlays/splash/ARCADE 中.

现在依次启动 1943/双截龙I/双截龙II, 你会看到下图三种启动画面.

1943 的 没有匹配的启动图, 用了 splash.png 代替.双截龙I 用不完全匹配的 ddragon2.png 启动, 算是 BUG. 可以修改 show_splash.sh 的第31行解决.双截龙II 完全匹配 ddragon2.png 启动.四. 添加 RetroArch 游戏边框图

可以通过 RA 的屏幕图层功能给每个游戏添加一个边框图, 用于消除黑边或者提供游戏提示.

下面两张双截龙II的截图, 下面那张就是增加了边框图的效果.

添加游戏边框图的方法与添加启动图类似, 同样以双截龙II为例, 创建 /storage/overlays/bezels/ARCADE 文件夹, 放入 ddragon2.cfg 和 ddragon2.png 两个文件.

注: 游戏边框图功能只对 RetroArch 的 Libretro 模拟器有效. 需要更多游戏边框图请搜索 thebezelproject.

五. 定制 EmulationStation 游戏列表

ES 是纯粹的前端, 提供用户体验很好的界面, 支持任何模拟器.

ES 默认会查找 /storage/roms 下的主机目录 (见下表), 从每个主机目录中读取 游戏列表 (gamelist.xml文件), 再与主机目录下的 ROM 文件名 (去掉后缀) 匹配后显示出游戏列表结果.

如果没找到 gamelist.xml 或者 gamelist.xml 中没有相关 ROM 文件的记录, ES 的游戏列表只会列出 ROM 的文件名 (后后续).

通过添加并完善 gamelist.xml 文件可以让游戏列表的内容丰富起来.

上图的游戏列表不但显示了 ROM 的中文名称/游戏简介/发布日期/游戏类型/开发公司, 还显示了游戏的标题截图.

下图更是在上面的基础了增加了演示视频!

游戏列表文件 gamelist.xml (注意文件名小写) 的结构很简单, 其中包含一个根节点 gameList 和多个 子节点 game.

下图中的火焰之纹章-纹章之迷就是个比较完整的示例.

下图是游戏列表的在 ComicBook 和 Simple 主题下的显示效果. Simple 主题比 ComicBook 显示的信息更详细)

游戏描述不用担心内容过长, 它会滚动显示. 游戏列表最重要的是 path/name/image 三个属性, 其它的只是画蛇点睛而已.

看看下图这个 oldroom 主题的游戏列表是不是帅炸了?!

老外做的 ES 主题都不支持中文的游戏列表, 比如 ComicBook 主题的默认字体 Shaka Pow 不能显示中文, 会把中文显示成方块, 我们需要用中文字体替换它. 找一个喜欢的中文字体改名为 Shaka_Pow.ttf 并复制到 /storage/.emulationstation/themes/ComicBook/art 文件夹中, 重启 ES 后就可以正确的显示中文游戏列表了. (排骨在网上找了个二字元心游手绘B简字体代替了 Shaka Pow)

建议在 ES 主菜单的 UI SETTINGS 中将 GAMELIST VIEW STYLE 设置成 AUTOMATIC, 这样可以让游戏列表呈现最好的效果.

六. 定制 RetroArch 游戏列表

EmuELEC 中的 RA 是基于 Libretro 核心的整合型模拟器, 可以脱离 ES 独立使用. 同时也提供了漂亮的用户界面和游戏列表. RA 默认使用仿 PS/PSP 的 xmb 主题.

RA 的菜单支持多语言, 也是需要替换字体来保证中文显示正常. 字体文件路径为 /storage/assets/xmb/monochrome/font.ttf, 排骨找了个华康金刚黑字体替换了.

RA 的游戏列表效果 (xmb主题) 如下面两张图. 主机名称在左上, 有单独的主机图标, 游戏名称和图片.

RA 的游戏列表文件 (lpl) 的默认存放位置是/storage/playlists, 文件名格式为平台名.lpl, 如果游戏列表文件不在下面列表中, 将无法获取对应的主机图标, 会被一个默认小火箭图标代替.

RA 的游戏列表文件有新旧两种格式, 如下图. 旧格式为六行一组的纯文本, 新格式是 JSON.

RA 会把旧格式的 lpl 保存为新的 JSON 格式, 可以把 lpl 改成只读文件来避免被 RA 修改.

游戏列表文件中的 path/label/core_path/core_name/crc32/db_name 分别表示 ROM路径/游戏显示名称/模拟器内核路径/模拟器内核名称/ROM 校验码/列表文件名.

path: 建议用完整路径 (绝对路径) 指向 ROM 文件的位置.

label: 不要在名称中使用 \ / : * ? " < > | 字符, 因为 RA 会用这个 label 去匹配游戏图片. 如果 label 是 1943(?), 对应的图片文件名 1943?.png 不是有效的文件名 (文件名不能包含 ? 号).

core_path/core_name: 填 DETECT 就行了.

crc32/db_name: 留空就行了.

lpl 文件完成后, 就能在 RA 中看到游戏列表和 ROM 名称了. 而游戏相关图片还需要一些额外的步骤.

RA 默认从 /storage/thumbnails 下读取游戏图片. 需要给每个 lpl 文件建一个名字相当的文件夹. 每个文件夹下面再建议名为 Named_Boxarts/Named_Snaps/Named_Titles 的三个文件夹, 用来存储游戏的包装图/标题图/游戏截图.

将游戏的包装图/标题图/游戏截图都成之前 lpl 文件中对应的 label, 后缀必须是 .png. 最终效果如下图.

RA 还有个 ozone 主题也不错, 风格比较简明紧凑 (如下图). 由于 RA 的主题不能自制, 所以本文不再继续讨论.

七. 游戏 ROM 相关信息和图片

鉴于平台对外部网站连接的限制, 游戏列表中与 ROM 文件对应的相关游戏信息和图片视频等信息请大家自行搜索.

以下是排骨用到的一些平台.

标签 psp3000主题怎么更换