FrontEnd::MainWindow::MainWindow() { LoadSky(); skyWidget = new SkyWidget(0, wholeSky, equatorialGrid, projection); QGridLayout *mainLayout = new QGridLayout; mainLayout->setColumnStretch(0, 1); mainLayout->setColumnStretch(3, 1); mainLayout->addWidget(skyWidget, 0, 0, 1, 4); setLayout(mainLayout); setWindowTitle(tr("SkyAtlas")); }
void dxModel::Load(const char * filename, bool fullpath) { Free(); FS_Change(FS_LOADING); loading_percent = 0; StrPool_Clear(); DX_SAFE_FREE(mod_base); //free old map char fullfilename[MAX_PATH]; if (fullpath) { static char temp[MAX_PATH]; static char dirname[MAX_PATH]; Str_ExtractDirName(filename, temp); Str_ExtractDirName(temp, dirname); Str_ExtractDirName(dirname, temp); strcat_s(temp, "\\valve"); sysvar.basedir = dirname; sysvar.basedir_valve = temp; strcpy_s(fullfilename, filename); } else { sysvar.basedir = default_basedir; sysvar.basedir = default_basedir; sprintf_s(fullfilename, MAX_PATH, "%s\\maps\\%s.bsp", sysvar.basedir, filename); } FILE * f = NULL; fopen_s(&f, fullfilename, "rb"); if (!f) { Sys_Error("could not open file %s", fullfilename); } fseek(f, 0, SEEK_END); long filesize = ftell(f); fseek(f, 0, SEEK_SET); mod_base = (char*)DX_MEM_ALLOC(filesize); if (!mod_base) { fclose(f); Sys_Error("could not alloc memory"); } fread(mod_base, 1, filesize, f); fclose(f); dheader_s * header = (dheader_s*)mod_base; int v = Swap_LittleLong(header->version); if (v != BSPVERSION) { Sys_Error("bad bsp version"); } for (int i = 0; i < HEADER_LUMPS; i++) { header->lumps[i].fileofs = Swap_LittleLong(header->lumps[i].fileofs); header->lumps[i].filelen = Swap_LittleLong(header->lumps[i].filelen); } UpdateLoadingPercent(6); //load entities first, we need wad file list LoadEntities(&header->lumps[LUMP_ENTITIES]); UpdateLoadingPercent(12); LoadVertexes(&header->lumps[LUMP_VERTEXES]); UpdateLoadingPercent(18); LoadEdges(&header->lumps[LUMP_EDGES]); UpdateLoadingPercent(24); LoadSurfedges(&header->lumps[LUMP_SURFEDGES]); UpdateLoadingPercent(30); LoadTextures(&header->lumps[LUMP_TEXTURES]); UpdateLoadingPercent(36); LoadLighting(&header->lumps[LUMP_LIGHTING]); UpdateLoadingPercent(42); LoadPlanes(&header->lumps[LUMP_PLANES]); UpdateLoadingPercent(48); LoadTexinfo(&header->lumps[LUMP_TEXINFO]); UpdateLoadingPercent(54); LoadFaces(&header->lumps[LUMP_FACES]); UpdateLoadingPercent(60); LoadMarksurfaces(&header->lumps[LUMP_MARKSURFACES]); UpdateLoadingPercent(66); LoadVisibility(&header->lumps[LUMP_VISIBILITY]); UpdateLoadingPercent(72); LoadLeafs(&header->lumps[LUMP_LEAFS]); UpdateLoadingPercent(78); LoadNodes(&header->lumps[LUMP_NODES]); UpdateLoadingPercent(84); LoadClipnodes(&header->lumps[LUMP_CLIPNODES]); UpdateLoadingPercent(90); LoadSubmodels(&header->lumps[LUMP_MODELS]); UpdateLoadingPercent(100); LoadSky(); DX_SAFE_FREE(mod_base); visleafs = numleafs; if (numsubmodels > 0) { visleafs = submodels[0].visleafs; } InitViewer(); loaded = true; FS_Change(FS_DEMO); }