diff --git a/otp/distributed/OTPClientRepository.py b/otp/distributed/OTPClientRepository.py index 398f2886..c960dc0e 100644 --- a/otp/distributed/OTPClientRepository.py +++ b/otp/distributed/OTPClientRepository.py @@ -1199,9 +1199,7 @@ class OTPClientRepository(ClientRepositoryBase): return def detectLeakedEvents(self, extraHooks = None): - allowedHooks = ['destroy-DownloadWatcherBar', - 'destroy-DownloadWatcherText', - 'destroy-fade', + allowedHooks = ['destroy-fade', 'f9', 'meta-q', 'meta-q-repeat', diff --git a/otp/launcher/DownloadWatcher.py b/otp/launcher/DownloadWatcher.py deleted file mode 100644 index b7c55fdc..00000000 --- a/otp/launcher/DownloadWatcher.py +++ /dev/null @@ -1,28 +0,0 @@ -from direct.task import Task -from otp.otpbase import OTPLocalizer -from direct.gui.DirectGui import * -from pandac.PandaModules import * -from direct.showbase.DirectObject import DirectObject - -class DownloadWatcher(DirectObject): - - def __init__(self, phaseNames): - self.phaseNames = phaseNames - self.text = DirectLabel(relief=None, guiId='DownloadWatcherText', pos=(-0.96, 0, -0.91), text=OTPLocalizer.DownloadWatcherInitializing, text_fg=(1, 1, 1, 1), text_scale=0.05, textMayChange=1, text_align=TextNode.ALeft, sortOrder=50) - self.bar = DirectWaitBar(guiId='DownloadWatcherBar', pos=(-0.81, 0, -0.96), relief=DGG.SUNKEN, frameSize=(-0.6, - 0.6, - -0.1, - 0.1), borderWidth=(0.02, 0.02), scale=0.25, range=100, sortOrder=50, frameColor=(0.5, 0.5, 0.5, 0.5), barColor=(0.2, 0.7, 0.2, 0.5), text='0%', text_scale=0.16, text_fg=(1, 1, 1, 1), text_align=TextNode.ACenter, text_pos=(0, -0.05)) - self.accept('launcherPercentPhaseComplete', self.update) - return - - def update(self, phase, percent, reqByteRate, actualByteRate): - phaseName = self.phaseNames[phase] - self.text['text'] = OTPLocalizer.DownloadWatcherUpdate % phaseName - self.bar['text'] = '%s %%' % percent - self.bar['value'] = percent - - def cleanup(self): - self.text.destroy() - self.bar.destroy() - self.ignoreAll() diff --git a/otp/otpbase/OTPLocalizerEnglish.py b/otp/otpbase/OTPLocalizerEnglish.py index 3829f2ea..b5972221 100644 --- a/otp/otpbase/OTPLocalizerEnglish.py +++ b/otp/otpbase/OTPLocalizerEnglish.py @@ -206,8 +206,6 @@ AfkForceAcknowledgeMessage = 'Your toon got sleepy and went to bed.' PeriodTimerWarning = 'Your available time is almost over!' PeriodForceAcknowledgeMessage = 'Sorry, you have used up all of your available time. Please exit to purchase more.' CREnteringToontown = 'Entering...' -DownloadWatcherUpdate = 'Downloading %s' -DownloadWatcherInitializing = 'Download Initializing...' LoginScreenUserName = 'Account Name' LoginScreenPassword = 'Password' LoginScreenLogin = 'Login' diff --git a/toontown/distributed/ToontownClientRepository.py b/toontown/distributed/ToontownClientRepository.py index a8220966..79057daf 100644 --- a/toontown/distributed/ToontownClientRepository.py +++ b/toontown/distributed/ToontownClientRepository.py @@ -49,7 +49,6 @@ from toontown.building import DistributedBuildingQueryMgr from ToontownMsgTypes import * import HoodMgr import PlayGame -from toontown.toontowngui import ToontownLoadingBlocker from toontown.hood import StreetSign import random @@ -216,8 +215,6 @@ class ToontownClientRepository(OTPClientRepository.OTPClientRepository): self.avChoice.load(self.isPaid()) self.avChoice.enter() self.accept(self.avChoiceDoneEvent, self.__handleAvatarChooserDone, [avList]) - if config.GetBool('want-gib-loader', 1): - self.loadingBlocker = ToontownLoadingBlocker.ToontownLoadingBlocker(avList) return def __handleAvatarChooserDone(self, avList, doneStatus): diff --git a/toontown/launcher/ToontownDownloadWatcher.py b/toontown/launcher/ToontownDownloadWatcher.py deleted file mode 100644 index bd9d57bf..00000000 --- a/toontown/launcher/ToontownDownloadWatcher.py +++ /dev/null @@ -1,14 +0,0 @@ -from direct.directnotify import DirectNotifyGlobal -from otp.launcher.DownloadWatcher import DownloadWatcher -from toontown.toonbase import TTLocalizer - -class ToontownDownloadWatcher(DownloadWatcher): - notify = DirectNotifyGlobal.directNotify.newCategory('ToontownDownloadWatcher') - - def __init__(self, phaseNames): - DownloadWatcher.__init__(self, phaseNames) - - def update(self, phase, percent, reqByteRate, actualByteRate): - DownloadWatcher.update(self, phase, percent, reqByteRate, actualByteRate) - phaseName = self.phaseNames[phase] - self.text['text'] = TTLocalizer.LoadingDownloadWatcherUpdate % phaseName diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index ccff0181..d1ec2373 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -4107,7 +4107,6 @@ LauncherStartingGame = 'Starting Toontown Unlimited...' LauncherRecoverFiles = 'Updating Toontown Unlimited. Recovering files...' LauncherCheckUpdates = 'Checking for updates for ' + LauncherProgress LauncherVerifyPhase = 'Updating Toontown Unlimited...' -LoadingDownloadWatcherUpdate = 'Loading %s' AvatarChoiceMakeAToon = 'Make A\nToon' AvatarChoicePlayThisToon = 'Play\nThis Toon' AvatarChoiceSubscribersOnly = 'Subscribe' @@ -8294,39 +8293,6 @@ FireworksNewYearsEveBeginning = lToonHQ + ': Happy New Year! Enjoy the fireworks FireworksNewYearsEveEnding = lToonHQ + ': Hope you enjoyed the show! Have a Toontastic New Year!' FireworksComboBeginning = lToonHQ + ': Enjoy lots of Laffs with Toon fireworks!' FireworksComboEnding = lToonHQ + ': Thank you, Toons! Hope you enjoyed the show!' -BlockerTitle = 'LOADING TOONTOWN...' -BlockerLoadingTexts = ['Rewriting history', - 'Baking pie crusts', - 'Heating pie filling', - 'Loading Doodle chow', - 'Stringing Jungle Vines', - 'Uncaging those spiders who crawl down jungle vines', - 'Planting squirting flower seeds', - 'Stretching trampolines', - 'Herding pigs', - "Tweaking 'SPLAT' sounds", - 'Cleaning Hypno-glasses', - 'Unbottling ink for Toon News', - 'Clipping TNT fuses', - "Setting up 'Under Construction' sign in Acorn Acres", - 'Waking Donald Duck', - 'Teaching new moves to dancing fire hydrants', - 'Binding Shticker Books', - 'Analyzing quacks', - 'Harvesting Jellybean pods', - 'Emptying fish buckets', - 'Corralling trashcan trash', - 'Spreading Cog grease', - 'Polishing kart trophies', - 'Balancing scale for weighing 1 Ton weights', - 'Practicing Victory Dances', - 'Preparing wackiness', - "Giving Mickey Mouse the 'five minutes' sign", - 'Testing white gloves', - 'Bending underwater rings', - 'Spooling red tape', - 'Freezing Brrrgh ice', - 'Tuning falling pianos'] TIP_NONE = 0 TIP_GENERAL = 1 TIP_STREET = 2 diff --git a/toontown/toonbase/ToonBase.py b/toontown/toonbase/ToonBase.py index aeffbae3..143f16e0 100644 --- a/toontown/toonbase/ToonBase.py +++ b/toontown/toonbase/ToonBase.py @@ -20,7 +20,6 @@ import ToontownGlobals import ToontownLoader from otp.otpbase import OTPBase from otp.otpbase import OTPGlobals -from toontown.launcher import ToontownDownloadWatcher from toontown.margins import MarginGlobals from toontown.margins.MarginManager import MarginManager from toontown.nametag import NametagGlobals @@ -389,18 +388,9 @@ class ToonBase(OTPBase.OTPBase): cell.setActive(active) self.marginManager.reorganize() - def cleanupDownloadWatcher(self): - self.downloadWatcher.cleanup() - self.downloadWatcher = None - def startShow(self, cr, launcherServer = None): self.cr = cr base.graphicsEngine.renderFrame() - self.downloadWatcher = ToontownDownloadWatcher.ToontownDownloadWatcher(TTLocalizer.LauncherPhaseNames) - if launcher.isDownloadComplete(): - self.cleanupDownloadWatcher() - else: - self.acceptOnce('launcherAllPhasesComplete', self.cleanupDownloadWatcher) gameServer = os.environ.get('TTU_GAMESERVER', 'localhost') # Get the base port. serverPort = base.config.GetInt('server-port', 7199) diff --git a/toontown/toontowngui/ToontownLoadingBlocker.py b/toontown/toontowngui/ToontownLoadingBlocker.py deleted file mode 100644 index 12d72564..00000000 --- a/toontown/toontowngui/ToontownLoadingBlocker.py +++ /dev/null @@ -1,192 +0,0 @@ -from direct.directnotify import DirectNotifyGlobal -from direct.gui.DirectGui import * -from pandac.PandaModules import TextNode -from toontown.toonbase import ToontownGlobals -from toontown.toonbase import TTLocalizer -from toontown.toontowngui import TTDialog -from otp.otpgui.OTPDialog import * -from direct.interval.LerpInterval import LerpPosInterval, LerpScaleInterval, LerpFunc -from direct.interval.IntervalGlobal import Sequence, Parallel, Func, Wait -from direct.task import Task -import random - -class ToontownLoadingBlocker(TTDialog.TTDialog): - notify = DirectNotifyGlobal.directNotify.newCategory('ToontownLoadingBlocker') - - def __init__(self, avList): - if not self.__shouldShowBlocker(avList): - return - TTDialog.TTDialog.__init__(self) - gui = loader.loadModel('phase_3/models/gui/tt_m_gui_pat_mainGui') - img = gui.find('**/tt_t_gui_pat_loadingPopup') - self['image'] = img - self['image_scale'] = (1, 0, 1) - self['image_pos'] = (0, 0, -0.4) - gui.removeNode() - self.loadingTextChangeTimer = 10.0 - self.loadingTextTimerVariant = 3.0 - self.loadingTextFreezeTime = 3.0 - self.toonTipChangeTimer = 20.0 - self.hideBlockerIval = None - self.canChangeLoadingText = True - self.__setupLoadingBar() - self.__createTitleText() - self.__createToonTip() - self.__createLoadingText() - self.__showBlocker() - self.accept('phaseComplete-4', self.__shrinkLoadingBar) - self.accept('launcherPercentPhaseComplete', self.__update) - return - - def destroy(self): - taskMgr.remove('changeLoadingTextTask') - taskMgr.remove('canChangeLoadingTextTask') - taskMgr.remove('changeToonTipTask') - self.ignore('phaseComplete-4') - self.ignore('launcherPercentPhaseComplete') - self.__cleanupHideBlockerIval() - self.title.destroy() - self.title = None - self.loadingText.destroy() - self.loadingText = None - self.loadingTextList = None - self.toonTipText.destroy() - self.toonTipText = None - self.bar.destroy() - self.bar = None - TTDialog.TTDialog.destroy(self) - return - - def __hideBlocker(self): - self.hide() - if self.__isValidDownloadBar(): - base.downloadWatcher.text.show() - - def __showBlocker(self): - self.show() - if self.__isValidDownloadBar(): - base.downloadWatcher.text.hide() - - def __setupLoadingBar(self): - self.bar = DirectWaitBar(parent=self, guiId='DownloadBlockerBar', pos=(0, 0, -0.3138), relief=DGG.SUNKEN, frameSize=(-0.6, - 0.6, - -0.1, - 0.1), borderWidth=(0.02, 0.02), scale=(0.8, 0.8, 0.5), range=100, sortOrder=5000, frameColor=(0.5, 0.5, 0.5, 0.5), barColor=(0.2, 0.7, 0.2, 0.5), text='0%', text_scale=(0.08, 0.128), text_fg=(1, 1, 1, 1), text_align=TextNode.ACenter, text_pos=(0, -0.035)) - self.bar.setBin('gui-popup', 1) - if self.__isValidDownloadBar(): - base.downloadWatcher.bar.hide() - - def __resetLoadingBar(self): - self.bar.clearBin() - if self.__isValidDownloadBar(): - base.downloadWatcher.bar.show() - - def __isValidDownloadBar(self): - if hasattr(base, 'downloadWatcher') and base.downloadWatcher: - if hasattr(base.downloadWatcher, 'bar') and base.downloadWatcher.bar: - return True - return False - - def __createTitleText(self): - self.title = DirectLabel(parent=self, relief=None, guiId='BlockerTitle', pos=(0, 0, 0.38), text=TTLocalizer.BlockerTitle, text_font=ToontownGlobals.getSignFont(), text_fg=(1, 0.9, 0.1, 1), text_align=TextNode.ACenter, text_scale=0.1, textMayChange=1, sortOrder=50) - return - - def __createLoadingText(self): - self.loadingText = DirectLabel(parent=self, relief=None, guiId='BlockerLoadingText', pos=(0, 0, -0.2357), text='', text_fg=(1, 1, 1, 1), text_scale=0.055, textMayChange=1, text_align=TextNode.ACenter, sortOrder=50) - self.loadingTextList = TTLocalizer.BlockerLoadingTexts - self.__changeLoadingText() - taskMgr.doMethodLater(self.loadingTextChangeTimer, self.__changeLoadingTextTask, 'changeLoadingTextTask') - return - - def __changeLoadingText(self): - - def getLoadingText(): - listLen = len(self.loadingTextList) - if listLen > 0: - randomIndex = random.randrange(listLen) - randomLoadingText = self.loadingTextList.pop(randomIndex) - return randomLoadingText - else: - self.loadingTextList = TTLocalizer.BlockerLoadingTexts - - if self.canChangeLoadingText: - self.loadingText['text'] = getLoadingText() - self.canChangeLoadingText = False - taskMgr.doMethodLater(self.loadingTextFreezeTime, self.__canChangeLoadingTextTask, 'canChangeLoadingTextTask') - - def __changeLoadingTextTask(self, task): - self.__changeLoadingText() - randVariation = random.uniform(-self.loadingTextTimerVariant, self.loadingTextTimerVariant) - task.delayTime = self.loadingTextChangeTimer + randVariation - return task.again - - def __canChangeLoadingTextTask(self, task): - self.canChangeLoadingText = True - return task.done - - def __createToonTip(self): - self.toonTipText = DirectLabel(parent=self, relief=None, guiId='BlockerToonTip', pos=(0, 0, -0.4688), text='', text_fg=(1, 1, 1, 1), text_scale=0.05, textMayChange=1, text_align=TextNode.ACenter, text_wordwrap=32, sortOrder=50) - self.__changeToonTip() - taskMgr.doMethodLater(self.toonTipChangeTimer, self.__changeToonTipTask, 'changeToonTipTask') - return - - def __changeToonTip(self): - - def getTip(tipCategory): - return TTLocalizer.TipTitle + '\n' + random.choice(TTLocalizer.TipDict.get(tipCategory)) - - self.toonTipText['text'] = getTip(TTLocalizer.TIP_GENERAL) - - def __changeToonTipTask(self, task): - self.__changeToonTip() - return task.again - - def __shouldShowBlocker(self, avList): - - def hasPlayableToon(avList): - if len(avList) > 0: - if base.cr.isPaid(): - return True - else: - for av in avList: - if av.position == 1: - return True - - return False - - if hasPlayableToon(avList): - if not (base.launcher.getPhaseComplete(3.5) and base.launcher.getPhaseComplete(4)): - return True - return False - - def __shrinkLoadingBar(self): - if self.__isValidDownloadBar(): - ivalDuration = 0.5 - barPosIval = LerpPosInterval(self.bar, ivalDuration, (-0.81, 0, -0.96)) - barScaleIval = LerpScaleInterval(self.bar, ivalDuration, (0.25, 0.25, 0.25)) - - def posText(pos): - self.bar['text_pos'] = (0, pos) - - def scaleText(scale): - self.bar['text_scale'] = (scale, scale) - - textScaleIval = LerpFunc(scaleText, fromData=0.08, toData=0.16, duration=ivalDuration) - textPosIval = LerpFunc(posText, fromData=-0.035, toData=-0.05, duration=ivalDuration) - shrinkIval = Parallel(barPosIval, barScaleIval, textPosIval, textScaleIval, Func(self.loadingText.hide)) - self.hideBlockerIval = Sequence(shrinkIval, Wait(0.5), Func(self.__hideBlocker), Func(self.__resetLoadingBar), Func(self.destroy)) - self.hideBlockerIval.start() - - def __cleanupHideBlockerIval(self): - if self.hideBlockerIval: - self.hideBlockerIval.finish() - self.hideBlockerIval = None - return - - def __update(self, phase, percent, reqByteRate, actualByteRate): - if self.__isValidDownloadBar(): - percent = base.downloadWatcher.bar['value'] - self.bar['text'] = '%s %%' % percent - self.bar['value'] = percent - if percent == 0: - self.__changeLoadingText()