|
|
|
@ -17,7 +17,7 @@ NEARDATA const struct c_color_names c_color_names = {
|
|
|
|
|
"black", "amber", "golden", "light blue", "red", "green",
|
|
|
|
|
"silver", "blue", "purple", "white", "orange"
|
|
|
|
|
};
|
|
|
|
|
const char *c_obj_colors[] = { //这里定义了一些物品的颜色
|
|
|
|
|
const char *c_obj_colors[] = { //这里定义了一些物品的颜色
|
|
|
|
|
"black", /* CLR_BLACK */
|
|
|
|
|
"red", /* CLR_RED */
|
|
|
|
|
"green", /* CLR_GREEN */
|
|
|
|
@ -146,12 +146,12 @@ NEARDATA long yn_number = 0L;
|
|
|
|
|
//其中包括随机数种子、文本输出、文件操作、游戏状态、时间管理、玩家角色属性、装备和物品等。
|
|
|
|
|
|
|
|
|
|
#ifdef PANICTRACE
|
|
|
|
|
const char *ARGV0;
|
|
|
|
|
const char *ARGV0; //是一个指向const char类型的指针变量,在宏定义PANICTRACE被定义时生效。
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#define IVMAGIC 0xdeadbeef
|
|
|
|
|
#define IVMAGIC 0xdeadbeef //是一个整型常量,表示一个特定的魔数。
|
|
|
|
|
|
|
|
|
|
const struct Role urole_init_data = {
|
|
|
|
|
const struct Role urole_init_data = { //是一个struct Role结构体变量,用于初始化玩家角色的初始数据。其中包括角色名称、属性、初始位置等信息。
|
|
|
|
|
{ "Undefined", 0 },
|
|
|
|
|
{ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
|
|
|
|
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
|
|
|
|
@ -177,7 +177,7 @@ const struct Role urole_init_data = {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const struct Race urace_init_data = {
|
|
|
|
|
"something",
|
|
|
|
|
"something", //是一个struct Race结构体变量,用于初始化玩家种族的初始数据。其中包括种族名称、属性、初始位置等信息。
|
|
|
|
|
"undefined",
|
|
|
|
|
"something",
|
|
|
|
|
"Xxx",
|
|
|
|
@ -198,7 +198,8 @@ const struct Race urace_init_data = {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const struct instance_globals_a g_init_a = {
|
|
|
|
|
const struct instance_globals_a g_init_a = { //是一个struct instance_globals_a结构体变量,用于初始化一些全局变量。
|
|
|
|
|
//每个注释后面的注释表示该变量在代码中的使用位置。
|
|
|
|
|
/* artifact.c */
|
|
|
|
|
/* decl.c */
|
|
|
|
|
UNDEFINED_PTR, /* afternmv */
|
|
|
|
@ -226,7 +227,8 @@ const struct instance_globals_a g_init_a = {
|
|
|
|
|
IVMAGIC /* a_magic to validate that structure layout has been preserved */
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const struct instance_globals_b g_init_b = {
|
|
|
|
|
const struct instance_globals_b g_init_b = {//是一个struct instance_globals_b结构体变量,用于初始化另一些全局变量。
|
|
|
|
|
//每个注释后面的注释表示该变量在代码中的使用位置。
|
|
|
|
|
/* botl.c */
|
|
|
|
|
{ { { NULL, NULL, 0L, FALSE, FALSE, 0, 0U, { 0 }, { 0 }, NULL, 0, 0, 0
|
|
|
|
|
#ifdef STATUS_HILITES
|
|
|
|
@ -496,26 +498,26 @@ const struct instance_globals_l g_init_l = {
|
|
|
|
|
0U, /* last_hider */
|
|
|
|
|
/* nhlan.c */
|
|
|
|
|
#ifdef MAX_LAN_USERNAME
|
|
|
|
|
UNDEFINED_VALUES, /* lusername */
|
|
|
|
|
MAX_LAN_USERNAME, /* lusername_size */
|
|
|
|
|
UNDEFINED_VALUES, /* lusername */ //是一个全局变量,用于存储本地区域网络的用户名。如果定义了MAX_LAN_USERNAME宏,则将其初始化为UNDEFINED_VALUES,否则将其初始化为未定义的值。注释后面的注释表示该变量在代码中的使用位置。
|
|
|
|
|
MAX_LAN_USERNAME, /* lusername_size */ //是一个全局变量,用于存储本地区域网络用户名的大小。
|
|
|
|
|
#endif /* MAX_LAN_USERNAME */
|
|
|
|
|
/* nhlua.c */
|
|
|
|
|
UNDEFINED_VALUE, /* luacore */
|
|
|
|
|
DUMMY, /* lua_warnbuf[] */
|
|
|
|
|
UNDEFINED_VALUE, /* luacore */ //是一个全局变量,用于存储Lua脚本的核心。将其初始化为未定义的值。
|
|
|
|
|
DUMMY, /* lua_warnbuf[] */ //是一个数组,用于存储Lua警告信息的缓冲区。
|
|
|
|
|
/* options.c */
|
|
|
|
|
FALSE, /* loot_reset_justpicked */
|
|
|
|
|
FALSE, /* loot_reset_justpicked */ //是一个全局变量,用于表示是否刚刚拾取了战利品并需要重置。将其初始化为FALSE。
|
|
|
|
|
/* save.c */
|
|
|
|
|
(struct obj *) 0, /* looseball */
|
|
|
|
|
(struct obj *) 0, /* looseball */ //是全局变量,用于表示游戏中的松散物品
|
|
|
|
|
(struct obj *) 0, /* loosechain */
|
|
|
|
|
/* sp_lev.c */
|
|
|
|
|
NULL, /* lev_message */
|
|
|
|
|
UNDEFINED_PTR, /* lregions */
|
|
|
|
|
NULL, /* lev_message */ //是一个全局变量,用于存储地图生成时的消息。
|
|
|
|
|
UNDEFINED_PTR, /* lregions */ //一个全局变量,用于存储地图生成时的区域信息
|
|
|
|
|
/* trap.c */
|
|
|
|
|
{ UNDEFINED_PTR, 0, 0 }, /* launchplace */
|
|
|
|
|
{ UNDEFINED_PTR, 0, 0 }, /* launchplace */ //是一个结构体变量,用于表示陷阱的发射位置。
|
|
|
|
|
/* windows.c */
|
|
|
|
|
UNDEFINED_PTR, /* last_winchoice */
|
|
|
|
|
UNDEFINED_PTR, /* last_winchoice */ //是一个全局变量,用于存储上次选择的窗口选项。
|
|
|
|
|
/* new */
|
|
|
|
|
DUMMY, /* lua_ver[LUA_VER_BUFSIZ] */
|
|
|
|
|
DUMMY, /* lua_ver[LUA_VER_BUFSIZ] */ //是一个字符数组,用于存储Lua版本信息。
|
|
|
|
|
DUMMY, /* lua_copyright[LUA_COPYRIGHT_BUFSIZ] */
|
|
|
|
|
TRUE, /* havestate*/
|
|
|
|
|
IVMAGIC /* l_magic to validate that structure layout has been preserved */
|
|
|
|
@ -958,8 +960,11 @@ const struct const_globals cg = {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#define ZERO(x) memset(&x, 0, sizeof(x))
|
|
|
|
|
//是一个宏定义,用于将变量x的内存空间清零。使用memset函数将x的内存空间的值设置为0,大小为sizeof(x)。
|
|
|
|
|
|
|
|
|
|
#define MAGICCHECK(xx) \
|
|
|
|
|
//是一个宏定义,用于检查结构体变量xx的魔术值和状态。
|
|
|
|
|
//如果xx的magic字段不等于IVMAGIC(预定义的魔术值),则输出错误信息并退出程序。如果xx的havestate字段不等于TRUE,则输出错误信息并退出程序。
|
|
|
|
|
do { \
|
|
|
|
|
if ((xx).magic != IVMAGIC) { \
|
|
|
|
|
raw_printf( \
|
|
|
|
|