RGSSリセットの仕様(推測)

リセット時に行われているだろう処理

  1. 現在の処理の中断
  2. 例外"reset"の発生
  3. Bitmap・Spriteの解放(dispose)
  4. スクリプトの再読み込み(組み込み命令は読み込まれない)
  5. 再開

基本的にグローバル変数等はそのままです。クラス定義・メソッド定義(alias含む)もそのままなので、 起動した直後の状態と全く同じというわけではありません。大半はスクリプトの再読み込みで初期化 されますが、組み込み命令の再定義・aliasを使っている場合やグローバル変数を初期化しないで使った 場合等に問題が起こる事もあります。参考

Bitmap・Spriteオブジェクトは"nil"になるのではなく"dispose"されるだけなので、リセット後に状況を 判断する場合は"nil?"だけでなく"Bitmap#disposed?"等もあわせて確認した方がいいと思います。

使う人は少ないと思いますが"require"はリセット時には読み込まれません (読み込み済みフラグとなる「$"」がそのままであるため)。 リセット後にも読み込みたい場合は"load"等を使ったほうがいいかもしれません。 ただし"require"等で外部のスクリプトをそのまま読み込む方法を用いると、その外部ファイルの書き換えによって 暗号化アーカイブの中のファイルまで抜き出されたりする可能性があります。