I've been recompiling MAME (again), and this time - rather than hacking MAME - I thought I'd actually fix the minigl instead to make it work properly.
Is there any way we can get my change into the minigl.library and distributed? It's a VERY small change.
This is all I did:
I added:
Code: Select all
void unpack_argb_b(void *context, GLubyte *from, GLubyte *to, GLsizei num)
{
GLsizei i;
for (i = 0; i < num; i++)
{
to[A_COMPONENT] = *from++;
to[R_COMPONENT] = *from++;
to[G_COMPONENT] = *from++;
to[B_COMPONENT] = *from++;
to += 4;
}
}
Code: Select all
{GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV,unpack_argb_b, 4},
I had to do this because MAME uses the GL_UNSIGNED_INT_8_8_8_8_REV form of packing, but the normal minigl doesn't understand this and so can't unpack the texture, resulting in a white blob.
I realise minigl is obsolete for developers anyway now, but for normal mortals, we're still using the old minigl.library which means my MAME and MESS won't work unless people get a new minigl.library.
Can anyone help with this?
Thanks!
(Incidentally, the OpenGL support gives a considerable speed-up to larger screen resolutions as the scaling is all in hardware. It makes my little 600MHz Sam440ep much more capable at emulating)