From: deskull Date: Thu, 4 Feb 2021 14:00:49 +0000 (+0900) Subject: Merge remote-tracking branch 'remotes/hengbandosx/english-market-edits' into feature... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ca29fa7d4433bea71a02152ebe67edbbb01a8974;hp=e3e70c55c07c94641ff07a4631bd04e6e9b3ac06;p=hengband%2Fhengband.git Merge remote-tracking branch 'remotes/hengbandosx/english-market-edits' into feature/english-correction --- diff --git a/Build-Windows-Release-Package.ps1 b/Build-Windows-Release-Package.ps1 new file mode 100644 index 000000000..aeb876700 --- /dev/null +++ b/Build-Windows-Release-Package.ps1 @@ -0,0 +1,47 @@ +Param( + # パッケージに付加するバージョン + [parameter(Mandatory = $true)][string]$Version +) + +# とりあえず Visual Studio Community 2019 用の MSBuild.exe にパスを通す +# 他の環境でビルドを実行する方法は要調査・検討 +$msbuild_path = 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin' +$Env:Path = $msbuild_path + ";" + $Env:Path + + +function BuildPackage ($package_name, $package_unique_files, $build_conf) { + # バイナリをリビルド + MSBuild.exe .\Hengband\Hengband.sln /t:Rebuild /p:Configuration=$build_conf + + if ($LASTEXITCODE -ne 0) { + # ビルド失敗ならスクリプトを中断する + exit + } + + # 作業用テンポラリフォルダ + $tempDir = New-TemporaryFile | ForEach-Object { Remove-Item $_; New-Item $_ -ItemType Directory } + + $hengbandDir = Join-Path $tempDir $package_name + New-Item $hengbandDir -ItemType Directory + + # 必要なファイルをコピーして、その中で不要になりえるものを削除 + Copy-Item -Verbose -Path .\Hengband.exe, .\readme_angband -Destination $hengbandDir + Copy-Item -Verbose -Path $package_unique_files -Destination $hengbandDir + Copy-Item -Verbose -Recurse -Path .\lib -Destination $hengbandDir -Exclude Makefile.am, delete.me, *.raw, .gitattributes + Copy-Item -Verbose -Path .\lib\apex\h_scores.raw -Destination $hengbandDir\lib\apex + Remove-Item -Verbose -Path $hengbandDir\lib\save\*, $hengbandDir\lib\user\* + Remove-Item -Verbose -Exclude music.cfg -Path $hengbandDir\lib\xtra\music\* + + # zipアーカイブ作成 + $package_path = Join-Path $(Get-Location) "${package_name}.zip" + Push-Location $tempDir + Compress-Archive -Force -Verbose -Path $package_name -DestinationPath $package_path + Pop-Location + + # 作業用テンポラリフォルダ削除 + $tempDir | Where-Object { Test-Path $_ } | ForEach-Object { Get-ChildItem $_ -File -Recurse | Remove-Item; $_ } | Remove-Item -Recurse +} + +# 日本語版 +BuildPackage -package_name Hengband-$Version-jp -package_unique_files .\readme.txt, .\autopick.txt -build_conf Release +BuildPackage -package_name Hengband-$Version-en -package_unique_files .\readme_eng.txt, .\autopick_eng.txt -build_conf English-Release diff --git a/lib/edit/d_info.txt b/lib/edit/d_info.txt index 05c872fcf..2c91ca933 100644 --- a/lib/edit/d_info.txt +++ b/lib/edit/d_info.txt @@ -97,7 +97,7 @@ D:恐るべき奇妙な迷宮 P:57:31 W:10:18:1:0:80:160:75:20:0x0000:0x0000 L:FLOOR:100:FLOOR:0:FLOOR:0:100 -A:GRANITE:98:SECRET_DOOR:2:GRANITE:0:GRANITE:GRANITE:MAGMA_VEIN:QUARTZ_VEIN +A:GRANITE:100:GRANITE:0:GRANITE:0:GRANITE:GRANITE:MAGMA_VEIN:QUARTZ_VEIN F:MAZE | SMALLEST | FORGET F:MONSTER_DIV_64 | FINAL_GUARDIAN_1034 | FINAL_OBJECT_354 diff --git a/lib/xtra/music/.gitignore b/lib/xtra/music/.gitignore new file mode 100644 index 000000000..bcbd2e72c --- /dev/null +++ b/lib/xtra/music/.gitignore @@ -0,0 +1,5 @@ +/*.wav +/*.mid +/*.mp3 +/*.ogg +/music_debug.cfg diff --git a/src/cmd-action/cmd-move.c b/src/cmd-action/cmd-move.c index f32ed3b22..fa958d9da 100644 --- a/src/cmd-action/cmd-move.c +++ b/src/cmd-action/cmd-move.c @@ -425,6 +425,6 @@ void do_cmd_rest(player_type *creature_ptr) update_creature(creature_ptr); creature_ptr->redraw |= (PR_STATE); update_output(creature_ptr); - if (need_term_fresh()) + if (need_term_fresh(creature_ptr)) term_fresh(); } \ No newline at end of file diff --git a/src/cmd-action/cmd-pet.c b/src/cmd-action/cmd-pet.c index 5e49c32ef..1ba17f4ca 100644 --- a/src/cmd-action/cmd-pet.c +++ b/src/cmd-action/cmd-pet.c @@ -170,7 +170,7 @@ void do_cmd_pet_dismiss(player_type *creature_ptr) Term->scr->cu = cu; Term->scr->cv = cv; - if (need_term_fresh()) + if (need_term_fresh(creature_ptr)) term_fresh(); C_KILL(who, current_world_ptr->max_m_idx, MONSTER_IDX); diff --git a/src/cmd-item/cmd-equipment.c b/src/cmd-item/cmd-equipment.c index 45130fe31..ebe5800f4 100644 --- a/src/cmd-item/cmd-equipment.c +++ b/src/cmd-item/cmd-equipment.c @@ -195,7 +195,7 @@ void do_cmd_wield(player_type *creature_ptr) char dummy[MAX_NLEN + 100]; describe_flavor(creature_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); sprintf(dummy, - _("%sを装備すると吸血鬼になります。よろしいですか?", "%s will transform you into a vampire permanently when equiped. Do you become a vampire?"), + _("%sを装備すると吸血鬼になります。よろしいですか?", "%s will transform you into a vampire permanently when equipped. Do you become a vampire?"), o_name); if (!get_check(dummy)) diff --git a/src/core/player-processor.c b/src/core/player-processor.c index d7700ec78..aaa13d184 100644 --- a/src/core/player-processor.c +++ b/src/core/player-processor.c @@ -81,6 +81,11 @@ static void process_fishing(player_type *creature_ptr) } } +bool continuous_action_running(player_type *creature_ptr) +{ + return creature_ptr->running || travel.run || command_rep || (creature_ptr->action == ACTION_REST) || (creature_ptr->action == ACTION_FISH); +} + /*! * @brief プレイヤーの行動処理 / Process the player * @return なし @@ -141,7 +146,7 @@ void process_player(player_type *creature_ptr) process_fishing(creature_ptr); if (check_abort) { - if (creature_ptr->running || travel.run || command_rep || (creature_ptr->action == ACTION_REST) || (creature_ptr->action == ACTION_FISH)) { + if (continuous_action_running(creature_ptr)) { inkey_scan = TRUE; if (inkey()) { flush(); @@ -415,4 +420,4 @@ void process_upkeep_with_speed(player_type *creature_ptr) creature_ptr->enchant_energy_need += ENERGY_NEED(); } -} \ No newline at end of file +} diff --git a/src/core/player-processor.h b/src/core/player-processor.h index 89a141db8..b706bec21 100644 --- a/src/core/player-processor.h +++ b/src/core/player-processor.h @@ -5,5 +5,6 @@ extern bool load; /*!<ロード処理中の分岐フラグ*/ extern bool can_save; +bool continuous_action_running(player_type *creature_ptr); void process_player(player_type *creature_ptr); void process_upkeep_with_speed(player_type *creature_ptr); diff --git a/src/core/window-redrawer.c b/src/core/window-redrawer.c index 53f724f28..265f6db3f 100644 --- a/src/core/window-redrawer.c +++ b/src/core/window-redrawer.c @@ -228,10 +228,7 @@ void window_stuff(player_type *player_ptr) { if (!player_ptr->window) return; - - if (!need_term_fresh()) - return; - + BIT_FLAGS mask = 0L; for (int j = 0; j < 8; j++) { if (angband_term[j]) @@ -243,52 +240,53 @@ void window_stuff(player_type *player_ptr) if (!player_ptr->window) return; - if (player_ptr->window & (PW_INVEN)) { + if (need_term_fresh(player_ptr) && player_ptr->window & (PW_INVEN)) { player_ptr->window &= ~(PW_INVEN); fix_inventory(player_ptr, 0); // TODO:2.2.2 まともなtval参照手段を確保 } - if (player_ptr->window & (PW_EQUIP)) { + if (need_term_fresh(player_ptr) && player_ptr->window & (PW_EQUIP)) { player_ptr->window &= ~(PW_EQUIP); fix_equip(player_ptr, 0); // TODO:2.2.2 まともなtval参照手段を確保 } - if (player_ptr->window & (PW_SPELL)) { + if (need_term_fresh(player_ptr) && player_ptr->window & (PW_SPELL)) { player_ptr->window &= ~(PW_SPELL); fix_spell(player_ptr); } - if (player_ptr->window & (PW_PLAYER)) { + if (need_term_fresh(player_ptr) && player_ptr->window & (PW_PLAYER)) { player_ptr->window &= ~(PW_PLAYER); fix_player(player_ptr); } if (player_ptr->window & (PW_MONSTER_LIST)) { - player_ptr->window &= ~(PW_MONSTER_LIST); - fix_monster_list(player_ptr); + if (need_term_fresh) + player_ptr->window &= ~(PW_MONSTER_LIST); + fix_monster_list(player_ptr); //need this side-effect for work targetting collect } - if (player_ptr->window & (PW_MESSAGE)) { + if (need_term_fresh(player_ptr) && player_ptr->window & (PW_MESSAGE)) { player_ptr->window &= ~(PW_MESSAGE); fix_message(); } - if (player_ptr->window & (PW_OVERHEAD)) { + if (need_term_fresh(player_ptr) && player_ptr->window & (PW_OVERHEAD)) { player_ptr->window &= ~(PW_OVERHEAD); fix_overhead(player_ptr); } - if (player_ptr->window & (PW_DUNGEON)) { + if (need_term_fresh(player_ptr) && player_ptr->window & (PW_DUNGEON)) { player_ptr->window &= ~(PW_DUNGEON); fix_dungeon(player_ptr); } - if (player_ptr->window & (PW_MONSTER)) { + if (need_term_fresh(player_ptr) && player_ptr->window & (PW_MONSTER)) { player_ptr->window &= ~(PW_MONSTER); fix_monster(player_ptr); } - if (player_ptr->window & (PW_OBJECT)) { + if (need_term_fresh(player_ptr) && player_ptr->window & (PW_OBJECT)) { player_ptr->window &= ~(PW_OBJECT); fix_object(player_ptr); } diff --git a/src/dungeon/dungeon-processor.c b/src/dungeon/dungeon-processor.c index 13ddb7b7e..cb1583658 100644 --- a/src/dungeon/dungeon-processor.c +++ b/src/dungeon/dungeon-processor.c @@ -102,7 +102,7 @@ void process_dungeon(player_type *player_ptr, bool load_game) player_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS); player_ptr->update |= (PU_COMBINE | PU_REORDER); handle_stuff(player_ptr); - if (need_term_fresh()) + if (need_term_fresh(player_ptr)) term_fresh(); if (quest_num @@ -170,7 +170,7 @@ void process_dungeon(player_type *player_ptr, bool load_game) handle_stuff(player_ptr); move_cursor_relative(player_ptr->y, player_ptr->x); - if (need_term_fresh()) + if (need_term_fresh(player_ptr)) term_fresh(); if (!player_ptr->playing || player_ptr->is_dead) @@ -180,7 +180,7 @@ void process_dungeon(player_type *player_ptr, bool load_game) handle_stuff(player_ptr); move_cursor_relative(player_ptr->y, player_ptr->x); - if (need_term_fresh()) + if (need_term_fresh(player_ptr)) term_fresh(); if (!player_ptr->playing || player_ptr->is_dead) @@ -190,7 +190,7 @@ void process_dungeon(player_type *player_ptr, bool load_game) handle_stuff(player_ptr); move_cursor_relative(player_ptr->y, player_ptr->x); - if (need_term_fresh()) { + if (need_term_fresh(player_ptr)) { term_fresh(); } diff --git a/src/effect/effect-monster-charm.c b/src/effect/effect-monster-charm.c index 5bfc336e9..0fd5ef4b5 100644 --- a/src/effect/effect-monster-charm.c +++ b/src/effect/effect-monster-charm.c @@ -182,7 +182,7 @@ process_result effect_monster_charm_living(player_type *caster_ptr, effect_monst em_ptr->dam -= caster_ptr->virtues[vir - 1] / 20; } - msg_format(_("%sを見つめた。", "You stare into %s."), em_ptr->m_name); + msg_format(_("%sを見つめた。", "You stare at %s."), em_ptr->m_name); if (common_saving_throw_charm(caster_ptr, em_ptr->dam, em_ptr->m_ptr) || !monster_living(em_ptr->m_ptr->r_idx)) { em_ptr->note = _("には効果がなかった。", " is unaffected."); @@ -393,4 +393,4 @@ process_result effect_monster_capture(player_type *caster_ptr, effect_monster_ty msg_format(_("うまく捕まえられなかった。", "You failed to capture %s."), em_ptr->m_name); em_ptr->skipped = TRUE; return PROCESS_CONTINUE; -} \ No newline at end of file +} diff --git a/src/effect/effect-player-spirit.c b/src/effect/effect-player-spirit.c index b47e42f13..a03c9c676 100644 --- a/src/effect/effect-player-spirit.c +++ b/src/effect/effect-player-spirit.c @@ -26,7 +26,7 @@ void effect_player_drain_mana(player_type *target_ptr, effect_player_type *ep_pt if (ep_ptr->who > 0) msg_format(_("%^sに精神エネルギーを吸い取られてしまった!", "%^s draws psychic energy from you!"), ep_ptr->m_name); else - msg_print(_("精神エネルギーを吸い取られてしまった!", "Your psychic energy is drawn!")); + msg_print(_("精神エネルギーを吸い取られてしまった!", "Your psychic energy is drained!")); if (ep_ptr->dam >= target_ptr->csp) { ep_ptr->dam = target_ptr->csp; diff --git a/src/effect/effect-processor.c b/src/effect/effect-processor.c index b6a749eb3..1d0e3a0f7 100644 --- a/src/effect/effect-processor.c +++ b/src/effect/effect-processor.c @@ -196,29 +196,29 @@ bool project(player_type *caster_ptr, const MONSTER_IDX who, POSITION rad, POSIT gx[grids] = x; grids++; - if (!blind && !(flag & (PROJECT_HIDE))) { - if (panel_contains(y, x) && player_has_los_bold(caster_ptr, y, x)) { - u16b p = bolt_pict(oy, ox, y, x, typ); - TERM_COLOR a = PICT_A(p); - SYMBOL_CODE c = PICT_C(p); - print_rel(caster_ptr, c, a, y, x); - move_cursor_relative(y, x); - if (need_term_fresh()) { + if (msec > 0) { + if (!blind && !(flag & (PROJECT_HIDE))) { + if (panel_contains(y, x) && player_has_los_bold(caster_ptr, y, x)) { + u16b p = bolt_pict(oy, ox, y, x, typ); + TERM_COLOR a = PICT_A(p); + SYMBOL_CODE c = PICT_C(p); + print_rel(caster_ptr, c, a, y, x); + move_cursor_relative(y, x); term_fresh(); term_xtra(TERM_XTRA_DELAY, msec); lite_spot(caster_ptr, y, x); term_fresh(); - } - if (flag & (PROJECT_BEAM)) { - p = bolt_pict(y, x, y, x, typ); - a = PICT_A(p); - c = PICT_C(p); - print_rel(caster_ptr, c, a, y, x); - } + if (flag & (PROJECT_BEAM)) { + p = bolt_pict(y, x, y, x, typ); + a = PICT_A(p); + c = PICT_C(p); + print_rel(caster_ptr, c, a, y, x); + } - visual = TRUE; - } else if (visual) { - term_xtra(TERM_XTRA_DELAY, msec); + visual = TRUE; + } else if (visual) { + term_xtra(TERM_XTRA_DELAY, msec); + } } } @@ -291,29 +291,31 @@ bool project(player_type *caster_ptr, const MONSTER_IDX who, POSITION rad, POSIT gx[grids] = x; grids++; { - if (panel_contains(y, x) && player_has_los_bold(caster_ptr, y, x)) { - u16b p; - TERM_COLOR a; - SYMBOL_CODE c; - p = bolt_pict(oy, ox, y, x, typ); - a = PICT_A(p); - c = PICT_C(p); - print_rel(caster_ptr, c, a, y, x); - move_cursor_relative(y, x); - term_fresh(); - term_xtra(TERM_XTRA_DELAY, msec); - lite_spot(caster_ptr, y, x); - term_fresh(); - if (flag & (PROJECT_BEAM)) { - p = bolt_pict(y, x, y, x, typ); + if (msec > 0) { + if (panel_contains(y, x) && player_has_los_bold(caster_ptr, y, x)) { + u16b p; + TERM_COLOR a; + SYMBOL_CODE c; + p = bolt_pict(oy, ox, y, x, typ); a = PICT_A(p); c = PICT_C(p); print_rel(caster_ptr, c, a, y, x); - } + move_cursor_relative(y, x); + term_fresh(); + term_xtra(TERM_XTRA_DELAY, msec); + lite_spot(caster_ptr, y, x); + term_fresh(); + if (flag & (PROJECT_BEAM)) { + p = bolt_pict(y, x, y, x, typ); + a = PICT_A(p); + c = PICT_C(p); + print_rel(caster_ptr, c, a, y, x); + } - visual = TRUE; - } else if (visual) { - term_xtra(TERM_XTRA_DELAY, msec); + visual = TRUE; + } else if (visual) { + term_xtra(TERM_XTRA_DELAY, msec); + } } } @@ -403,30 +405,32 @@ bool project(player_type *caster_ptr, const MONSTER_IDX who, POSITION rad, POSIT grids++; } - if (!blind && !(flag & (PROJECT_HIDE | PROJECT_FAST))) { - if (panel_contains(y, x) && player_has_los_bold(caster_ptr, y, x)) { - u16b p; - TERM_COLOR a; - SYMBOL_CODE c; - p = bolt_pict(oy, ox, y, x, typ); - a = PICT_A(p); - c = PICT_C(p); - print_rel(caster_ptr, c, a, y, x); - move_cursor_relative(y, x); - term_fresh(); - term_xtra(TERM_XTRA_DELAY, msec); - lite_spot(caster_ptr, y, x); - term_fresh(); - if (flag & (PROJECT_BEAM)) { - p = bolt_pict(y, x, y, x, typ); + if (msec > 0) { + if (!blind && !(flag & (PROJECT_HIDE | PROJECT_FAST))) { + if (panel_contains(y, x) && player_has_los_bold(caster_ptr, y, x)) { + u16b p; + TERM_COLOR a; + SYMBOL_CODE c; + p = bolt_pict(oy, ox, y, x, typ); a = PICT_A(p); c = PICT_C(p); print_rel(caster_ptr, c, a, y, x); - } + move_cursor_relative(y, x); + term_fresh(); + term_xtra(TERM_XTRA_DELAY, msec); + lite_spot(caster_ptr, y, x); + term_fresh(); + if (flag & (PROJECT_BEAM)) { + p = bolt_pict(y, x, y, x, typ); + a = PICT_A(p); + c = PICT_C(p); + print_rel(caster_ptr, c, a, y, x); + } - visual = TRUE; - } else if (visual) { - term_xtra(TERM_XTRA_DELAY, msec); + visual = TRUE; + } else if (visual) { + term_xtra(TERM_XTRA_DELAY, msec); + } } } } @@ -504,7 +508,7 @@ bool project(player_type *caster_ptr, const MONSTER_IDX who, POSITION rad, POSIT if (!grids) return FALSE; - if (!blind && !(flag & (PROJECT_HIDE))) { + if (!blind && !(flag & (PROJECT_HIDE)) && (msec > 0)) { for (int t = 0; t <= gm_rad; t++) { for (int i = gm[t]; i < gm[t + 1]; i++) { y = gy[i]; @@ -522,9 +526,7 @@ bool project(player_type *caster_ptr, const MONSTER_IDX who, POSITION rad, POSIT } move_cursor_relative(by, bx); - - if (need_term_fresh()) - term_fresh(); + term_fresh(); if (visual || drawn) { term_xtra(TERM_XTRA_DELAY, msec); } @@ -540,7 +542,7 @@ bool project(player_type *caster_ptr, const MONSTER_IDX who, POSITION rad, POSIT } move_cursor_relative(by, bx); - if (need_term_fresh()) + if (need_term_fresh(caster_ptr)) term_fresh(); } } @@ -799,4 +801,4 @@ bool project(player_type *caster_ptr, const MONSTER_IDX who, POSITION rad, POSIT } return (notice); -} \ No newline at end of file +} diff --git a/src/floor/floor-generator.c b/src/floor/floor-generator.c index b735c0449..0595a713e 100644 --- a/src/floor/floor-generator.c +++ b/src/floor/floor-generator.c @@ -128,7 +128,7 @@ static void generate_challenge_arena(player_type *challanger_ptr) challanger_ptr->exit_bldg = TRUE; challanger_ptr->arena_number++; - msg_print(_("相手は欠場した。あなたの不戦勝だ。", "The enemy is unable appear. You won by default.")); + msg_print(_("相手は欠場した。あなたの不戦勝だ。", "The enemy is unable to appear. You won by default.")); } /*! diff --git a/src/floor/wild.c b/src/floor/wild.c index c546a4237..c70757986 100644 --- a/src/floor/wild.c +++ b/src/floor/wild.c @@ -879,7 +879,7 @@ bool change_wild_mode(player_type *creature_ptr, bool encount) if (monster_csleep_remaining(m_ptr) || (m_ptr->cdis > MAX_SIGHT) || !is_hostile(m_ptr)) continue; - msg_print(_("敵がすぐ近くにいるときは広域マップに入れない!", "You cannot enter global map, since there is some monsters nearby!")); + msg_print(_("敵がすぐ近くにいるときは広域マップに入れない!", "You cannot enter global map, since there are some monsters nearby!")); free_turn(creature_ptr); return FALSE; } diff --git a/src/game-option/option-types-table.c b/src/game-option/option-types-table.c index 846db2496..979c38fa1 100644 --- a/src/game-option/option-types-table.c +++ b/src/game-option/option-types-table.c @@ -86,7 +86,7 @@ const option_type option_info[MAX_OPTION_INFO] = { { &fresh_message, FALSE, OPT_PAGE_MAPSCREEN, 1, 25, "fresh_message", _("メッセージの後に画面を再描画する", "Flush output after every message") }, - { &hilite_player, FALSE, OPT_PAGE_MAPSCREEN, 1, 27, "hilite_player", _("プレイヤーにカーソルを合わせる", "Hilite the player with the cursor") }, + { &hilite_player, FALSE, OPT_PAGE_MAPSCREEN, 1, 27, "hilite_player", _("プレイヤーにカーソルを合わせる", "Highlight the player with the cursor") }, { &display_path, FALSE, OPT_PAGE_MAPSCREEN, 2, 8, "display_path", _("魔法や矢の軌跡を表示する", "Display actual path before shooting") }, diff --git a/src/inventory/inventory-curse.c b/src/inventory/inventory-curse.c index 025553cc8..0b16bf0dd 100644 --- a/src/inventory/inventory-curse.c +++ b/src/inventory/inventory-curse.c @@ -164,7 +164,7 @@ static void curse_teleport(player_type *creature_ptr) o_ptr = &creature_ptr->inventory_list[i_keep]; describe_flavor(creature_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); - msg_format(_("%sがテレポートの能力を発動させようとしている。", "Your %s is activating teleportation."), o_name); + msg_format(_("%sがテレポートの能力を発動させようとしている。", "Your %s tries to teleport you."), o_name); if (get_check_strict(creature_ptr, _("テレポートしますか?", "Teleport? "), CHECK_OKAY_CANCEL)) { disturb(creature_ptr, FALSE, TRUE); teleport_player(creature_ptr, 50, TELEPORT_SPONTANEOUS); @@ -269,7 +269,7 @@ static void curse_call_monster(player_type *creature_ptr) if (summon_specific(creature_ptr, 0, creature_ptr->y, creature_ptr->x, floor_ptr->dun_level, SUMMON_DRAGON, call_type)) { GAME_TEXT o_name[MAX_NLEN]; describe_flavor(creature_ptr, o_name, choose_cursed_obj_name(creature_ptr, TRC_CALL_DRAGON), obj_desc_type); - msg_format(_("%sがドラゴンを引き寄せた!", "Your %s has attracted an dragon!"), o_name); + msg_format(_("%sがドラゴンを引き寄せた!", "Your %s has attracted a dragon!"), o_name); disturb(creature_ptr, FALSE, TRUE); } } diff --git a/src/io/inet.c b/src/io/inet.c index c2638b963..d618301b3 100644 --- a/src/io/inet.c +++ b/src/io/inet.c @@ -209,7 +209,7 @@ int connect_server(int timeout, concptr host, int port) #ifdef JP errstr = "エラー: プロキシのアドレスが不正です"; #else - errstr = "Error : wrong proxy addres"; + errstr = "Error : wrong proxy address"; #endif restore_signal(); @@ -220,7 +220,7 @@ int connect_server(int timeout, concptr host, int port) #ifdef JP errstr = "エラー: サーバのアドレスが不正です"; #else - errstr = "Error : wrong server adress"; + errstr = "Error : wrong server address"; #endif restore_signal(); diff --git a/src/io/input-key-requester.c b/src/io/input-key-requester.c index 7f8631496..cd5e1ea2a 100644 --- a/src/io/input-key-requester.c +++ b/src/io/input-key-requester.c @@ -208,7 +208,7 @@ void request_command(player_type *player_ptr, int shopping) msg_flag = FALSE; num_more = 0; inkey_flag = TRUE; - if (need_term_fresh()) { + if (need_term_fresh(player_ptr)) { term_fresh(); } cmd = inkey(); diff --git a/src/knowledge/object-group-table.c b/src/knowledge/object-group-table.c index fad01d8ec..9c11eae75 100644 --- a/src/knowledge/object-group-table.c +++ b/src/knowledge/object-group-table.c @@ -11,9 +11,9 @@ * Description of each monster group. */ concptr object_group_text[MAX_OBJECT_GROUP_TEXT] = { _("キノコ", "Mushrooms"), _("薬", "Potions"), _("油つぼ", "Flasks"), _("巻物", "Scrolls"), - _("指輪", "Rings"), _("アミュレット", "Amulets"), _("笛", "Whistle"), _("光源", "Lanterns"), _("魔法棒", "Wands"), _("杖", "Staffs"), _("ロッド", "Rods"), - _("カード", "Cards"), _("モンスター・ボール", "Capture Balls"), _("羊皮紙", "Parchments"), _("くさび", "Spikes"), _("箱", "Boxs"), _("人形", "Figurines"), - _("像", "Statues"), _("ゴミ", "Junks"), _("空のビン", "Bottles"), _("骨", "Skeletons"), _("死体", "Corpses"), _("刀剣類", "Swords"), + _("指輪", "Rings"), _("アミュレット", "Amulets"), _("笛", "Whistles"), _("光源", "Lanterns"), _("魔法棒", "Wands"), _("杖", "Staffs"), _("ロッド", "Rods"), + _("カード", "Cards"), _("モンスター・ボール", "Capture Balls"), _("羊皮紙", "Parchments"), _("くさび", "Spikes"), _("箱", "Boxes"), _("人形", "Figurines"), + _("像", "Statues"), _("ゴミ", "Junk"), _("空のビン", "Bottles"), _("骨", "Skeletons"), _("死体", "Corpses"), _("刀剣類", "Swords"), _("鈍器", "Blunt Weapons"), _("長柄武器", "Polearms"), _("採掘道具", "Diggers"), _("飛び道具", "Bows"), _("弾", "Shots"), _("矢", "Arrows"), _("ボルト", "Bolts"), _("軽装鎧", "Soft Armor"), _("重装鎧", "Hard Armor"), _("ドラゴン鎧", "Dragon Armor"), _("盾", "Shields"), _("クローク", "Cloaks"), _("籠手", "Gloves"), _("ヘルメット", "Helms"), _("冠", "Crowns"), _("ブーツ", "Boots"), _("魔法書", "Spellbooks"), _("財宝", "Treasure"), diff --git a/src/lore/magic-types-setter.c b/src/lore/magic-types-setter.c index 9e46fc29b..c350fd55a 100644 --- a/src/lore/magic-types-setter.c +++ b/src/lore/magic-types-setter.c @@ -402,7 +402,7 @@ void set_teleport_types(lore_type *lore_ptr) } if (lore_ptr->a_ability_flags2 & (RF6_WORLD)) { - lore_ptr->vp[lore_ptr->vn] = _("時を止める", "stop the time"); + lore_ptr->vp[lore_ptr->vn] = _("時を止める", "stop time"); lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE; } diff --git a/src/main-win.c b/src/main-win.c index 9b65dfc8d..29587e8f4 100644 --- a/src/main-win.c +++ b/src/main-win.c @@ -968,8 +968,12 @@ static void load_music_prefs(void) char *zz[SAMPLE_MUSIC_MAX]; char key[80]; - path_build(ini_path, 1024, ANGBAND_DIR_XTRA_MUSIC, "music.cfg"); - GetPrivateProfileString("Device", "type", "", mci_device_type, 256, ini_path); + path_build(ini_path, 1024, ANGBAND_DIR_XTRA_MUSIC, "music_debug.cfg"); + if (GetPrivateProfileString("Device", "type", "", mci_device_type, 256, ini_path) == 0) { + path_build(ini_path, 1024, ANGBAND_DIR_XTRA_MUSIC, "music.cfg"); + GetPrivateProfileString("Device", "type", "", mci_device_type, 256, ini_path); + } + for (int i = 0; i < MUSIC_BASIC_MAX; i++) { GetPrivateProfileString("Basic", angband_music_basic_name[i], "", tmp, 1024, ini_path); int num = tokenize_whitespace(tmp, SAMPLE_MUSIC_MAX, zz); diff --git a/src/mind/mind-mirror-master.c b/src/mind/mind-mirror-master.c index 8dbd69f94..f1893ceab 100644 --- a/src/mind/mind-mirror-master.c +++ b/src/mind/mind-mirror-master.c @@ -168,7 +168,7 @@ bool binding_field(player_type *caster_ptr, HIT_POINT dam) u16b p = bolt_pict(y, x, y, x, GF_MANA); print_rel(caster_ptr, PICT_C(p), PICT_A(p), y, x); move_cursor_relative(y, x); - if (need_term_fresh()) { + if (need_term_fresh(caster_ptr)) { term_fresh(); term_xtra(TERM_XTRA_DELAY, msec); } diff --git a/src/monster-floor/one-monster-placer.c b/src/monster-floor/one-monster-placer.c index a3fda01e2..a8297024a 100644 --- a/src/monster-floor/one-monster-placer.c +++ b/src/monster-floor/one-monster-placer.c @@ -217,7 +217,7 @@ static void warn_unique_generation(player_type *player_ptr, MONRACE_IDX r_idx) describe_flavor(player_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY)); msg_format(_("%sは%s光った。", "%s glows %s."), o_name, color); } else { - msg_format(_("%s光る物が頭に浮かんだ。", "An %s image forms in your mind."), color); + msg_format(_("%s光る物が頭に浮かんだ。", "A %s image forms in your mind."), color); } } diff --git a/src/monster-floor/special-death-switcher.c b/src/monster-floor/special-death-switcher.c index 45be69492..4a15bf747 100644 --- a/src/monster-floor/special-death-switcher.c +++ b/src/monster-floor/special-death-switcher.c @@ -230,7 +230,7 @@ static void on_dead_rolento(player_type *player_ptr, monster_death_type *md_ptr) if (is_seen(player_ptr, md_ptr->m_ptr)) { GAME_TEXT m_name[MAX_NLEN]; monster_desc(player_ptr, m_name, md_ptr->m_ptr, MD_NONE); - msg_format(_("%sは手榴弾を抱えて自爆した!", "%^s broke himself with grenades!"), m_name); + msg_format(_("%sは手榴弾を抱えて自爆した!", "%^s blew himself up with grenades!"), m_name); } (void)project(player_ptr, md_ptr->m_idx, 3, md_ptr->md_y, md_ptr->md_x, damroll(20, 10), GF_FIRE, PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL, -1); @@ -290,7 +290,7 @@ static void on_dead_dragon_centipede(player_type *player_ptr, monster_death_type GAME_TEXT m_name[MAX_NLEN]; monster_desc(player_ptr, m_name, md_ptr->m_ptr, MD_NONE); if (notice) { - msg_format(_("%sが再生した!", "The %s was reproduced!"), m_name); + msg_format(_("%sが再生した!", "The %s reproduced!"), m_name); sound(SOUND_SUMMON); } } diff --git a/src/mspell/assign-monster-spell.c b/src/mspell/assign-monster-spell.c index 8ff78259d..de115e655 100644 --- a/src/mspell/assign-monster-spell.c +++ b/src/mspell/assign-monster-spell.c @@ -106,7 +106,7 @@ HIT_POINT monspell_to_player(player_type *target_ptr, SPELL_IDX ms_type, POSITIO case RF6_SPELL_START + 8: spell_RF6_TELE_TO(target_ptr, m_idx, 0, MONSTER_TO_PLAYER); break; /* RF6_TELE_TO */ case RF6_SPELL_START + 9: spell_RF6_TELE_AWAY(target_ptr, m_idx, 0, MONSTER_TO_PLAYER); break; /* RF6_TELE_AWAY */ case RF6_SPELL_START + 10: spell_RF6_TELE_LEVEL(target_ptr, m_idx, 0, MONSTER_TO_PLAYER); break; /* RF6_TELE_LEVEL */ - case RF6_SPELL_START + 11: spell_RF6_PSY_SPEAR(target_ptr, y, x, m_idx, 0, MONSTER_TO_PLAYER); break; /* RF6_PSY_SPEAR */ + case RF6_SPELL_START + 11: return spell_RF6_PSY_SPEAR(target_ptr, y, x, m_idx, 0, MONSTER_TO_PLAYER); break; /* RF6_PSY_SPEAR */ case RF6_SPELL_START + 12: spell_RF6_DARKNESS(target_ptr, y, x, m_idx, 0, MONSTER_TO_PLAYER); break; /* RF6_DARKNESS */ case RF6_SPELL_START + 13: spell_RF6_TRAPS(target_ptr, y, x, m_idx); break; /* RF6_TRAPS */ case RF6_SPELL_START + 14: spell_RF6_FORGET(target_ptr, m_idx); break; /* RF6_FORGET */ diff --git a/src/spell-kind/spells-genocide.c b/src/spell-kind/spells-genocide.c index f11bfbade..b95a3334e 100644 --- a/src/spell-kind/spells-genocide.c +++ b/src/spell-kind/spells-genocide.c @@ -100,7 +100,7 @@ bool genocide_aux(player_type *caster_ptr, MONSTER_IDX m_idx, int power, bool pl caster_ptr->redraw |= (PR_HP); caster_ptr->window |= (PW_PLAYER); handle_stuff(caster_ptr); - if (need_term_fresh()) + if (need_term_fresh(caster_ptr)) term_fresh(); int msec = delay_factor * delay_factor * delay_factor; diff --git a/src/spell-kind/spells-sight.c b/src/spell-kind/spells-sight.c index 35cb8e0e5..f2377a9c0 100644 --- a/src/spell-kind/spells-sight.c +++ b/src/spell-kind/spells-sight.c @@ -396,7 +396,7 @@ bool probing(player_type *caster_ptr) Term->scr->cu = cu; Term->scr->cv = cv; - if (need_term_fresh()) + if (need_term_fresh(caster_ptr)) term_fresh(); if (probe) { diff --git a/src/term/z-term.c b/src/term/z-term.c index 59428623a..3c19667d9 100644 --- a/src/term/z-term.c +++ b/src/term/z-term.c @@ -8,9 +8,11 @@ */ #include "term/z-term.h" +#include "core/player-processor.h" #include "game-option/map-screen-options.h" #include "game-option/runtime-arguments.h" #include "game-option/special-options.h" +#include "io/input-key-requester.h" #include "term/gameterm.h" #include "term/term-color-types.h" #include "term/z-virt.h" @@ -1027,7 +1029,8 @@ bool macro_running(void) return diff < -1 || 1 < diff; } -bool need_term_fresh(void) { return !macro_running() || fresh_after; } +bool need_term_fresh(player_type *player_ptr) { return (!macro_running() && !continuous_action_running(player_ptr)) || fresh_after; } + /* * @brief Actually perform all requested changes to the window */ @@ -2335,4 +2338,4 @@ errr term_nuke(term_type *t) C_KILL(t->key_queue, t->key_size, char); return 0; } -#endif \ No newline at end of file +#endif diff --git a/src/term/z-term.h b/src/term/z-term.h index ae522d94a..c3d66a834 100644 --- a/src/term/z-term.h +++ b/src/term/z-term.h @@ -96,6 +96,8 @@ typedef struct term_type { concptr tcp); //!< タイル描画実装部 / Hook for drawing a sequence of special attr / char pairs } term_type; +typedef struct player_type player_type; + /**** Available Constants ****/ /* @@ -145,7 +147,8 @@ void term_queue_char(TERM_LEN x, TERM_LEN y, TERM_COLOR a, char c, TERM_COLOR ta void term_queue_bigchar(TERM_LEN x, TERM_LEN y, TERM_COLOR a, char c, TERM_COLOR ta, char tc); void term_queue_line(TERM_LEN x, TERM_LEN y, int n, TERM_COLOR *a, char *c, TERM_COLOR *ta, char *tc); -bool need_term_fresh(void); + +bool need_term_fresh(player_type *player_ptr); errr term_fresh(void); errr term_set_cursor(int v); diff --git a/src/window/display-sub-window-spells.c b/src/window/display-sub-window-spells.c index d2aa256da..d2d12ecbd 100644 --- a/src/window/display-sub-window-spells.c +++ b/src/window/display-sub-window-spells.c @@ -184,7 +184,7 @@ void fix_spell(player_type *player_ptr) term_activate(angband_term[j]); display_spell_list(player_ptr); - if (need_term_fresh()) { + if (need_term_fresh(player_ptr)) { term_fresh(); player_ptr->window &= ~(PW_SPELL); } diff --git a/src/window/display-sub-windows.c b/src/window/display-sub-windows.c index 1f1230b75..0bbf4b987 100644 --- a/src/window/display-sub-windows.c +++ b/src/window/display-sub-windows.c @@ -185,7 +185,8 @@ void fix_monster_list(player_type *player_ptr) term_clear(); target_set_prepare(player_ptr, TARGET_LOOK); print_monster_list(player_ptr->current_floor_ptr, 0, 0, h); - term_fresh(); + if (need_term_fresh(player_ptr)) + term_fresh(); term_activate(old); } } diff --git a/src/wizard/wizard-item-modifier.c b/src/wizard/wizard-item-modifier.c index f76f63a5d..7350ed38e 100644 --- a/src/wizard/wizard-item-modifier.c +++ b/src/wizard/wizard-item-modifier.c @@ -226,7 +226,7 @@ static void wiz_statistics(player_type *caster_ptr, object_type *o_ptr) } prt(format(q, i, correct, matches, better, worse, other), 0, 0); - if (need_term_fresh()) + if (need_term_fresh(caster_ptr)) term_fresh(); }