void Grid::readDataFrom(uint16 numObjects, uint16 numRooms, byte *&ptr) { uint16 i, j; _numRoomAreas = numRooms; _objMax = new int16[_numRoomAreas + 1]; _areaMax = new int16[_numRoomAreas + 1]; _area = new Area[_numRoomAreas + 1][MAX_AREAS_NUMBER]; _objMax[0] = 0; _areaMax[0] = 0; memset(&_area[0], 0, sizeof(Area) * MAX_AREAS_NUMBER); for (i = 1; i <= _numRoomAreas; i++) { _objMax[i] = (int16)READ_BE_INT16(ptr); ptr += 2; _areaMax[i] = (int16)READ_BE_INT16(ptr); ptr += 2; memset(&_area[i][0], 0, sizeof(Area)); for (j = 1; j <= _areaMax[i]; j++) { assert(j < MAX_AREAS_NUMBER); _area[i][j].readFromBE(ptr); } } _objectBox = new Box[numObjects + 1]; memset(&_objectBox[0], 0, sizeof(Box)); for (i = 1; i <= numObjects; i++) { _objectBox[i].readFromBE(ptr); } }
void Sound::loadState(uint32 ver, byte *&ptr) { _lastOverride = (int16)READ_BE_INT16(ptr); ptr += 2; }