| 372 | } |
| 373 | |
| 374 | bool UTIL_FindDataMapInfo(datamap_t *pMap, const char *name, sm_datatable_info_t *pDataTable) |
| 375 | { |
| 376 | while (pMap) |
| 377 | { |
| 378 | for (int i = 0; i < pMap->dataNumFields; ++i) |
| 379 | { |
| 380 | if (pMap->dataDesc[i].fieldName == NULL) |
| 381 | { |
| 382 | continue; |
| 383 | } |
| 384 | if (strcmp(name, pMap->dataDesc[i].fieldName) == 0) |
| 385 | { |
| 386 | pDataTable->prop = &(pMap->dataDesc[i]); |
| 387 | pDataTable->actual_offset = GetTypeDescOffs(pDataTable->prop); |
| 388 | return true; |
| 389 | } |
| 390 | if (pMap->dataDesc[i].td == NULL || !UTIL_FindDataMapInfo(pMap->dataDesc[i].td, name, pDataTable)) |
| 391 | { |
| 392 | continue; |
| 393 | } |
| 394 | |
| 395 | pDataTable->actual_offset += GetTypeDescOffs(&(pMap->dataDesc[i])); |
| 396 | return true; |
| 397 | } |
| 398 | |
| 399 | pMap = pMap->baseMap; |
| 400 | } |
| 401 | |
| 402 | return false; |
| 403 | } |
| 404 | |
| 405 | ServerClass *CHalfLife2::FindServerClass(const char *classname) |
| 406 | { |
no test coverage detected