// Initialize controller bool CLoadScreenController::Init () { m_ScrWidth = m_pGlobalVars->GetIVar("view_width"); m_ScrHeight = m_pGlobalVars->GetIVar("view_height"); IOGSettingsSource* pSource = m_pReader->OpenSource(GetResourceMgr()->GetUIPath("LoadScreenUI.xml")); if (!pSource) return false; IOGGroupNode* pRoot = m_pReader->OpenGroupNode(pSource, NULL, "LoadScreen"); IOGGroupNode* pLoadSprNode = m_pReader->OpenGroupNode(pSource, pRoot, "LoadSpr"); if (pLoadSprNode != NULL) { m_LoadSprStr = m_pReader->ReadStringParam(pLoadSprNode, "sprite"); m_LoadSprPos = m_pReader->ReadVec2Param(pLoadSprNode, "x", "y"); m_LoadSprSize = m_pReader->ReadVec2Param(pLoadSprNode, "width", "height"); m_pReader->CloseGroupNode(pLoadSprNode); } IOGGroupNode* pLabelNode = m_pReader->OpenGroupNode(pSource, pRoot, "LoadLabel"); if (pLabelNode != NULL) { m_LoadLabelPos = m_pReader->ReadVec2Param(pLabelNode, "x", "y"); m_pReader->CloseGroupNode(pLabelNode); } m_pReader->CloseGroupNode(pRoot); m_pReader->CloseSource(pSource); return true; }
IUIButton* CUIButton::addButton(const std::string& sLabel, const std::string& sBitmapName, const std::string& sGroupName, int iInsertAt) { s_IWEImageData imgData; imgData.pData = GetResourceMgr()->getBitmapMaterial(sBitmapName, sGroupName, imgData.width, imgData.height, imgData.bpp); return addButton(sLabel, imgData, iInsertAt); }
// Initialize scene bool CEffectViewerScene::Init () { if (m_bInited) return true; glewInit(); m_pRenderer = GetRenderer(); m_pRenderer->SetViewport(m_ResX, m_ResY, 4.0f, 4500.0f, 0.67f); m_pResourceMgr = GetResourceMgr(); m_pSg = GetSceneGraph(); m_pCamera = m_pRenderer->GetCamera(); m_pActorMgr = GetActorManager(); UpdateCamera(); OGVec3 vLightDir = OGVec3(0,1,0); OGVec4 vLightColor = OGVec4(1,1,1,1); IOGLight* pMainLight = m_pRenderer->GetLightMgr()->CreateLight(); pMainLight->type = OG_LIGHT_DIRECTIONAL; pMainLight->vPosition = vLightDir; pMainLight->fIntensity = 100.0f; pMainLight->vAmbientColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f); pMainLight->vDiffuseColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f); pMainLight->vSpecularColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f); glDisable(GL_CULL_FACE); glEnable(GL_NORMALIZE); if (m_pResourceMgr->Load(OG_RESPOOL_GAME) == false) { return false; } if (GetActorParamsMgr()->Init() == false) { return false; } const std::map<std::string, EffectItem>& effects = GetEffectsManager()->GetEffectsList(); std::map<std::string, EffectItem>::const_iterator iter = effects.begin(); for (; iter != effects.end(); ++iter) { CommonToolEvent<ResLoadEventData> cmd(EVENTID_RESLOAD); cmd.SetEventCustomData(ResLoadEventData(wxT(iter->first.c_str()), wxT("Effects"), wxT(""))); GetEventHandlersTable()->FireEvent(EVENTID_RESLOAD, &cmd); } SetupEffect(NULL); m_bInited = true; return true; }
CLoadScreenController::CLoadScreenController() : m_State(CSTATE_NO), m_Type(SCRTYPE_LOAD), m_pLoadSpr(NULL), m_pCurLevel(NULL), m_bLoaded(false), m_bDisplayed(false) { m_pGlobalVars = GetGlobalVars(); m_pResourceMgr = GetResourceMgr(); m_pRenderer = GetRenderer(); m_pReader = GetSettingsReader(); }
void CUIGallery::addItem(const std::string& sLabel, const std::string& sBitmapName, const std::string& sBitmapGroupName, char* pGroupName) { s_IWEImageData imgData; imgData.pData = GetResourceMgr()->getBitmapMaterial(sBitmapName, sBitmapGroupName, imgData.width, imgData.height, imgData.bpp); addItem(sLabel, imgData, pGroupName); }
// Create actor. bool COGActorStatic::Create (IOGActorParams* _pParams, const OGVec3& _vPos, const OGVec3& _vRot, const OGVec3& _vScale) { m_pParams = _pParams; m_pModel = GetResourceMgr()->GetModel(OG_RESPOOL_GAME, m_pParams->model_alias); m_pPhysicalObject = m_pPhysics->CreateObject(&m_pParams->physics, m_pModel->GetAABB(), this); m_pPhysicalObject->SetWorldTransform(_vPos, _vRot, _vScale); m_pNode = m_pSg->CreateNode(m_pModel, m_pPhysicalObject); return true; }
// Initialize emitter. void COGEmitterScrollingRay::Init(IOGGroupNode* _pNode) { LoadParams(_pNode); m_pTexture = GetResourceMgr()->GetTexture(OG_RESPOOL_GAME, m_Texture); m_Blend = OG_BLEND_ALPHAONE; m_pVBO = m_pRenderer->CreateDynVertexBuffer(2*60); m_bPositionUpdated = false; m_bPosReady = false; m_Frames.reserve(m_MappingFinishId - m_MappingStartId + 1); for (unsigned int i = m_MappingStartId; i <= m_MappingFinishId; ++i) { m_Frames.push_back(m_pTexture->GetMapping(i)); } }
// Update controller void CLoadScreenController::Update (unsigned long _ElapsedTime) { if (!m_bLoaded && m_State == CSTATE_ACTIVE && m_bDisplayed) { OG_LOG_INFO("Loading started"); GetActorParamsMgr()->Init(); OG_LOG_INFO("Actor params manager initialized"); GetLevelManager()->Init(); OG_LOG_INFO("Level manager initialized"); GetResourceMgr()->Load(OG_RESPOOL_GAME); OG_LOG_INFO("Resource managers loaded"); IOGLevelParams* pLevelParams = GetGameSequence()->GetLevel(0); m_pCurLevel = GetLevelManager()->LoadLevel(pLevelParams->alias); if (m_pCurLevel == NULL) { OG_LOG_ERROR("Failed to load level %s", pLevelParams->alias.c_str()); Deactivate(); m_State = CSTATE_FAILED; return; } OG_LOG_INFO("Current level loading finished"); OGVec3 vCraftPos = m_pCurLevel->GetStartPosition(); vCraftPos.y = 80.0f; IOGActor* pPlayerActor = GetActorManager()->CreateActor( std::string(pLevelParams->player_actor), vCraftPos, OGVec3(0,0,0), OGVec3(1,1,1)); pPlayerActor->SetWeapon(GetActorParamsMgr()->GetWeaponParams(pLevelParams->weapon)); GetActorManager()->AddActor(pPlayerActor); OG_LOG_INFO("Player actor added"); m_bLoaded = true; Deactivate(); } }
// Initialize scene bool CViewerScene::Init () { if (m_bInited) return true; glewInit(); m_pRenderer = GetRenderer(); m_pRenderer->SetViewport(m_ResX, m_ResY, 4.0f, 4500.0f, 0.67f); m_pResourceMgr = GetResourceMgr(); m_pSg = GetSceneGraph(); m_pCamera = m_pRenderer->GetCamera(); m_pActorMgr = GetActorManager(); OGVec3 vTarget (0, 0, 0); OGVec3 vDir (0, -1.0f, 0.4f); vDir = vDir.normalize(); OGVec3 vUp = vDir.cross (OGVec3(1, 0, 0)); m_pCamera->Setup (vTarget - (vDir*m_fCameraDistance), vTarget, vUp); OGVec3 vLightDir = OGVec3(0,1,0); OGVec4 vLightColor = OGVec4(1,1,1,1); IOGLight* pMainLight = m_pRenderer->GetLightMgr()->CreateLight(); pMainLight->type = OG_LIGHT_DIRECTIONAL; pMainLight->vPosition = vLightDir; pMainLight->fIntensity = 100.0f; pMainLight->vAmbientColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f); pMainLight->vDiffuseColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f); pMainLight->vSpecularColor = OGVec4(vLightColor.x, vLightColor.y, vLightColor.z, 1.0f); glDisable(GL_CULL_FACE); glEnable(GL_NORMALIZE); if (m_pResourceMgr->Load(OG_RESPOOL_GAME) == false) { return false; } if (GetActorParamsMgr()->Init()) { std::list<IOGActorParams*> ActorsParamsList; GetActorParamsMgr()->GetParamsList(ActorsParamsList); std::list<IOGActorParams*>::const_iterator iter = ActorsParamsList.begin(); for (; iter != ActorsParamsList.end(); ++iter) { if ((*iter)->type == OG_ACTOR_MISSILE || (*iter)->type == OG_ACTOR_PLASMAMISSILE || (*iter)->type == OG_ACTOR_GAUSSRAY ) { continue; } CommonToolEvent<ResLoadEventData> cmd(EVENTID_RESLOAD); cmd.SetEventCustomData(ResLoadEventData(wxT((*iter)->alias.c_str()), wxT(ActorTypeToGroupName((*iter)->type).c_str()), wxT((*iter)->icon.c_str()))); GetEventHandlersTable()->FireEvent(EVENTID_RESLOAD, &cmd); } } else { return false; } SetupModel(NULL); m_bInited = true; return true; }