示例#1
0
/*
====================
idMD5Anim::Reload
====================
*/
bool idMD5Anim::Reload( void ) {
	idStr filename;

	filename = name;
	Free();

	return LoadAnim( filename );
}
示例#2
0
/*
===============
idCameraAnim::Restore
================
*/
void idCameraAnim::Restore(idRestoreGame *savefile) {
	savefile->ReadInt(threadNum);
	savefile->ReadVec3(offset);
	savefile->ReadInt(frameRate);
	savefile->ReadInt(starttime);
	savefile->ReadInt(cycle);
	activator.Restore(savefile);
	LoadAnim();
}
示例#3
0
void C_Animation::LocalFunction(short ID,long P[],_TCHAR *str,C_Handler *)
{
	switch(ID)
	{
		case CANM_LOADANIM:
			LoadAnim(P[0],str);
			break;
	}
}
示例#4
0
/*
=====================
idCameraAnim::Spawn
=====================
*/
void idCameraAnim::Spawn( void ) {
	if( spawnArgs.GetVector( "old_origin", "0 0 0", offset ) ) {
		offset = GetPhysics()->GetOrigin() - offset;
	} else {
		offset.Zero();
	}
	// always think during cinematics
	cinematic = true;
	LoadAnim();
}
示例#5
0
文件: Anim.cpp 项目: ET-NiK/amxxgroup
/*
====================
idMD5Anim::Reload
====================
*/
bool idMD5Anim::Reload( void ) {
	TIME_THIS_SCOPE( __FUNCLINE__);
	
	idStr filename;

	filename = name;
	Free();

	return LoadAnim( filename );
}
示例#6
0
CGEnResource* CGEnMain::LoadPicture(char *name)
{
	eResourceType type = GetResourceType(name);
	if(type==resAnim)
		return LoadAnim(name);
	else
	if(type==resLightTex)
		return LoadLightTex(name);
	else
		return NULL;
}
示例#7
0
/* Charge un sprite et effectue des configurations de base */
struct Sprite *spriteChargement(char *pointeurFichier, int32 positionX, int32 positionY, int32 centreX, int32 centreY, int32 imageIndex, bool animationCyclique, int32 animationCycliqueMode, int32 animationCycliqueIntervalleDebut, int32 animationCycliqueIntervalleFin, int32 animationCycles){
	// Initialise le chemin avec le dossier de base (voir GestionSprites.h)
	char fichierChemin[128]=DossierSprites;	
	// Cree un sprite
	struct Sprite *pointeurSpriteTemporaire=NULL;
	// Alloue de la memoire pour le sprite
	pointeurSpriteTemporaire=(Sprite*)AllocMem(sizeof(Sprite), MEMTYPE_ANY);
	// Si l'allocation a echoue
	if(pointeurSpriteTemporaire==NULL){
		// Retourne une erreur
		return NULL;
	}
	// Concatene le nom du fichier avec le chemin
	strcat(fichierChemin, pointeurFichier);
	// Charge le contenu du sprite
	pointeurSpriteTemporaire->pointeurSpriteContenu=LoadAnim(fichierChemin, MEMTYPE_CEL);
	// Si le contenu n'a pas ete charge
	if(pointeurSpriteTemporaire->pointeurSpriteContenu==NULL){
		// Retourne une erreur
		return NULL;
	}
	// Cree un CCB
	pointeurSpriteTemporaire->pointeurCCB=SetCommonCCB(pointeurSpriteTemporaire->pointeurSpriteContenu);
	// Indique la largeur du sprite
	pointeurSpriteTemporaire->largeurOriginale=pointeurSpriteTemporaire->pointeurCCB->ccb_Width;
	pointeurSpriteTemporaire->hauteurOriginale=pointeurSpriteTemporaire->pointeurCCB->ccb_Height;
	// Duplique la taille du sprite
	pointeurSpriteTemporaire->largeur=pointeurSpriteTemporaire->largeurOriginale;
	pointeurSpriteTemporaire->hauteur=pointeurSpriteTemporaire->hauteurOriginale;
	// Indique les coins du sprite
	pointeurSpriteTemporaire->coinOriginal1.pt_X=0;
	pointeurSpriteTemporaire->coinOriginal1.pt_Y=0;
	pointeurSpriteTemporaire->coinOriginal2.pt_X=pointeurSpriteTemporaire->largeurOriginale;
	pointeurSpriteTemporaire->coinOriginal2.pt_Y=0;
	pointeurSpriteTemporaire->coinOriginal3.pt_X=pointeurSpriteTemporaire->largeurOriginale;
	pointeurSpriteTemporaire->coinOriginal3.pt_Y=pointeurSpriteTemporaire->hauteurOriginale;
	pointeurSpriteTemporaire->coinOriginal4.pt_X=0;
	pointeurSpriteTemporaire->coinOriginal4.pt_Y=pointeurSpriteTemporaire->hauteurOriginale;
	// Initialise le centre du sprite
	spriteModificationCentre(pointeurSpriteTemporaire, pointeurSpriteTemporaire->largeurOriginale/2, pointeurSpriteTemporaire->hauteurOriginale/2);
	// Initialise la frame affichee du sprite
	spriteConfigurationFrame(pointeurSpriteTemporaire, imageIndex);
	// Initialise le placage du sprite
	spriteModificationPlacage(pointeurSpriteTemporaire, positionX, positionY, (positionX+pointeurSpriteTemporaire->largeurOriginale), positionY, (positionX+pointeurSpriteTemporaire->largeurOriginale), (positionY+pointeurSpriteTemporaire->hauteurOriginale), positionX, (positionY+pointeurSpriteTemporaire->hauteurOriginale));
	// Configure l'animation cyclique du sprite
	spriteConfigurationAnimationCyclique(pointeurSpriteTemporaire, animationCyclique, animationCycliqueMode, animationCycliqueIntervalleDebut, animationCycliqueIntervalleFin, animationCycles);
	// Indique ce n'est pas un clone
	pointeurSpriteTemporaire->pointeurClone=NULL;
	// Retourne le sprite
	return pointeurSpriteTemporaire;
}
示例#8
0
/* Modifie le fichier du sprite */
void spriteModificationFichier(struct Sprite *pointeurSprite, char *pointeurFichier){
	// Initialise le chemin avec le dossier de base (voir GestionAffichage.h)
	char fichierChemin[128]=DossierSprites;
	// Concatene le nom du fichier avec le chemin
	strcat(fichierChemin, pointeurFichier);
	// Charge le contenu du sprite
	pointeurSprite->pointeurSpriteContenu=LoadAnim(fichierChemin, MEMTYPE_CEL);
	// Si le contenu n'a pas ete charge
	if(pointeurSprite->pointeurSpriteContenu==NULL){
		// Retourne une erreur
		//return FALSE;
	}
	// Cree un CCB
	pointeurSprite->pointeurCCB=SetCommonCCB(pointeurSprite->pointeurSpriteContenu);

}
示例#9
0
void lGooSvgLine::CreateObject(liGooObject *&obj)
{
	std::cout << "Creating Line" << std::endl;

	NewObject = ObjectFactory->NewLine();
								/*lmVector2D({LineAttributes.Attr_x1,LineAttributes.Attr_y1}),
								lmVector2D({1.0,1.0}),0.0,
								lmVector2D({LineAttributes.Attr_x2,LineAttributes.Attr_y2}));*/
	NewObject->SetPosition({LineAttributes.Attr_x1,LineAttributes.Attr_y1});

	PaintingAttributes.SetPaintingAttributes(NewObject,ObjectFactory);

	liGooLine *NewLine = NewObject->ToLine();
	NewLine->SetV2({LineAttributes.Attr_x2,LineAttributes.Attr_y2});

	for(auto I : Animates)
	{
		LoadAnim(I,NewObject);
	}

	obj = NewObject;
	NewObject = nullptr;
}
示例#10
0
void lGooSvgEllipse::CreateObject(liGooObject *&obj)
{
	std::cout << "Creating Ellipse" << std::endl;

	NewObject = ObjectFactory->NewEllipse();	/*lmVector2D({EllipseAttributes.Attr_cx,EllipseAttributes.Attr_cy}),
										lmVector2D({1.0,1.0}),0.0,
										EllipseAttributes.Attr_rx,EllipseAttributes.Attr_ry);
										*/
	NewObject->SetPosition({EllipseAttributes.Attr_cx,EllipseAttributes.Attr_cy});

	PaintingAttributes.SetPaintingAttributes(NewObject,ObjectFactory);

	liGooEllipse *NewEllipse = NewObject->ToEllipse();
	NewEllipse->SetRadiusX(EllipseAttributes.Attr_rx);
	NewEllipse->SetRadiusY(EllipseAttributes.Attr_ry);

	for(auto I : Animates)
	{
		LoadAnim(I,NewObject);
	}

	obj = NewObject;
	NewObject = nullptr;
}