OSDN Git Service

[Fix] 残り1回の鑑定の杖を使った時にサブウィンドウの持ち物一覧が更新されない #4
authordis- <dis.rogue@gmail.com>
Wed, 10 Feb 2021 08:42:26 +0000 (17:42 +0900)
committerdis- <dis.rogue@gmail.com>
Wed, 10 Feb 2021 08:42:26 +0000 (17:42 +0900)
commit62929b13c9c8c93528cd5702cb7410651f1231bf
tree91651770d8eedc77feda5345a5214ddfde6cd1aa
parent3f00abce5294349f49c5139a72753c0e40b53ab9
[Fix] 残り1回の鑑定の杖を使った時にサブウィンドウの持ち物一覧が更新されない #4

特定条件下で画面再描写がされていなかったことが原因。
同様の問題が多く発生しているため、描画に関する処理を改めた。
各termに描写禁止フラグnever_freshを与え、これで一律に管理する。

キーの実入力があるタイミングでnever_freshを解除し、マクロ等の連続行動の際にnever_freshを有効にして描写をカットする。

これによりz-term.cに描写可否を判定させる必要がなくなったので、need_term_fresh()とplayer構造体を排除した。

never_freshによる描写スキップの際、windowフラグを破壊しないようにwindow_stuff()の処理を変更した。
windowフラグを一旦保護してから、実際に描写された場合のみ該当のフラグを折る。
18 files changed:
src/cmd-action/cmd-move.c
src/cmd-action/cmd-pet.c
src/core/player-processor.c
src/core/window-redrawer.c
src/dungeon/dungeon-processor.c
src/effect/effect-processor.c
src/io/input-key-acceptor.c
src/io/input-key-acceptor.h
src/io/input-key-requester.c
src/mind/mind-mirror-master.c
src/spell-kind/spells-genocide.c
src/spell-kind/spells-sight.c
src/term/z-term.c
src/term/z-term.h
src/window/display-sub-window-spells.c
src/window/display-sub-windows.c
src/window/display-sub-windows.h
src/wizard/wizard-item-modifier.c