今天把 YoMax 移植到 Linux 平台了,还算顺利,一切都进行的不错。感觉很好,很开心。在 Linux 下面跑的速度很快,效果很好。
其中有几个地方修改了一下:
1)_strnicmp,在 Linux 的标准 C 库里面没有这个函数,用 strncasecmp 替换就可以了
2)_mkdir,同样,Linux 下的 C 库也没有这个函数,需要使用 mkdir。需要用到头文件 <sys/stat.h>,而且还要设置权限,跟 Windows 平台下不大一样。详细的使用说明,可以参考 GNU C Library 手册中创建目录部分的内容。
3)还有就是简单的类型定义之类的细节不同了,以及 main 入口函数的声明不大一样
具体的参数和环境:
-
- Windows XP with Service Pack 3
- Visual Studio 2005 with Service Pack 1
-
- Ubuntu 8.04.1 (Hardy Heron) with 2.6.24-19-generic
- g++ v4.2.3 (Ubuntu 4.2.3-2ubuntu7)
经过“艰苦卓绝”地奋战,终于完成了 YoMax 第一个版本。其实看到“艰苦卓绝”几个字,还加了引号,就知道其实并不是那么难的。只是将以前的代码整理了一下,然后重新用 C++ 封装了一下。功能也与原来的一模一样,唯一不同的是,在做 YoMax 的过程中,更加清晰地了解了 DJMax Pak 文件的结构,同时形成了一份简单的文件格式的说明文档。
接下来正在考虑做的事情:
- 实现跨平台支持,其实也就是支持 Linux 而已,如果自己用的话,应该是 Ubuntu 吧。
- 将 Dump 出来的几个二进制文件反向工程,了解真正的解包过程。估计这个应该会是很漫长的一个过程,估计要持续很长一段时间吧。
希望不久的将来能看到 YoMax v0.2.0,因为很多自己写的小工具都是到了 v0.0.1 或者 v0.1.0 就没有下文了。XD
2009-05-26 更新:
由于原来的 PakExtract 存在很多问题,所以,现在将主要更新 YoMax。另外由于很不幸的,以前的 YoMax 的代码找不到了,所以只好重写了代码。为了保证与以前版本不冲突,所以将版本号定为 v0.1a,其中 a 表示 alpha 版本,也就是极其不稳定的。呵呵,欢迎大家反馈问题。
下载 YoMax v0.1a
之前玩 DJMax 的时候,非常喜欢里面的一些歌曲,就想把它们原汁原味的提取出来。后来,就完成了 DJMax PAK Extractor 这个半成品的命令行小工具。估计知道的人也不多,在网上看到有人在用,但是把版权信息都给去掉了。
前几天忽然抽筋,想玩 DJMax,结果发现中国地区已经不运营了,倒~~。既然不运营了,发布这样一个小工具,也就没有什么大的影响了吧?那就拿出来与大家分享一下好啦。:)
本着这样的想法,今天就整理了一下自己以前的“研究成果”,又有些新的发现。整理后形成了一份关于 DJMax PAK 文件格式的简单文档,相当于一个初稿吧,估计以后还要更新的。计划后续要完成一个 PAK 文件处理的模块,接着再实现一个命令行操作的与 DJMax Pak Extractor 功能一样的程序。为什么不用原来的?原来的也还可以继续用,不过当时有很多细节没有考虑清楚,所以想重新做。后续阶段再考虑能不能加入 PAK 打包等功能进去,甚至加个 GUI 界面。
为了区分原有的项目和现在这个新项目,于是给它起个新名字吧:YoMax,总感觉原来的 DJMax Pak Extractor 太直白了。希望很快能带给大家好消息。:)
附原 PakExtract 下载地址:MediaFire
2009-02-03 更新本地下载:PakExtract
2009-05-26 更新说明:PakExtract 由于存在无法正常解包部分 PAK 文件的问题,已经停止更新。最新的信息,请参考《YoMax v0.1.0 Ready!》,谢谢。