void CThirdPlayerActorSkinned::Update(void) { //need respawn if (m_bSpawn) { dmat4 trans = m_meshPlayer->getWorldTransform(); trans.setColumn3(3, m_vSpawnPos); m_meshPlayer->setWorldTransform(trans); } //update meshPlayer's pos, rot, scale according to camera's pos m_meshPlayer->setWorldTransform(m_playerActor->getWorldTransform() * rotateZ((double)90.0f)); #ifdef debug { dmat4 tempMat = m_meshPlayer->getWorldTransform(); dvec3 tempVec = tempMat.getTranslate(); cout <<"player's pos: "<< tempVec.x << " " << tempVec.y << " " << tempVec.z << endl; if (m_meshPlayer->isEnabled()) { cout << "meshPlayer is Enabled " << endl; } } #endif //update animations { UpdateAnim(); } }
void Battle::Ally::CreateSprite() { if (Player::engine != Player::EngineRpg2k3) return; sprite.reset(new Sprite()); sprite->SetOx(24); sprite->SetOy(24); sprite->SetX(rpg_actor->battle_x); sprite->SetY(rpg_actor->battle_y); sprite->SetZ(rpg_actor->battle_y); SetAnimState(anim_state); UpdateAnim(0); }
void CUICharacterCreateNew::OnUpdate( float fDeltaTime, ULONG ElapsedTime ) { GameDataManager* pGame = GameDataManager::getSingleton(); CJobInfo* pInfo = CJobInfo::getSingleton(); if (pInfo == NULL) return; if (pGame == NULL) return; CharacterCreateNew* pCharCreate = pGame->GetCharCreate(); if (pCharCreate == NULL) return; int nJob = pCharCreate->GetSelJob(); if (_pGameState->m_pCharCreateUIModels[nJob] == NULL) return; if (m_eAniState == UI_ANI_START) { INDEX animID = ska_GetIDFromStringTable(pInfo->GetAnimationName( nJob, ANIM_LOGIN_GAMESTART)); FLOAT fAniStartTime = _pGameState->GetAnimStartTime(_pGameState->m_pCharCreateUIModels[nJob], animID); FLOAT fAniTime = _pGameState->GetAnimPlayTime(_pGameState->m_pCharCreateUIModels[nJob], animID); if (fAniStartTime >= fAniTime) { m_eAniState = UI_ANI_IDLE1; _pGameState->ClearModelEffect(nJob, LOGIN_MODEL_TYPE_CREATEUI); _pGameState->ModelPlayAnimation(_pGameState->m_pCharCreateUIModels[nJob], nJob, ANIM_LOGIN_IDLE01, AN_LOOPING); } } else if (m_eAniState > UI_ANI_START) { UpdateAnim(nJob); } }