Esempio n. 1
0
void timers_clear(attach_type *attach,int mode)
{
	int				k;
	
	k=timers_find(attach,mode);
	if (k==-1) return;
	
	js.timers[k].mode=timer_mode_dispose;
}
Esempio n. 2
0
void view_draw_debug_timer(int script_idx,int mode,char *name,bool has_chain,char *str)
{
	int				timer_idx;
	timer_type		*timer;

	timer_idx=timers_find(script_idx,mode);
	if (timer_idx==-1) {
		sprintf(str,"%s: *",name);
		return;
	}

	timer=js.timer_list.timers[timer_idx];

	if (!has_chain) {
		sprintf(str,"%s: %d",name,timer->count);
	}
	else {
		sprintf(str,"%s: %d [%s]",name,timer->count,timer->chain_func_name);
	}
}
Esempio n. 3
0
bool timers_add(attach_type *attach,int freq,int user_id,char *chain_func_name,int mode)
{
	int				k,script_idx;
	script_type		*script;
	timer_type		*timer;
	
		// if already timer for this script, mark it as disposed
		
	k=timers_find(attach,mode);
	if (k!=-1) {
		js.timers[k].mode=timer_mode_dispose;
	}
	
		// create a new timer
		
	if (js.count.timer>=max_timers) return(FALSE);
	
		// script
	
	script_idx=scripts_find_uid(attach->script_uid);
	script=&js.scripts[script_idx];
	
		// setup timer
	
	timer=&js.timers[js.count.timer];
	
	memmove(&timer->attach,attach,sizeof(attach_type));

	timer->mode=mode;
	
    timer->freq=freq;
    if (timer->freq<1) timer->freq=1;

    timer->count=timer->freq;
    timer->user_id=user_id;
	if (chain_func_name!=NULL) strcpy(timer->chain_func_name,chain_func_name);
	
	js.count.timer++;
	
	return(TRUE);
}
Esempio n. 4
0
static void timer_set_id(Timer* timer) {
  timer->id = rand();
  while (timers_find(timer->id)) {
    timer->id = rand();
  }
}