看过前两期的朋友已经知道了Retroarch模拟器的游戏列表的编写格式,也可以自己手动编写属于自己的游戏列表了。但是这样的编写方式工作量是比较大的,即便我们进行复制粘贴也需要耗费大量的人力时间,那有没有更为简便的方法呢?当然有!让游戏列表自动生成!
刚开始接触Retroarch模拟器的时候我特意花时间在网上搜索相关的游戏列表编辑器,不过很遗憾国内似乎没人做这个东西,找到的都是跟Retroarch不沾边的编辑器。
倒是国外有个大神做了一个单机网页版的,不太友好的是这个编辑器是编辑lpl文件的,所以你必须自己先做一个列表出来,再用它来编辑里面的数据。
打开编辑器后载入列表可以选择游戏名称、游戏路径以及核心名称(前提要保证lpl文件代码没有错误):
编辑好游戏的相关信息后点击“保存列表”,可以选择模拟器平台,windows版本可以根据实际选择,安卓版就选择/data/data/com.retroarch/cores/*_libretro_android.so
另外有个问题是这款编辑器并没有更新(我是没找着),而Retroarch模拟器一直都有版本更新以及核心的更替,这款编辑器已有的核心名称及路径可能与现版本模拟器对应不上导致游戏运行失败。虽然有编程基础可以自己更改其中的内容,不过对于普通大众还是不太友好。有兴趣的朋友可以搜索“Retroarch模拟器列表编辑器”研究下。
用这款列表编辑器几天后我开始考虑自己写一个,本来想用Python,毕竟语法简单有效率,后来想想还是用批处理方便些,批处理的好处就在这里,只要家里有电脑,不需要下载编辑器也不需要编程基础,拿来就可以用!
我们已经知道列表的编写是一个重复循环的过程,因此,只需要一个简单的批处理就可以帮我们快速完成这个工作。
代码如下:
@echo off & setlocal EnableDelayedExpansion
rem HuanYingGuanZhu JinRiTouTiao TuLeShi
dir *.* /b>filename1.tmp
set name=%~n0
set str="filename1.tmp"
findstr /v %name% "filename1.tmp">filename2.tmp
findstr /v %str% "filename2.tmp">filename.tmp&del /s/q filename1.tmp filename2.tmp
echo {"items":[>liebiao1.tmp
(for /f "delims=" %%a in (filename.tmp)do (
echo {"path":"%%~fa","label":"%%~na","core_path":"DETECT","core_name":"DETECE","crc32":"DETECT","db_name":"DETECT"},
))>>liebiao1.tmp&del /s/q filename.tmp
(for /f "delims=" %%x in (liebiao1.tmp) do (
set "str=%%x"
set "str=!str:\=/!"
echo !str!))>>liebiao2.tmp&del /s/q liebiao1.tmp
for /f "delims= tokens=*" %%a in (liebiao2.tmp) do (
echo;!var!
set var=%%a)>>liebiao.txt
for /f "delims==" %%a in (liebiao2.tmp) do (
set lastline=%%a)
echo %lastline:~0,-1% >>liebiao.txt
echo ]}>>liebiao.txt
del /s/q liebiao2.tmp
使用方法:
1、在电脑上新建一个txt文本文件(文件名称用英文,原因后面会介绍),双击打开后把代码复制粘贴进去并保存为CMD文件(也就是把XXX.txt改为XX.cmd),这样一个“Retroarch模拟器游戏列表自动生成器”就完成了!!
2、把“列表自动生成器”复制到存放游戏的文件夹里,双击运行。
这里假设在我的电脑“D:\RetroArch\ROMS\PCE”文件夹下有10个游戏,我需要把这10个游戏做成列表,把“Retroarch模拟器游戏列表自动生成器”复制到这个文件夹下直接运行就行。
注意:CMD文件需要系统管理员权限运行
运行成功后在该文件夹下秒生成一个liebiao.txt文件:
双击打开,里面已经自动生成了游戏列表代码。
但这时候是txt文件,需要将它改为模拟器的游戏列表文件格式。
3、打开HBuiderX代码编辑器,按照上两篇的方法新建一个空白HTML文件到模拟器playlist文件夹,并改名为xx.lpl,将liebbiao.txt文件的内容复制粘贴并保存。
此时PCE文件夹的游戏列表就做好了,打开Retroarch模拟器选择该列表的其中一个游戏并运行(选择核心运行的方法之前也有介绍)
运行成功之后退出Retroarch模拟器,再用HBuiderX打开PCE.lpl会发现刚才运行的游戏模拟器已经帮我们填好了核心名称和路径(而且格式也改了),其他游戏替换核心路径、名称即可。
最后,说下为什么开始我们做的“Retroarch模拟器游戏列表自动生成器”要用英文名称,那是因为我在代码中引用了cmd文件本身的名称,而TXT文本默认保存编码为UTF-8,如果我们使用的是中文名称,在打开后会显示乱码。
我们可以在windows自带的记事本保存文件时选择编码方式为ANSI,这样就可以使用中文名称了。