From 7e227afa55882ecdc309d74ce4bf424f632b5bc1 Mon Sep 17 00:00:00 2001 From: John Cote Date: Tue, 12 May 2015 17:49:30 -0400 Subject: [PATCH 01/78] this is better k --- toontown/ai/DistributedJorElCam.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/toontown/ai/DistributedJorElCam.py b/toontown/ai/DistributedJorElCam.py index 5c9cec5e..1120ca5b 100644 --- a/toontown/ai/DistributedJorElCam.py +++ b/toontown/ai/DistributedJorElCam.py @@ -42,10 +42,11 @@ class DistributedJorElCam(DistributedObject): base.cr.jorElHead = self.head def delete(self): - self.head = None + del self.head del base.cr.jorElHead DistributedObject.delete(self) def disable(self): + self.head.cleanup() self.head.removeNode() DistributedObject.disable(self) From 36bb543af6cd92f0af9557c74214c79a4bbdc661 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 14:00:52 +0300 Subject: [PATCH 02/78] Upstream --- config/release/dev.prc | 10 +--- toontown/ai/CrashedLeaderBoardDecorator.py | 46 ------------------ toontown/ai/NewsManager.py | 24 +++------- toontown/ai/ToontownAIRepository.py | 1 - toontown/battle/BattleParticles.py | 15 +----- toontown/battle/BattleSounds.py | 6 +-- toontown/battle/ParticleDefs.py | 55 ---------------------- toontown/effects/CarSmoke.py | 54 --------------------- toontown/hood/GSHood.py | 4 -- toontown/hood/TTHoodAI.py | 9 ++-- toontown/makeatoon/NameGenerator.py | 11 ++--- toontown/quest/QuestMapGlobals.py | 2 +- toontown/quest/QuestParser.py | 11 ++--- toontown/racing/DistributedLeaderBoard.py | 20 ++------ toontown/safezone/GSSafeZoneLoader.py | 36 +------------- toontown/suit/Suit.py | 19 +++----- toontown/toon/NPCToons.py | 2 +- toontown/toonbase/ToontownGlobals.py | 1 - 18 files changed, 34 insertions(+), 292 deletions(-) delete mode 100644 toontown/ai/CrashedLeaderBoardDecorator.py delete mode 100644 toontown/effects/CarSmoke.py diff --git a/config/release/dev.prc b/config/release/dev.prc index 4deec769..1edcfa76 100644 --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -26,20 +26,14 @@ want-lawbot-cogdo #t want-achievements #f want-anim-props #t want-game-tables #t -want-find-four #f +want-find-four #t want-chinese-checkers #t -want-checkers #f +want-checkers #t # Chat: want-whitelist #f -# Cashbot boss: -want-resistance-toonup #t -want-resistance-restock #t -want-resistance-dance #t - # Optional: -want-glove-npc #t want-jor-el-cam #f # Developer options: diff --git a/toontown/ai/CrashedLeaderBoardDecorator.py b/toontown/ai/CrashedLeaderBoardDecorator.py deleted file mode 100644 index eb9aee23..00000000 --- a/toontown/ai/CrashedLeaderBoardDecorator.py +++ /dev/null @@ -1,46 +0,0 @@ -from direct.directnotify import DirectNotifyGlobal -from direct.distributed.ClockDelta import * -from direct.interval.IntervalGlobal import * -import HolidayDecorator -from toontown.toonbase import ToontownGlobals -from pandac.PandaModules import Vec4, TransformState, NodePath, TransparencyAttrib -from toontown.hood import GSHood - -class CrashedLeaderBoardDecorator(HolidayDecorator.HolidayDecorator): - notify = DirectNotifyGlobal.directNotify.newCategory('CrashedLeaderBoardDecorator') - - def __init__(self): - HolidayDecorator.HolidayDecorator.__init__(self) - - def decorate(self): - self.updateHoodDNAStore() - self.swapIval = self.getSwapVisibleIval() - if self.swapIval: - self.swapIval.start() - holidayIds = base.cr.newsManager.getDecorationHolidayId() - if ToontownGlobals.CRASHED_LEADERBOARD not in holidayIds: - return - if base.config.GetBool('want-crashedLeaderBoard-Smoke', 1): - self.startSmokeEffect() - - def startSmokeEffect(self): - if isinstance(base.cr.playGame.getPlace().loader.hood, GSHood.GSHood): - base.cr.playGame.getPlace().loader.startSmokeEffect() - - def stopSmokeEffect(self): - if isinstance(base.cr.playGame.getPlace().loader.hood, GSHood.GSHood): - base.cr.playGame.getPlace().loader.stopSmokeEffect() - - def undecorate(self): - if base.config.GetBool('want-crashedLeaderBoard-Smoke', 1): - self.stopSmokeEffect() - holidayIds = base.cr.newsManager.getDecorationHolidayId() - if len(holidayIds) > 0: - self.decorate() - return - storageFile = base.cr.playGame.hood.storageDNAFile - if storageFile: - loadDNAFile(self.dnaStore, storageFile, CSDefault) - self.swapIval = self.getSwapVisibleIval() - if self.swapIval: - self.swapIval.start() diff --git a/toontown/ai/NewsManager.py b/toontown/ai/NewsManager.py index 4e877e08..04fdb48f 100644 --- a/toontown/ai/NewsManager.py +++ b/toontown/ai/NewsManager.py @@ -1,30 +1,22 @@ +from otp.ai.MagicWordGlobal import * from pandac.PandaModules import * from direct.distributed import DistributedObject from direct.directnotify import DirectNotifyGlobal -from toontown.toonbase import ToontownGlobals -from toontown.toonbase import ToontownBattleGlobals -from toontown.battle import SuitBattleGlobals -from toontown.toonbase import TTLocalizer -import HolidayDecorator -import HalloweenHolidayDecorator -import CrashedLeaderBoardDecorator from direct.interval.IntervalGlobal import * -import calendar -from copy import deepcopy +from toontown.toonbase import TTLocalizer, ToontownGlobals, ToontownBattleGlobals +from toontown.battle import SuitBattleGlobals from toontown.suit import SuitDNA -from otp.ai.MagicWordGlobal import * - +from copy import deepcopy +import HolidayDecorator, HalloweenHolidayDecorator, calendar decorationHolidays = [ToontownGlobals.WINTER_DECORATIONS, ToontownGlobals.WACKY_WINTER_DECORATIONS, ToontownGlobals.HALLOWEEN_PROPS, ToontownGlobals.SPOOKY_PROPS, ToontownGlobals.HALLOWEEN_COSTUMES, - ToontownGlobals.SPOOKY_COSTUMES, - ToontownGlobals.CRASHED_LEADERBOARD] + ToontownGlobals.SPOOKY_COSTUMES] promotionalSpeedChatHolidays = [] - class NewsManager(DistributedObject.DistributedObject): notify = DirectNotifyGlobal.directNotify.newCategory('NewsManager') neverDisable = 1 @@ -186,8 +178,6 @@ class NewsManager(DistributedObject.DistributedObject): if hasattr(base.cr.playGame, 'dnaStore') and hasattr(base.cr.playGame, 'hood') and hasattr(base.cr.playGame.hood, 'loader'): if holidayId == ToontownGlobals.HALLOWEEN_COSTUMES or holidayId == ToontownGlobals.SPOOKY_COSTUMES: self.holidayDecorator = HalloweenHolidayDecorator.HalloweenHolidayDecorator() - elif holidayId == ToontownGlobals.CRASHED_LEADERBOARD: - self.holidayDecorator = CrashedLeaderBoardDecorator.CrashedLeaderBoardDecorator() else: self.holidayDecorator = HolidayDecorator.HolidayDecorator() self.holidayDecorator.decorate() @@ -303,8 +293,6 @@ class NewsManager(DistributedObject.DistributedObject): if hasattr(base.cr.playGame, 'dnaStore') and hasattr(base.cr.playGame, 'hood') and hasattr(base.cr.playGame.hood, 'loader'): if holidayId == ToontownGlobals.HALLOWEEN_COSTUMES or holidayId == ToontownGlobals.SPOOKY_COSTUMES: self.holidayDecorator = HalloweenHolidayDecorator.HalloweenHolidayDecorator() - elif holidayId == ToontownGlobals.CRASHED_LEADERBOARD: - self.holidayDecorator = CrashedLeaderBoardDecorator.CrashedLeaderBoardDecorator() else: self.holidayDecorator = HolidayDecorator.HolidayDecorator() self.holidayDecorator.undecorate() diff --git a/toontown/ai/ToontownAIRepository.py b/toontown/ai/ToontownAIRepository.py index ddb0fae1..9f50617a 100644 --- a/toontown/ai/ToontownAIRepository.py +++ b/toontown/ai/ToontownAIRepository.py @@ -87,7 +87,6 @@ class ToontownAIRepository(ToontownInternalRepository): self.wantCogbuildings = self.config.GetBool('want-cogbuildings', True) self.wantCogdominiums = self.config.GetBool('want-cogdominiums', True) self.wantTrackClsends = self.config.GetBool('want-track-clsends', False) - self.wantGloveNpc = self.config.GetBool('want-glove-npc', True) self.baseXpMultiplier = self.config.GetFloat('base-xp-multiplier', 1.0) self.wantHalloween = self.config.GetBool('want-halloween', False) self.wantChristmas = self.config.GetBool('want-christmas', False) diff --git a/toontown/battle/BattleParticles.py b/toontown/battle/BattleParticles.py index d4cc42c5..15c6636d 100644 --- a/toontown/battle/BattleParticles.py +++ b/toontown/battle/BattleParticles.py @@ -1,8 +1,7 @@ from direct.particles.ParticleEffect import * -import os from direct.directnotify import DirectNotifyGlobal -from direct.showbase import AppRunnerGlobal import ParticleDefs + notify = DirectNotifyGlobal.directNotify.newCategory('BattleParticles') TutorialParticleEffects = ('gearExplosionBig.ptf', 'gearExplosionSmall.ptf', 'gearExplosion.ptf') ParticleNames = ('audit-div', 'audit-five', 'audit-four', 'audit-minus', 'audit-mult', 'audit-one', 'audit-plus', 'audit-six', 'audit-three', 'audit-two', 'blah', 'brainstorm-box', 'brainstorm-env', 'brainstorm-track', 'buzzwords-crash', 'buzzwords-inc', 'buzzwords-main', 'buzzwords-over', 'buzzwords-syn', 'confetti', 'doubletalk-double', 'doubletalk-dup', 'doubletalk-good', 'filibuster-cut', 'filibuster-fiscal', 'filibuster-impeach', 'filibuster-inc', 'jargon-brow', 'jargon-deep', 'jargon-hoop', 'jargon-ipo', 'legalese-hc', 'legalese-qpq', 'legalese-vd', 'mumbojumbo-boiler', 'mumbojumbo-creative', 'mumbojumbo-deben', 'mumbojumbo-high', 'mumbojumbo-iron', 'poundsign', 'schmooze-genius', 'schmooze-instant', 'schmooze-master', 'schmooze-viz', 'roll-o-dex', 'rollodex-card', 'dagger', 'fire', 'snow-particle', 'raindrop', 'gear', 'checkmark', 'dollar-sign', 'spark') @@ -13,8 +12,6 @@ def loadParticles(): global particleModel if particleModel == None: particleModel = loader.loadModel('phase_3.5/models/props/suit-particles') - return - def unloadParticles(): global particleModel @@ -22,8 +19,6 @@ def unloadParticles(): particleModel.removeNode() del particleModel particleModel = None - return - def getParticle(name): if name in ParticleNames: @@ -34,7 +29,6 @@ def getParticle(name): return None return None - def loadParticleFile(name): assert name.endswith('.ptf') name = name[:-4] # Strip .ptf @@ -44,7 +38,6 @@ def loadParticleFile(name): particleFunc(effect) return effect - def createParticleEffect(name = None, file = None, numParticles = None, color = None): if not name: fileName = file + '.ptf' @@ -111,7 +104,6 @@ def createParticleEffect(name = None, file = None, numParticles = None, color = notify.warning('createParticleEffect() - no name: %s' % name) return None - def setEffectTexture(effect, name, color = None): particles = effect.getParticlesNamed('particles-1') np = getParticle(name) @@ -119,7 +111,6 @@ def setEffectTexture(effect, name, color = None): particles.renderer.setColor(color) particles.renderer.setFromNode(np) - def __makeGearExplosion(numParticles = None, style = 'Normal'): if style == 'Normal': effect = loadParticleFile('gearExplosion.ptf') @@ -132,7 +123,6 @@ def __makeGearExplosion(numParticles = None, style = 'Normal'): particles.setPoolSize(numParticles) return effect - def __makeRubOut(color = None): effect = loadParticleFile('demotionUnFreeze.ptf') loadParticles() @@ -148,7 +138,6 @@ def __makeRubOut(color = None): particles.renderer.setColor(Vec4(0.54, 0.92, 0.32, 0.7)) return effect - def __makeShiftLift(): effect = loadParticleFile('pixieDrop.ptf') particles = effect.getParticlesNamed('particles-1') @@ -157,4 +146,4 @@ def __makeShiftLift(): particles.emitter.setRadius(0.01) effect.setHpr(0, 180, 0) effect.setPos(0, 0, 0) - return effect + return effect \ No newline at end of file diff --git a/toontown/battle/BattleSounds.py b/toontown/battle/BattleSounds.py index 23ef5e2a..905ada38 100644 --- a/toontown/battle/BattleSounds.py +++ b/toontown/battle/BattleSounds.py @@ -1,7 +1,5 @@ from pandac.PandaModules import * from direct.directnotify import DirectNotifyGlobal -from direct.showbase import AppRunnerGlobal -import os class BattleSounds: notify = DirectNotifyGlobal.directNotify.newCategory('BattleSounds') @@ -15,7 +13,6 @@ class BattleSounds: self.mgr.setCacheLimit(limit) base.addSfxManager(self.mgr) self.setupSearchPath() - return def setupSearchPath(self): self.sfxSearchPath = DSearchPath() @@ -46,5 +43,4 @@ class BattleSounds: return self.mgr.getSound(filename.getFullpath()) return self.mgr.getNullSound() - -globalBattleSoundCache = BattleSounds() +globalBattleSoundCache = BattleSounds() \ No newline at end of file diff --git a/toontown/battle/ParticleDefs.py b/toontown/battle/ParticleDefs.py index 0cdf09d1..02db034b 100644 --- a/toontown/battle/ParticleDefs.py +++ b/toontown/battle/ParticleDefs.py @@ -65,61 +65,6 @@ def gearExplosion(self): f0.addForce(force0) self.addForceGroup(f0) - -@particle -def smokeTest4(self): - self.reset() - self.setPos(0.000, 0.000, 0.000) - self.setHpr(0.000, 0.000, 0.000) - self.setScale(1.000, 1.000, 1.000) - p0 = Particles.Particles('particles-1') - - p0.setFactory("PointParticleFactory") - p0.setRenderer("SpriteParticleRenderer") - p0.setEmitter("DiscEmitter") - p0.setPoolSize(30) - p0.setBirthRate(0.1000) - p0.setLitterSize(1) - p0.setLitterSpread(0) - p0.setSystemLifespan(0.0000) - p0.setLocalVelocityFlag(1) - p0.setSystemGrowsOlderFlag(0) - - p0.factory.setLifespanBase(2.0000) - p0.factory.setLifespanSpread(0.5000) - p0.factory.setMassBase(1.0000) - p0.factory.setMassSpread(0.0000) - p0.factory.setTerminalVelocityBase(400.0000) - p0.factory.setTerminalVelocitySpread(0.0000) - - p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) - p0.renderer.setUserAlpha(0.57) - - p0.renderer.addTextureFromFile('../../ttmodels/src/maps/tt_t_efx_ext_smoke.tif') - p0.renderer.setColor(Vec4(1.00, 1.00, 1.00, 1.00)) - p0.renderer.setXScaleFlag(1) - p0.renderer.setYScaleFlag(1) - p0.renderer.setAnimAngleFlag(0) - p0.renderer.setInitialXScale(2.0000) - p0.renderer.setFinalXScale(4.0000) - p0.renderer.setInitialYScale(2.0000) - p0.renderer.setFinalYScale(4.0000) - p0.renderer.setNonanimatedTheta(0.0000) - p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPBLENDLINEAR) - p0.renderer.setAlphaDisable(0) - p0.renderer.getColorInterpolationManager().addLinear(0.0,1.0,Vec4(0.28235295414924622,0.28235295414924622,0.28235295414924622,1.0),Vec4(0.28235295414924622,0.28235295414924622,0.28235295414924622,1.0),1) - - p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) - p0.emitter.setAmplitude(0.4000) - p0.emitter.setAmplitudeSpread(0.0000) - p0.emitter.setOffsetForce(Vec3(0.0000, 0.0000, 6.0000)) - p0.emitter.setExplicitLaunchVector(Vec3(1.0000, 0.0000, 0.0000)) - p0.emitter.setRadiateOrigin(Point3(0.0000, 0.0000, 0.0000)) - - p0.emitter.setRadius(1.0000) - self.addParticles(p0) - - @particle def gearExplosionSmall(self): self.reset() diff --git a/toontown/effects/CarSmoke.py b/toontown/effects/CarSmoke.py deleted file mode 100644 index e0ca403d..00000000 --- a/toontown/effects/CarSmoke.py +++ /dev/null @@ -1,54 +0,0 @@ -from pandac.PandaModules import * -from direct.particles import ParticleEffect -from direct.directnotify import DirectNotifyGlobal -from direct.showbase import AppRunnerGlobal -import os - -class CarSmoke(NodePath): - - def __init__(self, parent): - NodePath.__init__(self) - notify = DirectNotifyGlobal.directNotify.newCategory('CarSmokeParticles') - self.effectNode = parent.attachNewNode('carSmoke') - self.effectNode.setBin('fixed', 1) - self.effectNode.setDepthWrite(0) - self.effect = ParticleEffect.ParticleEffect() - particleSearchPath = DSearchPath() - if AppRunnerGlobal.appRunner: - particleSearchPath.appendDirectory(Filename.expandFrom('$TT_3_5_ROOT/phase_3.5/etc')) - else: - basePath = os.path.expandvars('$TOONTOWN') or './toontown' - particleSearchPath.appendDirectory(Filename.fromOsSpecific(basePath + '/src/effects')) - particleSearchPath.appendDirectory(Filename('phase_3.5/etc')) - particleSearchPath.appendDirectory(Filename('phase_4/etc')) - particleSearchPath.appendDirectory(Filename('phase_5/etc')) - particleSearchPath.appendDirectory(Filename('phase_6/etc')) - particleSearchPath.appendDirectory(Filename('phase_7/etc')) - particleSearchPath.appendDirectory(Filename('phase_8/etc')) - particleSearchPath.appendDirectory(Filename('phase_9/etc')) - particleSearchPath.appendDirectory(Filename('.')) - pfile = Filename('smokeTest4.ptf') - found = vfs.resolveFilename(pfile, particleSearchPath) - if not found: - notify.warning('loadParticleFile() - no path: %s' % pfile) - return - notify.debug('Loading particle file: %s' % pfile) - self.effect.loadConfig(pfile) - ren = self.effect.getParticlesNamed('particles-1').getRenderer() - ren.setTextureFromNode('phase_4/models/props/tt_m_efx_ext_smoke', '**/*') - - def start(self): - self.effect.start(parent=self.effectNode) - - def stop(self): - try: - self.effect.disable() - except AttributeError: - pass - - def destroy(self): - self.stop() - self.effect.cleanup() - self.effectNode.removeNode() - del self.effect - del self.effectNode diff --git a/toontown/hood/GSHood.py b/toontown/hood/GSHood.py index 88978a6a..83cfd0fe 100644 --- a/toontown/hood/GSHood.py +++ b/toontown/hood/GSHood.py @@ -2,7 +2,6 @@ from toontown.safezone.GSSafeZoneLoader import GSSafeZoneLoader from toontown.toonbase import ToontownGlobals from toontown.hood.ToonHood import ToonHood - class GSHood(ToonHood): notify = directNotify.newCategory('GSHood') @@ -13,9 +12,6 @@ class GSHood(ToonHood): SPOOKY_SKY_FILE = 'phase_3.5/models/props/BR_sky' TITLE_COLOR = (1.0, 0.5, 0.4, 1.0) - HOLIDAY_DNA = { - ToontownGlobals.CRASHED_LEADERBOARD: ['phase_6/dna/crashed_leaderboard_storage_GS.pdna']} - def enter(self, requestStatus): ToonHood.enter(self, requestStatus) diff --git a/toontown/hood/TTHoodAI.py b/toontown/hood/TTHoodAI.py index 9bc94b2f..69817bf0 100644 --- a/toontown/hood/TTHoodAI.py +++ b/toontown/hood/TTHoodAI.py @@ -28,11 +28,10 @@ class TTHoodAI(HoodAI.HoodAI): if simbase.config.GetBool('want-butterflies', True): self.createButterflies() - if simbase.air.wantGloveNpc: - NPCToons.createNPC( - simbase.air, 2021, - (ToontownGlobals.ToontownCentral, TTLocalizer.NPCToonNames[2021], ('dss', 'ls', 's', 'm', 13, 41, 13, 13, 1, 6, 1, 6, 0, 18, 0), 'm', 1, NPCToons.NPC_GLOVE), - ToontownGlobals.ToontownCentral, posIndex=0) + NPCToons.createNPC( + simbase.air, 2021, + (ToontownGlobals.ToontownCentral, TTLocalizer.NPCToonNames[2021], ('dss', 'ls', 's', 'm', 13, 41, 13, 13, 1, 6, 1, 6, 0, 18, 0), 'm', 1, NPCToons.NPC_GLOVE), + ToontownGlobals.ToontownCentral, posIndex=0) if simbase.air.wantHalloween: self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air) diff --git a/toontown/makeatoon/NameGenerator.py b/toontown/makeatoon/NameGenerator.py index 3325ae28..c7f36632 100644 --- a/toontown/makeatoon/NameGenerator.py +++ b/toontown/makeatoon/NameGenerator.py @@ -1,12 +1,7 @@ from pandac.PandaModules import * -import random -import string -import copy -from toontown.toonbase import ToontownGlobals -from toontown.toonbase import TTLocalizer -import os -from direct.showbase import AppRunnerGlobal from direct.directnotify import DirectNotifyGlobal +from toontown.toonbase import TTLocalizer, ToontownGlobals +import random class NameGenerator: text = TextNode('text') @@ -364,4 +359,4 @@ class NameGenerator: totalTitleFirstLasts = neutralTitleFirstLasts + boyTitleFirstLasts + girlTitleFirstLasts print 'Total title first lasts: ' + str(totalTitleFirstLasts) totalNames = firsts + lasts + totalTitleFirsts + totalTitleLasts + totalFirstLasts + totalTitleFirstLasts - print 'Total Names: ' + str(totalNames) + print 'Total Names: ' + str(totalNames) \ No newline at end of file diff --git a/toontown/quest/QuestMapGlobals.py b/toontown/quest/QuestMapGlobals.py index f1f042dd..08af68fa 100644 --- a/toontown/quest/QuestMapGlobals.py +++ b/toontown/quest/QuestMapGlobals.py @@ -67,4 +67,4 @@ CornerPosTable = {'daisys_garden_5200_english': [Point3(781.219727, 476.963623, 'daisys_garden_5100_english': [Point3(760.089722, 526.236206, 0), Point3(-139.510132, -373.3638, 0)], 'toontown_central_2300_english': [Point3(870.224243, 536.165771, 0), Point3(-89.175751, -423.234344, 0)], 'toontown_central_2100_english': [Point3(161.735336, -59.985107, 0), Point3(-512.664612, -734.385193, 0)], - 'the_burrrgh_3200_english': [Point3(429.647949, 561.224304, 0), Point3(-31.951935, 99.624283, 0)]} + 'the_burrrgh_3200_english': [Point3(429.647949, 561.224304, 0), Point3(-31.951935, 99.624283, 0)]} \ No newline at end of file diff --git a/toontown/quest/QuestParser.py b/toontown/quest/QuestParser.py index 655ba59c..bce91616 100644 --- a/toontown/quest/QuestParser.py +++ b/toontown/quest/QuestParser.py @@ -1,17 +1,12 @@ +from pandac.PandaModules import * from direct.directnotify import DirectNotifyGlobal from direct.interval.IntervalGlobal import * -from direct.showbase import AppRunnerGlobal from direct.showbase import DirectObject -from direct.showbase import PythonUtil -from pandac.PandaModules import * from otp.speedchat import SpeedChatGlobals -from toontown.ai import DistributedBlackCatMgr from toontown.chat.ChatGlobals import * -from toontown.suit import Suit -from toontown.suit import SuitDNA +from toontown.suit import Suit, SuitDNA from toontown.toon import ToonHeadFrame -from toontown.toonbase import TTLocalizer -from toontown.toonbase import ToontownBattleGlobals +from toontown.toonbase import TTLocalizer, ToontownBattleGlobals from toontown.quest import QuestScripts import copy, re, tokenize, BlinkingArrows, StringIO diff --git a/toontown/racing/DistributedLeaderBoard.py b/toontown/racing/DistributedLeaderBoard.py index 7b0fcf40..6c129d4f 100644 --- a/toontown/racing/DistributedLeaderBoard.py +++ b/toontown/racing/DistributedLeaderBoard.py @@ -1,11 +1,10 @@ +from pandac.PandaModules import * from direct.distributed import DistributedObject from direct.directnotify import DirectNotifyGlobal -from toontown.toonbase import TTLocalizer from toontown.racing import KartShopGlobals +from toontown.toonbase import TTLocalizer from toontown.toonbase.ToonBaseGlobal import * -from pandac.PandaModules import * from toontown.toonbase.ToontownGlobals import * -import random import cPickle class DistributedLeaderBoard(DistributedObject.DistributedObject): @@ -20,7 +19,6 @@ class DistributedLeaderBoard(DistributedObject.DistributedObject): self.updateCount = 0 self.board = None self.surface = None - return def generateInit(self): DistributedObject.DistributedObject.generateInit(self) @@ -33,18 +31,6 @@ class DistributedLeaderBoard(DistributedObject.DistributedObject): def announceGenerate(self): DistributedObject.DistributedObject.announceGenerate(self) self.board.reparentTo(render) - self.accept('decorator-holiday-%d-ending' % ToontownGlobals.CRASHED_LEADERBOARD, self.showLists) - self.accept('decorator-holiday-%d-starting' % ToontownGlobals.CRASHED_LEADERBOARD, self.hideLists) - newsManager = base.cr.newsManager - if newsManager: - if ToontownGlobals.CRASHED_LEADERBOARD in newsManager.holidayIdList: - self.hideLists() - - def showLists(self): - self.board.show() - - def hideLists(self): - self.board.hide() def setPosHpr(self, x, y, z, h, p, r): self.surface.setPosHpr(x, y, z, h, p, r) @@ -165,4 +151,4 @@ class DistributedLeaderBoard(DistributedObject.DistributedObject): self.notify.debug('delete: deleting local leaderboard') self.ignoreAll() self.board.removeNode() - DistributedObject.DistributedObject.delete(self) + DistributedObject.DistributedObject.delete(self) \ No newline at end of file diff --git a/toontown/safezone/GSSafeZoneLoader.py b/toontown/safezone/GSSafeZoneLoader.py index 28208bfb..537d4e4b 100644 --- a/toontown/safezone/GSSafeZoneLoader.py +++ b/toontown/safezone/GSSafeZoneLoader.py @@ -1,13 +1,9 @@ +from pandac.PandaModules import * from direct.directnotify import DirectNotifyGlobal from direct.fsm import ClassicFSM, State -from direct.fsm import State -from pandac.PandaModules import * from toontown.hood import ZoneUtil from toontown.safezone.SafeZoneLoader import SafeZoneLoader from toontown.safezone.GSPlayground import GSPlayground -from toontown.effects.CarSmoke import CarSmoke -from toontown.toonbase import ToontownGlobals -import random class GSSafeZoneLoader(SafeZoneLoader): @@ -24,23 +20,14 @@ class GSSafeZoneLoader(SafeZoneLoader): State.State('quietZone', self.enterQuietZone, self.exitQuietZone, ['playground', 'toonInterior', 'racetrack']), State.State('racetrack', self.enterRacetrack, self.exitRacetrack, ['quietZone', 'playground']), State.State('final', self.enterFinal, self.exitFinal, ['start'])], 'start', 'final') - self.smoke = None - return def load(self): SafeZoneLoader.load(self) - if base.cr.newsManager: - holidayIds = base.cr.newsManager.getDecorationHolidayId() - if ToontownGlobals.CRASHED_LEADERBOARD in holidayIds: - self.startSmokeEffect() self.birdSound = map(base.loadSfx, ['phase_4/audio/sfx/SZ_TC_bird1.ogg', 'phase_4/audio/sfx/SZ_TC_bird2.ogg', 'phase_4/audio/sfx/SZ_TC_bird3.ogg']) def unload(self): del self.birdSound - if self.smoke != None: - self.stopSmokeEffect() SafeZoneLoader.unload(self) - return def enterPlayground(self, requestStatus): self.playgroundClass = GSPlayground @@ -51,7 +38,6 @@ class GSSafeZoneLoader(SafeZoneLoader): self.hood.hideTitleText() SafeZoneLoader.exitPlayground(self) self.playgroundClass = None - return def handlePlaygroundDone(self): status = self.place.doneStatus @@ -63,7 +49,6 @@ class GSSafeZoneLoader(SafeZoneLoader): else: self.doneStatus = status messenger.send(self.doneEvent) - return def enteringARace(self, status): if not status['where'] == 'racetrack': @@ -93,21 +78,4 @@ class GSSafeZoneLoader(SafeZoneLoader): 'hoodId': 8000, 'shardId': None} self.fsm.request('quietZone', [req]) - return - - def startSmokeEffect(self): - if base.config.GetBool('want-crashedLeaderBoard-Smoke', 1): - leaderBoard = self.geom.find('**/*crashed*') - locator = leaderBoard.find('**/*locator_smoke*') - if locator != None: - self.smoke = CarSmoke(locator) - self.smoke.start() - return - - def stopSmokeEffect(self): - if base.config.GetBool('want-crashedLeaderBoard-Smoke', 1): - if self.smoke != None: - self.smoke.stop() - self.smoke.destroy() - self.smoke = None - return + return \ No newline at end of file diff --git a/toontown/suit/Suit.py b/toontown/suit/Suit.py index a1fdb8a7..d5f2dd70 100644 --- a/toontown/suit/Suit.py +++ b/toontown/suit/Suit.py @@ -1,19 +1,12 @@ -from direct.actor import Actor -from otp.avatar import Avatar -import SuitDNA -from toontown.toonbase import ToontownGlobals from pandac.PandaModules import * -from toontown.battle import SuitBattleGlobals -from toontown.nametag import NametagGlobals +from direct.actor import Actor from direct.task.Task import Task -from toontown.battle import BattleProps -from toontown.toonbase import TTLocalizer -from pandac.PandaModules import VirtualFileMountHTTP, VirtualFileSystem, Filename, DSearchPath -from direct.showbase import AppRunnerGlobal -from toontown.nametag import NametagGroup -import string -import os +from otp.avatar import Avatar +from toontown.battle import BattleProps, SuitBattleGlobals +from toontown.nametag import NametagGlobals +from toontown.toonbase import TTLocalizer, ToontownGlobals from toontown.suit import SuitGlobals +import SuitDNA, string aSize = 6.06 bSize = 5.29 diff --git a/toontown/toon/NPCToons.py b/toontown/toon/NPCToons.py index bea7fae7..2a77dbf3 100644 --- a/toontown/toon/NPCToons.py +++ b/toontown/toon/NPCToons.py @@ -119,7 +119,7 @@ def createNPC(air, npcId, desc, zoneId, posIndex = 0, questCallback = None): npc = DistributedNPCScientistAI.DistributedNPCScientistAI(air, npcId) elif type == NPC_SMART: npc = DistributedSmartNPCAI.DistributedSmartNPCAI(air, npcId) - elif type == NPC_GLOVE and simbase.air.wantGloveNpc: + elif type == NPC_GLOVE: npc = DistributedNPCGloveAI.DistributedNPCGloveAI(air, npcId) elif type == NPC_LAFF_RESTOCK: npc = DistributedNPCLaffRestockAI.DistributedNPCLaffRestockAI(air, npcId) diff --git a/toontown/toonbase/ToontownGlobals.py b/toontown/toonbase/ToontownGlobals.py index 1f4f657f..44476d5e 100644 --- a/toontown/toonbase/ToontownGlobals.py +++ b/toontown/toonbase/ToontownGlobals.py @@ -852,7 +852,6 @@ HALLOWEEN_PROPS = 26 HALLOWEEN_COSTUMES = 27 DECEMBER_INVASION = 28 APRIL_FOOLS_COSTUMES = 29 -CRASHED_LEADERBOARD = 30 OCTOBER31_FIREWORKS = 31 NOVEMBER19_FIREWORKS = 32 SELLBOT_SURPRISE_1 = 33 From 509a9697e6e03e88bb9b678d9a8bbd374a4e5e85 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Tue, 12 May 2015 19:38:01 +0300 Subject: [PATCH 03/78] True Friends holocausted until I make the new system tomorrow, using the panel --- astron/dclass/united.dc | 15 -- otp/ai/AIMsgTypes.py | 4 - otp/friends/FriendManager.py | 15 +- otp/friends/FriendManagerAI.py | 14 +- otp/otpbase/OTPLocalizerEnglish.py | 4 - toontown/ai/ToontownAIRepository.py | 3 - .../distributed/ToontownClientRepository.py | 2 - toontown/friends/FriendsListManager.py | 2 - toontown/friends/FriendsListPanel.py | 3 +- toontown/friends/ToontownFriendSecret.py | 197 ------------------ toontown/friends/TrueFriendsMgr.py | 34 --- toontown/friends/TrueFriendsMgrAI.py | 90 -------- toontown/toon/DistributedToon.py | 7 - toontown/toon/DistributedToonAI.py | 22 -- toontown/toon/DistributedToonUD.py | 3 - toontown/toon/ToonAvatarPanel.py | 3 +- toontown/toonbase/TTLocalizerEnglish.py | 14 -- .../toonbase/TTLocalizerEnglishProperty.py | 13 -- 18 files changed, 4 insertions(+), 441 deletions(-) delete mode 100644 toontown/friends/ToontownFriendSecret.py delete mode 100644 toontown/friends/TrueFriendsMgr.py delete mode 100644 toontown/friends/TrueFriendsMgrAI.py diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index c8966c4e..bf944056 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -503,7 +503,6 @@ from toontown.safezone import DistributedCheckers/AI from toontown.safezone import DistributedFindFour/AI from toontown.uberdog.DistributedPartyManager/AI/UD import DistributedPartyManager/AI/UD from toontown.coderedemption.TTCodeRedemptionMgr/AI import TTCodeRedemptionMgr/AI -from toontown.friends.TrueFriendsMgr/AI import TrueFriendsMgr/AI from toontown.cogdominium import DistributedCogdoInterior/AI from toontown.cogdominium import DistributedCogdoBattleBldg/AI from toontown.cogdominium import DistributedCogdoElevatorExt/AI @@ -664,7 +663,6 @@ dclass DistributedToon : DistributedPlayer { takeDamage(uint16) broadcast ownrecv; setBattleId(uint32 = 0) required broadcast ram; setExperience(blob = [0*14]) required broadcast db; - setTrueFriends(uint32[]) required ownrecv db; setIgnored(uint32[]) required clsend airecv ownrecv db; setReported(uint32[]) required ownrecv db; setMaxCarry(uint8 = 20) required ownrecv db; @@ -3297,13 +3295,6 @@ dclass TTCodeRedemptionMgr : DistributedObject { redeemCodeResult(uint32); }; -dclass TrueFriendsMgr : DistributedObject { - requestId() airecv clsend; - requestIdResult(uint32, string, string); - redeemId(string) airecv clsend; - redeemIdResult(uint32, string); -}; - struct Friend { uint32 doId; @@ -3347,12 +3338,6 @@ dclass TTUFriendsManager : DistributedObjectGlobal { whisperSCEmoteTo(uint32 toId, uint16 emoteId) clsend; setWhisperSCEmoteFrom(uint32 fromId, uint16 emoteId); - requestSecret() clsend; - requestSecretResponse(int8 status, string secret); - - submitSecret(string(0-256) secret) clsend; - submitSecretResponse(int8 status, int32 avId); - sendTalkWhisper(uint32 toId, string message) clsend; receiveTalkWhisper(uint32 fromId, string message); diff --git a/otp/ai/AIMsgTypes.py b/otp/ai/AIMsgTypes.py index 04fc4917..211caa77 100644 --- a/otp/ai/AIMsgTypes.py +++ b/otp/ai/AIMsgTypes.py @@ -57,10 +57,6 @@ AIMsgName2Id = {'STATESERVER_OBJECT_GENERATE_WITH_REQUIRED': 2001, 'CHANNEL_PUPPET_ACTION': 4004, 'DBSERVER_MAKE_FRIENDS': 1017, 'DBSERVER_MAKE_FRIENDS_RESP': 1031, - 'DBSERVER_REQUEST_SECRET': 1025, - 'DBSERVER_REQUEST_SECRET_RESP': 1026, - 'DBSERVER_SUBMIT_SECRET': 1027, - 'DBSERVER_SUBMIT_SECRET_RESP': 1028, 'DBSERVER_CREATE_STORED_OBJECT': 1003, 'DBSERVER_CREATE_STORED_OBJECT_RESP': 1004, 'DBSERVER_DELETE_STORED_OBJECT': 1008, diff --git a/otp/friends/FriendManager.py b/otp/friends/FriendManager.py index d8cff435..a0fada4f 100644 --- a/otp/friends/FriendManager.py +++ b/otp/friends/FriendManager.py @@ -90,17 +90,4 @@ class FriendManager(DistributedObject.DistributedObject): def inviteeCancelFriendQuery(self, context): self.notify.debug('Client: inviteeCancelFriendQuery(%d)' % context) messenger.send('cancelFriendInvitation', [context]) - self.up_inviteeAcknowledgeCancel(context) - - def up_requestSecret(self): - self.notify.warning('Sending Request') - self.sendUpdate('requestSecret', []) - - def requestSecretResponse(self, result, secret): - messenger.send('requestSecretResponse', [result, secret]) - - def up_submitSecret(self, secret): - self.sendUpdate('submitSecret', [secret]) - - def submitSecretResponse(self, result, avId): - messenger.send('submitSecretResponse', [result, avId]) + self.up_inviteeAcknowledgeCancel(context) \ No newline at end of file diff --git a/otp/friends/FriendManagerAI.py b/otp/friends/FriendManagerAI.py index 981a8b03..f51c1501 100644 --- a/otp/friends/FriendManagerAI.py +++ b/otp/friends/FriendManagerAI.py @@ -110,16 +110,4 @@ class FriendManagerAI(DistributedObjectAI): pass def inviteeCancelFriendQuery(self, todo0): - pass - - def requestSecret(self): - pass - - def requestSecretResponse(self, todo0, todo1): - pass - - def submitSecret(self, todo0): - pass - - def submitSecretResponse(self, todo0, todo1): - pass + pass \ No newline at end of file diff --git a/otp/otpbase/OTPLocalizerEnglish.py b/otp/otpbase/OTPLocalizerEnglish.py index e20f7097..c7e6ecbf 100644 --- a/otp/otpbase/OTPLocalizerEnglish.py +++ b/otp/otpbase/OTPLocalizerEnglish.py @@ -201,14 +201,10 @@ FriendInviterConfirmRemove = 'Remove' FriendInviterYes = lYes FriendInviterNo = lNo FriendInviterClickToon = 'Click on the toon you would like to make friends with.' -FriendInviterTooMany = 'You have too many friends on your list to add another one now. You will have to remove some friends if you want to make friends with %s.' FriendInviterToonTooMany = 'You have too many toon friends on your list to add another one now. You will have to remove some toon friends if you want to make friends with %s.' FriendInviterNotYet = 'Would you like to make friends with %s?' FriendInviterCheckAvailability = 'Seeing if %s is available.' FriendInviterNotAvailable = '%s is busy right now; try again later.' -FriendInviterCantSee = 'This only works if you can see %s.' -FriendInviterNotOnline = 'This only works if %s is online' -FriendInviterNotOpen = '%s does not have open chat, use secrets to make friends' FriendInviterWentAway = '%s went away.' FriendInviterAlready = '%s is already your friend.' FriendInviterAlreadyInvited = '%s has already been invited.' diff --git a/toontown/ai/ToontownAIRepository.py b/toontown/ai/ToontownAIRepository.py index 9f50617a..77c1e344 100644 --- a/toontown/ai/ToontownAIRepository.py +++ b/toontown/ai/ToontownAIRepository.py @@ -30,7 +30,6 @@ from toontown.distributed.ToontownInternalRepository import ToontownInternalRepo from toontown.coderedemption.TTCodeRedemptionMgrAI import TTCodeRedemptionMgrAI from toontown.dna.DNAParser import loadDNAFileAI from toontown.estate.EstateManagerAI import EstateManagerAI -from toontown.friends.TrueFriendsMgrAI import TrueFriendsMgrAI from toontown.hood import BRHoodAI from toontown.hood import BossbotHQAI from toontown.hood import CashbotHQAI @@ -127,8 +126,6 @@ class ToontownAIRepository(ToontownInternalRepository): self.buildingQueryMgr = DistributedBuildingQueryMgrAI(self) self.buildingQueryMgr.generateWithRequired(2) self.groupManager.generateWithRequired(2) - self.trueFriendsMgr = TrueFriendsMgrAI(self) - self.trueFriendsMgr.generateWithRequired(2) if self.wantFishing: self.fishManager = FishManagerAI(self) if self.wantHousing: diff --git a/toontown/distributed/ToontownClientRepository.py b/toontown/distributed/ToontownClientRepository.py index 004cf113..e697d0f0 100644 --- a/toontown/distributed/ToontownClientRepository.py +++ b/toontown/distributed/ToontownClientRepository.py @@ -28,7 +28,6 @@ from toontown.toonbase.ToontownGlobals import * from toontown.distributed import DelayDelete from toontown.friends import FriendHandle from toontown.friends import FriendsListPanel -from toontown.friends import ToontownFriendSecret from toontown.login import AvatarChooser from toontown.makeatoon import MakeAToon from toontown.pets import DistributedPet, PetDetail, PetHandle @@ -407,7 +406,6 @@ class ToontownClientRepository(OTPClientRepository.OTPClientRepository): if self.objectManager != None: self.objectManager.destroy() self.objectManager = None - ToontownFriendSecret.unloadFriendSecret() FriendsListPanel.unloadFriendsList() messenger.send('cancelFriendInvitation') base.removeGlitchMessage() diff --git a/toontown/friends/FriendsListManager.py b/toontown/friends/FriendsListManager.py index d1f2b06c..0ff6b616 100644 --- a/toontown/friends/FriendsListManager.py +++ b/toontown/friends/FriendsListManager.py @@ -5,7 +5,6 @@ import FriendInvitee import FriendNotifier from direct.directnotify import DirectNotifyGlobal from toontown.toon import ToonTeleportPanel -from toontown.friends import ToontownFriendSecret from toontown.pets import PetAvatarPanel from toontown.toon import ToonAvatarPanel from toontown.suit import SuitAvatarPanel @@ -74,7 +73,6 @@ class FriendsListManager: self.ignore('friendAvatar') self.ignore('avatarDetails') FriendsListPanel.hideFriendsList() - ToontownFriendSecret.hideFriendSecret() if base.cr.friendManager: base.cr.friendManager.setAvailable(0) self.ignore('friendInvitation') diff --git a/toontown/friends/FriendsListPanel.py b/toontown/friends/FriendsListPanel.py index b897ce04..6748ef6c 100644 --- a/toontown/friends/FriendsListPanel.py +++ b/toontown/friends/FriendsListPanel.py @@ -3,7 +3,6 @@ from direct.gui.DirectGui import * from pandac.PandaModules import * from direct.fsm import StateData from toontown.toon import ToonAvatarPanel -from toontown.friends import ToontownFriendSecret from toontown.toonbase import ToontownGlobals from toontown.toonbase import TTLocalizer from otp.otpbase import OTPGlobals @@ -247,7 +246,7 @@ class FriendsListPanel(DirectFrame, StateData.StateData): def __secrets(self): messenger.send('wakeup') - ToontownFriendSecret.showFriendSecret() + # TODO def __newFriend(self): messenger.send('wakeup') diff --git a/toontown/friends/ToontownFriendSecret.py b/toontown/friends/ToontownFriendSecret.py deleted file mode 100644 index affb37d7..00000000 --- a/toontown/friends/ToontownFriendSecret.py +++ /dev/null @@ -1,197 +0,0 @@ -from pandac.PandaModules import * -from direct.gui.DirectGui import * -from direct.directnotify import DirectNotifyGlobal -from toontown.toonbase import TTLocalizer -from otp.otpbase import OTPGlobals -from toontown.nametag import NametagGlobals - -globalFriendSecret = None - -def showFriendSecret(): - global globalFriendSecret - if not settings['trueFriends']: - chatMgr = base.localAvatar.chatMgr - chatMgr.fsm.request('noSecretChatAtAll') - else: - if globalFriendSecret != None: - globalFriendSecret.unload() - globalFriendSecret = ToontownFriendSecret() - globalFriendSecret.enter() - -def hideFriendSecret(): - if globalFriendSecret != None: - globalFriendSecret.exit() - -def unloadFriendSecret(): - global globalFriendSecret - if globalFriendSecret != None: - globalFriendSecret.unload() - globalFriendSecret = None - return - -class ToontownFriendSecret(DirectFrame): - notify = DirectNotifyGlobal.directNotify.newCategory('ToontownFriendSecret') - - def __init__(self): - DirectFrame.__init__(self, parent=aspect2dp, pos=(0, 0, 0.3), relief=None, image=DGG.getDefaultDialogGeom(), image_scale=(1.6, 1, 1.4), image_pos=(0, 0, -0.05), image_color=OTPGlobals.GlobalDialogColor, borderWidth=(0.01, 0.01)) - self.initialiseoptions(ToontownFriendSecret) - self.isLoaded = 0 - self.isEntered = 0 - - def unload(self): - if self.isLoaded == 0: - return None - self.isLoaded = 0 - self.exit() - del self.introText - del self.getSecret - del self.enterSecretText - del self.enterSecret - del self.ok1 - del self.ok2 - del self.cancel - del self.secretText - DirectFrame.destroy(self) - return None - - def load(self): - if self.isLoaded == 1: - return None - self.isLoaded = 1 - self.introText = DirectLabel(parent=self, relief=None, pos=(0, 0, 0.4), scale=0.05, text=TTLocalizer.FriendSecretIntro, text_fg=(0, 0, 0, 1), text_wordwrap=30) - self.introText.hide() - guiButton = loader.loadModel('phase_3/models/gui/quit_button') - self.getSecret = DirectButton(parent=self, relief=None, pos=(0, 0, -0.11), image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FSgetSecret, text=TTLocalizer.FriendSecretGetSecret, text_scale=TTLocalizer.FSgetSecretButton, text_pos=(0, -0.02), command=self.__getSecret) - self.getSecret.hide() - self.enterSecretText = DirectLabel(parent=self, relief=None, pos=TTLocalizer.FSenterSecretTextPos, scale=0.05, text=TTLocalizer.FriendSecretEnterSecret, text_fg=(0, 0, 0, 1), text_wordwrap=30) - self.enterSecretText.hide() - self.enterSecret = DirectEntry(parent=self, relief=DGG.SUNKEN, scale=0.06, pos=(-0.6, 0, -0.38), frameColor=(0.8, 0.8, 0.5, 1), borderWidth=(0.1, 0.1), numLines=1, width=20, frameSize=(-0.4, - 20.4, - -0.4, - 1.1), command=self.__enterSecret) - self.enterSecret.resetFrameSize() - self.enterSecret.hide() - self.ok1 = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FSok1, text=TTLocalizer.FriendSecretEnter, text_scale=0.06, text_pos=(0, -0.02), pos=(0, 0, -0.5), command=self.__ok1) - self.ok1.hide() - self.ok2 = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FSok2, text=TTLocalizer.FriendSecretOK, text_scale=0.06, text_pos=(0, -0.02), pos=(0, 0, -0.57), command=self.__ok2) - self.ok2.hide() - self.cancel = DirectButton(parent=self, relief=None, text=TTLocalizer.FriendSecretCancel, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FScancel, text_scale=0.06, text_pos=(0, -0.02), pos=(0, 0, -0.57), command=self.__cancel) - self.cancel.hide() - self.nextText = DirectLabel(parent=self, relief=None, pos=(0, 0, 0.3), scale=0.06, text='', text_scale=TTLocalizer.FSnextText, text_fg=(0, 0, 0, 1), text_wordwrap=25.5) - self.nextText.hide() - self.secretText = DirectLabel(parent=self, relief=None, pos=(0, 0, -0.42), scale=0.08, text='', text_fg=(0, 0, 0, 1), text_wordwrap=30) - self.secretText.hide() - guiButton.removeNode() - - def enter(self): - if self.isEntered == 1: - return - self.isEntered = 1 - if self.isLoaded == 0: - self.load() - self.show() - self.introText.show() - self.getSecret.show() - self.enterSecretText.show() - self.enterSecret.show() - self.ok1.show() - self.ok2.hide() - self.cancel.hide() - self.nextText.hide() - self.secretText.hide() - base.localAvatar.chatMgr.fsm.request('otherDialog') - self.enterSecret['focus'] = 1 - NametagGlobals.setForceOnscreenChat(True) - - def exit(self): - if self.isEntered == 0: - return - self.isEntered = 0 - NametagGlobals.setForceOnscreenChat(False) - self.__cleanupFirstPage() - self.hide() - - def __getSecret(self): - self.__cleanupFirstPage() - self.nextText['text'] = TTLocalizer.FriendSecretGettingSecret - self.nextText.setPos(0, 0, 0.3) - self.nextText.show() - self.ok1.hide() - self.cancel.show() - base.cr.trueFriendsMgr.requestId(self.gotSecret) - - def gotSecret(self, id, result1, result2): - if id == 0: - self.rejectGetSecret(TTLocalizer.FriendSecretNoServer) - elif id == 1: - self.rejectGetSecret(TTLocalizer.FriendSecretNoServerResponse if not result1 else result1) - elif id == 2: - self.successGetSecret(result1, result2) - - def rejectGetSecret(self, reason): - self.nextText['text'] = reason - self.nextText.show() - self.secretText.show() - self.cancel.hide() - self.ok1.hide() - self.ok2.show() - - def successGetSecret(self, secret, expires): - self.nextText['text'] = TTLocalizer.FriendSecretGotSecret % expires - self.nextText.setPos(*TTLocalizer.FSgotSecretPos) - self.secretText['text'] = secret - self.nextText.show() - self.secretText.show() - self.cancel.hide() - self.ok1.hide() - self.ok2.show() - - def __enterSecret(self, secret): - self.enterSecret.set('') - secret = secret.strip() - - if not secret: - self.exit() - return - - self.__cleanupFirstPage() - self.nextText['text'] = TTLocalizer.FriendSecretTryingSecret - base.cr.trueFriendsMgr.redeemId(secret, self.gotResponse) - self.nextText.setPos(0, 0, 0.3) - self.nextText.show() - self.cancel.hide() - self.ok1.hide() - self.ok2.show() - - def gotResponse(self, id, name): - if id == 0: - self.nextText['text'] = TTLocalizer.FriendSecretNoServer - elif id == 1: - self.nextText['text'] = TTLocalizer.FriendSecretNoServerResponse if not result1 else result1 - elif id == 2: - self.nextText['text'] = TTLocalizer.FriendSecretEnteredCodeSelf - elif id == 3: - self.nextText['text'] = TTLocalizer.FriendSecretAlreadyTrueFriend - elif id == 4: - self.nextText['text'] = TTLocalizer.FriendSecretSuccess % name - self.nextText.show() - self.cancel.hide() - self.ok1.hide() - self.ok2.show() - - def __ok1(self): - secret = self.enterSecret.get() - self.__enterSecret(secret) - - def __ok2(self): - self.exit() - - def __cancel(self): - self.exit() - - def __cleanupFirstPage(self): - self.introText.hide() - self.getSecret.hide() - self.enterSecretText.hide() - self.enterSecret.hide() - base.localAvatar.chatMgr.fsm.request('mainMenu') diff --git a/toontown/friends/TrueFriendsMgr.py b/toontown/friends/TrueFriendsMgr.py deleted file mode 100644 index aeafa92f..00000000 --- a/toontown/friends/TrueFriendsMgr.py +++ /dev/null @@ -1,34 +0,0 @@ -from direct.distributed.DistributedObject import DistributedObject -from direct.directnotify.DirectNotifyGlobal import directNotify - -class TrueFriendsMgr(DistributedObject): - neverDisable = 1 - notify = directNotify.newCategory('TrueFriendsMgr') - - def __init__(self, cr): - DistributedObject.__init__(self, cr) - self.requestCallback = None - self.redeemCallback = None - - def announceGenerate(self): - DistributedObject.announceGenerate(self) - base.cr.trueFriendsMgr = self - - def delete(self): - if hasattr(base.cr, 'trueFriendsMgr'): - del base.cr.trueFriendsMgr - DistributedObject.delete(self) - - def requestId(self, callback): - self.requestCallback = callback - self.sendUpdate('requestId') - - def redeemId(self, id, callback): - self.redeemCallback = callback - self.sendUpdate('redeemId', [id]) - - def requestIdResult(self, id, result1, result2): - self.requestCallback(id, result1, result2) - - def redeemIdResult(self, id, name): - self.redeemCallback(id, name) \ No newline at end of file diff --git a/toontown/friends/TrueFriendsMgrAI.py b/toontown/friends/TrueFriendsMgrAI.py deleted file mode 100644 index a2c30a49..00000000 --- a/toontown/friends/TrueFriendsMgrAI.py +++ /dev/null @@ -1,90 +0,0 @@ -from direct.directnotify import DirectNotifyGlobal -from direct.distributed.DistributedObjectAI import DistributedObjectAI -from toontown.uberdog.ClientServicesManagerUD import executeHttpRequestAndLog - -class TrueFriendsMgrAI(DistributedObjectAI): - notify = DirectNotifyGlobal.directNotify.newCategory("TrueFriendsMgrAI") - - def announceGenerate(self): - DistributedObjectAI.announceGenerate(self) - - def requestId(self): - avId = self.air.getAvatarIdFromSender() - av = self.air.doId2do.get(avId) - - if not av: - return - - if config.GetString('accountdb-type', 'developer') != 'remote': - self.sendUpdateToAvatarId(avId, 'requestIdResult', [0, None, None]) - return - - result = executeHttpRequestAndLog('truefriend', avid=avId) - - if result is None: - self.sendUpdateToAvatarId(avId, 'requestIdResult', [1, None, None]) - return - elif 'error' in result: - self.sendUpdateToAvatarId(avId, 'requestIdResult', [1, result['error'], None]) - return - - self.sendUpdateToAvatarId(avId, 'requestIdResult', [2, result['id'], result['expires']]) - - def redeemId(self, id): - avId = self.air.getAvatarIdFromSender() - av = self.air.doId2do.get(avId) - - if not av: - return - - if simbase.config.GetString('accountdb-type', 'developer') != 'remote': - self.sendUpdateToAvatarId(avId, 'redeemIdResult', [0, None]) - return - - result = executeHttpRequestAndLog('truefriend', id=id) - - if result is None: - self.sendUpdateToAvatarId(avId, 'redeemIdResult', [1, None]) - return - elif 'error' in result: - self.sendUpdateToAvatarId(avId, 'redeemIdResult', [1, result['error']]) - return - - targetId = int(result['avId']) - - if targetId == avId: - self.sendUpdateToAvatarId(avId, 'redeemIdResult', [2, None]) - return - elif av.isTrueFriend(targetId): - self.sendUpdateToAvatarId(avId, 'redeemIdResult', [3, None]) - return - - av.addTrueFriend(targetId) - target = self.air.doId2do.get(targetId) - - if target: - target.addTrueFriend(avId) - self.sendUpdateToAvatarId(avId, 'redeemIdResult', [4, target.getName()]) - else: - TrueFriendsOperation(targetId, avId) - -class TrueFriendsOperation: - - def __init__(self, targetId, avId): - self.targetId = targetId - self.avId = avId - simbase.air.dbInterface.queryObject(simbase.air.dbId, self.targetId, self.gotResponse) - - def gotResponse(self, dclass, fields): - if dclass != simbase.air.dclassesByName['DistributedToonAI'] or not 'setName' in fields: - return - - trueFriends = fields['setTrueFriends'] - - if self.avId in trueFriends: - self.sendUpdateToAvatarId(self.avId, 'redeemIdResult', [3, None]) - return - - trueFriends.append(self.avId) - simbase.air.dbInterface.updateObject(simbase.air.dbId, self.targetId, simbase.air.dclassesByName['DistributedToonAI'], {'setTrueFriends': [trueFriends]}) - self.sendUpdateToAvatarId(self.avId, 'redeemIdResult', [4, fields['setName']]) \ No newline at end of file diff --git a/toontown/toon/DistributedToon.py b/toontown/toon/DistributedToon.py index 2a34c4d9..dfcf5d70 100644 --- a/toontown/toon/DistributedToon.py +++ b/toontown/toon/DistributedToon.py @@ -183,7 +183,6 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute self.promotionStatus = [0, 0, 0, 0] self.buffs = [] self.redeemedCodes = [] - self.trueFriends = [] self.ignored = [] self.reported = [] @@ -2585,12 +2584,6 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute def setRedeemedCodes(self, redeemedCodes): self.redeemedCodes = redeemedCodes - def setTrueFriends(self, trueFriends): - self.trueFriends = trueFriends - - def isTrueFriend(self, doId): - return doId in self.trueFriends - def b_setIgnored(self, ignored): self.setIgnored(ignored) self.d_setIgnored(ignored) diff --git a/toontown/toon/DistributedToonAI.py b/toontown/toon/DistributedToonAI.py index 05587cbf..c82aac7c 100644 --- a/toontown/toon/DistributedToonAI.py +++ b/toontown/toon/DistributedToonAI.py @@ -180,7 +180,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo self.promotionStatus = [0, 0, 0, 0] self.buffs = [] self.redeemedCodes = [] - self.trueFriends = [] self.ignored = [] self.reported = [] @@ -432,27 +431,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo def getExperience(self): return self.experience.makeNetString() - def b_setTrueFriends(self, trueFriends): - self.d_setTrueFriends(trueFriends) - self.setTrueFriends(trueFriends) - - def d_setTrueFriends(self, trueFriends): - self.sendUpdate('setTrueFriends', [trueFriends]) - - def setTrueFriends(self, trueFriends): - self.trueFriends = trueFriends - - def getTrueFriends(self): - return self.trueFriends - - def isTrueFriend(self, doId): - return doId in self.trueFriends - - def addTrueFriend(self, doId): - if not self.isTrueFriend(doId): - self.trueFriends.append(doId) - self.d_setTrueFriends(self.trueFriends) - def b_setIgnored(self, ignored): self.d_setIgnored(ignored) self.setIgnored(ignored) diff --git a/toontown/toon/DistributedToonUD.py b/toontown/toon/DistributedToonUD.py index 07eb751d..312ea9e6 100644 --- a/toontown/toon/DistributedToonUD.py +++ b/toontown/toon/DistributedToonUD.py @@ -545,7 +545,4 @@ class DistributedToonUD(DistributedObjectUD): pass def setRedeemedCodes(self, redeemedCodes): - pass - - def setTrueFriends(self, trueFriends): pass \ No newline at end of file diff --git a/toontown/toon/ToonAvatarPanel.py b/toontown/toon/ToonAvatarPanel.py index 43bf5a09..2d5e06ab 100644 --- a/toontown/toon/ToonAvatarPanel.py +++ b/toontown/toon/ToonAvatarPanel.py @@ -10,7 +10,6 @@ from direct.distributed import DistributedObject from direct.directnotify import DirectNotifyGlobal from toontown.toonbase import ToontownGlobals from toontown.toonbase import TTLocalizer -from toontown.friends import ToontownFriendSecret import ToonAvatarDetailPanel import AvatarPanelBase from toontown.toontowngui import TTDialog @@ -369,7 +368,7 @@ class ToonAvatarPanel(AvatarPanelBase.AvatarPanelBase): def __handleSecrets(self): base.localAvatar.chatMgr.noWhisper() - ToontownFriendSecret.showFriendSecret() + # TODO def __handleFriend(self): base.localAvatar.chatMgr.noWhisper() diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index c6e06ced..68bc0487 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -8349,20 +8349,6 @@ PickTrackTitle = 'Pick your third track!' PickTrackNotice = 'Choose a track!' CogLevelLabelOn = 'The cog level GUI is on.' CogLevelLabelOff = 'The cog level GUI is off.' -FriendSecretIntro = "If you are playing Toontown United with someone you know in the real world, you can become True Friends. You can chat using the keyboard with your True Friends. Other Toons won't understand what you're saying.\n\nYou do this by getting a True Friend Code. Tell the True Friend Code to your friend, but not to anyone else. When your friend types in your True Friend Code on his or her screen, you'll be True Friends in Toontown!" -FriendSecretGetSecret = 'Get a True Friend Code' -FriendSecretEnterSecret = 'If you have a True Friend Code from someone you know, type it here.' -FriendSecretOK = lOK -FriendSecretEnter = 'Enter True Friend Code' -FriendSecretCancel = lCancel -FriendSecretGettingSecret = 'Getting True Friend Code...' -FriendSecretGotSecret = "Here is your new True Friend Code. Be sure to write it down!\n\nYou may give this True Friend Code to one person only. Once someone types in your True Friend Code, it will not work for anyone else. If you want to give a True Friend Code to more than one person, get another True Friend Code.\n\nThe True Friend Code will only work until %s. Your friend will have to type it in before it goes away, or it won't work.\n\nYour True Friend Code is:" -FriendSecretTryingSecret = 'Trying True Friend Code. . .' -FriendSecretNoServer = 'True Friends is not set up on this server!' -FriendSecretNoServerResponse = "Couldn't contact the True Friends server!" -FriendSecretEnteredCodeSelf = 'You just typed in your own True Friend Code! Now no one else can use that True Friend Code.' -FriendSecretAlreadyTrueFriend = 'You are True Friends with that toon already!' -FriendSecretSuccess = 'Congratulations! You are now True Friends with %s!' HouseNames = ("Bungalow", "Tiki", "Teepee", "Castle", "Cupcake", "Cabin") CatalogPurchaseHouseType = "When you buy a new house type, the current one is replaced by it. To recover the old type, you'll need to buy it back. Continue?" diff --git a/toontown/toonbase/TTLocalizerEnglishProperty.py b/toontown/toonbase/TTLocalizerEnglishProperty.py index 6629f773..b2e886d9 100644 --- a/toontown/toonbase/TTLocalizerEnglishProperty.py +++ b/toontown/toonbase/TTLocalizerEnglishProperty.py @@ -42,16 +42,11 @@ DGGGscoreLabel = 0.075 FPvaluePos = (0, 0, -0.35) FPvalue = 0.05 FPinfo = 0.055 -FSGUIdirectFrame = 0.06 -FSGUIcancelButton = 0.06 -FSGUIokButton = 0.06 GTenterPage2Wordwrap = 13.5 GTenterPage4Wordwrap = 16.5 BCGjpText = 0.04 BCGjpTextWordwrap = 10.5 BCGnextGame = 1.71 -FSGUIokButton = 0.06 -FSGUIcancelButton = 0.06 FPnewEntry = 0.08 FPnewRecord = 0.08 GPgenus = 0.045 @@ -286,14 +281,6 @@ TPhaveFun = 0.1 TPjoinUs = 0.1 TBSOSPSPenter = 0.1 TexitButton = 0.8 -FSenterSecretTextPos = (0, 0, -0.25) -FSgotSecretPos = (0, 0, 0.47) -FSgetSecretButton = 0.06 -FSnextText = 1.0 -FSgetSecret = (1.55, 1, 1) -FSok1 = (1.55, 1, 1) -FSok2 = (0.6, 1, 1) -FScancel = (0.6, 1, 1) #Some languages need to change the word order SellbotFactoryPosPart1 = (0, -0.25) SellbotFactoryScalePart1 = 0.075 From 18b5e4608413e0d38b7113903f6bf9abeba49099 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 14:04:57 +0300 Subject: [PATCH 04/78] DC imports --- otp/distributed/DCClassImports.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index c5060377..ce87e79c 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,7 @@ from pandac.PandaModules import * -hashVal = 30166307 +hashVal = 1460378800 from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot @@ -28,7 +28,6 @@ from toontown.minigame import DistributedMinigame, DistributedMinigameTemplate, from toontown.racing import DistributedVehicle, DistributedStartingBlock, DistributedRace, DistributedKartPad, DistributedRacePad, DistributedViewPad, DistributedStartingBlock, DistributedLeaderBoard, DistributedGag, DistributedProjectile from toontown.catalog import CatalogManager, AccountDate from toontown.parties import DistributedParty, DistributedPartyActivity, DistributedPartyTeamActivity, DistributedPartyCannon, DistributedPartyCannonActivity, DistributedPartyCatchActivity, DistributedPartyWinterCatchActivity, DistributedPartyCogActivity, DistributedPartyWinterCogActivity, DistributedPartyFireworksActivity, DistributedPartyDanceActivityBase, DistributedPartyDanceActivity, DistributedPartyDance20Activity, DistributedPartyValentineDanceActivity, DistributedPartyValentineDance20Activity, DistributedPartyTrampolineActivity, DistributedPartyValentineTrampolineActivity, DistributedPartyVictoryTrampolineActivity, DistributedPartyWinterTrampolineActivity, DistributedPartyTugOfWarActivity, DistributedPartyJukeboxActivityBase, DistributedPartyJukeboxActivity, DistributedPartyJukebox40Activity, DistributedPartyValentineJukeboxActivity, DistributedPartyValentineJukebox40Activity -from toontown.friends.TrueFriendsMgr import TrueFriendsMgr from toontown.friends import TTUFriendsManager from toontown.cogdominium import DistributedCogdoInterior, DistributedCogdoBattleBldg, DistributedCogdoElevatorExt, DistributedCogdoElevatorInt, DistributedCogdoBarrel, DistCogdoGame, DistCogdoLevelGame, DistCogdoBoardroomGame, DistCogdoCraneGame, DistCogdoMazeGame, DistCogdoFlyingGame, DistCogdoCrane, DistCogdoCraneMoneyBag, DistCogdoCraneCog from toontown.uberdog.ARGManager import ARGManager From 9d54f4f88aa706195ca91498e87fd4ecaa020491 Mon Sep 17 00:00:00 2001 From: Loudrob Date: Wed, 13 May 2015 07:41:49 -0400 Subject: [PATCH 05/78] Murdered TTI's promotion system. --- astron/dclass/united.dc | 2 - otp/distributed/DCClassImports.py | 2 +- toontown/battle/RewardPanel.py | 26 +- toontown/coghq/CogDisguiseGlobals.py | 360 +++++++++++++++++-- toontown/coghq/DistributedBattleFactoryAI.py | 7 +- toontown/quest/QuestRewardCounter.py | 10 +- toontown/shtiker/DisguisePage.py | 166 ++------- toontown/suit/DistributedBossbotBoss.py | 18 +- toontown/suit/DistributedCashbotBoss.py | 18 +- toontown/suit/DistributedLawbotBoss.py | 18 +- toontown/suit/DistributedSellbotBoss.py | 23 +- toontown/suit/SuitDNA.py | 1 - toontown/toon/DistributedToon.py | 18 +- toontown/toon/DistributedToonAI.py | 109 +++--- toontown/toonbase/TTLocalizerEnglish.py | 27 +- toontown/toonbase/ToontownGlobals.py | 11 +- 16 files changed, 487 insertions(+), 329 deletions(-) diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index c8966c4e..029810b2 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -739,8 +739,6 @@ dclass DistributedToon : DistributedPlayer { setCogTypes(uint8[] = [0 * 4]) required broadcast ownrecv db; setCogParts(uint32[] = [0 * 4]) required broadcast ownrecv db; setCogMerits(uint16[] = [0 * 4]) required ownrecv db; - setPromotionStatus(uint8[] = [0 * 4]) required broadcast ownrecv db; - requestPromotion(uint8) ownsend airecv; setCogIndex(int8) broadcast ram; setDisguisePageFlag(int8) ownrecv; setSosPageFlag(int8) ownrecv; diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index c5060377..5741c992 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,7 @@ from pandac.PandaModules import * -hashVal = 30166307 +hashVal = 3191861370L from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot diff --git a/toontown/battle/RewardPanel.py b/toontown/battle/RewardPanel.py index 29bd6e36..415394ea 100644 --- a/toontown/battle/RewardPanel.py +++ b/toontown/battle/RewardPanel.py @@ -195,7 +195,6 @@ class RewardPanel(DirectFrame): totalMerits = CogDisguiseGlobals.getTotalMerits(toon, i) merits = meritList[i] self.meritIncLabels[i].hide() - promoStatus = toon.promotionStatus[i] if CogDisguiseGlobals.isSuitComplete(toon.cogParts, i): if not self.trackBarsOffset: trackBarOffset = 0.47 @@ -206,19 +205,14 @@ class RewardPanel(DirectFrame): if totalMerits: meritBar['range'] = totalMerits meritBar['value'] = merits - if promoStatus != ToontownGlobals.PendingPromotion: + if merits == totalMerits: + meritBar['text'] = TTLocalizer.RewardPanelMeritAlert + else: meritBar['text'] = '%s/%s %s' % (merits, totalMerits, TTLocalizer.RewardPanelMeritBarLabels[i]) - maxSuitType = SuitDNA.suitsPerDept - 1 - maxSuitLevel = (SuitDNA.levelsPerSuit-1) + maxSuitType - if toon.cogLevels[i] == maxSuitLevel: - if promoStatus == ToontownGlobals.PendingPromotion: - meritBar['range'] = 1 - meritBar['value'] = 1 - meritBar['text'] = TTLocalizer.RewardPanelMeritsMaxed - elif promoStatus == ToontownGlobals.PendingPromotion: + else: meritBar['range'] = 1 meritBar['value'] = 1 - meritBar['text'] = TTLocalizer.RewardPanelPromotionPending + meritBar['text'] = TTLocalizer.RewardPanelMeritsMaxed self.resetMeritBarColor(i) else: meritBar.hide() @@ -276,12 +270,18 @@ class RewardPanel(DirectFrame): def incrementMerits(self, toon, dept, newValue, totalMerits): meritBar = self.meritBars[dept] - promoStatus = toon.promotionStatus[dept] + oldValue = meritBar['value'] if totalMerits: newValue = min(totalMerits, newValue) meritBar['range'] = totalMerits meritBar['value'] = newValue - if promoStatus != ToontownGlobals.PendingPromotion: + if newValue == totalMerits: + meritBar['text'] = TTLocalizer.RewardPanelMeritAlert + meritBar['barColor'] = (DisguisePage.DeptColors[dept][0], + DisguisePage.DeptColors[dept][1], + DisguisePage.DeptColors[dept][2], + 1) + else: meritBar['text'] = '%s/%s %s' % (newValue, totalMerits, TTLocalizer.RewardPanelMeritBarLabels[dept]) def resetMeritBarColor(self, dept): diff --git a/toontown/coghq/CogDisguiseGlobals.py b/toontown/coghq/CogDisguiseGlobals.py index 30c7cef6..27a36076 100644 --- a/toontown/coghq/CogDisguiseGlobals.py +++ b/toontown/coghq/CogDisguiseGlobals.py @@ -3,8 +3,6 @@ import types from toontown.toonbase import TTLocalizer from direct.showbase import PythonUtil from otp.otpbase import OTPGlobals -from toontown.battle import SuitBattleGlobals - PartsPerSuit = (17, 14, 12, @@ -14,8 +12,320 @@ PartsPerSuitBitmasks = (131071, 56447, 56411) AllBits = 131071 -MinPartLoss = 1 -MaxPartLoss = 2 +MinPartLoss = 2 +MaxPartLoss = 4 +MeritsPerLevel = ((100, + 130, + 160, + 190, + 800), + (160, + 210, + 260, + 310, + 1300), + (260, + 340, + 420, + 500, + 2100), + (420, + 550, + 680, + 810, + 3400), + (680, + 890, + 1100, + 1310, + 5500), + (1100, + 1440, + 1780, + 2120, + 8900), + (1780, + 2330, + 2880, + 3430, + 14400), + (2880, + 3770, + 4660, + 5500, + 23300, + 2880, + 23300, + 2880, + 3770, + 4660, + 5500, + 23300, + 2880, + 3770, + 4660, + 5500, + 6440, + 7330, + 8220, + 9110, + 10000, + 23300, + 2880, + 3770, + 4660, + 5500, + 6440, + 7330, + 8220, + 9110, + 10000, + 23300, + 2880, + 3770, + 4660, + 5500, + 6440, + 7330, + 8220, + 9110, + 10000, + 23300, + 0), + (60, + 80, + 100, + 120, + 500), + (100, + 130, + 160, + 190, + 800), + (160, + 210, + 260, + 310, + 1300), + (260, + 340, + 420, + 500, + 2100), + (420, + 550, + 680, + 810, + 3400), + (680, + 890, + 1100, + 1310, + 5500), + (1100, + 1440, + 1780, + 2120, + 8900), + (1780, + 2330, + 2880, + 3430, + 14400, + 1780, + 14400, + 1780, + 2330, + 2880, + 3430, + 14400, + 1780, + 2330, + 2880, + 3430, + 3980, + 4530, + 5080, + 5630, + 6180, + 14400, + 1780, + 2330, + 2880, + 3430, + 3980, + 4530, + 5080, + 5630, + 6180, + 14400, + 1780, + 2330, + 2880, + 3430, + 3980, + 4530, + 5080, + 5630, + 6180, + 14400, + 0), + (40, + 50, + 60, + 70, + 300), + (60, + 80, + 100, + 120, + 500), + (100, + 130, + 160, + 190, + 800), + (160, + 210, + 260, + 310, + 1300), + (260, + 340, + 420, + 500, + 2100), + (420, + 550, + 680, + 810, + 3400), + (680, + 890, + 1100, + 1310, + 5500), + (1100, + 1440, + 1780, + 2120, + 8900, + 1100, + 8900, + 1100, + 1440, + 1780, + 2120, + 8900, + 1100, + 1440, + 1780, + 2120, + 2460, + 2800, + 3140, + 3480, + 3820, + 8900, + 1100, + 1440, + 1780, + 2120, + 2460, + 2800, + 3140, + 3480, + 3820, + 8900, + 1100, + 1440, + 1780, + 2120, + 2460, + 2800, + 3140, + 3480, + 3820, + 8900, + 0), + (20, + 30, + 40, + 50, + 200), + (40, + 50, + 60, + 70, + 300), + (60, + 80, + 100, + 120, + 500), + (100, + 130, + 160, + 190, + 800), + (160, + 210, + 260, + 310, + 1300), + (260, + 340, + 420, + 500, + 2100), + (420, + 550, + 680, + 810, + 3400), + (680, + 890, + 1100, + 1310, + 5500, + 680, + 5500, + 680, + 890, + 1100, + 1310, + 5500, + 680, + 890, + 1100, + 1310, + 1520, + 1730, + 1940, + 2150, + 2360, + 5500, + 680, + 890, + 1100, + 1310, + 1520, + 1730, + 1940, + 2150, + 2360, + 5500, + 680, + 890, + 1100, + 1310, + 1520, + 1730, + 1940, + 2150, + 2360, + 5500, + 0)) leftLegUpper = 1 leftLegLower = 2 leftLegFoot = 4 @@ -121,22 +431,6 @@ PartsQueryNames = ({1: PartNameStrings[0], 65536: PartNameStrings[15]}) suitTypes = PythonUtil.Enum(('NoSuit', 'NoMerits', 'FullSuit')) -def makeMeritHierarchy(baseMerits): - meritHierarchy = [] - for _ in xrange(SuitDNA.suitsPerDept): - meritTier = [] - for _ in xrange(SuitDNA.levelsPerSuit): - baseMerits += (baseMerits*25) / 100 - meritTier.append(baseMerits) - meritHierarchy.append(tuple(meritTier)) - baseMerits /= 2 - return meritHierarchy - -MeritsPerLevel = makeMeritHierarchy(100) # Bossbot -MeritsPerLevel += makeMeritHierarchy(75) # Lawbot -MeritsPerLevel += makeMeritHierarchy(50) # Cashbot -MeritsPerLevel += makeMeritHierarchy(25) # Sellbot - def getNextPart(parts, partIndex, dept): dept = dept2deptIndex(dept) needMask = PartsPerSuitBitmasks[dept] & PartsQueryMasks[partIndex] @@ -146,6 +440,7 @@ def getNextPart(parts, partIndex, dept): nextPart = nextPart + 1 >> 1 return nextPart + def getPartName(partArray): index = 0 for part in partArray: @@ -153,14 +448,27 @@ def getPartName(partArray): return PartsQueryNames[index][part] index += 1 + def isSuitComplete(parts, dept): dept = dept2deptIndex(dept) - for p in xrange(len(PartsQueryMasks)): + for p in range(len(PartsQueryMasks)): if getNextPart(parts, p, dept): return 0 return 1 + +def isPaidSuitComplete(av, parts, dept): + isPaid = 0 + base = getBase() + if av and av.getGameAccess() == OTPGlobals.AccessFull: + isPaid = 1 + if isPaid: + if isSuitComplete(parts, dept): + return 1 + return 0 + + def getTotalMerits(toon, index): from toontown.battle import SuitBattleGlobals cogIndex = toon.cogTypes[index] + SuitDNA.suitsPerDept * index @@ -170,13 +478,15 @@ def getTotalMerits(toon, index): cogLevel = max(min(cogLevel, len(MeritsPerLevel[cogIndex]) - 1), 0) return MeritsPerLevel[cogIndex][cogLevel] + def getTotalParts(bitString, shiftWidth = 32): sum = 0 - for shift in xrange(0, shiftWidth): + for shift in range(0, shiftWidth): sum = sum + (bitString >> shift & 1) return sum + def asBitstring(number): array = [] shift = 0 @@ -190,19 +500,21 @@ def asBitstring(number): shift += 1 str = '' - for i in xrange(0, len(array)): + for i in range(0, len(array)): str = str + array[i] return str + def asNumber(bitstring): num = 0 - for i in xrange(0, len(bitstring)): + for i in range(0, len(bitstring)): if bitstring[i] == '1': num += pow(2, len(bitstring) - 1 - i) return num + def dept2deptIndex(dept): if type(dept) == types.StringType: dept = SuitDNA.suitDepts.index(dept) diff --git a/toontown/coghq/DistributedBattleFactoryAI.py b/toontown/coghq/DistributedBattleFactoryAI.py index 5a0c3395..75a865f0 100644 --- a/toontown/coghq/DistributedBattleFactoryAI.py +++ b/toontown/coghq/DistributedBattleFactoryAI.py @@ -34,10 +34,9 @@ class DistributedBattleFactoryAI(DistributedLevelBattleAI.DistributedLevelBattle else: self.notify.debug('toon %d not helpful, skipping merits' % toon.doId) if self.bossBattle: - self.toonParts[toon.doId] = self.air.cogSuitMgr.recoverPart( - toon, 'fullSuit', self.suitTrack, - self.getTaskZoneId(), toons) - self.notify.debug('toonParts = %s' % self.toonParts) + self.toonParts[toon.doId] = self.air.cogSuitMgr.recoverPart(toon, self.level.factoryType, self.suitTrack, self.getTaskZoneId(), toons) + self.notify.debug('toonParts = %s' % self.toonParts) + def enterFactoryReward(self): self.joinableFsm.request('Unjoinable') diff --git a/toontown/quest/QuestRewardCounter.py b/toontown/quest/QuestRewardCounter.py index a2e5ef8a..8bc91e19 100644 --- a/toontown/quest/QuestRewardCounter.py +++ b/toontown/quest/QuestRewardCounter.py @@ -70,7 +70,15 @@ class QuestRewardCounter: cogTypes = av.getCogTypes() suitHp = 0 for dept in HQdepts: - suitHp += levels[dept] + level = levels[dept] + type = cogTypes[dept] + if type >= SuitDNA.suitsPerDept - 1: + for milestoneLevel in ToontownGlobals.CogSuitHPLevels: + if level >= milestoneLevel: + suitHp += 1 + else: + break + self.notify.debug('Adding %s hp for cog suits' % suitHp) self.maxHp += suitHp kartingHp = int(av.kartingTrophies.count(1) / RaceGlobals.TrophiesPerCup) diff --git a/toontown/shtiker/DisguisePage.py b/toontown/shtiker/DisguisePage.py index 3424910b..bc485bf9 100644 --- a/toontown/shtiker/DisguisePage.py +++ b/toontown/shtiker/DisguisePage.py @@ -1,27 +1,18 @@ +import ShtikerPage from direct.gui.DirectGui import * from pandac.PandaModules import * - -import ShtikerPage -from toontown.battle import SuitBattleGlobals -from toontown.coghq import CogDisguiseGlobals -from toontown.suit import SuitDNA -from toontown.toonbase import TTLocalizer from toontown.toonbase import ToontownGlobals - - -DeptColors = ( - Vec4(0.647, 0.608, 0.596, 1.0), - Vec4(0.588, 0.635, 0.671, 1.0), - Vec4(0.596, 0.714, 0.659, 1.0), - Vec4(0.761, 0.678, 0.69, 1.0) -) +from toontown.toonbase import TTLocalizer +from toontown.suit import SuitDNA +from toontown.battle import SuitBattleGlobals +from toontown.minigame import MinigamePowerMeter +from toontown.coghq import CogDisguiseGlobals +DeptColors = (Vec4(0.647, 0.608, 0.596, 1.0), + Vec4(0.588, 0.635, 0.671, 1.0), + Vec4(0.596, 0.714, 0.659, 1.0), + Vec4(0.761, 0.678, 0.69, 1.0)) NumParts = max(CogDisguiseGlobals.PartsPerSuit) -PartNames = ( - 'lUpleg', 'lLowleg', 'lShoe', 'rUpleg', 'rLowleg', 'rShoe', 'lShoulder', - 'rShoulder', 'chest', 'waist', 'hip', 'lUparm', 'lLowarm', 'lHand', - 'rUparm', 'rLowarm', 'rHand' -) - +PartNames = ('lUpleg', 'lLowleg', 'lShoe', 'rUpleg', 'rLowleg', 'rShoe', 'lShoulder', 'rShoulder', 'chest', 'waist', 'hip', 'lUparm', 'lLowarm', 'lHand', 'rUparm', 'rLowarm', 'rHand') class DisguisePage(ShtikerPage.ShtikerPage): meterColor = Vec4(0.87, 0.87, 0.827, 1.0) @@ -31,14 +22,13 @@ class DisguisePage(ShtikerPage.ShtikerPage): ShtikerPage.ShtikerPage.__init__(self) self.activeTab = 0 self.progressTitle = None + return def load(self): ShtikerPage.ShtikerPage.load(self) - - gui = loader.loadModel('phase_9/models/gui/cog_disguises.bam') + gui = loader.loadModel('phase_9/models/gui/cog_disguises') self.frame = DirectFrame(parent=self, relief=None, scale=0.47, pos=(0.02, 1, 0)) - self.bkgd = DirectFrame( - parent=self.frame, geom=gui.find('**/base'), relief=None, scale=(0.98, 1, 1)) + self.bkgd = DirectFrame(parent=self.frame, geom=gui.find('**/base'), relief=None, scale=(0.98, 1, 1)) self.bkgd.setTextureOff(1) self.tabs = [] self.pageFrame = DirectFrame(parent=self.frame, relief=None) @@ -57,116 +47,51 @@ class DisguisePage(ShtikerPage.ShtikerPage): textPos = (1.57, -1.05) pageGeom = gui.find('**/page%d' % tabIndex) tabGeom = gui.find('**/tab%d' % tabIndex) - tab = DirectButton( - parent=self.pageFrame, relief=None, geom=tabGeom, - geom_color=DeptColors[tabIndex - 1], - text=SuitDNA.suitDeptFullnames[dept], - text_font=ToontownGlobals.getSuitFont(), text_pos=textPos, - text_roll=-90, text_scale=TTLocalizer.DPtab, - text_align=TextNode.ACenter, text1_fg=Vec4(1, 0, 0, 1), - text2_fg=Vec4(0.5, 0.4, 0.4, 1), - text3_fg=Vec4(0.4, 0.4, 0.4, 1), command=self.doTab, - extraArgs=[len(self.tabs)], pressEffect=0) + tab = DirectButton(parent=self.pageFrame, relief=None, geom=tabGeom, geom_color=DeptColors[tabIndex - 1], text=SuitDNA.suitDeptFullnames[dept], text_font=ToontownGlobals.getSuitFont(), text_pos=textPos, text_roll=-90, text_scale=TTLocalizer.DPtab, text_align=TextNode.ACenter, text1_fg=Vec4(1, 0, 0, 1), text2_fg=Vec4(0.5, 0.4, 0.4, 1), text3_fg=Vec4(0.4, 0.4, 0.4, 1), command=self.doTab, extraArgs=[len(self.tabs)], pressEffect=0) self.tabs.append(tab) - DirectFrame(parent=tab, relief=None, geom=pageGeom) + page = DirectFrame(parent=tab, relief=None, geom=pageGeom) - self.deptLabel = DirectLabel( - parent=self.frame, text='', - text_font=ToontownGlobals.getSuitFont(), - text_scale=TTLocalizer.DPdeptLabel, text_pos=(-0.1, 0.8)) + self.deptLabel = DirectLabel(parent=self.frame, text='', text_font=ToontownGlobals.getSuitFont(), text_scale=TTLocalizer.DPdeptLabel, text_pos=(-0.1, 0.8)) DirectFrame(parent=self.frame, relief=None, geom=gui.find('**/pipe_frame')) self.tube = DirectFrame(parent=self.frame, relief=None, geom=gui.find('**/tube')) DirectFrame(parent=self.frame, relief=None, geom=gui.find('**/robot/face')) - DirectLabel( - parent=self.frame, relief=None, - geom=gui.find('**/text_cog_disguises'), geom_pos=(0, 0.1, 0)) - self.meritTitle = DirectLabel( - parent=self.frame, relief=None, - geom=gui.find('**/text_merit_progress'), geom_pos=(0, 0.1, 0)) + DirectLabel(parent=self.frame, relief=None, geom=gui.find('**/text_cog_disguises'), geom_pos=(0, 0.1, 0)) + self.meritTitle = DirectLabel(parent=self.frame, relief=None, geom=gui.find('**/text_merit_progress'), geom_pos=(0, 0.1, 0)) self.meritTitle.hide() - self.cogbuckTitle = DirectLabel( - parent=self.frame, relief=None, - geom=gui.find('**/text_cashbuck_progress'), geom_pos=(0, 0.1, 0)) + self.cogbuckTitle = DirectLabel(parent=self.frame, relief=None, geom=gui.find('**/text_cashbuck_progress'), geom_pos=(0, 0.1, 0)) self.cogbuckTitle.hide() - self.juryNoticeTitle = DirectLabel( - parent=self.frame, relief=None, - geom=gui.find('**/text_jury_notice_progress'), geom_pos=(0, 0.1, 0)) + self.juryNoticeTitle = DirectLabel(parent=self.frame, relief=None, geom=gui.find('**/text_jury_notice_progress'), geom_pos=(0, 0.1, 0)) self.juryNoticeTitle.hide() - self.stockOptionTitle = DirectLabel( - parent=self.frame, relief=None, - geom=gui.find('**/text_stock_option_progress'), geom_pos=(0, 0.1, 0)) + self.stockOptionTitle = DirectLabel(parent=self.frame, relief=None, geom=gui.find('**/text_stock_option_progress'), geom_pos=(0, 0.1, 0)) self.stockOptionTitle.hide() self.progressTitle = self.meritTitle - self.promotionTitle = DirectLabel( - parent=self.frame, relief=None, - geom=gui.find('**/text_ready4promotion'), geom_pos=(0, 0.1, 0)) - self.cogName = DirectLabel( - parent=self.frame, relief=None, text='', - text_font=ToontownGlobals.getSuitFont(), - text_scale=TTLocalizer.DPcogName, text_align=TextNode.ACenter, - pos=(-0.948, 0, -1.15)) - self.cogLevel = DirectLabel( - parent=self.frame, relief=None, text='', - text_font=ToontownGlobals.getSuitFont(), text_scale=0.09, - text_align=TextNode.ACenter, pos=(-0.91, 0, -1.02)) + self.promotionTitle = DirectLabel(parent=self.frame, relief=None, geom=gui.find('**/text_ready4promotion'), geom_pos=(0, 0.1, 0)) + self.cogName = DirectLabel(parent=self.frame, relief=None, text='', text_font=ToontownGlobals.getSuitFont(), text_scale=TTLocalizer.DPcogName, text_align=TextNode.ACenter, pos=(-0.948, 0, -1.15)) + self.cogLevel = DirectLabel(parent=self.frame, relief=None, text='', text_font=ToontownGlobals.getSuitFont(), text_scale=0.09, text_align=TextNode.ACenter, pos=(-0.91, 0, -1.02)) self.partFrame = DirectFrame(parent=self.frame, relief=None) self.parts = [] - for partNum in xrange(0, 17): - self.parts.append( - DirectFrame(parent=self.partFrame, relief=None, - geom=gui.find('**/robot/' + PartNames[partNum]))) + for partNum in range(0, NumParts): + self.parts.append(DirectFrame(parent=self.partFrame, relief=None, geom=gui.find('**/robot/' + PartNames[partNum]))) + self.holes = [] - for partNum in xrange(0, 17): - self.holes.append( - DirectFrame(parent=self.partFrame, relief=None, - geom=gui.find('**/robot_hole/' + PartNames[partNum]))) - self.cogPartRatio = DirectLabel( - parent=self.frame, relief=None, text='', - text_font=ToontownGlobals.getSuitFont(), text_scale=0.08, - text_align=TextNode.ACenter, pos=(-0.91, 0, -0.82)) - self.cogMeritRatio = DirectLabel( - parent=self.frame, relief=None, text='', - text_font=ToontownGlobals.getSuitFont(), text_scale=0.08, - text_align=TextNode.ACenter, pos=(0.45, 0, -0.36)) + for partNum in range(0, NumParts): + self.holes.append(DirectFrame(parent=self.partFrame, relief=None, geom=gui.find('**/robot_hole/' + PartNames[partNum]))) + + self.cogPartRatio = DirectLabel(parent=self.frame, relief=None, text='', text_font=ToontownGlobals.getSuitFont(), text_scale=0.08, text_align=TextNode.ACenter, pos=(-0.91, 0, -0.82)) + self.cogMeritRatio = DirectLabel(parent=self.frame, relief=None, text='', text_font=ToontownGlobals.getSuitFont(), text_scale=0.08, text_align=TextNode.ACenter, pos=(0.45, 0, -0.36)) meterFace = gui.find('**/meter_face_whole') meterFaceHalf = gui.find('**/meter_face_half') - self.meterFace = DirectLabel( - parent=self.frame, relief=None, geom=meterFace, - color=self.meterColor, pos=(0.455, 0.0, 0.04)) - self.meterFaceHalf1 = DirectLabel( - parent=self.frame, relief=None, geom=meterFaceHalf, - color=self.meterActiveColor, pos=(0.455, 0.0, 0.04)) - self.meterFaceHalf2 = DirectLabel( - parent=self.frame, relief=None, geom=meterFaceHalf, - color=self.meterColor, pos=(0.455, 0.0, 0.04)) - self.promotionSfx = loader.loadSfx('phase_5/audio/sfx/suit_promotion_sfx.ogg') - self.buttonModels = loader.loadModel('phase_3.5/models/gui/inventory_gui.bam') - upButton = self.buttonModels.find('**//InventoryButtonUp') - downButton = self.buttonModels.find('**/InventoryButtonDown') - rolloverButton = self.buttonModels.find('**/InventoryButtonRollover') - self.promoteButton = DirectButton( - parent=self.frame, relief=None, text='Promote', - text_fg=(0.9, 0.9, 0.9, 1), text_pos=(0, -0.2), - text_font=ToontownGlobals.getSuitFont(), - text_scale=0.6, image=(upButton, downButton, rolloverButton), - image_color=(0.5, 0.5, 0.5, 1), image_scale=(20, 1, 11), - pos=(0.94, 0, -1.125), scale=0.125, - command=self.sendPromotionRequest, extraArgs=[3]) - self.promoteButton.hide() - if base.localAvatar.promotionStatus[3] == ToontownGlobals.PendingPromotion: - self.promoteButton.show() - if base.localAvatar.cogLevels[3] == ToontownGlobals.MaxCogSuitLevel: - self.promoteButton['state'] = DGG.DISABLED + self.meterFace = DirectLabel(parent=self.frame, relief=None, geom=meterFace, color=self.meterColor, pos=(0.455, 0.0, 0.04)) + self.meterFaceHalf1 = DirectLabel(parent=self.frame, relief=None, geom=meterFaceHalf, color=self.meterActiveColor, pos=(0.455, 0.0, 0.04)) + self.meterFaceHalf2 = DirectLabel(parent=self.frame, relief=None, geom=meterFaceHalf, color=self.meterColor, pos=(0.455, 0.0, 0.04)) self.frame.hide() self.activeTab = 3 self.updatePage() + return def unload(self): ShtikerPage.ShtikerPage.unload(self) - del self.promotionSfx - self.buttonModels.removeNode() - def enter(self): self.frame.show() ShtikerPage.ShtikerPage.enter(self) @@ -236,10 +161,9 @@ class DisguisePage(ShtikerPage.ShtikerPage): self.meterFaceHalf2.setR(180 * (progress / 0.5)) def doTab(self, index): - self.promoteButton.hide() self.activeTab = index self.tabs[index].reparentTo(self.pageFrame) - for i in xrange(len(self.tabs)): + for i in range(len(self.tabs)): tab = self.tabs[i] if i == index: tab['text0_fg'] = (1, 0, 0, 1) @@ -270,17 +194,3 @@ class DisguisePage(ShtikerPage.ShtikerPage): self.updatePartsDisplay(index, numParts, numPartsRequired) self.updateMeritBar(index) self.cogPartRatio['text'] = '%d/%d' % (CogDisguiseGlobals.getTotalParts(numParts), numPartsRequired) - if base.localAvatar.promotionStatus[index] == ToontownGlobals.PendingPromotion: - self.promoteButton['extraArgs'] = [index] - if base.localAvatar.cogLevels[index] == ToontownGlobals.MaxCogSuitLevel: - self.promoteButton['state'] = DGG.DISABLED - else: - self.promoteButton['state'] = DGG.NORMAL - self.promoteButton.show() - - def sendPromotionRequest(self, dept): - self.promoteButton.hide() - base.playSfx(self.promotionSfx) - base.localAvatar.promotionStatus[dept] = 0 - base.localAvatar.sendUpdate('requestPromotion', [dept]) - self.updatePage() diff --git a/toontown/suit/DistributedBossbotBoss.py b/toontown/suit/DistributedBossbotBoss.py index daad5aa5..e3c56994 100644 --- a/toontown/suit/DistributedBossbotBoss.py +++ b/toontown/suit/DistributedBossbotBoss.py @@ -843,19 +843,11 @@ class DistributedBossbotBoss(DistributedBossCog.DistributedBossCog, FSM.FSM): def __talkAboutPromotion(self, speech): if self.prevCogSuitLevel < ToontownGlobals.MaxCogSuitLevel: - deptIndex = CogDisguiseGlobals.dept2deptIndex(self.style.dept) - cogLevels = base.localAvatar.getCogLevels() - newCogSuitLevel = cogLevels[deptIndex] - cogTypes = base.localAvatar.getCogTypes() - maxCogSuitLevel = (SuitDNA.levelsPerSuit-1) + cogTypes[deptIndex] - if self.prevCogSuitLevel != maxCogSuitLevel: - speech += TTLocalizer.BossbotRTLevelPromotion - if newCogSuitLevel == maxCogSuitLevel: - if newCogSuitLevel != ToontownGlobals.MaxCogSuitLevel: - suitIndex = (SuitDNA.suitsPerDept*deptIndex) + cogTypes[deptIndex] - cogTypeStr = SuitDNA.suitHeadTypes[suitIndex] - cogName = SuitBattleGlobals.SuitAttributes[cogTypeStr]['name'] - speech += TTLocalizer.BossbotRTSuitPromotion % cogName + newCogSuitLevel = localAvatar.getCogLevels()[CogDisguiseGlobals.dept2deptIndex(self.style.dept)] + if newCogSuitLevel == ToontownGlobals.MaxCogSuitLevel: + speech += TTLocalizer.BossbotRTLastPromotion % (ToontownGlobals.MaxCogSuitLevel + 1) + if newCogSuitLevel in ToontownGlobals.CogSuitHPLevels: + speech += TTLocalizer.BossbotRTHPBoost else: speech += TTLocalizer.BossbotRTMaxed % (ToontownGlobals.MaxCogSuitLevel + 1) return speech diff --git a/toontown/suit/DistributedCashbotBoss.py b/toontown/suit/DistributedCashbotBoss.py index 2c6c8695..bce110c5 100644 --- a/toontown/suit/DistributedCashbotBoss.py +++ b/toontown/suit/DistributedCashbotBoss.py @@ -648,19 +648,11 @@ class DistributedCashbotBoss(DistributedBossCog.DistributedBossCog, FSM.FSM): def __talkAboutPromotion(self, speech): if self.prevCogSuitLevel < ToontownGlobals.MaxCogSuitLevel: - deptIndex = CogDisguiseGlobals.dept2deptIndex(self.style.dept) - cogLevels = base.localAvatar.getCogLevels() - newCogSuitLevel = cogLevels[deptIndex] - cogTypes = base.localAvatar.getCogTypes() - maxCogSuitLevel = (SuitDNA.levelsPerSuit-1) + cogTypes[deptIndex] - if self.prevCogSuitLevel != maxCogSuitLevel: - speech += TTLocalizer.ResistanceToonLevelPromotion - if newCogSuitLevel == maxCogSuitLevel: - if newCogSuitLevel != ToontownGlobals.MaxCogSuitLevel: - suitIndex = (SuitDNA.suitsPerDept*deptIndex) + cogTypes[deptIndex] - cogTypeStr = SuitDNA.suitHeadTypes[suitIndex] - cogName = SuitBattleGlobals.SuitAttributes[cogTypeStr]['name'] - speech += TTLocalizer.ResistanceToonSuitPromotion % cogName + newCogSuitLevel = localAvatar.getCogLevels()[CogDisguiseGlobals.dept2deptIndex(self.style.dept)] + if newCogSuitLevel == ToontownGlobals.MaxCogSuitLevel: + speech += TTLocalizer.ResistanceToonLastPromotion % (ToontownGlobals.MaxCogSuitLevel + 1) + if newCogSuitLevel in ToontownGlobals.CogSuitHPLevels: + speech += TTLocalizer.ResistanceToonHPBoost else: speech += TTLocalizer.ResistanceToonMaxed % (ToontownGlobals.MaxCogSuitLevel + 1) return speech diff --git a/toontown/suit/DistributedLawbotBoss.py b/toontown/suit/DistributedLawbotBoss.py index 3cfe8951..115436fa 100644 --- a/toontown/suit/DistributedLawbotBoss.py +++ b/toontown/suit/DistributedLawbotBoss.py @@ -1659,19 +1659,11 @@ class DistributedLawbotBoss(DistributedBossCog.DistributedBossCog, FSM.FSM): def __talkAboutPromotion(self, speech): if self.prevCogSuitLevel < ToontownGlobals.MaxCogSuitLevel: - deptIndex = CogDisguiseGlobals.dept2deptIndex(self.style.dept) - cogLevels = base.localAvatar.getCogLevels() - newCogSuitLevel = cogLevels[deptIndex] - cogTypes = base.localAvatar.getCogTypes() - maxCogSuitLevel = (SuitDNA.levelsPerSuit-1) + cogTypes[deptIndex] - if self.prevCogSuitLevel != maxCogSuitLevel: - speech += TTLocalizer.WitnessToonLevelPromotion - if newCogSuitLevel == maxCogSuitLevel: - if newCogSuitLevel != ToontownGlobals.MaxCogSuitLevel: - suitIndex = (SuitDNA.suitsPerDept*deptIndex) + cogTypes[deptIndex] - cogTypeStr = SuitDNA.suitHeadTypes[suitIndex] - cogName = SuitBattleGlobals.SuitAttributes[cogTypeStr]['name'] - speech += TTLocalizer.WitnessToonSuitPromotion % cogName + newCogSuitLevel = localAvatar.getCogLevels()[CogDisguiseGlobals.dept2deptIndex(self.style.dept)] + if newCogSuitLevel == ToontownGlobals.MaxCogSuitLevel: + speech += TTLocalizer.WitnessToonLastPromotion % (ToontownGlobals.MaxCogSuitLevel + 1) + if newCogSuitLevel in ToontownGlobals.CogSuitHPLevels: + speech += TTLocalizer.WitnessToonHPBoost else: speech += TTLocalizer.WitnessToonMaxed % (ToontownGlobals.MaxCogSuitLevel + 1) return speech diff --git a/toontown/suit/DistributedSellbotBoss.py b/toontown/suit/DistributedSellbotBoss.py index 1cbe26a5..a920181c 100644 --- a/toontown/suit/DistributedSellbotBoss.py +++ b/toontown/suit/DistributedSellbotBoss.py @@ -444,20 +444,15 @@ class DistributedSellbotBoss(DistributedBossCog.DistributedBossCog, FSM.FSM): return bossTrack def __talkAboutPromotion(self, speech): - if self.prevCogSuitLevel < ToontownGlobals.MaxCogSuitLevel: - deptIndex = CogDisguiseGlobals.dept2deptIndex(self.style.dept) - cogLevels = base.localAvatar.getCogLevels() - newCogSuitLevel = cogLevels[deptIndex] - cogTypes = base.localAvatar.getCogTypes() - maxCogSuitLevel = (SuitDNA.levelsPerSuit-1) + cogTypes[deptIndex] - if self.prevCogSuitLevel != maxCogSuitLevel: - speech += TTLocalizer.CagedToonLevelPromotion - if newCogSuitLevel == maxCogSuitLevel: - if newCogSuitLevel != ToontownGlobals.MaxCogSuitLevel: - suitIndex = (SuitDNA.suitsPerDept*deptIndex) + cogTypes[deptIndex] - cogTypeStr = SuitDNA.suitHeadTypes[suitIndex] - cogName = SuitBattleGlobals.SuitAttributes[cogTypeStr]['name'] - speech += TTLocalizer.CagedToonSuitPromotion % cogName + if not self.localToonPromoted: + pass + elif self.prevCogSuitLevel < ToontownGlobals.MaxCogSuitLevel: + speech += TTLocalizer.CagedToonPromotion + newCogSuitLevel = localAvatar.getCogLevels()[CogDisguiseGlobals.dept2deptIndex(self.style.dept)] + if newCogSuitLevel == ToontownGlobals.MaxCogSuitLevel: + speech += TTLocalizer.CagedToonLastPromotion % (ToontownGlobals.MaxCogSuitLevel + 1) + if newCogSuitLevel in ToontownGlobals.CogSuitHPLevels: + speech += TTLocalizer.CagedToonHPBoost else: speech += TTLocalizer.CagedToonMaxed % (ToontownGlobals.MaxCogSuitLevel + 1) return speech diff --git a/toontown/suit/SuitDNA.py b/toontown/suit/SuitDNA.py index b3ad661d..f74c1356 100644 --- a/toontown/suit/SuitDNA.py +++ b/toontown/suit/SuitDNA.py @@ -100,7 +100,6 @@ suitsPerLevel = [1, 1, 1] suitsPerDept = 8 -levelsPerSuit = 5 goonTypes = ['pg', 'sg'] def getSuitBodyType(name): diff --git a/toontown/toon/DistributedToon.py b/toontown/toon/DistributedToon.py index 2a34c4d9..519806c9 100644 --- a/toontown/toon/DistributedToon.py +++ b/toontown/toon/DistributedToon.py @@ -180,7 +180,6 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute self.gmNameTagEnabled = 0 self.gmNameTagColor = 'whiteGM' self.gmNameTagString = '' - self.promotionStatus = [0, 0, 0, 0] self.buffs = [] self.redeemedCodes = [] self.trueFriends = [] @@ -890,9 +889,6 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute if self.disguisePage: self.disguisePage.updatePage() - def getCogTypes(self): - return self.cogTypes - def setCogLevels(self, levels): self.cogLevels = levels if self.disguisePage: @@ -936,9 +932,6 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute else: self.putOnSuit(index, rental=True) - def setPromotionStatus(self, status): - self.promotionStatus = status - def isCog(self): if self.cogIndex == -1: return 0 @@ -2659,15 +2652,6 @@ def zone(zoneId): base.cr.sendSetZoneMsg(zoneId, [zoneId]) return 'You have been moved to zone %d.' % zoneId -@magicWord(category=CATEGORY_ADMINISTRATOR, types=[int]) -def promote(deptIndex): - """ - sends a request to promote the invoker's [deptIndex] Cog disguise. - """ - invoker = spellbook.getInvoker() - invoker.sendUpdate('requestPromotion', [deptIndex]) - return 'Your promotion request has been sent.' - @magicWord(category=CATEGORY_ADMINISTRATOR) def blackCat(): """ @@ -2687,4 +2671,4 @@ def showParticle(name): particle.start(spellbook.getTarget()) return 'Successfully started particle!' - return 'Particle %s does not exist.' % name \ No newline at end of file + return 'Particle %s does not exist.' % name diff --git a/toontown/toon/DistributedToonAI.py b/toontown/toon/DistributedToonAI.py index 05587cbf..ef4ad75e 100644 --- a/toontown/toon/DistributedToonAI.py +++ b/toontown/toon/DistributedToonAI.py @@ -177,7 +177,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo self.partyReplyInfoBases = [] self.teleportOverride = 0 self._gmDisabled = False - self.promotionStatus = [0, 0, 0, 0] self.buffs = [] self.redeemedCodes = [] self.trueFriends = [] @@ -1244,38 +1243,31 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo def getCogLevels(self): return self.cogLevels - def incCogLevel(self, deptIndex): - cogLevel = self.cogLevels[deptIndex] - maxSuitType = SuitDNA.suitsPerDept - 1 - maxSuitLevel = (SuitDNA.levelsPerSuit-1) + maxSuitType - maxCogLevel = (SuitDNA.levelsPerSuit-1) + self.cogTypes[deptIndex] - if (cogLevel == maxCogLevel) or (cogLevel == maxSuitLevel): - self.promotionStatus[deptIndex] = ToontownGlobals.PendingPromotion - self.d_setPromotionStatus(self.promotionStatus) + def incCogLevel(self, dept): + newLevel = self.cogLevels[dept] + 1 + cogTypeStr = SuitDNA.suitHeadTypes[self.cogTypes[dept]] + lastCog = self.cogTypes[dept] >= SuitDNA.suitsPerDept - 1 + if not lastCog: + maxLevel = SuitBattleGlobals.SuitAttributes[cogTypeStr]['level'] + 4 else: - self.cogLevels[deptIndex] += 1 + maxLevel = ToontownGlobals.MaxCogSuitLevel + if newLevel > maxLevel: + if not lastCog: + self.cogTypes[dept] += 1 + self.d_setCogTypes(self.cogTypes) + cogTypeStr = SuitDNA.suitHeadTypes[self.cogTypes[dept]] + self.cogLevels[dept] = SuitBattleGlobals.SuitAttributes[cogTypeStr]['level'] + self.d_setCogLevels(self.cogLevels) + else: + self.cogLevels[dept] += 1 self.d_setCogLevels(self.cogLevels) - self.cogMerits[deptIndex] = 0 - self.d_setCogMerits(self.cogMerits) - self.air.writeServerEvent( - 'cogSuit', self.doId, - '%s|%s|%s' % (deptIndex, self.cogTypes[deptIndex], self.cogLevels[deptIndex])) - - def requestPromotion(self, dept): - if self.promotionStatus[dept] == ToontownGlobals.PendingPromotion: - self.cogTypes[dept] += 1 - self.d_setCogTypes(self.cogTypes) - cogTypeStr = SuitDNA.suitHeadTypes[self.cogTypes[dept]] - self.cogLevels[dept] = SuitBattleGlobals.SuitAttributes[cogTypeStr]['level'] - self.d_setCogLevels(self.cogLevels) - self.cogMerits[dept] = 0 - self.d_setCogMerits(self.cogMerits) - maxHp = self.getMaxHp() - maxHp = min(ToontownGlobals.MaxHpLimit, maxHp + 1) - self.b_setMaxHp(maxHp) - self.toonUp(maxHp) - self.promotionStatus[dept] = ToontownGlobals.WantPromotion - self.d_setPromotionStatus(self.promotionStatus) + if lastCog: + if self.cogLevels[dept] in ToontownGlobals.CogSuitHPLevels: + maxHp = self.getMaxHp() + maxHp = min(ToontownGlobals.MaxHpLimit, maxHp + 1) + self.b_setMaxHp(maxHp) + self.toonUp(maxHp) + self.air.writeServerEvent('cogSuit', self.doId, '%s|%s|%s' % (dept, self.cogTypes[dept], self.cogLevels[dept])) def getNumPromotions(self, dept): if dept not in SuitDNA.suitDepts: @@ -1375,15 +1367,19 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo def getCogMerits(self): return self.cogMerits - def b_promote(self, deptIndex): - self.promote(deptIndex) - self.d_promote(deptIndex) + def b_promote(self, dept): + self.promote(dept) + self.d_promote(dept) - def promote(self, deptIndex): - self.incCogLevel(deptIndex) + def promote(self, dept): + if self.cogLevels[dept] < ToontownGlobals.MaxCogSuitLevel: + self.cogMerits[dept] = 0 + self.incCogLevel(dept) - def d_promote(self, deptIndex): + def d_promote(self, dept): merits = self.getCogMerits() + if self.cogLevels[dept] < ToontownGlobals.MaxCogSuitLevel: + merits[dept] = 0 self.d_setCogMerits(merits) def readyForPromotion(self, dept): @@ -1417,19 +1413,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo def getCogIndex(self): return self.cogIndex - def setPromotionStatus(self, status): - self.promotionStatus = status - - def d_setPromotionStatus(self, status): - self.sendUpdate('setPromotionStatus', [status]) - - def b_setPromotionStatus(self, status): - self.setPromotionStatus(status) - self.d_setPromotionStatus(status) - - def getPromotionStatus(self): - return self.promotionStatus - def b_setDisguisePageFlag(self, flag): self.setDisguisePageFlag(flag) self.d_setDisguisePageFlag(flag) @@ -4334,22 +4317,16 @@ def maxToon(missingTrack=None): invoker.b_setEmoteAccess(emotes) # Max out their Cog suits: - suitDeptCount = len(SuitDNA.suitDepts) - cogParts = [] - for i in xrange(suitDeptCount): - cogParts.append(CogDisguiseGlobals.PartsPerSuitBitmasks[i]) - invoker.b_setCogParts(cogParts) - maxSuitType = SuitDNA.suitsPerDept - 1 - invoker.b_setCogTypes([maxSuitType] * suitDeptCount) - maxSuitLevel = (SuitDNA.levelsPerSuit-1) + maxSuitType - invoker.b_setCogLevels([maxSuitLevel] * suitDeptCount) - cogMerits = [] - for i in xrange(suitDeptCount): - suitIndex = (SuitDNA.suitsPerDept * (i+1)) - 1 - suitMerits = CogDisguiseGlobals.MeritsPerLevel[suitIndex] - cogMerits.append(suitMerits[SuitDNA.levelsPerSuit - 1]) - invoker.b_setCogMerits(cogMerits) - invoker.b_setPromotionStatus([1] * suitDeptCount) + invoker.b_setCogParts( + [ + CogDisguiseGlobals.PartsPerSuitBitmasks[0], # Bossbot + CogDisguiseGlobals.PartsPerSuitBitmasks[1], # Lawbot + CogDisguiseGlobals.PartsPerSuitBitmasks[2], # Cashbot + CogDisguiseGlobals.PartsPerSuitBitmasks[3] # Sellbot + ] + ) + invoker.b_setCogLevels([49] * 4) + invoker.b_setCogTypes([7, 7, 7, 7]) # Max their Cog gallery: deptCount = len(SuitDNA.suitDepts) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index c6e06ced..88b2166c 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -2228,12 +2228,12 @@ RewardPanelCongratsStrings = ['Yeah!', RewardPanelNewGag = 'New %(gagName)s gag for %(avName)s!' RewardPanelUberGag = '%(avName)s earned the %(gagName)s gag with %(exp)s experience points!' RewardPanelEndTrack = 'Yay! %(avName)s has reached the end of the %(gagName)s Gag Track!' -RewardPanelPromotionPending = 'Pending promotion...' RewardPanelMeritsMaxed = 'Maxed' RewardPanelMeritBarLabels = ['Stock Options', 'Jury Notices', 'Cogbucks', 'Merits'] +RewardPanelMeritAlert = 'Ready for promotion!' RewardPanelCogPart = 'You gained a Cog disguise part!' RewardPanelPromotion = 'Ready for promotion in %s track!' RewardPanelSkip = 'Skip' @@ -4693,9 +4693,9 @@ BossBattleHowToGetPies = 'Jump up to touch the cage to get pies.' BossBattleHowToThrowPies = 'Press the Delete key to throw pies!' CagedToonYippee = 'Yippee!' CagedToonThankYou = "It's great to be free!\x07Thanks for all your help!\x07I am in your debt.\x07Here's my card. If you ever need a hand in battle, give a shout!\x07Just click on your SOS button." -CagedToonLevelPromotion = "\x07Say--that V.P. Cog left behind your promotion papers.\x07I'll file them for you on the way out, so you'll get your promotion!" -CagedToonSuitPromotion = "\x07It seems like you've reached the highest level you can for a %s.\x07You can continue upgrading your Cog suit through the disguise page in your Shticker Book.\x07Along with getting a new Cog suit, you will also get a 1 point Laff boost!" -CagedToonLastPromotion = "\x07Wow, you've reached level %s on your Cog suit!\x07I'm pretty sure Cogs don't get promoted higher than that.\x07You can't upgrade your Cog suit anymore, but you can certainly keep rescuing Toons!" +CagedToonPromotion = "\x07Say--that V.P. Cog left behind your promotion papers.\x07I'll file them for you on the way out, so you'll get your promotion!" +CagedToonLastPromotion = "\x07Wow, you've reached level %s on your Cog suit!\x07Cogs don't get promoted higher than that.\x07You can't upgrade your Cog suit anymore, but you can certainly keep rescuing Toons!" +CagedToonHPBoost = "\x07You've rescued a lot of Toons from this HQ.\x07The Toon Council has decided to give you another Laff point. Congratulations!" CagedToonMaxed = '\x07I see that you have a level %s Cog suit. Very impressive!\x07On behalf of the Toon Council, thank you for coming back to rescue more Toons!' CagedToonGoodbye = 'See ya!' CagedToonBattleThree = {10: 'Nice jump, %(toon)s. Here are some pies!', @@ -4723,9 +4723,8 @@ ResistanceToonMoneyInstructions = 'all the Toons near you will gain %s Jellybean ResistanceToonMoneyAllInstructions = 'all the Toons near you will fill their Jellybean jars' ResistanceToonRestockInstructions = 'all the Toons near you will restock their "%s" gags' ResistanceToonRestockAllInstructions = 'all the Toons near you will restock all their gags' -ResistanceToonLevelPromotion = "\x07Say--that C.F.O. Cog left behind your promotion papers.\x07I'll file them for you on the way out, so you'll get your promotion!" -ResistanceToonSuitPromotion = "\x07It seems like you've reached the highest level you can for a %s.\x07You can continue upgrading your Cog suit through the disguise page in your Shticker Book.\x07Along with getting a new Cog suit, you will also get a 1 point Laff boost!" -ResistanceToonLastPromotion = "\x07Wow, you've reached level %s on your Cog suit!\x07I'm pretty sure Cogs don't get promoted higher than that.\x07You can't upgrade your Cog suit anymore, but you can certainly keep working for the Resistance!!" +ResistanceToonLastPromotion = "\x07Wow, you've reached level %s on your Cog suit!\x07Cogs don't get promoted higher than that.\x07You can't upgrade your Cog suit anymore, but you can certainly keep working for the Resistance!" +ResistanceToonHPBoost = "\x07You've done a lot of work for the Resistance.\x07The Toon Council has decided to give you another Laff point. Congratulations!" ResistanceToonMaxed = '\x07I see that you have a level %s Cog suit. Very impressive!\x07On behalf of the Toon Council, thank you for coming back to rescue more Toons!' CashbotBossCogAttack = 'Get them!!!' ResistanceToonWelcome = 'Hey, you made it! Follow me to the main vault before the C.F.O. finds us!' @@ -7524,10 +7523,9 @@ WitnessToonSomeJurors = 'Cool! There are %d Toons in the jury!' WitnessToonAllJurors = 'Awesome! All the jurors are Toons!' WitnessToonPrepareBattleThree = 'Hurry, touch the witness stand to get evidence.\x07Press the Delete key to throw the evidence at the lawyers, or at the defense pan.' WitnessToonCongratulations = "You did it! Thank you for a spectacular defense!\x07Here, take these papers the Chief Justice left behind.\x07With it you'll be able to summon Cogs from your Cog Gallery page." -WitnessToonLevelPromotion = "\x07Say--that C.J. Cog left behind your promotion papers.\x07I'll file them for you on the way out, so you'll get your promotion!" -WitnessToonSuitPromotion = "\x07It seems like you've reached the highest level you can for a %s.\x07You can continue upgrading your Cog suit through the disguise page in your Shticker Book.\x07Along with getting a new Cog suit, you will also get a 1 point Laff boost!" -WitnessToonLastPromotion = "\x07Wow, you've reached level %s on your Cog suit!\x07I'm pretty sure Cogs don't get promoted higher than that.\x07You can't upgrade your Cog suit anymore, but you can certainly keep working for the Resistance!!" -WitnessToonMaxed = '\x07I see that you have a level %s Cog suit. Very impressive!\x07On behalf of the Toon Council, thank you for coming back to rescue more Toons!' +WitnessToonLastPromotion = "\x07Wow, you've reached level %s on your Cog Suit!\x07Cogs don't get promoted higher than that.\x07You can't upgrade your Cog Suit anymore, but you can certainly keep working for the Resistance!" +WitnessToonHPBoost = "\x07You've done a lot of work for the Resistance.\x07The Toon Council has decided to give you another Laff point. Congratulations!" +WitnessToonMaxed = '\x07I see that you have a level %s Cog Suit. Very impressive!\x07On behalf of the Toon Council, thank you for coming back to defend more Toons!' WitnessToonBonus = 'Wonderful! All the lawyers are stunned. Your evidence weight is %s times heavier for %s seconds' WitnessToonJuryWeightBonusSingular = {6: 'This is a tough case. You seated %d Toon juror, so your evidence has a bonus weight of %d.', 7: 'This is a very tough case. You seated %d Toon juror, so your evidence has a bonus weight of %d.', @@ -8067,10 +8065,9 @@ BossbotGolfSpotAdvice = 'Use the left and right keys to rotate.\nCtrl to fire.' BossbotRewardSpeech1 = "No! The Chairman won't like this." BossbotRewardSpeech2 = 'Arrrggghhh!!!!' BossbotRTCongratulations = "You did it! You've demoted the C.E.O.!\x07Here, take these pink slips the C.E.O. left behind.\x07With it you'll be able to fire Cogs in a battle." -BossbotRTLevelPromotion = "\x07Say--that C.E.O. Cog left behind your promotion papers.\x07I'll file them for you on the way out, so you'll get your promotion!" -BossbotRTSuitPromotion = "\x07It seems like you've reached the highest level you can for a %s.\x07You can continue upgrading your Cog suit through the disguise page in your Shticker Book.\x07Along with getting a new Cog suit, you will also get a 1 point Laff boost!" -BossbotRTLastPromotion = "\x07Wow, you've reached level %s on your Cog suit!\x07I'm pretty sure Cogs don't get promoted higher than that.\x07You can't upgrade your Cog suit anymore, but you can certainly keep working for the Resistance!!" -BossbotRTMaxed = '\x07I see that you have a level %s Cog suit. Very impressive!\x07On behalf of the Toon Council, thank you for coming back to rescue more Toons!' +BossbotRTHPBoost = "\x07You've done a lot of work for the Resistance.\x07The Toon Council has decided to give you another Laff point. Congratulations!" +BossbotRTMaxed = '\x07I see that you have a level %s Cog Suit. Very impressive!\x07On behalf of the Toon Council, thank you for coming back to defend more Toons!' +BossbotRTLastPromotion = "\x07Wow, you've reached level %s on your Cog Suit!\x07Cogs don't get promoted higher than that.\x07You can't upgrade your Cog Suit anymore, but you can certainly keep working for the Resistance!" GolfAreaAttackTaunt = 'Fore!' OvertimeAttackTaunts = ["It's time to reorganize.", "Now let's downsize."] ElevatorBossBotBoss = 'Bossbot Clubhouse' diff --git a/toontown/toonbase/ToontownGlobals.py b/toontown/toonbase/ToontownGlobals.py index 1f4f657f..f8cb7a1e 100644 --- a/toontown/toonbase/ToontownGlobals.py +++ b/toontown/toonbase/ToontownGlobals.py @@ -14,8 +14,6 @@ CFOElevatorFov = 43.0 CJElevatorFov = 59.0 CEOElevatorFov = 59.0 CBElevatorFov = 42.0 -WantPromotion = 0 -PendingPromotion = 1 CeilingBitmask = BitMask32(256) FloorEventBitmask = BitMask32(16) PieBitmask = BitMask32(256) @@ -99,11 +97,16 @@ FM_RecoveredItem = 4 SPDonaldsBoat = 3 SPMinniesPiano = 4 CEVirtual = 14 -MaxHpLimit = 145 +MaxHpLimit = 137 MaxCarryLimit = 80 MaxQuestCarryLimit = 4 GravityValue = 32.174 -MaxCogSuitLevel = 12 - 1 +MaxCogSuitLevel = 50 - 1 +CogSuitHPLevels = (15 - 1, + 20 - 1, + 30 - 1, + 40 - 1, + 50 - 1) setInterfaceFont(TTLocalizer.InterfaceFont) setSignFont(TTLocalizer.SignFont) from toontown.toontowngui import TTDialog From c030f3be2352e28d6484a6b3580f7acfa96b7706 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 14:45:12 +0300 Subject: [PATCH 06/78] DistributedFindFour compile fix --- toontown/safezone/DistributedFindFour.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toontown/safezone/DistributedFindFour.py b/toontown/safezone/DistributedFindFour.py index d1d97c61..24caa1e9 100644 --- a/toontown/safezone/DistributedFindFour.py +++ b/toontown/safezone/DistributedFindFour.py @@ -15,6 +15,7 @@ from toontown.toonbase import ToontownGlobals from direct.distributed.ClockDelta import * from otp.otpbase import OTPGlobals from direct.showbase import PythonUtil +import random class DistributedFindFour(DistributedNode.DistributedNode): @@ -565,8 +566,7 @@ class DistributedFindFour(DistributedNode.DistributedNode): else: hasfound = False while hasfound == False: - from random import * - x = randint(0, 6) + x = random.randint(0, 6) if self.board[0][x] == 0: self.d_requestMove(x) self.moveCol = None From 1c2548283b9c13c0749c431dc36c8f29aa186f4b Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 15:49:17 +0300 Subject: [PATCH 07/78] Renamed Secrets to True Friends, finish removing, remove Secrets button from friends list (it's only going to be on the toon avatar panel), fix 30000 jb bank, fix treasure chest GUI --- astron/dclass/united.dc | 4 --- otp/chat/ChatManager.py | 36 +++++++++---------- otp/distributed/DCClassImports.py | 2 +- otp/otpbase/OTPLocalizerEnglish.py | 12 +++---- toontown/chat/ToontownChatManager.py | 34 +++++++++--------- toontown/friends/FriendsListPanel.py | 8 ----- toontown/friends/TTUFriendsManager.py | 12 ------- toontown/friends/TTUFriendsManagerUD.py | 34 ++---------------- toontown/toon/ToonAvatarPanel.py | 16 ++++----- toontown/toonbase/TTLocalizerEnglish.py | 3 +- .../toonbase/TTLocalizerEnglishProperty.py | 11 +++--- toontown/toonbase/ToontownGlobals.py | 2 +- 12 files changed, 60 insertions(+), 114 deletions(-) diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index 77ccbe6a..2f58e682 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -210,10 +210,6 @@ dclass FriendManager : DistributedObject { friendResponse(int8, int32); inviteeFriendQuery(int32, string, blob, int32); inviteeCancelFriendQuery(int32); - requestSecret() airecv clsend; - requestSecretResponse(int8, string); - submitSecret(string(0-256)) airecv clsend; - submitSecretResponse(int8, int32); }; struct leaderBoardRecordResponces { diff --git a/otp/chat/ChatManager.py b/otp/chat/ChatManager.py index 31304e5b..ef856764 100644 --- a/otp/chat/ChatManager.py +++ b/otp/chat/ChatManager.py @@ -43,8 +43,8 @@ class ChatManager(DirectObject.DirectObject): self.wantBackgroundFocus = 1 self.__scObscured = 0 self.__normalObscured = 0 - self.noSecretChatAtAll = None - self.noSecretChatAtAllAndNoWhitelist = None + self.noTrueFriendsAtAll = None + self.noTrueFriendsAtAllAndNoWhitelist = None self.fsm = ClassicFSM.ClassicFSM('chatManager', [State.State('off', self.enterOff, self.exitOff), State.State('mainMenu', self.enterMainMenu, self.exitMainMenu), State.State('speedChat', self.enterSpeedChat, self.exitSpeedChat), @@ -52,8 +52,8 @@ class ChatManager(DirectObject.DirectObject): State.State('whisper', self.enterWhisper, self.exitWhisper), State.State('whisperChat', self.enterWhisperChat, self.exitWhisperChat), State.State('whisperSpeedChat', self.enterWhisperSpeedChat, self.exitWhisperSpeedChat), - State.State('noSecretChatAtAll', self.enterNoSecretChatAtAll, self.exitNoSecretChatAtAll), - State.State('noSecretChatAtAllAndNoWhitelist', self.enterNoSecretChatAtAllAndNoWhitelist, self.exitNoSecretChatAtAllAndNoWhitelist), + State.State('noTrueFriendsAtAll', self.enterNoTrueFriendsAtAll, self.exitNoTrueFriendsAtAll), + State.State('noTrueFriendsAtAllAndNoWhitelist', self.enterNoTrueFriendsAtAllAndNoWhitelist, self.exitNoTrueFriendsAtAllAndNoWhitelist), State.State('otherDialog', self.enterOtherDialog, self.exitOtherDialog), State.State('whiteListOpenChat', self.enterWhiteListOpenChat, self.exitWhiteListOpenChat), State.State('whiteListAvatarChat', self.enterWhiteListAvatarChat, self.exitWhiteListAvatarChat)], 'off', 'off') @@ -69,12 +69,12 @@ class ChatManager(DirectObject.DirectObject): del self.chatInputNormal self.chatInputSpeedChat.delete() del self.chatInputSpeedChat - if self.noSecretChatAtAll: - self.noSecretChatAtAll.destroy() - self.noSecretChatAtAll = None - if self.noSecretChatAtAllAndNoWhitelist: - self.noSecretChatAtAllAndNoWhitelist.destroy() - self.noSecretChatAtAllAndNoWhitelist = None + if self.noTrueFriendsAtAll: + self.noTrueFriendsAtAll.destroy() + self.noTrueFriendsAtAll = None + if self.noTrueFriendsAtAllAndNoWhitelist: + self.noTrueFriendsAtAllAndNoWhitelist.destroy() + self.noTrueFriendsAtAllAndNoWhitelist = None del self.localAvatar del self.cr return @@ -280,17 +280,17 @@ class ChatManager(DirectObject.DirectObject): def exitNormalChat(self): self.chatInputNormal.deactivate() - def enterNoSecretChatAtAll(self): - self.notify.error('called enterNoSecretChatAtAll() on parent class') + def enterNoTrueFriendsAtAll(self): + self.notify.error('called enterNoTrueFriendsAtAll() on parent class') - def exitNoSecretChatAtAll(self): - self.notify.error('called exitNoSecretChatAtAll() on parent class') + def exitNoTrueFriendsAtAll(self): + self.notify.error('called exitNoTrueFriendsAtAll() on parent class') - def enterNoSecretChatAtAllAndNoWhitelist(self): - self.notify.error('called enterNoSecretChatAtAllAndNoWhitelist() on parent class') + def enterNoTrueFriendsAtAllAndNoWhitelist(self): + self.notify.error('called enterNoTrueFriendsAtAllAndNoWhitelist() on parent class') - def exitNoSecretChatAtAllAndNoWhitelist(self): - self.notify.error('called exitNoSecretChatAtAllAndNoWhitelist() on parent class') + def exitNoTrueFriendsAtAllAndNoWhitelist(self): + self.notify.error('called exitNoTrueFriendsAtAllAndNoWhitelist() on parent class') def enterOtherDialog(self): pass diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index fa3c60ea..cb8e820b 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,7 @@ from pandac.PandaModules import * -hashVal = 4170776848L +hashVal = 4085944463L from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot diff --git a/otp/otpbase/OTPLocalizerEnglish.py b/otp/otpbase/OTPLocalizerEnglish.py index c7e6ecbf..1a824a25 100644 --- a/otp/otpbase/OTPLocalizerEnglish.py +++ b/otp/otpbase/OTPLocalizerEnglish.py @@ -48,12 +48,12 @@ ChatManagerWhisperToName = 'Whisper To:\n%s' ChatManagerCancel = lCancel ChatManagerWhisperOffline = '%s is offline.' # True Friends -NoSecretChatAtAllTitle = 'Open Chat With True Friends' -NoSecretChatAtAll = 'Open Chat with True Friends allows real-life friends to chat openly with each other by means of a True Friend Code that must be shared outside of the game.\n\nTo activate these features or to learn more, exit Toontown and then click on Membership and select Manage Account. Log in to edit your "Community Settings."' +NoTrueFriendsAtAllTitle = 'Open Chat With True Friends' +NoTrueFriendsAtAll = 'Open Chat with True Friends allows real-life friends to chat openly with each other by means of a True Friend Code that must be shared outside of the game.\n\nTo activate these features or to learn more, exit Toontown and then click on Membership and select Manage Account. Log in to edit your "Community Settings."' # Speedchat Plus -NoSecretChatAtAllAndNoWhitelistTitle = 'Chat Button' -NoSecretChatAtAllAndNoWhitelist = 'You can use the blue Chat button to communicate with other Toons by using Speechat Plus or Open Chat with True Friends.\n\nSpeedchat Plus is a form of type chat that allows users to communicate by using the SpeedChat Plus dictionary.\n\nOpen Chat with True Friends allows real-life friends to chat openly with each other by means of a True Friend Code that must be shared outside of the game.\n\nTo activate these features or to learn more, exit Toontown and then click on Membership and select Manage Account. Log in to edit your "Community Settings."' -NoSecretChatAtAllOK = lOK +NoTrueFriendsAtAllAndNoWhitelistTitle = 'Chat Button' +NoTrueFriendsAtAllAndNoWhitelist = 'You can use the blue Chat button to communicate with other Toons by using Speechat Plus or Open Chat with True Friends.\n\nSpeedchat Plus is a form of type chat that allows users to communicate by using the SpeedChat Plus dictionary.\n\nOpen Chat with True Friends allows real-life friends to chat openly with each other by means of a True Friend Code that must be shared outside of the game.\n\nTo activate these features or to learn more, exit Toontown and then click on Membership and select Manage Account. Log in to edit your "Community Settings."' +NoTrueFriendsAtAllOK = lOK WhisperToFormat = 'To %s %s' WhisperToFormatName = 'To %s' WhisperFromFormatName = '%s whispers' @@ -2252,7 +2252,7 @@ AvatarDetailPanelOnline = 'District: %(district)s\nLocation: %(location)s' AvatarDetailPanelOffline = 'District: offline\nLocation: offline' AvatarPanelFriends = 'Friends' AvatarPanelWhisper = 'Whisper' -AvatarPanelSecrets = 'True Friends' +AvatarPanelTrueFriends = 'True Friends' AvatarPanelGoTo = 'Go To' AvatarPanelIgnore = 'Ignore' AvatarPanelStopIgnore = 'Stop Ignoring' diff --git a/toontown/chat/ToontownChatManager.py b/toontown/chat/ToontownChatManager.py index 83ac3663..a46d6873 100644 --- a/toontown/chat/ToontownChatManager.py +++ b/toontown/chat/ToontownChatManager.py @@ -93,19 +93,19 @@ class ToontownChatManager(ChatManager.ChatManager): else: ChatManager.ChatManager.enterMainMenu(self) - def enterNoSecretChatAtAll(self): - if self.noSecretChatAtAll == None: + def enterNoTrueFriendsAtAll(self): + if self.noTrueFriendsAtAll == None: buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui') okButtonImage = (buttons.find('**/ChtBx_OKBtn_UP'), buttons.find('**/ChtBx_OKBtn_DN'), buttons.find('**/ChtBx_OKBtn_Rllvr')) - self.noSecretChatAtAll = DirectFrame(parent=aspect2dp, pos=(0.0, 0.1, 0.2), relief=None, image=DGG.getDefaultDialogGeom(), image_color=OTPGlobals.GlobalDialogColor, image_scale=(1.4, 1.0, 1.1), text=OTPLocalizer.NoSecretChatAtAll, text_wordwrap=20, textMayChange=0, text_scale=0.06, text_pos=(0, 0.3)) - DirectLabel(parent=self.noSecretChatAtAll, relief=None, pos=(0, 0, 0.4), text=OTPLocalizer.NoSecretChatAtAllTitle, textMayChange=0, text_scale=0.08) - DirectButton(self.noSecretChatAtAll, image=okButtonImage, relief=None, text=OTPLocalizer.NoSecretChatAtAllOK, text_scale=0.05, text_pos=(0.0, -0.1), textMayChange=0, pos=(0.0, 0.0, -0.4), command=self.__handleNoSecretChatAtAllOK) + self.noTrueFriendsAtAll = DirectFrame(parent=aspect2dp, pos=(0.0, 0.1, 0.2), relief=None, image=DGG.getDefaultDialogGeom(), image_color=OTPGlobals.GlobalDialogColor, image_scale=(1.4, 1.0, 1.1), text=OTPLocalizer.NoTrueFriendsAtAll, text_wordwrap=20, textMayChange=0, text_scale=0.06, text_pos=(0, 0.3)) + DirectLabel(parent=self.noTrueFriendsAtAll, relief=None, pos=(0, 0, 0.4), text=OTPLocalizer.NoTrueFriendsAtAllTitle, textMayChange=0, text_scale=0.08) + DirectButton(self.noTrueFriendsAtAll, image=okButtonImage, relief=None, text=OTPLocalizer.NoTrueFriendsAtAllOK, text_scale=0.05, text_pos=(0.0, -0.1), textMayChange=0, pos=(0.0, 0.0, -0.4), command=self.__handleNoTrueFriendsAtAllOK) buttons.removeNode() - self.noSecretChatAtAll.show() + self.noTrueFriendsAtAll.show() return - def exitNoSecretChatAtAll(self): - self.noSecretChatAtAll.hide() + def exitNoTrueFriendsAtAll(self): + self.noTrueFriendsAtAll.hide() def __normalButtonPressed(self): if base.config.GetBool('want-qa-regression', 0): @@ -143,19 +143,19 @@ class ToontownChatManager(ChatManager.ChatManager): self.fsm.request('mainMenu') return - def enterNoSecretChatAtAllAndNoWhitelist(self): - if self.noSecretChatAtAllAndNoWhitelist == None: + def enterNoTrueFriendsAtAllAndNoWhitelist(self): + if self.noTrueFriendsAtAllAndNoWhitelist == None: buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui') okButtonImage = (buttons.find('**/ChtBx_OKBtn_UP'), buttons.find('**/ChtBx_OKBtn_DN'), buttons.find('**/ChtBx_OKBtn_Rllvr')) - self.noSecretChatAtAllAndNoWhitelist = DirectFrame(parent=aspect2dp, pos=(0.0, 0.1, 0.05), relief=None, image=DGG.getDefaultDialogGeom(), image_color=OTPGlobals.GlobalDialogColor, image_scale=(1.4, 1.0, 1.58), text=OTPLocalizer.NoSecretChatAtAllAndNoWhitelist, text_wordwrap=20, textMayChange=0, text_scale=0.06, text_pos=(0, 0.55)) - DirectLabel(parent=self.noSecretChatAtAllAndNoWhitelist, relief=None, pos=(0, 0, 0.67), text=OTPLocalizer.NoSecretChatAtAllAndNoWhitelistTitle, textMayChange=0, text_scale=0.08) - DirectButton(self.noSecretChatAtAllAndNoWhitelist, image=okButtonImage, relief=None, text=OTPLocalizer.NoSecretChatAtAllOK, text_scale=0.05, text_pos=(0.0, -0.1), textMayChange=0, pos=(0.0, 0.0, -0.64), command=self.__handleNoSecretChatAtAllOK) + self.noTrueFriendsAtAllAndNoWhitelist = DirectFrame(parent=aspect2dp, pos=(0.0, 0.1, 0.05), relief=None, image=DGG.getDefaultDialogGeom(), image_color=OTPGlobals.GlobalDialogColor, image_scale=(1.4, 1.0, 1.58), text=OTPLocalizer.NoTrueFriendsAtAllAndNoWhitelist, text_wordwrap=20, textMayChange=0, text_scale=0.06, text_pos=(0, 0.55)) + DirectLabel(parent=self.noTrueFriendsAtAllAndNoWhitelist, relief=None, pos=(0, 0, 0.67), text=OTPLocalizer.NoTrueFriendsAtAllAndNoWhitelistTitle, textMayChange=0, text_scale=0.08) + DirectButton(self.noTrueFriendsAtAllAndNoWhitelist, image=okButtonImage, relief=None, text=OTPLocalizer.NoTrueFriendsAtAllOK, text_scale=0.05, text_pos=(0.0, -0.1), textMayChange=0, pos=(0.0, 0.0, -0.64), command=self.__handleNoTrueFriendsAtAllOK) buttons.removeNode() - self.noSecretChatAtAllAndNoWhitelist.show() + self.noTrueFriendsAtAllAndNoWhitelist.show() return - def exitNoSecretChatAtAllAndNoWhitelist(self): - self.noSecretChatAtAllAndNoWhitelist.hide() + def exitNoTrueFriendsAtAllAndNoWhitelist(self): + self.noTrueFriendsAtAllAndNoWhitelist.hide() def __whisperScButtonPressed(self, avatarName, avatarId): messenger.send('wakeup') @@ -168,7 +168,7 @@ class ToontownChatManager(ChatManager.ChatManager): def __whisperCancelPressed(self): self.fsm.request('mainMenu') - def __handleNoSecretChatAtAllOK(self): + def __handleNoTrueFriendsAtAllOK(self): self.fsm.request('mainMenu') def messageSent(self): diff --git a/toontown/friends/FriendsListPanel.py b/toontown/friends/FriendsListPanel.py index 6748ef6c..f5a792f7 100644 --- a/toontown/friends/FriendsListPanel.py +++ b/toontown/friends/FriendsListPanel.py @@ -138,10 +138,6 @@ class FriendsListPanel(DirectFrame, StateData.StateData): gui.find('**/Horiz_Arrow_Rllvr'), gui.find('**/Horiz_Arrow_UP')), image3_color=Vec4(0.6, 0.6, 0.6, 0.6), pos=(0.17, 0, -0.38), command=self.__right) self.newFriend = DirectButton(parent=self, relief=None, pos=(-0.14, 0.0, 0.14), image=(auxGui.find('**/Frnds_Btn_UP'), auxGui.find('**/Frnds_Btn_DN'), auxGui.find('**/Frnds_Btn_RLVR')), text=('', TTLocalizer.FriendsListPanelNewFriend, TTLocalizer.FriendsListPanelNewFriend), text_scale=TTLocalizer.FLPnewFriend, text_fg=(0, 0, 0, 1), text_bg=(1, 1, 1, 1), text_pos=(0.1, -0.085), textMayChange=0, command=self.__newFriend) - self.secrets = DirectButton(parent=self, relief=None, pos=TTLocalizer.FLPsecretsPos, image=(auxGui.find('**/ChtBx_ChtBtn_UP'), auxGui.find('**/ChtBx_ChtBtn_DN'), auxGui.find('**/ChtBx_ChtBtn_RLVR')), text=('', - TTLocalizer.FriendsListPanelSecrets, - TTLocalizer.FriendsListPanelSecrets, - ''), text_scale=TTLocalizer.FLPsecrets, text_fg=(0, 0, 0, 1), text_bg=(1, 1, 1, 1), text_pos=(-0.04, -0.085), textMayChange=0, command=self.__secrets) gui.removeNode() auxGui.removeNode() return @@ -244,10 +240,6 @@ class FriendsListPanel(DirectFrame, StateData.StateData): self.__updateTitle() self.__updateArrows() - def __secrets(self): - messenger.send('wakeup') - # TODO - def __newFriend(self): messenger.send('wakeup') messenger.send('friendAvatar', [None, None, None]) diff --git a/toontown/friends/TTUFriendsManager.py b/toontown/friends/TTUFriendsManager.py index 87237c36..abfcc22f 100644 --- a/toontown/friends/TTUFriendsManager.py +++ b/toontown/friends/TTUFriendsManager.py @@ -131,18 +131,6 @@ class TTUFriendsManager(DistributedObjectGlobal): if toon: base.localAvatar.setTalkWhisper(fromId, 0, toon.getName(), message, [], 0) - def d_requestSecret(self): - self.sendUpdate('requestSecret', []) - - def requestSecretResponse(self, result, secret): - messenger.send('requestSecretResponse', [result, secret]) - - def d_submitSecret(self, secret): - self.sendUpdate('submitSecret', [secret]) - - def submitSecretResponse(self, result, avId): - messenger.send('submitSecretResponse', [result, avId]) - def d_battleSOS(self, toId): self.sendUpdate('battleSOS', [toId]) diff --git a/toontown/friends/TTUFriendsManagerUD.py b/toontown/friends/TTUFriendsManagerUD.py index 168458ab..3a0eab27 100644 --- a/toontown/friends/TTUFriendsManagerUD.py +++ b/toontown/friends/TTUFriendsManagerUD.py @@ -1,12 +1,8 @@ +from direct.directnotify.DirectNotifyGlobal import directNotify from direct.distributed.DistributedObjectGlobalUD import DistributedObjectGlobalUD from direct.distributed.PyDatagram import * -from direct.task import Task -from direct.directnotify.DirectNotifyGlobal import directNotify -import string -import random -import functools -import time from direct.fsm.FSM import FSM +import time # -- FSMS -- class OperationFSM(FSM): @@ -199,7 +195,6 @@ class TTUFriendsManagerUD(DistributedObjectGlobalUD): self.tpRequests = {} self.whisperRequests = {} self.operations = [] - self.secret2avId = {} self.delayTime = 1.0 # -- Friends list -- @@ -397,31 +392,6 @@ class TTUFriendsManagerUD(DistributedObjectGlobalUD): self.sendUpdateToAvatarId(toId, 'receiveTalkWhisper', [fromId, message]) self.air.writeServerEvent('whisper-said', fromId, toId, message) - # -- Secret Friends -- - def requestSecret(self): - avId = self.air.getAvatarIdFromSender() - allowed = string.lowercase + string.digits - secret = '' - for i in xrange(6): - secret += random.choice(allowed) - if i == 2: - secret += ' ' - self.secret2avId[secret] = avId - self.sendUpdateToAvatarId(avId, 'requestSecretResponse', [1, secret]) - - def submitSecret(self, secret): - requester = self.air.getAvatarIdFromSender() - owner = self.secret2avId.get(secret) - if not owner: - self.sendUpdateToAvatarId(requester, 'submitSecretResponse', [0, 0]) - return - if owner == requester: - del self.secret2avId[secret] - self.sendUpdateToAvatarId(requester, 'submitSecretResponse', [3, 0]) - return - - self.sendUpdateToAvatarId(requester, 'submitSecretResponse', [5, 0]) - # -- Routes -- def battleSOS(self, toId): requester = self.air.getAvatarIdFromSender() diff --git a/toontown/toon/ToonAvatarPanel.py b/toontown/toon/ToonAvatarPanel.py index 2d5e06ab..3899deac 100644 --- a/toontown/toon/ToonAvatarPanel.py +++ b/toontown/toon/ToonAvatarPanel.py @@ -170,7 +170,7 @@ class ToonAvatarPanel(AvatarPanelBase.AvatarPanelBase): if base.localAvatar.isIgnored(self.avId): self.whisperButton['state'] = DGG.DISABLED - self.secretsButton = DirectButton( + self.trueFriendsButton = DirectButton( parent=self.frame, image=( gui.find('**/Amuse_Btn_UP'), @@ -181,20 +181,18 @@ class ToonAvatarPanel(AvatarPanelBase.AvatarPanelBase): image_scale=0.9, relief=None, pos=(-0.103, 0, -0.13), - text=TTLocalizer.AvatarPanelSecrets, + text=TTLocalizer.AvatarPanelTrueFriends, text0_fg=self.text0Color, text1_fg=self.text1Color, text2_fg=self.text2Color, text3_fg=self.text3Color, - text_scale=TTLocalizer.TAPsecretsButton, + text_scale=TTLocalizer.TAPtruefriendsButton, text_pos=(0.055, -0.01), text_align=TextNode.ALeft, - command=self.__handleSecrets) - - + command=self.__handleTrueFriends) if base.localAvatar.isIgnored(self.avId): - self.secretsButton['state'] = DGG.DISABLED + self.trueFriendsButton['state'] = DGG.DISABLED ignoreStr, ignoreCmd, ignoreScale = self.getIgnoreButtonInfo() self.ignoreButton = DirectButton( @@ -294,7 +292,7 @@ class ToonAvatarPanel(AvatarPanelBase.AvatarPanelBase): self.reportButton['state'] = DGG.DISABLED self.ignoreButton['state'] = DGG.DISABLED self.goToButton['state'] = DGG.DISABLED - self.secretsButton['state'] = DGG.DISABLED + self.trueFriendsButton['state'] = DGG.DISABLED self.whisperButton['state'] = DGG.DISABLED self.petButton['state'] = DGG.DISABLED self.friendButton['state'] = DGG.DISABLED @@ -366,7 +364,7 @@ class ToonAvatarPanel(AvatarPanelBase.AvatarPanelBase): def __handleWhisper(self): base.localAvatar.chatMgr.whisperTo(self.avName, self.avId) - def __handleSecrets(self): + def __handleTrueFriends(self): base.localAvatar.chatMgr.noWhisper() # TODO diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index 1dad0ade..d6d2238d 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -1904,7 +1904,7 @@ AvatarDetailPanelOffline = 'District: offline\nLocation: offline' OfflineLocation = 'Offline' AvatarPanelFriends = 'Friends' AvatarPanelWhisper = 'Whisper' -AvatarPanelSecrets = 'True Friends' +AvatarPanelTrueFriends = 'True Friends' AvatarPanelGoTo = 'Go To' AvatarPanelPet = 'Show Doodle' AvatarPanelIgnore = 'Ignore' @@ -3238,7 +3238,6 @@ ScientistPhase6Dialogue = ['Congratulations Toons!', 'So in the meantime, keep up the Cog fight...', 'And enjoy the silliest place ever, Toontown!'] FriendsListPanelNewFriend = 'New Friend' -FriendsListPanelSecrets = 'True Friend' FriendsListPanelOnlineFriends = 'ONLINE TOON\nFRIENDS' FriendsListPanelAllFriends = 'ALL TOON\nFRIENDS' FriendsListPanelPets = 'NEARBY\nPETS' diff --git a/toontown/toonbase/TTLocalizerEnglishProperty.py b/toontown/toonbase/TTLocalizerEnglishProperty.py index b2e886d9..43ffffbd 100644 --- a/toontown/toonbase/TTLocalizerEnglishProperty.py +++ b/toontown/toonbase/TTLocalizerEnglishProperty.py @@ -42,17 +42,20 @@ DGGGscoreLabel = 0.075 FPvaluePos = (0, 0, -0.35) FPvalue = 0.05 FPinfo = 0.055 +FSGUIdirectFrame = 0.06 +FSGUIcancelButton = 0.06 +FSGUIokButton = 0.06 GTenterPage2Wordwrap = 13.5 GTenterPage4Wordwrap = 16.5 BCGjpText = 0.04 BCGjpTextWordwrap = 10.5 BCGnextGame = 1.71 +FSGUIokButton = 0.06 +FSGUIcancelButton = 0.06 FPnewEntry = 0.08 FPnewRecord = 0.08 GPgenus = 0.045 FLPnewFriend = 0.045 -FLPsecrets = 0.045 -FLPsecretsPos = (0.152, 0.0, 0.14) FLPtitle = 0.04 FIbStop = 0.05 FIdirectFrame = 0.06 @@ -250,7 +253,7 @@ GPtrophyTabPos = (0.92, 0, -0.3) APBdialog = 0.06 APBdirectLabelPosY = 0 TAPwhisperButton = 0.06 -TAPsecretsButton = 0.045 +TAPtruefriendsButton = 0.045 TAPgroupFrame = 0.05 TAPgroupButton = 0.055 TADPbCancel = 0.05 @@ -267,7 +270,7 @@ INrunButton = 0.05 INdetailNameLabel = 1.0 INfireButton = 0.05 NPCFimgLabel = 1.0 -PIPsecretsButton = 0.045 +PIPtrueFriendsButton = 0.045 PIPwisperButton = 0.06 PIPdetailButton = 0.05 TLStip = 0.18 diff --git a/toontown/toonbase/ToontownGlobals.py b/toontown/toonbase/ToontownGlobals.py index 5dfdb5c6..7cba83ed 100644 --- a/toontown/toonbase/ToontownGlobals.py +++ b/toontown/toonbase/ToontownGlobals.py @@ -1565,7 +1565,7 @@ AnimPropTypes = Enum(('Unknown', 'Trashcan'), start=-1) EmblemTypes = Enum(('Silver', 'Gold')) NumEmblemTypes = 2 -MaxBankMoney = 25000 +MaxBankMoney = 30000 DefaultBankItemId = 1300 ToonAnimStates = set(['off', 'neutral', From e4f3e4a8109fc4f1ef0382ed9a59620957c60a98 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 18:48:02 +0300 Subject: [PATCH 08/78] No disney chars in the name accepted screen --- .../distributed/ToontownClientRepository.py | 2 ++ toontown/makeatoon/NameShop.py | 17 ----------------- toontown/toonbase/TTLocalizerEnglish.py | 1 - 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/toontown/distributed/ToontownClientRepository.py b/toontown/distributed/ToontownClientRepository.py index e697d0f0..8acd3619 100644 --- a/toontown/distributed/ToontownClientRepository.py +++ b/toontown/distributed/ToontownClientRepository.py @@ -129,7 +129,9 @@ class ToontownClientRepository(OTPClientRepository.OTPClientRepository): def congratulations(self, avatarChoice): self.acceptedScreen = loader.loadModel('phase_3/models/gui/toon_council') + self.acceptedScreen.find('**/chars').removeNode() self.acceptedScreen.setScale(0.667) + self.acceptedScreen.setPos(0, 0, 0.2) self.acceptedScreen.reparentTo(aspect2d) base.setBackgroundColor(Vec4(0.7647, 0.3529, 0.2352, 1)) buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui') diff --git a/toontown/makeatoon/NameShop.py b/toontown/makeatoon/NameShop.py index 44e0e485..b91e79e0 100644 --- a/toontown/makeatoon/NameShop.py +++ b/toontown/makeatoon/NameShop.py @@ -78,11 +78,9 @@ class NameShop(StateData.StateData): State.State('PickAName', self.enterPickANameState, self.exitPickANameState, ['TypeAName', 'Done']), State.State('TypeAName', self.enterTypeANameState, self.exitTypeANameState, ['PickAName', 'Approval', - 'Accepted', 'Rejected']), State.State('Approval', self.enterApprovalState, self.exitApprovalState, ['PickAName', 'ApprovalAccepted']), State.State('ApprovalAccepted', self.enterApprovalAcceptedState, self.exitApprovalAcceptedState, ['Done']), - State.State('Accepted', self.enterAcceptedState, self.exitAcceptedState, ['Done']), State.State('Rejected', self.enterRejectedState, self.exitRejectedState, ['TypeAName']), State.State('Done', self.enterDone, self.exitDone, ['Init'])], 'Init', 'Done') self.parentFSM = makeAToon.fsm @@ -764,21 +762,6 @@ class NameShop(StateData.StateData): def exitApprovalAcceptedState(self): pass - def enterAcceptedState(self): - self.notify.debug('enterAcceptedState') - self.acceptedDialog = TTDialog.TTGlobalDialog(doneEvent='acceptedDone', message=TTLocalizer.NameShopNameAccepted, style=TTDialog.Acknowledge) - self.acceptedDialog.show() - self.acceptOnce('acceptedDone', self.__handleAccepted) - - def __handleAccepted(self): - self.acceptedDialog.cleanup() - self.doneStatus = 'done' - self.storeSkipTutorialRequest() - messenger.send(self.doneEvent) - - def exitAcceptedState(self): - pass - def enterRejectedState(self): self.notify.debug('enterRejectedState') self.rejectedDialog = TTDialog.TTGlobalDialog(doneEvent='rejectedDone', message=TTLocalizer.NameShopNameRejected, style=TTDialog.Acknowledge) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index d6d2238d..e5c3c2b1 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -4485,7 +4485,6 @@ PleaseTypeName = 'Please type your name:' AllNewNames = 'All new names must be\napproved by the Toon Council.' NameMessages = 'Be creative, and remember:\nno NPC names, please.' NameShopNameRejected = 'The name you\nsubmitted has\nbeen rejected.' -NameShopNameAccepted = 'Congratulations!\nThe name you\nsubmitted has\nbeen accepted!' NoPunctuation = "You can't use punctuation marks in your name!" PeriodOnlyAfterLetter = 'You can use a period in your name, but only after a letter.' ApostropheOnlyAfterLetter = 'You can use an apostrophe in your name, but only after a letter.' From 64799138652650b18f41560fdc1aeccf518d6d47 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 18:58:33 +0300 Subject: [PATCH 09/78] Crashed piano easter egg (I left the cream disabled cause it's gay) --- toontown/building/DistributedHQInterior.py | 1 - 1 file changed, 1 deletion(-) diff --git a/toontown/building/DistributedHQInterior.py b/toontown/building/DistributedHQInterior.py index 34d6566e..6eae4c03 100644 --- a/toontown/building/DistributedHQInterior.py +++ b/toontown/building/DistributedHQInterior.py @@ -27,7 +27,6 @@ class DistributedHQInterior(DistributedObject.DistributedObject): self.interior = loader.loadModel('phase_3.5/models/modules/HQ_interior') self.interior.reparentTo(render) self.interior.find('**/cream').hide() - self.interior.find('**/crashed_piano').hide() self.buildLeaderBoard() def announceGenerate(self): From fb07a16d6c6f62f07260dcfb7e1a1c69eb515ef7 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 19:26:32 +0300 Subject: [PATCH 10/78] Fix pet friend inviting --- toontown/friends/FriendInviter.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/toontown/friends/FriendInviter.py b/toontown/friends/FriendInviter.py index 36b6f928..06c44890 100644 --- a/toontown/friends/FriendInviter.py +++ b/toontown/friends/FriendInviter.py @@ -179,6 +179,9 @@ class FriendInviter(DirectFrame): def enterCheckAvailability(self): self.accept(self.avDisableName, self.__handleDisableAvatar) + if base.localAvatar.hasPet() and base.localAvatar.getPetId() == self.avId: + self.fsm.request('askingPet') + return if self.avId not in base.cr.doId2do: self.fsm.request('wentAway') return @@ -262,13 +265,12 @@ class FriendInviter(DirectFrame): return Task.done def enterAskingPet(self): - self['text'] = OTPLocalizer.FriendInviterAskingPet % self.getName() - if base.localAvatar.hasPet(): - if base.localAvatar.getPetId() == self.avId: - self['text'] = OTPLocalizer.FriendInviterAskingMyPet % self.getName() + if base.localAvatar.hasPet() and base.localAvatar.getPetId() == self.avId: + self['text'] = OTPLocalizer.FriendInviterAskingMyPet % self.getName() + else: + self['text'] = OTPLocalizer.FriendInviterAskingPet % self.getName() self.context = None self.bOk.show() - return def exitAskingPet(self): self.bOk.hide() From 694122266e91966f231f859d21bf0a464c619b0d Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 19:54:42 +0300 Subject: [PATCH 11/78] Killed cpickle air_cancer, unused flagAv method, useless PetDCImports class (WTF!) --- astron/databases/air_cache/.gitignore | 1 - astron/dclass/united.dc | 3 +- otp/distributed/DCClassImports.py | 4 +- toontown/pets/PetDCImports.py | 2 - toontown/pets/PetDCImportsAI.py | 2 - toontown/pets/PetManagerAI.py | 28 ++---- toontown/toon/DistributedToonAI.py | 131 ++------------------------ toontown/toon/DistributedToonUD.py | 3 - 8 files changed, 21 insertions(+), 153 deletions(-) delete mode 100644 astron/databases/air_cache/.gitignore delete mode 100644 toontown/pets/PetDCImports.py delete mode 100644 toontown/pets/PetDCImportsAI.py diff --git a/astron/databases/air_cache/.gitignore b/astron/databases/air_cache/.gitignore deleted file mode 100644 index 73350e1b..00000000 --- a/astron/databases/air_cache/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.pets \ No newline at end of file diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index 2f58e682..6f898d3f 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -412,7 +412,7 @@ from toontown.coghq import DistributedMintBattle/AI from toontown.coghq import DistributedStage/AI from toontown.coghq import DistributedStageRoom/AI from toontown.coghq import DistributedStageBattle/AI -from toontown.pets.PetDCImports/AI import * +from toontown.pets.DistributedPet/AI import * from toontown.pets import DistributedPetProxy/AI from toontown.distributed import ToontownDistrict/AI from toontown.distributed import ToontownDistrictStats/AI @@ -828,7 +828,6 @@ dclass DistributedToon : DistributedPlayer { setNeverStartedPartyRefunded(uint64, int8, uint16) ownrecv; setDISLname(string) ram; setDISLid(uint32) ram db airecv; - flagAv(uint32, uint16, string []) airecv ownsend; setAnimalSound(uint8 index) ram broadcast ownrecv; setBuffs(uint32[] = []) required ownrecv db; setRedeemedCodes(string [] = []) required ownrecv db; diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index cb8e820b..e408ed6f 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,7 @@ from pandac.PandaModules import * -hashVal = 4085944463L +hashVal = 2027986859 from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot @@ -18,7 +18,6 @@ from toontown.ai import WelcomeValleyManager, NewsManager, DistributedAprilToons from otp.chat import ChatAgent from toontown.parties.GlobalPartyManager import GlobalPartyManager from toontown.racing.DistributedStartingBlock import DistributedViewingBlock -from toontown.pets.PetDCImports import * from toontown.suit import DistributedSuitPlanner, DistributedSuitBase, DistributedSuit, DistributedTutorialSuit, DistributedFactorySuit, DistributedMintSuit, DistributedStageSuit, DistributedSellbotBoss, DistributedCashbotBoss, DistributedCashbotBossGoon, DistributedGoon, DistributedGridGoon, DistributedLawbotBoss, DistributedLawbotBossSuit, DistributedBossbotBoss from toontown.distributed import ToontownDistrict, ToontownDistrictStats, DistributedTimer from toontown.effects import DistributedFireworkShow @@ -28,6 +27,7 @@ from toontown.minigame import DistributedMinigame, DistributedMinigameTemplate, from toontown.racing import DistributedVehicle, DistributedStartingBlock, DistributedRace, DistributedKartPad, DistributedRacePad, DistributedViewPad, DistributedStartingBlock, DistributedLeaderBoard, DistributedGag, DistributedProjectile from toontown.catalog import CatalogManager, AccountDate from toontown.parties import DistributedParty, DistributedPartyActivity, DistributedPartyTeamActivity, DistributedPartyCannon, DistributedPartyCannonActivity, DistributedPartyCatchActivity, DistributedPartyWinterCatchActivity, DistributedPartyCogActivity, DistributedPartyWinterCogActivity, DistributedPartyFireworksActivity, DistributedPartyDanceActivityBase, DistributedPartyDanceActivity, DistributedPartyDance20Activity, DistributedPartyValentineDanceActivity, DistributedPartyValentineDance20Activity, DistributedPartyTrampolineActivity, DistributedPartyValentineTrampolineActivity, DistributedPartyVictoryTrampolineActivity, DistributedPartyWinterTrampolineActivity, DistributedPartyTugOfWarActivity, DistributedPartyJukeboxActivityBase, DistributedPartyJukeboxActivity, DistributedPartyJukebox40Activity, DistributedPartyValentineJukeboxActivity, DistributedPartyValentineJukebox40Activity +from toontown.pets.DistributedPet import * from toontown.friends import TTUFriendsManager from toontown.cogdominium import DistributedCogdoInterior, DistributedCogdoBattleBldg, DistributedCogdoElevatorExt, DistributedCogdoElevatorInt, DistributedCogdoBarrel, DistCogdoGame, DistCogdoLevelGame, DistCogdoBoardroomGame, DistCogdoCraneGame, DistCogdoMazeGame, DistCogdoFlyingGame, DistCogdoCrane, DistCogdoCraneMoneyBag, DistCogdoCraneCog from toontown.uberdog.ARGManager import ARGManager diff --git a/toontown/pets/PetDCImports.py b/toontown/pets/PetDCImports.py deleted file mode 100644 index 09d5b9e2..00000000 --- a/toontown/pets/PetDCImports.py +++ /dev/null @@ -1,2 +0,0 @@ -if hasattr(base, 'wantPets') and base.wantPets: - import DistributedPet diff --git a/toontown/pets/PetDCImportsAI.py b/toontown/pets/PetDCImportsAI.py deleted file mode 100644 index fb2b5c86..00000000 --- a/toontown/pets/PetDCImportsAI.py +++ /dev/null @@ -1,2 +0,0 @@ -if hasattr(simbase, 'wantPets') and simbase.wantPets: - import DistributedPetAI diff --git a/toontown/pets/PetManagerAI.py b/toontown/pets/PetManagerAI.py index 2ee18b96..3bbb0ccd 100644 --- a/toontown/pets/PetManagerAI.py +++ b/toontown/pets/PetManagerAI.py @@ -1,8 +1,5 @@ -from direct.fsm.FSM import FSM -import PetUtil, PetDNA -from toontown.toonbase import ToontownGlobals -from toontown.toonbase import TTLocalizer -import cPickle, time, random, os +from toontown.toonbase import ToontownGlobals, TTLocalizer +import PetUtil, PetDNA, time, random MINUTE = 60 HOUR = 60 * MINUTE @@ -12,20 +9,13 @@ def getDayId(): return int(time.time() // DAY) class PetManagerAI: - NUM_DAILY_PETS = 5 # Per hood. - cachePath = config.GetString('air-pet-cache', 'astron/databases/air_cache/') + NUM_DAILY_PETS = 5 def __init__(self, air): self.air = air - self.cacheFile = '%spets_%d.pets' % (self.cachePath, self.air.districtId) - if os.path.isfile(self.cacheFile): - with open(self.cacheFile, 'rb') as f: - data = f.read() - - self.seeds = cPickle.loads(data) - if self.seeds.get('day', -1) != getDayId() or len(self.seeds.get(ToontownGlobals.ToontownCentral, [])) != self.NUM_DAILY_PETS: - self.generateSeeds() - else: + self.seeds = simbase.backups.load('pet-seeds', (self.air.districtId,), default={}) + + if self.seeds.get('day', -1) != getDayId() or len(self.seeds.get(ToontownGlobals.ToontownCentral, [])) != self.NUM_DAILY_PETS: self.generateSeeds() def generateSeeds(self): @@ -38,9 +28,7 @@ class PetManagerAI: self.seeds[hood] = [seeds.pop() for _ in xrange(self.NUM_DAILY_PETS)] self.seeds['day'] = getDayId() - - with open(self.cacheFile, 'wb') as f: - f.write(cPickle.dumps(self.seeds)) + simbase.backups.save('pet-seeds', (self.air.districtId,), self.seeds) def getAvailablePets(self, seed, safezoneId): if self.seeds.get('day', -1) != getDayId(): @@ -78,4 +66,4 @@ class PetManagerAI: if pet: if pet in self.air.doId2do: self.air.doId2do[pet].requestDelete() - av.b_setPetId(0) + av.b_setPetId(0) \ No newline at end of file diff --git a/toontown/toon/DistributedToonAI.py b/toontown/toon/DistributedToonAI.py index 86c28d2f..d1970944 100644 --- a/toontown/toon/DistributedToonAI.py +++ b/toontown/toon/DistributedToonAI.py @@ -1,55 +1,36 @@ +from pandac.PandaModules import * from direct.directnotify import DirectNotifyGlobal from direct.distributed import DistributedSmoothNodeAI from direct.distributed.ClockDelta import * from direct.distributed.MsgTypes import * from direct.distributed.PyDatagram import PyDatagram from direct.task import Task -from pandac.PandaModules import * -import random -import time -import re - -import Experience -import InventoryBase -from NPCToons import npcFriends -import ToonDNA from otp.ai.AIBaseGlobal import * from otp.ai.MagicWordGlobal import * -from otp.avatar import DistributedAvatarAI -from otp.avatar import DistributedPlayerAI -from otp.otpbase import OTPGlobals -from otp.otpbase import OTPLocalizer +from otp.avatar import DistributedAvatarAI, DistributedPlayerAI +from otp.otpbase import OTPGlobals, OTPLocalizer from toontown.battle import SuitBattleGlobals -from toontown.catalog import CatalogAccessoryItem -from toontown.catalog import CatalogItem -from toontown.catalog import CatalogItemList +from toontown.catalog import CatalogAccessoryItem, CatalogItem, CatalogItemList from toontown.chat import ResistanceChat from toontown.coghq import CogDisguiseGlobals -from toontown.estate import FlowerBasket -from toontown.estate import FlowerCollection -from toontown.estate import GardenGlobals -from toontown.fishing import FishCollection -from toontown.fishing import FishTank +from toontown.estate import FlowerBasket, FlowerCollection, GardenGlobals +from toontown.fishing import FishCollection, FishTank from toontown.golf import GolfGlobals from toontown.hood import ZoneUtil -from toontown.minigame import MinigameCreatorAI from toontown.parties import PartyGlobals from toontown.parties.InviteInfo import InviteInfoBase from toontown.parties.PartyGlobals import InviteStatus from toontown.parties.PartyInfo import PartyInfoAI from toontown.parties.PartyReplyInfo import PartyReplyInfoBase -from toontown.quest import QuestRewardCounter -from toontown.quest import Quests +from toontown.quest import QuestRewardCounter, Quests from toontown.racing import RaceGlobals from toontown.shtiker import CogPageGlobals from toontown.suit import SuitDNA from toontown.toon import NPCToons -from toontown.toonbase import TTLocalizer -from toontown.toonbase import ToontownBattleGlobals -from toontown.toonbase import ToontownGlobals +from toontown.toonbase import TTLocalizer, ToontownBattleGlobals, ToontownGlobals from toontown.toonbase.ToontownGlobals import * -from toontown.toonbase.TTLocalizerEnglish import SuitNameDropper - +from NPCToons import npcFriends +import Experience, InventoryBase, ToonDNA, random, time if simbase.wantPets: from toontown.pets import PetLookerAI, PetObserve @@ -72,8 +53,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo ToontownGlobals.FT_Leg: (CogDisguiseGlobals.leftLegIndex, CogDisguiseGlobals.rightLegIndex), ToontownGlobals.FT_Arm: (CogDisguiseGlobals.leftArmIndex, CogDisguiseGlobals.rightArmIndex), ToontownGlobals.FT_Torso: (CogDisguiseGlobals.torsoIndex,)} - lastFlagAvTime = globalClock.getFrameTime() - flagCounts = {} petId = None def __init__(self, air): @@ -85,7 +64,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo self.air = air self.dna = ToonDNA.ToonDNA() - self.magicWordDNABackups = {} self.inventory = None self.fishCollection = None self.fishTank = None @@ -2108,7 +2086,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo return 0 def restockAllResistanceMessages(self, charges = 1): - from toontown.chat import ResistanceChat msgs = [] for menuIndex in ResistanceChat.resistanceMenu: for itemIndex in ResistanceChat.getItems(menuIndex): @@ -3583,9 +3560,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo senderId = self.air.getAvatarIdFromSender() eventStr = 'senderId=%s ' % senderId eventStr += eventName - strSearch = re.compile('AvatarHackWarning! nodename') - if strSearch.search(eventName, 0, 100): - self.air.district.recordSuspiciousEventData(len(eventStr)) self.air.writeServerEvent('suspicious', self.doId, eventStr) if simbase.config.GetBool('want-ban-setAnimState', True): if eventName.startswith('setAnimState: '): @@ -4009,91 +3983,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo def staticGetLogicalZoneChangeAllEvent(): return 'DOLogicalChangeZone-all' - def flagAv(self, avId, reason, params): - self.notify.debug('reason: %s timepassed: %s' % (reason, globalClock.getFrameTime() - DistributedToonAI.lastFlagAvTime)) - if reason == AV_FLAG_REASON_TOUCH and globalClock.getFrameTime() - DistributedToonAI.lastFlagAvTime > AV_TOUCH_CHECK_DELAY_AI: - DistributedToonAI.lastFlagAvTime = globalClock.getFrameTime() - av = self.air.doId2do.get(avId) - otherAv = self.air.doId2do.get(int(params[0])) - self.notify.debug('checking suspicious avatar positioning %s for %s with %s' % (avId, reason, params)) - if av and otherAv and isinstance(av, DistributedToonAI) and isinstance(otherAv, DistributedToonAI) and av.zoneId == otherAv.zoneId and av.zoneId not in MinigameCreatorAI.MinigameZoneRefs: - self.notify.debug('...in zone %s' % av.zoneId) - componentNode = av.getParent().attachNewNode('blah') - componentNode.setPos(av.getComponentX(), av.getComponentY(), av.getComponentZ()) - avPos = componentNode.getPos(av.getRender()) - componentNode.reparentTo(otherAv.getParent()) - componentNode.setPos(otherAv.getComponentX(), otherAv.getComponentY(), otherAv.getComponentZ()) - otherAvPos = componentNode.getPos(otherAv.getRender()) - componentNode.removeNode() - zDist = avPos.getZ() - otherAvPos.getZ() - avPos2D = copy.copy(avPos) - avPos2D.setZ(0) - otherAvPos2D = copy.copy(otherAvPos) - otherAvPos2D.setZ(0) - moveVec = avPos2D - otherAvPos2D - dist = moveVec.length() - self.notify.debug('2d dist between avs is %s %s %s' % (dist, avPos, otherAvPos)) - if dist < AV_TOUCH_CHECK_DIST and zDist < AV_TOUCH_CHECK_DIST_Z: - self.notify.debug('...moving!') - if dist == 0.0: - moveVec = Vec3(1.0, 0, 0) - else: - moveVec.normalize() - moveVec = moveVec * AV_TOUCH_CHECK_DIST - avHpr = av.getHpr(av.getRender()) - newX = avPos.getX() + moveVec.getX() - newY = avPos.getY() + moveVec.getY() - newZ = avPos.getZ() + moveVec.getZ() - newH = avHpr.getX() - newP = avHpr.getY() - newR = avHpr.getZ() - av.setPosHpr(av.getRender(), newX, newY, newZ, newH, newP, newR) - newAvPos = av.getPos() - if newAvPos.getX() > 3000 or newAvPos.getX() < -3000 or newAvPos.getY() > 3000 or newAvPos.getY() < -3000: - return - av.d_setXY(newAvPos.getX(), newAvPos.getY()) - self.notify.debug('setting ai pos: %s %s %s and sending pos: %s' % (newX, - newY, - newZ, - newAvPos)) - if len(DistributedToonAI.flagCounts) > AV_FLAG_HISTORY_LEN: - DistributedToonAI.flagCounts = {} - avPairKey = str(min(av.doId, otherAv.doId)) + '+' + str(max(av.doId, otherAv.doId)) - prevCount = DistributedToonAI.flagCounts.setdefault(avPairKey, [{}, globalClock.getFrameTime(), {}]) - if av.doId not in prevCount[2]: - prevCount[2][av.doId] = [None, None] - if av.doId not in prevCount[0]: - prevCount[0][av.doId] = 0 - self.notify.debug('moving av %s, newPos: %s oldPos: %s' % (av.doId, prevCount[2][av.doId], avPos)) - if prevCount[2][av.doId][0] == None or prevCount[2][av.doId][1] == None: - pass - elif prevCount[2][av.doId][0] != avPos.getX() or prevCount[2][av.doId][1] != avPos.getY(): - prevCount[0][av.doId] += 1 - prevCount[2][av.doId] = [newX, newY] - if prevCount[0][av.doId] > AV_TOUCH_COUNT_LIMIT: - if globalClock.getFrameTime() - prevCount[1] < AV_TOUCH_COUNT_TIME: - zoneId = not hasattr(av, 'zoneId') and 'undef' or av.zoneId - battleId = not hasattr(av, 'battleId') and 'undef' or av.battleId - animName = not hasattr(av, 'animName') and 'undef' or av.animName - inEstate = not hasattr(av, 'isInEstate') and 'undef' or av.isInEstate() - ghostMode = not hasattr(av, 'ghostMode') and 'undef' or av.ghostMode - immortalMode = not hasattr(av, 'immortalMode') and 'undef' or av.immortalMode - isGm = not hasattr(av, '_isGM') and 'undef' or av._isGM - valStr = '%s %s %s %s %s %s %s %s' % (otherAv.doId, - zoneId, - battleId, - animName, - inEstate, - ghostMode, - immortalMode, - isGm) - self.notify.info('av %s is consistently in an inappropriate position with %s...' % (av.doId, valStr)) - self.air.writeServerEvent('suspicious', avId, ' consistently in an inappropriate position with toon %s' % valStr) - response = simbase.config.GetString('toon-pos-hack-response', 'nothing') - av.handleHacking(response, 'collision and position hacking', [otherAv]) - del DistributedToonAI.flagCounts[avPairKey] - return - def handleHacking(self, response, comment, coconspirators = []): if response == 'quietzone': self.b_setLocation(self.parentId, ToontownGlobals.QuietZone) diff --git a/toontown/toon/DistributedToonUD.py b/toontown/toon/DistributedToonUD.py index 312ea9e6..bc14f753 100644 --- a/toontown/toon/DistributedToonUD.py +++ b/toontown/toon/DistributedToonUD.py @@ -541,8 +541,5 @@ class DistributedToonUD(DistributedObjectUD): def setDISLid(self, todo0): pass - def flagAv(self, todo0, todo1, todo2): - pass - def setRedeemedCodes(self, redeemedCodes): pass \ No newline at end of file From db9dacb624e2395bdc63dc98faf094b9651215a8 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 20:02:48 +0300 Subject: [PATCH 12/78] Import cleanup --- toontown/coghq/DistributedFactoryAI.py | 10 ++------ toontown/coghq/DistributedGolfGreenGame.py | 10 ++------ toontown/coghq/DistributedLawOfficeAI.py | 14 ++--------- toontown/coghq/DistributedLawOfficeFloorAI.py | 18 +++---------- toontown/estate/DistributedGarden.py | 19 +++----------- toontown/estate/GardenProgressMeter.py | 25 +++++-------------- 6 files changed, 19 insertions(+), 77 deletions(-) diff --git a/toontown/coghq/DistributedFactoryAI.py b/toontown/coghq/DistributedFactoryAI.py index 26350389..2b1c4f95 100644 --- a/toontown/coghq/DistributedFactoryAI.py +++ b/toontown/coghq/DistributedFactoryAI.py @@ -1,16 +1,10 @@ -from otp.level import DistributedLevelAI from direct.directnotify import DirectNotifyGlobal -import cPickle -import LevelSuitPlannerAI -import FactoryBase from direct.task import Task -import FactoryEntityCreatorAI -import FactorySpecs -from otp.level import LevelSpec -import CogDisguiseGlobals +from otp.level import DistributedLevelAI, LevelSpec from toontown.suit import DistributedFactorySuitAI from toontown.toonbase import ToontownGlobals, ToontownBattleGlobals from toontown.coghq import DistributedBattleFactoryAI +import FactoryBase, FactoryEntityCreatorAI, FactorySpecs, LevelSuitPlannerAI class DistributedFactoryAI(DistributedLevelAI.DistributedLevelAI, FactoryBase.FactoryBase): notify = DirectNotifyGlobal.directNotify.newCategory('DistributedFactoryAI') diff --git a/toontown/coghq/DistributedGolfGreenGame.py b/toontown/coghq/DistributedGolfGreenGame.py index e16fb483..9e9dbfbf 100644 --- a/toontown/coghq/DistributedGolfGreenGame.py +++ b/toontown/coghq/DistributedGolfGreenGame.py @@ -4,7 +4,6 @@ from direct.particles import ParticleEffect from StomperGlobals import * from direct.distributed import ClockDelta from direct.showbase.PythonUtil import lerp -import math from otp.level import DistributedEntity from direct.directnotify import DirectNotifyGlobal from pandac.PandaModules import NodePath @@ -17,19 +16,14 @@ from toontown.toonbase import ToontownBattleGlobals from direct.distributed.ClockDelta import * from toontown.golf import BuildGeometry from direct.gui.DirectGui import * -import random from direct.showbase import RandomNumGen -import GameSprite3D -from math import pi -import math -import random -import cPickle from toontown.distributed import DelayDelete from toontown.toon import ToonHeadFrame from toontown.battle import BattleParticles from toontown.battle import MovieUtil -import time from toontown.toonbase import ToontownTimer +from math import pi +import GameSprite3D, math, random class DistributedGolfGreenGame(BattleBlocker.BattleBlocker): notify = DirectNotifyGlobal.directNotify.newCategory('DistributedGolfGreenGame') diff --git a/toontown/coghq/DistributedLawOfficeAI.py b/toontown/coghq/DistributedLawOfficeAI.py index c7d01617..1e54fb41 100644 --- a/toontown/coghq/DistributedLawOfficeAI.py +++ b/toontown/coghq/DistributedLawOfficeAI.py @@ -1,10 +1,3 @@ -import cPickle - -import CogDisguiseGlobals -import FactoryEntityCreatorAI -import FactorySpecs -import LawOfficeBase -import LevelSuitPlannerAI from direct.directnotify import DirectNotifyGlobal from direct.distributed.DistributedObjectAI import * from direct.showbase import PythonUtil @@ -13,13 +6,10 @@ from otp.level import DistributedLevelAI from otp.level import LevelSpec from toontown.ai.ToonBarrier import * from toontown.building import DistributedElevatorFloorAI -from toontown.coghq import DistributedBattleFactoryAI -from toontown.coghq import DistributedLawOfficeElevatorIntAI -from toontown.coghq import DistributedLawOfficeFloorAI -from toontown.coghq import LawOfficeLayout +from toontown.coghq import DistributedBattleFactoryAI, DistributedLawOfficeElevatorIntAI, DistributedLawOfficeFloorAI, LawOfficeLayout from toontown.suit import DistributedFactorySuitAI from toontown.toonbase import ToontownGlobals, ToontownBattleGlobals - +import FactoryEntityCreatorAI, FactorySpecs, LawOfficeBase, LevelSuitPlannerAI class DistributedLawOfficeAI(DistributedObjectAI, LawOfficeBase.LawOfficeBase): notify = DirectNotifyGlobal.directNotify.newCategory('DistributedLawOfficeAI') diff --git a/toontown/coghq/DistributedLawOfficeFloorAI.py b/toontown/coghq/DistributedLawOfficeFloorAI.py index 0a5fb334..6385d28b 100644 --- a/toontown/coghq/DistributedLawOfficeFloorAI.py +++ b/toontown/coghq/DistributedLawOfficeFloorAI.py @@ -1,22 +1,12 @@ -import cPickle - -import CogDisguiseGlobals -import FactoryEntityCreatorAI -import FactorySpecs -import LawOfficeBase -import LevelSuitPlannerAI from direct.directnotify import DirectNotifyGlobal from direct.distributed import DistributedObjectAI from direct.task import Task -from otp.level import DistributedLevelAI -from otp.level import LevelSpec +from otp.level import DistributedLevelAI, LevelSpec from toontown.ai.ToonBarrier import * -from toontown.coghq import DistributedBattleFactoryAI -from toontown.coghq import DistributedLawOfficeElevatorIntAI -from toontown.coghq import LawOfficeLayout +from toontown.coghq import DistributedBattleFactoryAI, DistributedLawOfficeElevatorIntAI, LawOfficeLayout from toontown.suit import DistributedFactorySuitAI from toontown.toonbase import ToontownGlobals, ToontownBattleGlobals - +import FactoryEntityCreatorAI, FactorySpecs, LawOfficeBase, LevelSuitPlannerAI class DistributedLawOfficeFloorAI(DistributedLevelAI.DistributedLevelAI, LawOfficeBase.LawOfficeBase): notify = DirectNotifyGlobal.directNotify.newCategory('DistributedLawOfficeAI') @@ -134,4 +124,4 @@ class DistributedLawOfficeFloorAI(DistributedLevelAI.DistributedLevelAI, LawOffi suitIds = [] for suit in self.reserveSuits: suitIds.append(suit[0].doId) - return suitIds + return suitIds \ No newline at end of file diff --git a/toontown/estate/DistributedGarden.py b/toontown/estate/DistributedGarden.py index f7b1263e..3af35d34 100644 --- a/toontown/estate/DistributedGarden.py +++ b/toontown/estate/DistributedGarden.py @@ -1,22 +1,9 @@ from pandac.PandaModules import * -from toontown.toonbase.ToonBaseGlobal import * -from direct.gui.DirectGui import * -from pandac.PandaModules import * -from direct.distributed.ClockDelta import * -from toontown.toonbase import ToontownGlobals from direct.distributed import DistributedObject +from direct.distributed.ClockDelta import * from direct.directnotify import DirectNotifyGlobal -from direct.fsm import ClassicFSM -from direct.fsm import State -from toontown.toon import Toon -from direct.showbase import RandomNumGen -from toontown.toonbase import TTLocalizer -import random -import random -import cPickle -from direct.showbase import PythonUtil -from toontown.hood import Place -import Estate +from direct.gui.DirectGui import * +from toontown.toonbase.ToonBaseGlobal import * import HouseGlobals class DistributedGarden(DistributedObject.DistributedObject): diff --git a/toontown/estate/GardenProgressMeter.py b/toontown/estate/GardenProgressMeter.py index ff9917ce..0a092012 100644 --- a/toontown/estate/GardenProgressMeter.py +++ b/toontown/estate/GardenProgressMeter.py @@ -1,26 +1,13 @@ from pandac.PandaModules import * -from toontown.toonbase.ToonBaseGlobal import * -from direct.gui.DirectGui import * -from pandac.PandaModules import * -from direct.gui.DirectScrolledList import * -from direct.distributed.ClockDelta import * -from toontown.toontowngui import TTDialog -import math -from toontown.toonbase import ToontownGlobals from direct.distributed import DistributedObject from direct.directnotify import DirectNotifyGlobal -from direct.fsm import ClassicFSM -from direct.fsm import State -from toontown.toon import Toon -from direct.showbase import RandomNumGen -from toontown.toonbase import TTLocalizer -import random -import random -import cPickle -from direct.showbase import PythonUtil -import GameSprite -from math import pi +from direct.distributed.ClockDelta import * +from direct.gui.DirectScrolledList import * +from direct.gui.DirectGui import * +from toontown.toonbase.ToonBaseGlobal import * +from toontown.toonbase import ToontownGlobals, TTLocalizer from toontown.estate import GardenGlobals + SHOVEL = 0 WATERINGCAN = 1 GAMEWIN = 2 From 067fb04dbdbc912d9c80f1b8c567e94ba8362266 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 20:12:04 +0300 Subject: [PATCH 13/78] Fix new seed generation every day --- toontown/pets/PetManagerAI.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/toontown/pets/PetManagerAI.py b/toontown/pets/PetManagerAI.py index 3bbb0ccd..87100575 100644 --- a/toontown/pets/PetManagerAI.py +++ b/toontown/pets/PetManagerAI.py @@ -1,12 +1,10 @@ from toontown.toonbase import ToontownGlobals, TTLocalizer import PetUtil, PetDNA, time, random -MINUTE = 60 -HOUR = 60 * MINUTE -DAY = 24 * HOUR +DAY = 24 * 60 * 60 def getDayId(): - return int(time.time() // DAY) + return int(time.time() / DAY) class PetManagerAI: NUM_DAILY_PETS = 5 @@ -15,7 +13,7 @@ class PetManagerAI: self.air = air self.seeds = simbase.backups.load('pet-seeds', (self.air.districtId,), default={}) - if self.seeds.get('day', -1) != getDayId() or len(self.seeds.get(ToontownGlobals.ToontownCentral, [])) != self.NUM_DAILY_PETS: + if self.seeds.get('day', -1) != getDayId(): self.generateSeeds() def generateSeeds(self): From 2649fc5256ffa9f35500f03cf27223b90a5ab37f Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 20:30:03 +0300 Subject: [PATCH 14/78] Why was that even there!! + 5 more unique pets every day --- toontown/building/PetshopBuildingAI.py | 2 -- toontown/pets/PetManagerAI.py | 6 +++--- toontown/toon/DistributedNPCPetclerkAI.py | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/toontown/building/PetshopBuildingAI.py b/toontown/building/PetshopBuildingAI.py index d0216bf3..b77f9f69 100644 --- a/toontown/building/PetshopBuildingAI.py +++ b/toontown/building/PetshopBuildingAI.py @@ -35,8 +35,6 @@ class PetshopBuildingAI: self.interior.generateWithRequired(self.interiorZone) self.npcs = NPCToons.createNpcsInZone(self.air, self.interiorZone) - - seeds = self.air.petMgr.getAvailablePets(1, len(self.npcs)) door = DistributedDoorAI.DistributedDoorAI( self.air, blockNumber, DoorTypes.EXT_STANDARD) diff --git a/toontown/pets/PetManagerAI.py b/toontown/pets/PetManagerAI.py index 87100575..410470f5 100644 --- a/toontown/pets/PetManagerAI.py +++ b/toontown/pets/PetManagerAI.py @@ -7,7 +7,7 @@ def getDayId(): return int(time.time() / DAY) class PetManagerAI: - NUM_DAILY_PETS = 5 + NUM_DAILY_PETS = 10 def __init__(self, air): self.air = air @@ -28,11 +28,11 @@ class PetManagerAI: self.seeds['day'] = getDayId() simbase.backups.save('pet-seeds', (self.air.districtId,), self.seeds) - def getAvailablePets(self, seed, safezoneId): + def getAvailablePets(self, safezoneId): if self.seeds.get('day', -1) != getDayId(): self.generateSeeds() - return list(set(self.seeds.get(safezoneId, [seed]))) + return self.seeds[safezoneId] if safezoneId in self.seeds else self.seeds[str(safezoneId)] def createNewPetFromSeed(self, avId, seed, nameIndex, gender, safeZoneId): av = self.air.doId2do[avId] diff --git a/toontown/toon/DistributedNPCPetclerkAI.py b/toontown/toon/DistributedNPCPetclerkAI.py index 2daee72d..beb7b5c2 100644 --- a/toontown/toon/DistributedNPCPetclerkAI.py +++ b/toontown/toon/DistributedNPCPetclerkAI.py @@ -27,7 +27,7 @@ class DistributedNPCPetclerkAI(DistributedNPCToonBaseAI): if self.isBusy(): self.freeAvatar(avId) return - self.petSeeds = self.air.petMgr.getAvailablePets(3, ZoneUtil.getCanonicalHoodId(self.zoneId)) + self.petSeeds = self.air.petMgr.getAvailablePets(ZoneUtil.getCanonicalHoodId(self.zoneId)) numGenders = len(PetDNA.PetGenders) self.petSeeds *= numGenders self.petSeeds.sort() From 5b8a0428cb6bd06577a4c8672b50898a992038b0 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 20:40:06 +0300 Subject: [PATCH 15/78] Perhaps this is a better solution --- toontown/pets/PetManagerAI.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toontown/pets/PetManagerAI.py b/toontown/pets/PetManagerAI.py index 410470f5..b674bc6c 100644 --- a/toontown/pets/PetManagerAI.py +++ b/toontown/pets/PetManagerAI.py @@ -23,7 +23,7 @@ class PetManagerAI: self.seeds = {} for hood in (ToontownGlobals.ToontownCentral, ToontownGlobals.DonaldsDock, ToontownGlobals.DaisyGardens, ToontownGlobals.MinniesMelodyland, ToontownGlobals.TheBrrrgh, ToontownGlobals.DonaldsDreamland): - self.seeds[hood] = [seeds.pop() for _ in xrange(self.NUM_DAILY_PETS)] + self.seeds[str(hood)] = [seeds.pop() for _ in xrange(self.NUM_DAILY_PETS)] self.seeds['day'] = getDayId() simbase.backups.save('pet-seeds', (self.air.districtId,), self.seeds) @@ -32,7 +32,7 @@ class PetManagerAI: if self.seeds.get('day', -1) != getDayId(): self.generateSeeds() - return self.seeds[safezoneId] if safezoneId in self.seeds else self.seeds[str(safezoneId)] + return self.seeds.get(str(safezoneId), [random.randint(0, 255)]) def createNewPetFromSeed(self, avId, seed, nameIndex, gender, safeZoneId): av = self.air.doId2do[avId] From 26781efc6c6b8e87568deb1a5af6a468b6ded010 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 21:36:11 +0300 Subject: [PATCH 16/78] All holiday decorations and activities --- astron/dclass/united.dc | 2 - otp/distributed/DCClassImports.py | 2 +- toontown/parties/DistributedPartyAI.py | 53 +++++++++---------- .../parties/DistributedPartyCogActivity.py | 2 +- toontown/parties/GlobalPartyManagerUD.py | 7 --- toontown/parties/PartyGlobals.py | 36 ++----------- toontown/toonbase/TTLocalizerEnglish.py | 30 +++++------ toontown/uberdog/DistributedPartyManagerAI.py | 16 ------ toontown/uberdog/DistributedPartyManagerUD.py | 5 -- 9 files changed, 44 insertions(+), 109 deletions(-) diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index 6f898d3f..4ccb9839 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -3225,8 +3225,6 @@ dclass DistributedPartyManager : DistributedObject { updateToPublicPartyCountUdToAllAi(uint32 partyCount, uint64 partyId) airecv; requestShardIdZoneIdForHostId(uint32) clsend airecv; sendShardIdZoneIdToAvatar(uint32, uint32); - partyManagerUdStartingUp() airecv; - partyManagerUdLost() airecv; updateAllPartyInfoToUd(uint32, uint64, uint32, uint32, uint8, uint8, string, uint8 [], uint64); forceCheckStart(); requestMw(uint32, string, uint32, uint32); diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index e408ed6f..afe02125 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,7 @@ from pandac.PandaModules import * -hashVal = 2027986859 +hashVal = 2004269787 from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot diff --git a/toontown/parties/DistributedPartyAI.py b/toontown/parties/DistributedPartyAI.py index 887be743..2e612e00 100644 --- a/toontown/parties/DistributedPartyAI.py +++ b/toontown/parties/DistributedPartyAI.py @@ -1,21 +1,13 @@ from direct.directnotify import DirectNotifyGlobal from direct.distributed.DistributedObjectAI import DistributedObjectAI from PartyGlobals import * -import PartyUtils -import time -# ugh all these activities -from toontown.parties.DistributedPartyJukeboxActivityAI import DistributedPartyJukeboxActivityAI -from toontown.parties.DistributedPartyDanceActivityAI import DistributedPartyDanceActivityAI -from toontown.parties.DistributedPartyJukebox40ActivityAI import DistributedPartyJukebox40ActivityAI -from toontown.parties.DistributedPartyDance20ActivityAI import DistributedPartyDance20ActivityAI -from toontown.parties.DistributedPartyCogActivityAI import DistributedPartyCogActivityAI -from toontown.parties.DistributedPartyTrampolineActivityAI import DistributedPartyTrampolineActivityAI -from toontown.parties.DistributedPartyVictoryTrampolineActivityAI import DistributedPartyVictoryTrampolineActivityAI -from toontown.parties.DistributedPartyCatchActivityAI import DistributedPartyCatchActivityAI -from toontown.parties.DistributedPartyTugOfWarActivityAI import DistributedPartyTugOfWarActivityAI -from toontown.parties.DistributedPartyCannonActivityAI import DistributedPartyCannonActivityAI -from toontown.parties.DistributedPartyCannonAI import DistributedPartyCannonAI -from toontown.parties.DistributedPartyFireworksActivityAI import DistributedPartyFireworksActivityAI +import DistributedPartyCannonAI, DistributedPartyCannonActivityAI, DistributedPartyCatchActivityAI, DistributedPartyCogActivityAI, DistributedPartyDanceActivityAI +import DistributedPartyDance20ActivityAI, DistributedPartyFireworksActivityAI, DistributedPartyJukeboxActivityAI, DistributedPartyJukebox40ActivityAI +import DistributedPartyTrampolineActivityAI, DistributedPartyTugOfWarActivityAI, DistributedPartyValentineDanceActivityAI +import DistributedPartyValentineDance20ActivityAI, DistributedPartyValentineJukeboxActivityAI, DistributedPartyValentineJukebox40ActivityAI +import DistributedPartyValentineTrampolineActivityAI, DistributedPartyVictoryTrampolineActivityAI, DistributedPartyWinterCatchActivityAI +import DistributedPartyWinterCogActivityAI, DistributedPartyWinterTrampolineActivityAI +import PartyUtils, time """ dclass DistributedParty : DistributedObject { @@ -59,16 +51,23 @@ class DistributedPartyAI(DistributedObjectAI): DistributedObjectAI.generate(self) # make stuff actId2Class = { - ActivityIds.PartyJukebox: DistributedPartyJukeboxActivityAI, - ActivityIds.PartyTrampoline: DistributedPartyTrampolineActivityAI, - ActivityIds.PartyVictoryTrampoline: DistributedPartyVictoryTrampolineActivityAI, - ActivityIds.PartyCatch: DistributedPartyCatchActivityAI, - ActivityIds.PartyDance: DistributedPartyDanceActivityAI, - ActivityIds.PartyTugOfWar: DistributedPartyTugOfWarActivityAI, - ActivityIds.PartyFireworks: DistributedPartyFireworksActivityAI, - ActivityIds.PartyJukebox40: DistributedPartyJukebox40ActivityAI, - ActivityIds.PartyDance20: DistributedPartyDance20ActivityAI, - ActivityIds.PartyCog: DistributedPartyCogActivityAI, + ActivityIds.PartyCatch: DistributedPartyCatchActivityAI.DistributedPartyCatchActivityAI, + ActivityIds.PartyCog: DistributedPartyCogActivityAI.DistributedPartyCogActivityAI, + ActivityIds.PartyDance: DistributedPartyDanceActivityAI.DistributedPartyDanceActivityAI, + ActivityIds.PartyDance20: DistributedPartyDance20ActivityAI.DistributedPartyDance20ActivityAI, + ActivityIds.PartyFireworks: DistributedPartyFireworksActivityAI.DistributedPartyFireworksActivityAI, + ActivityIds.PartyJukebox: DistributedPartyJukeboxActivityAI.DistributedPartyJukeboxActivityAI, + ActivityIds.PartyJukebox40: DistributedPartyJukebox40ActivityAI.DistributedPartyJukebox40ActivityAI, + ActivityIds.PartyTrampoline: DistributedPartyTrampolineActivityAI.DistributedPartyTrampolineActivityAI, + ActivityIds.PartyTugOfWar: DistributedPartyTugOfWarActivityAI.DistributedPartyTugOfWarActivityAI, + ActivityIds.PartyValentineDance: DistributedPartyValentineDanceActivityAI.DistributedPartyValentineDanceActivityAI, + ActivityIds.PartyValentineDance20: DistributedPartyValentineDance20ActivityAI.DistributedPartyValentineDance20ActivityAI, + ActivityIds.PartyValentineJukebox: DistributedPartyValentineJukeboxActivityAI.DistributedPartyValentineJukeboxActivityAI, + ActivityIds.PartyValentineJukebox40: DistributedPartyValentineJukebox40ActivityAI.DistributedPartyValentineJukebox40ActivityAI, + ActivityIds.PartyValentineTrampoline: DistributedPartyValentineTrampolineActivityAI.DistributedPartyValentineTrampolineActivityAI, + ActivityIds.PartyVictoryTrampoline: DistributedPartyVictoryTrampolineActivityAI.DistributedPartyVictoryTrampolineActivityAI, + ActivityIds.PartyWinterCatch: DistributedPartyWinterCatchActivityAI.DistributedPartyWinterCatchActivityAI, + ActivityIds.PartyWinterCog: DistributedPartyWinterCogActivityAI.DistributedPartyWinterCogActivityAI } for activity in self.info['activities']: actId = activity[0] @@ -78,9 +77,9 @@ class DistributedPartyAI(DistributedObjectAI): self.activities.append(act) elif actId == ActivityIds.PartyCannon: if not self.cannonActivity: - self.cannonActivity = DistributedPartyCannonActivityAI(self.air, self.doId, activity) + self.cannonActivity = DistributedPartyCannonActivityAI.DistributedPartyCannonActivityAI(self.air, self.doId, activity) self.cannonActivity.generateWithRequired(self.zoneId) - act = DistributedPartyCannonAI(self.air) + act = DistributedPartyCannonAI.DistributedPartyCannonAI(self.air) act.setActivityDoId(self.cannonActivity.doId) x, y, h = activity[1:] # ignore activity ID x = PartyUtils.convertDistanceFromPartyGrid(x, 0) diff --git a/toontown/parties/DistributedPartyCogActivity.py b/toontown/parties/DistributedPartyCogActivity.py index 7a6b9720..e1852770 100644 --- a/toontown/parties/DistributedPartyCogActivity.py +++ b/toontown/parties/DistributedPartyCogActivity.py @@ -196,4 +196,4 @@ class DistributedPartyCogActivity(DistributedPartyTeamActivity): def finishConclusion(self): self.view.hideResults() DistributedPartyTeamActivity.finishConclusion(self) - self.view.hideArenaDoorTimers() + self.view.hideArenaDoorTimers() \ No newline at end of file diff --git a/toontown/parties/GlobalPartyManagerUD.py b/toontown/parties/GlobalPartyManagerUD.py index 1afc0129..091cd32f 100644 --- a/toontown/parties/GlobalPartyManagerUD.py +++ b/toontown/parties/GlobalPartyManagerUD.py @@ -166,14 +166,7 @@ class GlobalPartyManagerUD(DistributedObjectGlobalUD): self.__updatePartyCount(partyId) def partyManagerAIHello(self, channel): - # Upon AI boot, DistributedPartyManagerAIs are supposed to say hello. - # They send along the DPMAI's doId as well, so that I can talk to them later. - print 'AI with base channel %s, will send replies to DPM %s' % (simbase.air.getAvatarIdFromSender(), channel) self.senders2Mgrs[simbase.air.getAvatarIdFromSender()] = channel - self.sendToAI('partyManagerUdStartingUp', []) - - # In addition, set up a postRemove where we inform this AI that the UD has died - self.air.addPostRemove(self._makeAIMsg('partyManagerUdLost', [], channel)) def addParty(self, avId, partyId, start, end, isPrivate, inviteTheme, activities, decorations, inviteeIds): PARTY_TIME_FORMAT = '%Y-%m-%d %H:%M:%S' diff --git a/toontown/parties/PartyGlobals.py b/toontown/parties/PartyGlobals.py index cb04ef98..4ffce96e 100644 --- a/toontown/parties/PartyGlobals.py +++ b/toontown/parties/PartyGlobals.py @@ -70,10 +70,10 @@ ChangePartyFieldErrorCode = PythonUtil.Enum(('AllOk', 'AlreadyRefunded')) ActivityTypes = PythonUtil.Enum(('HostInitiated', 'GuestInitiated', 'Continuous')) PartyGateDenialReasons = PythonUtil.Enum(('Unavailable', 'Full')) -ActivityIds = PythonUtil.Enum(('PartyJukebox', +ActivityIds = PythonUtil.Enum(('PartyCatch', + 'PartyJukebox', 'PartyCannon', 'PartyTrampoline', - 'PartyCatch', 'PartyDance', 'PartyTugOfWar', 'PartyFireworks', @@ -110,24 +110,9 @@ PartyEditorActivityOrder = [ ActivityIds.PartyClock, ActivityIds.PartyCog, ActivityIds.PartyWinterCog, ActivityIds.PartyFireworks] -MutuallyExclusiveActivities = ((ActivityIds.PartyJukebox, ActivityIds.PartyJukebox40), - (ActivityIds.PartyValentineJukebox, ActivityIds.PartyValentineJukebox40), +MutuallyExclusiveActivities = ((ActivityIds.PartyJukebox, ActivityIds.PartyJukebox40, ActivityIds.PartyValentineJukebox, ActivityIds.PartyValentineJukebox40), (ActivityIds.PartyDance, ActivityIds.PartyDance20), (ActivityIds.PartyValentineDance, ActivityIds.PartyValentineDance20)) -VictoryPartyActivityIds = frozenset([ActivityIds.PartyVictoryTrampoline]) -VictoryPartyReplacementActivityIds = frozenset([ActivityIds.PartyTrampoline]) -WinterPartyActivityIds = frozenset([ActivityIds.PartyWinterCatch, ActivityIds.PartyWinterTrampoline, ActivityIds.PartyWinterCog]) -WinterPartyReplacementActivityIds = frozenset([ActivityIds.PartyCatch, ActivityIds.PartyTrampoline, ActivityIds.PartyCog]) -ValentinePartyActivityIds = frozenset([ActivityIds.PartyValentineDance, - ActivityIds.PartyValentineDance20, - ActivityIds.PartyValentineJukebox, - ActivityIds.PartyValentineJukebox40, - ActivityIds.PartyValentineTrampoline]) -ValentinePartyReplacementActivityIds = frozenset([ActivityIds.PartyDance, - ActivityIds.PartyDance20, - ActivityIds.PartyJukebox, - ActivityIds.PartyJukebox40, - ActivityIds.PartyTrampoline]) DecorationIds = PythonUtil.Enum(('BalloonAnvil', 'BalloonStage', 'Bow', @@ -156,21 +141,6 @@ DecorationIds = PythonUtil.Enum(('BalloonAnvil', 'BalloonAnvilValentine')) DECORATION_VOLUME = 1.0 DECORATION_CUTOFF = 45 -VictoryPartyDecorationIds = frozenset([DecorationIds.BannerVictory, - DecorationIds.CannonVictory, - DecorationIds.CogStatueVictory, - DecorationIds.TubeCogVictory]) -WinterPartyDecorationIds = frozenset([DecorationIds.cogIceCreamWinter, - DecorationIds.StageWinter, - DecorationIds.CogStatueWinter, - DecorationIds.snowman, - DecorationIds.snowDoodle]) -VictoryPartyReplacementDecorationIds = frozenset([DecorationIds.BannerJellyBean]) -ValentinePartyDecorationIds = frozenset([DecorationIds.BalloonAnvilValentine, - DecorationIds.HeartBanner, - DecorationIds.HeartTarget, - DecorationIds.FlyingHeart]) -ValentinePartyReplacementDecorationIds = frozenset([DecorationIds.BalloonAnvil, DecorationIds.BannerJellyBean]) GoToPartyStatus = PythonUtil.Enum(('AllowedToGo', 'PartyFull', 'PrivateParty', diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index e5c3c2b1..beb9e51f 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -3587,40 +3587,36 @@ PartyDecorationNameDict = {0: {'editor': 'Balloon Anvil', 9: {'editor': 'Pinwheel', 'description': 'Colorful twirling for everyone!'}, 10: {'editor': 'Gag Globe', - 'description': 'Gag and star globe designed by Olivea'}, + 'description': 'Gag and star globe'}, 11: {'editor': 'Bean Banner', - 'description': 'A Jellybean banner designed by Cassidy'}, + 'description': 'A Jellybean banner'}, 12: {'editor': 'Gag Cake', - 'description': 'A Topsy Turvy gag cake designed by Felicia'}, + 'description': 'A Topsy Turvy gag cake'}, 13: {'editor': "Cupid's Heart", 'description': 'Ready...Aim...\nValenToons!'}, 14: {'editor': 'Candy Hearts\n Banner', 'description': "Who doesn't love candy hearts?"}, 15: {'editor': 'Flying Heart', 'description': 'This heart is getting carried away!'}, - 16: {'editor': 'Victory Bandstand', - 'description': 'All our new friends are ready to dance!'}, - 17: {'editor': 'Victory Banner', + 16: {'editor': 'Victory Banner', 'description': 'Not just a normal banner!'}, - 18: {'editor': 'Confetti Cannons', + 17: {'editor': 'Confetti Cannons', 'description': 'BOOM! Confetti! Fun!'}, - 19: {'editor': 'Cog & Doodle', + 18: {'editor': 'Cog & Doodle', 'description': "Ouch! That's gotta hurt."}, - 20: {'editor': 'Cog Flappy Man', + 19: {'editor': 'Cog Flappy Man', 'description': 'A Cog full of hot air, what a shock!'}, - 21: {'editor': 'Cog Ice Cream', - 'description': 'A Cog looking his best.'}, - 22: {'editor': 'CogCicle', + 20: {'editor': 'CogCicle', 'description': 'A Cog looking his holiday best.'}, - 23: {'editor': 'Holiday Bandstand', + 21: {'editor': 'Holiday Bandstand', 'description': 'Everyone loves a Holiday Party!'}, - 24: {'editor': 'Chilly Cog', + 22: {'editor': 'Chilly Cog', 'description': "Ouch! That's gotta hurt."}, - 25: {'editor': 'Snowman', + 23: {'editor': 'Snowman', 'description': "So cool, he's hot!"}, - 26: {'editor': 'SnowDoodle', + 24: {'editor': 'SnowDoodle', 'description': 'His only trick is being cold!'}, - 27: {'editor': 'ValenToons Anvil', + 25: {'editor': 'ValenToons Anvil', 'description': "We've got your heart on a string!"}} ActivityLabel = 'Cost - Activity Name' PartyDoYouWantToPlan = 'Would you like to plan a new party right now?' diff --git a/toontown/uberdog/DistributedPartyManagerAI.py b/toontown/uberdog/DistributedPartyManagerAI.py index 4c59acfd..7c4719fb 100644 --- a/toontown/uberdog/DistributedPartyManagerAI.py +++ b/toontown/uberdog/DistributedPartyManagerAI.py @@ -21,17 +21,10 @@ class DistributedPartyManagerAI(DistributedObjectAI): self.id2Party = {} self.pubPartyInfo = {} self.idPool = range(self.air.ourChannel, self.air.ourChannel + 100000) - # get 100 ids at the start and top up - #taskMgr.doMethodLater(0, self.__getIds, 'DistributedPartyManagerAI___getIds') def receiveId(self, ids): self.idPool += ids -# def __getIds(self, task): -# if len(self.idPool) < 50: -# self.air.globalPartyMgr.allocIds(100 - len(self.idPool)) -# taskMgr.doMethodLater(180, self.__getIds, 'DistributedPartyManagerAI___getIds') - def _makePartyDict(self, struct): PARTY_TIME_FORMAT = '%Y-%m-%d %H:%M:%S' party = {} @@ -48,15 +41,6 @@ class DistributedPartyManagerAI(DistributedObjectAI): # struct[16] = partystatus return party - # Management stuff - def partyManagerUdStartingUp(self): - # This is sent in reply to the GPMAI's hello - self.notify.info("uberdog has said hello") - - def partyManagerUdLost(self): - # well fuck. ud died. - self.notify.warning("uberdog lost!") - def addPartyRequest(self, hostId, startTime, endTime, isPrivate, inviteTheme, activities, decorations, inviteeIds): if hostId != simbase.air.getAvatarIdFromSender(): self.air.writeServerEvent('suspicious',simbase.air.getAvatarIdFromSender(),'Toon tried to create a party as someone else!') diff --git a/toontown/uberdog/DistributedPartyManagerUD.py b/toontown/uberdog/DistributedPartyManagerUD.py index de7f1562..3aa446e2 100644 --- a/toontown/uberdog/DistributedPartyManagerUD.py +++ b/toontown/uberdog/DistributedPartyManagerUD.py @@ -7,8 +7,6 @@ class DistributedPartyManagerUD(DistributedObjectUD): def announceGenerate(self): DistributedObjectUD.announceGenerate(self) - self.sendUpdate('partyManagerUdStartingUp') # Shouldn't have to send to anyone special, as the field is airecv - def addParty(self, todo0, todo1, todo2, todo3, todo4, todo5, todo6, todo7, todo8, todo9): pass @@ -114,9 +112,6 @@ class DistributedPartyManagerUD(DistributedObjectUD): def sendShardIdZoneIdToAvatar(self, shardId, zoneId): pass - def partyManagerUdStartingUp(self): - pass - def updateAllPartyInfoToUd(self, todo0, todo1, todo2, todo3, todo4, todo5, todo6, todo7, todo8): pass From 74abc6ac57474eff3cffb9aeb2d8c66454ae59fc Mon Sep 17 00:00:00 2001 From: DenialMC Date: Wed, 13 May 2015 21:42:21 +0300 Subject: [PATCH 17/78] I fucked this up --- toontown/parties/PartyGlobals.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toontown/parties/PartyGlobals.py b/toontown/parties/PartyGlobals.py index 4ffce96e..f3c066d0 100644 --- a/toontown/parties/PartyGlobals.py +++ b/toontown/parties/PartyGlobals.py @@ -70,10 +70,10 @@ ChangePartyFieldErrorCode = PythonUtil.Enum(('AllOk', 'AlreadyRefunded')) ActivityTypes = PythonUtil.Enum(('HostInitiated', 'GuestInitiated', 'Continuous')) PartyGateDenialReasons = PythonUtil.Enum(('Unavailable', 'Full')) -ActivityIds = PythonUtil.Enum(('PartyCatch', - 'PartyJukebox', +ActivityIds = PythonUtil.Enum(('PartyJukebox', 'PartyCannon', 'PartyTrampoline', + 'PartyCatch', 'PartyDance', 'PartyTugOfWar', 'PartyFireworks', From cc781f595edd337d1d1d4346ff7eec47114c3524 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Thu, 14 May 2015 00:22:58 +0300 Subject: [PATCH 18/78] fuck y'all --- toontown/toon/DistributedToonAI.py | 1 + toontown/toon/DistributedToonUD.py | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/toontown/toon/DistributedToonAI.py b/toontown/toon/DistributedToonAI.py index d1970944..8512f3cb 100644 --- a/toontown/toon/DistributedToonAI.py +++ b/toontown/toon/DistributedToonAI.py @@ -97,6 +97,7 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo self.emoteAccess = [0] * 27 self.maxMoney = 0 self.maxBankMoney = 0 + self.bankMoney = 0 self.gardenSpecials = [] self.houseId = 0 self.posIndex = 0 diff --git a/toontown/toon/DistributedToonUD.py b/toontown/toon/DistributedToonUD.py index bc14f753..806eb479 100644 --- a/toontown/toon/DistributedToonUD.py +++ b/toontown/toon/DistributedToonUD.py @@ -18,9 +18,6 @@ class DistributedToonUD(DistributedObjectUD): def setMaxMoney(self, todo0): pass - - def setMaxBankMoney(self, todo0): - pass def setMoney(self, todo0): pass From 69cf7931898ae369863dc3ab99d353ffd69d4193 Mon Sep 17 00:00:00 2001 From: Loudrob Date: Wed, 13 May 2015 18:48:13 -0400 Subject: [PATCH 19/78] Fix bank. --- astron/dclass/united.dc | 8 ++++---- otp/distributed/DCClassImports.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index 4ccb9839..5dfde674 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -649,10 +649,10 @@ typedef int16 pair16[2]; dclass DistributedToon : DistributedPlayer { setDNAString(blob) required broadcast ownrecv db; setGM(uint16 = 0) required broadcast ownrecv db; - setMoney(int16 = 0) required ownrecv db; - setBankMoney(int32 = 0) required ownrecv; - setMaxMoney(int16 = 40) required broadcast ownrecv db; - setMaxBankMoney(int32 = 10000) required broadcast ownrecv db; + setMaxBankMoney(int16 maxMoney = 15000) required broadcast ownrecv db; + setBankMoney(int16 money = 0) required broadcast ownrecv db; + setMaxMoney(int16 maxMoney = 40) required broadcast ownrecv db; + setMoney(int16 money = 0) required broadcast ownrecv db; setMaxHp(int16 = 15) required broadcast ownrecv db; setHp(int16 = 15) required broadcast ownrecv db; toonUp(uint16) broadcast ownrecv; diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index afe02125..bde65a54 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,7 @@ from pandac.PandaModules import * -hashVal = 2004269787 +hashVal = 2005027427 from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot From c189e278ad23860594f2f2dbde8332d2c9292e27 Mon Sep 17 00:00:00 2001 From: Loudrob Date: Wed, 13 May 2015 19:54:47 -0400 Subject: [PATCH 20/78] No more terrorism. --- otp/chat/SequenceList.py | 12 +++++++----- toontown/chat/WhiteListData.py | 3 ++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/otp/chat/SequenceList.py b/otp/chat/SequenceList.py index 95b7efdd..61f00d49 100644 --- a/otp/chat/SequenceList.py +++ b/otp/chat/SequenceList.py @@ -29,7 +29,8 @@ a,ah,ahh,ahhh,ahhhhh,ahhhhhh:zzz,sees,$,'s ace,as,ash,ask,asp,ashton:hole,whole,ole,ooo le,holes,zzz,'s ack:ools ai,ay,ayy,ayyy,ayyyy:ds -al:coco ol,cool +al:coco ol,cool,a ack bar,ah ack bar,ah ache bar,ah snack bar +all:a ack bar,ah ack bar,ah ache bar,ah snack bar an:a hon,a honda,a con,a cone,ail,ails,ailed,ailing,al,ale,ales,all,awl,us,u.s.,u.s.a.,u si,usa,use,used,using,uses,uss ann:a hon,a honda,a con,a cone,al,ails,ailed,ailing,ale,ales,all,awl,us,u.s.,u.s.a.,u si,usa,use,used,using,uses,uss anna:hon,honda,con da,con duh,cone da,cone duh @@ -40,6 +41,7 @@ apes:me,you,him,his,their,him,them,your,yourself,ur self ate:me out,you out,u out,her out ball:it more ban:gg +bangs:me,her,him,it,them bass:hole,whole,ole,stir,stir ed,stair,stair ed,tar,star,stared,tt a r ed,holes bat:star,stair,stair ed,star,stared bay:be maker @@ -321,8 +323,8 @@ tea:bag,bagged,bagging,bags test:i cools,i cool,tickle,tickles the:di,hello,flunk tho:tt,tea,tee,ty -to:he'll -too:he'll +to:he'll,bangs +too:he'll,bangs truck:eh ru,ing,eng,you,u,up,ed,her,or tt:its,its,it two:he'll @@ -334,7 +336,7 @@ vague:in a,i nah vern:gen vet:china via:grape -wanna:duck +wanna:duck,bangs wat:the hello,the fork,the duck,the freaky,the yuck,your sky,ur sky,the fire truck,the truck,the he'll we,whee:ed,neigh is,knees what:the hello,the fork,the duck,the freaky,the yuck,your sky,ur sky,the truck,the fire truck,the he'll @@ -347,4 +349,4 @@ your:as,but,bum,come,period,hole,holes,ash,sass yuck:err,error,errors,my life,me,ing,you,dee zone:tan zzz:3 ex,33 ex,ex,ugh eng,hole,holes -''' \ No newline at end of file +''' diff --git a/toontown/chat/WhiteListData.py b/toontown/chat/WhiteListData.py index 5ef584e1..16c7eedf 100644 --- a/toontown/chat/WhiteListData.py +++ b/toontown/chat/WhiteListData.py @@ -565,6 +565,7 @@ WHITELIST = [ 'aching', 'achoo', 'achy', + 'ack', 'acknowledge', 'acknowledged', 'acknowledgement', @@ -36744,4 +36745,4 @@ WHITELIST = [ 'zzzzzs', 'denialmc', 'loudrob' -] \ No newline at end of file +] From a2acb604125e15283864cdd42b1158d36c0ac98b Mon Sep 17 00:00:00 2001 From: Loudrob Date: Thu, 14 May 2015 08:04:30 -0400 Subject: [PATCH 21/78] y no purchase pls --- config/release/dev.prc | 1 + toontown/catalog/CatalogHouseItem.py | 5 ++++- toontown/catalog/CatalogScreen.py | 2 +- toontown/toon/LocalToon.py | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/config/release/dev.prc b/config/release/dev.prc index 1edcfa76..11a7c24d 100644 --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -29,6 +29,7 @@ want-game-tables #t want-find-four #t want-chinese-checkers #t want-checkers #t +want-house-types #t # Chat: want-whitelist #f diff --git a/toontown/catalog/CatalogHouseItem.py b/toontown/catalog/CatalogHouseItem.py index 2dbd8bb6..fe1d3faa 100644 --- a/toontown/catalog/CatalogHouseItem.py +++ b/toontown/catalog/CatalogHouseItem.py @@ -40,6 +40,9 @@ class CatalogHouseItem(CatalogItem.CatalogItem): def getName(self): return TTLocalizer.HouseNames[self.houseId] + + def getDeliveryTime(self): + return 0 def getEmblemPrices(self): return HouseGlobals.HouseEmblemPrices[self.houseId] @@ -66,4 +69,4 @@ class CatalogHouseItem(CatalogItem.CatalogItem): def getAllHouses(): return [CatalogHouseItem(i) for i in xrange(6)] - \ No newline at end of file + diff --git a/toontown/catalog/CatalogScreen.py b/toontown/catalog/CatalogScreen.py index 1c40f137..cf5d9f45 100644 --- a/toontown/catalog/CatalogScreen.py +++ b/toontown/catalog/CatalogScreen.py @@ -644,7 +644,7 @@ class CatalogScreen(DirectFrame): if item.loyaltyRequirement() != 0: self.loyaltyPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeLoyalty, parentCatalogScreen=self)) elif item.getEmblemPrices(): - self.emblemPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeBackOrder, parentCatalogScreen=self)) + self.emblemPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeBackorder, parentCatalogScreen=self)) else: self.backPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeBackorder, parentCatalogScreen=self)) diff --git a/toontown/toon/LocalToon.py b/toontown/toon/LocalToon.py index c2c1e2d3..baee8074 100644 --- a/toontown/toon/LocalToon.py +++ b/toontown/toon/LocalToon.py @@ -162,6 +162,7 @@ class LocalToon(DistributedToon.DistributedToon, LocalAvatar.LocalAvatar): self.oldPos = None self.questMap = None self.prevToonIdx = 0 + self.houseType = 0 def setDNA(self, dna): base.localAvatarStyle = dna From f784a15e1da2fbb5ae4cc86373d462c050601a31 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Thu, 14 May 2015 20:34:00 +0300 Subject: [PATCH 22/78] You no longer need to wait any days to buy the items in the special menu.. and Loud, we start with 10000 beans not 15000!! --- astron/dclass/united.dc | 2 +- toontown/catalog/CatalogAccessoryItem.py | 22 +-- .../catalog/CatalogAccessoryItemGlobals.py | 3 +- toontown/catalog/CatalogClothingItem.py | 31 +--- toontown/catalog/CatalogEmoteItem.py | 20 +-- toontown/catalog/CatalogGenerator.py | 32 ++-- toontown/catalog/CatalogItem.py | 21 +-- toontown/catalog/CatalogItemPanel.py | 3 - toontown/catalog/CatalogScreen.py | 158 +++++++++--------- toontown/estate/DistributedPhoneAI.py | 3 - toontown/toonbase/TTLocalizerEnglish.py | 3 +- 11 files changed, 122 insertions(+), 176 deletions(-) diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index 5dfde674..ddf124ef 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -649,7 +649,7 @@ typedef int16 pair16[2]; dclass DistributedToon : DistributedPlayer { setDNAString(blob) required broadcast ownrecv db; setGM(uint16 = 0) required broadcast ownrecv db; - setMaxBankMoney(int16 maxMoney = 15000) required broadcast ownrecv db; + setMaxBankMoney(int16 maxMoney = 10000) required broadcast ownrecv db; setBankMoney(int16 money = 0) required broadcast ownrecv db; setMaxMoney(int16 maxMoney = 40) required broadcast ownrecv db; setMoney(int16 money = 0) required broadcast ownrecv db; diff --git a/toontown/catalog/CatalogAccessoryItem.py b/toontown/catalog/CatalogAccessoryItem.py index 225be227..2ec3cca8 100644 --- a/toontown/catalog/CatalogAccessoryItem.py +++ b/toontown/catalog/CatalogAccessoryItem.py @@ -10,9 +10,9 @@ from pandac.PandaModules import * class CatalogAccessoryItem(CatalogItem.CatalogItem): - def makeNewItem(self, accessoryType, loyaltyDays = 0): + def makeNewItem(self, accessoryType, isSpecial = False): self.accessoryType = accessoryType - self.loyaltyDays = loyaltyDays + self.isSpecial = isSpecial CatalogItem.CatalogItem.makeNewItem(self) def storedInTrunk(self): @@ -383,9 +383,9 @@ class CatalogAccessoryItem(CatalogItem.CatalogItem): CatalogItem.CatalogItem.decodeDatagram(self, di, versionNumber, store) self.accessoryType = di.getUint16() if versionNumber >= 6: - self.loyaltyDays = di.getUint16() + self.isSpecial = di.getBool() else: - self.loyaltyDays = 0 + self.isSpecial = False str = AccessoryTypes[self.accessoryType][ATString] if self.isHat(): defn = ToonDNA.HatStyles[str] @@ -400,18 +400,10 @@ class CatalogAccessoryItem(CatalogItem.CatalogItem): def encodeDatagram(self, dg, store): CatalogItem.CatalogItem.encodeDatagram(self, dg, store) dg.addUint16(self.accessoryType) - dg.addUint16(self.loyaltyDays) + dg.addBool(self.isSpecial) def isGift(self): - if self.getEmblemPrices(): - return 0 - if self.loyaltyRequirement() > 0: - return 0 - elif self.accessoryType in LoyaltyAccessoryItems: - return 0 - else: - return 1 - + return not self.getEmblemPrices() def getAllAccessories(*accessoryTypes): list = [] @@ -419,4 +411,4 @@ def getAllAccessories(*accessoryTypes): base = CatalogAccessoryItem(accessoryType) list.append(base) - return list + return list \ No newline at end of file diff --git a/toontown/catalog/CatalogAccessoryItemGlobals.py b/toontown/catalog/CatalogAccessoryItemGlobals.py index c7b02f15..c87f58d6 100644 --- a/toontown/catalog/CatalogAccessoryItemGlobals.py +++ b/toontown/catalog/CatalogAccessoryItemGlobals.py @@ -739,5 +739,4 @@ AccessoryTypes = {101: (AHat, 449: (AShoes, 'shw2', APriceCool, - 7)} -LoyaltyAccessoryItems = [] + 7)} \ No newline at end of file diff --git a/toontown/catalog/CatalogClothingItem.py b/toontown/catalog/CatalogClothingItem.py index 7ad4b8e0..544dae3d 100644 --- a/toontown/catalog/CatalogClothingItem.py +++ b/toontown/catalog/CatalogClothingItem.py @@ -292,22 +292,13 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1819: (AGirlsSkirt, 'sa_gs21', 5000), 1820: (AShirt, 'sa_ss55', 5000), 1821: (AShirt, 'weed', 5000)} -LoyaltyClothingItems = (1600, - 1601, - 1602, - 1603, - 1604, - 1605, - 1606, - 1607, - 1608) class CatalogClothingItem(CatalogItem.CatalogItem): - def makeNewItem(self, clothingType, colorIndex, loyaltyDays = 0): + def makeNewItem(self, clothingType, colorIndex, isSpecial = False): self.clothingType = clothingType self.colorIndex = colorIndex - self.loyaltyDays = loyaltyDays + self.isSpecial = isSpecial CatalogItem.CatalogItem.makeNewItem(self) def storedInCloset(self): @@ -566,9 +557,9 @@ class CatalogClothingItem(CatalogItem.CatalogItem): self.clothingType = di.getUint16() self.colorIndex = di.getUint8() if versionNumber >= 6: - self.loyaltyDays = di.getUint16() + self.isSpecial = di.getBool() else: - self.loyaltyDays = 0 + self.isSpecial = False str = ClothingTypes[self.clothingType][CTString] if self.isShirt(): color = ToonDNA.ShirtStyles[str][2][self.colorIndex] @@ -579,18 +570,10 @@ class CatalogClothingItem(CatalogItem.CatalogItem): CatalogItem.CatalogItem.encodeDatagram(self, dg, store) dg.addUint16(self.clothingType) dg.addUint8(self.colorIndex) - dg.addUint16(self.loyaltyDays) + dg.addBool(self.isSpecial) def isGift(self): - if self.getEmblemPrices(): - return 0 - if self.loyaltyRequirement() > 0: - return 0 - elif self.clothingType in LoyaltyClothingItems: - return 0 - else: - return 1 - + return not self.getEmblemPrices() def getAllClothes(*clothingTypes): list = [] @@ -600,4 +583,4 @@ def getAllClothes(*clothingTypes): for n in range(1, len(base.getColorChoices())): list.append(CatalogClothingItem(clothingType, n)) - return list + return list \ No newline at end of file diff --git a/toontown/catalog/CatalogEmoteItem.py b/toontown/catalog/CatalogEmoteItem.py index 2b6596ce..bd21122b 100644 --- a/toontown/catalog/CatalogEmoteItem.py +++ b/toontown/catalog/CatalogEmoteItem.py @@ -3,15 +3,14 @@ from toontown.toonbase import ToontownGlobals from toontown.toonbase import TTLocalizer from otp.otpbase import OTPLocalizer from direct.interval.IntervalGlobal import * -LoyaltyEmoteItems = (20, 21, 22, 23, 24, 25, 26) class CatalogEmoteItem(CatalogItem.CatalogItem): sequenceNumber = 0 pictureToon = None - def makeNewItem(self, emoteIndex, loyaltyDays = 0): + def makeNewItem(self, emoteIndex, isSpecial = False): self.emoteIndex = emoteIndex - self.loyaltyDays = loyaltyDays + self.isSpecial = isSpecial CatalogItem.CatalogItem.makeNewItem(self) def getPurchaseLimit(self): @@ -116,23 +115,16 @@ class CatalogEmoteItem(CatalogItem.CatalogItem): CatalogItem.CatalogItem.decodeDatagram(self, di, versionNumber, store) self.emoteIndex = di.getUint8() if versionNumber >= 6: - self.loyaltyDays = di.getUint16() + self.isSpecial = di.getBool() else: - self.loyaltyDays = 0 + self.isSpecial = False if self.emoteIndex > len(OTPLocalizer.EmoteList): raise ValueError def encodeDatagram(self, dg, store): CatalogItem.CatalogItem.encodeDatagram(self, dg, store) dg.addUint8(self.emoteIndex) - dg.addUint16(self.loyaltyDays) + dg.addBool(self.isSpecial) def isGift(self): - if self.getEmblemPrices(): - return 0 - if self.loyaltyRequirement() > 0: - return 0 - elif self.emoteIndex in LoyaltyEmoteItems: - return 0 - else: - return 1 + return not self.getEmblemPrices() \ No newline at end of file diff --git a/toontown/catalog/CatalogGenerator.py b/toontown/catalog/CatalogGenerator.py index cddaa4a8..188d35b8 100644 --- a/toontown/catalog/CatalogGenerator.py +++ b/toontown/catalog/CatalogGenerator.py @@ -540,22 +540,22 @@ MonthlySchedule = ((7, CatalogGardenStarterItem(), CatalogNametagItem(100), CatalogNametagItem(0), - CatalogClothingItem(1608, 0, 90), - CatalogClothingItem(1605, 0, 90), - CatalogClothingItem(1602, 0, 90), - CatalogClothingItem(1607, 0, 60), - CatalogClothingItem(1604, 0, 60), - CatalogClothingItem(1601, 0, 60), - CatalogClothingItem(1606, 0, 30), - CatalogClothingItem(1603, 0, 30), - CatalogClothingItem(1600, 0, 30), - CatalogEmoteItem(20, 30), - CatalogEmoteItem(21, 45), - CatalogEmoteItem(22, 60), - CatalogEmoteItem(23, 75), - CatalogEmoteItem(24, 90), - CatalogEmoteItem(25, 115), - CatalogEmoteItem(26, 130))), + CatalogClothingItem(1608, 0, True), + CatalogClothingItem(1605, 0, True), + CatalogClothingItem(1602, 0, True), + CatalogClothingItem(1607, 0, True), + CatalogClothingItem(1604, 0, True), + CatalogClothingItem(1601, 0, True), + CatalogClothingItem(1606, 0, True), + CatalogClothingItem(1603, 0, True), + CatalogClothingItem(1600, 0, True), + CatalogEmoteItem(20, True), + CatalogEmoteItem(21, True), + CatalogEmoteItem(22, True), + CatalogEmoteItem(23, True), + CatalogEmoteItem(24, True), + CatalogEmoteItem(25, True), + CatalogEmoteItem(26, True))), (5, 26, 6, diff --git a/toontown/catalog/CatalogItem.py b/toontown/catalog/CatalogItem.py index 619c3c02..01a86d93 100644 --- a/toontown/catalog/CatalogItem.py +++ b/toontown/catalog/CatalogItem.py @@ -20,7 +20,7 @@ CatalogTypeUnspecified = 0 CatalogTypeWeekly = 1 CatalogTypeBackorder = 2 CatalogTypeMonthly = 3 -CatalogTypeLoyalty = 4 +CatalogTypeSpecial = 4 class CatalogItem: notify = DirectNotifyGlobal.directNotify.newCategory('CatalogItem') @@ -32,6 +32,7 @@ class CatalogItem: self.giftTag = None self.giftCode = 0 self.hasPicture = False + self.isSpecial = False self.volume = 0 self.specialEventId = 0 if len(args) >= 1 and isinstance(args[0], DatagramIterator): @@ -127,14 +128,8 @@ class CatalogItem: def forGirlsOnly(self): return 0 - def setLoyaltyRequirement(self, days): - self.loyaltyDays = days - - def loyaltyRequirement(self): - if not hasattr(self, 'loyaltyDays'): - return 0 - else: - return self.loyaltyDays + def getIsSpecial(self): + return self.isSpecial def getPrice(self, catalogType): if catalogType == CatalogTypeBackorder: @@ -395,14 +390,6 @@ class CatalogItem: def getRequestPurchaseErrorTextTimeout(self): return 6 - def getDaysToGo(self, avatar): - accountDays = avatar.getAccountDays() - daysToGo = self.loyaltyRequirement() - accountDays - if daysToGo < 0: - daysToGo = 0 - return int(daysToGo) - - def encodeCatalogItem(dg, item, store): import CatalogItemTypes flags = item.getTypeCode() diff --git a/toontown/catalog/CatalogItemPanel.py b/toontown/catalog/CatalogItemPanel.py index b9c451ad..5e2f2d46 100644 --- a/toontown/catalog/CatalogItemPanel.py +++ b/toontown/catalog/CatalogItemPanel.py @@ -311,9 +311,6 @@ class CatalogItemPanel(DirectFrame): elif hasattr(self['item'], 'isSkillTooLow') and self['item'].isSkillTooLow(base.localAvatar): auxText = TTLocalizer.SkillTooLow self.buyButton['state'] = DGG.DISABLED - elif hasattr(self['item'], 'getDaysToGo') and self['item'].getDaysToGo(base.localAvatar): - auxText = TTLocalizer.DaysToGo % self['item'].getDaysToGo(base.localAvatar) - self.buyButton['state'] = DGG.DISABLED elif self['item'].getEmblemPrices() and not base.localAvatar.isEnoughMoneyAndEmblemsToBuy(self['item'].getPrice(self['type']), self['item'].getEmblemPrices()): self.buyButton['state'] = DGG.DISABLED elif self['item'].__class__.__name__ == "CatalogHouseItem" and self['item'].houseId == localAvatar.houseType: diff --git a/toontown/catalog/CatalogScreen.py b/toontown/catalog/CatalogScreen.py index cf5d9f45..36eb9d3c 100644 --- a/toontown/catalog/CatalogScreen.py +++ b/toontown/catalog/CatalogScreen.py @@ -112,8 +112,8 @@ class CatalogScreen(DirectFrame): def setNumBackPages(self, numBackPages): self.numBackPages = numBackPages - def setNumLoyaltyPages(self, numLoyaltyPages): - self.numLoyaltyPages = numLoyaltyPages + def setNumSpecialPages(self, numSpecialPages): + self.numSpecialPages = numSpecialPages def setNumEmblemPages(self, numEmblemPages): self.numEmblemPages = numEmblemPages @@ -127,49 +127,49 @@ class CatalogScreen(DirectFrame): def enableBackorderCatalogButton(self): self.backCatalogButton['state'] = DGG.NORMAL self.newCatalogButton['state'] = DGG.DISABLED - self.loyaltyCatalogButton['state'] = DGG.DISABLED + self.specialCatalogButton['state'] = DGG.DISABLED self.emblemCatalogButton['state'] = DGG.DISABLED def enableNewCatalogButton(self): self.backCatalogButton['state'] = DGG.DISABLED self.newCatalogButton['state'] = DGG.NORMAL - self.loyaltyCatalogButton['state'] = DGG.DISABLED + self.specialCatalogButton['state'] = DGG.DISABLED self.emblemCatalogButton['state'] = DGG.DISABLED - def enableLoyaltyCatalogButton(self): + def enableSpecialCatalogButton(self): self.backCatalogButton['state'] = DGG.DISABLED self.newCatalogButton['state'] = DGG.DISABLED - self.loyaltyCatalogButton['state'] = DGG.NORMAL + self.specialCatalogButton['state'] = DGG.NORMAL self.emblemCatalogButton['state'] = DGG.DISABLED def enableEmblemCatalogButton(self): self.backCatalogButton['state'] = DGG.DISABLED self.newCatalogButton['state'] = DGG.DISABLED - self.loyaltyCatalogButton['state'] = DGG.DISABLED + self.specialCatalogButton['state'] = DGG.DISABLED self.emblemCatalogButton['state'] = DGG.NORMAL def modeBackorderCatalog(self): self.backCatalogButton['state'] = DGG.DISABLED self.newCatalogButton['state'] = DGG.NORMAL - self.loyaltyCatalogButton['state'] = DGG.NORMAL + self.specialCatalogButton['state'] = DGG.NORMAL self.emblemCatalogButton['state'] = DGG.NORMAL def modeNewCatalog(self): self.backCatalogButton['state'] = DGG.NORMAL self.newCatalogButton['state'] = DGG.DISABLED - self.loyaltyCatalogButton['state'] = DGG.NORMAL + self.specialCatalogButton['state'] = DGG.NORMAL self.emblemCatalogButton['state'] = DGG.NORMAL - def modeLoyaltyCatalog(self): + def modeSpecialCatalog(self): self.backCatalogButton['state'] = DGG.NORMAL self.newCatalogButton['state'] = DGG.NORMAL - self.loyaltyCatalogButton['state'] = DGG.DISABLED + self.specialCatalogButton['state'] = DGG.DISABLED self.emblemCatalogButton['state'] = DGG.NORMAL def modeEmblemCatalog(self): self.backCatalogButton['state'] = DGG.NORMAL self.newCatalogButton['state'] = DGG.NORMAL - self.loyaltyCatalogButton['state'] = DGG.NORMAL + self.specialCatalogButton['state'] = DGG.NORMAL self.emblemCatalogButton['state'] = DGG.DISABLED def showNewItems(self, index = None): @@ -206,15 +206,15 @@ class CatalogScreen(DirectFrame): self.showPageItems() return - def showLoyaltyItems(self, index = None): + def showSpecialItems(self, index = None): if config.GetBool('want-qa-regression', 0): self.notify.info('QA-REGRESSION: CATALOG: Special item') taskMgr.remove('clarabelleHelpText1') messenger.send('wakeup') - self.viewing = 'Loyalty' - self.modeLoyaltyCatalog() - self.setMaxPageIndex(self.numLoyaltyPages) - if self.numLoyaltyPages == 0: + self.viewing = 'Special' + self.modeSpecialCatalog() + self.setMaxPageIndex(self.numSpecialPages) + if self.numSpecialPages == 0: self.setPageIndex(-1) elif index is not None: self.setPageIndex(index) @@ -249,11 +249,11 @@ class CatalogScreen(DirectFrame): self.viewing == 'New' if self.viewing == 'New' and self.pageIndex > self.maxPageIndex and self.numBackPages > 0: self.showBackorderItems() - if self.viewing == 'New' and self.pageIndex > self.maxPageIndex and self.numLoyaltyPages > 0: - self.showLoyaltyItems() - elif self.viewing == 'Backorder' and self.pageIndex > self.maxPageIndex and self.numLoyaltyPages > 0: - self.showLoyaltyItems() - elif self.viewing == 'Loyalty' and self.pageIndex > self.maxPageIndex and self.numEmblemPages > 0: + if self.viewing == 'New' and self.pageIndex > self.maxPageIndex and self.numSpecialPages > 0: + self.showSpecialItems() + elif self.viewing == 'Backorder' and self.pageIndex > self.maxPageIndex and self.numSpecialPages > 0: + self.showSpecialItems() + elif self.viewing == 'Special' and self.pageIndex > self.maxPageIndex and self.numEmblemPages > 0: self.showEmblemItems() else: self.pageIndex = min(self.pageIndex, self.maxPageIndex) @@ -266,10 +266,10 @@ class CatalogScreen(DirectFrame): self.pageIndex = self.pageIndex - 1 if self.viewing == 'Backorder' and self.pageIndex < 0 and self.numNewPages > 0: self.showNewItems(self.numNewPages - 1) - elif self.viewing == 'Loyalty' and self.pageIndex < 0 and self.numBackPages > 0: + elif self.viewing == 'Special' and self.pageIndex < 0 and self.numBackPages > 0: self.showBackorderItems(self.numBackPages - 1) - elif self.viewing == 'Emblem' and self.pageIndex < 0 and self.numLoyaltyPages > 0: - self.showLoyaltyItems(self.numLoyaltyPages - 1) + elif self.viewing == 'Emblem' and self.pageIndex < 0 and self.numSpecialPages > 0: + self.showSpecialItems(self.numSpecialPages - 1) else: self.pageIndex = max(self.pageIndex, -1) self.showPageItems() @@ -285,16 +285,16 @@ class CatalogScreen(DirectFrame): self.openCover() if self.viewing == 'New': page = self.pageList[self.pageIndex] - newOrBackOrLoyalty = 0 + newOrBackOrSpecial = 0 elif self.viewing == 'Backorder': page = self.backPageList[self.pageIndex] - newOrBackOrLoyalty = 1 - elif self.viewing == 'Loyalty': - page = self.loyaltyPageList[self.pageIndex] - newOrBackOrLoyalty = 2 + newOrBackOrSpecial = 1 + elif self.viewing == 'Special': + page = self.specialPageList[self.pageIndex] + newOrBackOrSpecial = 2 elif self.viewing == 'Emblem': page = self.emblemPageList[self.pageIndex] - newOrBackOrLoyalty = 3 + newOrBackOrSpecial = 3 page.show() for panel in self.panelDict[page.get_key()]: panel.load() @@ -304,7 +304,7 @@ class CatalogScreen(DirectFrame): pIndex = 0 randGen = random.Random() - randGen.seed(base.localAvatar.catalogScheduleCurrentWeek + (self.pageIndex << 8) + (newOrBackOrLoyalty << 16)) + randGen.seed(base.localAvatar.catalogScheduleCurrentWeek + (self.pageIndex << 8) + (newOrBackOrSpecial << 16)) for i in range(NUM_CATALOG_ROWS): for j in range(NUM_CATALOG_COLS): if pIndex < len(self.visiblePanels): @@ -319,8 +319,8 @@ class CatalogScreen(DirectFrame): if self.viewing == 'New': text = TTLocalizer.CatalogNew - elif self.viewing == 'Loyalty': - text = TTLocalizer.CatalogLoyalty + elif self.viewing == 'Special': + text = TTLocalizer.CatalogSpecial elif self.viewing == 'Backorder': text = TTLocalizer.CatalogBackorder elif self.viewing == 'Emblem': @@ -328,13 +328,13 @@ class CatalogScreen(DirectFrame): self.pageLabel['text'] = text + ' - %d' % (self.pageIndex + 1) if self.pageIndex < self.maxPageIndex: self.nextPageButton.show() - elif self.viewing == 'New' and self.numBackPages == 0 and self.numLoyaltyPages == 0: + elif self.viewing == 'New' and self.numBackPages == 0 and self.numSpecialPages == 0: self.nextPageButton.hide() - elif self.viewing == 'Backorder' and self.numLoyaltyPages == 0: + elif self.viewing == 'Backorder' and self.numSpecialPages == 0: self.nextPageButton.hide() - elif self.viewing == 'Loyalty' and self.numEmblemPages == 0: + elif self.viewing == 'Special' and self.numEmblemPages == 0: self.nextPageButton.hide() - elif self.viewing == 'Loyalty' and self.numEmblemPages > 0: + elif self.viewing == 'Special' and self.numEmblemPages > 0: self.nextPageButton.show() elif self.viewing == 'Emblem': self.nextPageButton.hide() @@ -369,7 +369,7 @@ class CatalogScreen(DirectFrame): for page in self.backPageList: page.hide() - for page in self.loyaltyPageList: + for page in self.specialPageList: page.hide() for page in self.emblemPageList: @@ -400,26 +400,26 @@ class CatalogScreen(DirectFrame): self.newCatalogButton2.show() if self.numBackPages > 0: self.backCatalogButton2.show() - if self.numLoyaltyPages > 0: - self.loyaltyCatalogButton2.show() + if self.numSpecialPages > 0: + self.specialCatalogButton2.show() if self.numEmblemPages > 0: self.emblemCatalogButton2.show() self.newCatalogButton.hide() self.backCatalogButton.hide() - self.loyaltyCatalogButton.hide() + self.specialCatalogButton.hide() self.emblemCatalogButton.hide() def hideDummyTabs(self): self.newCatalogButton2.hide() self.backCatalogButton2.hide() - self.loyaltyCatalogButton2.hide() + self.specialCatalogButton2.hide() self.emblemCatalogButton2.hide() if self.numNewPages > 0: self.newCatalogButton.show() if self.numBackPages > 0: self.backCatalogButton.show() - if self.numLoyaltyPages > 0: - self.loyaltyCatalogButton.show() + if self.numSpecialPages > 0: + self.specialCatalogButton.show() if self.numEmblemPages > 0: self.emblemCatalogButton.show() @@ -453,14 +453,14 @@ class CatalogScreen(DirectFrame): self.maxPageIndex = 0 self.numNewPages = 0 self.numBackPages = 5 - self.numLoyaltyPages = 0 + self.numSpecialPages = 0 self.viewing = 'New' self.panelList = [] self.backPanelList = [] self.pageList = [] self.backPageList = [] - self.loyaltyPanelList = [] - self.loyaltyPageList = [] + self.specialPanelList = [] + self.specialPageList = [] self.emblemPanelList = [] self.emblemPageList = [] self.panelDict = {} @@ -516,19 +516,19 @@ class CatalogScreen(DirectFrame): -0.2, 0.4), image_scale=(1.0, 1.0, smash), image_pos=(0.0, 0.0, lift), image=backDown, pressEffect=0, command=self.showBackorderItems, text=TTLocalizer.CatalogBackorder, text_font=ToontownGlobals.getSignFont(), text_pos=(0.25 - lift, 0.132), text_scale=TTLocalizer.CSbackCatalogButton, text_fg=(0.392, 0.549, 0.627, 1.0), text2_fg=(0.392, 0.349, 0.427, 1.0)) self.backCatalogButton2.hide() - self.loyaltyCatalogButton = DirectButton(self.base, relief=None, pos=(0, 0, 0.469), frameSize=(-0.2, + self.specialCatalogButton = DirectButton(self.base, relief=None, pos=(0, 0, 0.469), frameSize=(-0.2, 0.25, -0.85, -0.3), image=[newDown, newDown, newDown, - newUp], image_scale=(1.0, 1.0, smash), image_pos=(0.0, 0.0, -1.4 + lift), pressEffect=0, command=self.showLoyaltyItems, text=TTLocalizer.CatalogLoyalty, text_font=ToontownGlobals.getSignFont(), text_pos=(1.0 - lift, 0.132), text3_pos=(1.0 - lift, 0.112), text_scale=0.065, text_fg=(0.353, 0.627, 0.627, 1.0), text2_fg=(0.353, 0.427, 0.427, 1.0)) - self.loyaltyCatalogButton.hide() - self.loyaltyCatalogButton2 = DirectButton(self.base, relief=None, pos=(0, 0, 0.469), frameSize=(-0.2, + newUp], image_scale=(1.0, 1.0, smash), image_pos=(0.0, 0.0, -1.4 + lift), pressEffect=0, command=self.showSpecialItems, text=TTLocalizer.CatalogSpecial, text_font=ToontownGlobals.getSignFont(), text_pos=(1.0 - lift, 0.132), text3_pos=(1.0 - lift, 0.112), text_scale=0.065, text_fg=(0.353, 0.627, 0.627, 1.0), text2_fg=(0.353, 0.427, 0.427, 1.0)) + self.specialCatalogButton.hide() + self.specialCatalogButton2 = DirectButton(self.base, relief=None, pos=(0, 0, 0.469), frameSize=(-0.2, 0.25, -0.85, - -0.3), image_scale=(1.0, 1.0, smash), image_pos=(0.0, 0.0, -1.4 + lift), image=newDown, pressEffect=0, command=self.showLoyaltyItems, text=TTLocalizer.CatalogLoyalty, text_font=ToontownGlobals.getSignFont(), text_pos=(1.0 - lift, 0.132), text_scale=0.065, text_fg=(0.353, 0.627, 0.627, 1.0), text2_fg=(0.353, 0.427, 0.427, 1.0)) - self.loyaltyCatalogButton2.hide() + -0.3), image_scale=(1.0, 1.0, smash), image_pos=(0.0, 0.0, -1.4 + lift), image=newDown, pressEffect=0, command=self.showSpecialItems, text=TTLocalizer.CatalogSpecial, text_font=ToontownGlobals.getSignFont(), text_pos=(1.0 - lift, 0.132), text_scale=0.065, text_fg=(0.353, 0.627, 0.627, 1.0), text2_fg=(0.353, 0.427, 0.427, 1.0)) + self.specialCatalogButton2.hide() self.emblemCatalogButton = DirectButton(self.base, relief=None, pos=(0, 0, 1.05), frameSize=(-0.2, 0.25, -2.0, @@ -578,8 +578,8 @@ class CatalogScreen(DirectFrame): self.newCatalogButton2.component('text%d' % i).setR(90) self.backCatalogButton.component('text%d' % i).setR(90) self.backCatalogButton2.component('text%d' % i).setR(90) - self.loyaltyCatalogButton.component('text%d' % i).setR(90) - self.loyaltyCatalogButton2.component('text%d' % i).setR(90) + self.specialCatalogButton.component('text%d' % i).setR(90) + self.specialCatalogButton2.component('text%d' % i).setR(90) self.emblemCatalogButton.component('text%d' % i).setR(90) self.emblemCatalogButton2.component('text%d' % i).setR(90) @@ -623,8 +623,8 @@ class CatalogScreen(DirectFrame): continue if isMaxBankOffered and item in allBankItems and item.furnitureType != CatalogFurnitureItem.MaxBankId: continue - if item.loyaltyRequirement() != 0: - self.loyaltyPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeLoyalty, parentCatalogScreen=self)) + if item.getIsSpecial(): + self.specialPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeSpecial, parentCatalogScreen=self)) elif item.getEmblemPrices(): self.emblemPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeWeekly, parentCatalogScreen=self)) else: @@ -641,8 +641,8 @@ class CatalogScreen(DirectFrame): continue if isMaxBankOffered and item in allBankItems and item.furnitureType != CatalogFurnitureItem.MaxBankId: continue - if item.loyaltyRequirement() != 0: - self.loyaltyPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeLoyalty, parentCatalogScreen=self)) + if item.getIsSpecial(): + self.specialPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeSpecial, parentCatalogScreen=self)) elif item.getEmblemPrices(): self.emblemPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeBackorder, parentCatalogScreen=self)) else: @@ -652,8 +652,8 @@ class CatalogScreen(DirectFrame): self.setNumNewPages(numPages) numPages = self.packPages(self.backPanelList, self.backPageList, 'back') self.setNumBackPages(numPages) - numPages = self.packPages(self.loyaltyPanelList, self.loyaltyPageList, 'loyalty') - self.setNumLoyaltyPages(numPages) + numPages = self.packPages(self.specialPanelList, self.specialPageList, 'special') + self.setNumSpecialPages(numPages) numPages = self.packPages(self.emblemPanelList, self.emblemPageList, 'emblem') self.setNumEmblemPages(numPages) currentWeek = base.localAvatar.catalogScheduleCurrentWeek - 1 @@ -766,7 +766,7 @@ class CatalogScreen(DirectFrame): self.clarabelleFrame.setPosHprScale(-0.01, 0.0, -0.01, 0.0, 0.0, 0.0, 1.02, 1.0, 1.02) def reload(self): - for panel in self.panelList + self.backPanelList + self.loyaltyPanelList + self.emblemPanelList: + for panel in self.panelList + self.backPanelList + self.specialPanelList + self.emblemPanelList: panel.destroy() def priceSort(a, b, type): @@ -778,23 +778,23 @@ class CatalogScreen(DirectFrame): self.maxPageIndex = 0 self.numNewPages = 0 self.numBackPages = 5 - self.numLoyaltyPages = 0 + self.numSpecialPages = 0 self.viewing = 'New' self.panelList = [] self.backPanelList = [] - self.loyaltyList = [] + self.specialList = [] self.pageList = [] self.backPageList = [] - self.loyaltyPanelList = [] - self.loyaltyPageList = [] + self.specialPanelList = [] + self.specialPageList = [] self.panelDict = {} self.visiblePanels = [] itemList = base.localAvatar.monthlyCatalog + base.localAvatar.weeklyCatalog itemList.sort(lambda a, b: priceSort(a, b, CatalogItem.CatalogTypeWeekly)) itemList.reverse() for item in itemList: - if item.loyaltyRequirement() != 0: - self.loyaltyPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeLoyalty, parentCatalogScreen=self)) + if item.getIsSpecial(): + self.specialPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeSpecial, parentCatalogScreen=self)) else: self.panelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeWeekly)) @@ -802,8 +802,8 @@ class CatalogScreen(DirectFrame): itemList.sort(lambda a, b: priceSort(a, b, CatalogItem.CatalogTypeBackorder)) itemList.reverse() for item in itemList: - if item.loyaltyRequirement() != 0: - self.loyaltyPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeLoyalty, parentCatalogScreen=self)) + if item.getIsSpecial(): + self.specialPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeSpecial, parentCatalogScreen=self)) else: self.backPanelList.append(CatalogItemPanel.CatalogItemPanel(parent=hidden, item=item, type=CatalogItem.CatalogTypeBackorder)) @@ -811,8 +811,8 @@ class CatalogScreen(DirectFrame): self.setNumNewPages(numPages) numPages = self.packPages(self.backPanelList, self.backPageList, 'back') self.setNumBackPages(numPages) - numPages = self.packPages(self.loyaltyPanelList, self.loyaltyPageList, 'loyalty') - self.setNumLoyaltyPages(numPages) + numPages = self.packPages(self.specialPanelList, self.specialPageList, 'special') + self.setNumSpecialPages(numPages) seriesNumber = (base.localAvatar.catalogScheduleCurrentWeek - 1) / ToontownGlobals.CatalogNumWeeksPerSeries + 1 self.catalogSeries['text'] = Localizer.CatalogSeriesLabel % seriesNumber weekNumber = (base.localAvatar.catalogScheduleCurrentWeek - 1) % ToontownGlobals.CatalogNumWeeksPerSeries + 1 @@ -835,7 +835,7 @@ class CatalogScreen(DirectFrame): self.destroy() del self.base del self.squares - for panel in self.panelList + self.backPanelList + self.loyaltyPanelList + self.emblemPanelList: + for panel in self.panelList + self.backPanelList + self.specialPanelList + self.emblemPanelList: panel.destroy() del self.panelList @@ -853,8 +853,8 @@ class CatalogScreen(DirectFrame): del self.newCatalogButton2 del self.backCatalogButton del self.backCatalogButton2 - del self.loyaltyCatalogButton - del self.loyaltyCatalogButton2 + del self.specialCatalogButton + del self.specialCatalogButton2 del self.pageLabel if self.createdGiftGui: del self.giftToggle @@ -899,8 +899,8 @@ class CatalogScreen(DirectFrame): self.newCatalogButton2.hide() self.backCatalogButton.hide() self.backCatalogButton2.hide() - self.loyaltyCatalogButton.hide() - self.loyaltyCatalogButton2.hide() + self.specialCatalogButton.hide() + self.specialCatalogButton2.hide() self.emblemCatalogButton.hide() self.emblemCatalogButton2.hide() self.hangup.hide() @@ -924,7 +924,7 @@ class CatalogScreen(DirectFrame): if hasattr(self, 'beanBank'): self.beanBank['text'] = str(base.localAvatar.getTotalMoney()) if lock == 0: - for item in self.panelList + self.backPanelList + self.loyaltyPanelList + self.emblemPanelList: + for item in self.panelList + self.backPanelList + self.specialPanelList + self.emblemPanelList: if type(item) != type(''): item.updateButtons(self.gifting) diff --git a/toontown/estate/DistributedPhoneAI.py b/toontown/estate/DistributedPhoneAI.py index 59271837..aa08fd29 100644 --- a/toontown/estate/DistributedPhoneAI.py +++ b/toontown/estate/DistributedPhoneAI.py @@ -98,9 +98,6 @@ class DistributedPhoneAI(DistributedFurnitureItemAI): if isinstance(item, CatalogInvalidItem): self.air.writeServerEvent('suspicious', avId, 'Tried to purchase invalid catalog item.') return - if item.loyaltyRequirement(): - self.air.writeServerEvent('suspicious', avId, 'Tried to purchase an unimplemented loyalty item!') - return if item in av.backCatalog: price = item.getPrice(CatalogItem.CatalogTypeBackorder) elif item in av.weeklyCatalog or item in av.monthlyCatalog: diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index beb9e51f..edac2f42 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -5422,7 +5422,7 @@ CatalogCurrency = 'beans' CatalogHangUp = 'Hang Up' CatalogNew = 'NEW' CatalogBackorder = 'BACKORDER' -CatalogLoyalty = 'SPECIAL' +CatalogSpecial = 'SPECIAL' CatalogEmblem = 'EMBLEM' CatalogPagePrefix = 'Page' CatalogGreeting = "Hello! Thanks for calling Clarabelle's Cattlelog. Can I help you?" @@ -8081,7 +8081,6 @@ ElevatorLawBotCourse0 = 'Office A' ElevatorLawBotCourse1 = 'Office B' ElevatorLawBotCourse2 = 'Office C' ElevatorLawBotCourse3 = 'Office D' -DaysToGo = 'Wait\n%s Days' IceGameTitle = 'Ice Slide' IceGameInstructions = 'Get as close to the center by the end of the second round. Use arrow keys to change direction and force. Press Ctrl to launch your toon. Hit barrels for extra points and avoid the TNT!' IceGameInstructionsNoTnt = 'Get as close to the center by the end of the second round. Use arrow keys to change direction and force. Press Ctrl to launch your toon. Hit barrels for extra points.' From 8d333301926ac36a3c55bb6f267d11f3d0a0f11f Mon Sep 17 00:00:00 2001 From: DenialMC Date: Thu, 14 May 2015 20:54:08 +0300 Subject: [PATCH 23/78] New version number. --- toontown/catalog/CatalogAccessoryItem.py | 5 +---- toontown/catalog/CatalogClothingItem.py | 5 +---- toontown/catalog/CatalogEmoteItem.py | 5 +---- toontown/catalog/CatalogFlooringItem.py | 7 ++---- toontown/catalog/CatalogItem.py | 26 +++++----------------- toontown/catalog/CatalogMouldingItem.py | 5 +---- toontown/catalog/CatalogRentalItem.py | 5 +---- toontown/catalog/CatalogWainscotingItem.py | 5 +---- toontown/catalog/CatalogWallpaperItem.py | 20 +++++------------ 9 files changed, 18 insertions(+), 65 deletions(-) diff --git a/toontown/catalog/CatalogAccessoryItem.py b/toontown/catalog/CatalogAccessoryItem.py index 2ec3cca8..366fa278 100644 --- a/toontown/catalog/CatalogAccessoryItem.py +++ b/toontown/catalog/CatalogAccessoryItem.py @@ -382,10 +382,7 @@ class CatalogAccessoryItem(CatalogItem.CatalogItem): def decodeDatagram(self, di, versionNumber, store): CatalogItem.CatalogItem.decodeDatagram(self, di, versionNumber, store) self.accessoryType = di.getUint16() - if versionNumber >= 6: - self.isSpecial = di.getBool() - else: - self.isSpecial = False + self.isSpecial = di.getBool() str = AccessoryTypes[self.accessoryType][ATString] if self.isHat(): defn = ToonDNA.HatStyles[str] diff --git a/toontown/catalog/CatalogClothingItem.py b/toontown/catalog/CatalogClothingItem.py index 544dae3d..2a1ef3b7 100644 --- a/toontown/catalog/CatalogClothingItem.py +++ b/toontown/catalog/CatalogClothingItem.py @@ -556,10 +556,7 @@ class CatalogClothingItem(CatalogItem.CatalogItem): CatalogItem.CatalogItem.decodeDatagram(self, di, versionNumber, store) self.clothingType = di.getUint16() self.colorIndex = di.getUint8() - if versionNumber >= 6: - self.isSpecial = di.getBool() - else: - self.isSpecial = False + self.isSpecial = di.getBool() str = ClothingTypes[self.clothingType][CTString] if self.isShirt(): color = ToonDNA.ShirtStyles[str][2][self.colorIndex] diff --git a/toontown/catalog/CatalogEmoteItem.py b/toontown/catalog/CatalogEmoteItem.py index bd21122b..fa173bc6 100644 --- a/toontown/catalog/CatalogEmoteItem.py +++ b/toontown/catalog/CatalogEmoteItem.py @@ -114,10 +114,7 @@ class CatalogEmoteItem(CatalogItem.CatalogItem): def decodeDatagram(self, di, versionNumber, store): CatalogItem.CatalogItem.decodeDatagram(self, di, versionNumber, store) self.emoteIndex = di.getUint8() - if versionNumber >= 6: - self.isSpecial = di.getBool() - else: - self.isSpecial = False + self.isSpecial = di.getBool() if self.emoteIndex > len(OTPLocalizer.EmoteList): raise ValueError diff --git a/toontown/catalog/CatalogFlooringItem.py b/toontown/catalog/CatalogFlooringItem.py index e5fc7144..93fd53d0 100644 --- a/toontown/catalog/CatalogFlooringItem.py +++ b/toontown/catalog/CatalogFlooringItem.py @@ -108,11 +108,8 @@ class CatalogFlooringItem(CatalogSurfaceItem): def decodeDatagram(self, di, versionNumber, store): CatalogAtticItem.CatalogAtticItem.decodeDatagram(self, di, versionNumber, store) - if versionNumber < 3: - self.patternIndex = di.getUint8() - else: - self.patternIndex = di.getUint16() - if versionNumber < 4 or store & CatalogItem.Customization: + self.patternIndex = di.getUint16() + if store & CatalogItem.Customization: self.colorIndex = di.getUint8() else: self.colorIndex = 0 diff --git a/toontown/catalog/CatalogItem.py b/toontown/catalog/CatalogItem.py index 01a86d93..bba97cda 100644 --- a/toontown/catalog/CatalogItem.py +++ b/toontown/catalog/CatalogItem.py @@ -8,7 +8,7 @@ from direct.distributed.PyDatagramIterator import PyDatagramIterator import types import sys CatalogReverseType = None -CatalogItemVersion = 8 +CatalogItemVersion = 0 CatalogBackorderMarkup = 1.2 CatalogSaleMarkdown = 0.75 Customization = 1 @@ -274,22 +274,9 @@ class CatalogItem: x = di.getArg(STInt16, 10) y = di.getArg(STInt16, 10) z = di.getArg(STInt16, 100) - if versionNumber < 2: - h = di.getArg(STInt16, 10) - p = 0.0 - r = 0.0 - elif versionNumber < 5: - h = di.getArg(STInt8, 256.0 / 360.0) - p = di.getArg(STInt8, 256.0 / 360.0) - r = di.getArg(STInt8, 256.0 / 360.0) - hpr = oldToNewHpr(VBase3(h, p, r)) - h = hpr[0] - p = hpr[1] - r = hpr[2] - else: - h = di.getArg(STInt8, 256.0 / 360.0) - p = di.getArg(STInt8, 256.0 / 360.0) - r = di.getArg(STInt8, 256.0 / 360.0) + h = di.getArg(STInt8, 256.0 / 360.0) + p = di.getArg(STInt8, 256.0 / 360.0) + r = di.getArg(STInt8, 256.0 / 360.0) self.posHpr = (x, y, z, @@ -298,10 +285,7 @@ class CatalogItem: r) if store & GiftTag: self.giftTag = di.getString() - if versionNumber >= 8: - self.specialEventId = di.getUint8() - else: - self.specialEventId = 0 + self.specialEventId = di.getUint8() def encodeDatagram(self, dg, store): if store & DeliveryDate: diff --git a/toontown/catalog/CatalogMouldingItem.py b/toontown/catalog/CatalogMouldingItem.py index 858c9041..d3472e6c 100644 --- a/toontown/catalog/CatalogMouldingItem.py +++ b/toontown/catalog/CatalogMouldingItem.py @@ -93,10 +93,7 @@ class CatalogMouldingItem(CatalogSurfaceItem): def decodeDatagram(self, di, versionNumber, store): CatalogAtticItem.CatalogAtticItem.decodeDatagram(self, di, versionNumber, store) - if versionNumber < 3: - self.patternIndex = di.getUint8() - else: - self.patternIndex = di.getUint16() + self.patternIndex = di.getUint16() self.colorIndex = di.getUint8() wtype = MouldingTypes[self.patternIndex] diff --git a/toontown/catalog/CatalogRentalItem.py b/toontown/catalog/CatalogRentalItem.py index 48b0c073..51dd0ae2 100644 --- a/toontown/catalog/CatalogRentalItem.py +++ b/toontown/catalog/CatalogRentalItem.py @@ -92,10 +92,7 @@ class CatalogRentalItem(CatalogItem.CatalogItem): def decodeDatagram(self, di, versionNumber, store): CatalogItem.CatalogItem.decodeDatagram(self, di, versionNumber, store) - if versionNumber >= 7: - self.cost = di.getUint16() - else: - self.cost = 1000 + self.cost = di.getUint16() self.duration = di.getUint16() self.typeIndex = di.getUint16() diff --git a/toontown/catalog/CatalogWainscotingItem.py b/toontown/catalog/CatalogWainscotingItem.py index accd3951..9fff0f3b 100644 --- a/toontown/catalog/CatalogWainscotingItem.py +++ b/toontown/catalog/CatalogWainscotingItem.py @@ -84,10 +84,7 @@ class CatalogWainscotingItem(CatalogSurfaceItem): def decodeDatagram(self, di, versionNumber, store): CatalogAtticItem.CatalogAtticItem.decodeDatagram(self, di, versionNumber, store) - if versionNumber < 3: - self.patternIndex = di.getUint8() - else: - self.patternIndex = di.getUint16() + self.patternIndex = di.getUint16() self.colorIndex = di.getUint8() wtype = WainscotingTypes[self.patternIndex] diff --git a/toontown/catalog/CatalogWallpaperItem.py b/toontown/catalog/CatalogWallpaperItem.py index 486b5638..ae6aed86 100644 --- a/toontown/catalog/CatalogWallpaperItem.py +++ b/toontown/catalog/CatalogWallpaperItem.py @@ -665,23 +665,13 @@ class CatalogWallpaperItem(CatalogSurfaceItem): def decodeDatagram(self, di, versionNumber, store): CatalogAtticItem.CatalogAtticItem.decodeDatagram(self, di, versionNumber, store) self.colorIndex = 0 - if store & CatalogItem.Customization: - self.borderIndex = 0 - else: - self.borderIndex = 0 + self.borderIndex = 0 self.borderColorIndex = 0 - if versionNumber < 3: - self.patternIndex = di.getUint8() + self.patternIndex = di.getUint16() + if store & CatalogItem.Customization: self.colorIndex = di.getUint8() - elif versionNumber == 3: - self.patternIndex = di.getUint16() - self.colorIndex = di.getUint8() - else: - self.patternIndex = di.getUint16() - if store & CatalogItem.Customization: - self.colorIndex = di.getUint8() - self.borderIndex = di.getUint16() - self.borderColorIndex = di.getUint8() + self.borderIndex = di.getUint16() + self.borderColorIndex = di.getUint8() wtype = WallpaperTypes[self.patternIndex] return From 7fa0bf6d73babdf1eebb2a41ae8b0b3d68d7b4c6 Mon Sep 17 00:00:00 2001 From: Master Voltage Date: Thu, 14 May 2015 16:12:19 -0400 Subject: [PATCH 24/78] Zach stop breaking shit too k --- astron/dclass/united.dc | 8 ++- otp/distributed/DCClassImports.py | 6 +- toontown/estate/DistributedEstate.py | 48 +------------ toontown/estate/DistributedEstateAI.py | 26 ++----- toontown/estate/DistributedTreasureChest.py | 72 +++++++++++++++++++ toontown/estate/DistributedTreasureChestAI.py | 22 ++++++ toontown/estate/TreasureChestGlobals.py | 3 + toontown/toonbase/ToontownGlobals.py | 4 +- 8 files changed, 119 insertions(+), 70 deletions(-) create mode 100644 toontown/estate/DistributedTreasureChest.py create mode 100644 toontown/estate/DistributedTreasureChestAI.py create mode 100644 toontown/estate/TreasureChestGlobals.py diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index ddf124ef..a1f1c1c3 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -359,6 +359,7 @@ from toontown.estate import DistributedBank/AI from toontown.estate import DistributedCloset/AI from toontown.estate import DistributedTrunk/AI from toontown.estate import DistributedPhone/AI +from toontown.estate import DistributedTreasureChest/AI from toontown.effects import DistributedFireworkShow/AI from toontown.estate import DistributedFireworksCannon/AI from toontown.coghq import LobbyManager/AI @@ -1333,8 +1334,6 @@ dclass DistributedEstate : DistributedObject { setSlot5Items(lawnItem items[] = []) required airecv db; setIdList(uint32 []) broadcast ram; completeFlowerSale(uint8) airecv clsend; - completeFishSale(uint8) airecv clsend; - thankSeller(int8, int8, int8); awardedTrophy(uint32) broadcast; setClouds(uint8) required broadcast ram; cannonsOver() broadcast; @@ -2223,6 +2222,11 @@ dclass DistributedPhone : DistributedFurnitureItem { purchaseItemComplete(); }; +dclass DistributedTreasureChest : DistributedObject { + completeSale(bool) airecv clsend; + completeSaleResult(int8, int8, int8); +}; + dclass DistributedFireworkShow : DistributedObject { startShow(uint8, uint8, uint8, int16) broadcast ram; requestFirework(int16/10, int16/10, int16/100, uint8, uint8, uint8) airecv clsend; diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index bde65a54..e4c83560 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,11 @@ from pandac.PandaModules import * +<<<<<<< HEAD hashVal = 2005027427 +======= +hashVal = 2180409862L +>>>>>>> parent of 37fad88... fixed the fish sale at estate from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot @@ -32,7 +36,7 @@ from toontown.friends import TTUFriendsManager from toontown.cogdominium import DistributedCogdoInterior, DistributedCogdoBattleBldg, DistributedCogdoElevatorExt, DistributedCogdoElevatorInt, DistributedCogdoBarrel, DistCogdoGame, DistCogdoLevelGame, DistCogdoBoardroomGame, DistCogdoCraneGame, DistCogdoMazeGame, DistCogdoFlyingGame, DistCogdoCrane, DistCogdoCraneMoneyBag, DistCogdoCraneCog from toontown.uberdog.ARGManager import ARGManager from otp.distributed import Account, DistributedDistrict, DistributedDirectory -from toontown.estate import DistributedCannon, DistributedTarget, EstateManager, DistributedEstate, DistributedHouse, DistributedHouseInterior, DistributedGarden, DistributedHouseDoor, DistributedMailbox, DistributedFurnitureManager, DistributedFurnitureItem, DistributedBank, DistributedCloset, DistributedTrunk, DistributedPhone, DistributedFireworksCannon, DistributedLawnDecor, DistributedGardenPlot, DistributedGardenBox, DistributedFlower, DistributedGagTree, DistributedStatuary, DistributedToonStatuary, DistributedChangingStatuary, DistributedAnimatedStatuary, DistributedPlantBase, DistributedLawnDecor +from toontown.estate import DistributedCannon, DistributedTarget, EstateManager, DistributedEstate, DistributedHouse, DistributedHouseInterior, DistributedGarden, DistributedHouseDoor, DistributedMailbox, DistributedFurnitureManager, DistributedFurnitureItem, DistributedBank, DistributedCloset, DistributedTrunk, DistributedPhone, DistributedTreasureChest, DistributedFireworksCannon, DistributedLawnDecor, DistributedGardenPlot, DistributedGardenBox, DistributedFlower, DistributedGagTree, DistributedStatuary, DistributedToonStatuary, DistributedChangingStatuary, DistributedAnimatedStatuary, DistributedPlantBase, DistributedLawnDecor from toontown.toon import DistributedToon, DistributedNPCToonBase, DistributedNPCToon, DistributedSmartNPC, DistributedNPCSpecialQuestGiver, DistributedNPCFlippyInToonHall, DistributedNPCScientist, DistributedNPCClerk, DistributedNPCTailor, DistributedNPCBlocker, DistributedNPCFisherman, DistributedNPCPartyPerson, DistributedNPCPetclerk, DistributedNPCKartClerk, DistributedNPCGlove, DistributedNPCLaffRestock from toontown.tutorial import DistributedBattleTutorial, TutorialManager from toontown.pets import DistributedPetProxy diff --git a/toontown/estate/DistributedEstate.py b/toontown/estate/DistributedEstate.py index 02cb8e82..90a1d899 100644 --- a/toontown/estate/DistributedEstate.py +++ b/toontown/estate/DistributedEstate.py @@ -28,7 +28,6 @@ from toontown.estate import DistributedStatuary import GardenDropGame import GardenProgressMeter from toontown.estate import FlowerSellGUI -from toontown.fishing import FishSellGUI from toontown.toontowngui import TTDialog class DistributedEstate(DistributedObject.DistributedObject): @@ -49,7 +48,6 @@ class DistributedEstate(DistributedObject.DistributedObject): self.idList = [] base.estate = self self.flowerGuiDoneEvent = 'flowerGuiDone' - self.fishGuiDoneEvent = 'fishGuiDone' return def disable(self): @@ -58,7 +56,6 @@ class DistributedEstate(DistributedObject.DistributedObject): self.__stopCrickets() DistributedObject.DistributedObject.disable(self) self.ignore('enterFlowerSellBox') - self.ignore('enterFishSellBox') def delete(self): self.notify.debug('delete') @@ -75,7 +72,6 @@ class DistributedEstate(DistributedObject.DistributedObject): else: self.loadAirplane() self.loadFlowerSellBox() - self.loadFishSellBox() self.oldClear = base.win.getClearColor() base.win.setClearColor(Vec4(0.09, 0.55, 0.21, 1.0)) self.startGame() @@ -369,57 +365,19 @@ class DistributedEstate(DistributedObject.DistributedObject): if len(base.localAvatar.flowerBasket.flowerList): self.popupFlowerGUI() - def __handleFlowerSaleDone(self, sell = 0): + def __handleSaleDone(self, sell = 0): self.ignore(self.flowerGuiDoneEvent) self.sendUpdate('completeFlowerSale', [sell]) self.ignore('stoppedAsleep') self.flowerGui.destroy() self.flowerGui = None + return def popupFlowerGUI(self): - self.acceptOnce(self.flowerGuiDoneEvent, self.__handleFlowerSaleDone) + self.acceptOnce(self.flowerGuiDoneEvent, self.__handleSaleDone) self.flowerGui = FlowerSellGUI.FlowerSellGUI(self.flowerGuiDoneEvent) self.accept('stoppedAsleep', self.__handleSaleDone) - def loadFishSellBox(self): - self.fishSellBox = loader.loadModel('phase_4/models/minigames/treasure_chest.bam') - self.fishSellBox.setPos(45, -165.75, 0.025) - self.fishSellBox.setH(210) - self.fishSellBox.reparentTo(render) - cSphere = CollisionSphere(0.0, 0.0, 0.0, 2.25) - cSphere.setTangible(0) - colNode = CollisionNode('FishSellBox') - colNode.addSolid(cSphere) - cSpherePath = self.fishSellBox.attachNewNode(colNode) - cSpherePath.hide() - cSpherePath.setCollideMask(ToontownGlobals.WallBitmask) - self.accept('enterFishSellBox', self.__touchedFishSellBox) - - def __touchedFishSellBox(self, entry): - if base.localAvatar.doId in self.idList: - if base.localAvatar.fishTank.getFish(): - self.popupFishGUI() - - def __handleFishSaleDone(self, sell=0): - self.ignore(self.fishGuiDoneEvent) - self.sendUpdate('completeFishSale', [sell]) - self.ignore('stoppedAsleep') - self.fishGui.destroy() - self.fishGui = None - - def popupFishGUI(self): - self.acceptOnce(self.fishGuiDoneEvent, self.__handleFishSaleDone) - self.fishGui = FishSellGUI.FishSellGUI(self.fishGuiDoneEvent) - self.accept('stoppedAsleep', self.__handleFishSaleDone) - - def thankSeller(self, mode, fish, maxFish): - if mode == ToontownGlobals.FISHSALE_TROPHY: - base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_TROPHY % (fish, maxFish)) - elif mode == ToontownGlobals.FISHSALE_COMPLETE: - base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_THANKSFISH) - elif mode == ToontownGlobals.FISHSALE_NONE: - base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_NOFISH) - def closedAwardDialog(self, value): self.awardDialog.destroy() base.cr.playGame.getPlace().detectedGardenPlotDone() diff --git a/toontown/estate/DistributedEstateAI.py b/toontown/estate/DistributedEstateAI.py index 12c88f70..82f8f558 100644 --- a/toontown/estate/DistributedEstateAI.py +++ b/toontown/estate/DistributedEstateAI.py @@ -11,12 +11,7 @@ from toontown.safezone import DistributedTreasureAI from toontown.safezone import TreasureGlobals from DistributedCannonAI import * from DistributedTargetAI import * -import CannonGlobals -import TableGlobals -import HouseGlobals -import time -import random -from toontown.fishing import FishGlobals +import DistributedTreasureChestAI, CannonGlobals, TableGlobals, HouseGlobals, time, random class Rental: def __init__(self, estate): @@ -163,6 +158,9 @@ class DistributedEstateAI(DistributedObjectAI): spot.generateWithRequired(self.zoneId) self.spots.append(spot) + self.treasureChest = DistributedTreasureChestAI.DistributedTreasureChestAI(self.air) + self.treasureChest.generateWithRequired(self.zoneId) + self.createTreasurePlanner() def destroy(self): @@ -184,6 +182,9 @@ class DistributedEstateAI(DistributedObjectAI): self.rentalHandle.destroy() self.rentalHandle = None + if self.treasureChest: + self.treasureChest.requestDelete() + self.requestDelete() def setEstateReady(self): @@ -482,19 +483,6 @@ class DistributedEstateAI(DistributedObjectAI): def completeFlowerSale(self, todo0): pass - def completeFishSale(self, sell): - avId = self.air.getAvatarIdFromSender() - av = self.air.doId2do.get(avId) - if av: - if sell: - trophyResult = self.air.fishManager.creditFishTank(av) - if trophyResult: - self.sendUpdateToAvatarId(avId, 'thankSeller', [ToontownGlobals.FISHSALE_TROPHY, len(av.fishCollection), FishGlobals.getTotalNumFish()]) - else: - self.sendUpdateToAvatarId(avId, 'thankSeller', [ToontownGlobals.FISHSALE_COMPLETE, 0, 0]) - else: - self.sendUpdateToAvatarId(avId, 'thankSeller', [ToontownGlobals.FISHSALE_NONE, 0, 0]) - def awardedTrophy(self, todo0): pass diff --git a/toontown/estate/DistributedTreasureChest.py b/toontown/estate/DistributedTreasureChest.py new file mode 100644 index 00000000..22585152 --- /dev/null +++ b/toontown/estate/DistributedTreasureChest.py @@ -0,0 +1,72 @@ +from direct.distributed.DistributedObject import DistributedObject +from pandac.PandaModules import * +from toontown.fishing import FishSellGUI +from toontown.toonbase import ToontownGlobals, TTLocalizer +import TreasureChestGlobals + +class DistributedTreasureChest(DistributedObject): + + def __init__(self, cr): + DistributedObject.__init__(self, cr) + self.cr = cr + self.createModel(45, -165.75, 0.025, 210) + self.initCollisions() + + def delete(self): + self.ignore('enter' + self.cSphereNode.getName()) + self.cSphereNodePath.removeNode() + self.model.removeNode() + self.destroyFishGui() + del self.cSphere + del self.cSphereNode + del self.cSphereNodePath + del self.model + DistributedObject.delete(self) + + def destroyFishGui(self): + self.ignore('treasureChestSell') + + if hasattr(self, 'fishGui'): + self.fishGui.destroy() + del self.fishGui + + def createModel(self, x, y, z, h): + self.model = loader.loadModel('phase_4/models/minigames/treasure_chest.bam') + self.model.reparentTo(render) + self.model.setScale(1.5) + self.model.setPos(x, y, z) + self.model.setH(h) + + def initCollisions(self): + self.cSphere = CollisionTube(0.0, 0.0, 0.0, 0.0, 0.0, 5.0, ToontownGlobals.TreasureChestSphereRadius) + self.cSphere.setTangible(0) + self.cSphereNode = CollisionNode('cSphereNode') + self.cSphereNode.addSolid(self.cSphere) + self.cSphereNodePath = self.model.attachNewNode(self.cSphereNode) + self.cSphereNodePath.hide() + self.cSphereNode.setCollideMask(ToontownGlobals.WallBitmask) + self.accept('enter' + self.cSphereNode.getName(), self.handleCollisionSphereEnter) + + def handleCollisionSphereEnter(self, collEntry): + if not base.localAvatar.fishTank.getFish(): + base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_NOFISH) + return + + base.setCellsActive(base.bottomCells, 0) + base.cr.playGame.getPlace().setState('stopped') + self.acceptOnce('treasureChestSell', self.handleSaleDone) + self.fishGui = FishSellGUI.FishSellGUI('treasureChestSell') + + def handleSaleDone(self, sell): + self.destroyFishGui() + base.setCellsActive(base.bottomCells, 1) + base.cr.playGame.getPlace().setState('walk') + self.sendUpdate('completeSale', [sell]) + + def completeSaleResult(self, state, numFish, maxFish): + if state == TreasureChestGlobals.TROPHY: + base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_TROPHY % (numFish, maxFish)) + elif state == TreasureChestGlobals.COMPLETE: + base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_THANKSFISH) + elif state == TreasureChestGlobals.NONE: + base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_NOFISH) diff --git a/toontown/estate/DistributedTreasureChestAI.py b/toontown/estate/DistributedTreasureChestAI.py new file mode 100644 index 00000000..13ec4743 --- /dev/null +++ b/toontown/estate/DistributedTreasureChestAI.py @@ -0,0 +1,22 @@ +from direct.distributed.DistributedObjectAI import DistributedObjectAI +from toontown.fishing import FishGlobals +import TreasureChestGlobals + +class DistributedTreasureChestAI(DistributedObjectAI): + + def completeSale(self, sell): + avId = self.air.getAvatarIdFromSender() + av = self.air.doId2do.get(avId) + + if not av: + return + + if sell: + trophyResult = self.air.fishManager.creditFishTank(av) + + if trophyResult: + self.sendUpdateToAvatarId(avId, 'completeSaleResult', [TreasureChestGlobals.TROPHY, len(av.fishCollection), FishGlobals.getTotalNumFish()]) + else: + self.sendUpdateToAvatarId(avId, 'completeSaleResult', [TreasureChestGlobals.COMPLETE, 0, 0]) + else: + self.sendUpdateToAvatarId(avId, 'completeSaleResult', [TreasureChestGlobals.NONE, 0, 0]) diff --git a/toontown/estate/TreasureChestGlobals.py b/toontown/estate/TreasureChestGlobals.py new file mode 100644 index 00000000..5beb4a22 --- /dev/null +++ b/toontown/estate/TreasureChestGlobals.py @@ -0,0 +1,3 @@ +TROPHY = 0 +COMPLETE = 1 +NONE = 2 diff --git a/toontown/toonbase/ToontownGlobals.py b/toontown/toonbase/ToontownGlobals.py index 7cba83ed..8f3c1ac1 100644 --- a/toontown/toonbase/ToontownGlobals.py +++ b/toontown/toonbase/ToontownGlobals.py @@ -1639,7 +1639,5 @@ PropIdToColor = [ ] BugReportSite = 'https://bugs.launchpad.net/toontown-united/+filebug' +TreasureChestSphereRadius = 1.0 CostPerLaffRestock = 3 -FISHSALE_NONE = 0 -FISHSALE_COMPLETE = 1 -FISHSALE_TROPHY = 2 From 2dfc68ed8b47cea89e3d85076e0e1b366732ac49 Mon Sep 17 00:00:00 2001 From: Master Voltage Date: Thu, 14 May 2015 16:13:41 -0400 Subject: [PATCH 25/78] Revert "Zach stop breaking shit too k" This reverts commit 7fa0bf6d73babdf1eebb2a41ae8b0b3d68d7b4c6. --- astron/dclass/united.dc | 8 +-- otp/distributed/DCClassImports.py | 6 +- toontown/estate/DistributedEstate.py | 48 ++++++++++++- toontown/estate/DistributedEstateAI.py | 26 +++++-- toontown/estate/DistributedTreasureChest.py | 72 ------------------- toontown/estate/DistributedTreasureChestAI.py | 22 ------ toontown/estate/TreasureChestGlobals.py | 3 - toontown/toonbase/ToontownGlobals.py | 4 +- 8 files changed, 70 insertions(+), 119 deletions(-) delete mode 100644 toontown/estate/DistributedTreasureChest.py delete mode 100644 toontown/estate/DistributedTreasureChestAI.py delete mode 100644 toontown/estate/TreasureChestGlobals.py diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index a1f1c1c3..ddf124ef 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -359,7 +359,6 @@ from toontown.estate import DistributedBank/AI from toontown.estate import DistributedCloset/AI from toontown.estate import DistributedTrunk/AI from toontown.estate import DistributedPhone/AI -from toontown.estate import DistributedTreasureChest/AI from toontown.effects import DistributedFireworkShow/AI from toontown.estate import DistributedFireworksCannon/AI from toontown.coghq import LobbyManager/AI @@ -1334,6 +1333,8 @@ dclass DistributedEstate : DistributedObject { setSlot5Items(lawnItem items[] = []) required airecv db; setIdList(uint32 []) broadcast ram; completeFlowerSale(uint8) airecv clsend; + completeFishSale(uint8) airecv clsend; + thankSeller(int8, int8, int8); awardedTrophy(uint32) broadcast; setClouds(uint8) required broadcast ram; cannonsOver() broadcast; @@ -2222,11 +2223,6 @@ dclass DistributedPhone : DistributedFurnitureItem { purchaseItemComplete(); }; -dclass DistributedTreasureChest : DistributedObject { - completeSale(bool) airecv clsend; - completeSaleResult(int8, int8, int8); -}; - dclass DistributedFireworkShow : DistributedObject { startShow(uint8, uint8, uint8, int16) broadcast ram; requestFirework(int16/10, int16/10, int16/100, uint8, uint8, uint8) airecv clsend; diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index e4c83560..bde65a54 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,11 +2,7 @@ from pandac.PandaModules import * -<<<<<<< HEAD hashVal = 2005027427 -======= -hashVal = 2180409862L ->>>>>>> parent of 37fad88... fixed the fish sale at estate from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot @@ -36,7 +32,7 @@ from toontown.friends import TTUFriendsManager from toontown.cogdominium import DistributedCogdoInterior, DistributedCogdoBattleBldg, DistributedCogdoElevatorExt, DistributedCogdoElevatorInt, DistributedCogdoBarrel, DistCogdoGame, DistCogdoLevelGame, DistCogdoBoardroomGame, DistCogdoCraneGame, DistCogdoMazeGame, DistCogdoFlyingGame, DistCogdoCrane, DistCogdoCraneMoneyBag, DistCogdoCraneCog from toontown.uberdog.ARGManager import ARGManager from otp.distributed import Account, DistributedDistrict, DistributedDirectory -from toontown.estate import DistributedCannon, DistributedTarget, EstateManager, DistributedEstate, DistributedHouse, DistributedHouseInterior, DistributedGarden, DistributedHouseDoor, DistributedMailbox, DistributedFurnitureManager, DistributedFurnitureItem, DistributedBank, DistributedCloset, DistributedTrunk, DistributedPhone, DistributedTreasureChest, DistributedFireworksCannon, DistributedLawnDecor, DistributedGardenPlot, DistributedGardenBox, DistributedFlower, DistributedGagTree, DistributedStatuary, DistributedToonStatuary, DistributedChangingStatuary, DistributedAnimatedStatuary, DistributedPlantBase, DistributedLawnDecor +from toontown.estate import DistributedCannon, DistributedTarget, EstateManager, DistributedEstate, DistributedHouse, DistributedHouseInterior, DistributedGarden, DistributedHouseDoor, DistributedMailbox, DistributedFurnitureManager, DistributedFurnitureItem, DistributedBank, DistributedCloset, DistributedTrunk, DistributedPhone, DistributedFireworksCannon, DistributedLawnDecor, DistributedGardenPlot, DistributedGardenBox, DistributedFlower, DistributedGagTree, DistributedStatuary, DistributedToonStatuary, DistributedChangingStatuary, DistributedAnimatedStatuary, DistributedPlantBase, DistributedLawnDecor from toontown.toon import DistributedToon, DistributedNPCToonBase, DistributedNPCToon, DistributedSmartNPC, DistributedNPCSpecialQuestGiver, DistributedNPCFlippyInToonHall, DistributedNPCScientist, DistributedNPCClerk, DistributedNPCTailor, DistributedNPCBlocker, DistributedNPCFisherman, DistributedNPCPartyPerson, DistributedNPCPetclerk, DistributedNPCKartClerk, DistributedNPCGlove, DistributedNPCLaffRestock from toontown.tutorial import DistributedBattleTutorial, TutorialManager from toontown.pets import DistributedPetProxy diff --git a/toontown/estate/DistributedEstate.py b/toontown/estate/DistributedEstate.py index 90a1d899..02cb8e82 100644 --- a/toontown/estate/DistributedEstate.py +++ b/toontown/estate/DistributedEstate.py @@ -28,6 +28,7 @@ from toontown.estate import DistributedStatuary import GardenDropGame import GardenProgressMeter from toontown.estate import FlowerSellGUI +from toontown.fishing import FishSellGUI from toontown.toontowngui import TTDialog class DistributedEstate(DistributedObject.DistributedObject): @@ -48,6 +49,7 @@ class DistributedEstate(DistributedObject.DistributedObject): self.idList = [] base.estate = self self.flowerGuiDoneEvent = 'flowerGuiDone' + self.fishGuiDoneEvent = 'fishGuiDone' return def disable(self): @@ -56,6 +58,7 @@ class DistributedEstate(DistributedObject.DistributedObject): self.__stopCrickets() DistributedObject.DistributedObject.disable(self) self.ignore('enterFlowerSellBox') + self.ignore('enterFishSellBox') def delete(self): self.notify.debug('delete') @@ -72,6 +75,7 @@ class DistributedEstate(DistributedObject.DistributedObject): else: self.loadAirplane() self.loadFlowerSellBox() + self.loadFishSellBox() self.oldClear = base.win.getClearColor() base.win.setClearColor(Vec4(0.09, 0.55, 0.21, 1.0)) self.startGame() @@ -365,19 +369,57 @@ class DistributedEstate(DistributedObject.DistributedObject): if len(base.localAvatar.flowerBasket.flowerList): self.popupFlowerGUI() - def __handleSaleDone(self, sell = 0): + def __handleFlowerSaleDone(self, sell = 0): self.ignore(self.flowerGuiDoneEvent) self.sendUpdate('completeFlowerSale', [sell]) self.ignore('stoppedAsleep') self.flowerGui.destroy() self.flowerGui = None - return def popupFlowerGUI(self): - self.acceptOnce(self.flowerGuiDoneEvent, self.__handleSaleDone) + self.acceptOnce(self.flowerGuiDoneEvent, self.__handleFlowerSaleDone) self.flowerGui = FlowerSellGUI.FlowerSellGUI(self.flowerGuiDoneEvent) self.accept('stoppedAsleep', self.__handleSaleDone) + def loadFishSellBox(self): + self.fishSellBox = loader.loadModel('phase_4/models/minigames/treasure_chest.bam') + self.fishSellBox.setPos(45, -165.75, 0.025) + self.fishSellBox.setH(210) + self.fishSellBox.reparentTo(render) + cSphere = CollisionSphere(0.0, 0.0, 0.0, 2.25) + cSphere.setTangible(0) + colNode = CollisionNode('FishSellBox') + colNode.addSolid(cSphere) + cSpherePath = self.fishSellBox.attachNewNode(colNode) + cSpherePath.hide() + cSpherePath.setCollideMask(ToontownGlobals.WallBitmask) + self.accept('enterFishSellBox', self.__touchedFishSellBox) + + def __touchedFishSellBox(self, entry): + if base.localAvatar.doId in self.idList: + if base.localAvatar.fishTank.getFish(): + self.popupFishGUI() + + def __handleFishSaleDone(self, sell=0): + self.ignore(self.fishGuiDoneEvent) + self.sendUpdate('completeFishSale', [sell]) + self.ignore('stoppedAsleep') + self.fishGui.destroy() + self.fishGui = None + + def popupFishGUI(self): + self.acceptOnce(self.fishGuiDoneEvent, self.__handleFishSaleDone) + self.fishGui = FishSellGUI.FishSellGUI(self.fishGuiDoneEvent) + self.accept('stoppedAsleep', self.__handleFishSaleDone) + + def thankSeller(self, mode, fish, maxFish): + if mode == ToontownGlobals.FISHSALE_TROPHY: + base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_TROPHY % (fish, maxFish)) + elif mode == ToontownGlobals.FISHSALE_COMPLETE: + base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_THANKSFISH) + elif mode == ToontownGlobals.FISHSALE_NONE: + base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_NOFISH) + def closedAwardDialog(self, value): self.awardDialog.destroy() base.cr.playGame.getPlace().detectedGardenPlotDone() diff --git a/toontown/estate/DistributedEstateAI.py b/toontown/estate/DistributedEstateAI.py index 82f8f558..12c88f70 100644 --- a/toontown/estate/DistributedEstateAI.py +++ b/toontown/estate/DistributedEstateAI.py @@ -11,7 +11,12 @@ from toontown.safezone import DistributedTreasureAI from toontown.safezone import TreasureGlobals from DistributedCannonAI import * from DistributedTargetAI import * -import DistributedTreasureChestAI, CannonGlobals, TableGlobals, HouseGlobals, time, random +import CannonGlobals +import TableGlobals +import HouseGlobals +import time +import random +from toontown.fishing import FishGlobals class Rental: def __init__(self, estate): @@ -158,9 +163,6 @@ class DistributedEstateAI(DistributedObjectAI): spot.generateWithRequired(self.zoneId) self.spots.append(spot) - self.treasureChest = DistributedTreasureChestAI.DistributedTreasureChestAI(self.air) - self.treasureChest.generateWithRequired(self.zoneId) - self.createTreasurePlanner() def destroy(self): @@ -182,9 +184,6 @@ class DistributedEstateAI(DistributedObjectAI): self.rentalHandle.destroy() self.rentalHandle = None - if self.treasureChest: - self.treasureChest.requestDelete() - self.requestDelete() def setEstateReady(self): @@ -483,6 +482,19 @@ class DistributedEstateAI(DistributedObjectAI): def completeFlowerSale(self, todo0): pass + def completeFishSale(self, sell): + avId = self.air.getAvatarIdFromSender() + av = self.air.doId2do.get(avId) + if av: + if sell: + trophyResult = self.air.fishManager.creditFishTank(av) + if trophyResult: + self.sendUpdateToAvatarId(avId, 'thankSeller', [ToontownGlobals.FISHSALE_TROPHY, len(av.fishCollection), FishGlobals.getTotalNumFish()]) + else: + self.sendUpdateToAvatarId(avId, 'thankSeller', [ToontownGlobals.FISHSALE_COMPLETE, 0, 0]) + else: + self.sendUpdateToAvatarId(avId, 'thankSeller', [ToontownGlobals.FISHSALE_NONE, 0, 0]) + def awardedTrophy(self, todo0): pass diff --git a/toontown/estate/DistributedTreasureChest.py b/toontown/estate/DistributedTreasureChest.py deleted file mode 100644 index 22585152..00000000 --- a/toontown/estate/DistributedTreasureChest.py +++ /dev/null @@ -1,72 +0,0 @@ -from direct.distributed.DistributedObject import DistributedObject -from pandac.PandaModules import * -from toontown.fishing import FishSellGUI -from toontown.toonbase import ToontownGlobals, TTLocalizer -import TreasureChestGlobals - -class DistributedTreasureChest(DistributedObject): - - def __init__(self, cr): - DistributedObject.__init__(self, cr) - self.cr = cr - self.createModel(45, -165.75, 0.025, 210) - self.initCollisions() - - def delete(self): - self.ignore('enter' + self.cSphereNode.getName()) - self.cSphereNodePath.removeNode() - self.model.removeNode() - self.destroyFishGui() - del self.cSphere - del self.cSphereNode - del self.cSphereNodePath - del self.model - DistributedObject.delete(self) - - def destroyFishGui(self): - self.ignore('treasureChestSell') - - if hasattr(self, 'fishGui'): - self.fishGui.destroy() - del self.fishGui - - def createModel(self, x, y, z, h): - self.model = loader.loadModel('phase_4/models/minigames/treasure_chest.bam') - self.model.reparentTo(render) - self.model.setScale(1.5) - self.model.setPos(x, y, z) - self.model.setH(h) - - def initCollisions(self): - self.cSphere = CollisionTube(0.0, 0.0, 0.0, 0.0, 0.0, 5.0, ToontownGlobals.TreasureChestSphereRadius) - self.cSphere.setTangible(0) - self.cSphereNode = CollisionNode('cSphereNode') - self.cSphereNode.addSolid(self.cSphere) - self.cSphereNodePath = self.model.attachNewNode(self.cSphereNode) - self.cSphereNodePath.hide() - self.cSphereNode.setCollideMask(ToontownGlobals.WallBitmask) - self.accept('enter' + self.cSphereNode.getName(), self.handleCollisionSphereEnter) - - def handleCollisionSphereEnter(self, collEntry): - if not base.localAvatar.fishTank.getFish(): - base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_NOFISH) - return - - base.setCellsActive(base.bottomCells, 0) - base.cr.playGame.getPlace().setState('stopped') - self.acceptOnce('treasureChestSell', self.handleSaleDone) - self.fishGui = FishSellGUI.FishSellGUI('treasureChestSell') - - def handleSaleDone(self, sell): - self.destroyFishGui() - base.setCellsActive(base.bottomCells, 1) - base.cr.playGame.getPlace().setState('walk') - self.sendUpdate('completeSale', [sell]) - - def completeSaleResult(self, state, numFish, maxFish): - if state == TreasureChestGlobals.TROPHY: - base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_TROPHY % (numFish, maxFish)) - elif state == TreasureChestGlobals.COMPLETE: - base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_THANKSFISH) - elif state == TreasureChestGlobals.NONE: - base.localAvatar.setSystemMessage(0, TTLocalizer.STOREOWNER_NOFISH) diff --git a/toontown/estate/DistributedTreasureChestAI.py b/toontown/estate/DistributedTreasureChestAI.py deleted file mode 100644 index 13ec4743..00000000 --- a/toontown/estate/DistributedTreasureChestAI.py +++ /dev/null @@ -1,22 +0,0 @@ -from direct.distributed.DistributedObjectAI import DistributedObjectAI -from toontown.fishing import FishGlobals -import TreasureChestGlobals - -class DistributedTreasureChestAI(DistributedObjectAI): - - def completeSale(self, sell): - avId = self.air.getAvatarIdFromSender() - av = self.air.doId2do.get(avId) - - if not av: - return - - if sell: - trophyResult = self.air.fishManager.creditFishTank(av) - - if trophyResult: - self.sendUpdateToAvatarId(avId, 'completeSaleResult', [TreasureChestGlobals.TROPHY, len(av.fishCollection), FishGlobals.getTotalNumFish()]) - else: - self.sendUpdateToAvatarId(avId, 'completeSaleResult', [TreasureChestGlobals.COMPLETE, 0, 0]) - else: - self.sendUpdateToAvatarId(avId, 'completeSaleResult', [TreasureChestGlobals.NONE, 0, 0]) diff --git a/toontown/estate/TreasureChestGlobals.py b/toontown/estate/TreasureChestGlobals.py deleted file mode 100644 index 5beb4a22..00000000 --- a/toontown/estate/TreasureChestGlobals.py +++ /dev/null @@ -1,3 +0,0 @@ -TROPHY = 0 -COMPLETE = 1 -NONE = 2 diff --git a/toontown/toonbase/ToontownGlobals.py b/toontown/toonbase/ToontownGlobals.py index 8f3c1ac1..7cba83ed 100644 --- a/toontown/toonbase/ToontownGlobals.py +++ b/toontown/toonbase/ToontownGlobals.py @@ -1639,5 +1639,7 @@ PropIdToColor = [ ] BugReportSite = 'https://bugs.launchpad.net/toontown-united/+filebug' -TreasureChestSphereRadius = 1.0 CostPerLaffRestock = 3 +FISHSALE_NONE = 0 +FISHSALE_COMPLETE = 1 +FISHSALE_TROPHY = 2 From 568eb60cca4b0221dc7f1eec860c9330e4831def Mon Sep 17 00:00:00 2001 From: Loudrob Date: Fri, 15 May 2015 08:27:32 -0400 Subject: [PATCH 26/78] what if i like environ --- client.bat | 16 ++++++++-------- toontown/launcher/TTULauncher.py | 22 +++++++++++++--------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/client.bat b/client.bat index c7f10165..be98c80c 100644 --- a/client.bat +++ b/client.bat @@ -10,23 +10,23 @@ echo. set /P INPUT= set server=unset -if %INPUT%==1 set server=127.0.0.1 -if %INPUT%==3 set server=71.200.196.180 +if %INPUT%==1 set TTU_GAMESERVER=127.0.0.1 +if %INPUT%==3 set TTU_GAMESERVER=71.200.196.180 -if %server%==unset ( +if %TTU_GAMESERVER%==unset ( echo. - set /P server=Gameserver: + set /P TTU_GAMESERVER=Gameserver: ) echo. -set /P user=Username: +set /P TTU_PLAYCOOKIE=Username: echo =============================== echo Starting Toontown United... echo ppython: %PPYTHON_PATH% -echo Username: %user% -echo Gameserver: %server% +echo Username: %TTU_PLAYCOOKIE% +echo Gameserver: %TTU_GAMESERVER% echo =============================== -%PPYTHON_PATH% -m toontown.toonbase.ClientStart %user% %server% +%PPYTHON_PATH% -m toontown.toonbase.ClientStart pause \ No newline at end of file diff --git a/toontown/launcher/TTULauncher.py b/toontown/launcher/TTULauncher.py index 15d81d44..5393cfc8 100644 --- a/toontown/launcher/TTULauncher.py +++ b/toontown/launcher/TTULauncher.py @@ -1,6 +1,8 @@ from pandac.PandaModules import * from direct.directnotify import DirectNotifyGlobal -import os, sys, time, argparse +import os +import sys +import time class LogAndOutput: def __init__(self, orig, log): @@ -21,13 +23,9 @@ class TTULauncher: notify = DirectNotifyGlobal.directNotify.newCategory('TTULauncher') def __init__(self): - self.logPrefix = 'united-' self.http = HTTPClient() - - parser = argparse.ArgumentParser() - parser.add_argument('token') - parser.add_argument('server') - self.args = parser.parse_args() + + self.logPrefix = 'united-' ltime = 1 and time.localtime() logSuffix = '%02d%02d%02d_%02d%02d%02d' % (ltime[0] - 2000, ltime[1], ltime[2], ltime[3], ltime[4], ltime[5]) @@ -45,10 +43,16 @@ class TTULauncher: sys.stderr = logErr def getPlayToken(self): - return self.args.token + return self.getValue('TTU_PLAYCOOKIE') def getGameServer(self): - return self.args.server + return self.getValue('TTU_GAMESERVER') + + def getValue(self, key, default = None): + return os.environ.get(key, default) + + def setValue(self, key, value): + os.environ[key] = str(value) def setPandaErrorCode(self): pass From c866a4a52ff1b0febbb10312cffe607335f578c1 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Fri, 15 May 2015 22:37:41 +0300 Subject: [PATCH 27/78] No more accessory, clothing, furniture item gender discrimination! (except for skirts) --- toontown/catalog/CatalogAccessoryItem.py | 44 +-- .../catalog/CatalogAccessoryItemGlobals.py | 57 ++-- toontown/catalog/CatalogClothingItem.py | 267 ++++++++---------- toontown/catalog/CatalogFurnitureItem.py | 26 +- toontown/hood/SleepingHydrantAnimatedProp.py | 26 -- 5 files changed, 154 insertions(+), 266 deletions(-) delete mode 100644 toontown/hood/SleepingHydrantAnimatedProp.py diff --git a/toontown/catalog/CatalogAccessoryItem.py b/toontown/catalog/CatalogAccessoryItem.py index 366fa278..4f8f13f8 100644 --- a/toontown/catalog/CatalogAccessoryItem.py +++ b/toontown/catalog/CatalogAccessoryItem.py @@ -18,42 +18,6 @@ class CatalogAccessoryItem(CatalogItem.CatalogItem): def storedInTrunk(self): return 1 - def notOfferedTo(self, avatar): - article = AccessoryTypes[self.accessoryType][ATArticle] - if article in [AHat, - AGlasses, - ABackpack, - AShoes]: - return 0 - forBoys = article in [ABoysHat, - ABoysGlasses, - ABoysBackpack, - ABoysShoes] - if avatar.getStyle().getGender() == 'm': - return not forBoys - else: - return forBoys - - def forBoysOnly(self): - article = AccessoryTypes[self.accessoryType][ATArticle] - if article in [ABoysHat, - ABoysGlasses, - ABoysBackpack, - ABoysShoes]: - return 1 - else: - return 0 - - def forGirlsOnly(self): - article = AccessoryTypes[self.accessoryType][ATArticle] - if article in [AGirlsHat, - AGirlsGlasses, - AGirlsBackpack, - AGirlsShoes]: - return 1 - else: - return 0 - def getPurchaseLimit(self): return 1 @@ -311,19 +275,19 @@ class CatalogAccessoryItem(CatalogItem.CatalogItem): def isHat(self): article = AccessoryTypes[self.accessoryType][ATArticle] - return article in [AHat, ABoysHat, AGirlsHat] + return article == AHat def areGlasses(self): article = AccessoryTypes[self.accessoryType][ATArticle] - return article in [AGlasses, ABoysGlasses, AGirlsGlasses] + return article == AGlasses def isBackpack(self): article = AccessoryTypes[self.accessoryType][ATArticle] - return article in [ABackpack, ABoysBackpack, AGirlsBackpack] + return article == ABackpack def areShoes(self): article = AccessoryTypes[self.accessoryType][ATArticle] - return article in [AShoes, ABoysShoes, AGirlsShoes] + return article == AShoes def output(self, store = -1): return 'CatalogAccessoryItem(%s%s)' % (self.accessoryType, self.formatOptionalData(store)) diff --git a/toontown/catalog/CatalogAccessoryItemGlobals.py b/toontown/catalog/CatalogAccessoryItemGlobals.py index c87f58d6..fe8b6fa7 100644 --- a/toontown/catalog/CatalogAccessoryItemGlobals.py +++ b/toontown/catalog/CatalogAccessoryItemGlobals.py @@ -7,15 +7,6 @@ AHat = 0 AGlasses = 1 ABackpack = 2 AShoes = 3 -ABoysHat = 4 -ABoysGlasses = 5 -ABoysBackpack = 6 -ABoysShoes = 7 -AGirlsHat = 8 -AGirlsGlasses = 9 -AGirlsBackpack = 10 -AGirlsShoes = 11 -APriceTest = 5 APriceBasic = 250 APriceBasicPlus = 400 APriceCool = 800 @@ -28,7 +19,7 @@ AccessoryTypes = {101: (AHat, 'hsf1', APriceCool, 5), - 103: (AGirlsHat, + 103: (AHat, 'hrb1', APriceBasic, 1), @@ -40,11 +31,11 @@ AccessoryTypes = {101: (AHat, 'hsf3', APriceCool, 0), - 106: (AGirlsHat, + 106: (AHat, 'hrb2', APriceBasicPlus, 3), - 107: (AGirlsHat, + 107: (AHat, 'hrb3', APriceBasicPlus, 0), @@ -96,7 +87,7 @@ AccessoryTypes = {101: (AHat, 'hpb1', APriceBasicPlus, 6), - 120: (ABoysHat, + 120: (AHat, 'hcr1', 10000, 5), @@ -132,23 +123,23 @@ AccessoryTypes = {101: (AHat, 'hst1', APriceBasicPlus, 1), - 129: (AGirlsHat, + 129: (AHat, 'hsu1', APriceCool, 1), - 130: (AGirlsHat, + 130: (AHat, 'hrb4', APriceBasic, 1), - 131: (AGirlsHat, + 131: (AHat, 'hrb5', APriceBasicPlus, 4), - 132: (AGirlsHat, + 132: (AHat, 'hrb6', APriceBasic, 2), - 133: (AGirlsHat, + 133: (AHat, 'hrb7', APriceBasicPlus, 6), @@ -156,7 +147,7 @@ AccessoryTypes = {101: (AHat, 'hat1', APriceCool, 2), - 135: (AGirlsHat, + 135: (AHat, 'hhd1', APriceCool, 2), @@ -188,11 +179,11 @@ AccessoryTypes = {101: (AHat, 'hft2', APriceCool, 6), - 143: (ABoysHat, + 143: (AHat, 'hhd2', APriceCool, 3), - 144: (AGirlsHat, + 144: (AHat, 'hpc1', APriceCool, 5), @@ -208,7 +199,7 @@ AccessoryTypes = {101: (AHat, 'hat2', APriceCool, 2), - 148: (AGirlsHat, + 148: (AHat, 'htr1', 10000, 3), @@ -280,7 +271,7 @@ AccessoryTypes = {101: (AHat, 'hby1', APriceAwesome, 5), - 166: (AGirlsHat, + 166: (AHat, 'hrb8', APriceBasicPlus, 6), @@ -292,7 +283,7 @@ AccessoryTypes = {101: (AHat, 'hbb7', APriceBasic, 6), - 169: (AGirlsHat, + 169: (AHat, 'hrb9', APriceBasicPlus, 6), @@ -300,7 +291,7 @@ AccessoryTypes = {101: (AHat, 'hwt2', APriceAwesome, 4), - 171: (AGirlsHat, + 171: (AHat, 'hhw1', APriceBasicPlus, 7), @@ -412,11 +403,11 @@ AccessoryTypes = {101: (AHat, 'gsr1', APriceBasicPlus, 5), - 223: (ABoysGlasses, + 223: (AGlasses, 'ghw1', - APriceTest, + APriceBasic, 0), - 224: (ABoysGlasses, + 224: (AGlasses, 'ghw2', APriceBasic, 7), @@ -560,11 +551,11 @@ AccessoryTypes = {101: (AHat, 'scs1', APriceBasicPlus, 6), - 405: (ABoysShoes, + 405: (AShoes, 'swt1', APriceBasicPlus, 1), - 406: (AGirlsShoes, + 406: (AShoes, 'smj1', APriceBasicPlus, 1), @@ -600,11 +591,11 @@ AccessoryTypes = {101: (AHat, 'sht1', APriceAwesome, 4), - 415: (AGirlsShoes, + 415: (AShoes, 'smj2', APriceBasicPlus, 3), - 416: (AGirlsShoes, + 416: (AShoes, 'smj3', APriceBasicPlus, 4), @@ -660,7 +651,7 @@ AccessoryTypes = {101: (AHat, 'slf1', APriceBasicPlus, 3), - 430: (AGirlsShoes, + 430: (AShoes, 'smj4', APriceBasicPlus, 2), diff --git a/toontown/catalog/CatalogClothingItem.py b/toontown/catalog/CatalogClothingItem.py index 2a1ef3b7..5124da5a 100644 --- a/toontown/catalog/CatalogClothingItem.py +++ b/toontown/catalog/CatalogClothingItem.py @@ -10,72 +10,68 @@ CTArticle = 0 CTString = 1 CTBasePrice = 2 CTEmblemPrices = 3 -ABoysShirt = 0 -AGirlsShirt = 1 -AShirt = 2 -ABoysShorts = 3 -AGirlsShorts = 4 -AGirlsSkirt = 5 -AShorts = 6 -ClothingTypes = {101: (ABoysShirt, 'bss1', 40), - 102: (ABoysShirt, 'bss2', 40), - 103: (ABoysShirt, 'bss3', 40), - 105: (ABoysShirt, 'bss4', 40), - 104: (ABoysShirt, 'bss5', 40), - 106: (ABoysShirt, 'bss6', 40), - 107: (ABoysShirt, 'bss7', 40), - 108: (ABoysShirt, 'bss8', 40), - 109: (ABoysShirt, 'bss9', 40), - 111: (ABoysShirt, 'bss11', 40), - 115: (ABoysShirt, 'bss15', 40), - 116: (ABoysShirt, 'c_ss1', 80), - 117: (ABoysShirt, 'c_ss2', 80), - 118: (ABoysShirt, 'c_bss1', 80), - 119: (ABoysShirt, 'c_bss2', 80), - 120: (ABoysShirt, 'c_ss3', 80), - 121: (ABoysShirt, 'c_bss3', 80), - 122: (ABoysShirt, 'c_bss4', 80), - 123: (ABoysShirt, 'c_ss4', 120), - 124: (ABoysShirt, 'c_ss5', 120), +AShirt = 0 +AShorts = 1 +AGirlsSkirt = 2 +ClothingTypes = {101: (AShirt, 'bss1', 40), + 102: (AShirt, 'bss2', 40), + 103: (AShirt, 'bss3', 40), + 105: (AShirt, 'bss4', 40), + 104: (AShirt, 'bss5', 40), + 106: (AShirt, 'bss6', 40), + 107: (AShirt, 'bss7', 40), + 108: (AShirt, 'bss8', 40), + 109: (AShirt, 'bss9', 40), + 111: (AShirt, 'bss11', 40), + 115: (AShirt, 'bss15', 40), + 116: (AShirt, 'c_ss1', 80), + 117: (AShirt, 'c_ss2', 80), + 118: (AShirt, 'c_bss1', 80), + 119: (AShirt, 'c_bss2', 80), + 120: (AShirt, 'c_ss3', 80), + 121: (AShirt, 'c_bss3', 80), + 122: (AShirt, 'c_bss4', 80), + 123: (AShirt, 'c_ss4', 120), + 124: (AShirt, 'c_ss5', 120), 125: (AShirt, 'c_ss6', 120), 126: (AShirt, 'c_ss7', 120), 127: (AShirt, 'c_ss8', 120), 128: (AShirt, 'c_ss9', 120), 129: (AShirt, 'c_ss10', 120), 130: (AShirt, 'c_ss11', 120), - 131: (ABoysShirt, 'c_ss12', 160), - 201: (AGirlsShirt, 'gss1', 40), - 202: (AGirlsShirt, 'gss2', 40), - 203: (AGirlsShirt, 'gss3', 40), - 205: (AGirlsShirt, 'gss4', 40), - 204: (AGirlsShirt, 'gss5', 40), - 206: (AGirlsShirt, 'gss6', 40), - 207: (AGirlsShirt, 'gss7', 40), - 208: (AGirlsShirt, 'gss8', 40), - 209: (AGirlsShirt, 'gss9', 40), - 211: (AGirlsShirt, 'gss11', 40), - 215: (AGirlsShirt, 'gss15', 40), - 216: (AGirlsShirt, 'c_ss1', 80), - 217: (AGirlsShirt, 'c_ss2', 80), - 218: (AGirlsShirt, 'c_gss1', 80), - 219: (AGirlsShirt, 'c_gss2', 80), - 220: (AGirlsShirt, 'c_ss3', 80), - 221: (AGirlsShirt, 'c_gss3', 80), - 222: (AGirlsShirt, 'c_gss4', 80), - 223: (AGirlsShirt, 'c_gss5', 80), - 224: (AGirlsShirt, 'c_ss4', 120), - 225: (AGirlsShirt, 'c_ss13', 160), - 301: (ABoysShorts, 'bbs1', 50), - 302: (ABoysShorts, 'bbs2', 50), - 303: (ABoysShorts, 'bbs3', 50), - 304: (ABoysShorts, 'bbs4', 50), - 305: (ABoysShorts, 'bbs5', 50), - 308: (ABoysShorts, 'bbs8', 50), - 310: (ABoysShorts, 'c_bs1', 120), - 311: (ABoysShorts, 'c_bs2', 120), - 312: (ABoysShorts, 'c_bs3', 120), - 313: (ABoysShorts, 'c_bs4', 120), - 314: (ABoysShorts, 'c_bs5', 160), + 131: (AShirt, 'c_ss12', 160), + 201: (AShirt, 'gss1', 40), + 202: (AShirt, 'gss2', 40), + 203: (AShirt, 'gss3', 40), + 205: (AShirt, 'gss4', 40), + 204: (AShirt, 'gss5', 40), + 206: (AShirt, 'gss6', 40), + 207: (AShirt, 'gss7', 40), + 208: (AShirt, 'gss8', 40), + 209: (AShirt, 'gss9', 40), + 211: (AShirt, 'gss11', 40), + 215: (AShirt, 'gss15', 40), + 216: (AShirt, 'c_ss1', 80), + 217: (AShirt, 'c_ss2', 80), + 218: (AShirt, 'c_gss1', 80), + 219: (AShirt, 'c_gss2', 80), + 220: (AShirt, 'c_ss3', 80), + 221: (AShirt, 'c_gss3', 80), + 222: (AShirt, 'c_gss4', 80), + 223: (AShirt, 'c_gss5', 80), + 224: (AShirt, 'c_ss4', 120), + 225: (AShirt, 'c_ss13', 160), + 301: (AShorts, 'bbs1', 50), + 302: (AShorts, 'bbs2', 50), + 303: (AShorts, 'bbs3', 50), + 304: (AShorts, 'bbs4', 50), + 305: (AShorts, 'bbs5', 50), + 308: (AShorts, 'bbs8', 50), + 310: (AShorts, 'c_bs1', 120), + 311: (AShorts, 'c_bs2', 120), + 312: (AShorts, 'c_bs3', 120), + 313: (AShorts, 'c_bs4', 120), + 314: (AShorts, 'c_bs5', 160), 401: (AGirlsSkirt, 'gsk1', 50), 403: (AGirlsSkirt, 'gsk3', 50), 404: (AGirlsSkirt, 'gsk4', 50), @@ -88,19 +84,19 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 412: (AGirlsSkirt, 'c_gsk5', 120), 413: (AGirlsSkirt, 'c_gsk6', 120), 414: (AGirlsSkirt, 'c_gsk7', 160), - 451: (AGirlsShorts, 'gsh1', 50), - 452: (AGirlsShorts, 'gsh2', 50), - 453: (AGirlsShorts, 'gsh3', 50), + 451: (AShorts, 'gsh1', 50), + 452: (AShorts, 'gsh2', 50), + 453: (AShorts, 'gsh3', 50), 1001: (AShirt, 'hw_ss1', 200), 1002: (AShirt, 'hw_ss2', 200), 1100: (AShirt, 'wh_ss1', 200), 1101: (AShirt, 'wh_ss2', 200), 1102: (AShirt, 'wh_ss3', 200), 1103: (AShirt, 'wh_ss4', 200), - 1104: (ABoysShorts, 'wh_bs1', 200), - 1105: (ABoysShorts, 'wh_bs2', 200), - 1106: (ABoysShorts, 'wh_bs3', 200), - 1107: (ABoysShorts, 'wh_bs4', 200), + 1104: (AShorts, 'wh_bs1', 200), + 1105: (AShorts, 'wh_bs2', 200), + 1106: (AShorts, 'wh_bs3', 200), + 1107: (AShorts, 'wh_bs4', 200), 1108: (AGirlsSkirt, 'wh_gsk1', 200), 1109: (AGirlsSkirt, 'wh_gsk2', 200), 1110: (AGirlsSkirt, 'wh_gsk3', 200), @@ -110,36 +106,36 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1114: (AShirt, 'hw_ss7', 200), 1115: (AShirt, 'hw_ss8', 200), 1116: (AShirt, 'hw_ss9', 300), - 1117: (ABoysShorts, 'hw_bs1', 200), - 1118: (ABoysShorts, 'hw_bs2', 300), - 1119: (ABoysShorts, 'hw_bs5', 200), - 1120: (ABoysShorts, 'hw_bs6', 200), - 1121: (ABoysShorts, 'hw_bs7', 300), - 1122: (AGirlsShorts, 'hw_gs1', 200), - 1123: (AGirlsShorts, 'hw_gs2', 300), - 1124: (AGirlsShorts, 'hw_gs5', 200), - 1125: (AGirlsShorts, 'hw_gs6', 200), - 1126: (AGirlsShorts, 'hw_gs7', 300), + 1117: (AShorts, 'hw_bs1', 200), + 1118: (AShorts, 'hw_bs2', 300), + 1119: (AShorts, 'hw_bs5', 200), + 1120: (AShorts, 'hw_bs6', 200), + 1121: (AShorts, 'hw_bs7', 300), + 1122: (AShorts, 'hw_gs1', 200), + 1123: (AShorts, 'hw_gs2', 300), + 1124: (AShorts, 'hw_gs5', 200), + 1125: (AShorts, 'hw_gs6', 200), + 1126: (AShorts, 'hw_gs7', 300), 1127: (AGirlsSkirt, 'hw_gsk1', 300), - 1200: (AGirlsShirt, 'vd_ss1', 200), + 1200: (AShirt, 'vd_ss1', 200), 1201: (AShirt, 'vd_ss2', 200), - 1202: (ABoysShirt, 'vd_ss3', 200), - 1203: (AGirlsShirt, 'vd_ss4', 200), + 1202: (AShirt, 'vd_ss3', 200), + 1203: (AShirt, 'vd_ss4', 200), 1204: (AGirlsSkirt, 'vd_gs1', 200), - 1205: (ABoysShorts, 'vd_bs1', 200), + 1205: (AShorts, 'vd_bs1', 200), 1206: (AShirt, 'vd_ss5', 200), 1207: (AShirt, 'vd_ss6', 200), - 1208: (ABoysShorts, 'vd_bs2', 200), - 1209: (ABoysShorts, 'vd_bs3', 200), + 1208: (AShorts, 'vd_bs2', 200), + 1209: (AShorts, 'vd_bs3', 200), 1210: (AGirlsSkirt, 'vd_gs2', 200), 1211: (AGirlsSkirt, 'vd_gs3', 200), 1212: (AShirt, 'vd_ss7', 200), 1300: (AShirt, 'sd_ss1', 200), 1301: (AShirt, 'sd_ss2', 225), - 1302: (AGirlsShorts, 'sd_gs1', 200), - 1303: (ABoysShorts, 'sd_bs1', 200), + 1302: (AShorts, 'sd_gs1', 200), + 1303: (AShorts, 'sd_bs1', 200), 1304: (AShirt, 'sd_ss3', 25), - 1305: (ABoysShorts, 'sd_bs2', 25), + 1305: (AShorts, 'sd_bs2', 25), 1306: (AGirlsSkirt, 'sd_gs2', 25), 1400: (AShirt, 'tc_ss1', 200), 1401: (AShirt, 'tc_ss2', 200), @@ -150,17 +146,17 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1406: (AShirt, 'tc_ss7', 200), 1500: (AShirt, 'j4_ss1', 200), 1501: (AShirt, 'j4_ss2', 200), - 1502: (ABoysShorts, 'j4_bs1', 200), + 1502: (AShorts, 'j4_bs1', 200), 1503: (AGirlsSkirt, 'j4_gs1', 200), 1600: (AShirt, 'pj_ss1', 500), 1601: (AShirt, 'pj_ss2', 500), 1602: (AShirt, 'pj_ss3', 500), - 1603: (ABoysShorts, 'pj_bs1', 500), - 1604: (ABoysShorts, 'pj_bs2', 500), - 1605: (ABoysShorts, 'pj_bs3', 500), - 1606: (AGirlsShorts, 'pj_gs1', 500), - 1607: (AGirlsShorts, 'pj_gs2', 500), - 1608: (AGirlsShorts, 'pj_gs3', 500), + 1603: (AShorts, 'pj_bs1', 500), + 1604: (AShorts, 'pj_bs2', 500), + 1605: (AShorts, 'pj_bs3', 500), + 1606: (AShorts, 'pj_gs1', 500), + 1607: (AShorts, 'pj_gs2', 500), + 1608: (AShorts, 'pj_gs3', 500), 1700: (AShirt, 'sa_ss1', 200), 1701: (AShirt, 'sa_ss2', 200), 1702: (AShirt, 'sa_ss3', 200), @@ -172,11 +168,11 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1708: (AShirt, 'sa_ss9', 200), 1709: (AShirt, 'sa_ss10', 200), 1710: (AShirt, 'sa_ss11', 200), - 1711: (ABoysShorts, 'sa_bs1', 200), - 1712: (ABoysShorts, 'sa_bs2', 200), - 1713: (ABoysShorts, 'sa_bs3', 200), - 1714: (ABoysShorts, 'sa_bs4', 200), - 1715: (ABoysShorts, 'sa_bs5', 200), + 1711: (AShorts, 'sa_bs1', 200), + 1712: (AShorts, 'sa_bs2', 200), + 1713: (AShorts, 'sa_bs3', 200), + 1714: (AShorts, 'sa_bs4', 200), + 1715: (AShorts, 'sa_bs5', 200), 1716: (AGirlsSkirt, 'sa_gs1', 200), 1717: (AGirlsSkirt, 'sa_gs2', 200), 1718: (AGirlsSkirt, 'sa_gs3', 200), @@ -194,11 +190,11 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1730: (AShirt, 'sa_ss21', 200), 1731: (AShirt, 'sa_ss22', 200), 1732: (AShirt, 'sa_ss23', 200), - 1733: (ABoysShorts, 'sa_bs6', 200), - 1734: (ABoysShorts, 'sa_bs7', 250), - 1735: (ABoysShorts, 'sa_bs8', 250), - 1736: (ABoysShorts, 'sa_bs9', 200), - 1737: (ABoysShorts, 'sa_bs10', 200), + 1733: (AShorts, 'sa_bs6', 200), + 1734: (AShorts, 'sa_bs7', 250), + 1735: (AShorts, 'sa_bs8', 250), + 1736: (AShorts, 'sa_bs9', 200), + 1737: (AShorts, 'sa_bs10', 200), 1738: (AGirlsSkirt, 'sa_gs6', 200), 1739: (AGirlsSkirt, 'sa_gs7', 250), 1740: (AGirlsSkirt, 'sa_gs8', 250), @@ -206,8 +202,8 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1742: (AGirlsSkirt, 'sa_gs10', 200), 1743: (AShirt, 'sa_ss24', 250), 1744: (AShirt, 'sa_ss25', 250), - 1745: (ABoysShorts, 'sa_bs11', 250), - 1746: (ABoysShorts, 'sa_bs12', 250), + 1745: (AShorts, 'sa_bs11', 250), + 1746: (AShorts, 'sa_bs12', 250), 1747: (AGirlsSkirt, 'sa_gs11', 250), 1748: (AGirlsSkirt, 'sa_gs12', 250), 1749: (AShirt, 'sil_1', 1), @@ -216,8 +212,8 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1752: (AShirt, 'sil_4', 5000), 1753: (AShirt, 'sil_5', 5000), 1754: (AShirt, 'sil_6', 1), - 1755: (ABoysShorts, 'sil_bs1', 1), - 1756: (AGirlsShorts, 'sil_gs1', 1), + 1755: (AShorts, 'sil_bs1', 1), + 1756: (AShorts, 'sil_gs1', 1), 1757: (AShirt, 'sil_7', 20), 1758: (AShirt, 'sil_8', 20), 1759: (AShirt, @@ -236,24 +232,24 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1763: (AShirt, 'sb_1', 20), 1764: (AShirt, 'sa_ss27', 5000), 1765: (AShirt, 'sa_ss28', 5000), - 1766: (ABoysShorts, 'sa_bs13', 5000), - 1767: (AGirlsShorts, 'sa_gs13', 5000), + 1766: (AShorts, 'sa_bs13', 5000), + 1767: (AShorts, 'sa_gs13', 5000), 1768: (AShirt, 'jb_1', 20), 1769: (AShirt, 'jb_2', 20), 1770: (AShirt, 'hw_ss3', 250), 1771: (AShirt, 'hw_ss4', 250), - 1772: (ABoysShorts, 'hw_bs3', 250), - 1773: (AGirlsShorts, 'hw_gs3', 250), - 1774: (ABoysShorts, 'hw_bs4', 250), - 1775: (AGirlsShorts, 'hw_gs4', 250), + 1772: (AShorts, 'hw_bs3', 250), + 1773: (AShorts, 'hw_gs3', 250), + 1774: (AShorts, 'hw_bs4', 250), + 1775: (AShorts, 'hw_gs4', 250), 1776: (AShirt, 'ugcms', 15000), 1777: (AShirt, 'lb_1', 20), 1778: (AShirt, 'sa_ss29', 5000), 1779: (AShirt, 'sa_ss30', 5000), - 1780: (ABoysShorts, 'sa_bs14', 5000), - 1781: (AGirlsShorts, 'sa_gs14', 5000), + 1780: (AShorts, 'sa_bs14', 5000), + 1781: (AShorts, 'sa_gs14', 5000), 1782: (AShirt, 'sa_ss31', 5000), - 1783: (ABoysShorts, 'sa_bs15', 5000), + 1783: (AShorts, 'sa_bs15', 5000), 1784: (AGirlsSkirt, 'sa_gs15', 5000), 1785: (AShirt, 'sa_ss32', 5000), 1786: (AShirt, 'sa_ss33', 5000), @@ -261,18 +257,18 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1788: (AShirt, 'sa_ss35', 5000), 1789: (AShirt, 'sa_ss36', 5000), 1790: (AShirt, 'sa_ss37', 5000), - 1791: (ABoysShorts, 'sa_bs16', 5000), - 1792: (ABoysShorts, 'sa_bs17', 5000), + 1791: (AShorts, 'sa_bs16', 5000), + 1792: (AShorts, 'sa_bs17', 5000), 1793: (AGirlsSkirt, 'sa_gs16', 5000), 1794: (AGirlsSkirt, 'sa_gs17', 5000), 1795: (AShirt, 'sa_ss38', 5000), 1796: (AShirt, 'sa_ss39', 5000), - 1797: (ABoysShorts, 'sa_bs18', 5000), + 1797: (AShorts, 'sa_bs18', 5000), 1798: (AGirlsSkirt, 'sa_gs18', 5000), 1799: (AShirt, 'sa_ss40', 5000), 1800: (AShirt, 'sa_ss41', 5000), 1801: (AShirt, 'sa_ss42', 250), - 1802: (AGirlsShirt, 'sa_ss43', 250), + 1802: (AShirt, 'sa_ss43', 250), 1803: (AShirt, 'sa_ss44', 5000), 1804: (AShirt, 'sa_ss45', 5000), 1805: (AShirt, 'sa_ss46', 5000), @@ -284,9 +280,9 @@ ClothingTypes = {101: (ABoysShirt, 'bss1', 40), 1811: (AShirt, 'sa_ss52', 5000), 1812: (AShirt, 'sa_ss53', 5000), 1813: (AShirt, 'sa_ss54', 5000), - 1814: (ABoysShorts, 'sa_bs19', 5000), - 1815: (ABoysShorts, 'sa_bs20', 5000), - 1816: (ABoysShorts, 'sa_bs21', 5000), + 1814: (AShorts, 'sa_bs19', 5000), + 1815: (AShorts, 'sa_bs20', 5000), + 1816: (AShorts, 'sa_bs21', 5000), 1817: (AGirlsSkirt, 'sa_gs19', 5000), 1818: (AGirlsSkirt, 'sa_gs20', 5000), 1819: (AGirlsSkirt, 'sa_gs21', 5000), @@ -305,28 +301,11 @@ class CatalogClothingItem(CatalogItem.CatalogItem): return 1 def notOfferedTo(self, avatar): - article = ClothingTypes[self.clothingType][CTArticle] - if article == AShirt or article == AShorts: - return 0 - forBoys = (article == ABoysShirt or article == ABoysShorts) - if avatar.getStyle().getGender() == 'm': - return not forBoys - else: - return forBoys - - def forBoysOnly(self): - article = ClothingTypes[self.clothingType][CTArticle] - if article == ABoysShirt or article == ABoysShorts: - return 1 - else: - return 0 + return avatar.getStyle().getGender() == 'm' and self.forGirlsOnly() def forGirlsOnly(self): article = ClothingTypes[self.clothingType][CTArticle] - if article == AGirlsShirt or article == AGirlsSkirt or article == AGirlsShorts: - return 1 - else: - return 0 + return article == AGirlsSkirt def getPurchaseLimit(self): return 1 @@ -499,7 +478,7 @@ class CatalogClothingItem(CatalogItem.CatalogItem): def isShirt(self): article = ClothingTypes[self.clothingType][CTArticle] - return article < ABoysShorts + return article == AShirt def isSkirt(self): article = ClothingTypes[self.clothingType][CTArticle] @@ -518,7 +497,7 @@ class CatalogClothingItem(CatalogItem.CatalogItem): defn = ToonDNA.BottomStyles[str] botTex = defn[0] article = ClothingTypes[self.clothingType][CTArticle] - if article == ABoysShorts: + if article == AShorts: return ToonDNA.BoyShorts[botTex] else: return ToonDNA.GirlBottoms[botTex][0] diff --git a/toontown/catalog/CatalogFurnitureItem.py b/toontown/catalog/CatalogFurnitureItem.py index 50e4c7d8..c44bab07 100644 --- a/toontown/catalog/CatalogFurnitureItem.py +++ b/toontown/catalog/CatalogFurnitureItem.py @@ -18,8 +18,6 @@ FLIsTable = 32 FLPhone = 64 FLBillboard = 128 FLTrunk = 256 -FLBoysOnly = 512 -FLGirlsOnly = 1024 furnitureColors = [ (0.792, 0.353, 0.29, 1.0), (0.176, 0.592, 0.439, 1.0), @@ -163,8 +161,7 @@ FurnitureTypes = { 210: ('phase_5.5/models/estate/girly_bed', None, None, - 450, - FLGirlsOnly), + 450), 220: ('phase_5.5/models/estate/bathtub_bed', None, None, @@ -208,8 +205,7 @@ FurnitureTypes = { 410: ('phase_5.5/models/estate/FireplaceGirlee', None, None, - 800, - FLGirlsOnly), + 800), 420: ('phase_5.5/models/estate/FireplaceRound', None, None, @@ -251,7 +247,7 @@ FurnitureTypes = { None, None, 1100, - FLGirlsOnly, + None, None, 0.5), 491: ('phase_5.5/models/estate/tt_m_prp_int_fireplace_bugRoom', @@ -917,24 +913,8 @@ class CatalogFurnitureItem(CatalogAtticItem.CatalogAtticItem): return not forBoys else: return forBoys - if self.forBoysOnly(): - if avatar.getStyle().getGender() == 'm': - return 0 - else: - return 1 - elif self.forGirlsOnly(): - if avatar.getStyle().getGender() == 'f': - return 0 - else: - return 1 return 0 - def forBoysOnly(self): - return self.getFlags() & FLBoysOnly > 0 - - def forGirlsOnly(self): - return self.getFlags() & FLGirlsOnly > 0 - def isDeletable(self): return self.getFlags() & (FLBank | FLCloset | FLPhone | FLTrunk) == 0 diff --git a/toontown/hood/SleepingHydrantAnimatedProp.py b/toontown/hood/SleepingHydrantAnimatedProp.py deleted file mode 100644 index 0b6845b6..00000000 --- a/toontown/hood/SleepingHydrantAnimatedProp.py +++ /dev/null @@ -1,26 +0,0 @@ -import AnimatedProp -from direct.interval.IntervalGlobal import * -from direct.task import Task -import math - -class SleepingHydrantAnimatedProp(AnimatedProp.AnimatedProp): - - def __init__(self, node): - AnimatedProp.AnimatedProp.__init__(self, node) - self.task = None - return - - def bobTask(self, task): - self.node.setSz(1.0 + 0.08 * math.sin(task.time)) - return Task.cont - - def enter(self): - AnimatedProp.AnimatedProp.enter(self) - self.task = taskMgr.add(self.bobTask, self.uniqueName('bobTask')) - - def exit(self): - AnimatedProp.AnimatedProp.exit(self) - if self.task: - taskMgr.remove(self.task) - self.task = None - return From 3461d090edba43a26258dcb13c5d49aa418483c3 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Fri, 15 May 2015 22:43:59 +0300 Subject: [PATCH 28/78] What if I like gay porn --- toontown/launcher/TTULauncher.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/toontown/launcher/TTULauncher.py b/toontown/launcher/TTULauncher.py index 5393cfc8..84fd4cd1 100644 --- a/toontown/launcher/TTULauncher.py +++ b/toontown/launcher/TTULauncher.py @@ -51,9 +51,6 @@ class TTULauncher: def getValue(self, key, default = None): return os.environ.get(key, default) - def setValue(self, key, value): - os.environ[key] = str(value) - def setPandaErrorCode(self): pass From 8dea0edf2155acf4c79127b0cdb8a775b0411caf Mon Sep 17 00:00:00 2001 From: DenialMC Date: Fri, 15 May 2015 23:16:46 +0300 Subject: [PATCH 29/78] Fix article names --- toontown/toonbase/TTLocalizerEnglish.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index edac2f42..f3f12f5b 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -5163,12 +5163,8 @@ FurnitureNames = {100: 'Armchair', 10020: 'Winter Tree', 10030: 'Winter Wreath'} ClothingArticleNames = ('Shirt', - 'Shirt', - 'Shirt', 'Shorts', - 'Shorts', - 'Skirt', - 'Shorts') + 'Skirt') ClothingTypeNames = {1001: 'Ghost Shirt', 1002: 'Pumpkin Shirt', 1112: 'Bee Shirt', From 6cc8c2a7ba86ba473c4eb07386124e7bd533da47 Mon Sep 17 00:00:00 2001 From: Master Voltage Date: Fri, 15 May 2015 19:09:45 -0400 Subject: [PATCH 30/78] added more phrases k --- toontown/toonbase/TTLocalizerEnglish.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index f3f12f5b..a79f2f57 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -2500,6 +2500,11 @@ SuitAttackTaunts = {'Audit': ["I believe your books don't balance.", "I'm going to have you for dinner.", 'I love to feed on Toons!'], 'CigarSmoke': ['Gentlemen.', + "It's a good day to have a smoke", + 'Another successful day', + "I'm a robot, I'll make the best of it.", + 'Another day another dollar', + 'I only have the occasional cigar', 'I need a good smoke.', 'Smoking is a dirty habit.'], 'ClipOnTie': ['Better dress for our meeting.', @@ -3001,8 +3006,14 @@ SuitAttackTaunts = {'Audit': ["I believe your books don't balance.", 'Watch the birdie!', 'Keep your eye on the ball!', 'Mind if I play through?'], - 'ThrowBook': ['I graduated Law School.', - 'You should really get a lawyer.', + 'ThrowBook': ['I graduated Law School you know.', + 'You better have a good lawyer.', + "I'll have to take legal action!", + "My friend Legal Eagle knows all about this.", + 'Objection!', + 'Under article 14 subsection C...', + 'I see you have broken the law.', + "It seems you don't understand the authority of law.", "I'll see you in court."], 'Tremor': ['Did you feel that?', 'Not afraid of a little tremor are you?', From 0bc41b75f9cfb4bd7ccaf449479662ad2a7a6e89 Mon Sep 17 00:00:00 2001 From: John Cote Date: Fri, 15 May 2015 19:22:19 -0400 Subject: [PATCH 31/78] how dare you use tabs voltage --- toontown/toonbase/TTLocalizerEnglish.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index a79f2f57..762e2537 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -3007,9 +3007,9 @@ SuitAttackTaunts = {'Audit': ["I believe your books don't balance.", 'Keep your eye on the ball!', 'Mind if I play through?'], 'ThrowBook': ['I graduated Law School you know.', - 'You better have a good lawyer.', - "I'll have to take legal action!", - "My friend Legal Eagle knows all about this.", + 'You better have a good lawyer.', + "I'll have to take legal action!", + "My friend Legal Eagle knows all about this.", 'Objection!', 'Under article 14 subsection C...', 'I see you have broken the law.', From 6c3682bd75d554ab544a872c3b0ed3a74f67bd1e Mon Sep 17 00:00:00 2001 From: Master Voltage Date: Fri, 15 May 2015 19:41:19 -0400 Subject: [PATCH 32/78] i is good engrish now --- toontown/toonbase/TTLocalizerEnglish.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index 762e2537..b4468e08 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -2500,11 +2500,11 @@ SuitAttackTaunts = {'Audit': ["I believe your books don't balance.", "I'm going to have you for dinner.", 'I love to feed on Toons!'], 'CigarSmoke': ['Gentlemen.', - "It's a good day to have a smoke", - 'Another successful day', - "I'm a robot, I'll make the best of it.", - 'Another day another dollar', - 'I only have the occasional cigar', + "It's a good day to have a smoke.", + 'Take a breath of this.', + "It's tradition you know.", + 'Another day another dollar.', + 'I always have the occasional cigar.', 'I need a good smoke.', 'Smoking is a dirty habit.'], 'ClipOnTie': ['Better dress for our meeting.', @@ -3006,15 +3006,15 @@ SuitAttackTaunts = {'Audit': ["I believe your books don't balance.", 'Watch the birdie!', 'Keep your eye on the ball!', 'Mind if I play through?'], - 'ThrowBook': ['I graduated Law School you know.', + 'ThrowBook': ['My book from Law School should help.', 'You better have a good lawyer.', - "I'll have to take legal action!", - "My friend Legal Eagle knows all about this.", + "I'll have to take legal action.", + 'Legal Eagle will be pleased to see this.', 'Objection!', 'Under article 14 subsection C...', - 'I see you have broken the law.', + 'I see you have broken the law!', "It seems you don't understand the authority of law.", - "I'll see you in court."], + "I'll see you in court, Toon."], 'Tremor': ['Did you feel that?', 'Not afraid of a little tremor are you?', 'A tremor is only the beginning.', From 0d5b0cbee92e8ded791908cfd0ca26f791e60947 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Sat, 16 May 2015 12:09:03 +0300 Subject: [PATCH 33/78] Some shticker book cleanup, add Speedchat Plus and True Friends to shticker book, but we really need a OptionsPage rewrite. --- toontown/shtiker/DisplaySettingsDialog.py | 49 ++------ toontown/shtiker/OptionsPage.py | 133 ++++++++++++---------- toontown/toonbase/ClientStart.py | 6 +- toontown/toonbase/TTLocalizerEnglish.py | 14 ++- toontown/town/TownBattle.py | 4 +- 5 files changed, 92 insertions(+), 114 deletions(-) diff --git a/toontown/shtiker/DisplaySettingsDialog.py b/toontown/shtiker/DisplaySettingsDialog.py index cf0eb5b0..10aa6c5d 100644 --- a/toontown/shtiker/DisplaySettingsDialog.py +++ b/toontown/shtiker/DisplaySettingsDialog.py @@ -43,7 +43,6 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.isLoaded = 1 self.anyChanged = 0 - self.apiChanged = 0 if len(base.resDict[base.nativeRatio]) > 1: # We have resolutions that match our native ratio and fit it: @@ -87,8 +86,6 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.introText = DirectLabel(parent=self, relief=None, scale=TTLocalizer.DSDintroText, text=TTLocalizer.DisplaySettingsIntro, text_wordwrap=TTLocalizer.DSDintroTextWordwrap, text_align=TextNode.ALeft, pos=(-0.725, 0, 0.3)) self.introTextSimple = DirectLabel(parent=self, relief=None, scale=0.06, text=TTLocalizer.DisplaySettingsIntroSimple, text_wordwrap=25, text_align=TextNode.ALeft, pos=(-0.725, 0, 0.3)) - self.apiLabel = DirectLabel(parent=self, relief=None, scale=0.06, text=TTLocalizer.DisplaySettingsApi, text_align=TextNode.ARight, pos=(-0.08, 0, 0)) - self.apiMenu = DirectOptionMenu(parent=self, relief=DGG.RAISED, scale=0.06, items=['x'], pos=(0, 0, 0)) self.screenSizeLabel = DirectLabel(parent=self, relief=None, scale=0.06, text=TTLocalizer.DisplaySettingsResolution, text_align=TextNode.ARight, pos=(-0.08, 0, -0.1)) self.screenSizeLeftArrow = DirectButton(parent=self, relief=None, image=(gui.find('**/Horiz_Arrow_UP'), gui.find('**/Horiz_Arrow_DN'), gui.find('**/Horiz_Arrow_Rllvr'), gui.find('**/Horiz_Arrow_UP')), scale=(-1.0, 1.0, 1.0), pos=(0.04, 0, -0.085), command=self.__doScreenSizeLeft) self.screenSizeRightArrow = DirectButton(parent=self, relief=None, image=(gui.find('**/Horiz_Arrow_UP'), gui.find('**/Horiz_Arrow_DN'), gui.find('**/Horiz_Arrow_Rllvr'), gui.find('**/Horiz_Arrow_UP')), pos=(0.54, 0, -0.085), command=self.__doScreenSizeRight) @@ -105,7 +102,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.hide() - def enter(self, changeDisplaySettings, changeDisplayAPI): + def enter(self, changeDisplaySettings): if self.isEntered == 1: return @@ -130,19 +127,12 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): else: self.displayMode = self.WindowedMode - self.updateApiMenu(changeDisplaySettings, changeDisplayAPI) self.updateWindowed() self.updateScreenSize() if changeDisplaySettings: self.introText.show() self.introTextSimple.hide() - if changeDisplayAPI and len(self.apis) > 1: - self.apiLabel.show() - self.apiMenu.show() - else: - self.apiLabel.hide() - self.apiMenu.hide() self.c1b.show() self.windowedButton.show() self.c2b.show() @@ -151,8 +141,6 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): else: self.introText.hide() self.introTextSimple.show() - self.apiLabel.hide() - self.apiMenu.hide() self.windowedButton.hide() self.fullscreenButton.hide() self.c1b.hide() @@ -160,7 +148,6 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.c3b.hide() self.anyChanged = 0 - self.apiChanged = 0 self.show() @@ -177,7 +164,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.ignoreAll() self.hide() - messenger.send(self.doneEvent, [self.anyChanged, self.apiChanged]) + messenger.send(self.doneEvent, [self.anyChanged]) def cleanupDialogs(self): if self.applyDialog is not None: @@ -193,19 +180,6 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.revertDialog.cleanup() self.revertDialog = None - def updateApiMenu(self, changeDisplaySettings, changeDisplayAPI): - self.apis = [] - self.apiPipes = [] - if changeDisplayAPI: - base.makeAllPipes() - for pipe in base.pipeList: - if pipe.isValid(): - self.apiPipes.append(pipe) - self.apis.append(pipe.getInterfaceName()) - - self.apiMenu['items'] = self.apis - self.apiMenu.set(base.pipe.getInterfaceName()) - def updateWindowed(self): if self.displayMode == self.FullscreenMode: self.windowedButton['indicatorValue'] = 0 @@ -275,15 +249,13 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): base.transitions.fadeScreen(0.5) if command != DGG.DIALOG_OK: return - self.origPipe = base.pipe self.origProperties = base.win.getProperties() - pipe = self.apiPipes[self.apiMenu.selectedIndex] properties = WindowProperties() xSize, ySize = self.screenSizes[self.screenSizeIndex] properties.setSize(xSize, ySize) properties.setFullscreen(self.displayMode == self.FullscreenMode) fullscreen = self.displayMode == self.FullscreenMode - if not self.changeDisplayProperties(pipe, xSize, ySize, fullscreen): + if not self.changeDisplayProperties(xSize, ySize, fullscreen): self.__revertBack(1) return self.clearBin() @@ -293,12 +265,11 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.timeoutStart = None taskMgr.add(self.__timeoutCountdown, self.TimeoutCountdownTask) - def changeDisplayProperties(self, pipe, width, height, fullscreen = False): + def changeDisplayProperties(self, width, height, fullscreen = False): result = False - self.current_pipe = base.pipe self.current_properties = WindowProperties(base.win.getProperties()) properties = self.current_properties - if self.current_pipe == pipe and self.current_properties.getFullscreen() == fullscreen and self.current_properties.getXSize() == width and self.current_properties.getYSize() == height: + if self.current_properties.getFullscreen() == fullscreen and self.current_properties.getXSize() == width and self.current_properties.getYSize() == height: self.notify.info('DISPLAY NO CHANGE REQUIRED') state = True else: @@ -322,7 +293,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): properties.setFullscreen(fullscreen) properties.setParentWindow(0) original_sort = base.win.getSort() - if self.resetDisplayProperties(pipe, properties): + if self.resetDisplayProperties(properties): properties = base.win.getProperties() if properties.getFullscreen() == fullscreen and properties.getXSize() == width and properties.getYSize() == height: self.notify.info('DISPLAY CHANGE VERIFIED') @@ -362,7 +333,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.__revertBack(0) def __revertBack(self, reason): - if not self.resetDisplayProperties(self.origPipe, self.origProperties): + if not self.resetDisplayProperties(self.origProperties): self.notify.warning("Couldn't restore original display settings!") base.panda3dRenderError() self.clearBin() @@ -382,7 +353,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): def __cancel(self): self.exit() - def resetDisplayProperties(self, pipe, properties): + def resetDisplayProperties(self, properties): if base.win: currentProperties = base.win.getProperties() gsg = base.win.getGsg() @@ -391,13 +362,9 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): gsg = None newProperties = WindowProperties(currentProperties) newProperties.addProperties(properties) - if base.pipe != pipe: - self.apiChanged = 1 - gsg = None if gsg == None or currentProperties.getFullscreen() != newProperties.getFullscreen() or currentProperties.getParentWindow() != newProperties.getParentWindow(): self.notify.debug('window properties: %s' % properties) self.notify.debug('gsg: %s' % gsg) - base.pipe = pipe if not base.openMainWindow(props=properties, gsg=gsg, keepCamera=True): self.notify.warning('OPEN MAIN WINDOW FAILED') return 0 diff --git a/toontown/shtiker/OptionsPage.py b/toontown/shtiker/OptionsPage.py index 6ab80ebd..78430dad 100644 --- a/toontown/shtiker/OptionsPage.py +++ b/toontown/shtiker/OptionsPage.py @@ -259,7 +259,6 @@ class OptionsTabPage(DirectFrame): DisplaySettingsTaskName = 'save-display-settings' DisplaySettingsDelay = 60 ChangeDisplaySettings = base.config.GetBool('change-display-settings', 1) - ChangeDisplayAPI = base.config.GetBool('change-display-api', 0) def __init__(self, parent = aspect2d): self.parent = parent @@ -279,8 +278,6 @@ class OptionsTabPage(DirectFrame): self.displaySettingsChanged = 0 self.displaySettingsSize = (None, None) self.displaySettingsFullscreen = None - self.displaySettingsApi = None - self.displaySettingsApiChanged = 0 guiButton = loader.loadModel('phase_3/models/gui/quit_button') gui = loader.loadModel('phase_3.5/models/gui/friendslist_gui') titleHeight = 0.61 @@ -293,6 +290,8 @@ class OptionsTabPage(DirectFrame): button_textpos = (0, -0.02) options_text_scale = 0.052 disabled_arrow_color = Vec4(0.6, 0.6, 0.6, 1.0) + button_image = (guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')) + arrow_image = (gui.find('**/Horiz_Arrow_UP'), gui.find('**/Horiz_Arrow_DN'), gui.find('**/Horiz_Arrow_Rllvr'), gui.find('**/Horiz_Arrow_UP')) self.speed_chat_scale = 0.055 self.Music_Label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, pos=(leftMargin, 0, textStartHeight)) self.SoundFX_Label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight - textRowHeight)) @@ -302,29 +301,20 @@ class OptionsTabPage(DirectFrame): self.SpeedChatStyle_Label = DirectLabel(parent=self, relief=None, text=TTLocalizer.OptionsPageSpeedChatStyleLabel, text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=10, pos=(leftMargin, 0, textStartHeight - 6 * textRowHeight)) self.ToonChatSounds_Label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=15, pos=(leftMargin, 0, textStartHeight - 2 * textRowHeight + 0.025)) self.ToonChatSounds_Label.setScale(0.9) - self.Music_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord), command=self.__doToggleMusic) - self.SoundFX_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight), command=self.__doToggleSfx) - self.Friends_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 3), command=self.__doToggleAcceptFriends) - self.Whispers_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 4), command=self.__doToggleAcceptWhispers) - self.DisplaySettingsButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image3_color=Vec4(0.5, 0.5, 0.5, 0.5), image_scale=button_image_scale, text=TTLocalizer.OptionsPageChange, text3_fg=(0.5, 0.5, 0.5, 0.75), text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 5), command=self.__doDisplaySettings) - self.speedChatStyleLeftArrow = DirectButton(parent=self, relief=None, image=(gui.find('**/Horiz_Arrow_UP'), - gui.find('**/Horiz_Arrow_DN'), - gui.find('**/Horiz_Arrow_Rllvr'), - gui.find('**/Horiz_Arrow_UP')), image3_color=Vec4(1, 1, 1, 0.5), scale=(-1.0, 1.0, 1.0), pos=(0.25, 0, buttonbase_ycoord - textRowHeight * 6), command=self.__doSpeedChatStyleLeft) - self.speedChatStyleRightArrow = DirectButton(parent=self, relief=None, image=(gui.find('**/Horiz_Arrow_UP'), - gui.find('**/Horiz_Arrow_DN'), - gui.find('**/Horiz_Arrow_Rllvr'), - gui.find('**/Horiz_Arrow_UP')), image3_color=Vec4(1, 1, 1, 0.5), pos=(0.65, 0, buttonbase_ycoord - textRowHeight * 6), command=self.__doSpeedChatStyleRight) - self.ToonChatSounds_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), - guiButton.find('**/QuitBtn_DN'), - guiButton.find('**/QuitBtn_RLVR'), - guiButton.find('**/QuitBtn_UP')), image3_color=Vec4(0.5, 0.5, 0.5, 0.5), image_scale=button_image_scale, text='', text3_fg=(0.5, 0.5, 0.5, 0.75), text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 2 + 0.025), command=self.__doToggleToonChatSounds) + self.Music_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord), command=self.__doToggleMusic) + self.SoundFX_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight), command=self.__doToggleSfx) + self.Friends_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 3), command=self.__doToggleAcceptFriends) + self.Whispers_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 4), command=self.__doToggleAcceptWhispers) + self.DisplaySettingsButton = DirectButton(parent=self, relief=None, image=button_image, image3_color=Vec4(0.5, 0.5, 0.5, 0.5), image_scale=button_image_scale, text=TTLocalizer.OptionsPageChange, text3_fg=(0.5, 0.5, 0.5, 0.75), text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 5), command=self.__doDisplaySettings) + self.speedChatStyleLeftArrow = DirectButton(parent=self, relief=None, image=arrow_image, image3_color=Vec4(1, 1, 1, 0.5), scale=(-1.0, 1.0, 1.0), pos=(0.25, 0, buttonbase_ycoord - textRowHeight * 6), command=self.__doSpeedChatStyleLeft) + self.speedChatStyleRightArrow = DirectButton(parent=self, relief=None, image=arrow_image, image3_color=Vec4(1, 1, 1, 0.5), pos=(0.65, 0, buttonbase_ycoord - textRowHeight * 6), command=self.__doSpeedChatStyleRight) + self.ToonChatSounds_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image3_color=Vec4(0.5, 0.5, 0.5, 0.5), image_scale=button_image_scale, text='', text3_fg=(0.5, 0.5, 0.5, 0.75), text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 2 + 0.025), command=self.__doToggleToonChatSounds) self.ToonChatSounds_toggleButton.setScale(0.8) self.speedChatStyleText = SpeedChat.SpeedChat(name='OptionsPageStyleText', structure=[2000], backgroundModelName='phase_3/models/gui/ChatPanel', guiModelName='phase_3.5/models/gui/speedChatGui') self.speedChatStyleText.setScale(self.speed_chat_scale) self.speedChatStyleText.setPos(0.37, 0, buttonbase_ycoord - textRowHeight * 6 + 0.03) self.speedChatStyleText.reparentTo(self, DGG.FOREGROUND_SORT_INDEX) - self.exitButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=1.15, text=TTLocalizer.OptionsPageExitToontown, text_scale=options_text_scale, text_pos=button_textpos, textMayChange=0, pos=(0.45, 0, -0.6), command=self.__handleExitShowWithConfirm) + self.exitButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=1.15, text=TTLocalizer.OptionsPageExitToontown, text_scale=options_text_scale, text_pos=button_textpos, textMayChange=0, pos=(0.45, 0, -0.6), command=self.__handleExitShowWithConfirm) guiButton.removeNode() gui.removeNode() @@ -496,17 +486,15 @@ class OptionsTabPage(DirectFrame): self.displaySettings = DisplaySettingsDialog.DisplaySettingsDialog() self.displaySettings.load() self.accept(self.displaySettings.doneEvent, self.__doneDisplaySettings) - self.displaySettings.enter(self.ChangeDisplaySettings, self.ChangeDisplayAPI) + self.displaySettings.enter(self.ChangeDisplaySettings) - def __doneDisplaySettings(self, anyChanged, apiChanged): + def __doneDisplaySettings(self, anyChanged): if anyChanged: self.__setDisplaySettings() properties = base.win.getProperties() self.displaySettingsChanged = 1 self.displaySettingsSize = (properties.getXSize(), properties.getYSize()) self.displaySettingsFullscreen = properties.getFullscreen() - self.displaySettingsApi = base.pipe.getInterfaceName() - self.displaySettingsApiChanged = apiChanged def __setDisplaySettings(self): properties = base.win.getProperties() @@ -514,16 +502,7 @@ class OptionsTabPage(DirectFrame): screensize = '%s x %s' % (properties.getXSize(), properties.getYSize()) else: screensize = TTLocalizer.OptionsPageDisplayWindowed - api = base.pipe.getInterfaceName() - settings = {'screensize': screensize, - 'api': api} - if self.ChangeDisplayAPI: - OptionsPage.notify.debug('change display settings...') - text = TTLocalizer.OptionsPageDisplaySettings % settings - else: - OptionsPage.notify.debug('no change display settings...') - text = TTLocalizer.OptionsPageDisplaySettingsNoApi % settings - self.DisplaySettings_Label['text'] = text + self.DisplaySettings_Label['text'] = TTLocalizer.OptionsPageDisplaySettings % screensize def __doSpeedChatStyleLeft(self): if self.speedChatStyleIndex > 0: @@ -594,7 +573,7 @@ class CodesTabPage(DirectFrame): return def load(self): - self.notice = DirectLabel(parent=self, relief=None, text='NOTICE: All codes can only be entered once!', text_scale=0.06, pos=(0.0, 0, 0.53), text_fg=Vec4(1.0, 0, 0, 1)) + self.notice = DirectLabel(parent=self, relief=None, text=TTLocalizer.CodeRedemptionWarning, text_scale=0.06, pos=(0.0, 0, 0.53), text_fg=Vec4(1.0, 0, 0, 1)) cdrGui = loader.loadModel('phase_3.5/models/gui/tt_m_gui_sbk_codeRedemptionGui') instructionGui = cdrGui.find('**/tt_t_gui_sbk_cdrPresent') flippyGui = cdrGui.find('**/tt_t_gui_sbk_cdrFlippy') @@ -713,7 +692,6 @@ class ExtraOptionsTabPage(DirectFrame): def __init__(self, parent = aspect2d): self.parent = parent self.currentSizeIndex = None - self.dialog = None DirectFrame.__init__(self, parent=self.parent, relief=None, pos=(0.0, 0.0, 0.0), scale=(1.0, 1.0, 1.0)) @@ -721,16 +699,10 @@ class ExtraOptionsTabPage(DirectFrame): def destroy(self): self.parent = None - - if self.dialog: - self.dialog.destroy() - - del self.dialog DirectFrame.destroy(self) def load(self): guiButton = loader.loadModel('phase_3/models/gui/quit_button') - gui = loader.loadModel('phase_3.5/models/gui/friendslist_gui') titleHeight = 0.61 textStartHeight = 0.45 textRowHeight = 0.145 @@ -741,45 +713,82 @@ class ExtraOptionsTabPage(DirectFrame): button_textpos = (0, -0.02) options_text_scale = 0.052 disabled_arrow_color = Vec4(0.6, 0.6, 0.6, 1.0) - self.speed_chat_scale = 0.055 - self.cogLevel_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord), command=self.__doToggleCogLevelGui) - self.cogLevel_label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight)) - self.bugReportButton = DirectButton(parent=self, relief=None, text=TTLocalizer.BugReportButton, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text_pos=(0, -0.01), text_fg=(0, 0, 0, 1), + button_image = (guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')) + self.speed_chat_scale = 0.055 + self.speedchatPlus_label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight)) + self.trueFriends_label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight - textRowHeight)) + self.cogInterface_label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight - 2 * textRowHeight)) + self.speedchatPlus_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord), command=self.__doToggleSpeedchatPlus) + self.trueFriends_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight), command=self.__doToggleTrueFriends) + self.cogInterface_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - 2 * textRowHeight), command=self.__doToggleCogInterface) + self.bugReportButton = DirectButton(parent=self, relief=None, text=TTLocalizer.BugReportButton, image=button_image, image_scale=button_image_scale, text_pos=(0, -0.01), text_fg=(0, 0, 0, 1), command=self.showReportNotice, pos=(0.0, 0.0, -0.6), text_scale=(0.045)) - gui.removeNode() guiButton.removeNode() def enter(self): self.show() self.settingsChanged = 0 - self.__setCogLevelGuiButton() + self.__setSpeedchatPlusButton() + self.__setTrueFriendsButton() + self.__setCogInterfaceButton() def exit(self): self.ignore('confirmDone') + self.destroyReportNotice() self.hide() def unload(self): - self.cogLevel_label.destroy() - del self.cogLevel_label - self.cogLevel_toggleButton.destroy() - del self.cogLevel_toggleButton + self.speedchatPlus_label.destroy() + del self.speedchatPlus_label + self.trueFriends_label.destroy() + del self.trueFriends_label + self.cogInterface_label.destroy() + del self.cogInterface_label + self.cogInterface_toggleButton.destroy() + del self.cogInterface_toggleButton - def __doToggleCogLevelGui(self): + def __doToggleCogInterface(self): messenger.send('wakeup') - settings['cogLevel'] = not settings['cogLevel'] + settings['cogInterface'] = not settings['cogInterface'] self.settingsChanged = 1 - self.__setCogLevelGuiButton() + self.__setCogInterfaceButton() - def __setCogLevelGuiButton(self): - self.cogLevel_label['text'] = TTLocalizer.CogLevelLabelOn if settings['cogLevel'] else TTLocalizer.CogLevelLabelOff - self.cogLevel_toggleButton['text'] = TTLocalizer.OptionsPageToggleOff if settings['cogLevel'] else TTLocalizer.OptionsPageToggleOn + def __setCogInterfaceButton(self): + self.cogInterface_label['text'] = TTLocalizer.CogInterfaceLabelOn if settings['cogInterface'] else TTLocalizer.CogInterfaceLabelOff + self.cogInterface_toggleButton['text'] = TTLocalizer.OptionsPageToggleOff if settings['cogInterface'] else TTLocalizer.OptionsPageToggleOn + + def __doToggleSpeedchatPlus(self): + messenger.send('wakeup') + settings['speedchatPlus'] = not settings['speedchatPlus'] + self.settingsChanged = 1 + self.__setSpeedchatPlusButton() + def __setSpeedchatPlusButton(self): + self.speedchatPlus_label['text'] = TTLocalizer.SpeedchatPlusLabelOn if settings['speedchatPlus'] else TTLocalizer.SpeedchatPlusLabelOff + self.speedchatPlus_toggleButton['text'] = TTLocalizer.OptionsPageToggleOff if settings['speedchatPlus'] else TTLocalizer.OptionsPageToggleOn + + def __doToggleTrueFriends(self): + messenger.send('wakeup') + settings['trueFriends'] = not settings['trueFriends'] + self.settingsChanged = 1 + self.__setTrueFriendsButton() + + def __setTrueFriendsButton(self): + self.trueFriends_label['text'] = TTLocalizer.TrueFriendsLabelOn if settings['trueFriends'] else TTLocalizer.TrueFriendsLabelOff + self.trueFriends_toggleButton['text'] = TTLocalizer.OptionsPageToggleOff if settings['trueFriends'] else TTLocalizer.OptionsPageToggleOn + + def destroyReportNotice(self): + if hasattr(self, 'dialog'): + self.dialog.destroy() + del self.dialog + def showReportNotice(self): + self.destroyReportNotice() self.dialog = TTDialog.TTDialog(style=TTDialog.YesNo, text=TTLocalizer.BugReportNotice, command=self.confirmBugReport) self.dialog.show() def confirmBugReport(self, value): - if value > 0: - webbrowser.open(ToontownGlobals.BugReportSite, new=2, autoraise=True) + self.destroyReportNotice() - self.dialog.destroy() \ No newline at end of file + if value > 0: + webbrowser.open(ToontownGlobals.BugReportSite, new=2, autoraise=True) \ No newline at end of file diff --git a/toontown/toonbase/ClientStart.py b/toontown/toonbase/ClientStart.py index d6ceb630..d65c5e59 100644 --- a/toontown/toonbase/ClientStart.py +++ b/toontown/toonbase/ClientStart.py @@ -13,10 +13,8 @@ from direct.extensions_native import VBase3_extensions from direct.extensions_native import VBase4_extensions from direct.extensions_native import NodePath_extensions - from panda3d.core import loadPrcFile - if __debug__: import wx, sys from direct.stdpy import threading @@ -75,8 +73,8 @@ if 'toonChatSounds' not in settings: settings['toonChatSounds'] = True if 'language' not in settings: settings['language'] = 'English' -if 'cogLevel' not in settings: - settings['cogLevel'] = True +if 'cogInterface' not in settings: + settings['cogInterface'] = True if 'speedchatPlus' not in settings: settings['speedchatPlus'] = True if 'trueFriends' not in settings: diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index b4468e08..719e5e49 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -3793,13 +3793,11 @@ OptionsPageSelect = 'Select' OptionsPageToggleOn = 'Turn On' OptionsPageToggleOff = 'Turn Off' OptionsPageChange = 'Change' -OptionsPageDisplaySettings = 'Display: %(screensize)s, %(api)s' -OptionsPageDisplaySettingsNoApi = 'Display: %(screensize)s' +OptionsPageDisplaySettings = 'Display: %s' OptionsPageExitConfirm = 'Exit Toontown?' DisplaySettingsTitle = 'Display Settings' DisplaySettingsIntro = 'The following settings are used to configure the way Toontown is displayed on your computer. It is usually unnecessary to adjust these unless you are experiencing a problem.' DisplaySettingsIntroSimple = 'You may adjust the screen resolution to a higher value to improve the clarity of text and graphics in Toontown, but depending on your graphics card, some higher values may make the game run less smoothly or may not work at all.' -DisplaySettingsApi = 'Graphics API:' DisplaySettingsResolution = 'Resolution:' DisplaySettingsWindowed = 'In a window' DisplaySettingsFullscreen = 'Full screen' @@ -8344,13 +8342,19 @@ LanguageSelectorConfirm = 'Are you sure you want to change your language to %s? LanguageSelectorSameLanguage = "You're already using that language!" PickTrackTitle = 'Pick your third track!' PickTrackNotice = 'Choose a track!' -CogLevelLabelOn = 'The cog level GUI is on.' -CogLevelLabelOff = 'The cog level GUI is off.' +CogInterfaceLabelOn = 'The cog battle interface is on.' +CogInterfaceLabelOff = 'The cog battle interface is off.' +SpeedchatPlusLabelOn = 'Speedchat Plus is on.' +SpeedchatPlusLabelOff = 'Speedchat Plus is off.' +TrueFriendsLabelOn = 'True Friends is on.' +TrueFriendsLabelOff = 'True Friends is off.' HouseNames = ("Bungalow", "Tiki", "Teepee", "Castle", "Cupcake", "Cabin") CatalogPurchaseHouseType = "When you buy a new house type, the current one is replaced by it. To recover the old type, you'll need to buy it back. Continue?" BugReportButton = 'Report a Bug' BugReportNotice = 'Attention!\n\nThis button will open a browser which will send you to a third party bug tracker website. This site requires an Ubuntu One account to login. It may ask you to create an account.\n\nAre you sure you want to continue?' +CodeRedemptionWarning = 'NOTICE: All codes can only be entered once!' + # Buffs buffIdStrings = { diff --git a/toontown/town/TownBattle.py b/toontown/town/TownBattle.py index d981f96d..481e73fa 100644 --- a/toontown/town/TownBattle.py +++ b/toontown/town/TownBattle.py @@ -368,7 +368,7 @@ class TownBattle(StateData.StateData): def exitOff(self): if self.isLoaded: self.__enterPanels(self.numToons, self.localNum) - if settings['cogLevel']: + if settings['cogInterface']: self.__enterCogPanels(self.numCogs) self.timer.show() self.track = -1 @@ -516,7 +516,7 @@ class TownBattle(StateData.StateData): for i in xrange(len(toons)): self.toonPanels[i].setLaffMeter(toons[i]) - if settings['cogLevel']: + if settings['cogInterface']: self.__enterCogPanels(self.numCogs) for i in xrange(len(cogs)): self.cogPanels[i].setSuit(cogs[i]) From bd7488dd49a70bc7e6dd71271d7ce3eb1ece79aa Mon Sep 17 00:00:00 2001 From: DenialMC Date: Sat, 16 May 2015 12:19:31 +0300 Subject: [PATCH 34/78] Fix special tab --- toontown/catalog/CatalogGenerator.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/toontown/catalog/CatalogGenerator.py b/toontown/catalog/CatalogGenerator.py index 188d35b8..e87888d0 100644 --- a/toontown/catalog/CatalogGenerator.py +++ b/toontown/catalog/CatalogGenerator.py @@ -540,13 +540,10 @@ MonthlySchedule = ((7, CatalogGardenStarterItem(), CatalogNametagItem(100), CatalogNametagItem(0), - CatalogClothingItem(1608, 0, True), CatalogClothingItem(1605, 0, True), CatalogClothingItem(1602, 0, True), - CatalogClothingItem(1607, 0, True), CatalogClothingItem(1604, 0, True), CatalogClothingItem(1601, 0, True), - CatalogClothingItem(1606, 0, True), CatalogClothingItem(1603, 0, True), CatalogClothingItem(1600, 0, True), CatalogEmoteItem(20, True), From 87a77a874063089205b7fe9b421112b7d3dbea2d Mon Sep 17 00:00:00 2001 From: DenialMC Date: Sat, 16 May 2015 12:40:45 +0300 Subject: [PATCH 35/78] Fix minigame speedchat crash --- toontown/uberdog/ARGManager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/toontown/uberdog/ARGManager.py b/toontown/uberdog/ARGManager.py index 676955e0..f5b60e9c 100644 --- a/toontown/uberdog/ARGManager.py +++ b/toontown/uberdog/ARGManager.py @@ -37,6 +37,8 @@ class ARGManager(DistributedObjectGlobal): def setupPortableHoleEvent(self): def phraseSaid(phraseId): + if not hasattr(base.cr.playGame, 'place'): + return position, speedchatIndex, destination = Hood2Details.get(base.cr.playGame.getPlace().getZoneId(), [None, None, None]) if not position or not speedchatIndex or not destination: return From 0f4521a19e5cb411ed1b014e5b60d6e6bf0c2bc7 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Sat, 16 May 2015 13:23:30 +0300 Subject: [PATCH 36/78] Initial work on gifting (still broken right now), and sry zach --- astron/dclass/united.dc | 11 ---- otp/distributed/DCClassImports.py | 6 +- toontown/ai/ToontownAIRepository.py | 3 - toontown/catalog/AccountDate.py | 39 ------------ toontown/catalog/AccountDateAI.py | 23 ------- toontown/catalog/CatalogAccessoryItem.py | 3 - toontown/catalog/CatalogClothingItem.py | 3 - toontown/catalog/CatalogEmoteItem.py | 5 +- toontown/catalog/CatalogItem.py | 4 +- toontown/catalog/CatalogScreen.py | 81 +++++++++++------------- toontown/nametag/NametagGlobals.py | 2 + toontown/shtiker/DeleteManager.py | 21 ------ toontown/shtiker/DeleteManagerAI.py | 9 --- toontown/toon/LocalToon.py | 3 - 14 files changed, 45 insertions(+), 168 deletions(-) delete mode 100644 toontown/catalog/AccountDate.py delete mode 100644 toontown/catalog/AccountDateAI.py delete mode 100644 toontown/shtiker/DeleteManager.py delete mode 100644 toontown/shtiker/DeleteManagerAI.py diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index ddf124ef..569878f0 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -295,7 +295,6 @@ from toontown.estate import DistributedEstate/AI from toontown.estate import DistributedHouse/AI from toontown.estate import DistributedHouseInterior/AI from toontown.estate import DistributedGarden/AI -from toontown.shtiker import DeleteManager/AI from toontown.groups import GroupManager/AI/UD from toontown.ai import NewsManager/AI from toontown.shtiker import PurchaseManager/AI @@ -303,7 +302,6 @@ from toontown.shtiker import NewbiePurchaseManager/AI from toontown.safezone import SafeZoneManager/AI from toontown.tutorial import TutorialManager/AI from toontown.catalog import CatalogManager/AI -from toontown.catalog import AccountDate/AI from toontown.safezone import DistributedTreasure/AI from toontown.coghq import DistributedCashbotBossTreasure/AI from toontown.building import DistributedTrophyMgr/AI @@ -1545,10 +1543,6 @@ dclass DistributedPartyTugOfWarActivity : DistributedPartyTeamActivity { updateToonPositions(int16/1000) broadcast; }; -dclass DeleteManager : DistributedObject { - setInventory(blob) airecv clsend; -}; - dclass GroupManager : DistributedObject { setChildId() clsend airecv; isPlayerGrouped(uint32); @@ -1659,11 +1653,6 @@ dclass CatalogManager : DistributedObject { startCatalog() airecv clsend; }; -dclass AccountDate : DistributedObject { - requestDate() airecv clsend; - requestDateResult(string); -}; - dclass DistributedTreasure : DistributedObject { setTreasureType(uint16) required broadcast ram; setPosition(int16/10, int16/10, int16/10) required broadcast ram; diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index bde65a54..2f066f2b 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,7 @@ from pandac.PandaModules import * -hashVal = 2005027427 +hashVal = 3860069384L from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot @@ -11,7 +11,7 @@ from toontown.building import DistributedAnimatedProp, DistributedTrophyMgr, Dis from toontown.uberdog.DistributedPartyManager import DistributedPartyManager from otp.friends import FriendManager from otp.level import DistributedLevel, DistributedEntity, DistributedInteractiveEntity -from toontown.shtiker import DeleteManager, PurchaseManager, NewbiePurchaseManager +from toontown.shtiker import PurchaseManager, NewbiePurchaseManager from toontown.groups import GroupManager from toontown.uberdog.ClientServicesManager import ClientServicesManager from toontown.ai import WelcomeValleyManager, NewsManager, DistributedAprilToonsMgr, DistributedBlackCatMgr, DistributedReportMgr, DistributedPolarPlaceEffectMgr, DistributedGreenToonEffectMgr, DistributedResistanceEmoteMgr, DistributedScavengerHuntTarget, DistributedTrickOrTreatTarget, DistributedWinterCarolingTarget, DistributedJorElCam @@ -25,7 +25,7 @@ from toontown.safezone import DistributedTrolley, DistributedPartyGate, Distribu from toontown.fishing import DistributedFishingPond, DistributedFishingTarget, DistributedPondBingoManager from toontown.minigame import DistributedMinigame, DistributedMinigameTemplate, DistributedRaceGame, DistributedCannonGame, DistributedPatternGame, DistributedRingGame, DistributedTagGame, DistributedMazeGame, DistributedTugOfWarGame, DistributedCatchGame, DistributedDivingGame, DistributedTargetGame, DistributedVineGame, DistributedIceGame, DistributedCogThiefGame, DistributedTwoDGame from toontown.racing import DistributedVehicle, DistributedStartingBlock, DistributedRace, DistributedKartPad, DistributedRacePad, DistributedViewPad, DistributedStartingBlock, DistributedLeaderBoard, DistributedGag, DistributedProjectile -from toontown.catalog import CatalogManager, AccountDate +from toontown.catalog import CatalogManager from toontown.parties import DistributedParty, DistributedPartyActivity, DistributedPartyTeamActivity, DistributedPartyCannon, DistributedPartyCannonActivity, DistributedPartyCatchActivity, DistributedPartyWinterCatchActivity, DistributedPartyCogActivity, DistributedPartyWinterCogActivity, DistributedPartyFireworksActivity, DistributedPartyDanceActivityBase, DistributedPartyDanceActivity, DistributedPartyDance20Activity, DistributedPartyValentineDanceActivity, DistributedPartyValentineDance20Activity, DistributedPartyTrampolineActivity, DistributedPartyValentineTrampolineActivity, DistributedPartyVictoryTrampolineActivity, DistributedPartyWinterTrampolineActivity, DistributedPartyTugOfWarActivity, DistributedPartyJukeboxActivityBase, DistributedPartyJukeboxActivity, DistributedPartyJukebox40Activity, DistributedPartyValentineJukeboxActivity, DistributedPartyValentineJukebox40Activity from toontown.pets.DistributedPet import * from toontown.friends import TTUFriendsManager diff --git a/toontown/ai/ToontownAIRepository.py b/toontown/ai/ToontownAIRepository.py index 77c1e344..5fc1715b 100644 --- a/toontown/ai/ToontownAIRepository.py +++ b/toontown/ai/ToontownAIRepository.py @@ -16,7 +16,6 @@ from toontown.ai.NewsManagerAI import NewsManagerAI from toontown.ai.QuestManagerAI import QuestManagerAI from toontown.ai.DistributedBlackCatMgrAI import DistributedBlackCatMgrAI from toontown.ai.DistributedReportMgrAI import DistributedReportMgrAI -from toontown.catalog.AccountDateAI import AccountDateAI from toontown.building.DistributedBuildingQueryMgrAI import DistributedBuildingQueryMgrAI from toontown.building.DistributedTrophyMgrAI import DistributedTrophyMgrAI from toontown.catalog.CatalogManagerAI import CatalogManagerAI @@ -121,8 +120,6 @@ class ToontownAIRepository(ToontownInternalRepository): self.holidayManager = HolidayManagerAI(self) self.codeRedemptionMgr = TTCodeRedemptionMgrAI(self) self.codeRedemptionMgr.generateWithRequired(2) - self.accountDateMgr = AccountDateAI(self) - self.accountDateMgr.generateWithRequired(2) self.buildingQueryMgr = DistributedBuildingQueryMgrAI(self) self.buildingQueryMgr.generateWithRequired(2) self.groupManager.generateWithRequired(2) diff --git a/toontown/catalog/AccountDate.py b/toontown/catalog/AccountDate.py deleted file mode 100644 index 610227e1..00000000 --- a/toontown/catalog/AccountDate.py +++ /dev/null @@ -1,39 +0,0 @@ -from direct.distributed.DistributedObject import DistributedObject -from direct.directnotify.DirectNotifyGlobal import directNotify -from datetime import datetime - -class AccountDate(DistributedObject): - neverDisable = 1 - notify = directNotify.newCategory('AccountDate') - - def __init__(self, cr): - DistributedObject.__init__(self, cr) - self.accountDays = 0 - - def announceGenerate(self): - DistributedObject.announceGenerate(self) - base.cr.accountDateMgr = self - taskMgr.doMethodLater(10, self.requestDate, 'request-task') - - def delete(self): - if hasattr(base.cr, 'accountDateMgr'): - if base.cr.accountDateMgr is self: - del base.cr.accountDateMgr - DistributedObject.delete(self) - - def getAccountDays(self): - return self.accountDays - - def requestDate(self, task=None): - self.sendUpdate('requestDate') - - if task is not None: - return task.done - - def requestDateResult(self, result): - if result is None: - notify.warning('Invalid response from server.') - self.accountDays = 0 - else: - date = datetime.strptime(result, "%a %b %d %H:%M:%S %Y") - self.accountDays = (datetime.now() - date).days \ No newline at end of file diff --git a/toontown/catalog/AccountDateAI.py b/toontown/catalog/AccountDateAI.py deleted file mode 100644 index 654048ea..00000000 --- a/toontown/catalog/AccountDateAI.py +++ /dev/null @@ -1,23 +0,0 @@ -from direct.directnotify import DirectNotifyGlobal -from direct.distributed.DistributedObjectAI import DistributedObjectAI - -class AccountDateAI(DistributedObjectAI): - notify = DirectNotifyGlobal.directNotify.newCategory("AccountDateAI") - - def announceGenerate(self): - DistributedObjectAI.announceGenerate(self) - - def requestDate(self): - avId = self.air.getAvatarIdFromSender() - av = self.air.doId2do.get(avId) - - if not av: - return - - def callback(dclass, fields): - if dclass is not None and dclass == self.air.dclassesByName['AccountAI'] and fields.has_key('CREATED'): - self.sendUpdateToAvatarId(avId, 'requestDateResult', [fields.get('CREATED')]) - else: - self.sendUpdateToAvatarId(avId, 'requestDateResult', [None]) - - self.air.dbInterface.queryObject(self.air.dbId, av.DISLid, callback) \ No newline at end of file diff --git a/toontown/catalog/CatalogAccessoryItem.py b/toontown/catalog/CatalogAccessoryItem.py index 4f8f13f8..3b12563a 100644 --- a/toontown/catalog/CatalogAccessoryItem.py +++ b/toontown/catalog/CatalogAccessoryItem.py @@ -363,9 +363,6 @@ class CatalogAccessoryItem(CatalogItem.CatalogItem): dg.addUint16(self.accessoryType) dg.addBool(self.isSpecial) - def isGift(self): - return not self.getEmblemPrices() - def getAllAccessories(*accessoryTypes): list = [] for accessoryType in accessoryTypes: diff --git a/toontown/catalog/CatalogClothingItem.py b/toontown/catalog/CatalogClothingItem.py index 5124da5a..0f4865f0 100644 --- a/toontown/catalog/CatalogClothingItem.py +++ b/toontown/catalog/CatalogClothingItem.py @@ -548,9 +548,6 @@ class CatalogClothingItem(CatalogItem.CatalogItem): dg.addUint8(self.colorIndex) dg.addBool(self.isSpecial) - def isGift(self): - return not self.getEmblemPrices() - def getAllClothes(*clothingTypes): list = [] for clothingType in clothingTypes: diff --git a/toontown/catalog/CatalogEmoteItem.py b/toontown/catalog/CatalogEmoteItem.py index fa173bc6..a5c16f0a 100644 --- a/toontown/catalog/CatalogEmoteItem.py +++ b/toontown/catalog/CatalogEmoteItem.py @@ -121,7 +121,4 @@ class CatalogEmoteItem(CatalogItem.CatalogItem): def encodeDatagram(self, dg, store): CatalogItem.CatalogItem.encodeDatagram(self, dg, store) dg.addUint8(self.emoteIndex) - dg.addBool(self.isSpecial) - - def isGift(self): - return not self.getEmblemPrices() \ No newline at end of file + dg.addBool(self.isSpecial) \ No newline at end of file diff --git a/toontown/catalog/CatalogItem.py b/toontown/catalog/CatalogItem.py index bba97cda..efce112a 100644 --- a/toontown/catalog/CatalogItem.py +++ b/toontown/catalog/CatalogItem.py @@ -115,9 +115,7 @@ class CatalogItem: return self.saleItem def isGift(self): - if self.getEmblemPrices(): - return 0 - return 1 + return not self.getEmblemPrices() def isRental(self): return 0 diff --git a/toontown/catalog/CatalogScreen.py b/toontown/catalog/CatalogScreen.py index 36eb9d3c..449de623 100644 --- a/toontown/catalog/CatalogScreen.py +++ b/toontown/catalog/CatalogScreen.py @@ -45,11 +45,10 @@ class CatalogScreen(DirectFrame): DirectFrame.__init__(self, parent) self.friendGiftIndex = 0 self.friendGiftHandle = None - self.frienddoId = None + self.friendDoId = None self.receiverName = 'Error Nameless Toon' self.friends = {} - self.family = {} - self.ffList = [] + self.friendList = [] self.textRolloverColor = Vec4(1, 1, 0, 1) self.textDownColor = Vec4(0.5, 0.9, 1, 1) self.textDisabledColor = Vec4(0.4, 0.8, 0.4, 1) @@ -92,7 +91,7 @@ class CatalogScreen(DirectFrame): taskMgr.doMethodLater(12.0, clarabelleHelpText1, 'clarabelleHelpText1') if hasattr(self, 'giftToggle'): self.giftToggle['state'] = DGG.NORMAL - self.giftToggle['text'] = TTLocalizer.CatalogGiftToggleOn + self.giftToggle['text'] = TTLocalizer.CatalogGiftToggleOff def hide(self): self.ignore('CatalogItemPurchaseRequest') @@ -542,8 +541,8 @@ class CatalogScreen(DirectFrame): -2.0, -1.45), image_scale=(1.0, 1.0, smash), image_pos=(0.0, 0.0, -1.9 + lift), image=backDown, pressEffect=0, command=self.showEmblemItems, text=TTLocalizer.CatalogEmblem, text_font=ToontownGlobals.getSignFont(), text_pos=(1.75, 0.132), text_scale=0.065, text_fg=(0.353, 0.627, 0.627, 1.0), text2_fg=(0.353, 0.427, 0.427, 1.0)) self.emblemCatalogButton2.hide() - self.__makeFFlist() - if len(self.ffList) > 0: + self.__makeFriendList() + if len(self.friendList) > 0: if config.GetBool('want-gifting', True): self.giftToggle = DirectButton(self.base, relief=None, pressEffect=0, image=(giftToggleUp, giftToggleDown, giftToggleUp), image_scale=(1.0, 1, 0.7), command=self.__giftToggle, text=TTLocalizer.CatalogGiftToggleOff, text_font=ToontownGlobals.getSignFont(), text_pos=TTLocalizer.CSgiftTogglePos, text_scale=TTLocalizer.CSgiftToggle, text_fg=(0.353, 0.627, 0.627, 1.0), text3_fg=(0.15, 0.3, 0.3, 1.0), text2_fg=(0.353, 0.427, 0.427, 1.0), image_color=Vec4(1.0, 1.0, 0.2, 1.0), image1_color=Vec4(0.9, 0.85, 0.2, 1.0), image2_color=Vec4(0.9, 0.85, 0.2, 1.0), image3_color=Vec4(0.5, 0.45, 0.2, 1.0)) self.giftToggle.setPos(0.0, 0, -0.035) @@ -569,8 +568,8 @@ class CatalogScreen(DirectFrame): clipNP = self.scrollList.attachNewNode(clipper) self.scrollList.setClipPlane(clipNP) self.__makeScrollList() - friendId = self.ffList[0] - self.__chooseFriend(self.ffList[0][0], self.ffList[0][1]) + friendId = self.friendList[0] + self.__chooseFriend(self.friendList[0][0], self.friendList[0][1]) self.update() self.createdGiftGui = 1 for i in range(4): @@ -865,11 +864,7 @@ class CatalogScreen(DirectFrame): if self.responseDialog: self.responseDialog.cleanup() self.responseDialog = None - if self.giftAvatar: - if hasattr(self.giftAvatar, 'doId'): - self.giftAvatar.delete() - else: - self.giftAvatar = None + self.unloadFriend() return def unloadClarabelle(self): @@ -933,7 +928,7 @@ class CatalogScreen(DirectFrame): taskMgr.remove('clarabelleAskAnythingElse') def __handleGiftPurchaseRequest(self, item): - item.requestGiftPurchase(self['phone'], self.frienddoId, self.__handleGiftPurchaseResponse) + item.requestGiftPurchase(self['phone'], self.friendDoId, self.__handleGiftPurchaseResponse) taskMgr.remove('clarabelleAskAnythingElse') def __handlePurchaseResponse(self, retCode, item): @@ -1015,61 +1010,61 @@ class CatalogScreen(DirectFrame): self.silverLabel.hide() self.goldLabel.hide() - def checkFamily(self, doId): - test = 0 - for familyMember in base.cr.avList: - if familyMember.id == doId: - test = 1 - - return test - - def __makeFFlist(self): + def __makeFriendList(self): + for av in base.cr.avList: + if localAvatar.doId == av.id: + continue + self.friendList.append((av.id, av.name, NametagGlobals.CCNormal)) for id, handle in base.cr.friendsMap.items(): - self.ffList.append((id, handle.getName(), NametagGlobals.CCFreeChat)) + self.friendList.append((id, handle.getName(), NametagGlobals.getFriendColor(handle.commonChatFlags))) def __makeScrollList(self): - for ff in self.ffList: - ffbutton = self.makeFamilyButton(ff[0], ff[1], ff[2]) - if ffbutton: - self.scrollList.addItem(ffbutton, refresh=0) - self.friends[ff] = ffbutton + for friend in self.friendList: + friendButton = self.makeFriendButton(friend[0], friend[1], friend[2]) + if friendButton: + self.scrollList.addItem(friendButton, refresh=0) + self.friends[friend] = friendButton self.scrollList.refresh() - def makeFamilyButton(self, familyId, familyName, colorCode): - # fg = NametagGlobals.getNameFg(colorCode, PGButton.SInactive) + def makeFriendButton(self, avId, avName, colorCode): return DirectButton( relief=None, - text=familyName, + text=avName, text_scale=0.04, text_align=TextNode.ALeft, - # text_fg=fg, + text_fg=NametagGlobals.NametagColors[colorCode][0][0], text1_bg=self.textDownColor, text2_bg=self.textRolloverColor, text3_fg=self.textDisabledColor, textMayChange=0, command=self.__chooseFriend, - extraArgs=[familyId, familyName] - ) + extraArgs=[avId, avName] + ) def __chooseFriend(self, friendId, friendName): + if self.friendDoId and self.friendDoId == friendId: + return messenger.send('wakeup') - self.frienddoId = friendId + self.friendDoId = friendId self.receiverName = friendName self.friendLabel['text'] = TTLocalizer.CatalogGiftTo % self.receiverName self.__loadFriend() + def unloadFriend(self): + if self.giftAvatar: + if hasattr(self.giftAvatar, 'doId'): + self.giftAvatar.disable() + self.giftAvatar.delete() + self.giftAvatar = None + def __loadFriend(self): if self.allowGetDetails == 0: CatalogScreen.notify.warning('smashing requests') - if self.frienddoId and self.allowGetDetails: - if self.giftAvatar: - if hasattr(self.giftAvatar, 'doId'): - self.giftAvatar.disable() - self.giftAvatar.delete() - self.giftAvatar = None + if self.friendDoId and self.allowGetDetails: + self.unloadFriend() self.giftAvatar = DistributedToon.DistributedToon(base.cr) - self.giftAvatar.doId = self.frienddoId + self.giftAvatar.doId = self.friendDoId self.giftAvatar.forceAllowDelayDelete() self.giftAvatar.generate() base.cr.getAvatarDetails(self.giftAvatar, self.__handleAvatarDetails, 'DistributedToon') diff --git a/toontown/nametag/NametagGlobals.py b/toontown/nametag/NametagGlobals.py index b8b62a6c..a0b866d5 100644 --- a/toontown/nametag/NametagGlobals.py +++ b/toontown/nametag/NametagGlobals.py @@ -135,6 +135,8 @@ def getModelWidthHeight(model): height = maxPoint.getZ() - minPoint.getZ() return (width, height) +def getFriendColor(flag): + return CCNormal if flag == 1 and settings['trueFriends'] else CCFreeChat # Foreground, background: NametagColors = { diff --git a/toontown/shtiker/DeleteManager.py b/toontown/shtiker/DeleteManager.py deleted file mode 100644 index 46af28fe..00000000 --- a/toontown/shtiker/DeleteManager.py +++ /dev/null @@ -1,21 +0,0 @@ -from pandac.PandaModules import * -from direct.distributed import DistributedObject -from direct.directnotify import DirectNotifyGlobal - -class DeleteManager(DistributedObject.DistributedObject): - notify = DirectNotifyGlobal.directNotify.newCategory('DeleteManager') - neverDisable = 1 - - def __init__(self, cr): - DistributedObject.DistributedObject.__init__(self, cr) - - def generate(self): - DistributedObject.DistributedObject.generate(self) - self.accept('deleteItems', self.d_setInventory) - - def disable(self): - self.ignore('deleteItems') - DistributedObject.DistributedObject.disable(self) - - def d_setInventory(self, newInventoryString): - self.sendUpdate('setInventory', [newInventoryString]) diff --git a/toontown/shtiker/DeleteManagerAI.py b/toontown/shtiker/DeleteManagerAI.py deleted file mode 100644 index fcc249f2..00000000 --- a/toontown/shtiker/DeleteManagerAI.py +++ /dev/null @@ -1,9 +0,0 @@ -from direct.directnotify import DirectNotifyGlobal -from direct.distributed.DistributedObjectAI import DistributedObjectAI - -class DeleteManagerAI(DistributedObjectAI): - notify = DirectNotifyGlobal.directNotify.newCategory("DeleteManagerAI") - - def setInventory(self, todo0): - pass - diff --git a/toontown/toon/LocalToon.py b/toontown/toon/LocalToon.py index baee8074..b7e3f309 100644 --- a/toontown/toon/LocalToon.py +++ b/toontown/toon/LocalToon.py @@ -1687,9 +1687,6 @@ class LocalToon(DistributedToon.DistributedToon, LocalAvatar.LocalAvatar): def setPinkSlips(self, pinkSlips): DistributedToon.DistributedToon.setPinkSlips(self, pinkSlips) self.inventory.updateTotalPropsText() - - def getAccountDays(self): - return base.cr.accountDateMgr.getAccountDays() def hasActiveBoardingGroup(self): if hasattr(localAvatar, 'boardingParty') and localAvatar.boardingParty: From a03c70c0e672dbc5573fd7c1e9a0b5949edfc212 Mon Sep 17 00:00:00 2001 From: DenialMC Date: Sat, 16 May 2015 14:03:46 +0300 Subject: [PATCH 37/78] Replace ugly method with beautiful --- toontown/catalog/CatalogItemPanel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toontown/catalog/CatalogItemPanel.py b/toontown/catalog/CatalogItemPanel.py index 5e2f2d46..944776c7 100644 --- a/toontown/catalog/CatalogItemPanel.py +++ b/toontown/catalog/CatalogItemPanel.py @@ -313,7 +313,7 @@ class CatalogItemPanel(DirectFrame): self.buyButton['state'] = DGG.DISABLED elif self['item'].getEmblemPrices() and not base.localAvatar.isEnoughMoneyAndEmblemsToBuy(self['item'].getPrice(self['type']), self['item'].getEmblemPrices()): self.buyButton['state'] = DGG.DISABLED - elif self['item'].__class__.__name__ == "CatalogHouseItem" and self['item'].houseId == localAvatar.houseType: + elif hasattr(self['item'], 'houseId') and self['item'].houseId == localAvatar.houseType: auxText = TTLocalizer.CatalogPurchasedMaxText elif self['item'].getPrice(self['type']) <= base.localAvatar.getMoney() + base.localAvatar.getBankMoney(): self.buyButton['state'] = DGG.NORMAL From c1e1f5164a90ee183dd66a0abe3298e74db25cd3 Mon Sep 17 00:00:00 2001 From: Loudrob Date: Sat, 16 May 2015 14:34:31 -0400 Subject: [PATCH 38/78] Decorations should only be used on their correct holidays pls. --- astron/dclass/united.dc | 2 + otp/distributed/DCClassImports.py | 2 +- toontown/parties/DistributedPartyAI.py | 53 ++++++++++--------- .../parties/DistributedPartyCogActivity.py | 2 +- toontown/parties/GlobalPartyManagerUD.py | 7 +++ toontown/parties/PartyGlobals.py | 32 ++++++++++- toontown/toonbase/TTLocalizerEnglish.py | 30 ++++++----- toontown/uberdog/DistributedPartyManagerAI.py | 16 ++++++ toontown/uberdog/DistributedPartyManagerUD.py | 5 ++ 9 files changed, 107 insertions(+), 42 deletions(-) diff --git a/astron/dclass/united.dc b/astron/dclass/united.dc index 569878f0..cdca1dc0 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/united.dc @@ -3214,6 +3214,8 @@ dclass DistributedPartyManager : DistributedObject { updateToPublicPartyCountUdToAllAi(uint32 partyCount, uint64 partyId) airecv; requestShardIdZoneIdForHostId(uint32) clsend airecv; sendShardIdZoneIdToAvatar(uint32, uint32); + partyManagerUdStartingUp() airecv; + partyManagerUdLost() airecv; updateAllPartyInfoToUd(uint32, uint64, uint32, uint32, uint8, uint8, string, uint8 [], uint64); forceCheckStart(); requestMw(uint32, string, uint32, uint32); diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index 2f066f2b..96139069 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,7 @@ from pandac.PandaModules import * -hashVal = 3860069384L +hashVal = 4040865593L from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot diff --git a/toontown/parties/DistributedPartyAI.py b/toontown/parties/DistributedPartyAI.py index 2e612e00..887be743 100644 --- a/toontown/parties/DistributedPartyAI.py +++ b/toontown/parties/DistributedPartyAI.py @@ -1,13 +1,21 @@ from direct.directnotify import DirectNotifyGlobal from direct.distributed.DistributedObjectAI import DistributedObjectAI from PartyGlobals import * -import DistributedPartyCannonAI, DistributedPartyCannonActivityAI, DistributedPartyCatchActivityAI, DistributedPartyCogActivityAI, DistributedPartyDanceActivityAI -import DistributedPartyDance20ActivityAI, DistributedPartyFireworksActivityAI, DistributedPartyJukeboxActivityAI, DistributedPartyJukebox40ActivityAI -import DistributedPartyTrampolineActivityAI, DistributedPartyTugOfWarActivityAI, DistributedPartyValentineDanceActivityAI -import DistributedPartyValentineDance20ActivityAI, DistributedPartyValentineJukeboxActivityAI, DistributedPartyValentineJukebox40ActivityAI -import DistributedPartyValentineTrampolineActivityAI, DistributedPartyVictoryTrampolineActivityAI, DistributedPartyWinterCatchActivityAI -import DistributedPartyWinterCogActivityAI, DistributedPartyWinterTrampolineActivityAI -import PartyUtils, time +import PartyUtils +import time +# ugh all these activities +from toontown.parties.DistributedPartyJukeboxActivityAI import DistributedPartyJukeboxActivityAI +from toontown.parties.DistributedPartyDanceActivityAI import DistributedPartyDanceActivityAI +from toontown.parties.DistributedPartyJukebox40ActivityAI import DistributedPartyJukebox40ActivityAI +from toontown.parties.DistributedPartyDance20ActivityAI import DistributedPartyDance20ActivityAI +from toontown.parties.DistributedPartyCogActivityAI import DistributedPartyCogActivityAI +from toontown.parties.DistributedPartyTrampolineActivityAI import DistributedPartyTrampolineActivityAI +from toontown.parties.DistributedPartyVictoryTrampolineActivityAI import DistributedPartyVictoryTrampolineActivityAI +from toontown.parties.DistributedPartyCatchActivityAI import DistributedPartyCatchActivityAI +from toontown.parties.DistributedPartyTugOfWarActivityAI import DistributedPartyTugOfWarActivityAI +from toontown.parties.DistributedPartyCannonActivityAI import DistributedPartyCannonActivityAI +from toontown.parties.DistributedPartyCannonAI import DistributedPartyCannonAI +from toontown.parties.DistributedPartyFireworksActivityAI import DistributedPartyFireworksActivityAI """ dclass DistributedParty : DistributedObject { @@ -51,23 +59,16 @@ class DistributedPartyAI(DistributedObjectAI): DistributedObjectAI.generate(self) # make stuff actId2Class = { - ActivityIds.PartyCatch: DistributedPartyCatchActivityAI.DistributedPartyCatchActivityAI, - ActivityIds.PartyCog: DistributedPartyCogActivityAI.DistributedPartyCogActivityAI, - ActivityIds.PartyDance: DistributedPartyDanceActivityAI.DistributedPartyDanceActivityAI, - ActivityIds.PartyDance20: DistributedPartyDance20ActivityAI.DistributedPartyDance20ActivityAI, - ActivityIds.PartyFireworks: DistributedPartyFireworksActivityAI.DistributedPartyFireworksActivityAI, - ActivityIds.PartyJukebox: DistributedPartyJukeboxActivityAI.DistributedPartyJukeboxActivityAI, - ActivityIds.PartyJukebox40: DistributedPartyJukebox40ActivityAI.DistributedPartyJukebox40ActivityAI, - ActivityIds.PartyTrampoline: DistributedPartyTrampolineActivityAI.DistributedPartyTrampolineActivityAI, - ActivityIds.PartyTugOfWar: DistributedPartyTugOfWarActivityAI.DistributedPartyTugOfWarActivityAI, - ActivityIds.PartyValentineDance: DistributedPartyValentineDanceActivityAI.DistributedPartyValentineDanceActivityAI, - ActivityIds.PartyValentineDance20: DistributedPartyValentineDance20ActivityAI.DistributedPartyValentineDance20ActivityAI, - ActivityIds.PartyValentineJukebox: DistributedPartyValentineJukeboxActivityAI.DistributedPartyValentineJukeboxActivityAI, - ActivityIds.PartyValentineJukebox40: DistributedPartyValentineJukebox40ActivityAI.DistributedPartyValentineJukebox40ActivityAI, - ActivityIds.PartyValentineTrampoline: DistributedPartyValentineTrampolineActivityAI.DistributedPartyValentineTrampolineActivityAI, - ActivityIds.PartyVictoryTrampoline: DistributedPartyVictoryTrampolineActivityAI.DistributedPartyVictoryTrampolineActivityAI, - ActivityIds.PartyWinterCatch: DistributedPartyWinterCatchActivityAI.DistributedPartyWinterCatchActivityAI, - ActivityIds.PartyWinterCog: DistributedPartyWinterCogActivityAI.DistributedPartyWinterCogActivityAI + ActivityIds.PartyJukebox: DistributedPartyJukeboxActivityAI, + ActivityIds.PartyTrampoline: DistributedPartyTrampolineActivityAI, + ActivityIds.PartyVictoryTrampoline: DistributedPartyVictoryTrampolineActivityAI, + ActivityIds.PartyCatch: DistributedPartyCatchActivityAI, + ActivityIds.PartyDance: DistributedPartyDanceActivityAI, + ActivityIds.PartyTugOfWar: DistributedPartyTugOfWarActivityAI, + ActivityIds.PartyFireworks: DistributedPartyFireworksActivityAI, + ActivityIds.PartyJukebox40: DistributedPartyJukebox40ActivityAI, + ActivityIds.PartyDance20: DistributedPartyDance20ActivityAI, + ActivityIds.PartyCog: DistributedPartyCogActivityAI, } for activity in self.info['activities']: actId = activity[0] @@ -77,9 +78,9 @@ class DistributedPartyAI(DistributedObjectAI): self.activities.append(act) elif actId == ActivityIds.PartyCannon: if not self.cannonActivity: - self.cannonActivity = DistributedPartyCannonActivityAI.DistributedPartyCannonActivityAI(self.air, self.doId, activity) + self.cannonActivity = DistributedPartyCannonActivityAI(self.air, self.doId, activity) self.cannonActivity.generateWithRequired(self.zoneId) - act = DistributedPartyCannonAI.DistributedPartyCannonAI(self.air) + act = DistributedPartyCannonAI(self.air) act.setActivityDoId(self.cannonActivity.doId) x, y, h = activity[1:] # ignore activity ID x = PartyUtils.convertDistanceFromPartyGrid(x, 0) diff --git a/toontown/parties/DistributedPartyCogActivity.py b/toontown/parties/DistributedPartyCogActivity.py index e1852770..7a6b9720 100644 --- a/toontown/parties/DistributedPartyCogActivity.py +++ b/toontown/parties/DistributedPartyCogActivity.py @@ -196,4 +196,4 @@ class DistributedPartyCogActivity(DistributedPartyTeamActivity): def finishConclusion(self): self.view.hideResults() DistributedPartyTeamActivity.finishConclusion(self) - self.view.hideArenaDoorTimers() \ No newline at end of file + self.view.hideArenaDoorTimers() diff --git a/toontown/parties/GlobalPartyManagerUD.py b/toontown/parties/GlobalPartyManagerUD.py index 091cd32f..1afc0129 100644 --- a/toontown/parties/GlobalPartyManagerUD.py +++ b/toontown/parties/GlobalPartyManagerUD.py @@ -166,7 +166,14 @@ class GlobalPartyManagerUD(DistributedObjectGlobalUD): self.__updatePartyCount(partyId) def partyManagerAIHello(self, channel): + # Upon AI boot, DistributedPartyManagerAIs are supposed to say hello. + # They send along the DPMAI's doId as well, so that I can talk to them later. + print 'AI with base channel %s, will send replies to DPM %s' % (simbase.air.getAvatarIdFromSender(), channel) self.senders2Mgrs[simbase.air.getAvatarIdFromSender()] = channel + self.sendToAI('partyManagerUdStartingUp', []) + + # In addition, set up a postRemove where we inform this AI that the UD has died + self.air.addPostRemove(self._makeAIMsg('partyManagerUdLost', [], channel)) def addParty(self, avId, partyId, start, end, isPrivate, inviteTheme, activities, decorations, inviteeIds): PARTY_TIME_FORMAT = '%Y-%m-%d %H:%M:%S' diff --git a/toontown/parties/PartyGlobals.py b/toontown/parties/PartyGlobals.py index f3c066d0..cb04ef98 100644 --- a/toontown/parties/PartyGlobals.py +++ b/toontown/parties/PartyGlobals.py @@ -110,9 +110,24 @@ PartyEditorActivityOrder = [ ActivityIds.PartyClock, ActivityIds.PartyCog, ActivityIds.PartyWinterCog, ActivityIds.PartyFireworks] -MutuallyExclusiveActivities = ((ActivityIds.PartyJukebox, ActivityIds.PartyJukebox40, ActivityIds.PartyValentineJukebox, ActivityIds.PartyValentineJukebox40), +MutuallyExclusiveActivities = ((ActivityIds.PartyJukebox, ActivityIds.PartyJukebox40), + (ActivityIds.PartyValentineJukebox, ActivityIds.PartyValentineJukebox40), (ActivityIds.PartyDance, ActivityIds.PartyDance20), (ActivityIds.PartyValentineDance, ActivityIds.PartyValentineDance20)) +VictoryPartyActivityIds = frozenset([ActivityIds.PartyVictoryTrampoline]) +VictoryPartyReplacementActivityIds = frozenset([ActivityIds.PartyTrampoline]) +WinterPartyActivityIds = frozenset([ActivityIds.PartyWinterCatch, ActivityIds.PartyWinterTrampoline, ActivityIds.PartyWinterCog]) +WinterPartyReplacementActivityIds = frozenset([ActivityIds.PartyCatch, ActivityIds.PartyTrampoline, ActivityIds.PartyCog]) +ValentinePartyActivityIds = frozenset([ActivityIds.PartyValentineDance, + ActivityIds.PartyValentineDance20, + ActivityIds.PartyValentineJukebox, + ActivityIds.PartyValentineJukebox40, + ActivityIds.PartyValentineTrampoline]) +ValentinePartyReplacementActivityIds = frozenset([ActivityIds.PartyDance, + ActivityIds.PartyDance20, + ActivityIds.PartyJukebox, + ActivityIds.PartyJukebox40, + ActivityIds.PartyTrampoline]) DecorationIds = PythonUtil.Enum(('BalloonAnvil', 'BalloonStage', 'Bow', @@ -141,6 +156,21 @@ DecorationIds = PythonUtil.Enum(('BalloonAnvil', 'BalloonAnvilValentine')) DECORATION_VOLUME = 1.0 DECORATION_CUTOFF = 45 +VictoryPartyDecorationIds = frozenset([DecorationIds.BannerVictory, + DecorationIds.CannonVictory, + DecorationIds.CogStatueVictory, + DecorationIds.TubeCogVictory]) +WinterPartyDecorationIds = frozenset([DecorationIds.cogIceCreamWinter, + DecorationIds.StageWinter, + DecorationIds.CogStatueWinter, + DecorationIds.snowman, + DecorationIds.snowDoodle]) +VictoryPartyReplacementDecorationIds = frozenset([DecorationIds.BannerJellyBean]) +ValentinePartyDecorationIds = frozenset([DecorationIds.BalloonAnvilValentine, + DecorationIds.HeartBanner, + DecorationIds.HeartTarget, + DecorationIds.FlyingHeart]) +ValentinePartyReplacementDecorationIds = frozenset([DecorationIds.BalloonAnvil, DecorationIds.BannerJellyBean]) GoToPartyStatus = PythonUtil.Enum(('AllowedToGo', 'PartyFull', 'PrivateParty', diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index 719e5e49..a425aea1 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -3598,36 +3598,40 @@ PartyDecorationNameDict = {0: {'editor': 'Balloon Anvil', 9: {'editor': 'Pinwheel', 'description': 'Colorful twirling for everyone!'}, 10: {'editor': 'Gag Globe', - 'description': 'Gag and star globe'}, + 'description': 'Gag and star globe designed by Olivea'}, 11: {'editor': 'Bean Banner', - 'description': 'A Jellybean banner'}, + 'description': 'A Jellybean banner designed by Cassidy'}, 12: {'editor': 'Gag Cake', - 'description': 'A Topsy Turvy gag cake'}, + 'description': 'A Topsy Turvy gag cake designed by Felicia'}, 13: {'editor': "Cupid's Heart", 'description': 'Ready...Aim...\nValenToons!'}, 14: {'editor': 'Candy Hearts\n Banner', 'description': "Who doesn't love candy hearts?"}, 15: {'editor': 'Flying Heart', 'description': 'This heart is getting carried away!'}, - 16: {'editor': 'Victory Banner', + 16: {'editor': 'Victory Bandstand', + 'description': 'All our new friends are ready to dance!'}, + 17: {'editor': 'Victory Banner', 'description': 'Not just a normal banner!'}, - 17: {'editor': 'Confetti Cannons', + 18: {'editor': 'Confetti Cannons', 'description': 'BOOM! Confetti! Fun!'}, - 18: {'editor': 'Cog & Doodle', + 19: {'editor': 'Cog & Doodle', 'description': "Ouch! That's gotta hurt."}, - 19: {'editor': 'Cog Flappy Man', + 20: {'editor': 'Cog Flappy Man', 'description': 'A Cog full of hot air, what a shock!'}, - 20: {'editor': 'CogCicle', + 21: {'editor': 'Cog Ice Cream', + 'description': 'A Cog looking his best.'}, + 22: {'editor': 'CogCicle', 'description': 'A Cog looking his holiday best.'}, - 21: {'editor': 'Holiday Bandstand', + 23: {'editor': 'Holiday Bandstand', 'description': 'Everyone loves a Holiday Party!'}, - 22: {'editor': 'Chilly Cog', + 24: {'editor': 'Chilly Cog', 'description': "Ouch! That's gotta hurt."}, - 23: {'editor': 'Snowman', + 25: {'editor': 'Snowman', 'description': "So cool, he's hot!"}, - 24: {'editor': 'SnowDoodle', + 26: {'editor': 'SnowDoodle', 'description': 'His only trick is being cold!'}, - 25: {'editor': 'ValenToons Anvil', + 27: {'editor': 'ValenToons Anvil', 'description': "We've got your heart on a string!"}} ActivityLabel = 'Cost - Activity Name' PartyDoYouWantToPlan = 'Would you like to plan a new party right now?' diff --git a/toontown/uberdog/DistributedPartyManagerAI.py b/toontown/uberdog/DistributedPartyManagerAI.py index 7c4719fb..4c59acfd 100644 --- a/toontown/uberdog/DistributedPartyManagerAI.py +++ b/toontown/uberdog/DistributedPartyManagerAI.py @@ -21,10 +21,17 @@ class DistributedPartyManagerAI(DistributedObjectAI): self.id2Party = {} self.pubPartyInfo = {} self.idPool = range(self.air.ourChannel, self.air.ourChannel + 100000) + # get 100 ids at the start and top up + #taskMgr.doMethodLater(0, self.__getIds, 'DistributedPartyManagerAI___getIds') def receiveId(self, ids): self.idPool += ids +# def __getIds(self, task): +# if len(self.idPool) < 50: +# self.air.globalPartyMgr.allocIds(100 - len(self.idPool)) +# taskMgr.doMethodLater(180, self.__getIds, 'DistributedPartyManagerAI___getIds') + def _makePartyDict(self, struct): PARTY_TIME_FORMAT = '%Y-%m-%d %H:%M:%S' party = {} @@ -41,6 +48,15 @@ class DistributedPartyManagerAI(DistributedObjectAI): # struct[16] = partystatus return party + # Management stuff + def partyManagerUdStartingUp(self): + # This is sent in reply to the GPMAI's hello + self.notify.info("uberdog has said hello") + + def partyManagerUdLost(self): + # well fuck. ud died. + self.notify.warning("uberdog lost!") + def addPartyRequest(self, hostId, startTime, endTime, isPrivate, inviteTheme, activities, decorations, inviteeIds): if hostId != simbase.air.getAvatarIdFromSender(): self.air.writeServerEvent('suspicious',simbase.air.getAvatarIdFromSender(),'Toon tried to create a party as someone else!') diff --git a/toontown/uberdog/DistributedPartyManagerUD.py b/toontown/uberdog/DistributedPartyManagerUD.py index 3aa446e2..de7f1562 100644 --- a/toontown/uberdog/DistributedPartyManagerUD.py +++ b/toontown/uberdog/DistributedPartyManagerUD.py @@ -7,6 +7,8 @@ class DistributedPartyManagerUD(DistributedObjectUD): def announceGenerate(self): DistributedObjectUD.announceGenerate(self) + self.sendUpdate('partyManagerUdStartingUp') # Shouldn't have to send to anyone special, as the field is airecv + def addParty(self, todo0, todo1, todo2, todo3, todo4, todo5, todo6, todo7, todo8, todo9): pass @@ -112,6 +114,9 @@ class DistributedPartyManagerUD(DistributedObjectUD): def sendShardIdZoneIdToAvatar(self, shardId, zoneId): pass + def partyManagerUdStartingUp(self): + pass + def updateAllPartyInfoToUd(self, todo0, todo1, todo2, todo3, todo4, todo5, todo6, todo7, todo8): pass From 1d0d5fc2fea874393f41ad7251620c36e7dc3efd Mon Sep 17 00:00:00 2001 From: Loudrob Date: Sat, 16 May 2015 14:38:34 -0400 Subject: [PATCH 39/78] Revert "I fucked this up" This reverts commit 74abc6ac57474eff3cffb9aeb2d8c66454ae59fc. --- toontown/parties/PartyGlobals.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toontown/parties/PartyGlobals.py b/toontown/parties/PartyGlobals.py index cb04ef98..f0a349fe 100644 --- a/toontown/parties/PartyGlobals.py +++ b/toontown/parties/PartyGlobals.py @@ -70,10 +70,10 @@ ChangePartyFieldErrorCode = PythonUtil.Enum(('AllOk', 'AlreadyRefunded')) ActivityTypes = PythonUtil.Enum(('HostInitiated', 'GuestInitiated', 'Continuous')) PartyGateDenialReasons = PythonUtil.Enum(('Unavailable', 'Full')) -ActivityIds = PythonUtil.Enum(('PartyJukebox', +ActivityIds = PythonUtil.Enum(('PartyCatch', + 'PartyJukebox', 'PartyCannon', 'PartyTrampoline', - 'PartyCatch', 'PartyDance', 'PartyTugOfWar', 'PartyFireworks', From b23c33c95754c7513774ab58cb69ae7a139e8263 Mon Sep 17 00:00:00 2001 From: Master Voltage Date: Sat, 16 May 2015 21:04:41 -0400 Subject: [PATCH 40/78] i committed them rename edits k --- ai.bat | 2 +- astron/config/clientagent-0.yml | 4 ++-- astron/config/clientagent-1.yml | 4 ++-- astron/config/clientagent-2.yml | 4 ++-- astron/config/clientagent-3.yml | 4 ++-- astron/config/clientagent-4.yml | 4 ++-- astron/config/clientagent-5.yml | 4 ++-- astron/config/clientagent-6.yml | 4 ++-- astron/config/clientagent-7.yml | 4 ++-- astron/config/cluster.yml | 8 +++---- astron/darwin/start-ai-server.sh | 2 +- astron/darwin/start-uberdog-server.sh | 2 +- astron/dclass/{united.dc => stride.dc} | 6 ++--- client.bat | 18 +++++++-------- config/general.prc | 4 ++-- config/release/dev.prc | 6 ++--- linux/start-game-localhost.sh | 16 +++++++------- linux/start-game-remotedb.sh | 22 +++++++++---------- linux/start-game.sh | 20 ++++++++--------- otp/distributed/DCClassImports.py | 4 ++-- otp/distributed/OtpDoGlobals.py | 4 ++-- otp/friends/FriendManager.py | 6 ++--- tools/parse_dcimports.bat | 4 +++- .../distributed/ToontownClientRepository.py | 16 +++++++------- ...FriendsManager.py => TTSFriendsManager.py} | 2 +- ...ndsManagerUD.py => TTSFriendsManagerUD.py} | 4 ++-- .../{TTULauncher.py => TTSLauncher.py} | 10 ++++----- toontown/toonbase/ClientStart.py | 4 ++-- toontown/uberdog/ToontownUberRepository.py | 2 +- ud.bat | 2 +- 30 files changed, 99 insertions(+), 97 deletions(-) rename astron/dclass/{united.dc => stride.dc} (99%) rename toontown/friends/{TTUFriendsManager.py => TTSFriendsManager.py} (99%) rename toontown/friends/{TTUFriendsManagerUD.py => TTSFriendsManagerUD.py} (99%) rename toontown/launcher/{TTULauncher.py => TTSLauncher.py} (87%) diff --git a/ai.bat b/ai.bat index 5de89ed8..62f74b66 100644 --- a/ai.bat +++ b/ai.bat @@ -16,7 +16,7 @@ set /P BASE_CHANNEL="Base channel (DEFAULT: 401000000): " || ^ set BASE_CHANNEL=401000000 echo =============================== -echo Starting Toontown United AI server... +echo Starting Toontown Stride AI server... echo ppython: %PPYTHON_PATH% echo District name: %DISTRICT_NAME% echo Base channel: %BASE_CHANNEL% diff --git a/astron/config/clientagent-0.yml b/astron/config/clientagent-0.yml index c4c6a700..a2df499f 100644 --- a/astron/config/clientagent-0.yml +++ b/astron/config/clientagent-0.yml @@ -20,7 +20,7 @@ uberdogs: id: 4501 anonymous: false - - class: TTUFriendsManager + - class: TTSFriendsManager id: 4666 anonymous: false @@ -34,7 +34,7 @@ messagedirector: roles: - type: clientagent bind: 0.0.0.0:7199 - version: "united-dev" + version: "stride-dev" client: relocate: true add_interest: enabled diff --git a/astron/config/clientagent-1.yml b/astron/config/clientagent-1.yml index 9549b6f6..66c70dd0 100644 --- a/astron/config/clientagent-1.yml +++ b/astron/config/clientagent-1.yml @@ -20,7 +20,7 @@ uberdogs: id: 4501 anonymous: false - - class: TTUFriendsManager + - class: TTSFriendsManager id: 4666 anonymous: false @@ -34,7 +34,7 @@ messagedirector: roles: - type: clientagent bind: 0.0.0.0:7299 - version: "united-dev" + version: "stride-dev" client: relocate: true add_interest: enabled diff --git a/astron/config/clientagent-2.yml b/astron/config/clientagent-2.yml index b671201b..fa09576f 100644 --- a/astron/config/clientagent-2.yml +++ b/astron/config/clientagent-2.yml @@ -20,7 +20,7 @@ uberdogs: id: 4501 anonymous: false - - class: TTUFriendsManager + - class: TTSFriendsManager id: 4666 anonymous: false @@ -34,7 +34,7 @@ messagedirector: roles: - type: clientagent bind: 0.0.0.0:7399 - version: "united-dev" + version: "stride-dev" client: relocate: true add_interest: enabled diff --git a/astron/config/clientagent-3.yml b/astron/config/clientagent-3.yml index 3fabcc4a..d4426e7f 100644 --- a/astron/config/clientagent-3.yml +++ b/astron/config/clientagent-3.yml @@ -20,7 +20,7 @@ uberdogs: id: 4501 anonymous: false - - class: TTUFriendsManager + - class: TTSFriendsManager id: 4666 anonymous: false @@ -34,7 +34,7 @@ messagedirector: roles: - type: clientagent bind: 0.0.0.0:7499 - version: "united-dev" + version: "stride-dev" client: relocate: true add_interest: enabled diff --git a/astron/config/clientagent-4.yml b/astron/config/clientagent-4.yml index d1402e41..4dd14e09 100644 --- a/astron/config/clientagent-4.yml +++ b/astron/config/clientagent-4.yml @@ -20,7 +20,7 @@ uberdogs: id: 4501 anonymous: false - - class: TTUFriendsManager + - class: TTSFriendsManager id: 4666 anonymous: false @@ -34,7 +34,7 @@ messagedirector: roles: - type: clientagent bind: 0.0.0.0:7599 - version: "united-dev" + version: "stride-dev" client: relocate: true add_interest: enabled diff --git a/astron/config/clientagent-5.yml b/astron/config/clientagent-5.yml index 18484f46..0d86b2bb 100644 --- a/astron/config/clientagent-5.yml +++ b/astron/config/clientagent-5.yml @@ -20,7 +20,7 @@ uberdogs: id: 4501 anonymous: false - - class: TTUFriendsManager + - class: TTSFriendsManager id: 4666 anonymous: false @@ -34,7 +34,7 @@ messagedirector: roles: - type: clientagent bind: 0.0.0.0:7699 - version: "united-dev" + version: "stride-dev" client: relocate: true add_interest: enabled diff --git a/astron/config/clientagent-6.yml b/astron/config/clientagent-6.yml index f8375932..f5ed2029 100644 --- a/astron/config/clientagent-6.yml +++ b/astron/config/clientagent-6.yml @@ -20,7 +20,7 @@ uberdogs: id: 4501 anonymous: false - - class: TTUFriendsManager + - class: TTSFriendsManager id: 4666 anonymous: false @@ -34,7 +34,7 @@ messagedirector: roles: - type: clientagent bind: 0.0.0.0:7799 - version: "united-dev" + version: "stride-dev" client: relocate: true add_interest: enabled diff --git a/astron/config/clientagent-7.yml b/astron/config/clientagent-7.yml index 4d6bb36c..ff0244b2 100644 --- a/astron/config/clientagent-7.yml +++ b/astron/config/clientagent-7.yml @@ -20,7 +20,7 @@ uberdogs: id: 4501 anonymous: false - - class: TTUFriendsManager + - class: TTSFriendsManager id: 4666 anonymous: false @@ -34,7 +34,7 @@ messagedirector: roles: - type: clientagent bind: 0.0.0.0:7899 - version: "united-dev" + version: "stride-dev" client: relocate: true add_interest: enabled diff --git a/astron/config/cluster.yml b/astron/config/cluster.yml index b626b0d2..63ea9f74 100644 --- a/astron/config/cluster.yml +++ b/astron/config/cluster.yml @@ -4,7 +4,7 @@ daemon: general: eventlogger: 127.0.0.1:7198 dc_files: - - ../dclass/united.dc + - ../dclass/stride.dc messagedirector: bind: 127.0.0.1:7100 @@ -22,7 +22,7 @@ uberdogs: id: 4501 anonymous: false - - class: TTUFriendsManager + - class: TTSFriendsManager id: 4666 anonymous: false @@ -33,7 +33,7 @@ uberdogs: roles: - type: clientagent bind: 0.0.0.0:7199 - version: "ttu-dev" + version: "tts-dev" client: relocate: true add_interest: enabled @@ -61,4 +61,4 @@ roles: - type: eventlogger bind: 127.0.0.1:7198 - output: ../logs/events-%y%m%d_%H%M%S.log \ No newline at end of file + output: ../logs/events-%y%m%d_%H%M%S.log diff --git a/astron/darwin/start-ai-server.sh b/astron/darwin/start-ai-server.sh index 93b3726f..d49b8dcf 100644 --- a/astron/darwin/start-ai-server.sh +++ b/astron/darwin/start-ai-server.sh @@ -17,7 +17,7 @@ read -p "Base channel (DEFAULT: 401000000): " BASE_CHANNEL BASE_CHANNEL=${BASE_CHANNEL:-401000000} echo "===============================" -echo "Starting Toontown United AI server..." +echo "Starting Toontown Stride AI server..." echo "District name: $DISTRICT_NAME" echo "Base channel: $BASE_CHANNEL" echo "Max channels: $MAX_CHANNELS" diff --git a/astron/darwin/start-uberdog-server.sh b/astron/darwin/start-uberdog-server.sh index fd013a9d..175a636b 100644 --- a/astron/darwin/start-uberdog-server.sh +++ b/astron/darwin/start-uberdog-server.sh @@ -15,7 +15,7 @@ read -p "Base channel (DEFAULT: 1000000): " BASE_CHANNEL BASE_CHANNEL=${BASE_CHANNEL:-1000000} echo "===============================" -echo "Starting Toontown United UberDOG server..." +echo "Starting Toontown Stride UberDOG server..." echo "Base channel: $BASE_CHANNEL" echo "Max channels: $MAX_CHANNELS" echo "State Server: $STATESERVER" diff --git a/astron/dclass/united.dc b/astron/dclass/stride.dc similarity index 99% rename from astron/dclass/united.dc rename to astron/dclass/stride.dc index cdca1dc0..93672371 100644 --- a/astron/dclass/united.dc +++ b/astron/dclass/stride.dc @@ -471,7 +471,7 @@ from toontown.parties import DistributedPartyJukeboxActivity/AI from toontown.parties import DistributedPartyJukebox40Activity/AI from toontown.parties import DistributedPartyValentineJukeboxActivity/AI from toontown.parties import DistributedPartyValentineJukebox40Activity/AI -from toontown.friends import TTUFriendsManager/UD +from toontown.friends import TTSFriendsManager/UD from toontown.safezone import DistributedGolfKart/AI from toontown.safezone import DistributedPicnicBasket/AI from toontown.distributed import DistributedTimer/AI @@ -3285,7 +3285,7 @@ blob dna; uint32 petId; }; -dclass TTUFriendsManager : DistributedObjectGlobal { +dclass TTSFriendsManager : DistributedObjectGlobal { removeFriend(uint32) clsend; requestAvatarInfo(uint32[]) clsend; @@ -3337,4 +3337,4 @@ dclass TTUFriendsManager : DistributedObjectGlobal { }; dclass ARGManager : DistributedObjectGlobal { -}; \ No newline at end of file +}; diff --git a/client.bat b/client.bat index be98c80c..07aebe1a 100644 --- a/client.bat +++ b/client.bat @@ -1,5 +1,5 @@ @echo off -title TTU Game Launcher +title TTS Game Launcher set /P PPYTHON_PATH= Date: Sat, 16 May 2015 23:00:56 -0400 Subject: [PATCH 41/78] More name changing god fucking damn voltage --- README.md | 2 +- astron/linux/start-ai-server.sh | 2 +- astron/linux/start-uberdog-server.sh | 2 +- darwin/start-game-localhost.sh | 16 +++++++-------- darwin/start-game-remotedb.sh | 22 ++++++++++----------- darwin/start-game.sh | 20 +++++++++---------- deployment/.gitignore | 8 ++++---- deployment/deploy.py | 8 ++++---- doc/building/README.md | 2 +- doc/style-guide/README.md | 4 ++-- otp/avatar/DistributedPlayer.py | 12 +++++------ otp/avatar/DistributedPlayerAI.py | 2 +- otp/chat/TalkAssistant.py | 2 +- otp/otpbase/OTPLocalizerEnglish.py | 6 +++--- tools/example.py | 2 +- tools/generate_key.py | 2 +- tools/gentoken.py | 2 +- tools/whitelist_tool.py | 2 +- tools/write_patcher.py | 16 +++++++-------- toontown/chat/WhiteListData.py | 10 +++++----- toontown/friends/FriendHandle.py | 8 ++++---- toontown/parties/PartyGlobals.py | 2 +- toontown/rpc/ToontownRPCConnection.py | 2 +- toontown/shtiker/PhotoAlbumPage.py | 3 +-- toontown/toon/DistributedToon.py | 12 +++++------ toontown/toon/ToonTeleportPanel.py | 2 +- toontown/toonbase/ClientStartDist.py | 4 ++-- toontown/toonbase/TTLocalizerEnglish.py | 8 ++++---- toontown/uberdog/ClientServicesManagerUD.py | 6 +++--- 29 files changed, 94 insertions(+), 95 deletions(-) diff --git a/README.md b/README.md index 4150a096..a672a90f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # src # -The source code for Toontown United. +The source code for Toontown Stride. ### What is this repository for? ### diff --git a/astron/linux/start-ai-server.sh b/astron/linux/start-ai-server.sh index 6161b3e0..fb3d573f 100644 --- a/astron/linux/start-ai-server.sh +++ b/astron/linux/start-ai-server.sh @@ -14,7 +14,7 @@ read -p "Base channel (DEFAULT: 401000000): " BASE_CHANNEL BASE_CHANNEL=${BASE_CHANNEL:-401000000} echo "===============================" -echo "Starting Toontown United AI server..." +echo "Starting Toontown Stride AI server..." echo "District name: $DISTRICT_NAME" echo "Base channel: $BASE_CHANNEL" echo "Max channels: $MAX_CHANNELS" diff --git a/astron/linux/start-uberdog-server.sh b/astron/linux/start-uberdog-server.sh index 8799fc21..8dc6114b 100644 --- a/astron/linux/start-uberdog-server.sh +++ b/astron/linux/start-uberdog-server.sh @@ -12,7 +12,7 @@ read -p "Base channel (DEFAULT: 1000000): " BASE_CHANNEL BASE_CHANNEL=${BASE_CHANNEL:-1000000} echo "===============================" -echo "Starting Toontown United UberDOG server..." +echo "Starting Toontown Stride UberDOG server..." echo "Base channel: $BASE_CHANNEL" echo "Max channels: $MAX_CHANNELS" echo "State Server: $STATESERVER" diff --git a/darwin/start-game-localhost.sh b/darwin/start-game-localhost.sh index 518846d2..0a9756c4 100755 --- a/darwin/start-game-localhost.sh +++ b/darwin/start-game-localhost.sh @@ -5,18 +5,18 @@ export DYLD_LIBRARY_PATH=`pwd`/Libraries.bundle export DYLD_FRAMEWORK_PATH="Frameworks" # Get the user input: -read -p "Username: " ttuUsername +read -p "Username: " ttsUsername # Export the environment variables: -export ttuUsername=$ttuUsername -export ttuPassword="password" -export TTU_PLAYCOOKIE=$ttuUsername -export TTU_GAMESERVER="127.0.0.1" +export ttsUsername=$ttsUsername +export ttsPassword="password" +export TTS_PLAYCOOKIE=$ttsUsername +export TTS_GAMESERVER="127.0.0.1" echo "===============================" -echo "Starting Toontown United..." -echo "Username: $ttuUsername" -echo "Gameserver: $TTU_GAMESERVER" +echo "Starting Toontown Stride..." +echo "Username: $ttsUsername" +echo "Gameserver: $TTS_GAMESERVER" echo "===============================" ppython -m toontown.toonbase.ClientStart diff --git a/darwin/start-game-remotedb.sh b/darwin/start-game-remotedb.sh index 4b7b41b6..0aa0d440 100644 --- a/darwin/start-game-remotedb.sh +++ b/darwin/start-game-remotedb.sh @@ -5,22 +5,22 @@ export DYLD_LIBRARY_PATH=`pwd`/Libraries.bundle export DYLD_FRAMEWORK_PATH="Frameworks" # Get the user input: -read -p "Username: " ttuUsername -read -s -p "Password: " ttuPassword +read -p "Username: " ttsUsername +read -s -p "Password: " ttsPassword echo -read -p "Gameserver (DEFAULT: 167.114.28.238): " TTU_GAMESERVER -TTU_GAMESERVER=${TTU_GAMESERVER:-"167.114.28.238"} +read -p "Gameserver (DEFAULT: 167.114.28.238): " TTS_GAMESERVER +TTS_GAMESERVER=${TTS_GAMESERVER:-"167.114.28.238"} # Export the environment variables: -export ttuUsername=$ttuUsername -export ttuPassword=$ttuPassword -export TTU_PLAYCOOKIE=$ttuUsername -export TTU_GAMESERVER=$TTU_GAMESERVER +export ttsUsername=$ttsUsername +export ttsPassword=$ttsPassword +export TTS_PLAYCOOKIE=$ttsUsername +export TTS_GAMESERVER=$TTS_GAMESERVER echo "===============================" -echo "Starting Toontown United..." -echo "Username: $ttuUsername" -echo "Gameserver: $TTU_GAMESERVER" +echo "Starting Toontown Stride..." +echo "Username: $ttsUsername" +echo "Gameserver: $TTS_GAMESERVER" echo "===============================" ppython -m toontown.toonbase.ClientStartRemoteDB diff --git a/darwin/start-game.sh b/darwin/start-game.sh index 70a5fa42..7f32cfe0 100644 --- a/darwin/start-game.sh +++ b/darwin/start-game.sh @@ -5,20 +5,20 @@ export DYLD_LIBRARY_PATH=`pwd`/Libraries.bundle export DYLD_FRAMEWORK_PATH="Frameworks" # Get the user input: -read -p "Username: " ttuUsername -read -p "Gameserver (DEFAULT: 167.114.28.238): " TTU_GAMESERVER -TTU_GAMESERVER=${TTU_GAMESERVER:-"167.114.28.238"} +read -p "Username: " ttsUsername +read -p "Gameserver (DEFAULT: 167.114.28.238): " TTS_GAMESERVER +TTS_GAMESERVER=${TTS_GAMESERVER:-"167.114.28.238"} # Export the environment variables: -export ttuUsername=$ttuUsername -export ttuPassword="password" -export TTU_PLAYCOOKIE=$ttuUsername -export TTU_GAMESERVER=$TTU_GAMESERVER +export ttsUsername=$ttsUsername +export ttsPassword="password" +export TTS_PLAYCOOKIE=$ttsUsername +export TTS_GAMESERVER=$TTS_GAMESERVER echo "===============================" -echo "Starting Toontown United..." -echo "Username: $ttuUsername" -echo "Gameserver: $TTU_GAMESERVER" +echo "Starting Toontown Stride..." +echo "Username: $ttsUsername" +echo "Gameserver: $TTS_GAMESERVER" echo "===============================" ppython -m toontown.toonbase.ClientStart diff --git a/deployment/.gitignore b/deployment/.gitignore index 57f5bff3..3dc80b17 100644 --- a/deployment/.gitignore +++ b/deployment/.gitignore @@ -1,7 +1,7 @@ -unitedcipher -unitedcipher.exe -united -united.exe +stridecipher +stridecipher.exe +stride +stride.exe upx.exe src build diff --git a/deployment/deploy.py b/deployment/deploy.py index 9e89516b..326fad7f 100644 --- a/deployment/deploy.py +++ b/deployment/deploy.py @@ -26,7 +26,7 @@ print 'Starting the deployment process...' # Stop the user if they are missing vital files: missingFiles = [] -for filename in ('deploy.json', 'unitedcipher'): +for filename in ('deploy.json', 'stridecipher'): if sys.platform == 'win32': # On the Windows platform, if there is no extension, we must infer that # this is an executable file. Therefore, let's append '.exe': @@ -229,9 +229,9 @@ os.system(cmd) # ...and encrypt the product: os.chdir('build') if sys.platform == 'win32': - os.system('..\\unitedcipher.exe %s GameData.bin' % output) + os.system('..\\stridecipher.exe %s GameData.bin' % output) else: - os.system('../unitedcipher %s GameData.bin' % output) + os.system('../stridecipher %s GameData.bin' % output) # Copy the necessary patcher includes: for include in patcherIncludes: @@ -346,7 +346,7 @@ for filepath in updatedFiles: print 'Compressing %s...' % filepath compressFile(os.path.join('build', filepath)) -print 'Uploading files to download.toontownunited.com...' +print 'Uploading files to download.toontownstride.com...' ftp = ftplib.FTP(ftpAddress, ftpUsername, ftpPassword) ftp.cwd(deployToken) diff --git a/doc/building/README.md b/doc/building/README.md index d9b8ded1..65f51536 100644 --- a/doc/building/README.md +++ b/doc/building/README.md @@ -1,6 +1,6 @@ Building ======== -These documents outline everything you need to know for building a Toontown United client. +These documents outline everything you need to know for building a Toontown Stride client. - - - diff --git a/doc/style-guide/README.md b/doc/style-guide/README.md index 6ea48a0d..b23d5978 100644 --- a/doc/style-guide/README.md +++ b/doc/style-guide/README.md @@ -1,6 +1,6 @@ -Toontown United Style Guidelines +Toontown Stride Style Guidelines ================================== -Code and documentation in the master and release branches of the Toontown United repositories must conform to these guidelines. Any code submitted that is not properly formated will be rejected, as it is best to keep a readable, and consistent style for future contributors to read, and understand the code. Don't, however, blindly follow these guidelines into writing unreadable code. Sometimes it is best to use your own judgement. +Code and documentation in the master and release branches of the Toontown Stride repositories must conform to these guidelines. Any code submitted that is not properly formated will be rejected, as it is best to keep a readable, and consistent style for future contributors to read, and understand the code. Don't, however, blindly follow these guidelines into writing unreadable code. Sometimes it is best to use your own judgement. - - - diff --git a/otp/avatar/DistributedPlayer.py b/otp/avatar/DistributedPlayer.py index 721185be..6c24fbc0 100644 --- a/otp/avatar/DistributedPlayer.py +++ b/otp/avatar/DistributedPlayer.py @@ -135,7 +135,7 @@ class DistributedPlayer(DistributedAvatar.DistributedAvatar, PlayerBase.PlayerBa def whisperSCTo(self, msgIndex, sendToId): messenger.send('wakeup') - base.cr.ttuFriendsManager.d_whisperSCTo(sendToId, msgIndex) + base.cr.ttsFriendsManager.d_whisperSCTo(sendToId, msgIndex) def setWhisperSCFrom(self, fromId, msgIndex): handle = base.cr.identifyAvatar(fromId) @@ -149,7 +149,7 @@ class DistributedPlayer(DistributedAvatar.DistributedAvatar, PlayerBase.PlayerBa def whisperSCCustomTo(self, msgIndex, sendToId): messenger.send('wakeup') - base.cr.ttuFriendsManager.d_whisperSCCustomTo(sendToId, msgIndex) + base.cr.ttsFriendsManager.d_whisperSCCustomTo(sendToId, msgIndex) def _isValidWhisperSource(self, source): return True @@ -171,7 +171,7 @@ class DistributedPlayer(DistributedAvatar.DistributedAvatar, PlayerBase.PlayerBa def whisperSCEmoteTo(self, emoteId, sendToId): messenger.send('wakeup') - base.cr.ttuFriendsManager.d_whisperSCEmoteTo(sendToId, emoteId) + base.cr.ttsFriendsManager.d_whisperSCEmoteTo(sendToId, emoteId) def setWhisperSCEmoteFrom(self, fromId, emoteId): handle = base.cr.identifyAvatar(fromId) @@ -302,7 +302,7 @@ class DistributedPlayer(DistributedAvatar.DistributedAvatar, PlayerBase.PlayerBa self.lastTeleportQuery = time.time() - base.cr.ttuFriendsManager.d_teleportQuery(sendToId) + base.cr.ttsFriendsManager.d_teleportQuery(sendToId) def teleportQuery(self, requesterId): avatar = base.cr.identifyFriend(requesterId) @@ -337,7 +337,7 @@ class DistributedPlayer(DistributedAvatar.DistributedAvatar, PlayerBase.PlayerBa shardId, hoodId, zoneId, sendToId),) ) - base.cr.ttuFriendsManager.d_teleportResponse(sendToId, available, + base.cr.ttsFriendsManager.d_teleportResponse(sendToId, available, shardId, hoodId, zoneId ) @@ -351,7 +351,7 @@ class DistributedPlayer(DistributedAvatar.DistributedAvatar, PlayerBase.PlayerBa def d_teleportGiveup(self, requesterId, sendToId): teleportNotify.debug('sending teleportGiveup(%s) to %s' % (requesterId, sendToId)) - base.cr.ttuFriendsManager.d_teleportGiveup(sendToId) + base.cr.ttsFriendsManager.d_teleportGiveup(sendToId) def teleportGiveup(self, requesterId): teleportNotify.debug('received teleportGiveup(%s)' % (requesterId,)) diff --git a/otp/avatar/DistributedPlayerAI.py b/otp/avatar/DistributedPlayerAI.py index 4c8bdace..c797ae03 100644 --- a/otp/avatar/DistributedPlayerAI.py +++ b/otp/avatar/DistributedPlayerAI.py @@ -160,7 +160,7 @@ def maintenance(minutes): dg = PyDatagram() dg.addServerHeader(10, simbase.air.ourChannel, CLIENTAGENT_EJECT) dg.addUint16(154) - dg.addString('Toontown United is now closed for maintenance.') + dg.addString('Toontown Stride is now closed for maintenance.') simbase.air.send(dg) return Task.done diff --git a/otp/chat/TalkAssistant.py b/otp/chat/TalkAssistant.py index 7e027196..f041e5df 100644 --- a/otp/chat/TalkAssistant.py +++ b/otp/chat/TalkAssistant.py @@ -418,7 +418,7 @@ class TalkAssistant(DirectObject.DirectObject): message, scrubbed = base.localAvatar.scrubTalk(cleanMessage, modifications) - base.cr.ttuFriendsManager.sendUpdate('sendTalkWhisper', [receiverAvId, message]) + base.cr.ttsFriendsManager.sendUpdate('sendTalkWhisper', [receiverAvId, message]) def sendOpenSpeedChat(self, type, messageIndex): error = None diff --git a/otp/otpbase/OTPLocalizerEnglish.py b/otp/otpbase/OTPLocalizerEnglish.py index 1a824a25..d7a34242 100644 --- a/otp/otpbase/OTPLocalizerEnglish.py +++ b/otp/otpbase/OTPLocalizerEnglish.py @@ -99,7 +99,7 @@ CRBootedReasons = {100: 'You have been disconnected because someone else just lo 101: 'Please relaunch the game from the official launcher.', 102: 'You are not authorized to use administrator privileges.', 103: 'You were banned by a moderator.\n\nBehave next time!', - 105: 'Toontown United is now temporarily closed for maintenance. Everyone who was playing has been disconnected from the game.\n\nFor more information, please visit the Toontown United website.', + 105: 'Toontown Stride is now temporarily closed for maintenance. Everyone who was playing has been disconnected from the game.\n\nFor more information, please visit the Toontown Stride website.', 153: 'The district you were playing on has been reset. Everyone who was playing on that district has been disconnected. However, you should be able to connect again and go right back into the game.'} CRBootedReasonUnknownCode = 'An unexpected problem has occurred (error code %s). Your connection has been lost, but you should be able to connect again and go right back into the game.' CRTryConnectAgain = '\n\nTry to connect again?' @@ -107,8 +107,8 @@ CRToontownUnavailable = 'The server appears to be temporarily unavailable, still CRToontownUnavailableCancel = lCancel CRNameCongratulations = 'CONGRATULATIONS!!' CRNameAccepted = 'Your name has been\napproved by the Toon Council.\n\nFrom this day forth\nyou will be named\n"%s"' -CRMaintenanceCountdownMessage = 'Attention Toons! Toontown United will be going down for maintenance in %d minutes.' -CRMaintenanceMessage = 'Attention Toons! Toontown United is now going down for maintenance.' +CRMaintenanceCountdownMessage = 'Attention Toons! Toontown Stride will be going down for maintenance in %d minutes.' +CRMaintenanceMessage = 'Attention Toons! Toontown Stride is now going down for maintenance.' AfkForceAcknowledgeMessage = 'Your toon got sleepy and went to bed.' CREnteringToontown = 'Entering...' DialogSpecial = 'ooo' diff --git a/tools/example.py b/tools/example.py index dda53270..cf611b4c 100644 --- a/tools/example.py +++ b/tools/example.py @@ -2,7 +2,7 @@ import urllib2 def executeHttpRequest(url, agent, **extras): request = urllib2.Request('http://127.0.0.1:45749/' + url) - request.add_header('User-Agent', 'TTU-' + agent) + request.add_header('User-Agent', 'TTS-' + agent) request.add_header('Secret-Key', '1X5oN69^#0^fCw7s#uyQTWYJ!8m9z!6Midphf90gMQYl*L5Uy!Ri5KTP6@BbZ5#Tlm37bJAI') for k, v in extras.items(): request.add_header(k, v) diff --git a/tools/generate_key.py b/tools/generate_key.py index 84fd4736..81c81363 100644 --- a/tools/generate_key.py +++ b/tools/generate_key.py @@ -26,7 +26,7 @@ secret = os.urandom(BLOCK_SIZE) cipher = AES.new( secret, AES.MODE_CBC, secret ) # encode a string -encoded = EncodeAES(cipher, 'tturpclib691256') +encoded = EncodeAES(cipher, 'ttsrpclib691256') print 'Encrypted string:', encoded # decode the encoded string diff --git a/tools/gentoken.py b/tools/gentoken.py index 9ff87f5f..916ed651 100644 --- a/tools/gentoken.py +++ b/tools/gentoken.py @@ -2,7 +2,7 @@ import urllib2 def executeHttpRequest(url, agent, **extras): request = urllib2.Request('http://127.0.0.1:45749/' + url) - request.add_header('User-Agent', 'TTU-' + agent) + request.add_header('User-Agent', 'TTS-' + agent) request.add_header('Secret-Key', '1X5oN69^#0^fCw7s#uyQTWYJ!8m9z!6Midphf90gMQYl*L5Uy!Ri5KTP6@BbZ5#Tlm37bJAI') for k, v in extras.items(): request.add_header(k, v) diff --git a/tools/whitelist_tool.py b/tools/whitelist_tool.py index aeea631f..9f969e2f 100644 --- a/tools/whitelist_tool.py +++ b/tools/whitelist_tool.py @@ -54,7 +54,7 @@ def saveChanges(): LOCAL_LIST = WhiteListData.WHITELIST -print 'Welcome to the Toontown United Whitelist Tool!' +print 'Welcome to the Toontown Stride Whitelist Tool!' print 'Type any word you want to add to the whitelist.' print 'If you wish to remove a word, type "r ".' print 'When you are done and want to save your changes, type "exit()".' diff --git a/tools/write_patcher.py b/tools/write_patcher.py index b7d0c113..b31f3da4 100644 --- a/tools/write_patcher.py +++ b/tools/write_patcher.py @@ -8,19 +8,19 @@ import xml.etree.ElementTree as ET parser = argparse.ArgumentParser() parser.add_argument('--build-dir', default='build', - help='The directory of the Toontown United build.') + help='The directory of the Toontown Stride build.') parser.add_argument('--dest-dir', default='.', help='The directory in which to store the patcher.') parser.add_argument('--output', default='patcher.xml', help='The name of the output file.') -parser.add_argument('--launcher-version', default='united-dev', - help='The current version of the Toontown United launcher.') -parser.add_argument('--account-server', default='toontownunited.com', - help='The address of the Toontown United account server.') +parser.add_argument('--launcher-version', default='stride-dev', + help='The current version of the Toontown Stride launcher.') +parser.add_argument('--account-server', default='toontownstride.com', + help='The address of the Toontown Stride account server.') parser.add_argument('--client-agent', default='192.99.200.107', help='The IP address of the Client Agent to connect to.') -parser.add_argument('--server-version', default='united-dev', - help='The current version of the Toontown United game.') +parser.add_argument('--server-version', default='stride-dev', + help='The current version of the Toontown Stride game.') parser.add_argument('--resources-revision', default='', help='The current revision of the resources repository.') parser.add_argument('includes', nargs='*', default=['GameData.bin'], @@ -71,7 +71,7 @@ print 'Writing %s...' % args.output # First, add the element: patcher = ET.Element('patcher') -# Next, add the Toontown United launcher version: +# Next, add the Toontown Stride launcher version: launcher_version = ET.SubElement(patcher, 'launcher-version') launcher_version.text = args.launcher_version diff --git a/toontown/chat/WhiteListData.py b/toontown/chat/WhiteListData.py index 16c7eedf..2cf88f59 100644 --- a/toontown/chat/WhiteListData.py +++ b/toontown/chat/WhiteListData.py @@ -33158,8 +33158,8 @@ WHITELIST = [ 'toonter', 'toontorial', 'toontown', - 'toontownunited', - 'toontownunited.com', + 'toontownstride', + 'toontownstride.com', 'toontrooper', 'toontroopers', 'toonup', @@ -33719,8 +33719,8 @@ WHITELIST = [ 'tti', 'tto', 'ttr', - 'ttu', - 'ttunited', + 'tts', + 'ttstride', 'ttyl', 'tub', 'tuba', @@ -36176,7 +36176,7 @@ WHITELIST = [ 'wut', 'wwod', 'www.toonhq.org', - 'www.toontownunited.com', + 'www.toontownstride.com', "wyatt's", 'wyda', 'wynken', diff --git a/toontown/friends/FriendHandle.py b/toontown/friends/FriendHandle.py index dccb08c2..7a3e376f 100644 --- a/toontown/friends/FriendHandle.py +++ b/toontown/friends/FriendHandle.py @@ -40,26 +40,26 @@ class FriendHandle: return idString + '-' + str(self.getDoId()) def d_battleSOS(self, sendToId): - base.cr.ttuFriendsManager.d_battleSOS(self.doId) + base.cr.ttsFriendsManager.d_battleSOS(self.doId) def d_teleportQuery(self, requesterId): teleportNotify.debug('sending d_teleportQuery(%s)' % (requesterId,)) - base.cr.ttuFriendsManager.d_teleportQuery(self.doId) + base.cr.ttsFriendsManager.d_teleportQuery(self.doId) def d_teleportResponse(self, avId, available, shardId, hoodId, zoneId): teleportNotify.debug('sending teleportResponse%s' % ((avId, available, shardId, hoodId, zoneId),) ) - base.cr.ttuFriendsManager.d_teleportResponse(self.doId, available, + base.cr.ttsFriendsManager.d_teleportResponse(self.doId, available, shardId, hoodId, zoneId ) def d_teleportGiveup(self, requesterId): teleportNotify.debug('sending d_teleportGiveup(%s)' % (requesterId,)) - base.cr.ttuFriendsManager.d_teleportGiveup(self.doId) + base.cr.ttsFriendsManager.d_teleportGiveup(self.doId) def isUnderstandable(self): if self.commonChatFlags & base.localAvatar.commonChatFlags & ToontownGlobals.CommonChat: diff --git a/toontown/parties/PartyGlobals.py b/toontown/parties/PartyGlobals.py index f0a349fe..f4ecd96d 100644 --- a/toontown/parties/PartyGlobals.py +++ b/toontown/parties/PartyGlobals.py @@ -697,7 +697,7 @@ PhaseToMusicData = {3.5: {'TC_SZ.ogg': [TTLocalizer.MusicTcSz, 57]}, PhaseToMusicData40 = {3.5: {'encntr_general_bg.ogg': [TTLocalizer.MusicEncntrGeneralBg, 30], 'TC_SZ.ogg': [TTLocalizer.MusicTcSz, 57]}, 3: {'create_a_toon.ogg': [TTLocalizer.MusicCreateAToon, 175], - 'tt_theme.ogg': [TTLocalizer.MusicTtuTheme, 51]}, + 'tt_theme.ogg': [TTLocalizer.MusicTtsTheme, 51]}, 4: {'minigame_race.ogg': [TTLocalizer.MusicMinigameRace, 77], 'TC_nbrhood.ogg': [TTLocalizer.MusicTcNbrhood, 59], 'MG_TwoDGame.ogg': [TTLocalizer.MusicMgTwodgame, 60], diff --git a/toontown/rpc/ToontownRPCConnection.py b/toontown/rpc/ToontownRPCConnection.py index 1aa7dc55..3841cba5 100644 --- a/toontown/rpc/ToontownRPCConnection.py +++ b/toontown/rpc/ToontownRPCConnection.py @@ -207,7 +207,7 @@ class ToontownRPCConnection: # Add the standard headers: response += 'Date: %s\r\n' % time.strftime('%a, %d %b %Y %H:%M:%S GMT', time.gmtime()) - response += 'Server: TTU-RPCServer/0.1\r\n' + response += 'Server: TTS-RPCServer/0.1\r\n' # Add the content headers: response += 'Content-Length: %d\r\n' % len(body) diff --git a/toontown/shtiker/PhotoAlbumPage.py b/toontown/shtiker/PhotoAlbumPage.py index bdb93d32..12438ade 100644 --- a/toontown/shtiker/PhotoAlbumPage.py +++ b/toontown/shtiker/PhotoAlbumPage.py @@ -22,7 +22,6 @@ class PhotoAlbumPage(ShtikerPage.ShtikerPage): self.photos = {} self.selectedFileName = None self.selectedFilePath = None - #TODO: Localizer support for screenshot storing and names self.installPath = os.getcwd() self.photoPath = TTLocalizer.ScreenshotPath self.photoIndex = 0 @@ -232,7 +231,7 @@ class PhotoAlbumPage(ShtikerPage.ShtikerPage): files = os.listdir(self.photoPath) photos = [] for fileName in files: - if fileName[0:17] == 'united-screenshot' and fileName[-4:] == '.jpg': + if fileName[0:17] == 'stride-screenshot' and fileName[-4:] == '.jpg': photos.append(fileName) return photos diff --git a/toontown/toon/DistributedToon.py b/toontown/toon/DistributedToon.py index e06460ec..20a86fc6 100644 --- a/toontown/toon/DistributedToon.py +++ b/toontown/toon/DistributedToon.py @@ -369,7 +369,7 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute ResistanceChat.doEffect(msgIndex, self, nearbyToons) def d_battleSOS(self, sendToId): - self.cr.ttuFriendsManager.d_battleSOS(sendToId) + self.cr.ttsFriendsManager.d_battleSOS(sendToId) def battleSOS(self, requesterId): avatar = base.cr.identifyAvatar(requesterId) @@ -471,7 +471,7 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute print ':%s: setTalk: %r, %r, %r' % (timestamp, fromAV, avatarName, chat) if base.config.GetBool('want-sleep-reply-on-regular-chat', 0): if base.localAvatar.sleepFlag == 1: - base.cr.ttuFriendsManager.d_sleepAutoReply(fromAV) + base.cr.ttsFriendsManager.d_sleepAutoReply(fromAV) newText, scrubbed = self.scrubTalk(chat, mods) self.displayTalk(newText) base.talkAssistant.receiveOpenTalk(fromAV, avatarName, fromAC, None, newText) @@ -489,7 +489,7 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute return if base.localAvatar.sleepFlag == 1: if not base.cr.identifyAvatar(fromAV) == base.localAvatar: - base.cr.ttuFriendsManager.d_sleepAutoReply(fromAV) + base.cr.ttsFriendsManager.d_sleepAutoReply(fromAV) newText, scrubbed = self.scrubTalk(chat, mods) self.displayTalkWhisper(fromAV, avatarName, chat, mods) timestamp = time.strftime('%m-%d-%Y %H:%M:%S', time.localtime()) @@ -516,7 +516,7 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute return if base.localAvatar.sleepFlag == 1: if not base.cr.identifyAvatar(fromId) == base.localAvatar: - base.cr.ttuFriendsManager.d_sleepAutoReply(fromId) + base.cr.ttsFriendsManager.d_sleepAutoReply(fromId) chatString = SCDecoders.decodeSCEmoteWhisperMsg(emoteId, handle.getName()) if chatString: self.displayWhisper(fromId, chatString, WTEmote) @@ -537,7 +537,7 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute return if base.localAvatar.sleepFlag == 1: if not base.cr.identifyAvatar(fromId) == base.localAvatar: - base.cr.ttuFriendsManager.d_sleepAutoReply(fromId) + base.cr.ttsFriendsManager.d_sleepAutoReply(fromId) chatString = SCDecoders.decodeSCStaticTextMsg(msgIndex) if chatString: self.displayWhisper(fromId, chatString, WTQuickTalker) @@ -556,7 +556,7 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute def whisperSCToontaskTo(self, taskId, toNpcId, toonProgress, msgIndex, sendToId): messenger.send('wakeup') - base.cr.ttuFriendsManager.d_whisperSCToontaskTo(sendToId, taskId, + base.cr.ttsFriendsManager.d_whisperSCToontaskTo(sendToId, taskId, toNpcId, toonProgress, msgIndex ) diff --git a/toontown/toon/ToonTeleportPanel.py b/toontown/toon/ToonTeleportPanel.py index a3d0e547..4f930fb6 100644 --- a/toontown/toon/ToonTeleportPanel.py +++ b/toontown/toon/ToonTeleportPanel.py @@ -132,7 +132,7 @@ class ToonTeleportPanel(DirectFrame): def enterCheckAvailability(self): myId = base.localAvatar.getDoId() - base.cr.ttuFriendsManager.d_teleportQuery(self.avId) + base.cr.ttsFriendsManager.d_teleportQuery(self.avId) self['text'] = TTLocalizer.TeleportPanelCheckAvailability % self.avName self.accept('teleportResponse', self.__teleportResponse) self.bCancel.show() diff --git a/toontown/toonbase/ClientStartDist.py b/toontown/toonbase/ClientStartDist.py index d6d14bec..24ccd1ab 100644 --- a/toontown/toonbase/ClientStartDist.py +++ b/toontown/toonbase/ClientStartDist.py @@ -1,9 +1,9 @@ #!/usr/bin/env python2 # This is the "main" module that will start a production copy of -# Toontown United. +# Toontown Stride. # This is a temp patch. -# It should really be done by the runtime (e.g. united.exe): +# It should really be done by the runtime (e.g. stride.exe): import sys sys.path = ['.'] diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index a425aea1..0546732a 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -2715,7 +2715,7 @@ SuitAttackTaunts = {'Audit': ["I believe your books don't balance.", "You aren't above the law!", 'There should be a law against you.', "There's no ex post facto with me!", - "The opinions expressed in this attack are not those of Toontown United.", + "The opinions expressed in this attack are not those of Toontown Stride.", 'We cannot be held responsible for damages suffered in this attack.', 'Your results for this attack may vary.', 'This attack is void where prohibited.', @@ -3425,7 +3425,7 @@ MusicEncntrGeneralBg = 'Encounter With Cogs' MusicTcSzActivity = 'Toontorial Medley' MusicTcSz = 'Strolling Along' MusicCreateAToon = 'The New Toon in Town' -MusicTtuTheme = 'The Toontown United Theme' +MusicTtsTheme = 'The Toontown Stride Theme' MusicTtTheme = 'The Toontown Theme' MusicMinigameRace = 'Slow and Steady' MusicTcNbrhood = 'Toontown Central' @@ -6891,7 +6891,7 @@ TipDict = {TIP_NONE: ('',), 'Open or close your Shticker Book by pressing the "F8" key.', 'You can look up by pressing the "Page Up" key and look down by pressing the "Page Down" key.', 'Press the "Control" key to jump.', - 'Press the "F9" key to take a screenshot, which will be saved in your Toontown United folder on your computer.', + 'Press the "F9" key to take a screenshot, which will be saved in your Toontown Stride folder on your computer.', 'You can change your screen resolution, adjust audio, and control other options on the Options Page in the Shticker Book.', "Try on your friend's clothing at the closet in their house.", 'You can go to your house using the "Go Home" button on your map.', @@ -6905,7 +6905,7 @@ TipDict = {TIP_NONE: ('',), 'Change to different views of your Toon by pressing the Tab Key.', 'Sometimes you can find several different ToonTasks offered for the same reward. Shop around!', 'Finding friends with similar ToonTasks is a fun way to progress through the game.', - 'You never need to save your Toontown progress. The Toontown United servers continually save all the necessary information.', + 'You never need to save your Toontown progress. The Toontown Stride servers continually save all the necessary information.', 'You can whisper to other Toons either by clicking on them or by selecting them from your Friends List.', 'Some SpeedChat phrases play emotion animations on your Toon.', 'If the area you are in is crowded, try changing Districts. Go to the District Page in the Shticker Book and select a different one.', diff --git a/toontown/uberdog/ClientServicesManagerUD.py b/toontown/uberdog/ClientServicesManagerUD.py index e001ee34..6d221bb4 100644 --- a/toontown/uberdog/ClientServicesManagerUD.py +++ b/toontown/uberdog/ClientServicesManagerUD.py @@ -39,7 +39,7 @@ http.setVerifySsl(0) def executeHttpRequest(url, extras): request = urllib2.Request(accountServerEndpoint + url) - request.add_header('User-Agent', 'TTU-Game') + request.add_header('User-Agent', 'TTS-Game') request.add_header('Secret-Key', accountServerSecret) for k, v in extras.items(): request.add_header(k, v) @@ -84,7 +84,7 @@ def judgeName(name): # --- ACCOUNT DATABASES --- -# These classes make up the available account databases for Toontown United. +# These classes make up the available account databases for Toontown Stride. # Databases with login tokens use the PyCrypto module for decrypting them. # DeveloperAccountDB is a special database that accepts a username, and assigns # each user with 700 access automatically upon login. @@ -898,7 +898,7 @@ class UnloadAvatarFSM(OperationFSM): def enterUnloadAvatar(self): channel = self.csm.GetAccountConnectionChannel(self.target) - # Tell TTUFriendsManager somebody is logging off: + # Tell TTSFriendsManager somebody is logging off: self.csm.air.friendsManager.toonOffline(self.avId) # Clear off POSTREMOVE: From f71c3dbe70a4970a6a87c991956906c641785337 Mon Sep 17 00:00:00 2001 From: Master Voltage Date: Sat, 16 May 2015 23:21:32 -0400 Subject: [PATCH 42/78] added dev server to client --- client.bat | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/client.bat b/client.bat index 07aebe1a..c3e7319d 100644 --- a/client.bat +++ b/client.bat @@ -4,14 +4,16 @@ set /P PPYTHON_PATH= Date: Sun, 17 May 2015 00:48:39 -0400 Subject: [PATCH 43/78] Fix client.bat --- client.bat | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/client.bat b/client.bat index c3e7319d..5ed3efae 100644 --- a/client.bat +++ b/client.bat @@ -9,13 +9,11 @@ echo #3 - Developer Server (Steve) echo #4 - Custom echo. set /P INPUT= -set server=unset if %INPUT%==1 set TTS_GAMESERVER=127.0.0.1 if %INPUT%==2 set TTS_GAMESERVER=71.200.196.180 if %INPUT%==3 set TTS_GAMESERVER=192.99.167.192 - -if %TTS_GAMESERVER%==unset ( +if %INPUT%==4 ( echo. set /P TTS_GAMESERVER=Gameserver: ) From 35b064a59efea806802a1fa1a3b866dfe2d447f6 Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 00:52:07 -0400 Subject: [PATCH 44/78] Some revert k --- astron/dclass/stride.dc | 11 ++++ otp/distributed/DCClassImports.py | 8 ++- toontown/ai/ToontownAIRepository.py | 3 + toontown/catalog/AccountDate.py | 39 ++++++++++++ toontown/catalog/AccountDateAI.py | 23 +++++++ toontown/catalog/CatalogAccessoryItem.py | 3 + toontown/catalog/CatalogClothingItem.py | 3 + toontown/catalog/CatalogEmoteItem.py | 5 +- toontown/catalog/CatalogItem.py | 4 +- toontown/catalog/CatalogScreen.py | 81 +++++++++++++----------- toontown/nametag/NametagGlobals.py | 2 - toontown/shtiker/DeleteManager.py | 21 ++++++ toontown/shtiker/DeleteManagerAI.py | 9 +++ toontown/toon/LocalToon.py | 3 + 14 files changed, 171 insertions(+), 44 deletions(-) create mode 100644 toontown/catalog/AccountDate.py create mode 100644 toontown/catalog/AccountDateAI.py create mode 100644 toontown/shtiker/DeleteManager.py create mode 100644 toontown/shtiker/DeleteManagerAI.py diff --git a/astron/dclass/stride.dc b/astron/dclass/stride.dc index 93672371..1c74b38c 100644 --- a/astron/dclass/stride.dc +++ b/astron/dclass/stride.dc @@ -295,6 +295,7 @@ from toontown.estate import DistributedEstate/AI from toontown.estate import DistributedHouse/AI from toontown.estate import DistributedHouseInterior/AI from toontown.estate import DistributedGarden/AI +from toontown.shtiker import DeleteManager/AI from toontown.groups import GroupManager/AI/UD from toontown.ai import NewsManager/AI from toontown.shtiker import PurchaseManager/AI @@ -302,6 +303,7 @@ from toontown.shtiker import NewbiePurchaseManager/AI from toontown.safezone import SafeZoneManager/AI from toontown.tutorial import TutorialManager/AI from toontown.catalog import CatalogManager/AI +from toontown.catalog import AccountDate/AI from toontown.safezone import DistributedTreasure/AI from toontown.coghq import DistributedCashbotBossTreasure/AI from toontown.building import DistributedTrophyMgr/AI @@ -1543,6 +1545,10 @@ dclass DistributedPartyTugOfWarActivity : DistributedPartyTeamActivity { updateToonPositions(int16/1000) broadcast; }; +dclass DeleteManager : DistributedObject { + setInventory(blob) airecv clsend; +}; + dclass GroupManager : DistributedObject { setChildId() clsend airecv; isPlayerGrouped(uint32); @@ -1653,6 +1659,11 @@ dclass CatalogManager : DistributedObject { startCatalog() airecv clsend; }; +dclass AccountDate : DistributedObject { + requestDate() airecv clsend; + requestDateResult(string); +}; + dclass DistributedTreasure : DistributedObject { setTreasureType(uint16) required broadcast ram; setPosition(int16/10, int16/10, int16/10) required broadcast ram; diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index 3088f5a8..ceb8bf75 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,11 @@ from pandac.PandaModules import * +<<<<<<< HEAD hashVal = 4040859151L +======= +hashVal = 2005027427 +>>>>>>> parent of 0f4521a... Initial work on gifting (still broken right now), and sry zach from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot @@ -11,7 +15,7 @@ from toontown.building import DistributedAnimatedProp, DistributedTrophyMgr, Dis from toontown.uberdog.DistributedPartyManager import DistributedPartyManager from otp.friends import FriendManager from otp.level import DistributedLevel, DistributedEntity, DistributedInteractiveEntity -from toontown.shtiker import PurchaseManager, NewbiePurchaseManager +from toontown.shtiker import DeleteManager, PurchaseManager, NewbiePurchaseManager from toontown.groups import GroupManager from toontown.uberdog.ClientServicesManager import ClientServicesManager from toontown.ai import WelcomeValleyManager, NewsManager, DistributedAprilToonsMgr, DistributedBlackCatMgr, DistributedReportMgr, DistributedPolarPlaceEffectMgr, DistributedGreenToonEffectMgr, DistributedResistanceEmoteMgr, DistributedScavengerHuntTarget, DistributedTrickOrTreatTarget, DistributedWinterCarolingTarget, DistributedJorElCam @@ -25,7 +29,7 @@ from toontown.safezone import DistributedTrolley, DistributedPartyGate, Distribu from toontown.fishing import DistributedFishingPond, DistributedFishingTarget, DistributedPondBingoManager from toontown.minigame import DistributedMinigame, DistributedMinigameTemplate, DistributedRaceGame, DistributedCannonGame, DistributedPatternGame, DistributedRingGame, DistributedTagGame, DistributedMazeGame, DistributedTugOfWarGame, DistributedCatchGame, DistributedDivingGame, DistributedTargetGame, DistributedVineGame, DistributedIceGame, DistributedCogThiefGame, DistributedTwoDGame from toontown.racing import DistributedVehicle, DistributedStartingBlock, DistributedRace, DistributedKartPad, DistributedRacePad, DistributedViewPad, DistributedStartingBlock, DistributedLeaderBoard, DistributedGag, DistributedProjectile -from toontown.catalog import CatalogManager +from toontown.catalog import CatalogManager, AccountDate from toontown.parties import DistributedParty, DistributedPartyActivity, DistributedPartyTeamActivity, DistributedPartyCannon, DistributedPartyCannonActivity, DistributedPartyCatchActivity, DistributedPartyWinterCatchActivity, DistributedPartyCogActivity, DistributedPartyWinterCogActivity, DistributedPartyFireworksActivity, DistributedPartyDanceActivityBase, DistributedPartyDanceActivity, DistributedPartyDance20Activity, DistributedPartyValentineDanceActivity, DistributedPartyValentineDance20Activity, DistributedPartyTrampolineActivity, DistributedPartyValentineTrampolineActivity, DistributedPartyVictoryTrampolineActivity, DistributedPartyWinterTrampolineActivity, DistributedPartyTugOfWarActivity, DistributedPartyJukeboxActivityBase, DistributedPartyJukeboxActivity, DistributedPartyJukebox40Activity, DistributedPartyValentineJukeboxActivity, DistributedPartyValentineJukebox40Activity from toontown.pets.DistributedPet import * from toontown.friends import TTSFriendsManager diff --git a/toontown/ai/ToontownAIRepository.py b/toontown/ai/ToontownAIRepository.py index 5fc1715b..77c1e344 100644 --- a/toontown/ai/ToontownAIRepository.py +++ b/toontown/ai/ToontownAIRepository.py @@ -16,6 +16,7 @@ from toontown.ai.NewsManagerAI import NewsManagerAI from toontown.ai.QuestManagerAI import QuestManagerAI from toontown.ai.DistributedBlackCatMgrAI import DistributedBlackCatMgrAI from toontown.ai.DistributedReportMgrAI import DistributedReportMgrAI +from toontown.catalog.AccountDateAI import AccountDateAI from toontown.building.DistributedBuildingQueryMgrAI import DistributedBuildingQueryMgrAI from toontown.building.DistributedTrophyMgrAI import DistributedTrophyMgrAI from toontown.catalog.CatalogManagerAI import CatalogManagerAI @@ -120,6 +121,8 @@ class ToontownAIRepository(ToontownInternalRepository): self.holidayManager = HolidayManagerAI(self) self.codeRedemptionMgr = TTCodeRedemptionMgrAI(self) self.codeRedemptionMgr.generateWithRequired(2) + self.accountDateMgr = AccountDateAI(self) + self.accountDateMgr.generateWithRequired(2) self.buildingQueryMgr = DistributedBuildingQueryMgrAI(self) self.buildingQueryMgr.generateWithRequired(2) self.groupManager.generateWithRequired(2) diff --git a/toontown/catalog/AccountDate.py b/toontown/catalog/AccountDate.py new file mode 100644 index 00000000..610227e1 --- /dev/null +++ b/toontown/catalog/AccountDate.py @@ -0,0 +1,39 @@ +from direct.distributed.DistributedObject import DistributedObject +from direct.directnotify.DirectNotifyGlobal import directNotify +from datetime import datetime + +class AccountDate(DistributedObject): + neverDisable = 1 + notify = directNotify.newCategory('AccountDate') + + def __init__(self, cr): + DistributedObject.__init__(self, cr) + self.accountDays = 0 + + def announceGenerate(self): + DistributedObject.announceGenerate(self) + base.cr.accountDateMgr = self + taskMgr.doMethodLater(10, self.requestDate, 'request-task') + + def delete(self): + if hasattr(base.cr, 'accountDateMgr'): + if base.cr.accountDateMgr is self: + del base.cr.accountDateMgr + DistributedObject.delete(self) + + def getAccountDays(self): + return self.accountDays + + def requestDate(self, task=None): + self.sendUpdate('requestDate') + + if task is not None: + return task.done + + def requestDateResult(self, result): + if result is None: + notify.warning('Invalid response from server.') + self.accountDays = 0 + else: + date = datetime.strptime(result, "%a %b %d %H:%M:%S %Y") + self.accountDays = (datetime.now() - date).days \ No newline at end of file diff --git a/toontown/catalog/AccountDateAI.py b/toontown/catalog/AccountDateAI.py new file mode 100644 index 00000000..654048ea --- /dev/null +++ b/toontown/catalog/AccountDateAI.py @@ -0,0 +1,23 @@ +from direct.directnotify import DirectNotifyGlobal +from direct.distributed.DistributedObjectAI import DistributedObjectAI + +class AccountDateAI(DistributedObjectAI): + notify = DirectNotifyGlobal.directNotify.newCategory("AccountDateAI") + + def announceGenerate(self): + DistributedObjectAI.announceGenerate(self) + + def requestDate(self): + avId = self.air.getAvatarIdFromSender() + av = self.air.doId2do.get(avId) + + if not av: + return + + def callback(dclass, fields): + if dclass is not None and dclass == self.air.dclassesByName['AccountAI'] and fields.has_key('CREATED'): + self.sendUpdateToAvatarId(avId, 'requestDateResult', [fields.get('CREATED')]) + else: + self.sendUpdateToAvatarId(avId, 'requestDateResult', [None]) + + self.air.dbInterface.queryObject(self.air.dbId, av.DISLid, callback) \ No newline at end of file diff --git a/toontown/catalog/CatalogAccessoryItem.py b/toontown/catalog/CatalogAccessoryItem.py index 3b12563a..4f8f13f8 100644 --- a/toontown/catalog/CatalogAccessoryItem.py +++ b/toontown/catalog/CatalogAccessoryItem.py @@ -363,6 +363,9 @@ class CatalogAccessoryItem(CatalogItem.CatalogItem): dg.addUint16(self.accessoryType) dg.addBool(self.isSpecial) + def isGift(self): + return not self.getEmblemPrices() + def getAllAccessories(*accessoryTypes): list = [] for accessoryType in accessoryTypes: diff --git a/toontown/catalog/CatalogClothingItem.py b/toontown/catalog/CatalogClothingItem.py index 0f4865f0..5124da5a 100644 --- a/toontown/catalog/CatalogClothingItem.py +++ b/toontown/catalog/CatalogClothingItem.py @@ -548,6 +548,9 @@ class CatalogClothingItem(CatalogItem.CatalogItem): dg.addUint8(self.colorIndex) dg.addBool(self.isSpecial) + def isGift(self): + return not self.getEmblemPrices() + def getAllClothes(*clothingTypes): list = [] for clothingType in clothingTypes: diff --git a/toontown/catalog/CatalogEmoteItem.py b/toontown/catalog/CatalogEmoteItem.py index a5c16f0a..fa173bc6 100644 --- a/toontown/catalog/CatalogEmoteItem.py +++ b/toontown/catalog/CatalogEmoteItem.py @@ -121,4 +121,7 @@ class CatalogEmoteItem(CatalogItem.CatalogItem): def encodeDatagram(self, dg, store): CatalogItem.CatalogItem.encodeDatagram(self, dg, store) dg.addUint8(self.emoteIndex) - dg.addBool(self.isSpecial) \ No newline at end of file + dg.addBool(self.isSpecial) + + def isGift(self): + return not self.getEmblemPrices() \ No newline at end of file diff --git a/toontown/catalog/CatalogItem.py b/toontown/catalog/CatalogItem.py index efce112a..bba97cda 100644 --- a/toontown/catalog/CatalogItem.py +++ b/toontown/catalog/CatalogItem.py @@ -115,7 +115,9 @@ class CatalogItem: return self.saleItem def isGift(self): - return not self.getEmblemPrices() + if self.getEmblemPrices(): + return 0 + return 1 def isRental(self): return 0 diff --git a/toontown/catalog/CatalogScreen.py b/toontown/catalog/CatalogScreen.py index 449de623..36eb9d3c 100644 --- a/toontown/catalog/CatalogScreen.py +++ b/toontown/catalog/CatalogScreen.py @@ -45,10 +45,11 @@ class CatalogScreen(DirectFrame): DirectFrame.__init__(self, parent) self.friendGiftIndex = 0 self.friendGiftHandle = None - self.friendDoId = None + self.frienddoId = None self.receiverName = 'Error Nameless Toon' self.friends = {} - self.friendList = [] + self.family = {} + self.ffList = [] self.textRolloverColor = Vec4(1, 1, 0, 1) self.textDownColor = Vec4(0.5, 0.9, 1, 1) self.textDisabledColor = Vec4(0.4, 0.8, 0.4, 1) @@ -91,7 +92,7 @@ class CatalogScreen(DirectFrame): taskMgr.doMethodLater(12.0, clarabelleHelpText1, 'clarabelleHelpText1') if hasattr(self, 'giftToggle'): self.giftToggle['state'] = DGG.NORMAL - self.giftToggle['text'] = TTLocalizer.CatalogGiftToggleOff + self.giftToggle['text'] = TTLocalizer.CatalogGiftToggleOn def hide(self): self.ignore('CatalogItemPurchaseRequest') @@ -541,8 +542,8 @@ class CatalogScreen(DirectFrame): -2.0, -1.45), image_scale=(1.0, 1.0, smash), image_pos=(0.0, 0.0, -1.9 + lift), image=backDown, pressEffect=0, command=self.showEmblemItems, text=TTLocalizer.CatalogEmblem, text_font=ToontownGlobals.getSignFont(), text_pos=(1.75, 0.132), text_scale=0.065, text_fg=(0.353, 0.627, 0.627, 1.0), text2_fg=(0.353, 0.427, 0.427, 1.0)) self.emblemCatalogButton2.hide() - self.__makeFriendList() - if len(self.friendList) > 0: + self.__makeFFlist() + if len(self.ffList) > 0: if config.GetBool('want-gifting', True): self.giftToggle = DirectButton(self.base, relief=None, pressEffect=0, image=(giftToggleUp, giftToggleDown, giftToggleUp), image_scale=(1.0, 1, 0.7), command=self.__giftToggle, text=TTLocalizer.CatalogGiftToggleOff, text_font=ToontownGlobals.getSignFont(), text_pos=TTLocalizer.CSgiftTogglePos, text_scale=TTLocalizer.CSgiftToggle, text_fg=(0.353, 0.627, 0.627, 1.0), text3_fg=(0.15, 0.3, 0.3, 1.0), text2_fg=(0.353, 0.427, 0.427, 1.0), image_color=Vec4(1.0, 1.0, 0.2, 1.0), image1_color=Vec4(0.9, 0.85, 0.2, 1.0), image2_color=Vec4(0.9, 0.85, 0.2, 1.0), image3_color=Vec4(0.5, 0.45, 0.2, 1.0)) self.giftToggle.setPos(0.0, 0, -0.035) @@ -568,8 +569,8 @@ class CatalogScreen(DirectFrame): clipNP = self.scrollList.attachNewNode(clipper) self.scrollList.setClipPlane(clipNP) self.__makeScrollList() - friendId = self.friendList[0] - self.__chooseFriend(self.friendList[0][0], self.friendList[0][1]) + friendId = self.ffList[0] + self.__chooseFriend(self.ffList[0][0], self.ffList[0][1]) self.update() self.createdGiftGui = 1 for i in range(4): @@ -864,7 +865,11 @@ class CatalogScreen(DirectFrame): if self.responseDialog: self.responseDialog.cleanup() self.responseDialog = None - self.unloadFriend() + if self.giftAvatar: + if hasattr(self.giftAvatar, 'doId'): + self.giftAvatar.delete() + else: + self.giftAvatar = None return def unloadClarabelle(self): @@ -928,7 +933,7 @@ class CatalogScreen(DirectFrame): taskMgr.remove('clarabelleAskAnythingElse') def __handleGiftPurchaseRequest(self, item): - item.requestGiftPurchase(self['phone'], self.friendDoId, self.__handleGiftPurchaseResponse) + item.requestGiftPurchase(self['phone'], self.frienddoId, self.__handleGiftPurchaseResponse) taskMgr.remove('clarabelleAskAnythingElse') def __handlePurchaseResponse(self, retCode, item): @@ -1010,61 +1015,61 @@ class CatalogScreen(DirectFrame): self.silverLabel.hide() self.goldLabel.hide() - def __makeFriendList(self): - for av in base.cr.avList: - if localAvatar.doId == av.id: - continue - self.friendList.append((av.id, av.name, NametagGlobals.CCNormal)) + def checkFamily(self, doId): + test = 0 + for familyMember in base.cr.avList: + if familyMember.id == doId: + test = 1 + + return test + + def __makeFFlist(self): for id, handle in base.cr.friendsMap.items(): - self.friendList.append((id, handle.getName(), NametagGlobals.getFriendColor(handle.commonChatFlags))) + self.ffList.append((id, handle.getName(), NametagGlobals.CCFreeChat)) def __makeScrollList(self): - for friend in self.friendList: - friendButton = self.makeFriendButton(friend[0], friend[1], friend[2]) - if friendButton: - self.scrollList.addItem(friendButton, refresh=0) - self.friends[friend] = friendButton + for ff in self.ffList: + ffbutton = self.makeFamilyButton(ff[0], ff[1], ff[2]) + if ffbutton: + self.scrollList.addItem(ffbutton, refresh=0) + self.friends[ff] = ffbutton self.scrollList.refresh() - def makeFriendButton(self, avId, avName, colorCode): + def makeFamilyButton(self, familyId, familyName, colorCode): + # fg = NametagGlobals.getNameFg(colorCode, PGButton.SInactive) return DirectButton( relief=None, - text=avName, + text=familyName, text_scale=0.04, text_align=TextNode.ALeft, - text_fg=NametagGlobals.NametagColors[colorCode][0][0], + # text_fg=fg, text1_bg=self.textDownColor, text2_bg=self.textRolloverColor, text3_fg=self.textDisabledColor, textMayChange=0, command=self.__chooseFriend, - extraArgs=[avId, avName] - ) + extraArgs=[familyId, familyName] + ) def __chooseFriend(self, friendId, friendName): - if self.friendDoId and self.friendDoId == friendId: - return messenger.send('wakeup') - self.friendDoId = friendId + self.frienddoId = friendId self.receiverName = friendName self.friendLabel['text'] = TTLocalizer.CatalogGiftTo % self.receiverName self.__loadFriend() - def unloadFriend(self): - if self.giftAvatar: - if hasattr(self.giftAvatar, 'doId'): - self.giftAvatar.disable() - self.giftAvatar.delete() - self.giftAvatar = None - def __loadFriend(self): if self.allowGetDetails == 0: CatalogScreen.notify.warning('smashing requests') - if self.friendDoId and self.allowGetDetails: - self.unloadFriend() + if self.frienddoId and self.allowGetDetails: + if self.giftAvatar: + if hasattr(self.giftAvatar, 'doId'): + self.giftAvatar.disable() + self.giftAvatar.delete() + self.giftAvatar = None self.giftAvatar = DistributedToon.DistributedToon(base.cr) - self.giftAvatar.doId = self.friendDoId + self.giftAvatar.doId = self.frienddoId self.giftAvatar.forceAllowDelayDelete() self.giftAvatar.generate() base.cr.getAvatarDetails(self.giftAvatar, self.__handleAvatarDetails, 'DistributedToon') diff --git a/toontown/nametag/NametagGlobals.py b/toontown/nametag/NametagGlobals.py index a0b866d5..b8b62a6c 100644 --- a/toontown/nametag/NametagGlobals.py +++ b/toontown/nametag/NametagGlobals.py @@ -135,8 +135,6 @@ def getModelWidthHeight(model): height = maxPoint.getZ() - minPoint.getZ() return (width, height) -def getFriendColor(flag): - return CCNormal if flag == 1 and settings['trueFriends'] else CCFreeChat # Foreground, background: NametagColors = { diff --git a/toontown/shtiker/DeleteManager.py b/toontown/shtiker/DeleteManager.py new file mode 100644 index 00000000..46af28fe --- /dev/null +++ b/toontown/shtiker/DeleteManager.py @@ -0,0 +1,21 @@ +from pandac.PandaModules import * +from direct.distributed import DistributedObject +from direct.directnotify import DirectNotifyGlobal + +class DeleteManager(DistributedObject.DistributedObject): + notify = DirectNotifyGlobal.directNotify.newCategory('DeleteManager') + neverDisable = 1 + + def __init__(self, cr): + DistributedObject.DistributedObject.__init__(self, cr) + + def generate(self): + DistributedObject.DistributedObject.generate(self) + self.accept('deleteItems', self.d_setInventory) + + def disable(self): + self.ignore('deleteItems') + DistributedObject.DistributedObject.disable(self) + + def d_setInventory(self, newInventoryString): + self.sendUpdate('setInventory', [newInventoryString]) diff --git a/toontown/shtiker/DeleteManagerAI.py b/toontown/shtiker/DeleteManagerAI.py new file mode 100644 index 00000000..fcc249f2 --- /dev/null +++ b/toontown/shtiker/DeleteManagerAI.py @@ -0,0 +1,9 @@ +from direct.directnotify import DirectNotifyGlobal +from direct.distributed.DistributedObjectAI import DistributedObjectAI + +class DeleteManagerAI(DistributedObjectAI): + notify = DirectNotifyGlobal.directNotify.newCategory("DeleteManagerAI") + + def setInventory(self, todo0): + pass + diff --git a/toontown/toon/LocalToon.py b/toontown/toon/LocalToon.py index b7e3f309..baee8074 100644 --- a/toontown/toon/LocalToon.py +++ b/toontown/toon/LocalToon.py @@ -1687,6 +1687,9 @@ class LocalToon(DistributedToon.DistributedToon, LocalAvatar.LocalAvatar): def setPinkSlips(self, pinkSlips): DistributedToon.DistributedToon.setPinkSlips(self, pinkSlips) self.inventory.updateTotalPropsText() + + def getAccountDays(self): + return base.cr.accountDateMgr.getAccountDays() def hasActiveBoardingGroup(self): if hasattr(localAvatar, 'boardingParty') and localAvatar.boardingParty: From 88606b387655fe854f85ed89dab11f3a1efbcf94 Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 00:52:14 -0400 Subject: [PATCH 45/78] Revert "No more accessory, clothing, furniture item gender discrimination! (except for skirts)" This reverts commit c866a4a52ff1b0febbb10312cffe607335f578c1. --- toontown/catalog/CatalogAccessoryItem.py | 44 ++- .../catalog/CatalogAccessoryItemGlobals.py | 57 ++-- toontown/catalog/CatalogClothingItem.py | 267 ++++++++++-------- toontown/catalog/CatalogFurnitureItem.py | 26 +- toontown/hood/SleepingHydrantAnimatedProp.py | 26 ++ 5 files changed, 266 insertions(+), 154 deletions(-) create mode 100644 toontown/hood/SleepingHydrantAnimatedProp.py diff --git a/toontown/catalog/CatalogAccessoryItem.py b/toontown/catalog/CatalogAccessoryItem.py index 4f8f13f8..366fa278 100644 --- a/toontown/catalog/CatalogAccessoryItem.py +++ b/toontown/catalog/CatalogAccessoryItem.py @@ -18,6 +18,42 @@ class CatalogAccessoryItem(CatalogItem.CatalogItem): def storedInTrunk(self): return 1 + def notOfferedTo(self, avatar): + article = AccessoryTypes[self.accessoryType][ATArticle] + if article in [AHat, + AGlasses, + ABackpack, + AShoes]: + return 0 + forBoys = article in [ABoysHat, + ABoysGlasses, + ABoysBackpack, + ABoysShoes] + if avatar.getStyle().getGender() == 'm': + return not forBoys + else: + return forBoys + + def forBoysOnly(self): + article = AccessoryTypes[self.accessoryType][ATArticle] + if article in [ABoysHat, + ABoysGlasses, + ABoysBackpack, + ABoysShoes]: + return 1 + else: + return 0 + + def forGirlsOnly(self): + article = AccessoryTypes[self.accessoryType][ATArticle] + if article in [AGirlsHat, + AGirlsGlasses, + AGirlsBackpack, + AGirlsShoes]: + return 1 + else: + return 0 + def getPurchaseLimit(self): return 1 @@ -275,19 +311,19 @@ class CatalogAccessoryItem(CatalogItem.CatalogItem): def isHat(self): article = AccessoryTypes[self.accessoryType][ATArticle] - return article == AHat + return article in [AHat, ABoysHat, AGirlsHat] def areGlasses(self): article = AccessoryTypes[self.accessoryType][ATArticle] - return article == AGlasses + return article in [AGlasses, ABoysGlasses, AGirlsGlasses] def isBackpack(self): article = AccessoryTypes[self.accessoryType][ATArticle] - return article == ABackpack + return article in [ABackpack, ABoysBackpack, AGirlsBackpack] def areShoes(self): article = AccessoryTypes[self.accessoryType][ATArticle] - return article == AShoes + return article in [AShoes, ABoysShoes, AGirlsShoes] def output(self, store = -1): return 'CatalogAccessoryItem(%s%s)' % (self.accessoryType, self.formatOptionalData(store)) diff --git a/toontown/catalog/CatalogAccessoryItemGlobals.py b/toontown/catalog/CatalogAccessoryItemGlobals.py index fe8b6fa7..c87f58d6 100644 --- a/toontown/catalog/CatalogAccessoryItemGlobals.py +++ b/toontown/catalog/CatalogAccessoryItemGlobals.py @@ -7,6 +7,15 @@ AHat = 0 AGlasses = 1 ABackpack = 2 AShoes = 3 +ABoysHat = 4 +ABoysGlasses = 5 +ABoysBackpack = 6 +ABoysShoes = 7 +AGirlsHat = 8 +AGirlsGlasses = 9 +AGirlsBackpack = 10 +AGirlsShoes = 11 +APriceTest = 5 APriceBasic = 250 APriceBasicPlus = 400 APriceCool = 800 @@ -19,7 +28,7 @@ AccessoryTypes = {101: (AHat, 'hsf1', APriceCool, 5), - 103: (AHat, + 103: (AGirlsHat, 'hrb1', APriceBasic, 1), @@ -31,11 +40,11 @@ AccessoryTypes = {101: (AHat, 'hsf3', APriceCool, 0), - 106: (AHat, + 106: (AGirlsHat, 'hrb2', APriceBasicPlus, 3), - 107: (AHat, + 107: (AGirlsHat, 'hrb3', APriceBasicPlus, 0), @@ -87,7 +96,7 @@ AccessoryTypes = {101: (AHat, 'hpb1', APriceBasicPlus, 6), - 120: (AHat, + 120: (ABoysHat, 'hcr1', 10000, 5), @@ -123,23 +132,23 @@ AccessoryTypes = {101: (AHat, 'hst1', APriceBasicPlus, 1), - 129: (AHat, + 129: (AGirlsHat, 'hsu1', APriceCool, 1), - 130: (AHat, + 130: (AGirlsHat, 'hrb4', APriceBasic, 1), - 131: (AHat, + 131: (AGirlsHat, 'hrb5', APriceBasicPlus, 4), - 132: (AHat, + 132: (AGirlsHat, 'hrb6', APriceBasic, 2), - 133: (AHat, + 133: (AGirlsHat, 'hrb7', APriceBasicPlus, 6), @@ -147,7 +156,7 @@ AccessoryTypes = {101: (AHat, 'hat1', APriceCool, 2), - 135: (AHat, + 135: (AGirlsHat, 'hhd1', APriceCool, 2), @@ -179,11 +188,11 @@ AccessoryTypes = {101: (AHat, 'hft2', APriceCool, 6), - 143: (AHat, + 143: (ABoysHat, 'hhd2', APriceCool, 3), - 144: (AHat, + 144: (AGirlsHat, 'hpc1', APriceCool, 5), @@ -199,7 +208,7 @@ AccessoryTypes = {101: (AHat, 'hat2', APriceCool, 2), - 148: (AHat, + 148: (AGirlsHat, 'htr1', 10000, 3), @@ -271,7 +280,7 @@ AccessoryTypes = {101: (AHat, 'hby1', APriceAwesome, 5), - 166: (AHat, + 166: (AGirlsHat, 'hrb8', APriceBasicPlus, 6), @@ -283,7 +292,7 @@ AccessoryTypes = {101: (AHat, 'hbb7', APriceBasic, 6), - 169: (AHat, + 169: (AGirlsHat, 'hrb9', APriceBasicPlus, 6), @@ -291,7 +300,7 @@ AccessoryTypes = {101: (AHat, 'hwt2', APriceAwesome, 4), - 171: (AHat, + 171: (AGirlsHat, 'hhw1', APriceBasicPlus, 7), @@ -403,11 +412,11 @@ AccessoryTypes = {101: (AHat, 'gsr1', APriceBasicPlus, 5), - 223: (AGlasses, + 223: (ABoysGlasses, 'ghw1', - APriceBasic, + APriceTest, 0), - 224: (AGlasses, + 224: (ABoysGlasses, 'ghw2', APriceBasic, 7), @@ -551,11 +560,11 @@ AccessoryTypes = {101: (AHat, 'scs1', APriceBasicPlus, 6), - 405: (AShoes, + 405: (ABoysShoes, 'swt1', APriceBasicPlus, 1), - 406: (AShoes, + 406: (AGirlsShoes, 'smj1', APriceBasicPlus, 1), @@ -591,11 +600,11 @@ AccessoryTypes = {101: (AHat, 'sht1', APriceAwesome, 4), - 415: (AShoes, + 415: (AGirlsShoes, 'smj2', APriceBasicPlus, 3), - 416: (AShoes, + 416: (AGirlsShoes, 'smj3', APriceBasicPlus, 4), @@ -651,7 +660,7 @@ AccessoryTypes = {101: (AHat, 'slf1', APriceBasicPlus, 3), - 430: (AShoes, + 430: (AGirlsShoes, 'smj4', APriceBasicPlus, 2), diff --git a/toontown/catalog/CatalogClothingItem.py b/toontown/catalog/CatalogClothingItem.py index 5124da5a..2a1ef3b7 100644 --- a/toontown/catalog/CatalogClothingItem.py +++ b/toontown/catalog/CatalogClothingItem.py @@ -10,68 +10,72 @@ CTArticle = 0 CTString = 1 CTBasePrice = 2 CTEmblemPrices = 3 -AShirt = 0 -AShorts = 1 -AGirlsSkirt = 2 -ClothingTypes = {101: (AShirt, 'bss1', 40), - 102: (AShirt, 'bss2', 40), - 103: (AShirt, 'bss3', 40), - 105: (AShirt, 'bss4', 40), - 104: (AShirt, 'bss5', 40), - 106: (AShirt, 'bss6', 40), - 107: (AShirt, 'bss7', 40), - 108: (AShirt, 'bss8', 40), - 109: (AShirt, 'bss9', 40), - 111: (AShirt, 'bss11', 40), - 115: (AShirt, 'bss15', 40), - 116: (AShirt, 'c_ss1', 80), - 117: (AShirt, 'c_ss2', 80), - 118: (AShirt, 'c_bss1', 80), - 119: (AShirt, 'c_bss2', 80), - 120: (AShirt, 'c_ss3', 80), - 121: (AShirt, 'c_bss3', 80), - 122: (AShirt, 'c_bss4', 80), - 123: (AShirt, 'c_ss4', 120), - 124: (AShirt, 'c_ss5', 120), +ABoysShirt = 0 +AGirlsShirt = 1 +AShirt = 2 +ABoysShorts = 3 +AGirlsShorts = 4 +AGirlsSkirt = 5 +AShorts = 6 +ClothingTypes = {101: (ABoysShirt, 'bss1', 40), + 102: (ABoysShirt, 'bss2', 40), + 103: (ABoysShirt, 'bss3', 40), + 105: (ABoysShirt, 'bss4', 40), + 104: (ABoysShirt, 'bss5', 40), + 106: (ABoysShirt, 'bss6', 40), + 107: (ABoysShirt, 'bss7', 40), + 108: (ABoysShirt, 'bss8', 40), + 109: (ABoysShirt, 'bss9', 40), + 111: (ABoysShirt, 'bss11', 40), + 115: (ABoysShirt, 'bss15', 40), + 116: (ABoysShirt, 'c_ss1', 80), + 117: (ABoysShirt, 'c_ss2', 80), + 118: (ABoysShirt, 'c_bss1', 80), + 119: (ABoysShirt, 'c_bss2', 80), + 120: (ABoysShirt, 'c_ss3', 80), + 121: (ABoysShirt, 'c_bss3', 80), + 122: (ABoysShirt, 'c_bss4', 80), + 123: (ABoysShirt, 'c_ss4', 120), + 124: (ABoysShirt, 'c_ss5', 120), 125: (AShirt, 'c_ss6', 120), 126: (AShirt, 'c_ss7', 120), 127: (AShirt, 'c_ss8', 120), 128: (AShirt, 'c_ss9', 120), 129: (AShirt, 'c_ss10', 120), 130: (AShirt, 'c_ss11', 120), - 131: (AShirt, 'c_ss12', 160), - 201: (AShirt, 'gss1', 40), - 202: (AShirt, 'gss2', 40), - 203: (AShirt, 'gss3', 40), - 205: (AShirt, 'gss4', 40), - 204: (AShirt, 'gss5', 40), - 206: (AShirt, 'gss6', 40), - 207: (AShirt, 'gss7', 40), - 208: (AShirt, 'gss8', 40), - 209: (AShirt, 'gss9', 40), - 211: (AShirt, 'gss11', 40), - 215: (AShirt, 'gss15', 40), - 216: (AShirt, 'c_ss1', 80), - 217: (AShirt, 'c_ss2', 80), - 218: (AShirt, 'c_gss1', 80), - 219: (AShirt, 'c_gss2', 80), - 220: (AShirt, 'c_ss3', 80), - 221: (AShirt, 'c_gss3', 80), - 222: (AShirt, 'c_gss4', 80), - 223: (AShirt, 'c_gss5', 80), - 224: (AShirt, 'c_ss4', 120), - 225: (AShirt, 'c_ss13', 160), - 301: (AShorts, 'bbs1', 50), - 302: (AShorts, 'bbs2', 50), - 303: (AShorts, 'bbs3', 50), - 304: (AShorts, 'bbs4', 50), - 305: (AShorts, 'bbs5', 50), - 308: (AShorts, 'bbs8', 50), - 310: (AShorts, 'c_bs1', 120), - 311: (AShorts, 'c_bs2', 120), - 312: (AShorts, 'c_bs3', 120), - 313: (AShorts, 'c_bs4', 120), - 314: (AShorts, 'c_bs5', 160), + 131: (ABoysShirt, 'c_ss12', 160), + 201: (AGirlsShirt, 'gss1', 40), + 202: (AGirlsShirt, 'gss2', 40), + 203: (AGirlsShirt, 'gss3', 40), + 205: (AGirlsShirt, 'gss4', 40), + 204: (AGirlsShirt, 'gss5', 40), + 206: (AGirlsShirt, 'gss6', 40), + 207: (AGirlsShirt, 'gss7', 40), + 208: (AGirlsShirt, 'gss8', 40), + 209: (AGirlsShirt, 'gss9', 40), + 211: (AGirlsShirt, 'gss11', 40), + 215: (AGirlsShirt, 'gss15', 40), + 216: (AGirlsShirt, 'c_ss1', 80), + 217: (AGirlsShirt, 'c_ss2', 80), + 218: (AGirlsShirt, 'c_gss1', 80), + 219: (AGirlsShirt, 'c_gss2', 80), + 220: (AGirlsShirt, 'c_ss3', 80), + 221: (AGirlsShirt, 'c_gss3', 80), + 222: (AGirlsShirt, 'c_gss4', 80), + 223: (AGirlsShirt, 'c_gss5', 80), + 224: (AGirlsShirt, 'c_ss4', 120), + 225: (AGirlsShirt, 'c_ss13', 160), + 301: (ABoysShorts, 'bbs1', 50), + 302: (ABoysShorts, 'bbs2', 50), + 303: (ABoysShorts, 'bbs3', 50), + 304: (ABoysShorts, 'bbs4', 50), + 305: (ABoysShorts, 'bbs5', 50), + 308: (ABoysShorts, 'bbs8', 50), + 310: (ABoysShorts, 'c_bs1', 120), + 311: (ABoysShorts, 'c_bs2', 120), + 312: (ABoysShorts, 'c_bs3', 120), + 313: (ABoysShorts, 'c_bs4', 120), + 314: (ABoysShorts, 'c_bs5', 160), 401: (AGirlsSkirt, 'gsk1', 50), 403: (AGirlsSkirt, 'gsk3', 50), 404: (AGirlsSkirt, 'gsk4', 50), @@ -84,19 +88,19 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 412: (AGirlsSkirt, 'c_gsk5', 120), 413: (AGirlsSkirt, 'c_gsk6', 120), 414: (AGirlsSkirt, 'c_gsk7', 160), - 451: (AShorts, 'gsh1', 50), - 452: (AShorts, 'gsh2', 50), - 453: (AShorts, 'gsh3', 50), + 451: (AGirlsShorts, 'gsh1', 50), + 452: (AGirlsShorts, 'gsh2', 50), + 453: (AGirlsShorts, 'gsh3', 50), 1001: (AShirt, 'hw_ss1', 200), 1002: (AShirt, 'hw_ss2', 200), 1100: (AShirt, 'wh_ss1', 200), 1101: (AShirt, 'wh_ss2', 200), 1102: (AShirt, 'wh_ss3', 200), 1103: (AShirt, 'wh_ss4', 200), - 1104: (AShorts, 'wh_bs1', 200), - 1105: (AShorts, 'wh_bs2', 200), - 1106: (AShorts, 'wh_bs3', 200), - 1107: (AShorts, 'wh_bs4', 200), + 1104: (ABoysShorts, 'wh_bs1', 200), + 1105: (ABoysShorts, 'wh_bs2', 200), + 1106: (ABoysShorts, 'wh_bs3', 200), + 1107: (ABoysShorts, 'wh_bs4', 200), 1108: (AGirlsSkirt, 'wh_gsk1', 200), 1109: (AGirlsSkirt, 'wh_gsk2', 200), 1110: (AGirlsSkirt, 'wh_gsk3', 200), @@ -106,36 +110,36 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 1114: (AShirt, 'hw_ss7', 200), 1115: (AShirt, 'hw_ss8', 200), 1116: (AShirt, 'hw_ss9', 300), - 1117: (AShorts, 'hw_bs1', 200), - 1118: (AShorts, 'hw_bs2', 300), - 1119: (AShorts, 'hw_bs5', 200), - 1120: (AShorts, 'hw_bs6', 200), - 1121: (AShorts, 'hw_bs7', 300), - 1122: (AShorts, 'hw_gs1', 200), - 1123: (AShorts, 'hw_gs2', 300), - 1124: (AShorts, 'hw_gs5', 200), - 1125: (AShorts, 'hw_gs6', 200), - 1126: (AShorts, 'hw_gs7', 300), + 1117: (ABoysShorts, 'hw_bs1', 200), + 1118: (ABoysShorts, 'hw_bs2', 300), + 1119: (ABoysShorts, 'hw_bs5', 200), + 1120: (ABoysShorts, 'hw_bs6', 200), + 1121: (ABoysShorts, 'hw_bs7', 300), + 1122: (AGirlsShorts, 'hw_gs1', 200), + 1123: (AGirlsShorts, 'hw_gs2', 300), + 1124: (AGirlsShorts, 'hw_gs5', 200), + 1125: (AGirlsShorts, 'hw_gs6', 200), + 1126: (AGirlsShorts, 'hw_gs7', 300), 1127: (AGirlsSkirt, 'hw_gsk1', 300), - 1200: (AShirt, 'vd_ss1', 200), + 1200: (AGirlsShirt, 'vd_ss1', 200), 1201: (AShirt, 'vd_ss2', 200), - 1202: (AShirt, 'vd_ss3', 200), - 1203: (AShirt, 'vd_ss4', 200), + 1202: (ABoysShirt, 'vd_ss3', 200), + 1203: (AGirlsShirt, 'vd_ss4', 200), 1204: (AGirlsSkirt, 'vd_gs1', 200), - 1205: (AShorts, 'vd_bs1', 200), + 1205: (ABoysShorts, 'vd_bs1', 200), 1206: (AShirt, 'vd_ss5', 200), 1207: (AShirt, 'vd_ss6', 200), - 1208: (AShorts, 'vd_bs2', 200), - 1209: (AShorts, 'vd_bs3', 200), + 1208: (ABoysShorts, 'vd_bs2', 200), + 1209: (ABoysShorts, 'vd_bs3', 200), 1210: (AGirlsSkirt, 'vd_gs2', 200), 1211: (AGirlsSkirt, 'vd_gs3', 200), 1212: (AShirt, 'vd_ss7', 200), 1300: (AShirt, 'sd_ss1', 200), 1301: (AShirt, 'sd_ss2', 225), - 1302: (AShorts, 'sd_gs1', 200), - 1303: (AShorts, 'sd_bs1', 200), + 1302: (AGirlsShorts, 'sd_gs1', 200), + 1303: (ABoysShorts, 'sd_bs1', 200), 1304: (AShirt, 'sd_ss3', 25), - 1305: (AShorts, 'sd_bs2', 25), + 1305: (ABoysShorts, 'sd_bs2', 25), 1306: (AGirlsSkirt, 'sd_gs2', 25), 1400: (AShirt, 'tc_ss1', 200), 1401: (AShirt, 'tc_ss2', 200), @@ -146,17 +150,17 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 1406: (AShirt, 'tc_ss7', 200), 1500: (AShirt, 'j4_ss1', 200), 1501: (AShirt, 'j4_ss2', 200), - 1502: (AShorts, 'j4_bs1', 200), + 1502: (ABoysShorts, 'j4_bs1', 200), 1503: (AGirlsSkirt, 'j4_gs1', 200), 1600: (AShirt, 'pj_ss1', 500), 1601: (AShirt, 'pj_ss2', 500), 1602: (AShirt, 'pj_ss3', 500), - 1603: (AShorts, 'pj_bs1', 500), - 1604: (AShorts, 'pj_bs2', 500), - 1605: (AShorts, 'pj_bs3', 500), - 1606: (AShorts, 'pj_gs1', 500), - 1607: (AShorts, 'pj_gs2', 500), - 1608: (AShorts, 'pj_gs3', 500), + 1603: (ABoysShorts, 'pj_bs1', 500), + 1604: (ABoysShorts, 'pj_bs2', 500), + 1605: (ABoysShorts, 'pj_bs3', 500), + 1606: (AGirlsShorts, 'pj_gs1', 500), + 1607: (AGirlsShorts, 'pj_gs2', 500), + 1608: (AGirlsShorts, 'pj_gs3', 500), 1700: (AShirt, 'sa_ss1', 200), 1701: (AShirt, 'sa_ss2', 200), 1702: (AShirt, 'sa_ss3', 200), @@ -168,11 +172,11 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 1708: (AShirt, 'sa_ss9', 200), 1709: (AShirt, 'sa_ss10', 200), 1710: (AShirt, 'sa_ss11', 200), - 1711: (AShorts, 'sa_bs1', 200), - 1712: (AShorts, 'sa_bs2', 200), - 1713: (AShorts, 'sa_bs3', 200), - 1714: (AShorts, 'sa_bs4', 200), - 1715: (AShorts, 'sa_bs5', 200), + 1711: (ABoysShorts, 'sa_bs1', 200), + 1712: (ABoysShorts, 'sa_bs2', 200), + 1713: (ABoysShorts, 'sa_bs3', 200), + 1714: (ABoysShorts, 'sa_bs4', 200), + 1715: (ABoysShorts, 'sa_bs5', 200), 1716: (AGirlsSkirt, 'sa_gs1', 200), 1717: (AGirlsSkirt, 'sa_gs2', 200), 1718: (AGirlsSkirt, 'sa_gs3', 200), @@ -190,11 +194,11 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 1730: (AShirt, 'sa_ss21', 200), 1731: (AShirt, 'sa_ss22', 200), 1732: (AShirt, 'sa_ss23', 200), - 1733: (AShorts, 'sa_bs6', 200), - 1734: (AShorts, 'sa_bs7', 250), - 1735: (AShorts, 'sa_bs8', 250), - 1736: (AShorts, 'sa_bs9', 200), - 1737: (AShorts, 'sa_bs10', 200), + 1733: (ABoysShorts, 'sa_bs6', 200), + 1734: (ABoysShorts, 'sa_bs7', 250), + 1735: (ABoysShorts, 'sa_bs8', 250), + 1736: (ABoysShorts, 'sa_bs9', 200), + 1737: (ABoysShorts, 'sa_bs10', 200), 1738: (AGirlsSkirt, 'sa_gs6', 200), 1739: (AGirlsSkirt, 'sa_gs7', 250), 1740: (AGirlsSkirt, 'sa_gs8', 250), @@ -202,8 +206,8 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 1742: (AGirlsSkirt, 'sa_gs10', 200), 1743: (AShirt, 'sa_ss24', 250), 1744: (AShirt, 'sa_ss25', 250), - 1745: (AShorts, 'sa_bs11', 250), - 1746: (AShorts, 'sa_bs12', 250), + 1745: (ABoysShorts, 'sa_bs11', 250), + 1746: (ABoysShorts, 'sa_bs12', 250), 1747: (AGirlsSkirt, 'sa_gs11', 250), 1748: (AGirlsSkirt, 'sa_gs12', 250), 1749: (AShirt, 'sil_1', 1), @@ -212,8 +216,8 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 1752: (AShirt, 'sil_4', 5000), 1753: (AShirt, 'sil_5', 5000), 1754: (AShirt, 'sil_6', 1), - 1755: (AShorts, 'sil_bs1', 1), - 1756: (AShorts, 'sil_gs1', 1), + 1755: (ABoysShorts, 'sil_bs1', 1), + 1756: (AGirlsShorts, 'sil_gs1', 1), 1757: (AShirt, 'sil_7', 20), 1758: (AShirt, 'sil_8', 20), 1759: (AShirt, @@ -232,24 +236,24 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 1763: (AShirt, 'sb_1', 20), 1764: (AShirt, 'sa_ss27', 5000), 1765: (AShirt, 'sa_ss28', 5000), - 1766: (AShorts, 'sa_bs13', 5000), - 1767: (AShorts, 'sa_gs13', 5000), + 1766: (ABoysShorts, 'sa_bs13', 5000), + 1767: (AGirlsShorts, 'sa_gs13', 5000), 1768: (AShirt, 'jb_1', 20), 1769: (AShirt, 'jb_2', 20), 1770: (AShirt, 'hw_ss3', 250), 1771: (AShirt, 'hw_ss4', 250), - 1772: (AShorts, 'hw_bs3', 250), - 1773: (AShorts, 'hw_gs3', 250), - 1774: (AShorts, 'hw_bs4', 250), - 1775: (AShorts, 'hw_gs4', 250), + 1772: (ABoysShorts, 'hw_bs3', 250), + 1773: (AGirlsShorts, 'hw_gs3', 250), + 1774: (ABoysShorts, 'hw_bs4', 250), + 1775: (AGirlsShorts, 'hw_gs4', 250), 1776: (AShirt, 'ugcms', 15000), 1777: (AShirt, 'lb_1', 20), 1778: (AShirt, 'sa_ss29', 5000), 1779: (AShirt, 'sa_ss30', 5000), - 1780: (AShorts, 'sa_bs14', 5000), - 1781: (AShorts, 'sa_gs14', 5000), + 1780: (ABoysShorts, 'sa_bs14', 5000), + 1781: (AGirlsShorts, 'sa_gs14', 5000), 1782: (AShirt, 'sa_ss31', 5000), - 1783: (AShorts, 'sa_bs15', 5000), + 1783: (ABoysShorts, 'sa_bs15', 5000), 1784: (AGirlsSkirt, 'sa_gs15', 5000), 1785: (AShirt, 'sa_ss32', 5000), 1786: (AShirt, 'sa_ss33', 5000), @@ -257,18 +261,18 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 1788: (AShirt, 'sa_ss35', 5000), 1789: (AShirt, 'sa_ss36', 5000), 1790: (AShirt, 'sa_ss37', 5000), - 1791: (AShorts, 'sa_bs16', 5000), - 1792: (AShorts, 'sa_bs17', 5000), + 1791: (ABoysShorts, 'sa_bs16', 5000), + 1792: (ABoysShorts, 'sa_bs17', 5000), 1793: (AGirlsSkirt, 'sa_gs16', 5000), 1794: (AGirlsSkirt, 'sa_gs17', 5000), 1795: (AShirt, 'sa_ss38', 5000), 1796: (AShirt, 'sa_ss39', 5000), - 1797: (AShorts, 'sa_bs18', 5000), + 1797: (ABoysShorts, 'sa_bs18', 5000), 1798: (AGirlsSkirt, 'sa_gs18', 5000), 1799: (AShirt, 'sa_ss40', 5000), 1800: (AShirt, 'sa_ss41', 5000), 1801: (AShirt, 'sa_ss42', 250), - 1802: (AShirt, 'sa_ss43', 250), + 1802: (AGirlsShirt, 'sa_ss43', 250), 1803: (AShirt, 'sa_ss44', 5000), 1804: (AShirt, 'sa_ss45', 5000), 1805: (AShirt, 'sa_ss46', 5000), @@ -280,9 +284,9 @@ ClothingTypes = {101: (AShirt, 'bss1', 40), 1811: (AShirt, 'sa_ss52', 5000), 1812: (AShirt, 'sa_ss53', 5000), 1813: (AShirt, 'sa_ss54', 5000), - 1814: (AShorts, 'sa_bs19', 5000), - 1815: (AShorts, 'sa_bs20', 5000), - 1816: (AShorts, 'sa_bs21', 5000), + 1814: (ABoysShorts, 'sa_bs19', 5000), + 1815: (ABoysShorts, 'sa_bs20', 5000), + 1816: (ABoysShorts, 'sa_bs21', 5000), 1817: (AGirlsSkirt, 'sa_gs19', 5000), 1818: (AGirlsSkirt, 'sa_gs20', 5000), 1819: (AGirlsSkirt, 'sa_gs21', 5000), @@ -301,11 +305,28 @@ class CatalogClothingItem(CatalogItem.CatalogItem): return 1 def notOfferedTo(self, avatar): - return avatar.getStyle().getGender() == 'm' and self.forGirlsOnly() + article = ClothingTypes[self.clothingType][CTArticle] + if article == AShirt or article == AShorts: + return 0 + forBoys = (article == ABoysShirt or article == ABoysShorts) + if avatar.getStyle().getGender() == 'm': + return not forBoys + else: + return forBoys + + def forBoysOnly(self): + article = ClothingTypes[self.clothingType][CTArticle] + if article == ABoysShirt or article == ABoysShorts: + return 1 + else: + return 0 def forGirlsOnly(self): article = ClothingTypes[self.clothingType][CTArticle] - return article == AGirlsSkirt + if article == AGirlsShirt or article == AGirlsSkirt or article == AGirlsShorts: + return 1 + else: + return 0 def getPurchaseLimit(self): return 1 @@ -478,7 +499,7 @@ class CatalogClothingItem(CatalogItem.CatalogItem): def isShirt(self): article = ClothingTypes[self.clothingType][CTArticle] - return article == AShirt + return article < ABoysShorts def isSkirt(self): article = ClothingTypes[self.clothingType][CTArticle] @@ -497,7 +518,7 @@ class CatalogClothingItem(CatalogItem.CatalogItem): defn = ToonDNA.BottomStyles[str] botTex = defn[0] article = ClothingTypes[self.clothingType][CTArticle] - if article == AShorts: + if article == ABoysShorts: return ToonDNA.BoyShorts[botTex] else: return ToonDNA.GirlBottoms[botTex][0] diff --git a/toontown/catalog/CatalogFurnitureItem.py b/toontown/catalog/CatalogFurnitureItem.py index c44bab07..50e4c7d8 100644 --- a/toontown/catalog/CatalogFurnitureItem.py +++ b/toontown/catalog/CatalogFurnitureItem.py @@ -18,6 +18,8 @@ FLIsTable = 32 FLPhone = 64 FLBillboard = 128 FLTrunk = 256 +FLBoysOnly = 512 +FLGirlsOnly = 1024 furnitureColors = [ (0.792, 0.353, 0.29, 1.0), (0.176, 0.592, 0.439, 1.0), @@ -161,7 +163,8 @@ FurnitureTypes = { 210: ('phase_5.5/models/estate/girly_bed', None, None, - 450), + 450, + FLGirlsOnly), 220: ('phase_5.5/models/estate/bathtub_bed', None, None, @@ -205,7 +208,8 @@ FurnitureTypes = { 410: ('phase_5.5/models/estate/FireplaceGirlee', None, None, - 800), + 800, + FLGirlsOnly), 420: ('phase_5.5/models/estate/FireplaceRound', None, None, @@ -247,7 +251,7 @@ FurnitureTypes = { None, None, 1100, - None, + FLGirlsOnly, None, 0.5), 491: ('phase_5.5/models/estate/tt_m_prp_int_fireplace_bugRoom', @@ -913,8 +917,24 @@ class CatalogFurnitureItem(CatalogAtticItem.CatalogAtticItem): return not forBoys else: return forBoys + if self.forBoysOnly(): + if avatar.getStyle().getGender() == 'm': + return 0 + else: + return 1 + elif self.forGirlsOnly(): + if avatar.getStyle().getGender() == 'f': + return 0 + else: + return 1 return 0 + def forBoysOnly(self): + return self.getFlags() & FLBoysOnly > 0 + + def forGirlsOnly(self): + return self.getFlags() & FLGirlsOnly > 0 + def isDeletable(self): return self.getFlags() & (FLBank | FLCloset | FLPhone | FLTrunk) == 0 diff --git a/toontown/hood/SleepingHydrantAnimatedProp.py b/toontown/hood/SleepingHydrantAnimatedProp.py new file mode 100644 index 00000000..0b6845b6 --- /dev/null +++ b/toontown/hood/SleepingHydrantAnimatedProp.py @@ -0,0 +1,26 @@ +import AnimatedProp +from direct.interval.IntervalGlobal import * +from direct.task import Task +import math + +class SleepingHydrantAnimatedProp(AnimatedProp.AnimatedProp): + + def __init__(self, node): + AnimatedProp.AnimatedProp.__init__(self, node) + self.task = None + return + + def bobTask(self, task): + self.node.setSz(1.0 + 0.08 * math.sin(task.time)) + return Task.cont + + def enter(self): + AnimatedProp.AnimatedProp.enter(self) + self.task = taskMgr.add(self.bobTask, self.uniqueName('bobTask')) + + def exit(self): + AnimatedProp.AnimatedProp.exit(self) + if self.task: + taskMgr.remove(self.task) + self.task = None + return From 449237e764cb5243da7e48828ef077bb12c12c84 Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 00:52:45 -0400 Subject: [PATCH 46/78] fix this shit --- otp/distributed/DCClassImports.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index ceb8bf75..6ed9e7b9 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,11 +2,7 @@ from pandac.PandaModules import * -<<<<<<< HEAD -hashVal = 4040859151L -======= -hashVal = 2005027427 ->>>>>>> parent of 0f4521a... Initial work on gifting (still broken right now), and sry zach +hashVal = 2028736653 from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot From aba93686320d0a1c2e29244d5905bb8cd972bb03 Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 00:56:44 -0400 Subject: [PATCH 47/78] Revert "Some shticker book cleanup, add Speedchat Plus and True Friends to shticker book, but we really need a OptionsPage rewrite." This reverts commit 0d5b0cbee92e8ded791908cfd0ca26f791e60947. --- toontown/shtiker/DisplaySettingsDialog.py | 49 ++++++-- toontown/shtiker/OptionsPage.py | 133 ++++++++++------------ toontown/toonbase/ClientStart.py | 6 +- toontown/toonbase/TTLocalizerEnglish.py | 14 +-- toontown/town/TownBattle.py | 4 +- 5 files changed, 114 insertions(+), 92 deletions(-) diff --git a/toontown/shtiker/DisplaySettingsDialog.py b/toontown/shtiker/DisplaySettingsDialog.py index 10aa6c5d..cf0eb5b0 100644 --- a/toontown/shtiker/DisplaySettingsDialog.py +++ b/toontown/shtiker/DisplaySettingsDialog.py @@ -43,6 +43,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.isLoaded = 1 self.anyChanged = 0 + self.apiChanged = 0 if len(base.resDict[base.nativeRatio]) > 1: # We have resolutions that match our native ratio and fit it: @@ -86,6 +87,8 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.introText = DirectLabel(parent=self, relief=None, scale=TTLocalizer.DSDintroText, text=TTLocalizer.DisplaySettingsIntro, text_wordwrap=TTLocalizer.DSDintroTextWordwrap, text_align=TextNode.ALeft, pos=(-0.725, 0, 0.3)) self.introTextSimple = DirectLabel(parent=self, relief=None, scale=0.06, text=TTLocalizer.DisplaySettingsIntroSimple, text_wordwrap=25, text_align=TextNode.ALeft, pos=(-0.725, 0, 0.3)) + self.apiLabel = DirectLabel(parent=self, relief=None, scale=0.06, text=TTLocalizer.DisplaySettingsApi, text_align=TextNode.ARight, pos=(-0.08, 0, 0)) + self.apiMenu = DirectOptionMenu(parent=self, relief=DGG.RAISED, scale=0.06, items=['x'], pos=(0, 0, 0)) self.screenSizeLabel = DirectLabel(parent=self, relief=None, scale=0.06, text=TTLocalizer.DisplaySettingsResolution, text_align=TextNode.ARight, pos=(-0.08, 0, -0.1)) self.screenSizeLeftArrow = DirectButton(parent=self, relief=None, image=(gui.find('**/Horiz_Arrow_UP'), gui.find('**/Horiz_Arrow_DN'), gui.find('**/Horiz_Arrow_Rllvr'), gui.find('**/Horiz_Arrow_UP')), scale=(-1.0, 1.0, 1.0), pos=(0.04, 0, -0.085), command=self.__doScreenSizeLeft) self.screenSizeRightArrow = DirectButton(parent=self, relief=None, image=(gui.find('**/Horiz_Arrow_UP'), gui.find('**/Horiz_Arrow_DN'), gui.find('**/Horiz_Arrow_Rllvr'), gui.find('**/Horiz_Arrow_UP')), pos=(0.54, 0, -0.085), command=self.__doScreenSizeRight) @@ -102,7 +105,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.hide() - def enter(self, changeDisplaySettings): + def enter(self, changeDisplaySettings, changeDisplayAPI): if self.isEntered == 1: return @@ -127,12 +130,19 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): else: self.displayMode = self.WindowedMode + self.updateApiMenu(changeDisplaySettings, changeDisplayAPI) self.updateWindowed() self.updateScreenSize() if changeDisplaySettings: self.introText.show() self.introTextSimple.hide() + if changeDisplayAPI and len(self.apis) > 1: + self.apiLabel.show() + self.apiMenu.show() + else: + self.apiLabel.hide() + self.apiMenu.hide() self.c1b.show() self.windowedButton.show() self.c2b.show() @@ -141,6 +151,8 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): else: self.introText.hide() self.introTextSimple.show() + self.apiLabel.hide() + self.apiMenu.hide() self.windowedButton.hide() self.fullscreenButton.hide() self.c1b.hide() @@ -148,6 +160,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.c3b.hide() self.anyChanged = 0 + self.apiChanged = 0 self.show() @@ -164,7 +177,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.ignoreAll() self.hide() - messenger.send(self.doneEvent, [self.anyChanged]) + messenger.send(self.doneEvent, [self.anyChanged, self.apiChanged]) def cleanupDialogs(self): if self.applyDialog is not None: @@ -180,6 +193,19 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.revertDialog.cleanup() self.revertDialog = None + def updateApiMenu(self, changeDisplaySettings, changeDisplayAPI): + self.apis = [] + self.apiPipes = [] + if changeDisplayAPI: + base.makeAllPipes() + for pipe in base.pipeList: + if pipe.isValid(): + self.apiPipes.append(pipe) + self.apis.append(pipe.getInterfaceName()) + + self.apiMenu['items'] = self.apis + self.apiMenu.set(base.pipe.getInterfaceName()) + def updateWindowed(self): if self.displayMode == self.FullscreenMode: self.windowedButton['indicatorValue'] = 0 @@ -249,13 +275,15 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): base.transitions.fadeScreen(0.5) if command != DGG.DIALOG_OK: return + self.origPipe = base.pipe self.origProperties = base.win.getProperties() + pipe = self.apiPipes[self.apiMenu.selectedIndex] properties = WindowProperties() xSize, ySize = self.screenSizes[self.screenSizeIndex] properties.setSize(xSize, ySize) properties.setFullscreen(self.displayMode == self.FullscreenMode) fullscreen = self.displayMode == self.FullscreenMode - if not self.changeDisplayProperties(xSize, ySize, fullscreen): + if not self.changeDisplayProperties(pipe, xSize, ySize, fullscreen): self.__revertBack(1) return self.clearBin() @@ -265,11 +293,12 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.timeoutStart = None taskMgr.add(self.__timeoutCountdown, self.TimeoutCountdownTask) - def changeDisplayProperties(self, width, height, fullscreen = False): + def changeDisplayProperties(self, pipe, width, height, fullscreen = False): result = False + self.current_pipe = base.pipe self.current_properties = WindowProperties(base.win.getProperties()) properties = self.current_properties - if self.current_properties.getFullscreen() == fullscreen and self.current_properties.getXSize() == width and self.current_properties.getYSize() == height: + if self.current_pipe == pipe and self.current_properties.getFullscreen() == fullscreen and self.current_properties.getXSize() == width and self.current_properties.getYSize() == height: self.notify.info('DISPLAY NO CHANGE REQUIRED') state = True else: @@ -293,7 +322,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): properties.setFullscreen(fullscreen) properties.setParentWindow(0) original_sort = base.win.getSort() - if self.resetDisplayProperties(properties): + if self.resetDisplayProperties(pipe, properties): properties = base.win.getProperties() if properties.getFullscreen() == fullscreen and properties.getXSize() == width and properties.getYSize() == height: self.notify.info('DISPLAY CHANGE VERIFIED') @@ -333,7 +362,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): self.__revertBack(0) def __revertBack(self, reason): - if not self.resetDisplayProperties(self.origProperties): + if not self.resetDisplayProperties(self.origPipe, self.origProperties): self.notify.warning("Couldn't restore original display settings!") base.panda3dRenderError() self.clearBin() @@ -353,7 +382,7 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): def __cancel(self): self.exit() - def resetDisplayProperties(self, properties): + def resetDisplayProperties(self, pipe, properties): if base.win: currentProperties = base.win.getProperties() gsg = base.win.getGsg() @@ -362,9 +391,13 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData): gsg = None newProperties = WindowProperties(currentProperties) newProperties.addProperties(properties) + if base.pipe != pipe: + self.apiChanged = 1 + gsg = None if gsg == None or currentProperties.getFullscreen() != newProperties.getFullscreen() or currentProperties.getParentWindow() != newProperties.getParentWindow(): self.notify.debug('window properties: %s' % properties) self.notify.debug('gsg: %s' % gsg) + base.pipe = pipe if not base.openMainWindow(props=properties, gsg=gsg, keepCamera=True): self.notify.warning('OPEN MAIN WINDOW FAILED') return 0 diff --git a/toontown/shtiker/OptionsPage.py b/toontown/shtiker/OptionsPage.py index 78430dad..6ab80ebd 100644 --- a/toontown/shtiker/OptionsPage.py +++ b/toontown/shtiker/OptionsPage.py @@ -259,6 +259,7 @@ class OptionsTabPage(DirectFrame): DisplaySettingsTaskName = 'save-display-settings' DisplaySettingsDelay = 60 ChangeDisplaySettings = base.config.GetBool('change-display-settings', 1) + ChangeDisplayAPI = base.config.GetBool('change-display-api', 0) def __init__(self, parent = aspect2d): self.parent = parent @@ -278,6 +279,8 @@ class OptionsTabPage(DirectFrame): self.displaySettingsChanged = 0 self.displaySettingsSize = (None, None) self.displaySettingsFullscreen = None + self.displaySettingsApi = None + self.displaySettingsApiChanged = 0 guiButton = loader.loadModel('phase_3/models/gui/quit_button') gui = loader.loadModel('phase_3.5/models/gui/friendslist_gui') titleHeight = 0.61 @@ -290,8 +293,6 @@ class OptionsTabPage(DirectFrame): button_textpos = (0, -0.02) options_text_scale = 0.052 disabled_arrow_color = Vec4(0.6, 0.6, 0.6, 1.0) - button_image = (guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')) - arrow_image = (gui.find('**/Horiz_Arrow_UP'), gui.find('**/Horiz_Arrow_DN'), gui.find('**/Horiz_Arrow_Rllvr'), gui.find('**/Horiz_Arrow_UP')) self.speed_chat_scale = 0.055 self.Music_Label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, pos=(leftMargin, 0, textStartHeight)) self.SoundFX_Label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight - textRowHeight)) @@ -301,20 +302,29 @@ class OptionsTabPage(DirectFrame): self.SpeedChatStyle_Label = DirectLabel(parent=self, relief=None, text=TTLocalizer.OptionsPageSpeedChatStyleLabel, text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=10, pos=(leftMargin, 0, textStartHeight - 6 * textRowHeight)) self.ToonChatSounds_Label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=15, pos=(leftMargin, 0, textStartHeight - 2 * textRowHeight + 0.025)) self.ToonChatSounds_Label.setScale(0.9) - self.Music_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord), command=self.__doToggleMusic) - self.SoundFX_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight), command=self.__doToggleSfx) - self.Friends_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 3), command=self.__doToggleAcceptFriends) - self.Whispers_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 4), command=self.__doToggleAcceptWhispers) - self.DisplaySettingsButton = DirectButton(parent=self, relief=None, image=button_image, image3_color=Vec4(0.5, 0.5, 0.5, 0.5), image_scale=button_image_scale, text=TTLocalizer.OptionsPageChange, text3_fg=(0.5, 0.5, 0.5, 0.75), text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 5), command=self.__doDisplaySettings) - self.speedChatStyleLeftArrow = DirectButton(parent=self, relief=None, image=arrow_image, image3_color=Vec4(1, 1, 1, 0.5), scale=(-1.0, 1.0, 1.0), pos=(0.25, 0, buttonbase_ycoord - textRowHeight * 6), command=self.__doSpeedChatStyleLeft) - self.speedChatStyleRightArrow = DirectButton(parent=self, relief=None, image=arrow_image, image3_color=Vec4(1, 1, 1, 0.5), pos=(0.65, 0, buttonbase_ycoord - textRowHeight * 6), command=self.__doSpeedChatStyleRight) - self.ToonChatSounds_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image3_color=Vec4(0.5, 0.5, 0.5, 0.5), image_scale=button_image_scale, text='', text3_fg=(0.5, 0.5, 0.5, 0.75), text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 2 + 0.025), command=self.__doToggleToonChatSounds) + self.Music_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord), command=self.__doToggleMusic) + self.SoundFX_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight), command=self.__doToggleSfx) + self.Friends_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 3), command=self.__doToggleAcceptFriends) + self.Whispers_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 4), command=self.__doToggleAcceptWhispers) + self.DisplaySettingsButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image3_color=Vec4(0.5, 0.5, 0.5, 0.5), image_scale=button_image_scale, text=TTLocalizer.OptionsPageChange, text3_fg=(0.5, 0.5, 0.5, 0.75), text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 5), command=self.__doDisplaySettings) + self.speedChatStyleLeftArrow = DirectButton(parent=self, relief=None, image=(gui.find('**/Horiz_Arrow_UP'), + gui.find('**/Horiz_Arrow_DN'), + gui.find('**/Horiz_Arrow_Rllvr'), + gui.find('**/Horiz_Arrow_UP')), image3_color=Vec4(1, 1, 1, 0.5), scale=(-1.0, 1.0, 1.0), pos=(0.25, 0, buttonbase_ycoord - textRowHeight * 6), command=self.__doSpeedChatStyleLeft) + self.speedChatStyleRightArrow = DirectButton(parent=self, relief=None, image=(gui.find('**/Horiz_Arrow_UP'), + gui.find('**/Horiz_Arrow_DN'), + gui.find('**/Horiz_Arrow_Rllvr'), + gui.find('**/Horiz_Arrow_UP')), image3_color=Vec4(1, 1, 1, 0.5), pos=(0.65, 0, buttonbase_ycoord - textRowHeight * 6), command=self.__doSpeedChatStyleRight) + self.ToonChatSounds_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), + guiButton.find('**/QuitBtn_DN'), + guiButton.find('**/QuitBtn_RLVR'), + guiButton.find('**/QuitBtn_UP')), image3_color=Vec4(0.5, 0.5, 0.5, 0.5), image_scale=button_image_scale, text='', text3_fg=(0.5, 0.5, 0.5, 0.75), text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight * 2 + 0.025), command=self.__doToggleToonChatSounds) self.ToonChatSounds_toggleButton.setScale(0.8) self.speedChatStyleText = SpeedChat.SpeedChat(name='OptionsPageStyleText', structure=[2000], backgroundModelName='phase_3/models/gui/ChatPanel', guiModelName='phase_3.5/models/gui/speedChatGui') self.speedChatStyleText.setScale(self.speed_chat_scale) self.speedChatStyleText.setPos(0.37, 0, buttonbase_ycoord - textRowHeight * 6 + 0.03) self.speedChatStyleText.reparentTo(self, DGG.FOREGROUND_SORT_INDEX) - self.exitButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=1.15, text=TTLocalizer.OptionsPageExitToontown, text_scale=options_text_scale, text_pos=button_textpos, textMayChange=0, pos=(0.45, 0, -0.6), command=self.__handleExitShowWithConfirm) + self.exitButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=1.15, text=TTLocalizer.OptionsPageExitToontown, text_scale=options_text_scale, text_pos=button_textpos, textMayChange=0, pos=(0.45, 0, -0.6), command=self.__handleExitShowWithConfirm) guiButton.removeNode() gui.removeNode() @@ -486,15 +496,17 @@ class OptionsTabPage(DirectFrame): self.displaySettings = DisplaySettingsDialog.DisplaySettingsDialog() self.displaySettings.load() self.accept(self.displaySettings.doneEvent, self.__doneDisplaySettings) - self.displaySettings.enter(self.ChangeDisplaySettings) + self.displaySettings.enter(self.ChangeDisplaySettings, self.ChangeDisplayAPI) - def __doneDisplaySettings(self, anyChanged): + def __doneDisplaySettings(self, anyChanged, apiChanged): if anyChanged: self.__setDisplaySettings() properties = base.win.getProperties() self.displaySettingsChanged = 1 self.displaySettingsSize = (properties.getXSize(), properties.getYSize()) self.displaySettingsFullscreen = properties.getFullscreen() + self.displaySettingsApi = base.pipe.getInterfaceName() + self.displaySettingsApiChanged = apiChanged def __setDisplaySettings(self): properties = base.win.getProperties() @@ -502,7 +514,16 @@ class OptionsTabPage(DirectFrame): screensize = '%s x %s' % (properties.getXSize(), properties.getYSize()) else: screensize = TTLocalizer.OptionsPageDisplayWindowed - self.DisplaySettings_Label['text'] = TTLocalizer.OptionsPageDisplaySettings % screensize + api = base.pipe.getInterfaceName() + settings = {'screensize': screensize, + 'api': api} + if self.ChangeDisplayAPI: + OptionsPage.notify.debug('change display settings...') + text = TTLocalizer.OptionsPageDisplaySettings % settings + else: + OptionsPage.notify.debug('no change display settings...') + text = TTLocalizer.OptionsPageDisplaySettingsNoApi % settings + self.DisplaySettings_Label['text'] = text def __doSpeedChatStyleLeft(self): if self.speedChatStyleIndex > 0: @@ -573,7 +594,7 @@ class CodesTabPage(DirectFrame): return def load(self): - self.notice = DirectLabel(parent=self, relief=None, text=TTLocalizer.CodeRedemptionWarning, text_scale=0.06, pos=(0.0, 0, 0.53), text_fg=Vec4(1.0, 0, 0, 1)) + self.notice = DirectLabel(parent=self, relief=None, text='NOTICE: All codes can only be entered once!', text_scale=0.06, pos=(0.0, 0, 0.53), text_fg=Vec4(1.0, 0, 0, 1)) cdrGui = loader.loadModel('phase_3.5/models/gui/tt_m_gui_sbk_codeRedemptionGui') instructionGui = cdrGui.find('**/tt_t_gui_sbk_cdrPresent') flippyGui = cdrGui.find('**/tt_t_gui_sbk_cdrFlippy') @@ -692,6 +713,7 @@ class ExtraOptionsTabPage(DirectFrame): def __init__(self, parent = aspect2d): self.parent = parent self.currentSizeIndex = None + self.dialog = None DirectFrame.__init__(self, parent=self.parent, relief=None, pos=(0.0, 0.0, 0.0), scale=(1.0, 1.0, 1.0)) @@ -699,10 +721,16 @@ class ExtraOptionsTabPage(DirectFrame): def destroy(self): self.parent = None + + if self.dialog: + self.dialog.destroy() + + del self.dialog DirectFrame.destroy(self) def load(self): guiButton = loader.loadModel('phase_3/models/gui/quit_button') + gui = loader.loadModel('phase_3.5/models/gui/friendslist_gui') titleHeight = 0.61 textStartHeight = 0.45 textRowHeight = 0.145 @@ -713,82 +741,45 @@ class ExtraOptionsTabPage(DirectFrame): button_textpos = (0, -0.02) options_text_scale = 0.052 disabled_arrow_color = Vec4(0.6, 0.6, 0.6, 1.0) - button_image = (guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')) - self.speed_chat_scale = 0.055 - self.speedchatPlus_label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight)) - self.trueFriends_label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight - textRowHeight)) - self.cogInterface_label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight - 2 * textRowHeight)) - self.speedchatPlus_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord), command=self.__doToggleSpeedchatPlus) - self.trueFriends_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - textRowHeight), command=self.__doToggleTrueFriends) - self.cogInterface_toggleButton = DirectButton(parent=self, relief=None, image=button_image, image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord - 2 * textRowHeight), command=self.__doToggleCogInterface) - self.bugReportButton = DirectButton(parent=self, relief=None, text=TTLocalizer.BugReportButton, image=button_image, image_scale=button_image_scale, text_pos=(0, -0.01), text_fg=(0, 0, 0, 1), + self.speed_chat_scale = 0.055 + self.cogLevel_toggleButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text='', text_scale=options_text_scale, text_pos=button_textpos, pos=(buttonbase_xcoord, 0.0, buttonbase_ycoord), command=self.__doToggleCogLevelGui) + self.cogLevel_label = DirectLabel(parent=self, relief=None, text='', text_align=TextNode.ALeft, text_scale=options_text_scale, text_wordwrap=16, pos=(leftMargin, 0, textStartHeight)) + self.bugReportButton = DirectButton(parent=self, relief=None, text=TTLocalizer.BugReportButton, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=button_image_scale, text_pos=(0, -0.01), text_fg=(0, 0, 0, 1), command=self.showReportNotice, pos=(0.0, 0.0, -0.6), text_scale=(0.045)) + gui.removeNode() guiButton.removeNode() def enter(self): self.show() self.settingsChanged = 0 - self.__setSpeedchatPlusButton() - self.__setTrueFriendsButton() - self.__setCogInterfaceButton() + self.__setCogLevelGuiButton() def exit(self): self.ignore('confirmDone') - self.destroyReportNotice() self.hide() def unload(self): - self.speedchatPlus_label.destroy() - del self.speedchatPlus_label - self.trueFriends_label.destroy() - del self.trueFriends_label - self.cogInterface_label.destroy() - del self.cogInterface_label - self.cogInterface_toggleButton.destroy() - del self.cogInterface_toggleButton + self.cogLevel_label.destroy() + del self.cogLevel_label + self.cogLevel_toggleButton.destroy() + del self.cogLevel_toggleButton - def __doToggleCogInterface(self): + def __doToggleCogLevelGui(self): messenger.send('wakeup') - settings['cogInterface'] = not settings['cogInterface'] + settings['cogLevel'] = not settings['cogLevel'] self.settingsChanged = 1 - self.__setCogInterfaceButton() + self.__setCogLevelGuiButton() - def __setCogInterfaceButton(self): - self.cogInterface_label['text'] = TTLocalizer.CogInterfaceLabelOn if settings['cogInterface'] else TTLocalizer.CogInterfaceLabelOff - self.cogInterface_toggleButton['text'] = TTLocalizer.OptionsPageToggleOff if settings['cogInterface'] else TTLocalizer.OptionsPageToggleOn - - def __doToggleSpeedchatPlus(self): - messenger.send('wakeup') - settings['speedchatPlus'] = not settings['speedchatPlus'] - self.settingsChanged = 1 - self.__setSpeedchatPlusButton() + def __setCogLevelGuiButton(self): + self.cogLevel_label['text'] = TTLocalizer.CogLevelLabelOn if settings['cogLevel'] else TTLocalizer.CogLevelLabelOff + self.cogLevel_toggleButton['text'] = TTLocalizer.OptionsPageToggleOff if settings['cogLevel'] else TTLocalizer.OptionsPageToggleOn - def __setSpeedchatPlusButton(self): - self.speedchatPlus_label['text'] = TTLocalizer.SpeedchatPlusLabelOn if settings['speedchatPlus'] else TTLocalizer.SpeedchatPlusLabelOff - self.speedchatPlus_toggleButton['text'] = TTLocalizer.OptionsPageToggleOff if settings['speedchatPlus'] else TTLocalizer.OptionsPageToggleOn - - def __doToggleTrueFriends(self): - messenger.send('wakeup') - settings['trueFriends'] = not settings['trueFriends'] - self.settingsChanged = 1 - self.__setTrueFriendsButton() - - def __setTrueFriendsButton(self): - self.trueFriends_label['text'] = TTLocalizer.TrueFriendsLabelOn if settings['trueFriends'] else TTLocalizer.TrueFriendsLabelOff - self.trueFriends_toggleButton['text'] = TTLocalizer.OptionsPageToggleOff if settings['trueFriends'] else TTLocalizer.OptionsPageToggleOn - - def destroyReportNotice(self): - if hasattr(self, 'dialog'): - self.dialog.destroy() - del self.dialog - def showReportNotice(self): - self.destroyReportNotice() self.dialog = TTDialog.TTDialog(style=TTDialog.YesNo, text=TTLocalizer.BugReportNotice, command=self.confirmBugReport) self.dialog.show() def confirmBugReport(self, value): - self.destroyReportNotice() - if value > 0: - webbrowser.open(ToontownGlobals.BugReportSite, new=2, autoraise=True) \ No newline at end of file + webbrowser.open(ToontownGlobals.BugReportSite, new=2, autoraise=True) + + self.dialog.destroy() \ No newline at end of file diff --git a/toontown/toonbase/ClientStart.py b/toontown/toonbase/ClientStart.py index eac39dd4..50b28f5f 100644 --- a/toontown/toonbase/ClientStart.py +++ b/toontown/toonbase/ClientStart.py @@ -13,8 +13,10 @@ from direct.extensions_native import VBase3_extensions from direct.extensions_native import VBase4_extensions from direct.extensions_native import NodePath_extensions + from panda3d.core import loadPrcFile + if __debug__: import wx, sys from direct.stdpy import threading @@ -73,8 +75,8 @@ if 'toonChatSounds' not in settings: settings['toonChatSounds'] = True if 'language' not in settings: settings['language'] = 'English' -if 'cogInterface' not in settings: - settings['cogInterface'] = True +if 'cogLevel' not in settings: + settings['cogLevel'] = True if 'speedchatPlus' not in settings: settings['speedchatPlus'] = True if 'trueFriends' not in settings: diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index 0546732a..fdf2579a 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -3797,11 +3797,13 @@ OptionsPageSelect = 'Select' OptionsPageToggleOn = 'Turn On' OptionsPageToggleOff = 'Turn Off' OptionsPageChange = 'Change' -OptionsPageDisplaySettings = 'Display: %s' +OptionsPageDisplaySettings = 'Display: %(screensize)s, %(api)s' +OptionsPageDisplaySettingsNoApi = 'Display: %(screensize)s' OptionsPageExitConfirm = 'Exit Toontown?' DisplaySettingsTitle = 'Display Settings' DisplaySettingsIntro = 'The following settings are used to configure the way Toontown is displayed on your computer. It is usually unnecessary to adjust these unless you are experiencing a problem.' DisplaySettingsIntroSimple = 'You may adjust the screen resolution to a higher value to improve the clarity of text and graphics in Toontown, but depending on your graphics card, some higher values may make the game run less smoothly or may not work at all.' +DisplaySettingsApi = 'Graphics API:' DisplaySettingsResolution = 'Resolution:' DisplaySettingsWindowed = 'In a window' DisplaySettingsFullscreen = 'Full screen' @@ -8346,19 +8348,13 @@ LanguageSelectorConfirm = 'Are you sure you want to change your language to %s? LanguageSelectorSameLanguage = "You're already using that language!" PickTrackTitle = 'Pick your third track!' PickTrackNotice = 'Choose a track!' -CogInterfaceLabelOn = 'The cog battle interface is on.' -CogInterfaceLabelOff = 'The cog battle interface is off.' -SpeedchatPlusLabelOn = 'Speedchat Plus is on.' -SpeedchatPlusLabelOff = 'Speedchat Plus is off.' -TrueFriendsLabelOn = 'True Friends is on.' -TrueFriendsLabelOff = 'True Friends is off.' +CogLevelLabelOn = 'The cog level GUI is on.' +CogLevelLabelOff = 'The cog level GUI is off.' HouseNames = ("Bungalow", "Tiki", "Teepee", "Castle", "Cupcake", "Cabin") CatalogPurchaseHouseType = "When you buy a new house type, the current one is replaced by it. To recover the old type, you'll need to buy it back. Continue?" BugReportButton = 'Report a Bug' BugReportNotice = 'Attention!\n\nThis button will open a browser which will send you to a third party bug tracker website. This site requires an Ubuntu One account to login. It may ask you to create an account.\n\nAre you sure you want to continue?' -CodeRedemptionWarning = 'NOTICE: All codes can only be entered once!' - # Buffs buffIdStrings = { diff --git a/toontown/town/TownBattle.py b/toontown/town/TownBattle.py index 481e73fa..d981f96d 100644 --- a/toontown/town/TownBattle.py +++ b/toontown/town/TownBattle.py @@ -368,7 +368,7 @@ class TownBattle(StateData.StateData): def exitOff(self): if self.isLoaded: self.__enterPanels(self.numToons, self.localNum) - if settings['cogInterface']: + if settings['cogLevel']: self.__enterCogPanels(self.numCogs) self.timer.show() self.track = -1 @@ -516,7 +516,7 @@ class TownBattle(StateData.StateData): for i in xrange(len(toons)): self.toonPanels[i].setLaffMeter(toons[i]) - if settings['cogInterface']: + if settings['cogLevel']: self.__enterCogPanels(self.numCogs) for i in xrange(len(cogs)): self.cogPanels[i].setSuit(cogs[i]) From 5d55436cec9d94799d4dd52b0e533787051f631c Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 00:57:15 -0400 Subject: [PATCH 48/78] Revert "Fix article names" This reverts commit 8dea0edf2155acf4c79127b0cdb8a775b0411caf. --- toontown/toonbase/TTLocalizerEnglish.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index fdf2579a..773ca2c6 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -5178,8 +5178,12 @@ FurnitureNames = {100: 'Armchair', 10020: 'Winter Tree', 10030: 'Winter Wreath'} ClothingArticleNames = ('Shirt', + 'Shirt', + 'Shirt', 'Shorts', - 'Skirt') + 'Shorts', + 'Skirt', + 'Shorts') ClothingTypeNames = {1001: 'Ghost Shirt', 1002: 'Pumpkin Shirt', 1112: 'Bee Shirt', From a195cbe230deb88e5651e20cda64fe13a37fb6eb Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 01:11:05 -0400 Subject: [PATCH 49/78] Remove skid colors --- toontown/toon/ToonDNA.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/toontown/toon/ToonDNA.py b/toontown/toon/ToonDNA.py index 660ab8d1..e697fd22 100644 --- a/toontown/toon/ToonDNA.py +++ b/toontown/toon/ToonDNA.py @@ -1929,9 +1929,6 @@ allColorsList = [VBase4(1.0, 1.0, 1.0, 1.0), VBase4(0.749019, 0.756862, 0.760784, 1.0), VBase4(1.0, 0.639215, 0.262745, 1.0), VBase4(0.0, 0.403921, 0.647058, 1.0), - VBase4(1.0, 0.0, 0.0, 1.0), - VBase4(0.0, 0.0, 1.0, 1.0), - VBase4(0.0, 1.0, 0.0, 1.0), VBase4(0.862745, 0.078431, 0.235294, 1.0), VBase4(0.0, 0.635294, 0.513725, 1.0), VBase4(0.803921, 0.498039, 0.196078, 1.0)] @@ -1947,7 +1944,6 @@ defaultBoyColorList = [0, 29, 8, 37, - 40, 35, 9, 10, @@ -1956,7 +1952,6 @@ defaultBoyColorList = [0, 12, 30, 13, - 41, 14, 15, 39, @@ -1968,7 +1963,6 @@ defaultBoyColorList = [0, 19, 20, 21, - 42, 38, 36, 22, @@ -1990,7 +1984,6 @@ defaultGirlColorList = [0, 29, 8, 37, - 40, 35, 9, 10, @@ -1999,7 +1992,6 @@ defaultGirlColorList = [0, 12, 30, 13, - 41, 14, 15, 39, @@ -2011,7 +2003,6 @@ defaultGirlColorList = [0, 19, 20, 21, - 42, 38, 36, 22, From 0247ec5daf6bff9500f4ab524c0d5c563bff3dc5 Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 01:11:46 -0400 Subject: [PATCH 50/78] Remove this --- toontown/toonbase/TTLocalizerEnglish.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index 773ca2c6..afcf47e2 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -4538,9 +4538,6 @@ NumToColor = ['White', 'Gray', 'Neon Orange', 'Sapphire', - 'Pure Red', - 'Pure Blue', - 'Pure Green', 'Crimson', 'Emerald', 'Bronze'] From e7f17e5299c6394245a13447ce43020a20ef6434 Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 01:37:00 -0400 Subject: [PATCH 51/78] Fix Toon deletion bug --- config/release/dev.prc | 1 + toontown/login/AvatarChooser.py | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/config/release/dev.prc b/config/release/dev.prc index c89e094c..4c42852b 100644 --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -42,3 +42,4 @@ show-population #t want-instant-parties #t cogdo-pop-factor 1.5 cogdo-ratio 0.5 +default-directnotify-level info diff --git a/toontown/login/AvatarChooser.py b/toontown/login/AvatarChooser.py index 407291de..4d3fee77 100644 --- a/toontown/login/AvatarChooser.py +++ b/toontown/login/AvatarChooser.py @@ -212,13 +212,16 @@ class AvatarChooser(StateData.StateData): elif panelDoneStatus == 'nameIt': self.__handleChoice() elif panelDoneStatus == 'delete': - self.__handleChoice() + self.__handleDelete() elif panelDoneStatus == 'create': self.__handleChoice() def __handleChoice(self): base.transitions.fadeOut(finishIval=EventInterval(self.doneEvent, [self.doneStatus])) + def __handleDelete(self): + messenger.send(self.doneEvent, [self.doneStatus]) + def __handleQuit(self): cleanupDialog('globalDialog') self.doneStatus = {'mode': 'exit'} @@ -226,7 +229,7 @@ class AvatarChooser(StateData.StateData): def getChoice(self): return self.choice - + def openLanguageGui(self): self.exit() - LanguageSelector.LanguageSelector(self.enter).create() \ No newline at end of file + LanguageSelector.LanguageSelector(self.enter).create() From 76a8190ed7755bc7690edff0c4b8fa6b38f969f5 Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 02:04:51 -0400 Subject: [PATCH 52/78] Cleanup config files, add a bool to enable/disable language selector --- config/general.prc | 7 +++---- config/release/dev.prc | 3 +-- toontown/language/LanguageSelector.py | 16 ++++++++-------- toontown/login/AvatarChooser.py | 4 +++- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/config/general.prc b/config/general.prc index 94eb3eb4..681f0c00 100644 --- a/config/general.prc +++ b/config/general.prc @@ -92,7 +92,7 @@ base-xp-multiplier 1.0 # SOS toons: sos-card-reward 2 -# Cog Dominiums +# CogDominiums (Field Offices): want-emblems #t cogdo-want-barrel-room #t want-lawbot-cogdo #t @@ -104,6 +104,8 @@ want-cogbuildings #t show-total-population #t want-mat-all-tailors #t want-talkative-tyler #f +estate-day-night #t +want-language-selection #t # Developer options: want-dev #f @@ -112,6 +114,3 @@ want-pstats 0 # Temporary: smooth-lag 0.4 want-old-fireworks #t - -# Live updates: -estate-day-night #t diff --git a/config/release/dev.prc b/config/release/dev.prc index 4c42852b..337bbd05 100644 --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -15,7 +15,7 @@ shard-mid-pop 100 want-rpc-server #f rpc-server-endpoint http://localhost:8080/ -# DClass files (in reverse order): +# DClass file: dc-file astron/dclass/stride.dc # Core features: @@ -23,7 +23,6 @@ want-pets #t want-parties #t want-cogdominiums #t want-lawbot-cogdo #t -want-achievements #f want-anim-props #t want-game-tables #t want-find-four #t diff --git a/toontown/language/LanguageSelector.py b/toontown/language/LanguageSelector.py index 70420137..3b59e6d3 100644 --- a/toontown/language/LanguageSelector.py +++ b/toontown/language/LanguageSelector.py @@ -4,7 +4,7 @@ from toontown.toontowngui import TTDialog import os class LanguageSelector: - + def __init__(self, leaveFunction): self.title = None self.current = None @@ -14,13 +14,13 @@ class LanguageSelector: self.backButton = None self.confirmDialog = None self.leaveFunction = leaveFunction - + def create(self): self.background = OnscreenImage(parent=render2d, image="phase_3.5/maps/blackboardEmpty.jpg") self.gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui') self.shuffleUp = self.gui.find('**/tt_t_gui_mat_shuffleUp') self.shuffleDown = self.gui.find('**/tt_t_gui_mat_shuffleDown') - + self.title = DirectLabel(aspect2d, relief=None, text=TTLocalizer.LanguageSelectorTitle, text_fg=(0, 1, 0, 1), text_scale=0.15, text_font=ToontownGlobals.getSuitFont(), pos=(0, 0, 0.70), text_shadow=(0, 0.392, 0, 1)) @@ -51,22 +51,22 @@ class LanguageSelector: if element: element.destroy() element = None - + self.leaveFunction() - + def switchLanguage(self, language): if language == settings['language']: self.confirmDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=TTLocalizer.LanguageSelectorSameLanguage, command=self.cleanupDialog) else: self.confirmDialog = TTDialog.TTDialog(style=TTDialog.YesNo, text=TTLocalizer.LanguageSelectorConfirm % language, command=self.confirmSwitchLanguage, extraArgs=[language]) self.confirmDialog.show() - + def confirmSwitchLanguage(self, value, language): if value > 0: settings['language'] = language os._exit(1) else: self.cleanupDialog() - + def cleanupDialog(self, value=0): - self.confirmDialog.cleanup() \ No newline at end of file + self.confirmDialog.cleanup() diff --git a/toontown/login/AvatarChooser.py b/toontown/login/AvatarChooser.py index 4d3fee77..9e7f180c 100644 --- a/toontown/login/AvatarChooser.py +++ b/toontown/login/AvatarChooser.py @@ -39,7 +39,8 @@ class AvatarChooser(StateData.StateData): base.disableMouse() self.title.reparentTo(aspect2d) self.quitButton.show() - self.languageButton.show() + if config.GetBool('want-language-selection', False): + self.languageButton.show() self.pickAToonBG.setBin('background', 1) self.pickAToonBG.reparentTo(aspect2d) base.setBackgroundColor(Vec4(0.145, 0.368, 0.78, 1)) @@ -80,6 +81,7 @@ class AvatarChooser(StateData.StateData): self.quitButton.reparentTo(base.a2dBottomRight) self.languageButton = DirectButton(relief=None, image=(quitHover, quitHover, quitHover), text=TTLocalizer.LanguageButtonText, text_font=ToontownGlobals.getSignFont(), text_fg=(0.977, 0.816, 0.133, 1), text_scale=TTLocalizer.AClanguageButton, text_pos=(0, -0.025), pos=(0.25, 0, 0.075), image_scale=1.05, image1_scale=1.05, image2_scale=1.05, scale=1.05, command=self.openLanguageGui) self.languageButton.reparentTo(base.a2dBottomLeft) + self.languageButton.hide() gui.removeNode() gui2.removeNode() newGui.removeNode() From badea7d47e1b8e38ffb7fb6f2e0b502834abfcc2 Mon Sep 17 00:00:00 2001 From: John Cote Date: Sun, 17 May 2015 22:46:24 -0400 Subject: [PATCH 53/78] These need some more work --- config/general.prc | 1 + toontown/battle/BattleCalculatorAI.py | 5 +- toontown/battle/DistributedBattle.py | 37 ++- toontown/battle/DistributedBattleBase.py | 39 +-- toontown/battle/Movie.py | 3 +- toontown/building/DistributedBuilding.py | 48 ++-- toontown/hood/GenericAnimatedProp.py | 14 +- toontown/hood/HydrantInteractiveProp.py | 292 +++++++++++++++++------ toontown/hood/InteractiveAnimatedProp.py | 110 ++++++--- toontown/hood/MailboxInteractiveProp.py | 271 +++++++++++++++------ toontown/hood/TrashcanInteractiveProp.py | 264 +++++++++++++++----- toontown/safezone/SafeZoneLoader.py | 16 ++ toontown/suit/DistributedSuitBase.py | 4 +- toontown/toon/InventoryNew.py | 5 +- toontown/toonbase/ToontownGlobals.py | 3 + toontown/town/TownLoader.py | 67 ++++-- 16 files changed, 858 insertions(+), 321 deletions(-) diff --git a/config/general.prc b/config/general.prc index 681f0c00..353ea380 100644 --- a/config/general.prc +++ b/config/general.prc @@ -106,6 +106,7 @@ want-mat-all-tailors #t want-talkative-tyler #f estate-day-night #t want-language-selection #t +active-holidays 64, 65, 66 # Developer options: want-dev #f diff --git a/toontown/battle/BattleCalculatorAI.py b/toontown/battle/BattleCalculatorAI.py index f967c851..55964e51 100644 --- a/toontown/battle/BattleCalculatorAI.py +++ b/toontown/battle/BattleCalculatorAI.py @@ -260,7 +260,10 @@ class BattleCalculatorAI: return def __checkPropBonus(self, track): - return self.battle.getInteractivePropTrackBonus() == track + result = False + if self.battle.getInteractivePropTrackBonus() == track: + result = True + return result def __targetDefense(self, suit, atkTrack): if atkTrack == HEAL: diff --git a/toontown/battle/DistributedBattle.py b/toontown/battle/DistributedBattle.py index aa067c1f..6a5efed7 100644 --- a/toontown/battle/DistributedBattle.py +++ b/toontown/battle/DistributedBattle.py @@ -39,6 +39,25 @@ class DistributedBattle(DistributedBattleBase.DistributedBattleBase): self.ignore(self.PlayGameSetPlaceEvent) self.removeCollisionData() + def setInteractivePropTrackBonus(self, trackBonus): + DistributedBattleBase.DistributedBattleBase.setInteractivePropTrackBonus(self, trackBonus) + if self.interactivePropTrackBonus >= 0: + if base.cr.playGame.hood: + self.calcInteractiveProp() + else: + self.acceptOnce(self.PlayGameSetPlaceEvent, self.calcInteractiveProp) + + def calcInteractiveProp(self): + if base.cr.playGame.hood: + loader = base.cr.playGame.hood.loader + if hasattr(loader, 'getInteractiveProp'): + self.interactiveProp = loader.getInteractiveProp(self.zoneId) + self.notify.debug('self.interactiveProp = %s' % self.interactiveProp) + else: + self.notify.warning('no loader.getInteractiveProp self.interactiveProp is None') + else: + self.notify.warning('no hood self.interactiveProp is None') + def setMembers(self, suits, suitsJoining, suitsPending, suitsActive, suitsLured, suitTraps, toons, toonsJoining, toonsPending, toonsActive, toonsRunning, timestamp): if self.battleCleanedUp(): return @@ -133,10 +152,8 @@ class DistributedBattle(DistributedBattleBase.DistributedBattleBase): if len(self.toons) > 0 and base.localAvatar == self.toons[0]: Emote.globalEmote.disableAll(self.toons[0], 'dbattle, enterFaceOff') self.__faceOff(ts, self.faceOffName, self.__handleFaceOffDone) - prop = self.getInteractiveProp() - - if prop: - prop.gotoBattleCheer() + if self.interactiveProp: + self.interactiveProp.gotoFaceoff() def __handleFaceOffDone(self): self.notify.debug('FaceOff done') @@ -164,10 +181,8 @@ class DistributedBattle(DistributedBattleBase.DistributedBattleBase): toon.startSmooth() self.accept('resumeAfterReward', self.handleResumeAfterReward) - prop = self.getInteractiveProp() - - if prop: - prop.gotoVictory() + if self.interactiveProp: + self.interactiveProp.gotoVictory() self.playReward(ts) def playReward(self, ts): @@ -195,10 +210,8 @@ class DistributedBattle(DistributedBattleBase.DistributedBattleBase): self.notify.debug('enterResume()') if self.hasLocalToon(): self.removeLocalToon() - prop = self.getInteractiveProp() - - if prop: - prop.requestIdleOrSad() + if self.interactiveProp: + self.interactiveProp.requestIdleOrSad() def exitResume(self): pass diff --git a/toontown/battle/DistributedBattleBase.py b/toontown/battle/DistributedBattleBase.py index 2b0713c6..51b6c89a 100644 --- a/toontown/battle/DistributedBattleBase.py +++ b/toontown/battle/DistributedBattleBase.py @@ -318,25 +318,11 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase): def setBattleCellId(self, battleCellId): pass - def getInteractiveProp(self): - if config.GetBool('want-anim-props', True): - if self.interactiveProp: - return self.interactiveProp - elif base.cr.playGame.hood and hasattr(base.cr.playGame.hood, 'loader'): - loader = base.cr.playGame.hood.loader - - if hasattr(loader, 'getInteractiveProp'): - self.interactiveProp = base.cr.playGame.hood.loader.getInteractiveProp(self.zoneId) - - return self.interactiveProp - return None - else: - return None + def setInteractivePropTrackBonus(self, trackBonus): + self.interactivePropTrackBonus = trackBonus def getInteractivePropTrackBonus(self): - prop = self.getInteractiveProp() - - return prop.BattleTrack if prop else -1 + return self.interactivePropTrackBonus def setPosition(self, x, y, z): self.notify.debug('setPosition() - %d %d %d' % (x, y, z)) @@ -377,17 +363,12 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase): oldsuits = self.suits self.suits = [] suitGone = 0 - prop = self.getInteractiveProp() - for s in suits: if s in self.cr.doId2do: suit = self.cr.doId2do[s] suit.setState('Battle') self.suits.append(suit) - - if prop: - suit.interactivePropTrackBonus = prop.BattleTrack - + suit.interactivePropTrackBonus = self.interactivePropTrackBonus try: suit.battleTrap except: @@ -1067,10 +1048,9 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase): return Task.done def enterWaitForInput(self, ts = 0): - prop = self.getInteractiveProp() - - if prop: - prop.gotoBattleCheer() + self.notify.debug('enterWaitForInput()') + if self.interactiveProp: + self.interactiveProp.gotoBattleCheer() self.choseAttackAlready = 0 if self.localToonActive(): self.__enterLocalToonWaitForInput() @@ -1262,10 +1242,7 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase): if base.cr.playGame.getPlace() != None: base.cr.playGame.getPlace().setState('battle', self.localToonBattleEvent) if localAvatar and hasattr(localAvatar, 'inventory') and localAvatar.inventory: - prop = self.getInteractiveProp() - - if prop: - localAvatar.inventory.setInteractivePropTrackBonus(prop.BattleTrack) + localAvatar.inventory.setInteractivePropTrackBonus(self.interactivePropTrackBonus) camera.wrtReparentTo(self) base.camLens.setMinFov(self.camFov/(4./3.)) return diff --git a/toontown/battle/Movie.py b/toontown/battle/Movie.py index 1f3b4132..c3b3245b 100644 --- a/toontown/battle/Movie.py +++ b/toontown/battle/Movie.py @@ -400,7 +400,8 @@ class Movie(DirectObject.DirectObject): if ival: track.append(ival) camTrack.append(camIval) - ival, camIval = MovieHeal.doHeals(self.__findToonAttack(HEAL), self.battle.getInteractivePropTrackBonus() == HEAL) + hasHealBonus = self.battle.getInteractivePropTrackBonus() == HEAL + ival, camIval = MovieHeal.doHeals(self.__findToonAttack(HEAL), hasHealBonus) if ival: track.append(ival) camTrack.append(camIval) diff --git a/toontown/building/DistributedBuilding.py b/toontown/building/DistributedBuilding.py index 79cc1358..c2e2cf00 100644 --- a/toontown/building/DistributedBuilding.py +++ b/toontown/building/DistributedBuilding.py @@ -236,11 +236,8 @@ class DistributedBuilding(DistributedObject.DistributedObject): pass def enterToon(self, ts): - prop = self.getInteractiveProp() - - if prop: - prop.buildingLiberated(self.doId) - + if self.getInteractiveProp(): + self.getInteractiveProp().buildingLiberated(self.doId) self.setToToon() def exitToon(self): @@ -259,11 +256,7 @@ class DistributedBuilding(DistributedObject.DistributedObject): pass def enterSuit(self, ts): - prop = self.getInteractiveProp() - - if prop and not prop.state == 'Sad': - prop.gotoSad(self.doId) - + self.makePropSad() self.setToSuit() def exitSuit(self): @@ -928,23 +921,38 @@ class DistributedBuilding(DistributedObject.DistributedObject): self.elevatorNodePath.setPosHpr(0, 0, 0, 0, 0, 0) def getSbSearchString(self): - return 'landmarkBlocks/sb' + str(self.block) + ':*_landmark_*_DNARoot' + result = 'landmarkBlocks/sb' + str(self.block) + ':*_landmark_*_DNARoot' + return result def adjustSbNodepathScale(self, nodePath): pass def getVisZoneId(self): exteriorZoneId = base.cr.playGame.hood.dnaStore.getZoneFromBlockNumber(self.block) - return ZoneUtil.getTrueZoneId(exteriorZoneId, self.zoneId) + visZoneId = ZoneUtil.getTrueZoneId(exteriorZoneId, self.zoneId) + return visZoneId def getInteractiveProp(self): + result = None if self.interactiveProp: - return self.interactiveProp - elif base.cr.playGame.hood: - loader = base.cr.playGame.hood.loader + result = self.interactiveProp + else: + visZoneId = self.getVisZoneId() + if base.cr.playGame.hood: + loader = base.cr.playGame.hood.loader + if hasattr(loader, 'getInteractiveProp'): + self.interactiveProp = loader.getInteractiveProp(visZoneId) + result = self.interactiveProp + self.notify.debug('self.interactiveProp = %s' % self.interactiveProp) + else: + self.notify.warning('no loader.getInteractiveProp self.interactiveProp is None') + else: + self.notify.warning('no hood self.interactiveProp is None') + return result - if hasattr(loader, 'getInteractiveProp'): - self.interactiveProp = base.cr.playGame.hood.loader.getInteractiveProp(self.getVisZoneId()) - - return self.interactiveProp - return None + def makePropSad(self): + self.notify.debug('makePropSad') + if self.getInteractiveProp(): + if self.getInteractiveProp().state == 'Sad': + pass + self.getInteractiveProp().gotoSad(self.doId) diff --git a/toontown/hood/GenericAnimatedProp.py b/toontown/hood/GenericAnimatedProp.py index d439b675..c8f68d69 100644 --- a/toontown/hood/GenericAnimatedProp.py +++ b/toontown/hood/GenericAnimatedProp.py @@ -46,7 +46,19 @@ class GenericAnimatedProp(AnimatedProp.AnimatedProp): def enter(self): self.node.postFlatten() AnimatedProp.AnimatedProp.enter(self) - self.node.loop('anim') + doAnimLoop = True + try: + if type(self).__name__ == 'instance': + if self.__class__.__name__ == 'GenericAnimatedProp': + if base.cr.newsManager.isHolidayRunning(ToontownGlobals.HYDRANTS_BUFF_BATTLES): + doAnimLoop = True + else: + doAnimLoop = False + except: + pass + + if doAnimLoop: + self.node.loop('anim') def exit(self): AnimatedProp.AnimatedProp.exit(self) diff --git a/toontown/hood/HydrantInteractiveProp.py b/toontown/hood/HydrantInteractiveProp.py index 15463bce..7ce722b9 100644 --- a/toontown/hood/HydrantInteractiveProp.py +++ b/toontown/hood/HydrantInteractiveProp.py @@ -2,94 +2,235 @@ from direct.actor import Actor from direct.directnotify import DirectNotifyGlobal from direct.interval.IntervalGlobal import Sequence, Func from toontown.hood import InteractiveAnimatedProp +from toontown.hood import GenericAnimatedProp from toontown.toonbase import ToontownGlobals, ToontownBattleGlobals, TTLocalizer class HydrantInteractiveProp(InteractiveAnimatedProp.InteractiveAnimatedProp): notify = DirectNotifyGlobal.directNotify.newCategory('HydrantInteractiveProp') - BattleTrack = ToontownBattleGlobals.SQUIRT_TRACK - BattleCheerText = TTLocalizer.InteractivePropTrackBonusTerms[BattleTrack] - - ZoneToIdles = { - ToontownGlobals.ToontownCentral: (('tt_a_ara_ttc_hydrant_idle0', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_hydrant_idle2', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_hydrant_idle1', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_hydrant_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.DonaldsDock: (('tt_a_ara_ttc_hydrant_idle0', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_hydrant_idle2', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_hydrant_idle1', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_hydrant_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.DaisyGardens: (('tt_a_ara_dga_hydrant_idle0', 3, 10, 'tt_a_ara_dga_hydrant_idle0settle', 3, 10), - ('tt_a_ara_dga_hydrant_idleLook1', 1, 1, None, 3, 10), - ('tt_a_ara_dga_hydrant_idleSneeze2', 1, 1, None, 3, 10), - ('tt_a_ara_dga_hydrant_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.MinniesMelodyland: (('tt_a_ara_mml_hydrant_idle0', 3, 10, 'tt_a_ara_mml_hydrant_idle0settle', 3, 10), - ('tt_a_ara_mml_hydrant_idle2', 3, 10, 'tt_a_ara_mml_hydrant_idle2settle', 3, 10), - ('tt_a_ara_mml_hydrant_idle1', 3, 10, 'tt_a_ara_mml_hydrant_idle1settle', 3, 10), - ('tt_a_ara_mml_hydrant_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.TheBrrrgh: (('tt_a_ara_tbr_hydrant_idleShiver1', 1, 1, None, 3, 10), - ('tt_a_ara_tbr_hydrant_idleRubNose0', 1, 1, None, 3, 10), - ('tt_a_ara_tbr_hydrant_idleSneeze2', 1, 1, None, 3, 10), - ('tt_a_ara_tbr_hydrant_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.DonaldsDreamland: (('tt_a_ara_ddl_hydrant_idle0', 3, 10, None, 0, 0), - ('tt_a_ara_ddl_hydrant_idle1', 1, 1, None, 0, 0), - ('tt_a_ara_ddl_hydrant_idle2', 1, 1, None, 0, 0), - ('tt_a_ara_ddl_hydrant_idleAwesome3', 1, 1, None, 0, 0))} - - ZoneToIdleIntoFightAnims = { - ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_hydrant_idleIntoFight', - ToontownGlobals.DonaldsDock: 'tt_a_ara_ttc_hydrant_idleIntoFight', - ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_hydrant_idleIntoFight', - ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_hydrant_idleIntoFight', - ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_hydrant_idleIntoFight', - ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_hydrant_idleIntoFight'} - - ZoneToVictoryAnims = { - ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_hydrant_victoryDance', - ToontownGlobals.DonaldsDock: 'tt_a_ara_ttc_hydrant_victoryDance', - ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_hydrant_victoryDance', - ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_hydrant_victoryDance', - ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_hydrant_victoryDance', - ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_hydrant_victoryDance'} - - ZoneToSadAnims = { - ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_hydrant_fightSad', - ToontownGlobals.DonaldsDock: 'tt_a_ara_ttc_hydrant_fightSad', - ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_hydrant_fightSad', - ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_hydrant_fightSad', - ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_hydrant_fightSad', - ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_hydrant_fightSad'} - - ZoneToFightAnims = { - ToontownGlobals.ToontownCentral: ('tt_a_ara_ttc_hydrant_fightBoost', 'tt_a_ara_ttc_hydrant_fightCheer', 'tt_a_ara_ttc_hydrant_fightIdle'), - ToontownGlobals.DonaldsDock: ('tt_a_ara_ttc_hydrant_fightBoost', 'tt_a_ara_ttc_hydrant_fightCheer', 'tt_a_ara_ttc_hydrant_fightIdle'), - ToontownGlobals.DaisyGardens: ('tt_a_ara_dga_hydrant_fightBoost', 'tt_a_ara_dga_hydrant_fightCheer', 'tt_a_ara_dga_hydrant_fightIdle'), - ToontownGlobals.MinniesMelodyland: ('tt_a_ara_mml_hydrant_fightBoost', 'tt_a_ara_mml_hydrant_fightCheer', 'tt_a_ara_mml_hydrant_fightIdle'), - ToontownGlobals.TheBrrrgh: ('tt_a_ara_tbr_hydrant_fightBoost', 'tt_a_ara_tbr_hydrant_fightCheer', 'tt_a_ara_tbr_hydrant_fightIdle'), - ToontownGlobals.DonaldsDreamland: ('tt_a_ara_ddl_hydrant_fightBoost', 'tt_a_ara_ddl_hydrant_fightCheer', 'tt_a_ara_ddl_hydrant_fightIdle')} - + BattleCheerText = TTLocalizer.InteractivePropTrackBonusTerms[ToontownBattleGlobals.SQUIRT_TRACK] + ZoneToIdles = {ToontownGlobals.ToontownCentral: (('tt_a_ara_ttc_hydrant_idle0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_hydrant_idle2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_hydrant_idle1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_hydrant_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.FunnyFarm: (('tt_a_ara_ttc_hydrant_idle0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_hydrant_idle2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_hydrant_idle1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_hydrant_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.DonaldsDock: (('tt_a_ara_ttc_hydrant_idle0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_hydrant_idle2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_hydrant_idle1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_hydrant_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.DaisyGardens: (('tt_a_ara_dga_hydrant_idle0', + 3, + 10, + 'tt_a_ara_dga_hydrant_idle0settle', + 3, + 10), + ('tt_a_ara_dga_hydrant_idleLook1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dga_hydrant_idleSneeze2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dga_hydrant_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.MinniesMelodyland: (('tt_a_ara_mml_hydrant_idle0', + 3, + 10, + 'tt_a_ara_mml_hydrant_idle0settle', + 3, + 10), + ('tt_a_ara_mml_hydrant_idle2', + 3, + 10, + 'tt_a_ara_mml_hydrant_idle2settle', + 3, + 10), + ('tt_a_ara_mml_hydrant_idle1', + 3, + 10, + 'tt_a_ara_mml_hydrant_idle1settle', + 3, + 10), + ('tt_a_ara_mml_hydrant_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.TheBrrrgh: (('tt_a_ara_tbr_hydrant_idleShiver1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_tbr_hydrant_idleRubNose0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_tbr_hydrant_idleSneeze2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_tbr_hydrant_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.DonaldsDreamland: (('tt_a_ara_ddl_hydrant_idle0', + 3, + 10, + None, + 0, + 0), + ('tt_a_ara_ddl_hydrant_idle1', + 1, + 1, + None, + 0, + 0), + ('tt_a_ara_ddl_hydrant_idle2', + 1, + 1, + None, + 0, + 0), + ('tt_a_ara_ddl_hydrant_idleAwesome3', + 1, + 1, + None, + 0, + 0))} + ZoneToIdleIntoFightAnims = {ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_hydrant_idleIntoFight', + ToontownGlobals.FunnyFarm: 'tt_a_ara_ddl_hydrant_idleIntoFight', + ToontownGlobals.DonaldsDock: 'tt_a_ara_ttc_hydrant_idleIntoFight', + ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_hydrant_idleIntoFight', + ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_hydrant_idleIntoFight', + ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_hydrant_idleIntoFight', + ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_hydrant_idleIntoFight'} + ZoneToVictoryAnims = {ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_hydrant_victoryDance', + ToontownGlobals.FunnyFarm: 'tt_a_ara_ttc_hydrant_victoryDance', + ToontownGlobals.DonaldsDock: 'tt_a_ara_ttc_hydrant_victoryDance', + ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_hydrant_victoryDance', + ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_hydrant_victoryDance', + ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_hydrant_victoryDance', + ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_hydrant_victoryDance'} + ZoneToSadAnims = {ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_hydrant_fightSad', + ToontownGlobals.FunnyFarm: 'tt_a_ara_ttc_hydrant_fightSad', + ToontownGlobals.DonaldsDock: 'tt_a_ara_ttc_hydrant_fightSad', + ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_hydrant_fightSad', + ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_hydrant_fightSad', + ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_hydrant_fightSad', + ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_hydrant_fightSad'} + ZoneToFightAnims = {ToontownGlobals.ToontownCentral: ('tt_a_ara_ttc_hydrant_fightBoost', 'tt_a_ara_ttc_hydrant_fightCheer', 'tt_a_ara_ttc_hydrant_fightIdle'), + ToontownGlobals.FunnyFarm: ('tt_a_ara_ttc_hydrant_fightBoost', 'tt_a_ara_ttc_hydrant_fightCheer', 'tt_a_ara_ttc_hydrant_fightIdle'), + ToontownGlobals.DonaldsDock: ('tt_a_ara_ttc_hydrant_fightBoost', 'tt_a_ara_ttc_hydrant_fightCheer', 'tt_a_ara_ttc_hydrant_fightIdle'), + ToontownGlobals.DaisyGardens: ('tt_a_ara_dga_hydrant_fightBoost', 'tt_a_ara_dga_hydrant_fightCheer', 'tt_a_ara_dga_hydrant_fightIdle'), + ToontownGlobals.MinniesMelodyland: ('tt_a_ara_mml_hydrant_fightBoost', 'tt_a_ara_mml_hydrant_fightCheer', 'tt_a_ara_mml_hydrant_fightIdle'), + ToontownGlobals.TheBrrrgh: ('tt_a_ara_tbr_hydrant_fightBoost', 'tt_a_ara_tbr_hydrant_fightCheer', 'tt_a_ara_tbr_hydrant_fightIdle'), + ToontownGlobals.DonaldsDreamland: ('tt_a_ara_ddl_hydrant_fightBoost', 'tt_a_ara_ddl_hydrant_fightCheer', 'tt_a_ara_ddl_hydrant_fightIdle')} IdlePauseTime = base.config.GetFloat('prop-idle-pause-time', 0.0) def __init__(self, node): self.leftWater = None self.rightWater = None - InteractiveAnimatedProp.InteractiveAnimatedProp.__init__(self, node) + InteractiveAnimatedProp.InteractiveAnimatedProp.__init__(self, node, ToontownGlobals.HYDRANTS_BUFF_BATTLES) + return def setupActor(self, node): InteractiveAnimatedProp.InteractiveAnimatedProp.setupActor(self, node) - if not self.hoodId == ToontownGlobals.TheBrrrgh: water = loader.loadModel('phase_5/models/char/tt_m_efx_hydrantSquirt') self.leftWater = water.find('**/efx_hydrantSquirtLeft') self.rightWater = water.find('**/efx_hydrantSquirtRight') - + dx_left_water = self.node.find('**/dx_left_water') if self.leftWater: - self.leftWater.reparentTo(self.node.find('**/dx_left_water')) + self.leftWater.reparentTo(dx_left_water) base.leftWater = self.leftWater self.leftWater.hide() - + else: + self.notify.warning('couldnt find %s in rig for hood %d' % ('dx_left_water', self.hoodId)) + dx_right_water = self.node.find('**/dx_right_water') if self.rightWater: - self.rightWater.reparentTo(self.node.find('**/dx_right_water')) + self.rightWater.reparentTo(dx_right_water) self.rightWater.hide() + else: + self.notify.warning('couldnt find %s in rig for hood %d' % ('dx_left_water', self.hoodId)) def hideWater(self): if self.leftWater: @@ -104,15 +245,20 @@ class HydrantInteractiveProp(InteractiveAnimatedProp.InteractiveAnimatedProp): self.rightWater.show() def hasOverrideIval(self, origAnimName): - return ('fightBoost' in origAnimName or 'fightCheer' in origAnimName) and not self.hoodId == ToontownGlobals.TheBrrrgh + result = False + if ('fightBoost' in origAnimName or 'fightCheer' in origAnimName) and not self.hoodId == ToontownGlobals.TheBrrrgh: + result = True + return result def getOverrideIval(self, origAnimName): result = Sequence() - - if self.hasOverrideIval(origAnimName): + if ('fightBoost' in origAnimName or 'fightCheer' in origAnimName) and not self.hoodId == ToontownGlobals.TheBrrrgh: result.append(Func(self.showWater)) - anim = self.createAnimIval('fight0' if 'fightBoost' in origAnimName else 'fight1') - result.append(anim) + if 'fightBoost' in origAnimName: + animKey = 'fight0' + else: + animKey = 'fight1' + animAndSound = self.createAnimAndSoundIval(animKey) + result.append(animAndSound) result.append(Func(self.hideWater)) - return result diff --git a/toontown/hood/InteractiveAnimatedProp.py b/toontown/hood/InteractiveAnimatedProp.py index 18123b11..af0b93a5 100644 --- a/toontown/hood/InteractiveAnimatedProp.py +++ b/toontown/hood/InteractiveAnimatedProp.py @@ -2,7 +2,7 @@ import math import random import GenericAnimatedProp from direct.actor import Actor -from direct.interval.IntervalGlobal import Sequence, ActorInterval, Wait, Func, Parallel +from direct.interval.IntervalGlobal import Sequence, ActorInterval, Wait, Func, SoundInterval, Parallel from direct.fsm import FSM from direct.showbase.PythonUtil import weightedChoice from pandac.PandaModules import TextNode, Vec3 @@ -30,8 +30,9 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): HpTextGenerator = TextNode('HpTextGenerator') BattleCheerText = '+' - def __init__(self, node): + def __init__(self, node, holidayId = -1): FSM.FSM.__init__(self, 'InteractiveProp-%s' % str(node)) + self.holidayId = holidayId self.numIdles = 0 self.numFightAnims = 0 self.idleInterval = None @@ -44,9 +45,11 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): self.okToStartNextAnim = False cellIndexStr = node.getTag('DNACellIndex') self.cellIndex = ord(cellIndexStr) + self.origAnimNameToSound = {} self.lastPlayingAnimPhase = 0 self.buildingsMakingMeSad = set() GenericAnimatedProp.GenericAnimatedProp.__init__(self, node) + return def delete(self): self.exit() @@ -55,6 +58,7 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): self.battleCheerInterval = None self.sadInterval = None self.victoryInterval = None + return def getCellIndex(self): return self.cellIndex @@ -110,6 +114,7 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): self.battleCheerInterval = self.createBattleCheerInterval() self.victoryInterval = self.createVictoryInterval() self.sadInterval = self.createSadInterval() + return def createIdleInterval(self): result = Sequence() @@ -154,14 +159,14 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): result = Sequence() for i in xrange(self.numFightAnims): animKey = 'fight%d' % i - animIval = self.createAnimIval(animKey) + animAndSoundIval = self.createAnimAndSoundIval(animKey) origAnimName = self.node.getAnimFilename(animKey).split('/')[-1] if self.hasOverrideIval(origAnimName): result.append(self.getOverrideIval(origAnimName)) elif self.hasSpecialIval(origAnimName): - result.append(Parallel(animIval, self.getSpecialIval(origAnimName))) + result.append(Parallel(animAndSoundIval, self.getSpecialIval(origAnimName))) else: - result.append(animIval) + result.append(animAndSoundIval) self.createBattleCheerText() battleCheerTextIval = Sequence(Func(self.hpText.show), self.hpText.posInterval(duration=4.0, pos=Vec3(0, 0, 7), startPos=(0, 0, 3)), Func(self.hpText.hide)) @@ -171,7 +176,7 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): def createSadInterval(self): result = Sequence() if self.hoodId in self.ZoneToSadAnims: - result = self.createAnimIval('sad') + result = self.createAnimAndSoundIval('sad') return result def hasSpecialIval(self, origAnimName): @@ -189,17 +194,26 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): def createVictoryInterval(self): result = Sequence() if self.hoodId in self.ZoneToVictoryAnims: - animIval = self.createAnimIval('victory') - result.append(animIval) + animAndSoundIval = self.createAnimAndSoundIval('victory') + result.append(animAndSoundIval) return result def enter(self): GenericAnimatedProp.GenericAnimatedProp.enter(self) if base.config.GetBool('props-buff-battles', True): self.notify.debug('props buff battles is true') - self.node.stop() - self.node.pose('idle0', 0) - self.idleInterval.loop() + if base.cr.newsManager.isHolidayRunning(self.holidayId): + self.notify.debug('holiday is running, doing idle interval') + self.node.stop() + self.node.pose('idle0', 0) + if base.config.GetBool('interactive-prop-random-idles', 1): + self.requestIdleOrSad() + else: + self.idleInterval.loop() + else: + self.notify.debug('holiday is NOT running, doing nothing') + self.node.stop() + self.node.pose('idle0', 0) else: self.notify.debug('props do not buff battles') self.node.stop() @@ -274,6 +288,8 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): whichAnim = self.chooseIdleAnimToRun() if self.visId == localAvatar.zoneId: self.notify.debug('whichAnim=%s' % whichAnim) + if __dev__: + self.notify.info('whichAnim=%s %s' % (whichAnim, self.getOrigIdleAnimName(whichAnim))) self.lastPlayingAnimPhase = whichAnim self.curIval = self.createIdleAnimSequence(whichAnim) self.notify.debug('starting curIval of length %s' % self.curIval.getDuration()) @@ -283,25 +299,28 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): self.notify.debug('false self.okToStartNextAnim=%s' % self.okToStartNextAnim) return - def createIdleAnimInterval(self, whichIdleAnim, startingTime = 0): + def createIdleAnimAndSoundInterval(self, whichIdleAnim, startingTime = 0): animIval = self.node.actorInterval('idle%d' % whichIdleAnim, startTime=startingTime) animIvalDuration = animIval.getDuration() origAnimName = self.ZoneToIdles[self.hoodId][whichIdleAnim] if isinstance(origAnimName, tuple): origAnimName = origAnimName[0] + soundIval = self.createSoundInterval(origAnimName, animIvalDuration) + soundIvalDuration = soundIval.getDuration() if self.hasSpecialIval(origAnimName): specialIval = self.getSpecialIval(origAnimName) - return Parallel(animIval, specialIval) + idleAnimAndSound = Parallel(animIval, soundIval, specialIval) else: - return animIval + idleAnimAndSound = Parallel(animIval, soundIval) + return idleAnimAndSound def createIdleAnimSequence(self, whichIdleAnim): dummyResult = Sequence(Wait(self.IdlePauseTime)) if not hasattr(self, 'node') or not self.node: self.notify.warning("createIdleAnimSequence returning dummyResult hasattr(self,'node')=%s" % hasattr(self, 'node')) return dummyResult - idleAnim = self.createIdleAnimInterval(whichIdleAnim) - result = Sequence(idleAnim, Wait(self.IdlePauseTime), Func(self.startNextIdleAnim)) + idleAnimAndSound = self.createIdleAnimAndSoundInterval(whichIdleAnim) + result = Sequence(idleAnimAndSound, Wait(self.IdlePauseTime), Func(self.startNextIdleAnim)) if isinstance(self.ZoneToIdles[self.hoodId][whichIdleAnim], tuple) and len(self.ZoneToIdles[self.hoodId][whichIdleAnim]) > 2: info = self.ZoneToIdles[self.hoodId][whichIdleAnim] origAnimName = info[0] @@ -314,7 +333,7 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): pauseTime = random.randrange(minPauseTime, maxPauseTime + 1) result = Sequence() for i in xrange(numberOfLoops): - result.append(idleAnim) + result.append(idleAnimAndSound) if self.getSettleName(whichIdleAnim): result.append(self.node.actorInterval('settle%d' % whichIdleAnim)) @@ -324,24 +343,39 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): def gotoFaceoff(self): self.notify.debugStateCall(self) - self.request('Faceoff') + if base.cr.newsManager.isHolidayRunning(self.holidayId): + self.request('Faceoff') + else: + self.notify.debug('not going to faceoff because holiday %d is not running' % self.holidayId) def gotoBattleCheer(self): self.notify.debugStateCall(self) - self.request('BattleCheer') + if base.cr.newsManager.isHolidayRunning(self.holidayId): + self.request('BattleCheer') + else: + self.notify.debug('not going to battleCheer because holiday %d is not running' % self.holidayId) def gotoIdle(self): self.notify.debugStateCall(self) - self.request('DoIdleAnim') + if base.cr.newsManager.isHolidayRunning(self.holidayId): + self.request('DoIdleAnim') + else: + self.notify.debug('not going to idle because holiday %d is not running' % self.holidayId) def gotoVictory(self): self.notify.debugStateCall(self) - self.request('Victory') + if base.cr.newsManager.isHolidayRunning(self.holidayId): + self.request('Victory') + else: + self.notify.debug('not going to victory because holiday %d is not running' % self.holidayId) def gotoSad(self, buildingDoId): self.notify.debugStateCall(self) self.buildingsMakingMeSad.add(buildingDoId) - self.request('Sad') + if base.cr.newsManager.isHolidayRunning(self.holidayId): + self.request('Sad') + else: + self.notify.debug('not going to sad because holiday %d is not running' % self.holidayId) def buildingLiberated(self, buildingDoId): self.buildingsMakingMeSad.discard(buildingDoId) @@ -357,6 +391,7 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): self.notify.debugStateCall(self) self.curIval.pause() self.curIval = None + return def calcWhichIdleAnim(self, animName): result = 0 @@ -377,9 +412,9 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): result = Sequence() if self.lastIdleAnimName: whichIdleAnim = self.calcWhichIdleAnim(self.lastIdleAnimName) - anim = self.createIdleAnimInterval(whichIdleAnim, self.lastIdleTime) - result.append(anim) - idleIntoFightIval = self.createAnimIval('idleIntoFight') + animAndSound = self.createIdleAnimAndSoundInterval(whichIdleAnim, self.lastIdleTime) + result.append(animAndSound) + idleIntoFightIval = self.createAnimAndSoundIval('idleIntoFight') result.append(idleIntoFightIval) result.append(Func(self.gotoBattleCheer)) return result @@ -437,18 +472,37 @@ class InteractiveAnimatedProp(GenericAnimatedProp.GenericAnimatedProp, FSM.FSM): result = self.ZoneToIdles[self.hoodId][whichIdleAnim] return result - def createAnimIval(self, animKey): + def createAnimAndSoundIval(self, animKey): animIval = self.node.actorInterval(animKey) animIvalDuration = animIval.getDuration() origAnimName = self.node.getAnimFilename(animKey) + soundIval = self.createSoundInterval(origAnimName, animIvalDuration) + soundIvalDuration = soundIval.getDuration() + printFunc = Func(self.printAnimIfClose, animKey) if self.hasSpecialIval(origAnimName): specialIval = self.getSpecialIval(origAnimName) - return Parallel(animIval, specialIval) + idleAnimAndSound = Parallel(animIval, soundIval, specialIval) + if base.config.GetBool('interactive-prop-info', False): + idleAnimAndSound.append(printFunc) else: - return animIval + idleAnimAndSound = Parallel(animIval, soundIval) + if base.config.GetBool('interactive-prop-info', False): + idleAnimAndSound.append(printFunc) + return idleAnimAndSound + + def printAnimIfClose(self, animKey): + if base.config.GetBool('interactive-prop-info', False): + try: + animName = self.node.getAnimFilename(animKey) + baseAnimName = animName.split('/')[-1] + if localAvatar.zoneId == self.visId: + self.notify.info('playing %s' % baseAnimName) + except Exception, e: + self.notify.warning('Unknown error in printAnimIfClose, giving up:\n%s' % str(e)) def clearCurIval(self): if self.curIval: self.curIval.finish() clearPythonIvals(self.curIval) self.curIval = None + return diff --git a/toontown/hood/MailboxInteractiveProp.py b/toontown/hood/MailboxInteractiveProp.py index fa2a315f..da13ea7f 100644 --- a/toontown/hood/MailboxInteractiveProp.py +++ b/toontown/hood/MailboxInteractiveProp.py @@ -2,92 +2,229 @@ from direct.actor import Actor from direct.directnotify import DirectNotifyGlobal from direct.interval.IntervalGlobal import Sequence, Func from toontown.hood import InteractiveAnimatedProp +from toontown.hood import GenericAnimatedProp from toontown.toonbase import ToontownGlobals, ToontownBattleGlobals, TTLocalizer class MailboxInteractiveProp(InteractiveAnimatedProp.InteractiveAnimatedProp): notify = DirectNotifyGlobal.directNotify.newCategory('MailboxInteractiveProp') - BattleTrack = ToontownBattleGlobals.THROW_TRACK - BattleCheerText = TTLocalizer.InteractivePropTrackBonusTerms[BattleTrack] - - ZoneToIdles = { - ToontownGlobals.ToontownCentral: (('tt_a_ara_ttc_mailbox_idle0', 3, 10, 'tt_a_ara_ttc_mailbox_idle0settle', 3, 10), - ('tt_a_ara_ttc_mailbox_idleTake2', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_mailbox_idleLook1', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_mailbox_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.DonaldsDock: (('tt_a_ara_dod_mailbox_idle0', 3, 10, 'tt_a_ara_dod_mailbox_idle0settle', 3, 10), - ('tt_a_ara_dod_mailbox_idle2', 1, 1, None, 3, 10), - ('tt_a_ara_dod_mailbox_idle1', 1, 1, None, 3, 10), - ('tt_a_ara_dod_mailbox_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.DaisyGardens: (('tt_a_ara_dga_mailbox_idle0', 3, 10, 'tt_a_ara_dga_mailbox_idle0settle', 3, 10), - ('tt_a_ara_dga_mailbox_idleTake1', 1, 1, None, 3, 10), - ('tt_a_ara_dga_mailbox_idleLook2', 1, 1, None, 3, 10), - ('tt_a_ara_dga_mailbox_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.MinniesMelodyland: (('tt_a_ara_mml_mailbox_idle0', 3, 10, 'tt_a_ara_mml_mailbox_idle0settle', 3, 10), - ('tt_a_ara_mml_mailbox_idleTake1', 1, 1, None, 3, 10), - ('tt_a_ara_mml_mailbox_idleLook2', 1, 1, None, 3, 10), - ('tt_a_ara_mml_mailbox_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.TheBrrrgh: (('tt_a_ara_tbr_mailbox_idleShiver1', 1, 1, None, 3, 10), - ('tt_a_ara_tbr_mailbox_idleSneeze2', 1, 1, None, 3, 10), - ('tt_a_ara_tbr_mailbox_idleSpin0', 1, 1, None, 3, 10), - ('tt_a_ara_tbr_mailbox_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.DonaldsDreamland: (('tt_a_ara_ddl_mailbox_idleSleep0', 3, 10, None, 0, 0), - ('tt_a_ara_ddl_mailbox_idleShake2', 1, 1, None, 0, 0), - ('tt_a_ara_ddl_mailbox_idleSnore1', 1, 1, None, 0, 0), - ('tt_a_ara_ddl_mailbox_idleAwesome3', 1, 1, None, 0, 0))} - - ZoneToIdleIntoFightAnims = { - ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_mailbox_idleIntoFight', - ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_mailbox_idleIntoFight', - ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_mailbox_idleIntoFight', - ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_mailbox_idleIntoFight', - ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_mailbox_idleIntoFight', - ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_mailbox_idleIntoFight'} - - ZoneToVictoryAnims = { - ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_mailbox_victoryDance', - ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_mailbox_victoryDance', - ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_mailbox_victoryDance', - ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_mailbox_victoryDance', - ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_mailbox_victoryDance', - ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_mailbox_victoryDance'} - - ZoneToSadAnims = { - ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_mailbox_fightSad', - ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_mailbox_fightSad', - ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_mailbox_fightSad', - ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_mailbox_fightSad', - ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_mailbox_fightSad', - ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_mailbox_fightSad'} - - ZoneToFightAnims = { - ToontownGlobals.ToontownCentral: ('tt_a_ara_ttc_mailbox_fightBoost', 'tt_a_ara_ttc_mailbox_fightCheer', 'tt_a_ara_ttc_mailbox_fightIdle'), - ToontownGlobals.DonaldsDock: ('tt_a_ara_dod_mailbox_fightBoost', 'tt_a_ara_dod_mailbox_fightCheer', 'tt_a_ara_dod_mailbox_fightIdle'), - ToontownGlobals.DaisyGardens: ('tt_a_ara_dga_mailbox_fightBoost', 'tt_a_ara_dga_mailbox_fightCheer', 'tt_a_ara_dga_mailbox_fightIdle'), - ToontownGlobals.MinniesMelodyland: ('tt_a_ara_mml_mailbox_fightBoost', 'tt_a_ara_mml_mailbox_fightCheer', 'tt_a_ara_mml_mailbox_fightIdle'), - ToontownGlobals.TheBrrrgh: ('tt_a_ara_tbr_mailbox_fightBoost', 'tt_a_ara_tbr_mailbox_fightCheer', 'tt_a_ara_tbr_mailbox_fightIdle'), - ToontownGlobals.DonaldsDreamland: ('tt_a_ara_ddl_mailbox_fightBoost', 'tt_a_ara_ddl_mailbox_fightCheer', 'tt_a_ara_ddl_mailbox_fightIdle')} - + BattleCheerText = TTLocalizer.InteractivePropTrackBonusTerms[ToontownBattleGlobals.THROW_TRACK] + ZoneToIdles = {ToontownGlobals.ToontownCentral: (('tt_a_ara_ttc_mailbox_idle0', + 3, + 10, + 'tt_a_ara_ttc_mailbox_idle0settle', + 3, + 10), + ('tt_a_ara_ttc_mailbox_idleTake2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_mailbox_idleLook1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_mailbox_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.FunnyFarm: (('tt_a_ara_ttc_mailbox_idle0', + 3, + 10, + 'tt_a_ara_ttc_mailbox_idle0settle', + 3, + 10), + ('tt_a_ara_ttc_mailbox_idleTake2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_mailbox_idleLook1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_mailbox_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.DonaldsDock: (('tt_a_ara_dod_mailbox_idle0', + 3, + 10, + 'tt_a_ara_dod_mailbox_idle0settle', + 3, + 10), + ('tt_a_ara_dod_mailbox_idle2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dod_mailbox_idle1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dod_mailbox_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.DaisyGardens: (('tt_a_ara_dga_mailbox_idle0', + 3, + 10, + 'tt_a_ara_dga_mailbox_idle0settle', + 3, + 10), + ('tt_a_ara_dga_mailbox_idleTake1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dga_mailbox_idleLook2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dga_mailbox_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.MinniesMelodyland: (('tt_a_ara_mml_mailbox_idle0', + 3, + 10, + 'tt_a_ara_mml_mailbox_idle0settle', + 3, + 10), + ('tt_a_ara_mml_mailbox_idleTake1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_mml_mailbox_idleLook2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_mml_mailbox_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.TheBrrrgh: (('tt_a_ara_tbr_mailbox_idleShiver1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_tbr_mailbox_idleSneeze2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_tbr_mailbox_idleSpin0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_tbr_mailbox_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.DonaldsDreamland: (('tt_a_ara_ddl_mailbox_idleSleep0', + 3, + 10, + None, + 0, + 0), + ('tt_a_ara_ddl_mailbox_idleShake2', + 1, + 1, + None, + 0, + 0), + ('tt_a_ara_ddl_mailbox_idleSnore1', + 1, + 1, + None, + 0, + 0), + ('tt_a_ara_ddl_mailbox_idleAwesome3', + 1, + 1, + None, + 0, + 0))} + ZoneToIdleIntoFightAnims = {ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_mailbox_idleIntoFight', + ToontownGlobals.FunnyFarm: 'tt_a_ara_ttc_mailbox_idleIntoFight', + ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_mailbox_idleIntoFight', + ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_mailbox_idleIntoFight', + ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_mailbox_idleIntoFight', + ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_mailbox_idleIntoFight', + ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_mailbox_idleIntoFight'} + ZoneToVictoryAnims = {ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_mailbox_victoryDance', + ToontownGlobals.FunnyFarm: 'tt_a_ara_ttc_mailbox_victoryDance', + ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_mailbox_victoryDance', + ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_mailbox_victoryDance', + ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_mailbox_victoryDance', + ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_mailbox_victoryDance', + ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_mailbox_victoryDance'} + ZoneToSadAnims = {ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_mailbox_fightSad', + ToontownGlobals.FunnyFarm: 'tt_a_ara_ttc_mailbox_fightSad', + ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_mailbox_fightSad', + ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_mailbox_fightSad', + ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_mailbox_fightSad', + ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_mailbox_fightSad', + ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_mailbox_fightSad'} + ZoneToFightAnims = {ToontownGlobals.ToontownCentral: ('tt_a_ara_ttc_mailbox_fightBoost', 'tt_a_ara_ttc_mailbox_fightCheer', 'tt_a_ara_ttc_mailbox_fightIdle'), + ToontownGlobals.FunnyFarm: ('tt_a_ara_ttc_mailbox_fightBoost', 'tt_a_ara_ttc_mailbox_fightCheer', 'tt_a_ara_ttc_mailbox_fightIdle'), + ToontownGlobals.DonaldsDock: ('tt_a_ara_dod_mailbox_fightBoost', 'tt_a_ara_dod_mailbox_fightCheer', 'tt_a_ara_dod_mailbox_fightIdle'), + ToontownGlobals.DaisyGardens: ('tt_a_ara_dga_mailbox_fightBoost', 'tt_a_ara_dga_mailbox_fightCheer', 'tt_a_ara_dga_mailbox_fightIdle'), + ToontownGlobals.MinniesMelodyland: ('tt_a_ara_mml_mailbox_fightBoost', 'tt_a_ara_mml_mailbox_fightCheer', 'tt_a_ara_mml_mailbox_fightIdle'), + ToontownGlobals.TheBrrrgh: ('tt_a_ara_tbr_mailbox_fightBoost', 'tt_a_ara_tbr_mailbox_fightCheer', 'tt_a_ara_tbr_mailbox_fightIdle'), + ToontownGlobals.DonaldsDreamland: ('tt_a_ara_ddl_mailbox_fightBoost', 'tt_a_ara_ddl_mailbox_fightCheer', 'tt_a_ara_ddl_mailbox_fightIdle')} IdlePauseTime = base.config.GetFloat('prop-idle-pause-time', 0.0) def __init__(self, node): - InteractiveAnimatedProp.InteractiveAnimatedProp.__init__(self, node) + InteractiveAnimatedProp.InteractiveAnimatedProp.__init__(self, node, ToontownGlobals.MAILBOXES_BUFF_BATTLES) def setupActor(self, node): self.pieActor = Actor.Actor('phase_5/models/char/tt_r_prp_ext_piePackage', {'fightBoost': 'phase_5/models/char/tt_a_prp_ext_piePackage_fightBoost'}) self.pieActor.reparentTo(self.node) self.pieActor.hide() - InteractiveAnimatedProp.InteractiveAnimatedProp.setupActor(self, node) def hasSpecialIval(self, origAnimName): - return 'fightBoost' in origAnimName + result = False + if 'fightBoost' in origAnimName: + result = True + return result def getSpecialIval(self, origAnimName): result = Sequence() - - if self.hasSpecialIval(origAnimName): + if 'fightBoost' in origAnimName: result.append(Func(self.pieActor.show)) result.append(self.pieActor.actorInterval('fightBoost')) result.append(Func(self.pieActor.hide)) - return result diff --git a/toontown/hood/TrashcanInteractiveProp.py b/toontown/hood/TrashcanInteractiveProp.py index 1ac6c658..b5eee585 100644 --- a/toontown/hood/TrashcanInteractiveProp.py +++ b/toontown/hood/TrashcanInteractiveProp.py @@ -1,72 +1,212 @@ from direct.actor import Actor from direct.directnotify import DirectNotifyGlobal from toontown.hood import InteractiveAnimatedProp +from toontown.hood import GenericAnimatedProp from toontown.toonbase import ToontownGlobals, ToontownBattleGlobals, TTLocalizer class TrashcanInteractiveProp(InteractiveAnimatedProp.InteractiveAnimatedProp): notify = DirectNotifyGlobal.directNotify.newCategory('TrashcanInteractiveProp') - BattleTrack = ToontownBattleGlobals.HEAL_TRACK - BattleCheerText = TTLocalizer.InteractivePropTrackBonusTerms[BattleTrack] - - ZoneToIdles = { - ToontownGlobals.ToontownCentral: (('tt_a_ara_ttc_trashcan_idleTake2', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_trashcan_idleHiccup0', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_trashcan_idleLook1', 1, 1, None, 3, 10), - ('tt_a_ara_ttc_trashcan_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.DonaldsDock: (('tt_a_ara_dod_trashcan_idleBounce2', 3, 10, 'tt_a_ara_dod_trashcan_idle0settle', 3, 10), - ('tt_a_ara_dod_trashcan_idle0', 1, 1, None, 3, 10), - ('tt_a_ara_dod_trashcan_idle1', 1, 1, None, 3, 10), - ('tt_a_ara_dod_trashcan_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.DaisyGardens: (('tt_a_ara_dga_trashcan_idleTake2', 1, 1, None, 3, 10), - ('tt_a_ara_dga_trashcan_idleHiccup0', 1, 1, None, 3, 10), - ('tt_a_ara_dga_trashcan_idleLook1', 1, 1, None, 3, 10), - ('tt_a_ara_dga_trashcan_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.MinniesMelodyland: (('tt_a_ara_mml_trashcan_idleBounce0', 3, 10, 'tt_a_ara_mml_trashcan_idle0settle', 3, 10), - ('tt_a_ara_mml_trashcan_idleLook1', 1, 1, None, 3, 10), - ('tt_a_ara_mml_trashcan_idleHelicopter2', 1, 1, None, 3, 10), - ('tt_a_ara_mml_trashcan_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.TheBrrrgh: (('tt_a_ara_tbr_trashcan_idleShiver1', 1, 1, None, 3, 10), - ('tt_a_ara_tbr_trashcan_idleSneeze2', 1, 1, None, 3, 10), - ('tt_a_ara_tbr_trashcan_idle0', 1, 1, None, 3, 10), - ('tt_a_ara_tbr_trashcan_idleAwesome3', 1, 1, None, 3, 10)), - ToontownGlobals.DonaldsDreamland: (('tt_a_ara_ddl_trashcan_idleSleep0', 3, 10, None, 0, 0), - ('tt_a_ara_ddl_trashcan_idleShake2', 1, 1, None, 0, 0), - ('tt_a_ara_ddl_trashcan_idleSnore1', 1, 1, None, 0, 0), - ('tt_a_ara_ddl_trashcan_idleAwesome3', 1, 1, None, 0, 0))} - - ZoneToIdleIntoFightAnims = { - ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_trashcan_idleIntoFight', - ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_trashcan_idleIntoFight', - ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_trashcan_idleIntoFight', - ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_trashcan_idleIntoFight', - ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_trashcan_idleIntoFight', - ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_trashcan_idleIntoFight'} - - ZoneToVictoryAnims = { - ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_trashcan_victoryDance', - ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_trashcan_victoryDance', - ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_trashcan_victoryDance', - ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_trashcan_victoryDance', - ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_trashcan_victoryDance', - ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_trashcan_victoryDance'} - - ZoneToSadAnims = { - ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_trashcan_fightSad', - ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_trashcan_fightSad', - ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_trashcan_fightSad', - ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_trashcan_fightSad', - ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_trashcan_fightSad', - ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_trashcan_fightSad'} - - ZoneToFightAnims = { - ToontownGlobals.ToontownCentral: ('tt_a_ara_ttc_trashcan_fightBoost', 'tt_a_ara_ttc_trashcan_fightCheer', 'tt_a_ara_ttc_trashcan_fightIdle'), - ToontownGlobals.DonaldsDock: ('tt_a_ara_dod_trashcan_fightBoost', 'tt_a_ara_dod_trashcan_fightCheer', 'tt_a_ara_dod_trashcan_fightIdle'), - ToontownGlobals.DaisyGardens: ('tt_a_ara_dga_trashcan_fightBoost', 'tt_a_ara_dga_trashcan_fightCheer', 'tt_a_ara_dga_trashcan_fightIdle'), - ToontownGlobals.MinniesMelodyland: ('tt_a_ara_mml_trashcan_fightBoost', 'tt_a_ara_mml_trashcan_fightCheer0', 'tt_a_ara_mml_trashcan_fightCheer1', 'tt_a_ara_mml_trashcan_fightIdle'), - ToontownGlobals.TheBrrrgh: ('tt_a_ara_tbr_trashcan_fightBoost', 'tt_a_ara_tbr_trashcan_fightCheer', 'tt_a_ara_tbr_trashcan_fightIdle'), - ToontownGlobals.DonaldsDreamland: ('tt_a_ara_ddl_trashcan_fightBoost', 'tt_a_ara_ddl_trashcan_fightCheer', 'tt_a_ara_ddl_trashcan_fightIdle')} - + BattleCheerText = TTLocalizer.InteractivePropTrackBonusTerms[ToontownBattleGlobals.HEAL_TRACK] + ZoneToIdles = {ToontownGlobals.ToontownCentral: (('tt_a_ara_ttc_trashcan_idleTake2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_trashcan_idleHiccup0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_trashcan_idleLook1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_trashcan_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.FunnyFarm: (('tt_a_ara_ttc_trashcan_idleTake2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_trashcan_idleHiccup0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_trashcan_idleLook1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_ttc_trashcan_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.DonaldsDock: (('tt_a_ara_dod_trashcan_idleBounce2', + 3, + 10, + 'tt_a_ara_dod_trashcan_idle0settle', + 3, + 10), + ('tt_a_ara_dod_trashcan_idle0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dod_trashcan_idle1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dod_trashcan_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.DaisyGardens: (('tt_a_ara_dga_trashcan_idleTake2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dga_trashcan_idleHiccup0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dga_trashcan_idleLook1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_dga_trashcan_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.MinniesMelodyland: (('tt_a_ara_mml_trashcan_idleBounce0', + 3, + 10, + 'tt_a_ara_mml_trashcan_idle0settle', + 3, + 10), + ('tt_a_ara_mml_trashcan_idleLook1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_mml_trashcan_idleHelicopter2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_mml_trashcan_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.TheBrrrgh: (('tt_a_ara_tbr_trashcan_idleShiver1', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_tbr_trashcan_idleSneeze2', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_tbr_trashcan_idle0', + 1, + 1, + None, + 3, + 10), + ('tt_a_ara_tbr_trashcan_idleAwesome3', + 1, + 1, + None, + 3, + 10)), + ToontownGlobals.DonaldsDreamland: (('tt_a_ara_ddl_trashcan_idleSleep0', + 3, + 10, + None, + 0, + 0), + ('tt_a_ara_ddl_trashcan_idleShake2', + 1, + 1, + None, + 0, + 0), + ('tt_a_ara_ddl_trashcan_idleSnore1', + 1, + 1, + None, + 0, + 0), + ('tt_a_ara_ddl_trashcan_idleAwesome3', + 1, + 1, + None, + 0, + 0))} + ZoneToIdleIntoFightAnims = {ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_trashcan_idleIntoFight', + ToontownGlobals.FunnyFarm: 'tt_a_ara_ttc_trashcan_idleIntoFight', + ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_trashcan_idleIntoFight', + ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_trashcan_idleIntoFight', + ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_trashcan_idleIntoFight', + ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_trashcan_idleIntoFight', + ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_trashcan_idleIntoFight'} + ZoneToVictoryAnims = {ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_trashcan_victoryDance', + ToontownGlobals.FunnyFarm: 'tt_a_ara_ttc_trashcan_victoryDance', + ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_trashcan_victoryDance', + ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_trashcan_victoryDance', + ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_trashcan_victoryDance', + ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_trashcan_victoryDance', + ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_trashcan_victoryDance'} + ZoneToSadAnims = {ToontownGlobals.ToontownCentral: 'tt_a_ara_ttc_trashcan_fightSad', + ToontownGlobals.FunnyFarm: 'tt_a_ara_ttc_trashcan_fightSad', + ToontownGlobals.DonaldsDock: 'tt_a_ara_dod_trashcan_fightSad', + ToontownGlobals.DaisyGardens: 'tt_a_ara_dga_trashcan_fightSad', + ToontownGlobals.MinniesMelodyland: 'tt_a_ara_mml_trashcan_fightSad', + ToontownGlobals.TheBrrrgh: 'tt_a_ara_tbr_trashcan_fightSad', + ToontownGlobals.DonaldsDreamland: 'tt_a_ara_ddl_trashcan_fightSad'} + ZoneToFightAnims = {ToontownGlobals.ToontownCentral: ('tt_a_ara_ttc_trashcan_fightBoost', 'tt_a_ara_ttc_trashcan_fightCheer', 'tt_a_ara_ttc_trashcan_fightIdle'), + ToontownGlobals.FunnyFarm: ('tt_a_ara_ttc_trashcan_fightBoost', 'tt_a_ara_ttc_trashcan_fightCheer', 'tt_a_ara_ttc_trashcan_fightIdle'), + ToontownGlobals.DonaldsDock: ('tt_a_ara_dod_trashcan_fightBoost', 'tt_a_ara_dod_trashcan_fightCheer', 'tt_a_ara_dod_trashcan_fightIdle'), + ToontownGlobals.DaisyGardens: ('tt_a_ara_dga_trashcan_fightBoost', 'tt_a_ara_dga_trashcan_fightCheer', 'tt_a_ara_dga_trashcan_fightIdle'), + ToontownGlobals.MinniesMelodyland: ('tt_a_ara_mml_trashcan_fightBoost', + 'tt_a_ara_mml_trashcan_fightCheer0', + 'tt_a_ara_mml_trashcan_fightCheer1', + 'tt_a_ara_mml_trashcan_fightIdle'), + ToontownGlobals.TheBrrrgh: ('tt_a_ara_tbr_trashcan_fightBoost', 'tt_a_ara_tbr_trashcan_fightCheer', 'tt_a_ara_tbr_trashcan_fightIdle'), + ToontownGlobals.DonaldsDreamland: ('tt_a_ara_ddl_trashcan_fightBoost', 'tt_a_ara_ddl_trashcan_fightCheer', 'tt_a_ara_ddl_trashcan_fightIdle')} IdlePauseTime = base.config.GetFloat('prop-idle-pause-time', 0.0) def __init__(self, node): - InteractiveAnimatedProp.InteractiveAnimatedProp.__init__(self, node) \ No newline at end of file + InteractiveAnimatedProp.InteractiveAnimatedProp.__init__(self, node, ToontownGlobals.TRASHCANS_BUFF_BATTLES) diff --git a/toontown/safezone/SafeZoneLoader.py b/toontown/safezone/SafeZoneLoader.py index ad673b46..1f63df6f 100644 --- a/toontown/safezone/SafeZoneLoader.py +++ b/toontown/safezone/SafeZoneLoader.py @@ -222,6 +222,22 @@ class SafeZoneLoader(StateData.StateData): animPropList = self.animPropDict.setdefault(i, []) animPropList.append(animPropObj) + interactivePropNodes = i.findAllMatches('**/interactive_prop_*') + numInteractivePropNodes = interactivePropNodes.getNumPaths() + for j in xrange(numInteractivePropNodes): + interactivePropNode = interactivePropNodes.getPath(j) + className = 'GenericAnimatedProp' + symbols = {} + base.cr.importModule(symbols, 'toontown.hood', [className]) + classObj = getattr(symbols[className], className) + interactivePropObj = classObj(interactivePropNode) + animPropList = self.animPropDict.get(i) + if animPropList is None: + animPropList = self.animPropDict.setdefault(i, []) + animPropList.append(interactivePropObj) + + return + def deleteAnimatedProps(self): for zoneNode, animPropList in self.animPropDict.items(): for animProp in animPropList: diff --git a/toontown/suit/DistributedSuitBase.py b/toontown/suit/DistributedSuitBase.py index 0b17b62b..186479e5 100644 --- a/toontown/suit/DistributedSuitBase.py +++ b/toontown/suit/DistributedSuitBase.py @@ -60,9 +60,7 @@ class DistributedSuitBase(DistributedAvatar.DistributedAvatar, Suit.Suit, SuitBa self.maxSkeleRevives = 0 self.sillySurgeText = False self.interactivePropTrackBonus = -1 - - def setInteractivePropTrackBonus(self, trackBonus): - self.interactivePropTrackBonus = trackBonus + return def setVirtual(self, virtual): pass diff --git a/toontown/toon/InventoryNew.py b/toontown/toon/InventoryNew.py index 02769171..33d775b6 100644 --- a/toontown/toon/InventoryNew.py +++ b/toontown/toon/InventoryNew.py @@ -1187,7 +1187,10 @@ class InventoryNew(InventoryBase.InventoryBase, DirectFrame): messenger.send('exitTrackFrame', [track]) def checkPropBonus(self, track): - return track == self.interactivePropTrackBonus + result = False + if track == self.interactivePropTrackBonus: + result = True + return result def stopAndClearPropBonusIval(self): if self.propBonusIval and self.propBonusIval.isPlaying(): diff --git a/toontown/toonbase/ToontownGlobals.py b/toontown/toonbase/ToontownGlobals.py index 7cba83ed..97691b54 100644 --- a/toontown/toonbase/ToontownGlobals.py +++ b/toontown/toonbase/ToontownGlobals.py @@ -886,6 +886,9 @@ WINTER_CAROLING = 57 VALENTINES_DAY = 59 SILLYMETER_HOLIDAY = 60 SILLY_SURGE_HOLIDAY = 63 +HYDRANTS_BUFF_BATTLES = 64 +MAILBOXES_BUFF_BATTLES = 65 +TRASHCANS_BUFF_BATTLES = 66 SILLY_CHATTER_ONE = 67 SILLY_CHATTER_TWO = 68 SILLY_CHATTER_THREE = 69 diff --git a/toontown/town/TownLoader.py b/toontown/town/TownLoader.py index 0cb5a224..fcd35e5d 100644 --- a/toontown/town/TownLoader.py +++ b/toontown/town/TownLoader.py @@ -17,7 +17,8 @@ from toontown.toon.Toon import teleportDebug from toontown.battle import BattleParticles from direct.fsm import StateData from toontown.building import ToonInterior -from toontown.hood import QuietZoneState, ZoneUtil, HydrantInteractiveProp, MailboxInteractiveProp, TrashcanInteractiveProp +from toontown.hood import QuietZoneState +from toontown.hood import ZoneUtil from direct.interval.IntervalGlobal import * from toontown.dna.DNAParser import DNABulkLoader @@ -291,7 +292,6 @@ class TownLoader(StateData.StateData): def createAnimatedProps(self, nodeList): self.animPropDict = {} self.zoneIdToInteractivePropDict = {} - for i in nodeList: animPropNodes = i.findAllMatches('**/animated_prop_*') numAnimPropNodes = animPropNodes.getNumPaths() @@ -313,26 +313,50 @@ class TownLoader(StateData.StateData): animPropList.append(animPropObj) interactivePropNodes = i.findAllMatches('**/interactive_prop_*') + numInteractivePropNodes = interactivePropNodes.getNumPaths() + for j in xrange(numInteractivePropNodes): + interactivePropNode = interactivePropNodes.getPath(j) + className = 'InteractiveAnimatedProp' + if 'hydrant' in interactivePropNode.getName(): + className = 'HydrantInteractiveProp' + elif 'trashcan' in interactivePropNode.getName(): + className = 'TrashcanInteractiveProp' + elif 'mailbox' in interactivePropNode.getName(): + className = 'MailboxInteractiveProp' + symbols = {} + base.cr.importModule(symbols, 'toontown.hood', [className]) + classObj = getattr(symbols[className], className) + interactivePropObj = classObj(interactivePropNode) + animPropList = self.animPropDict.get(i) + if animPropList is None: + animPropList = self.animPropDict.setdefault(i, []) + animPropList.append(interactivePropObj) + if interactivePropObj.getCellIndex() == 0: + zoneId = int(i.getName()) + if zoneId not in self.zoneIdToInteractivePropDict: + self.zoneIdToInteractivePropDict[zoneId] = interactivePropObj + else: + self.notify.error('already have interactive prop %s in zone %s' % (self.zoneIdToInteractivePropDict, zoneId)) - for j in xrange(interactivePropNodes.getNumPaths()): - propNode = interactivePropNodes.getPath(j) - propName = propNode.getName() + animatedBuildingNodes = i.findAllMatches('**/*:animated_building_*;-h') + for np in animatedBuildingNodes: + if np.getName().startswith('sb'): + animatedBuildingNodes.removePath(np) - if 'hydrant' in propName: - prop = HydrantInteractiveProp.HydrantInteractiveProp(propNode) - elif 'trashcan' in propName: - prop = TrashcanInteractiveProp.TrashcanInteractiveProp(propNode) - elif 'mailbox' in propName: - prop = MailboxInteractiveProp.MailboxInteractiveProp(propNode) - else: - continue + numAnimatedBuildingNodes = animatedBuildingNodes.getNumPaths() + for j in xrange(numAnimatedBuildingNodes): + animatedBuildingNode = animatedBuildingNodes.getPath(j) + className = 'GenericAnimatedBuilding' + symbols = {} + base.cr.importModule(symbols, 'toontown.hood', [className]) + classObj = getattr(symbols[className], className) + animatedBuildingObj = classObj(animatedBuildingNode) + animPropList = self.animPropDict.get(i) + if animPropList is None: + animPropList = self.animPropDict.setdefault(i, []) + animPropList.append(animatedBuildingObj) - if i in self.animPropDict: - self.animPropDict[i].append(prop) - else: - self.animPropDict[i] = [prop] - - self.zoneIdToInteractivePropDict[int(i.getName())] = prop + return def deleteAnimatedProps(self): for zoneNode, animPropList in self.animPropDict.items(): @@ -350,6 +374,7 @@ class TownLoader(StateData.StateData): animProp.exit() def getInteractiveProp(self, zoneId): + result = None if zoneId in self.zoneIdToInteractivePropDict: - return self.zoneIdToInteractivePropDict[zoneId] - return None + result = self.zoneIdToInteractivePropDict[zoneId] + return result From 8f7978052c6d0d17ac626cc8f0e7c5cb64f9b8a1 Mon Sep 17 00:00:00 2001 From: John Cote Date: Mon, 18 May 2015 00:28:51 -0400 Subject: [PATCH 54/78] Fix Silly Street crash --- toontown/town/TownLoader.py | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/toontown/town/TownLoader.py b/toontown/town/TownLoader.py index fcd35e5d..fa82d440 100644 --- a/toontown/town/TownLoader.py +++ b/toontown/town/TownLoader.py @@ -218,11 +218,6 @@ class TownLoader(StateData.StateData): nodePath = npc.getPath(i) nodePath.wrtReparentTo(bucket) - npc = self.geom.findAllMatches('**/sb*:*animated_building*_DNARoot') - for i in xrange(npc.getNumPaths()): - nodePath = npc.getPath(i) - nodePath.wrtReparentTo(bucket) - def makeDictionaries(self, dnaStore): self.nodeDict = {} self.zoneDict = {} @@ -338,24 +333,6 @@ class TownLoader(StateData.StateData): else: self.notify.error('already have interactive prop %s in zone %s' % (self.zoneIdToInteractivePropDict, zoneId)) - animatedBuildingNodes = i.findAllMatches('**/*:animated_building_*;-h') - for np in animatedBuildingNodes: - if np.getName().startswith('sb'): - animatedBuildingNodes.removePath(np) - - numAnimatedBuildingNodes = animatedBuildingNodes.getNumPaths() - for j in xrange(numAnimatedBuildingNodes): - animatedBuildingNode = animatedBuildingNodes.getPath(j) - className = 'GenericAnimatedBuilding' - symbols = {} - base.cr.importModule(symbols, 'toontown.hood', [className]) - classObj = getattr(symbols[className], className) - animatedBuildingObj = classObj(animatedBuildingNode) - animPropList = self.animPropDict.get(i) - if animPropList is None: - animPropList = self.animPropDict.setdefault(i, []) - animPropList.append(animatedBuildingObj) - return def deleteAnimatedProps(self): From d882959bfaa73cea9b1fbb2762a06b96d37cec50 Mon Sep 17 00:00:00 2001 From: Master Jumblespeed Date: Mon, 18 May 2015 22:11:33 -0400 Subject: [PATCH 55/78] switch to remote --- .gitignore | 0 PPYTHON_PATH | 0 README.md | 0 ai.bat | 0 all.bat | 0 astron.bat | 0 astron/.gitignore | 0 astron/astrond.exe | Bin astron/config/clientagent-0.yml | 0 astron/config/clientagent-1.yml | 0 astron/config/clientagent-2.yml | 0 astron/config/clientagent-3.yml | 0 astron/config/clientagent-4.yml | 0 astron/config/clientagent-5.yml | 0 astron/config/clientagent-6.yml | 0 astron/config/clientagent-7.yml | 0 astron/config/cluster.yml | 0 astron/config/eventlogger.yml | 0 astron/config/production-cluster.yml | 0 astron/darwin/start-ai-server.sh | 0 astron/darwin/start-astron-cluster.sh | 0 astron/darwin/start-uberdog-server.sh | 0 astron/databases/.gitignore | 0 astron/databases/astrondb/.gitignore | 0 astron/dclass/stride.dc | 0 astron/libeay32.dll | Bin astron/linux/start-ai-server.sh | 0 astron/linux/start-astron-cluster.sh | 0 astron/linux/start-uberdog-server.sh | 0 astron/ssleay32.dll | Bin client.bat | 0 config/events/grand-opening.prc | 0 config/general.prc | 0 config/guieditor.prc | 0 config/holidays/christmas.prc | 0 config/holidays/halloween.prc | 0 config/release/dev.prc | 6 +- config/release/en.prc | 0 config/release/test.prc | 0 darwin/start-game-remotedb.sh | 0 darwin/start-game.sh | 0 deployment/.gitignore | 0 deployment/FreezeTool.patch | 0 deployment/deploy.py | 0 doc/building/README.md | 0 doc/style-guide/README.md | 0 doc/style-guide/cxx-style.md | 0 doc/style-guide/git-style.md | 0 doc/style-guide/python-style.md | 0 guieditor.bat | 0 guieditor/EditorStart.py | 0 guieditor/__init__.py | 0 libpandadna.pyd | Bin linux/start-game-localhost.sh | 0 linux/start-game-remotedb.sh | 0 linux/start-game.sh | 0 otp/__init__.py | 0 otp/ai/AIBase.py | 0 otp/ai/AIBaseGlobal.py | 0 otp/ai/AIMsgTypes.py | 0 otp/ai/AIZoneData.py | 0 otp/ai/BanManagerAI.py | 0 otp/ai/Barrier.py | 0 otp/ai/MagicWordGlobal.py | 0 otp/ai/MagicWordManager.py | 0 otp/ai/MagicWordManagerAI.py | 0 otp/ai/TimeManager.py | 0 otp/ai/TimeManagerAI.py | 0 otp/ai/__init__.py | 0 otp/avatar/Avatar.py | 0 otp/avatar/AvatarDNA.py | 0 otp/avatar/AvatarDetail.py | 0 otp/avatar/AvatarHandle.py | 0 otp/avatar/AvatarPanel.py | 0 otp/avatar/DistributedAvatar.py | 0 otp/avatar/DistributedAvatarAI.py | 0 otp/avatar/DistributedAvatarUD.py | 0 otp/avatar/DistributedPlayer.py | 0 otp/avatar/DistributedPlayerAI.py | 0 otp/avatar/Emote.py | 0 otp/avatar/LocalAvatar.py | 0 otp/avatar/PlayerBase.py | 0 otp/avatar/PositionExaminer.py | 0 otp/avatar/ShadowCaster.py | 0 otp/avatar/__init__.py | 0 otp/chat/ChatAgent.py | 0 otp/chat/ChatAgentAI.py | 0 otp/chat/ChatAgentUD.py | 0 otp/chat/ChatGarbler.py | 0 otp/chat/ChatGlobals.py | 0 otp/chat/ChatInputNormal.py | 0 otp/chat/ChatInputTyped.py | 0 otp/chat/ChatInputWhiteListFrame.py | 0 otp/chat/ChatManager.py | 0 otp/chat/SequenceList.py | 0 otp/chat/TalkAssistant.py | 0 otp/chat/TalkGlobals.py | 0 otp/chat/TalkHandle.py | 0 otp/chat/TalkMessage.py | 0 otp/chat/WhiteList.py | 0 otp/chat/__init__.py | 0 otp/distributed/Account.py | 0 otp/distributed/AccountAI.py | 0 otp/distributed/AccountUD.py | 0 otp/distributed/ClsendTracker.py | 0 otp/distributed/DCClassImports.py | 0 otp/distributed/DistributedDirectory.py | 0 otp/distributed/DistributedDirectoryAI.py | 0 otp/distributed/DistributedDistrict.py | 0 otp/distributed/DistributedDistrictAI.py | 0 otp/distributed/DistributedDistrictUD.py | 0 otp/distributed/OTPClientRepository.py | 0 otp/distributed/OtpDoGlobals.py | 0 otp/distributed/PotentialAvatar.py | 0 otp/distributed/PotentialShard.py | 0 otp/distributed/TelemetryLimited.py | 0 otp/distributed/TelemetryLimiter.py | 0 otp/distributed/__init__.py | 0 otp/friends/FriendManager.py | 0 otp/friends/FriendManagerAI.py | 0 otp/friends/__init__.py | 0 otp/level/AmbientSound.py | 0 otp/level/AttribDesc.py | 0 otp/level/BasicEntities.py | 0 otp/level/CollisionSolidEntity.py | 0 otp/level/CutScene.py | 0 otp/level/DistributedEntity.py | 0 otp/level/DistributedEntityAI.py | 0 otp/level/DistributedInteractiveEntity.py | 0 otp/level/DistributedInteractiveEntityAI.py | 0 otp/level/DistributedLevel.py | 0 otp/level/DistributedLevelAI.py | 0 otp/level/Entity.py | 0 otp/level/EntityCreator.py | 0 otp/level/EntityCreatorAI.py | 0 otp/level/EntityCreatorBase.py | 0 otp/level/EntityStateVarSet.py | 0 otp/level/EntityTypeDesc.py | 0 otp/level/EntityTypes.py | 0 otp/level/EntrancePoint.py | 0 otp/level/Level.py | 0 otp/level/LevelConstants.py | 0 otp/level/LevelMgr.py | 0 otp/level/LevelMgrAI.py | 0 otp/level/LevelMgrBase.py | 0 otp/level/LevelSpec.py | 0 otp/level/LevelUtil.py | 0 otp/level/LocatorEntity.py | 0 otp/level/LogicGate.py | 0 otp/level/ModelEntity.py | 0 otp/level/PathEntity.py | 0 otp/level/PropSpinner.py | 0 otp/level/VisibilityBlocker.py | 0 otp/level/VisibilityExtender.py | 0 otp/level/ZoneEntity.py | 0 otp/level/ZoneEntityAI.py | 0 otp/level/ZoneEntityBase.py | 0 otp/level/__init__.py | 0 otp/movement/CMover.py | 0 otp/movement/Impulse.py | 0 otp/movement/Mover.py | 0 otp/movement/PyVec3.py | 0 otp/movement/__init__.py | 0 otp/namepanel/NameCheck.py | 0 otp/namepanel/NameTumbler.py | 0 otp/namepanel/PickANamePattern.py | 0 otp/namepanel/__init__.py | 0 otp/otpbase/BackupManager.py | 0 otp/otpbase/OTPBase.py | 0 otp/otpbase/OTPGlobals.py | 0 otp/otpbase/OTPLocalizer.py | 0 otp/otpbase/OTPLocalizerEnglish.py | 0 otp/otpbase/OTPLocalizerEnglishProperty.py | 0 otp/otpbase/OTPRender.py | 0 otp/otpbase/__init__.py | 0 otp/otpgui/OTPDialog.py | 0 otp/otpgui/__init__.py | 0 otp/settings/Settings.py | 0 otp/settings/__init__.py | 0 otp/speedchat/ColorSpace.py | 0 otp/speedchat/SCColorScheme.py | 0 otp/speedchat/SCConstants.py | 0 otp/speedchat/SCCustomMenu.py | 0 otp/speedchat/SCCustomTerminal.py | 0 otp/speedchat/SCDecoders.py | 0 otp/speedchat/SCElement.py | 0 otp/speedchat/SCEmoteMenu.py | 0 otp/speedchat/SCEmoteTerminal.py | 0 otp/speedchat/SCMenu.py | 0 otp/speedchat/SCMenuHolder.py | 0 otp/speedchat/SCObject.py | 0 otp/speedchat/SCSettings.py | 0 otp/speedchat/SCStaticTextTerminal.py | 0 otp/speedchat/SCTerminal.py | 0 otp/speedchat/SpeedChat.py | 0 otp/speedchat/SpeedChatGlobals.py | 0 otp/speedchat/SpeedChatTypes.py | 0 otp/speedchat/__init__.py | 0 panda/__init__.py | 0 panda/bin/apply_patch.exe | Bin panda/bin/atl100.dll | Bin panda/bin/bam-info.exe | Bin panda/bin/bam2egg.exe | Bin panda/bin/build_patch.exe | Bin panda/bin/cg.dll | Bin panda/bin/cgD3D10.dll | Bin panda/bin/cgD3D11.dll | Bin panda/bin/cgD3D9.dll | Bin panda/bin/cgGL.dll | Bin panda/bin/cgc.exe | Bin panda/bin/cgfxcat.exe | Bin panda/bin/cginfo.exe | Bin panda/bin/check_adler.exe | Bin panda/bin/check_crc.exe | Bin panda/bin/check_md5.exe | Bin panda/bin/dxf-points.exe | Bin panda/bin/dxf2egg.exe | Bin panda/bin/egg-crop.exe | Bin panda/bin/egg-list-textures.exe | Bin panda/bin/egg-make-tube.exe | Bin panda/bin/egg-mkfont.exe | Bin panda/bin/egg-optchar.exe | Bin panda/bin/egg-palettize.exe | Bin panda/bin/egg-qtess.exe | Bin panda/bin/egg-rename.exe | Bin panda/bin/egg-retarget-anim.exe | Bin panda/bin/egg-texture-cards.exe | Bin panda/bin/egg-topstrip.exe | Bin panda/bin/egg-trans.exe | Bin panda/bin/egg2bam.exe | Bin panda/bin/egg2c.exe | Bin panda/bin/egg2dxf.exe | Bin panda/bin/egg2flt.exe | Bin panda/bin/egg2obj.exe | Bin panda/bin/egg2x.exe | Bin panda/bin/eggcacher.exe | Bin panda/bin/flt-info.exe | Bin panda/bin/flt-trans.exe | Bin panda/bin/flt2egg.exe | Bin panda/bin/fltcopy.exe | Bin panda/bin/fmodex.dll | Bin panda/bin/fmodexL.dll | Bin panda/bin/glut32.dll | Bin panda/bin/image-info.exe | Bin panda/bin/image-resize.exe | Bin panda/bin/image-trans.exe | Bin panda/bin/interrogate.exe | Bin panda/bin/interrogate_module.exe | Bin panda/bin/libp3direct.dll | Bin panda/bin/libp3dtool.dll | Bin panda/bin/libp3dtoolconfig.dll | Bin panda/bin/libp3fmod_audio.dll | Bin panda/bin/libp3framework.dll | Bin panda/bin/libp3ptloader.dll | Bin panda/bin/libp3tinydisplay.dll | Bin panda/bin/libp3windisplay.dll | Bin panda/bin/libpanda.dll | Bin panda/bin/libpandadx9.dll | Bin panda/bin/libpandaegg.dll | Bin panda/bin/libpandaexpress.dll | Bin panda/bin/libpandafx.dll | Bin panda/bin/libpandagl.dll | Bin panda/bin/libpandaode.dll | Bin panda/bin/libpandaphysics.dll | Bin panda/bin/libpandaskel.dll | Bin panda/bin/lwo-scan.exe | Bin panda/bin/lwo2egg.exe | Bin panda/bin/make-prc-key.exe | Bin panda/bin/mfc100.dll | Bin panda/bin/mfc100u.dll | Bin panda/bin/mfcm100.dll | Bin panda/bin/mfcm100u.dll | Bin panda/bin/msvcp100.dll | Bin panda/bin/msvcr100.dll | Bin panda/bin/multify.exe | Bin panda/bin/obj2egg.exe | Bin panda/bin/p3dWrapper.exe | Bin panda/bin/p3dcparse.exe | Bin panda/bin/packpanda.exe | Bin panda/bin/parse_file.exe | Bin panda/bin/pdecrypt.exe | Bin panda/bin/pencrypt.exe | Bin panda/bin/pfm-bba.exe | Bin panda/bin/pfm-trans.exe | Bin panda/bin/pstats.exe | Bin panda/bin/punzip.exe | Bin panda/bin/pview.exe | Bin panda/bin/python27.dll | Bin panda/bin/pzip.exe | Bin panda/bin/show_ddb.exe | Bin panda/bin/softcvs.exe | Bin panda/bin/test_interrogate.exe | Bin panda/bin/text-stats.exe | Bin panda/bin/vrml-trans.exe | Bin panda/bin/vrml2egg.exe | Bin panda/bin/x-trans.exe | Bin panda/bin/x2egg.exe | Bin panda/direct/__init__.py | 0 panda/direct/actor/Actor.py | 0 panda/direct/actor/DistributedActor.py | 0 panda/direct/actor/__init__.py | 0 panda/direct/cluster/ClusterClient.py | 0 panda/direct/cluster/ClusterConfig.py | 0 panda/direct/cluster/ClusterMsgs.py | 0 panda/direct/cluster/ClusterServer.py | 0 panda/direct/cluster/__init__.py | 0 panda/direct/controls/BattleWalker.py | 0 panda/direct/controls/ControlManager.py | 0 panda/direct/controls/DevWalker.py | 0 panda/direct/controls/GhostWalker.py | 0 panda/direct/controls/GravityWalker.py | 0 panda/direct/controls/InputState.py | 0 panda/direct/controls/NonPhysicsWalker.py | 0 panda/direct/controls/ObserverWalker.py | 0 panda/direct/controls/PhysicsRoller.py | 0 panda/direct/controls/PhysicsWalker.py | 0 panda/direct/controls/SwimWalker.py | 0 panda/direct/controls/TwoDWalker.py | 0 panda/direct/controls/__init__.py | 0 panda/direct/directbase/DirectStart.py | 0 panda/direct/directbase/TestStart.py | 0 panda/direct/directbase/ThreeUpStart.py | 0 panda/direct/directbase/__init__.py | 0 .../directdevices/DirectDeviceManager.py | 0 panda/direct/directdevices/DirectFastrak.py | 0 panda/direct/directdevices/DirectJoybox.py | 0 panda/direct/directdevices/DirectRadamec.py | 0 panda/direct/directdevices/__init__.py | 0 panda/direct/directnotify/DirectNotify.py | 0 .../direct/directnotify/DirectNotifyGlobal.py | 0 panda/direct/directnotify/Logger.py | 0 panda/direct/directnotify/LoggerGlobal.py | 0 panda/direct/directnotify/Notifier.py | 0 panda/direct/directnotify/RotatingLog.py | 0 panda/direct/directnotify/__init__.py | 0 panda/direct/directscripts/.cvsignore | 0 panda/direct/directscripts/DetectPanda3D.js | 0 panda/direct/directscripts/Doxyfile.cxx | 0 panda/direct/directscripts/Doxyfile.python | 0 panda/direct/directscripts/RunPanda3D.js | 0 panda/direct/directscripts/Sources.pp | 0 panda/direct/directscripts/__init__.py | 0 panda/direct/directscripts/cleancvstree | 0 panda/direct/directscripts/doxygen_filter.py | 0 panda/direct/directscripts/eggcacher.py | 0 panda/direct/directscripts/extract_docs.py | 0 panda/direct/directscripts/flashparen.el | 0 panda/direct/directscripts/gendocs.py | 0 panda/direct/directscripts/hilit19.el | 0 .../direct/directscripts/make-panda3d-tgz.py | 0 panda/direct/directscripts/packpanda.nsi | 0 panda/direct/directscripts/packpanda.py | 0 panda/direct/directscripts/panda-install.bmp | Bin .../directscripts/profilepaths-osx.command | 0 panda/direct/directscripts/python-mode.el | 0 panda/direct/directscripts/runPythonEmacs | 0 .../direct/directtools/DirectCameraControl.py | 0 panda/direct/directtools/DirectGeometry.py | 0 panda/direct/directtools/DirectGlobals.py | 0 panda/direct/directtools/DirectGrid.py | 0 panda/direct/directtools/DirectLights.py | 0 .../direct/directtools/DirectManipulation.py | 0 panda/direct/directtools/DirectSelection.py | 0 panda/direct/directtools/DirectSession.py | 0 panda/direct/directtools/DirectUtil.py | 0 panda/direct/directtools/__init__.py | 0 panda/direct/directutil/DeltaProfiler.py | 0 panda/direct/directutil/DirectMySQLdb.py | 0 .../directutil/DirectMySQLdbConnection.py | 0 .../directutil/DistributedLargeBlobSender.py | 0 .../DistributedLargeBlobSenderAI.py | 0 .../directutil/LargeBlobSenderConsts.py | 0 panda/direct/directutil/MemoryLeakHelpers.py | 0 panda/direct/directutil/Mopath.py | 0 panda/direct/directutil/Verify.py | 0 panda/direct/directutil/WeightedChoice.py | 0 panda/direct/directutil/__init__.py | 0 .../distributed/AstronClientRepository.py | 0 .../distributed/AstronDatabaseInterface.py | 0 .../distributed/AstronInternalRepository.py | 0 panda/direct/distributed/AsyncRequest.py | 0 panda/direct/distributed/CRCache.py | 0 panda/direct/distributed/CRDataCache.py | 0 panda/direct/distributed/CachedDOData.py | 0 panda/direct/distributed/CartesianGridBase.py | 0 panda/direct/distributed/ClientRepository.py | 0 .../distributed/ClientRepositoryBase.py | 0 panda/direct/distributed/ClockDelta.py | 0 .../distributed/ConnectionRepository.py | 0 panda/direct/distributed/DistributedCamera.py | 0 .../direct/distributed/DistributedCameraAI.py | 0 .../direct/distributed/DistributedCameraOV.py | 0 .../distributed/DistributedCartesianGrid.py | 0 .../distributed/DistributedCartesianGridAI.py | 0 panda/direct/distributed/DistributedNode.py | 0 panda/direct/distributed/DistributedNodeAI.py | 0 panda/direct/distributed/DistributedNodeUD.py | 0 panda/direct/distributed/DistributedObject.py | 0 .../direct/distributed/DistributedObjectAI.py | 0 .../distributed/DistributedObjectBase.py | 0 .../distributed/DistributedObjectGlobal.py | 0 .../distributed/DistributedObjectGlobalAI.py | 0 .../distributed/DistributedObjectGlobalUD.py | 0 .../direct/distributed/DistributedObjectOV.py | 0 .../direct/distributed/DistributedObjectUD.py | 0 .../distributed/DistributedSmoothNode.py | 0 .../distributed/DistributedSmoothNodeAI.py | 0 .../distributed/DistributedSmoothNodeBase.py | 0 .../direct/distributed/DoCollectionManager.py | 0 panda/direct/distributed/DoHierarchy.py | 0 panda/direct/distributed/DoInterestManager.py | 0 panda/direct/distributed/GridChild.py | 0 panda/direct/distributed/GridParent.py | 0 panda/direct/distributed/InterestWatcher.py | 0 panda/direct/distributed/MsgTypes.py | 0 panda/direct/distributed/MsgTypesCMU.py | 0 panda/direct/distributed/NetMessenger.py | 0 .../direct/distributed/OldClientRepository.py | 0 panda/direct/distributed/ParentMgr.py | 0 panda/direct/distributed/PyDatagram.py | 0 .../direct/distributed/PyDatagramIterator.py | 0 panda/direct/distributed/RelatedObjectMgr.py | 0 panda/direct/distributed/SampleObject.py | 0 panda/direct/distributed/ServerRepository.py | 0 panda/direct/distributed/StagedObject.py | 0 panda/direct/distributed/TimeManager.py | 0 panda/direct/distributed/TimeManagerAI.py | 0 panda/direct/distributed/__init__.py | 0 .../direct/extensions/CInterval-extensions.py | 0 .../extensions/ConfigVariable-extensions.py | 0 .../ConfigVariableBool-extensions.py | 0 .../ConfigVariableDouble-extensions.py | 0 .../ConfigVariableFilename-extensions.py | 0 .../ConfigVariableInt-extensions.py | 0 .../ConfigVariableList-extensions.py | 0 .../ConfigVariableString-extensions.py | 0 .../extensions/HTTPChannel-extensions.py | 0 panda/direct/extensions/Mat3-extensions.py | 0 .../MouseWatcherRegion-extensions.py | 0 panda/direct/extensions/Node-extensions.py | 0 .../direct/extensions/NodePath-extensions.py | 0 .../NurbsCurveEvaluator-extensions.py | 0 .../NurbsSurfaceEvaluator-extensions.py | 0 .../extensions/PandaSystem-extensions.py | 0 .../SpriteParticleRenderer-extensions.py | 0 panda/direct/extensions/VBase3-extensions.py | 0 panda/direct/extensions/VBase4-extensions.py | 0 panda/direct/extensions/__init__.py | 0 .../extensions_native/CInterval_extensions.py | 0 .../HTTPChannel_extensions.py | 0 .../extensions_native/Mat3_extensions.py | 0 .../extensions_native/NodePath_extensions.py | 0 .../extensions_native/VBase3_extensions.py | 0 .../extensions_native/VBase4_extensions.py | 0 panda/direct/extensions_native/__init__.py | 0 .../extension_native_helpers.py | 0 panda/direct/ffi/DoGenPyCode.py | 0 panda/direct/ffi/FFIConstants.py | 0 panda/direct/ffi/FFIEnvironment.py | 0 panda/direct/ffi/FFIExternalObject.py | 0 panda/direct/ffi/FFIInterrogateDatabase.py | 0 panda/direct/ffi/FFIOverload.py | 0 panda/direct/ffi/FFIRename.py | 0 panda/direct/ffi/FFISpecs.py | 0 panda/direct/ffi/FFITypes.py | 0 panda/direct/ffi/__init__.py | 0 panda/direct/ffi/jGenPyCode.py | 0 panda/direct/ffi/panda3d.py | 0 panda/direct/filter/CommonFilters.py | 0 panda/direct/filter/FilterManager.py | 0 panda/direct/filter/__init__.py | 0 panda/direct/filter/filter-bloomi.sha | 0 panda/direct/filter/filter-bloomx.sha | 0 panda/direct/filter/filter-bloomy.sha | 0 panda/direct/filter/filter-blurx.sha | 0 panda/direct/filter/filter-blury.sha | 0 panda/direct/filter/filter-copy.sha | 0 panda/direct/filter/filter-down4.sha | 0 panda/direct/filter/filter-ssao.sha | 0 panda/direct/fsm/ClassicFSM.py | 0 panda/direct/fsm/FSM.py | 0 panda/direct/fsm/FourState.py | 0 panda/direct/fsm/FourStateAI.py | 0 panda/direct/fsm/SampleFSM.py | 0 panda/direct/fsm/State.py | 0 panda/direct/fsm/StateData.py | 0 panda/direct/fsm/StatePush.py | 0 panda/direct/fsm/__init__.py | 0 panda/direct/gui/DirectButton.py | 0 panda/direct/gui/DirectCheckBox.py | 0 panda/direct/gui/DirectCheckButton.py | 0 panda/direct/gui/DirectDialog.py | 0 panda/direct/gui/DirectEntry.py | 0 panda/direct/gui/DirectEntryScroll.py | 0 panda/direct/gui/DirectFrame.py | 0 panda/direct/gui/DirectGui.py | 0 panda/direct/gui/DirectGuiBase.py | 0 panda/direct/gui/DirectGuiGlobals.py | 0 panda/direct/gui/DirectGuiTest.py | 0 panda/direct/gui/DirectLabel.py | 0 panda/direct/gui/DirectOptionMenu.py | 0 panda/direct/gui/DirectRadioButton.py | 0 panda/direct/gui/DirectScrollBar.py | 0 panda/direct/gui/DirectScrolledFrame.py | 0 panda/direct/gui/DirectScrolledList.py | 0 panda/direct/gui/DirectSlider.py | 0 panda/direct/gui/DirectWaitBar.py | 0 panda/direct/gui/OnscreenGeom.py | 0 panda/direct/gui/OnscreenImage.py | 0 panda/direct/gui/OnscreenText.py | 0 panda/direct/gui/__init__.py | 0 panda/direct/http/LandingPage.py | 0 panda/direct/http/LandingPageHTML.py | 0 panda/direct/http/WebRequest.py | 0 panda/direct/http/__init__.py | 0 panda/direct/http/linuxSystemInfo.py | 0 panda/direct/http/recaptcha.py | 0 panda/direct/http/webAIInspector.py | 0 panda/direct/http/webNotifyDebug.py | 0 panda/direct/http/windowsSystemInfo.py | 0 panda/direct/interval/ActorInterval.py | 0 panda/direct/interval/AnimControlInterval.py | 0 panda/direct/interval/FunctionInterval.py | 0 panda/direct/interval/IndirectInterval.py | 0 panda/direct/interval/Interval.py | 0 panda/direct/interval/IntervalGlobal.py | 0 panda/direct/interval/IntervalManager.py | 0 panda/direct/interval/IntervalTest.py | 0 panda/direct/interval/LerpBlendHelpers.py | 0 panda/direct/interval/LerpInterval.py | 0 panda/direct/interval/MetaInterval.py | 0 panda/direct/interval/MopathInterval.py | 0 panda/direct/interval/ParticleInterval.py | 0 panda/direct/interval/ProjectileInterval.py | 0 .../direct/interval/ProjectileIntervalTest.py | 0 panda/direct/interval/SoundInterval.py | 0 panda/direct/interval/TestInterval.py | 0 panda/direct/interval/__init__.py | 0 panda/direct/leveleditor/ActionMgr.py | 0 panda/direct/leveleditor/AnimControlUI.py | 0 panda/direct/leveleditor/AnimGlobals.py | 0 panda/direct/leveleditor/AnimMgr.py | 0 panda/direct/leveleditor/AnimMgrBase.py | 0 panda/direct/leveleditor/CurveAnimUI.py | 0 panda/direct/leveleditor/CurveEditor.py | 0 panda/direct/leveleditor/FileMgr.py | 0 panda/direct/leveleditor/GraphEditorUI.py | 0 panda/direct/leveleditor/HotKeyUI.py | 0 panda/direct/leveleditor/LayerEditorUI.py | 0 panda/direct/leveleditor/LevelEditor.py | 0 panda/direct/leveleditor/LevelEditorBase.py | 0 panda/direct/leveleditor/LevelEditorStart.py | 0 panda/direct/leveleditor/LevelEditorUI.py | 0 panda/direct/leveleditor/LevelEditorUIBase.py | 0 panda/direct/leveleditor/LevelLoader.py | 0 panda/direct/leveleditor/LevelLoaderBase.py | 0 panda/direct/leveleditor/MayaConverter.py | 0 panda/direct/leveleditor/ObjectGlobals.py | 0 panda/direct/leveleditor/ObjectHandler.py | 0 panda/direct/leveleditor/ObjectMgr.py | 0 panda/direct/leveleditor/ObjectMgrBase.py | 0 panda/direct/leveleditor/ObjectPalette.py | 0 panda/direct/leveleditor/ObjectPaletteBase.py | 0 panda/direct/leveleditor/ObjectPaletteUI.py | 0 panda/direct/leveleditor/ObjectPropertyUI.py | 0 panda/direct/leveleditor/PaletteTreeCtrl.py | 0 panda/direct/leveleditor/ProtoObjs.py | 0 panda/direct/leveleditor/ProtoObjsUI.py | 0 panda/direct/leveleditor/ProtoPalette.py | 0 panda/direct/leveleditor/ProtoPaletteBase.py | 0 panda/direct/leveleditor/ProtoPaletteUI.py | 0 panda/direct/leveleditor/SceneGraphUI.py | 0 panda/direct/leveleditor/SceneGraphUIBase.py | 0 panda/direct/leveleditor/__init__.py | 0 panda/direct/leveleditor/testData.py | 0 panda/direct/motiontrail/MotionTrail.py | 0 panda/direct/motiontrail/__init__.py | 0 panda/direct/p3d/AppRunner.py | 0 panda/direct/p3d/DWBPackageInstaller.py | 0 panda/direct/p3d/DeploymentTools.py | 0 panda/direct/p3d/FileSpec.py | 0 panda/direct/p3d/HostInfo.py | 0 panda/direct/p3d/InstalledHostData.py | 0 panda/direct/p3d/InstalledPackageData.py | 0 panda/direct/p3d/JavaScript.py | 0 panda/direct/p3d/PackageInfo.py | 0 panda/direct/p3d/PackageInstaller.py | 0 panda/direct/p3d/PackageMerger.py | 0 panda/direct/p3d/Packager.py | 0 panda/direct/p3d/PatchMaker.py | 0 panda/direct/p3d/ScanDirectoryNode.py | 0 panda/direct/p3d/SeqValue.py | 0 panda/direct/p3d/__init__.py | 0 panda/direct/p3d/packp3d.py | 0 panda/direct/p3d/pdeploy.py | 0 panda/direct/p3d/pmerge.py | 0 panda/direct/p3d/ppackage.py | 0 panda/direct/p3d/ppatcher.py | 0 panda/direct/p3d/runp3d.py | 0 panda/direct/particles/ForceGroup.py | 0 panda/direct/particles/GlobalForceGroup.py | 0 panda/direct/particles/ParticleEffect.py | 0 panda/direct/particles/ParticleFloorTest.py | 0 .../direct/particles/ParticleManagerGlobal.py | 0 panda/direct/particles/ParticleTest.py | 0 panda/direct/particles/Particles.py | 0 .../particles/SpriteParticleRendererExt.py | 0 panda/direct/particles/__init__.py | 0 panda/direct/physics/FallTest.py | 0 panda/direct/physics/RotationTest.py | 0 panda/direct/physics/__init__.py | 0 panda/direct/plugin/FileSpec.py | 0 .../direct/plugin_installer/make_installer.py | 0 panda/direct/plugin_installer/make_xpi.py | 0 panda/direct/plugin_npapi/make_osx_bundle.py | 0 .../plugin_standalone/make_osx_bundle.py | 0 panda/direct/pyinst/Builder.py | 0 panda/direct/pyinst/__init__.py | 0 panda/direct/pyinst/archive.py | 0 panda/direct/pyinst/archive_rt.py | 0 panda/direct/pyinst/archivebuilder.py | 0 panda/direct/pyinst/bindepend.py | 0 panda/direct/pyinst/carchive.py | 0 panda/direct/pyinst/carchive_rt.py | 0 panda/direct/pyinst/finder.py | 0 panda/direct/pyinst/icon.py | 0 panda/direct/pyinst/imputil.py | 0 panda/direct/pyinst/installutils.py | 0 panda/direct/pyinst/ltoc.py | 0 panda/direct/pyinst/mkarchive.py | 0 panda/direct/pyinst/modulefinder.py | 0 panda/direct/pyinst/resource.py | 0 panda/direct/pyinst/tocfilter.py | 0 panda/direct/showbase/AppRunnerGlobal.py | 0 panda/direct/showbase/Audio3DManager.py | 0 panda/direct/showbase/BpDb.py | 0 panda/direct/showbase/BufferViewer.py | 0 panda/direct/showbase/BulletinBoard.py | 0 panda/direct/showbase/BulletinBoardGlobal.py | 0 panda/direct/showbase/BulletinBoardWatcher.py | 0 .../direct/showbase/ContainerLeakDetector.py | 0 panda/direct/showbase/ContainerReport.py | 0 panda/direct/showbase/CountedResource.py | 0 panda/direct/showbase/DirectObject.py | 0 panda/direct/showbase/DistancePhasedNode.py | 0 panda/direct/showbase/ElementTree.py | 0 panda/direct/showbase/EventGroup.py | 0 panda/direct/showbase/EventManager.py | 0 panda/direct/showbase/EventManagerGlobal.py | 0 panda/direct/showbase/ExcelHandler.py | 0 panda/direct/showbase/ExceptionVarDump.py | 0 panda/direct/showbase/Factory.py | 0 panda/direct/showbase/FindCtaPaths.py | 0 panda/direct/showbase/Finder.py | 0 panda/direct/showbase/GarbageReport.py | 0 .../direct/showbase/GarbageReportScheduler.py | 0 panda/direct/showbase/HTMLTree.py | 0 panda/direct/showbase/InputStateGlobal.py | 0 panda/direct/showbase/Job.py | 0 panda/direct/showbase/JobManager.py | 0 panda/direct/showbase/JobManagerGlobal.py | 0 panda/direct/showbase/LazySort.py | 0 panda/direct/showbase/LeakDetectors.py | 0 panda/direct/showbase/LerpBlendHelpers.py | 0 panda/direct/showbase/Loader.py | 0 panda/direct/showbase/Messenger.py | 0 panda/direct/showbase/MessengerGlobal.py | 0 .../direct/showbase/MessengerLeakDetector.py | 0 panda/direct/showbase/MirrorDemo.py | 0 panda/direct/showbase/ObjectPool.py | 0 panda/direct/showbase/ObjectReport.py | 0 panda/direct/showbase/OnScreenDebug.py | 0 panda/direct/showbase/PandaObject.py | 0 panda/direct/showbase/PhasedObject.py | 0 panda/direct/showbase/PhysicsManagerGlobal.py | 0 panda/direct/showbase/Pool.py | 0 panda/direct/showbase/ProfileSession.py | 0 panda/direct/showbase/PythonUtil.py | 0 panda/direct/showbase/RandomNumGen.py | 0 panda/direct/showbase/ReferrerSearch.py | 0 panda/direct/showbase/SfxPlayer.py | 0 panda/direct/showbase/ShadowDemo.py | 0 panda/direct/showbase/ShadowPlacer.py | 0 panda/direct/showbase/ShowBase.py | 0 panda/direct/showbase/ShowBaseGlobal.py | 0 panda/direct/showbase/TaskThreaded.py | 0 panda/direct/showbase/ThreeUpShow.py | 0 panda/direct/showbase/TkGlobal.py | 0 panda/direct/showbase/Transitions.py | 0 panda/direct/showbase/VFSImporter.py | 0 panda/direct/showbase/VerboseImport.py | 0 panda/direct/showbase/WxGlobal.py | 0 panda/direct/showbase/__init__.py | 0 panda/direct/showbase/pandaSqueezeTool.py | 0 panda/direct/showbase/pandaSqueezer.py | 0 panda/direct/showutil/BuildGeometry.py | 0 panda/direct/showutil/Effects.py | 0 panda/direct/showutil/FreezeTool.py | 0 panda/direct/showutil/Rope.py | 0 panda/direct/showutil/TexMemWatcher.py | 0 panda/direct/showutil/TexViewer.py | 0 panda/direct/showutil/__init__.py | 0 panda/direct/showutil/pfreeze.py | 0 panda/direct/stdpy/__init__.py | 0 panda/direct/stdpy/file.py | 0 panda/direct/stdpy/glob.py | 0 panda/direct/stdpy/pickle.py | 0 panda/direct/stdpy/thread.py | 0 panda/direct/stdpy/threading.py | 0 panda/direct/stdpy/threading2.py | 0 panda/direct/task/FrameProfiler.py | 0 panda/direct/task/MiniTask.py | 0 panda/direct/task/Task.py | 0 panda/direct/task/TaskManagerGlobal.py | 0 panda/direct/task/TaskProfiler.py | 0 panda/direct/task/TaskTester.py | 0 panda/direct/task/Timer.py | 0 panda/direct/task/__init__.py | 0 panda/direct/test/ModelScreenShot.py | 0 panda/direct/test/ModelScreenShotGlobals.py | 0 panda/direct/test/__init__.py | 0 panda/direct/tkpanels/AnimPanel.py | 0 panda/direct/tkpanels/DirectSessionPanel.py | 0 panda/direct/tkpanels/FSMInspector.py | 0 panda/direct/tkpanels/Inspector.py | 0 panda/direct/tkpanels/MopathRecorder.py | 0 panda/direct/tkpanels/NotifyPanel.py | 0 panda/direct/tkpanels/ParticlePanel.py | 0 panda/direct/tkpanels/Placer.py | 0 panda/direct/tkpanels/TaskManagerPanel.py | 0 panda/direct/tkpanels/__init__.py | 0 panda/direct/tkwidgets/AppShell.py | 0 panda/direct/tkwidgets/Dial.py | 0 panda/direct/tkwidgets/EntryScale.py | 0 panda/direct/tkwidgets/Floater.py | 0 panda/direct/tkwidgets/MemoryExplorer.py | 0 panda/direct/tkwidgets/ProgressBar.py | 0 panda/direct/tkwidgets/SceneGraphExplorer.py | 0 panda/direct/tkwidgets/Slider.py | 0 panda/direct/tkwidgets/Tree.py | 0 panda/direct/tkwidgets/Valuator.py | 0 panda/direct/tkwidgets/VectorWidgets.py | 0 .../tkwidgets/WidgetPropertiesDialog.py | 0 panda/direct/tkwidgets/__init__.py | 0 panda/direct/wxwidgets/ViewPort.py | 0 panda/direct/wxwidgets/WxAppShell.py | 0 panda/direct/wxwidgets/WxPandaShell.py | 0 panda/direct/wxwidgets/WxPandaStart.py | 0 panda/direct/wxwidgets/WxPandaWindow.py | 0 panda/direct/wxwidgets/WxSlider.py | 0 panda/direct/wxwidgets/__init__.py | 0 panda/etc/Confauto.prc | 0 panda/etc/Config.prc | 0 panda/panda3d/__init__.py | 0 panda/panda3d/core.pyd | Bin panda/panda3d/direct.pyd | Bin panda/panda3d/egg.pyd | Bin panda/panda3d/fx.pyd | Bin panda/panda3d/ode.pyd | Bin panda/panda3d/physics.pyd | Bin panda/panda3d/skel.pyd | Bin panda/pandac/PandaModules.py | 0 panda/pandac/__init__.py | 0 panda/pandac/extension_native_helpers.py | 0 panda/pandac/input/libp3audio.in | 0 panda/pandac/input/libp3chan.in | 0 panda/pandac/input/libp3char.in | 0 panda/pandac/input/libp3collide.in | 0 panda/pandac/input/libp3cull.in | 0 panda/pandac/input/libp3dcparser.in | 0 panda/pandac/input/libp3deadrec.in | 0 panda/pandac/input/libp3device.in | 0 panda/pandac/input/libp3dgraph.in | 0 panda/pandac/input/libp3display.in | 0 panda/pandac/input/libp3distort.in | 0 panda/pandac/input/libp3distributed.in | 0 panda/pandac/input/libp3downloader.in | 0 panda/pandac/input/libp3dxml.in | 0 panda/pandac/input/libp3egg.in | 0 panda/pandac/input/libp3egg2pg.in | 0 panda/pandac/input/libp3event.in | 0 panda/pandac/input/libp3express.in | 0 panda/pandac/input/libp3gobj.in | 0 panda/pandac/input/libp3grutil.in | 0 panda/pandac/input/libp3gsgbase.in | 0 panda/pandac/input/libp3interval.in | 0 panda/pandac/input/libp3linmath.in | 0 panda/pandac/input/libp3mathutil.in | 0 panda/pandac/input/libp3movies.in | 0 panda/pandac/input/libp3nativenet.in | 0 panda/pandac/input/libp3net.in | 0 panda/pandac/input/libp3parametrics.in | 0 panda/pandac/input/libp3particlesystem.in | 0 panda/pandac/input/libp3pgraph.in | 0 panda/pandac/input/libp3pgraphnodes.in | 0 panda/pandac/input/libp3pgui.in | 0 panda/pandac/input/libp3physics.in | 0 panda/pandac/input/libp3pipeline.in | 0 panda/pandac/input/libp3pnmimage.in | 0 panda/pandac/input/libp3pnmtext.in | 0 panda/pandac/input/libp3pstatclient.in | 0 panda/pandac/input/libp3putil.in | 0 panda/pandac/input/libp3recorder.in | 0 panda/pandac/input/libp3showbase.in | 0 panda/pandac/input/libp3skel.in | 0 panda/pandac/input/libp3text.in | 0 panda/pandac/input/libp3tform.in | 0 panda/pandac/input/libpandaode.in | 0 panda/pandac/panda3dCoreModules.py | 0 panda/pandac/panda3dDirectModules.py | 0 panda/pandac/panda3dEggModules.py | 0 panda/pandac/panda3dFxModules.py | 0 panda/pandac/panda3dOdeModules.py | 0 panda/pandac/panda3dPhysicsModules.py | 0 panda/pandac/panda3dSkelModules.py | 0 panda/python/DLLs/__init__.py | 0 panda/python/DLLs/_bsddb.pyd | Bin panda/python/DLLs/_ctypes.pyd | Bin panda/python/DLLs/_ctypes_test.pyd | Bin panda/python/DLLs/_elementtree.pyd | Bin panda/python/DLLs/_hashlib.pyd | Bin panda/python/DLLs/_msi.pyd | Bin panda/python/DLLs/_multiprocessing.pyd | Bin panda/python/DLLs/_socket.pyd | Bin panda/python/DLLs/_sqlite3.pyd | Bin panda/python/DLLs/_ssl.pyd | Bin panda/python/DLLs/_testcapi.pyd | Bin panda/python/DLLs/_tkinter.pyd | Bin panda/python/DLLs/bz2.pyd | Bin panda/python/DLLs/py.ico | Bin panda/python/DLLs/pyc.ico | Bin panda/python/DLLs/pyexpat.pyd | Bin panda/python/DLLs/select.pyd | Bin panda/python/DLLs/sqlite3.dll | Bin panda/python/DLLs/tcl85.dll | Bin panda/python/DLLs/tclpip85.dll | Bin panda/python/DLLs/tk85.dll | Bin panda/python/DLLs/unicodedata.pyd | Bin panda/python/DLLs/winsound.pyd | Bin panda/python/Lib/BaseHTTPServer.py | 0 panda/python/Lib/Bastion.py | 0 panda/python/Lib/CGIHTTPServer.py | 0 panda/python/Lib/ConfigParser.py | 0 panda/python/Lib/Cookie.py | 0 panda/python/Lib/DocXMLRPCServer.py | 0 panda/python/Lib/HTMLParser.py | 0 panda/python/Lib/JOD/JamoDrum.py | 0 panda/python/Lib/JOD/JamoDrumNodePath.py | 0 panda/python/Lib/JOD/NewJamoDrum.py | 0 panda/python/Lib/JOD/__init__.py | 0 panda/python/Lib/JOD/jod_mask.png | Bin panda/python/Lib/MimeWriter.py | 0 panda/python/Lib/Queue.py | 0 panda/python/Lib/SimpleHTTPServer.py | 0 panda/python/Lib/SimpleXMLRPCServer.py | 0 panda/python/Lib/SocketServer.py | 0 panda/python/Lib/StringIO.py | 0 panda/python/Lib/UserDict.py | 0 panda/python/Lib/UserList.py | 0 panda/python/Lib/UserString.py | 0 panda/python/Lib/_LWPCookieJar.py | 0 panda/python/Lib/_MozillaCookieJar.py | 0 panda/python/Lib/__future__.py | 0 panda/python/Lib/__init__.py | 0 panda/python/Lib/__phello__.foo.py | 0 panda/python/Lib/_abcoll.py | 0 panda/python/Lib/_osx_support.py | 0 panda/python/Lib/_pyio.py | 0 panda/python/Lib/_strptime.py | 0 panda/python/Lib/_threading_local.py | 0 panda/python/Lib/_weakrefset.py | 0 panda/python/Lib/abc.py | 0 panda/python/Lib/aifc.py | 0 panda/python/Lib/antigravity.py | 0 panda/python/Lib/anydbm.py | 0 panda/python/Lib/argparse.py | 0 panda/python/Lib/ast.py | 0 panda/python/Lib/asynchat.py | 0 panda/python/Lib/asyncore.py | 0 panda/python/Lib/atexit.py | 0 panda/python/Lib/audiodev.py | 0 panda/python/Lib/base64.py | 0 panda/python/Lib/bdb.py | 0 panda/python/Lib/binhex.py | 0 panda/python/Lib/bisect.py | 0 panda/python/Lib/bsddb/__init__.py | 0 panda/python/Lib/bsddb/db.py | 0 panda/python/Lib/bsddb/dbobj.py | 0 panda/python/Lib/bsddb/dbrecio.py | 0 panda/python/Lib/bsddb/dbshelve.py | 0 panda/python/Lib/bsddb/dbtables.py | 0 panda/python/Lib/bsddb/dbutils.py | 0 panda/python/Lib/cProfile.py | 0 panda/python/Lib/calendar.py | 0 panda/python/Lib/cgi.py | 0 panda/python/Lib/cgitb.py | 0 panda/python/Lib/chunk.py | 0 panda/python/Lib/cmd.py | 0 panda/python/Lib/code.py | 0 panda/python/Lib/codecs.py | 0 panda/python/Lib/codeop.py | 0 panda/python/Lib/collections.py | 0 panda/python/Lib/colorsys.py | 0 panda/python/Lib/commands.py | 0 panda/python/Lib/compileall.py | 0 panda/python/Lib/compiler/__init__.py | 0 panda/python/Lib/compiler/ast.py | 0 panda/python/Lib/compiler/consts.py | 0 panda/python/Lib/compiler/future.py | 0 panda/python/Lib/compiler/misc.py | 0 panda/python/Lib/compiler/pyassem.py | 0 panda/python/Lib/compiler/pycodegen.py | 0 panda/python/Lib/compiler/symbols.py | 0 panda/python/Lib/compiler/syntax.py | 0 panda/python/Lib/compiler/transformer.py | 0 panda/python/Lib/compiler/visitor.py | 0 panda/python/Lib/contextlib.py | 0 panda/python/Lib/cookielib.py | 0 panda/python/Lib/copy.py | 0 panda/python/Lib/copy_reg.py | 0 panda/python/Lib/csv.py | 0 panda/python/Lib/ctypes/__init__.py | 0 panda/python/Lib/ctypes/_endian.py | 0 panda/python/Lib/ctypes/macholib/__init__.py | 0 panda/python/Lib/ctypes/macholib/dyld.py | 0 panda/python/Lib/ctypes/macholib/dylib.py | 0 panda/python/Lib/ctypes/macholib/framework.py | 0 panda/python/Lib/ctypes/util.py | 0 panda/python/Lib/ctypes/wintypes.py | 0 panda/python/Lib/curses/__init__.py | 0 panda/python/Lib/curses/ascii.py | 0 panda/python/Lib/curses/has_key.py | 0 panda/python/Lib/curses/panel.py | 0 panda/python/Lib/curses/textpad.py | 0 panda/python/Lib/curses/wrapper.py | 0 panda/python/Lib/dbhash.py | 0 panda/python/Lib/decimal.py | 0 panda/python/Lib/difflib.py | 0 panda/python/Lib/dircache.py | 0 panda/python/Lib/dis.py | 0 panda/python/Lib/distutils/__init__.py | 0 panda/python/Lib/distutils/archive_util.py | 0 panda/python/Lib/distutils/bcppcompiler.py | 0 panda/python/Lib/distutils/ccompiler.py | 0 panda/python/Lib/distutils/cmd.py | 0 .../python/Lib/distutils/command/__init__.py | 0 panda/python/Lib/distutils/command/bdist.py | 0 .../Lib/distutils/command/bdist_dumb.py | 0 .../python/Lib/distutils/command/bdist_msi.py | 0 .../python/Lib/distutils/command/bdist_rpm.py | 0 .../Lib/distutils/command/bdist_wininst.py | 0 panda/python/Lib/distutils/command/build.py | 0 .../Lib/distutils/command/build_clib.py | 0 .../python/Lib/distutils/command/build_ext.py | 0 .../python/Lib/distutils/command/build_py.py | 0 .../Lib/distutils/command/build_scripts.py | 0 panda/python/Lib/distutils/command/check.py | 0 panda/python/Lib/distutils/command/clean.py | 0 panda/python/Lib/distutils/command/config.py | 0 panda/python/Lib/distutils/command/install.py | 0 .../Lib/distutils/command/install_data.py | 0 .../Lib/distutils/command/install_egg_info.py | 0 .../Lib/distutils/command/install_headers.py | 0 .../Lib/distutils/command/install_lib.py | 0 .../Lib/distutils/command/install_scripts.py | 0 .../python/Lib/distutils/command/register.py | 0 panda/python/Lib/distutils/command/sdist.py | 0 panda/python/Lib/distutils/command/upload.py | 0 .../Lib/distutils/command/wininst-6.0.exe | Bin .../Lib/distutils/command/wininst-7.1.exe | Bin .../Lib/distutils/command/wininst-8.0.exe | Bin .../distutils/command/wininst-9.0-amd64.exe | Bin .../Lib/distutils/command/wininst-9.0.exe | Bin panda/python/Lib/distutils/config.py | 0 panda/python/Lib/distutils/core.py | 0 panda/python/Lib/distutils/cygwinccompiler.py | 0 panda/python/Lib/distutils/debug.py | 0 panda/python/Lib/distutils/dep_util.py | 0 panda/python/Lib/distutils/dir_util.py | 0 panda/python/Lib/distutils/dist.py | 0 panda/python/Lib/distutils/emxccompiler.py | 0 panda/python/Lib/distutils/errors.py | 0 panda/python/Lib/distutils/extension.py | 0 panda/python/Lib/distutils/fancy_getopt.py | 0 panda/python/Lib/distutils/file_util.py | 0 panda/python/Lib/distutils/filelist.py | 0 panda/python/Lib/distutils/log.py | 0 panda/python/Lib/distutils/msvc9compiler.py | 0 panda/python/Lib/distutils/msvccompiler.py | 0 panda/python/Lib/distutils/spawn.py | 0 panda/python/Lib/distutils/sysconfig.py | 0 panda/python/Lib/distutils/text_file.py | 0 panda/python/Lib/distutils/unixccompiler.py | 0 panda/python/Lib/distutils/util.py | 0 panda/python/Lib/distutils/version.py | 0 .../python/Lib/distutils/versionpredicate.py | 0 panda/python/Lib/doctest.py | 0 panda/python/Lib/dumbdbm.py | 0 panda/python/Lib/dummy_thread.py | 0 panda/python/Lib/dummy_threading.py | 0 panda/python/Lib/email/__init__.py | 0 panda/python/Lib/email/_parseaddr.py | 0 panda/python/Lib/email/base64mime.py | 0 panda/python/Lib/email/charset.py | 0 panda/python/Lib/email/encoders.py | 0 panda/python/Lib/email/errors.py | 0 panda/python/Lib/email/feedparser.py | 0 panda/python/Lib/email/generator.py | 0 panda/python/Lib/email/header.py | 0 panda/python/Lib/email/iterators.py | 0 panda/python/Lib/email/message.py | 0 panda/python/Lib/email/mime/__init__.py | 0 panda/python/Lib/email/mime/application.py | 0 panda/python/Lib/email/mime/audio.py | 0 panda/python/Lib/email/mime/base.py | 0 panda/python/Lib/email/mime/image.py | 0 panda/python/Lib/email/mime/message.py | 0 panda/python/Lib/email/mime/multipart.py | 0 panda/python/Lib/email/mime/nonmultipart.py | 0 panda/python/Lib/email/mime/text.py | 0 panda/python/Lib/email/parser.py | 0 panda/python/Lib/email/quoprimime.py | 0 panda/python/Lib/email/utils.py | 0 panda/python/Lib/encodings/__init__.py | 0 panda/python/Lib/encodings/aliases.py | 0 panda/python/Lib/encodings/ascii.py | 0 panda/python/Lib/encodings/base64_codec.py | 0 panda/python/Lib/encodings/big5.py | 0 panda/python/Lib/encodings/big5hkscs.py | 0 panda/python/Lib/encodings/bz2_codec.py | 0 panda/python/Lib/encodings/charmap.py | 0 panda/python/Lib/encodings/cp037.py | 0 panda/python/Lib/encodings/cp1006.py | 0 panda/python/Lib/encodings/cp1026.py | 0 panda/python/Lib/encodings/cp1140.py | 0 panda/python/Lib/encodings/cp1250.py | 0 panda/python/Lib/encodings/cp1251.py | 0 panda/python/Lib/encodings/cp1252.py | 0 panda/python/Lib/encodings/cp1253.py | 0 panda/python/Lib/encodings/cp1254.py | 0 panda/python/Lib/encodings/cp1255.py | 0 panda/python/Lib/encodings/cp1256.py | 0 panda/python/Lib/encodings/cp1257.py | 0 panda/python/Lib/encodings/cp1258.py | 0 panda/python/Lib/encodings/cp424.py | 0 panda/python/Lib/encodings/cp437.py | 0 panda/python/Lib/encodings/cp500.py | 0 panda/python/Lib/encodings/cp720.py | 0 panda/python/Lib/encodings/cp737.py | 0 panda/python/Lib/encodings/cp775.py | 0 panda/python/Lib/encodings/cp850.py | 0 panda/python/Lib/encodings/cp852.py | 0 panda/python/Lib/encodings/cp855.py | 0 panda/python/Lib/encodings/cp856.py | 0 panda/python/Lib/encodings/cp857.py | 0 panda/python/Lib/encodings/cp858.py | 0 panda/python/Lib/encodings/cp860.py | 0 panda/python/Lib/encodings/cp861.py | 0 panda/python/Lib/encodings/cp862.py | 0 panda/python/Lib/encodings/cp863.py | 0 panda/python/Lib/encodings/cp864.py | 0 panda/python/Lib/encodings/cp865.py | 0 panda/python/Lib/encodings/cp866.py | 0 panda/python/Lib/encodings/cp869.py | 0 panda/python/Lib/encodings/cp874.py | 0 panda/python/Lib/encodings/cp875.py | 0 panda/python/Lib/encodings/cp932.py | 0 panda/python/Lib/encodings/cp949.py | 0 panda/python/Lib/encodings/cp950.py | 0 panda/python/Lib/encodings/euc_jis_2004.py | 0 panda/python/Lib/encodings/euc_jisx0213.py | 0 panda/python/Lib/encodings/euc_jp.py | 0 panda/python/Lib/encodings/euc_kr.py | 0 panda/python/Lib/encodings/gb18030.py | 0 panda/python/Lib/encodings/gb2312.py | 0 panda/python/Lib/encodings/gbk.py | 0 panda/python/Lib/encodings/hex_codec.py | 0 panda/python/Lib/encodings/hp_roman8.py | 0 panda/python/Lib/encodings/hz.py | 0 panda/python/Lib/encodings/idna.py | 0 panda/python/Lib/encodings/iso2022_jp.py | 0 panda/python/Lib/encodings/iso2022_jp_1.py | 0 panda/python/Lib/encodings/iso2022_jp_2.py | 0 panda/python/Lib/encodings/iso2022_jp_2004.py | 0 panda/python/Lib/encodings/iso2022_jp_3.py | 0 panda/python/Lib/encodings/iso2022_jp_ext.py | 0 panda/python/Lib/encodings/iso2022_kr.py | 0 panda/python/Lib/encodings/iso8859_1.py | 0 panda/python/Lib/encodings/iso8859_10.py | 0 panda/python/Lib/encodings/iso8859_11.py | 0 panda/python/Lib/encodings/iso8859_13.py | 0 panda/python/Lib/encodings/iso8859_14.py | 0 panda/python/Lib/encodings/iso8859_15.py | 0 panda/python/Lib/encodings/iso8859_16.py | 0 panda/python/Lib/encodings/iso8859_2.py | 0 panda/python/Lib/encodings/iso8859_3.py | 0 panda/python/Lib/encodings/iso8859_4.py | 0 panda/python/Lib/encodings/iso8859_5.py | 0 panda/python/Lib/encodings/iso8859_6.py | 0 panda/python/Lib/encodings/iso8859_7.py | 0 panda/python/Lib/encodings/iso8859_8.py | 0 panda/python/Lib/encodings/iso8859_9.py | 0 panda/python/Lib/encodings/johab.py | 0 panda/python/Lib/encodings/koi8_r.py | 0 panda/python/Lib/encodings/koi8_u.py | 0 panda/python/Lib/encodings/latin_1.py | 0 panda/python/Lib/encodings/mac_arabic.py | 0 panda/python/Lib/encodings/mac_centeuro.py | 0 panda/python/Lib/encodings/mac_croatian.py | 0 panda/python/Lib/encodings/mac_cyrillic.py | 0 panda/python/Lib/encodings/mac_farsi.py | 0 panda/python/Lib/encodings/mac_greek.py | 0 panda/python/Lib/encodings/mac_iceland.py | 0 panda/python/Lib/encodings/mac_latin2.py | 0 panda/python/Lib/encodings/mac_roman.py | 0 panda/python/Lib/encodings/mac_romanian.py | 0 panda/python/Lib/encodings/mac_turkish.py | 0 panda/python/Lib/encodings/mbcs.py | 0 panda/python/Lib/encodings/palmos.py | 0 panda/python/Lib/encodings/ptcp154.py | 0 panda/python/Lib/encodings/punycode.py | 0 panda/python/Lib/encodings/quopri_codec.py | 0 .../Lib/encodings/raw_unicode_escape.py | 0 panda/python/Lib/encodings/rot_13.py | 0 panda/python/Lib/encodings/shift_jis.py | 0 panda/python/Lib/encodings/shift_jis_2004.py | 0 panda/python/Lib/encodings/shift_jisx0213.py | 0 panda/python/Lib/encodings/string_escape.py | 0 panda/python/Lib/encodings/tis_620.py | 0 panda/python/Lib/encodings/undefined.py | 0 panda/python/Lib/encodings/unicode_escape.py | 0 .../python/Lib/encodings/unicode_internal.py | 0 panda/python/Lib/encodings/utf_16.py | 0 panda/python/Lib/encodings/utf_16_be.py | 0 panda/python/Lib/encodings/utf_16_le.py | 0 panda/python/Lib/encodings/utf_32.py | 0 panda/python/Lib/encodings/utf_32_be.py | 0 panda/python/Lib/encodings/utf_32_le.py | 0 panda/python/Lib/encodings/utf_7.py | 0 panda/python/Lib/encodings/utf_8.py | 0 panda/python/Lib/encodings/utf_8_sig.py | 0 panda/python/Lib/encodings/uu_codec.py | 0 panda/python/Lib/encodings/zlib_codec.py | 0 panda/python/Lib/filecmp.py | 0 panda/python/Lib/fileinput.py | 0 panda/python/Lib/fnmatch.py | 0 panda/python/Lib/formatter.py | 0 panda/python/Lib/fpformat.py | 0 panda/python/Lib/fractions.py | 0 panda/python/Lib/ftplib.py | 0 panda/python/Lib/functools.py | 0 panda/python/Lib/genericpath.py | 0 panda/python/Lib/getopt.py | 0 panda/python/Lib/getpass.py | 0 panda/python/Lib/gettext.py | 0 panda/python/Lib/glob.py | 0 panda/python/Lib/gzip.py | 0 panda/python/Lib/hashlib.py | 0 panda/python/Lib/heapq.py | 0 panda/python/Lib/hmac.py | 0 panda/python/Lib/hotshot/__init__.py | 0 panda/python/Lib/hotshot/log.py | 0 panda/python/Lib/hotshot/stats.py | 0 panda/python/Lib/hotshot/stones.py | 0 panda/python/Lib/htmlentitydefs.py | 0 panda/python/Lib/htmllib.py | 0 panda/python/Lib/httplib.py | 0 panda/python/Lib/idlelib/AutoComplete.py | 0 .../python/Lib/idlelib/AutoCompleteWindow.py | 0 panda/python/Lib/idlelib/AutoExpand.py | 0 panda/python/Lib/idlelib/Bindings.py | 0 panda/python/Lib/idlelib/CREDITS.txt | 0 panda/python/Lib/idlelib/CallTipWindow.py | 0 panda/python/Lib/idlelib/CallTips.py | 0 panda/python/Lib/idlelib/ClassBrowser.py | 0 panda/python/Lib/idlelib/CodeContext.py | 0 panda/python/Lib/idlelib/ColorDelegator.py | 0 panda/python/Lib/idlelib/Debugger.py | 0 panda/python/Lib/idlelib/Delegator.py | 0 panda/python/Lib/idlelib/EditorWindow.py | 0 panda/python/Lib/idlelib/FileList.py | 0 panda/python/Lib/idlelib/FormatParagraph.py | 0 panda/python/Lib/idlelib/GrepDialog.py | 0 panda/python/Lib/idlelib/HISTORY.txt | 0 panda/python/Lib/idlelib/HyperParser.py | 0 panda/python/Lib/idlelib/IOBinding.py | 0 panda/python/Lib/idlelib/Icons/folder.gif | Bin panda/python/Lib/idlelib/Icons/idle.icns | Bin panda/python/Lib/idlelib/Icons/minusnode.gif | Bin panda/python/Lib/idlelib/Icons/openfolder.gif | Bin panda/python/Lib/idlelib/Icons/plusnode.gif | Bin panda/python/Lib/idlelib/Icons/python.gif | Bin panda/python/Lib/idlelib/Icons/tk.gif | Bin panda/python/Lib/idlelib/IdleHistory.py | 0 panda/python/Lib/idlelib/MultiCall.py | 0 panda/python/Lib/idlelib/MultiStatusBar.py | 0 panda/python/Lib/idlelib/NEWS.txt | 0 panda/python/Lib/idlelib/ObjectBrowser.py | 0 panda/python/Lib/idlelib/OutputWindow.py | 0 panda/python/Lib/idlelib/ParenMatch.py | 0 panda/python/Lib/idlelib/PathBrowser.py | 0 panda/python/Lib/idlelib/Percolator.py | 0 panda/python/Lib/idlelib/PyParse.py | 0 panda/python/Lib/idlelib/PyShell.py | 0 panda/python/Lib/idlelib/README.txt | 0 panda/python/Lib/idlelib/RemoteDebugger.py | 0 .../python/Lib/idlelib/RemoteObjectBrowser.py | 0 panda/python/Lib/idlelib/ReplaceDialog.py | 0 panda/python/Lib/idlelib/RstripExtension.py | 0 panda/python/Lib/idlelib/ScriptBinding.py | 0 panda/python/Lib/idlelib/ScrolledList.py | 0 panda/python/Lib/idlelib/SearchDialog.py | 0 panda/python/Lib/idlelib/SearchDialogBase.py | 0 panda/python/Lib/idlelib/SearchEngine.py | 0 panda/python/Lib/idlelib/StackViewer.py | 0 panda/python/Lib/idlelib/TODO.txt | 0 panda/python/Lib/idlelib/ToolTip.py | 0 panda/python/Lib/idlelib/TreeWidget.py | 0 panda/python/Lib/idlelib/UndoDelegator.py | 0 panda/python/Lib/idlelib/WidgetRedirector.py | 0 panda/python/Lib/idlelib/WindowList.py | 0 panda/python/Lib/idlelib/ZoomHeight.py | 0 panda/python/Lib/idlelib/__init__.py | 0 panda/python/Lib/idlelib/aboutDialog.py | 0 .../python/Lib/idlelib/config-extensions.def | 0 panda/python/Lib/idlelib/config-highlight.def | 0 panda/python/Lib/idlelib/config-keys.def | 0 panda/python/Lib/idlelib/config-main.def | 0 panda/python/Lib/idlelib/configDialog.py | 0 panda/python/Lib/idlelib/configHandler.py | 0 .../Lib/idlelib/configHelpSourceEdit.py | 0 .../Lib/idlelib/configSectionNameDialog.py | 0 .../python/Lib/idlelib/dynOptionMenuWidget.py | 0 panda/python/Lib/idlelib/extend.txt | 0 panda/python/Lib/idlelib/help.txt | 0 panda/python/Lib/idlelib/idle.bat | 0 panda/python/Lib/idlelib/idle.py | 0 panda/python/Lib/idlelib/idle.pyw | 0 panda/python/Lib/idlelib/idlever.py | 0 panda/python/Lib/idlelib/keybindingDialog.py | 0 panda/python/Lib/idlelib/macosxSupport.py | 0 panda/python/Lib/idlelib/rpc.py | 0 panda/python/Lib/idlelib/run.py | 0 panda/python/Lib/idlelib/tabbedpages.py | 0 panda/python/Lib/idlelib/testcode.py | 0 panda/python/Lib/idlelib/textView.py | 0 panda/python/Lib/ihooks.py | 0 panda/python/Lib/imaplib.py | 0 panda/python/Lib/imghdr.py | 0 panda/python/Lib/importlib/__init__.py | 0 panda/python/Lib/imputil.py | 0 panda/python/Lib/inspect.py | 0 panda/python/Lib/io.py | 0 panda/python/Lib/json/__init__.py | 0 panda/python/Lib/json/decoder.py | 0 panda/python/Lib/json/encoder.py | 0 panda/python/Lib/json/scanner.py | 0 panda/python/Lib/json/tool.py | 0 panda/python/Lib/keyword.py | 0 panda/python/Lib/lib-tk/Canvas.py | 0 panda/python/Lib/lib-tk/Dialog.py | 0 panda/python/Lib/lib-tk/FileDialog.py | 0 panda/python/Lib/lib-tk/FixTk.py | 0 panda/python/Lib/lib-tk/ScrolledText.py | 0 panda/python/Lib/lib-tk/SimpleDialog.py | 0 panda/python/Lib/lib-tk/Tix.py | 0 panda/python/Lib/lib-tk/Tkconstants.py | 0 panda/python/Lib/lib-tk/Tkdnd.py | 0 panda/python/Lib/lib-tk/Tkinter.py | 0 .../Lib/lib-tk/test/test_tkinter/__init__.py | 0 .../lib-tk/test/test_tkinter/test_loadtk.py | 0 .../Lib/lib-tk/test/test_tkinter/test_text.py | 0 .../Lib/lib-tk/test/test_ttk/__init__.py | 0 .../Lib/lib-tk/test/test_ttk/support.py | 0 .../lib-tk/test/test_ttk/test_extensions.py | 0 .../lib-tk/test/test_ttk/test_functions.py | 0 .../Lib/lib-tk/test/test_ttk/test_style.py | 0 .../Lib/lib-tk/test/test_ttk/test_widgets.py | 0 panda/python/Lib/lib-tk/tkColorChooser.py | 0 panda/python/Lib/lib-tk/tkCommonDialog.py | 0 panda/python/Lib/lib-tk/tkFileDialog.py | 0 panda/python/Lib/lib-tk/tkFont.py | 0 panda/python/Lib/lib-tk/tkMessageBox.py | 0 panda/python/Lib/lib-tk/tkSimpleDialog.py | 0 panda/python/Lib/lib-tk/ttk.py | 0 panda/python/Lib/lib-tk/turtle.py | 0 panda/python/Lib/lib2to3/Grammar.txt | 0 panda/python/Lib/lib2to3/PatternGrammar.txt | 0 panda/python/Lib/lib2to3/__init__.py | 0 panda/python/Lib/lib2to3/__main__.py | 0 panda/python/Lib/lib2to3/btm_matcher.py | 0 panda/python/Lib/lib2to3/btm_utils.py | 0 panda/python/Lib/lib2to3/fixer_base.py | 0 panda/python/Lib/lib2to3/fixer_util.py | 0 panda/python/Lib/lib2to3/fixes/__init__.py | 0 panda/python/Lib/lib2to3/fixes/fix_apply.py | 0 .../Lib/lib2to3/fixes/fix_basestring.py | 0 panda/python/Lib/lib2to3/fixes/fix_buffer.py | 0 .../python/Lib/lib2to3/fixes/fix_callable.py | 0 panda/python/Lib/lib2to3/fixes/fix_dict.py | 0 panda/python/Lib/lib2to3/fixes/fix_except.py | 0 panda/python/Lib/lib2to3/fixes/fix_exec.py | 0 .../python/Lib/lib2to3/fixes/fix_execfile.py | 0 .../python/Lib/lib2to3/fixes/fix_exitfunc.py | 0 panda/python/Lib/lib2to3/fixes/fix_filter.py | 0 .../python/Lib/lib2to3/fixes/fix_funcattrs.py | 0 panda/python/Lib/lib2to3/fixes/fix_future.py | 0 panda/python/Lib/lib2to3/fixes/fix_getcwdu.py | 0 panda/python/Lib/lib2to3/fixes/fix_has_key.py | 0 panda/python/Lib/lib2to3/fixes/fix_idioms.py | 0 panda/python/Lib/lib2to3/fixes/fix_import.py | 0 panda/python/Lib/lib2to3/fixes/fix_imports.py | 0 .../python/Lib/lib2to3/fixes/fix_imports2.py | 0 panda/python/Lib/lib2to3/fixes/fix_input.py | 0 panda/python/Lib/lib2to3/fixes/fix_intern.py | 0 .../Lib/lib2to3/fixes/fix_isinstance.py | 0 .../python/Lib/lib2to3/fixes/fix_itertools.py | 0 .../lib2to3/fixes/fix_itertools_imports.py | 0 panda/python/Lib/lib2to3/fixes/fix_long.py | 0 panda/python/Lib/lib2to3/fixes/fix_map.py | 0 .../python/Lib/lib2to3/fixes/fix_metaclass.py | 0 .../Lib/lib2to3/fixes/fix_methodattrs.py | 0 panda/python/Lib/lib2to3/fixes/fix_ne.py | 0 panda/python/Lib/lib2to3/fixes/fix_next.py | 0 panda/python/Lib/lib2to3/fixes/fix_nonzero.py | 0 .../Lib/lib2to3/fixes/fix_numliterals.py | 0 .../python/Lib/lib2to3/fixes/fix_operator.py | 0 panda/python/Lib/lib2to3/fixes/fix_paren.py | 0 panda/python/Lib/lib2to3/fixes/fix_print.py | 0 panda/python/Lib/lib2to3/fixes/fix_raise.py | 0 .../python/Lib/lib2to3/fixes/fix_raw_input.py | 0 panda/python/Lib/lib2to3/fixes/fix_reduce.py | 0 panda/python/Lib/lib2to3/fixes/fix_renames.py | 0 panda/python/Lib/lib2to3/fixes/fix_repr.py | 0 .../Lib/lib2to3/fixes/fix_set_literal.py | 0 .../Lib/lib2to3/fixes/fix_standarderror.py | 0 panda/python/Lib/lib2to3/fixes/fix_sys_exc.py | 0 panda/python/Lib/lib2to3/fixes/fix_throw.py | 0 .../Lib/lib2to3/fixes/fix_tuple_params.py | 0 panda/python/Lib/lib2to3/fixes/fix_types.py | 0 panda/python/Lib/lib2to3/fixes/fix_unicode.py | 0 panda/python/Lib/lib2to3/fixes/fix_urllib.py | 0 .../python/Lib/lib2to3/fixes/fix_ws_comma.py | 0 panda/python/Lib/lib2to3/fixes/fix_xrange.py | 0 .../Lib/lib2to3/fixes/fix_xreadlines.py | 0 panda/python/Lib/lib2to3/fixes/fix_zip.py | 0 panda/python/Lib/lib2to3/main.py | 0 panda/python/Lib/lib2to3/patcomp.py | 0 panda/python/Lib/lib2to3/pgen2/__init__.py | 0 panda/python/Lib/lib2to3/pgen2/conv.py | 0 panda/python/Lib/lib2to3/pgen2/driver.py | 0 panda/python/Lib/lib2to3/pgen2/grammar.py | 0 panda/python/Lib/lib2to3/pgen2/literals.py | 0 panda/python/Lib/lib2to3/pgen2/parse.py | 0 panda/python/Lib/lib2to3/pgen2/pgen.py | 0 panda/python/Lib/lib2to3/pgen2/token.py | 0 panda/python/Lib/lib2to3/pgen2/tokenize.py | 0 panda/python/Lib/lib2to3/pygram.py | 0 panda/python/Lib/lib2to3/pytree.py | 0 panda/python/Lib/lib2to3/refactor.py | 0 .../lib2to3/tests/data/fixers/bad_order.py | 0 .../tests/data/fixers/myfixes/__init__.py | 0 .../tests/data/fixers/myfixes/fix_explicit.py | 0 .../tests/data/fixers/myfixes/fix_first.py | 0 .../tests/data/fixers/myfixes/fix_last.py | 0 .../tests/data/fixers/myfixes/fix_parrot.py | 0 .../tests/data/fixers/myfixes/fix_preorder.py | 0 .../lib2to3/tests/data/fixers/no_fixer_cls.py | 0 .../tests/data/fixers/parrot_example.py | 0 panda/python/Lib/linecache.py | 0 panda/python/Lib/locale.py | 0 panda/python/Lib/logging/__init__.py | 0 panda/python/Lib/logging/config.py | 0 panda/python/Lib/logging/handlers.py | 0 panda/python/Lib/macpath.py | 0 panda/python/Lib/macurl2path.py | 0 panda/python/Lib/mailbox.py | 0 panda/python/Lib/mailcap.py | 0 panda/python/Lib/markupbase.py | 0 panda/python/Lib/md5.py | 0 panda/python/Lib/mhlib.py | 0 panda/python/Lib/mimetools.py | 0 panda/python/Lib/mimetypes.py | 0 panda/python/Lib/mimify.py | 0 panda/python/Lib/modulefinder.py | 0 panda/python/Lib/msilib/__init__.py | 0 panda/python/Lib/msilib/schema.py | 0 panda/python/Lib/msilib/sequence.py | 0 panda/python/Lib/msilib/text.py | 0 panda/python/Lib/multifile.py | 0 panda/python/Lib/multiprocessing/__init__.py | 0 .../python/Lib/multiprocessing/connection.py | 0 .../Lib/multiprocessing/dummy/__init__.py | 0 .../Lib/multiprocessing/dummy/connection.py | 0 panda/python/Lib/multiprocessing/forking.py | 0 panda/python/Lib/multiprocessing/heap.py | 0 panda/python/Lib/multiprocessing/managers.py | 0 panda/python/Lib/multiprocessing/pool.py | 0 panda/python/Lib/multiprocessing/process.py | 0 panda/python/Lib/multiprocessing/queues.py | 0 panda/python/Lib/multiprocessing/reduction.py | 0 .../Lib/multiprocessing/sharedctypes.py | 0 .../python/Lib/multiprocessing/synchronize.py | 0 panda/python/Lib/multiprocessing/util.py | 0 panda/python/Lib/mutex.py | 0 panda/python/Lib/netrc.py | 0 panda/python/Lib/new.py | 0 panda/python/Lib/nntplib.py | 0 panda/python/Lib/ntpath.py | 0 panda/python/Lib/nturl2path.py | 0 panda/python/Lib/numbers.py | 0 panda/python/Lib/opcode.py | 0 panda/python/Lib/optparse.py | 0 panda/python/Lib/os.py | 0 panda/python/Lib/os2emxpath.py | 0 panda/python/Lib/pdb.py | 0 panda/python/Lib/phidgets/Accelerometer.py | 0 panda/python/Lib/phidgets/InterfaceKit.py | 0 panda/python/Lib/phidgets/Phidget.py | 0 panda/python/Lib/phidgets/__init__.py | 0 panda/python/Lib/phidgets/cphidgets.pyd | Bin panda/python/Lib/pickle.py | 0 panda/python/Lib/pickletools.py | 0 panda/python/Lib/pipes.py | 0 panda/python/Lib/pkgutil.py | 0 panda/python/Lib/platform.py | 0 panda/python/Lib/plistlib.py | 0 panda/python/Lib/popen2.py | 0 panda/python/Lib/poplib.py | 0 panda/python/Lib/posixfile.py | 0 panda/python/Lib/posixpath.py | 0 panda/python/Lib/pprint.py | 0 panda/python/Lib/profile.py | 0 panda/python/Lib/pstats.py | 0 panda/python/Lib/pty.py | 0 panda/python/Lib/py_compile.py | 0 panda/python/Lib/pyclbr.py | 0 panda/python/Lib/pydoc.py | 0 panda/python/Lib/pydoc_data/__init__.py | 0 panda/python/Lib/pydoc_data/topics.py | 0 panda/python/Lib/quopri.py | 0 panda/python/Lib/random.py | 0 panda/python/Lib/re.py | 0 panda/python/Lib/repr.py | 0 panda/python/Lib/rexec.py | 0 panda/python/Lib/rfc822.py | 0 panda/python/Lib/rlcompleter.py | 0 panda/python/Lib/robotparser.py | 0 panda/python/Lib/runpy.py | 0 panda/python/Lib/sched.py | 0 panda/python/Lib/serial/__init__.py | 0 panda/python/Lib/serial/buffer.py | 0 panda/python/Lib/serial/serialjava.py | 0 panda/python/Lib/serial/serialposix.py | 0 panda/python/Lib/serial/serialutil.py | 0 panda/python/Lib/serial/serialwin32.py | 0 panda/python/Lib/serial/sermsdos.py | 0 panda/python/Lib/serial/writeblockingtest.py | 0 panda/python/Lib/sets.py | 0 panda/python/Lib/sgmllib.py | 0 panda/python/Lib/sha.py | 0 panda/python/Lib/shelve.py | 0 panda/python/Lib/shlex.py | 0 panda/python/Lib/shutil.py | 0 .../Lib/site-packages/Crypto/Cipher/AES.py | 0 .../Lib/site-packages/Crypto/Cipher/AES.pyo | Bin .../Lib/site-packages/Crypto/Cipher/ARC2.py | 0 .../Lib/site-packages/Crypto/Cipher/ARC2.pyo | Bin .../Lib/site-packages/Crypto/Cipher/ARC4.py | 0 .../Lib/site-packages/Crypto/Cipher/ARC4.pyo | Bin .../site-packages/Crypto/Cipher/Blowfish.py | 0 .../site-packages/Crypto/Cipher/Blowfish.pyo | Bin .../Lib/site-packages/Crypto/Cipher/CAST.py | 0 .../Lib/site-packages/Crypto/Cipher/CAST.pyo | Bin .../Lib/site-packages/Crypto/Cipher/DES.py | 0 .../Lib/site-packages/Crypto/Cipher/DES.pyo | Bin .../Lib/site-packages/Crypto/Cipher/DES3.py | 0 .../Lib/site-packages/Crypto/Cipher/DES3.pyo | Bin .../site-packages/Crypto/Cipher/PKCS1_OAEP.py | 0 .../Crypto/Cipher/PKCS1_OAEP.pyo | Bin .../site-packages/Crypto/Cipher/PKCS1_v1_5.py | 0 .../Crypto/Cipher/PKCS1_v1_5.pyo | Bin .../Lib/site-packages/Crypto/Cipher/XOR.py | 0 .../Lib/site-packages/Crypto/Cipher/XOR.pyo | Bin .../Lib/site-packages/Crypto/Cipher/_AES.pyd | Bin .../Lib/site-packages/Crypto/Cipher/_ARC2.pyd | Bin .../Lib/site-packages/Crypto/Cipher/_ARC4.pyd | Bin .../site-packages/Crypto/Cipher/_Blowfish.pyd | Bin .../Lib/site-packages/Crypto/Cipher/_CAST.pyd | Bin .../Lib/site-packages/Crypto/Cipher/_DES.pyd | Bin .../Lib/site-packages/Crypto/Cipher/_DES3.pyd | Bin .../Lib/site-packages/Crypto/Cipher/_XOR.pyd | Bin .../site-packages/Crypto/Cipher/__init__.py | 0 .../site-packages/Crypto/Cipher/__init__.pyo | Bin .../site-packages/Crypto/Cipher/blockalgo.py | 0 .../site-packages/Crypto/Cipher/blockalgo.pyo | Bin .../Lib/site-packages/Crypto/Hash/HMAC.py | 0 .../Lib/site-packages/Crypto/Hash/HMAC.pyo | Bin .../Lib/site-packages/Crypto/Hash/MD2.py | 0 .../Lib/site-packages/Crypto/Hash/MD2.pyo | Bin .../Lib/site-packages/Crypto/Hash/MD4.py | 0 .../Lib/site-packages/Crypto/Hash/MD4.pyo | Bin .../Lib/site-packages/Crypto/Hash/MD5.py | 0 .../Lib/site-packages/Crypto/Hash/MD5.pyo | Bin .../Lib/site-packages/Crypto/Hash/RIPEMD.py | 0 .../Lib/site-packages/Crypto/Hash/RIPEMD.pyo | Bin .../Lib/site-packages/Crypto/Hash/SHA.py | 0 .../Lib/site-packages/Crypto/Hash/SHA.pyo | Bin .../Lib/site-packages/Crypto/Hash/SHA224.py | 0 .../Lib/site-packages/Crypto/Hash/SHA224.pyo | Bin .../Lib/site-packages/Crypto/Hash/SHA256.py | 0 .../Lib/site-packages/Crypto/Hash/SHA256.pyo | Bin .../Lib/site-packages/Crypto/Hash/SHA384.py | 0 .../Lib/site-packages/Crypto/Hash/SHA384.pyo | Bin .../Lib/site-packages/Crypto/Hash/SHA512.py | 0 .../Lib/site-packages/Crypto/Hash/SHA512.pyo | Bin .../Lib/site-packages/Crypto/Hash/_MD2.pyd | Bin .../Lib/site-packages/Crypto/Hash/_MD4.pyd | Bin .../site-packages/Crypto/Hash/_RIPEMD160.pyd | Bin .../Lib/site-packages/Crypto/Hash/_SHA224.pyd | Bin .../Lib/site-packages/Crypto/Hash/_SHA256.pyd | Bin .../Lib/site-packages/Crypto/Hash/_SHA384.pyd | Bin .../Lib/site-packages/Crypto/Hash/_SHA512.pyd | Bin .../Lib/site-packages/Crypto/Hash/__init__.py | 0 .../site-packages/Crypto/Hash/__init__.pyo | Bin .../Lib/site-packages/Crypto/Hash/hashalgo.py | 0 .../site-packages/Crypto/Hash/hashalgo.pyo | Bin .../Crypto/Protocol/AllOrNothing.py | 0 .../Crypto/Protocol/AllOrNothing.pyo | Bin .../site-packages/Crypto/Protocol/Chaffing.py | 0 .../Crypto/Protocol/Chaffing.pyo | Bin .../Lib/site-packages/Crypto/Protocol/KDF.py | 0 .../Lib/site-packages/Crypto/Protocol/KDF.pyo | Bin .../site-packages/Crypto/Protocol/__init__.py | 0 .../Crypto/Protocol/__init__.pyo | Bin .../Lib/site-packages/Crypto/PublicKey/DSA.py | 0 .../site-packages/Crypto/PublicKey/DSA.pyo | Bin .../site-packages/Crypto/PublicKey/ElGamal.py | 0 .../Crypto/PublicKey/ElGamal.pyo | Bin .../Lib/site-packages/Crypto/PublicKey/RSA.py | 0 .../site-packages/Crypto/PublicKey/RSA.pyo | Bin .../site-packages/Crypto/PublicKey/_DSA.py | 0 .../site-packages/Crypto/PublicKey/_DSA.pyo | Bin .../site-packages/Crypto/PublicKey/_RSA.py | 0 .../site-packages/Crypto/PublicKey/_RSA.pyo | Bin .../Crypto/PublicKey/__init__.py | 0 .../Crypto/PublicKey/__init__.pyo | Bin .../Crypto/PublicKey/_slowmath.py | 0 .../Crypto/PublicKey/_slowmath.pyo | Bin .../site-packages/Crypto/PublicKey/pubkey.py | 0 .../site-packages/Crypto/PublicKey/pubkey.pyo | Bin .../Random/Fortuna/FortunaAccumulator.py | 0 .../Random/Fortuna/FortunaAccumulator.pyo | Bin .../Crypto/Random/Fortuna/FortunaGenerator.py | 0 .../Random/Fortuna/FortunaGenerator.pyo | Bin .../Crypto/Random/Fortuna/SHAd256.py | 0 .../Crypto/Random/Fortuna/SHAd256.pyo | Bin .../Crypto/Random/Fortuna/__init__.py | 0 .../Crypto/Random/Fortuna/__init__.pyo | Bin .../Crypto/Random/OSRNG/__init__.py | 0 .../Crypto/Random/OSRNG/__init__.pyo | Bin .../Crypto/Random/OSRNG/fallback.py | 0 .../Crypto/Random/OSRNG/fallback.pyo | Bin .../site-packages/Crypto/Random/OSRNG/nt.py | 0 .../site-packages/Crypto/Random/OSRNG/nt.pyo | Bin .../Crypto/Random/OSRNG/posix.py | 0 .../Crypto/Random/OSRNG/posix.pyo | Bin .../Crypto/Random/OSRNG/rng_base.py | 0 .../Crypto/Random/OSRNG/rng_base.pyo | Bin .../Crypto/Random/OSRNG/winrandom.pyd | Bin .../Crypto/Random/_UserFriendlyRNG.py | 0 .../Crypto/Random/_UserFriendlyRNG.pyo | Bin .../site-packages/Crypto/Random/__init__.py | 0 .../site-packages/Crypto/Random/__init__.pyo | Bin .../Lib/site-packages/Crypto/Random/random.py | 0 .../site-packages/Crypto/Random/random.pyo | Bin .../Crypto/SelfTest/Cipher/__init__.py | 0 .../Crypto/SelfTest/Cipher/__init__.pyo | Bin .../Crypto/SelfTest/Cipher/common.py | 0 .../Crypto/SelfTest/Cipher/common.pyo | Bin .../Crypto/SelfTest/Cipher/test_AES.py | 0 .../Crypto/SelfTest/Cipher/test_AES.pyo | Bin .../Crypto/SelfTest/Cipher/test_ARC2.py | 0 .../Crypto/SelfTest/Cipher/test_ARC2.pyo | Bin .../Crypto/SelfTest/Cipher/test_ARC4.py | 0 .../Crypto/SelfTest/Cipher/test_ARC4.pyo | Bin .../Crypto/SelfTest/Cipher/test_Blowfish.py | 0 .../Crypto/SelfTest/Cipher/test_Blowfish.pyo | Bin .../Crypto/SelfTest/Cipher/test_CAST.py | 0 .../Crypto/SelfTest/Cipher/test_CAST.pyo | Bin .../Crypto/SelfTest/Cipher/test_DES.py | 0 .../Crypto/SelfTest/Cipher/test_DES.pyo | Bin .../Crypto/SelfTest/Cipher/test_DES3.py | 0 .../Crypto/SelfTest/Cipher/test_DES3.pyo | Bin .../Crypto/SelfTest/Cipher/test_XOR.py | 0 .../Crypto/SelfTest/Cipher/test_XOR.pyo | Bin .../Crypto/SelfTest/Cipher/test_pkcs1_15.py | 0 .../Crypto/SelfTest/Cipher/test_pkcs1_15.pyo | Bin .../Crypto/SelfTest/Cipher/test_pkcs1_oaep.py | 0 .../SelfTest/Cipher/test_pkcs1_oaep.pyo | Bin .../Crypto/SelfTest/Hash/__init__.py | 0 .../Crypto/SelfTest/Hash/__init__.pyo | Bin .../Crypto/SelfTest/Hash/common.py | 0 .../Crypto/SelfTest/Hash/common.pyo | Bin .../Crypto/SelfTest/Hash/test_HMAC.py | 0 .../Crypto/SelfTest/Hash/test_HMAC.pyo | Bin .../Crypto/SelfTest/Hash/test_MD2.py | 0 .../Crypto/SelfTest/Hash/test_MD2.pyo | Bin .../Crypto/SelfTest/Hash/test_MD4.py | 0 .../Crypto/SelfTest/Hash/test_MD4.pyo | Bin .../Crypto/SelfTest/Hash/test_MD5.py | 0 .../Crypto/SelfTest/Hash/test_MD5.pyo | Bin .../Crypto/SelfTest/Hash/test_RIPEMD.py | 0 .../Crypto/SelfTest/Hash/test_RIPEMD.pyo | Bin .../Crypto/SelfTest/Hash/test_SHA.py | 0 .../Crypto/SelfTest/Hash/test_SHA.pyo | Bin .../Crypto/SelfTest/Hash/test_SHA224.py | 0 .../Crypto/SelfTest/Hash/test_SHA224.pyo | Bin .../Crypto/SelfTest/Hash/test_SHA256.py | 0 .../Crypto/SelfTest/Hash/test_SHA256.pyo | Bin .../Crypto/SelfTest/Hash/test_SHA384.py | 0 .../Crypto/SelfTest/Hash/test_SHA384.pyo | Bin .../Crypto/SelfTest/Hash/test_SHA512.py | 0 .../Crypto/SelfTest/Hash/test_SHA512.pyo | Bin .../Crypto/SelfTest/Protocol/__init__.py | 0 .../Crypto/SelfTest/Protocol/__init__.pyo | Bin .../SelfTest/Protocol/test_AllOrNothing.py | 0 .../SelfTest/Protocol/test_AllOrNothing.pyo | Bin .../Crypto/SelfTest/Protocol/test_KDF.py | 0 .../Crypto/SelfTest/Protocol/test_KDF.pyo | Bin .../Crypto/SelfTest/Protocol/test_chaffing.py | 0 .../SelfTest/Protocol/test_chaffing.pyo | Bin .../Crypto/SelfTest/Protocol/test_rfc1751.py | 0 .../Crypto/SelfTest/Protocol/test_rfc1751.pyo | Bin .../Crypto/SelfTest/PublicKey/__init__.py | 0 .../Crypto/SelfTest/PublicKey/__init__.pyo | Bin .../Crypto/SelfTest/PublicKey/test_DSA.py | 0 .../Crypto/SelfTest/PublicKey/test_DSA.pyo | Bin .../Crypto/SelfTest/PublicKey/test_ElGamal.py | 0 .../SelfTest/PublicKey/test_ElGamal.pyo | Bin .../Crypto/SelfTest/PublicKey/test_RSA.py | 0 .../Crypto/SelfTest/PublicKey/test_RSA.pyo | Bin .../SelfTest/PublicKey/test_importKey.py | 0 .../SelfTest/PublicKey/test_importKey.pyo | Bin .../SelfTest/Random/Fortuna/__init__.py | 0 .../SelfTest/Random/Fortuna/__init__.pyo | Bin .../Random/Fortuna/test_FortunaAccumulator.py | 0 .../Fortuna/test_FortunaAccumulator.pyo | Bin .../Random/Fortuna/test_FortunaGenerator.py | 0 .../Random/Fortuna/test_FortunaGenerator.pyo | Bin .../SelfTest/Random/Fortuna/test_SHAd256.py | 0 .../SelfTest/Random/Fortuna/test_SHAd256.pyo | Bin .../Crypto/SelfTest/Random/OSRNG/__init__.py | 0 .../Crypto/SelfTest/Random/OSRNG/__init__.pyo | Bin .../SelfTest/Random/OSRNG/test_fallback.py | 0 .../SelfTest/Random/OSRNG/test_fallback.pyo | Bin .../SelfTest/Random/OSRNG/test_generic.py | 0 .../SelfTest/Random/OSRNG/test_generic.pyo | Bin .../Crypto/SelfTest/Random/OSRNG/test_nt.py | 0 .../Crypto/SelfTest/Random/OSRNG/test_nt.pyo | Bin .../SelfTest/Random/OSRNG/test_posix.py | 0 .../SelfTest/Random/OSRNG/test_posix.pyo | Bin .../SelfTest/Random/OSRNG/test_winrandom.py | 0 .../SelfTest/Random/OSRNG/test_winrandom.pyo | Bin .../Crypto/SelfTest/Random/__init__.py | 0 .../Crypto/SelfTest/Random/__init__.pyo | Bin .../SelfTest/Random/test__UserFriendlyRNG.py | 0 .../SelfTest/Random/test__UserFriendlyRNG.pyo | Bin .../Crypto/SelfTest/Random/test_random.py | 0 .../Crypto/SelfTest/Random/test_random.pyo | Bin .../SelfTest/Random/test_rpoolcompat.py | 0 .../SelfTest/Random/test_rpoolcompat.pyo | Bin .../Crypto/SelfTest/Signature/__init__.py | 0 .../Crypto/SelfTest/Signature/__init__.pyo | Bin .../SelfTest/Signature/test_pkcs1_15.py | 0 .../SelfTest/Signature/test_pkcs1_15.pyo | Bin .../SelfTest/Signature/test_pkcs1_pss.py | 0 .../SelfTest/Signature/test_pkcs1_pss.pyo | Bin .../Crypto/SelfTest/Util/__init__.py | 0 .../Crypto/SelfTest/Util/__init__.pyo | Bin .../Crypto/SelfTest/Util/test_Counter.py | 0 .../Crypto/SelfTest/Util/test_Counter.pyo | Bin .../Crypto/SelfTest/Util/test_asn1.py | 0 .../Crypto/SelfTest/Util/test_asn1.pyo | Bin .../Crypto/SelfTest/Util/test_number.py | 0 .../Crypto/SelfTest/Util/test_number.pyo | Bin .../Crypto/SelfTest/Util/test_winrandom.py | 0 .../Crypto/SelfTest/Util/test_winrandom.pyo | Bin .../site-packages/Crypto/SelfTest/__init__.py | 0 .../Crypto/SelfTest/__init__.pyo | Bin .../Crypto/SelfTest/st_common.py | 0 .../Crypto/SelfTest/st_common.pyo | Bin .../Crypto/Signature/PKCS1_PSS.py | 0 .../Crypto/Signature/PKCS1_PSS.pyo | Bin .../Crypto/Signature/PKCS1_v1_5.py | 0 .../Crypto/Signature/PKCS1_v1_5.pyo | Bin .../Crypto/Signature/__init__.py | 0 .../Crypto/Signature/__init__.pyo | Bin .../Lib/site-packages/Crypto/Util/Counter.py | 0 .../Lib/site-packages/Crypto/Util/Counter.pyo | Bin .../Lib/site-packages/Crypto/Util/RFC1751.py | 0 .../Lib/site-packages/Crypto/Util/RFC1751.pyo | Bin .../Lib/site-packages/Crypto/Util/__init__.py | 0 .../site-packages/Crypto/Util/__init__.pyo | Bin .../site-packages/Crypto/Util/_counter.pyd | Bin .../site-packages/Crypto/Util/_number_new.py | 0 .../site-packages/Crypto/Util/_number_new.pyo | Bin .../Lib/site-packages/Crypto/Util/asn1.py | 0 .../Lib/site-packages/Crypto/Util/asn1.pyo | Bin .../Lib/site-packages/Crypto/Util/number.py | 0 .../Lib/site-packages/Crypto/Util/number.pyo | Bin .../site-packages/Crypto/Util/py21compat.py | 0 .../site-packages/Crypto/Util/py21compat.pyo | Bin .../site-packages/Crypto/Util/py3compat.py | 0 .../site-packages/Crypto/Util/py3compat.pyo | Bin .../Lib/site-packages/Crypto/Util/randpool.py | 0 .../site-packages/Crypto/Util/randpool.pyo | Bin .../Lib/site-packages/Crypto/Util/strxor.pyd | Bin .../site-packages/Crypto/Util/winrandom.py | 0 .../site-packages/Crypto/Util/winrandom.pyo | Bin .../Lib/site-packages/Crypto/__init__.py | 0 .../Lib/site-packages/Crypto/__init__.pyo | Bin .../Lib/site-packages/Crypto/pct_warnings.py | 0 .../Lib/site-packages/Crypto/pct_warnings.pyo | Bin .../site-packages/PyYAML-3.11-py2.7.egg-info | 0 .../python/Lib/site-packages/easy-install.pth | 0 .../gevent-1.0.1-py2.7.egg-info/PKG-INFO | 0 .../gevent-1.0.1-py2.7.egg-info/SOURCES.txt | 0 .../dependency_links.txt | 0 .../installed-files.txt | 0 .../gevent-1.0.1-py2.7.egg-info/requires.txt | 0 .../gevent-1.0.1-py2.7.egg-info/top_level.txt | 0 .../Lib/site-packages/gevent/__init__.py | 0 .../Lib/site-packages/gevent/_semaphore.pyd | Bin .../Lib/site-packages/gevent/_threading.py | 0 .../python/Lib/site-packages/gevent/_util.pyd | Bin .../python/Lib/site-packages/gevent/ares.pyd | Bin .../Lib/site-packages/gevent/backdoor.py | 0 .../Lib/site-packages/gevent/baseserver.py | 0 .../python/Lib/site-packages/gevent/core.pyd | Bin .../python/Lib/site-packages/gevent/coros.py | 0 .../python/Lib/site-packages/gevent/event.py | 0 .../Lib/site-packages/gevent/fileobject.py | 0 .../Lib/site-packages/gevent/greenlet.py | 0 panda/python/Lib/site-packages/gevent/hub.py | 0 .../python/Lib/site-packages/gevent/local.py | 0 panda/python/Lib/site-packages/gevent/lock.py | 0 .../python/Lib/site-packages/gevent/monkey.py | 0 panda/python/Lib/site-packages/gevent/os.py | 0 panda/python/Lib/site-packages/gevent/pool.py | 0 .../python/Lib/site-packages/gevent/pywsgi.py | 0 .../python/Lib/site-packages/gevent/queue.py | 0 .../Lib/site-packages/gevent/resolver_ares.py | 0 .../site-packages/gevent/resolver_thread.py | 0 .../python/Lib/site-packages/gevent/select.py | 0 .../python/Lib/site-packages/gevent/server.py | 0 .../python/Lib/site-packages/gevent/socket.py | 0 panda/python/Lib/site-packages/gevent/ssl.py | 0 .../Lib/site-packages/gevent/subprocess.py | 0 .../python/Lib/site-packages/gevent/thread.py | 0 .../Lib/site-packages/gevent/threading.py | 0 .../Lib/site-packages/gevent/threadpool.py | 0 .../Lib/site-packages/gevent/timeout.py | 0 panda/python/Lib/site-packages/gevent/util.py | 0 .../Lib/site-packages/gevent/win32util.py | 0 panda/python/Lib/site-packages/gevent/wsgi.py | 0 .../greenlet-0.4.5.dist-info/DESCRIPTION.rst | 0 .../greenlet-0.4.5.dist-info/METADATA | 0 .../greenlet-0.4.5.dist-info/RECORD | 0 .../greenlet-0.4.5.dist-info/WHEEL | 0 .../greenlet-0.4.5.dist-info/top_level.txt | 0 .../grequests-0.2.0-py2.7.egg-info/PKG-INFO | 0 .../SOURCES.txt | 0 .../dependency_links.txt | 0 .../installed-files.txt | 0 .../not-zip-safe | 0 .../requires.txt | 0 .../top_level.txt | 0 .../Lib/site-packages/gridfs/__init__.py | 0 .../Lib/site-packages/gridfs/__init__.pyo | Bin .../python/Lib/site-packages/gridfs/errors.py | 0 .../Lib/site-packages/gridfs/errors.pyo | Bin .../Lib/site-packages/gridfs/grid_file.py | 0 .../Lib/site-packages/gridfs/grid_file.pyo | Bin .../jsonrpclib-0.1.3-py2.7.egg-info/PKG-INFO | 0 .../SOURCES.txt | 0 .../dependency_links.txt | 0 .../installed-files.txt | 0 .../top_level.txt | 0 .../jsonrpclib/SimpleJSONRPCServer.py | 0 .../Lib/site-packages/jsonrpclib/__init__.py | 0 .../Lib/site-packages/jsonrpclib/config.py | 0 .../Lib/site-packages/jsonrpclib/history.py | 0 .../Lib/site-packages/jsonrpclib/jsonclass.py | 0 .../Lib/site-packages/jsonrpclib/jsonrpc.py | 0 .../pip-6.0.8-py2.7.egg/EGG-INFO/PKG-INFO | 0 .../pip-6.0.8-py2.7.egg/EGG-INFO/SOURCES.txt | 0 .../EGG-INFO/dependency_links.txt | 0 .../EGG-INFO/entry_points.txt | 0 .../pip-6.0.8-py2.7.egg/EGG-INFO/not-zip-safe | 0 .../pip-6.0.8-py2.7.egg/EGG-INFO/requires.txt | 0 .../EGG-INFO/top_level.txt | 0 .../pip-6.0.8-py2.7.egg/pip/__init__.py | 0 .../pip-6.0.8-py2.7.egg/pip/__main__.py | 0 .../pip/_vendor/__init__.py | 0 .../pip/_vendor/_markerlib/__init__.py | 0 .../pip/_vendor/_markerlib/markers.py | 0 .../pip/_vendor/cachecontrol/__init__.py | 0 .../pip/_vendor/cachecontrol/adapter.py | 0 .../pip/_vendor/cachecontrol/cache.py | 0 .../_vendor/cachecontrol/caches/__init__.py | 0 .../_vendor/cachecontrol/caches/file_cache.py | 0 .../cachecontrol/caches/redis_cache.py | 0 .../pip/_vendor/cachecontrol/compat.py | 0 .../pip/_vendor/cachecontrol/controller.py | 0 .../pip/_vendor/cachecontrol/filewrapper.py | 0 .../pip/_vendor/cachecontrol/heuristics.py | 0 .../pip/_vendor/cachecontrol/serialize.py | 0 .../pip/_vendor/cachecontrol/wrapper.py | 0 .../pip/_vendor/certifi/__init__.py | 0 .../pip/_vendor/certifi/__main__.py | 0 .../pip/_vendor/certifi/cacert.pem | 0 .../pip/_vendor/certifi/core.py | 0 .../pip/_vendor/colorama/__init__.py | 0 .../pip/_vendor/colorama/ansi.py | 0 .../pip/_vendor/colorama/ansitowin32.py | 0 .../pip/_vendor/colorama/initialise.py | 0 .../pip/_vendor/colorama/win32.py | 0 .../pip/_vendor/colorama/winterm.py | 0 .../pip/_vendor/distlib/__init__.py | 0 .../pip/_vendor/distlib/_backport/__init__.py | 0 .../pip/_vendor/distlib/_backport/misc.py | 0 .../pip/_vendor/distlib/_backport/shutil.py | 0 .../_vendor/distlib/_backport/sysconfig.cfg | 0 .../_vendor/distlib/_backport/sysconfig.py | 0 .../pip/_vendor/distlib/_backport/tarfile.py | 0 .../pip/_vendor/distlib/compat.py | 0 .../pip/_vendor/distlib/database.py | 0 .../pip/_vendor/distlib/index.py | 0 .../pip/_vendor/distlib/locators.py | 0 .../pip/_vendor/distlib/manifest.py | 0 .../pip/_vendor/distlib/markers.py | 0 .../pip/_vendor/distlib/metadata.py | 0 .../pip/_vendor/distlib/resources.py | 0 .../pip/_vendor/distlib/scripts.py | 0 .../pip/_vendor/distlib/t32.exe | Bin .../pip/_vendor/distlib/t64.exe | Bin .../pip/_vendor/distlib/util.py | 0 .../pip/_vendor/distlib/version.py | 0 .../pip/_vendor/distlib/w32.exe | Bin .../pip/_vendor/distlib/w64.exe | Bin .../pip/_vendor/distlib/wheel.py | 0 .../pip/_vendor/html5lib/__init__.py | 0 .../pip/_vendor/html5lib/constants.py | 0 .../pip/_vendor/html5lib/filters/__init__.py | 0 .../pip/_vendor/html5lib/filters/_base.py | 0 .../filters/alphabeticalattributes.py | 0 .../html5lib/filters/inject_meta_charset.py | 0 .../pip/_vendor/html5lib/filters/lint.py | 0 .../_vendor/html5lib/filters/optionaltags.py | 0 .../pip/_vendor/html5lib/filters/sanitizer.py | 0 .../_vendor/html5lib/filters/whitespace.py | 0 .../pip/_vendor/html5lib/html5parser.py | 0 .../pip/_vendor/html5lib/ihatexml.py | 0 .../pip/_vendor/html5lib/inputstream.py | 0 .../pip/_vendor/html5lib/sanitizer.py | 0 .../_vendor/html5lib/serializer/__init__.py | 0 .../html5lib/serializer/htmlserializer.py | 0 .../pip/_vendor/html5lib/tokenizer.py | 0 .../_vendor/html5lib/treeadapters/__init__.py | 0 .../pip/_vendor/html5lib/treeadapters/sax.py | 0 .../_vendor/html5lib/treebuilders/__init__.py | 0 .../_vendor/html5lib/treebuilders/_base.py | 0 .../pip/_vendor/html5lib/treebuilders/dom.py | 0 .../_vendor/html5lib/treebuilders/etree.py | 0 .../html5lib/treebuilders/etree_lxml.py | 0 .../_vendor/html5lib/treewalkers/__init__.py | 0 .../pip/_vendor/html5lib/treewalkers/_base.py | 0 .../pip/_vendor/html5lib/treewalkers/dom.py | 0 .../pip/_vendor/html5lib/treewalkers/etree.py | 0 .../html5lib/treewalkers/genshistream.py | 0 .../_vendor/html5lib/treewalkers/lxmletree.py | 0 .../_vendor/html5lib/treewalkers/pulldom.py | 0 .../pip/_vendor/html5lib/trie/__init__.py | 0 .../pip/_vendor/html5lib/trie/_base.py | 0 .../pip/_vendor/html5lib/trie/datrie.py | 0 .../pip/_vendor/html5lib/trie/py.py | 0 .../pip/_vendor/html5lib/utils.py | 0 .../pip/_vendor/ipaddress.py | 0 .../pip/_vendor/lockfile/__init__.py | 0 .../pip/_vendor/lockfile/linklockfile.py | 0 .../pip/_vendor/lockfile/mkdirlockfile.py | 0 .../pip/_vendor/lockfile/pidlockfile.py | 0 .../pip/_vendor/lockfile/sqlitelockfile.py | 0 .../pip/_vendor/lockfile/symlinklockfile.py | 0 .../pip/_vendor/packaging/__about__.py | 0 .../pip/_vendor/packaging/__init__.py | 0 .../pip/_vendor/packaging/_compat.py | 0 .../pip/_vendor/packaging/_structures.py | 0 .../pip/_vendor/packaging/specifiers.py | 0 .../pip/_vendor/packaging/version.py | 0 .../pip/_vendor/pkg_resources/__init__.py | 0 .../pip/_vendor/progress/__init__.py | 0 .../pip/_vendor/progress/bar.py | 0 .../pip/_vendor/progress/counter.py | 0 .../pip/_vendor/progress/helpers.py | 0 .../pip/_vendor/progress/spinner.py | 0 .../pip/_vendor/re-vendor.py | 0 .../pip/_vendor/requests/__init__.py | 0 .../pip/_vendor/requests/adapters.py | 0 .../pip/_vendor/requests/api.py | 0 .../pip/_vendor/requests/auth.py | 0 .../pip/_vendor/requests/cacert.pem | 0 .../pip/_vendor/requests/certs.py | 0 .../pip/_vendor/requests/compat.py | 0 .../pip/_vendor/requests/cookies.py | 0 .../pip/_vendor/requests/exceptions.py | 0 .../pip/_vendor/requests/hooks.py | 0 .../pip/_vendor/requests/models.py | 0 .../pip/_vendor/requests/packages/__init__.py | 0 .../requests/packages/chardet/__init__.py | 0 .../requests/packages/chardet/big5freq.py | 0 .../requests/packages/chardet/big5prober.py | 0 .../requests/packages/chardet/chardetect.py | 0 .../packages/chardet/chardistribution.py | 0 .../packages/chardet/charsetgroupprober.py | 0 .../packages/chardet/charsetprober.py | 0 .../packages/chardet/codingstatemachine.py | 0 .../requests/packages/chardet/compat.py | 0 .../requests/packages/chardet/constants.py | 0 .../requests/packages/chardet/cp949prober.py | 0 .../requests/packages/chardet/escprober.py | 0 .../requests/packages/chardet/escsm.py | 0 .../requests/packages/chardet/eucjpprober.py | 0 .../requests/packages/chardet/euckrfreq.py | 0 .../requests/packages/chardet/euckrprober.py | 0 .../requests/packages/chardet/euctwfreq.py | 0 .../requests/packages/chardet/euctwprober.py | 0 .../requests/packages/chardet/gb2312freq.py | 0 .../requests/packages/chardet/gb2312prober.py | 0 .../requests/packages/chardet/hebrewprober.py | 0 .../requests/packages/chardet/jisfreq.py | 0 .../requests/packages/chardet/jpcntx.py | 0 .../packages/chardet/langbulgarianmodel.py | 0 .../packages/chardet/langcyrillicmodel.py | 0 .../packages/chardet/langgreekmodel.py | 0 .../packages/chardet/langhebrewmodel.py | 0 .../packages/chardet/langhungarianmodel.py | 0 .../packages/chardet/langthaimodel.py | 0 .../requests/packages/chardet/latin1prober.py | 0 .../packages/chardet/mbcharsetprober.py | 0 .../packages/chardet/mbcsgroupprober.py | 0 .../requests/packages/chardet/mbcssm.py | 0 .../packages/chardet/sbcharsetprober.py | 0 .../packages/chardet/sbcsgroupprober.py | 0 .../requests/packages/chardet/sjisprober.py | 0 .../packages/chardet/universaldetector.py | 0 .../requests/packages/chardet/utf8prober.py | 0 .../requests/packages/urllib3/__init__.py | 0 .../requests/packages/urllib3/_collections.py | 0 .../requests/packages/urllib3/connection.py | 0 .../packages/urllib3/connectionpool.py | 0 .../packages/urllib3/contrib/__init__.py | 0 .../packages/urllib3/contrib/ntlmpool.py | 0 .../packages/urllib3/contrib/pyopenssl.py | 0 .../requests/packages/urllib3/exceptions.py | 0 .../requests/packages/urllib3/fields.py | 0 .../requests/packages/urllib3/filepost.py | 0 .../packages/urllib3/packages/__init__.py | 0 .../packages/urllib3/packages/ordered_dict.py | 0 .../requests/packages/urllib3/packages/six.py | 0 .../packages/ssl_match_hostname/__init__.py | 0 .../ssl_match_hostname/_implementation.py | 0 .../requests/packages/urllib3/poolmanager.py | 0 .../requests/packages/urllib3/request.py | 0 .../requests/packages/urllib3/response.py | 0 .../packages/urllib3/util/__init__.py | 0 .../packages/urllib3/util/connection.py | 0 .../requests/packages/urllib3/util/request.py | 0 .../packages/urllib3/util/response.py | 0 .../requests/packages/urllib3/util/retry.py | 0 .../requests/packages/urllib3/util/ssl_.py | 0 .../requests/packages/urllib3/util/timeout.py | 0 .../requests/packages/urllib3/util/url.py | 0 .../pip/_vendor/requests/sessions.py | 0 .../pip/_vendor/requests/status_codes.py | 0 .../pip/_vendor/requests/structures.py | 0 .../pip/_vendor/requests/utils.py | 0 .../pip/_vendor/retrying.py | 0 .../pip-6.0.8-py2.7.egg/pip/_vendor/six.py | 0 .../pip-6.0.8-py2.7.egg/pip/basecommand.py | 0 .../pip-6.0.8-py2.7.egg/pip/baseparser.py | 0 .../pip-6.0.8-py2.7.egg/pip/cmdoptions.py | 0 .../pip/commands/__init__.py | 0 .../pip/commands/completion.py | 0 .../pip/commands/freeze.py | 0 .../pip-6.0.8-py2.7.egg/pip/commands/help.py | 0 .../pip/commands/install.py | 0 .../pip-6.0.8-py2.7.egg/pip/commands/list.py | 0 .../pip/commands/search.py | 0 .../pip-6.0.8-py2.7.egg/pip/commands/show.py | 0 .../pip/commands/uninstall.py | 0 .../pip-6.0.8-py2.7.egg/pip/commands/unzip.py | 0 .../pip-6.0.8-py2.7.egg/pip/commands/wheel.py | 0 .../pip-6.0.8-py2.7.egg/pip/commands/zip.py | 0 .../pip/compat/__init__.py | 0 .../pip/compat/dictconfig.py | 0 .../pip-6.0.8-py2.7.egg/pip/download.py | 0 .../pip-6.0.8-py2.7.egg/pip/exceptions.py | 0 .../pip-6.0.8-py2.7.egg/pip/index.py | 0 .../pip-6.0.8-py2.7.egg/pip/locations.py | 0 .../pip/models/__init__.py | 0 .../pip-6.0.8-py2.7.egg/pip/models/index.py | 0 .../pip/operations/__init__.py | 0 .../pip/operations/freeze.py | 0 .../pip-6.0.8-py2.7.egg/pip/pep425tags.py | 0 .../pip-6.0.8-py2.7.egg/pip/req/__init__.py | 0 .../pip-6.0.8-py2.7.egg/pip/req/req_file.py | 0 .../pip/req/req_install.py | 0 .../pip/req/req_requirement.py | 0 .../pip-6.0.8-py2.7.egg/pip/req/req_set.py | 0 .../pip/req/req_uninstall.py | 0 .../pip-6.0.8-py2.7.egg/pip/status_codes.py | 0 .../pip-6.0.8-py2.7.egg/pip/utils/__init__.py | 0 .../pip-6.0.8-py2.7.egg/pip/utils/appdirs.py | 0 .../pip-6.0.8-py2.7.egg/pip/utils/build.py | 0 .../pip/utils/deprecation.py | 0 .../pip/utils/filesystem.py | 0 .../pip-6.0.8-py2.7.egg/pip/utils/logging.py | 0 .../pip-6.0.8-py2.7.egg/pip/utils/outdated.py | 0 .../pip-6.0.8-py2.7.egg/pip/utils/ui.py | 0 .../pip-6.0.8-py2.7.egg/pip/vcs/__init__.py | 0 .../pip-6.0.8-py2.7.egg/pip/vcs/bazaar.py | 0 .../pip-6.0.8-py2.7.egg/pip/vcs/git.py | 0 .../pip-6.0.8-py2.7.egg/pip/vcs/mercurial.py | 0 .../pip-6.0.8-py2.7.egg/pip/vcs/subversion.py | 0 .../pip-6.0.8-py2.7.egg/pip/wheel.py | 0 .../pip-6.1.1.dist-info/DESCRIPTION.rst | 0 .../pip-6.1.1.dist-info/METADATA | 0 .../site-packages/pip-6.1.1.dist-info/RECORD | 0 .../site-packages/pip-6.1.1.dist-info/WHEEL | 0 .../pip-6.1.1.dist-info/entry_points.txt | 0 .../pip-6.1.1.dist-info/top_level.txt | 0 .../python/Lib/site-packages/pip/__init__.py | 0 .../python/Lib/site-packages/pip/__main__.py | 0 .../Lib/site-packages/pip/_vendor/__init__.py | 0 .../pip/_vendor/_markerlib/__init__.py | 0 .../pip/_vendor/_markerlib/markers.py | 0 .../pip/_vendor/cachecontrol/__init__.py | 0 .../pip/_vendor/cachecontrol/adapter.py | 0 .../pip/_vendor/cachecontrol/cache.py | 0 .../_vendor/cachecontrol/caches/__init__.py | 0 .../_vendor/cachecontrol/caches/file_cache.py | 0 .../cachecontrol/caches/redis_cache.py | 0 .../pip/_vendor/cachecontrol/compat.py | 0 .../pip/_vendor/cachecontrol/controller.py | 0 .../pip/_vendor/cachecontrol/filewrapper.py | 0 .../pip/_vendor/cachecontrol/heuristics.py | 0 .../pip/_vendor/cachecontrol/serialize.py | 0 .../pip/_vendor/cachecontrol/wrapper.py | 0 .../pip/_vendor/colorama/__init__.py | 0 .../pip/_vendor/colorama/ansi.py | 0 .../pip/_vendor/colorama/ansitowin32.py | 0 .../pip/_vendor/colorama/initialise.py | 0 .../pip/_vendor/colorama/win32.py | 0 .../pip/_vendor/colorama/winterm.py | 0 .../pip/_vendor/distlib/__init__.py | 0 .../pip/_vendor/distlib/_backport/__init__.py | 0 .../pip/_vendor/distlib/_backport/misc.py | 0 .../pip/_vendor/distlib/_backport/shutil.py | 0 .../_vendor/distlib/_backport/sysconfig.cfg | 0 .../_vendor/distlib/_backport/sysconfig.py | 0 .../pip/_vendor/distlib/_backport/tarfile.py | 0 .../pip/_vendor/distlib/compat.py | 0 .../pip/_vendor/distlib/database.py | 0 .../pip/_vendor/distlib/index.py | 0 .../pip/_vendor/distlib/locators.py | 0 .../pip/_vendor/distlib/manifest.py | 0 .../pip/_vendor/distlib/markers.py | 0 .../pip/_vendor/distlib/metadata.py | 0 .../pip/_vendor/distlib/resources.py | 0 .../pip/_vendor/distlib/scripts.py | 0 .../site-packages/pip/_vendor/distlib/t32.exe | Bin .../site-packages/pip/_vendor/distlib/t64.exe | Bin .../site-packages/pip/_vendor/distlib/util.py | 0 .../pip/_vendor/distlib/version.py | 0 .../site-packages/pip/_vendor/distlib/w32.exe | Bin .../site-packages/pip/_vendor/distlib/w64.exe | Bin .../pip/_vendor/distlib/wheel.py | 0 .../pip/_vendor/html5lib/__init__.py | 0 .../pip/_vendor/html5lib/constants.py | 0 .../pip/_vendor/html5lib/filters/__init__.py | 0 .../pip/_vendor/html5lib/filters/_base.py | 0 .../filters/alphabeticalattributes.py | 0 .../html5lib/filters/inject_meta_charset.py | 0 .../pip/_vendor/html5lib/filters/lint.py | 0 .../_vendor/html5lib/filters/optionaltags.py | 0 .../pip/_vendor/html5lib/filters/sanitizer.py | 0 .../_vendor/html5lib/filters/whitespace.py | 0 .../pip/_vendor/html5lib/html5parser.py | 0 .../pip/_vendor/html5lib/ihatexml.py | 0 .../pip/_vendor/html5lib/inputstream.py | 0 .../pip/_vendor/html5lib/sanitizer.py | 0 .../_vendor/html5lib/serializer/__init__.py | 0 .../html5lib/serializer/htmlserializer.py | 0 .../pip/_vendor/html5lib/tokenizer.py | 0 .../_vendor/html5lib/treeadapters/__init__.py | 0 .../pip/_vendor/html5lib/treeadapters/sax.py | 0 .../_vendor/html5lib/treebuilders/__init__.py | 0 .../_vendor/html5lib/treebuilders/_base.py | 0 .../pip/_vendor/html5lib/treebuilders/dom.py | 0 .../_vendor/html5lib/treebuilders/etree.py | 0 .../html5lib/treebuilders/etree_lxml.py | 0 .../_vendor/html5lib/treewalkers/__init__.py | 0 .../pip/_vendor/html5lib/treewalkers/_base.py | 0 .../pip/_vendor/html5lib/treewalkers/dom.py | 0 .../pip/_vendor/html5lib/treewalkers/etree.py | 0 .../html5lib/treewalkers/genshistream.py | 0 .../_vendor/html5lib/treewalkers/lxmletree.py | 0 .../_vendor/html5lib/treewalkers/pulldom.py | 0 .../pip/_vendor/html5lib/trie/__init__.py | 0 .../pip/_vendor/html5lib/trie/_base.py | 0 .../pip/_vendor/html5lib/trie/datrie.py | 0 .../pip/_vendor/html5lib/trie/py.py | 0 .../pip/_vendor/html5lib/utils.py | 0 .../site-packages/pip/_vendor/ipaddress.py | 0 .../pip/_vendor/lockfile/__init__.py | 0 .../pip/_vendor/lockfile/linklockfile.py | 0 .../pip/_vendor/lockfile/mkdirlockfile.py | 0 .../pip/_vendor/lockfile/pidlockfile.py | 0 .../pip/_vendor/lockfile/sqlitelockfile.py | 0 .../pip/_vendor/lockfile/symlinklockfile.py | 0 .../pip/_vendor/packaging/__about__.py | 0 .../pip/_vendor/packaging/__init__.py | 0 .../pip/_vendor/packaging/_compat.py | 0 .../pip/_vendor/packaging/_structures.py | 0 .../pip/_vendor/packaging/specifiers.py | 0 .../pip/_vendor/packaging/version.py | 0 .../pip/_vendor/pkg_resources/__init__.py | 0 .../_vendor/pkg_resources/tests/__init__.py | 0 .../pkg_resources/tests/test_pkg_resources.py | 0 .../pkg_resources/tests/test_resources.py | 0 .../pip/_vendor/progress/__init__.py | 0 .../site-packages/pip/_vendor/progress/bar.py | 0 .../pip/_vendor/progress/counter.py | 0 .../pip/_vendor/progress/helpers.py | 0 .../pip/_vendor/progress/spinner.py | 0 .../site-packages/pip/_vendor/re-vendor.py | 0 .../pip/_vendor/requests/__init__.py | 0 .../pip/_vendor/requests/adapters.py | 0 .../site-packages/pip/_vendor/requests/api.py | 0 .../pip/_vendor/requests/auth.py | 0 .../pip/_vendor/requests/cacert.pem | 0 .../pip/_vendor/requests/certs.py | 0 .../pip/_vendor/requests/compat.py | 0 .../pip/_vendor/requests/cookies.py | 0 .../pip/_vendor/requests/exceptions.py | 0 .../pip/_vendor/requests/hooks.py | 0 .../pip/_vendor/requests/models.py | 0 .../pip/_vendor/requests/packages/__init__.py | 0 .../requests/packages/chardet/__init__.py | 0 .../requests/packages/chardet/big5freq.py | 0 .../requests/packages/chardet/big5prober.py | 0 .../requests/packages/chardet/chardetect.py | 0 .../packages/chardet/chardistribution.py | 0 .../packages/chardet/charsetgroupprober.py | 0 .../packages/chardet/charsetprober.py | 0 .../packages/chardet/codingstatemachine.py | 0 .../requests/packages/chardet/compat.py | 0 .../requests/packages/chardet/constants.py | 0 .../requests/packages/chardet/cp949prober.py | 0 .../requests/packages/chardet/escprober.py | 0 .../requests/packages/chardet/escsm.py | 0 .../requests/packages/chardet/eucjpprober.py | 0 .../requests/packages/chardet/euckrfreq.py | 0 .../requests/packages/chardet/euckrprober.py | 0 .../requests/packages/chardet/euctwfreq.py | 0 .../requests/packages/chardet/euctwprober.py | 0 .../requests/packages/chardet/gb2312freq.py | 0 .../requests/packages/chardet/gb2312prober.py | 0 .../requests/packages/chardet/hebrewprober.py | 0 .../requests/packages/chardet/jisfreq.py | 0 .../requests/packages/chardet/jpcntx.py | 0 .../packages/chardet/langbulgarianmodel.py | 0 .../packages/chardet/langcyrillicmodel.py | 0 .../packages/chardet/langgreekmodel.py | 0 .../packages/chardet/langhebrewmodel.py | 0 .../packages/chardet/langhungarianmodel.py | 0 .../packages/chardet/langthaimodel.py | 0 .../requests/packages/chardet/latin1prober.py | 0 .../packages/chardet/mbcharsetprober.py | 0 .../packages/chardet/mbcsgroupprober.py | 0 .../requests/packages/chardet/mbcssm.py | 0 .../packages/chardet/sbcharsetprober.py | 0 .../packages/chardet/sbcsgroupprober.py | 0 .../requests/packages/chardet/sjisprober.py | 0 .../packages/chardet/universaldetector.py | 0 .../requests/packages/chardet/utf8prober.py | 0 .../requests/packages/urllib3/__init__.py | 0 .../requests/packages/urllib3/_collections.py | 0 .../requests/packages/urllib3/connection.py | 0 .../packages/urllib3/connectionpool.py | 0 .../packages/urllib3/contrib/__init__.py | 0 .../packages/urllib3/contrib/ntlmpool.py | 0 .../packages/urllib3/contrib/pyopenssl.py | 0 .../requests/packages/urllib3/exceptions.py | 0 .../requests/packages/urllib3/fields.py | 0 .../requests/packages/urllib3/filepost.py | 0 .../packages/urllib3/packages/__init__.py | 0 .../packages/urllib3/packages/ordered_dict.py | 0 .../requests/packages/urllib3/packages/six.py | 0 .../packages/ssl_match_hostname/__init__.py | 0 .../ssl_match_hostname/_implementation.py | 0 .../requests/packages/urllib3/poolmanager.py | 0 .../requests/packages/urllib3/request.py | 0 .../requests/packages/urllib3/response.py | 0 .../packages/urllib3/util/__init__.py | 0 .../packages/urllib3/util/connection.py | 0 .../requests/packages/urllib3/util/request.py | 0 .../packages/urllib3/util/response.py | 0 .../requests/packages/urllib3/util/retry.py | 0 .../requests/packages/urllib3/util/ssl_.py | 0 .../requests/packages/urllib3/util/timeout.py | 0 .../requests/packages/urllib3/util/url.py | 0 .../pip/_vendor/requests/sessions.py | 0 .../pip/_vendor/requests/status_codes.py | 0 .../pip/_vendor/requests/structures.py | 0 .../pip/_vendor/requests/utils.py | 0 .../Lib/site-packages/pip/_vendor/retrying.py | 0 .../Lib/site-packages/pip/_vendor/six.py | 0 .../Lib/site-packages/pip/basecommand.py | 0 .../Lib/site-packages/pip/baseparser.py | 0 .../Lib/site-packages/pip/cmdoptions.py | 0 .../site-packages/pip/commands/__init__.py | 0 .../site-packages/pip/commands/completion.py | 0 .../Lib/site-packages/pip/commands/freeze.py | 0 .../Lib/site-packages/pip/commands/help.py | 0 .../Lib/site-packages/pip/commands/install.py | 0 .../Lib/site-packages/pip/commands/list.py | 0 .../Lib/site-packages/pip/commands/search.py | 0 .../Lib/site-packages/pip/commands/show.py | 0 .../site-packages/pip/commands/uninstall.py | 0 .../Lib/site-packages/pip/commands/unzip.py | 0 .../Lib/site-packages/pip/commands/wheel.py | 0 .../Lib/site-packages/pip/commands/zip.py | 0 .../Lib/site-packages/pip/compat/__init__.py | 0 .../site-packages/pip/compat/dictconfig.py | 0 .../python/Lib/site-packages/pip/download.py | 0 .../Lib/site-packages/pip/exceptions.py | 0 panda/python/Lib/site-packages/pip/index.py | 0 .../python/Lib/site-packages/pip/locations.py | 0 .../Lib/site-packages/pip/models/__init__.py | 0 .../Lib/site-packages/pip/models/index.py | 0 .../site-packages/pip/operations/__init__.py | 0 .../site-packages/pip/operations/freeze.py | 0 .../Lib/site-packages/pip/pep425tags.py | 0 .../Lib/site-packages/pip/req/__init__.py | 0 .../Lib/site-packages/pip/req/req_file.py | 0 .../Lib/site-packages/pip/req/req_install.py | 0 .../site-packages/pip/req/req_requirement.py | 0 .../Lib/site-packages/pip/req/req_set.py | 0 .../site-packages/pip/req/req_uninstall.py | 0 .../Lib/site-packages/pip/status_codes.py | 0 .../Lib/site-packages/pip/utils/__init__.py | 0 .../Lib/site-packages/pip/utils/appdirs.py | 0 .../Lib/site-packages/pip/utils/build.py | 0 .../site-packages/pip/utils/deprecation.py | 0 .../Lib/site-packages/pip/utils/filesystem.py | 0 .../Lib/site-packages/pip/utils/logging.py | 0 .../Lib/site-packages/pip/utils/outdated.py | 0 .../python/Lib/site-packages/pip/utils/ui.py | 0 .../Lib/site-packages/pip/vcs/__init__.py | 0 .../Lib/site-packages/pip/vcs/bazaar.py | 0 panda/python/Lib/site-packages/pip/vcs/git.py | 0 .../Lib/site-packages/pip/vcs/mercurial.py | 0 .../Lib/site-packages/pip/vcs/subversion.py | 0 panda/python/Lib/site-packages/pip/wheel.py | 0 .../ply-3.4-py2.7.egg-info/PKG-INFO | 0 .../ply-3.4-py2.7.egg-info/SOURCES.txt | 0 .../dependency_links.txt | 0 .../installed-files.txt | 0 .../ply-3.4-py2.7.egg-info/top_level.txt | 0 .../python/Lib/site-packages/ply/__init__.py | 0 panda/python/Lib/site-packages/ply/cpp.py | 0 panda/python/Lib/site-packages/ply/ctokens.py | 0 panda/python/Lib/site-packages/ply/lex.py | 0 panda/python/Lib/site-packages/ply/yacc.py | 0 .../requests-2.6.0.dist-info/DESCRIPTION.rst | 0 .../requests-2.6.0.dist-info/METADATA | 0 .../requests-2.6.0.dist-info/RECORD | 0 .../requests-2.6.0.dist-info/WHEEL | 0 .../requests-2.6.0.dist-info/top_level.txt | 0 .../Lib/site-packages/requests/HISTORY.rst | 0 .../python/Lib/site-packages/requests/LICENSE | 0 .../Lib/site-packages/requests/MANIFEST.in | 0 .../python/Lib/site-packages/requests/NOTICE | 0 .../Lib/site-packages/requests/PKG-INFO | 0 .../Lib/site-packages/requests/README.rst | 0 .../Lib/site-packages/requests/__init__.py | 0 .../Lib/site-packages/requests/adapters.py | 0 .../python/Lib/site-packages/requests/api.py | 0 .../python/Lib/site-packages/requests/auth.py | 0 .../Lib/site-packages/requests/cacert.pem | 0 .../Lib/site-packages/requests/certs.py | 0 .../Lib/site-packages/requests/compat.py | 0 .../Lib/site-packages/requests/cookies.py | 0 .../Lib/site-packages/requests/exceptions.py | 0 .../Lib/site-packages/requests/hooks.py | 0 .../Lib/site-packages/requests/models.py | 0 .../requests/packages/__init__.py | 0 .../requests/packages/chardet/__init__.py | 0 .../requests/packages/chardet/big5freq.py | 0 .../requests/packages/chardet/big5prober.py | 0 .../requests/packages/chardet/chardetect.py | 0 .../packages/chardet/chardistribution.py | 0 .../packages/chardet/charsetgroupprober.py | 0 .../packages/chardet/charsetprober.py | 0 .../packages/chardet/codingstatemachine.py | 0 .../requests/packages/chardet/compat.py | 0 .../requests/packages/chardet/constants.py | 0 .../requests/packages/chardet/cp949prober.py | 0 .../requests/packages/chardet/escprober.py | 0 .../requests/packages/chardet/escsm.py | 0 .../requests/packages/chardet/eucjpprober.py | 0 .../requests/packages/chardet/euckrfreq.py | 0 .../requests/packages/chardet/euckrprober.py | 0 .../requests/packages/chardet/euctwfreq.py | 0 .../requests/packages/chardet/euctwprober.py | 0 .../requests/packages/chardet/gb2312freq.py | 0 .../requests/packages/chardet/gb2312prober.py | 0 .../requests/packages/chardet/hebrewprober.py | 0 .../requests/packages/chardet/jisfreq.py | 0 .../requests/packages/chardet/jpcntx.py | 0 .../packages/chardet/langbulgarianmodel.py | 0 .../packages/chardet/langcyrillicmodel.py | 0 .../packages/chardet/langgreekmodel.py | 0 .../packages/chardet/langhebrewmodel.py | 0 .../packages/chardet/langhungarianmodel.py | 0 .../packages/chardet/langthaimodel.py | 0 .../requests/packages/chardet/latin1prober.py | 0 .../packages/chardet/mbcharsetprober.py | 0 .../packages/chardet/mbcsgroupprober.py | 0 .../requests/packages/chardet/mbcssm.py | 0 .../packages/chardet/sbcharsetprober.py | 0 .../packages/chardet/sbcsgroupprober.py | 0 .../requests/packages/chardet/sjisprober.py | 0 .../packages/chardet/universaldetector.py | 0 .../requests/packages/chardet/utf8prober.py | 0 .../requests/packages/urllib3/__init__.py | 0 .../requests/packages/urllib3/_collections.py | 0 .../requests/packages/urllib3/connection.py | 0 .../packages/urllib3/connectionpool.py | 0 .../packages/urllib3/contrib/__init__.py | 0 .../packages/urllib3/contrib/ntlmpool.py | 0 .../packages/urllib3/contrib/pyopenssl.py | 0 .../requests/packages/urllib3/exceptions.py | 0 .../requests/packages/urllib3/fields.py | 0 .../requests/packages/urllib3/filepost.py | 0 .../packages/urllib3/packages/__init__.py | 0 .../packages/urllib3/packages/ordered_dict.py | 0 .../requests/packages/urllib3/packages/six.py | 0 .../packages/ssl_match_hostname/__init__.py | 0 .../ssl_match_hostname/_implementation.py | 0 .../requests/packages/urllib3/poolmanager.py | 0 .../requests/packages/urllib3/request.py | 0 .../requests/packages/urllib3/response.py | 0 .../packages/urllib3/util/__init__.py | 0 .../packages/urllib3/util/connection.py | 0 .../requests/packages/urllib3/util/request.py | 0 .../packages/urllib3/util/response.py | 0 .../requests/packages/urllib3/util/retry.py | 0 .../requests/packages/urllib3/util/ssl_.py | 0 .../requests/packages/urllib3/util/timeout.py | 0 .../requests/packages/urllib3/util/url.py | 0 .../requests/requests.egg-info/PKG-INFO | 0 .../requests/requests.egg-info/SOURCES.txt | 0 .../requests.egg-info/dependency_links.txt | 0 .../requests/requests.egg-info/not-zip-safe | 0 .../requests/requests.egg-info/requires.txt | 0 .../requests/requests.egg-info/top_level.txt | 0 .../requests/requests/__init__.py | 0 .../requests/requests/adapters.py | 0 .../site-packages/requests/requests/api.py | 0 .../site-packages/requests/requests/auth.py | 0 .../requests/requests/cacert.pem | 0 .../site-packages/requests/requests/certs.py | 0 .../site-packages/requests/requests/compat.py | 0 .../requests/requests/cookies.py | 0 .../requests/requests/exceptions.py | 0 .../site-packages/requests/requests/hooks.py | 0 .../site-packages/requests/requests/models.py | 0 .../requests/requests/packages/__init__.py | 0 .../requests/packages/chardet/__init__.py | 0 .../requests/packages/chardet/big5freq.py | 0 .../requests/packages/chardet/big5prober.py | 0 .../requests/packages/chardet/chardetect.py | 0 .../packages/chardet/chardistribution.py | 0 .../packages/chardet/charsetgroupprober.py | 0 .../packages/chardet/charsetprober.py | 0 .../packages/chardet/codingstatemachine.py | 0 .../requests/packages/chardet/compat.py | 0 .../requests/packages/chardet/constants.py | 0 .../requests/packages/chardet/cp949prober.py | 0 .../requests/packages/chardet/escprober.py | 0 .../requests/packages/chardet/escsm.py | 0 .../requests/packages/chardet/eucjpprober.py | 0 .../requests/packages/chardet/euckrfreq.py | 0 .../requests/packages/chardet/euckrprober.py | 0 .../requests/packages/chardet/euctwfreq.py | 0 .../requests/packages/chardet/euctwprober.py | 0 .../requests/packages/chardet/gb2312freq.py | 0 .../requests/packages/chardet/gb2312prober.py | 0 .../requests/packages/chardet/hebrewprober.py | 0 .../requests/packages/chardet/jisfreq.py | 0 .../requests/packages/chardet/jpcntx.py | 0 .../packages/chardet/langbulgarianmodel.py | 0 .../packages/chardet/langcyrillicmodel.py | 0 .../packages/chardet/langgreekmodel.py | 0 .../packages/chardet/langhebrewmodel.py | 0 .../packages/chardet/langhungarianmodel.py | 0 .../packages/chardet/langthaimodel.py | 0 .../requests/packages/chardet/latin1prober.py | 0 .../packages/chardet/mbcharsetprober.py | 0 .../packages/chardet/mbcsgroupprober.py | 0 .../requests/packages/chardet/mbcssm.py | 0 .../packages/chardet/sbcharsetprober.py | 0 .../packages/chardet/sbcsgroupprober.py | 0 .../requests/packages/chardet/sjisprober.py | 0 .../packages/chardet/universaldetector.py | 0 .../requests/packages/chardet/utf8prober.py | 0 .../requests/packages/urllib3/__init__.py | 0 .../requests/packages/urllib3/_collections.py | 0 .../requests/packages/urllib3/connection.py | 0 .../packages/urllib3/connectionpool.py | 0 .../packages/urllib3/contrib/__init__.py | 0 .../packages/urllib3/contrib/ntlmpool.py | 0 .../packages/urllib3/contrib/pyopenssl.py | 0 .../requests/packages/urllib3/exceptions.py | 0 .../requests/packages/urllib3/fields.py | 0 .../requests/packages/urllib3/filepost.py | 0 .../packages/urllib3/packages/__init__.py | 0 .../packages/urllib3/packages/ordered_dict.py | 0 .../requests/packages/urllib3/packages/six.py | 0 .../packages/ssl_match_hostname/__init__.py | 0 .../ssl_match_hostname/_implementation.py | 0 .../requests/packages/urllib3/poolmanager.py | 0 .../requests/packages/urllib3/request.py | 0 .../requests/packages/urllib3/response.py | 0 .../packages/urllib3/util/__init__.py | 0 .../packages/urllib3/util/connection.py | 0 .../requests/packages/urllib3/util/request.py | 0 .../packages/urllib3/util/response.py | 0 .../requests/packages/urllib3/util/retry.py | 0 .../requests/packages/urllib3/util/ssl_.py | 0 .../requests/packages/urllib3/util/timeout.py | 0 .../requests/packages/urllib3/util/url.py | 0 .../requests/requests/sessions.py | 0 .../requests/requests/status_codes.py | 0 .../requests/requests/structures.py | 0 .../site-packages/requests/requests/utils.py | 0 .../site-packages/requests/requirements.txt | 0 .../Lib/site-packages/requests/sessions.py | 0 .../Lib/site-packages/requests/setup.cfg | 0 .../Lib/site-packages/requests/setup.py | 0 .../site-packages/requests/status_codes.py | 0 .../Lib/site-packages/requests/structures.py | 0 .../site-packages/requests/test_requests.py | 0 .../Lib/site-packages/requests/utils.py | 0 .../site-packages/setuptools-12.0.5-py2.7.egg | Bin panda/python/Lib/site-packages/setuptools.pth | 0 panda/python/Lib/site-packages/wx/__init__.py | 0 .../Lib/site-packages/wx/__version__.py | 0 panda/python/Lib/site-packages/wx/_adv.pyd | Bin panda/python/Lib/site-packages/wx/_core.pyd | Bin .../python/Lib/site-packages/wx/_dataview.pyd | Bin .../python/Lib/site-packages/wx/_glcanvas.pyd | Bin panda/python/Lib/site-packages/wx/_grid.pyd | Bin panda/python/Lib/site-packages/wx/_html.pyd | Bin panda/python/Lib/site-packages/wx/_html2.pyd | Bin .../python/Lib/site-packages/wx/_richtext.pyd | Bin panda/python/Lib/site-packages/wx/_stc.pyd | Bin panda/python/Lib/site-packages/wx/_xml.pyd | Bin panda/python/Lib/site-packages/wx/_xrc.pyd | Bin panda/python/Lib/site-packages/wx/adv.pi | 0 panda/python/Lib/site-packages/wx/adv.py | 0 panda/python/Lib/site-packages/wx/core.pi | 0 panda/python/Lib/site-packages/wx/core.py | 0 panda/python/Lib/site-packages/wx/dataview.pi | 0 panda/python/Lib/site-packages/wx/dataview.py | 0 .../python/Lib/site-packages/wx/freetype6.dll | Bin panda/python/Lib/site-packages/wx/glcanvas.pi | 0 panda/python/Lib/site-packages/wx/glcanvas.py | 0 panda/python/Lib/site-packages/wx/grid.pi | 0 panda/python/Lib/site-packages/wx/grid.py | 0 panda/python/Lib/site-packages/wx/html.pi | 0 panda/python/Lib/site-packages/wx/html.py | 0 panda/python/Lib/site-packages/wx/html2.pi | 0 panda/python/Lib/site-packages/wx/html2.py | 0 .../python/Lib/site-packages/wx/lib/CDate.py | 0 .../wx/lib/ClickableHtmlWindow.py | 0 .../Lib/site-packages/wx/lib/__init__.py | 0 .../Lib/site-packages/wx/lib/activex.py | 0 .../site-packages/wx/lib/activexwrapper.py | 0 .../Lib/site-packages/wx/lib/agw/__init__.py | 0 .../wx/lib/agw/advancedsplash.py | 0 .../site-packages/wx/lib/agw/aquabutton.py | 0 .../site-packages/wx/lib/agw/artmanager.py | 0 .../site-packages/wx/lib/agw/aui/__init__.py | 0 .../wx/lib/agw/aui/aui_constants.py | 0 .../wx/lib/agw/aui/aui_switcherdialog.py | 0 .../wx/lib/agw/aui/aui_utilities.py | 0 .../site-packages/wx/lib/agw/aui/auibar.py | 0 .../site-packages/wx/lib/agw/aui/auibook.py | 0 .../site-packages/wx/lib/agw/aui/dockart.py | 0 .../wx/lib/agw/aui/framemanager.py | 0 .../site-packages/wx/lib/agw/aui/tabart.py | 0 .../site-packages/wx/lib/agw/aui/tabmdi.py | 0 .../site-packages/wx/lib/agw/balloontip.py | 0 .../site-packages/wx/lib/agw/buttonpanel.py | 0 .../wx/lib/agw/cubecolourdialog.py | 0 .../wx/lib/agw/customtreectrl.py | 0 .../wx/lib/agw/data/ShortcutEditor_1.png | Bin .../lib/agw/data/ShortcutEditor_1_thumb.png | Bin .../wx/lib/agw/data/ShortcutEditor_2.png | Bin .../lib/agw/data/ShortcutEditor_2_thumb.png | Bin .../wx/lib/agw/data/ShortcutEditor_3.png | Bin .../lib/agw/data/ShortcutEditor_3_thumb.png | Bin .../wx/lib/agw/data/ShortcutEditor_4.png | Bin .../lib/agw/data/ShortcutEditor_4_thumb.png | Bin .../wx/lib/agw/data/default_help_text.html | 0 .../Lib/site-packages/wx/lib/agw/flatmenu.py | 0 .../site-packages/wx/lib/agw/flatnotebook.py | 0 .../Lib/site-packages/wx/lib/agw/floatspin.py | 0 .../wx/lib/agw/fmcustomizedlg.py | 0 .../site-packages/wx/lib/agw/fmresources.py | 0 .../site-packages/wx/lib/agw/foldpanelbar.py | 0 .../wx/lib/agw/fourwaysplitter.py | 0 .../wx/lib/agw/genericmessagedialog.py | 0 .../wx/lib/agw/gradientbutton.py | 0 .../Lib/site-packages/wx/lib/agw/hyperlink.py | 0 .../site-packages/wx/lib/agw/hypertreelist.py | 0 .../Lib/site-packages/wx/lib/agw/infobar.py | 0 .../Lib/site-packages/wx/lib/agw/knobctrl.py | 0 .../Lib/site-packages/wx/lib/agw/labelbook.py | 0 .../wx/lib/agw/multidirdialog.py | 0 .../Lib/site-packages/wx/lib/agw/peakmeter.py | 0 .../wx/lib/agw/persist/__init__.py | 0 .../wx/lib/agw/persist/persist_constants.py | 0 .../wx/lib/agw/persist/persist_handlers.py | 0 .../wx/lib/agw/persist/persistencemanager.py | 0 .../Lib/site-packages/wx/lib/agw/piectrl.py | 0 .../site-packages/wx/lib/agw/pybusyinfo.py | 0 .../wx/lib/agw/pycollapsiblepane.py | 0 .../Lib/site-packages/wx/lib/agw/pygauge.py | 0 .../site-packages/wx/lib/agw/pyprogress.py | 0 .../wx/lib/agw/ribbon/__init__.py | 0 .../site-packages/wx/lib/agw/ribbon/art.py | 0 .../wx/lib/agw/ribbon/art_aui.py | 0 .../wx/lib/agw/ribbon/art_default.py | 0 .../wx/lib/agw/ribbon/art_internal.py | 0 .../wx/lib/agw/ribbon/art_msw.py | 0 .../wx/lib/agw/ribbon/art_osx.py | 0 .../site-packages/wx/lib/agw/ribbon/bar.py | 0 .../wx/lib/agw/ribbon/buttonbar.py | 0 .../wx/lib/agw/ribbon/control.py | 0 .../wx/lib/agw/ribbon/gallery.py | 0 .../site-packages/wx/lib/agw/ribbon/page.py | 0 .../site-packages/wx/lib/agw/ribbon/panel.py | 0 .../wx/lib/agw/ribbon/toolbar.py | 0 .../Lib/site-packages/wx/lib/agw/rulerctrl.py | 0 .../site-packages/wx/lib/agw/shapedbutton.py | 0 .../wx/lib/agw/shortcuteditor.py | 0 .../site-packages/wx/lib/agw/speedmeter.py | 0 .../site-packages/wx/lib/agw/supertooltip.py | 0 .../site-packages/wx/lib/agw/thumbnailctrl.py | 0 .../site-packages/wx/lib/agw/toasterbox.py | 0 .../wx/lib/agw/ultimatelistctrl.py | 0 .../Lib/site-packages/wx/lib/agw/xlsgrid.py | 0 .../Lib/site-packages/wx/lib/agw/zoombar.py | 0 .../wx/lib/analogclock/__init__.py | 0 .../wx/lib/analogclock/analogclock.py | 0 .../wx/lib/analogclock/helpers.py | 0 .../wx/lib/analogclock/lib_setup/__init__.py | 0 .../lib_setup/buttontreectrlpanel.py | 0 .../lib/analogclock/lib_setup/colourselect.py | 0 .../lib/analogclock/lib_setup/fontselect.py | 0 .../site-packages/wx/lib/analogclock/setup.py | 0 .../wx/lib/analogclock/styles.py | 0 .../Lib/site-packages/wx/lib/anchors.py | 0 .../Lib/site-packages/wx/lib/art/__init__.py | 0 .../Lib/site-packages/wx/lib/art/flagart.py | 0 .../site-packages/wx/lib/art/img2pyartprov.py | 0 panda/python/Lib/site-packages/wx/lib/busy.py | 0 .../Lib/site-packages/wx/lib/buttons.py | 0 .../Lib/site-packages/wx/lib/calendar.py | 0 .../wx/lib/colourchooser/__init__.py | 0 .../wx/lib/colourchooser/canvas.py | 0 .../wx/lib/colourchooser/intl.py | 0 .../wx/lib/colourchooser/pycolourbox.py | 0 .../wx/lib/colourchooser/pycolourchooser.py | 0 .../wx/lib/colourchooser/pycolourslider.py | 0 .../wx/lib/colourchooser/pypalette.py | 0 .../Lib/site-packages/wx/lib/colourdb.py | 0 .../Lib/site-packages/wx/lib/colourselect.py | 0 .../Lib/site-packages/wx/lib/colourutils.py | 0 .../Lib/site-packages/wx/lib/combotreebox.py | 0 .../Lib/site-packages/wx/lib/delayedresult.py | 0 .../Lib/site-packages/wx/lib/dialogs.py | 0 .../Lib/site-packages/wx/lib/docview.py | 0 .../Lib/site-packages/wx/lib/dragscroller.py | 0 .../site-packages/wx/lib/editor/README.txt | 0 .../site-packages/wx/lib/editor/__init__.py | 0 .../Lib/site-packages/wx/lib/editor/editor.py | 0 .../Lib/site-packages/wx/lib/editor/images.py | 0 .../site-packages/wx/lib/editor/selection.py | 0 .../Lib/site-packages/wx/lib/embeddedimage.py | 0 .../Lib/site-packages/wx/lib/eventStack.py | 0 .../Lib/site-packages/wx/lib/eventwatcher.py | 0 .../python/Lib/site-packages/wx/lib/evtmgr.py | 0 .../Lib/site-packages/wx/lib/expando.py | 0 .../Lib/site-packages/wx/lib/fancytext.py | 0 .../site-packages/wx/lib/filebrowsebutton.py | 0 .../Lib/site-packages/wx/lib/flashwin.py | 0 .../Lib/site-packages/wx/lib/flashwin_old.py | 0 .../Lib/site-packages/wx/lib/floatbar.py | 0 .../wx/lib/floatcanvas/FCEvents.py | 0 .../wx/lib/floatcanvas/FCObjects.py | 0 .../wx/lib/floatcanvas/FloatCanvas.py | 0 .../wx/lib/floatcanvas/GUIMode.py | 0 .../wx/lib/floatcanvas/NavCanvas.py | 0 .../wx/lib/floatcanvas/Resources.py | 0 .../wx/lib/floatcanvas/ScreenShot.py | 0 .../wx/lib/floatcanvas/Utilities/BBox.py | 0 .../wx/lib/floatcanvas/Utilities/Colors.py | 0 .../wx/lib/floatcanvas/Utilities/GUI.py | 0 .../wx/lib/floatcanvas/Utilities/__init__.py | 0 .../wx/lib/floatcanvas/__init__.py | 0 .../Lib/site-packages/wx/lib/foldmenu.py | 0 .../Lib/site-packages/wx/lib/gestures.py | 0 .../Lib/site-packages/wx/lib/graphics.py | 0 .../Lib/site-packages/wx/lib/gridmovers.py | 0 .../python/Lib/site-packages/wx/lib/iewin.py | 0 .../Lib/site-packages/wx/lib/iewin_old.py | 0 .../Lib/site-packages/wx/lib/imagebrowser.py | 0 .../Lib/site-packages/wx/lib/imageutils.py | 0 .../Lib/site-packages/wx/lib/infoframe.py | 0 .../Lib/site-packages/wx/lib/inspection.py | 0 .../Lib/site-packages/wx/lib/intctrl.py | 0 .../Lib/site-packages/wx/lib/itemspicker.py | 0 .../Lib/site-packages/wx/lib/langlistctrl.py | 0 .../Lib/site-packages/wx/lib/layoutf.py | 0 .../site-packages/wx/lib/masked/__init__.py | 0 .../site-packages/wx/lib/masked/combobox.py | 0 .../Lib/site-packages/wx/lib/masked/ctrl.py | 0 .../site-packages/wx/lib/masked/ipaddrctrl.py | 0 .../site-packages/wx/lib/masked/maskededit.py | 0 .../site-packages/wx/lib/masked/numctrl.py | 0 .../site-packages/wx/lib/masked/textctrl.py | 0 .../site-packages/wx/lib/masked/timectrl.py | 0 .../site-packages/wx/lib/mixins/__init__.py | 0 .../Lib/site-packages/wx/lib/mixins/grid.py | 0 .../wx/lib/mixins/gridlabelrenderer.py | 0 .../site-packages/wx/lib/mixins/imagelist.py | 0 .../site-packages/wx/lib/mixins/inspection.py | 0 .../site-packages/wx/lib/mixins/listctrl.py | 0 .../site-packages/wx/lib/mixins/rubberband.py | 0 .../site-packages/wx/lib/mixins/treemixin.py | 0 .../Lib/site-packages/wx/lib/msgpanel.py | 0 .../Lib/site-packages/wx/lib/multisash.py | 0 .../Lib/site-packages/wx/lib/mvctree.py | 0 .../Lib/site-packages/wx/lib/myole4ax.idl | 0 .../Lib/site-packages/wx/lib/myole4ax.tlb | Bin .../Lib/site-packages/wx/lib/newevent.py | 0 .../python/Lib/site-packages/wx/lib/nvdlg.py | 0 .../Lib/site-packages/wx/lib/ogl/__init__.py | 0 .../Lib/site-packages/wx/lib/ogl/basic.py | 0 .../Lib/site-packages/wx/lib/ogl/bmpshape.py | 0 .../Lib/site-packages/wx/lib/ogl/canvas.py | 0 .../Lib/site-packages/wx/lib/ogl/composit.py | 0 .../Lib/site-packages/wx/lib/ogl/diagram.py | 0 .../Lib/site-packages/wx/lib/ogl/divided.py | 0 .../Lib/site-packages/wx/lib/ogl/drawn.py | 0 .../Lib/site-packages/wx/lib/ogl/lines.py | 0 .../Lib/site-packages/wx/lib/ogl/oglmisc.py | 0 .../wx/lib/pdfviewer/__init__.py | 0 .../site-packages/wx/lib/pdfviewer/bezier.py | 0 .../wx/lib/pdfviewer/bitmaps/ArrowLeft.png | Bin .../wx/lib/pdfviewer/bitmaps/ArrowRight.png | Bin .../wx/lib/pdfviewer/bitmaps/DirectionH.png | Bin .../wx/lib/pdfviewer/bitmaps/DirectionV.png | Bin .../wx/lib/pdfviewer/bitmaps/PlayerFirst.png | Bin .../wx/lib/pdfviewer/bitmaps/PlayerLast.png | Bin .../wx/lib/pdfviewer/bitmaps/PlayerNext.png | Bin .../wx/lib/pdfviewer/bitmaps/PlayerPrev.png | Bin .../wx/lib/pdfviewer/bitmaps/Printer.png | Bin .../wx/lib/pdfviewer/bitmaps/ReadMe.txt | 0 .../wx/lib/pdfviewer/bitmaps/Save.png | Bin .../wx/lib/pdfviewer/bitmaps/ZoomIn.png | Bin .../wx/lib/pdfviewer/bitmaps/ZoomOut.png | Bin .../lib/pdfviewer/bitmaps/encode_bitmaps.py | 0 .../wx/lib/pdfviewer/buttonpanel.py | 0 .../wx/lib/pdfviewer/dcgraphics.py | 0 .../site-packages/wx/lib/pdfviewer/images.py | 0 .../site-packages/wx/lib/pdfviewer/vec2d.py | 0 .../site-packages/wx/lib/pdfviewer/viewer.py | 0 .../python/Lib/site-packages/wx/lib/pdfwin.py | 0 .../Lib/site-packages/wx/lib/pdfwin_old.py | 0 .../Lib/site-packages/wx/lib/platebtn.py | 0 panda/python/Lib/site-packages/wx/lib/plot.py | 0 .../Lib/site-packages/wx/lib/popupctl.py | 0 .../Lib/site-packages/wx/lib/printout.py | 0 .../site-packages/wx/lib/progressindicator.py | 0 .../wx/lib/pubsub/LICENSE_BSD_Simple.txt | 0 .../site-packages/wx/lib/pubsub/README.txt | 0 .../wx/lib/pubsub/README_WxPython.txt | 0 .../wx/lib/pubsub/RELEASE_NOTES.txt | 0 .../site-packages/wx/lib/pubsub/__init__.py | 0 .../wx/lib/pubsub/core/__init__.py | 0 .../wx/lib/pubsub/core/arg1/__init__.py | 0 .../wx/lib/pubsub/core/arg1/listenerimpl.py | 0 .../wx/lib/pubsub/core/arg1/publisher.py | 0 .../wx/lib/pubsub/core/arg1/publishermixin.py | 0 .../lib/pubsub/core/arg1/topicargspecimpl.py | 0 .../wx/lib/pubsub/core/arg1/topicmgrimpl.py | 0 .../wx/lib/pubsub/core/callables.py | 0 .../site-packages/wx/lib/pubsub/core/imp2.py | 0 .../wx/lib/pubsub/core/itopicdefnprovider.py | 0 .../wx/lib/pubsub/core/kwargs/__init__.py | 0 .../wx/lib/pubsub/core/kwargs/datamsg.py | 0 .../wx/lib/pubsub/core/kwargs/listenerimpl.py | 0 .../wx/lib/pubsub/core/kwargs/publisher.py | 0 .../lib/pubsub/core/kwargs/publishermixin.py | 0 .../pubsub/core/kwargs/topicargspecimpl.py | 0 .../wx/lib/pubsub/core/kwargs/topicmgrimpl.py | 0 .../wx/lib/pubsub/core/listener.py | 0 .../wx/lib/pubsub/core/listenerbase.py | 0 .../wx/lib/pubsub/core/notificationmgr.py | 0 .../wx/lib/pubsub/core/publisherbase.py | 0 .../wx/lib/pubsub/core/topicargspec.py | 0 .../wx/lib/pubsub/core/topicdefnprovider.py | 0 .../wx/lib/pubsub/core/topicexc.py | 0 .../wx/lib/pubsub/core/topicmgr.py | 0 .../wx/lib/pubsub/core/topicobj.py | 0 .../wx/lib/pubsub/core/topictreetraverser.py | 0 .../wx/lib/pubsub/core/topicutils.py | 0 .../wx/lib/pubsub/core/treeconfig.py | 0 .../wx/lib/pubsub/core/validatedefnargs.py | 0 .../wx/lib/pubsub/core/weakmethod.py | 0 .../lib/pubsub/examples/advanced/README.txt | 0 .../examples/advanced/arg1_listeners.py | 0 .../pubsub/examples/advanced/arg1_senders.py | 0 .../pubsub/examples/advanced/arg1_topics.py | 0 .../examples/advanced/arg1_topics_out.py | 0 .../lib/pubsub/examples/advanced/exchandle.py | 0 .../examples/advanced/kwargs_listeners.py | 0 .../examples/advanced/kwargs_senders.py | 0 .../pubsub/examples/advanced/kwargs_topics.py | 0 .../examples/advanced/kwargs_topics_out.py | 0 .../lib/pubsub/examples/advanced/main_arg1.py | 0 .../pubsub/examples/advanced/main_kwargs.py | 0 .../pubsub/examples/advanced/notifhandle.py | 0 .../lib/pubsub/examples/basic_arg1/README.txt | 0 .../examples/basic_arg1/console_listeners.py | 0 .../examples/basic_arg1/console_main.py | 0 .../examples/basic_arg1/console_senders.py | 0 .../lib/pubsub/examples/basic_arg1/wx_main.py | 0 .../pubsub/examples/basic_kwargs/README.txt | 0 .../basic_kwargs/console_listeners.py | 0 .../examples/basic_kwargs/console_main.py | 0 .../examples/basic_kwargs/console_senders.py | 0 .../pubsub/examples/basic_kwargs/wx_main.py | 0 .../pubsub/examples/basic_kwargs/wx_win1.py | 0 .../pubsub/examples/basic_kwargs/wx_win2.py | 0 .../wx/lib/pubsub/examples/multithreadloop.py | 0 .../wx/lib/pubsub/examples/runall.bat | 0 .../lib/pubsub/examples/runall_regression.txt | 0 .../site-packages/wx/lib/pubsub/policies.py | 0 .../Lib/site-packages/wx/lib/pubsub/pub.py | 0 .../site-packages/wx/lib/pubsub/py2and3.py | 0 .../site-packages/wx/lib/pubsub/setuparg1.py | 0 .../wx/lib/pubsub/setupkwargs.py | 0 .../wx/lib/pubsub/utils/__init__.py | 0 .../wx/lib/pubsub/utils/exchandling.py | 0 .../site-packages/wx/lib/pubsub/utils/misc.py | 0 .../wx/lib/pubsub/utils/notification.py | 0 .../wx/lib/pubsub/utils/topictreeprinter.py | 0 .../lib/pubsub/utils/xmltopicdefnprovider.py | 0 .../Lib/site-packages/wx/lib/pydocview.py | 0 .../Lib/site-packages/wx/lib/rcsizer.py | 0 .../Lib/site-packages/wx/lib/resizewidget.py | 0 .../Lib/site-packages/wx/lib/rpcMixin.py | 0 .../Lib/site-packages/wx/lib/scrolledpanel.py | 0 .../python/Lib/site-packages/wx/lib/sheet.py | 0 panda/python/Lib/site-packages/wx/lib/six.py | 0 .../site-packages/wx/lib/sized_controls.py | 0 .../site-packages/wx/lib/softwareupdate.py | 0 .../Lib/site-packages/wx/lib/splitter.py | 0 .../Lib/site-packages/wx/lib/statbmp.py | 0 .../Lib/site-packages/wx/lib/stattext.py | 0 .../Lib/site-packages/wx/lib/throbber.py | 0 .../python/Lib/site-packages/wx/lib/ticker.py | 0 .../Lib/site-packages/wx/lib/ticker_xrc.py | 0 .../python/Lib/site-packages/wx/lib/utils.py | 0 .../Lib/site-packages/wx/lib/wordwrap.py | 0 .../Lib/site-packages/wx/lib/wxcairo.py | 0 .../python/Lib/site-packages/wx/lib/wxpTag.py | 0 .../Lib/site-packages/wx/libcairo-2.dll | Bin .../site-packages/wx/libcairo-gobject-2.dll | Bin .../wx/libcairo-script-interpreter-2.dll | Bin .../Lib/site-packages/wx/libexpat-1.dll | Bin .../Lib/site-packages/wx/libfontconfig-1.dll | Bin .../Lib/site-packages/wx/libpng14-14.dll | Bin .../Lib/site-packages/wx/py/CHANGES.txt | 0 panda/python/Lib/site-packages/wx/py/Py.ico | Bin .../Lib/site-packages/wx/py/PyAlaCarte.py | 0 .../Lib/site-packages/wx/py/PyAlaMode.py | 0 .../Lib/site-packages/wx/py/PyAlaModeTest.py | 0 .../Lib/site-packages/wx/py/PyCrust.ico | Bin .../python/Lib/site-packages/wx/py/PyCrust.py | 0 .../Lib/site-packages/wx/py/PyCrust_16.png | Bin .../Lib/site-packages/wx/py/PyCrust_32.png | Bin .../Lib/site-packages/wx/py/PyFilling.py | 0 .../python/Lib/site-packages/wx/py/PyShell.py | 0 .../Lib/site-packages/wx/py/PySlices.ico | Bin .../Lib/site-packages/wx/py/PySlices.py | 0 .../Lib/site-packages/wx/py/PySlicesShell.py | 0 .../Lib/site-packages/wx/py/PySlices_16.png | Bin .../Lib/site-packages/wx/py/PySlices_32.png | Bin .../python/Lib/site-packages/wx/py/PyWrap.py | 0 .../python/Lib/site-packages/wx/py/README.txt | 0 .../Lib/site-packages/wx/py/__init__.py | 0 .../python/Lib/site-packages/wx/py/buffer.py | 0 panda/python/Lib/site-packages/wx/py/crust.py | 0 .../Lib/site-packages/wx/py/crustslices.py | 0 .../Lib/site-packages/wx/py/dispatcher.py | 0 .../Lib/site-packages/wx/py/document.py | 0 .../python/Lib/site-packages/wx/py/editor.py | 0 .../Lib/site-packages/wx/py/editwindow.py | 0 .../python/Lib/site-packages/wx/py/filling.py | 0 panda/python/Lib/site-packages/wx/py/frame.py | 0 .../python/Lib/site-packages/wx/py/images.py | 0 .../Lib/site-packages/wx/py/interpreter.py | 0 .../Lib/site-packages/wx/py/introspect.py | 0 panda/python/Lib/site-packages/wx/py/magic.py | 0 panda/python/Lib/site-packages/wx/py/parse.py | 0 panda/python/Lib/site-packages/wx/py/path.py | 0 .../python/Lib/site-packages/wx/py/pseudo.py | 0 panda/python/Lib/site-packages/wx/py/shell.py | 0 .../Lib/site-packages/wx/py/sliceshell.py | 0 .../wx/py/tests/test_interpreter.py | 0 .../wx/py/tests/test_introspect.py | 0 .../site-packages/wx/py/tests/test_pseudo.py | 0 .../site-packages/wx/py/tests/test_version.py | 0 .../Lib/site-packages/wx/py/tests/testall.py | 0 .../python/Lib/site-packages/wx/py/version.py | 0 panda/python/Lib/site-packages/wx/richtext.pi | 0 panda/python/Lib/site-packages/wx/richtext.py | 0 panda/python/Lib/site-packages/wx/siplib.pyd | Bin panda/python/Lib/site-packages/wx/stc.pi | 0 panda/python/Lib/site-packages/wx/stc.py | 0 .../Lib/site-packages/wx/tools/__init__.py | 0 .../python/Lib/site-packages/wx/tools/dbg.py | 0 .../Lib/site-packages/wx/tools/genaxmodule.py | 0 .../Lib/site-packages/wx/tools/helpviewer.py | 0 .../Lib/site-packages/wx/tools/img2img.py | 0 .../Lib/site-packages/wx/tools/img2png.py | 0 .../Lib/site-packages/wx/tools/img2py.py | 0 .../Lib/site-packages/wx/tools/img2xpm.py | 0 .../Lib/site-packages/wx/tools/pywxrc.py | 0 panda/python/Lib/site-packages/wx/webkit.pi | 0 panda/python/Lib/site-packages/wx/webkit.py | 0 .../site-packages/wx/wxbase30u_net_vc90.dll | Bin .../Lib/site-packages/wx/wxbase30u_vc90.dll | Bin .../site-packages/wx/wxbase30u_xml_vc90.dll | Bin .../site-packages/wx/wxmsw30u_adv_vc90.dll | Bin .../site-packages/wx/wxmsw30u_aui_vc90.dll | Bin .../site-packages/wx/wxmsw30u_core_vc90.dll | Bin .../Lib/site-packages/wx/wxmsw30u_gl_vc90.dll | Bin .../site-packages/wx/wxmsw30u_html_vc90.dll | Bin .../site-packages/wx/wxmsw30u_media_vc90.dll | Bin .../wx/wxmsw30u_propgrid_vc90.dll | Bin .../Lib/site-packages/wx/wxmsw30u_qa_vc90.dll | Bin .../site-packages/wx/wxmsw30u_ribbon_vc90.dll | Bin .../wx/wxmsw30u_richtext_vc90.dll | Bin .../site-packages/wx/wxmsw30u_stc_vc90.dll | Bin .../wx/wxmsw30u_webview_vc90.dll | Bin .../site-packages/wx/wxmsw30u_xrc_vc90.dll | Bin panda/python/Lib/site-packages/wx/xml.pi | 0 panda/python/Lib/site-packages/wx/xml.py | 0 panda/python/Lib/site-packages/wx/xrc.pi | 0 panda/python/Lib/site-packages/wx/xrc.py | 0 panda/python/Lib/site-packages/wx/zlib1.dll | Bin .../DESCRIPTION.rst | 0 .../METADATA | 0 .../RECORD | 0 .../WHEEL | 0 .../entry_points.txt | 0 .../top_level.txt | 0 .../python/Lib/site-packages/yaml/__init__.py | 0 .../python/Lib/site-packages/yaml/composer.py | 0 .../Lib/site-packages/yaml/constructor.py | 0 panda/python/Lib/site-packages/yaml/cyaml.py | 0 panda/python/Lib/site-packages/yaml/dumper.py | 0 .../python/Lib/site-packages/yaml/emitter.py | 0 panda/python/Lib/site-packages/yaml/error.py | 0 panda/python/Lib/site-packages/yaml/events.py | 0 panda/python/Lib/site-packages/yaml/loader.py | 0 panda/python/Lib/site-packages/yaml/nodes.py | 0 panda/python/Lib/site-packages/yaml/parser.py | 0 panda/python/Lib/site-packages/yaml/reader.py | 0 .../Lib/site-packages/yaml/representer.py | 0 .../python/Lib/site-packages/yaml/resolver.py | 0 .../python/Lib/site-packages/yaml/scanner.py | 0 .../Lib/site-packages/yaml/serializer.py | 0 panda/python/Lib/site-packages/yaml/tokens.py | 0 panda/python/Lib/site.py | 0 panda/python/Lib/smartroom/BeyondQuestion.py | 0 panda/python/Lib/smartroom/__init__.py | 0 panda/python/Lib/smtpd.py | 0 panda/python/Lib/smtplib.py | 0 panda/python/Lib/sndhdr.py | 0 panda/python/Lib/socket.py | 0 panda/python/Lib/sqlite3/__init__.py | 0 panda/python/Lib/sqlite3/dbapi2.py | 0 panda/python/Lib/sqlite3/dump.py | 0 panda/python/Lib/sre.py | 0 panda/python/Lib/sre_compile.py | 0 panda/python/Lib/sre_constants.py | 0 panda/python/Lib/sre_parse.py | 0 panda/python/Lib/ssl.py | 0 panda/python/Lib/stat.py | 0 panda/python/Lib/statvfs.py | 0 panda/python/Lib/string.py | 0 panda/python/Lib/stringold.py | 0 panda/python/Lib/stringprep.py | 0 panda/python/Lib/struct.py | 0 panda/python/Lib/subprocess.py | 0 panda/python/Lib/sunau.py | 0 panda/python/Lib/sunaudio.py | 0 panda/python/Lib/symbol.py | 0 panda/python/Lib/symtable.py | 0 panda/python/Lib/sysconfig.py | 0 panda/python/Lib/tabnanny.py | 0 panda/python/Lib/tarfile.py | 0 panda/python/Lib/telnetlib.py | 0 panda/python/Lib/tempfile.py | 0 panda/python/Lib/textwrap.py | 0 panda/python/Lib/this.py | 0 panda/python/Lib/threading.py | 0 panda/python/Lib/timeit.py | 0 panda/python/Lib/toaiff.py | 0 panda/python/Lib/token.py | 0 panda/python/Lib/tokenize.py | 0 panda/python/Lib/trace.py | 0 panda/python/Lib/traceback.py | 0 panda/python/Lib/tty.py | 0 panda/python/Lib/types.py | 0 panda/python/Lib/unittest/__init__.py | 0 panda/python/Lib/unittest/__main__.py | 0 panda/python/Lib/unittest/case.py | 0 panda/python/Lib/unittest/loader.py | 0 panda/python/Lib/unittest/main.py | 0 panda/python/Lib/unittest/result.py | 0 panda/python/Lib/unittest/runner.py | 0 panda/python/Lib/unittest/signals.py | 0 panda/python/Lib/unittest/suite.py | 0 panda/python/Lib/unittest/util.py | 0 panda/python/Lib/urllib.py | 0 panda/python/Lib/urllib2.py | 0 panda/python/Lib/urlparse.py | 0 panda/python/Lib/user.py | 0 panda/python/Lib/uu.py | 0 panda/python/Lib/uuid.py | 0 panda/python/Lib/warnings.py | 0 panda/python/Lib/wave.py | 0 panda/python/Lib/weakref.py | 0 panda/python/Lib/webbrowser.py | 0 panda/python/Lib/whichdb.py | 0 panda/python/Lib/wsgiref/__init__.py | 0 panda/python/Lib/wsgiref/handlers.py | 0 panda/python/Lib/wsgiref/headers.py | 0 panda/python/Lib/wsgiref/simple_server.py | 0 panda/python/Lib/wsgiref/util.py | 0 panda/python/Lib/wsgiref/validate.py | 0 panda/python/Lib/xdrlib.py | 0 panda/python/Lib/xml/__init__.py | 0 panda/python/Lib/xml/dom/NodeFilter.py | 0 panda/python/Lib/xml/dom/__init__.py | 0 panda/python/Lib/xml/dom/domreg.py | 0 panda/python/Lib/xml/dom/expatbuilder.py | 0 panda/python/Lib/xml/dom/minicompat.py | 0 panda/python/Lib/xml/dom/minidom.py | 0 panda/python/Lib/xml/dom/pulldom.py | 0 panda/python/Lib/xml/dom/xmlbuilder.py | 0 panda/python/Lib/xml/etree/ElementInclude.py | 0 panda/python/Lib/xml/etree/ElementPath.py | 0 panda/python/Lib/xml/etree/ElementTree.py | 0 panda/python/Lib/xml/etree/__init__.py | 0 panda/python/Lib/xml/etree/cElementTree.py | 0 panda/python/Lib/xml/parsers/__init__.py | 0 panda/python/Lib/xml/parsers/expat.py | 0 panda/python/Lib/xml/sax/__init__.py | 0 panda/python/Lib/xml/sax/_exceptions.py | 0 panda/python/Lib/xml/sax/expatreader.py | 0 panda/python/Lib/xml/sax/handler.py | 0 panda/python/Lib/xml/sax/saxutils.py | 0 panda/python/Lib/xml/sax/xmlreader.py | 0 panda/python/Lib/xmllib.py | 0 panda/python/Lib/xmlrpclib.py | 0 panda/python/Lib/zipfile.py | 0 panda/python/Microsoft.VC90.CRT.manifest | 0 .../python/Scripts/easy_install-2.7-script.py | 0 panda/python/Scripts/easy_install-2.7.exe | Bin .../Scripts/easy_install-2.7.exe.manifest | 0 panda/python/Scripts/easy_install-script.py | 0 panda/python/Scripts/easy_install.exe | Bin .../python/Scripts/easy_install.exe.manifest | 0 panda/python/Scripts/helpviewer.exe | Bin panda/python/Scripts/img2png.exe | Bin panda/python/Scripts/img2py.exe | Bin panda/python/Scripts/img2xpm.exe | Bin panda/python/Scripts/pip-script.py | 0 panda/python/Scripts/pip.exe | Bin panda/python/Scripts/pip.exe.manifest | 0 panda/python/Scripts/pip2-script.py | 0 panda/python/Scripts/pip2.7-script.py | 0 panda/python/Scripts/pip2.7.exe | Bin panda/python/Scripts/pip2.7.exe.manifest | 0 panda/python/Scripts/pip2.exe | Bin panda/python/Scripts/pip2.exe.manifest | 0 panda/python/Scripts/pycrust.exe | Bin panda/python/Scripts/pyshell.exe | Bin panda/python/Scripts/pyslices.exe | Bin panda/python/Scripts/pyslicesshell.exe | Bin panda/python/Scripts/pywxrc.exe | Bin panda/python/__init__.py | 0 panda/python/msvcr90.dll | Bin panda/python/panda.pth | 0 panda/python/ppython.exe | Bin panda/python/ppythonw.exe | Bin panda/python/python.exe | Bin panda/python/python27.dll | Bin panda/python/pythonw.exe | Bin panda/python/w9xpopen.exe | Bin start_game_remotedb.bat | 35 +++++ tools/cleanse.py | 0 tools/example.py | 0 tools/findterm.py | 0 tools/findterm_otp.py | 0 tools/generate_key.py | 0 tools/gentoken.py | 0 tools/key.txt | 0 tools/parse_dcimports.bat | 0 tools/parse_dcimports.py | 0 tools/rpc-invasions.bat | 0 tools/rpc-invasions.py | 0 tools/whitelist_tool.bat | 0 tools/whitelist_tool.py | 0 tools/write_patcher.py | 0 tools/write_rpc_doc.py | 0 toontown/__init__.py | 0 toontown/ai/CogPageManagerAI.py | 0 toontown/ai/CogSuitManagerAI.py | 0 toontown/ai/DatabaseObject.py | 0 toontown/ai/DistributedAprilToonsMgr.py | 0 toontown/ai/DistributedAprilToonsMgrAI.py | 0 toontown/ai/DistributedBlackCatMgr.py | 0 toontown/ai/DistributedBlackCatMgrAI.py | 0 toontown/ai/DistributedGreenToonEffectMgr.py | 0 .../ai/DistributedGreenToonEffectMgrAI.py | 0 toontown/ai/DistributedJorElCam.py | 0 toontown/ai/DistributedJorElCamAI.py | 0 toontown/ai/DistributedPolarPlaceEffectMgr.py | 0 .../ai/DistributedPolarPlaceEffectMgrAI.py | 0 toontown/ai/DistributedReportMgr.py | 0 toontown/ai/DistributedReportMgrAI.py | 0 toontown/ai/DistributedResistanceEmoteMgr.py | 0 .../ai/DistributedResistanceEmoteMgrAI.py | 0 toontown/ai/DistributedScavengerHuntTarget.py | 0 .../ai/DistributedScavengerHuntTargetAI.py | 0 toontown/ai/DistributedTrickOrTreatTarget.py | 0 .../ai/DistributedTrickOrTreatTargetAI.py | 0 .../ai/DistributedWinterCarolingTarget.py | 0 .../ai/DistributedWinterCarolingTargetAI.py | 0 toontown/ai/FishManagerAI.py | 0 toontown/ai/HalloweenHolidayDecorator.py | 0 toontown/ai/HolidayBaseAI.py | 0 toontown/ai/HolidayDecorator.py | 0 toontown/ai/HolidayManagerAI.py | 0 toontown/ai/NewsManager.py | 0 toontown/ai/NewsManagerAI.py | 0 toontown/ai/PromotionManagerAI.py | 0 toontown/ai/QuestManagerAI.py | 0 toontown/ai/ReportGlobals.py | 0 toontown/ai/ServerEventBuffer.py | 0 toontown/ai/ServiceStart.py | 0 toontown/ai/ToonBarrier.py | 0 toontown/ai/ToontownAIMsgTypes.py | 0 toontown/ai/ToontownAIRepository.py | 0 toontown/ai/WelcomeValleyManager.py | 0 toontown/ai/WelcomeValleyManagerAI.py | 0 toontown/ai/__init__.py | 0 toontown/battle/BattleBase.py | 0 toontown/battle/BattleCalculatorAI.py | 0 toontown/battle/BattleExperience.py | 0 toontown/battle/BattleExperienceAI.py | 0 toontown/battle/BattleManagerAI.py | 0 toontown/battle/BattleParticles.py | 0 toontown/battle/BattlePlace.py | 0 toontown/battle/BattleProps.py | 0 toontown/battle/BattleSounds.py | 0 toontown/battle/DistributedBattle.py | 0 toontown/battle/DistributedBattleAI.py | 0 toontown/battle/DistributedBattleBase.py | 0 toontown/battle/DistributedBattleBaseAI.py | 0 toontown/battle/DistributedBattleBldg.py | 0 toontown/battle/DistributedBattleBldgAI.py | 0 toontown/battle/DistributedBattleDiners.py | 0 toontown/battle/DistributedBattleDinersAI.py | 0 toontown/battle/DistributedBattleFinal.py | 0 toontown/battle/DistributedBattleFinalAI.py | 0 toontown/battle/DistributedBattleWaiters.py | 0 toontown/battle/DistributedBattleWaitersAI.py | 0 toontown/battle/Fanfare.py | 0 toontown/battle/FireCogPanel.py | 0 toontown/battle/HealJokes.py | 0 toontown/battle/Movie.py | 0 toontown/battle/MovieCamera.py | 0 toontown/battle/MovieDrop.py | 0 toontown/battle/MovieFire.py | 0 toontown/battle/MovieHeal.py | 0 toontown/battle/MovieLure.py | 0 toontown/battle/MovieNPCSOS.py | 0 toontown/battle/MoviePetSOS.py | 0 toontown/battle/MovieSOS.py | 0 toontown/battle/MovieSound.py | 0 toontown/battle/MovieSquirt.py | 0 toontown/battle/MovieSuitAttacks.py | 0 toontown/battle/MovieThrow.py | 0 toontown/battle/MovieToonVictory.py | 0 toontown/battle/MovieTrap.py | 0 toontown/battle/MovieUtil.py | 0 toontown/battle/ParticleDefs.py | 0 toontown/battle/PlayByPlayText.py | 0 toontown/battle/RewardPanel.py | 0 toontown/battle/SuitBattleGlobals.py | 0 toontown/battle/__init__.py | 0 toontown/building/BoardingGroupShow.py | 0 toontown/building/BoardingPartyBase.py | 0 toontown/building/DistributedAnimatedProp.py | 0 .../building/DistributedAnimatedPropAI.py | 0 toontown/building/DistributedBBElevator.py | 0 toontown/building/DistributedBBElevatorAI.py | 0 toontown/building/DistributedBoardingParty.py | 0 .../building/DistributedBoardingPartyAI.py | 0 toontown/building/DistributedBossElevator.py | 0 .../building/DistributedBossElevatorAI.py | 0 toontown/building/DistributedBuilding.py | 0 toontown/building/DistributedBuildingAI.py | 0 toontown/building/DistributedBuildingMgrAI.py | 0 .../building/DistributedBuildingQueryMgr.py | 0 .../building/DistributedBuildingQueryMgrAI.py | 0 toontown/building/DistributedCFOElevator.py | 0 toontown/building/DistributedCFOElevatorAI.py | 0 toontown/building/DistributedCJElevator.py | 0 toontown/building/DistributedCJElevatorAI.py | 0 toontown/building/DistributedClubElevator.py | 0 .../building/DistributedClubElevatorAI.py | 0 toontown/building/DistributedDoor.py | 0 toontown/building/DistributedDoorAI.py | 0 toontown/building/DistributedElevator.py | 0 toontown/building/DistributedElevatorAI.py | 0 toontown/building/DistributedElevatorExt.py | 0 toontown/building/DistributedElevatorExtAI.py | 0 toontown/building/DistributedElevatorFSM.py | 0 toontown/building/DistributedElevatorFSMAI.py | 0 toontown/building/DistributedElevatorFloor.py | 0 .../building/DistributedElevatorFloorAI.py | 0 toontown/building/DistributedElevatorInt.py | 0 toontown/building/DistributedElevatorIntAI.py | 0 .../building/DistributedGagshopInterior.py | 0 .../building/DistributedGagshopInteriorAI.py | 0 toontown/building/DistributedHQInterior.py | 0 toontown/building/DistributedHQInteriorAI.py | 0 .../building/DistributedKartShopInterior.py | 0 .../building/DistributedKartShopInteriorAI.py | 0 .../building/DistributedKnockKnockDoor.py | 0 .../building/DistributedKnockKnockDoorAI.py | 0 .../building/DistributedPetshopInterior.py | 0 .../building/DistributedPetshopInteriorAI.py | 0 toontown/building/DistributedSuitInterior.py | 0 .../building/DistributedSuitInteriorAI.py | 0 .../building/DistributedToonHallInterior.py | 0 .../building/DistributedToonHallInteriorAI.py | 0 toontown/building/DistributedToonInterior.py | 0 .../building/DistributedToonInteriorAI.py | 0 toontown/building/DistributedTrophyMgr.py | 0 toontown/building/DistributedTrophyMgrAI.py | 0 .../building/DistributedTutorialInterior.py | 0 .../building/DistributedTutorialInteriorAI.py | 0 toontown/building/DistributedVPElevator.py | 0 toontown/building/DistributedVPElevatorAI.py | 0 toontown/building/DoorTypes.py | 0 toontown/building/Elevator.py | 0 toontown/building/ElevatorConstants.py | 0 toontown/building/ElevatorUtils.py | 0 toontown/building/FADoorCodes.py | 0 toontown/building/GagshopBuildingAI.py | 0 toontown/building/HQBuildingAI.py | 0 toontown/building/KartShopBuildingAI.py | 0 toontown/building/KnockKnockJokes.py | 0 toontown/building/PetshopBuildingAI.py | 0 toontown/building/SuitBuildingGlobals.py | 0 toontown/building/SuitInterior.py | 0 toontown/building/SuitPlannerInteriorAI.py | 0 toontown/building/ToonInterior.py | 0 toontown/building/ToonInteriorColors.py | 0 toontown/building/TutorialBuildingAI.py | 0 toontown/building/__init__.py | 0 toontown/catalog/AccountDate.py | 0 toontown/catalog/AccountDateAI.py | 0 toontown/catalog/CatalogAccessoryItem.py | 0 .../catalog/CatalogAccessoryItemGlobals.py | 0 .../catalog/CatalogAnimatedFurnitureItem.py | 0 toontown/catalog/CatalogAtticItem.py | 0 toontown/catalog/CatalogBeanItem.py | 0 toontown/catalog/CatalogChatBalloon.py | 0 toontown/catalog/CatalogChatItem.py | 0 toontown/catalog/CatalogChatItemPicker.py | 0 toontown/catalog/CatalogClothingItem.py | 0 toontown/catalog/CatalogEmoteItem.py | 0 toontown/catalog/CatalogFlooringItem.py | 0 toontown/catalog/CatalogFurnitureItem.py | 0 toontown/catalog/CatalogGardenItem.py | 0 toontown/catalog/CatalogGardenStarterItem.py | 0 toontown/catalog/CatalogGenerator.py | 0 toontown/catalog/CatalogHouseItem.py | 0 toontown/catalog/CatalogInvalidItem.py | 0 toontown/catalog/CatalogItem.py | 0 toontown/catalog/CatalogItemList.py | 0 toontown/catalog/CatalogItemPanel.py | 0 toontown/catalog/CatalogItemTypes.py | 0 toontown/catalog/CatalogManager.py | 0 toontown/catalog/CatalogManagerAI.py | 0 toontown/catalog/CatalogMouldingItem.py | 0 toontown/catalog/CatalogNametagItem.py | 0 toontown/catalog/CatalogNotifyDialog.py | 0 toontown/catalog/CatalogPetTrickItem.py | 0 toontown/catalog/CatalogPoleItem.py | 0 toontown/catalog/CatalogRentalItem.py | 0 toontown/catalog/CatalogScreen.py | 0 toontown/catalog/CatalogSurfaceColors.py | 0 toontown/catalog/CatalogSurfaceItem.py | 0 toontown/catalog/CatalogToonStatueItem.py | 0 toontown/catalog/CatalogWainscotingItem.py | 0 toontown/catalog/CatalogWallpaperItem.py | 0 toontown/catalog/CatalogWindowItem.py | 0 toontown/catalog/MailboxScreen.py | 0 toontown/catalog/__init__.py | 0 toontown/chat/ChatBalloon.py | 0 toontown/chat/ChatGlobals.py | 0 toontown/chat/ResistanceChat.py | 0 toontown/chat/TTChatInputSpeedChat.py | 0 toontown/chat/TTChatInputWhiteList.py | 0 toontown/chat/TTSCWhiteListTerminal.py | 0 toontown/chat/TTTalkAssistant.py | 0 toontown/chat/TTWhiteList.py | 0 toontown/chat/ToonChatGarbler.py | 0 toontown/chat/ToontownChatManager.py | 0 toontown/chat/WhisperPopup.py | 0 toontown/chat/WhiteListData.py | 0 toontown/chat/__init__.py | 0 .../coderedemption/TTCodeRedemptionMgr.py | 0 .../coderedemption/TTCodeRedemptionMgrAI.py | 0 toontown/coderedemption/__init__.py | 0 toontown/cogdominium/CogdoBarrelRoom.py | 0 toontown/cogdominium/CogdoBarrelRoomConsts.py | 0 toontown/cogdominium/CogdoBarrelRoomMovies.py | 0 .../cogdominium/CogdoBarrelRoomRewardPanel.py | 0 .../cogdominium/CogdoBoardroomGameBase.py | 0 .../cogdominium/CogdoBoardroomGameConsts.py | 0 .../cogdominium/CogdoBoardroomGameSpec.py | 0 toontown/cogdominium/CogdoCraneGame.py | 0 toontown/cogdominium/CogdoCraneGameBase.py | 0 toontown/cogdominium/CogdoCraneGameConsts.py | 0 toontown/cogdominium/CogdoCraneGameSpec.py | 0 toontown/cogdominium/CogdoElevatorMovie.py | 0 toontown/cogdominium/CogdoEntityCreator.py | 0 toontown/cogdominium/CogdoEntityCreatorAI.py | 0 toontown/cogdominium/CogdoEntityTypes.py | 0 .../cogdominium/CogdoExecutiveSuiteMovies.py | 0 .../cogdominium/CogdoFlyingCameraManager.py | 0 toontown/cogdominium/CogdoFlyingCollisions.py | 0 toontown/cogdominium/CogdoFlyingGame.py | 0 .../cogdominium/CogdoFlyingGameGlobals.py | 0 toontown/cogdominium/CogdoFlyingGameGuis.py | 0 toontown/cogdominium/CogdoFlyingGameMovies.py | 0 toontown/cogdominium/CogdoFlyingGuiManager.py | 0 .../cogdominium/CogdoFlyingInputManager.py | 0 toontown/cogdominium/CogdoFlyingLegalEagle.py | 0 toontown/cogdominium/CogdoFlyingLevel.py | 0 .../cogdominium/CogdoFlyingLevelQuadrant.py | 0 .../cogdominium/CogdoFlyingLocalPlayer.py | 0 toontown/cogdominium/CogdoFlyingObjects.py | 0 toontown/cogdominium/CogdoFlyingObstacles.py | 0 toontown/cogdominium/CogdoFlyingPlayer.py | 0 .../cogdominium/CogdoFlyingShadowPlacer.py | 0 toontown/cogdominium/CogdoFlyingUtil.py | 0 toontown/cogdominium/CogdoGameAudioManager.py | 0 toontown/cogdominium/CogdoGameConsts.py | 0 toontown/cogdominium/CogdoGameExit.py | 0 toontown/cogdominium/CogdoGameGatherable.py | 0 .../cogdominium/CogdoGameMessageDisplay.py | 0 toontown/cogdominium/CogdoGameRulesPanel.py | 0 toontown/cogdominium/CogdoInterior.py | 0 toontown/cogdominium/CogdoLayout.py | 0 toontown/cogdominium/CogdoLevelMgr.py | 0 toontown/cogdominium/CogdoLevelMgrAI.py | 0 toontown/cogdominium/CogdoMaze.py | 0 .../cogdominium/CogdoMazeCameraManager.py | 0 toontown/cogdominium/CogdoMazeData.py | 0 toontown/cogdominium/CogdoMazeGame.py | 0 toontown/cogdominium/CogdoMazeGameGlobals.py | 0 toontown/cogdominium/CogdoMazeGameGuis.py | 0 toontown/cogdominium/CogdoMazeGameMovies.py | 0 toontown/cogdominium/CogdoMazeGameObjects.py | 0 toontown/cogdominium/CogdoMazeGuiManager.py | 0 toontown/cogdominium/CogdoMazeLocalPlayer.py | 0 toontown/cogdominium/CogdoMazePlayer.py | 0 toontown/cogdominium/CogdoMazeSuits.py | 0 toontown/cogdominium/CogdoMemoGui.py | 0 toontown/cogdominium/CogdoUtil.py | 0 .../cogdominium/DistCogdoBoardroomGame.py | 0 .../cogdominium/DistCogdoBoardroomGameAI.py | 0 toontown/cogdominium/DistCogdoCrane.py | 0 toontown/cogdominium/DistCogdoCraneAI.py | 0 toontown/cogdominium/DistCogdoCraneCog.py | 0 toontown/cogdominium/DistCogdoCraneCogAI.py | 0 toontown/cogdominium/DistCogdoCraneGame.py | 0 toontown/cogdominium/DistCogdoCraneGameAI.py | 0 .../cogdominium/DistCogdoCraneMoneyBag.py | 0 .../cogdominium/DistCogdoCraneMoneyBagAI.py | 0 toontown/cogdominium/DistCogdoCraneObject.py | 0 toontown/cogdominium/DistCogdoFlyingGame.py | 0 toontown/cogdominium/DistCogdoFlyingGameAI.py | 0 toontown/cogdominium/DistCogdoGame.py | 0 toontown/cogdominium/DistCogdoGameAI.py | 0 toontown/cogdominium/DistCogdoGameBase.py | 0 toontown/cogdominium/DistCogdoLevelGame.py | 0 toontown/cogdominium/DistCogdoLevelGameAI.py | 0 toontown/cogdominium/DistCogdoMazeGame.py | 0 toontown/cogdominium/DistCogdoMazeGameAI.py | 0 toontown/cogdominium/DistCogdoMazeGameBase.py | 0 .../cogdominium/DistributedCogdoBarrel.py | 0 .../cogdominium/DistributedCogdoBarrelAI.py | 0 .../cogdominium/DistributedCogdoBattleBldg.py | 0 .../DistributedCogdoBattleBldgAI.py | 0 .../DistributedCogdoElevatorExt.py | 0 .../DistributedCogdoElevatorExtAI.py | 0 .../DistributedCogdoElevatorInt.py | 0 .../DistributedCogdoElevatorIntAI.py | 0 .../cogdominium/DistributedCogdoInterior.py | 0 .../cogdominium/DistributedCogdoInteriorAI.py | 0 .../cogdominium/SuitPlannerCogdoInteriorAI.py | 0 toontown/cogdominium/__init__.py | 0 toontown/coghq/ActiveCell.py | 0 toontown/coghq/ActiveCellAI.py | 0 toontown/coghq/BanquetTableBase.py | 0 toontown/coghq/BarrelBase.py | 0 toontown/coghq/BattleBlocker.py | 0 toontown/coghq/BattleBlockerAI.py | 0 .../coghq/BattleExperienceAggregatorAI.py | 0 toontown/coghq/BossbotCogHQLoader.py | 0 .../BossbotCountryClubEntrance_Action00.py | 0 .../BossbotCountryClubFairwayRoom_Battle00.py | 0 ...botCountryClubFairwayRoom_Battle00_Cogs.py | 0 .../BossbotCountryClubGreenRoom_Action00.py | 0 .../BossbotCountryClubGreenRoom_Action01.py | 0 .../BossbotCountryClubGreenRoom_Action02.py | 0 .../BossbotCountryClubKartRoom_Battle00.py | 0 ...ossbotCountryClubKartRoom_Battle00_Cogs.py | 0 .../BossbotCountryClubMazeRoom_Battle00.py | 0 ...ossbotCountryClubMazeRoom_Battle00_Cogs.py | 0 .../BossbotCountryClubMazeRoom_Battle01.py | 0 ...ossbotCountryClubMazeRoom_Battle01_Cogs.py | 0 .../BossbotCountryClubMazeRoom_Battle02.py | 0 ...ossbotCountryClubMazeRoom_Battle02_Cogs.py | 0 ...ossbotCountryClubMazeRoom_Battle03_Cogs.py | 0 ...ossbotCountryClubPresidentRoom_Battle00.py | 0 ...tCountryClubPresidentRoom_Battle00_Cogs.py | 0 .../BossbotCountryClubTeeOffRoom_Action00.py | 0 .../BossbotCountryClubTeeOffRoom_Action01.py | 0 .../BossbotCountryClubTeeOffRoom_Action02.py | 0 toontown/coghq/BossbotHQBossBattle.py | 0 toontown/coghq/BossbotHQExterior.py | 0 toontown/coghq/BossbotOfficeExterior.py | 0 toontown/coghq/CashbotCogHQLoader.py | 0 toontown/coghq/CashbotHQBossBattle.py | 0 toontown/coghq/CashbotHQExterior.py | 0 .../coghq/CashbotMintBoilerRoom_Action00.py | 0 .../coghq/CashbotMintBoilerRoom_Battle00.py | 0 .../CashbotMintBoilerRoom_Battle00_Cogs.py | 0 .../coghq/CashbotMintBoilerRoom_Battle01.py | 0 .../CashbotMintBoilerRoom_Battle01_Cogs.py | 0 .../coghq/CashbotMintControlRoom_Battle00.py | 0 .../CashbotMintControlRoom_Battle00_Cogs.py | 0 .../coghq/CashbotMintDuctRoom_Action00.py | 0 .../coghq/CashbotMintDuctRoom_Battle00.py | 0 .../CashbotMintDuctRoom_Battle00_Cogs.py | 0 .../coghq/CashbotMintDuctRoom_Battle01.py | 0 .../CashbotMintDuctRoom_Battle01_Cogs.py | 0 .../coghq/CashbotMintEntrance_Action00.py | 0 .../coghq/CashbotMintGearRoom_Action00.py | 0 .../coghq/CashbotMintGearRoom_Battle00.py | 0 .../CashbotMintGearRoom_Battle00_Cogs.py | 0 .../coghq/CashbotMintGearRoom_Battle01.py | 0 .../CashbotMintGearRoom_Battle01_Cogs.py | 0 .../CashbotMintLavaRoomFoyer_Action00.py | 0 .../CashbotMintLavaRoomFoyer_Action01.py | 0 .../CashbotMintLavaRoomFoyer_Battle00.py | 0 .../CashbotMintLavaRoomFoyer_Battle00_Cogs.py | 0 .../CashbotMintLavaRoomFoyer_Battle01.py | 0 .../CashbotMintLavaRoomFoyer_Battle01_Cogs.py | 0 .../coghq/CashbotMintLavaRoom_Action00.py | 0 toontown/coghq/CashbotMintLobby_Action00.py | 0 toontown/coghq/CashbotMintLobby_Battle00.py | 0 .../coghq/CashbotMintLobby_Battle00_Cogs.py | 0 toontown/coghq/CashbotMintLobby_Battle01.py | 0 .../coghq/CashbotMintLobby_Battle01_Cogs.py | 0 toontown/coghq/CashbotMintOilRoom_Battle00.py | 0 .../coghq/CashbotMintOilRoom_Battle00_Cogs.py | 0 .../CashbotMintPaintMixerReward_Battle00.py | 0 ...shbotMintPaintMixerReward_Battle00_Cogs.py | 0 .../coghq/CashbotMintPaintMixer_Action00.py | 0 .../coghq/CashbotMintPipeRoom_Action00.py | 0 .../coghq/CashbotMintPipeRoom_Battle00.py | 0 .../CashbotMintPipeRoom_Battle00_Cogs.py | 0 .../coghq/CashbotMintPipeRoom_Battle01.py | 0 .../CashbotMintPipeRoom_Battle01_Cogs.py | 0 .../coghq/CashbotMintStomperAlley_Action00.py | 0 toontown/coghq/CogDisguiseGlobals.py | 0 toontown/coghq/CogHQBossBattle.py | 0 toontown/coghq/CogHQExterior.py | 0 toontown/coghq/CogHQLoader.py | 0 toontown/coghq/CogHQLobby.py | 0 toontown/coghq/ConveyorBelt.py | 0 toontown/coghq/CountryClubInterior.py | 0 toontown/coghq/CountryClubLayout.py | 0 toontown/coghq/CountryClubManagerAI.py | 0 toontown/coghq/CountryClubRoom.py | 0 toontown/coghq/CountryClubRoomBase.py | 0 toontown/coghq/CountryClubRoomSpecs.py | 0 toontown/coghq/CrateGlobals.py | 0 toontown/coghq/CrusherCell.py | 0 toontown/coghq/CrusherCellAI.py | 0 toontown/coghq/DinerStatusIndicator.py | 0 toontown/coghq/DirectionalCell.py | 0 toontown/coghq/DirectionalCellAI.py | 0 toontown/coghq/DistributedBanquetTable.py | 0 toontown/coghq/DistributedBanquetTableAI.py | 0 toontown/coghq/DistributedBarrelBase.py | 0 toontown/coghq/DistributedBarrelBaseAI.py | 0 toontown/coghq/DistributedBattleFactory.py | 0 toontown/coghq/DistributedBattleFactoryAI.py | 0 toontown/coghq/DistributedBeanBarrel.py | 0 toontown/coghq/DistributedBeanBarrelAI.py | 0 toontown/coghq/DistributedButton.py | 0 toontown/coghq/DistributedButtonAI.py | 0 toontown/coghq/DistributedCashbotBossCrane.py | 0 .../coghq/DistributedCashbotBossCraneAI.py | 0 .../coghq/DistributedCashbotBossObject.py | 0 .../coghq/DistributedCashbotBossObjectAI.py | 0 toontown/coghq/DistributedCashbotBossSafe.py | 0 .../coghq/DistributedCashbotBossSafeAI.py | 0 .../coghq/DistributedCashbotBossTreasure.py | 0 .../coghq/DistributedCashbotBossTreasureAI.py | 0 toontown/coghq/DistributedCogHQDoor.py | 0 toontown/coghq/DistributedCogHQDoorAI.py | 0 toontown/coghq/DistributedCogKart.py | 0 toontown/coghq/DistributedCogKartAI.py | 0 toontown/coghq/DistributedCountryClub.py | 0 toontown/coghq/DistributedCountryClubAI.py | 0 .../coghq/DistributedCountryClubBattle.py | 0 .../coghq/DistributedCountryClubBattleAI.py | 0 toontown/coghq/DistributedCountryClubRoom.py | 0 .../coghq/DistributedCountryClubRoomAI.py | 0 toontown/coghq/DistributedCrate.py | 0 toontown/coghq/DistributedCrateAI.py | 0 toontown/coghq/DistributedCrushableEntity.py | 0 .../coghq/DistributedCrushableEntityAI.py | 0 toontown/coghq/DistributedCrusherEntity.py | 0 toontown/coghq/DistributedCrusherEntityAI.py | 0 toontown/coghq/DistributedDoorEntity.py | 0 toontown/coghq/DistributedDoorEntityAI.py | 0 toontown/coghq/DistributedDoorEntityBase.py | 0 toontown/coghq/DistributedElevatorMarker.py | 0 toontown/coghq/DistributedElevatorMarkerAI.py | 0 toontown/coghq/DistributedFactory.py | 0 toontown/coghq/DistributedFactoryAI.py | 0 .../coghq/DistributedFactoryElevatorExt.py | 0 .../coghq/DistributedFactoryElevatorExtAI.py | 0 toontown/coghq/DistributedFoodBelt.py | 0 toontown/coghq/DistributedFoodBeltAI.py | 0 toontown/coghq/DistributedGagBarrel.py | 0 toontown/coghq/DistributedGagBarrelAI.py | 0 toontown/coghq/DistributedGolfGreenGame.py | 0 toontown/coghq/DistributedGolfGreenGameAI.py | 0 toontown/coghq/DistributedGolfSpot.py | 0 toontown/coghq/DistributedGolfSpotAI.py | 0 toontown/coghq/DistributedGrid.py | 0 toontown/coghq/DistributedGridAI.py | 0 toontown/coghq/DistributedGridGoonAI.py | 0 toontown/coghq/DistributedHealBarrel.py | 0 toontown/coghq/DistributedHealBarrelAI.py | 0 toontown/coghq/DistributedLaserField.py | 0 toontown/coghq/DistributedLaserFieldAI.py | 0 toontown/coghq/DistributedLawOffice.py | 0 toontown/coghq/DistributedLawOfficeAI.py | 0 .../coghq/DistributedLawOfficeElevatorExt.py | 0 .../DistributedLawOfficeElevatorExtAI.py | 0 .../coghq/DistributedLawOfficeElevatorInt.py | 0 .../DistributedLawOfficeElevatorIntAI.py | 0 toontown/coghq/DistributedLawOfficeFloor.py | 0 toontown/coghq/DistributedLawOfficeFloorAI.py | 0 toontown/coghq/DistributedLawbotBossGavel.py | 0 .../coghq/DistributedLawbotBossGavelAI.py | 0 toontown/coghq/DistributedLawbotCannon.py | 0 toontown/coghq/DistributedLawbotCannonAI.py | 0 toontown/coghq/DistributedLawbotChair.py | 0 toontown/coghq/DistributedLawbotChairAI.py | 0 toontown/coghq/DistributedLevelBattle.py | 0 toontown/coghq/DistributedLevelBattleAI.py | 0 toontown/coghq/DistributedLift.py | 0 toontown/coghq/DistributedLiftAI.py | 0 toontown/coghq/DistributedMaze.py | 0 toontown/coghq/DistributedMazeAI.py | 0 toontown/coghq/DistributedMegaCorp.py | 0 toontown/coghq/DistributedMegaCorpAI.py | 0 toontown/coghq/DistributedMint.py | 0 toontown/coghq/DistributedMintAI.py | 0 toontown/coghq/DistributedMintBattle.py | 0 toontown/coghq/DistributedMintBattleAI.py | 0 toontown/coghq/DistributedMintElevatorExt.py | 0 .../coghq/DistributedMintElevatorExtAI.py | 0 toontown/coghq/DistributedMintRoom.py | 0 toontown/coghq/DistributedMintRoomAI.py | 0 toontown/coghq/DistributedMoleField.py | 0 toontown/coghq/DistributedMoleFieldAI.py | 0 toontown/coghq/DistributedMover.py | 0 toontown/coghq/DistributedMoverAI.py | 0 toontown/coghq/DistributedSecurityCamera.py | 0 toontown/coghq/DistributedSecurityCameraAI.py | 0 toontown/coghq/DistributedSellbotHQDoor.py | 0 toontown/coghq/DistributedSellbotHQDoorAI.py | 0 toontown/coghq/DistributedSinkingPlatform.py | 0 .../coghq/DistributedSinkingPlatformAI.py | 0 toontown/coghq/DistributedStage.py | 0 toontown/coghq/DistributedStageAI.py | 0 toontown/coghq/DistributedStageBattle.py | 0 toontown/coghq/DistributedStageBattleAI.py | 0 toontown/coghq/DistributedStageRoom.py | 0 toontown/coghq/DistributedStageRoomAI.py | 0 toontown/coghq/DistributedStomper.py | 0 toontown/coghq/DistributedStomperAI.py | 0 toontown/coghq/DistributedStomperPair.py | 0 toontown/coghq/DistributedStomperPairAI.py | 0 toontown/coghq/DistributedSwitch.py | 0 toontown/coghq/DistributedSwitchAI.py | 0 toontown/coghq/DistributedSwitchBase.py | 0 toontown/coghq/DistributedTrigger.py | 0 toontown/coghq/DistributedTriggerAI.py | 0 toontown/coghq/FactoryBase.py | 0 toontown/coghq/FactoryCameraViews.py | 0 toontown/coghq/FactoryEntityCreator.py | 0 toontown/coghq/FactoryEntityCreatorAI.py | 0 toontown/coghq/FactoryExterior.py | 0 toontown/coghq/FactoryInterior.py | 0 toontown/coghq/FactoryLevelMgr.py | 0 toontown/coghq/FactoryLevelMgrAI.py | 0 toontown/coghq/FactoryManagerAI.py | 0 toontown/coghq/FactorySpecs.py | 0 toontown/coghq/FactoryUtil.py | 0 toontown/coghq/FoodBeltBase.py | 0 toontown/coghq/GameSprite3D.py | 0 toontown/coghq/GearEntity.py | 0 toontown/coghq/GolfGreenGameGlobals.py | 0 toontown/coghq/GoonClipPlane.py | 0 toontown/coghq/LaserGameAvoid.py | 0 toontown/coghq/LaserGameBase.py | 0 toontown/coghq/LaserGameDrag.py | 0 toontown/coghq/LaserGameMineSweeper.py | 0 toontown/coghq/LaserGameRoll.py | 0 toontown/coghq/LawOfficeBase.py | 0 toontown/coghq/LawOfficeLayout.py | 0 toontown/coghq/LawOfficeManagerAI.py | 0 toontown/coghq/LawOffice_Spec_Tier0_a.py | 0 toontown/coghq/LawOffice_Spec_Tier0_b.py | 0 toontown/coghq/LawbotCogHQLoader.py | 0 toontown/coghq/LawbotHQBossBattle.py | 0 toontown/coghq/LawbotHQExterior.py | 0 toontown/coghq/LawbotLegFactoryCogs.py | 0 toontown/coghq/LawbotLegFactorySpec.py | 0 .../coghq/LawbotOfficeBoilerRoom_Action01.py | 0 .../coghq/LawbotOfficeBoilerRoom_Battle00.py | 0 .../LawbotOfficeBoilerRoom_Battle00_Cogs.py | 0 .../LawbotOfficeBoilerRoom_Security00.py | 0 .../coghq/LawbotOfficeBoilerRoom_Trap00.py | 0 .../LawbotOfficeBoilerRoom_Trap00_Cogs.py | 0 .../coghq/LawbotOfficeDiamondRoom_Action00.py | 0 .../coghq/LawbotOfficeDiamondRoom_Action01.py | 0 .../coghq/LawbotOfficeDiamondRoom_Battle00.py | 0 .../LawbotOfficeDiamondRoom_Battle00_Cogs.py | 0 .../LawbotOfficeDiamondRoom_Security00.py | 0 .../coghq/LawbotOfficeDiamondRoom_Trap00.py | 0 .../LawbotOfficeDiamondRoom_Trap00_Cogs.py | 0 .../coghq/LawbotOfficeEntrance_Action00.py | 0 toontown/coghq/LawbotOfficeExterior.py | 0 .../coghq/LawbotOfficeGearRoom_Action00.py | 0 .../coghq/LawbotOfficeGearRoom_Battle00.py | 0 .../LawbotOfficeGearRoom_Battle00_Cogs.py | 0 .../coghq/LawbotOfficeGearRoom_Platform00.py | 0 .../coghq/LawbotOfficeGearRoom_Security00.py | 0 toontown/coghq/LawbotOfficeLobby_Action00.py | 0 toontown/coghq/LawbotOfficeLobby_Action01.py | 0 toontown/coghq/LawbotOfficeLobby_Lights00.py | 0 toontown/coghq/LawbotOfficeLobby_Trap00.py | 0 .../coghq/LawbotOfficeLobby_Trap00_Cogs.py | 0 .../coghq/LawbotOfficeOilRoom_Battle00.py | 0 .../LawbotOfficeOilRoom_Battle00_Cogs.py | 0 .../coghq/LawbotOfficeOilRoom_Battle01.py | 0 .../LawbotOfficeOilRoom_Battle01_Cogs.py | 0 toontown/coghq/LevelBattleManagerAI.py | 0 toontown/coghq/LevelSuitPlannerAI.py | 0 toontown/coghq/LiftConstants.py | 0 toontown/coghq/LobbyManager.py | 0 toontown/coghq/LobbyManagerAI.py | 0 toontown/coghq/MegaCorpInterior.py | 0 toontown/coghq/MintInterior.py | 0 toontown/coghq/MintLayout.py | 0 toontown/coghq/MintManagerAI.py | 0 toontown/coghq/MintProduct.py | 0 toontown/coghq/MintProductPallet.py | 0 toontown/coghq/MintRoom.py | 0 toontown/coghq/MintRoomBase.py | 0 toontown/coghq/MintRoomSpecs.py | 0 toontown/coghq/MintShelf.py | 0 toontown/coghq/MoleFieldBase.py | 0 toontown/coghq/MoleHill.py | 0 toontown/coghq/MovingPlatform.py | 0 toontown/coghq/NullCogs.py | 0 toontown/coghq/PaintMixer.py | 0 toontown/coghq/PathMasterEntity.py | 0 toontown/coghq/PlatformEntity.py | 0 toontown/coghq/RenderingEntity.py | 0 toontown/coghq/SellbotCogHQLoader.py | 0 toontown/coghq/SellbotHQBossBattle.py | 0 toontown/coghq/SellbotHQExterior.py | 0 toontown/coghq/SellbotLegFactoryCogs.py | 0 toontown/coghq/SellbotLegFactorySpec.py | 0 toontown/coghq/SellbotMegaCorpLegCogs.py | 0 toontown/coghq/SellbotMegaCorpLegSpec.py | 0 toontown/coghq/SinkingPlatformGlobals.py | 0 toontown/coghq/SpecImports.py | 0 toontown/coghq/StageInterior.py | 0 toontown/coghq/StageLayout.py | 0 toontown/coghq/StageRoom.py | 0 toontown/coghq/StageRoomBase.py | 0 toontown/coghq/StageRoomSpecs.py | 0 toontown/coghq/StomperGlobals.py | 0 toontown/coghq/__init__.py | 0 toontown/distributed/DelayDeletable.py | 0 toontown/distributed/DelayDelete.py | 0 toontown/distributed/DistributedTimer.py | 0 toontown/distributed/DistributedTimerAI.py | 0 toontown/distributed/HoodMgr.py | 0 toontown/distributed/PlayGame.py | 0 toontown/distributed/ShardStatusReceiver.py | 0 .../distributed/ToontownClientRepository.py | 0 toontown/distributed/ToontownDistrict.py | 0 toontown/distributed/ToontownDistrictAI.py | 0 toontown/distributed/ToontownDistrictStats.py | 0 .../distributed/ToontownDistrictStatsAI.py | 0 .../distributed/ToontownInternalRepository.py | 0 toontown/distributed/ToontownMsgTypes.py | 0 toontown/distributed/__init__.py | 0 toontown/dna/DNAParser.py | 0 toontown/dna/__init__.py | 0 toontown/effects/BlastEffect.py | 0 toontown/effects/Bubbles.py | 0 toontown/effects/ChrysanthemumEffect.py | 0 toontown/effects/DistributedFireworkShow.py | 0 toontown/effects/DistributedFireworkShowAI.py | 0 toontown/effects/Drift.py | 0 toontown/effects/DustCloud.py | 0 toontown/effects/EffectController.py | 0 toontown/effects/Firework.py | 0 toontown/effects/FireworkEffect.py | 0 toontown/effects/FireworkGlobals.py | 0 toontown/effects/FireworkShow.py | 0 toontown/effects/FireworkShowMixin.py | 0 toontown/effects/FireworkShows.py | 0 toontown/effects/FireworkSparkles.py | 0 toontown/effects/Fireworks.py | 0 toontown/effects/FlashEffect.py | 0 toontown/effects/Glow.py | 0 toontown/effects/GlowTrail.py | 0 toontown/effects/IceCream.py | 0 toontown/effects/NoiseSparkles.py | 0 toontown/effects/PeonyEffect.py | 0 toontown/effects/PolyTrail.py | 0 toontown/effects/PooledEffect.py | 0 toontown/effects/RayBurst.py | 0 toontown/effects/RingEffect.py | 0 toontown/effects/Ripples.py | 0 toontown/effects/RocketExplosion.py | 0 toontown/effects/ScavengerHuntEffects.py | 0 toontown/effects/SimpleSparkles.py | 0 toontown/effects/SkullBurst.py | 0 toontown/effects/SkullFlash.py | 0 toontown/effects/Sparks.py | 0 toontown/effects/SparksTrail.py | 0 toontown/effects/SparksTrailLong.py | 0 toontown/effects/Splash.py | 0 toontown/effects/StarBurst.py | 0 toontown/effects/TrailExplosion.py | 0 toontown/effects/Wake.py | 0 toontown/effects/__init__.py | 0 toontown/estate/BankGUI.py | 0 toontown/estate/BankGlobals.py | 0 toontown/estate/BeanRecipeGui.py | 0 toontown/estate/CannonGlobals.py | 0 toontown/estate/ClosetGUI.py | 0 toontown/estate/ClosetGlobals.py | 0 toontown/estate/DNAFurnitureReaderAI.py | 0 .../estate/DistributedAnimatedStatuary.py | 0 .../estate/DistributedAnimatedStatuaryAI.py | 0 toontown/estate/DistributedBank.py | 0 toontown/estate/DistributedBankAI.py | 0 toontown/estate/DistributedCannon.py | 0 toontown/estate/DistributedCannonAI.py | 0 .../estate/DistributedChangingStatuary.py | 0 .../estate/DistributedChangingStatuaryAI.py | 0 toontown/estate/DistributedCloset.py | 0 toontown/estate/DistributedClosetAI.py | 0 toontown/estate/DistributedEstate.py | 0 toontown/estate/DistributedEstateAI.py | 0 toontown/estate/DistributedFireworksCannon.py | 0 .../estate/DistributedFireworksCannonAI.py | 0 toontown/estate/DistributedFlower.py | 0 toontown/estate/DistributedFlowerAI.py | 0 toontown/estate/DistributedFurnitureItem.py | 0 toontown/estate/DistributedFurnitureItemAI.py | 0 .../estate/DistributedFurnitureManager.py | 0 .../estate/DistributedFurnitureManagerAI.py | 0 toontown/estate/DistributedGagTree.py | 0 toontown/estate/DistributedGagTreeAI.py | 0 toontown/estate/DistributedGarden.py | 0 toontown/estate/DistributedGardenAI.py | 0 toontown/estate/DistributedGardenBox.py | 0 toontown/estate/DistributedGardenBoxAI.py | 0 toontown/estate/DistributedGardenPlot.py | 0 toontown/estate/DistributedGardenPlotAI.py | 0 toontown/estate/DistributedHouse.py | 0 toontown/estate/DistributedHouseAI.py | 0 toontown/estate/DistributedHouseDoor.py | 0 toontown/estate/DistributedHouseDoorAI.py | 0 toontown/estate/DistributedHouseInterior.py | 0 toontown/estate/DistributedHouseInteriorAI.py | 0 toontown/estate/DistributedHouseItem.py | 0 toontown/estate/DistributedLawnDecor.py | 0 toontown/estate/DistributedLawnDecorAI.py | 0 toontown/estate/DistributedMailbox.py | 0 toontown/estate/DistributedMailboxAI.py | 0 toontown/estate/DistributedPhone.py | 0 toontown/estate/DistributedPhoneAI.py | 0 toontown/estate/DistributedPlantBase.py | 0 toontown/estate/DistributedPlantBaseAI.py | 0 toontown/estate/DistributedStatuary.py | 0 toontown/estate/DistributedStatuaryAI.py | 0 toontown/estate/DistributedTarget.py | 0 toontown/estate/DistributedTargetAI.py | 0 toontown/estate/DistributedToonStatuary.py | 0 toontown/estate/DistributedToonStatuaryAI.py | 0 toontown/estate/DistributedTrunk.py | 0 toontown/estate/DistributedTrunkAI.py | 0 toontown/estate/Estate.py | 0 toontown/estate/EstateLoader.py | 0 toontown/estate/EstateManager.py | 0 toontown/estate/EstateManagerAI.py | 0 toontown/estate/FireworkItemPanel.py | 0 toontown/estate/FireworksGui.py | 0 toontown/estate/FlowerBase.py | 0 toontown/estate/FlowerBasket.py | 0 toontown/estate/FlowerBrowser.py | 0 toontown/estate/FlowerCollection.py | 0 toontown/estate/FlowerPanel.py | 0 toontown/estate/FlowerPhoto.py | 0 toontown/estate/FlowerPicker.py | 0 toontown/estate/FlowerSellGUI.py | 0 toontown/estate/FlowerSpeciesPanel.py | 0 toontown/estate/GameSprite.py | 0 toontown/estate/GardenDropGame.py | 0 toontown/estate/GardenGameGlobals.py | 0 toontown/estate/GardenGlobals.py | 0 toontown/estate/GardenProgressMeter.py | 0 toontown/estate/GardenTutorial.py | 0 toontown/estate/House.py | 0 toontown/estate/HouseGlobals.py | 0 toontown/estate/MailboxGlobals.py | 0 toontown/estate/PhoneGlobals.py | 0 toontown/estate/PlantTreeGUI.py | 0 toontown/estate/PlantingGUI.py | 0 toontown/estate/SpecialsPhoto.py | 0 toontown/estate/TableGlobals.py | 0 toontown/estate/ToonStatueSelectionGUI.py | 0 toontown/estate/TrunkGUI.py | 0 toontown/estate/__init__.py | 0 toontown/estate/houseDesign.py | 0 toontown/fishing/BingoCardBase.py | 0 toontown/fishing/BingoCardCell.py | 0 toontown/fishing/BingoCardGui.py | 0 toontown/fishing/BingoGlobals.py | 0 toontown/fishing/BlockoutBingo.py | 0 toontown/fishing/DiagonalBingo.py | 0 toontown/fishing/DistributedFishingPond.py | 0 toontown/fishing/DistributedFishingPondAI.py | 0 toontown/fishing/DistributedFishingTarget.py | 0 .../fishing/DistributedFishingTargetAI.py | 0 .../fishing/DistributedPondBingoManager.py | 0 .../fishing/DistributedPondBingoManagerAI.py | 0 toontown/fishing/FishBase.py | 0 toontown/fishing/FishBrowser.py | 0 toontown/fishing/FishCollection.py | 0 toontown/fishing/FishGlobals.py | 0 toontown/fishing/FishPanel.py | 0 toontown/fishing/FishPhoto.py | 0 toontown/fishing/FishPicker.py | 0 toontown/fishing/FishSellGUI.py | 0 toontown/fishing/FishTank.py | 0 toontown/fishing/FishingTargetGlobals.py | 0 toontown/fishing/FourCornerBingo.py | 0 toontown/fishing/GenusPanel.py | 0 toontown/fishing/NormalBingo.py | 0 toontown/fishing/ThreewayBingo.py | 0 toontown/fishing/__init__.py | 0 toontown/friends/FriendHandle.py | 0 toontown/friends/FriendInvitee.py | 0 toontown/friends/FriendInviter.py | 0 toontown/friends/FriendNotifier.py | 0 toontown/friends/FriendsListManager.py | 0 toontown/friends/FriendsListPanel.py | 0 toontown/friends/TTSFriendsManager.py | 0 toontown/friends/TTSFriendsManagerUD.py | 0 toontown/friends/__init__.py | 0 toontown/golf/BuildGeometry.py | 0 toontown/golf/DistributedGolfCourse.py | 0 toontown/golf/DistributedGolfCourseAI.py | 0 toontown/golf/DistributedGolfHole.py | 0 toontown/golf/DistributedGolfHoleAI.py | 0 toontown/golf/DistributedPhysicsWorld.py | 0 toontown/golf/DistributedPhysicsWorldAI.py | 0 toontown/golf/GolfGlobals.py | 0 toontown/golf/GolfHoleBase.py | 0 toontown/golf/GolfManagerAI.py | 0 toontown/golf/GolfRewardDialog.py | 0 toontown/golf/GolfScoreBoard.py | 0 toontown/golf/PhysicsWorldBase.py | 0 toontown/golf/__init__.py | 0 toontown/groups/GlobalGroup.py | 0 toontown/groups/GroupManager.py | 0 toontown/groups/GroupManagerAI.py | 0 toontown/groups/GroupManagerUD.py | 0 toontown/groups/__init__.py | 0 toontown/hood/AnimatedProp.py | 0 toontown/hood/BRHood.py | 0 toontown/hood/BRHoodAI.py | 0 toontown/hood/BossbotHQ.py | 0 toontown/hood/BossbotHQAI.py | 0 toontown/hood/CashbotHQ.py | 0 toontown/hood/CashbotHQAI.py | 0 toontown/hood/CogHQAI.py | 0 toontown/hood/CogHood.py | 0 toontown/hood/DDHood.py | 0 toontown/hood/DDHoodAI.py | 0 toontown/hood/DGHood.py | 0 toontown/hood/DGHoodAI.py | 0 toontown/hood/DLHood.py | 0 toontown/hood/DLHoodAI.py | 0 toontown/hood/EstateHood.py | 0 toontown/hood/FishAnimatedProp.py | 0 toontown/hood/GSHood.py | 0 toontown/hood/GSHoodAI.py | 0 toontown/hood/GZHood.py | 0 toontown/hood/GZHoodAI.py | 0 toontown/hood/GenericAnimatedProp.py | 0 toontown/hood/HQPeriscopeAnimatedProp.py | 0 toontown/hood/HQTelescopeAnimatedProp.py | 0 toontown/hood/Hood.py | 0 toontown/hood/HoodAI.py | 0 toontown/hood/HoodUtil.py | 0 toontown/hood/HydrantInteractiveProp.py | 0 toontown/hood/InteractiveAnimatedProp.py | 0 toontown/hood/LawbotHQ.py | 0 toontown/hood/LawbotHQAI.py | 0 toontown/hood/MMHood.py | 0 toontown/hood/MMHoodAI.py | 0 toontown/hood/MailboxInteractiveProp.py | 0 toontown/hood/OZHood.py | 0 toontown/hood/OZHoodAI.py | 0 toontown/hood/PartyHood.py | 0 toontown/hood/PetShopFishAnimatedProp.py | 0 toontown/hood/Place.py | 0 toontown/hood/QuietZoneState.py | 0 toontown/hood/SellbotHQ.py | 0 toontown/hood/SellbotHQAI.py | 0 toontown/hood/SkyUtil.py | 0 toontown/hood/SleepingHydrantAnimatedProp.py | 0 toontown/hood/TTHood.py | 0 toontown/hood/TTHoodAI.py | 0 toontown/hood/ToonHood.py | 0 toontown/hood/TrashcanInteractiveProp.py | 0 toontown/hood/TutorialHood.py | 0 toontown/hood/ZoneUtil.py | 0 toontown/hood/__init__.py | 0 toontown/language/LanguageSelector.py | 0 toontown/language/__init__.py | 0 toontown/launcher/TTSLauncher.py | 0 toontown/launcher/__init__.py | 0 toontown/login/AvatarChoice.py | 0 toontown/login/AvatarChooser.py | 0 toontown/login/__init__.py | 0 toontown/makeatoon/BodyShop.py | 0 toontown/makeatoon/ClothesGUI.py | 0 toontown/makeatoon/ColorShop.py | 0 toontown/makeatoon/GenderShop.py | 0 toontown/makeatoon/MakeAToon.py | 0 toontown/makeatoon/MakeAToonGlobals.py | 0 toontown/makeatoon/MakeClothesGUI.py | 0 toontown/makeatoon/NameGenerator.py | 0 toontown/makeatoon/NameShop.py | 0 toontown/makeatoon/ShuffleButton.py | 0 toontown/makeatoon/TTPickANamePattern.py | 0 toontown/makeatoon/TrackShop.py | 0 toontown/makeatoon/__init__.py | 0 toontown/margins/MarginCell.py | 0 toontown/margins/MarginGlobals.py | 0 toontown/margins/MarginManager.py | 0 toontown/margins/MarginVisible.py | 0 toontown/margins/__init__.py | 0 toontown/minigame/ArrowKeys.py | 0 toontown/minigame/CannonGameGlobals.py | 0 toontown/minigame/CatchGameGlobals.py | 0 toontown/minigame/CatchGameToonSD.py | 0 toontown/minigame/ClerkPurchase.py | 0 toontown/minigame/CogThief.py | 0 toontown/minigame/CogThiefGameGlobals.py | 0 toontown/minigame/CogThiefGameToonSD.py | 0 toontown/minigame/CogThiefWalk.py | 0 toontown/minigame/DistributedCannonGame.py | 0 toontown/minigame/DistributedCannonGameAI.py | 0 toontown/minigame/DistributedCatchGame.py | 0 toontown/minigame/DistributedCatchGameAI.py | 0 toontown/minigame/DistributedCogThiefGame.py | 0 .../minigame/DistributedCogThiefGameAI.py | 0 toontown/minigame/DistributedDivingGame.py | 0 toontown/minigame/DistributedDivingGameAI.py | 0 toontown/minigame/DistributedIceGame.py | 0 toontown/minigame/DistributedIceGameAI.py | 0 toontown/minigame/DistributedIceWorld.py | 0 toontown/minigame/DistributedMazeGame.py | 0 toontown/minigame/DistributedMazeGameAI.py | 0 toontown/minigame/DistributedMinigame.py | 0 toontown/minigame/DistributedMinigameAI.py | 0 .../DistributedMinigamePhysicsWorld.py | 0 .../minigame/DistributedMinigameTemplate.py | 0 .../minigame/DistributedMinigameTemplateAI.py | 0 toontown/minigame/DistributedPatternGame.py | 0 toontown/minigame/DistributedPatternGameAI.py | 0 toontown/minigame/DistributedRaceGame.py | 0 toontown/minigame/DistributedRaceGameAI.py | 0 toontown/minigame/DistributedRingGame.py | 0 toontown/minigame/DistributedRingGameAI.py | 0 toontown/minigame/DistributedTagGame.py | 0 toontown/minigame/DistributedTagGameAI.py | 0 toontown/minigame/DistributedTargetGame.py | 0 toontown/minigame/DistributedTargetGameAI.py | 0 toontown/minigame/DistributedTugOfWarGame.py | 0 .../minigame/DistributedTugOfWarGameAI.py | 0 toontown/minigame/DistributedTwoDGame.py | 0 toontown/minigame/DistributedTwoDGameAI.py | 0 toontown/minigame/DistributedVineGame.py | 0 toontown/minigame/DistributedVineGameAI.py | 0 toontown/minigame/DivingFishSpawn.py | 0 toontown/minigame/DivingGameGlobals.py | 0 toontown/minigame/DivingGameToonSD.py | 0 toontown/minigame/DivingTreasure.py | 0 toontown/minigame/DropPlacer.py | 0 toontown/minigame/DropScheduler.py | 0 toontown/minigame/FogOverlay.py | 0 toontown/minigame/IceGameGlobals.py | 0 toontown/minigame/IceTreasure.py | 0 toontown/minigame/Maze.py | 0 toontown/minigame/MazeBase.py | 0 toontown/minigame/MazeData.py | 0 toontown/minigame/MazeGameGlobals.py | 0 toontown/minigame/MazeMapGui.py | 0 toontown/minigame/MazeSuit.py | 0 toontown/minigame/MazeTreasure.py | 0 toontown/minigame/MinigameAvatarScorePanel.py | 0 toontown/minigame/MinigameCreatorAI.py | 0 toontown/minigame/MinigameGlobals.py | 0 toontown/minigame/MinigamePhysicsWorldBase.py | 0 toontown/minigame/MinigamePowerMeter.py | 0 toontown/minigame/MinigameRulesPanel.py | 0 toontown/minigame/OrthoDrive.py | 0 toontown/minigame/OrthoWalk.py | 0 toontown/minigame/PatternGameGlobals.py | 0 toontown/minigame/Purchase.py | 0 toontown/minigame/PurchaseBase.py | 0 toontown/minigame/RaceGameGlobals.py | 0 toontown/minigame/Ring.py | 0 toontown/minigame/RingAction.py | 0 toontown/minigame/RingGameGlobals.py | 0 toontown/minigame/RingGroup.py | 0 toontown/minigame/RingTrack.py | 0 toontown/minigame/RingTrackGroup.py | 0 toontown/minigame/RingTrackGroups.py | 0 toontown/minigame/RingTracks.py | 0 toontown/minigame/RubberBand.py | 0 toontown/minigame/SwingVine.py | 0 toontown/minigame/TagGameGlobals.py | 0 toontown/minigame/TagTreasurePlannerAI.py | 0 toontown/minigame/TargetGameGlobals.py | 0 toontown/minigame/ToonBlitzAssetMgr.py | 0 toontown/minigame/ToonBlitzGlobals.py | 0 toontown/minigame/Trajectory.py | 0 toontown/minigame/TreasureScorePanel.py | 0 toontown/minigame/TrolleyHolidayMgrAI.py | 0 toontown/minigame/TrolleyWeekendMgrAI.py | 0 toontown/minigame/TugOfWarGameGlobals.py | 0 toontown/minigame/TwoDBattleMgr.py | 0 toontown/minigame/TwoDBlock.py | 0 toontown/minigame/TwoDCamera.py | 0 toontown/minigame/TwoDDrive.py | 0 toontown/minigame/TwoDEnemy.py | 0 toontown/minigame/TwoDEnemyMgr.py | 0 toontown/minigame/TwoDGameToonSD.py | 0 toontown/minigame/TwoDSection.py | 0 toontown/minigame/TwoDSectionMgr.py | 0 toontown/minigame/TwoDSpawnPointMgr.py | 0 toontown/minigame/TwoDStomper.py | 0 toontown/minigame/TwoDStomperMgr.py | 0 toontown/minigame/TwoDTreasure.py | 0 toontown/minigame/TwoDTreasureMgr.py | 0 toontown/minigame/TwoDWalk.py | 0 toontown/minigame/VineBat.py | 0 toontown/minigame/VineGameGlobals.py | 0 toontown/minigame/VineHeadFrame.py | 0 toontown/minigame/VineSpider.py | 0 toontown/minigame/VineTreasure.py | 0 toontown/minigame/__init__.py | 0 toontown/nametag/Nametag.py | 0 toontown/nametag/Nametag2d.py | 0 toontown/nametag/Nametag3d.py | 0 toontown/nametag/NametagFloat2d.py | 0 toontown/nametag/NametagFloat3d.py | 0 toontown/nametag/NametagGlobals.py | 0 toontown/nametag/NametagGroup.py | 0 toontown/nametag/__init__.py | 0 toontown/parties/ActivityBase.py | 0 toontown/parties/BaseActivityFSM.py | 0 toontown/parties/CalendarGuiDay.py | 0 toontown/parties/CalendarGuiMonth.py | 0 toontown/parties/Cannon.py | 0 toontown/parties/CannonGui.py | 0 toontown/parties/DecorBase.py | 0 toontown/parties/Decoration.py | 0 toontown/parties/DistributedParty.py | 0 toontown/parties/DistributedPartyAI.py | 0 toontown/parties/DistributedPartyActivity.py | 0 .../parties/DistributedPartyActivityAI.py | 0 toontown/parties/DistributedPartyCannon.py | 0 toontown/parties/DistributedPartyCannonAI.py | 0 .../parties/DistributedPartyCannonActivity.py | 0 .../DistributedPartyCannonActivityAI.py | 0 .../parties/DistributedPartyCatchActivity.py | 0 .../DistributedPartyCatchActivityAI.py | 0 .../DistributedPartyCatchActivityBase.py | 0 .../parties/DistributedPartyCogActivity.py | 0 .../parties/DistributedPartyCogActivityAI.py | 0 .../DistributedPartyDance20Activity.py | 0 .../DistributedPartyDance20ActivityAI.py | 0 .../parties/DistributedPartyDanceActivity.py | 0 .../DistributedPartyDanceActivityAI.py | 0 .../DistributedPartyDanceActivityBase.py | 0 .../DistributedPartyDanceActivityBaseAI.py | 0 .../DistributedPartyFireworksActivity.py | 0 .../DistributedPartyFireworksActivityAI.py | 0 .../DistributedPartyJukebox40Activity.py | 0 .../DistributedPartyJukebox40ActivityAI.py | 0 .../DistributedPartyJukeboxActivity.py | 0 .../DistributedPartyJukeboxActivityAI.py | 0 .../DistributedPartyJukeboxActivityBase.py | 0 .../DistributedPartyJukeboxActivityBaseAI.py | 0 .../parties/DistributedPartyTeamActivity.py | 0 .../parties/DistributedPartyTeamActivityAI.py | 0 .../DistributedPartyTrampolineActivity.py | 0 .../DistributedPartyTrampolineActivityAI.py | 0 .../DistributedPartyTugOfWarActivity.py | 0 .../DistributedPartyTugOfWarActivityAI.py | 0 ...istributedPartyValentineDance20Activity.py | 0 ...tributedPartyValentineDance20ActivityAI.py | 0 .../DistributedPartyValentineDanceActivity.py | 0 ...istributedPartyValentineDanceActivityAI.py | 0 ...tributedPartyValentineJukebox40Activity.py | 0 ...ibutedPartyValentineJukebox40ActivityAI.py | 0 ...istributedPartyValentineJukeboxActivity.py | 0 ...tributedPartyValentineJukeboxActivityAI.py | 0 ...ributedPartyValentineTrampolineActivity.py | 0 ...butedPartyValentineTrampolineActivityAI.py | 0 ...stributedPartyVictoryTrampolineActivity.py | 0 ...ributedPartyVictoryTrampolineActivityAI.py | 0 .../DistributedPartyWinterCatchActivity.py | 0 .../DistributedPartyWinterCatchActivityAI.py | 0 .../DistributedPartyWinterCogActivity.py | 0 .../DistributedPartyWinterCogActivityAI.py | 0 ...istributedPartyWinterTrampolineActivity.py | 0 ...tributedPartyWinterTrampolineActivityAI.py | 0 toontown/parties/GlobalPartyManager.py | 0 toontown/parties/GlobalPartyManagerAI.py | 0 toontown/parties/GlobalPartyManagerUD.py | 0 toontown/parties/InviteInfo.py | 0 toontown/parties/InviteVisual.py | 0 toontown/parties/JellybeanRewardGui.py | 0 toontown/parties/JukeboxGui.py | 0 toontown/parties/KeyCodes.py | 0 toontown/parties/KeyCodesGui.py | 0 toontown/parties/Party.py | 0 toontown/parties/PartyCatchActivityToonSD.py | 0 toontown/parties/PartyCog.py | 0 toontown/parties/PartyCogActivity.py | 0 toontown/parties/PartyCogActivityGui.py | 0 toontown/parties/PartyCogActivityInput.py | 0 toontown/parties/PartyCogActivityPlayer.py | 0 toontown/parties/PartyCogUtils.py | 0 toontown/parties/PartyDanceActivityToonFSM.py | 0 toontown/parties/PartyEditor.py | 0 toontown/parties/PartyEditorGrid.py | 0 toontown/parties/PartyEditorGridElement.py | 0 toontown/parties/PartyEditorGridSquare.py | 0 toontown/parties/PartyEditorListElement.py | 0 toontown/parties/PartyGlobals.py | 0 toontown/parties/PartyInfo.py | 0 toontown/parties/PartyLoader.py | 0 toontown/parties/PartyPlanner.py | 0 toontown/parties/PartyReplyInfo.py | 0 toontown/parties/PartyUtils.py | 0 toontown/parties/PublicPartyGui.py | 0 toontown/parties/ScrolledFriendList.py | 0 toontown/parties/ServerTimeGui.py | 0 toontown/parties/SimpleMailBase.py | 0 toontown/parties/StretchingArrow.py | 0 toontown/parties/TeamActivityGui.py | 0 toontown/parties/ToontownTimeManager.py | 0 toontown/parties/ToontownTimeZone.py | 0 .../parties/WinterPartyCatchActivityToonSD.py | 0 toontown/parties/__init__.py | 0 toontown/parties/activityFSMMixins.py | 0 toontown/parties/activityFSMs.py | 0 toontown/pets/DistributedPet.py | 0 toontown/pets/DistributedPetAI.py | 0 toontown/pets/DistributedPetProxy.py | 0 toontown/pets/DistributedPetProxyAI.py | 0 toontown/pets/Pet.py | 0 toontown/pets/PetActionFSM.py | 0 toontown/pets/PetAvatarPanel.py | 0 toontown/pets/PetBase.py | 0 toontown/pets/PetBrain.py | 0 toontown/pets/PetConstants.py | 0 toontown/pets/PetDNA.py | 0 toontown/pets/PetDetail.py | 0 toontown/pets/PetDetailPanel.py | 0 toontown/pets/PetGoal.py | 0 toontown/pets/PetGoalMgr.py | 0 toontown/pets/PetHandle.py | 0 toontown/pets/PetLookerAI.py | 0 toontown/pets/PetManager.py | 0 toontown/pets/PetManagerAI.py | 0 toontown/pets/PetMood.py | 0 toontown/pets/PetMoverAI.py | 0 toontown/pets/PetObserve.py | 0 toontown/pets/PetTraits.py | 0 toontown/pets/PetTricks.py | 0 toontown/pets/PetTutorial.py | 0 toontown/pets/PetUtil.py | 0 toontown/pets/PetshopGUI.py | 0 toontown/pets/__init__.py | 0 toontown/quest/BlinkingArrows.py | 0 toontown/quest/QuestBookPoster.py | 0 toontown/quest/QuestChoiceGui.py | 0 toontown/quest/QuestMap.py | 0 toontown/quest/QuestMapGlobals.py | 0 toontown/quest/QuestParser.py | 0 toontown/quest/QuestPoster.py | 0 toontown/quest/QuestRewardCounter.py | 0 toontown/quest/QuestScripts.py | 0 toontown/quest/Quests.py | 0 toontown/quest/TrackChoiceGui.py | 0 toontown/quest/__init__.py | 0 toontown/racing/DistributedGag.py | 0 toontown/racing/DistributedGagAI.py | 0 toontown/racing/DistributedKartPad.py | 0 toontown/racing/DistributedKartPadAI.py | 0 toontown/racing/DistributedLeaderBoard.py | 0 toontown/racing/DistributedLeaderBoardAI.py | 0 toontown/racing/DistributedProjectile.py | 0 toontown/racing/DistributedProjectileAI.py | 0 toontown/racing/DistributedRace.py | 0 toontown/racing/DistributedRaceAI.py | 0 toontown/racing/DistributedRacePad.py | 0 toontown/racing/DistributedRacePadAI.py | 0 toontown/racing/DistributedStartingBlock.py | 0 toontown/racing/DistributedStartingBlockAI.py | 0 toontown/racing/DistributedVehicle.py | 0 toontown/racing/DistributedVehicleAI.py | 0 toontown/racing/DistributedViewPad.py | 0 toontown/racing/DistributedViewPadAI.py | 0 toontown/racing/DroppedGag.py | 0 toontown/racing/EffectManager.py | 0 toontown/racing/FlyingGag.py | 0 toontown/racing/Kart.py | 0 toontown/racing/KartDNA.py | 0 toontown/racing/KartShopGlobals.py | 0 toontown/racing/KartShopGui.py | 0 toontown/racing/Piejectile.py | 0 toontown/racing/PiejectileManager.py | 0 toontown/racing/RaceEndPanels.py | 0 toontown/racing/RaceGUI.py | 0 toontown/racing/RaceGag.py | 0 toontown/racing/RaceGlobals.py | 0 toontown/racing/RaceHeadFrame.py | 0 toontown/racing/__init__.py | 0 toontown/rpc/ToontownRPCConnection.py | 0 toontown/rpc/ToontownRPCDispatcher.py | 0 toontown/rpc/ToontownRPCHandler.py | 0 toontown/rpc/ToontownRPCHandlerBase.py | 0 toontown/rpc/ToontownRPCServer.py | 0 toontown/rpc/__init__.py | 0 toontown/safezone/BRPlayground.py | 0 toontown/safezone/BRSafeZoneLoader.py | 0 toontown/safezone/ButterflyGlobals.py | 0 toontown/safezone/CheckersBoard.py | 0 toontown/safezone/ChineseCheckersBoard.py | 0 toontown/safezone/DDPlayground.py | 0 toontown/safezone/DDSafeZoneLoader.py | 0 toontown/safezone/DGPlayground.py | 0 toontown/safezone/DGSafeZoneLoader.py | 0 toontown/safezone/DLSafeZoneLoader.py | 0 toontown/safezone/DistributedBoat.py | 0 toontown/safezone/DistributedBoatAI.py | 0 toontown/safezone/DistributedButterfly.py | 0 toontown/safezone/DistributedButterflyAI.py | 0 toontown/safezone/DistributedCheckers.py | 0 toontown/safezone/DistributedCheckersAI.py | 0 .../safezone/DistributedChineseCheckers.py | 0 .../safezone/DistributedChineseCheckersAI.py | 0 toontown/safezone/DistributedDGFlower.py | 0 toontown/safezone/DistributedDGFlowerAI.py | 0 .../safezone/DistributedEFlyingTreasure.py | 0 toontown/safezone/DistributedFindFour.py | 0 toontown/safezone/DistributedFindFourAI.py | 0 toontown/safezone/DistributedFishingSpot.py | 0 toontown/safezone/DistributedFishingSpotAI.py | 0 toontown/safezone/DistributedGolfKart.py | 0 toontown/safezone/DistributedGolfKartAI.py | 0 toontown/safezone/DistributedMMPiano.py | 0 toontown/safezone/DistributedMMPianoAI.py | 0 toontown/safezone/DistributedPartyGate.py | 0 toontown/safezone/DistributedPartyGateAI.py | 0 toontown/safezone/DistributedPicnicBasket.py | 0 .../safezone/DistributedPicnicBasketAI.py | 0 toontown/safezone/DistributedPicnicTable.py | 0 toontown/safezone/DistributedPicnicTableAI.py | 0 toontown/safezone/DistributedTreasure.py | 0 toontown/safezone/DistributedTreasureAI.py | 0 toontown/safezone/DistributedTrolley.py | 0 toontown/safezone/DistributedTrolleyAI.py | 0 toontown/safezone/GSPlayground.py | 0 toontown/safezone/GSSafeZoneLoader.py | 0 toontown/safezone/GZPlayground.py | 0 toontown/safezone/GZSafeZoneLoader.py | 0 toontown/safezone/GameGlobals.py | 0 toontown/safezone/GameMenu.py | 0 toontown/safezone/GameTutorials.py | 0 toontown/safezone/GolfKart.py | 0 toontown/safezone/MMPlayground.py | 0 toontown/safezone/MMSafeZoneLoader.py | 0 toontown/safezone/OZPlayground.py | 0 toontown/safezone/OZSafeZoneLoader.py | 0 toontown/safezone/PicnicBasket.py | 0 toontown/safezone/PicnicGameGlobals.py | 0 toontown/safezone/PicnicGameSelectMenu.py | 0 toontown/safezone/PicnicGameTutorial.py | 0 toontown/safezone/Playground.py | 0 toontown/safezone/PublicWalk.py | 0 toontown/safezone/RegenTreasurePlannerAI.py | 0 toontown/safezone/SZTreasurePlannerAI.py | 0 toontown/safezone/SafeZoneLoader.py | 0 toontown/safezone/SafeZoneManager.py | 0 toontown/safezone/SafeZoneManagerAI.py | 0 toontown/safezone/TTPlayground.py | 0 toontown/safezone/TTSafeZoneLoader.py | 0 toontown/safezone/Train.py | 0 toontown/safezone/TreasureGlobals.py | 0 toontown/safezone/TreasurePlannerAI.py | 0 toontown/safezone/TrolleyConstants.py | 0 toontown/safezone/Walk.py | 0 toontown/safezone/__init__.py | 0 toontown/shtiker/CogPageGlobals.py | 0 toontown/shtiker/DeleteManager.py | 0 toontown/shtiker/DeleteManagerAI.py | 0 toontown/shtiker/DisguisePage.py | 0 toontown/shtiker/DisplaySettingsDialog.py | 0 toontown/shtiker/EventsPage.py | 0 toontown/shtiker/FishPage.py | 0 toontown/shtiker/GardenPage.py | 0 toontown/shtiker/GolfPage.py | 0 toontown/shtiker/InventoryPage.py | 0 toontown/shtiker/KartPage.py | 0 toontown/shtiker/MapPage.py | 0 toontown/shtiker/NPCFriendPage.py | 0 toontown/shtiker/NewbiePurchaseManager.py | 0 toontown/shtiker/NewbiePurchaseManagerAI.py | 0 toontown/shtiker/OptionsPage.py | 0 toontown/shtiker/PhotoAlbumPage.py | 0 toontown/shtiker/PurchaseManager.py | 0 toontown/shtiker/PurchaseManagerAI.py | 0 toontown/shtiker/PurchaseManagerConstants.py | 0 toontown/shtiker/QuestPage.py | 0 toontown/shtiker/ShardPage.py | 0 toontown/shtiker/ShtikerBook.py | 0 toontown/shtiker/ShtikerPage.py | 0 toontown/shtiker/SuitPage.py | 0 toontown/shtiker/SummonCogDialog.py | 0 toontown/shtiker/TIPPage.py | 0 toontown/shtiker/TrackPage.py | 0 toontown/shtiker/__init__.py | 0 toontown/speedchat/TTSCAprilToonsMenu.py | 0 toontown/speedchat/TTSCBoardingMenu.py | 0 toontown/speedchat/TTSCCogMenu.py | 0 toontown/speedchat/TTSCDecoders.py | 0 toontown/speedchat/TTSCFactoryMenu.py | 0 toontown/speedchat/TTSCGolfMenu.py | 0 toontown/speedchat/TTSCHalloweenMenu.py | 0 toontown/speedchat/TTSCIdesOfMarchMenu.py | 0 toontown/speedchat/TTSCIndexedTerminal.py | 0 toontown/speedchat/TTSCJellybeanJamMenu.py | 0 toontown/speedchat/TTSCKartRacingMenu.py | 0 toontown/speedchat/TTSCPetTrickMenu.py | 0 toontown/speedchat/TTSCPromotionalMenu.py | 0 toontown/speedchat/TTSCResistanceMenu.py | 0 toontown/speedchat/TTSCResistanceTerminal.py | 0 .../speedchat/TTSCSellbotFieldOfficeMenu.py | 0 toontown/speedchat/TTSCSellbotInvasionMenu.py | 0 toontown/speedchat/TTSCSellbotNerfMenu.py | 0 toontown/speedchat/TTSCSillyPhaseFiveMenu.py | 0 toontown/speedchat/TTSCSillyPhaseFourMenu.py | 0 toontown/speedchat/TTSCSillyPhaseOneMenu.py | 0 toontown/speedchat/TTSCSillyPhaseThreeMenu.py | 0 toontown/speedchat/TTSCSillyPhaseTwoMenu.py | 0 toontown/speedchat/TTSCToontaskMenu.py | 0 toontown/speedchat/TTSCToontaskTerminal.py | 0 toontown/speedchat/TTSCVictoryPartiesMenu.py | 0 toontown/speedchat/TTSCWinterMenu.py | 0 toontown/speedchat/TTSpeedChatGlobals.py | 0 toontown/speedchat/TTSpeedChatTypes.py | 0 toontown/speedchat/__init__.py | 0 toontown/suit/BossCog.py | 0 toontown/suit/DistributedBossCog.py | 0 toontown/suit/DistributedBossCogAI.py | 0 toontown/suit/DistributedBossbotBoss.py | 0 toontown/suit/DistributedBossbotBossAI.py | 0 toontown/suit/DistributedCashbotBoss.py | 0 toontown/suit/DistributedCashbotBossAI.py | 0 toontown/suit/DistributedCashbotBossGoon.py | 0 toontown/suit/DistributedCashbotBossGoonAI.py | 0 toontown/suit/DistributedFactorySuit.py | 0 toontown/suit/DistributedFactorySuitAI.py | 0 toontown/suit/DistributedGoon.py | 0 toontown/suit/DistributedGoonAI.py | 0 toontown/suit/DistributedGridGoon.py | 0 toontown/suit/DistributedGridGoonAI.py | 0 toontown/suit/DistributedLawbotBoss.py | 0 toontown/suit/DistributedLawbotBossAI.py | 0 toontown/suit/DistributedLawbotBossSuit.py | 0 toontown/suit/DistributedLawbotBossSuitAI.py | 0 toontown/suit/DistributedMintSuit.py | 0 toontown/suit/DistributedMintSuitAI.py | 0 toontown/suit/DistributedSellbotBoss.py | 0 toontown/suit/DistributedSellbotBossAI.py | 0 toontown/suit/DistributedStageSuit.py | 0 toontown/suit/DistributedStageSuitAI.py | 0 toontown/suit/DistributedSuit.py | 0 toontown/suit/DistributedSuitAI.py | 0 toontown/suit/DistributedSuitBase.py | 0 toontown/suit/DistributedSuitBaseAI.py | 0 toontown/suit/DistributedSuitPlanner.py | 0 toontown/suit/DistributedSuitPlannerAI.py | 0 toontown/suit/DistributedTutorialSuit.py | 0 toontown/suit/DistributedTutorialSuitAI.py | 0 toontown/suit/Goon.py | 0 toontown/suit/GoonDeath.py | 0 toontown/suit/GoonGlobals.py | 0 toontown/suit/GoonPathData.py | 0 toontown/suit/RoguesGallery.py | 0 toontown/suit/SellbotBossGlobals.py | 0 toontown/suit/Suit.py | 0 toontown/suit/SuitAvatarPanel.py | 0 toontown/suit/SuitBase.py | 0 toontown/suit/SuitDNA.py | 0 toontown/suit/SuitDialog.py | 0 toontown/suit/SuitGlobals.py | 0 toontown/suit/SuitInvasionGlobals.py | 0 toontown/suit/SuitInvasionManagerAI.py | 0 toontown/suit/SuitPlannerBase.py | 0 toontown/suit/SuitTimings.py | 0 toontown/suit/__init__.py | 0 toontown/toon/AccessoryGlobals.py | 0 toontown/toon/AvatarPanelBase.py | 0 toontown/toon/BoardingGroupInviterPanels.py | 0 toontown/toon/DeathForceAcknowledge.py | 0 toontown/toon/DistributedNPCBlocker.py | 0 toontown/toon/DistributedNPCBlockerAI.py | 0 toontown/toon/DistributedNPCClerk.py | 0 toontown/toon/DistributedNPCClerkAI.py | 0 toontown/toon/DistributedNPCFisherman.py | 0 toontown/toon/DistributedNPCFishermanAI.py | 0 .../toon/DistributedNPCFlippyInToonHall.py | 0 .../toon/DistributedNPCFlippyInToonHallAI.py | 0 toontown/toon/DistributedNPCGlove.py | 0 toontown/toon/DistributedNPCGloveAI.py | 0 toontown/toon/DistributedNPCKartClerk.py | 0 toontown/toon/DistributedNPCKartClerkAI.py | 0 toontown/toon/DistributedNPCLaffRestock.py | 0 toontown/toon/DistributedNPCLaffRestockAI.py | 0 toontown/toon/DistributedNPCPartyPerson.py | 0 toontown/toon/DistributedNPCPartyPersonAI.py | 0 toontown/toon/DistributedNPCPetclerk.py | 0 toontown/toon/DistributedNPCPetclerkAI.py | 0 toontown/toon/DistributedNPCScientist.py | 0 toontown/toon/DistributedNPCScientistAI.py | 0 .../toon/DistributedNPCSpecialQuestGiver.py | 0 .../toon/DistributedNPCSpecialQuestGiverAI.py | 0 toontown/toon/DistributedNPCTailor.py | 0 toontown/toon/DistributedNPCTailorAI.py | 0 toontown/toon/DistributedNPCToon.py | 0 toontown/toon/DistributedNPCToonAI.py | 0 toontown/toon/DistributedNPCToonBase.py | 0 toontown/toon/DistributedNPCToonBaseAI.py | 0 toontown/toon/DistributedSmartNPC.py | 0 toontown/toon/DistributedSmartNPCAI.py | 0 toontown/toon/DistributedToon.py | 0 toontown/toon/DistributedToonAI.py | 0 toontown/toon/DistributedToonUD.py | 0 toontown/toon/ElevatorNotifier.py | 0 toontown/toon/Experience.py | 0 toontown/toon/GroupInvitee.py | 0 toontown/toon/GroupPanel.py | 0 toontown/toon/HealthForceAcknowledge.py | 0 toontown/toon/InventoryBase.py | 0 toontown/toon/InventoryNew.py | 0 toontown/toon/LaffMeter.py | 0 toontown/toon/LaffRestockGlobals.py | 0 toontown/toon/LaffShopGui.py | 0 toontown/toon/LaughingManGlobals.py | 0 toontown/toon/LocalToon.py | 0 toontown/toon/Motion.py | 0 toontown/toon/NPCForceAcknowledge.py | 0 toontown/toon/NPCFriendPanel.py | 0 toontown/toon/NPCToons.py | 0 toontown/toon/QuestionMgr.py | 0 toontown/toon/QuestionMgrCustom.py | 0 toontown/toon/TTEmote.py | 0 toontown/toon/TailorClothesGUI.py | 0 toontown/toon/Toon.py | 0 toontown/toon/ToonAvatarDetailPanel.py | 0 toontown/toon/ToonAvatarPanel.py | 0 toontown/toon/ToonDNA.py | 0 toontown/toon/ToonDetail.py | 0 toontown/toon/ToonHead.py | 0 toontown/toon/ToonHeadFrame.py | 0 toontown/toon/ToonTeleportPanel.py | 0 toontown/toon/__init__.py | 0 toontown/toonbase/AprilToonsGlobals.py | 0 toontown/toonbase/BitmaskGlobals.py | 0 toontown/toonbase/ClientStart.py | 0 toontown/toonbase/ClientStartDist.py | 0 toontown/toonbase/ClientStartRemoteDB.py | 29 ++++ toontown/toonbase/ContentPacksManager.py | 0 toontown/toonbase/TTLocalizer.py | 0 toontown/toonbase/TTLocalizerEnglish.py | 0 .../toonbase/TTLocalizerEnglishProperty.py | 0 toontown/toonbase/ToonBase.py | 0 toontown/toonbase/ToonBaseGlobal.py | 0 toontown/toonbase/ToontownBattleGlobals.py | 0 toontown/toonbase/ToontownGlobals.py | 0 toontown/toonbase/ToontownIntervals.py | 0 toontown/toonbase/ToontownLoader.py | 0 toontown/toonbase/ToontownTimer.py | 0 toontown/toonbase/__init__.py | 0 toontown/toontowngui/Clickable.py | 0 toontown/toontowngui/Clickable2d.py | 0 toontown/toontowngui/Clickable3d.py | 0 toontown/toontowngui/TTDialog.py | 0 toontown/toontowngui/ToonHeadDialog.py | 0 toontown/toontowngui/ToontownLoadingScreen.py | 0 toontown/toontowngui/__init__.py | 0 toontown/town/BRStreet.py | 0 toontown/town/BRTownLoader.py | 0 toontown/town/DDStreet.py | 0 toontown/town/DDTownLoader.py | 0 toontown/town/DGStreet.py | 0 toontown/town/DGTownLoader.py | 0 toontown/town/DLStreet.py | 0 toontown/town/DLTownLoader.py | 0 toontown/town/MMStreet.py | 0 toontown/town/MMTownLoader.py | 0 toontown/town/Street.py | 0 toontown/town/TTStreet.py | 0 toontown/town/TTTownLoader.py | 0 toontown/town/TownBattle.py | 0 toontown/town/TownBattleAttackPanel.py | 0 toontown/town/TownBattleChooseAvatarPanel.py | 0 toontown/town/TownBattleCogPanel.py | 0 toontown/town/TownBattleSOSPanel.py | 0 toontown/town/TownBattleSOSPetInfoPanel.py | 0 toontown/town/TownBattleSOSPetSearchPanel.py | 0 toontown/town/TownBattleToonPanel.py | 0 toontown/town/TownBattleWaitPanel.py | 0 toontown/town/TownLoader.py | 0 toontown/town/TutorialStreet.py | 0 toontown/town/TutorialTownLoader.py | 0 toontown/town/__init__.py | 0 toontown/trolley/Trolley.py | 0 toontown/trolley/__init__.py | 0 .../tutorial/DistributedBattleTutorial.py | 0 .../tutorial/DistributedBattleTutorialAI.py | 0 toontown/tutorial/TutorialManager.py | 0 toontown/tutorial/TutorialManagerAI.py | 0 toontown/tutorial/__init__.py | 0 toontown/uberdog/ARGManager.py | 0 toontown/uberdog/ARGManagerAI.py | 0 toontown/uberdog/ARGManagerUD.py | 0 toontown/uberdog/ClientServicesManager.py | 0 toontown/uberdog/ClientServicesManagerUD.py | 146 +++++++++++++----- toontown/uberdog/DistributedPartyManager.py | 0 toontown/uberdog/DistributedPartyManagerAI.py | 0 toontown/uberdog/DistributedPartyManagerUD.py | 0 toontown/uberdog/NameJudgeBlacklist.py | 0 toontown/uberdog/ServiceStart.py | 0 toontown/uberdog/ToontownUberRepository.py | 0 toontown/uberdog/__init__.py | 0 ud.bat | 0 4563 files changed, 174 insertions(+), 42 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 PPYTHON_PATH mode change 100644 => 100755 README.md mode change 100644 => 100755 ai.bat mode change 100644 => 100755 all.bat mode change 100644 => 100755 astron.bat mode change 100644 => 100755 astron/.gitignore mode change 100644 => 100755 astron/astrond.exe mode change 100644 => 100755 astron/config/clientagent-0.yml mode change 100644 => 100755 astron/config/clientagent-1.yml mode change 100644 => 100755 astron/config/clientagent-2.yml mode change 100644 => 100755 astron/config/clientagent-3.yml mode change 100644 => 100755 astron/config/clientagent-4.yml mode change 100644 => 100755 astron/config/clientagent-5.yml mode change 100644 => 100755 astron/config/clientagent-6.yml mode change 100644 => 100755 astron/config/clientagent-7.yml mode change 100644 => 100755 astron/config/cluster.yml mode change 100644 => 100755 astron/config/eventlogger.yml mode change 100644 => 100755 astron/config/production-cluster.yml mode change 100644 => 100755 astron/darwin/start-ai-server.sh mode change 100644 => 100755 astron/darwin/start-astron-cluster.sh mode change 100644 => 100755 astron/darwin/start-uberdog-server.sh mode change 100644 => 100755 astron/databases/.gitignore mode change 100644 => 100755 astron/databases/astrondb/.gitignore mode change 100644 => 100755 astron/dclass/stride.dc mode change 100644 => 100755 astron/libeay32.dll mode change 100644 => 100755 astron/linux/start-ai-server.sh mode change 100644 => 100755 astron/linux/start-astron-cluster.sh mode change 100644 => 100755 astron/linux/start-uberdog-server.sh mode change 100644 => 100755 astron/ssleay32.dll mode change 100644 => 100755 client.bat mode change 100644 => 100755 config/events/grand-opening.prc mode change 100644 => 100755 config/general.prc mode change 100644 => 100755 config/guieditor.prc mode change 100644 => 100755 config/holidays/christmas.prc mode change 100644 => 100755 config/holidays/halloween.prc mode change 100644 => 100755 config/release/dev.prc mode change 100644 => 100755 config/release/en.prc mode change 100644 => 100755 config/release/test.prc mode change 100644 => 100755 darwin/start-game-remotedb.sh mode change 100644 => 100755 darwin/start-game.sh mode change 100644 => 100755 deployment/.gitignore mode change 100644 => 100755 deployment/FreezeTool.patch mode change 100644 => 100755 deployment/deploy.py mode change 100644 => 100755 doc/building/README.md mode change 100644 => 100755 doc/style-guide/README.md mode change 100644 => 100755 doc/style-guide/cxx-style.md mode change 100644 => 100755 doc/style-guide/git-style.md mode change 100644 => 100755 doc/style-guide/python-style.md mode change 100644 => 100755 guieditor.bat mode change 100644 => 100755 guieditor/EditorStart.py mode change 100644 => 100755 guieditor/__init__.py mode change 100644 => 100755 libpandadna.pyd mode change 100644 => 100755 linux/start-game-localhost.sh mode change 100644 => 100755 linux/start-game-remotedb.sh mode change 100644 => 100755 linux/start-game.sh mode change 100644 => 100755 otp/__init__.py mode change 100644 => 100755 otp/ai/AIBase.py mode change 100644 => 100755 otp/ai/AIBaseGlobal.py mode change 100644 => 100755 otp/ai/AIMsgTypes.py mode change 100644 => 100755 otp/ai/AIZoneData.py mode change 100644 => 100755 otp/ai/BanManagerAI.py mode change 100644 => 100755 otp/ai/Barrier.py mode change 100644 => 100755 otp/ai/MagicWordGlobal.py mode change 100644 => 100755 otp/ai/MagicWordManager.py mode change 100644 => 100755 otp/ai/MagicWordManagerAI.py mode change 100644 => 100755 otp/ai/TimeManager.py mode change 100644 => 100755 otp/ai/TimeManagerAI.py mode change 100644 => 100755 otp/ai/__init__.py mode change 100644 => 100755 otp/avatar/Avatar.py mode change 100644 => 100755 otp/avatar/AvatarDNA.py mode change 100644 => 100755 otp/avatar/AvatarDetail.py mode change 100644 => 100755 otp/avatar/AvatarHandle.py mode change 100644 => 100755 otp/avatar/AvatarPanel.py mode change 100644 => 100755 otp/avatar/DistributedAvatar.py mode change 100644 => 100755 otp/avatar/DistributedAvatarAI.py mode change 100644 => 100755 otp/avatar/DistributedAvatarUD.py mode change 100644 => 100755 otp/avatar/DistributedPlayer.py mode change 100644 => 100755 otp/avatar/DistributedPlayerAI.py mode change 100644 => 100755 otp/avatar/Emote.py mode change 100644 => 100755 otp/avatar/LocalAvatar.py mode change 100644 => 100755 otp/avatar/PlayerBase.py mode change 100644 => 100755 otp/avatar/PositionExaminer.py mode change 100644 => 100755 otp/avatar/ShadowCaster.py mode change 100644 => 100755 otp/avatar/__init__.py mode change 100644 => 100755 otp/chat/ChatAgent.py mode change 100644 => 100755 otp/chat/ChatAgentAI.py mode change 100644 => 100755 otp/chat/ChatAgentUD.py mode change 100644 => 100755 otp/chat/ChatGarbler.py mode change 100644 => 100755 otp/chat/ChatGlobals.py mode change 100644 => 100755 otp/chat/ChatInputNormal.py mode change 100644 => 100755 otp/chat/ChatInputTyped.py mode change 100644 => 100755 otp/chat/ChatInputWhiteListFrame.py mode change 100644 => 100755 otp/chat/ChatManager.py mode change 100644 => 100755 otp/chat/SequenceList.py mode change 100644 => 100755 otp/chat/TalkAssistant.py mode change 100644 => 100755 otp/chat/TalkGlobals.py mode change 100644 => 100755 otp/chat/TalkHandle.py mode change 100644 => 100755 otp/chat/TalkMessage.py mode change 100644 => 100755 otp/chat/WhiteList.py mode change 100644 => 100755 otp/chat/__init__.py mode change 100644 => 100755 otp/distributed/Account.py mode change 100644 => 100755 otp/distributed/AccountAI.py mode change 100644 => 100755 otp/distributed/AccountUD.py mode change 100644 => 100755 otp/distributed/ClsendTracker.py mode change 100644 => 100755 otp/distributed/DCClassImports.py mode change 100644 => 100755 otp/distributed/DistributedDirectory.py mode change 100644 => 100755 otp/distributed/DistributedDirectoryAI.py mode change 100644 => 100755 otp/distributed/DistributedDistrict.py mode change 100644 => 100755 otp/distributed/DistributedDistrictAI.py mode change 100644 => 100755 otp/distributed/DistributedDistrictUD.py mode change 100644 => 100755 otp/distributed/OTPClientRepository.py mode change 100644 => 100755 otp/distributed/OtpDoGlobals.py mode change 100644 => 100755 otp/distributed/PotentialAvatar.py mode change 100644 => 100755 otp/distributed/PotentialShard.py mode change 100644 => 100755 otp/distributed/TelemetryLimited.py mode change 100644 => 100755 otp/distributed/TelemetryLimiter.py mode change 100644 => 100755 otp/distributed/__init__.py mode change 100644 => 100755 otp/friends/FriendManager.py mode change 100644 => 100755 otp/friends/FriendManagerAI.py mode change 100644 => 100755 otp/friends/__init__.py mode change 100644 => 100755 otp/level/AmbientSound.py mode change 100644 => 100755 otp/level/AttribDesc.py mode change 100644 => 100755 otp/level/BasicEntities.py mode change 100644 => 100755 otp/level/CollisionSolidEntity.py mode change 100644 => 100755 otp/level/CutScene.py mode change 100644 => 100755 otp/level/DistributedEntity.py mode change 100644 => 100755 otp/level/DistributedEntityAI.py mode change 100644 => 100755 otp/level/DistributedInteractiveEntity.py mode change 100644 => 100755 otp/level/DistributedInteractiveEntityAI.py mode change 100644 => 100755 otp/level/DistributedLevel.py mode change 100644 => 100755 otp/level/DistributedLevelAI.py mode change 100644 => 100755 otp/level/Entity.py mode change 100644 => 100755 otp/level/EntityCreator.py mode change 100644 => 100755 otp/level/EntityCreatorAI.py mode change 100644 => 100755 otp/level/EntityCreatorBase.py mode change 100644 => 100755 otp/level/EntityStateVarSet.py mode change 100644 => 100755 otp/level/EntityTypeDesc.py mode change 100644 => 100755 otp/level/EntityTypes.py mode change 100644 => 100755 otp/level/EntrancePoint.py mode change 100644 => 100755 otp/level/Level.py mode change 100644 => 100755 otp/level/LevelConstants.py mode change 100644 => 100755 otp/level/LevelMgr.py mode change 100644 => 100755 otp/level/LevelMgrAI.py mode change 100644 => 100755 otp/level/LevelMgrBase.py mode change 100644 => 100755 otp/level/LevelSpec.py mode change 100644 => 100755 otp/level/LevelUtil.py mode change 100644 => 100755 otp/level/LocatorEntity.py mode change 100644 => 100755 otp/level/LogicGate.py mode change 100644 => 100755 otp/level/ModelEntity.py mode change 100644 => 100755 otp/level/PathEntity.py mode change 100644 => 100755 otp/level/PropSpinner.py mode change 100644 => 100755 otp/level/VisibilityBlocker.py mode change 100644 => 100755 otp/level/VisibilityExtender.py mode change 100644 => 100755 otp/level/ZoneEntity.py mode change 100644 => 100755 otp/level/ZoneEntityAI.py mode change 100644 => 100755 otp/level/ZoneEntityBase.py mode change 100644 => 100755 otp/level/__init__.py mode change 100644 => 100755 otp/movement/CMover.py mode change 100644 => 100755 otp/movement/Impulse.py mode change 100644 => 100755 otp/movement/Mover.py mode change 100644 => 100755 otp/movement/PyVec3.py mode change 100644 => 100755 otp/movement/__init__.py mode change 100644 => 100755 otp/namepanel/NameCheck.py mode change 100644 => 100755 otp/namepanel/NameTumbler.py mode change 100644 => 100755 otp/namepanel/PickANamePattern.py mode change 100644 => 100755 otp/namepanel/__init__.py mode change 100644 => 100755 otp/otpbase/BackupManager.py mode change 100644 => 100755 otp/otpbase/OTPBase.py mode change 100644 => 100755 otp/otpbase/OTPGlobals.py mode change 100644 => 100755 otp/otpbase/OTPLocalizer.py mode change 100644 => 100755 otp/otpbase/OTPLocalizerEnglish.py mode change 100644 => 100755 otp/otpbase/OTPLocalizerEnglishProperty.py mode change 100644 => 100755 otp/otpbase/OTPRender.py mode change 100644 => 100755 otp/otpbase/__init__.py mode change 100644 => 100755 otp/otpgui/OTPDialog.py mode change 100644 => 100755 otp/otpgui/__init__.py mode change 100644 => 100755 otp/settings/Settings.py mode change 100644 => 100755 otp/settings/__init__.py mode change 100644 => 100755 otp/speedchat/ColorSpace.py mode change 100644 => 100755 otp/speedchat/SCColorScheme.py mode change 100644 => 100755 otp/speedchat/SCConstants.py mode change 100644 => 100755 otp/speedchat/SCCustomMenu.py mode change 100644 => 100755 otp/speedchat/SCCustomTerminal.py mode change 100644 => 100755 otp/speedchat/SCDecoders.py mode change 100644 => 100755 otp/speedchat/SCElement.py mode change 100644 => 100755 otp/speedchat/SCEmoteMenu.py mode change 100644 => 100755 otp/speedchat/SCEmoteTerminal.py mode change 100644 => 100755 otp/speedchat/SCMenu.py mode change 100644 => 100755 otp/speedchat/SCMenuHolder.py mode change 100644 => 100755 otp/speedchat/SCObject.py mode change 100644 => 100755 otp/speedchat/SCSettings.py mode change 100644 => 100755 otp/speedchat/SCStaticTextTerminal.py mode change 100644 => 100755 otp/speedchat/SCTerminal.py mode change 100644 => 100755 otp/speedchat/SpeedChat.py mode change 100644 => 100755 otp/speedchat/SpeedChatGlobals.py mode change 100644 => 100755 otp/speedchat/SpeedChatTypes.py mode change 100644 => 100755 otp/speedchat/__init__.py mode change 100644 => 100755 panda/__init__.py mode change 100644 => 100755 panda/bin/apply_patch.exe mode change 100644 => 100755 panda/bin/atl100.dll mode change 100644 => 100755 panda/bin/bam-info.exe mode change 100644 => 100755 panda/bin/bam2egg.exe mode change 100644 => 100755 panda/bin/build_patch.exe mode change 100644 => 100755 panda/bin/cg.dll mode change 100644 => 100755 panda/bin/cgD3D10.dll mode change 100644 => 100755 panda/bin/cgD3D11.dll mode change 100644 => 100755 panda/bin/cgD3D9.dll mode change 100644 => 100755 panda/bin/cgGL.dll mode change 100644 => 100755 panda/bin/cgc.exe mode change 100644 => 100755 panda/bin/cgfxcat.exe mode change 100644 => 100755 panda/bin/cginfo.exe mode change 100644 => 100755 panda/bin/check_adler.exe mode change 100644 => 100755 panda/bin/check_crc.exe mode change 100644 => 100755 panda/bin/check_md5.exe mode change 100644 => 100755 panda/bin/dxf-points.exe mode change 100644 => 100755 panda/bin/dxf2egg.exe mode change 100644 => 100755 panda/bin/egg-crop.exe mode change 100644 => 100755 panda/bin/egg-list-textures.exe mode change 100644 => 100755 panda/bin/egg-make-tube.exe mode change 100644 => 100755 panda/bin/egg-mkfont.exe mode change 100644 => 100755 panda/bin/egg-optchar.exe mode change 100644 => 100755 panda/bin/egg-palettize.exe mode change 100644 => 100755 panda/bin/egg-qtess.exe mode change 100644 => 100755 panda/bin/egg-rename.exe mode change 100644 => 100755 panda/bin/egg-retarget-anim.exe mode change 100644 => 100755 panda/bin/egg-texture-cards.exe mode change 100644 => 100755 panda/bin/egg-topstrip.exe mode change 100644 => 100755 panda/bin/egg-trans.exe mode change 100644 => 100755 panda/bin/egg2bam.exe mode change 100644 => 100755 panda/bin/egg2c.exe mode change 100644 => 100755 panda/bin/egg2dxf.exe mode change 100644 => 100755 panda/bin/egg2flt.exe mode change 100644 => 100755 panda/bin/egg2obj.exe mode change 100644 => 100755 panda/bin/egg2x.exe mode change 100644 => 100755 panda/bin/eggcacher.exe mode change 100644 => 100755 panda/bin/flt-info.exe mode change 100644 => 100755 panda/bin/flt-trans.exe mode change 100644 => 100755 panda/bin/flt2egg.exe mode change 100644 => 100755 panda/bin/fltcopy.exe mode change 100644 => 100755 panda/bin/fmodex.dll mode change 100644 => 100755 panda/bin/fmodexL.dll mode change 100644 => 100755 panda/bin/glut32.dll mode change 100644 => 100755 panda/bin/image-info.exe mode change 100644 => 100755 panda/bin/image-resize.exe mode change 100644 => 100755 panda/bin/image-trans.exe mode change 100644 => 100755 panda/bin/interrogate.exe mode change 100644 => 100755 panda/bin/interrogate_module.exe mode change 100644 => 100755 panda/bin/libp3direct.dll mode change 100644 => 100755 panda/bin/libp3dtool.dll mode change 100644 => 100755 panda/bin/libp3dtoolconfig.dll mode change 100644 => 100755 panda/bin/libp3fmod_audio.dll mode change 100644 => 100755 panda/bin/libp3framework.dll mode change 100644 => 100755 panda/bin/libp3ptloader.dll mode change 100644 => 100755 panda/bin/libp3tinydisplay.dll mode change 100644 => 100755 panda/bin/libp3windisplay.dll mode change 100644 => 100755 panda/bin/libpanda.dll mode change 100644 => 100755 panda/bin/libpandadx9.dll mode change 100644 => 100755 panda/bin/libpandaegg.dll mode change 100644 => 100755 panda/bin/libpandaexpress.dll mode change 100644 => 100755 panda/bin/libpandafx.dll mode change 100644 => 100755 panda/bin/libpandagl.dll mode change 100644 => 100755 panda/bin/libpandaode.dll mode change 100644 => 100755 panda/bin/libpandaphysics.dll mode change 100644 => 100755 panda/bin/libpandaskel.dll mode change 100644 => 100755 panda/bin/lwo-scan.exe mode change 100644 => 100755 panda/bin/lwo2egg.exe mode change 100644 => 100755 panda/bin/make-prc-key.exe mode change 100644 => 100755 panda/bin/mfc100.dll mode change 100644 => 100755 panda/bin/mfc100u.dll mode change 100644 => 100755 panda/bin/mfcm100.dll mode change 100644 => 100755 panda/bin/mfcm100u.dll mode change 100644 => 100755 panda/bin/msvcp100.dll mode change 100644 => 100755 panda/bin/msvcr100.dll mode change 100644 => 100755 panda/bin/multify.exe mode change 100644 => 100755 panda/bin/obj2egg.exe mode change 100644 => 100755 panda/bin/p3dWrapper.exe mode change 100644 => 100755 panda/bin/p3dcparse.exe mode change 100644 => 100755 panda/bin/packpanda.exe mode change 100644 => 100755 panda/bin/parse_file.exe mode change 100644 => 100755 panda/bin/pdecrypt.exe mode change 100644 => 100755 panda/bin/pencrypt.exe mode change 100644 => 100755 panda/bin/pfm-bba.exe mode change 100644 => 100755 panda/bin/pfm-trans.exe mode change 100644 => 100755 panda/bin/pstats.exe mode change 100644 => 100755 panda/bin/punzip.exe mode change 100644 => 100755 panda/bin/pview.exe mode change 100644 => 100755 panda/bin/python27.dll mode change 100644 => 100755 panda/bin/pzip.exe mode change 100644 => 100755 panda/bin/show_ddb.exe mode change 100644 => 100755 panda/bin/softcvs.exe mode change 100644 => 100755 panda/bin/test_interrogate.exe mode change 100644 => 100755 panda/bin/text-stats.exe mode change 100644 => 100755 panda/bin/vrml-trans.exe mode change 100644 => 100755 panda/bin/vrml2egg.exe mode change 100644 => 100755 panda/bin/x-trans.exe mode change 100644 => 100755 panda/bin/x2egg.exe mode change 100644 => 100755 panda/direct/__init__.py mode change 100644 => 100755 panda/direct/actor/Actor.py mode change 100644 => 100755 panda/direct/actor/DistributedActor.py mode change 100644 => 100755 panda/direct/actor/__init__.py mode change 100644 => 100755 panda/direct/cluster/ClusterClient.py mode change 100644 => 100755 panda/direct/cluster/ClusterConfig.py mode change 100644 => 100755 panda/direct/cluster/ClusterMsgs.py mode change 100644 => 100755 panda/direct/cluster/ClusterServer.py mode change 100644 => 100755 panda/direct/cluster/__init__.py mode change 100644 => 100755 panda/direct/controls/BattleWalker.py mode change 100644 => 100755 panda/direct/controls/ControlManager.py mode change 100644 => 100755 panda/direct/controls/DevWalker.py mode change 100644 => 100755 panda/direct/controls/GhostWalker.py mode change 100644 => 100755 panda/direct/controls/GravityWalker.py mode change 100644 => 100755 panda/direct/controls/InputState.py mode change 100644 => 100755 panda/direct/controls/NonPhysicsWalker.py mode change 100644 => 100755 panda/direct/controls/ObserverWalker.py mode change 100644 => 100755 panda/direct/controls/PhysicsRoller.py mode change 100644 => 100755 panda/direct/controls/PhysicsWalker.py mode change 100644 => 100755 panda/direct/controls/SwimWalker.py mode change 100644 => 100755 panda/direct/controls/TwoDWalker.py mode change 100644 => 100755 panda/direct/controls/__init__.py mode change 100644 => 100755 panda/direct/directbase/DirectStart.py mode change 100644 => 100755 panda/direct/directbase/TestStart.py mode change 100644 => 100755 panda/direct/directbase/ThreeUpStart.py mode change 100644 => 100755 panda/direct/directbase/__init__.py mode change 100644 => 100755 panda/direct/directdevices/DirectDeviceManager.py mode change 100644 => 100755 panda/direct/directdevices/DirectFastrak.py mode change 100644 => 100755 panda/direct/directdevices/DirectJoybox.py mode change 100644 => 100755 panda/direct/directdevices/DirectRadamec.py mode change 100644 => 100755 panda/direct/directdevices/__init__.py mode change 100644 => 100755 panda/direct/directnotify/DirectNotify.py mode change 100644 => 100755 panda/direct/directnotify/DirectNotifyGlobal.py mode change 100644 => 100755 panda/direct/directnotify/Logger.py mode change 100644 => 100755 panda/direct/directnotify/LoggerGlobal.py mode change 100644 => 100755 panda/direct/directnotify/Notifier.py mode change 100644 => 100755 panda/direct/directnotify/RotatingLog.py mode change 100644 => 100755 panda/direct/directnotify/__init__.py mode change 100644 => 100755 panda/direct/directscripts/.cvsignore mode change 100644 => 100755 panda/direct/directscripts/DetectPanda3D.js mode change 100644 => 100755 panda/direct/directscripts/Doxyfile.cxx mode change 100644 => 100755 panda/direct/directscripts/Doxyfile.python mode change 100644 => 100755 panda/direct/directscripts/RunPanda3D.js mode change 100644 => 100755 panda/direct/directscripts/Sources.pp mode change 100644 => 100755 panda/direct/directscripts/__init__.py mode change 100644 => 100755 panda/direct/directscripts/cleancvstree mode change 100644 => 100755 panda/direct/directscripts/doxygen_filter.py mode change 100644 => 100755 panda/direct/directscripts/eggcacher.py mode change 100644 => 100755 panda/direct/directscripts/extract_docs.py mode change 100644 => 100755 panda/direct/directscripts/flashparen.el mode change 100644 => 100755 panda/direct/directscripts/gendocs.py mode change 100644 => 100755 panda/direct/directscripts/hilit19.el mode change 100644 => 100755 panda/direct/directscripts/make-panda3d-tgz.py mode change 100644 => 100755 panda/direct/directscripts/packpanda.nsi mode change 100644 => 100755 panda/direct/directscripts/packpanda.py mode change 100644 => 100755 panda/direct/directscripts/panda-install.bmp mode change 100644 => 100755 panda/direct/directscripts/profilepaths-osx.command mode change 100644 => 100755 panda/direct/directscripts/python-mode.el mode change 100644 => 100755 panda/direct/directscripts/runPythonEmacs mode change 100644 => 100755 panda/direct/directtools/DirectCameraControl.py mode change 100644 => 100755 panda/direct/directtools/DirectGeometry.py mode change 100644 => 100755 panda/direct/directtools/DirectGlobals.py mode change 100644 => 100755 panda/direct/directtools/DirectGrid.py mode change 100644 => 100755 panda/direct/directtools/DirectLights.py mode change 100644 => 100755 panda/direct/directtools/DirectManipulation.py mode change 100644 => 100755 panda/direct/directtools/DirectSelection.py mode change 100644 => 100755 panda/direct/directtools/DirectSession.py mode change 100644 => 100755 panda/direct/directtools/DirectUtil.py mode change 100644 => 100755 panda/direct/directtools/__init__.py mode change 100644 => 100755 panda/direct/directutil/DeltaProfiler.py mode change 100644 => 100755 panda/direct/directutil/DirectMySQLdb.py mode change 100644 => 100755 panda/direct/directutil/DirectMySQLdbConnection.py mode change 100644 => 100755 panda/direct/directutil/DistributedLargeBlobSender.py mode change 100644 => 100755 panda/direct/directutil/DistributedLargeBlobSenderAI.py mode change 100644 => 100755 panda/direct/directutil/LargeBlobSenderConsts.py mode change 100644 => 100755 panda/direct/directutil/MemoryLeakHelpers.py mode change 100644 => 100755 panda/direct/directutil/Mopath.py mode change 100644 => 100755 panda/direct/directutil/Verify.py mode change 100644 => 100755 panda/direct/directutil/WeightedChoice.py mode change 100644 => 100755 panda/direct/directutil/__init__.py mode change 100644 => 100755 panda/direct/distributed/AstronClientRepository.py mode change 100644 => 100755 panda/direct/distributed/AstronDatabaseInterface.py mode change 100644 => 100755 panda/direct/distributed/AstronInternalRepository.py mode change 100644 => 100755 panda/direct/distributed/AsyncRequest.py mode change 100644 => 100755 panda/direct/distributed/CRCache.py mode change 100644 => 100755 panda/direct/distributed/CRDataCache.py mode change 100644 => 100755 panda/direct/distributed/CachedDOData.py mode change 100644 => 100755 panda/direct/distributed/CartesianGridBase.py mode change 100644 => 100755 panda/direct/distributed/ClientRepository.py mode change 100644 => 100755 panda/direct/distributed/ClientRepositoryBase.py mode change 100644 => 100755 panda/direct/distributed/ClockDelta.py mode change 100644 => 100755 panda/direct/distributed/ConnectionRepository.py mode change 100644 => 100755 panda/direct/distributed/DistributedCamera.py mode change 100644 => 100755 panda/direct/distributed/DistributedCameraAI.py mode change 100644 => 100755 panda/direct/distributed/DistributedCameraOV.py mode change 100644 => 100755 panda/direct/distributed/DistributedCartesianGrid.py mode change 100644 => 100755 panda/direct/distributed/DistributedCartesianGridAI.py mode change 100644 => 100755 panda/direct/distributed/DistributedNode.py mode change 100644 => 100755 panda/direct/distributed/DistributedNodeAI.py mode change 100644 => 100755 panda/direct/distributed/DistributedNodeUD.py mode change 100644 => 100755 panda/direct/distributed/DistributedObject.py mode change 100644 => 100755 panda/direct/distributed/DistributedObjectAI.py mode change 100644 => 100755 panda/direct/distributed/DistributedObjectBase.py mode change 100644 => 100755 panda/direct/distributed/DistributedObjectGlobal.py mode change 100644 => 100755 panda/direct/distributed/DistributedObjectGlobalAI.py mode change 100644 => 100755 panda/direct/distributed/DistributedObjectGlobalUD.py mode change 100644 => 100755 panda/direct/distributed/DistributedObjectOV.py mode change 100644 => 100755 panda/direct/distributed/DistributedObjectUD.py mode change 100644 => 100755 panda/direct/distributed/DistributedSmoothNode.py mode change 100644 => 100755 panda/direct/distributed/DistributedSmoothNodeAI.py mode change 100644 => 100755 panda/direct/distributed/DistributedSmoothNodeBase.py mode change 100644 => 100755 panda/direct/distributed/DoCollectionManager.py mode change 100644 => 100755 panda/direct/distributed/DoHierarchy.py mode change 100644 => 100755 panda/direct/distributed/DoInterestManager.py mode change 100644 => 100755 panda/direct/distributed/GridChild.py mode change 100644 => 100755 panda/direct/distributed/GridParent.py mode change 100644 => 100755 panda/direct/distributed/InterestWatcher.py mode change 100644 => 100755 panda/direct/distributed/MsgTypes.py mode change 100644 => 100755 panda/direct/distributed/MsgTypesCMU.py mode change 100644 => 100755 panda/direct/distributed/NetMessenger.py mode change 100644 => 100755 panda/direct/distributed/OldClientRepository.py mode change 100644 => 100755 panda/direct/distributed/ParentMgr.py mode change 100644 => 100755 panda/direct/distributed/PyDatagram.py mode change 100644 => 100755 panda/direct/distributed/PyDatagramIterator.py mode change 100644 => 100755 panda/direct/distributed/RelatedObjectMgr.py mode change 100644 => 100755 panda/direct/distributed/SampleObject.py mode change 100644 => 100755 panda/direct/distributed/ServerRepository.py mode change 100644 => 100755 panda/direct/distributed/StagedObject.py mode change 100644 => 100755 panda/direct/distributed/TimeManager.py mode change 100644 => 100755 panda/direct/distributed/TimeManagerAI.py mode change 100644 => 100755 panda/direct/distributed/__init__.py mode change 100644 => 100755 panda/direct/extensions/CInterval-extensions.py mode change 100644 => 100755 panda/direct/extensions/ConfigVariable-extensions.py mode change 100644 => 100755 panda/direct/extensions/ConfigVariableBool-extensions.py mode change 100644 => 100755 panda/direct/extensions/ConfigVariableDouble-extensions.py mode change 100644 => 100755 panda/direct/extensions/ConfigVariableFilename-extensions.py mode change 100644 => 100755 panda/direct/extensions/ConfigVariableInt-extensions.py mode change 100644 => 100755 panda/direct/extensions/ConfigVariableList-extensions.py mode change 100644 => 100755 panda/direct/extensions/ConfigVariableString-extensions.py mode change 100644 => 100755 panda/direct/extensions/HTTPChannel-extensions.py mode change 100644 => 100755 panda/direct/extensions/Mat3-extensions.py mode change 100644 => 100755 panda/direct/extensions/MouseWatcherRegion-extensions.py mode change 100644 => 100755 panda/direct/extensions/Node-extensions.py mode change 100644 => 100755 panda/direct/extensions/NodePath-extensions.py mode change 100644 => 100755 panda/direct/extensions/NurbsCurveEvaluator-extensions.py mode change 100644 => 100755 panda/direct/extensions/NurbsSurfaceEvaluator-extensions.py mode change 100644 => 100755 panda/direct/extensions/PandaSystem-extensions.py mode change 100644 => 100755 panda/direct/extensions/SpriteParticleRenderer-extensions.py mode change 100644 => 100755 panda/direct/extensions/VBase3-extensions.py mode change 100644 => 100755 panda/direct/extensions/VBase4-extensions.py mode change 100644 => 100755 panda/direct/extensions/__init__.py mode change 100644 => 100755 panda/direct/extensions_native/CInterval_extensions.py mode change 100644 => 100755 panda/direct/extensions_native/HTTPChannel_extensions.py mode change 100644 => 100755 panda/direct/extensions_native/Mat3_extensions.py mode change 100644 => 100755 panda/direct/extensions_native/NodePath_extensions.py mode change 100644 => 100755 panda/direct/extensions_native/VBase3_extensions.py mode change 100644 => 100755 panda/direct/extensions_native/VBase4_extensions.py mode change 100644 => 100755 panda/direct/extensions_native/__init__.py mode change 100644 => 100755 panda/direct/extensions_native/extension_native_helpers.py mode change 100644 => 100755 panda/direct/ffi/DoGenPyCode.py mode change 100644 => 100755 panda/direct/ffi/FFIConstants.py mode change 100644 => 100755 panda/direct/ffi/FFIEnvironment.py mode change 100644 => 100755 panda/direct/ffi/FFIExternalObject.py mode change 100644 => 100755 panda/direct/ffi/FFIInterrogateDatabase.py mode change 100644 => 100755 panda/direct/ffi/FFIOverload.py mode change 100644 => 100755 panda/direct/ffi/FFIRename.py mode change 100644 => 100755 panda/direct/ffi/FFISpecs.py mode change 100644 => 100755 panda/direct/ffi/FFITypes.py mode change 100644 => 100755 panda/direct/ffi/__init__.py mode change 100644 => 100755 panda/direct/ffi/jGenPyCode.py mode change 100644 => 100755 panda/direct/ffi/panda3d.py mode change 100644 => 100755 panda/direct/filter/CommonFilters.py mode change 100644 => 100755 panda/direct/filter/FilterManager.py mode change 100644 => 100755 panda/direct/filter/__init__.py mode change 100644 => 100755 panda/direct/filter/filter-bloomi.sha mode change 100644 => 100755 panda/direct/filter/filter-bloomx.sha mode change 100644 => 100755 panda/direct/filter/filter-bloomy.sha mode change 100644 => 100755 panda/direct/filter/filter-blurx.sha mode change 100644 => 100755 panda/direct/filter/filter-blury.sha mode change 100644 => 100755 panda/direct/filter/filter-copy.sha mode change 100644 => 100755 panda/direct/filter/filter-down4.sha mode change 100644 => 100755 panda/direct/filter/filter-ssao.sha mode change 100644 => 100755 panda/direct/fsm/ClassicFSM.py mode change 100644 => 100755 panda/direct/fsm/FSM.py mode change 100644 => 100755 panda/direct/fsm/FourState.py mode change 100644 => 100755 panda/direct/fsm/FourStateAI.py mode change 100644 => 100755 panda/direct/fsm/SampleFSM.py mode change 100644 => 100755 panda/direct/fsm/State.py mode change 100644 => 100755 panda/direct/fsm/StateData.py mode change 100644 => 100755 panda/direct/fsm/StatePush.py mode change 100644 => 100755 panda/direct/fsm/__init__.py mode change 100644 => 100755 panda/direct/gui/DirectButton.py mode change 100644 => 100755 panda/direct/gui/DirectCheckBox.py mode change 100644 => 100755 panda/direct/gui/DirectCheckButton.py mode change 100644 => 100755 panda/direct/gui/DirectDialog.py mode change 100644 => 100755 panda/direct/gui/DirectEntry.py mode change 100644 => 100755 panda/direct/gui/DirectEntryScroll.py mode change 100644 => 100755 panda/direct/gui/DirectFrame.py mode change 100644 => 100755 panda/direct/gui/DirectGui.py mode change 100644 => 100755 panda/direct/gui/DirectGuiBase.py mode change 100644 => 100755 panda/direct/gui/DirectGuiGlobals.py mode change 100644 => 100755 panda/direct/gui/DirectGuiTest.py mode change 100644 => 100755 panda/direct/gui/DirectLabel.py mode change 100644 => 100755 panda/direct/gui/DirectOptionMenu.py mode change 100644 => 100755 panda/direct/gui/DirectRadioButton.py mode change 100644 => 100755 panda/direct/gui/DirectScrollBar.py mode change 100644 => 100755 panda/direct/gui/DirectScrolledFrame.py mode change 100644 => 100755 panda/direct/gui/DirectScrolledList.py mode change 100644 => 100755 panda/direct/gui/DirectSlider.py mode change 100644 => 100755 panda/direct/gui/DirectWaitBar.py mode change 100644 => 100755 panda/direct/gui/OnscreenGeom.py mode change 100644 => 100755 panda/direct/gui/OnscreenImage.py mode change 100644 => 100755 panda/direct/gui/OnscreenText.py mode change 100644 => 100755 panda/direct/gui/__init__.py mode change 100644 => 100755 panda/direct/http/LandingPage.py mode change 100644 => 100755 panda/direct/http/LandingPageHTML.py mode change 100644 => 100755 panda/direct/http/WebRequest.py mode change 100644 => 100755 panda/direct/http/__init__.py mode change 100644 => 100755 panda/direct/http/linuxSystemInfo.py mode change 100644 => 100755 panda/direct/http/recaptcha.py mode change 100644 => 100755 panda/direct/http/webAIInspector.py mode change 100644 => 100755 panda/direct/http/webNotifyDebug.py mode change 100644 => 100755 panda/direct/http/windowsSystemInfo.py mode change 100644 => 100755 panda/direct/interval/ActorInterval.py mode change 100644 => 100755 panda/direct/interval/AnimControlInterval.py mode change 100644 => 100755 panda/direct/interval/FunctionInterval.py mode change 100644 => 100755 panda/direct/interval/IndirectInterval.py mode change 100644 => 100755 panda/direct/interval/Interval.py mode change 100644 => 100755 panda/direct/interval/IntervalGlobal.py mode change 100644 => 100755 panda/direct/interval/IntervalManager.py mode change 100644 => 100755 panda/direct/interval/IntervalTest.py mode change 100644 => 100755 panda/direct/interval/LerpBlendHelpers.py mode change 100644 => 100755 panda/direct/interval/LerpInterval.py mode change 100644 => 100755 panda/direct/interval/MetaInterval.py mode change 100644 => 100755 panda/direct/interval/MopathInterval.py mode change 100644 => 100755 panda/direct/interval/ParticleInterval.py mode change 100644 => 100755 panda/direct/interval/ProjectileInterval.py mode change 100644 => 100755 panda/direct/interval/ProjectileIntervalTest.py mode change 100644 => 100755 panda/direct/interval/SoundInterval.py mode change 100644 => 100755 panda/direct/interval/TestInterval.py mode change 100644 => 100755 panda/direct/interval/__init__.py mode change 100644 => 100755 panda/direct/leveleditor/ActionMgr.py mode change 100644 => 100755 panda/direct/leveleditor/AnimControlUI.py mode change 100644 => 100755 panda/direct/leveleditor/AnimGlobals.py mode change 100644 => 100755 panda/direct/leveleditor/AnimMgr.py mode change 100644 => 100755 panda/direct/leveleditor/AnimMgrBase.py mode change 100644 => 100755 panda/direct/leveleditor/CurveAnimUI.py mode change 100644 => 100755 panda/direct/leveleditor/CurveEditor.py mode change 100644 => 100755 panda/direct/leveleditor/FileMgr.py mode change 100644 => 100755 panda/direct/leveleditor/GraphEditorUI.py mode change 100644 => 100755 panda/direct/leveleditor/HotKeyUI.py mode change 100644 => 100755 panda/direct/leveleditor/LayerEditorUI.py mode change 100644 => 100755 panda/direct/leveleditor/LevelEditor.py mode change 100644 => 100755 panda/direct/leveleditor/LevelEditorBase.py mode change 100644 => 100755 panda/direct/leveleditor/LevelEditorStart.py mode change 100644 => 100755 panda/direct/leveleditor/LevelEditorUI.py mode change 100644 => 100755 panda/direct/leveleditor/LevelEditorUIBase.py mode change 100644 => 100755 panda/direct/leveleditor/LevelLoader.py mode change 100644 => 100755 panda/direct/leveleditor/LevelLoaderBase.py mode change 100644 => 100755 panda/direct/leveleditor/MayaConverter.py mode change 100644 => 100755 panda/direct/leveleditor/ObjectGlobals.py mode change 100644 => 100755 panda/direct/leveleditor/ObjectHandler.py mode change 100644 => 100755 panda/direct/leveleditor/ObjectMgr.py mode change 100644 => 100755 panda/direct/leveleditor/ObjectMgrBase.py mode change 100644 => 100755 panda/direct/leveleditor/ObjectPalette.py mode change 100644 => 100755 panda/direct/leveleditor/ObjectPaletteBase.py mode change 100644 => 100755 panda/direct/leveleditor/ObjectPaletteUI.py mode change 100644 => 100755 panda/direct/leveleditor/ObjectPropertyUI.py mode change 100644 => 100755 panda/direct/leveleditor/PaletteTreeCtrl.py mode change 100644 => 100755 panda/direct/leveleditor/ProtoObjs.py mode change 100644 => 100755 panda/direct/leveleditor/ProtoObjsUI.py mode change 100644 => 100755 panda/direct/leveleditor/ProtoPalette.py mode change 100644 => 100755 panda/direct/leveleditor/ProtoPaletteBase.py mode change 100644 => 100755 panda/direct/leveleditor/ProtoPaletteUI.py mode change 100644 => 100755 panda/direct/leveleditor/SceneGraphUI.py mode change 100644 => 100755 panda/direct/leveleditor/SceneGraphUIBase.py mode change 100644 => 100755 panda/direct/leveleditor/__init__.py mode change 100644 => 100755 panda/direct/leveleditor/testData.py mode change 100644 => 100755 panda/direct/motiontrail/MotionTrail.py mode change 100644 => 100755 panda/direct/motiontrail/__init__.py mode change 100644 => 100755 panda/direct/p3d/AppRunner.py mode change 100644 => 100755 panda/direct/p3d/DWBPackageInstaller.py mode change 100644 => 100755 panda/direct/p3d/DeploymentTools.py mode change 100644 => 100755 panda/direct/p3d/FileSpec.py mode change 100644 => 100755 panda/direct/p3d/HostInfo.py mode change 100644 => 100755 panda/direct/p3d/InstalledHostData.py mode change 100644 => 100755 panda/direct/p3d/InstalledPackageData.py mode change 100644 => 100755 panda/direct/p3d/JavaScript.py mode change 100644 => 100755 panda/direct/p3d/PackageInfo.py mode change 100644 => 100755 panda/direct/p3d/PackageInstaller.py mode change 100644 => 100755 panda/direct/p3d/PackageMerger.py mode change 100644 => 100755 panda/direct/p3d/Packager.py mode change 100644 => 100755 panda/direct/p3d/PatchMaker.py mode change 100644 => 100755 panda/direct/p3d/ScanDirectoryNode.py mode change 100644 => 100755 panda/direct/p3d/SeqValue.py mode change 100644 => 100755 panda/direct/p3d/__init__.py mode change 100644 => 100755 panda/direct/p3d/packp3d.py mode change 100644 => 100755 panda/direct/p3d/pdeploy.py mode change 100644 => 100755 panda/direct/p3d/pmerge.py mode change 100644 => 100755 panda/direct/p3d/ppackage.py mode change 100644 => 100755 panda/direct/p3d/ppatcher.py mode change 100644 => 100755 panda/direct/p3d/runp3d.py mode change 100644 => 100755 panda/direct/particles/ForceGroup.py mode change 100644 => 100755 panda/direct/particles/GlobalForceGroup.py mode change 100644 => 100755 panda/direct/particles/ParticleEffect.py mode change 100644 => 100755 panda/direct/particles/ParticleFloorTest.py mode change 100644 => 100755 panda/direct/particles/ParticleManagerGlobal.py mode change 100644 => 100755 panda/direct/particles/ParticleTest.py mode change 100644 => 100755 panda/direct/particles/Particles.py mode change 100644 => 100755 panda/direct/particles/SpriteParticleRendererExt.py mode change 100644 => 100755 panda/direct/particles/__init__.py mode change 100644 => 100755 panda/direct/physics/FallTest.py mode change 100644 => 100755 panda/direct/physics/RotationTest.py mode change 100644 => 100755 panda/direct/physics/__init__.py mode change 100644 => 100755 panda/direct/plugin/FileSpec.py mode change 100644 => 100755 panda/direct/plugin_installer/make_installer.py mode change 100644 => 100755 panda/direct/plugin_installer/make_xpi.py mode change 100644 => 100755 panda/direct/plugin_npapi/make_osx_bundle.py mode change 100644 => 100755 panda/direct/plugin_standalone/make_osx_bundle.py mode change 100644 => 100755 panda/direct/pyinst/Builder.py mode change 100644 => 100755 panda/direct/pyinst/__init__.py mode change 100644 => 100755 panda/direct/pyinst/archive.py mode change 100644 => 100755 panda/direct/pyinst/archive_rt.py mode change 100644 => 100755 panda/direct/pyinst/archivebuilder.py mode change 100644 => 100755 panda/direct/pyinst/bindepend.py mode change 100644 => 100755 panda/direct/pyinst/carchive.py mode change 100644 => 100755 panda/direct/pyinst/carchive_rt.py mode change 100644 => 100755 panda/direct/pyinst/finder.py mode change 100644 => 100755 panda/direct/pyinst/icon.py mode change 100644 => 100755 panda/direct/pyinst/imputil.py mode change 100644 => 100755 panda/direct/pyinst/installutils.py mode change 100644 => 100755 panda/direct/pyinst/ltoc.py mode change 100644 => 100755 panda/direct/pyinst/mkarchive.py mode change 100644 => 100755 panda/direct/pyinst/modulefinder.py mode change 100644 => 100755 panda/direct/pyinst/resource.py mode change 100644 => 100755 panda/direct/pyinst/tocfilter.py mode change 100644 => 100755 panda/direct/showbase/AppRunnerGlobal.py mode change 100644 => 100755 panda/direct/showbase/Audio3DManager.py mode change 100644 => 100755 panda/direct/showbase/BpDb.py mode change 100644 => 100755 panda/direct/showbase/BufferViewer.py mode change 100644 => 100755 panda/direct/showbase/BulletinBoard.py mode change 100644 => 100755 panda/direct/showbase/BulletinBoardGlobal.py mode change 100644 => 100755 panda/direct/showbase/BulletinBoardWatcher.py mode change 100644 => 100755 panda/direct/showbase/ContainerLeakDetector.py mode change 100644 => 100755 panda/direct/showbase/ContainerReport.py mode change 100644 => 100755 panda/direct/showbase/CountedResource.py mode change 100644 => 100755 panda/direct/showbase/DirectObject.py mode change 100644 => 100755 panda/direct/showbase/DistancePhasedNode.py mode change 100644 => 100755 panda/direct/showbase/ElementTree.py mode change 100644 => 100755 panda/direct/showbase/EventGroup.py mode change 100644 => 100755 panda/direct/showbase/EventManager.py mode change 100644 => 100755 panda/direct/showbase/EventManagerGlobal.py mode change 100644 => 100755 panda/direct/showbase/ExcelHandler.py mode change 100644 => 100755 panda/direct/showbase/ExceptionVarDump.py mode change 100644 => 100755 panda/direct/showbase/Factory.py mode change 100644 => 100755 panda/direct/showbase/FindCtaPaths.py mode change 100644 => 100755 panda/direct/showbase/Finder.py mode change 100644 => 100755 panda/direct/showbase/GarbageReport.py mode change 100644 => 100755 panda/direct/showbase/GarbageReportScheduler.py mode change 100644 => 100755 panda/direct/showbase/HTMLTree.py mode change 100644 => 100755 panda/direct/showbase/InputStateGlobal.py mode change 100644 => 100755 panda/direct/showbase/Job.py mode change 100644 => 100755 panda/direct/showbase/JobManager.py mode change 100644 => 100755 panda/direct/showbase/JobManagerGlobal.py mode change 100644 => 100755 panda/direct/showbase/LazySort.py mode change 100644 => 100755 panda/direct/showbase/LeakDetectors.py mode change 100644 => 100755 panda/direct/showbase/LerpBlendHelpers.py mode change 100644 => 100755 panda/direct/showbase/Loader.py mode change 100644 => 100755 panda/direct/showbase/Messenger.py mode change 100644 => 100755 panda/direct/showbase/MessengerGlobal.py mode change 100644 => 100755 panda/direct/showbase/MessengerLeakDetector.py mode change 100644 => 100755 panda/direct/showbase/MirrorDemo.py mode change 100644 => 100755 panda/direct/showbase/ObjectPool.py mode change 100644 => 100755 panda/direct/showbase/ObjectReport.py mode change 100644 => 100755 panda/direct/showbase/OnScreenDebug.py mode change 100644 => 100755 panda/direct/showbase/PandaObject.py mode change 100644 => 100755 panda/direct/showbase/PhasedObject.py mode change 100644 => 100755 panda/direct/showbase/PhysicsManagerGlobal.py mode change 100644 => 100755 panda/direct/showbase/Pool.py mode change 100644 => 100755 panda/direct/showbase/ProfileSession.py mode change 100644 => 100755 panda/direct/showbase/PythonUtil.py mode change 100644 => 100755 panda/direct/showbase/RandomNumGen.py mode change 100644 => 100755 panda/direct/showbase/ReferrerSearch.py mode change 100644 => 100755 panda/direct/showbase/SfxPlayer.py mode change 100644 => 100755 panda/direct/showbase/ShadowDemo.py mode change 100644 => 100755 panda/direct/showbase/ShadowPlacer.py mode change 100644 => 100755 panda/direct/showbase/ShowBase.py mode change 100644 => 100755 panda/direct/showbase/ShowBaseGlobal.py mode change 100644 => 100755 panda/direct/showbase/TaskThreaded.py mode change 100644 => 100755 panda/direct/showbase/ThreeUpShow.py mode change 100644 => 100755 panda/direct/showbase/TkGlobal.py mode change 100644 => 100755 panda/direct/showbase/Transitions.py mode change 100644 => 100755 panda/direct/showbase/VFSImporter.py mode change 100644 => 100755 panda/direct/showbase/VerboseImport.py mode change 100644 => 100755 panda/direct/showbase/WxGlobal.py mode change 100644 => 100755 panda/direct/showbase/__init__.py mode change 100644 => 100755 panda/direct/showbase/pandaSqueezeTool.py mode change 100644 => 100755 panda/direct/showbase/pandaSqueezer.py mode change 100644 => 100755 panda/direct/showutil/BuildGeometry.py mode change 100644 => 100755 panda/direct/showutil/Effects.py mode change 100644 => 100755 panda/direct/showutil/FreezeTool.py mode change 100644 => 100755 panda/direct/showutil/Rope.py mode change 100644 => 100755 panda/direct/showutil/TexMemWatcher.py mode change 100644 => 100755 panda/direct/showutil/TexViewer.py mode change 100644 => 100755 panda/direct/showutil/__init__.py mode change 100644 => 100755 panda/direct/showutil/pfreeze.py mode change 100644 => 100755 panda/direct/stdpy/__init__.py mode change 100644 => 100755 panda/direct/stdpy/file.py mode change 100644 => 100755 panda/direct/stdpy/glob.py mode change 100644 => 100755 panda/direct/stdpy/pickle.py mode change 100644 => 100755 panda/direct/stdpy/thread.py mode change 100644 => 100755 panda/direct/stdpy/threading.py mode change 100644 => 100755 panda/direct/stdpy/threading2.py mode change 100644 => 100755 panda/direct/task/FrameProfiler.py mode change 100644 => 100755 panda/direct/task/MiniTask.py mode change 100644 => 100755 panda/direct/task/Task.py mode change 100644 => 100755 panda/direct/task/TaskManagerGlobal.py mode change 100644 => 100755 panda/direct/task/TaskProfiler.py mode change 100644 => 100755 panda/direct/task/TaskTester.py mode change 100644 => 100755 panda/direct/task/Timer.py mode change 100644 => 100755 panda/direct/task/__init__.py mode change 100644 => 100755 panda/direct/test/ModelScreenShot.py mode change 100644 => 100755 panda/direct/test/ModelScreenShotGlobals.py mode change 100644 => 100755 panda/direct/test/__init__.py mode change 100644 => 100755 panda/direct/tkpanels/AnimPanel.py mode change 100644 => 100755 panda/direct/tkpanels/DirectSessionPanel.py mode change 100644 => 100755 panda/direct/tkpanels/FSMInspector.py mode change 100644 => 100755 panda/direct/tkpanels/Inspector.py mode change 100644 => 100755 panda/direct/tkpanels/MopathRecorder.py mode change 100644 => 100755 panda/direct/tkpanels/NotifyPanel.py mode change 100644 => 100755 panda/direct/tkpanels/ParticlePanel.py mode change 100644 => 100755 panda/direct/tkpanels/Placer.py mode change 100644 => 100755 panda/direct/tkpanels/TaskManagerPanel.py mode change 100644 => 100755 panda/direct/tkpanels/__init__.py mode change 100644 => 100755 panda/direct/tkwidgets/AppShell.py mode change 100644 => 100755 panda/direct/tkwidgets/Dial.py mode change 100644 => 100755 panda/direct/tkwidgets/EntryScale.py mode change 100644 => 100755 panda/direct/tkwidgets/Floater.py mode change 100644 => 100755 panda/direct/tkwidgets/MemoryExplorer.py mode change 100644 => 100755 panda/direct/tkwidgets/ProgressBar.py mode change 100644 => 100755 panda/direct/tkwidgets/SceneGraphExplorer.py mode change 100644 => 100755 panda/direct/tkwidgets/Slider.py mode change 100644 => 100755 panda/direct/tkwidgets/Tree.py mode change 100644 => 100755 panda/direct/tkwidgets/Valuator.py mode change 100644 => 100755 panda/direct/tkwidgets/VectorWidgets.py mode change 100644 => 100755 panda/direct/tkwidgets/WidgetPropertiesDialog.py mode change 100644 => 100755 panda/direct/tkwidgets/__init__.py mode change 100644 => 100755 panda/direct/wxwidgets/ViewPort.py mode change 100644 => 100755 panda/direct/wxwidgets/WxAppShell.py mode change 100644 => 100755 panda/direct/wxwidgets/WxPandaShell.py mode change 100644 => 100755 panda/direct/wxwidgets/WxPandaStart.py mode change 100644 => 100755 panda/direct/wxwidgets/WxPandaWindow.py mode change 100644 => 100755 panda/direct/wxwidgets/WxSlider.py mode change 100644 => 100755 panda/direct/wxwidgets/__init__.py mode change 100644 => 100755 panda/etc/Confauto.prc mode change 100644 => 100755 panda/etc/Config.prc mode change 100644 => 100755 panda/panda3d/__init__.py mode change 100644 => 100755 panda/panda3d/core.pyd mode change 100644 => 100755 panda/panda3d/direct.pyd mode change 100644 => 100755 panda/panda3d/egg.pyd mode change 100644 => 100755 panda/panda3d/fx.pyd mode change 100644 => 100755 panda/panda3d/ode.pyd mode change 100644 => 100755 panda/panda3d/physics.pyd mode change 100644 => 100755 panda/panda3d/skel.pyd mode change 100644 => 100755 panda/pandac/PandaModules.py mode change 100644 => 100755 panda/pandac/__init__.py mode change 100644 => 100755 panda/pandac/extension_native_helpers.py mode change 100644 => 100755 panda/pandac/input/libp3audio.in mode change 100644 => 100755 panda/pandac/input/libp3chan.in mode change 100644 => 100755 panda/pandac/input/libp3char.in mode change 100644 => 100755 panda/pandac/input/libp3collide.in mode change 100644 => 100755 panda/pandac/input/libp3cull.in mode change 100644 => 100755 panda/pandac/input/libp3dcparser.in mode change 100644 => 100755 panda/pandac/input/libp3deadrec.in mode change 100644 => 100755 panda/pandac/input/libp3device.in mode change 100644 => 100755 panda/pandac/input/libp3dgraph.in mode change 100644 => 100755 panda/pandac/input/libp3display.in mode change 100644 => 100755 panda/pandac/input/libp3distort.in mode change 100644 => 100755 panda/pandac/input/libp3distributed.in mode change 100644 => 100755 panda/pandac/input/libp3downloader.in mode change 100644 => 100755 panda/pandac/input/libp3dxml.in mode change 100644 => 100755 panda/pandac/input/libp3egg.in mode change 100644 => 100755 panda/pandac/input/libp3egg2pg.in mode change 100644 => 100755 panda/pandac/input/libp3event.in mode change 100644 => 100755 panda/pandac/input/libp3express.in mode change 100644 => 100755 panda/pandac/input/libp3gobj.in mode change 100644 => 100755 panda/pandac/input/libp3grutil.in mode change 100644 => 100755 panda/pandac/input/libp3gsgbase.in mode change 100644 => 100755 panda/pandac/input/libp3interval.in mode change 100644 => 100755 panda/pandac/input/libp3linmath.in mode change 100644 => 100755 panda/pandac/input/libp3mathutil.in mode change 100644 => 100755 panda/pandac/input/libp3movies.in mode change 100644 => 100755 panda/pandac/input/libp3nativenet.in mode change 100644 => 100755 panda/pandac/input/libp3net.in mode change 100644 => 100755 panda/pandac/input/libp3parametrics.in mode change 100644 => 100755 panda/pandac/input/libp3particlesystem.in mode change 100644 => 100755 panda/pandac/input/libp3pgraph.in mode change 100644 => 100755 panda/pandac/input/libp3pgraphnodes.in mode change 100644 => 100755 panda/pandac/input/libp3pgui.in mode change 100644 => 100755 panda/pandac/input/libp3physics.in mode change 100644 => 100755 panda/pandac/input/libp3pipeline.in mode change 100644 => 100755 panda/pandac/input/libp3pnmimage.in mode change 100644 => 100755 panda/pandac/input/libp3pnmtext.in mode change 100644 => 100755 panda/pandac/input/libp3pstatclient.in mode change 100644 => 100755 panda/pandac/input/libp3putil.in mode change 100644 => 100755 panda/pandac/input/libp3recorder.in mode change 100644 => 100755 panda/pandac/input/libp3showbase.in mode change 100644 => 100755 panda/pandac/input/libp3skel.in mode change 100644 => 100755 panda/pandac/input/libp3text.in mode change 100644 => 100755 panda/pandac/input/libp3tform.in mode change 100644 => 100755 panda/pandac/input/libpandaode.in mode change 100644 => 100755 panda/pandac/panda3dCoreModules.py mode change 100644 => 100755 panda/pandac/panda3dDirectModules.py mode change 100644 => 100755 panda/pandac/panda3dEggModules.py mode change 100644 => 100755 panda/pandac/panda3dFxModules.py mode change 100644 => 100755 panda/pandac/panda3dOdeModules.py mode change 100644 => 100755 panda/pandac/panda3dPhysicsModules.py mode change 100644 => 100755 panda/pandac/panda3dSkelModules.py mode change 100644 => 100755 panda/python/DLLs/__init__.py mode change 100644 => 100755 panda/python/DLLs/_bsddb.pyd mode change 100644 => 100755 panda/python/DLLs/_ctypes.pyd mode change 100644 => 100755 panda/python/DLLs/_ctypes_test.pyd mode change 100644 => 100755 panda/python/DLLs/_elementtree.pyd mode change 100644 => 100755 panda/python/DLLs/_hashlib.pyd mode change 100644 => 100755 panda/python/DLLs/_msi.pyd mode change 100644 => 100755 panda/python/DLLs/_multiprocessing.pyd mode change 100644 => 100755 panda/python/DLLs/_socket.pyd mode change 100644 => 100755 panda/python/DLLs/_sqlite3.pyd mode change 100644 => 100755 panda/python/DLLs/_ssl.pyd mode change 100644 => 100755 panda/python/DLLs/_testcapi.pyd mode change 100644 => 100755 panda/python/DLLs/_tkinter.pyd mode change 100644 => 100755 panda/python/DLLs/bz2.pyd mode change 100644 => 100755 panda/python/DLLs/py.ico mode change 100644 => 100755 panda/python/DLLs/pyc.ico mode change 100644 => 100755 panda/python/DLLs/pyexpat.pyd mode change 100644 => 100755 panda/python/DLLs/select.pyd mode change 100644 => 100755 panda/python/DLLs/sqlite3.dll mode change 100644 => 100755 panda/python/DLLs/tcl85.dll mode change 100644 => 100755 panda/python/DLLs/tclpip85.dll mode change 100644 => 100755 panda/python/DLLs/tk85.dll mode change 100644 => 100755 panda/python/DLLs/unicodedata.pyd mode change 100644 => 100755 panda/python/DLLs/winsound.pyd mode change 100644 => 100755 panda/python/Lib/BaseHTTPServer.py mode change 100644 => 100755 panda/python/Lib/Bastion.py mode change 100644 => 100755 panda/python/Lib/CGIHTTPServer.py mode change 100644 => 100755 panda/python/Lib/ConfigParser.py mode change 100644 => 100755 panda/python/Lib/Cookie.py mode change 100644 => 100755 panda/python/Lib/DocXMLRPCServer.py mode change 100644 => 100755 panda/python/Lib/HTMLParser.py mode change 100644 => 100755 panda/python/Lib/JOD/JamoDrum.py mode change 100644 => 100755 panda/python/Lib/JOD/JamoDrumNodePath.py mode change 100644 => 100755 panda/python/Lib/JOD/NewJamoDrum.py mode change 100644 => 100755 panda/python/Lib/JOD/__init__.py mode change 100644 => 100755 panda/python/Lib/JOD/jod_mask.png mode change 100644 => 100755 panda/python/Lib/MimeWriter.py mode change 100644 => 100755 panda/python/Lib/Queue.py mode change 100644 => 100755 panda/python/Lib/SimpleHTTPServer.py mode change 100644 => 100755 panda/python/Lib/SimpleXMLRPCServer.py mode change 100644 => 100755 panda/python/Lib/SocketServer.py mode change 100644 => 100755 panda/python/Lib/StringIO.py mode change 100644 => 100755 panda/python/Lib/UserDict.py mode change 100644 => 100755 panda/python/Lib/UserList.py mode change 100644 => 100755 panda/python/Lib/UserString.py mode change 100644 => 100755 panda/python/Lib/_LWPCookieJar.py mode change 100644 => 100755 panda/python/Lib/_MozillaCookieJar.py mode change 100644 => 100755 panda/python/Lib/__future__.py mode change 100644 => 100755 panda/python/Lib/__init__.py mode change 100644 => 100755 panda/python/Lib/__phello__.foo.py mode change 100644 => 100755 panda/python/Lib/_abcoll.py mode change 100644 => 100755 panda/python/Lib/_osx_support.py mode change 100644 => 100755 panda/python/Lib/_pyio.py mode change 100644 => 100755 panda/python/Lib/_strptime.py mode change 100644 => 100755 panda/python/Lib/_threading_local.py mode change 100644 => 100755 panda/python/Lib/_weakrefset.py mode change 100644 => 100755 panda/python/Lib/abc.py mode change 100644 => 100755 panda/python/Lib/aifc.py mode change 100644 => 100755 panda/python/Lib/antigravity.py mode change 100644 => 100755 panda/python/Lib/anydbm.py mode change 100644 => 100755 panda/python/Lib/argparse.py mode change 100644 => 100755 panda/python/Lib/ast.py mode change 100644 => 100755 panda/python/Lib/asynchat.py mode change 100644 => 100755 panda/python/Lib/asyncore.py mode change 100644 => 100755 panda/python/Lib/atexit.py mode change 100644 => 100755 panda/python/Lib/audiodev.py mode change 100644 => 100755 panda/python/Lib/base64.py mode change 100644 => 100755 panda/python/Lib/bdb.py mode change 100644 => 100755 panda/python/Lib/binhex.py mode change 100644 => 100755 panda/python/Lib/bisect.py mode change 100644 => 100755 panda/python/Lib/bsddb/__init__.py mode change 100644 => 100755 panda/python/Lib/bsddb/db.py mode change 100644 => 100755 panda/python/Lib/bsddb/dbobj.py mode change 100644 => 100755 panda/python/Lib/bsddb/dbrecio.py mode change 100644 => 100755 panda/python/Lib/bsddb/dbshelve.py mode change 100644 => 100755 panda/python/Lib/bsddb/dbtables.py mode change 100644 => 100755 panda/python/Lib/bsddb/dbutils.py mode change 100644 => 100755 panda/python/Lib/cProfile.py mode change 100644 => 100755 panda/python/Lib/calendar.py mode change 100644 => 100755 panda/python/Lib/cgi.py mode change 100644 => 100755 panda/python/Lib/cgitb.py mode change 100644 => 100755 panda/python/Lib/chunk.py mode change 100644 => 100755 panda/python/Lib/cmd.py mode change 100644 => 100755 panda/python/Lib/code.py mode change 100644 => 100755 panda/python/Lib/codecs.py mode change 100644 => 100755 panda/python/Lib/codeop.py mode change 100644 => 100755 panda/python/Lib/collections.py mode change 100644 => 100755 panda/python/Lib/colorsys.py mode change 100644 => 100755 panda/python/Lib/commands.py mode change 100644 => 100755 panda/python/Lib/compileall.py mode change 100644 => 100755 panda/python/Lib/compiler/__init__.py mode change 100644 => 100755 panda/python/Lib/compiler/ast.py mode change 100644 => 100755 panda/python/Lib/compiler/consts.py mode change 100644 => 100755 panda/python/Lib/compiler/future.py mode change 100644 => 100755 panda/python/Lib/compiler/misc.py mode change 100644 => 100755 panda/python/Lib/compiler/pyassem.py mode change 100644 => 100755 panda/python/Lib/compiler/pycodegen.py mode change 100644 => 100755 panda/python/Lib/compiler/symbols.py mode change 100644 => 100755 panda/python/Lib/compiler/syntax.py mode change 100644 => 100755 panda/python/Lib/compiler/transformer.py mode change 100644 => 100755 panda/python/Lib/compiler/visitor.py mode change 100644 => 100755 panda/python/Lib/contextlib.py mode change 100644 => 100755 panda/python/Lib/cookielib.py mode change 100644 => 100755 panda/python/Lib/copy.py mode change 100644 => 100755 panda/python/Lib/copy_reg.py mode change 100644 => 100755 panda/python/Lib/csv.py mode change 100644 => 100755 panda/python/Lib/ctypes/__init__.py mode change 100644 => 100755 panda/python/Lib/ctypes/_endian.py mode change 100644 => 100755 panda/python/Lib/ctypes/macholib/__init__.py mode change 100644 => 100755 panda/python/Lib/ctypes/macholib/dyld.py mode change 100644 => 100755 panda/python/Lib/ctypes/macholib/dylib.py mode change 100644 => 100755 panda/python/Lib/ctypes/macholib/framework.py mode change 100644 => 100755 panda/python/Lib/ctypes/util.py mode change 100644 => 100755 panda/python/Lib/ctypes/wintypes.py mode change 100644 => 100755 panda/python/Lib/curses/__init__.py mode change 100644 => 100755 panda/python/Lib/curses/ascii.py mode change 100644 => 100755 panda/python/Lib/curses/has_key.py mode change 100644 => 100755 panda/python/Lib/curses/panel.py mode change 100644 => 100755 panda/python/Lib/curses/textpad.py mode change 100644 => 100755 panda/python/Lib/curses/wrapper.py mode change 100644 => 100755 panda/python/Lib/dbhash.py mode change 100644 => 100755 panda/python/Lib/decimal.py mode change 100644 => 100755 panda/python/Lib/difflib.py mode change 100644 => 100755 panda/python/Lib/dircache.py mode change 100644 => 100755 panda/python/Lib/dis.py mode change 100644 => 100755 panda/python/Lib/distutils/__init__.py mode change 100644 => 100755 panda/python/Lib/distutils/archive_util.py mode change 100644 => 100755 panda/python/Lib/distutils/bcppcompiler.py mode change 100644 => 100755 panda/python/Lib/distutils/ccompiler.py mode change 100644 => 100755 panda/python/Lib/distutils/cmd.py mode change 100644 => 100755 panda/python/Lib/distutils/command/__init__.py mode change 100644 => 100755 panda/python/Lib/distutils/command/bdist.py mode change 100644 => 100755 panda/python/Lib/distutils/command/bdist_dumb.py mode change 100644 => 100755 panda/python/Lib/distutils/command/bdist_msi.py mode change 100644 => 100755 panda/python/Lib/distutils/command/bdist_rpm.py mode change 100644 => 100755 panda/python/Lib/distutils/command/bdist_wininst.py mode change 100644 => 100755 panda/python/Lib/distutils/command/build.py mode change 100644 => 100755 panda/python/Lib/distutils/command/build_clib.py mode change 100644 => 100755 panda/python/Lib/distutils/command/build_ext.py mode change 100644 => 100755 panda/python/Lib/distutils/command/build_py.py mode change 100644 => 100755 panda/python/Lib/distutils/command/build_scripts.py mode change 100644 => 100755 panda/python/Lib/distutils/command/check.py mode change 100644 => 100755 panda/python/Lib/distutils/command/clean.py mode change 100644 => 100755 panda/python/Lib/distutils/command/config.py mode change 100644 => 100755 panda/python/Lib/distutils/command/install.py mode change 100644 => 100755 panda/python/Lib/distutils/command/install_data.py mode change 100644 => 100755 panda/python/Lib/distutils/command/install_egg_info.py mode change 100644 => 100755 panda/python/Lib/distutils/command/install_headers.py mode change 100644 => 100755 panda/python/Lib/distutils/command/install_lib.py mode change 100644 => 100755 panda/python/Lib/distutils/command/install_scripts.py mode change 100644 => 100755 panda/python/Lib/distutils/command/register.py mode change 100644 => 100755 panda/python/Lib/distutils/command/sdist.py mode change 100644 => 100755 panda/python/Lib/distutils/command/upload.py mode change 100644 => 100755 panda/python/Lib/distutils/command/wininst-6.0.exe mode change 100644 => 100755 panda/python/Lib/distutils/command/wininst-7.1.exe mode change 100644 => 100755 panda/python/Lib/distutils/command/wininst-8.0.exe mode change 100644 => 100755 panda/python/Lib/distutils/command/wininst-9.0-amd64.exe mode change 100644 => 100755 panda/python/Lib/distutils/command/wininst-9.0.exe mode change 100644 => 100755 panda/python/Lib/distutils/config.py mode change 100644 => 100755 panda/python/Lib/distutils/core.py mode change 100644 => 100755 panda/python/Lib/distutils/cygwinccompiler.py mode change 100644 => 100755 panda/python/Lib/distutils/debug.py mode change 100644 => 100755 panda/python/Lib/distutils/dep_util.py mode change 100644 => 100755 panda/python/Lib/distutils/dir_util.py mode change 100644 => 100755 panda/python/Lib/distutils/dist.py mode change 100644 => 100755 panda/python/Lib/distutils/emxccompiler.py mode change 100644 => 100755 panda/python/Lib/distutils/errors.py mode change 100644 => 100755 panda/python/Lib/distutils/extension.py mode change 100644 => 100755 panda/python/Lib/distutils/fancy_getopt.py mode change 100644 => 100755 panda/python/Lib/distutils/file_util.py mode change 100644 => 100755 panda/python/Lib/distutils/filelist.py mode change 100644 => 100755 panda/python/Lib/distutils/log.py mode change 100644 => 100755 panda/python/Lib/distutils/msvc9compiler.py mode change 100644 => 100755 panda/python/Lib/distutils/msvccompiler.py mode change 100644 => 100755 panda/python/Lib/distutils/spawn.py mode change 100644 => 100755 panda/python/Lib/distutils/sysconfig.py mode change 100644 => 100755 panda/python/Lib/distutils/text_file.py mode change 100644 => 100755 panda/python/Lib/distutils/unixccompiler.py mode change 100644 => 100755 panda/python/Lib/distutils/util.py mode change 100644 => 100755 panda/python/Lib/distutils/version.py mode change 100644 => 100755 panda/python/Lib/distutils/versionpredicate.py mode change 100644 => 100755 panda/python/Lib/doctest.py mode change 100644 => 100755 panda/python/Lib/dumbdbm.py mode change 100644 => 100755 panda/python/Lib/dummy_thread.py mode change 100644 => 100755 panda/python/Lib/dummy_threading.py mode change 100644 => 100755 panda/python/Lib/email/__init__.py mode change 100644 => 100755 panda/python/Lib/email/_parseaddr.py mode change 100644 => 100755 panda/python/Lib/email/base64mime.py mode change 100644 => 100755 panda/python/Lib/email/charset.py mode change 100644 => 100755 panda/python/Lib/email/encoders.py mode change 100644 => 100755 panda/python/Lib/email/errors.py mode change 100644 => 100755 panda/python/Lib/email/feedparser.py mode change 100644 => 100755 panda/python/Lib/email/generator.py mode change 100644 => 100755 panda/python/Lib/email/header.py mode change 100644 => 100755 panda/python/Lib/email/iterators.py mode change 100644 => 100755 panda/python/Lib/email/message.py mode change 100644 => 100755 panda/python/Lib/email/mime/__init__.py mode change 100644 => 100755 panda/python/Lib/email/mime/application.py mode change 100644 => 100755 panda/python/Lib/email/mime/audio.py mode change 100644 => 100755 panda/python/Lib/email/mime/base.py mode change 100644 => 100755 panda/python/Lib/email/mime/image.py mode change 100644 => 100755 panda/python/Lib/email/mime/message.py mode change 100644 => 100755 panda/python/Lib/email/mime/multipart.py mode change 100644 => 100755 panda/python/Lib/email/mime/nonmultipart.py mode change 100644 => 100755 panda/python/Lib/email/mime/text.py mode change 100644 => 100755 panda/python/Lib/email/parser.py mode change 100644 => 100755 panda/python/Lib/email/quoprimime.py mode change 100644 => 100755 panda/python/Lib/email/utils.py mode change 100644 => 100755 panda/python/Lib/encodings/__init__.py mode change 100644 => 100755 panda/python/Lib/encodings/aliases.py mode change 100644 => 100755 panda/python/Lib/encodings/ascii.py mode change 100644 => 100755 panda/python/Lib/encodings/base64_codec.py mode change 100644 => 100755 panda/python/Lib/encodings/big5.py mode change 100644 => 100755 panda/python/Lib/encodings/big5hkscs.py mode change 100644 => 100755 panda/python/Lib/encodings/bz2_codec.py mode change 100644 => 100755 panda/python/Lib/encodings/charmap.py mode change 100644 => 100755 panda/python/Lib/encodings/cp037.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1006.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1026.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1140.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1250.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1251.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1252.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1253.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1254.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1255.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1256.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1257.py mode change 100644 => 100755 panda/python/Lib/encodings/cp1258.py mode change 100644 => 100755 panda/python/Lib/encodings/cp424.py mode change 100644 => 100755 panda/python/Lib/encodings/cp437.py mode change 100644 => 100755 panda/python/Lib/encodings/cp500.py mode change 100644 => 100755 panda/python/Lib/encodings/cp720.py mode change 100644 => 100755 panda/python/Lib/encodings/cp737.py mode change 100644 => 100755 panda/python/Lib/encodings/cp775.py mode change 100644 => 100755 panda/python/Lib/encodings/cp850.py mode change 100644 => 100755 panda/python/Lib/encodings/cp852.py mode change 100644 => 100755 panda/python/Lib/encodings/cp855.py mode change 100644 => 100755 panda/python/Lib/encodings/cp856.py mode change 100644 => 100755 panda/python/Lib/encodings/cp857.py mode change 100644 => 100755 panda/python/Lib/encodings/cp858.py mode change 100644 => 100755 panda/python/Lib/encodings/cp860.py mode change 100644 => 100755 panda/python/Lib/encodings/cp861.py mode change 100644 => 100755 panda/python/Lib/encodings/cp862.py mode change 100644 => 100755 panda/python/Lib/encodings/cp863.py mode change 100644 => 100755 panda/python/Lib/encodings/cp864.py mode change 100644 => 100755 panda/python/Lib/encodings/cp865.py mode change 100644 => 100755 panda/python/Lib/encodings/cp866.py mode change 100644 => 100755 panda/python/Lib/encodings/cp869.py mode change 100644 => 100755 panda/python/Lib/encodings/cp874.py mode change 100644 => 100755 panda/python/Lib/encodings/cp875.py mode change 100644 => 100755 panda/python/Lib/encodings/cp932.py mode change 100644 => 100755 panda/python/Lib/encodings/cp949.py mode change 100644 => 100755 panda/python/Lib/encodings/cp950.py mode change 100644 => 100755 panda/python/Lib/encodings/euc_jis_2004.py mode change 100644 => 100755 panda/python/Lib/encodings/euc_jisx0213.py mode change 100644 => 100755 panda/python/Lib/encodings/euc_jp.py mode change 100644 => 100755 panda/python/Lib/encodings/euc_kr.py mode change 100644 => 100755 panda/python/Lib/encodings/gb18030.py mode change 100644 => 100755 panda/python/Lib/encodings/gb2312.py mode change 100644 => 100755 panda/python/Lib/encodings/gbk.py mode change 100644 => 100755 panda/python/Lib/encodings/hex_codec.py mode change 100644 => 100755 panda/python/Lib/encodings/hp_roman8.py mode change 100644 => 100755 panda/python/Lib/encodings/hz.py mode change 100644 => 100755 panda/python/Lib/encodings/idna.py mode change 100644 => 100755 panda/python/Lib/encodings/iso2022_jp.py mode change 100644 => 100755 panda/python/Lib/encodings/iso2022_jp_1.py mode change 100644 => 100755 panda/python/Lib/encodings/iso2022_jp_2.py mode change 100644 => 100755 panda/python/Lib/encodings/iso2022_jp_2004.py mode change 100644 => 100755 panda/python/Lib/encodings/iso2022_jp_3.py mode change 100644 => 100755 panda/python/Lib/encodings/iso2022_jp_ext.py mode change 100644 => 100755 panda/python/Lib/encodings/iso2022_kr.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_1.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_10.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_11.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_13.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_14.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_15.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_16.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_2.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_3.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_4.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_5.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_6.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_7.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_8.py mode change 100644 => 100755 panda/python/Lib/encodings/iso8859_9.py mode change 100644 => 100755 panda/python/Lib/encodings/johab.py mode change 100644 => 100755 panda/python/Lib/encodings/koi8_r.py mode change 100644 => 100755 panda/python/Lib/encodings/koi8_u.py mode change 100644 => 100755 panda/python/Lib/encodings/latin_1.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_arabic.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_centeuro.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_croatian.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_cyrillic.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_farsi.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_greek.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_iceland.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_latin2.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_roman.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_romanian.py mode change 100644 => 100755 panda/python/Lib/encodings/mac_turkish.py mode change 100644 => 100755 panda/python/Lib/encodings/mbcs.py mode change 100644 => 100755 panda/python/Lib/encodings/palmos.py mode change 100644 => 100755 panda/python/Lib/encodings/ptcp154.py mode change 100644 => 100755 panda/python/Lib/encodings/punycode.py mode change 100644 => 100755 panda/python/Lib/encodings/quopri_codec.py mode change 100644 => 100755 panda/python/Lib/encodings/raw_unicode_escape.py mode change 100644 => 100755 panda/python/Lib/encodings/rot_13.py mode change 100644 => 100755 panda/python/Lib/encodings/shift_jis.py mode change 100644 => 100755 panda/python/Lib/encodings/shift_jis_2004.py mode change 100644 => 100755 panda/python/Lib/encodings/shift_jisx0213.py mode change 100644 => 100755 panda/python/Lib/encodings/string_escape.py mode change 100644 => 100755 panda/python/Lib/encodings/tis_620.py mode change 100644 => 100755 panda/python/Lib/encodings/undefined.py mode change 100644 => 100755 panda/python/Lib/encodings/unicode_escape.py mode change 100644 => 100755 panda/python/Lib/encodings/unicode_internal.py mode change 100644 => 100755 panda/python/Lib/encodings/utf_16.py mode change 100644 => 100755 panda/python/Lib/encodings/utf_16_be.py mode change 100644 => 100755 panda/python/Lib/encodings/utf_16_le.py mode change 100644 => 100755 panda/python/Lib/encodings/utf_32.py mode change 100644 => 100755 panda/python/Lib/encodings/utf_32_be.py mode change 100644 => 100755 panda/python/Lib/encodings/utf_32_le.py mode change 100644 => 100755 panda/python/Lib/encodings/utf_7.py mode change 100644 => 100755 panda/python/Lib/encodings/utf_8.py mode change 100644 => 100755 panda/python/Lib/encodings/utf_8_sig.py mode change 100644 => 100755 panda/python/Lib/encodings/uu_codec.py mode change 100644 => 100755 panda/python/Lib/encodings/zlib_codec.py mode change 100644 => 100755 panda/python/Lib/filecmp.py mode change 100644 => 100755 panda/python/Lib/fileinput.py mode change 100644 => 100755 panda/python/Lib/fnmatch.py mode change 100644 => 100755 panda/python/Lib/formatter.py mode change 100644 => 100755 panda/python/Lib/fpformat.py mode change 100644 => 100755 panda/python/Lib/fractions.py mode change 100644 => 100755 panda/python/Lib/ftplib.py mode change 100644 => 100755 panda/python/Lib/functools.py mode change 100644 => 100755 panda/python/Lib/genericpath.py mode change 100644 => 100755 panda/python/Lib/getopt.py mode change 100644 => 100755 panda/python/Lib/getpass.py mode change 100644 => 100755 panda/python/Lib/gettext.py mode change 100644 => 100755 panda/python/Lib/glob.py mode change 100644 => 100755 panda/python/Lib/gzip.py mode change 100644 => 100755 panda/python/Lib/hashlib.py mode change 100644 => 100755 panda/python/Lib/heapq.py mode change 100644 => 100755 panda/python/Lib/hmac.py mode change 100644 => 100755 panda/python/Lib/hotshot/__init__.py mode change 100644 => 100755 panda/python/Lib/hotshot/log.py mode change 100644 => 100755 panda/python/Lib/hotshot/stats.py mode change 100644 => 100755 panda/python/Lib/hotshot/stones.py mode change 100644 => 100755 panda/python/Lib/htmlentitydefs.py mode change 100644 => 100755 panda/python/Lib/htmllib.py mode change 100644 => 100755 panda/python/Lib/httplib.py mode change 100644 => 100755 panda/python/Lib/idlelib/AutoComplete.py mode change 100644 => 100755 panda/python/Lib/idlelib/AutoCompleteWindow.py mode change 100644 => 100755 panda/python/Lib/idlelib/AutoExpand.py mode change 100644 => 100755 panda/python/Lib/idlelib/Bindings.py mode change 100644 => 100755 panda/python/Lib/idlelib/CREDITS.txt mode change 100644 => 100755 panda/python/Lib/idlelib/CallTipWindow.py mode change 100644 => 100755 panda/python/Lib/idlelib/CallTips.py mode change 100644 => 100755 panda/python/Lib/idlelib/ClassBrowser.py mode change 100644 => 100755 panda/python/Lib/idlelib/CodeContext.py mode change 100644 => 100755 panda/python/Lib/idlelib/ColorDelegator.py mode change 100644 => 100755 panda/python/Lib/idlelib/Debugger.py mode change 100644 => 100755 panda/python/Lib/idlelib/Delegator.py mode change 100644 => 100755 panda/python/Lib/idlelib/EditorWindow.py mode change 100644 => 100755 panda/python/Lib/idlelib/FileList.py mode change 100644 => 100755 panda/python/Lib/idlelib/FormatParagraph.py mode change 100644 => 100755 panda/python/Lib/idlelib/GrepDialog.py mode change 100644 => 100755 panda/python/Lib/idlelib/HISTORY.txt mode change 100644 => 100755 panda/python/Lib/idlelib/HyperParser.py mode change 100644 => 100755 panda/python/Lib/idlelib/IOBinding.py mode change 100644 => 100755 panda/python/Lib/idlelib/Icons/folder.gif mode change 100644 => 100755 panda/python/Lib/idlelib/Icons/idle.icns mode change 100644 => 100755 panda/python/Lib/idlelib/Icons/minusnode.gif mode change 100644 => 100755 panda/python/Lib/idlelib/Icons/openfolder.gif mode change 100644 => 100755 panda/python/Lib/idlelib/Icons/plusnode.gif mode change 100644 => 100755 panda/python/Lib/idlelib/Icons/python.gif mode change 100644 => 100755 panda/python/Lib/idlelib/Icons/tk.gif mode change 100644 => 100755 panda/python/Lib/idlelib/IdleHistory.py mode change 100644 => 100755 panda/python/Lib/idlelib/MultiCall.py mode change 100644 => 100755 panda/python/Lib/idlelib/MultiStatusBar.py mode change 100644 => 100755 panda/python/Lib/idlelib/NEWS.txt mode change 100644 => 100755 panda/python/Lib/idlelib/ObjectBrowser.py mode change 100644 => 100755 panda/python/Lib/idlelib/OutputWindow.py mode change 100644 => 100755 panda/python/Lib/idlelib/ParenMatch.py mode change 100644 => 100755 panda/python/Lib/idlelib/PathBrowser.py mode change 100644 => 100755 panda/python/Lib/idlelib/Percolator.py mode change 100644 => 100755 panda/python/Lib/idlelib/PyParse.py mode change 100644 => 100755 panda/python/Lib/idlelib/PyShell.py mode change 100644 => 100755 panda/python/Lib/idlelib/README.txt mode change 100644 => 100755 panda/python/Lib/idlelib/RemoteDebugger.py mode change 100644 => 100755 panda/python/Lib/idlelib/RemoteObjectBrowser.py mode change 100644 => 100755 panda/python/Lib/idlelib/ReplaceDialog.py mode change 100644 => 100755 panda/python/Lib/idlelib/RstripExtension.py mode change 100644 => 100755 panda/python/Lib/idlelib/ScriptBinding.py mode change 100644 => 100755 panda/python/Lib/idlelib/ScrolledList.py mode change 100644 => 100755 panda/python/Lib/idlelib/SearchDialog.py mode change 100644 => 100755 panda/python/Lib/idlelib/SearchDialogBase.py mode change 100644 => 100755 panda/python/Lib/idlelib/SearchEngine.py mode change 100644 => 100755 panda/python/Lib/idlelib/StackViewer.py mode change 100644 => 100755 panda/python/Lib/idlelib/TODO.txt mode change 100644 => 100755 panda/python/Lib/idlelib/ToolTip.py mode change 100644 => 100755 panda/python/Lib/idlelib/TreeWidget.py mode change 100644 => 100755 panda/python/Lib/idlelib/UndoDelegator.py mode change 100644 => 100755 panda/python/Lib/idlelib/WidgetRedirector.py mode change 100644 => 100755 panda/python/Lib/idlelib/WindowList.py mode change 100644 => 100755 panda/python/Lib/idlelib/ZoomHeight.py mode change 100644 => 100755 panda/python/Lib/idlelib/__init__.py mode change 100644 => 100755 panda/python/Lib/idlelib/aboutDialog.py mode change 100644 => 100755 panda/python/Lib/idlelib/config-extensions.def mode change 100644 => 100755 panda/python/Lib/idlelib/config-highlight.def mode change 100644 => 100755 panda/python/Lib/idlelib/config-keys.def mode change 100644 => 100755 panda/python/Lib/idlelib/config-main.def mode change 100644 => 100755 panda/python/Lib/idlelib/configDialog.py mode change 100644 => 100755 panda/python/Lib/idlelib/configHandler.py mode change 100644 => 100755 panda/python/Lib/idlelib/configHelpSourceEdit.py mode change 100644 => 100755 panda/python/Lib/idlelib/configSectionNameDialog.py mode change 100644 => 100755 panda/python/Lib/idlelib/dynOptionMenuWidget.py mode change 100644 => 100755 panda/python/Lib/idlelib/extend.txt mode change 100644 => 100755 panda/python/Lib/idlelib/help.txt mode change 100644 => 100755 panda/python/Lib/idlelib/idle.bat mode change 100644 => 100755 panda/python/Lib/idlelib/idle.py mode change 100644 => 100755 panda/python/Lib/idlelib/idle.pyw mode change 100644 => 100755 panda/python/Lib/idlelib/idlever.py mode change 100644 => 100755 panda/python/Lib/idlelib/keybindingDialog.py mode change 100644 => 100755 panda/python/Lib/idlelib/macosxSupport.py mode change 100644 => 100755 panda/python/Lib/idlelib/rpc.py mode change 100644 => 100755 panda/python/Lib/idlelib/run.py mode change 100644 => 100755 panda/python/Lib/idlelib/tabbedpages.py mode change 100644 => 100755 panda/python/Lib/idlelib/testcode.py mode change 100644 => 100755 panda/python/Lib/idlelib/textView.py mode change 100644 => 100755 panda/python/Lib/ihooks.py mode change 100644 => 100755 panda/python/Lib/imaplib.py mode change 100644 => 100755 panda/python/Lib/imghdr.py mode change 100644 => 100755 panda/python/Lib/importlib/__init__.py mode change 100644 => 100755 panda/python/Lib/imputil.py mode change 100644 => 100755 panda/python/Lib/inspect.py mode change 100644 => 100755 panda/python/Lib/io.py mode change 100644 => 100755 panda/python/Lib/json/__init__.py mode change 100644 => 100755 panda/python/Lib/json/decoder.py mode change 100644 => 100755 panda/python/Lib/json/encoder.py mode change 100644 => 100755 panda/python/Lib/json/scanner.py mode change 100644 => 100755 panda/python/Lib/json/tool.py mode change 100644 => 100755 panda/python/Lib/keyword.py mode change 100644 => 100755 panda/python/Lib/lib-tk/Canvas.py mode change 100644 => 100755 panda/python/Lib/lib-tk/Dialog.py mode change 100644 => 100755 panda/python/Lib/lib-tk/FileDialog.py mode change 100644 => 100755 panda/python/Lib/lib-tk/FixTk.py mode change 100644 => 100755 panda/python/Lib/lib-tk/ScrolledText.py mode change 100644 => 100755 panda/python/Lib/lib-tk/SimpleDialog.py mode change 100644 => 100755 panda/python/Lib/lib-tk/Tix.py mode change 100644 => 100755 panda/python/Lib/lib-tk/Tkconstants.py mode change 100644 => 100755 panda/python/Lib/lib-tk/Tkdnd.py mode change 100644 => 100755 panda/python/Lib/lib-tk/Tkinter.py mode change 100644 => 100755 panda/python/Lib/lib-tk/test/test_tkinter/__init__.py mode change 100644 => 100755 panda/python/Lib/lib-tk/test/test_tkinter/test_loadtk.py mode change 100644 => 100755 panda/python/Lib/lib-tk/test/test_tkinter/test_text.py mode change 100644 => 100755 panda/python/Lib/lib-tk/test/test_ttk/__init__.py mode change 100644 => 100755 panda/python/Lib/lib-tk/test/test_ttk/support.py mode change 100644 => 100755 panda/python/Lib/lib-tk/test/test_ttk/test_extensions.py mode change 100644 => 100755 panda/python/Lib/lib-tk/test/test_ttk/test_functions.py mode change 100644 => 100755 panda/python/Lib/lib-tk/test/test_ttk/test_style.py mode change 100644 => 100755 panda/python/Lib/lib-tk/test/test_ttk/test_widgets.py mode change 100644 => 100755 panda/python/Lib/lib-tk/tkColorChooser.py mode change 100644 => 100755 panda/python/Lib/lib-tk/tkCommonDialog.py mode change 100644 => 100755 panda/python/Lib/lib-tk/tkFileDialog.py mode change 100644 => 100755 panda/python/Lib/lib-tk/tkFont.py mode change 100644 => 100755 panda/python/Lib/lib-tk/tkMessageBox.py mode change 100644 => 100755 panda/python/Lib/lib-tk/tkSimpleDialog.py mode change 100644 => 100755 panda/python/Lib/lib-tk/ttk.py mode change 100644 => 100755 panda/python/Lib/lib-tk/turtle.py mode change 100644 => 100755 panda/python/Lib/lib2to3/Grammar.txt mode change 100644 => 100755 panda/python/Lib/lib2to3/PatternGrammar.txt mode change 100644 => 100755 panda/python/Lib/lib2to3/__init__.py mode change 100644 => 100755 panda/python/Lib/lib2to3/__main__.py mode change 100644 => 100755 panda/python/Lib/lib2to3/btm_matcher.py mode change 100644 => 100755 panda/python/Lib/lib2to3/btm_utils.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixer_base.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixer_util.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/__init__.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_apply.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_basestring.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_buffer.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_callable.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_dict.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_except.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_exec.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_execfile.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_exitfunc.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_filter.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_funcattrs.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_future.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_getcwdu.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_has_key.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_idioms.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_import.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_imports.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_imports2.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_input.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_intern.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_isinstance.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_itertools.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_itertools_imports.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_long.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_map.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_metaclass.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_methodattrs.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_ne.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_next.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_nonzero.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_numliterals.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_operator.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_paren.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_print.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_raise.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_raw_input.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_reduce.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_renames.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_repr.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_set_literal.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_standarderror.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_sys_exc.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_throw.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_tuple_params.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_types.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_unicode.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_urllib.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_ws_comma.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_xrange.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_xreadlines.py mode change 100644 => 100755 panda/python/Lib/lib2to3/fixes/fix_zip.py mode change 100644 => 100755 panda/python/Lib/lib2to3/main.py mode change 100644 => 100755 panda/python/Lib/lib2to3/patcomp.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pgen2/__init__.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pgen2/conv.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pgen2/driver.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pgen2/grammar.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pgen2/literals.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pgen2/parse.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pgen2/pgen.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pgen2/token.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pgen2/tokenize.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pygram.py mode change 100644 => 100755 panda/python/Lib/lib2to3/pytree.py mode change 100644 => 100755 panda/python/Lib/lib2to3/refactor.py mode change 100644 => 100755 panda/python/Lib/lib2to3/tests/data/fixers/bad_order.py mode change 100644 => 100755 panda/python/Lib/lib2to3/tests/data/fixers/myfixes/__init__.py mode change 100644 => 100755 panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_explicit.py mode change 100644 => 100755 panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_first.py mode change 100644 => 100755 panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_last.py mode change 100644 => 100755 panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_parrot.py mode change 100644 => 100755 panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_preorder.py mode change 100644 => 100755 panda/python/Lib/lib2to3/tests/data/fixers/no_fixer_cls.py mode change 100644 => 100755 panda/python/Lib/lib2to3/tests/data/fixers/parrot_example.py mode change 100644 => 100755 panda/python/Lib/linecache.py mode change 100644 => 100755 panda/python/Lib/locale.py mode change 100644 => 100755 panda/python/Lib/logging/__init__.py mode change 100644 => 100755 panda/python/Lib/logging/config.py mode change 100644 => 100755 panda/python/Lib/logging/handlers.py mode change 100644 => 100755 panda/python/Lib/macpath.py mode change 100644 => 100755 panda/python/Lib/macurl2path.py mode change 100644 => 100755 panda/python/Lib/mailbox.py mode change 100644 => 100755 panda/python/Lib/mailcap.py mode change 100644 => 100755 panda/python/Lib/markupbase.py mode change 100644 => 100755 panda/python/Lib/md5.py mode change 100644 => 100755 panda/python/Lib/mhlib.py mode change 100644 => 100755 panda/python/Lib/mimetools.py mode change 100644 => 100755 panda/python/Lib/mimetypes.py mode change 100644 => 100755 panda/python/Lib/mimify.py mode change 100644 => 100755 panda/python/Lib/modulefinder.py mode change 100644 => 100755 panda/python/Lib/msilib/__init__.py mode change 100644 => 100755 panda/python/Lib/msilib/schema.py mode change 100644 => 100755 panda/python/Lib/msilib/sequence.py mode change 100644 => 100755 panda/python/Lib/msilib/text.py mode change 100644 => 100755 panda/python/Lib/multifile.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/__init__.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/connection.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/dummy/__init__.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/dummy/connection.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/forking.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/heap.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/managers.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/pool.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/process.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/queues.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/reduction.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/sharedctypes.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/synchronize.py mode change 100644 => 100755 panda/python/Lib/multiprocessing/util.py mode change 100644 => 100755 panda/python/Lib/mutex.py mode change 100644 => 100755 panda/python/Lib/netrc.py mode change 100644 => 100755 panda/python/Lib/new.py mode change 100644 => 100755 panda/python/Lib/nntplib.py mode change 100644 => 100755 panda/python/Lib/ntpath.py mode change 100644 => 100755 panda/python/Lib/nturl2path.py mode change 100644 => 100755 panda/python/Lib/numbers.py mode change 100644 => 100755 panda/python/Lib/opcode.py mode change 100644 => 100755 panda/python/Lib/optparse.py mode change 100644 => 100755 panda/python/Lib/os.py mode change 100644 => 100755 panda/python/Lib/os2emxpath.py mode change 100644 => 100755 panda/python/Lib/pdb.py mode change 100644 => 100755 panda/python/Lib/phidgets/Accelerometer.py mode change 100644 => 100755 panda/python/Lib/phidgets/InterfaceKit.py mode change 100644 => 100755 panda/python/Lib/phidgets/Phidget.py mode change 100644 => 100755 panda/python/Lib/phidgets/__init__.py mode change 100644 => 100755 panda/python/Lib/phidgets/cphidgets.pyd mode change 100644 => 100755 panda/python/Lib/pickle.py mode change 100644 => 100755 panda/python/Lib/pickletools.py mode change 100644 => 100755 panda/python/Lib/pipes.py mode change 100644 => 100755 panda/python/Lib/pkgutil.py mode change 100644 => 100755 panda/python/Lib/platform.py mode change 100644 => 100755 panda/python/Lib/plistlib.py mode change 100644 => 100755 panda/python/Lib/popen2.py mode change 100644 => 100755 panda/python/Lib/poplib.py mode change 100644 => 100755 panda/python/Lib/posixfile.py mode change 100644 => 100755 panda/python/Lib/posixpath.py mode change 100644 => 100755 panda/python/Lib/pprint.py mode change 100644 => 100755 panda/python/Lib/profile.py mode change 100644 => 100755 panda/python/Lib/pstats.py mode change 100644 => 100755 panda/python/Lib/pty.py mode change 100644 => 100755 panda/python/Lib/py_compile.py mode change 100644 => 100755 panda/python/Lib/pyclbr.py mode change 100644 => 100755 panda/python/Lib/pydoc.py mode change 100644 => 100755 panda/python/Lib/pydoc_data/__init__.py mode change 100644 => 100755 panda/python/Lib/pydoc_data/topics.py mode change 100644 => 100755 panda/python/Lib/quopri.py mode change 100644 => 100755 panda/python/Lib/random.py mode change 100644 => 100755 panda/python/Lib/re.py mode change 100644 => 100755 panda/python/Lib/repr.py mode change 100644 => 100755 panda/python/Lib/rexec.py mode change 100644 => 100755 panda/python/Lib/rfc822.py mode change 100644 => 100755 panda/python/Lib/rlcompleter.py mode change 100644 => 100755 panda/python/Lib/robotparser.py mode change 100644 => 100755 panda/python/Lib/runpy.py mode change 100644 => 100755 panda/python/Lib/sched.py mode change 100644 => 100755 panda/python/Lib/serial/__init__.py mode change 100644 => 100755 panda/python/Lib/serial/buffer.py mode change 100644 => 100755 panda/python/Lib/serial/serialjava.py mode change 100644 => 100755 panda/python/Lib/serial/serialposix.py mode change 100644 => 100755 panda/python/Lib/serial/serialutil.py mode change 100644 => 100755 panda/python/Lib/serial/serialwin32.py mode change 100644 => 100755 panda/python/Lib/serial/sermsdos.py mode change 100644 => 100755 panda/python/Lib/serial/writeblockingtest.py mode change 100644 => 100755 panda/python/Lib/sets.py mode change 100644 => 100755 panda/python/Lib/sgmllib.py mode change 100644 => 100755 panda/python/Lib/sha.py mode change 100644 => 100755 panda/python/Lib/shelve.py mode change 100644 => 100755 panda/python/Lib/shlex.py mode change 100644 => 100755 panda/python/Lib/shutil.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/AES.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/AES.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/ARC2.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/ARC2.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/ARC4.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/ARC4.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/Blowfish.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/Blowfish.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/CAST.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/CAST.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/DES.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/DES.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/DES3.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/DES3.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_OAEP.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_OAEP.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_v1_5.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_v1_5.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/XOR.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/XOR.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/_AES.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/_ARC2.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/_ARC4.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/_Blowfish.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/_CAST.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/_DES.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/_DES3.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/_XOR.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/blockalgo.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Cipher/blockalgo.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/HMAC.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/HMAC.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/MD2.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/MD2.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/MD4.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/MD4.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/MD5.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/MD5.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/RIPEMD.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/RIPEMD.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA224.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA224.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA256.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA256.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA384.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA384.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA512.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/SHA512.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/_MD2.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/_MD4.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/_RIPEMD160.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/_SHA224.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/_SHA256.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/_SHA384.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/_SHA512.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/hashalgo.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Hash/hashalgo.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Protocol/AllOrNothing.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Protocol/AllOrNothing.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Protocol/Chaffing.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Protocol/Chaffing.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Protocol/KDF.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Protocol/KDF.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Protocol/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Protocol/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/DSA.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/DSA.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/ElGamal.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/ElGamal.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/RSA.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/RSA.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/_DSA.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/_DSA.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/_RSA.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/_RSA.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/_slowmath.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/_slowmath.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/pubkey.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/PublicKey/pubkey.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaGenerator.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/Fortuna/SHAd256.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/Fortuna/SHAd256.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/Fortuna/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/Fortuna/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/fallback.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/fallback.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/nt.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/nt.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/posix.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/posix.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/rng_base.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/rng_base.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/OSRNG/winrandom.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/_UserFriendlyRNG.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/_UserFriendlyRNG.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/random.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Random/random.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/common.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/common.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_AES.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_AES.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC2.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC4.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_CAST.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_CAST.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES3.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES3.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_XOR.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_XOR.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/common.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/common.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_HMAC.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_HMAC.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD2.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD2.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD4.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD4.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD5.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD5.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA224.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA224.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA256.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA256.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA384.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA384.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA512.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA512.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_KDF.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_KDF.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_chaffing.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_chaffing.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_DSA.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_RSA.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_importKey.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_importKey.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_random.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_random.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Signature/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Signature/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_Counter.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_Counter.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_asn1.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_asn1.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_number.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_number.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_winrandom.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_winrandom.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/st_common.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/SelfTest/st_common.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Signature/PKCS1_PSS.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Signature/PKCS1_PSS.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Signature/PKCS1_v1_5.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Signature/PKCS1_v1_5.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Signature/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Signature/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/Counter.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/Counter.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/RFC1751.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/RFC1751.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/_counter.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/_number_new.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/_number_new.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/asn1.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/asn1.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/number.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/number.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/py21compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/py21compat.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/py3compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/py3compat.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/randpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/randpool.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/strxor.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/winrandom.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/Util/winrandom.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/pct_warnings.py mode change 100644 => 100755 panda/python/Lib/site-packages/Crypto/pct_warnings.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/PyYAML-3.11-py2.7.egg-info mode change 100644 => 100755 panda/python/Lib/site-packages/easy-install.pth mode change 100644 => 100755 panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/PKG-INFO mode change 100644 => 100755 panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/SOURCES.txt mode change 100644 => 100755 panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/dependency_links.txt mode change 100644 => 100755 panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/installed-files.txt mode change 100644 => 100755 panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/requires.txt mode change 100644 => 100755 panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/_semaphore.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/_threading.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/_util.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/ares.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/backdoor.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/baseserver.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/core.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/coros.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/event.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/fileobject.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/greenlet.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/hub.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/local.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/lock.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/monkey.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/os.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/pool.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/pywsgi.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/queue.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/resolver_ares.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/resolver_thread.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/select.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/server.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/socket.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/ssl.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/subprocess.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/thread.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/threading.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/threadpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/timeout.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/util.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/win32util.py mode change 100644 => 100755 panda/python/Lib/site-packages/gevent/wsgi.py mode change 100644 => 100755 panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/DESCRIPTION.rst mode change 100644 => 100755 panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/METADATA mode change 100644 => 100755 panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/RECORD mode change 100644 => 100755 panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/WHEEL mode change 100644 => 100755 panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/PKG-INFO mode change 100644 => 100755 panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/SOURCES.txt mode change 100644 => 100755 panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/dependency_links.txt mode change 100644 => 100755 panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/installed-files.txt mode change 100644 => 100755 panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/not-zip-safe mode change 100644 => 100755 panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/requires.txt mode change 100644 => 100755 panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/gridfs/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/gridfs/__init__.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/gridfs/errors.py mode change 100644 => 100755 panda/python/Lib/site-packages/gridfs/errors.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/gridfs/grid_file.py mode change 100644 => 100755 panda/python/Lib/site-packages/gridfs/grid_file.pyo mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/PKG-INFO mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/SOURCES.txt mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/dependency_links.txt mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/installed-files.txt mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib/SimpleJSONRPCServer.py mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib/config.py mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib/history.py mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib/jsonclass.py mode change 100644 => 100755 panda/python/Lib/site-packages/jsonrpclib/jsonrpc.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/PKG-INFO mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/SOURCES.txt mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/dependency_links.txt mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/entry_points.txt mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/not-zip-safe mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/requires.txt mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/__main__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/_markerlib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/_markerlib/markers.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/adapter.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/cache.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/caches/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/caches/file_cache.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/caches/redis_cache.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/controller.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/filewrapper.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/heuristics.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/serialize.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/wrapper.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/__main__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/cacert.pem mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/core.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/ansi.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/ansitowin32.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/initialise.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/win32.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/winterm.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/misc.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/shutil.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/sysconfig.cfg mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/sysconfig.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/tarfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/database.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/index.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/locators.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/manifest.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/markers.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/metadata.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/resources.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/scripts.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/t32.exe mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/t64.exe mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/util.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/version.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/w32.exe mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/w64.exe mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/wheel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/constants.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/_base.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/lint.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/optionaltags.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/sanitizer.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/whitespace.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/html5parser.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/ihatexml.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/inputstream.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/sanitizer.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/serializer/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/serializer/htmlserializer.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/tokenizer.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treeadapters/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treeadapters/sax.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/_base.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/dom.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/etree.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/_base.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/dom.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/etree.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/genshistream.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/lxmletree.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/pulldom.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/_base.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/datrie.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/py.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/utils.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/ipaddress.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/linklockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/mkdirlockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/pidlockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/sqlitelockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/symlinklockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/__about__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/_compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/_structures.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/specifiers.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/version.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/pkg_resources/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/bar.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/counter.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/helpers.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/spinner.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/re-vendor.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/adapters.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/api.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/auth.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/cacert.pem mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/certs.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/cookies.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/hooks.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/models.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/big5freq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/big5prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/chardetect.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/chardistribution.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/charsetgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/charsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/codingstatemachine.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/constants.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/cp949prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/escprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/escsm.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/eucjpprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euckrfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euckrprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euctwfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euctwprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/gb2312freq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/gb2312prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/hebrewprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/jisfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/jpcntx.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langbulgarianmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langcyrillicmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langgreekmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langhebrewmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langhungarianmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langthaimodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/latin1prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/mbcharsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/mbcsgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/mbcssm.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/sbcharsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/sbcsgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/sjisprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/universaldetector.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/utf8prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/_collections.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/connection.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/connectionpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/ntlmpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/fields.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/filepost.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/ordered_dict.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/six.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/poolmanager.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/request.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/response.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/connection.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/request.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/response.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/retry.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/timeout.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/url.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/sessions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/status_codes.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/structures.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/utils.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/retrying.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/six.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/basecommand.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/baseparser.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/cmdoptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/completion.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/freeze.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/help.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/install.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/list.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/search.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/show.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/uninstall.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/unzip.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/wheel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/zip.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/compat/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/compat/dictconfig.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/download.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/index.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/locations.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/models/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/models/index.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/operations/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/operations/freeze.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/pep425tags.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_file.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_install.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_requirement.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_set.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_uninstall.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/status_codes.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/appdirs.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/build.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/deprecation.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/filesystem.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/logging.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/outdated.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/ui.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/bazaar.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/git.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/mercurial.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/subversion.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/wheel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.1.1.dist-info/DESCRIPTION.rst mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.1.1.dist-info/METADATA mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.1.1.dist-info/RECORD mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.1.1.dist-info/WHEEL mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.1.1.dist-info/entry_points.txt mode change 100644 => 100755 panda/python/Lib/site-packages/pip-6.1.1.dist-info/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/pip/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/__main__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/_markerlib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/_markerlib/markers.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/cache.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/controller.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/colorama/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/colorama/ansi.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/colorama/initialise.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/colorama/win32.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/colorama/winterm.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/misc.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/shutil.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/tarfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/database.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/index.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/locators.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/manifest.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/markers.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/metadata.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/resources.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/scripts.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/t32.exe mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/t64.exe mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/util.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/version.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/w32.exe mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/w64.exe mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/distlib/wheel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/constants.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/_base.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/lint.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/optionaltags.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/sanitizer.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/whitespace.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/html5parser.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/ihatexml.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/inputstream.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/sanitizer.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/serializer/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/tokenizer.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treeadapters/sax.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/_base.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/dom.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/_base.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/dom.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/genshistream.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/lxmletree.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/pulldom.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/_base.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/datrie.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/py.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/html5lib/utils.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/ipaddress.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/lockfile/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/lockfile/linklockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/lockfile/mkdirlockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/lockfile/pidlockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/lockfile/sqlitelockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/lockfile/symlinklockfile.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/packaging/__about__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/packaging/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/packaging/_compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/packaging/_structures.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/packaging/specifiers.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/packaging/version.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/pkg_resources/tests/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/pkg_resources/tests/test_pkg_resources.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/pkg_resources/tests/test_resources.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/progress/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/progress/bar.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/progress/counter.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/progress/helpers.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/progress/spinner.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/re-vendor.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/adapters.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/api.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/auth.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/cacert.pem mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/certs.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/cookies.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/hooks.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/models.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/big5freq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/big5prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/chardetect.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/chardistribution.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/charsetgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/charsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/codingstatemachine.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/constants.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/cp949prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/escprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/escsm.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/eucjpprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euckrfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euckrprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euctwfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euctwprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/gb2312freq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/gb2312prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/hebrewprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/jisfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/jpcntx.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langbulgarianmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langcyrillicmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langgreekmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langhebrewmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langhungarianmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langthaimodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/latin1prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/mbcharsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/mbcsgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/mbcssm.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/sbcharsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/sbcsgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/sjisprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/universaldetector.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/utf8prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/_collections.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/connection.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/connectionpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/contrib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/contrib/ntlmpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/fields.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/filepost.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/ordered_dict.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/six.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/request.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/response.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/retry.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/timeout.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/url.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/sessions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/status_codes.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/structures.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/requests/utils.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/retrying.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/_vendor/six.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/basecommand.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/baseparser.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/cmdoptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/completion.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/freeze.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/help.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/install.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/list.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/search.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/show.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/uninstall.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/unzip.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/wheel.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/commands/zip.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/compat/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/compat/dictconfig.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/download.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/index.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/locations.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/models/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/models/index.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/operations/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/operations/freeze.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/pep425tags.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/req/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/req/req_file.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/req/req_install.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/req/req_requirement.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/req/req_set.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/req/req_uninstall.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/status_codes.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/utils/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/utils/appdirs.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/utils/build.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/utils/deprecation.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/utils/filesystem.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/utils/logging.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/utils/outdated.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/utils/ui.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/vcs/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/vcs/bazaar.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/vcs/git.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/vcs/mercurial.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/vcs/subversion.py mode change 100644 => 100755 panda/python/Lib/site-packages/pip/wheel.py mode change 100644 => 100755 panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/PKG-INFO mode change 100644 => 100755 panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/SOURCES.txt mode change 100644 => 100755 panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/dependency_links.txt mode change 100644 => 100755 panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/installed-files.txt mode change 100644 => 100755 panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/ply/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/ply/cpp.py mode change 100644 => 100755 panda/python/Lib/site-packages/ply/ctokens.py mode change 100644 => 100755 panda/python/Lib/site-packages/ply/lex.py mode change 100644 => 100755 panda/python/Lib/site-packages/ply/yacc.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests-2.6.0.dist-info/DESCRIPTION.rst mode change 100644 => 100755 panda/python/Lib/site-packages/requests-2.6.0.dist-info/METADATA mode change 100644 => 100755 panda/python/Lib/site-packages/requests-2.6.0.dist-info/RECORD mode change 100644 => 100755 panda/python/Lib/site-packages/requests-2.6.0.dist-info/WHEEL mode change 100644 => 100755 panda/python/Lib/site-packages/requests-2.6.0.dist-info/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/requests/HISTORY.rst mode change 100644 => 100755 panda/python/Lib/site-packages/requests/LICENSE mode change 100644 => 100755 panda/python/Lib/site-packages/requests/MANIFEST.in mode change 100644 => 100755 panda/python/Lib/site-packages/requests/NOTICE mode change 100644 => 100755 panda/python/Lib/site-packages/requests/PKG-INFO mode change 100644 => 100755 panda/python/Lib/site-packages/requests/README.rst mode change 100644 => 100755 panda/python/Lib/site-packages/requests/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/adapters.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/api.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/auth.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/cacert.pem mode change 100644 => 100755 panda/python/Lib/site-packages/requests/certs.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/cookies.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/hooks.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/models.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/big5freq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/big5prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/chardetect.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/chardistribution.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/charsetgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/charsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/codingstatemachine.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/constants.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/cp949prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/escprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/escsm.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/eucjpprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/euckrfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/euckrprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/euctwfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/euctwprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/gb2312freq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/gb2312prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/hebrewprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/jisfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/jpcntx.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/langbulgarianmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/langcyrillicmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/langgreekmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/langhebrewmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/langhungarianmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/langthaimodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/latin1prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/mbcharsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/mbcsgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/mbcssm.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/sbcharsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/sbcsgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/sjisprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/universaldetector.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/chardet/utf8prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/_collections.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/connection.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/connectionpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/contrib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/contrib/ntlmpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/contrib/pyopenssl.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/fields.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/filepost.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/packages/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/packages/ordered_dict.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/packages/six.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/poolmanager.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/request.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/response.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/util/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/util/connection.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/util/request.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/util/response.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/util/retry.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/util/ssl_.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/util/timeout.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/packages/urllib3/util/url.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests.egg-info/PKG-INFO mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests.egg-info/SOURCES.txt mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests.egg-info/dependency_links.txt mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests.egg-info/not-zip-safe mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests.egg-info/requires.txt mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests.egg-info/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/adapters.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/api.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/auth.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/cacert.pem mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/certs.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/cookies.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/hooks.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/models.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/big5freq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/big5prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/chardetect.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/chardistribution.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/charsetgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/charsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/codingstatemachine.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/compat.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/constants.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/cp949prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/escprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/escsm.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/eucjpprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/euckrfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/euckrprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/euctwfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/euctwprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/gb2312freq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/gb2312prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/hebrewprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/jisfreq.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/jpcntx.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/langbulgarianmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/langcyrillicmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/langgreekmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/langhebrewmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/langhungarianmodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/langthaimodel.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/latin1prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/mbcharsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/mbcsgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/mbcssm.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/sbcharsetprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/sbcsgroupprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/sjisprober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/universaldetector.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/chardet/utf8prober.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/_collections.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/connection.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/connectionpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/contrib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/contrib/ntlmpool.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/contrib/pyopenssl.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/exceptions.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/fields.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/filepost.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/ordered_dict.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/six.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/poolmanager.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/request.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/response.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/connection.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/request.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/response.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/retry.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/ssl_.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/timeout.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/url.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/sessions.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/status_codes.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/structures.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requests/utils.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/requirements.txt mode change 100644 => 100755 panda/python/Lib/site-packages/requests/sessions.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/setup.cfg mode change 100644 => 100755 panda/python/Lib/site-packages/requests/setup.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/status_codes.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/structures.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/test_requests.py mode change 100644 => 100755 panda/python/Lib/site-packages/requests/utils.py mode change 100644 => 100755 panda/python/Lib/site-packages/setuptools-12.0.5-py2.7.egg mode change 100644 => 100755 panda/python/Lib/site-packages/setuptools.pth mode change 100644 => 100755 panda/python/Lib/site-packages/wx/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/__version__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_adv.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_core.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_dataview.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_glcanvas.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_grid.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_html.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_html2.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_richtext.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_stc.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_xml.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/_xrc.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/adv.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/adv.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/core.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/core.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/dataview.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/dataview.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/freetype6.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/glcanvas.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/glcanvas.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/grid.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/grid.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/html.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/html.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/html2.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/html2.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/CDate.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ClickableHtmlWindow.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/activex.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/activexwrapper.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/advancedsplash.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aquabutton.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/artmanager.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/aui_constants.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/aui_switcherdialog.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/aui_utilities.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/auibar.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/auibook.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/dockart.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/framemanager.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/tabart.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/aui/tabmdi.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/balloontip.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/buttonpanel.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/cubecolourdialog.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/customtreectrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_1.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_1_thumb.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_2.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_2_thumb.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_3.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_3_thumb.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_4.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_4_thumb.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/data/default_help_text.html mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/flatmenu.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/flatnotebook.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/floatspin.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/fmcustomizedlg.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/fmresources.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/foldpanelbar.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/fourwaysplitter.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/genericmessagedialog.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/gradientbutton.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/hyperlink.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/hypertreelist.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/infobar.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/knobctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/labelbook.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/multidirdialog.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/peakmeter.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/persist/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/persist/persist_constants.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/persist/persist_handlers.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/persist/persistencemanager.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/piectrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/pybusyinfo.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/pycollapsiblepane.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/pygauge.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/pyprogress.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/art.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_aui.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_default.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_internal.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_msw.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_osx.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/bar.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/buttonbar.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/control.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/gallery.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/page.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/panel.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ribbon/toolbar.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/rulerctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/shapedbutton.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/shortcuteditor.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/speedmeter.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/supertooltip.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/thumbnailctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/toasterbox.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/ultimatelistctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/xlsgrid.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/agw/zoombar.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/analogclock/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/analogclock/analogclock.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/analogclock/helpers.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/buttontreectrlpanel.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/colourselect.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/fontselect.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/analogclock/setup.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/analogclock/styles.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/anchors.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/art/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/art/flagart.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/art/img2pyartprov.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/busy.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/buttons.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/calendar.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourchooser/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourchooser/canvas.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourchooser/intl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourchooser/pycolourbox.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourchooser/pycolourchooser.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourchooser/pycolourslider.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourchooser/pypalette.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourdb.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourselect.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/colourutils.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/combotreebox.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/delayedresult.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/dialogs.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/docview.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/dragscroller.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/editor/README.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/editor/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/editor/editor.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/editor/images.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/editor/selection.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/embeddedimage.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/eventStack.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/eventwatcher.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/evtmgr.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/expando.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/fancytext.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/filebrowsebutton.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/flashwin.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/flashwin_old.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatbar.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/FCEvents.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/FCObjects.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/FloatCanvas.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/GUIMode.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/NavCanvas.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/Resources.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/ScreenShot.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/BBox.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/Colors.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/GUI.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/floatcanvas/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/foldmenu.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/gestures.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/graphics.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/gridmovers.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/iewin.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/iewin_old.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/imagebrowser.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/imageutils.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/infoframe.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/inspection.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/intctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/itemspicker.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/langlistctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/layoutf.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/masked/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/masked/combobox.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/masked/ctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/masked/ipaddrctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/masked/maskededit.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/masked/numctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/masked/textctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/masked/timectrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/mixins/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/mixins/grid.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/mixins/gridlabelrenderer.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/mixins/imagelist.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/mixins/inspection.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/mixins/listctrl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/mixins/rubberband.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/mixins/treemixin.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/msgpanel.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/multisash.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/mvctree.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/myole4ax.idl mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/myole4ax.tlb mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/newevent.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/nvdlg.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/basic.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/bmpshape.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/canvas.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/composit.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/diagram.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/divided.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/drawn.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/lines.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ogl/oglmisc.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bezier.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ArrowLeft.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ArrowRight.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/DirectionH.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/DirectionV.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerFirst.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerLast.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerNext.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerPrev.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/Printer.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ReadMe.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/Save.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ZoomIn.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ZoomOut.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/encode_bitmaps.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/buttonpanel.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/dcgraphics.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/images.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/vec2d.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfviewer/viewer.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfwin.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pdfwin_old.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/platebtn.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/plot.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/popupctl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/printout.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/progressindicator.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/LICENSE_BSD_Simple.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/README.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/README_WxPython.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/RELEASE_NOTES.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/listenerimpl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/publisher.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/publishermixin.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/topicargspecimpl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/topicmgrimpl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/callables.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/imp2.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/itopicdefnprovider.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/datamsg.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/listenerimpl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/publisher.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/publishermixin.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/topicargspecimpl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/topicmgrimpl.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/listener.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/listenerbase.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/notificationmgr.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/publisherbase.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/topicargspec.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/topicdefnprovider.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/topicexc.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/topicmgr.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/topicobj.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/topictreetraverser.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/topicutils.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/treeconfig.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/validatedefnargs.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/core/weakmethod.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/README.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_listeners.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_senders.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_topics.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_topics_out.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/exchandle.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_listeners.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_senders.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_topics.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_topics_out.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/main_arg1.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/main_kwargs.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/notifhandle.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/README.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/console_listeners.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/console_main.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/console_senders.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/wx_main.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/README.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/console_listeners.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/console_main.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/console_senders.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/wx_main.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/wx_win1.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/wx_win2.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/multithreadloop.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/runall.bat mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/examples/runall_regression.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/policies.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/pub.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/py2and3.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/setuparg1.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/setupkwargs.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/utils/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/utils/exchandling.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/utils/misc.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/utils/notification.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/utils/topictreeprinter.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pubsub/utils/xmltopicdefnprovider.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/pydocview.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/rcsizer.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/resizewidget.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/rpcMixin.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/scrolledpanel.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/sheet.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/six.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/sized_controls.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/softwareupdate.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/splitter.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/statbmp.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/stattext.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/throbber.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ticker.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/ticker_xrc.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/utils.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/wordwrap.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/wxcairo.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/lib/wxpTag.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/libcairo-2.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/libcairo-gobject-2.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/libcairo-script-interpreter-2.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/libexpat-1.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/libfontconfig-1.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/libpng14-14.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/CHANGES.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/Py.ico mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyAlaCarte.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyAlaMode.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyAlaModeTest.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyCrust.ico mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyCrust.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyCrust_16.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyCrust_32.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyFilling.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyShell.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PySlices.ico mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PySlices.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PySlicesShell.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PySlices_16.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PySlices_32.png mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/PyWrap.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/README.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/buffer.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/crust.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/crustslices.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/dispatcher.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/document.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/editor.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/editwindow.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/filling.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/frame.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/images.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/interpreter.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/introspect.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/magic.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/parse.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/path.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/pseudo.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/shell.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/sliceshell.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/tests/test_interpreter.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/tests/test_introspect.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/tests/test_pseudo.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/tests/test_version.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/tests/testall.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/py/version.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/richtext.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/richtext.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/siplib.pyd mode change 100644 => 100755 panda/python/Lib/site-packages/wx/stc.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/stc.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/tools/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/tools/dbg.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/tools/genaxmodule.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/tools/helpviewer.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/tools/img2img.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/tools/img2png.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/tools/img2py.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/tools/img2xpm.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/tools/pywxrc.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/webkit.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/webkit.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxbase30u_net_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxbase30u_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxbase30u_xml_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_adv_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_aui_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_core_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_gl_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_html_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_media_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_propgrid_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_qa_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_ribbon_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_richtext_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_stc_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_webview_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/wxmsw30u_xrc_vc90.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wx/xml.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/xml.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/xrc.pi mode change 100644 => 100755 panda/python/Lib/site-packages/wx/xrc.py mode change 100644 => 100755 panda/python/Lib/site-packages/wx/zlib1.dll mode change 100644 => 100755 panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/DESCRIPTION.rst mode change 100644 => 100755 panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/METADATA mode change 100644 => 100755 panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/RECORD mode change 100644 => 100755 panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/WHEEL mode change 100644 => 100755 panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/entry_points.txt mode change 100644 => 100755 panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/top_level.txt mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/__init__.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/composer.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/constructor.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/cyaml.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/dumper.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/emitter.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/error.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/events.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/loader.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/nodes.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/parser.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/reader.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/representer.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/resolver.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/scanner.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/serializer.py mode change 100644 => 100755 panda/python/Lib/site-packages/yaml/tokens.py mode change 100644 => 100755 panda/python/Lib/site.py mode change 100644 => 100755 panda/python/Lib/smartroom/BeyondQuestion.py mode change 100644 => 100755 panda/python/Lib/smartroom/__init__.py mode change 100644 => 100755 panda/python/Lib/smtpd.py mode change 100644 => 100755 panda/python/Lib/smtplib.py mode change 100644 => 100755 panda/python/Lib/sndhdr.py mode change 100644 => 100755 panda/python/Lib/socket.py mode change 100644 => 100755 panda/python/Lib/sqlite3/__init__.py mode change 100644 => 100755 panda/python/Lib/sqlite3/dbapi2.py mode change 100644 => 100755 panda/python/Lib/sqlite3/dump.py mode change 100644 => 100755 panda/python/Lib/sre.py mode change 100644 => 100755 panda/python/Lib/sre_compile.py mode change 100644 => 100755 panda/python/Lib/sre_constants.py mode change 100644 => 100755 panda/python/Lib/sre_parse.py mode change 100644 => 100755 panda/python/Lib/ssl.py mode change 100644 => 100755 panda/python/Lib/stat.py mode change 100644 => 100755 panda/python/Lib/statvfs.py mode change 100644 => 100755 panda/python/Lib/string.py mode change 100644 => 100755 panda/python/Lib/stringold.py mode change 100644 => 100755 panda/python/Lib/stringprep.py mode change 100644 => 100755 panda/python/Lib/struct.py mode change 100644 => 100755 panda/python/Lib/subprocess.py mode change 100644 => 100755 panda/python/Lib/sunau.py mode change 100644 => 100755 panda/python/Lib/sunaudio.py mode change 100644 => 100755 panda/python/Lib/symbol.py mode change 100644 => 100755 panda/python/Lib/symtable.py mode change 100644 => 100755 panda/python/Lib/sysconfig.py mode change 100644 => 100755 panda/python/Lib/tabnanny.py mode change 100644 => 100755 panda/python/Lib/tarfile.py mode change 100644 => 100755 panda/python/Lib/telnetlib.py mode change 100644 => 100755 panda/python/Lib/tempfile.py mode change 100644 => 100755 panda/python/Lib/textwrap.py mode change 100644 => 100755 panda/python/Lib/this.py mode change 100644 => 100755 panda/python/Lib/threading.py mode change 100644 => 100755 panda/python/Lib/timeit.py mode change 100644 => 100755 panda/python/Lib/toaiff.py mode change 100644 => 100755 panda/python/Lib/token.py mode change 100644 => 100755 panda/python/Lib/tokenize.py mode change 100644 => 100755 panda/python/Lib/trace.py mode change 100644 => 100755 panda/python/Lib/traceback.py mode change 100644 => 100755 panda/python/Lib/tty.py mode change 100644 => 100755 panda/python/Lib/types.py mode change 100644 => 100755 panda/python/Lib/unittest/__init__.py mode change 100644 => 100755 panda/python/Lib/unittest/__main__.py mode change 100644 => 100755 panda/python/Lib/unittest/case.py mode change 100644 => 100755 panda/python/Lib/unittest/loader.py mode change 100644 => 100755 panda/python/Lib/unittest/main.py mode change 100644 => 100755 panda/python/Lib/unittest/result.py mode change 100644 => 100755 panda/python/Lib/unittest/runner.py mode change 100644 => 100755 panda/python/Lib/unittest/signals.py mode change 100644 => 100755 panda/python/Lib/unittest/suite.py mode change 100644 => 100755 panda/python/Lib/unittest/util.py mode change 100644 => 100755 panda/python/Lib/urllib.py mode change 100644 => 100755 panda/python/Lib/urllib2.py mode change 100644 => 100755 panda/python/Lib/urlparse.py mode change 100644 => 100755 panda/python/Lib/user.py mode change 100644 => 100755 panda/python/Lib/uu.py mode change 100644 => 100755 panda/python/Lib/uuid.py mode change 100644 => 100755 panda/python/Lib/warnings.py mode change 100644 => 100755 panda/python/Lib/wave.py mode change 100644 => 100755 panda/python/Lib/weakref.py mode change 100644 => 100755 panda/python/Lib/webbrowser.py mode change 100644 => 100755 panda/python/Lib/whichdb.py mode change 100644 => 100755 panda/python/Lib/wsgiref/__init__.py mode change 100644 => 100755 panda/python/Lib/wsgiref/handlers.py mode change 100644 => 100755 panda/python/Lib/wsgiref/headers.py mode change 100644 => 100755 panda/python/Lib/wsgiref/simple_server.py mode change 100644 => 100755 panda/python/Lib/wsgiref/util.py mode change 100644 => 100755 panda/python/Lib/wsgiref/validate.py mode change 100644 => 100755 panda/python/Lib/xdrlib.py mode change 100644 => 100755 panda/python/Lib/xml/__init__.py mode change 100644 => 100755 panda/python/Lib/xml/dom/NodeFilter.py mode change 100644 => 100755 panda/python/Lib/xml/dom/__init__.py mode change 100644 => 100755 panda/python/Lib/xml/dom/domreg.py mode change 100644 => 100755 panda/python/Lib/xml/dom/expatbuilder.py mode change 100644 => 100755 panda/python/Lib/xml/dom/minicompat.py mode change 100644 => 100755 panda/python/Lib/xml/dom/minidom.py mode change 100644 => 100755 panda/python/Lib/xml/dom/pulldom.py mode change 100644 => 100755 panda/python/Lib/xml/dom/xmlbuilder.py mode change 100644 => 100755 panda/python/Lib/xml/etree/ElementInclude.py mode change 100644 => 100755 panda/python/Lib/xml/etree/ElementPath.py mode change 100644 => 100755 panda/python/Lib/xml/etree/ElementTree.py mode change 100644 => 100755 panda/python/Lib/xml/etree/__init__.py mode change 100644 => 100755 panda/python/Lib/xml/etree/cElementTree.py mode change 100644 => 100755 panda/python/Lib/xml/parsers/__init__.py mode change 100644 => 100755 panda/python/Lib/xml/parsers/expat.py mode change 100644 => 100755 panda/python/Lib/xml/sax/__init__.py mode change 100644 => 100755 panda/python/Lib/xml/sax/_exceptions.py mode change 100644 => 100755 panda/python/Lib/xml/sax/expatreader.py mode change 100644 => 100755 panda/python/Lib/xml/sax/handler.py mode change 100644 => 100755 panda/python/Lib/xml/sax/saxutils.py mode change 100644 => 100755 panda/python/Lib/xml/sax/xmlreader.py mode change 100644 => 100755 panda/python/Lib/xmllib.py mode change 100644 => 100755 panda/python/Lib/xmlrpclib.py mode change 100644 => 100755 panda/python/Lib/zipfile.py mode change 100644 => 100755 panda/python/Microsoft.VC90.CRT.manifest mode change 100644 => 100755 panda/python/Scripts/easy_install-2.7-script.py mode change 100644 => 100755 panda/python/Scripts/easy_install-2.7.exe mode change 100644 => 100755 panda/python/Scripts/easy_install-2.7.exe.manifest mode change 100644 => 100755 panda/python/Scripts/easy_install-script.py mode change 100644 => 100755 panda/python/Scripts/easy_install.exe mode change 100644 => 100755 panda/python/Scripts/easy_install.exe.manifest mode change 100644 => 100755 panda/python/Scripts/helpviewer.exe mode change 100644 => 100755 panda/python/Scripts/img2png.exe mode change 100644 => 100755 panda/python/Scripts/img2py.exe mode change 100644 => 100755 panda/python/Scripts/img2xpm.exe mode change 100644 => 100755 panda/python/Scripts/pip-script.py mode change 100644 => 100755 panda/python/Scripts/pip.exe mode change 100644 => 100755 panda/python/Scripts/pip.exe.manifest mode change 100644 => 100755 panda/python/Scripts/pip2-script.py mode change 100644 => 100755 panda/python/Scripts/pip2.7-script.py mode change 100644 => 100755 panda/python/Scripts/pip2.7.exe mode change 100644 => 100755 panda/python/Scripts/pip2.7.exe.manifest mode change 100644 => 100755 panda/python/Scripts/pip2.exe mode change 100644 => 100755 panda/python/Scripts/pip2.exe.manifest mode change 100644 => 100755 panda/python/Scripts/pycrust.exe mode change 100644 => 100755 panda/python/Scripts/pyshell.exe mode change 100644 => 100755 panda/python/Scripts/pyslices.exe mode change 100644 => 100755 panda/python/Scripts/pyslicesshell.exe mode change 100644 => 100755 panda/python/Scripts/pywxrc.exe mode change 100644 => 100755 panda/python/__init__.py mode change 100644 => 100755 panda/python/msvcr90.dll mode change 100644 => 100755 panda/python/panda.pth mode change 100644 => 100755 panda/python/ppython.exe mode change 100644 => 100755 panda/python/ppythonw.exe mode change 100644 => 100755 panda/python/python.exe mode change 100644 => 100755 panda/python/python27.dll mode change 100644 => 100755 panda/python/pythonw.exe mode change 100644 => 100755 panda/python/w9xpopen.exe create mode 100755 start_game_remotedb.bat mode change 100644 => 100755 tools/cleanse.py mode change 100644 => 100755 tools/example.py mode change 100644 => 100755 tools/findterm.py mode change 100644 => 100755 tools/findterm_otp.py mode change 100644 => 100755 tools/generate_key.py mode change 100644 => 100755 tools/gentoken.py mode change 100644 => 100755 tools/key.txt mode change 100644 => 100755 tools/parse_dcimports.bat mode change 100644 => 100755 tools/parse_dcimports.py mode change 100644 => 100755 tools/rpc-invasions.bat mode change 100644 => 100755 tools/rpc-invasions.py mode change 100644 => 100755 tools/whitelist_tool.bat mode change 100644 => 100755 tools/whitelist_tool.py mode change 100644 => 100755 tools/write_patcher.py mode change 100644 => 100755 tools/write_rpc_doc.py mode change 100644 => 100755 toontown/__init__.py mode change 100644 => 100755 toontown/ai/CogPageManagerAI.py mode change 100644 => 100755 toontown/ai/CogSuitManagerAI.py mode change 100644 => 100755 toontown/ai/DatabaseObject.py mode change 100644 => 100755 toontown/ai/DistributedAprilToonsMgr.py mode change 100644 => 100755 toontown/ai/DistributedAprilToonsMgrAI.py mode change 100644 => 100755 toontown/ai/DistributedBlackCatMgr.py mode change 100644 => 100755 toontown/ai/DistributedBlackCatMgrAI.py mode change 100644 => 100755 toontown/ai/DistributedGreenToonEffectMgr.py mode change 100644 => 100755 toontown/ai/DistributedGreenToonEffectMgrAI.py mode change 100644 => 100755 toontown/ai/DistributedJorElCam.py mode change 100644 => 100755 toontown/ai/DistributedJorElCamAI.py mode change 100644 => 100755 toontown/ai/DistributedPolarPlaceEffectMgr.py mode change 100644 => 100755 toontown/ai/DistributedPolarPlaceEffectMgrAI.py mode change 100644 => 100755 toontown/ai/DistributedReportMgr.py mode change 100644 => 100755 toontown/ai/DistributedReportMgrAI.py mode change 100644 => 100755 toontown/ai/DistributedResistanceEmoteMgr.py mode change 100644 => 100755 toontown/ai/DistributedResistanceEmoteMgrAI.py mode change 100644 => 100755 toontown/ai/DistributedScavengerHuntTarget.py mode change 100644 => 100755 toontown/ai/DistributedScavengerHuntTargetAI.py mode change 100644 => 100755 toontown/ai/DistributedTrickOrTreatTarget.py mode change 100644 => 100755 toontown/ai/DistributedTrickOrTreatTargetAI.py mode change 100644 => 100755 toontown/ai/DistributedWinterCarolingTarget.py mode change 100644 => 100755 toontown/ai/DistributedWinterCarolingTargetAI.py mode change 100644 => 100755 toontown/ai/FishManagerAI.py mode change 100644 => 100755 toontown/ai/HalloweenHolidayDecorator.py mode change 100644 => 100755 toontown/ai/HolidayBaseAI.py mode change 100644 => 100755 toontown/ai/HolidayDecorator.py mode change 100644 => 100755 toontown/ai/HolidayManagerAI.py mode change 100644 => 100755 toontown/ai/NewsManager.py mode change 100644 => 100755 toontown/ai/NewsManagerAI.py mode change 100644 => 100755 toontown/ai/PromotionManagerAI.py mode change 100644 => 100755 toontown/ai/QuestManagerAI.py mode change 100644 => 100755 toontown/ai/ReportGlobals.py mode change 100644 => 100755 toontown/ai/ServerEventBuffer.py mode change 100644 => 100755 toontown/ai/ServiceStart.py mode change 100644 => 100755 toontown/ai/ToonBarrier.py mode change 100644 => 100755 toontown/ai/ToontownAIMsgTypes.py mode change 100644 => 100755 toontown/ai/ToontownAIRepository.py mode change 100644 => 100755 toontown/ai/WelcomeValleyManager.py mode change 100644 => 100755 toontown/ai/WelcomeValleyManagerAI.py mode change 100644 => 100755 toontown/ai/__init__.py mode change 100644 => 100755 toontown/battle/BattleBase.py mode change 100644 => 100755 toontown/battle/BattleCalculatorAI.py mode change 100644 => 100755 toontown/battle/BattleExperience.py mode change 100644 => 100755 toontown/battle/BattleExperienceAI.py mode change 100644 => 100755 toontown/battle/BattleManagerAI.py mode change 100644 => 100755 toontown/battle/BattleParticles.py mode change 100644 => 100755 toontown/battle/BattlePlace.py mode change 100644 => 100755 toontown/battle/BattleProps.py mode change 100644 => 100755 toontown/battle/BattleSounds.py mode change 100644 => 100755 toontown/battle/DistributedBattle.py mode change 100644 => 100755 toontown/battle/DistributedBattleAI.py mode change 100644 => 100755 toontown/battle/DistributedBattleBase.py mode change 100644 => 100755 toontown/battle/DistributedBattleBaseAI.py mode change 100644 => 100755 toontown/battle/DistributedBattleBldg.py mode change 100644 => 100755 toontown/battle/DistributedBattleBldgAI.py mode change 100644 => 100755 toontown/battle/DistributedBattleDiners.py mode change 100644 => 100755 toontown/battle/DistributedBattleDinersAI.py mode change 100644 => 100755 toontown/battle/DistributedBattleFinal.py mode change 100644 => 100755 toontown/battle/DistributedBattleFinalAI.py mode change 100644 => 100755 toontown/battle/DistributedBattleWaiters.py mode change 100644 => 100755 toontown/battle/DistributedBattleWaitersAI.py mode change 100644 => 100755 toontown/battle/Fanfare.py mode change 100644 => 100755 toontown/battle/FireCogPanel.py mode change 100644 => 100755 toontown/battle/HealJokes.py mode change 100644 => 100755 toontown/battle/Movie.py mode change 100644 => 100755 toontown/battle/MovieCamera.py mode change 100644 => 100755 toontown/battle/MovieDrop.py mode change 100644 => 100755 toontown/battle/MovieFire.py mode change 100644 => 100755 toontown/battle/MovieHeal.py mode change 100644 => 100755 toontown/battle/MovieLure.py mode change 100644 => 100755 toontown/battle/MovieNPCSOS.py mode change 100644 => 100755 toontown/battle/MoviePetSOS.py mode change 100644 => 100755 toontown/battle/MovieSOS.py mode change 100644 => 100755 toontown/battle/MovieSound.py mode change 100644 => 100755 toontown/battle/MovieSquirt.py mode change 100644 => 100755 toontown/battle/MovieSuitAttacks.py mode change 100644 => 100755 toontown/battle/MovieThrow.py mode change 100644 => 100755 toontown/battle/MovieToonVictory.py mode change 100644 => 100755 toontown/battle/MovieTrap.py mode change 100644 => 100755 toontown/battle/MovieUtil.py mode change 100644 => 100755 toontown/battle/ParticleDefs.py mode change 100644 => 100755 toontown/battle/PlayByPlayText.py mode change 100644 => 100755 toontown/battle/RewardPanel.py mode change 100644 => 100755 toontown/battle/SuitBattleGlobals.py mode change 100644 => 100755 toontown/battle/__init__.py mode change 100644 => 100755 toontown/building/BoardingGroupShow.py mode change 100644 => 100755 toontown/building/BoardingPartyBase.py mode change 100644 => 100755 toontown/building/DistributedAnimatedProp.py mode change 100644 => 100755 toontown/building/DistributedAnimatedPropAI.py mode change 100644 => 100755 toontown/building/DistributedBBElevator.py mode change 100644 => 100755 toontown/building/DistributedBBElevatorAI.py mode change 100644 => 100755 toontown/building/DistributedBoardingParty.py mode change 100644 => 100755 toontown/building/DistributedBoardingPartyAI.py mode change 100644 => 100755 toontown/building/DistributedBossElevator.py mode change 100644 => 100755 toontown/building/DistributedBossElevatorAI.py mode change 100644 => 100755 toontown/building/DistributedBuilding.py mode change 100644 => 100755 toontown/building/DistributedBuildingAI.py mode change 100644 => 100755 toontown/building/DistributedBuildingMgrAI.py mode change 100644 => 100755 toontown/building/DistributedBuildingQueryMgr.py mode change 100644 => 100755 toontown/building/DistributedBuildingQueryMgrAI.py mode change 100644 => 100755 toontown/building/DistributedCFOElevator.py mode change 100644 => 100755 toontown/building/DistributedCFOElevatorAI.py mode change 100644 => 100755 toontown/building/DistributedCJElevator.py mode change 100644 => 100755 toontown/building/DistributedCJElevatorAI.py mode change 100644 => 100755 toontown/building/DistributedClubElevator.py mode change 100644 => 100755 toontown/building/DistributedClubElevatorAI.py mode change 100644 => 100755 toontown/building/DistributedDoor.py mode change 100644 => 100755 toontown/building/DistributedDoorAI.py mode change 100644 => 100755 toontown/building/DistributedElevator.py mode change 100644 => 100755 toontown/building/DistributedElevatorAI.py mode change 100644 => 100755 toontown/building/DistributedElevatorExt.py mode change 100644 => 100755 toontown/building/DistributedElevatorExtAI.py mode change 100644 => 100755 toontown/building/DistributedElevatorFSM.py mode change 100644 => 100755 toontown/building/DistributedElevatorFSMAI.py mode change 100644 => 100755 toontown/building/DistributedElevatorFloor.py mode change 100644 => 100755 toontown/building/DistributedElevatorFloorAI.py mode change 100644 => 100755 toontown/building/DistributedElevatorInt.py mode change 100644 => 100755 toontown/building/DistributedElevatorIntAI.py mode change 100644 => 100755 toontown/building/DistributedGagshopInterior.py mode change 100644 => 100755 toontown/building/DistributedGagshopInteriorAI.py mode change 100644 => 100755 toontown/building/DistributedHQInterior.py mode change 100644 => 100755 toontown/building/DistributedHQInteriorAI.py mode change 100644 => 100755 toontown/building/DistributedKartShopInterior.py mode change 100644 => 100755 toontown/building/DistributedKartShopInteriorAI.py mode change 100644 => 100755 toontown/building/DistributedKnockKnockDoor.py mode change 100644 => 100755 toontown/building/DistributedKnockKnockDoorAI.py mode change 100644 => 100755 toontown/building/DistributedPetshopInterior.py mode change 100644 => 100755 toontown/building/DistributedPetshopInteriorAI.py mode change 100644 => 100755 toontown/building/DistributedSuitInterior.py mode change 100644 => 100755 toontown/building/DistributedSuitInteriorAI.py mode change 100644 => 100755 toontown/building/DistributedToonHallInterior.py mode change 100644 => 100755 toontown/building/DistributedToonHallInteriorAI.py mode change 100644 => 100755 toontown/building/DistributedToonInterior.py mode change 100644 => 100755 toontown/building/DistributedToonInteriorAI.py mode change 100644 => 100755 toontown/building/DistributedTrophyMgr.py mode change 100644 => 100755 toontown/building/DistributedTrophyMgrAI.py mode change 100644 => 100755 toontown/building/DistributedTutorialInterior.py mode change 100644 => 100755 toontown/building/DistributedTutorialInteriorAI.py mode change 100644 => 100755 toontown/building/DistributedVPElevator.py mode change 100644 => 100755 toontown/building/DistributedVPElevatorAI.py mode change 100644 => 100755 toontown/building/DoorTypes.py mode change 100644 => 100755 toontown/building/Elevator.py mode change 100644 => 100755 toontown/building/ElevatorConstants.py mode change 100644 => 100755 toontown/building/ElevatorUtils.py mode change 100644 => 100755 toontown/building/FADoorCodes.py mode change 100644 => 100755 toontown/building/GagshopBuildingAI.py mode change 100644 => 100755 toontown/building/HQBuildingAI.py mode change 100644 => 100755 toontown/building/KartShopBuildingAI.py mode change 100644 => 100755 toontown/building/KnockKnockJokes.py mode change 100644 => 100755 toontown/building/PetshopBuildingAI.py mode change 100644 => 100755 toontown/building/SuitBuildingGlobals.py mode change 100644 => 100755 toontown/building/SuitInterior.py mode change 100644 => 100755 toontown/building/SuitPlannerInteriorAI.py mode change 100644 => 100755 toontown/building/ToonInterior.py mode change 100644 => 100755 toontown/building/ToonInteriorColors.py mode change 100644 => 100755 toontown/building/TutorialBuildingAI.py mode change 100644 => 100755 toontown/building/__init__.py mode change 100644 => 100755 toontown/catalog/AccountDate.py mode change 100644 => 100755 toontown/catalog/AccountDateAI.py mode change 100644 => 100755 toontown/catalog/CatalogAccessoryItem.py mode change 100644 => 100755 toontown/catalog/CatalogAccessoryItemGlobals.py mode change 100644 => 100755 toontown/catalog/CatalogAnimatedFurnitureItem.py mode change 100644 => 100755 toontown/catalog/CatalogAtticItem.py mode change 100644 => 100755 toontown/catalog/CatalogBeanItem.py mode change 100644 => 100755 toontown/catalog/CatalogChatBalloon.py mode change 100644 => 100755 toontown/catalog/CatalogChatItem.py mode change 100644 => 100755 toontown/catalog/CatalogChatItemPicker.py mode change 100644 => 100755 toontown/catalog/CatalogClothingItem.py mode change 100644 => 100755 toontown/catalog/CatalogEmoteItem.py mode change 100644 => 100755 toontown/catalog/CatalogFlooringItem.py mode change 100644 => 100755 toontown/catalog/CatalogFurnitureItem.py mode change 100644 => 100755 toontown/catalog/CatalogGardenItem.py mode change 100644 => 100755 toontown/catalog/CatalogGardenStarterItem.py mode change 100644 => 100755 toontown/catalog/CatalogGenerator.py mode change 100644 => 100755 toontown/catalog/CatalogHouseItem.py mode change 100644 => 100755 toontown/catalog/CatalogInvalidItem.py mode change 100644 => 100755 toontown/catalog/CatalogItem.py mode change 100644 => 100755 toontown/catalog/CatalogItemList.py mode change 100644 => 100755 toontown/catalog/CatalogItemPanel.py mode change 100644 => 100755 toontown/catalog/CatalogItemTypes.py mode change 100644 => 100755 toontown/catalog/CatalogManager.py mode change 100644 => 100755 toontown/catalog/CatalogManagerAI.py mode change 100644 => 100755 toontown/catalog/CatalogMouldingItem.py mode change 100644 => 100755 toontown/catalog/CatalogNametagItem.py mode change 100644 => 100755 toontown/catalog/CatalogNotifyDialog.py mode change 100644 => 100755 toontown/catalog/CatalogPetTrickItem.py mode change 100644 => 100755 toontown/catalog/CatalogPoleItem.py mode change 100644 => 100755 toontown/catalog/CatalogRentalItem.py mode change 100644 => 100755 toontown/catalog/CatalogScreen.py mode change 100644 => 100755 toontown/catalog/CatalogSurfaceColors.py mode change 100644 => 100755 toontown/catalog/CatalogSurfaceItem.py mode change 100644 => 100755 toontown/catalog/CatalogToonStatueItem.py mode change 100644 => 100755 toontown/catalog/CatalogWainscotingItem.py mode change 100644 => 100755 toontown/catalog/CatalogWallpaperItem.py mode change 100644 => 100755 toontown/catalog/CatalogWindowItem.py mode change 100644 => 100755 toontown/catalog/MailboxScreen.py mode change 100644 => 100755 toontown/catalog/__init__.py mode change 100644 => 100755 toontown/chat/ChatBalloon.py mode change 100644 => 100755 toontown/chat/ChatGlobals.py mode change 100644 => 100755 toontown/chat/ResistanceChat.py mode change 100644 => 100755 toontown/chat/TTChatInputSpeedChat.py mode change 100644 => 100755 toontown/chat/TTChatInputWhiteList.py mode change 100644 => 100755 toontown/chat/TTSCWhiteListTerminal.py mode change 100644 => 100755 toontown/chat/TTTalkAssistant.py mode change 100644 => 100755 toontown/chat/TTWhiteList.py mode change 100644 => 100755 toontown/chat/ToonChatGarbler.py mode change 100644 => 100755 toontown/chat/ToontownChatManager.py mode change 100644 => 100755 toontown/chat/WhisperPopup.py mode change 100644 => 100755 toontown/chat/WhiteListData.py mode change 100644 => 100755 toontown/chat/__init__.py mode change 100644 => 100755 toontown/coderedemption/TTCodeRedemptionMgr.py mode change 100644 => 100755 toontown/coderedemption/TTCodeRedemptionMgrAI.py mode change 100644 => 100755 toontown/coderedemption/__init__.py mode change 100644 => 100755 toontown/cogdominium/CogdoBarrelRoom.py mode change 100644 => 100755 toontown/cogdominium/CogdoBarrelRoomConsts.py mode change 100644 => 100755 toontown/cogdominium/CogdoBarrelRoomMovies.py mode change 100644 => 100755 toontown/cogdominium/CogdoBarrelRoomRewardPanel.py mode change 100644 => 100755 toontown/cogdominium/CogdoBoardroomGameBase.py mode change 100644 => 100755 toontown/cogdominium/CogdoBoardroomGameConsts.py mode change 100644 => 100755 toontown/cogdominium/CogdoBoardroomGameSpec.py mode change 100644 => 100755 toontown/cogdominium/CogdoCraneGame.py mode change 100644 => 100755 toontown/cogdominium/CogdoCraneGameBase.py mode change 100644 => 100755 toontown/cogdominium/CogdoCraneGameConsts.py mode change 100644 => 100755 toontown/cogdominium/CogdoCraneGameSpec.py mode change 100644 => 100755 toontown/cogdominium/CogdoElevatorMovie.py mode change 100644 => 100755 toontown/cogdominium/CogdoEntityCreator.py mode change 100644 => 100755 toontown/cogdominium/CogdoEntityCreatorAI.py mode change 100644 => 100755 toontown/cogdominium/CogdoEntityTypes.py mode change 100644 => 100755 toontown/cogdominium/CogdoExecutiveSuiteMovies.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingCameraManager.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingCollisions.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingGame.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingGameGlobals.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingGameGuis.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingGameMovies.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingGuiManager.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingInputManager.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingLegalEagle.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingLevel.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingLevelQuadrant.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingLocalPlayer.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingObjects.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingObstacles.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingPlayer.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingShadowPlacer.py mode change 100644 => 100755 toontown/cogdominium/CogdoFlyingUtil.py mode change 100644 => 100755 toontown/cogdominium/CogdoGameAudioManager.py mode change 100644 => 100755 toontown/cogdominium/CogdoGameConsts.py mode change 100644 => 100755 toontown/cogdominium/CogdoGameExit.py mode change 100644 => 100755 toontown/cogdominium/CogdoGameGatherable.py mode change 100644 => 100755 toontown/cogdominium/CogdoGameMessageDisplay.py mode change 100644 => 100755 toontown/cogdominium/CogdoGameRulesPanel.py mode change 100644 => 100755 toontown/cogdominium/CogdoInterior.py mode change 100644 => 100755 toontown/cogdominium/CogdoLayout.py mode change 100644 => 100755 toontown/cogdominium/CogdoLevelMgr.py mode change 100644 => 100755 toontown/cogdominium/CogdoLevelMgrAI.py mode change 100644 => 100755 toontown/cogdominium/CogdoMaze.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeCameraManager.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeData.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeGame.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeGameGlobals.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeGameGuis.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeGameMovies.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeGameObjects.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeGuiManager.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeLocalPlayer.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazePlayer.py mode change 100644 => 100755 toontown/cogdominium/CogdoMazeSuits.py mode change 100644 => 100755 toontown/cogdominium/CogdoMemoGui.py mode change 100644 => 100755 toontown/cogdominium/CogdoUtil.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoBoardroomGame.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoBoardroomGameAI.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoCrane.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoCraneAI.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoCraneCog.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoCraneCogAI.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoCraneGame.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoCraneGameAI.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoCraneMoneyBag.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoCraneMoneyBagAI.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoCraneObject.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoFlyingGame.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoFlyingGameAI.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoGame.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoGameAI.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoGameBase.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoLevelGame.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoLevelGameAI.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoMazeGame.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoMazeGameAI.py mode change 100644 => 100755 toontown/cogdominium/DistCogdoMazeGameBase.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoBarrel.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoBarrelAI.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoBattleBldg.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoBattleBldgAI.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoElevatorExt.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoElevatorExtAI.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoElevatorInt.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoElevatorIntAI.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoInterior.py mode change 100644 => 100755 toontown/cogdominium/DistributedCogdoInteriorAI.py mode change 100644 => 100755 toontown/cogdominium/SuitPlannerCogdoInteriorAI.py mode change 100644 => 100755 toontown/cogdominium/__init__.py mode change 100644 => 100755 toontown/coghq/ActiveCell.py mode change 100644 => 100755 toontown/coghq/ActiveCellAI.py mode change 100644 => 100755 toontown/coghq/BanquetTableBase.py mode change 100644 => 100755 toontown/coghq/BarrelBase.py mode change 100644 => 100755 toontown/coghq/BattleBlocker.py mode change 100644 => 100755 toontown/coghq/BattleBlockerAI.py mode change 100644 => 100755 toontown/coghq/BattleExperienceAggregatorAI.py mode change 100644 => 100755 toontown/coghq/BossbotCogHQLoader.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubEntrance_Action00.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubFairwayRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubFairwayRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubGreenRoom_Action00.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubGreenRoom_Action01.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubGreenRoom_Action02.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubKartRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubKartRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubMazeRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubMazeRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubMazeRoom_Battle01.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubMazeRoom_Battle01_Cogs.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubMazeRoom_Battle02.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubMazeRoom_Battle02_Cogs.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubMazeRoom_Battle03_Cogs.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubPresidentRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubPresidentRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubTeeOffRoom_Action00.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubTeeOffRoom_Action01.py mode change 100644 => 100755 toontown/coghq/BossbotCountryClubTeeOffRoom_Action02.py mode change 100644 => 100755 toontown/coghq/BossbotHQBossBattle.py mode change 100644 => 100755 toontown/coghq/BossbotHQExterior.py mode change 100644 => 100755 toontown/coghq/BossbotOfficeExterior.py mode change 100644 => 100755 toontown/coghq/CashbotCogHQLoader.py mode change 100644 => 100755 toontown/coghq/CashbotHQBossBattle.py mode change 100644 => 100755 toontown/coghq/CashbotHQExterior.py mode change 100644 => 100755 toontown/coghq/CashbotMintBoilerRoom_Action00.py mode change 100644 => 100755 toontown/coghq/CashbotMintBoilerRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/CashbotMintBoilerRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintBoilerRoom_Battle01.py mode change 100644 => 100755 toontown/coghq/CashbotMintBoilerRoom_Battle01_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintControlRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/CashbotMintControlRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintDuctRoom_Action00.py mode change 100644 => 100755 toontown/coghq/CashbotMintDuctRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/CashbotMintDuctRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintDuctRoom_Battle01.py mode change 100644 => 100755 toontown/coghq/CashbotMintDuctRoom_Battle01_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintEntrance_Action00.py mode change 100644 => 100755 toontown/coghq/CashbotMintGearRoom_Action00.py mode change 100644 => 100755 toontown/coghq/CashbotMintGearRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/CashbotMintGearRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintGearRoom_Battle01.py mode change 100644 => 100755 toontown/coghq/CashbotMintGearRoom_Battle01_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintLavaRoomFoyer_Action00.py mode change 100644 => 100755 toontown/coghq/CashbotMintLavaRoomFoyer_Action01.py mode change 100644 => 100755 toontown/coghq/CashbotMintLavaRoomFoyer_Battle00.py mode change 100644 => 100755 toontown/coghq/CashbotMintLavaRoomFoyer_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintLavaRoomFoyer_Battle01.py mode change 100644 => 100755 toontown/coghq/CashbotMintLavaRoomFoyer_Battle01_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintLavaRoom_Action00.py mode change 100644 => 100755 toontown/coghq/CashbotMintLobby_Action00.py mode change 100644 => 100755 toontown/coghq/CashbotMintLobby_Battle00.py mode change 100644 => 100755 toontown/coghq/CashbotMintLobby_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintLobby_Battle01.py mode change 100644 => 100755 toontown/coghq/CashbotMintLobby_Battle01_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintOilRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/CashbotMintOilRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintPaintMixerReward_Battle00.py mode change 100644 => 100755 toontown/coghq/CashbotMintPaintMixerReward_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintPaintMixer_Action00.py mode change 100644 => 100755 toontown/coghq/CashbotMintPipeRoom_Action00.py mode change 100644 => 100755 toontown/coghq/CashbotMintPipeRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/CashbotMintPipeRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintPipeRoom_Battle01.py mode change 100644 => 100755 toontown/coghq/CashbotMintPipeRoom_Battle01_Cogs.py mode change 100644 => 100755 toontown/coghq/CashbotMintStomperAlley_Action00.py mode change 100644 => 100755 toontown/coghq/CogDisguiseGlobals.py mode change 100644 => 100755 toontown/coghq/CogHQBossBattle.py mode change 100644 => 100755 toontown/coghq/CogHQExterior.py mode change 100644 => 100755 toontown/coghq/CogHQLoader.py mode change 100644 => 100755 toontown/coghq/CogHQLobby.py mode change 100644 => 100755 toontown/coghq/ConveyorBelt.py mode change 100644 => 100755 toontown/coghq/CountryClubInterior.py mode change 100644 => 100755 toontown/coghq/CountryClubLayout.py mode change 100644 => 100755 toontown/coghq/CountryClubManagerAI.py mode change 100644 => 100755 toontown/coghq/CountryClubRoom.py mode change 100644 => 100755 toontown/coghq/CountryClubRoomBase.py mode change 100644 => 100755 toontown/coghq/CountryClubRoomSpecs.py mode change 100644 => 100755 toontown/coghq/CrateGlobals.py mode change 100644 => 100755 toontown/coghq/CrusherCell.py mode change 100644 => 100755 toontown/coghq/CrusherCellAI.py mode change 100644 => 100755 toontown/coghq/DinerStatusIndicator.py mode change 100644 => 100755 toontown/coghq/DirectionalCell.py mode change 100644 => 100755 toontown/coghq/DirectionalCellAI.py mode change 100644 => 100755 toontown/coghq/DistributedBanquetTable.py mode change 100644 => 100755 toontown/coghq/DistributedBanquetTableAI.py mode change 100644 => 100755 toontown/coghq/DistributedBarrelBase.py mode change 100644 => 100755 toontown/coghq/DistributedBarrelBaseAI.py mode change 100644 => 100755 toontown/coghq/DistributedBattleFactory.py mode change 100644 => 100755 toontown/coghq/DistributedBattleFactoryAI.py mode change 100644 => 100755 toontown/coghq/DistributedBeanBarrel.py mode change 100644 => 100755 toontown/coghq/DistributedBeanBarrelAI.py mode change 100644 => 100755 toontown/coghq/DistributedButton.py mode change 100644 => 100755 toontown/coghq/DistributedButtonAI.py mode change 100644 => 100755 toontown/coghq/DistributedCashbotBossCrane.py mode change 100644 => 100755 toontown/coghq/DistributedCashbotBossCraneAI.py mode change 100644 => 100755 toontown/coghq/DistributedCashbotBossObject.py mode change 100644 => 100755 toontown/coghq/DistributedCashbotBossObjectAI.py mode change 100644 => 100755 toontown/coghq/DistributedCashbotBossSafe.py mode change 100644 => 100755 toontown/coghq/DistributedCashbotBossSafeAI.py mode change 100644 => 100755 toontown/coghq/DistributedCashbotBossTreasure.py mode change 100644 => 100755 toontown/coghq/DistributedCashbotBossTreasureAI.py mode change 100644 => 100755 toontown/coghq/DistributedCogHQDoor.py mode change 100644 => 100755 toontown/coghq/DistributedCogHQDoorAI.py mode change 100644 => 100755 toontown/coghq/DistributedCogKart.py mode change 100644 => 100755 toontown/coghq/DistributedCogKartAI.py mode change 100644 => 100755 toontown/coghq/DistributedCountryClub.py mode change 100644 => 100755 toontown/coghq/DistributedCountryClubAI.py mode change 100644 => 100755 toontown/coghq/DistributedCountryClubBattle.py mode change 100644 => 100755 toontown/coghq/DistributedCountryClubBattleAI.py mode change 100644 => 100755 toontown/coghq/DistributedCountryClubRoom.py mode change 100644 => 100755 toontown/coghq/DistributedCountryClubRoomAI.py mode change 100644 => 100755 toontown/coghq/DistributedCrate.py mode change 100644 => 100755 toontown/coghq/DistributedCrateAI.py mode change 100644 => 100755 toontown/coghq/DistributedCrushableEntity.py mode change 100644 => 100755 toontown/coghq/DistributedCrushableEntityAI.py mode change 100644 => 100755 toontown/coghq/DistributedCrusherEntity.py mode change 100644 => 100755 toontown/coghq/DistributedCrusherEntityAI.py mode change 100644 => 100755 toontown/coghq/DistributedDoorEntity.py mode change 100644 => 100755 toontown/coghq/DistributedDoorEntityAI.py mode change 100644 => 100755 toontown/coghq/DistributedDoorEntityBase.py mode change 100644 => 100755 toontown/coghq/DistributedElevatorMarker.py mode change 100644 => 100755 toontown/coghq/DistributedElevatorMarkerAI.py mode change 100644 => 100755 toontown/coghq/DistributedFactory.py mode change 100644 => 100755 toontown/coghq/DistributedFactoryAI.py mode change 100644 => 100755 toontown/coghq/DistributedFactoryElevatorExt.py mode change 100644 => 100755 toontown/coghq/DistributedFactoryElevatorExtAI.py mode change 100644 => 100755 toontown/coghq/DistributedFoodBelt.py mode change 100644 => 100755 toontown/coghq/DistributedFoodBeltAI.py mode change 100644 => 100755 toontown/coghq/DistributedGagBarrel.py mode change 100644 => 100755 toontown/coghq/DistributedGagBarrelAI.py mode change 100644 => 100755 toontown/coghq/DistributedGolfGreenGame.py mode change 100644 => 100755 toontown/coghq/DistributedGolfGreenGameAI.py mode change 100644 => 100755 toontown/coghq/DistributedGolfSpot.py mode change 100644 => 100755 toontown/coghq/DistributedGolfSpotAI.py mode change 100644 => 100755 toontown/coghq/DistributedGrid.py mode change 100644 => 100755 toontown/coghq/DistributedGridAI.py mode change 100644 => 100755 toontown/coghq/DistributedGridGoonAI.py mode change 100644 => 100755 toontown/coghq/DistributedHealBarrel.py mode change 100644 => 100755 toontown/coghq/DistributedHealBarrelAI.py mode change 100644 => 100755 toontown/coghq/DistributedLaserField.py mode change 100644 => 100755 toontown/coghq/DistributedLaserFieldAI.py mode change 100644 => 100755 toontown/coghq/DistributedLawOffice.py mode change 100644 => 100755 toontown/coghq/DistributedLawOfficeAI.py mode change 100644 => 100755 toontown/coghq/DistributedLawOfficeElevatorExt.py mode change 100644 => 100755 toontown/coghq/DistributedLawOfficeElevatorExtAI.py mode change 100644 => 100755 toontown/coghq/DistributedLawOfficeElevatorInt.py mode change 100644 => 100755 toontown/coghq/DistributedLawOfficeElevatorIntAI.py mode change 100644 => 100755 toontown/coghq/DistributedLawOfficeFloor.py mode change 100644 => 100755 toontown/coghq/DistributedLawOfficeFloorAI.py mode change 100644 => 100755 toontown/coghq/DistributedLawbotBossGavel.py mode change 100644 => 100755 toontown/coghq/DistributedLawbotBossGavelAI.py mode change 100644 => 100755 toontown/coghq/DistributedLawbotCannon.py mode change 100644 => 100755 toontown/coghq/DistributedLawbotCannonAI.py mode change 100644 => 100755 toontown/coghq/DistributedLawbotChair.py mode change 100644 => 100755 toontown/coghq/DistributedLawbotChairAI.py mode change 100644 => 100755 toontown/coghq/DistributedLevelBattle.py mode change 100644 => 100755 toontown/coghq/DistributedLevelBattleAI.py mode change 100644 => 100755 toontown/coghq/DistributedLift.py mode change 100644 => 100755 toontown/coghq/DistributedLiftAI.py mode change 100644 => 100755 toontown/coghq/DistributedMaze.py mode change 100644 => 100755 toontown/coghq/DistributedMazeAI.py mode change 100644 => 100755 toontown/coghq/DistributedMegaCorp.py mode change 100644 => 100755 toontown/coghq/DistributedMegaCorpAI.py mode change 100644 => 100755 toontown/coghq/DistributedMint.py mode change 100644 => 100755 toontown/coghq/DistributedMintAI.py mode change 100644 => 100755 toontown/coghq/DistributedMintBattle.py mode change 100644 => 100755 toontown/coghq/DistributedMintBattleAI.py mode change 100644 => 100755 toontown/coghq/DistributedMintElevatorExt.py mode change 100644 => 100755 toontown/coghq/DistributedMintElevatorExtAI.py mode change 100644 => 100755 toontown/coghq/DistributedMintRoom.py mode change 100644 => 100755 toontown/coghq/DistributedMintRoomAI.py mode change 100644 => 100755 toontown/coghq/DistributedMoleField.py mode change 100644 => 100755 toontown/coghq/DistributedMoleFieldAI.py mode change 100644 => 100755 toontown/coghq/DistributedMover.py mode change 100644 => 100755 toontown/coghq/DistributedMoverAI.py mode change 100644 => 100755 toontown/coghq/DistributedSecurityCamera.py mode change 100644 => 100755 toontown/coghq/DistributedSecurityCameraAI.py mode change 100644 => 100755 toontown/coghq/DistributedSellbotHQDoor.py mode change 100644 => 100755 toontown/coghq/DistributedSellbotHQDoorAI.py mode change 100644 => 100755 toontown/coghq/DistributedSinkingPlatform.py mode change 100644 => 100755 toontown/coghq/DistributedSinkingPlatformAI.py mode change 100644 => 100755 toontown/coghq/DistributedStage.py mode change 100644 => 100755 toontown/coghq/DistributedStageAI.py mode change 100644 => 100755 toontown/coghq/DistributedStageBattle.py mode change 100644 => 100755 toontown/coghq/DistributedStageBattleAI.py mode change 100644 => 100755 toontown/coghq/DistributedStageRoom.py mode change 100644 => 100755 toontown/coghq/DistributedStageRoomAI.py mode change 100644 => 100755 toontown/coghq/DistributedStomper.py mode change 100644 => 100755 toontown/coghq/DistributedStomperAI.py mode change 100644 => 100755 toontown/coghq/DistributedStomperPair.py mode change 100644 => 100755 toontown/coghq/DistributedStomperPairAI.py mode change 100644 => 100755 toontown/coghq/DistributedSwitch.py mode change 100644 => 100755 toontown/coghq/DistributedSwitchAI.py mode change 100644 => 100755 toontown/coghq/DistributedSwitchBase.py mode change 100644 => 100755 toontown/coghq/DistributedTrigger.py mode change 100644 => 100755 toontown/coghq/DistributedTriggerAI.py mode change 100644 => 100755 toontown/coghq/FactoryBase.py mode change 100644 => 100755 toontown/coghq/FactoryCameraViews.py mode change 100644 => 100755 toontown/coghq/FactoryEntityCreator.py mode change 100644 => 100755 toontown/coghq/FactoryEntityCreatorAI.py mode change 100644 => 100755 toontown/coghq/FactoryExterior.py mode change 100644 => 100755 toontown/coghq/FactoryInterior.py mode change 100644 => 100755 toontown/coghq/FactoryLevelMgr.py mode change 100644 => 100755 toontown/coghq/FactoryLevelMgrAI.py mode change 100644 => 100755 toontown/coghq/FactoryManagerAI.py mode change 100644 => 100755 toontown/coghq/FactorySpecs.py mode change 100644 => 100755 toontown/coghq/FactoryUtil.py mode change 100644 => 100755 toontown/coghq/FoodBeltBase.py mode change 100644 => 100755 toontown/coghq/GameSprite3D.py mode change 100644 => 100755 toontown/coghq/GearEntity.py mode change 100644 => 100755 toontown/coghq/GolfGreenGameGlobals.py mode change 100644 => 100755 toontown/coghq/GoonClipPlane.py mode change 100644 => 100755 toontown/coghq/LaserGameAvoid.py mode change 100644 => 100755 toontown/coghq/LaserGameBase.py mode change 100644 => 100755 toontown/coghq/LaserGameDrag.py mode change 100644 => 100755 toontown/coghq/LaserGameMineSweeper.py mode change 100644 => 100755 toontown/coghq/LaserGameRoll.py mode change 100644 => 100755 toontown/coghq/LawOfficeBase.py mode change 100644 => 100755 toontown/coghq/LawOfficeLayout.py mode change 100644 => 100755 toontown/coghq/LawOfficeManagerAI.py mode change 100644 => 100755 toontown/coghq/LawOffice_Spec_Tier0_a.py mode change 100644 => 100755 toontown/coghq/LawOffice_Spec_Tier0_b.py mode change 100644 => 100755 toontown/coghq/LawbotCogHQLoader.py mode change 100644 => 100755 toontown/coghq/LawbotHQBossBattle.py mode change 100644 => 100755 toontown/coghq/LawbotHQExterior.py mode change 100644 => 100755 toontown/coghq/LawbotLegFactoryCogs.py mode change 100644 => 100755 toontown/coghq/LawbotLegFactorySpec.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeBoilerRoom_Action01.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeBoilerRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeBoilerRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeBoilerRoom_Security00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeBoilerRoom_Trap00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeBoilerRoom_Trap00_Cogs.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeDiamondRoom_Action00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeDiamondRoom_Action01.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeDiamondRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeDiamondRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeDiamondRoom_Security00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeDiamondRoom_Trap00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeDiamondRoom_Trap00_Cogs.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeEntrance_Action00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeExterior.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeGearRoom_Action00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeGearRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeGearRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeGearRoom_Platform00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeGearRoom_Security00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeLobby_Action00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeLobby_Action01.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeLobby_Lights00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeLobby_Trap00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeLobby_Trap00_Cogs.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeOilRoom_Battle00.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeOilRoom_Battle00_Cogs.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeOilRoom_Battle01.py mode change 100644 => 100755 toontown/coghq/LawbotOfficeOilRoom_Battle01_Cogs.py mode change 100644 => 100755 toontown/coghq/LevelBattleManagerAI.py mode change 100644 => 100755 toontown/coghq/LevelSuitPlannerAI.py mode change 100644 => 100755 toontown/coghq/LiftConstants.py mode change 100644 => 100755 toontown/coghq/LobbyManager.py mode change 100644 => 100755 toontown/coghq/LobbyManagerAI.py mode change 100644 => 100755 toontown/coghq/MegaCorpInterior.py mode change 100644 => 100755 toontown/coghq/MintInterior.py mode change 100644 => 100755 toontown/coghq/MintLayout.py mode change 100644 => 100755 toontown/coghq/MintManagerAI.py mode change 100644 => 100755 toontown/coghq/MintProduct.py mode change 100644 => 100755 toontown/coghq/MintProductPallet.py mode change 100644 => 100755 toontown/coghq/MintRoom.py mode change 100644 => 100755 toontown/coghq/MintRoomBase.py mode change 100644 => 100755 toontown/coghq/MintRoomSpecs.py mode change 100644 => 100755 toontown/coghq/MintShelf.py mode change 100644 => 100755 toontown/coghq/MoleFieldBase.py mode change 100644 => 100755 toontown/coghq/MoleHill.py mode change 100644 => 100755 toontown/coghq/MovingPlatform.py mode change 100644 => 100755 toontown/coghq/NullCogs.py mode change 100644 => 100755 toontown/coghq/PaintMixer.py mode change 100644 => 100755 toontown/coghq/PathMasterEntity.py mode change 100644 => 100755 toontown/coghq/PlatformEntity.py mode change 100644 => 100755 toontown/coghq/RenderingEntity.py mode change 100644 => 100755 toontown/coghq/SellbotCogHQLoader.py mode change 100644 => 100755 toontown/coghq/SellbotHQBossBattle.py mode change 100644 => 100755 toontown/coghq/SellbotHQExterior.py mode change 100644 => 100755 toontown/coghq/SellbotLegFactoryCogs.py mode change 100644 => 100755 toontown/coghq/SellbotLegFactorySpec.py mode change 100644 => 100755 toontown/coghq/SellbotMegaCorpLegCogs.py mode change 100644 => 100755 toontown/coghq/SellbotMegaCorpLegSpec.py mode change 100644 => 100755 toontown/coghq/SinkingPlatformGlobals.py mode change 100644 => 100755 toontown/coghq/SpecImports.py mode change 100644 => 100755 toontown/coghq/StageInterior.py mode change 100644 => 100755 toontown/coghq/StageLayout.py mode change 100644 => 100755 toontown/coghq/StageRoom.py mode change 100644 => 100755 toontown/coghq/StageRoomBase.py mode change 100644 => 100755 toontown/coghq/StageRoomSpecs.py mode change 100644 => 100755 toontown/coghq/StomperGlobals.py mode change 100644 => 100755 toontown/coghq/__init__.py mode change 100644 => 100755 toontown/distributed/DelayDeletable.py mode change 100644 => 100755 toontown/distributed/DelayDelete.py mode change 100644 => 100755 toontown/distributed/DistributedTimer.py mode change 100644 => 100755 toontown/distributed/DistributedTimerAI.py mode change 100644 => 100755 toontown/distributed/HoodMgr.py mode change 100644 => 100755 toontown/distributed/PlayGame.py mode change 100644 => 100755 toontown/distributed/ShardStatusReceiver.py mode change 100644 => 100755 toontown/distributed/ToontownClientRepository.py mode change 100644 => 100755 toontown/distributed/ToontownDistrict.py mode change 100644 => 100755 toontown/distributed/ToontownDistrictAI.py mode change 100644 => 100755 toontown/distributed/ToontownDistrictStats.py mode change 100644 => 100755 toontown/distributed/ToontownDistrictStatsAI.py mode change 100644 => 100755 toontown/distributed/ToontownInternalRepository.py mode change 100644 => 100755 toontown/distributed/ToontownMsgTypes.py mode change 100644 => 100755 toontown/distributed/__init__.py mode change 100644 => 100755 toontown/dna/DNAParser.py mode change 100644 => 100755 toontown/dna/__init__.py mode change 100644 => 100755 toontown/effects/BlastEffect.py mode change 100644 => 100755 toontown/effects/Bubbles.py mode change 100644 => 100755 toontown/effects/ChrysanthemumEffect.py mode change 100644 => 100755 toontown/effects/DistributedFireworkShow.py mode change 100644 => 100755 toontown/effects/DistributedFireworkShowAI.py mode change 100644 => 100755 toontown/effects/Drift.py mode change 100644 => 100755 toontown/effects/DustCloud.py mode change 100644 => 100755 toontown/effects/EffectController.py mode change 100644 => 100755 toontown/effects/Firework.py mode change 100644 => 100755 toontown/effects/FireworkEffect.py mode change 100644 => 100755 toontown/effects/FireworkGlobals.py mode change 100644 => 100755 toontown/effects/FireworkShow.py mode change 100644 => 100755 toontown/effects/FireworkShowMixin.py mode change 100644 => 100755 toontown/effects/FireworkShows.py mode change 100644 => 100755 toontown/effects/FireworkSparkles.py mode change 100644 => 100755 toontown/effects/Fireworks.py mode change 100644 => 100755 toontown/effects/FlashEffect.py mode change 100644 => 100755 toontown/effects/Glow.py mode change 100644 => 100755 toontown/effects/GlowTrail.py mode change 100644 => 100755 toontown/effects/IceCream.py mode change 100644 => 100755 toontown/effects/NoiseSparkles.py mode change 100644 => 100755 toontown/effects/PeonyEffect.py mode change 100644 => 100755 toontown/effects/PolyTrail.py mode change 100644 => 100755 toontown/effects/PooledEffect.py mode change 100644 => 100755 toontown/effects/RayBurst.py mode change 100644 => 100755 toontown/effects/RingEffect.py mode change 100644 => 100755 toontown/effects/Ripples.py mode change 100644 => 100755 toontown/effects/RocketExplosion.py mode change 100644 => 100755 toontown/effects/ScavengerHuntEffects.py mode change 100644 => 100755 toontown/effects/SimpleSparkles.py mode change 100644 => 100755 toontown/effects/SkullBurst.py mode change 100644 => 100755 toontown/effects/SkullFlash.py mode change 100644 => 100755 toontown/effects/Sparks.py mode change 100644 => 100755 toontown/effects/SparksTrail.py mode change 100644 => 100755 toontown/effects/SparksTrailLong.py mode change 100644 => 100755 toontown/effects/Splash.py mode change 100644 => 100755 toontown/effects/StarBurst.py mode change 100644 => 100755 toontown/effects/TrailExplosion.py mode change 100644 => 100755 toontown/effects/Wake.py mode change 100644 => 100755 toontown/effects/__init__.py mode change 100644 => 100755 toontown/estate/BankGUI.py mode change 100644 => 100755 toontown/estate/BankGlobals.py mode change 100644 => 100755 toontown/estate/BeanRecipeGui.py mode change 100644 => 100755 toontown/estate/CannonGlobals.py mode change 100644 => 100755 toontown/estate/ClosetGUI.py mode change 100644 => 100755 toontown/estate/ClosetGlobals.py mode change 100644 => 100755 toontown/estate/DNAFurnitureReaderAI.py mode change 100644 => 100755 toontown/estate/DistributedAnimatedStatuary.py mode change 100644 => 100755 toontown/estate/DistributedAnimatedStatuaryAI.py mode change 100644 => 100755 toontown/estate/DistributedBank.py mode change 100644 => 100755 toontown/estate/DistributedBankAI.py mode change 100644 => 100755 toontown/estate/DistributedCannon.py mode change 100644 => 100755 toontown/estate/DistributedCannonAI.py mode change 100644 => 100755 toontown/estate/DistributedChangingStatuary.py mode change 100644 => 100755 toontown/estate/DistributedChangingStatuaryAI.py mode change 100644 => 100755 toontown/estate/DistributedCloset.py mode change 100644 => 100755 toontown/estate/DistributedClosetAI.py mode change 100644 => 100755 toontown/estate/DistributedEstate.py mode change 100644 => 100755 toontown/estate/DistributedEstateAI.py mode change 100644 => 100755 toontown/estate/DistributedFireworksCannon.py mode change 100644 => 100755 toontown/estate/DistributedFireworksCannonAI.py mode change 100644 => 100755 toontown/estate/DistributedFlower.py mode change 100644 => 100755 toontown/estate/DistributedFlowerAI.py mode change 100644 => 100755 toontown/estate/DistributedFurnitureItem.py mode change 100644 => 100755 toontown/estate/DistributedFurnitureItemAI.py mode change 100644 => 100755 toontown/estate/DistributedFurnitureManager.py mode change 100644 => 100755 toontown/estate/DistributedFurnitureManagerAI.py mode change 100644 => 100755 toontown/estate/DistributedGagTree.py mode change 100644 => 100755 toontown/estate/DistributedGagTreeAI.py mode change 100644 => 100755 toontown/estate/DistributedGarden.py mode change 100644 => 100755 toontown/estate/DistributedGardenAI.py mode change 100644 => 100755 toontown/estate/DistributedGardenBox.py mode change 100644 => 100755 toontown/estate/DistributedGardenBoxAI.py mode change 100644 => 100755 toontown/estate/DistributedGardenPlot.py mode change 100644 => 100755 toontown/estate/DistributedGardenPlotAI.py mode change 100644 => 100755 toontown/estate/DistributedHouse.py mode change 100644 => 100755 toontown/estate/DistributedHouseAI.py mode change 100644 => 100755 toontown/estate/DistributedHouseDoor.py mode change 100644 => 100755 toontown/estate/DistributedHouseDoorAI.py mode change 100644 => 100755 toontown/estate/DistributedHouseInterior.py mode change 100644 => 100755 toontown/estate/DistributedHouseInteriorAI.py mode change 100644 => 100755 toontown/estate/DistributedHouseItem.py mode change 100644 => 100755 toontown/estate/DistributedLawnDecor.py mode change 100644 => 100755 toontown/estate/DistributedLawnDecorAI.py mode change 100644 => 100755 toontown/estate/DistributedMailbox.py mode change 100644 => 100755 toontown/estate/DistributedMailboxAI.py mode change 100644 => 100755 toontown/estate/DistributedPhone.py mode change 100644 => 100755 toontown/estate/DistributedPhoneAI.py mode change 100644 => 100755 toontown/estate/DistributedPlantBase.py mode change 100644 => 100755 toontown/estate/DistributedPlantBaseAI.py mode change 100644 => 100755 toontown/estate/DistributedStatuary.py mode change 100644 => 100755 toontown/estate/DistributedStatuaryAI.py mode change 100644 => 100755 toontown/estate/DistributedTarget.py mode change 100644 => 100755 toontown/estate/DistributedTargetAI.py mode change 100644 => 100755 toontown/estate/DistributedToonStatuary.py mode change 100644 => 100755 toontown/estate/DistributedToonStatuaryAI.py mode change 100644 => 100755 toontown/estate/DistributedTrunk.py mode change 100644 => 100755 toontown/estate/DistributedTrunkAI.py mode change 100644 => 100755 toontown/estate/Estate.py mode change 100644 => 100755 toontown/estate/EstateLoader.py mode change 100644 => 100755 toontown/estate/EstateManager.py mode change 100644 => 100755 toontown/estate/EstateManagerAI.py mode change 100644 => 100755 toontown/estate/FireworkItemPanel.py mode change 100644 => 100755 toontown/estate/FireworksGui.py mode change 100644 => 100755 toontown/estate/FlowerBase.py mode change 100644 => 100755 toontown/estate/FlowerBasket.py mode change 100644 => 100755 toontown/estate/FlowerBrowser.py mode change 100644 => 100755 toontown/estate/FlowerCollection.py mode change 100644 => 100755 toontown/estate/FlowerPanel.py mode change 100644 => 100755 toontown/estate/FlowerPhoto.py mode change 100644 => 100755 toontown/estate/FlowerPicker.py mode change 100644 => 100755 toontown/estate/FlowerSellGUI.py mode change 100644 => 100755 toontown/estate/FlowerSpeciesPanel.py mode change 100644 => 100755 toontown/estate/GameSprite.py mode change 100644 => 100755 toontown/estate/GardenDropGame.py mode change 100644 => 100755 toontown/estate/GardenGameGlobals.py mode change 100644 => 100755 toontown/estate/GardenGlobals.py mode change 100644 => 100755 toontown/estate/GardenProgressMeter.py mode change 100644 => 100755 toontown/estate/GardenTutorial.py mode change 100644 => 100755 toontown/estate/House.py mode change 100644 => 100755 toontown/estate/HouseGlobals.py mode change 100644 => 100755 toontown/estate/MailboxGlobals.py mode change 100644 => 100755 toontown/estate/PhoneGlobals.py mode change 100644 => 100755 toontown/estate/PlantTreeGUI.py mode change 100644 => 100755 toontown/estate/PlantingGUI.py mode change 100644 => 100755 toontown/estate/SpecialsPhoto.py mode change 100644 => 100755 toontown/estate/TableGlobals.py mode change 100644 => 100755 toontown/estate/ToonStatueSelectionGUI.py mode change 100644 => 100755 toontown/estate/TrunkGUI.py mode change 100644 => 100755 toontown/estate/__init__.py mode change 100644 => 100755 toontown/estate/houseDesign.py mode change 100644 => 100755 toontown/fishing/BingoCardBase.py mode change 100644 => 100755 toontown/fishing/BingoCardCell.py mode change 100644 => 100755 toontown/fishing/BingoCardGui.py mode change 100644 => 100755 toontown/fishing/BingoGlobals.py mode change 100644 => 100755 toontown/fishing/BlockoutBingo.py mode change 100644 => 100755 toontown/fishing/DiagonalBingo.py mode change 100644 => 100755 toontown/fishing/DistributedFishingPond.py mode change 100644 => 100755 toontown/fishing/DistributedFishingPondAI.py mode change 100644 => 100755 toontown/fishing/DistributedFishingTarget.py mode change 100644 => 100755 toontown/fishing/DistributedFishingTargetAI.py mode change 100644 => 100755 toontown/fishing/DistributedPondBingoManager.py mode change 100644 => 100755 toontown/fishing/DistributedPondBingoManagerAI.py mode change 100644 => 100755 toontown/fishing/FishBase.py mode change 100644 => 100755 toontown/fishing/FishBrowser.py mode change 100644 => 100755 toontown/fishing/FishCollection.py mode change 100644 => 100755 toontown/fishing/FishGlobals.py mode change 100644 => 100755 toontown/fishing/FishPanel.py mode change 100644 => 100755 toontown/fishing/FishPhoto.py mode change 100644 => 100755 toontown/fishing/FishPicker.py mode change 100644 => 100755 toontown/fishing/FishSellGUI.py mode change 100644 => 100755 toontown/fishing/FishTank.py mode change 100644 => 100755 toontown/fishing/FishingTargetGlobals.py mode change 100644 => 100755 toontown/fishing/FourCornerBingo.py mode change 100644 => 100755 toontown/fishing/GenusPanel.py mode change 100644 => 100755 toontown/fishing/NormalBingo.py mode change 100644 => 100755 toontown/fishing/ThreewayBingo.py mode change 100644 => 100755 toontown/fishing/__init__.py mode change 100644 => 100755 toontown/friends/FriendHandle.py mode change 100644 => 100755 toontown/friends/FriendInvitee.py mode change 100644 => 100755 toontown/friends/FriendInviter.py mode change 100644 => 100755 toontown/friends/FriendNotifier.py mode change 100644 => 100755 toontown/friends/FriendsListManager.py mode change 100644 => 100755 toontown/friends/FriendsListPanel.py mode change 100644 => 100755 toontown/friends/TTSFriendsManager.py mode change 100644 => 100755 toontown/friends/TTSFriendsManagerUD.py mode change 100644 => 100755 toontown/friends/__init__.py mode change 100644 => 100755 toontown/golf/BuildGeometry.py mode change 100644 => 100755 toontown/golf/DistributedGolfCourse.py mode change 100644 => 100755 toontown/golf/DistributedGolfCourseAI.py mode change 100644 => 100755 toontown/golf/DistributedGolfHole.py mode change 100644 => 100755 toontown/golf/DistributedGolfHoleAI.py mode change 100644 => 100755 toontown/golf/DistributedPhysicsWorld.py mode change 100644 => 100755 toontown/golf/DistributedPhysicsWorldAI.py mode change 100644 => 100755 toontown/golf/GolfGlobals.py mode change 100644 => 100755 toontown/golf/GolfHoleBase.py mode change 100644 => 100755 toontown/golf/GolfManagerAI.py mode change 100644 => 100755 toontown/golf/GolfRewardDialog.py mode change 100644 => 100755 toontown/golf/GolfScoreBoard.py mode change 100644 => 100755 toontown/golf/PhysicsWorldBase.py mode change 100644 => 100755 toontown/golf/__init__.py mode change 100644 => 100755 toontown/groups/GlobalGroup.py mode change 100644 => 100755 toontown/groups/GroupManager.py mode change 100644 => 100755 toontown/groups/GroupManagerAI.py mode change 100644 => 100755 toontown/groups/GroupManagerUD.py mode change 100644 => 100755 toontown/groups/__init__.py mode change 100644 => 100755 toontown/hood/AnimatedProp.py mode change 100644 => 100755 toontown/hood/BRHood.py mode change 100644 => 100755 toontown/hood/BRHoodAI.py mode change 100644 => 100755 toontown/hood/BossbotHQ.py mode change 100644 => 100755 toontown/hood/BossbotHQAI.py mode change 100644 => 100755 toontown/hood/CashbotHQ.py mode change 100644 => 100755 toontown/hood/CashbotHQAI.py mode change 100644 => 100755 toontown/hood/CogHQAI.py mode change 100644 => 100755 toontown/hood/CogHood.py mode change 100644 => 100755 toontown/hood/DDHood.py mode change 100644 => 100755 toontown/hood/DDHoodAI.py mode change 100644 => 100755 toontown/hood/DGHood.py mode change 100644 => 100755 toontown/hood/DGHoodAI.py mode change 100644 => 100755 toontown/hood/DLHood.py mode change 100644 => 100755 toontown/hood/DLHoodAI.py mode change 100644 => 100755 toontown/hood/EstateHood.py mode change 100644 => 100755 toontown/hood/FishAnimatedProp.py mode change 100644 => 100755 toontown/hood/GSHood.py mode change 100644 => 100755 toontown/hood/GSHoodAI.py mode change 100644 => 100755 toontown/hood/GZHood.py mode change 100644 => 100755 toontown/hood/GZHoodAI.py mode change 100644 => 100755 toontown/hood/GenericAnimatedProp.py mode change 100644 => 100755 toontown/hood/HQPeriscopeAnimatedProp.py mode change 100644 => 100755 toontown/hood/HQTelescopeAnimatedProp.py mode change 100644 => 100755 toontown/hood/Hood.py mode change 100644 => 100755 toontown/hood/HoodAI.py mode change 100644 => 100755 toontown/hood/HoodUtil.py mode change 100644 => 100755 toontown/hood/HydrantInteractiveProp.py mode change 100644 => 100755 toontown/hood/InteractiveAnimatedProp.py mode change 100644 => 100755 toontown/hood/LawbotHQ.py mode change 100644 => 100755 toontown/hood/LawbotHQAI.py mode change 100644 => 100755 toontown/hood/MMHood.py mode change 100644 => 100755 toontown/hood/MMHoodAI.py mode change 100644 => 100755 toontown/hood/MailboxInteractiveProp.py mode change 100644 => 100755 toontown/hood/OZHood.py mode change 100644 => 100755 toontown/hood/OZHoodAI.py mode change 100644 => 100755 toontown/hood/PartyHood.py mode change 100644 => 100755 toontown/hood/PetShopFishAnimatedProp.py mode change 100644 => 100755 toontown/hood/Place.py mode change 100644 => 100755 toontown/hood/QuietZoneState.py mode change 100644 => 100755 toontown/hood/SellbotHQ.py mode change 100644 => 100755 toontown/hood/SellbotHQAI.py mode change 100644 => 100755 toontown/hood/SkyUtil.py mode change 100644 => 100755 toontown/hood/SleepingHydrantAnimatedProp.py mode change 100644 => 100755 toontown/hood/TTHood.py mode change 100644 => 100755 toontown/hood/TTHoodAI.py mode change 100644 => 100755 toontown/hood/ToonHood.py mode change 100644 => 100755 toontown/hood/TrashcanInteractiveProp.py mode change 100644 => 100755 toontown/hood/TutorialHood.py mode change 100644 => 100755 toontown/hood/ZoneUtil.py mode change 100644 => 100755 toontown/hood/__init__.py mode change 100644 => 100755 toontown/language/LanguageSelector.py mode change 100644 => 100755 toontown/language/__init__.py mode change 100644 => 100755 toontown/launcher/TTSLauncher.py mode change 100644 => 100755 toontown/launcher/__init__.py mode change 100644 => 100755 toontown/login/AvatarChoice.py mode change 100644 => 100755 toontown/login/AvatarChooser.py mode change 100644 => 100755 toontown/login/__init__.py mode change 100644 => 100755 toontown/makeatoon/BodyShop.py mode change 100644 => 100755 toontown/makeatoon/ClothesGUI.py mode change 100644 => 100755 toontown/makeatoon/ColorShop.py mode change 100644 => 100755 toontown/makeatoon/GenderShop.py mode change 100644 => 100755 toontown/makeatoon/MakeAToon.py mode change 100644 => 100755 toontown/makeatoon/MakeAToonGlobals.py mode change 100644 => 100755 toontown/makeatoon/MakeClothesGUI.py mode change 100644 => 100755 toontown/makeatoon/NameGenerator.py mode change 100644 => 100755 toontown/makeatoon/NameShop.py mode change 100644 => 100755 toontown/makeatoon/ShuffleButton.py mode change 100644 => 100755 toontown/makeatoon/TTPickANamePattern.py mode change 100644 => 100755 toontown/makeatoon/TrackShop.py mode change 100644 => 100755 toontown/makeatoon/__init__.py mode change 100644 => 100755 toontown/margins/MarginCell.py mode change 100644 => 100755 toontown/margins/MarginGlobals.py mode change 100644 => 100755 toontown/margins/MarginManager.py mode change 100644 => 100755 toontown/margins/MarginVisible.py mode change 100644 => 100755 toontown/margins/__init__.py mode change 100644 => 100755 toontown/minigame/ArrowKeys.py mode change 100644 => 100755 toontown/minigame/CannonGameGlobals.py mode change 100644 => 100755 toontown/minigame/CatchGameGlobals.py mode change 100644 => 100755 toontown/minigame/CatchGameToonSD.py mode change 100644 => 100755 toontown/minigame/ClerkPurchase.py mode change 100644 => 100755 toontown/minigame/CogThief.py mode change 100644 => 100755 toontown/minigame/CogThiefGameGlobals.py mode change 100644 => 100755 toontown/minigame/CogThiefGameToonSD.py mode change 100644 => 100755 toontown/minigame/CogThiefWalk.py mode change 100644 => 100755 toontown/minigame/DistributedCannonGame.py mode change 100644 => 100755 toontown/minigame/DistributedCannonGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedCatchGame.py mode change 100644 => 100755 toontown/minigame/DistributedCatchGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedCogThiefGame.py mode change 100644 => 100755 toontown/minigame/DistributedCogThiefGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedDivingGame.py mode change 100644 => 100755 toontown/minigame/DistributedDivingGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedIceGame.py mode change 100644 => 100755 toontown/minigame/DistributedIceGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedIceWorld.py mode change 100644 => 100755 toontown/minigame/DistributedMazeGame.py mode change 100644 => 100755 toontown/minigame/DistributedMazeGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedMinigame.py mode change 100644 => 100755 toontown/minigame/DistributedMinigameAI.py mode change 100644 => 100755 toontown/minigame/DistributedMinigamePhysicsWorld.py mode change 100644 => 100755 toontown/minigame/DistributedMinigameTemplate.py mode change 100644 => 100755 toontown/minigame/DistributedMinigameTemplateAI.py mode change 100644 => 100755 toontown/minigame/DistributedPatternGame.py mode change 100644 => 100755 toontown/minigame/DistributedPatternGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedRaceGame.py mode change 100644 => 100755 toontown/minigame/DistributedRaceGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedRingGame.py mode change 100644 => 100755 toontown/minigame/DistributedRingGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedTagGame.py mode change 100644 => 100755 toontown/minigame/DistributedTagGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedTargetGame.py mode change 100644 => 100755 toontown/minigame/DistributedTargetGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedTugOfWarGame.py mode change 100644 => 100755 toontown/minigame/DistributedTugOfWarGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedTwoDGame.py mode change 100644 => 100755 toontown/minigame/DistributedTwoDGameAI.py mode change 100644 => 100755 toontown/minigame/DistributedVineGame.py mode change 100644 => 100755 toontown/minigame/DistributedVineGameAI.py mode change 100644 => 100755 toontown/minigame/DivingFishSpawn.py mode change 100644 => 100755 toontown/minigame/DivingGameGlobals.py mode change 100644 => 100755 toontown/minigame/DivingGameToonSD.py mode change 100644 => 100755 toontown/minigame/DivingTreasure.py mode change 100644 => 100755 toontown/minigame/DropPlacer.py mode change 100644 => 100755 toontown/minigame/DropScheduler.py mode change 100644 => 100755 toontown/minigame/FogOverlay.py mode change 100644 => 100755 toontown/minigame/IceGameGlobals.py mode change 100644 => 100755 toontown/minigame/IceTreasure.py mode change 100644 => 100755 toontown/minigame/Maze.py mode change 100644 => 100755 toontown/minigame/MazeBase.py mode change 100644 => 100755 toontown/minigame/MazeData.py mode change 100644 => 100755 toontown/minigame/MazeGameGlobals.py mode change 100644 => 100755 toontown/minigame/MazeMapGui.py mode change 100644 => 100755 toontown/minigame/MazeSuit.py mode change 100644 => 100755 toontown/minigame/MazeTreasure.py mode change 100644 => 100755 toontown/minigame/MinigameAvatarScorePanel.py mode change 100644 => 100755 toontown/minigame/MinigameCreatorAI.py mode change 100644 => 100755 toontown/minigame/MinigameGlobals.py mode change 100644 => 100755 toontown/minigame/MinigamePhysicsWorldBase.py mode change 100644 => 100755 toontown/minigame/MinigamePowerMeter.py mode change 100644 => 100755 toontown/minigame/MinigameRulesPanel.py mode change 100644 => 100755 toontown/minigame/OrthoDrive.py mode change 100644 => 100755 toontown/minigame/OrthoWalk.py mode change 100644 => 100755 toontown/minigame/PatternGameGlobals.py mode change 100644 => 100755 toontown/minigame/Purchase.py mode change 100644 => 100755 toontown/minigame/PurchaseBase.py mode change 100644 => 100755 toontown/minigame/RaceGameGlobals.py mode change 100644 => 100755 toontown/minigame/Ring.py mode change 100644 => 100755 toontown/minigame/RingAction.py mode change 100644 => 100755 toontown/minigame/RingGameGlobals.py mode change 100644 => 100755 toontown/minigame/RingGroup.py mode change 100644 => 100755 toontown/minigame/RingTrack.py mode change 100644 => 100755 toontown/minigame/RingTrackGroup.py mode change 100644 => 100755 toontown/minigame/RingTrackGroups.py mode change 100644 => 100755 toontown/minigame/RingTracks.py mode change 100644 => 100755 toontown/minigame/RubberBand.py mode change 100644 => 100755 toontown/minigame/SwingVine.py mode change 100644 => 100755 toontown/minigame/TagGameGlobals.py mode change 100644 => 100755 toontown/minigame/TagTreasurePlannerAI.py mode change 100644 => 100755 toontown/minigame/TargetGameGlobals.py mode change 100644 => 100755 toontown/minigame/ToonBlitzAssetMgr.py mode change 100644 => 100755 toontown/minigame/ToonBlitzGlobals.py mode change 100644 => 100755 toontown/minigame/Trajectory.py mode change 100644 => 100755 toontown/minigame/TreasureScorePanel.py mode change 100644 => 100755 toontown/minigame/TrolleyHolidayMgrAI.py mode change 100644 => 100755 toontown/minigame/TrolleyWeekendMgrAI.py mode change 100644 => 100755 toontown/minigame/TugOfWarGameGlobals.py mode change 100644 => 100755 toontown/minigame/TwoDBattleMgr.py mode change 100644 => 100755 toontown/minigame/TwoDBlock.py mode change 100644 => 100755 toontown/minigame/TwoDCamera.py mode change 100644 => 100755 toontown/minigame/TwoDDrive.py mode change 100644 => 100755 toontown/minigame/TwoDEnemy.py mode change 100644 => 100755 toontown/minigame/TwoDEnemyMgr.py mode change 100644 => 100755 toontown/minigame/TwoDGameToonSD.py mode change 100644 => 100755 toontown/minigame/TwoDSection.py mode change 100644 => 100755 toontown/minigame/TwoDSectionMgr.py mode change 100644 => 100755 toontown/minigame/TwoDSpawnPointMgr.py mode change 100644 => 100755 toontown/minigame/TwoDStomper.py mode change 100644 => 100755 toontown/minigame/TwoDStomperMgr.py mode change 100644 => 100755 toontown/minigame/TwoDTreasure.py mode change 100644 => 100755 toontown/minigame/TwoDTreasureMgr.py mode change 100644 => 100755 toontown/minigame/TwoDWalk.py mode change 100644 => 100755 toontown/minigame/VineBat.py mode change 100644 => 100755 toontown/minigame/VineGameGlobals.py mode change 100644 => 100755 toontown/minigame/VineHeadFrame.py mode change 100644 => 100755 toontown/minigame/VineSpider.py mode change 100644 => 100755 toontown/minigame/VineTreasure.py mode change 100644 => 100755 toontown/minigame/__init__.py mode change 100644 => 100755 toontown/nametag/Nametag.py mode change 100644 => 100755 toontown/nametag/Nametag2d.py mode change 100644 => 100755 toontown/nametag/Nametag3d.py mode change 100644 => 100755 toontown/nametag/NametagFloat2d.py mode change 100644 => 100755 toontown/nametag/NametagFloat3d.py mode change 100644 => 100755 toontown/nametag/NametagGlobals.py mode change 100644 => 100755 toontown/nametag/NametagGroup.py mode change 100644 => 100755 toontown/nametag/__init__.py mode change 100644 => 100755 toontown/parties/ActivityBase.py mode change 100644 => 100755 toontown/parties/BaseActivityFSM.py mode change 100644 => 100755 toontown/parties/CalendarGuiDay.py mode change 100644 => 100755 toontown/parties/CalendarGuiMonth.py mode change 100644 => 100755 toontown/parties/Cannon.py mode change 100644 => 100755 toontown/parties/CannonGui.py mode change 100644 => 100755 toontown/parties/DecorBase.py mode change 100644 => 100755 toontown/parties/Decoration.py mode change 100644 => 100755 toontown/parties/DistributedParty.py mode change 100644 => 100755 toontown/parties/DistributedPartyAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyCannon.py mode change 100644 => 100755 toontown/parties/DistributedPartyCannonAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyCannonActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyCannonActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyCatchActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyCatchActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyCatchActivityBase.py mode change 100644 => 100755 toontown/parties/DistributedPartyCogActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyCogActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyDance20Activity.py mode change 100644 => 100755 toontown/parties/DistributedPartyDance20ActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyDanceActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyDanceActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyDanceActivityBase.py mode change 100644 => 100755 toontown/parties/DistributedPartyDanceActivityBaseAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyFireworksActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyFireworksActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyJukebox40Activity.py mode change 100644 => 100755 toontown/parties/DistributedPartyJukebox40ActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyJukeboxActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyJukeboxActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyJukeboxActivityBase.py mode change 100644 => 100755 toontown/parties/DistributedPartyJukeboxActivityBaseAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyTeamActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyTeamActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyTrampolineActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyTrampolineActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyTugOfWarActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyTugOfWarActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineDance20Activity.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineDance20ActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineDanceActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineDanceActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineJukebox40Activity.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineJukebox40ActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineJukeboxActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineJukeboxActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineTrampolineActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyValentineTrampolineActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyVictoryTrampolineActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyVictoryTrampolineActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyWinterCatchActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyWinterCatchActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyWinterCogActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyWinterCogActivityAI.py mode change 100644 => 100755 toontown/parties/DistributedPartyWinterTrampolineActivity.py mode change 100644 => 100755 toontown/parties/DistributedPartyWinterTrampolineActivityAI.py mode change 100644 => 100755 toontown/parties/GlobalPartyManager.py mode change 100644 => 100755 toontown/parties/GlobalPartyManagerAI.py mode change 100644 => 100755 toontown/parties/GlobalPartyManagerUD.py mode change 100644 => 100755 toontown/parties/InviteInfo.py mode change 100644 => 100755 toontown/parties/InviteVisual.py mode change 100644 => 100755 toontown/parties/JellybeanRewardGui.py mode change 100644 => 100755 toontown/parties/JukeboxGui.py mode change 100644 => 100755 toontown/parties/KeyCodes.py mode change 100644 => 100755 toontown/parties/KeyCodesGui.py mode change 100644 => 100755 toontown/parties/Party.py mode change 100644 => 100755 toontown/parties/PartyCatchActivityToonSD.py mode change 100644 => 100755 toontown/parties/PartyCog.py mode change 100644 => 100755 toontown/parties/PartyCogActivity.py mode change 100644 => 100755 toontown/parties/PartyCogActivityGui.py mode change 100644 => 100755 toontown/parties/PartyCogActivityInput.py mode change 100644 => 100755 toontown/parties/PartyCogActivityPlayer.py mode change 100644 => 100755 toontown/parties/PartyCogUtils.py mode change 100644 => 100755 toontown/parties/PartyDanceActivityToonFSM.py mode change 100644 => 100755 toontown/parties/PartyEditor.py mode change 100644 => 100755 toontown/parties/PartyEditorGrid.py mode change 100644 => 100755 toontown/parties/PartyEditorGridElement.py mode change 100644 => 100755 toontown/parties/PartyEditorGridSquare.py mode change 100644 => 100755 toontown/parties/PartyEditorListElement.py mode change 100644 => 100755 toontown/parties/PartyGlobals.py mode change 100644 => 100755 toontown/parties/PartyInfo.py mode change 100644 => 100755 toontown/parties/PartyLoader.py mode change 100644 => 100755 toontown/parties/PartyPlanner.py mode change 100644 => 100755 toontown/parties/PartyReplyInfo.py mode change 100644 => 100755 toontown/parties/PartyUtils.py mode change 100644 => 100755 toontown/parties/PublicPartyGui.py mode change 100644 => 100755 toontown/parties/ScrolledFriendList.py mode change 100644 => 100755 toontown/parties/ServerTimeGui.py mode change 100644 => 100755 toontown/parties/SimpleMailBase.py mode change 100644 => 100755 toontown/parties/StretchingArrow.py mode change 100644 => 100755 toontown/parties/TeamActivityGui.py mode change 100644 => 100755 toontown/parties/ToontownTimeManager.py mode change 100644 => 100755 toontown/parties/ToontownTimeZone.py mode change 100644 => 100755 toontown/parties/WinterPartyCatchActivityToonSD.py mode change 100644 => 100755 toontown/parties/__init__.py mode change 100644 => 100755 toontown/parties/activityFSMMixins.py mode change 100644 => 100755 toontown/parties/activityFSMs.py mode change 100644 => 100755 toontown/pets/DistributedPet.py mode change 100644 => 100755 toontown/pets/DistributedPetAI.py mode change 100644 => 100755 toontown/pets/DistributedPetProxy.py mode change 100644 => 100755 toontown/pets/DistributedPetProxyAI.py mode change 100644 => 100755 toontown/pets/Pet.py mode change 100644 => 100755 toontown/pets/PetActionFSM.py mode change 100644 => 100755 toontown/pets/PetAvatarPanel.py mode change 100644 => 100755 toontown/pets/PetBase.py mode change 100644 => 100755 toontown/pets/PetBrain.py mode change 100644 => 100755 toontown/pets/PetConstants.py mode change 100644 => 100755 toontown/pets/PetDNA.py mode change 100644 => 100755 toontown/pets/PetDetail.py mode change 100644 => 100755 toontown/pets/PetDetailPanel.py mode change 100644 => 100755 toontown/pets/PetGoal.py mode change 100644 => 100755 toontown/pets/PetGoalMgr.py mode change 100644 => 100755 toontown/pets/PetHandle.py mode change 100644 => 100755 toontown/pets/PetLookerAI.py mode change 100644 => 100755 toontown/pets/PetManager.py mode change 100644 => 100755 toontown/pets/PetManagerAI.py mode change 100644 => 100755 toontown/pets/PetMood.py mode change 100644 => 100755 toontown/pets/PetMoverAI.py mode change 100644 => 100755 toontown/pets/PetObserve.py mode change 100644 => 100755 toontown/pets/PetTraits.py mode change 100644 => 100755 toontown/pets/PetTricks.py mode change 100644 => 100755 toontown/pets/PetTutorial.py mode change 100644 => 100755 toontown/pets/PetUtil.py mode change 100644 => 100755 toontown/pets/PetshopGUI.py mode change 100644 => 100755 toontown/pets/__init__.py mode change 100644 => 100755 toontown/quest/BlinkingArrows.py mode change 100644 => 100755 toontown/quest/QuestBookPoster.py mode change 100644 => 100755 toontown/quest/QuestChoiceGui.py mode change 100644 => 100755 toontown/quest/QuestMap.py mode change 100644 => 100755 toontown/quest/QuestMapGlobals.py mode change 100644 => 100755 toontown/quest/QuestParser.py mode change 100644 => 100755 toontown/quest/QuestPoster.py mode change 100644 => 100755 toontown/quest/QuestRewardCounter.py mode change 100644 => 100755 toontown/quest/QuestScripts.py mode change 100644 => 100755 toontown/quest/Quests.py mode change 100644 => 100755 toontown/quest/TrackChoiceGui.py mode change 100644 => 100755 toontown/quest/__init__.py mode change 100644 => 100755 toontown/racing/DistributedGag.py mode change 100644 => 100755 toontown/racing/DistributedGagAI.py mode change 100644 => 100755 toontown/racing/DistributedKartPad.py mode change 100644 => 100755 toontown/racing/DistributedKartPadAI.py mode change 100644 => 100755 toontown/racing/DistributedLeaderBoard.py mode change 100644 => 100755 toontown/racing/DistributedLeaderBoardAI.py mode change 100644 => 100755 toontown/racing/DistributedProjectile.py mode change 100644 => 100755 toontown/racing/DistributedProjectileAI.py mode change 100644 => 100755 toontown/racing/DistributedRace.py mode change 100644 => 100755 toontown/racing/DistributedRaceAI.py mode change 100644 => 100755 toontown/racing/DistributedRacePad.py mode change 100644 => 100755 toontown/racing/DistributedRacePadAI.py mode change 100644 => 100755 toontown/racing/DistributedStartingBlock.py mode change 100644 => 100755 toontown/racing/DistributedStartingBlockAI.py mode change 100644 => 100755 toontown/racing/DistributedVehicle.py mode change 100644 => 100755 toontown/racing/DistributedVehicleAI.py mode change 100644 => 100755 toontown/racing/DistributedViewPad.py mode change 100644 => 100755 toontown/racing/DistributedViewPadAI.py mode change 100644 => 100755 toontown/racing/DroppedGag.py mode change 100644 => 100755 toontown/racing/EffectManager.py mode change 100644 => 100755 toontown/racing/FlyingGag.py mode change 100644 => 100755 toontown/racing/Kart.py mode change 100644 => 100755 toontown/racing/KartDNA.py mode change 100644 => 100755 toontown/racing/KartShopGlobals.py mode change 100644 => 100755 toontown/racing/KartShopGui.py mode change 100644 => 100755 toontown/racing/Piejectile.py mode change 100644 => 100755 toontown/racing/PiejectileManager.py mode change 100644 => 100755 toontown/racing/RaceEndPanels.py mode change 100644 => 100755 toontown/racing/RaceGUI.py mode change 100644 => 100755 toontown/racing/RaceGag.py mode change 100644 => 100755 toontown/racing/RaceGlobals.py mode change 100644 => 100755 toontown/racing/RaceHeadFrame.py mode change 100644 => 100755 toontown/racing/__init__.py mode change 100644 => 100755 toontown/rpc/ToontownRPCConnection.py mode change 100644 => 100755 toontown/rpc/ToontownRPCDispatcher.py mode change 100644 => 100755 toontown/rpc/ToontownRPCHandler.py mode change 100644 => 100755 toontown/rpc/ToontownRPCHandlerBase.py mode change 100644 => 100755 toontown/rpc/ToontownRPCServer.py mode change 100644 => 100755 toontown/rpc/__init__.py mode change 100644 => 100755 toontown/safezone/BRPlayground.py mode change 100644 => 100755 toontown/safezone/BRSafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/ButterflyGlobals.py mode change 100644 => 100755 toontown/safezone/CheckersBoard.py mode change 100644 => 100755 toontown/safezone/ChineseCheckersBoard.py mode change 100644 => 100755 toontown/safezone/DDPlayground.py mode change 100644 => 100755 toontown/safezone/DDSafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/DGPlayground.py mode change 100644 => 100755 toontown/safezone/DGSafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/DLSafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/DistributedBoat.py mode change 100644 => 100755 toontown/safezone/DistributedBoatAI.py mode change 100644 => 100755 toontown/safezone/DistributedButterfly.py mode change 100644 => 100755 toontown/safezone/DistributedButterflyAI.py mode change 100644 => 100755 toontown/safezone/DistributedCheckers.py mode change 100644 => 100755 toontown/safezone/DistributedCheckersAI.py mode change 100644 => 100755 toontown/safezone/DistributedChineseCheckers.py mode change 100644 => 100755 toontown/safezone/DistributedChineseCheckersAI.py mode change 100644 => 100755 toontown/safezone/DistributedDGFlower.py mode change 100644 => 100755 toontown/safezone/DistributedDGFlowerAI.py mode change 100644 => 100755 toontown/safezone/DistributedEFlyingTreasure.py mode change 100644 => 100755 toontown/safezone/DistributedFindFour.py mode change 100644 => 100755 toontown/safezone/DistributedFindFourAI.py mode change 100644 => 100755 toontown/safezone/DistributedFishingSpot.py mode change 100644 => 100755 toontown/safezone/DistributedFishingSpotAI.py mode change 100644 => 100755 toontown/safezone/DistributedGolfKart.py mode change 100644 => 100755 toontown/safezone/DistributedGolfKartAI.py mode change 100644 => 100755 toontown/safezone/DistributedMMPiano.py mode change 100644 => 100755 toontown/safezone/DistributedMMPianoAI.py mode change 100644 => 100755 toontown/safezone/DistributedPartyGate.py mode change 100644 => 100755 toontown/safezone/DistributedPartyGateAI.py mode change 100644 => 100755 toontown/safezone/DistributedPicnicBasket.py mode change 100644 => 100755 toontown/safezone/DistributedPicnicBasketAI.py mode change 100644 => 100755 toontown/safezone/DistributedPicnicTable.py mode change 100644 => 100755 toontown/safezone/DistributedPicnicTableAI.py mode change 100644 => 100755 toontown/safezone/DistributedTreasure.py mode change 100644 => 100755 toontown/safezone/DistributedTreasureAI.py mode change 100644 => 100755 toontown/safezone/DistributedTrolley.py mode change 100644 => 100755 toontown/safezone/DistributedTrolleyAI.py mode change 100644 => 100755 toontown/safezone/GSPlayground.py mode change 100644 => 100755 toontown/safezone/GSSafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/GZPlayground.py mode change 100644 => 100755 toontown/safezone/GZSafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/GameGlobals.py mode change 100644 => 100755 toontown/safezone/GameMenu.py mode change 100644 => 100755 toontown/safezone/GameTutorials.py mode change 100644 => 100755 toontown/safezone/GolfKart.py mode change 100644 => 100755 toontown/safezone/MMPlayground.py mode change 100644 => 100755 toontown/safezone/MMSafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/OZPlayground.py mode change 100644 => 100755 toontown/safezone/OZSafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/PicnicBasket.py mode change 100644 => 100755 toontown/safezone/PicnicGameGlobals.py mode change 100644 => 100755 toontown/safezone/PicnicGameSelectMenu.py mode change 100644 => 100755 toontown/safezone/PicnicGameTutorial.py mode change 100644 => 100755 toontown/safezone/Playground.py mode change 100644 => 100755 toontown/safezone/PublicWalk.py mode change 100644 => 100755 toontown/safezone/RegenTreasurePlannerAI.py mode change 100644 => 100755 toontown/safezone/SZTreasurePlannerAI.py mode change 100644 => 100755 toontown/safezone/SafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/SafeZoneManager.py mode change 100644 => 100755 toontown/safezone/SafeZoneManagerAI.py mode change 100644 => 100755 toontown/safezone/TTPlayground.py mode change 100644 => 100755 toontown/safezone/TTSafeZoneLoader.py mode change 100644 => 100755 toontown/safezone/Train.py mode change 100644 => 100755 toontown/safezone/TreasureGlobals.py mode change 100644 => 100755 toontown/safezone/TreasurePlannerAI.py mode change 100644 => 100755 toontown/safezone/TrolleyConstants.py mode change 100644 => 100755 toontown/safezone/Walk.py mode change 100644 => 100755 toontown/safezone/__init__.py mode change 100644 => 100755 toontown/shtiker/CogPageGlobals.py mode change 100644 => 100755 toontown/shtiker/DeleteManager.py mode change 100644 => 100755 toontown/shtiker/DeleteManagerAI.py mode change 100644 => 100755 toontown/shtiker/DisguisePage.py mode change 100644 => 100755 toontown/shtiker/DisplaySettingsDialog.py mode change 100644 => 100755 toontown/shtiker/EventsPage.py mode change 100644 => 100755 toontown/shtiker/FishPage.py mode change 100644 => 100755 toontown/shtiker/GardenPage.py mode change 100644 => 100755 toontown/shtiker/GolfPage.py mode change 100644 => 100755 toontown/shtiker/InventoryPage.py mode change 100644 => 100755 toontown/shtiker/KartPage.py mode change 100644 => 100755 toontown/shtiker/MapPage.py mode change 100644 => 100755 toontown/shtiker/NPCFriendPage.py mode change 100644 => 100755 toontown/shtiker/NewbiePurchaseManager.py mode change 100644 => 100755 toontown/shtiker/NewbiePurchaseManagerAI.py mode change 100644 => 100755 toontown/shtiker/OptionsPage.py mode change 100644 => 100755 toontown/shtiker/PhotoAlbumPage.py mode change 100644 => 100755 toontown/shtiker/PurchaseManager.py mode change 100644 => 100755 toontown/shtiker/PurchaseManagerAI.py mode change 100644 => 100755 toontown/shtiker/PurchaseManagerConstants.py mode change 100644 => 100755 toontown/shtiker/QuestPage.py mode change 100644 => 100755 toontown/shtiker/ShardPage.py mode change 100644 => 100755 toontown/shtiker/ShtikerBook.py mode change 100644 => 100755 toontown/shtiker/ShtikerPage.py mode change 100644 => 100755 toontown/shtiker/SuitPage.py mode change 100644 => 100755 toontown/shtiker/SummonCogDialog.py mode change 100644 => 100755 toontown/shtiker/TIPPage.py mode change 100644 => 100755 toontown/shtiker/TrackPage.py mode change 100644 => 100755 toontown/shtiker/__init__.py mode change 100644 => 100755 toontown/speedchat/TTSCAprilToonsMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCBoardingMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCCogMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCDecoders.py mode change 100644 => 100755 toontown/speedchat/TTSCFactoryMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCGolfMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCHalloweenMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCIdesOfMarchMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCIndexedTerminal.py mode change 100644 => 100755 toontown/speedchat/TTSCJellybeanJamMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCKartRacingMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCPetTrickMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCPromotionalMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCResistanceMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCResistanceTerminal.py mode change 100644 => 100755 toontown/speedchat/TTSCSellbotFieldOfficeMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCSellbotInvasionMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCSellbotNerfMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCSillyPhaseFiveMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCSillyPhaseFourMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCSillyPhaseOneMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCSillyPhaseThreeMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCSillyPhaseTwoMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCToontaskMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCToontaskTerminal.py mode change 100644 => 100755 toontown/speedchat/TTSCVictoryPartiesMenu.py mode change 100644 => 100755 toontown/speedchat/TTSCWinterMenu.py mode change 100644 => 100755 toontown/speedchat/TTSpeedChatGlobals.py mode change 100644 => 100755 toontown/speedchat/TTSpeedChatTypes.py mode change 100644 => 100755 toontown/speedchat/__init__.py mode change 100644 => 100755 toontown/suit/BossCog.py mode change 100644 => 100755 toontown/suit/DistributedBossCog.py mode change 100644 => 100755 toontown/suit/DistributedBossCogAI.py mode change 100644 => 100755 toontown/suit/DistributedBossbotBoss.py mode change 100644 => 100755 toontown/suit/DistributedBossbotBossAI.py mode change 100644 => 100755 toontown/suit/DistributedCashbotBoss.py mode change 100644 => 100755 toontown/suit/DistributedCashbotBossAI.py mode change 100644 => 100755 toontown/suit/DistributedCashbotBossGoon.py mode change 100644 => 100755 toontown/suit/DistributedCashbotBossGoonAI.py mode change 100644 => 100755 toontown/suit/DistributedFactorySuit.py mode change 100644 => 100755 toontown/suit/DistributedFactorySuitAI.py mode change 100644 => 100755 toontown/suit/DistributedGoon.py mode change 100644 => 100755 toontown/suit/DistributedGoonAI.py mode change 100644 => 100755 toontown/suit/DistributedGridGoon.py mode change 100644 => 100755 toontown/suit/DistributedGridGoonAI.py mode change 100644 => 100755 toontown/suit/DistributedLawbotBoss.py mode change 100644 => 100755 toontown/suit/DistributedLawbotBossAI.py mode change 100644 => 100755 toontown/suit/DistributedLawbotBossSuit.py mode change 100644 => 100755 toontown/suit/DistributedLawbotBossSuitAI.py mode change 100644 => 100755 toontown/suit/DistributedMintSuit.py mode change 100644 => 100755 toontown/suit/DistributedMintSuitAI.py mode change 100644 => 100755 toontown/suit/DistributedSellbotBoss.py mode change 100644 => 100755 toontown/suit/DistributedSellbotBossAI.py mode change 100644 => 100755 toontown/suit/DistributedStageSuit.py mode change 100644 => 100755 toontown/suit/DistributedStageSuitAI.py mode change 100644 => 100755 toontown/suit/DistributedSuit.py mode change 100644 => 100755 toontown/suit/DistributedSuitAI.py mode change 100644 => 100755 toontown/suit/DistributedSuitBase.py mode change 100644 => 100755 toontown/suit/DistributedSuitBaseAI.py mode change 100644 => 100755 toontown/suit/DistributedSuitPlanner.py mode change 100644 => 100755 toontown/suit/DistributedSuitPlannerAI.py mode change 100644 => 100755 toontown/suit/DistributedTutorialSuit.py mode change 100644 => 100755 toontown/suit/DistributedTutorialSuitAI.py mode change 100644 => 100755 toontown/suit/Goon.py mode change 100644 => 100755 toontown/suit/GoonDeath.py mode change 100644 => 100755 toontown/suit/GoonGlobals.py mode change 100644 => 100755 toontown/suit/GoonPathData.py mode change 100644 => 100755 toontown/suit/RoguesGallery.py mode change 100644 => 100755 toontown/suit/SellbotBossGlobals.py mode change 100644 => 100755 toontown/suit/Suit.py mode change 100644 => 100755 toontown/suit/SuitAvatarPanel.py mode change 100644 => 100755 toontown/suit/SuitBase.py mode change 100644 => 100755 toontown/suit/SuitDNA.py mode change 100644 => 100755 toontown/suit/SuitDialog.py mode change 100644 => 100755 toontown/suit/SuitGlobals.py mode change 100644 => 100755 toontown/suit/SuitInvasionGlobals.py mode change 100644 => 100755 toontown/suit/SuitInvasionManagerAI.py mode change 100644 => 100755 toontown/suit/SuitPlannerBase.py mode change 100644 => 100755 toontown/suit/SuitTimings.py mode change 100644 => 100755 toontown/suit/__init__.py mode change 100644 => 100755 toontown/toon/AccessoryGlobals.py mode change 100644 => 100755 toontown/toon/AvatarPanelBase.py mode change 100644 => 100755 toontown/toon/BoardingGroupInviterPanels.py mode change 100644 => 100755 toontown/toon/DeathForceAcknowledge.py mode change 100644 => 100755 toontown/toon/DistributedNPCBlocker.py mode change 100644 => 100755 toontown/toon/DistributedNPCBlockerAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCClerk.py mode change 100644 => 100755 toontown/toon/DistributedNPCClerkAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCFisherman.py mode change 100644 => 100755 toontown/toon/DistributedNPCFishermanAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCFlippyInToonHall.py mode change 100644 => 100755 toontown/toon/DistributedNPCFlippyInToonHallAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCGlove.py mode change 100644 => 100755 toontown/toon/DistributedNPCGloveAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCKartClerk.py mode change 100644 => 100755 toontown/toon/DistributedNPCKartClerkAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCLaffRestock.py mode change 100644 => 100755 toontown/toon/DistributedNPCLaffRestockAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCPartyPerson.py mode change 100644 => 100755 toontown/toon/DistributedNPCPartyPersonAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCPetclerk.py mode change 100644 => 100755 toontown/toon/DistributedNPCPetclerkAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCScientist.py mode change 100644 => 100755 toontown/toon/DistributedNPCScientistAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCSpecialQuestGiver.py mode change 100644 => 100755 toontown/toon/DistributedNPCSpecialQuestGiverAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCTailor.py mode change 100644 => 100755 toontown/toon/DistributedNPCTailorAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCToon.py mode change 100644 => 100755 toontown/toon/DistributedNPCToonAI.py mode change 100644 => 100755 toontown/toon/DistributedNPCToonBase.py mode change 100644 => 100755 toontown/toon/DistributedNPCToonBaseAI.py mode change 100644 => 100755 toontown/toon/DistributedSmartNPC.py mode change 100644 => 100755 toontown/toon/DistributedSmartNPCAI.py mode change 100644 => 100755 toontown/toon/DistributedToon.py mode change 100644 => 100755 toontown/toon/DistributedToonAI.py mode change 100644 => 100755 toontown/toon/DistributedToonUD.py mode change 100644 => 100755 toontown/toon/ElevatorNotifier.py mode change 100644 => 100755 toontown/toon/Experience.py mode change 100644 => 100755 toontown/toon/GroupInvitee.py mode change 100644 => 100755 toontown/toon/GroupPanel.py mode change 100644 => 100755 toontown/toon/HealthForceAcknowledge.py mode change 100644 => 100755 toontown/toon/InventoryBase.py mode change 100644 => 100755 toontown/toon/InventoryNew.py mode change 100644 => 100755 toontown/toon/LaffMeter.py mode change 100644 => 100755 toontown/toon/LaffRestockGlobals.py mode change 100644 => 100755 toontown/toon/LaffShopGui.py mode change 100644 => 100755 toontown/toon/LaughingManGlobals.py mode change 100644 => 100755 toontown/toon/LocalToon.py mode change 100644 => 100755 toontown/toon/Motion.py mode change 100644 => 100755 toontown/toon/NPCForceAcknowledge.py mode change 100644 => 100755 toontown/toon/NPCFriendPanel.py mode change 100644 => 100755 toontown/toon/NPCToons.py mode change 100644 => 100755 toontown/toon/QuestionMgr.py mode change 100644 => 100755 toontown/toon/QuestionMgrCustom.py mode change 100644 => 100755 toontown/toon/TTEmote.py mode change 100644 => 100755 toontown/toon/TailorClothesGUI.py mode change 100644 => 100755 toontown/toon/Toon.py mode change 100644 => 100755 toontown/toon/ToonAvatarDetailPanel.py mode change 100644 => 100755 toontown/toon/ToonAvatarPanel.py mode change 100644 => 100755 toontown/toon/ToonDNA.py mode change 100644 => 100755 toontown/toon/ToonDetail.py mode change 100644 => 100755 toontown/toon/ToonHead.py mode change 100644 => 100755 toontown/toon/ToonHeadFrame.py mode change 100644 => 100755 toontown/toon/ToonTeleportPanel.py mode change 100644 => 100755 toontown/toon/__init__.py mode change 100644 => 100755 toontown/toonbase/AprilToonsGlobals.py mode change 100644 => 100755 toontown/toonbase/BitmaskGlobals.py mode change 100644 => 100755 toontown/toonbase/ClientStart.py mode change 100644 => 100755 toontown/toonbase/ClientStartDist.py create mode 100755 toontown/toonbase/ClientStartRemoteDB.py mode change 100644 => 100755 toontown/toonbase/ContentPacksManager.py mode change 100644 => 100755 toontown/toonbase/TTLocalizer.py mode change 100644 => 100755 toontown/toonbase/TTLocalizerEnglish.py mode change 100644 => 100755 toontown/toonbase/TTLocalizerEnglishProperty.py mode change 100644 => 100755 toontown/toonbase/ToonBase.py mode change 100644 => 100755 toontown/toonbase/ToonBaseGlobal.py mode change 100644 => 100755 toontown/toonbase/ToontownBattleGlobals.py mode change 100644 => 100755 toontown/toonbase/ToontownGlobals.py mode change 100644 => 100755 toontown/toonbase/ToontownIntervals.py mode change 100644 => 100755 toontown/toonbase/ToontownLoader.py mode change 100644 => 100755 toontown/toonbase/ToontownTimer.py mode change 100644 => 100755 toontown/toonbase/__init__.py mode change 100644 => 100755 toontown/toontowngui/Clickable.py mode change 100644 => 100755 toontown/toontowngui/Clickable2d.py mode change 100644 => 100755 toontown/toontowngui/Clickable3d.py mode change 100644 => 100755 toontown/toontowngui/TTDialog.py mode change 100644 => 100755 toontown/toontowngui/ToonHeadDialog.py mode change 100644 => 100755 toontown/toontowngui/ToontownLoadingScreen.py mode change 100644 => 100755 toontown/toontowngui/__init__.py mode change 100644 => 100755 toontown/town/BRStreet.py mode change 100644 => 100755 toontown/town/BRTownLoader.py mode change 100644 => 100755 toontown/town/DDStreet.py mode change 100644 => 100755 toontown/town/DDTownLoader.py mode change 100644 => 100755 toontown/town/DGStreet.py mode change 100644 => 100755 toontown/town/DGTownLoader.py mode change 100644 => 100755 toontown/town/DLStreet.py mode change 100644 => 100755 toontown/town/DLTownLoader.py mode change 100644 => 100755 toontown/town/MMStreet.py mode change 100644 => 100755 toontown/town/MMTownLoader.py mode change 100644 => 100755 toontown/town/Street.py mode change 100644 => 100755 toontown/town/TTStreet.py mode change 100644 => 100755 toontown/town/TTTownLoader.py mode change 100644 => 100755 toontown/town/TownBattle.py mode change 100644 => 100755 toontown/town/TownBattleAttackPanel.py mode change 100644 => 100755 toontown/town/TownBattleChooseAvatarPanel.py mode change 100644 => 100755 toontown/town/TownBattleCogPanel.py mode change 100644 => 100755 toontown/town/TownBattleSOSPanel.py mode change 100644 => 100755 toontown/town/TownBattleSOSPetInfoPanel.py mode change 100644 => 100755 toontown/town/TownBattleSOSPetSearchPanel.py mode change 100644 => 100755 toontown/town/TownBattleToonPanel.py mode change 100644 => 100755 toontown/town/TownBattleWaitPanel.py mode change 100644 => 100755 toontown/town/TownLoader.py mode change 100644 => 100755 toontown/town/TutorialStreet.py mode change 100644 => 100755 toontown/town/TutorialTownLoader.py mode change 100644 => 100755 toontown/town/__init__.py mode change 100644 => 100755 toontown/trolley/Trolley.py mode change 100644 => 100755 toontown/trolley/__init__.py mode change 100644 => 100755 toontown/tutorial/DistributedBattleTutorial.py mode change 100644 => 100755 toontown/tutorial/DistributedBattleTutorialAI.py mode change 100644 => 100755 toontown/tutorial/TutorialManager.py mode change 100644 => 100755 toontown/tutorial/TutorialManagerAI.py mode change 100644 => 100755 toontown/tutorial/__init__.py mode change 100644 => 100755 toontown/uberdog/ARGManager.py mode change 100644 => 100755 toontown/uberdog/ARGManagerAI.py mode change 100644 => 100755 toontown/uberdog/ARGManagerUD.py mode change 100644 => 100755 toontown/uberdog/ClientServicesManager.py mode change 100644 => 100755 toontown/uberdog/ClientServicesManagerUD.py mode change 100644 => 100755 toontown/uberdog/DistributedPartyManager.py mode change 100644 => 100755 toontown/uberdog/DistributedPartyManagerAI.py mode change 100644 => 100755 toontown/uberdog/DistributedPartyManagerUD.py mode change 100644 => 100755 toontown/uberdog/NameJudgeBlacklist.py mode change 100644 => 100755 toontown/uberdog/ServiceStart.py mode change 100644 => 100755 toontown/uberdog/ToontownUberRepository.py mode change 100644 => 100755 toontown/uberdog/__init__.py mode change 100644 => 100755 ud.bat diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/PPYTHON_PATH b/PPYTHON_PATH old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/ai.bat b/ai.bat old mode 100644 new mode 100755 diff --git a/all.bat b/all.bat old mode 100644 new mode 100755 diff --git a/astron.bat b/astron.bat old mode 100644 new mode 100755 diff --git a/astron/.gitignore b/astron/.gitignore old mode 100644 new mode 100755 diff --git a/astron/astrond.exe b/astron/astrond.exe old mode 100644 new mode 100755 diff --git a/astron/config/clientagent-0.yml b/astron/config/clientagent-0.yml old mode 100644 new mode 100755 diff --git a/astron/config/clientagent-1.yml b/astron/config/clientagent-1.yml old mode 100644 new mode 100755 diff --git a/astron/config/clientagent-2.yml b/astron/config/clientagent-2.yml old mode 100644 new mode 100755 diff --git a/astron/config/clientagent-3.yml b/astron/config/clientagent-3.yml old mode 100644 new mode 100755 diff --git a/astron/config/clientagent-4.yml b/astron/config/clientagent-4.yml old mode 100644 new mode 100755 diff --git a/astron/config/clientagent-5.yml b/astron/config/clientagent-5.yml old mode 100644 new mode 100755 diff --git a/astron/config/clientagent-6.yml b/astron/config/clientagent-6.yml old mode 100644 new mode 100755 diff --git a/astron/config/clientagent-7.yml b/astron/config/clientagent-7.yml old mode 100644 new mode 100755 diff --git a/astron/config/cluster.yml b/astron/config/cluster.yml old mode 100644 new mode 100755 diff --git a/astron/config/eventlogger.yml b/astron/config/eventlogger.yml old mode 100644 new mode 100755 diff --git a/astron/config/production-cluster.yml b/astron/config/production-cluster.yml old mode 100644 new mode 100755 diff --git a/astron/darwin/start-ai-server.sh b/astron/darwin/start-ai-server.sh old mode 100644 new mode 100755 diff --git a/astron/darwin/start-astron-cluster.sh b/astron/darwin/start-astron-cluster.sh old mode 100644 new mode 100755 diff --git a/astron/darwin/start-uberdog-server.sh b/astron/darwin/start-uberdog-server.sh old mode 100644 new mode 100755 diff --git a/astron/databases/.gitignore b/astron/databases/.gitignore old mode 100644 new mode 100755 diff --git a/astron/databases/astrondb/.gitignore b/astron/databases/astrondb/.gitignore old mode 100644 new mode 100755 diff --git a/astron/dclass/stride.dc b/astron/dclass/stride.dc old mode 100644 new mode 100755 diff --git a/astron/libeay32.dll b/astron/libeay32.dll old mode 100644 new mode 100755 diff --git a/astron/linux/start-ai-server.sh b/astron/linux/start-ai-server.sh old mode 100644 new mode 100755 diff --git a/astron/linux/start-astron-cluster.sh b/astron/linux/start-astron-cluster.sh old mode 100644 new mode 100755 diff --git a/astron/linux/start-uberdog-server.sh b/astron/linux/start-uberdog-server.sh old mode 100644 new mode 100755 diff --git a/astron/ssleay32.dll b/astron/ssleay32.dll old mode 100644 new mode 100755 diff --git a/client.bat b/client.bat old mode 100644 new mode 100755 diff --git a/config/events/grand-opening.prc b/config/events/grand-opening.prc old mode 100644 new mode 100755 diff --git a/config/general.prc b/config/general.prc old mode 100644 new mode 100755 diff --git a/config/guieditor.prc b/config/guieditor.prc old mode 100644 new mode 100755 diff --git a/config/holidays/christmas.prc b/config/holidays/christmas.prc old mode 100644 new mode 100755 diff --git a/config/holidays/halloween.prc b/config/holidays/halloween.prc old mode 100644 new mode 100755 diff --git a/config/release/dev.prc b/config/release/dev.prc old mode 100644 new mode 100755 index 337bbd05..6a803caa --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -6,13 +6,13 @@ model-path ../resources/ # Server: server-version tts-dev -min-access-level 600 -accountdb-type developer +min-access-level 100 +accountdb-type remote shard-low-pop 50 shard-mid-pop 100 # RPC: -want-rpc-server #f +want-rpc-server #t rpc-server-endpoint http://localhost:8080/ # DClass file: diff --git a/config/release/en.prc b/config/release/en.prc old mode 100644 new mode 100755 diff --git a/config/release/test.prc b/config/release/test.prc old mode 100644 new mode 100755 diff --git a/darwin/start-game-remotedb.sh b/darwin/start-game-remotedb.sh old mode 100644 new mode 100755 diff --git a/darwin/start-game.sh b/darwin/start-game.sh old mode 100644 new mode 100755 diff --git a/deployment/.gitignore b/deployment/.gitignore old mode 100644 new mode 100755 diff --git a/deployment/FreezeTool.patch b/deployment/FreezeTool.patch old mode 100644 new mode 100755 diff --git a/deployment/deploy.py b/deployment/deploy.py old mode 100644 new mode 100755 diff --git a/doc/building/README.md b/doc/building/README.md old mode 100644 new mode 100755 diff --git a/doc/style-guide/README.md b/doc/style-guide/README.md old mode 100644 new mode 100755 diff --git a/doc/style-guide/cxx-style.md b/doc/style-guide/cxx-style.md old mode 100644 new mode 100755 diff --git a/doc/style-guide/git-style.md b/doc/style-guide/git-style.md old mode 100644 new mode 100755 diff --git a/doc/style-guide/python-style.md b/doc/style-guide/python-style.md old mode 100644 new mode 100755 diff --git a/guieditor.bat b/guieditor.bat old mode 100644 new mode 100755 diff --git a/guieditor/EditorStart.py b/guieditor/EditorStart.py old mode 100644 new mode 100755 diff --git a/guieditor/__init__.py b/guieditor/__init__.py old mode 100644 new mode 100755 diff --git a/libpandadna.pyd b/libpandadna.pyd old mode 100644 new mode 100755 diff --git a/linux/start-game-localhost.sh b/linux/start-game-localhost.sh old mode 100644 new mode 100755 diff --git a/linux/start-game-remotedb.sh b/linux/start-game-remotedb.sh old mode 100644 new mode 100755 diff --git a/linux/start-game.sh b/linux/start-game.sh old mode 100644 new mode 100755 diff --git a/otp/__init__.py b/otp/__init__.py old mode 100644 new mode 100755 diff --git a/otp/ai/AIBase.py b/otp/ai/AIBase.py old mode 100644 new mode 100755 diff --git a/otp/ai/AIBaseGlobal.py b/otp/ai/AIBaseGlobal.py old mode 100644 new mode 100755 diff --git a/otp/ai/AIMsgTypes.py b/otp/ai/AIMsgTypes.py old mode 100644 new mode 100755 diff --git a/otp/ai/AIZoneData.py b/otp/ai/AIZoneData.py old mode 100644 new mode 100755 diff --git a/otp/ai/BanManagerAI.py b/otp/ai/BanManagerAI.py old mode 100644 new mode 100755 diff --git a/otp/ai/Barrier.py b/otp/ai/Barrier.py old mode 100644 new mode 100755 diff --git a/otp/ai/MagicWordGlobal.py b/otp/ai/MagicWordGlobal.py old mode 100644 new mode 100755 diff --git a/otp/ai/MagicWordManager.py b/otp/ai/MagicWordManager.py old mode 100644 new mode 100755 diff --git a/otp/ai/MagicWordManagerAI.py b/otp/ai/MagicWordManagerAI.py old mode 100644 new mode 100755 diff --git a/otp/ai/TimeManager.py b/otp/ai/TimeManager.py old mode 100644 new mode 100755 diff --git a/otp/ai/TimeManagerAI.py b/otp/ai/TimeManagerAI.py old mode 100644 new mode 100755 diff --git a/otp/ai/__init__.py b/otp/ai/__init__.py old mode 100644 new mode 100755 diff --git a/otp/avatar/Avatar.py b/otp/avatar/Avatar.py old mode 100644 new mode 100755 diff --git a/otp/avatar/AvatarDNA.py b/otp/avatar/AvatarDNA.py old mode 100644 new mode 100755 diff --git a/otp/avatar/AvatarDetail.py b/otp/avatar/AvatarDetail.py old mode 100644 new mode 100755 diff --git a/otp/avatar/AvatarHandle.py b/otp/avatar/AvatarHandle.py old mode 100644 new mode 100755 diff --git a/otp/avatar/AvatarPanel.py b/otp/avatar/AvatarPanel.py old mode 100644 new mode 100755 diff --git a/otp/avatar/DistributedAvatar.py b/otp/avatar/DistributedAvatar.py old mode 100644 new mode 100755 diff --git a/otp/avatar/DistributedAvatarAI.py b/otp/avatar/DistributedAvatarAI.py old mode 100644 new mode 100755 diff --git a/otp/avatar/DistributedAvatarUD.py b/otp/avatar/DistributedAvatarUD.py old mode 100644 new mode 100755 diff --git a/otp/avatar/DistributedPlayer.py b/otp/avatar/DistributedPlayer.py old mode 100644 new mode 100755 diff --git a/otp/avatar/DistributedPlayerAI.py b/otp/avatar/DistributedPlayerAI.py old mode 100644 new mode 100755 diff --git a/otp/avatar/Emote.py b/otp/avatar/Emote.py old mode 100644 new mode 100755 diff --git a/otp/avatar/LocalAvatar.py b/otp/avatar/LocalAvatar.py old mode 100644 new mode 100755 diff --git a/otp/avatar/PlayerBase.py b/otp/avatar/PlayerBase.py old mode 100644 new mode 100755 diff --git a/otp/avatar/PositionExaminer.py b/otp/avatar/PositionExaminer.py old mode 100644 new mode 100755 diff --git a/otp/avatar/ShadowCaster.py b/otp/avatar/ShadowCaster.py old mode 100644 new mode 100755 diff --git a/otp/avatar/__init__.py b/otp/avatar/__init__.py old mode 100644 new mode 100755 diff --git a/otp/chat/ChatAgent.py b/otp/chat/ChatAgent.py old mode 100644 new mode 100755 diff --git a/otp/chat/ChatAgentAI.py b/otp/chat/ChatAgentAI.py old mode 100644 new mode 100755 diff --git a/otp/chat/ChatAgentUD.py b/otp/chat/ChatAgentUD.py old mode 100644 new mode 100755 diff --git a/otp/chat/ChatGarbler.py b/otp/chat/ChatGarbler.py old mode 100644 new mode 100755 diff --git a/otp/chat/ChatGlobals.py b/otp/chat/ChatGlobals.py old mode 100644 new mode 100755 diff --git a/otp/chat/ChatInputNormal.py b/otp/chat/ChatInputNormal.py old mode 100644 new mode 100755 diff --git a/otp/chat/ChatInputTyped.py b/otp/chat/ChatInputTyped.py old mode 100644 new mode 100755 diff --git a/otp/chat/ChatInputWhiteListFrame.py b/otp/chat/ChatInputWhiteListFrame.py old mode 100644 new mode 100755 diff --git a/otp/chat/ChatManager.py b/otp/chat/ChatManager.py old mode 100644 new mode 100755 diff --git a/otp/chat/SequenceList.py b/otp/chat/SequenceList.py old mode 100644 new mode 100755 diff --git a/otp/chat/TalkAssistant.py b/otp/chat/TalkAssistant.py old mode 100644 new mode 100755 diff --git a/otp/chat/TalkGlobals.py b/otp/chat/TalkGlobals.py old mode 100644 new mode 100755 diff --git a/otp/chat/TalkHandle.py b/otp/chat/TalkHandle.py old mode 100644 new mode 100755 diff --git a/otp/chat/TalkMessage.py b/otp/chat/TalkMessage.py old mode 100644 new mode 100755 diff --git a/otp/chat/WhiteList.py b/otp/chat/WhiteList.py old mode 100644 new mode 100755 diff --git a/otp/chat/__init__.py b/otp/chat/__init__.py old mode 100644 new mode 100755 diff --git a/otp/distributed/Account.py b/otp/distributed/Account.py old mode 100644 new mode 100755 diff --git a/otp/distributed/AccountAI.py b/otp/distributed/AccountAI.py old mode 100644 new mode 100755 diff --git a/otp/distributed/AccountUD.py b/otp/distributed/AccountUD.py old mode 100644 new mode 100755 diff --git a/otp/distributed/ClsendTracker.py b/otp/distributed/ClsendTracker.py old mode 100644 new mode 100755 diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py old mode 100644 new mode 100755 diff --git a/otp/distributed/DistributedDirectory.py b/otp/distributed/DistributedDirectory.py old mode 100644 new mode 100755 diff --git a/otp/distributed/DistributedDirectoryAI.py b/otp/distributed/DistributedDirectoryAI.py old mode 100644 new mode 100755 diff --git a/otp/distributed/DistributedDistrict.py b/otp/distributed/DistributedDistrict.py old mode 100644 new mode 100755 diff --git a/otp/distributed/DistributedDistrictAI.py b/otp/distributed/DistributedDistrictAI.py old mode 100644 new mode 100755 diff --git a/otp/distributed/DistributedDistrictUD.py b/otp/distributed/DistributedDistrictUD.py old mode 100644 new mode 100755 diff --git a/otp/distributed/OTPClientRepository.py b/otp/distributed/OTPClientRepository.py old mode 100644 new mode 100755 diff --git a/otp/distributed/OtpDoGlobals.py b/otp/distributed/OtpDoGlobals.py old mode 100644 new mode 100755 diff --git a/otp/distributed/PotentialAvatar.py b/otp/distributed/PotentialAvatar.py old mode 100644 new mode 100755 diff --git a/otp/distributed/PotentialShard.py b/otp/distributed/PotentialShard.py old mode 100644 new mode 100755 diff --git a/otp/distributed/TelemetryLimited.py b/otp/distributed/TelemetryLimited.py old mode 100644 new mode 100755 diff --git a/otp/distributed/TelemetryLimiter.py b/otp/distributed/TelemetryLimiter.py old mode 100644 new mode 100755 diff --git a/otp/distributed/__init__.py b/otp/distributed/__init__.py old mode 100644 new mode 100755 diff --git a/otp/friends/FriendManager.py b/otp/friends/FriendManager.py old mode 100644 new mode 100755 diff --git a/otp/friends/FriendManagerAI.py b/otp/friends/FriendManagerAI.py old mode 100644 new mode 100755 diff --git a/otp/friends/__init__.py b/otp/friends/__init__.py old mode 100644 new mode 100755 diff --git a/otp/level/AmbientSound.py b/otp/level/AmbientSound.py old mode 100644 new mode 100755 diff --git a/otp/level/AttribDesc.py b/otp/level/AttribDesc.py old mode 100644 new mode 100755 diff --git a/otp/level/BasicEntities.py b/otp/level/BasicEntities.py old mode 100644 new mode 100755 diff --git a/otp/level/CollisionSolidEntity.py b/otp/level/CollisionSolidEntity.py old mode 100644 new mode 100755 diff --git a/otp/level/CutScene.py b/otp/level/CutScene.py old mode 100644 new mode 100755 diff --git a/otp/level/DistributedEntity.py b/otp/level/DistributedEntity.py old mode 100644 new mode 100755 diff --git a/otp/level/DistributedEntityAI.py b/otp/level/DistributedEntityAI.py old mode 100644 new mode 100755 diff --git a/otp/level/DistributedInteractiveEntity.py b/otp/level/DistributedInteractiveEntity.py old mode 100644 new mode 100755 diff --git a/otp/level/DistributedInteractiveEntityAI.py b/otp/level/DistributedInteractiveEntityAI.py old mode 100644 new mode 100755 diff --git a/otp/level/DistributedLevel.py b/otp/level/DistributedLevel.py old mode 100644 new mode 100755 diff --git a/otp/level/DistributedLevelAI.py b/otp/level/DistributedLevelAI.py old mode 100644 new mode 100755 diff --git a/otp/level/Entity.py b/otp/level/Entity.py old mode 100644 new mode 100755 diff --git a/otp/level/EntityCreator.py b/otp/level/EntityCreator.py old mode 100644 new mode 100755 diff --git a/otp/level/EntityCreatorAI.py b/otp/level/EntityCreatorAI.py old mode 100644 new mode 100755 diff --git a/otp/level/EntityCreatorBase.py b/otp/level/EntityCreatorBase.py old mode 100644 new mode 100755 diff --git a/otp/level/EntityStateVarSet.py b/otp/level/EntityStateVarSet.py old mode 100644 new mode 100755 diff --git a/otp/level/EntityTypeDesc.py b/otp/level/EntityTypeDesc.py old mode 100644 new mode 100755 diff --git a/otp/level/EntityTypes.py b/otp/level/EntityTypes.py old mode 100644 new mode 100755 diff --git a/otp/level/EntrancePoint.py b/otp/level/EntrancePoint.py old mode 100644 new mode 100755 diff --git a/otp/level/Level.py b/otp/level/Level.py old mode 100644 new mode 100755 diff --git a/otp/level/LevelConstants.py b/otp/level/LevelConstants.py old mode 100644 new mode 100755 diff --git a/otp/level/LevelMgr.py b/otp/level/LevelMgr.py old mode 100644 new mode 100755 diff --git a/otp/level/LevelMgrAI.py b/otp/level/LevelMgrAI.py old mode 100644 new mode 100755 diff --git a/otp/level/LevelMgrBase.py b/otp/level/LevelMgrBase.py old mode 100644 new mode 100755 diff --git a/otp/level/LevelSpec.py b/otp/level/LevelSpec.py old mode 100644 new mode 100755 diff --git a/otp/level/LevelUtil.py b/otp/level/LevelUtil.py old mode 100644 new mode 100755 diff --git a/otp/level/LocatorEntity.py b/otp/level/LocatorEntity.py old mode 100644 new mode 100755 diff --git a/otp/level/LogicGate.py b/otp/level/LogicGate.py old mode 100644 new mode 100755 diff --git a/otp/level/ModelEntity.py b/otp/level/ModelEntity.py old mode 100644 new mode 100755 diff --git a/otp/level/PathEntity.py b/otp/level/PathEntity.py old mode 100644 new mode 100755 diff --git a/otp/level/PropSpinner.py b/otp/level/PropSpinner.py old mode 100644 new mode 100755 diff --git a/otp/level/VisibilityBlocker.py b/otp/level/VisibilityBlocker.py old mode 100644 new mode 100755 diff --git a/otp/level/VisibilityExtender.py b/otp/level/VisibilityExtender.py old mode 100644 new mode 100755 diff --git a/otp/level/ZoneEntity.py b/otp/level/ZoneEntity.py old mode 100644 new mode 100755 diff --git a/otp/level/ZoneEntityAI.py b/otp/level/ZoneEntityAI.py old mode 100644 new mode 100755 diff --git a/otp/level/ZoneEntityBase.py b/otp/level/ZoneEntityBase.py old mode 100644 new mode 100755 diff --git a/otp/level/__init__.py b/otp/level/__init__.py old mode 100644 new mode 100755 diff --git a/otp/movement/CMover.py b/otp/movement/CMover.py old mode 100644 new mode 100755 diff --git a/otp/movement/Impulse.py b/otp/movement/Impulse.py old mode 100644 new mode 100755 diff --git a/otp/movement/Mover.py b/otp/movement/Mover.py old mode 100644 new mode 100755 diff --git a/otp/movement/PyVec3.py b/otp/movement/PyVec3.py old mode 100644 new mode 100755 diff --git a/otp/movement/__init__.py b/otp/movement/__init__.py old mode 100644 new mode 100755 diff --git a/otp/namepanel/NameCheck.py b/otp/namepanel/NameCheck.py old mode 100644 new mode 100755 diff --git a/otp/namepanel/NameTumbler.py b/otp/namepanel/NameTumbler.py old mode 100644 new mode 100755 diff --git a/otp/namepanel/PickANamePattern.py b/otp/namepanel/PickANamePattern.py old mode 100644 new mode 100755 diff --git a/otp/namepanel/__init__.py b/otp/namepanel/__init__.py old mode 100644 new mode 100755 diff --git a/otp/otpbase/BackupManager.py b/otp/otpbase/BackupManager.py old mode 100644 new mode 100755 diff --git a/otp/otpbase/OTPBase.py b/otp/otpbase/OTPBase.py old mode 100644 new mode 100755 diff --git a/otp/otpbase/OTPGlobals.py b/otp/otpbase/OTPGlobals.py old mode 100644 new mode 100755 diff --git a/otp/otpbase/OTPLocalizer.py b/otp/otpbase/OTPLocalizer.py old mode 100644 new mode 100755 diff --git a/otp/otpbase/OTPLocalizerEnglish.py b/otp/otpbase/OTPLocalizerEnglish.py old mode 100644 new mode 100755 diff --git a/otp/otpbase/OTPLocalizerEnglishProperty.py b/otp/otpbase/OTPLocalizerEnglishProperty.py old mode 100644 new mode 100755 diff --git a/otp/otpbase/OTPRender.py b/otp/otpbase/OTPRender.py old mode 100644 new mode 100755 diff --git a/otp/otpbase/__init__.py b/otp/otpbase/__init__.py old mode 100644 new mode 100755 diff --git a/otp/otpgui/OTPDialog.py b/otp/otpgui/OTPDialog.py old mode 100644 new mode 100755 diff --git a/otp/otpgui/__init__.py b/otp/otpgui/__init__.py old mode 100644 new mode 100755 diff --git a/otp/settings/Settings.py b/otp/settings/Settings.py old mode 100644 new mode 100755 diff --git a/otp/settings/__init__.py b/otp/settings/__init__.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/ColorSpace.py b/otp/speedchat/ColorSpace.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCColorScheme.py b/otp/speedchat/SCColorScheme.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCConstants.py b/otp/speedchat/SCConstants.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCCustomMenu.py b/otp/speedchat/SCCustomMenu.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCCustomTerminal.py b/otp/speedchat/SCCustomTerminal.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCDecoders.py b/otp/speedchat/SCDecoders.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCElement.py b/otp/speedchat/SCElement.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCEmoteMenu.py b/otp/speedchat/SCEmoteMenu.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCEmoteTerminal.py b/otp/speedchat/SCEmoteTerminal.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCMenu.py b/otp/speedchat/SCMenu.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCMenuHolder.py b/otp/speedchat/SCMenuHolder.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCObject.py b/otp/speedchat/SCObject.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCSettings.py b/otp/speedchat/SCSettings.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCStaticTextTerminal.py b/otp/speedchat/SCStaticTextTerminal.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SCTerminal.py b/otp/speedchat/SCTerminal.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SpeedChat.py b/otp/speedchat/SpeedChat.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SpeedChatGlobals.py b/otp/speedchat/SpeedChatGlobals.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/SpeedChatTypes.py b/otp/speedchat/SpeedChatTypes.py old mode 100644 new mode 100755 diff --git a/otp/speedchat/__init__.py b/otp/speedchat/__init__.py old mode 100644 new mode 100755 diff --git a/panda/__init__.py b/panda/__init__.py old mode 100644 new mode 100755 diff --git a/panda/bin/apply_patch.exe b/panda/bin/apply_patch.exe old mode 100644 new mode 100755 diff --git a/panda/bin/atl100.dll b/panda/bin/atl100.dll old mode 100644 new mode 100755 diff --git a/panda/bin/bam-info.exe b/panda/bin/bam-info.exe old mode 100644 new mode 100755 diff --git a/panda/bin/bam2egg.exe b/panda/bin/bam2egg.exe old mode 100644 new mode 100755 diff --git a/panda/bin/build_patch.exe b/panda/bin/build_patch.exe old mode 100644 new mode 100755 diff --git a/panda/bin/cg.dll b/panda/bin/cg.dll old mode 100644 new mode 100755 diff --git a/panda/bin/cgD3D10.dll b/panda/bin/cgD3D10.dll old mode 100644 new mode 100755 diff --git a/panda/bin/cgD3D11.dll b/panda/bin/cgD3D11.dll old mode 100644 new mode 100755 diff --git a/panda/bin/cgD3D9.dll b/panda/bin/cgD3D9.dll old mode 100644 new mode 100755 diff --git a/panda/bin/cgGL.dll b/panda/bin/cgGL.dll old mode 100644 new mode 100755 diff --git a/panda/bin/cgc.exe b/panda/bin/cgc.exe old mode 100644 new mode 100755 diff --git a/panda/bin/cgfxcat.exe b/panda/bin/cgfxcat.exe old mode 100644 new mode 100755 diff --git a/panda/bin/cginfo.exe b/panda/bin/cginfo.exe old mode 100644 new mode 100755 diff --git a/panda/bin/check_adler.exe b/panda/bin/check_adler.exe old mode 100644 new mode 100755 diff --git a/panda/bin/check_crc.exe b/panda/bin/check_crc.exe old mode 100644 new mode 100755 diff --git a/panda/bin/check_md5.exe b/panda/bin/check_md5.exe old mode 100644 new mode 100755 diff --git a/panda/bin/dxf-points.exe b/panda/bin/dxf-points.exe old mode 100644 new mode 100755 diff --git a/panda/bin/dxf2egg.exe b/panda/bin/dxf2egg.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-crop.exe b/panda/bin/egg-crop.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-list-textures.exe b/panda/bin/egg-list-textures.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-make-tube.exe b/panda/bin/egg-make-tube.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-mkfont.exe b/panda/bin/egg-mkfont.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-optchar.exe b/panda/bin/egg-optchar.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-palettize.exe b/panda/bin/egg-palettize.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-qtess.exe b/panda/bin/egg-qtess.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-rename.exe b/panda/bin/egg-rename.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-retarget-anim.exe b/panda/bin/egg-retarget-anim.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-texture-cards.exe b/panda/bin/egg-texture-cards.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-topstrip.exe b/panda/bin/egg-topstrip.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg-trans.exe b/panda/bin/egg-trans.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg2bam.exe b/panda/bin/egg2bam.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg2c.exe b/panda/bin/egg2c.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg2dxf.exe b/panda/bin/egg2dxf.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg2flt.exe b/panda/bin/egg2flt.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg2obj.exe b/panda/bin/egg2obj.exe old mode 100644 new mode 100755 diff --git a/panda/bin/egg2x.exe b/panda/bin/egg2x.exe old mode 100644 new mode 100755 diff --git a/panda/bin/eggcacher.exe b/panda/bin/eggcacher.exe old mode 100644 new mode 100755 diff --git a/panda/bin/flt-info.exe b/panda/bin/flt-info.exe old mode 100644 new mode 100755 diff --git a/panda/bin/flt-trans.exe b/panda/bin/flt-trans.exe old mode 100644 new mode 100755 diff --git a/panda/bin/flt2egg.exe b/panda/bin/flt2egg.exe old mode 100644 new mode 100755 diff --git a/panda/bin/fltcopy.exe b/panda/bin/fltcopy.exe old mode 100644 new mode 100755 diff --git a/panda/bin/fmodex.dll b/panda/bin/fmodex.dll old mode 100644 new mode 100755 diff --git a/panda/bin/fmodexL.dll b/panda/bin/fmodexL.dll old mode 100644 new mode 100755 diff --git a/panda/bin/glut32.dll b/panda/bin/glut32.dll old mode 100644 new mode 100755 diff --git a/panda/bin/image-info.exe b/panda/bin/image-info.exe old mode 100644 new mode 100755 diff --git a/panda/bin/image-resize.exe b/panda/bin/image-resize.exe old mode 100644 new mode 100755 diff --git a/panda/bin/image-trans.exe b/panda/bin/image-trans.exe old mode 100644 new mode 100755 diff --git a/panda/bin/interrogate.exe b/panda/bin/interrogate.exe old mode 100644 new mode 100755 diff --git a/panda/bin/interrogate_module.exe b/panda/bin/interrogate_module.exe old mode 100644 new mode 100755 diff --git a/panda/bin/libp3direct.dll b/panda/bin/libp3direct.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libp3dtool.dll b/panda/bin/libp3dtool.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libp3dtoolconfig.dll b/panda/bin/libp3dtoolconfig.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libp3fmod_audio.dll b/panda/bin/libp3fmod_audio.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libp3framework.dll b/panda/bin/libp3framework.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libp3ptloader.dll b/panda/bin/libp3ptloader.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libp3tinydisplay.dll b/panda/bin/libp3tinydisplay.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libp3windisplay.dll b/panda/bin/libp3windisplay.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libpanda.dll b/panda/bin/libpanda.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libpandadx9.dll b/panda/bin/libpandadx9.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libpandaegg.dll b/panda/bin/libpandaegg.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libpandaexpress.dll b/panda/bin/libpandaexpress.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libpandafx.dll b/panda/bin/libpandafx.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libpandagl.dll b/panda/bin/libpandagl.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libpandaode.dll b/panda/bin/libpandaode.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libpandaphysics.dll b/panda/bin/libpandaphysics.dll old mode 100644 new mode 100755 diff --git a/panda/bin/libpandaskel.dll b/panda/bin/libpandaskel.dll old mode 100644 new mode 100755 diff --git a/panda/bin/lwo-scan.exe b/panda/bin/lwo-scan.exe old mode 100644 new mode 100755 diff --git a/panda/bin/lwo2egg.exe b/panda/bin/lwo2egg.exe old mode 100644 new mode 100755 diff --git a/panda/bin/make-prc-key.exe b/panda/bin/make-prc-key.exe old mode 100644 new mode 100755 diff --git a/panda/bin/mfc100.dll b/panda/bin/mfc100.dll old mode 100644 new mode 100755 diff --git a/panda/bin/mfc100u.dll b/panda/bin/mfc100u.dll old mode 100644 new mode 100755 diff --git a/panda/bin/mfcm100.dll b/panda/bin/mfcm100.dll old mode 100644 new mode 100755 diff --git a/panda/bin/mfcm100u.dll b/panda/bin/mfcm100u.dll old mode 100644 new mode 100755 diff --git a/panda/bin/msvcp100.dll b/panda/bin/msvcp100.dll old mode 100644 new mode 100755 diff --git a/panda/bin/msvcr100.dll b/panda/bin/msvcr100.dll old mode 100644 new mode 100755 diff --git a/panda/bin/multify.exe b/panda/bin/multify.exe old mode 100644 new mode 100755 diff --git a/panda/bin/obj2egg.exe b/panda/bin/obj2egg.exe old mode 100644 new mode 100755 diff --git a/panda/bin/p3dWrapper.exe b/panda/bin/p3dWrapper.exe old mode 100644 new mode 100755 diff --git a/panda/bin/p3dcparse.exe b/panda/bin/p3dcparse.exe old mode 100644 new mode 100755 diff --git a/panda/bin/packpanda.exe b/panda/bin/packpanda.exe old mode 100644 new mode 100755 diff --git a/panda/bin/parse_file.exe b/panda/bin/parse_file.exe old mode 100644 new mode 100755 diff --git a/panda/bin/pdecrypt.exe b/panda/bin/pdecrypt.exe old mode 100644 new mode 100755 diff --git a/panda/bin/pencrypt.exe b/panda/bin/pencrypt.exe old mode 100644 new mode 100755 diff --git a/panda/bin/pfm-bba.exe b/panda/bin/pfm-bba.exe old mode 100644 new mode 100755 diff --git a/panda/bin/pfm-trans.exe b/panda/bin/pfm-trans.exe old mode 100644 new mode 100755 diff --git a/panda/bin/pstats.exe b/panda/bin/pstats.exe old mode 100644 new mode 100755 diff --git a/panda/bin/punzip.exe b/panda/bin/punzip.exe old mode 100644 new mode 100755 diff --git a/panda/bin/pview.exe b/panda/bin/pview.exe old mode 100644 new mode 100755 diff --git a/panda/bin/python27.dll b/panda/bin/python27.dll old mode 100644 new mode 100755 diff --git a/panda/bin/pzip.exe b/panda/bin/pzip.exe old mode 100644 new mode 100755 diff --git a/panda/bin/show_ddb.exe b/panda/bin/show_ddb.exe old mode 100644 new mode 100755 diff --git a/panda/bin/softcvs.exe b/panda/bin/softcvs.exe old mode 100644 new mode 100755 diff --git a/panda/bin/test_interrogate.exe b/panda/bin/test_interrogate.exe old mode 100644 new mode 100755 diff --git a/panda/bin/text-stats.exe b/panda/bin/text-stats.exe old mode 100644 new mode 100755 diff --git a/panda/bin/vrml-trans.exe b/panda/bin/vrml-trans.exe old mode 100644 new mode 100755 diff --git a/panda/bin/vrml2egg.exe b/panda/bin/vrml2egg.exe old mode 100644 new mode 100755 diff --git a/panda/bin/x-trans.exe b/panda/bin/x-trans.exe old mode 100644 new mode 100755 diff --git a/panda/bin/x2egg.exe b/panda/bin/x2egg.exe old mode 100644 new mode 100755 diff --git a/panda/direct/__init__.py b/panda/direct/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/actor/Actor.py b/panda/direct/actor/Actor.py old mode 100644 new mode 100755 diff --git a/panda/direct/actor/DistributedActor.py b/panda/direct/actor/DistributedActor.py old mode 100644 new mode 100755 diff --git a/panda/direct/actor/__init__.py b/panda/direct/actor/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/cluster/ClusterClient.py b/panda/direct/cluster/ClusterClient.py old mode 100644 new mode 100755 diff --git a/panda/direct/cluster/ClusterConfig.py b/panda/direct/cluster/ClusterConfig.py old mode 100644 new mode 100755 diff --git a/panda/direct/cluster/ClusterMsgs.py b/panda/direct/cluster/ClusterMsgs.py old mode 100644 new mode 100755 diff --git a/panda/direct/cluster/ClusterServer.py b/panda/direct/cluster/ClusterServer.py old mode 100644 new mode 100755 diff --git a/panda/direct/cluster/__init__.py b/panda/direct/cluster/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/BattleWalker.py b/panda/direct/controls/BattleWalker.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/ControlManager.py b/panda/direct/controls/ControlManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/DevWalker.py b/panda/direct/controls/DevWalker.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/GhostWalker.py b/panda/direct/controls/GhostWalker.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/GravityWalker.py b/panda/direct/controls/GravityWalker.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/InputState.py b/panda/direct/controls/InputState.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/NonPhysicsWalker.py b/panda/direct/controls/NonPhysicsWalker.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/ObserverWalker.py b/panda/direct/controls/ObserverWalker.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/PhysicsRoller.py b/panda/direct/controls/PhysicsRoller.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/PhysicsWalker.py b/panda/direct/controls/PhysicsWalker.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/SwimWalker.py b/panda/direct/controls/SwimWalker.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/TwoDWalker.py b/panda/direct/controls/TwoDWalker.py old mode 100644 new mode 100755 diff --git a/panda/direct/controls/__init__.py b/panda/direct/controls/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/directbase/DirectStart.py b/panda/direct/directbase/DirectStart.py old mode 100644 new mode 100755 diff --git a/panda/direct/directbase/TestStart.py b/panda/direct/directbase/TestStart.py old mode 100644 new mode 100755 diff --git a/panda/direct/directbase/ThreeUpStart.py b/panda/direct/directbase/ThreeUpStart.py old mode 100644 new mode 100755 diff --git a/panda/direct/directbase/__init__.py b/panda/direct/directbase/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/directdevices/DirectDeviceManager.py b/panda/direct/directdevices/DirectDeviceManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/directdevices/DirectFastrak.py b/panda/direct/directdevices/DirectFastrak.py old mode 100644 new mode 100755 diff --git a/panda/direct/directdevices/DirectJoybox.py b/panda/direct/directdevices/DirectJoybox.py old mode 100644 new mode 100755 diff --git a/panda/direct/directdevices/DirectRadamec.py b/panda/direct/directdevices/DirectRadamec.py old mode 100644 new mode 100755 diff --git a/panda/direct/directdevices/__init__.py b/panda/direct/directdevices/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/directnotify/DirectNotify.py b/panda/direct/directnotify/DirectNotify.py old mode 100644 new mode 100755 diff --git a/panda/direct/directnotify/DirectNotifyGlobal.py b/panda/direct/directnotify/DirectNotifyGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/directnotify/Logger.py b/panda/direct/directnotify/Logger.py old mode 100644 new mode 100755 diff --git a/panda/direct/directnotify/LoggerGlobal.py b/panda/direct/directnotify/LoggerGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/directnotify/Notifier.py b/panda/direct/directnotify/Notifier.py old mode 100644 new mode 100755 diff --git a/panda/direct/directnotify/RotatingLog.py b/panda/direct/directnotify/RotatingLog.py old mode 100644 new mode 100755 diff --git a/panda/direct/directnotify/__init__.py b/panda/direct/directnotify/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/.cvsignore b/panda/direct/directscripts/.cvsignore old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/DetectPanda3D.js b/panda/direct/directscripts/DetectPanda3D.js old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/Doxyfile.cxx b/panda/direct/directscripts/Doxyfile.cxx old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/Doxyfile.python b/panda/direct/directscripts/Doxyfile.python old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/RunPanda3D.js b/panda/direct/directscripts/RunPanda3D.js old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/Sources.pp b/panda/direct/directscripts/Sources.pp old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/__init__.py b/panda/direct/directscripts/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/cleancvstree b/panda/direct/directscripts/cleancvstree old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/doxygen_filter.py b/panda/direct/directscripts/doxygen_filter.py old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/eggcacher.py b/panda/direct/directscripts/eggcacher.py old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/extract_docs.py b/panda/direct/directscripts/extract_docs.py old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/flashparen.el b/panda/direct/directscripts/flashparen.el old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/gendocs.py b/panda/direct/directscripts/gendocs.py old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/hilit19.el b/panda/direct/directscripts/hilit19.el old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/make-panda3d-tgz.py b/panda/direct/directscripts/make-panda3d-tgz.py old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/packpanda.nsi b/panda/direct/directscripts/packpanda.nsi old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/packpanda.py b/panda/direct/directscripts/packpanda.py old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/panda-install.bmp b/panda/direct/directscripts/panda-install.bmp old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/profilepaths-osx.command b/panda/direct/directscripts/profilepaths-osx.command old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/python-mode.el b/panda/direct/directscripts/python-mode.el old mode 100644 new mode 100755 diff --git a/panda/direct/directscripts/runPythonEmacs b/panda/direct/directscripts/runPythonEmacs old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/DirectCameraControl.py b/panda/direct/directtools/DirectCameraControl.py old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/DirectGeometry.py b/panda/direct/directtools/DirectGeometry.py old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/DirectGlobals.py b/panda/direct/directtools/DirectGlobals.py old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/DirectGrid.py b/panda/direct/directtools/DirectGrid.py old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/DirectLights.py b/panda/direct/directtools/DirectLights.py old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/DirectManipulation.py b/panda/direct/directtools/DirectManipulation.py old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/DirectSelection.py b/panda/direct/directtools/DirectSelection.py old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/DirectSession.py b/panda/direct/directtools/DirectSession.py old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/DirectUtil.py b/panda/direct/directtools/DirectUtil.py old mode 100644 new mode 100755 diff --git a/panda/direct/directtools/__init__.py b/panda/direct/directtools/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/DeltaProfiler.py b/panda/direct/directutil/DeltaProfiler.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/DirectMySQLdb.py b/panda/direct/directutil/DirectMySQLdb.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/DirectMySQLdbConnection.py b/panda/direct/directutil/DirectMySQLdbConnection.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/DistributedLargeBlobSender.py b/panda/direct/directutil/DistributedLargeBlobSender.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/DistributedLargeBlobSenderAI.py b/panda/direct/directutil/DistributedLargeBlobSenderAI.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/LargeBlobSenderConsts.py b/panda/direct/directutil/LargeBlobSenderConsts.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/MemoryLeakHelpers.py b/panda/direct/directutil/MemoryLeakHelpers.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/Mopath.py b/panda/direct/directutil/Mopath.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/Verify.py b/panda/direct/directutil/Verify.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/WeightedChoice.py b/panda/direct/directutil/WeightedChoice.py old mode 100644 new mode 100755 diff --git a/panda/direct/directutil/__init__.py b/panda/direct/directutil/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/AstronClientRepository.py b/panda/direct/distributed/AstronClientRepository.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/AstronDatabaseInterface.py b/panda/direct/distributed/AstronDatabaseInterface.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/AstronInternalRepository.py b/panda/direct/distributed/AstronInternalRepository.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/AsyncRequest.py b/panda/direct/distributed/AsyncRequest.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/CRCache.py b/panda/direct/distributed/CRCache.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/CRDataCache.py b/panda/direct/distributed/CRDataCache.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/CachedDOData.py b/panda/direct/distributed/CachedDOData.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/CartesianGridBase.py b/panda/direct/distributed/CartesianGridBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/ClientRepository.py b/panda/direct/distributed/ClientRepository.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/ClientRepositoryBase.py b/panda/direct/distributed/ClientRepositoryBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/ClockDelta.py b/panda/direct/distributed/ClockDelta.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/ConnectionRepository.py b/panda/direct/distributed/ConnectionRepository.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedCamera.py b/panda/direct/distributed/DistributedCamera.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedCameraAI.py b/panda/direct/distributed/DistributedCameraAI.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedCameraOV.py b/panda/direct/distributed/DistributedCameraOV.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedCartesianGrid.py b/panda/direct/distributed/DistributedCartesianGrid.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedCartesianGridAI.py b/panda/direct/distributed/DistributedCartesianGridAI.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedNode.py b/panda/direct/distributed/DistributedNode.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedNodeAI.py b/panda/direct/distributed/DistributedNodeAI.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedNodeUD.py b/panda/direct/distributed/DistributedNodeUD.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedObject.py b/panda/direct/distributed/DistributedObject.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedObjectAI.py b/panda/direct/distributed/DistributedObjectAI.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedObjectBase.py b/panda/direct/distributed/DistributedObjectBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedObjectGlobal.py b/panda/direct/distributed/DistributedObjectGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedObjectGlobalAI.py b/panda/direct/distributed/DistributedObjectGlobalAI.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedObjectGlobalUD.py b/panda/direct/distributed/DistributedObjectGlobalUD.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedObjectOV.py b/panda/direct/distributed/DistributedObjectOV.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedObjectUD.py b/panda/direct/distributed/DistributedObjectUD.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedSmoothNode.py b/panda/direct/distributed/DistributedSmoothNode.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedSmoothNodeAI.py b/panda/direct/distributed/DistributedSmoothNodeAI.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DistributedSmoothNodeBase.py b/panda/direct/distributed/DistributedSmoothNodeBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DoCollectionManager.py b/panda/direct/distributed/DoCollectionManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DoHierarchy.py b/panda/direct/distributed/DoHierarchy.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/DoInterestManager.py b/panda/direct/distributed/DoInterestManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/GridChild.py b/panda/direct/distributed/GridChild.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/GridParent.py b/panda/direct/distributed/GridParent.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/InterestWatcher.py b/panda/direct/distributed/InterestWatcher.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/MsgTypes.py b/panda/direct/distributed/MsgTypes.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/MsgTypesCMU.py b/panda/direct/distributed/MsgTypesCMU.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/NetMessenger.py b/panda/direct/distributed/NetMessenger.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/OldClientRepository.py b/panda/direct/distributed/OldClientRepository.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/ParentMgr.py b/panda/direct/distributed/ParentMgr.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/PyDatagram.py b/panda/direct/distributed/PyDatagram.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/PyDatagramIterator.py b/panda/direct/distributed/PyDatagramIterator.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/RelatedObjectMgr.py b/panda/direct/distributed/RelatedObjectMgr.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/SampleObject.py b/panda/direct/distributed/SampleObject.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/ServerRepository.py b/panda/direct/distributed/ServerRepository.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/StagedObject.py b/panda/direct/distributed/StagedObject.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/TimeManager.py b/panda/direct/distributed/TimeManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/TimeManagerAI.py b/panda/direct/distributed/TimeManagerAI.py old mode 100644 new mode 100755 diff --git a/panda/direct/distributed/__init__.py b/panda/direct/distributed/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/CInterval-extensions.py b/panda/direct/extensions/CInterval-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/ConfigVariable-extensions.py b/panda/direct/extensions/ConfigVariable-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/ConfigVariableBool-extensions.py b/panda/direct/extensions/ConfigVariableBool-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/ConfigVariableDouble-extensions.py b/panda/direct/extensions/ConfigVariableDouble-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/ConfigVariableFilename-extensions.py b/panda/direct/extensions/ConfigVariableFilename-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/ConfigVariableInt-extensions.py b/panda/direct/extensions/ConfigVariableInt-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/ConfigVariableList-extensions.py b/panda/direct/extensions/ConfigVariableList-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/ConfigVariableString-extensions.py b/panda/direct/extensions/ConfigVariableString-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/HTTPChannel-extensions.py b/panda/direct/extensions/HTTPChannel-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/Mat3-extensions.py b/panda/direct/extensions/Mat3-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/MouseWatcherRegion-extensions.py b/panda/direct/extensions/MouseWatcherRegion-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/Node-extensions.py b/panda/direct/extensions/Node-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/NodePath-extensions.py b/panda/direct/extensions/NodePath-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/NurbsCurveEvaluator-extensions.py b/panda/direct/extensions/NurbsCurveEvaluator-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/NurbsSurfaceEvaluator-extensions.py b/panda/direct/extensions/NurbsSurfaceEvaluator-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/PandaSystem-extensions.py b/panda/direct/extensions/PandaSystem-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/SpriteParticleRenderer-extensions.py b/panda/direct/extensions/SpriteParticleRenderer-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/VBase3-extensions.py b/panda/direct/extensions/VBase3-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/VBase4-extensions.py b/panda/direct/extensions/VBase4-extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions/__init__.py b/panda/direct/extensions/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions_native/CInterval_extensions.py b/panda/direct/extensions_native/CInterval_extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions_native/HTTPChannel_extensions.py b/panda/direct/extensions_native/HTTPChannel_extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions_native/Mat3_extensions.py b/panda/direct/extensions_native/Mat3_extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions_native/NodePath_extensions.py b/panda/direct/extensions_native/NodePath_extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions_native/VBase3_extensions.py b/panda/direct/extensions_native/VBase3_extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions_native/VBase4_extensions.py b/panda/direct/extensions_native/VBase4_extensions.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions_native/__init__.py b/panda/direct/extensions_native/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/extensions_native/extension_native_helpers.py b/panda/direct/extensions_native/extension_native_helpers.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/DoGenPyCode.py b/panda/direct/ffi/DoGenPyCode.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/FFIConstants.py b/panda/direct/ffi/FFIConstants.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/FFIEnvironment.py b/panda/direct/ffi/FFIEnvironment.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/FFIExternalObject.py b/panda/direct/ffi/FFIExternalObject.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/FFIInterrogateDatabase.py b/panda/direct/ffi/FFIInterrogateDatabase.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/FFIOverload.py b/panda/direct/ffi/FFIOverload.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/FFIRename.py b/panda/direct/ffi/FFIRename.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/FFISpecs.py b/panda/direct/ffi/FFISpecs.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/FFITypes.py b/panda/direct/ffi/FFITypes.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/__init__.py b/panda/direct/ffi/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/jGenPyCode.py b/panda/direct/ffi/jGenPyCode.py old mode 100644 new mode 100755 diff --git a/panda/direct/ffi/panda3d.py b/panda/direct/ffi/panda3d.py old mode 100644 new mode 100755 diff --git a/panda/direct/filter/CommonFilters.py b/panda/direct/filter/CommonFilters.py old mode 100644 new mode 100755 diff --git a/panda/direct/filter/FilterManager.py b/panda/direct/filter/FilterManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/filter/__init__.py b/panda/direct/filter/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/filter/filter-bloomi.sha b/panda/direct/filter/filter-bloomi.sha old mode 100644 new mode 100755 diff --git a/panda/direct/filter/filter-bloomx.sha b/panda/direct/filter/filter-bloomx.sha old mode 100644 new mode 100755 diff --git a/panda/direct/filter/filter-bloomy.sha b/panda/direct/filter/filter-bloomy.sha old mode 100644 new mode 100755 diff --git a/panda/direct/filter/filter-blurx.sha b/panda/direct/filter/filter-blurx.sha old mode 100644 new mode 100755 diff --git a/panda/direct/filter/filter-blury.sha b/panda/direct/filter/filter-blury.sha old mode 100644 new mode 100755 diff --git a/panda/direct/filter/filter-copy.sha b/panda/direct/filter/filter-copy.sha old mode 100644 new mode 100755 diff --git a/panda/direct/filter/filter-down4.sha b/panda/direct/filter/filter-down4.sha old mode 100644 new mode 100755 diff --git a/panda/direct/filter/filter-ssao.sha b/panda/direct/filter/filter-ssao.sha old mode 100644 new mode 100755 diff --git a/panda/direct/fsm/ClassicFSM.py b/panda/direct/fsm/ClassicFSM.py old mode 100644 new mode 100755 diff --git a/panda/direct/fsm/FSM.py b/panda/direct/fsm/FSM.py old mode 100644 new mode 100755 diff --git a/panda/direct/fsm/FourState.py b/panda/direct/fsm/FourState.py old mode 100644 new mode 100755 diff --git a/panda/direct/fsm/FourStateAI.py b/panda/direct/fsm/FourStateAI.py old mode 100644 new mode 100755 diff --git a/panda/direct/fsm/SampleFSM.py b/panda/direct/fsm/SampleFSM.py old mode 100644 new mode 100755 diff --git a/panda/direct/fsm/State.py b/panda/direct/fsm/State.py old mode 100644 new mode 100755 diff --git a/panda/direct/fsm/StateData.py b/panda/direct/fsm/StateData.py old mode 100644 new mode 100755 diff --git a/panda/direct/fsm/StatePush.py b/panda/direct/fsm/StatePush.py old mode 100644 new mode 100755 diff --git a/panda/direct/fsm/__init__.py b/panda/direct/fsm/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectButton.py b/panda/direct/gui/DirectButton.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectCheckBox.py b/panda/direct/gui/DirectCheckBox.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectCheckButton.py b/panda/direct/gui/DirectCheckButton.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectDialog.py b/panda/direct/gui/DirectDialog.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectEntry.py b/panda/direct/gui/DirectEntry.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectEntryScroll.py b/panda/direct/gui/DirectEntryScroll.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectFrame.py b/panda/direct/gui/DirectFrame.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectGui.py b/panda/direct/gui/DirectGui.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectGuiBase.py b/panda/direct/gui/DirectGuiBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectGuiGlobals.py b/panda/direct/gui/DirectGuiGlobals.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectGuiTest.py b/panda/direct/gui/DirectGuiTest.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectLabel.py b/panda/direct/gui/DirectLabel.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectOptionMenu.py b/panda/direct/gui/DirectOptionMenu.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectRadioButton.py b/panda/direct/gui/DirectRadioButton.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectScrollBar.py b/panda/direct/gui/DirectScrollBar.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectScrolledFrame.py b/panda/direct/gui/DirectScrolledFrame.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectScrolledList.py b/panda/direct/gui/DirectScrolledList.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectSlider.py b/panda/direct/gui/DirectSlider.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/DirectWaitBar.py b/panda/direct/gui/DirectWaitBar.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/OnscreenGeom.py b/panda/direct/gui/OnscreenGeom.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/OnscreenImage.py b/panda/direct/gui/OnscreenImage.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/OnscreenText.py b/panda/direct/gui/OnscreenText.py old mode 100644 new mode 100755 diff --git a/panda/direct/gui/__init__.py b/panda/direct/gui/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/http/LandingPage.py b/panda/direct/http/LandingPage.py old mode 100644 new mode 100755 diff --git a/panda/direct/http/LandingPageHTML.py b/panda/direct/http/LandingPageHTML.py old mode 100644 new mode 100755 diff --git a/panda/direct/http/WebRequest.py b/panda/direct/http/WebRequest.py old mode 100644 new mode 100755 diff --git a/panda/direct/http/__init__.py b/panda/direct/http/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/http/linuxSystemInfo.py b/panda/direct/http/linuxSystemInfo.py old mode 100644 new mode 100755 diff --git a/panda/direct/http/recaptcha.py b/panda/direct/http/recaptcha.py old mode 100644 new mode 100755 diff --git a/panda/direct/http/webAIInspector.py b/panda/direct/http/webAIInspector.py old mode 100644 new mode 100755 diff --git a/panda/direct/http/webNotifyDebug.py b/panda/direct/http/webNotifyDebug.py old mode 100644 new mode 100755 diff --git a/panda/direct/http/windowsSystemInfo.py b/panda/direct/http/windowsSystemInfo.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/ActorInterval.py b/panda/direct/interval/ActorInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/AnimControlInterval.py b/panda/direct/interval/AnimControlInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/FunctionInterval.py b/panda/direct/interval/FunctionInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/IndirectInterval.py b/panda/direct/interval/IndirectInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/Interval.py b/panda/direct/interval/Interval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/IntervalGlobal.py b/panda/direct/interval/IntervalGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/IntervalManager.py b/panda/direct/interval/IntervalManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/IntervalTest.py b/panda/direct/interval/IntervalTest.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/LerpBlendHelpers.py b/panda/direct/interval/LerpBlendHelpers.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/LerpInterval.py b/panda/direct/interval/LerpInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/MetaInterval.py b/panda/direct/interval/MetaInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/MopathInterval.py b/panda/direct/interval/MopathInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/ParticleInterval.py b/panda/direct/interval/ParticleInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/ProjectileInterval.py b/panda/direct/interval/ProjectileInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/ProjectileIntervalTest.py b/panda/direct/interval/ProjectileIntervalTest.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/SoundInterval.py b/panda/direct/interval/SoundInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/TestInterval.py b/panda/direct/interval/TestInterval.py old mode 100644 new mode 100755 diff --git a/panda/direct/interval/__init__.py b/panda/direct/interval/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ActionMgr.py b/panda/direct/leveleditor/ActionMgr.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/AnimControlUI.py b/panda/direct/leveleditor/AnimControlUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/AnimGlobals.py b/panda/direct/leveleditor/AnimGlobals.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/AnimMgr.py b/panda/direct/leveleditor/AnimMgr.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/AnimMgrBase.py b/panda/direct/leveleditor/AnimMgrBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/CurveAnimUI.py b/panda/direct/leveleditor/CurveAnimUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/CurveEditor.py b/panda/direct/leveleditor/CurveEditor.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/FileMgr.py b/panda/direct/leveleditor/FileMgr.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/GraphEditorUI.py b/panda/direct/leveleditor/GraphEditorUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/HotKeyUI.py b/panda/direct/leveleditor/HotKeyUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/LayerEditorUI.py b/panda/direct/leveleditor/LayerEditorUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/LevelEditor.py b/panda/direct/leveleditor/LevelEditor.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/LevelEditorBase.py b/panda/direct/leveleditor/LevelEditorBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/LevelEditorStart.py b/panda/direct/leveleditor/LevelEditorStart.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/LevelEditorUI.py b/panda/direct/leveleditor/LevelEditorUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/LevelEditorUIBase.py b/panda/direct/leveleditor/LevelEditorUIBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/LevelLoader.py b/panda/direct/leveleditor/LevelLoader.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/LevelLoaderBase.py b/panda/direct/leveleditor/LevelLoaderBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/MayaConverter.py b/panda/direct/leveleditor/MayaConverter.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ObjectGlobals.py b/panda/direct/leveleditor/ObjectGlobals.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ObjectHandler.py b/panda/direct/leveleditor/ObjectHandler.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ObjectMgr.py b/panda/direct/leveleditor/ObjectMgr.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ObjectMgrBase.py b/panda/direct/leveleditor/ObjectMgrBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ObjectPalette.py b/panda/direct/leveleditor/ObjectPalette.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ObjectPaletteBase.py b/panda/direct/leveleditor/ObjectPaletteBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ObjectPaletteUI.py b/panda/direct/leveleditor/ObjectPaletteUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ObjectPropertyUI.py b/panda/direct/leveleditor/ObjectPropertyUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/PaletteTreeCtrl.py b/panda/direct/leveleditor/PaletteTreeCtrl.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ProtoObjs.py b/panda/direct/leveleditor/ProtoObjs.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ProtoObjsUI.py b/panda/direct/leveleditor/ProtoObjsUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ProtoPalette.py b/panda/direct/leveleditor/ProtoPalette.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ProtoPaletteBase.py b/panda/direct/leveleditor/ProtoPaletteBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/ProtoPaletteUI.py b/panda/direct/leveleditor/ProtoPaletteUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/SceneGraphUI.py b/panda/direct/leveleditor/SceneGraphUI.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/SceneGraphUIBase.py b/panda/direct/leveleditor/SceneGraphUIBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/__init__.py b/panda/direct/leveleditor/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/leveleditor/testData.py b/panda/direct/leveleditor/testData.py old mode 100644 new mode 100755 diff --git a/panda/direct/motiontrail/MotionTrail.py b/panda/direct/motiontrail/MotionTrail.py old mode 100644 new mode 100755 diff --git a/panda/direct/motiontrail/__init__.py b/panda/direct/motiontrail/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/AppRunner.py b/panda/direct/p3d/AppRunner.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/DWBPackageInstaller.py b/panda/direct/p3d/DWBPackageInstaller.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/DeploymentTools.py b/panda/direct/p3d/DeploymentTools.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/FileSpec.py b/panda/direct/p3d/FileSpec.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/HostInfo.py b/panda/direct/p3d/HostInfo.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/InstalledHostData.py b/panda/direct/p3d/InstalledHostData.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/InstalledPackageData.py b/panda/direct/p3d/InstalledPackageData.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/JavaScript.py b/panda/direct/p3d/JavaScript.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/PackageInfo.py b/panda/direct/p3d/PackageInfo.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/PackageInstaller.py b/panda/direct/p3d/PackageInstaller.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/PackageMerger.py b/panda/direct/p3d/PackageMerger.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/Packager.py b/panda/direct/p3d/Packager.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/PatchMaker.py b/panda/direct/p3d/PatchMaker.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/ScanDirectoryNode.py b/panda/direct/p3d/ScanDirectoryNode.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/SeqValue.py b/panda/direct/p3d/SeqValue.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/__init__.py b/panda/direct/p3d/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/packp3d.py b/panda/direct/p3d/packp3d.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/pdeploy.py b/panda/direct/p3d/pdeploy.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/pmerge.py b/panda/direct/p3d/pmerge.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/ppackage.py b/panda/direct/p3d/ppackage.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/ppatcher.py b/panda/direct/p3d/ppatcher.py old mode 100644 new mode 100755 diff --git a/panda/direct/p3d/runp3d.py b/panda/direct/p3d/runp3d.py old mode 100644 new mode 100755 diff --git a/panda/direct/particles/ForceGroup.py b/panda/direct/particles/ForceGroup.py old mode 100644 new mode 100755 diff --git a/panda/direct/particles/GlobalForceGroup.py b/panda/direct/particles/GlobalForceGroup.py old mode 100644 new mode 100755 diff --git a/panda/direct/particles/ParticleEffect.py b/panda/direct/particles/ParticleEffect.py old mode 100644 new mode 100755 diff --git a/panda/direct/particles/ParticleFloorTest.py b/panda/direct/particles/ParticleFloorTest.py old mode 100644 new mode 100755 diff --git a/panda/direct/particles/ParticleManagerGlobal.py b/panda/direct/particles/ParticleManagerGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/particles/ParticleTest.py b/panda/direct/particles/ParticleTest.py old mode 100644 new mode 100755 diff --git a/panda/direct/particles/Particles.py b/panda/direct/particles/Particles.py old mode 100644 new mode 100755 diff --git a/panda/direct/particles/SpriteParticleRendererExt.py b/panda/direct/particles/SpriteParticleRendererExt.py old mode 100644 new mode 100755 diff --git a/panda/direct/particles/__init__.py b/panda/direct/particles/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/physics/FallTest.py b/panda/direct/physics/FallTest.py old mode 100644 new mode 100755 diff --git a/panda/direct/physics/RotationTest.py b/panda/direct/physics/RotationTest.py old mode 100644 new mode 100755 diff --git a/panda/direct/physics/__init__.py b/panda/direct/physics/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/plugin/FileSpec.py b/panda/direct/plugin/FileSpec.py old mode 100644 new mode 100755 diff --git a/panda/direct/plugin_installer/make_installer.py b/panda/direct/plugin_installer/make_installer.py old mode 100644 new mode 100755 diff --git a/panda/direct/plugin_installer/make_xpi.py b/panda/direct/plugin_installer/make_xpi.py old mode 100644 new mode 100755 diff --git a/panda/direct/plugin_npapi/make_osx_bundle.py b/panda/direct/plugin_npapi/make_osx_bundle.py old mode 100644 new mode 100755 diff --git a/panda/direct/plugin_standalone/make_osx_bundle.py b/panda/direct/plugin_standalone/make_osx_bundle.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/Builder.py b/panda/direct/pyinst/Builder.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/__init__.py b/panda/direct/pyinst/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/archive.py b/panda/direct/pyinst/archive.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/archive_rt.py b/panda/direct/pyinst/archive_rt.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/archivebuilder.py b/panda/direct/pyinst/archivebuilder.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/bindepend.py b/panda/direct/pyinst/bindepend.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/carchive.py b/panda/direct/pyinst/carchive.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/carchive_rt.py b/panda/direct/pyinst/carchive_rt.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/finder.py b/panda/direct/pyinst/finder.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/icon.py b/panda/direct/pyinst/icon.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/imputil.py b/panda/direct/pyinst/imputil.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/installutils.py b/panda/direct/pyinst/installutils.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/ltoc.py b/panda/direct/pyinst/ltoc.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/mkarchive.py b/panda/direct/pyinst/mkarchive.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/modulefinder.py b/panda/direct/pyinst/modulefinder.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/resource.py b/panda/direct/pyinst/resource.py old mode 100644 new mode 100755 diff --git a/panda/direct/pyinst/tocfilter.py b/panda/direct/pyinst/tocfilter.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/AppRunnerGlobal.py b/panda/direct/showbase/AppRunnerGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/Audio3DManager.py b/panda/direct/showbase/Audio3DManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/BpDb.py b/panda/direct/showbase/BpDb.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/BufferViewer.py b/panda/direct/showbase/BufferViewer.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/BulletinBoard.py b/panda/direct/showbase/BulletinBoard.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/BulletinBoardGlobal.py b/panda/direct/showbase/BulletinBoardGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/BulletinBoardWatcher.py b/panda/direct/showbase/BulletinBoardWatcher.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ContainerLeakDetector.py b/panda/direct/showbase/ContainerLeakDetector.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ContainerReport.py b/panda/direct/showbase/ContainerReport.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/CountedResource.py b/panda/direct/showbase/CountedResource.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/DirectObject.py b/panda/direct/showbase/DirectObject.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/DistancePhasedNode.py b/panda/direct/showbase/DistancePhasedNode.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ElementTree.py b/panda/direct/showbase/ElementTree.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/EventGroup.py b/panda/direct/showbase/EventGroup.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/EventManager.py b/panda/direct/showbase/EventManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/EventManagerGlobal.py b/panda/direct/showbase/EventManagerGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ExcelHandler.py b/panda/direct/showbase/ExcelHandler.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ExceptionVarDump.py b/panda/direct/showbase/ExceptionVarDump.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/Factory.py b/panda/direct/showbase/Factory.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/FindCtaPaths.py b/panda/direct/showbase/FindCtaPaths.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/Finder.py b/panda/direct/showbase/Finder.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/GarbageReport.py b/panda/direct/showbase/GarbageReport.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/GarbageReportScheduler.py b/panda/direct/showbase/GarbageReportScheduler.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/HTMLTree.py b/panda/direct/showbase/HTMLTree.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/InputStateGlobal.py b/panda/direct/showbase/InputStateGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/Job.py b/panda/direct/showbase/Job.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/JobManager.py b/panda/direct/showbase/JobManager.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/JobManagerGlobal.py b/panda/direct/showbase/JobManagerGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/LazySort.py b/panda/direct/showbase/LazySort.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/LeakDetectors.py b/panda/direct/showbase/LeakDetectors.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/LerpBlendHelpers.py b/panda/direct/showbase/LerpBlendHelpers.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/Loader.py b/panda/direct/showbase/Loader.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/Messenger.py b/panda/direct/showbase/Messenger.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/MessengerGlobal.py b/panda/direct/showbase/MessengerGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/MessengerLeakDetector.py b/panda/direct/showbase/MessengerLeakDetector.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/MirrorDemo.py b/panda/direct/showbase/MirrorDemo.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ObjectPool.py b/panda/direct/showbase/ObjectPool.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ObjectReport.py b/panda/direct/showbase/ObjectReport.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/OnScreenDebug.py b/panda/direct/showbase/OnScreenDebug.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/PandaObject.py b/panda/direct/showbase/PandaObject.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/PhasedObject.py b/panda/direct/showbase/PhasedObject.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/PhysicsManagerGlobal.py b/panda/direct/showbase/PhysicsManagerGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/Pool.py b/panda/direct/showbase/Pool.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ProfileSession.py b/panda/direct/showbase/ProfileSession.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/PythonUtil.py b/panda/direct/showbase/PythonUtil.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/RandomNumGen.py b/panda/direct/showbase/RandomNumGen.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ReferrerSearch.py b/panda/direct/showbase/ReferrerSearch.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/SfxPlayer.py b/panda/direct/showbase/SfxPlayer.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ShadowDemo.py b/panda/direct/showbase/ShadowDemo.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ShadowPlacer.py b/panda/direct/showbase/ShadowPlacer.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ShowBase.py b/panda/direct/showbase/ShowBase.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ShowBaseGlobal.py b/panda/direct/showbase/ShowBaseGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/TaskThreaded.py b/panda/direct/showbase/TaskThreaded.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/ThreeUpShow.py b/panda/direct/showbase/ThreeUpShow.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/TkGlobal.py b/panda/direct/showbase/TkGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/Transitions.py b/panda/direct/showbase/Transitions.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/VFSImporter.py b/panda/direct/showbase/VFSImporter.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/VerboseImport.py b/panda/direct/showbase/VerboseImport.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/WxGlobal.py b/panda/direct/showbase/WxGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/__init__.py b/panda/direct/showbase/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/pandaSqueezeTool.py b/panda/direct/showbase/pandaSqueezeTool.py old mode 100644 new mode 100755 diff --git a/panda/direct/showbase/pandaSqueezer.py b/panda/direct/showbase/pandaSqueezer.py old mode 100644 new mode 100755 diff --git a/panda/direct/showutil/BuildGeometry.py b/panda/direct/showutil/BuildGeometry.py old mode 100644 new mode 100755 diff --git a/panda/direct/showutil/Effects.py b/panda/direct/showutil/Effects.py old mode 100644 new mode 100755 diff --git a/panda/direct/showutil/FreezeTool.py b/panda/direct/showutil/FreezeTool.py old mode 100644 new mode 100755 diff --git a/panda/direct/showutil/Rope.py b/panda/direct/showutil/Rope.py old mode 100644 new mode 100755 diff --git a/panda/direct/showutil/TexMemWatcher.py b/panda/direct/showutil/TexMemWatcher.py old mode 100644 new mode 100755 diff --git a/panda/direct/showutil/TexViewer.py b/panda/direct/showutil/TexViewer.py old mode 100644 new mode 100755 diff --git a/panda/direct/showutil/__init__.py b/panda/direct/showutil/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/showutil/pfreeze.py b/panda/direct/showutil/pfreeze.py old mode 100644 new mode 100755 diff --git a/panda/direct/stdpy/__init__.py b/panda/direct/stdpy/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/stdpy/file.py b/panda/direct/stdpy/file.py old mode 100644 new mode 100755 diff --git a/panda/direct/stdpy/glob.py b/panda/direct/stdpy/glob.py old mode 100644 new mode 100755 diff --git a/panda/direct/stdpy/pickle.py b/panda/direct/stdpy/pickle.py old mode 100644 new mode 100755 diff --git a/panda/direct/stdpy/thread.py b/panda/direct/stdpy/thread.py old mode 100644 new mode 100755 diff --git a/panda/direct/stdpy/threading.py b/panda/direct/stdpy/threading.py old mode 100644 new mode 100755 diff --git a/panda/direct/stdpy/threading2.py b/panda/direct/stdpy/threading2.py old mode 100644 new mode 100755 diff --git a/panda/direct/task/FrameProfiler.py b/panda/direct/task/FrameProfiler.py old mode 100644 new mode 100755 diff --git a/panda/direct/task/MiniTask.py b/panda/direct/task/MiniTask.py old mode 100644 new mode 100755 diff --git a/panda/direct/task/Task.py b/panda/direct/task/Task.py old mode 100644 new mode 100755 diff --git a/panda/direct/task/TaskManagerGlobal.py b/panda/direct/task/TaskManagerGlobal.py old mode 100644 new mode 100755 diff --git a/panda/direct/task/TaskProfiler.py b/panda/direct/task/TaskProfiler.py old mode 100644 new mode 100755 diff --git a/panda/direct/task/TaskTester.py b/panda/direct/task/TaskTester.py old mode 100644 new mode 100755 diff --git a/panda/direct/task/Timer.py b/panda/direct/task/Timer.py old mode 100644 new mode 100755 diff --git a/panda/direct/task/__init__.py b/panda/direct/task/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/test/ModelScreenShot.py b/panda/direct/test/ModelScreenShot.py old mode 100644 new mode 100755 diff --git a/panda/direct/test/ModelScreenShotGlobals.py b/panda/direct/test/ModelScreenShotGlobals.py old mode 100644 new mode 100755 diff --git a/panda/direct/test/__init__.py b/panda/direct/test/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/AnimPanel.py b/panda/direct/tkpanels/AnimPanel.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/DirectSessionPanel.py b/panda/direct/tkpanels/DirectSessionPanel.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/FSMInspector.py b/panda/direct/tkpanels/FSMInspector.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/Inspector.py b/panda/direct/tkpanels/Inspector.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/MopathRecorder.py b/panda/direct/tkpanels/MopathRecorder.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/NotifyPanel.py b/panda/direct/tkpanels/NotifyPanel.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/ParticlePanel.py b/panda/direct/tkpanels/ParticlePanel.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/Placer.py b/panda/direct/tkpanels/Placer.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/TaskManagerPanel.py b/panda/direct/tkpanels/TaskManagerPanel.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkpanels/__init__.py b/panda/direct/tkpanels/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/AppShell.py b/panda/direct/tkwidgets/AppShell.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/Dial.py b/panda/direct/tkwidgets/Dial.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/EntryScale.py b/panda/direct/tkwidgets/EntryScale.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/Floater.py b/panda/direct/tkwidgets/Floater.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/MemoryExplorer.py b/panda/direct/tkwidgets/MemoryExplorer.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/ProgressBar.py b/panda/direct/tkwidgets/ProgressBar.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/SceneGraphExplorer.py b/panda/direct/tkwidgets/SceneGraphExplorer.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/Slider.py b/panda/direct/tkwidgets/Slider.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/Tree.py b/panda/direct/tkwidgets/Tree.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/Valuator.py b/panda/direct/tkwidgets/Valuator.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/VectorWidgets.py b/panda/direct/tkwidgets/VectorWidgets.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/WidgetPropertiesDialog.py b/panda/direct/tkwidgets/WidgetPropertiesDialog.py old mode 100644 new mode 100755 diff --git a/panda/direct/tkwidgets/__init__.py b/panda/direct/tkwidgets/__init__.py old mode 100644 new mode 100755 diff --git a/panda/direct/wxwidgets/ViewPort.py b/panda/direct/wxwidgets/ViewPort.py old mode 100644 new mode 100755 diff --git a/panda/direct/wxwidgets/WxAppShell.py b/panda/direct/wxwidgets/WxAppShell.py old mode 100644 new mode 100755 diff --git a/panda/direct/wxwidgets/WxPandaShell.py b/panda/direct/wxwidgets/WxPandaShell.py old mode 100644 new mode 100755 diff --git a/panda/direct/wxwidgets/WxPandaStart.py b/panda/direct/wxwidgets/WxPandaStart.py old mode 100644 new mode 100755 diff --git a/panda/direct/wxwidgets/WxPandaWindow.py b/panda/direct/wxwidgets/WxPandaWindow.py old mode 100644 new mode 100755 diff --git a/panda/direct/wxwidgets/WxSlider.py b/panda/direct/wxwidgets/WxSlider.py old mode 100644 new mode 100755 diff --git a/panda/direct/wxwidgets/__init__.py b/panda/direct/wxwidgets/__init__.py old mode 100644 new mode 100755 diff --git a/panda/etc/Confauto.prc b/panda/etc/Confauto.prc old mode 100644 new mode 100755 diff --git a/panda/etc/Config.prc b/panda/etc/Config.prc old mode 100644 new mode 100755 diff --git a/panda/panda3d/__init__.py b/panda/panda3d/__init__.py old mode 100644 new mode 100755 diff --git a/panda/panda3d/core.pyd b/panda/panda3d/core.pyd old mode 100644 new mode 100755 diff --git a/panda/panda3d/direct.pyd b/panda/panda3d/direct.pyd old mode 100644 new mode 100755 diff --git a/panda/panda3d/egg.pyd b/panda/panda3d/egg.pyd old mode 100644 new mode 100755 diff --git a/panda/panda3d/fx.pyd b/panda/panda3d/fx.pyd old mode 100644 new mode 100755 diff --git a/panda/panda3d/ode.pyd b/panda/panda3d/ode.pyd old mode 100644 new mode 100755 diff --git a/panda/panda3d/physics.pyd b/panda/panda3d/physics.pyd old mode 100644 new mode 100755 diff --git a/panda/panda3d/skel.pyd b/panda/panda3d/skel.pyd old mode 100644 new mode 100755 diff --git a/panda/pandac/PandaModules.py b/panda/pandac/PandaModules.py old mode 100644 new mode 100755 diff --git a/panda/pandac/__init__.py b/panda/pandac/__init__.py old mode 100644 new mode 100755 diff --git a/panda/pandac/extension_native_helpers.py b/panda/pandac/extension_native_helpers.py old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3audio.in b/panda/pandac/input/libp3audio.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3chan.in b/panda/pandac/input/libp3chan.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3char.in b/panda/pandac/input/libp3char.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3collide.in b/panda/pandac/input/libp3collide.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3cull.in b/panda/pandac/input/libp3cull.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3dcparser.in b/panda/pandac/input/libp3dcparser.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3deadrec.in b/panda/pandac/input/libp3deadrec.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3device.in b/panda/pandac/input/libp3device.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3dgraph.in b/panda/pandac/input/libp3dgraph.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3display.in b/panda/pandac/input/libp3display.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3distort.in b/panda/pandac/input/libp3distort.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3distributed.in b/panda/pandac/input/libp3distributed.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3downloader.in b/panda/pandac/input/libp3downloader.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3dxml.in b/panda/pandac/input/libp3dxml.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3egg.in b/panda/pandac/input/libp3egg.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3egg2pg.in b/panda/pandac/input/libp3egg2pg.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3event.in b/panda/pandac/input/libp3event.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3express.in b/panda/pandac/input/libp3express.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3gobj.in b/panda/pandac/input/libp3gobj.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3grutil.in b/panda/pandac/input/libp3grutil.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3gsgbase.in b/panda/pandac/input/libp3gsgbase.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3interval.in b/panda/pandac/input/libp3interval.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3linmath.in b/panda/pandac/input/libp3linmath.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3mathutil.in b/panda/pandac/input/libp3mathutil.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3movies.in b/panda/pandac/input/libp3movies.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3nativenet.in b/panda/pandac/input/libp3nativenet.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3net.in b/panda/pandac/input/libp3net.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3parametrics.in b/panda/pandac/input/libp3parametrics.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3particlesystem.in b/panda/pandac/input/libp3particlesystem.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3pgraph.in b/panda/pandac/input/libp3pgraph.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3pgraphnodes.in b/panda/pandac/input/libp3pgraphnodes.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3pgui.in b/panda/pandac/input/libp3pgui.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3physics.in b/panda/pandac/input/libp3physics.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3pipeline.in b/panda/pandac/input/libp3pipeline.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3pnmimage.in b/panda/pandac/input/libp3pnmimage.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3pnmtext.in b/panda/pandac/input/libp3pnmtext.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3pstatclient.in b/panda/pandac/input/libp3pstatclient.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3putil.in b/panda/pandac/input/libp3putil.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3recorder.in b/panda/pandac/input/libp3recorder.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3showbase.in b/panda/pandac/input/libp3showbase.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3skel.in b/panda/pandac/input/libp3skel.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3text.in b/panda/pandac/input/libp3text.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libp3tform.in b/panda/pandac/input/libp3tform.in old mode 100644 new mode 100755 diff --git a/panda/pandac/input/libpandaode.in b/panda/pandac/input/libpandaode.in old mode 100644 new mode 100755 diff --git a/panda/pandac/panda3dCoreModules.py b/panda/pandac/panda3dCoreModules.py old mode 100644 new mode 100755 diff --git a/panda/pandac/panda3dDirectModules.py b/panda/pandac/panda3dDirectModules.py old mode 100644 new mode 100755 diff --git a/panda/pandac/panda3dEggModules.py b/panda/pandac/panda3dEggModules.py old mode 100644 new mode 100755 diff --git a/panda/pandac/panda3dFxModules.py b/panda/pandac/panda3dFxModules.py old mode 100644 new mode 100755 diff --git a/panda/pandac/panda3dOdeModules.py b/panda/pandac/panda3dOdeModules.py old mode 100644 new mode 100755 diff --git a/panda/pandac/panda3dPhysicsModules.py b/panda/pandac/panda3dPhysicsModules.py old mode 100644 new mode 100755 diff --git a/panda/pandac/panda3dSkelModules.py b/panda/pandac/panda3dSkelModules.py old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/__init__.py b/panda/python/DLLs/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_bsddb.pyd b/panda/python/DLLs/_bsddb.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_ctypes.pyd b/panda/python/DLLs/_ctypes.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_ctypes_test.pyd b/panda/python/DLLs/_ctypes_test.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_elementtree.pyd b/panda/python/DLLs/_elementtree.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_hashlib.pyd b/panda/python/DLLs/_hashlib.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_msi.pyd b/panda/python/DLLs/_msi.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_multiprocessing.pyd b/panda/python/DLLs/_multiprocessing.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_socket.pyd b/panda/python/DLLs/_socket.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_sqlite3.pyd b/panda/python/DLLs/_sqlite3.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_ssl.pyd b/panda/python/DLLs/_ssl.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_testcapi.pyd b/panda/python/DLLs/_testcapi.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/_tkinter.pyd b/panda/python/DLLs/_tkinter.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/bz2.pyd b/panda/python/DLLs/bz2.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/py.ico b/panda/python/DLLs/py.ico old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/pyc.ico b/panda/python/DLLs/pyc.ico old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/pyexpat.pyd b/panda/python/DLLs/pyexpat.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/select.pyd b/panda/python/DLLs/select.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/sqlite3.dll b/panda/python/DLLs/sqlite3.dll old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/tcl85.dll b/panda/python/DLLs/tcl85.dll old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/tclpip85.dll b/panda/python/DLLs/tclpip85.dll old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/tk85.dll b/panda/python/DLLs/tk85.dll old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/unicodedata.pyd b/panda/python/DLLs/unicodedata.pyd old mode 100644 new mode 100755 diff --git a/panda/python/DLLs/winsound.pyd b/panda/python/DLLs/winsound.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/BaseHTTPServer.py b/panda/python/Lib/BaseHTTPServer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/Bastion.py b/panda/python/Lib/Bastion.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/CGIHTTPServer.py b/panda/python/Lib/CGIHTTPServer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ConfigParser.py b/panda/python/Lib/ConfigParser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/Cookie.py b/panda/python/Lib/Cookie.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/DocXMLRPCServer.py b/panda/python/Lib/DocXMLRPCServer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/HTMLParser.py b/panda/python/Lib/HTMLParser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/JOD/JamoDrum.py b/panda/python/Lib/JOD/JamoDrum.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/JOD/JamoDrumNodePath.py b/panda/python/Lib/JOD/JamoDrumNodePath.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/JOD/NewJamoDrum.py b/panda/python/Lib/JOD/NewJamoDrum.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/JOD/__init__.py b/panda/python/Lib/JOD/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/JOD/jod_mask.png b/panda/python/Lib/JOD/jod_mask.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/MimeWriter.py b/panda/python/Lib/MimeWriter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/Queue.py b/panda/python/Lib/Queue.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/SimpleHTTPServer.py b/panda/python/Lib/SimpleHTTPServer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/SimpleXMLRPCServer.py b/panda/python/Lib/SimpleXMLRPCServer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/SocketServer.py b/panda/python/Lib/SocketServer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/StringIO.py b/panda/python/Lib/StringIO.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/UserDict.py b/panda/python/Lib/UserDict.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/UserList.py b/panda/python/Lib/UserList.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/UserString.py b/panda/python/Lib/UserString.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/_LWPCookieJar.py b/panda/python/Lib/_LWPCookieJar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/_MozillaCookieJar.py b/panda/python/Lib/_MozillaCookieJar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/__future__.py b/panda/python/Lib/__future__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/__init__.py b/panda/python/Lib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/__phello__.foo.py b/panda/python/Lib/__phello__.foo.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/_abcoll.py b/panda/python/Lib/_abcoll.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/_osx_support.py b/panda/python/Lib/_osx_support.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/_pyio.py b/panda/python/Lib/_pyio.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/_strptime.py b/panda/python/Lib/_strptime.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/_threading_local.py b/panda/python/Lib/_threading_local.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/_weakrefset.py b/panda/python/Lib/_weakrefset.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/abc.py b/panda/python/Lib/abc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/aifc.py b/panda/python/Lib/aifc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/antigravity.py b/panda/python/Lib/antigravity.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/anydbm.py b/panda/python/Lib/anydbm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/argparse.py b/panda/python/Lib/argparse.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ast.py b/panda/python/Lib/ast.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/asynchat.py b/panda/python/Lib/asynchat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/asyncore.py b/panda/python/Lib/asyncore.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/atexit.py b/panda/python/Lib/atexit.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/audiodev.py b/panda/python/Lib/audiodev.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/base64.py b/panda/python/Lib/base64.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/bdb.py b/panda/python/Lib/bdb.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/binhex.py b/panda/python/Lib/binhex.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/bisect.py b/panda/python/Lib/bisect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/bsddb/__init__.py b/panda/python/Lib/bsddb/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/bsddb/db.py b/panda/python/Lib/bsddb/db.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/bsddb/dbobj.py b/panda/python/Lib/bsddb/dbobj.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/bsddb/dbrecio.py b/panda/python/Lib/bsddb/dbrecio.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/bsddb/dbshelve.py b/panda/python/Lib/bsddb/dbshelve.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/bsddb/dbtables.py b/panda/python/Lib/bsddb/dbtables.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/bsddb/dbutils.py b/panda/python/Lib/bsddb/dbutils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/cProfile.py b/panda/python/Lib/cProfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/calendar.py b/panda/python/Lib/calendar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/cgi.py b/panda/python/Lib/cgi.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/cgitb.py b/panda/python/Lib/cgitb.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/chunk.py b/panda/python/Lib/chunk.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/cmd.py b/panda/python/Lib/cmd.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/code.py b/panda/python/Lib/code.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/codecs.py b/panda/python/Lib/codecs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/codeop.py b/panda/python/Lib/codeop.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/collections.py b/panda/python/Lib/collections.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/colorsys.py b/panda/python/Lib/colorsys.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/commands.py b/panda/python/Lib/commands.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compileall.py b/panda/python/Lib/compileall.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/__init__.py b/panda/python/Lib/compiler/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/ast.py b/panda/python/Lib/compiler/ast.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/consts.py b/panda/python/Lib/compiler/consts.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/future.py b/panda/python/Lib/compiler/future.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/misc.py b/panda/python/Lib/compiler/misc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/pyassem.py b/panda/python/Lib/compiler/pyassem.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/pycodegen.py b/panda/python/Lib/compiler/pycodegen.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/symbols.py b/panda/python/Lib/compiler/symbols.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/syntax.py b/panda/python/Lib/compiler/syntax.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/transformer.py b/panda/python/Lib/compiler/transformer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/compiler/visitor.py b/panda/python/Lib/compiler/visitor.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/contextlib.py b/panda/python/Lib/contextlib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/cookielib.py b/panda/python/Lib/cookielib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/copy.py b/panda/python/Lib/copy.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/copy_reg.py b/panda/python/Lib/copy_reg.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/csv.py b/panda/python/Lib/csv.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ctypes/__init__.py b/panda/python/Lib/ctypes/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ctypes/_endian.py b/panda/python/Lib/ctypes/_endian.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ctypes/macholib/__init__.py b/panda/python/Lib/ctypes/macholib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ctypes/macholib/dyld.py b/panda/python/Lib/ctypes/macholib/dyld.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ctypes/macholib/dylib.py b/panda/python/Lib/ctypes/macholib/dylib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ctypes/macholib/framework.py b/panda/python/Lib/ctypes/macholib/framework.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ctypes/util.py b/panda/python/Lib/ctypes/util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ctypes/wintypes.py b/panda/python/Lib/ctypes/wintypes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/curses/__init__.py b/panda/python/Lib/curses/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/curses/ascii.py b/panda/python/Lib/curses/ascii.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/curses/has_key.py b/panda/python/Lib/curses/has_key.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/curses/panel.py b/panda/python/Lib/curses/panel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/curses/textpad.py b/panda/python/Lib/curses/textpad.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/curses/wrapper.py b/panda/python/Lib/curses/wrapper.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/dbhash.py b/panda/python/Lib/dbhash.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/decimal.py b/panda/python/Lib/decimal.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/difflib.py b/panda/python/Lib/difflib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/dircache.py b/panda/python/Lib/dircache.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/dis.py b/panda/python/Lib/dis.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/__init__.py b/panda/python/Lib/distutils/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/archive_util.py b/panda/python/Lib/distutils/archive_util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/bcppcompiler.py b/panda/python/Lib/distutils/bcppcompiler.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/ccompiler.py b/panda/python/Lib/distutils/ccompiler.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/cmd.py b/panda/python/Lib/distutils/cmd.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/__init__.py b/panda/python/Lib/distutils/command/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/bdist.py b/panda/python/Lib/distutils/command/bdist.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/bdist_dumb.py b/panda/python/Lib/distutils/command/bdist_dumb.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/bdist_msi.py b/panda/python/Lib/distutils/command/bdist_msi.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/bdist_rpm.py b/panda/python/Lib/distutils/command/bdist_rpm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/bdist_wininst.py b/panda/python/Lib/distutils/command/bdist_wininst.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/build.py b/panda/python/Lib/distutils/command/build.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/build_clib.py b/panda/python/Lib/distutils/command/build_clib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/build_ext.py b/panda/python/Lib/distutils/command/build_ext.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/build_py.py b/panda/python/Lib/distutils/command/build_py.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/build_scripts.py b/panda/python/Lib/distutils/command/build_scripts.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/check.py b/panda/python/Lib/distutils/command/check.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/clean.py b/panda/python/Lib/distutils/command/clean.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/config.py b/panda/python/Lib/distutils/command/config.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/install.py b/panda/python/Lib/distutils/command/install.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/install_data.py b/panda/python/Lib/distutils/command/install_data.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/install_egg_info.py b/panda/python/Lib/distutils/command/install_egg_info.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/install_headers.py b/panda/python/Lib/distutils/command/install_headers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/install_lib.py b/panda/python/Lib/distutils/command/install_lib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/install_scripts.py b/panda/python/Lib/distutils/command/install_scripts.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/register.py b/panda/python/Lib/distutils/command/register.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/sdist.py b/panda/python/Lib/distutils/command/sdist.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/upload.py b/panda/python/Lib/distutils/command/upload.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/wininst-6.0.exe b/panda/python/Lib/distutils/command/wininst-6.0.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/wininst-7.1.exe b/panda/python/Lib/distutils/command/wininst-7.1.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/wininst-8.0.exe b/panda/python/Lib/distutils/command/wininst-8.0.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/wininst-9.0-amd64.exe b/panda/python/Lib/distutils/command/wininst-9.0-amd64.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/command/wininst-9.0.exe b/panda/python/Lib/distutils/command/wininst-9.0.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/config.py b/panda/python/Lib/distutils/config.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/core.py b/panda/python/Lib/distutils/core.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/cygwinccompiler.py b/panda/python/Lib/distutils/cygwinccompiler.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/debug.py b/panda/python/Lib/distutils/debug.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/dep_util.py b/panda/python/Lib/distutils/dep_util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/dir_util.py b/panda/python/Lib/distutils/dir_util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/dist.py b/panda/python/Lib/distutils/dist.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/emxccompiler.py b/panda/python/Lib/distutils/emxccompiler.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/errors.py b/panda/python/Lib/distutils/errors.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/extension.py b/panda/python/Lib/distutils/extension.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/fancy_getopt.py b/panda/python/Lib/distutils/fancy_getopt.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/file_util.py b/panda/python/Lib/distutils/file_util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/filelist.py b/panda/python/Lib/distutils/filelist.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/log.py b/panda/python/Lib/distutils/log.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/msvc9compiler.py b/panda/python/Lib/distutils/msvc9compiler.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/msvccompiler.py b/panda/python/Lib/distutils/msvccompiler.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/spawn.py b/panda/python/Lib/distutils/spawn.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/sysconfig.py b/panda/python/Lib/distutils/sysconfig.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/text_file.py b/panda/python/Lib/distutils/text_file.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/unixccompiler.py b/panda/python/Lib/distutils/unixccompiler.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/util.py b/panda/python/Lib/distutils/util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/version.py b/panda/python/Lib/distutils/version.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/distutils/versionpredicate.py b/panda/python/Lib/distutils/versionpredicate.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/doctest.py b/panda/python/Lib/doctest.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/dumbdbm.py b/panda/python/Lib/dumbdbm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/dummy_thread.py b/panda/python/Lib/dummy_thread.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/dummy_threading.py b/panda/python/Lib/dummy_threading.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/__init__.py b/panda/python/Lib/email/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/_parseaddr.py b/panda/python/Lib/email/_parseaddr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/base64mime.py b/panda/python/Lib/email/base64mime.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/charset.py b/panda/python/Lib/email/charset.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/encoders.py b/panda/python/Lib/email/encoders.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/errors.py b/panda/python/Lib/email/errors.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/feedparser.py b/panda/python/Lib/email/feedparser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/generator.py b/panda/python/Lib/email/generator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/header.py b/panda/python/Lib/email/header.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/iterators.py b/panda/python/Lib/email/iterators.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/message.py b/panda/python/Lib/email/message.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/mime/__init__.py b/panda/python/Lib/email/mime/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/mime/application.py b/panda/python/Lib/email/mime/application.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/mime/audio.py b/panda/python/Lib/email/mime/audio.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/mime/base.py b/panda/python/Lib/email/mime/base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/mime/image.py b/panda/python/Lib/email/mime/image.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/mime/message.py b/panda/python/Lib/email/mime/message.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/mime/multipart.py b/panda/python/Lib/email/mime/multipart.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/mime/nonmultipart.py b/panda/python/Lib/email/mime/nonmultipart.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/mime/text.py b/panda/python/Lib/email/mime/text.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/parser.py b/panda/python/Lib/email/parser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/quoprimime.py b/panda/python/Lib/email/quoprimime.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/email/utils.py b/panda/python/Lib/email/utils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/__init__.py b/panda/python/Lib/encodings/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/aliases.py b/panda/python/Lib/encodings/aliases.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/ascii.py b/panda/python/Lib/encodings/ascii.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/base64_codec.py b/panda/python/Lib/encodings/base64_codec.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/big5.py b/panda/python/Lib/encodings/big5.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/big5hkscs.py b/panda/python/Lib/encodings/big5hkscs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/bz2_codec.py b/panda/python/Lib/encodings/bz2_codec.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/charmap.py b/panda/python/Lib/encodings/charmap.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp037.py b/panda/python/Lib/encodings/cp037.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1006.py b/panda/python/Lib/encodings/cp1006.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1026.py b/panda/python/Lib/encodings/cp1026.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1140.py b/panda/python/Lib/encodings/cp1140.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1250.py b/panda/python/Lib/encodings/cp1250.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1251.py b/panda/python/Lib/encodings/cp1251.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1252.py b/panda/python/Lib/encodings/cp1252.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1253.py b/panda/python/Lib/encodings/cp1253.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1254.py b/panda/python/Lib/encodings/cp1254.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1255.py b/panda/python/Lib/encodings/cp1255.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1256.py b/panda/python/Lib/encodings/cp1256.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1257.py b/panda/python/Lib/encodings/cp1257.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp1258.py b/panda/python/Lib/encodings/cp1258.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp424.py b/panda/python/Lib/encodings/cp424.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp437.py b/panda/python/Lib/encodings/cp437.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp500.py b/panda/python/Lib/encodings/cp500.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp720.py b/panda/python/Lib/encodings/cp720.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp737.py b/panda/python/Lib/encodings/cp737.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp775.py b/panda/python/Lib/encodings/cp775.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp850.py b/panda/python/Lib/encodings/cp850.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp852.py b/panda/python/Lib/encodings/cp852.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp855.py b/panda/python/Lib/encodings/cp855.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp856.py b/panda/python/Lib/encodings/cp856.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp857.py b/panda/python/Lib/encodings/cp857.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp858.py b/panda/python/Lib/encodings/cp858.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp860.py b/panda/python/Lib/encodings/cp860.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp861.py b/panda/python/Lib/encodings/cp861.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp862.py b/panda/python/Lib/encodings/cp862.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp863.py b/panda/python/Lib/encodings/cp863.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp864.py b/panda/python/Lib/encodings/cp864.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp865.py b/panda/python/Lib/encodings/cp865.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp866.py b/panda/python/Lib/encodings/cp866.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp869.py b/panda/python/Lib/encodings/cp869.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp874.py b/panda/python/Lib/encodings/cp874.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp875.py b/panda/python/Lib/encodings/cp875.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp932.py b/panda/python/Lib/encodings/cp932.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp949.py b/panda/python/Lib/encodings/cp949.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/cp950.py b/panda/python/Lib/encodings/cp950.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/euc_jis_2004.py b/panda/python/Lib/encodings/euc_jis_2004.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/euc_jisx0213.py b/panda/python/Lib/encodings/euc_jisx0213.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/euc_jp.py b/panda/python/Lib/encodings/euc_jp.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/euc_kr.py b/panda/python/Lib/encodings/euc_kr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/gb18030.py b/panda/python/Lib/encodings/gb18030.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/gb2312.py b/panda/python/Lib/encodings/gb2312.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/gbk.py b/panda/python/Lib/encodings/gbk.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/hex_codec.py b/panda/python/Lib/encodings/hex_codec.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/hp_roman8.py b/panda/python/Lib/encodings/hp_roman8.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/hz.py b/panda/python/Lib/encodings/hz.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/idna.py b/panda/python/Lib/encodings/idna.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso2022_jp.py b/panda/python/Lib/encodings/iso2022_jp.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso2022_jp_1.py b/panda/python/Lib/encodings/iso2022_jp_1.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso2022_jp_2.py b/panda/python/Lib/encodings/iso2022_jp_2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso2022_jp_2004.py b/panda/python/Lib/encodings/iso2022_jp_2004.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso2022_jp_3.py b/panda/python/Lib/encodings/iso2022_jp_3.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso2022_jp_ext.py b/panda/python/Lib/encodings/iso2022_jp_ext.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso2022_kr.py b/panda/python/Lib/encodings/iso2022_kr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_1.py b/panda/python/Lib/encodings/iso8859_1.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_10.py b/panda/python/Lib/encodings/iso8859_10.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_11.py b/panda/python/Lib/encodings/iso8859_11.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_13.py b/panda/python/Lib/encodings/iso8859_13.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_14.py b/panda/python/Lib/encodings/iso8859_14.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_15.py b/panda/python/Lib/encodings/iso8859_15.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_16.py b/panda/python/Lib/encodings/iso8859_16.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_2.py b/panda/python/Lib/encodings/iso8859_2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_3.py b/panda/python/Lib/encodings/iso8859_3.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_4.py b/panda/python/Lib/encodings/iso8859_4.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_5.py b/panda/python/Lib/encodings/iso8859_5.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_6.py b/panda/python/Lib/encodings/iso8859_6.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_7.py b/panda/python/Lib/encodings/iso8859_7.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_8.py b/panda/python/Lib/encodings/iso8859_8.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/iso8859_9.py b/panda/python/Lib/encodings/iso8859_9.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/johab.py b/panda/python/Lib/encodings/johab.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/koi8_r.py b/panda/python/Lib/encodings/koi8_r.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/koi8_u.py b/panda/python/Lib/encodings/koi8_u.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/latin_1.py b/panda/python/Lib/encodings/latin_1.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_arabic.py b/panda/python/Lib/encodings/mac_arabic.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_centeuro.py b/panda/python/Lib/encodings/mac_centeuro.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_croatian.py b/panda/python/Lib/encodings/mac_croatian.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_cyrillic.py b/panda/python/Lib/encodings/mac_cyrillic.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_farsi.py b/panda/python/Lib/encodings/mac_farsi.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_greek.py b/panda/python/Lib/encodings/mac_greek.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_iceland.py b/panda/python/Lib/encodings/mac_iceland.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_latin2.py b/panda/python/Lib/encodings/mac_latin2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_roman.py b/panda/python/Lib/encodings/mac_roman.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_romanian.py b/panda/python/Lib/encodings/mac_romanian.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mac_turkish.py b/panda/python/Lib/encodings/mac_turkish.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/mbcs.py b/panda/python/Lib/encodings/mbcs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/palmos.py b/panda/python/Lib/encodings/palmos.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/ptcp154.py b/panda/python/Lib/encodings/ptcp154.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/punycode.py b/panda/python/Lib/encodings/punycode.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/quopri_codec.py b/panda/python/Lib/encodings/quopri_codec.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/raw_unicode_escape.py b/panda/python/Lib/encodings/raw_unicode_escape.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/rot_13.py b/panda/python/Lib/encodings/rot_13.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/shift_jis.py b/panda/python/Lib/encodings/shift_jis.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/shift_jis_2004.py b/panda/python/Lib/encodings/shift_jis_2004.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/shift_jisx0213.py b/panda/python/Lib/encodings/shift_jisx0213.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/string_escape.py b/panda/python/Lib/encodings/string_escape.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/tis_620.py b/panda/python/Lib/encodings/tis_620.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/undefined.py b/panda/python/Lib/encodings/undefined.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/unicode_escape.py b/panda/python/Lib/encodings/unicode_escape.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/unicode_internal.py b/panda/python/Lib/encodings/unicode_internal.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/utf_16.py b/panda/python/Lib/encodings/utf_16.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/utf_16_be.py b/panda/python/Lib/encodings/utf_16_be.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/utf_16_le.py b/panda/python/Lib/encodings/utf_16_le.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/utf_32.py b/panda/python/Lib/encodings/utf_32.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/utf_32_be.py b/panda/python/Lib/encodings/utf_32_be.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/utf_32_le.py b/panda/python/Lib/encodings/utf_32_le.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/utf_7.py b/panda/python/Lib/encodings/utf_7.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/utf_8.py b/panda/python/Lib/encodings/utf_8.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/utf_8_sig.py b/panda/python/Lib/encodings/utf_8_sig.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/uu_codec.py b/panda/python/Lib/encodings/uu_codec.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/encodings/zlib_codec.py b/panda/python/Lib/encodings/zlib_codec.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/filecmp.py b/panda/python/Lib/filecmp.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/fileinput.py b/panda/python/Lib/fileinput.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/fnmatch.py b/panda/python/Lib/fnmatch.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/formatter.py b/panda/python/Lib/formatter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/fpformat.py b/panda/python/Lib/fpformat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/fractions.py b/panda/python/Lib/fractions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ftplib.py b/panda/python/Lib/ftplib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/functools.py b/panda/python/Lib/functools.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/genericpath.py b/panda/python/Lib/genericpath.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/getopt.py b/panda/python/Lib/getopt.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/getpass.py b/panda/python/Lib/getpass.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/gettext.py b/panda/python/Lib/gettext.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/glob.py b/panda/python/Lib/glob.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/gzip.py b/panda/python/Lib/gzip.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/hashlib.py b/panda/python/Lib/hashlib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/heapq.py b/panda/python/Lib/heapq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/hmac.py b/panda/python/Lib/hmac.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/hotshot/__init__.py b/panda/python/Lib/hotshot/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/hotshot/log.py b/panda/python/Lib/hotshot/log.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/hotshot/stats.py b/panda/python/Lib/hotshot/stats.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/hotshot/stones.py b/panda/python/Lib/hotshot/stones.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/htmlentitydefs.py b/panda/python/Lib/htmlentitydefs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/htmllib.py b/panda/python/Lib/htmllib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/httplib.py b/panda/python/Lib/httplib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/AutoComplete.py b/panda/python/Lib/idlelib/AutoComplete.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/AutoCompleteWindow.py b/panda/python/Lib/idlelib/AutoCompleteWindow.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/AutoExpand.py b/panda/python/Lib/idlelib/AutoExpand.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Bindings.py b/panda/python/Lib/idlelib/Bindings.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/CREDITS.txt b/panda/python/Lib/idlelib/CREDITS.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/CallTipWindow.py b/panda/python/Lib/idlelib/CallTipWindow.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/CallTips.py b/panda/python/Lib/idlelib/CallTips.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/ClassBrowser.py b/panda/python/Lib/idlelib/ClassBrowser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/CodeContext.py b/panda/python/Lib/idlelib/CodeContext.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/ColorDelegator.py b/panda/python/Lib/idlelib/ColorDelegator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Debugger.py b/panda/python/Lib/idlelib/Debugger.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Delegator.py b/panda/python/Lib/idlelib/Delegator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/EditorWindow.py b/panda/python/Lib/idlelib/EditorWindow.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/FileList.py b/panda/python/Lib/idlelib/FileList.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/FormatParagraph.py b/panda/python/Lib/idlelib/FormatParagraph.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/GrepDialog.py b/panda/python/Lib/idlelib/GrepDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/HISTORY.txt b/panda/python/Lib/idlelib/HISTORY.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/HyperParser.py b/panda/python/Lib/idlelib/HyperParser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/IOBinding.py b/panda/python/Lib/idlelib/IOBinding.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Icons/folder.gif b/panda/python/Lib/idlelib/Icons/folder.gif old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Icons/idle.icns b/panda/python/Lib/idlelib/Icons/idle.icns old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Icons/minusnode.gif b/panda/python/Lib/idlelib/Icons/minusnode.gif old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Icons/openfolder.gif b/panda/python/Lib/idlelib/Icons/openfolder.gif old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Icons/plusnode.gif b/panda/python/Lib/idlelib/Icons/plusnode.gif old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Icons/python.gif b/panda/python/Lib/idlelib/Icons/python.gif old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Icons/tk.gif b/panda/python/Lib/idlelib/Icons/tk.gif old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/IdleHistory.py b/panda/python/Lib/idlelib/IdleHistory.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/MultiCall.py b/panda/python/Lib/idlelib/MultiCall.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/MultiStatusBar.py b/panda/python/Lib/idlelib/MultiStatusBar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/NEWS.txt b/panda/python/Lib/idlelib/NEWS.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/ObjectBrowser.py b/panda/python/Lib/idlelib/ObjectBrowser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/OutputWindow.py b/panda/python/Lib/idlelib/OutputWindow.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/ParenMatch.py b/panda/python/Lib/idlelib/ParenMatch.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/PathBrowser.py b/panda/python/Lib/idlelib/PathBrowser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/Percolator.py b/panda/python/Lib/idlelib/Percolator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/PyParse.py b/panda/python/Lib/idlelib/PyParse.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/PyShell.py b/panda/python/Lib/idlelib/PyShell.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/README.txt b/panda/python/Lib/idlelib/README.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/RemoteDebugger.py b/panda/python/Lib/idlelib/RemoteDebugger.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/RemoteObjectBrowser.py b/panda/python/Lib/idlelib/RemoteObjectBrowser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/ReplaceDialog.py b/panda/python/Lib/idlelib/ReplaceDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/RstripExtension.py b/panda/python/Lib/idlelib/RstripExtension.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/ScriptBinding.py b/panda/python/Lib/idlelib/ScriptBinding.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/ScrolledList.py b/panda/python/Lib/idlelib/ScrolledList.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/SearchDialog.py b/panda/python/Lib/idlelib/SearchDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/SearchDialogBase.py b/panda/python/Lib/idlelib/SearchDialogBase.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/SearchEngine.py b/panda/python/Lib/idlelib/SearchEngine.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/StackViewer.py b/panda/python/Lib/idlelib/StackViewer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/TODO.txt b/panda/python/Lib/idlelib/TODO.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/ToolTip.py b/panda/python/Lib/idlelib/ToolTip.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/TreeWidget.py b/panda/python/Lib/idlelib/TreeWidget.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/UndoDelegator.py b/panda/python/Lib/idlelib/UndoDelegator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/WidgetRedirector.py b/panda/python/Lib/idlelib/WidgetRedirector.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/WindowList.py b/panda/python/Lib/idlelib/WindowList.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/ZoomHeight.py b/panda/python/Lib/idlelib/ZoomHeight.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/__init__.py b/panda/python/Lib/idlelib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/aboutDialog.py b/panda/python/Lib/idlelib/aboutDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/config-extensions.def b/panda/python/Lib/idlelib/config-extensions.def old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/config-highlight.def b/panda/python/Lib/idlelib/config-highlight.def old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/config-keys.def b/panda/python/Lib/idlelib/config-keys.def old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/config-main.def b/panda/python/Lib/idlelib/config-main.def old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/configDialog.py b/panda/python/Lib/idlelib/configDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/configHandler.py b/panda/python/Lib/idlelib/configHandler.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/configHelpSourceEdit.py b/panda/python/Lib/idlelib/configHelpSourceEdit.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/configSectionNameDialog.py b/panda/python/Lib/idlelib/configSectionNameDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/dynOptionMenuWidget.py b/panda/python/Lib/idlelib/dynOptionMenuWidget.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/extend.txt b/panda/python/Lib/idlelib/extend.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/help.txt b/panda/python/Lib/idlelib/help.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/idle.bat b/panda/python/Lib/idlelib/idle.bat old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/idle.py b/panda/python/Lib/idlelib/idle.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/idle.pyw b/panda/python/Lib/idlelib/idle.pyw old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/idlever.py b/panda/python/Lib/idlelib/idlever.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/keybindingDialog.py b/panda/python/Lib/idlelib/keybindingDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/macosxSupport.py b/panda/python/Lib/idlelib/macosxSupport.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/rpc.py b/panda/python/Lib/idlelib/rpc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/run.py b/panda/python/Lib/idlelib/run.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/tabbedpages.py b/panda/python/Lib/idlelib/tabbedpages.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/testcode.py b/panda/python/Lib/idlelib/testcode.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/idlelib/textView.py b/panda/python/Lib/idlelib/textView.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ihooks.py b/panda/python/Lib/ihooks.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/imaplib.py b/panda/python/Lib/imaplib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/imghdr.py b/panda/python/Lib/imghdr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/importlib/__init__.py b/panda/python/Lib/importlib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/imputil.py b/panda/python/Lib/imputil.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/inspect.py b/panda/python/Lib/inspect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/io.py b/panda/python/Lib/io.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/json/__init__.py b/panda/python/Lib/json/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/json/decoder.py b/panda/python/Lib/json/decoder.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/json/encoder.py b/panda/python/Lib/json/encoder.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/json/scanner.py b/panda/python/Lib/json/scanner.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/json/tool.py b/panda/python/Lib/json/tool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/keyword.py b/panda/python/Lib/keyword.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/Canvas.py b/panda/python/Lib/lib-tk/Canvas.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/Dialog.py b/panda/python/Lib/lib-tk/Dialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/FileDialog.py b/panda/python/Lib/lib-tk/FileDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/FixTk.py b/panda/python/Lib/lib-tk/FixTk.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/ScrolledText.py b/panda/python/Lib/lib-tk/ScrolledText.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/SimpleDialog.py b/panda/python/Lib/lib-tk/SimpleDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/Tix.py b/panda/python/Lib/lib-tk/Tix.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/Tkconstants.py b/panda/python/Lib/lib-tk/Tkconstants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/Tkdnd.py b/panda/python/Lib/lib-tk/Tkdnd.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/Tkinter.py b/panda/python/Lib/lib-tk/Tkinter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/test/test_tkinter/__init__.py b/panda/python/Lib/lib-tk/test/test_tkinter/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/test/test_tkinter/test_loadtk.py b/panda/python/Lib/lib-tk/test/test_tkinter/test_loadtk.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/test/test_tkinter/test_text.py b/panda/python/Lib/lib-tk/test/test_tkinter/test_text.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/test/test_ttk/__init__.py b/panda/python/Lib/lib-tk/test/test_ttk/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/test/test_ttk/support.py b/panda/python/Lib/lib-tk/test/test_ttk/support.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/test/test_ttk/test_extensions.py b/panda/python/Lib/lib-tk/test/test_ttk/test_extensions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/test/test_ttk/test_functions.py b/panda/python/Lib/lib-tk/test/test_ttk/test_functions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/test/test_ttk/test_style.py b/panda/python/Lib/lib-tk/test/test_ttk/test_style.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/test/test_ttk/test_widgets.py b/panda/python/Lib/lib-tk/test/test_ttk/test_widgets.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/tkColorChooser.py b/panda/python/Lib/lib-tk/tkColorChooser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/tkCommonDialog.py b/panda/python/Lib/lib-tk/tkCommonDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/tkFileDialog.py b/panda/python/Lib/lib-tk/tkFileDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/tkFont.py b/panda/python/Lib/lib-tk/tkFont.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/tkMessageBox.py b/panda/python/Lib/lib-tk/tkMessageBox.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/tkSimpleDialog.py b/panda/python/Lib/lib-tk/tkSimpleDialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/ttk.py b/panda/python/Lib/lib-tk/ttk.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib-tk/turtle.py b/panda/python/Lib/lib-tk/turtle.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/Grammar.txt b/panda/python/Lib/lib2to3/Grammar.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/PatternGrammar.txt b/panda/python/Lib/lib2to3/PatternGrammar.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/__init__.py b/panda/python/Lib/lib2to3/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/__main__.py b/panda/python/Lib/lib2to3/__main__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/btm_matcher.py b/panda/python/Lib/lib2to3/btm_matcher.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/btm_utils.py b/panda/python/Lib/lib2to3/btm_utils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixer_base.py b/panda/python/Lib/lib2to3/fixer_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixer_util.py b/panda/python/Lib/lib2to3/fixer_util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/__init__.py b/panda/python/Lib/lib2to3/fixes/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_apply.py b/panda/python/Lib/lib2to3/fixes/fix_apply.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_basestring.py b/panda/python/Lib/lib2to3/fixes/fix_basestring.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_buffer.py b/panda/python/Lib/lib2to3/fixes/fix_buffer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_callable.py b/panda/python/Lib/lib2to3/fixes/fix_callable.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_dict.py b/panda/python/Lib/lib2to3/fixes/fix_dict.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_except.py b/panda/python/Lib/lib2to3/fixes/fix_except.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_exec.py b/panda/python/Lib/lib2to3/fixes/fix_exec.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_execfile.py b/panda/python/Lib/lib2to3/fixes/fix_execfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_exitfunc.py b/panda/python/Lib/lib2to3/fixes/fix_exitfunc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_filter.py b/panda/python/Lib/lib2to3/fixes/fix_filter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_funcattrs.py b/panda/python/Lib/lib2to3/fixes/fix_funcattrs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_future.py b/panda/python/Lib/lib2to3/fixes/fix_future.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_getcwdu.py b/panda/python/Lib/lib2to3/fixes/fix_getcwdu.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_has_key.py b/panda/python/Lib/lib2to3/fixes/fix_has_key.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_idioms.py b/panda/python/Lib/lib2to3/fixes/fix_idioms.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_import.py b/panda/python/Lib/lib2to3/fixes/fix_import.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_imports.py b/panda/python/Lib/lib2to3/fixes/fix_imports.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_imports2.py b/panda/python/Lib/lib2to3/fixes/fix_imports2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_input.py b/panda/python/Lib/lib2to3/fixes/fix_input.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_intern.py b/panda/python/Lib/lib2to3/fixes/fix_intern.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_isinstance.py b/panda/python/Lib/lib2to3/fixes/fix_isinstance.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_itertools.py b/panda/python/Lib/lib2to3/fixes/fix_itertools.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_itertools_imports.py b/panda/python/Lib/lib2to3/fixes/fix_itertools_imports.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_long.py b/panda/python/Lib/lib2to3/fixes/fix_long.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_map.py b/panda/python/Lib/lib2to3/fixes/fix_map.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_metaclass.py b/panda/python/Lib/lib2to3/fixes/fix_metaclass.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_methodattrs.py b/panda/python/Lib/lib2to3/fixes/fix_methodattrs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_ne.py b/panda/python/Lib/lib2to3/fixes/fix_ne.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_next.py b/panda/python/Lib/lib2to3/fixes/fix_next.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_nonzero.py b/panda/python/Lib/lib2to3/fixes/fix_nonzero.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_numliterals.py b/panda/python/Lib/lib2to3/fixes/fix_numliterals.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_operator.py b/panda/python/Lib/lib2to3/fixes/fix_operator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_paren.py b/panda/python/Lib/lib2to3/fixes/fix_paren.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_print.py b/panda/python/Lib/lib2to3/fixes/fix_print.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_raise.py b/panda/python/Lib/lib2to3/fixes/fix_raise.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_raw_input.py b/panda/python/Lib/lib2to3/fixes/fix_raw_input.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_reduce.py b/panda/python/Lib/lib2to3/fixes/fix_reduce.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_renames.py b/panda/python/Lib/lib2to3/fixes/fix_renames.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_repr.py b/panda/python/Lib/lib2to3/fixes/fix_repr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_set_literal.py b/panda/python/Lib/lib2to3/fixes/fix_set_literal.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_standarderror.py b/panda/python/Lib/lib2to3/fixes/fix_standarderror.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_sys_exc.py b/panda/python/Lib/lib2to3/fixes/fix_sys_exc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_throw.py b/panda/python/Lib/lib2to3/fixes/fix_throw.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_tuple_params.py b/panda/python/Lib/lib2to3/fixes/fix_tuple_params.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_types.py b/panda/python/Lib/lib2to3/fixes/fix_types.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_unicode.py b/panda/python/Lib/lib2to3/fixes/fix_unicode.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_urllib.py b/panda/python/Lib/lib2to3/fixes/fix_urllib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_ws_comma.py b/panda/python/Lib/lib2to3/fixes/fix_ws_comma.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_xrange.py b/panda/python/Lib/lib2to3/fixes/fix_xrange.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_xreadlines.py b/panda/python/Lib/lib2to3/fixes/fix_xreadlines.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/fixes/fix_zip.py b/panda/python/Lib/lib2to3/fixes/fix_zip.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/main.py b/panda/python/Lib/lib2to3/main.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/patcomp.py b/panda/python/Lib/lib2to3/patcomp.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pgen2/__init__.py b/panda/python/Lib/lib2to3/pgen2/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pgen2/conv.py b/panda/python/Lib/lib2to3/pgen2/conv.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pgen2/driver.py b/panda/python/Lib/lib2to3/pgen2/driver.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pgen2/grammar.py b/panda/python/Lib/lib2to3/pgen2/grammar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pgen2/literals.py b/panda/python/Lib/lib2to3/pgen2/literals.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pgen2/parse.py b/panda/python/Lib/lib2to3/pgen2/parse.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pgen2/pgen.py b/panda/python/Lib/lib2to3/pgen2/pgen.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pgen2/token.py b/panda/python/Lib/lib2to3/pgen2/token.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pgen2/tokenize.py b/panda/python/Lib/lib2to3/pgen2/tokenize.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pygram.py b/panda/python/Lib/lib2to3/pygram.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/pytree.py b/panda/python/Lib/lib2to3/pytree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/refactor.py b/panda/python/Lib/lib2to3/refactor.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/tests/data/fixers/bad_order.py b/panda/python/Lib/lib2to3/tests/data/fixers/bad_order.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/__init__.py b/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_explicit.py b/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_explicit.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_first.py b/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_first.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_last.py b/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_last.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_parrot.py b/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_parrot.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_preorder.py b/panda/python/Lib/lib2to3/tests/data/fixers/myfixes/fix_preorder.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/tests/data/fixers/no_fixer_cls.py b/panda/python/Lib/lib2to3/tests/data/fixers/no_fixer_cls.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/lib2to3/tests/data/fixers/parrot_example.py b/panda/python/Lib/lib2to3/tests/data/fixers/parrot_example.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/linecache.py b/panda/python/Lib/linecache.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/locale.py b/panda/python/Lib/locale.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/logging/__init__.py b/panda/python/Lib/logging/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/logging/config.py b/panda/python/Lib/logging/config.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/logging/handlers.py b/panda/python/Lib/logging/handlers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/macpath.py b/panda/python/Lib/macpath.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/macurl2path.py b/panda/python/Lib/macurl2path.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/mailbox.py b/panda/python/Lib/mailbox.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/mailcap.py b/panda/python/Lib/mailcap.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/markupbase.py b/panda/python/Lib/markupbase.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/md5.py b/panda/python/Lib/md5.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/mhlib.py b/panda/python/Lib/mhlib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/mimetools.py b/panda/python/Lib/mimetools.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/mimetypes.py b/panda/python/Lib/mimetypes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/mimify.py b/panda/python/Lib/mimify.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/modulefinder.py b/panda/python/Lib/modulefinder.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/msilib/__init__.py b/panda/python/Lib/msilib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/msilib/schema.py b/panda/python/Lib/msilib/schema.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/msilib/sequence.py b/panda/python/Lib/msilib/sequence.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/msilib/text.py b/panda/python/Lib/msilib/text.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multifile.py b/panda/python/Lib/multifile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/__init__.py b/panda/python/Lib/multiprocessing/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/connection.py b/panda/python/Lib/multiprocessing/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/dummy/__init__.py b/panda/python/Lib/multiprocessing/dummy/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/dummy/connection.py b/panda/python/Lib/multiprocessing/dummy/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/forking.py b/panda/python/Lib/multiprocessing/forking.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/heap.py b/panda/python/Lib/multiprocessing/heap.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/managers.py b/panda/python/Lib/multiprocessing/managers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/pool.py b/panda/python/Lib/multiprocessing/pool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/process.py b/panda/python/Lib/multiprocessing/process.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/queues.py b/panda/python/Lib/multiprocessing/queues.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/reduction.py b/panda/python/Lib/multiprocessing/reduction.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/sharedctypes.py b/panda/python/Lib/multiprocessing/sharedctypes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/synchronize.py b/panda/python/Lib/multiprocessing/synchronize.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/multiprocessing/util.py b/panda/python/Lib/multiprocessing/util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/mutex.py b/panda/python/Lib/mutex.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/netrc.py b/panda/python/Lib/netrc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/new.py b/panda/python/Lib/new.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/nntplib.py b/panda/python/Lib/nntplib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ntpath.py b/panda/python/Lib/ntpath.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/nturl2path.py b/panda/python/Lib/nturl2path.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/numbers.py b/panda/python/Lib/numbers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/opcode.py b/panda/python/Lib/opcode.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/optparse.py b/panda/python/Lib/optparse.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/os.py b/panda/python/Lib/os.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/os2emxpath.py b/panda/python/Lib/os2emxpath.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pdb.py b/panda/python/Lib/pdb.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/phidgets/Accelerometer.py b/panda/python/Lib/phidgets/Accelerometer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/phidgets/InterfaceKit.py b/panda/python/Lib/phidgets/InterfaceKit.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/phidgets/Phidget.py b/panda/python/Lib/phidgets/Phidget.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/phidgets/__init__.py b/panda/python/Lib/phidgets/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/phidgets/cphidgets.pyd b/panda/python/Lib/phidgets/cphidgets.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pickle.py b/panda/python/Lib/pickle.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pickletools.py b/panda/python/Lib/pickletools.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pipes.py b/panda/python/Lib/pipes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pkgutil.py b/panda/python/Lib/pkgutil.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/platform.py b/panda/python/Lib/platform.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/plistlib.py b/panda/python/Lib/plistlib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/popen2.py b/panda/python/Lib/popen2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/poplib.py b/panda/python/Lib/poplib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/posixfile.py b/panda/python/Lib/posixfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/posixpath.py b/panda/python/Lib/posixpath.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pprint.py b/panda/python/Lib/pprint.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/profile.py b/panda/python/Lib/profile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pstats.py b/panda/python/Lib/pstats.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pty.py b/panda/python/Lib/pty.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/py_compile.py b/panda/python/Lib/py_compile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pyclbr.py b/panda/python/Lib/pyclbr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pydoc.py b/panda/python/Lib/pydoc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pydoc_data/__init__.py b/panda/python/Lib/pydoc_data/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/pydoc_data/topics.py b/panda/python/Lib/pydoc_data/topics.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/quopri.py b/panda/python/Lib/quopri.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/random.py b/panda/python/Lib/random.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/re.py b/panda/python/Lib/re.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/repr.py b/panda/python/Lib/repr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/rexec.py b/panda/python/Lib/rexec.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/rfc822.py b/panda/python/Lib/rfc822.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/rlcompleter.py b/panda/python/Lib/rlcompleter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/robotparser.py b/panda/python/Lib/robotparser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/runpy.py b/panda/python/Lib/runpy.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sched.py b/panda/python/Lib/sched.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/serial/__init__.py b/panda/python/Lib/serial/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/serial/buffer.py b/panda/python/Lib/serial/buffer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/serial/serialjava.py b/panda/python/Lib/serial/serialjava.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/serial/serialposix.py b/panda/python/Lib/serial/serialposix.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/serial/serialutil.py b/panda/python/Lib/serial/serialutil.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/serial/serialwin32.py b/panda/python/Lib/serial/serialwin32.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/serial/sermsdos.py b/panda/python/Lib/serial/sermsdos.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/serial/writeblockingtest.py b/panda/python/Lib/serial/writeblockingtest.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sets.py b/panda/python/Lib/sets.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sgmllib.py b/panda/python/Lib/sgmllib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sha.py b/panda/python/Lib/sha.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/shelve.py b/panda/python/Lib/shelve.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/shlex.py b/panda/python/Lib/shlex.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/shutil.py b/panda/python/Lib/shutil.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/AES.py b/panda/python/Lib/site-packages/Crypto/Cipher/AES.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/AES.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/AES.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/ARC2.py b/panda/python/Lib/site-packages/Crypto/Cipher/ARC2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/ARC2.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/ARC2.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/ARC4.py b/panda/python/Lib/site-packages/Crypto/Cipher/ARC4.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/ARC4.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/ARC4.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/Blowfish.py b/panda/python/Lib/site-packages/Crypto/Cipher/Blowfish.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/Blowfish.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/Blowfish.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/CAST.py b/panda/python/Lib/site-packages/Crypto/Cipher/CAST.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/CAST.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/CAST.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/DES.py b/panda/python/Lib/site-packages/Crypto/Cipher/DES.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/DES.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/DES.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/DES3.py b/panda/python/Lib/site-packages/Crypto/Cipher/DES3.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/DES3.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/DES3.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_OAEP.py b/panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_OAEP.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_OAEP.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_OAEP.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_v1_5.py b/panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_v1_5.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_v1_5.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/PKCS1_v1_5.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/XOR.py b/panda/python/Lib/site-packages/Crypto/Cipher/XOR.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/XOR.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/XOR.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/_AES.pyd b/panda/python/Lib/site-packages/Crypto/Cipher/_AES.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/_ARC2.pyd b/panda/python/Lib/site-packages/Crypto/Cipher/_ARC2.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/_ARC4.pyd b/panda/python/Lib/site-packages/Crypto/Cipher/_ARC4.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/_Blowfish.pyd b/panda/python/Lib/site-packages/Crypto/Cipher/_Blowfish.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/_CAST.pyd b/panda/python/Lib/site-packages/Crypto/Cipher/_CAST.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/_DES.pyd b/panda/python/Lib/site-packages/Crypto/Cipher/_DES.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/_DES3.pyd b/panda/python/Lib/site-packages/Crypto/Cipher/_DES3.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/_XOR.pyd b/panda/python/Lib/site-packages/Crypto/Cipher/_XOR.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/__init__.py b/panda/python/Lib/site-packages/Crypto/Cipher/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/__init__.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/blockalgo.py b/panda/python/Lib/site-packages/Crypto/Cipher/blockalgo.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Cipher/blockalgo.pyo b/panda/python/Lib/site-packages/Crypto/Cipher/blockalgo.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/HMAC.py b/panda/python/Lib/site-packages/Crypto/Hash/HMAC.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/HMAC.pyo b/panda/python/Lib/site-packages/Crypto/Hash/HMAC.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/MD2.py b/panda/python/Lib/site-packages/Crypto/Hash/MD2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/MD2.pyo b/panda/python/Lib/site-packages/Crypto/Hash/MD2.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/MD4.py b/panda/python/Lib/site-packages/Crypto/Hash/MD4.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/MD4.pyo b/panda/python/Lib/site-packages/Crypto/Hash/MD4.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/MD5.py b/panda/python/Lib/site-packages/Crypto/Hash/MD5.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/MD5.pyo b/panda/python/Lib/site-packages/Crypto/Hash/MD5.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/RIPEMD.py b/panda/python/Lib/site-packages/Crypto/Hash/RIPEMD.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/RIPEMD.pyo b/panda/python/Lib/site-packages/Crypto/Hash/RIPEMD.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA.py b/panda/python/Lib/site-packages/Crypto/Hash/SHA.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA.pyo b/panda/python/Lib/site-packages/Crypto/Hash/SHA.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA224.py b/panda/python/Lib/site-packages/Crypto/Hash/SHA224.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA224.pyo b/panda/python/Lib/site-packages/Crypto/Hash/SHA224.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA256.py b/panda/python/Lib/site-packages/Crypto/Hash/SHA256.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA256.pyo b/panda/python/Lib/site-packages/Crypto/Hash/SHA256.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA384.py b/panda/python/Lib/site-packages/Crypto/Hash/SHA384.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA384.pyo b/panda/python/Lib/site-packages/Crypto/Hash/SHA384.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA512.py b/panda/python/Lib/site-packages/Crypto/Hash/SHA512.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/SHA512.pyo b/panda/python/Lib/site-packages/Crypto/Hash/SHA512.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/_MD2.pyd b/panda/python/Lib/site-packages/Crypto/Hash/_MD2.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/_MD4.pyd b/panda/python/Lib/site-packages/Crypto/Hash/_MD4.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/_RIPEMD160.pyd b/panda/python/Lib/site-packages/Crypto/Hash/_RIPEMD160.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/_SHA224.pyd b/panda/python/Lib/site-packages/Crypto/Hash/_SHA224.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/_SHA256.pyd b/panda/python/Lib/site-packages/Crypto/Hash/_SHA256.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/_SHA384.pyd b/panda/python/Lib/site-packages/Crypto/Hash/_SHA384.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/_SHA512.pyd b/panda/python/Lib/site-packages/Crypto/Hash/_SHA512.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/__init__.py b/panda/python/Lib/site-packages/Crypto/Hash/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/__init__.pyo b/panda/python/Lib/site-packages/Crypto/Hash/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/hashalgo.py b/panda/python/Lib/site-packages/Crypto/Hash/hashalgo.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Hash/hashalgo.pyo b/panda/python/Lib/site-packages/Crypto/Hash/hashalgo.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Protocol/AllOrNothing.py b/panda/python/Lib/site-packages/Crypto/Protocol/AllOrNothing.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Protocol/AllOrNothing.pyo b/panda/python/Lib/site-packages/Crypto/Protocol/AllOrNothing.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Protocol/Chaffing.py b/panda/python/Lib/site-packages/Crypto/Protocol/Chaffing.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Protocol/Chaffing.pyo b/panda/python/Lib/site-packages/Crypto/Protocol/Chaffing.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Protocol/KDF.py b/panda/python/Lib/site-packages/Crypto/Protocol/KDF.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Protocol/KDF.pyo b/panda/python/Lib/site-packages/Crypto/Protocol/KDF.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Protocol/__init__.py b/panda/python/Lib/site-packages/Crypto/Protocol/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Protocol/__init__.pyo b/panda/python/Lib/site-packages/Crypto/Protocol/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/DSA.py b/panda/python/Lib/site-packages/Crypto/PublicKey/DSA.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/DSA.pyo b/panda/python/Lib/site-packages/Crypto/PublicKey/DSA.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/ElGamal.py b/panda/python/Lib/site-packages/Crypto/PublicKey/ElGamal.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/ElGamal.pyo b/panda/python/Lib/site-packages/Crypto/PublicKey/ElGamal.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/RSA.py b/panda/python/Lib/site-packages/Crypto/PublicKey/RSA.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/RSA.pyo b/panda/python/Lib/site-packages/Crypto/PublicKey/RSA.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/_DSA.py b/panda/python/Lib/site-packages/Crypto/PublicKey/_DSA.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/_DSA.pyo b/panda/python/Lib/site-packages/Crypto/PublicKey/_DSA.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/_RSA.py b/panda/python/Lib/site-packages/Crypto/PublicKey/_RSA.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/_RSA.pyo b/panda/python/Lib/site-packages/Crypto/PublicKey/_RSA.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/__init__.py b/panda/python/Lib/site-packages/Crypto/PublicKey/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/__init__.pyo b/panda/python/Lib/site-packages/Crypto/PublicKey/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/_slowmath.py b/panda/python/Lib/site-packages/Crypto/PublicKey/_slowmath.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/_slowmath.pyo b/panda/python/Lib/site-packages/Crypto/PublicKey/_slowmath.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/pubkey.py b/panda/python/Lib/site-packages/Crypto/PublicKey/pubkey.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/PublicKey/pubkey.pyo b/panda/python/Lib/site-packages/Crypto/PublicKey/pubkey.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.py b/panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.pyo b/panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py b/panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaGenerator.pyo b/panda/python/Lib/site-packages/Crypto/Random/Fortuna/FortunaGenerator.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/Fortuna/SHAd256.py b/panda/python/Lib/site-packages/Crypto/Random/Fortuna/SHAd256.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/Fortuna/SHAd256.pyo b/panda/python/Lib/site-packages/Crypto/Random/Fortuna/SHAd256.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/Fortuna/__init__.py b/panda/python/Lib/site-packages/Crypto/Random/Fortuna/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/Fortuna/__init__.pyo b/panda/python/Lib/site-packages/Crypto/Random/Fortuna/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/__init__.py b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/__init__.pyo b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/fallback.py b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/fallback.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/fallback.pyo b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/fallback.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/nt.py b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/nt.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/nt.pyo b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/nt.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/posix.py b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/posix.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/posix.pyo b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/posix.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/rng_base.py b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/rng_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/rng_base.pyo b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/rng_base.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/OSRNG/winrandom.pyd b/panda/python/Lib/site-packages/Crypto/Random/OSRNG/winrandom.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/_UserFriendlyRNG.py b/panda/python/Lib/site-packages/Crypto/Random/_UserFriendlyRNG.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/_UserFriendlyRNG.pyo b/panda/python/Lib/site-packages/Crypto/Random/_UserFriendlyRNG.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/__init__.py b/panda/python/Lib/site-packages/Crypto/Random/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/__init__.pyo b/panda/python/Lib/site-packages/Crypto/Random/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/random.py b/panda/python/Lib/site-packages/Crypto/Random/random.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Random/random.pyo b/panda/python/Lib/site-packages/Crypto/Random/random.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/common.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/common.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/common.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/common.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_AES.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_AES.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_AES.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_AES.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC2.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC2.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC4.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_ARC4.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_CAST.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_CAST.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_CAST.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_CAST.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES3.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES3.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES3.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_DES3.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_XOR.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_XOR.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_XOR.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_XOR.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_15.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Cipher/test_pkcs1_oaep.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/common.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/common.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/common.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/common.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_HMAC.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_HMAC.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_HMAC.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_HMAC.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD2.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD2.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD2.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD4.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD4.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD4.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD4.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD5.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD5.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD5.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_MD5.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA224.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA224.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA224.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA224.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA256.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA256.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA256.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA256.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA384.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA384.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA384.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA384.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA512.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA512.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA512.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Hash/test_SHA512.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_AllOrNothing.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_KDF.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_KDF.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_KDF.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_KDF.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_chaffing.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_chaffing.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_chaffing.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_chaffing.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_DSA.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_DSA.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_ElGamal.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_RSA.py b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_RSA.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_importKey.py b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_importKey.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_importKey.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/PublicKey/test_importKey.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test__UserFriendlyRNG.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_random.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_random.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_random.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_random.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Signature/test_pkcs1_pss.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_Counter.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_Counter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_Counter.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_Counter.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_asn1.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_asn1.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_asn1.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_asn1.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_number.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_number.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_number.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_number.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_winrandom.py b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_winrandom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_winrandom.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/Util/test_winrandom.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/__init__.py b/panda/python/Lib/site-packages/Crypto/SelfTest/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/__init__.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/st_common.py b/panda/python/Lib/site-packages/Crypto/SelfTest/st_common.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/SelfTest/st_common.pyo b/panda/python/Lib/site-packages/Crypto/SelfTest/st_common.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Signature/PKCS1_PSS.py b/panda/python/Lib/site-packages/Crypto/Signature/PKCS1_PSS.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Signature/PKCS1_PSS.pyo b/panda/python/Lib/site-packages/Crypto/Signature/PKCS1_PSS.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Signature/PKCS1_v1_5.py b/panda/python/Lib/site-packages/Crypto/Signature/PKCS1_v1_5.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Signature/PKCS1_v1_5.pyo b/panda/python/Lib/site-packages/Crypto/Signature/PKCS1_v1_5.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Signature/__init__.py b/panda/python/Lib/site-packages/Crypto/Signature/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Signature/__init__.pyo b/panda/python/Lib/site-packages/Crypto/Signature/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/Counter.py b/panda/python/Lib/site-packages/Crypto/Util/Counter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/Counter.pyo b/panda/python/Lib/site-packages/Crypto/Util/Counter.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/RFC1751.py b/panda/python/Lib/site-packages/Crypto/Util/RFC1751.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/RFC1751.pyo b/panda/python/Lib/site-packages/Crypto/Util/RFC1751.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/__init__.py b/panda/python/Lib/site-packages/Crypto/Util/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/__init__.pyo b/panda/python/Lib/site-packages/Crypto/Util/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/_counter.pyd b/panda/python/Lib/site-packages/Crypto/Util/_counter.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/_number_new.py b/panda/python/Lib/site-packages/Crypto/Util/_number_new.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/_number_new.pyo b/panda/python/Lib/site-packages/Crypto/Util/_number_new.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/asn1.py b/panda/python/Lib/site-packages/Crypto/Util/asn1.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/asn1.pyo b/panda/python/Lib/site-packages/Crypto/Util/asn1.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/number.py b/panda/python/Lib/site-packages/Crypto/Util/number.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/number.pyo b/panda/python/Lib/site-packages/Crypto/Util/number.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/py21compat.py b/panda/python/Lib/site-packages/Crypto/Util/py21compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/py21compat.pyo b/panda/python/Lib/site-packages/Crypto/Util/py21compat.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/py3compat.py b/panda/python/Lib/site-packages/Crypto/Util/py3compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/py3compat.pyo b/panda/python/Lib/site-packages/Crypto/Util/py3compat.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/randpool.py b/panda/python/Lib/site-packages/Crypto/Util/randpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/randpool.pyo b/panda/python/Lib/site-packages/Crypto/Util/randpool.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/strxor.pyd b/panda/python/Lib/site-packages/Crypto/Util/strxor.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/winrandom.py b/panda/python/Lib/site-packages/Crypto/Util/winrandom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/Util/winrandom.pyo b/panda/python/Lib/site-packages/Crypto/Util/winrandom.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/__init__.py b/panda/python/Lib/site-packages/Crypto/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/__init__.pyo b/panda/python/Lib/site-packages/Crypto/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/pct_warnings.py b/panda/python/Lib/site-packages/Crypto/pct_warnings.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/Crypto/pct_warnings.pyo b/panda/python/Lib/site-packages/Crypto/pct_warnings.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/PyYAML-3.11-py2.7.egg-info b/panda/python/Lib/site-packages/PyYAML-3.11-py2.7.egg-info old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/easy-install.pth b/panda/python/Lib/site-packages/easy-install.pth old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/PKG-INFO b/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/PKG-INFO old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/SOURCES.txt b/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/SOURCES.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/dependency_links.txt b/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/dependency_links.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/installed-files.txt b/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/installed-files.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/requires.txt b/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/requires.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/top_level.txt b/panda/python/Lib/site-packages/gevent-1.0.1-py2.7.egg-info/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/__init__.py b/panda/python/Lib/site-packages/gevent/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/_semaphore.pyd b/panda/python/Lib/site-packages/gevent/_semaphore.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/_threading.py b/panda/python/Lib/site-packages/gevent/_threading.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/_util.pyd b/panda/python/Lib/site-packages/gevent/_util.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/ares.pyd b/panda/python/Lib/site-packages/gevent/ares.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/backdoor.py b/panda/python/Lib/site-packages/gevent/backdoor.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/baseserver.py b/panda/python/Lib/site-packages/gevent/baseserver.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/core.pyd b/panda/python/Lib/site-packages/gevent/core.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/coros.py b/panda/python/Lib/site-packages/gevent/coros.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/event.py b/panda/python/Lib/site-packages/gevent/event.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/fileobject.py b/panda/python/Lib/site-packages/gevent/fileobject.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/greenlet.py b/panda/python/Lib/site-packages/gevent/greenlet.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/hub.py b/panda/python/Lib/site-packages/gevent/hub.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/local.py b/panda/python/Lib/site-packages/gevent/local.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/lock.py b/panda/python/Lib/site-packages/gevent/lock.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/monkey.py b/panda/python/Lib/site-packages/gevent/monkey.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/os.py b/panda/python/Lib/site-packages/gevent/os.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/pool.py b/panda/python/Lib/site-packages/gevent/pool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/pywsgi.py b/panda/python/Lib/site-packages/gevent/pywsgi.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/queue.py b/panda/python/Lib/site-packages/gevent/queue.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/resolver_ares.py b/panda/python/Lib/site-packages/gevent/resolver_ares.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/resolver_thread.py b/panda/python/Lib/site-packages/gevent/resolver_thread.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/select.py b/panda/python/Lib/site-packages/gevent/select.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/server.py b/panda/python/Lib/site-packages/gevent/server.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/socket.py b/panda/python/Lib/site-packages/gevent/socket.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/ssl.py b/panda/python/Lib/site-packages/gevent/ssl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/subprocess.py b/panda/python/Lib/site-packages/gevent/subprocess.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/thread.py b/panda/python/Lib/site-packages/gevent/thread.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/threading.py b/panda/python/Lib/site-packages/gevent/threading.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/threadpool.py b/panda/python/Lib/site-packages/gevent/threadpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/timeout.py b/panda/python/Lib/site-packages/gevent/timeout.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/util.py b/panda/python/Lib/site-packages/gevent/util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/win32util.py b/panda/python/Lib/site-packages/gevent/win32util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gevent/wsgi.py b/panda/python/Lib/site-packages/gevent/wsgi.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/DESCRIPTION.rst b/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/DESCRIPTION.rst old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/METADATA b/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/METADATA old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/RECORD b/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/RECORD old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/WHEEL b/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/WHEEL old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/top_level.txt b/panda/python/Lib/site-packages/greenlet-0.4.5.dist-info/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/PKG-INFO b/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/PKG-INFO old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/SOURCES.txt b/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/SOURCES.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/dependency_links.txt b/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/dependency_links.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/installed-files.txt b/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/installed-files.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/not-zip-safe b/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/not-zip-safe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/requires.txt b/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/requires.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/top_level.txt b/panda/python/Lib/site-packages/grequests-0.2.0-py2.7.egg-info/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gridfs/__init__.py b/panda/python/Lib/site-packages/gridfs/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gridfs/__init__.pyo b/panda/python/Lib/site-packages/gridfs/__init__.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gridfs/errors.py b/panda/python/Lib/site-packages/gridfs/errors.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gridfs/errors.pyo b/panda/python/Lib/site-packages/gridfs/errors.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gridfs/grid_file.py b/panda/python/Lib/site-packages/gridfs/grid_file.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/gridfs/grid_file.pyo b/panda/python/Lib/site-packages/gridfs/grid_file.pyo old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/PKG-INFO b/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/PKG-INFO old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/SOURCES.txt b/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/SOURCES.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/dependency_links.txt b/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/dependency_links.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/installed-files.txt b/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/installed-files.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/top_level.txt b/panda/python/Lib/site-packages/jsonrpclib-0.1.3-py2.7.egg-info/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib/SimpleJSONRPCServer.py b/panda/python/Lib/site-packages/jsonrpclib/SimpleJSONRPCServer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib/__init__.py b/panda/python/Lib/site-packages/jsonrpclib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib/config.py b/panda/python/Lib/site-packages/jsonrpclib/config.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib/history.py b/panda/python/Lib/site-packages/jsonrpclib/history.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib/jsonclass.py b/panda/python/Lib/site-packages/jsonrpclib/jsonclass.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/jsonrpclib/jsonrpc.py b/panda/python/Lib/site-packages/jsonrpclib/jsonrpc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/PKG-INFO b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/PKG-INFO old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/SOURCES.txt b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/SOURCES.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/dependency_links.txt b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/dependency_links.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/entry_points.txt b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/entry_points.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/not-zip-safe b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/not-zip-safe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/requires.txt b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/requires.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/top_level.txt b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/__main__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/__main__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/_markerlib/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/_markerlib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/_markerlib/markers.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/_markerlib/markers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/adapter.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/adapter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/cache.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/cache.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/caches/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/caches/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/caches/file_cache.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/caches/file_cache.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/caches/redis_cache.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/caches/redis_cache.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/compat.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/controller.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/controller.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/filewrapper.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/filewrapper.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/heuristics.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/heuristics.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/serialize.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/serialize.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/wrapper.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/cachecontrol/wrapper.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/__main__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/__main__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/cacert.pem b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/cacert.pem old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/core.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/certifi/core.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/ansi.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/ansi.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/ansitowin32.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/ansitowin32.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/initialise.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/initialise.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/win32.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/win32.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/winterm.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/colorama/winterm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/misc.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/misc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/shutil.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/shutil.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/sysconfig.cfg b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/sysconfig.cfg old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/sysconfig.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/sysconfig.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/tarfile.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/_backport/tarfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/compat.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/database.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/database.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/index.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/index.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/locators.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/locators.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/manifest.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/manifest.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/markers.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/markers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/metadata.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/metadata.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/resources.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/resources.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/scripts.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/scripts.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/t32.exe b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/t32.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/t64.exe b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/t64.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/util.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/version.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/version.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/w32.exe b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/w32.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/w64.exe b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/w64.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/wheel.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/distlib/wheel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/constants.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/constants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/_base.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/lint.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/lint.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/optionaltags.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/optionaltags.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/sanitizer.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/sanitizer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/whitespace.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/filters/whitespace.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/html5parser.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/html5parser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/ihatexml.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/ihatexml.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/inputstream.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/inputstream.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/sanitizer.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/sanitizer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/serializer/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/serializer/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/serializer/htmlserializer.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/serializer/htmlserializer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/tokenizer.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/tokenizer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treeadapters/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treeadapters/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treeadapters/sax.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treeadapters/sax.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/_base.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/dom.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/dom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/etree.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/etree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/_base.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/dom.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/dom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/etree.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/etree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/genshistream.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/genshistream.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/lxmletree.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/lxmletree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/pulldom.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/treewalkers/pulldom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/_base.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/datrie.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/datrie.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/py.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/trie/py.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/utils.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/html5lib/utils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/ipaddress.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/ipaddress.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/linklockfile.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/linklockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/mkdirlockfile.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/mkdirlockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/pidlockfile.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/pidlockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/sqlitelockfile.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/sqlitelockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/symlinklockfile.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/lockfile/symlinklockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/__about__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/__about__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/_compat.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/_compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/_structures.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/_structures.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/specifiers.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/specifiers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/version.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/packaging/version.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/pkg_resources/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/pkg_resources/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/bar.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/bar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/counter.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/counter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/helpers.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/helpers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/spinner.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/progress/spinner.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/re-vendor.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/re-vendor.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/adapters.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/adapters.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/api.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/api.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/auth.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/auth.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/cacert.pem b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/cacert.pem old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/certs.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/certs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/compat.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/cookies.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/cookies.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/exceptions.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/hooks.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/hooks.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/models.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/models.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/big5freq.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/big5freq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/big5prober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/big5prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/chardetect.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/chardetect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/chardistribution.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/chardistribution.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/charsetgroupprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/charsetgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/charsetprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/charsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/codingstatemachine.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/codingstatemachine.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/compat.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/constants.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/constants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/cp949prober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/cp949prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/escprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/escprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/escsm.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/escsm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/eucjpprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/eucjpprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euckrfreq.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euckrfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euckrprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euckrprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euctwfreq.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euctwfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euctwprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/euctwprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/gb2312freq.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/gb2312freq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/gb2312prober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/gb2312prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/hebrewprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/hebrewprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/jisfreq.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/jisfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/jpcntx.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/jpcntx.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langbulgarianmodel.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langbulgarianmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langcyrillicmodel.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langcyrillicmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langgreekmodel.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langgreekmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langhebrewmodel.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langhebrewmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langhungarianmodel.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langhungarianmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langthaimodel.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/langthaimodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/latin1prober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/latin1prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/mbcharsetprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/mbcharsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/mbcsgroupprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/mbcsgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/mbcssm.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/mbcssm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/sbcharsetprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/sbcharsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/sbcsgroupprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/sbcsgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/sjisprober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/sjisprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/universaldetector.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/universaldetector.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/utf8prober.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/chardet/utf8prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/_collections.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/_collections.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/connection.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/connectionpool.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/connectionpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/ntlmpool.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/ntlmpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/exceptions.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/fields.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/fields.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/filepost.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/filepost.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/ordered_dict.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/ordered_dict.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/six.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/six.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/poolmanager.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/poolmanager.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/request.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/request.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/response.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/response.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/connection.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/request.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/request.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/response.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/response.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/retry.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/retry.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/timeout.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/timeout.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/url.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/url.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/sessions.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/sessions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/status_codes.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/status_codes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/structures.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/structures.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/utils.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/requests/utils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/retrying.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/retrying.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/six.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/_vendor/six.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/basecommand.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/basecommand.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/baseparser.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/baseparser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/cmdoptions.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/cmdoptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/completion.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/completion.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/freeze.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/freeze.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/help.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/help.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/install.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/install.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/list.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/list.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/search.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/search.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/show.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/show.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/uninstall.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/uninstall.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/unzip.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/unzip.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/wheel.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/wheel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/zip.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/commands/zip.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/compat/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/compat/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/compat/dictconfig.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/compat/dictconfig.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/download.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/download.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/exceptions.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/index.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/index.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/locations.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/locations.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/models/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/models/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/models/index.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/models/index.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/operations/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/operations/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/operations/freeze.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/operations/freeze.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/pep425tags.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/pep425tags.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_file.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_file.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_install.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_install.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_requirement.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_requirement.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_set.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_set.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_uninstall.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_uninstall.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/status_codes.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/status_codes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/appdirs.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/appdirs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/build.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/build.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/deprecation.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/deprecation.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/filesystem.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/filesystem.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/logging.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/logging.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/outdated.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/outdated.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/ui.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/utils/ui.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/__init__.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/bazaar.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/bazaar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/git.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/git.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/mercurial.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/mercurial.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/subversion.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/vcs/subversion.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/wheel.py b/panda/python/Lib/site-packages/pip-6.0.8-py2.7.egg/pip/wheel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.1.1.dist-info/DESCRIPTION.rst b/panda/python/Lib/site-packages/pip-6.1.1.dist-info/DESCRIPTION.rst old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.1.1.dist-info/METADATA b/panda/python/Lib/site-packages/pip-6.1.1.dist-info/METADATA old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.1.1.dist-info/RECORD b/panda/python/Lib/site-packages/pip-6.1.1.dist-info/RECORD old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.1.1.dist-info/WHEEL b/panda/python/Lib/site-packages/pip-6.1.1.dist-info/WHEEL old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.1.1.dist-info/entry_points.txt b/panda/python/Lib/site-packages/pip-6.1.1.dist-info/entry_points.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip-6.1.1.dist-info/top_level.txt b/panda/python/Lib/site-packages/pip-6.1.1.dist-info/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/__init__.py b/panda/python/Lib/site-packages/pip/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/__main__.py b/panda/python/Lib/site-packages/pip/__main__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/_markerlib/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/_markerlib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/_markerlib/markers.py b/panda/python/Lib/site-packages/pip/_vendor/_markerlib/markers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/cache.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/cache.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/compat.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/controller.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/controller.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py b/panda/python/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/colorama/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/colorama/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/colorama/ansi.py b/panda/python/Lib/site-packages/pip/_vendor/colorama/ansi.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py b/panda/python/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/colorama/initialise.py b/panda/python/Lib/site-packages/pip/_vendor/colorama/initialise.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/colorama/win32.py b/panda/python/Lib/site-packages/pip/_vendor/colorama/win32.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/colorama/winterm.py b/panda/python/Lib/site-packages/pip/_vendor/colorama/winterm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/misc.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/misc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/shutil.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/shutil.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg b/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/tarfile.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/_backport/tarfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/compat.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/database.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/database.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/index.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/index.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/locators.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/locators.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/manifest.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/manifest.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/markers.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/markers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/metadata.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/metadata.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/resources.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/resources.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/scripts.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/scripts.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/t32.exe b/panda/python/Lib/site-packages/pip/_vendor/distlib/t32.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/t64.exe b/panda/python/Lib/site-packages/pip/_vendor/distlib/t64.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/util.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/version.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/version.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/w32.exe b/panda/python/Lib/site-packages/pip/_vendor/distlib/w32.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/w64.exe b/panda/python/Lib/site-packages/pip/_vendor/distlib/w64.exe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/distlib/wheel.py b/panda/python/Lib/site-packages/pip/_vendor/distlib/wheel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/constants.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/constants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/_base.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/lint.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/lint.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/optionaltags.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/optionaltags.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/sanitizer.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/sanitizer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/whitespace.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/filters/whitespace.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/html5parser.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/html5parser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/ihatexml.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/ihatexml.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/inputstream.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/inputstream.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/sanitizer.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/sanitizer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/serializer/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/serializer/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/tokenizer.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/tokenizer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treeadapters/sax.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treeadapters/sax.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/_base.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/dom.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/dom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/_base.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/dom.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/dom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/genshistream.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/genshistream.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/lxmletree.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/lxmletree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/pulldom.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/treewalkers/pulldom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/_base.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/_base.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/datrie.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/datrie.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/py.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/trie/py.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/html5lib/utils.py b/panda/python/Lib/site-packages/pip/_vendor/html5lib/utils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/ipaddress.py b/panda/python/Lib/site-packages/pip/_vendor/ipaddress.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/lockfile/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/lockfile/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/lockfile/linklockfile.py b/panda/python/Lib/site-packages/pip/_vendor/lockfile/linklockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/lockfile/mkdirlockfile.py b/panda/python/Lib/site-packages/pip/_vendor/lockfile/mkdirlockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/lockfile/pidlockfile.py b/panda/python/Lib/site-packages/pip/_vendor/lockfile/pidlockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/lockfile/sqlitelockfile.py b/panda/python/Lib/site-packages/pip/_vendor/lockfile/sqlitelockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/lockfile/symlinklockfile.py b/panda/python/Lib/site-packages/pip/_vendor/lockfile/symlinklockfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/packaging/__about__.py b/panda/python/Lib/site-packages/pip/_vendor/packaging/__about__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/packaging/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/packaging/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/packaging/_compat.py b/panda/python/Lib/site-packages/pip/_vendor/packaging/_compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/packaging/_structures.py b/panda/python/Lib/site-packages/pip/_vendor/packaging/_structures.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/packaging/specifiers.py b/panda/python/Lib/site-packages/pip/_vendor/packaging/specifiers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/packaging/version.py b/panda/python/Lib/site-packages/pip/_vendor/packaging/version.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/pkg_resources/tests/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/pkg_resources/tests/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/pkg_resources/tests/test_pkg_resources.py b/panda/python/Lib/site-packages/pip/_vendor/pkg_resources/tests/test_pkg_resources.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/pkg_resources/tests/test_resources.py b/panda/python/Lib/site-packages/pip/_vendor/pkg_resources/tests/test_resources.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/progress/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/progress/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/progress/bar.py b/panda/python/Lib/site-packages/pip/_vendor/progress/bar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/progress/counter.py b/panda/python/Lib/site-packages/pip/_vendor/progress/counter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/progress/helpers.py b/panda/python/Lib/site-packages/pip/_vendor/progress/helpers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/progress/spinner.py b/panda/python/Lib/site-packages/pip/_vendor/progress/spinner.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/re-vendor.py b/panda/python/Lib/site-packages/pip/_vendor/re-vendor.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/requests/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/adapters.py b/panda/python/Lib/site-packages/pip/_vendor/requests/adapters.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/api.py b/panda/python/Lib/site-packages/pip/_vendor/requests/api.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/auth.py b/panda/python/Lib/site-packages/pip/_vendor/requests/auth.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/cacert.pem b/panda/python/Lib/site-packages/pip/_vendor/requests/cacert.pem old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/certs.py b/panda/python/Lib/site-packages/pip/_vendor/requests/certs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/compat.py b/panda/python/Lib/site-packages/pip/_vendor/requests/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/cookies.py b/panda/python/Lib/site-packages/pip/_vendor/requests/cookies.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/exceptions.py b/panda/python/Lib/site-packages/pip/_vendor/requests/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/hooks.py b/panda/python/Lib/site-packages/pip/_vendor/requests/hooks.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/models.py b/panda/python/Lib/site-packages/pip/_vendor/requests/models.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/big5freq.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/big5freq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/big5prober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/big5prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/chardetect.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/chardetect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/chardistribution.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/chardistribution.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/charsetgroupprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/charsetgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/charsetprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/charsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/codingstatemachine.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/codingstatemachine.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/compat.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/constants.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/constants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/cp949prober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/cp949prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/escprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/escprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/escsm.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/escsm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/eucjpprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/eucjpprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euckrfreq.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euckrfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euckrprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euckrprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euctwfreq.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euctwfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euctwprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/euctwprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/gb2312freq.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/gb2312freq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/gb2312prober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/gb2312prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/hebrewprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/hebrewprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/jisfreq.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/jisfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/jpcntx.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/jpcntx.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langbulgarianmodel.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langbulgarianmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langcyrillicmodel.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langcyrillicmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langgreekmodel.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langgreekmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langhebrewmodel.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langhebrewmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langhungarianmodel.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langhungarianmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langthaimodel.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/langthaimodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/latin1prober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/latin1prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/mbcharsetprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/mbcharsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/mbcsgroupprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/mbcsgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/mbcssm.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/mbcssm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/sbcharsetprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/sbcharsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/sbcsgroupprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/sbcsgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/sjisprober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/sjisprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/universaldetector.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/universaldetector.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/utf8prober.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/chardet/utf8prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/_collections.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/_collections.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/connection.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/connectionpool.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/connectionpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/contrib/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/contrib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/contrib/ntlmpool.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/contrib/ntlmpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/exceptions.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/fields.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/fields.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/filepost.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/filepost.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/ordered_dict.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/ordered_dict.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/six.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/six.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/request.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/request.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/response.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/response.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/retry.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/retry.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/timeout.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/timeout.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/url.py b/panda/python/Lib/site-packages/pip/_vendor/requests/packages/urllib3/util/url.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/sessions.py b/panda/python/Lib/site-packages/pip/_vendor/requests/sessions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/status_codes.py b/panda/python/Lib/site-packages/pip/_vendor/requests/status_codes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/structures.py b/panda/python/Lib/site-packages/pip/_vendor/requests/structures.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/requests/utils.py b/panda/python/Lib/site-packages/pip/_vendor/requests/utils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/retrying.py b/panda/python/Lib/site-packages/pip/_vendor/retrying.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/_vendor/six.py b/panda/python/Lib/site-packages/pip/_vendor/six.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/basecommand.py b/panda/python/Lib/site-packages/pip/basecommand.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/baseparser.py b/panda/python/Lib/site-packages/pip/baseparser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/cmdoptions.py b/panda/python/Lib/site-packages/pip/cmdoptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/__init__.py b/panda/python/Lib/site-packages/pip/commands/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/completion.py b/panda/python/Lib/site-packages/pip/commands/completion.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/freeze.py b/panda/python/Lib/site-packages/pip/commands/freeze.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/help.py b/panda/python/Lib/site-packages/pip/commands/help.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/install.py b/panda/python/Lib/site-packages/pip/commands/install.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/list.py b/panda/python/Lib/site-packages/pip/commands/list.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/search.py b/panda/python/Lib/site-packages/pip/commands/search.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/show.py b/panda/python/Lib/site-packages/pip/commands/show.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/uninstall.py b/panda/python/Lib/site-packages/pip/commands/uninstall.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/unzip.py b/panda/python/Lib/site-packages/pip/commands/unzip.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/wheel.py b/panda/python/Lib/site-packages/pip/commands/wheel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/commands/zip.py b/panda/python/Lib/site-packages/pip/commands/zip.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/compat/__init__.py b/panda/python/Lib/site-packages/pip/compat/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/compat/dictconfig.py b/panda/python/Lib/site-packages/pip/compat/dictconfig.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/download.py b/panda/python/Lib/site-packages/pip/download.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/exceptions.py b/panda/python/Lib/site-packages/pip/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/index.py b/panda/python/Lib/site-packages/pip/index.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/locations.py b/panda/python/Lib/site-packages/pip/locations.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/models/__init__.py b/panda/python/Lib/site-packages/pip/models/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/models/index.py b/panda/python/Lib/site-packages/pip/models/index.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/operations/__init__.py b/panda/python/Lib/site-packages/pip/operations/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/operations/freeze.py b/panda/python/Lib/site-packages/pip/operations/freeze.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/pep425tags.py b/panda/python/Lib/site-packages/pip/pep425tags.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/req/__init__.py b/panda/python/Lib/site-packages/pip/req/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/req/req_file.py b/panda/python/Lib/site-packages/pip/req/req_file.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/req/req_install.py b/panda/python/Lib/site-packages/pip/req/req_install.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/req/req_requirement.py b/panda/python/Lib/site-packages/pip/req/req_requirement.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/req/req_set.py b/panda/python/Lib/site-packages/pip/req/req_set.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/req/req_uninstall.py b/panda/python/Lib/site-packages/pip/req/req_uninstall.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/status_codes.py b/panda/python/Lib/site-packages/pip/status_codes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/utils/__init__.py b/panda/python/Lib/site-packages/pip/utils/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/utils/appdirs.py b/panda/python/Lib/site-packages/pip/utils/appdirs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/utils/build.py b/panda/python/Lib/site-packages/pip/utils/build.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/utils/deprecation.py b/panda/python/Lib/site-packages/pip/utils/deprecation.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/utils/filesystem.py b/panda/python/Lib/site-packages/pip/utils/filesystem.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/utils/logging.py b/panda/python/Lib/site-packages/pip/utils/logging.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/utils/outdated.py b/panda/python/Lib/site-packages/pip/utils/outdated.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/utils/ui.py b/panda/python/Lib/site-packages/pip/utils/ui.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/vcs/__init__.py b/panda/python/Lib/site-packages/pip/vcs/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/vcs/bazaar.py b/panda/python/Lib/site-packages/pip/vcs/bazaar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/vcs/git.py b/panda/python/Lib/site-packages/pip/vcs/git.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/vcs/mercurial.py b/panda/python/Lib/site-packages/pip/vcs/mercurial.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/vcs/subversion.py b/panda/python/Lib/site-packages/pip/vcs/subversion.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/pip/wheel.py b/panda/python/Lib/site-packages/pip/wheel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/PKG-INFO b/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/PKG-INFO old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/SOURCES.txt b/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/SOURCES.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/dependency_links.txt b/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/dependency_links.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/installed-files.txt b/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/installed-files.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/top_level.txt b/panda/python/Lib/site-packages/ply-3.4-py2.7.egg-info/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply/__init__.py b/panda/python/Lib/site-packages/ply/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply/cpp.py b/panda/python/Lib/site-packages/ply/cpp.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply/ctokens.py b/panda/python/Lib/site-packages/ply/ctokens.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply/lex.py b/panda/python/Lib/site-packages/ply/lex.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/ply/yacc.py b/panda/python/Lib/site-packages/ply/yacc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests-2.6.0.dist-info/DESCRIPTION.rst b/panda/python/Lib/site-packages/requests-2.6.0.dist-info/DESCRIPTION.rst old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests-2.6.0.dist-info/METADATA b/panda/python/Lib/site-packages/requests-2.6.0.dist-info/METADATA old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests-2.6.0.dist-info/RECORD b/panda/python/Lib/site-packages/requests-2.6.0.dist-info/RECORD old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests-2.6.0.dist-info/WHEEL b/panda/python/Lib/site-packages/requests-2.6.0.dist-info/WHEEL old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests-2.6.0.dist-info/top_level.txt b/panda/python/Lib/site-packages/requests-2.6.0.dist-info/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/HISTORY.rst b/panda/python/Lib/site-packages/requests/HISTORY.rst old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/LICENSE b/panda/python/Lib/site-packages/requests/LICENSE old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/MANIFEST.in b/panda/python/Lib/site-packages/requests/MANIFEST.in old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/NOTICE b/panda/python/Lib/site-packages/requests/NOTICE old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/PKG-INFO b/panda/python/Lib/site-packages/requests/PKG-INFO old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/README.rst b/panda/python/Lib/site-packages/requests/README.rst old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/__init__.py b/panda/python/Lib/site-packages/requests/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/adapters.py b/panda/python/Lib/site-packages/requests/adapters.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/api.py b/panda/python/Lib/site-packages/requests/api.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/auth.py b/panda/python/Lib/site-packages/requests/auth.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/cacert.pem b/panda/python/Lib/site-packages/requests/cacert.pem old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/certs.py b/panda/python/Lib/site-packages/requests/certs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/compat.py b/panda/python/Lib/site-packages/requests/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/cookies.py b/panda/python/Lib/site-packages/requests/cookies.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/exceptions.py b/panda/python/Lib/site-packages/requests/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/hooks.py b/panda/python/Lib/site-packages/requests/hooks.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/models.py b/panda/python/Lib/site-packages/requests/models.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/__init__.py b/panda/python/Lib/site-packages/requests/packages/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/__init__.py b/panda/python/Lib/site-packages/requests/packages/chardet/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/big5freq.py b/panda/python/Lib/site-packages/requests/packages/chardet/big5freq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/big5prober.py b/panda/python/Lib/site-packages/requests/packages/chardet/big5prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/chardetect.py b/panda/python/Lib/site-packages/requests/packages/chardet/chardetect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/chardistribution.py b/panda/python/Lib/site-packages/requests/packages/chardet/chardistribution.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/charsetgroupprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/charsetgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/charsetprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/charsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/codingstatemachine.py b/panda/python/Lib/site-packages/requests/packages/chardet/codingstatemachine.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/compat.py b/panda/python/Lib/site-packages/requests/packages/chardet/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/constants.py b/panda/python/Lib/site-packages/requests/packages/chardet/constants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/cp949prober.py b/panda/python/Lib/site-packages/requests/packages/chardet/cp949prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/escprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/escprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/escsm.py b/panda/python/Lib/site-packages/requests/packages/chardet/escsm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/eucjpprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/eucjpprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/euckrfreq.py b/panda/python/Lib/site-packages/requests/packages/chardet/euckrfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/euckrprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/euckrprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/euctwfreq.py b/panda/python/Lib/site-packages/requests/packages/chardet/euctwfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/euctwprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/euctwprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/gb2312freq.py b/panda/python/Lib/site-packages/requests/packages/chardet/gb2312freq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/gb2312prober.py b/panda/python/Lib/site-packages/requests/packages/chardet/gb2312prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/hebrewprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/hebrewprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/jisfreq.py b/panda/python/Lib/site-packages/requests/packages/chardet/jisfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/jpcntx.py b/panda/python/Lib/site-packages/requests/packages/chardet/jpcntx.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/langbulgarianmodel.py b/panda/python/Lib/site-packages/requests/packages/chardet/langbulgarianmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/langcyrillicmodel.py b/panda/python/Lib/site-packages/requests/packages/chardet/langcyrillicmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/langgreekmodel.py b/panda/python/Lib/site-packages/requests/packages/chardet/langgreekmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/langhebrewmodel.py b/panda/python/Lib/site-packages/requests/packages/chardet/langhebrewmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/langhungarianmodel.py b/panda/python/Lib/site-packages/requests/packages/chardet/langhungarianmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/langthaimodel.py b/panda/python/Lib/site-packages/requests/packages/chardet/langthaimodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/latin1prober.py b/panda/python/Lib/site-packages/requests/packages/chardet/latin1prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/mbcharsetprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/mbcharsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/mbcsgroupprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/mbcsgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/mbcssm.py b/panda/python/Lib/site-packages/requests/packages/chardet/mbcssm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/sbcharsetprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/sbcharsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/sbcsgroupprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/sbcsgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/sjisprober.py b/panda/python/Lib/site-packages/requests/packages/chardet/sjisprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/universaldetector.py b/panda/python/Lib/site-packages/requests/packages/chardet/universaldetector.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/chardet/utf8prober.py b/panda/python/Lib/site-packages/requests/packages/chardet/utf8prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/__init__.py b/panda/python/Lib/site-packages/requests/packages/urllib3/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/_collections.py b/panda/python/Lib/site-packages/requests/packages/urllib3/_collections.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/connection.py b/panda/python/Lib/site-packages/requests/packages/urllib3/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/connectionpool.py b/panda/python/Lib/site-packages/requests/packages/urllib3/connectionpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/contrib/__init__.py b/panda/python/Lib/site-packages/requests/packages/urllib3/contrib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/contrib/ntlmpool.py b/panda/python/Lib/site-packages/requests/packages/urllib3/contrib/ntlmpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/contrib/pyopenssl.py b/panda/python/Lib/site-packages/requests/packages/urllib3/contrib/pyopenssl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/exceptions.py b/panda/python/Lib/site-packages/requests/packages/urllib3/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/fields.py b/panda/python/Lib/site-packages/requests/packages/urllib3/fields.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/filepost.py b/panda/python/Lib/site-packages/requests/packages/urllib3/filepost.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/packages/__init__.py b/panda/python/Lib/site-packages/requests/packages/urllib3/packages/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/packages/ordered_dict.py b/panda/python/Lib/site-packages/requests/packages/urllib3/packages/ordered_dict.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/packages/six.py b/panda/python/Lib/site-packages/requests/packages/urllib3/packages/six.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py b/panda/python/Lib/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py b/panda/python/Lib/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/poolmanager.py b/panda/python/Lib/site-packages/requests/packages/urllib3/poolmanager.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/request.py b/panda/python/Lib/site-packages/requests/packages/urllib3/request.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/response.py b/panda/python/Lib/site-packages/requests/packages/urllib3/response.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/util/__init__.py b/panda/python/Lib/site-packages/requests/packages/urllib3/util/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/util/connection.py b/panda/python/Lib/site-packages/requests/packages/urllib3/util/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/util/request.py b/panda/python/Lib/site-packages/requests/packages/urllib3/util/request.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/util/response.py b/panda/python/Lib/site-packages/requests/packages/urllib3/util/response.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/util/retry.py b/panda/python/Lib/site-packages/requests/packages/urllib3/util/retry.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/util/ssl_.py b/panda/python/Lib/site-packages/requests/packages/urllib3/util/ssl_.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/util/timeout.py b/panda/python/Lib/site-packages/requests/packages/urllib3/util/timeout.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/packages/urllib3/util/url.py b/panda/python/Lib/site-packages/requests/packages/urllib3/util/url.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests.egg-info/PKG-INFO b/panda/python/Lib/site-packages/requests/requests.egg-info/PKG-INFO old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests.egg-info/SOURCES.txt b/panda/python/Lib/site-packages/requests/requests.egg-info/SOURCES.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests.egg-info/dependency_links.txt b/panda/python/Lib/site-packages/requests/requests.egg-info/dependency_links.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests.egg-info/not-zip-safe b/panda/python/Lib/site-packages/requests/requests.egg-info/not-zip-safe old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests.egg-info/requires.txt b/panda/python/Lib/site-packages/requests/requests.egg-info/requires.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests.egg-info/top_level.txt b/panda/python/Lib/site-packages/requests/requests.egg-info/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/__init__.py b/panda/python/Lib/site-packages/requests/requests/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/adapters.py b/panda/python/Lib/site-packages/requests/requests/adapters.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/api.py b/panda/python/Lib/site-packages/requests/requests/api.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/auth.py b/panda/python/Lib/site-packages/requests/requests/auth.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/cacert.pem b/panda/python/Lib/site-packages/requests/requests/cacert.pem old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/certs.py b/panda/python/Lib/site-packages/requests/requests/certs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/compat.py b/panda/python/Lib/site-packages/requests/requests/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/cookies.py b/panda/python/Lib/site-packages/requests/requests/cookies.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/exceptions.py b/panda/python/Lib/site-packages/requests/requests/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/hooks.py b/panda/python/Lib/site-packages/requests/requests/hooks.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/models.py b/panda/python/Lib/site-packages/requests/requests/models.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/__init__.py b/panda/python/Lib/site-packages/requests/requests/packages/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/__init__.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/big5freq.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/big5freq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/big5prober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/big5prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/chardetect.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/chardetect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/chardistribution.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/chardistribution.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/charsetgroupprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/charsetgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/charsetprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/charsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/codingstatemachine.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/codingstatemachine.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/compat.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/compat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/constants.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/constants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/cp949prober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/cp949prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/escprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/escprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/escsm.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/escsm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/eucjpprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/eucjpprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/euckrfreq.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/euckrfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/euckrprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/euckrprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/euctwfreq.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/euctwfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/euctwprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/euctwprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/gb2312freq.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/gb2312freq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/gb2312prober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/gb2312prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/hebrewprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/hebrewprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/jisfreq.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/jisfreq.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/jpcntx.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/jpcntx.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/langbulgarianmodel.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/langbulgarianmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/langcyrillicmodel.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/langcyrillicmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/langgreekmodel.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/langgreekmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/langhebrewmodel.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/langhebrewmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/langhungarianmodel.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/langhungarianmodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/langthaimodel.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/langthaimodel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/latin1prober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/latin1prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/mbcharsetprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/mbcharsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/mbcsgroupprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/mbcsgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/mbcssm.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/mbcssm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/sbcharsetprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/sbcharsetprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/sbcsgroupprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/sbcsgroupprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/sjisprober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/sjisprober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/universaldetector.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/universaldetector.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/chardet/utf8prober.py b/panda/python/Lib/site-packages/requests/requests/packages/chardet/utf8prober.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/__init__.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/_collections.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/_collections.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/connection.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/connectionpool.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/connectionpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/contrib/__init__.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/contrib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/contrib/ntlmpool.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/contrib/ntlmpool.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/contrib/pyopenssl.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/contrib/pyopenssl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/exceptions.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/fields.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/fields.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/filepost.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/filepost.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/__init__.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/ordered_dict.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/ordered_dict.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/six.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/six.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/poolmanager.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/poolmanager.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/request.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/request.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/response.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/response.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/__init__.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/connection.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/connection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/request.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/request.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/response.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/response.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/retry.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/retry.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/ssl_.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/ssl_.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/timeout.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/timeout.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/url.py b/panda/python/Lib/site-packages/requests/requests/packages/urllib3/util/url.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/sessions.py b/panda/python/Lib/site-packages/requests/requests/sessions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/status_codes.py b/panda/python/Lib/site-packages/requests/requests/status_codes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/structures.py b/panda/python/Lib/site-packages/requests/requests/structures.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requests/utils.py b/panda/python/Lib/site-packages/requests/requests/utils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/requirements.txt b/panda/python/Lib/site-packages/requests/requirements.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/sessions.py b/panda/python/Lib/site-packages/requests/sessions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/setup.cfg b/panda/python/Lib/site-packages/requests/setup.cfg old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/setup.py b/panda/python/Lib/site-packages/requests/setup.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/status_codes.py b/panda/python/Lib/site-packages/requests/status_codes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/structures.py b/panda/python/Lib/site-packages/requests/structures.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/test_requests.py b/panda/python/Lib/site-packages/requests/test_requests.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/requests/utils.py b/panda/python/Lib/site-packages/requests/utils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/setuptools-12.0.5-py2.7.egg b/panda/python/Lib/site-packages/setuptools-12.0.5-py2.7.egg old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/setuptools.pth b/panda/python/Lib/site-packages/setuptools.pth old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/__init__.py b/panda/python/Lib/site-packages/wx/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/__version__.py b/panda/python/Lib/site-packages/wx/__version__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_adv.pyd b/panda/python/Lib/site-packages/wx/_adv.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_core.pyd b/panda/python/Lib/site-packages/wx/_core.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_dataview.pyd b/panda/python/Lib/site-packages/wx/_dataview.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_glcanvas.pyd b/panda/python/Lib/site-packages/wx/_glcanvas.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_grid.pyd b/panda/python/Lib/site-packages/wx/_grid.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_html.pyd b/panda/python/Lib/site-packages/wx/_html.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_html2.pyd b/panda/python/Lib/site-packages/wx/_html2.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_richtext.pyd b/panda/python/Lib/site-packages/wx/_richtext.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_stc.pyd b/panda/python/Lib/site-packages/wx/_stc.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_xml.pyd b/panda/python/Lib/site-packages/wx/_xml.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/_xrc.pyd b/panda/python/Lib/site-packages/wx/_xrc.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/adv.pi b/panda/python/Lib/site-packages/wx/adv.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/adv.py b/panda/python/Lib/site-packages/wx/adv.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/core.pi b/panda/python/Lib/site-packages/wx/core.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/core.py b/panda/python/Lib/site-packages/wx/core.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/dataview.pi b/panda/python/Lib/site-packages/wx/dataview.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/dataview.py b/panda/python/Lib/site-packages/wx/dataview.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/freetype6.dll b/panda/python/Lib/site-packages/wx/freetype6.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/glcanvas.pi b/panda/python/Lib/site-packages/wx/glcanvas.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/glcanvas.py b/panda/python/Lib/site-packages/wx/glcanvas.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/grid.pi b/panda/python/Lib/site-packages/wx/grid.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/grid.py b/panda/python/Lib/site-packages/wx/grid.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/html.pi b/panda/python/Lib/site-packages/wx/html.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/html.py b/panda/python/Lib/site-packages/wx/html.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/html2.pi b/panda/python/Lib/site-packages/wx/html2.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/html2.py b/panda/python/Lib/site-packages/wx/html2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/CDate.py b/panda/python/Lib/site-packages/wx/lib/CDate.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ClickableHtmlWindow.py b/panda/python/Lib/site-packages/wx/lib/ClickableHtmlWindow.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/__init__.py b/panda/python/Lib/site-packages/wx/lib/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/activex.py b/panda/python/Lib/site-packages/wx/lib/activex.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/activexwrapper.py b/panda/python/Lib/site-packages/wx/lib/activexwrapper.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/__init__.py b/panda/python/Lib/site-packages/wx/lib/agw/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/advancedsplash.py b/panda/python/Lib/site-packages/wx/lib/agw/advancedsplash.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aquabutton.py b/panda/python/Lib/site-packages/wx/lib/agw/aquabutton.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/artmanager.py b/panda/python/Lib/site-packages/wx/lib/agw/artmanager.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/__init__.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/aui_constants.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/aui_constants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/aui_switcherdialog.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/aui_switcherdialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/aui_utilities.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/aui_utilities.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/auibar.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/auibar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/auibook.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/auibook.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/dockart.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/dockart.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/framemanager.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/framemanager.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/tabart.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/tabart.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/aui/tabmdi.py b/panda/python/Lib/site-packages/wx/lib/agw/aui/tabmdi.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/balloontip.py b/panda/python/Lib/site-packages/wx/lib/agw/balloontip.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/buttonpanel.py b/panda/python/Lib/site-packages/wx/lib/agw/buttonpanel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/cubecolourdialog.py b/panda/python/Lib/site-packages/wx/lib/agw/cubecolourdialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/customtreectrl.py b/panda/python/Lib/site-packages/wx/lib/agw/customtreectrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_1.png b/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_1.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_1_thumb.png b/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_1_thumb.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_2.png b/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_2.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_2_thumb.png b/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_2_thumb.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_3.png b/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_3.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_3_thumb.png b/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_3_thumb.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_4.png b/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_4.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_4_thumb.png b/panda/python/Lib/site-packages/wx/lib/agw/data/ShortcutEditor_4_thumb.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/data/default_help_text.html b/panda/python/Lib/site-packages/wx/lib/agw/data/default_help_text.html old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/flatmenu.py b/panda/python/Lib/site-packages/wx/lib/agw/flatmenu.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/flatnotebook.py b/panda/python/Lib/site-packages/wx/lib/agw/flatnotebook.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/floatspin.py b/panda/python/Lib/site-packages/wx/lib/agw/floatspin.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/fmcustomizedlg.py b/panda/python/Lib/site-packages/wx/lib/agw/fmcustomizedlg.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/fmresources.py b/panda/python/Lib/site-packages/wx/lib/agw/fmresources.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/foldpanelbar.py b/panda/python/Lib/site-packages/wx/lib/agw/foldpanelbar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/fourwaysplitter.py b/panda/python/Lib/site-packages/wx/lib/agw/fourwaysplitter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/genericmessagedialog.py b/panda/python/Lib/site-packages/wx/lib/agw/genericmessagedialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/gradientbutton.py b/panda/python/Lib/site-packages/wx/lib/agw/gradientbutton.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/hyperlink.py b/panda/python/Lib/site-packages/wx/lib/agw/hyperlink.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/hypertreelist.py b/panda/python/Lib/site-packages/wx/lib/agw/hypertreelist.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/infobar.py b/panda/python/Lib/site-packages/wx/lib/agw/infobar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/knobctrl.py b/panda/python/Lib/site-packages/wx/lib/agw/knobctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/labelbook.py b/panda/python/Lib/site-packages/wx/lib/agw/labelbook.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/multidirdialog.py b/panda/python/Lib/site-packages/wx/lib/agw/multidirdialog.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/peakmeter.py b/panda/python/Lib/site-packages/wx/lib/agw/peakmeter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/persist/__init__.py b/panda/python/Lib/site-packages/wx/lib/agw/persist/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/persist/persist_constants.py b/panda/python/Lib/site-packages/wx/lib/agw/persist/persist_constants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/persist/persist_handlers.py b/panda/python/Lib/site-packages/wx/lib/agw/persist/persist_handlers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/persist/persistencemanager.py b/panda/python/Lib/site-packages/wx/lib/agw/persist/persistencemanager.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/piectrl.py b/panda/python/Lib/site-packages/wx/lib/agw/piectrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/pybusyinfo.py b/panda/python/Lib/site-packages/wx/lib/agw/pybusyinfo.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/pycollapsiblepane.py b/panda/python/Lib/site-packages/wx/lib/agw/pycollapsiblepane.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/pygauge.py b/panda/python/Lib/site-packages/wx/lib/agw/pygauge.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/pyprogress.py b/panda/python/Lib/site-packages/wx/lib/agw/pyprogress.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/__init__.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_aui.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_aui.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_default.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_default.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_internal.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_internal.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_msw.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_msw.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_osx.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/art_osx.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/bar.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/bar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/buttonbar.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/buttonbar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/control.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/control.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/gallery.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/gallery.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/page.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/page.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/panel.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/panel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ribbon/toolbar.py b/panda/python/Lib/site-packages/wx/lib/agw/ribbon/toolbar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/rulerctrl.py b/panda/python/Lib/site-packages/wx/lib/agw/rulerctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/shapedbutton.py b/panda/python/Lib/site-packages/wx/lib/agw/shapedbutton.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/shortcuteditor.py b/panda/python/Lib/site-packages/wx/lib/agw/shortcuteditor.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/speedmeter.py b/panda/python/Lib/site-packages/wx/lib/agw/speedmeter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/supertooltip.py b/panda/python/Lib/site-packages/wx/lib/agw/supertooltip.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/thumbnailctrl.py b/panda/python/Lib/site-packages/wx/lib/agw/thumbnailctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/toasterbox.py b/panda/python/Lib/site-packages/wx/lib/agw/toasterbox.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/ultimatelistctrl.py b/panda/python/Lib/site-packages/wx/lib/agw/ultimatelistctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/xlsgrid.py b/panda/python/Lib/site-packages/wx/lib/agw/xlsgrid.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/agw/zoombar.py b/panda/python/Lib/site-packages/wx/lib/agw/zoombar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/analogclock/__init__.py b/panda/python/Lib/site-packages/wx/lib/analogclock/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/analogclock/analogclock.py b/panda/python/Lib/site-packages/wx/lib/analogclock/analogclock.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/analogclock/helpers.py b/panda/python/Lib/site-packages/wx/lib/analogclock/helpers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/__init__.py b/panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/buttontreectrlpanel.py b/panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/buttontreectrlpanel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/colourselect.py b/panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/colourselect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/fontselect.py b/panda/python/Lib/site-packages/wx/lib/analogclock/lib_setup/fontselect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/analogclock/setup.py b/panda/python/Lib/site-packages/wx/lib/analogclock/setup.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/analogclock/styles.py b/panda/python/Lib/site-packages/wx/lib/analogclock/styles.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/anchors.py b/panda/python/Lib/site-packages/wx/lib/anchors.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/art/__init__.py b/panda/python/Lib/site-packages/wx/lib/art/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/art/flagart.py b/panda/python/Lib/site-packages/wx/lib/art/flagart.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/art/img2pyartprov.py b/panda/python/Lib/site-packages/wx/lib/art/img2pyartprov.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/busy.py b/panda/python/Lib/site-packages/wx/lib/busy.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/buttons.py b/panda/python/Lib/site-packages/wx/lib/buttons.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/calendar.py b/panda/python/Lib/site-packages/wx/lib/calendar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourchooser/__init__.py b/panda/python/Lib/site-packages/wx/lib/colourchooser/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourchooser/canvas.py b/panda/python/Lib/site-packages/wx/lib/colourchooser/canvas.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourchooser/intl.py b/panda/python/Lib/site-packages/wx/lib/colourchooser/intl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourchooser/pycolourbox.py b/panda/python/Lib/site-packages/wx/lib/colourchooser/pycolourbox.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourchooser/pycolourchooser.py b/panda/python/Lib/site-packages/wx/lib/colourchooser/pycolourchooser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourchooser/pycolourslider.py b/panda/python/Lib/site-packages/wx/lib/colourchooser/pycolourslider.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourchooser/pypalette.py b/panda/python/Lib/site-packages/wx/lib/colourchooser/pypalette.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourdb.py b/panda/python/Lib/site-packages/wx/lib/colourdb.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourselect.py b/panda/python/Lib/site-packages/wx/lib/colourselect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/colourutils.py b/panda/python/Lib/site-packages/wx/lib/colourutils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/combotreebox.py b/panda/python/Lib/site-packages/wx/lib/combotreebox.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/delayedresult.py b/panda/python/Lib/site-packages/wx/lib/delayedresult.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/dialogs.py b/panda/python/Lib/site-packages/wx/lib/dialogs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/docview.py b/panda/python/Lib/site-packages/wx/lib/docview.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/dragscroller.py b/panda/python/Lib/site-packages/wx/lib/dragscroller.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/editor/README.txt b/panda/python/Lib/site-packages/wx/lib/editor/README.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/editor/__init__.py b/panda/python/Lib/site-packages/wx/lib/editor/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/editor/editor.py b/panda/python/Lib/site-packages/wx/lib/editor/editor.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/editor/images.py b/panda/python/Lib/site-packages/wx/lib/editor/images.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/editor/selection.py b/panda/python/Lib/site-packages/wx/lib/editor/selection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/embeddedimage.py b/panda/python/Lib/site-packages/wx/lib/embeddedimage.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/eventStack.py b/panda/python/Lib/site-packages/wx/lib/eventStack.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/eventwatcher.py b/panda/python/Lib/site-packages/wx/lib/eventwatcher.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/evtmgr.py b/panda/python/Lib/site-packages/wx/lib/evtmgr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/expando.py b/panda/python/Lib/site-packages/wx/lib/expando.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/fancytext.py b/panda/python/Lib/site-packages/wx/lib/fancytext.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/filebrowsebutton.py b/panda/python/Lib/site-packages/wx/lib/filebrowsebutton.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/flashwin.py b/panda/python/Lib/site-packages/wx/lib/flashwin.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/flashwin_old.py b/panda/python/Lib/site-packages/wx/lib/flashwin_old.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatbar.py b/panda/python/Lib/site-packages/wx/lib/floatbar.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/FCEvents.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/FCEvents.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/FCObjects.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/FCObjects.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/FloatCanvas.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/FloatCanvas.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/GUIMode.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/GUIMode.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/NavCanvas.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/NavCanvas.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/Resources.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/Resources.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/ScreenShot.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/ScreenShot.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/BBox.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/BBox.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/Colors.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/Colors.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/GUI.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/GUI.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/__init__.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/Utilities/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/floatcanvas/__init__.py b/panda/python/Lib/site-packages/wx/lib/floatcanvas/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/foldmenu.py b/panda/python/Lib/site-packages/wx/lib/foldmenu.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/gestures.py b/panda/python/Lib/site-packages/wx/lib/gestures.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/graphics.py b/panda/python/Lib/site-packages/wx/lib/graphics.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/gridmovers.py b/panda/python/Lib/site-packages/wx/lib/gridmovers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/iewin.py b/panda/python/Lib/site-packages/wx/lib/iewin.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/iewin_old.py b/panda/python/Lib/site-packages/wx/lib/iewin_old.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/imagebrowser.py b/panda/python/Lib/site-packages/wx/lib/imagebrowser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/imageutils.py b/panda/python/Lib/site-packages/wx/lib/imageutils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/infoframe.py b/panda/python/Lib/site-packages/wx/lib/infoframe.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/inspection.py b/panda/python/Lib/site-packages/wx/lib/inspection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/intctrl.py b/panda/python/Lib/site-packages/wx/lib/intctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/itemspicker.py b/panda/python/Lib/site-packages/wx/lib/itemspicker.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/langlistctrl.py b/panda/python/Lib/site-packages/wx/lib/langlistctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/layoutf.py b/panda/python/Lib/site-packages/wx/lib/layoutf.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/masked/__init__.py b/panda/python/Lib/site-packages/wx/lib/masked/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/masked/combobox.py b/panda/python/Lib/site-packages/wx/lib/masked/combobox.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/masked/ctrl.py b/panda/python/Lib/site-packages/wx/lib/masked/ctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/masked/ipaddrctrl.py b/panda/python/Lib/site-packages/wx/lib/masked/ipaddrctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/masked/maskededit.py b/panda/python/Lib/site-packages/wx/lib/masked/maskededit.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/masked/numctrl.py b/panda/python/Lib/site-packages/wx/lib/masked/numctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/masked/textctrl.py b/panda/python/Lib/site-packages/wx/lib/masked/textctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/masked/timectrl.py b/panda/python/Lib/site-packages/wx/lib/masked/timectrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/mixins/__init__.py b/panda/python/Lib/site-packages/wx/lib/mixins/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/mixins/grid.py b/panda/python/Lib/site-packages/wx/lib/mixins/grid.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/mixins/gridlabelrenderer.py b/panda/python/Lib/site-packages/wx/lib/mixins/gridlabelrenderer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/mixins/imagelist.py b/panda/python/Lib/site-packages/wx/lib/mixins/imagelist.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/mixins/inspection.py b/panda/python/Lib/site-packages/wx/lib/mixins/inspection.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/mixins/listctrl.py b/panda/python/Lib/site-packages/wx/lib/mixins/listctrl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/mixins/rubberband.py b/panda/python/Lib/site-packages/wx/lib/mixins/rubberband.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/mixins/treemixin.py b/panda/python/Lib/site-packages/wx/lib/mixins/treemixin.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/msgpanel.py b/panda/python/Lib/site-packages/wx/lib/msgpanel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/multisash.py b/panda/python/Lib/site-packages/wx/lib/multisash.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/mvctree.py b/panda/python/Lib/site-packages/wx/lib/mvctree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/myole4ax.idl b/panda/python/Lib/site-packages/wx/lib/myole4ax.idl old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/myole4ax.tlb b/panda/python/Lib/site-packages/wx/lib/myole4ax.tlb old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/newevent.py b/panda/python/Lib/site-packages/wx/lib/newevent.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/nvdlg.py b/panda/python/Lib/site-packages/wx/lib/nvdlg.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/__init__.py b/panda/python/Lib/site-packages/wx/lib/ogl/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/basic.py b/panda/python/Lib/site-packages/wx/lib/ogl/basic.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/bmpshape.py b/panda/python/Lib/site-packages/wx/lib/ogl/bmpshape.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/canvas.py b/panda/python/Lib/site-packages/wx/lib/ogl/canvas.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/composit.py b/panda/python/Lib/site-packages/wx/lib/ogl/composit.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/diagram.py b/panda/python/Lib/site-packages/wx/lib/ogl/diagram.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/divided.py b/panda/python/Lib/site-packages/wx/lib/ogl/divided.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/drawn.py b/panda/python/Lib/site-packages/wx/lib/ogl/drawn.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/lines.py b/panda/python/Lib/site-packages/wx/lib/ogl/lines.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ogl/oglmisc.py b/panda/python/Lib/site-packages/wx/lib/ogl/oglmisc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/__init__.py b/panda/python/Lib/site-packages/wx/lib/pdfviewer/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bezier.py b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bezier.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ArrowLeft.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ArrowLeft.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ArrowRight.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ArrowRight.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/DirectionH.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/DirectionH.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/DirectionV.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/DirectionV.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerFirst.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerFirst.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerLast.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerLast.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerNext.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerNext.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerPrev.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/PlayerPrev.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/Printer.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/Printer.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ReadMe.txt b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ReadMe.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/Save.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/Save.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ZoomIn.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ZoomIn.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ZoomOut.png b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/ZoomOut.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/encode_bitmaps.py b/panda/python/Lib/site-packages/wx/lib/pdfviewer/bitmaps/encode_bitmaps.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/buttonpanel.py b/panda/python/Lib/site-packages/wx/lib/pdfviewer/buttonpanel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/dcgraphics.py b/panda/python/Lib/site-packages/wx/lib/pdfviewer/dcgraphics.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/images.py b/panda/python/Lib/site-packages/wx/lib/pdfviewer/images.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/vec2d.py b/panda/python/Lib/site-packages/wx/lib/pdfviewer/vec2d.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfviewer/viewer.py b/panda/python/Lib/site-packages/wx/lib/pdfviewer/viewer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfwin.py b/panda/python/Lib/site-packages/wx/lib/pdfwin.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pdfwin_old.py b/panda/python/Lib/site-packages/wx/lib/pdfwin_old.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/platebtn.py b/panda/python/Lib/site-packages/wx/lib/platebtn.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/plot.py b/panda/python/Lib/site-packages/wx/lib/plot.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/popupctl.py b/panda/python/Lib/site-packages/wx/lib/popupctl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/printout.py b/panda/python/Lib/site-packages/wx/lib/printout.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/progressindicator.py b/panda/python/Lib/site-packages/wx/lib/progressindicator.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/LICENSE_BSD_Simple.txt b/panda/python/Lib/site-packages/wx/lib/pubsub/LICENSE_BSD_Simple.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/README.txt b/panda/python/Lib/site-packages/wx/lib/pubsub/README.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/README_WxPython.txt b/panda/python/Lib/site-packages/wx/lib/pubsub/README_WxPython.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/RELEASE_NOTES.txt b/panda/python/Lib/site-packages/wx/lib/pubsub/RELEASE_NOTES.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/__init__.py b/panda/python/Lib/site-packages/wx/lib/pubsub/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/__init__.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/__init__.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/listenerimpl.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/listenerimpl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/publisher.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/publisher.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/publishermixin.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/publishermixin.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/topicargspecimpl.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/topicargspecimpl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/topicmgrimpl.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/arg1/topicmgrimpl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/callables.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/callables.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/imp2.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/imp2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/itopicdefnprovider.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/itopicdefnprovider.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/__init__.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/datamsg.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/datamsg.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/listenerimpl.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/listenerimpl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/publisher.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/publisher.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/publishermixin.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/publishermixin.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/topicargspecimpl.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/topicargspecimpl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/topicmgrimpl.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/kwargs/topicmgrimpl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/listener.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/listener.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/listenerbase.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/listenerbase.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/notificationmgr.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/notificationmgr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/publisherbase.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/publisherbase.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicargspec.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicargspec.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicdefnprovider.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicdefnprovider.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicexc.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicexc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicmgr.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicmgr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicobj.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicobj.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/topictreetraverser.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/topictreetraverser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicutils.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/topicutils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/treeconfig.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/treeconfig.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/validatedefnargs.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/validatedefnargs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/core/weakmethod.py b/panda/python/Lib/site-packages/wx/lib/pubsub/core/weakmethod.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/README.txt b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/README.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_listeners.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_listeners.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_senders.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_senders.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_topics.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_topics.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_topics_out.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/arg1_topics_out.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/exchandle.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/exchandle.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_listeners.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_listeners.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_senders.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_senders.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_topics.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_topics.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_topics_out.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/kwargs_topics_out.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/main_arg1.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/main_arg1.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/main_kwargs.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/main_kwargs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/notifhandle.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/advanced/notifhandle.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/README.txt b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/README.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/console_listeners.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/console_listeners.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/console_main.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/console_main.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/console_senders.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/console_senders.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/wx_main.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_arg1/wx_main.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/README.txt b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/README.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/console_listeners.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/console_listeners.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/console_main.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/console_main.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/console_senders.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/console_senders.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/wx_main.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/wx_main.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/wx_win1.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/wx_win1.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/wx_win2.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/basic_kwargs/wx_win2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/multithreadloop.py b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/multithreadloop.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/runall.bat b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/runall.bat old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/examples/runall_regression.txt b/panda/python/Lib/site-packages/wx/lib/pubsub/examples/runall_regression.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/policies.py b/panda/python/Lib/site-packages/wx/lib/pubsub/policies.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/pub.py b/panda/python/Lib/site-packages/wx/lib/pubsub/pub.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/py2and3.py b/panda/python/Lib/site-packages/wx/lib/pubsub/py2and3.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/setuparg1.py b/panda/python/Lib/site-packages/wx/lib/pubsub/setuparg1.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/setupkwargs.py b/panda/python/Lib/site-packages/wx/lib/pubsub/setupkwargs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/utils/__init__.py b/panda/python/Lib/site-packages/wx/lib/pubsub/utils/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/utils/exchandling.py b/panda/python/Lib/site-packages/wx/lib/pubsub/utils/exchandling.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/utils/misc.py b/panda/python/Lib/site-packages/wx/lib/pubsub/utils/misc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/utils/notification.py b/panda/python/Lib/site-packages/wx/lib/pubsub/utils/notification.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/utils/topictreeprinter.py b/panda/python/Lib/site-packages/wx/lib/pubsub/utils/topictreeprinter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pubsub/utils/xmltopicdefnprovider.py b/panda/python/Lib/site-packages/wx/lib/pubsub/utils/xmltopicdefnprovider.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/pydocview.py b/panda/python/Lib/site-packages/wx/lib/pydocview.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/rcsizer.py b/panda/python/Lib/site-packages/wx/lib/rcsizer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/resizewidget.py b/panda/python/Lib/site-packages/wx/lib/resizewidget.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/rpcMixin.py b/panda/python/Lib/site-packages/wx/lib/rpcMixin.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/scrolledpanel.py b/panda/python/Lib/site-packages/wx/lib/scrolledpanel.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/sheet.py b/panda/python/Lib/site-packages/wx/lib/sheet.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/six.py b/panda/python/Lib/site-packages/wx/lib/six.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/sized_controls.py b/panda/python/Lib/site-packages/wx/lib/sized_controls.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/softwareupdate.py b/panda/python/Lib/site-packages/wx/lib/softwareupdate.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/splitter.py b/panda/python/Lib/site-packages/wx/lib/splitter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/statbmp.py b/panda/python/Lib/site-packages/wx/lib/statbmp.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/stattext.py b/panda/python/Lib/site-packages/wx/lib/stattext.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/throbber.py b/panda/python/Lib/site-packages/wx/lib/throbber.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ticker.py b/panda/python/Lib/site-packages/wx/lib/ticker.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/ticker_xrc.py b/panda/python/Lib/site-packages/wx/lib/ticker_xrc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/utils.py b/panda/python/Lib/site-packages/wx/lib/utils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/wordwrap.py b/panda/python/Lib/site-packages/wx/lib/wordwrap.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/wxcairo.py b/panda/python/Lib/site-packages/wx/lib/wxcairo.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/lib/wxpTag.py b/panda/python/Lib/site-packages/wx/lib/wxpTag.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/libcairo-2.dll b/panda/python/Lib/site-packages/wx/libcairo-2.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/libcairo-gobject-2.dll b/panda/python/Lib/site-packages/wx/libcairo-gobject-2.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/libcairo-script-interpreter-2.dll b/panda/python/Lib/site-packages/wx/libcairo-script-interpreter-2.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/libexpat-1.dll b/panda/python/Lib/site-packages/wx/libexpat-1.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/libfontconfig-1.dll b/panda/python/Lib/site-packages/wx/libfontconfig-1.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/libpng14-14.dll b/panda/python/Lib/site-packages/wx/libpng14-14.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/CHANGES.txt b/panda/python/Lib/site-packages/wx/py/CHANGES.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/Py.ico b/panda/python/Lib/site-packages/wx/py/Py.ico old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyAlaCarte.py b/panda/python/Lib/site-packages/wx/py/PyAlaCarte.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyAlaMode.py b/panda/python/Lib/site-packages/wx/py/PyAlaMode.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyAlaModeTest.py b/panda/python/Lib/site-packages/wx/py/PyAlaModeTest.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyCrust.ico b/panda/python/Lib/site-packages/wx/py/PyCrust.ico old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyCrust.py b/panda/python/Lib/site-packages/wx/py/PyCrust.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyCrust_16.png b/panda/python/Lib/site-packages/wx/py/PyCrust_16.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyCrust_32.png b/panda/python/Lib/site-packages/wx/py/PyCrust_32.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyFilling.py b/panda/python/Lib/site-packages/wx/py/PyFilling.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyShell.py b/panda/python/Lib/site-packages/wx/py/PyShell.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PySlices.ico b/panda/python/Lib/site-packages/wx/py/PySlices.ico old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PySlices.py b/panda/python/Lib/site-packages/wx/py/PySlices.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PySlicesShell.py b/panda/python/Lib/site-packages/wx/py/PySlicesShell.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PySlices_16.png b/panda/python/Lib/site-packages/wx/py/PySlices_16.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PySlices_32.png b/panda/python/Lib/site-packages/wx/py/PySlices_32.png old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/PyWrap.py b/panda/python/Lib/site-packages/wx/py/PyWrap.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/README.txt b/panda/python/Lib/site-packages/wx/py/README.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/__init__.py b/panda/python/Lib/site-packages/wx/py/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/buffer.py b/panda/python/Lib/site-packages/wx/py/buffer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/crust.py b/panda/python/Lib/site-packages/wx/py/crust.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/crustslices.py b/panda/python/Lib/site-packages/wx/py/crustslices.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/dispatcher.py b/panda/python/Lib/site-packages/wx/py/dispatcher.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/document.py b/panda/python/Lib/site-packages/wx/py/document.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/editor.py b/panda/python/Lib/site-packages/wx/py/editor.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/editwindow.py b/panda/python/Lib/site-packages/wx/py/editwindow.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/filling.py b/panda/python/Lib/site-packages/wx/py/filling.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/frame.py b/panda/python/Lib/site-packages/wx/py/frame.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/images.py b/panda/python/Lib/site-packages/wx/py/images.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/interpreter.py b/panda/python/Lib/site-packages/wx/py/interpreter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/introspect.py b/panda/python/Lib/site-packages/wx/py/introspect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/magic.py b/panda/python/Lib/site-packages/wx/py/magic.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/parse.py b/panda/python/Lib/site-packages/wx/py/parse.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/path.py b/panda/python/Lib/site-packages/wx/py/path.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/pseudo.py b/panda/python/Lib/site-packages/wx/py/pseudo.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/shell.py b/panda/python/Lib/site-packages/wx/py/shell.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/sliceshell.py b/panda/python/Lib/site-packages/wx/py/sliceshell.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/tests/test_interpreter.py b/panda/python/Lib/site-packages/wx/py/tests/test_interpreter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/tests/test_introspect.py b/panda/python/Lib/site-packages/wx/py/tests/test_introspect.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/tests/test_pseudo.py b/panda/python/Lib/site-packages/wx/py/tests/test_pseudo.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/tests/test_version.py b/panda/python/Lib/site-packages/wx/py/tests/test_version.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/tests/testall.py b/panda/python/Lib/site-packages/wx/py/tests/testall.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/py/version.py b/panda/python/Lib/site-packages/wx/py/version.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/richtext.pi b/panda/python/Lib/site-packages/wx/richtext.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/richtext.py b/panda/python/Lib/site-packages/wx/richtext.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/siplib.pyd b/panda/python/Lib/site-packages/wx/siplib.pyd old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/stc.pi b/panda/python/Lib/site-packages/wx/stc.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/stc.py b/panda/python/Lib/site-packages/wx/stc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/tools/__init__.py b/panda/python/Lib/site-packages/wx/tools/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/tools/dbg.py b/panda/python/Lib/site-packages/wx/tools/dbg.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/tools/genaxmodule.py b/panda/python/Lib/site-packages/wx/tools/genaxmodule.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/tools/helpviewer.py b/panda/python/Lib/site-packages/wx/tools/helpviewer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/tools/img2img.py b/panda/python/Lib/site-packages/wx/tools/img2img.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/tools/img2png.py b/panda/python/Lib/site-packages/wx/tools/img2png.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/tools/img2py.py b/panda/python/Lib/site-packages/wx/tools/img2py.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/tools/img2xpm.py b/panda/python/Lib/site-packages/wx/tools/img2xpm.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/tools/pywxrc.py b/panda/python/Lib/site-packages/wx/tools/pywxrc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/webkit.pi b/panda/python/Lib/site-packages/wx/webkit.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/webkit.py b/panda/python/Lib/site-packages/wx/webkit.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxbase30u_net_vc90.dll b/panda/python/Lib/site-packages/wx/wxbase30u_net_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxbase30u_vc90.dll b/panda/python/Lib/site-packages/wx/wxbase30u_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxbase30u_xml_vc90.dll b/panda/python/Lib/site-packages/wx/wxbase30u_xml_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_adv_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_adv_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_aui_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_aui_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_core_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_core_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_gl_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_gl_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_html_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_html_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_media_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_media_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_propgrid_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_propgrid_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_qa_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_qa_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_ribbon_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_ribbon_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_richtext_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_richtext_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_stc_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_stc_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_webview_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_webview_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/wxmsw30u_xrc_vc90.dll b/panda/python/Lib/site-packages/wx/wxmsw30u_xrc_vc90.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/xml.pi b/panda/python/Lib/site-packages/wx/xml.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/xml.py b/panda/python/Lib/site-packages/wx/xml.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/xrc.pi b/panda/python/Lib/site-packages/wx/xrc.pi old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/xrc.py b/panda/python/Lib/site-packages/wx/xrc.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wx/zlib1.dll b/panda/python/Lib/site-packages/wx/zlib1.dll old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/DESCRIPTION.rst b/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/DESCRIPTION.rst old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/METADATA b/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/METADATA old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/RECORD b/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/RECORD old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/WHEEL b/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/WHEEL old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/entry_points.txt b/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/entry_points.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/top_level.txt b/panda/python/Lib/site-packages/wxPython_Phoenix-3.0.3.dev1712+dcd5d1d.dist-info/top_level.txt old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/__init__.py b/panda/python/Lib/site-packages/yaml/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/composer.py b/panda/python/Lib/site-packages/yaml/composer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/constructor.py b/panda/python/Lib/site-packages/yaml/constructor.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/cyaml.py b/panda/python/Lib/site-packages/yaml/cyaml.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/dumper.py b/panda/python/Lib/site-packages/yaml/dumper.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/emitter.py b/panda/python/Lib/site-packages/yaml/emitter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/error.py b/panda/python/Lib/site-packages/yaml/error.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/events.py b/panda/python/Lib/site-packages/yaml/events.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/loader.py b/panda/python/Lib/site-packages/yaml/loader.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/nodes.py b/panda/python/Lib/site-packages/yaml/nodes.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/parser.py b/panda/python/Lib/site-packages/yaml/parser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/reader.py b/panda/python/Lib/site-packages/yaml/reader.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/representer.py b/panda/python/Lib/site-packages/yaml/representer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/resolver.py b/panda/python/Lib/site-packages/yaml/resolver.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/scanner.py b/panda/python/Lib/site-packages/yaml/scanner.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/serializer.py b/panda/python/Lib/site-packages/yaml/serializer.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site-packages/yaml/tokens.py b/panda/python/Lib/site-packages/yaml/tokens.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/site.py b/panda/python/Lib/site.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/smartroom/BeyondQuestion.py b/panda/python/Lib/smartroom/BeyondQuestion.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/smartroom/__init__.py b/panda/python/Lib/smartroom/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/smtpd.py b/panda/python/Lib/smtpd.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/smtplib.py b/panda/python/Lib/smtplib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sndhdr.py b/panda/python/Lib/sndhdr.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/socket.py b/panda/python/Lib/socket.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sqlite3/__init__.py b/panda/python/Lib/sqlite3/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sqlite3/dbapi2.py b/panda/python/Lib/sqlite3/dbapi2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sqlite3/dump.py b/panda/python/Lib/sqlite3/dump.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sre.py b/panda/python/Lib/sre.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sre_compile.py b/panda/python/Lib/sre_compile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sre_constants.py b/panda/python/Lib/sre_constants.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sre_parse.py b/panda/python/Lib/sre_parse.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/ssl.py b/panda/python/Lib/ssl.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/stat.py b/panda/python/Lib/stat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/statvfs.py b/panda/python/Lib/statvfs.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/string.py b/panda/python/Lib/string.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/stringold.py b/panda/python/Lib/stringold.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/stringprep.py b/panda/python/Lib/stringprep.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/struct.py b/panda/python/Lib/struct.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/subprocess.py b/panda/python/Lib/subprocess.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sunau.py b/panda/python/Lib/sunau.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sunaudio.py b/panda/python/Lib/sunaudio.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/symbol.py b/panda/python/Lib/symbol.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/symtable.py b/panda/python/Lib/symtable.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/sysconfig.py b/panda/python/Lib/sysconfig.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/tabnanny.py b/panda/python/Lib/tabnanny.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/tarfile.py b/panda/python/Lib/tarfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/telnetlib.py b/panda/python/Lib/telnetlib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/tempfile.py b/panda/python/Lib/tempfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/textwrap.py b/panda/python/Lib/textwrap.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/this.py b/panda/python/Lib/this.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/threading.py b/panda/python/Lib/threading.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/timeit.py b/panda/python/Lib/timeit.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/toaiff.py b/panda/python/Lib/toaiff.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/token.py b/panda/python/Lib/token.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/tokenize.py b/panda/python/Lib/tokenize.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/trace.py b/panda/python/Lib/trace.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/traceback.py b/panda/python/Lib/traceback.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/tty.py b/panda/python/Lib/tty.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/types.py b/panda/python/Lib/types.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/__init__.py b/panda/python/Lib/unittest/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/__main__.py b/panda/python/Lib/unittest/__main__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/case.py b/panda/python/Lib/unittest/case.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/loader.py b/panda/python/Lib/unittest/loader.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/main.py b/panda/python/Lib/unittest/main.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/result.py b/panda/python/Lib/unittest/result.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/runner.py b/panda/python/Lib/unittest/runner.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/signals.py b/panda/python/Lib/unittest/signals.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/suite.py b/panda/python/Lib/unittest/suite.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/unittest/util.py b/panda/python/Lib/unittest/util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/urllib.py b/panda/python/Lib/urllib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/urllib2.py b/panda/python/Lib/urllib2.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/urlparse.py b/panda/python/Lib/urlparse.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/user.py b/panda/python/Lib/user.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/uu.py b/panda/python/Lib/uu.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/uuid.py b/panda/python/Lib/uuid.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/warnings.py b/panda/python/Lib/warnings.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/wave.py b/panda/python/Lib/wave.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/weakref.py b/panda/python/Lib/weakref.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/webbrowser.py b/panda/python/Lib/webbrowser.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/whichdb.py b/panda/python/Lib/whichdb.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/wsgiref/__init__.py b/panda/python/Lib/wsgiref/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/wsgiref/handlers.py b/panda/python/Lib/wsgiref/handlers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/wsgiref/headers.py b/panda/python/Lib/wsgiref/headers.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/wsgiref/simple_server.py b/panda/python/Lib/wsgiref/simple_server.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/wsgiref/util.py b/panda/python/Lib/wsgiref/util.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/wsgiref/validate.py b/panda/python/Lib/wsgiref/validate.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xdrlib.py b/panda/python/Lib/xdrlib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/__init__.py b/panda/python/Lib/xml/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/dom/NodeFilter.py b/panda/python/Lib/xml/dom/NodeFilter.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/dom/__init__.py b/panda/python/Lib/xml/dom/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/dom/domreg.py b/panda/python/Lib/xml/dom/domreg.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/dom/expatbuilder.py b/panda/python/Lib/xml/dom/expatbuilder.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/dom/minicompat.py b/panda/python/Lib/xml/dom/minicompat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/dom/minidom.py b/panda/python/Lib/xml/dom/minidom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/dom/pulldom.py b/panda/python/Lib/xml/dom/pulldom.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/dom/xmlbuilder.py b/panda/python/Lib/xml/dom/xmlbuilder.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/etree/ElementInclude.py b/panda/python/Lib/xml/etree/ElementInclude.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/etree/ElementPath.py b/panda/python/Lib/xml/etree/ElementPath.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/etree/ElementTree.py b/panda/python/Lib/xml/etree/ElementTree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/etree/__init__.py b/panda/python/Lib/xml/etree/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/etree/cElementTree.py b/panda/python/Lib/xml/etree/cElementTree.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/parsers/__init__.py b/panda/python/Lib/xml/parsers/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/parsers/expat.py b/panda/python/Lib/xml/parsers/expat.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/sax/__init__.py b/panda/python/Lib/xml/sax/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/sax/_exceptions.py b/panda/python/Lib/xml/sax/_exceptions.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/sax/expatreader.py b/panda/python/Lib/xml/sax/expatreader.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/sax/handler.py b/panda/python/Lib/xml/sax/handler.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/sax/saxutils.py b/panda/python/Lib/xml/sax/saxutils.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xml/sax/xmlreader.py b/panda/python/Lib/xml/sax/xmlreader.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xmllib.py b/panda/python/Lib/xmllib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/xmlrpclib.py b/panda/python/Lib/xmlrpclib.py old mode 100644 new mode 100755 diff --git a/panda/python/Lib/zipfile.py b/panda/python/Lib/zipfile.py old mode 100644 new mode 100755 diff --git a/panda/python/Microsoft.VC90.CRT.manifest b/panda/python/Microsoft.VC90.CRT.manifest old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/easy_install-2.7-script.py b/panda/python/Scripts/easy_install-2.7-script.py old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/easy_install-2.7.exe b/panda/python/Scripts/easy_install-2.7.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/easy_install-2.7.exe.manifest b/panda/python/Scripts/easy_install-2.7.exe.manifest old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/easy_install-script.py b/panda/python/Scripts/easy_install-script.py old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/easy_install.exe b/panda/python/Scripts/easy_install.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/easy_install.exe.manifest b/panda/python/Scripts/easy_install.exe.manifest old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/helpviewer.exe b/panda/python/Scripts/helpviewer.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/img2png.exe b/panda/python/Scripts/img2png.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/img2py.exe b/panda/python/Scripts/img2py.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/img2xpm.exe b/panda/python/Scripts/img2xpm.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pip-script.py b/panda/python/Scripts/pip-script.py old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pip.exe b/panda/python/Scripts/pip.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pip.exe.manifest b/panda/python/Scripts/pip.exe.manifest old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pip2-script.py b/panda/python/Scripts/pip2-script.py old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pip2.7-script.py b/panda/python/Scripts/pip2.7-script.py old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pip2.7.exe b/panda/python/Scripts/pip2.7.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pip2.7.exe.manifest b/panda/python/Scripts/pip2.7.exe.manifest old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pip2.exe b/panda/python/Scripts/pip2.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pip2.exe.manifest b/panda/python/Scripts/pip2.exe.manifest old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pycrust.exe b/panda/python/Scripts/pycrust.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pyshell.exe b/panda/python/Scripts/pyshell.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pyslices.exe b/panda/python/Scripts/pyslices.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pyslicesshell.exe b/panda/python/Scripts/pyslicesshell.exe old mode 100644 new mode 100755 diff --git a/panda/python/Scripts/pywxrc.exe b/panda/python/Scripts/pywxrc.exe old mode 100644 new mode 100755 diff --git a/panda/python/__init__.py b/panda/python/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/msvcr90.dll b/panda/python/msvcr90.dll old mode 100644 new mode 100755 diff --git a/panda/python/panda.pth b/panda/python/panda.pth old mode 100644 new mode 100755 diff --git a/panda/python/ppython.exe b/panda/python/ppython.exe old mode 100644 new mode 100755 diff --git a/panda/python/ppythonw.exe b/panda/python/ppythonw.exe old mode 100644 new mode 100755 diff --git a/panda/python/python.exe b/panda/python/python.exe old mode 100644 new mode 100755 diff --git a/panda/python/python27.dll b/panda/python/python27.dll old mode 100644 new mode 100755 diff --git a/panda/python/pythonw.exe b/panda/python/pythonw.exe old mode 100644 new mode 100755 diff --git a/panda/python/w9xpopen.exe b/panda/python/w9xpopen.exe old mode 100644 new mode 100755 diff --git a/start_game_remotedb.bat b/start_game_remotedb.bat new file mode 100755 index 00000000..dd0621fa --- /dev/null +++ b/start_game_remotedb.bat @@ -0,0 +1,35 @@ +@echo off + +rem Read the contents of PPYTHON_PATH into %PPYTHON_PATH%: +set /P PPYTHON_PATH= AES.block_size: + self.notify.warning('account-server-secret is too big!') + accountServerSecret = accountServerSecret[:AES.block_size] + elif len(accountServerSecret) < AES.block_size: + self.notify.warning('account-server-secret is too small!') + accountServerSecret += '\x80' + while len(accountServerSecret) < AES.block_size: + accountServerSecret += '\x00' + + # Take the initialization vector off the front of the token: + iv = token[:AES.block_size] + + # Truncate the token to get our cipher text: + cipherText = token[AES.block_size:] + + # Decrypt! + cipher = AES.new(accountServerSecret, mode=AES.MODE_CBC, IV=iv) + try: + token = json.loads(cipher.decrypt(cipherText).replace('\x00', '')) + if ('timestamp' not in token) or (not isinstance(token['timestamp'], int)): + raise ValueError + if ('userid' not in token) or (not isinstance(token['userid'], int)): + raise ValueError + if ('accesslevel' not in token) or (not isinstance(token['accesslevel'], int)): + raise ValueError + except ValueError, e: + print e + self.notify.warning('Invalid token.') response = { 'success': False, - 'reason': "Couldn't contact login server." + 'reason': 'Invalid token.' } callback(response) return response - username = str(cookie['username']) - response = { - 'success': True, - 'userId': username, - 'accountId': int(self.dbm[username]) if username in self.dbm else 0, - 'accessLevel': max(cookie['accessLevel'], minAccessLevel) - } - callback(response) - return response + # Next, check if this token has expired: + expiration = simbase.config.GetInt('account-token-expiration', 1800) + tokenDelta = int(time.time()) - token['timestamp'] + if tokenDelta > expiration: + response = { + 'success': False, + 'reason': 'This token has expired.' + } + callback(response) + return response + + # This token is valid. That's all we need to know. Next, let's check if + # this user's ID is in your account database bridge: + if str(token['userid']) not in self.dbm: + + # Nope. Let's associate them with a brand new Account object! + response = { + 'success': True, + 'userId': token['userid'], + 'accountId': 0, + 'accessLevel': max(int(token['accesslevel']), minAccessLevel) + } + callback(response) + return response + + else: + + # Yep. Let's return their account ID and access level! + response = { + 'success': True, + 'userId': token['userid'], + 'accountId': int(self.dbm[str(token['userid'])]), + 'accessLevel': max(int(token['accesslevel']), minAccessLevel) + } + callback(response) + return response # --- FSMs --- diff --git a/toontown/uberdog/DistributedPartyManager.py b/toontown/uberdog/DistributedPartyManager.py old mode 100644 new mode 100755 diff --git a/toontown/uberdog/DistributedPartyManagerAI.py b/toontown/uberdog/DistributedPartyManagerAI.py old mode 100644 new mode 100755 diff --git a/toontown/uberdog/DistributedPartyManagerUD.py b/toontown/uberdog/DistributedPartyManagerUD.py old mode 100644 new mode 100755 diff --git a/toontown/uberdog/NameJudgeBlacklist.py b/toontown/uberdog/NameJudgeBlacklist.py old mode 100644 new mode 100755 diff --git a/toontown/uberdog/ServiceStart.py b/toontown/uberdog/ServiceStart.py old mode 100644 new mode 100755 diff --git a/toontown/uberdog/ToontownUberRepository.py b/toontown/uberdog/ToontownUberRepository.py old mode 100644 new mode 100755 diff --git a/toontown/uberdog/__init__.py b/toontown/uberdog/__init__.py old mode 100644 new mode 100755 diff --git a/ud.bat b/ud.bat old mode 100644 new mode 100755 From 6f93be4677a048c9c13db5955ca63ed7f6740614 Mon Sep 17 00:00:00 2001 From: Master Jumblespeed Date: Mon, 18 May 2015 22:28:54 -0400 Subject: [PATCH 56/78] fixes --- toontown/toonbase/ClientStartRemoteDB.py | 2 +- toontown/uberdog/ClientServicesManagerUD.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/toontown/toonbase/ClientStartRemoteDB.py b/toontown/toonbase/ClientStartRemoteDB.py index 264a140b..df27236d 100755 --- a/toontown/toonbase/ClientStartRemoteDB.py +++ b/toontown/toonbase/ClientStartRemoteDB.py @@ -10,7 +10,7 @@ password = os.environ['ttsPassword'] accountServerEndpoint = ConfigVariableString( 'account-server-endpoint', - 'http://tigercat1.me/tmpremote/api2/').getValue() + 'http://tigercat1.me/tmpremote/api/').getValue() request = requests.post( accountServerEndpoint + 'login/', data={'n': username, 'p': password}) diff --git a/toontown/uberdog/ClientServicesManagerUD.py b/toontown/uberdog/ClientServicesManagerUD.py index 4cfca9e9..2a1e395f 100755 --- a/toontown/uberdog/ClientServicesManagerUD.py +++ b/toontown/uberdog/ClientServicesManagerUD.py @@ -30,7 +30,7 @@ if accountDBType == 'remote': minAccessLevel = simbase.config.GetInt('min-access-level', 100) accountServerEndpoint = simbase.config.GetString( - 'account-server-endpoint', 'http://tigercat1.me/tmpremote/api2/') + 'account-server-endpoint', 'http://tigercat1.me/tmpremote/api/') accountServerSecret = simbase.config.GetString( 'account-server-secret', '9sj6816aj1hs795j') @@ -40,7 +40,7 @@ http.setVerifySsl(0) def executeHttpRequest(url, **extras): - request = urllib2.Request('http://tigercat1.me/tmpremote/api2/' + url) + request = urllib2.Request('http://tigercat1.me/tmpremote/api/' + url) timestamp = str(int(time.time())) signature = hashlib.sha256(timestamp + accountServerSecret + "h*^ahJGHA017JI&A&*uyhU07") request.add_header('User-Agent', 'TTS-CSM') From d152858eb0907df94936d776a367d1b9707834aa Mon Sep 17 00:00:00 2001 From: Loudrob Date: Thu, 21 May 2015 08:53:29 -0400 Subject: [PATCH 57/78] Steve should set this himself. --- PPYTHON_PATH | 2 +- config/release/dev.prc | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/PPYTHON_PATH b/PPYTHON_PATH index c2b0c1a9..66147717 100755 --- a/PPYTHON_PATH +++ b/PPYTHON_PATH @@ -1 +1 @@ -"panda/python/ppython.exe" +"C:\Panda3D-1.9.0\python\ppython.exe" diff --git a/config/release/dev.prc b/config/release/dev.prc index 6a803caa..abe0cfd7 100755 --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -6,13 +6,13 @@ model-path ../resources/ # Server: server-version tts-dev -min-access-level 100 -accountdb-type remote +min-access-level 700 +accountdb-type developer shard-low-pop 50 shard-mid-pop 100 # RPC: -want-rpc-server #t +want-rpc-server #f rpc-server-endpoint http://localhost:8080/ # DClass file: From 0c821714cb5dc451ddbb4626d04f11575bfaef6a Mon Sep 17 00:00:00 2001 From: codexavier Date: Thu, 21 May 2015 15:58:12 -0400 Subject: [PATCH 58/78] Update start_game_remotedb.bat Probably less confusing (IMO tbh), just small edit. --- start_game_remotedb.bat | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/start_game_remotedb.bat b/start_game_remotedb.bat index dd0621fa..758a000f 100755 --- a/start_game_remotedb.bat +++ b/start_game_remotedb.bat @@ -1,5 +1,6 @@ @echo off +title TTS Remote DB Launcher rem Read the contents of PPYTHON_PATH into %PPYTHON_PATH%: set /P PPYTHON_PATH= Date: Thu, 21 May 2015 16:17:05 -0400 Subject: [PATCH 59/78] can we not k --- PPYTHON_PATH | 2 +- config/release/dev.prc | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/PPYTHON_PATH b/PPYTHON_PATH index 66147717..48943fdf 100755 --- a/PPYTHON_PATH +++ b/PPYTHON_PATH @@ -1 +1 @@ -"C:\Panda3D-1.9.0\python\ppython.exe" +"panda/python/ppython.exe" \ No newline at end of file diff --git a/config/release/dev.prc b/config/release/dev.prc index abe0cfd7..6a803caa 100755 --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -6,13 +6,13 @@ model-path ../resources/ # Server: server-version tts-dev -min-access-level 700 -accountdb-type developer +min-access-level 100 +accountdb-type remote shard-low-pop 50 shard-mid-pop 100 # RPC: -want-rpc-server #f +want-rpc-server #t rpc-server-endpoint http://localhost:8080/ # DClass file: From 36c45ceae8a58a0f8e2607a6d129d4587c789ceb Mon Sep 17 00:00:00 2001 From: Master Jumblespeed Date: Thu, 21 May 2015 16:46:16 -0400 Subject: [PATCH 60/78] update tools --- tools/.gitignore | 2 + tools/build_client.py | 34 ++++++ tools/example.py | 14 --- tools/final_dev_client_pyd_build.bat | 11 ++ tools/gentoken.py | 16 --- tools/key.txt | 0 tools/prepare_client.py | 172 +++++++++++++++++++++++++++ 7 files changed, 219 insertions(+), 30 deletions(-) create mode 100755 tools/.gitignore create mode 100755 tools/build_client.py delete mode 100755 tools/example.py create mode 100755 tools/final_dev_client_pyd_build.bat delete mode 100755 tools/gentoken.py delete mode 100755 tools/key.txt create mode 100755 tools/prepare_client.py diff --git a/tools/.gitignore b/tools/.gitignore new file mode 100755 index 00000000..266d0b73 --- /dev/null +++ b/tools/.gitignore @@ -0,0 +1,2 @@ +build +build/* \ No newline at end of file diff --git a/tools/build_client.py b/tools/build_client.py new file mode 100755 index 00000000..a5d445b6 --- /dev/null +++ b/tools/build_client.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python2 +import os +import sys + +import argparse + + +parser = argparse.ArgumentParser() +parser.add_argument('--build-dir', default='build', + help='The directory of which the build was prepared.') +parser.add_argument('--output', default='GameData.pyd', + help='The built file.') +parser.add_argument('--main-module', default='toontown.toonbase.ClientStart', + help='The module to load at the start of the game.') +parser.add_argument('modules', nargs='*', default=['otp', 'toontown'], + help='The Toontown Stride modules to be included in the build.') +args = parser.parse_args() + +print 'Building the client...' + +os.chdir(args.build_dir) + +cmd = sys.executable + ' -m direct.showutil.pfreeze' +args.modules.extend(['direct', 'pandac']) +for module in args.modules: + cmd += ' -i %s.*.*' % module +cmd += ' -i encodings.*' +cmd += ' -i base64' +cmd += ' -i site' +cmd += ' -o ' + args.output +cmd += ' ' + args.main_module +os.system(cmd) + +print 'Done building the client.' diff --git a/tools/example.py b/tools/example.py deleted file mode 100755 index cf611b4c..00000000 --- a/tools/example.py +++ /dev/null @@ -1,14 +0,0 @@ -import urllib2 - -def executeHttpRequest(url, agent, **extras): - request = urllib2.Request('http://127.0.0.1:45749/' + url) - request.add_header('User-Agent', 'TTS-' + agent) - request.add_header('Secret-Key', '1X5oN69^#0^fCw7s#uyQTWYJ!8m9z!6Midphf90gMQYl*L5Uy!Ri5KTP6@BbZ5#Tlm37bJAI') - for k, v in extras.items(): - request.add_header(k, v) - try: - return urllib2.urlopen(request).read() - except: - return None - -print executeHttpRequest('ban', 'Game', username='dev', enddate=1428408418062, comment='asshole') diff --git a/tools/final_dev_client_pyd_build.bat b/tools/final_dev_client_pyd_build.bat new file mode 100755 index 00000000..4bd6ac5d --- /dev/null +++ b/tools/final_dev_client_pyd_build.bat @@ -0,0 +1,11 @@ +@echo off +rem NOTE: This must be run from the visual c++ 2008 32 bit command prompt! +set PPYTHON_PATH="C:/Panda3D-1.9.0/python/ppython.exe" +echo ppython path: %PPYTHON_PATH% +%PPYTHON_PATH% prepare_client.py --distribution dev +echo Preparing client done! +echo Time to build client. +%PPYTHON_PATH% build_client.py --main-module toontown.toonbase.ClientStartRemoteDB +rem ClientStartRemoteDB requires ttsUsername and ttsPassword +echo Done! The PYD is in /build/GameData.pyd. +pause \ No newline at end of file diff --git a/tools/gentoken.py b/tools/gentoken.py deleted file mode 100755 index 916ed651..00000000 --- a/tools/gentoken.py +++ /dev/null @@ -1,16 +0,0 @@ -import urllib2 - -def executeHttpRequest(url, agent, **extras): - request = urllib2.Request('http://127.0.0.1:45749/' + url) - request.add_header('User-Agent', 'TTS-' + agent) - request.add_header('Secret-Key', '1X5oN69^#0^fCw7s#uyQTWYJ!8m9z!6Midphf90gMQYl*L5Uy!Ri5KTP6@BbZ5#Tlm37bJAI') - for k, v in extras.items(): - request.add_header(k, v) - try: - return urllib2.urlopen(request).read() - except: - return None - -print executeHttpRequest('register', 'Site', ip='69.69.69.63', username='Swag', password='user', email='swag@79.net', accesslevel=0) -print executeHttpRequest('email', 'Site', email='swag@79.net') -print executeHttpRequest('login', 'Site', username='Swag', password='user') diff --git a/tools/key.txt b/tools/key.txt deleted file mode 100755 index e69de29b..00000000 diff --git a/tools/prepare_client.py b/tools/prepare_client.py new file mode 100755 index 00000000..d477dc3e --- /dev/null +++ b/tools/prepare_client.py @@ -0,0 +1,172 @@ +#!/usr/bin/env python2 +import argparse +import hashlib +import os +from pandac.PandaModules import * +import shutil + + +parser = argparse.ArgumentParser() +parser.add_argument('--distribution', default='en', + help='The distribution string.') +parser.add_argument('--build-dir', default='build', + help='The directory in which to store the build files.') +parser.add_argument('--src-dir', default='..', + help='The directory of the Toontown Stride source code.') +parser.add_argument('--server-ver', default='tts-dev', + help='The server version of this build.') +parser.add_argument('--build-mfs', action='store_true', + help='When present, the resource multifiles will be built.') +parser.add_argument('--resources-dir', default='../resources', + help='The directory of the Toontown Stride resources.') +parser.add_argument('--config-dir', default='../config/release', + help='The directory of the Toontown Stride configuration files.') +parser.add_argument('--include', '-i', action='append', + help='Explicitly include this file in the build.') +parser.add_argument('--exclude', '-x', action='append', + help='Explicitly exclude this file from the build.') +parser.add_argument('--vfs', action='append', + help='Add this file to the virtual file system at runtime.') +parser.add_argument('modules', nargs='*', default=['otp', 'toontown'], + help='The Toontown modules to be included in the build.') +args = parser.parse_args() + +print 'Preparing the client...' + +# Create a clean directory to store the build files in: +if os.path.exists(args.build_dir): + shutil.rmtree(args.build_dir) +os.mkdir(args.build_dir) +print 'Build directory = ' + args.build_dir + +# Copy the provided Toontown Stride modules: + + +def minify(f): + """ + Returns the "minified" file data with removed __debug__ code blocks. + """ + + data = '' + + debugBlock = False # Marks when we're in a __debug__ code block. + elseBlock = False # Marks when we're in an else code block. + + # The number of spaces in which the __debug__ condition is indented: + indentLevel = 0 + + for line in f: + thisIndentLevel = len(line) - len(line.lstrip()) + if ('if __debug__:' not in line) and (not debugBlock): + data += line + continue + elif 'if __debug__:' in line: + debugBlock = True + indentLevel = thisIndentLevel + continue + if thisIndentLevel <= indentLevel: + if 'else' in line: + elseBlock = True + continue + if 'elif' in line: + line = line[:thisIndentLevel] + line[thisIndentLevel+2:] + data += line + debugBlock = False + elseBlock = False + indentLevel = 0 + continue + if elseBlock: + data += line[4:] + + return data + + +for module in args.modules: + print 'Writing module...', module + for root, folders, files in os.walk(os.path.join(args.src_dir, module)): + outputDir = root.replace(args.src_dir, args.build_dir) + if not os.path.exists(outputDir): + os.mkdir(outputDir) + for filename in files: + if args.include is not None and filename not in args.include: + if not filename.endswith('.py'): + continue + if filename.endswith('UD.py'): + continue + if filename.endswith('AI.py'): + continue + if filename in args.exclude: + continue + with open(os.path.join(root, filename), 'r') as f: + data = minify(f) + with open(os.path.join(outputDir, filename), 'w') as f: + f.write(data) + +# Let's write game_data.py now. game_data.py is a compile-time generated +# collection of data that will be used by the game at runtime. It contains the +# PRC file data, and (stripped) DC file: + +# First, we need to add the configuration pages: +configData = [] +with open('../config/general.prc') as f: + configData.append(f.read()) + +configFileName = args.distribution + '.prc' +configFilePath = os.path.join(args.config_dir, configFileName) +print 'Using configuration file: ' + configFilePath + +with open(configFilePath) as f: + data = f.readlines() + + # Replace server-version definitions with the desired server version: + for i, line in enumerate(data): + if 'server-version' in line: + data[i] = 'server-version ' + args.server_ver + + # Add our virtual file system data: + data.append('\n# Virtual file system...\nmodel-path /\n') + if args.vfs is not None: + for filepath in args.vfs: + data.append('vfs-mount %s /\n' % filepath) + + configData.append('\n'.join(data)) + +# Next, we need the DC file: +dcData = '' +filepath = os.path.join(args.src_dir, 'astron/dclass') +for filename in os.listdir(filepath): + if filename.endswith('.dc'): + fullpath = str(Filename.fromOsSpecific(os.path.join(filepath, filename))) + print 'Reading %s...' % fullpath + with open(fullpath, 'r') as f: + data = f.read() + for line in data.split('\n'): + if 'import' in line: + data = data.replace(line + '\n', '') + dcData += data + +# Finally, write our data to game_data.py: +print 'Writing game_data.py...' +gameData = 'CONFIG = %r\nDC = %r\n' +with open(os.path.join(args.build_dir, 'game_data.py'), 'wb') as f: + f.write(gameData % (configData, dcData.strip())) + +# We have all of the code gathered together. Let's create the multifiles now: +if args.build_mfs: + print 'Building multifiles...' + dest = os.path.join(args.build_dir, 'resources') + if not os.path.exists(dest): + os.mkdir(dest) + dest = os.path.realpath(dest) + os.chdir(args.resources_dir) + for phase in os.listdir('.'): + if not phase.startswith('phase_'): + continue + if not os.path.isdir(phase): + continue + filename = phase + '.mf' + print 'Writing...', filename + filepath = os.path.join(dest, filename) + os.system('multify -c -f "%s" "%s"' % (filepath, phase)) + +print 'Done preparing the client.' From 5411a83e72ab5c26e1282d3b92ccebe79034d6e6 Mon Sep 17 00:00:00 2001 From: Loudrob Date: Thu, 21 May 2015 16:50:12 -0400 Subject: [PATCH 61/78] fixed what is wrong --- config/release/dev.prc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/release/dev.prc b/config/release/dev.prc index 6a803caa..abe0cfd7 100755 --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -6,13 +6,13 @@ model-path ../resources/ # Server: server-version tts-dev -min-access-level 100 -accountdb-type remote +min-access-level 700 +accountdb-type developer shard-low-pop 50 shard-mid-pop 100 # RPC: -want-rpc-server #t +want-rpc-server #f rpc-server-endpoint http://localhost:8080/ # DClass file: From 820732c776d341b7ceddbf6b1d2ddda6f7ae01b2 Mon Sep 17 00:00:00 2001 From: Loudrob Date: Thu, 21 May 2015 19:45:40 -0400 Subject: [PATCH 62/78] No more pro lackers who pass the limit. --- toontown/toon/DistributedNPCLaffRestock.py | 3 +++ toontown/toon/DistributedNPCLaffRestockAI.py | 11 ++++++++--- toontown/toon/NPCToons.py | 1 + toontown/toonbase/TTLocalizerEnglish.py | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/toontown/toon/DistributedNPCLaffRestock.py b/toontown/toon/DistributedNPCLaffRestock.py index 4dc05f14..f6963d48 100755 --- a/toontown/toon/DistributedNPCLaffRestock.py +++ b/toontown/toon/DistributedNPCLaffRestock.py @@ -91,6 +91,9 @@ class DistributedNPCLaffRestock(DistributedNPCToonBase): elif mode == LaffRestockGlobals.NoMoney: self.setChatAbsolute(TTLocalizer.RestockNoMoneyMessage, CFSpeech | CFTimeout) self.resetLaffClerk() + elif mode == NPCToons.SELL_MOVIE_CHEATER: + self.setChatAbsolute(TTLocalizer.RestockCheaterMessage, CFSpeech | CFTimeout) + self.resetLaffClerk() def __handleRestock(self, laff, cost): self.sendUpdate('restock', [self.av.doId, laff, cost]) diff --git a/toontown/toon/DistributedNPCLaffRestockAI.py b/toontown/toon/DistributedNPCLaffRestockAI.py index 7799375d..4570ec6a 100755 --- a/toontown/toon/DistributedNPCLaffRestockAI.py +++ b/toontown/toon/DistributedNPCLaffRestockAI.py @@ -89,6 +89,11 @@ class DistributedNPCLaffRestockAI(DistributedNPCToonBaseAI): return av = simbase.air.doId2do.get(avId) if av: - movieType = NPCToons.SELL_MOVIE_COMPLETE - av.takeMoney(cost) - av.b_setHp(av.getHp() + laff) + if av.getMaxHp() < (av.getHp() + laff): + movieType = NPCToons.SELL_MOVIE_CHEATER + self.air.writeServerEvent('suspicious', avId, 'DistributedNPCLaffRestockAI.restock invalid restock') + self.notify.warning('somebody tried to buy an invalid hp restock! avId: %s' % avId) + else: + movieType = NPCToons.SELL_MOVIE_COMPLETE + av.takeMoney(cost) + av.b_setHp(av.getHp() + laff) diff --git a/toontown/toon/NPCToons.py b/toontown/toon/NPCToons.py index 2a77dbf3..9651ae77 100755 --- a/toontown/toon/NPCToons.py +++ b/toontown/toon/NPCToons.py @@ -44,6 +44,7 @@ SELL_MOVIE_TIMEOUT = 8 SELL_MOVIE_PETRETURNED = 9 SELL_MOVIE_PETADOPTED = 10 SELL_MOVIE_PETCANCELED = 11 +SELL_MOVIE_CHEATER = 15 PARTY_MOVIE_CLEAR = 0 PARTY_MOVIE_START = 1 PARTY_MOVIE_COMPLETE = 2 diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index afcf47e2..d5b9b508 100755 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -8438,3 +8438,4 @@ RestockFullLaffMessage = "You're already happy!" RestockNoMoneyMessage = "You need more jellybeans to restock your laff!" RestockLaffMessage = "Have fun!" RestockAskMessage = "Would you like to\nrestock %s laff for %s jellybeans?" +RestockCheaterMessage = "No cheaters allowed! Your transaction has been declined." From baaf4e787b9e85934b8f87660af5fecad8610187 Mon Sep 17 00:00:00 2001 From: Master Jumblespeed Date: Thu, 21 May 2015 20:52:40 -0400 Subject: [PATCH 63/78] fix clientservices + automatic name approval --- toontown/uberdog/ClientServicesManagerUD.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/toontown/uberdog/ClientServicesManagerUD.py b/toontown/uberdog/ClientServicesManagerUD.py index 2a1e395f..a89d20a4 100755 --- a/toontown/uberdog/ClientServicesManagerUD.py +++ b/toontown/uberdog/ClientServicesManagerUD.py @@ -74,6 +74,10 @@ def executeHttpRequestAndLog(url, **extras): return data +blacklist = executeHttpRequest('names/blacklist.json') +if blacklist: + blacklist = json.loads(blacklist) + def judgeName(name): if not name: return False @@ -158,7 +162,8 @@ class RemoteAccountDB(AccountDB): return executeHttpRequest('names/append', ID=str(avId), Name=name) def getNameStatus(self, avId): - return executeHttpRequest('names/status/?Id=' + str(avId)) + #return executeHttpRequest('names/status/?Id=' + str(avId)) + return 'APPROVED' # Override temporarily. def removeNameRequest(self, avId): return executeHttpRequest('names/remove', ID=str(avId)) From 9bcc8fb510157659af3d669a9940451f9904faaf Mon Sep 17 00:00:00 2001 From: Xavier Date: Thu, 21 May 2015 22:38:07 -0400 Subject: [PATCH 64/78] Update all.bat --- all.bat | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/all.bat b/all.bat index 1aa70b30..65175a45 100755 --- a/all.bat +++ b/all.bat @@ -1,3 +1,5 @@ start astron start ai -start ud \ No newline at end of file +start ud +pause +start start_game_remotedb From c7f79ede5c7cf680d2388042a2f343072f527779 Mon Sep 17 00:00:00 2001 From: Xavier Date: Thu, 21 May 2015 22:41:23 -0400 Subject: [PATCH 65/78] Update all.bat --- all.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/all.bat b/all.bat index 65175a45..f1064c7c 100755 --- a/all.bat +++ b/all.bat @@ -2,4 +2,5 @@ start astron start ai start ud pause +echo Press any button when you are ready to launch the game start start_game_remotedb From 7c5ee7e43d070bf5264de1603a70334ffbbddcc8 Mon Sep 17 00:00:00 2001 From: Xavier Date: Thu, 21 May 2015 22:44:08 -0400 Subject: [PATCH 66/78] Update all.bat Sorry, I didn't mean to do those lol. --- all.bat | 2 -- 1 file changed, 2 deletions(-) diff --git a/all.bat b/all.bat index f1064c7c..ad82f649 100755 --- a/all.bat +++ b/all.bat @@ -1,6 +1,4 @@ start astron start ai start ud -pause -echo Press any button when you are ready to launch the game start start_game_remotedb From 02f0ce7518015049cffff2229eca9dce43946004 Mon Sep 17 00:00:00 2001 From: Master Jumblespeed Date: Fri, 22 May 2015 17:55:55 -0400 Subject: [PATCH 67/78] update bats --- all.bat | 3 ++- client.bat | 6 ++---- start_game_remotedb.bat | 19 ++----------------- 3 files changed, 6 insertions(+), 22 deletions(-) diff --git a/all.bat b/all.bat index ad82f649..92036487 100755 --- a/all.bat +++ b/all.bat @@ -1,4 +1,5 @@ +rem only use this with a non-remotedb start astron start ai start ud -start start_game_remotedb +start client diff --git a/client.bat b/client.bat index 5ed3efae..764a365b 100755 --- a/client.bat +++ b/client.bat @@ -5,15 +5,13 @@ set /P PPYTHON_PATH= Date: Fri, 22 May 2015 22:57:40 -0400 Subject: [PATCH 68/78] New Server Changed steve's server to new server --- client.bat | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/client.bat b/client.bat index 764a365b..34b1f2b1 100755 --- a/client.bat +++ b/client.bat @@ -5,13 +5,15 @@ set /P PPYTHON_PATH= Date: Fri, 22 May 2015 23:01:34 -0400 Subject: [PATCH 69/78] New Server on remotedb Added server to remotedb --- start_game_remotedb.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/start_game_remotedb.bat b/start_game_remotedb.bat index bc71b77c..1b0ae898 100755 --- a/start_game_remotedb.bat +++ b/start_game_remotedb.bat @@ -8,7 +8,7 @@ rem Get the user input: set /P ttsUsername="Username: " set /P ttsPassword="Password: " echo Using Steve's dev server. -set TTS_GAMESERVER=192.99.167.192 +set TTS_GAMESERVER=167.114.220.172 echo =============================== echo Starting Toontown Stride... From 1fbd0602dc482d5750cb7d7b3b92e4b1de95d385 Mon Sep 17 00:00:00 2001 From: John Cote Date: Fri, 22 May 2015 23:47:35 -0400 Subject: [PATCH 70/78] Organize the repo a bit more --- .gitignore | 2 +- all.bat | 5 --- astron/databases/.gitignore | 2 +- ai.bat => astron/win32/start-ai-server.bat | 1 + astron/win32/start-all.bat | 5 +++ .../win32/start-astron-cluster.bat | 5 ++- .../win32/start-uberdog-server.bat | 1 + tools/.gitignore | 2 +- toontown/dna/DNAParser.py | 4 +- toontown/toon/DistributedNPCLaffRestockAI.py | 16 +++---- client.bat => win32/start_game.bat | 18 +++++--- .../start_game_remotedb.bat | 43 ++++++++++--------- guieditor.bat => win32/start_gui_editor.bat | 7 ++- 13 files changed, 60 insertions(+), 51 deletions(-) delete mode 100755 all.bat rename ai.bat => astron/win32/start-ai-server.bat (99%) mode change 100755 => 100644 create mode 100644 astron/win32/start-all.bat rename astron.bat => astron/win32/start-astron-cluster.bat (77%) mode change 100755 => 100644 rename ud.bat => astron/win32/start-uberdog-server.bat (99%) mode change 100755 => 100644 rename client.bat => win32/start_game.bat (72%) mode change 100755 => 100644 rename start_game_remotedb.bat => win32/start_game_remotedb.bat (79%) mode change 100755 => 100644 rename guieditor.bat => win32/start_gui_editor.bat (58%) mode change 100755 => 100644 diff --git a/.gitignore b/.gitignore index aa9f1259..9d2f1973 100755 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,4 @@ contentpacks/ resources/ save.dat ai-crash.txt -gentokenlr.py \ No newline at end of file +gentokenlr.py diff --git a/all.bat b/all.bat deleted file mode 100755 index 92036487..00000000 --- a/all.bat +++ /dev/null @@ -1,5 +0,0 @@ -rem only use this with a non-remotedb -start astron -start ai -start ud -start client diff --git a/astron/databases/.gitignore b/astron/databases/.gitignore index 3997bead..98e6ef67 100755 --- a/astron/databases/.gitignore +++ b/astron/databases/.gitignore @@ -1 +1 @@ -*.db \ No newline at end of file +*.db diff --git a/ai.bat b/astron/win32/start-ai-server.bat old mode 100755 new mode 100644 similarity index 99% rename from ai.bat rename to astron/win32/start-ai-server.bat index 62f74b66..0668b550 --- a/ai.bat +++ b/astron/win32/start-ai-server.bat @@ -1,4 +1,5 @@ @echo off +cd ../.. rem Read the contents of PPYTHON_PATH into %PPYTHON_PATH%: set /P PPYTHON_PATH= Date: Fri, 22 May 2015 23:56:22 -0400 Subject: [PATCH 71/78] Fix option 2 of start_game.bat --- win32/start_game.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win32/start_game.bat b/win32/start_game.bat index 028bdbb7..2434800b 100644 --- a/win32/start_game.bat +++ b/win32/start_game.bat @@ -12,7 +12,7 @@ echo #2 - Custom echo #3 - Loudrob echo. set /P INPUT= -set server=unset +set TTS_GAMESERVER=unset if %INPUT%==1 set TTS_GAMESERVER=127.0.0.1 if %INPUT%==3 set TTS_GAMESERVER=71.200.196.180 From 5e549df7667197fa626c16f3bf7857d0221d2733 Mon Sep 17 00:00:00 2001 From: sctigercat1 Date: Sat, 23 May 2015 00:01:42 -0400 Subject: [PATCH 72/78] adjust local game start --- win32/start_game.bat | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/win32/start_game.bat b/win32/start_game.bat index 2434800b..a21769d6 100644 --- a/win32/start_game.bat +++ b/win32/start_game.bat @@ -1,23 +1,19 @@ @echo off cd.. - -title TTS Game Launcher - -rem Read the contents of PPYTHON_PATH into %PPYTHON_PATH%: +title TTS Local Game Launcher set /P PPYTHON_PATH= Date: Sat, 23 May 2015 00:04:22 -0400 Subject: [PATCH 73/78] adjust astron gitignore --- astron/.gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/astron/.gitignore b/astron/.gitignore index e099404e..3cd2d066 100755 --- a/astron/.gitignore +++ b/astron/.gitignore @@ -1,4 +1,3 @@ -*.dll -astrond +# We'll want production astron to be included, but not the debug builds astrond_debug astrond_debug.exe From 7d43c236618f0df4e88b4bd8447f1753538a704b Mon Sep 17 00:00:00 2001 From: John Cote Date: Sat, 23 May 2015 00:04:35 -0400 Subject: [PATCH 74/78] Revert "adjust local game start" This reverts commit 5e549df7667197fa626c16f3bf7857d0221d2733. --- win32/start_game.bat | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/win32/start_game.bat b/win32/start_game.bat index a21769d6..2434800b 100644 --- a/win32/start_game.bat +++ b/win32/start_game.bat @@ -1,19 +1,23 @@ @echo off cd.. -title TTS Local Game Launcher + +title TTS Game Launcher + +rem Read the contents of PPYTHON_PATH into %PPYTHON_PATH%: set /P PPYTHON_PATH= Date: Sat, 23 May 2015 00:53:15 -0400 Subject: [PATCH 75/78] Remove start_game_remotedb.bat and edit start_game.bat --- astron/.gitignore | 2 +- win32/start_game.bat | 47 +++++++++++++++++++++++++---------- win32/start_game_remotedb.bat | 22 ---------------- 3 files changed, 35 insertions(+), 36 deletions(-) delete mode 100644 win32/start_game_remotedb.bat diff --git a/astron/.gitignore b/astron/.gitignore index 3cd2d066..12eb8cb3 100755 --- a/astron/.gitignore +++ b/astron/.gitignore @@ -1,3 +1,3 @@ -# We'll want production astron to be included, but not the debug builds +# Exclude the debug builds of Astron. astrond_debug astrond_debug.exe diff --git a/win32/start_game.bat b/win32/start_game.bat index 2434800b..73864548 100644 --- a/win32/start_game.bat +++ b/win32/start_game.bat @@ -1,36 +1,57 @@ @echo off cd.. -title TTS Game Launcher +title Toontown Stride Game Launcher rem Read the contents of PPYTHON_PATH into %PPYTHON_PATH%: set /P PPYTHON_PATH= Date: Sat, 23 May 2015 01:05:43 -0400 Subject: [PATCH 76/78] Clean --- toontown/pets/PetManagerAI.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toontown/pets/PetManagerAI.py b/toontown/pets/PetManagerAI.py index b674bc6c..79c03f7b 100755 --- a/toontown/pets/PetManagerAI.py +++ b/toontown/pets/PetManagerAI.py @@ -12,7 +12,7 @@ class PetManagerAI: def __init__(self, air): self.air = air self.seeds = simbase.backups.load('pet-seeds', (self.air.districtId,), default={}) - + if self.seeds.get('day', -1) != getDayId(): self.generateSeeds() @@ -64,4 +64,4 @@ class PetManagerAI: if pet: if pet in self.air.doId2do: self.air.doId2do[pet].requestDelete() - av.b_setPetId(0) \ No newline at end of file + av.b_setPetId(0) From 5631277899fbeafa2e6a3bb1ff10956685fdc47c Mon Sep 17 00:00:00 2001 From: John Cote Date: Sat, 23 May 2015 13:13:50 -0400 Subject: [PATCH 77/78] Rename bat files --- astron/win32/start-all.bat | 2 +- win32/{start_game.bat => start-game.bat} | 0 win32/{start_gui_editor.bat => start-gui-editor.bat} | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename win32/{start_game.bat => start-game.bat} (100%) rename win32/{start_gui_editor.bat => start-gui-editor.bat} (100%) diff --git a/astron/win32/start-all.bat b/astron/win32/start-all.bat index 5f9f6b87..d643f14e 100644 --- a/astron/win32/start-all.bat +++ b/astron/win32/start-all.bat @@ -1,4 +1,4 @@ -rem Starts a Localhost server. This is meant for Windows. To connect to developer server, use the start-game-remotedb file for your OS. +rem Starts a Localhost server. This is meant for Windows. To connect to the developer server, use the option in start-game for your OS. start start-astron-cluster start start-uberdog-server diff --git a/win32/start_game.bat b/win32/start-game.bat similarity index 100% rename from win32/start_game.bat rename to win32/start-game.bat diff --git a/win32/start_gui_editor.bat b/win32/start-gui-editor.bat similarity index 100% rename from win32/start_gui_editor.bat rename to win32/start-gui-editor.bat From 8fb39a1d494c94608e28135aee8f5890e148f2bd Mon Sep 17 00:00:00 2001 From: Master Jumblespeed Date: Sat, 23 May 2015 20:58:38 -0400 Subject: [PATCH 78/78] uberfixes --- astron/win32/start-ai-server.bat | 0 astron/win32/start-all.bat | 0 astron/win32/start-astron-cluster.bat | 0 astron/win32/start-uberdog-server.bat | 0 toontown/uberdog/ClientServicesManagerUD.py | 2 +- win32/start-game.bat | 0 6 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 astron/win32/start-ai-server.bat mode change 100644 => 100755 astron/win32/start-all.bat mode change 100644 => 100755 astron/win32/start-astron-cluster.bat mode change 100644 => 100755 astron/win32/start-uberdog-server.bat mode change 100644 => 100755 win32/start-game.bat diff --git a/astron/win32/start-ai-server.bat b/astron/win32/start-ai-server.bat old mode 100644 new mode 100755 diff --git a/astron/win32/start-all.bat b/astron/win32/start-all.bat old mode 100644 new mode 100755 diff --git a/astron/win32/start-astron-cluster.bat b/astron/win32/start-astron-cluster.bat old mode 100644 new mode 100755 diff --git a/astron/win32/start-uberdog-server.bat b/astron/win32/start-uberdog-server.bat old mode 100644 new mode 100755 diff --git a/toontown/uberdog/ClientServicesManagerUD.py b/toontown/uberdog/ClientServicesManagerUD.py index a89d20a4..c905fb47 100755 --- a/toontown/uberdog/ClientServicesManagerUD.py +++ b/toontown/uberdog/ClientServicesManagerUD.py @@ -86,7 +86,7 @@ def judgeName(name): namePart = namePart.lower() if len(namePart) < 1: return False - for banned in blacklist.get(namePart[0], []): + for banned in blacklist: if banned in namePart: return False return True diff --git a/win32/start-game.bat b/win32/start-game.bat old mode 100644 new mode 100755