cmd-gameoption.h の分割と設計改良
ゲームオプションそのもののグローバル変数が山ほどあるのと(これ自体も何とかしたいがこのチケットでは対処しない)、それほど多くのファイルから呼ばれていないも関わらずangband.h に組み込まれている
全体的な依存関係に大きめの影響を及ぼしていると判断したので分割する
・ゲーム上で「~」を押した時の処理 (do_cmd_*())と、ゲームオプションそのものを分離する
・関数にplayer_type構造体を追加する (以前実施した時は処理しきれなかったが、今なら全体設計を把握しているので処理できる)
・angband.h からcmd-gameoption.h への依存を削除し、インクルード関係を1段階軽くする
オプションを表すグローバル変数類と各種テーブルは全てgame-option/ に隔離した
その上でcmd-gameoption.h への依存を消し、数ヶ月越しにようやくplayer_type 構造体をグローバル変数から引数に変更できた
残ったcmd-gameoption.c は800行未満なので、解体は執行猶予とする
作業完了につきチケットクローズ
ゲームオプションそのもののグローバル変数が山ほどあるのと(これ自体も何とかしたいがこのチケットでは対処しない)、それほど多くのファイルから呼ばれていないも関わらずangband.h に組み込まれている
全体的な依存関係に大きめの影響を及ぼしていると判断したので分割する
・ゲーム上で「~」を押した時の処理 (do_cmd_*())と、ゲームオプションそのものを分離する
・関数にplayer_type構造体を追加する (以前実施した時は処理しきれなかったが、今なら全体設計を把握しているので処理できる)
・angband.h からcmd-gameoption.h への依存を削除し、インクルード関係を1段階軽くする