ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

RPGツクール2000/2003関連ツール開発用SDK(rpg2kdevSDK)を弄る遊び

昨日は、蚊に噛まれて その痒みで目が醒めてしまいました。
かゆいよー。

不純なゲームの遊び方

先日、フリーで えっちなゲームを見つけて、暇つぶしに遊んでました。
まぁ、背徳の旋律とか、VHゲームとかですね。
ゲームをしながら、よく作りこんでいるなぁ。と感心していたのですが、ちょっと困った問題が。


遊んでいたゲームが、どうも色んなサブシナリオを用意しているようで、作者さんが、どんな話を作りこんだのか知りたくなってきたんですね。
でも、自分にはゲームセンスも無いし、某掲示板の専用板で出てくる話題は、ある程度知った事を前提に書かれていて、どう進めれば良いのか分からない。
(攻略本があったりして非常に助かっているのですが、最新となると…)
下手にフラグを立てると、バグってハニーな状態になる場合や、別のイベントが見られなくなる場合もあるようで、行き当たりばったりも望ましいとは言えない。


中身を知る方法は無いかしらん?と、ぐぐってると、RPGツクール2000だと、体験版で中身を見る事ができる事がわかりました。
やったー。と、眺めて楽しんでいたんですが、ウィンドウを開いては閉じる作業を行うのが、段々億劫になってきた。


もっと簡単に閲覧できるようなビューワか何か無いかしらん?と、更にぐぐっていると、構造を解析している方を見つけました。

ありがたや、ありがたや。


しかも、SDKまで公開して下さっている。

ありがたや、ありがたや。

    ___  
   ,;f     ヽ   
  i:         i
  |         |   ありがたやありがたや
  |        |  ///;ト,
  |    ^  ^ ) ////゙l゙l;
  (.  >ノ(、_, )ヽ、} l   .i .! |   
  ,,∧ヽ !-=ニ=- | │   | .|    
/\..\\`ニニ´ !, {   .ノ.ノ
/  \ \ ̄ ̄ ̄../   / .|

気づき

という訳で、SDKを弄繰り回しながら、遊んでます。
それはともかく、ちょっくら見つけたバグっぽい動きと修正方法をば。


CDimensionクラスのコンストラクタに渡す引数値ですが、256以上を与えると、charにキャストされちゃうみたいです。
例えば↓のように。

CDim2 v(256, 257);
printf("%d %d\n", v.GetX(), v.GetY());

と記述すると、

0 1

が出力されてしまいます。


これをFixするには、CDimensionクラス(CDimension.h)のコンストラクタを、以下のように修正します。

/// コンストラクタ
CDimension(DimType x, ...)
{
    memcpy(m_Dimension, &x, sizeof(m_Dimension));
}

修正すると、以下のように意図された値が出力されます。

256 257

ちなみに

資料とツクールの表示データと比較しながら、どうやったらテキストで取り出せるか試行中…。
という訳で、不純なゲームの遊び方を、研究中です。なはは。