有些日子没有折腾3DS了,上个月有B站粉丝发消息说看到3DS能玩《古墓丽影》1代,但是不知道如何实现,一直以技术宅自诩的我决心搞定这个3DS版本的《古墓丽影》初代。
在经过短暂的20多天的拖延之后,很快把这个工作提上了日程,经过一番探索发现这个所谓的3DS玩《古墓丽影》1代,其实是国外的大神开发的一个名为“Openlara”的多平台运行《古墓丽影》的工具,不只能在3DS上运行《古墓丽影》1代, PC、switch、安卓等等多平台都可运行。
上图这么多的平台都可以通过Openlara运行《古墓丽影》1代,是不是很牛逼,这图是我从发布页上截下来的,直接点击相应的平台就可以下载,但是有一个问题,下载下来的只是Openlara可执行文件,并不包含任何《古墓丽影》1代的文件,简单点说吧,就是,下载下来的玩意,根本运行不了。
所以本案最大的难点就出现了,就是如何搞到符合Openlara运行格式的《古墓丽影》1代游戏文件!
根据“古墓丽影中文站百科”的页面提示,Openlara运行《古墓丽影》1代游戏文件要自己从steam、PC光盘、PS光盘、世嘉土星光盘、安卓重制版这些游戏当中之一,自己提取所需的关卡文件和声音以及视频文件,这当然是因为版权方面的考虑,而没有提供完整的游戏运行文件。不仅如此,连提取游戏文件的方法也写的非常含糊其辞。
一开始我是基于PS1的实体光盘尝试提取游戏文件,在经过几乎2天的失败之后(此处省略脏话将近10000字),我终于在Gbatemp论坛上找到了一位国外网友分享的能成功运行的文件结构:
就是这张图让我看到了一丝丝的希望,因为在经过超级多次的盲猜之后,终于能看到一个比较完整的文件结构,配上官方的说明文档,就能比较完整的推测出所需要的文件以及格式了。
然后我发现PS1光盘中的文件和这个图片目录中的不管是文件名还是文件格式都相差很多,修改起来会非常非常非常的复杂而且低效,所以,提取文件的工程又陷入僵局了。
直到我看到了老婆的安卓手机,事情突然变得向有趣的方向发展了。我找到了安卓重制版的《古墓丽影》1代,安装好之后,在安卓的数据包位置找到了对应的OBB数据,在电脑上解压OBB数据之后,我欣喜的发现,里面的数据结构和上图的文件结构,非常的相似!
所以直接用安卓重制版的《古墓丽影》1代提取Openlara的运行文件应该是可行的,话不多说,按照文件结构,搞起!
结果是非常令人振奋的,经过测试,提取成功的文件在3DS,switch、PC上都运行成功!
但是还是有点小问题的,比如游戏载入画面的图片还没有,视频动画还没有,这是因为安卓版的文件格式和Openlara的要求不完全一样,图片和视频动画要转换后才能正常播放,所以这是后面的工作了,现在,声音文件和关卡文件都已经准备完毕,正常游戏是完全没问题了。
以上全部搞定(牛逼的叉起了腰)
而且3DS的运行速度,竟然能恒定在60FPS,牛逼~
演示视频及教程:
3DS运行古墓丽影 密码:0hx3
文章评论
同问,运行时没有声音,怎么解决
@qwq 我的也没有声音,怎么解决
@匿名 下dsp1
:sad:
2ds试试看可不可以
首先感谢分享!
求助大佬,为什么我弄完没有声音?
感谢您的评论,如果有人说英语会检查游戏中字幕的中文翻译,我会很高兴的 :)
Thank you for review, I'll be glad if someone native speaking will check chinese translation for subtitles in the game :)
english as reference - https://github.com/XProger/OpenLara/blob/master/src/lang/en.h
chinese - https://github.com/XProger/OpenLara/blob/master/src/lang/cn.h
@匿名 哈哈,卖了换新大三了,现在测试的都是新大三
你不是有个老款的大三吗?
@匿名 老款可以测试一下 我没有老三 所以没法测试
老款3DS可以玩不,我只有老款3DS
就喜欢你这样的喜欢折腾的技术UP主