view plugins/crazychat/face.c @ 12986:4e9935a539db

[gaim-migrate @ 15339] We need to figure this out so that things don't break again. The new plugin dependency unload code assumed that all plugins would have ids set, this was true for most plugins, but both the perl and tcl loaders didn't set id for perl and tcl plugins. And I didn't see any code in my quick looking which actually verified (m)any parts of the struct. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Sun, 22 Jan 2006 07:09:06 +0000
parents ed017b9c532d
children
line wrap: on
line source

#include "face.h"
#include "sharky.h"
#include "doggy.h"
#include <assert.h>

FACE init_face(KIND kind)
{
	FACE face;
	face = (FACE)malloc(sizeof(*face));

	switch(kind){
		case DOG:
			init_dog(face);			
			break;
		case SHARK:
			init_shark(face);
			break;
		default:
			printf("default face\n");
			init_dog(face);
			break;
	}			
	return face;	
}

void draw_face(FACE face, GLfloat zrot, GLfloat yrot, BOOL left_eye, BOOL right_eye, GLfloat mouth_open, DIRECTION dir, OUTPUT_MODE mode){
	face->draw_func(face, zrot, yrot, left_eye, right_eye, mouth_open, dir, mode);
}

void change_materials(FACE f, int* mats, int num_change){
	int i;
	assert(!(num_change<0 || num_change>NUM_PARTS));
	for(i=0;i<num_change;i++){
		f->mat_indeces[i]=mats[i];
	}
}

void free_face(FACE f){}