X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fgba%2Fmain.c;h=8417df18d933bba04acb954cd6eedd99413c1f64;hb=b0f9c6ecc15c2d4b5df77a7a963b742a6352ee1a;hp=068f3d1f8daf10a3e74ed5671303c48a660f767c;hpb=bb895563088da093a90f42fc6a532688adc36cf2;p=gbajam22 diff --git a/src/gba/main.c b/src/gba/main.c index 068f3d1..8417df1 100644 --- a/src/gba/main.c +++ b/src/gba/main.c @@ -6,7 +6,6 @@ #include "maxmod.h" static void vblank(void); -static void nopfunc(void); int main(void) { @@ -28,17 +27,24 @@ int main(void) mmStart(MOD_POPCORN, MM_PLAY_LOOP); #endif - screen_vblank = nopfunc; - intr_disable(); interrupt(INTR_VBLANK, vblank); REG_DISPSTAT |= DISPSTAT_IEN_VBLANK; unmask(INTR_VBLANK); intr_enable(); - gamescr(); - for(;;); + if(init_screens() == -1) { + panic(get_pc(), "failed to initialize screens"); + } + + if(change_screen(find_screen("game")) == -1) { + panic(get_pc(), "failed to find game screen"); + } + + for(;;) { + curscr->frame(); + } return 0; } @@ -46,14 +52,12 @@ static void vblank(void) { vblperf_count++; - screen_vblank(); + if(curscr && curscr->vblank) { + curscr->vblank(); + } #ifndef NOSOUND mmVBlank(); mmFrame(); #endif } - -static void nopfunc(void) -{ -}