//---------------------------------------------------------------- bool TestGame::OnStartUp () { Importer* pkImporter = getImporter(); m_pkScene1 = new TestScene(); if (!(m_pkScene1->init("Escena1", pkImporter, m_pkInput, m_pkSound, m_pkRender))) return false; addSceneToUpdate(m_pkScene1); addSceneToDraw(m_pkScene1); /* m_pkScene2 = new TestScene2(); m_pkScene2->init("Escena2", pkImporter, m_pkInput, m_pkSound, m_pkRender); addSceneToUpdate(m_pkScene2); addSceneToDraw(m_pkScene2); */ m_pkCam1 = new Camera(m_pkRender); //m_pkCam1->SetLookPos( setCurrentCamera(m_pkCam1); return true; }
void WalkmeshManager::fill(Field *field, bool reload) { if((!reload && field->inf() == infFile) || !field) return; infFile = field->inf(); idFile = field->walkmesh(); caFile = field->camera(); scriptsAndTexts = field->scriptsAndTexts(); if(!idFile->isOpen() || !caFile->isOpen() || !infFile->isOpen()) { QMessageBox::warning(this, tr("Erreur d'ouverture"), tr("Erreur d'ouverture du walkmesh")); } int camCount = 0; if(walkmesh) { walkmesh->fill(field); } if(caFile->isOpen()) { camCount = caFile->cameraCount(); if(camList->count() != camCount) { camList->blockSignals(true); camList->clear(); for(int i=0 ; i<camCount ; ++i) { camList->addItem(tr("Caméra %1").arg(i)); } camList->blockSignals(false); } setCurrentCamera(0); } tabWidget->widget(0)->setEnabled(caFile->isOpen() && camCount > 0); if(idFile->isOpen()) { int triangleCount = idFile->triangleCount(); if(idList->count() != triangleCount) { idList->blockSignals(true); idList->clear(); for(int i=0 ; i<triangleCount ; ++i) { idList->addItem(tr("Triangle %1").arg(i)); } idList->blockSignals(false); } idList->setCurrentRow(0); setCurrentId(0); } tabWidget->widget(1)->setEnabled(idFile->isOpen()); if(infFile->isOpen()) { gateList->clear(); foreach(const Exit &gateway, infFile->exitLines()) { if(gateway.fieldID != 0x7FFF) { gateList->addItem(QString("%1 (%2)").arg(Data::field_names.value(gateway.fieldID)).arg(gateway.fieldID)); } else { gateList->addItem(tr("Inutilisé")); } } gateList->setCurrentRow(0); setCurrentGateway(0); doorList->clear(); int doorID = 0; foreach(const Trigger &trigger, infFile->triggers()) { if(trigger.background_parameter != 0xFF) { doorList->addItem(tr("Porte %1").arg(doorID)); } else { doorList->addItem(tr("Inutilisé")); } ++doorID; } doorList->setCurrentRow(0); setCurrentDoor(0); if(!infFile->isJap()) { arrowList->clear(); int arrowID = 0; foreach(const Arrow &arrow, infFile->arrows()) { if(arrow.type != 0) { arrowList->addItem(tr("Flèche %1").arg(arrowID)); } else { arrowList->addItem(tr("Inutilisé")); } ++arrowID; } arrowList->setCurrentRow(0); setCurrentArrow(0); }