void CompressGob::execute() { Common::File stk; Common::File gobConf; uint16 chunkCount; Common::Filename inpath(_inputPaths[0].path); // We output with .stk extension, if there is no specific out file if (_outputPath.empty()) { _outputPath = inpath; } // Open input (config) file gobConf.open(inpath, "r"); // Read the input into memory _chunks = readChunkConf(gobConf, inpath, chunkCount); gobConf.close(); _outputPath.setFullName(inpath.getFullName()); stk.open(_outputPath, "wb"); // Output in compressed format writeEmptyHeader (stk, chunkCount); writeBody(&inpath, stk, _chunks); rewriteHeader(stk, chunkCount, _chunks); }
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QMainWindow::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: eventChanged((*reinterpret_cast< AGSEventType(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 1: newFile(); break; case 2: openFile(); break; case 3: closeFile(); break; case 4: exportFile(); break; case 5: importToDatabase(); break; case 6: loadFile((*reinterpret_cast< QString(*)>(_a[1]))); break; case 7: openRecentFile(); break; case 8: showOptions(); break; case 9: updateTime(); break; case 10: lookupAGS_ID(); break; case 11: lookupPCC_ID(); break; case 12: lookupPCC_ID((*reinterpret_cast< QString(*)>(_a[1]))); break; case 13: setEventTypeID((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 14: setEvent((*reinterpret_cast< AGSEventType(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 15: setLogoutTime(); break; case 16: setLogoutTime((*reinterpret_cast< int(*)>(_a[1]))); break; case 17: setTShirtCalc((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break; case 18: setTimer((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 19: setTimer((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 20: boo(); break; case 21: showError((*reinterpret_cast< QString(*)>(_a[1]))); break; case 22: login(); break; case 23: logout(); break; case 24: about(); break; case 25: tutorial(); break; case 26: reportABug(); break; case 27: testConnection(); break; case 28: { QString _r = generateHeader(); if (_a[0]) *reinterpret_cast< QString*>(_a[0]) = _r; } break; case 29: rewriteHeader(); break; default: ; } _id -= 30; } return _id; }
void convert3ds(FILE *outputM2, Lib3dsFile *f) { load3ds(f); createTextures(); printf("Writing M2 File\n"); initFile(outputM2,"TEMP"); printf("Writing Model Data\n"); writeModelData(outputM2, dVertices, nVertices, dTriangles, nTriangles, dSubmeshes, nSubmeshes, dTextureUnits, nTextureUnits); printf("Writing Material Data\n"); writeMaterialData(outputM2, textureNames, dTextures, nTextures, nMaterials, colorData, colorTransData, transData, renderFlags); printf("Finalizing Model Data\n"); rewriteHeader(outputM2); /*int i,j,k; char *inputData; unsigned int fileLength; fseek(inputM2,0,SEEK_END); fileLength=ftell(inputM2); inputData=new char[fileLength]; fseek(inputM2,0,SEEK_SET); fread(inputData,fileLength,1,inputM2); fwrite(inputData,fileLength,1,outputM2); header=(ModelHeader *)inputData; views=(ModelView *)(inputData+header->ofsViews); oldSubmesh=(ModelGeoset *)(inputData+views->ofsSub); load3ds(f); header->ofsVertices=ftell(outputM2); header->nVertices=nVertices*4; fwrite(dVertices,sizeof(ModelVertex),nVertices,outputM2); fwrite(dVertices,sizeof(ModelVertex),nVertices,outputM2); fwrite(dVertices,sizeof(ModelVertex),nVertices,outputM2); fwrite(dVertices,sizeof(ModelVertex),nVertices,outputM2); fillLine(outputM2); header->ofsTexLookup=ftell(outputM2); header->nTexLookup=textureNames.size(); for(i=0;i<textureNames.size();i++) fwrite(&i,sizeof(uint16),1,outputM2); fillLine(outputM2); //Write out texture data createTextures(); for(i=0;i<nTextures;i++) { dTextures[i].nameOfs=ftell(outputM2); fwrite(textureNames[i].c_str(),textureNames[i].length()+1,1,outputM2); fillLine(outputM2); } header->nTextures=nTextures; header->ofsTextures=ftell(outputM2); fwrite(dTextures,sizeof(ModelTextureDef),nTextures,outputM2); fillLine(outputM2); //Output Color data header->nColors=nMaterials; header->ofsColors=ftell(outputM2); AnimationBlock *colorBlocks; colorBlocks=new AnimationBlock[2*nMaterials]; fwrite(colorBlocks,sizeof(AnimationBlock),2*nMaterials,outputM2); fillLine(outputM2); j=0; for(i=0;i<nMaterials;i++) { writeAnimationBlockData(&colorBlocks[i*2], outputM2, 0, 0, &j, 1, &colorData[3*i], 1, 3*sizeof(float)); writeAnimationBlockData(&colorBlocks[i*2+1], outputM2, 0, 0, &j, 1, &colorTransData[i], 1, sizeof(short)); } fseek(outputM2,header->ofsColors,SEEK_SET); fwrite(colorBlocks,sizeof(AnimationBlock),2*nMaterials,outputM2); delete colorBlocks; fseek(outputM2,0,SEEK_END); //Output Transparency AnimationBlock *transBlocks; header->nTransparency=nMaterials; header->ofsTransparency=ftell(outputM2); transBlocks=new AnimationBlock[nMaterials]; fwrite(transBlocks,sizeof(AnimationBlock),nMaterials,outputM2); fillLine(outputM2); for(i=0;i<nMaterials;i++) writeAnimationBlockData(&transBlocks[i], outputM2, 0, 0, &j, 1, &transData[i], 1, sizeof(short)); fseek(outputM2,header->ofsTransparency,SEEK_SET); fwrite(transBlocks,sizeof(AnimationBlock),nMaterials,outputM2); delete transBlocks; fseek(outputM2,0,SEEK_END); header->nTransparencyLookup=nMaterials; header->ofsTransparencyLookup=ftell(outputM2); for(i=0;i<textureNames.size();i++) fwrite(&i,sizeof(uint16),1,outputM2); fillLine(outputM2); //Output Render Flags header->nTexFlags=nMaterials; header->ofsTexFlags=ftell(outputM2); fwrite(renderFlags,sizeof(uint32),nMaterials,outputM2); fillLine(outputM2); //Redo View Data for(i=0;i<header->nViews;i++) { views[i].ofsIndex=ftell(outputM2); views[i].nIndex=nVertices; for(j=0;j<nVertices;j++) { k=j+i*nVertices; fwrite(&k,sizeof(uint16),1,outputM2); } fillLine(outputM2); views[i].ofsTris=ftell(outputM2); views[i].nTris=nTriangles*3; fwrite(dTriangles,sizeof(uint16)*3,nTriangles,outputM2); fillLine(outputM2); views[i].ofsProps=ftell(outputM2); views[i].nProps=nVertices; k=0; for(j=0;j<nVertices;j++) fwrite(&k,sizeof(int),1,outputM2); fillLine(outputM2); views[i].ofsSub=ftell(outputM2); views[i].nSub=nSubmeshes; fwrite(dSubmeshes,sizeof(ModelGeoset),nSubmeshes,outputM2); fillLine(outputM2); views[i].ofsTex=ftell(outputM2); views[i].nTex=nTextureUnits; fwrite(dTextureUnits,sizeof(ModelTexUnit),nTextureUnits,outputM2); fillLine(outputM2); } fseek(outputM2,0,SEEK_SET); fwrite(header,sizeof(ModelHeader),1,outputM2); fseek(outputM2,header->ofsViews,SEEK_SET); fwrite(views,sizeof(ModelView),header->nViews,outputM2);*/ }