/* Protection screen and cinematic don't need the player and enemies polygon data so _memList[video2Index] is never loaded for those parts of the game. When needed (for action phrases) _memList[video2Index] is always loaded with 0x11 (as seen in memListParts). */ void Resource::setupPart(uint16_t partId) { if (partId == currentPartId) return; if (partId < GAME_PART_FIRST || partId > GAME_PART_LAST) error("Resource::setupPart() ec=0x%X invalid partId", partId); uint16_t memListPartIndex = partId - GAME_PART_FIRST; uint8_t paletteIndex = memListParts[memListPartIndex][MEMLIST_PART_PALETTE]; uint8_t codeIndex = memListParts[memListPartIndex][MEMLIST_PART_CODE]; uint8_t videoCinematicIndex = memListParts[memListPartIndex][MEMLIST_PART_POLY_CINEMATIC]; uint8_t video2Index = memListParts[memListPartIndex][MEMLIST_PART_VIDEO2]; // Mark all resources as located on harddrive. invalidateAll(); _memList[paletteIndex].state = 2; _memList[codeIndex].state = 2; _memList[videoCinematicIndex].state = 2; // This is probably a cinematic or a non interactive part of the game. // Player and enemy polygons are not needed. if (video2Index != MEMLIST_PART_NONE) _memList[video2Index].state = 2; loadMarkedAsNeeded(); segPalettes = _memList[paletteIndex].bufPtr; segBytecode = _memList[codeIndex].bufPtr; segCinematic = _memList[videoCinematicIndex].bufPtr; // This is probably a cinematic or a non interactive part of the game. // Player and enemy polygons are not needed. if (video2Index != MEMLIST_PART_NONE) _segVideo2 = _memList[video2Index].bufPtr; debug(DBG_RES,""); debug(DBG_RES,"setupPart(%d)",partId-GAME_PART_FIRST); debug(DBG_RES,"Loaded resource %d (%s) in segPalettes.",paletteIndex,resTypeToString(_memList[paletteIndex].type)); debug(DBG_RES,"Loaded resource %d (%s) in segBytecode.",codeIndex,resTypeToString(_memList[codeIndex].type)); debug(DBG_RES,"Loaded resource %d (%s) in segCinematic.",videoCinematicIndex,resTypeToString(_memList[videoCinematicIndex].type)); if (video2Index != MEMLIST_PART_NONE) debug(DBG_RES,"Loaded resource %d (%s) in _segVideo2.",video2Index,resTypeToString(_memList[video2Index].type)); currentPartId = partId; // _scriptCurPtr is changed in this->load(); _scriptBakPtr = _scriptCurPtr; }
void Resource::setupPtrs(uint16 ptrId) { if (ptrId != _curPtrsId) { uint8 ipal = 0; uint8 icod = 0; uint8 ivd1 = 0; uint8 ivd2 = 0; if (ptrId >= 0x3E80 && ptrId <= 0x3E89) { uint16 part = ptrId - 0x3E80; ipal = _memListParts[part][0]; icod = _memListParts[part][1]; ivd1 = _memListParts[part][2]; ivd2 = _memListParts[part][3]; } else { error("Resource::setupPtrs() ec=0x%X invalid ptrId", 0xF07); } invalidateAll(); _memList[ipal].valid = 2; _memList[icod].valid = 2; _memList[ivd1].valid = 2; if (ivd2 != 0) { _memList[ivd2].valid = 2; } load(); _segVideoPal = _memList[ipal].bufPtr; _segCode = _memList[icod].bufPtr; _segVideo1 = _memList[ivd1].bufPtr; if (ivd2 != 0) { _segVideo2 = _memList[ivd2].bufPtr; } _curPtrsId = ptrId; } _scriptBakPtr = _scriptCurPtr; }
bool MainWindow::loadProject( QString fileName ) { try { QDir d = QFileInfo( fileName ).absoluteDir(); QString projectDir = QDir::cleanPath( d.absolutePath() ); QFile file( fileName ); if ( !file.open( QIODevice::ReadOnly ) ) throw std::runtime_error( "cant open project file" ); QDomDocument doc; if ( !doc.setContent( &file ) ) throw std::runtime_error( "cant load project file" ); QDomElement root = doc.documentElement(); if ( root.tagName() != "project" ) throw std::runtime_error( "invalid project format" ); clearUndoHistory(); project.load( root, projectDir ); invalidateAll(); spriteView->load(root); graphicsView->load( root ); } catch (...) { return false; } return true; }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , m_defaultMasterDelay(5) , m_defaultLoginDelay(15) , m_defaultLength(8) , m_removeText(tr("&Remove URL && User")) , m_saveText(tr("&Save URL && User")) , m_saveToolTip(tr("Save current URL & User. Passwords are not saved.")) , m_removeToolTip(tr("Don't remember current URL & User anymore.")) , m_masterPasswordText(tr("<b>Master password:</b>")) , m_masterDelay(m_defaultMasterDelay) , m_loginDelay(m_defaultLoginDelay) , m_autoCopy(false) , m_autoClear(false) , m_alwaysOnTop(true) , m_masterEdit(new QLineEdit(this)) , m_masterLabel(new QLabel(this)) , m_userEdit(new QLineEdit(this)) , m_passwdEdit(new QLineEdit(this)) , m_urlCombo(new QComboBox(this)) , m_genButton(new QPushButton(tr("&Show password!"), this)) , m_saveButton(new QPushButton(m_saveText, this)) , m_lengthSpinBox(new QSpinBox(this)) , m_masterTimer(new QTimer) , m_timeLine(new QTimeLine) , m_settingsDlg(new SettingsDlg(this)) { setWindowTitle("Fleeting Password Manager"); setWindowIcon(QIcon(":/fleetingpm.png")); initWidgets(); initMenu(); initBackground(); loadSettings(); // Apply window flags if (m_alwaysOnTop) { setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); } // Initialize the timer used when fading out the login details. m_timeLine->setDuration(m_loginDelay * 1000); connect(m_timeLine, SIGNAL(frameChanged(int)), this, SLOT(decreasePasswordAlpha(int))); connect(m_timeLine, SIGNAL(finished()), this, SLOT(invalidateAll())); m_timeLine->setFrameRange(0, 255); // Initialize the timer used when showing the // master password. m_masterTimer->setInterval(m_masterDelay * 60 * 1000); m_masterTimer->setSingleShot(true); connect(m_masterTimer, SIGNAL(timeout()), m_masterEdit, SLOT(clear())); connect(m_masterEdit, SIGNAL(textChanged(QString)), m_masterTimer, SLOT(start())); // Load previous location or center the window. centerOrRestoreLocation(); }
void MainWindow::newProject() { clearUndoHistory(); project.newProject(); invalidateAll(); spriteView->setCurrentIndex(spriteModel->getRootIndex()); graphicsView->newProject(); // reset guide lines }
void MODEL::loadMesh( const char* file ) { wfMesh * amesh = new wfMesh(file); amesh->normalize(); wingedMesh * wingedM = new wingedMesh(amesh); //model takes care of the memory management of mesh and wingedMesh //should encapsulate creation in Model!!!! this->setMesh(wingedM); invalidateAll(); }
void MODEL::freeAll() { if(d0_valid!= INVALID){ delete d0; } if(d1_valid!= INVALID){ delete d1; } if(id0_valid!= INVALID){ delete id0; } if(border1_valid!= INVALID){ delete border1; } if(border2_valid!= INVALID){ delete border2; } if(duald1_valid != INVALID){ delete duald1; } if(duald1_t_valid != INVALID){ delete duald1_t; } if(star0_valid!= INVALID){ delete star0; } if(star1_valid!= INVALID){ delete star1; } if(star2_valid!= INVALID){ delete star2; } if(star0_mixed_valid!= INVALID){ delete star0_mixed; } if(star1_mixed_valid!= INVALID){ delete star1_mixed; } if(laplace0_mixed_valid!= INVALID){ delete laplace0_mixed; } if(coderiv1_mixed_valid!= INVALID){ delete coderiv1_mixed; } if(laplace0_ignoreBorder_valid!= INVALID){ delete laplace0_ignoreBorder; } if(coderiv1_ignoreBorder_valid!= INVALID){ delete coderiv1_ignoreBorder; } invalidateAll(); }
void updateViewportSize (bool canTriggerUpdate) { const double newScale = Desktop::getInstance().getDisplays() .getDisplayContaining (component.getScreenBounds().getCentre()).scale; Rectangle<int> newArea (roundToInt (component.getWidth() * newScale), roundToInt (component.getHeight() * newScale)); if (scale != newScale || viewportArea != newArea) { scale = newScale; viewportArea = newArea; if (canTriggerUpdate) invalidateAll(); } }
MODEL::MODEL(void) { //standard mesh to be displayed wfMesh * amesh = new ball(1, 20,10); //wfMesh * amesh = new wfMesh("../Objfiles/obstacleTiny.obj"); amesh->normalize(); myMesh = new wingedMesh(amesh); //myMesh = new wingedMesh(new ball(1, 10,5)); myMesh->getWfMesh()->attach(this); d0 = d1 = border1 =border2 =duald1 = duald1_t =id0 =star0 = star1 = star2 = star0_mixed = star1_mixed = coderiv1_mixed = coderiv1_ignoreBorder = laplace0_mixed = laplace0_ignoreBorder= NULL; invalidateAll(); }
~LabelCacheImpl() { invalidateAll(); }