示例#1
0
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]);
    }
    ;
}
示例#2
0
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;
}
示例#3
0
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;
}
示例#4
0
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;
}
示例#5
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;
	}
}
示例#6
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);
}
示例#7
0
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;
}
示例#8
0
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);
}