void NETHER::gameredraw(int w,int h) { #ifdef _WRITE_REPORT_ fprintf(debug_fp,"Redraw start.\n"); fprintf(debug_fp,"game_state: %i\n",game_state); fflush(debug_fp); #endif switch(game_state) { case STATE_PLAYING: draw(w,h); break; case STATE_CONSTRUCTION: construction_draw(w,h); break; case STATE_PAUSE: case STATE_SAVINGGAME: case STATE_LOADINGGAME: draw(w,h); options_draw(w,h); break; } /* switch */ SDL_GL_SwapBuffers(); #ifdef _WRITE_REPORT_ fprintf(debug_fp,"Redraw end."); fflush(debug_fp); #endif } /* gameredraw */
void menubar_draw(menubar_t *m) { int i,x,y; x = m->info.x; y = m->info.y; /* HACK HACK HACK keeps the recent files menu updated */ for(i=0;i<10;i++) { char str[1024]; char *fn; if((fn = strrchr(config.recent[i],'\\') + 1) == (char*)1) if((fn = strrchr(config.recent[i],'/') + 1) == (char*)1) fn = config.recent[i]; sprintf(str,"%d. %s",i+1%10,fn); strcpy(m->menus[0].items[i].caption,str); m->menus[0].items[i].info.w = strlen(str) * 8; } /* END HACK */ load_draw(&m->load); video_draw(&m->video); input_draw(&m->input); gui_input_draw(&m->guiinput); sound_draw(&m->sound); devices_draw(&m->devices); palette_draw(&m->palette); options_draw(&m->options); mappers_draw(&m->mappers); paths_draw(&m->paths); supported_mappers_draw(&m->supported_mappers); tracer_draw(&m->tracer); rom_info_draw(&m->rom_info); memory_viewer_draw(&m->memory_viewer); nt_draw(&m->nametable_viewer); pt_draw(&m->patterntable_viewer); about_draw(&m->about); for(i=0;i<(m->info.h/2);i++) gui_draw_hline(GUI_TITLEBARBACKGROUND+i,x,y++,256); for(i++;i;i--) gui_draw_hline(GUI_TITLEBARBACKGROUND+i,x,y++,256); for(i=0;i<MAX_MENUS && m->menus[i].info.w;i++) menu_draw(&m->menus[i]); #ifdef PS2 i = 3; #elif defined(WII) i = 2; #else i = 0; #endif for(;i<3;i++) button_draw(&m->buttons[i]); }