用 Odin 解码 REXPaint 的 .xp 文件
Decoding REXPaint Files in Odin

作为一名游戏开发者,我在制作 Fimbul 时选用了 Kyzrati 开发的 REXPaint 来设计 ASCII 艺术。为了在游戏引擎中加载这些资源,我决定深入剖析其 .xp 文件格式。这篇文章将带你用 Odin 语言一步步解码这些文件:从识别 gzip 压缩头开始,到解析小端序的整数结构,再到处理列优先排列的图层数据。我会分享如何构建一个健壮的解析器,包括如何优雅地处理截断文件等错误情况。如果你从未接触过二进制文件格式,这是一个绝佳的入门案例。
我们永远不会信任文件中的任何数字,除非先将其与我们实际拥有的数据进行核对。