1 #include "world/world.h"
2 #include "player/player-race-types.h"
5 world_type *current_world_ptr = &world;
8 * @brief ゲーム時間が日中かどうかを返す /
9 * Whether daytime or not
10 * @return 日中ならばTRUE、夜ならばFALSE
14 s32b len = TURNS_PER_TICK * TOWN_DAWN;
15 if ((current_world_ptr->game_turn % len) < (len / 2))
22 * @brief 現在の日数、時刻を返す /
23 * Extract day, hour, min
24 * @param player_ptr プレーヤーへの参照ポインタ
25 * @param day 日数を返すための参照ポインタ
26 * @param hour 時数を返すための参照ポインタ
27 * @param min 分数を返すための参照ポインタ
29 void extract_day_hour_min(player_type *player_ptr, int *day, int *hour, int *min)
31 const s32b A_DAY = TURNS_PER_TICK * TOWN_DAWN;
32 s32b turn_in_today = (current_world_ptr->game_turn + A_DAY / 4) % A_DAY;
34 switch (player_ptr->start_race)
40 *day = (current_world_ptr->game_turn - A_DAY * 3 / 4) / A_DAY + 1;
43 *day = (current_world_ptr->game_turn + A_DAY / 4) / A_DAY + 1;
46 *hour = (24 * turn_in_today / A_DAY) % 24;
47 *min = (1440 * turn_in_today / A_DAY) % 60;
51 * @brief 実ゲームプレイ時間を更新する
53 void update_playtime(void)
55 if (current_world_ptr->start_time != 0) {
56 u32b tmp = (u32b)time(NULL);
57 current_world_ptr->play_time += (tmp - current_world_ptr->start_time);
58 current_world_ptr->start_time = tmp;