From f04bb95b95834ed65aab5c1587565b8ec645f954 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 15 Mar 2015 00:15:24 +0200 Subject: [PATCH 1/2] Start work on pets --- config/release/dev.prc | 2 +- toontown/pets/PetNameGenerator.py | 88 ----------------------- toontown/pets/PetUtil.py | 8 +-- toontown/pets/PetshopGUI.py | 21 ++---- toontown/toon/DistributedNPCPetclerkAI.py | 2 +- toontown/toonbase/TTLocalizerEnglish.py | 40 ++++++++++- 6 files changed, 48 insertions(+), 113 deletions(-) delete mode 100644 toontown/pets/PetNameGenerator.py diff --git a/config/release/dev.prc b/config/release/dev.prc index bea2722d..3c37338e 100644 --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -20,7 +20,7 @@ dc-file astron/dclass/toon.dc dc-file astron/dclass/otp.dc # Core features: -want-pets #f +want-pets #t want-parties #t want-cogdominiums #f want-achievements #f diff --git a/toontown/pets/PetNameGenerator.py b/toontown/pets/PetNameGenerator.py deleted file mode 100644 index a7a5bcbd..00000000 --- a/toontown/pets/PetNameGenerator.py +++ /dev/null @@ -1,88 +0,0 @@ -import random -from toontown.toonbase import ToontownGlobals -from toontown.toonbase import TTLocalizer -import os -from direct.showbase import AppRunnerGlobal -from direct.directnotify import DirectNotifyGlobal -from pandac.PandaModules import * - -class PetNameGenerator: - notify = DirectNotifyGlobal.directNotify.newCategory('PetNameGenerator') - boyFirsts = [] - girlFirsts = [] - neutralFirsts = [] - - def __init__(self): - self.generateLists() - - def generateLists(self): - self.boyFirsts = [] - self.girlFirsts = [] - self.neutralFirsts = [] - self.nameDictionary = {} - searchPath = DSearchPath() - if AppRunnerGlobal.appRunner: - searchPath.appendDirectory(Filename.expandFrom('$TT_3_ROOT/phase_3/etc')) - else: - searchPath.appendDirectory(Filename('/phase_3/etc')) - if os.path.expandvars('$TOONTOWN') != '': - searchPath.appendDirectory(Filename.fromOsSpecific(os.path.expandvars('$TOONTOWN/src/configfiles'))) - else: - searchPath.appendDirectory(Filename.fromOsSpecific(os.path.expandvars('toontown/src/configfiles'))) - searchPath.appendDirectory(Filename('.')) - if __debug__: - filename = '../resources/phase_3/etc/'+TTLocalizer.PetNameMaster - else: - filename = '/phase_3/etc/'+TTLocalizer.PetNameMaster - input = open(filename, 'r') - if not input: - self.notify.error('PetNameGenerator: Error opening name list text file.') - currentLine = input.readline() - while currentLine: - if currentLine.lstrip()[0:1] != '#': - a1 = currentLine.find('*') - a2 = currentLine.find('*', a1 + 1) - self.nameDictionary[int(currentLine[0:a1])] = (int(currentLine[a1 + 1:a2]), currentLine[a2 + 1:len(currentLine) - 1].strip()) - currentLine = input.readline() - - masterList = [self.boyFirsts, self.girlFirsts, self.neutralFirsts] - for tu in self.nameDictionary.values(): - masterList[tu[0]].append(tu[1]) - - return 1 - - def getName(self, uniqueID): - try: - return self.nameDictionary[uniqueID][1] - except: - return self.nameDictionary[0][1] - - def returnUniqueID(self, name): - newtu = [(), (), ()] - newtu[0] = (0, name) - newtu[1] = (1, name) - newtu[2] = (2, name) - for tu in self.nameDictionary.items(): - for g in newtu: - if tu[1] == g: - return tu[0] - - return -1 - - def randomName(self, gender = None, seed = None): - S = random.getstate() - if seed is not None: - random.seed(seed) - if gender is None: - gender = random.choice([0, 1]) - retString = '' - firstList = self.neutralFirsts[:] - if gender == 0: - firstList += self.boyFirsts - elif gender == 1: - firstList += self.girlFirsts - else: - self.error('Must be boy or girl.') - retString += random.choice(firstList) - random.setstate(S) - return retString diff --git a/toontown/pets/PetUtil.py b/toontown/pets/PetUtil.py index c7afbcfa..8eb1c11a 100644 --- a/toontown/pets/PetUtil.py +++ b/toontown/pets/PetUtil.py @@ -1,16 +1,12 @@ from toontown.pets import PetDNA, PetTraits, PetConstants -from toontown.pets import PetNameGenerator +from toontown.toonbase import TTLocalizer from direct.showbase import PythonUtil -import random def getPetInfoFromSeed(seed, safezoneId): - S = random.getstate() - random.seed(seed) dnaArray = PetDNA.getRandomPetDNA(safezoneId) gender = PetDNA.getGender(dnaArray) - nameString = PetNameGenerator.PetNameGenerator().randomName(gender=gender, seed=seed + safezoneId) + nameString = TTLocalizer.getRandomPetName(gender=gender, seed=seed + safezoneId) traitSeed = PythonUtil.randUint31() - random.setstate(S) return (nameString, dnaArray, traitSeed) diff --git a/toontown/pets/PetshopGUI.py b/toontown/pets/PetshopGUI.py index b19e827f..caaf1a99 100644 --- a/toontown/pets/PetshopGUI.py +++ b/toontown/pets/PetshopGUI.py @@ -10,7 +10,6 @@ from toontown.hood import ZoneUtil from toontown.pets import Pet, PetConstants from toontown.pets import PetDNA from toontown.pets import PetDetail -from toontown.pets import PetNameGenerator from toontown.pets import PetTraits from toontown.pets import PetUtil from toontown.toonbase import TTLocalizer @@ -66,14 +65,12 @@ class PetshopGUI(DirectObject): self.petModel.reparentTo(self.petView) self.petModel.setH(225) self.petModel.enterNeutralHappy() - self.ng = PetNameGenerator.PetNameGenerator() - if gender == 1: - self.allNames = self.ng.boyFirsts + self.allNames = TTLocalizer.NeutralPetNames + if gender == 0: + self.allNames += TTLocalizer.BoyPetNames else: - self.allNames = self.ng.girlFirsts - self.allNames += self.ng.neutralFirsts + self.allNames += TTLocalizer.GirlPetNames self.allNames.sort() - self.checkNames() self.letters = [] for name in self.allNames: if name[0:TTLocalizer.PGUIcharLength] not in self.letters: @@ -87,7 +84,7 @@ class PetshopGUI(DirectObject): self.rebuildNameList() self.randomButton = DirectButton(parent=self, relief=None, image=(self.gui.find('**/RandomUpButton'), self.gui.find('**/RandomDownButton'), self.gui.find('**/RandomRolloverButton')), scale=self.guiScale, text=TTLocalizer.RandomButton, text_pos=(-0.8, -5.7), text_scale=0.8, text_fg=text2Color, pressEffect=False, command=self.randomName) self.nameResult = DirectLabel(parent=self, relief=None, scale=self.guiScale, text='', text_align=TextNode.ACenter, text_pos=(-1.85, 2.6), text_fg=text0Color, text_scale=0.6, text_wordwrap=8) - self.submitButton = DirectButton(parent=self, relief=None, image=(self.gui.find('**/SubmitUpButton'), self.gui.find('**/SubmitDownButton'), self.gui.find('**/SubmitRolloverButton')), scale=self.guiScale, text=TTLocalizer.PetshopAdopt, text_pos=(3.3, -5.7), text_scale=TTLocalizer.PGUIsubmitButton, text_fg=text0Color, pressEffect=False, command=lambda : messenger.send(doneEvent, [self.ng.returnUniqueID(self.curName)])) + self.submitButton = DirectButton(parent=self, relief=None, image=(self.gui.find('**/SubmitUpButton'), self.gui.find('**/SubmitDownButton'), self.gui.find('**/SubmitRolloverButton')), scale=self.guiScale, text=TTLocalizer.PetshopAdopt, text_pos=(3.3, -5.7), text_scale=TTLocalizer.PGUIsubmitButton, text_fg=text0Color, pressEffect=False, command=lambda : messenger.send(doneEvent, [TTLocalizer.getPetNameId(self.curName)])) model = loader.loadModel('phase_4/models/gui/PetShopInterface') modelScale = 0.1 cancelImageList = (model.find('**/CancelButtonUp'), model.find('**/CancelButtonDown'), model.find('**/CancelButtonRollover')) @@ -95,12 +92,6 @@ class PetshopGUI(DirectObject): self.cancelButton = DirectButton(parent=self, relief=None, pos=(-0.04, 0, -0.47), image=cancelImageList, geom=cancelIcon, scale=modelScale, pressEffect=False, command=lambda : messenger.send(doneEvent, [-1])) self.randomName() - def checkNames(self): - if __dev__: - for name in self.allNames: - if not name.replace(' ', '').isalpha(): - self.notify.warning('Bad name:%s' % name) - def destroy(self): self.petModel.delete() DirectFrame.destroy(self) @@ -208,7 +199,7 @@ class PetshopGUI(DirectObject): def __init__(self, doneEvent, petSeed, petNameIndex): zoneId = ZoneUtil.getCanonicalSafeZoneId(base.localAvatar.getZoneId()) name, dna, traitSeed = PetUtil.getPetInfoFromSeed(petSeed, zoneId) - name = PetNameGenerator.PetNameGenerator().getName(petNameIndex) + name = TTLocalizer.getPetName(petNameIndex) cost = PetUtil.getPetCostFromSeed(petSeed, zoneId) model = loader.loadModel('phase_4/models/gui/AdoptPet') modelPos = (0, 0, -0.3) diff --git a/toontown/toon/DistributedNPCPetclerkAI.py b/toontown/toon/DistributedNPCPetclerkAI.py index bbd0c134..46a620fd 100644 --- a/toontown/toon/DistributedNPCPetclerkAI.py +++ b/toontown/toon/DistributedNPCPetclerkAI.py @@ -104,7 +104,7 @@ class DistributedNPCPetclerkAI(DistributedNPCToonBaseAI): if av.petId != 0: simbase.air.petMgr.deleteToonsPet(avId) gender = petNum % len(PetDNA.PetGenders) - if nameIndex not in xrange(0, TTLocalizer.PetNameIndexMAX): + if nameIndex not in xrange(0, len(TTLocalizer.PetNameDictionary) - 1): self.air.writeServerEvent('avoid_crash', avId, "DistributedNPCPetclerkAI.petAdopted and didn't have valid nameIndex!") self.notify.warning("somebody called petAdopted and didn't have valid nameIndex to adopt! avId: %s" % avId) return diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index d164b4af..5e28cca1 100644 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -1,6 +1,7 @@ from toontown.toonbase.TTLocalizerEnglishProperty import * from toontown.catalog import CatalogAccessoryItemGlobals from otp.otpbase import OTPLocalizer as OL +import random OL.SpeedChatStaticText = OL.SpeedChatStaticTextToontown.copy() for key in OL.SpeedChatStaticTextCommon.iterkeys(): OL.SpeedChatStaticText[key] = OL.SpeedChatStaticTextCommon[key] @@ -5362,8 +5363,6 @@ PickAName = 'Try the PickAName game!\nClick here -->' PickANameButton = 'Pick-A-Name' RejectNameText = 'That name is not allowed. Please try again.' WaitingForNameSubmission = 'Submitting your name...' -PetNameMaster = 'PetNameMasterEnglish.txt' -PetNameIndexMAX = 2713 PetshopUnknownName = 'Name: ???' PetshopDescGender = 'Gender:\t%s' PetshopDescCost = 'Cost:\t%s Jellybeans' @@ -9771,3 +9770,40 @@ def getBuffString(buffId, buffTime): def getBuffPosterString(buffId): return buffIdStrings[buffId][1] + +BoyPetNames = ['Achilles', 'Adolfo', 'Adonis', 'Aesop', 'Agamemnon', 'Ahab', 'Ahmed', 'Ajax', 'Alastair', 'Alberto', 'Alexander', 'Alfonso', 'Alonzo', 'Amadeus', 'Ambrose', 'Andre', 'Angelo', 'Angus', 'Antoine', 'Anton', 'Antonio', 'Archibald', 'Archimedes', 'Arnold', 'Atilla', 'Attaboy', 'Avi', 'Barney', 'Bart', 'Bartleby', 'Basil', 'Baxter', 'Beardsley', 'Beauchamp', 'Beauregard', 'Ben', 'Benny', 'Bernie', 'Billygoat', 'Bluebeard', 'Bo', 'Bogart', 'Bogie', 'Bowser', 'Brando', 'Bruce', 'Bruno', 'Brutus', 'Bubba', 'Buck', 'Buster', 'Butch', 'Cagney', 'Carlton', 'Casanova', 'Casper', 'Cecil', 'Cedric', 'Charlie', 'Chekhov', 'Chico', 'Chief', 'Chip', 'Chuck', 'Chuckie', 'Chucko', 'Clancy', 'Clark', 'Claude', 'Clayton', 'Cliff', 'Clive', 'Clyde', 'Cody', 'Colonel', 'Confucius', 'Conrad', 'Cooper', 'Cowboy', 'Cyril', 'Dagwood', 'Dante', 'Deano', 'Donahue', 'Donatello', 'Drysdale', 'Duke', 'Dweezil', 'Eddie', 'Edgar', 'Edison', 'Eggman', 'Einstein', 'Elmer', 'Elwood', 'Emerson', 'Emmet', 'Errol', 'Ethan', 'Fafnir', 'Farnsworth', 'Felix', 'Fenimore', 'Fenwick', 'Ferdinand', 'Fergus', 'Fido', 'Figaro', 'Filbert', 'Fitzgerald', 'Floyd', 'Frampton', 'Fred', 'Gabriel', 'Garfunkel', 'General', 'Genghis', 'Gershwin', 'Gladiator', 'Gladstone', 'Gorilla', 'Grampa', 'Gramps', 'Groucho', 'Gulliver', 'Gunther', 'Gus', 'Hamlet', 'Harold', 'Harpo', 'Harvey', 'Haseltine', 'Heathcliff', 'Hector', 'Hemingway', 'Hendrix', 'Herbert', 'Hercules', 'Herman', 'Hermes', 'Higgins', 'Hobart', 'Homestar', 'Horace', 'Horatio', 'Horton', 'Houdini', 'Humphrey', 'Ichabod', 'Iggy', 'Ignatius', 'Ignatz', 'Igor', 'Ike', 'Iron Ike', 'Ironside', 'Irving', 'Irwin', 'Isaac', 'Ishmael', 'Ivan', 'Ivanhoe', 'Jack', 'Jake', 'Jasper', 'Jaymo', 'Jerry', 'Jethro', 'Jimmy', 'Jonah', 'Karloff', 'Kasper', 'Keanu', 'Kilroy', 'King', 'Kingfish', 'Kirby', 'Kissinger', 'Lambert', 'Lancelot', 'Lazarus', 'Leonardo', 'Lindbergh', 'Linus', 'Lionel', 'Luigi', 'Macarthur', 'Macbeth', 'Mack', 'Malcolm', 'Mandrake', 'Marcel', 'Marco', 'Mario', 'Marmalade', 'Matador', 'Maurice', 'Maximilian', 'Maxwell', 'Maynard', 'Melville', 'Merlin', 'Michelangelo', 'Milo', 'Moe', 'Morissey', 'Mortimer', 'Mozart', 'Mugsy', 'Muldoon', 'Nabokov', 'Napoleon', 'Narcissus', 'Nelson', 'Nero', 'Nimoy', 'Nimrod', 'Norbert', 'Norman', 'Norris', 'Obadiah', 'Odysseus', 'Ogden', 'Olaf', 'Omar', 'Opie', 'Opus', 'Oswald', 'Othello', 'Otto', 'Pablo', 'Paco', 'Paddington', 'Pancho', 'Paolo', 'Pappy', 'Pavarotti', 'Pavlov', 'Peabody', 'Petey', 'Picasso', 'Pierre', 'Pinkerton', 'Pippin', 'Poindexter', 'Pop', 'Popperton', 'Poseidon', 'Prince', 'Puccini', 'Puck', 'Pugsly', 'Pushkin', 'Quigley', 'Quimby', 'Quincy', 'Reggie', 'Regis', 'Reinhold', 'Rembrandt', 'Renoir', 'Reuben', 'Rex', 'Rhett', 'Ricardo', 'Richter', 'Rocky', 'Roderick', 'Romeo', 'Romulus', 'Roosevelt', 'Rover', 'Rudolph', 'Rudy', 'Rufus', 'Rupert', 'Salvador', 'Sandeep', 'Schubert', 'Scooby', 'Scotty', 'Scruffy', 'Sebastian', 'Seymour', 'Shakespeare', 'Shatner', 'Siegfried', 'Sigmund', 'Simon', 'Sinbad', 'Skyler', 'Snowman', 'Snyder', 'Socrates', 'Sorcerer', 'Spalding', 'Spanky', 'Spencer', 'Spinoza', 'Spock', 'Stallion', 'Steinbeck', 'Stradivarius', 'T Bone', 'Tchaikovsky', 'Terminator', 'Tesla', 'Thaxter', 'Theo', 'Theodore', 'Thessalus', 'Throckmorton', 'Tiberius', 'Tiger', 'Tobias', 'Tolkein', 'Toreador', 'Travis', 'Travolta', 'Triton', 'Ulysses', 'Umberto', 'Victor', 'Vincent', 'Vinnie', 'Virgil', 'Vlad', 'Vladimir', 'Voltaire', 'Vonnegut', 'Wainwright', 'Waldo', 'Waldorf', 'Walter', 'Warhol', 'Watson', 'Wayne', 'Wilbur', 'Wilfred', 'Wilhelm', 'Winston', 'Wiseguy', 'Wolfgang', 'Woodbury', 'Woodrow', 'Wyatt', 'Xanthus', 'Xavier', 'Zeus', 'Zorro'] +GirlPetNames = ['Abby', 'Adorabelle', 'Aggie', 'Akiko', 'Allessandria', 'Amaryllis', 'Ambrosia', 'Andrea', 'Anita', 'Annette', 'Annie', 'Antionette', 'April', 'Arabella', 'Ariel', 'Ashley', 'Athena', 'Babette', 'Babs', 'Babydoll', 'Ballerina', 'Beatrice', 'Bertie', 'Beulah', 'Beverly', 'Bianca', 'Blossom', 'Bozette', 'Brittany', 'Buttercup', 'Callalilly', 'Candy', 'Carmen', 'Carnation', 'Cassandra', 'Cece', 'Celeste', 'Chanel', 'Chantilly', 'Charlotte', 'Chelsea', 'Cher', 'Cherry', 'Chickie', 'Chloe', 'Cindy', 'Cinnamon', 'Cissy', 'Claire', 'Clementine', 'Cleopatra', 'Coco', 'Cowgirl', 'Daffodil', 'Dagmar', 'Daisy', 'Daphne', 'Dee Dee', 'Delilah', 'Dixie', 'Dolly', 'Dot', 'Dottie', 'Duchess', 'Edith', 'Electra', 'Elsie', 'Elvira', 'Emerald', 'Europa', 'Fannie', 'Fatima', 'Felicity', 'Fifi', 'Flopsy', 'Flower', 'Funnygirl', 'Gabby', 'Garbo', 'Geranium', 'Gidget', 'Gigi', 'Ginger', 'Goldie', 'Granny', 'Guinevere', 'Gwen', 'Hannah', 'Heidi', 'Henrietta', 'Hera', 'Hermione', 'Hildegard', 'Honey', 'Honeysuckle', 'Hortense', 'Iris', 'Ivy', 'Jade', 'Jaquelin', 'Jasmine', 'Jewel', 'Jo', 'Josephine', 'Joy', 'Juliet', 'June', 'Juniper', 'Kandy', 'Kate', 'Katrina', 'Koko', 'Kornelia', 'Krystal', 'Lacey', 'Lady', 'Lambchop', 'Lapis Lazuli', 'Lassie', 'Laverne', 'Leonora', 'Libby', 'Libra', 'Lilac', 'Lily', 'Lipstick', 'Lisa', 'Lottie', 'Lovebird', 'Lovesong', 'Lucretia', 'Lucy', 'Lulu', 'Luna', 'MK', 'Mabel', 'Magenta', 'Maggie', 'Mamacita', 'Mantissa', 'Maxine', 'Mayflower', 'Medusa', 'Melody', 'Mercedes', 'Meriwether', 'Mermaid', 'Mildred', 'Minerva', 'Missy', 'Mitzi', 'Mocha', 'Molly', 'Mona Lisa', 'Moneypenny', 'Monique', 'Mopsy', 'Nadia', 'Nancy', 'Nannygoat', 'Naomi', 'Nellybelle', 'Nightingale', 'Nikita', 'Odelia', 'Olga', 'Olive', 'Olympia', 'Oona', 'Opal', 'Ophelia', 'Organdy', 'Pandora', 'Patrikia', 'Penelope', 'Penny', 'Petinka', 'Petunia', 'Phoebe', 'Phoenicia', 'Pixie', 'Poinsettia', 'Pookie', 'Precious', 'Prettipaws', 'Primrose', 'Princess', 'Pudgette', 'Queenie', 'Raphael', 'Rapunzel', 'Raquel', 'Rosabelle', 'Rosebud', 'Roxanne', 'Roxy', 'Ruby', 'Sable', 'Sabrina', 'Sadie', 'Saffron', 'Sage', 'Sapphire', 'Sassafras', 'Savannah', 'Scarlett', 'Scheherazade', 'Serenade', 'Sienna', 'Silky', 'Sissy', 'Snoogie', 'Snookie', 'Sonja', 'Sophia', 'Sophie', 'Sorceress', 'Summer', 'Sunbonnet', 'Sunny', 'Sunshine', 'Tabitha', 'Tasha', 'Titania', 'Tootsie', 'Topaz', 'Trixie', 'Truffles', 'Tulip', 'Twiggy', 'Velma', 'Venice', 'Venus', 'Veronica', 'Vicki', 'Victoria', 'Viola', 'Violet', 'Wallflower', 'Winnie', 'Winona', 'Yum Yum', 'Zelda', 'Zsa Zsa'] +NeutralPetNames = ['Abner', 'Abracadabra', 'Acacia', 'Ace', 'Admiral', 'Aglet', 'Akimbo', 'Alabaster', 'Alcatraz', 'Alchemy', 'Alfalfa', 'Alien', 'Allegro', 'Alto', 'Amazon', 'Ambassador', 'Amethyst', 'Amnesia', 'Ampersand', 'Anaconda', 'Anchovy', 'Andretti', 'Andromeda', 'Angstrom', 'Animal', 'Antergy', 'Anubus', 'Apogee', 'Apollo', 'Applesauce', 'Apprentice', 'Apricot', 'Aquarius', 'Aramis', 'Archer', 'Arf', 'Argus', 'Argyle', 'Aristotle', 'Arizona', 'Arrow', 'Arsenio', 'Asimov', 'Asparagus', 'Asphalt', 'Astro', 'Atom', 'Augie', 'August', 'Avalanche', 'Avalon', 'Avenger', 'Avis', 'Axel', 'Axle', 'Azalea', 'Aztec', 'Azure', 'Babbit', 'Babble', 'Babbler', 'Baby', 'Babykins', 'Baccarat', 'Backgammon', 'Badger', 'Baggy', 'Bailey', 'Baja', 'Balboa', 'Baldo', 'Baldric', 'Baldy', 'Ballyhoo', 'Bambino', 'Bamboo', 'Bamboozle', 'Bamboozler', 'Banana', 'Bandit', 'Bandito', 'Bangle', 'Banjo', 'Banshee', 'Banzai', 'Barbarian', 'Bargraph', 'Barky', 'Barnacle', 'Barracuda', 'Bashful', 'Bazooka', 'Beaker', 'Bean', 'Beaner', 'Beanstalk', 'Beany', 'Bear', 'Beauty', 'Beaver', 'Beep', 'Beeper', 'Beepy', 'Beethoven', 'Beezneez', 'Begonia', 'Bellyflop', 'Benson', 'Bentley', 'Beppo', 'Bermuda', 'Betatest', 'Bewitched', 'Big Red', 'Big Shot', 'Bigbelly', 'Bigfoot', 'Bijou', 'Bindle', 'Bing', 'Bingo', 'Binky', 'Biscuit', 'Bitsy', 'Bizzy', 'Blackberry', 'Blackbird', 'Blackfoot', 'Blackie', 'Blackjack', 'Blacktop', 'Blanket', 'Blaze', 'Bleary', 'Blimp', 'Blimpo', 'Blimpy', 'Blip Blop', 'Blizzard', 'Blockhead', 'Blondie', 'Blooper', 'Blorange', 'Blot', 'Blotto', 'Bluebell', 'Blueberry', 'Bluegrass', 'Bluenose', 'Blueprint', 'Blunder', 'Blurp', 'Boa', 'Bobbin', 'Bobo', 'Bobtail', 'Bodyguard', 'Boggs', 'Bojangles', 'Bolt', 'Bombshell', 'Bonbon', 'Bones', 'Bongo', 'Bonkers', 'Bono', 'Bonsai', 'Boo Boo', 'Boober', 'Boogeyman', 'Boom Boom', 'Boomer', 'Boots', 'Borax', 'Borg', 'Bosco', 'Bottlecap', 'Bottlenose', 'Boulder', 'Bounce Bounce', 'Bouncer', 'Bouncy', 'Bowtie', 'Bowzer', 'Boyd', 'Bozo', 'Brahms', 'Brainchild', 'Bratwurst', 'Bravo', 'Briar', 'Brie', 'Broadway', 'Broccoli', 'Bronco', 'Brooklyn', 'Brouhaha', 'Brownie', 'Bruiser', 'Bubblegum', 'Bubbles', 'Bubo', 'Buccaneer', 'Buckaroo', 'Buckeye', 'Buckingham', 'Buckle', 'Buckshot', 'Buckskin', 'Buckwheat', 'Budapest', 'Buddy', 'Buffalo', 'Buffoon', 'Bug', 'Bugaboo', 'Bugeye', 'Bugsy', 'Bullet', 'Bullwinkle', 'Bumblebee', 'Bumbler', 'Bumper', 'Bumpkin', 'Bumpus', 'Bumpy', 'Bungee', 'Bunko', 'Bunyan', 'Burbank', 'Butterball', 'Butterscotch', 'Buzz', 'Buzzard', 'Buzzy', 'Byte', 'Caboodle', 'Caboose', 'Cadbury', 'Cadet', 'Caesar', 'Calculus', 'Calico', 'Callisto', 'Calypso', 'Calzone', 'Cambridge', 'Camelot', 'Camembert', 'Cameo', 'Campbell', 'Canoe', 'Cap', 'Cappy', 'Capricorn', 'Captain', 'Caramba', 'Caramel', 'Cargo', 'Carlos', 'Carpool', 'Caruso', 'Casablanca', 'Casbah', 'Casey', 'Cashmere', 'Cassidy', 'Castaway', 'Catamaran', 'Caviar', 'Cayenne', 'Cerebro', 'Cha Cha', 'Challenger', 'Chamberlain', 'Chamomile', 'Champ', 'Chaos', 'Charade', 'Charcoal', 'Charger', 'Charmed', 'Chaser', 'Chasm', 'Checkers', 'Cheesecake', 'Cheesy', 'Cheetah', 'Chester', 'Chewie', 'Chicory', 'Chiffon', 'Chigger', 'Chili', 'Chili Bean', 'Chipmunk', 'Chipper', 'Chips', 'Chocolate', 'Choo Choo', 'Chopin', 'Chopper', 'Chops', 'Chopsticks', 'Chowder', 'Chowderhead', 'Chromium', 'Chubby', 'Chuckles', 'Chutzpah', 'Cinder', 'Citrus', 'Clipper', 'Cloud', 'Cloudy', 'Clover', 'Clue', 'Clueless', 'Clunky', 'Coach', 'Cobol', 'Cobra', 'Cocoa', 'Coconut', 'Cola', 'Colorado', 'Comet', 'Comma', 'Confetti', 'Connecticut', 'Cookie', 'Cooter', 'Copper', 'Coral', 'Corduroy', 'Corky', 'Cornball', 'Corncob', 'Cornelia', 'Cornmo', 'Corny', 'Corona', 'Coronet', 'Cosmo', 'Cottontail', 'Couscous', 'Coyote', 'Crackers', 'Cranberry', 'Crash', 'Crawdad', 'Creamy', 'Creeper', 'Creepy', 'Crescent', 'Cricket', 'Critter', 'Croissant', 'Crouton', 'Crufty', 'Cruiser', 'Crumb', 'Crumbly', 'Cruncher', 'Crunchy', 'Cucamonga', 'Cucaracha', 'Cuckoo', 'Cucumber', 'Cuddles', 'Cupcake', 'Cupid', 'Curmudgeon', 'Curry', 'Cutie', 'Cutie Pie', 'Cypress', 'DJ', 'Dakota', 'Dali', 'Damascus', 'Dancer', 'Dandelion', 'Danger', 'Database', 'Dazzle', 'Dazzler', 'Dazzy', 'December', 'Delaware', 'Delphi', 'Detonator', 'Detour', 'Detroit', 'Deuce', 'Dewfall', 'Diamond', 'Dice', 'Diego', 'Digby', 'Digger', 'Digit', 'Dimples', 'Dingo', 'Dingus', 'Dinky', 'Divot', 'Dizzy', 'Doc', 'Dodger', 'Dodo', 'Dolby', 'Donut', 'Doodad', 'Doodah', 'Doodle', 'Draco', 'Dracula', 'Drawers', 'Dreadnought', 'Dream', 'Dreamer', 'Dreamweaver', 'Dreamy', 'Drippy', 'Droopy', 'Drummer', 'Dumpling', 'Durango', 'Dustmop', 'Dynamite', 'Dynamo', 'Eagle', 'Ebony', 'Eccentric', 'Echo', 'Eclipse', 'Ecstatic', 'Edge', 'Egad', 'Egghead', 'Eggnog', 'Eggtoss', 'Egypt', 'Elderberry', 'Electron', 'Elf', 'Elijah', 'Elvis', 'Email', 'Ember', 'Encore', 'Enoch', 'Epcot', 'Epic', 'Epilog', 'Equinox', 'Ergo', 'Escapade', 'Eskimo', 'Espresso', 'Euclid', 'Euphoria', 'Euphrates', 'Excalibur', 'Exeter', 'Eyespy', 'Faberge', 'Fable', 'Facepuff', 'Fahrenheit', 'Fairbanks', 'Fairfax', 'Faith', 'Faithful', 'Fajita', 'Falafel', 'Falcon', 'Fancy', 'Fandango', 'Fang', 'Fangtastic', 'Fantasia', 'Fats', 'Fatso', 'Fatty', 'Faust', 'Fax', 'Fearless', 'Feather', 'Feedback', 'Fellini', 'Ferrari', 'Fester', 'Fetch', 'Fiddler', 'Fiddlesticks', 'Fiesta', 'Filibuster', 'Fingerprint', 'Fingers', 'Fink', 'Fishbone', 'Fishface', 'Fishhook', 'Fizz', 'Fizzle', 'Fizzy', 'Flabby', 'Flagpole', 'Flame', 'Flannel', 'Flapjack', 'Flash', 'Flatfoot', 'Flicker', 'Fling', 'Flip', 'Flipper', 'Flop', 'Flopper', 'Floppy', 'Florida', 'Fluffster', 'Fluffy', 'Flurry', 'Flute', 'Fog', 'Fogarty', 'Fondue', 'Fortran', 'Fox', 'Foxy', 'Frankfurter', 'Freckles', 'Freebie', 'Freezerburn', 'French Toast', 'Friday', 'Frogface', 'Frogmar', 'Frost', 'Frosty', 'Fruitcake', 'Frump', 'Frumpson', 'Frumpy', 'Fudd', 'Fuddles', 'Fudge', 'Fugitive', 'Fuji', 'Fungus', 'Funky', 'Furball', 'Furface', 'Fusebox', 'Fuzzball', 'Fuzzy', 'Fuzzyface', 'Fuzzykins', 'Gabardine', 'Galaxy', 'Gallop', 'Gambit', 'Gambler', 'Gangway', 'Garlic', 'Garlicbreath', 'Garnet', 'Garth', 'Gavotte', 'Gecko', 'Geewhiz', 'Gem', 'Gemini', 'Gerbil', 'Gewgaw', 'Ghost', 'Giddyup', 'Giggles', 'Gingerbread', 'Gingersnap', 'Glick', 'Gnash', 'Gnasher', 'Gnocchi', 'Gnome', 'Gobbledegook', 'Gobbler', 'Goblet', 'Goblin', 'Gobo', 'Gogo', 'Goiter', 'Goliath', 'Gomer', 'Goober', 'Gooch', 'Gooey', 'Googol', 'Goose', 'Gooseberry', 'Goosebump', 'Gopher', 'Gouda', 'Governor', 'Gracie', 'Graffiti', 'Graham', 'Granite', 'Granola', 'Gravlax', 'Gremlin', 'Grep', 'Grok', 'Grue', 'Grumpus', 'Grumpy', 'Grungy', 'Guffaw', 'Gumbo', 'Gumdrop', 'Gump', 'Gumpus', 'Gumshoe', 'Gypsy', 'Gyro', 'Haggis', 'Haha', 'Hairball', 'Half Pint', 'Halibut', 'Halifax', 'Halloweenie', 'Halo', 'Halogen', 'Hambone', 'Hamburger', 'Hammer', 'Hammerhead', 'Hammerstein', 'Hammy', 'Hamster', 'Happy', 'Harlequin', 'Harley', 'Harmonica', 'Harmony', 'Harvard', 'Havoc', 'Hawk', 'Hawkeye', 'Hayseed', 'Haywire', 'Hazel', 'Heartbreaker', 'Heathrow', 'Heckler', 'Hedgehog', 'Heehee', 'Hemlock', 'Herringbone', 'Hiccup', 'Hifi', 'Hip Hip', 'Hippo', 'Hippodrome', 'Hoagie', 'Hobo', 'Hoho', 'Holmes', 'Honeybee', 'Hooligan', 'Hoops', 'Hoosier', 'Horoscope', 'Hot Dog', 'Hotfoot', 'Hotshot', 'Houston', 'Howard', 'Huckleberry', 'Huffy', 'Huggy', 'Hugo', 'Humdinger', 'Humdrum', 'Hurricane', 'Hydraulic', 'Hypnos', 'IOU', 'Iapyx', 'Ibex', 'Icarus', 'Icky', 'Icon', 'Icy', 'Idiom', 'Idlewild', 'Igloo', 'Iguana', 'Illogical', 'Illusion', 'Imagine', 'Imp', 'Impy', 'Imus', 'Indigo', 'Indy', 'Inferno', 'Infinity', 'Infrared', 'Ingot', 'Inkblot', 'Inkwell', 'Innie', 'Input', 'Insomnia', 'Intro', 'Iodine', 'Iota', 'Itchy', 'Ivory', 'Izzat', 'Izzy', 'Jabber', 'Jabberwock', 'Jackaroo', 'Jackhammer', 'Jackpot', 'Jackrabbit', 'Jacuzzi', 'Jag', 'Jaguar', 'Jalapeno', 'Jambalaya', 'Jamboree', 'January', 'Jargon', 'Java', 'Jaws', 'Jaybird', 'Jester', 'Jet', 'Jicko', 'Jiffy', 'Jigsaw', 'Jimjam', 'Jingle', 'Jinx', 'Jitterbug', 'Jocko', 'Jojo', 'Joker', 'Jokester', 'Joliet', 'Joplin', 'Jordie', 'Jove', 'Joyride', 'Jubilee', 'Jughead', 'Jujitsu', 'Jukebox', 'July', 'Jumbo', 'Jumpy', 'Junior', 'Juno', 'Kabob', 'Kabuki', 'Kafka', 'Kahuna', 'Kalamazoo', 'Kaleidoscope', 'Kalmuk', 'Kansas', 'Kappa', 'Karamazov', 'Karate', 'Karma', 'Katmandu', 'Katsumi', 'Kayak', 'Keepsake', 'Kellogg', 'Kelvin', 'Ketchup', 'Kewpie', 'Keyboard', 'Keyring', 'Khaki', 'Kibbles', 'Kiddo', 'Kielbasa', 'Kilimanjaro', 'Kilowatt', 'Kimono', 'Kinetic', 'Kipling', 'Kismet', 'Kissyface', 'Kitten', 'Klinger', 'Klondike', 'Kludge', 'Klute', 'Klutz', 'Klutzy', 'Knickerbocker', 'Knievel', 'Knish', 'Knock Knock', 'Knockwurst', 'Knoop', 'Knucklebone', 'Knuckles', 'Koala', 'Kodiak', 'Kong', 'Kookaburra', 'Kooky', 'Kool Beanz', 'Kornball', 'Kosmix', 'Krakatoa', 'Kramer', 'Krispy', 'Krooner', 'Lab Rat', 'Labyrinth', 'Lacquer', 'Laddie', 'Ladybug', 'Lambada', 'Lamborghini', 'Lampoon', 'Lamster', 'Landmark', 'Landshark', 'Lanky', 'Lapper', 'Laptop', 'Lasagna', 'Laser', 'Latex', 'Lava', 'Lava Lamp', 'Lavender', 'Layaway', 'Leafy', 'Leaky', 'Lefty', 'Legend', 'Lemming', 'Lemonade', 'Lentil', 'Lettuce', 'Lexy', 'Lickety Split', 'Lickums', 'Licky', 'Licorice', 'Lightning', 'Lima', 'Limbo', 'Limey', 'Linguini', 'Link', 'Lintball', 'Lionheart', 'Lithgow', 'Litmus', 'Littlefoot', 'Liverpool', 'Liverwurst', 'Lizard', 'Lobo', 'Lofty', 'Logan', 'Logical', 'Lollipop', 'London', 'Longfellow', 'Longshot', 'Loofah', 'Looney', 'Loopy', 'Lotus', 'Luau', 'Lucky', 'Ludwig', 'Lullaby', 'Lumpy', 'Lunatic', 'Lynx', 'Lyrical', 'Macaroni', 'Macaroon', 'Macho', 'Macintosh', 'Mackerel', 'Mad Max', 'Madison', 'Maestro', 'Mage', 'Magic', 'Magma', 'Magnet', 'Magnolia', 'Magnus', 'Magoo', 'Magpie', 'Mahogany', 'Majestic', 'Malibu', 'Mambo', 'Mango', 'Manhattan', 'Manitoba', 'Mantra', 'Maple Syrup', 'Maraschino', 'Marathon', 'Mariachi', 'Marquee', 'Marshmallow', 'Martian', 'Marzipan', 'Mascot', 'Matchmaker', 'Matzoh', 'Maverick', 'Max', 'Maybe', 'Mayhem', 'Mazy', 'Meanie', 'Meatball', 'Meatloaf', 'Melange', 'Melbourne', 'Mellifluent', 'Melrose', 'Memo', 'Memphis', 'Menthol', 'Meow Meow', 'Meringue', 'Mesopotamia', 'Mesquite', 'Meta', 'Metric', 'Metro', 'Mezzo', 'Miami', 'Microfilm', 'Microwave', 'Midas', 'Midget', 'Midnight', 'Mikado', 'Milestone', 'Milkshake', 'Minty', 'Minuet', 'Minus', 'Mischief', 'Misery', 'Mist', 'Misty', 'Mittens', 'Mo', 'Mobius', 'Modesta', 'Mohair', 'Mohawk', 'Mojo', 'Molasses', 'Mole', 'Molecule', 'Monday', 'Mongoose', 'Monkey', 'Monogram', 'Montgomery', 'Monty', 'Moocher', 'Moochie', 'Moonbeam', 'Moondancer', 'Moondoggie', 'Moonmist', 'Moose', 'Mooshoo', 'Moptop', 'Mork', 'Morocco', 'Mosaic', 'Moscow', 'Motley', 'Moustache', 'Moxie', 'Mudpie', 'Muffin', 'Mulberry', 'Mumbles', 'Mumford', 'Mumpy', 'Munchkin', 'Murphy', 'Mushmouth', 'Mushroom', 'Mustang', 'Mustard', 'Mutt', 'Muttzie', 'Mylar', 'Nacho', 'Nameless', 'Nardek', 'Nashville', 'Naugahyde', 'Navel', 'Naxos', 'Nectarine', 'Ned', 'Needle', 'Needler', 'Needles', 'Nehru', 'Neon', 'Neptune', 'Network', 'Neuron', 'Neutron', 'Nevada', 'Newt', 'Newton', 'Niagara', 'Nibbler', 'Nibbles', 'Nibbly', 'Niccolo', 'Nickel', 'Nifty', 'Niftykins', 'Nightmare', 'Nim', 'Nimbus', 'Nitro', 'Nix', 'Nixy', 'Noisemaker', 'Nomad', 'Noname', 'Noodles', 'Nooly', 'Norbie', 'Nostrildamus', 'Nosy', 'November', 'Nugget', 'Numbers', 'Nutmeg', 'Oasis', 'Oatcake', 'Oatmeal', 'Oberon', 'Oblong', 'Oboe', 'Obsession', 'Octagon', 'October', 'Oddjob', 'Odzanends', 'Offbeat', 'Ogee', 'Ohio', 'Oink Oink', 'Oinker', 'Okeedoke', 'Okra', 'Oleander', 'Omega', 'Omelet', 'Onion', 'Onionbreath', 'Onionhead', 'Ono', 'Onomatopoeia', 'Onyx', 'Oozy', 'Opaque', 'Opossum', 'Orangeade', 'Orbit', 'Orchid', 'Oregano', 'Original', 'Oriole', 'Orlando', 'Oroonoko', 'Orpheus', 'Orville', 'Oscar', 'Osmosis', 'Ostrich', 'Outie', 'Outlaw', 'Outlet', 'Outrageous', 'Owl', 'Ox', 'Oyster', 'Ozzie', 'PJ', 'Pacemaker', 'Pachyderm', 'Padlock', 'Pagoda', 'Paisley', 'Paladin', 'Palomino', 'Panache', 'Panda', 'Pandemonium', 'Panfried', 'Pantaloon', 'Panther', 'Paprika', 'Papyrus', 'Parachute', 'Paradise', 'Parakeet', 'Parallax', 'Paris', 'Parmesan', 'Parsley', 'Parsnip', 'Pascal', 'Pasternak', 'Patches', 'Patchouli', 'Patchwork', 'Patience', 'Pauper', 'Paws', 'Peachy', 'Peanut', 'Pearl', 'Pebbles', 'Pecan', 'Peck Peck', 'Peepers', 'Peewee', 'Pegasus', 'Pele', 'Pendragon', 'Penguin', 'Peoria', 'Pepper', 'Peppermint', 'Pepperoni', 'Peppy', 'Percival', 'Periwinkle', 'Peroxide', 'Persephone', 'Perseus', 'Persnickety', 'Pesto', 'Pesty', 'Petra', 'Petros', 'Pettibones', 'Phantom', 'Philadelphia', 'Phoenix', 'Phynotaprox', 'Piano', 'Piccolo', 'Pickles', 'Pickwick', 'Pico', 'Piecewise', 'Pigpen', 'Pilaf', 'Pimento', 'Ping', 'Ping Pong', 'Pip', 'Pipsqueak', 'Pistachio', 'Piston', 'Pitabread', 'Pixel', 'Pizza', 'Pizzazz', 'Plato', 'Plumb Bob', 'Plumpy', 'Plunko', 'Pluto', 'Pocket', 'Poco', 'Poe', 'Pointer', 'Pointy', 'Pokey', 'Polaris', 'Polifax', 'Pollywog', 'Poltergeist', 'Pom Pom', 'Poofball', 'Poofy', 'Popcorn', 'Poppy', 'Porcupine', 'Porkchop', 'Portobello', 'Postcard', 'Potbelly', 'Potpie', 'Potzy', 'Pouncer', 'Powder', 'Prancer', 'Preston', 'Pretzel', 'Priscilla', 'Prissy', 'Procyon', 'Prodigy', 'Proton', 'Providence', 'Prowler', 'Proxy', 'Pudding', 'Puddles', 'Pudgy', 'Puff', 'Puffball', 'Puffin', 'Puffy', 'Pugnose', 'Pumpernickel', 'Pumpkin', 'Punch', 'Punky', 'Puree', 'Purrfect', 'Pygmy', 'Pyrex', 'Python', 'Quack Quack', 'Quagmire', 'Quartz', 'Quasar', 'Quasi', 'Queasy', 'Quenby', 'Quesadilla', 'Quester', 'Quetzal', 'Quibbler', 'Quicksand', 'Quicksilver', 'Quinn', 'Quippy', 'Quiqui', 'Quirky', 'Quixote', 'Quizzical', 'Quizzix', 'Rabbit', 'Raccoon', 'Racecar', 'Rachel', 'Radar', 'Radcliffe', 'Radish', 'Radium', 'Radix', 'Radman', 'Raffle', 'Ragamuffin', 'Ragdoll', 'Ragmop', 'Rags', 'Ragtime', 'Ragweed', 'Rainbow', 'Rainstorm', 'Rainwater', 'Raisin', 'Rambler', 'Ramrod', 'Ranger', 'Rascal', 'Raspberry', 'Rathbone', 'Rattler', 'Raven', 'Ravioli', 'Rawhide', 'Raymond', 'Razzmatazz', 'Reactor', 'Recall', 'Recycler', 'Redwood', 'Relay', 'Relic', 'Relish', 'Renegade', 'Repeat', 'Rescuer', 'Retread', 'Rewind', 'Rhapsody', 'Rhinestone', 'Rhino', 'Rhymer', 'Rhythm', 'Ribbons', 'Rickrack', 'Ricochet', 'Riddler', 'Riddles', 'Riffraff', 'Rigatoni', 'Righty', 'Ringleader', 'Ringo', 'Riot', 'Ripley', 'Ripple', 'Ripples', 'Risky', 'Ritz', 'Ritzy', 'Roamer', 'Robin', 'Rocco', 'Rocket', 'Rockhead', 'Rockwell', 'Rococo', 'Rogue', 'Rolex', 'Rollo', 'Roly Poly', 'Ronno', 'Rookie', 'Rooster', 'Roscoe', 'Rosebug', 'Rothchild', 'Rowf', 'Rowser', 'Ruffles', 'Ruggelah', 'Ruggles', 'Rumba', 'Runaway', 'Runt', 'Rushmore', 'Rusty', 'Sabotage', 'Safari', 'Saga', 'Saggy', 'Sagittarius', 'Sahara', 'Salamander', 'Salazar', 'Salinger', 'Salisbury', 'Salsa', 'Salty', 'Sam', 'Samba', 'Sammy', 'Samson', 'Samurai', 'Sandman', 'Sandy', 'Santana', 'Santiago', 'Sasha', 'Sashimi', 'Sasquatch', 'Sassy', 'Satchel', 'Satire', 'Saturn', 'Saucer', 'Saucy', 'Sausage', 'Savage', 'Saxophone', 'Scallop', 'Scamp', 'Scamper', 'Scandal', 'Scarecrow', 'Scary', 'Schlemmer', 'Schmooze', 'Schnook', 'Schnookie', 'Scone', 'Scoops', 'Scoot', 'Scooter', 'Scorpio', 'Scorpion', 'Scoundrel', 'Scout', 'Scrabble', 'Scrambler', 'Scrappy', 'Scrooge', 'Scrumptious', 'Scupper', 'Seagull', 'Seismic', 'Seltzer', 'Seneca', 'September', 'Sepulveda', 'Serengeti', 'Shackles', 'Shamrock', 'Shangri La', 'Sharky', 'Shazam', 'Sheba', 'Shelby', 'Sheldrake', 'Shelley', 'Shelton', 'Shenanigan', 'Shep', 'Sherbet', 'Sherlock', 'Sherwood', 'Shiny', 'Shmunday', 'Shoeless', 'Shogun', 'Shortcake', 'Shortstack', 'Shortstop', 'Shorty', 'Showboat', 'Showoff', 'Shredder', 'Shrimpy', 'Shylock', 'Sideshow', 'Sideways', 'Sidney', 'Silhouette', 'Silverspoon', 'Siren', 'Skeet', 'Skeeter', 'Skelton', 'Skidder', 'Skidoo', 'Skidsy', 'Skinky', 'Skipper', 'Skippy', 'Skunk', 'Skunkmuffin', 'Skunky', 'Sky', 'Skyrocket', 'Slappy', 'Slate', 'Slick', 'Slicker', 'Slippers', 'Sloth', 'Slothful', 'Slugger', 'Sly', 'Smarty', 'Smartypants', 'Smash', 'Smasher', 'Smilestone', 'Smocks', 'Smoke', 'Smoky', 'Smoocher', 'Smoothie', 'Smores', 'Smug', 'Snaggletooth', 'Snapdragon', 'Snappy', 'Snaps', 'Snarly', 'Sneaker', 'Sneakers', 'Sneezer', 'Sneezy', 'Snickers', 'Sniffer', 'Sniffler', 'Sniffles', 'Sniffy', 'Snooker', 'Snookums', 'Snooper', 'Snoots', 'Snooty', 'Snowball', 'Snowberry', 'Snowbunny', 'Snowcap', 'Snowflake', 'Snowpea', 'Snowshoe', 'Snowy', 'Snuffles', 'Snuffy', 'Snugglepot', 'Snuggles', 'Socks', 'Sodapop', 'Soho', 'Sojourner', 'Solo', 'Sonar', 'Sorbet', 'Souffle', 'Soupbowl', 'Soupy', 'Sourball', 'Sourdough', 'Southpaw', 'Spacey', 'Spades', 'Spaghetti', 'Spam', 'Sparkler', 'Sparkplug', 'Sparky', 'Sparrow', 'Sparx', 'Speck', 'Speckles', 'Spectro', 'Spectrum', 'Speedy', 'Spex', 'Sphinx', 'Spicy', 'Spider', 'Spiffy', 'Spike', 'Spiky', 'Spinach', 'Spinner', 'Spiral', 'Spirit', 'Spiro', 'Spitfire', 'Splash', 'Splashy', 'Spoiler', 'Spoof', 'Spooky', 'Sport', 'Sporty', 'Spot', 'Spots', 'Spotty', 'Spring', 'Springbok', 'Springy', 'Sprinkle', 'Sprinkles', 'Spud', 'Spunky', 'Sputnik', 'Spy', 'Squash', 'Squeak', 'Squeaky', 'Squid', 'Squiddly', 'Squidface', 'Squiggle', 'Squiggly', 'Squishy', 'Stalactite', 'Stalagmite', 'Starbuck', 'Stardust', 'Starfire', 'Stargazer', 'Starlight', 'Steamy', 'Steely', 'Stereopsis', 'Sterling', 'Stethoscope', 'Stetson', 'Stewart', 'Sticky', 'Stinger', 'Stingy', 'Stinkwell', 'Stinky', 'Stony', 'Storm', 'Stormy', 'Stowaway', 'Strange', 'Strawberry', 'Strep', 'Stretch', 'Stretchy', 'Stripe', 'Striper', 'Stripes', 'Strudel', 'Stubby', 'Stumpy', 'Sudsy', 'Suede', 'Sugar', 'Sugarbaby', 'Sulfur', 'Sultan', 'Sumo', 'Sundance', 'Sundown', 'Sunflower', 'Sunset', 'Superdoodle', 'Surprise', 'Sushi', 'Swabbie', 'Swampy', 'Sweathog', 'Sweetheart', 'Sweetie Pie', 'Sweetness', 'Sweets', 'Swift', 'Swifty', 'Swizzle', 'Sylvester', 'Synergy', 'Syrup', 'TNT', 'Tablespoon', 'Tabloid', 'Taboo', 'Tacky', 'Taco', 'Tacos', 'Tadpole', 'Taffeta', 'Taffy', 'Tagalong', 'Tags', 'Tahiti', 'Taj', 'Takeout', 'Talisman', 'Tallahassee', 'Tallulah', 'Talon', 'Tamale', 'Tambourine', 'Tandem', 'Tanglewood', 'Tango', 'Tank', 'Tanker', 'Tanner', 'Tantrum', 'Tapestry', 'Tapioca', 'Tapper', 'Tarantula', 'Tardy', 'Target', 'Tarkington', 'Tartan', 'Tasty', 'Tatsu', 'Tatters', 'Tattletale', 'Tattoo', 'Taurus', 'Tawny', 'Taxbreak', 'Taxcut', 'Taxi', 'Taxicab', 'Teacup', 'Teaky', 'Teapot', 'Teaspoon', 'Technicolor', 'Teddy', 'Teehee', 'Teevee', 'Telegram', 'Telepath', 'Telescope', 'Telex', 'Tempest', 'Templeton', 'Tempo', 'Tenderfoot', 'Tennessee', 'Tennisball', 'Tennyson', 'Terence', 'Teriyaki', 'Terror', 'Texas', 'Textbook', 'Thackeray', 'Thaddeus', 'Tharp', 'Tharpo', 'Theoretical', 'Theory', 'Thermos', 'Thickie', 'Thimble', 'Thistle', 'Thorny', 'Thriller', 'Thud', 'Thumbtack', 'Thunder', 'Thunderbird', 'Thurgood', 'Thursday', 'Thyme', 'Tickets', 'Tidbit', 'Tilly', 'Tilted', 'Timbuktu', 'Tinkles', 'Tinsel', 'Tintin', 'Tiny', 'Tipperary', 'Tipsy', 'Titanium', 'Tizzy', 'Toad', 'Toadstool', 'Toady', 'Toaster', 'Toby', 'Toco', 'Toffee', 'Tofu', 'Tokyo', 'Toledo', 'Tomato', 'Tomorrow', 'Tonic', 'Toodleoo', 'Toodles', 'Toot', 'Tooter', 'Toothsome', 'Toothy', 'Tootles', 'Toots', 'Topeka', 'Topper', 'Topsy', 'Tornado', 'Torpedo', 'Tortellini', 'Tortoni', 'Totem', 'Toto', 'Totsy', 'Toucan', 'Toupee', 'Toy', 'Toybox', 'Tracer', 'Trailblazer', 'Tramp', 'Trampoline', 'Trancer', 'Trapper', 'Traveller', 'Treasure', 'Treetop', 'Trekker', 'Trickster', 'Trickstick', 'Tricky', 'Trident', 'Trilogy', 'Trinidad', 'Trinket', 'Trio', 'Tripper', 'Troll', 'Tropix', 'Trouble', 'Trout', 'Trumpet', 'Trusty', 'Tsunami', 'Tuba', 'Tubbo', 'Tubby', 'Tuesday', 'Tuffy', 'Tugboat', 'Tumblebumble', 'Tumbler', 'Tumbleweed', 'Tunafish', 'Tundra', 'Turbo', 'Turkey', 'Turnip', 'Turtleneck', 'Tutu', 'Twaddler', 'Twain', 'Tweezer', 'Twerp', 'Twiggs', 'Twilight', 'Twinkle', 'Twirler', 'Twister', 'Twittery', 'Tycoon', 'Typhoon', 'UFO', 'Ubu', 'Ugly', 'Ukelele', 'Ultimate', 'Ultra', 'Ultrasonic', 'Ultra', 'Umber', 'Umbrella', 'Umpire', 'Underfoot', 'Underwood', 'Unicorn', 'Unique', 'Upbeat', 'Upshot', 'Upside', 'Upstart', 'Uptight', 'Urchin', 'Ursula', 'Utoo', 'Utopia', 'Vacuum', 'Vagabond', 'Valentine', 'Valerie', 'Valiant', 'Vamp', 'Vanderbilt', 'Vanilla', 'Vanity', 'Vaudeville', 'Vegas', 'Velvet', 'Venezuela', 'Vermicelli', 'Vermont', 'Vern', 'Vernon', 'Vertigo', 'Vexy', 'Vibes', 'Victrola', 'Video', 'Viking', 'Vinaigrette', 'Vintage', 'Viper', 'Virtuosity', 'Vivian', 'Voodoo', 'Vulcan', 'Vulture', 'Wabble', 'Wabbler', 'Wacky', 'Waddle', 'Waddler', 'Waddles', 'Wafer', 'Waffle', 'Waffler', 'Waffles', 'Wag', 'Waggles', 'Wags', 'Wagtail', 'Wahoo', 'Waikiki', 'Wallaby', 'Wallaroo', 'Walnut', 'Walnuts', 'Walrus', 'Waltzy', 'Wanderer', 'Warthog', 'Warty', 'Wasco', 'Waterberry', 'Watergate', 'Wavy', 'Waxy', 'Weasel', 'Weaver', 'Webster', 'Wedgewood', 'Wedgie', 'Wednesday', 'Weekend', 'Weepy', 'Weezer', 'Weezie', 'Welcome', 'Wellington', 'Wembly', 'Wendy', 'Wesley', 'Whatchamacallit', 'Whatever', 'Wheatcake', 'Wheedler', 'Whim', 'Whimsy', 'Whipple', 'Whirlwind', 'Whisker', 'Whiskers', 'Whisper', 'Whistler', 'Whistlestop', 'Whittaker', 'Whiz', 'Whizzer', 'Wholesale', 'Whoopdedoo', 'Whoopie', 'Wiggle', 'Wiggler', 'Wiggles', 'Wiggly', 'Wildberry', 'Wildcat', 'Wildflower', 'Wildwood', 'Willy', 'Wily', 'Wimbledon', 'Wimpster', 'Wimpy', 'Windjammer', 'Wing', 'Wink', 'Winker', 'Winkle', 'Winkles', 'Winky', 'Winx', 'Wiretap', 'Wisecrack', 'Wispy', 'Wisteria', 'Wizard', 'Wizkid', 'Wobble', 'Wobbler', 'Wobbles', 'Wobbly', 'Wolverine', 'Wonder', 'Wonderbunny', 'Wonton', 'Wooble', 'Woobles', 'Woobly', 'Woodchuck', 'Woodstock', 'Woodwind', 'Woof Woof', 'Woofer', 'Woolly', 'Woolworth', 'Wordsworth', 'Worm', 'Wormy', 'Wrex', 'Wriggler', 'Wriggles', 'Wriggly', 'Wrinkle', 'Wrinkler', 'Wrinkles', 'Wuggums', 'Wumpus', 'Wuzzie', 'Wyoming', 'Xanadu', 'Xenobia', 'Xifto', 'Xinx', 'Xinxu', 'Xippy', 'Xowie', 'Xoxo', 'Xoxxy', 'Xpresso', 'Yahoo', 'Yammie', 'Yancy', 'Yappy', 'Yardstick', 'Yasu', 'Yeasty', 'Yellowstone', 'Yelper', 'Yertle', 'Yesterday', 'Yeti', 'Yippie', 'Yodeler', 'Yoga', 'Yoko', 'Yonder', 'Yonkers', 'Yorty', 'Yosemite', 'Yukon', 'Yummy', 'Yutu', 'Yvonne', 'Zack', 'Zadok', 'Zaftig', 'Zaire', 'Zapata', 'Zappa', 'Zazen', 'Zebu', 'Zebulon', 'Zen', 'Zenith', 'Zenzen', 'Zepellin', 'Zephyr', 'Zeppo', 'Zero', 'Zesty', 'Zigzag', 'Zilch', 'Zillion', 'Zing', 'Zinger', 'Zingy', 'Zipcode', 'Zircon', 'Zodiac', 'Zoltan', 'Zonk', 'Zoo', 'Zooble', 'Zoom', 'Zoomer', 'Zoomy', 'Zowie', 'Zucchini', 'Zylon'] +PetNameDictionary = {} +id = 0 + +for dictionary in [BoyPetNames, GirlPetNames, NeutralPetNames]: + for name in dictionary: + PetNameDictionary[id] = name + id += 1 + +def getPetName(uniqueID): + try: + return PetNameDictionary[uniqueID] + except: + return PetNameDictionary[0] + +def getRandomPetName(gender = None, seed = None): + if seed is not None: + random.seed(seed) + + nameList = list(NeutralPetNames) + + if gender == 0: + nameList += BoyPetNames + else: + nameList += GirlPetNames + + return random.choice(nameList) + +def getPetNameId(name): + for key, value in PetNameDictionary.items(): + if name == value: + return key + + return 0 \ No newline at end of file From b3fd5e37ae94acd6a4fc36389879179fedc1fd73 Mon Sep 17 00:00:00 2001 From: Loudrob Date: Sat, 14 Mar 2015 19:23:50 -0400 Subject: [PATCH 2/2] 95% Done implementing C++ DNA Reader --- libpandadna.pyd | Bin 538112 -> 551936 bytes toontown/building/DistributedBankInterior.py | 4 +- .../building/DistributedGagshopInterior.py | 4 +- toontown/building/DistributedHQInterior.py | 4 +- .../building/DistributedLibraryInterior.py | 4 +- .../building/DistributedPetshopInterior.py | 4 +- .../building/DistributedToonHallInterior.py | 4 +- toontown/building/DistributedToonInterior.py | 4 +- toontown/coghq/BossbotHQExterior.py | 2 +- toontown/coghq/CashbotHQExterior.py | 2 +- toontown/coghq/FactoryExterior.py | 2 +- toontown/coghq/LawbotHQExterior.py | 2 +- toontown/coghq/SellbotHQExterior.py | 2 +- toontown/distributed/PlayGame.py | 1 - toontown/dna/DNAAnimBuilding.py | 33 -- toontown/dna/DNAAnimProp.py | 36 -- toontown/dna/DNABattleCell.py | 34 -- toontown/dna/DNACornice.py | 60 ---- toontown/dna/DNADoor.py | 81 ----- toontown/dna/DNAError.py | 2 - toontown/dna/DNAFlatBuilding.py | 149 --------- toontown/dna/DNAFlatDoor.py | 14 - toontown/dna/DNAGroup.py | 54 --- toontown/dna/DNAInteractiveProp.py | 37 --- toontown/dna/DNALandmarkBuilding.py | 79 ----- toontown/dna/DNALoader.py | 220 ------------- toontown/dna/DNANode.py | 55 ---- toontown/dna/DNAParser.py | 26 +- toontown/dna/DNAProp.py | 66 ---- toontown/dna/DNASign.py | 44 --- toontown/dna/DNASignBaseline.py | 30 -- toontown/dna/DNASignGraphic.py | 62 ---- toontown/dna/DNASignText.py | 8 - toontown/dna/DNAStorage.py | 308 ------------------ toontown/dna/DNAStreet.py | 121 ------- toontown/dna/DNASuitEdge.py | 17 - toontown/dna/DNASuitPath.py | 18 - toontown/dna/DNASuitPoint.py | 89 ----- toontown/dna/DNAUtil.py | 9 - toontown/dna/DNAVisGroup.py | 72 ---- toontown/dna/DNAWall.py | 52 --- toontown/dna/DNAWindows.py | 103 ------ toontown/estate/DistributedHouse.py | 4 +- toontown/estate/DistributedHouseInterior.py | 4 +- toontown/suit/DistributedSuit.py | 10 +- toontown/suit/DistributedSuitAI.py | 4 +- toontown/suit/DistributedSuitPlannerAI.py | 2 +- toontown/suit/SuitBase.py | 2 +- toontown/suit/SuitLegList.py | 225 ------------- toontown/town/TownLoader.py | 4 +- 50 files changed, 48 insertions(+), 2125 deletions(-) delete mode 100644 toontown/dna/DNAAnimBuilding.py delete mode 100644 toontown/dna/DNAAnimProp.py delete mode 100644 toontown/dna/DNABattleCell.py delete mode 100644 toontown/dna/DNACornice.py delete mode 100644 toontown/dna/DNADoor.py delete mode 100644 toontown/dna/DNAError.py delete mode 100644 toontown/dna/DNAFlatBuilding.py delete mode 100644 toontown/dna/DNAFlatDoor.py delete mode 100644 toontown/dna/DNAGroup.py delete mode 100644 toontown/dna/DNAInteractiveProp.py delete mode 100644 toontown/dna/DNALandmarkBuilding.py delete mode 100644 toontown/dna/DNALoader.py delete mode 100644 toontown/dna/DNANode.py delete mode 100644 toontown/dna/DNAProp.py delete mode 100644 toontown/dna/DNASign.py delete mode 100644 toontown/dna/DNASignBaseline.py delete mode 100644 toontown/dna/DNASignGraphic.py delete mode 100644 toontown/dna/DNASignText.py delete mode 100644 toontown/dna/DNAStorage.py delete mode 100644 toontown/dna/DNAStreet.py delete mode 100644 toontown/dna/DNASuitEdge.py delete mode 100644 toontown/dna/DNASuitPath.py delete mode 100644 toontown/dna/DNASuitPoint.py delete mode 100644 toontown/dna/DNAUtil.py delete mode 100644 toontown/dna/DNAVisGroup.py delete mode 100644 toontown/dna/DNAWall.py delete mode 100644 toontown/dna/DNAWindows.py delete mode 100644 toontown/suit/SuitLegList.py diff --git a/libpandadna.pyd b/libpandadna.pyd index cbef6e1334d9c39becd7a2784a49a2f877bbfdf0..1c78821d0a49ceb9c1af16f0af559ae885f441ec 100644 GIT binary patch literal 551936 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ɬ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

#Jm6>0{KSx)n#OWFHD1fi`kz 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 byg%Um0q+lZf57_#-XHM(fcFRfr9bc+``+A~ literal 538112 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 D3=^u$ diff --git a/toontown/building/DistributedBankInterior.py b/toontown/building/DistributedBankInterior.py index a6f2c126..e8a0d79a 100644 --- a/toontown/building/DistributedBankInterior.py +++ b/toontown/building/DistributedBankInterior.py @@ -6,7 +6,7 @@ from pandac.PandaModules import * import random import ToonInteriorColors -from toontown.dna.DNAParser import DNADoor +from toontown.dna.DNAParser import * from toontown.hood import ZoneUtil from toontown.toon.DistributedNPCToonBase import DistributedNPCToonBase from toontown.toonbase.ToonBaseGlobal import * @@ -210,7 +210,7 @@ class DistributedBankInterior(DistributedObject): doorOrigin.setScale(0.8, 0.8, 0.8) doorOrigin.setPos(doorOrigin, 0, -0.025, 0) doorColor = self.randomGenerator.choice(self.colors['TI_door']) - DNADoor.setupDoor(doorNP, self.interior, doorOrigin, self.dnaStore, str(self.block), doorColor) + setupDoor(doorNP, self.interior, doorOrigin, self.dnaStore, str(self.block), doorColor) doorFrame = doorNP.find('door_*_flat') doorFrame.wrtReparentTo(self.interior) doorFrame.setColor(doorColor) diff --git a/toontown/building/DistributedGagshopInterior.py b/toontown/building/DistributedGagshopInterior.py index a445c855..ac17e090 100644 --- a/toontown/building/DistributedGagshopInterior.py +++ b/toontown/building/DistributedGagshopInterior.py @@ -5,7 +5,7 @@ import random from direct.distributed import DistributedObject from direct.directnotify import DirectNotifyGlobal import ToonInteriorColors -from toontown.dna.DNAParser import DNADoor +from toontown.dna.DNAParser import * from toontown.hood import ZoneUtil from toontown.toon.DistributedNPCToonBase import DistributedNPCToonBase @@ -82,7 +82,7 @@ class DistributedGagshopInterior(DistributedObject.DistributedObject): doorOrigin.setScale(0.8, 0.8, 0.8) doorOrigin.setPos(doorOrigin, 0, -0.025, 0) doorColor = self.randomGenerator.choice(self.colors['TI_door']) - DNADoor.setupDoor(doorNP, self.interior, doorOrigin, self.dnaStore, str(self.block), doorColor) + setupDoor(doorNP, self.interior, doorOrigin, self.dnaStore, str(self.block), doorColor) doorFrame = doorNP.find('door_*_flat') doorFrame.wrtReparentTo(self.interior) doorFrame.setColor(doorColor) diff --git a/toontown/building/DistributedHQInterior.py b/toontown/building/DistributedHQInterior.py index e77f5455..34d6566e 100644 --- a/toontown/building/DistributedHQInterior.py +++ b/toontown/building/DistributedHQInterior.py @@ -8,7 +8,7 @@ from pandac.PandaModules import * from toontown.toonbase import TTLocalizer from toontown.toonbase.ToonBaseGlobal import * from toontown.toonbase.ToontownGlobals import * -from toontown.dna.DNAParser import DNADoor +from toontown.dna.DNAParser import * from toontown.toon.DistributedNPCToonBase import DistributedNPCToonBase @@ -156,7 +156,7 @@ class DistributedHQInterior(DistributedObject.DistributedObject): doorOrigin.setPos(doorOrigin, 0, -0.025, 0) doorColor = self.randomGenerator.choice(self.colors['TI_door']) triggerId = str(self.block) + '_' + doorOriginIndexStr - DNADoor.setupDoor(doorNP, newNodePath, doorOrigin, self.dnaStore, triggerId, doorColor) + setupDoor(doorNP, newNodePath, doorOrigin, self.dnaStore, triggerId, doorColor) doorFrame = doorNP.find('door_*_flat') doorFrame.setColor(doorColor) del self.dnaStore diff --git a/toontown/building/DistributedLibraryInterior.py b/toontown/building/DistributedLibraryInterior.py index 68c95abf..56179354 100644 --- a/toontown/building/DistributedLibraryInterior.py +++ b/toontown/building/DistributedLibraryInterior.py @@ -2,7 +2,7 @@ from direct.distributed.DistributedObject import DistributedObject import random from toontown.building import ToonInteriorColors -from toontown.dna.DNAParser import DNADoor +from toontown.dna.DNAParser import * from toontown.hood import ZoneUtil from toontown.toon.DistributedNPCToonBase import DistributedNPCToonBase @@ -27,7 +27,7 @@ class DistributedLibraryInterior(DistributedObject): hoodId = ZoneUtil.getCanonicalHoodId(self.zoneId) doorColor = ToonInteriorColors.colors[hoodId]['TI_door'][0] - DNADoor.setupDoor( + setupDoor( doorNodePath, self.interior, doorOrigin, self.cr.playGame.dnaStore, str(self.block), doorColor) diff --git a/toontown/building/DistributedPetshopInterior.py b/toontown/building/DistributedPetshopInterior.py index f4b8f838..77a30ce8 100644 --- a/toontown/building/DistributedPetshopInterior.py +++ b/toontown/building/DistributedPetshopInterior.py @@ -6,7 +6,7 @@ from direct.distributed import DistributedObject from direct.directnotify import DirectNotifyGlobal from direct.actor import Actor import ToonInteriorColors -from toontown.dna.DNAParser import DNADoor +from toontown.dna.DNAParser import * from toontown.hood import ZoneUtil from toontown.toon.DistributedNPCToonBase import DistributedNPCToonBase @@ -90,7 +90,7 @@ class DistributedPetshopInterior(DistributedObject.DistributedObject): doorOrigin.setScale(0.8, 0.8, 0.8) doorOrigin.setPos(doorOrigin, 0, -0.25, 0) doorColor = self.randomGenerator.choice(self.colors['TI_door']) - DNADoor.setupDoor(doorNP, self.interior, doorOrigin, self.dnaStore, str(self.block), doorColor) + setupDoor(doorNP, self.interior, doorOrigin, self.dnaStore, str(self.block), doorColor) doorFrame = doorNP.find('door_*_flat') doorFrame.wrtReparentTo(self.interior) doorFrame.setColor(doorColor) diff --git a/toontown/building/DistributedToonHallInterior.py b/toontown/building/DistributedToonHallInterior.py index a3f7f533..31974dbc 100644 --- a/toontown/building/DistributedToonHallInterior.py +++ b/toontown/building/DistributedToonHallInterior.py @@ -3,7 +3,7 @@ from direct.interval.IntervalGlobal import * from direct.distributed.ClockDelta import * from direct.showbase import Audio3DManager from toontown.toonbase import ToontownGlobals -from toontown.dna.DNAParser import DNADoor +from toontown.dna.DNAParser import * import cPickle from DistributedToonInterior import DistributedToonInterior from direct.directnotify import DirectNotifyGlobal @@ -80,7 +80,7 @@ class DistributedToonHallInterior(DistributedToonInterior): door_origin.setScale(0.8, 0.8, 0.8) door_origin.setPos(door_origin, 0, -0.025, 0) color = self.randomGenerator.choice(self.colors['TI_door']) - DNADoor.setupDoor(doorNP, self.interior, door_origin, self.dnaStore, str(self.block), color) + setupDoor(doorNP, self.interior, door_origin, self.dnaStore, str(self.block), color) doorFrame = doorNP.find('door_*_flat') doorFrame.wrtReparentTo(self.interior) doorFrame.setColor(color) diff --git a/toontown/building/DistributedToonInterior.py b/toontown/building/DistributedToonInterior.py index 6b699dc7..68c0e8ab 100644 --- a/toontown/building/DistributedToonInterior.py +++ b/toontown/building/DistributedToonInterior.py @@ -11,7 +11,7 @@ from direct.fsm import State from direct.interval.IntervalGlobal import * from otp.speedchat import SpeedChatGlobals from pandac.PandaModules import * -from toontown.dna.DNAParser import DNADoor +from toontown.dna.DNAParser import * from toontown.hood import ZoneUtil from toontown.toon import ToonDNA from toontown.toon import ToonHead @@ -113,7 +113,7 @@ class DistributedToonInterior(DistributedObject.DistributedObject): door_origin.setScale(0.8, 0.8, 0.8) door_origin.setPos(door_origin, 0, -0.025, 0) color = self.randomGenerator.choice(self.colors['TI_door']) - DNADoor.setupDoor(doorNP, self.interior, door_origin, self.dnaStore, str(self.block), color) + setupDoor(doorNP, self.interior, door_origin, self.dnaStore, str(self.block), color) doorFrame = doorNP.find('door_*_flat') doorFrame.wrtReparentTo(self.interior) doorFrame.setColor(color) diff --git a/toontown/coghq/BossbotHQExterior.py b/toontown/coghq/BossbotHQExterior.py index f59b28bc..4af98b26 100644 --- a/toontown/coghq/BossbotHQExterior.py +++ b/toontown/coghq/BossbotHQExterior.py @@ -78,7 +78,7 @@ class BossbotHQExterior(CogHQExterior.CogHQExterior): visZoneId = ZoneUtil.getTrueZoneId(visZoneId, self.zoneId) visibles = [] for i in xrange(visGroup.getNumVisibles()): - visibles.append(int(visGroup.visibles[i])) + visibles.append(int(visGroup.getVisible(i))) visibles.append(ZoneUtil.getBranchZone(visZoneId)) self.zoneVisDict[visZoneId] = visibles diff --git a/toontown/coghq/CashbotHQExterior.py b/toontown/coghq/CashbotHQExterior.py index 5367640e..0c2d0769 100644 --- a/toontown/coghq/CashbotHQExterior.py +++ b/toontown/coghq/CashbotHQExterior.py @@ -72,7 +72,7 @@ class CashbotHQExterior(CogHQExterior.CogHQExterior): visZoneId = ZoneUtil.getTrueZoneId(visZoneId, self.zoneId) visibles = [] for i in xrange(visGroup.getNumVisibles()): - visibles.append(int(visGroup.visibles[i])) + visibles.append(int(visGroup.getVisible(i))) visibles.append(ZoneUtil.getBranchZone(visZoneId)) self.zoneVisDict[visZoneId] = visibles diff --git a/toontown/coghq/FactoryExterior.py b/toontown/coghq/FactoryExterior.py index ff28c160..dd06f718 100644 --- a/toontown/coghq/FactoryExterior.py +++ b/toontown/coghq/FactoryExterior.py @@ -80,7 +80,7 @@ class FactoryExterior(BattlePlace.BattlePlace): visZoneId = ZoneUtil.getTrueZoneId(visZoneId, self.zoneId) visibles = [] for i in xrange(visGroup.getNumVisibles()): - visibles.append(int(visGroup.visibles[i])) + visibles.append(int(visGroup.getVisible(i))) visibles.append(ZoneUtil.getBranchZone(visZoneId)) self.zoneVisDict[visZoneId] = visibles diff --git a/toontown/coghq/LawbotHQExterior.py b/toontown/coghq/LawbotHQExterior.py index cebe9c06..e4e8e189 100644 --- a/toontown/coghq/LawbotHQExterior.py +++ b/toontown/coghq/LawbotHQExterior.py @@ -30,7 +30,7 @@ class LawbotHQExterior(CogHQExterior.CogHQExterior): visZoneId = ZoneUtil.getTrueZoneId(visZoneId, self.zoneId) visibles = [] for i in xrange(visGroup.getNumVisibles()): - visibles.append(int(visGroup.visibles[i])) + visibles.append(int(visGroup.getVisible(i))) visibles.append(ZoneUtil.getBranchZone(visZoneId)) self.zoneVisDict[visZoneId] = visibles diff --git a/toontown/coghq/SellbotHQExterior.py b/toontown/coghq/SellbotHQExterior.py index 64105a7f..2afff17d 100644 --- a/toontown/coghq/SellbotHQExterior.py +++ b/toontown/coghq/SellbotHQExterior.py @@ -26,7 +26,7 @@ class SellbotHQExterior(CogHQExterior.CogHQExterior): visZoneId = ZoneUtil.getTrueZoneId(visZoneId, self.zoneId) visibles = [] for i in xrange(visGroup.getNumVisibles()): - visibles.append(int(visGroup.visibles[i])) + visibles.append(int(visGroup.getVisible(i))) visibles.append(ZoneUtil.getBranchZone(visZoneId)) self.zoneVisDict[visZoneId] = visibles diff --git a/toontown/distributed/PlayGame.py b/toontown/distributed/PlayGame.py index 97d761ae..90084be9 100644 --- a/toontown/distributed/PlayGame.py +++ b/toontown/distributed/PlayGame.py @@ -158,7 +158,6 @@ class PlayGame(StateData.StateData): def unloadDnaStore(self): if hasattr(self, 'dnaStore'): - self.dnaStore.cleanup() del self.dnaStore ModelPool.garbageCollect() TexturePool.garbageCollect() diff --git a/toontown/dna/DNAAnimBuilding.py b/toontown/dna/DNAAnimBuilding.py deleted file mode 100644 index 7d4e9382..00000000 --- a/toontown/dna/DNAAnimBuilding.py +++ /dev/null @@ -1,33 +0,0 @@ -import DNALandmarkBuilding -import DNAError -import DNAUtil - -class DNAAnimBuilding(DNALandmarkBuilding.DNALandmarkBuilding): - COMPONENT_CODE = 16 - - def __init__(self, name): - DNALandmarkBuilding.DNALandmarkBuilding.__init__(self, name) - self.animName = '' - - def setAnim(self, anim): - self.animName = anim - - def getAnim(self): - return self.animName - - def makeFromDGI(self, dgi): - DNALandmarkBuilding.DNALandmarkBuilding.makeFromDGI(self, dgi) - self.animName = DNAUtil.dgiExtractString8(dgi) - - def traverse(self, nodePath, dnaStorage): - node = dnaStorage.findNode(self.getCode()) - if node is None: - raise DNAError.DNAError('DNAAnimBuilding code ' + self.getCode() + ' not found in dnastore') - node = node.copyTo(nodePath, 0) - node.setName(self.getName()) - node.setPosHprScale(self.getPos(), self.getHpr(), self.getScale()) - node.setTag('DNAAnim', self.animName) - self.setupSuitBuildingOrigin(nodePath, node) - for child in self.children: - child.traverse(nodePath, dnaStorage) - nodePath.flattenStrong() \ No newline at end of file diff --git a/toontown/dna/DNAAnimProp.py b/toontown/dna/DNAAnimProp.py deleted file mode 100644 index 53032234..00000000 --- a/toontown/dna/DNAAnimProp.py +++ /dev/null @@ -1,36 +0,0 @@ -import DNAProp -from DNAUtil import * - -class DNAAnimProp(DNAProp.DNAProp): - COMPONENT_CODE = 14 - - def __init__(self, name): - DNAProp.DNAProp.__init__(self, name) - self.animName = '' - - def setAnim(self, anim): - self.animName = anim - - def getAnim(self): - return self.animName - - def makeFromDGI(self, dgi): - DNAProp.DNAProp.makeFromDGI(self, dgi) - self.animName = dgiExtractString8(dgi) - - def traverse(self, nodePath, dnaStorage): - node = None - if self.getCode() == 'DCS': - node = ModelNode(self.getName()) - node.setPreserveTransform(ModelNode.PTNet) - node = nodePath.attachNewNode(node, 0) - else: - node = dnaStorage.findNode(self.getCode()) - node = node.copyTo(nodePath, 0) - node.setName(self.getName()) - node.setTag('DNAAnim', self.getAnim()) - node.setPosHprScale(self.getPos(), self.getHpr(), self.getScale()) - node.setColorScale(self.getColor(), 0) - node.flattenStrong() - for child in self.children: - child.traverse(node, dnaStorage) \ No newline at end of file diff --git a/toontown/dna/DNABattleCell.py b/toontown/dna/DNABattleCell.py deleted file mode 100644 index e59a70cf..00000000 --- a/toontown/dna/DNABattleCell.py +++ /dev/null @@ -1,34 +0,0 @@ -from DNAUtil import * - -class DNABattleCell: - COMPONENT_CODE = 21 - - def __init__(self, width, height, pos): - self.width = width - self.height = height - self.pos = pos - - def setWidth(self, width): - self.width = width - - def getWidth(self): - return self.width - - def setHeight(self, height): - self.height = height - - def getHeight(self): - return self.height - - def setPos(self, pos): - self.pos = pos - - def getPos(self): - return self.pos - - def setWidthHeight(self, width, height): - self.width = width - self.height = height - - def __str__(self): - return 'DNABattleCell width: ' + str(self.width) + ' height: ' + str(self.height) + ' pos: ' + str(self.pos) diff --git a/toontown/dna/DNACornice.py b/toontown/dna/DNACornice.py deleted file mode 100644 index c78c7eea..00000000 --- a/toontown/dna/DNACornice.py +++ /dev/null @@ -1,60 +0,0 @@ -from panda3d.core import LVector4f, LVector3f, DecalEffect -import DNAGroup -import DNAError -import DNAUtil - -class DNACornice(DNAGroup.DNAGroup): - COMPONENT_CODE = 12 - - def __init__(self, name): - DNAGroup.DNAGroup.__init__(self, name) - self.code = '' - self.color = LVector4f(1, 1, 1, 1) - - def setCode(self, code): - self.code = code - - def getCode(self): - return self.code - - def setColor(self, color): - self.color = color - - def getColor(self): - return self.color - - def makeFromDGI(self, dgi): - DNAGroup.DNAGroup.makeFromDGI(self, dgi) - self.code = DNAUtil.dgiExtractString8(dgi) - self.color = DNAUtil.dgiExtractColor(dgi) - - def traverse(self, nodePath, dnaStorage): - pParentXScale = nodePath.getParent().getScale().getX() - parentZScale = nodePath.getScale().getZ() - node = dnaStorage.findNode(self.code) - if node is None: - raise DNAError.DNAError('DNACornice code %d not found in DNAStorage' % self.code) - nodePathA = nodePath.attachNewNode('cornice-internal', 0) - node = node.find('**/*_d') - np = node.copyTo(nodePathA, 0) - np.setPosHprScale( - LVector3f(0, 0, 0), - LVector3f(0, 0, 0), - LVector3f(1, pParentXScale/parentZScale, - pParentXScale/parentZScale)) - np.setEffect(DecalEffect.make()) - np.flattenStrong() - node = node.getParent().find('**/*_nd') - np = node.copyTo(nodePathA, 1) - np.setPosHprScale( - LVector3f(0, 0, 0), - LVector3f(0, 0, 0), - LVector3f(1, pParentXScale/parentZScale, - pParentXScale/parentZScale)) - np.flattenStrong() - nodePathA.setPosHprScale( - LVector3f(0, 0, node.getScale().getZ()), - LVector3f(0, 0, 0), - LVector3f(1, 1, 1)) - nodePathA.setColor(self.color) - nodePathA.flattenStrong() \ No newline at end of file diff --git a/toontown/dna/DNADoor.py b/toontown/dna/DNADoor.py deleted file mode 100644 index f6e6efb3..00000000 --- a/toontown/dna/DNADoor.py +++ /dev/null @@ -1,81 +0,0 @@ -from panda3d.core import LVector4f, DecalEffect, NodePath -import DNAGroup -import DNAError -import DNAUtil - -class DNADoor(DNAGroup.DNAGroup): - COMPONENT_CODE = 17 - - def __init__(self, name): - DNAGroup.DNAGroup.__init__(self, name) - self.code = '' - self.color = LVector4f(1, 1, 1, 1) - - def setCode(self, code): - self.code = code - - def getCode(self): - return self.code - - def setColor(self, color): - self.color = color - - def getColor(self): - return self.color - - @staticmethod - def setupDoor(doorNodePath, parentNode, doorOrigin, dnaStore, block, color): - doorNodePath.setPosHprScale(doorOrigin, (0, 0, 0), (0, 0, 0), (1, 1, 1)) - doorNodePath.setColor(color, 0) - leftHole = doorNodePath.find('door_*_hole_left') - leftHole.flattenStrong() - leftHole.setName('doorFrameHoleLeft') - rightHole = doorNodePath.find('door_*_hole_right') - rightHole.flattenStrong() - rightHole.setName('doorFrameHoleRight') - leftDoor = doorNodePath.find('door_*_left') - leftDoor.flattenStrong() - leftDoor.setName('leftDoor') - rightDoor = doorNodePath.find('door_*_right') - rightDoor.flattenStrong() - rightDoor.setName('rightDoor') - doorFlat = doorNodePath.find('door_*_flat') - doorFlat.flattenStrong() - leftHole.wrtReparentTo(doorFlat, 0) - rightHole.wrtReparentTo(doorFlat, 0) - doorFlat.setEffect(DecalEffect.make()) - rightDoor.wrtReparentTo(parentNode, 0) - leftDoor.wrtReparentTo(parentNode, 0) - - rightDoor.setColor(color, 0) - leftDoor.setColor(color, 0) - leftHole.setColor((0, 0, 0, 1), 0) - rightHole.setColor((0, 0, 0, 1), 0) - - doorTrigger = doorNodePath.find('door_*_trigger') - doorTrigger.setScale(2, 2, 2) - doorTrigger.wrtReparentTo(parentNode, 0) - doorTrigger.setName('door_trigger_' + block) - - if not dnaStore.getDoorPosHprFromBlockNumber(block): - dnaStore.storeBlockDoor(block, doorOrigin) - - doorNodePath.flattenMedium() - - def makeFromDGI(self, dgi): - DNAGroup.DNAGroup.makeFromDGI(self, dgi) - self.code = DNAUtil.dgiExtractString8(dgi) - self.color = DNAUtil.dgiExtractColor(dgi) - - def traverse(self, nodePath, dnaStorage): - frontNode = nodePath.find('**/*_front') - if not frontNode.getNode(0).isGeomNode(): - frontNode = frontNode.find('**/+GeomNode') - frontNode.setEffect(DecalEffect.make()) - node = dnaStorage.findNode(self.code) - if node is None: - raise DNAError.DNAError('DNADoor code ' + self.code + ' not found in DNAStorage') - doorNode = node.copyTo(frontNode, 0) - doorNode.flattenMedium() - block = dnaStorage.getBlock(nodePath.getName()) - DNADoor.setupDoor(doorNode, nodePath, nodePath.find('**/*door_origin'), dnaStorage, block, self.getColor()) diff --git a/toontown/dna/DNAError.py b/toontown/dna/DNAError.py deleted file mode 100644 index 341949e5..00000000 --- a/toontown/dna/DNAError.py +++ /dev/null @@ -1,2 +0,0 @@ -class DNAError(Exception): - pass \ No newline at end of file diff --git a/toontown/dna/DNAFlatBuilding.py b/toontown/dna/DNAFlatBuilding.py deleted file mode 100644 index 69f5cb10..00000000 --- a/toontown/dna/DNAFlatBuilding.py +++ /dev/null @@ -1,149 +0,0 @@ -from panda3d.core import NodePath, DecalEffect -import DNANode -import DNAWall - -import random - -class DNAFlatBuilding(DNANode.DNANode): - COMPONENT_CODE = 9 - currentWallHeight = 0 - - def __init__(self, name): - DNANode.DNANode.__init__(self, name) - self.width = 0 - self.hasDoor = False - - def setWidth(self, width): - self.width = width - - def getWidth(self): - return self.width - - def setCurrentWallHeight(self, currentWallHeight): - DNAFlatBuilding.currentWallHeight = currentWallHeight - - def getCurrentWallHeight(self): - return DNAFlatBuilding.currentWallHeight - - def setHasDoor(self, hasDoor): - self.hasDoor = hasDoor - - def getHasDoor(self): - return self.hasDoor - - def makeFromDGI(self, dgi): - DNANode.DNANode.makeFromDGI(self, dgi) - self.width = dgi.getInt16() / 100.0 - self.hasDoor = dgi.getBool() - - def setupSuitFlatBuilding(self, nodePath, dnaStorage): - name = self.getName() - if name[:2] != 'tb': - return - name = 'sb' + name[2:] - node = nodePath.attachNewNode(name) - node.setPosHpr(self.getPos(), self.getHpr()) - numCodes = dnaStorage.getNumCatalogCodes('suit_wall') - if numCodes < 1: - return - code = dnaStorage.getCatalogCode( - 'suit_wall', random.randint(0, numCodes - 1)) - wallNode = dnaStorage.findNode(code) - if not wallNode: - return - wallNode = wallNode.copyTo(node, 0) - wallScale = wallNode.getScale() - wallScale.setX(self.width) - wallScale.setZ(DNAFlatBuilding.currentWallHeight) - wallNode.setScale(wallScale) - if self.getHasDoor(): - wallNodePath = node.find('wall_*') - doorNode = dnaStorage.findNode('suit_door') - doorNode = doorNode.copyTo(wallNodePath, 0) - doorNode.setScale(NodePath(), (1, 1, 1)) - doorNode.setPosHpr(0.5, 0, 0, 0, 0, 0) - wallNodePath.setEffect(DecalEffect.make()) - node.flattenMedium() - node.stash() - - def setupCogdoFlatBuilding(self, nodePath, dnaStorage): - name = self.getName() - if name[:2] != 'tb': - return - name = 'cb' + name[2:] - node = nodePath.attachNewNode(name) - node.setPosHpr(self.getPos(), self.getHpr()) - numCodes = dnaStorage.getNumCatalogCodes('cogdo_wall') - if numCodes < 1: - return - code = dnaStorage.getCatalogCode( - 'cogdo_wall', random.randint(0, numCodes - 1)) - wallNode = dnaStorage.findNode(code) - if not wallNode: - return - wallNode = wallNode.copyTo(node, 0) - wallScale = wallNode.getScale() - wallScale.setX(self.width) - wallScale.setZ(DNAFlatBuilding.currentWallHeight) - wallNode.setScale(wallScale) - if self.getHasDoor(): - wallNodePath = node.find('wall_*') - doorNode = dnaStorage.findNode('suit_door') - doorNode = doorNode.copyTo(wallNodePath, 0) - doorNode.setScale(NodePath(), (1, 1, 1)) - doorNode.setPosHpr(0.5, 0, 0, 0, 0, 0) - wallNodePath.setEffect(DecalEffect.make()) - node.flattenMedium() - node.stash() - - def traverse(self, nodePath, dnaStorage): - DNAFlatBuilding.currentWallHeight = 0 - node = nodePath.attachNewNode(self.getName()) - internalNode = node.attachNewNode(self.getName() + '-internal') - scale = self.getScale() - scale.setX(self.width) - internalNode.setScale(scale) - node.setPosHpr(self.getPos(), self.getHpr()) - for child in self.children: - if isinstance(child, DNAWall.DNAWall): - child.traverse(internalNode, dnaStorage) - else: - child.traverse(node, dnaStorage) - if DNAFlatBuilding.currentWallHeight == 0: - print 'empty flat building with no walls' - else: - cameraBarrier = dnaStorage.findNode('wall_camera_barrier') - if cameraBarrier is None: - raise DNAError.DNAError('DNAFlatBuilding requires that there is a wall_camera_barrier in storage') - cameraBarrier = cameraBarrier.copyTo(internalNode, 0) - cameraBarrier.setScale((1, 1, DNAFlatBuilding.currentWallHeight)) - internalNode.flattenStrong() - collisionNode = node.find('**/door_*/+CollisionNode') - if not collisionNode.isEmpty(): - collisionNode.setName('KnockKnockDoorSphere_' + dnaStorage.getBlock(self.getName())) - cameraBarrier.wrtReparentTo(nodePath, 0) - wallCollection = internalNode.findAllMatches('wall*') - wallHolder = node.attachNewNode('wall_holder') - wallDecal = node.attachNewNode('wall_decal') - windowCollection = internalNode.findAllMatches('**/window*') - doorCollection = internalNode.findAllMatches('**/door*') - corniceCollection = internalNode.findAllMatches('**/cornice*_d') - wallCollection.reparentTo(wallHolder) - windowCollection.reparentTo(wallDecal) - doorCollection.reparentTo(wallDecal) - corniceCollection.reparentTo(wallDecal) - for i in xrange(wallHolder.getNumChildren()): - iNode = wallHolder.getChild(i) - iNode.clearTag('DNACode') - iNode.clearTag('DNARoot') - wallHolder.flattenStrong() - wallDecal.flattenStrong() - holderChild0 = wallHolder.getChild(0) - wallDecal.getChildren().reparentTo(holderChild0) - holderChild0.reparentTo(internalNode) - holderChild0.setEffect(DecalEffect.make()) - wallHolder.removeNode() - wallDecal.removeNode() - self.setupSuitFlatBuilding(nodePath, dnaStorage) - self.setupCogdoFlatBuilding(nodePath, dnaStorage) - node.flattenStrong() diff --git a/toontown/dna/DNAFlatDoor.py b/toontown/dna/DNAFlatDoor.py deleted file mode 100644 index cb8bb2ef..00000000 --- a/toontown/dna/DNAFlatDoor.py +++ /dev/null @@ -1,14 +0,0 @@ -from panda3d.core import NodePath, DecalEffect -import DNADoor - -class DNAFlatDoor(DNADoor.DNADoor): - COMPONENT_CODE = 18 - - def traverse(self, nodePath, dnaStorage): - node = dnaStorage.findNode(self.getCode()) - node = node.copyTo(nodePath, 0) - node.setScale(NodePath(), (1, 1, 1)) - node.setPosHpr((0.5, 0, 0), (0, 0, 0)) - node.setColor(self.getColor()) - node.getNode(0).setEffect(DecalEffect.make()) - node.flattenStrong() \ No newline at end of file diff --git a/toontown/dna/DNAGroup.py b/toontown/dna/DNAGroup.py deleted file mode 100644 index 3f09bc1e..00000000 --- a/toontown/dna/DNAGroup.py +++ /dev/null @@ -1,54 +0,0 @@ -from panda3d.core import PandaNode -import DNAUtil - -class DNAGroup: - COMPONENT_CODE = 1 - - def __init__(self, name): - self.name = name - self.children = [] - self.parent = None - self.visGroup = None - - def add(self, child): - self.children += [child] - - def remove(self, child): - self.children.remove(child) - - def at(self, index): - return self.children[index] - - def setParent(self, parent): - self.parent = parent - self.visGroup = parent.getVisGroup() - - def getParent(self): - return self.parent - - def clearParent(self): - self.parent = None - self.visGroup = None - - def getVisGroup(self): - return self.visGroup - - def getNumChildren(self): - return len(self.children) - - def getName(self): - return self.name - - def setName(self, name): - self.name = name - - def makeFromDGI(self, dgi): - self.name = DNAUtil.dgiExtractString8(dgi) - DNAUtil.dgiExtractString8(dgi) - DNAUtil.dgiExtractString8(dgi) - - def traverse(self, nodePath, dnaStorage): - node = PandaNode(self.name) - nodePath = nodePath.attachNewNode(node, 0) - for child in self.children: - child.traverse(nodePath, dnaStorage) \ No newline at end of file diff --git a/toontown/dna/DNAInteractiveProp.py b/toontown/dna/DNAInteractiveProp.py deleted file mode 100644 index 9ac92754..00000000 --- a/toontown/dna/DNAInteractiveProp.py +++ /dev/null @@ -1,37 +0,0 @@ -from panda3d.core import ModelNode -import DNAAnimProp - -class DNAInteractiveProp(DNAAnimProp.DNAAnimProp): - COMPONENT_CODE = 15 - - def __init__(self, name): - DNAAnimProp.DNAAnimProp.__init__(self, name) - self.cellId = -1 - - def setCellId(self, id): - self.cellId = id - - def getCellId(self): - return cellId - - def makeFromDGI(self, dgi): - DNAAnimProp.DNAAnimProp.makeFromDGI(self, dgi) - self.cellId = dgi.getInt16() - - def traverse(self, nodePath, dnaStorage): - node = None - if self.getCode() == 'DCS': - node = ModelNode(self.getName()) - node.setPreserveTransform(ModelNode.PTNet) - node = nodePath.attachNewNode(node, 0) - else: - node = dnaStorage.findNode(self.getCode()) - node = node.copyTo(nodePath, 0) - node.setName(self.getName()) - node.setTag('DNAAnim', self.getAnim()) - node.setTag('DNACellIndex', str(self.cellId)) - node.setPosHprScale(self.getPos(), self.getHpr(), self.getScale()) - node.setColorScale(self.getColor(), 0) - node.flattenStrong() - for child in self.children: - child.traverse(node, dnaStorage) \ No newline at end of file diff --git a/toontown/dna/DNALandmarkBuilding.py b/toontown/dna/DNALandmarkBuilding.py deleted file mode 100644 index fb7bd4d8..00000000 --- a/toontown/dna/DNALandmarkBuilding.py +++ /dev/null @@ -1,79 +0,0 @@ -from panda3d.core import LVector4f -import DNANode -import DNAUtil -import DNAError - -class DNALandmarkBuilding(DNANode.DNANode): - COMPONENT_CODE = 13 - - def __init__(self, name): - DNANode.DNANode.__init__(self, name) - self.code = '' - self.wallColor = LVector4f(1, 1, 1, 1) - self.title = '' - self.article = '' - self.buildingType = '' - self.door = None - - def setArticle(self, article): - self.article = article - - def getArticle(self): - return self.article - - def setBuildingType(self, buildingType): - self.buildingType = buildingType - - def getBuildingType(self): - return self.buildingType - - def setTitle(self, title): - self.title = title - - def getTitle(self): - return self.title - - def getCode(self): - return self.code - - def setCode(self, code): - self.code = code - - def setWallColor(self, color): - self.wallColor = color - - def getWallColor(self): - return self.wallColor - - def setupSuitBuildingOrigin(self, nodePathA, nodePathB): - if (self.getName()[:2] == 'tb') and (self.getName()[3].isdigit()) and (self.getName().find(':') != -1): - name = self.getName() - name = 's' + name[1:] - node = nodePathB.find('**/*suit_building_origin') - if node.isEmpty(): - node = nodePathA.attachNewNode(name) - node.setPosHprScale(self.getPos(), self.getHpr(), self.getScale()) - else: - node.wrtReparentTo(nodePathA, 0) - node.setName(name) - - def makeFromDGI(self, dgi): - DNANode.DNANode.makeFromDGI(self, dgi) - self.code = DNAUtil.dgiExtractString8(dgi) - self.wallColor = DNAUtil.dgiExtractColor(dgi) - self.title = DNAUtil.dgiExtractString8(dgi) - self.article = DNAUtil.dgiExtractString8(dgi) - self.buildingType = DNAUtil.dgiExtractString8(dgi) - - def traverse(self, nodePath, dnaStorage): - node = dnaStorage.findNode(self.code) - if node is None: - raise DNAError.DNAError('DNALandmarkBuilding code ' + self.code + ' not found in DNAStorage') - npA = nodePath - nodePath = node.copyTo(nodePath, 0) - nodePath.setName(self.getName()) - nodePath.setPosHprScale(self.getPos(), self.getHpr(), self.getScale()) - self.setupSuitBuildingOrigin(npA, nodePath) - for child in self.children: - child.traverse(nodePath, dnaStorage) - nodePath.flattenStrong() \ No newline at end of file diff --git a/toontown/dna/DNALoader.py b/toontown/dna/DNALoader.py deleted file mode 100644 index f4545f77..00000000 --- a/toontown/dna/DNALoader.py +++ /dev/null @@ -1,220 +0,0 @@ -from pandac.PandaModules import * -from direct.distributed.PyDatagramIterator import PyDatagramIterator -from direct.distributed.PyDatagram import PyDatagram -from direct.stdpy.file import * - -import DNAUtil -import DNAError -import DNAAnimBuilding -import DNAAnimProp -import DNACornice -import DNADoor -import DNAFlatBuilding -import DNAFlatDoor -import DNAGroup -import DNAInteractiveProp -import DNALandmarkBuilding -import DNANode -import DNAProp -import DNASign -import DNASignBaseline -import DNASignGraphic -import DNASignText -import DNAStreet -import DNAVisGroup -import DNAWall -import DNAWindows -import DNABattleCell -import DNASuitPoint - -import zlib -import sys -sys.setrecursionlimit(10000) - -compClassTable = { -1: DNAGroup.DNAGroup, -2: DNAVisGroup.DNAVisGroup, -3: DNANode.DNANode, -4: DNAProp.DNAProp, -5: DNASign.DNASign, -6: DNASignBaseline.DNASignBaseline, -7: DNASignText.DNASignText, -8: DNASignGraphic.DNASignGraphic, -9: DNAFlatBuilding.DNAFlatBuilding, -10: DNAWall.DNAWall, -11: DNAWindows.DNAWindows, -12: DNACornice.DNACornice, -13: DNALandmarkBuilding.DNALandmarkBuilding, -14: DNAAnimProp.DNAAnimProp, -15: DNAInteractiveProp.DNAInteractiveProp, -16: DNAAnimBuilding.DNAAnimBuilding, -17: DNADoor.DNADoor, -18: DNAFlatDoor.DNAFlatDoor, -19: DNAStreet.DNAStreet -} - -childlessComps = ( -7, # DNASignText -11, # DNAWindows -12, # DNACornice -17, # DNADoor -18, # DNAFlatDoor -19 # DNAStreet -) - -class DNALoader: - def __init__(self): - self.dnaStorage = None - self.prop = None - - def destroy(self): - del self.dnaStorage - del self.prop - - def handleStorageData(self, dgi): - # Catalog Codes - numRoots = dgi.getUint16() - for _ in xrange(numRoots): - root = DNAUtil.dgiExtractString8(dgi) - numCodes = dgi.getUint8() - for i in xrange(numCodes): - code = DNAUtil.dgiExtractString8(dgi) - self.dnaStorage.storeCatalogCode(root, code) - - # Textures - numTextures = dgi.getUint16() - for _ in xrange(numTextures): - code = DNAUtil.dgiExtractString8(dgi) - filename = DNAUtil.dgiExtractString8(dgi) - self.dnaStorage.storeTexture(code, loader.pdnaTexture(filename, okMissing=True)) - - # Fonts - numFonts = dgi.getUint16() - for _ in xrange(numFonts): - code = DNAUtil.dgiExtractString8(dgi) - filename = DNAUtil.dgiExtractString8(dgi) - self.dnaStorage.storeFont(code, loader.pdnaFont(filename)) - - # Nodes - self.handleNode(dgi, target = self.dnaStorage.storeNode) - self.handleNode(dgi, target = self.dnaStorage.storeHoodNode) - self.handleNode(dgi, target = self.dnaStorage.storePlaceNode) - - # Blocks - numBlocks = dgi.getUint16() - for _ in xrange(numBlocks): - number = dgi.getUint8() - zone = dgi.getUint16() - title = DNAUtil.dgiExtractString8(dgi) - article = DNAUtil.dgiExtractString8(dgi) - bldgType = DNAUtil.dgiExtractString8(dgi) - self.dnaStorage.storeBlock(number, title, article, bldgType, zone) - - # Suit Points - numPoints = dgi.getUint16() - for _ in xrange(numPoints): - index = dgi.getUint16() - pointType = dgi.getUint8() - x, y, z = (dgi.getInt32() / 100.0 for i in xrange(3)) - graph = dgi.getUint8() - landmarkBuildingIndex = dgi.getInt8() - self.dnaStorage.storeSuitPoint(DNASuitPoint.DNASuitPoint(index, pointType, LVector3f(x, y, z), landmarkBuildingIndex)) - - # Suit Edges - numEdges = dgi.getUint16() - for _ in xrange(numEdges): - index = dgi.getUint16() - numPoints = dgi.getUint16() - for i in xrange(numPoints): - endPoint = dgi.getUint16() - zoneId = dgi.getUint16() - self.dnaStorage.storeSuitEdge(index, endPoint, zoneId) - - # Battle Cells - numCells = dgi.getUint16() - for _ in xrange(numCells): - w = dgi.getUint8() - h = dgi.getUint8() - x, y, z = (dgi.getInt32() / 100.0 for i in xrange(3)) - self.dnaStorage.storeBattleCell(DNABattleCell.DNABattleCell(w, h, LVector3f(x, y, z))) - - def handleCompData(self, dgi): - while True: - propCode = dgi.getUint8() - if propCode == 255: - if self.prop == None: - raise DNAError.DNAError('Unexpected 255 found.') - prop = self.prop.getParent() - if prop is not None: - self.prop = prop - else: - assert self.prop.getName() == 'root' - elif propCode in compClassTable: - propClass = compClassTable[propCode] - if propClass.__init__.func_code.co_argcount > 1: - newComp = propClass('unnamed_comp') - else: - newComp = propClass() - if propCode == 2: - newComp.makeFromDGI(dgi, self.dnaStorage) - self.dnaStorage.storeDNAVisGroup(newComp) - else: - newComp.makeFromDGI(dgi) - else: - raise DNAError.DNAError('Invalid prop code: %d' % propCode) - if dgi.getRemainingSize(): - if propCode != 255: - if self.prop is not None: - newComp.setParent(self.prop) - self.prop.add(newComp) - if propCode not in childlessComps: - self.prop = newComp - continue - break - - def handleNode(self, dgi, target = None): - if target is None: - return - numNodes = dgi.getUint16() - for _ in xrange(numNodes): - code = DNAUtil.dgiExtractString8(dgi) - file = DNAUtil.dgiExtractString8(dgi) - node = DNAUtil.dgiExtractString8(dgi) - np = NodePath(loader.pdnaModel(file)) - if node: - newNode = np.find('**/' + node).copyTo(NodePath()) - np.removeNode() - np = newNode - np.setTag('DNACode', code) - np.setTag('DNARoot', node) - target(np, code) - - def loadDNAFileBase(self, dnaStorage, file): - self.dnaStorage = dnaStorage - dnaFile = open(file, 'rb') - dnaData = dnaFile.read() - dg = PyDatagram(dnaData) - dgi = PyDatagramIterator(dg) - dnaFile.close() - header = dgi.extractBytes(5) - if header != 'PDNA\n': - raise DNAError.DNAError('Invalid header: %s' % (header)) - compressed = dgi.getBool() - dgi.skipBytes(1) - if compressed: - data = dgi.getRemainingBytes() - data = zlib.decompress(data) - dg = PyDatagram(data) - dgi = PyDatagramIterator(dg) - self.handleStorageData(dgi) - self.handleCompData(dgi) - - def loadDNAFile(self, dnaStorage, file): - self.loadDNAFileBase(dnaStorage, file) - nodePath = NodePath(PandaNode('dna')) - self.prop.traverse(nodePath, self.dnaStorage) - return nodePath - - def loadDNAFileAI(self, dnaStorage, file): - self.loadDNAFileBase(dnaStorage, file) - return self.prop diff --git a/toontown/dna/DNANode.py b/toontown/dna/DNANode.py deleted file mode 100644 index aada75c6..00000000 --- a/toontown/dna/DNANode.py +++ /dev/null @@ -1,55 +0,0 @@ -from panda3d.core import LVector3f, PandaNode -import DNAGroup - -class DNANode(DNAGroup.DNAGroup): - COMPONENT_CODE = 3 - - def __init__(self, name): - DNAGroup.DNAGroup.__init__(self, name) - self.pos = LVector3f() - self.hpr = LVector3f() - self.scale = LVector3f(1, 1, 1) - - def getPos(self): - return self.pos - - def setPos(self, pos): - self.pos = pos - - def getHpr(self): - return self.hpr - - def setHpr(self, hpr): - self.hpr = hpr - - def getScale(self): - return self.scale - - def setScale(self, scale): - self.scale = scale - - def makeFromDGI(self, dgi): - DNAGroup.DNAGroup.makeFromDGI(self, dgi) - - x = dgi.getInt32() / 100.0 - y = dgi.getInt32() / 100.0 - z = dgi.getInt32() / 100.0 - self.pos = LVector3f(x, y, z) - - h = dgi.getInt32() / 100.0 - p = dgi.getInt32() / 100.0 - r = dgi.getInt32() / 100.0 - self.hpr = LVector3f(h, p, r) - - sx = dgi.getInt16() / 100.0 - sy = dgi.getInt16() / 100.0 - sz = dgi.getInt16() / 100.0 - self.scale = LVector3f(sx, sy, sz) - - def traverse(self, nodePath, dnaStorage): - node = PandaNode(self.name) - node = nodePath.attachNewNode(node, 0) - node.setPosHprScale(self.pos, self.hpr, self.scale) - for child in self.children: - child.traverse(node, dnaStorage) - node.flattenMedium() \ No newline at end of file diff --git a/toontown/dna/DNAParser.py b/toontown/dna/DNAParser.py index 7e816c4a..132df6d1 100644 --- a/toontown/dna/DNAParser.py +++ b/toontown/dna/DNAParser.py @@ -1,11 +1,6 @@ from direct.stdpy import threading -import DNALoader -from DNAStorage import DNAStorage -from DNASuitPoint import DNASuitPoint -from DNAGroup import DNAGroup -from DNAVisGroup import DNAVisGroup -from DNADoor import DNADoor +from libpandadna import * class DNABulkLoader: def __init__(self, storage, files): @@ -20,37 +15,44 @@ class DNABulkLoader: del self.dnaFiles def loadDNABulk(dnaStorage, file): - dnaLoader = DNALoader.DNALoader() + dnaLoader = DNALoader() fileu = '../resources/' + file fileo = 'resources/' + file try: dnaLoader.loadDNAFile(dnaStorage, fileu) except: dnaLoader.loadDNAFile(dnaStorage, fileo) - dnaLoader.destroy() def loadDNAFile(dnaStorage, file): print 'Reading DNA file...', file - dnaLoader = DNALoader.DNALoader() + dnaLoader = DNALoader() fileu = '../resources/' + file fileo = 'resources/' + file try: node = dnaLoader.loadDNAFile(dnaStorage, fileu) except: node = dnaLoader.loadDNAFile(dnaStorage, fileo) - dnaLoader.destroy() if node.node().getNumChildren() > 0: return node.node() return None def loadDNAFileAI(dnaStorage, file): - dnaLoader = DNALoader.DNALoader() + dnaLoader = DNALoader() fileu = '../resources/' + file fileo = 'resources/' + file try: data = dnaLoader.loadDNAFileAI(dnaStorage, fileu) except: data = dnaLoader.loadDNAFileAI(dnaStorage, fileo) - dnaLoader.destroy() return data +def setupDoor(a, b, c, d, e, f): + try: + e = int(str(e).split('_')[0]) + + except: + print 'setupDoor: error parsing', e + e = 9999 + + DNADoor.setupDoor(a, b, c, d, e, f) + diff --git a/toontown/dna/DNAProp.py b/toontown/dna/DNAProp.py deleted file mode 100644 index 5c430129..00000000 --- a/toontown/dna/DNAProp.py +++ /dev/null @@ -1,66 +0,0 @@ -from panda3d.core import LVector4f, ModelNode -import DNANode -import DNAUtil - -class DNAProp(DNANode.DNANode): - COMPONENT_CODE = 4 - - def __init__(self, name): - DNANode.DNANode.__init__(self, name) - self.code = '' - self.color = LVector4f(1, 1, 1, 1) - - def getCode(self): - return self.code - - def setCode(self, code): - self.code = code - - def getColor(self): - return self.color - - def setColor(self, color): - self.color = color - - def smartFlatten(self, node): - if 'trolley' in self.name: - return - elif self.children: - node.flattenMedium() - elif 'HQTelescopeAnimatedProp' in self.name: - node.flattenMedium() - elif node.find('**/water1*').isEmpty(): - node.flattenStrong() - elif not node.find('**/water').isEmpty(): - water = node.find('**/water') - water.setTransparency(1) - water.setColor(1, 1, 1, 0.8) - node.flattenStrong() - elif not node.find('**/water1*').isEmpty(): - water = node.find('**/water1*') - water.setTransparency(1) - water.setColorScale(1.0, 1.0, 1.0, 1.0) - water.setBin('water', 51, 1) - node.flattenStrong() - - def makeFromDGI(self, dgi): - DNANode.DNANode.makeFromDGI(self, dgi) - self.code = DNAUtil.dgiExtractString8(dgi) - self.color = DNAUtil.dgiExtractColor(dgi) - - def traverse(self, nodePath, dnaStorage): - if self.code == 'DCS': - node = ModelNode(self.name) - node.setPreserveTransform(ModelNode.PTNet) - node = nodePath.attachNewNode(node) - else: - node = dnaStorage.findNode(self.code) - if node is None: - return - node = node.copyTo(nodePath, 0) - node.setPosHprScale(self.pos, self.hpr, self.scale) - node.setName(self.name) - node.setColorScale(self.color, 0) - #self.smartFlatten(node) - for child in self.children: - child.traverse(node, dnaStorage) diff --git a/toontown/dna/DNASign.py b/toontown/dna/DNASign.py deleted file mode 100644 index 839f73a8..00000000 --- a/toontown/dna/DNASign.py +++ /dev/null @@ -1,44 +0,0 @@ -from panda3d.core import LVector4f, NodePath, DecalEffect -import DNANode -import DNAUtil - -class DNASign(DNANode.DNANode): - COMPONENT_CODE = 5 - - def __init__(self): - DNANode.DNANode.__init__(self, '') - self.code = '' - self.color = LVector4f(1, 1, 1, 1) - - def getCode(self): - return self.code - - def setCode(self, code): - self.code = code - - def getColor(self): - return self.color - - def setColor(self, color): - self.color = color - - def makeFromDGI(self, dgi): - DNANode.DNANode.makeFromDGI(self, dgi) - self.code = DNAUtil.dgiExtractString8(dgi) - self.color = DNAUtil.dgiExtractColor(dgi) - - def traverse(self, nodePath, dnaStorage): - sign = dnaStorage.findNode(self.code) - if not sign: - sign = NodePath(self.name) - signOrigin = nodePath.find('**/*sign_origin') - if not signOrigin: - signOrigin = nodePath - node = sign.copyTo(signOrigin) - #node.setDepthOffset(50) - node.setPosHprScale(signOrigin, self.pos, self.hpr, self.scale) - node.setPos(node, 0, -0.1, 0) - node.setColor(self.color) - for child in self.children: - child.traverse(node, dnaStorage) - node.flattenStrong() diff --git a/toontown/dna/DNASignBaseline.py b/toontown/dna/DNASignBaseline.py deleted file mode 100644 index 22f9f726..00000000 --- a/toontown/dna/DNASignBaseline.py +++ /dev/null @@ -1,30 +0,0 @@ -from panda3d.core import BamFile, NodePath, StringStream, decompressString -import DNANode - -class DNASignBaseline(DNANode.DNANode): - COMPONENT_CODE = 6 - - def __init__(self): - DNANode.DNANode.__init__(self, '') - self.data = '' - - def makeFromDGI(self, dgi): - DNANode.DNANode.makeFromDGI(self, dgi) - self.data = dgi.getString() - if len(self.data): - self.data = decompressString(self.data) - - def traverse(self, nodePath, dnaStorage): - node = nodePath.attachNewNode('baseline', 0) - node.setPosHpr(self.pos, self.hpr) - node.setPos(node, 0, -0.1, 0) - if self.data: - bf = BamFile() - ss = StringStream() - ss.setData(self.data) - bf.openRead(ss) - signText = NodePath(bf.readNode()) - signText.reparentTo(node) - node.flattenStrong() - for child in self.children: - child.traverse(nodePath, dnaStorage) \ No newline at end of file diff --git a/toontown/dna/DNASignGraphic.py b/toontown/dna/DNASignGraphic.py deleted file mode 100644 index cf120e05..00000000 --- a/toontown/dna/DNASignGraphic.py +++ /dev/null @@ -1,62 +0,0 @@ -from panda3d.core import LVector4f, DecalEffect -import DNANode -import DNAError -import DNAUtil - -class DNASignGraphic(DNANode.DNANode): - COMPONENT_CODE = 8 - - def __init__(self, name): - DNANode.DNANode.__init__(self, name) - self.code = '' - self.color = LVector4f(1, 1, 1, 1) - self.width = 0 - self.height = 0 - self.bDefaultColor = True - - def setCode(self, code): - self.code = code - - def getCode(self): - return self.code - - def setWidth(self, width): - self.width = width - - def getWidth(self): - return self.width - - def setHeight(self, height): - self.height = height - - def getHeight(self): - return self.height - - def setColor(self, color): - self.color = color - self.bDefaultColor = False - - def getColor(self): - return self.Color - - def makeFromDGI(self, dgi): - DNANode.DNANode.makeFromDGI(self, dgi) - self.code = DNAUtil.dgiExtractString8(dgi) - self.color = DNAUtil.dgiExtractColor(dgi) - self.width = dgi.getInt16() / 100.0 - self.height = dgi.getInt16() / 100.0 - self.bDefaultColor = dgi.getBool() - - def traverse(self, nodePath, dnaStorage): - node = dnaStorage.findNode(self.code) - if node is None: - raise DNAError.DNAError('DNASignGraphic code ' + self.code + ' not found in storage') - node = node.copyTo(nodePath, 0) - node.setScale(self.scale) - node.setScale(node, self.getParent().scale) - node.setPosHpr(self.getParent().pos, self.getParent().hpr) - node.setPos(node, 0, -0.1, 0) - node.setColor(self.color) - node.flattenStrong() - for child in self.children: - child.traverse(node, dnaStorage) \ No newline at end of file diff --git a/toontown/dna/DNASignText.py b/toontown/dna/DNASignText.py deleted file mode 100644 index 33f96766..00000000 --- a/toontown/dna/DNASignText.py +++ /dev/null @@ -1,8 +0,0 @@ -import DNANode - -class DNASignText(DNANode.DNANode): - COMPONENT_CODE = 7 - - def __init__(self): - DNANode.DNANode.__init__(self, '') - self.letters = '' \ No newline at end of file diff --git a/toontown/dna/DNAStorage.py b/toontown/dna/DNAStorage.py deleted file mode 100644 index 3026d429..00000000 --- a/toontown/dna/DNAStorage.py +++ /dev/null @@ -1,308 +0,0 @@ -from pandac.PandaModules import * -from DNAError import DNAError -from DNASuitPoint import DNASuitPoint -from DNASuitPath import DNASuitPath -from DNASuitEdge import DNASuitEdge - -class DNAStorage: - def __init__(self): - self.suitPoints = [] - self.suitPointMap = {} - self.DNAGroups = {} - self.DNAVisGroups = [] - self.suitEdges = {} - self.battleCells = [] - self.nodes = {} - self.hoodNodes = {} - self.placeNodes = {} - self.fonts = {} - self.blockTitles = {} - self.blockArticles = {} - self.blockBuildingTypes = {} - self.blockDoors = {} - self.blockNumbers = [] - self.blockZones = {} - self.textures = {} - self.catalogCodes = {} - - def getSuitPath(self, startPoint, endPoint, minPathLen=40, maxPathLen=300): - path = DNASuitPath() - path.addPoint(startPoint) - while path.getNumPoints() < maxPathLen: - startPointIndex = startPoint.getIndex() - if startPointIndex == endPoint.getIndex(): - if path.getNumPoints() >= minPathLen: - break - if startPointIndex not in self.suitEdges: - raise DNAError('Could not find DNASuitPath.') - edges = self.suitEdges[startPointIndex] - for edge in edges: - startPoint = edge.getEndPoint() - startPointType = startPoint.getPointType() - if startPointType != DNASuitPoint.FRONT_DOOR_POINT: - if startPointType != DNASuitPoint.SIDE_DOOR_POINT: - break - else: - raise DNAError('Could not find DNASuitPath.') - path.addPoint(startPoint) - return path - - def getSuitEdgeTravelTime(self, startIndex, endIndex, suitWalkSpeed): - startPoint = self.suitPointMap.get(startIndex) - endPoint = self.suitPointMap.get(endIndex) - if (not startPoint) or (not endPoint): - return 0.0 - distance = (endPoint.getPos()-startPoint.getPos()).length() - return distance / suitWalkSpeed - - def getSuitEdgeZone(self, startIndex, endIndex): - return self.getSuitEdge(startIndex, endIndex).getZoneId() - - def getAdjacentPoints(self, point): - path = DNASuitPath() - startIndex = point.getIndex() - if startIndex not in self.suitEdges: - return path - for edge in self.suitEdges[startIndex]: - path.addPoint(edge.getEndPoint()) - return path - - def storeSuitPoint(self, suitPoint): - if not isinstance(suitPoint, DNASuitPoint): - raise TypeError('suitPoint must be an instance of DNASuitPoint') - self.suitPoints.append(suitPoint) - self.suitPointMap[suitPoint.getIndex()] = suitPoint - - def getSuitPointAtIndex(self, index): - return self.suitPoints[index] - - def getSuitPointWithIndex(self, index): - return self.suitPointMap.get(index) - - def resetSuitPoints(self): - self.suitPoints = [] - self.suitPointMap = {} - self.suitEdges = {} - - def resetTextures(self): - self.textures = {} - - def resetHood(self): - self.resetBlockNumbers() - - def findDNAGroup(self, node): - return self.DNAGroups[node] - - def removeDNAGroup(self, dnagroup): - for node, group in self.DNAGroups.items(): - if group == dnagroup: - del self.DNAGroups[node] - - def resetDNAGroups(self): - self.DNAGroups = {} - - def getNumDNAVisGroups(self): - return len(self.DNAVisGroups) - - def getDNAVisGroupName(self, i): - return self.DNAVisGroups[i].getName() - - def storeDNAVisGroup(self, group): - self.DNAVisGroups.append(group) - - def storeSuitEdge(self, startIndex, endIndex, zoneId): - startPoint = self.getSuitPointWithIndex(startIndex) - endPoint = self.getSuitPointWithIndex(endIndex) - edge = DNASuitEdge(startPoint, endPoint, zoneId) - self.suitEdges.setdefault(startIndex, []).append(edge) - return edge - - def getSuitEdge(self, startIndex, endIndex): - edges = self.suitEdges[startIndex] - for edge in edges: - if edge.getEndPoint().getIndex() == endIndex: - return edge - - def removeBattleCell(self, cell): - self.battleCells.remove(cell) - - def storeBattleCell(self, cell): - self.battleCells.append(cell) - - def resetBattleCells(self): - self.battleCells = [] - - def findNode(self, code): - if code in self.nodes: - return self.nodes[code] - if code in self.hoodNodes: - return self.hoodNodes[code] - if code in self.placeNodes: - return self.placeNodes[code] - - def resetNodes(self): - for node in self.nodes: - self.nodes[node].removeNode() - self.nodes = {} - - def resetHoodNodes(self): - for node in self.hoodNodes: - self.hoodNodes[node].removeNode() - self.hoodNodes = {} - - def resetPlaceNodes(self): - for node in self.placeNodes: - self.placeNodes[node].removeNode() - self.placeNodes = {} - - def storeNode(self, node, code): - self.nodes[code] = node - - def storeHoodNode(self, node, code): - self.hoodNodes[code] = node - - def storePlaceNode(self, node, code): - self.placeNodes[code] = node - - def findFont(self, code): - if code in self.fonts: - return self.fonts[code] - - def resetFonts(self): - self.fonts = {} - - def storeFont(self, font, code): - self.fonts[code] = font - - def getBlock(self, name): - block = name[name.find(':')-2:name.find(':')] - if not block[0].isdigit(): - block = block[1:] - return block - - def getBlockBuildingType(self, blockNumber): - if blockNumber in self.blockBuildingTypes: - return self.blockBuildingTypes[blockNumber] - - def getTitleFromBlockNumber(self, blockNumber): - if blockNumber in self.blockTitles: - return self.blockTitles[blockNumber] - return '' - - def getDoorPosHprFromBlockNumber(self, blockNumber): - key = str(blockNumber) - if key in self.blockDoors: - return self.blockDoors[key] - - def storeBlockDoor(self, blockNumber, door): - self.blockDoors[str(blockNumber)] = door - - def storeBlockTitle(self, blockNumber, title): - self.blockTitles[blockNumber] = title - - def storeBlockArticle(self, blockNumber, article): - self.blockArticles[blockNumber] = article - - def storeBlockBuildingType(self, blockNumber, buildingType): - self.blockBuildingTypes[blockNumber] = buildingType - - def storeBlock(self, blockNumber, title, article, bldgType, zoneId): - self.storeBlockNumber(blockNumber) - self.storeBlockTitle(blockNumber, title) - self.storeBlockArticle(blockNumber, article) - self.storeBlockBuildingType(blockNumber, bldgType) - self.storeBlockZone(blockNumber, zoneId) - - def storeTexture(self, name, texture): - self.textures[name] = texture - - def resetDNAVisGroups(self): - self.DNAVisGroups = [] - - def resetDNAVisGroupsAI(self): - self.resetDNAVisGroups() - - def getNumDNAVisGroupsAI(self): - return self.getNumDNAVisGroups() - - def getNumSuitPoints(self): - return len(self.suitPoints) - - def getNumVisiblesInDNAVisGroup(self, i): - return self.DNAVisGroups[i].getNumVisibles() - - def getVisibleName(self, i, j): - return self.DNAVisGroups[i].getVisibleName(j) - - def getDNAVisGroupAI(self, i): - return self.DNAVisGroups[i] - - def storeCatalogCode(self, category, code): - if not category in self.catalogCodes: - self.catalogCodes[category] = [] - self.catalogCodes[category].append(code) - - def getNumCatalogCodes(self, category): - if category not in self.catalogCodes: - return -1 - return len(self.catalogCodes[category]) - - def resetCatalogCodes(self): - self.catalogCodes = {} - - def getCatalogCode(self, category, index): - return self.catalogCodes[category][index] - - def findTexture(self, name): - if name in self.textures: - return self.textures[name] - - def discoverContinuity(self): - return 1 # TODO - - def resetBlockNumbers(self): - self.blockNumbers = [] - self.blockZones = {} - self.blockArticles = {} - self.resetBlockDoors() - self.blockTitles = {} - self.blockBuildingTypes = {} - - def getNumBlockNumbers(self): - return len(self.blockNumbers) - - def storeBlockNumber(self, blockNumber): - self.blockNumbers.append(blockNumber) - - def getBlockNumberAt(self, index): - return self.blockNumbers[index] - - def getZoneFromBlockNumber(self, blockNumber): - if blockNumber in self.blockZones: - return self.blockZones[blockNumber] - - def storeBlockZone(self, blockNumber, zoneId): - self.blockZones[blockNumber] = zoneId - - def resetBlockZones(self): - self.blockZones = {} - - def resetBlockDoors(self): - self.blockDoors = {} - - def cleanup(self): - self.resetBattleCells() - self.resetBlockNumbers() - self.resetDNAGroups() - self.resetDNAVisGroups() - self.resetDNAVisGroupsAI() - self.resetFonts() - self.resetHood() - self.resetHoodNodes() - self.resetNodes() - self.resetPlaceNodes() - self.resetSuitPoints() - self.resetTextures() - self.resetCatalogCodes() - ModelPool.garbageCollect() - TexturePool.garbageCollect() diff --git a/toontown/dna/DNAStreet.py b/toontown/dna/DNAStreet.py deleted file mode 100644 index 58700268..00000000 --- a/toontown/dna/DNAStreet.py +++ /dev/null @@ -1,121 +0,0 @@ -from panda3d.core import LVector4f -import DNANode -import DNAError -import DNAUtil - -class DNAStreet(DNANode.DNANode): - COMPONENT_CODE = 19 - - def __init__(self, name): - DNANode.DNANode.__init__(self, name) - self.code = '' - self.streetTexture = '' - self.sideWalkTexture = '' - self.curbTexture = '' - self.streetColor = LVector4f(1, 1, 1, 1) - self.sidewalkColor = LVector4f(1, 1, 1, 1) - self.curbColor = LVector4f(1, 1, 1, 1) - self.setTexCnt = 0 - self.setColCnt = 0 - - def setCode(self, code): - self.code = code - - def getCode(self): - return self.code - - def setStreetTexture(self, texture): - self.streetTexture = texture - - def getStreetTexture(self): - return self.streetTexture - - def setSidewalkTexture(self, texture): - self.sidewalkTexture = texture - - def getSidewalkTexture(self): - return self.sidewalkTexture - - def setCurbTexture(self, texture): - self.curbTexture = texture - - def getCurbTexture(self): - return self.curbTexture - - def setStreetColor(self, color): - self.streetColor = color - - def getStreetColor(self): - return self.streetColor - - def setSidewalkColor(self, color): - self.SidewalkColor = color - - def getSidewalkColor(self): - return self.sidewalkColor - - def getCurbColor(self): - return self.curbColor - - def setTextureColor(self, color): - self.Color = color - - def setTexture(self, texture): - if self.setTexCnt == 0: - self.streetTexture = texture - if self.setTexCnt == 1: - self.sidewalkTexture = texture - if self.setTexCnt == 2: - self.curbTexture = texture - self.setTexCnt += 1 - - def setColor(self, color): - if self.setColCnt == 0: - self.streetColor = color - if self.setColCnt == 1: - self.sidewalkColor = color - if self.setColCnt == 2: - self.curbColor = color - self.setColCnt += 1 - - def makeFromDGI(self, dgi): - DNANode.DNANode.makeFromDGI(self, dgi) - self.code = DNAUtil.dgiExtractString8(dgi) - self.streetTexture = DNAUtil.dgiExtractString8(dgi) - self.sidewalkTexture = DNAUtil.dgiExtractString8(dgi) - self.curbTexture = DNAUtil.dgiExtractString8(dgi) - self.streetColor = DNAUtil.dgiExtractColor(dgi) - self.sideWalkColor = DNAUtil.dgiExtractColor(dgi) - self.curbColor = DNAUtil.dgiExtractColor(dgi) - - def traverse(self, nodePath, dnaStorage): - node = dnaStorage.findNode(self.code) - if node is None: - raise DNAError.DNAError('DNAStreet code ' + self.code + ' not found in DNAStorage') - nodePath = node.copyTo(nodePath, 0) - node.setName(self.getName()) - streetTexture = dnaStorage.findTexture(self.streetTexture) - sidewalkTexture = dnaStorage.findTexture(self.sidewalkTexture) - curbTexture = dnaStorage.findTexture(self.curbTexture) - if streetTexture is None: - raise DNAError.DNAError('street texture not found in DNAStorage : ' + self.streetTexture) - if sidewalkTexture is None: - raise DNAError.DNAError('sidewalk texture not found in DNAStorage : ' + self.sidewalkTexture) - if curbTexture is None: - raise DNAError.DNAError('curb texture not found in DNAStorage : ' + self.curbTexture) - streetNode = nodePath.find('**/*_street') - sidewalkNode = nodePath.find('**/*_sidewalk') - curbNode = nodePath.find('**/*_curb') - - if not streetNode.isEmpty(): - streetNode.setTexture(streetTexture, 1) - streetNode.setColorScale(self.streetColor, 0) - if not sidewalkNode.isEmpty(): - sidewalkNode.setTexture(sidewalkTexture, 1) - sidewalkNode.setColorScale(self.sidewalkColor, 0) - if not curbNode.isEmpty(): - curbNode.setTexture(curbTexture, 1) - curbNode.setColorScale(self.curbColor, 0) - - nodePath.setPosHprScale(self.getPos(), self.getHpr(), self.getScale()) - nodePath.flattenStrong() diff --git a/toontown/dna/DNASuitEdge.py b/toontown/dna/DNASuitEdge.py deleted file mode 100644 index ed8c4dd7..00000000 --- a/toontown/dna/DNASuitEdge.py +++ /dev/null @@ -1,17 +0,0 @@ -class DNASuitEdge: - def __init__(self, startpt, endpt, zoneId): - self.startpt = startpt - self.endpt = endpt - self.zoneId = zoneId - - def getEndPoint(self): - return self.endpt - - def getStartPoint(self): - return self.startpt - - def getZoneId(self): - return self.zoneId - - def setZoneId(self, zoneId): - self.zoneId = zoneId \ No newline at end of file diff --git a/toontown/dna/DNASuitPath.py b/toontown/dna/DNASuitPath.py deleted file mode 100644 index ded8b4a6..00000000 --- a/toontown/dna/DNASuitPath.py +++ /dev/null @@ -1,18 +0,0 @@ -class DNASuitPath: - def __init__(self): - self.suitPoints = [] - - def getNumPoints(self): - return len(self.suitPoints) - - def getPointIndex(self, pointIndex): - return self.suitPoints[pointIndex].getIndex() - - def addPoint(self, point): - self.suitPoints.append(point) - - def getPoint(self, pointIndex): - return self.suitPoints[pointIndex] - - def reversePath(self): - self.suitPoints.reverse() \ No newline at end of file diff --git a/toontown/dna/DNASuitPoint.py b/toontown/dna/DNASuitPoint.py deleted file mode 100644 index 3b449d2c..00000000 --- a/toontown/dna/DNASuitPoint.py +++ /dev/null @@ -1,89 +0,0 @@ -class DNASuitPoint: - COMPONENT_CODE = 20 - STREET_POINT = 0 - FRONT_DOOR_POINT = 1 - SIDE_DOOR_POINT = 2 - COGHQ_IN_POINT = 3 - COGHQ_OUT_POINT = 4 - - def __init__(self, index, pointType, pos, landmarkBuildingIndex=-1): - self.index = index - self.pointType = pointType - self.pos = pos - self.graphId = 0 - self.landmarkBuildingIndex = landmarkBuildingIndex - - def __str__(self): - pointType = self.getPointType() - if pointType == DNASuitPoint.STREET_POINT: - pointTypeStr = 'STREET_POINT' - elif pointType == DNASuitPoint.FRONT_DOOR_POINT: - pointTypeStr = 'FRONT_DOOR_POINT' - elif pointType == DNASuitPoint.SIDE_DOOR_POINT: - pointTypeStr = 'SIDE_DOOR_POINT' - elif pointType == DNASuitPoint.COGHQ_IN_POINT: - pointTypeStr = 'COGHQ_IN_POINT' - elif pointType == DNASuitPoint.COGHQ_OUT_POINT: - pointTypeStr = 'COGHQ_OUT_POINT' - else: - pointTypeStr = '**invalid**' - return 'DNASuitPoint index: %d, pointType: %s, pos: %s' % ( - self.getIndex(), pointTypeStr, self.getPos()) - - def setIndex(self, index): - self.index = index - - def getIndex(self): - return self.index - - def getGraphId(self): - return self.graphId - - def getLandmarkBuildingIndex(self): - return self.landmarkBuildingIndex - - def getPos(self): - return self.pos - - def isTerminal(self): - return self.pointType <= 2 - - def setGraphId(self, id): - self.graphId = id - - def setLandmarkBuildingIndex(self, index): - self.landmarkBuildingIndex = index - - def setPointType(self, pointType): - if isinstance(pointType, int): - if type == DNASuitPoint.STREET_POINT: - self.pointType = DNASuitPoint.STREET_POINT - elif type == DNASuitPoint.FRONT_DOOR_POINT: - self.pointType = DNASuitPoint.FRONT_DOOR_POINT - elif pointType == DNASuitPoint.SIDE_DOOR_POINT: - self.pointType = DNASuitPoint.SIDE_DOOR_POINT - elif pointType == DNASuitPoint.COGHQ_IN_POINT: - self.pointType = DNASuitPoint.COGHQ_IN_POINT - elif pointType == DNASuitPoint.COGHQ_OUT_POINT: - self.pointType = DNASuitPoint.COGHQ_OUT_POINT - else: - raise TypeError('%i is not a valid DNASuitPointType' % pointType) - elif isinstance(pointType, str): - if type == 'STREET_POINT': - self.pointType = DNASuitPoint.STREET_POINT - elif type == 'FRONT_DOOR_POINT': - self.pointType = DNASuitPoint.FRONT_DOOR_POINT - elif pointType == 'SIDE_DOOR_POINT': - self.pointType = DNASuitPoint.SIDE_DOOR_POINT - elif pointType == 'COGHQ_IN_POINT': - self.pointType = DNASuitPoint.COGHQ_IN_POINT - elif pointType == 'COGHQ_OUT_POINT': - self.pointType = DNASuitPoint.COGHQ_OUT_POINT - else: - raise TypeError('%s is not a valid DNASuitPointType' % pointType) - - def getPointType(self): - return self.pointType - - def setPos(self, pos): - self.pos = pos diff --git a/toontown/dna/DNAUtil.py b/toontown/dna/DNAUtil.py deleted file mode 100644 index 26d2b55b..00000000 --- a/toontown/dna/DNAUtil.py +++ /dev/null @@ -1,9 +0,0 @@ -from panda3d.core import LVector4f - -def dgiExtractString8(dgi): - return dgi.extractBytes(dgi.getUint8()) - -def dgiExtractColor(dgi): - a, b, c, d = (dgi.getUint8() / 255.0 for _ in xrange(4)) - return LVector4f(a, b, c, d) - diff --git a/toontown/dna/DNAVisGroup.py b/toontown/dna/DNAVisGroup.py deleted file mode 100644 index 4a8e5e9d..00000000 --- a/toontown/dna/DNAVisGroup.py +++ /dev/null @@ -1,72 +0,0 @@ -from panda3d.core import LVector3f -import DNAGroup -import DNABattleCell -import DNAUtil - -class DNAVisGroup(DNAGroup.DNAGroup): - COMPONENT_CODE = 2 - - def __init__(self, name): - DNAGroup.DNAGroup.__init__(self, name) - self.visibles = [] - self.suitEdges = [] - self.battleCells = [] - - def getVisGroup(self): - return self - - def addBattleCell(self, battleCell): - self.battleCells.append(battleCell) - - def addSuitEdge(self, suitEdge): - self.suitEdges.append(suitEdge) - - def addVisible(self, visible): - self.visibles.append(visible) - - def getBattleCell(self, i): - return self.battleCells[i] - - def getNumBattleCells(self): - return len(self.battleCells) - - def getNumSuitEdges(self): - return len(self.suitEdges) - - def getNumVisibles(self): - return len(self.visibles) - - def getSuitEdge(self, i): - return self.suitEdges[i] - - def getVisibleName(self, i): - return self.visibles[i] - - def removeBattleCell(self, cell): - self.battleCells.remove(cell) - - def removeSuitEdge(self, edge): - self.suitEdges.remove(edge) - - def removeVisible(self, visible): - self.visibles.remove(visible) - - def makeFromDGI(self, dgi, dnaStorage): - DNAGroup.DNAGroup.makeFromDGI(self, dgi) - - numEdges = dgi.getUint16() - for _ in xrange(numEdges): - index = dgi.getUint16() - endPoint = dgi.getUint16() - self.addSuitEdge(dnaStorage.getSuitEdge(index, endPoint)) - - numVisibles = dgi.getUint16() - for _ in xrange(numVisibles): - self.addVisible(DNAUtil.dgiExtractString8(dgi)) - - numCells = dgi.getUint16() - for _ in xrange(numCells): - w = dgi.getUint8() - h = dgi.getUint8() - x, y, z = [dgi.getInt32() / 100.0 for i in xrange(3)] - self.addBattleCell(DNABattleCell.DNABattleCell(w, h, LVector3f(x, y, z))) \ No newline at end of file diff --git a/toontown/dna/DNAWall.py b/toontown/dna/DNAWall.py deleted file mode 100644 index e28cd85b..00000000 --- a/toontown/dna/DNAWall.py +++ /dev/null @@ -1,52 +0,0 @@ -from panda3d.core import LVector4f -import DNANode -import DNAFlatBuilding -import DNAError -import DNAUtil - -class DNAWall(DNANode.DNANode): - COMPONENT_CODE = 10 - - def __init__(self, name): - DNANode.DNANode.__init__(self, name) - self.code = '' - self.height = 10 - self.color = LVector4f(1, 1, 1, 1) - - def setCode(self, code): - self.code = code - - def getCode(self): - return self.code - - def setColor(self, color): - self.color = color - - def getColor(self): - return self.color - - def setHeight(self, height): - self.height = height - - def getHeight(self): - return self.height - - def makeFromDGI(self, dgi): - DNANode.DNANode.makeFromDGI(self, dgi) - self.code = DNAUtil.dgiExtractString8(dgi) - self.height = dgi.getInt16() / 100.0 - self.color = DNAUtil.dgiExtractColor(dgi) - - def traverse(self, nodePath, dnaStorage): - node = dnaStorage.findNode(self.code) - if node is None: - raise DNAError.DNAError('DNAWall code ' + self.code + ' not found in DNAStorage') - node = node.copyTo(nodePath, 0) - self.pos.setZ(DNAFlatBuilding.DNAFlatBuilding.currentWallHeight) - self.scale.setZ(self.height) - node.setPosHprScale(self.pos, self.hpr, self.scale) - node.setColor(self.color) - for child in self.children: - child.traverse(node, dnaStorage) - node.flattenStrong() - DNAFlatBuilding.DNAFlatBuilding.currentWallHeight += self.height \ No newline at end of file diff --git a/toontown/dna/DNAWindows.py b/toontown/dna/DNAWindows.py deleted file mode 100644 index d3d5f92c..00000000 --- a/toontown/dna/DNAWindows.py +++ /dev/null @@ -1,103 +0,0 @@ -from panda3d.core import LVector4f, NodePath, DecalEffect -import DNAGroup -import DNAError -import DNAUtil - -import random - -class DNAWindows(DNAGroup.DNAGroup): - COMPONENT_CODE = 11 - - def __init__(self, name): - DNAGroup.DNAGroup.__init__(self, name) - self.code = '' - self.color = LVector4f(1, 1, 1, 1) - self.windowCount = 0 - - def setCode(self, code): - self.code = code - - def getCode(self): - return self.code - - def setColor(self, color): - self.color = color - - def getColor(self): - return self.color - - def setWindowCount(self, windowCount): - self.windowCount = windowCount - - def getWindowCount(self): - return self.windowCount - - @staticmethod - def setupWindows(parentNode, dnaStorage, code, windowCount, color, hpr, - scale): - stripped = code[:-1] - node_r = dnaStorage.findNode(stripped + 'r') - node_l = dnaStorage.findNode(stripped + 'l') - if (node_r is None) or (node_l is None): - raise DNAError.DNAError('DNAWindows code %s not found in' - 'DNAStorage' % code) - - def makeWindow(x, y, z, parentNode, color, scale, hpr, flip=False): - node = node_r if not flip else node_l - window = node.copyTo(parentNode, 0) - window.setColor(color) - window.setScale(NodePath(), scale) - window.setHpr(hpr) - window.setPos(x, 0, z) - window.setEffect(DecalEffect.make()) - window.flattenStrong() - - offset = lambda: random.random() % 0.0375 - if windowCount == 1: - makeWindow(offset() + 0.5, 0, offset() + 0.5, - parentNode, color, scale, hpr) - elif windowCount == 2: - makeWindow(offset() + 0.33, 0, offset() + 0.5, - parentNode, color, scale, hpr) - makeWindow(offset() + 0.66, 0, offset() + 0.5, - parentNode, color, scale, hpr, True) - elif windowCount == 3: - makeWindow(offset() + 0.33, 0, offset() + 0.66, - parentNode, color, scale, hpr) - makeWindow(offset() + 0.66, 0, offset() + 0.66, - parentNode, color, scale, hpr, True) - makeWindow(offset() + 0.5, 0, offset() + 0.33, - parentNode, color, scale, hpr) - elif windowCount == 4: - makeWindow(offset() + 0.33, 0, offset() + 0.25, - parentNode, color, scale, hpr) - makeWindow(offset() + 0.66, 0, offset() + 0.25, - parentNode, color, scale, hpr, True) - makeWindow(offset() + 0.33, 0, offset() + 0.66, - parentNode, color, scale, hpr) - makeWindow(offset() + 0.66, 0, offset() + 0.66, - parentNode, color, scale, hpr, True) - else: - raise NotImplementedError('Invalid window count ' + str(windowCount)) - - def makeFromDGI(self, dgi): - DNAGroup.DNAGroup.makeFromDGI(self, dgi) - self.code = DNAUtil.dgiExtractString8(dgi) - self.color = DNAUtil.dgiExtractColor(dgi) - self.windowCount = dgi.getUint8() - - def traverse(self, nodePath, dnaStorage): - if self.getWindowCount() == 0: - return - parentX = nodePath.getParent().getScale().getX() - scale = random.random() % 0.0375 - if parentX <= 5.0: - scale += 1.0 - elif parentX <= 10.0: - scale += 1.15 - else: - scale += 1.3 - hpr = (0, 0, 0) - DNAWindows.setupWindows(nodePath, dnaStorage, self.getCode(), - self.getWindowCount(), self.getColor(), hpr, - scale) \ No newline at end of file diff --git a/toontown/estate/DistributedHouse.py b/toontown/estate/DistributedHouse.py index 2b4cccec..2ba6f396 100644 --- a/toontown/estate/DistributedHouse.py +++ b/toontown/estate/DistributedHouse.py @@ -19,7 +19,7 @@ from toontown.hood import Place import HouseGlobals from toontown.building import ToonInteriorColors from direct.showbase.MessengerGlobal import messenger -from toontown.dna.DNAParser import DNADoor +from toontown.dna.DNAParser import * from toontown.nametag.NametagGroup import NametagGroup from toontown.nametag.Nametag import Nametag @@ -115,7 +115,7 @@ class DistributedHouse(DistributedObject.DistributedObject): self.randomGenerator.seed(self.doId) houseColor = HouseGlobals.stairWood color = Vec4(houseColor[0], houseColor[1], houseColor[2], 1) - DNADoor.setupDoor(doorNP, door_origin, door_origin, self.dnaStore, str(self.doId), color) + setupDoor(doorNP, door_origin, door_origin, self.dnaStore, str(self.doId), color) self.__setupNamePlate() self.__setupFloorMat() self.__setupNametag() diff --git a/toontown/estate/DistributedHouseInterior.py b/toontown/estate/DistributedHouseInterior.py index 0f932e7c..136b5da1 100644 --- a/toontown/estate/DistributedHouseInterior.py +++ b/toontown/estate/DistributedHouseInterior.py @@ -13,7 +13,7 @@ from toontown.catalog import CatalogWallpaperItem from toontown.catalog import CatalogFlooringItem from toontown.catalog import CatalogMouldingItem from toontown.catalog import CatalogWainscotingItem -from toontown.dna.DNAParser import DNADoor +from toontown.dna.DNAParser import * WindowPlugNames = ('**/windowcut_a*', '**/windowcut_b*', '**/windowcut_c*', '**/windowcut_d*', '**/windowcut_e*', '**/windowcut_f*') RoomNames = ('**/group2', '**/group1') WallNames = ('ceiling*', 'wall_side_middle*', 'wall_front_middle*', 'windowcut_*') @@ -66,7 +66,7 @@ class DistributedHouseInterior(DistributedObject.DistributedObject): doorNP = door.copyTo(door_origin) houseColor = HouseGlobals.atticWood color = Vec4(houseColor[0], houseColor[1], houseColor[2], 1) - DNADoor.setupDoor(doorNP, door_origin, door_origin, dnaStore, str(self.houseId), color) + setupDoor(doorNP, door_origin, door_origin, dnaStore, str(self.houseId), color) doorFrame = doorNP.find('door_*_flat') doorFrame.setColor(color) self.interior.flattenMedium() diff --git a/toontown/suit/DistributedSuit.py b/toontown/suit/DistributedSuit.py index 66b3e1de..d0ae7471 100644 --- a/toontown/suit/DistributedSuit.py +++ b/toontown/suit/DistributedSuit.py @@ -24,7 +24,7 @@ from toontown.chat.ChatGlobals import * from toontown.distributed.DelayDeletable import DelayDeletable from toontown.nametag import NametagGlobals from toontown.nametag.NametagGlobals import * -from toontown.suit.SuitLegList import * +from libpandadna import * from toontown.toonbase import ToontownGlobals @@ -56,7 +56,7 @@ class DistributedSuit(DistributedSuitBase.DistributedSuitBase, DelayDeletable): self.pathState = 0 self.path = None self.localPathState = 0 - self.currentLeg = -1 + self.currentLeg = 0 self.pathStartTime = 0.0 self.legList = None self.initState = None @@ -220,7 +220,7 @@ class DistributedSuit(DistributedSuitBase.DistributedSuitBase, DelayDeletable): self.maxPathLen = maxPathLen self.path = None self.pathLength = 0 - self.currentLeg = -1 + self.currentLeg = 0 self.legList = None if self.maxPathLen == 0 or not self.verifySuitPlanner() or start not in self.sp.pointIndexes or end not in self.sp.pointIndexes: return @@ -343,13 +343,13 @@ class DistributedSuit(DistributedSuitBase.DistributedSuitBase, DelayDeletable): return Task.done def doPathLeg(self, leg, time): - self.fsm.request(leg.getTypeName(), [leg, time]) + self.fsm.request(SuitLeg.getTypeName(leg.getType()), [leg, time]) return 0 def stopPathNow(self): name = self.taskName('move') taskMgr.remove(name) - self.currentLeg = -1 + self.currentLeg = 0 def calculateHeading(self, a, b): xdelta = b[0] - a[0] diff --git a/toontown/suit/DistributedSuitAI.py b/toontown/suit/DistributedSuitAI.py index 561fb010..8a526830 100644 --- a/toontown/suit/DistributedSuitAI.py +++ b/toontown/suit/DistributedSuitAI.py @@ -8,7 +8,7 @@ import SuitPlannerBase import SuitBase import SuitDialog import SuitDNA -from SuitLegList import * +from libpandadna import * from direct.directnotify import DirectNotifyGlobal from toontown.battle import SuitBattleGlobals from toontown.building import FADoorCodes @@ -364,4 +364,4 @@ class DistributedSuitAI(DistributedSuitBaseAI.DistributedSuitBaseAI): self.sp.cogdoTakeOver(blockNumber, difficulty, self.buildingHeight) else: dept = SuitDNA.getSuitDept(self.dna.name) - self.sp.suitTakeOver(blockNumber, dept, difficulty, self.buildingHeight) \ No newline at end of file + self.sp.suitTakeOver(blockNumber, dept, difficulty, self.buildingHeight) diff --git a/toontown/suit/DistributedSuitPlannerAI.py b/toontown/suit/DistributedSuitPlannerAI.py index fc026769..7e8688e9 100644 --- a/toontown/suit/DistributedSuitPlannerAI.py +++ b/toontown/suit/DistributedSuitPlannerAI.py @@ -15,7 +15,7 @@ from toontown.building import SuitBuildingGlobals from toontown.dna.DNAParser import DNASuitPoint from toontown.hood import ZoneUtil from toontown.suit.SuitInvasionGlobals import IFSkelecog, IFWaiter, IFV2 -from toontown.suit.SuitLegList import * +from libpandadna import * from toontown.toon import NPCToons from toontown.toonbase import ToontownBattleGlobals from toontown.toonbase import ToontownGlobals diff --git a/toontown/suit/SuitBase.py b/toontown/suit/SuitBase.py index 561d3726..a26deb37 100644 --- a/toontown/suit/SuitBase.py +++ b/toontown/suit/SuitBase.py @@ -1,5 +1,5 @@ import SuitDNA -from SuitLegList import * +from libpandadna import * import SuitTimings from direct.directnotify import DirectNotifyGlobal from direct.distributed.ClockDelta import * diff --git a/toontown/suit/SuitLegList.py b/toontown/suit/SuitLegList.py deleted file mode 100644 index 3f65174e..00000000 --- a/toontown/suit/SuitLegList.py +++ /dev/null @@ -1,225 +0,0 @@ -from toontown.dna.DNAParser import DNASuitPoint -from toontown.suit import SuitTimings -from toontown.toonbase import ToontownGlobals - - -class SuitLeg: - TWalkFromStreet = 0 - TWalkToStreet = 1 - TWalk = 2 - TFromSky = 3 - TToSky = 4 - TFromSuitBuilding = 5 - TToSuitBuilding = 6 - TToToonBuilding = 7 - TFromCogHQ = 8 - TToCogHQ = 9 - TOff = 10 - TypeToName = { - TWalkFromStreet: 'WalkFromStreet', - TWalkToStreet: 'WalkToStreet', - TWalk: 'Walk', - TFromSky: 'FromSky', - TToSky: 'ToSky', - TFromSuitBuilding: 'FromSuitBuilding', - TToSuitBuilding: 'ToSuitBuilding', - TToToonBuilding: 'ToToonBuilding', - TFromCogHQ: 'FromCogHQ', - TToCogHQ: 'ToCogHQ', - TOff: 'Off' - } - - def __init__(self, startTime, zoneId, blockNumber, pointA, pointB, type): - self.startTime = startTime - self.zoneId = zoneId - self.blockNumber = blockNumber - self.pointA = pointA - self.pointB = pointB - self.type = type - - self.posA = self.pointA.getPos() - self.posB = self.pointB.getPos() - - distance = (self.posB - self.posA).length() - self.legTime = distance / ToontownGlobals.SuitWalkSpeed - self.endTime = self.startTime + self.getLegTime() - - def getStartTime(self): - return self.startTime - - def getZoneId(self): - return self.zoneId - - def getBlockNumber(self): - return self.blockNumber - - def getPointA(self): - return self.pointA - - def getPointB(self): - return self.pointB - - def getType(self): - return self.type - - def getPosA(self): - return self.posA - - def getPosB(self): - return self.posB - - def getLegTime(self): - if self.type in (SuitLeg.TWalk, SuitLeg.TWalkFromStreet, - SuitLeg.TWalkToStreet): - return self.legTime - if self.type == SuitLeg.TFromSky: - return SuitTimings.fromSky - if self.type == SuitLeg.TToSky: - return SuitTimings.toSky - if self.type == SuitLeg.TFromSuitBuilding: - return SuitTimings.fromSuitBuilding - if self.type == SuitLeg.TToSuitBuilding: - return SuitTimings.toSuitBuilding - if self.type in (SuitLeg.TToToonBuilding, SuitLeg.TToCogHQ, - SuitLeg.TFromCogHQ): - return SuitTimings.toToonBuilding - return 0.0 - - def getEndTime(self): - return self.endTime - - def getPosAtTime(self, time): - if self.type in (SuitLeg.TFromSky, SuitLeg.TFromSuitBuilding, - SuitLeg.TFromCogHQ): - return self.posA - elif self.type in (SuitLeg.TToSky, SuitLeg.TToSuitBuilding, - SuitLeg.TToToonBuilding, SuitLeg.TToCogHQ, - SuitLeg.TOff): - return self.posB - - delta = self.posB - self.posA - return self.posA + (delta * (time/self.getLegTime())) - - def getTypeName(self): - if self.type in SuitLeg.TypeToName: - return SuitLeg.TypeToName[self.type] - return '**invalid**' - - -class SuitLegList: - def __init__(self, path, dnaStore): - self.path = path - self.dnaStore = dnaStore - - self.legs = [] - - # First, add the initial SuitLeg: - self.add(self.path.getPoint(0), self.path.getPoint(1), self.getFirstLegType()) - - # Next, connect each of the points in our path through SuitLegs: - for i in xrange(self.path.getNumPoints() - 1): - pointA = self.path.getPoint(i) - pointB = self.path.getPoint(i + 1) - pointTypeA = pointA.getPointType() - pointTypeB = pointB.getPointType() - legType = self.getLegType(pointTypeA, pointTypeB) - - if pointTypeA == DNASuitPoint.COGHQ_OUT_POINT: - # We're going out of a door, so we'll need to insert a door - # leg before the move: - self.add(pointA, pointB, SuitLeg.TFromCogHQ) - - self.add(pointA, pointB, legType) - - if pointTypeB == DNASuitPoint.COGHQ_IN_POINT: - # We're going into a door, so we'll need to insert a door leg - # after the move: - self.add(pointA, pointB, SuitLeg.TToCogHQ) - - # Add the last SuitLeg: - numPoints = self.path.getNumPoints() - pointA = self.path.getPoint(numPoints - 2) - pointB = self.path.getPoint(numPoints - 1) - self.add(pointA, pointB, self.getLastLegType()) - - # Finally, take down the suit: - self.add(pointA, pointB, SuitLeg.TOff) - - def add(self, pointA, pointB, legType): - zoneId = self.dnaStore.getSuitEdgeZone(pointA.getIndex(), pointB.getIndex()) - landmarkBuildingIndex = pointB.getLandmarkBuildingIndex() - if landmarkBuildingIndex == -1: - landmarkBuildingIndex = pointA.getLandmarkBuildingIndex() - startTime = 0.0 - if len(self.legs) > 0: - startTime = self.legs[-1].getEndTime() - leg = SuitLeg(startTime, zoneId, landmarkBuildingIndex, pointA, pointB, legType) - self.legs.append(leg) - - def getFirstLegType(self): - if self.path.getPoint(0).getPointType() == DNASuitPoint.SIDE_DOOR_POINT: - return SuitLeg.TFromSuitBuilding - else: - return SuitLeg.TFromSky - - def getLegType(self, pointTypeA, pointTypeB): - if pointTypeA in (DNASuitPoint.FRONT_DOOR_POINT, - DNASuitPoint.SIDE_DOOR_POINT): - return SuitLeg.TWalkToStreet - if pointTypeB in (DNASuitPoint.FRONT_DOOR_POINT, - DNASuitPoint.SIDE_DOOR_POINT): - return SuitLeg.TWalkFromStreet - return SuitLeg.TWalk - - def getLastLegType(self): - endPoint = self.path.getPoint(self.path.getNumPoints() - 1) - endPointType = endPoint.getPointType() - if endPointType == DNASuitPoint.FRONT_DOOR_POINT: - return SuitLeg.TToToonBuilding - if endPointType == DNASuitPoint.SIDE_DOOR_POINT: - return SuitLeg.TToSuitBuilding - return SuitLeg.TToSky - - def getNumLegs(self): - return len(self.legs) - - def getLeg(self, index): - return self.legs[index] - - def getType(self, index): - return self.legs[index].getType() - - def getLegTime(self, index): - return self.legs[index].getLegTime() - - def getZoneId(self, index): - return self.legs[index].getZoneId() - - def getBlockNumber(self, index): - return self.legs[index].getBlockNumber() - - def getPointA(self, index): - return self.legs[index].getPointA() - - def getPointB(self, index): - return self.legs[index].getPointB() - - def getStartTime(self, index): - return self.legs[index].getStartTime() - - def getLegIndexAtTime(self, time, startLegIndex): - for i, leg in enumerate(self.legs): - if leg.getEndTime() > time: - break - return i - - def isPointInRange(self, point, lowTime, highTime): - legIndex = self.getLegIndexAtTime(lowTime, 0) - while legIndex < self.getNumLegs(): - leg = self.legs[legIndex] - if leg.getEndTime() > highTime: - break - if (leg.pointA == point) or (leg.pointB == point): - return True - legIndex += 1 - return False diff --git a/toontown/town/TownLoader.py b/toontown/town/TownLoader.py index 62895240..fcd35e5d 100644 --- a/toontown/town/TownLoader.py +++ b/toontown/town/TownLoader.py @@ -254,7 +254,7 @@ class TownLoader(StateData.StateData): self.zoneDict[zoneId] = groupNode visibles = [] for i in xrange(visGroup.getNumVisibles()): - visibles.append(int(visGroup.visibles[i])) + visibles.append(int(visGroup.getVisible(i))) visibles.append(ZoneUtil.getBranchZone(zoneId)) self.zoneVisDict[zoneId] = visibles fadeDuration = 0.5 @@ -377,4 +377,4 @@ class TownLoader(StateData.StateData): result = None if zoneId in self.zoneIdToInteractivePropDict: result = self.zoneIdToInteractivePropDict[zoneId] - return result \ No newline at end of file + return result