【汉化】11月的阿卡迪亚

本文介绍了对游戏《阿卡迪亚》进行资源汉化的过程,包括使用AnimED进行BGI2_Archive解包与封包、通过010editor分析BGI2_Script结构与指令、程序修改以绕过语言检测,以及解决文本显示与程序退出时的崩溃问题。详细阐述了每一步的操作方法和技术难点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在数个月前我听到了这游戏的OP,感觉挺好听的。
然后找了一下这个游戏,发现并没有汉化版,甚至连开坑的消息都没有,个人开坑的不算,谁知道整到什么时候。

于是乎,我花了2天时间来进行程序的分析及修改。(初版完成)

后来又花了4天时间,对乱码文本进行修复。(解析完善)

最后,加上写这篇文章的时间,便是一周了。

操作环境

系统:macOS+Windows

软件:
AnimED,
010editor,
LordPE,
Python3.6,
ollydbg,
易语言/C/C++/…(能编译windows动态链接库就行)

软件请自行下载/安装,纯windows亦可操作。

资源汉化

资源汉化过程:

  • 使用AnimED对游戏目录下arc文件解包。

  • 使用AnimED对解包后内容进行解析。(崩溃了)

  • 使用Python3对解包后内容进行解析。

  • 对资源进行汉化处理。

  • 使用AnimED对解包后内容重新打包。(也崩溃了)

  • 使用Python3对解包后内容重新打包。

BGI2_Archive解包

这是汉化文本的第一步,过程如图。

BGI2_Arc解包

解压出来的都是解密后的文件。

对此我曾尝试用Python来编写解包工具,arc文件解析出来了,能正常解包。

但是里面的文件都被DSC算法(可能是buriko的独家算法)加密了,由于我能力不足,对此没辙了。

虽然AnimED是开源的(delphi写的,pascal语言),我去看了下dsc算法的方法,试着用python抄了下来,可是解析失败,细节太多了,于是就放弃了。

BGI2_Script解析

这就是汉化文本的关键了。游戏的所有文本都存放在这个脚本里面。

看到AnimED里有个Script Tool,我天真的以为这玩意能解析脚本,结果一点,然后就没有然后了,TM的单纯是个按钮。

BGI2_Script结构

使用010editor进行分析。

BGI2_Script格式

为什么要写这个库? 让初学者从 Turbo C 2.0(以下简称 TC) 或 Borland C++ 3.1 开始学编程是个不错的建议,只是 TC 的环境实在太老了,复制粘贴都很不方便。有一个 Win-TC,简单用了一下,实在是个害人的东西,还不如 TC 好呢,因为它简化了所有调试的部分(或许是我没看到?),而调试是写程序相当重要的一部分。 不少老师直接拿 VC6 来讲 C 语言的,因为 VC6 的编辑和调试环境都很优秀。只可惜在 VC6 下只能做一些文字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。许多老师让学生在 TC 下绘图,因为这的确会让人有兴趣。 所以,我想给初学者一个更好的学习环境,就是 VC6 的平台 + TC 的绘图功能,于是就有了这个库。如果您刚开始学 C 语言,或者您是一位教 C 语言的老师,那么这个东西一定会让您兴奋的。 额外说明 这个库并不适合做产品,只建议用来入门学习。如果您想做简单的绘图产品,那么 SDL 库或许更适合您。或者,直接介入 DirectX 编程吧。 安装 下载的压缩包里除了说明,只有两个主要文件,将 graphics.lib 拷贝到 VC6 文件夹下的 Lib 文件夹内,将 graphics.h 拷贝到 Include 文件夹内,仅此而已,所以我就偷懒没有做安装程序了。 使用说明 目前只把我个人理解中的初学者常用的图形函数做了一下。如果您需要更多的,请发邮件告诉我:lujianfeiccie2011@163.com,或者到我的博客提出来:http://hi.youkuaiyun.com/lujianfeiccie2009,我来完善。 使用上,基本和 TC 没什么区别。看一个画圆的例子吧: #include // 就是需要引用这个图形库 #include void main() { initgraph(640, 480); // 这里和 TC 略有区别 circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100 getch(); // 按任意键继续 closegraph(); // 关闭图形界面 } 呵呵,很简单吧。具体的请看函数列表,以及程序范例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值