0_0_48

 obake   specification   version 

_47は安定版、_48 以降に新機能を実装していく

GE_SaveGrid の処理について>バグ → GE_SaveGrid_EX を追加

マップエディタ用関数 GE_SaveGrid はグリッドに x.TiD を保存していて、オブジェクトIDを保存しない仕様となっている。

一方、ゲームエンジンからグリッドを呼び出した場合、オブジェクトIDを保存しているグリッドなので x.TiD を取得して新しくグリッドを作りこれを INI に保存という工程が必要になる。このバグを修正。

  • マップエディタのグリッドは TiD を保存している
  • ゲームエンジンのグリッドは Object ID を保存している

Check_TypeZero と Check_TypeOne は一応まだ共存しているが、最終的に TypeZero は廃止する予定。操作系が二つあっても一つは使わないし、混乱するためどちらか一つに絞ったほうが良い。

また操作系が二つあることでデバッグも増える。Flick 系の動作は画面が小さいときに誤操作率が高くなるのは避けられないため、画面が大きい人用に作ることも可能だがマンパワー的に今はそれを手がけるべきではないという判断。

MG_Shuffle を少し効率化したのと、MGShuffleCount = (room_speed>>3); を MGShuffleCount = (room_speed>>4); に変更

  • MGShuffleCount = (room_speed>>3);
  • MGShuffleCount = (room_speed>>4);

4の方がスピード感がある。その代わり MG_Shuffle 処理はチェックを甘くして、ファイナライズの時だけゲームボード用の調整を加えた。

TS_CK_Solver(false) に argument を与えて処理を条件によって少し変えるよう変更、初期配置時に Solver を呼び出す必要があったため、これまでは alarm[3] からのみ呼び出していた solver を他から呼び出した場合は 結果判定をBooleanで返すだけの処理も加えた。

TS_CK_Vanish 関数で処理が実行された時に、何個タイルが消されたかカウントしてるけどボード上に何個タイルが残っているか知らせる変数は無かったと思うので追加。そしてその変数の数をトリガーにして、最大値より減っている場合はヒント機能を選択させないようにするなど。

連鎖予定のタイル数をカウントしている PiTCount があるので、それを使って監視できるかも → でもすぐ消えてしまう数値なのでやはり別にカウントしたほうがよさそうと思ったら、現在は PitCount を Score と連動させているためなにも消す処理はしていなかった。都合が良いのでやはりこれを使う > PiTCount → TS_CK_HintDisable(); 関数追加

PiTCount に値を追加するタイミングで TS_CK_HintDisable(); を呼び、押せないことをビジュアルでプレイヤーに通知、内部的には image_index が 0 ではない場合にボタン押しを無効化する処理を PF_Check_VKS 関数に追加。

  if (hint.image_index == 0){
    alarm[2] = SOLverDelay;
    alarm[3] = 1;
      if (PickTiID != noone){
          if (PickTileF == true){
              PF_Set_DepthScale(false);
              PickTileF = false;
              PickTiID  = noone;
          };
      };
  };

ちょっと危なっかしいけれどこれを使って無効化処理できてる。>あとで戻す処理も忘れずに ボタンが押されたときにだけボタンの状態を確認して無効化を判断させたほうが処理的に効率は良いのでこの方法を進める。

  • TS_Ck_Chain_ver1() を削除
  • TS_CK_Rensa() を削除
  • TS_CK_omake() を削除

TS_Ck_Chain_ver1 は TS_Ck_Chain_ver2 の前に施した実装、TS_Ck_Chain_ver2 をベースにしたものが現在の TS_Ck_Chain 処理に置き換わった。

QF_ClearPressed(); 関数を追加、同じタイルを二回クリックで選択した場合、タイルの選択を解除する仕様にした。

QF_ClearPressed(); 関数は選択を解除するための処理一式がまとめられた関数。



次へ

前へ