master
Ansariel 2022-05-10 19:14:02 +02:00
commit c9407feece
7 changed files with 59 additions and 11 deletions

View File

@ -150,6 +150,7 @@ if(WINDOWS)
msvcp${MSVC_VER}.dll
#msvcr${MSVC_VER}.dll # <FS:Ansariel> Can't build with older VS versions anyway - no need trying to copy this file
vcruntime${MSVC_VER}.dll
vcruntime${MSVC_VER}_1.dll
)
# <FS:Ansariel> Try using the VC runtime redistributables that came with the VS installation first
if(redist_path AND EXISTS "${redist_path}/${release_msvc_file}")

View File

@ -901,6 +901,49 @@ class LLManifest(object, metaclass=LLManifestRegistry):
# particular, let caller notice 0.
return count
def path_optional(self, src, dst=None):
sys.stdout.flush()
if src == None:
raise ManifestError("No source file, dst is " + dst)
if dst == None:
dst = src
dst = os.path.join(self.get_dst_prefix(), dst)
sys.stdout.write("Processing %s => %s ... " % (src, self._relative_dst_path(dst)))
def try_path(src):
# expand globs
count = 0
if self.wildcard_pattern.search(src):
for s,d in self.expand_globs(src, dst):
assert(s != d)
count += self.process_file(s, d)
else:
# if we're specifying a single path (not a glob),
# we should error out if it doesn't exist
self.check_file_exists(src)
count += self.process_either(src, dst)
return count
try_prefixes = [self.get_src_prefix(), self.get_artwork_prefix(), self.get_build_prefix()]
for pfx in try_prefixes:
try:
count = try_path(os.path.join(pfx, src))
except MissingError:
# if we produce MissingError, just try the next prefix
continue
# If we actually found nonzero files, stop looking
if count:
break
else:
sys.stdout.write("Skipping %s\n" % (src))
return 0
print("%d files" % count)
# Let caller check whether we processed as many files as expected. In
# particular, let caller notice 0.
return count
def do(self, *actions):
self.actions = actions
self.construct()

View File

@ -75,7 +75,7 @@ template <class T>
class LLOctreeTravelerDepthFirst : public LLOctreeTraveler<T>
{
public:
virtual void traverse(const LLOctreeNode<T>* node);
virtual void traverse(const LLOctreeNode<T>* node) override;
};
template <class T>
@ -733,7 +733,7 @@ public:
{
}
bool balance()
bool balance() override
{
//LL_PROFILE_ZONE_NAMED_COLOR("Octree::balance()",OCTREE_DEBUG_COLOR_BALANCE);
@ -769,7 +769,7 @@ public:
}
// LLOctreeRoot::insert
bool insert(T* data)
bool insert(T* data) override
{
if (data == NULL)
{
@ -874,6 +874,12 @@ public:
return false;
}
bool isLeaf() const override
{
// root can't be a leaf
return false;
}
};
//========================

View File

@ -431,7 +431,7 @@ public:
max.setMax(max, *tri->mV[2]);
}
}
else if (!branch->isLeaf())
else if (branch->getChildCount() > 0)
{ //no data, but child nodes exist
LLVolumeOctreeListener* child = (LLVolumeOctreeListener*) branch->getChild(0)->getListener(0);
@ -441,11 +441,7 @@ public:
}
else
{
// <FS:NaCl> [Megaprim crash fix]
//LL_ERRS() << "Empty leaf" << LL_ENDL;
LL_WARNS() << "Empty leaf" << LL_ENDL;
return;
// </FS:NaCl> [Megaprim crash fix]
llassert(!branch->isLeaf()); // Empty leaf
}
for (S32 i = 0; i < branch->getChildCount(); ++i)

View File

@ -2489,7 +2489,7 @@ BOOL LLFace::calcPixelArea(F32& cos_angle_to_view_dir, F32& radius)
{
//override with avatar bounding box
LLVOAvatar* avatar = mVObjp->getAvatar();
if (avatar)
if (avatar && avatar->mDrawable)
{
center.load3(avatar->getPositionAgent().mV);
const LLVector4a* exts = avatar->mDrawable->getSpatialExtents();

View File

@ -564,7 +564,7 @@ void LLViewerOctreeGroup::rebound()
group->setState(SKIP_FRUSTUM_CHECK);
}
else if (mOctreeNode->isLeaf())
else if (mOctreeNode->getChildCount() == 0)
{ //copy object bounding box if this is a leaf
boundObjects(TRUE, mExtents[0], mExtents[1]);
mBounds[0] = mObjectBounds[0];

View File

@ -622,6 +622,7 @@ class WindowsManifest(ViewerManifest):
# See http://msdn.microsoft.com/en-us/library/ms235291(VS.80).aspx
self.path("msvcp140.dll")
self.path("vcruntime140.dll")
self.path_optional("vcruntime140_1.dll")
# SLVoice executable
with self.prefix(src=os.path.join(pkgdir, 'bin', 'release')):
@ -714,6 +715,7 @@ class WindowsManifest(ViewerManifest):
'sharedlibs', 'Release')):
self.path("msvcp140.dll")
self.path("vcruntime140.dll")
self.path_optional("vcruntime140_1.dll")
# CEF files common to all configurations
with self.prefix(src=os.path.join(pkgdir, 'resources')):