返回

文章详情

植物大战僵尸(PS2)

Hacker News2026年7月24日 13:57

re-plants-vs-zombies (ps2) 我懒得解释这一切,只需使用 "build ps2.bat" 构建,它具备所有依赖项(Windows)!!在Linux上,需要编辑cmake配置!!建议使用具有压缩资产的 main.pak,以避免加载缓慢和崩溃!基于 headshot2017 的分支!!对他表示最大敬意!这是 Patoke 的 PVZ GOTY 反编译的分支,目标如下:用 SDL + OpenGL 替代渲染器,用跨平台代码替代 Windows 代码,用 SDL Mixer X 替代 DirectSound/BASS/FMod。该项目使用的 SDL Mixer X 分支通过使用 libopenmpt 添加对 MO3 格式的兼容性。该分支位于 SexyAppFramework/sound/SDL-Mixer-X,支持 main.pak。优化主机移植的内存使用(部分)。将游戏移植到以下平台:平台 数据路径 状态 Windows (SDL2) 与可执行文件相同 工作 Linux (SDL2) 与可执行文件相同 工作 Haiku (SDL2) 与可执行文件相同 部分有效:无音乐 Nintendo Switch sdmc:/switch/PlantsvsZombies 在真实硬件和 Citron 上运行。Kenji-NX 启动时崩溃。Nintendo 3DS sdmc:/3ds/PlantsvsZombies 开发中,可能没有足够的内存供旧3DS使用,可能在新3DS上勉强工作。Nintendo Wii U 暂未开始工作,但计划中。要玩这个游戏,您需要来自 PvZ GOTY 的游戏数据。将 "main.pak" 和 "properties" 文件夹复制到 re-plants-vs-zombies 可执行文件所在的路径(或上述控制台移植的数据路径之一)。另外,您可以使用 PvZ .pak 解压工具,使用解压的数据替代 main.pak,这取决于您自己的选择。原始 README 继续如下:re-plants-vs-zombies 一个专注于反编译第一部 PvZ 作品最新功能并扩展游戏及其引擎的项目。SexyAppFramework 追溯至 2005 年,是一个非常古老的游戏引擎,未遵循现代标准的 C++ 规范,也未使用现代渲染后端。该项目旨在通过使用最新 C++ 标准的特性来现代化引擎,并替换旧的遗留 DirectDraw 和 Direct3D7 渲染器以实现现代 GLFW 跨平台包装,同时扩大基于 Miya(也称为 Kopie)删除的 PvZ 版本 0.9.9 反编译项目的工作,以获得最佳的 PvZ 体验,供 Mod 制作者和玩家使用。免责声明:本项目不支持盗版。本项目不包括 PopCap 的任何知识产权,仅输出反编译的 PVZ 粉丝版可执行文件。要使用此项目玩游戏,您需要通过购买来获取原始游戏文件。路线图:当前关注于添加 x64 支持(部分),替换旧的 GLFW 渲染器后端(进行中),将所有 Windows 代码替换为跨平台的 GLFW 代码(进行中),待我们在使用 GLFW 的 x64 构建上有工作版本时完成,添加 GOTY 版本的所有功能,成就(部分),Zombatar。可能的未来功能:为游戏创建易于使用的 Mod API,从文件解析僵尸,从文件解析植物,从文件解析地图,添加自定义序列脚本。安装:Visual Studio Community 打开包含 CMakeSettings.json 的文件夹,等待缓存生成完成并构建项目。其他(Sublime、Visual Studio Code、MSYS2 等……)运行以下命令(假设您已使用 Ninja 安装 CMake),在 CMakeSettings.json 文件所在的位置:cmake -G Ninja -B cmake-build cmake --build cmake-build。如果运行这些命令未能创建成功的构建,请创建一个问题并详细说明您的问题。构建后,输出的可执行文件应位于 SexyAppFramework 内的 Debug 或 Release 文件夹(取决于您的构建目标)。然后,您要将该可执行文件复制到原始游戏的根文件夹(或将原始游戏文件夹的内容复制到之前提到的文件夹内)。之后,您应该能够打开构建的可执行文件并享受 re-pvz!贡献:当贡献时,请遵循以下指南:SexyAppFramework 编码哲学。来自 SexyAppFramework 文档的信息:该框架与许多其他 API 的不同之处在于一些类属性不是通过访问器方法封装的,而是通过公有成员数据直接访问。例如,您的应用程序的窗口标题通过在应用程序窗口创建之前将值分配给 std::string mTitle 来设置。我们认为在许多情况下,这减少了实现类所需的代码。此外,值得注意的是变量使用的前缀符号:“m” 表示类成员,“the” 表示传递给方法或功能的参数,而 “a” 表示局部变量。贡献者标记:每当您需要给其他开发者留下评论时,应该使用以下语法:始终包含贡献者的名称,如 @Contributor。对于待办事项,包含待办事项标记,如 @Con

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡