-
Notifications
You must be signed in to change notification settings - Fork 11
Home
位置:objnam.c
调用了just_an(),处理后,一般会给字符串前面加上"a "或者"an "
所以在处理中文字符串时,要去掉an(),an(str)改为str
位置:objnam.c
调用了cxname(otmp),有数量的在前面加上数量,最后加上动词verb
我作了修改,Strcat(bp, " ");
改为Strcat(bp, "");
汉化时无需额外处理
位置:objnam.c
返回"某某怪尸体"或者"某物品"
位置:objnam.c
获取简化的obj的名字,然后调用makeplural()
位置:objnam.c
调用了simpleonames(obj),判断物品obj的数量是否是单数,是就会调用an(simpleoname),我作了修改
simpleoname = an(simpleoname);
改为simpleoname = simpleoname;
汉化时无需额外处理
位置:objnam.c
调用了aobjnam(obj, verb),如果是你携带的物品或任务神器,会在字符串前面加"你的"
位置:objnam.c
调用了yobjnam(obj, verb),然后首字母大写
位置objnam.c
会调用The(),最后加上动词verb,我作了修改
Strcat(bp, " ");
改为Strcat(bp, "");
汉化时无需额外处理
位置objnam.c
把字符串变成复数形式
我做了修改Strcpy(spot + 1, "'s");
改为Strcpy(spot + 1, "");
Strcasecpy(spot + 1, "s");
改为Strcasecpy(spot + 1, "");
汉化时无需额外处理
位置objnam.c
先判断物品otmp的数量是否是复数,不是复数,就调用vtense(),否则直接返回动词
汉化时无需处理
位置objnam.c
判断物品subj本身为单数还是复数,最后决定动词verb是否要加"s"或者"es",结果返回动词
中文下,verb都会处理为加"s",我作了修改
Strcasecpy(bspot + 1, "s");
改为Strcasecpy(bspot + 1, "");
汉化时无需额外处理
位置hack.h
是个宏定义的标识符,判断x的数量,不是单数的话,就返回"s"
汉化时需删除整个plur(x)
通用函数,把 str1 和 str2 进行比较,最多比较前 n 个字节
在处理中文时,中文在不同编码下的字节不一样,不能使用这个函数
我在config.h中定义了3种标识符
#define cnstrcmpi(bp, str, l) strncmpi(bp, str, l = strlen(str))
#define cnstrcmp(bp, str) strncmp(bp, str, strlen(str))
#define cnbstrcmp(bp, p, str) BSTRCMPI(bp, p - strlen(str), str)
所以把strncmp(str1, str2, n)替换为cnstrcmp(str1, str2)
把strncmpi(str1, str2, l = n)替换为cnstrcmpi(str1, str2, l)
把BSTRCMPI(str1, p - n, str2)替换为cnbstrcmp(str1, p, str2)
位置hacklib.c
一般给字符串str后面加上"'s",我作了修改
Strcat(buf, "'");
改为Strcat(buf, "的");
Strcat(buf, "'s");
改为Strcat(buf, "的");
位置hacklib.c
判断字符串str是否以chkstr结尾
位置objnam.c
返回pref+s的字符串
位置hacklib.c
例,str1="123456789456",str2="456",str3="a"
结果str1="123a789456"
位置objnam.c
判断是否在字符串前面加"the ",我作了修改
Strcpy(buf, "the ");
改为Strcpy(buf, "");
汉化时无需额外处理
位置objnam.c
调用了the(),并将t大写为T
汉化时无需额外处理
多数为神器使用,是在明亮的发光,不是闪耀
一般翻译为照耀
位置topten.c
在decl.h中定义了#define DIE_OF 3
,用于在死亡信息前加"死于"
allmain.c/moveloop(),游戏启动!
在NetHack/dat文件夹下的一些des文件中,每个职业都有各自的des文件
从des文件的的判断过程代码为sp_lev.c/spo_object() -> sp_lev.c/create_object() -> do_name.c/oname() -> artifact.c/exist_artifact()