void piggy_bitmap_page_out_all() { int i; Piggy_bitmap_cache_next = 0; piggy_page_flushed++; texmerge_flush(); rle_cache_flush(); for (i=0; i<Num_bitmap_files; i++ ) { if ( GameBitmapOffset[i] > 0 ) { // Don't page out bitmaps read from disk!!! GameBitmaps[i].bm_flags = BM_FLAG_PAGED_OUT; gr_set_bitmap_data (&GameBitmaps[i], Piggy_bitmap_cache_data); } } }
void piggy_bitmap_page_out_all() { int i; Piggy_bitmap_cache_next = 0; piggy_page_flushed++; texmerge_flush(); rle_cache_flush(); for (i=0; i<Num_bitmap_files; i++ ) { if ( GameBitmapOffset[i] > 0 ) { // Don't page out bitmaps read from disk!!! GameBitmaps[i].bm_flags = BM_FLAG_PAGED_OUT; GameBitmaps[i].bm_data = Piggy_bitmap_cache_data; } } mprintf(( 0, "Flushing piggy bitmap cache\n" )); }
//load a palette by name. returns 1 if new palette loaded, else 0 //if used_for_level is set, load pig, etc. //if no_change_screen is set, the current screen does not get remapped, //and the hardware palette does not get changed int load_palette(char *name,int used_for_level,int no_change_screen) { char pigname[FILENAME_LEN]; ubyte old_pal[256*3]; //special hack to tell that palette system about a pig that's been loaded elsewhere if (used_for_level == -2) { strncpy(last_palette_loaded_pig,name,sizeof(last_palette_loaded_pig)); return 1; } if (name==NULL) name = last_palette_loaded_pig; if (used_for_level && stricmp(last_palette_loaded_pig,name) != 0) { _splitpath(name,NULL,NULL,pigname,NULL); strcat(pigname,".pig"); //if not editor, load pig first so small install message can come //up in old palette. If editor version, we must load the pig after //the palette is loaded so we can remap new textures. #ifndef EDITOR piggy_new_pigfile(pigname); #endif } if (stricmp(last_palette_loaded,name) != 0) { memcpy(old_pal,gr_palette,sizeof(old_pal)); strncpy(last_palette_loaded,name,sizeof(last_palette_loaded)); gr_use_palette_table(name); if (Function_mode == FMODE_GAME && !no_change_screen) gr_remap_bitmap_good( &grd_curscreen->sc_canvas.cv_bitmap, old_pal, -1, -1 ); #if defined(POLY_ACC) if (bg.bmp && bg.bmp->bm_type == BM_LINEAR) #else if (bg.bmp) #endif gr_remap_bitmap_good( bg.bmp, old_pal, -1, -1 ); if (!gr_palette_faded_out && !no_change_screen) gr_palette_load(gr_palette); remap_fonts_and_menus(0); Color_0_31_0 = -1; //for gauges HUD_color = -1; load_background_bitmap(); g3_remap_interp_colors(); } if (used_for_level && stricmp(last_palette_loaded_pig,name) != 0) { strncpy(last_palette_loaded_pig,name,sizeof(last_palette_loaded_pig)); #ifdef EDITOR piggy_new_pigfile(pigname); #endif texmerge_flush(); rle_cache_flush(); } return 1; }