Rance10.ain解析(更新中)

本文記錄了個(gè)人對(duì)“Rance10.ain”解析工作,使用工具為“alice-tools”,版本為0.13.0
段分布
代碼段
與游戲玩法直接相關(guān)的函數(shù)均含有漢字或日文假名
字節(jié)碼文本下載地址:https://pan.baidu.com/s/1TcXoKdWJFuXOOnBN-kchWw?pwd=yyds
T初始化1()
1、除變量加載之外,字節(jié)碼的所有操作運(yùn)算都在棧頂單元之間進(jìn)行,而且運(yùn)算結(jié)果也保存在棧頂
2、.GLOBALREF、.LOCALREF:加載全局/局部變量地址到棧頂
3、.GLOBALASSIGN、.LOCALASSIGN:對(duì)全局/局部變量變量賦值常數(shù)(類似立即數(shù)賦值操作)
4、S_PUSH:加載字符串到棧頂
5、ASSIGN:棧頂賦值到棧頂以下地址處;根據(jù)棧中被賦值變量類型具體存在兩種操作,變量類型由字節(jié)碼解釋執(zhí)行程序的符號(hào)表管理
T初始化2()
類似“T初始化1”,但不涉及卡牌生成與卡牌配置
T第2部初期卡牌配置()
由于第2部可以選擇不同的性別和立繪,單獨(dú)設(shè)置初期卡牌的生成和配置
T初始化3()
類似“T初始化1”,但不涉及tt的初始化和卡牌的初始化
フラグ(string arg0)
1、A_REF:從棧頂?shù)刂芳虞d參數(shù)或局部變量,使用方法如下
2、調(diào)用函數(shù)時(shí),棧頂為最后一個(gè)參數(shù),調(diào)用フラグ確認(rèn)(arg0, "")
3、返回flag的判斷結(jié)果
T確認(rèn)(string arg0)
1、PUSHLOCALPAGE:當(dāng)前函數(shù)的所有參數(shù)&局部變量,以“變量數(shù)組”的形式壓棧
2、調(diào)用フラグ確認(rèn)("",?arg0)
3、返回結(jié)果的地址!
フラグ確認(rèn)(string arg0, string arg1)
1、前兩個(gè)函數(shù)的具體處理函數(shù),arg0保存flag名,arg1保存待確認(rèn)項(xiàng)目名
2、REF:加載全局變量,和賦值一樣,根據(jù)棧中被賦值變量類型具體存在兩種操作
(To be continued...)