This commit is contained in:
parent
8788076d39
commit
1c5c1b4011
59 changed files with 24871 additions and 56 deletions
164
Utils/Libs/GLib/Ganim.cpp
Normal file
164
Utils/Libs/GLib/Ganim.cpp
Normal file
|
@ -0,0 +1,164 @@
|
|||
/*=========================================================================
|
||||
|
||||
GANIM.CPP
|
||||
|
||||
Author: Gary Liddon @ Fareham
|
||||
Created:
|
||||
Project:
|
||||
Purpose:
|
||||
|
||||
Copyright (c) 1997 Gary Liddon
|
||||
|
||||
===========================================================================*/
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Includes
|
||||
-------- */
|
||||
|
||||
/* Std Lib
|
||||
------- */
|
||||
|
||||
/* STL
|
||||
--- */
|
||||
|
||||
/* Glib
|
||||
---- */
|
||||
#include "gfname.hpp"
|
||||
|
||||
/* Local
|
||||
----- */
|
||||
#include "ganim.hpp"
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Structure defintions
|
||||
-------------------- */
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Tyepdefs && Defines
|
||||
------------------- */
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Function types
|
||||
-------------- */
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Vars
|
||||
---- */
|
||||
std::vector<FilterDetails> FilterDetails::AllDetails ;
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Data
|
||||
---- */
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Function: GAnim::GAnim(void)
|
||||
Notes: Constructor
|
||||
---------------------------------------------------------------------- */
|
||||
GAnim::GAnim(void)
|
||||
{
|
||||
TheFrames.reserve(2000);
|
||||
}
|
||||
|
||||
GAnim::~GAnim(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
bool GAnim::Load(GAnimFilter & Af,char const * IoName)
|
||||
{
|
||||
bool RetVal;
|
||||
|
||||
if (IoName)
|
||||
Af.SetName(IoName);
|
||||
|
||||
RetVal=Af.Load(*this);
|
||||
|
||||
return(RetVal);
|
||||
|
||||
}
|
||||
|
||||
bool GAnim::Save(GAnimFilter & Af,char const * IoName)
|
||||
{
|
||||
bool RetVal;
|
||||
|
||||
if (IoName)
|
||||
Af.SetName(IoName);
|
||||
|
||||
RetVal=Af.Save(*this);
|
||||
|
||||
return(RetVal);
|
||||
}
|
||||
|
||||
Frame & GAnim::GetNewFrame(void)
|
||||
{
|
||||
return(operator[](TheFrames.size()));
|
||||
}
|
||||
|
||||
int GAnim::AddPalette(Palette & P)
|
||||
{
|
||||
for (int f=0;f<ThePals.size();f++)
|
||||
{
|
||||
if (P==ThePals[f])
|
||||
return(f);
|
||||
}
|
||||
|
||||
ThePals.push_back(P);
|
||||
return(ThePals.size()-1);
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Function: GAnimFilter::GAnimFilter(char const * FName)
|
||||
Notes: Constructor
|
||||
---------------------------------------------------------------------- */
|
||||
GAnimFilter::GAnimFilter(char const * FName)
|
||||
{
|
||||
FileName=FName;
|
||||
}
|
||||
|
||||
|
||||
FilterDetails::FilterDetails(GAnimFilter & nAnmFilter,char const * nExt)
|
||||
{
|
||||
Ext=nExt;
|
||||
Ext.Lower();
|
||||
AnmFilter=nAnmFilter.Create(NULL);
|
||||
AllDetails.push_back(*this);
|
||||
}
|
||||
|
||||
GAnimFilter * FilterDetails::GetFilter(char const * Fname)
|
||||
{
|
||||
GAnimFilter * RetFilter;
|
||||
GString ExtStr(GFName(Fname).Ext());
|
||||
|
||||
ExtStr.Lower();
|
||||
|
||||
RetFilter=NULL;
|
||||
|
||||
for (int f=0;f<AllDetails.size() && !RetFilter;f++)
|
||||
{
|
||||
|
||||
if (AllDetails[f].Ext==ExtStr)
|
||||
RetFilter=AllDetails[f].AnmFilter->Create(Fname);
|
||||
}
|
||||
|
||||
return(RetFilter);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Frame & GAnim::operator[](int Index)
|
||||
{
|
||||
if (Index >= TheFrames.capacity())
|
||||
TheFrames.reserve(TheFrames.capacity()+1000);
|
||||
|
||||
if (Index >= TheFrames.size())
|
||||
TheFrames.resize(TheFrames.size()+1);
|
||||
|
||||
return(TheFrames[Index]);
|
||||
}
|
||||
|
||||
/*===========================================================================
|
||||
end */
|
||||
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue