general: start working on goofy speedway
This commit is contained in:
parent
cb98eab37f
commit
b2e2c0f68b
|
|
@ -1,4 +1,5 @@
|
||||||
from direct.directnotify import DirectNotifyGlobal
|
from direct.directnotify import DirectNotifyGlobal
|
||||||
|
from panda3d.core import *
|
||||||
|
|
||||||
from libtoontown import *
|
from libtoontown import *
|
||||||
from otp.ai.AIZoneData import AIZoneDataStore
|
from otp.ai.AIZoneData import AIZoneDataStore
|
||||||
|
|
@ -17,6 +18,7 @@ from toontown.hood.BRHoodDataAI import BRHoodDataAI
|
||||||
from toontown.hood.DDHoodDataAI import DDHoodDataAI
|
from toontown.hood.DDHoodDataAI import DDHoodDataAI
|
||||||
from toontown.hood.DGHoodDataAI import DGHoodDataAI
|
from toontown.hood.DGHoodDataAI import DGHoodDataAI
|
||||||
from toontown.hood.DLHoodDataAI import DLHoodDataAI
|
from toontown.hood.DLHoodDataAI import DLHoodDataAI
|
||||||
|
from toontown.hood.GSHoodDataAI import GSHoodDataAI
|
||||||
from toontown.hood.MMHoodDataAI import MMHoodDataAI
|
from toontown.hood.MMHoodDataAI import MMHoodDataAI
|
||||||
from toontown.hood.TTHoodDataAI import TTHoodDataAI
|
from toontown.hood.TTHoodDataAI import TTHoodDataAI
|
||||||
from toontown.pets.PetManagerAI import PetManagerAI
|
from toontown.pets.PetManagerAI import PetManagerAI
|
||||||
|
|
@ -193,6 +195,12 @@ class ToontownAIRepository(ToontownInternalRepository):
|
||||||
)
|
)
|
||||||
self.generateHood(DGHoodDataAI, ToontownGlobals.DaisyGardens)
|
self.generateHood(DGHoodDataAI, ToontownGlobals.DaisyGardens)
|
||||||
|
|
||||||
|
# Goofy Speedway
|
||||||
|
self.zoneTable[ToontownGlobals.GoofySpeedway] = (
|
||||||
|
(ToontownGlobals.GoofySpeedway, 1, 0),
|
||||||
|
)
|
||||||
|
self.generateHood(GSHoodDataAI, ToontownGlobals.GoofySpeedway)
|
||||||
|
|
||||||
# Donald's Dreamland
|
# Donald's Dreamland
|
||||||
self.zoneTable[ToontownGlobals.DonaldsDreamland] = (
|
self.zoneTable[ToontownGlobals.DonaldsDreamland] = (
|
||||||
(ToontownGlobals.DonaldsDreamland, 1, 0), (ToontownGlobals.LullabyLane, 1, 1),
|
(ToontownGlobals.DonaldsDreamland, 1, 0), (ToontownGlobals.LullabyLane, 1, 1),
|
||||||
|
|
@ -216,6 +224,27 @@ class ToontownAIRepository(ToontownInternalRepository):
|
||||||
|
|
||||||
return 'phase_%s/dna/%s_%s.dna' % (phase, hood, canonicalZoneId)
|
return 'phase_%s/dna/%s_%s.dna' % (phase, hood, canonicalZoneId)
|
||||||
|
|
||||||
|
def lookupDNAFileName(self, dnaFileName):
|
||||||
|
searchPath = DSearchPath()
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_3.5/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_4/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_5/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_5.5/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_6/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_8/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_9/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_10/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_11/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_12/dna'))
|
||||||
|
searchPath.appendDirectory(Filename('resources/phase_13/dna'))
|
||||||
|
filename = Filename(dnaFileName)
|
||||||
|
found = vfs.resolveFilename(filename, searchPath)
|
||||||
|
if not found:
|
||||||
|
self.notify.warning('lookupDNAFileName - %s not found on:' % dnaFileName)
|
||||||
|
print searchPath
|
||||||
|
else:
|
||||||
|
return filename.getFullpath()
|
||||||
|
|
||||||
def loadDNAFileAI(self, dnaStore, dnaFileName):
|
def loadDNAFileAI(self, dnaStore, dnaFileName):
|
||||||
return loadDNAFileAI(dnaStore, dnaFileName)
|
return loadDNAFileAI(dnaStore, dnaFileName)
|
||||||
|
|
||||||
|
|
@ -225,6 +254,12 @@ class ToontownAIRepository(ToontownInternalRepository):
|
||||||
def findPartyHats(self, dnaData, zoneId):
|
def findPartyHats(self, dnaData, zoneId):
|
||||||
return [] # TODO
|
return [] # TODO
|
||||||
|
|
||||||
|
def findRacingPads(self, dnaData, zoneId, area, type='racing_pad'):
|
||||||
|
return [], [] # TODO
|
||||||
|
|
||||||
|
def findLeaderBoards(self, dnaData, zoneId):
|
||||||
|
return [] # TODO
|
||||||
|
|
||||||
def getTrackClsends(self):
|
def getTrackClsends(self):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@ class Char(Avatar.Avatar):
|
||||||
self.initializeDropShadow()
|
self.initializeDropShadow()
|
||||||
self.initializeNametag3d()
|
self.initializeNametag3d()
|
||||||
self.nametag3d.setBin('fixed', 0)
|
self.nametag3d.setBin('fixed', 0)
|
||||||
if self.name == 'chip' or self.name == 'dale' or self.name == 'police_chip' or self.name == 'jailbird_dale':
|
if self._name == 'chip' or self._name == 'dale' or self._name == 'police_chip' or self._name == 'jailbird_dale':
|
||||||
self.find('**/drop-shadow').setScale(0.33)
|
self.find('**/drop-shadow').setScale(0.33)
|
||||||
|
|
||||||
def setLODs(self):
|
def setLODs(self):
|
||||||
|
|
@ -148,40 +148,40 @@ class Char(Avatar.Avatar):
|
||||||
|
|
||||||
def generateChar(self):
|
def generateChar(self):
|
||||||
dna = self.style
|
dna = self.style
|
||||||
self.name = dna.getCharName()
|
self._name = dna.getCharName()
|
||||||
self.geoEyes = 0
|
self.geoEyes = 0
|
||||||
if len(LODModelDict[dna.name]) > 1:
|
if len(LODModelDict[dna.name]) > 1:
|
||||||
self.setLODs()
|
self.setLODs()
|
||||||
filePrefix = ModelDict[dna.name]
|
filePrefix = ModelDict[dna.name]
|
||||||
if self.name == 'mickey':
|
if self._name == 'mickey':
|
||||||
height = 3.0
|
height = 3.0
|
||||||
elif self.name == 'vampire_mickey':
|
elif self._name == 'vampire_mickey':
|
||||||
height = 3.0
|
height = 3.0
|
||||||
elif self.name == 'minnie':
|
elif self._name == 'minnie':
|
||||||
height = 3.0
|
height = 3.0
|
||||||
elif self.name == 'witch_minnie':
|
elif self._name == 'witch_minnie':
|
||||||
height = 3.0
|
height = 3.0
|
||||||
elif self.name == 'goofy':
|
elif self._name == 'goofy':
|
||||||
height = 4.8
|
height = 4.8
|
||||||
elif self.name == 'super_goofy':
|
elif self._name == 'super_goofy':
|
||||||
height = 4.8
|
height = 4.8
|
||||||
elif self.name == 'donald' or self.name == 'donald-wheel' or self.name == 'franken_donald':
|
elif self._name == 'donald' or self._name == 'donald-wheel' or self._name == 'franken_donald':
|
||||||
height = 4.5
|
height = 4.5
|
||||||
elif self.name == 'daisy' or self.name == 'sockHop_daisy':
|
elif self._name == 'daisy' or self._name == 'sockHop_daisy':
|
||||||
height = 4.5
|
height = 4.5
|
||||||
elif self.name == 'pluto':
|
elif self._name == 'pluto':
|
||||||
height = 3.0
|
height = 3.0
|
||||||
elif self.name == 'western_pluto':
|
elif self._name == 'western_pluto':
|
||||||
height = 4.5
|
height = 4.5
|
||||||
elif self.name == 'clarabelle':
|
elif self._name == 'clarabelle':
|
||||||
height = 3.0
|
height = 3.0
|
||||||
elif self.name == 'chip':
|
elif self._name == 'chip':
|
||||||
height = 2.0
|
height = 2.0
|
||||||
elif self.name == 'dale':
|
elif self._name == 'dale':
|
||||||
height = 2.0
|
height = 2.0
|
||||||
elif self.name == 'police_chip':
|
elif self._name == 'police_chip':
|
||||||
height = 2.0
|
height = 2.0
|
||||||
elif self.name == 'jailbird_dale':
|
elif self._name == 'jailbird_dale':
|
||||||
height = 2.0
|
height = 2.0
|
||||||
self.lodStrings = []
|
self.lodStrings = []
|
||||||
for lod in LODModelDict[self.style.name]:
|
for lod in LODModelDict[self.style.name]:
|
||||||
|
|
@ -193,7 +193,7 @@ class Char(Avatar.Avatar):
|
||||||
lodName = lodStr
|
lodName = lodStr
|
||||||
else:
|
else:
|
||||||
lodName = 'lodRoot'
|
lodName = 'lodRoot'
|
||||||
if self.name == 'goofy':
|
if self._name == 'goofy':
|
||||||
self.loadModel(filePrefix + '-' + lodStr, lodName=lodName)
|
self.loadModel(filePrefix + '-' + lodStr, lodName=lodName)
|
||||||
else:
|
else:
|
||||||
self.loadModel(filePrefix + lodStr, lodName=lodName)
|
self.loadModel(filePrefix + lodStr, lodName=lodName)
|
||||||
|
|
@ -216,7 +216,7 @@ class Char(Avatar.Avatar):
|
||||||
self.setHeight(height)
|
self.setHeight(height)
|
||||||
self.loadDialogue(dna.name)
|
self.loadDialogue(dna.name)
|
||||||
self.ears = []
|
self.ears = []
|
||||||
if self.name == 'mickey' or self.name == 'vampire_mickey' or self.name == 'minnie':
|
if self._name == 'mickey' or self._name == 'vampire_mickey' or self._name == 'minnie':
|
||||||
for bundle in self.getPartBundleDict().values():
|
for bundle in self.getPartBundleDict().values():
|
||||||
bundle = bundle['modelRoot'].getBundle()
|
bundle = bundle['modelRoot'].getBundle()
|
||||||
earNull = bundle.findChild('sphere3')
|
earNull = bundle.findChild('sphere3')
|
||||||
|
|
@ -251,7 +251,7 @@ class Char(Avatar.Avatar):
|
||||||
self.rpupil = None
|
self.rpupil = None
|
||||||
self.eyesOpen = None
|
self.eyesOpen = None
|
||||||
self.eyesClosed = None
|
self.eyesClosed = None
|
||||||
if self.name == 'mickey' or self.name == 'minnie':
|
if self._name == 'mickey' or self._name == 'minnie':
|
||||||
self.eyesOpen = loader.loadTexture('phase_3/maps/eyes1.jpg', 'phase_3/maps/eyes1_a.rgb')
|
self.eyesOpen = loader.loadTexture('phase_3/maps/eyes1.jpg', 'phase_3/maps/eyes1_a.rgb')
|
||||||
self.eyesClosed = loader.loadTexture('phase_3/maps/mickey_eyes_closed.jpg', 'phase_3/maps/mickey_eyes_closed_a.rgb')
|
self.eyesClosed = loader.loadTexture('phase_3/maps/mickey_eyes_closed.jpg', 'phase_3/maps/mickey_eyes_closed_a.rgb')
|
||||||
self.eyes = self.find('**/1200/**/eyes')
|
self.eyes = self.find('**/1200/**/eyes')
|
||||||
|
|
@ -261,14 +261,14 @@ class Char(Avatar.Avatar):
|
||||||
for lodName in self.getLODNames():
|
for lodName in self.getLODNames():
|
||||||
self.drawInFront('joint_pupil?', 'eyes*', -3, lodName=lodName)
|
self.drawInFront('joint_pupil?', 'eyes*', -3, lodName=lodName)
|
||||||
|
|
||||||
elif (self.name == 'witch_minnie' or
|
elif (self._name == 'witch_minnie' or
|
||||||
self.name == 'vampire_mickey' or
|
self._name == 'vampire_mickey' or
|
||||||
self.name == 'super_goofy' or
|
self._name == 'super_goofy' or
|
||||||
self.name == 'western_pluto' or
|
self._name == 'western_pluto' or
|
||||||
self.name == 'police_chip' or
|
self._name == 'police_chip' or
|
||||||
self.name == 'jailbird_dale' or
|
self._name == 'jailbird_dale' or
|
||||||
self.name == 'franken_donald' or
|
self._name == 'franken_donald' or
|
||||||
self.name == 'sockHop_daisy'):
|
self._name == 'sockHop_daisy'):
|
||||||
self.geoEyes = 1
|
self.geoEyes = 1
|
||||||
self.eyeOpenList = []
|
self.eyeOpenList = []
|
||||||
self.eyeCloseList = []
|
self.eyeCloseList = []
|
||||||
|
|
@ -284,7 +284,7 @@ class Char(Avatar.Avatar):
|
||||||
for part in self.eyeCloseList:
|
for part in self.eyeCloseList:
|
||||||
part.hide()
|
part.hide()
|
||||||
|
|
||||||
elif self.name == 'pluto':
|
elif self._name == 'pluto':
|
||||||
self.eyesOpen = loader.loadTexture('phase_6/maps/plutoEyesOpen.jpg', 'phase_6/maps/plutoEyesOpen_a.rgb')
|
self.eyesOpen = loader.loadTexture('phase_6/maps/plutoEyesOpen.jpg', 'phase_6/maps/plutoEyesOpen_a.rgb')
|
||||||
self.eyesClosed = loader.loadTexture('phase_6/maps/plutoEyesClosed.jpg', 'phase_6/maps/plutoEyesClosed_a.rgb')
|
self.eyesClosed = loader.loadTexture('phase_6/maps/plutoEyesClosed.jpg', 'phase_6/maps/plutoEyesClosed_a.rgb')
|
||||||
self.eyes = self.find('**/1000/**/eyes')
|
self.eyes = self.find('**/1000/**/eyes')
|
||||||
|
|
@ -293,7 +293,7 @@ class Char(Avatar.Avatar):
|
||||||
for lodName in self.getLODNames():
|
for lodName in self.getLODNames():
|
||||||
self.drawInFront('joint_pupil?', 'eyes*', -3, lodName=lodName)
|
self.drawInFront('joint_pupil?', 'eyes*', -3, lodName=lodName)
|
||||||
|
|
||||||
elif self.name == 'daisy':
|
elif self._name == 'daisy':
|
||||||
self.geoEyes = 1
|
self.geoEyes = 1
|
||||||
self.eyeOpenList = []
|
self.eyeOpenList = []
|
||||||
self.eyeCloseList = []
|
self.eyeCloseList = []
|
||||||
|
|
@ -311,12 +311,12 @@ class Char(Avatar.Avatar):
|
||||||
for part in self.eyeCloseList:
|
for part in self.eyeCloseList:
|
||||||
part.hide()
|
part.hide()
|
||||||
|
|
||||||
elif self.name == 'donald-wheel':
|
elif self._name == 'donald-wheel':
|
||||||
self.eyes = self.find('**/eyes')
|
self.eyes = self.find('**/eyes')
|
||||||
self.lpupil = self.find('**/joint_pupilL')
|
self.lpupil = self.find('**/joint_pupilL')
|
||||||
self.rpupil = self.find('**/joint_pupilR')
|
self.rpupil = self.find('**/joint_pupilR')
|
||||||
self.drawInFront('joint_pupil?', 'eyes*', -3)
|
self.drawInFront('joint_pupil?', 'eyes*', -3)
|
||||||
elif self.name == 'chip' or self.name == 'dale':
|
elif self._name == 'chip' or self._name == 'dale':
|
||||||
self.eyesOpen = loader.loadTexture('phase_6/maps/dale_eye1.jpg', 'phase_6/maps/dale_eye1_a.rgb')
|
self.eyesOpen = loader.loadTexture('phase_6/maps/dale_eye1.jpg', 'phase_6/maps/dale_eye1_a.rgb')
|
||||||
self.eyesClosed = loader.loadTexture('phase_6/maps/chip_dale_eye1_blink.jpg', 'phase_6/maps/chip_dale_eye1_blink_a.rgb')
|
self.eyesClosed = loader.loadTexture('phase_6/maps/chip_dale_eye1_blink.jpg', 'phase_6/maps/chip_dale_eye1_blink_a.rgb')
|
||||||
self.eyes = self.find('**/eyes')
|
self.eyes = self.find('**/eyes')
|
||||||
|
|
@ -332,12 +332,12 @@ class Char(Avatar.Avatar):
|
||||||
if self.eyesClosed:
|
if self.eyesClosed:
|
||||||
self.eyesClosed.setMinfilter(Texture.FTLinear)
|
self.eyesClosed.setMinfilter(Texture.FTLinear)
|
||||||
self.eyesClosed.setMagfilter(Texture.FTLinear)
|
self.eyesClosed.setMagfilter(Texture.FTLinear)
|
||||||
if self.name == 'mickey':
|
if self._name == 'mickey':
|
||||||
pupilParent = self.rpupil.getParent()
|
pupilParent = self.rpupil.getParent()
|
||||||
pupilOffsetNode = pupilParent.attachNewNode('pupilOffsetNode')
|
pupilOffsetNode = pupilParent.attachNewNode('pupilOffsetNode')
|
||||||
pupilOffsetNode.setPos(0, 0.025, 0)
|
pupilOffsetNode.setPos(0, 0.025, 0)
|
||||||
self.rpupil.reparentTo(pupilOffsetNode)
|
self.rpupil.reparentTo(pupilOffsetNode)
|
||||||
self.__blinkName = 'blink-' + self.name
|
self.__blinkName = 'blink-' + self._name
|
||||||
return
|
return
|
||||||
|
|
||||||
def swapCharModel(self, charStyle):
|
def swapCharModel(self, charStyle):
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ from otp.distributed.TelemetryLimiter import RotationLimitToH, TLGatherAllAvs
|
||||||
from toontown.toonbase import ToontownGlobals
|
from toontown.toonbase import ToontownGlobals
|
||||||
from toontown.building import Elevator
|
from toontown.building import Elevator
|
||||||
from pandac.PandaModules import *
|
from pandac.PandaModules import *
|
||||||
|
from libotp import *
|
||||||
|
|
||||||
class FactoryExterior(BattlePlace.BattlePlace):
|
class FactoryExterior(BattlePlace.BattlePlace):
|
||||||
notify = DirectNotifyGlobal.directNotify.newCategory('FactoryExterior')
|
notify = DirectNotifyGlobal.directNotify.newCategory('FactoryExterior')
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ import HoodDataAI, ZoneUtil
|
||||||
from toontown.toonbase import ToontownGlobals
|
from toontown.toonbase import ToontownGlobals
|
||||||
from toontown.racing import DistributedStartingBlockAI
|
from toontown.racing import DistributedStartingBlockAI
|
||||||
from pandac.PandaModules import *
|
from pandac.PandaModules import *
|
||||||
|
from libtoontown import *
|
||||||
from toontown.racing.RaceGlobals import *
|
from toontown.racing.RaceGlobals import *
|
||||||
from toontown.classicchars import DistributedGoofySpeedwayAI
|
from toontown.classicchars import DistributedGoofySpeedwayAI
|
||||||
if __debug__:
|
if __debug__:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue