Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions stutterdebug/readme-stutterdebug.schinese.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
**卡顿调试工具**

**关于**
卡顿调试工具旨在帮助调试游戏中的脚本故障。例如,当NPC出现“卡顿”现象——即仅行走几步便不断终止任何动作,或NPC的PID(玩家触发对话)反复弹出时,此工具可发挥作用。同时,若游戏出现可能由循环脚本引起的延迟,该工具也能提供帮助。

卡顿调试工具会为每个脚本区块添加一段文字,说明正在运行的脚本及其区块编号。这段文字将显示在游戏内的文本框中,并直接出现在玩家1角色的头顶上方。

该工具提供两种安装选项。第一种会排除所有包含 `NoAction()` 的脚本区块,这些区块容易导致循环并淹没消息窗口。如果不确定,请使用此选项。仅当确信需要时,才选择第二种安装选项。

**玩家调试指南**
安装工具的第一种选项 [1],并载入出现卡顿的存档。记录或截屏所有显示的信息,直到确认卡顿至少被触发两次。将脚本名称和区块编号转发给模组作者或热心模组制作者。为了能够定位相关脚本区块,你还需要准备使用 NI(Near Infinity)查看模组制作者指定的脚本。

**模组制作者调试指南**
安装工具后,游戏内将显示正在运行的脚本。显示的信息应有助于你确定是哪个脚本区块出现卡顿。

该工具的功能类似于普通的 WeiDU 模组,可以像普通模组一样安装和完全卸载。建议直接安装到游戏中。对于 EET,可在 EET 结束后安装。
请注意:此工具可能会破坏过场动画。在继续游戏前请卸载它。

**如何调试脚本卡顿**

1. 如果遇到可能是重复脚本动作导致的问题,请保存游戏。
2. 将卡顿调试工具安装到你的游戏中。
3. 载入存档,识别哪个脚本的哪个区块在不断重复。对话框可能会提及大量脚本,请尝试找出导致问题的那个。
4. 输出内容类似“正在运行 scriptxy.bcs 的区块 54”。请记下此信息。
5. 关闭游戏。
6. 打开 Near Infinity(链接见下文)。浏览到 bcs 文件,打开被提及的脚本文件(在我们的例子中是 “scriptxy”)。
7. 在脚本内,搜索你记下的文本行,例如“正在运行 scriptxy.bcs 的区块 54”(不含引号)。包含此文本的区块即为你要查找的脚本区块。
8. 再次强调:“正在运行 scriptxy.bcs 的区块 54”中给出的数字**不是**行号,它指的是包含此文本的**区块**。
9. 复制整个脚本区块,并在论坛中发帖求助。
10. 卸载卡顿调试工具以继续你的游戏。

**安装说明**

安装方法与所有 WeiDU 模组相同:只需将压缩包内容解压到游戏文件夹。

运行 `setup-stutterdebug.exe`(Windows)或 `setup-stutterdebug`(OSX)进行安装或卸载。

选择你的语言和安装选项(如不确定,请选择 [1])。之后等待进程结束,时间可能从三秒到约三小时不等,具体取决于你的安装类型和已安装的模组数量。以我(Jarno)的电脑为例,一个旧版本在“复制并修补 11211 个文件”时耗时约 81 分钟,当时安装的是 Tactical BWS 游戏,因此确实需要些时间。
卸载过程最多只需一两分钟。

**兼容性**

卡顿调试工具应与所有 IE 引擎游戏兼容。它仅用于调试目的,建议直接安装在已完成安装的游戏上(包括 EET)。

**链接**

* the bigg 关于调试卡顿时如何收集线索的教程:http://www.shsforums.net/topic/33937-how-to-gather-clues-when-debugging-stuttering/
* Jarno Mikkola 的教程(此卡顿调试工具基于该帖中的工具版本修改而成):http://www.shsforums.net/topic/41036-faq-for-the-megamods/?p=504055
* Ascalon 的卡顿调试教程(德语):https://www.baldurs-gate.de/index.php?threads/stutter-debug-wie-wann-und-warum.41439/
* Near Infinity:https://github.com/Argent77/NearInfinity/releases

**致谢**

* the bigg - 卡顿调试原理的首个教程
* Jarno Mikkola - 工具早期版本及调试指南
* Ascalon - 工具早期版本及调试指南(德语)

**历史版本**

**版本 4.1:**
* 由 Selphira 添加了法语版本。
* 在说明文件中添加了段落:**如何调试脚本卡顿**。
* 修复了游戏信息输出中对 SoD 的检测。

**版本 4.0:**
* 代码现代化、重构并清理。
* 添加了对 BG1 的支持。
* 修复了对 IWD1、IWD2 和 PST 的支持。

**版本 3.1:**
* 修正了拼写错误。

**版本 3:**
* 从文本输出中移除了 `ActionOverride(Player1`,以提高游戏内稳定性。
* 添加了 libiconv-1.9.2-1-src.zip 以提供许可证信息。

**版本 2:**
* 添加了 DisplayStringHead,使文本能在窗口显示。

**版本 1:**
* 首次公开发布。
4 changes: 4 additions & 0 deletions stutterdebug/stutterdebug.tp2
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ LANGUAGE ~Francais~
~stutterdebug/tra/french/setup.tra~
~stutterdebug/tra/french/mod.tra~

LANGUAGE ~Chinese~
~schinese~
~stutterdebug/tra/schinese/setup.tra~
~stutterdebug/tra/schinese/mod.tra~

BEGIN @0 /* ~Patching all scripts except NoAction() blocks - chose this when installing the first time (Installation could take a while!)~ */

Expand Down
2 changes: 2 additions & 0 deletions stutterdebug/tra/schinese/mod.tra
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// -*- 编码:utf-8 -*-
@1000 = ~正在运行 %SOURCE_FILE% 的区块 %x%~
19 changes: 19 additions & 0 deletions stutterdebug/tra/schinese/setup.tra
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// -*- ���룺us-ascii -*-
@0 = ~�޲��� NoAction() ����������нű� - �״ΰ�װʱ��ѡ������װ������Ҫ�ϳ�ʱ�䣡��~
@1 = ~�޲����нű����ű����� - �⽫��Ҫһ��ʱ�䣡~
@2 = ~���ٵ��Թ���~
@3 = ~��⵽δ��װ BG2 �޸����� Tutu��~
@4 = ~��⵽δ��װ BG2 �޸����� BG2/BGT��~
@5 = ~��⵽ BG:EE��~
@6 = ~��⵽ SoD��~
@7 = ~��⵽ EET��~
@8 = ~��⵽ IWD:EE��~
@9 = ~��⵽ PST:EE��~
@10 = ~��⵽ IWD��~
@11 = ~��⵽ PST��~
@12 = ~��⵽ IWDII��~
@13 = ~��⵽�Ѱ�װ BG2 �޸����� Tutu��~
@14 = ~��⵽�Ѱ�װ BG2 �޸����� BG2/BGT��~
@15 = ~��⵽ BG1��~

@100 = ~�ڴ���Ϸ�ϰ�װģ��ǰ���������а�װ DLC Merger��~