| 248 | } |
| 249 | |
| 250 | void initializeFromMap(char* fileMapData) |
| 251 | { |
| 252 | if (m_data) { |
| 253 | return; |
| 254 | } |
| 255 | |
| 256 | ItemRepositoryUtils::FileMap fileMap(fileMapData); |
| 257 | |
| 258 | fileMap.readValue(&m_monsterBucketExtent); |
| 259 | Q_ASSERT(fileMap.current() - fileMapData == 4); |
| 260 | fileMap.readValue(&m_available); |
| 261 | fileMap.readArray(&m_objectMap, ObjectMapSize); |
| 262 | fileMap.readArray(&m_nextBucketHash, NextBucketHashSize); |
| 263 | fileMap.readValue(&m_largestFreeItem); |
| 264 | fileMap.readValue(&m_freeItemCount); |
| 265 | fileMap.readValue(&m_dirty); |
| 266 | |
| 267 | m_data = fileMap.current(); |
| 268 | m_mappedData = m_data; |
| 269 | |
| 270 | m_changed = false; |
| 271 | m_lastUsed = 0; |
| 272 | Q_ASSERT(fileMap.current() - fileMapData == DataSize - ItemRepositoryBucketSize); |
| 273 | } |
| 274 | |
| 275 | void store(QFile* file, size_t offset) |
| 276 | { |
no test coverage detected