[GameDev]セーブデータ画像の生成 その2

画像にデータを埋め込もう作戦。
当初はExifの中に入れようかと思ったけど予定変更。

データのうめこみ


PNG画像には、独自の情報を詰め込める領域があるようで、ココにセーブデータを仕込むことにする。

いきなりバイナリエディタでごにょごにょ。選択部分が画像本体の開始部分。
ココの直前にデータを埋め込む。
PNGファイルの先頭から検索していって、最初のIDATチャンクの位置を取得。
チャンクタイプ(名前:itAD)、セーブデータの長さと本体、チェックサムを付加して、
IDAT以前のデータ、作ったプライベートチャンク、IDAT以降のデータを合体して出力する。

ということで埋め込み完了。ざっくりしすぎる説明である。

うめこんだデータの抽出

埋め込みの逆。
PNGファイルからitADチャンクを先頭から検索。長さを取得して、データ部分から本体を抽出する。

この中身を復号化すると、生のセーブデータが。


ということで今日はおしまい。
次はロード画面とのやりとり部分か。