Draw_Handler::Draw_Handler(GameState &state, sf::RenderWindow &window) { this->m_gs = &state; this->m_wnd = &window; preLoad(); }
// --- QGAMES::Object* QGAMES::ObjectBuilder::object (int nO) { if (!_alreadyLoaded) preLoad (); // If there is no elements already loaded, they are then loaded... std::map <int, QGAMES::Object*>::const_iterator i = _objects.find (nO); assert (i != _objects.end ()); return ((*i).second); }
void CProjectItem::loadGame(int slotId) { CompressedFile file; // Clear any existing project contents and call preload code preLoad(); clear(); // Open either an existing savegame slot or the new game template if (slotId >= 0) { Common::InSaveFile *saveFile = g_system->getSavefileManager()->openForLoading( g_vm->generateSaveName(slotId)); file.open(saveFile); } else { Common::File *newFile = new Common::File(); if (!newFile->open("newgame.st")) error("Could not open newgame.st"); file.open(newFile); } // Load the savegame header in TitanicSavegameHeader header; readSavegameHeader(&file, header); delete header._thumbnail; // Load the contents in CProjectItem *newProject = loadData(&file); file.IsClassStart(); getGameManager()->load(&file); file.close(); // Clear existing project clear(); // Detach each item under the loaded project, and re-attach them // to the existing project instance (this) CTreeItem *item; while ((item = newProject->getFirstChild()) != nullptr) { item->detach(); item->addUnder(this); } // Loaded project instance is no longer needed newProject->destroyAll(); // Post-load processing postLoad(); }