OSDN Git Service

[Refactor] #38995 player_base を player_type の base_name へ改名して移動.
[hengband/hengband.git] / src / util.h
1 #pragma once
2
3 /*
4  * Sort-array element
5  */
6 typedef struct tag_type tag_type;
7
8 struct tag_type
9 {
10         int tag;
11         int index;
12 };
13
14 /*
15  * An entry for the object/monster allocation functions
16  *
17  * Pass 1 is determined from allocation information
18  * Pass 2 is determined from allocation restriction
19  * Pass 3 is determined from allocation calculation
20  */
21
22 typedef struct alloc_entry alloc_entry;
23
24 struct alloc_entry
25 {
26         KIND_OBJECT_IDX index;          /* The actual index */
27
28         DEPTH level;            /* Base dungeon level */
29         PROB prob1;             /* Probability, pass 1 */
30         PROB prob2;             /* Probability, pass 2 */
31         PROB prob3;             /* Probability, pass 3 */
32
33         u16b total;             /* Unused for now */
34 };
35
36 extern u32b message__next;
37 extern u32b message__last;
38 extern u32b message__head;
39 extern u32b message__tail;
40 extern u32b *message__ptr;
41 extern char *message__buf;
42
43 extern s16b macro__num;
44 extern concptr *macro__pat;
45 extern concptr *macro__act;
46 extern bool *macro__cmd;
47 extern char *macro__buf;
48
49 extern bool inkey_base;
50 extern bool inkey_xtra;
51 extern bool inkey_scan;
52 extern bool inkey_flag;
53
54 /*
55  * Automatically generated "variable" declarations
56  */
57 extern int max_macrotrigger;
58 extern concptr macro_template;
59 extern concptr macro_modifier_chr;
60 extern concptr macro_modifier_name[MAX_MACRO_MOD];
61 extern concptr macro_trigger_name[MAX_MACRO_TRIG];
62 extern concptr macro_trigger_keycode[2][MAX_MACRO_TRIG];
63
64 /*
65  * Hack -- conditional (or "bizarre") externs
66  */
67
68 #ifdef SET_UID
69 extern void user_name(char *buf, int id);
70 #endif
71
72 #if 0
73 #ifndef HAS_STRICMP
74 extern int stricmp(concptr a, concptr b);
75 #endif
76 #endif
77
78 #ifndef HAVE_USLEEP
79 extern int usleep(huge usecs);
80 #endif
81
82 extern const char hexsym[16];
83
84 /* util.c */
85 extern errr path_parse(char *buf, int max, concptr file);
86 extern errr path_build(char *buf, int max, concptr path, concptr file);
87 extern FILE *my_fopen(concptr file, concptr mode);
88 extern FILE *my_fopen_temp(char *buf, int max);
89 extern errr my_fgets(FILE *fff, char *buf, huge n);
90 extern errr my_fputs(FILE *fff, concptr buf, huge n);
91 extern errr my_fclose(FILE *fff);
92 extern errr fd_kill(concptr file);
93 extern errr fd_move(concptr file, concptr what);
94 extern errr fd_copy(concptr file, concptr what);
95 extern int fd_make(concptr file, BIT_FLAGS mode);
96 extern int fd_open(concptr file, int flags);
97 extern errr fd_lock(int fd, int what);
98 extern errr fd_seek(int fd, huge n);
99 extern errr fd_chop(int fd, huge n);
100 extern errr fd_read(int fd, char *buf, huge n);
101 extern errr fd_write(int fd, concptr buf, huge n);
102 extern errr fd_close(int fd);
103 extern void flush(void);
104 extern void bell(void);
105 extern errr play_music(int type, int num);
106 extern void select_floor_music(void);
107 extern void sound(int num);
108 extern void move_cursor(int row, int col);
109 extern void text_to_ascii(char *buf, concptr str);
110 extern void ascii_to_text(char *buf, concptr str);
111 extern errr macro_add(concptr pat, concptr act);
112 extern sint macro_find_exact(concptr pat);
113 extern char inkey(void);
114 extern concptr quark_str(STR_OFFSET num);
115 extern void quark_init(void);
116 extern u16b quark_add(concptr str);
117 extern s32b message_num(void);
118 extern concptr message_str(int age);
119 extern void message_add(concptr msg);
120 extern void msg_erase(void);
121 extern void msg_print(concptr msg);
122 extern void msg_print_wizard(int cheat_type, concptr msg);
123 #ifndef SWIG
124 extern void msg_format(concptr fmt, ...);
125 extern void msg_format_wizard(int cheat_type, concptr fmt, ...);
126 #endif /* SWIG */
127 extern void screen_save(void);
128 extern void screen_load(void);
129 extern void c_put_str(TERM_COLOR attr, concptr str, TERM_LEN row, TERM_LEN col);
130 extern void put_str(concptr str, TERM_LEN row, TERM_LEN col);
131 extern void c_prt(TERM_COLOR attr, concptr str, TERM_LEN row, TERM_LEN col);
132 extern void prt(concptr str, TERM_LEN row, TERM_LEN col);
133 extern void c_roff(TERM_COLOR attr, concptr str);
134 extern void roff(concptr str);
135 extern void clear_from(int row);
136 extern bool askfor_aux(char *buf, int len, bool numpad_cursor);
137 extern bool askfor(char *buf, int len);
138 extern bool get_string(concptr prompt, char *buf, int len);
139 extern bool get_check(concptr prompt);
140 extern bool get_check_strict(concptr prompt, BIT_FLAGS mode);
141 extern bool get_com(concptr prompt, char *command, bool z_escape);
142 extern QUANTITY get_quantity(concptr prompt, QUANTITY max);
143 extern void pause_line(int row);
144 extern void request_command(int shopping);
145 extern bool is_a_vowel(int ch);
146 extern int get_keymap_dir(char ch);
147 extern errr type_string(concptr str, uint len);
148 extern void roff_to_buf(concptr str, int wlen, char *tbuf, size_t bufsize);
149
150 #ifdef SORT_R_INFO
151 extern void tag_sort(tag_type elements[], int number);
152 #endif /* SORT_R_INFO */
153
154 #ifdef SUPPORT_GAMMA
155 extern byte gamma_table[256];
156 extern void build_gamma_table(int gamma);
157 #endif /* SUPPORT_GAMMA */
158
159 extern size_t my_strcpy(char *buf, concptr src, size_t bufsize);
160 extern size_t my_strcat(char *buf, concptr src, size_t bufsize);
161 extern char *my_strstr(concptr haystack, concptr needle);
162 extern char *my_strchr(concptr ptr, char ch);
163 extern void str_tolower(char *str);
164 extern int inkey_special(bool numpad_cursor);
165
166 /* util.c */
167 extern void repeat_push(COMMAND_CODE what);
168 extern bool repeat_pull(COMMAND_CODE *what);
169 extern void repeat_check(void);