OSDN Git Service

hengbandforosx/hengbandosx.git
7 days agoMerge pull request #4386 from backwardsEric/english-edits-mika-misono
火炎の飛竜 [Thu, 11 Jul 2024 22:41:54 +0000 (07:41 +0900)]
Merge pull request #4386 from backwardsEric/english-edits-mika-misono

English: clarify text for Mika Misono

10 days agoMerge pull request #4399 from habu1010/feature/stack-trace
Habu [Tue, 9 Jul 2024 12:46:08 +0000 (21:46 +0900)]
Merge pull request #4399 from habu1010/feature/stack-trace

[Feature] エラーレポートにコールスタック情報を含める

11 days agoEnglish: clarify text for Mika Misono
Eric Branlund [Sun, 7 Jul 2024 18:34:55 +0000 (12:34 -0600)]
English: clarify text for Mika Misono

May resolve https://github.com/hengband/hengband/issues/4385 .

12 days ago[Chore] Win用リリースパッケージにHengband.pdbを追加
Habu [Sun, 7 Jul 2024 11:54:24 +0000 (20:54 +0900)]
[Chore] Win用リリースパッケージにHengband.pdbを追加

エラーレポートに出力するコールスタック情報を取得するため、プログラム
データベースファイルHengband.pdbをWin用リリースパッケージに含める。

12 days ago[Feature] エラーレポートにコールスタック情報を含める
Habu [Sun, 7 Jul 2024 11:54:24 +0000 (20:54 +0900)]
[Feature] エラーレポートにコールスタック情報を含める

StackTraceクラスを実装し、Windows版でのエラー送信機能で送信する情報に
コールスタック情報を含めるようにする。

13 days agoMerge pull request #4394 from habu1010/feature/fix-crash-when-savefile-load
Habu [Sat, 6 Jul 2024 13:32:07 +0000 (22:32 +0900)]
Merge pull request #4394 from habu1010/feature/fix-crash-when-savefile-load

[Fix] 魔法領域なしの職業のセーブデータで起動するとクラッシュ

13 days ago[Fix] 魔法領域なしの職業のセーブデータで起動するとクラッシュ
Habu [Sat, 6 Jul 2024 13:10:52 +0000 (22:10 +0900)]
[Fix] 魔法領域なしの職業のセーブデータで起動するとクラッシュ

魔法領域なしの時にもPlayerRealm::setで領域をセットしているので、領域の
チェックで例外が発生してしまう。
魔法領域なしの時はPlayerRealm::setを呼ばずに終了するように修正する。

13 days agoMerge pull request #4393 from dis-/feature/fix-0origin-class_magics_info
dis- [Sat, 6 Jul 2024 07:43:19 +0000 (16:43 +0900)]
Merge pull request #4393 from dis-/feature/fix-0origin-class_magics_info

[Refactor] 呪文領域番号を1-originに統一する

13 days ago[Refactor] 呪文領域番号を1-originに統一する
dis- [Sat, 6 Jul 2024 02:03:13 +0000 (11:03 +0900)]
[Refactor] 呪文領域番号を1-originに統一する

一部呪文領域番号を0-originで扱っている箇所を1-originに修正して一貫性を持たせる。
単発の修正のためIssueはなし。

2 weeks agoMerge pull request #4392 from habu1010/feature/fix-realm2-selection-after-change
Habu [Fri, 5 Jul 2024 15:35:04 +0000 (00:35 +0900)]
Merge pull request #4392 from habu1010/feature/fix-realm2-selection-after-change

[Fix] 第2領域変更後の魔法選択がおかしい

2 weeks ago[Fix] 第2領域変更後の魔法選択がおかしい
Habu [Fri, 5 Jul 2024 14:24:41 +0000 (23:24 +0900)]
[Fix] 第2領域変更後の魔法選択がおかしい

第2領域を変更する時、change_realm2内で生成したPlayerRealmオブジェクトで
領域のセットを行っているため、change_realm2を呼び出した側のPlayerRealm
オブジェクトに変更が反映されておらず、変更前の領域が参照されてしまって
いる。
change_realm2に呼び出し側のPlayerRealmオブジェクトを渡すようにして
修正する。

2 weeks agoMerge pull request #4391 from habu1010/feature/refactor-realm-type-to-enum-class
Habu [Fri, 5 Jul 2024 11:36:10 +0000 (20:36 +0900)]
Merge pull request #4391 from habu1010/feature/refactor-realm-type-to-enum-class

[Refactor] 領域の列挙値をenum classにする

2 weeks ago[Refactor] 領域の列挙値をenum classにする
Habu [Fri, 5 Jul 2024 11:22:12 +0000 (20:22 +0900)]
[Refactor] 領域の列挙値をenum classにする

2 weeks agoMerge pull request #4390 from habu1010/feature/delete-is-magic-macro
Habu [Fri, 5 Jul 2024 11:19:10 +0000 (20:19 +0900)]
Merge pull request #4390 from habu1010/feature/delete-is-magic-macro

[Refactor] 魔法領域の種類が呪文か技術かを判定する処理

2 weeks ago[Delete] realm-names-table.cpp/h
Habu [Fri, 5 Jul 2024 10:55:19 +0000 (19:55 +0900)]
[Delete] realm-names-table.cpp/h

空になったrealm-names-table.cppとrealm-names-table.hを削除する。

2 weeks ago[Refactor] 定数VALID_REALMの定義
Habu [Fri, 5 Jul 2024 10:55:19 +0000 (19:55 +0900)]
[Refactor] 定数VALID_REALMの定義

定数VALID_REALMはbirth-select-realm.cppからしか参照されていないので
cppファイルへ移動し、定数名をTOTAL_REALM_NUMに改名する。

2 weeks ago[Refactor] 魔法領域の種類が呪文か技術かを判定する処理
Habu [Fri, 5 Jul 2024 10:55:19 +0000 (19:55 +0900)]
[Refactor] 魔法領域の種類が呪文か技術かを判定する処理

魔法領域が呪文(メイジが選択可能な領域10種)か、技術(歌・武芸・呪術)
かを判定する静的メンバ関数をPlayerRealmクラスに実装し、現在 is_magic
マクロを使用している箇所とEnumRange型の定数直接判定している部分を
置き換える。

2 weeks agoMerge pull request #4389 from habu1010/feature/refactor-get-realm
Habu [Fri, 5 Jul 2024 10:53:51 +0000 (19:53 +0900)]
Merge pull request #4389 from habu1010/feature/refactor-get-realm

[Refactor] 魔法領域の取得処理

2 weeks ago[Fix] 特定の魔法領域かどうかのチェック処理の修正漏れ
Habu [Thu, 4 Jul 2024 14:01:39 +0000 (23:01 +0900)]
[Fix] 特定の魔法領域かどうかのチェック処理の修正漏れ

d43c266 で漏れがあったので修正する。

2 weeks ago[Refactor] 魔法領域の取得処理
Habu [Thu, 4 Jul 2024 14:01:39 +0000 (23:01 +0900)]
[Refactor] 魔法領域の取得処理

PlayerRealm::Realmクラスにメンバ関数 to_enum() を実装し、魔法領域番号を
取得するために直接PlayerRealmクラスのデータメンバrealm1とrealm2に
アクセスしている箇所を置き換える。

2 weeks agoMerge pull request #4387 from habu1010/feature/refactor-set-realm
Habu [Thu, 4 Jul 2024 14:01:05 +0000 (23:01 +0900)]
Merge pull request #4387 from habu1010/feature/refactor-set-realm

[Refactor] 魔法領域のセット処理

2 weeks ago[Refactor] 魔法領域のセット処理
Habu [Thu, 4 Jul 2024 11:56:43 +0000 (20:56 +0900)]
[Refactor] 魔法領域のセット処理

PlayerRealmに魔法領域をセットするメンバ関数 set と魔法領域なしにする
メンバ関数 reset を実装し、PlayerTypeのデータメンバrealm1とrelam2に直接
値をセットしている箇所を置き換える。

2 weeks agoMerge pull request #4384 from habu1010/feature/refactor-get-realm-of-book
Habu [Thu, 4 Jul 2024 10:46:26 +0000 (19:46 +0900)]
Merge pull request #4384 from habu1010/feature/refactor-get-realm-of-book

[Refactor] 魔法書のItemKindTypeから領域を取得する処理

2 weeks ago[Refactor] 本の領域が使用可能領域に合致するかの判定
Habu [Wed, 3 Jul 2024 14:14:36 +0000 (23:14 +0900)]
[Refactor] 本の領域が使用可能領域に合致するかの判定

ItemKindTypeからPlayerRealm::get_realm_of_bookを取得した結果がある
場合は、PlayerRealm::Realm::get_book の結果とItemKindTypeを比較する
のではなく、get_realm_of_bookを取得した結果をPlayerRealm::Realm::equals
でテストするようにする。
このほうがより直感的であり、処理速度もわずかに高速。

2 weeks ago[Refactor] 初期所持の魔法書の決定処理
Habu [Wed, 3 Jul 2024 13:54:53 +0000 (22:54 +0900)]
[Refactor] 初期所持の魔法書の決定処理

PlayerTypeのデータメンバrealm1とrealm2から直接計算するのではなく、
PlayerRealmクラスのメンバ関数get_bookを使用するように変更する。

2 weeks ago[Refactor] 魔法書のItemKindTypeから領域を取得する処理
Habu [Wed, 3 Jul 2024 13:48:24 +0000 (22:48 +0900)]
[Refactor] 魔法書のItemKindTypeから領域を取得する処理

魔法書のItemKindTypeからどの領域かを取得するマクロtval2realmを廃止し、
PlayerRealmクラスの静的メンバ関数get_realm_of_bookで取得するようにする。

2 weeks agoMerge pull request #4383 from habu1010/feature/refactor-get-realm-explanation
Habu [Wed, 3 Jul 2024 13:40:14 +0000 (22:40 +0900)]
Merge pull request #4383 from habu1010/feature/refactor-get-realm-explanation

[Refactor] 領域の説明の取得処理

2 weeks ago[Refactor] 領域の説明の取得処理
Habu [Wed, 3 Jul 2024 13:10:59 +0000 (22:10 +0900)]
[Refactor] 領域の説明の取得処理

領域の説明の取得で、通常の魔法領域と歌・武芸・呪術が同じ配列上に詰めて
配置されているため technic2magic というマクロで無理やり要素番号を計算
して取得している。
これをやめ、まず魔法領域と歌・武芸・呪術で配列を分け、取得はPlayerRealm
クラスにget_explanationとget_subinfoを実装しこのメンバ関数によって行う
ように修正する。

2 weeks agoMerge pull request #4382 from habu1010/feature/encapsulate-spell-info-list
Habu [Wed, 3 Jul 2024 12:46:06 +0000 (21:46 +0900)]
Merge pull request #4382 from habu1010/feature/encapsulate-spell-info-list

[Refactor] SpellInfoListクラスのカプセル化を促進

2 weeks ago[Refactor] SpellInfoListクラスのカプセル化を促進
Habu [Wed, 3 Jul 2024 12:21:26 +0000 (21:21 +0900)]
[Refactor] SpellInfoListクラスのカプセル化を促進

SpellInfoListのデータメンバ spell_info のアクセルレベルをprivateにし、
get_spell_info メソッド経由で情報を取得するようにして実装のカプセル化を
促進する。

2 weeks agoMerge pull request #4381 from habu1010/feature/refactor-spell-name-get
Habu [Wed, 3 Jul 2024 11:57:08 +0000 (20:57 +0900)]
Merge pull request #4381 from habu1010/feature/refactor-spell-name-get

[Refactor] 呪文の名称と説明文の取得処理

2 weeks ago[Refactor] 呪文の名称と説明文の取得処理
Habu [Wed, 3 Jul 2024 11:00:56 +0000 (20:00 +0900)]
[Refactor] 呪文の名称と説明文の取得処理

exe_spellの引数にSpellProcessTypeのNAMEとDESCRIPTIONを指定することにより
呪文の名称と説明文の取得を行うのをやめ、代わりにPlayerRealmクラスに
get_spell_nameとget_spell_descriptionを実装し、これを使用して取得する。

2 weeks ago[Refactor] PlayerRealmクラスの呪文IDの表記揺れを統一
Habu [Wed, 3 Jul 2024 11:00:56 +0000 (20:00 +0900)]
[Refactor] PlayerRealmクラスの呪文IDの表記揺れを統一

呪文IDを示す引数名が num だったり spell_idx だったりしていてあまり
よろしくないので、spell_id に統一する。

2 weeks agoMerge pull request #4380 from dis-/feature/fix-spell-info
dis- [Wed, 3 Jul 2024 10:58:53 +0000 (19:58 +0900)]
Merge pull request #4380 from dis-/feature/fix-spell-info

[Fix] 呪文情報のハードコードを解消する作業のミスを修正

2 weeks agoMerge pull request #4377 from habu1010/feature/reafctor-birth-realm-select
Habu [Wed, 3 Jul 2024 10:57:06 +0000 (19:57 +0900)]
Merge pull request #4377 from habu1010/feature/reafctor-birth-realm-select

[Refactor] キャラメイク時の領域選択処理

2 weeks ago[Fix] 呪文情報のハードコードを解消する作業のミスを修正
dis [Wed, 3 Jul 2024 07:41:51 +0000 (16:41 +0900)]
[Fix] 呪文情報のハードコードを解消する作業のミスを修正

 #4353 #4373 の作業漏れを解消する。

2 weeks ago[Refactor] キャラメイク時の領域選択処理
Habu [Tue, 2 Jul 2024 14:50:46 +0000 (23:50 +0900)]
[Refactor] キャラメイク時の領域選択処理

PlayerTypeクラスのrealm1とrealm2に対する直接アクセスを減らすため、
キャラメイク時の領域選択処理をリファクタリングする。

2 weeks agoMerge pull request #4376 from habu1010/feature/refactor-check-if-specified-realm
Habu [Tue, 2 Jul 2024 14:04:22 +0000 (23:04 +0900)]
Merge pull request #4376 from habu1010/feature/refactor-check-if-specified-realm

[Reafctor] 特定の領域かどうかを調べる判定

2 weeks ago[Refactor] PlayerRealm::Realmのメンバrealmに_を付ける
Habu [Tue, 2 Jul 2024 13:53:47 +0000 (22:53 +0900)]
[Refactor] PlayerRealm::Realmのメンバrealmに_を付ける

引数名とのバッティングを避けるため、データメンバ realm を realm_ に
改名する。

2 weeks ago[Reafctor] 特定の領域かどうかを調べる判定
Habu [Tue, 2 Jul 2024 13:33:10 +0000 (22:33 +0900)]
[Reafctor] 特定の領域かどうかを調べる判定

PlayerRealm::Realmクラスにメンバ関数equalsを実装し、現在PlayerTypeの
データメンバrealm1およびrealm2との直接比較によって特定の領域であるかを
調べている箇所を置き換える。
また、呪術ハイメイジ専用処理で第1領域がREALM_HEXであるかどうかを調べて
いる箇所は特別に多いので、PlayerRealmクラスにメンバ関数is_realm_hexを
実装し、この関数によりチェックするようにする。

2 weeks agoMerge pull request #4375 from habu1010/feature/refactor-check-realm-availability
Habu [Tue, 2 Jul 2024 13:23:19 +0000 (22:23 +0900)]
Merge pull request #4375 from habu1010/feature/refactor-check-realm-availability

[Refactor] 領域が有効か調べる判定

2 weeks agoMerge pull request #4336 from dis-/feature/load_ClassMagicDefinitions_by_magic_name
dis- [Tue, 2 Jul 2024 13:18:56 +0000 (22:18 +0900)]
Merge pull request #4336 from dis-/feature/load_ClassMagicDefinitions_by_magic_name

[Refactor] ClassMagicDefinitionsの魔法読込をidから名称に変更する

2 weeks ago[Refactor] クラス魔法定義ファイルにspell_tagを使用する
dis [Tue, 2 Jul 2024 09:56:02 +0000 (18:56 +0900)]
[Refactor] クラス魔法定義ファイルにspell_tagを使用する

呪文タグを用いることで定義ファイルの可読性を向上させる。

2 weeks ago[Refactor] 領域が有効か調べる判定
Habu [Tue, 2 Jul 2024 12:08:27 +0000 (21:08 +0900)]
[Refactor] 領域が有効か調べる判定

現在 REALM_NONE との比較によって領域が有効(魔法なしではなくなんらかの
魔法領域を使用可能)であるかをチェックしている箇所を、PlayerRealm::Realm
クラスのメンバ関数 is_available() によってチェックするように変更する。

2 weeks agoMerge pull request #4373 from habu1010/feature/fix-spell-spoiler-output
Habu [Tue, 2 Jul 2024 11:46:20 +0000 (20:46 +0900)]
Merge pull request #4373 from habu1010/feature/fix-spell-spoiler-output

[Fix] スポイラーの魔法領域出力の内容がおかしい

2 weeks agoMerge pull request #4374 from dis-/feature/expand_SpellDefinitions
dis- [Tue, 2 Jul 2024 11:42:10 +0000 (20:42 +0900)]
Merge pull request #4374 from dis-/feature/expand_SpellDefinitions

呪文定義ファイルを歌/武芸/呪術を含む形に拡張する

2 weeks ago[Feature] 歌・武芸・呪術の情報のスポイラー出力に対応
Habu [Sun, 30 Jun 2024 15:54:15 +0000 (00:54 +0900)]
[Feature] 歌・武芸・呪術の情報のスポイラー出力に対応

2 weeks ago[Feature] 使用可能な領域のみスポイラーに出力する
Habu [Sun, 30 Jun 2024 15:28:28 +0000 (00:28 +0900)]
[Feature] 使用可能な領域のみスポイラーに出力する

最初から魔法を使用できない職業を除き、使用不可能な領域も含めてすべての
領域の情報を出力してしまっているので、職業ごとに使用可能な領域の情報
のみを出力するようにする。

2 weeks ago[Fix] スポイラーの魔法領域出力の内容がおかしい
Habu [Sun, 30 Jun 2024 15:28:28 +0000 (00:28 +0900)]
[Fix] スポイラーの魔法領域出力の内容がおかしい

off-by-oneエラーによりスポイラーの魔法領域出力の内容がおかしくなっている
ので、正しい内容が出力されるように修正する。

2 weeks ago[Refactor] 歌/武芸/呪術の呪文情報を外部ファイルから取得する
dis [Mon, 1 Jul 2024 07:46:20 +0000 (16:46 +0900)]
[Refactor] 歌/武芸/呪術の呪文情報を外部ファイルから取得する

該当の領域の呪文名と呪文説明文を外部ファイルから取得する。

2 weeks ago[Feature] SpellDefinitions.jsoncに歌/武芸/呪術を含める
dis [Mon, 1 Jul 2024 07:13:27 +0000 (16:13 +0900)]
[Feature] SpellDefinitions.jsoncに歌/武芸/呪術を含める

呪文定義ファイルを拡張して魔術領域以外の職業専門領域も扱うよう変更する。
合わせて読込部分を修正。

2 weeks ago[Feature] PlayerRealm: 職業を指定して魔法情報を取得
Habu [Sun, 30 Jun 2024 15:28:28 +0000 (00:28 +0900)]
[Feature] PlayerRealm: 職業を指定して魔法情報を取得

PlayerRealmクラスの静的メンバ関数 get_spell_info に、指定した職業の
テーブルから魔法情報を取得できるようにする引数を追加する。
引数を省略した場合はこれまで通り現在のプレイヤーの職業のテーブル
(グローバル変数mp_ptrが指している)から魔法情報を取得する。

2 weeks agoMerge pull request #4369 from habu1010/feature/refactor-get-realm-name
Habu [Sun, 30 Jun 2024 14:45:55 +0000 (23:45 +0900)]
Merge pull request #4369 from habu1010/feature/refactor-get-realm-name

[Refactor] 領域の名称の取得方法

2 weeks agoMerge pull request #4371 from hengband/release/3.0.1.16-Beta
Deskull [Sun, 30 Jun 2024 12:11:52 +0000 (21:11 +0900)]
Merge pull request #4371 from hengband/release/3.0.1.16-Beta

[Release] 3.0.1.16-Beta

2 weeks ago[Refactor] 領域の名称の取得方法
Habu [Sun, 30 Jun 2024 10:25:35 +0000 (19:25 +0900)]
[Refactor] 領域の名称の取得方法

領域の名称を realm_names 配列から直接取得するのをやめ、
PlayerRealmクラスのメンバ関数を使用して取得するように変更する。

2 weeks ago[Refactor] LocalizeStringをstructからclassに変更
Habu [Sun, 30 Jun 2024 12:07:32 +0000 (21:07 +0900)]
[Refactor] LocalizeStringをstructからclassに変更

2 weeks ago[Release] 3.0.1.16-Beta
Deskull [Sun, 30 Jun 2024 11:32:12 +0000 (20:32 +0900)]
[Release] 3.0.1.16-Beta

2 weeks agoMerge pull request #4368 from habu1010/feature/refactor-good-attribute-magic-check
Habu [Sun, 30 Jun 2024 10:21:12 +0000 (19:21 +0900)]
Merge pull request #4368 from habu1010/feature/refactor-good-attribute-magic-check

[Refactor] 善良な魔法領域かどうかの判定

2 weeks ago[Refactor] 善良な魔法領域かどうかの判定
Habu [Sun, 30 Jun 2024 09:58:24 +0000 (18:58 +0900)]
[Refactor] 善良な魔法領域かどうかの判定

善良な魔法領域かどうかの判定を行うマクロ is_good_realm を廃止し、
PlayerRealmクラスのメンバ関数 is_good_attribute を代わりに使用する。

2 weeks agoMerge pull request #4364 from habu1010/feature/refactor-realm_choices
Habu [Sun, 30 Jun 2024 09:47:49 +0000 (18:47 +0900)]
Merge pull request #4364 from habu1010/feature/refactor-realm_choices

[Refactor] 魔法領域の選択候補の取得方法

2 weeks ago[Refactor] 魔法領域の選択候補の取得方法
Habu [Sun, 30 Jun 2024 07:19:51 +0000 (16:19 +0900)]
[Refactor] 魔法領域の選択候補の取得方法

魔法領域の選択候補の取得をグローバル配列変数 realm*_choices に直接
アクセスして取得する方法から、PlayerRealmクラスの静的メンバ関数
get_realm*_choices() で取得する方法に変更する。
また、選択候補の表現方法をこれまでのビット列からFlagGroupに変更する。

2 weeks ago[Fix] MAX_REALMの値
Habu [Sun, 30 Jun 2024 08:23:27 +0000 (17:23 +0900)]
[Fix] MAX_REALMの値

他の列挙値で最大値を表すMAXは有効な最大値+1を表しているのに対し、
MAX_REALMは有効な最大値(REALM_HEX)とイコールであり、整合性が取れていない
ので、MAX_REALMを有効な最大値+1にするとともに、名称をREALM_MAXに変更
する。

2 weeks agoMerge pull request #4365 from habu1010/feature/refactor-integrate-realm1-and-2
Habu [Sun, 30 Jun 2024 07:11:34 +0000 (16:11 +0900)]
Merge pull request #4365 from habu1010/feature/refactor-integrate-realm1-and-2

[Feature] PlayerRealm::Realm クラス

2 weeks agoMerge pull request #4362 from habu1010/feature/eliminate-rakubadam
Habu [Sun, 30 Jun 2024 07:10:57 +0000 (16:10 +0900)]
Merge pull request #4362 from habu1010/feature/eliminate-rakubadam

落馬ダメージ処理クラスを作成し、グローバル変数 rakubadam_p, rakubadam_m を削除する

2 weeks ago[Feature] PlayerRealm::Realm クラス
Habu [Sat, 29 Jun 2024 18:40:58 +0000 (03:40 +0900)]
[Feature] PlayerRealm::Realm クラス

PlayerRealmクラスにメンバ関数に第1領域と第2領域用それぞれに
get_realm*_spell_info, get_realm*_book があるが、今後メンバ関数を追加
するごとに第1領域用と第2領域用が増えるのは好ましくない。
これを避けるため、PlayerRealmに領域ごとの処理をする内部クラスRealmを
実装し、上述のメンバ関数を内部クラスに移動する。
PlayerRealm::realm* により第1領域か第2領域のPlayerRealm::Realmクラスの
オブジェクトを返すようにし、それを経由してアクセスするように変更する。

2 weeks agoMerge pull request #4363 from habu1010/feature/refactor-get_realm_book
Habu [Sat, 29 Jun 2024 16:06:35 +0000 (01:06 +0900)]
Merge pull request #4363 from habu1010/feature/refactor-get_realm_book

get_realm*_book をPlayerRealmクラスのメンバ関数にする

2 weeks ago[Refactor] PlayerRealm::get_book
Habu [Sat, 29 Jun 2024 15:30:38 +0000 (00:30 +0900)]
[Refactor] PlayerRealm::get_book

魔法領域に対応する魔法書のItemKindTypeを返す関数 get_book は、魔法領域の
列挙値と魔法書の列挙値の並びが同じになっている事を前提としており
気持ちが悪いので、対応表を定数として定義してそこから算出するように
変更する。
また、元の魔法領域なしの場合に ItemKindType::LIFE_BOOK - 1 を返すという
仕様もおかしいので、魔法領域なしの場合は ItemKindType::NONE を返す
ようにする。

2 weeks ago[Refactor] get_realm*_book をPlayerRealmクラスのメンバ関数にする
Habu [Sat, 29 Jun 2024 15:09:03 +0000 (00:09 +0900)]
[Refactor] get_realm*_book をPlayerRealmクラスのメンバ関数にする

2 weeks ago[Refactor] rakubadam_p, rakubadam_m を削除
Habu [Sat, 29 Jun 2024 14:42:49 +0000 (23:42 +0900)]
[Refactor] rakubadam_p, rakubadam_m を削除

参照している箇所がなくなったので、グローバル変数 rakubadam_p、
rakubadam_m を削除する。

2 weeks ago[Feature] FallOffHorseEffectクラス
Habu [Sat, 29 Jun 2024 14:40:49 +0000 (23:40 +0900)]
[Feature] FallOffHorseEffectクラス

落馬に関する処理を行うFallOffHorseEffectクラスを実装し、project関数の
落馬処理をこのクラス経由で行うようにする。

2 weeks agoMerge pull request #4361 from habu1010/feature/player-realm-class
Habu [Sat, 29 Jun 2024 14:34:18 +0000 (23:34 +0900)]
Merge pull request #4361 from habu1010/feature/player-realm-class

PlayerRealmクラスを作り、魔法情報へのアクセスをカプセル化する

2 weeks ago[Refactor] 魔法情報取得関数の戻り値をポインタから参照に変更
Habu [Sat, 29 Jun 2024 12:47:23 +0000 (21:47 +0900)]
[Refactor] 魔法情報取得関数の戻り値をポインタから参照に変更

2 weeks ago[Refactor] mp_ptr->info,technic_infoへのアクセスをカプセル化
Habu [Fri, 28 Jun 2024 12:30:18 +0000 (21:30 +0900)]
[Refactor] mp_ptr->info,technic_infoへのアクセスをカプセル化

PlayerRealmクラスの get_spell_info, get_1st_realm_spell_info,
get_2nd_realm_spell_info を用いて mp_ptr->info と technic_info への
アクセスを行っている部分をカプセル化する。

2 weeks ago[Feature] PlayerRealmクラス
Habu [Fri, 28 Jun 2024 12:30:18 +0000 (21:30 +0900)]
[Feature] PlayerRealmクラス

PlayerRealmクラスを追加し、指定した領域・魔法IDの情報を得る
静的メンバ関数 get_spell_info() と、プレイヤーの第1領域・第2領域の
指定した魔法IDの情報を得るメンバ関数 get_1st_realm_spell_info()、
get_2nd_realm_spell_info() を実装する。

2 weeks agoMerge pull request #4360 from habu1010/feature/refactor-eliminate-hack_m_idx
Habu [Sat, 29 Jun 2024 12:36:59 +0000 (21:36 +0900)]
Merge pull request #4360 from habu1010/feature/refactor-eliminate-hack_m_idx

グローバル変数 hack_m_idx を削除する

2 weeks agoMerge pull request #4328 from Slimebreath6078/feature/add_mika
火炎の飛竜 [Sat, 29 Jun 2024 12:31:18 +0000 (21:31 +0900)]
Merge pull request #4328 from Slimebreath6078/feature/add_mika

[Add] ユニーク・モンスター「聖園ミカ」を追加

2 weeks ago[Feature] EnumRangeクラスにメンバ関数containsを追加
Habu [Fri, 28 Jun 2024 12:45:51 +0000 (21:45 +0900)]
[Feature] EnumRangeクラスにメンバ関数containsを追加

EnumRange(およびEnumRangeInclusive)クラスに、引数で与えられた値が
範囲に含まれるかどうかを判定するメンバ関数 contains を追加する。

2 weeks ago[Feature] 領域の種別を判定するEnumRange定数を追加
Habu [Sat, 29 Jun 2024 12:26:04 +0000 (21:26 +0900)]
[Feature] 領域の種別を判定するEnumRange定数を追加

魔法書を使用する領域を表す列挙値のうち、通常の10種の魔法領域の範囲を表す
MAGIC_REALM_RANGEと、それ以外の領域(歌・剣術・呪術)の範囲を表す
TECHNIC_REALM_RANGEの定義を追加する。

2 weeks ago[Add] モンスター「聖園ミカ」追加
Slimebreath6078 [Thu, 20 Jun 2024 21:30:38 +0000 (06:30 +0900)]
[Add] モンスター「聖園ミカ」追加

2 weeks ago[Refactor] グローバル変数 hack_m_idx を削除
Habu [Sat, 29 Jun 2024 08:07:51 +0000 (17:07 +0900)]
[Refactor] グローバル変数 hack_m_idx を削除

参照している箇所が無くなったので、グローバル変数 hack_m_idx を削除する。

2 weeks ago[Refactor] set_monster_timewalk のシグネチャ
Habu [Sat, 29 Jun 2024 08:04:29 +0000 (17:04 +0900)]
[Refactor] set_monster_timewalk のシグネチャ

モンスターの時止停止スキルの処理を行う関数 set_monster_timewalk の
シグネチャを変更し、モンスターの種族IDではなくモンスターIDを引数で
受け取るようにする。
こうすることで、hack_m_idx への参照をなくすことができる。

2 weeks ago[Refactor] MonsterTemporaryFlagType::BORN の廃止
Habu [Sat, 29 Jun 2024 07:53:20 +0000 (16:53 +0900)]
[Refactor] MonsterTemporaryFlagType::BORN の廃止

MonsterTemporaryFlagType::BORN は、モンスター達の行動処理のループの
途中で生成されたモンスターが、そのループ内で即座に行動処理されないように
するための一時的なフラグである。
ループ処理を始める前に先に現時点で存在するモンスターをリストアップして
おき、それらに対してのみ処理を行えばフラグを削除することができるので
そのように修正する。

2 weeks agoMerge pull request #4358 from backwardsEric/english-minor-quest-text-changes
dis- [Sat, 29 Jun 2024 09:17:41 +0000 (18:17 +0900)]
Merge pull request #4358 from backwardsEric/english-minor-quest-text-changes

Make minor changes to the English text for two quests

2 weeks agoMerge pull request #4354 from habu1010/feature/refactor-eliminate-hack_m_idx_ii
Habu [Sat, 29 Jun 2024 06:37:56 +0000 (15:37 +0900)]
Merge pull request #4354 from habu1010/feature/refactor-eliminate-hack_m_idx_ii

[Refactor] グローバル変数 hack_m_idx_ii を削除する

2 weeks agoMake minor changes to the English text for two quests
Eric Branlund [Fri, 28 Jun 2024 22:05:10 +0000 (16:05 -0600)]
Make minor changes to the English text for two quests

3 weeks agoMerge pull request #4343 from habu1010/feature/fix-pref-parser
Habu [Fri, 28 Jun 2024 12:16:25 +0000 (21:16 +0900)]
Merge pull request #4343 from habu1010/feature/fix-pref-parser

[Fix] prefファイルのパースで空白があると正しく判定されない

3 weeks agoMerge pull request #4339 from habu1010/feature/refactor-mind-power-array
Habu [Fri, 28 Jun 2024 12:16:04 +0000 (21:16 +0900)]
Merge pull request #4339 from habu1010/feature/refactor-mind-power-array

[Refactor] mind_powers、mind_tips をstd::vectorにする

3 weeks agoMerge pull request #4335 from habu1010/feature/fix-element-spell-list-on-sub-window
Habu [Fri, 28 Jun 2024 12:15:36 +0000 (21:15 +0900)]
Merge pull request #4335 from habu1010/feature/fix-element-spell-list-on-sub-window

[Fix] 元素使いの呪文一覧をサブウィンドウに表示するとクラッシュ

3 weeks agoMerge pull request #4356 from backwardsEric/install-SpellDefinitions
dis- [Fri, 28 Jun 2024 06:09:31 +0000 (15:09 +0900)]
Merge pull request #4356 from backwardsEric/install-SpellDefinitions

configure: install lib/edit/SpellDefinitions.jsonc

3 weeks agoconfigure: install lib/edit/SpellDefinitions.jsonc
Eric Branlund [Thu, 27 Jun 2024 21:23:22 +0000 (15:23 -0600)]
configure: install lib/edit/SpellDefinitions.jsonc

Resolves https://github.com/hengband/hengband/issues/4355 .

3 weeks agoMerge pull request #4352 from backwardsEric/english-death-message-space-after-monster
Habu [Thu, 27 Jun 2024 14:40:57 +0000 (23:40 +0900)]
Merge pull request #4352 from backwardsEric/english-death-message-space-after-monster

English: add space after monster's name for some death/pain messages

3 weeks ago[Refactor] グローバル変数 hack_m_idx_ii を削除する
Habu [Thu, 27 Jun 2024 14:38:30 +0000 (23:38 +0900)]
[Refactor] グローバル変数 hack_m_idx_ii を削除する

グローバル変数 hack_m_idx_ii はモンスターの生成を行う関数によって生成
されたモンスターに、関数呼び出し直後にアクセスする用途で使用されている。
しかし、モンスター生成関数は集団生成などが発生すると内部でネストして
呼び出されることがあり、その中でさらに hack_m_idx_ii が上書きされて
しまう可能性があるため、hack_m_idx_ii が本当に想定している対象の
モンスターを指しているのか疑問が残る。
hack_m_idx_ii の使用箇所に関連するモンスター生成関数の戻り値を単純な
生成に成功したかを示すboolの代わりに成功した場合に生成したモンスターの
IDを std::optional<MONSTER_IDX> で返すようにし、それを使用して
モンスターにアクセスするように変更し、hack_m_idx_ii は削除する。

3 weeks agoMerge pull request #4347 from habu1010/feature/refactor-eliminate-global-variable...
Habu [Thu, 27 Jun 2024 14:36:16 +0000 (23:36 +0900)]
Merge pull request #4347 from habu1010/feature/refactor-eliminate-global-variable-place_monster

[Refactor] place_monster_idx, place_monster_m_idx を削除する

3 weeks agoMerge pull request #4345 from habu1010/feature/refactor-eliminate-chameleon_change_m_idx
Habu [Thu, 27 Jun 2024 14:21:13 +0000 (23:21 +0900)]
Merge pull request #4345 from habu1010/feature/refactor-eliminate-chameleon_change_m_idx

[Refactor] chameleon_change_m_idx を削除する

3 weeks agoMerge pull request #4353 from dis-/feature/add_SpellDefitinions.jsonc
dis- [Thu, 27 Jun 2024 13:41:03 +0000 (22:41 +0900)]
Merge pull request #4353 from dis-/feature/add_SpellDefitinions.jsonc

呪文情報を定義ファイルから取得する

3 weeks agoMerge pull request #4348 from habu1010/feature/refactor-stop-count-by-bool
Habu [Thu, 27 Jun 2024 13:15:10 +0000 (22:15 +0900)]
Merge pull request #4348 from habu1010/feature/refactor-stop-count-by-bool

[Refactor] bool型を直接足し算でカウントするのをやめる

3 weeks ago[Refactor] SpellInfoListを使用してrealm-*を整理
dis [Thu, 27 Jun 2024 11:12:51 +0000 (20:12 +0900)]
[Refactor] SpellInfoListを使用してrealm-*を整理

呪文名と呪文説明のハードコードを解消する。

3 weeks ago[Fix] 呪文領域番号を1-originに合わせる
dis [Thu, 27 Jun 2024 10:22:46 +0000 (19:22 +0900)]
[Fix] 呪文領域番号を1-originに合わせる

呪文領域番号を0-originで使用している部分と1-originで使用している部分がある模様。
将来的には全てどちらかに統一するべきだが、今回は1-originで使用する箇所に合わせて変換する。

3 weeks ago[Refactor] 呪文情報を定義ファイルから取得する
dis [Mon, 24 Jun 2024 11:14:41 +0000 (20:14 +0900)]
[Refactor] 呪文情報を定義ファイルから取得する

呪文名、呪文番号、呪文説明文の情報を定義ファイルから取得する。
取得した情報をシングルトンのSpellInfoListに保存する。

3 weeks ago[Fix] prefファイルのパースで空白があると正しく判定されない
Habu [Wed, 26 Jun 2024 10:57:19 +0000 (19:57 +0900)]
[Fix] prefファイルのパースで空白があると正しく判定されない

188eb7e および 2c32946 で条件式から空文字列の判定を省略してしまった
ため、空白がある時に正しく処理されなくなっている。
元通り空文字列の判定を行うようにする。