#include "autopick/autopick.h"
#include "cmd-io/cmd-autopick.h"
#include "cmd-io/cmd-dump.h"
+#include "core/asking-player.h"
#include "core/player-redraw-types.h"
#include "core/show-file.h"
#include "core/window-redrawer.h"
case 'D':
case 'd': {
clear_from(18);
- prt(_("コマンド: 基本ウェイト量", "Command: Base Delay Factor"), 19, 0);
- while (true) {
- int msec = delay_factor * delay_factor * delay_factor;
- prt(format(_("現在のウェイト: %d (%dミリ秒)", "Current base delay factor: %d (%d msec)"), delay_factor, msec), 22, 0);
- prt(_("ウェイト (0-9) ESCで決定: ", "Delay Factor (0-9 or ESC to accept): "), 20, 0);
- k = inkey();
- if (k == ESCAPE)
- break;
- else if (k == '?') {
- (void)show_file(player_ptr, true, _("joption.txt#BaseDelay", "option.txt#BaseDelay"), nullptr, 0, 0);
- term_clear();
- } else if (isdigit(k))
- delay_factor = D2I(k);
- else
- bell();
- }
-
+ prt(format(_("現在ウェイト量(msec): %d", "Current Delay Factor(msec): %d"), delay_factor), 19, 0);
+ (void)get_value(_("コマンド: ウェイト量(msec)", "Command: Delay Factor(msec)"), 0, 1000, &delay_factor);
+ clear_from(18);
break;
}
case 'H':
uint16_t path_g[512]; /* For calcuration of path length */
- int msec = delay_factor * delay_factor * delay_factor;
-
/* STICK TO */
bool stick_to = false;
byte a = object_attr(q_ptr);
/* Draw, Hilite, Fresh, Pause, Erase */
- if (msec > 0) {
+ if (delay_factor > 0) {
print_rel(player_ptr, c, a, ny, nx);
move_cursor_relative(ny, nx);
term_fresh();
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
lite_spot(player_ptr, ny, nx);
term_fresh();
}
/* The player cannot see the missile */
else {
/* Pause anyway, for consistancy **/
- if (msec > 0) {
- term_xtra(TERM_XTRA_DELAY, msec);
+ if (delay_factor > 0) {
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
}
}
update_monster(player_ptr, m_idx, true);
- if (msec > 0) {
+ if (delay_factor > 0) {
lite_spot(player_ptr, ny, nx);
lite_spot(player_ptr, oy, ox);
term_fresh();
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
}
x = nx;
POSITION x2;
POSITION y_saver;
POSITION x_saver;
- int msec = delay_factor * delay_factor * delay_factor;
bool visual = false;
bool drawn = false;
bool breath = false;
gx[grids] = x;
grids++;
- if (msec > 0) {
+ if (delay_factor > 0) {
if (!blind && !(flag & (PROJECT_HIDE))) {
if (panel_contains(y, x) && player_has_los_bold(player_ptr, y, x)) {
uint16_t p = bolt_pict(oy, ox, y, x, typ);
print_rel(player_ptr, c, a, y, x);
move_cursor_relative(y, x);
term_fresh();
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
lite_spot(player_ptr, y, x);
term_fresh();
if (flag & (PROJECT_BEAM)) {
visual = true;
} else if (visual) {
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
}
}
}
gx[grids] = x;
grids++;
{
- if (msec > 0) {
+ if (delay_factor > 0) {
if (panel_contains(y, x) && player_has_los_bold(player_ptr, y, x)) {
uint16_t p;
TERM_COLOR a;
print_rel(player_ptr, c, a, y, x);
move_cursor_relative(y, x);
term_fresh();
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
lite_spot(player_ptr, y, x);
term_fresh();
if (flag & (PROJECT_BEAM)) {
visual = true;
} else if (visual) {
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
}
}
}
grids++;
}
- if (msec > 0) {
+ if (delay_factor > 0) {
if (!blind && !(flag & (PROJECT_HIDE | PROJECT_FAST))) {
if (panel_contains(y, x) && player_has_los_bold(player_ptr, y, x)) {
uint16_t p;
print_rel(player_ptr, c, a, y, x);
move_cursor_relative(y, x);
term_fresh();
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
lite_spot(player_ptr, y, x);
term_fresh();
if (flag & (PROJECT_BEAM)) {
visual = true;
} else if (visual) {
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
}
}
}
if (!grids)
return res;
- if (!blind && !(flag & (PROJECT_HIDE)) && (msec > 0)) {
+ if (!blind && !(flag & (PROJECT_HIDE)) && (delay_factor > 0)) {
for (int t = 0; t <= gm_rad; t++) {
for (int i = gm[t]; i < gm[t + 1]; i++) {
y = gy[i];
move_cursor_relative(by, bx);
term_fresh();
if (visual || drawn) {
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
}
}
byte hitpoint_warn; /* Hitpoint warning (0 to 9) */
byte mana_warn; /* Mana color (0 to 9) */
-byte delay_factor; /* Delay factor (0 to 9) */
+int32_t delay_factor; /* Delay factor (0 to 9) */
bool autosave_l; /* Autosave before entering new levels */
bool autosave_t; /* Timed autosave */
int16_t autosave_freq; /* Autosave frequency */
extern byte hitpoint_warn;
extern byte mana_warn;
-extern byte delay_factor;
+extern int32_t delay_factor;
extern int16_t autosave_freq;
extern bool autosave_t;
extern bool autosave_l;
strip_bytes(16);
byte b;
- rd_byte(&b);
- delay_factor = b;
+
+ if (loading_savefile_version_is_older_than(9)) {
+ rd_byte(&b);
+ delay_factor = b * b * b;
+ } else {
+ rd_s32b(&delay_factor);
+ }
rd_byte(&b);
hitpoint_warn = b;
{
POSITION mirror_x[10], mirror_y[10]; /* 鏡はもっと少ない */
int mirror_num = 0; /* 鏡の数 */
- int msec = delay_factor * delay_factor * delay_factor;
/* 三角形の頂点 */
POSITION point_x[3];
print_rel(player_ptr, PICT_C(p), PICT_A(p), y, x);
move_cursor_relative(y, x);
term_fresh();
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
}
}
}
, player_ptr(player_ptr)
, shuriken(shuriken)
, mult(mult)
- , msec(delay_factor_val * delay_factor_val * delay_factor_val)
+ , msec(delay_factor_val)
, boomerang(boomerang)
{
}
for (int i = 0; i < 4; i++)
wr_u32b(0L);
- wr_byte(delay_factor);
+ wr_u32b(delay_factor);
+
wr_byte(hitpoint_warn);
wr_byte(mana_warn);
handle_stuff(player_ptr);
term_fresh();
- int msec = delay_factor * delay_factor * delay_factor;
- term_xtra(TERM_XTRA_DELAY, msec);
+ term_xtra(TERM_XTRA_DELAY, delay_factor);
return !resist;
}