LivesplitのComparisonまとめ

現在のペースが速いのか遅いのかを把握するためには比較する対象が必要です
 Livesplit ではそのような比較対象タイムのことを Comparison と言い、Personal Best や Best Segment などが標準で備わっています

Comparison には大きく2つの種類があります

1つ目はタイムそのものを保存しているタイプで、例えば Personal Best の場合は自己ベストを出した時の Segment Time が保存されていて、その Segment Time そのものが比較対象になります
 Splits Editor で編集できる Comparison もこのタイプで、World Record や自分より早いプレイヤーのタイムをインポートしたり、自分で任意のタイムを入力します
 特に自分でタイムを入力する場合は、Split Time を入力することに注意しましょう

2つ目は履歴データを使って何らかの計算を行いタイムを生成するタイプで、標準で用意されている Comparison では Personal Best と Best Segment 以外は全てこのタイプです
 このタイプは内部的には基本的に Segment Time を使って計算を行い、最終的な計算結果は Split Time になっています


もくじ

チェック付きリストボックスのチェックと、全選択用のチェックボックスのチェックを連動させる

Visual Studio C# コントロール
  1. 個別にチェックできる複数の項目を持つチェック付きリストボックス
  2. a.の全項目のチェック ON / OFF を一括で行うためのチェックボックス
    動作
  1. b にチェックを付けると、a の全てにチェックが付く
  2. b のチェックを外すと、a の全てのチェックが外れる
  3. a の全てのチェックが外れていると、b のチェックも外れる
  4. a の全てにチェックを付けると、b もチェックが付く
  5. a に 1 つ以上かつ全選択未満のチェックが付いていると、b は中間状態になる
  6. b を直接操作しても、b は中間状態にはならない

Livesplit用の自作Autosplitter用スクリプト

私が作った、Livesplit 用の Autosplitter 用スクリプトファイル(.asl ファイル)の一覧です

ご注意
  • 常識の範囲であれば、私の Autosplitter 一覧ページへのリンク、Autosplitter の再配布は制限いたしません

    制作者を騙ったり、私が無料で公開しているものを有料で配布とかしないでね、くらいのかなり緩い制限です

  • Autosplitter を Autosplitter のデータベースに登録する予定はなく、自動アップデートには対応しておらず、Split Editor から利用することもできません

    これは回線上の制約により Git が利用できないためで、引っ越ししない限りは変わらないと思いますのでご了承を

    一部の Autosplitter を git、Github 管理に移行し、Autosplitter のデータベースに登録しました

  • 私は SRC の外にいる人間なので SRC 内でのアクションは致しません

    SRC 内で Autosplitter の情報が共有されることが公平だと思われた場合は、Guides や Resources を編集できる方、あるいは Forum へ投稿できる方が紹介してくださると助かります

一覧

アルバム単位でシャッフル再生したくてPCの音楽プレイヤーを乗り換え

PC で音楽を流す

作業中の BGM として、なんとなく音楽が聴きたくなった、など音楽を流す理由は様々ですが私にとっては PC の用途としてそれなりのウェイトを占めています

自分で選曲するのも面倒な時は自動選曲をよく利用するのですが、曲を流していて、アルバムを通して何度も聴いているような曲の場合は次の曲が頭の中でスタンバイしていることが少なくなく、単純なシャッフル再生や自動選曲によるランダム再生をしていると頭の中で思い描いている曲と実際の次の曲とが違うため、例えば作業中であれば、集中力が途切れてしまうこともあります

そんな訳で、アルバム単位でシャッフル再生する機能があったら嬉しいなとずっと思い続けていました
 アルバム単位でシャッフルというのは「アルバムをランダムで選んで、アルバム内の曲はその通りの順番で再生し、ひとつのアルバムが終わったら次のアルバムをランダムで選んで再生する」というものです

アルバム単位でのシャッフル再生を過去に何度かネットで検索したことがありましたが全くヒットせず、数年してふと思い出した時にまた検索をしてみる、ということを続けていました

日本語入力がONなのに日本語が入力できない

ここ最近になって、日本語入力ができなくなる現象がたびたび発生するようになりました
 半角/全角の切り替えキーを押すと IME のモード表示は「A」と「あ」とで切り替わるのですが、実際に文字を入力してみるとどちらのモードでも半角アルファベットが入力されてしまうのです
 Windows を再起動すると正常に戻るのですが、毎回毎回この現象が発生するたびに再起動するのは面倒なので改めて調べてみました

Windows10 で発生していると言われているこの現象に対しては IME を再起動することで正常に戻すことができました
 再起動の方法は、コマンドプロンプトを使う方法と、タスクマネージャーを使う方法とがあります

実施の際は自己責任にてお願いします

●コマンドプロンプトを使う方法
taskkill /IM "ctfmon.exe" /F
ctfmon.exe

/IM はイメージ名の指定、ここでは "ctfmon.exe"
/F は強制終了

場合によるのか環境によるのかは分かりませんが、1 行目を実行して "ctfmon.exe" を終了したら自動的に "ctfmon.exe" が再起動した場合は 2 行目の実行は不要です

が、起動しなかった場合は 2 行目も実行して "ctfmon.exe" を起動します


●タスクマネージャーを使う方法

プロセス "ctfmon.exe" あるいは "CTFローダー" を終了します
(タブによって表示される名前が違いますが、示すモノは同じです)

"ctfmon.exe" が自動的に再起動した場合はこれで作業は終了です
 起動しなかった場合は「ファイル」→「新しいタスクの実行」→ "ctfmon.exe"


以下、駄文

Signature scanで欲しい値があるメモリアドレスを見つける方法

Signature scan はゲームプログラムの特定のバイナリ値の並びを使ってメモリ検索を行うことで、そのプログラムが書き込んているアドレスを特定する方法です
 Signature は Array of Bite、AOB などと書かれていることもあります
Sig scanの概要

<新版>日本語の作文技術

<新版>日本語の作文技術
朝日文庫

分かりやすい文章を書くための技術を教えてくれる本です

偶然タイムラインに流れてきたのを見て、まさに自分に必要な本だと思ったのですぐに購入して読んでみました

まず、筆者の技術論と思想とを分けて読むのが良いと思います
 レビューなんかにも「内容には同意できるけど、思想には同意できない」といった意見が複数見られ、引用されている例文のチョイスや地の文から発せられる雰囲気でどのような思想なのかは分かるかと思います

肝心な技術論の部分については、全てに完全に同意できるわけではないですが全体的に参考になる部分が多く、技術の指南書として見れば良書だと思います
 ただし、元の本(新版ではない方)が出版されたのが 1982 年であり、当然ながら引用文はそれより前に作られた文章(さらには筆者の思想による例文のチョイスもあったり)なので、古い文体に慣れていないと理解を妨げてしまうような気もしました

レビューでは「わかりにくい」という意見も見られましたが、おそらくは筆者の思想や文体が気になって本題が頭に入りにくくなってしまったのでは? と思います

そんな訳で「技術指南書としては良書だが、技術的な内容とその他の内容を分けて読む必要がある」という、「注意点を伝えたうえでなら良書として人に勧められる本」と言うのが私の正直な感想

以下、個人的に特にタメになったと思う内容について

Livesplit用コンポーネントの作り方

コンポーネント開発に興味を持った方が開発に必要な情報を調べようとした時に少しでも助けになればと思い、私が調べた情報などを紹介するためにこの記事を書きました。

この記事はコンポーネント開発に必要な全ての情報を記載している訳ではありませんが、公式のソースコードを読み解くための参考資料として活用していただけると幸いです。

この記事の中で My~ と書いている部分は開発するコンポーネント名と考えてください。

Unity 製ゲームの場合に使用できる、Autosplitter 用の asl で使用したいメモリアドレスの特定方法

Cheat Engine を使って asl ファイルで利用するための静的アドレスを特定する場合、一つの値に的を絞って値を検索して特定する方法があります
 が、その場合は欲しい値が存在している保証がなく、また、欲しい値の数だけ検索を繰り返す必要があります

Unity 製ゲームの場合は mono の分析機能を利用することで、欲しい値を格納しているフィールドの有無を知ることができ、さらにはクラス単位でフィールドの値を格納している静的アドレスを特定することができます

この記事はメモリアドレスを特定する方法のみの記事です
asl の全体的な説明や基本的な作り方などをまとめた記事もありますので、よろしければこちらもご覧ください

また、構造解析機能を使ってメモリアドレスを調べる部分の実演をした動画を公開しておりますので、よろしければこちらも参考としてご覧ください

Typoman - revisedAny で 36:48 を達成





RTA 配信を一覧表示できるサイトで知らないゲーム画面を見たことがきっかけで出会ったゲームで、普通に面白そうなゲームだと思ったことと steam セール中だったことで即購入
 その時は自分で RTA を走るつもりはなかったのですが、なんとなく SRC で紹介されている短縮技に挑戦してみて、成功条件の検証などをし始めて、そこまでやったならと自分でも走り始めたという経緯があります

Flash ゲーの RTA イベントに出場するために別ゲーの練習をしている間に、このゲームの新技が見つかったりパズルの最適化が進んだりで、実は記録を出したこの時は新しい方法に手をなじませるための練習のつもりのプレイでした
 別ゲーの直後であり、新旧の方法が頭の中で混線していて、ところどころ操作が拙い感じになっていますが、それでも記録は記録

autosplitter 用の asl ファイルで初めて公開できるレベルのものができたゲームでもあります