new from upside towers

This commit is contained in:
2024-02-27 00:28:22 +05:00
parent 038e9a675f
commit 4bfa3e664e
979 changed files with 17499 additions and 1540 deletions
+14 -5
View File
@@ -31,15 +31,16 @@ TArray<ULevelStreaming*> UcppGI::cppLvlManage(UObject* WorldContextObject, Fcppc
{
TArray<ULevelStreaming*> outStruct;
bool loadthis;
auto is3DTour = currentState == 11;
/*for 3Dtour only*/
if(currentState==11) {
if (is3DTour) {
auto temp = Fcppcoords();
temp.house = -2;
temp.section = -2;
temp.floor = 1;
cppLoadList.AddUnique(temp);
}
cppLoadList.AddUnique(currentCoords);
for (const auto& lvl : cppLevels)
@@ -53,8 +54,16 @@ TArray<ULevelStreaming*> UcppGI::cppLvlManage(UObject* WorldContextObject, Fcppc
for (const auto& crd : cppLoadList) // here is filter code
{
cppCoordsEq(crd, lvl.coords, true, false, ceq[0], ceq[1], ceq[2], ceq[3], ceq[4], ceq[5], ceq[6]);
if (ceq[3] && ceq[4] && ceq[5] && !lvl.uniqName.ToString().EndsWith(L"refl")) loadthis = true; //reflections setup separately, load all on floor
if (ceq[6] && lvl.uniqName.ToString().EndsWith(L"refl")) loadthis = true;
if (
(
(
(ceq[0] || !is3DTour || lvl.coords.flat == -1) && ceq[5]
)
|| (is3DTour ? lvl.anotherLvl >= 1 && lvl.anotherLvl == crd.flat : lvl.anotherLvl >= 1 && lvl.anotherLvl == crd.flat && lvl.coords.floor < crd.floor)
)
&& ceq[3] && ceq[4]
) loadthis = true; //load all on floor and under 2-floor flat, and full 2-floor flat in 3d tour
//if (ceq[6]) loadthis = true; //classic load with parallax
}
}
@@ -75,7 +84,7 @@ TArray<ULevelStreaming*> UcppGI::cppLvlManage(UObject* WorldContextObject, Fcppc
if (ULevelStreamingDynamic* newlvl = ULevelStreamingDynamic::LoadLevelInstance(WorldContextObject, lvl.path, FVector(0, 0, lvl.Z), FRotator(0), b, lvl.uniqName.ToString())) {
newlvl->SetPriority(lvl.coords.flat == -1 ? 1 : 0);
newlvl->bShouldBlockOnLoad = lvl.dontUnload;
cppCreatedList.Add(lvl.uniqName);
cppCreatedList.Add(lvl.uniqName);
cpploadedList.Add(lvl.uniqName);
outStruct.Add(newlvl);
}
@@ -10,7 +10,7 @@ public class blueprintLibrary : ModuleRules
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
PrivateDependencyModuleNames.AddRange(new string[] {"GraffModule" });
PrivateDependencyModuleNames.AddRange(new string[] { "GraffModule" });
// Uncomment if you are using Slate UI
// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });