示例#1
0
void process_entity_smoke_list_creation (void)
{
	
	comms_entity_smoke_list_creation_type
		*this_smoke_list_creation;

	while (entity_smoke_list_creation)
	{

		this_smoke_list_creation = entity_smoke_list_creation;

		ASSERT (this_smoke_list_creation->en);

		attach_local_meta_smoke_lists_to_object (this_smoke_list_creation->en,
																this_smoke_list_creation->meta_smoke_type,
																this_smoke_list_creation->attachment_point,
																this_smoke_list_creation->entity_index_list);

		if (get_local_entity_int_value (this_smoke_list_creation->en, INT_TYPE_MOBILE_MOVING))
		{

			set_infinite_smoke_list_generating_state (this_smoke_list_creation->en, ENTITY_SUB_TYPE_EFFECT_SMOKE_LIST_VEHICLE_WAKE, INFINITE_SMOKE_ON);
		}
		else
		{
			set_infinite_smoke_list_generating_state (this_smoke_list_creation->en, ENTITY_SUB_TYPE_EFFECT_SMOKE_LIST_VEHICLE_WAKE, INFINITE_SMOKE_OFF);
		}

		free_mem (this_smoke_list_creation);

		entity_smoke_list_creation = entity_smoke_list_creation->next;
	}
}
示例#2
0
文件: routed.c 项目: Comanche93/eech
void attach_routed_vehicle_meta_smoke_lists (entity *en)
{
	int
		item,
		point;

	object_3d_sub_object_index_numbers
		attachment_point;

	meta_smoke_list_types
		type;

	item = 0;

	while (TRUE)
	{
		type = attached_meta_smoke_list_table [item].type;

		if (type == -1)
		{
			break;
		}
		else
		{
			for (point = 0; point < MAX_META_SMOKE_LIST_ATTACHMENT_POINTS; point ++)
			{
				attachment_point = attached_meta_smoke_list_table [item].attachment_point [point];

				if (attachment_point == -1)
				{
					break;
				}

				attach_local_meta_smoke_lists_to_object (en, type, attachment_point, NULL);
			}
		}

		item ++;
	}
}