コード例 #1
0
 def doPrecache(cls):
     if cls.anim:
         precacheActor([cls.model, {'chan': cls.anim, 'zero': cls.model}])
     elif cls.model:
         precacheModel(cls.model)
     if cls.hitSfxPath:
         precacheSound(cls.hitSfxPath)
コード例 #2
0
    def doPrecache(cls):
        super(HL2Pistol, cls).doPrecache()

        precacheActor(cls.sgActorDef)

        precacheSound(cls.sgFirePath)
        precacheSound(cls.sgEmptyPath)
        precacheSound(cls.sgReloadPath)
コード例 #3
0
    def doPrecache(cls):
        precacheActor(cls.sgActorDef)

        precacheSound(cls.sgFirePath)
        precacheSound(cls.sgDblFirePath)
        precacheSound(cls.sgPumpPath)
        precacheSound(cls.sgEmptyPath)
        for rl in cls.sgReloadPaths:
            precacheSound(rl)
コード例 #4
0
 def doPrecache(cls):
     if cls.ModelAnimPath:
         precacheActor([
             cls.ModelPath, {
                 'chan': cls.ModelAnimPath,
                 'zero': cls.ModelPath
             }
         ])
     elif cls.ModelPath:
         precacheModel(cls.ModelPath)
コード例 #5
0
ファイル: BaseAttack.py プロジェクト: tsp-team/ttsp-src
    def doPrecache(cls):
        print("BaseAttack(%s).doPrecache()" % cls.ModelPath)
        if cls.ModelAnimPath:
            precacheActor([
                cls.ModelPath, {
                    'chan': cls.ModelAnimPath,
                    'zero': cls.ModelPath
                }
            ])
        elif cls.ModelPath:
            precacheModel(cls.ModelPath)

        if cls.SpecialVM and cls.SpecialVMActor:
            precacheActor(cls.SpecialVMActor)
コード例 #6
0
def precacheSuits():
    from src.coginvasion.cog import Variant
    from src.coginvasion.cog.DistributedSuit import DistributedSuit
    from src.coginvasion.base.Precache import precacheActor
    suit = DistributedSuit(None)
    suit.doId = 0
    for suitPlan in totalSuits:
        print("Precaching", suitPlan.name)
        suit.suitPlan = suitPlan
        suit.suit = suitPlan.getSuitType()
        suit.head = suitPlan.getHead()
        suit.dept = suitPlan.getDept()
        suit.handColor = suitPlan.getHandColor()
        suit.variant = Variant.NORMAL
        suit.level = 0
        suit.generateCog(nameTag = False)
        precacheActor(suit)
        suit.generateCog(isLose = 1, nameTag = False)
        precacheActor(suit)

    # Now also do the skelecog versions
    for suitType in [SuitType.A, SuitType.B, SuitType.C]:
        suit.variant = Variant.SKELETON
        suit.suit = suitType
        suit.generateCog(nameTag = False)
        precacheActor(suit)
        suit.generateCog(isLose = 1, nameTag = False)
        precacheActor(suit)

    suit.disable()
    suit.delete()
コード例 #7
0
 def doPrecache(cls):
     super(HL2Shotgun, cls).doPrecache()
     
     precacheActor(cls.sgActorDef)
     
     precacheSound(cls.sgFirePath)
     precacheSound(cls.sgDblFirePath)
     precacheSound(cls.sgPumpPath)
     precacheSound(cls.sgEmptyPath)
     for rl in cls.sgReloadPaths:
         precacheSound(rl)
         
     precacheModel(cls.ShellPath)
     for i in xrange(cls.ShellContactSoundRange[0], cls.ShellContactSoundRange[1] + 1):
         precacheSound(cls.ShellContactSoundPath.format(i))
コード例 #8
0
def precacheSuits():
    from src.coginvasion.cog import Variant
    from src.coginvasion.cog.Suit import Suit
    from src.coginvasion.base.Precache import precacheActor
    suit = Suit()
    for suitPlan in totalSuits:
        print "Precaching", suitPlan.name
        suit.suitPlan = suitPlan
        suit.suit = suitPlan.getSuitType()
        suit.head = suitPlan.getHead()
        suit.dept = suitPlan.getDept()
        suit.handColor = suitPlan.getHandColor()
        suit.variant = Variant.NORMAL
        suit.level = 0
        suit.generateCog(nameTag=False)
        precacheActor(suit)
        suit.generateCog(isLose=1, nameTag=False)
        precacheActor(suit)
    suit.disable()
    suit.delete()
コード例 #9
0
def precacheToons():
    """
    Precaches all Toon models and animations!
    """
    
    from src.coginvasion.base.Precache import precacheActor, precacheModel
    from direct.actor.Actor import Actor
    
    for legType in LegHeightDict.keys():
        toon = Actor()
        generateBodyPart(toon, 'legs', legType, 3, 'shorts')
        precacheActor(toon)
        toon.cleanup()
        toon.removeNode()
        
    for torsoType in TorsoHeightDict.keys():
        toon = Actor()
        generateBodyPart(toon, 'torso', torsoType, 3, '')
        precacheActor(toon)
        toon.cleanup()
        toon.removeNode()
        
    for animal in HeadScales.keys():
        if animal != "dog":
            precacheModel("phase_3/models/char/%s-heads-1000.bam" % animal)
        else:
            for headType in DogHeads:
                # precache all dog head models and animations
                
                mdl = "phase_3/models/char/tt_a_chr_%s_head_1000.bam" % headType
                partAnimations = {}

                # Load the body part animations.
                for animName in ANIMATIONS:
                    animationData = list(ANIMATIONS[animName])
                    animPath = None

                    if len(animationData) == 2:
                        animPhase = animationData[0]
                        animFile = animationData[1]

                        # Let's create the path for the animation.
                        animPath = BASE_MODEL % (animPhase, headType, '',
                            'head', animFile)

                        if '_-' in animPath:
                            animPath = animPath.replace('_-', '-')

                        if '__' in animPath:
                            animPath = animPath.replace('__', '_')

                    partAnimations[animName] = animPath
                precacheActor([mdl, partAnimations])
コード例 #10
0
ファイル: NPC_VP.py プロジェクト: tsp-team/ttsp-src
 def doPrecache(cls):
     super(NPC_VP, cls).doPrecache()
     precacheActor(cls.LegsActorDef)
     precacheActor(cls.TorsoActorDef)
     precacheActor(cls.HeadActorDef)
     precacheModel(cls.TreadsModel)
     precacheSound(cls.ThrowGearsSoundPath)
     precacheSound(cls.DoorOpenSoundPath)
     precacheSound(cls.DoorCloseSoundPath)
     precacheSound(cls.StatementSoundPath)
     precacheSound(cls.QuestionSoundPath)
     precacheSound(cls.GruntSoundPath)
     precacheSound(cls.StunSoundPath)
     precacheSound(cls.RaiseSoundPath)
     precacheSound(cls.JumpStartSoundPath)
     precacheSound(cls.JumpEndSoundPath)
     precacheSound(cls.ChirpSoundPath)
コード例 #11
0
ファイル: FPSCamera.py プロジェクト: NoraTheGamer/cio-src
    def __init__(self):
        DirectObject.__init__(self)

        self.mouseEnabled = False

        self.lastCamRoot2Quat = Quat(Quat.identQuat())

        self.punchAngleVel = Vec3(0)
        self.punchAngle = Vec3(0)

        self.lastFacing = Vec3(0)

        self.lastMousePos = Point2(0)
        self.currMousePos = Point2(0)

        self.bobTime = 0
        self.lastBobTime = 0

        self.lastVMPos = Point3(0)

        self.camRoot = NodePath("camRoot")
        self.camRoot2 = self.camRoot.attachNewNode("camRoot2")
        self.lastPitch = 0

        self.lastEyeHeight = 0.0

        # Updates to the transform of camRoot
        self.vmRender = NodePath(
            BSPRender('vmRender', BSPLoader.getGlobalPtr()))
        self.vmRender.setShaderAuto()
        self.vmRoot = self.vmRender.attachNewNode('vmRoot')
        self.vmRoot2 = self.vmRoot.attachNewNode(ModelRoot('vmRoot2'))
        self.viewModel = Actor(
            "phase_14/models/char/v_toon_arms.bam",
            {
                "zero": "phase_14/models/char/v_toon_arms.egg",

                # Squirt gun viewmodel animations
                "sg_draw": "phase_14/models/char/v_toon_arms-draw.egg",
                "sg_idle": "phase_14/models/char/v_toon_arms-idle.egg",
                "sg_inspect": "phase_14/models/char/v_toon_arms-inspect.egg",
                "sg_shoot_begin":
                "phase_14/models/char/v_toon_arms-shoot_begin.egg",
                "sg_shoot_loop":
                "phase_14/models/char/v_toon_arms-shoot_loop.egg",
                "sg_shoot_end":
                "phase_14/models/char/v_toon_arms-shoot_end.egg",
                "pie_draw": "phase_14/models/char/v_toon_arms-pie_draw.egg",
                "pie_idle": "phase_14/models/char/v_toon_arms-pie_idle.egg",
                "button_draw":
                "phase_14/models/char/v_toon_arms-button_draw.egg",
                "button_idle":
                "phase_14/models/char/v_toon_arms-button_idle.egg",
                "button_press":
                "phase_14/models/char/v_toon_arms-button_press.egg",
                "gumball_draw":
                "phase_14/models/char/v_toon_arms-gumball_draw.egg",
                "gumball_idle":
                "phase_14/models/char/v_toon_arms-gumball_idle.egg",
                "gumball_fire":
                "phase_14/models/char/v_toon_arms-gumball_fire.egg",
                "hose_draw": "phase_14/models/char/v_toon_arms-hose_draw.egg",
                "hose_idle": "phase_14/models/char/v_toon_arms-hose_idle.egg",
                "hose_shoot_begin":
                "phase_14/models/char/v_toon_arms-hose_shoot_begin.egg",
                "hose_shoot_loop":
                "phase_14/models/char/v_toon_arms-hose_shoot_loop.egg",
                "hose_shoot_end":
                "phase_14/models/char/v_toon_arms-hose_shoot_end.egg",
                "tnt_draw": "phase_14/models/char/v_toon_arms-tnt_draw.egg",
                "tnt_idle": "phase_14/models/char/v_toon_arms-tnt_idle.egg",
                "tnt_throw": "phase_14/models/char/v_toon_arms-tnt_throw.egg",
                "slap_idle": "phase_14/models/char/v_toon_arms-slap_idle.egg",
                "slap_hit": "phase_14/models/char/v_toon_arms-slap_hit.egg",
                "sound": "phase_14/models/char/v_toon_arms-sound.egg"
            })
        self.viewModel.setBlend(
            frameBlend=base.config.GetBool("interpolate-frames", False))
        self.viewModel.reparentTo(self.vmRoot2)
        self.viewModel.find("**/hands").setTwoSided(True)
        self.viewModel.hide()

        self.defaultViewModel = self.viewModel
        self.idealFov = self.ViewModelFOV

        precacheActor(self.viewModel)
        #self.viewModel.clearMaterial()
        #self.viewModel.setMaterial(CIGlobals.getCharacterMaterial(specular = (0, 0, 0, 1)), 1)
        self.viewportLens = PerspectiveLens()
        self.viewportLens.setMinFov(self.ViewModelFOV / (4. / 3.))
        self.viewportLens.setNear(0.3)
        # Updates to the transform of base.camera
        self.viewportCam = base.makeCamera(base.win,
                                           clearDepth=True,
                                           camName='fpsViewport',
                                           mask=CIGlobals.ViewModelCamMask,
                                           lens=self.viewportLens)
        # Pretend to be the main camera so the viewmodel gets ambient probes updated
        self.viewportCam.node().setTag("__mainpass__", "1")
        self.viewportCam.reparentTo(self.vmRoot)

        self.vmGag = None
        self.vmAnimTrack = None
        self.dmgFade = OnscreenImage(image="phase_14/maps/damage_effect.png",
                                     parent=render2d)
        self.dmgFade.setBin('gui-popup', 100)
        self.dmgFade.setTransparency(1)
        self.dmgFade.setColorScale(1, 1, 1, 0)
        self.dmgFadeIval = None

        #self.accept('v', self.vmRender.ls)

        #base.bspLoader.addDynamicNode(self.vmRoot)

        if self.PrintAnimLengths:
            print "v_toon_arms animation lengths:"
            for anim in self.viewModel.getAnimNames():
                print "\t{0}\t:\t{1}".format(anim,
                                             self.viewModel.getDuration(anim))

        taskMgr.add(self.__vpDebugTask, "vpdebutask", sort=-100)
コード例 #12
0
ファイル: NPC_Goon.py プロジェクト: tsp-team/ttsp-src
 def doPrecache(cls):
     super(cls, NPC_Goon).doPrecache()
     from src.coginvasion.base.Precache import precacheActor
     precacheActor(cls.GoonieActorDef)