Пример #1
0
	//	Add a new item to a list or increase quantity if already in the list
	void List::add(size_t over_item_number, int image_id, Uint16 id, int quantity)
	{
		do_drop_item_sound();

		// Add to quanity if already in list

		// if new item has proper ID, try to use it
		if (id != unset_item_uid)
		{
			// match only against items with the same id
			for (size_t i=0; i<quantities.size(); ++i)
				if (item_ids[i] == id)
				{
					quantities[i] += quantity;
					return;
				}
			// or with items that don't have a proper id but do match the image
			for (size_t i=0; i<quantities.size(); ++i)
				if ((item_ids[i] == unset_item_uid) && (image_ids[i] == image_id))
				{
					quantities[i] += quantity;
					return;
				}
		}
		// if the new items does not have a proper id, just look for a matching image id
		else
		{
			for (size_t i=0; i<quantities.size(); ++i)
				if (image_ids[i] == image_id)
				{
					quantities[i] += quantity;
					return;
				}
		}

		// otherwise insert the new item or add it to the end

		if (over_item_number < get_num_items())
		{
			image_ids.insert(image_ids.begin()+over_item_number, image_id);
			item_ids.insert(item_ids.begin()+over_item_number, id);
			quantities.insert(quantities.begin()+over_item_number, quantity);
		}
		else
		{
			image_ids.push_back(image_id);
			item_ids.push_back(id);
			quantities.push_back(quantity);
		}
	}
Пример #2
0
void course_render_init() {
	
	free(treeLocsOrderedByZ);
	
	tree_t* treeLocs = get_tree_locs();
	int numTrees = get_num_trees();
	treeLocsOrderedByZ = (tree_t*)malloc(sizeof(tree_t)*numTrees);
	memcpy(treeLocsOrderedByZ,treeLocs,sizeof(tree_t)*numTrees);
	order_trees_by_z(treeLocsOrderedByZ,numTrees);
	first_tree_to_check=0;
	itemLocs = get_item_locs();
	numItems = get_num_items();
	int i;
	for (i=0;i<numItems;i++) {
		if (itemLocs[i].item_type == kStartType) {
			char* name = get_item_name(itemLocs[i].item_type);
			TRDebugLog("item name : %s, itemType = %d coord x = %f et coord y = %f\n",name, itemLocs[i].item_type,itemLocs[i].ray.pt.x,itemLocs[i].ray.pt.y);	
		}	
	}
}