| 1035 | } |
| 1036 | |
| 1037 | static void applyLoadedObjectMarkToIndex(std::span<SelectedObjectsFlags> objectFlags, const std::array<std::span<uint8_t>, kMaxObjectTypes>& loadedObjectFlags) |
| 1038 | { |
| 1039 | for (ObjectIndexId i = 0; i < static_cast<int16_t>(_installedObjectList.size()); i++) |
| 1040 | { |
| 1041 | objectFlags[i] &= ~(SelectedObjectsFlags::inUse | SelectedObjectsFlags::selected); |
| 1042 | |
| 1043 | auto entry = _installedObjectList[i]; |
| 1044 | |
| 1045 | auto objHandle = findObjectHandle(entry._header); |
| 1046 | if (!objHandle.has_value()) |
| 1047 | { |
| 1048 | continue; |
| 1049 | } |
| 1050 | const auto loadedFlags = loadedObjectFlags[enumValue(objHandle->type)][objHandle->id]; |
| 1051 | if (loadedFlags & (1 << 0)) |
| 1052 | { |
| 1053 | objectFlags[i] |= SelectedObjectsFlags::selected | SelectedObjectsFlags::inUse; |
| 1054 | } |
| 1055 | if (loadedFlags & (1 << 1)) |
| 1056 | { |
| 1057 | objectFlags[i] |= SelectedObjectsFlags::selected; |
| 1058 | } |
| 1059 | } |
| 1060 | } |
| 1061 | |
| 1062 | // 0x00472D3F |
| 1063 | static void markInUseObjects(std::span<SelectedObjectsFlags> objectFlags) |
no test coverage detected