REXPaintの.xpファイルをOdinで解読する
Decoding REXPaint Files in Odin

REXPaintはKyzrati氏が開発したASCIIアートツールで、ゲームFimbulのUIやレベル設計に使われている。.xpファイルはgzip圧縮されたバイナリ形式で、解凍するとバージョン、レイヤー数、各レイヤーの幅と高さ、そして10バイトのセルが並ぶ。Odin言語で小さなリーダー構造体を用意し、エンディアン変換やエラー処理を丁寧に組みながら、破損ファイルにも耐えるパーサを段階的に組み上げていく。
ファイルから読み取った数値は、実際に手元にあるデータと照合して確認するまで決して信用しない。