Hmm, I'm not sure that "magically works" is a good thing.  I think the code is much clearer without hardcoding a 2 here.  Why a 2?  2 colors?  Magic numbers suck.  `sizeof(u16)` has meaning.

So it seems like what you're doing here is running `ConvertColors()` offset by `clutBase` (plus a bunch of probably unnecessary changes), right?

If that's correct, it makes me think that `LoadClut()` should work differently too.  If `clutTotalBytes_` does not include `clutBase`, doesn't that mean it's not reading enough memory in?  Otherwise, you're using old palette values or something?

-[Unknown]