因为好閪憎elona保存后就关GAME,伊洛纳圣诞篇有人写咗个ElonaFix可以解决,但系已经没跟住搞。
突然发现一早就有反编译呢个死人GAME的方法,下边是我自己的操作总结。
呢次是以elona+1.09为目标。
一,良心建议
elona+目前未开发完,只是開発版,冇作者允许请唔好搞乜公开汉化,自己搞来自己玩的话请一定要关连网
总之你想见到有第三章(elona+是第二章)的话就唔好做D令人地心寒的事情。
二,下载需要的工具
HSPdeco100.zip(反编译elona.exe同埋start.ax用的,XP系统最少要装有.NET Framework 2.0)
http://de.sourceforge.jp/projects/hspdeco/releases/
hsp33(hsp编译器,安装版解压版都得,你钟意)
http://hsp.tv/make/downlist.html
自备一个支持多种语言编码的高性能文本编辑器,要10万行代码都能流畅的。
notepad++、MadEdit这些免费的都不错的。
三,事前准备工作
首先你要明确,游戏是日文,编译器都是日文的,系统区域非日区的话用Microsoft AppLocale来运行hsed3.exe先可以正常编译。
切记,请勿使用系统的记事本。
四,反编译elona.exe
假定elona+解压系 C:\elona+1.09,EXE路径是 C:\elona+1.09\elona.exe
解压HSPdeco100.zip,运行HSPdeco100.exe,将elona.exe拖到左边的窗口。
展開終了之后就会见到C:\elona+1.09下边多咗个elona文件夹,入去。
将start.ax一样拖到左边的窗口,解析終了之后会生成多个start.hsp,好了,依家关闭HSPdeco100.exe。
scene2.hsp、scene3.hsp、start.hsp就是源码,有咩用呢。。。汉化又得、加嘢又得。
五,修正与编译
先运行hsed3.exe,打开start.hsp,再按一下F5,得到错误消息
#未初期化の変数があります
呢D就唔使理了,冇所谓的,一直拉到最下边
start.hsp(134617) : error 16 : if命令以外で{~}が使われています (134617行目)
--> }
上边的情况就是多咗个else,要去掉,先记底行数,再关闭hsed3呢个IDE,因为佢效率唔得,依家用notepad++,
notepad++的编码字符集改成日文->Shift-JIS。
先行定位到134617行,再向上睇,134549行,有个奇怪的
1 2 |
else { } |
去掉呢个else,依家虽然可以编译,但系人物个样有问题的,继续修正(睇wiki先知的)
wiki上讲将dirinfo(1)改成dirinfo(0),其实唔需要。
因为dirinfo(0)是指当前目录,dirinfo(1)是指EXE所在目录,最终佢地的位置都是一样的,当然如果你有特别需要。
分别搜索
1 2 3 |
#defcfunc ibit #defcfunc cdbit #defcfunc cbit |
将 HMMBITCHECK 下边的
1 |
return stat |
改成
1 |
return abs(stat) |
依家可以用hsed3来编译了,按ctrl+F9生成EXE,将生成的hsptmp.exe放到C:\elona+1.09下边运行就可以玩了。
目的梗唔系玩啦,是测试,程序猿心照就得了。
六,参考文章
http://elona.wikiwiki.jp/?%3A%B2%F2%C0%CF%2F%B2%F2%C0%CF%A4%D8%A4%CE%C6%BB(要轻功)
http://hsp.tv/make/enroll.html(hsp官方简单入门)
http://www.geocities.co.jp/Playtown-Yoyo/6130/hsp/(hsp语法简单教学,要轻功)
话说如何把日文替换成中文,官方新版本的hsp似乎只支持日文编译。
我电脑用的win7
用Locale Emulator的日文环境开启hsp ide,试过utf-8,gb2321,gbk似乎不行,只有shif-jp能通过。
默认本地环境也能打开hsp ide,编码改成ansi或者gbk,ide上能正常显示,但是编译的时候直接停止工作了。。。
出于好奇心,想了解一下如何解决日文替换的。
这个是要改编译器和程序的,别想了。你用日文汉字和繁体汉字吧。