Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Apr 22 22:06

    cwtickle on 0410-cr-common

    (compare)

  • Apr 22 22:05

    cwtickle on 0409-cr-local

    (compare)

  • Apr 22 22:05

    cwtickle on 0408-ctrl-c

    (compare)

  • Apr 22 22:05

    cwtickle on 0407-switch-scoredetail

    (compare)

  • Apr 22 14:07

    cwtickle on develop

    Merge pull request #1057 from c… (compare)

  • Apr 22 14:07

    cwtickle on v21.5.0

    (compare)

  • Apr 22 14:07

    cwtickle on master

    [0407/switch-scoredetail:0.1.0]… [0408/ctrl-c:0.1.0] タイトル・結果画面でC… [0409/cr-local:0.1.0] ローカルストレージ… and 13 more (compare)

  • Apr 22 14:07
    cwtickle closed #1057
  • Apr 22 14:06
    cwtickle opened #1057
  • Apr 22 14:02

    cwtickle on develop

    [ver21.5.0] 譜面明細表示の逆回し、右クリックによる… (compare)

  • Apr 22 13:56

    cwtickle on develop

    [0411/switch-right-click:0.1.0]… Merge pull request #1056 from c… (compare)

  • Apr 22 13:56
    cwtickle closed #1056
  • Apr 22 13:55
    codeclimate[bot] commented #1056
  • Apr 22 13:53
    cwtickle labeled #1056
  • Apr 22 13:53
    cwtickle opened #1056
  • Apr 22 13:52

    cwtickle on 0411-switch-right-click

    [0411/switch-right-click:0.1.0]… (compare)

  • Apr 21 23:04
    cwtickle labeled #1055
  • Apr 21 23:04
    cwtickle labeled #1054
  • Apr 21 14:46

    cwtickle on develop

    [0410/cr-common:0.1.0] 共通部分のコード… [0410/cr-common:0.2.0] シャッフル適用部… [0410/cr-common:0.3.0] キー数基礎情報取… and 2 more (compare)

  • Apr 21 14:46
    cwtickle closed #1055
tickle
@cwtickle
@goe0 ありがとうございます。v17.0.1での修正漏れのようです。v17.1.0にて修正しました。
izkdic
@vdos2643_twitter

ver17.5.0, Chromeにて*comma*による文字列置換が上手くいっていないことが分かりました。

http://vorhandensein.sakura.ne.jp/danoni/287_kacho/
本作にて、musicTitleは
|musicTitle=花鳥風雪,月人*comma* 287,http://moonwind.pw/|
となっているのですが、実際に置き換えられたArtist名を見るとダブルクォーテーション(?)になっています。

tickle
@cwtickle

@vdos2643_twitter
ありがとうございます。多分原因はdanoni_constants.jsに記載している↓です。

const g_escapeStr = {
    escape: [[`&`, `&amp;`], [`<`, `&lt;`], [`>`, `&gt;`], [`"`, `&quot;`]],
    escapeTag: [
        [`*amp*`, `&amp;`], [`*pipe*`, `|`], [`*dollar*`, `$`], [`*rsquo*`, `&rsquo;`],
        [`*quot*`, `&quot;`], [`*comma*`, `&quot;`], [`*squo*`, `&#39;`], [`*bkquo*`, `&#96;`],
    ],
    unEscapeTag: [
        [`&amp;`, `&`], [`&rsquo;`, `’`], [`&quot;`, `"`], [`&sbquo;`, `,`],
        [`&lt;`, `<`], [`&gt;`, `>`], [`&#39;`, `'`], [`&#96;`, `\``],
    ],
};

この

 [`*comma*`, `&quot;`]

の部分が誤りで、正しくは

 [`*comma*`, `&comma;`]

だと思います。
次回更新時に直しておきますー

izkdic
@vdos2643_twitter
手元で当該箇所を修正したところ、正しく「,」が出力されました。
ありがとうございましたm(__)m
tickle
@cwtickle
@vdos2643_twitter
すみません、&comma;ではなく&sbquo;でした。
&comma;でも見た目動作するのですが、Twitter投稿時にエスケープが外れなくなります。
izkdic
@vdos2643_twitter
OMG
アーティスト名なら問題ないですが難易度名とかに入っていたらまずいパターンですね……
(手元で修正しました)
izkdic
@vdos2643_twitter
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/eval#Never_use_eval!
eval()について。これの記述によればwindow.Function()で代替+高速化できるようなのですがどうなんでしょう。
tickle
@cwtickle

@vdos2643_twitter
コメントありがとうございます。
window.Function()はback_dataのフレーム数に計算式を入れられるところで使っていますね。

今回の場合、evalを使わない書き方が見つかったので、そちらで対応することになりました。
下記のようなイメージです。

// 関数を配列に入れる
const jdgFuncList = [judgeIi, judgeShakin, judgeMatari, judgeShobon];

// 配列の番号指定で関数を呼び出し
jdgFuncList[2](difFrame);  // judgeMatariが呼ばれる
izkdic
@vdos2643_twitter

現行Draftに入っている「ColorType: Type0」ですが、
defaultColorgrdを反転(on -> off, off -> on)する機能にするというのはどうでしょうか。

確かに濃い矢印がdefaultColorgrdが入ることで見やすくなるのは確かなのですが、
一方で「逆に光って見えづらい」という意見も耳にします。
colorTypeで色を変えればグラデーションはなくなりますが、
その場合色変化も死んでしまうので……。

検討材料にしていただければ幸いです。

izkdic
@vdos2643_twitter
※追記、上記はdefaultColorgrdに対する処理のみを対象としており、制作者側がcolor_dataなどで追加するグラデーションまで消すことは想定していません
tickle
@cwtickle
@vdos2643_twitter ご意見ありがとうございます。defaultColorgrdのみ反転させるのはありだと思うので、そのように対応してみます。
color_dataで制作者が指定したグラデーションはそのままにする想定です。
izkdic
@vdos2643_twitter
ありがとうございます。
これでだいぶ見づらさが解消される……
izkdic
@vdos2643_twitter

お疲れ様です。
不具合報告1点と、要望を2点ほど。不躾ですがよろしくお願いします……

【不具合】キーコンフィグ多重アサイン
キーコンフィグでは同じキーを連続して割り当てることができなくなっていますが、
例えば「F、J、F、J、……」のように別のキーを間に挟むと割り当てることが可能になっています。
悪用することで全てのキーのアサインを同じにすることができてしまいます。
仕様であればスルーしてくださいm(__)m

【要望1】背景・マスクモーションのSVG対応
共通ファイルのうち、いくつかのものはSVG形式になっていますが、
背景・マスクモーション(backtitle_dataなど)ではこのようなベクタ形式の画像を使用することができません。
画像のWidthとHeightを明示的に指定することで拡大・縮小が可能ですが、
ラスタ画像のままだと特に拡大したときに画質が目も当てられないことになってしまいます。
なのでこれらについて、SVGにも対応していただけるととても嬉しいです。

【要望2】ColorTypeのローカル保存
ColorTypeを使うのは主に矢印が見づらい時ですので、
同じ作品に対しては毎回同じようにColorTypeが変更されることになると思います。
なので、作品ごとにColorType設定をローカル保存出来ると毎回変更する手間がなくなり、便利になるかと思いました。
(僕は見づらい時はType0をゴリゴリ使っているので、作品ごとにローカル保存できているとすごくありがたいと思います)

以上です。
ご検討よろしくお願いいたしますm(_ _)m

tickle
@cwtickle

@vdos2643_twitter
ご意見ありがとうございます。

キーコンフィグ多重アサイン自体は仕様です。
連打で同じキーに割り当たってしまうことを防ぐのが元々の目的なので、完全な多重アサイン回避までは考えていません。

SVG対応については画像ファイルと認識させる部分にsvgが含まれていないだけの話なので、対応可能です。
colorTypeの(作品別)ローカル保存についても検討しておきます。

izkdic
@vdos2643_twitter
ありがとうございますm()m これでLiberal Lifeのタイトルを大きくできる
キーコンの多重回避は連打でGrr...になることを回避するためだったんですね\(^o^)/
izkdic
@vdos2643_twitter
Liberal Lifeのタイトルを大きくできました!ありがとうございます!
tickle
@cwtickle
@vdos2643_twitter 確認しました(^o^)
goe
@goe0
makeSpriteData のpathに対するescapeHtmlって外すことはできないでしょうか。
これがなければ背景マスクモーションでhtmlが使用できて非常に便利になるのですが…
tickle
@cwtickle

@goe0
back/maskについてはタグを許容すると良くも悪くも何でもできてしまうのと、テキストエフェクト検討時に支障がありそうだったのでこれまでテキストのみにしていました。

現在はエスケープ文字がある程度整備されて当初と事情も変わってきているので、html許容できるか考えてみます。

tickle
@cwtickle
@goe0 #895 にて実装してみました。
tickle
@cwtickle
そのまま許容することも考えたのですが、後でリスクのあるタグやスクリプトを禁止できるよう、danoni_constants.js側で差し込み処理が行えるようにしました。
goe
@goe0
@cwtickle ありがとうございます、非常に助かります!
意図してscriptタグを使用したい場面もないでしょうし、こちらの実装で問題ないと思いますー
izkdic
@vdos2643_twitter

あれっと思った挙動があったのでご報告というか質問というか。
この作品でリザルト画面まで侵食する形の歌詞表示を行ったのですが、
エディタのフレーム数から計算したフレーム数指定を行うと表示タイミングにズレが発生しました。

具体的には、エディタ上は「いい夢見させて今夜 明日を後悔するほどの」の歌詞画像を表示するべきタイミングは8022フレーム。
endFrameが7920なので、backresult_dataの8022-7920=102フレームで当該画像を表示すればタイミングがぴったりになるかと思いきや、
実際に102フレームに配置するとタイミングが遅れてしまい、吟味の結果10フレーム手前の92フレームに配置したところ(ほぼ)ぴったりとなりました。
環境によって差異があるかもしれません。

リザルト画面の経過フレーム数の扱いってどうなっているのでしょう?

tickle
@cwtickle

@vdos2643_twitter
ここで発生しうるズレは、おそらくメイン画面から結果画面に切り替わった間に掛かった時間だと思います。

実装上、画面の切り替えは非同期処理です。
画面の切り替えは、画面上のオブジェクトを消してから再描画を行います。再描画後の時点をリザルトモーションの0フレームに定義しているので、それまでにかかった分はずれてしまうと思います。
結果画面が表示された後の経過フレーム数は、メイン画面と同じく楽曲に追随するようにしているので、そちらは問題ないはずです。

izkdic
@vdos2643_twitter
@cwtickle ありがとうございます。再描画に要する時間は環境依存だと思うので、厳密な意味での「音楽に合わせた処理」はリザルト画面では不可能、になるのでしょうか?
音楽の再生時間から結果画面のフレーム数を逆算する形で0Fを定義する、というのは難しいですよね。
tickle
@cwtickle
@vdos2643_twitter
現状の仕様では難しいと思います。
メイン画面の背景・マスクオブジェクトを終了後も消去せず、結果画面に引き延ばせばできるのかもしれませんが、画面切り替えの仕組みを変える必要があるのと、下手に変えると既存のリザルトモーションを使った全作品に影響するのが難しいところですね。
tickle
@cwtickle
メイン画面の背景・マスクを結果画面に引き延ばしても、重なり順の問題でマスクが一番上に来ない(結果画面が後に生成されるので上に来てしまう)ので単純に引き延ばす案はダメそうです。
マムルファイターV2
@MFV2__twitter

@cwtickle
お疲れさまです、MFV2です。
//
v18.3.0更新での「背景・マスクモーションで使用可能な画像ファイル拡張子にsvg形式を追加」において、
danoni_main.jsの1970行目付近にあるcheckImage関数の処理が

function checkImage(_str) {
    return (
        g_imgObj.imgExtensions.findIndex(value => _str.toLowerCase().match(new RegExp(String.raw`.${value}$`, 'i'))) !== -1 ? true : false
    );
}

と、findIndexメソッドを使用して「g_imgObj.imgExtensions」配列から拡張子を検索 という処理になっておりますが、
//
danoni_main.jsの2590行目付近にあるheaderConvert関数内の

    // 画像拡張子の設定 (サーバ上のみ)
    if (typeof g_presetOverrideExtension === C_TYP_STRING && !location.href.match(`^file`)) {
        let key;
        for (key in g_imgObj) {
            g_imgObj[key] = `${g_imgObj[key].slice(0, -3)}${g_presetOverrideExtension}`;
        }
    }

こちらの「g_presetOverrideExtension変数を元に画像の拡張子を決定する」処理の部分で、
g_imgObj.imgExtensions配列が破壊されてしまい、g_imgObj.imgExtensions.findIndexでエラーが出る
という現象を確認しております。
( 実際にcheckImage関数内部でg_imgObj.imgExtensionsをconsole.logで読み出すと、
  本来なら[png, gif, bmp, jpg, jpeg, svg]の配列型が読み出される所、
  「png,gif,bmpsvg」の文字列型として読み出されております。)
//
解決策として、

    // 画像拡張子の設定 (サーバ上のみ)
    if (typeof g_presetOverrideExtension === C_TYP_STRING && !location.href.match(`^file`)) {
        let key;
        for (key in g_imgObj) {
            if (! Array.isArray(g_imgObj[key])) {
                g_imgObj[key] = `${g_imgObj[key].slice(0, -3)}${g_presetOverrideExtension}`;
            }
        }
    }

以上のように、拡張子設定の処理部分でisArrayメソッドを使用して
「g_imgObj[key]が配列型変数であれば処理を行わない」という処理を加えることで解決いたしました。
//
画像を使用時限定の挙動かつ、対処も2行追加のみの軽微な変更となるので、
あまり緊急性はない物と考えております。
次回更新時のお手隙の際でもかまいませんので、シレッと対応していただけると助かります/(^o^)\

tickle
@cwtickle

@MFV2__twitter
お疲れさまです。報告ありがとうございます m( )m

そもそもは同一オブジェクトに文字列ではないものを並列したことが問題なので、
独立変数として定義し直す方向で対応します。
g_imgObj.imgExtensions -> g_imgExtensions

izkdic
@vdos2643_twitter

お疲れ様です。
今最新バージョンソースの適用と確認を行っていたのですが、以下の機能が実装されると大変便利だと思ったので提案いたします。

・danoni_setting.jsでHeavyの共通設定ができるようにする
(gaugeHeavyでの調整はできるが全作品に一括適用することができないため)

(本当はtitleanimationでanimation-timing-functionを適用出来るようにする点についても挙げようと思っていたのですが、Gitterを訪れたら既に対応されていて草が生えました)

上記、ご検討いただけますと幸いです。よろしくお願いいたします。

tickle
@cwtickle
@vdos2643_twitter
ありがとうございます。
danoni_setting.jsでHeavyの共通設定を行うには、
特に書いていないのですが下記でできると思います。(Easy, Hardと同じ)
const g_presetGaugeCustom = {
    heavy: {
        Border: x,
        Recovery: 2,
        Damage: 70,
        Init: 25,
    },
}
izkdic
@vdos2643_twitter
あ、その辺は共通仕様なんですね、ありがとうございます
aconite
@aconite_ac_twitter

初めて投稿させていただきます。aconiteです。
この度、「Dancing☆Onigiri (CW Edition)」において想定と異なるであろう挙動を確認しましたので、報告いたします。

・DISPLAY設定において、AppearanceやOpacityにデフォルト("Visible" or "100%")とは異なる設定がローカル保存された状態でも、
< や > ボタンを押すと、あたかも元の設定がデフォルト("Visible" or "100%")だったかのような順番で設定内容が切り替わる。
この現象は、デフォルトとは異なる設定がローカル保存されてから、1回以上作品がリロードされたときに発生します。

具体例を示します。

Appearanceについて
設定"Visible"がローカル保存されていて、>ボタンを押したとき : Visible -> Hidden -> Hidden+ -> Sudden -> Sudden+ -> Hid&Sud+ -> Visible
設定"Hidden+"がローカル保存されていて、>ボタンを押したとき : Hidden+ -> Hidden -> Hidden+ -> Sudden -> Sudden+ -> Hid&Sud+ -> Visible -> Hidden -> Hidden+
設定"Hidden+"がローカル保存されていて、>ボタンを押したときに想定される挙動 : Hidden+
-> Sudden -> Sudden+ -> Hid&Sud+ -> Visible -> Hidden -> Hidden+ *

Opacityについても同様です。

環境
ソースのバージョン : 18.9.2(最新)
ブラウザ : Google Chrome
OS : Windows 10 Home

以上、緊急性の低い不具合ではありますが、ご確認のほどよろしくお願いします。

4 replies
izkdic
@vdos2643_twitter

お疲れ様です。
ちょっとした機能追加要望なのですが、ヘッダ側でタイトル画面の後ろにある矢印の透明度(デフォ0.25)を変更できるようになると大変ありがたいです。
理由としては、画像などでタイトル表示をすると背景の矢印が明るすぎるということが多々発生し(私見)、
その際透明度を変更するためだけにcustomjs側で設定しなければならなくなっているためです。

優先度は低い機能になりますが、ご検討いただけましたら幸いです。m(__)m

tickle
@cwtickle
@vdos2643_twitter
リクエストありがとうございます。PR #942 にて対応しました。
titlearrowgrdについてRGBA対応したので、使い勝手は良くなったと思います。
(無指定の場合はデフォルト25%になっている点はそのまま)
izkdic
@vdos2643_twitter
ありがとうございます! このためだけに作品別jsを用意していることが多かったのでめちゃくちゃありがたいです\(^o^)/
tickle
@cwtickle

今更ではありますが、8keyの仕様がFlashのときと異なっている部分がいくつかあるので、必要な分について見直しを行う予定です。
現在、PR #957 にて割り当て色を変更する案を上げており、これは取り込む方向で考えています。

他の違いについては以下の点がありますが、これを取り込むべきかは需要を見て考えようと思っています。
・Enterおにぎりを左側に持ってくるモード
・Enterおにぎりに対して「Shift」キーを代替キーに割り当て(独自?)

apoi
@kwbredda3_twitter
Enterおにぎりを左側に持ってくるモードはあると遊びの幅が広がるので正式に実装されると嬉しいです。
Enterおにぎりの代替キーについては個人的には関心が薄いです。デフォルトでアサインされていれば使うかもしれないですが、個人的にはなくても構わない程度の認識です。
izkdic
@vdos2643_twitter

・8keyEnterの色がSpaceと異なる
→11keyのフォーマットを流用したためで、特に理由はないようです。11keyでも8番目のレーン(4key側←)はsetColorの4番目が適用されます。

・Enterおにぎりを左に持ってくる仕様、Enterの代替キーにShiftを当てる仕様
→MFV2さんソースに8keyが搭載された時点で存在する仕様のようです。Cah-mさんの実装から変更した云々の記述はないので、オリジナルの時点でこのようになっていたと思われます。

Enterの色を変える点については、色変化データも変わってしまう(22→23)のでそこを考慮する必要があります。
僕自身は8keyをほとんど作っていないのでそのように仕様変更されるならそれでもいいかなー程度の認識ですが、
Flash版からの受け皿という意味では混乱の要因になるので規格は統一した方がいいかもしれません。

izkdic
@vdos2643_twitter
追記。
上のように書きましたが、そもそも割り当て自体は別のキーでも変わっていたりするので、
8keyだけ右側のおにぎりをAAではなく「矢印2」扱いするのは微妙な感があります。
AAはAAとして色を設定できた方が、現在の標準規格としては分かりやすいと思います。
tickle
@cwtickle

@kwbredda3_twitter
ご意見ありがとうございます。
プレイの幅を広げる変更ならあり、という点はそうかもしれないですね。
7keyに対して12keyモードがあったように、8keyについてもEnterおにぎりを左側に持ってきたり12keyモードで遊べるようにするのは前向きに考えてみます。

@vdos2643_twitter
11keyの一部を改造して作ったから、は結果的にそうなのかもしれませんが
8keyが出てから年数が経過しているので、配色慣れしている方が多い場合は考慮が要るかなと思っていました。
ただ11iや11jがAAで区分けできているかというとそうでもないので、正直微妙感はあります。

Enterの代替キーは、CW Editionの場合デフォルトアサインされていないものの、
使える状態にはあるのでこのまま割り当てずに利用者に委ねるのも一手かなと思いました。

tickle
@cwtickle
以上の変更を ver19.4.0 として更新しました。ご意見ありがとうございました m( )m
https://twitter.com/cw_tickle/status/1357915521652432897
tickle
@tickle:matrix.org
[m]
test
izkdic
@vdos2643_twitter
お疲れ様です。
一部の作品をS乱+でプレイするとFC/PF演出が本来より早いタイミングで出てしまう現象を確認しました。
この現象を確認したのは以下の作品です。
魔法使いの女の子(Normal, Magic)
シャイニングスター (Short Ver.)(Normal)
原因がよく分からないのですが、9Aや9Bkeyでフリーズがある作品で発生している可能性があります。
すずめさんのAurora(フリーズなし)では発現しませんでした。
9Bを11にコンバートした「11keyだと思い込んでいる9key」でも発生しました。
要領を得ない報告で大変申し訳ないのですが、思い当たる部分があれば……。
【追記】ただのS乱や、乱+では発生しませんでした
tickle
@cwtickle

@vdos2643_twitter
報告ありがとうございます。
すずめさんが #1044 に上げているので次回以降反映されると思います。
(発生詳細についてはプルリクエストのページに書きました)

この現象は矢印を特定レーンに局所振りしているときに起きやすく、
自サイトのETARNAL STAR:star譜面において
S乱オートで確認するとわかりやすいと思います。
https://cw7.sakura.ne.jp/danoni/2016/0032B_EternalStar.html?scoreId=3

tickle
@cwtickle
上記含めて ver21.4.0 として更新しました。
izkdic
@vdos2643_twitter
ありがとうございます。
S乱で出なかったのはたまたまっぽいですね。。。 9key系ってことにとらわれすぎたかも。
思い込んでる系譜面でS乱+オートしたら曲の中盤で演出出てきて笑いました\(^o^)/
すずめ
@suzme
勘違いだったらすみません。
譜面が更新されたときページを再読み込みしなくても反映される機能があると思いますが、
このときツール難易度は再計算されないので #1045 だとまずい気がします。
tickle
@cwtickle
@suzme
ありがとうございます。
限定的なケースでサーバ上ではあまり発生しないと思いますが、ローカルで頻繁にオート確認するときに気になると思ったので一応 #1050 に上げました。