fkmのリーディング日記

2008-03-16reading Omega-rpg

続きー

time_clock関数(time.c)

21:47 | time_clock関数(time.c) - fkmのリーディング日記 を含むブックマーク

  • tick++(1秒増加)
  • 60秒超えてたら
    • 毎分のチェック
    • さらに10分おきのチェック
  • プレイヤーの行動が回ってくるまでチェック
    • もし眠ってなくて街中であればp_process実行
  • 街中ならリストにつながってるのをそれぞれ処理

gamestatusp関数

22:04 | gamestatusp関数 - fkmのリーディング日記 を含むブックマーク

マクロでした

#define gamestatusp(flag) ((GameStatus&(flag))?1:0)

p_process関数(command1.c)

22:04 | p_process関数(command1.c) - fkmのリーディング日記 を含むブックマーク

キー入力受付. でかいswitch文がある.

各コマンドは対応する関数が呼ばれる. きっとキャンセルされても時間は経過する仕様っぽい

2008-03-15reading Omega-rpg

こっちでOmega-rpgのソースリーディングにチャレンジ

main関数

22:12 | main関数 - fkmのリーディング日記 を含むブックマーク

  • 引数のチェック
  • シグナルのセット
  • 必要ファイルのチェック
  • 初期化
  • タイトル表示
  • スコア表示
  • ゲームループへ

意外にもシンプル. でも#ifdefでの分岐ばっかで読みにくいorz

init_perm関数

23:29 | init_perm関数 - fkmのリーディング日記 を含むブックマーク

  • user_uidとgame_uidを取得

initgraf関数

23:29 | initgraf関数 - fkmのリーディング日記 を含むブックマーク

グラフィック周りの関数っぽい.

  • load_tilesをフラグによっては呼ぶ
  • initscr
  • 色をなにかする
  • 端末サイズが小さい時はexit
  • フラグによっては色セット
  • いろんなWINDOWをセット

初期化あたりはCursesをそのまま使ってる感じ

initspell関数

01:12 | initspell関数 - fkmのリーディング日記 を含むブックマーク

文字通りの魔法初期化関数

魔法はspell構造体になっていて,

struct spell {
  char known; // 知ってるか
  char id;    // 呪文ID
  char powerdrain; //消費MP
} ;

という感じ. 結構シンプル. spell_regist関数を作ったほうがすっきりするんじゃないかなぁと.

omega_title関数(scr.c)

01:26 | omega_title関数(scr.c) - fkmのリーディング日記 を含むブックマーク

showmotd関数アルファを呼んでるだけ

showmotd関数(file.c)

01:35 | showmotd関数(file.c) - fkmのリーディング日記 を含むブックマーク

displayfile関数を呼んでいるだけ.

displayfile関数(file.c)

20:30 | displayfile関数(file.c) - fkmのリーディング日記 を含むブックマーク

  • テキストファイルを上から順に読み込み表示.
  • 一定行超えたらMoreを表示して入力待ち
  • 全部表示したらDoneを表示して入力待ち

showscore関数(file.c)

20:30 | showscore関数(file.c) - fkmのリーディング日記 を含むブックマーク

  • scoreファイルをロック
  • 変数に読み込み
  • 表示

timeprint関数(scr.c)

21:20 | timeprint関数(scr.c) - fkmのリーディング日記 を含むブックマーク

  • old_monthが0の時はmonth関数戻り値をいれておく
  • 月が変わってある職についてるとき
  • 時間ウィンドウに表示

calc_melee関数(aux1.c)

21:20 | calc_melee関数(aux1.c) - fkmのリーディング日記 を含むブックマーク

キャラクターのステータスの計算

screencheck関数(scr.c)

21:20 | screencheck関数(scr.c) - fkmのリーディング日記 を含むブックマーク

  • 変更の必要があるかチェック
  • 敵とかを描画