チケット #40498

player-status.h からplayer-type-definition.h の分離

登録: 2020-06-20 13:14 最終更新: 2020-06-20 13:14

報告者:
担当者:
チケットの種類:
状況:
オープン [担当者決定済み]
コンポーネント:
(未割り当て)
優先度:
3
重要度:
3
解決法:
なし
ファイル:
なし

詳細

関連チケット:#40020

「player_type構造体」と「player-status.cに実装されている関数 (のプロトタイプ宣言)」の間にさして密接な関係がなく、よってangband.h でほぼ全てのヘッダ/ファイルにplayer-status.h をインクルードさせる必要がない

更に今までのリファクタリングでobject_typeやmonster_type等の構造体定義をsystem/ 以下に分離してきたので、本構造体も同様にsystem/player-type-definition.h として分離したい

想定タスクは以下の通り:

第1段階:大量のdefine文をその種別ごとにenumヘッダへ分離する (*-types.h)

第2~第4段階は一気に行う (コンパイルエラーが出るため)

第2段階:player-status.h からplayer-type-definition.h を分離する

第3段階:angband.h でインクルードされているplayer-status.h をplayer-type-definition.h に差し替える

第4段階:player-status.c で定義されている関数を使っているファイルでいくつかインクルードエラーが出るはずなので、改めてそれらのファイルについて個別にplayer-status.h をインクルードする

第5段階:player-type-definition.h 自体が巨大なので、例えばTIME_EFFECT型のフィールドをtime_effect構造体に分離するなどスリム化を進める (← player_ptr->blind をplayer_ptr->time_effect->blind 等に変えないといけないので作業量が膨大)

第4までと第5段階は性質の違う作業なので別チケットに再分離することも検討する

player-status.c の分離と合わせて、deskull氏に実施頂く方向で調整済

先行・並行作業が何か必要であれば実施予定

チケットの履歴 (1 件中 1 件表示)

2020-06-20 13:14 更新者: hourier
  • 新しいチケット "player-status.h からplayer-type-definition.h の分離" が作成されました

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする