level 13
●主要功能
* 显示 东方 Project 弹幕 STG 录像文件(*.rpy)中的录像信息。目前支持的作品如下:
- 老正作(DX8):
+ 红魔乡[TH06], 妖妖梦[TH07], 永夜抄[TH08], 花映冢[TH09]
- 正作(DX9):
+ 风神录[TH10], 地灵殿[TH11], 星莲船[TH12], 神灵庙[TH13], 辉针城[TH14], 绀珠传[TH15],天空璋[TH16](体验版)
- 单关小品:
+ 文花帖[TH95], 文花帖DS[TH125], 弹幕天邪鬼[TH143]
- 多关小品:
+ 妖精大战争[TH128]
- 跑龙套:
+ 黄昏酒场
* 支持读写录像注释。
- **注:** 由于录像文件格式的限制,`红魔乡` 和 `妖妖梦` 的录像文件不支持添加注释。
* TH06-TH08 支持自动识别中文版录像。
- TH09 以后的录像若要看中文版录像请事先在选项里选好编码,不然会乱码。
- **注:** 如果不知道编码是神马,可以依次按键盘上的 `F1` ~ `F4`,有惊喜。
* 录像信息和录像注释均支持自动转码。
- 这也需要在选项里事先设置好编码。
* 支持 设置/解除 与 .rpy 文件的关联。
* 部分作品的录像文件还支持显示每一关的信息,包括每一关开始时的Point 、Graze、樱点、夜点、通关分数等等(不同作品会显示不同信息)。
* 支持显示 TH09 的“大致”掉帧率,详见 `说明`。
* 还有复制、移动、删除录像的功能,主要用于方便自己整理录像。
* ...
●更新历史
1.81(2017-05-21)
* 增加:支持<del>天星璋</del>天空璋体验版。
* 改进:红魔乡可以显示录像所属的游戏版本号。
* 改进:风神录、地灵殿 的 [Power] 项会在后面用括号标注游戏内部值。
* 改进:地灵殿中的“通信強度”项更名为 [最大得點] 与 “最小得點”,并分别显示蓝点的最大与最小得分值。而原本所谓的“通信強度”(叫“基本得点”可能比较贴切)、以及倍率显示在后面的括号中。
* 其他细节的修正。
●关于本版本的一些说明
【为什么天空璋的REP信息第一行是“東方天星璋”?】
和游戏窗口标题一样,这又是2un的锅,因为REP文件里本来就是这么写的(在文件末尾)。
当然我可以让回映录先把“天星璋”替换成“天空璋”再显示。
但是既然游戏窗口标题叫“天星璋”,这也不能说是写错了对不对?
再说如果正式版里2un改正了,那么大家可以很一目了然地看出某个rep是不是体验版录像,而不用去看版本号了。毕竟有时候 1.00a 和 0.01a 容易看走眼是吧?
还有 Season 那一项是我补的,rep文件尾部原本并没有。
【关于季节槽】
季节槽在游戏内部的取值范围为 0~1140,游戏中通过回收季节道具来增加(一般吃一个+1,还不清楚有没有加其他值的情况),在达到 100,230,390,590,840,1140 时分别加一个子机。
回映录中显示的格式为:【子机数量.季节槽的填充度(内部值/下一次增加子机的值)】
举个栗子:【4.148(627/840)】
这表示:游戏内部值为 627,该值在 590~840 之间,表示自机有4个子机;季节槽填充度的算法为 (627-590)/(840-590) = 0.148;最后两者相加得 4.148 。
【红魔乡REP可以显示游戏版本号】
因为以前在这里看到过有人说自己打的红魔乡REP别人放不了,我一看居然是1.00版的录像。为了方便大家验证,加了这个功能。
但是无法显示版本号最后面的那个字母,因为1.02~1.02h的录像格式是一样的,当然录像文件中也并不会记录那个字母。
而且中文版日文版的REP的格式是完全相同,所以也无法像妖妖梦REP那样显示是否是中文版。
【地灵殿显示蓝点的“最大得点”和“最小得点”】
原本的“通信強度”更名为“最小得點”与“最大得點”,并显示为蓝点的最小得分与最大得分。而原本的值(感觉应该叫“基本得点”比较贴切)以及倍率显示在后面的括号中。
众所周知,地灵殿的蓝点收益 = 基本得点 × 倍率
两者都显示在游戏左下角。
其中倍率的计算与 Graze 及信号槽有关。
最大得点 = 基本得点 × 最大倍率
“最大倍率”当然就是指信号槽最大时的值。而它的计算只与 Graze 有关。一般可以这么算:先计算 ((Graze+10000) ÷ 10000) ,然后用舍弃法保留小数点后2位,最后判断是否大于 9.99,若是则修正为 9.99 。
不过这并非游戏程序中的算法,游戏程序为了避免使用浮点数计算(毕竟浮点计算有误差),使用的算法是: rate = (min(graze/100, 899) + 100);
这样算出来的倍率最大值是 999 而非 9.99,所以最后还要除以100,即:rate * base_score / 100;
其中所有的操作数都是整数类型,所以前面的 "/" 都代表整数除法。
最终计算结果的个位可能不是0,而实际得分总是不包含个位的(直接舍去)。
最小得点 与 最小倍率,当然就是指信号槽为空时两者的值。而且最小倍率总是比最大倍率小 1.00 。
在游戏中,每一关开始时信号槽会被强制清空,这时左下角显示的倍率便是最小倍率。
另外由于蓝点最小得分是10,所以即使最小倍率为 0.00(比如游戏刚开始时) ,实际得分也是 10 分,但是在回映录中仍然显示为 0 。
【在 config.exe 中勾选 "Don't use..." 或 "Hold SHOT..."复选框后打的录像并不会在回映录中显示 NoDirectInput 或 ShotSlow】
这还是要让2un背锅。这次的 custom.exe 毛用没有。
原因和解决办法: https://tieba.baidu.com/p/5125099348
2017年05月21日 12点05分
