#include "CResFile.h" #include "T2People.h" #include "T2PeopleAnimeDef.h" #include "UT2Utils.h" T2PeopleAnimeDef::T2PeopleAnimeDef(CResFile& resFile) { Init(); resFile >> m4; resFile >> m8; resFile >> mNumOfElems; mElems = new T2PeopleAnimeDefElem[mNumOfElems]; for (int i = 0; i < mNumOfElems; i++) mElems[i].Initialize(resFile); } void T2PeopleAnimeDef::Init() { m4 = 0; m8 = 0; mNumOfElems = 0; mElems = NULL; } /*virtual*/ T2PeopleAnimeDef::~T2PeopleAnimeDef() { if (mElems) delete[] mElems; } void T2PeopleAnimeDef::Set(T2People* people, int h, int inIndex) { if (inIndex < mNumOfElems) { int index = inIndex; if (inIndex < 0) index = UT2Utils::Randomize(mNumOfElems); mElems[index].Set(people, h); } } T2PeopleAnimeDefElem::T2PeopleAnimeDefElem() { mFillerStart = 0; mFillerRange = 0; mHStart = 0; mHRange = 0; } /*virtual*/ T2PeopleAnimeDefElem::~T2PeopleAnimeDefElem() { } void T2PeopleAnimeDefElem::Initialize(CResFile& resFile) { resFile >> mFillerStart; resFile >> mFillerRange; resFile >> mHStart; resFile >> mHRange; } void T2PeopleAnimeDefElem::Set(T2People* people, int h) { if (mFillerStart >= 0) { people->SetFiller(mFillerStart + UT2Utils::Randomize(mFillerRange)); people->MoveHTo(h + mHStart + UT2Utils::Randomize(mHRange)); } else { people->SetFiller(-1); } }