TheXTech
不兼容的许可证 当前页面的许可证(CC-BY-SA 4.0)与本 Wiki 的许可证(CC-BY-NC-SA 4.0)不兼容。 |
本页面来源自 Moondust Wiki。
TheXTech - 是一个使用 C++ 编写的横版 2D 平台游戏引擎,也是基于使用 VB6 编写的 SMBX 1.3 的移植版,于 SMBX 的源代码发布一个月后,由 Wohlstand 开发。
优点:
- 免费、开源、跨平台,以高精度运行使用 SMBX 引擎制作的关卡和地图,是为原游戏创作,参数与原游戏相同的引擎
- 作为参考资料,以便于月尘引擎开发。
配置需求
- Windows:XP 及以上版本
- Linux: Ubuntu 16.04 及以上版本
- MacOS: 10.11 及以上版本
- 安卓: 4.1 及以上版本
与原版 SMBX 1.3 引擎的差异
- 使用语言为 C++ 而非 VB6。
- 1.3.6以前的版本没有编辑器,取而代之的是使用月尘引擎开发工具包完成制作。从 1.3.2 起,该引擎与月尘引擎集成,可使用与原版 SMBX 1.3 相同的功能(例如关卡测试等)。随后,从1.3.6开发版本起,加入了新的实验性编辑器,可用于移动平台、控制台和电脑。
- 支持 UTF-8 编码(即非 ASCII 字符)。
- 图形显示和控制采用 SDL2 库,原版 SMBX 1.3 采用的库为 WinAPI 和 GDI.
- 采用 PGE-FL 以获得更好的支持。
- 支持 WLDX 格式的大地图,它允许你使用无限行数的制作人员表,以及自定义音乐盒,无需使用 music.ini 进行替换。
- 支持部分 LVLX 功能,它们分别是:纵向循环场景、双向传送点、自定义需要星星时的提示信息、进入传送点时触发的事件、不显示关卡完成数量以及在进入传送关卡时不显示关卡进入时的信息。
- 可在地图和关卡中使用 music.ini 和 sounds.ini 文件更换全局音乐和音效
- 支持在大地图中使用自定义目录存储素材,以防止根目录混乱。
- 默认配置文件格式为 INI,不再支持旧版本的 config.dat 格式(键位代码 SDL_Scancode 和 VirtualKeys 似乎不兼容)。
- 游戏存档使用 SAVX 格式而非 SAV,但是,您可以在新引擎中读取旧版本的存档(下次存档将使用 SAVX 格式)。
- 支持 PNG 格式图像,带影子元件的 GIF 的支持作为向下兼容,无 SMBX-38A 中未预期的自动转换机制。
- 一个关卡文件中可放置多个存档点。
- 使用傻瓜式算法加快游戏读取进度并减少内存占用。
- 采用 MixerX 库,能够支持多种格式的音乐和音效!
- 不再嵌入任何素材,所有素材均作为外部文件!
- 拓宽内置资源限制。
- 自带 GIF 录制工具(F10 为 macOS,F11 为其他系统)
- 从 1.3.2 起:
- 最大场景数为 201。
- 移除 20 个图层切换限制。
- 从 1.3.2.4 起:可自定义结局音乐。
- 从 1.3.3 起:
- 紫耀西的震地按键可通过
ground-pound-by-alt-run = true
更改为第二奔跑(Alt Run)键。 - 增加对人物校正文件的支持(用于定义偏差和度量)。
- 紫耀西的震地按键可通过
- 从 1.3.4 起:增加对 compat.ini 的支持,通过调节兼容性切换 BUG 修复的开关。
- 从 1.3.5 起:可直接从主菜单管理存档。
- 从 1.3.5.2 起:
- 新增水管炮。
- 可使用传送门传送至另一关卡。
- 骑上耀西之后,开启邦哥节奏。
- 从 1.3.6.1 起: 增加对非ASCII字符和多语言的支持:可以将程序翻译成各种语言,也可以为地图进行翻译。
- 从 1.3.6.3 起: 在现代模式下,紫色坐骑震地按键由下键更改为第二奔跑键。
- 从 1.3.7 起:新增 NPC 代码参数
usedefaultcam
:0 为在当前设置的游戏分辨率生成NPC,1 为在 800x600 的场景范围内生成NPC。
版本历史
The X-Tech 于 SMBX 1.3 源代码公布之后一周开发。
版本号从 1.3 开始。
版本号 | 发布日期 | 备注 | 链接 | |||
---|---|---|---|---|---|---|
1.3 | 2021年5月1日 | 最初的 TheXTech 版本,SMBX 源代码公布并研究 2 周之后所开发的版本,BUG 居多,为 1.3.1 版本对比之用。此版本为秘密开发并在论坛中意外发布的版本。于 2021 年 5 月作为历史版本发布。 | 2020-02-17 2020-02-23 | |||
1.3.1 | 2020年3月14日 | 首发版本。 | v1.3.1 | |||
1.3.2 | 2020年4月26日 | 修复一些 BUG 并做了一些优化,同时新增对月尘编辑器与关卡测试系统集成的支持。 | v1.3.2 | |||
1.3.2.1 | 2020年7月12日 | 修复一些 BUG,诸如软件渲染、对手柄的支持扩充,新增大小写系统运行环境以解决部分地图中的 BUG。 | v.1.3.2.1 | |||
1.3.2.2 | 2020年7月18日 | 此次更新修复了错误的自定义特效大小:特效应为任意图像大小,但部分条件与原始图像的帧数相同。 | v.1.3.2.2 | |||
1.3.2.3 | 2020年7月30日 | 本次更新修复因某些自定义特效造成的崩溃,以及在飞行状态下无法接住蔬菜的问题。 | v.1.3.2.3 | |||
1.3.2.4 | 2020年11月30日 | 可设置自定义结局音乐(未设置将使用默认的结局音乐),修复无法显示超过 100 个地图和对战关卡的问题,以及部分图形处理的问题。 | v.1.3.2.4 | |||
1.3.3 | 2020年12月19日 | 本次更新增加大量特性,诸如“gameinfo.ini”配置部分参数,包括额外的制作人员表;增加对人物校正文件的支持;可将通过 npc-*.txt 或人物校正文件放入 graphics/npc 或 graphics/mario、luigi、peach、toad、link 文件夹中实现全局自定义参数,以及其他一些特性。 | v.1.3.3 | |||
1.3.3.1 | 2021年1月2日 | 修复两个 BUG 并增加对 Windows®ARM64 和 macOS Apple Silicon 操作系统的支持。 | v.1.3.3.1 | |||
1.3.4 | 2021年2月12日 | 该版本修复了诸多原有的 BUG,新增 "compat.ini" 文件,允许你将 1.3 中原有的 BUG 恢复。同时该版本加入了计时系统。这是被认可为打速通的最低版本。 | v.1.3.4 | |||
1.3.5 | 2021年5月5日 | 该版本加入了大量新特性,例如一些附加音效(如冰球、藤蔓等)、修复原有的 BUG、支持更多手柄、可在菜单界面中删除/复制存档文件,等等。这也是首个可在安卓手机中运行的版本。完美兼容 Mac 系统(X86_64 和 ARM64 通用)。 | v.1.3.5 | |||
1.3.5.1 | 2021年6月2日 | 修复了一些小 BUG,然后做了一些改动:“Save and Continue”选项将播放中继点音效、禁用除场景 0 以外的强制卷轴以防止造成旧版本关卡的 Bug、可用 gameinfo.ini 设置开场界面、等等。 | v.1.3.5.1 | |||
1.3.5.2 | 2021年10月20日 | 修复了诸多 BUG(含重点修复的速通模式),并新增一些新特性:水管炮、跨关卡使用传送门传送点、玩家有坐骑时开启邦哥鼓节奏、等等。从此次更新开始,将许可协议改为 GNU 通用公共许可证 第三版。 | v.1.3.5.2 | |||
1.3.5.3 | 2021年12月30日 | 此版本修复上一版本的 BUG,增加新特性:支持传送效果、地图标题按首字母排序、等等。 | v.1.3.5.3 | |||
1.3.6 | 2022年9月13日 | 此版本添加了许多新特性,诸如新编辑器、LunaDLL 脚本系统、新版控制系统、等等,同时可以输入作弊码。 | v.1.3.6 | |||
1.3.6.1 | 2023年10月15日 | 增加对非ASCII字符输出的支持(即支持多国语言),增加实验性OpenGL渲染方式。优化游戏性能。可在Discord(仅限海外用户)上显示信息,等等。 | v.1.3.6.1 | |||
1.3.6.2 | 2023年10月20日 | 增加Wii U实验性支持,修复Citra模拟器中的HLE音频输出BUG(驱动文件丢失)。修复一些小BUG。 | v.1.3.6.2 | |||
1.3.6.3 | 2024年1月21日 | 该版本修复多数BUG。从该版本起,在现代模式下,紫色坐骑震地按键由下键更改为第二奔跑键。 | v.1.3.6.3 | |||
1.3.6.4 | 2024年2月11日 | 再次修复BUG,并修复非SIMG设备下游戏异常中止的问题。从该版本起,在支持OpenGL显卡的系统下,默认渲染器变为OpenGL。 | v.1.3.6.4 | |||
1.3.6.5 | 2024年4月23日 | 添加中心关卡子区域功能(实验性功能);添加对自定义游戏组件字体样式5(带边框的大小写字母)的支持。 | v.1.3.6.5 | |||
1.3.6.6 | 2024年9月24日 | 修复3个原版SMBX64引擎原有的BUG,以及以前TheXTech版本的BUG。 | v.1.3.6.6 | |||
1.3.7 | 支持自定义游戏窗口大小,改进游戏设置界面,更新角色选择界面(由Savbyn设计),可以在一个游戏程序里运行多个游戏组件,实验性的4人游戏,以及许多新的小改动。移除了LVL版本检测的支持;相应的功能全部变为LVLX专属。另外,关卡格式决定游戏模式。 | |||||
备注: ■ 旧版本 ■ 最新版本 ■ 开发版本 |
作弊码切换
TheXTech 的作弊码同 SMBX 1.3, 但增加了部分作弊码别名。该游戏使用键盘扫描码控制作弊码,因此它们(包含已重命名的及自定义作弊码名称)和 QWERTZ 以及 AZERTY(均仅限海外用户浏览) 键盘布局通用(例如所有带 'y' (例如 "moneytree") 的作弊码都存在与 'z' ("moneztree") 对应的的作弊码名称)。
例如 "moneytree"的QWERTZ布局版为"moneztree",两种作弊码的功能完全相同。
斜体表示当前开发版本(非当前稳定版本)可用。
第二作弊码
原始作弊码 | 作弊码别名 | 功能描述 |
---|---|---|
illparkwhereiwant | parkinglot | |
imtiredofallthiswalking | moonwalk, skywalk, skzwalk | |
itsamemario | plumberboy, plumberboz, moustacheman | |
itsameluigi | greenmario | |
ibakedacakeforyou | itsamepeach, ibakedacakeforzou | |
anothercastle | itsametoad | |
iamerror | itsamelink | |
burnthehousedown | hellfire | |
stophittingme | uncle | |
donthurtme | godmode | |
ahippinandahoppin | jumpman | |
needahammersuit | hammertime |
简化作弊码
下列作弊码,如果要通过gameinfo.ini重命名, 请使用另类作弊码。
原始作弊码 | 作弊码别名 | 功能描述 |
---|---|---|
needaniceflower | niceflower | |
needaredshoe | redshoe | |
needablueshoe | blueshoe | |
wherearemycarkeys | carkeys, carkezs | |
sonicstooslow | tooslow |
QWERTZ 兼容作弊码
原作弊码 | 作弊码别名 | 功能描述 |
---|---|---|
moneytree | moneztree | |
fairymagic | fairzmagic | |
istillplaywithlegos | istillplazwithlegos | |
donttypethis | donttzpethis | |
needayellowshell | needazellowshell | |
boingyboing | boingzboing | |
hammerinmypants | hammerinmzpants | |
yellowegg | zellowegg | |
stickyfingers | stickzfingers |
附加作弊码
- supermario200 (200人分身)
- getmeouttahere (轮盘通关过程卡住时,触发通关)
- newleaf (关闭大部分作弊码的效果)
- foundmycarkey (触发插入钥匙通关)
- lifegoals (触发终点杆通关)
- mysteryball (触发水晶通关)
- itsvegas (触发轮盘通关)
- holytrinity (玩家变成黑色、无敌,并拥有无限跳技能)
- essentials (玩家变成黑色、无敌,并拥有超快速度,及无限跳技能)
- opensesame (开启大地图中的全部路线)
- customview (更改游戏画面大小)
- edityourfriends(更改游戏逻辑设置,仅对本次游戏生效)
编译游戏
要编译游戏,参见下列指南(英文):
Important note: 要编译稳定版本,请下载以“thextech-full-src”开头的压缩文件。请勿在GitHub的“Releases”页面上直接点击“Source Code”,因为它无法将第三方模块一起打包!!
自定义组件
TheXTech 暂不支持在地图中使用“graphics”目录替换组件(类似于 SMBX2),若要正常游玩使用自定义组件的 SMBX 地图(例如“Yoshi's Archipelago” 或 “Super Talking Time Bros.”), 需要进行以下步骤[1]:
- 下载转换包并放入 SMBX 1.3 引擎的根目录。
- 确保原游戏程序文件名为 "smbx.exe"、"asmbxt.exe" 或 "a2mbxt.exe",否则将无法转换内置资源到兼容格式。
- 执行转换脚本或命令,每个系统执行的脚本不一样,在 Windows 系统下执行的是 gfx-convert-win.cmd 脚本,在 Linux 系统下执行的是 bash gfx-convert-lin.sh 脚本。
- 脚本将询问您是否删除原有的 GIF 格式图像,Y 键为是,N 键为否,转换完成后,您将会在终端看到关于转换完成的信息。
- 在下载页中找到 "plain runtime" 并找到适合您的操作系统的版本,将游戏程序(Linux 为 "thextech",Windows 为 thextech.exe 及 DLL 文件)放入原游戏的文件夹中。
- 执行 "thextech" 程序。
- (可选)打开 "gameinfo.ini" 文件,修改标题和角色名字。
备注
- TheXTech 不像 SMBX 1.3 那样,没有内置的素材资源,全部归入 graphics/ui 目录。
- 使用已有的 TheXTech 组件制作的关卡可直接下载相应组件并解压到 TheXTech 根目录即可。
你知道吗?
TheXTech在主菜单可以使用鼠标操作,也可以与背景动画交互。
- 当鼠标点击或按住背景时,将留下一条闪闪发亮的轨迹。
- 鼠标也可以破坏NPC与方块。