TheXTech/cn

TheXTech - 是一个使用 C++ 编写的横版 2D 平台游戏引擎，也是基于使用 VB6 编写的 SMBX 1.3 的移植版，于 SMBX 的源代码发布一个月后，由 Wohlstand 创建，有两个原因：1. 免费、开源、跨平台，以高精度运行使用 SMBX 引擎制作的关卡和地图，是为原游戏创作，参数与原游戏相同的引擎；2. 作为参考资料，以便于月尘引擎开发.

（WIP）

与原版 SMBX 1.3 引擎的差异

 * 代码为 C++ 而非 VB6.
 * 它没有编辑器，取而代之的是使用 PGE（月尘）引擎开发工具包完成制作. 从 1.3.2 起，该引擎与月尘引擎集成，可使用与原版 SMBX 1.3 相同的功能（例如关卡测试等）.
 * 支持 UTF-8 编码（即非 ASCII 字符）.
 * 使用 SDL2 库作为图形显示和控制，原版 SMBX 1.3 采用的库为 WinAPI 和 GDI.
 * 采用 PGE-FL 以获得更好的支持.
 * 支持 WLDX 格式的大地图，它允许你使用无限行数的制作人员表，以及自定义音乐盒，无需使用 music.ini 进行替换.
 * 支持部分 LVLX 功能，它们分别是：纵向循环场景、双向传送点、自定义需要星星时的提示信息、进入传送点时触发的事件、不显示关卡完成数量以及在进入传送关卡时不显示关卡进入时的信息.
 * 可在地图和关卡中使用 music.ini 和 sounds.ini 文件更换全局音乐和音效
 * 支持在大地图中使用自定义目录存储素材，以防止根目录混乱.

版本历史
The X-Tech 开发于 SMBX 源代码公布之后一周开始. 版本号从 1.3 开始.

编译游戏
要编译游戏，参见下列英文指南：


 * 在 Windows 中编译
 * 在 Linux 或 xBSD 中编译
 * 在 macOS 中编译
 * 在 Haiku 中编译
 * 在 Emscripten 中编译

若您要编译共享版本，先安装 ninja-build 依赖库，再找到以下行：

cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..

并替换为：

cmake -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel -DUSE_SYSTEM_SDL2=OFF -DUSE_SYSTEM_LIBS=OFF -DUSE_STATIC_LIBC=ON -DPGE_SHARED_SDLMIXER=OFF ..

完成上述步骤后，在 TheXTech 主目录中创建  文件，其内容为：

[Main] force-portable = true

并放入相应组件.

自定义皮肤
TheXTech 暂不支持在地图中使用“graphics”目录替换素材（类似于 SMBX2），若要正常游玩使用自定义皮肤的 SMBX 地图（例如“Yoshi's Archipelago” 或 “Super Talking Time Bros.”）, 需要进行以下步骤 ：


 * 1) 下载转换包并放入 SMBX 1.3 引擎的根目录.
 * 2) 确保原游戏程序文件名为 "smbx.exe"、"asmbxt.exe" 或 "a2mbxt.exe"，否则将无法转换内置资源到兼容格式.
 * 3) 执行转换脚本或命令，每个系统执行的脚本不一样，在 Windows 系统下执行的是 gfx-convert-win.cmd 脚本，在 Linux 系统下执行的是 bash gfx-convert-lin.sh 脚本.
 * 4) 脚本将询问您是否删除原有的 GIF 格式图像，Y 键为是，N 键为否，转换完成后，您将会在终端看到关于转换完成的信息.
 * 5) 在下载页中找到 "plain runtime" 并找到适合您的操作系统的版本，将游戏程序（Linux 为 "thextech"，Windows 为 thextech.exe 及 DLL 文件）放入原游戏的文件夹中.
 * 6) 执行 "thextech" 程序.
 * 7) （可选）打开 "gameinfo.ini" 文件，修改标题和角色名字.

备注

 * TheXTech 不像 SMBX 1.3 那样，没有内置的素材资源，全部归入 graphics/ui 目录.