X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpc%2Fmain.c;h=c61066dfb5d14c79103df7e8921b8be10685de4b;hb=09ff9fd9a87d495d8c2d55203af89d0f651b5d3a;hp=df6a3f7cb748c6519574e2f8cbb0aa6b870a4bdb;hpb=b0f9c6ecc15c2d4b5df77a7a963b742a6352ee1a;p=gbajam22 diff --git a/src/pc/main.c b/src/pc/main.c index df6a3f7..c61066d 100644 --- a/src/pc/main.c +++ b/src/pc/main.c @@ -16,7 +16,8 @@ static void keydown(unsigned char key, int x, int y); static void keyup(unsigned char key, int x, int y); static void skeydown(int key, int x, int y); static void skeyup(int key, int x, int y); -static int translate_special(int skey); +static void mouse(int bn, int st, int x, int y); +static void motion(int x, int y); static unsigned int next_pow2(unsigned int x); static void set_fullscreen(int fs); static void set_vsync(int vsync); @@ -51,7 +52,7 @@ static PROC wgl_swap_interval_ext; int main(int argc, char **argv) { glutInit(&argc, argv); - glutInitWindowSize(800, 600); + glutInitWindowSize(960, 640); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); glutCreateWindow("GBAjam22 PC build"); @@ -62,8 +63,8 @@ int main(int argc, char **argv) glutKeyboardUpFunc(keyup); glutSpecialFunc(skeydown); glutSpecialUpFunc(skeyup); - - glutSetCursor(GLUT_CURSOR_NONE); + glutMouseFunc(mouse); + glutMotionFunc(motion); glEnable(GL_TEXTURE_2D); glEnable(GL_CULL_FACE); @@ -129,15 +130,15 @@ uint16_t get_input(void) #define PACK_RGB32(r, g, b) \ ((((r) & 0xff) << 16) | (((g) & 0xff) << 8) | ((b) & 0xff) | 0xff000000) -#define UNPACK_R16(c) (((c) >> 9) & 0xf8) -#define UNPACK_G16(c) (((c) >> 3) & 0xf8) -#define UNPACK_B16(c) (((c) << 3) & 0xf8) +#define UNPACK_R16(c) (((c) << 3) & 0xf8) +#define UNPACK_G16(c) (((c) >> 2) & 0xf8) +#define UNPACK_B16(c) (((c) >> 7) & 0xf8) void present(int buf) { int i, npix = 240 * 160; uint32_t *dptr = convbuf; - uint8_t *sptr = buf ? gba_vram_lfb1 : gba_vram_lfb0; + uint8_t *sptr = (uint8_t*)(buf ? gba_vram_lfb1 : gba_vram_lfb0); for(i=0; i