看過前兩期的朋友已經知道了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,這樣就可以使用中文名稱了。