ゲームの紹介・ダウンロード   プログラムコードとか

このページについて

主にQueek2のプログラムについて色々と。
気に入ったソースがあれば、お好きに持っていって構いません。改造なども
自由です。全て大文字のところはファイル名などです。タブに全角スペース
を使っているのでそのままコピー貼り付けをするとエラーが出ます。半角か
タブを入れてください。

とりあえずテンプレート

Queek2の基本処理(マップ関数)です。
↓此処からソースコード

mapfunc FUNCNAME(){
  PutPlayer();
  PlayMusic("MUSICNAME.***", 1);
  TransitMap(-1, 10);
  while(1){
    PeekAllMessage();
    //此処に処理を追加
    NormalProcess(1);
  }
}

ブラーとか

DrawTextや、FillRectといった関数を上で紹介した基本処理内で使うと
不思議なことが起こります。実際に試してみると分かりやすいですが、
なにやら定期的にジラジラします。コレの原因はFlipScreenに在ること
が分かりました。NormalProcessの引数を1にすると内部で自動的にFlip
Screen関数を呼び出してくれます。しかしこれだと、ブラーがかかるの
です。
 とりあえず、NormalProcessの引数を0にし、表示、フレーム処理、ゲ
ームオーバー判定などをまとめて関数にし、FlipScreen関数とまとめた
関数を直接基本処理while(1){ }内に入れてみるとブラーが消えます。
…ちょっと面倒ですね。ただ、描画系をしない場合こんなことしなくて
も問題ないです。

Queek2のバグとか

かなり自由度が高く良い点の多いQueek2ですが、いくつかバグがあるので
一応確認できた物だけ挙げておきます。
・弾丸の攻撃力補正がされない
・MP3再生/停止で強制終了することがある(タイミング?)
・Midiでたまに音の欠損、音程のズレ
・キャラクターが移動中の場合GetCharaPosの高さは0が返る(仕様?)
・GetCharaDir関数で強制終了
・Select関数でキャンセル時データ関連付けが行われない(選択肢の数が変化する場合のみ)
・SplitColor関数が機能しない※
・NormalProcess(1)では図形描画がジラ付く
・回復アイテムの表示で%が2つ表示される
※:同じ機能の関数を自作しました。↓

SplitColor関数

2,3,4番目の引数にどうやら代入されないみたいです。
ということで自作してみました。

//code:カラーコード/r,g,b:分解したRGBの格納先
void SplitColorEX(int code, int *r, int *g, int *b){
    *r = code >> 16 & 0xff;
    *g = code >> 8 & 0xff;
    *b = code & 0xff;
}
		

役に立つ(?)プログラム

役に立つであろう関数群です。
txtでプログラムが書かれているので、任意のqcファイルに内容を全てコピー&ペーストして貼り付けて使用してください。
なお、一部改良する必要がある部分があります。そちらはリファレンスを参照してください。
※製作中のRPGから直接引っ張ってきたのでエラーが出る可能性があります。近いうち検証します。
↑検証の結果エラーがいくつか出たので修正しました。
 また、体力グラフ表示関数ではDrawText, FillRect等を使用しているので前述のことをした方がいいかもしれません。
ソースコード
リファレンス(新しくウィンドウを開きます)

inserted by FC2 system