Skip to content

Commit

Permalink
更新:RPE160相关内容
Browse files Browse the repository at this point in the history
  • Loading branch information
NuanRMxi committed Sep 25, 2024
1 parent 48b36ff commit ee19481
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 13 deletions.
6 changes: 3 additions & 3 deletions src/chart-standard/chart-format/rpe/event.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

RPE中,一共有五种普通事件,它们分别是:`moveXEvents`(X轴移动事件)、`moveYEvents`(Y轴移动事件)、`rotateEvents`(旋转事件)、`alphaEvents`(不透明度事件)、`speedEvents`(音符流速事件)。
在层级下,这些字段都对应一个 `JsonArray`,每一个元素代表一个事件。
在稍早版本,XY轴移动事件分离(XY事件不同时出现与消失)会被制谱器报错,因为这是对早期PhiEditor Chart的兼容,现在它不被报错,其本身也只是可选项。

除了**流速事件**外的其他所有普通事件都应该含有以下字段。

Expand All @@ -22,7 +23,6 @@ RPE中,一共有五种普通事件,它们分别是:`moveXEvents`(X轴移
- 坐标系锚点位于屏幕中心,X轴范围为 `-675 ~ 675`,Y轴范围为 `-450 ~ 450`
- 不透明度事件的正常范围为 `0 ~ 255``0`为完全透明,`255`为完全不透明。
- 若不透明度事件数值为负数,则会在隐藏判定线的同时隐藏这条判定线上的所有音符。(根据作者所述,此功能是废弃的非法功能但它仍然有效)
- 因为负数透明度隐藏的音符无打击特效,也没有打击音效。(无法确实是否为Bug导致)
- 音符流速事件只有上述的 `startTime``endTime``start``end``linkgroup` 字段。
- 音符流速事件**不支持缓动**
- 流速为负数时,音符会向上飞,若音符为 `Hold`,在 `Hold` 尾出现时整个音符都会出现(即使 `Hold` 还没完全回到判定线正面)。
- 音符流速事件**不支持缓动**,即只有线性变化。
- 流速为负数时,音符会向上飞,若音符为 `Hold`,在 `Hold` 尾出现时,整个音符都会出现(即使 `Hold` 还没完全回到判定线正面)。
5 changes: 4 additions & 1 deletion src/chart-standard/chart-format/rpe/extendEvent.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,4 +98,7 @@ GIF播放进度事件,此事件在 `150` 版本与GIF判定线纹理一同加

## inclineEvents
倾斜事件,疑似已被弃用,但是默认会在 `extended` 字段下留一个垫底事件。
_此事件无法在RPE中编辑。_
_此事件无法在RPE中编辑。_

- 倾斜事件开始结束数值为倾斜角度,对 `Hold` 无效。
- 此事件年久失修,无法验证其行为,请谅解。
4 changes: 2 additions & 2 deletions src/chart-standard/chart-format/rpe/judgeLine.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
| Texture | string | 判定线贴图,若非默认值,则为相对于谱面根目录的路径,更多详见[Texture](./extend.md#texture) | line.png | - |
| anchor | JsonArray | 判定线锚点,详见 [extend](./extend.md#anchor) | `[ 0.5, 0.5 ]` | 142 |
| eventLayers | JsonArray | 事件层级,默认包含至少一个层级(JsonObject),空层级为 `null`,最大有五个,层级下事件见 [event](./event.md) | - | - |
| extended | JsonArray | 特殊事件,详见 [extend](./extendEvent.md) | - | - |
| father | int | 父线,-1表示无父线(行为待补充) | - | - | | -1 | - |
| extended | JsonArray | 特殊事件,详见 [extend Event](./extendEvent.md) | - | - |
| father | int | 父线,`-1` 表示无父线(行为待补充) | - | - | | -1 | - |
| isCover | int | 遮罩(行为待补充) | 1 | - |
| notes | JsonArray | 线上所有的Note,详见 [note](./note.md) | - | - |
| numOfNotes | int | Note总数量(包含 `FakeNote`,不包含 `Hold`) | 0 | - |
Expand Down
15 changes: 8 additions & 7 deletions src/chart-standard/chart-format/rpe/root.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# RPE谱面根目录结构

**警告,以下所有内容根据编写开始时间(2024.7.25)最新RPE版本1.4.1编写,所有加入版本等信息全部待补充**
**警告:以下所有内容从编写开始时间(2024.7.25)最新RPE版本1.4.1开始编写,更早的加入版本等信息全部待补充**

## 谱面根目录结构

Expand All @@ -18,7 +18,7 @@

| 字段名 | 类型 | 说明 | 加入版本 |
|:------------:|:------:|:----------------:|:----:|
| RPEVersion | int | RPE版本,100~153 | - |
| RPEVersion | int | RPE版本,100~160 | - |
| background | string | 背景图片相对于谱面根目录路径 | - |
| charter | string | 谱师名义 | - |
| composer | string | 曲师 | - |
Expand All @@ -28,21 +28,22 @@
| name | string | 谱面名称 | - |
| offset | int | 音乐偏移,单位为毫秒 | - |
| song | string | 音乐文件相对于谱面根目录路径 | - |

- `offset` 为负数时,音乐应该在谱面开始前 `-offset` 毫秒时播放;为正数时,音乐应该在谱面开始后 `offset` 毫秒时播放。
- `id` 在RPE自动生成时为 `long`,实际上这个值可以随便篡改为任何字符,所以在实际谱面中存储方式为 `string`

- <span style="color:red;">**RPE 1.5.0 ~ RPE 1.6.0 之间的版本(不含RPE 1.6.0,含Alpha版本),META中的 `RPEVersion` 字段保持为 `150`,没有被更改。**</span>
### chartTime
_模拟器不需要本属性。_
- `chartTime` 是一个float值,时间单位是秒,表示谱面编辑时长,在 `141` 加入。
- `chartTime` 是一个 `double` 变量,时间单位是秒,表示谱面编辑时长,在 `141` 加入。
- ~~在RPE中,如果谱师在30秒内没有编辑谱面,则该值将不再变动,下次开始编辑后继续计时。~~(特性被移除)
- 如果焦点不在RPE窗口,此计时将会停止,直到窗口获得焦点后继续计时
- 如果RPE失去焦点,RPE仍会继续计时,若RPE重新获得焦点,计时将回溯至失去焦点时的时间

### judgeLineGroup
_模拟器不需要本属性。_

- `judgeLineGroup` 是一个 `JsonArray`,包含若干个 `string`
- 每一个 `string` 为一个判定线组。

- *实际行为待补充。*

### judgeLineList
- `judgeLineList` 是一个 `JsonArray`,包含若干个 `JsonObject`,每个 `JsonObject` 代表一个[判定线](./judgeLine.md)
Expand All @@ -51,7 +52,7 @@ _模拟器不需要本属性。_
_模拟器不需要本属性。_

- `multiLineString` 是一个字符串,在RPE中多线编辑时使用,以空格分割,每个数字代表一个判定线。
- `multiLineString` 中也可能含有 `:` ,它的作用和 `~` 差不多,如 `1:20` 将选中 `1``20` 号的所有判定线。
- `multiLineString` 中也可能含有 `:` , `1:20` 将选中 `1``20` 号的所有判定线。

### multiScale
_模拟器不需要本属性。_
Expand Down

0 comments on commit ee19481

Please sign in to comment.