LazyDuchess/OpenTS2
GitHub: LazyDuchess/OpenTS2
该项目是使用 Unity 引擎对《模拟人生2》进行开源重制的工程,同时提供用于处理 TS2 文件格式的 C# 模块化库。
Stars: 397 | Forks: 30
OpenTS2
OpenTS2 是《模拟人生2》(The Sims 2)的开源重制版,使用 Unity 游戏引擎开发。它还旨在提供一系列模块化的库,以便在 C# 环境中处理 TS2 格式。 ## 进度 目前实现了一个带有社区选择器的基础主菜单。可以预览社区信息,并访问基础的社区视图。  ## 致谢 * [InvertedTomato.CRC](https://github.com/invertedtomato/crc) * [TGA Image Reader](https://www.codeproject.com/Articles/31702/NET-Targa-Image-Reader) * [Hardware Cursor Plugin](https://forum.unity.com/threads/hardware-cursor-plugin.70163/) * [MoonSharp](https://github.com/moonsharp-devs/moonsharp/) * [FreeSO](https://github.com/RHY3756547/FreeSO) * [DBPFSharp](https://github.com/0xC0000054/DBPFSharp/blob/main/src/DBPFSharp) * [NAudio](https://github.com/naudio/NAudio) * [NSpeex](https://github.com/aijingsun6/NSpeex) ## 类似项目 * [FreeSO](https://github.com/RHY3756547/FreeSO) - 使用 C# 和 Monogame 开发的《模拟人生Online》(The Sims Online)开源重制版。OpenTS2 从该项目中借鉴了大量的代码和结构。 * [Las Marionetas](https://github.com/OmniBlade/LasMarionetas) - 类似的项目,旨在通过将其二进制代码逆向工程为 C/C++ 源代码来重制《模拟人生2》。 * [SimUnity2](https://github.com/LazyDuchess/SimUnity2) - 早期在 Unity 引擎中重制 TS2 的尝试。该项目已废弃,并由本项目接替。 * [OpenTPW](https://github.com/ThemeParkWorld/OpenTPW) - 《模拟主题公园》(Sim Theme Park / Theme Park World)的开源重制版。 * [OpenRCT2](https://github.com/OpenRCT2/OpenRCT2) - 《过山车大亨2》(Rollercoaster Tycoon 2)的开源重制版。 ## 许可证 本源代码表单受 Mozilla Public License, v. 2.0 的条款约束。如果本文件未随附 MPL 的副本,您可以从 http://mozilla.org/MPL/2.0/ 获取一份。 # 开发 ## 前置条件 * [Unity 2020.3.32f1](https://unity3d.com/get-unity/download/archive) - 可以在“Unity 2020.x”下找到,您也可以下载 Unity Hub 并从中安装。Unity 版本可能会发生变化,请留意! * [Visual Studio 2019](https://visualstudio.microsoft.com/vs/) * 一份《模拟人生2 终极典藏版》(The Sims 2 Ultimate Collection) ## 设置 1. 您需要在根目录下放置一个“config.json”文件,提供您的《模拟人生2 终极典藏版》安装路径和用户目录路径。复制“config.example.json”文件并将其重命名为“config.json”作为初始设置,然后输入您自己的路径。 2. 在 Unity 中,确保 Edit > Preferences > External Tools > External Script Editor 设置为 Visual Studio。默认情况下,它会单独打开文件,而不是在解决方案中打开。 ## 项目结构 除了以下几点,我们遵循标准的 Unity 项目布局: * `Assets/Scripts/OpenTS2` - 包含处理 TS2 格式和文件的大量 C# 代码。 * `Assets/Tests/OpenTS2/` - 单元测试,遵循与 `Scripts` 文件夹相同的目录结构。 * `Assets/Scenes/Test` - 测试,但更多涉及 Unity 场景的集成级别。 * `Assets/Scripts/OpenTS2/Engine/Tests` - 上述测试的控制器脚本。 ## 测试 我们目前使用 [Unity Test Runner](https://docs.unity3d.com/2020.3/Documentation/Manual/testing-editortestsrunner.html) 进行代码的单元测试。这些测试可以在 Unity 的 test runner 选项卡中运行,或者如果您使用 Rider 作为您的 C# 编辑器,也可以在其中运行。标签:Unity, 开源重制, 文件解析库, 模拟人生2, 游戏, 游戏引擎