Ticket #40477

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

Eröffnet am: 2020-06-13 10:42 Letztes Update: 2021-01-02 20:54

Auswertung:
Verantwortlicher:
Status:
Geschlossen
Komponente:
(Keine)
Priorität:
4
Schweregrad:
4
Lösung:
Gefixt
Datei:
Keine

Details

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

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

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

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

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

Ticket-Verlauf (3/3 Historien)

2020-06-13 10:42 Aktualisiert von: hourier
  • New Ticket "cmd-gameoption.h の分割と設計改良" created
2020-06-13 17:01 Aktualisiert von: hourier
  • Status Update from Offen to Geschlossen
Kommentar

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

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

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

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

2021-01-02 20:54 Aktualisiert von: deskull

Dateianhangliste

Keine Anhänge

Bearbeiten

Please login to add comment to this ticket » Anmelden