引语

其实字库处理很难说有一个统一的方法,不同的程序都需要不同方法来处理。

关于常见位图字库的详细信息。

下面是字库存在于ELF/ERX文件时的处理思路。

字模替换

最天真朴素、最通用的处理方式。适用于原字库大小能够塞下汉化所用的全部文字的情况。

这种情况只要对码表进行整理,完成码点的重映射即可,可以说非常的简单。

但是,如果汉化用字超出了……呢?

字库扩容

如果游戏利用的是ROM媒介,比如古早的游戏机将ROM映射到内存地址上那样的话,由于ROM本身的特性,在游戏原始ROM尾端附加字库是可能的。那么只要移动字库到尾端,然后维护字库的指针即可。

然而,PS2上,由于程序是被加载到内存中,而且各个内存都有被利用的可能性(通过堆分配等),如果真的要移动到尾端,你还需要继续维护成吨的代码,确保字库占有的内存不被利用掉。你可能需要修改malloc(甚至可能是开发商自己实现的)等一系列函数。然后才能将字库移动过去。

字库减色(有损压缩)

如果原始字库不是单色(1bpp)而是4色甚至16色的话,牺牲一些精度来保证容量是完全可以接受的。

难点在于,这次需要修改从字库取字的例程了。

而根据游戏的不同,取字例程要改到什么程度是不一定的。有的游戏可能拥有不止一个取字例程,那么也都需要改变。

以GUST的游戏为例,除了主字库之外,游戏还有一个小号的字模“缓冲区”。程序首先在缓冲区中找字,找不到的话再去字库取字,并保存到缓冲区。之后再从缓冲区中复制到其他各种地方染色、缩放等。所以,最简单的方法就是修改从字库复制字符到缓冲区的例程。将取得的1bpp字模加色到4bpp后贴回去即可。

字库压缩

将字库数据压缩,然后运行时解压到压缩时腾出的空间中,然后再令取字例程从那里取字。代价是会带来巨大的运行时开销。压缩率高时尤是。

结语

大概,就这些吧?

PS2汉化1 字库处理相关推荐

  1. PS2汉化实例-《魔塔大陆》

    写些<魔塔大陆>以及一些引擎相关的吧 在整个PS2时代,GUST一直保留着往ELF里塞数据的做法.所以不管是字库还是战斗数据什么的都可以在ELF里面找到. 到PS3后字体倒是改成了TTF, ...

  2. PS2 格兰蒂亚3 汉化研究

    关于资源压缩: 提取iso后没有发现需要的东西.查看主程序后发现字库读取SYS/GR3.MDZ里面.大部分资源都是MDZ格式,被压缩了.当时毫无头绪,因为没有见过 这种格式,后来在研究其他游戏中发现了 ...

  3. 游戏汉化教程2-资源分析

    资源分析 之前已经介绍过了整个游戏的汉化流程,我也提到过其实汉化的流程虽然简单,但是每一个步骤里面都包含了许多细节,甚至于有时候一个细节就会让整个汉化宣布失败.今天主要讲的就是第一个步骤,资源分析(包 ...

  4. (PS)賭博黙示録カイジ汉化笔记(一)

    前言 本文记录我的第一个尝试汉化的作品<賭博黙示録カイジ>的汉化过程,希望对想要加入到PS汉化行列的人能够提供一些帮助.这个笔记写成于去年,也就是2009年的10月份左右,由于是第一次接触 ...

  5. 价值100大洋的简体中文汉化补丁下载

    这 真逗我啊..... 要我怎么说呢...... 总之今天是DT才搞这个汉化补丁 说明两点: 1 基于繁体中文版,我只是改了简体字库,感谢制作繁体中文的大大(难不成官方做的??) 2 字库有点挫,我写 ...

  6. 真正中文攻略之 SAKURA~雪月華~ 花鳥風月プレミアムエディション 汉化、攻略...

    发售日:2005年5月27日 对象:全年龄 类型:恋爱ADV SAKURA雪月华是由CIRCUS和PrincessSoft合做的作品,2003年7月出了PS2版,这次PC版是由PS2版移植的.人设由七 ...

  7. 佳明手表APP开发系列01——简单汉化英文版

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.佳明手表APP开发过程简介 二.做个简单的个性化--在英文版写几个汉字 1.MonkeyC 图形处理 2.获得汉字 ...

  8. 英文WM 5.0、6.0 ROM汉化初级教程

    .error{color:#FF0000;font-size:12px} /**/ 主页博客相册|个人档案 |好友   查看文章   英文WM 5.0.6.0 ROM汉化初级教程 2008-11-17 ...

  9. 第1章 KRKR游戏系统汉化说明

    kdays 游戏汉化教程[日记版本] 序章 接触 豆知识: KRKR是W.dee氏开发的AVG文字游戏系统,由于开放性和良好的扩展性,为众多的游戏所使用.其代码也属于通俗易懂,也是汉化出来之后可以明文 ...

最新文章

  1. BZOJ 1194: [HNOI2006]潘多拉的盒子 [DP DFA]
  2. Java生成XML文件与XML文件的写入
  3. sql 找到上一次_记一次对XXCMS的代码审计
  4. 病例对照研究和队列研究详解
  5. Qt Creator在外部应用程序上运行Valgrind工具
  6. python制作题库网站_Python解答力扣网站题库简单版!
  7. SOA理论与概念深入剖析
  8. 使用halcon将一个圆上的点拟合成圆形并且求出圆心
  9. 特岗计算机专业知识考试考什么,特岗教师考试笔试内容是什么 应该怎样复习...
  10. delphi 快速导出excel
  11. 主板检测卡c5_电脑主板检测卡代码大全
  12. 计算机小喇叭找不到,如何解决电脑右下角的小喇叭不见了的问题
  13. iOS创建自定义相册
  14. perl学习(4) 子程序
  15. pixhawk之NSH调试
  16. 用虚拟机写java程序_JAVA是什么?java是狗屁!写java程序说穿了就是在对java虚拟机这个软件进行应用。...
  17. Visual Studio教程
  18. java中类的加载顺序
  19. PTA 7-13 小明的家庭合影
  20. android乐视视频直播技术,乐视网进军android平台开发领域

热门文章

  1. java中奖率算法_JS简单实现:根据奖品权重计算中奖概率实现抽奖的方法
  2. 数据仓库模型篇-点外卖
  3. JAVA并发基础: 同步器的使用
  4. 你为什么进入游戏业?
  5. hdu 4506 小明系列故事——师兄帮帮忙
  6. java编写铝材公式_铝材的重量和单价的计算公式
  7. Qt实现登录效果(超详细!超简单!)
  8. 博客站点选择SqlServer数据库版本技巧及微信打赏插件分析[图]
  9. orange+pi+android+7,Orange Pi 3开发板使用USB摄像头的方法(安卓系统)
  10. webSocket实现点对点、群发消息通知