danoniplus 41.4.9 → 41.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/js/danoni_main.js CHANGED
@@ -4,12 +4,12 @@
4
4
  *
5
5
  * Source by tickle
6
6
  * Created : 2018/10/08
7
- * Revised : 2025/08/31
7
+ * Revised : 2025/12/30
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 41.4.9`;
12
- const g_revisedDate = `2025/08/31`;
11
+ const g_version = `Ver 41.4.11`;
12
+ const g_revisedDate = `2025/12/30`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -2317,13 +2317,28 @@ class AudioPlayer {
2317
2317
  this._eventListeners[`canplaythrough`]?.forEach(_listener => _listener());
2318
2318
  }
2319
2319
 
2320
+ /**
2321
+ * 再生処理
2322
+ * @param {number} _adjustmentTime
2323
+ * - 実際の再生開始時間は、scheduleLead + _adjustmentTime から開始される
2324
+ * - ただしゲーム内での経過時間計算は _adjustmentTime を基準に行う
2325
+ * - scheduleLead は安定した再生タイミングを確保するための内部マージン
2326
+ */
2320
2327
  play(_adjustmentTime = 0) {
2321
2328
  this._source = this._context.createBufferSource();
2322
2329
  this._source.buffer = this._buffer;
2323
2330
  this._source.playbackRate.value = this.playbackRate;
2324
2331
  this._source.connect(this._gain);
2325
- this._startTime = this._context.currentTime;
2326
- this._source.start(this._context.currentTime + _adjustmentTime, this._fadeinPosition);
2332
+
2333
+ // 内部スケジューリング用のマージン時間(100ms)
2334
+ const scheduleLead = 0.1;
2335
+
2336
+ // 実際の予約時刻(内部スケジューリング用のマージンを含む)
2337
+ const startAt = this._context.currentTime + scheduleLead + _adjustmentTime;
2338
+ this._source.start(startAt, this._fadeinPosition);
2339
+
2340
+ // ゲーム側の論理的開始時刻(scheduleLead を含めない)
2341
+ this._startTime = this._context.currentTime + _adjustmentTime;
2327
2342
  }
2328
2343
 
2329
2344
  pause() {
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2025/05/09 (v41.2.0)
8
+ * Revised : 2025/09/21 (v41.4.10)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -3857,6 +3857,12 @@ const g_lblNameObj = {
3857
3857
  'u_SideScroll': `SideScroll`,
3858
3858
  'u_R-SideScroll': `R-SideScroll`,
3859
3859
 
3860
+ 'u_Halfway': `Halfway`,
3861
+ 'u_2Step': `2Step`,
3862
+ 'u_Mismatched': `Mismatched`,
3863
+ 'u_R-Mismatched': `R-Mismatched`,
3864
+ 'u_X-Flower': `X-Flower`,
3865
+
3860
3866
  'u_X-Axis': `X-Axis`,
3861
3867
  'u_Y-Axis': `Y-Axis`,
3862
3868
  'u_Z-Axis': `Z-Axis`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "41.4.9",
3
+ "version": "41.4.11",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "./js/danoni_main.js",
6
6
  "scripts": {