塞尔达传说 黄昏公主HD 官中移植笔记
纸片马力欧 俄化相关
http://nintendoclub.ru/forum/32-1512-1
字库同为bfn格式
塞尔达传说 黄昏公主HD 官中移植笔记
塞尔达传说 黄昏公主HD 官中移植笔记
===参考===
BFN(字库)
http://hitmen.c02.at/files/yagcd/yagcd/chap15.html
https://wiki.cloudmodding.com/tww/BFN
https://github.com/Sage-of-Mirrors/GCFontTool
https://github.com/zsrtp/tpgz/blob/510894d1959cf168ae1d19a5c7cf0ec5294edbbb/src/font.cpp
https://github.com/hadashisora/NintyFont/
https://github.com/projectPiki/pikmin2/blob/main/src/JSystem/JUT/JUTResFont.cpp
BMG(文本):
https://wiibrew.org/wiki/BMG_files
https://github.com/zsrtp/GC-Randomizer/blob/stable/include/gc/bmgres.h
https://github.com/Sage-of-Mirrors/WindWakerTextEditor
https://gbatemp.net/threads/is-there-any-bmg-edtiors-for-nds-roms.543600/
版本差异:
https://gamefaqs.gamespot.com/boards/183128-the-legend-of-zelda-twilight-princess-hd/73416347
塞尔达传说 黄昏公主HD 官中移植笔记
fontres(rodan):
rodin(ロダン)字体
https://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%80%E3%83%B3_(%E6%9B%B8%E4%BD%93)
用于普通文本
rubyres(reishotai):
隶书体
用于地名等(如图)
塞尔达传说 黄昏公主HD 官中移植笔记
任天堂SDK的TexConv2只支持单次导入64张纹理,但字库有101张
https://github.com/aboood40091/GTX-Extractor/issues/4
根据该issue可以得知,GTX文件的结构比较简单粗暴,直接缝合就可以
具体怎么缝合:
掐头去尾
始终下半部分这样的BLK结尾,所以前文删除末尾0x20,后文删除起始0x20(header)即可
塞尔达传说 黄昏公主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 官中移植笔记
// ----- 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 官中移植笔记
纹理尺寸必须是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为什么要用如此浪费的排列...