Hengband  2.1.4
データ構造 | マクロ定義 | 型定義 | 関数 | 変数
autopick.c ファイル

自動拾い機能の実装 / Object Auto-picker/Destroyer [詳解]

#include "angband.h"
autopick.c の依存先関係図:

データ構造

struct  chain_str
 
struct  text_body_type
 
struct  command_menu_type
 

マクロ定義

#define MAX_LINELEN   1024
 
#define FLG_ALL   0
 
#define FLG_UNAWARE   1
 
#define FLG_UNIDENTIFIED   2
 
#define FLG_IDENTIFIED   3
 
#define FLG_STAR_IDENTIFIED   4
 
#define FLG_COLLECTING   5
 
#define FLG_ARTIFACT   6
 
#define FLG_EGO   7
 
#define FLG_GOOD   10
 
#define FLG_NAMELESS   11
 
#define FLG_AVERAGE   12
 
#define FLG_WORTHLESS   13
 
#define FLG_RARE   14
 
#define FLG_COMMON   15
 
#define FLG_BOOSTED   16
 
#define FLG_MORE_DICE   17
 
#define FLG_MORE_BONUS   18
 
#define FLG_WANTED   19
 
#define FLG_UNIQUE   20
 
#define FLG_HUMAN   21
 
#define FLG_UNREADABLE   22
 
#define FLG_REALM1   23
 
#define FLG_REALM2   24
 
#define FLG_FIRST   25
 
#define FLG_SECOND   26
 
#define FLG_THIRD   27
 
#define FLG_FOURTH   28
 
#define FLG_ITEMS   30
 
#define FLG_WEAPONS   31
 
#define FLG_FAVORITE_WEAPONS   32
 
#define FLG_ARMORS   33
 
#define FLG_MISSILES   34
 
#define FLG_DEVICES   35
 
#define FLG_LIGHTS   36
 
#define FLG_JUNKS   37
 
#define FLG_CORPSES   38
 
#define FLG_SPELLBOOKS   39
 
#define FLG_HAFTED   40
 
#define FLG_SHIELDS   41
 
#define FLG_BOWS   42
 
#define FLG_RINGS   43
 
#define FLG_AMULETS   44
 
#define FLG_SUITS   45
 
#define FLG_CLOAKS   46
 
#define FLG_HELMS   47
 
#define FLG_GLOVES   48
 
#define FLG_BOOTS   49
 
#define FLG_NOUN_BEGIN   FLG_ITEMS
 
#define FLG_NOUN_END   FLG_BOOTS
 
#define MATCH_KEY(KEY)
 
#define MATCH_KEY2(KEY)
 
#define ADD_KEY(KEY)   (strcat(ptr, KEY), strcat(ptr, " "))
 
#define ADD_KEY2(KEY)   strcat(ptr, KEY)
 
#define ADD_FLG(FLG)   (entry->flag[FLG / 32] |= (1L << (FLG % 32)))
 
#define REM_FLG(FLG)   (entry->flag[FLG / 32] &= ~(1L << (FLG % 32)))
 
#define ADD_FLG_NOUN(FLG)   (ADD_FLG(FLG), prev_flg = FLG)
 
#define IS_FLG(FLG)   (entry->flag[FLG / 32] & (1L << (FLG % 32)))
 
#define MAX_AUTOPICK_DEFAULT   200
 
#define PT_DEFAULT   0
 
#define PT_WITH_PNAME   1
 
#define MAX_YANK   MAX_LINELEN
 
#define MAX_LINES   3000
 
#define MARK_MARK   0x01
 
#define MARK_BY_SHIFT   0x02
 
#define LSTAT_BYPASS   0x01
 
#define LSTAT_EXPRESSION   0x02
 
#define LSTAT_AUTOREGISTER   0x04
 
#define QUIT_WITHOUT_SAVE   1
 
#define QUIT_AND_SAVE   2
 
#define DIRTY_ALL   0x0001
 
#define DIRTY_MODE   0x0004
 
#define DIRTY_SCREEN   0x0008
 
#define DIRTY_NOT_FOUND   0x0010
 
#define DIRTY_NO_SEARCH   0x0020
 
#define DIRTY_EXPRESSION   0x0040
 
#define DIRTY_SKIP_INACTIVE   0x0080
 
#define DIRTY_INACTIVE   0x0100
 
#define EC_QUIT   1
 
#define EC_SAVEQUIT   2
 
#define EC_REVERT   3
 
#define EC_HELP   4
 
#define EC_RETURN   5
 
#define EC_LEFT   6
 
#define EC_DOWN   7
 
#define EC_UP   8
 
#define EC_RIGHT   9
 
#define EC_BOL   10
 
#define EC_EOL   11
 
#define EC_PGUP   12
 
#define EC_PGDOWN   13
 
#define EC_TOP   14
 
#define EC_BOTTOM   15
 
#define EC_CUT   16
 
#define EC_COPY   17
 
#define EC_PASTE   18
 
#define EC_BLOCK   19
 
#define EC_KILL_LINE   20
 
#define EC_DELETE_CHAR   21
 
#define EC_BACKSPACE   22
 
#define EC_SEARCH_STR   23
 
#define EC_SEARCH_FORW   24
 
#define EC_SEARCH_BACK   25
 
#define EC_SEARCH_OBJ   26
 
#define EC_SEARCH_DESTROYED   27
 
#define EC_INSERT_OBJECT   28
 
#define EC_INSERT_DESTROYED   29
 
#define EC_INSERT_BLOCK   30
 
#define EC_INSERT_MACRO   31
 
#define EC_INSERT_KEYMAP   32
 
#define EC_CL_AUTOPICK   33
 
#define EC_CL_DESTROY   34
 
#define EC_CL_LEAVE   35
 
#define EC_CL_QUERY   36
 
#define EC_CL_NO_DISP   37
 
#define EC_OK_COLLECTING   38
 
#define EC_IK_UNAWARE   39
 
#define EC_IK_UNIDENTIFIED   40
 
#define EC_IK_IDENTIFIED   41
 
#define EC_IK_STAR_IDENTIFIED   42
 
#define EC_OK_BOOSTED   43
 
#define EC_OK_MORE_DICE   44
 
#define EC_OK_MORE_BONUS   45
 
#define EC_OK_WORTHLESS   46
 
#define EC_OK_ARTIFACT   47
 
#define EC_OK_EGO   48
 
#define EC_OK_GOOD   49
 
#define EC_OK_NAMELESS   50
 
#define EC_OK_AVERAGE   51
 
#define EC_OK_RARE   52
 
#define EC_OK_COMMON   53
 
#define EC_OK_WANTED   54
 
#define EC_OK_UNIQUE   55
 
#define EC_OK_HUMAN   56
 
#define EC_OK_UNREADABLE   57
 
#define EC_OK_REALM1   58
 
#define EC_OK_REALM2   59
 
#define EC_OK_FIRST   60
 
#define EC_OK_SECOND   61
 
#define EC_OK_THIRD   62
 
#define EC_OK_FOURTH   63
 
#define EC_KK_WEAPONS   64
 
#define EC_KK_FAVORITE_WEAPONS   65
 
#define EC_KK_ARMORS   66
 
#define EC_KK_MISSILES   67
 
#define EC_KK_DEVICES   68
 
#define EC_KK_LIGHTS   69
 
#define EC_KK_JUNKS   70
 
#define EC_KK_CORPSES   71
 
#define EC_KK_SPELLBOOKS   72
 
#define EC_KK_SHIELDS   73
 
#define EC_KK_BOWS   74
 
#define EC_KK_RINGS   75
 
#define EC_KK_AMULETS   76
 
#define EC_KK_SUITS   77
 
#define EC_KK_CLOAKS   78
 
#define EC_KK_HELMS   79
 
#define EC_KK_GLOVES   80
 
#define EC_KK_BOOTS   81
 
#define DESCRIPT_HGT   3
 

型定義

typedef struct chain_str chain_str_type
 

関数

static bool autopick_new_entry (autopick_type *entry, cptr str, bool allow_default)
 
static void autopick_entry_from_object (autopick_type *entry, object_type *o_ptr)
 
static void autopick_free_entry (autopick_type *entry)
 
static void init_autopick (void)
 
static cptr pickpref_filename (int filename_mode)
 
void autopick_load_pref (bool disp_mes)
 
static void add_autopick_list (autopick_type *entry)
 
errr process_autopick_file_command (char *buf)
 
cptr autopick_line_from_entry (autopick_type *entry)
 
static cptr autopick_line_from_entry_kill (autopick_type *entry)
 
static bool is_autopick_aux (object_type *o_ptr, autopick_type *entry, cptr o_name)
 
int is_autopick (object_type *o_ptr)
 
static void auto_inscribe_item (object_type *o_ptr, int idx)
 
static bool is_opt_confirm_destroy (object_type *o_ptr)
 
static void auto_destroy_item (object_type *o_ptr, int autopick_idx)
 
static void autopick_delayed_alter_aux (int item)
 
void autopick_delayed_alter (void)
 
void autopick_alter_item (int item, bool destroy)
 
void autopick_pickup_items (cave_type *c_ptr)
 
static bool clear_auto_register (void)
 
bool autopick_autoregister (object_type *o_ptr)
 
static void describe_autopick (char *buff, autopick_type *entry)
 
static cptrread_text_lines (cptr filename)
 
static void prepare_default_pickpref (void)
 
static cptrread_pickpref_text_lines (int *filename_mode_p)
 
static bool write_text_lines (cptr filename, cptr *lines_list)
 
static void free_text_lines (cptr *lines_list)
 
static void toggle_keyword (text_body_type *tb, int flg)
 
static void toggle_command_letter (text_body_type *tb, byte flg)
 
static void add_keyword (text_body_type *tb, int flg)
 
static void check_expression_line (text_body_type *tb, int y)
 
static bool add_empty_line (text_body_type *tb)
 
static bool insert_return_code (text_body_type *tb)
 
static object_typechoose_object (cptr q, cptr s)
 
static bool entry_from_choosed_object (autopick_type *entry)
 
static byte get_object_for_search (object_type **o_handle, cptr *search_strp)
 
static byte get_destroyed_object_for_search (object_type **o_handle, cptr *search_strp)
 
static byte get_string_for_search (object_type **o_handle, cptr *search_strp)
 
static void search_for_object (text_body_type *tb, object_type *o_ptr, bool forward)
 
static void search_for_string (text_body_type *tb, cptr search_str, bool forward)
 
static int get_com_id (char key)
 
static int do_command_menu (int level, int start)
 
static chain_str_typenew_chain_str (cptr str)
 
static void kill_yank_chain (text_body_type *tb)
 
static void add_str_to_yank (text_body_type *tb, cptr str)
 
static void copy_text_to_yank (text_body_type *tb)
 
static void draw_text_editor (text_body_type *tb)
 
static void kill_line_segment (text_body_type *tb, int y, int x0, int x1, bool whole)
 
static bool insert_macro_line (text_body_type *tb)
 
static bool insert_keymap_line (text_body_type *tb)
 
static bool do_editor_command (text_body_type *tb, int com_id)
 
static void insert_single_letter (text_body_type *tb, int key)
 
static int analyze_move_key (text_body_type *tb, int skey)
 
void do_cmd_edit_autopick (void)
 

変数

static char KEY_ALL [] = "all"
 
static char KEY_UNAWARE [] = "unaware"
 
static char KEY_UNIDENTIFIED [] = "unidentified"
 
static char KEY_IDENTIFIED [] = "identified"
 
static char KEY_STAR_IDENTIFIED [] = "*identified*"
 
static char KEY_COLLECTING [] = "collecting"
 
static char KEY_ARTIFACT [] = "artifact"
 
static char KEY_EGO [] = "ego"
 
static char KEY_GOOD [] = "good"
 
static char KEY_NAMELESS [] = "nameless"
 
static char KEY_AVERAGE [] = "average"
 
static char KEY_WORTHLESS [] = "worthless"
 
static char KEY_RARE [] = "rare"
 
static char KEY_COMMON [] = "common"
 
static char KEY_BOOSTED [] = "dice boosted"
 
static char KEY_MORE_THAN [] = "more than"
 
static char KEY_DICE [] = " dice"
 
static char KEY_MORE_BONUS [] = "more bonus than"
 
static char KEY_MORE_BONUS2 [] = ""
 
static char KEY_WANTED [] = "wanted"
 
static char KEY_UNIQUE [] = "unique monster's"
 
static char KEY_HUMAN [] = "human"
 
static char KEY_UNREADABLE [] = "unreadable"
 
static char KEY_REALM1 [] = "first realm's"
 
static char KEY_REALM2 [] = "second realm's"
 
static char KEY_FIRST [] = "first"
 
static char KEY_SECOND [] = "second"
 
static char KEY_THIRD [] = "third"
 
static char KEY_FOURTH [] = "fourth"
 
static char KEY_ITEMS [] = "items"
 
static char KEY_WEAPONS [] = "weapons"
 
static char KEY_FAVORITE_WEAPONS [] = "favorite weapons"
 
static char KEY_ARMORS [] = "armors"
 
static char KEY_MISSILES [] = "missiles"
 
static char KEY_DEVICES [] = "magical devices"
 
static char KEY_LIGHTS [] = "lights"
 
static char KEY_JUNKS [] = "junks"
 
static char KEY_CORPSES [] = "corpses or skeletons"
 
static char KEY_SPELLBOOKS [] = "spellbooks"
 
static char KEY_HAFTED [] = "hafted weapons"
 
static char KEY_SHIELDS [] = "shields"
 
static char KEY_BOWS [] = "bows"
 
static char KEY_RINGS [] = "rings"
 
static char KEY_AMULETS [] = "amulets"
 
static char KEY_SUITS [] = "suits"
 
static char KEY_CLOAKS [] = "cloaks"
 
static char KEY_HELMS [] = "helms"
 
static char KEY_GLOVES [] = "gloves"
 
static char KEY_BOOTS [] = "boots"
 
static object_type autopick_last_destroyed_object
 
static const char autoregister_header [] = "?:$AUTOREGISTER"
 
static char MN_QUIT [] = "Quit without save"
 
static char MN_SAVEQUIT [] = "Save & Quit"
 
static char MN_REVERT [] = "Revert all changes"
 
static char MN_HELP [] = "Help"
 
static char MN_MOVE [] = "Move cursor"
 
static char MN_LEFT [] = "Left (Left Arrow key)"
 
static char MN_DOWN [] = "Down (Down Arrow key)"
 
static char MN_UP [] = "Up (Up Arrow key)"
 
static char MN_RIGHT [] = "Right (Right Arrow key)"
 
static char MN_BOL [] = "Beggining of line"
 
static char MN_EOL [] = "End of line"
 
static char MN_PGUP [] = "Page up (PageUp key)"
 
static char MN_PGDOWN [] = "Page down(PageDown key)"
 
static char MN_TOP [] = "Top (Home key)"
 
static char MN_BOTTOM [] = "Bottom (End key)"
 
static char MN_EDIT [] = "Edit"
 
static char MN_CUT [] = "Cut"
 
static char MN_COPY [] = "Copy"
 
static char MN_PASTE [] = "Paste"
 
static char MN_BLOCK [] = "Select block"
 
static char MN_KILL_LINE [] = "Kill rest of line"
 
static char MN_DELETE_CHAR [] = "Delete character"
 
static char MN_BACKSPACE [] = "Backspace"
 
static char MN_RETURN [] = "Return"
 
static char MN_SEARCH [] = "Search"
 
static char MN_SEARCH_STR [] = "Search by string"
 
static char MN_SEARCH_FORW [] = "Search forward"
 
static char MN_SEARCH_BACK [] = "Search backward"
 
static char MN_SEARCH_OBJ [] = "Search by inventory object"
 
static char MN_SEARCH_DESTROYED [] = "Search by destroyed object"
 
static char MN_INSERT [] = "Insert..."
 
static char MN_INSERT_OBJECT [] = "Insert name of choosen object"
 
static char MN_INSERT_DESTROYED [] = "Insert name of destroyed object"
 
static char MN_INSERT_BLOCK [] = "Insert conditional block"
 
static char MN_INSERT_MACRO [] = "Insert a macro definition"
 
static char MN_INSERT_KEYMAP [] = "Insert a keymap definition"
 
static char MN_COMMAND_LETTER [] = "Command letter"
 
static char MN_CL_AUTOPICK [] = "' ' (Auto pick)"
 
static char MN_CL_DESTROY [] = "'!' (Auto destroy)"
 
static char MN_CL_LEAVE [] = "'~' (Leave it on the floor)"
 
static char MN_CL_QUERY [] = "';' (Query to pick up)"
 
static char MN_CL_NO_DISP [] = "'(' (No display on the large map)"
 
static char MN_ADJECTIVE_GEN [] = "Adjective (general)"
 
static char MN_RARE [] = "rare (equipments)"
 
static char MN_COMMON [] = "common (equipments)"
 
static char MN_ADJECTIVE_SPECIAL [] = "Adjective (special)"
 
static char MN_BOOSTED [] = "dice boosted (weapons)"
 
static char MN_MORE_DICE [] = "more than # dice (weapons)"
 
static char MN_MORE_BONUS [] = "more bonus than # (rings etc.)"
 
static char MN_WANTED [] = "wanted (corpse)"
 
static char MN_UNIQUE [] = "unique (corpse)"
 
static char MN_HUMAN [] = "human (corpse)"
 
static char MN_UNREADABLE [] = "unreadable (spellbooks)"
 
static char MN_REALM1 [] = "realm1 (spellbooks)"
 
static char MN_REALM2 [] = "realm2 (spellbooks)"
 
static char MN_FIRST [] = "first (spellbooks)"
 
static char MN_SECOND [] = "second (spellbooks)"
 
static char MN_THIRD [] = "third (spellbooks)"
 
static char MN_FOURTH [] = "fourth (spellbooks)"
 
static char MN_NOUN [] = "Keywords (noun)"
 
command_menu_type menu_data []
 

詳解

自動拾い機能の実装 / Object Auto-picker/Destroyer

日付
2014/01/02
著者
Copyright (c) 2002 Mogami

This software may be copied and distributed for educational, research, and
not for profit purposes provided that this copyright and statement are
included in all such copies.
2014 Deskull rearranged comment for Doxygen.

マクロ定義詳解

◆ ADD_FLG

#define ADD_FLG (   FLG)    (entry->flag[FLG / 32] |= (1L << (FLG % 32)))

◆ ADD_FLG_NOUN

#define ADD_FLG_NOUN (   FLG)    (ADD_FLG(FLG), prev_flg = FLG)

◆ ADD_KEY

#define ADD_KEY (   KEY)    (strcat(ptr, KEY), strcat(ptr, " "))

◆ ADD_KEY2

#define ADD_KEY2 (   KEY)    strcat(ptr, KEY)

◆ DESCRIPT_HGT

#define DESCRIPT_HGT   3

◆ DIRTY_ALL

#define DIRTY_ALL   0x0001

◆ DIRTY_EXPRESSION

#define DIRTY_EXPRESSION   0x0040

◆ DIRTY_INACTIVE

#define DIRTY_INACTIVE   0x0100

◆ DIRTY_MODE

#define DIRTY_MODE   0x0004

◆ DIRTY_NO_SEARCH

#define DIRTY_NO_SEARCH   0x0020

◆ DIRTY_NOT_FOUND

#define DIRTY_NOT_FOUND   0x0010

◆ DIRTY_SCREEN

#define DIRTY_SCREEN   0x0008

◆ DIRTY_SKIP_INACTIVE

#define DIRTY_SKIP_INACTIVE   0x0080

◆ EC_BACKSPACE

#define EC_BACKSPACE   22

◆ EC_BLOCK

#define EC_BLOCK   19

◆ EC_BOL

#define EC_BOL   10

◆ EC_BOTTOM

#define EC_BOTTOM   15

◆ EC_CL_AUTOPICK

#define EC_CL_AUTOPICK   33

◆ EC_CL_DESTROY

#define EC_CL_DESTROY   34

◆ EC_CL_LEAVE

#define EC_CL_LEAVE   35

◆ EC_CL_NO_DISP

#define EC_CL_NO_DISP   37

◆ EC_CL_QUERY

#define EC_CL_QUERY   36

◆ EC_COPY

#define EC_COPY   17

◆ EC_CUT

#define EC_CUT   16

◆ EC_DELETE_CHAR

#define EC_DELETE_CHAR   21

◆ EC_DOWN

#define EC_DOWN   7

◆ EC_EOL

#define EC_EOL   11

◆ EC_HELP

#define EC_HELP   4

◆ EC_IK_IDENTIFIED

#define EC_IK_IDENTIFIED   41

◆ EC_IK_STAR_IDENTIFIED

#define EC_IK_STAR_IDENTIFIED   42

◆ EC_IK_UNAWARE

#define EC_IK_UNAWARE   39

◆ EC_IK_UNIDENTIFIED

#define EC_IK_UNIDENTIFIED   40

◆ EC_INSERT_BLOCK

#define EC_INSERT_BLOCK   30

◆ EC_INSERT_DESTROYED

#define EC_INSERT_DESTROYED   29

◆ EC_INSERT_KEYMAP

#define EC_INSERT_KEYMAP   32

◆ EC_INSERT_MACRO

#define EC_INSERT_MACRO   31

◆ EC_INSERT_OBJECT

#define EC_INSERT_OBJECT   28

◆ EC_KILL_LINE

#define EC_KILL_LINE   20

◆ EC_KK_AMULETS

#define EC_KK_AMULETS   76

◆ EC_KK_ARMORS

#define EC_KK_ARMORS   66

◆ EC_KK_BOOTS

#define EC_KK_BOOTS   81

◆ EC_KK_BOWS

#define EC_KK_BOWS   74

◆ EC_KK_CLOAKS

#define EC_KK_CLOAKS   78

◆ EC_KK_CORPSES

#define EC_KK_CORPSES   71

◆ EC_KK_DEVICES

#define EC_KK_DEVICES   68

◆ EC_KK_FAVORITE_WEAPONS

#define EC_KK_FAVORITE_WEAPONS   65

◆ EC_KK_GLOVES

#define EC_KK_GLOVES   80

◆ EC_KK_HELMS

#define EC_KK_HELMS   79

◆ EC_KK_JUNKS

#define EC_KK_JUNKS   70

◆ EC_KK_LIGHTS

#define EC_KK_LIGHTS   69

◆ EC_KK_MISSILES

#define EC_KK_MISSILES   67

◆ EC_KK_RINGS

#define EC_KK_RINGS   75

◆ EC_KK_SHIELDS

#define EC_KK_SHIELDS   73

◆ EC_KK_SPELLBOOKS

#define EC_KK_SPELLBOOKS   72

◆ EC_KK_SUITS

#define EC_KK_SUITS   77

◆ EC_KK_WEAPONS

#define EC_KK_WEAPONS   64

◆ EC_LEFT

#define EC_LEFT   6

◆ EC_OK_ARTIFACT

#define EC_OK_ARTIFACT   47

◆ EC_OK_AVERAGE

#define EC_OK_AVERAGE   51

◆ EC_OK_BOOSTED

#define EC_OK_BOOSTED   43

◆ EC_OK_COLLECTING

#define EC_OK_COLLECTING   38

◆ EC_OK_COMMON

#define EC_OK_COMMON   53

◆ EC_OK_EGO

#define EC_OK_EGO   48

◆ EC_OK_FIRST

#define EC_OK_FIRST   60

◆ EC_OK_FOURTH

#define EC_OK_FOURTH   63

◆ EC_OK_GOOD

#define EC_OK_GOOD   49

◆ EC_OK_HUMAN

#define EC_OK_HUMAN   56

◆ EC_OK_MORE_BONUS

#define EC_OK_MORE_BONUS   45

◆ EC_OK_MORE_DICE

#define EC_OK_MORE_DICE   44

◆ EC_OK_NAMELESS

#define EC_OK_NAMELESS   50

◆ EC_OK_RARE

#define EC_OK_RARE   52

◆ EC_OK_REALM1

#define EC_OK_REALM1   58

◆ EC_OK_REALM2

#define EC_OK_REALM2   59

◆ EC_OK_SECOND

#define EC_OK_SECOND   61

◆ EC_OK_THIRD

#define EC_OK_THIRD   62

◆ EC_OK_UNIQUE

#define EC_OK_UNIQUE   55

◆ EC_OK_UNREADABLE

#define EC_OK_UNREADABLE   57

◆ EC_OK_WANTED

#define EC_OK_WANTED   54

◆ EC_OK_WORTHLESS

#define EC_OK_WORTHLESS   46

◆ EC_PASTE

#define EC_PASTE   18

◆ EC_PGDOWN

#define EC_PGDOWN   13

◆ EC_PGUP

#define EC_PGUP   12

◆ EC_QUIT

#define EC_QUIT   1

◆ EC_RETURN

#define EC_RETURN   5

◆ EC_REVERT

#define EC_REVERT   3

◆ EC_RIGHT

#define EC_RIGHT   9

◆ EC_SAVEQUIT

#define EC_SAVEQUIT   2

◆ EC_SEARCH_BACK

#define EC_SEARCH_BACK   25

◆ EC_SEARCH_DESTROYED

#define EC_SEARCH_DESTROYED   27

◆ EC_SEARCH_FORW

#define EC_SEARCH_FORW   24

◆ EC_SEARCH_OBJ

#define EC_SEARCH_OBJ   26

◆ EC_SEARCH_STR

#define EC_SEARCH_STR   23

◆ EC_TOP

#define EC_TOP   14

◆ EC_UP

#define EC_UP   8

◆ FLG_ALL

#define FLG_ALL   0

◆ FLG_AMULETS

#define FLG_AMULETS   44

◆ FLG_ARMORS

#define FLG_ARMORS   33

◆ FLG_ARTIFACT

#define FLG_ARTIFACT   6

◆ FLG_AVERAGE

#define FLG_AVERAGE   12

◆ FLG_BOOSTED

#define FLG_BOOSTED   16

◆ FLG_BOOTS

#define FLG_BOOTS   49

◆ FLG_BOWS

#define FLG_BOWS   42

◆ FLG_CLOAKS

#define FLG_CLOAKS   46

◆ FLG_COLLECTING

#define FLG_COLLECTING   5

◆ FLG_COMMON

#define FLG_COMMON   15

◆ FLG_CORPSES

#define FLG_CORPSES   38

◆ FLG_DEVICES

#define FLG_DEVICES   35

◆ FLG_EGO

#define FLG_EGO   7

◆ FLG_FAVORITE_WEAPONS

#define FLG_FAVORITE_WEAPONS   32

◆ FLG_FIRST

#define FLG_FIRST   25

◆ FLG_FOURTH

#define FLG_FOURTH   28

◆ FLG_GLOVES

#define FLG_GLOVES   48

◆ FLG_GOOD

#define FLG_GOOD   10

◆ FLG_HAFTED

#define FLG_HAFTED   40

◆ FLG_HELMS

#define FLG_HELMS   47

◆ FLG_HUMAN

#define FLG_HUMAN   21

◆ FLG_IDENTIFIED

#define FLG_IDENTIFIED   3

◆ FLG_ITEMS

#define FLG_ITEMS   30

◆ FLG_JUNKS

#define FLG_JUNKS   37

◆ FLG_LIGHTS

#define FLG_LIGHTS   36

◆ FLG_MISSILES

#define FLG_MISSILES   34

◆ FLG_MORE_BONUS

#define FLG_MORE_BONUS   18

◆ FLG_MORE_DICE

#define FLG_MORE_DICE   17

◆ FLG_NAMELESS

#define FLG_NAMELESS   11

◆ FLG_NOUN_BEGIN

#define FLG_NOUN_BEGIN   FLG_ITEMS

◆ FLG_NOUN_END

#define FLG_NOUN_END   FLG_BOOTS

◆ FLG_RARE

#define FLG_RARE   14

◆ FLG_REALM1

#define FLG_REALM1   23

◆ FLG_REALM2

#define FLG_REALM2   24

◆ FLG_RINGS

#define FLG_RINGS   43

◆ FLG_SECOND

#define FLG_SECOND   26

◆ FLG_SHIELDS

#define FLG_SHIELDS   41

◆ FLG_SPELLBOOKS

#define FLG_SPELLBOOKS   39

◆ FLG_STAR_IDENTIFIED

#define FLG_STAR_IDENTIFIED   4

◆ FLG_SUITS

#define FLG_SUITS   45

◆ FLG_THIRD

#define FLG_THIRD   27

◆ FLG_UNAWARE

#define FLG_UNAWARE   1

◆ FLG_UNIDENTIFIED

#define FLG_UNIDENTIFIED   2

◆ FLG_UNIQUE

#define FLG_UNIQUE   20

◆ FLG_UNREADABLE

#define FLG_UNREADABLE   22

◆ FLG_WANTED

#define FLG_WANTED   19

◆ FLG_WEAPONS

#define FLG_WEAPONS   31

◆ FLG_WORTHLESS

#define FLG_WORTHLESS   13

◆ IS_FLG

#define IS_FLG (   FLG)    (entry->flag[FLG / 32] & (1L << (FLG % 32)))

◆ LSTAT_AUTOREGISTER

#define LSTAT_AUTOREGISTER   0x04

◆ LSTAT_BYPASS

#define LSTAT_BYPASS   0x01

◆ LSTAT_EXPRESSION

#define LSTAT_EXPRESSION   0x02

◆ MARK_BY_SHIFT

#define MARK_BY_SHIFT   0x02

◆ MARK_MARK

#define MARK_MARK   0x01

◆ MATCH_KEY

#define MATCH_KEY (   KEY)
値:
(!strncmp(ptr, KEY, sizeof(KEY)-1)\
? (ptr += sizeof(KEY)-1, (' '==*ptr) ? ptr++ : 0, TRUE) : FALSE)
#define FALSE
コンパイル環境に定義がない場合のFALSE定義
Definition: h-define.h:69
#define TRUE
コンパイル環境に定義がない場合のTRUE定義
Definition: h-define.h:66

◆ MATCH_KEY2

#define MATCH_KEY2 (   KEY)
値:
(!strncmp(ptr, KEY, sizeof(KEY)-1)\
? (prev_ptr = ptr, ptr += sizeof(KEY)-1, (' '==*ptr) ? ptr++ : 0, TRUE) : FALSE)
#define FALSE
コンパイル環境に定義がない場合のFALSE定義
Definition: h-define.h:69
#define TRUE
コンパイル環境に定義がない場合のTRUE定義
Definition: h-define.h:66

◆ MAX_AUTOPICK_DEFAULT

#define MAX_AUTOPICK_DEFAULT   200

◆ MAX_LINELEN

#define MAX_LINELEN   1024

◆ MAX_LINES

#define MAX_LINES   3000

◆ MAX_YANK

#define MAX_YANK   MAX_LINELEN

◆ PT_DEFAULT

#define PT_DEFAULT   0

◆ PT_WITH_PNAME

#define PT_WITH_PNAME   1

◆ QUIT_AND_SAVE

#define QUIT_AND_SAVE   2

◆ QUIT_WITHOUT_SAVE

#define QUIT_WITHOUT_SAVE   1

◆ REM_FLG

#define REM_FLG (   FLG)    (entry->flag[FLG / 32] &= ~(1L << (FLG % 32)))

型定義詳解

◆ chain_str_type

typedef struct chain_str chain_str_type

関数詳解

◆ add_autopick_list()

static void add_autopick_list ( autopick_type entry)
static
被呼び出し関係図:

◆ add_empty_line()

static bool add_empty_line ( text_body_type tb)
static
呼び出し関係図:
被呼び出し関係図:

◆ add_keyword()

static void add_keyword ( text_body_type tb,
int  flg 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ add_str_to_yank()

static void add_str_to_yank ( text_body_type tb,
cptr  str 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ analyze_move_key()

static int analyze_move_key ( text_body_type tb,
int  skey 
)
static
被呼び出し関係図:

◆ auto_destroy_item()

static void auto_destroy_item ( object_type o_ptr,
int  autopick_idx 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ auto_inscribe_item()

static void auto_inscribe_item ( object_type o_ptr,
int  idx 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ autopick_alter_item()

void autopick_alter_item ( int  item,
bool  destroy 
)
呼び出し関係図:

◆ autopick_autoregister()

bool autopick_autoregister ( object_type o_ptr)
呼び出し関係図:

◆ autopick_delayed_alter()

void autopick_delayed_alter ( void  )
呼び出し関係図:

◆ autopick_delayed_alter_aux()

static void autopick_delayed_alter_aux ( int  item)
static
呼び出し関係図:
被呼び出し関係図:

◆ autopick_entry_from_object()

static void autopick_entry_from_object ( autopick_type entry,
object_type o_ptr 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ autopick_free_entry()

static void autopick_free_entry ( autopick_type entry)
static
呼び出し関係図:
被呼び出し関係図:

◆ autopick_line_from_entry()

cptr autopick_line_from_entry ( autopick_type entry)
呼び出し関係図:

◆ autopick_line_from_entry_kill()

static cptr autopick_line_from_entry_kill ( autopick_type entry)
static
呼び出し関係図:
被呼び出し関係図:

◆ autopick_load_pref()

void autopick_load_pref ( bool  disp_mes)
呼び出し関係図:

◆ autopick_new_entry()

static bool autopick_new_entry ( autopick_type entry,
cptr  str,
bool  allow_default 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ autopick_pickup_items()

void autopick_pickup_items ( cave_type c_ptr)
呼び出し関係図:

◆ check_expression_line()

static void check_expression_line ( text_body_type tb,
int  y 
)
static
被呼び出し関係図:

◆ choose_object()

static object_type* choose_object ( cptr  q,
cptr  s 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ clear_auto_register()

static bool clear_auto_register ( void  )
static
呼び出し関係図:
被呼び出し関係図:

◆ copy_text_to_yank()

static void copy_text_to_yank ( text_body_type tb)
static
呼び出し関係図:
被呼び出し関係図:

◆ describe_autopick()

static void describe_autopick ( char *  buff,
autopick_type entry 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ do_cmd_edit_autopick()

void do_cmd_edit_autopick ( void  )
呼び出し関係図:

◆ do_command_menu()

static int do_command_menu ( int  level,
int  start 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ do_editor_command()

static bool do_editor_command ( text_body_type tb,
int  com_id 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ draw_text_editor()

static void draw_text_editor ( text_body_type tb)
static
呼び出し関係図:
被呼び出し関係図:

◆ entry_from_choosed_object()

static bool entry_from_choosed_object ( autopick_type entry)
static
呼び出し関係図:
被呼び出し関係図:

◆ free_text_lines()

static void free_text_lines ( cptr lines_list)
static
呼び出し関係図:
被呼び出し関係図:

◆ get_com_id()

static int get_com_id ( char  key)
static
被呼び出し関係図:

◆ get_destroyed_object_for_search()

static byte get_destroyed_object_for_search ( object_type **  o_handle,
cptr search_strp 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ get_object_for_search()

static byte get_object_for_search ( object_type **  o_handle,
cptr search_strp 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ get_string_for_search()

static byte get_string_for_search ( object_type **  o_handle,
cptr search_strp 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ init_autopick()

static void init_autopick ( void  )
static
呼び出し関係図:
被呼び出し関係図:

◆ insert_keymap_line()

static bool insert_keymap_line ( text_body_type tb)
static
呼び出し関係図:
被呼び出し関係図:

◆ insert_macro_line()

static bool insert_macro_line ( text_body_type tb)
static
呼び出し関係図:
被呼び出し関係図:

◆ insert_return_code()

static bool insert_return_code ( text_body_type tb)
static
呼び出し関係図:
被呼び出し関係図:

◆ insert_single_letter()

static void insert_single_letter ( text_body_type tb,
int  key 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ is_autopick()

int is_autopick ( object_type o_ptr)
呼び出し関係図:

◆ is_autopick_aux()

static bool is_autopick_aux ( object_type o_ptr,
autopick_type entry,
cptr  o_name 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ is_opt_confirm_destroy()

static bool is_opt_confirm_destroy ( object_type o_ptr)
static
呼び出し関係図:
被呼び出し関係図:

◆ kill_line_segment()

static void kill_line_segment ( text_body_type tb,
int  y,
int  x0,
int  x1,
bool  whole 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ kill_yank_chain()

static void kill_yank_chain ( text_body_type tb)
static
呼び出し関係図:
被呼び出し関係図:

◆ new_chain_str()

static chain_str_type* new_chain_str ( cptr  str)
static
呼び出し関係図:
被呼び出し関係図:

◆ pickpref_filename()

static cptr pickpref_filename ( int  filename_mode)
static
呼び出し関係図:
被呼び出し関係図:

◆ prepare_default_pickpref()

static void prepare_default_pickpref ( void  )
static
呼び出し関係図:
被呼び出し関係図:

◆ process_autopick_file_command()

errr process_autopick_file_command ( char *  buf)
呼び出し関係図:

◆ read_pickpref_text_lines()

static cptr* read_pickpref_text_lines ( int *  filename_mode_p)
static
呼び出し関係図:
被呼び出し関係図:

◆ read_text_lines()

static cptr* read_text_lines ( cptr  filename)
static
呼び出し関係図:
被呼び出し関係図:

◆ search_for_object()

static void search_for_object ( text_body_type tb,
object_type o_ptr,
bool  forward 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ search_for_string()

static void search_for_string ( text_body_type tb,
cptr  search_str,
bool  forward 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ toggle_command_letter()

static void toggle_command_letter ( text_body_type tb,
byte  flg 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ toggle_keyword()

static void toggle_keyword ( text_body_type tb,
int  flg 
)
static
呼び出し関係図:
被呼び出し関係図:

◆ write_text_lines()

static bool write_text_lines ( cptr  filename,
cptr lines_list 
)
static
呼び出し関係図:
被呼び出し関係図:

変数詳解

◆ autopick_last_destroyed_object

object_type autopick_last_destroyed_object
static

◆ autoregister_header

const char autoregister_header[] = "?:$AUTOREGISTER"
static

◆ KEY_ALL

char KEY_ALL[] = "all"
static

◆ KEY_AMULETS

char KEY_AMULETS[] = "amulets"
static

◆ KEY_ARMORS

char KEY_ARMORS[] = "armors"
static

◆ KEY_ARTIFACT

char KEY_ARTIFACT[] = "artifact"
static

◆ KEY_AVERAGE

char KEY_AVERAGE[] = "average"
static

◆ KEY_BOOSTED

char KEY_BOOSTED[] = "dice boosted"
static

◆ KEY_BOOTS

char KEY_BOOTS[] = "boots"
static

◆ KEY_BOWS

char KEY_BOWS[] = "bows"
static

◆ KEY_CLOAKS

char KEY_CLOAKS[] = "cloaks"
static

◆ KEY_COLLECTING

char KEY_COLLECTING[] = "collecting"
static

◆ KEY_COMMON

char KEY_COMMON[] = "common"
static

◆ KEY_CORPSES

char KEY_CORPSES[] = "corpses or skeletons"
static

◆ KEY_DEVICES

char KEY_DEVICES[] = "magical devices"
static

◆ KEY_DICE

char KEY_DICE[] = " dice"
static

◆ KEY_EGO

char KEY_EGO[] = "ego"
static

◆ KEY_FAVORITE_WEAPONS

char KEY_FAVORITE_WEAPONS[] = "favorite weapons"
static

◆ KEY_FIRST

char KEY_FIRST[] = "first"
static

◆ KEY_FOURTH

char KEY_FOURTH[] = "fourth"
static

◆ KEY_GLOVES

char KEY_GLOVES[] = "gloves"
static

◆ KEY_GOOD

char KEY_GOOD[] = "good"
static

◆ KEY_HAFTED

char KEY_HAFTED[] = "hafted weapons"
static

◆ KEY_HELMS

char KEY_HELMS[] = "helms"
static

◆ KEY_HUMAN

char KEY_HUMAN[] = "human"
static

◆ KEY_IDENTIFIED

char KEY_IDENTIFIED[] = "identified"
static

◆ KEY_ITEMS

char KEY_ITEMS[] = "items"
static

◆ KEY_JUNKS

char KEY_JUNKS[] = "junks"
static

◆ KEY_LIGHTS

char KEY_LIGHTS[] = "lights"
static

◆ KEY_MISSILES

char KEY_MISSILES[] = "missiles"
static

◆ KEY_MORE_BONUS

char KEY_MORE_BONUS[] = "more bonus than"
static

◆ KEY_MORE_BONUS2

char KEY_MORE_BONUS2[] = ""
static

◆ KEY_MORE_THAN

char KEY_MORE_THAN[] = "more than"
static

◆ KEY_NAMELESS

char KEY_NAMELESS[] = "nameless"
static

◆ KEY_RARE

char KEY_RARE[] = "rare"
static

◆ KEY_REALM1

char KEY_REALM1[] = "first realm's"
static

◆ KEY_REALM2

char KEY_REALM2[] = "second realm's"
static

◆ KEY_RINGS

char KEY_RINGS[] = "rings"
static

◆ KEY_SECOND

char KEY_SECOND[] = "second"
static

◆ KEY_SHIELDS

char KEY_SHIELDS[] = "shields"
static

◆ KEY_SPELLBOOKS

char KEY_SPELLBOOKS[] = "spellbooks"
static

◆ KEY_STAR_IDENTIFIED

char KEY_STAR_IDENTIFIED[] = "*identified*"
static

◆ KEY_SUITS

char KEY_SUITS[] = "suits"
static

◆ KEY_THIRD

char KEY_THIRD[] = "third"
static

◆ KEY_UNAWARE

char KEY_UNAWARE[] = "unaware"
static

◆ KEY_UNIDENTIFIED

char KEY_UNIDENTIFIED[] = "unidentified"
static

◆ KEY_UNIQUE

char KEY_UNIQUE[] = "unique monster's"
static

◆ KEY_UNREADABLE

char KEY_UNREADABLE[] = "unreadable"
static

◆ KEY_WANTED

char KEY_WANTED[] = "wanted"
static

◆ KEY_WEAPONS

char KEY_WEAPONS[] = "weapons"
static

◆ KEY_WORTHLESS

char KEY_WORTHLESS[] = "worthless"
static

◆ menu_data

command_menu_type menu_data[]

◆ MN_ADJECTIVE_GEN

char MN_ADJECTIVE_GEN[] = "Adjective (general)"
static

◆ MN_ADJECTIVE_SPECIAL

char MN_ADJECTIVE_SPECIAL[] = "Adjective (special)"
static

◆ MN_BACKSPACE

char MN_BACKSPACE[] = "Backspace"
static

◆ MN_BLOCK

char MN_BLOCK[] = "Select block"
static

◆ MN_BOL

char MN_BOL[] = "Beggining of line"
static

◆ MN_BOOSTED

char MN_BOOSTED[] = "dice boosted (weapons)"
static

◆ MN_BOTTOM

char MN_BOTTOM[] = "Bottom (End key)"
static

◆ MN_CL_AUTOPICK

char MN_CL_AUTOPICK[] = "' ' (Auto pick)"
static

◆ MN_CL_DESTROY

char MN_CL_DESTROY[] = "'!' (Auto destroy)"
static

◆ MN_CL_LEAVE

char MN_CL_LEAVE[] = "'~' (Leave it on the floor)"
static

◆ MN_CL_NO_DISP

char MN_CL_NO_DISP[] = "'(' (No display on the large map)"
static

◆ MN_CL_QUERY

char MN_CL_QUERY[] = "';' (Query to pick up)"
static

◆ MN_COMMAND_LETTER

char MN_COMMAND_LETTER[] = "Command letter"
static

◆ MN_COMMON

char MN_COMMON[] = "common (equipments)"
static

◆ MN_COPY

char MN_COPY[] = "Copy"
static

◆ MN_CUT

char MN_CUT[] = "Cut"
static

◆ MN_DELETE_CHAR

char MN_DELETE_CHAR[] = "Delete character"
static

◆ MN_DOWN

char MN_DOWN[] = "Down (Down Arrow key)"
static

◆ MN_EDIT

char MN_EDIT[] = "Edit"
static

◆ MN_EOL

char MN_EOL[] = "End of line"
static

◆ MN_FIRST

char MN_FIRST[] = "first (spellbooks)"
static

◆ MN_FOURTH

char MN_FOURTH[] = "fourth (spellbooks)"
static

◆ MN_HELP

char MN_HELP[] = "Help"
static

◆ MN_HUMAN

char MN_HUMAN[] = "human (corpse)"
static

◆ MN_INSERT

char MN_INSERT[] = "Insert..."
static

◆ MN_INSERT_BLOCK

char MN_INSERT_BLOCK[] = "Insert conditional block"
static

◆ MN_INSERT_DESTROYED

char MN_INSERT_DESTROYED[] = "Insert name of destroyed object"
static

◆ MN_INSERT_KEYMAP

char MN_INSERT_KEYMAP[] = "Insert a keymap definition"
static

◆ MN_INSERT_MACRO

char MN_INSERT_MACRO[] = "Insert a macro definition"
static

◆ MN_INSERT_OBJECT

char MN_INSERT_OBJECT[] = "Insert name of choosen object"
static

◆ MN_KILL_LINE

char MN_KILL_LINE[] = "Kill rest of line"
static

◆ MN_LEFT

char MN_LEFT[] = "Left (Left Arrow key)"
static

◆ MN_MORE_BONUS

char MN_MORE_BONUS[] = "more bonus than # (rings etc.)"
static

◆ MN_MORE_DICE

char MN_MORE_DICE[] = "more than # dice (weapons)"
static

◆ MN_MOVE

char MN_MOVE[] = "Move cursor"
static

◆ MN_NOUN

char MN_NOUN[] = "Keywords (noun)"
static

◆ MN_PASTE

char MN_PASTE[] = "Paste"
static

◆ MN_PGDOWN

char MN_PGDOWN[] = "Page down(PageDown key)"
static

◆ MN_PGUP

char MN_PGUP[] = "Page up (PageUp key)"
static

◆ MN_QUIT

char MN_QUIT[] = "Quit without save"
static

◆ MN_RARE

char MN_RARE[] = "rare (equipments)"
static

◆ MN_REALM1

char MN_REALM1[] = "realm1 (spellbooks)"
static

◆ MN_REALM2

char MN_REALM2[] = "realm2 (spellbooks)"
static

◆ MN_RETURN

char MN_RETURN[] = "Return"
static

◆ MN_REVERT

char MN_REVERT[] = "Revert all changes"
static

◆ MN_RIGHT

char MN_RIGHT[] = "Right (Right Arrow key)"
static

◆ MN_SAVEQUIT

char MN_SAVEQUIT[] = "Save & Quit"
static

◆ MN_SEARCH

char MN_SEARCH[] = "Search"
static

◆ MN_SEARCH_BACK

char MN_SEARCH_BACK[] = "Search backward"
static

◆ MN_SEARCH_DESTROYED

char MN_SEARCH_DESTROYED[] = "Search by destroyed object"
static

◆ MN_SEARCH_FORW

char MN_SEARCH_FORW[] = "Search forward"
static

◆ MN_SEARCH_OBJ

char MN_SEARCH_OBJ[] = "Search by inventory object"
static

◆ MN_SEARCH_STR

char MN_SEARCH_STR[] = "Search by string"
static

◆ MN_SECOND

char MN_SECOND[] = "second (spellbooks)"
static

◆ MN_THIRD

char MN_THIRD[] = "third (spellbooks)"
static

◆ MN_TOP

char MN_TOP[] = "Top (Home key)"
static

◆ MN_UNIQUE

char MN_UNIQUE[] = "unique (corpse)"
static

◆ MN_UNREADABLE

char MN_UNREADABLE[] = "unreadable (spellbooks)"
static

◆ MN_UP

char MN_UP[] = "Up (Up Arrow key)"
static

◆ MN_WANTED

char MN_WANTED[] = "wanted (corpse)"
static