OSDN Git Service
Hourier [Sun, 17 Oct 2021 05:42:07 +0000 (14:42 +0900)]
[Refactor] #1796 get_item_loader() は冗長だったのでcreate_loader() に簡略化した
Hourier [Sun, 17 Oct 2021 00:10:39 +0000 (09:10 +0900)]
[Refactor] #1796 Renamed savedata10-*.h to *-savefile10.h
Hourier [Sat, 16 Oct 2021 15:48:53 +0000 (00:48 +0900)]
[Refactor] #1796 Habu氏の指摘に従い、一時オブジェクトの生成を削除した
Hourier [Sat, 16 Oct 2021 15:39:40 +0000 (00:39 +0900)]
[Refactor] #1796 Reshaped store_loader()
Hourier [Sat, 16 Oct 2021 15:36:04 +0000 (00:36 +0900)]
[Refactor] #1796 Habu氏の指摘に従い、for/whileループの内側でget_item_loader()が呼び出されていたら外側で呼ぶように変更した
Hourier [Sat, 16 Oct 2021 14:38:01 +0000 (23:38 +0900)]
[Refactor] #1796 ItemLoaderBase、ItemLoaderFactoryクラスを作ってアイテム読み込み処理用のクラスを分離しやすくした
Hourier [Sat, 16 Oct 2021 12:50:28 +0000 (21:50 +0900)]
[Refactor] #1796 Reshaped item-loader-savefile10.cpp
Hourier [Sat, 16 Oct 2021 12:32:55 +0000 (21:32 +0900)]
[Refactor] #1796 load_item() とload_artifact() の返り値をerrrからvoidに差し替えた
Hourier [Sat, 16 Oct 2021 12:29:02 +0000 (21:29 +0900)]
[Refactor] #1796 Moved monster-loader.cpp/h from load/ to load/old/ (これらのファイルはまだ現役)
Hourier [Sat, 16 Oct 2021 12:16:44 +0000 (21:16 +0900)]
[Refactor] #1796 item-loader.cpp/h、load-v1-5-0.cpp/h、load-v1-7-0.cpp/h をload/ からload/old/ に移した (item-loader.cpp/h はまだ現役)
Hourier [Sun, 17 Oct 2021 01:48:59 +0000 (10:48 +0900)]
Merge pull request #1794 from Hourier/Delete-Unnecessary-Default-Constructor
deleteしているだけのデフォルトコンストラクタを消した
Deskull [Sat, 16 Oct 2021 13:13:10 +0000 (22:13 +0900)]
Merge pull request #1797 from sikabane-works/feature/fix-jamapuyo-english-flavor
[Fix] おじゃまぷよの英文フレーバーが余計だった(爆発は別にしない)ので修正。
Deskull [Sat, 16 Oct 2021 13:01:09 +0000 (22:01 +0900)]
[Fix] おじゃまぷよの英文フレーバーが余計だった(爆発は別にしない)ので修正。
Hourier [Sat, 16 Oct 2021 08:50:54 +0000 (17:50 +0900)]
Merge pull request #1795 from Hourier/Fix-Law-Ring-Weight
秩序の指輪が他より重かった不具合を修正した
Hourier [Sat, 16 Oct 2021 06:10:47 +0000 (15:10 +0900)]
[Fix] #1790 秩序の指輪が他より重かった不具合を修正した
Hourier [Sat, 16 Oct 2021 05:30:05 +0000 (14:30 +0900)]
[Refactor] #1793 アビリティスコアのアップデート処理をupdate_ability_scores() に分離した
Hourier [Sat, 16 Oct 2021 05:25:11 +0000 (14:25 +0900)]
[Refactor] #1793 deleteしているだけのデフォルトコンストラクタを消した
Habu [Sat, 16 Oct 2021 04:45:16 +0000 (13:45 +0900)]
Merge pull request #1792 from habu1010/feature/player-skill-class
[Feature/Refactor] 熟練度関連の処理を扱う PlayerSkill クラス
Hourier [Sat, 16 Oct 2021 03:36:06 +0000 (12:36 +0900)]
Merge pull request #1788 from Hourier/Move-Libra-Macro-Function
ポンド→キログラム の変換をh-define.h からjapanese.h/cpp へ移した
Hourier [Sat, 16 Oct 2021 01:52:28 +0000 (10:52 +0900)]
[Refactor] #1437 Habu氏の指摘に従い、関数名をlb_to_kg_few() からlb_to_kg_fraction() に改名した
Hourier [Sat, 16 Oct 2021 01:22:33 +0000 (10:22 +0900)]
[Refactor] #1437 Habu氏の指摘に従い、japanese.h/english.h のインクルードを言語に関係なく行うようにした
Hourier [Fri, 15 Oct 2021 10:46:28 +0000 (19:46 +0900)]
[Refactor] #1437 Moved lbtokg() from macro function to normal function
Hourier [Fri, 15 Oct 2021 10:33:33 +0000 (19:33 +0900)]
[Refactor] #1437 Moved lbtokg() from h-define.h to locale/japanese.h
Hourier [Fri, 15 Oct 2021 10:25:09 +0000 (19:25 +0900)]
[Refactor] #1437 Changed JVERB_* from definition to constexpr
Hourier [Sat, 16 Oct 2021 03:04:31 +0000 (12:04 +0900)]
Merge pull request #1791 from Hourier/Separate-Monster-Aura
モンスターのオーラ情報をflag2/3 からaura_flags へ分離した
Hourier [Sat, 16 Oct 2021 02:38:38 +0000 (11:38 +0900)]
[Fix] #1787 免疫フラグを正常に取得できない潜在バグを解消した
Hourier [Sat, 16 Oct 2021 02:22:33 +0000 (11:22 +0900)]
[Refactor] #1787 Habu氏の指摘に従い、dam_funcをtypedefからusingに差し替えた
Hourier [Sat, 16 Oct 2021 02:02:51 +0000 (11:02 +0900)]
[Refactor] #1787 Reshaped load_lore()
Hourier [Sat, 16 Oct 2021 01:58:46 +0000 (10:58 +0900)]
[Refactor] #1787 Separated rd_r_ability_flags() from rd_lore()
Hourier [Sat, 16 Oct 2021 01:56:06 +0000 (10:56 +0900)]
[Fix] #1787 オーラフラグのマイグレーションコードがデータ読み込み前に行われていた不具合を修正した
Hourier [Sat, 16 Oct 2021 01:44:16 +0000 (10:44 +0900)]
[Refactor] #1787 Habu氏の指摘に従い、race-flags2/3.h で定義されたenum値ではなくマイグレーション専用のenum class値を定義した
Hourier [Fri, 15 Oct 2021 14:46:59 +0000 (23:46 +0900)]
[Fix/Refactor] #1787 以下の事象群を解消した
- SAVEFILEバージョン10のデータが正常に読み込めない
- r_info.txtから正常にオーラ情報を読み込めない
- モンスターからのオーラダメージを受けない
Hourier [Fri, 15 Oct 2021 13:04:33 +0000 (22:04 +0900)]
[Refactor] #1787 モンスターの思い出読み込み処理を現行のオーラフラグに合わせた (WIP解消)
Hourier [Fri, 15 Oct 2021 12:26:45 +0000 (21:26 +0900)]
[WIP] [Refactor] #1787 電撃オーラフラグをmonster_type/lore_type::aura_flags に寄せた (このコミットでは全体として動作しない。注意)
Hourier [Fri, 15 Oct 2021 12:10:15 +0000 (21:10 +0900)]
[WIP] [Refactor] #1787 火炎オーラフラグをmonster_type/lore_type::aura_flags に寄せた (このコミットでは全体として動作しない。注意)
備考:"(r_ptr->flags2 & (RF2_COLD_BLOOD | RF2_XX14)) == RF2_COLD_BLOOD" を"any_bits(r_ptr->flags2, RF2_COLD_BLOOD) && r_ptr->aura_flags.has_not(MonsterAuraType::FIRE)"に置換した
Hourier [Fri, 15 Oct 2021 11:58:24 +0000 (20:58 +0900)]
[WIP] [Refactor] #1787 オーラフラグをガワだけmonster_type/lore_type::aura_flags に分離した (このコミットでは動作しない。注意)
Hourier [Fri, 15 Oct 2021 11:33:12 +0000 (20:33 +0900)]
[Refactor/Implement] #1787 予約領域も含めてモンスターのオーラフラグを再定義した
Deskull [Sat, 16 Oct 2021 01:20:03 +0000 (10:20 +0900)]
Merge pull request #1779 from sikabane-works/feature/get_value-default-value-heng
[Implement] get_value()が参照代入値ポインタの入力前値をデフォルト値にするよう仕様追加。
Deskull [Wed, 13 Oct 2021 12:43:59 +0000 (21:43 +0900)]
[Implement] get_value()が参照代入値ポインタの入力前値をデフォルト値にするよう仕様追加。
* モンスターのデフォルト生成IDを1に。
Hourier [Sat, 16 Oct 2021 01:01:59 +0000 (10:01 +0900)]
Merge pull request #1780 from Hourier/Remove-Unnecessary-Return-Init-Buildings
init_towns() とinit_buildings() の返り値が使われていないので削除した
Habu [Fri, 15 Oct 2021 14:58:30 +0000 (23:58 +0900)]
[Refactor] 乗馬スキルの上昇処理を PlayerSkill クラスに移設
乗馬スキルの上昇処理を PlayerSkill クラスに移設する。
乗馬スキルには3種の上昇処理があるので、それぞれメンバ関数を作成する。
- gain_riding_skill_exp_on_melee_attack
乗馬中に近接攻撃した時のスキル上昇処理
- gain_riding_skill_exp_on_range_attack
乗馬中に遠隔攻撃した時のスキル上昇処理
- gain_riding_skill_exp_on_fall_off_check
被ダメージによる落馬判定が発生した時のスキル上昇処理
また、乗馬スキル値から熟練度レベルを取得する関数 riding_exp_level を
PlayerSkill クラスの静的メンバ関数にする。
Habu [Fri, 15 Oct 2021 15:37:43 +0000 (00:37 +0900)]
[Refactor] 武器熟練度経験値のしきい値の定義を隠蔽する
カプセル化を促進する目的で、武器熟練度経験値のしきい値 WEAPON_EXP_* の
定義を PlayerSkill クラス内に隠蔽する。
これらの定義の値には、 EXP_LEVEL_* を用いて以下の static メソッドにより
アクセスする。
- weapon_exp_at : 指定の熟練度レベルに必要な経験値を取得
- valid_weapon_exp : 経験値の値が有効な範囲かどうか調べる
- weapon_exp_level : 経験値に相当する熟練度レベルを取得
Habu [Fri, 15 Oct 2021 15:37:43 +0000 (00:37 +0900)]
[Refactor] 攻撃技能経験値増加処理を PlayerSkill クラスに移設
マーシャルアーツと二刀流の技能経験値増加処理をそれぞれ PlayerSkill クラスの
メンバ関数へ移設する。
Habu [Fri, 15 Oct 2021 15:37:43 +0000 (00:37 +0900)]
[Refactor] PlayerSkill クラスを新設
熟練度関連の処理を集約する PlayerSkill クラスを新設する。
まず手始めに武器熟練度経験値の増加処理を以下のメンバ関数に移設する。
- gain_melee_weapon_exp(): 近接武器の熟練度経験値増加処理
- gain_range_weapon_exp(): 遠隔武器の熟練度経験値増加処理
Habu [Fri, 15 Oct 2021 12:52:01 +0000 (21:52 +0900)]
Merge pull request #1783 from habu1010/feature/refactor-rd-integer
[Refactor] セーブファイルから整数値を読み込む関数のインターフェース
Hourier [Fri, 15 Oct 2021 10:32:46 +0000 (19:32 +0900)]
Merge pull request #1786 from Hourier/Remove-MIN-Macro-Function
MIN() のマクロ関数をstd::min() に差し替えた
Hourier [Thu, 14 Oct 2021 13:15:47 +0000 (22:15 +0900)]
[Refactor] #1434 GCCのコンパイルエラーに対応した (short かつ 3文字以内はバッファオーバーフローする可能性がある。-101等)
Hourier [Thu, 14 Oct 2021 12:39:41 +0000 (21:39 +0900)]
[Refactor] #1434 Resolved all compilation warnings
Hourier [Thu, 14 Oct 2021 11:52:09 +0000 (20:52 +0900)]
[Refactor] #1432 Reshaped dump-util.cpp automatically
Hourier [Thu, 14 Oct 2021 11:41:05 +0000 (20:41 +0900)]
[Refactor] #1432 MIN() のマクロ関数をstd::min() に差し替えた / Replaced the macro function MIN() to std::min()
Hourier [Thu, 14 Oct 2021 12:58:46 +0000 (21:58 +0900)]
[Refactor] 重複していたプリプロを整理・統合した
Hourier [Thu, 14 Oct 2021 11:44:37 +0000 (20:44 +0900)]
Merge pull request #1785 from Hourier/Remove-ABS-Macro-Function
ABS() のマクロ関数をstd::abs() に差し替えた
Hourier [Thu, 14 Oct 2021 11:15:44 +0000 (20:15 +0900)]
[Fix] #1433 MAX() の置換漏れを修正した
Hourier [Thu, 14 Oct 2021 11:09:28 +0000 (20:09 +0900)]
[Refactor] #1434 ABS() のマクロ関数をstd::abs() に差し替えた / Replaced the macro function ABS() to std::abs()
Hourier [Thu, 14 Oct 2021 11:08:51 +0000 (20:08 +0900)]
Merge pull request #1784 from Hourier/Remove-MAX-Macro-Function
MAX() のマクロ関数をstd::max() に差し替えた
Hourier [Thu, 14 Oct 2021 10:23:11 +0000 (19:23 +0900)]
[Refactor] #1433 MAX() のマクロ関数をstd::max() に差し替えた / Replaced the macro function MAX() to std::max()
Hourier [Wed, 13 Oct 2021 13:25:44 +0000 (22:25 +0900)]
[Refactor] building-initializer.cpp の変数宣言をautoにし、コメントをDoxygenに寄せた
Hourier [Wed, 13 Oct 2021 13:08:38 +0000 (22:08 +0900)]
[Refactor] init_towns() とinit_buildings() の返り値が使われていないので削除した
Habu [Wed, 13 Oct 2021 14:36:10 +0000 (23:36 +0900)]
[Refactor] セーブファイルから整数値を読み込む関数のインターフェース
tmp8u などの一時変数を頻繁に使用する事になっている主な原因として、セーブ
ファイルから整数を読み込む関数群 rd_byte/s16b/u16b/s32b/u32b のインター
フェースが引数にポインタを受け取りそのポインタが指す領域にセーブファイル
から読み込んだ値を書き込むようになっている事が挙げられる。
そもそも読み込んだデータを戻り値として返すのが自然であるし、コードの冗長
性が大幅に減らせるのでそのようにインターフェースを変更する。
Habu [Wed, 13 Oct 2021 13:54:47 +0000 (22:54 +0900)]
Merge pull request #1774 from habu1010/feature/refactor-weapon-skill-table
[Refactor] 武器熟練度のテーブルを std::map にする
Habu [Wed, 13 Oct 2021 13:15:32 +0000 (22:15 +0900)]
[Refactor] 武器熟練度のテーブルを std::map にする
既存の武器熟練度のテーブルは弓のtvalをベースにした武器のtvalのオフセットを
要素にした配列で持っているためアクセスするのに余計な引き算や列挙型と基底型
の変換が必要になってしまう。
列挙型で直接アクセスでき、データの意味合い的にも連想コンテナのほうがふさわ
しいので std::map を使用するようにする。
Hourier [Wed, 13 Oct 2021 13:07:56 +0000 (22:07 +0900)]
Merge pull request #1777 from Hourier/Fix-Building-Class-Race-Error
店主のクラス・種族リストが未初期化のまま追加されようとしてソフトウェアが落ちていた不具合を解消した
Hourier [Wed, 13 Oct 2021 12:52:32 +0000 (21:52 +0900)]
[Fix] #1776 店主のクラス・種族リストが未初期化のまま追加されようとしてソフトウェアが落ちていた不具合を解消した
Hourier [Wed, 13 Oct 2021 11:22:39 +0000 (20:22 +0900)]
Merge pull request #1754 from Hourier/Change-Player-Class-Type-to-Enum-Class
player_class_type を enum → enum class に変換した
Hourier [Wed, 13 Oct 2021 10:13:56 +0000 (19:13 +0900)]
[Refactor] #1754 Habu氏の指摘に対応した
- PlayerClassType::MAX をshortとして扱っている箇所が多いので別途定義した
- world.h のFlagGroupをEnumClassFlagGroupに差し替えた
Hourier [Wed, 6 Oct 2021 14:44:44 +0000 (23:44 +0900)]
[Refactor] #1752 GCCのコンパイルエラーを解消した
Hourier [Wed, 6 Oct 2021 10:56:55 +0000 (19:56 +0900)]
[Refactor] #1752 PlayerClassTypeをenumからenum classへ変更した
Hourier [Tue, 5 Oct 2021 15:01:15 +0000 (00:01 +0900)]
[Refactor] #1752 Replaced arrays in building-type-definition.h to vector
Hourier [Tue, 5 Oct 2021 14:50:41 +0000 (23:50 +0900)]
[Refactor] #1752 クラス称号が日英で分かれていたのを統一し、更にstring_viewに差し替えた
Hourier [Tue, 5 Oct 2021 13:36:08 +0000 (22:36 +0900)]
[Refactor] #1752 Replaced arrays in class-info.h to vector
Hourier [Tue, 5 Oct 2021 13:32:17 +0000 (22:32 +0900)]
[Refactor] #1752 Replaced arrays in initial-equipments-table.h to vector
Hourier [Tue, 5 Oct 2021 13:22:47 +0000 (22:22 +0900)]
[Refactor] #1752 Replaced arrays in birth-explanations-table.h to vector
Hourier [Tue, 5 Oct 2021 13:05:48 +0000 (22:05 +0900)]
[Refactor] #1752 Changed the name of player_class_type to PlayerClassType
Habu [Tue, 12 Oct 2021 13:09:32 +0000 (22:09 +0900)]
Merge pull request #1771 from habu1010/feature/enum-class-calculation
[Feature] 列挙型の値の加減算
Hourier [Tue, 12 Oct 2021 13:00:15 +0000 (22:00 +0900)]
Merge pull request #1773 from Hourier/Fix-Wounds
元素使いで切り傷を直すと却って傷が深くなる不具合を修正した
Habu [Tue, 12 Oct 2021 12:39:55 +0000 (21:39 +0900)]
[Refactor] tval2realm の呼び出しから enum2i の変換を削除
tval2realm の呼び出しは引数に直接 ItemKindType を渡せるので enum2i を削除
する。
また現在使用している箇所の他に tval2realm を使用できる箇所がいくつかあった
ので使用するようにする。
Habu [Tue, 12 Oct 2021 12:29:41 +0000 (21:29 +0900)]
[Refactor] 列挙値間の差の計算部からenum2iを取り除く
先のコミットで列挙値間の差を計算する operator-() を実装したので、不要に
なった enum2i を削除する。
Hourier [Tue, 12 Oct 2021 12:45:39 +0000 (21:45 +0900)]
[Fix] #1772 元素使いで切り傷を直すと却って傷が深くなる不具合を修正した
火炎の飛竜 [Tue, 12 Oct 2021 12:14:56 +0000 (21:14 +0900)]
Merge pull request #1522 from Slimebreath6078/feature/Rename_spell_msg
敵の呪文詠唱のメッセージを表示する関数の文字列変数を改名・構造体化する
Habu [Tue, 12 Oct 2021 11:23:54 +0000 (20:23 +0900)]
[Feature] 列挙型の値の加減算
列挙型の基底型の整数値が並んでいるのを前提とした加減算処理が多数あるので、
列挙型に対する operator+() operator-() を実装して加減算を行いやすくする。
以下の3種の加減算を行える。
- 列挙型の値 + 整数値n : 基底型の整数値をnプラスした列挙型を返す
- 列挙型の値 - 整数値n : 基底型の整数値をnマイナスした列挙型を返す
- 列挙型の値 - 列挙型の値 : それぞれの列挙型の基底型の整数値の差を返す
Hourier [Tue, 12 Oct 2021 11:33:08 +0000 (20:33 +0900)]
Merge pull request #1767 from Hourier/Change-Tval-Type-To-Enum-Class
enum tval_type を enum class ItemKindType に改名した
Hourier [Tue, 12 Oct 2021 11:13:47 +0000 (20:13 +0900)]
[Refactor] #1766 Habu氏の指摘に従いItemKindTypeに改名し、接頭辞の「TV_」を消した
Habu [Tue, 12 Oct 2021 10:16:31 +0000 (19:16 +0900)]
Merge pull request #1768 from habu1010/feature/english-text-append-spacing
[Feature] 英語版のフレーバーテキストを良い感じに連結する
Habu [Tue, 12 Oct 2021 10:08:23 +0000 (19:08 +0900)]
Merge pull request #1770 from habu1010/feature/enum-range-class
[Feature] 列挙値の範囲を扱うクラス
Slimebreath6078 [Sun, 12 Sep 2021 12:06:22 +0000 (21:06 +0900)]
simpler_monspell_message()のメッセージを構造体化
Slimebreath6078 [Sun, 12 Sep 2021 11:08:00 +0000 (20:08 +0900)]
spell_badstatus_message_to_***のメッセージ群を構造体化
Slimebreath6078 [Sun, 12 Sep 2021 10:39:02 +0000 (19:39 +0900)]
spell_badstatus_message()が対プレイヤーと対モンスターで内容が違うので分離
Slimebreath6078 [Mon, 13 Sep 2021 10:52:17 +0000 (19:52 +0900)]
盲目、非盲目時対プレイヤー、非盲目時対モンスターのメッセージを構造体にする
Habu [Mon, 11 Oct 2021 13:07:00 +0000 (22:07 +0900)]
[Feature] 英語版のフレーバーテキストを良い感じに連結する
現在*_info.txtに記述される英語版のフレーバーテキストは、2行以上にわたる
場合スペースを挟んで連結されるように行末か行頭にスペースを入れている。
しかし、行末にスペースを入れると視認しづらいし、どちらに入れるにしても
メンテナンスが面倒になるので、パーサの処理時に自動的にスペースを挟んで
連結するようにする。
既存のフレーバーテキストのスペースは削除しなくて済むように、パーサ側で
両端のスペースは削除しながら連結する。
Habu [Mon, 11 Oct 2021 22:20:30 +0000 (07:20 +0900)]
[Refactor] StoreSaleType の範囲に対する処理
汎用性に欠けるので StoreSaleType のイテレーション専用の関数群を削除し、
EnumRange クラスを代わりに使用する。
Habu [Mon, 11 Oct 2021 22:15:12 +0000 (07:15 +0900)]
[Feature] 列挙値の範囲を扱うクラス
Imprement #1769.
enum および enum class の列挙値の範囲を扱うクラス EnumRange を追加する。
Hourier [Mon, 11 Oct 2021 12:51:22 +0000 (21:51 +0900)]
[Refactor] #1766 Changed ItemPrimaryType from enum to enum class
Deskull [Mon, 11 Oct 2021 11:38:50 +0000 (20:38 +0900)]
Merge pull request #1760 from sikabane-works/feature/refactor-StoreSaleType
[Refactor] 店舗の種類を enum class StoreSaleType 型に変更しリファクタリング。
Deskull [Sun, 10 Oct 2021 07:03:43 +0000 (16:03 +0900)]
[Refactor] 店舗の種類を enum class StoreSaleType 型に変更しリファクタリング。
Hourier [Mon, 11 Oct 2021 09:46:42 +0000 (18:46 +0900)]
Merge pull request #1764 from Hourier/Move-Arena-Type
arena-type構造体をbuilding-type-definition.h から arena-info-table.h に移した
Hourier [Fri, 8 Oct 2021 22:05:37 +0000 (07:05 +0900)]
[Refactor] Moved the struct arena-type from building-type-definition.h to arena-info-table.cpp/h and changed the type of arena_info from array to std::vector
Hourier [Sun, 10 Oct 2021 11:48:58 +0000 (20:48 +0900)]
Merge pull request #1762 from Hourier/Reshape-Patron-List
Patronクラスのコンストラクタからp_ptrを外した
Hourier [Sun, 10 Oct 2021 11:30:50 +0000 (20:30 +0900)]
[Refactor] Patronクラスのコンストラクタからp_ptrを外した
Habu [Sun, 10 Oct 2021 11:27:08 +0000 (20:27 +0900)]
Merge pull request #1759 from habu1010/feature/refactor-rng
乱数生成に STL を使用する
Habu [Sun, 10 Oct 2021 02:04:15 +0000 (11:04 +0900)]
[Refactor] STL の正規分布アルゴリズムを使用する
従来のテーブルによる擬似正規分布生成から、STL の std::normal_distribution
を使用した生成に変更する。