From 12271b69432ea4deb3348fbe4faeb326fec38983 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Sun, 2 Nov 2025 19:14:24 +0800 Subject: [PATCH 01/56] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BD=91=E9=A1=B5?= =?UTF-8?q?=E7=AE=80=E4=BB=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index ef0ec02..d6f1472 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ 节奏医生编辑器教程 - + From b6bec98286ed8272f0e9f8a633c15b3394643710 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Sat, 29 Nov 2025 14:14:35 +0800 Subject: [PATCH 02/56] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BA=86=E7=BE=A4?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- images/intro-qqgroup2.png | Bin 0 -> 221005 bytes pages/intro.md | 7 ++++--- style/special.css | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 images/intro-qqgroup2.png diff --git a/images/intro-qqgroup2.png b/images/intro-qqgroup2.png new file mode 100644 index 0000000000000000000000000000000000000000..7a57c2c0bb9ee2bdaf373f8b7ad830485ad72399 GIT binary patch literal 221005 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

UY*rEHR0P5Pr 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 i +我们的 QQ 1044116596

我们的 QQ 群号是: 1044116596

+ -![我们的 QQ 群号是:951070053](../images/intro-qqgroup.png) - -如果你有做谱相关的问题,或是对本教程有什么意见和建议,可以点击链接加入 QQ 群 [951070053](https://jq.qq.com/?_wv=1027&k=nsPA09E4) 告知我们。你也可以在群里上传谱面给我们试玩,群友们都会热心为你提供谱面优化建议。真诚欢迎各位做谱萌新和大佬的加入。 +如果你有做谱相关的问题,或是对本教程有什么意见和建议,可以点击链接加入 QQ 群 [1044116596](https://qm.qq.com/q/giuo0RDv4Q) 告知我们。你也可以在群里上传谱面给我们试玩,群友们都会热心为你提供谱面优化建议。真诚欢迎各位做谱萌新和大佬的加入。 (悄悄透露一句:官方也入驻了这个群哦~) diff --git a/style/special.css b/style/special.css index 40a4263..a5db117 100644 --- a/style/special.css +++ b/style/special.css @@ -2,6 +2,24 @@ --line-width: 1px; } +div.qqgroup{ + height: 80px; + display: flex; + justify-self: center; + position: relative; + &>img{ + } + &>p{ + container: qqgroup; + position: absolute; + left: 5%; + top: 19%; + font-size: 23px; + resize: both; + color: #3b8e59; + } +} + div.theme-positions { position: relative; display: flex; From 1761283ca96fcee60f8a16d2fbe1b1f9c0c27567 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Sat, 29 Nov 2025 14:14:54 +0800 Subject: [PATCH 03/56] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9A=97=E8=89=B2?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E9=83=A8=E5=88=86=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- style/dark.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/style/dark.css b/style/dark.css index 767eafe..3dd00f1 100644 --- a/style/dark.css +++ b/style/dark.css @@ -1,12 +1,12 @@ body.dark { --main-color: #c8c8c8; - --main-theme-color: #008080; + --main-theme-color: #3c7e7e; --background-color: #1f1f1f; --background-border-color: #303030; --section-main-color: #0f0f0f; - --section-background-color: #003333; + --section-background-color: #2c3333; --section-table-header-border-color: #303030; - --section-blockquote-background-color: #003a3a; + --section-blockquote-background-color: #2a3131; --section-blockquote-color: #7cdcfe; --section-tip-background-color: #161616; --section-tip-color: #3f3f3fcc; From e115480491cfd7757fda5b3ed83b0161569684f7 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Sat, 29 Nov 2025 14:30:41 +0800 Subject: [PATCH 04/56] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E6=B7=BB=E5=8A=A0=20AserDeco=20=E4=BB=8B=E7=BB=8D?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _sidebar.md | 1 + pages/3rdparty_aserdeco.md | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 pages/3rdparty_aserdeco.md diff --git a/_sidebar.md b/_sidebar.md index 9660442..b560018 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -52,6 +52,7 @@ - 高级:第三方工具 - [

[Python]CodeRD

](/pages/3rdparty_coderd.md) - [

[C#]RhythmBase

](/pages/3rdparty_rdtk.md) + - [

[lua]AserDeco插件

](/pages/3rdparty_aserdeco.md) - 附录 - [

事件列表

](/pages/appendix_events.md) - [

预设特效列表

](/pages/appendix_vfxs.md) diff --git a/pages/3rdparty_aserdeco.md b/pages/3rdparty_aserdeco.md new file mode 100644 index 0000000..5c5ca34 --- /dev/null +++ b/pages/3rdparty_aserdeco.md @@ -0,0 +1,29 @@ +# AserDeco + +AserDeco 是一个 [Aseprite](https://www.aseprite.org/) 插件,用于将已有的 Aseprite 工程文件导出为节奏医生可以使用的精灵图文件。 + +## 下载 +可以在[这里](https://github.com/OLDRedstone/Aserdecoration/releases/)下载到最新版的 AserDeco 插件。 + +## 安装: + +**双击 .aseprite-extension 文件**或**依次点击**`编辑-首选项-扩展-添加扩展`以安装。 + +若需要更改语言,依次点击`窗口-更改 Aserdecoration 的语言`,之后以上述方法重启插件。 + +## 使用 + +在 Aseprite 里制作精灵图时, + +1. 选择需要导出的 Aseprite 工程文件, +1. 调整帧持续时间(可选), +1. 创建循环节, + 1. 选择多个帧, + 1. 右键帧序号, + 1. 选择`设置循环节`, +1. 将循环节名称设置为精灵图表情名称, +1. 调整循环节参数, +1. 保存文件, +1. 依次点击`文件-导出...-导出节奏医生精灵图`以弹出导出对话框, + +插件将会以**循环节名称**创建精灵表情,并以**循环节的动画方向**、**帧的持续时间(可选)**和**对话框内的参数**在**已打开的 Aseprite 工程文件同一位置**处创建与同名的精灵图 .png 和 .json 文件。 From 67550f329de1a7f025c03fe22f1705aa69f295e5 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Sat, 29 Nov 2025 14:38:43 +0800 Subject: [PATCH 05/56] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/3rdparty_aserdeco.md | 2 +- pages/intro.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/3rdparty_aserdeco.md b/pages/3rdparty_aserdeco.md index 5c5ca34..beb7e28 100644 --- a/pages/3rdparty_aserdeco.md +++ b/pages/3rdparty_aserdeco.md @@ -26,4 +26,4 @@ AserDeco 是一个 [Aseprite](https://www.aseprite.org/) 插件,用于将已 1. 保存文件, 1. 依次点击`文件-导出...-导出节奏医生精灵图`以弹出导出对话框, -插件将会以**循环节名称**创建精灵表情,并以**循环节的动画方向**、**帧的持续时间(可选)**和**对话框内的参数**在**已打开的 Aseprite 工程文件同一位置**处创建与同名的精灵图 .png 和 .json 文件。 +插件将会以**循环节名称**创建精灵表情,并以**循环节的动画方向**、**帧的持续时(可选)**和**对话框内的参数**在**已打开的 Aseprite 工程文件同一位置**处创建与工程文件同名的精灵图 .png 和 .json 文件。 diff --git a/pages/intro.md b/pages/intro.md index 9539021..9d80e03 100644 --- a/pages/intro.md +++ b/pages/intro.md @@ -2,7 +2,7 @@ # 节奏医生中文编辑器教程 -> 此网页正在维护中。 +> 此网页正在活跃维护中。 网页已开源至[此处](https://git.obugs.cn/RDCNWebs/rd.rdlevel.cn),欢迎投稿。 > 页面内的大部分事件栏板块包含点击互动。尝试点击以获得更生动的演示。 From 16207c03c5469c5d7c955b0df10e95d13e64ac2d Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Sat, 29 Nov 2025 15:27:39 +0800 Subject: [PATCH 06/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/changelog.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pages/changelog.md b/pages/changelog.md index ce08179..7f2b71a 100644 --- a/pages/changelog.md +++ b/pages/changelog.md @@ -1,5 +1,27 @@ # 更新信息 +#### 2025-11-29 +- 调整目录结构 +- 双人模式措辞更改 +- 移除 banner +- 修改暗色主题部分颜色 +- 添加一项第三方工具介绍页面 +- 更改了群号 +- 添加了网页简介 +- 添加了制作人员名单 +- 大量修改内容布局,这包括 + - 场景资源 + - 房间与镜头 + - 文字事件 + - 镜厅 + - 轨道移动 + - 房间视效 + - 轨道视效 + - 基础 vfx 效果 + - 视觉干扰 +- 部分页面处于未完成状态,如 + - 基础 vfx 效果 + #### 2025-11-02 - [无障碍设计](../pages/accessibledesign.md)添加了屏幕朗读事件相关说明 From c6ac6e539680b0b88405fbaa52c86f2359ce0f88 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Sat, 29 Nov 2025 16:42:42 +0800 Subject: [PATCH 07/56] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_sidebar.md b/_sidebar.md index b560018..7877c55 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -4,6 +4,7 @@ margin: 0; & img{ image-rendering: pixelated; + width: 64px; height: 32px; } } @@ -37,6 +38,7 @@ - 进阶:视觉特效 - [

镜头移动

](/pages/camera.md) - [

房间视效

](/pages/roomfx.md) + - [

视觉干扰

](/pages/vfxpro.md) - [

摄像机视效

](/pages/camerafx.md) - [

镜厅

](/pages/hallofmirror.md) - [

窗口移动

](/pages/windowmove.md) From 9336f789c13606703349154d4cc8ce9b44d5296f Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Sat, 29 Nov 2025 16:45:51 +0800 Subject: [PATCH 08/56] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BA=86=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=8F=B3=E4=BE=A7=E5=8A=9F=E8=83=BD=E5=8C=BA=E7=9A=84?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/switchLightDarkMode.js | 17 +++++++++++------ style/base.css | 15 +++++++++++++++ style/color.css | 7 +++++++ style/dark.css | 3 +++ style/light.css | 3 +++ 5 files changed, 39 insertions(+), 6 deletions(-) diff --git a/script/switchLightDarkMode.js b/script/switchLightDarkMode.js index 8d194ae..91b4977 100644 --- a/script/switchLightDarkMode.js +++ b/script/switchLightDarkMode.js @@ -19,16 +19,17 @@ const themeModes = ['light', 'dark', 'auto',] var switchSpan = document.createElement('span') switchSpan.id = 'switchLightDarkModeDivBeforeArticle' +switchSpan.classList.add('controlSpan') switchSpan.style.position = 'fixed' switchSpan.style.right = switchLightDarkModeOptions.right.toString() + 'px' switchSpan.style.top = switchLightDarkModeOptions.top.toString() + 'px' -const lightModeIconXml = '' -const darkModeIconXml = '' -const autoModeIconXml = '' -const zoomInIconXml = '' -const zoomOutIconXml = '' -const zoomDefaultIconXml = '' +const lightModeIconXml = '' +const darkModeIconXml = '' +const autoModeIconXml = '' +const zoomInIconXml = '' +const zoomOutIconXml = '' +const zoomDefaultIconXml = '' const ottoIconXml = ` @@ -125,6 +126,7 @@ function plugin(hook, vm) { var zoomInSpan = document.createElement('span') zoomInSpan.id = 'zoomInSpan' + zoomInSpan.classList.add('controlSpan') zoomInSpan.style.position = 'fixed' zoomInSpan.style.right = switchLightDarkModeOptions.right.toString() + 'px' zoomInSpan.style.top = (switchLightDarkModeOptions.top + 35).toString() + 'px' @@ -132,6 +134,7 @@ function plugin(hook, vm) { var zoomOutSpan = document.createElement('span') zoomOutSpan.id = 'zoomOutSpan' + zoomOutSpan.classList.add('controlSpan') zoomOutSpan.style.position = 'fixed' zoomOutSpan.style.right = switchLightDarkModeOptions.right.toString() + 'px' zoomOutSpan.style.top = (switchLightDarkModeOptions.top + 70).toString() + 'px' @@ -139,6 +142,7 @@ function plugin(hook, vm) { var zoomDefaultSpan = document.createElement('span') zoomDefaultSpan.id = 'zoomDefaultSpan' + zoomDefaultSpan.classList.add('controlSpan') zoomDefaultSpan.style.position = 'fixed' zoomDefaultSpan.style.right = switchLightDarkModeOptions.right.toString() + 'px' zoomDefaultSpan.style.top = (switchLightDarkModeOptions.top + 105).toString() + 'px' @@ -146,6 +150,7 @@ function plugin(hook, vm) { var ottoSpan = document.createElement('span') ottoSpan.id = 'ottoSpan' + ottoSpan.classList.add('controlSpan') ottoSpan.style.position = 'fixed' ottoSpan.style.right = switchLightDarkModeOptions.right.toString() + 'px' ottoSpan.style.top = (switchLightDarkModeOptions.top + 140).toString() + 'px' diff --git a/style/base.css b/style/base.css index 639d011..debabd0 100644 --- a/style/base.css +++ b/style/base.css @@ -1291,4 +1291,19 @@ del { margin: 0; border-radius: 5px; font: 300 12px 'd9c', 'd9'; +} + +.controlSpan { + border-radius: 8px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + font-family: 'd9', sans-serif; + font-size: 16px; + height: 30px; + width: 30px; + transition: background-color 0.3s, transform 0.2s; + z-index: 20; } \ No newline at end of file diff --git a/style/color.css b/style/color.css index 8f5fdb9..0061ad7 100644 --- a/style/color.css +++ b/style/color.css @@ -223,4 +223,11 @@ div.medium-zoom-overlay{ &>p{ background-color: var(--background-color); } +} + +.controlSpan{ + background-color: var(--span-color); + &>svg{ + stroke: var(--span-fill-color); + } } \ No newline at end of file diff --git a/style/dark.css b/style/dark.css index 3dd00f1..55175df 100644 --- a/style/dark.css +++ b/style/dark.css @@ -20,6 +20,9 @@ body.dark { -webkit-tap-highlight-color: rgb(0, 0, 0); --special-theme-position-backgound-color: #177500; + + --span-color: #2020203a; + --span-fill-color: #3c7e7e; } body.dark .sidebar li>a:has(>img) { diff --git a/style/light.css b/style/light.css index 9f53c88..b2f927e 100644 --- a/style/light.css +++ b/style/light.css @@ -20,6 +20,9 @@ body.light { -webkit-tap-highlight-color: rgb(255, 255, 255); --special-theme-position-backgound-color: #05a000; + + --span-color: #e0e0e03a; + --span-fill-color: #008585; } body.light .sidebar li>a:has(>img) { From 64b612088cbc81803db05e21c1629fbc4afb57ce Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Sat, 29 Nov 2025 16:46:38 +0800 Subject: [PATCH 09/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pages/changelog.md b/pages/changelog.md index 7f2b71a..255722d 100644 --- a/pages/changelog.md +++ b/pages/changelog.md @@ -9,6 +9,7 @@ - 更改了群号 - 添加了网页简介 - 添加了制作人员名单 +- 更改了页面右侧功能区的样式 - 大量修改内容布局,这包括 - 场景资源 - 房间与镜头 @@ -21,6 +22,7 @@ - 视觉干扰 - 部分页面处于未完成状态,如 - 基础 vfx 效果 +- 旧版教程已归档至[这里](https://2025.rd.rdlevel.cn) #### 2025-11-02 - [无障碍设计](../pages/accessibledesign.md)添加了屏幕朗读事件相关说明 From beb5385e25e3a4328f95cc28fea3262435cb12de Mon Sep 17 00:00:00 2001 From: 0x4D2 <1706119930@qq.com> Date: Thu, 4 Dec 2025 23:15:22 +0800 Subject: [PATCH 10/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=99=84=E5=BD=95?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E4=BA=8B=E4=BB=B6=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 0x4D2 <1706119930@qq.com> --- pages/appendix_events.md | 79 ++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 35 deletions(-) diff --git a/pages/appendix_events.md b/pages/appendix_events.md index 5cc1139..fa3c80c 100644 --- a/pages/appendix_events.md +++ b/pages/appendix_events.md @@ -14,69 +14,65 @@ | 护士语音设置 | `R` | [音效设计](../pages/oneshotbeat.md#护士节奏提示) | 添加用于提示单发拍子的护士语音 | | 设置游戏音效 | `G` | [音效设计](../pages/audiodesign.md#设置游戏音效) | 设置玩家按键时的各种音效声 | | 设置节拍音效 | `T` | [音效设计](../pages/audiodesign.md#设置节拍音效) | 重新设置替换指定轨道的节拍音效 | -| 设置数拍音效   | `U` | [普通拍子](../pages/classicbeat.md#护士节奏提示) | 设置普通拍子的数拍音效 | +| 设置数拍音效 | `U` | [普通拍子](../pages/classicbeat.md#护士节奏提示) | 设置普通拍子的数拍音效 | +| 朗读口述 | `N` | [无障碍设计](../pages/accessibledesign.md#朗读口述) | 添加用于文字说明的屏幕朗读事件 | +| 朗读轨道信息 | `F` | [无障碍设计](../pages/accessibledesign.md#朗读轨道信息) | 添加用于轨道提示的屏幕朗读事件 | | 注释 | `M` | [标签](../pages/tag.md#让事件摆放更有条理) | 添加注释内容或插入注释型自定义方法 | ## 蓝色版块(轨道) | 功能 | 快捷键 | 章节 | 内容 | | :--- | :--- | :--- | :--- | -| 设置波    | | [单发拍子](../pages/oneshotbeat.md#单发拍子视觉效果) | 设置单发拍子脉冲的形状和大小   | +| 设置单发波形 | | [单发拍子](../pages/oneshotbeat.md#单发拍子视觉效果) | 设置单发拍子脉冲的形状和大小   | ## 紫色版块(动作) | 功能 | 快捷键 | 章节 | 内容 | | :--- | :--- | :--- | :--- | | **玩法类** | | | | +| 隐藏轨道 | `X` | [轨道移动](../pages/moverow.md#轨道的显示与隐藏) | 改变轨道的显示和隐藏状态 | +| 切换玩家轨道 | `Y` | [采音和节奏设计](../pages/beatpatterndesign.md) | 切换轨道的游玩者:1P,2P或是CPU | | 结束关卡 | `L` | [导入与导出](../pages/importandexport.md#导出关卡) | 制作关卡必需的特效,放置三个来结束关卡 | -| 设置播放模式   | `9` | | 设置播放头的运动方式 | +| 显示手 | `U` | [手](../pages/hand.md#显示手) | 显示或者隐藏手 | +| 手分配 | `Shift+Y` | [手](../pages/hand.md#手分配) | 为手设置所属角色 | +| 设置播放方式 | `Shift+Z` | | 设置播放头的运动方式 | | **环境类** | | | | | 设置主题 | `T` | [场景与主题](../pages/settheme.md) | 给房间添加游戏内置的主题效果 | | 设置背景 | `B` | [房间](../pages/room.md#背景图片) | 给房间添加纯色背景或是导入自制背景图片 | -| 设置前景 | `G` | [房间](../pages/room.md#前景图片) | 给房间导入自制的前景图片 | -| **轨道类** | | | | +| 设置前景 | `Shift+B` | [房间](../pages/room.md#前景图片) | 给房间导入自制的前景图片 | +| 设置速度 | `S` | [轨道视效](../pages/vfx.md#设置速度) | 改变整个画面中物件及特效的运行速度 | +| 自定义闪烁 | `F` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 自定义屏幕闪烁的图层位置,颜色,透明度 | +| 闪烁 | `Shift+F` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 简单地屏幕闪烁 | +| **轨道特效类** | | | | | 隐藏轨道 | `X` | [轨道移动](../pages/moverow.md#轨道的显示与隐藏) | 改变轨道的显示和隐藏状态 | | 移动轨道 | `O` | [轨道移动](../pages/moverow.md#轨道的移动) | 让轨道在画面中移动,缩放,旋转等 | +| 重排序:行 | `Shift+O` | | 将轨道移动到不同房间,或是重新对轨道进行排序 | | 播放表情 | `J` | [自制角色与精灵资源](../pages/spritesheet.md#播放表情) | 改变轨道中角色的表情 | | 轨道涂色 | `R` | [轨道视效](../pages/rowfx.md#轨道涂色) | 设置轨道的边框、涂色、透明度 | -| 切换轨道 | `Y` | [采音和节奏设计](../pages/beatpatterndesign.md) | 切换轨道的游玩者:1P,2P或是CPU | -| **镜头类** | | | | +| **摄像头特效类** | | | | | 移动摄像头 | `C` | [镜头移动](../pages/camera.md) | 设置摄像头动画 | -| 屏幕震动 | `H` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 添加屏幕震动效果,可指定震动幅度 | -| 翻转屏幕 | `N` | [视觉干扰](../pages/vfx.md) | 上下,左右,或是中心反转屏幕 | -| 脉冲摄像机 | `P` | [轨道视效](../pages/rowfx.md#和轨道相关的特效) | 添加一个按一定时间和频次缩放画面的效果 | -| **视效类** | | | | +| 脉冲摄像机 | `Shift+C` | [轨道视效](../pages/rowfx.md#和轨道相关的特效) | 添加一个按一定时间和频次缩放画面的效果 | +| 自定义震动 | `H` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 自定义屏幕震动的震动类型,时长,增幅 | +| 屏幕震动 | `Shift+H` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 简单地屏幕震动,可指定震动幅度 | +| 屏幕翻转 | `Shift+I` | [视觉干扰](../pages/vfx.md) | 上下,左右,或是中心反转屏幕 | +| **视觉特效类** | | | | | 预设特效 | `V` | [ex2](../pages/appendix_vfxs.md) | 插入编辑器预置的特效 | | 设置速度 | `S` | [轨道视效](../pages/vfx.md#设置速度) | 改变整个画面中物件及特效的运行速度 | -| 闪烁 | `F` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 简单地屏幕闪烁 | -| 自定义闪烁 | `U` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 自定义屏幕闪烁的图层位置,颜色,透明度 | +| 自定义闪烁 | `F` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 自定义屏幕闪烁的图层位置,颜色,透明度 | +| 闪烁 | `Shift+F` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 简单地屏幕闪烁 | | 重低音震动 | `K` | [轨道视效](../pages/rowfx.md#适合配合轨道或节拍一起使用的特效) | 添加一次大幅度的色像差加大幅度屏幕缩放 | -| 反转颜色 | `I` | [镜厅](../pages/hallofmirror.md) | 给画面添加反色效果 | -| 卡带效果 | `0` | [视觉干扰](../pages/vfx.md#卡带效果) | 反复重现某个画面造成卡顿错觉 | +| 颜色反转 | `I` | [镜厅](../pages/hallofmirror.md) | 给画面添加反色效果 | +| 卡带效果 | `E` | [视觉干扰](../pages/vfx.md#卡带效果) | 反复重现某个画面造成卡顿错觉 | +| 手涂色 | `Shift+U` | [手](../pages/hand.md#手涂色) | 改变手的颜色 | | 窗口动效 | `W` | [窗口移动](../pages/windowmove.md) | 把关卡变成窗口模式,并设置窗口的移动 | | **文本类** | | | | -| 弹幕效果 | `E` | [其他文字事件](../pages/captions.md#弹幕效果) | 添加一个从右至左的弹幕飘过效果 | | 显示对话 | `D` | [其他文字事件](../pages/captions.md#显示对话) | 添加一个悬浮在屏幕上方或下方的对话窗口 | -| 显示状态牌 | `Q` | [其他文字事件](../pages/captions.md#显示状态牌) | 在画面左上角显示一个状态牌 | +| 显示状态标识 | `Shift+D` | [其他文字事件](../pages/captions.md#显示状态牌) | 在画面左上角显示一个状态标识 | | 浮动文字 | `A` | [浮动文字](../pages/floatingtext.md) | 在画面中显示一段文字 | -| **手 类** | | | | -| 显示手 | `5` | [手](../pages/hand.md#显示手) | 显示或者隐藏手 | -| 手涂色 | `6` | [手](../pages/hand.md#手涂色) | 改变手的颜色 | -| 手分配 | `7` | [手](../pages/hand.md#手分配) | 为手设置所属角色 | +| 弹幕效果 | `Shift+A` | [其他文字事件](../pages/captions.md#弹幕效果) | 添加一个从右至左的弹幕飘过效果 | | **组件类** | | | | -| 标签动作 | `8` | [标签](../pages/tag.md#设置标签事件) | 运行/禁用指定标签带有的事件 | -| 自定义方法 | `Z` | [自定义方法](../pages/custommethod.md) | 运行指令,执行无法用常规手段达成的效果 | -| 注释 | `M` | [标签](../pages/tag.md#让事件摆放更有条理) | 添加注释内容或插入注释型自定义方法 | - -## 绿色版块(精灵) - -| 功能 | 快捷键 | 章节 | 内容 | -| :--- | :--- | :--- | :--- | -| 移动精灵图    | `O` | [自制角色与精灵资源](../pages/decoration.md#移动精灵图) | 设置精灵的位置、大小、角度、轴点    | -| 绘制精灵图 | `T` | [使用精灵](../pages/decoration.md#绘制精灵图) | 设置精灵的边框、涂色、透明度 | -| 播放表情 | `P` | [使用精灵](../pages/decoration.md#播放表情) | 播放精灵的表情 | -| 显示/隐藏 | `V` | [使用精灵](../pages/decoration.md#显示/隐藏) | 显示或隐藏精灵 | -| 平铺精灵图 | `V` | [使用精灵](../pages/decoration.md#平铺精灵图) | 显示或隐藏精灵 | +| 标签动作 | `O` | [标签](../pages/tag.md#设置标签事件) | 运行/禁用指定标签带有的事件 | +| 调用自定义方法 | `Z` | [自定义方法](../pages/custommethod.md) | 运行指令,执行无法用常规手段达成的效果 | | 注释 | `M` | [标签](../pages/tag.md#让事件摆放更有条理) | 添加注释内容或插入注释型自定义方法 | ## 黄色版块(房间) @@ -90,4 +86,17 @@ | 房间遮罩 | `K` | [房间视效](../pages/roomfx.md#房间遮罩) | 为房间设置遮罩 | | 淡入淡出房间 | `F` | [镜头移动](../pages/camera.md) | 设置房间的透明度 | | 设置房间视角 | `P` | [房间视效](../pages/roomfx.md#设置房间视角) | 设置房间的四个角的位置 | -| 注释 | `M` | [标签](../pages/tag.md#让事件摆放更有条理) | 添加注释内容或插入注释型自定义方法 | \ No newline at end of file +| 注释 | `T` | [标签](../pages/tag.md#让事件摆放更有条理) | 添加注释内容或插入注释型自定义方法 | + +## 绿色版块(精灵) + +| 功能 | 快捷键 | 章节 | 内容 | +| :--- | :--- | :--- | :--- | +| 移动精灵图 | `O` | [自制角色与精灵资源](../pages/decoration.md#移动精灵图) | 设置精灵的位置、大小、角度、轴点 | +| 绘制精灵图 | `R` | [使用精灵](../pages/decoration.md#绘制精灵图) | 设置精灵的边框、涂色、透明度 | +| 播放表情 | `J` | [使用精灵](../pages/decoration.md#播放表情) | 播放精灵的表情 | +| 显示/隐藏 | `X` | [使用精灵](../pages/decoration.md#显示/隐藏) | 显示或隐藏精灵 | +| 重排序:精灵图 | `Shift+O` | | 将精灵移动到不同房间,或是重新对精灵进行排序 | +| 平铺精灵图 | `I` | [使用精灵](../pages/decoration.md#平铺精灵图) | 显示或隐藏精灵 | +| 混合精灵图 | `B` | | 设置精灵的颜色混合模式 | +| 注释 | `M` | [标签](../pages/tag.md#让事件摆放更有条理) | 添加注释内容或插入注释型自定义方法 | From a6a1420368bff60950805db103f82fced790636f Mon Sep 17 00:00:00 2001 From: 0x4D2 <1706119930@qq.com> Date: Thu, 4 Dec 2025 23:16:12 +0800 Subject: [PATCH 11/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=99=84=E5=BD=95?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E4=BA=8B=E4=BB=B6=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 0x4D2 <1706119930@qq.com> --- pages/appendix_events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/appendix_events.md b/pages/appendix_events.md index fa3c80c..8bb0ee7 100644 --- a/pages/appendix_events.md +++ b/pages/appendix_events.md @@ -4,12 +4,12 @@ | 功能 | 快捷键 | 章节 | 内容 | | :--- | :--- | :--- | :--- | -| 播放音乐 | `P` | [导入与导出](../pages/importandexport.md#导入音乐)  | 设置谱面的音乐 | +| 播放音乐 | `P` | [导入与导出](../pages/importandexport.md#导入音乐) | 设置谱面的音乐 | | 设置音节长度 | `C` | | 设置每个小节的拍子数量 | | 播放音效 | `S` | [音效设计](../pages/audiodesign.md#播放音效) | 播放游戏内置的音效或是导入的音效 | | 设置BPM | `B` | [导入与导出](../pages/importandexport.md#调整曲速和偏移) | 设置音乐的BPM | | 设置按拍音效 | `L` | [音效设计](../pages/audiodesign.md#设置按拍音效) | 设置玩家正确击中拍子时的音效 | -| 设置心跳音量 | `H` | [音效设计](../pages/audiodesign.md#心爆) | 设置正确击中拍子时心跳的音效音量    | +| 设置心跳音量 | `H` | [音效设计](../pages/audiodesign.md#心爆) | 设置正确击中拍子时心跳的音效音量 | | 设置心爆间隔 | `I` | [音效设计](../pages/audiodesign.md#心爆) | 设置心爆效果的延迟方式与间隔 | | 护士语音设置 | `R` | [音效设计](../pages/oneshotbeat.md#护士节奏提示) | 添加用于提示单发拍子的护士语音 | | 设置游戏音效 | `G` | [音效设计](../pages/audiodesign.md#设置游戏音效) | 设置玩家按键时的各种音效声 | @@ -23,7 +23,7 @@ | 功能 | 快捷键 | 章节 | 内容 | | :--- | :--- | :--- | :--- | -| 设置单发波形 | | [单发拍子](../pages/oneshotbeat.md#单发拍子视觉效果) | 设置单发拍子脉冲的形状和大小   | +| 设置单发波形 | | [单发拍子](../pages/oneshotbeat.md#单发拍子视觉效果) | 设置单发拍子脉冲的形状和大小 | ## 紫色版块(动作) From 594ffce2f183bdcb7f64a8b31a03700d88e38ebf Mon Sep 17 00:00:00 2001 From: 0x4D2 <1706119930@qq.com> Date: Thu, 4 Dec 2025 23:21:41 +0800 Subject: [PATCH 12/56] =?UTF-8?q?=E6=B0=94=E7=90=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 0x4D2 <1706119930@qq.com> --- pages/appendix_vfxs.md | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/appendix_vfxs.md b/pages/appendix_vfxs.md index 915b393..48c8b7e 100644 --- a/pages/appendix_vfxs.md +++ b/pages/appendix_vfxs.md @@ -54,6 +54,7 @@ | 雪花 | 屏幕上方开始落下快速的雪花,短时间内充满屏幕,可以和前景背景叠加起来显示 | | 暴风雪 | 屏幕上方开始落下暴风雪,可以和前景背景叠加起来显示 | | 钻石 | 屏幕上出现很多方块 | +| 气球 | 屏幕下方飘出很多气球 | | 教程音符 | 屏幕铺满剧情模式教程中的音符背景,可以自定义颜色等 | | | | | **轨道类** | | From 3a4ae62e662254bece78eae6bb6ba669dc661a8a Mon Sep 17 00:00:00 2001 From: kuanpan Date: Sat, 17 Jan 2026 09:46:28 +0800 Subject: [PATCH 13/56] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=B3=20images?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- images/hold.jpg | Bin 0 -> 20157 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/hold.jpg diff --git a/images/hold.jpg b/images/hold.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1e72f03e274126766edcd6aeac15b66ed214004e GIT binary patch literal 20157 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 literal 0 HcmV?d00001 From 922b5e13348384e7f49c322be666daf13b0a45ef Mon Sep 17 00:00:00 2001 From: kuanpan Date: Sat, 17 Jan 2026 10:29:45 +0800 Subject: [PATCH 14/56] =?UTF-8?q?=E5=88=A0=E9=99=A4=20images/hold.jpg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- images/hold.jpg | Bin 20157 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/hold.jpg diff --git a/images/hold.jpg b/images/hold.jpg deleted file mode 100644 index 1e72f03e274126766edcd6aeac15b66ed214004e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20157 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 From 6a2da287d8b6d64b09bfb83cbd36276f526cee16 Mon Sep 17 00:00:00 2001 From: kuanpan Date: Sat, 17 Jan 2026 10:31:20 +0800 Subject: [PATCH 15/56] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=B3=20images?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- images/moreoneshothold.png | Bin 0 -> 14579 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/moreoneshothold.png diff --git a/images/moreoneshothold.png b/images/moreoneshothold.png new file mode 100644 index 0000000000000000000000000000000000000000..a933422d76a692e02dcd4c1b953bd5fd3031fd44 GIT binary patch literal 14579 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 Date: Fri, 12 Dec 2025 15:23:35 +0800 Subject: [PATCH 16/56] =?UTF-8?q?=E5=8F=96=E6=B6=88=E7=BE=A4=E5=8F=B7?= =?UTF-8?q?=E7=9A=84=E7=BC=A9=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/intro.md b/pages/intro.md index 9d80e03..3029cae 100644 --- a/pages/intro.md +++ b/pages/intro.md @@ -14,7 +14,7 @@ ## 联系我们
-我们的 QQ 1044116596

我们的 QQ 群号是: 1044116596

+我们的 QQ 1044116596

我们的 QQ 群号是: 1044116596

如果你有做谱相关的问题,或是对本教程有什么意见和建议,可以点击链接加入 QQ 群 [1044116596](https://qm.qq.com/q/giuo0RDv4Q) 告知我们。你也可以在群里上传谱面给我们试玩,群友们都会热心为你提供谱面优化建议。真诚欢迎各位做谱萌新和大佬的加入。 From b5b68b0c25a2135e40f33e92d9a3bbee79b01cb7 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Fri, 12 Dec 2025 15:24:30 +0800 Subject: [PATCH 17/56] =?UTF-8?q?=E3=80=90=E5=AE=9E=E9=AA=8C=E3=80=91?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=B9=20rdview2=20=E7=9A=84=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 212 ++++--- rdviewAssets/assets.json | 253 ++++++++ rdviewAssets/assets.png | Bin 0 -> 7459 bytes script/Extensions.js | 1176 ++++++++++++++++++++++++++++++++++++++ script/rdview2.js | 84 +++ 5 files changed, 1644 insertions(+), 81 deletions(-) create mode 100644 rdviewAssets/assets.json create mode 100644 rdviewAssets/assets.png create mode 100644 script/Extensions.js create mode 100644 script/rdview2.js diff --git a/index.html b/index.html index d6f1472..dfbf132 100644 --- a/index.html +++ b/index.html @@ -1,29 +1,31 @@ + + + 节奏医生编辑器教程 + + + + + + + + + + + + - - - 节奏医生编辑器教程 - - - - - - - - - - - - - - -
加载中...
- - + - - - - - - - - - - - - \ No newline at end of file + loadRDView(); + const originalCodeRenderer = $docsify.markdown + ?.renderer?.code; + $docsify = { + ...$docsify, + ...{ + markdown: { + renderer: { + code: function (code, lang) { + if ( + lang.trim().startsWith( + "rdview2", + ) + ) { + const langParts = lang + .trim().split(" "); + const width = + parseInt( + langParts[1], + ) || 8; + const height = + parseInt( + langParts[2], + ) || 4; + const scale = + (parseFloat( + langParts[3], + ) || 1) * 2; + return `
`; + } else if ( + lang.trim().startsWith( + "rdview", + ) + ) { + return RDViewRender( + lang, + code, + ); + } + return originalCodeRenderer + ? originalCodeRenderer( + code, + lang, + ) + : `
${
+                                        escapeHtml(code)
+                                    }
`; + }, + image: function (src, title, alt) { + return `
${alt}${ + alt ? `

${alt}

` : "" + }
`; + }, + }, + }, + switchLightDarkMode: { + useSwitchMode: true, + top: 130, + right: 26, + svgColor: "#7d7b75", + }, + search: { + noData: { + "/": "没有找到结果!", + }, + paths: "auto", + placeholder: { + "/": "搜索", + }, + hideOtherSidebarContent: true, + }, + }, + }; + + + + + + + + + + + + + + diff --git a/rdviewAssets/assets.json b/rdviewAssets/assets.json new file mode 100644 index 0000000..0bad0ca --- /dev/null +++ b/rdviewAssets/assets.json @@ -0,0 +1,253 @@ +{ "frames": [ + { + "filename": "0.ase", + "frame": { "x": 0, "y": 0, "w": 327, "h": 160 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 327, "h": 160 }, + "sourceSize": { "w": 327, "h": 160 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.16-beta3-x64", + "image": "assets.png", + "format": "RGBA8888", + "size": { "w": 327, "h": 160 }, + "scale": "1", + "slices": [ + { "name": "event_SpinningRows", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 246, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_SetMainWindow", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 246, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_RenameWindow", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 246, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_DesktopColor_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 249, "y": 20, "w": 8, "h": 5 }, "pivot": {"x": -3, "y": -6 } }] }, + { "name": "event_DesktopColor", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 232, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_HideWindow", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 232, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderWindows_3", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 162, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderWindows_2", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 162, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderWindows_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 162, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderWindows_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 162, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderWindows", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 162, "y": 42, "w": 14, "h": 56 } }] }, + { "name": "event_ReorderRooms_3", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 148, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderRooms_2", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 148, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderRooms_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 148, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderRooms_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 148, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_CustomFlash_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 190, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_MacroEvent", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 78, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_ForwardEvent", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 64, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_ForwardDecorationEvent", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 106, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_ForwardRowEvent", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 92, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_SetWindowContent", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 78, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_WindowResize", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 64, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_Tile", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 120, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_Blend", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderSprite", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 106, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_ShakeScreenCustom", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 232, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderRow", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 92, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_NarrateRowInfo", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 176, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_ReadNarration", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 190, "y": 0, "w": 14, "h": 14 } }] }, + { "name": "tab_icon_sounds", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 35, "y": 0, "w": 15, "h": 13 } }] }, + { "name": "tab_color_sounds", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 22, "y": 39, "w": 2, "h": 13 } }] }, + { "name": "content_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 80, "y": 106, "w": 5, "h": 5 }, "center": {"x": 2, "y": 2, "w": 1, "h": 1 } }] }, + { "name": "tab_icon_rows", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 0, "y": 13, "w": 15, "h": 13 } }] }, + { "name": "tab_icon_actions", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 0, "y": 26, "w": 15, "h": 13 } }] }, + { "name": "tab_icon_rooms", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 0, "y": 39, "w": 15, "h": 13 } }] }, + { "name": "tab_icon_decorations", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 0, "y": 52, "w": 15, "h": 13 } }] }, + { "name": "tab_icon_windows", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 0, "y": 65, "w": 15, "h": 13 } }] }, + { "name": "tab_color_rows", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 24, "y": 39, "w": 2, "h": 13 } }] }, + { "name": "tab_color_actions", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 26, "y": 39, "w": 2, "h": 13 } }] }, + { "name": "tab_color_rooms", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 28, "y": 39, "w": 2, "h": 13 } }] }, + { "name": "tab_color_decorations", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 30, "y": 39, "w": 2, "h": 13 } }] }, + { "name": "tab_color_windows", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 32, "y": 39, "w": 2, "h": 13 } }] }, + { "name": "tab_color_unknown", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 34, "y": 39, "w": 2, "h": 13 } }] }, + { "name": "tab_icon_unknown", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 0, "y": 78, "w": 15, "h": 13 } }] }, + { "name": "content_2", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 85, "y": 105, "w": 7, "h": 7 }, "center": {"x": 3, "y": 3, "w": 1, "h": 1 } }] }, + { "name": "event_Comment", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_ReorderRooms", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 148, "y": 42, "w": 14, "h": 56 } }] }, + { "name": "event_SetCrotchetsPerBar", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 78, "y": 0, "w": 14, "h": 14 } }] }, + { "name": "event_PlaySong", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 0, "w": 28, "h": 14 } }] }, + { "name": "event_PlaySound", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 190, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_SetBeatsPerMinute", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 218, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_SetClapSounds", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 176, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_SetHeartExplodeVolume", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 134, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_SetHeartExplodeInterval", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 134, "y": 0, "w": 14, "h": 14 } }] }, + { "name": "event_SetGameSound", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 148, "y": 0, "w": 14, "h": 14 } }] }, + { "name": "event_SetBeatSound", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 162, "y": 0, "w": 14, "h": 14 } }] }, + { "name": "event_SetCountingSound", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 176, "y": 0, "w": 14, "h": 14 } }] }, + { "name": "event_SetOneshotWave", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 78, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_AddFreeTimeBeat", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 225, "y": 0, "w": 7, "h": 14 } }] }, + { "name": "event_PulseFreeTimeBeat", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 232, "y": 0, "w": 7, "h": 12 } }] }, + { "name": "event_SetTheme", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_SetVFXPreset", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 190, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_SetForeground", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 134, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_SetBackgroundColor", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 134, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_SetSpeed", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 204, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_Flash", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 190, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_CustomFlash", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 204, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_NewWindowDance", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_MoveCamera", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 176, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_PulseCamera", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 120, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_TextExplosion", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 134, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_ShowDialogue", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 148, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_ShowStatusSign", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 162, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_AdvanceText", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 218, "y": 0, "w": 7, "h": 14 } }] }, + { "name": "event_TintRows", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 92, "y": 0, "w": 14, "h": 14 } }] }, + { "name": "event_Tint", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 106, "y": 0, "w": 14, "h": 14 } }] }, + { "name": "event_TagAction", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 162, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_Stutter", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 78, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_ShowHands", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 78, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_ShakeScreen", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 204, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_SetVisible", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 106, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_SetRoomPerspective", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 64, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_SetRoomContentMode", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 120, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_SetPlayStyle", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 148, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_SetHandOwner", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 134, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_PaintHands", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 120, "y": 1, "w": 14, "h": 14 } }] }, + { "name": "event_PlayExpression", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 106, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_MoveRoom", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_MaskRoom", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 78, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_MoveRow", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 204, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_InvertColors", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 218, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_HideRow", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 92, "y": 42, "w": 14, "h": 14 } }] }, + { "name": "event_FlipScreen_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 218, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_FinishLevel", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 190, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_ChangePlayersRows", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 176, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_BassDrop", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 190, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_CallCustomMethod", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 176, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_PlayAnimation", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 92, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_Move", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 176, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_FadeRoom", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 64, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_Unknown", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 64, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "themes", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 15, "y": 39, "w": 7, "h": 13 } }] }, + { "name": "event_beat_pulse", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 98, "w": 3, "h": 14 }, "pivot": {"x": 1, "y": 0 } }] }, + { "name": "event_beat_hit", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 53, "y": 98, "w": 5, "h": 14 }, "pivot": {"x": 2, "y": 0 } }] }, + { "name": "event_beat_x", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 84, "y": 98, "w": 9, "h": 7 } }] }, + { "name": "char_0021", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 54, "y": 112, "w": 2, "h": 8 } }] }, + { "name": "char_0022", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 56, "y": 112, "w": 4, "h": 8 } }] }, + { "name": "char_0023", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 60, "y": 112, "w": 6, "h": 8 } }] }, + { "name": "char_0024", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 66, "y": 112, "w": 5, "h": 8 } }] }, + { "name": "char_0025", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 71, "y": 112, "w": 6, "h": 8 } }] }, + { "name": "char_0026", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 77, "y": 112, "w": 6, "h": 8 } }] }, + { "name": "char_0027", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 83, "y": 112, "w": 2, "h": 8 } }] }, + { "name": "char_0028", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 85, "y": 112, "w": 3, "h": 8 } }] }, + { "name": "char_0029", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 88, "y": 112, "w": 3, "h": 8 } }] }, + { "name": "char_002a", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 91, "y": 112, "w": 4, "h": 8 } }] }, + { "name": "char_002b", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 95, "y": 112, "w": 4, "h": 8 } }] }, + { "name": "char_002c", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 99, "y": 112, "w": 3, "h": 8 } }] }, + { "name": "char_002d", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 102, "y": 112, "w": 4, "h": 8 } }] }, + { "name": "char_002e", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 106, "y": 112, "w": 2, "h": 8 } }] }, + { "name": "char_002f", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 108, "y": 112, "w": 6, "h": 8 } }] }, + { "name": "char_0030", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_0031", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 55, "y": 120, "w": 3, "h": 8 } }] }, + { "name": "char_0032", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 58, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_0033", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 63, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_0034", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 68, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_0035", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 73, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_0036", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 78, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_0037", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 83, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_0038", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 88, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_0039", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 93, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_003a", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 98, "y": 120, "w": 2, "h": 8 } }] }, + { "name": "char_003b", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 100, "y": 120, "w": 2, "h": 8 } }] }, + { "name": "char_003c", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 102, "y": 120, "w": 4, "h": 8 } }] }, + { "name": "char_003d", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 106, "y": 120, "w": 4, "h": 8 } }] }, + { "name": "char_003e", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 110, "y": 120, "w": 4, "h": 8 } }] }, + { "name": "char_003f", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 114, "y": 120, "w": 5, "h": 8 } }] }, + { "name": "char_0040", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 128, "w": 6, "h": 8 } }] }, + { "name": "char_0041", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 56, "y": 128, "w": 5, "h": 8 } }] }, + { "name": "char_0042", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 61, "y": 128, "w": 5, "h": 8 } }] }, + { "name": "char_0043", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 66, "y": 128, "w": 4, "h": 8 } }] }, + { "name": "char_0044", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 70, "y": 128, "w": 5, "h": 8 } }] }, + { "name": "char_0045", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 75, "y": 128, "w": 4, "h": 8 } }] }, + { "name": "char_0046", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 79, "y": 128, "w": 4, "h": 8 } }] }, + { "name": "char_0047", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 83, "y": 128, "w": 5, "h": 8 } }] }, + { "name": "char_0048", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 88, "y": 128, "w": 5, "h": 8 } }] }, + { "name": "char_0049", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 93, "y": 128, "w": 4, "h": 8 } }] }, + { "name": "char_004a", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 97, "y": 128, "w": 5, "h": 8 } }] }, + { "name": "char_004b", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 102, "y": 128, "w": 5, "h": 8 } }] }, + { "name": "char_004c", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 107, "y": 128, "w": 4, "h": 8 } }] }, + { "name": "char_004d", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 111, "y": 128, "w": 6, "h": 8 } }] }, + { "name": "char_004e", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 117, "y": 128, "w": 5, "h": 8 } }] }, + { "name": "char_004f", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 122, "y": 128, "w": 5, "h": 8 } }] }, + { "name": "char_0050", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 136, "w": 5, "h": 8 } }] }, + { "name": "char_0051", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 55, "y": 136, "w": 5, "h": 8 } }] }, + { "name": "char_0052", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 60, "y": 136, "w": 5, "h": 8 } }] }, + { "name": "char_0053", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 65, "y": 136, "w": 5, "h": 8 } }] }, + { "name": "char_0054", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 70, "y": 136, "w": 4, "h": 8 } }] }, + { "name": "char_0055", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 74, "y": 136, "w": 5, "h": 8 } }] }, + { "name": "char_0056", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 79, "y": 136, "w": 5, "h": 8 } }] }, + { "name": "char_0057", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 84, "y": 136, "w": 6, "h": 8 } }] }, + { "name": "char_0058", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 90, "y": 136, "w": 5, "h": 8 } }] }, + { "name": "char_0059", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 95, "y": 136, "w": 5, "h": 8 } }] }, + { "name": "char_005a", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 100, "y": 136, "w": 4, "h": 8 } }] }, + { "name": "char_005b", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 104, "y": 136, "w": 3, "h": 8 } }] }, + { "name": "char_005c", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 107, "y": 136, "w": 6, "h": 8 } }] }, + { "name": "char_005d", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 113, "y": 136, "w": 3, "h": 8 } }] }, + { "name": "char_005e", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 116, "y": 136, "w": 4, "h": 8 } }] }, + { "name": "char_005f", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 120, "y": 136, "w": 5, "h": 8 } }] }, + { "name": "char_0060", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 144, "w": 3, "h": 8 } }] }, + { "name": "char_0061", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 53, "y": 144, "w": 5, "h": 8 } }] }, + { "name": "char_0062", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 58, "y": 144, "w": 5, "h": 8 } }] }, + { "name": "char_0063", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 63, "y": 144, "w": 4, "h": 8 } }] }, + { "name": "char_0064", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 67, "y": 144, "w": 5, "h": 8 } }] }, + { "name": "char_0065", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 72, "y": 144, "w": 5, "h": 8 } }] }, + { "name": "char_0066", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 77, "y": 144, "w": 4, "h": 8 } }] }, + { "name": "char_0067", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 81, "y": 144, "w": 5, "h": 8 } }] }, + { "name": "char_0068", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 86, "y": 144, "w": 5, "h": 8 } }] }, + { "name": "char_0069", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 91, "y": 144, "w": 2, "h": 8 } }] }, + { "name": "char_006a", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 93, "y": 144, "w": 3, "h": 8 } }] }, + { "name": "char_006b", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 96, "y": 144, "w": 5, "h": 8 } }] }, + { "name": "char_006c", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 101, "y": 144, "w": 2, "h": 8 } }] }, + { "name": "char_006d", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 103, "y": 144, "w": 6, "h": 8 } }] }, + { "name": "char_006e", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 109, "y": 144, "w": 5, "h": 8 } }] }, + { "name": "char_006f", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 114, "y": 144, "w": 5, "h": 8 } }] }, + { "name": "char_0070", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 152, "w": 5, "h": 8 } }] }, + { "name": "char_0071", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 55, "y": 152, "w": 5, "h": 8 } }] }, + { "name": "char_0072", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 60, "y": 152, "w": 4, "h": 8 } }] }, + { "name": "char_0073", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 64, "y": 152, "w": 5, "h": 8 } }] }, + { "name": "char_0074", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 69, "y": 152, "w": 4, "h": 8 } }] }, + { "name": "char_0075", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 73, "y": 152, "w": 5, "h": 8 } }] }, + { "name": "char_0076", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 78, "y": 152, "w": 5, "h": 8 } }] }, + { "name": "char_0077", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 83, "y": 152, "w": 6, "h": 8 } }] }, + { "name": "char_0078", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 89, "y": 152, "w": 4, "h": 8 } }] }, + { "name": "char_0079", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 93, "y": 152, "w": 5, "h": 8 } }] }, + { "name": "char_007a", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 98, "y": 152, "w": 5, "h": 8 } }] }, + { "name": "char_007b", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 103, "y": 152, "w": 4, "h": 8 } }] }, + { "name": "char_007c", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 107, "y": 152, "w": 2, "h": 8 } }] }, + { "name": "char_007d", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 109, "y": 152, "w": 4, "h": 8 } }] }, + { "name": "char_007e", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 113, "y": 152, "w": 5, "h": 8 } }] }, + { "name": "char_0020", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 112, "w": 4, "h": 8 } }] }, + { "name": "event_tag", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 239, "y": 0, "w": 6, "h": 6 } }] }, + { "name": "event_tag_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 239, "y": 6, "w": 6, "h": 6 } }] }, + { "name": "event_beat_loop", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 75, "y": 98, "w": 9, "h": 8 }, "pivot": {"x": 5, "y": 4 } }] }, + { "name": "event_beat_cross", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 92, "y": 108, "w": 3, "h": 3 }, "pivot": {"x": 1, "y": -6 } }] }, + { "name": "event_beat_hit_burn", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 63, "y": 98, "w": 7, "h": 14 }, "pivot": {"x": 3, "y": 0 } }] }, + { "name": "event_beat_synco", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 93, "y": 98, "w": 9, "h": 7 } }] }, + { "name": "event_beat_hit_freeze", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 58, "y": 98, "w": 5, "h": 14 }, "pivot": {"x": 2, "y": 0 } }] }, + { "name": "event_beat_skip", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 70, "y": 98, "w": 5, "h": 14 } }] }, + { "name": "event_beat_area", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 95, "y": 105, "w": 3, "h": 4 }, "center": {"x": 0, "y": 1, "w": 2, "h": 2 } }] }, + { "name": "event_beat_line", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 102, "y": 98, "w": 9, "h": 7 } }] }, + { "name": "event_CustomFlash_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 204, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_FlipScreen_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 232, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_FlipScreen", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 218, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_FlipScreen_2", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 232, "y": 70, "w": 14, "h": 14 } }] }, + { "name": "event_FloatingText_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 204, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_FloatingText_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 218, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_PaintHands_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 120, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_PaintHands_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 120, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_SetBackgroundColor_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 134, "y": 56, "w": 14, "h": 14 } }] }, + { "name": "event_SetBackgroundColor_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 137, "y": 60, "w": 8, "h": 6 }, "pivot": {"x": -3, "y": -4 } }] }, + { "name": "event_SetForeground_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 137, "y": 74, "w": 7, "h": 5 }, "pivot": {"x": -3, "y": -4 } }] }, + { "name": "event_Tint_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 106, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_Tint_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 106, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_TintRows_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 92, "y": 14, "w": 14, "h": 14 } }] }, + { "name": "event_TintRows_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 92, "y": 28, "w": 14, "h": 14 } }] }, + { "name": "event_ShowRooms_1", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 162, "y": 98, "w": 28, "h": 28 } }] }, + { "name": "event_ShowRooms_0", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 134, "y": 98, "w": 28, "h": 28 } }] }, + { "name": "event_ChangeCharacter", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 120, "y": 84, "w": 14, "h": 14 } }] }, + { "name": "event_SetRowXs", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 50, "y": 14, "w": 28, "h": 14 } }] }, + { "name": "event_outline", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 75, "y": 106, "w": 5, "h": 5 }, "center": {"x": 2, "y": 2, "w": 1, "h": 1 } }] }, + { "name": "event_back", "color": "#0000ffff", "keys": [{ "frame": 0, "bounds": {"x": 92, "y": 105, "w": 3, "h": 3 }, "center": {"x": 1, "y": 1, "w": 1, "h": 1 } }] } + ] + } +} diff --git a/rdviewAssets/assets.png b/rdviewAssets/assets.png new file mode 100644 index 0000000000000000000000000000000000000000..028437289ecd91c8cf7f7f3d6d22d8d1858cb389 GIT binary patch literal 7459 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 e3T3o6v}%bdywNuO;kUn@01Xvg= this.left && point.x <= this.right && point.y >= this.top && point.y <= this.bottom; + } +}; +var Color = class _Color { + red; + green; + blue; + alpha; + constructor(r, g, b, a) { + if (typeof r === "string") { + if (r.startsWith("#")) { + r = r.substring(1); + } + r = r.trim(); + switch (r.length) { + case 3: + r = r.split("").map((c) => c + c).join(""); + break; + case 4: + r = "ff" + r.split("").map((c) => c + c).join(""); + break; + case 6: + r = "ff" + r; + break; + case 8: + break; + default: + r = "ffffffff"; + } + const u = parseInt(r, 16); + this.alpha = u >> 24 & 255; + this.red = u >> 16 & 255; + this.green = u >> 8 & 255; + this.blue = u & 255; + return; + } + if (r !== void 0 && g === void 0 && b === void 0 && a === void 0) { + this.alpha = r >> 24 & 255; + this.red = r >> 16 & 255; + this.green = r >> 8 & 255; + this.blue = r & 255; + return; + } + if (r !== void 0 && g !== void 0 && b !== void 0 && a === void 0) { + this.red = r; + this.green = g; + this.blue = b; + this.alpha = 255; + return; + } + this.red = r ?? 0; + this.green = g ?? 0; + this.blue = b ?? 0; + this.alpha = a ?? 0; + } + toUint32() { + return ((this.alpha & 255) << 24 | (this.red & 255) << 16 | (this.green & 255) << 8 | this.blue & 255) >>> 0; + } + clone() { + return new _Color(this.red, this.green, this.blue, this.alpha); + } +}; +var Paint = class { + color = new Color(255, 255, 255, 255); +}; +var SliceInfo = class { + bounds = new Rect(); + center = new Rect(); + pivot = new Point(); + scale = 1; + get isNinePatch() { + return !this.center.isEmpty; + } +}; +var AssetManager = class _AssetManager { + static AssetFilePath = "assets.png"; + static SlicesFilePath = "assets.json"; + static DirectoryPath = "."; + static assetFile = null; + static slices = /* @__PURE__ */ new Map(); + static _isLoaded = false; + constructor(dirpath) { + _AssetManager.DirectoryPath = dirpath; + _AssetManager.initialize(); + } + static get isLoaded() { + return this._isLoaded; + } + static async loadAssetFile() { + const pngPath = _AssetManager.DirectoryPath + "/" + this.AssetFilePath; + return await new Promise((resolve, reject) => { + const img = new Image(); + img.onload = () => resolve(img); + img.onerror = (e) => reject(new Error(`Failed to load asset file: ${pngPath}`)); + img.src = pngPath; + }); + } + static async loadSlices() { + if (this._isLoaded) { + return /* @__PURE__ */ new Map(); + } + const jsonPath = _AssetManager.DirectoryPath + "/" + this.SlicesFilePath; + const response = await fetch(jsonPath); + const json = await response.json(); + const slices = json["meta"]["slices"]; + const sliceInfos = /* @__PURE__ */ new Map(); + for (const slice of slices) { + const name = slice["name"]; + const keys = slice["keys"]; + const sliceInfo = new SliceInfo(); + for (const key of keys) { + const bounds = key["bounds"]; + sliceInfo.bounds.left = bounds["x"]; + sliceInfo.bounds.top = bounds["y"]; + sliceInfo.bounds.right = bounds["x"] + bounds["w"]; + sliceInfo.bounds.bottom = bounds["y"] + bounds["h"]; + const center = key["center"]; + if (center) { + sliceInfo.center.left = center["x"]; + sliceInfo.center.top = center["y"]; + sliceInfo.center.right = center["x"] + center["w"]; + sliceInfo.center.bottom = center["y"] + center["h"]; + } + const pivot = key["pivot"]; + if (pivot) { + sliceInfo.pivot.x = pivot["x"]; + sliceInfo.pivot.y = pivot["y"]; + } + const data = key["data"]; + if (data) { + } + sliceInfos.set(name, sliceInfo); + } + } + return sliceInfos; + } + static async initialize() { + if (this._isLoaded) { + return; + } + this.assetFile = await this.loadAssetFile(); + this.slices = await this.loadSlices(); + this._isLoaded = true; + } +}; + +// RhythmBase.View/Assets/Consts.ts +var Tab = /* @__PURE__ */ function(Tab2) { + Tab2["Sounds"] = "sounds"; + Tab2["Rows"] = "rows"; + Tab2["Actions"] = "actions"; + Tab2["Decorations"] = "decorations"; + Tab2["Rooms"] = "rooms"; + Tab2["Windows"] = "windows"; + Tab2["Unknown"] = "unknown"; + return Tab2; +}({}); +var EventType = /* @__PURE__ */ function(EventType2) { + EventType2["AddClassicBeat"] = "AddClassicBeat"; + EventType2["AddFreeTimeBeat"] = "AddFreeTimeBeat"; + EventType2["AddOneshotBeat"] = "AddOneshotBeat"; + EventType2["AdvanceText"] = "AdvanceText"; + EventType2["BassDrop"] = "BassDrop"; + EventType2["Blend"] = "Blend"; + EventType2["CallCustomMethod"] = "CallCustomMethod"; + EventType2["ChangeCharacter"] = "ChangeCharacter"; + EventType2["ChangePlayersRows"] = "ChangePlayersRows"; + EventType2["Comment"] = "Comment"; + EventType2["CustomFlash"] = "CustomFlash"; + EventType2["DesktopColor"] = "DesktopColor"; + EventType2["FadeRoom"] = "FadeRoom"; + EventType2["FinishLevel"] = "FinishLevel"; + EventType2["Flash"] = "Flash"; + EventType2["FlipScreen"] = "FlipScreen"; + EventType2["FloatingText"] = "FloatingText"; + EventType2["ForwardDecorationEvent"] = "ForwardDecorationEvent"; + EventType2["ForwardEvent"] = "ForwardEvent"; + EventType2["ForwardRowEvent"] = "ForwardRowEvent"; + EventType2["HideRow"] = "HideRow"; + EventType2["HideWindow"] = "HideWindow"; + EventType2["InvertColors"] = "InvertColors"; + EventType2["MacroEvent"] = "MacroEvent"; + EventType2["MaskRoom"] = "MaskRoom"; + EventType2["Move"] = "Move"; + EventType2["MoveCamera"] = "MoveCamera"; + EventType2["MoveRoom"] = "MoveRoom"; + EventType2["MoveRow"] = "MoveRow"; + EventType2["NarrateRowInfo"] = "NarrateRowInfo"; + EventType2["NewWindowDance"] = "NewWindowDance"; + EventType2["PaintHands"] = "PaintHands"; + EventType2["PlayAnimation"] = "PlayAnimation"; + EventType2["PlayExpression"] = "PlayExpression"; + EventType2["PlaySong"] = "PlaySong"; + EventType2["PlaySound"] = "PlaySound"; + EventType2["PulseCamera"] = "PulseCamera"; + EventType2["PulseFreeTimeBeat"] = "PulseFreeTimeBeat"; + EventType2["ReadNarration"] = "ReadNarration"; + EventType2["RenameWindow"] = "RenameWindow"; + EventType2["ReorderRooms"] = "ReorderRooms"; + EventType2["ReorderRow"] = "ReorderRow"; + EventType2["ReorderSprite"] = "ReorderSprite"; + EventType2["ReorderWindows"] = "ReorderWindows"; + EventType2["SayReadyGetSetGo"] = "SayReadyGetSetGo"; + EventType2["SetBackgroundColor"] = "SetBackgroundColor"; + EventType2["SetBeatSound"] = "SetBeatSound"; + EventType2["SetBeatsPerMinute"] = "SetBeatsPerMinute"; + EventType2["SetClapSounds"] = "SetClapSounds"; + EventType2["SetCountingSound"] = "SetCountingSound"; + EventType2["SetCrotchetsPerBar"] = "SetCrotchetsPerBar"; + EventType2["SetForeground"] = "SetForeground"; + EventType2["SetGameSound"] = "SetGameSound"; + EventType2["SetHandOwner"] = "SetHandOwner"; + EventType2["SetHeartExplodeInterval"] = "SetHeartExplodeInterval"; + EventType2["SetHeartExplodeVolume"] = "SetHeartExplodeVolume"; + EventType2["SetMainWindow"] = "SetMainWindow"; + EventType2["SetOneshotWave"] = "SetOneshotWave"; + EventType2["SetPlayStyle"] = "SetPlayStyle"; + EventType2["SetRoomContentMode"] = "SetRoomContentMode"; + EventType2["SetRoomPerspective"] = "SetRoomPerspective"; + EventType2["SetRowXs"] = "SetRowXs"; + EventType2["SetSpeed"] = "SetSpeed"; + EventType2["SetTheme"] = "SetTheme"; + EventType2["SetVFXPreset"] = "SetVFXPreset"; + EventType2["SetVisible"] = "SetVisible"; + EventType2["SetWindowContent"] = "SetWindowContent"; + EventType2["ShakeScreen"] = "ShakeScreen"; + EventType2["ShakeScreenCustom"] = "ShakeScreenCustom"; + EventType2["ShowDialogue"] = "ShowDialogue"; + EventType2["ShowHands"] = "ShowHands"; + EventType2["ShowRooms"] = "ShowRooms"; + EventType2["ShowStatusSign"] = "ShowStatusSign"; + EventType2["ShowSubdivisionsRows"] = "ShowSubdivisionsRows"; + EventType2["SpinningRows"] = "SpinningRows"; + EventType2["Stutter"] = "Stutter"; + EventType2["TagAction"] = "TagAction"; + EventType2["TextExplosion"] = "TextExplosion"; + EventType2["Tile"] = "Tile"; + EventType2["Tint"] = "Tint"; + EventType2["TintRows"] = "TintRows"; + EventType2["WindowResize"] = "WindowResize"; + return EventType2; +}({}); +var EventAttriblte = /* @__PURE__ */ function(EventAttriblte2) { + EventAttriblte2[EventAttriblte2["None"] = 0] = "None"; + EventAttriblte2[EventAttriblte2["DurationEvent"] = 1] = "DurationEvent"; + EventAttriblte2[EventAttriblte2["RoomEvent"] = 2] = "RoomEvent"; + return EventAttriblte2; +}({}); +var EventInfo = class { + defaultTab; + durationKey = "duration"; + attr; + get isDurationEvent() { + return (this.attr & EventAttriblte.DurationEvent) !== 0; + } + get isRoomEvent() { + return (this.attr & EventAttriblte.RoomEvent) !== 0; + } + constructor(tab, enumAttriblte, durationKey) { + this.defaultTab = tab; + this.attr = enumAttriblte ?? EventAttriblte.None; + if (durationKey !== void 0) { + this.durationKey = durationKey; + } + } +}; +var WordInfo = class { + phrase; + length; + constructor(phrase, length) { + this.phrase = phrase; + this.length = length; + } +}; +var WordInfos = { + SayReaDyGetSetGoNew: new WordInfo("Rea, Dy, Get, Set, Go!", 4), + SayReaDyGetSetOne: new WordInfo("Rea, Dy, Get, Set, One!", 4), + SayGetSetGo: new WordInfo("Get, Set, Go!", 2), + SayGetSetOne: new WordInfo("Get, Set, One!", 2), + JustSayRea: new WordInfo("Rea", 0), + JustSayDy: new WordInfo("Dy", 0), + JustSayGet: new WordInfo("Get", 0), + JustSaySet: new WordInfo("Set", 0), + JustSayAnd: new WordInfo("And", 0), + JustSayGo: new WordInfo("Go!", 0), + JustSayStop: new WordInfo("Stop", 0), + JustSayAndStop: new WordInfo("And Stop!", 0), + SaySwitch: new WordInfo("Switch", 0), + SayWatch: new WordInfo("Watch", 0), + SayListen: new WordInfo("Listen", 0), + Count1: new WordInfo("1", 0), + Count2: new WordInfo("2", 0), + Count3: new WordInfo("3", 0), + Count4: new WordInfo("4", 0), + Count5: new WordInfo("5", 0), + Count6: new WordInfo("6", 0), + Count7: new WordInfo("7", 0), + Count8: new WordInfo("8", 0), + Count9: new WordInfo("9", 0), + Count10: new WordInfo("10", 0), + SayReadyGetSetGo: new WordInfo("Ready, Get, Set, Go!", 4), + JustSayReady: new WordInfo("Ready", 0) +}; +var EventInfos = { + AddClassicBeat: new EventInfo(Tab.Rows), + AddFreeTimeBeat: new EventInfo(Tab.Rows), + AddOneshotBeat: new EventInfo(Tab.Rows), + AdvanceText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + BassDrop: new EventInfo(Tab.Actions), + Blend: new EventInfo(Tab.Decorations), + CallCustomMethod: new EventInfo(Tab.Actions), + ChangeCharacter: new EventInfo(Tab.Actions), + ChangePlayersRows: new EventInfo(Tab.Actions), + Comment: new EventInfo(Tab.Unknown), + CustomFlash: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + DesktopColor: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent), + FadeRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + FinishLevel: new EventInfo(Tab.Actions), + Flash: new EventInfo(Tab.Actions), + FlipScreen: new EventInfo(Tab.Actions), + FloatingText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + ForwardDecorationEvent: new EventInfo(Tab.Decorations), + ForwardEvent: new EventInfo(Tab.Unknown), + ForwardRowEvent: new EventInfo(Tab.Rows), + HideRow: new EventInfo(Tab.Actions), + HideWindow: new EventInfo(Tab.Windows), + InvertColors: new EventInfo(Tab.Actions), + MacroEvent: new EventInfo(Tab.Unknown), + MaskRoom: new EventInfo(Tab.Rooms), + Move: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), + MoveCamera: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + MoveRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + MoveRow: new EventInfo(Tab.Rows, EventAttriblte.DurationEvent), + NarrateRowInfo: new EventInfo(Tab.Sounds), + NewWindowDance: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + PaintHands: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + PlayAnimation: new EventInfo(Tab.Decorations), + PlayExpression: new EventInfo(Tab.Actions), + PlaySong: new EventInfo(Tab.Sounds), + PlaySound: new EventInfo(Tab.Sounds), + PulseCamera: new EventInfo(Tab.Actions), + PulseFreeTimeBeat: new EventInfo(Tab.Rows), + ReadNarration: new EventInfo(Tab.Sounds), + RenameWindow: new EventInfo(Tab.Windows), + ReorderRooms: new EventInfo(Tab.Rooms), + ReorderRow: new EventInfo(Tab.Rows), + ReorderSprite: new EventInfo(Tab.Decorations), + ReorderWindows: new EventInfo(Tab.Windows), + SayReadyGetSetGo: new EventInfo(Tab.Sounds), + SetBackgroundColor: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetBeatSound: new EventInfo(Tab.Sounds), + SetBeatsPerMinute: new EventInfo(Tab.Sounds), + SetClapSounds: new EventInfo(Tab.Sounds), + SetCountingSound: new EventInfo(Tab.Sounds), + SetCrotchetsPerBar: new EventInfo(Tab.Sounds), + SetForeground: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetGameSound: new EventInfo(Tab.Sounds), + SetHandOwner: new EventInfo(Tab.Actions), + SetHeartExplodeInterval: new EventInfo(Tab.Sounds), + SetHeartExplodeVolume: new EventInfo(Tab.Sounds), + SetMainWindow: new EventInfo(Tab.Windows), + SetOneshotWave: new EventInfo(Tab.Rows), + SetPlayStyle: new EventInfo(Tab.Actions), + SetRoomContentMode: new EventInfo(Tab.Rooms), + SetRoomPerspective: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + SetRowXs: new EventInfo(Tab.Rows), + SetSpeed: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetTheme: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetVFXPreset: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetVisible: new EventInfo(Tab.Decorations), + SetWindowContent: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent), + ShakeScreen: new EventInfo(Tab.Actions), + ShakeScreenCustom: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + ShowDialogue: new EventInfo(Tab.Actions), + ShowHands: new EventInfo(Tab.Actions), + ShowRooms: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + ShowStatusSign: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + ShowSubdivisionsRows: new EventInfo(Tab.Actions), + SpinningRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + Stutter: new EventInfo(Tab.Actions), + TagAction: new EventInfo(Tab.Actions), + TextExplosion: new EventInfo(Tab.Actions), + Tile: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), + Tint: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), + TintRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + WindowResize: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent) +}; + +// RhythmBase.View/Extensions.ts +var PatchStyle = /* @__PURE__ */ function(PatchStyle2) { + PatchStyle2[PatchStyle2["Repeat"] = 0] = "Repeat"; + PatchStyle2[PatchStyle2["Strentch"] = 1] = "Strentch"; + return PatchStyle2; +}(PatchStyle || {}); +var IconStyle = class { + Enabled; + Active = false; + Hover = false; + Scale = 2; +}; +var Extensions = class { + static lineHeight = 6; + static charHeight = 8; + static iconSize = 14; + static evtag = "event_tag"; + static evbarea = "event_beat_area"; + static asm = new AssetManager("./rdviewAssets"); + constructor() { + AssetManager.initialize(); + } + static DrawSlice(canvas, src, dest, scale = 1, style = PatchStyle.Strentch, color) { + const ctx = canvas; + if (!ctx) return; + if (!AssetManager.slices.has(src)) { + return; + } + const info = AssetManager.slices.get(src); + if (dest instanceof Point) { + const destRect = new Rect(dest.x - info.pivot.x * scale, dest.y - info.pivot.y * scale, info.bounds.width * scale, info.bounds.height * scale); + if (color) { + if (color.alpha === 0) { + return destRect; + } + this.drawSliceWithColor(ctx, info, destRect, color); + } else { + this.drawSliceNormal(ctx, info, destRect); + } + return destRect; + } else { + if (info.isNinePatch) { + this.DrawNinePatch(canvas, info, dest, color, scale, style); + } else { + if (color) { + this.drawSliceWithColor(ctx, info, dest, color); + } else { + this.drawSliceNormal(ctx, info, dest); + } + } + } + } + static drawSliceNormal(ctx, info, destRect) { + const bitmap = AssetManager.assetFile; + if (!bitmap) return; + ctx.imageSmoothingEnabled = false; + ctx.drawImage(bitmap, info.bounds.x, info.bounds.y, info.bounds.width, info.bounds.height, destRect.x, destRect.y, destRect.width, destRect.height); + } + static drawSliceWithColor(ctx, info, destRect, color) { + const bitmap = AssetManager.assetFile; + if (!bitmap) return; + if (color.alpha === 0) { + return; + } + const tr = color.red / 255; + const tg = color.green / 255; + const tb = color.blue / 255; + const ta = color.alpha / 255; + ctx.save(); + const tempCanvas = typeof document !== "undefined" ? document.createElement("canvas") : {}; + tempCanvas.width = info.bounds.width; + tempCanvas.height = info.bounds.height; + const tempCtx = tempCanvas.getContext("2d"); + tempCtx.imageSmoothingEnabled = false; + tempCtx.drawImage(bitmap, info.bounds.x, info.bounds.y, info.bounds.width, info.bounds.height, 0, 0, info.bounds.width, info.bounds.height); + const imageData = tempCtx.getImageData(0, 0, info.bounds.width, info.bounds.height); + const data = imageData.data; + for (let i = 0; i < data.length; i += 4) { + const originalAlpha = data[i + 3]; + const gray = data[i] * 0.2126 + data[i + 1] * 0.7152 + data[i + 2] * 0.0722; + data[i] = gray * tr; + data[i + 1] = gray * tg; + data[i + 2] = gray * tb; + data[i + 3] = originalAlpha * ta; + } + tempCtx.putImageData(imageData, 0, 0); + ctx.imageSmoothingEnabled = false; + ctx.globalAlpha = 1; + ctx.drawImage(tempCanvas, 0, 0, info.bounds.width, info.bounds.height, destRect.x, destRect.y, destRect.width, destRect.height); + ctx.restore(); + } + static DrawNinePatch(canvas, info, dest, color, scale = 1, style = PatchStyle.Strentch) { + const ctx = canvas; + if (!ctx) return; + const bitmap = AssetManager.assetFile; + if (!bitmap) return; + const srcBounds = info.bounds; + const destRect = dest; + const centerBounds = info.center; + const sx0 = srcBounds.left; + const sx3 = srcBounds.right; + const sy0 = srcBounds.top; + const sy3 = srcBounds.bottom; + const sx1 = sx0 + centerBounds.left; + const sx2 = sx0 + centerBounds.right; + const sy1 = sy0 + centerBounds.top; + const sy2 = sy0 + centerBounds.bottom; + const swLeft = sx1 - sx0; + const swCenter = sx2 - sx1; + const swRight = sx3 - sx2; + const shTop = sy1 - sy0; + const shCenter = sy2 - sy1; + const shBottom = sy3 - sy2; + const dwLeft = swLeft * scale; + let dwRight = swRight * scale; + let dwCenter = destRect.width - dwLeft - dwRight; + if (dwCenter < 0) { + const scaleX = destRect.width / Math.max(1, swLeft + swRight); + dwRight = Math.max(0, destRect.width - Math.round(swLeft * scaleX)); + dwCenter = 0; + } + const dhTop = shTop * scale; + let dhBottom = shBottom * scale; + let dhCenter = destRect.height - dhTop - dhBottom; + if (dhCenter < 0) { + const scaleY = destRect.height / Math.max(1, shTop + shBottom); + dhBottom = Math.max(0, destRect.height - Math.round(shTop * scaleY)); + dhCenter = 0; + } + const srcXs = [ + sx0, + sx1, + sx2, + sx3 + ]; + const srcYs = [ + sy0, + sy1, + sy2, + sy3 + ]; + const dx0 = destRect.left; + const dx1 = dx0 + dwLeft; + const dx2 = dx1 + dwCenter; + const dx3 = destRect.right; + const dy0 = destRect.top; + const dy1 = dy0 + dhTop; + const dy2 = dy1 + dhCenter; + const dy3 = destRect.bottom; + const dstXs = [ + dx0, + dx1, + dx2, + dx3 + ]; + const dstYs = [ + dy0, + dy1, + dy2, + dy3 + ]; + for (let row = 0; row < 3; row++) { + for (let col = 0; col < 3; col++) { + const sLeft = srcXs[col]; + const sTop = srcYs[row]; + const sRight = srcXs[col + 1]; + const sBottom = srcYs[row + 1]; + const sW = sRight - sLeft; + const sH = sBottom - sTop; + if (sW <= 0 || sH <= 0) continue; + const dLeft = dstXs[col]; + const dTop = dstYs[row]; + const dRight = dstXs[col + 1]; + const dBottom = dstYs[row + 1]; + const dW = dRight - dLeft; + const dH = dBottom - dTop; + if (dW <= 0 || dH <= 0) continue; + if (style === PatchStyle.Repeat) { + for (let y = dTop; y < dBottom; y += sH * scale) { + const th = Math.min(sH, (dBottom - y) / scale); + for (let x = dLeft; x < dRight; x += sW * scale) { + const tw = Math.min(sW, (dRight - x) / scale); + var sRect = new Rect(sLeft, sTop, tw, th); + var dRect = new Rect(x, y, tw * scale, th * scale); + if (color && color.alpha > 0) { + this.drawSliceWithColor(ctx, { + bounds: sRect, + pivot: new Point(0, 0), + isNinePatch: false, + center: new Rect(), + scale: 1 + }, dRect, color); + } else { + this.drawSliceNormal(ctx, { + bounds: sRect, + pivot: new Point(0, 0), + isNinePatch: false, + center: new Rect(), + scale: 1 + }, dRect); + } + } + } + } else { + if (color && color.alpha > 0) { + this.drawSliceWithColor(ctx, { + bounds: new Rect(sLeft, sTop, sW, sH), + pivot: new Point(0, 0), + isNinePatch: false, + center: new Rect(), + scale: 1 + }, new Rect(dLeft, dTop, dW, dH), color); + } else { + ctx.imageSmoothingEnabled = false; + ctx.drawImage(bitmap, sLeft, sTop, sW, sH, dLeft, dTop, dW, dH); + } + } + } + } + } + static MeasureRDFontText(canvas, text, scale = 1) { + let len = 0; + for (let i = 0; i < text.length; i++) { + const c = text.charAt(i); + if (c === "\n") { + len = 0; + } else { + const info = AssetManager.slices.get(`char_${c.charCodeAt(0).toString(16).padStart(4, "0")}`); + if (info) { + len += info.bounds.width * scale; + } + } + } + return len; + } + static DrawRDFontText(canvas, text, dest, color, scale = 1) { + const start = dest.clone(); + const result = new Rect(); + start.y -= this.lineHeight * scale; + for (let i = 0; i < text.length; i++) { + const c = text.charAt(i); + if (c === "\n") { + start.x = dest.x; + start.y += this.lineHeight * scale; + continue; + } else { + const charcode = c.charCodeAt(0).toString(16).padStart(4, "0"); + const area = this.DrawSlice(canvas, `char_${charcode}`, start, scale, PatchStyle.Strentch, color); + result.union(area); + start.x += area.width * scale; + } + } + return result; + } + static DrawEventIcon(canvas, evt, dest, style) { + let destRect = new Rect(); + const key = `event_${evt.type}`; + const evttype = evt.type; + const info = AssetManager.slices.get(key) ?? AssetManager.slices.get("event_Unknown") ?? (() => { + throw new Error("information not found."); + }); + if (!(info instanceof SliceInfo)) { + return new Rect(); + } + const pulse = "event_beat_pulse"; + const hit = "event_beat_hit"; + const hitf = "event_beat_hit_freeze"; + const hitb = "event_beat_hit_burn"; + const beatcross = "event_beat_cross"; + const beatx = "event_beat_x"; + const beatsynco = "event_beat_synco"; + const beatline = "event_beat_line"; + const beatcolor = new Color(4284539717); + const evtInfo = EventInfos[evt.type]; + evt.tab = evt.tab ?? evtInfo.defaultTab; + switch (evt.type) { + case EventType.AddClassicBeat: + { + const tick = evt.tick ?? 1; + const swing = evt.swing === 0 ? 1 : evt.swing; + const hold = evt.hold ?? 0; + const syncoswing = evt.syncoSwing ?? 0; + const syncobeat = evt.syncoBeat ?? -1; + const classicbeatlength = evt.length ?? 7; + destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale * (tick * (classicbeatlength - 1 - (syncoswing ?? 0))), this.iconSize * style.Scale); + if (hold > 0) { + this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, this.iconSize * style.Scale * hold, this.iconSize * style.Scale), style.Scale, PatchStyle.Repeat, new Color(style.Active ? 4291839731 : 4286462352)); + } + this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); + if (style.Hover) { + for (let i = 0; i < classicbeatlength - 1; i++) { + this.DrawSlice(canvas, pulse, new Point(dest.x + this.iconSize * style.Scale * (tick * (i + i % 2 * (1 - (swing ?? 1)) - (i <= (syncobeat ?? -1) ? 0 : syncoswing ?? 0))), dest.y), style.Scale); + } + } + this.DrawSlice(canvas, hit, new Point(dest.x + style.Scale * (this.iconSize * (tick * (classicbeatlength - 1 - (syncoswing ?? 0))) - 1), dest.y), style.Scale); + } + break; + case EventType.AddFreeTimeBeat: + { + const hold = (evt.hold ?? 0) - info.bounds.width / this.iconSize; + destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(beatcolor.clone(), style.Active, style.Enabled ?? evt.active ?? true), style); + this.DrawRDFontText(canvas, ((evt.pulse ?? 0) + 1).toString(), new Point(dest.x + 1.5 * style.Scale, dest.y + 10 * style.Scale), new Color(4294967295), style.Scale); + if ((evt.pulse ?? 0) == 6) { + this.DrawSlice(canvas, hit, new Point(dest.x, dest.y), style.Scale); + } + if (hold > 0) { + this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, this.iconSize * style.Scale * hold, info.bounds.height * style.Scale), style.Scale, PatchStyle.Repeat, new Color(style.Active ? 4284539717 : 4281299234)); + } + } + break; + case EventType.AddOneshotBeat: + { + const tick = evt.tick ?? 1; + const interval = evt.interval ?? 1; + const loop = Math.floor(evt.loops ?? 0); + const subdiv = evt.subdivisions ?? 1; + const freezeBurnMode = evt.freezeBurnMode ?? "Wave"; + const delay = freezeBurnMode === "Freezeshot" ? evt.delay ?? 0 : 0; + destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale * (loop * interval + tick + delay), this.iconSize * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); + const subdivwidth = this.iconSize * style.Scale * (subdiv - 1) / subdiv * tick; + if (subdiv > 1) { + this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, subdivwidth, info.bounds.height * style.Scale), style.Scale, PatchStyle.Repeat, new Color(4279480353)); + } + if (evt.skipshot ?? false) { + this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width + subdivwidth, dest.y, style.Scale * this.iconSize * interval - subdivwidth, info.bounds.height * style.Scale), style.Scale, PatchStyle.Repeat, new Color(4291115835)); + } + if (style.Hover) { + for (let l = 0; l <= loop; l++) { + for (let i = 0; i < subdiv; i++) { + this.DrawSlice(canvas, pulse, new Point(dest.x + this.iconSize * style.Scale * (l * interval + i * tick / subdiv), dest.y), style.Scale); + } + } + } + for (let l = 0; l <= loop; l++) { + for (let i = 0; i < subdiv; i++) { + this.DrawSlice(canvas, hit, new Point(dest.x + style.Scale * (this.iconSize * (l * interval + delay + tick + i * tick / subdiv) - 1), dest.y), style.Scale); + } + } + const off = interval - tick; + if (freezeBurnMode !== "Wave") { + let posx = dest.x - off * style.Scale * this.iconSize; + this.DrawSlice(canvas, beatcross, new Point(posx, dest.y), style.Scale); + switch (freezeBurnMode) { + case "Freezeshot": + posx += delay * style.Scale * this.iconSize; + this.DrawSlice(canvas, beatcross, new Point(posx, dest.y), style.Scale); + for (let l = 0; l <= loop; l++) { + this.DrawSlice(canvas, hitf, new Point(dest.x + style.Scale * (this.iconSize * (l * interval + tick) - 1), dest.y), style.Scale); + } + break; + case "Burnshot": + posx -= tick * style.Scale * this.iconSize; + this.DrawSlice(canvas, beatcross, new Point(posx, dest.y), style.Scale); + for (let l = 0; l <= loop; l++) { + this.DrawSlice(canvas, hitb, new Point(dest.x + style.Scale * (this.iconSize * (l * interval + tick) - 1), dest.y), style.Scale); + } + break; + default: + break; + } + } + if (style.Active && style.Hover) { + this.DrawSlice(canvas, "event_beat_loop", new Point(destRect.right, destRect.top), style.Scale); + } + } + break; + case EventType.Comment: + { + const commentColor = new Color(evt.color); + console.log(evt.color, commentColor); + destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(commentColor, style.Active, style.Enabled ?? evt.active ?? true), style); + this.DrawSlice(canvas, key, dest, style.Scale); + } + break; + case EventType.DesktopColor: + { + destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * 4 * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); + const endColor = new Color(evt.endColor); + this.DrawSlice(canvas, `${key}_0`, new Point(dest.x, dest.y + info.bounds.height * style.Scale), style.Scale, PatchStyle.Strentch, endColor); + this.DrawSlice(canvas, key, new Point(dest.x, dest.y + info.bounds.height * style.Scale), style.Scale); + } + break; + case EventType.PulseFreeTimeBeat: + { + const hold = (evt.hold ?? 0) - info.bounds.width / this.iconSize; + destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(beatcolor.clone(), style.Active, style.Enabled ?? evt.active ?? true), style); + let actionText; + switch (evt.action) { + case "Increment": + actionText = ">"; + break; + case "Decrement": + actionText = "<"; + break; + case "Remove": + actionText = "x"; + break; + case "Custom": + default: + actionText = ((evt.customPulse ?? 0) + 1).toString(); + break; + } + this.DrawRDFontText(canvas, actionText, new Point(dest.x + 1.5 * style.Scale, dest.y + 8 * style.Scale), new Color(4294967295), style.Scale); + if (evt.action === "Custom" && (evt.customPulse ?? 0) === 7) { + this.DrawSlice(canvas, hit, new Rect(dest.x - 2 * style.Scale, dest.y, 5 * style.Scale, info.bounds.height * style.Scale), style.Scale, PatchStyle.Strentch); + } + if (hold > 0) { + this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, this.iconSize * style.Scale * hold, info.bounds.height * style.Scale), style.Scale, PatchStyle.Repeat, new Color(style.Active ? 4291839731 : 4286462352)); + } + } + break; + case EventType.ReorderRooms: + { + destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale, this.iconSize * 4 * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); + let currentDest = dest.clone(); + if (evt.order && Array.isArray(evt.order)) { + for (const r of evt.order) { + this.DrawSlice(canvas, `${key}_${r}`, currentDest.clone(), style.Scale); + currentDest.y += this.iconSize * style.Scale; + } + } + } + break; + case EventType.ReorderWindows: + { + destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale, this.iconSize * 4 * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); + let currentDest = dest.clone(); + if (evt.order && Array.isArray(evt.order)) { + for (const r of evt.order) { + this.DrawSlice(canvas, `${key}_${r}`, currentDest.clone(), style.Scale); + currentDest.y += this.iconSize * style.Scale; + } + } + } + break; + case EventType.SayReadyGetSetGo: + { + const wordInfo = WordInfos[evt.phraseToSay]; + const len = wordInfo.length * evt.tick + 1; + destRect = new Rect(dest.x, dest.y, len * this.iconSize * style.Scale, this.iconSize * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); + const stringToJion = wordInfo.phrase.split(" "); + let stringToDraw = [ + stringToJion[0] + ]; + let lw = this.MeasureRDFontText(canvas, stringToJion[0]); + const sw = this.MeasureRDFontText(canvas, " "); + for (let i = 1; i < stringToJion.length; i++) { + const part = stringToJion[i]; + const w = this.MeasureRDFontText(canvas, part); + if (lw + sw + w > (len * this.iconSize - 2) * style.Scale) { + lw = w; + stringToDraw.push(part); + } else { + lw += sw + w; + stringToDraw[stringToDraw.length - 1] += " " + part; + } + } + stringToDraw.splice(3); + const c = stringToDraw.length; + const top = dest.y + (this.iconSize - this.charHeight * c / 2) * style.Scale / 2; + for (let i = 0; i < c; i++) { + const line = stringToDraw[i]; + const p = new Point(dest.x + (len * this.iconSize * style.Scale - this.MeasureRDFontText(canvas, line, style.Scale / 2)) / 2, top + (i * this.charHeight + this.lineHeight) * style.Scale / 2); + this.DrawRDFontText(canvas, line, p, new Color(4294967295), style.Scale / 2); + } + } + break; + case EventType.SetRowXs: + { + destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); + const width = info.bounds.width * style.Scale / 6; + const beatxInfo = AssetManager.slices.get(beatx); + if (!beatxInfo) break; + const iconwidth = beatxInfo.bounds.width; + const s = width / iconwidth; + let left = 0; + const top = this.iconSize * style.Scale / 2 - beatxInfo.bounds.height * s / 2; + if (evt.pattern) { + const pattern = evt.pattern; + for (const p of pattern) { + const patternKey = p === "x" ? beatx : beatline; + this.DrawSlice(canvas, patternKey, new Rect(dest.x + left, dest.y + top, width, beatxInfo.bounds.height * s), style.Scale, PatchStyle.Strentch); + left += width; + } + } + if ((evt.syncoBeat ?? -1) >= 0) { + this.DrawSlice(canvas, beatsynco, new Rect(dest.x + width * (evt.syncoBeat ?? 0), dest.y + top, width, beatxInfo.bounds.height * s), style.Scale, PatchStyle.Strentch); + } + } + break; + case EventType.ShowRooms: + { + destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale, this.iconSize * 4 * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); + if (evt.rooms && Array.isArray(evt.rooms)) { + for (let i = 0; i < 4; i++) { + const roomState = evt.rooms[i] ? "1" : "0"; + this.DrawSlice(canvas, `${key}_${roomState}`, new Point(dest.x, dest.y + i * this.iconSize * style.Scale), style.Scale / 2); + } + } + } + break; + default: + destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); + this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); + switch (evt.type) { + case EventType.CustomFlash: + { + this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.startColor ?? 0)); + this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.endColor ?? 0)); + } + break; + case EventType.FlipScreen: + { + let suffix = ""; + const flipX = evt.flipX ?? false; + const flipY = evt.flipY ?? false; + if (flipX && flipY) { + suffix = "_2"; + } else if (flipX && !flipY) { + suffix = "_1"; + } else if (!flipX && flipY) { + suffix = "_0"; + } + this.DrawSlice(canvas, key + suffix, dest, style.Scale); + } + break; + case EventType.FloatingText: + { + this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.color ?? 0)); + this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.outlineColor ?? 0)); + } + break; + case EventType.MoveRoom: + { + canvas.save(); + const degree = evt.angle ?? 0; + const scaleWidth = evt.scale?.width ?? 0; + const scaleHeight = evt.scale?.height ?? 0; + if (scaleWidth === 0 || scaleHeight === 0) { + canvas.restore(); + break; + } + const pleft = (evt.pivot?.x ?? 0) / 100; + const ptop = 1 - (evt.pivot?.y ?? 0) / 100; + const uniform = Math.sqrt(scaleWidth * scaleWidth + scaleHeight * scaleHeight); + const w = scaleWidth / uniform; + const h = scaleHeight / uniform; + canvas.translate(dest.x + destRect.width / 2, dest.y + destRect.height / 2); + canvas.rotate(-degree * Math.PI / 180); + canvas.scale(w, h); + this.DrawSlice(canvas, key, new Point(-destRect.width / 2, -destRect.height / 2), style.Scale); + if (!(pleft < 0 || pleft > 1 || ptop < 0 || ptop > 1)) { + canvas.fillStyle = "rgb(255, 0, 0)"; + canvas.fillRect((pleft - 0.5) * destRect.width - 1, (ptop - 0.5) * destRect.height - 1, 2, 2); + } + canvas.restore(); + } + break; + case EventType.PaintHands: + { + this.DrawSlice(canvas, key, dest, style.Scale, PatchStyle.Strentch, new Color(evt.tintColor ?? 0)); + const border = evt.border ?? "None"; + if (border === "Outline") { + this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); + } else if (border === "Glow") { + this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); + } + } + break; + case EventType.SetBackgroundColor: + { + this.DrawSlice(canvas, key, dest, style.Scale); + const bgType = evt.backgroundType ?? "Color"; + if (bgType === "Color") { + this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.color ?? 0)); + } else if (bgType === "Image") { + this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(4294967295)); + } + } + break; + case EventType.SetCrotchetsPerBar: + { + const cpb = evt.crotchetsPerBar ?? 4; + this.DrawSlice(canvas, key, dest, style.Scale); + this.DrawRDFontText(canvas, cpb > 9 ? "-" : cpb.toString(), new Point(dest.x + 2 * style.Scale, dest.y + 7 * style.Scale), new Color(4278190080), style.Scale); + this.DrawRDFontText(canvas, "4", new Point(dest.x + 8 * style.Scale, dest.y + 12 * style.Scale), new Color(4278190080), style.Scale); + } + break; + case EventType.SetForeground: + { + this.DrawSlice(canvas, key, dest, style.Scale); + } + break; + case EventType.Tint: + { + this.DrawSlice(canvas, key, dest, style.Scale, PatchStyle.Strentch, new Color(evt.tintColor ?? 0)); + const border = evt.border ?? "None"; + if (border === "Outline") { + this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); + } else if (border === "Glow") { + this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); + } + } + break; + case EventType.TintRows: + { + this.DrawSlice(canvas, key, dest, style.Scale, PatchStyle.Strentch, new Color(evt.tintColor ?? 0)); + const border = evt.border ?? "None"; + if (border === "Outline") { + this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); + } else if (border === "Glow") { + this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); + } + } + break; + default: + this.drawSliceNormal(canvas, info, destRect); + break; + } + break; + } + if (evtInfo.isDurationEvent) { + evt.duration = 2; + } + if (evt.duration && evt.duration > 0 && style.Active) { + const duration = evt[evtInfo.durationKey]; + const durWidth = style.Scale * this.iconSize * duration - destRect.width; + const c = this.ColorOf(evt.tab); + c.alpha = style.Active ? 192 : 91; + if (durWidth > 0) { + this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, durWidth, destRect.height), style.Scale, PatchStyle.Repeat, c); + } + } + return destRect; + } + static ColorOf(tab) { + switch (tab) { + case "sounds": + return new Color(4292355123); + case "rows": + return new Color(4281094105); + case "actions": + return new Color(4291118003); + case "decorations": + return new Color(4278240345); + case "rooms": + return new Color(4292392978); + case "windows": + return new Color(4283479511); + default: + return new Color(4286874756); + } + } + static DrawBack(canvas, destRect, color, style) { + const outline = "event_outline"; + const back = "event_back"; + this.DrawSlice(canvas, outline, destRect, style.Scale, PatchStyle.Strentch, new Color(style.Active ? 4294967295 : 4289243304)); + destRect.inflate(-style.Scale, -style.Scale); + this.DrawSlice(canvas, back, destRect, style.Scale, PatchStyle.Strentch, color); + } + static WithState(color, active, enabled) { + const c = enabled ? color.clone() : new Color(4286874756); + c.alpha = active ? 192 : 91; + return c; + } +}; +export { + AssetManager, + Color, + Extensions, + IconStyle, + Paint, + Point, + Rect, + SliceInfo +}; diff --git a/script/rdview2.js b/script/rdview2.js new file mode 100644 index 0000000..b8ac205 --- /dev/null +++ b/script/rdview2.js @@ -0,0 +1,84 @@ +import { Extensions, IconStyle } from "/script/Extensions.js"; +function rend() { + const codeBlocks = document.querySelectorAll("canvas.rdview2-canvas"); + codeBlocks.forEach((block) => { + const width = block.getAttribute("data-width") || 8; + const height = block.getAttribute("data-height") || 4; + const scale = block.getAttribute("data-scale") || 2; + const data = block.getAttribute("data"); + const ctx = block.getContext("2d"); + block.width = width * scale * 14; + block.height = height * scale * 14; + if (!data) { + return; + } + const jsonData = JSON.parse(`[${JSON.parse(data)}]`); + + let lastX = -1, lastY = -1, lastActive = false; + let frameId = null; + + const style = new IconStyle(); + + block.render = (x, y, active) => { + if (x === lastX && y === lastY && active === lastActive) { + return; + } + lastX = x; + lastY = y; + lastActive = active; + + ctx.clearRect(0, 0, block.width, block.height); + for (const evt of jsonData) { + style.Scale = scale; + style.Hover = evt.area?.contains({x, y}) ?? false; + style.Active = evt.area?.contains({x, y}) ? active : false; + evt.area = Extensions.DrawEventIcon(ctx, evt, { + x: ((evt.beat ?? 1) - 1) * scale * 14, + y: (evt.y ?? 0) * scale * 14, + }, style); + } + } + + const throttledRender = (x, y, active) => { + if (frameId !== null) { + cancelAnimationFrame(frameId); + } + frameId = requestAnimationFrame(() => { + block.render(x, y, active); + frameId = null; + }); + } + + block.addEventListener("mousemove", (e) => { + const rect = block.getBoundingClientRect(); + const x = e.clientX - rect.left; + const y = e.clientY - rect.top; + throttledRender(x, y, false); + }); + block.addEventListener("mousedown", (e) => { + const rect = block.getBoundingClientRect(); + const x = e.clientX - rect.left; + const y = e.clientY - rect.top; + block.render(x, y, true); + }); + block.addEventListener("mouseup", (e) => { + const rect = block.getBoundingClientRect(); + const x = e.clientX - rect.left; + const y = e.clientY - rect.top; + block.render(x, y, false); + }); + block.addEventListener("mouseleave", (e) => { + if (frameId !== null) { + cancelAnimationFrame(frameId); + } + block.render(0, 0, false); + }); + block.render(0, 0, false); + }); +} + +window.$docsify.plugins = [].concat(window.$docsify.plugins, function (hook) { + hook.doneEach(function () { + rend(); + }); +}); From 29b30c67828dc03d1190f53b4216f2854aeea051 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Fri, 12 Dec 2025 15:24:52 +0800 Subject: [PATCH 18/56] =?UTF-8?q?=E3=80=90=E5=AE=9E=E9=AA=8C=E3=80=91rdvie?= =?UTF-8?q?w2=20=E6=A0=B7=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/classicbeat.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pages/classicbeat.md b/pages/classicbeat.md index 2ef988d..40abb2c 100644 --- a/pages/classicbeat.md +++ b/pages/classicbeat.md @@ -10,14 +10,14 @@ 第二个选项“**摇摆**”就是剧情模式里老奶奶那样的摇摆普通拍子,可以使用拖动条来调节,对照下方绿色竖线的移动可以很直观地看到摇摆效果。不过拖动滑条你只能得到一些倍数十分规整的摇摆拍子,例如摇摆值为0.25,0.5,0.75等,如果你的音乐里真的有些更为不同寻常的摇摆幅度,那就要直接在框里填写数字了。 -```rdview 8 9 -eb.AddClassicBeat 1 1[swing=0.25,tick=6]; -eb.AddClassicBeat 1 2[swing=0.5,tick=6]; -eb.AddClassicBeat 1 3[swing=0.75,tick=6]; -eb.AddClassicBeat 1 4[tick=6]; -eb.AddClassicBeat 1 5[swing=1.25,tick=6]; -eb.AddClassicBeat 1 6[swing=1.5,tick=6]; -eb.AddClassicBeat 1 7[swing=1.75,tick=6]; +```rdview2 8 9 +{"beat": 2, "y": 1, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 0.25, "hold": 0 }, +{"beat": 2, "y": 2, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 0.5, "hold": 0 }, +{"beat": 2, "y": 3, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 0.75, "hold": 0 }, +{"beat": 2, "y": 4, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 1, "hold": 0 }, +{"beat": 2, "y": 5, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 1.25, "hold": 0 }, +{"beat": 2, "y": 6, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 1.5, "hold": 0 }, +{"beat": 2, "y": 7, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 1.75, "hold": 0 } ``` > 不要把摇摆程度拖到滑条的最右端,这样会产生一个不带`X`记号但只有2,4,6,7拍的节奏,无法读谱。 From 4a07b0eaf4fd174aff0830f00f18e0700e6594d7 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Wed, 31 Dec 2025 22:11:33 +0800 Subject: [PATCH 19/56] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=EF=BC=88=E8=99=BD=E7=84=B6=E8=BF=98=E6=98=AF?= =?UTF-8?q?=E5=BE=88=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/rdview2.js | 121 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 90 insertions(+), 31 deletions(-) diff --git a/script/rdview2.js b/script/rdview2.js index b8ac205..a3f2c52 100644 --- a/script/rdview2.js +++ b/script/rdview2.js @@ -2,11 +2,16 @@ import { Extensions, IconStyle } from "/script/Extensions.js"; function rend() { const codeBlocks = document.querySelectorAll("canvas.rdview2-canvas"); codeBlocks.forEach((block) => { + // 清理旧的实例 + if (block.cleanup) { + block.cleanup(); + } + const width = block.getAttribute("data-width") || 8; const height = block.getAttribute("data-height") || 4; const scale = block.getAttribute("data-scale") || 2; const data = block.getAttribute("data"); - const ctx = block.getContext("2d"); + const ctx = block.getContext("2d", { alpha: false, desynchronized: true }); block.width = width * scale * 14; block.height = height * scale * 14; if (!data) { @@ -14,34 +19,68 @@ function rend() { } const jsonData = JSON.parse(`[${JSON.parse(data)}]`); - let lastX = -1, lastY = -1, lastActive = false; + let lastActive = false; + let evtId = 0; let frameId = null; + let cachedRect = null; + let mdown = false; + + const eventPositions = jsonData.map(evt => ({ + evt, + x: ((evt.beat ?? 1) - 1) * scale * 14, + y: (evt.y ?? 0) * scale * 14 + })); const style = new IconStyle(); + style.Scale = scale; + + const updateRect = () => { + cachedRect = block.getBoundingClientRect(); + }; + updateRect(); + + let rectTimeout; + const debouncedUpdateRect = () => { + clearTimeout(rectTimeout); + rectTimeout = setTimeout(updateRect, 100); + }; + + const observer = new ResizeObserver(debouncedUpdateRect); + observer.observe(block); + + window.addEventListener("resize", debouncedUpdateRect, { passive: true }); + window.addEventListener("scroll", debouncedUpdateRect, { passive: true }); block.render = (x, y, active) => { - if (x === lastX && y === lastY && active === lastActive) { + const point = { x, y }; + let currentEvtId = null; + for (let i = 0; i < eventPositions.length; i++) { + const { evt } = eventPositions[i]; + if (evt.area?.contains(point)) { + currentEvtId = i; + break; + } + } + + if (currentEvtId === evtId && active === lastActive) { return; } - lastX = x; - lastY = y; + evtId = currentEvtId; lastActive = active; ctx.clearRect(0, 0, block.width, block.height); - for (const evt of jsonData) { - style.Scale = scale; - style.Hover = evt.area?.contains({x, y}) ?? false; - style.Active = evt.area?.contains({x, y}) ? active : false; - evt.area = Extensions.DrawEventIcon(ctx, evt, { - x: ((evt.beat ?? 1) - 1) * scale * 14, - y: (evt.y ?? 0) * scale * 14, - }, style); + + for (const { evt, x: posX, y: posY } of eventPositions) { + const isHovered = evt.area?.contains(point) ?? false; + style.Hover = isHovered; + style.Active = isHovered ? active : false; + evt.area = Extensions.DrawEventIcon(ctx, evt, { x: posX, y: posY }, style); } } const throttledRender = (x, y, active) => { if (frameId !== null) { - cancelAnimationFrame(frameId); + return; } frameId = requestAnimationFrame(() => { block.render(x, y, active); @@ -49,31 +88,51 @@ function rend() { }); } + const getMousePos = (e) => ({ + x: e.clientX - cachedRect.left, + y: e.clientY - cachedRect.top + }); + block.addEventListener("mousemove", (e) => { - const rect = block.getBoundingClientRect(); - const x = e.clientX - rect.left; - const y = e.clientY - rect.top; - throttledRender(x, y, false); - }); + const { x, y } = getMousePos(e); + console.log(x, y); + throttledRender(x, y, mdown); + }, { passive: true }); + block.addEventListener("mousedown", (e) => { - const rect = block.getBoundingClientRect(); - const x = e.clientX - rect.left; - const y = e.clientY - rect.top; - block.render(x, y, true); + const { x, y } = getMousePos(e); + mdown = true; + block.render(x, y, mdown); }); + block.addEventListener("mouseup", (e) => { - const rect = block.getBoundingClientRect(); - const x = e.clientX - rect.left; - const y = e.clientY - rect.top; - block.render(x, y, false); + const { x, y } = getMousePos(e); + mdown = false; + block.render(x, y, mdown); }); - block.addEventListener("mouseleave", (e) => { + + block.addEventListener("mouseleave", () => { + if (frameId !== null) { + cancelAnimationFrame(frameId); + frameId = null; + } + mdown = false; + evtId = null; + lastActive = false; + block.render(-1, -1, mdown); + }, { passive: true }); + + block.cleanup = () => { + observer.disconnect(); + window.removeEventListener("resize", debouncedUpdateRect); + window.removeEventListener("scroll", debouncedUpdateRect); + clearTimeout(rectTimeout); if (frameId !== null) { cancelAnimationFrame(frameId); } - block.render(0, 0, false); - }); - block.render(0, 0, false); + }; + + block.render(-1, -1, mdown); }); } From a8c833c96f17bf5c95e1a04b6a5d32d01f919eed Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Mon, 12 Jan 2026 20:58:25 +0800 Subject: [PATCH 20/56] =?UTF-8?q?[RDView]=20=E6=9B=B4=E6=96=B0=E7=BB=86?= =?UTF-8?q?=E5=88=86=E6=8B=8D=E7=9A=84=E5=9B=BE=E5=83=8F=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=95=BF=E6=8C=89=E4=BA=8C=E6=8B=8D=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/rdview.js | 5 +++- script/rdview.ts | 5 +++- style/assets/beats/subdivision-area.png | Bin 130 -> 129 bytes style/rdview.css | 30 ++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/script/rdview.js b/script/rdview.js index 90f77ca..fda7705 100644 --- a/script/rdview.js +++ b/script/rdview.js @@ -849,6 +849,9 @@ function ReadProperties(reader, event, pairs) { if (value = FindValue(pairs, "loop")) { event.BeatStyle.Loop = parseInt(value.Value); } + if (value = FindValue(pairs, "hold")) { + event.BeatStyle.Hold = parseFloat(value.Value); + } break; default: break; @@ -938,7 +941,7 @@ function ConstructDivObject(obj) { result += (((_a = obj.BeatStyle) === null || _a === void 0 ? void 0 : _a.RowXs[i]) === 'x') ? `
` : `
`; } return result; - }], [(obj.BeatType === BeatsSpecial.AddClassicBeat || obj.BeatType === BeatsSpecial.AddFreeTimeBeat || obj.BeatType === BeatsSpecial.PulseFreeTimeBeat) && ((_s = (_r = obj.BeatStyle) === null || _r === void 0 ? void 0 : _r.Hold) !== null && _s !== void 0 ? _s : 0) > 0, `holdbeat`, () => ''], [obj.BeatType === BeatsSpecial.AddOneshotBeat && obj.BeatStyle !== undefined && obj.BeatStyle.OneshotBeatSubType.includes(RDOneshotBeatSubType.Skipshot), `skipshot`, () => ''])}`; + }], [(obj.BeatType === BeatsSpecial.AddClassicBeat || obj.BeatType === BeatsSpecial.AddFreeTimeBeat || obj.BeatType === BeatsSpecial.PulseFreeTimeBeat || obj.BeatType === BeatsSpecial.AddOneshotBeat) && ((_s = (_r = obj.BeatStyle) === null || _r === void 0 ? void 0 : _r.Hold) !== null && _s !== void 0 ? _s : 0) > 0, `holdbeat`, () => ''], [obj.BeatType === BeatsSpecial.AddOneshotBeat && obj.BeatStyle !== undefined && obj.BeatStyle.OneshotBeatSubType.includes(RDOneshotBeatSubType.Skipshot), `skipshot`, () => ''])}`; } else if (obj instanceof RDGroup) { return `
0, `holdbeat`, () => ''], + [(obj.BeatType === BeatsSpecial.AddClassicBeat || obj.BeatType === BeatsSpecial.AddFreeTimeBeat || obj.BeatType === BeatsSpecial.PulseFreeTimeBeat || obj.BeatType === BeatsSpecial.AddOneshotBeat) && (obj.BeatStyle?.Hold ?? 0) > 0, `holdbeat`, () => ''], [obj.BeatType === BeatsSpecial.AddOneshotBeat && obj.BeatStyle !== undefined && obj.BeatStyle.OneshotBeatSubType.includes(RDOneshotBeatSubType.Skipshot), `skipshot`, () => ''], )}
`; } diff --git a/style/assets/beats/subdivision-area.png b/style/assets/beats/subdivision-area.png index 9915732d12a185d4444df4b13ad90c4eff048da7..1bd906b94b324322375cebbfb5d50fe0daa0ba1e 100644 GIT binary patch delta 87 zcmZo-Y-F5Z7+~$`;us<^HCg1|f*.beat:not(:has(.classicbeat)) { + &>div.holdbeat { + position: absolute; + width: calc((var(--hold) * 28 - 2) * 1px); + height: inherit; + background-size: auto 100%; + background-image: url(./assets/beats/hold-area.png); + transform: translate(calc(((var(--tick) + var(--delay)) * 28 - 4) * 1px), 0); + z-index: -2; + + &::after { + content: ''; + position: absolute; + width: 2px; + height: 28px; + background-size: auto 100%; + transform: translate(calc((var(--hold) * 28 - 2) * 1px), 0); + background-image: url(./assets/beats/hold-right.png); + } + } + + &:active>div.holdbeat { + background-image: url(./assets/beats/hold-hover-area.png); + + &::after { + background-image: url(./assets/beats/hold-hover-right.png); + } + } + } + &>.beat:has(.row-xs) { width: 56px; height: 28px; From 318f6bbcdaf71629230a3227ad0010245c2db8ef Mon Sep 17 00:00:00 2001 From: Xiaolvjun <270791752@qq.com> Date: Mon, 12 Jan 2026 18:32:36 +0800 Subject: [PATCH 21/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/appendix=5Faud?= =?UTF-8?q?ios.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/appendix_audios.md | 74 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/pages/appendix_audios.md b/pages/appendix_audios.md index e409040..f2f7e36 100644 --- a/pages/appendix_audios.md +++ b/pages/appendix_audios.md @@ -262,6 +262,24 @@ | sndTutorialDubstep | MD-1的教程音乐 | 114 | | sndTutorialDubstep_Bassless | MD-1的教程音乐,无贝斯 | 114 | | sndTutorialDubstep_Dotted | MD-1的教程音乐,有附点 | 114 | +| sndTutorialHouse_Base | 5-25-2N的教程音乐 | 120 | +| sndTutorialHouse_AmenFill | 5-25-2N的教程音乐开始练习前摇(镲声) | 120 | +| sndTutorialHouse_FreezeCPU | 5-2的教程音乐(伊恩演示) | 120 | +| sndTutorialHouse_Freeze1 | 5-2教程音乐的第一阶段 | 120 | +| sndTutorialHouse_Freeze2 | 5-2教程音乐的第二阶段 | 120 | +| sndTutorialHouse_BurnCPU | 5-2N的教程音乐(伊恩演示) | 120 | +| sndTutorialHouse_Burn1 | 5-2N教程音乐的第一阶段 | 120 | +| sndTutorialHouse_Burn2 | 5-2N教程音乐的第二阶段 | 120 | +| sndTutorialHouse_Rest | 5-25-2N的教程音乐(休息) | 120 | +| sndTutorialHouse_Riser | 5-25-2N的教程音乐开始练习前摇(鼓声) | 120 | +| sndTutorialSyncopation | 6-1的教程音乐开头 | 110 | +| sndTutorialSyncopation | 6-1的教程音乐开头,无开头空白 | 110 | +| sndTutorialSyncopation_Phase1 | 6-1教程音乐第一阶段 | 110 | +| sndTutorialSyncopation_Phase2 | 6-1教程音乐第二阶段 | 110 | +| sndTutorialHoldshot | 7-1的教程音乐 | 95 | +| sndTutorialHoldshot_Phase1 | 7-1的教程音乐第一阶段 | 95 | +| sndTutorialHoldshot_Phase2 | 7-1的教程音乐第二阶段 | 95 | +| sndTutorialHoldshot_Phase3 | 7-1的教程音乐第三阶段 | 95 | | sndOrientalTechno | 1-1东方电舞曲 | 100 | | sndOrientalTechnodown | 1-1N东方回响贝斯的开头部分 | | | sndOrientalDubstep | 1-1N东方回响贝斯 | 130 | @@ -271,14 +289,70 @@ | sndOrientalInsomniac2 | 1-X 东方不眠夜 第二部分 | | | sndOrientalInsomniac3 | 1-X 东方不眠夜 第三部分 | | | sndOrientalInsomniacHardRep | 1-XN超东方不眠夜 | 160~180 | +| sndGongXi | 1-CNY春节贺岁片 | 145 | +| sndHalloween | 1-BOO恐怖鸟主题 | 100 | +| sndLofi | 2-1Lo-fi Hip-Hop Beats To Treat Patients To | 75 | +| sndCareless | 2-1Nwish i could care less | 75~81 | +| sndCarelessCN | 2-1Nwish i could care less中文版 | 75~81 | | sndSupraventricular88 | 2-2室上性心动过速 | 88 | +| sndUnreachable | 2-2NUnreachable | 180 | +| sndPuffPiece | 2-3缭绕 | 127 | +| Pomeranian | 2-3N嗅炸弹的博美犬 | 127.2 | +| song_of_the_sea | 2-42-4N的背景音乐 | 60 | +| sndAllTheTimes | 2-XAll The Times 咖啡之歌 | 145 | +| sndAllTheTimesCN | 2-XAll The Times 咖啡之歌中文版 | 145 | +| sndBitterness | 2-XNBitter Times 爱情是苦和甜的交错前半段 | 112~195 | +| sndBitternessCutscene | 2-XNBitter Times 爱情是苦和甜的交错后半段 | 112->195->264->195 | | sndTutorialBeans | 2-B1武士豆子跳 | 110 | +| sndSleepyGarden | 3-1沉睡花园 | 158 | | sndLounge | 3-1N休息室 | 75 | | sndBarbra | 3-2典雅 | 115 | +| sndDistantDuet | 3-3分离二重唱 | 194 | +| sndDistantDuetNight | 3-3分离二重唱·夜 | 194 | +| sndDistantDuet | 3-3分离二重唱 | 194 | +| sndDistantDuetNight | 3-3分离二重唱·夜 | 194 | | sndLesMisBar1 | 3-X轮班之歌 | 100 | | sndLesMisBar39 | 3-X轮班之歌 从第39小节开始 | | +| sndMinersong | 4-1实习医生培训演练表现评估 | 128->225.9->140~110? | +| sndRollerdisco | 4-1N滑板迪斯科震颤 | 125.5 | +| sndInvisible | 4-24-2N | 190 | | sndSteinway | 4-3斯坦威 | 80 | +| sndKnowYou | 4-4懂你 | 157 | | sndMurmurs | 4-4N喃喃细语 | 65 | +| sndLuckyBreak | 5-1路吉摔了一跤 | 156 | +| sndOSTL | 5-2One Slip Too Late 创伤之歌 | 175~150 | +| sndOSTLCN | 5-2One Slip Too Late 创伤之歌中文版 | 175~150 | +| sndFreezeshot | 5-2Lo-fi Beats For Patients To Chill To | 140 | +| sndFreezeshotH | 5-2N无以为继的伤心欲绝 | 176->100->80 | +| sndTherapy1 | 5-3七局伸展操第一部分 | 128 | +| sndTherapy2 | 5-3七局伸展操第二部分 | 124 | +| sndTherapy3 | 5-3七局伸展操第三部分 | 136 | +| sndTherapyEnding | 5-3七局伸展操结尾 | 136 | +| sndCorazonesViejos | 5-3N偕老 | 249? | +| sndDDS | 5-X梦想永不歇 | 95->62.6->102.5 | +| sndDDSCN | 5-X梦想永不歇中文版 | 95->62.6->102.5 | +| sndHaileyDuet | 6-1想把心事和你说 | 94.5->190->220->181->206? | +| sndHaileyDuetCN | 6-1想把心事和你说中文版 | 94.5->190->220->181->206? | +| sndEdegaRave | 6-2欢迎回来 | 200->85->200 | +| sndBossStage_Main | 6-XBoss战(包括埃德加批评佩奇的一段) | 150~255 | +| sndBossStage_NoCutscene | 6-XBoss战(不包括埃德加批评佩奇的一段) | 150~255 | +| sndBossStage_EndingShort | 6-XBoss战结尾(包括埃德加批评佩奇的一段) | 165 | +| sndBossStage_EndingLong | 6-XBoss战结尾(不包括埃德加批评佩奇的一段) | 165 | +| sndBlurred | 7-1模糊 | 70 | +| sndMontage | 7-X奇迹除颤器 | 160 | +| sndMontageIntro | 7-X奇迹除颤器前奏 | | +| sndColeSongLeaves | 7-X2奇迹除颤器安可版(佩奇离职分支) | 91->121.2->182-->156->240?->228?-->360 | +| sndColeSongStays | 7-X2奇迹除颤器安可版(佩奇在职分支) | 91->121.2->182-->156->240?->228?-->360 | +| sndArtExercise | X-1美术练习 | 140 | +| sndHelpingHands | X-0伸出援手 | 178 | +| sndHelpingHandsCN | X-0伸出援手中文版 | 178 | +| sndBlackestLuxuryCar | MD-1BlackestLuxuryCar | 178 | +| sndTapeStopNight | MD-2Tape/Stop/Night | 115 | +| sndThe90sDecision | MD-3The90sDecision | 128 | +| sndMeetAndTweet | X-MATMeet And Tweet | 110 | +| sndWornOutTapes | X-WOTWorn Out Tapes | 149 | +| sndSparkLine | X-KOB气球王国 | 124 | +| sndVividStasis | X-FTS恋恋群星 | 150 | | sndOsmBluesRadio | 夜间的病房内过剧情 | 98? | | SoftPianoIntimate | 第一章末尾的过剧情 | 88 | From 0e26fea05605980a4d9530e7d54f779fd90a8068 Mon Sep 17 00:00:00 2001 From: Xiaolvjun <270791752@qq.com> Date: Mon, 12 Jan 2026 19:51:00 +0800 Subject: [PATCH 22/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/credits.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/credits.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pages/credits.md b/pages/credits.md index a1e5fc5..f654e9c 100644 --- a/pages/credits.md +++ b/pages/credits.md @@ -11,7 +11,8 @@ - [卢毅](https://space.bilibili.com/26101629) - [RaYmondCheung](https://space.bilibili.com/1579208) - [NoMathExpectation](https://space.bilibili.com/184862524) - - [0x4D2](https://space.bilibili.com/478595264) + - [0x4D2](https://space.bilibili.com/478595264) + - [正宗的小绿君](https://space.bilibili.com/1782518253) - 视频制作: - [吾夜犹明](https://space.bilibili.com/29219948) - [山不转水到渠成](https://space.bilibili.com/4870582) From 6d3d02c5e2937117c19f1d298f73d125510eef72 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Mon, 12 Jan 2026 21:10:13 +0800 Subject: [PATCH 23/56] =?UTF-8?q?[RDView]=E4=BF=AE=E5=A4=8D=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E7=BB=84=E5=86=85=E7=9A=84=E5=8D=95=E5=8F=91=E6=8B=8D?= =?UTF-8?q?=E9=95=BF=E6=8C=89=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=9A=84=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- style/rdview.css | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/style/rdview.css b/style/rdview.css index 9ed2093..e8bd658 100644 --- a/style/rdview.css +++ b/style/rdview.css @@ -1153,7 +1153,7 @@ height: inherit; background-size: auto 100%; background-image: url(./assets/beats/hold-area.png); - transform: translate(calc(((var(--tick) + var(--delay)) * 28 - 4) * 1px), 0); + transform: translate(calc(((var(--tick) + var(--delay) + var(--loop) * var(--interval)) * 28 - 4) * 1px), 0); z-index: -2; &::after { @@ -2210,6 +2210,36 @@ } } + &>.beat:not(:has(.classicbeat)) { + &>div.holdbeat { + position: absolute; + width: calc((var(--hold) * 28 - 2) * 1px); + height: inherit; + background-size: auto 100%; + background-image: url(./assets/beats/hold-area.png); + transform: translate(calc(((var(--tick) + var(--delay) + var(--loop) * var(--interval)) * 28 - 4) * 1px), 0); + z-index: -2; + + &::after { + content: ''; + position: absolute; + width: 2px; + height: 28px; + background-size: auto 100%; + transform: translate(calc((var(--hold) * 28 - 2) * 1px), 0); + background-image: url(./assets/beats/hold-right.png); + } + } + + &:active>div.holdbeat { + background-image: url(./assets/beats/hold-hover-area.png); + + &::after { + background-image: url(./assets/beats/hold-hover-right.png); + } + } + } + &>.beat:has(.row-xs) { width: 56px; height: 28px; From 14f97502f08222efd7a8404570d3c085c30c0538 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Wed, 14 Jan 2026 00:43:51 +0800 Subject: [PATCH 24/56] =?UTF-8?q?[rdview2]=20=E6=80=A7=E8=83=BD=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 10 +- pages/appendix_tools.md | 21 + script/View.js | 1027 +++++++++++++++++++++++++++++++++++++++ script/assets.bin | Bin 0 -> 4299 bytes script/assets.png | Bin 0 -> 6653 bytes script/special.js | 125 +++++ style/special.css | 2 +- 7 files changed, 1179 insertions(+), 6 deletions(-) create mode 100644 script/View.js create mode 100644 script/assets.bin create mode 100644 script/assets.png diff --git a/index.html b/index.html index dfbf132..95d0522 100644 --- a/index.html +++ b/index.html @@ -19,8 +19,8 @@ - -
加载中...
+ +
加载中...
- + + + @@ -137,7 +139,5 @@ - - diff --git a/pages/appendix_tools.md b/pages/appendix_tools.md index 70e9acb..3d1ea8b 100644 --- a/pages/appendix_tools.md +++ b/pages/appendix_tools.md @@ -20,4 +20,25 @@ g 1 1 5 4 #0ff{ }; +--- + +
+ --- \ No newline at end of file diff --git a/script/View.js b/script/View.js new file mode 100644 index 0000000..ebf2918 --- /dev/null +++ b/script/View.js @@ -0,0 +1,1027 @@ +// AssetManager.ts +var Point = class _Point { + x = 0; + y = 0; + constructor(x, y) { + if (x !== void 0 && y !== void 0) { + this.x = x; + this.y = y; + return; + } + } + clone() { + return new _Point(this.x, this.y); + } +}; +var Size = class { + width = 0; + height = 0; + constructor(width, height) { + if (width !== void 0 && height !== void 0) { + this.width = width; + this.height = height; + return; + } + } + clone() { + return new Point(this.width, this.height); + } +}; +var Rect = class _Rect { + left = 0; + top = 0; + right = 0; + bottom = 0; + get x() { + return this.left; + } + set x(value) { + const diff = value - this.left; + this.left += diff; + this.right += diff; + } + get y() { + return this.top; + } + set y(value) { + const diff = value - this.top; + this.top += diff; + this.bottom += diff; + } + get width() { + return this.right - this.left; + } + set width(value) { + this.right = this.left + value; + } + get height() { + return this.bottom - this.top; + } + set height(value) { + this.bottom = this.top + value; + } + get centerX() { + return (this.left + this.right) / 2; + } + get centerY() { + return (this.top + this.bottom) / 2; + } + get location() { + let point = new Point(); + point.x = this.centerX; + point.y = this.centerY; + return point; + } + set location(point) { + let w = this.width; + let h = this.height; + this.left = point.x; + this.right = this.left + w; + this.top = point.y; + this.bottom = this.top + h; + } + get size() { + let size = new Size(); + size.width = this.width; + size.height = this.height; + return size; + } + set size(size) { + this.width = size.width; + this.height = size.height; + } + get isEmpty() { + return this.width <= 0 || this.height <= 0; + } + constructor(arg0, arg1, arg2, arg3) { + if (typeof arg0 === "number" && typeof arg1 === "number") { + if (typeof arg2 === "number" && typeof arg3 === "number") { + this.left = arg0; + this.top = arg1; + this.right = arg0 + arg2; + this.bottom = arg1 + arg3; + return; + } + this.right = arg0; + this.bottom = arg1; + return; + } else if (arg0 instanceof Point && arg1 instanceof Size) { + this.left = arg0.x; + this.top = arg0.y; + this.right = arg0.x + arg1.width; + this.bottom = arg0.y + arg1.height; + return; + } else if (arg0 instanceof Size) { + this.right = arg0.width; + this.bottom = arg0.height; + return; + } + } + inflate(dx, dy) { + this.left -= dx; + this.right += dx; + this.top -= dy; + this.bottom += dy; + } + clone() { + return new _Rect(this.left, this.top, this.width, this.height); + } + union(rect) { + const left = Math.min(this.left, rect.left); + const top = Math.min(this.top, rect.top); + const right = Math.max(this.right, rect.right); + const bottom = Math.max(this.bottom, rect.bottom); + return new _Rect(left, top, right - left, bottom - top); + } +}; +var Color = class _Color { + argb = 0; + constructor(a, r, g, b) { + if (typeof a === "string") { + let s = a; + if (s.startsWith("#")) { + s = s.substring(1); + } + s = s.trim(); + switch (s.length) { + case 3: + s = "ff" + s.split("").map((c) => c + c).join(""); + break; + case 4: + s = s.split("").map((c) => c + c).join(""); + break; + case 6: + s = "ff" + s; + break; + case 8: + break; + default: + s = "ffffffff"; + } + const u = parseInt(s, 16); + this.argb = u; + return; + } + if (a !== void 0 && r === void 0 && g === void 0 && b === void 0) { + this.argb = a; + return; + } + if (a === void 0 && r !== void 0 && g !== void 0 && b !== void 0) { + const u = 255 << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255; + this.argb = u; + return; + } + if (a !== void 0 && r !== void 0 && g !== void 0 && b !== void 0) { + const u = a << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255; + this.argb = u; + return; + } + this.argb = 0; + } + get a() { + return this.argb >>> 24 & 255; + } + set a(value) { + const v = value & 255; + this.argb = v << 24 | this.argb & 16777215; + } + get r() { + return this.argb >>> 16 & 255; + } + set r(value) { + const v = value & 255; + this.argb = this.argb & 4278255615 | v << 16; + } + get g() { + return this.argb >>> 8 & 255; + } + set g(value) { + const v = value & 255; + this.argb = this.argb & 4294902015 | v << 8; + } + get b() { + return this.argb & 255; + } + set b(value) { + const v = value & 255; + this.argb = this.argb & 4294967040 | v; + } + toUint32() { + return this.argb; + } + clone() { + return new _Color(this.argb); + } + static FromRgba(r, g, b, a) { + return new _Color(a, r, g, b); + } + toRgbaString() { + return `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a / 255})`; + } + toHexString(includeAlpha = true) { + if (includeAlpha) { + return `#${this.argb.toString(16).padStart(8, "0")}`; + } else { + const rgb = this.argb & 16777215; + return `#${rgb.toString(16).padStart(6, "0")}`; + } + } + equals(other) { + return this.argb === other.argb; + } + static get Transparent() { + return new _Color(0, 0, 0, 0); + } + static get Black() { + return new _Color(255, 0, 0, 0); + } + static get White() { + return new _Color(255, 255, 255, 255); + } + withAlpha(alpha) { + return new _Color(alpha, this.r, this.g, this.b); + } + withRed(red) { + return new _Color(this.a, red, this.g, this.b); + } + withGreen(green) { + return new _Color(this.a, this.r, green, this.b); + } + withBlue(blue) { + return new _Color(this.a, this.r, this.g, blue); + } +}; +var SliceInfo = class { + bounds = new Rect(); + center = new Rect(); + pivot = new Point(); + scale = 1; + blobUrl = ""; + get isNinePatch() { + return !this.center.isEmpty; + } +}; +var assetFilePath = "assets.png"; +var slicesFilePath = "assets.bin"; +var directoryPath = "./script"; +async function loadAssetFile() { + const pngPath = directoryPath + "/" + assetFilePath; + return await new Promise((resolve, reject) => { + const img = new Image(); + img.onload = () => resolve(img); + img.onerror = (e) => reject(new Error(`Failed to load asset file: ${pngPath}`)); + img.src = pngPath; + }); +} +async function readFromStream(stream) { + const canvas = new OffscreenCanvas(1, 1); + let offset = 0; + const count = stream.getUint8(0); + offset += 1; + const sliceInfos = /* @__PURE__ */ new Map(); + for (let i = 0; i < count; i++) { + const sliceInfo = new SliceInfo(); + const keyLength = stream.getUint8(offset); + offset += 1; + const key = new TextDecoder().decode(new Uint8Array(stream.buffer, offset, keyLength)); + offset += keyLength; + const left = stream.getUint8(offset); + offset += 1; + const top = stream.getUint8(offset); + offset += 1; + const wh = stream.getUint16(offset, true); + offset += 2; + const width = wh & 31; + const height = wh >> 5 & 63; + sliceInfo.bounds = new Rect(left, top, width, height); + const hasCenter = (wh & 32768) !== 0; + const hasPivot = (wh & 16384) !== 0; + if (hasCenter) { + const centerByte = stream.getUint8(offset); + offset += 1; + const centerLeft = centerByte & 3; + const centerTop = centerByte >> 2 & 3; + const centerWidth = centerByte >> 4 & 3; + const centerHeight = centerByte >> 6 & 3; + sliceInfo.center = new Rect(centerLeft, centerTop, centerWidth, centerHeight); + } + if (hasPivot) { + const pivotByte = stream.getUint8(offset); + offset += 1; + let pivotLeft = pivotByte & 7; + let pivotTop = pivotByte >> 3 & 7; + if ((pivotByte & 128) !== 0) { + pivotLeft *= -1; + } + if ((pivotByte & 64) !== 0) { + pivotTop *= -1; + } + sliceInfo.pivot = new Point(pivotLeft, pivotTop); + } + canvas.width = width; + canvas.height = height; + const ctx = canvas.getContext("2d"); + if (ctx === null) { + throw new Error("Failed to get 2D context"); + } + ctx.clearRect(0, 0, width, height); + ctx.drawImage(assetFile, sliceInfo.bounds.left, sliceInfo.bounds.top, width, height, 0, 0, width, height); + const blob = await canvas.convertToBlob({ + type: "image/png" + }); + sliceInfo.blobUrl = URL.createObjectURL(blob); + sliceInfos.set(key, sliceInfo); + } + return sliceInfos; +} +var assetLoaded = false; +var assetFile = await loadAssetFile(); +var slices = await readFromStream(new DataView(await (await fetch(directoryPath + "/" + slicesFilePath)).arrayBuffer())).finally(() => { + assetLoaded = true; +}); + +// Consts.ts +var Tab = /* @__PURE__ */ function(Tab2) { + Tab2["Sounds"] = "sounds"; + Tab2["Rows"] = "rows"; + Tab2["Actions"] = "actions"; + Tab2["Decorations"] = "decorations"; + Tab2["Rooms"] = "rooms"; + Tab2["Windows"] = "windows"; + Tab2["Unknown"] = "unknown"; + return Tab2; +}({}); +var EventType = /* @__PURE__ */ function(EventType2) { + EventType2["AddClassicBeat"] = "AddClassicBeat"; + EventType2["AddFreeTimeBeat"] = "AddFreeTimeBeat"; + EventType2["AddOneshotBeat"] = "AddOneshotBeat"; + EventType2["AdvanceText"] = "AdvanceText"; + EventType2["BassDrop"] = "BassDrop"; + EventType2["Blend"] = "Blend"; + EventType2["CallCustomMethod"] = "CallCustomMethod"; + EventType2["ChangeCharacter"] = "ChangeCharacter"; + EventType2["ChangePlayersRows"] = "ChangePlayersRows"; + EventType2["Comment"] = "Comment"; + EventType2["CustomFlash"] = "CustomFlash"; + EventType2["DesktopColor"] = "DesktopColor"; + EventType2["FadeRoom"] = "FadeRoom"; + EventType2["FinishLevel"] = "FinishLevel"; + EventType2["Flash"] = "Flash"; + EventType2["FlipScreen"] = "FlipScreen"; + EventType2["FloatingText"] = "FloatingText"; + EventType2["ForwardDecorationEvent"] = "ForwardDecorationEvent"; + EventType2["ForwardEvent"] = "ForwardEvent"; + EventType2["ForwardRowEvent"] = "ForwardRowEvent"; + EventType2["HideRow"] = "HideRow"; + EventType2["HideWindow"] = "HideWindow"; + EventType2["InvertColors"] = "InvertColors"; + EventType2["MacroEvent"] = "MacroEvent"; + EventType2["MaskRoom"] = "MaskRoom"; + EventType2["Move"] = "Move"; + EventType2["MoveCamera"] = "MoveCamera"; + EventType2["MoveRoom"] = "MoveRoom"; + EventType2["MoveRow"] = "MoveRow"; + EventType2["NarrateRowInfo"] = "NarrateRowInfo"; + EventType2["NewWindowDance"] = "NewWindowDance"; + EventType2["PaintHands"] = "PaintHands"; + EventType2["PlayAnimation"] = "PlayAnimation"; + EventType2["PlayExpression"] = "PlayExpression"; + EventType2["PlaySong"] = "PlaySong"; + EventType2["PlaySound"] = "PlaySound"; + EventType2["PulseCamera"] = "PulseCamera"; + EventType2["PulseFreeTimeBeat"] = "PulseFreeTimeBeat"; + EventType2["ReadNarration"] = "ReadNarration"; + EventType2["RenameWindow"] = "RenameWindow"; + EventType2["ReorderRooms"] = "ReorderRooms"; + EventType2["ReorderRow"] = "ReorderRow"; + EventType2["ReorderSprite"] = "ReorderSprite"; + EventType2["ReorderWindows"] = "ReorderWindows"; + EventType2["SayReadyGetSetGo"] = "SayReadyGetSetGo"; + EventType2["SetBackgroundColor"] = "SetBackgroundColor"; + EventType2["SetBeatSound"] = "SetBeatSound"; + EventType2["SetBeatsPerMinute"] = "SetBeatsPerMinute"; + EventType2["SetClapSounds"] = "SetClapSounds"; + EventType2["SetCountingSound"] = "SetCountingSound"; + EventType2["SetCrotchetsPerBar"] = "SetCrotchetsPerBar"; + EventType2["SetForeground"] = "SetForeground"; + EventType2["SetGameSound"] = "SetGameSound"; + EventType2["SetHandOwner"] = "SetHandOwner"; + EventType2["SetHeartExplodeInterval"] = "SetHeartExplodeInterval"; + EventType2["SetHeartExplodeVolume"] = "SetHeartExplodeVolume"; + EventType2["SetMainWindow"] = "SetMainWindow"; + EventType2["SetOneshotWave"] = "SetOneshotWave"; + EventType2["SetPlayStyle"] = "SetPlayStyle"; + EventType2["SetRoomContentMode"] = "SetRoomContentMode"; + EventType2["SetRoomPerspective"] = "SetRoomPerspective"; + EventType2["SetRowXs"] = "SetRowXs"; + EventType2["SetSpeed"] = "SetSpeed"; + EventType2["SetTheme"] = "SetTheme"; + EventType2["SetVFXPreset"] = "SetVFXPreset"; + EventType2["SetVisible"] = "SetVisible"; + EventType2["SetWindowContent"] = "SetWindowContent"; + EventType2["ShakeScreen"] = "ShakeScreen"; + EventType2["ShakeScreenCustom"] = "ShakeScreenCustom"; + EventType2["ShowDialogue"] = "ShowDialogue"; + EventType2["ShowHands"] = "ShowHands"; + EventType2["ShowRooms"] = "ShowRooms"; + EventType2["ShowStatusSign"] = "ShowStatusSign"; + EventType2["ShowSubdivisionsRows"] = "ShowSubdivisionsRows"; + EventType2["SpinningRows"] = "SpinningRows"; + EventType2["Stutter"] = "Stutter"; + EventType2["TagAction"] = "TagAction"; + EventType2["TextExplosion"] = "TextExplosion"; + EventType2["Tile"] = "Tile"; + EventType2["Tint"] = "Tint"; + EventType2["TintRows"] = "TintRows"; + EventType2["WindowResize"] = "WindowResize"; + return EventType2; +}({}); +var EventAttriblte = /* @__PURE__ */ function(EventAttriblte2) { + EventAttriblte2[EventAttriblte2["None"] = 0] = "None"; + EventAttriblte2[EventAttriblte2["DurationEvent"] = 1] = "DurationEvent"; + EventAttriblte2[EventAttriblte2["RoomEvent"] = 2] = "RoomEvent"; + return EventAttriblte2; +}({}); +var EventInfo = class { + defaultTab; + durationKey = "duration"; + attr; + get isDurationEvent() { + return (this.attr & EventAttriblte.DurationEvent) !== 0; + } + get isRoomEvent() { + return (this.attr & EventAttriblte.RoomEvent) !== 0; + } + constructor(tab, enumAttriblte, durationKey) { + this.defaultTab = tab; + this.attr = enumAttriblte ?? EventAttriblte.None; + if (durationKey !== void 0) { + this.durationKey = durationKey; + } + } +}; +var WordInfo = class { + phrase; + length; + constructor(phrase, length) { + this.phrase = phrase; + this.length = length; + } +}; +var WordInfos = { + SayReaDyGetSetGoNew: new WordInfo("Rea, Dy, Get, Set, Go!", 4), + SayReaDyGetSetOne: new WordInfo("Rea, Dy, Get, Set, One!", 4), + SayGetSetGo: new WordInfo("Get, Set, Go!", 2), + SayGetSetOne: new WordInfo("Get, Set, One!", 2), + JustSayRea: new WordInfo("Rea", 0), + JustSayDy: new WordInfo("Dy", 0), + JustSayGet: new WordInfo("Get", 0), + JustSaySet: new WordInfo("Set", 0), + JustSayAnd: new WordInfo("And", 0), + JustSayGo: new WordInfo("Go!", 0), + JustSayStop: new WordInfo("Stop", 0), + JustSayAndStop: new WordInfo("And Stop!", 0), + SaySwitch: new WordInfo("Switch", 0), + SayWatch: new WordInfo("Watch", 0), + SayListen: new WordInfo("Listen", 0), + Count1: new WordInfo("1", 0), + Count2: new WordInfo("2", 0), + Count3: new WordInfo("3", 0), + Count4: new WordInfo("4", 0), + Count5: new WordInfo("5", 0), + Count6: new WordInfo("6", 0), + Count7: new WordInfo("7", 0), + Count8: new WordInfo("8", 0), + Count9: new WordInfo("9", 0), + Count10: new WordInfo("10", 0), + SayReadyGetSetGo: new WordInfo("Ready, Get, Set, Go!", 4), + JustSayReady: new WordInfo("Ready", 0) +}; +var EventInfos = { + AddClassicBeat: new EventInfo(Tab.Rows), + AddFreeTimeBeat: new EventInfo(Tab.Rows), + AddOneshotBeat: new EventInfo(Tab.Rows), + AdvanceText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + BassDrop: new EventInfo(Tab.Actions), + Blend: new EventInfo(Tab.Decorations), + CallCustomMethod: new EventInfo(Tab.Actions), + ChangeCharacter: new EventInfo(Tab.Actions), + ChangePlayersRows: new EventInfo(Tab.Actions), + Comment: new EventInfo(Tab.Unknown), + CustomFlash: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + DesktopColor: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent), + FadeRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + FinishLevel: new EventInfo(Tab.Actions), + Flash: new EventInfo(Tab.Actions), + FlipScreen: new EventInfo(Tab.Actions), + FloatingText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + ForwardDecorationEvent: new EventInfo(Tab.Decorations), + ForwardEvent: new EventInfo(Tab.Unknown), + ForwardRowEvent: new EventInfo(Tab.Rows), + HideRow: new EventInfo(Tab.Actions), + HideWindow: new EventInfo(Tab.Windows), + InvertColors: new EventInfo(Tab.Actions), + MacroEvent: new EventInfo(Tab.Unknown), + MaskRoom: new EventInfo(Tab.Rooms), + Move: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), + MoveCamera: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + MoveRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + MoveRow: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + NarrateRowInfo: new EventInfo(Tab.Sounds), + NewWindowDance: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + PaintHands: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + PlayAnimation: new EventInfo(Tab.Decorations), + PlayExpression: new EventInfo(Tab.Actions), + PlaySong: new EventInfo(Tab.Sounds), + PlaySound: new EventInfo(Tab.Sounds), + PulseCamera: new EventInfo(Tab.Actions), + PulseFreeTimeBeat: new EventInfo(Tab.Rows), + ReadNarration: new EventInfo(Tab.Sounds), + RenameWindow: new EventInfo(Tab.Windows), + ReorderRooms: new EventInfo(Tab.Rooms), + ReorderRow: new EventInfo(Tab.Rows), + ReorderSprite: new EventInfo(Tab.Decorations), + ReorderWindows: new EventInfo(Tab.Windows), + SayReadyGetSetGo: new EventInfo(Tab.Sounds), + SetBackgroundColor: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetBeatSound: new EventInfo(Tab.Sounds), + SetBeatsPerMinute: new EventInfo(Tab.Sounds), + SetClapSounds: new EventInfo(Tab.Sounds), + SetCountingSound: new EventInfo(Tab.Sounds), + SetCrotchetsPerBar: new EventInfo(Tab.Sounds), + SetForeground: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetGameSound: new EventInfo(Tab.Sounds), + SetHandOwner: new EventInfo(Tab.Actions), + SetHeartExplodeInterval: new EventInfo(Tab.Sounds), + SetHeartExplodeVolume: new EventInfo(Tab.Sounds), + SetMainWindow: new EventInfo(Tab.Windows), + SetOneshotWave: new EventInfo(Tab.Rows), + SetPlayStyle: new EventInfo(Tab.Actions), + SetRoomContentMode: new EventInfo(Tab.Rooms), + SetRoomPerspective: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + SetRowXs: new EventInfo(Tab.Rows), + SetSpeed: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetTheme: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetVFXPreset: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetVisible: new EventInfo(Tab.Decorations), + SetWindowContent: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent), + ShakeScreen: new EventInfo(Tab.Actions), + ShakeScreenCustom: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + ShowDialogue: new EventInfo(Tab.Actions), + ShowHands: new EventInfo(Tab.Actions), + ShowRooms: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + ShowStatusSign: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + ShowSubdivisionsRows: new EventInfo(Tab.Actions), + SpinningRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + Stutter: new EventInfo(Tab.Actions), + TagAction: new EventInfo(Tab.Actions), + TextExplosion: new EventInfo(Tab.Actions), + Tile: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), + Tint: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), + TintRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + WindowResize: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent) +}; + +// View.ts +var lineHeight = 6; +var charHeight = 8; +var iconSize = 14; +var IconStyle = class { + enabled = true; + active = false; + hover = false; + scale = 1; + showDuration = false; +}; +function withState(color, active, enabled) { + return (enabled ? color : new Color(4286874756)).withAlpha(active ? 192 : 91); +} +function createLayer(key, bound, color, style) { + const layer = document.createElement("div"); + const info = slices.get(key); + layer.style.position = "absolute"; + layer.style.boxSizing = "content-box"; + if (info.isNinePatch) { + const center = info.center; + const width = bound?.width ?? info.bounds.width; + const height = bound?.height ?? info.bounds.height; + layer.style.left = `${(bound?.left ?? bound?.x ?? 0) * style.scale}px`; + layer.style.top = `${(bound?.top ?? bound?.y ?? 0) * style.scale}px`; + layer.style.borderStyle = "solid"; + layer.style.borderWidth = `${center.top * style.scale}px ${(info.bounds.width - center.right) * style.scale}px ${(info.bounds.height - center.bottom) * style.scale}px ${center.left * style.scale}px`; + layer.style.borderImageSource = `url(${info.blobUrl})`; + layer.style.borderImageSlice = `${center.top} ${info.bounds.width - center.right} ${info.bounds.height - center.bottom} ${center.left} fill`; + layer.style.borderImageWidth = `1`; + layer.style.borderImageOutset = `0`; + layer.style.borderImageRepeat = `repeat`; + layer.style.width = `${(width - center.left - (info.bounds.width - center.right)) * style.scale}px`; + layer.style.height = `${(height - center.top - (info.bounds.height - center.bottom)) * style.scale}px`; + } else { + layer.style.left = `${((bound?.left ?? bound?.x ?? 0) - info.pivot.x) * style.scale}px`; + layer.style.top = `${((bound?.top ?? bound?.y ?? 0) - info.pivot.y) * style.scale}px`; + layer.style.width = `${(bound?.width ?? info.bounds.width) * style.scale}px`; + layer.style.height = `${(bound?.height ?? info.bounds.height) * style.scale}px`; + layer.style.backgroundImage = `url(${info.blobUrl})`; + layer.style.backgroundSize = `${bound?.width ?? info.bounds.width * style.scale}px ${bound?.height ?? info.bounds.height * style.scale}px`; + } + if (color && Color.White.equals(color) === false) { + const filterId = getColorMatrixId(color); + layer.style.filter = `url(#${filterId})`; + layer.onColorChange = (color2) => { + if (!color2) { + return; + } + const newFilterId = getColorMatrixId(color2); + layer.style.filter = `url(#${newFilterId})`; + }; + } else { + } + return layer; +} +var colorMatrixIds = /* @__PURE__ */ new Map(); +var colorMatrixCache = document.createElement("div"); +document.body.appendChild(colorMatrixCache); +function getColorMatrixId(rgba) { + if (colorMatrixIds.has(rgba.toUint32())) { + return colorMatrixIds.get(rgba.toUint32()); + } + const feColorMatrix = document.createElementNS("http://www.w3.org/2000/svg", "feColorMatrix"); + feColorMatrix.setAttribute("type", "matrix"); + const r = rgba.r / 255; + const g = rgba.g / 255; + const b = rgba.b / 255; + const a = rgba.a / 255; + feColorMatrix.setAttribute("values", `${r} 0 0 0 0 0 ${g} 0 0 0 0 0 ${b} 0 0 0 0 0 ${a} 0`); + const filter = document.createElementNS("http://www.w3.org/2000/svg", "filter"); + filter.setAttribute("id", `filter_${rgba.toHexString()}`); + filter.appendChild(feColorMatrix); + const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.setAttribute("width", "0"); + svg.setAttribute("height", "0"); + svg.appendChild(filter); + colorMatrixCache.appendChild(svg); + colorMatrixIds.set(rgba.toUint32(), filter.getAttribute("id")); + return filter.getAttribute("id"); +} +function createRDFontLayer(text, style) { + const lineHead = new Point(0, -charHeight); + const start = lineHead.clone(); + const layer = document.createElement("div"); + layer.style.position = "absolute"; + for (let i = 0; i < text.length; i++) { + const char = text.charAt(i); + if (char === "\n") { + start.x = lineHead.x; + start.y += lineHeight * style.scale; + } else { + const charCode = char.charCodeAt(0); + const charKey = `char_${charCode.toString(16).padStart(4, "0")}`; + const charInfo = slices.get(charKey); + const charLayer = createLayer(charKey, new Point(start.x, start.y), null, style); + start.x += (charInfo?.bounds.width ?? charHeight) * style.scale; + layer.appendChild(charLayer); + } + } + return layer; +} +function createBackLayer(size, color, style) { + const outline = "event_outline"; + const back = "event_back"; + const backLayer = createLayer(back, new Rect(1, 1, (size?.width ?? iconSize) - 2, (size?.height ?? iconSize) - 2), withState(color, style.active, style.enabled), style); + const outlineLayer = createLayer(outline, size ? new Rect(size) : null, new Color(style.active ? 4294967295 : 4289243304), style); + if (backLayer.onColorChange) { + backLayer.onStateChange = (style2) => backLayer.onColorChange(withState(color, style2.active, style2.enabled)); + } + if (outlineLayer.onColorChange) { + outlineLayer.onStateChange = (style2) => outlineLayer.onColorChange(new Color(style2.active ? 4294967295 : 4289243304)); + } + return [ + backLayer, + outlineLayer + ]; +} +function colorOf(tab) { + switch (tab) { + case Tab.Sounds: + return new Color("d92433"); + case Tab.Rows: + return new Color("2c4fdb"); + case Tab.Actions: + return new Color("c544b3"); + case Tab.Rooms: + return new Color("d8b811"); + case Tab.Decorations: + return new Color("00c459"); + case Tab.Windows: + return new Color("50b5d7"); + default: + return new Color("7d7d7d"); + } +} +function layerHoverInit(layer) { + layer.onStateChange = (style) => { + if (style.hover) { + layer.style.opacity = "1.0"; + } else { + layer.style.opacity = "0"; + } + }; +} +function createElementEvent(obj, style) { + console.log(style); + style = { + ...new IconStyle(), + ...style + }; + const evttype = obj.type; + let key0 = `event_${obj.type}`; + if (!slices.has(key0)) { + console.warn(`Slice for event type ${evttype} not found, using Unknown.`); + if (!slices.has("event_Unknown")) { + return null; + } + key0 = "event_Unknown"; + } + const info = slices.get(key0); + if (!info) { + console.warn(`Slice info for event type ${evttype} not found.`); + return null; + } + const evttypeEnum = EventType[evttype]; + const evinfo = EventInfos[evttypeEnum]; + const key = "event_" + evttype; + const pulse = "event_beat_pulse"; + const hit = "event_beat_hit"; + const hitf = "event_beat_hit_freeze"; + const hitb = "event_beat_hit_burn"; + const beatcross = "event_beat_cross"; + const beatx = "event_beat_x"; + const beatsynco = "event_beat_synco"; + const beatline = "event_beat_line"; + const evtag = "event_tag"; + const evbarea = "event_beat_area"; + const beatColor = new Color(4284539717); + const element = document.createElement("div"); + const internalLayers = []; + function addLayers(layers) { + for (const layer of layers) { + if (layer) { + element.appendChild(layer); + internalLayers.push(layer); + } + } + } + element.style.imageRendering = "pixelated"; + switch (evttype) { + case EventType.AddClassicBeat: + { + const tick = obj.tick ?? 1; + const swing = (obj.swing ?? 0) || 1; + const hold = obj.hold ?? 0; + const syncoSwing = obj.syncoSwing ?? 0; + const prexs = obj.preXs ?? { + syncoBeat: -1, + syncoSwing: 0 + }; + const length = obj.length ?? 7; + const iconWidth = iconSize * (tick * (length - 1 - prexs.syncoSwing)); + const holdBar = hold > 0 ? createLayer(evbarea, new Rect(iconWidth, 0, iconSize * hold, iconSize), new Color(style.active ? 4291839731 : 4286462352), style) : null; + if (holdBar) { + holdBar.style.pointerEvents = "none"; + } + const backLayers2 = createBackLayer(new Size(iconWidth, iconSize), colorOf(obj.tab ?? evinfo.defaultTab), style); + const pulses = []; + for (let i = 0; i < length - 1; i++) { + const pulseLayer = createLayer(pulse, new Point(iconSize * (tick * (i + i % 2 * (1 - swing) - (i <= prexs.syncoBeat ? 0 : prexs.syncoSwing))), 0), null, style); + layerHoverInit(pulseLayer); + pulses.push(pulseLayer); + } + const hitLayer = createLayer(hit, new Point(iconSize * (tick * (length - 1 - (prexs.syncoSwing ?? 0))) - 1, 0), null, style); + addLayers([ + holdBar, + ...backLayers2, + ...pulses, + hitLayer + ]); + } + break; + case EventType.AddOneshotBeat: + { + const tick = obj.tick ?? 1; + const interval = obj.interval ?? 2; + const loop = obj.loops ?? 0; + const subdiv = obj.subdivisions ?? 1; + const hold = obj.hold ?? false; + const mode = obj.freezeBurnMode ?? null; + const delay = obj.freezeBurnMode === "Freezeshot" ? obj.delay ?? 0 : 0; + const subdivWidth = iconSize * (subdiv - 1) / subdiv * tick; + const eventWidth = iconSize * (interval * loop + tick + delay); + const off = interval - tick; + const backLayers2 = createBackLayer(new Size(eventWidth, iconSize), colorOf(obj.tab ?? evinfo.defaultTab), style); + const holdWidth = iconSize * (interval - tick - delay); + const holdLayer = hold && holdWidth - subdivWidth > 0 ? createLayer(evbarea, new Rect(eventWidth + subdivWidth, 0, holdWidth - subdivWidth, iconSize), new Color(style.enabled ? 4291839731 : 4285493103), style) : null; + const subdivLayer = subdiv > 1 ? createLayer(evbarea, new Rect(eventWidth, 0, subdivWidth, iconSize), new Color(style.enabled ? 4279480353 : 4285493103), style) : null; + const skipshotLayer = obj.skipshot ?? false ? createLayer(evbarea, new Rect(eventWidth + Math.max(subdivWidth, holdWidth), 0, iconSize * interval - Math.max(subdivWidth, holdWidth), iconSize), new Color(style.enabled ? 4291115835 : 4285493103), style) : null; + if (holdLayer) holdLayer.style.pointerEvents = "none"; + if (subdivLayer) subdivLayer.style.pointerEvents = "none"; + if (skipshotLayer) skipshotLayer.style.pointerEvents = "none"; + const pulses = []; + const crossLayers = []; + const posx = -off * iconSize; + const hittype = mode === "Freezeshot" ? hitf : hitb; + for (let l = 0; l <= loop; l++) { + for (let i = 0; i < subdiv; i++) { + const pulseLayer = createLayer(pulse, new Point(iconSize * (l * interval + i * tick / subdiv), 0), null, style); + layerHoverInit(pulseLayer); + pulses.push(pulseLayer); + } + for (let i = 0; i < subdiv; i++) { + const hitLayer2 = createLayer(hit, new Point(iconSize * (l * interval + delay + tick + i * tick / subdiv) - 1, 0), null, style); + pulses.push(hitLayer2); + } + const crossLayer1 = mode || hold ? createLayer(beatcross, new Point(iconSize * l * interval + posx - 1, 0), null, style) : null; + const crossLayer2 = mode ? createLayer(beatcross, new Point(iconSize * (l - (mode === "Freezeshot" ? 0 : 1)) * interval - 1, 0), null, style) : null; + const hitLayer = createLayer(hittype, new Point(iconSize * (l * interval + tick) - 1, 0), null, style); + if (crossLayer1) { + layerHoverInit(crossLayer1); + crossLayers.push(crossLayer1); + } + if (crossLayer2) { + layerHoverInit(crossLayer2); + crossLayers.push(crossLayer2); + } + pulses.push(hitLayer); + } + const loopLayer = createLayer("event_beat_loop", new Point(eventWidth, 0), null, style); + loopLayer.style.opacity = "0"; + loopLayer.onStateChange = (style2) => { + if (style2.hover) { + loopLayer.style.opacity = "1.0"; + } else { + loopLayer.style.opacity = "0"; + } + }; + addLayers([ + ...backLayers2, + holdLayer, + subdivLayer, + skipshotLayer, + ...pulses, + loopLayer, + ...crossLayers + ]); + } + break; + case EventType.Comment: + { + const backLayers2 = createBackLayer(info.bounds.size, new Color(obj.color ?? "7d7d7d"), style); + const iconLayer = createLayer(key, null, null, style); + addLayers([ + ...backLayers2, + iconLayer + ]); + } + break; + case EventType.AddFreeTimeBeat: + { + const hold = obj.hold ?? 0; + const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(info.bounds.width, 0, iconSize * hold - info.bounds.width, iconSize), new Color(style.active ? 4291839731 : 4286462352), style) : null; + if (holdLayer) { + holdLayer.style.pointerEvents = "none"; + } + const backLayers2 = createBackLayer(new Size(info.bounds.width, iconSize), beatColor, style); + const hitLayer = obj.pulse === 6 ? createLayer(hit, new Point(0, 0), null, style) : null; + const textLayer = createRDFontLayer(((obj.pulse ?? 0) + 1).toString(), style); + textLayer.style.left = `${1.5 * style.scale}px`; + textLayer.style.top = `${10 * style.scale}px`; + addLayers([ + holdLayer, + ...backLayers2, + hitLayer, + textLayer + ]); + } + break; + case EventType.DesktopColor: + { + const duration = obj.duration ?? 0; + const backLayers2 = createBackLayer(new Size(info.bounds.width, info.bounds.height * 4), colorOf(obj.tab ?? evinfo.defaultTab), style); + const iconLayer = createLayer(`${key}_0`, new Point(0, info.bounds.height), null, style); + const iconColorLayer = createLayer(key, new Point(0, info.bounds.height), null, style); + const durationLayer = obj.duration > 1 ? createLayer(evbarea, new Rect(iconSize, 0, (duration - 1) * iconSize, info.bounds.height * 4), new Color(4283471790), style) : null; + addLayers([ + ...backLayers2, + durationLayer, + iconLayer, + iconColorLayer + ]); + } + break; + case EventType.PulseFreeTimeBeat: + { + const hold = obj.hold ?? 0; + const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(info.bounds.width, 0, iconSize * hold - info.bounds.width, info.bounds.height), new Color(style.active ? 4291839731 : 4286462352), style) : null; + if (holdLayer) { + holdLayer.style.pointerEvents = "none"; + } + const backLayers2 = createBackLayer(new Size(info.bounds.width, info.bounds.height), beatColor, style); + const hitLayer = obj.pulse === 6 ? createLayer(hit, new Point(0, 0), null, style) : null; + let text = ""; + switch (obj.action) { + case "Custom": + text = ((obj.customPulse ?? 0) + 1).toString(); + break; + case "Increment": + text = ">"; + break; + case "Decrement": + text = "<"; + break; + case "Remove": + text = "x"; + break; + } + const textLayer = createRDFontLayer(text, style); + textLayer.style.left = `${1.5 * style.scale}px`; + textLayer.style.top = `${10 * style.scale}px`; + addLayers([ + holdLayer, + ...backLayers2, + hitLayer, + textLayer + ]); + } + break; + case EventType.ReorderRooms: + case EventType.ReorderWindows: + { + const backLayers2 = createBackLayer(info.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); + const orderLayers = []; + const order = obj.order ?? [ + 0, + 1, + 2, + 3 + ]; + for (let i = 0; i < order.length; i++) { + { + const orderLayer = createLayer(`${key}_${order[i]}`, new Point(0, i * iconSize), null, style); + orderLayers.push(orderLayer); + } + } + addLayers([ + ...backLayers2, + ...orderLayers + ]); + } + break; + default: + const backLayers = createBackLayer(info.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); + addLayers(backLayers); + switch (evttype) { + case EventType.CustomFlash: + addLayers([ + createLayer(`${key}_0`, null, new Color(obj.startColor ?? "000000"), style), + createLayer(`${key}_1`, null, new Color(obj.endColor ?? "000000"), style) + ]); + break; + case EventType.FlipScreen: + const flip = (obj.flipX ? 1 : 0) | (obj.flipY ? 1 : 0); + if (flip === 0) { + addLayers([ + createLayer(key, null, null, style) + ]); + } else { + addLayers([ + createLayer(`${key}_${flip - 1}`, null, null, style) + ]); + } + default: + const layer = document.createElement("div"); + layer.style.position = "absolute"; + layer.style.left = "0"; + layer.style.top = "0"; + layer.style.width = `${info.bounds.width * style.scale}px`; + layer.style.height = `${info.bounds.height * style.scale}px`; + layer.style.backgroundSize = `${info.bounds.width * style.scale}px ${info.bounds.height * style.scale}px`; + layer.style.backgroundImage = `url(${info.blobUrl})`; + element.appendChild(layer); + break; + } + break; + } + element.onStateChange = (style2) => { + style2 = { + ...style2 + }; + internalLayers.forEach((layer) => { + if (layer.onStateChange) { + layer.onStateChange(style2); + } + }); + }; + return element; +} +export { + createElementEvent +}; diff --git a/script/assets.bin b/script/assets.bin new file mode 100644 index 0000000000000000000000000000000000000000..92ef7480c903dbd28478251478cce7f84cf1ab7a GIT binary patch literal 4299 zcmZ`-&2Jk;6kn4zw1K##q?Aw>)B>e-6xj8*`4CB*E-fMu#cqQ*u$tYS*h|(k%kDZ( z5waq2podh-v5Gi?$gQ{BI6+%Z`3rih5aP@~z?^H;P*49M-<}39%s?u`}>*fh!}F-jqbw9sS(Mg4i8Bpd-srn zzQ9--iTj{qhzE{uC z4a#Dx8F-9&ti1x3{-_;fUY2AUFAgy1 zmi}mJZ|+}t0CV=?!0GhBbS5o2%<)KT%RC{C3 zh!gT_qAoeGD>G>FuunoaA!mV{OOqwZi=*yI1Zv>c*+T+Q*o2c;8Eeuw&2fXXSQrBj zq_LE~LL=`xng#Mis;lMs)CBlK3Kx9JTn(^{M<%lwgkDT*KtGqtH9KUTHl2`CmWI3! zIgqi+GvHnx4# zd&`ecK!vzxNz(zJ@F8kzmle4y_JBUy_oK)f@eC- zdwh{FhiYJMID349HXxHB89+Zu9Z7^K)dU@~8C!HStyl!j*g^qzcz@9&K5zG^tuDtV zkee}ydr{MCvj7-U`@Fj$oDk~vAgeO8md9do8|R@mqw!;L4WR747HQ8Xk4pemlC9p1 zdoeUe4!o37!t8Yd4^<9=loruI?!s9aIwbR!7kRc%Yj9kpU)+H(4N*YB+6K)&#gzBQ z611)fMpT`Xk%@2n)CMbxEZq5`&uG|E#+Tuli4#9f)r{gi%mlQGNO28{ER(YYRT6G# z;LDIiqIE&aL1JYxQmOu~^63WKpds`=yid`d%9?nF#0>=6q?e}e1?i1t8G9;mrpLUf z^BHuOzYTWe$TvEKwW)9xvLtFY0G@Pffke?_$b)ULCa14Kd_V2VB^r0QI{=n!DWPMY zdEI0W$V0rc@*Zu*j4M<+9UNDvd=~R6=P{~Y#5!wl z24m`6{W3=6Dz<0OV&oWD(k)>gtzipm?<4C)UE5TC7LDVZ%6hSI0`rQK7?sXoR6d7M zC5KVh$U;6F{;mCN%9`%*(HpeI+k=l!d}w`mR!4zP+8aRsEEqO zaf}KR7!^-pRGPY@qAizS#k|S|jH;LJs0@~CS1_+WixDYcop$Ap>ZP(%$6DNvF^?|b zb89BjS<$r}rKMtw?Wkxgg%cPRCwEjtmC{R?SAGSf%6TkVeFO7qZ(&rwx}!R>LT0cp z_PbcpDPl>tyrXhfp&ww$wK;^Ux^_=RR5gxcRG7G@BB~a%m{)ok^UCKiuad*4dhwp} zrCNIjpR3PcNupz9m$9T%zo#-$bw9v7`Y}3J&^2-Qq*rK6+P`TJHMxTTvh?4^A8PUq zPA*uV^I+OOIsZ1kpJCCDqS>x9_pN*ZhWE2&_d+&lKbjxI;?Zs9@EN$Meyzq?gdl!gW)cah?9_#y!XS_&sfm+7%hQb=>=MvEMpfIp{JikeILluH}zWX z9VuJbhi6G{UZ&6Cbz^O@?pXRRykJK$j6GmTqiQvcOdT0%`jMYznoqHmmNwJYxdJR0l1fvGFWgdn*o2BPL>iQLjS$?MZ741JXRIeHU literal 0 HcmV?d00001 diff --git a/script/assets.png b/script/assets.png new file mode 100644 index 0000000000000000000000000000000000000000..e4d05383beeade28a733a02a4342c3c46f1dc9e4 GIT binary patch literal 6653 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 Hu0mjfFf!)X literal 0 HcmV?d00001 diff --git a/script/special.js b/script/special.js index 930c5cf..5e8373a 100644 --- a/script/special.js +++ b/script/special.js @@ -1,3 +1,5 @@ +import { createElementEvent } from "./View.js"; + let curx = 0; let cury = 0; let rowx; @@ -198,10 +200,133 @@ function rdview() { textarea.addEventListener('input', initCanvas); } +function rdview2() { + let rdview = document.getElementsByClassName("rdview2")[0]; + if (!rdview) return; + let rdcanvas = rdview.querySelector(".canvas"); + let textarea = rdview.querySelector("textarea.area"); + let number = rdview.querySelector(".number"); + const textareaStyles = window.getComputedStyle(textarea); + [ + 'fontFamily', 'fontSize', 'fontWeight', + 'letterSpacing', 'lineHeight', 'padding', + ].forEach(property => { + number.style[property] = textareaStyles[property]; + }); + const canvas = document.createElement('canvas'); + const context = canvas.getContext('2d'); + const font = `${textareaStyles.fontSize} ${textareaStyles.fontFamily}`; + context.font = font; + function calcStringLines(sentence, width) { + if (!width) return 0; + const words = sentence.split(''); + let lineCount = 0; + + let currentLine = ''; + for (let i = 0; i < words.length; i++) { + const wordWidth = context.measureText(words[i]).width; + const lineWidth = context.measureText(currentLine).width; + if (lineWidth + wordWidth > width) { + lineCount++; + currentLine = words[i]; + } else { + currentLine += words[i]; + } + } + if (currentLine.trim() !== '') lineCount++; + return lineCount; + } + function calcLines() { + const lines = textarea.value.split('\n'); + const textareaWidth = textarea.getBoundingClientRect().width; + const textareaScrollWidth = textareaWidth - textarea.clientWidth; + const parseNumber = (v) => v.endsWith('px') ? parseInt(v.slice(0, -2), 10) : 0; + const textareaPaddingLeft = parseNumber(textareaStyles.paddingLeft); + const textareaPaddingRight = parseNumber(textareaStyles.paddingRight); + const textareaContentWidth = textareaWidth - textareaPaddingLeft - textareaPaddingRight - textareaScrollWidth; + const numLines = lines.map(lineString => calcStringLines(lineString, textareaContentWidth)); + let lineNumbers = []; + let i = 1; + while (numLines.length > 0) { + const numLinesOfSentence = numLines.shift(); + lineNumbers.push(i); + if (numLinesOfSentence > 1) { + Array(numLinesOfSentence - 1) + .fill('') + .forEach((_) => lineNumbers.push('')); + } + i++; + } + return lineNumbers; + } + function initLineNumbers() { + const lines = calcLines(); + const lineDoms = Array.from({ + length: lines.length, + }, (_, i) => `
${lines[i] || ' '}
`); + number.innerHTML = lineDoms.join(''); + } + function initCanvas() { + // const lang = textarea.value.split('\n')[0] + // const code = textarea.value.split('\n').slice(1).join('\n') + // rdcanvas.innerHTML = RDViewRender(lang, code) + const objs = JSON.parse(`[${textarea.value}]`); + const eventStyle = {"scale": 2.0, "showDuration": false }; + let maxy = 0; + for (let obj of objs) { + const style = {... eventStyle, enabled: obj.active ?? true }; + const elem = createElementEvent(obj, style); + elem.eventStyle = style; + elem.style.position = "absolute"; + elem.style.left = `${((((obj.bar ?? 1) - 1) * 8) + (obj.beat ?? 1) - 1) * 14 * eventStyle.scale}px`; + elem.style.top = `${(obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale}px`; + if (((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + elem.offsetHeight > maxy) { + maxy = ((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + elem.offsetHeight; + } + elem.addEventListener("mousedown", (event) => { + const eStyle = elem.eventStyle; + eStyle.active = true; + elem.onStateChange(eStyle); + }); + elem.addEventListener("mouseover", (event) => { + const eStyle = elem.eventStyle; + eStyle.hover = true; + elem.onStateChange(eStyle); + }); + elem.addEventListener("mouseout", (event) => { + const eStyle = elem.eventStyle; + eStyle.hover = false; + eStyle.active = false; + elem.onStateChange(eStyle); + }); + elem.addEventListener("mouseup", (event) => { + const eStyle = elem.eventStyle; + eStyle.active = false; + elem.onStateChange(eStyle); + }); + rdcanvas.style.position = "relative"; + rdcanvas.style.height = `${maxy + 4 * 14 * eventStyle.scale}px`; + if (elem) { + rdcanvas.appendChild(elem); + } + } + //rdcanvas.innerHTML = RDView2Render(json); + } + initCanvas() + initLineNumbers() + textarea.addEventListener('input', initLineNumbers); + textarea.addEventListener('input', initCanvas); +} + window.$docsify.plugins = [].concat(window.$docsify.plugins, function (hook) { hook.doneEach(function () { themePosition(); rdview(); + rdview2(); document.documentElement.scrollTop = document.body.scrollTop = 0; }); }); + +import("./docsify.min.js").then(() => { + +}); \ No newline at end of file diff --git a/style/special.css b/style/special.css index a5db117..7ca8cae 100644 --- a/style/special.css +++ b/style/special.css @@ -162,7 +162,7 @@ div.theme-positions>.infobox { .markdown-section:has(div.rdview) {} -div.rdview { +div.rdview, div.rdview2 { & div.canvas { width: 100%; } From 7acdc7fed0ad58c77e526026636d7de24e5c9648 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Wed, 14 Jan 2026 00:46:21 +0800 Subject: [PATCH 25/56] changelog --- pages/changelog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pages/changelog.md b/pages/changelog.md index 255722d..a3038ea 100644 --- a/pages/changelog.md +++ b/pages/changelog.md @@ -1,5 +1,10 @@ # 更新信息 +#### 2026-01-14 +- 制作人员表增加了 +- RDView 对正式版编辑器新特性的部分适配 +- 正在逐步同步 RDView2(RhythmBase.View) 的适配 + #### 2025-11-29 - 调整目录结构 - 双人模式措辞更改 From 6820dfc2aed92a6b73cd0b531b1d7d1331399a17 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Wed, 14 Jan 2026 00:55:38 +0800 Subject: [PATCH 26/56] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20json=20=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E5=BC=82=E5=B8=B8=E6=9C=AA=E6=8D=95=E8=8E=B7=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 4 +- script/View.js | 1 - script/special.js | 241 +++++++++++++++++++++++++++++----------------- 3 files changed, 154 insertions(+), 92 deletions(-) diff --git a/index.html b/index.html index 95d0522..8dc7901 100644 --- a/index.html +++ b/index.html @@ -136,8 +136,8 @@ - + > --> diff --git a/script/View.js b/script/View.js index ebf2918..57d27c6 100644 --- a/script/View.js +++ b/script/View.js @@ -728,7 +728,6 @@ function layerHoverInit(layer) { }; } function createElementEvent(obj, style) { - console.log(style); style = { ...new IconStyle(), ...style diff --git a/script/special.js b/script/special.js index 5e8373a..aeddffd 100644 --- a/script/special.js +++ b/script/special.js @@ -23,7 +23,7 @@ let positions = { "r5": { "y": 78, "name": "二轨时的第二轨/四轨时的第二轨" }, "r6": { "y": 57, "name": "三轨时的第一轨" }, "r7": { "y": 36, "name": "四轨时的第一轨" }, -} +}; function themePosition() { let theme_positions = document.getElementById("theme-positions"); @@ -63,45 +63,74 @@ function themePosition() { rowx = null; columny = null; for (let key in positions) { - if (positions[key].x !== null && Math.abs(x - positions[key].x) < 5) + if ( + positions[key].x !== null && Math.abs(x - positions[key].x) < 5 + ) { rowx = positions[key].x; - if (positions[key].y !== null && Math.abs(y - positions[key].y) < 5) + } + if ( + positions[key].y !== null && Math.abs(y - positions[key].y) < 5 + ) { columny = positions[key].y; + } } if (rowx) { - perx.innerText = (rowx / 3.52).toFixed(2) + "%" - perx.classList.add("c") - pxx.innerText = rowx + "px" - pxx.classList.add("c") - } - else { - perx.innerText = x_percent.toFixed(2) + "%" - perx.classList.remove("c") - pxx.innerText = x + "px" - pxx.classList.remove("c") + perx.innerText = (rowx / 3.52).toFixed(2) + "%"; + perx.classList.add("c"); + pxx.innerText = rowx + "px"; + pxx.classList.add("c"); + } else { + perx.innerText = x_percent.toFixed(2) + "%"; + perx.classList.remove("c"); + pxx.innerText = x + "px"; + pxx.classList.remove("c"); } if (columny) { - pery.innerText = (100 - columny / 1.98).toFixed(2) + "%" - pery.classList.add("c") - pxy.innerText = 198 - columny + "px" - pxy.classList.add("c") - } - else { - pery.innerText = (100 - y_percent).toFixed(2) + "%" - pery.classList.remove("c") - pxy.innerText = 198 - y + "px" - pxy.classList.remove("c") + pery.innerText = (100 - columny / 1.98).toFixed(2) + "%"; + pery.classList.add("c"); + pxy.innerText = 198 - columny + "px"; + pxy.classList.add("c"); + } else { + pery.innerText = (100 - y_percent).toFixed(2) + "%"; + pery.classList.remove("c"); + pxy.innerText = 198 - y + "px"; + pxy.classList.remove("c"); } infobox.style.right = "calc(" + (100 - x_percent) + "% + 10px)"; - infobox.style.top = "calc(" + (y_percent) + "% + 10px)"; - selectbox.style.left = rowx ? (rowx / 3.52 - 3.41) + "%" : columny ? "0" : "calc(" + x_percent + "% - 3px"; - selectbox.style.bottom = columny ? (100 - columny / 1.98 - 5.305) + "%" : rowx ? "0" : "calc(" + (100 - y_percent) + "% - 3px)"; + infobox.style.top = "calc(" + y_percent + "% + 10px)"; + selectbox.style.left = rowx + ? (rowx / 3.52 - 3.41) + "%" + : columny + ? "0" + : "calc(" + x_percent + "% - 3px"; + selectbox.style.bottom = columny + ? (100 - columny / 1.98 - 5.305) + "%" + : rowx + ? "0" + : "calc(" + (100 - y_percent) + "% - 3px)"; selectbox.style.width = rowx ? "6.82%" : columny ? "100%" : "6px"; selectbox.style.height = columny ? "10.61%" : rowx ? "100%" : "6px"; - let rowname = rowx ? positions[Object.keys(positions).find(key => positions[key].x === rowx)].name : ""; - let columnname = columny ? positions[Object.keys(positions).find(key => positions[key].y === columny)].name : ""; - theme_positions.querySelector(".other").innerText = rowname && columnname ? columnname + "上的" + rowname : rowname ? rowname : columnname ? columnname : ""; + let rowname = rowx + ? positions[ + Object.keys(positions).find((key) => positions[key].x === rowx) + ].name + : ""; + let columnname = columny + ? positions[ + Object.keys(positions).find((key) => + positions[key].y === columny + ) + ].name + : ""; + theme_positions.querySelector(".other").innerText = + rowname && columnname + ? columnname + "上的" + rowname + : rowname + ? rowname + : columnname + ? columnname + : ""; }); theme_positions.addEventListener("mouseleave", function (event) { perx.innerText = "100%"; @@ -114,13 +143,12 @@ function themePosition() { selectbox.style.bottom = "50%"; selectbox.style.width = "0"; selectbox.style.height = "0"; - perx.classList.remove("c") - pery.classList.remove("c") - pxx.classList.remove("c") - pxy.classList.remove("c") + perx.classList.remove("c"); + pery.classList.remove("c"); + pxx.classList.remove("c"); + pxy.classList.remove("c"); other.innerText = ""; }); - } function rdview() { @@ -131,21 +159,25 @@ function rdview() { let number = rdview.querySelector(".number"); const textareaStyles = window.getComputedStyle(textarea); [ - 'fontFamily', 'fontSize', 'fontWeight', - 'letterSpacing', 'lineHeight', 'padding', - ].forEach(property => { + "fontFamily", + "fontSize", + "fontWeight", + "letterSpacing", + "lineHeight", + "padding", + ].forEach((property) => { number.style[property] = textareaStyles[property]; }); - const canvas = document.createElement('canvas'); - const context = canvas.getContext('2d'); + const canvas = document.createElement("canvas"); + const context = canvas.getContext("2d"); const font = `${textareaStyles.fontSize} ${textareaStyles.fontFamily}`; context.font = font; function calcStringLines(sentence, width) { if (!width) return 0; - const words = sentence.split(''); + const words = sentence.split(""); let lineCount = 0; - let currentLine = ''; + let currentLine = ""; for (let i = 0; i < words.length; i++) { const wordWidth = context.measureText(words[i]).width; const lineWidth = context.measureText(currentLine).width; @@ -156,18 +188,22 @@ function rdview() { currentLine += words[i]; } } - if (currentLine.trim() !== '') lineCount++; + if (currentLine.trim() !== "") lineCount++; return lineCount; } function calcLines() { - const lines = textarea.value.split('\n'); + const lines = textarea.value.split("\n"); const textareaWidth = textarea.getBoundingClientRect().width; const textareaScrollWidth = textareaWidth - textarea.clientWidth; - const parseNumber = (v) => v.endsWith('px') ? parseInt(v.slice(0, -2), 10) : 0; + const parseNumber = (v) => + v.endsWith("px") ? parseInt(v.slice(0, -2), 10) : 0; const textareaPaddingLeft = parseNumber(textareaStyles.paddingLeft); const textareaPaddingRight = parseNumber(textareaStyles.paddingRight); - const textareaContentWidth = textareaWidth - textareaPaddingLeft - textareaPaddingRight - textareaScrollWidth; - const numLines = lines.map(lineString => calcStringLines(lineString, textareaContentWidth)); + const textareaContentWidth = textareaWidth - textareaPaddingLeft - + textareaPaddingRight - textareaScrollWidth; + const numLines = lines.map((lineString) => + calcStringLines(lineString, textareaContentWidth) + ); let lineNumbers = []; let i = 1; while (numLines.length > 0) { @@ -175,8 +211,8 @@ function rdview() { lineNumbers.push(i); if (numLinesOfSentence > 1) { Array(numLinesOfSentence - 1) - .fill('') - .forEach((_) => lineNumbers.push('')); + .fill("") + .forEach((_) => lineNumbers.push("")); } i++; } @@ -186,18 +222,18 @@ function rdview() { const lines = calcLines(); const lineDoms = Array.from({ length: lines.length, - }, (_, i) => `
${lines[i] || ' '}
`); - number.innerHTML = lineDoms.join(''); + }, (_, i) => `
${lines[i] || " "}
`); + number.innerHTML = lineDoms.join(""); } function initCanvas() { - const lang = textarea.value.split('\n')[0] - const code = textarea.value.split('\n').slice(1).join('\n') - rdcanvas.innerHTML = RDViewRender(lang, code) + const lang = textarea.value.split("\n")[0]; + const code = textarea.value.split("\n").slice(1).join("\n"); + rdcanvas.innerHTML = RDViewRender(lang, code); } - initCanvas() - initLineNumbers() - textarea.addEventListener('input', initLineNumbers); - textarea.addEventListener('input', initCanvas); + initCanvas(); + initLineNumbers(); + textarea.addEventListener("input", initLineNumbers); + textarea.addEventListener("input", initCanvas); } function rdview2() { @@ -208,21 +244,25 @@ function rdview2() { let number = rdview.querySelector(".number"); const textareaStyles = window.getComputedStyle(textarea); [ - 'fontFamily', 'fontSize', 'fontWeight', - 'letterSpacing', 'lineHeight', 'padding', - ].forEach(property => { + "fontFamily", + "fontSize", + "fontWeight", + "letterSpacing", + "lineHeight", + "padding", + ].forEach((property) => { number.style[property] = textareaStyles[property]; }); - const canvas = document.createElement('canvas'); - const context = canvas.getContext('2d'); + const canvas = document.createElement("canvas"); + const context = canvas.getContext("2d"); const font = `${textareaStyles.fontSize} ${textareaStyles.fontFamily}`; context.font = font; function calcStringLines(sentence, width) { if (!width) return 0; - const words = sentence.split(''); + const words = sentence.split(""); let lineCount = 0; - let currentLine = ''; + let currentLine = ""; for (let i = 0; i < words.length; i++) { const wordWidth = context.measureText(words[i]).width; const lineWidth = context.measureText(currentLine).width; @@ -233,18 +273,22 @@ function rdview2() { currentLine += words[i]; } } - if (currentLine.trim() !== '') lineCount++; + if (currentLine.trim() !== "") lineCount++; return lineCount; } function calcLines() { - const lines = textarea.value.split('\n'); + const lines = textarea.value.split("\n"); const textareaWidth = textarea.getBoundingClientRect().width; const textareaScrollWidth = textareaWidth - textarea.clientWidth; - const parseNumber = (v) => v.endsWith('px') ? parseInt(v.slice(0, -2), 10) : 0; + const parseNumber = (v) => + v.endsWith("px") ? parseInt(v.slice(0, -2), 10) : 0; const textareaPaddingLeft = parseNumber(textareaStyles.paddingLeft); const textareaPaddingRight = parseNumber(textareaStyles.paddingRight); - const textareaContentWidth = textareaWidth - textareaPaddingLeft - textareaPaddingRight - textareaScrollWidth; - const numLines = lines.map(lineString => calcStringLines(lineString, textareaContentWidth)); + const textareaContentWidth = textareaWidth - textareaPaddingLeft - + textareaPaddingRight - textareaScrollWidth; + const numLines = lines.map((lineString) => + calcStringLines(lineString, textareaContentWidth) + ); let lineNumbers = []; let i = 1; while (numLines.length > 0) { @@ -252,8 +296,8 @@ function rdview2() { lineNumbers.push(i); if (numLinesOfSentence > 1) { Array(numLinesOfSentence - 1) - .fill('') - .forEach((_) => lineNumbers.push('')); + .fill("") + .forEach((_) => lineNumbers.push("")); } i++; } @@ -263,25 +307,46 @@ function rdview2() { const lines = calcLines(); const lineDoms = Array.from({ length: lines.length, - }, (_, i) => `
${lines[i] || ' '}
`); - number.innerHTML = lineDoms.join(''); + }, (_, i) => `
${lines[i] || " "}
`); + number.innerHTML = lineDoms.join(""); } function initCanvas() { // const lang = textarea.value.split('\n')[0] // const code = textarea.value.split('\n').slice(1).join('\n') // rdcanvas.innerHTML = RDViewRender(lang, code) - const objs = JSON.parse(`[${textarea.value}]`); - const eventStyle = {"scale": 2.0, "showDuration": false }; + // try { + // JSON.parse(`[${textarea.value}]`); + // } catch (e) { + // rdcanvas.innerHTML = `
JSON解析错误:${e.message}
`; + // } + let objs = []; + try { + objs = JSON.parse(`[${textarea.value}]`); + } catch (e) { + rdcanvas.innerHTML = + `
JSON解析错误:${e.message}
`; + return; + } + const eventStyle = { "scale": 2.0, "showDuration": false }; let maxy = 0; for (let obj of objs) { - const style = {... eventStyle, enabled: obj.active ?? true }; + const style = { ...eventStyle, enabled: obj.active ?? true }; const elem = createElementEvent(obj, style); elem.eventStyle = style; elem.style.position = "absolute"; - elem.style.left = `${((((obj.bar ?? 1) - 1) * 8) + (obj.beat ?? 1) - 1) * 14 * eventStyle.scale}px`; - elem.style.top = `${(obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale}px`; - if (((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + elem.offsetHeight > maxy) { - maxy = ((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + elem.offsetHeight; + elem.style.left = `${ + ((((obj.bar ?? 1) - 1) * 8) + (obj.beat ?? 1) - 1) * 14 * + eventStyle.scale + }px`; + elem.style.top = `${ + (obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale + }px`; + if ( + ((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + + elem.offsetHeight > maxy + ) { + maxy = ((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + + elem.offsetHeight; } elem.addEventListener("mousedown", (event) => { const eStyle = elem.eventStyle; @@ -308,16 +373,15 @@ function rdview2() { rdcanvas.style.height = `${maxy + 4 * 14 * eventStyle.scale}px`; if (elem) { rdcanvas.appendChild(elem); + } } - } - //rdcanvas.innerHTML = RDView2Render(json); } - initCanvas() - initLineNumbers() - textarea.addEventListener('input', initLineNumbers); - textarea.addEventListener('input', initCanvas); + //rdcanvas.innerHTML = RDView2Render(json); + initCanvas(); + initLineNumbers(); + textarea.addEventListener("input", initLineNumbers); + textarea.addEventListener("input", initCanvas); } - window.$docsify.plugins = [].concat(window.$docsify.plugins, function (hook) { hook.doneEach(function () { themePosition(); @@ -328,5 +392,4 @@ window.$docsify.plugins = [].concat(window.$docsify.plugins, function (hook) { }); import("./docsify.min.js").then(() => { - -}); \ No newline at end of file +}); From 1bff68aac599d60ba9fec99444db4c2f68d9c195 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Wed, 14 Jan 2026 22:20:06 +0800 Subject: [PATCH 27/56] =?UTF-8?q?[RDView2]=20DOM=20=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E5=AE=8C=E5=B7=A5=EF=BC=8C=E8=BF=9B=E5=85=A5?= =?UTF-8?q?=E5=8F=AF=E8=A1=8C=E6=80=A7=E6=B5=8B=E8=AF=95=E9=98=B6=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 35 +- pages/appendix_tools.md | 79 +- {script => rdviewAssets}/assets.bin | Bin 4299 -> 4326 bytes rdviewAssets/assets.png | Bin 7459 -> 6646 bytes script/Extensions.js | 1176 --------------------------- script/View.js | 576 ++++++++++--- script/assets.png | Bin 6653 -> 0 bytes script/rdview2.js | 143 ---- script/special.js | 10 +- 9 files changed, 548 insertions(+), 1471 deletions(-) rename {script => rdviewAssets}/assets.bin (66%) delete mode 100644 script/Extensions.js delete mode 100644 script/assets.png delete mode 100644 script/rdview2.js diff --git a/index.html b/index.html index 8dc7901..552e396 100644 --- a/index.html +++ b/index.html @@ -19,8 +19,8 @@ - -
加载中...
+ +
加载中...
- diff --git a/pages/appendix_tools.md b/pages/appendix_tools.md index 3d1ea8b..b9fe73d 100644 --- a/pages/appendix_tools.md +++ b/pages/appendix_tools.md @@ -23,22 +23,69 @@ g 1 1 5 4 #0ff{ ---
--- \ No newline at end of file diff --git a/script/assets.bin b/rdviewAssets/assets.bin similarity index 66% rename from script/assets.bin rename to rdviewAssets/assets.bin index 92ef7480c903dbd28478251478cce7f84cf1ab7a..2c1e294273840c8a547aecb8dd5761cf9caa2b25 100644 GIT binary patch delta 180 zcmX@D_)JmanNVt3YFS(K a;N}Fzvph@=29x#p+L;`gHgDq-WdZ<3S477E delta 108 zcmaE+cv_M1=|qV~zDF$1F$$-arRJ5y2d9?!CT8Y^XXd5kmmkqO$0!654@%8T%uR&~ z%ba5rfe5>#7H5~_7dYqVk diff --git a/rdviewAssets/assets.png b/rdviewAssets/assets.png index 028437289ecd91c8cf7f7f3d6d22d8d1858cb389..7b9cbb9235cda4699063f54216ca73a0946c1526 100644 GIT binary patch literal 6646 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 e3T3o6v}%bdywNuO;kUn@01Xvg= this.left && point.x <= this.right && point.y >= this.top && point.y <= this.bottom; - } -}; -var Color = class _Color { - red; - green; - blue; - alpha; - constructor(r, g, b, a) { - if (typeof r === "string") { - if (r.startsWith("#")) { - r = r.substring(1); - } - r = r.trim(); - switch (r.length) { - case 3: - r = r.split("").map((c) => c + c).join(""); - break; - case 4: - r = "ff" + r.split("").map((c) => c + c).join(""); - break; - case 6: - r = "ff" + r; - break; - case 8: - break; - default: - r = "ffffffff"; - } - const u = parseInt(r, 16); - this.alpha = u >> 24 & 255; - this.red = u >> 16 & 255; - this.green = u >> 8 & 255; - this.blue = u & 255; - return; - } - if (r !== void 0 && g === void 0 && b === void 0 && a === void 0) { - this.alpha = r >> 24 & 255; - this.red = r >> 16 & 255; - this.green = r >> 8 & 255; - this.blue = r & 255; - return; - } - if (r !== void 0 && g !== void 0 && b !== void 0 && a === void 0) { - this.red = r; - this.green = g; - this.blue = b; - this.alpha = 255; - return; - } - this.red = r ?? 0; - this.green = g ?? 0; - this.blue = b ?? 0; - this.alpha = a ?? 0; - } - toUint32() { - return ((this.alpha & 255) << 24 | (this.red & 255) << 16 | (this.green & 255) << 8 | this.blue & 255) >>> 0; - } - clone() { - return new _Color(this.red, this.green, this.blue, this.alpha); - } -}; -var Paint = class { - color = new Color(255, 255, 255, 255); -}; -var SliceInfo = class { - bounds = new Rect(); - center = new Rect(); - pivot = new Point(); - scale = 1; - get isNinePatch() { - return !this.center.isEmpty; - } -}; -var AssetManager = class _AssetManager { - static AssetFilePath = "assets.png"; - static SlicesFilePath = "assets.json"; - static DirectoryPath = "."; - static assetFile = null; - static slices = /* @__PURE__ */ new Map(); - static _isLoaded = false; - constructor(dirpath) { - _AssetManager.DirectoryPath = dirpath; - _AssetManager.initialize(); - } - static get isLoaded() { - return this._isLoaded; - } - static async loadAssetFile() { - const pngPath = _AssetManager.DirectoryPath + "/" + this.AssetFilePath; - return await new Promise((resolve, reject) => { - const img = new Image(); - img.onload = () => resolve(img); - img.onerror = (e) => reject(new Error(`Failed to load asset file: ${pngPath}`)); - img.src = pngPath; - }); - } - static async loadSlices() { - if (this._isLoaded) { - return /* @__PURE__ */ new Map(); - } - const jsonPath = _AssetManager.DirectoryPath + "/" + this.SlicesFilePath; - const response = await fetch(jsonPath); - const json = await response.json(); - const slices = json["meta"]["slices"]; - const sliceInfos = /* @__PURE__ */ new Map(); - for (const slice of slices) { - const name = slice["name"]; - const keys = slice["keys"]; - const sliceInfo = new SliceInfo(); - for (const key of keys) { - const bounds = key["bounds"]; - sliceInfo.bounds.left = bounds["x"]; - sliceInfo.bounds.top = bounds["y"]; - sliceInfo.bounds.right = bounds["x"] + bounds["w"]; - sliceInfo.bounds.bottom = bounds["y"] + bounds["h"]; - const center = key["center"]; - if (center) { - sliceInfo.center.left = center["x"]; - sliceInfo.center.top = center["y"]; - sliceInfo.center.right = center["x"] + center["w"]; - sliceInfo.center.bottom = center["y"] + center["h"]; - } - const pivot = key["pivot"]; - if (pivot) { - sliceInfo.pivot.x = pivot["x"]; - sliceInfo.pivot.y = pivot["y"]; - } - const data = key["data"]; - if (data) { - } - sliceInfos.set(name, sliceInfo); - } - } - return sliceInfos; - } - static async initialize() { - if (this._isLoaded) { - return; - } - this.assetFile = await this.loadAssetFile(); - this.slices = await this.loadSlices(); - this._isLoaded = true; - } -}; - -// RhythmBase.View/Assets/Consts.ts -var Tab = /* @__PURE__ */ function(Tab2) { - Tab2["Sounds"] = "sounds"; - Tab2["Rows"] = "rows"; - Tab2["Actions"] = "actions"; - Tab2["Decorations"] = "decorations"; - Tab2["Rooms"] = "rooms"; - Tab2["Windows"] = "windows"; - Tab2["Unknown"] = "unknown"; - return Tab2; -}({}); -var EventType = /* @__PURE__ */ function(EventType2) { - EventType2["AddClassicBeat"] = "AddClassicBeat"; - EventType2["AddFreeTimeBeat"] = "AddFreeTimeBeat"; - EventType2["AddOneshotBeat"] = "AddOneshotBeat"; - EventType2["AdvanceText"] = "AdvanceText"; - EventType2["BassDrop"] = "BassDrop"; - EventType2["Blend"] = "Blend"; - EventType2["CallCustomMethod"] = "CallCustomMethod"; - EventType2["ChangeCharacter"] = "ChangeCharacter"; - EventType2["ChangePlayersRows"] = "ChangePlayersRows"; - EventType2["Comment"] = "Comment"; - EventType2["CustomFlash"] = "CustomFlash"; - EventType2["DesktopColor"] = "DesktopColor"; - EventType2["FadeRoom"] = "FadeRoom"; - EventType2["FinishLevel"] = "FinishLevel"; - EventType2["Flash"] = "Flash"; - EventType2["FlipScreen"] = "FlipScreen"; - EventType2["FloatingText"] = "FloatingText"; - EventType2["ForwardDecorationEvent"] = "ForwardDecorationEvent"; - EventType2["ForwardEvent"] = "ForwardEvent"; - EventType2["ForwardRowEvent"] = "ForwardRowEvent"; - EventType2["HideRow"] = "HideRow"; - EventType2["HideWindow"] = "HideWindow"; - EventType2["InvertColors"] = "InvertColors"; - EventType2["MacroEvent"] = "MacroEvent"; - EventType2["MaskRoom"] = "MaskRoom"; - EventType2["Move"] = "Move"; - EventType2["MoveCamera"] = "MoveCamera"; - EventType2["MoveRoom"] = "MoveRoom"; - EventType2["MoveRow"] = "MoveRow"; - EventType2["NarrateRowInfo"] = "NarrateRowInfo"; - EventType2["NewWindowDance"] = "NewWindowDance"; - EventType2["PaintHands"] = "PaintHands"; - EventType2["PlayAnimation"] = "PlayAnimation"; - EventType2["PlayExpression"] = "PlayExpression"; - EventType2["PlaySong"] = "PlaySong"; - EventType2["PlaySound"] = "PlaySound"; - EventType2["PulseCamera"] = "PulseCamera"; - EventType2["PulseFreeTimeBeat"] = "PulseFreeTimeBeat"; - EventType2["ReadNarration"] = "ReadNarration"; - EventType2["RenameWindow"] = "RenameWindow"; - EventType2["ReorderRooms"] = "ReorderRooms"; - EventType2["ReorderRow"] = "ReorderRow"; - EventType2["ReorderSprite"] = "ReorderSprite"; - EventType2["ReorderWindows"] = "ReorderWindows"; - EventType2["SayReadyGetSetGo"] = "SayReadyGetSetGo"; - EventType2["SetBackgroundColor"] = "SetBackgroundColor"; - EventType2["SetBeatSound"] = "SetBeatSound"; - EventType2["SetBeatsPerMinute"] = "SetBeatsPerMinute"; - EventType2["SetClapSounds"] = "SetClapSounds"; - EventType2["SetCountingSound"] = "SetCountingSound"; - EventType2["SetCrotchetsPerBar"] = "SetCrotchetsPerBar"; - EventType2["SetForeground"] = "SetForeground"; - EventType2["SetGameSound"] = "SetGameSound"; - EventType2["SetHandOwner"] = "SetHandOwner"; - EventType2["SetHeartExplodeInterval"] = "SetHeartExplodeInterval"; - EventType2["SetHeartExplodeVolume"] = "SetHeartExplodeVolume"; - EventType2["SetMainWindow"] = "SetMainWindow"; - EventType2["SetOneshotWave"] = "SetOneshotWave"; - EventType2["SetPlayStyle"] = "SetPlayStyle"; - EventType2["SetRoomContentMode"] = "SetRoomContentMode"; - EventType2["SetRoomPerspective"] = "SetRoomPerspective"; - EventType2["SetRowXs"] = "SetRowXs"; - EventType2["SetSpeed"] = "SetSpeed"; - EventType2["SetTheme"] = "SetTheme"; - EventType2["SetVFXPreset"] = "SetVFXPreset"; - EventType2["SetVisible"] = "SetVisible"; - EventType2["SetWindowContent"] = "SetWindowContent"; - EventType2["ShakeScreen"] = "ShakeScreen"; - EventType2["ShakeScreenCustom"] = "ShakeScreenCustom"; - EventType2["ShowDialogue"] = "ShowDialogue"; - EventType2["ShowHands"] = "ShowHands"; - EventType2["ShowRooms"] = "ShowRooms"; - EventType2["ShowStatusSign"] = "ShowStatusSign"; - EventType2["ShowSubdivisionsRows"] = "ShowSubdivisionsRows"; - EventType2["SpinningRows"] = "SpinningRows"; - EventType2["Stutter"] = "Stutter"; - EventType2["TagAction"] = "TagAction"; - EventType2["TextExplosion"] = "TextExplosion"; - EventType2["Tile"] = "Tile"; - EventType2["Tint"] = "Tint"; - EventType2["TintRows"] = "TintRows"; - EventType2["WindowResize"] = "WindowResize"; - return EventType2; -}({}); -var EventAttriblte = /* @__PURE__ */ function(EventAttriblte2) { - EventAttriblte2[EventAttriblte2["None"] = 0] = "None"; - EventAttriblte2[EventAttriblte2["DurationEvent"] = 1] = "DurationEvent"; - EventAttriblte2[EventAttriblte2["RoomEvent"] = 2] = "RoomEvent"; - return EventAttriblte2; -}({}); -var EventInfo = class { - defaultTab; - durationKey = "duration"; - attr; - get isDurationEvent() { - return (this.attr & EventAttriblte.DurationEvent) !== 0; - } - get isRoomEvent() { - return (this.attr & EventAttriblte.RoomEvent) !== 0; - } - constructor(tab, enumAttriblte, durationKey) { - this.defaultTab = tab; - this.attr = enumAttriblte ?? EventAttriblte.None; - if (durationKey !== void 0) { - this.durationKey = durationKey; - } - } -}; -var WordInfo = class { - phrase; - length; - constructor(phrase, length) { - this.phrase = phrase; - this.length = length; - } -}; -var WordInfos = { - SayReaDyGetSetGoNew: new WordInfo("Rea, Dy, Get, Set, Go!", 4), - SayReaDyGetSetOne: new WordInfo("Rea, Dy, Get, Set, One!", 4), - SayGetSetGo: new WordInfo("Get, Set, Go!", 2), - SayGetSetOne: new WordInfo("Get, Set, One!", 2), - JustSayRea: new WordInfo("Rea", 0), - JustSayDy: new WordInfo("Dy", 0), - JustSayGet: new WordInfo("Get", 0), - JustSaySet: new WordInfo("Set", 0), - JustSayAnd: new WordInfo("And", 0), - JustSayGo: new WordInfo("Go!", 0), - JustSayStop: new WordInfo("Stop", 0), - JustSayAndStop: new WordInfo("And Stop!", 0), - SaySwitch: new WordInfo("Switch", 0), - SayWatch: new WordInfo("Watch", 0), - SayListen: new WordInfo("Listen", 0), - Count1: new WordInfo("1", 0), - Count2: new WordInfo("2", 0), - Count3: new WordInfo("3", 0), - Count4: new WordInfo("4", 0), - Count5: new WordInfo("5", 0), - Count6: new WordInfo("6", 0), - Count7: new WordInfo("7", 0), - Count8: new WordInfo("8", 0), - Count9: new WordInfo("9", 0), - Count10: new WordInfo("10", 0), - SayReadyGetSetGo: new WordInfo("Ready, Get, Set, Go!", 4), - JustSayReady: new WordInfo("Ready", 0) -}; -var EventInfos = { - AddClassicBeat: new EventInfo(Tab.Rows), - AddFreeTimeBeat: new EventInfo(Tab.Rows), - AddOneshotBeat: new EventInfo(Tab.Rows), - AdvanceText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - BassDrop: new EventInfo(Tab.Actions), - Blend: new EventInfo(Tab.Decorations), - CallCustomMethod: new EventInfo(Tab.Actions), - ChangeCharacter: new EventInfo(Tab.Actions), - ChangePlayersRows: new EventInfo(Tab.Actions), - Comment: new EventInfo(Tab.Unknown), - CustomFlash: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - DesktopColor: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent), - FadeRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), - FinishLevel: new EventInfo(Tab.Actions), - Flash: new EventInfo(Tab.Actions), - FlipScreen: new EventInfo(Tab.Actions), - FloatingText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - ForwardDecorationEvent: new EventInfo(Tab.Decorations), - ForwardEvent: new EventInfo(Tab.Unknown), - ForwardRowEvent: new EventInfo(Tab.Rows), - HideRow: new EventInfo(Tab.Actions), - HideWindow: new EventInfo(Tab.Windows), - InvertColors: new EventInfo(Tab.Actions), - MacroEvent: new EventInfo(Tab.Unknown), - MaskRoom: new EventInfo(Tab.Rooms), - Move: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), - MoveCamera: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - MoveRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), - MoveRow: new EventInfo(Tab.Rows, EventAttriblte.DurationEvent), - NarrateRowInfo: new EventInfo(Tab.Sounds), - NewWindowDance: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - PaintHands: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - PlayAnimation: new EventInfo(Tab.Decorations), - PlayExpression: new EventInfo(Tab.Actions), - PlaySong: new EventInfo(Tab.Sounds), - PlaySound: new EventInfo(Tab.Sounds), - PulseCamera: new EventInfo(Tab.Actions), - PulseFreeTimeBeat: new EventInfo(Tab.Rows), - ReadNarration: new EventInfo(Tab.Sounds), - RenameWindow: new EventInfo(Tab.Windows), - ReorderRooms: new EventInfo(Tab.Rooms), - ReorderRow: new EventInfo(Tab.Rows), - ReorderSprite: new EventInfo(Tab.Decorations), - ReorderWindows: new EventInfo(Tab.Windows), - SayReadyGetSetGo: new EventInfo(Tab.Sounds), - SetBackgroundColor: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - SetBeatSound: new EventInfo(Tab.Sounds), - SetBeatsPerMinute: new EventInfo(Tab.Sounds), - SetClapSounds: new EventInfo(Tab.Sounds), - SetCountingSound: new EventInfo(Tab.Sounds), - SetCrotchetsPerBar: new EventInfo(Tab.Sounds), - SetForeground: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - SetGameSound: new EventInfo(Tab.Sounds), - SetHandOwner: new EventInfo(Tab.Actions), - SetHeartExplodeInterval: new EventInfo(Tab.Sounds), - SetHeartExplodeVolume: new EventInfo(Tab.Sounds), - SetMainWindow: new EventInfo(Tab.Windows), - SetOneshotWave: new EventInfo(Tab.Rows), - SetPlayStyle: new EventInfo(Tab.Actions), - SetRoomContentMode: new EventInfo(Tab.Rooms), - SetRoomPerspective: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), - SetRowXs: new EventInfo(Tab.Rows), - SetSpeed: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - SetTheme: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - SetVFXPreset: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - SetVisible: new EventInfo(Tab.Decorations), - SetWindowContent: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent), - ShakeScreen: new EventInfo(Tab.Actions), - ShakeScreenCustom: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - ShowDialogue: new EventInfo(Tab.Actions), - ShowHands: new EventInfo(Tab.Actions), - ShowRooms: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), - ShowStatusSign: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - ShowSubdivisionsRows: new EventInfo(Tab.Actions), - SpinningRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - Stutter: new EventInfo(Tab.Actions), - TagAction: new EventInfo(Tab.Actions), - TextExplosion: new EventInfo(Tab.Actions), - Tile: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), - Tint: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), - TintRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - WindowResize: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent) -}; - -// RhythmBase.View/Extensions.ts -var PatchStyle = /* @__PURE__ */ function(PatchStyle2) { - PatchStyle2[PatchStyle2["Repeat"] = 0] = "Repeat"; - PatchStyle2[PatchStyle2["Strentch"] = 1] = "Strentch"; - return PatchStyle2; -}(PatchStyle || {}); -var IconStyle = class { - Enabled; - Active = false; - Hover = false; - Scale = 2; -}; -var Extensions = class { - static lineHeight = 6; - static charHeight = 8; - static iconSize = 14; - static evtag = "event_tag"; - static evbarea = "event_beat_area"; - static asm = new AssetManager("./rdviewAssets"); - constructor() { - AssetManager.initialize(); - } - static DrawSlice(canvas, src, dest, scale = 1, style = PatchStyle.Strentch, color) { - const ctx = canvas; - if (!ctx) return; - if (!AssetManager.slices.has(src)) { - return; - } - const info = AssetManager.slices.get(src); - if (dest instanceof Point) { - const destRect = new Rect(dest.x - info.pivot.x * scale, dest.y - info.pivot.y * scale, info.bounds.width * scale, info.bounds.height * scale); - if (color) { - if (color.alpha === 0) { - return destRect; - } - this.drawSliceWithColor(ctx, info, destRect, color); - } else { - this.drawSliceNormal(ctx, info, destRect); - } - return destRect; - } else { - if (info.isNinePatch) { - this.DrawNinePatch(canvas, info, dest, color, scale, style); - } else { - if (color) { - this.drawSliceWithColor(ctx, info, dest, color); - } else { - this.drawSliceNormal(ctx, info, dest); - } - } - } - } - static drawSliceNormal(ctx, info, destRect) { - const bitmap = AssetManager.assetFile; - if (!bitmap) return; - ctx.imageSmoothingEnabled = false; - ctx.drawImage(bitmap, info.bounds.x, info.bounds.y, info.bounds.width, info.bounds.height, destRect.x, destRect.y, destRect.width, destRect.height); - } - static drawSliceWithColor(ctx, info, destRect, color) { - const bitmap = AssetManager.assetFile; - if (!bitmap) return; - if (color.alpha === 0) { - return; - } - const tr = color.red / 255; - const tg = color.green / 255; - const tb = color.blue / 255; - const ta = color.alpha / 255; - ctx.save(); - const tempCanvas = typeof document !== "undefined" ? document.createElement("canvas") : {}; - tempCanvas.width = info.bounds.width; - tempCanvas.height = info.bounds.height; - const tempCtx = tempCanvas.getContext("2d"); - tempCtx.imageSmoothingEnabled = false; - tempCtx.drawImage(bitmap, info.bounds.x, info.bounds.y, info.bounds.width, info.bounds.height, 0, 0, info.bounds.width, info.bounds.height); - const imageData = tempCtx.getImageData(0, 0, info.bounds.width, info.bounds.height); - const data = imageData.data; - for (let i = 0; i < data.length; i += 4) { - const originalAlpha = data[i + 3]; - const gray = data[i] * 0.2126 + data[i + 1] * 0.7152 + data[i + 2] * 0.0722; - data[i] = gray * tr; - data[i + 1] = gray * tg; - data[i + 2] = gray * tb; - data[i + 3] = originalAlpha * ta; - } - tempCtx.putImageData(imageData, 0, 0); - ctx.imageSmoothingEnabled = false; - ctx.globalAlpha = 1; - ctx.drawImage(tempCanvas, 0, 0, info.bounds.width, info.bounds.height, destRect.x, destRect.y, destRect.width, destRect.height); - ctx.restore(); - } - static DrawNinePatch(canvas, info, dest, color, scale = 1, style = PatchStyle.Strentch) { - const ctx = canvas; - if (!ctx) return; - const bitmap = AssetManager.assetFile; - if (!bitmap) return; - const srcBounds = info.bounds; - const destRect = dest; - const centerBounds = info.center; - const sx0 = srcBounds.left; - const sx3 = srcBounds.right; - const sy0 = srcBounds.top; - const sy3 = srcBounds.bottom; - const sx1 = sx0 + centerBounds.left; - const sx2 = sx0 + centerBounds.right; - const sy1 = sy0 + centerBounds.top; - const sy2 = sy0 + centerBounds.bottom; - const swLeft = sx1 - sx0; - const swCenter = sx2 - sx1; - const swRight = sx3 - sx2; - const shTop = sy1 - sy0; - const shCenter = sy2 - sy1; - const shBottom = sy3 - sy2; - const dwLeft = swLeft * scale; - let dwRight = swRight * scale; - let dwCenter = destRect.width - dwLeft - dwRight; - if (dwCenter < 0) { - const scaleX = destRect.width / Math.max(1, swLeft + swRight); - dwRight = Math.max(0, destRect.width - Math.round(swLeft * scaleX)); - dwCenter = 0; - } - const dhTop = shTop * scale; - let dhBottom = shBottom * scale; - let dhCenter = destRect.height - dhTop - dhBottom; - if (dhCenter < 0) { - const scaleY = destRect.height / Math.max(1, shTop + shBottom); - dhBottom = Math.max(0, destRect.height - Math.round(shTop * scaleY)); - dhCenter = 0; - } - const srcXs = [ - sx0, - sx1, - sx2, - sx3 - ]; - const srcYs = [ - sy0, - sy1, - sy2, - sy3 - ]; - const dx0 = destRect.left; - const dx1 = dx0 + dwLeft; - const dx2 = dx1 + dwCenter; - const dx3 = destRect.right; - const dy0 = destRect.top; - const dy1 = dy0 + dhTop; - const dy2 = dy1 + dhCenter; - const dy3 = destRect.bottom; - const dstXs = [ - dx0, - dx1, - dx2, - dx3 - ]; - const dstYs = [ - dy0, - dy1, - dy2, - dy3 - ]; - for (let row = 0; row < 3; row++) { - for (let col = 0; col < 3; col++) { - const sLeft = srcXs[col]; - const sTop = srcYs[row]; - const sRight = srcXs[col + 1]; - const sBottom = srcYs[row + 1]; - const sW = sRight - sLeft; - const sH = sBottom - sTop; - if (sW <= 0 || sH <= 0) continue; - const dLeft = dstXs[col]; - const dTop = dstYs[row]; - const dRight = dstXs[col + 1]; - const dBottom = dstYs[row + 1]; - const dW = dRight - dLeft; - const dH = dBottom - dTop; - if (dW <= 0 || dH <= 0) continue; - if (style === PatchStyle.Repeat) { - for (let y = dTop; y < dBottom; y += sH * scale) { - const th = Math.min(sH, (dBottom - y) / scale); - for (let x = dLeft; x < dRight; x += sW * scale) { - const tw = Math.min(sW, (dRight - x) / scale); - var sRect = new Rect(sLeft, sTop, tw, th); - var dRect = new Rect(x, y, tw * scale, th * scale); - if (color && color.alpha > 0) { - this.drawSliceWithColor(ctx, { - bounds: sRect, - pivot: new Point(0, 0), - isNinePatch: false, - center: new Rect(), - scale: 1 - }, dRect, color); - } else { - this.drawSliceNormal(ctx, { - bounds: sRect, - pivot: new Point(0, 0), - isNinePatch: false, - center: new Rect(), - scale: 1 - }, dRect); - } - } - } - } else { - if (color && color.alpha > 0) { - this.drawSliceWithColor(ctx, { - bounds: new Rect(sLeft, sTop, sW, sH), - pivot: new Point(0, 0), - isNinePatch: false, - center: new Rect(), - scale: 1 - }, new Rect(dLeft, dTop, dW, dH), color); - } else { - ctx.imageSmoothingEnabled = false; - ctx.drawImage(bitmap, sLeft, sTop, sW, sH, dLeft, dTop, dW, dH); - } - } - } - } - } - static MeasureRDFontText(canvas, text, scale = 1) { - let len = 0; - for (let i = 0; i < text.length; i++) { - const c = text.charAt(i); - if (c === "\n") { - len = 0; - } else { - const info = AssetManager.slices.get(`char_${c.charCodeAt(0).toString(16).padStart(4, "0")}`); - if (info) { - len += info.bounds.width * scale; - } - } - } - return len; - } - static DrawRDFontText(canvas, text, dest, color, scale = 1) { - const start = dest.clone(); - const result = new Rect(); - start.y -= this.lineHeight * scale; - for (let i = 0; i < text.length; i++) { - const c = text.charAt(i); - if (c === "\n") { - start.x = dest.x; - start.y += this.lineHeight * scale; - continue; - } else { - const charcode = c.charCodeAt(0).toString(16).padStart(4, "0"); - const area = this.DrawSlice(canvas, `char_${charcode}`, start, scale, PatchStyle.Strentch, color); - result.union(area); - start.x += area.width * scale; - } - } - return result; - } - static DrawEventIcon(canvas, evt, dest, style) { - let destRect = new Rect(); - const key = `event_${evt.type}`; - const evttype = evt.type; - const info = AssetManager.slices.get(key) ?? AssetManager.slices.get("event_Unknown") ?? (() => { - throw new Error("information not found."); - }); - if (!(info instanceof SliceInfo)) { - return new Rect(); - } - const pulse = "event_beat_pulse"; - const hit = "event_beat_hit"; - const hitf = "event_beat_hit_freeze"; - const hitb = "event_beat_hit_burn"; - const beatcross = "event_beat_cross"; - const beatx = "event_beat_x"; - const beatsynco = "event_beat_synco"; - const beatline = "event_beat_line"; - const beatcolor = new Color(4284539717); - const evtInfo = EventInfos[evt.type]; - evt.tab = evt.tab ?? evtInfo.defaultTab; - switch (evt.type) { - case EventType.AddClassicBeat: - { - const tick = evt.tick ?? 1; - const swing = evt.swing === 0 ? 1 : evt.swing; - const hold = evt.hold ?? 0; - const syncoswing = evt.syncoSwing ?? 0; - const syncobeat = evt.syncoBeat ?? -1; - const classicbeatlength = evt.length ?? 7; - destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale * (tick * (classicbeatlength - 1 - (syncoswing ?? 0))), this.iconSize * style.Scale); - if (hold > 0) { - this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, this.iconSize * style.Scale * hold, this.iconSize * style.Scale), style.Scale, PatchStyle.Repeat, new Color(style.Active ? 4291839731 : 4286462352)); - } - this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); - if (style.Hover) { - for (let i = 0; i < classicbeatlength - 1; i++) { - this.DrawSlice(canvas, pulse, new Point(dest.x + this.iconSize * style.Scale * (tick * (i + i % 2 * (1 - (swing ?? 1)) - (i <= (syncobeat ?? -1) ? 0 : syncoswing ?? 0))), dest.y), style.Scale); - } - } - this.DrawSlice(canvas, hit, new Point(dest.x + style.Scale * (this.iconSize * (tick * (classicbeatlength - 1 - (syncoswing ?? 0))) - 1), dest.y), style.Scale); - } - break; - case EventType.AddFreeTimeBeat: - { - const hold = (evt.hold ?? 0) - info.bounds.width / this.iconSize; - destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(beatcolor.clone(), style.Active, style.Enabled ?? evt.active ?? true), style); - this.DrawRDFontText(canvas, ((evt.pulse ?? 0) + 1).toString(), new Point(dest.x + 1.5 * style.Scale, dest.y + 10 * style.Scale), new Color(4294967295), style.Scale); - if ((evt.pulse ?? 0) == 6) { - this.DrawSlice(canvas, hit, new Point(dest.x, dest.y), style.Scale); - } - if (hold > 0) { - this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, this.iconSize * style.Scale * hold, info.bounds.height * style.Scale), style.Scale, PatchStyle.Repeat, new Color(style.Active ? 4284539717 : 4281299234)); - } - } - break; - case EventType.AddOneshotBeat: - { - const tick = evt.tick ?? 1; - const interval = evt.interval ?? 1; - const loop = Math.floor(evt.loops ?? 0); - const subdiv = evt.subdivisions ?? 1; - const freezeBurnMode = evt.freezeBurnMode ?? "Wave"; - const delay = freezeBurnMode === "Freezeshot" ? evt.delay ?? 0 : 0; - destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale * (loop * interval + tick + delay), this.iconSize * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); - const subdivwidth = this.iconSize * style.Scale * (subdiv - 1) / subdiv * tick; - if (subdiv > 1) { - this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, subdivwidth, info.bounds.height * style.Scale), style.Scale, PatchStyle.Repeat, new Color(4279480353)); - } - if (evt.skipshot ?? false) { - this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width + subdivwidth, dest.y, style.Scale * this.iconSize * interval - subdivwidth, info.bounds.height * style.Scale), style.Scale, PatchStyle.Repeat, new Color(4291115835)); - } - if (style.Hover) { - for (let l = 0; l <= loop; l++) { - for (let i = 0; i < subdiv; i++) { - this.DrawSlice(canvas, pulse, new Point(dest.x + this.iconSize * style.Scale * (l * interval + i * tick / subdiv), dest.y), style.Scale); - } - } - } - for (let l = 0; l <= loop; l++) { - for (let i = 0; i < subdiv; i++) { - this.DrawSlice(canvas, hit, new Point(dest.x + style.Scale * (this.iconSize * (l * interval + delay + tick + i * tick / subdiv) - 1), dest.y), style.Scale); - } - } - const off = interval - tick; - if (freezeBurnMode !== "Wave") { - let posx = dest.x - off * style.Scale * this.iconSize; - this.DrawSlice(canvas, beatcross, new Point(posx, dest.y), style.Scale); - switch (freezeBurnMode) { - case "Freezeshot": - posx += delay * style.Scale * this.iconSize; - this.DrawSlice(canvas, beatcross, new Point(posx, dest.y), style.Scale); - for (let l = 0; l <= loop; l++) { - this.DrawSlice(canvas, hitf, new Point(dest.x + style.Scale * (this.iconSize * (l * interval + tick) - 1), dest.y), style.Scale); - } - break; - case "Burnshot": - posx -= tick * style.Scale * this.iconSize; - this.DrawSlice(canvas, beatcross, new Point(posx, dest.y), style.Scale); - for (let l = 0; l <= loop; l++) { - this.DrawSlice(canvas, hitb, new Point(dest.x + style.Scale * (this.iconSize * (l * interval + tick) - 1), dest.y), style.Scale); - } - break; - default: - break; - } - } - if (style.Active && style.Hover) { - this.DrawSlice(canvas, "event_beat_loop", new Point(destRect.right, destRect.top), style.Scale); - } - } - break; - case EventType.Comment: - { - const commentColor = new Color(evt.color); - console.log(evt.color, commentColor); - destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(commentColor, style.Active, style.Enabled ?? evt.active ?? true), style); - this.DrawSlice(canvas, key, dest, style.Scale); - } - break; - case EventType.DesktopColor: - { - destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * 4 * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); - const endColor = new Color(evt.endColor); - this.DrawSlice(canvas, `${key}_0`, new Point(dest.x, dest.y + info.bounds.height * style.Scale), style.Scale, PatchStyle.Strentch, endColor); - this.DrawSlice(canvas, key, new Point(dest.x, dest.y + info.bounds.height * style.Scale), style.Scale); - } - break; - case EventType.PulseFreeTimeBeat: - { - const hold = (evt.hold ?? 0) - info.bounds.width / this.iconSize; - destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(beatcolor.clone(), style.Active, style.Enabled ?? evt.active ?? true), style); - let actionText; - switch (evt.action) { - case "Increment": - actionText = ">"; - break; - case "Decrement": - actionText = "<"; - break; - case "Remove": - actionText = "x"; - break; - case "Custom": - default: - actionText = ((evt.customPulse ?? 0) + 1).toString(); - break; - } - this.DrawRDFontText(canvas, actionText, new Point(dest.x + 1.5 * style.Scale, dest.y + 8 * style.Scale), new Color(4294967295), style.Scale); - if (evt.action === "Custom" && (evt.customPulse ?? 0) === 7) { - this.DrawSlice(canvas, hit, new Rect(dest.x - 2 * style.Scale, dest.y, 5 * style.Scale, info.bounds.height * style.Scale), style.Scale, PatchStyle.Strentch); - } - if (hold > 0) { - this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, this.iconSize * style.Scale * hold, info.bounds.height * style.Scale), style.Scale, PatchStyle.Repeat, new Color(style.Active ? 4291839731 : 4286462352)); - } - } - break; - case EventType.ReorderRooms: - { - destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale, this.iconSize * 4 * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); - let currentDest = dest.clone(); - if (evt.order && Array.isArray(evt.order)) { - for (const r of evt.order) { - this.DrawSlice(canvas, `${key}_${r}`, currentDest.clone(), style.Scale); - currentDest.y += this.iconSize * style.Scale; - } - } - } - break; - case EventType.ReorderWindows: - { - destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale, this.iconSize * 4 * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); - let currentDest = dest.clone(); - if (evt.order && Array.isArray(evt.order)) { - for (const r of evt.order) { - this.DrawSlice(canvas, `${key}_${r}`, currentDest.clone(), style.Scale); - currentDest.y += this.iconSize * style.Scale; - } - } - } - break; - case EventType.SayReadyGetSetGo: - { - const wordInfo = WordInfos[evt.phraseToSay]; - const len = wordInfo.length * evt.tick + 1; - destRect = new Rect(dest.x, dest.y, len * this.iconSize * style.Scale, this.iconSize * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); - const stringToJion = wordInfo.phrase.split(" "); - let stringToDraw = [ - stringToJion[0] - ]; - let lw = this.MeasureRDFontText(canvas, stringToJion[0]); - const sw = this.MeasureRDFontText(canvas, " "); - for (let i = 1; i < stringToJion.length; i++) { - const part = stringToJion[i]; - const w = this.MeasureRDFontText(canvas, part); - if (lw + sw + w > (len * this.iconSize - 2) * style.Scale) { - lw = w; - stringToDraw.push(part); - } else { - lw += sw + w; - stringToDraw[stringToDraw.length - 1] += " " + part; - } - } - stringToDraw.splice(3); - const c = stringToDraw.length; - const top = dest.y + (this.iconSize - this.charHeight * c / 2) * style.Scale / 2; - for (let i = 0; i < c; i++) { - const line = stringToDraw[i]; - const p = new Point(dest.x + (len * this.iconSize * style.Scale - this.MeasureRDFontText(canvas, line, style.Scale / 2)) / 2, top + (i * this.charHeight + this.lineHeight) * style.Scale / 2); - this.DrawRDFontText(canvas, line, p, new Color(4294967295), style.Scale / 2); - } - } - break; - case EventType.SetRowXs: - { - destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); - const width = info.bounds.width * style.Scale / 6; - const beatxInfo = AssetManager.slices.get(beatx); - if (!beatxInfo) break; - const iconwidth = beatxInfo.bounds.width; - const s = width / iconwidth; - let left = 0; - const top = this.iconSize * style.Scale / 2 - beatxInfo.bounds.height * s / 2; - if (evt.pattern) { - const pattern = evt.pattern; - for (const p of pattern) { - const patternKey = p === "x" ? beatx : beatline; - this.DrawSlice(canvas, patternKey, new Rect(dest.x + left, dest.y + top, width, beatxInfo.bounds.height * s), style.Scale, PatchStyle.Strentch); - left += width; - } - } - if ((evt.syncoBeat ?? -1) >= 0) { - this.DrawSlice(canvas, beatsynco, new Rect(dest.x + width * (evt.syncoBeat ?? 0), dest.y + top, width, beatxInfo.bounds.height * s), style.Scale, PatchStyle.Strentch); - } - } - break; - case EventType.ShowRooms: - { - destRect = new Rect(dest.x, dest.y, this.iconSize * style.Scale, this.iconSize * 4 * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); - if (evt.rooms && Array.isArray(evt.rooms)) { - for (let i = 0; i < 4; i++) { - const roomState = evt.rooms[i] ? "1" : "0"; - this.DrawSlice(canvas, `${key}_${roomState}`, new Point(dest.x, dest.y + i * this.iconSize * style.Scale), style.Scale / 2); - } - } - } - break; - default: - destRect = new Rect(dest.x, dest.y, info.bounds.width * style.Scale, info.bounds.height * style.Scale); - this.DrawBack(canvas, destRect.clone(), this.WithState(this.ColorOf(evt.tab), style.Active, style.Enabled ?? evt.active ?? true), style); - switch (evt.type) { - case EventType.CustomFlash: - { - this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.startColor ?? 0)); - this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.endColor ?? 0)); - } - break; - case EventType.FlipScreen: - { - let suffix = ""; - const flipX = evt.flipX ?? false; - const flipY = evt.flipY ?? false; - if (flipX && flipY) { - suffix = "_2"; - } else if (flipX && !flipY) { - suffix = "_1"; - } else if (!flipX && flipY) { - suffix = "_0"; - } - this.DrawSlice(canvas, key + suffix, dest, style.Scale); - } - break; - case EventType.FloatingText: - { - this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.color ?? 0)); - this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.outlineColor ?? 0)); - } - break; - case EventType.MoveRoom: - { - canvas.save(); - const degree = evt.angle ?? 0; - const scaleWidth = evt.scale?.width ?? 0; - const scaleHeight = evt.scale?.height ?? 0; - if (scaleWidth === 0 || scaleHeight === 0) { - canvas.restore(); - break; - } - const pleft = (evt.pivot?.x ?? 0) / 100; - const ptop = 1 - (evt.pivot?.y ?? 0) / 100; - const uniform = Math.sqrt(scaleWidth * scaleWidth + scaleHeight * scaleHeight); - const w = scaleWidth / uniform; - const h = scaleHeight / uniform; - canvas.translate(dest.x + destRect.width / 2, dest.y + destRect.height / 2); - canvas.rotate(-degree * Math.PI / 180); - canvas.scale(w, h); - this.DrawSlice(canvas, key, new Point(-destRect.width / 2, -destRect.height / 2), style.Scale); - if (!(pleft < 0 || pleft > 1 || ptop < 0 || ptop > 1)) { - canvas.fillStyle = "rgb(255, 0, 0)"; - canvas.fillRect((pleft - 0.5) * destRect.width - 1, (ptop - 0.5) * destRect.height - 1, 2, 2); - } - canvas.restore(); - } - break; - case EventType.PaintHands: - { - this.DrawSlice(canvas, key, dest, style.Scale, PatchStyle.Strentch, new Color(evt.tintColor ?? 0)); - const border = evt.border ?? "None"; - if (border === "Outline") { - this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); - } else if (border === "Glow") { - this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); - } - } - break; - case EventType.SetBackgroundColor: - { - this.DrawSlice(canvas, key, dest, style.Scale); - const bgType = evt.backgroundType ?? "Color"; - if (bgType === "Color") { - this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.color ?? 0)); - } else if (bgType === "Image") { - this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(4294967295)); - } - } - break; - case EventType.SetCrotchetsPerBar: - { - const cpb = evt.crotchetsPerBar ?? 4; - this.DrawSlice(canvas, key, dest, style.Scale); - this.DrawRDFontText(canvas, cpb > 9 ? "-" : cpb.toString(), new Point(dest.x + 2 * style.Scale, dest.y + 7 * style.Scale), new Color(4278190080), style.Scale); - this.DrawRDFontText(canvas, "4", new Point(dest.x + 8 * style.Scale, dest.y + 12 * style.Scale), new Color(4278190080), style.Scale); - } - break; - case EventType.SetForeground: - { - this.DrawSlice(canvas, key, dest, style.Scale); - } - break; - case EventType.Tint: - { - this.DrawSlice(canvas, key, dest, style.Scale, PatchStyle.Strentch, new Color(evt.tintColor ?? 0)); - const border = evt.border ?? "None"; - if (border === "Outline") { - this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); - } else if (border === "Glow") { - this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); - } - } - break; - case EventType.TintRows: - { - this.DrawSlice(canvas, key, dest, style.Scale, PatchStyle.Strentch, new Color(evt.tintColor ?? 0)); - const border = evt.border ?? "None"; - if (border === "Outline") { - this.DrawSlice(canvas, `${key}_0`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); - } else if (border === "Glow") { - this.DrawSlice(canvas, `${key}_1`, dest, style.Scale, PatchStyle.Strentch, new Color(evt.borderColor ?? 0)); - } - } - break; - default: - this.drawSliceNormal(canvas, info, destRect); - break; - } - break; - } - if (evtInfo.isDurationEvent) { - evt.duration = 2; - } - if (evt.duration && evt.duration > 0 && style.Active) { - const duration = evt[evtInfo.durationKey]; - const durWidth = style.Scale * this.iconSize * duration - destRect.width; - const c = this.ColorOf(evt.tab); - c.alpha = style.Active ? 192 : 91; - if (durWidth > 0) { - this.DrawSlice(canvas, this.evbarea, new Rect(dest.x + destRect.width, dest.y, durWidth, destRect.height), style.Scale, PatchStyle.Repeat, c); - } - } - return destRect; - } - static ColorOf(tab) { - switch (tab) { - case "sounds": - return new Color(4292355123); - case "rows": - return new Color(4281094105); - case "actions": - return new Color(4291118003); - case "decorations": - return new Color(4278240345); - case "rooms": - return new Color(4292392978); - case "windows": - return new Color(4283479511); - default: - return new Color(4286874756); - } - } - static DrawBack(canvas, destRect, color, style) { - const outline = "event_outline"; - const back = "event_back"; - this.DrawSlice(canvas, outline, destRect, style.Scale, PatchStyle.Strentch, new Color(style.Active ? 4294967295 : 4289243304)); - destRect.inflate(-style.Scale, -style.Scale); - this.DrawSlice(canvas, back, destRect, style.Scale, PatchStyle.Strentch, color); - } - static WithState(color, active, enabled) { - const c = enabled ? color.clone() : new Color(4286874756); - c.alpha = active ? 192 : 91; - return c; - } -}; -export { - AssetManager, - Color, - Extensions, - IconStyle, - Paint, - Point, - Rect, - SliceInfo -}; diff --git a/script/View.js b/script/View.js index 57d27c6..52c6413 100644 --- a/script/View.js +++ b/script/View.js @@ -213,7 +213,22 @@ var Color = class _Color { return new _Color(this.argb); } static FromRgba(r, g, b, a) { - return new _Color(a, r, g, b); + if (typeof r === "string" && g === void 0 && b === void 0 && a === void 0) { + r = r.trim(); + if (r[0] === "#") r = r.slice(1); + if (r.length === 8) { + return new _Color(r.slice(6, 8) + r.slice(0, 6)); + } else if (r.length === 6) return new _Color(r); + else if (r.length === 4) { + return new _Color(r[3] + r[3] + r.slice(0, 3).split("").map((i) => i + i).join("")); + } else if (r.length === 3) { + return new _Color("FF" + r.split("").map((i) => i + i).join("")); + } else return new _Color(); + } else if (typeof r === "number" && typeof g === "number" && typeof b === "number" && typeof a === "number") { + return new _Color(a, r, g, b); + } else { + return new _Color(); + } } toRgbaString() { return `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a / 255})`; @@ -263,7 +278,7 @@ var SliceInfo = class { }; var assetFilePath = "assets.png"; var slicesFilePath = "assets.bin"; -var directoryPath = "./script"; +var directoryPath = "./rdviewAssets"; async function loadAssetFile() { const pngPath = directoryPath + "/" + assetFilePath; return await new Promise((resolve, reject) => { @@ -351,6 +366,36 @@ var Tab = /* @__PURE__ */ function(Tab2) { Tab2["Unknown"] = "unknown"; return Tab2; }({}); +var SayReadyGetSetGoWords = /* @__PURE__ */ function(SayReadyGetSetGoWords2) { + SayReadyGetSetGoWords2["SayReaDyGetSetGoNew"] = "SayReaDyGetSetGoNew"; + SayReadyGetSetGoWords2["SayReaDyGetSetOne"] = "SayReaDyGetSetOne"; + SayReadyGetSetGoWords2["SayGetSetGo"] = "SayGetSetGo"; + SayReadyGetSetGoWords2["SayGetSetOne"] = "SayGetSetOne"; + SayReadyGetSetGoWords2["JustSayRea"] = "JustSayRea"; + SayReadyGetSetGoWords2["JustSayDy"] = "JustSayDy"; + SayReadyGetSetGoWords2["JustSayGet"] = "JustSayGet"; + SayReadyGetSetGoWords2["JustSaySet"] = "JustSaySet"; + SayReadyGetSetGoWords2["JustSayAnd"] = "JustSayAnd"; + SayReadyGetSetGoWords2["JustSayGo"] = "JustSayGo"; + SayReadyGetSetGoWords2["JustSayStop"] = "JustSayStop"; + SayReadyGetSetGoWords2["JustSayAndStop"] = "JustSayAndStop"; + SayReadyGetSetGoWords2["SaySwitch"] = "SaySwitch"; + SayReadyGetSetGoWords2["SayWatch"] = "SayWatch"; + SayReadyGetSetGoWords2["SayListen"] = "SayListen"; + SayReadyGetSetGoWords2["Count1"] = "Count1"; + SayReadyGetSetGoWords2["Count2"] = "Count2"; + SayReadyGetSetGoWords2["Count3"] = "Count3"; + SayReadyGetSetGoWords2["Count4"] = "Count4"; + SayReadyGetSetGoWords2["Count5"] = "Count5"; + SayReadyGetSetGoWords2["Count6"] = "Count6"; + SayReadyGetSetGoWords2["Count7"] = "Count7"; + SayReadyGetSetGoWords2["Count8"] = "Count8"; + SayReadyGetSetGoWords2["Count9"] = "Count9"; + SayReadyGetSetGoWords2["Count10"] = "Count10"; + SayReadyGetSetGoWords2["SayReadyGetSetGo"] = "SayReadyGetSetGo"; + SayReadyGetSetGoWords2["JustSayReady"] = "JustSayReady"; + return SayReadyGetSetGoWords2; +}({}); var EventType = /* @__PURE__ */ function(EventType2) { EventType2["AddClassicBeat"] = "AddClassicBeat"; EventType2["AddFreeTimeBeat"] = "AddFreeTimeBeat"; @@ -455,9 +500,7 @@ var EventInfo = class { constructor(tab, enumAttriblte, durationKey) { this.defaultTab = tab; this.attr = enumAttriblte ?? EventAttriblte.None; - if (durationKey !== void 0) { - this.durationKey = durationKey; - } + this.durationKey = durationKey ?? "duration"; } }; var WordInfo = class { @@ -501,20 +544,20 @@ var EventInfos = { AddClassicBeat: new EventInfo(Tab.Rows), AddFreeTimeBeat: new EventInfo(Tab.Rows), AddOneshotBeat: new EventInfo(Tab.Rows), - AdvanceText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + AdvanceText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), BassDrop: new EventInfo(Tab.Actions), Blend: new EventInfo(Tab.Decorations), CallCustomMethod: new EventInfo(Tab.Actions), ChangeCharacter: new EventInfo(Tab.Actions), ChangePlayersRows: new EventInfo(Tab.Actions), Comment: new EventInfo(Tab.Unknown), - CustomFlash: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - DesktopColor: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent), - FadeRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + CustomFlash: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + DesktopColor: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent, "duration"), + FadeRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), FinishLevel: new EventInfo(Tab.Actions), Flash: new EventInfo(Tab.Actions), FlipScreen: new EventInfo(Tab.Actions), - FloatingText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + FloatingText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), ForwardDecorationEvent: new EventInfo(Tab.Decorations), ForwardEvent: new EventInfo(Tab.Unknown), ForwardRowEvent: new EventInfo(Tab.Rows), @@ -523,13 +566,13 @@ var EventInfos = { InvertColors: new EventInfo(Tab.Actions), MacroEvent: new EventInfo(Tab.Unknown), MaskRoom: new EventInfo(Tab.Rooms), - Move: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), - MoveCamera: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - MoveRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), - MoveRow: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + Move: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), + MoveCamera: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + MoveRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), + MoveRow: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), NarrateRowInfo: new EventInfo(Tab.Sounds), - NewWindowDance: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - PaintHands: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + NewWindowDance: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + PaintHands: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), PlayAnimation: new EventInfo(Tab.Decorations), PlayExpression: new EventInfo(Tab.Actions), PlaySong: new EventInfo(Tab.Sounds), @@ -543,13 +586,13 @@ var EventInfos = { ReorderSprite: new EventInfo(Tab.Decorations), ReorderWindows: new EventInfo(Tab.Windows), SayReadyGetSetGo: new EventInfo(Tab.Sounds), - SetBackgroundColor: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetBackgroundColor: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), SetBeatSound: new EventInfo(Tab.Sounds), SetBeatsPerMinute: new EventInfo(Tab.Sounds), SetClapSounds: new EventInfo(Tab.Sounds), SetCountingSound: new EventInfo(Tab.Sounds), SetCrotchetsPerBar: new EventInfo(Tab.Sounds), - SetForeground: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetForeground: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), SetGameSound: new EventInfo(Tab.Sounds), SetHandOwner: new EventInfo(Tab.Actions), SetHeartExplodeInterval: new EventInfo(Tab.Sounds), @@ -558,28 +601,28 @@ var EventInfos = { SetOneshotWave: new EventInfo(Tab.Rows), SetPlayStyle: new EventInfo(Tab.Actions), SetRoomContentMode: new EventInfo(Tab.Rooms), - SetRoomPerspective: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), + SetRoomPerspective: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), SetRowXs: new EventInfo(Tab.Rows), - SetSpeed: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - SetTheme: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - SetVFXPreset: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetSpeed: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + SetTheme: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + SetVFXPreset: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), SetVisible: new EventInfo(Tab.Decorations), - SetWindowContent: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent), - ShakeScreen: new EventInfo(Tab.Actions), - ShakeScreenCustom: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SetWindowContent: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent, "duration"), + ShakeScreen: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + ShakeScreenCustom: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), ShowDialogue: new EventInfo(Tab.Actions), ShowHands: new EventInfo(Tab.Actions), - ShowRooms: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent), - ShowStatusSign: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + ShowRooms: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), + ShowStatusSign: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), ShowSubdivisionsRows: new EventInfo(Tab.Actions), - SpinningRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), + SpinningRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), Stutter: new EventInfo(Tab.Actions), TagAction: new EventInfo(Tab.Actions), TextExplosion: new EventInfo(Tab.Actions), - Tile: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), - Tint: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent), - TintRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent), - WindowResize: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent) + Tile: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), + Tint: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), + TintRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + WindowResize: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration") }; // View.ts @@ -600,8 +643,8 @@ function createLayer(key, bound, color, style) { const layer = document.createElement("div"); const info = slices.get(key); layer.style.position = "absolute"; - layer.style.boxSizing = "content-box"; - if (info.isNinePatch) { + layer.style.boxSizing = "content-box"; + if (info?.isNinePatch) { const center = info.center; const width = bound?.width ?? info.bounds.width; const height = bound?.height ?? info.bounds.height; @@ -617,12 +660,25 @@ function createLayer(key, bound, color, style) { layer.style.width = `${(width - center.left - (info.bounds.width - center.right)) * style.scale}px`; layer.style.height = `${(height - center.top - (info.bounds.height - center.bottom)) * style.scale}px`; } else { - layer.style.left = `${((bound?.left ?? bound?.x ?? 0) - info.pivot.x) * style.scale}px`; - layer.style.top = `${((bound?.top ?? bound?.y ?? 0) - info.pivot.y) * style.scale}px`; - layer.style.width = `${(bound?.width ?? info.bounds.width) * style.scale}px`; - layer.style.height = `${(bound?.height ?? info.bounds.height) * style.scale}px`; - layer.style.backgroundImage = `url(${info.blobUrl})`; - layer.style.backgroundSize = `${bound?.width ?? info.bounds.width * style.scale}px ${bound?.height ?? info.bounds.height * style.scale}px`; + if (bound instanceof Rect) { + layer.style.left = `${(bound.left - (info?.pivot.x ?? 0)) * style.scale}px`; + layer.style.top = `${(bound.top - (info?.pivot.y ?? 0)) * style.scale}px`; + layer.style.width = `${(bound.width ?? info?.bounds.width ?? 0) * style.scale}px`; + layer.style.height = `${(bound.height ?? info?.bounds.height ?? 0) * style.scale}px`; + if (info) { + layer.style.backgroundImage = `url(${info.blobUrl})`; + } + layer.style.backgroundSize = `${(bound.width ?? info?.bounds.width ?? 0) * style.scale}px ${(bound.height ?? info?.bounds.height ?? 0) * style.scale}px`; + } else { + layer.style.left = `${((bound?.x ?? 0) - (info?.pivot.x ?? 0)) * style.scale}px`; + layer.style.top = `${((bound?.y ?? 0) - (info?.pivot.y ?? 0)) * style.scale}px`; + layer.style.width = `${(info?.bounds.width ?? 0) * style.scale}px`; + layer.style.height = `${(info?.bounds.height ?? 0) * style.scale}px`; + if (info) { + layer.style.backgroundImage = `url(${info.blobUrl})`; + } + layer.style.backgroundSize = `${(info?.bounds.width ?? 0) * style.scale}px ${(info?.bounds.height ?? 0) * style.scale}px`; + } } if (color && Color.White.equals(color) === false) { const filterId = getColorMatrixId(color); @@ -663,7 +719,22 @@ function getColorMatrixId(rgba) { colorMatrixIds.set(rgba.toUint32(), filter.getAttribute("id")); return filter.getAttribute("id"); } -function createRDFontLayer(text, style) { +function measureRDFontText(text) { + let len = 0; + for (let i = 0; i < text.length; i++) { + const char = text.charAt(i); + if (char === "\n") { + len = 0; + } else { + const charCode = char.charCodeAt(0); + const charKey = `char_${charCode.toString(16).padStart(4, "0")}`; + const charInfo = slices.get(charKey); + len += charInfo?.bounds.width ?? 0; + } + } + return len; +} +function createRDFontLayer(text, style, color) { const lineHead = new Point(0, -charHeight); const start = lineHead.clone(); const layer = document.createElement("div"); @@ -677,9 +748,11 @@ function createRDFontLayer(text, style) { const charCode = char.charCodeAt(0); const charKey = `char_${charCode.toString(16).padStart(4, "0")}`; const charInfo = slices.get(charKey); - const charLayer = createLayer(charKey, new Point(start.x, start.y), null, style); - start.x += (charInfo?.bounds.width ?? charHeight) * style.scale; - layer.appendChild(charLayer); + if (charInfo) { + const charLayer = createLayer(charKey, new Point(start.x, start.y), color, style); + start.x += charInfo.bounds.width * style.scale; + layer.appendChild(charLayer); + } } } return layer; @@ -719,6 +792,7 @@ function colorOf(tab) { } } function layerHoverInit(layer) { + layer.style.opacity = "0"; layer.onStateChange = (style) => { if (style.hover) { layer.style.opacity = "1.0"; @@ -727,15 +801,46 @@ function layerHoverInit(layer) { } }; } +function createHintLayer(hint, width, color) { + const hintLayer = document.createElement("div"); + hintLayer.style.position = "absolute"; + hintLayer.style.left = `${width}px`; + hintLayer.style.width = `max-content`; + hintLayer.innerHTML = hint; + hintLayer.style.fontSize = `${18}px`; + hintLayer.style.fontFamily = "d9, Arial, sans-serif"; + hintLayer.style.color = color.toRgbaString(); + hintLayer.style.fontWeight = "bold"; + hintLayer.style.textShadow = ` + 2px 2px 0 black, + 2px 0px 0 black, + 2px -2px 0 black, + 0px -2px 0 black, + -2px -2px 0 black, + -2px 0px 0 black, + -2px 2px 0 black, + 0px 2px 0 black + `; + hintLayer.style.pointerEvents = "none"; + hintLayer.style.opacity = "0"; + hintLayer.style.zIndex = "10"; + hintLayer.onStateChange = (style) => { + if (style.hover) { + hintLayer.style.opacity = "1.0"; + } else { + hintLayer.style.opacity = "0"; + } + }; + return hintLayer; +} function createElementEvent(obj, style) { style = { ...new IconStyle(), ...style }; - const evttype = obj.type; + const evttype = obj.type ?? EventType.ForwardEvent; let key0 = `event_${obj.type}`; if (!slices.has(key0)) { - console.warn(`Slice for event type ${evttype} not found, using Unknown.`); if (!slices.has("event_Unknown")) { return null; } @@ -759,9 +864,13 @@ function createElementEvent(obj, style) { const beatline = "event_beat_line"; const evtag = "event_tag"; const evbarea = "event_beat_area"; + const evbskip = "event_beat_skip"; const beatColor = new Color(4284539717); const element = document.createElement("div"); const internalLayers = []; + if (evttype === EventType.NewWindowDance) { + obj.tab = obj.customTab ?? Tab.Windows; + } function addLayers(layers) { for (const layer of layers) { if (layer) { @@ -811,19 +920,22 @@ function createElementEvent(obj, style) { const loop = obj.loops ?? 0; const subdiv = obj.subdivisions ?? 1; const hold = obj.hold ?? false; + const skip = obj.skipshot ?? false; const mode = obj.freezeBurnMode ?? null; const delay = obj.freezeBurnMode === "Freezeshot" ? obj.delay ?? 0 : 0; const subdivWidth = iconSize * (subdiv - 1) / subdiv * tick; const eventWidth = iconSize * (interval * loop + tick + delay); const off = interval - tick; const backLayers2 = createBackLayer(new Size(eventWidth, iconSize), colorOf(obj.tab ?? evinfo.defaultTab), style); - const holdWidth = iconSize * (interval - tick - delay); + const holdWidth = hold ? iconSize * (interval - tick - delay) : 0; const holdLayer = hold && holdWidth - subdivWidth > 0 ? createLayer(evbarea, new Rect(eventWidth + subdivWidth, 0, holdWidth - subdivWidth, iconSize), new Color(style.enabled ? 4291839731 : 4285493103), style) : null; const subdivLayer = subdiv > 1 ? createLayer(evbarea, new Rect(eventWidth, 0, subdivWidth, iconSize), new Color(style.enabled ? 4279480353 : 4285493103), style) : null; - const skipshotLayer = obj.skipshot ?? false ? createLayer(evbarea, new Rect(eventWidth + Math.max(subdivWidth, holdWidth), 0, iconSize * interval - Math.max(subdivWidth, holdWidth), iconSize), new Color(style.enabled ? 4291115835 : 4285493103), style) : null; + const skipshotLayer = skip ? createLayer(evbarea, new Rect(eventWidth + Math.max(subdivWidth, holdWidth), 0, iconSize * (interval - delay) - Math.max(subdivWidth, holdWidth), iconSize), new Color(style.enabled ? 4291115835 : 4285493103), style) : null; + const skipHitLayer = skip ? createLayer(evbskip, new Point(eventWidth + iconSize * (interval - delay) - 1, 0), null, style) : null; if (holdLayer) holdLayer.style.pointerEvents = "none"; if (subdivLayer) subdivLayer.style.pointerEvents = "none"; if (skipshotLayer) skipshotLayer.style.pointerEvents = "none"; + if (skipHitLayer) skipHitLayer.style.pointerEvents = "none"; const pulses = []; const crossLayers = []; const posx = -off * iconSize; @@ -853,6 +965,7 @@ function createElementEvent(obj, style) { } const loopLayer = createLayer("event_beat_loop", new Point(eventWidth, 0), null, style); loopLayer.style.opacity = "0"; + loopLayer.style.zIndex = "5"; loopLayer.onStateChange = (style2) => { if (style2.hover) { loopLayer.style.opacity = "1.0"; @@ -865,12 +978,33 @@ function createElementEvent(obj, style) { holdLayer, subdivLayer, skipshotLayer, + skipHitLayer, ...pulses, loopLayer, ...crossLayers ]); } break; + case EventType.AddFreeTimeBeat: + { + const hold = obj.hold ?? 0; + const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(info.bounds.width, 0, iconSize * hold - info.bounds.width, iconSize), new Color(style.active ? 4291839731 : 4286462352), style) : null; + if (holdLayer) { + holdLayer.style.pointerEvents = "none"; + } + const backLayers2 = createBackLayer(new Size(info.bounds.width, iconSize), beatColor, style); + const hitLayer = obj.pulse === 6 ? createLayer(hit, new Point(0, 0), null, style) : null; + const textLayer = createRDFontLayer(((obj.pulse ?? 0) + 1).toString(), style, null); + textLayer.style.left = `${1.5 * style.scale}px`; + textLayer.style.top = `${10 * style.scale}px`; + addLayers([ + holdLayer, + ...backLayers2, + hitLayer, + textLayer + ]); + } + break; case EventType.Comment: { const backLayers2 = createBackLayer(info.bounds.size, new Color(obj.color ?? "7d7d7d"), style); @@ -881,38 +1015,16 @@ function createElementEvent(obj, style) { ]); } break; - case EventType.AddFreeTimeBeat: - { - const hold = obj.hold ?? 0; - const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(info.bounds.width, 0, iconSize * hold - info.bounds.width, iconSize), new Color(style.active ? 4291839731 : 4286462352), style) : null; - if (holdLayer) { - holdLayer.style.pointerEvents = "none"; - } - const backLayers2 = createBackLayer(new Size(info.bounds.width, iconSize), beatColor, style); - const hitLayer = obj.pulse === 6 ? createLayer(hit, new Point(0, 0), null, style) : null; - const textLayer = createRDFontLayer(((obj.pulse ?? 0) + 1).toString(), style); - textLayer.style.left = `${1.5 * style.scale}px`; - textLayer.style.top = `${10 * style.scale}px`; - addLayers([ - holdLayer, - ...backLayers2, - hitLayer, - textLayer - ]); - } - break; case EventType.DesktopColor: { - const duration = obj.duration ?? 0; - const backLayers2 = createBackLayer(new Size(info.bounds.width, info.bounds.height * 4), colorOf(obj.tab ?? evinfo.defaultTab), style); - const iconLayer = createLayer(`${key}_0`, new Point(0, info.bounds.height), null, style); - const iconColorLayer = createLayer(key, new Point(0, info.bounds.height), null, style); - const durationLayer = obj.duration > 1 ? createLayer(evbarea, new Rect(iconSize, 0, (duration - 1) * iconSize, info.bounds.height * 4), new Color(4283471790), style) : null; + const backLayers2 = createBackLayer(info.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); + console.log(info.bounds.size); + const iconColorLayer = createLayer(`${key}_0`, new Point(0, iconSize), new Color(obj.endColor ?? "ffffff"), style); + const iconLayer = createLayer(`${key}_1`, new Point(0, iconSize), null, style); addLayers([ ...backLayers2, - durationLayer, - iconLayer, - iconColorLayer + iconColorLayer, + iconLayer ]); } break; @@ -940,7 +1052,7 @@ function createElementEvent(obj, style) { text = "x"; break; } - const textLayer = createRDFontLayer(text, style); + const textLayer = createRDFontLayer(text, style, null); textLayer.style.left = `${1.5 * style.scale}px`; textLayer.style.top = `${10 * style.scale}px`; addLayers([ @@ -974,41 +1086,315 @@ function createElementEvent(obj, style) { ]); } break; + case EventType.SayReadyGetSetGo: + { + const wordInfo = WordInfos[obj.phraseToSay ?? SayReadyGetSetGoWords.JustSayGo]; + const len = wordInfo.length * (obj.tick ?? 0) + 1; + const stringToJoin = wordInfo.phrase.split(" "); + const stringToDraw = [ + stringToJoin[0] + ]; + let lw = measureRDFontText(stringToJoin[0]); + const sw = measureRDFontText(" "); + const backLayers2 = createBackLayer(new Size(len * iconSize, iconSize), colorOf(obj.tab ?? evinfo.defaultTab), style); + const wordLayers = []; + for (let i = 1; i < stringToJoin.length; i++) { + const part = stringToJoin[i]; + const w = measureRDFontText(part); + if (lw + sw + w > len * iconSize * style.scale) { + lw = w; + stringToDraw.push(part); + } else { + lw += sw + w; + stringToDraw[stringToDraw.length - 1] += " " + part; + } + } + const c = Math.min(stringToDraw.length, 3); + let top = iconSize / 2 - charHeight * c / 4 + 1; + for (let i = 0; i < c; i++) { + const line = stringToDraw[i]; + const p = new Point((len * iconSize - measureRDFontText(line) / 2) / 2, top + (i * charHeight + lineHeight) / 2); + const wordLayer = createRDFontLayer(line, { + ...style, + scale: style.scale / 2 + }, null); + wordLayer.style.left = `${p.x * style.scale}px`; + wordLayer.style.top = `${p.y * style.scale}px`; + wordLayers.push(wordLayer); + } + addLayers([ + ...backLayers2, + ...wordLayers + ]); + } + break; + case EventType.SetRowXs: + { + const syncoBeat = obj.syncoBeat ?? -1; + const width = info.bounds.width / 6; + const iconBounds = slices.get(beatx).bounds; + const s = width / iconBounds.width; + let left = 0; + const top = iconSize / 2 - iconBounds.height * s / 2; + const patternLayers = []; + const backLayers2 = createBackLayer(new Size(info.bounds.width, info.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style); + for (let p of obj.pattern) { + const beatxLayer = createLayer(p === "x" ? beatx : beatline, new Rect(left, top, width, iconBounds.height * s), null, style); + patternLayers.push(beatxLayer); + left += width; + } + const syncoBeatLayer = syncoBeat >= 0 ? createLayer(beatsynco, new Rect(width * syncoBeat, top, width, iconBounds.height * s), null, style) : null; + addLayers([ + ...backLayers2, + ...patternLayers, + syncoBeatLayer + ]); + } + break; + case EventType.ShowRooms: + { + const backLayers2 = createBackLayer(new Size(iconSize, iconSize * 4), colorOf(obj.tab ?? evinfo.defaultTab), style); + const roomLayers = []; + for (let i = 0; i < 4; i++) { + const roomLayer = createLayer(`${key}_${obj.rooms.indexOf(i) >= 0 ? "1" : "0"}`, new Point(0, i * iconSize * style.scale), null, { + ...style, + scale: style.scale / 2 + }); + roomLayers.push(roomLayer); + } + addLayers([ + ...backLayers2, + ...roomLayers + ]); + } + break; default: const backLayers = createBackLayer(info.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); addLayers(backLayers); switch (evttype) { case EventType.CustomFlash: + const iconLayer = createLayer(key, null, null, style); + const startColorLayer = createLayer(`${key}_0`, null, new Color(obj.startColor ?? "000000").withAlpha((obj.startOpacity ?? 0) * 255), style); + const endColorLayer = createLayer(`${key}_1`, null, new Color(obj.endColor ?? "000000").withAlpha((obj.endOpacity ?? 0) * 255), style); addLayers([ - createLayer(`${key}_0`, null, new Color(obj.startColor ?? "000000"), style), - createLayer(`${key}_1`, null, new Color(obj.endColor ?? "000000"), style) + iconLayer, + startColorLayer, + endColorLayer ]); break; case EventType.FlipScreen: - const flip = (obj.flipX ? 1 : 0) | (obj.flipY ? 1 : 0); - if (flip === 0) { + { + const flip = (obj.flipX ? 1 : 0) | (obj.flipY ? 2 : 0); + const iconLayer2 = createLayer(flip === 0 ? `${key}_0` : `${key}_${flip - 1}`, null, null, style); addLayers([ - createLayer(key, null, null, style) - ]); - } else { - addLayers([ - createLayer(`${key}_${flip - 1}`, null, null, style) + iconLayer2 ]); } + break; + case EventType.FloatingText: + { + const backColorLayer = createLayer(`${key}_0`, null, Color.FromRgba(obj.color ?? "FFFFFFFF"), style); + const foreColorLayer = createLayer(`${key}_1`, null, Color.FromRgba(obj.outlineColor ?? "FFFFFFFF"), style); + addLayers([ + backColorLayer, + foreColorLayer + ]); + } + break; + case EventType.MoveRoom: + { + const degree = obj.angle ?? 0; + const radius = -degree * Math.PI / 180; + let width = (obj.scale ? obj.scale[0] ?? 0 : 100) / 100; + let height = (obj.scale ? obj.scale[1] ?? 0 : 100) / 100; + const pleft = (obj.pivot ? obj.pivot[0] ?? 0 : 50) / 100; + const ptop = (obj.pivot ? obj.pivot[1] ?? 0 : 50) / 100; + if (width === 0 || height === 0) break; + const uniform = Math.sqrt(width * width + height * height); + width /= uniform; + height /= uniform; + const roomLayer = createLayer(key, new Rect(iconSize / 2, iconSize / 2, iconSize * width, iconSize * height), null, style); + let pivotx = width * (1 - pleft * 2); + let pivoty = height * (1 - ptop * 2); + const widthrotated = pivotx * Math.cos(radius) + pivoty * Math.sin(radius); + const heightrotated = -pivotx * Math.sin(radius) + pivoty * Math.cos(radius); + const pointLayer = document.createElement("div"); + pointLayer.style.position = "absolute"; + pointLayer.style.width = `${style.scale}px`; + pointLayer.style.height = `${style.scale}px`; + pointLayer.style.left = `${iconSize * (1 - widthrotated) * style.scale / 2}px`; + pointLayer.style.top = `${iconSize * (1 + heightrotated) * style.scale / 2}px`; + pointLayer.style.backgroundColor = "#FF0000"; + roomLayer.style.transform = `translate(-50%, -50%) rotate(${-degree}deg)`; + addLayers([ + roomLayer, + pointLayer + ]); + } + break; + case EventType.PaintHands: + case EventType.Tint: + case EventType.TintRows: + { + const border = obj.border; + const backColorLayer = createLayer(key, null, Color.FromRgba(obj.tintColor ?? "FFFFFFFF"), style); + const foreColorLayer = border ? createLayer(border === "Outline" ? `${key}_0` : border === "Glow" ? `${key}_1` : "", null, Color.FromRgba(obj.borderColor ?? "FFFFFFFF"), style) : null; + addLayers([ + backColorLayer, + foreColorLayer + ]); + } + break; + case EventType.SetBackgroundColor: + { + const backType = obj.backgroundType ?? "Color"; + const iconLayer2 = createLayer(key, null, null, style); + const images = obj.image ?? []; + const imagePath = images.length > 0 ? images[0] : ""; + const contentInfo = slices.get(`${key}_1`); + const colorLayer = createLayer(`${key}_0`, null, Color.FromRgba((backType === "Color" ? obj.color : null) ?? "FFFFFF"), style); + const contentLayer = backType === "Image" ? createLayer("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style) : null; + if (backType === "Image" && contentLayer) { + contentLayer.style.backgroundImage = `url(${imagePath})`; + contentLayer.style.left = `${-(contentInfo?.pivot.x ?? 0) * style.scale}px`; + contentLayer.style.top = `${-(contentInfo?.pivot.y ?? 0) * style.scale}px`; + } + addLayers([ + iconLayer2, + colorLayer, + contentLayer + ]); + } + break; + case EventType.SetCrotchetsPerBar: + { + const cpb = obj.crotchetsPerBar ?? 0; + const iconLayer2 = createLayer(key, null, null, style); + const cpbLayer = createRDFontLayer(cpb > 9 ? "-" : cpb.toString(), style, Color.Black); + const bLayer = createRDFontLayer("4", style, Color.Black); + cpbLayer.style.left = `${2 * style.scale}px`; + cpbLayer.style.top = `${9 * style.scale}px`; + bLayer.style.left = `${8 * style.scale}px`; + bLayer.style.top = `${14 * style.scale}px`; + addLayers([ + iconLayer2, + cpbLayer, + bLayer + ]); + } + break; + case EventType.SetForeground: + { + const iconLayer2 = createLayer(key, null, null, style); + const images = obj.image ?? []; + const imagePath = images.length > 0 ? images[0] : ""; + const contentInfo = slices.get(`${key}_1`); + const colorLayer = imagePath ? createLayer(`${key}_0`, null, Color.Black, style) : null; + const contentLayer = imagePath ? createLayer("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style) : null; + if (contentLayer) { + contentLayer.style.backgroundImage = `url(${imagePath})`; + contentLayer.style.left = `${-(contentInfo?.pivot.x ?? 0) * style.scale}px`; + contentLayer.style.top = `${-(contentInfo?.pivot.y ?? 0) * style.scale}px`; + } + addLayers([ + iconLayer2, + colorLayer, + contentLayer + ]); + } + break; default: - const layer = document.createElement("div"); - layer.style.position = "absolute"; - layer.style.left = "0"; - layer.style.top = "0"; - layer.style.width = `${info.bounds.width * style.scale}px`; - layer.style.height = `${info.bounds.height * style.scale}px`; - layer.style.backgroundSize = `${info.bounds.width * style.scale}px ${info.bounds.height * style.scale}px`; - layer.style.backgroundImage = `url(${info.blobUrl})`; - element.appendChild(layer); + const layer = createLayer(key, null, null, style); + addLayers([ + layer + ]); break; } break; } + if (evinfo.isDurationEvent) { + const duration = obj[evinfo.durationKey] ?? 0; + const durWidth = iconSize * duration; + const durationLayer = durWidth > info.bounds.width ? createLayer(evbarea, new Rect(info.bounds.width, 0, durWidth - info.bounds.width, info.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style) : null; + if (durationLayer) { + durationLayer.style.pointerEvents = "none"; + layerHoverInit(durationLayer); + } + addLayers([ + durationLayer + ]); + } + const rooms = obj.rooms ?? []; + const roomEnabled = new Color(4292392977); + const roomDisabled = new Color(4284177243); + if (evinfo.isRoomEvent) { + const roomLayers = []; + for (let i = 0; i < 4; i++) { + const roomLayer = createLayer(`room_${i}`, new Point(iconSize, 0), rooms.indexOf(i) > -1 ? roomEnabled : roomDisabled, style); + if (roomLayer) { + layerHoverInit(roomLayer); + } + roomLayers.push(roomLayer); + } + const roomTopLayer = rooms.indexOf(4) > -1 ? createLayer(`room_top`, new Point(iconSize, 0), roomEnabled, style) : null; + if (roomTopLayer) { + layerHoverInit(roomTopLayer); + } + roomLayers.push(roomTopLayer); + addLayers(roomLayers); + } + const condition = obj.if ?? ""; + if (condition.length > 0) { + const positive = /(? { style2 = { ...style2 diff --git a/script/assets.png b/script/assets.png deleted file mode 100644 index e4d05383beeade28a733a02a4342c3c46f1dc9e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6653 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 Hu0mjfFf!)X diff --git a/script/rdview2.js b/script/rdview2.js deleted file mode 100644 index a3f2c52..0000000 --- a/script/rdview2.js +++ /dev/null @@ -1,143 +0,0 @@ -import { Extensions, IconStyle } from "/script/Extensions.js"; -function rend() { - const codeBlocks = document.querySelectorAll("canvas.rdview2-canvas"); - codeBlocks.forEach((block) => { - // 清理旧的实例 - if (block.cleanup) { - block.cleanup(); - } - - const width = block.getAttribute("data-width") || 8; - const height = block.getAttribute("data-height") || 4; - const scale = block.getAttribute("data-scale") || 2; - const data = block.getAttribute("data"); - const ctx = block.getContext("2d", { alpha: false, desynchronized: true }); - block.width = width * scale * 14; - block.height = height * scale * 14; - if (!data) { - return; - } - const jsonData = JSON.parse(`[${JSON.parse(data)}]`); - - let lastActive = false; - let evtId = 0; - let frameId = null; - let cachedRect = null; - let mdown = false; - - const eventPositions = jsonData.map(evt => ({ - evt, - x: ((evt.beat ?? 1) - 1) * scale * 14, - y: (evt.y ?? 0) * scale * 14 - })); - - const style = new IconStyle(); - style.Scale = scale; - - const updateRect = () => { - cachedRect = block.getBoundingClientRect(); - }; - updateRect(); - - let rectTimeout; - const debouncedUpdateRect = () => { - clearTimeout(rectTimeout); - rectTimeout = setTimeout(updateRect, 100); - }; - - const observer = new ResizeObserver(debouncedUpdateRect); - observer.observe(block); - - window.addEventListener("resize", debouncedUpdateRect, { passive: true }); - window.addEventListener("scroll", debouncedUpdateRect, { passive: true }); - - block.render = (x, y, active) => { - const point = { x, y }; - let currentEvtId = null; - for (let i = 0; i < eventPositions.length; i++) { - const { evt } = eventPositions[i]; - if (evt.area?.contains(point)) { - currentEvtId = i; - break; - } - } - - if (currentEvtId === evtId && active === lastActive) { - return; - } - evtId = currentEvtId; - lastActive = active; - - ctx.clearRect(0, 0, block.width, block.height); - - for (const { evt, x: posX, y: posY } of eventPositions) { - const isHovered = evt.area?.contains(point) ?? false; - style.Hover = isHovered; - style.Active = isHovered ? active : false; - evt.area = Extensions.DrawEventIcon(ctx, evt, { x: posX, y: posY }, style); - } - } - - const throttledRender = (x, y, active) => { - if (frameId !== null) { - return; - } - frameId = requestAnimationFrame(() => { - block.render(x, y, active); - frameId = null; - }); - } - - const getMousePos = (e) => ({ - x: e.clientX - cachedRect.left, - y: e.clientY - cachedRect.top - }); - - block.addEventListener("mousemove", (e) => { - const { x, y } = getMousePos(e); - console.log(x, y); - throttledRender(x, y, mdown); - }, { passive: true }); - - block.addEventListener("mousedown", (e) => { - const { x, y } = getMousePos(e); - mdown = true; - block.render(x, y, mdown); - }); - - block.addEventListener("mouseup", (e) => { - const { x, y } = getMousePos(e); - mdown = false; - block.render(x, y, mdown); - }); - - block.addEventListener("mouseleave", () => { - if (frameId !== null) { - cancelAnimationFrame(frameId); - frameId = null; - } - mdown = false; - evtId = null; - lastActive = false; - block.render(-1, -1, mdown); - }, { passive: true }); - - block.cleanup = () => { - observer.disconnect(); - window.removeEventListener("resize", debouncedUpdateRect); - window.removeEventListener("scroll", debouncedUpdateRect); - clearTimeout(rectTimeout); - if (frameId !== null) { - cancelAnimationFrame(frameId); - } - }; - - block.render(-1, -1, mdown); - }); -} - -window.$docsify.plugins = [].concat(window.$docsify.plugins, function (hook) { - hook.doneEach(function () { - rend(); - }); -}); diff --git a/script/special.js b/script/special.js index aeddffd..1bf3445 100644 --- a/script/special.js +++ b/script/special.js @@ -311,17 +311,10 @@ function rdview2() { number.innerHTML = lineDoms.join(""); } function initCanvas() { - // const lang = textarea.value.split('\n')[0] - // const code = textarea.value.split('\n').slice(1).join('\n') - // rdcanvas.innerHTML = RDViewRender(lang, code) - // try { - // JSON.parse(`[${textarea.value}]`); - // } catch (e) { - // rdcanvas.innerHTML = `
JSON解析错误:${e.message}
`; - // } let objs = []; try { objs = JSON.parse(`[${textarea.value}]`); + rdcanvas.innerHTML = ""; } catch (e) { rdcanvas.innerHTML = `
JSON解析错误:${e.message}
`; @@ -376,7 +369,6 @@ function rdview2() { } } } - //rdcanvas.innerHTML = RDView2Render(json); initCanvas(); initLineNumbers(); textarea.addEventListener("input", initLineNumbers); From 455bb82550c4ee33e7b1bc8e36015489eaadd63d Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Thu, 15 Jan 2026 19:01:12 +0800 Subject: [PATCH 28/56] =?UTF-8?q?[RDView2]=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/appendix_tools.md | 34 +- pages/classicbeat.md | 2 +- script/{View.js => rdtkview.js} | 674 ++++++++++++++++++-------------- script/special.js | 90 +++-- 4 files changed, 437 insertions(+), 363 deletions(-) rename script/{View.js => rdtkview.js} (73%) diff --git a/pages/appendix_tools.md b/pages/appendix_tools.md index b9fe73d..f8fa85f 100644 --- a/pages/appendix_tools.md +++ b/pages/appendix_tools.md @@ -22,6 +22,8 @@ g 1 1 5 4 #0ff{ --- +完整功能支持请前往[此处](https://view.obugs.cn)。 +
diff --git a/pages/classicbeat.md b/pages/classicbeat.md index 40abb2c..2f7c987 100644 --- a/pages/classicbeat.md +++ b/pages/classicbeat.md @@ -10,7 +10,7 @@ 第二个选项“**摇摆**”就是剧情模式里老奶奶那样的摇摆普通拍子,可以使用拖动条来调节,对照下方绿色竖线的移动可以很直观地看到摇摆效果。不过拖动滑条你只能得到一些倍数十分规整的摇摆拍子,例如摇摆值为0.25,0.5,0.75等,如果你的音乐里真的有些更为不同寻常的摇摆幅度,那就要直接在框里填写数字了。 -```rdview2 8 9 +```rdtkview 8 9 {"beat": 2, "y": 1, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 0.25, "hold": 0 }, {"beat": 2, "y": 2, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 0.5, "hold": 0 }, {"beat": 2, "y": 3, "type": "AddClassicBeat", "row": 0, "tick": 1, "swing": 0.75, "hold": 0 }, diff --git a/script/View.js b/script/rdtkview.js similarity index 73% rename from script/View.js rename to script/rdtkview.js index 52c6413..a5aea5e 100644 --- a/script/View.js +++ b/script/rdtkview.js @@ -1,4 +1,4 @@ -// AssetManager.ts +// assetManager.ts var Point = class _Point { x = 0; y = 0; @@ -266,12 +266,34 @@ var Color = class _Color { return new _Color(this.a, this.r, this.g, blue); } }; +var canvas = new OffscreenCanvas(1, 1); +var blobs = /* @__PURE__ */ new Map(); var SliceInfo = class { bounds = new Rect(); center = new Rect(); pivot = new Point(); scale = 1; - blobUrl = ""; + async blobUrl() { + const key = `${this.bounds.left},${this.bounds.top},${this.bounds.width},${this.bounds.height}`; + const blob = blobs.get(key); + if (blob) { + return blob; + } else { + canvas.width = this.bounds.width; + canvas.height = this.bounds.height; + const ctx = canvas.getContext("2d"); + if (ctx === null) { + throw new Error("Failed to get 2D context"); + } + ctx.clearRect(0, 0, this.bounds.width, this.bounds.height); + ctx.drawImage(assetFile, this.bounds.left, this.bounds.top, this.bounds.width, this.bounds.height, 0, 0, this.bounds.width, this.bounds.height); + const blob2 = await canvas.convertToBlob({ + type: "image/png" + }); + blobs.set(key, URL.createObjectURL(blob2)); + return blobs.get(key); + } + } get isNinePatch() { return !this.center.isEmpty; } @@ -289,7 +311,6 @@ async function loadAssetFile() { }); } async function readFromStream(stream) { - const canvas = new OffscreenCanvas(1, 1); let offset = 0; const count = stream.getUint8(0); offset += 1; @@ -333,18 +354,6 @@ async function readFromStream(stream) { } sliceInfo.pivot = new Point(pivotLeft, pivotTop); } - canvas.width = width; - canvas.height = height; - const ctx = canvas.getContext("2d"); - if (ctx === null) { - throw new Error("Failed to get 2D context"); - } - ctx.clearRect(0, 0, width, height); - ctx.drawImage(assetFile, sliceInfo.bounds.left, sliceInfo.bounds.top, width, height, 0, 0, width, height); - const blob = await canvas.convertToBlob({ - type: "image/png" - }); - sliceInfo.blobUrl = URL.createObjectURL(blob); sliceInfos.set(key, sliceInfo); } return sliceInfos; @@ -355,15 +364,15 @@ var slices = await readFromStream(new DataView(await (await fetch(directoryPath assetLoaded = true; }); -// Consts.ts +// consts.ts var Tab = /* @__PURE__ */ function(Tab2) { - Tab2["Sounds"] = "sounds"; - Tab2["Rows"] = "rows"; - Tab2["Actions"] = "actions"; - Tab2["Decorations"] = "decorations"; - Tab2["Rooms"] = "rooms"; - Tab2["Windows"] = "windows"; - Tab2["Unknown"] = "unknown"; + Tab2["Sounds"] = "Sounds"; + Tab2["Rows"] = "Rows"; + Tab2["Actions"] = "Actions"; + Tab2["Decorations"] = "Sprites"; + Tab2["Rooms"] = "Rooms"; + Tab2["Windows"] = "Windows"; + Tab2["Unknown"] = "Unknown"; return Tab2; }({}); var SayReadyGetSetGoWords = /* @__PURE__ */ function(SayReadyGetSetGoWords2) { @@ -478,9 +487,18 @@ var EventType = /* @__PURE__ */ function(EventType2) { EventType2["Tile"] = "Tile"; EventType2["Tint"] = "Tint"; EventType2["TintRows"] = "TintRows"; + EventType2["Unknown"] = "Unknown"; EventType2["WindowResize"] = "WindowResize"; return EventType2; }({}); +var hiddenEventType = [ + EventType.ForwardDecorationEvent, + EventType.ForwardEvent, + EventType.ForwardRowEvent, + EventType.MacroEvent, + EventType.SpinningRows, + EventType.ShowSubdivisionsRows +]; var EventAttriblte = /* @__PURE__ */ function(EventAttriblte2) { EventAttriblte2[EventAttriblte2["None"] = 0] = "None"; EventAttriblte2[EventAttriblte2["DurationEvent"] = 1] = "DurationEvent"; @@ -545,29 +563,29 @@ var EventInfos = { AddFreeTimeBeat: new EventInfo(Tab.Rows), AddOneshotBeat: new EventInfo(Tab.Rows), AdvanceText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), - BassDrop: new EventInfo(Tab.Actions), + BassDrop: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), Blend: new EventInfo(Tab.Decorations), CallCustomMethod: new EventInfo(Tab.Actions), ChangeCharacter: new EventInfo(Tab.Actions), ChangePlayersRows: new EventInfo(Tab.Actions), Comment: new EventInfo(Tab.Unknown), - CustomFlash: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + CustomFlash: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), DesktopColor: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent, "duration"), FadeRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), FinishLevel: new EventInfo(Tab.Actions), - Flash: new EventInfo(Tab.Actions), - FlipScreen: new EventInfo(Tab.Actions), + Flash: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + FlipScreen: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), FloatingText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), ForwardDecorationEvent: new EventInfo(Tab.Decorations), - ForwardEvent: new EventInfo(Tab.Unknown), + ForwardEvent: new EventInfo(Tab.Unknown, EventAttriblte.RoomEvent), ForwardRowEvent: new EventInfo(Tab.Rows), HideRow: new EventInfo(Tab.Actions), HideWindow: new EventInfo(Tab.Windows), - InvertColors: new EventInfo(Tab.Actions), + InvertColors: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), MacroEvent: new EventInfo(Tab.Unknown), MaskRoom: new EventInfo(Tab.Rooms), Move: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), - MoveCamera: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + MoveCamera: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), MoveRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), MoveRow: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), NarrateRowInfo: new EventInfo(Tab.Sounds), @@ -577,15 +595,15 @@ var EventInfos = { PlayExpression: new EventInfo(Tab.Actions), PlaySong: new EventInfo(Tab.Sounds), PlaySound: new EventInfo(Tab.Sounds), - PulseCamera: new EventInfo(Tab.Actions), + PulseCamera: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), PulseFreeTimeBeat: new EventInfo(Tab.Rows), ReadNarration: new EventInfo(Tab.Sounds), RenameWindow: new EventInfo(Tab.Windows), ReorderRooms: new EventInfo(Tab.Rooms), - ReorderRow: new EventInfo(Tab.Rows), + ReorderRow: new EventInfo(Tab.Actions), ReorderSprite: new EventInfo(Tab.Decorations), ReorderWindows: new EventInfo(Tab.Windows), - SayReadyGetSetGo: new EventInfo(Tab.Sounds), + SayReadyGetSetGo: new EventInfo(Tab.Sounds, EventAttriblte.RoomEvent), SetBackgroundColor: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), SetBeatSound: new EventInfo(Tab.Sounds), SetBeatsPerMinute: new EventInfo(Tab.Sounds), @@ -594,7 +612,7 @@ var EventInfos = { SetCrotchetsPerBar: new EventInfo(Tab.Sounds), SetForeground: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), SetGameSound: new EventInfo(Tab.Sounds), - SetHandOwner: new EventInfo(Tab.Actions), + SetHandOwner: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), SetHeartExplodeInterval: new EventInfo(Tab.Sounds), SetHeartExplodeVolume: new EventInfo(Tab.Sounds), SetMainWindow: new EventInfo(Tab.Windows), @@ -610,22 +628,23 @@ var EventInfos = { SetWindowContent: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent, "duration"), ShakeScreen: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), ShakeScreenCustom: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - ShowDialogue: new EventInfo(Tab.Actions), - ShowHands: new EventInfo(Tab.Actions), + ShowDialogue: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + ShowHands: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), ShowRooms: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), ShowStatusSign: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), ShowSubdivisionsRows: new EventInfo(Tab.Actions), SpinningRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), - Stutter: new EventInfo(Tab.Actions), + Stutter: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), TagAction: new EventInfo(Tab.Actions), - TextExplosion: new EventInfo(Tab.Actions), + TextExplosion: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), Tile: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), Tint: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), TintRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + Unknown: new EventInfo(Tab.Unknown), WindowResize: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration") }; -// View.ts +// rdtkview.ts var lineHeight = 6; var charHeight = 8; var iconSize = 14; @@ -636,11 +655,37 @@ var IconStyle = class { scale = 1; showDuration = false; }; +var FilterData = class { + color; + hue = 0; + saturation = 1; + brightness = 1; + getFilter() { + let filter = ""; + if (this.color) { + filter += `url(#${getColorMatrixId(this.color)}) `; + } + if (this.hue !== 0) { + filter += `hue-rotate(${this.hue * 360}deg) `; + } + if (this.saturation !== 1) { + filter += `saturate(${this.saturation}) `; + } + if (this.brightness !== 1) { + filter += `brightness(${this.brightness}) `; + } + return filter.trim() || "none"; + } +}; function withState(color, active, enabled) { return (enabled ? color : new Color(4286874756)).withAlpha(active ? 192 : 91); } -function createLayer(key, bound, color, style) { +async function createLayer(key, bound, color, style) { const layer = document.createElement("div"); + layer.filterData = new FilterData(); + layer.updateFilter = () => { + layer.style.filter = layer.filterData.getFilter(); + }; const info = slices.get(key); layer.style.position = "absolute"; layer.style.boxSizing = "content-box"; @@ -652,7 +697,7 @@ function createLayer(key, bound, color, style) { layer.style.top = `${(bound?.top ?? bound?.y ?? 0) * style.scale}px`; layer.style.borderStyle = "solid"; layer.style.borderWidth = `${center.top * style.scale}px ${(info.bounds.width - center.right) * style.scale}px ${(info.bounds.height - center.bottom) * style.scale}px ${center.left * style.scale}px`; - layer.style.borderImageSource = `url(${info.blobUrl})`; + layer.style.borderImageSource = `url(${await info.blobUrl()})`; layer.style.borderImageSlice = `${center.top} ${info.bounds.width - center.right} ${info.bounds.height - center.bottom} ${center.left} fill`; layer.style.borderImageWidth = `1`; layer.style.borderImageOutset = `0`; @@ -666,7 +711,7 @@ function createLayer(key, bound, color, style) { layer.style.width = `${(bound.width ?? info?.bounds.width ?? 0) * style.scale}px`; layer.style.height = `${(bound.height ?? info?.bounds.height ?? 0) * style.scale}px`; if (info) { - layer.style.backgroundImage = `url(${info.blobUrl})`; + layer.style.backgroundImage = `url(${await info.blobUrl()})`; } layer.style.backgroundSize = `${(bound.width ?? info?.bounds.width ?? 0) * style.scale}px ${(bound.height ?? info?.bounds.height ?? 0) * style.scale}px`; } else { @@ -675,21 +720,20 @@ function createLayer(key, bound, color, style) { layer.style.width = `${(info?.bounds.width ?? 0) * style.scale}px`; layer.style.height = `${(info?.bounds.height ?? 0) * style.scale}px`; if (info) { - layer.style.backgroundImage = `url(${info.blobUrl})`; + layer.style.backgroundImage = `url(${await info.blobUrl()})`; } layer.style.backgroundSize = `${(info?.bounds.width ?? 0) * style.scale}px ${(info?.bounds.height ?? 0) * style.scale}px`; } } if (color && Color.White.equals(color) === false) { - const filterId = getColorMatrixId(color); - layer.style.filter = `url(#${filterId})`; layer.onColorChange = (color2) => { if (!color2) { return; } - const newFilterId = getColorMatrixId(color2); - layer.style.filter = `url(#${newFilterId})`; + layer.filterData.color = color2; + layer.updateFilter(); }; + layer.onColorChange(color); } else { } return layer; @@ -707,7 +751,7 @@ function getColorMatrixId(rgba) { const g = rgba.g / 255; const b = rgba.b / 255; const a = rgba.a / 255; - feColorMatrix.setAttribute("values", `${r} 0 0 0 0 0 ${g} 0 0 0 0 0 ${b} 0 0 0 0 0 ${a} 0`); + feColorMatrix.setAttribute("values", `${r * r} 0 0 0 0 0 ${g * g} 0 0 0 0 0 ${b * b} 0 0 0 0 0 ${a} 0`); const filter = document.createElementNS("http://www.w3.org/2000/svg", "filter"); filter.setAttribute("id", `filter_${rgba.toHexString()}`); filter.appendChild(feColorMatrix); @@ -734,10 +778,11 @@ function measureRDFontText(text) { } return len; } -function createRDFontLayer(text, style, color) { +async function createRDFontLayer(text, style, color) { const lineHead = new Point(0, -charHeight); const start = lineHead.clone(); const layer = document.createElement("div"); + const charLayers = []; layer.style.position = "absolute"; for (let i = 0; i < text.length; i++) { const char = text.charAt(i); @@ -749,25 +794,37 @@ function createRDFontLayer(text, style, color) { const charKey = `char_${charCode.toString(16).padStart(4, "0")}`; const charInfo = slices.get(charKey); if (charInfo) { - const charLayer = createLayer(charKey, new Point(start.x, start.y), color, style); + const charLayer = await createLayer(charKey, new Point(start.x, start.y), color, style); start.x += charInfo.bounds.width * style.scale; - layer.appendChild(charLayer); + charLayers.push(charLayer); } } } + layer.updateFilter = () => { + charLayers.forEach((cl) => { + cl.updateFilter(); + }); + }; + charLayers.forEach((cl) => { + layer.appendChild(cl); + }); return layer; } function createBackLayer(size, color, style) { const outline = "event_outline"; const back = "event_back"; - const backLayer = createLayer(back, new Rect(1, 1, (size?.width ?? iconSize) - 2, (size?.height ?? iconSize) - 2), withState(color, style.active, style.enabled), style); - const outlineLayer = createLayer(outline, size ? new Rect(size) : null, new Color(style.active ? 4294967295 : 4289243304), style); - if (backLayer.onColorChange) { - backLayer.onStateChange = (style2) => backLayer.onColorChange(withState(color, style2.active, style2.enabled)); - } - if (outlineLayer.onColorChange) { - outlineLayer.onStateChange = (style2) => outlineLayer.onColorChange(new Color(style2.active ? 4294967295 : 4289243304)); - } + const backLayer = createLayer(back, new Rect(1, 1, (size?.width ?? iconSize) - 2, (size?.height ?? iconSize) - 2), withState(color, style.active, style.enabled), style).then((layer) => { + if (layer.onColorChange) { + layer.onStateChange = (style2) => layer.onColorChange(withState(color, style2.active, style2.enabled)); + } + return layer; + }); + const outlineLayer = createLayer(outline, size ? new Rect(size) : null, new Color(style.active ? 4294967295 : 4289243304), style).then((layer) => { + if (layer.onColorChange) { + layer.onStateChange = (style2) => layer.onColorChange(new Color(style2.active ? 4294967295 : 4289243304)); + } + return layer; + }); return [ backLayer, outlineLayer @@ -833,26 +890,29 @@ function createHintLayer(hint, width, color) { }; return hintLayer; } -function createElementEvent(obj, style) { +async function createElementEvent(obj, style) { style = { ...new IconStyle(), ...style }; - const evttype = obj.type ?? EventType.ForwardEvent; let key0 = `event_${obj.type}`; + const hasType = EventType.hasOwnProperty(obj.type); + if (!hasType) { + console.warn(obj.type ? `Unknown event type: ${obj.type}` : `Event type missing`); + } if (!slices.has(key0)) { if (!slices.has("event_Unknown")) { return null; } key0 = "event_Unknown"; } - const info = slices.get(key0); - if (!info) { + const evttype = obj.type ?? EventType.Unknown; + const slcinfo = slices.get(key0) ?? slices.get("event_Unknown"); + if (!slcinfo) { console.warn(`Slice info for event type ${evttype} not found.`); return null; } - const evttypeEnum = EventType[evttype]; - const evinfo = EventInfos[evttypeEnum]; + const evinfo = EventInfos[evttype] ?? EventInfos[EventType.Unknown]; const key = "event_" + evttype; const pulse = "event_beat_pulse"; const hit = "event_beat_hit"; @@ -867,18 +927,10 @@ function createElementEvent(obj, style) { const evbskip = "event_beat_skip"; const beatColor = new Color(4284539717); const element = document.createElement("div"); - const internalLayers = []; - if (evttype === EventType.NewWindowDance) { - obj.tab = obj.customTab ?? Tab.Windows; - } - function addLayers(layers) { - for (const layer of layers) { - if (layer) { - element.appendChild(layer); - internalLayers.push(layer); - } - } - } + element.eventStyle = { + ...style + }; + const layersToAdd = []; element.style.imageRendering = "pixelated"; switch (evttype) { case EventType.AddClassicBeat: @@ -886,31 +938,30 @@ function createElementEvent(obj, style) { const tick = obj.tick ?? 1; const swing = (obj.swing ?? 0) || 1; const hold = obj.hold ?? 0; - const syncoSwing = obj.syncoSwing ?? 0; const prexs = obj.preXs ?? { syncoBeat: -1, syncoSwing: 0 }; const length = obj.length ?? 7; const iconWidth = iconSize * (tick * (length - 1 - prexs.syncoSwing)); - const holdBar = hold > 0 ? createLayer(evbarea, new Rect(iconWidth, 0, iconSize * hold, iconSize), new Color(style.active ? 4291839731 : 4286462352), style) : null; - if (holdBar) { - holdBar.style.pointerEvents = "none"; - } + const holdBar = hold > 0 ? createLayer(evbarea, new Rect(iconWidth, 0, iconSize * hold, iconSize), new Color(style.active ? 4291839731 : 4286462352), style).then((layer) => { + layer.style.pointerEvents = "none"; + return layer; + }) : null; const backLayers2 = createBackLayer(new Size(iconWidth, iconSize), colorOf(obj.tab ?? evinfo.defaultTab), style); const pulses = []; for (let i = 0; i < length - 1; i++) { - const pulseLayer = createLayer(pulse, new Point(iconSize * (tick * (i + i % 2 * (1 - swing) - (i <= prexs.syncoBeat ? 0 : prexs.syncoSwing))), 0), null, style); - layerHoverInit(pulseLayer); + const pulseLayer = createLayer(pulse, new Point(iconSize * (tick * (i + i % 2 * (1 - swing) - (i <= prexs.syncoBeat ? 0 : prexs.syncoSwing))), 0), null, style).then((layer) => { + layerHoverInit(layer); + return layer; + }); pulses.push(pulseLayer); } const hitLayer = createLayer(hit, new Point(iconSize * (tick * (length - 1 - (prexs.syncoSwing ?? 0))) - 1, 0), null, style); - addLayers([ - holdBar, - ...backLayers2, - ...pulses, - hitLayer - ]); + layersToAdd.push(holdBar); + layersToAdd.push(...backLayers2); + layersToAdd.push(...pulses); + layersToAdd.push(hitLayer); } break; case EventType.AddOneshotBeat: @@ -928,114 +979,119 @@ function createElementEvent(obj, style) { const off = interval - tick; const backLayers2 = createBackLayer(new Size(eventWidth, iconSize), colorOf(obj.tab ?? evinfo.defaultTab), style); const holdWidth = hold ? iconSize * (interval - tick - delay) : 0; - const holdLayer = hold && holdWidth - subdivWidth > 0 ? createLayer(evbarea, new Rect(eventWidth + subdivWidth, 0, holdWidth - subdivWidth, iconSize), new Color(style.enabled ? 4291839731 : 4285493103), style) : null; - const subdivLayer = subdiv > 1 ? createLayer(evbarea, new Rect(eventWidth, 0, subdivWidth, iconSize), new Color(style.enabled ? 4279480353 : 4285493103), style) : null; - const skipshotLayer = skip ? createLayer(evbarea, new Rect(eventWidth + Math.max(subdivWidth, holdWidth), 0, iconSize * (interval - delay) - Math.max(subdivWidth, holdWidth), iconSize), new Color(style.enabled ? 4291115835 : 4285493103), style) : null; - const skipHitLayer = skip ? createLayer(evbskip, new Point(eventWidth + iconSize * (interval - delay) - 1, 0), null, style) : null; - if (holdLayer) holdLayer.style.pointerEvents = "none"; - if (subdivLayer) subdivLayer.style.pointerEvents = "none"; - if (skipshotLayer) skipshotLayer.style.pointerEvents = "none"; - if (skipHitLayer) skipHitLayer.style.pointerEvents = "none"; + const holdLayer = hold && holdWidth - subdivWidth > 0 ? createLayer(evbarea, new Rect(eventWidth + subdivWidth, 0, holdWidth - subdivWidth, iconSize), new Color(style.enabled ? 4291839731 : 4285493103), style).then((layer) => { + layer.style.pointerEvents = "none"; + return layer; + }) : null; + const subdivLayer = subdiv > 1 ? createLayer(evbarea, new Rect(eventWidth, 0, subdivWidth, iconSize), new Color(style.enabled ? 4279480353 : 4285493103), style).then((layer) => { + layer.style.pointerEvents = "none"; + return layer; + }) : null; + const skipshotLayer = skip ? createLayer(evbarea, new Rect(eventWidth + Math.max(subdivWidth, holdWidth), 0, iconSize * (interval - delay) - Math.max(subdivWidth, holdWidth), iconSize), new Color(style.enabled ? 4291115835 : 4285493103), style).then((layer) => { + layer.style.pointerEvents = "none"; + return layer; + }) : null; + const skipHitLayer = skip ? createLayer(evbskip, new Point(eventWidth + iconSize * (interval - delay) - 1, 0), null, style).then((layer) => { + layer.style.pointerEvents = "none"; + return layer; + }) : null; const pulses = []; const crossLayers = []; const posx = -off * iconSize; - const hittype = mode === "Freezeshot" ? hitf : hitb; + const hittype = mode === "Freezeshot" ? hitf : mode === "Burnshot" ? hitb : null; for (let l = 0; l <= loop; l++) { for (let i = 0; i < subdiv; i++) { - const pulseLayer = createLayer(pulse, new Point(iconSize * (l * interval + i * tick / subdiv), 0), null, style); - layerHoverInit(pulseLayer); + const pulseLayer = createLayer(pulse, new Point(iconSize * (l * interval + i * tick / subdiv), 0), null, style).then((layer) => { + layerHoverInit(layer); + return layer; + }); pulses.push(pulseLayer); } for (let i = 0; i < subdiv; i++) { const hitLayer2 = createLayer(hit, new Point(iconSize * (l * interval + delay + tick + i * tick / subdiv) - 1, 0), null, style); pulses.push(hitLayer2); } - const crossLayer1 = mode || hold ? createLayer(beatcross, new Point(iconSize * l * interval + posx - 1, 0), null, style) : null; - const crossLayer2 = mode ? createLayer(beatcross, new Point(iconSize * (l - (mode === "Freezeshot" ? 0 : 1)) * interval - 1, 0), null, style) : null; - const hitLayer = createLayer(hittype, new Point(iconSize * (l * interval + tick) - 1, 0), null, style); - if (crossLayer1) { - layerHoverInit(crossLayer1); - crossLayers.push(crossLayer1); - } - if (crossLayer2) { - layerHoverInit(crossLayer2); - crossLayers.push(crossLayer2); - } + const crossLayer1 = mode || hold ? createLayer(beatcross, new Point(iconSize * l * interval + posx - 1, 0), null, style).then((layer) => { + layerHoverInit(layer); + return layer; + }) : null; + const crossLayer2 = mode ? createLayer(beatcross, new Point(iconSize * (l - (mode === "Freezeshot" ? 0 : 1)) * interval - 1, 0), null, style).then((layer) => { + layerHoverInit(layer); + return layer; + }) : null; + const hitLayer = hittype ? createLayer(hittype, new Point(iconSize * (l * interval + tick) - 1, 0), null, style) : null; + crossLayers.push(crossLayer1); + crossLayers.push(crossLayer2); pulses.push(hitLayer); } - const loopLayer = createLayer("event_beat_loop", new Point(eventWidth, 0), null, style); - loopLayer.style.opacity = "0"; - loopLayer.style.zIndex = "5"; - loopLayer.onStateChange = (style2) => { - if (style2.hover) { - loopLayer.style.opacity = "1.0"; - } else { - loopLayer.style.opacity = "0"; - } - }; - addLayers([ - ...backLayers2, - holdLayer, - subdivLayer, - skipshotLayer, - skipHitLayer, - ...pulses, - loopLayer, - ...crossLayers - ]); + const loopLayer = createLayer("event_beat_loop", new Point(eventWidth, 0), null, style).then((loopLayer2) => { + loopLayer2.style.opacity = "0"; + loopLayer2.style.zIndex = "5"; + loopLayer2.onStateChange = (style2) => { + if (style2.hover) { + loopLayer2.style.opacity = "1.0"; + } else { + loopLayer2.style.opacity = "0"; + } + }; + return loopLayer2; + }); + layersToAdd.push(...backLayers2); + layersToAdd.push(holdLayer); + layersToAdd.push(subdivLayer); + layersToAdd.push(skipshotLayer); + layersToAdd.push(skipHitLayer); + layersToAdd.push(...pulses); + layersToAdd.push(loopLayer); + layersToAdd.push(...crossLayers); } break; case EventType.AddFreeTimeBeat: { const hold = obj.hold ?? 0; - const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(info.bounds.width, 0, iconSize * hold - info.bounds.width, iconSize), new Color(style.active ? 4291839731 : 4286462352), style) : null; - if (holdLayer) { - holdLayer.style.pointerEvents = "none"; - } - const backLayers2 = createBackLayer(new Size(info.bounds.width, iconSize), beatColor, style); + const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(slcinfo.bounds.width, 0, iconSize * hold - slcinfo.bounds.width, iconSize), new Color(style.active ? 4291839731 : 4286462352), style).then((layer) => { + layer.style.pointerEvents = "none"; + return layer; + }) : null; + const backLayers2 = createBackLayer(new Size(slcinfo.bounds.width, iconSize), beatColor, style); const hitLayer = obj.pulse === 6 ? createLayer(hit, new Point(0, 0), null, style) : null; - const textLayer = createRDFontLayer(((obj.pulse ?? 0) + 1).toString(), style, null); - textLayer.style.left = `${1.5 * style.scale}px`; - textLayer.style.top = `${10 * style.scale}px`; - addLayers([ - holdLayer, - ...backLayers2, - hitLayer, - textLayer - ]); + const textLayer = createRDFontLayer(((obj.pulse ?? 0) + 1).toString(), style, null).then((textLayer2) => { + textLayer2.style.left = `${1.5 * style.scale}px`; + textLayer2.style.top = `${10 * style.scale}px`; + return textLayer2; + }); + layersToAdd.push(holdLayer); + layersToAdd.push(...backLayers2); + layersToAdd.push(hitLayer); + layersToAdd.push(textLayer); } break; case EventType.Comment: { - const backLayers2 = createBackLayer(info.bounds.size, new Color(obj.color ?? "7d7d7d"), style); + const backLayers2 = createBackLayer(slcinfo.bounds.size, new Color(obj.color ?? "7d7d7d"), style); const iconLayer = createLayer(key, null, null, style); - addLayers([ - ...backLayers2, - iconLayer - ]); + layersToAdd.push(...backLayers2); + layersToAdd.push(iconLayer); } break; case EventType.DesktopColor: { - const backLayers2 = createBackLayer(info.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); - console.log(info.bounds.size); + const backLayers2 = createBackLayer(slcinfo.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); const iconColorLayer = createLayer(`${key}_0`, new Point(0, iconSize), new Color(obj.endColor ?? "ffffff"), style); const iconLayer = createLayer(`${key}_1`, new Point(0, iconSize), null, style); - addLayers([ - ...backLayers2, - iconColorLayer, - iconLayer - ]); + layersToAdd.push(...backLayers2); + layersToAdd.push(iconColorLayer); + layersToAdd.push(iconLayer); } break; case EventType.PulseFreeTimeBeat: { const hold = obj.hold ?? 0; - const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(info.bounds.width, 0, iconSize * hold - info.bounds.width, info.bounds.height), new Color(style.active ? 4291839731 : 4286462352), style) : null; - if (holdLayer) { - holdLayer.style.pointerEvents = "none"; - } - const backLayers2 = createBackLayer(new Size(info.bounds.width, info.bounds.height), beatColor, style); + const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(slcinfo.bounds.width, 0, iconSize * hold - slcinfo.bounds.width, slcinfo.bounds.height), new Color(style.active ? 4291839731 : 4286462352), style).then((layer) => { + layer.style.pointerEvents = "none"; + return layer; + }) : null; + const backLayers2 = createBackLayer(new Size(slcinfo.bounds.width, slcinfo.bounds.height), beatColor, style); const hitLayer = obj.pulse === 6 ? createLayer(hit, new Point(0, 0), null, style) : null; let text = ""; switch (obj.action) { @@ -1052,21 +1108,21 @@ function createElementEvent(obj, style) { text = "x"; break; } - const textLayer = createRDFontLayer(text, style, null); - textLayer.style.left = `${1.5 * style.scale}px`; - textLayer.style.top = `${10 * style.scale}px`; - addLayers([ - holdLayer, - ...backLayers2, - hitLayer, - textLayer - ]); + const textLayer = createRDFontLayer(text, style, null).then((textLayer2) => { + textLayer2.style.left = `${1.5 * style.scale}px`; + textLayer2.style.top = `${10 * style.scale}px`; + return textLayer2; + }); + layersToAdd.push(holdLayer); + layersToAdd.push(...backLayers2); + layersToAdd.push(hitLayer); + layersToAdd.push(textLayer); } break; case EventType.ReorderRooms: case EventType.ReorderWindows: { - const backLayers2 = createBackLayer(info.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); + const backLayers2 = createBackLayer(slcinfo.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); const orderLayers = []; const order = obj.order ?? [ 0, @@ -1080,10 +1136,8 @@ function createElementEvent(obj, style) { orderLayers.push(orderLayer); } } - addLayers([ - ...backLayers2, - ...orderLayers - ]); + layersToAdd.push(...backLayers2); + layersToAdd.push(...orderLayers); } break; case EventType.SayReadyGetSetGo: @@ -1117,38 +1171,36 @@ function createElementEvent(obj, style) { const wordLayer = createRDFontLayer(line, { ...style, scale: style.scale / 2 - }, null); - wordLayer.style.left = `${p.x * style.scale}px`; - wordLayer.style.top = `${p.y * style.scale}px`; + }, null).then((wordLayer2) => { + wordLayer2.style.left = `${p.x * style.scale}px`; + wordLayer2.style.top = `${p.y * style.scale}px`; + return wordLayer2; + }); wordLayers.push(wordLayer); } - addLayers([ - ...backLayers2, - ...wordLayers - ]); + layersToAdd.push(...backLayers2); + layersToAdd.push(...wordLayers); } break; case EventType.SetRowXs: { const syncoBeat = obj.syncoBeat ?? -1; - const width = info.bounds.width / 6; + const width = slcinfo.bounds.width / 6; const iconBounds = slices.get(beatx).bounds; const s = width / iconBounds.width; let left = 0; const top = iconSize / 2 - iconBounds.height * s / 2; const patternLayers = []; - const backLayers2 = createBackLayer(new Size(info.bounds.width, info.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style); - for (let p of obj.pattern) { + const backLayers2 = createBackLayer(new Size(slcinfo.bounds.width, slcinfo.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style); + for (let p of obj.pattern ?? "------") { const beatxLayer = createLayer(p === "x" ? beatx : beatline, new Rect(left, top, width, iconBounds.height * s), null, style); patternLayers.push(beatxLayer); left += width; } const syncoBeatLayer = syncoBeat >= 0 ? createLayer(beatsynco, new Rect(width * syncoBeat, top, width, iconBounds.height * s), null, style) : null; - addLayers([ - ...backLayers2, - ...patternLayers, - syncoBeatLayer - ]); + layersToAdd.push(...backLayers2); + layersToAdd.push(...patternLayers); + layersToAdd.push(syncoBeatLayer); } break; case EventType.ShowRooms: @@ -1156,49 +1208,41 @@ function createElementEvent(obj, style) { const backLayers2 = createBackLayer(new Size(iconSize, iconSize * 4), colorOf(obj.tab ?? evinfo.defaultTab), style); const roomLayers = []; for (let i = 0; i < 4; i++) { - const roomLayer = createLayer(`${key}_${obj.rooms.indexOf(i) >= 0 ? "1" : "0"}`, new Point(0, i * iconSize * style.scale), null, { + const roomLayer = createLayer(`${key}_${(obj.rooms ?? []).indexOf(i) >= 0 ? "1" : "0"}`, new Point(0, i * iconSize * style.scale), null, { ...style, scale: style.scale / 2 }); roomLayers.push(roomLayer); } - addLayers([ - ...backLayers2, - ...roomLayers - ]); + layersToAdd.push(...backLayers2); + layersToAdd.push(...roomLayers); } break; default: - const backLayers = createBackLayer(info.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); - addLayers(backLayers); + const backLayers = createBackLayer(slcinfo.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); + layersToAdd.push(...backLayers); switch (evttype) { case EventType.CustomFlash: const iconLayer = createLayer(key, null, null, style); const startColorLayer = createLayer(`${key}_0`, null, new Color(obj.startColor ?? "000000").withAlpha((obj.startOpacity ?? 0) * 255), style); const endColorLayer = createLayer(`${key}_1`, null, new Color(obj.endColor ?? "000000").withAlpha((obj.endOpacity ?? 0) * 255), style); - addLayers([ - iconLayer, - startColorLayer, - endColorLayer - ]); + layersToAdd.push(iconLayer); + layersToAdd.push(startColorLayer); + layersToAdd.push(endColorLayer); break; case EventType.FlipScreen: { const flip = (obj.flipX ? 1 : 0) | (obj.flipY ? 2 : 0); const iconLayer2 = createLayer(flip === 0 ? `${key}_0` : `${key}_${flip - 1}`, null, null, style); - addLayers([ - iconLayer2 - ]); + layersToAdd.push(iconLayer2); } break; case EventType.FloatingText: { const backColorLayer = createLayer(`${key}_0`, null, Color.FromRgba(obj.color ?? "FFFFFFFF"), style); const foreColorLayer = createLayer(`${key}_1`, null, Color.FromRgba(obj.outlineColor ?? "FFFFFFFF"), style); - addLayers([ - backColorLayer, - foreColorLayer - ]); + layersToAdd.push(backColorLayer); + layersToAdd.push(foreColorLayer); } break; case EventType.MoveRoom: @@ -1213,7 +1257,10 @@ function createElementEvent(obj, style) { const uniform = Math.sqrt(width * width + height * height); width /= uniform; height /= uniform; - const roomLayer = createLayer(key, new Rect(iconSize / 2, iconSize / 2, iconSize * width, iconSize * height), null, style); + const roomLayer = createLayer(key, new Rect(iconSize / 2, iconSize / 2, iconSize * width, iconSize * height), null, style).then((roomLayer2) => { + roomLayer2.style.transform = `translate(-50%, -50%) rotate(${-degree}deg)`; + return roomLayer2; + }); let pivotx = width * (1 - pleft * 2); let pivoty = height * (1 - ptop * 2); const widthrotated = pivotx * Math.cos(radius) + pivoty * Math.sin(radius); @@ -1225,11 +1272,8 @@ function createElementEvent(obj, style) { pointLayer.style.left = `${iconSize * (1 - widthrotated) * style.scale / 2}px`; pointLayer.style.top = `${iconSize * (1 + heightrotated) * style.scale / 2}px`; pointLayer.style.backgroundColor = "#FF0000"; - roomLayer.style.transform = `translate(-50%, -50%) rotate(${-degree}deg)`; - addLayers([ - roomLayer, - pointLayer - ]); + layersToAdd.push(roomLayer); + layersToAdd.push(Promise.resolve(pointLayer)); } break; case EventType.PaintHands: @@ -1239,10 +1283,8 @@ function createElementEvent(obj, style) { const border = obj.border; const backColorLayer = createLayer(key, null, Color.FromRgba(obj.tintColor ?? "FFFFFFFF"), style); const foreColorLayer = border ? createLayer(border === "Outline" ? `${key}_0` : border === "Glow" ? `${key}_1` : "", null, Color.FromRgba(obj.borderColor ?? "FFFFFFFF"), style) : null; - addLayers([ - backColorLayer, - foreColorLayer - ]); + layersToAdd.push(backColorLayer); + layersToAdd.push(foreColorLayer); } break; case EventType.SetBackgroundColor: @@ -1253,34 +1295,36 @@ function createElementEvent(obj, style) { const imagePath = images.length > 0 ? images[0] : ""; const contentInfo = slices.get(`${key}_1`); const colorLayer = createLayer(`${key}_0`, null, Color.FromRgba((backType === "Color" ? obj.color : null) ?? "FFFFFF"), style); - const contentLayer = backType === "Image" ? createLayer("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style) : null; - if (backType === "Image" && contentLayer) { - contentLayer.style.backgroundImage = `url(${imagePath})`; - contentLayer.style.left = `${-(contentInfo?.pivot.x ?? 0) * style.scale}px`; - contentLayer.style.top = `${-(contentInfo?.pivot.y ?? 0) * style.scale}px`; - } - addLayers([ - iconLayer2, - colorLayer, - contentLayer - ]); + const contentLayer = backType === "Image" ? createLayer("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style).then((contentLayer2) => { + if (backType === "Image" && contentLayer2) { + contentLayer2.style.backgroundImage = `url(${imagePath})`; + contentLayer2.style.left = `${-(contentInfo?.pivot.x ?? 0) * style.scale}px`; + contentLayer2.style.top = `${-(contentInfo?.pivot.y ?? 0) * style.scale}px`; + } + return contentLayer2; + }) : null; + layersToAdd.push(iconLayer2); + layersToAdd.push(colorLayer); + layersToAdd.push(contentLayer); } break; case EventType.SetCrotchetsPerBar: { const cpb = obj.crotchetsPerBar ?? 0; const iconLayer2 = createLayer(key, null, null, style); - const cpbLayer = createRDFontLayer(cpb > 9 ? "-" : cpb.toString(), style, Color.Black); - const bLayer = createRDFontLayer("4", style, Color.Black); - cpbLayer.style.left = `${2 * style.scale}px`; - cpbLayer.style.top = `${9 * style.scale}px`; - bLayer.style.left = `${8 * style.scale}px`; - bLayer.style.top = `${14 * style.scale}px`; - addLayers([ - iconLayer2, - cpbLayer, - bLayer - ]); + const cpbLayer = createRDFontLayer(cpb > 9 ? "-" : cpb.toString(), style, Color.Black).then((cpbLayer2) => { + cpbLayer2.style.left = `${2 * style.scale}px`; + cpbLayer2.style.top = `${9 * style.scale}px`; + return cpbLayer2; + }); + const bLayer = createRDFontLayer("4", style, Color.Black).then((bLayer2) => { + bLayer2.style.left = `${8 * style.scale}px`; + bLayer2.style.top = `${14 * style.scale}px`; + return bLayer2; + }); + layersToAdd.push(iconLayer2); + layersToAdd.push(cpbLayer); + layersToAdd.push(bLayer); } break; case EventType.SetForeground: @@ -1290,24 +1334,22 @@ function createElementEvent(obj, style) { const imagePath = images.length > 0 ? images[0] : ""; const contentInfo = slices.get(`${key}_1`); const colorLayer = imagePath ? createLayer(`${key}_0`, null, Color.Black, style) : null; - const contentLayer = imagePath ? createLayer("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style) : null; - if (contentLayer) { - contentLayer.style.backgroundImage = `url(${imagePath})`; - contentLayer.style.left = `${-(contentInfo?.pivot.x ?? 0) * style.scale}px`; - contentLayer.style.top = `${-(contentInfo?.pivot.y ?? 0) * style.scale}px`; - } - addLayers([ - iconLayer2, - colorLayer, - contentLayer - ]); + const contentLayer = imagePath ? createLayer("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style).then((contentLayer2) => { + if (contentLayer2) { + contentLayer2.style.backgroundImage = `url(${imagePath})`; + contentLayer2.style.left = `${-(contentInfo?.pivot.x ?? 0) * style.scale}px`; + contentLayer2.style.top = `${-(contentInfo?.pivot.y ?? 0) * style.scale}px`; + } + return contentLayer2; + }) : null; + layersToAdd.push(iconLayer2); + layersToAdd.push(colorLayer); + layersToAdd.push(contentLayer); } break; default: - const layer = createLayer(key, null, null, style); - addLayers([ - layer - ]); + const layer = createLayer(hasType ? key : "event_Unknown", null, null, style); + layersToAdd.push(layer); break; } break; @@ -1315,14 +1357,12 @@ function createElementEvent(obj, style) { if (evinfo.isDurationEvent) { const duration = obj[evinfo.durationKey] ?? 0; const durWidth = iconSize * duration; - const durationLayer = durWidth > info.bounds.width ? createLayer(evbarea, new Rect(info.bounds.width, 0, durWidth - info.bounds.width, info.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style) : null; - if (durationLayer) { - durationLayer.style.pointerEvents = "none"; - layerHoverInit(durationLayer); - } - addLayers([ - durationLayer - ]); + const durationLayer = durWidth > slcinfo.bounds.width ? createLayer(evbarea, new Rect(slcinfo.bounds.width, 0, durWidth - slcinfo.bounds.width, slcinfo.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style).then((layer) => { + layer.style.pointerEvents = "none"; + layerHoverInit(layer); + return layer; + }) : null; + layersToAdd.push(durationLayer); } const rooms = obj.rooms ?? []; const roomEnabled = new Color(4292392977); @@ -1330,37 +1370,36 @@ function createElementEvent(obj, style) { if (evinfo.isRoomEvent) { const roomLayers = []; for (let i = 0; i < 4; i++) { - const roomLayer = createLayer(`room_${i}`, new Point(iconSize, 0), rooms.indexOf(i) > -1 ? roomEnabled : roomDisabled, style); - if (roomLayer) { - layerHoverInit(roomLayer); - } + const roomLayer = createLayer(`room_${i}`, new Point(iconSize, 0), rooms.indexOf(i) > -1 ? roomEnabled : roomDisabled, style).then((roomLayer2) => { + if (roomLayer2) { + layerHoverInit(roomLayer2); + } + return roomLayer2; + }); roomLayers.push(roomLayer); } - const roomTopLayer = rooms.indexOf(4) > -1 ? createLayer(`room_top`, new Point(iconSize, 0), roomEnabled, style) : null; - if (roomTopLayer) { - layerHoverInit(roomTopLayer); - } + const roomTopLayer = rooms.indexOf(4) > -1 ? createLayer(`room_top`, new Point(iconSize, 0), roomEnabled, style).then((roomTopLayer2) => { + if (roomTopLayer2) { + layerHoverInit(roomTopLayer2); + } + return roomTopLayer2; + }) : null; roomLayers.push(roomTopLayer); - addLayers(roomLayers); + layersToAdd.push(...roomLayers); } const condition = obj.if ?? ""; if (condition.length > 0) { const positive = /(? 0 ? `Error: Unknown type: ${obj.type}` : "Error: Type missing", slcinfo.bounds.width * style.scale, colorOf(obj.tab ?? evinfo.defaultTab)); + } + break; + } + if (hintLayer) { + layersToAdd.push(Promise.resolve(hintLayer)); + } + if (obj["$style"]) { + const hsb = obj["$style"].hsb ?? [ + 0, + 0, + 0 + ]; + if (hsb[0] !== 0 || hsb[1] !== 0 || hsb[2] !== 0) { + layersToAdd.forEach((layer) => layer?.then((layer2) => { + layer2.filterData.hue = hsb[0]; + layer2.filterData.saturation = hsb[1]; + layer2.filterData.brightness = hsb[2]; + })); + } + layersToAdd.forEach((layer) => layer?.then((layer2) => { + layer2.updateFilter(); + })); } element.onStateChange = (style2) => { style2 = { ...style2 }; - internalLayers.forEach((layer) => { - if (layer.onStateChange) { - layer.onStateChange(style2); + layersToAdd.forEach((layer) => layer?.then((layer2) => { + if (layer2.onStateChange) { + layer2.onStateChange(style2); } - }); + })); }; + element.moveTo = function(x, y) { + this.style.left = `${x}px`; + this.style.top = `${y}px`; + }; + for await (const layer of layersToAdd) { + if (layer) { + element.appendChild(layer); + } + } + element.eventData = obj; return element; } export { + IconStyle, + colorOf, createElementEvent }; diff --git a/script/special.js b/script/special.js index 1bf3445..536258a 100644 --- a/script/special.js +++ b/script/special.js @@ -1,4 +1,4 @@ -import { createElementEvent } from "./View.js"; +import { createElementEvent } from "./rdtkview.js"; let curx = 0; let cury = 0; @@ -322,52 +322,58 @@ function rdview2() { } const eventStyle = { "scale": 2.0, "showDuration": false }; let maxy = 0; + const elemPromises = []; for (let obj of objs) { const style = { ...eventStyle, enabled: obj.active ?? true }; - const elem = createElementEvent(obj, style); - elem.eventStyle = style; - elem.style.position = "absolute"; - elem.style.left = `${ - ((((obj.bar ?? 1) - 1) * 8) + (obj.beat ?? 1) - 1) * 14 * - eventStyle.scale - }px`; - elem.style.top = `${ - (obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale - }px`; - if ( - ((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + - elem.offsetHeight > maxy - ) { - maxy = ((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + - elem.offsetHeight; - } - elem.addEventListener("mousedown", (event) => { - const eStyle = elem.eventStyle; - eStyle.active = true; - elem.onStateChange(eStyle); + const elem = createElementEvent(obj, style).then((elem) => { + elem.eventStyle = style; + elem.style.position = "absolute"; + elem.style.left = `${ + ((((obj.bar ?? 1) - 1) * 8) + (obj.beat ?? 1) - 1) * 14 * + eventStyle.scale + }px`; + elem.style.top = `${ + (obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale + }px`; + if ( + ((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + + elem.offsetHeight > maxy + ) { + maxy = ((obj.y ?? obj.row ?? 0) * 14 * eventStyle.scale) + + elem.offsetHeight; + } + elem.addEventListener("mousedown", (event) => { + const eStyle = elem.eventStyle; + eStyle.active = true; + elem.onStateChange(eStyle); + }); + elem.addEventListener("mouseover", (event) => { + const eStyle = elem.eventStyle; + eStyle.hover = true; + elem.onStateChange(eStyle); + }); + elem.addEventListener("mouseout", (event) => { + const eStyle = elem.eventStyle; + eStyle.hover = false; + eStyle.active = false; + elem.onStateChange(eStyle); + }); + elem.addEventListener("mouseup", (event) => { + const eStyle = elem.eventStyle; + eStyle.active = false; + elem.onStateChange(eStyle); + }); + return elem; }); - elem.addEventListener("mouseover", (event) => { - const eStyle = elem.eventStyle; - eStyle.hover = true; - elem.onStateChange(eStyle); + elemPromises.push(elem); + Promise.all(elemPromises).then((elems) => { + elems.forEach((elem) => { + rdcanvas.appendChild(elem); + }); }); - elem.addEventListener("mouseout", (event) => { - const eStyle = elem.eventStyle; - eStyle.hover = false; - eStyle.active = false; - elem.onStateChange(eStyle); - }); - elem.addEventListener("mouseup", (event) => { - const eStyle = elem.eventStyle; - eStyle.active = false; - elem.onStateChange(eStyle); - }); - rdcanvas.style.position = "relative"; - rdcanvas.style.height = `${maxy + 4 * 14 * eventStyle.scale}px`; - if (elem) { - rdcanvas.appendChild(elem); - } } + rdcanvas.style.position = "relative"; + rdcanvas.style.height = `${maxy + 4 * 14 * eventStyle.scale}px`; } initCanvas(); initLineNumbers(); From 70026114d8cc3bdff01b8a9a62420aafaa890a8b Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Fri, 16 Jan 2026 20:07:12 +0800 Subject: [PATCH 29/56] =?UTF-8?q?[RDView]=20=E7=8E=B0=E5=B7=B2=E5=8F=AF?= =?UTF-8?q?=E7=94=A8=EF=BC=8C=E5=9C=A8=20pages/classicbeat=20=E5=8F=AF?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E7=AC=AC=E4=B8=80=E4=B8=AA=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 44 +- rdviewAssets/assets | Bin 0 -> 4326 bytes script/rdtkview.js | 1156 ++++++++++++++++++++----------------- script/rdtkview_render.js | 82 +++ script/special.js | 10 +- 5 files changed, 727 insertions(+), 565 deletions(-) create mode 100644 rdviewAssets/assets create mode 100644 script/rdtkview_render.js diff --git a/index.html b/index.html index 552e396..5461011 100644 --- a/index.html +++ b/index.html @@ -35,7 +35,8 @@ }; - + diff --git a/rdviewAssets/assets b/rdviewAssets/assets new file mode 100644 index 0000000000000000000000000000000000000000..2c1e294273840c8a547aecb8dd5761cf9caa2b25 GIT binary patch literal 4326 zcmZ`-&2Jk;6yK0Gq=C2v(w0&e)D}u{RM_>m`4CQ=E-fMu#ipq^u$tYS*h|(k%kDZ( z5waq2podh-v5Gi?$gQ{BH~}rE`~|&L0&(Ua;LYyX^U|c3Xn*g$dEam5#ecs{*C~sw z1sbizJZNyAhkxWU&!3EmZFvr7R>XVEjRy9EvFQ;l$EQHT?JoJE80AB<&2 z#E|oDbPrC>j7TnZct{f2dj}NsJ?4Ved!RsR?Xfk+`|KxBF)5T;;NmsUsee6@puFzQ z*LnI~5Z`|KZHVty`mKxa6&YnS@EG%0dl@Y4w)V$fNrP|Fc#(K)C2`@8?EaV(U#5(7 zsU&Ci$7T-a%F-WA?AHG~iev17rc>#W8=fom?17#$DRG(d(4}FjKe7q|cyu%?ADGW# z8A0_~EIr7Ld_HI^fC@{OC1Y8X$|~64!cmO84GtW|Fl;b?6hpVcxXf>(7sb45`XuUD z`W76JSy?1b$ghk3%Yt2*bd!gD61oXF1LSO)EJm|S@>Hs;<@wYE_(BTjeac)7u#89MtQmw}OshaYo60piWQ{hR zkW!Y0yazduv5xZG&%ptivCl~e!$863n{1U2Ali`y;-*ZPsx57Q>;#OW@ZB6S>%?z?bHfRy@h32oiDvr%SvZrB10c&W5`KUWF^qh|8URbC9#~&6 z8g+QQLe^;(rc(CNoa>rU!IsyhLgfSP(Jy-eGoNKOm#scJG$oVApm+`}zMoU92PY6g_LJD^84Win1%Ao5b0J2YfF zKpl1%?WaAyK$t@{FgKh%zD^sE$&d`7AEk~Y!jx))4%v(?x{+2af@W-?06VUItQc5+!>RThGj7STZNz*!l(D2x|*woj{YT%}*!fiMkGK*8EN z%^YIN`(qJW*90S~C6kef@A%XPD~c@K`J&Hg*iy!q;Gu~VKTXw);yla*w2DY^6^bmA zvj|lZZfW4lkVK+2LCQj6WinE!{*LnLCR?W=^gg`i(XPsxc!nU?InXA(G<`2fZ!F8$ zRf#h_=0%;)ptJlfup>vl(IKo&g|m<)QL_Q?q+9bOiWWj1Y=Jd7eGTIKX;&`NxWnB6 zuw+XK9dpd0mvwxo(9!;nn zFCMr5oO|xYbVL%`#wGh-?S#`Ip{472<5=(#G7&SF%~VpO?^QS}N&wONdazM-;Pu=5x>#SN9~f?LIieu&X(9qBCU+NP>X(U{m& z(H8SBU{pA@sVo$WGniL8hk4}-7*#G}$?6r1YO`39yoY&q5hJIDCEbs(*R+8pS8pIx z(zUxPqLOhOqx=*`g_9T+XYQ(KOQlyauY3Wc%B8z1gQe)N)`QZ~l7RkY>&Bu0hlZ52_u_!8!o&R|qNk0mQ_U|#i2jB4*} ztBx#_S?r7bE|zo(Skf(RtDKeT2Uv2oj!;F{?yHC@#&L}DQ}uzm-qG@PfANUdX2HM|0y?Ji5aiJ_|Rs z+{#AMtFW7WM<>Otj%`M3UNG}Ck%W}wydO4y#*)6rXb}`kH_+N-89T5F9ex<~Js?Zx z)O)#mq-=f<9wxa6nLda2jkU$XW9d8ah8@K)c7Y*{s^!4aO?WL2lMNH3UrTENd(2ZC zqoudNt7o%~l@I@_KanXtu!vg5%BR29pU8(&>|~Z+1rIR6sDf>ohvC*{={b;knrP%e za#?{BlbC;NT?d&pCco`yUc_xTF98 literal 0 HcmV?d00001 diff --git a/script/rdtkview.js b/script/rdtkview.js index a5aea5e..be302b6 100644 --- a/script/rdtkview.js +++ b/script/rdtkview.js @@ -1,4 +1,282 @@ -// assetManager.ts +// definition.ts +var Tab = /* @__PURE__ */ function(Tab2) { + Tab2["Sounds"] = "Sounds"; + Tab2["Rows"] = "Rows"; + Tab2["Actions"] = "Actions"; + Tab2["Decorations"] = "Sprites"; + Tab2["Rooms"] = "Rooms"; + Tab2["Windows"] = "Windows"; + Tab2["Unknown"] = "Unknown"; + return Tab2; +}(Tab || {}); +var SayReadyGetSetGoWords = /* @__PURE__ */ function(SayReadyGetSetGoWords2) { + SayReadyGetSetGoWords2["SayReaDyGetSetGoNew"] = "SayReaDyGetSetGoNew"; + SayReadyGetSetGoWords2["SayReaDyGetSetOne"] = "SayReaDyGetSetOne"; + SayReadyGetSetGoWords2["SayGetSetGo"] = "SayGetSetGo"; + SayReadyGetSetGoWords2["SayGetSetOne"] = "SayGetSetOne"; + SayReadyGetSetGoWords2["JustSayRea"] = "JustSayRea"; + SayReadyGetSetGoWords2["JustSayDy"] = "JustSayDy"; + SayReadyGetSetGoWords2["JustSayGet"] = "JustSayGet"; + SayReadyGetSetGoWords2["JustSaySet"] = "JustSaySet"; + SayReadyGetSetGoWords2["JustSayAnd"] = "JustSayAnd"; + SayReadyGetSetGoWords2["JustSayGo"] = "JustSayGo"; + SayReadyGetSetGoWords2["JustSayStop"] = "JustSayStop"; + SayReadyGetSetGoWords2["JustSayAndStop"] = "JustSayAndStop"; + SayReadyGetSetGoWords2["SaySwitch"] = "SaySwitch"; + SayReadyGetSetGoWords2["SayWatch"] = "SayWatch"; + SayReadyGetSetGoWords2["SayListen"] = "SayListen"; + SayReadyGetSetGoWords2["Count1"] = "Count1"; + SayReadyGetSetGoWords2["Count2"] = "Count2"; + SayReadyGetSetGoWords2["Count3"] = "Count3"; + SayReadyGetSetGoWords2["Count4"] = "Count4"; + SayReadyGetSetGoWords2["Count5"] = "Count5"; + SayReadyGetSetGoWords2["Count6"] = "Count6"; + SayReadyGetSetGoWords2["Count7"] = "Count7"; + SayReadyGetSetGoWords2["Count8"] = "Count8"; + SayReadyGetSetGoWords2["Count9"] = "Count9"; + SayReadyGetSetGoWords2["Count10"] = "Count10"; + SayReadyGetSetGoWords2["SayReadyGetSetGo"] = "SayReadyGetSetGo"; + SayReadyGetSetGoWords2["JustSayReady"] = "JustSayReady"; + return SayReadyGetSetGoWords2; +}(SayReadyGetSetGoWords || {}); +var EventType = /* @__PURE__ */ function(EventType2) { + EventType2["AddClassicBeat"] = "AddClassicBeat"; + EventType2["AddFreeTimeBeat"] = "AddFreeTimeBeat"; + EventType2["AddOneshotBeat"] = "AddOneshotBeat"; + EventType2["AdvanceText"] = "AdvanceText"; + EventType2["BassDrop"] = "BassDrop"; + EventType2["Blend"] = "Blend"; + EventType2["CallCustomMethod"] = "CallCustomMethod"; + EventType2["ChangeCharacter"] = "ChangeCharacter"; + EventType2["ChangePlayersRows"] = "ChangePlayersRows"; + EventType2["Comment"] = "Comment"; + EventType2["CustomFlash"] = "CustomFlash"; + EventType2["DesktopColor"] = "DesktopColor"; + EventType2["FadeRoom"] = "FadeRoom"; + EventType2["FinishLevel"] = "FinishLevel"; + EventType2["Flash"] = "Flash"; + EventType2["FlipScreen"] = "FlipScreen"; + EventType2["FloatingText"] = "FloatingText"; + EventType2["ForwardDecorationEvent"] = "ForwardDecorationEvent"; + EventType2["ForwardEvent"] = "ForwardEvent"; + EventType2["ForwardRowEvent"] = "ForwardRowEvent"; + EventType2["HideRow"] = "HideRow"; + EventType2["HideWindow"] = "HideWindow"; + EventType2["InvertColors"] = "InvertColors"; + EventType2["MacroEvent"] = "MacroEvent"; + EventType2["MaskRoom"] = "MaskRoom"; + EventType2["Move"] = "Move"; + EventType2["MoveCamera"] = "MoveCamera"; + EventType2["MoveRoom"] = "MoveRoom"; + EventType2["MoveRow"] = "MoveRow"; + EventType2["NarrateRowInfo"] = "NarrateRowInfo"; + EventType2["NewWindowDance"] = "NewWindowDance"; + EventType2["PaintHands"] = "PaintHands"; + EventType2["PlayAnimation"] = "PlayAnimation"; + EventType2["PlayExpression"] = "PlayExpression"; + EventType2["PlaySong"] = "PlaySong"; + EventType2["PlaySound"] = "PlaySound"; + EventType2["PulseCamera"] = "PulseCamera"; + EventType2["PulseFreeTimeBeat"] = "PulseFreeTimeBeat"; + EventType2["ReadNarration"] = "ReadNarration"; + EventType2["RenameWindow"] = "RenameWindow"; + EventType2["ReorderRooms"] = "ReorderRooms"; + EventType2["ReorderRow"] = "ReorderRow"; + EventType2["ReorderSprite"] = "ReorderSprite"; + EventType2["ReorderWindows"] = "ReorderWindows"; + EventType2["SayReadyGetSetGo"] = "SayReadyGetSetGo"; + EventType2["SetBackgroundColor"] = "SetBackgroundColor"; + EventType2["SetBeatSound"] = "SetBeatSound"; + EventType2["SetBeatsPerMinute"] = "SetBeatsPerMinute"; + EventType2["SetClapSounds"] = "SetClapSounds"; + EventType2["SetCountingSound"] = "SetCountingSound"; + EventType2["SetCrotchetsPerBar"] = "SetCrotchetsPerBar"; + EventType2["SetForeground"] = "SetForeground"; + EventType2["SetGameSound"] = "SetGameSound"; + EventType2["SetHandOwner"] = "SetHandOwner"; + EventType2["SetHeartExplodeInterval"] = "SetHeartExplodeInterval"; + EventType2["SetHeartExplodeVolume"] = "SetHeartExplodeVolume"; + EventType2["SetMainWindow"] = "SetMainWindow"; + EventType2["SetOneshotWave"] = "SetOneshotWave"; + EventType2["SetPlayStyle"] = "SetPlayStyle"; + EventType2["SetRoomContentMode"] = "SetRoomContentMode"; + EventType2["SetRoomPerspective"] = "SetRoomPerspective"; + EventType2["SetRowXs"] = "SetRowXs"; + EventType2["SetSpeed"] = "SetSpeed"; + EventType2["SetTheme"] = "SetTheme"; + EventType2["SetVFXPreset"] = "SetVFXPreset"; + EventType2["SetVisible"] = "SetVisible"; + EventType2["SetWindowContent"] = "SetWindowContent"; + EventType2["ShakeScreen"] = "ShakeScreen"; + EventType2["ShakeScreenCustom"] = "ShakeScreenCustom"; + EventType2["ShowDialogue"] = "ShowDialogue"; + EventType2["ShowHands"] = "ShowHands"; + EventType2["ShowRooms"] = "ShowRooms"; + EventType2["ShowStatusSign"] = "ShowStatusSign"; + EventType2["ShowSubdivisionsRows"] = "ShowSubdivisionsRows"; + EventType2["SpinningRows"] = "SpinningRows"; + EventType2["Stutter"] = "Stutter"; + EventType2["TagAction"] = "TagAction"; + EventType2["TextExplosion"] = "TextExplosion"; + EventType2["Tile"] = "Tile"; + EventType2["Tint"] = "Tint"; + EventType2["TintRows"] = "TintRows"; + EventType2["Unknown"] = "Unknown"; + EventType2["WindowResize"] = "WindowResize"; + return EventType2; +}(EventType || {}); +var hiddenEventType = [ + EventType.ForwardDecorationEvent, + EventType.ForwardEvent, + EventType.ForwardRowEvent, + EventType.MacroEvent, + EventType.SpinningRows, + EventType.ShowSubdivisionsRows +]; +var EventAttriblte = /* @__PURE__ */ function(EventAttriblte2) { + EventAttriblte2[EventAttriblte2["None"] = 0] = "None"; + EventAttriblte2[EventAttriblte2["DurationEvent"] = 1] = "DurationEvent"; + EventAttriblte2[EventAttriblte2["RoomEvent"] = 2] = "RoomEvent"; + return EventAttriblte2; +}(EventAttriblte || {}); +var EventInfo = class { + defaultTab; + durationKey = "duration"; + attr; + get isDurationEvent() { + return (this.attr & EventAttriblte.DurationEvent) !== 0; + } + get isRoomEvent() { + return (this.attr & EventAttriblte.RoomEvent) !== 0; + } + constructor(tab, enumAttriblte, durationKey) { + this.defaultTab = tab; + this.attr = enumAttriblte ?? EventAttriblte.None; + this.durationKey = durationKey ?? "duration"; + } +}; +var WordInfo = class { + phrase; + length; + constructor(phrase, length) { + this.phrase = phrase; + this.length = length; + } +}; +var WordInfos = { + SayReaDyGetSetGoNew: new WordInfo("Rea, Dy, Get, Set, Go!", 4), + SayReaDyGetSetOne: new WordInfo("Rea, Dy, Get, Set, One!", 4), + SayGetSetGo: new WordInfo("Get, Set, Go!", 2), + SayGetSetOne: new WordInfo("Get, Set, One!", 2), + JustSayRea: new WordInfo("Rea", 0), + JustSayDy: new WordInfo("Dy", 0), + JustSayGet: new WordInfo("Get", 0), + JustSaySet: new WordInfo("Set", 0), + JustSayAnd: new WordInfo("And", 0), + JustSayGo: new WordInfo("Go!", 0), + JustSayStop: new WordInfo("Stop", 0), + JustSayAndStop: new WordInfo("And Stop!", 0), + SaySwitch: new WordInfo("Switch", 0), + SayWatch: new WordInfo("Watch", 0), + SayListen: new WordInfo("Listen", 0), + Count1: new WordInfo("1", 0), + Count2: new WordInfo("2", 0), + Count3: new WordInfo("3", 0), + Count4: new WordInfo("4", 0), + Count5: new WordInfo("5", 0), + Count6: new WordInfo("6", 0), + Count7: new WordInfo("7", 0), + Count8: new WordInfo("8", 0), + Count9: new WordInfo("9", 0), + Count10: new WordInfo("10", 0), + SayReadyGetSetGo: new WordInfo("Ready, Get, Set, Go!", 4), + JustSayReady: new WordInfo("Ready", 0) +}; +var EventInfos = { + AddClassicBeat: new EventInfo(Tab.Rows), + AddFreeTimeBeat: new EventInfo(Tab.Rows), + AddOneshotBeat: new EventInfo(Tab.Rows), + AdvanceText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + BassDrop: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + Blend: new EventInfo(Tab.Decorations), + CallCustomMethod: new EventInfo(Tab.Actions), + ChangeCharacter: new EventInfo(Tab.Actions), + ChangePlayersRows: new EventInfo(Tab.Actions), + Comment: new EventInfo(Tab.Unknown), + CustomFlash: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + DesktopColor: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent, "duration"), + FadeRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), + FinishLevel: new EventInfo(Tab.Actions), + Flash: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + FlipScreen: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + FloatingText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + ForwardDecorationEvent: new EventInfo(Tab.Decorations), + ForwardEvent: new EventInfo(Tab.Unknown, EventAttriblte.RoomEvent), + ForwardRowEvent: new EventInfo(Tab.Rows), + HideRow: new EventInfo(Tab.Actions), + HideWindow: new EventInfo(Tab.Windows), + InvertColors: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + MacroEvent: new EventInfo(Tab.Unknown), + MaskRoom: new EventInfo(Tab.Rooms), + Move: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), + MoveCamera: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + MoveRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), + MoveRow: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + NarrateRowInfo: new EventInfo(Tab.Sounds), + NewWindowDance: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + PaintHands: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + PlayAnimation: new EventInfo(Tab.Decorations), + PlayExpression: new EventInfo(Tab.Actions), + PlaySong: new EventInfo(Tab.Sounds), + PlaySound: new EventInfo(Tab.Sounds), + PulseCamera: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + PulseFreeTimeBeat: new EventInfo(Tab.Rows), + ReadNarration: new EventInfo(Tab.Sounds), + RenameWindow: new EventInfo(Tab.Windows), + ReorderRooms: new EventInfo(Tab.Rooms), + ReorderRow: new EventInfo(Tab.Actions), + ReorderSprite: new EventInfo(Tab.Decorations), + ReorderWindows: new EventInfo(Tab.Windows), + SayReadyGetSetGo: new EventInfo(Tab.Sounds, EventAttriblte.RoomEvent), + SetBackgroundColor: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + SetBeatSound: new EventInfo(Tab.Sounds), + SetBeatsPerMinute: new EventInfo(Tab.Sounds), + SetClapSounds: new EventInfo(Tab.Sounds), + SetCountingSound: new EventInfo(Tab.Sounds), + SetCrotchetsPerBar: new EventInfo(Tab.Sounds), + SetForeground: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + SetGameSound: new EventInfo(Tab.Sounds), + SetHandOwner: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + SetHeartExplodeInterval: new EventInfo(Tab.Sounds), + SetHeartExplodeVolume: new EventInfo(Tab.Sounds), + SetMainWindow: new EventInfo(Tab.Windows), + SetOneshotWave: new EventInfo(Tab.Rows), + SetPlayStyle: new EventInfo(Tab.Actions), + SetRoomContentMode: new EventInfo(Tab.Rooms), + SetRoomPerspective: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), + SetRowXs: new EventInfo(Tab.Rows), + SetSpeed: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + SetTheme: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + SetVFXPreset: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + SetVisible: new EventInfo(Tab.Decorations), + SetWindowContent: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent, "duration"), + ShakeScreen: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + ShakeScreenCustom: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + ShowDialogue: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + ShowHands: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + ShowRooms: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), + ShowStatusSign: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + ShowSubdivisionsRows: new EventInfo(Tab.Actions), + SpinningRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), + Stutter: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + TagAction: new EventInfo(Tab.Actions), + TextExplosion: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), + Tile: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), + Tint: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), + TintRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), + Unknown: new EventInfo(Tab.Unknown), + WindowResize: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration") +}; var Point = class _Point { x = 0; y = 0; @@ -266,50 +544,22 @@ var Color = class _Color { return new _Color(this.a, this.r, this.g, blue); } }; -var canvas = new OffscreenCanvas(1, 1); -var blobs = /* @__PURE__ */ new Map(); var SliceInfo = class { bounds = new Rect(); center = new Rect(); pivot = new Point(); scale = 1; - async blobUrl() { - const key = `${this.bounds.left},${this.bounds.top},${this.bounds.width},${this.bounds.height}`; - const blob = blobs.get(key); - if (blob) { - return blob; - } else { - canvas.width = this.bounds.width; - canvas.height = this.bounds.height; - const ctx = canvas.getContext("2d"); - if (ctx === null) { - throw new Error("Failed to get 2D context"); - } - ctx.clearRect(0, 0, this.bounds.width, this.bounds.height); - ctx.drawImage(assetFile, this.bounds.left, this.bounds.top, this.bounds.width, this.bounds.height, 0, 0, this.bounds.width, this.bounds.height); - const blob2 = await canvas.convertToBlob({ - type: "image/png" - }); - blobs.set(key, URL.createObjectURL(blob2)); - return blobs.get(key); - } - } get isNinePatch() { return !this.center.isEmpty; } }; + +// assetManager.ts var assetFilePath = "assets.png"; var slicesFilePath = "assets.bin"; var directoryPath = "./rdviewAssets"; -async function loadAssetFile() { - const pngPath = directoryPath + "/" + assetFilePath; - return await new Promise((resolve, reject) => { - const img = new Image(); - img.onload = () => resolve(img); - img.onerror = (e) => reject(new Error(`Failed to load asset file: ${pngPath}`)); - img.src = pngPath; - }); -} +var assetSize = new Size(210, 160); +var assetUrl = directoryPath + "/" + assetFilePath; async function readFromStream(stream) { let offset = 0; const count = stream.getUint8(0); @@ -359,291 +609,10 @@ async function readFromStream(stream) { return sliceInfos; } var assetLoaded = false; -var assetFile = await loadAssetFile(); var slices = await readFromStream(new DataView(await (await fetch(directoryPath + "/" + slicesFilePath)).arrayBuffer())).finally(() => { assetLoaded = true; }); -// consts.ts -var Tab = /* @__PURE__ */ function(Tab2) { - Tab2["Sounds"] = "Sounds"; - Tab2["Rows"] = "Rows"; - Tab2["Actions"] = "Actions"; - Tab2["Decorations"] = "Sprites"; - Tab2["Rooms"] = "Rooms"; - Tab2["Windows"] = "Windows"; - Tab2["Unknown"] = "Unknown"; - return Tab2; -}({}); -var SayReadyGetSetGoWords = /* @__PURE__ */ function(SayReadyGetSetGoWords2) { - SayReadyGetSetGoWords2["SayReaDyGetSetGoNew"] = "SayReaDyGetSetGoNew"; - SayReadyGetSetGoWords2["SayReaDyGetSetOne"] = "SayReaDyGetSetOne"; - SayReadyGetSetGoWords2["SayGetSetGo"] = "SayGetSetGo"; - SayReadyGetSetGoWords2["SayGetSetOne"] = "SayGetSetOne"; - SayReadyGetSetGoWords2["JustSayRea"] = "JustSayRea"; - SayReadyGetSetGoWords2["JustSayDy"] = "JustSayDy"; - SayReadyGetSetGoWords2["JustSayGet"] = "JustSayGet"; - SayReadyGetSetGoWords2["JustSaySet"] = "JustSaySet"; - SayReadyGetSetGoWords2["JustSayAnd"] = "JustSayAnd"; - SayReadyGetSetGoWords2["JustSayGo"] = "JustSayGo"; - SayReadyGetSetGoWords2["JustSayStop"] = "JustSayStop"; - SayReadyGetSetGoWords2["JustSayAndStop"] = "JustSayAndStop"; - SayReadyGetSetGoWords2["SaySwitch"] = "SaySwitch"; - SayReadyGetSetGoWords2["SayWatch"] = "SayWatch"; - SayReadyGetSetGoWords2["SayListen"] = "SayListen"; - SayReadyGetSetGoWords2["Count1"] = "Count1"; - SayReadyGetSetGoWords2["Count2"] = "Count2"; - SayReadyGetSetGoWords2["Count3"] = "Count3"; - SayReadyGetSetGoWords2["Count4"] = "Count4"; - SayReadyGetSetGoWords2["Count5"] = "Count5"; - SayReadyGetSetGoWords2["Count6"] = "Count6"; - SayReadyGetSetGoWords2["Count7"] = "Count7"; - SayReadyGetSetGoWords2["Count8"] = "Count8"; - SayReadyGetSetGoWords2["Count9"] = "Count9"; - SayReadyGetSetGoWords2["Count10"] = "Count10"; - SayReadyGetSetGoWords2["SayReadyGetSetGo"] = "SayReadyGetSetGo"; - SayReadyGetSetGoWords2["JustSayReady"] = "JustSayReady"; - return SayReadyGetSetGoWords2; -}({}); -var EventType = /* @__PURE__ */ function(EventType2) { - EventType2["AddClassicBeat"] = "AddClassicBeat"; - EventType2["AddFreeTimeBeat"] = "AddFreeTimeBeat"; - EventType2["AddOneshotBeat"] = "AddOneshotBeat"; - EventType2["AdvanceText"] = "AdvanceText"; - EventType2["BassDrop"] = "BassDrop"; - EventType2["Blend"] = "Blend"; - EventType2["CallCustomMethod"] = "CallCustomMethod"; - EventType2["ChangeCharacter"] = "ChangeCharacter"; - EventType2["ChangePlayersRows"] = "ChangePlayersRows"; - EventType2["Comment"] = "Comment"; - EventType2["CustomFlash"] = "CustomFlash"; - EventType2["DesktopColor"] = "DesktopColor"; - EventType2["FadeRoom"] = "FadeRoom"; - EventType2["FinishLevel"] = "FinishLevel"; - EventType2["Flash"] = "Flash"; - EventType2["FlipScreen"] = "FlipScreen"; - EventType2["FloatingText"] = "FloatingText"; - EventType2["ForwardDecorationEvent"] = "ForwardDecorationEvent"; - EventType2["ForwardEvent"] = "ForwardEvent"; - EventType2["ForwardRowEvent"] = "ForwardRowEvent"; - EventType2["HideRow"] = "HideRow"; - EventType2["HideWindow"] = "HideWindow"; - EventType2["InvertColors"] = "InvertColors"; - EventType2["MacroEvent"] = "MacroEvent"; - EventType2["MaskRoom"] = "MaskRoom"; - EventType2["Move"] = "Move"; - EventType2["MoveCamera"] = "MoveCamera"; - EventType2["MoveRoom"] = "MoveRoom"; - EventType2["MoveRow"] = "MoveRow"; - EventType2["NarrateRowInfo"] = "NarrateRowInfo"; - EventType2["NewWindowDance"] = "NewWindowDance"; - EventType2["PaintHands"] = "PaintHands"; - EventType2["PlayAnimation"] = "PlayAnimation"; - EventType2["PlayExpression"] = "PlayExpression"; - EventType2["PlaySong"] = "PlaySong"; - EventType2["PlaySound"] = "PlaySound"; - EventType2["PulseCamera"] = "PulseCamera"; - EventType2["PulseFreeTimeBeat"] = "PulseFreeTimeBeat"; - EventType2["ReadNarration"] = "ReadNarration"; - EventType2["RenameWindow"] = "RenameWindow"; - EventType2["ReorderRooms"] = "ReorderRooms"; - EventType2["ReorderRow"] = "ReorderRow"; - EventType2["ReorderSprite"] = "ReorderSprite"; - EventType2["ReorderWindows"] = "ReorderWindows"; - EventType2["SayReadyGetSetGo"] = "SayReadyGetSetGo"; - EventType2["SetBackgroundColor"] = "SetBackgroundColor"; - EventType2["SetBeatSound"] = "SetBeatSound"; - EventType2["SetBeatsPerMinute"] = "SetBeatsPerMinute"; - EventType2["SetClapSounds"] = "SetClapSounds"; - EventType2["SetCountingSound"] = "SetCountingSound"; - EventType2["SetCrotchetsPerBar"] = "SetCrotchetsPerBar"; - EventType2["SetForeground"] = "SetForeground"; - EventType2["SetGameSound"] = "SetGameSound"; - EventType2["SetHandOwner"] = "SetHandOwner"; - EventType2["SetHeartExplodeInterval"] = "SetHeartExplodeInterval"; - EventType2["SetHeartExplodeVolume"] = "SetHeartExplodeVolume"; - EventType2["SetMainWindow"] = "SetMainWindow"; - EventType2["SetOneshotWave"] = "SetOneshotWave"; - EventType2["SetPlayStyle"] = "SetPlayStyle"; - EventType2["SetRoomContentMode"] = "SetRoomContentMode"; - EventType2["SetRoomPerspective"] = "SetRoomPerspective"; - EventType2["SetRowXs"] = "SetRowXs"; - EventType2["SetSpeed"] = "SetSpeed"; - EventType2["SetTheme"] = "SetTheme"; - EventType2["SetVFXPreset"] = "SetVFXPreset"; - EventType2["SetVisible"] = "SetVisible"; - EventType2["SetWindowContent"] = "SetWindowContent"; - EventType2["ShakeScreen"] = "ShakeScreen"; - EventType2["ShakeScreenCustom"] = "ShakeScreenCustom"; - EventType2["ShowDialogue"] = "ShowDialogue"; - EventType2["ShowHands"] = "ShowHands"; - EventType2["ShowRooms"] = "ShowRooms"; - EventType2["ShowStatusSign"] = "ShowStatusSign"; - EventType2["ShowSubdivisionsRows"] = "ShowSubdivisionsRows"; - EventType2["SpinningRows"] = "SpinningRows"; - EventType2["Stutter"] = "Stutter"; - EventType2["TagAction"] = "TagAction"; - EventType2["TextExplosion"] = "TextExplosion"; - EventType2["Tile"] = "Tile"; - EventType2["Tint"] = "Tint"; - EventType2["TintRows"] = "TintRows"; - EventType2["Unknown"] = "Unknown"; - EventType2["WindowResize"] = "WindowResize"; - return EventType2; -}({}); -var hiddenEventType = [ - EventType.ForwardDecorationEvent, - EventType.ForwardEvent, - EventType.ForwardRowEvent, - EventType.MacroEvent, - EventType.SpinningRows, - EventType.ShowSubdivisionsRows -]; -var EventAttriblte = /* @__PURE__ */ function(EventAttriblte2) { - EventAttriblte2[EventAttriblte2["None"] = 0] = "None"; - EventAttriblte2[EventAttriblte2["DurationEvent"] = 1] = "DurationEvent"; - EventAttriblte2[EventAttriblte2["RoomEvent"] = 2] = "RoomEvent"; - return EventAttriblte2; -}({}); -var EventInfo = class { - defaultTab; - durationKey = "duration"; - attr; - get isDurationEvent() { - return (this.attr & EventAttriblte.DurationEvent) !== 0; - } - get isRoomEvent() { - return (this.attr & EventAttriblte.RoomEvent) !== 0; - } - constructor(tab, enumAttriblte, durationKey) { - this.defaultTab = tab; - this.attr = enumAttriblte ?? EventAttriblte.None; - this.durationKey = durationKey ?? "duration"; - } -}; -var WordInfo = class { - phrase; - length; - constructor(phrase, length) { - this.phrase = phrase; - this.length = length; - } -}; -var WordInfos = { - SayReaDyGetSetGoNew: new WordInfo("Rea, Dy, Get, Set, Go!", 4), - SayReaDyGetSetOne: new WordInfo("Rea, Dy, Get, Set, One!", 4), - SayGetSetGo: new WordInfo("Get, Set, Go!", 2), - SayGetSetOne: new WordInfo("Get, Set, One!", 2), - JustSayRea: new WordInfo("Rea", 0), - JustSayDy: new WordInfo("Dy", 0), - JustSayGet: new WordInfo("Get", 0), - JustSaySet: new WordInfo("Set", 0), - JustSayAnd: new WordInfo("And", 0), - JustSayGo: new WordInfo("Go!", 0), - JustSayStop: new WordInfo("Stop", 0), - JustSayAndStop: new WordInfo("And Stop!", 0), - SaySwitch: new WordInfo("Switch", 0), - SayWatch: new WordInfo("Watch", 0), - SayListen: new WordInfo("Listen", 0), - Count1: new WordInfo("1", 0), - Count2: new WordInfo("2", 0), - Count3: new WordInfo("3", 0), - Count4: new WordInfo("4", 0), - Count5: new WordInfo("5", 0), - Count6: new WordInfo("6", 0), - Count7: new WordInfo("7", 0), - Count8: new WordInfo("8", 0), - Count9: new WordInfo("9", 0), - Count10: new WordInfo("10", 0), - SayReadyGetSetGo: new WordInfo("Ready, Get, Set, Go!", 4), - JustSayReady: new WordInfo("Ready", 0) -}; -var EventInfos = { - AddClassicBeat: new EventInfo(Tab.Rows), - AddFreeTimeBeat: new EventInfo(Tab.Rows), - AddOneshotBeat: new EventInfo(Tab.Rows), - AdvanceText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), - BassDrop: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - Blend: new EventInfo(Tab.Decorations), - CallCustomMethod: new EventInfo(Tab.Actions), - ChangeCharacter: new EventInfo(Tab.Actions), - ChangePlayersRows: new EventInfo(Tab.Actions), - Comment: new EventInfo(Tab.Unknown), - CustomFlash: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - DesktopColor: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent, "duration"), - FadeRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), - FinishLevel: new EventInfo(Tab.Actions), - Flash: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - FlipScreen: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - FloatingText: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - ForwardDecorationEvent: new EventInfo(Tab.Decorations), - ForwardEvent: new EventInfo(Tab.Unknown, EventAttriblte.RoomEvent), - ForwardRowEvent: new EventInfo(Tab.Rows), - HideRow: new EventInfo(Tab.Actions), - HideWindow: new EventInfo(Tab.Windows), - InvertColors: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - MacroEvent: new EventInfo(Tab.Unknown), - MaskRoom: new EventInfo(Tab.Rooms), - Move: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), - MoveCamera: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - MoveRoom: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), - MoveRow: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), - NarrateRowInfo: new EventInfo(Tab.Sounds), - NewWindowDance: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), - PaintHands: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - PlayAnimation: new EventInfo(Tab.Decorations), - PlayExpression: new EventInfo(Tab.Actions), - PlaySong: new EventInfo(Tab.Sounds), - PlaySound: new EventInfo(Tab.Sounds), - PulseCamera: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - PulseFreeTimeBeat: new EventInfo(Tab.Rows), - ReadNarration: new EventInfo(Tab.Sounds), - RenameWindow: new EventInfo(Tab.Windows), - ReorderRooms: new EventInfo(Tab.Rooms), - ReorderRow: new EventInfo(Tab.Actions), - ReorderSprite: new EventInfo(Tab.Decorations), - ReorderWindows: new EventInfo(Tab.Windows), - SayReadyGetSetGo: new EventInfo(Tab.Sounds, EventAttriblte.RoomEvent), - SetBackgroundColor: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - SetBeatSound: new EventInfo(Tab.Sounds), - SetBeatsPerMinute: new EventInfo(Tab.Sounds), - SetClapSounds: new EventInfo(Tab.Sounds), - SetCountingSound: new EventInfo(Tab.Sounds), - SetCrotchetsPerBar: new EventInfo(Tab.Sounds), - SetForeground: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - SetGameSound: new EventInfo(Tab.Sounds), - SetHandOwner: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - SetHeartExplodeInterval: new EventInfo(Tab.Sounds), - SetHeartExplodeVolume: new EventInfo(Tab.Sounds), - SetMainWindow: new EventInfo(Tab.Windows), - SetOneshotWave: new EventInfo(Tab.Rows), - SetPlayStyle: new EventInfo(Tab.Actions), - SetRoomContentMode: new EventInfo(Tab.Rooms), - SetRoomPerspective: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), - SetRowXs: new EventInfo(Tab.Rows), - SetSpeed: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), - SetTheme: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - SetVFXPreset: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - SetVisible: new EventInfo(Tab.Decorations), - SetWindowContent: new EventInfo(Tab.Windows, EventAttriblte.DurationEvent, "duration"), - ShakeScreen: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - ShakeScreenCustom: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - ShowDialogue: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - ShowHands: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - ShowRooms: new EventInfo(Tab.Rooms, EventAttriblte.DurationEvent, "duration"), - ShowStatusSign: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), - ShowSubdivisionsRows: new EventInfo(Tab.Actions), - SpinningRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration"), - Stutter: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - TagAction: new EventInfo(Tab.Actions), - TextExplosion: new EventInfo(Tab.Actions, EventAttriblte.RoomEvent), - Tile: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), - Tint: new EventInfo(Tab.Decorations, EventAttriblte.DurationEvent, "duration"), - TintRows: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent | EventAttriblte.RoomEvent, "duration"), - Unknown: new EventInfo(Tab.Unknown), - WindowResize: new EventInfo(Tab.Actions, EventAttriblte.DurationEvent, "duration") -}; - // rdtkview.ts var lineHeight = 6; var charHeight = 8; @@ -680,63 +649,155 @@ var FilterData = class { function withState(color, active, enabled) { return (enabled ? color : new Color(4286874756)).withAlpha(active ? 192 : 91); } -async function createLayer(key, bound, color, style) { - const layer = document.createElement("div"); - layer.filterData = new FilterData(); - layer.updateFilter = () => { - layer.style.filter = layer.filterData.getFilter(); - }; +function createLayerFromBackground(key, bound, color, style, backgroundRepeat = false) { const info = slices.get(key); - layer.style.position = "absolute"; - layer.style.boxSizing = "content-box"; + if (!info) return []; if (info?.isNinePatch) { + const rectBound = bound ?? new Rect(0, 0, info.bounds.width, info.bounds.height); const center = info.center; - const width = bound?.width ?? info.bounds.width; - const height = bound?.height ?? info.bounds.height; - layer.style.left = `${(bound?.left ?? bound?.x ?? 0) * style.scale}px`; - layer.style.top = `${(bound?.top ?? bound?.y ?? 0) * style.scale}px`; - layer.style.borderStyle = "solid"; - layer.style.borderWidth = `${center.top * style.scale}px ${(info.bounds.width - center.right) * style.scale}px ${(info.bounds.height - center.bottom) * style.scale}px ${center.left * style.scale}px`; - layer.style.borderImageSource = `url(${await info.blobUrl()})`; - layer.style.borderImageSlice = `${center.top} ${info.bounds.width - center.right} ${info.bounds.height - center.bottom} ${center.left} fill`; - layer.style.borderImageWidth = `1`; - layer.style.borderImageOutset = `0`; - layer.style.borderImageRepeat = `repeat`; - layer.style.width = `${(width - center.left - (info.bounds.width - center.right)) * style.scale}px`; - layer.style.height = `${(height - center.top - (info.bounds.height - center.bottom)) * style.scale}px`; - } else { - if (bound instanceof Rect) { - layer.style.left = `${(bound.left - (info?.pivot.x ?? 0)) * style.scale}px`; - layer.style.top = `${(bound.top - (info?.pivot.y ?? 0)) * style.scale}px`; - layer.style.width = `${(bound.width ?? info?.bounds.width ?? 0) * style.scale}px`; - layer.style.height = `${(bound.height ?? info?.bounds.height ?? 0) * style.scale}px`; - if (info) { - layer.style.backgroundImage = `url(${await info.blobUrl()})`; + const left = rectBound.left; + const top = rectBound.top; + const width = rectBound.width; + const height = rectBound.height; + const infoLeft = info.bounds.left; + const infoTop = info.bounds.top; + const srcXs = [ + 0, + center.left, + center.right, + info.bounds.width + ]; + const srcYs = [ + 0, + center.top, + center.bottom, + info.bounds.height + ]; + const layers = []; + for (let y = 0; y < 3; y++) { + const srcTop = srcYs[y]; + const srcHeight = srcYs[y + 1] - srcYs[y]; + const dstTop = top + (y < 2 ? srcTop : height - (info.bounds.height - srcYs[y])); + const dstHeight = y === 1 ? height - center.top - (info.bounds.height - center.bottom) : srcHeight; + const heightScale = dstHeight / srcHeight; + for (let x = 0; x < 3; x++) { + const srcLeft = srcXs[x]; + const srcWidth = srcXs[x + 1] - srcXs[x]; + const dstLeft = left + (x < 2 ? srcLeft : width - (info.bounds.width - srcXs[x])); + const dstWidth = x === 1 ? width - center.left - (info.bounds.width - center.right) : srcWidth; + const widthScale = dstWidth / srcWidth; + if (backgroundRepeat && x === 1 && y === 1) { + for (let dstt = 0; dstt < dstHeight; dstt += srcHeight) { + const dsth = Math.min(srcHeight, dstHeight - dstt); + for (let dstl = 0; dstl < dstWidth; dstl += srcWidth) { + const dstw = Math.min(srcWidth, dstWidth - dstl); + const patchLayer = document.createElement("div"); + patchLayer.filterData = new FilterData(); + patchLayer.updateFilter = () => { + patchLayer.style.filter = patchLayer.filterData.getFilter(); + }; + patchLayer.style.position = "absolute"; + patchLayer.style.boxSizing = "content-box"; + patchLayer.style.backgroundClip = "content-box"; + patchLayer.style.backgroundImage = `url('${assetUrl}')`; + patchLayer.style.left = `${(dstLeft + dstl) * style.scale}px`; + patchLayer.style.top = `${(dstTop + dstt) * style.scale}px`; + patchLayer.style.width = `${dstw * style.scale}px`; + patchLayer.style.height = `${dsth * style.scale}px`; + patchLayer.style.backgroundPosition = `-${(infoLeft + srcLeft) * style.scale}px -${(infoTop + srcTop) * style.scale}px`; + patchLayer.style.backgroundSize = `${assetSize.width * style.scale}px ${assetSize.height * style.scale}px`; + layers.push(patchLayer); + } + } + } else { + const patchLayer = document.createElement("div"); + patchLayer.filterData = new FilterData(); + patchLayer.updateFilter = () => { + patchLayer.style.filter = patchLayer.filterData.getFilter(); + }; + patchLayer.style.position = "absolute"; + patchLayer.style.boxSizing = "content-box"; + patchLayer.style.backgroundClip = "content-box"; + patchLayer.style.backgroundImage = `url('${assetUrl}')`; + patchLayer.style.left = `${dstLeft * style.scale}px`; + patchLayer.style.top = `${dstTop * style.scale}px`; + patchLayer.style.width = `${dstWidth * style.scale}px`; + patchLayer.style.height = `${dstHeight * style.scale}px`; + patchLayer.style.backgroundPosition = `-${(infoLeft + srcLeft) * widthScale * style.scale}px -${(infoTop + srcTop) * heightScale * style.scale}px`; + patchLayer.style.backgroundSize = `${assetSize.width * widthScale * style.scale}px ${assetSize.height * heightScale * style.scale}px`; + layers.push(patchLayer); + } } - layer.style.backgroundSize = `${(bound.width ?? info?.bounds.width ?? 0) * style.scale}px ${(bound.height ?? info?.bounds.height ?? 0) * style.scale}px`; - } else { - layer.style.left = `${((bound?.x ?? 0) - (info?.pivot.x ?? 0)) * style.scale}px`; - layer.style.top = `${((bound?.y ?? 0) - (info?.pivot.y ?? 0)) * style.scale}px`; - layer.style.width = `${(info?.bounds.width ?? 0) * style.scale}px`; - layer.style.height = `${(info?.bounds.height ?? 0) * style.scale}px`; - if (info) { - layer.style.backgroundImage = `url(${await info.blobUrl()})`; - } - layer.style.backgroundSize = `${(info?.bounds.width ?? 0) * style.scale}px ${(info?.bounds.height ?? 0) * style.scale}px`; } - } - if (color && Color.White.equals(color) === false) { - layer.onColorChange = (color2) => { - if (!color2) { - return; - } - layer.filterData.color = color2; - layer.updateFilter(); - }; - layer.onColorChange(color); + if (color && Color.White.equals(color) === false) { + layers.forEach((layer) => { + layer.onColorChange = (color2) => { + if (!color2) { + return; + } + layer.filterData.color = color2; + layer.updateFilter(); + }; + layer.onColorChange(color); + }); + } else { + } + return layers; } else { + const pivotX = info.pivot.x ?? 0; + const pivotY = info.pivot.y ?? 0; + const layer = document.createElement("div"); + layer.filterData = new FilterData(); + layer.updateFilter = () => { + layer.style.filter = layer.filterData.getFilter(); + }; + layer.style.position = "absolute"; + layer.style.boxSizing = "content-box"; + layer.style.backgroundClip = "content-box"; + layer.style.backgroundImage = `url('${assetUrl}')`; + if (bound instanceof Rect) { + const left = bound.left; + const top = bound.top; + const width = bound.width; + const height = bound.height; + const infoLeft = info.bounds.left; + const infoTop = info.bounds.top; + layer.style.left = `${(left - pivotX) * style.scale}px`; + layer.style.top = `${(top - pivotY) * style.scale}px`; + layer.style.width = `${width * style.scale}px`; + layer.style.height = `${height * style.scale}px`; + layer.style.backgroundPosition = `-${infoLeft * style.scale}px -${infoTop * style.scale}px`; + layer.style.backgroundSize = `${assetSize.width * width * style.scale}px ${assetSize.height * height * style.scale}px`; + } else { + bound = bound ?? new Point(0, 0); + const left = bound.x; + const top = bound.y; + const width = info.bounds.width; + const height = info.bounds.height; + const infoLeft = info.bounds.left; + const infoTop = info.bounds.top; + layer.style.left = `${(left - pivotX) * style.scale}px`; + layer.style.top = `${(top - pivotY) * style.scale}px`; + layer.style.width = `${width * style.scale}px`; + layer.style.height = `${height * style.scale}px`; + layer.style.backgroundPosition = `-${infoLeft * style.scale}px -${infoTop * style.scale}px`; + layer.style.backgroundSize = `${assetSize.width * style.scale}px ${assetSize.height * style.scale}px`; + } + if (color && Color.White.equals(color) === false) { + layer.onColorChange = (color2) => { + if (!color2) { + return; + } + layer.filterData.color = color2; + layer.updateFilter(); + }; + layer.onColorChange(color); + } else { + } + return [ + layer + ]; } - return layer; } var colorMatrixIds = /* @__PURE__ */ new Map(); var colorMatrixCache = document.createElement("div"); @@ -778,7 +839,7 @@ function measureRDFontText(text) { } return len; } -async function createRDFontLayer(text, style, color) { +function createRDFontLayer(text, style, color) { const lineHead = new Point(0, -charHeight); const start = lineHead.clone(); const layer = document.createElement("div"); @@ -794,9 +855,9 @@ async function createRDFontLayer(text, style, color) { const charKey = `char_${charCode.toString(16).padStart(4, "0")}`; const charInfo = slices.get(charKey); if (charInfo) { - const charLayer = await createLayer(charKey, new Point(start.x, start.y), color, style); + const charLayer = createLayerFromBackground(charKey, new Point(start.x, start.y), color, style); start.x += charInfo.bounds.width * style.scale; - charLayers.push(charLayer); + charLayers.push(...charLayer); } } } @@ -813,21 +874,21 @@ async function createRDFontLayer(text, style, color) { function createBackLayer(size, color, style) { const outline = "event_outline"; const back = "event_back"; - const backLayer = createLayer(back, new Rect(1, 1, (size?.width ?? iconSize) - 2, (size?.height ?? iconSize) - 2), withState(color, style.active, style.enabled), style).then((layer) => { + const backLayer = createLayerFromBackground(back, new Rect(1, 1, (size?.width ?? iconSize) - 2, (size?.height ?? iconSize) - 2), withState(color, style.active, style.enabled), style); + backLayer.forEach((layer) => { if (layer.onColorChange) { layer.onStateChange = (style2) => layer.onColorChange(withState(color, style2.active, style2.enabled)); } - return layer; }); - const outlineLayer = createLayer(outline, size ? new Rect(size) : null, new Color(style.active ? 4294967295 : 4289243304), style).then((layer) => { + const outlineLayer = createLayerFromBackground(outline, size ? new Rect(size) : null, new Color(style.active ? 4294967295 : 4289243304), style); + outlineLayer.forEach((layer) => { if (layer.onColorChange) { layer.onStateChange = (style2) => layer.onColorChange(new Color(style2.active ? 4294967295 : 4289243304)); } - return layer; }); return [ - backLayer, - outlineLayer + ...backLayer, + ...outlineLayer ]; } function colorOf(tab) { @@ -890,7 +951,7 @@ function createHintLayer(hint, width, color) { }; return hintLayer; } -async function createElementEvent(obj, style) { +function createElementEvent(obj, style) { style = { ...new IconStyle(), ...style @@ -902,6 +963,7 @@ async function createElementEvent(obj, style) { } if (!slices.has(key0)) { if (!slices.has("event_Unknown")) { + console.log(slices); return null; } key0 = "event_Unknown"; @@ -926,6 +988,7 @@ async function createElementEvent(obj, style) { const evbarea = "event_beat_area"; const evbskip = "event_beat_skip"; const beatColor = new Color(4284539717); + let iconWidth = iconSize; const element = document.createElement("div"); element.eventStyle = { ...style @@ -943,25 +1006,27 @@ async function createElementEvent(obj, style) { syncoSwing: 0 }; const length = obj.length ?? 7; - const iconWidth = iconSize * (tick * (length - 1 - prexs.syncoSwing)); - const holdBar = hold > 0 ? createLayer(evbarea, new Rect(iconWidth, 0, iconSize * hold, iconSize), new Color(style.active ? 4291839731 : 4286462352), style).then((layer) => { + const iconWidth2 = iconSize * (tick * (length - 1 - prexs.syncoSwing)); + const holdBar = hold > 0 ? createLayerFromBackground(evbarea, new Rect(iconWidth2, 0, iconSize * hold, iconSize), new Color(style.active ? 4291839731 : 4286462352), style, true) : []; + holdBar.forEach((layer) => { layer.style.pointerEvents = "none"; return layer; - }) : null; - const backLayers2 = createBackLayer(new Size(iconWidth, iconSize), colorOf(obj.tab ?? evinfo.defaultTab), style); + }); + const backLayers2 = createBackLayer(new Size(iconWidth2, iconSize), colorOf(obj.tab ?? evinfo.defaultTab), style); const pulses = []; for (let i = 0; i < length - 1; i++) { - const pulseLayer = createLayer(pulse, new Point(iconSize * (tick * (i + i % 2 * (1 - swing) - (i <= prexs.syncoBeat ? 0 : prexs.syncoSwing))), 0), null, style).then((layer) => { + const pulseLayer = createLayerFromBackground(pulse, new Point(iconSize * (tick * (i + i % 2 * (1 - swing) - (i <= prexs.syncoBeat ? 0 : prexs.syncoSwing))), 0), null, style); + pulseLayer.forEach((layer) => { layerHoverInit(layer); return layer; }); - pulses.push(pulseLayer); + pulses.push(...pulseLayer); } - const hitLayer = createLayer(hit, new Point(iconSize * (tick * (length - 1 - (prexs.syncoSwing ?? 0))) - 1, 0), null, style); - layersToAdd.push(holdBar); + const hitLayer = createLayerFromBackground(hit, new Point(iconSize * (tick * (length - 1 - (prexs.syncoSwing ?? 0))) - 1, 0), null, style); + layersToAdd.push(...holdBar); layersToAdd.push(...backLayers2); layersToAdd.push(...pulses); - layersToAdd.push(hitLayer); + layersToAdd.push(...hitLayer); } break; case EventType.AddOneshotBeat: @@ -979,52 +1044,60 @@ async function createElementEvent(obj, style) { const off = interval - tick; const backLayers2 = createBackLayer(new Size(eventWidth, iconSize), colorOf(obj.tab ?? evinfo.defaultTab), style); const holdWidth = hold ? iconSize * (interval - tick - delay) : 0; - const holdLayer = hold && holdWidth - subdivWidth > 0 ? createLayer(evbarea, new Rect(eventWidth + subdivWidth, 0, holdWidth - subdivWidth, iconSize), new Color(style.enabled ? 4291839731 : 4285493103), style).then((layer) => { + const holdLayer = hold && holdWidth - subdivWidth > 0 ? createLayerFromBackground(evbarea, new Rect(eventWidth + subdivWidth, 0, holdWidth - subdivWidth, iconSize), new Color(style.enabled ? 4291839731 : 4285493103), style, true) : []; + holdLayer.forEach((layer) => { layer.style.pointerEvents = "none"; return layer; - }) : null; - const subdivLayer = subdiv > 1 ? createLayer(evbarea, new Rect(eventWidth, 0, subdivWidth, iconSize), new Color(style.enabled ? 4279480353 : 4285493103), style).then((layer) => { + }); + const subdivLayer = subdiv > 1 ? createLayerFromBackground(evbarea, new Rect(eventWidth, 0, subdivWidth, iconSize), new Color(style.enabled ? 4279480353 : 4285493103), style, true) : []; + subdivLayer.forEach((layer) => { layer.style.pointerEvents = "none"; return layer; - }) : null; - const skipshotLayer = skip ? createLayer(evbarea, new Rect(eventWidth + Math.max(subdivWidth, holdWidth), 0, iconSize * (interval - delay) - Math.max(subdivWidth, holdWidth), iconSize), new Color(style.enabled ? 4291115835 : 4285493103), style).then((layer) => { + }); + const skipshotLayer = skip ? createLayerFromBackground(evbarea, new Rect(eventWidth + Math.max(subdivWidth, holdWidth), 0, iconSize * (interval - delay) - Math.max(subdivWidth, holdWidth), iconSize), new Color(style.enabled ? 4291115835 : 4285493103), style, true) : []; + skipshotLayer.forEach((layer) => { layer.style.pointerEvents = "none"; return layer; - }) : null; - const skipHitLayer = skip ? createLayer(evbskip, new Point(eventWidth + iconSize * (interval - delay) - 1, 0), null, style).then((layer) => { + }); + const skipHitLayer = skip ? createLayerFromBackground(evbskip, new Point(eventWidth + iconSize * (interval - delay) - 1, 0), null, style) : []; + skipHitLayer.forEach((layer) => { layer.style.pointerEvents = "none"; return layer; - }) : null; + }); const pulses = []; const crossLayers = []; const posx = -off * iconSize; const hittype = mode === "Freezeshot" ? hitf : mode === "Burnshot" ? hitb : null; for (let l = 0; l <= loop; l++) { for (let i = 0; i < subdiv; i++) { - const pulseLayer = createLayer(pulse, new Point(iconSize * (l * interval + i * tick / subdiv), 0), null, style).then((layer) => { + const pulseLayer = createLayerFromBackground(pulse, new Point(iconSize * (l * interval + i * tick / subdiv), 0), null, style); + pulseLayer.forEach((layer) => { layerHoverInit(layer); return layer; }); - pulses.push(pulseLayer); + pulses.push(...pulseLayer); } for (let i = 0; i < subdiv; i++) { - const hitLayer2 = createLayer(hit, new Point(iconSize * (l * interval + delay + tick + i * tick / subdiv) - 1, 0), null, style); - pulses.push(hitLayer2); + const hitLayer2 = createLayerFromBackground(hit, new Point(iconSize * (l * interval + delay + tick + i * tick / subdiv) - 1, 0), null, style); + pulses.push(...hitLayer2); } - const crossLayer1 = mode || hold ? createLayer(beatcross, new Point(iconSize * l * interval + posx - 1, 0), null, style).then((layer) => { + const crossLayer1 = mode || hold ? createLayerFromBackground(beatcross, new Point(iconSize * l * interval + posx - 1, 0), null, style) : []; + crossLayer1.forEach((layer) => { layerHoverInit(layer); return layer; - }) : null; - const crossLayer2 = mode ? createLayer(beatcross, new Point(iconSize * (l - (mode === "Freezeshot" ? 0 : 1)) * interval - 1, 0), null, style).then((layer) => { + }); + const crossLayer2 = mode ? createLayerFromBackground(beatcross, new Point(iconSize * (l - (mode === "Freezeshot" ? 0 : 1)) * interval - 1, 0), null, style) : []; + crossLayer2.forEach((layer) => { layerHoverInit(layer); return layer; - }) : null; - const hitLayer = hittype ? createLayer(hittype, new Point(iconSize * (l * interval + tick) - 1, 0), null, style) : null; - crossLayers.push(crossLayer1); - crossLayers.push(crossLayer2); - pulses.push(hitLayer); + }); + const hitLayer = hittype ? createLayerFromBackground(hittype, new Point(iconSize * (l * interval + tick) - 1, 0), null, style) : []; + crossLayers.push(...crossLayer1); + crossLayers.push(...crossLayer2); + pulses.push(...hitLayer); } - const loopLayer = createLayer("event_beat_loop", new Point(eventWidth, 0), null, style).then((loopLayer2) => { + const loopLayer = createLayerFromBackground("event_beat_loop", new Point(eventWidth, 0), null, style); + loopLayer.forEach((loopLayer2) => { loopLayer2.style.opacity = "0"; loopLayer2.style.zIndex = "5"; loopLayer2.onStateChange = (style2) => { @@ -1037,62 +1110,62 @@ async function createElementEvent(obj, style) { return loopLayer2; }); layersToAdd.push(...backLayers2); - layersToAdd.push(holdLayer); - layersToAdd.push(subdivLayer); - layersToAdd.push(skipshotLayer); - layersToAdd.push(skipHitLayer); + layersToAdd.push(...holdLayer); + layersToAdd.push(...subdivLayer); + layersToAdd.push(...skipshotLayer); + layersToAdd.push(...skipHitLayer); layersToAdd.push(...pulses); - layersToAdd.push(loopLayer); + layersToAdd.push(...loopLayer); layersToAdd.push(...crossLayers); } break; case EventType.AddFreeTimeBeat: { const hold = obj.hold ?? 0; - const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(slcinfo.bounds.width, 0, iconSize * hold - slcinfo.bounds.width, iconSize), new Color(style.active ? 4291839731 : 4286462352), style).then((layer) => { + const holdLayer = hold > 0 ? createLayerFromBackground(evbarea, new Rect(slcinfo.bounds.width, 0, iconSize * hold - slcinfo.bounds.width, iconSize), new Color(style.active ? 4291839731 : 4286462352), style, true) : []; + holdLayer.forEach((layer) => { layer.style.pointerEvents = "none"; return layer; - }) : null; - const backLayers2 = createBackLayer(new Size(slcinfo.bounds.width, iconSize), beatColor, style); - const hitLayer = obj.pulse === 6 ? createLayer(hit, new Point(0, 0), null, style) : null; - const textLayer = createRDFontLayer(((obj.pulse ?? 0) + 1).toString(), style, null).then((textLayer2) => { - textLayer2.style.left = `${1.5 * style.scale}px`; - textLayer2.style.top = `${10 * style.scale}px`; - return textLayer2; }); - layersToAdd.push(holdLayer); + const backLayers2 = createBackLayer(new Size(slcinfo.bounds.width, iconSize), beatColor, style); + const hitLayer = obj.pulse === 6 ? createLayerFromBackground(hit, new Point(0, 0), null, style) : []; + const textLayer = createRDFontLayer(((obj.pulse ?? 0) + 1).toString(), style, null); + textLayer.style.left = `${1.5 * style.scale}px`; + textLayer.style.top = `${10 * style.scale}px`; + layersToAdd.push(...holdLayer); layersToAdd.push(...backLayers2); - layersToAdd.push(hitLayer); + layersToAdd.push(...hitLayer); layersToAdd.push(textLayer); } break; case EventType.Comment: { const backLayers2 = createBackLayer(slcinfo.bounds.size, new Color(obj.color ?? "7d7d7d"), style); - const iconLayer = createLayer(key, null, null, style); + const iconLayer = createLayerFromBackground(key, null, null, style); layersToAdd.push(...backLayers2); - layersToAdd.push(iconLayer); + layersToAdd.push(...iconLayer); } break; case EventType.DesktopColor: { const backLayers2 = createBackLayer(slcinfo.bounds.size, colorOf(obj.tab ?? evinfo.defaultTab), style); - const iconColorLayer = createLayer(`${key}_0`, new Point(0, iconSize), new Color(obj.endColor ?? "ffffff"), style); - const iconLayer = createLayer(`${key}_1`, new Point(0, iconSize), null, style); + const iconColorLayer = createLayerFromBackground(`${key}_0`, new Point(0, iconSize), new Color(obj.endColor ?? "ffffff"), style); + const iconLayer = createLayerFromBackground(`${key}_1`, new Point(0, iconSize), null, style); layersToAdd.push(...backLayers2); - layersToAdd.push(iconColorLayer); - layersToAdd.push(iconLayer); + layersToAdd.push(...iconColorLayer); + layersToAdd.push(...iconLayer); } break; case EventType.PulseFreeTimeBeat: { const hold = obj.hold ?? 0; - const holdLayer = hold > 0 ? createLayer(evbarea, new Rect(slcinfo.bounds.width, 0, iconSize * hold - slcinfo.bounds.width, slcinfo.bounds.height), new Color(style.active ? 4291839731 : 4286462352), style).then((layer) => { + const holdLayer = hold > 0 ? createLayerFromBackground(evbarea, new Rect(slcinfo.bounds.width, 0, iconSize * hold - slcinfo.bounds.width, slcinfo.bounds.height), new Color(style.active ? 4291839731 : 4286462352), style, true) : []; + holdLayer.forEach((layer) => { layer.style.pointerEvents = "none"; return layer; - }) : null; + }); const backLayers2 = createBackLayer(new Size(slcinfo.bounds.width, slcinfo.bounds.height), beatColor, style); - const hitLayer = obj.pulse === 6 ? createLayer(hit, new Point(0, 0), null, style) : null; + const hitLayer = obj.pulse === 6 ? createLayerFromBackground(hit, new Point(0, 0), null, style) : []; let text = ""; switch (obj.action) { case "Custom": @@ -1108,14 +1181,12 @@ async function createElementEvent(obj, style) { text = "x"; break; } - const textLayer = createRDFontLayer(text, style, null).then((textLayer2) => { - textLayer2.style.left = `${1.5 * style.scale}px`; - textLayer2.style.top = `${10 * style.scale}px`; - return textLayer2; - }); - layersToAdd.push(holdLayer); + const textLayer = createRDFontLayer(text, style, null); + textLayer.style.left = `${1.5 * style.scale}px`; + textLayer.style.top = `${10 * style.scale}px`; + layersToAdd.push(...holdLayer); layersToAdd.push(...backLayers2); - layersToAdd.push(hitLayer); + layersToAdd.push(...hitLayer); layersToAdd.push(textLayer); } break; @@ -1132,8 +1203,8 @@ async function createElementEvent(obj, style) { ]; for (let i = 0; i < order.length; i++) { { - const orderLayer = createLayer(`${key}_${order[i]}`, new Point(0, i * iconSize), null, style); - orderLayers.push(orderLayer); + const orderLayer = createLayerFromBackground(`${key}_${order[i]}`, new Point(0, i * iconSize), null, style); + orderLayers.push(...orderLayer); } } layersToAdd.push(...backLayers2); @@ -1144,6 +1215,7 @@ async function createElementEvent(obj, style) { { const wordInfo = WordInfos[obj.phraseToSay ?? SayReadyGetSetGoWords.JustSayGo]; const len = wordInfo.length * (obj.tick ?? 0) + 1; + iconWidth = len * iconSize; const stringToJoin = wordInfo.phrase.split(" "); const stringToDraw = [ stringToJoin[0] @@ -1171,11 +1243,9 @@ async function createElementEvent(obj, style) { const wordLayer = createRDFontLayer(line, { ...style, scale: style.scale / 2 - }, null).then((wordLayer2) => { - wordLayer2.style.left = `${p.x * style.scale}px`; - wordLayer2.style.top = `${p.y * style.scale}px`; - return wordLayer2; - }); + }, null); + wordLayer.style.left = `${p.x * style.scale}px`; + wordLayer.style.top = `${p.y * style.scale}px`; wordLayers.push(wordLayer); } layersToAdd.push(...backLayers2); @@ -1193,14 +1263,14 @@ async function createElementEvent(obj, style) { const patternLayers = []; const backLayers2 = createBackLayer(new Size(slcinfo.bounds.width, slcinfo.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style); for (let p of obj.pattern ?? "------") { - const beatxLayer = createLayer(p === "x" ? beatx : beatline, new Rect(left, top, width, iconBounds.height * s), null, style); - patternLayers.push(beatxLayer); + const beatxLayer = createLayerFromBackground(p === "x" ? beatx : beatline, new Rect(left, top, width, iconBounds.height * s), null, style); + patternLayers.push(...beatxLayer); left += width; } - const syncoBeatLayer = syncoBeat >= 0 ? createLayer(beatsynco, new Rect(width * syncoBeat, top, width, iconBounds.height * s), null, style) : null; + const syncoBeatLayer = syncoBeat >= 0 ? createLayerFromBackground(beatsynco, new Rect(width * syncoBeat, top, width, iconBounds.height * s), null, style) : []; layersToAdd.push(...backLayers2); layersToAdd.push(...patternLayers); - layersToAdd.push(syncoBeatLayer); + layersToAdd.push(...syncoBeatLayer); } break; case EventType.ShowRooms: @@ -1208,11 +1278,11 @@ async function createElementEvent(obj, style) { const backLayers2 = createBackLayer(new Size(iconSize, iconSize * 4), colorOf(obj.tab ?? evinfo.defaultTab), style); const roomLayers = []; for (let i = 0; i < 4; i++) { - const roomLayer = createLayer(`${key}_${(obj.rooms ?? []).indexOf(i) >= 0 ? "1" : "0"}`, new Point(0, i * iconSize * style.scale), null, { + const roomLayer = createLayerFromBackground(`${key}_${(obj.rooms ?? []).indexOf(i) >= 0 ? "1" : "0"}`, new Point(0, i * iconSize * style.scale), null, { ...style, scale: style.scale / 2 }); - roomLayers.push(roomLayer); + roomLayers.push(...roomLayer); } layersToAdd.push(...backLayers2); layersToAdd.push(...roomLayers); @@ -1223,30 +1293,39 @@ async function createElementEvent(obj, style) { layersToAdd.push(...backLayers); switch (evttype) { case EventType.CustomFlash: - const iconLayer = createLayer(key, null, null, style); - const startColorLayer = createLayer(`${key}_0`, null, new Color(obj.startColor ?? "000000").withAlpha((obj.startOpacity ?? 0) * 255), style); - const endColorLayer = createLayer(`${key}_1`, null, new Color(obj.endColor ?? "000000").withAlpha((obj.endOpacity ?? 0) * 255), style); - layersToAdd.push(iconLayer); - layersToAdd.push(startColorLayer); - layersToAdd.push(endColorLayer); + const iconLayer = createLayerFromBackground(key, null, null, style); + const startColorLayer = createLayerFromBackground(`${key}_0`, null, new Color(obj.startColor ?? "000000").withAlpha((obj.startOpacity ?? 0) * 255), style); + const endColorLayer = createLayerFromBackground(`${key}_1`, null, new Color(obj.endColor ?? "000000").withAlpha((obj.endOpacity ?? 0) * 255), style); + layersToAdd.push(...iconLayer); + layersToAdd.push(...startColorLayer); + layersToAdd.push(...endColorLayer); break; case EventType.FlipScreen: { const flip = (obj.flipX ? 1 : 0) | (obj.flipY ? 2 : 0); - const iconLayer2 = createLayer(flip === 0 ? `${key}_0` : `${key}_${flip - 1}`, null, null, style); - layersToAdd.push(iconLayer2); + const iconLayer2 = createLayerFromBackground(flip === 0 ? `${key}_0` : `${key}_${flip - 1}`, null, null, style); + layersToAdd.push(...iconLayer2); } break; case EventType.FloatingText: { - const backColorLayer = createLayer(`${key}_0`, null, Color.FromRgba(obj.color ?? "FFFFFFFF"), style); - const foreColorLayer = createLayer(`${key}_1`, null, Color.FromRgba(obj.outlineColor ?? "FFFFFFFF"), style); - layersToAdd.push(backColorLayer); - layersToAdd.push(foreColorLayer); + const backColorLayer = createLayerFromBackground(`${key}_0`, null, Color.FromRgba(obj.color ?? "FFFFFFFF"), style); + const foreColorLayer = createLayerFromBackground(`${key}_1`, null, Color.FromRgba(obj.outlineColor ?? "FFFFFFFF"), style); + layersToAdd.push(...backColorLayer); + layersToAdd.push(...foreColorLayer); } break; case EventType.MoveRoom: { + obj.scale ??= [ + null, + null + ]; + const hasPivot = obj.pivot !== void 0; + obj.pivot ??= [ + null, + null + ]; const degree = obj.angle ?? 0; const radius = -degree * Math.PI / 180; let width = (obj.scale ? obj.scale[0] ?? 0 : 100) / 100; @@ -1257,23 +1336,26 @@ async function createElementEvent(obj, style) { const uniform = Math.sqrt(width * width + height * height); width /= uniform; height /= uniform; - const roomLayer = createLayer(key, new Rect(iconSize / 2, iconSize / 2, iconSize * width, iconSize * height), null, style).then((roomLayer2) => { + const roomLayer = createLayerFromBackground(key, new Rect(iconSize / 2, iconSize / 2, iconSize * width, iconSize * height), null, style); + roomLayer.forEach((roomLayer2) => { roomLayer2.style.transform = `translate(-50%, -50%) rotate(${-degree}deg)`; return roomLayer2; }); - let pivotx = width * (1 - pleft * 2); - let pivoty = height * (1 - ptop * 2); - const widthrotated = pivotx * Math.cos(radius) + pivoty * Math.sin(radius); - const heightrotated = -pivotx * Math.sin(radius) + pivoty * Math.cos(radius); - const pointLayer = document.createElement("div"); - pointLayer.style.position = "absolute"; - pointLayer.style.width = `${style.scale}px`; - pointLayer.style.height = `${style.scale}px`; - pointLayer.style.left = `${iconSize * (1 - widthrotated) * style.scale / 2}px`; - pointLayer.style.top = `${iconSize * (1 + heightrotated) * style.scale / 2}px`; - pointLayer.style.backgroundColor = "#FF0000"; - layersToAdd.push(roomLayer); - layersToAdd.push(Promise.resolve(pointLayer)); + layersToAdd.push(...roomLayer); + if (hasPivot) { + let pivotx = width * (1 - pleft * 2); + let pivoty = height * (1 - ptop * 2); + const widthrotated = pivotx * Math.cos(radius) + pivoty * Math.sin(radius); + const heightrotated = -pivotx * Math.sin(radius) + pivoty * Math.cos(radius); + const pointLayer = document.createElement("div"); + pointLayer.style.position = "absolute"; + pointLayer.style.width = `${style.scale}px`; + pointLayer.style.height = `${style.scale}px`; + pointLayer.style.left = `${iconSize * (1 - widthrotated) * style.scale / 2}px`; + pointLayer.style.top = `${iconSize * (1 + heightrotated) * style.scale / 2}px`; + pointLayer.style.backgroundColor = "#FF0000"; + layersToAdd.push(pointLayer); + } } break; case EventType.PaintHands: @@ -1281,75 +1363,73 @@ async function createElementEvent(obj, style) { case EventType.TintRows: { const border = obj.border; - const backColorLayer = createLayer(key, null, Color.FromRgba(obj.tintColor ?? "FFFFFFFF"), style); - const foreColorLayer = border ? createLayer(border === "Outline" ? `${key}_0` : border === "Glow" ? `${key}_1` : "", null, Color.FromRgba(obj.borderColor ?? "FFFFFFFF"), style) : null; - layersToAdd.push(backColorLayer); - layersToAdd.push(foreColorLayer); + const backColorLayer = createLayerFromBackground(key, null, Color.FromRgba(obj.tintColor ?? "FFFFFFFF"), style); + const foreColorLayer = border ? createLayerFromBackground(border === "Outline" ? `${key}_0` : border === "Glow" ? `${key}_1` : "", null, Color.FromRgba(obj.borderColor ?? "FFFFFFFF"), style) : []; + layersToAdd.push(...backColorLayer); + layersToAdd.push(...foreColorLayer); } break; case EventType.SetBackgroundColor: { const backType = obj.backgroundType ?? "Color"; - const iconLayer2 = createLayer(key, null, null, style); + const iconLayer2 = createLayerFromBackground(key, null, null, style); const images = obj.image ?? []; const imagePath = images.length > 0 ? images[0] : ""; const contentInfo = slices.get(`${key}_1`); - const colorLayer = createLayer(`${key}_0`, null, Color.FromRgba((backType === "Color" ? obj.color : null) ?? "FFFFFF"), style); - const contentLayer = backType === "Image" ? createLayer("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style).then((contentLayer2) => { + const colorLayer = createLayerFromBackground(`${key}_0`, null, Color.FromRgba((backType === "Color" ? obj.color : null) ?? "FFFFFF"), style); + const contentLayer = backType === "Image" ? createLayerFromBackground("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style) : []; + contentLayer.forEach((contentLayer2) => { if (backType === "Image" && contentLayer2) { contentLayer2.style.backgroundImage = `url(${imagePath})`; contentLayer2.style.left = `${-(contentInfo?.pivot.x ?? 0) * style.scale}px`; contentLayer2.style.top = `${-(contentInfo?.pivot.y ?? 0) * style.scale}px`; } return contentLayer2; - }) : null; - layersToAdd.push(iconLayer2); - layersToAdd.push(colorLayer); - layersToAdd.push(contentLayer); + }); + layersToAdd.push(...iconLayer2); + layersToAdd.push(...colorLayer); + layersToAdd.push(...contentLayer); } break; case EventType.SetCrotchetsPerBar: { const cpb = obj.crotchetsPerBar ?? 0; - const iconLayer2 = createLayer(key, null, null, style); - const cpbLayer = createRDFontLayer(cpb > 9 ? "-" : cpb.toString(), style, Color.Black).then((cpbLayer2) => { - cpbLayer2.style.left = `${2 * style.scale}px`; - cpbLayer2.style.top = `${9 * style.scale}px`; - return cpbLayer2; - }); - const bLayer = createRDFontLayer("4", style, Color.Black).then((bLayer2) => { - bLayer2.style.left = `${8 * style.scale}px`; - bLayer2.style.top = `${14 * style.scale}px`; - return bLayer2; - }); - layersToAdd.push(iconLayer2); + const iconLayer2 = createLayerFromBackground(key, null, null, style); + const cpbLayer = createRDFontLayer(cpb > 9 ? "-" : cpb.toString(), style, Color.Black); + cpbLayer.style.left = `${2 * style.scale}px`; + cpbLayer.style.top = `${9 * style.scale}px`; + const bLayer = createRDFontLayer("4", style, Color.Black); + bLayer.style.left = `${8 * style.scale}px`; + bLayer.style.top = `${14 * style.scale}px`; + layersToAdd.push(...iconLayer2); layersToAdd.push(cpbLayer); layersToAdd.push(bLayer); } break; case EventType.SetForeground: { - const iconLayer2 = createLayer(key, null, null, style); + const iconLayer2 = createLayerFromBackground(key, null, null, style); const images = obj.image ?? []; const imagePath = images.length > 0 ? images[0] : ""; const contentInfo = slices.get(`${key}_1`); - const colorLayer = imagePath ? createLayer(`${key}_0`, null, Color.Black, style) : null; - const contentLayer = imagePath ? createLayer("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style).then((contentLayer2) => { + const colorLayer = imagePath ? createLayerFromBackground(`${key}_0`, null, Color.Black, style) : []; + const contentLayer = imagePath ? createLayerFromBackground("", contentInfo?.bounds ? new Rect(contentInfo?.bounds.size) : null, null, style) : []; + contentLayer.forEach((contentLayer2) => { if (contentLayer2) { contentLayer2.style.backgroundImage = `url(${imagePath})`; contentLayer2.style.left = `${-(contentInfo?.pivot.x ?? 0) * style.scale}px`; contentLayer2.style.top = `${-(contentInfo?.pivot.y ?? 0) * style.scale}px`; } return contentLayer2; - }) : null; - layersToAdd.push(iconLayer2); - layersToAdd.push(colorLayer); - layersToAdd.push(contentLayer); + }); + layersToAdd.push(...iconLayer2); + layersToAdd.push(...colorLayer); + layersToAdd.push(...contentLayer); } break; default: - const layer = createLayer(hasType ? key : "event_Unknown", null, null, style); - layersToAdd.push(layer); + const layer = createLayerFromBackground(hasType ? key : "event_Unknown", null, null, style); + layersToAdd.push(...layer); break; } break; @@ -1357,12 +1437,13 @@ async function createElementEvent(obj, style) { if (evinfo.isDurationEvent) { const duration = obj[evinfo.durationKey] ?? 0; const durWidth = iconSize * duration; - const durationLayer = durWidth > slcinfo.bounds.width ? createLayer(evbarea, new Rect(slcinfo.bounds.width, 0, durWidth - slcinfo.bounds.width, slcinfo.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style).then((layer) => { + const durationLayer = durWidth > slcinfo.bounds.width ? createLayerFromBackground(evbarea, new Rect(slcinfo.bounds.width, 0, durWidth - slcinfo.bounds.width, slcinfo.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style, true) : []; + durationLayer.forEach((layer) => { layer.style.pointerEvents = "none"; layerHoverInit(layer); return layer; - }) : null; - layersToAdd.push(durationLayer); + }); + layersToAdd.push(...durationLayer); } const rooms = obj.rooms ?? []; const roomEnabled = new Color(4292392977); @@ -1370,32 +1451,27 @@ async function createElementEvent(obj, style) { if (evinfo.isRoomEvent) { const roomLayers = []; for (let i = 0; i < 4; i++) { - const roomLayer = createLayer(`room_${i}`, new Point(iconSize, 0), rooms.indexOf(i) > -1 ? roomEnabled : roomDisabled, style).then((roomLayer2) => { - if (roomLayer2) { - layerHoverInit(roomLayer2); - } - return roomLayer2; - }); - roomLayers.push(roomLayer); + const roomLayer = createLayerFromBackground(`room_${i}`, new Point(iconWidth, 0), rooms.indexOf(i) > -1 ? roomEnabled : roomDisabled, style); + roomLayers.push(...roomLayer); } - const roomTopLayer = rooms.indexOf(4) > -1 ? createLayer(`room_top`, new Point(iconSize, 0), roomEnabled, style).then((roomTopLayer2) => { - if (roomTopLayer2) { - layerHoverInit(roomTopLayer2); + const roomTopLayer = rooms.indexOf(4) > -1 ? createLayerFromBackground(`room_top`, new Point(iconWidth, 0), roomEnabled, style) : []; + roomLayers.push(...roomTopLayer); + roomLayers.forEach((roomLayer) => { + if (roomLayer) { + layerHoverInit(roomLayer); } - return roomTopLayer2; - }) : null; - roomLayers.push(roomTopLayer); + }); layersToAdd.push(...roomLayers); } const condition = obj.if ?? ""; if (condition.length > 0) { const positive = /(? layer?.then((layer2) => { - layer2.filterData.hue = hsb[0]; - layer2.filterData.saturation = hsb[1]; - layer2.filterData.brightness = hsb[2]; - })); + layersToAdd.forEach((layer) => { + layer.filterData.hue = hsb[0]; + layer.filterData.saturation = hsb[1]; + layer.filterData.brightness = hsb[2]; + }); } - layersToAdd.forEach((layer) => layer?.then((layer2) => { - layer2.updateFilter(); - })); + layersToAdd.forEach((layer) => { + layer.updateFilter(); + }); } element.onStateChange = (style2) => { style2 = { ...style2 }; - layersToAdd.forEach((layer) => layer?.then((layer2) => { - if (layer2.onStateChange) { - layer2.onStateChange(style2); + layersToAdd.forEach((layer) => { + if (layer.onStateChange) { + layer.onStateChange(style2); } - })); + }); }; element.moveTo = function(x, y) { this.style.left = `${x}px`; this.style.top = `${y}px`; }; - for await (const layer of layersToAdd) { + for (const layer of layersToAdd) { if (layer) { element.appendChild(layer); } diff --git a/script/rdtkview_render.js b/script/rdtkview_render.js new file mode 100644 index 0000000..8e0addc --- /dev/null +++ b/script/rdtkview_render.js @@ -0,0 +1,82 @@ +import { createElementEvent } from "./rdtkview.js"; +export function render(data, width, height, scale = 2.0) { + const canvas = document.createElement("div"); + let objs = []; + try { + objs = JSON.parse(`[${data}]`); + canvas.innerHTML = ""; + } catch (e) { + canvas.innerHTML = + `
JSON解析错误:${e.message}
`; + return canvas; + } + const eventStyle = { "scale": scale, "showDuration": false }; + const elems = []; + for (let obj of objs) { + const style = { ...eventStyle, enabled: obj.active ?? true }; + const elem = createElementEvent(obj, style); + console.log(obj, elem); + if (!elem) continue; + elem.eventStyle = style; + elem.style.position = "absolute"; + elem.style.left = `${ + ((((obj.bar ?? 1) - 1) * 8) + (obj.beat ?? 1) - 1) * 14 * + scale + }px`; + elem.style.top = `${(obj.y ?? obj.row ?? 0) * 14 * scale}px`; + elem.addEventListener("mousedown", (event) => { + const eStyle = elem.eventStyle; + eStyle.active = true; + elem.onStateChange(eStyle); + }); + elem.addEventListener("mouseover", (event) => { + const eStyle = elem.eventStyle; + eStyle.hover = true; + elem.onStateChange(eStyle); + }); + elem.addEventListener("mouseout", (event) => { + const eStyle = elem.eventStyle; + eStyle.hover = false; + eStyle.active = false; + elem.onStateChange(eStyle); + }); + elem.addEventListener("mouseup", (event) => { + const eStyle = elem.eventStyle; + eStyle.active = false; + elem.onStateChange(eStyle); + }); + elems.push(elem); + } + canvas.style.position = "relative"; + canvas.style.width = `${width * 14 * scale}px`; + canvas.style.height = `${height * 14 * scale}px`; + elems.forEach((elem) => { + canvas.appendChild(elem); + }); + return canvas; +} + +window.$docsify.plugins = [].concat(window.$docsify.plugins, (hook) => { + hook.doneEach(() => { + console.log("hello"); + const pres = document.querySelectorAll("pre"); + pres.forEach((codeBlock) => { + const lang = codeBlock.getAttribute("data-lang") || ""; + console.log(codeBlock, lang); + if (lang.startsWith("rdtkview")) { + const code = codeBlock.querySelector("code").innerText || ""; + const args = lang.slice(8).trim().split(" "); + const width = parseInt(args[0]) || 8; + const height = parseInt(args[1]) || 4; + const scale = parseFloat(args[2]) || 2.0; + const result = render(code, width, height, scale); + const parent = document.createElement("div"); + parent.style.width = 100 + "%"; + parent.style.display = "flex"; + parent.style.justifyContent = "center"; + parent.appendChild(result); + codeBlock.replaceWith(parent); + } + }); + }); +}); diff --git a/script/special.js b/script/special.js index 536258a..5e8ce8d 100644 --- a/script/special.js +++ b/script/special.js @@ -366,12 +366,12 @@ function rdview2() { return elem; }); elemPromises.push(elem); - Promise.all(elemPromises).then((elems) => { - elems.forEach((elem) => { - rdcanvas.appendChild(elem); - }); - }); } + Promise.all(elemPromises).then((elems) => { + elems.forEach((elem) => { + rdcanvas.appendChild(elem); + }); + }); rdcanvas.style.position = "relative"; rdcanvas.style.height = `${maxy + 4 * 14 * eventStyle.scale}px`; } From 4b842c721b6194df9e2a75b0d27d2167996024ab Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Fri, 16 Jan 2026 20:14:42 +0800 Subject: [PATCH 30/56] =?UTF-8?q?[RDView]=20=E5=95=8A=E8=8D=89=E6=88=91=20?= =?UTF-8?q?degug=20=E6=80=8E=E4=B9=88=E8=BF=98=E5=9C=A8=E9=87=8C=E9=9D=A2?= =?UTF-8?q?=EF=BC=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/changelog.md | 3 +++ script/rdtkview_render.js | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/changelog.md b/pages/changelog.md index a3038ea..ceb0c08 100644 --- a/pages/changelog.md +++ b/pages/changelog.md @@ -1,5 +1,8 @@ # 更新信息 +#### 2026-01-16 +- RDTKView(~~RDView2~~) 已完成部署 + #### 2026-01-14 - 制作人员表增加了 - RDView 对正式版编辑器新特性的部分适配 diff --git a/script/rdtkview_render.js b/script/rdtkview_render.js index 8e0addc..5b0c074 100644 --- a/script/rdtkview_render.js +++ b/script/rdtkview_render.js @@ -15,7 +15,6 @@ export function render(data, width, height, scale = 2.0) { for (let obj of objs) { const style = { ...eventStyle, enabled: obj.active ?? true }; const elem = createElementEvent(obj, style); - console.log(obj, elem); if (!elem) continue; elem.eventStyle = style; elem.style.position = "absolute"; @@ -58,11 +57,9 @@ export function render(data, width, height, scale = 2.0) { window.$docsify.plugins = [].concat(window.$docsify.plugins, (hook) => { hook.doneEach(() => { - console.log("hello"); const pres = document.querySelectorAll("pre"); pres.forEach((codeBlock) => { const lang = codeBlock.getAttribute("data-lang") || ""; - console.log(codeBlock, lang); if (lang.startsWith("rdtkview")) { const code = codeBlock.querySelector("code").innerText || ""; const args = lang.slice(8).trim().split(" "); From 38a17ad35d89faa25ae67973225f48b3f71ef098 Mon Sep 17 00:00:00 2001 From: OLDREDSTONE Date: Fri, 16 Jan 2026 23:31:09 +0800 Subject: [PATCH 31/56] =?UTF-8?q?[RDView]=20=E4=BF=AE=E5=A4=8D=20hsb=20?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E8=AF=BB=E5=8F=96=E5=BC=82=E5=B8=B8=E5=92=8C?= =?UTF-8?q?=E6=B8=B2=E6=9F=93=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/rdtkview.js | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/script/rdtkview.js b/script/rdtkview.js index be302b6..7f6a805 100644 --- a/script/rdtkview.js +++ b/script/rdtkview.js @@ -762,12 +762,15 @@ function createLayerFromBackground(key, bound, color, style, backgroundRepeat = const height = bound.height; const infoLeft = info.bounds.left; const infoTop = info.bounds.top; + const widthScale = width / info.bounds.width; + const heightScale = height / info.bounds.height; layer.style.left = `${(left - pivotX) * style.scale}px`; layer.style.top = `${(top - pivotY) * style.scale}px`; layer.style.width = `${width * style.scale}px`; layer.style.height = `${height * style.scale}px`; - layer.style.backgroundPosition = `-${infoLeft * style.scale}px -${infoTop * style.scale}px`; - layer.style.backgroundSize = `${assetSize.width * width * style.scale}px ${assetSize.height * height * style.scale}px`; + layer.style.backgroundPosition = `-${infoLeft * widthScale * style.scale}px -${infoTop * heightScale * style.scale}px`; + layer.style.backgroundSize = `${assetSize.width * widthScale * style.scale}px ${assetSize.height * heightScale * style.scale}px`; + console.log(layer.style.backgroundSize); } else { bound = bound ?? new Point(0, 0); const left = bound.x; @@ -963,7 +966,6 @@ function createElementEvent(obj, style) { } if (!slices.has(key0)) { if (!slices.has("event_Unknown")) { - console.log(slices); return null; } key0 = "event_Unknown"; @@ -1262,7 +1264,10 @@ function createElementEvent(obj, style) { const top = iconSize / 2 - iconBounds.height * s / 2; const patternLayers = []; const backLayers2 = createBackLayer(new Size(slcinfo.bounds.width, slcinfo.bounds.height), colorOf(obj.tab ?? evinfo.defaultTab), style); - for (let p of obj.pattern ?? "------") { + if (typeof obj.pattern !== "string" || obj.pattern.length !== 6) { + obj.pattern = "------"; + } + for (let p of obj.pattern) { const beatxLayer = createLayerFromBackground(p === "x" ? beatx : beatline, new Rect(left, top, width, iconBounds.height * s), null, style); patternLayers.push(...beatxLayer); left += width; @@ -1511,18 +1516,19 @@ function createElementEvent(obj, style) { if (obj["$style"]) { const hsb = obj["$style"].hsb ?? [ 0, - 0, - 0 + 1, + 1 ]; - if (hsb[0] !== 0 || hsb[1] !== 0 || hsb[2] !== 0) { + if (hsb.length === 3 && (hsb[0] !== 0 || hsb[1] !== 0 || hsb[2] !== 0)) { layersToAdd.forEach((layer) => { + if (!layer.filterData) return; layer.filterData.hue = hsb[0]; layer.filterData.saturation = hsb[1]; layer.filterData.brightness = hsb[2]; }); } layersToAdd.forEach((layer) => { - layer.updateFilter(); + layer.updateFilter?.(); }); } element.onStateChange = (style2) => { From 7c229153a9d5b35d11f907391c88e84b81d890a1 Mon Sep 17 00:00:00 2001 From: kuanpan Date: Sat, 17 Jan 2026 10:58:29 +0800 Subject: [PATCH 32/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/moreoneshotbea?= =?UTF-8?q?ts.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/moreoneshotbeats.md | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/pages/moreoneshotbeats.md b/pages/moreoneshotbeats.md index d5712f6..a560277 100644 --- a/pages/moreoneshotbeats.md +++ b/pages/moreoneshotbeats.md @@ -338,6 +338,52 @@ g 0 -1 3 2 #0000[offset=0 1]{ }; ``` +## 长按单发拍 + +长按单发拍第一次出现在`7-1` + +当听到`咻噗`的声音时,说明下一次击拍需要长按到下一个出拍点。 + +在修饰符中选中进度条符号就创建了一个长按单发拍,会多出`间隔`与`长按提示选项`选项。 + +![](../images/moreoneshothold.png) + +对于长按单发拍,一共有四个关键的时间点:十字,出拍点(绿线),按拍点(黄线),长按(紫色格子)。 +```rdtkview 5 3 + { "bar": 1, "beat": 3, "y": 2, "type": "AddOneshotBeat","interval": 2, "tick": 1, "hold": true }, +``` + +- **十字**显示长按单发拍子的提示音。 +- **绿线**代表单发拍会在此响一次。 +- **黄线**表示长按的起始点,也就是说玩家应当从这里开始长按。 +- **紫格**就是此次长按所需的时间。 +- **绿线**与**黄线**之间的间隔就是`拍长`的时间。 +- **十字**与**黄线**或者**绿线**与**紫格**末端之间的间隔就是`间隔`的时间。 + +在`长按提示`有三个选项,分别是:自动、偏早、偏晚。 + +- 选择**偏早**时,`十字`的位置会在`绿线`之前。 +- 选择**偏晚**时,`十字`不会显示,但提示音会与`绿线`重合。 +- 选择**自动**时: +- 若**拍长**小于或等于1,则像`偏早`一样,长按单发拍子的提示音会在`绿线`之前; +- 若**拍长**大于1,则像`偏晚`一样,`十字`不会显示,但提示音会与`绿线`重合。 + +```rdtkview 5 5 + { "bar": 1, "beat": 3, "y": 2, "type": "AddOneshotBeat","interval": 2, "tick": 1, "hold": true }, + { "bar": 1, "beat": 3, "y": 3, "type": "AddOneshotBeat","interval": 2, "tick": 1, "hold": true }, + { "bar": 1, "beat": 3, "y": 4, "type": "AddOneshotBeat","interval": 2, "tick": 1, "hold": true } +``` + +若设计长按单发拍,还必须满足松手音效与提示音不可重叠 + +如果需要在长按单发拍上叠加多个拍子来凸显鼓点,可以将他们的按拍点放在同一位置。 + +```rdtkview 5 3 + { "bar": 1, "beat": 1.5, "y": 2, "tick": 2.5, "type": "AddOneshotBeat" }, + { "bar": 1, "beat": 2.5, "y": 2, "tick": 1.5, "type": "AddOneshotBeat" }, + { "bar": 1, "beat": 3, "y": 2, "type": "AddOneshotBeat","interval": 2, "tick": 1, "hold": true } +``` + 最后我们针对细分拍、冻结拍、灼热拍做一个技术总结: ```rdview 19 7 From 72830302e8596dbd33af1afc8314663d0da3d9dd Mon Sep 17 00:00:00 2001 From: kuanpan Date: Sat, 17 Jan 2026 13:01:21 +0800 Subject: [PATCH 33/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/moreoneshotbea?= =?UTF-8?q?ts.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/moreoneshotbeats.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/moreoneshotbeats.md b/pages/moreoneshotbeats.md index a560277..f565cfa 100644 --- a/pages/moreoneshotbeats.md +++ b/pages/moreoneshotbeats.md @@ -179,7 +179,7 @@ es.SayReadyGetSetGo_Go 3 1[]; 与方块单发拍的概念类似,**细分拍**也是“一次性”的单发拍,但是会产生多次等间距的心跳脉冲,按键的次数也变为多次。 -细分拍最早出现于`MD-1`,当时官方谱面没有官方名称,且最多仅有两个三角拍;后来第五章更新后三角拍首次出现在`5-1`并正式更名为**细分拍**,并出现了多个细分。 +细分拍最早出现于`MD-1`,当时官方谱面没有官方名称,且最多仅有两个三角拍;后来第五章更新后三角拍首次出现在`5-1`并正式更名为**细分拍**,并出现了多个细分;在关卡`5-2N`中最多涉及到了五级细分;正式版更新后,在关卡`7-X2`中甚至有了八细分。 在修饰符中选择方块后,将细分数量设为大于 1 的值或者点击细分符号`△`,即可创建细分拍。特殊音效的添加与方块单发拍类似。最多可以将细分数量设置为 10 。 From c28cf7605d22354d1634c5c35fcbc6116ab78c44 Mon Sep 17 00:00:00 2001 From: kuanpan Date: Sat, 17 Jan 2026 13:16:32 +0800 Subject: [PATCH 34/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/classicbeat.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/classicbeat.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pages/classicbeat.md b/pages/classicbeat.md index 2f7c987..b45e865 100644 --- a/pages/classicbeat.md +++ b/pages/classicbeat.md @@ -36,6 +36,8 @@ > 尽量不要在第一拍设置`X`记号,这对纯音押玩家是不可预知的,在轨道数量多的情况下也会显得比较难理清节奏。如果你觉得你的音乐中这段节奏第一拍不放`X`就浑身难受,那也需要打开护士数拍(参考`X-WOT`这关中的`xx-----`)。 +> 此外像马克的短轨道,需调用自定义方法来完成,语句为`SetRowLength(轨道编号[0索引的], 轨道长度[1~7的整数])`。如果你还不明白自定义方法是什么,需要先翻到[自定义方法](../pages/custommethod.md)看看。考虑到这玩意问的人比较多,所以就先写在此处了。 + 最后的选项“**分解为自由时长节拍**”较为复杂,我们放到[这里](/pages/moreclassicbeats)再介绍。 ## 护士节奏提示 From 4d28adc6a9f8ae179a300bd1add29127e4deacb1 Mon Sep 17 00:00:00 2001 From: kuanpan Date: Tue, 20 Jan 2026 21:57:10 +0800 Subject: [PATCH 35/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/moreoneshotbea?= =?UTF-8?q?ts.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/moreoneshotbeats.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/moreoneshotbeats.md b/pages/moreoneshotbeats.md index f565cfa..07bca46 100644 --- a/pages/moreoneshotbeats.md +++ b/pages/moreoneshotbeats.md @@ -350,7 +350,7 @@ g 0 -1 3 2 #0000[offset=0 1]{ 对于长按单发拍,一共有四个关键的时间点:十字,出拍点(绿线),按拍点(黄线),长按(紫色格子)。 ```rdtkview 5 3 - { "bar": 1, "beat": 3, "y": 2, "type": "AddOneshotBeat","interval": 2, "tick": 1, "hold": true }, + { "bar": 1, "beat": 3, "y": 2, "type": "AddOneshotBeat","interval": 2, "tick": 1, "hold": true } ``` - **十字**显示长按单发拍子的提示音。 From cf678ff1a25102e738337f05f8b5532820692a8c Mon Sep 17 00:00:00 2001 From: NoMathExpectation <85624722+NoMathExpectation@users.noreply.github.com> Date: Tue, 20 Jan 2026 15:36:11 +0800 Subject: [PATCH 36/56] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=90=AF=E7=94=A8?= =?UTF-8?q?=E9=AB=98=E7=BA=A7=E7=BC=96=E8=BE=91=E5=99=A8=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _sidebar.md | 2 +- images/changegameversion-advanced-feature.png | Bin 0 -> 37679 bytes images/changegameversion-tab.png | Bin 0 -> 249764 bytes pages/changegameversion.md | 22 +++++++++++++++--- 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 images/changegameversion-advanced-feature.png create mode 100644 images/changegameversion-tab.png diff --git a/_sidebar.md b/_sidebar.md index 7877c55..0608f98 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -13,7 +13,7 @@ - [

](/pages/intro.md) - [

更新信息

](/pages/changelog.md) - 基础:熟悉编辑器 - - [

修改游戏版本

](/pages/changegameversion.md) + - [

修改游戏配置

](/pages/changegameversion.md) - [

编辑器界面与快捷键

](/pages/editorinterface.md) - [

导入与导出

](/pages/importandexport.md) - 基础:游戏机制 diff --git a/images/changegameversion-advanced-feature.png b/images/changegameversion-advanced-feature.png new file mode 100644 index 0000000000000000000000000000000000000000..94b631fcff4f09a08e928cc67deadecea5078442 GIT binary patch literal 37679 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 G%D(~VD`K($ literal 0 HcmV?d00001 diff --git a/images/changegameversion-tab.png b/images/changegameversion-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..3aee4d1eee20716ab2c73654986574f2f6b543dc GIT binary patch literal 249764 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⪻2KpaA4oKgj?F(w7NhQV}Mk327fUDl!k* ze3P7f8P!De^*NmW{`pm)kdh`CfZdSoU{f$Sm}*fnPXcho+1y|2BV$ktS-$2SiobP> zmTU|YO*?AMg&bgd8+xC9JW+7U$nnj(kG(awI70URYO23?X2et2?T6?dRTl-yHepZl zwFh~ZpB;aCRc@DRSj_ibcbwLKNqCeP0gRLBc-gX=ERU7XGVd)-bsXDs`dDMxcPZOi zxJ0SnU;W6o^UUevjjxB;gMiu@)F+ELgl)I;{XlDWIRNuY()2b!A)T2fr*MJttI{m3 zR1fj;>@Rg$p^;5q?uR1RSxCyc8S9z3#GM0@sv{m11Rij!X;9LnQ8TPd+pME@6xOtGp&KIb$9cP)T&up@&+A;gR5A_^ILlIGOR{c&SWiE^}(g5nPJ)T>S z_sf_{yVD}jOZmq6%CIFFNM0$m1d!^s{t5sTK(&-)5E&T>HzR}jwo=G#M?xhmr8O&J z%Ui}kKGYLh-ezrQcUXTzG{YqfYYzTrS{jPS}?jj8)?2oN<7t9v@i`O<A*nG=g`%# zFu-)O2)@ZTV8umQ#5|wl(nHtIc^O@c#F=Pl8kYo0`CdG#y}5{%i?|uz02H$yBl&3A z+X*fSzxjxFQxRiALJOMVw?_;9Cy`-V=*`#rSLBWQIO%rp~ZI8lY9 z@D1Yk4oCiu{`K60S!}1W)=rm3i-~l6E0i`H{IAUm1;$C!FcnZlB>wu_8XRrTo3{o+ zOu-Taj8o6p?MiD%adUfUbyN26^Ye?!%FAy}GN8dDP0q1g!+-Va)uYFcOX!)J1_69T zw@D2$UPyGbUmrqUb3sRm>poxj*m{yY@YQx+geDw{iwN9oQC7uW$)j8W-;b zjE0I&Y&Q8DyCq7+S~n?E@ri%qM)m^8qQ8{R3_`%_WA*1Dtd1u*Hj(=?aECTHu-TB= zFQsWJ!a#D1g~bvnDXFz<*EWr*Y~p+e$tq;77%K#ZNrZ`Jk$`};wY4bd6EDj8IBnR8 zzXZ++R6r=1g^USGJ>Jwz#Xw*>4Z;)yDRI6z7Y_MC&@zo@&jIRcohE;A^uE{e3=i^b z-tFGi65A95idZv!J|FiVw-y5ej$&SZI@S4PICm^-c!Kds4}4BeFrpD7f}|+^L55 zjPZYlDCWL?*5;ljKBXZxuuL^iZpC)H`P62gQaamHxi=y{?N)%d6&-3E@NJHidd5I< zSwnZot%oyy`^&#-6cH#%A@D2qvn;-3i6oBIW}I)|{WMZ35usH-alKV7rm%S$zE zJ3aYimNtarN~gQb?3J9qA9i;aB!kk`kbbr$U7C}VBk26uLD1vJ`>yUc_MUPmyB$?v+)Hz|u5>N#K~LxY~DoREmH)r8_eR zQ%|=n82T{;%e!uDD^5|KU1TXd$iNf!?#XK(AzHQ{gCNO*Yj*V?$}^5B)jV?ZEySNs zZ$&@?2;y@_3h`;nLBMnrKo#X=j6u|tTqKLp##Yd;)umqRu5*3}8IqgNCD1&1UhVT+ zBd^TlZ~>4C-%=h3y0*~D_jFlNGgOxosOnLQ{gs{9GDQz@by|@KYgGG5>BUp_YkIO% zOhv|zdAnEnPl5e4xgLz2ncX*?pJ-0TZ0xG7EV(L`qwPNr+8&~ncDi&mG(~%bJnHgBIVD-6((}Jb z2u#np{w5o001J9+1a`Wb) zgM*(Gxb}0Vi}TX%)sXTdaUqGD3k>ww;=<|FQncku3Wgiss1Mf{sSh_i$3JK0jjlry zr%pc}c$eec+xyEIe+IjZOgz(4cIput@7kuSRu#u*z!tYaLl^#gxST<6$7Wfwh>ac_ zvmWbmzfDz_b=gqdf}&u~bdei;8dA(fWXb7Y&zWm*7ol}b zQ}>{$^1yTBFKMQ~oNBs;lq5ruh|Q+?@Shgk$I3KSn;BR7as~~~^h7@1^NI9^@ZZv# zd()ssWpDQFQPh>C#LKW`QGf*oD4CNmwCMloPQ3 zJ9q9J$<+}ofk+$pJBY0zN~<;o5&_aNafrIbW(x*E`TsG=B{H$l_Tb=le_13B_ibD3 z%11RL)3VyL0i?(uZ=G|l*?SBKxR0%jZ4qevxxjR?Re_ZFtxj@B_^Lzgmy1>%$o5^j zBV6WKhXDdmvAm+_(%wghnRi62I?~>}W!1h%-i2@}a=oJjH9q-A=1Iik7K-jhoVA`OvQXS$ehzEd{)m7XMt{Gxn|o%0*vK?wc5SW;&3h<0(kix`D(wQKZv%*0-(o zJuWMIJU=SAlq)s7e%3H_1jQVyHb&fj=%F+X>f$&@1A9Ek#y61iel?Ux&!R>{Li0%? zXKBD*K-|VlGV{_UzK7(%e^z=>>lF%EwqwkIAm0DcpZ>rj;DP(MmF{0yO`9yG-S{D= z0CAK==oh?4ir5nJ>0@rOQEvbI+};b)y^kVt{K2WAiAu1B3LwB-z;*NH&9i`5PK8)z zDVD&APfU119t$cxal?4sioonVbNhl-FCqe z5byE)A>A7s&YO&ez<22M>lFz|xAV>{n}GD8`u$XI3J&yQOyk*%H|1-lNpmJld9X zZhJh9TJ!GMak>Y}J%U6K?|YZ<_aeeb=fa>IQsxQU&QHh?2jw7onI)MM(*vX(O2a|> zzveeJegkha^svj60G=D`MdPL!&K1-Q;_Pqbo%xK8ZAKib3xUeCieBaS>L%z{LPcLy zI+gZdnv_t$!~JIN|CGZd#uCDHV*XEwMhgq5io+W-0nxt}mca8f;V7pOwYnV}u32rh z;+egmwz#<|E&loLqT=Y+P)JcoA|d5%>%Ru8kG#96Qh1h8m`N>VXy~-ckDDA0{jZi) zR#ecaiN%&Xz7)OKdy~V%mzG1BlRPO7EH4Jaf#vN3meC;m8`>My*{%b7vraBe4^;Vi6k;$`Q}-iK;?Ajb+4O`n34S6)f4|`r+PWqZ}WAX+MZhjJM?>nOAZzs$y2(ab63Lhk)uryYr~|nQc6~-JV8P z*T2Fw4>^TI;!55gnXaS|KX58t4(fvk#PPE!cf;_rJx9fGE3Knb;74;CorRQkK%6>{ zTfvW&N>??tyW7o;x5>eek)JAys$zB#&nARUJquqE^)|fMz|U4bt;3yz%DC|Z)wRKShM z?_qRW`;C;SF?%OkT`V|sdymfj*2j-ChyWB*{5D!CwVEdQ)!|-`#RQ>{nLC&Q!8~m+ z)(C;A2RR_b^dq?(`CgX+>)C1;#k++IU>+a|E<(g82jP4=kw+VXW%Tgy04_HaSm)xB z5)2B7BY)Yhof^nR86*on9$Z{=_xOD6w)awkeSbm<4K7RE#@+{cLZr9&*I(N{yR-y! zb>BEYkH*YCW|>Qj=oi-)mJtVFizhfM$b|jcm}9IoU1CINP^ij8U(mpdg}K36ZPCuc zAaFygGV4#Tq|_aMb^-o{0cMRPQV!<$Q7;q*3e}M!p&Kz)y~@uA*g}!_XAh8BN0K;Rf4H1r&P*4Wps<8{^Ey+r_TUi~^T*3;Hs zD%}Rz8iQE{zt#0kj*fD`H1|Ji{1vF<^|KOgY;3|CD2E%pR3l71*E=_QD4YF77#FUZQ%ly0^sg4#lcv`AR&hF zM3_)^jk(d_cj2)=Lsg#Q5+4-FyZ@%(A{!}FS0<36M4fqk^X48qda_nfO2ftnF%6EOQL>ILF02_z87UA&@xzSLw$8;Jvdkl*`G_;*@Vo3=E1mt$9I z$z{dAZk&fUohanm)>{mGRVI*SWl?e$oi@C=c~O`}t@%;u>K1ShNCYhT=&v5H@^v3g zX!CFX7vICi;Sn8{b7U(J(PGJFOk1i#<1lQbCVM9XjSpNtNcCCBc*tO7mJifi!=uz> znpzEC;CSiJ!KmyX75r%8Dru-~ z_w-rKxR>kgwX{EWECp$QO0`%9zg+HdMcT;*uQd+g-J`X5$L+M@H0D^XT{vuF9uLZJ!lCK*aYVW*JWr@ z3c@NNn`C`*K&gO9C(x6@X5)U`H^j-sUCak>94QOq2o_*&dyHz$v;ekSmkfO2@QQ>e z3#th{QWp8#hg|?A4!$R4l)<+-4<~AGy zsIh#O%4(>ms;1`UKnD#Js+*)yvF0F6XNdt_#i<)34skgYGXrVW_m{_cAlE~ zub+dEJR@i>WMDWv&o>l%A#TA2`dcle6XDzYU=B`VXBxLWPCrSe-FHb~Q|mSRBi}z~ zA?>GQ-=B@b27ORw95RLX*VX;N>(@#&cCvD(LLbDh3&>vI?7hYWFsfGpW)U`P0~S*j zDN9S%f@^?;%3q^5)6X)Q%a=^D`pXJB6mspg&1wl$8i78QfpIMckz;pvHxh?PKXSt< z$sRBVqsniZj48;>gjNU+h|?m#Mb7xORJmDv94~yo4X+j`a04QWOd>M zC)w+wWofvm7)Q|&j2xyeq-c)LzA<89-bj)AP+IIauroAGjnlMc0BLbY1mT$dC#u(-*`c4&NfF2WHQv4Y_i(1HOlH_XG$gwKXL!JapdRqXO(*d!eIvzIiM*ZHPxPI2~arse#=7Hc05m!&euX79Xhj$Xy*oIwG?+1 zj{Muu^WSzCju05i!)ph1rI@Uy4F)=}X+K~KUcWj`v)W?Zp7g$8&HDbd6KM*%G@T_V zCq#h~AZW4g`0s;apuH|mR z#2FZv$HvwL55@f_%`8Jh_nmWC$;NrVy6v-?{Z_iH!Pz3}J?zoU6WjFJvD~u4wGC*P z77%k@cPQqEB|Gp|iIiw)WW<;cifS}x^d>&eXQ4;j!}ZRK!3Dy-lM`bk(0D0edh^0& z61mW0xV|JmAED6id6S-q8k7pAC<1kmljGh z+^BXa5h`gfy#DoY?(jx*a4^{jb`ikqREASR zP?Zg~j};>$ihnH0Oox`Oh+FPRnaH&_G%`t9S^Q)Tuy{^RyyO4@1)AVUSqlc(twz?u zNxV3`%3HT?q45MhvXy$g{&UMQfjOf*bP*IhBu2q}fyR-oo-plCmTw$Jy0$-mv}66j z{FQrpAzI`lYvD;ns@abtnoysM7w3#|?c~#x{h1XXKQgLGhBZTWPBN?ba&a*j_TlgK zkk;?dJRbkx0S6hXT9I&_CV%SGm%{J$&tQT5!{Bt3$(0`l+tSsI&s#x6s&?e<^;fx{ zoho-CWqy$IVE94efLnL^XRpa$<6Ty&Ej#Vc@GuIVK*;SH*kjX?7YiXW;;uIKgoe}V zmh!2CR2YSB-MV$Q9uN+2V2n6;W(A_)(_12Px-13H{B<+C%TgMjCBrD<(4GDf_?n6x z(qLj=FfSvZ4|R@>SBP6ZN4_BO`#D3#|FHD)Y(CyUU|0V%EQfvGJQ`iwl0YH+o5zZ< z?MOKUHjxRtb;-i+0+-QJ(|P&e>(J!u&smPH-yLJYXLyabEWWota~|3Fz<~p>hb;d# zJ`;p`VhBFaV`%dEk|5<5_!Jej=3w=CU*M#j75L;5M8V6tMA(fD;yUGiCWU$@9z;=} zx855c_yW|vC=&mk)h3MV$L-F~Ep#ZGy~{FLF%b4ZgHb*T5ZL$c$Cb-zn@sf#_oNsX z1$m8I9Q;`kaq_c63Fr?H?5_pb$dqJe@7VShd}q3`<FVs>&5#|d!Z9qkpC&F}E@*3O0}p2)>G0*k!hYfmn8~$sKr?90SD08|;CK`jtLRe; z%3a?&x&U1DGH%Ny6lsvMhg4H{D@X;lgu>QP@P#99opTFV5BAb**suWusrGJlbx(#q z*^a^qLz_TTheAEUTR7m!{xEY%pdt-ft1i=i+aFsCyzT<{*8t}Tt!b~`Z%^Mu`RqB? z?GCG?RjF}wUf$0S4@MxUda+EUk9pb`cw~Xw82yo;`o=kTK*)3Ou4!M`1NRF$?#(>- zSy&8{)^p>F)sC+K;V*8S7*d#k-kofZk05*i;o-Y$QfbLK8?iwU2X_~!^u6h>=`Ts# z`=i#@U-D@=zUK6JNPA6=HS+WEA+v^TSDX!&T~pwIpvL+8*Mh|pGNbM>t^=*_>+5%d zZV<>&>5}Y zE-?Xov%}08Hus5haPsguGHUVqBs0@y#a0fl5nAN-4E(^z=Qfp+SIc6xp?ZAc&f?LR z+n$W~m+}hQzkmBA5G`k3r`0`Xie1SbUr1puKsHhK)pp2FyO zJ&fa=a1aic>HfpOwqAx8cmLV<4ammut|2Zy1`g11gyVhSb?=bQxq{O%6X*I*iyuaiEXXuneHu(H?*h;`WTi&U2e7n43HTL&K^NmgbKDJvj3?&*! zX2X1HB|LxV{p|kjNVuF)rI#ds{4>)WlTB1UzA~om%kP+<9@cBOJpf~$PklU4CAr`d zQZ@u1-Han(3{E}if4ve%I!pzeWUD$M=g-ggH}o$6mZ~VVM7VVEL@y(SsAw z*-cp{ck=RL*V$J0cA8FJ<2YsU`dg3x81$jZHxLFZJ$?E#G2LVAG#a|t`0Km# zD&xn#5IqWzbJ*G0-&a&@CU#SY!)~7iQpSay2ZuKtfAVF{_A7i~)cijd$=Ku_1Ibj- z(BjS4HKrg$oMXnp%jdx)-80kK8H-Rkfj($Ru2*_+3?%H%RNHVJqi7<8(hQX}8)^IR4ME zRU0pz+{s@(jsR%%Wn|{ClN0X3{!VaOvhCL$-@>tVLpCA~<9#KBowc(EHMjVpMT^jg{YMb-#ofF~ zBIgJ>z1xI$0&|xv_EJWZcjs;RO9XE!r?dpA3X>Y&Y5*+@(mDQe2W%|rNXI$Xy`PAMKa3DaF{0%mUw-@@d50x zM3fz?v*^f^^0S{^?Y04AiLi}jX&(eKBseR{9v3Do47-xvEc)$yr@d8I?O|lnj|tMS&ab?) zleUS1S@!rH5&ZzNMV_Cx!MAa8Vi=7-!0^?Mh}GX9u9syLa^lQ`Nktm5mpk@pEzBA1 zozWZS5-Mq>nkf@{Y|DN?M|3|R>8FCTn%R$#llIDFTb6HGgKk>=xug6ljPhOs%Jmu&0UJP{mfgC4KM<-$r0%@cO(5 z%2i{7V8c&Yw9-O295XjJhPd|(1f_sLnfrhFQK{30Q6qeg>PHhtc6@BAOKs^vA77+< zce-eCob=I{`G3K9o7YIe;wPQ)5HnGz}CA+mnj$`LNtL!sNm`GB<31b9ENx{Iz8q zQ0%6ww)el_qg$6_nR764=XqqU&(#Mt|j9~C>Y zAo^YZ{YeXo#Hcicv}XvU<6D>!A$?c~FcrXC4MYcOcD?-155z2PIcOX`)&EtZNN%vM3m4B&-AKG{_q|M}gdW z9cFa!)yLeSbq4`YG504mCE;UsiMO}s-d>Vg+)^LBiuEL{ zrX!m{H>Dhs<=93n>!}lI`$v`W%!#b3tfW;-0aWea*r$*EKo-T`eUN(<=y}HM@24Kz z%FTr&>os4&`nKx@@CNBuXMN>hQbX zG6f5QeFu+W-vo>RQKKnz!v)}ep!UeiO8E+KN(cn9)au+3^ZQw?i*ko^dio&e6yze^ z*aOmJOett#D2g_pui(l%jS8z3bM-J4;@kJ54H3j`YS=X4(P3DEg;ycU4r+}TVx+hV?h zKjIelT~r-EYkNP-2atZZ>n_a{q zOsYtG_FYo`@lG9Y!~>F#i_3H1T4OJMvJlS$u=I5KEqxxbM%m5tF_da@y4Es#tiFdh z@OfE`ix_@S1o`;E$aE)x1;I#+0zmxcHtZI}ivceR0_SR`EbE6aqVdcl1`(?O0jkN= zatFwz4RANojcOn?UjngnAQy1&P}mR#R2KeGt{qG((5OiXF|RZ8ejSq#0%#FwpLx!D zFdzTU{lKFeA5u0HzC9l2=j$iO2VCK3=GT;EF)x9;Iei~Y(3C;Vv30 zJkoTY08QELU1$@opJeF)1SzZO94m%ptnKX?n_ekSjI_9d8^eIvb3Ac&ZD<#7_*tFV z4-DA#i^6Aoi5X}Nv)p~GuJMRIz^f4lPV?giVFS6ouaL(TzIY3R{02V{a0U+KCcxG9 z`59%?kTn1Zz(X0e7LH2(pBn|`7>v!1gYjyf|Gr0iW;0U}yhBIw8l+cZo(20x7d{Fv8@onS(&=LUT0_!Hnx z6npb&0e-|t3V8aL5S__2^!g~^5$~NC&WpwTS*dj1bxZ`t+@n_6o_H&eMg$Hhcu7o- z^o)#?wU!YM&*>NT!V%(EFz5nbbmLmHyN}t^n%M)UyNW|)L_~G0w%i3TTmaKwj5SVr z5;i<<{N$&)I+BYr4zfppUo2dCu#W|C14&4{pbC8Kbfgo+tOF3d^n)uohiCM4rwXlX zAcVdF>bjm|;}1@}LLkWP|5lpSol!Re-tzS})t`EAl?Sv58vyem1iyaF?IZE&m9w+C z)O2DEP~WAipZPBa#0m2|*H6A)0S75T0Q{dcJo4+9$^)08l`daHwms>3REn+78!S=W zrQD~{0P|!30v=^8YrmnD1&@W~|BcH&U!NF3o*0ShArG~zF#F~Z1La0bAG_X^|LJP2WUxI1P z#UuHQ_#x^-6T!#T6V^Z#(9^w7PQX#p3#1R05hreAdjbgTf7li5%>Hi0h8{&YRA?>h z3v|vtPgpUSQ%L+EP|pM4m?)s>3`63uD|+flJaT`_jmqKJ#plpLNacb@U;)g__j(Oj zW)`0M&_7^>B*V<>pPoYFEAf(0Y`g9VyMQpCMWhJ5F1UCcEWWtFN~(##GaJLNpfH6u zz@glWrubfeS$E(97C!*DX?F*qbAxz!bdg&TM=O3?`#m3NX;X z?MTD%>`z((Tb_2_w*dYQiNmf05eKkBC%~wnUOQWR`!?`ZO;x*fU{8^(5B3sZ4`F`& zyQkKF@#eviW7Im^1;DKVyNFi<9t0SGf1CzgDG3P|v6H>--v0_59!`c7A^d&@`333`q9nRxvgoHZmcnwUNU z%pQ9WNL7d>Gj6GN@8!q`m1F2t{khB zj%W7)sSbG*cK-1F1em#g?1rbL5g_)#F-_Ft)7{2sXaOAwb1OLf!sD0KS1dpxvMw0f z#bk{Q(XH6>6!RhM3_$;+2F(IzgwOpz*eT$d579UdY>6PV{?tcOFtqR+rf@^6?;l{z z-;Jp*Vb766ctha;n2zgG`!i5*q=LOL1v_7bywNuh-aarJ8v<*N#}9f08teaTsAG;n zB!1{avSBuWC2e3zRIsEJQ6SgCG#PC$Y?2rU)~J||HXny?=jd5q9!bMZx2wxwC*xog zY$iR~V-!aRIL#!eHf~TF;H1~G0zerOJb|;4EgA^Ku`M{zT)F37)2Rn;LRgUC%cMH` zN(Zu7IJpjF0g!LnVmN>TT9O33>@iObfI#CHpa%s%ntE-719+5!6mt6lKz~DxuzE30 zci`D+IJJ8eSZ04ntgz<*R5SR^k@Z707I-ff!qEp|t|(u=9D)MuVRQ9pZMkRhK+Lc* zh96*B7hs4+tr@otV-({MShRq!dp=P!1vYpQ-V9HOLfp4m<6~%apa=j_khBOomdXAe zADxZ!$t7~i%4N`Ic2I8O%-6MHAf^NaQP_;**qWr7-M-U4?%6W|vPaY!OO`pa>Wh!S zR4#vRVKyR{gwE>Y{ilAT18t$8scMb1fE}CDeZ;CMz$(F%@sbN6yChK^C+08b%#8!5 z<^#aHEcDfhGTD-cGs_UWsv%2&r!ZIxanCOz6!sA~4th-hKQNt+RzLkqjF`1p88LU( z{&UhtsO0XY19wDEp7d78Y2UfZG*^&Z2tn3*oZUE-N@bn^8fO5T58{u|D2D)DjdM*B zm<(88v7@j6*z!aBAeW7Rm)l#NnHz=!Y6uY=#=0{Hfa~WWYjDy5)Zl`g({V@I(W*Xa=3c`*xA|1|_BSkPX2B&V*m#R``5^7Eu8FgWcFn zY5+lly+Td+@BB1@+E66)6@r~Y1yxDA;fdo}-xffe@yYhVH>^a&ngEQVJpkIDM4;S= z8$(cgADWS{2Ikuq=`&ogrB5W#;`p;}c`U`I4TgyKASu7a6$g<3!|lOxl>rC}_{qdj z?R|*IpsgViU)UVTSt1K^Z2=rXz~lh~fSUSn9()L}2#D%%Ad4N!w#6P-aB7ABBom{E zEWkPq5C8%Y|M8%k6y6Vk9n2Fr`@t0i3heo};rt0WKM@C2IIw{x!V8xS!*OclS{WIX z-+)Cffr`ycxdYKXC*ZV*0RSNvk+tNk-qMNm-BHM)z-vJdPj&9WDMIR@0tOHOWYisR zA@n;GoQZ?M1G`a-V{fcR)w}{a5QuFg*xA@nuK~_-@cS4C1hxs{5>}w3FM{e1XGE}_ zdH`oD#NVRign4!lX#aN#8S4iFj&rkz&^N>l(p{X?X<=d7e?I)ZE)75KD5ScNoLd@QW=QwzXk2oe~Xu`-9o``0h)hXG3ZIL!F@L>mG0>($c z*Ek?q-ftE0U-<<}a=j}QXk z>XiLh30nwL!?z_8vn?PRYMIJYAlL$AWD2;b`uLGH7zFsOMDmQ)LNviH0RNPMi$XP^ zQo(|YnumvI9RwZgj%5;m)r(vRx#>w*rx;3xK!(T>!Of{oPkw&6Bd8a@-igt+H0tZc zusQL1|6~|zn$ta$;*^eNb62!I2uy*xS{!}3tk8U2C$z|k73~>ZpYR#_ybMXU0b7Ik3d(=bC?ti`L|a- z$i7U(E{YJuLMZyrmAhp8`seO9|GUam+kvpU3E*L{3-lYNKUSKVr-CELQM(y|jZ<(k z4=O$22O%Q;tE=m91xz-QCaiu&kivjb(E$}6((I~9J&%uj&q|d3?+TUx!7I!V1~rgEV}F8=l)x|tFs3-~i1BMvZUZZiacXK;u#8=EirRrw zr!cuVq!yA6LCp8HxeuGxUv2nt3@^7AarQ#RIra<6ZLHpUBQAr z5r_Z7+Pla1T>t<7&(}6*ISir1Xwh5A#=9I^teSUQsS&G449VM}9IFZK)k%g}R+-93 zdSfN0mc!fOg&~A@c#AhN=VUVHiR^d1-JcuAwp>2H?>`RP>+pO&o{z)*a614{3VGmx z;^7qnESC#bk^>$vme?`a2^0(sHxgziJ%^um?p!y`jZ&!z1H0##088Yt8H}o(U*fO7 z|9&G%Lh#QrnwJ2q!_~~lDW!=NbdnVbNyHOZzXj#4d04?Yfhxuw8d%*seg6-4jyt%r zOv4vrW4+J!Tl%qBP)n$ml!$#=!fesok@0pC(Bw)!!?YsUP^&>WMt3$@W)nsJq&lb* ztb@(+e23V319`Y7e807FTnOmtjZM%*vISETd~o{b&A4d=Zrwn5Zd-ie@Mp}XPwy{7 zsSi6tr*-KfFDmCoRgriLcP?EP4*6J>?Ek-lht~o zu0I{_3qBTgXV&kt{TokEC>SR8XuF#*f@y=wjXE|PaNE+2T0I3_*^E~y-wkA6ZWI#Y z6HXp4$U9ZN^ADLRVYBJo#MKB^S~Gv>`B!@XGH?S`MAIl-J}~dCO`HCplg-|$xW#>I zy*}C<3G+x9=osa0{D6pOzDfwm?WsVKfa{^wG;8tm0mYpJcd5QtwR1_|v_ju>b-r9H zEUgaqyqwDZ8E+GS`Gxe-gt>_)U{;Oz7wRSC&FW{72=2An=4Z4=&g2Ul_clyv9@77>E z*Z5=g3`Aj{vw$?n2}EgO{#kw3UAcrP#a9AP#?j#*=S2;L6k7#kK87|Z znm*(~uo~1p6w5+=TfA1D>(e2vca^Fy46X>(2j`v_?RxFor&(Ffav2V|KaNiKPZX)a zll;-ukNYI`#wPkjPIzXT4YeLhL$$ zO4LLfMnmWT#P|kIPPqX!2r(|PR8@{H*EGWc@!%|Eu^&Bl3`VhvG~tRwxo|_VLQHt9 z#@gLT068^=Wvz%yS!*5F-J0uRw<9LtiPTh3jht?UY&gTJyz>q_(R~#0H#I#_w&rH* z-PYW!h%DjTZ|}o9QNh5}<;!b%b7Bg5?d4~MGfz}qxfvk>Z2)ztcT6tu+uA8`4F;&` z?085p)v&7SI2M*MC`U=c5AV{XnHr{AS5o_Sth4$w=|=ZYTGzwxn_T zBQZk&vaeIi1j>Z7VM4$Ws0 zNb3ibVE*>??3cRyzU1^%JSSXJ{lmMh9#!SL@4trvf)oOPn3CRf{oJ?w2`I)vAFg}R ziF<(PbGQ?Hc;jblRi#!bXW4Fwe6-wI+u?OcX0!J0Uv}|#!q^z(5?ta>_^!`s%y{C$OdSJ25N zM;`Wqb=ERGy`Lad9C0WxuSr+<1z$Xpl5< z#j>Nte&bA@+;XyddJ0tCF-@*KqBdpey^a;1)!|{ushZsT7p>Lc!<#3Ikh)4Wo!o)C zU0YT{>$?8F109wPLqvD;jUi0Ry_^v^|3U@u3+Ium7`Ca!#l8d_C?}6?cDUN_%Pzj6 zk<~dD4s($cO%Snq2cQd=2x*ER*JE(!F27RIG}pkb5<`f1y?bl5Ne zxw71y7uAN`4-Y}%a_dh&d3@8*`S49c$j!O@iy#1Qd9({iCGw-X9AQvDfMi*gG?g`? zjmG!Qbpr#W@d)zV&BgHW%S?AZ?vB6)gl2$Bs zi)E^pE4|4iWxiAGz3z5)?6O+k{)0);ho>byMKGWgIPb1hHlv1I3c2s6TTDhN+MkV_ zG{w0x^5exm0mn$#%1J9$Jgi#z zOPf=kqsB%}%I)!KAUezIW6d)86BbdPp%cddy$8%D)bE%`cg-~989H>n^D{B7oR zN=|)#{+74NB%Cs?hqRia@SA{Zvf@+*58t0TfAir>r#Bx_BS4?1qOp_x`X7{U*}XyT zIm$lp5}~%`R_@q4%X|O*`{L2C;}`NDGzqFmf31u7m8dhiRYO zD+Gigo;WhpC-C#NdljN>7Im4L-t-bJvme$XRxWZ%g-X?_1&5b74%;bxkc7R&v_!V* z{IgwIPe!a+mFlrw&c*Ja3ZMwm}4*K4bI{`b1O3isK0>6##fTs5cKg+*rM4>-}ZgaNN{=PUD%{E@vs@ zsgGv|Wb8dk(bqcPP6D0icXkue7`s+I4+Tg&=k+M#K8t77e(^fE%51(89=0nRVVXAY_ zfheBHn{;ga6SFf)wERJ(6~3*5b+y1dd_?k@MSm>78)egKz`3102T{{GtuBGS!F^UK z^iN89qqH@ur?yJX1a$;`gmIh2UvUDZY_kvoZ8oF1K^z>#iSsCOyot<%lNI64O<>CV zG&j|fyE-?c6&GHh4p$<4|D(13sGyBk{VYQsXiE{hN}&*^8XZNv2Fm*c_)#O*N4y*f zdHZHRA*F#kgG9c~H-pq=JY~Gi^yw|m{tY$JeC$QDEL`bFFjc=8kWiq_Md+GX@ww(f#AEHVZXJT?3dAHA|&KH zYh8ebC{U=dnmk{Pyi${hcU7mgnZ)kZ4Uwp{K0o_qoe=459^@XU?w@p{kkV7v*FmAY zM22{GL7}0cD=3nd_afNtcK1`BG{}-2^y0I@ubZ49FsQnIqQ+_G0H9nfW9A!b@_`*- zJ0S=>sIA1HcpzxPQT*yTdH4fNiMvTm6!D2~>?C}A&$Fi}cBPn5Q96J6Xi#@<|1q|) z?X+}b)EJVAhq1=9*e}NGR@DM>!rI;Jr6uS#MPMcL_;KPYR&-QnO1^x^T4zqnrE1RY z8G3>;j2@?Eu@GZ|e@*%7tM}$_Zt)pR)XHdJ45UoM>G#0Px2fI0{y6leZ~2d7vyY%# zLcU08%f!HR+w_phb~N+dAXLHuf^U|n8ApuIpI)$v!#S)4_#2|yTO<-{S%PK@weL*+ zW7~90FSRlUS?DH+)P?kVEmjCisx9(ATehs+*>iHPEQt0pVoDBUwMevFnjM{%BvGAT zfR$u!pb71>4qdl%nLABuMOPzSmXn}9m8Dw2<-)SUujrYnRS4W%SZJ$^X2ogo()z>p zWz$3FJ835$2=}frx<1N#vZJjTe082^S=&6J$1Yi3P%Y(bo}|&+uwou?rvRUo7M9u0 zeDzsrKG?IO+c=G9HE2___w8BrTm?UGt){ZoRkddJt2L?~C7Rv-A?xHta03D-2Tps` z+~*D!YZ&JdYQq&Rh@p?E2CSf32gg$;JhKnk54uE7qA0IU^qOy9__x-ykyKSxN}77N znL>y`%dhh^44gpSsLFG(T}1O$@~M(s@?e^L^9CMz{4)I%mT4g2Gqqz+WaZMuge@dk zqFVN_7@u3H^$`D4{XlMk22w1wF(>RZvd?BfFfaW2Sj+Wd6r}yW^n7O?NevyQPD(0A z&)Be2k%~kbiGeVSV`73v%NT?8_}PyiK2~#`HZfJalKAAWAx5 z6MJzhDXDQ(sVG*jSrd%_p^k(x=D49#2CH=yeJ0cgl+tIvetV4?2UU#xveut>D`_?5 z4PHJ->{UkZQGRfvL#OZaSHBsOhDwRn=?M2*~In%BwIS zT?o}tbU>D*aw|3C4}UX%lV8Tn+lu_cNL8FvQ7B7WE#xSPV~<1YKjsLHr!>C=Qoup& zr&G3*El|KIS8kw`dQg)3h}O891#zl1({azPElh`6-bfE|z|+Y2=DE3Vx1?)HJ*DXP zW*+BYEHP!fyEuw|ZP@dhnjgD2cZ^}t->GwQPtx@cpW z2qsAle$|uI^*@@Kd2q?;P2J&*@K}iMt% z+kBLEWBpW6Y{yC(2>yh zfekeC2XTZ4eUT~v7nVuF?V}~287?{p8WtJAtqy`m>p}V?R~k?3|F7FJGLdTcv1`Uu zS10Q8H-4KbK86@Dj!LhLCeQp&iY17-oeUcn)siRSB!8FteCbZ!gTVOig%$NeLTyNN zRR1K93C2#QLT*OnIip+F=yLzMM7d1FG>SRa4S5!oE)1oOlfsW66&sKq28DL2(5u z6eHxZ7Nc24+y9mhZ6cJX zs#%K6@;&mWxqom7Utz8+BMjX?@&n_M_$c?#nKq(FAUB{?MwWp3jTRW${J^{g#=aIi zruIp)){1r)p=&~p0v`cNOJF}XbcC_YO|swuxP`|-ssmg&XzPN#m|>FWhmZlRL8``R zxpV}I<7eD|NNO=u0Vblnt9DmYPBZiX60_IV{-`88(&=dz#$mvW3h?KXH zqAUn1&XiP}o&Y4RJFcmJLx?VR`aFbX`;#Y})=;Z2t|ENR=&zpMmooJCeO$p|PB&;d zPscpacZW}Xc;X~Tfu4+(Up#lOiewgBtJQzGk^qq4n~zYI`Th0fWqdiQLeS8?)ax2G zZ(iCrzZW1irPL}Ds%e)sct(9RyQFK^lUPi0$?#W9e68ZcF;OE+uBkR`?^?>7DKmAY zlBWXBHh0Kr)M4+Chn@&T2pFwXtty&c_JeAw3JJOcaV96{vprBu`q z_!F)nO%*Basb&c5Z|ug;==;U#`l>wJX~mU$Xhj?b9Ef#)Uss(lnf(~D10+cT3B9Ps zYW#E!tF#^RhIRQ?-8dW%VUu?1#ubSv_9nhAxS-f*!k__xhbo(VyVTx<$ zQ(CIFuy6d+G00FNITK!IR2}T@ks6e=-nGJ**U1f>ixUg@+=L>ZQn&S${2=XrXq3XHQhoHov@HgcXK>9Rsua`W$c1Aq2!Bwo-iQtJN#a!_5 zj>=NkV_mK&PPh*SIShM8#T8IxAHhu9Nkpo$(3^0d0JmDHB1Ue(PDFrh8{Nw;J8`GX z*$`&D_NuNO(s^sUL*8w#3chhvgd-1YM{t33VqFN@u)LAZQn03u1IKB;7gox9;otub z-!}gJyGJn~rWgEnknj9(yi)8ZdY*qaQIS=UWZ(;>e2wv3;yeO+uK&K#H_v=ec^T5N$+kiH*|F<`CVPHB zoUp2d;s(%l<#BCmjP5&C7YySHaze zH?H$D^LTRivHMV%J0!ZJXlNi9grNZ|n4ir4r@Ccdd{JB2{^GIml5~W-4oza+T@$#N zoR{i6;wM%}*J_Rarv2|9F|vuhELDI|)O)*~{SC@`hwBLO*Rts^PlD-CPN`<38)>7N z(2e4G`t?#vR~A<^Vrn~=DN3~%C*`5rz3C+G&n+JOH&Gp%G4R>s1m%5~|1J{y<=YEn z!Y|BRK51k~DFxepNQ63I;B!9hwe??~tii3J(K{0!YG*w9mOaSK?|otMM^a3zfkc7T znPazn*K6x_iaNOye)C73{yz~F=@BI$2PTQ5Hwi1j;lZ>3TU*~rx|a67W3Qm-zWC95 z_H-6l*jO~^!aNcIuZ+>ni2q4k`MBop%Wmhej$dKy`RLz{A3r3$O6VJKF!ZzQ@ff!5 zbVY3|x1tCkSxuh$L&9M0vpS_>WG68nN!hnYF^_?Vb$Y6xY!Y6AA*5M2G-m-8kRLJr^BZrxL3arV2MMzY=MxZEJy_LGp{Fv|p&fXY zEA87;^lKr(*ykDoKkG%YxJlwZQ7zG!hm^bxJrAD`y~ms5T_^SUf5Pu?r*@oBjHa0; z#SY4ElT^wzX*$KY5*09dC`}z{W*ZN>8*KuF42$4?Z_68^1cO0T>u#EE(xb{_MB4+k z_L>Pqh$7)63~RAjO#HfM&zwQei&WtMNFVP_|9@C!_gV+^?1=QMh%18kDi}gvr6M`& zFNobu=k$o$G2)Y3sSrWBk&qCgc>E?vVHgbc5BHq?_Vv)2rWRS$8{@yqr{z%i#}s(z zo^A?kEP15&HH^T|w;) zjd&hwdJ*(C_1TMu8!cQisfJ$-WXW4%A*z&l{CVI0m=8LO1^6G=i@N; zm34(+u-1tf`ovdHn@VWURRt0;3*qBNh+-+Mh~Ox`J(BPhG{~e`moe>5(D71ADUA}Jm)p`F++kYR;i5e3sT zgA-2Fa~=&<=}EvTJJC`$IPOx4Y({xDu3G#df$fQT8p?HTTXP6PzhZ43+ocGCZ}jTI zFC*h<5tP;f1J<14q-tqucNk{=8P^*~5Vwm$XX2ZE~``Hi85cq(UB;8VFW z5J4q{f>TH^ga~Xiae7IUU=i!mvCUSywb;#00wIlfT8(;9hJtF1FfSSY{WIIc^HdvJ zo28JZV)SH5huVO>J?sDfqNLIh6EFfi52hDtRK@~QQ`NUSbrHII>hlRedL!E{KZi0O zaZYLnBF<5n7T?XZl_Hm@vsN&1?z)eh}*uQ396EZN}^L0?+G%LE|CPqiE186z&=3- z4P9wh23aIH>qn*&(?9A2^8ddB4Cz4;64{v|NPA++h?_=5)d`=9C^5XRkY2H|2m}n- z`q`dz`mLVGVF)!J&;hq#_rNkj0%%oUAkZl9o4-$VEt*ciceJup!VvaX*}k32%!e?7 zBv5vexbnfWg&EaT`z9U9o9B}iN$1OoScc}!JPIZfZ5eps&;n1lmuCbk>K1Lg)z$|YUZ0(3s;iYYw_rV-H$xqrAJXgh<6 z67B7;Kcz_KCda}Uk<_fcefP(YD@3I670z2!lu4Nd=;X(?fM0C~r;za)pXzr>S9EXaw?iI!G;;cS&(#?s1G`lACBzG-Ym&Z~2zpyUT`8 z?Klfyv5Yz(k+Gd$JVl(AbR&Ie^EMYAednEb4uiN_B4h8N>&Z`0_D&OOeIStwb^V3@ zKQtSW07BuvZlc>sk_1kav$8uRJM@W3osv-uJWS(*cVvV^`s!0@V%e zOFPJ|`|Tt^aRu{N=$lf$$sR^uM=Naftqo}8(%aHqN3SWA=T)z}jgM`6eSW^L z_b&pNxFn}`Mj

视觉干扰

](/pages/vfxpro.md) - [

摄像机视效

](/pages/camerafx.md) - [

镜厅

](/pages/hallofmirror.md) - - [

窗口移动

](/pages/windowmove.md) + - [

窗口相关的动画

](/pages/WindowDance.md) - [

](/pages/hand.md) - [

自制角色与精灵资源

](/pages/spritesheet.md) - [

使用精灵

](/pages/decoration.md) diff --git a/images/Window_Content.png b/images/Window_Content.png new file mode 100644 index 0000000000000000000000000000000000000000..3f9434be3410eadd0653865c0202d52c7b2bd1bc GIT binary patch literal 26430 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 bmWiCFCAW?Um1p4taR_5Wb8?2h^R<5hqa7zy literal 0 HcmV?d00001 diff --git a/images/Window_Dance_169ratio.png b/images/Window_Dance_169ratio.png new file mode 100644 index 0000000000000000000000000000000000000000..9b55b75e65f08abcae5672520b9d905942b428ef GIT binary patch literal 104883 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

OZF#MIxH9}swlKv+ou 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%0D8j4~K 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�>Nsmn|=Q+^9g&x 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.uE&8o4{7nfCa+uCyd>^9Ls3T)EpMniVkl^ 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 literal 0 HcmV?d00001 diff --git a/images/Window_Dance_229ratio_pivot.png b/images/Window_Dance_229ratio_pivot.png new file mode 100644 index 0000000000000000000000000000000000000000..53865da58200ff1c0f5ef9ee3965d947a3dc8968 GIT binary patch literal 125267 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�xU$X;*>&CH3ncwg=E|?It2mXs=txE8 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%0AX{V-sEaJEmbA7!JKN>=9>C>M1ohe4^8FBZK! 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 z%0D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 CPaGHk literal 0 HcmV?d00001 diff --git a/images/Window_Dance_All_or_One.png b/images/Window_Dance_All_or_One.png new file mode 100644 index 0000000000000000000000000000000000000000..d7d62702d3c9c17d905c9dd5cd98f30722980311 GIT binary patch literal 167646 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

  • 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
  • HZpr})3-#@)Bw#+@bOKw36R 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 ybZ= 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 FV1kI>k9Gh6 literal 0 HcmV?d00001 diff --git a/images/Window_Dance_169ratio_pivot.png b/images/Window_Dance_169ratio_pivot.png new file mode 100644 index 0000000000000000000000000000000000000000..bcad01aa4593519e4d1c44cc6cbd157ea435eea9 GIT binary patch literal 105681 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 一切准备就绪,那么开始我们的节奏医生编辑器中文教程吧! \ No newline at end of file +> 一切准备就绪,那么开始我们的节奏医生编辑器中文教程吧! + +## 启用高级编辑器功能 + +从 v1.0.4 版本开始,高级编辑器功能被加入。其中包含一些在剧情关卡中使用,但之前不能在编辑器直接使用的功能。 + +要启用高级编辑器功能,首先按住 `tab`,然后你就会看到这个界面: + +![没错,右下角的凹兔在盯着你](../images/changegameversion-tab.png) + +然后狂点右下角的凹兔,直到弹出这个窗口: + +![启用高级编辑器功能的窗口](../images/changegameversion-advanced-feature.png) + +点击接受,此时高级编辑器功能就启用了。 + +如果你想关闭高级编辑器功能,只需要点一下 `tab` 界面右下角的凹兔即可。 \ No newline at end of file From 7ce70aff8f858c8e729848fa42e4030b41f0c52e Mon Sep 17 00:00:00 2001 From: kuanpan Date: Tue, 20 Jan 2026 22:13:50 +0800 Subject: [PATCH 37/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/appendix=5Fgim?= =?UTF-8?q?micks.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/appendix_gimmicks.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pages/appendix_gimmicks.md b/pages/appendix_gimmicks.md index aac19a7..d024751 100644 --- a/pages/appendix_gimmicks.md +++ b/pages/appendix_gimmicks.md @@ -98,6 +98,12 @@ 在`5-2N 无以为继的伤心欲绝`中被首次引入。 +### 长按单发拍子 + +当听到咻噗的声音时,说明下一次击拍需要长按到下一个出拍点。 + +在`7-1 模糊`中被首次引入。 + ### 冲击拍子 单发拍子根据哨声提示在脉冲和按拍时全都按拍。 From a21261ebca4444566384cc73e11609376767ddac Mon Sep 17 00:00:00 2001 From: kuanpan Date: Thu, 22 Jan 2026 09:16:05 +0800 Subject: [PATCH 38/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/moverow.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/moverow.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pages/moverow.md b/pages/moverow.md index e01a7ee..fb86c0a 100644 --- a/pages/moverow.md +++ b/pages/moverow.md @@ -116,6 +116,19 @@ 5、**移动角色和心脏:**角色和心脏的移动是以他们在轨道中的位置为原点来移动的,比如填写`x: 0, y: 20px`则角色或者心脏向上移动20个像素。你可以使用这个功能把整个轨道挪到屏幕外面去,再以此为原点把心脏挪回来,就可以做到在屏幕内只显示心脏。 +## 旋转轨道 + +> 目前该事件还不稳定,部分动作可能与轨道移动有冲突。 + +如果想要实现`6-2`马克一人多轨的情况就使用旋转轨道事件。 + +先准备两个轨道,使用`连接`将轨道2连接到轨道1上,此时心会自动变成裂纹状态,如果不想要这个效果,可以用下一章轨道涂色里的`心`设置回默认。 + +在连接后,通过`分割`可以将两个轨道都显示出来,这两个轨道都会对被连接到的轨道对应角色产生影响。 + +`断开`后这些轨道都会回复正常状态。 + + ## 演示关卡 版面已经占的有些多了,更多的轨道移动脑洞我们留在演示关卡中间。 From b53b86e9dce69b602a39cbc7d7e5f7f432715d29 Mon Sep 17 00:00:00 2001 From: kuanpan Date: Thu, 22 Jan 2026 09:17:07 +0800 Subject: [PATCH 39/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/oneshotbeat.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/oneshotbeat.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/oneshotbeat.md b/pages/oneshotbeat.md index 1defd57..71ef715 100644 --- a/pages/oneshotbeat.md +++ b/pages/oneshotbeat.md @@ -1,4 +1,4 @@ -# 05 单发拍子 +# 单发拍子 ## 单发拍子功能介绍 From 484bad3ebc770236d366da8cf8a96d0d8c85018e Mon Sep 17 00:00:00 2001 From: kuanpan Date: Thu, 22 Jan 2026 11:41:05 +0800 Subject: [PATCH 40/56] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20pages/moverow.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/moverow.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/moverow.md b/pages/moverow.md index fb86c0a..604c8d1 100644 --- a/pages/moverow.md +++ b/pages/moverow.md @@ -120,7 +120,7 @@ > 目前该事件还不稳定,部分动作可能与轨道移动有冲突。 -如果想要实现`6-2`马克一人多轨的情况就使用旋转轨道事件。 +如果想要实现`6-2`马克一人多轨的情况就可以使旋转轨道事件。 先准备两个轨道,使用`连接`将轨道2连接到轨道1上,此时心会自动变成裂纹状态,如果不想要这个效果,可以用下一章轨道涂色里的`心`设置回默认。 From 69e9535c686b542c3f000d5f0fc651b4f7b745e0 Mon Sep 17 00:00:00 2001 From: T_Terrence <1610305553@qq.com> Date: Tue, 20 Jan 2026 01:18:18 +0800 Subject: [PATCH 41/56] =?UTF-8?q?=E5=81=9A=E4=BA=86=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=9A=84=E5=8A=A8=E7=94=BB=E7=9A=84=E6=95=99?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _sidebar.md | 2 +- images/Window_Content.png | Bin 0 -> 26430 bytes images/Window_Dance_169ratio.png | Bin 0 -> 104883 bytes images/Window_Dance_169ratio_pivot.png | Bin 0 -> 105681 bytes images/Window_Dance_229ratio.png | Bin 0 -> 125416 bytes images/Window_Dance_229ratio_pivot.png | Bin 0 -> 125267 bytes images/Window_Dance_All_or_One.png | Bin 0 -> 167646 bytes images/Window_Dance_Always_Active.png | Bin 0 -> 44772 bytes .../Window_Dance_Coordinate_of_All_Room.png | Bin 0 -> 11454 bytes images/Window_Dance_Window_Hidden.png | Bin 0 -> 19736 bytes images/Window_Dance_Window_Resize.gif | Bin 0 -> 718252 bytes images/Window_Dance_fill.gif | Bin 0 -> 654033 bytes images/Window_Dance_fit.gif | Bin 0 -> 623704 bytes images/Window_Dance_none.gif | Bin 0 -> 568193 bytes pages/WindowDance.md | 92 ++++++++++++++++++ 15 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 images/Window_Content.png create mode 100644 images/Window_Dance_169ratio.png create mode 100644 images/Window_Dance_169ratio_pivot.png create mode 100644 images/Window_Dance_229ratio.png create mode 100644 images/Window_Dance_229ratio_pivot.png create mode 100644 images/Window_Dance_All_or_One.png create mode 100644 images/Window_Dance_Always_Active.png create mode 100644 images/Window_Dance_Coordinate_of_All_Room.png create mode 100644 images/Window_Dance_Window_Hidden.png create mode 100644 images/Window_Dance_Window_Resize.gif create mode 100644 images/Window_Dance_fill.gif create mode 100644 images/Window_Dance_fit.gif create mode 100644 images/Window_Dance_none.gif create mode 100644 pages/WindowDance.md diff --git a/_sidebar.md b/_sidebar.md index 0608f98..5ea62f6 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -41,7 +41,7 @@ - [