ScriptedSnark/half-life1_win32_722

GitHub: ScriptedSnark/half-life1_win32_722

该项目逆向还原了《半条命1》Net Test 1(build 722)早期预发布版 GoldSrc 引擎的完整源代码,使其可在现代开发环境中编译运行。

Stars: 57 | Forks: 11

# half-life1_win32_722 《半条命 1》Net Test 1(引擎版本号 722)的逆向工程源代码,这是早期预发布版本的 GoldSrc 引擎(当时被称为“The Half-Life Engine”),分发给内部测试人员游玩。 该构建版本于 2024 年 10 月由测试人员 [Chad Jessup](https://x.com/ubahs1337) 发布,随后由我们的团队进行了逆向工程。 NETTEST1_VS2022 本仓库包含: - Net Test 1 时代还原的 HL SDK 源代码 - [x] client.dll - [x] hl.dll - 还原的引擎源代码(不包含 A3D 实现) - [x] sw.dll - [x] hw.dll(支持 Direct3D) - 还原的本地化模块源代码 - [x] hl_res.dll - 不含 MFC/SW 代码的轻量级重新实现 launcher 源代码 - [x] hl.exe(参见 [`linux`](https://github.com/ScriptedSnark/half-life1_win32_722/tree/linux) 分支) ## 快速开始 **在构建项目之前,你需要配置部署路径(仅适用于 VS2022)。** **DeployPath.ini** 文件定义了编译后的二进制文件将自动部署到的位置。 示例: ``` ; Working directory root.path="E:\Half-Life NetTest1" ``` ## 构建说明 ### Visual Studio 2022 打开位于以下位置的解决方案文件: ``` ..\half-life1_win32_722\projects\vs2022\Half-Life (722 Build, 1998).sln ``` 现在点击 `Build` -> `Build Solution`(或按 `Ctrl+Shift+B` 快捷键)。 **注意:如果在构建 hl_res.dll 期间遇到 afxres.h 错误,请通过 VS 安装程序安装 Microsoft Foundation Class (MFC) 库。** ### Visual C++ 4.2 打开你想要构建的任意特定项目,例如: ``` ..\half-life1_win32_722\engine\Quiver.mak ``` 所有的项目文件都位于它们各自的目录中。 现在点击 `Build` -> `Build X.dll`(或按 `Shift+F8` 快捷键)。 **注意:如果遇到 ml.exe 错误,请将 MASM 6.12 或更高版本直接安装到你的 MSVC++ 4.2 中(ml.exe 应该位于 `bin` 目录下或 PATH 环境变量中的某个位置)。** **警告:不要忘记在项目属性中设置 Working Directory,否则引擎在调试期间可能无法加载 GameDLL。** ## 游玩所需的文件 你需要《半条命 1》Net Test 1 的原始数据文件。 这些文件在网上公开可用,可以在 Internet Archive 等存档源中找到。 **为了获得最佳的 NT1 游玩体验,你还可以使用 [build 738](https://www.betaarchive.com/wiki/index.php/Half-Life/build_738) 或更高版本的 WON dlls/hl_res/launcher,以避免一些窗口错误。** ## 参与项目开发的人员 - [\*(int\*)0 = 0xDEADBEEF](https://github.com/KV-Stepchenko) - [ScriptedSnark](https://github.com/ScriptedSnark) - [xWhitey](https://github.com/autisoid) - [s1lentq](https://github.com/s1lentq) - [oxiKKK](https://github.com/oxiKKK) ## 参考项目 - [WinQuake / QuakeWorld](https://github.com/id-Software/Quake) - [QGL Wrapper (Quake II)](https://github.com/id-Software/Quake-2/blob/master/win32/qgl_win.c) - [Half-Life SDK](https://github.com/ValveSoftware/halflife) - [Half-Life SDK 1.0](https://github.com/ScriptedSnark/hlsdk-versions/tree/hlsdk_sp_1_0) - [Half-Life SDK 2.3](https://github.com/ScriptedSnark/hlsdk-versions/tree/hlsdk_sp_2_3) ## 特别感谢 - [Overfloater](https://github.com/TheOverfloater)(参与游玩测试) - [Barspinoff](https://github.com/barspinoff)(参与游玩测试及协助软件渲染) - [GoldSrc Underground Discord](https://discord.gg/TwMz3e2sVW)
标签:C++, GoldSrc引擎, UML, 云资产清单, 半条命, 客户端加密, 数据擦除, 游戏开发, 逆向工程