void gameInit(void) { centerPlayer(); killRocks(); killBullets(); killEnemies(); killExplosions(); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); timer = new QTimer(); ui->glWidget->setMainWindow(this); /// Collision interpretation modes. ui->optionCollisionCombo->clear(); ui->optionCollisionCombo->addItem(tr("All collisions")); ui->optionCollisionCombo->addItem(tr("First collision")); ui->optionCollisionCombo->setCurrentIndex(0); /// Character shapes display options. ui->optionShowPlayerSolidCombo->clear(); ui->optionShowPlayerSolidCombo->addItem(tr("Hide")); ui->optionShowPlayerSolidCombo->addItem(tr("Wireframe")); ui->optionShowPlayerSolidCombo->addItem(tr("Fill")); ui->optionShowPlayerSolidCombo->setCurrentIndex(0); /// Object shapes display options. ui->optionShowObjectSolidCombo->clear(); ui->optionShowObjectSolidCombo->addItem(tr("Wireframe")); ui->optionShowObjectSolidCombo->addItem(tr("Fill")); ui->optionShowObjectSolidCombo->setCurrentIndex(0); /// Character shapes for physical model. ui->optionPlayerShapeCombo->clear(); ui->optionPlayerShapeCombo->addItem(tr("Point")); ui->optionPlayerShapeCombo->addItem(tr("Line segment")); ui->optionPlayerShapeCombo->addItem(tr("Triangle")); ui->optionPlayerShapeCombo->setCurrentIndex(1); /// Application logic criterias. ui->optionCriteriaCombo->clear(); ui->optionCriteriaCombo->addItem(tr("Consider all objects")); ui->optionCriteriaCombo->addItem(tr("Consider other than green objects")); ui->optionCriteriaCombo->addItem(tr("Consider green objects only")); ui->optionCriteriaCombo->setCurrentIndex(0); /// connections - comboboxes connect(ui->optionCollisionCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(collisionModeChanged())); connect(ui->optionCriteriaCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(collisionModeChanged())); connect(ui->optionShowPlayerSolidCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(optionsFromGui())); connect(ui->optionShowObjectSolidCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(optionsFromGui())); connect(ui->optionPlayerShapeCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(collisionMeshChanged())); /// connections - buttons connect(ui->optionVectorCheck,SIGNAL(clicked()), this, SLOT(optionsFromGui())); connect(ui->optionPlaneCheck,SIGNAL(clicked()), this, SLOT(optionsFromGui())); connect(ui->playerPosCenterButton,SIGNAL(clicked()), this, SLOT(centerPlayer())); /// connections - edits connect(ui->playerPosXEdit,SIGNAL(textChanged(QString)), this, SLOT(playerPosFromGui())); connect(ui->playerPosYEdit,SIGNAL(textChanged(QString)), this, SLOT(playerPosFromGui())); connect(ui->playerPosZEdit,SIGNAL(textChanged(QString)), this, SLOT(playerPosFromGui())); connect(ui->playerPosRadEdit,SIGNAL(valueChanged(double)), this, SLOT(playerPosFromGui())); connect(ui->optionVectorLengthEdit,SIGNAL(valueChanged(double)), this, SLOT(playerPosFromGui())); connect(ui->optionVectorBackEdit,SIGNAL(valueChanged(double)), this, SLOT(playerPosFromGui())); /// connections - menu actions connect(ui->actionExit,SIGNAL(triggered()), this, SLOT(close())); connect(ui->actionAbout,SIGNAL(triggered()), this, SLOT(about())); connect(ui->actionAboutQt,SIGNAL(triggered()), qApp, SLOT(aboutQt())); connect(ui->actionLoad,SIGNAL(triggered()), this, SLOT(loadSituation())); connect(ui->actionSave,SIGNAL(triggered()), this, SLOT(saveSituation())); connect(ui->actionCaptureSituation,SIGNAL(triggered()), this, SLOT(captureSituation())); connect(ui->actionPlaySequence,SIGNAL(triggered()), this, SLOT(playSequence())); connect(ui->actionToFirstSituation,SIGNAL(triggered()), this, SLOT(toFirstSituation())); connect(ui->actionNextSituation,SIGNAL(triggered()), this, SLOT(nextSituation())); connect(ui->actionPreviousSituation,SIGNAL(triggered()), this, SLOT(previousSituation())); /// connections - timer timeout connect(timer, SIGNAL(timeout()), this, SLOT(sequenceTimeout())); /// connections - from glWidget connect(ui->glWidget, SIGNAL(playerPosChanged()), this, SLOT(playerPosToGui())); connect(ui->glWidget, SIGNAL(glInitialized()), this, SLOT(collisionModeChanged())); ui->collisionTree->header()->resizeSections(QHeaderView::ResizeToContents); optionsFromGui(); }