LoginSignup
0
0
この記事誰得? 私しか得しないニッチな技術で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

DeSmuMEで組み込まれているLua用API 非公式リファレンス ~stateライブラリ~

Posted at

この記事はニンテンドーDS向けエミュレータの一つである「DeSmuME」(以降Desmume)のLua用APIの非公式日本語リファレンスです。今回はstateライブラリについてのリファレンスです。

このリファレンスは非公式の日本語リファレンスです。そもそも英語のリファレンスも公式のリファレンスもありません。
さらに詳細の仕様を確認したい場合はDesmumeのソースコードを参照することを推奨します。
https://github.com/TASEmulators/desmume/blob/master/desmume/src/lua-engine.cpp


savestate.create()
ステートセーブを行いuserdata型で戻す

引数

第一引数
int型 スロット番号(ファイル生成あり)
1~10
userdata型 ファイル生成なし lua完結

戻り値

object

example.lua
local state1,state2

state1 = savestate.create()
state2 = savestate.create()

savestate.save(state1)
emu.frameadvance()
emu.frameadvance()
emu.frameadvance()
savestate.save(state2)
emu.frameadvance()
emu.frameadvance()
savestate.load(state2)
emu.frameadvance()
emu.frameadvance()
savestate.load(state1)

savestate.save()
第一引数にステートセーブを行う

引数

第一引数
int型 スロット番号(ファイル生成あり)
1~10
userdata型 ファイル生成なし lua完結

第二引数にオプションがありますが、コメントアウトになっておりTODOとなっているので実装待ち

戻り値

無し nil

example.lua
local state

state = savestate.create(2)

savestate.save(state)
example.lua
savestate.save(2)

--上のコードと同じ動き

savestate.load()
第一引数のスロットをステートロードする

引数

第一引数
int型 スロット番号(ファイル生成あり)
1~10
userdata型 ファイル生成なし lua完結

第二引数にオプションがありますが、コメントアウトになっておりTODOとなっているので実装待ち

戻り値

無し nil

example.lua
savestate.load(2)

savestate.verify()が用意しようとしている痕跡あり。
代替名も用意しようとしている痕跡あり。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0