我用 C++ 制作了一个游戏,但是我注意到大多数视频游戏都将它们使用的所有媒体文件(精灵表、XML 表、mp3)添加到自定义格式的文件中,以避免被篡改。我不想将它们插入可执行文件中,我只想让可执行文件在自定义格式的文件中查找它们。
我怎样才能做到这一点?
我用 C++ 制作了一个游戏,但是我注意到大多数视频游戏都将它们使用的所有媒体文件(精灵表、XML 表、mp3)添加到自定义格式的文件中,以避免被篡改。我不想将它们插入可执行文件中,我只想让可执行文件在自定义格式的文件中查找它们。
我怎样才能做到这一点?
尝试使用任何 BSD 许可(例如 NiH 的 libzip)zip 库,为您的程序提供快速简便的容器,并经过完整性检查和可选加密。
另一个选项:
SDL 允许使用 SDL_*RWops 函数从内存和其他自定义资源加载,请查看http://www.kekkai.org/roger/sdl/rwops/rwops.html。使用 RWops 从未压缩的容器(zip、tar、romfs)中读取文件并不难。