Beispiel #1
0
static void tglgrid_motion(t_tg* tg, t_floatarg dx, t_floatarg dy) {
  int row,col;
  tg->mouse_x += dx;
  tg->mouse_y += dy;
  col_and_row(tg,tg->glist,tg->mouse_x,tg->mouse_y,&col,&row);
  if (col < tg->cols && row < tg->rows &&
      col >= 0 && row >= 0 &&
      (col != tg->tgld_col || row != tg->tgld_row) &&
      (toggle_val(tg,col,row) != tg->mouse_tgld) ) {
    do_toggle(tg,row,col);
    tg->tgld_col = col;
    tg->tgld_row = row;
  }
}
Beispiel #2
0
static int tglgrid_click(t_gobj *z, struct _glist *glist,
                         int xpix, int ypix, int shift,
                         int alt, int dbl, int doit) {
  t_tg* tg = (t_tg *)z;
  int row,col;

  UNUSED(shift);
  UNUSED(alt);
  UNUSED(dbl);

  col_and_row(tg,glist,xpix,ypix,&col,&row);
  if (doit && row>=0) {
    tg->mouse_tgld = do_toggle(tg,row,col);
    tg->tgld_col = col;
    tg->tgld_row = row;
    tg->mouse_x = xpix;
    tg->mouse_y = ypix;
    glist_grab(glist,&tg->x_obj.te_g,
               (t_glistmotionfn)tglgrid_motion,0,xpix,ypix);
  }
  return 1;
}
Beispiel #3
0
void tg_off(t_tg* tg, t_floatarg cf, t_floatarg rf) {
  t_int c = (int)cf;
  t_int r = (int)rf;
  if (toggle_val(tg,c,r)!='0')
    do_toggle(tg,r,c);
}
Beispiel #4
0
void tg_tgl(t_tg* tg, t_floatarg cf, t_floatarg rf) {
  t_int c = (int)cf;
  t_int r = (int)rf;
  do_toggle(tg,r,c);
}
Beispiel #5
0
void do_cmd(comedi_t *dev,comedi_cmd *cmd)
{
	int total=0;
	int ret;
	int go;
	fd_set rdset;
	struct timeval timeout;

	ret=comedi_command_test(dev,cmd);

	printf("test ret=%d\n",ret);
	if(ret<0){
		printf("errno=%d\n",errno);
		comedi_perror("comedi_command_test");
		return;
	}

	dump_cmd(stdout,cmd);

	ret=comedi_command_test(dev,cmd);

	printf("test ret=%d\n",ret);
	if(ret<0){
		printf("errno=%d\n",errno);
		comedi_perror("comedi_command_test");
		return;
	}

	dump_cmd(stdout,cmd);

	ret=comedi_command(dev,cmd);

	printf("ret=%d\n",ret);
	if(ret<0){
		printf("errno=%d\n",errno);
		comedi_perror("comedi_command");
		return;
	}

	go=1;
	while(go){
		FD_ZERO(&rdset);
		FD_SET(comedi_fileno(dev),&rdset);
		timeout.tv_sec = 0;
		timeout.tv_usec = 50000;
		ret = select(comedi_fileno(dev)+1,&rdset,NULL,NULL,&timeout);
		if(ret<0){
			perror("select");
		}else if(ret==0){
			/* timeout */
		}else if(FD_ISSET(comedi_fileno(dev),&rdset)){
			ret=read(comedi_fileno(dev),buf,BUFSZ);
			if(ret<0){
				if(errno==EAGAIN){
					go = 0;
					perror("read");
				}
			}else if(ret==0){
				go = 0;
			}else{
				//int i;

				total+=ret;
				//printf("read %d %d\n",ret,total);
				//printf("count = %d\n",count);
				do_toggle();
#if 0
				for(i=0;i<ret;i+=sizeof(sampl_t)){
					do_toggle();
				}
#endif
			}
		}
	}
}
void vo_MainAction(void){
	if(item_selected == 2)
		do_toggle(vo_invincibility);
	
	if(item_selected == 3)
		do_toggle(vo_flywalls);
		
	if(item_selected == 4)
		do_toggle(vo_stick_to_ground);
		
	if(item_selected == 5)
		do_toggle(vo_booster);
		
	if(item_selected == 6)
		do_toggle(vo_helispeed);

	if(item_selected == 7){
		if(IS_CHAR_IN_ANY_CAR(pPlayer)){
			Vehicle pveh;
			uint lock;
			GET_CAR_CHAR_IS_USING(pPlayer,&pveh);
			GET_CAR_DOOR_LOCK_STATUS(pveh,&lock);
			if(lock == VEHICLE_DOOR_UNLOCKED)
				LOCK_CAR_DOORS(pveh,VEHICLE_DOOR_LOCKED_BOTH_SIDES);
			else
				LOCK_CAR_DOORS(pveh,VEHICLE_DOOR_UNLOCKED);
			
			menu_items_set = false;
			menu_clean();
		}
	}
		
	if(item_selected == 8){
		if(IS_CHAR_IN_ANY_CAR(pPlayer)){
			Vehicle pveh;
			GET_CAR_CHAR_IS_USING(pPlayer,&pveh);
			FIX_CAR(pveh);
			SET_VEHICLE_DIRT_LEVEL(pveh,0.0);
			print("Vehicle fixed & washed!");
		}	
	}
	
	if(item_selected == 9){
		if(IS_CHAR_IN_ANY_CAR(pPlayer)){
			Vehicle pveh;
			GET_CAR_CHAR_IS_USING(pPlayer,&pveh);
			SET_CAR_ON_GROUND_PROPERLY(pveh);
		}		
	}
	
	if(item_selected == 10){
		if(IS_CHAR_IN_ANY_CAR(pPlayer)){
			Vehicle pveh;
			Ped driver;
			GET_CAR_CHAR_IS_USING(pPlayer,&pveh);
			GET_DRIVER_OF_CAR(pveh,&driver);
			if(driver == pPlayer){
				DELETE_CAR(&pveh);
				MARK_CAR_AS_NO_LONGER_NEEDED(&pveh);
			}
			else print("You must be the driver of this vehicle");
		}
	}	
	
	if(item_selected == 11){
		if(IS_CHAR_IN_ANY_CAR(pPlayer)){
			Vehicle pveh[2];
			GET_CAR_CHAR_IS_USING(pPlayer,&pveh[0]);
			if(network){
				GET_NETWORK_ID_FROM_VEHICLE(pveh[0],&pveh[1]);
				if(!network_control(pveh[1])){
					error("Network Control");
					return;
				}
				float x,y,z;
				GET_CHAR_COORDINATES(pPlayer,&x,&y,&z);
				teleport_char(pPlayer,0.0f,4000.0f,0.0f);
				WAIT(100);
				teleport_char(pPlayer,x,y,z);
			}
		}
	}
	
	return;
}