#include "angband.h"
#include "init.h"
+#include "trap.h"
+#include "rooms.h"
+#include "store.h"
#ifndef MACINTOSH
#ifdef CHECK_MODIFICATION_TIME
/* Allow "fat binary" usage with NeXT */
if (TRUE)
{
- cptr next = NULL;
+ concptr next = NULL;
# if defined(m68k)
next = "m68k";
/*!
* エラーメッセージの名称定義 / Standard error message text
*/
-cptr err_str[PARSE_ERROR_MAX] =
+concptr err_str[PARSE_ERROR_MAX] =
{
NULL,
#ifdef JP
* @param template_file ファイル名
* @return テキストの方が新しいか、rawファイルがなく更新の必要がある場合-1、更新の必要がない場合0。
*/
-static errr check_modification_date(int fd, cptr template_file)
+static errr check_modification_date(int fd, concptr template_file)
{
char buf[1024];
* @param len データの長さ
* @return エラーコード
*/
-static void init_header(header *head, int num, int len)
+static void init_header(header *head, IDX num, int len)
{
/* Save the "version" */
head->v_major = FAKE_VER_MAJOR;
head->v_extra = 0;
/* Save the "record" information */
- head->info_num = num;
+ head->info_num = (IDX)num;
head->info_len = len;
/* Save the size of "*_head" and "*_info" */
* Note that we let each entry have a unique "name" and "text" string,
* even if the string happens to be empty (everyone has a unique '\0').
*/
-static errr init_info(cptr filename, header *head,
+static errr init_info(concptr filename, header *head,
void **info, char **name, char **text, char **tag)
{
int fd;
/* Errors */
if (err)
{
- cptr oops;
+ concptr oops;
#ifdef JP
/* Error string */
oops = (((err > 0) && (err < PARSE_ERROR_MAX)) ? err_str[err] : "未知の");
- /* Oops */
msg_format("'%s.txt'ファイルの %d 行目にエラー。", filename, error_line);
msg_format("レコード %d は '%s' エラーがあります。", error_idx, oops);
msg_format("構文 '%s'。", buf);
/* Error string */
oops = (((err > 0) && (err < PARSE_ERROR_MAX)) ? err_str[err] : "unknown");
- /* Oops */
msg_format("Error %d at line %d of '%s.txt'.", err, error_line, filename);
msg_format("Record %d contains a '%s' error.", error_idx, oops);
msg_format("Parsing '%s'.", buf);
if (fd >= 0)
{
/* Dump it */
- fd_write(fd, (cptr)(head), head->head_size);
+ fd_write(fd, (concptr)(head), head->head_size);
/* Dump the "*_info" array */
fd_write(fd, head->info_ptr, head->info_size);
static errr init_d_info(void)
{
/* Init the header */
- init_header(&d_head, max_d_idx, sizeof(dungeon_info_type));
+ init_header(&d_head, max_d_idx, sizeof(dungeon_type));
#ifdef ALLOW_TEMPLATES
-/*** Initialize others ***/
-
-/*!
- * 店舗で販売するオブジェクトを定義する / Hack -- Objects sold in the stores -- by tval/sval pair.
- */
-static byte store_table[MAX_STORES][STORE_CHOICES][2] =
-{
- {
- /* General Store */
-
- { TV_FOOD, SV_FOOD_RATION },
- { TV_FOOD, SV_FOOD_RATION },
- { TV_FOOD, SV_FOOD_RATION },
- { TV_FOOD, SV_FOOD_RATION },
-
- { TV_FOOD, SV_FOOD_RATION },
- { TV_FOOD, SV_FOOD_BISCUIT },
- { TV_FOOD, SV_FOOD_JERKY },
- { TV_FOOD, SV_FOOD_JERKY },
-
- { TV_FOOD, SV_FOOD_PINT_OF_WINE },
- { TV_FOOD, SV_FOOD_PINT_OF_ALE },
- { TV_LITE, SV_LITE_TORCH },
- { TV_LITE, SV_LITE_TORCH },
-
- { TV_LITE, SV_LITE_TORCH },
- { TV_LITE, SV_LITE_TORCH },
- { TV_LITE, SV_LITE_LANTERN },
- { TV_LITE, SV_LITE_LANTERN },
-
- { TV_FLASK, 0 },
- { TV_FLASK, 0 },
- { TV_FLASK, 0 },
- { TV_FLASK, 0 },
-
- { TV_FLASK, 0 },
- { TV_FLASK, 0 },
- { TV_SPIKE, 0 },
- { TV_SPIKE, 0 },
-
- { TV_SHOT, SV_AMMO_NORMAL },
- { TV_ARROW, SV_AMMO_NORMAL },
- { TV_BOLT, SV_AMMO_NORMAL },
- { TV_DIGGING, SV_SHOVEL },
-
- { TV_DIGGING, SV_PICK },
- { TV_CLOAK, SV_CLOAK },
- { TV_CLOAK, SV_CLOAK },
- { TV_CLOAK, SV_FUR_CLOAK },
-
- { TV_FOOD, SV_FOOD_RATION },
- { TV_FOOD, SV_FOOD_RATION },
- { TV_FOOD, SV_FOOD_RATION },
- { TV_FOOD, SV_FOOD_RATION },
-
- { TV_POTION, SV_POTION_WATER },
- { TV_POTION, SV_POTION_WATER },
- { TV_LITE, SV_LITE_LANTERN },
- { TV_LITE, SV_LITE_LANTERN },
-
- { TV_FOOD, SV_FOOD_WAYBREAD },
- { TV_FOOD, SV_FOOD_WAYBREAD },
- { TV_CAPTURE, 0 },
- { TV_FIGURINE, 0 },
-
- { TV_SHOT, SV_AMMO_NORMAL },
- { TV_ARROW, SV_AMMO_NORMAL },
- { TV_BOLT, SV_AMMO_NORMAL },
- { TV_DIGGING, SV_SHOVEL }
- },
-
- {
- /* Armoury */
-
- { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
- { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
- { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
- { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
-
- { TV_HELM, SV_HARD_LEATHER_CAP },
- { TV_HELM, SV_HARD_LEATHER_CAP },
- { TV_HELM, SV_METAL_CAP },
- { TV_HELM, SV_IRON_HELM },
-
- { TV_SOFT_ARMOR, SV_ROBE },
- { TV_SOFT_ARMOR, SV_ROBE },
- { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
- { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
-
- { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
- { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
- { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
- { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
-
- { TV_SOFT_ARMOR, SV_RHINO_HIDE_ARMOR },
- { TV_SOFT_ARMOR, SV_LEATHER_SCALE_MAIL },
- { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
- { TV_HARD_ARMOR, SV_CHAIN_MAIL },
-
- { TV_HARD_ARMOR, SV_DOUBLE_RING_MAIL },
- { TV_HARD_ARMOR, SV_AUGMENTED_CHAIN_MAIL },
- { TV_HARD_ARMOR, SV_BAR_CHAIN_MAIL },
- { TV_HARD_ARMOR, SV_DOUBLE_CHAIN_MAIL },
-
- { TV_HARD_ARMOR, SV_METAL_BRIGANDINE_ARMOUR },
- { TV_HARD_ARMOR, SV_SPLINT_MAIL },
- { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
- { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
-
- { TV_GLOVES, SV_SET_OF_GAUNTLETS },
- { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
- { TV_SHIELD, SV_LARGE_LEATHER_SHIELD },
- { TV_SHIELD, SV_SMALL_METAL_SHIELD },
-
- { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
- { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
- { TV_HELM, SV_HARD_LEATHER_CAP },
- { TV_HELM, SV_HARD_LEATHER_CAP },
-
- { TV_SOFT_ARMOR, SV_ROBE },
- { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
- { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
- { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
-
- { TV_SOFT_ARMOR, SV_LEATHER_JACK },
- { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
- { TV_HARD_ARMOR, SV_CHAIN_MAIL },
- { TV_HARD_ARMOR, SV_CHAIN_MAIL },
-
- { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
- { TV_GLOVES, SV_SET_OF_GAUNTLETS },
- { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
- { TV_SHIELD, SV_SMALL_LEATHER_SHIELD }
- },
-
- {
- /* Weaponsmith */
-
- { TV_SWORD, SV_DAGGER },
- { TV_SWORD, SV_MAIN_GAUCHE },
- { TV_SWORD, SV_RAPIER },
- { TV_SWORD, SV_SMALL_SWORD },
-
- { TV_SWORD, SV_SHORT_SWORD },
- { TV_SWORD, SV_SABRE },
- { TV_SWORD, SV_CUTLASS },
- { TV_SWORD, SV_TULWAR },
-
- { TV_SWORD, SV_BROAD_SWORD },
- { TV_SWORD, SV_LONG_SWORD },
- { TV_SWORD, SV_SCIMITAR },
- { TV_SWORD, SV_KATANA },
-
- { TV_SWORD, SV_BASTARD_SWORD },
- { TV_POLEARM, SV_SPEAR },
- { TV_POLEARM, SV_AWL_PIKE },
- { TV_POLEARM, SV_TRIDENT },
-
- { TV_POLEARM, SV_PIKE },
- { TV_POLEARM, SV_BEAKED_AXE },
- { TV_POLEARM, SV_BROAD_AXE },
- { TV_POLEARM, SV_LANCE },
-
- { TV_POLEARM, SV_BATTLE_AXE },
- { TV_POLEARM, SV_HATCHET },
- { TV_BOW, SV_SLING },
- { TV_BOW, SV_SHORT_BOW },
-
- { TV_BOW, SV_LIGHT_XBOW },
- { TV_SHOT, SV_AMMO_NORMAL },
- { TV_SHOT, SV_AMMO_NORMAL },
- { TV_ARROW, SV_AMMO_NORMAL },
-
- { TV_ARROW, SV_AMMO_NORMAL },
- { TV_BOLT, SV_AMMO_NORMAL },
- { TV_BOLT, SV_AMMO_NORMAL },
- { TV_BOW, SV_LIGHT_XBOW },
-
- { TV_ARROW, SV_AMMO_NORMAL },
- { TV_BOLT, SV_AMMO_NORMAL },
- { TV_BOW, SV_SHORT_BOW },
- { TV_BOW, SV_LIGHT_XBOW },
-
- { TV_SWORD, SV_DAGGER },
- { TV_SWORD, SV_TANTO },
- { TV_SWORD, SV_RAPIER },
- { TV_SWORD, SV_SMALL_SWORD },
-
- { TV_SWORD, SV_SHORT_SWORD },
- { TV_SWORD, SV_LONG_SWORD },
- { TV_SWORD, SV_SCIMITAR },
- { TV_SWORD, SV_BROAD_SWORD },
-
- { TV_HISSATSU_BOOK, 0 },
- { TV_HISSATSU_BOOK, 0 },
- { TV_HISSATSU_BOOK, 1 },
- { TV_HISSATSU_BOOK, 1 },
- },
-
- {
- /* Temple */
-
- { TV_HAFTED, SV_NUNCHAKU },
- { TV_HAFTED, SV_QUARTERSTAFF },
- { TV_HAFTED, SV_MACE },
- { TV_HAFTED, SV_BO_STAFF },
-
- { TV_HAFTED, SV_WAR_HAMMER },
- { TV_HAFTED, SV_WAR_HAMMER },
- { TV_HAFTED, SV_MORNING_STAR },
- { TV_HAFTED, SV_FLAIL },
-
- { TV_HAFTED, SV_LEAD_FILLED_MACE },
- { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
- { TV_SCROLL, SV_SCROLL_BLESSING },
- { TV_SCROLL, SV_SCROLL_HOLY_CHANT },
-
- { TV_POTION, SV_POTION_HEROISM },
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-
- { TV_POTION, SV_POTION_CURE_LIGHT },
- { TV_POTION, SV_POTION_CURE_SERIOUS },
- { TV_POTION, SV_POTION_CURE_SERIOUS },
- { TV_POTION, SV_POTION_CURE_CRITICAL },
-
- { TV_POTION, SV_POTION_CURE_CRITICAL },
- { TV_POTION, SV_POTION_RESTORE_EXP },
- { TV_POTION, SV_POTION_RESTORE_EXP },
- { TV_POTION, SV_POTION_RESTORE_EXP },
-
- { TV_LIFE_BOOK, 0 },
- { TV_LIFE_BOOK, 0 },
- { TV_LIFE_BOOK, 1 },
- { TV_LIFE_BOOK, 1 },
-
- { TV_CRUSADE_BOOK, 0 },
- { TV_CRUSADE_BOOK, 0 },
- { TV_CRUSADE_BOOK, 1 },
- { TV_CRUSADE_BOOK, 1 },
-
- { TV_HAFTED, SV_WHIP },
- { TV_HAFTED, SV_MACE },
- { TV_HAFTED, SV_BALL_AND_CHAIN },
- { TV_HAFTED, SV_WAR_HAMMER },
-
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
- { TV_POTION, SV_POTION_CURE_CRITICAL },
-
- { TV_POTION, SV_POTION_CURE_CRITICAL },
- { TV_POTION, SV_POTION_RESTORE_EXP },
-
- { TV_FIGURINE, 0 },
- { TV_STATUE, SV_ANY },
-
- { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
- { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
- { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE },
- { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE }
- },
-
- {
- /* Alchemy shop */
-
- { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
- { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
- { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
- { TV_SCROLL, SV_SCROLL_IDENTIFY },
-
- { TV_SCROLL, SV_SCROLL_IDENTIFY },
- { TV_SCROLL, SV_SCROLL_IDENTIFY },
- { TV_SCROLL, SV_SCROLL_IDENTIFY },
- { TV_SCROLL, SV_SCROLL_LIGHT },
-
- { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
- { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
- { TV_SCROLL, SV_SCROLL_TELEPORT },
- { TV_SCROLL, SV_SCROLL_MONSTER_CONFUSION },
-
- { TV_SCROLL, SV_SCROLL_MAPPING },
- { TV_SCROLL, SV_SCROLL_DETECT_GOLD },
- { TV_SCROLL, SV_SCROLL_DETECT_ITEM },
- { TV_SCROLL, SV_SCROLL_DETECT_TRAP },
-
- { TV_SCROLL, SV_SCROLL_DETECT_INVIS },
- { TV_SCROLL, SV_SCROLL_RECHARGING },
- { TV_SCROLL, SV_SCROLL_TELEPORT },
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
- { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
- { TV_SCROLL, SV_SCROLL_TELEPORT },
-
- { TV_SCROLL, SV_SCROLL_TELEPORT },
- { TV_POTION, SV_POTION_RES_STR },
- { TV_POTION, SV_POTION_RES_INT },
- { TV_POTION, SV_POTION_RES_WIS },
-
- { TV_POTION, SV_POTION_RES_DEX },
- { TV_POTION, SV_POTION_RES_CON },
- { TV_POTION, SV_POTION_RES_CHR },
- { TV_SCROLL, SV_SCROLL_IDENTIFY },
-
- { TV_SCROLL, SV_SCROLL_IDENTIFY },
- { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY }, /* Yep, occasionally! */
- { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY },
- { TV_SCROLL, SV_SCROLL_LIGHT },
-
- { TV_POTION, SV_POTION_RES_STR },
- { TV_POTION, SV_POTION_RES_INT },
- { TV_POTION, SV_POTION_RES_WIS },
- { TV_POTION, SV_POTION_RES_DEX },
-
- { TV_POTION, SV_POTION_RES_CON },
- { TV_POTION, SV_POTION_RES_CHR },
- { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
- { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
-
- { TV_SCROLL, SV_SCROLL_RECHARGING },
- { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
- { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
- { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
-
- },
-
- {
- /* Magic-User store */
-
- { TV_RING, SV_RING_PROTECTION },
- { TV_RING, SV_RING_LEVITATION_FALL },
- { TV_RING, SV_RING_PROTECTION },
- { TV_RING, SV_RING_RESIST_FIRE },
-
- { TV_RING, SV_RING_RESIST_COLD },
- { TV_AMULET, SV_AMULET_CHARISMA },
- { TV_RING, SV_RING_WARNING },
- { TV_AMULET, SV_AMULET_RESIST_ACID },
-
- { TV_AMULET, SV_AMULET_SEARCHING },
- { TV_WAND, SV_WAND_SLOW_MONSTER },
- { TV_WAND, SV_WAND_CONFUSE_MONSTER },
- { TV_WAND, SV_WAND_SLEEP_MONSTER },
-
- { TV_WAND, SV_WAND_MAGIC_MISSILE },
- { TV_WAND, SV_WAND_STINKING_CLOUD },
- { TV_WAND, SV_WAND_WONDER },
- { TV_WAND, SV_WAND_DISARMING },
-
- { TV_STAFF, SV_STAFF_LITE },
- { TV_STAFF, SV_STAFF_MAPPING },
- { TV_STAFF, SV_STAFF_DETECT_TRAP },
- { TV_STAFF, SV_STAFF_DETECT_DOOR },
-
- { TV_STAFF, SV_STAFF_DETECT_GOLD },
- { TV_STAFF, SV_STAFF_DETECT_ITEM },
- { TV_STAFF, SV_STAFF_DETECT_INVIS },
- { TV_STAFF, SV_STAFF_DETECT_EVIL },
-
- { TV_STAFF, SV_STAFF_TELEPORTATION },
- { TV_STAFF, SV_STAFF_TELEPORTATION },
- { TV_STAFF, SV_STAFF_TELEPORTATION },
- { TV_STAFF, SV_STAFF_TELEPORTATION },
-
- { TV_STAFF, SV_STAFF_IDENTIFY },
- { TV_STAFF, SV_STAFF_IDENTIFY },
- { TV_STAFF, SV_STAFF_IDENTIFY },
-
- { TV_STAFF, SV_STAFF_IDENTIFY },
- { TV_STAFF, SV_STAFF_REMOVE_CURSE },
- { TV_STAFF, SV_STAFF_CURE_LIGHT },
- { TV_STAFF, SV_STAFF_PROBING },
-
- { TV_FIGURINE, 0 },
-
- { TV_SORCERY_BOOK, 0 },
- { TV_SORCERY_BOOK, 0 },
- { TV_SORCERY_BOOK, 1 },
- { TV_SORCERY_BOOK, 1 },
-
- { TV_ARCANE_BOOK, 0 },
- { TV_ARCANE_BOOK, 0 },
- { TV_ARCANE_BOOK, 1 },
- { TV_ARCANE_BOOK, 1 },
-
- { TV_ARCANE_BOOK, 2 },
- { TV_ARCANE_BOOK, 2 },
- { TV_ARCANE_BOOK, 3 },
- { TV_ARCANE_BOOK, 3 },
-
- },
-
- {
- /* Black Market (unused) */
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 }
- },
-
- {
- /* Home (unused) */
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 }
- },
-
- {
- /* Bookstore */
- { TV_SORCERY_BOOK, 0 },
- { TV_SORCERY_BOOK, 0 },
- { TV_SORCERY_BOOK, 1 },
- { TV_SORCERY_BOOK, 1 },
-
- { TV_NATURE_BOOK, 0 },
- { TV_NATURE_BOOK, 0 },
- { TV_NATURE_BOOK, 1 },
- { TV_NATURE_BOOK, 1 },
-
- { TV_CHAOS_BOOK, 0 },
- { TV_CHAOS_BOOK, 0 },
- { TV_CHAOS_BOOK, 1 },
- { TV_CHAOS_BOOK, 1 },
-
- { TV_DEATH_BOOK, 0 },
- { TV_DEATH_BOOK, 0 },
- { TV_DEATH_BOOK, 1 },
- { TV_DEATH_BOOK, 1 },
-
- { TV_TRUMP_BOOK, 0 }, /* +16 */
- { TV_TRUMP_BOOK, 0 },
- { TV_TRUMP_BOOK, 1 },
- { TV_TRUMP_BOOK, 1 },
-
- { TV_ARCANE_BOOK, 0 },
- { TV_ARCANE_BOOK, 1 },
- { TV_ARCANE_BOOK, 2 },
- { TV_ARCANE_BOOK, 3 },
-
- { TV_CRAFT_BOOK, 0 },
- { TV_CRAFT_BOOK, 0 },
- { TV_CRAFT_BOOK, 1 },
- { TV_CRAFT_BOOK, 1 },
-
- { TV_DAEMON_BOOK, 0 },
- { TV_DAEMON_BOOK, 0 },
- { TV_DAEMON_BOOK, 1 },
- { TV_DAEMON_BOOK, 1 },
-
- { TV_MUSIC_BOOK, 0 },
- { TV_MUSIC_BOOK, 0 },
- { TV_MUSIC_BOOK, 1 },
- { TV_MUSIC_BOOK, 1 },
-
- { TV_HEX_BOOK, 0 },
- { TV_HEX_BOOK, 0 },
- { TV_HEX_BOOK, 1 },
- { TV_HEX_BOOK, 1 },
- },
-
- {
- /* Museum (unused) */
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 },
- { 0, 0 }
- }
-};
/*!
{
st_ptr->stock_size = STORE_INVEN_MAX;
}
-
-
/* Allocate the stock */
C_MAKE(st_ptr->stock, st_ptr->stock_size, object_type);
/*** Prepare the quests ***/
/* Allocate the quests */
- C_MAKE(quest, max_quests, quest_type);
+ C_MAKE(quest, max_q_idx, quest_type);
/* Set all quest to "untaken" */
- for (i = 0; i < max_quests; i++)
+ for (i = 0; i < max_q_idx; i++)
{
quest[i].status = QUEST_STATUS_UNTAKEN;
}
* Initialize quest array
* @return 地形ID
*/
-s16b f_tag_to_index_in_init(cptr str)
+s16b f_tag_to_index_in_init(concptr str)
{
- s16b feat = f_tag_to_index(str);
+ FEAT_IDX feat = f_tag_to_index(str);
if (feat < 0) feat_tag_is_not_found = TRUE;
feat_shallow_water = f_tag_to_index_in_init("SHALLOW_WATER");
feat_deep_lava = f_tag_to_index_in_init("DEEP_LAVA");
feat_shallow_lava = f_tag_to_index_in_init("SHALLOW_LAVA");
+ feat_heavy_cold_zone = f_tag_to_index_in_init("HEAVY_COLD_ZONE");
+ feat_cold_zone = f_tag_to_index_in_init("COLD_ZONE");
+ feat_heavy_electrical_zone = f_tag_to_index_in_init("HEAVY_ELECTRICAL_ZONE");
+ feat_electrical_zone = f_tag_to_index_in_init("ELECTRICAL_ZONE");
+ feat_deep_acid_puddle = f_tag_to_index_in_init("DEEP_ACID_PUDDLE");
+ feat_shallow_acid_puddle = f_tag_to_index_in_init("SHALLOW_ACID_PUDDLE");
+ feat_deep_poisonous_puddle = f_tag_to_index_in_init("DEEP_POISONOUS_PUDDLE");
+ feat_shallow_poisonous_puddle = f_tag_to_index_in_init("SHALLOW_POISONOUS_PUDDLE");
feat_dirt = f_tag_to_index_in_init("DIRT");
feat_grass = f_tag_to_index_in_init("GRASS");
feat_flower = f_tag_to_index_in_init("FLOWER");
/*** Prepare the various "bizarre" arrays ***/
/* Macro variables */
- C_MAKE(macro__pat, MACRO_MAX, cptr);
- C_MAKE(macro__act, MACRO_MAX, cptr);
+ C_MAKE(macro__pat, MACRO_MAX, concptr);
+ C_MAKE(macro__act, MACRO_MAX, concptr);
C_MAKE(macro__cmd, MACRO_MAX, bool);
/* Macro action buffer */
* Window 1 : Display messages
* Window 2 : Display inven/equip
*/
- window_flag[1] = 1L << 6;
+ window_flag[1] = 1L << A_MAX;
window_flag[2] = 1L << 0;
* Hack -- take notes on line 23
* @return なし
*/
-static void note(cptr str)
+static void note(concptr str)
{
Term_erase(0, 23, 255);
Term_putstr(20, 23, -1, TERM_WHITE, str);
* @return なし
* @note
* <pre>
- * XXX XXX XXX This function is "messy" because various things
+ * This function is "messy" because various things
* may or may not be initialized, but the "plog()" and "quit()"
* functions are "supposed" to work under any conditions.
* </pre>
*/
-static void init_angband_aux(cptr why)
+static void init_angband_aux(concptr why)
{
/* Why */
plog(why);
* @return なし
* @note
* <pre>
- * XXX XXX XXX This function is "messy" because various things
+ * This function is "messy" because various things
* may or may not be initialized, but the "plog()" and "quit()"
* functions are "supposed" to work under any conditions.
* Verify some files, display the "news.txt" file, create
{
char why[1024];
- /* Message */
sprintf(why, _("'%s'ファイルにアクセスできません!", "Cannot access the '%s' file!"), buf);
/* Crash and burn */
/*** Display the "news" file ***/
-
- /* Clear screen */
Term_clear();
/* Build the filename */
{
char why[1024];
- /* Message */
sprintf(why, _("'%s'ファイルを作成できません!", "Cannot create the '%s' file!"), buf);
/* Crash and burn */
/* Process that file */
process_pref_file(buf);
- /* Done */
note(_("[初期化終了]", "[Initialization complete]"));
}
* @brief サムチェック情報を出力 / Get check sum in string form
* @return サムチェック情報の文字列
*/
-cptr get_check_sum(void)
+concptr get_check_sum(void)
{
return format("%02x%02x%02x%02x%02x%02x%02x%02x%02x",
f_head.v_extra,