MCPcopy Create free account
hub / github.com/crossuo/crossuo / LoadIndexFiles

Method LoadIndexFiles

xuocore/uodata.cpp:1063–1214  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1061}
1062
1063void CFileManager::LoadIndexFiles()
1064{
1065 Info(Data, "loading indexes");
1066
1067 auto *LandArtPtr = (ArtIdxBlock *)m_ArtIdx.Start;
1068 auto *StaticArtPtr =
1069 (ArtIdxBlock *)((size_t)m_ArtIdx.Start + (g_Data.m_Land.size() * sizeof(ArtIdxBlock)));
1070 auto *GumpArtPtr = (GumpIdxBlock *)m_GumpIdx.Start;
1071 auto *TexturePtr = (TexIdxBlock *)m_TextureIdx.Start;
1072 auto *MultiPtr = (MultiIdxBlock *)m_MultiIdx.Start;
1073 auto *SoundPtr = (SoundIdxBlock *)m_SoundIdx.Start;
1074 auto *LightPtr = (LightIdxBlock *)m_LightIdx.Start;
1075
1076 if (m_MultiCollection.Start != nullptr)
1077 {
1078 g_Index.m_MultiIndexCount = MAX_MULTI_DATA_INDEX_COUNT;
1079 }
1080 else
1081 {
1082 g_Index.m_MultiIndexCount = (int)(m_MultiIdx.Size / sizeof(MultiIdxBlock));
1083 if (g_Index.m_MultiIndexCount > MAX_MULTI_DATA_INDEX_COUNT)
1084 {
1085 g_Index.m_MultiIndexCount = MAX_MULTI_DATA_INDEX_COUNT;
1086 }
1087 }
1088
1089 int maxGumpsCount =
1090 (int)(m_GumpIdx.Start == nullptr ? MAX_GUMP_DATA_INDEX_COUNT : (m_GumpIdx.End - m_GumpIdx.Start) / sizeof(GumpIdxBlock));
1091 if (m_ArtMul.Start != nullptr)
1092 {
1093 MulReadIndexFile(
1094 MAX_LAND_DATA_INDEX_COUNT,
1095 [&](int i) { return &g_Index.m_Land[i]; },
1096 (size_t)m_ArtMul.Start,
1097 LandArtPtr,
1098 [&LandArtPtr]() { return ++LandArtPtr; });
1099 MulReadIndexFile(
1100 g_Data.m_Static.size(),
1101 [&](int i) { return &g_Index.m_Static[i]; },
1102 (size_t)m_ArtMul.Start,
1103 StaticArtPtr,
1104 [&StaticArtPtr]() { return ++StaticArtPtr; });
1105 }
1106 else
1107 {
1108 UopReadIndexFile(
1109 MAX_LAND_DATA_INDEX_COUNT,
1110 [&](int i) { return &g_Index.m_Land[i]; },
1111 "artLegacyMUL",
1112 8,
1113 ".tga",
1114 m_ArtLegacyMUL);
1115 UopReadIndexFile(
1116 g_Data.m_Static.size() + MAX_LAND_DATA_INDEX_COUNT,
1117 [&](int i) { return &g_Index.m_Static[i - MAX_LAND_DATA_INDEX_COUNT]; },
1118 "artLegacyMUL",
1119 8,
1120 ".tga",

Callers

nothing calls this directly

Calls 4

GetDataMethod · 0.80
ReadUInt32LEMethod · 0.80
sizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected