Exemplo n.º 1
0
    def __init__(self, cr, name, dnaName):
        try:
            self.DistributedCCharBase_initialized
            return
        except:
            self.DistributedCCharBase_initialized = 1

        DistributedChar.DistributedChar.__init__(self, cr)
        if dnaName == 'riggy':
            dna = ToonDNA.ToonDNA()
            toon = DistributedToon.DistributedToon(cr)
            toon.setDNA(dna)
            toon.setName(name)
        else:
            dna = CharDNA.CharDNA()
            dna.newChar(dnaName)
            self.setDNA(dna)
            self.setName(name)
        self.setTransparency(TransparencyAttrib.MDual, 1)
        fadeIn = self.colorScaleInterval(0.5, Vec4(1, 1, 1, 1), startColorScale=Vec4(1, 1, 1, 0), blendType='easeInOut')
        fadeIn.start()
        self.diffPath = None
        self.transitionToCostume = 0
        self.__initCollisions()
        self.setBlend(frameBlend=config.GetBool('interpolate-animations', True))
        return
Exemplo n.º 2
0
 def parseLoadChar(self, line):
     token, name, charType = line
     char = Char.Char()
     dna = CharDNA.CharDNA()
     dna.newChar(charType)
     char.setDNA(dna)
     if charType == 'mk' or charType == 'mn':
         char.startEarTask()
     char.nametag.manage(base.marginManager)
     char.addActive()
     char.hideName()
     self.setVar(name, char)
Exemplo n.º 3
0
 def parseLoadClassicChar(self, line):
     token, name = line
     char = Char.Char()
     dna = CharDNA.CharDNA()
     if self.toon.getStyle().gender == 'm':
         charType = 'mk'
     else:
         charType = 'mn'
     dna.newChar(charType)
     char.setDNA(dna)
     char.startEarTask()
     char.nametag.manage(base.marginManager)
     char.addActive()
     char.hideName()
     self.setVar(name, char)
     self.chars.append(char)
    def __init__(self, cr, name, dnaName):
        try:
            self.DistributedCCharBase_initialized
            return
        except:
            self.DistributedCCharBase_initialized = 1

        DistributedChar.DistributedChar.__init__(self, cr)
        dna = CharDNA.CharDNA()
        dna.newChar(dnaName)
        self.setDNA(dna)
        self.setName(name)
        self.setTransparency(TransparencyAttrib.MDual, 1)
        fadeIn = self.colorScaleInterval(0.5, Vec4(1, 1, 1, 1), startColorScale=Vec4(1, 1, 1, 0), blendType='easeInOut')
        fadeIn.start()
        self.diffPath = None
        self.transitionToCostume = 0
        self.__initCollisions()
        return
    def load(self):
        self.notify.debug('load')
        DistributedMinigame.load(self)
        self.timer = ToontownTimer.ToontownTimer()
        self.timer.posInTopRightCorner()
        self.timer.hide()
        self.room = loader.loadModel('phase_4/models/minigames/matching_room')
        self.buttonSounds = []
        for soundName in self.ButtonSoundNames:
            self.buttonSounds.append(base.loader.loadSfx(soundName))

        self.correctSound = base.loader.loadSfx('phase_4/audio/sfx/MG_pos_buzzer.ogg')
        self.incorrectSound = base.loader.loadSfx('phase_4/audio/sfx/MG_neg_buzzer.ogg')
        self.perfectSound = base.loader.loadSfx('phase_4/audio/sfx/MG_win.ogg')
        self.fallSound = base.loader.loadSfx('phase_4/audio/sfx/MG_Tag_A.ogg')
        self.music = base.loader.loadMusic(self.bgm)
        self.waitingText = DirectLabel(text=self.strPleaseWait, text_fg=(0.9, 0.9, 0.9, 1.0), frameColor=(1, 1, 1, 0), text_font=ToontownGlobals.getSignFont(), pos=(0, 0, -.78), scale=0.12)
        self.roundText = DirectLabel(text=self.strRound % 1, text_fg=self.normalTextColor, frameColor=(1, 1, 1, 0), text_font=ToontownGlobals.getSignFont(), pos=(0.014, 0, -.84), scale=0.12)
        self.roundText.hide()
        self.waitingText.hide()
        matchingGameGui = loader.loadModel('phase_3.5/models/gui/matching_game_gui')
        minnieArrow = matchingGameGui.find('**/minnieArrow')
        minnieX = matchingGameGui.find('**/minnieX')
        minnieCircle = matchingGameGui.find('**/minnieCircle')
        self.arrows = [None] * 5
        for x in range(0, 5):
            self.arrows[x] = minnieArrow.copyTo(hidden)
            self.arrows[x].hide()

        self.xs = [None] * 5
        for x in range(0, 5):
            self.xs[x] = minnieX.copyTo(hidden)
            self.xs[x].hide()

        self.statusBalls = []
        self.totalMoves = PatternGameGlobals.INITIAL_ROUND_LENGTH + PatternGameGlobals.ROUND_LENGTH_INCREMENT * (PatternGameGlobals.NUM_ROUNDS - 1)
        for x in range(0, 4):
            self.statusBalls.append([None] * self.totalMoves)

        for x in range(0, 4):
            for y in range(0, self.totalMoves):
                self.statusBalls[x][y] = minnieCircle.copyTo(hidden)
                self.statusBalls[x][y].hide()

        minnieArrow.removeNode()
        minnieX.removeNode()
        minnieCircle.removeNode()
        matchingGameGui.removeNode()
        self.minnie = Char.Char()
        m = self.minnie
        dna = CharDNA.CharDNA()
        dna.newChar('mn')
        m.setDNA(dna)
        m.setName(TTLocalizer.Minnie)
        m.reparentTo(hidden)
        self.backRowHome = Point3(3, 11, 0)
        self.backRowXSpacing = 1.8
        self.frontRowHome = Point3(0, 18, 0)
        self.frontRowXSpacing = 3.0
        self.stdNumDanceStepPingFrames = self.minnie.getNumFrames(self.minnieAnimNames[0])
        self.stdNumDanceStepPingPongFrames = self.__numPingPongFrames(self.stdNumDanceStepPingFrames)
        self.buttonPressDelayPercent = (self.stdNumDanceStepPingFrames - 1.0) / self.stdNumDanceStepPingPongFrames
        self.animPlayRates = []
        animPlayRate = 1.4
        animPlayRateMult = 1.06
        for i in range(PatternGameGlobals.NUM_ROUNDS):
            self.animPlayRates.append(animPlayRate)
            animPlayRate *= animPlayRateMult

        return
Exemplo n.º 6
0
 def load(self):
     gui = loader.loadModelOnce('phase_3/models/gui/create_a_toon_gui')
     self.guiTopBar = DirectFrame(relief=None,
                                  image=gui.find('**/CrtATn_TopBar'),
                                  text=TTLocalizer.CreateYourToon,
                                  text_font=ToontownGlobals.getSignFont(),
                                  text_fg=(0.0, 0.65000000000000002,
                                           0.34999999999999998, 1),
                                  text_scale=0.17999999999999999,
                                  text_pos=(0, -0.029999999999999999),
                                  pos=(0, 0, 0.85999999999999999))
     self.guiTopBar.hide()
     self.guiBottomBar = DirectFrame(
         relief=None,
         image=gui.find('**/CrtATn_BtmBar'),
         image_scale=(
             (base.win.getXSize() / 948.14814814814814814814814814815) *
             0.98765432098765432098765432098765, 1, 1),
         pos=(0, 0, -0.85999999999999999))
     self.guiBottomBar.hide()
     self.guiCheckButton = DirectButton(
         parent=self.guiBottomBar,
         relief=None,
         image=(gui.find('**/CrtAtoon_Btn1_UP'),
                gui.find('**/CrtAtoon_Btn1_DOWN'),
                gui.find('**/CrtAtoon_Btn1_RLLVR')),
         pos=(base.a2dRight - 0.165, 0, -0.017999999999999999),
         command=self._MakeAToon__handleNext,
         text=('', TTLocalizer.MakeAToonDone, TTLocalizer.MakeAToonDone),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.080000000000000002,
         text_pos=(0, -0.029999999999999999),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.guiCheckButton.hide()
     self.guiCancelButton = DirectButton(
         parent=self.guiBottomBar,
         relief=None,
         image=(gui.find('**/CrtAtoon_Btn2_UP'),
                gui.find('**/CrtAtoon_Btn2_DOWN'),
                gui.find('**/CrtAtoon_Btn2_RLLVR')),
         pos=(base.a2dLeft + 0.179, 0, -0.010999999999999999),
         command=self._MakeAToon__handleCancel,
         text=('', TTLocalizer.MakeAToonCancel,
               TTLocalizer.MakeAToonCancel),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.080000000000000002,
         text_pos=(0, -0.029999999999999999),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.guiCancelButton.hide()
     self.guiNextButton = DirectButton(
         parent=self.guiBottomBar,
         relief=None,
         image=(gui.find('**/CrtAtoon_Btn3_UP'),
                gui.find('**/CrtAtoon_Btn3_DN'),
                gui.find('**/CrtAtoon_Btn3_RLVR')),
         pos=(base.a2dRight - 0.165, 0, -0.017999999999999999),
         command=self._MakeAToon__handleNext,
         text=('', TTLocalizer.MakeAToonNext, TTLocalizer.MakeAToonNext),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.080000000000000002,
         text_pos=(0, -0.029999999999999999),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.guiNextButton.hide()
     self.guiLastButton = DirectButton(
         parent=self.guiBottomBar,
         relief=None,
         image=(gui.find('**/CrtAtoon_Btn3_UP'),
                gui.find('**/CrtAtoon_Btn3_DN'),
                gui.find('**/CrtAtoon_Btn3_RLVR')),
         image_scale=(-1, 1, 1),
         pos=(base.a2dRight - 0.505, 0, -0.017999999999999999),
         command=self._MakeAToon__handleLast,
         text=('', TTLocalizer.MakeAToonLast, TTLocalizer.MakeAToonLast),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.080000000000000002,
         text_pos=(0, -0.029999999999999999),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.guiLastButton.hide()
     gui.removeNode()
     self.room = loader.loadModel('phase_3/models/gui/create_a_toon')
     self.roomWalls = self.room.find('**/wall_floor')
     self.draftingTable = self.room.find('**/drafting_table')
     self.easel = self.room.find('**/easel')
     self.sewingMachine = self.room.find('**/sewing_machine')
     ee = DirectFrame(pos=(-1, 1, 1),
                      frameSize=(-0.01, 0.01, -0.01, 0.01),
                      frameColor=(0, 0, 0, 0.050000000000000003),
                      state='normal')
     ee.bind(DGG.B1PRESS, lambda x, ee=ee: self.toggleSlide())
     self.eee = ee
     self.stool = self.room.find('**/stool')
     self.stool.hide()
     self.draftingTable.hide()
     self.easel.hide()
     self.sewingMachine.hide()
     if not (self.warp):
         self.dna = ToonDNA.ToonDNA()
         animal = random.choice(ToonDNA.toonHeadAnimalIndices)
         head = ToonDNA.toonHeadTypes[animal]
         torso = random.choice(ToonDNA.toonTorsoTypes[-3:])
         leg = random.choice(ToonDNA.toonLegTypes)
         self.dna.newToon((head, torso, leg, 'm'))
     else:
         self.dna = ToonDNA.ToonDNA()
         self.dna.makeFromNetString(self.namelessPotAv.dna)
     self.toon = Toon.Toon()
     self.toon.setDNA(self.dna)
     self.toon.useLOD(1000)
     self.toon.setNameVisible(0)
     self.toon.startBlink()
     self.toon.startLookAround()
     self.mickey = Char.Char()
     mickeyDNA = CharDNA.CharDNA()
     mickeyDNA.newChar('mk')
     self.mickey.setDNA(mickeyDNA)
     self.mickey.addActive()
     self.mickey.startEarTask()
     self.mickey.setNametagScale(0.80000000000000004)
     self.mickey.hideName()
     self.mickey.setPickable(1)
     #self.mickey.nametag.getNametag3d().setChatWordwrap(8)
     self.minnie = Char.Char()
     minnieDNA = CharDNA.CharDNA()
     minnieDNA.newChar('mn')
     self.minnie.setDNA(minnieDNA)
     self.minnie.addActive()
     self.minnie.startEarTask()
     self.minnie.setNametagScale(0.80000000000000004)
     self.minnie.hideName()
     self.minnie.setPickable(1)
     #self.minnie.nametag.getNametag3d().setChatWordwrap(8)
     self.gs.load()
     self.bs.load()
     self.cos.load()
     self.cls.load()
     self.ns.load()
     self.music = base.loadMusic('phase_3/audio/bgm/create_a_toon.ogg')
     self.soundBack = base.loadSfx(
         'phase_3/audio/sfx/GUI_create_toon_back.ogg')
     return None
Exemplo n.º 7
0
    def load(self):
        SafeZoneLoader.load(self)
        # Flippy
        self.flippy = NPCToons.createLocalNPC(2001)
        self.flippy.reparentTo(render)
        self.flippy.setPickable(0)
        self.flippy.setPos(178.6, -265.6, 5.2)
        self.flippy.setH(100)
        self.flippy.initializeBodyCollisions('toon')
        self.flippy.addActive()
        self.flippy.startBlink()

        self.flippyBlatherSequence = Sequence(
            Wait(10),
            Func(self.flippy.setChatAbsolute, 'Hey, how\'s it going?',
                 CFSpeech | CFTimeout), Wait(5),
            Func(
                self.flippy.setChatAbsolute,
                "I'm fine myself, given how I've had to code ToonFest into RTTIM.",
                CFSpeech | CFTimeout), Wait(8),
            Func(self.flippy.setChatAbsolute, "Thanks, Bill.",
                 CFSpeech | CFTimeout), Wait(5),
            Func(self.flippy.setChatAbsolute, "Anyway, I hope you enjoy it.",
                 CFSpeech | CFTimeout), Wait(7),
            Func(self.flippy.setChatAbsolute, 'I didn\'t do it for nothing.',
                 CFSpeech | CFTimeout))
        self.flippyBlatherSequence.start()

        # Fluffy
        self.mickey = Char.Char()
        self.mickeyDNA = CharDNA.CharDNA()
        self.mickeyDNA.newChar('mk')
        self.mickey.setDNA(self.mickeyDNA)
        self.mickey.addActive()
        self.mickey.startEarTask()
        self.mickey.reparentTo(render)
        self.mickey.setPos(180.382, -271.073, 5.621)
        self.mickey.setH(67.684)

        # Bill
        self.bill = NPCToons.createLocalNPC(2001)
        self.bill.reparentTo(render)
        self.bill.setPickable(0)
        self.bill.setPos(112.799, -19.293, 4.597)
        self.bill.setH(-164.953)
        self.bill.initializeBodyCollisions('toon')
        self.bill.addActive()
        self.bill.startBlink()

        self.billRun = Sequence(
            Func(self.bill.loop, 'run'),
            self.bill.posInterval(8.1, (154.792, -175.501, 4.597)),
            Func(self.bill.loop, 'walk'),
            self.bill.hprInterval(1.0, (-344.953, 0, 0)),
            Func(self.bill.loop, 'run'),
            self.bill.posInterval(8.1, (112.799, -19.293, 4.597)),
            Func(self.bill.loop, 'walk'),
            self.bill.hprInterval(1.0, (-164.953, 0, 0)))

        self.billRun.loop()

        self.bfs = Suit.Suit()
        self.bfsDNA = SuitDNA.SuitDNA()
        self.bfsDNA.newSuit('bfs')
        self.bfs.setDNA(self.bfsDNA)
        self.bfs.setPickable(0)
        self.bfs.addActive()
        self.bfs.reparentTo(render)
        self.bfs.initializeBodyCollisions('suit')
        self.bfs.setPos(207, -164, 4.597)
        self.bfs.setH(-240.097)

        self.bfs.pingpong('slip-forward', 30, 40)

        #BossCog
        self.vp = BossCog.BossCog()
        self.vpDNA = SuitDNA.SuitDNA()
        self.vpDNA.newBossCog('s')
        self.vp.setDNA(self.vpDNA)
        self.vp.addActive()
        self.vp.reparentTo(render)
        self.vp.initializeBodyCollisions('bosscog')
        self.vp.setPos(302.777, -370.352, 14.446)
        self.vp.setH(-126.356)
        self.vp.happy = 0
        self.vp.doAnimate(self.vp.getAnim(None))

        # Find the bases - base1 is largest
        try:
            self.towerGeom = self.geom.find('**/toonfest_tower_DNARoot')
            self.towerGeom.find('**/itsclosed').removeNode()
            self.base1 = self.towerGeom.find('**/base1')
            self.base2 = self.towerGeom.find('**/base2')
            self.base3 = self.towerGeom.find('**/base3')
        except:
            self.notify.warning("Something messed up loading the tower bases!")

        self.confetti = None
        self.confettiRender = None
        self.confettiFade = None
        self.loadConfetti()
Exemplo n.º 8
0
    def load(self):
        self.notify.debug("load")
        DistributedMinigame.load(self)

        # create the timer
        self.timer = ToontownTimer.ToontownTimer()
        self.timer.posInTopRightCorner()
        self.timer.hide()

        # load the room
        self.room = loader.loadModel("phase_4/models/minigames/matching_room")

        # load sounds
        self.buttonSounds = []
        for soundName in self.ButtonSoundNames:
            self.buttonSounds.append(base.loadSfx(soundName))

        self.correctSound = base.loadSfx("phase_4/audio/sfx/MG_pos_buzzer.wav")
        self.incorrectSound = base.loadSfx(\
            "phase_4/audio/sfx/MG_neg_buzzer.wav")
        self.perfectSound = base.loadSfx("phase_4/audio/sfx/MG_win.mp3")

        self.fallSound = base.loadSfx("phase_4/audio/sfx/MG_Tag_A.mp3")

        # load music
        self.music = base.loadMusic(self.bgm)

        # create the onscreen text messages
        self.waitingText = DirectLabel(
            text = self.strPleaseWait,
            text_fg = (.9,.9,.9,1.),
            frameColor = (1,1,1,0),
            text_font = ToontownGlobals.getSignFont(),
            pos = (0,0,-.78),
            scale = .12)

        self.roundText = DirectLabel(
            text = self.strRound % 1,
            text_fg = self.normalTextColor,
            frameColor = (1,1,1,0),
            text_font = ToontownGlobals.getSignFont(),
            pos = (0.014, 0, -.84),
            scale = .12)

        self.roundText.hide()
        self.waitingText.hide()

        matchingGameGui = loader.loadModel(
            'phase_3.5/models/gui/matching_game_gui')
        minnieArrow = matchingGameGui.find("**/minnieArrow")
        minnieX = matchingGameGui.find("**/minnieX")
        minnieCircle = matchingGameGui.find("**/minnieCircle")

        # Load the arrows for above the toons' heads
        self.arrows = [None] * 5
        for x in range(0,5):
            self.arrows[x] = minnieArrow.copyTo(hidden)
            self.arrows[x].hide()
        # Load the X's for above the toons' heads
        self.xs = [None] * 5
        for x in range(0,5):
            self.xs[x] = minnieX.copyTo(hidden)
            self.xs[x].hide()
        # Load the status balls for above the toons' heads
        self.statusBalls = []
        self.totalMoves = PatternGameGlobals.INITIAL_ROUND_LENGTH + \
                          (PatternGameGlobals.ROUND_LENGTH_INCREMENT * \
                          (PatternGameGlobals.NUM_ROUNDS-1))
        for x in range(0,4):
            self.statusBalls.append([None]*self.totalMoves)
        for x in range(0,4):
            for y in range(0,self.totalMoves):
                self.statusBalls[x][y] = minnieCircle.copyTo(hidden)
                self.statusBalls[x][y].hide()

        minnieArrow.removeNode()
        minnieX.removeNode()
        minnieCircle.removeNode()
        matchingGameGui.removeNode()

        # make Minnie
        self.minnie = Char.Char()
        m = self.minnie
        dna = CharDNA.CharDNA()
        dna.newChar('mn')
        m.setDNA(dna)
        m.setName(TTLocalizer.Minnie)
        m.reparentTo(hidden)

        self.backRowHome = Point3(3,11,0)
        self.backRowXSpacing = 1.8 #3 moose

        self.frontRowHome = Point3(0,18,0)
        self.frontRowXSpacing = 3.

        # all dance step animations may not necessarily have the same
        # number of frames; pick minnie's first animation to be the
        # standard, scale other animations so that they take the same
        # amount of time to ping-pong
        self.stdNumDanceStepPingFrames = \
             self.minnie.getNumFrames(self.minnieAnimNames[0])
        self.stdNumDanceStepPingPongFrames = \
             self.__numPingPongFrames(self.stdNumDanceStepPingFrames)

        # how far into a played-back dance step the button gets pressed
        self.buttonPressDelayPercent = ((self.stdNumDanceStepPingFrames-1.) /
                                        self.stdNumDanceStepPingPongFrames)

        # speed up the animations with each successive round
        self.animPlayRates = []
        animPlayRate = 1.4
        animPlayRateMult = 1.06
        for i in range(PatternGameGlobals.NUM_ROUNDS):
            self.animPlayRates.append(animPlayRate)
            animPlayRate *= animPlayRateMult
Exemplo n.º 9
0
    def load(self):
        gui = loader.loadModel("phase_3/models/gui/create_a_toon_gui")

        self.guiTopBar = DirectFrame(
            relief=None,
            image=gui.find("**/CrtATn_TopBar"),
            text=TTLocalizer.CreateYourToon,
            text_font=ToontownGlobals.getSignFont(),
            text_fg=(0.0, 0.65, 0.35, 1),
            text_scale=0.18,
            text_pos=(0, -0.03),
            pos=(0, 0, 0.86),
        )
        self.guiTopBar.hide()

        self.guiBottomBar = DirectFrame(
            relief=None,
            image=gui.find("**/CrtATn_BtmBar"),
            image_scale=(1.25, 1, 1),
            pos=(0.01, 0, -0.86),
        )
        self.guiBottomBar.hide()

        self.guiCheckButton = DirectButton(
            parent=self.guiBottomBar,
            relief=None,
            image=(
                gui.find("**/CrtAtoon_Btn1_UP"),
                gui.find("**/CrtAtoon_Btn1_DOWN"),
                gui.find("**/CrtAtoon_Btn1_RLLVR"),
            ),
            pos=(1.165, 0, -0.018),
            command=self.__handleNext,
            text=("", TTLocalizer.MakeAToonDone, TTLocalizer.MakeAToonDone),
            text_font=ToontownGlobals.getInterfaceFont(),
            text_scale=0.08,
            text_pos=(0, -0.03),
            text_fg=(1, 1, 1, 1),
            text_shadow=(0, 0, 0, 1),
        )
        self.guiCheckButton.hide()

        self.guiCancelButton = DirectButton(
            parent=self.guiBottomBar,
            relief=None,
            image=(
                gui.find("**/CrtAtoon_Btn2_UP"),
                gui.find("**/CrtAtoon_Btn2_DOWN"),
                gui.find("**/CrtAtoon_Btn2_RLLVR"),
            ),
            pos=(-1.179, 0, -0.011),
            command=self.__handleCancel,
            text=("", TTLocalizer.MakeAToonCancel,
                  TTLocalizer.MakeAToonCancel),
            text_font=ToontownGlobals.getInterfaceFont(),
            text_scale=0.08,
            text_pos=(0, -0.03),
            text_fg=(1, 1, 1, 1),
            text_shadow=(0, 0, 0, 1),
        )
        self.guiCancelButton.hide()

        self.guiNextButton = DirectButton(
            parent=self.guiBottomBar,
            relief=None,
            image=(
                gui.find("**/CrtAtoon_Btn3_UP"),
                gui.find("**/CrtAtoon_Btn3_DN"),
                gui.find("**/CrtAtoon_Btn3_RLVR"),
            ),
            pos=(1.165, 0, -0.018),
            command=self.__handleNext,
            text=("", TTLocalizer.MakeAToonNext, TTLocalizer.MakeAToonNext),
            text_font=ToontownGlobals.getInterfaceFont(),
            text_scale=0.08,
            text_pos=(0, -0.03),
            text_fg=(1, 1, 1, 1),
            text_shadow=(0, 0, 0, 1),
        )
        self.guiNextButton.hide()

        self.guiLastButton = DirectButton(
            parent=self.guiBottomBar,
            relief=None,
            image=(
                gui.find("**/CrtAtoon_Btn3_UP"),
                gui.find("**/CrtAtoon_Btn3_DN"),
                gui.find("**/CrtAtoon_Btn3_RLVR"),
            ),
            image_scale=(-1.0, 1, 1),
            pos=(0.825, 0, -0.018),
            command=self.__handleLast,
            text=("", TTLocalizer.MakeAToonLast, TTLocalizer.MakeAToonLast),
            text_font=ToontownGlobals.getInterfaceFont(),
            text_scale=0.08,
            text_pos=(0, -0.03),
            text_fg=(1, 1, 1, 1),
            text_shadow=(0, 0, 0, 1),
        )
        self.guiLastButton.hide()

        gui.removeNode()

        self.room = loader.loadModel("phase_3/models/gui/create_a_toon")
        self.roomWalls = self.room.find("**/wall_floor")
        self.draftingTable = self.room.find("**/drafting_table")
        self.easel = self.room.find("**/easel")
        self.sewingMachine = self.room.find("**/sewing_machine")

        ee = DirectFrame(pos=(-1, 1, 1),
                         frameSize=(-.01, .01, -.01, .01),
                         frameColor=(0, 0, 0, .05),
                         state='normal')
        ee.bind(DGG.B1PRESS, lambda x, ee=ee: self.toggleSlide())
        self.eee = ee

        # Get rid of the stool for now until we integrate it properly
        self.stool = self.room.find("**/stool")
        self.stool.hide()

        self.draftingTable.hide()
        self.easel.hide()
        self.sewingMachine.hide()

        # create an initial random, naked, grey toon
        if not self.warp:
            self.dna = ToonDNA.ToonDNA()
            animalIndicesToUse = ToonDNA.toonHeadAnimalIndices
            animal = random.choice(animalIndicesToUse)
            head = ToonDNA.toonHeadTypes[animal]
            torso = random.choice(ToonDNA.toonTorsoTypes[-3:])
            leg = random.choice(ToonDNA.toonLegTypes)
            self.dna.newToon((head, torso, leg, 'm'))
        else:
            self.dna = ToonDNA.ToonDNA()
            self.dna.makeFromNetString(self.namelessPotAv.dna)

        self.toon = Toon.Toon()
        self.toon.setDNA(self.dna)
        # make sure the avatar uses its highest LOD
        self.toon.useLOD(1000)
        # make sure his name doesn't show up
        self.toon.setNameVisible(0)
        self.toon.startBlink()
        self.toon.startLookAround()

        # Create Mickey
        self.mickey = Char.Char()
        mickeyDNA = CharDNA.CharDNA()
        mickeyDNA.newChar('mk')
        self.mickey.setDNA(mickeyDNA)

        # Activate Mickey's nametag, so we can see what he's saying.
        #self.mickey.nametag.manage(base.marginManager)
        self.mickey.addActive()
        self.mickey.startEarTask()

        # Choose a suitable scale for his chat balloon.
        self.mickey.setNametagScale(0.8)

        # But we don't want to see his name or anything.
        self.mickey.hideName()

        # But we do want to be able to click on him.
        self.mickey.setPickable(1)

        # And we don't want his speech bubble to extend offscreen.
        self.mickey.nametag.getNametag3d().setChatWordwrap(8)

        # Create Minnie
        self.minnie = Char.Char()
        minnieDNA = CharDNA.CharDNA()
        minnieDNA.newChar('mn')
        self.minnie.setDNA(minnieDNA)

        # Activate Minnie's nametag, so we can see what she's saying.
        #self.minnie.nametag.manage(base.marginManager)
        self.minnie.addActive()
        self.minnie.startEarTask()

        # Choose a suitable scale for her chat balloon.
        self.minnie.setNametagScale(0.8)

        # But we don't want to see her name or anything.
        self.minnie.hideName()

        # But we do want to be able to click on him.
        self.minnie.setPickable(1)

        # And we don't want her speech bubble to be too big
        self.minnie.nametag.getNametag3d().setChatWordwrap(8)

        self.gs.load()
        self.bs.load()
        self.cos.load()
        self.cls.load()
        self.ns.load()

        self.music = base.loadMusic("phase_3/audio/bgm/create_a_toon.mid")
        self.musicVolume = base.config.GetFloat("makeatoon-music-volume", 0.5)
        print self.musicVolume
        self.soundBack = base.loadSfx(
            "phase_3/audio/sfx/GUI_create_toon_back.mp3")

        if base.config.GetString("language", "english") == "japanese":
            self.mickeyDialogueArray = [
                base.loadSfx("phase_3/audio/dial/CC_mickey_create01.mp3"),
                base.loadSfx("phase_3/audio/dial/CC_mickey_create02.mp3"),
                base.loadSfx("phase_3/audio/dial/CC_mickey_create03.mp3")
            ]
        else:
            self.mickeyDialogueArray = [None, None, None]

        if base.config.GetString("language", "english") == "japanese":
            self.minnieDialogueArray = [
                base.loadSfx("phase_3/audio/dial/CC_minnie_create01.mp3"),
                base.loadSfx("phase_3/audio/dial/CC_minnie_create02.mp3"),
                base.loadSfx("phase_3/audio/dial/CC_minnie_create03.mp3")
            ]
        else:
            self.minnieDialogueArray = [None, None, None]
Exemplo n.º 10
0
 def load(self):
     gui = loader.loadModel('phase_3/models/gui/create_a_toon_gui')
     self.guiTopBar = DirectFrame(relief=None, image=gui.find('**/CrtATn_TopBar'), text=TTLocalizer.CreateYourToon, text_font=ToontownGlobals.getSignFont(), text_fg=(0.0,
                                                                                                                                                                      0.65,
                                                                                                                                                                      0.35,
                                                                                                                                                                      1), text_scale=0.03, text_pos=(0,
                                                                                                                                                                                                     -0.03), pos=(0,
                                                                                                                                                                                                                  0,
                                                                                                                                                                                                                  0.86))
     self.guiTopBar.hide()
     self.guiBottomBar = DirectFrame(relief=None, image=gui.find('**/CrtATn_BtmBar'), image_scale=(
      base.getAspectRatio() - 4.0 / 3.0 % 1.25, 1, 1), pos=(0.01, 0, -0.86))
     self.accept('aspectRatioChanged', self.aspectRatioChanged)
     self.guiBottomBar.hide()
     self.guiCheckButton = DirectButton(parent=self.guiBottomBar, relief=None, image=(
      gui.find('**/CrtAtoon_Btn1_UP'), gui.find('**/CrtAtoon_Btn1_DOWN'), gui.find('**/CrtAtoon_Btn1_RLLVR')), pos=(1.165,
                                                                                                                    0,
                                                                                                                    -0.018), command=self.__handleNext, text=(
      '', TTLocalizer.MakeAToonDone, TTLocalizer.MakeAToonDone), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08, text_pos=(0,
                                                                                                                                          -0.03), text_fg=(1,
                                                                                                                                                           1,
                                                                                                                                                           1,
                                                                                                                                                           1), text_shadow=(0,
                                                                                                                                                                            0,
                                                                                                                                                                            0,
                                                                                                                                                                            1))
     self.guiCheckButton.hide()
     self.guiCancelButton = DirectButton(parent=self.guiBottomBar, relief=None, image=(
      gui.find('**/CrtAtoon_Btn2_UP'), gui.find('**/CrtAtoon_Btn2_DOWN'), gui.find('**/CrtAtoon_Btn2_RLLVR')), pos=(-1.179,
                                                                                                                    0,
                                                                                                                    -0.011), command=self.__handleCancel, text=(
      '', TTLocalizer.MakeAToonCancel, TTLocalizer.MakeAToonCancel), text_font=ToontownGlobals.getInterfaceFont(), text_scale=TTLocalizer.MATnextButtonScale, text_pos=(0,
                                                                                                                                                                        -0.03), text_fg=(1,
                                                                                                                                                                                         1,
                                                                                                                                                                                         1,
                                                                                                                                                                                         1), text_shadow=(0,
                                                                                                                                                                                                          0,
                                                                                                                                                                                                          0,
                                                                                                                                                                                                          1))
     self.guiCancelButton.hide()
     self.guiNextButton = DirectButton(parent=self.guiBottomBar, relief=None, image=(
      gui.find('**/CrtAtoon_Btn3_UP'), gui.find('**/CrtAtoon_Btn3_DN'), gui.find('**/CrtAtoon_Btn3_RLVR')), pos=(1.165,
                                                                                                                 0,
                                                                                                                 -0.018), command=self.__handleNext, text=(
      '', TTLocalizer.MakeAToonNext, TTLocalizer.MakeAToonNext), text_font=ToontownGlobals.getInterfaceFont(), text_scale=TTLocalizer.MATnextButtonScale, text_pos=(0,
                                                                                                                                                                    -0.03), text_fg=(1,
                                                                                                                                                                                     1,
                                                                                                                                                                                     1,
                                                                                                                                                                                     1), text_shadow=(0,
                                                                                                                                                                                                      0,
                                                                                                                                                                                                      0,
                                                                                                                                                                                                      1))
     self.guiNextButton.hide()
     self.guiLastButton = DirectButton(parent=self.guiBottomBar, relief=None, image=(
      gui.find('**/CrtAtoon_Btn3_UP'), gui.find('**/CrtAtoon_Btn3_DN'), gui.find('**/CrtAtoon_Btn3_RLVR')), image_scale=(-1.0,
                                                                                                                         1,
                                                                                                                         1), pos=(0.825,
                                                                                                                                  0,
                                                                                                                                  -0.018), command=self.__handleLast, text=(
      '', TTLocalizer.MakeAToonLast, TTLocalizer.MakeAToonLast), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08, text_pos=(0,
                                                                                                                                          -0.03), text_fg=(1,
                                                                                                                                                           1,
                                                                                                                                                           1,
                                                                                                                                                           1), text_shadow=(0,
                                                                                                                                                                            0,
                                                                                                                                                                            0,
                                                                                                                                                                            1))
     self.guiLastButton.hide()
     gui.removeNode()
     self.room = loader.loadModel('phase_3/models/gui/create_a_toon')
     self.roomWalls = self.room.find('**/wall_floor')
     self.draftingTable = self.room.find('**/drafting_table')
     self.easel = self.room.find('**/easel')
     self.sewingMachine = self.room.find('**/sewing_machine')
     ee = DirectFrame(pos=(-1, 1, 1), frameSize=(-0.01, 0.01, -0.01, 0.01), frameColor=(0,
                                                                                        0,
                                                                                        0,
                                                                                        0.05), state='normal')
     ee.bind(DGG.B1PRESS, lambda x, ee=ee: self.toggleSlide())
     self.eee = ee
     self.stool = self.room.find('**/stool')
     self.stool.hide()
     self.draftingTable.hide()
     self.easel.hide()
     self.sewingMachine.hide()
     if not self.warp:
         self.dna = ToonDNA.ToonDNA()
         animalIndicesToUse = ToonDNA.toonHeadAnimalIndices[0:8]
         animal = random.choice(animalIndicesToUse)
         head = ToonDNA.toonHeadTypesMAT[animal]
         torso = random.choice(ToonDNA.toonTorsoTypes[-3:])
         leg = random.choice(ToonDNA.toonLegTypes)
         self.dna.newToon((head, torso, leg, 'm'))
     else:
         self.dna = ToonDNA.ToonDNA()
         self.dna.makeFromNetString(self.namelessPotAv.dna)
     self.toon = Toon.Toon()
     self.toon.setDNA(self.dna)
     self.toon.useLOD(1000)
     self.toon.setNameVisible(0)
     self.toon.startBlink()
     self.toon.startLookAround()
     self.mickey = Char.Char()
     mickeyDNA = CharDNA.CharDNA()
     mickeyDNA.newChar('mk')
     self.mickey.setDNA(mickeyDNA)
     self.mickey.addActive()
     self.mickey.startEarTask()
     self.mickey.setNametagScale(0.8)
     self.mickey.hideName()
     self.mickey.setPickable(1)
     self.mickey.nametag.getNametag3d().setChatWordwrap(8)
     self.minnie = Char.Char()
     minnieDNA = CharDNA.CharDNA()
     minnieDNA.newChar('mn')
     self.minnie.setDNA(minnieDNA)
     self.minnie.addActive()
     self.minnie.startEarTask()
     self.minnie.setNametagScale(0.8)
     self.minnie.hideName()
     self.minnie.setPickable(1)
     self.minnie.nametag.getNametag3d().setChatWordwrap(8)
     self.gs.load()
     self.bs.load()
     self.cos.load()
     self.cls.load()
     self.ns.load()
     self.music = base.loader.loadMusic('phase_3/audio/bgm/create_a_toon.ogg')
     self.musicVolume = base.config.GetFloat('makeatoon-music-volume', 0.5)
     print self.musicVolume
     self.soundBack = base.loader.loadSfx('phase_3/audio/sfx/GUI_create_toon_back.ogg')
     if base.config.GetString('language', 'english') == 'japanese':
         self.mickeyDialogueArray = [base.loader.loadSfx('phase_3/audio/dial/CC_mickey_create01.ogg'),
          base.loader.loadSfx('phase_3/audio/dial/CC_mickey_create02.ogg'),
          base.loader.loadSfx('phase_3/audio/dial/CC_mickey_create03.ogg')]
     else:
         self.mickeyDialogueArray = [
          None,
          None,
          None]
     if base.config.GetString('language', 'english') == 'japanese':
         self.minnieDialogueArray = [base.loader.loadSfx('phase_3/audio/dial/CC_minnie_create01.ogg'),
          base.loader.loadSfx('phase_3/audio/dial/CC_minnie_create02.ogg'),
          base.loader.loadSfx('phase_3/audio/dial/CC_minnie_create03.ogg')]
     else:
         self.minnieDialogueArray = [
          None,
          None,
          None]
     return