mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-23 11:42:39 -06:00
Removed DownloadWatcher and LoadingBlocker
This commit is contained in:
parent
9f29fb2011
commit
0d1400006f
8 changed files with 1 additions and 286 deletions
|
@ -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',
|
||||||
|
|
|
@ -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()
|
|
|
@ -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'
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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()
|
|
Loading…
Reference in a new issue