Esempio n. 1
0
void SelectNextItem(edict_t *ent, int itflags){
	gclient_t	*cl;
	int	i, index;
	gitem_t	*it;
	
	cl = ent->client;
	
	//ZOID
	if(cl->menu){
		PMenu_Next(ent);
		return;
	} else if(cl->chase_target){
		ChaseNext(ent);
		return;
	}
	//ZOID
	
	// scan  for the next valid one
	for(i = 1; i <= MAX_ITEMS; i++){
		index =(cl->pers.selected_item + i) % MAX_ITEMS;
		if(!cl->pers.inventory[index])
			continue;
		it = &itemlist[index];
		if(!it->use)
			continue;
		if(!(it->flags & itflags))
			continue;
			
		cl->pers.selected_item = index;
		return;
	}
	
	cl->pers.selected_item = -1;
}
Esempio n. 2
0
static void SelectNextItem(edict_t *ent, int itflags)
{
    gclient_t   *cl;
    int         i, index;
    const gitem_t       *it;

    cl = ent->client;

    if (cl->layout == LAYOUT_MENU) {
        PMenu_Next(ent);
        return;
    }
    if (cl->chase_target) {
        ChaseNext(ent);
        cl->chase_mode = CHASE_NONE;
        return;
    }

    // scan  for the next valid one
    for (i = 1; i <= ITEM_TOTAL; i++) {
        index = (cl->selected_item + i) % ITEM_TOTAL;
        if (!cl->inventory[index])
            continue;
        it = INDEX_ITEM(index);
        if (!it->use)
            continue;
        if (!(it->flags & itflags))
            continue;

        cl->selected_item = index;
        return;
    }

    cl->selected_item = -1;
}
Esempio n. 3
0
void SelectNextItem (edict_t * ent, int itflags)
{
	gclient_t *cl;
	int i, index;
	gitem_t *it;

	cl = ent->client;

	//FIREBLADE
	if (cl->menu)
	{
		PMenu_Next (ent);
		return;
	}
	//FIREBLADE

	if (ent->solid == SOLID_NOT && ent->deadflag != DEAD_DEAD)
		return;

	// scan  for the next valid one
	for (i = 1; i <= MAX_ITEMS; i++)
	{
		index = (cl->pers.selected_item + i) % MAX_ITEMS;
		if (!cl->pers.inventory[index])
			continue;
		it = &itemlist[index];
		if (!it->use)
			continue;
		if (!(it->flags & itflags))
			continue;

		cl->pers.selected_item = index;
		return;
	}

	cl->pers.selected_item = -1;
}