さくらシュトラッセ literal record

脚本在scenario.sc里。无压缩无加密的二进制脚本。格式与ぱれっと以前用的引擎的似乎差不多?另外script.sqb也有些系统脚本。
0x25DC60之前的是指令和字串,后面的是不断递增的偏移量。

查找文件时,首先以完整路径查找,不存在的话则将最后一层目录的名字+.pak作为文件名,在上一层目录里查找。这点比较有趣。

对我来说更有趣的或许是……这游戏用的脚本语言是 Squirrel。以前还没怎么留意到Squirrel在实际作品中的应用。
sakura.exe里的字串一大堆都是从Squirrel库里来的。还有不少是libpng和zlib的 = =
(另:顺便把MP也装上了,看了下,脚本引擎不是Squirrel。其中的一些调试字串如SC_Minus、RegisterScriptNamespace等没看出到底原本是什么脚本引擎的。或许是自制的?)

由于在出现错误的时候会写出debug信息,看来可以依靠留在exe里的debug字串来了解这个程序。
引用
CGリストが見つかりませんでした
Graphic load error : Data/system/logo/logo

AN ERROR HAS OCCURED [the index 'getSize' does not exist]

CALLSTACK
*FUNCTION [init()]  line [15]
*FUNCTION [update()]  line [153]
*FUNCTION [onMove()]  line [469]

LOCALS
[this] INSTANCE
[this] INSTANCE
[this] INSTANCE
onMove : SquirrelFunction<> call failed
Graphic load error : Data/system/logo/logo


scenario.dll看来是VC8编译的,不过PEiD 0.94却说nothing found,怪。
scenario.dll: 0x1D370
c:\Users\NSH\Desktop\Program\8th\Source\PlugIn\Scenario\Release\Scenario.pdb

scenario.dll: 0x1CDEO
ファイルが見つからなかった
シナリオ変換中に処理出来ないエラーが発生
keywait
フラグ名は半角しか使用する事ができません
登録済みのフラグを違う型(ローカルからグローバルなど)で再登録しようとしています
フラグ登録の処理でおかしな文字が入っています
gosubの後には,が必要
gosubのラベル名は半角しか使用できません
gosub命令の最後には改行が必要です
gotoの後には,が必要
gotoのラベル名は半角しか使用できません
goto命令の最後には改行が必要です
左辺値にきてはいけないもの(数値または演算子)が左辺値にきています
ifの後には区切り文字(,)が必要です
式の解析中にエラー発生  式の後に区切り文字(,)が必要です
ifの飛び先は半角じゃないとだめ  ifの最後に改行が必要です
@命令のパラメータの区切り文字(,)がない
パラメータ区切り(,)は存在するがパラメータが存在しない
@の命令名に使えるのは半角文字だけです
goto
if
gosub
return
Name
msg
式を処理中にエラーが発生
式の最後には改行が必要です
ラベル名が半角ではない
ラベル名の後には改行が必要です
ラベルは既に登録済み
が登録されていません
フラグ
式で'('に対応した')'が見つかりませんでした
*
行数(%d) : %s命令は未対応の命令です
行数(%d) シナリオ処理中にエラー
saveGlobalFlags
コールスタックがあふれました
コールスタックに関数をつんでいないのにreturnが呼び出されました
範囲外の命令コード
が生成できなかった
SC
が読み込めなかった

你可能感兴趣的:(游戏,脚本,D语言)