#玩游戏# 篇四:从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划
#玩游戏# 篇四:从零开始 打造全能怀旧游戏机 中篇 EmuELEC 高度定制计划
本篇内容来自#我的游戏编年史#有奖征稿活动。说说你的游戏编年史,晒晒你的游戏收藏,和志同道合的值友们一起分享你和游戏的趣事,欢迎参与投稿。>点击了解详情<
零. 前言排骨在初篇给大家介绍了在 N1 上 EmuELEC 的安装和初始设置, 这次中篇排骨给大家再介绍一下 EmuELEC 的前端界面的定制方法.
怀旧游戏千千万, 一个个游戏浏览一遍那记忆中的名字和截图, 就仿佛回到了过去. 如同翻阅着自己的那份童年的热血和欲望 (啥? 你童年的欲望是看 JAV?).
EmuELEC 带的 EmulationStation (ES) 和 RetroArch (RA) 是两个独立的模拟器前端程序. 两者关系如下图.
//am.zdmimg.com/201908/25/5d62ae47b95181192.png_e680.jpg
ES 是纯粹的前端, 通过外调 RA 或其它独立的模拟器运行游戏.
RA 是自带前端的整合型模拟器, 通过调用不同的 Libre 模拟内核运行游戏.
一. 定制 EmuELEC 启动画面准备一张 png, 尺寸最好 1920x1080, 保存为 oemslpash.png (必须是 png 格式! 拿 .jpg 等改名 .png 无法显示!).
//qnam.smzdm.com/201908/25/5d62ae47be4523304.png_e680.jpg
然后把 oemslpash.png 复制到 EmuELEC 的引导分区根目录.
//qnam.smzdm.com/201908/25/5d62ae47ba5d58400.png_e680.jpg
下次重启时就能看到新的启动画面了.
二. 更换 EmulationStation 主题EmuELEC 内置的 ES 主题是 RetroPie 项目中的 ComicBook (见下图).
//qnam.smzdm.com/201908/25/5d62ae47f39278204.jpg_e680.jpg
RetroPie 目前有公布 100 多个主题, 可以在 EmuELEC 系统的 /storage/.config/emuelec/scriptmodules/supplementary/esthemes.sh文件中找到.
//qnam.smzdm.com/201908/25/5d62ae47cd2b4410.png_e680.jpg
排骨以 ES 默认的 Simple 主题为例 (见下图), 演示下如何更换 ES 的主题.
//qnam.smzdm.com/201908/25/5d62ae47dade35964.jpg_e680.jpg
首先从 gayhub 下载 Simple 主题包, 会得到一个 es-theme-simple-master.zip.
//qnam.smzdm.com/201908/25/5d62ae48544101873.jpg_e680.jpg
然后解压出 es-theme-simple-master 文件夹并将其改名为 Simple.
//qnam.smzdm.com/201908/25/5d62ae483b9ec4891.png_e680.jpg
最后将 Simple 文件夹复制到 EmuELEC 系统的 /storage/.emulationstation/themes 文件夹中, 这样你会看到 ComicBook 和 Simple两个主题包在一起了.
//qnam.smzdm.com/201908/25/5d62ae48218198215.png_e680.jpg
现在打开 ES 主菜单, 进入 UI SETTINGS, 就可以将 THEME SET 切换为 Simple 了.
//qnam.smzdm.com/201908/25/5d62ae48340651027.jpg_e680.jpg
三. 添加 EmulationStation 游戏启动图ES 可以在启动游戏时显示指定的启动图, 可以给每个 ROM 指定启动图 (ROM 文件名匹配), 也可以给每个主机平台指定启动图 (主机名匹配). 如果不自己指定, EmuELEC 会用默认选择下图作为启动图.
//qnam.smzdm.com/201908/25/5d62ae4846a524146.jpg_e680.jpg
启动图加载脚本位于 /storage/.config/emuelec/scripts/show_splash.sh.
排骨找了一张 ComicBook 作者做的街机启动图 (splash.png) 和一张街机双截龙II (ddragon2.png) 启动图来给演示.
//qnam.smzdm.com/201908/25/5d62ae48e09cb2507.jpg_e680.jpg
首先创建 /storage/roms/mame 文件夹, 将1943和双截龙I/II的 ROM (文件名为 1943, ddragon.zip, ddragon2.zip) 复制到 mame 中.
//qnam.smzdm.com/201908/25/5d62ae48a3b0c2017.png_e680.jpg
然后再创建 /storage/overlays/splash/ARCADE 文件夹, 可能需要先建 splash 再建 ARCADE (大写). (为什么是 ARCADE 而不是 MAME? 去看 show_splash.sh 的第10行)
最后将街机启动图和双截龙II启动图分别命名为 splash.png 和 ddragon2.png, 一起复制到 /storage/overlays/splash/ARCADE 中.
//qnam.smzdm.com/201908/25/5d62ae491a3ff1172.png_e680.jpg
现在依次启动 1943/双截龙I/双截龙II, 你会看到下图三种启动画面.
//am.zdmimg.com/201908/25/5d62ae489042c5975.jpg_e680.jpg
四. 添加 RetroArch 游戏边框图可以通过 RA 的屏幕图层功能给每个游戏添加一个边框图, 用于消除黑边或者提供游戏提示.
下面两张双截龙II的截图, 下面那张就是增加了边框图的效果.
//qnam.smzdm.com/201908/25/5d62ae4969d292564.jpg_e680.jpg
添加游戏边框图的方法与添加启动图类似, 同样以双截龙II为例, 创建 /storage/overlays/bezels/ARCADE 文件夹, 放入 ddragon2.cfg 和 ddragon2.png 两个文件.
//qnam.smzdm.com/201908/25/5d62ae48bed131214.png_e680.jpg
//qnam.smzdm.com/201908/25/5d62ae49533679660.png_e680.jpg
注: 游戏边框图功能只对 RetroArch 的 Libretro 模拟器有效. 需要更多游戏边框图请搜索 thebezelproject.
五. 定制 EmulationStation 游戏列表ES 是纯粹的前端, 提供用户体验很好的界面, 支持任何模拟器.
ES 默认会查找 /storage/roms 下的主机目录 (见下表), 从每个主机目录中读取 游戏列表 (gamelist.xml文件), 再与主机目录下的 ROM 文件名 (去掉后缀) 匹配后显示出游戏列表结果.
//qnam.smzdm.com/201908/25/5d62ae48bd9aa1801.png_e680.jpg
如果没找到 gamelist.xml 或者 gamelist.xml 中没有相关 ROM 文件的记录, ES 的游戏列表只会列出 ROM 的文件名 (后后续).
//qnam.smzdm.com/201908/25/5d62ae4972b2b2350.jpg_e680.jpg
通过添加并完善 gamelist.xml 文件可以让游戏列表的内容丰富起来.
//qnam.smzdm.com/201908/25/5d62ae495777b1677.jpg_e680.jpg
上图的游戏列表不但显示了 ROM 的中文名称/游戏简介/发布日期/游戏类型/开发公司, 还显示了游戏的标题截图.
下图更是在上面的基础了增加了演示视频!
//qnam.smzdm.com/201908/25/5d62ae4981b672342.jpg_e680.jpg
游戏列表文件 gamelist.xml (注意文件名小写) 的结构很简单, 其中包含一个根节点 gameList 和多个 子节点 game.
//qnam.smzdm.com/201908/25/5d62ae49a96df5468.png_e680.jpg
下图中的火焰之纹章-纹章之迷就是个比较完整的示例.
//qnam.smzdm.com/201908/25/5d62ae49cd1968219.png_e680.jpg
下图是游戏列表的在 ComicBook 和 Simple 主题下的显示效果. Simple 主题比 ComicBook 显示的信息更详细)
//qnam.smzdm.com/201908/25/5d62ae4a199b07708.jpg_e680.jpg
游戏描述不用担心内容过长, 它会滚动显示. 游戏列表最重要的是 path/name/image 三个属性, 其它的只是画蛇点睛而已.
看看下图这个 oldroom 主题的游戏列表是不是帅炸了?!
//qnam.smzdm.com/201908/25/5d62ae4a1ee253821.jpg_e680.jpg
老外做的 ES 主题都不支持中文的游戏列表, 比如 ComicBook 主题的默认字体 Shaka Pow 不能显示中文, 会把中文显示成方块, 我们需要用中文字体替换它. 找一个喜欢的中文字体改名为 Shaka_Pow.ttf 并复制到 /storage/.emulationstation/themes/ComicBook/art 文件夹中, 重启 ES 后就可以正确的显示中文游戏列表了. (排骨在网上找了个二字元心游手绘B简字体代替了 Shaka Pow)
//qnam.smzdm.com/201908/25/5d62ae4a15ab98259.png_e680.jpg
建议在 ES 主菜单的 UI SETTINGS 中将 GAMELIST VIEW STYLE 设置成 AUTOMATIC, 这样可以让游戏列表呈现最好的效果.
//am.zdmimg.com/201908/25/5d62ae49dc23b7242.jpg_e680.jpg
六. 定制 RetroArch 游戏列表EmuELEC 中的 RA 是基于 Libretro 核心的整合型模拟器, 可以脱离 ES 独立使用. 同时也提供了漂亮的用户界面和游戏列表. RA 默认使用仿 PS/PSP 的 xmb 主题.
RA 的菜单支持多语言, 也是需要替换字体来保证中文显示正常. 字体文件路径为 /storage/assets/xmb/monochrome/font.ttf, 排骨找了个华康金刚黑字体替换了.
//qnam.smzdm.com/201908/25/5d62ae4a48e1e298.png_e680.jpg
RA 的游戏列表效果 (xmb主题) 如下面两张图. 主机名称在左上, 有单独的主机图标, 游戏名称和图片.
//qnam.smzdm.com/201908/25/5d62ae4a535a54869.jpg_e680.jpg
//am.zdmimg.com/201908/25/5d62ae4a507498984.jpg_e680.jpg
RA 的游戏列表文件 (lpl) 的默认存放位置是/storage/playlists, 文件名格式为平台名.lpl, 如果游戏列表文件不在下面列表中, 将无法获取对应的主机图标, 会被一个默认小火箭图标代替.
//am.zdmimg.com/201908/25/5d62ae4a84c672402.png_e680.jpg
RA 的游戏列表文件有新旧两种格式, 如下图. 旧格式为六行一组的纯文本, 新格式是 JSON.
//am.zdmimg.com/201908/25/5d62ae4aa92499671.png_e680.jpg
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 名称了. 而游戏相关图片还需要一些额外的步骤.
//qnam.smzdm.com/201908/25/5d62ae48d62991424.png_e680.jpg
RA 默认从 /storage/thumbnails 下读取游戏图片. 需要给每个 lpl 文件建一个名字相当的文件夹. 每个文件夹下面再建议名为 Named_Boxarts/Named_Snaps/Named_Titles 的三个文件夹, 用来存储游戏的包装图/标题图/游戏截图.
//qnam.smzdm.com/201908/25/5d62ae4a7f669653.png_e680.jpg
将游戏的包装图/标题图/游戏截图都成之前 lpl 文件中对应的 label, 后缀必须是 .png. 最终效果如下图.
//qnam.smzdm.com/201908/25/5d62ae4ab7349860.jpg_e680.jpg
RA 还有个 ozone 主题也不错, 风格比较简明紧凑 (如下图). 由于 RA 的主题不能自制, 所以本文不再继续讨论.
//qnam.smzdm.com/201908/25/5d62ae492211431.jpg_e680.jpg
七. 游戏 ROM 相关信息和图片鉴于平台对外部网站连接的限制, 游戏列表中与 ROM 文件对应的相关游戏信息和图片视频等信息请大家自行搜索.
以下是排骨用到的一些平台.
//qnam.smzdm.com/201908/25/5d62ae487f5626470.png_e680.jpg
页:
[1]