They're not standard bitmaps. Stop trying to tweak them into being parseable, because it won't work. I've figured most of it out.
// all multi-byte types, unless stated otherwise, are little-endian.
struct lr1_bmp {
byte bit_depth; // the bit-depth of the [paletted] image. 0x04, 0x08, or 0x98
// where bit_depth is 0x98, IDK what the format is.
byte palette_length; // length of the palette -1. i.e. For a palette with 37 entries, this would be 36.
u16 width; // Width of the