diff --git a/history.txt b/history.txt index 69143fb..f820481 100644 --- a/history.txt +++ b/history.txt @@ -10,7 +10,7 @@ Genesis Plus GX 1.3.2 (??/??/????) (Eke-Eke) * improved MAME YM2612 emulation accuracy (SSG-EG, CSM mode and more), thanks to Nemesis for his tests on real hardware * fixed FM context in savestates * improved sprites masking emulation: fixes 3D level in Mickey Mania -* fixed lightgun games detection: fixes cursor position in Lethal Enforcers II +* fixed lightgun autodetection: fixes cursor position in Lethal Enforcers II * various code cleanup & optimization [Gamecube/Wii] @@ -18,6 +18,7 @@ Genesis Plus GX 1.3.2 (??/??/????) (Eke-Eke) * improved audio/video synchronization: fixes video skipping issues with 60Hz modes * fixed stability issues and potential memory leaks * added screenshot feature +* improved lightgun cursors * completely rewrote FONT & GUI engines (powered by GX hardware) * new GUI layout (incl. IR pointing, ROM snapshots, sound effects & more) diff --git a/source/gx/gui/legal.c b/source/gx/gui/legal.c index 7ba690b..3e0f09b 100644 --- a/source/gx/gui/legal.c +++ b/source/gx/gui/legal.c @@ -43,34 +43,38 @@ extern const u8 Bg_intro_c5_png[]; void legal () { - int ypos = 60; + int ypos = 56; gxClearScreen((GXColor)BLACK); - FONT_writeCenter ("DISCLAIMER",24,0,640,ypos,(GXColor)WHITE); - ypos += 48; + FONT_writeCenter ("DISCLAIMER",22,0,640,ypos,(GXColor)WHITE); + ypos += 32; FONT_writeCenter ("This is free software, and you are welcome to",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("redistribute it under the conditions of the",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("GNU GENERAL PUBLIC LICENSE Version 2.",20,0,640,ypos,(GXColor)WHITE); ypos += 20; + FONT_writeCenter ("This software includes code from the MAME project and",20,0,640,ypos,(GXColor)WHITE); + ypos += 20; + FONT_writeCenter ("therefore, its use is conditionned by the MAME license.",20,0,640,ypos,(GXColor)WHITE); + ypos += 20; FONT_writeCenter ("You may not sell, lease, rent or generally use",20,0,640,ypos,(GXColor)WHITE); ypos += 20; - FONT_writeCenter ("this software for any commercial purposes.",20,0,640,ypos,(GXColor)WHITE); + FONT_writeCenter ("this software in any commercial product or activity.",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("You may not distribute this software with any ROM images",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("unless you have the legal right to distribute them.",20,0,640,ypos,(GXColor)WHITE); ypos += 20; - FONT_writeCenter ("All trademarks and registered trademarks are",20,0,640,ypos,(GXColor)WHITE); - ypos += 20; - FONT_writeCenter ("the property of their respective owners.",20,0,640,ypos,(GXColor)WHITE); - ypos += 20; FONT_writeCenter ("This software is not endorsed by or affiliated",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("with Sega Enterprises Ltd or Nintendo Co Ltd.",20,0,640,ypos,(GXColor)WHITE); - ypos += 48; + ypos += 20; + FONT_writeCenter ("All trademarks and registered trademarks are",20,0,640,ypos,(GXColor)WHITE); + ypos += 20; + FONT_writeCenter ("the property of their respective owners.",20,0,640,ypos,(GXColor)WHITE); + ypos += 38; GXColor color = {0x99,0xcc,0xff,0xff}; #ifdef HW_RVL @@ -88,37 +92,41 @@ void legal () sleep(1); - int count = 1500; + int count = 2000; int vis = 0; while (!(m_input.keys & PAD_BUTTON_A) && (count > 0)) { - ypos = 60; + ypos = 56; gxClearScreen((GXColor)BLACK); - FONT_writeCenter ("DISCLAIMER",24,0,640,ypos,(GXColor)WHITE); - ypos += 48; + FONT_writeCenter ("DISCLAIMER",22,0,640,ypos,(GXColor)WHITE); + ypos += 32; FONT_writeCenter ("This is free software, and you are welcome to",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("redistribute it under the conditions of the",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("GNU GENERAL PUBLIC LICENSE Version 2.",20,0,640,ypos,(GXColor)WHITE); ypos += 20; + FONT_writeCenter ("This software includes code from the MAME project and",20,0,640,ypos,(GXColor)WHITE); + ypos += 20; + FONT_writeCenter ("therefore, its use is conditionned by the MAME license.",20,0,640,ypos,(GXColor)WHITE); + ypos += 20; FONT_writeCenter ("You may not sell, lease, rent or generally use",20,0,640,ypos,(GXColor)WHITE); ypos += 20; - FONT_writeCenter ("this software for any commercial purposes.",20,0,640,ypos,(GXColor)WHITE); + FONT_writeCenter ("this software in any commercial product or activity.",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("You may not distribute this software with any ROM images",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("unless you have the legal right to distribute them.",20,0,640,ypos,(GXColor)WHITE); ypos += 20; - FONT_writeCenter ("All trademarks and registered trademarks are",20,0,640,ypos,(GXColor)WHITE); - ypos += 20; - FONT_writeCenter ("the property of their respective owners.",20,0,640,ypos,(GXColor)WHITE); - ypos += 20; FONT_writeCenter ("This software is not endorsed by or affiliated",20,0,640,ypos,(GXColor)WHITE); ypos += 20; FONT_writeCenter ("with Sega Enterprises Ltd or Nintendo Co Ltd.",20,0,640,ypos,(GXColor)WHITE); - ypos += 48; + ypos += 20; + FONT_writeCenter ("All trademarks and registered trademarks are",20,0,640,ypos,(GXColor)WHITE); + ypos += 20; + FONT_writeCenter ("the property of their respective owners.",20,0,640,ypos,(GXColor)WHITE); + ypos += 38; if (count%25 == 0) vis^=1; diff --git a/source/gx/gx_video.c b/source/gx/gx_video.c index 64bae74..607ff8f 100644 --- a/source/gx/gx_video.c +++ b/source/gx/gx_video.c @@ -557,11 +557,11 @@ static void gxDrawCrosshair(gx_texture *texture, int x, int y) /* reset GX rendering */ gxResetRendering(1); - /* adjust coordinate system */ - x = ((x * rmode->fbWidth) / bitmap.viewport.w) - (texture->width/2) - (rmode->fbWidth/2) + (rmode->viWidth-rmode->fbWidth)/2; - y = ((y * rmode->efbHeight) / bitmap.viewport.h) - (config.render ? (texture->height/2) : (texture->height/4)) - (rmode->efbHeight/2) + (rmode->xfbHeight-rmode->efbHeight)/2;; - int w = texture->width - (rmode->viWidth-rmode->fbWidth); - int h = (config.render ? texture->height : (texture->height/2)) - (rmode->xfbHeight-rmode->efbHeight); + /* adjust coordinates */ + int w = (texture->width * rmode->fbWidth) / (rmode->viWidth); + int h = (texture->height * rmode->efbHeight) / (rmode->viHeight); + x = ((x * rmode->fbWidth) / bitmap.viewport.w) - w/2 - (rmode->fbWidth/2); + y = ((y * rmode->efbHeight) / bitmap.viewport.h) - h/2 - (rmode->efbHeight/2); /* Draw textured quad */ GX_Begin(GX_QUADS, GX_VTXFMT0, 4);