zachtronics, being the nerdsniping master he is, wrote a "reverse engineering walkthrough" because he hates that i have free time sometimes
elisp code
oh, i did write a thing to make hexl measure ranges, in case anyone besides me ever needs to do that:
(defun hexl-measure-region ()
"Measure how large the active region is."
(interactive)
(when (region-active-p)
(save-excursion
(let ((point (hexl-current-address)))
(exchange-point-and-mark)
(let ((diff (abs (- point (hexl-current-address)))))
(exchange-point-and-mark)
(message "Range is %d bytes (0x%08x)" diff diff))))))
success!
though admittedly the palette wasn't in the data file, so i couldn't follow along the extraction of it--it's just a big vector without reason
the way i wanted to *try* and find the palette and extract it turned out to be correct though! it just wasn't anywhere i could possibly do that
i also wrote the flags for each tile into their filenames, since there's no other way to express them meaningfully right now
to make things niftier, i've been following along in a language i'm bad at