Ticket #40477

cmd-gameoption.h の分割と設計改良

Open Date: 2020-06-13 10:42 Last Update: 2021-01-02 20:54

Reporter:
Owner:
Status:
Closed
Component:
(None)
Priority:
4
Severity:
4
Resolution:
Fixed
File:
None

Details

ゲームオプションそのもののグローバル変数が山ほどあるのと(これ自体も何とかしたいがこのチケットでは対処しない)、それほど多くのファイルから呼ばれていないも関わらずangband.h に組み込まれている

全体的な依存関係に大きめの影響を及ぼしていると判断したので分割する

・ゲーム上で「~」を押した時の処理 (do_cmd_*())と、ゲームオプションそのものを分離する

・関数にplayer_type構造体を追加する (以前実施した時は処理しきれなかったが、今なら全体設計を把握しているので処理できる)

・angband.h からcmd-gameoption.h への依存を削除し、インクルード関係を1段階軽くする

Ticket History (3/3 Histories)

2020-06-13 10:42 Updated by: hourier
  • New Ticket "cmd-gameoption.h の分割と設計改良" created
2020-06-13 17:01 Updated by: hourier
  • Status Update from Open to Closed
Comment

オプションを表すグローバル変数類と各種テーブルは全てgame-option/ に隔離した

その上でcmd-gameoption.h への依存を消し、数ヶ月越しにようやくplayer_type 構造体をグローバル変数から引数に変更できた

残ったcmd-gameoption.c は800行未満なので、解体は執行猶予とする

作業完了につきチケットクローズ

2021-01-02 20:54 Updated by: deskull

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login