塞尔达传说 黄昏公主HD 官中移植笔记 

为了迎合审查,甚至连staff表都被迫翻译了...
但并没有写本土化团队(据说是神游翻译的?)

塞尔达传说 黄昏公主HD 官中移植笔记 

纸片马力欧 俄化相关
nintendoclub.ru/forum/32-1512-
字库同为bfn格式

塞尔达传说 黄昏公主HD 官中移植笔记 

塞尔达传说 黄昏公主HD 官中移植笔记 

Shield版本字库:
cell(单字):48x48 texels
texture sheet(纹理):5行5列 256x256 texels
HD日版字库:
cell(单字):54x56 texels
texture sheet(纹理):9行9列 512x512 texels
值得一提的是,HD版本的.arc内含.bfn,.pack.gz内含.gtx
猜测.bfn只提供map和info,实际材质是使用.gtx

这次考虑使用kaitai来编写?

塞尔达传说 黄昏公主HD 官中移植笔记 

fontres(rodan):
rodin(ロダン)字体
ja.wikipedia.org/wiki/%E3%83%A
用于普通文本

rubyres(reishotai):
隶书体
用于地名等(如图)

塞尔达传说 黄昏公主HD 官中移植笔记 

留存一张ct2查看字库的实例以免自己忘了:
tail尺寸8px
然后按texture sheet来调整列数(视图-自适应tile行列数)
这里是256x256的texture sheet,所以32列
偏移量即GLY1 block的末尾开始

颜色模式N64/MD 4bpp,调色板可以用色带的最后一行

塞尔达传说 黄昏公主HD 官中移植笔记 

原来是alpha啊草

塞尔达传说 黄昏公主HD 官中移植笔记 

文本暂且用wbmgt缝上了,但肯定是要改的
szs/bin/wbmgt patch zel_00_jpn_utf16be.txt --patch replace=zel_00_chs_utf16be.txt -d new.txt

塞尔达传说 黄昏公主HD 官中移植笔记 

官中的字库也片好了

塞尔达传说 黄昏公主HD 官中移植笔记 

任天堂SDK的TexConv2只支持单次导入64张纹理,但字库有101张

github.com/aboood40091/GTX-Ext
根据该issue可以得知,GTX文件的结构比较简单粗暴,直接缝合就可以
具体怎么缝合:
掐头去尾
始终下半部分这样的BLK结尾,所以前文删除末尾0x20,后文删除起始0x20(header)即可

塞尔达传说 黄昏公主HD 官中移植笔记 

备忘 切分字库dds的imagemagick命令:

convert rodan_b_24_22.dds -crop 256x256 rodan/%01d.dds

塞尔达传说 黄昏公主HD 官中移植笔记 

block2 map
0x20-0x7F线性映射,ASCII可显示字符

关注

塞尔达传说 黄昏公主HD 官中移植笔记 

block3 map
0x00B7-0xFF5E,map映射
符号 全角字母 假名 汉字?

塞尔达传说 黄昏公主HD 官中移植笔记 

共1756字
0x20-0x7e(ASCII)
┌0x8140

│0x829f-0x82f1
│0x824f-0x8256
│0x8271-0x8278
│0x8340-0x837e
│0x8380-0x8396
│0x8765-0x876c
│0x89b6-0x89bd
│0x8ac2-0x8ac9
│0x90b3-0x90ba
│0x91e3-0x91ea
│0x9758-0x975f

└0x9872​

0x20-0x7e 以及中间一大块都是线性映射
0x8140-0x9872是查表,里面有1428个字

应该可以舍弃中间一大块 改成全都查表

塞尔达传说 黄昏公主HD 官中移植笔记 

纹理尺寸必须是2的N次方,但glyph尺寸不一定是,所以会造成浪费。

各版本字库有效率:
(glyph尺寸 排列 on 纹理尺寸)
Shield版:48px 5x5 on 256px
有效率:87.89%
GC版reishotai:24px 5x5 on 128px
有效率:87.89%
GC版rodan: 24px 1x1 on 32px
有效率:56.25%

不太理解,GC版的rodan为什么要用如此浪费的排列...

塞尔达传说 黄昏公主HD 官中移植笔记 

// ----- GX2Surface Info -----
dim = 1
width = 512
height = 512
depth = 1
numMips = 1
format = GX2_SURFACE_FORMAT_TC_R8_UNORM
aa = 0
use = 1
imageSize = 262144
mipSize = 0
tileMode = 4
swizzle = 851968, 0xd0000
alignment = 2048
pitch = 512

GX2 Component Selector:
Red Channel: R
Green Channel: 1
Blue Channel: 1
Alpha Channel: 1

bits per pixel = 8
bytes per pixel = 1
realSize = 262144

塞尔达传说 黄昏公主HD 官中移植笔记 

塞尔达传说 黄昏公主HD 官中移植笔记 

rodan字体:华康黑体 W5
reishotai字体:华康唐风隶 W5

登录以加入对话
Monado

Monado 是一个以任天堂为主、面向全平台游戏的、非营利性的中文向社区。在这里,你可以畅所欲言一切和游戏有关的东西,包括但不限于游戏日常、心得、感想、同人等;当然,吐槽自己的生活也完全没有问题。请在遵守所在国家或者地区法律法规的前提下自由的使用。