Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0067-multiple-files] 譜面ファイル分割に対応 #447

Merged
merged 1 commit into from
Sep 27, 2019

Conversation

cwtickle
Copy link
Owner

@cwtickle cwtickle commented Sep 27, 2019

変更内容

  • 譜面ファイル分割 ( Issue [要望] 譜面ごとに外部ファイル分割 #446 ) に対応しました。
  • html側で以下のhidden要素externalDosDivideを定義することで分割可能です。
    分割した場合、下記の例であれば1譜面目は「musicscore.txt」、2譜面目は「musicscore2.txt」、3譜面目は「musicscore3.txt」、・・・となります。
<!--// 外部dos定義 //-->
<input type="hidden" name="externalDos" id="externalDos" value="musicscore.txt">

<!--// 譜面分割フラグ(valueを"true"にすると譜面毎にファイル分割) //-->
<input type="hidden" name="externalDosDivide" id="externalDosDivide" value="true">
  • また通常の場合、譜面番号は2譜面目なら「2」、3譜面目なら「3」となりますが、
    ファイル分割しても譜面番号を変えたくないケースもあると思います。
    その場合は下記の設定を追加すれば可能です。
    (常にleft_data, down_dataのように数字無しの譜面データが読み込まれる)
<!--// 譜面番号固定フラグ(valueを"true"にすると譜面番号が変わっても譜面番号は1譜面目と同じ) //-->
<input type="hidden" name="externalDosLock" id="externalDosLock" value="true">
  • また上記変更により譜面データの混線が考えられるため、
    読込毎にすでに読込済みの譜面(_data, _changeがついているもので、g_rootObjに入る分)をクリアするように変更しました。
    なお、いわゆる譜面ヘッダーはクリアしません。

変更理由

  • エディターの仕様上、譜面毎にファイルを分割した方法の方がやりやすいことがあるため。

その他コメント

  • 埋め込みdosを定義していて、外部dosのg_externalDosを空にしていると譜面が消えますので、
    使用しない場合はhtml側の以下をコメントアウトするか、g_externalDosを定義しないようにしてください。
<input type="hidden" name="externalDos" id="externalDos" value="(ファイル名)">
  • externalDosLockexternalDosDivideとセットで使われる想定です。
    externalDosLockのみ定義すると、複数譜面が定義できなくなりますので、ご注意ください。

@cwtickle
Copy link
Owner Author

その他の変化点として、画像ファイルのpreloadを初回のみにしました。
リロードするたびに同じ画像をpreloadすることになり、特に意味がないためです。
ローカルであれば、画像表示のラグは発生しにくいと思われるため、影響は少ないと思います。

@cwtickle
Copy link
Owner Author

画像ファイルのpreloadを初回のみにしているので、
preloadImagesの定義は埋め込みdosもしくは1譜面目用の外部ファイルに指定してください。
それ以外の場合、これまで通り画像の遅延が発生します。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant