Ticket #40399

object.h/object1.c/object2.c の分割

Open Date: 2020-05-10 23:57 Last Update: 2021-01-02 21:47

Reporter:
Owner:
Status:
Closed
Component:
(None)
Priority:
3
Severity:
3
Resolution:
Accepted
File:
None

Details

object.h が全ヘッダの中で最も大きく、かつobject1.c とobject2.c で共通になっており扱いづらい

更にangband.h 内でインクルードされており、ほぼ全てのファイルがこのヘッダを参照している

必要なファイルでだけインクルードするように調整することも考慮に入れつつ、ファイル分割を行う

Ticket History (3/6 Histories)

2020-05-10 23:57 Updated by: hourier
  • New Ticket "object.h/object1.c/object2.c の分割" created
2020-05-31 22:35 Updated by: hourier
Comment

第1段階として、object.h からdefine文の山をsv-*-types.h に分割した

第2段階として、object_type 構造体をobject-util.h に分割した

第3段階として、object1.h とobject2.hに分割した

第4段階として、angband.h からobject1.h/object2.h の依存を排除した

(player-status.h がobject-util.h に依存しているので、結局は……という話ではある。しかしobject-util.h は現在object_typeの定義しかないので依存が軽くなったのも事実)

現状、object2.c の方が分量多過なので、第5段階はこちらを片付ける

最終段階はobject1.c の分割を行う予定

(Edited, 2020-05-31 22:35 Updated by: hourier)
2020-06-07 14:00 Updated by: hourier
  • Status Update from Open to Closed
Comment

分割完了

artifact.h やcmd-activate.h への依存度が激しかったので、これらもenumヘッダやtableヘッダに分割した

2020-12-17 18:59 Updated by: deskull
2021-01-02 21:40 Updated by: deskull
  • Resolution Update from None to Fixed
2021-01-02 21:47 Updated by: deskull
  • Resolution Update from Fixed to Accepted

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login