X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fsdl%2Fmain.c;h=09645aafcd22c1368dd3f116c4537e4416ba2cc8;hb=1723e332319e7732473814dfc168a13d0bafccb4;hp=6b65796e24764c61e8d47ec5d050559a4d10fabf;hpb=007d4dbc8af162e1853418505345b8d14bce33d9;p=dosdemo diff --git a/src/sdl/main.c b/src/sdl/main.c index 6b65796..09645aa 100644 --- a/src/sdl/main.c +++ b/src/sdl/main.c @@ -3,6 +3,7 @@ #include #include #include "demo.h" +#include "tinyfps.h" static void handle_event(SDL_Event *ev); static void toggle_fullscreen(void); @@ -29,7 +30,8 @@ int main(int argc, char **argv) xsz = fb_width * fbscale; ysz = fb_height * fbscale; - if(!(fb_pixels = malloc(fb_width * fb_height * fb_bpp / CHAR_BIT))) { + /* allocate 1 extra row as a guard band, until we fucking fix the rasterizer */ + if(!(fb_pixels = malloc(fb_width * (fb_height + 1) * fb_bpp / CHAR_BIT))) { fprintf(stderr, "failed to allocate virtual framebuffer\n"); return 1; } @@ -61,6 +63,7 @@ int main(int argc, char **argv) time_msec = SDL_GetTicks() - start_time; demo_draw(); + drawFps(fb_pixels); if(SDL_MUSTLOCK(fbsurf)) { SDL_LockSurface(fbsurf); @@ -129,10 +132,10 @@ static void handle_event(SDL_Event *ev) break; case SDL_MOUSEBUTTONDOWN: - mouse_bmask |= 1 << ev->button.button; + mouse_bmask |= 1 << (ev->button.button - SDL_BUTTON_LEFT); if(0) { case SDL_MOUSEBUTTONUP: - mouse_bmask &= ~(1 << ev->button.button); + mouse_bmask &= ~(1 << (ev->button.button - SDL_BUTTON_LEFT)); } mouse_x = ev->button.x / fbscale; mouse_y = ev->button.y / fbscale;