danoniplus 43.1.1 → 43.2.0
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 +65 -11
- package/package.json +1 -1
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/
|
|
7
|
+
* Revised : 2025/12/28
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 43.
|
|
12
|
-
const g_revisedDate = `2025/
|
|
11
|
+
const g_version = `Ver 43.2.0`;
|
|
12
|
+
const g_revisedDate = `2025/12/28`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -2697,7 +2697,7 @@ const initialControl = async () => {
|
|
|
2697
2697
|
|
|
2698
2698
|
// 未使用のg_keyObjプロパティを削除
|
|
2699
2699
|
const keyProp = g_keyCopyLists.simple.concat(g_keyCopyLists.multiple, `keyCtrl`, `keyName`, `minWidth`, `ptchara`);
|
|
2700
|
-
const delKeyPropList = [`ptchara7`, `
|
|
2700
|
+
const delKeyPropList = [`ptchara7`, `dfPtnNum`, `minKeyCtrlNum`, `minPatterns`];
|
|
2701
2701
|
Object.keys(g_keyObj).forEach(key => {
|
|
2702
2702
|
const type = keyProp.find(prop => key.startsWith(prop)) || ``;
|
|
2703
2703
|
if (type !== ``) {
|
|
@@ -4592,6 +4592,23 @@ const getKeyUnitName = _key => unEscapeHtml(escapeHtml(g_keyObj[`keyName${_key}`
|
|
|
4592
4592
|
const getTransKeyName = (_spaceFlg = false) => hasVal(g_keyObj[`transKey${g_keyObj.currentKey}_${g_keyObj.currentPtn}`])
|
|
4593
4593
|
? (_spaceFlg ? ` ` : ``) + `(${g_keyObj[`transKey${g_keyObj.currentKey}_${g_keyObj.currentPtn}`]})` : ``;
|
|
4594
4594
|
|
|
4595
|
+
/**
|
|
4596
|
+
* ハイスコア定義を行う際のストレージキー名の取得
|
|
4597
|
+
* @param {string} _key
|
|
4598
|
+
* @param {string} _transName
|
|
4599
|
+
* @param {string} _assistFlg
|
|
4600
|
+
* @param {string} _mirrorName
|
|
4601
|
+
* @param {string} _scoreId
|
|
4602
|
+
* @returns {string}
|
|
4603
|
+
*/
|
|
4604
|
+
const getStorageKeyName = (_key, _transName, _assistFlg, _mirrorName, _scoreId) => {
|
|
4605
|
+
let scoreName = `${_key}${_transName}${getStgDetailName('k-')}${g_headerObj.difLabels[_scoreId]}${_assistFlg}${_mirrorName}`;
|
|
4606
|
+
if (g_headerObj.makerView) {
|
|
4607
|
+
scoreName += `-${g_headerObj.creatorNames[_scoreId]}`;
|
|
4608
|
+
}
|
|
4609
|
+
return scoreName;
|
|
4610
|
+
};
|
|
4611
|
+
|
|
4595
4612
|
/**
|
|
4596
4613
|
* KeyBoardEvent.code の値をCW Edition用のキーコードに変換
|
|
4597
4614
|
* 簡略指定ができるように、以下の記述を許容
|
|
@@ -6861,9 +6878,24 @@ const makeHighScore = _scoreId => {
|
|
|
6861
6878
|
const assistFlg = (g_autoPlaysBase.includes(g_stateObj.autoPlay) ? `` : `-${getStgDetailName(g_stateObj.autoPlay)}${getStgDetailName('less')}`);
|
|
6862
6879
|
const mirrorName = (g_stateObj.shuffle === C_FLG_OFF ? `` : `-${g_stateObj.shuffle}`);
|
|
6863
6880
|
const transKeyName = getTransKeyName();
|
|
6864
|
-
let scoreName =
|
|
6865
|
-
|
|
6866
|
-
|
|
6881
|
+
let scoreName = getStorageKeyName(g_headerObj.keyLabels[_scoreId], transKeyName, assistFlg, mirrorName, _scoreId);
|
|
6882
|
+
|
|
6883
|
+
if (!hasVal(g_localStorage.highscores?.[scoreName])) {
|
|
6884
|
+
|
|
6885
|
+
// 古いキー定義の情報を検索
|
|
6886
|
+
const relatedKeys = Object.entries(g_keyObj.keyTransPattern)
|
|
6887
|
+
.filter(([key, value]) => value === g_headerObj.keyLabels[_scoreId])
|
|
6888
|
+
.map(([key]) => key);
|
|
6889
|
+
|
|
6890
|
+
// 古いキー定義のハイスコアがいる場合は、現行キー定義として表示
|
|
6891
|
+
for (const legacyKey of relatedKeys) {
|
|
6892
|
+
let tmpScoreName = getStorageKeyName(legacyKey, transKeyName, assistFlg, mirrorName, _scoreId);
|
|
6893
|
+
const src = g_localStorage.highscores?.[tmpScoreName];
|
|
6894
|
+
if (hasVal(src)) {
|
|
6895
|
+
g_localStorage.highscores[scoreName] = structuredClone(src);
|
|
6896
|
+
break;
|
|
6897
|
+
}
|
|
6898
|
+
}
|
|
6867
6899
|
}
|
|
6868
6900
|
|
|
6869
6901
|
const createScoreLabel = (_id, _text, { xPos = 0, yPos = 0, dx = 0, w = 150, h = 17, colorName = _id, align = C_ALIGN_LEFT, overflow = `visible` } = {}) =>
|
|
@@ -14004,10 +14036,8 @@ const resultInit = () => {
|
|
|
14004
14036
|
// ハイスコア差分計算
|
|
14005
14037
|
const assistFlg = (g_autoPlaysBase.includes(g_stateObj.autoPlay) ? `` : `-${g_stateObj.autoPlay}less`);
|
|
14006
14038
|
const mirrorName = (g_stateObj.shuffle.indexOf(`Mirror`) !== -1 ? `-${g_stateObj.shuffle}` : ``);
|
|
14007
|
-
let scoreName =
|
|
14008
|
-
|
|
14009
|
-
scoreName += `-${g_headerObj.creatorNames[g_stateObj.scoreId]}`;
|
|
14010
|
-
}
|
|
14039
|
+
let scoreName = getStorageKeyName(g_headerObj.keyLabels[g_stateObj.scoreId], transKeyName, assistFlg, mirrorName, g_stateObj.scoreId);
|
|
14040
|
+
|
|
14011
14041
|
const highscoreDfObj = {
|
|
14012
14042
|
ii: 0, shakin: 0, matari: 0, shobon: 0, uwan: 0,
|
|
14013
14043
|
kita: 0, iknai: 0,
|
|
@@ -14038,6 +14068,30 @@ const resultInit = () => {
|
|
|
14038
14068
|
|
|
14039
14069
|
if (highscoreCondition) {
|
|
14040
14070
|
|
|
14071
|
+
// 古いキー定義の情報を検索
|
|
14072
|
+
const relatedKeys = Object.entries(g_keyObj.keyTransPattern)
|
|
14073
|
+
.filter(([key, value]) => value === g_headerObj.keyLabels[g_stateObj.scoreId])
|
|
14074
|
+
.map(([key]) => key);
|
|
14075
|
+
|
|
14076
|
+
// 古いキー定義のスコアデータを現行キー定義に移行
|
|
14077
|
+
for (const legacyKey of relatedKeys) {
|
|
14078
|
+
let tmpScoreName = getStorageKeyName(
|
|
14079
|
+
legacyKey, transKeyName, assistFlg, mirrorName, g_stateObj.scoreId
|
|
14080
|
+
);
|
|
14081
|
+
const src = g_localStorage.highscores?.[tmpScoreName];
|
|
14082
|
+
if (!hasVal(src)) {
|
|
14083
|
+
continue;
|
|
14084
|
+
}
|
|
14085
|
+
|
|
14086
|
+
// 現行キー定義にスコアデータが存在しない場合、移行元のスコアデータをコピー
|
|
14087
|
+
if (!hasVal(g_localStorage.highscores?.[scoreName])) {
|
|
14088
|
+
g_localStorage.highscores[scoreName] = structuredClone(src);
|
|
14089
|
+
}
|
|
14090
|
+
|
|
14091
|
+
// 古いキー定義は見つかった最初の1件のみ移行し、以降は削除
|
|
14092
|
+
delete g_localStorage.highscores[tmpScoreName];
|
|
14093
|
+
}
|
|
14094
|
+
|
|
14041
14095
|
Object.keys(jdgScoreObj).filter(judge => judge !== ``)
|
|
14042
14096
|
.forEach(judge => highscoreDfObj[judge] = g_resultObj[judge] -
|
|
14043
14097
|
(scoreName in g_localStorage.highscores ? g_localStorage.highscores[scoreName][judge] : 0));
|