PathLink: 砂塵の彼方 > 徒然日記 > エディタ関連

エントリー

カテゴリー「エディタ関連」の検索結果は以下のとおりです。

[CardWirth] 称号・ゴシップは何文字まで?

去年、CardWirthEditorやWirthBuilderで、称号や宿ゴシップなどの入力欄に普通まずありえないだろうという長文(全角で1000文字)を入れてみる実験をやりました(→当時の記録はこちら)。
それを、この前の日曜にふと思い出して──

──そう言えば、データの実際の中身を見てなかったなぁ。

去年は、シナリオ編集画面やエンジンのユーティリティモードで何文字まで見えるかを見て、それが入力や保存の上限だと結論していました。シナリオや宿のデータに実際何が書き込まれているかは、見ていなかったのです。
何となく気になってきたので確かめてみると、何と堂々と間違っていたことが判明。。。

 

「1.20エディタ、1.28エディタは、共にクーポン取得(入手)コンテントに全角127文字まで入力可能。」

→これは正しい。

クーポン→半角255文字(全角127.5文字)、ゴシップ&終了印→半角32文字(全角16文字)までで、それ以上は入力できず、より長い文字列をコピーして入力欄に貼り付けても上限を超えた部分は削除される。
上限より長い文字列が書き込まれているシナリオデータを開いた場合は、そのまま保持される。

「WirthBuilderはコンテントに直接入手するのではなくデータウィンドウで管理する形だが、こちらは全角259文字まで入力可能。」

→データウィンドウで管理する機能が追加されているのはその通りだが、入力可能な長さは間違い。

新規追加のときは、文字数の上限不明(半角及び全角で1万文字の入力が可能なことを確認)。
既存の編集では、259文字(全角半角の区別なし)に達しているとそれ以上入力ができない。
また、データウィンドウで既存のクーポンやゴシップを編集可能な状態にし、文字列を全選択してコピーすると、259文字(全角半角の区別なし)を超える部分は自動で切り落とされる。

「全角259文字の称号をPCに付与し、ユーティリティモードで確認したところ、CW1.20~1.30では全角130文字まで、CW1.50では全角259文字全てが保存されていた。」

→最後の「保存されていた」を「確認できた」に変更すれば、だいたい正しい。

CW1.20~1.30では、ユーティリティモードでクーポン・ゴシップの内容をコピーしようとすると、先頭から半角259文字(全角は130文字)分までしかコピーできない。
後に公開されたCW1.50でも、先頭から259文字(全角半角の区別なし)しかコピーできず、長すぎるとエンジンから全てを確認できなくなる。

「エンジン画面上で綺麗に見ることができるのは、CW1.20~1.50の全てで全角21文字まで。キャラクター情報では21文字目は端が切れ、それ以降は見えず。」

→残念、1文字分間違い。(↑の直後に言っていた「きれいに見せるなら全角20文字が限度」の方が正しい。)

PCの経歴欄は、称号の数が増えてくると右側にスクロールバーが出るようになるため、隠れないようにするには、称号は全角20文字以内に収める必要がある。
今はフォントを自由に変更できるエンジンもあるので、その辺も考えて、限界に挑戦するのではなく全角15文字以内程度に収めておくのが無難かもしれない。

「宿帳では全角24文字以上でPC画像とかぶり、全角38文字を超えると見えない部分が出る。」

→こちらも称号の話だが、これは問題なし。

※※※
以上、去年の訂正でした。

このほか、ゴシップをイベントビューから入力しようとすると32文字(全角半角の区別なし)しか入らない、WirthBuilderではキーコードも入力できる文字数がかなり増えているなど、細かい発見もあります。
全てをご覧になる方は、踊る金狼亭「各バージョン変更点まとめ」から、「【CW1.30】での変更点」の「その他」の項をご覧ください。

1万文字の長文を何か所かに入力したお陰で、テスト用シナリオは素材ファイルなしのエリア1つという作りにも拘らず、約300KBの大きさになりました。まさに、塵も積もれば山となるです。

[CardWirth] CardWirthで使える素材まとめ(10/5更新)

公式各バージョン及び私家版で、どのファイル形式が使えるのかまとめです。
あくまで「エンジンで再生可能か」のまとめというところにご注意ください。
付属のエディットツールで扱えないファイル形式を含むことがあるので、ファイル選択リストに出て来なければCW1.50付属のWirthBuilderを使ってみてください。

(※サイトの方に表形式でまとめたものもあります。今後変化があった時は、そちらの方を更新します。)

【BGM】
MIDI:1.20以降(全バージョン?)
MP3:1.28以降(1.28はループなし、1.29からループ再生可。CW1.20もMP3対応版なら……)
WAV:1.28以降
OGG:1.30以降(1.30はBASS再生時のみ、1.50は完全対応)
(※Next、PyはCW1.50と同じ。)

  • NextとPyは、RPGツクール仕様のMIDIループ(CC111)に対応している。
    CW1.50は非対応のため、MIDIは常に曲全体がループされる。


【効果音】
WAV:1.20以降(全バージョン?)
MP3/OGG/MIDI:1.30以降(1.30はBASS再生時のみ、1.50は完全対応)
(※Next、PyはCW1.50と同じ。)

【セル画像】
BMP:1.20以降(全バージョン?)
JPEG:1.20以降
PNG:1.50以降
(※NextはCW1.50と同じ。PyはCW1.50と同じ+アニメなしGIFも使える。)

  • CW1.29~1.30で透過BMPをセルに設定する場合、マスクをOFFにしないと表示がおかしくなる。
  • CW1.50やNextでアルファチャンネルなしのPNGをセルに指定した場合、マスクのON・OFF状態の影響を受けない。必ず見たままの表示になる。


カード参照】
BMP:1.20以降
PNG/GIF(アニメなし):1.50以降
(※Next、PyはCW1.50と同じ。)

【カード格納】
BMP:1.20以降
(※NextはCW1.50と同じ。PyはPNGやGIFも格納で表示できる。)

  • BMP以外では、WirthBuilderでPNG、CWXEditorではPNGとGIFを格納する画像として選択できる。しかし、シナリオ内に取り込まれる際の画像の扱いが異なるので注意が必要。
  • WirthBuilderでは、PNG画像は格納する際にビットマップ変換される。
    WirthBuilderが同梱されているCW1.30/1.50及びNextでPNGの格納が可能だが、実はエンジンは格納されたPNG画像の表示に対応していない。格納時にビットマップとして取り込まれるため表示できているだけ(重要)。
    • 格納時のBMP変換のため、CW1.30や1.50に付属のWirthBuilderでPNGを格納したシナリオは、結果的にCW1.20~1.50でも画像の表示が可能。
    • 透過PNGを格納した場合は透過BMPに変換され、エンジンの透過BMP対応状況の影響を受ける。
  • CWXEditorの「クラシックシナリオ」では、PNGやGIFはそのままPNG・GIFとして格納される。
    このためBMP以外の格納表示に対応していないCW1.20~1.50及びNextでは「ビットマップイメージが不正」や「ビットマップ画像が無効」のエラーが出る。

 

透過BMP

透過BMPの表示に対応したのは、CW1.29の時です。
それ以前のバージョンでも表示は可能ですが、アルファチャンネルの情報が適用されないため見た目がおかしくなります。
注意すべきは透過BMPをセルに使う時で、CW1.50では設定によらず透過情報付きの見たまま表示ですが、CW1.29~1.30ではマスクをONにしていると透明度≠0部分の背景が白く表示されます。マスクOFFにしておけば、透過BMP対応バージョンならどれでも正常に表示できます。

規格外を許容

WirthBuilder(CW1.30から同梱)では、カード画像の格納に「規格外を許容」オプションがあります。
74×94サイズ以外の画像も選べるようにするものですが、これを使った時のエンジン上での見た目はCW1.20~1.29でもCW1.30やCW1.50と同じです。

私家版では……

Nextで使える素材は、画像・BGM・効果音ともCW1.50とほぼ同じです。
異なるのは、恐らくNextがRPGツクール仕様のMIDIループ(CC#111)に対応していることのみです。

PyではNextと同じ素材が使えるほか、セルの画像にアニメなしGIFが使えたり、PNGをそのまま格納できたりします。「使える素材」ではないですが、セル画像にアルファチャンネルなしのPNGを指定した際、CW1.50やNextとは異なりマスクが正常に働くという違いもあります。

Nextで作成したシナリオはNext専用になるため他のエンジンを考えなくても大丈夫ですが、Py(CWXEditor)のクラシック形式で作成したシナリオはCW1.20~1.50やNextのユーザーがプレイする可能性があるため、他エンジンと異なる部分が入る時は付属テキストに書くなどしておいた方が親切かも。


※※※
昨日TwitterでNextとPyはOGGに対応しているというツイートを見かけて、反射的にCW1.30と1.50も対応していると呟いたのが、この記事の始まりでした。
CardWirthは新しくなるにつれて使える素材形式が増えてきましたが、何がいつ使えるようになったのかはあまり知られていないのではないかと思います。また、付属のエディットツールで扱えるファイル形式とエンジンで再生可能なファイル形式が異なっていることもあり、それも話をややこしくしています。

なお、私家版については、記事最終更新時点の最新版の情報です。
(Next1.60&WirthBuilder1.2.27 / Py1.1&CWXEditor4)

※素材以外の仕様変更も含めた各バージョン変更点まとめはこちら


【情報提供】
CWXEditorの格納の仕様については、@ankkkcwさんに情報を頂きました。ありがとうございますm(_ _)m

[CardWirth] バックパックを使ってみた・2@CWNext(Build 131031)

CWNextの、CW1.60として公開予定で開発されていた版について書いたものです。
その後、公式ファンサイトでの正式配布は行われない事になりました。
投稿当時の「CW新機能」タグが残っていますが、予定段階の話としてお読み頂ければと思います。

WirthBuilderで効果系カードに「バックパック対応」という項目が増えているのに今更気付きました。WirthBuilder v.1.2.2で追加された項目です。

WirthBuilderの取扱説明書によれば

> バックパック対応カードはシナリオ開始時に使用回数がゼロになりません。

との事で、条件付きではありますがペナルティなしの所持技能枠増加が解禁された形です。

CardWirthNextの取扱説明書には細かい事が書かれていませんが、Build 131026の所にバックパック対応について述べた項目があり、この辺から対応・非対応で処理が分かれているものと思われます。

※※※
CardWirthNext(Build 131031)におけるバックパックの機能は、以下のようなものです。

  • 種類別に分かれていない。技能・アイテム・付帯能力合わせて何枚まで、の扱い。
    • 入る枚数は初期値3枚で、レベル上昇と共に最大10枚まで増える。(←NEW)
  • バックパックは、基本的に荷物袋と同じ扱い
    • バックパック内のカードは、戦闘中には使用できない。
    • バックパック内の技能の残回数は、効果系カードや効果コンテントで回復できない。(魔法薬などはバックパックの中身には効果なし。バックパック対応技能も回復できない。)
    • バックパック内のアイテムの所有時能力値修正は、所持者に効果を及ぼさない。
  • バックパック内の技能は、シナリオ開始時に残回数がゼロになる。
    • ただし「バックパック対応」の技能は残回数がゼロにならず、所持欄にあるものと同じくそのまま使える。(←NEW)
  • 技能を本人と本人のバックパック間で移動させた場合、残回数は保持される。


この仕様変更への反応は、その人が戦闘中に使っても意味が無いキーコード発火専用技能をどう思っているかで結構分かれそうです。

バックパック内をバックパック対応技能で埋めれば持てる技能の数が従来の約2倍になり、それに伴うペナルティもありません。戦闘で使えない技能をあらかじめ分けておく、交換用ストック技能を持つといった使い方が簡単にできるため、便利になって喜ぶ人がいる一方で、便利になり過ぎてつまらないと見る向きもあるでしょう。
特に所持品が充実し、技能を使える回数も増えてくる中盤以降、バックパックとバックパック対応技能を使うか使わないかで差が開きます。

キーコード発火用の技能については、正直邪魔だが対応箇所で使えないのも嫌で仕方なく持つ人と、好んでまたは割り切って持つ人に分かれると思います。
この仕様のままCW1.60が出れば、前者はバックパックを対応技能で使い倒し、後者のうち好きでやっている人はバックパック封印か少なくとも技能は入れないなど、使い方が極端に分かれていくかもしれません。

[関連記事]
#CW新機能バックパックについて を起点に色々(10/13追記あり)
バックパックを使ってみた@CWNext(Build 131020)
バックパックの影響を考える
CardWirthNext次バージョン個人配布移行の事
Re: CW1.60(予定)関連で頂いたコメント
冒険は冒険の前から始まっているという話


オマケ。
この記事を書くにあたり、この辺で呟いていた事をちょっとだけ数えてみました。
技能1枚だけを持ち、その他のカードを全く持たない時、それを手元に引いてくる確率は、だいたい残り使用回数にパーセントつけた程度という結果になりました。あくまでだいたいです。

駆け出し冒険者が盗賊の眼だけ持っているぐらいなら偶に出現(実際数えた値では16~20回に1回とか)で済みますが、成長して使える回数が増えるにつれ、ちょこちょこ見る(同、10~11回に1回)に変わっていきます。
場合によっては1割程度も出現する死にスキルの代わりに攻撃や防御などのアクションカードを引けると考えると、影響がないものとして無視するにはやや大きいように思いますが、その辺は人によるでしょうか。

なお、実際数えたのは前述のパターンだけです。
アイテムでランダム配布枠が潰れていればその分死にスキルが手元に来る確率は減るでしょうし、所持技能の構成や使用回数残りによっても違ってくるはずです。


(11/6追記)
上記オマケは実際数えた結果だけに間違ってはいませんが、試した回数が少ないためかなり大雑把です。
次のバックパックの影響を考えるで計算で同じ事をしています。できればそちらも併せてご覧下さい。

[CardWirth] WirthBuilder 1.1.34&1.1.35 ツリー分岐構造の見方

WirthBuilderは、バージョン1.1.31でツリー表示が従来の右下方向に伸びていく形式から縦に展開する形へと表示が変わりました。それに加えて、バージョン1.1.34で分岐の折りたたみ機能が追加され、それに伴ってさらにツリーの表示形態が変更されました。

コールやリンクをあまり使いたくない自分は分岐が折り重なって肥大する傾向にあるため、折りたたみ機能はありがたかったのですが……

なんと致命的な所でつまづきました。
表示が新しくなった事で、分岐の構造が読めなくなってしまったのです。

※※※
その後、2日間ぐらいかかってやっと分かりかけてきました。
分岐の分かれ具合を、分岐点後方の表示ではなく、分岐の左隣のラインで見れば良い事に気付くまでが長かったです。
結構迷ったので、自分メモ兼ねて図で残します。

[PNG-13KB]

敗因は、以下2つ?

  • 最初に、▼+下側の線は単純に折りたたみ範囲を示していると思ってしまった事(一応間違ってはいない)
  • 旧表示の見方が頭から離れず、分岐状態を見るのに分岐の下方に伸びる線に目が行ってしまう事。


理屈は理解したものの、やっぱり分岐に差し掛かると視線が下方向に動いてしまい、今のところ1つずつコンテント前後のつながりを確認しつつ視線が泳ぐ状態。すらすら読めるようになるには、もうしばらくかかりそうです。
思考が固くなると駄目ですねー。がくり。

※※※
開発者様のTwitter上のご発言で、次バージョンについて旧表示との切り替え実装を示唆すると思われる箇所がありました。今後、表示の切り替え機能が追加されるのかもしれません。
もし選べるようになるなら、どうしても慣れない場合は旧表示で使う手もあり、ですかね。



(14:00 追記)
図がもう少し見易くならないかなーとぼんやり眺める中、3つ目の敗因が浮かんできました。
「線=コンテントのつながり」の思い込みです。

この思い込みのために、つながりとは無関係の所に表示される線に惑わされるらしく。
上の説明図で言うと、折りたたみ線(青▼から出る水色の線)のうち、流れ説明用の橙の線がかぶっておらず、かつ分岐が無い縦展開範囲を示していない部分ですね。

分岐点から下方向を見てしまう思い込みと共に意外に強固らしく、解消は面倒そうです。
ぼちぼち頑張りますか。


(※見方まとめはここまで。以下は完全に個人用メモです。)
────────
蛇足:どんな形が見易い?を妄想してみた記録。
[PNG-10KB]

旧Windows的表示。
スタートコンテントは、それ自体をダブルクリックして折りたためるのを大部分の方がご存知だと思う。故に左端を詰める形。

[CardWirth] 思い込みは怖い。

1.28エディタのヘルプに「エディターの変更点」というカテゴリがあり、その中の「特殊なキーコード」の項目に次のように書いてあります。

>カードをエネミーに命中させて、効果が発動した時にキーコード名+○、抵抗や回避された時はキーコード名+×のイベントが自動的に発火します。

私はこれを読んで、長い間ずっと、「キーコード名+○」や「キーコード名+×」によるイベント発火は1.28エンジン以降だけだと勘違いしていました。
先月、「カード使用時の諸々処理順」を書く際の調査でキーコードを使った発動検出が1.20エンジンでも同様に作動する事を確認しましたが、長年の思い込みは解けていなかったようです。先週日曜日にメモ箱の戦闘イベント関連を更新した際、1.20エンジンでは「キーコード+○」発火は起こらないという趣旨の事を書き、1週間も経過した今日になって気付きました。

慌てて修正しましたが……

10日前の調査を忘れて違った事を書くとは情けないと言うべきか。
それより、長い間に形成された思い込みの強固さを嘆くべきか。
思い込みは、怖いものですね。

[CardWirth] メモ:カード使用時の諸々処理順

メモ箱に内容をコピー済み】
日記記事は書かれた日付時点のもので、内容が古いことがあります。上のリンク先で最新の情報をご確認下さい。

※※※
カードを使用した際に起きる事の順番。

(1)初期効果音再生

(2)発動判定

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
不発の場合:
→「効果(混乱).wav」を再生して中断

発動した場合:
→(3)へ進む

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(3)カードの使用時イベント発生

(4)エリア・バトル全体のキーコード発火イベント発生

(5)使用対象に設定されたキーコード発火イベント発生

(6)カード本体の効果判定

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
回避や抵抗で無効化されなかった場合:
└抵抗で効果を軽減した場合含む
(7a-1)カード本体の効果が発動+二次効果音再生
(7a-2)バトル中なら「キーコード名○」イベント発生

回避や抵抗で無効化された場合:
(7b-1)回避なら「システム・回避.wav」再生、抵抗なら「システム・無効.wav」再生
(7b-2)バトル中なら「キーコード名×」イベント発生

※※※
以上、技能・アイテム共通です。
召喚獣も基本は同じですが、不発時に再生される効果音が「効果(混乱).wav」ではなく「システム・エラー.wav」になります。

※※※
不発になる場合
・冒険者レベル<<技能レベルの時(技能のみ、レベル差4から確認)
・「沈黙時に使用不可」のカードを沈黙した状態で使った時
・ 1.20エンジンで、「沈黙時に使用不可」のカードを魔法無効化状態で使った時
・ 1.28/1.29エンジンで、効果属性が「魔法」または「物理魔法」の技能・アイテムを魔法無効化状態で使った時

※1.20/1.28エンジン双方


脱線しまくり。
(6/18午後、微修正)

[CardWirth] メモ:バトル内のイベント関連

メモ箱に内容をコピー済み】
日記記事は書かれた日付時点のもので、内容が古いことがあります。上のリンク先で最新の情報をご確認下さい。

※※※
【イベント発生の場所】
バトル内で発生
・キーコード発火イベント
・ラウンドイベント
・敵死亡イベント
・逃走イベント

エリアに戻った後発生
・勝利イベント
・敗北イベント

これはだいたいヘルプにも書いてあります。
逃走と勝利・敗北の扱いの差に気をつけておかないと、共用フラグでカード表示を管理している場合などに見えているカードが変な事になる恐れがあるかも。


【死亡イベント】
敵死亡イベントが発生するのは、PCまたはパーティーに同行中のNPCの攻撃で死亡した場合のみ。
キーコード発火イベントやラウンドイベント内でダメージを与えて死亡した場合、死亡イベントは発生しない。

※※※
特定のキーコードが当たった時だけ、

(1)その敵の所持召喚獣を対象にフィールド全体で召喚獣存在分岐
 →攻撃対象を選択状態に

(2)選択中メンバに効果コンテントでダメージ付与
 →追加ダメージを与える

というイベントを組んでみたら、追加ダメージで敵が死亡した時は死亡イベントが発生せず、それで気付きました。
うーん、盲点。たぶん、良くシナリオを作っている人には常識なんだろうなとは思いますが。

※いずれも1.20/1.28エンジン双方

[CardWirth] cwChkCards 1.24β

いまだに旧エディタ中心でやっているので完全に失念していましたが、新エディタではカード設定にいくつか追加があったのでした。効果系カードの「無属性」や「必中属性」、キャストの性別「謎」、年代「不明」、素質の「英雄型」がそれです。

キャストカードの追加分はクーポンで管理する部分なので今までのcwChkCardsでも特に問題ありませんが、無属性や必中属性のカードは属性不明の表示になってしまいます。今回の更新は、その手当てです。

cwChkCards→1.24β
・1.28エディタの新要素、「無属性」「必中属性」に対応。
・フォルダ右クリック→情報更新メニューで、内部のフォルダ構造の変化の他にカードの追加・削除・変名も検出するようにした。

※※※
ついでに、新要素が旧エンジンや旧エディタでどのように扱われるかを調べてみました。
今も本家版(Ver.1.28より古い版)を使っている方は、いるとしてもかなり少数派だと思いますが、少なくとも自分はまだ使っているし、ASK公式サイトでの配布も継続されています。自分がシナリオを作る時は可能な限り両対応にしたいなぁ、という訳で以下確認結果です。まとめはこちら

1.28エディタで新要素入りのカードを作って、1.20エンジンや1.25エディタで開いてみました。

【無属性】
◎戦闘で使用した際の挙動
武器無効、魔法無効、武器+魔法無効のいずれの敵にも無効化されず、所定の効果を発揮しました。
どの属性にも該当しない扱いのようです。
結果的に、新エンジンと同じ効果になっています。

◎エディタで開いた時
「物理的魔法属性」が自動選択されます。

【必中属性】
◎戦闘で使用した際の挙動
ダメージ最大値処理を設定した必中属性のカードを敵に使用した結果は、無ダメージ、HP半減、戦闘不能の3パターンに分かれました。
少なくとも必中ではなくなっています。
回避属性なら避けて無ダメージか当たって戦闘不能の2パターンしか無いはずで、抵抗属性として扱われているものと思われます。

◎エディタで開いた時
「抵抗属性」が自動選択されます。

【性別=謎】 
◎シナリオ内での挙動
「_♀」→「_♂」→無印の優先順で3パターンの台詞を入れた台詞コンテントで喋らせてみると、無印の台詞が出ます。
1.28エンジンと同じ挙動です。

◎エディタで開いた時
「男」が自動選択されます。

【年代=不明】 
◎シナリオ内での挙動
「_老人」→「_大人」→「_若者」→「_子供」→無印の優先順で5パターンの台詞を入れた台詞コンテントで喋らせてみると、無印の台詞が出ます。
1.28エンジンと同じ挙動です。

◎エディタで開いた時
「子供」が自動選択されます。

【素質=英雄型】 
◎シナリオ内での挙動
「_英雄型」→「_策士型」→「_知将型」→「_豪傑型」→「_勇将型」→「_万能型」→「_標準型」→無印の優先順で8パターンの台詞を入れた台詞コンテントで喋らせてみると、無印の台詞が出ます。
1.28エンジンと同じ挙動です。

◎エディタで開いた時
「標準型」が自動選択されます。

クーポンで管理される部分について元データが書き換わらない限り該当なしとして扱われるのは予想通りですが、無属性が新旧エンジンで同じ効果なのは少し驚きでした。そういう場合分けなんですね。

ページ移動

  • 前のページ
  • 次のページ
  • ページ
  • 1

ユーティリティ

2018年12月

- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

エントリー検索

エントリー検索フォーム
キーワード


翳の回廊(絵置き場)の一部を
TINAMIのスペースに置かせて頂いています。

pixivでも何かやっている……かも。

新着コメント

Re:Re: CWBBS[26]-14
2015/06/23 from simoom
Re:Re: CWBBS[26]-14
2015/06/22 from ああ
Re:Re: CWBBS[26]-14
2015/06/22 from simoom
Re:Re: CWBBS[26]-14
2015/06/21 from 権限がありません
Re:Re: CWBBS[26]-14
2015/06/21 from あ

過去ログ

Feed