static void reset_duckhunt() { int i; ssFrame = 0; action = 0; pause = 0; score = 0; dogl_frame = 0; duck_frame = 0; duck_timer = 0; dogw_frame = 0; start_duck = 0; ducks_shot = 0; duck_count = 0; round = 0; shots = 3; for(i=0; i<10; i++) mini_ducks[i] = 0; if(ttk_screen->w < 220) { ttk_free_surface(duckhunt_lose_bg); ttk_free_surface(dog_laugh[0]); ttk_free_surface(dog_laugh[1]); ttk_free_surface(duckhunt_ss); ttk_free_surface(duckhunt_bg); ttk_free_surface(dead_duck); ttk_free_surface(dog_duck); ttk_free_surface(dd_fall); for(i=0; i<3; i++) ttk_free_surface(duck[i]); for(i=0; i<8; i++) ttk_free_surface(dogw[i]); } ; }
ttk_surface iconui_get_small_icon(char * s) { ttk_surface orig = iconui_get_icon(s); ttk_surface sm = ttk_scale_surface(orig, 0.5); ttk_free_surface(orig); return sm; }
ttk_surface iconui_cache_set(char * name, ttk_surface icon) { iconui_cache_record * rcd; rcd = iconui_cache[(*name) & 0x1F]; if (!rcd) { rcd = iconui_cache[(*name) & 0x1F] = (iconui_cache_record *)calloc(1, sizeof(iconui_cache_record)); if (rcd) { rcd->name = strdup(name); rcd->icon = iconui_copy_surface(icon); rcd->next = 0; } return icon; } else { while (rcd) { if (rcd->name && !strcmp(name, rcd->name)) { if (rcd->icon) ttk_free_surface(rcd->icon); rcd->icon = iconui_copy_surface(icon); return icon; } else if (!rcd->next) { rcd->next = (iconui_cache_record *)calloc(1, sizeof(iconui_cache_record)); rcd = rcd->next; if (rcd) { rcd->name = strdup(name); rcd->icon = iconui_copy_surface(icon); rcd->next = 0; } return icon; } else { rcd = rcd->next; } } } return icon; }
int event_mymodule (PzEvent *ev) { switch (ev->type) { case PZ_EVENT_BUTTON_UP: pz_close_window (ev->wid->win); break; case PZ_EVENT_DESTROY: ttk_free_surface (image); free (text); break; } return 0; }
void iconui_cache_clear() { int i; iconui_cache_record * rcd; for (i=0; i<32; i++) { rcd = iconui_cache[i]; while (rcd) { iconui_cache_record * nr = rcd->next; if (rcd->name) free(rcd->name); if (rcd->icon) ttk_free_surface(rcd->icon); free(rcd); rcd = nr; } iconui_cache[i] = 0; } }
static void view_map() { ttk_surface scaled; char file[40]; int t=-1, s1, s2; switch(ttk_screen->bpp){ case 2: texts = ttk_makecol(WHITE); break; case 16: texts = ttk_makecol(DKGREY); break; } ttk_fillrect(iracer_srf,0,0,bgw,bgh,ttk_makecol(GREY)); ttk_fillrect(iracer_srf,ipods[5],ipods[50],(ipods[320]+ipods[10])*.5,ipods[320]*.5,ttk_makecol(BLACK)); //wholly hackish ttk_blit_image (scaled = ttk_scale_surface(map.image,.5),iracer_srf,ipods[5],ipods[50]); //Map Scaled View sprintf(file,"MAPS"); pz_vector_string_center(iracer_srf, file, ipods[160], ipods[25] , ipods[20] ,ipods[20] , 1, ttk_makecol(WHITE)); sprintf(file,"%s",map.mapname); pz_vector_string(iracer_srf, file, ipods[167] , ipods[50], ipods[6] ,ipods[18] , 1, texts); sprintf(file,"By: %s",map.author); pz_vector_string(iracer_srf, file, ipods[5] , ipods[175], ipods[8] ,ipods[16] , 1, texts); sprintf(file,"Difficulty: %s",dif_opts[map.difficulty]); pz_vector_string(iracer_srf, file, ipods[5] , ipods[210], ipods[8] ,ipods[16] , 1, texts); if(rhigh>=0&&rhigh<30){ sprintf(file,"50CC"); pz_vector_string(iracer_srf, file, ipods[175] , ipods[100+(t*20)], ipods[8] ,ipods[16] , 1, ttk_makecol(WHITE)); for(t=0;t<3;t++){ s1 = map.cc50[t]; s2 = map.cc50[t]*10; s2 = s2 % 10; sprintf(file,"laps %d: %2d.%1d",set_laps[t], s1,s2); pz_vector_string(iracer_srf, file, ipods[175] , ipods[110+(t*20)], ipods[8] ,ipods[16] , 1, ttk_makecol(WHITE)); } } else if(rhigh>=30&&rhigh<59){ sprintf(file,"100CC"); pz_vector_string(iracer_srf, file, ipods[175] , ipods[100+(t*20)], ipods[8] ,ipods[16] , 1, ttk_makecol(WHITE)); for(t=0;t<3;t++){ s1 = map.cc100[t]; s2 = map.cc100[t]*10; s2 = s2 % 10; sprintf(file,"laps %d: %2d.%1d",set_laps[t], s1,s2); pz_vector_string(iracer_srf, file, ipods[175] , ipods[110+(t*20)], ipods[8] ,ipods[16] , 1, ttk_makecol(WHITE)); } } else{ sprintf(file,"150CC"); pz_vector_string(iracer_srf, file, ipods[175] , ipods[100+(t*20)], ipods[8] ,ipods[16] , 1, ttk_makecol(WHITE)); for(t=0;t<3;t++){ s1 = map.cc150[t]; s2 = map.cc150[t]*10; s2 = s2 % 10; sprintf(file,"laps %d: %2d.%1d",set_laps[t], s1,s2); pz_vector_string(iracer_srf, file, ipods[175] , ipods[110+(t*20)], ipods[8] ,ipods[16] , 1, ttk_makecol(WHITE)); } } ttk_free_surface(scaled); }
TWindow * iconui_new_menu_window(TWidget * menu_wid) { TWindow * ret; int iconsize = 1;//ipod_get_setting((75)); int iconcache = 1;//ipod_get_setting((76)); iconsize=1; iconcache=1; int i = 0; while (1) { ttk_menu_item * mi = ttk_menu_get_item(menu_wid, i); if (!mi) break; if (mi->makesub == ttk_mh_sub) mi->makesub = iconui_mh_sub; if (iconcache) ttk_free_surface(iconui_get_icon((char *)mi->name)); i++; } switch (iconsize) { case 1: /* small list */ menu_wid->draw = iconui_menu_draw; menu_wid->frame = iconui_menu_frame; menu_wid->down = iconui_menu_down; menu_wid->button = iconui_menu_button; menu_wid->scroll = iconui_menu_scroll; menu_wid->destroy = iconui_menu_free; //menu_wid->focusable=1; ((menu_data *)menu_wid->data)->epoch--; break; case 2: /* large list */ menu_wid->draw = bigiconui_menu_draw; menu_wid->frame = bigiconui_menu_frame; menu_wid->down = bigiconui_menu_down; menu_wid->button = bigiconui_menu_button; menu_wid->scroll = bigiconui_menu_scroll; menu_wid->destroy = bigiconui_menu_free; ((menu_data *)menu_wid->data)->epoch--; break; case 3: /* small array */ menu_wid->draw = icon2ui_menu_draw; menu_wid->frame = icon2ui_menu_frame; menu_wid->down = icon2ui_menu_down; menu_wid->button = icon2ui_menu_button; menu_wid->scroll = icon2ui_menu_scroll; menu_wid->destroy = icon2ui_menu_free; ((menu_data *)menu_wid->data)->font = iconui_font; ((menu_data *)menu_wid->data)->epoch--; break; case 4: /* large array */ menu_wid->draw = bigicon2ui_menu_draw; menu_wid->frame = bigicon2ui_menu_frame; menu_wid->down = bigicon2ui_menu_down; menu_wid->button = bigicon2ui_menu_button; menu_wid->scroll = bigicon2ui_menu_scroll; menu_wid->destroy = bigicon2ui_menu_free; ((menu_data *)menu_wid->data)->font = iconui_font; ((menu_data *)menu_wid->data)->epoch--; break; case 5: /* small dock */ menu_wid->draw = smdockiconui_menu_draw; menu_wid->frame = smdockiconui_menu_frame; menu_wid->down = smdockiconui_menu_down; menu_wid->button = smdockiconui_menu_button; menu_wid->scroll = smdockiconui_menu_scroll; menu_wid->destroy = smdockiconui_menu_free; ((menu_data *)menu_wid->data)->font = iconui_font; ((menu_data *)menu_wid->data)->epoch--; break; case 6: /* mag dock */ menu_wid->draw = mdockiconui_menu_draw; menu_wid->frame = mdockiconui_menu_frame; menu_wid->down = mdockiconui_menu_down; menu_wid->button = mdockiconui_menu_button; menu_wid->scroll = mdockiconui_menu_scroll; menu_wid->destroy = mdockiconui_menu_free; ((menu_data *)menu_wid->data)->font = iconui_font; ((menu_data *)menu_wid->data)->epoch--; break; case 7: /* large dock */ menu_wid->draw = dockiconui_menu_draw; menu_wid->frame = dockiconui_menu_frame; menu_wid->down = dockiconui_menu_down; menu_wid->button = dockiconui_menu_button; menu_wid->scroll = dockiconui_menu_scroll; menu_wid->destroy = dockiconui_menu_free; ((menu_data *)menu_wid->data)->font = iconui_font; ((menu_data *)menu_wid->data)->epoch--; break; } ret = ttk_new_window(); ttk_add_widget(ret, menu_wid); ttk_window_title(ret, "ZacZilla"); return ret; }
void iconui_draw_small_icon(ttk_surface srf, char * s, int x, int y) { ttk_surface icon = iconui_get_small_icon(s); ttk_blit_image(icon, srf, x, y); ttk_free_surface(icon); }