OSDN Git Service
Eric Branlund [Mon, 3 Jun 2024 15:20:55 +0000 (09:20 -0600)]
Merge branch 'develop' into macos-develop
Habu [Mon, 3 Jun 2024 13:44:10 +0000 (22:44 +0900)]
Merge pull request #4205 from habu1010/feature/refactor-savefile-character-code
[Refactor] セーブファイルの文字コードをenum class化
Habu [Mon, 3 Jun 2024 13:26:46 +0000 (22:26 +0900)]
[Fix] 一時保存フロアロード時の文字コード差し替えが機能していない
前のコミットの作業中に変数をコピーしてすぐに書き戻すという一見無意味な
コードを発見したので調べたところ、グローバル変数の値を関数冒頭で一旦
書き換えて関数の最後に戻すというコードだったものが、リファクタリングの
ミスにより書き換え前の値をコピーしておくコードが書き戻す直前に移動されて
しまっていることが判明した。
一時保存フロアとロード中のセーブファイルの文字コードが異なるという
状況が具体的にどういうシチュエーションで発生するのかはわからないが、
一応過去の意図通りの動作に修正する。
Habu [Mon, 3 Jun 2024 13:26:46 +0000 (22:26 +0900)]
[Refactor] セーブファイルの文字コードをenum class化
マジックナンバーになっているセーブファイルの文字コードの値を
enum class として定義する。
Hourier [Mon, 3 Jun 2024 13:19:03 +0000 (22:19 +0900)]
Merge pull request #4204 from Hourier/Remove-MonsterRace-2
MonsterRace クラスを廃止してMonsterRaceInfo/MonraceList にメソッドを繰り込んだ
Hourier [Mon, 3 Jun 2024 11:34:16 +0000 (20:34 +0900)]
[Fix] カメレオン等のモンスター名に「?」が付かない不具合を修正した
Hourier [Sun, 2 Jun 2024 05:44:08 +0000 (14:44 +0900)]
[Refactor] #4193 monraces_info をmonster-race-definition.cpp/h に移し、monster-race.cpp/h を廃止した
Hourier [Sun, 2 Jun 2024 05:30:00 +0000 (14:30 +0900)]
[Refactor] #4193 MonsterRace::calc_power() をMonsterRaceInfo に移した
Hourier [Sun, 2 Jun 2024 05:07:18 +0000 (14:07 +0900)]
[Refactor] #4193 MonsterRace::pick_one_at_rondom() をpick_id_at_random() とpick_monrace_at_random() に差し替えた
Hourier [Sun, 2 Jun 2024 04:59:24 +0000 (13:59 +0900)]
[Refactor] #4193 MonsterRace::pick_one_at_random() をMonraceList に移した
Hourier [Sun, 2 Jun 2024 04:49:50 +0000 (13:49 +0900)]
[Refactor] #4193 MonsterRace::empty_id() をMonraceList に移した
Hourier [Sun, 2 Jun 2024 04:39:02 +0000 (13:39 +0900)]
[Refactor] #4193 MonsterRace::is_bounty() をMonsterRaceInfo に移した
Hourier [Mon, 3 Jun 2024 10:52:52 +0000 (19:52 +0900)]
Merge pull request #4198 from Hourier/Make-InnerGameData
InnerGameData クラスを作ってPlayerType/AngbandWorld の依存性を下げた
Hourier [Mon, 3 Jun 2024 09:39:09 +0000 (18:39 +0900)]
Merge pull request #4201 from whitehara/update-spec
Update hengband.spec
whitehara [Sun, 2 Jun 2024 14:51:18 +0000 (16:51 +0200)]
Update hengband.spec
Eric Branlund [Sun, 2 Jun 2024 14:01:07 +0000 (08:01 -0600)]
Merge branch 'develop' into macos-develop
Deskull [Sun, 2 Jun 2024 13:15:52 +0000 (22:15 +0900)]
Merge pull request #4200 from sikabane-works/release/3.0.1.13-Beta
Release/3.0.1.13 beta
Deskull [Sun, 2 Jun 2024 13:15:36 +0000 (22:15 +0900)]
Merge pull request #4199 from sikabane-works/release/3.0.1.13-Beta
[Release] 3.0.1.13-Beta
Deskull [Sun, 2 Jun 2024 12:53:34 +0000 (21:53 +0900)]
[Release] 3.0.1.13-Beta
Hourier [Sat, 1 Jun 2024 13:42:58 +0000 (22:42 +0900)]
[Refactor] #3783 exe_write_diary() の引数をPlayerType からFloorType に変えた
Hourier [Sat, 1 Jun 2024 12:54:24 +0000 (21:54 +0900)]
[Refactor] #3783 PlayerType::start_race とAngbandWorld::game_turn_limit をInnerGameData に移した
Hourier [Sat, 1 Jun 2024 12:18:55 +0000 (21:18 +0900)]
[Refactor] #3783 InnerGameData クラスを作った
Hourier [Sun, 2 Jun 2024 10:40:44 +0000 (19:40 +0900)]
Merge pull request #4191 from Hourier/Move-IsValid-MonsterRaceInfo-1
MonraceRace::is_valid() を廃止してMonsterEntity/MonsterRaceInfo/MonraceList に分散させた
Habu [Sun, 2 Jun 2024 10:36:56 +0000 (19:36 +0900)]
Merge pull request #4184 from habu1010/feature/improve-message-history
[Refactor] メッセージ履歴の繰り返しの保持方法の変更
Hourier [Sat, 1 Jun 2024 07:21:42 +0000 (16:21 +0900)]
[Refactor] #4127 MonsterRace::is_valid() を廃止した
Hourier [Sat, 1 Jun 2024 07:14:40 +0000 (16:14 +0900)]
[Refactor] #4127 QuestType::get_bounty() を実装し、MonsterRace::is_valid() をを使わないようにメソッドを差し替えた
Hourier [Sat, 1 Jun 2024 07:11:28 +0000 (16:11 +0900)]
[Refactor] #4127 MonsterRaceInfo::get_next() を実装し、MonsterRace::is_valid() をを使わないようにメソッドを差し替えた
Hourier [Sat, 1 Jun 2024 07:05:26 +0000 (16:05 +0900)]
[Refactor] #4127 MonsterRaceInfo::is_valid() を定義し、MonsterEntity::is_valid() と共にMonsterRace::is_valid() を使わないようにメソッドを差し替えた
Hourier [Sat, 1 Jun 2024 05:03:59 +0000 (14:03 +0900)]
[Refactor] #4127 乱数でMonsterRaceId を直接生成している箇所、及びmonrace_id が引数になっている関数のモンスター種族有効性判定をMonraceList::is_valid() に繰り込んだ
Hourier [Sat, 1 Jun 2024 03:22:02 +0000 (12:22 +0900)]
[Refactor] #4127 dungeon_type にis_dungeon()、has_guardian()、get_guardian() を追加し、MonsterRace への依存性をなくした
Eric Branlund [Sun, 2 Jun 2024 03:34:54 +0000 (21:34 -0600)]
Merge branch 'develop' into macos-develop
Hourier [Sun, 2 Jun 2024 01:37:13 +0000 (10:37 +0900)]
Merge pull request #4185 from Hourier/Make-FloorChangeModesStore
FloorChangeModesStore クラスを作ってPlayerType::change_floor_mode を廃止した
Habu [Sun, 2 Jun 2024 01:36:57 +0000 (10:36 +0900)]
Merge pull request #4186 from habu1010/feature/refactor-lore-skill-info
[Refactor] モンスターに関する情報の表示処理
Hourier [Sat, 1 Jun 2024 05:36:10 +0000 (14:36 +0900)]
[Refactor] VS2022のコンパイル警告を解消した
Hourier [Sat, 1 Jun 2024 02:01:36 +0000 (11:01 +0900)]
[Refactor] #4145 PlayerTypeに依存しなくなった関数のシグネチャを変えた
Hourier [Sat, 1 Jun 2024 01:35:03 +0000 (10:35 +0900)]
[Refactor] #4145 PlayerType::change_floor_mode を廃止してFloorChangeModesStore に移した
Hourier [Fri, 31 May 2024 23:41:39 +0000 (08:41 +0900)]
[Refactor] #4145 FloorChangeModesStore クラスに必要なメソッドを実装した
Habu [Sat, 1 Jun 2024 23:20:36 +0000 (08:20 +0900)]
[Refactor] モンスターの詳細情報を得られるかの関数名変更
関数 know_armour はその名称に反して HP、AC、スキルダメージの量 を
表示するかどうかに使用されており実態に則していないので、know_detailsに
関数名を変更する。
あわせて、スキルダメージではなく打撃攻撃のダメージダイスを表示するか
どうかを判定する関数をknow_damage から know_blow_damage に変更する。
Habu [Sat, 1 Jun 2024 03:29:20 +0000 (12:29 +0900)]
[Refactor] モンスターに関する情報の表示処理
モンスターに関する情報の表示処理において、表示するモンスターの能力を
保持する方法を、生配列とインデックスの組み合わせから構造体のstd::vectorに
変更する。
Habu [Sun, 2 Jun 2024 01:19:36 +0000 (10:19 +0900)]
Merge pull request #4190 from habu1010/feature/check-too-new-savefile-version
[Feature] 新しいバージョンのセーブデータを読み込まないようにする
Habu [Sun, 2 Jun 2024 00:06:57 +0000 (09:06 +0900)]
[Feature] 新しいバージョンのセーブデータを読み込まないようにする
おかしなデータでゲームが再開できてしまうのを防ぐため、セーブデータの
バージョンが現在のプログラムで想定されるものより新しい場合は読み込みを
中断しゲームを終了する。
Habu [Sat, 1 Jun 2024 00:26:03 +0000 (09:26 +0900)]
[Refactor] メッセージ履歴の繰り返しの保持方法の変更
繰り返し回数をメッセージ文字列の一部として保持するのではなく、
メッセージ文字列本体と繰り返し回数を別々に保持するように変更する。
Hourier [Fri, 31 May 2024 23:25:46 +0000 (08:25 +0900)]
[Refactor] #4145 FloorChangeModesStore クラスを作った
Hourier [Fri, 31 May 2024 23:16:29 +0000 (08:16 +0900)]
Merge pull request #4178 from Hourier/Change-RandomArtBiasType-EnumClass
random_art_bias_type をenum からenum class に変えた
Hourier [Fri, 31 May 2024 23:05:42 +0000 (08:05 +0900)]
[Refactor] monster-group-table.h からlanguage-switcher.h のインクルードをcpp に変えた
言語切替マクロが_() の時はcpp からのインクルードでも良いが、'ifdef JP/ifndef JP'で切り替える時は言語のマクロ定義が見えないと強制的に英語モードになるという基本設計のため
Habu [Fri, 31 May 2024 23:02:17 +0000 (08:02 +0900)]
Merge pull request #4182 from habu1010/feature/fix-hex-spell-revenge
[Fix] 呪術魔法の我慢が正常に機能していない
Hourier [Thu, 30 May 2024 12:01:37 +0000 (21:01 +0900)]
[Refactor] #4177 random_art_bias_type をenum class RandomArtifactBias に変えた
Hourier [Thu, 30 May 2024 11:44:29 +0000 (20:44 +0900)]
[Refactor] #4177 artifact_bias_name をARTIFACT_BIAS_NAMES に変えた
Hourier [Thu, 30 May 2024 11:44:01 +0000 (20:44 +0900)]
[Refactor] #4177 artifact_bias_name をconcptr[] からmap に変えた
Habu [Fri, 31 May 2024 22:21:55 +0000 (07:21 +0900)]
[Refactor] モンスターの攻撃後のテレポート処理
モンスターが金を盗むなどの攻撃をプレイヤーに行った後テレポートする処理は
どう考えてもSpellHexクラスのメソッドでやるべき内容ではないので、
MonsterAttackPlayerクラスに処理を移動する。
Habu [Fri, 31 May 2024 22:09:16 +0000 (07:09 +0900)]
[Fix] 呪術魔法の我慢が正常に機能していない
SpellHexクラスのMonsterAttackPlayer*を第2引数に受け取るコンストラクタで
メンバ変数spell_hex_dataを正しく初期化していないため、このコンストラクタで
生成したオブジェクト経由では正しくダメージが蓄積されない。
これが原因で、モンスターの直接攻撃によるダメージが我慢の反撃ダメージに
蓄積されていなかった。
また、魔法やブレスによる攻撃はこのコンストラクタを使用していないため
正しく蓄積が機能していた。
そもそもMonsterAttackPlayer*をメンバに持つほどの必要性が感じられないので、
このコンストラクタを削除し、現在MonsterAttackPlayer*を使用している
メソッドには直接必要な引数を渡すようにする。
Eric Branlund [Fri, 31 May 2024 18:45:53 +0000 (12:45 -0600)]
Merge branch 'develop' into macos-develop
Habu [Fri, 31 May 2024 14:19:08 +0000 (23:19 +0900)]
Merge pull request #4179 from habu1010/feature/fix-target-compare-function
[Fix] ターゲット比較関数がSTLのソート用比較関数の要件を満たしていない
Habu [Fri, 31 May 2024 13:56:23 +0000 (22:56 +0900)]
[Fix] ターゲット比較関数がSTLのソート用比較関数の要件を満たしていない
TargetSorter::compare_importance がSTLのソートで使用する比較関数に要求
される `a < a == false` を満たしていないため、場合によってはデバッグ用
ビルドのアサーションにひっかかることがある。
最初に2つの引数が同じかどうかをチェックし同じなら false を返すように
して、要件を満たすようにする。
TargetSorter::compare_distance に関しては要件を満たしていたが、同じ位置
であれば距離を計算する必要もないのでこちらも先に引数が同じかをチェック
する。
Hourier [Fri, 31 May 2024 13:38:50 +0000 (22:38 +0900)]
Merge pull request #4176 from Hourier/Change-DisplayGroupList-Signature
display_group_list() の引数をconcptr[] からvector<string> に変えた
Hourier [Thu, 30 May 2024 11:07:41 +0000 (20:07 +0900)]
[Fix] #4053 地形だけ英語表記しかなかったので日本語にも対応させた
Hourier [Thu, 30 May 2024 11:06:17 +0000 (20:06 +0900)]
[Refactor] #4053 object-group-table.cpp/h をitem-group-table.cpp/h に変え、定数変数を大文字に変えた
Hourier [Thu, 30 May 2024 10:56:49 +0000 (19:56 +0900)]
[Refactor] #4053 display_group_list() の引数をconcptr[] からvector<string> に変えた
Eric Branlund [Fri, 31 May 2024 01:06:32 +0000 (19:06 -0600)]
Merge branch 'develop' into macos-develop
Habu [Thu, 30 May 2024 11:21:18 +0000 (20:21 +0900)]
Merge pull request #4175 from habu1010/feature/fix-learn-reflection
[Fix] モンスターが使用する一部の魔法にプレイヤーの耐性の学習が反映されていない
Habu [Thu, 30 May 2024 11:10:16 +0000 (20:10 +0900)]
[Fix] 一部ボルト魔法で学習する属性の誤り
ボルト魔法で学習する属性に以下の誤りがあるので修正する。
- 極寒の矢でなぜか地獄耐性を学習するようになっている
- スターライトアローで閃光耐性を学習しない
Habu [Thu, 30 May 2024 10:20:58 +0000 (19:20 +0900)]
[Fix] スターライトアローに閃光耐性の学習が反映されていない
前コミットと同様の理由により、閃光耐性を学習してもスターライトアローは
無条件で選択肢として残ってしまっている。
閃光耐性を学習した時に除外する魔法として追加する。(除外率は50%/25%)
Habu [Thu, 30 May 2024 10:08:43 +0000 (19:08 +0900)]
[Fix] 一部のボルト魔法に反射の学習が反映されていない
ボルト魔法にメテオストライクとスターライトアローを追加したが、この時に
反射を学習した場合に除外する魔法として追加していなかったため、学習後も
この2つのボルト魔法を選択してしまう。
反射を学習した場合の除外魔法に追加する。
Eric Branlund [Wed, 29 May 2024 15:09:28 +0000 (09:09 -0600)]
Merge branch 'develop' into macos-develop
Hourier [Wed, 29 May 2024 12:46:44 +0000 (21:46 +0900)]
Merge pull request #4172 from Hourier/Replace-SharedPtr-NormalClass-2
TimedEffects クラスのフィールド変数をshared_ptr から普通のクラスに変えた その2
Hourier [Wed, 29 May 2024 11:49:43 +0000 (20:49 +0900)]
[Refactor] #4171 不要になったplayer-cut.h のインクルードを外した
Hourier [Wed, 29 May 2024 11:47:59 +0000 (20:47 +0900)]
[Refactor] #4171 TimedEffects にしか依存しない関数からPlayerType への依存を外した
Hourier [Wed, 29 May 2024 11:46:18 +0000 (20:46 +0900)]
[Refactor] #4171 TimedEffects::PlayerPoison をshared_ptr から普通のクラスに差し替えた
Hourier [Wed, 29 May 2024 11:37:15 +0000 (20:37 +0900)]
[Refactor] #4171 TimedEffects::PlayerDeceleration をshared_ptr から普通のクラスに差し替えた
Hourier [Wed, 29 May 2024 11:31:02 +0000 (20:31 +0900)]
[Refactor] #4171 TimedEffects::PlayerAcceleration をshared_ptr から普通のクラスに差し替えた
Hourier [Wed, 29 May 2024 10:57:28 +0000 (19:57 +0900)]
[Refactor] #4171 MindPowerGetter のコンパイル警告を解消した
Hourier [Wed, 29 May 2024 10:55:34 +0000 (19:55 +0900)]
[Refactor] #4171 TimedEffects::PlayerStun をshared_ptr から普通のクラスに差し替えた
Hourier [Wed, 29 May 2024 04:02:08 +0000 (13:02 +0900)]
[Refactor] #4171 TimedEffects::PlayerParalysis をshared_ptr から普通のクラスに差し替えた
Hourier [Tue, 28 May 2024 13:57:21 +0000 (22:57 +0900)]
Merge pull request #4170 from Hourier/Replace-SharedPtr-NormalClass
TimedEffects クラスのフィールド変数をshared_ptr から普通のクラスに変えた その1
Hourier [Tue, 28 May 2024 12:06:56 +0000 (21:06 +0900)]
[Refactor] #4169 monster-damage.cpp/h のコンパイル警告を解消した
Hourier [Tue, 28 May 2024 12:02:26 +0000 (21:02 +0900)]
[Refactor] #4169 TimedEffects::PlayerHallucination をshared_ptr から普通のクラスに差し替えた
Hourier [Tue, 28 May 2024 10:39:23 +0000 (19:39 +0900)]
[Refactor] #4169 TimedEffects::PlayerFear をshared_ptr から普通のクラスに差し替えた
Hourier [Tue, 28 May 2024 10:28:28 +0000 (19:28 +0900)]
[Refactor] #4169 TimedEffects::PlayerCut をshared_ptr から普通のクラスに差し替えた
Hourier [Tue, 28 May 2024 10:13:17 +0000 (19:13 +0900)]
[Refactor] #4169 TimedEffects::PlayerConfusion をshared_ptr から普通のクラスに差し替えた
Hourier [Mon, 27 May 2024 14:24:29 +0000 (23:24 +0900)]
[Refactor] #4169 self-info.cpp のコンパイル警告を解消した
Hourier [Mon, 27 May 2024 14:13:53 +0000 (23:13 +0900)]
[Refactor] #4169 TimedEffects::PlayerBlindness をshared_ptr から普通のクラスに差し替えた
Eric Branlund [Mon, 27 May 2024 17:24:20 +0000 (11:24 -0600)]
Merge branch 'develop' into macos-develop
Hourier [Mon, 27 May 2024 13:47:29 +0000 (22:47 +0900)]
Merge pull request #4168 from Hourier/Rename-ColoredChar-DisplaySymbol
[Refactor] #4166 colored-char.h をクラス名に合わせてdisplay-symbol.h に変えた
Hourier [Mon, 27 May 2024 13:16:17 +0000 (22:16 +0900)]
[Refactor] #4166 colored-char.h をクラス名に合わせてdisplay-symbol.h に変えた
Hourier [Mon, 27 May 2024 13:26:06 +0000 (22:26 +0900)]
Merge pull request #4167 from Hourier/Unify-ItemEntity-GetSymbol
ItemEntity::get_symbol() の戻り値をDisplaySymbol に変え、色と文字を取得するメソッドはprivate に変えた
Hourier [Mon, 27 May 2024 12:03:40 +0000 (21:03 +0900)]
[Refactor] #4165 c_roff_wrap() の戻り値の型をDisplaySymbol に変えた
Hourier [Mon, 27 May 2024 12:01:58 +0000 (21:01 +0900)]
[Refactor] #4165 change_display_by_mutation() の引数と戻り値の型を調整してポインタ引数をなくした
Hourier [Mon, 27 May 2024 11:59:01 +0000 (20:59 +0900)]
[Refactor] #4165 compensate_stat_by_weapon() の引数と戻り値の型を調整してポインタ引数をなくした
Hourier [Mon, 27 May 2024 11:56:44 +0000 (20:56 +0900)]
[Refactor] #4165 bolt_pict() の返り値をDisplaySymbol に変えた
Hourier [Mon, 27 May 2024 11:53:19 +0000 (20:53 +0900)]
[Refactor] #4165 term_putch() とterm_addch() の引数をDisplaySymbol に変えた
Hourier [Mon, 27 May 2024 11:44:04 +0000 (20:44 +0900)]
[Refactor] #4165 print_rel() の引数をDisplaySymbol に変えた
Hourier [Mon, 27 May 2024 11:39:19 +0000 (20:39 +0900)]
[Refactor] #4165 ItemEntity::get_symbol() の戻り値をDisplaySymbol に変え、色と文字を取得するメソッドはprivate に変えた
シンボル変更コマンドでシンボルが変わってしまってもいいように、get_symbol() はベースアイテム情報から都度再取得する
Hourier [Mon, 27 May 2024 11:10:48 +0000 (20:10 +0900)]
Merge pull request #4163 from Hourier/Replace-ColoredChar-DisplaySymbol
ColoredChar をDisplaySymbol に差し替えた
Eric Branlund [Mon, 27 May 2024 00:29:43 +0000 (18:29 -0600)]
Merge branch 'develop' into macos-develop
Hourier [Sun, 26 May 2024 15:42:42 +0000 (00:42 +0900)]
[Refactor] #4133 BaseitemInfo、MonsterRaceInfo、TerrainType について、表示シンボルの定義値を表すフィールド変数をdefinition/definitions に正確化した
元はdef/defs だったので省略可し過ぎており少し分かりにくい部分があった
Hourier [Sun, 26 May 2024 14:53:27 +0000 (23:53 +0900)]
[Refactor] #4133 ColoredChar をDisplaySymbol に置き換えた
機械的な単純置換だが行数は爆発的に多いので注意
Hourier [Sun, 26 May 2024 14:26:45 +0000 (23:26 +0900)]
[Refactor] #4133 monster-pain-describer.cpp のsymbol をcharacters に改名した
Habu [Sun, 26 May 2024 14:05:45 +0000 (23:05 +0900)]
Merge pull request #4162 from habu1010/feature/use-stl-for-target-sorting
[Refactor] ターゲットのソートにSTLを使用する
Hourier [Sun, 26 May 2024 14:01:51 +0000 (23:01 +0900)]
Merge pull request #4161 from Hourier/Replace-SaveFileBase-Path
savefile_base をstring からpath に変えた
Habu [Sun, 26 May 2024 13:47:00 +0000 (22:47 +0900)]
[Refactor] ターゲットのソートにSTLを使用する