Removed DownloadWatcher and LoadingBlocker

This commit is contained in:
Daniel 2015-03-04 18:39:07 +02:00
parent 9f29fb2011
commit 0d1400006f
8 changed files with 1 additions and 286 deletions

View file

@ -1199,9 +1199,7 @@ class OTPClientRepository(ClientRepositoryBase):
return return
def detectLeakedEvents(self, extraHooks = None): def detectLeakedEvents(self, extraHooks = None):
allowedHooks = ['destroy-DownloadWatcherBar', allowedHooks = ['destroy-fade',
'destroy-DownloadWatcherText',
'destroy-fade',
'f9', 'f9',
'meta-q', 'meta-q',
'meta-q-repeat', 'meta-q-repeat',

View file

@ -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()

View file

@ -206,8 +206,6 @@ AfkForceAcknowledgeMessage = 'Your toon got sleepy and went to bed.'
PeriodTimerWarning = 'Your available time is almost over!' PeriodTimerWarning = 'Your available time is almost over!'
PeriodForceAcknowledgeMessage = 'Sorry, you have used up all of your available time. Please exit to purchase more.' PeriodForceAcknowledgeMessage = 'Sorry, you have used up all of your available time. Please exit to purchase more.'
CREnteringToontown = 'Entering...' CREnteringToontown = 'Entering...'
DownloadWatcherUpdate = 'Downloading %s'
DownloadWatcherInitializing = 'Download Initializing...'
LoginScreenUserName = 'Account Name' LoginScreenUserName = 'Account Name'
LoginScreenPassword = 'Password' LoginScreenPassword = 'Password'
LoginScreenLogin = 'Login' LoginScreenLogin = 'Login'

View file

@ -49,7 +49,6 @@ from toontown.building import DistributedBuildingQueryMgr
from ToontownMsgTypes import * from ToontownMsgTypes import *
import HoodMgr import HoodMgr
import PlayGame import PlayGame
from toontown.toontowngui import ToontownLoadingBlocker
from toontown.hood import StreetSign from toontown.hood import StreetSign
import random import random
@ -216,8 +215,6 @@ class ToontownClientRepository(OTPClientRepository.OTPClientRepository):
self.avChoice.load(self.isPaid()) self.avChoice.load(self.isPaid())
self.avChoice.enter() self.avChoice.enter()
self.accept(self.avChoiceDoneEvent, self.__handleAvatarChooserDone, [avList]) self.accept(self.avChoiceDoneEvent, self.__handleAvatarChooserDone, [avList])
if config.GetBool('want-gib-loader', 1):
self.loadingBlocker = ToontownLoadingBlocker.ToontownLoadingBlocker(avList)
return return
def __handleAvatarChooserDone(self, avList, doneStatus): def __handleAvatarChooserDone(self, avList, doneStatus):

View file

@ -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

View file

@ -4107,7 +4107,6 @@ LauncherStartingGame = 'Starting Toontown Unlimited...'
LauncherRecoverFiles = 'Updating Toontown Unlimited. Recovering files...' LauncherRecoverFiles = 'Updating Toontown Unlimited. Recovering files...'
LauncherCheckUpdates = 'Checking for updates for ' + LauncherProgress LauncherCheckUpdates = 'Checking for updates for ' + LauncherProgress
LauncherVerifyPhase = 'Updating Toontown Unlimited...' LauncherVerifyPhase = 'Updating Toontown Unlimited...'
LoadingDownloadWatcherUpdate = 'Loading %s'
AvatarChoiceMakeAToon = 'Make A\nToon' AvatarChoiceMakeAToon = 'Make A\nToon'
AvatarChoicePlayThisToon = 'Play\nThis Toon' AvatarChoicePlayThisToon = 'Play\nThis Toon'
AvatarChoiceSubscribersOnly = 'Subscribe' 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!' FireworksNewYearsEveEnding = lToonHQ + ': Hope you enjoyed the show! Have a Toontastic New Year!'
FireworksComboBeginning = lToonHQ + ': Enjoy lots of Laffs with Toon fireworks!' FireworksComboBeginning = lToonHQ + ': Enjoy lots of Laffs with Toon fireworks!'
FireworksComboEnding = lToonHQ + ': Thank you, Toons! Hope you enjoyed the show!' 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_NONE = 0
TIP_GENERAL = 1 TIP_GENERAL = 1
TIP_STREET = 2 TIP_STREET = 2

View file

@ -20,7 +20,6 @@ import ToontownGlobals
import ToontownLoader import ToontownLoader
from otp.otpbase import OTPBase from otp.otpbase import OTPBase
from otp.otpbase import OTPGlobals from otp.otpbase import OTPGlobals
from toontown.launcher import ToontownDownloadWatcher
from toontown.margins import MarginGlobals from toontown.margins import MarginGlobals
from toontown.margins.MarginManager import MarginManager from toontown.margins.MarginManager import MarginManager
from toontown.nametag import NametagGlobals from toontown.nametag import NametagGlobals
@ -389,18 +388,9 @@ class ToonBase(OTPBase.OTPBase):
cell.setActive(active) cell.setActive(active)
self.marginManager.reorganize() self.marginManager.reorganize()
def cleanupDownloadWatcher(self):
self.downloadWatcher.cleanup()
self.downloadWatcher = None
def startShow(self, cr, launcherServer = None): def startShow(self, cr, launcherServer = None):
self.cr = cr self.cr = cr
base.graphicsEngine.renderFrame() 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') gameServer = os.environ.get('TTU_GAMESERVER', 'localhost')
# Get the base port. # Get the base port.
serverPort = base.config.GetInt('server-port', 7199) serverPort = base.config.GetInt('server-port', 7199)

View file

@ -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()