danoniplus 46.2.0 → 46.2.1
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/README.md +3 -2
- package/js/danoni_main.js +53 -47
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# Dancing☆Onigiri (CW Edition)
|
|
2
2
|
|
|
3
3
|
[](https://github.com/cwtickle/danoniplus/actions?query=workflow%3ACodeQL)
|
|
4
|
-

|
|
5
|
-
[](https://discord.gg/YVWUdUGyMy)
|
|
4
|
+

|
|
5
|
+
[](https://discord.gg/YVWUdUGyMy)
|
|
6
|
+
[](https://deepwiki.com/cwtickle/danoniplus)
|
|
6
7
|
[](https://github.com/cwtickle/danoniplus/security/policy)
|
|
7
8
|
[](https://github.com/cwtickle/danoniplus/releases)
|
|
8
9
|
[](https://github.com/cwtickle/danoniplus/blob/develop/LICENSE)
|
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 : 2026/03/
|
|
7
|
+
* Revised : 2026/03/20
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 46.2.
|
|
12
|
-
const g_revisedDate = `2026/03/
|
|
11
|
+
const g_version = `Ver 46.2.1`;
|
|
12
|
+
const g_revisedDate = `2026/03/20`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -11947,6 +11947,56 @@ const getArrowSettings = () => {
|
|
|
11947
11947
|
g_workObj.orgFlatFlg = g_workObj.dividePos.every(v => v % 2 === g_workObj.dividePos[0] % 2);
|
|
11948
11948
|
g_stateObj.layerNumDf = Math.max(g_stateObj.layerNumDf, Math.ceil((Math.max(...g_workObj.dividePos) + 1) / 2) * 2);
|
|
11949
11949
|
|
|
11950
|
+
// Swapping設定に応じたステップゾーンの入れ替え
|
|
11951
|
+
// Mirror+のみ事前にオリジナルの位置を設定済みのためスキップする
|
|
11952
|
+
if (g_workObj.stepX_df.length === 0) {
|
|
11953
|
+
g_workObj.stepX_df = structuredClone(g_workObj.stepX);
|
|
11954
|
+
}
|
|
11955
|
+
if (g_stateObj.swapping.endsWith(`Mirror`)) {
|
|
11956
|
+
|
|
11957
|
+
// Swappingにおけるグループ単位での入れ替えでは、上下でステップゾーンが分かれている場合は分離してシャッフルする
|
|
11958
|
+
let _style = structuredClone(Object.values(g_workObj.shuffleGroupMap));
|
|
11959
|
+
const _styleTrans = _style.flatMap(arr => {
|
|
11960
|
+
// g_workObj.devidePosの値ごとにグループ化する
|
|
11961
|
+
const groups = {};
|
|
11962
|
+
|
|
11963
|
+
arr.forEach(n => {
|
|
11964
|
+
const div = g_workObj.dividePos[n];
|
|
11965
|
+
if (!groups[div]) groups[div] = [];
|
|
11966
|
+
groups[div].push(n);
|
|
11967
|
+
});
|
|
11968
|
+
|
|
11969
|
+
// groups は {0:[...], 1:[...], 2:[...]} のような形になるので
|
|
11970
|
+
// これを配列に変換して返す
|
|
11971
|
+
return Object.values(groups);
|
|
11972
|
+
});
|
|
11973
|
+
const _styleTransDf = structuredClone(Object.values(_styleTrans));
|
|
11974
|
+
|
|
11975
|
+
if (g_stateObj.swapping === `Mirror`) {
|
|
11976
|
+
_styleTrans.map(_group => _group.reverse());
|
|
11977
|
+
|
|
11978
|
+
} else if (g_stateObj.swapping === `X-Mirror`) {
|
|
11979
|
+
// X-Mirrorの場合、グループの内側だけ入れ替える
|
|
11980
|
+
_styleTrans.forEach((group, i) => {
|
|
11981
|
+
g_settings.swapPattern.forEach(val => {
|
|
11982
|
+
swapGroupNums(_styleTrans, group, i, val);
|
|
11983
|
+
});
|
|
11984
|
+
});
|
|
11985
|
+
}
|
|
11986
|
+
// オリジナルと同一の場合、設定をOFFに戻す
|
|
11987
|
+
if (JSON.stringify(_styleTransDf) === JSON.stringify(_styleTrans)) {
|
|
11988
|
+
g_stateObj.swapping = C_FLG_OFF;
|
|
11989
|
+
g_settings.swappingNum = 0;
|
|
11990
|
+
}
|
|
11991
|
+
|
|
11992
|
+
// 入れ替えた結果に合わせてX座標位置を入れ替える
|
|
11993
|
+
_styleTrans.forEach((_group, _i) => {
|
|
11994
|
+
_group.forEach((_val, _j) => {
|
|
11995
|
+
g_workObj.stepX[_group[_j]] = g_workObj.stepX_df[_styleTransDf[_i][_j]];
|
|
11996
|
+
});
|
|
11997
|
+
});
|
|
11998
|
+
}
|
|
11999
|
+
|
|
11950
12000
|
// StepArea(Default, Halfway以外)によるレイヤー移動
|
|
11951
12001
|
// ずらした位置に表示するため、レイヤーを倍化して倍化した先に割り当てる
|
|
11952
12002
|
const assignLayer = _func => {
|
|
@@ -12030,50 +12080,6 @@ const getArrowSettings = () => {
|
|
|
12030
12080
|
g_workObj.backX = (g_workObj.nonDefaultSc && g_headerObj.playingLayout ? g_headerObj.scAreaWidth : 0);
|
|
12031
12081
|
g_workObj.playingX = g_headerObj.playingX + g_workObj.backX;
|
|
12032
12082
|
|
|
12033
|
-
// Swapping設定に応じたステップゾーンの入れ替え
|
|
12034
|
-
// Mirror+のみ事前にオリジナルの位置を設定済みのためスキップする
|
|
12035
|
-
if (g_workObj.stepX_df.length === 0) {
|
|
12036
|
-
g_workObj.stepX_df = structuredClone(g_workObj.stepX);
|
|
12037
|
-
}
|
|
12038
|
-
if (g_stateObj.swapping.endsWith(`Mirror`)) {
|
|
12039
|
-
|
|
12040
|
-
// Swappingにおけるグループ単位での入れ替えでは、上下でステップゾーンが分かれている場合は分離してシャッフルする
|
|
12041
|
-
let _style = structuredClone(Object.values(g_workObj.shuffleGroupMap));
|
|
12042
|
-
const _styleTrans = _style.flatMap(arr => {
|
|
12043
|
-
const small = arr.filter(n => g_keyObj[`pos${keyCtrlPtn}`][n] < g_keyObj[`div${keyCtrlPtn}`]);
|
|
12044
|
-
const large = arr.filter(n => g_keyObj[`pos${keyCtrlPtn}`][n] >= g_keyObj[`div${keyCtrlPtn}`]);
|
|
12045
|
-
return [
|
|
12046
|
-
...(small.length ? [small] : []),
|
|
12047
|
-
...(large.length ? [large] : [])
|
|
12048
|
-
];
|
|
12049
|
-
});
|
|
12050
|
-
const _styleTransDf = structuredClone(Object.values(_styleTrans));
|
|
12051
|
-
|
|
12052
|
-
if (g_stateObj.swapping === `Mirror`) {
|
|
12053
|
-
_styleTrans.map(_group => _group.reverse());
|
|
12054
|
-
|
|
12055
|
-
} else if (g_stateObj.swapping === `X-Mirror`) {
|
|
12056
|
-
// X-Mirrorの場合、グループの内側だけ入れ替える
|
|
12057
|
-
_styleTrans.forEach((group, i) => {
|
|
12058
|
-
g_settings.swapPattern.forEach(val => {
|
|
12059
|
-
swapGroupNums(_styleTrans, group, i, val);
|
|
12060
|
-
});
|
|
12061
|
-
});
|
|
12062
|
-
}
|
|
12063
|
-
// オリジナルと同一の場合、設定をOFFに戻す
|
|
12064
|
-
if (JSON.stringify(_styleTransDf) === JSON.stringify(_styleTrans)) {
|
|
12065
|
-
g_stateObj.swapping = C_FLG_OFF;
|
|
12066
|
-
g_settings.swappingNum = 0;
|
|
12067
|
-
}
|
|
12068
|
-
|
|
12069
|
-
// 入れ替えた結果に合わせてX座標位置を入れ替える
|
|
12070
|
-
_styleTrans.forEach((_group, _i) => {
|
|
12071
|
-
_group.forEach((_val, _j) => {
|
|
12072
|
-
g_workObj.stepX[_group[_j]] = g_workObj.stepX_df[_styleTransDf[_i][_j]];
|
|
12073
|
-
});
|
|
12074
|
-
});
|
|
12075
|
-
}
|
|
12076
|
-
|
|
12077
12083
|
// FrzReturnの初期化
|
|
12078
12084
|
g_workObj.frzReturnFlg = false;
|
|
12079
12085
|
g_workObj.frzReturnSeq = g_frzReturnSeqFunc.get(g_stateObj.frzReturnType)();
|