数日前にFROM先生が自作DTXをいくつか公開されていて、それの鑑賞をしようと昨日久しぶりにプレイ用環境で起動したところ、XG表示モードで盛大にバグが発動していることが判明しました。
> バグ1. XGスキンを使用している場合にタイトル画面でフリーズする不具合を修正。
一番大きいのがこれ。そもそも起動できません。は?
これは曲検索完了時に選曲画面のパネル生成処理を実行していて(なぜかは忘れた)、そのタイミングで曲名文字テクスチャを生成しようとした結果、曲名文字作るのに必要なリソースが生成されてないことでエラー落ちしていたわけです。
> バグ2. CONFIG画面でスキンをmatixx風からXG風に変えてタイトル画面に戻ると操作不能になる不具合を修正。
これは開発環境でバグ1の原因調査のために、スキンをmatixx風からXG風に切り替えた時に判明。
バグ1とは違って「操作不能になった後にDTXManiaを閉じてスキンが切り替わった状態で起動する」といった方法で回避はできる状態でしたが、調べたところあっさりと修正できるバグだったので今回のリリースで修正を行いました。
以下twitterのハイライト、実装&変更点についてざっくり説明。「続きを読む」からどうぞ。
フェーズバーのカーソル画像
フェーズバー(伝われ)のカーソルテクスチャを作り直しました。あと矢印部分のアニメーションを搭載しました。こいつはおそらく本家と同じ仕様です。
フェーズバーのカーソルのアニメーションはBPMに依存してるんかぁーーーーー。面倒すぎない?
— kairera0467 (@kairera0467) September 23, 2023
BPM100,150,200,400のサンプルを取らないといけないらしい(やってられん)
— kairera0467 (@kairera0467) September 23, 2023
この時までは「切りの良いBPMの楽曲でコマ数を計測しないとダメかなー」と思い込んでいました。
BPM400のサンプルにちょうどいいFunky Sonic Worldって曲がありまして
— kairera0467 (@kairera0467) September 23, 2023
適当なBPM低いのと高いのでコマ数計測した。両方とも左右の矢印が開き切るまでのコマ数は27コマ目。ということは開き速度は一定で、あとは1拍したタイミングで強制的に1コマ目に戻すだけか。
— kairera0467 (@kairera0467) September 23, 2023
ここでカーソルの動く速度自体は一定で、強制的に1コマ目に戻すところだけがBPM依存であることが判明。
バー自体のアニメーションとは別で拍動のカウンターを作っておいて、1周したらバー側のアニメーションをリセットするような作りが一番現実的かもしれない
— kairera0467 (@kairera0467) September 23, 2023
この処理の実装が一番時間がかかる(定期)
twitterハイライト
だいぶ久しぶりにいじった。クリアマークが最高クリア難易度基準で表示されるよう変更。 pic.twitter.com/GGUxktNElm
— kairera0467 (@kairera0467) September 21, 2023
アホみたいなことやってたので数年越しに修正です。
しばらくはこういった過去の過ちをどうにかしていきます pic.twitter.com/GQBHlDPvOB
— kairera0467 (@kairera0467) September 23, 2023
分割数30と勘違いしてるの本当に頭悪い。ゲージ全体の縦ピクセルが512だと気づいていたらすぐに間違いだと気づいてたはず。(512はキリがいい数字なので30というキリの悪い数字で分割するよう設計していないと推測できるため)
— kairera0467 (@kairera0467) September 23, 2023
こいつも修正。Ver.K公式アカウントでのツイート曰く2019年9月には気づいていたそうです。
少しずつテクスチャが増えていく pic.twitter.com/XFpb4Y0LeB
— kairera0467 (@kairera0467) September 26, 2023
今回追加したのはNEW RECORDと判定項目のテクスチャです。
NEW RECORDのテクスチャは2コマのアニメーションをするようになっていますが、本家を見たら画像4枚あるような気がしてきた…でもこれは別に実装したくないので見なかったことにします。
あとは数字テクスチャの追加ですかね…やりたくねぇーーーーーー!!!1ポチだけで生成してくれるようにしたい!!!!