void edSignal::load(std::istream &stream, int version, CollectNodes *cn) { edDynamicGeom::load(stream,version,cn); read(stream,name); setStation(readS(stream).c_str()); setSignalName(readS(stream).c_str()); if(version >= 6) setSkinFile(readS(stream).c_str()); }
void Scene::loadSceneDescriptor(uint32 resourceId) { ByteArray sceneDescriptorData; _sceneDescription.reset(); if (resourceId == 0) return; _vm->_resource->loadResource(_sceneContext, resourceId, sceneDescriptorData); ByteArrayReadStreamEndian readS(sceneDescriptorData, _sceneContext->isBigEndian()); if (sceneDescriptorData.size() == 14 || sceneDescriptorData.size() == 16) { _sceneDescription.flags = readS.readSint16(); _sceneDescription.resourceListResourceId = readS.readSint16(); _sceneDescription.endSlope = readS.readSint16(); _sceneDescription.beginSlope = readS.readSint16(); _sceneDescription.scriptModuleNumber = readS.readUint16(); _sceneDescription.sceneScriptEntrypointNumber = readS.readUint16(); _sceneDescription.startScriptEntrypointNumber = readS.readUint16(); if (sceneDescriptorData.size() == 16) _sceneDescription.musicResourceId = readS.readSint16(); } else { warning("Scene::loadSceneDescriptor: Unknown scene descriptor data size (%d)", sceneDescriptorData.size()); } }
byte loadCt(const char *ctName) { uint16 header[32]; strcpy(currentCtName, ctName); byte *ptr = readBundleFile(findFileInBundle(ctName)); if (gameType == Cine::GID_OS) { uint16 bpp = READ_BE_UINT16(ptr); ptr += 2; if (bpp == 8) { ptr += 3 * 256; loadCtHigh(ptr); } else { ptr += 32; gfxResetRawPage(page3Raw); gfxConvertSpriteToRaw(page3Raw, ptr, 160, 200); } } else { loadRelatedPalette(ctName); assert(strstr(ctName, ".NEO")); Common::MemoryReadStream readS(ptr, 32); for (int i = 0; i < 16; i++) { header[i] = readS.readUint16BE(); } gfxConvertSpriteToRaw(page3Raw, ptr + 0x80, 160, 200); } return 0; }
void Scene::loadSceneDescriptor(uint32 resourceId) { byte *sceneDescriptorData; size_t sceneDescriptorDataLength; memset(&_sceneDescription, 0, sizeof(_sceneDescription)); if (resourceId == 0) { return; } _vm->_resource->loadResource(_sceneContext, resourceId, sceneDescriptorData, sceneDescriptorDataLength); if (sceneDescriptorDataLength == 16) { MemoryReadStreamEndian readS(sceneDescriptorData, sceneDescriptorDataLength, _sceneContext->isBigEndian); _sceneDescription.flags = readS.readSint16(); _sceneDescription.resourceListResourceId = readS.readSint16(); _sceneDescription.endSlope = readS.readSint16(); _sceneDescription.beginSlope = readS.readSint16(); _sceneDescription.scriptModuleNumber = readS.readUint16(); _sceneDescription.sceneScriptEntrypointNumber = readS.readUint16(); _sceneDescription.startScriptEntrypointNumber = readS.readUint16(); _sceneDescription.musicResourceId = readS.readSint16(); } free(sceneDescriptorData); }
void AnimHeader::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); if (Sword2Engine::isPsx()) { noAnimFrames = readS.readUint16LE(); feetStartX = readS.readUint16LE(); feetStartY = readS.readUint16LE(); feetEndX = readS.readUint16LE(); feetEndY = readS.readUint16LE(); blend = readS.readUint16LE(); runTimeComp = readS.readByte(); feetStartDir = readS.readByte(); feetEndDir = readS.readByte(); } else { runTimeComp = readS.readByte(); noAnimFrames = readS.readUint16LE(); feetStartX = readS.readUint16LE(); feetStartY = readS.readUint16LE(); feetStartDir = readS.readByte(); feetEndX = readS.readUint16LE(); feetEndY = readS.readUint16LE(); feetEndDir = readS.readByte(); blend = readS.readUint16LE(); } }
double F10::compute(double*x){ int i; double result=0.0; if(Ovector==NULL) { Ovector = readOvector(); Pvector = readPermVector(); r25 = readR(25); r50 = readR(50); r100 = readR(100); s = readS(s_size); w = readW(s_size); } for(i=0;i<dimension;i++) { anotherz[i]=x[i]-Ovector[i]; } // s_size non-separable part with rotation int c = 0; for (i = 0; i < s_size; i++) { // cout<<"c="<<c<<", i="<<i<<endl; anotherz1 = rotateVector(i, c); // cout<<"done rot"<<endl; result += w[i] * ackley(anotherz1, s[i]); delete []anotherz1; // cout<<result<<endl; } update(result); return(result); }
byte loadCtFW(const char *ctName) { debugC(1, kCineDebugCollision, "loadCtFW(\"%s\")", ctName); uint16 header[32]; byte *ptr, *dataPtr; int16 foundFileIdx = findFileInBundle(ctName); if (foundFileIdx == -1) { warning("loadCtFW: Unable to find collision data file '%s'", ctName); // FIXME: Rework this function's return value policy and return an appropriate value here. // The return value isn't yet used for anything so currently it doesn't really matter. return 0; } if (currentCtName != ctName) strcpy(currentCtName, ctName); ptr = dataPtr = readBundleFile(foundFileIdx); loadRelatedPalette(ctName); assert(strstr(ctName, ".NEO")); Common::MemoryReadStream readS(ptr, 32); for (int i = 0; i < 16; i++) { header[i] = readS.readUint16BE(); } gfxConvertSpriteToRaw(collisionPage, ptr + 0x80, 160, 200); free(dataPtr); return 0; }
void ScreenHeader::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); width = readS.readUint16LE(); height = readS.readUint16LE(); noLayers = readS.readUint16LE(); }
void Scene::loadSceneResourceList(uint32 resourceId, SceneResourceDataArray &resourceList) { ByteArray resourceListData; resourceList.clear(); if (resourceId == 0) { return; } // Load the scene resource table _vm->_resource->loadResource(_sceneContext, resourceId, resourceListData); if ((resourceListData.size() % SAGA_RESLIST_ENTRY_LEN) == 0) { ByteArrayReadStreamEndian readS(resourceListData, _sceneContext->isBigEndian()); // Allocate memory for scene resource list resourceList.resize(resourceListData.size() / SAGA_RESLIST_ENTRY_LEN); debug(3, "Scene resource list contains %i entries", (int)resourceList.size()); // Load scene resource list from raw scene // resource table debug(3, "Loading scene resource list"); for (SceneResourceDataArray::iterator resource = resourceList.begin(); resource != resourceList.end(); ++resource) { resource->resourceId = readS.readUint16(); resource->resourceType = readS.readUint16(); // demo version may contain invalid resourceId resource->invalid = !_sceneContext->validResourceId(resource->resourceId); } } }
void PSXFontEntry::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); offset = readS.readUint16LE() / 2; skipLines = readS.readUint16LE(); charWidth = readS.readUint16LE() / 2; charHeight = readS.readUint16LE(); }
void Mouse::addMenuObject(byte *ptr) { assert(_totalTemp < TOTAL_engine_pockets); Common::MemoryReadStream readS(ptr, 2 * sizeof(int32)); _tempList[_totalTemp].icon_resource = readS.readSint32LE(); _tempList[_totalTemp].luggage_resource = readS.readSint32LE(); _totalTemp++; }
void ResHeader::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); fileType = readS.readByte(); compType = readS.readByte(); compSize = readS.readUint32LE(); decompSize = readS.readUint32LE(); readS.read(name, NAME_LEN); }
double F4::compute(double*x){ int i; double result = 0.0; if(Ovector == NULL) { Ovector = readOvector(); Pvector = readPermVector(); r25 = readR(25); r50 = readR(50); r100 = readR(100); s = readS(s_size); w = readW(s_size); } for(i = 0; i < dimension; i++) { anotherz[i] = x[i] - Ovector[i]; } // for (int i = 0; i < dimension; ++i) // { // cout<<anotherz[i]<<endl; // } // cout<<endl; // // T_{osz} // transform_osz(anotherz); // s_size non-separable part with rotation int c = 0; for (i = 0; i < s_size; i++) { // cout<<"c="<<c<<", i="<<i<<endl; anotherz1 = rotateVector(i, c); // cout<<"done rot"<<endl; result += w[i] * elliptic(anotherz1, s[i]); delete []anotherz1; // cout<<result<<endl; } // one separable part without rotation double* z = new double[dimension-c]; for (i = c; i < dimension; i++) { // cout<<i-c<<" "<<Pvector[i]<<" "<<anotherz[Pvector[i]]<<endl; z[i-c] = anotherz[Pvector[i]]; } // cout<<"sep\n"<<elliptic(z, dimension-c)<<endl; result += elliptic(z, dimension-c); delete[] z; // printf("Rotated Part = %1.16E\n", rot_elliptic(anotherz1,nonSeparableGroupSize) * 1e6); // printf("Separable Part = %1.16E\n", elliptic(anotherz2,dimension - nonSeparableGroupSize)); return(result); }
void LayerHeader::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); x = readS.readUint16LE(); y = readS.readUint16LE(); width = readS.readUint16LE(); height = readS.readUint16LE(); maskSize = readS.readUint32LE(); offset = readS.readUint32LE(); }
void ObjectMouse::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); x1 = readS.readSint32LE(); y1 = readS.readSint32LE(); x2 = readS.readSint32LE(); y2 = readS.readSint32LE(); priority = readS.readSint32LE(); pointer = readS.readSint32LE(); }
void FrameHeader::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); compSize = readS.readUint32LE(); width = readS.readUint16LE(); height = readS.readUint16LE(); if (Sword2Engine::isPsx()) { // In PSX version, frames are half height height *= 2; width = (width % 2) ? width + 1 : width; } }
void MultiScreenHeader::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); palette = readS.readUint32LE(); bg_parallax[0] = readS.readUint32LE(); bg_parallax[1] = readS.readUint32LE(); screen = readS.readUint32LE(); fg_parallax[0] = readS.readUint32LE(); fg_parallax[1] = readS.readUint32LE(); layers = readS.readUint32LE(); paletteTable = readS.readUint32LE(); maskOffset = readS.readUint32LE(); }
void CdtEntry::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); if (Sword2Engine::isPsx()) { readS.readByte(); // Skip a byte in psx version x = readS.readUint16LE(); y = readS.readUint16LE(); frameOffset = readS.readUint32LE(); frameType = readS.readByte(); } else { x = readS.readUint16LE(); y = readS.readUint16LE(); frameOffset = readS.readUint32LE(); frameType = readS.readByte(); } }
void PSXScreensEntry::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); bgPlxXres = readS.readUint16LE(); bgPlxYres = readS.readUint16LE(); bgPlxOffset = readS.readUint32LE(); bgPlxSize = readS.readUint32LE(); bgXres = readS.readUint16LE(); bgYres = readS.readUint16LE(); bgOffset = readS.readUint32LE(); bgSize = readS.readUint32LE(); fgPlxXres = readS.readUint16LE(); fgPlxYres = readS.readUint16LE(); fgPlxOffset = readS.readUint32LE(); fgPlxSize = readS.readUint32LE(); }
void Scene::loadSceneEntryList(const ByteArray &resourceData) { uint i; if (!_entryList.empty()) { error("Scene::loadSceneEntryList entryList not empty"); } _entryList.resize(resourceData.size() / 8); ByteArrayReadStreamEndian readS(resourceData, _sceneContext->isBigEndian()); for (i = 0; i < _entryList.size(); i++) { _entryList[i].location.x = readS.readSint16(); _entryList[i].location.y = readS.readSint16(); _entryList[i].location.z = readS.readSint16(); _entryList[i].facing = readS.readUint16(); } }
void edTerrainNode::load(std::istream &stream, int version, CollectNodes *cn) { edPoint *p1; edPoint *p2; edPoint *p3; edNode::load(stream, version, cn); unsigned int n= 0; stream.read((char*)&n,sizeof(n)); unsigned int ptUID, UID; triangles.resize(n); for (unsigned int i=0; i<n; i++) { stream.read((char*)&ptUID,sizeof(ptUID)); p1= cn->ptsList[ptUID]; stream.read((char*)&ptUID,sizeof(ptUID)); p2= cn->ptsList[ptUID]; stream.read((char*)&ptUID,sizeof(ptUID)); p3= cn->ptsList[ptUID]; triangles[i].set(p1,p2,p3); p1->addTerrainOwner(this); p2->addTerrainOwner(this); p3->addTerrainOwner(this); } if(version<6) { stream.read((char*)&UID,sizeof(UID)); _materialName = v5materials[UID]; } else { _materialName = readS(stream); }; setMaterialName(_materialName.c_str()); if (version<2) { osg::Matrixd texMat; stream.read((char*)texMat.ptr(),sizeof(osg::Matrixd::value_type)*16); } }
double F7::compute(double*x){ int i; double result = 0.0; if(Ovector == NULL) { Ovector = readOvector(); Pvector = readPermVector(); r25 = readR(25); r50 = readR(50); r100 = readR(100); s = readS(s_size); w = readW(s_size); } for(i = 0; i < dimension; i++) { anotherz[i] = x[i] - Ovector[i]; } // s_size non-separable part with rotation int c = 0; for (i = 0; i < s_size; i++) { // cout<<"c="<<c<<", i="<<i<<endl; anotherz1 = rotateVector(i, c); // cout<<"done rot"<<endl; result += w[i] * schwefel(anotherz1, s[i]); delete []anotherz1; // cout<<result<<endl; } // one separable part without rotation double* z = new double[dimension-c]; for (i = c; i < dimension; i++) { // cout<<i-c<<" "<<Pvector[i]<<" "<<anotherz[Pvector[i]]<<endl; z[i-c] = anotherz[Pvector[i]]; } result += sphere(z, dimension-c); delete []z; return(result); }
void loadObject(char *pObjectName) { debug(5, "loadObject(\"%s\")", pObjectName); uint16 numEntry; uint16 entrySize; uint16 i; byte *ptr, *dataPtr; checkDataDisk(-1); ptr = dataPtr = readBundleFile(findFileInBundle(pObjectName)); setMouseCursor(MOUSE_CURSOR_DISK); numEntry = READ_BE_UINT16(ptr); ptr += 2; entrySize = READ_BE_UINT16(ptr); ptr += 2; assert(numEntry <= NUM_MAX_OBJECT); for (i = 0; i < numEntry; i++) { if (g_cine->_objectTable[i].costume != -2 && g_cine->_objectTable[i].costume != -3) { // flag is keep? Common::MemoryReadStream readS(ptr, entrySize); g_cine->_objectTable[i].x = readS.readSint16BE(); g_cine->_objectTable[i].y = readS.readSint16BE(); g_cine->_objectTable[i].mask = readS.readUint16BE(); g_cine->_objectTable[i].frame = readS.readSint16BE(); g_cine->_objectTable[i].costume = readS.readSint16BE(); readS.read(g_cine->_objectTable[i].name, 20); g_cine->_objectTable[i].part = readS.readUint16BE(); } ptr += entrySize; } if (!strcmp(pObjectName, "INTRO.OBJ")) { for (i = 0; i < 10; i++) { g_cine->_objectTable[i].costume = 0; } } free(dataPtr); }
void PalAnim::loadPalAnim(const ByteArray &resourceData) { clear(); if (resourceData.empty()) { return; } ByteArrayReadStreamEndian readS(resourceData, _vm->isBigEndian()); if (_vm->getGameId() == GID_IHNM) { return; } _entries.resize(readS.readUint16()); debug(3, "PalAnim::loadPalAnim(): Loading %d PALANIM entries.", _entries.size()); for (Common::Array<PalanimEntry>::iterator i = _entries.begin(); i != _entries.end(); ++i) { i->cycle = 0; i->colors.resize(readS.readUint16()); debug(2, "PalAnim::loadPalAnim(): Loading %d SAGA_COLOR structures.", i->colors.size()); i->palIndex.resize(readS.readUint16()); debug(2, "PalAnim::loadPalAnim(): Loading %d palette indices.\n", i->palIndex.size()); for (uint j = 0; j < i->palIndex.size(); j++) { i->palIndex[j] = readS.readByte(); } for (Common::Array<Color>::iterator j = i->colors.begin(); j != i->colors.end(); ++j) { j->red = readS.readByte(); j->green = readS.readByte(); j->blue = readS.readByte(); } } }
double F14::compute(double*x){ int i; double result=0.0; if(OvectorVec == NULL) { s = readS(s_size); OvectorVec = readOvectorVec(); // // inspect OvectorVec // for (int i = 0; i < s_size; ++i) // { // for (int j=0; j< s[i]; j++) // { // printf("%.1f\t",OvectorVec[i][j]); // } // printf("\n"); // } Pvector = readPermVector(); r25 = readR(25); r50 = readR(50); r100 = readR(100); w = readW(s_size); } // s_size non-separable part with rotation int c = 0; for (i = 0; i < s_size; i++) { // cout<<"c="<<c<<", i="<<i<<endl; anotherz1 = rotateVectorConflict(i, c, x); // cout<<"done rot"<<endl; result += w[i] * schwefel(anotherz1, s[i]); delete []anotherz1; // cout<<result<<endl; } update(result); return(result); }
// Loads an object map resource ( objects ( clickareas ( points ) ) ) void ObjectMap::load(const ByteArray &resourceData) { if (!_hitZoneList.empty()) { error("ObjectMap::load _hitZoneList not empty"); } if (resourceData.empty()) { return; } if (resourceData.size() < 4) { error("ObjectMap::load wrong resourceLength"); } ByteArrayReadStreamEndian readS(resourceData, _vm->isBigEndian()); _hitZoneList.resize(readS.readUint16()); int idx = 0; for (HitZoneArray::iterator i = _hitZoneList.begin(); i != _hitZoneList.end(); ++i) { i->load(_vm, &readS, idx++, _vm->_scene->currentSceneNumber()); } }
void Scene::loadSceneEntryList(const byte* resourcePointer, size_t resourceLength) { int i; _entryList.entryListCount = resourceLength / 8; MemoryReadStreamEndian readS(resourcePointer, resourceLength, _sceneContext->isBigEndian); if (_entryList.entryList) error("Scene::loadSceneEntryList entryList != NULL"); _entryList.entryList = (SceneEntry *) malloc(_entryList.entryListCount * sizeof(*_entryList.entryList)); if (_entryList.entryList == NULL) { memoryError("Scene::loadSceneEntryList"); } for (i = 0; i < _entryList.entryListCount; i++) { _entryList.entryList[i].location.x = readS.readSint16(); _entryList.entryList[i].location.y = readS.readSint16(); _entryList.entryList[i].location.z = readS.readSint16(); _entryList.entryList[i].facing = readS.readUint16(); } }
void ObjectWalkdata::read(byte *addr) { Common::MemoryReadStream readS(addr, size()); nWalkFrames = readS.readUint32LE(); usingStandingTurnFrames = readS.readUint32LE(); usingWalkingTurnFrames = readS.readUint32LE(); usingSlowInFrames = readS.readUint32LE(); usingSlowOutFrames = readS.readUint32LE(); int i; for (i = 0; i < ARRAYSIZE(nSlowInFrames); i++) nSlowInFrames[i] = readS.readUint32LE(); for (i = 0; i < ARRAYSIZE(leadingLeg); i++) leadingLeg[i] = readS.readUint32LE(); for (i = 0; i < ARRAYSIZE(dx); i++) dx[i] = readS.readUint32LE(); for (i = 0; i < ARRAYSIZE(dy); i++) dy[i] = readS.readUint32LE(); }
void chooseFunction(unsigned int *file, int size, char *name) { int op; scanf("%d", &op); switch(op) { case 1: //Mapeamento de dígitos. map(file, size, name); break; case 2: //Descriptografia. decrypt(file, size); printf("%s\n", (char *)file); //Imprime a mensagem descriptografada. break; case 3: //Contagem de ocorrências. scanf("%*c"); decrypt(file, size); readS(file, size); //recebe a string a ser procurada occurrence(file, size); //buscará a quantidade de ocorrências de string na mensagem break; default: //Caso o operador digitado não seja 1, 2 ou 3. ("operador desconhecido\n"); } }
void Scene::loadSceneResourceList(uint32 resourceId) { byte *resourceListData; size_t resourceListDataLength; size_t i; _resourceListCount = 0; _resourceList = NULL; if (resourceId == 0) { return; } // Load the scene resource table _vm->_resource->loadResource(_sceneContext, resourceId, resourceListData, resourceListDataLength); if ((resourceListDataLength % SAGA_RESLIST_ENTRY_LEN) == 0) { MemoryReadStreamEndian readS(resourceListData, resourceListDataLength, _sceneContext->isBigEndian); // Allocate memory for scene resource list _resourceListCount = resourceListDataLength / SAGA_RESLIST_ENTRY_LEN; debug(3, "Scene resource list contains %i entries", (int)_resourceListCount); _resourceList = (SceneResourceData *)calloc(_resourceListCount, sizeof(*_resourceList)); // Load scene resource list from raw scene // resource table debug(3, "Loading scene resource list"); for (i = 0; i < _resourceListCount; i++) { _resourceList[i].resourceId = readS.readUint16(); _resourceList[i].resourceType = readS.readUint16(); // demo version may contain invalid resourceId _resourceList[i].invalid = !_sceneContext->validResourceId(_resourceList[i].resourceId); } } free(resourceListData); }