The first one allows initializing the struct with minimum work but still making it viable. The second one initializes the header with regular values (which oddly enough does not require any input from ArtFile).
Perhaps changing the second constructor into a static function that returns a populated PaletteHeader would be more appropriate. Then the dummy ArtFile variable would no longer be needed.
Currenty two constructor overloads exist for PaletteHeader.
The first one allows initializing the struct with minimum work but still making it viable. The second one initializes the header with regular values (which oddly enough does not require any input from ArtFile).
Perhaps changing the second constructor into a static function that returns a populated PaletteHeader would be more appropriate. Then the dummy ArtFile variable would no longer be needed.