/* ==================== idMD5Anim::Reload ==================== */ bool idMD5Anim::Reload( void ) { idStr filename; filename = name; Free(); return LoadAnim( filename ); }
/* =============== 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(); }
void C_Animation::LocalFunction(short ID,long P[],_TCHAR *str,C_Handler *) { switch(ID) { case CANM_LOADANIM: LoadAnim(P[0],str); break; } }
/* ===================== 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(); }
/* ==================== idMD5Anim::Reload ==================== */ bool idMD5Anim::Reload( void ) { TIME_THIS_SCOPE( __FUNCLINE__); idStr filename; filename = name; Free(); return LoadAnim( filename ); }
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; }
/* 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; }
/* 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); }
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; }
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; }