diff --git a/source/main.c b/source/main.c index c266a7f..ee77474 100644 --- a/source/main.c +++ b/source/main.c @@ -3,27 +3,34 @@ #include #include <3ds.h> -#define width 400 -#define height 240 -#define screenSize width * height * 2 -#define bufSize screenSize * 2 +#define WIDTH 400 +#define HEIGHT 240 +#define SCREENSIZE WIDTH * HEIGHT * 2 +#define BUFSIZE SCREENSIZE * 2 inline void clearScreen(void) { - u8 *frame = gfxGetFramebuffer(GFX_BOTTOM, GFX_LEFT, NULL, NULL) - memset(frame, 0, 320 * 240 * 3) + u8 *frame = gfxGetFramebuffer(GFX_BOTTOM, GFX_LEFT, NULL, NULL); + memset(frame, 0, 320 * 240 * 3); } void cleanup() { } -void writePicToFBuff(void *fb, void *img, u16 x, u16 y, u16 width, u16 height) { - u8 *fb_8 = (u8*) img - u16 *img_16 = (u16*) img +void writePicToFBuff(void *fb, void *img, u16 x, u16 y, u16 WIDTH, u16 HEIGHT) { + u8 *fb_8 = (u8*) img; + u16 *img_16 = (u16*) img; +} + +void flushBuffs(u8 *buf) { + free(buf); + buf = malloc(BUFSIZE); } int main(int argc, char* argv[]) { + u8 *buf = malloc(BUFSIZE); + gfxInitDefault(); consoleInit(GFX_TOP, NULL); @@ -38,8 +45,14 @@ int main(int argc, char* argv[]) // Your code goes here u32 kDown = hidKeysDown(); - if (kDown & KEY_START) - break; // break in order to return to hbmenu + if (kDown & KEY_START) { + flushBuffs(buf); + gfxFlushBuffers(); + gspWaitForVBlank(); + gfxSwapBuffers(); + clearScreen(); + // break; // break in order to return to hbmenu + } } gfxExit();