diff --git a/direct/src/p3d/PackageInfo.py b/direct/src/p3d/PackageInfo.py index 458f7b064e..acc177ca6c 100644 --- a/direct/src/p3d/PackageInfo.py +++ b/direct/src/p3d/PackageInfo.py @@ -1,5 +1,6 @@ from pandac.PandaModules import Filename, URLSpec, DocumentSpec, Ramfile, Multifile, Decompressor, EUOk, EUSuccess, VirtualFileSystem, Thread, getModelPath, ExecutionEnvironment, PStatCollector, TiXmlDocument, TiXmlDeclaration, TiXmlElement from pandac import PandaModules +from libpandaexpress import ConfigVariableInt from direct.p3d.FileSpec import FileSpec from direct.p3d.ScanDirectoryNode import ScanDirectoryNode from direct.showbase import VFSImporter @@ -499,6 +500,11 @@ class PackageInfo: # plan B as the only plan. self.installPlans = [planB] + # In case of unexpected failures on the internet, we will retry + # the full download instead of just giving up. + for retry in range(ConfigVariableInt('package-full-dl-retries', 1)): + self.installPlans.append(planB[:]) + pc.stop() def __scanDirectoryRecursively(self, dirname):