Skip to content

dsp m0001 initialControl

tickle edited this page Aug 19, 2022 · 28 revisions

← オブジェクトリファレンスに戻る

タイトル前処理

概要

  • 外部jsファイルの読込やローカルストレージの読込、レベル計算用のデータ取得などを行う。
  • 原則、この処理は1度のみ行われる。

処理の流れ

  1. danoni_main.jsが配置されているパスを取得 ( current 関数 )
  2. 下記のファイルを読込 ( loadScript2 関数 )
    • 1.で取得したパスをルートパスとして読み込む。
フォルダ ファイル名 必須 備考
js/lib danoni_localbinary.js (*) ローカル時のみ必須、svgデータ
js/lib danoni_constants.js * 定数管理ファイル
js/lib danoni_legacy_function.js 過去の関数群。必須ではないがカスタムJsで利用している場合は必要
  1. ルートdiv要素(divRoot), 背景の描画(divBack)、Now Loading表示を行う
    ( initialControl 関数 )
  2. 譜面の読込オプションの設定を行う。パラメータの詳細はこちら ( initialControl 関数 )
設定名 必須 備考
enableAmpersandSplit 譜面データ内の主要区切り文字。デフォルトは&|両方を区切り文字として扱う。
enableDecodeURI 譜面データをURIデコードするかどうかを設定します。
  1. 作品別ローカルストレージの読み込みを行う ( loadLocalStorage 関数 )

    • Adjustment, Volume, Appearance, Opacityの設定があれば適用、無ければ初期化を行う。
    • ハイスコア情報があればそのまま、無ければ初期化を行う。
  2. HTML埋め込み、もしくは外部ファイルより譜面データを読み込む ( loadChartFile 関数 )
    読み込んだ譜面データを分解し、&key=valueg_rootObj.key=value;の形式に変換する ( dosConvert 関数 )

  3. 共通設定ファイル (デフォルト:danoni_setting.js) があれば、取り込みする ( initialControl 関数 )

  4. URLのクエリにscoreIdが含まれていれば、譜面番号を取得する ( initialControl 関数 )

  5. CSSファイル読込前に必要な譜面ヘッダーを読み込んだ後、CSSファイル、customJsファイルを読み込む ( preheaderConvert, loadMultipleFiles2 関数 )

  6. 譜面ヘッダー、特殊キー情報の取り込み処理を行う ( headerConvert, keysConvert 関数 )
    このタイミングで g_headerObj 及び g_keyObj が初期化される。

  7. CSSファイル内の背景情報を取得するために再描画を行う ( initialControl 関数 )

  8. スキンCSSファイル、プリロード指定したファイルを読み込む ( initialControl 関数 )

  9. customJsファイル、譜面情報取得のため譜面全データの読込 ( loadChartFile, getScoreDetailData 関数 )
    このタイミングで g_detailObj が初期化される。

以上の処理が完了後、タイトル画面描画を行う ( titleinit 関数 )

フローチャート

flowchart TD
    current-->a1["css/jsファイルの読込<br>importCssFile2<br>loadScript2"]-->initialControl;
    initialControl-->titleInit;

subgraph initialControl
    A([start])-->B["作品別ローカルストレージの読込<br>loadLocalStorage"]-->C["譜面データの読み込み(1ファイル目)<br>loadChartFile"]-->D["共通設定ファイルパスの取得<br>getFilePath"]-->E["共通設定ファイルの読込<br>loadScript2"]-->F["譜面ヘッダーの読込(外部ファイル他)<br>preheaderConvert"]-->G["カスタムjs/cssファイルの読込<br>loadMultipleFiles2"]-->H["譜面ヘッダーの読込<br>headerConvert"]-->I["カスタムキー設定の読込<br>keysConvert"]-->J["可変ウィンドウサイズを更新<br>updateWindowSiz"]-->K["譜面詳細情報取得<br>getScoreDetailData"]
    K.->getScoreDetailData;
    K-->L{他の外部譜面ファイル};
    L-->|なし| M["カスタム関数の実行<br>g_customJs.preTitle"]-->Z([end]);
    L-->|"あり"| N["譜面ファイル読込<br>loadChartFile"]-->O["初期色やゲージ情報を追加取得<br>resetColorAndGauge"]-->P["譜面詳細情報取得<br>getScoreDetailData"];
    P-->K;
    P.->getScoreDetailData;
end

subgraph getScoreDetailData
    storeBaseData-->scoreConvert
end;
Loading

English | Japanese

How To Play
(プレイ方法)

How To Make
(作り方、移行方法)

How To Upgrade? / What's New?
(本体の更新方法、更新情報)

Specification (for creators)
(仕様・製作者向け)

Specification (for developers)
(仕様・開発者向け)

Tips
(用途別対処方法)

Repository Local Rules
(リポジトリルール・管理者向け)

Others
(その他)

Clone this wiki locally