metrics.ini的一些特性如下:
一、缺省加載機制
所有延伸主題的metrics.ini內容為何會這麼少也是這個原因,當其延伸主題有缺少省略某些指定描述內容時,系統會試著跑去尋找預設THEME的指定描述內容,如果有就進行加載,反之提出錯誤報告或是系統崩潰;也就是說預設THEME提供所有延伸主題的缺省加載內容,因此我們可以寫出這段簡易的metrics.ini內容:
[Common]
DefaultModifiers=1256% dizzy
(預設所有遊戲模式直接啟動12.56倍速度的dizzy[箭頭旋轉])
這個THEME可以執行喔~!雖然缺了一大堆指定描述內容。
其執行結果就跟預設主題一模一樣,但是改變了遊戲模式的箭頭直接旋轉的效果(可透過遊戲OPTION取消掉),如此證明所有延伸主題都會透過預設主題的metrics.ini描述檔進行缺省加載的機制。
但並不會就把所有缺省的內容就直接加載,如果延伸主題有寫新的描述內容,則程式會以其延伸主題的描述為基準,不會覆蓋成預設主題的描述,例如預設THEME的metrics.ini指定這些描述:
[Common]
ColorP1=0.4,1.0,0.8,1 // sea green
ColorP2=1.0,0.5,0.2,1 // orange
FirstRunInitialScreen=ScreenCompany
InitialScreen=ScreenCompany
WindowTitle=StepMania
DefaultModifiers=
DefaultCpuModifiers=
JoinPauseSeconds=0.8
DifficultiesToShow=beginner,easy,medium,hard,challenge
CourseDifficultiesToShow=easy,regular,difficult
現在我們想構造一個THEME,希望1P的的顏色不是sea green(海洋綠),而是跟2P的顏色一樣是orange(橙色)的。那麼我們只需要在其延伸的THEME寫入以下描述就可以了:
[Common]
ColorP1=1.0,0.5,0.2,1
其他缺省的部分系統會自行加載上去。
TIP://這個代號是註解標記,僅作為說明用,系統會忽略掉代號後面的文字或是描述(限單行)
二、檔案加載機制
如果忽略掉例外的操作不計,STEPMANIA可以加載的檔案如下:
redir(參考檔)
ini(描述檔)
actor(動作檔)
sprite(物件檔)
png
jpg
bmp
gif
avi
mpg
mpeg
txt (3D檔案描述檔)
mp3
ogg
wav
sm(腳譜檔)
一些特殊副檔名的解釋:
1、redir(參考檔)
這是將指定檔案重新定向的文字檔案。
比如現在需要使用一個音樂檔案其名為ScreenSelectMusic difficulty easier(切換到容易難度所發出的音效)提供撥放,那麼系統會先進行尋找ScreenSelectMusic difficulty easier.redir檔案(尋找優先度為第一),如果有就優先讀取,當然其中文字內容可以讀取相對目錄結構的檔案,比如/../XXX.ogg這樣;若是沒有才會試圖尋找ScreenSelectMusic difficulty easier.mp3或是ogg檔案。
但是如果系統同時搜尋到兩個相同檔名但是不同副檔名的檔案時,系統會彈出警告視窗說明模玲兩可的問題,刪除不需要的檔案就可以解決此問題。
2、actor(動作檔)
這類型的檔案比較常在NOTESKIN資料夾中出現,一樣也是文字檔案,其主要描述其載入的檔案以及要做的動作,相當於是BGAnimation.ini的簡化版。
3、sprite(物件檔)
這類型的檔案可以當作動畫檔,其主要描述其載入的檔案以及動畫的畫格以及時間的間距,Frame為指定圖片內的畫像位置數(如何判斷可在Graphics查到說明),Delay為時間間隔,最小可到毫秒(0.001)吧?
4、txt(3D物件描述檔或單純文字檔)
知名的CyberiaStyle主題就是載入這種3D描述文字檔才會背景有3D的物件,其主要是用MilkShape作為txt輸出,3D物件可用比較知名的3D軟體去建模,然後再丟去MilkShape去輸出;如果沒有作為特殊用題的話,只是個文字說明檔而已。
5、ini(描述檔)
最常用在BGAnimation.ini這個檔案,詳細說明可以到BGAnimation查到說明。
(待續....)