mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2025-01-09 17:53:50 +00:00
Merge SnowUtil and SkyUtil into SZUtil, fix mayChange spam in log because of the map, fix the various issues with the underwater fog.
This commit is contained in:
parent
699c54b40d
commit
d686796023
13 changed files with 88 additions and 87 deletions
|
@ -12,9 +12,9 @@ from toontown.toonbase import TTLocalizer
|
|||
import random
|
||||
from direct.showbase import PythonUtil
|
||||
from toontown.hood import Place
|
||||
from toontown.hood import SkyUtil
|
||||
from toontown.pets import PetTutorial
|
||||
from otp.distributed.TelemetryLimiter import RotationLimitToH, TLGatherAllAvs, TLNull
|
||||
from toontown.safezone import SZUtil
|
||||
import HouseGlobals
|
||||
|
||||
class Estate(Place.Place):
|
||||
|
@ -356,10 +356,10 @@ class Estate(Place.Place):
|
|||
|
||||
def __setUnderwaterFog(self):
|
||||
if base.wantFog:
|
||||
self.fog.setColor(0.245, 0.322, 0.5)
|
||||
self.fog.setLinearRange(0.1, 100.0)
|
||||
render.setFog(self.fog)
|
||||
self.loader.hood.sky.setFog(self.fog)
|
||||
SZUtil.startUnderwaterFog()
|
||||
|
||||
def __setWhiteFog(self):
|
||||
if base.wantFog:
|
||||
|
@ -367,9 +367,11 @@ class Estate(Place.Place):
|
|||
self.fog.setLinearRange(0.0, 400.0)
|
||||
render.setFog(self.fog)
|
||||
self.loader.hood.sky.setFog(self.fog)
|
||||
SZUtil.stopUnderwaterFog()
|
||||
|
||||
def __setFaintFog(self):
|
||||
if base.wantFog:
|
||||
self.fog.setColor(Vec4(0.8, 0.8, 0.8, 1.0))
|
||||
self.fog.setLinearRange(0.0, 700.0)
|
||||
render.setFog(self.fog)
|
||||
SZUtil.stopUnderwaterFog()
|
||||
|
|
|
@ -5,13 +5,12 @@ from toontown.distributed.ToontownMsgTypes import *
|
|||
from direct.fsm import ClassicFSM, State
|
||||
from toontown.minigame import Purchase
|
||||
from otp.avatar import DistributedAvatar
|
||||
from toontown.hood import SkyUtil
|
||||
from direct.task.Task import Task
|
||||
from toontown.hood.Hood import Hood
|
||||
from toontown.estate.EstateLoader import EstateLoader
|
||||
from toontown.estate import HouseGlobals
|
||||
from toontown.hood import ZoneUtil
|
||||
|
||||
from toontown.safezone import SZUtil
|
||||
|
||||
class EstateHood(Hood):
|
||||
notify = directNotify.newCategory('EstateHood')
|
||||
|
@ -113,12 +112,12 @@ class EstateHood(Hood):
|
|||
self.popupInfo.reparentTo(hidden)
|
||||
|
||||
def skyTrack(self, task):
|
||||
return SkyUtil.cloudSkyTrack(task)
|
||||
return SZUtil.cloudSkyTrack(task)
|
||||
|
||||
def startSky(self):
|
||||
if not self.sky.getTag('sky') == 'Regular':
|
||||
self.endSpookySky()
|
||||
SkyUtil.startCloudSky(self)
|
||||
SZUtil.startCloudSky(self)
|
||||
if base.cloudPlatformsEnabled:
|
||||
self.loader.startCloudPlatforms()
|
||||
|
||||
|
|
|
@ -7,11 +7,9 @@ from toontown.toonbase.ToonBaseGlobal import *
|
|||
from toontown.toonbase.ToontownGlobals import *
|
||||
from toontown.distributed.ToontownMsgTypes import *
|
||||
from toontown.minigame import Purchase
|
||||
from toontown.parties import PartyLoader
|
||||
from toontown.parties import PartyGlobals
|
||||
from toontown.hood import SkyUtil
|
||||
from toontown.hood import Hood
|
||||
from toontown.hood import ZoneUtil
|
||||
from toontown.parties import PartyLoader, PartyGlobals
|
||||
from toontown.hood import Hood, ZoneUtil
|
||||
from toontown.safezone import SZUtil
|
||||
|
||||
class PartyHood(Hood.Hood):
|
||||
notify = DirectNotifyGlobal.directNotify.newCategory('PartyHood')
|
||||
|
@ -30,7 +28,6 @@ class PartyHood(Hood.Hood):
|
|||
self.holidayStorageDNADict = {CHRISTMAS: ['phase_5.5/dna/winter_storage_estate.pdna']}
|
||||
self.skyFile = 'phase_3.5/models/props/TT_sky'
|
||||
self.popupInfo = None
|
||||
return
|
||||
|
||||
def load(self):
|
||||
Hood.Hood.load(self)
|
||||
|
@ -107,10 +104,10 @@ class PartyHood(Hood.Hood):
|
|||
pass
|
||||
|
||||
def skyTrack(self, task):
|
||||
return SkyUtil.cloudSkyTrack(task)
|
||||
return SZUtil.cloudSkyTrack(task)
|
||||
|
||||
def startSky(self):
|
||||
SkyUtil.startCloudSky(self)
|
||||
SZUtil.startCloudSky(self)
|
||||
if base.cloudPlatformsEnabled:
|
||||
self.loader.startCloudPlatforms()
|
||||
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
from pandac.PandaModules import CompassEffect, NodePath
|
||||
from direct.task.Task import Task
|
||||
|
||||
|
||||
notify = directNotify.newCategory('SkyUtil')
|
||||
|
||||
|
||||
def cloudSkyTrack(task):
|
||||
task.h += globalClock.getDt() * 0.25
|
||||
if task.cloud1.isEmpty() or task.cloud2.isEmpty():
|
||||
notify.warning("Couldn't find clouds!")
|
||||
return Task.done
|
||||
|
||||
task.cloud1.setH(task.h)
|
||||
task.cloud2.setH(-task.h * 0.8)
|
||||
return Task.cont
|
||||
|
||||
|
||||
def startCloudSky(hood, parent=camera, effects=CompassEffect.PRot | CompassEffect.PZ):
|
||||
hood.sky.reparentTo(parent)
|
||||
hood.sky.setDepthTest(0)
|
||||
hood.sky.setDepthWrite(0)
|
||||
hood.sky.setBin('background', 100)
|
||||
hood.sky.find('**/Sky').reparentTo(hood.sky, -1)
|
||||
hood.sky.reparentTo(parent)
|
||||
hood.sky.setZ(0.0)
|
||||
hood.sky.setHpr(0.0, 0.0, 0.0)
|
||||
ce = CompassEffect.make(NodePath(), effects)
|
||||
hood.sky.node().setEffect(ce)
|
||||
skyTrackTask = Task(hood.skyTrack)
|
||||
skyTrackTask.h = 0
|
||||
skyTrackTask.cloud1 = hood.sky.find('**/cloud1')
|
||||
skyTrackTask.cloud2 = hood.sky.find('**/cloud2')
|
||||
if not skyTrackTask.cloud1.isEmpty() and not skyTrackTask.cloud2.isEmpty():
|
||||
taskMgr.add(skyTrackTask, 'skyTrack')
|
||||
else:
|
||||
notify.warning("Couldn't find clouds!")
|
|
@ -9,7 +9,7 @@ from toontown.hood.Hood import Hood
|
|||
from toontown.building import SuitInterior
|
||||
from toontown.cogdominium import CogdoInterior
|
||||
from toontown.toon.Toon import teleportDebug
|
||||
from toontown.hood import SkyUtil
|
||||
from toontown.safezone import SZUtil
|
||||
|
||||
class ToonHood(Hood):
|
||||
notify = directNotify.newCategory('ToonHood')
|
||||
|
@ -208,12 +208,12 @@ class ToonHood(Hood):
|
|||
pass
|
||||
|
||||
def skyTrack(self, task):
|
||||
return SkyUtil.cloudSkyTrack(task)
|
||||
return SZUtil.cloudSkyTrack(task)
|
||||
|
||||
def startSky(self):
|
||||
if not self.sky.getTag('sky') == 'Regular':
|
||||
self.endSpookySky()
|
||||
SkyUtil.startCloudSky(self)
|
||||
SZUtil.startCloudSky(self)
|
||||
|
||||
def startSpookySky(self):
|
||||
if hasattr(self, 'sky') and self.sky:
|
||||
|
@ -237,10 +237,10 @@ class ToonHood(Hood):
|
|||
|
||||
def setUnderwaterFog(self):
|
||||
if base.wantFog:
|
||||
self.fog.setColor(0.245, 0.322, 0.5)
|
||||
self.fog.setLinearRange(0.1, 100.0)
|
||||
render.setFog(self.fog)
|
||||
self.sky.setFog(self.fog)
|
||||
SZUtil.startUnderwaterFog()
|
||||
|
||||
def setWhiteFog(self):
|
||||
if base.wantFog:
|
||||
|
@ -250,8 +250,10 @@ class ToonHood(Hood):
|
|||
render.setFog(self.fog)
|
||||
self.sky.clearFog()
|
||||
self.sky.setFog(self.fog)
|
||||
SZUtil.stopUnderwaterFog()
|
||||
|
||||
def setNoFog(self):
|
||||
if base.wantFog:
|
||||
render.clearFog()
|
||||
self.sky.clearFog()
|
||||
SZUtil.stopUnderwaterFog()
|
||||
|
|
|
@ -4,7 +4,7 @@ from DistributedMinigame import *
|
|||
from direct.interval.IntervalGlobal import *
|
||||
from direct.fsm import ClassicFSM, State
|
||||
from direct.fsm import State
|
||||
from toontown.safezone import Walk, SnowUtil
|
||||
from toontown.safezone import Walk, SZUtil
|
||||
from toontown.toonbase import ToontownTimer
|
||||
from direct.gui import OnscreenText
|
||||
import MinigameAvatarScorePanel
|
||||
|
@ -54,7 +54,7 @@ class DistributedTagGame(DistributedMinigame):
|
|||
self.IT = None
|
||||
|
||||
if TagGameGlobals.isSnowHood(safezoneId):
|
||||
self.snow, self.snowRender = SnowUtil.createSnow(self.ground)
|
||||
self.snow, self.snowRender = SZUtil.createSnow(self.ground)
|
||||
|
||||
return
|
||||
|
||||
|
|
|
@ -12,7 +12,6 @@ import random
|
|||
from direct.showbase import PythonUtil
|
||||
from otp.distributed.TelemetryLimiter import RotationLimitToH, TLGatherAllAvs, TLNull
|
||||
from toontown.hood import Place
|
||||
from toontown.hood import SkyUtil
|
||||
from toontown.parties import PartyPlanner
|
||||
from toontown.parties.DistributedParty import DistributedParty
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@ from math import sqrt
|
|||
from RaceGUI import RaceGUI
|
||||
import RaceGlobals
|
||||
from direct.task.Task import Task
|
||||
from toontown.hood import SkyUtil
|
||||
from direct.fsm import ClassicFSM, State
|
||||
from direct.fsm import State
|
||||
from toontown.battle.BattleProps import *
|
||||
|
@ -29,6 +28,7 @@ from toontown.racing import EffectManager
|
|||
from toontown.racing import PiejectileManager
|
||||
from toontown.dna.DNAParser import *
|
||||
from otp.ai.MagicWordGlobal import *
|
||||
from toontown.safezone import SZUtil
|
||||
|
||||
class DistributedRace(DistributedObject.DistributedObject):
|
||||
notify = DirectNotifyGlobal.directNotify.newCategory('DistributedRace')
|
||||
|
@ -1095,13 +1095,13 @@ class DistributedRace(DistributedObject.DistributedObject):
|
|||
self.gui.racerLeft(avId, unexpected=False)
|
||||
|
||||
def skyTrack(self, task):
|
||||
return SkyUtil.cloudSkyTrack(task)
|
||||
return SZUtil.cloudSkyTrack(task)
|
||||
|
||||
def startSky(self):
|
||||
if self.hasFog:
|
||||
SkyUtil.startCloudSky(self, parent=self.dummyNode, effects=CompassEffect.PRot)
|
||||
SZUtil.startCloudSky(self, parent=self.dummyNode, effects=CompassEffect.PRot)
|
||||
else:
|
||||
SkyUtil.startCloudSky(self, parent=render)
|
||||
SZUtil.startCloudSky(self, parent=render)
|
||||
|
||||
def stopSky(self):
|
||||
taskMgr.remove('skyTrack')
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from toontown.safezone import BRPlayground
|
||||
from toontown.safezone import SafeZoneLoader
|
||||
import SnowUtil
|
||||
import SZUtil
|
||||
|
||||
class BRSafeZoneLoader(SafeZoneLoader.SafeZoneLoader):
|
||||
def __init__(self, hood, parentFSM, doneEvent):
|
||||
|
@ -16,7 +16,7 @@ class BRSafeZoneLoader(SafeZoneLoader.SafeZoneLoader):
|
|||
self.windSound = map(base.loadSfx, ['phase_8/audio/sfx/SZ_TB_wind_1.ogg',
|
||||
'phase_8/audio/sfx/SZ_TB_wind_2.ogg',
|
||||
'phase_8/audio/sfx/SZ_TB_wind_3.ogg'])
|
||||
self.snow, self.snowRender = SnowUtil.createSnow(self.geom)
|
||||
self.snow, self.snowRender = SZUtil.createSnow(self.geom)
|
||||
|
||||
def unload(self):
|
||||
SafeZoneLoader.SafeZoneLoader.unload(self)
|
||||
|
|
60
toontown/safezone/SZUtil.py
Normal file
60
toontown/safezone/SZUtil.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
from panda3d.core import *
|
||||
from direct.task.Task import Task
|
||||
from toontown.battle import BattleParticles
|
||||
import colorsys
|
||||
|
||||
def createSnow(geom):
|
||||
snow = BattleParticles.loadParticleFile('snowdisk.ptf')
|
||||
snow.setPos(0, 0, 5)
|
||||
snowRender = geom.attachNewNode('snowRender')
|
||||
snowRender.setDepthWrite(0)
|
||||
snowRender.setBin('fixed', 1)
|
||||
|
||||
return snow, snowRender
|
||||
|
||||
def startUnderwaterFog():
|
||||
if not base.wantFog:
|
||||
return
|
||||
|
||||
stopUnderwaterFog()
|
||||
taskMgr.add(__updateUnderwaterFog, 'underwaterFog')
|
||||
|
||||
def stopUnderwaterFog():
|
||||
taskMgr.remove('underwaterFog')
|
||||
|
||||
def __updateUnderwaterFog(task):
|
||||
fog = base.cr.playGame.hood.fog if hasattr(base.cr.playGame.hood, 'fog') else base.cr.playGame.place.fog
|
||||
saturation = min(max((base.localAvatar.getZ() / -12.3), 0.51), 1)
|
||||
fog.setColor(*colorsys.hsv_to_rgb(0.616, saturation, 0.5))
|
||||
return task.cont
|
||||
|
||||
def cloudSkyTrack(task):
|
||||
task.h += globalClock.getDt() * 0.25
|
||||
|
||||
if task.cloud1.isEmpty() or task.cloud2.isEmpty():
|
||||
return
|
||||
|
||||
task.cloud1.setH(task.h)
|
||||
task.cloud2.setH(-task.h * 0.8)
|
||||
return task.cont
|
||||
|
||||
def startCloudSky(hood, parent=camera, effects=CompassEffect.PRot | CompassEffect.PZ):
|
||||
hood.sky.reparentTo(parent)
|
||||
hood.sky.setDepthTest(0)
|
||||
hood.sky.setDepthWrite(0)
|
||||
hood.sky.setBin('background', 100)
|
||||
hood.sky.find('**/Sky').reparentTo(hood.sky, -1)
|
||||
hood.sky.reparentTo(parent)
|
||||
hood.sky.setZ(0.0)
|
||||
hood.sky.setHpr(0.0, 0.0, 0.0)
|
||||
|
||||
ce = CompassEffect.make(NodePath(), effects)
|
||||
|
||||
hood.sky.node().setEffect(ce)
|
||||
skyTrackTask = Task(hood.skyTrack)
|
||||
skyTrackTask.h = 0
|
||||
skyTrackTask.cloud1 = hood.sky.find('**/cloud1')
|
||||
skyTrackTask.cloud2 = hood.sky.find('**/cloud2')
|
||||
|
||||
if not skyTrackTask.cloud1.isEmpty() and not skyTrackTask.cloud2.isEmpty():
|
||||
taskMgr.add(skyTrackTask, 'skyTrack')
|
|
@ -1,10 +0,0 @@
|
|||
from toontown.battle import BattleParticles
|
||||
|
||||
def createSnow(geom):
|
||||
snow = BattleParticles.loadParticleFile('snowdisk.ptf')
|
||||
snow.setPos(0, 0, 5)
|
||||
snowRender = geom.attachNewNode('snowRender')
|
||||
snowRender.setDepthWrite(0)
|
||||
snowRender.setBin('fixed', 1)
|
||||
|
||||
return snow, snowRender
|
|
@ -1,9 +1,6 @@
|
|||
from panda3d.core import *
|
||||
from direct.task.Task import Task
|
||||
from direct.directnotify import DirectNotifyGlobal
|
||||
from direct.fsm import StateData
|
||||
from direct.fsm import ClassicFSM, State
|
||||
import colorsys
|
||||
from direct.fsm import ClassicFSM, StateData, State
|
||||
|
||||
class Walk(StateData.StateData):
|
||||
notify = DirectNotifyGlobal.directNotify.newCategory('Walk')
|
||||
|
@ -91,13 +88,7 @@ class Walk(StateData.StateData):
|
|||
self.swimSoundPlaying = 0
|
||||
self.swimSound.stop()
|
||||
|
||||
saturation = min(max((base.localAvatar.getZ() / -12.3), 0.51), 1)
|
||||
self.getFog().setColor(*colorsys.hsv_to_rgb(0.616, saturation, 0.5))
|
||||
|
||||
return Task.cont
|
||||
|
||||
def getFog(self):
|
||||
return base.cr.playGame.hood.fog if hasattr(base.cr.playGame.hood, 'fog') else base.cr.playGame.place.fog
|
||||
return task.cont
|
||||
|
||||
def enterSlowWalking(self):
|
||||
self.accept(base.localAvatar.uniqueName('positiveHP'), self.__handlePositiveHP)
|
||||
|
|
|
@ -75,7 +75,6 @@ class MapPage(ShtikerPage.ShtikerPage):
|
|||
text=TTLocalizer.MapPageBackToPlayground,
|
||||
text_scale=TTLocalizer.MPsafeZoneButton,
|
||||
text_pos=(0, -0.02),
|
||||
textMayChange=0,
|
||||
command=self.backToSafeZone)
|
||||
self.goHomeButton = DirectButton(
|
||||
parent=self.map,
|
||||
|
@ -86,7 +85,6 @@ class MapPage(ShtikerPage.ShtikerPage):
|
|||
text=TTLocalizer.MapPageGoHome,
|
||||
text_scale=TTLocalizer.MPgoHomeButton,
|
||||
text_pos=(0, -0.02),
|
||||
textMayChange=0,
|
||||
command=self.goHome)
|
||||
self.goHomeButton.hide()
|
||||
guiButton.removeNode()
|
||||
|
|
Loading…
Reference in a new issue