General: Widescreen fixes

chat, cannon, racing, boarding groups, quests,  catalog,  and elevator widescreen fixes
Some widescreen fixes to battle , battles in building, battles in levels , the catalog screen, and the chat
Also add some resolutions to settings

Friends: Fix widescreen issues on the friend section

PAT and MAT,
minigames, gag shop after trolley,
shticker book,
friends list , laff meter
avatar details panel
and teleport panel widescreen fixes

General: More widescreen fixes

Some fixes for OTPTimer, and the furniture gui
And another battle thing

Catalog: Fix catalog notification dialog for widescreen

Some more widescreen fixes

Kart: Fix crash when buying kart

ToontownBattleGlobals: Sorta fix FaceOffFov
This commit is contained in:
DarthNihilus1 2023-01-19 14:50:49 -05:00
parent b220702ac2
commit b91da593f3
45 changed files with 335 additions and 121 deletions

Binary file not shown.

View File

@ -10,8 +10,8 @@ SafetyNetBitmask = BitMask32(512)
SafetyGateBitmask = BitMask32(1024)
GhostBitmask = BitMask32(2048)
PathFindingBitmask = BitMask32.bit(29)
OriginalCameraFov = 52.0
DefaultCameraFov = 52.0
OriginalCameraFov = 70.0
DefaultCameraFov = 70.0
DefaultCameraFar = 400.0
DefaultCameraNear = 1.0
AICollisionPriority = 10

View File

@ -35,13 +35,16 @@ class OTPTimer(DirectFrame):
return OTPTimer.ClockImage
def posInTopRightCorner(self):
self.setPos(1.16, 0, 0.83)
self.reparentTo(base.a2dTopRight)
self.setPos(-0.17, 0, -0.17)
def posBelowTopRightCorner(self):
self.setPos(1.16, 0, 0.58)
self.reparentTo(base.a2dTopRight)
self.setPos(-0.17, 0, -0.4)
def posAboveShtikerBook(self):
self.setPos(1.16, 0, -.63)
self.reparentTo(base.a2dBottomRight)
self.setPos(-0.173, 0, 0.37)
def setTime(self, time):
time = bound(time, 0, 999)

View File

@ -112,11 +112,11 @@ class DistributedBattle(DistributedBattleBase.DistributedBattleBase):
TauntCamHeight = random.choice((MidTauntCamHeight, 1, 11))
camTrack = Sequence()
camTrack.append(Func(camera.wrtReparentTo, suit))
camTrack.append(Func(base.camLens.setFov, self.camFOFov))
camTrack.append(Func(base.camLens.setMinFov, self.camFOFov/(4/3)))
camTrack.append(Func(camera.setPos, TauntCamX, TauntCamY, TauntCamHeight))
camTrack.append(Func(camera.lookAt, suit, suitOffsetPnt))
camTrack.append(Wait(delay))
camTrack.append(Func(base.camLens.setFov, self.camFov))
camTrack.append(Func(base.camLens.setMinFov, self.camFOFov/(4/3)))
camTrack.append(Func(camera.wrtReparentTo, self))
camTrack.append(Func(camera.setPos, self.camFOPos))
camTrack.append(Func(camera.lookAt, suit.getPos(self)))

View File

@ -141,7 +141,7 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase):
self.fsm.requestFinalState()
if self.hasLocalToon():
self.removeLocalToon()
base.camLens.setFov(ToontownGlobals.DefaultCameraFov)
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4/3))
self.localToonFsm.request('WaitForServer')
self.ignoreAll()
for suit in self.suits:
@ -787,7 +787,7 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase):
camTrack = Sequence()
def setCamFov(fov):
base.camLens.setFov(fov)
base.camLens.setMinFov(fov/(4/3))
camTrack.append(Func(setCamFov, self.camFov))
camTrack.append(Func(camera.wrtReparentTo, self))
@ -1014,7 +1014,7 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase):
def __enterLocalToonWaitForInput(self):
self.notify.debug('enterLocalToonWaitForInput()')
camera.setPosHpr(self.camPos, self.camHpr)
base.camLens.setFov(self.camMenuFov)
base.camLens.setMinFov(self.camMenuFov/(4/3))
NametagGlobals.setMasterArrowsOn(0)
self.townBattle.setState('Attack')
self.accept(self.localToonBattleEvent, self.__handleLocalToonBattleEvent)
@ -1058,7 +1058,7 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase):
self.notify.debug('exitWaitForInput()')
if self.localToonActive():
self.townBattle.setState('Off')
base.camLens.setFov(self.camFov)
base.camLens.setMinFov(self.camFov/(4/3))
self.ignore(self.localToonBattleEvent)
self.__stopTimer()
return None
@ -1238,7 +1238,7 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase):
if localAvatar and hasattr(localAvatar, 'inventory') and localAvatar.inventory:
localAvatar.inventory.setInteractivePropTrackBonus(self.interactivePropTrackBonus)
camera.wrtReparentTo(self)
base.camLens.setFov(self.camFov)
base.camLens.setMinFov(self.camFov/(4/3))
return
def exitHasLocalToon(self):
@ -1257,7 +1257,7 @@ class DistributedBattleBase(DistributedNode.DistributedNode, BattleBase):
else:
camera.wrtReparentTo(base.localAvatar)
messenger.send('localToonLeftBattle')
base.camLens.setFov(ToontownGlobals.DefaultCameraFov)
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4/3))
return
def enterNoLocalToon(self):

View File

@ -111,7 +111,7 @@ class DistributedBattleBldg(DistributedBattleBase.DistributedBattleBase):
camTrack = Sequence()
def setCamFov(fov):
base.camLens.setFov(fov)
base.camLens.setMinFov(fov/(4/3))
camTrack.append(Func(camera.wrtReparentTo, suitLeader))
camTrack.append(Func(setCamFov, self.camFOFov))
@ -157,7 +157,7 @@ class DistributedBattleBldg(DistributedBattleBase.DistributedBattleBase):
self.clearInterval(self.faceOffName)
self._removeMembersKeep()
camera.wrtReparentTo(self)
base.camLens.setFov(self.camFov)
base.camLens.setMinFov(self.camFov/(4/3))
return None
def __playReward(self, ts, callback):

View File

@ -192,7 +192,7 @@ class DistributedBuilding(DistributedObject.DistributedObject):
self.acceptOnce('insideVictorElevator', self.handleInsideVictorElevatorFromCogdo)
camera.reparentTo(render)
camera.setPosHpr(self.elevatorNodePath, 0, -32.5, 9.4, 0, 348, 0)
base.camLens.setFov(52.0)
base.camLens.setMinFov(52.0/(4/3))
anyOthers = 0
for v in self.victorList:
if v != 0 and v != base.localAvatar.doId:

View File

@ -92,15 +92,25 @@ def getCloseInterval(distObj, leftDoor, rightDoor, closeSfx, finalCloseSfx, type
def getRideElevatorInterval(type = ELEVATOR_NORMAL):
if type == ELEVATOR_VP or type == ELEVATOR_CFO or type == ELEVATOR_CJ:
cameraValue = 65
yValue = 30
zMin = 7.8
zMid = 8
zMax = 8.2
elif type == ELEVATOR_BB:
cameraValue = 65
yValue = 21
zMin = 7
zMid = 7.2
zMax = 7.4
elif (type == ELEVATOR_CFO):
cameraValue = 59
yValue = 30
zMin = 7.8
zMid = 8
zMax = 8.2
else:
cameraValue = 55
if type in (ELEVATOR_VP,
ELEVATOR_CFO,
ELEVATOR_CJ,
@ -108,4 +118,5 @@ def getRideElevatorInterval(type = ELEVATOR_NORMAL):
ival = Sequence(Wait(0.5), LerpPosInterval(camera, 0.5, Point3(0, yValue, zMin), startPos=Point3(0, yValue, zMid), blendType='easeOut'), LerpPosInterval(camera, 0.5, Point3(0, yValue, zMid), startPos=Point3(0, yValue, zMin)), Wait(1.0), LerpPosInterval(camera, 0.5, Point3(0, yValue, zMax), startPos=Point3(0, yValue, zMid), blendType='easeOut'), LerpPosInterval(camera, 1.0, Point3(0, yValue, zMid), startPos=Point3(0, yValue, zMax)))
else:
ival = Sequence(Wait(0.5), LerpPosInterval(camera, 0.5, Point3(0, 14, 3.8), startPos=Point3(0, 14, 4), blendType='easeOut'), LerpPosInterval(camera, 0.5, Point3(0, 14, 4), startPos=Point3(0, 14, 3.8)), Wait(1.0), LerpPosInterval(camera, 0.5, Point3(0, 14, 4.2), startPos=Point3(0, 14, 4), blendType='easeOut'), LerpPosInterval(camera, 1.0, Point3(0, 14, 4), startPos=Point3(0, 14, 4.2)))
base.camLens.setFov(cameraValue)
return ival

View File

@ -11,13 +11,20 @@ class CatalogNotifyDialog:
def __init__(self, message):
self.message = message
self.messageIndex = 0
framePosX = CatalogNotifyBaseXPos
framePosX = -0.93
from toontown.toon import LocalToon
if LocalToon.WantNewsPage:
framePosX += LocalToon.AdjustmentForNewsButton
self.frame = DirectFrame(relief=None, sortOrder=DGG.BACKGROUND_SORT_INDEX - 2, image=DGG.getDefaultDialogGeom(), image_color=ToontownGlobals.GlobalDialogColor, image_scale=(1.2, 1.0, 0.4), text=message[0], text_wordwrap=16, text_scale=0.06, text_pos=(-0.1, 0.1), pos=(framePosX, 0, 0.78))
self.frame = DirectFrame(relief=None, sortOrder=DGG.BACKGROUND_SORT_INDEX - 2,
image=DGG.getDefaultDialogGeom(),
image_color=ToontownGlobals.GlobalDialogColor,
image_scale=(1.2, 1.0, 0.4), text=message[0], text_wordwrap=16,
text_scale=0.06, text_pos=(framePosX, -0.22),
parent = base.a2dTopRight, pos = (framePosX, 0, 0))
buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui')
cancelImageList = (buttons.find('**/CloseBtn_UP'), buttons.find('**/CloseBtn_DN'), buttons.find('**/CloseBtn_Rllvr'))
cancelImageList = (buttons.find('**/CloseBtn_UP'),
buttons.find('**/CloseBtn_DN'),
buttons.find('**/CloseBtn_Rllvr'))
okImageList = (buttons.find('**/ChtBx_OKBtn_UP'), buttons.find('**/ChtBx_OKBtn_DN'), buttons.find('**/ChtBx_OKBtn_Rllvr'))
self.nextButton = DirectButton(parent=self.frame, relief=None, image=okImageList, command=self.handleButton, pos=(0, 0, -0.14))
self.doneButton = DirectButton(parent=self.frame, relief=None, image=cancelImageList, command=self.handleButton, pos=(0, 0, -0.14))

View File

@ -683,7 +683,9 @@ class CatalogScreen(DirectFrame):
self.clarabelleFrame = DirectLabel(self, relief=None, image=guiItems.find('**/clarabelle_frame'))
hangupGui = guiItems.find('**/hangup')
hangupRolloverGui = guiItems.find('**/hangup_rollover')
self.hangup = DirectButton(self, relief=None, pos=(1.78, 0, -1.3), image=[hangupGui,
self.hangup = DirectButton(self, relief=None, pos = (1.78, 0, -1.3),
scale = (0.7, 0.7, 0.7),
image=[hangupGui,
hangupRolloverGui,
hangupRolloverGui,
hangupGui], text=['', TTLocalizer.CatalogHangUp, TTLocalizer.CatalogHangUp], text_fg=Vec4(1), text_scale=0.07, text_pos=(0.0, 0.14), command=self.hangUp)

View File

@ -439,9 +439,9 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
self.terminalSelectedEvent = self.speedChat.getEventName(SpeedChatGlobals.SCTerminalSelectedEvent)
if base.config.GetBool('want-sc-auto-hide', 1):
self.accept(self.terminalSelectedEvent, selectionMade)
self.speedChat.reparentTo(aspect2dp, DGG.FOREGROUND_SORT_INDEX)
scZ = 0.96
self.speedChat.setPos(-1.05, 0, scZ)
self.speedChat.reparentTo(base.a2dpTopLeft, DGG.FOREGROUND_SORT_INDEX)
scZ = -0.04
self.speedChat.setPos(0.28, 0, scZ)
self.speedChat.setWhisperMode(self.whisperAvatarId != None)
self.speedChat.enter()
return

View File

@ -32,30 +32,95 @@ class ToontownChatManager(ChatManager.ChatManager):
def __init__(self, cr, localAvatar):
gui = loader.loadModel('phase_3.5/models/gui/chat_input_gui')
self.normalButton = DirectButton(image=(gui.find('**/ChtBx_ChtBtn_UP'), gui.find('**/ChtBx_ChtBtn_DN'), gui.find('**/ChtBx_ChtBtn_RLVR')), pos=(-1.2647, 0, 0.928), scale=1.179, relief=None, image_color=Vec4(1, 1, 1, 1), text=('', OTPLocalizer.ChatManagerChat, OTPLocalizer.ChatManagerChat), text_align=TextNode.ALeft, text_scale=TTLocalizer.TCMnormalButton, text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1), text_pos=(-0.0525, -0.09), textMayChange=0, sortOrder=DGG.FOREGROUND_SORT_INDEX, command=self.__normalButtonPressed)
self.normalButton = DirectButton(image=(gui.find('**/ChtBx_ChtBtn_UP'),
gui.find('**/ChtBx_ChtBtn_DN'),
gui.find('**/ChtBx_ChtBtn_RLVR')),
pos = (0.0683, 0, -0.07),
parent= base.a2dTopLeft,
scale=1.179, relief=None,
image_color=Vec4(1, 1, 1, 1),
text=('', OTPLocalizer.ChatManagerChat, OTPLocalizer.ChatManagerChat),
text_align=TextNode.ALeft, text_scale=TTLocalizer.TCMnormalButton,
text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1),
text_pos=(-0.0525, -0.09),
textMayChange=0,
sortOrder=DGG.FOREGROUND_SORT_INDEX,
command=self.__normalButtonPressed)
self.normalButton.hide()
self.openScSfx = loader.loadSfx('phase_3.5/audio/sfx/GUI_quicktalker.ogg')
self.openScSfx.setVolume(0.6)
self.scButton = DirectButton(image=(gui.find('**/ChtBx_ChtBtn_UP'), gui.find('**/ChtBx_ChtBtn_DN'), gui.find('**/ChtBx_ChtBtn_RLVR')), pos=TTLocalizer.TCMscButtonPos, scale=1.179, relief=None, image_color=Vec4(0.75, 1, 0.6, 1), text=('', OTPLocalizer.GlobalSpeedChatName, OTPLocalizer.GlobalSpeedChatName), text_scale=TTLocalizer.TCMscButton, text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1), text_pos=(0, -0.09), textMayChange=0, sortOrder=DGG.FOREGROUND_SORT_INDEX, command=self.__scButtonPressed, clickSound=self.openScSfx)
self.scButton = DirectButton(image=(gui.find('**/ChtBx_ChtBtn_UP'),
gui.find('**/ChtBx_ChtBtn_DN'),
gui.find('**/ChtBx_ChtBtn_RLVR')),
pos=TTLocalizer.TCMscButtonPos,
parent = base.a2dTopLeft,
scale=1.179, relief=None,
image_color=Vec4(0.75, 1, 0.6, 1),
text=('', OTPLocalizer.GlobalSpeedChatName,
OTPLocalizer.GlobalSpeedChatName),
text_scale=TTLocalizer.TCMscButton,
text_fg=Vec4(1, 1, 1, 1),
text_shadow=Vec4(0, 0, 0, 1), text_pos=(0, -0.09),
textMayChange=0, sortOrder=DGG.FOREGROUND_SORT_INDEX,
command=self.__scButtonPressed, clickSound=self.openScSfx)
self.scButton.hide()
self.whisperFrame = DirectFrame(parent=aspect2dp, relief=None, image=DGG.getDefaultDialogGeom(), image_scale=(0.45, 0.45, 0.45), image_color=OTPGlobals.GlobalDialogColor, pos=(-0.4, 0, 0.754), text=OTPLocalizer.ChatManagerWhisperTo, text_wordwrap=7.0, text_scale=TTLocalizer.TCMwhisperFrame, text_fg=Vec4(0, 0, 0, 1), text_pos=(0, 0.14), textMayChange=1, sortOrder=DGG.FOREGROUND_SORT_INDEX)
self.whisperFrame = DirectFrame(parent = base.a2dTopLeft, relief=None,
image=DGG.getDefaultDialogGeom(),
image_scale = (0.45, 0.45, 0.45),
image_color=OTPGlobals.GlobalDialogColor,
pos = (1.25, 0, -0.269),
text=OTPLocalizer.ChatManagerWhisperTo,
text_wordwrap=7.0, text_scale=TTLocalizer.TCMwhisperFrame,
text_fg=Vec4(0, 0, 0, 1), text_pos = (0.17,0.01),
textMayChange=1, sortOrder=DGG.FOREGROUND_SORT_INDEX)
self.whisperFrame.hide()
self.whisperButton = DirectButton(parent=self.whisperFrame, image=(gui.find('**/ChtBx_ChtBtn_UP'), gui.find('**/ChtBx_ChtBtn_DN'), gui.find('**/ChtBx_ChtBtn_RLVR')), pos=(-0.125, 0, -0.1), scale=1.179, relief=None, image_color=Vec4(1, 1, 1, 1), text=('',
OTPLocalizer.ChatManagerChat,
OTPLocalizer.ChatManagerChat,
''), image3_color=Vec4(0.6, 0.6, 0.6, 0.6), text_scale=TTLocalizer.TCMwhisperButton, text_fg=(0, 0, 0, 1), text_pos=(0, -0.09), textMayChange=0, command=self.__whisperButtonPressed)
self.whisperScButton = DirectButton(parent=self.whisperFrame, image=(gui.find('**/ChtBx_ChtBtn_UP'), gui.find('**/ChtBx_ChtBtn_DN'), gui.find('**/ChtBx_ChtBtn_RLVR')), pos=(0.0, 0, -0.1), scale=1.179, relief=None, image_color=Vec4(0.75, 1, 0.6, 1), text=('',
OTPLocalizer.GlobalSpeedChatName,
OTPLocalizer.GlobalSpeedChatName,
''), image3_color=Vec4(0.6, 0.6, 0.6, 0.6), text_scale=TTLocalizer.TCMwhisperScButton, text_fg=(0, 0, 0, 1), text_pos=(0, -0.09), textMayChange=0, command=self.__whisperScButtonPressed)
self.whisperCancelButton = DirectButton(parent=self.whisperFrame, image=(gui.find('**/CloseBtn_UP'), gui.find('**/CloseBtn_DN'), gui.find('**/CloseBtn_Rllvr')), pos=(0.125, 0, -0.1), scale=1.179, relief=None, text=('', OTPLocalizer.ChatManagerCancel, OTPLocalizer.ChatManagerCancel), text_scale=0.05, text_fg=(0, 0, 0, 1), text_pos=(0, -0.09), textMayChange=0, command=self.__whisperCancelPressed)
self.whisperButton = DirectButton(parent=self.whisperFrame,
image=(gui.find('**/ChtBx_ChtBtn_UP'),
gui.find('**/ChtBx_ChtBtn_DN'),
gui.find('**/ChtBx_ChtBtn_RLVR')),
pos = (-0.29, 0, 0.03), scale=1.179,
relief=None, image_color=Vec4(1, 1, 1, 1),
text=('',
OTPLocalizer.ChatManagerChat,
OTPLocalizer.ChatManagerChat,
''),
image3_color=Vec4(0.6, 0.6, 0.6, 0.6),
text_scale=TTLocalizer.TCMwhisperButton,
text_fg=(0, 0, 0, 1), text_pos=(0, -0.09),
textMayChange=0, command=self.__whisperButtonPressed)
self.whisperScButton = DirectButton(parent=self.whisperFrame,
image=(gui.find('**/ChtBx_ChtBtn_UP'),
gui.find('**/ChtBx_ChtBtn_DN'),
gui.find('**/ChtBx_ChtBtn_RLVR')),
pos = (-0.17, 0, 0.03), scale=1.179, relief=None,
image_color=Vec4(0.75, 1, 0.6, 1),
text=('',
OTPLocalizer.GlobalSpeedChatName,
OTPLocalizer.GlobalSpeedChatName,
''),
image3_color=Vec4(0.6, 0.6, 0.6, 0.6),
text_scale=TTLocalizer.TCMwhisperScButton,
text_fg=(0, 0, 0, 1), text_pos=(0, -0.09),
textMayChange=0, command=self.__whisperScButtonPressed)
self.whisperCancelButton = DirectButton(parent=self.whisperFrame,
image=(gui.find('**/CloseBtn_UP'),
gui.find('**/CloseBtn_DN'),
gui.find('**/CloseBtn_Rllvr')),
pos = (-0.05, 0, 0.033), scale=1.179,
relief=None,
text=('', OTPLocalizer.ChatManagerCancel,
OTPLocalizer.ChatManagerCancel),
text_scale=0.05, text_fg=(0, 0, 0, 1),
text_pos=(0, -0.09), textMayChange=0,
command=self.__whisperCancelPressed)
gui.removeNode()
ChatManager.ChatManager.__init__(self, cr, localAvatar)
self.defaultToWhiteList = base.config.GetBool('white-list-is-default', 1)
self.chatInputSpeedChat = TTChatInputSpeedChat(self)
self.normalPos = Vec3(-1.083, 0, 0.804)
self.whisperPos = Vec3(0.0, 0, 0.71)
self.speedChatPlusPos = Vec3(-0.35, 0, 0.71)
self.normalPos = Vec3(0.25, 0, -0.196)
self.whisperPos = Vec3(0, 0, -0.296)
self.speedChatPlusPos = Vec3(0, 0, 0)
self.chatInputWhiteList = TTChatInputWhiteList()
if self.defaultToWhiteList:
self.chatInputNormal = self.chatInputWhiteList
@ -64,6 +129,7 @@ class ToontownChatManager(ChatManager.ChatManager):
else:
self.chatInputNormal = TTChatInputNormal(self)
self.chatInputWhiteList.setPos(self.speedChatPlusPos)
self.chatInputWhiteList.reparentTo(base.a2dTopLeft)
self.chatInputWhiteList.desc = 'chatInputWhiteList'
return
@ -131,6 +197,7 @@ class ToontownChatManager(ChatManager.ChatManager):
def enterMainMenu(self):
self.chatInputNormal.setPos(self.normalPos)
self.chatInputNormal.reparentTo(base.a2dTopLeft)
if self.chatInputWhiteList.isActive():
self.notify.debug('enterMainMenu calling checkObscured')
ChatManager.ChatManager.checkObscurred(self)

View File

@ -1307,7 +1307,7 @@ class DistributedGolfGreenGame(BattleBlocker.BattleBlocker):
camera.setH(0)
camera.setP(-70)
camera.reparentTo(self.focusPoint)
base.camLens.setFov(60, 46.8265)
base.camLens.setMinFov(60/(4/3), 46.8265/(4/3))
self.focusPoint.setPos(0, 12, 27)
self.focusPoint.setH(180)

View File

@ -165,11 +165,11 @@ class DistributedLevelBattle(DistributedBattle.DistributedBattle):
TauntCamHeight = random.choice((MidTauntCamHeight, 1, 11))
camTrack = Sequence()
camTrack.append(Func(camera.reparentTo, suitLeader))
camTrack.append(Func(base.camLens.setFov, self.camFOFov))
camTrack.append(Func(base.camLens.setMinFov, self.camFOFov/(4/3)))
camTrack.append(Func(camera.setPos, TauntCamX, TauntCamY, TauntCamHeight))
camTrack.append(Func(camera.lookAt, suitLeader, suitOffsetPnt))
camTrack.append(Wait(delay))
camTrack.append(Func(base.camLens.setFov, self.camFov))
camTrack.append(Func(base.camLens.seMinFov, self.camFov/(4/3)))
camTrack.append(Func(camera.wrtReparentTo, self))
camTrack.append(Func(camera.setPos, self.camFOPos))
camTrack.append(Func(camera.lookAt, suit))

View File

@ -386,7 +386,12 @@ class ObjectManager(NodePath, DirectObject):
base.setCellsAvailable(base.leftCells + [base.bottomCells[0]], 0)
if self.guiInterval:
self.guiInterval.finish()
self.guiInterval = self.furnitureGui.posHprScaleInterval(1.0, Point3(-1.16, 1, -0.03), Vec3(0), Vec3(0.06), startPos=Point3(-1.19, 1, 0.33), startHpr=Vec3(0), startScale=Vec3(0.04), blendType='easeInOut', name='lerpFurnitureButton')
self.guiInterval = self.furnitureGui.posHprScaleInterval(1.0, Point3(0.16,-0.6,-1.045), Vec3(0), Vec3(0.06),
startPos = Point3(0.115, 0.0, -0.66),
startHpr=Vec3(0),
startScale=Vec3(0.04),
blendType='easeInOut',
name='lerpFurnitureButton')
self.guiInterval.start()
taskMgr.add(self.recenterButtonFrameTask, 'recenterButtonFrameTask', 10)
messenger.send('wakeup')

View File

@ -46,7 +46,11 @@ class FriendInviter(DirectFrame):
def __init__(self, avId, avName, avDisableName):
self.wantPlayerFriends = base.config.GetBool('want-player-friends', 0)
DirectFrame.__init__(self, pos=(0.3, 0.1, 0.65), image_color=GlobalDialogColor, image_scale=(1.0, 1.0, 0.6), text='', text_wordwrap=TTLocalizer.FIdirectFrameWordwrap, text_scale=TTLocalizer.FIdirectFrame, text_pos=TTLocalizer.FIdirectFramePos)
DirectFrame.__init__(self, pos = (-1.03, 0.1, -0.35), parent= base.a2dTopRight, image_color=GlobalDialogColor,
image_scale=(1.0, 1.0, 0.6), text='',
text_wordwrap=TTLocalizer.FIdirectFrameWordwrap,
text_scale=TTLocalizer.FIdirectFrame,
text_pos=TTLocalizer.FIdirectFramePos)
self['image'] = DGG.getDefaultDialogGeom()
self.avId = avId
self.toonName = avName

View File

@ -146,7 +146,8 @@ class FriendsListPanel(DirectFrame, StateData.StateData):
self.title = DirectLabel(parent=self, relief=None, text='', text_scale=TTLocalizer.FLPtitle, text_fg=(0, 0.1, 0.4, 1), pos=(0.007, 0.0, 0.2))
background_image = gui.find('**/FriendsBox_Open')
self['image'] = background_image
self.setPos(1.1, 0, 0.54)
self.reparentTo(base.a2dTopRight)
self.setPos(-0.23, 0, -0.46)
self.scrollList = DirectScrolledList(parent=self, relief=None, incButton_image=(gui.find('**/FndsLst_ScrollUp'),
gui.find('**/FndsLst_ScrollDN'),
gui.find('**/FndsLst_ScrollUp_Rllvr'),

View File

@ -55,7 +55,8 @@ class AvatarChooser(StateData.StateData):
self.quitButton.show()
if base.cr.loginInterface.supportsRelogin():
self.logoutButton.show()
self.pickAToonBG.reparentTo(base.camera)
self.pickAToonBG.reparentTo(aspect2d)
self.pickAToonBG.setBin('background', 1)
choice = base.config.GetInt('auto-avatar-choice', -1)
for panel in self.panelList:
panel.show()

View File

@ -94,7 +94,7 @@ class MakeAToon(StateData.StateData):
if base.config.GetBool('want-qa-regression', 0):
self.notify.info('QA-REGRESSION: MAKEATOON: Starting Make A Toon')
base.cr.centralLogger.writeClientEvent('MAT - startingMakeAToon')
base.camLens.setFov(ToontownGlobals.MakeAToonCameraFov)
base.camLens.setMinFov(ToontownGlobals.MakeAToonCameraFov/ (4/3))
base.playMusic(self.music, looping=1, volume=self.musicVolume)
camera.setPosHpr(-5.7, -12.3501, 2.15, -24.8499, 2.73, 0)
if self.warp:
@ -116,7 +116,7 @@ class MakeAToon(StateData.StateData):
self.fsm.request('GenderShop')
def exit(self):
base.camLens.setFov(ToontownGlobals.DefaultCameraFov)
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4/3))
self.guiTopBar.hide()
self.guiBottomBar.hide()
self.music.stop()

View File

@ -110,7 +110,11 @@ class DistributedCannonGame(DistributedMinigame):
purchaseModels = loader.loadModel('phase_4/models/gui/purchase_gui')
self.jarImage = purchaseModels.find('**/Jar')
self.jarImage.reparentTo(hidden)
self.rewardPanel = DirectLabel(parent=hidden, relief=None, pos=(1.16, 0.0, 0.45), scale=0.65, text='', text_scale=0.2, text_fg=(0.95, 0.95, 0, 1), text_pos=(0, -.13), text_font=ToontownGlobals.getSignFont(), image=self.jarImage)
self.rewardPanel = DirectLabel(parent=hidden, relief=None,
pos = (-0.17, 0.0, -0.55),
scale=0.65, text='', text_scale=0.2,
text_fg=(0.95, 0.95, 0, 1), text_pos=(0, -.13),
text_font=ToontownGlobals.getSignFont(), image=self.jarImage)
self.rewardPanelTitle = DirectLabel(parent=self.rewardPanel, relief=None, pos=(0, 0, 0.06), scale=0.08, text=TTLocalizer.CannonGameReward, text_fg=(0.95, 0.95, 0, 1), text_shadow=(0, 0, 0, 1))
self.music = base.loader.loadMusic('phase_4/audio/bgm/MG_cannon_game.ogg')
self.sndCannonMove = base.loader.loadSfx('phase_4/audio/sfx/MG_cannon_adjust.ogg')
@ -366,7 +370,7 @@ class DistributedCannonGame(DistributedMinigame):
if not base.config.GetBool('endless-cannon-game', 0):
self.timer.show()
self.timer.countdown(CannonGameGlobals.GameTime, self.__gameTimerExpired)
self.rewardPanel.reparentTo(aspect2d)
self.rewardPanel.reparentTo(base.a2dTopRight)
self.scoreMult = MinigameGlobals.getScoreMult(self.cr.playGame.hood.id)
self.__startRewardCountdown()
self.airborneToons = 0

View File

@ -484,7 +484,8 @@ class DistributedCatchGame(DistributedMinigame):
avName = self.getAvatarName(avId)
scorePanel = MinigameAvatarScorePanel.MinigameAvatarScorePanel(avId, avName)
scorePanel.setScale(0.9)
scorePanel.setPos(0.75 - spacing * (self.numPlayers - 1 - i), 0.0, 0.85)
scorePanel.setPos(-0.58 - spacing*((self.numPlayers-1)-i), 0.0, -0.15)
scorePanel.reparentTo(base.a2dTopRight)
scorePanel.makeTransparent(0.75)
self.scorePanels.append(scorePanel)

View File

@ -230,7 +230,7 @@ class DistributedDivingGame(DistributedMinigame):
camera.setZ(36)
camera.setH(0)
camera.setX(0)
base.camLens.setFov(45)
base.camLens.setMinFov(45/(4/3))
camera.setY(-54)
base.camLens.setFar(1500)
self.introMovie = self.getIntroMovie()
@ -271,13 +271,13 @@ class DistributedDivingGame(DistributedMinigame):
self.boatTilt = Sequence(LerpFunc(self.boatModel.setR, duration=5, fromData=5, toData=-5, blendType='easeInOut', name='tilt'), LerpFunc(self.boatModel.setR, duration=5, fromData=-5, toData=5, blendType='easeInOut', name='tilt'))
self.boatTilt.loop()
self.mapScaleRatio = 40
self.mapModel.reparentTo(aspect2d)
self.mapModel.reparentTo(base.a2dTopRight)
self.mapModel.setScale(1.0 / self.mapScaleRatio)
self.mapModel.setTransparency(1)
self.mapModel.setPos(1.15, -0.5, -0.125)
self.mapModel.setPos(-0.22,-0.5,-0.130)
self.mapModel.setColorScale(1, 1, 1, 0.7)
self.mapModel.hide()
if None != self.sndAmbience:
if self.sndAmbience is not None:
self.sndAmbience.setLoop(True)
self.sndAmbience.play()
self.sndAmbience.setVolume(0.01)
@ -294,7 +294,7 @@ class DistributedDivingGame(DistributedMinigame):
self.toonSDs[avId].exit()
base.camLens.setFar(ToontownGlobals.DefaultCameraFar)
base.camLens.setFov(ToontownGlobals.DefaultCameraFov)
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4/3))
base.setBackgroundColor(ToontownGlobals.DefaultBackgroundColor)
self.arrowKeys.destroy()
del self.arrowKeys
@ -528,7 +528,8 @@ class DistributedDivingGame(DistributedMinigame):
DistributedMinigame.setGameStart(self, timestamp)
self.notify.debug('setGameStart')
self.treasurePanel = TreasureScorePanel.TreasureScorePanel()
self.treasurePanel.setPos(-1.19, 0, 0.75)
self.treasurePanel.setPos(0.15,0, -0.27)
self.treasurePanel.reparentTo(base.a2dTopLeft)
self.treasurePanel.makeTransparent(0.7)
self.introMovie.finish()
self.gameFSM.request('swim')

View File

@ -203,7 +203,7 @@ class DistributedPatternGame(DistributedMinigame):
self.lt = base.localAvatar
camera.reparentTo(render)
camera.setPosHpr(0.0, -14.59, 10.56, 0.0, -16.39, 0.0)
base.camLens.setFov(24.66)
base.camLens.setMinFov(24.66/(4/3))
NametagGlobals.setGlobalNametagScale(0.6)
self.arrowKeys = ArrowKeys.ArrowKeys()
self.room.reparentTo(render)
@ -276,7 +276,7 @@ class DistributedPatternGame(DistributedMinigame):
self.notify.debug('offstage')
DistributedMinigame.offstage(self)
self.music.stop()
base.camLens.setFov(ToontownGlobals.DefaultCameraFov)
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4/3))
NametagGlobals.setGlobalNametagScale(1.0)
self.arrowKeys.destroy()
del self.arrowKeys

View File

@ -131,7 +131,12 @@ class DistributedPhotoGame(DistributedMinigame, PhotoGameBase.PhotoGameBase):
self.filmImage = loader.loadModel('phase_4/models/minigames/photogame_filmroll')
self.filmImage.reparentTo(hidden)
self.tripodModel = loader.loadModel('phase_4/models/minigames/toon_cannon')
self.filmPanel = DirectLabel(parent=hidden, relief=None, pos=(1.16, 0.0, 0.45), scale=0.65, text=str(self.filmCount), text_scale=0.2, text_fg=(0.95, 0.95, 0, 1), text_pos=(0.08, -0.15), text_font=ToontownGlobals.getSignFont(), image=self.filmImage, image_scale=Point3(1.0, 0.0, 0.85))
self.filmPanel = DirectLabel(parent=hidden, relief=None, pos = (-0.23, -1.2, -0.55),
scale=0.65, text=str(self.filmCount), text_scale=0.2,
text_fg=(0.95, 0.95, 0, 1), text_pos=(0.08, -0.15),
text_font=ToontownGlobals.getSignFont(),
image=self.filmImage,
image_scale=Point3(1.0, 0.0, 0.85))
self.filmPanelTitle = DirectLabel(parent=self.filmPanel, relief=None, pos=(0.08, 0, 0.04), scale=0.08, text=TTLocalizer.PhotoGameFilm, text_fg=(0.95, 0.95, 0, 1), text_shadow=(0, 0, 0, 1))
self.music = base.loader.loadMusic('phase_4/audio/bgm/MG_cannon_game.ogg')
self.sndPhotoMove = base.loader.loadSfx('phase_4/audio/sfx/MG_cannon_adjust.ogg')
@ -627,7 +632,7 @@ class DistributedPhotoGame(DistributedMinigame, PhotoGameBase.PhotoGameBase):
hMove = hMDegree * (1.0 - ZOOMRATIO)
vMove = vMDegree * (1.0 - ZOOMRATIO)
self.currentFov = self.zoomFov
base.camLens.setFov(self.zoomFov)
base.camLens.setMinFov(self.zoomFov/ (4/3))
self.blackoutNode.show()
self.swivel.setHpr(self.swivel, hMove * -self.zoomFlip, vMove * self.zoomFlip, 0)
else:
@ -635,7 +640,7 @@ class DistributedPhotoGame(DistributedMinigame, PhotoGameBase.PhotoGameBase):
hMove = hMDegree * ((1.0 - ZOOMRATIO) / ZOOMRATIO)
vMove = vMDegree * ((1.0 - ZOOMRATIO) / ZOOMRATIO)
self.currentFov = self.outFov
base.camLens.setFov(self.outFov)
base.camLens.setMinFov(self.outFov/(4/3))
self.blackoutNode.hide()
self.swivel.setHpr(self.swivel, hMove * self.zoomFlip, vMove * -self.zoomFlip, 0)
@ -664,7 +669,7 @@ class DistributedPhotoGame(DistributedMinigame, PhotoGameBase.PhotoGameBase):
hMove = hMDegree * (1.0 - ZOOMRATIO)
vMove = vMDegree * (1.0 - ZOOMRATIO)
self.currentFov = self.zoomFov
base.camLens.setFov(self.zoomFov)
base.camLens.setMinFov(self.zoomFov/(4/3))
self.blackoutNode.show()
orgQuat = self.swivel.getQuat()
self.swivel.setHpr(self.swivel, hMove * -self.zoomFlip, vMove * self.zoomFlip, 0)
@ -890,7 +895,7 @@ class DistributedPhotoGame(DistributedMinigame, PhotoGameBase.PhotoGameBase):
if not base.config.GetBool('endless-cannon-game', 0):
self.timer.show()
self.timer.countdown(self.data['TIME'], self.__gameTimerExpired)
self.filmPanel.reparentTo(aspect2d)
self.filmPanel.reparentTo(base.a2dTopRight)
self.scoreMult = MinigameGlobals.getScoreMult(self.cr.playGame.hood.id)
self.clockStopTime = None
self.gameFSM.request('aim')
@ -900,8 +905,8 @@ class DistributedPhotoGame(DistributedMinigame, PhotoGameBase.PhotoGameBase):
self.generateAssignments(assignmentTemplates)
self.generateAssignmentPanels()
self.scorePanel = self.makeScoreFrame()
self.scorePanel.reparentTo(aspect2d)
self.scorePanel.setPos(1.05, 0.0, -0.725)
self.scorePanel.reparentTo(base.a2dBottomRight)
self.scorePanel.setPos(-0.3, 0, 0.3)
self.updateAssignmentPanels()
for subject in self.subjects:
subject.useLOD(1000)

View File

@ -315,7 +315,9 @@ class DistributedRaceGame(DistributedMinigame):
diceButton = DirectButton(image=(button,
button_down,
button_ro,
None), relief=None, pos=(-0.9 + (i - 1) * 0.2, 0.0, -0.85), scale=0.25, command=self.handleInputChoice, extraArgs=[i])
None), relief=None, pos = (0.43 + ((i-1)*0.2), 0.0, 0.15),
parent = base.a2dBottomLeft, scale=0.25,
command=self.handleInputChoice, extraArgs=[i])
diceButton.hide()
self.diceButtonList.append(diceButton)

View File

@ -134,7 +134,7 @@ class DistributedRingGame(DistributedMinigame):
camera.reparentTo(render)
camera.reparentTo(base.localAvatar)
camera.setPosHpr(0, self.CAMERA_Y + self.TOON_Y, 0, 0, 0, 0)
base.camLens.setFov(80)
base.camLens.setMinFov(80/ (4/3))
base.camLens.setFar(self.FAR_PLANE_DIST)
base.setBackgroundColor(self.WATER_COLOR)
self.__fog = Fog('ringGameFog')
@ -192,7 +192,7 @@ class DistributedRingGame(DistributedMinigame):
self.__removeAllToonDropShadows()
render.clearFog()
base.camLens.setFar(ToontownGlobals.DefaultCameraFar)
base.camLens.setFov(ToontownGlobals.DefaultCameraFov)
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4/3))
base.setBackgroundColor(ToontownGlobals.DefaultBackgroundColor)
self.arrowKeys.destroy()
del self.arrowKeys

View File

@ -704,7 +704,7 @@ class DistributedTargetGame(DistributedMinigame):
self.__removeAllToonDropShadows()
render.clearFog()
base.camLens.setFar(ToontownGlobals.DefaultCameraFar)
base.camLens.setFov(ToontownGlobals.DefaultCameraFov)
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4/3))
camera.setHpr(0, 90, 0)
base.setBackgroundColor(ToontownGlobals.DefaultBackgroundColor)
self.arrowKeys.destroy()

View File

@ -294,7 +294,7 @@ class DistributedTugOfWarGame(DistributedMinigame):
self.setupTrack.finish()
del self.setupTrack
self.setupTrack = None
base.camLens.setFov(ToontownGlobals.DefaultCameraFov)
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4/3))
base.camLens.setNearFar(ToontownGlobals.DefaultCameraNear, ToontownGlobals.DefaultCameraFar)
NametagGlobals.setGlobalNametagScale(1.0)
if self.arrowKeys:
@ -351,7 +351,7 @@ class DistributedTugOfWarGame(DistributedMinigame):
lerpDur = 8
self.introTrack = LerpPosHprInterval(camera, lerpDur, pos=gameCamPos, hpr=gameCamHpr, blendType='easeInOut', name=self.uniqueName('introLerpCameraPos'))
self.introTrack.start()
base.camLens.setFov(60 + 2 * self.numPlayers)
base.camLens.setMinFov(60 + 2 * self.numPlayers / (4/3))
base.camLens.setFar(450.0)
return

View File

@ -71,7 +71,7 @@ class Purchase(PurchaseBase):
purchaseModels.find('**/PurchScrn_BTN_RLVR'),
purchaseModels.find('**/PurchScrn_BTN_UP')), text=TTLocalizer.GagShopBackToPlayground, text_fg=(0, 0.1, 0.7, 1), text_scale=0.05, text_pos=(0, 0.015, 0), image3_color=Vec4(0.6, 0.6, 0.6, 1), text3_fg=Vec4(0, 0, 0.4, 1), command=self.__handleBackToPlayground)
self.timer = ToontownTimer.ToontownTimer()
self.timer.reparentTo(self.frame)
self.timer.hide()
self.timer.posInTopRightCorner()
numAvs = 0
count = 0
@ -119,16 +119,22 @@ class Purchase(PurchaseBase):
self.foreground = loader.loadModel('phase_3.5/models/modules/TT_A1')
self.foreground.setPos(12.5, -20, -5.5)
self.foreground.setHpr(180, 0, 0)
self.backgroundL = loader.loadModel('phase_3.5/models/modules/TT_A1')
self.backgroundL = self.foreground.copyTo(hidden)
self.backgroundL.setPos(-12.5, -25, -5)
self.backgroundL.setHpr(180, 0, 0)
self.backgroundR = self.backgroundL.copyTo(hidden)
self.backgroundR.setPos(20, -25, -5)
self.backgroundR.setPos(25, -25, -5)
streets = loader.loadModel('phase_3.5/models/modules/street_modules')
sidewalk = streets.find('**/street_sidewalk_40x40')
self.sidewalk = sidewalk.copyTo(hidden)
self.sidewalk.setPos(-20, -25, -5.5)
self.sidewalk.setColor(0.9, 0.6, 0.4)
self.sidewalkR = sidewalk.copyTo(hidden)
self.sidewalkL = sidewalk.copyTo(hidden)
self.sidewalkL.setPos(-40, -25, -5.5)
self.sidewalkL.setColor(0.9, 0.6, 0.4)
self.sidewalkR.setPos(0, -25, -5.5)
self.sidewalkR.setColor(0.9, 0.6, 0.4)
streets.removeNode()
doors = loader.loadModel('phase_4/models/modules/doors')
door = doors.find('**/door_single_square_ur_door')
@ -164,6 +170,7 @@ class Purchase(PurchaseBase):
self.backToPlayground.destroy()
del self.backToPlayground
self.timer.stop()
self.timer.destroy()
del self.timer
for counter in self.counters:
counter.destroy()
@ -203,6 +210,10 @@ class Purchase(PurchaseBase):
self.convertingVotesToBeansLabel.removeNode()
self.rewardDoubledJellybeanLabel.removeNode()
del self.convertingVotesToBeansLabel
self.sidewalkL.removeNode()
self.sidewalkR.removeNode()
del self.sidewalkL
del self.sidewalkR
del self.rewardDoubledJellybeanLabel
def showStatusText(self, text):
@ -278,15 +289,17 @@ class Purchase(PurchaseBase):
self.counters = []
self.totalCounters = []
camera.reparentTo(render)
base.camLens.setFov(ToontownGlobals.DefaultCameraFov)
camera.setPos(0, 16.0, 2.0)
camera.lookAt(0, 0, 0.75)
base.transitions.irisIn(0.4)
base.camLens.setMinFov(60/(4/3))
self.title.reparentTo(aspect2d)
self.foreground.reparentTo(render)
self.backgroundL.reparentTo(render)
self.backgroundR.reparentTo(render)
self.sidewalk.reparentTo(render)
self.sidewalkL.reparentTo(render)
self.sidewalkR.reparentTo(render)
self.door.reparentTo(render)
size = 20
z = -2.5
@ -557,6 +570,7 @@ class Purchase(PurchaseBase):
totalDelay += COUNT_DOWN_RATE
def exitReward(self):
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4./3.))
self.ignore('clientCleanup')
taskMgr.remove('countUpTask')
taskMgr.remove('countVotesUpTask')
@ -585,6 +599,8 @@ class Purchase(PurchaseBase):
self.backgroundL.reparentTo(hidden)
self.backgroundR.reparentTo(hidden)
self.sidewalk.reparentTo(hidden)
self.sidewalkL.reparentTo(hidden)
self.sidewalkR.reparentTo(hidden)
self.door.reparentTo(hidden)
self.title.reparentTo(self.frame)
self.convertingVotesToBeansLabel.hide()
@ -619,6 +635,7 @@ class Purchase(PurchaseBase):
return
if not self.tutorialMode:
if not config.GetBool('disable-purchase-timer', 0):
self.timer.show()
self.timer.countdown(self.remain, self.__timerExpired)
if config.GetBool('metagame-disable-playAgain', 0):
if self.metagameRound > -1:

View File

@ -171,7 +171,7 @@ class DistributedPartyTrampolineActivity(DistributedPartyActivity):
self.quitEarlyButton.stash()
self.flashText = OnscreenText(text='', pos=(0.0, -0.45), scale=0.2, fg=(1.0, 1.0, 0.65, 1.0), align=TextNode.ACenter, font=ToontownGlobals.getSignFont(), mayChange=True)
self.timer = PartyUtils.getNewToontownTimer()
self.timer.reparentTo(self.screenPlaneElements)
self.timer.posInTopRightCorner()
return
def loadSounds(self):

View File

@ -10,7 +10,10 @@ class QuestChoiceGui(DirectFrame):
notify = DirectNotifyGlobal.directNotify.newCategory('QuestChoiceGui')
def __init__(self):
DirectFrame.__init__(self, relief=None, geom=DGG.getDefaultDialogGeom(), geom_color=Vec4(0.8, 0.6, 0.4, 1), geom_scale=(1.85, 1, 0.9), geom_hpr=(0, 0, -90), pos=(-0.85, 0, 0))
DirectFrame.__init__(self, relief=None, parent = base.a2dLeftCenter,
geom=DGG.getDefaultDialogGeom(),
geom_color=Vec4(0.8, 0.6, 0.4, 1), geom_scale=(1.85, 1, 0.9),
geom_hpr=(0, 0, -90), pos = (0.5,0,0),)
self.initialiseoptions(QuestChoiceGui)
self.questChoicePosters = []
guiButton = loader.loadModel('phase_3/models/gui/quit_button')

View File

@ -59,8 +59,16 @@ class QuestMap(DirectFrame):
self.marker['image'] = iconNP
self.marker.setScale(0.05)
iconNP.removeNode()
self.mapOpenButton = DirectButton(image=(gui.find('**/tt_t_gui_qst_mapClose'), gui.find('**/tt_t_gui_qst_mapClose'), gui.find('**/tt_t_gui_qst_mapTryToOpen')), relief=None, pos=(1.25, 0, -0.63), scale=0.205, command=self.show)
self.mapCloseButton = DirectButton(image=(gui.find('**/tt_t_gui_qst_mapOpen'), gui.find('**/tt_t_gui_qst_mapOpen'), gui.find('**/tt_t_gui_qst_mapTryToClose')), relief=None, pos=(1.25, 0, -0.63), scale=0.205, command=self.hide)
self.mapOpenButton = DirectButton(image=(gui.find('**/tt_t_gui_qst_mapClose'),
gui.find('**/tt_t_gui_qst_mapClose'),
gui.find('**/tt_t_gui_qst_mapTryToOpen')),
relief=None, pos=(-0.1, 0, 0.4),
parent=base.a2dBottomRight, scale=0.205,
command=self.show)
self.mapCloseButton = DirectButton(image=(gui.find('**/tt_t_gui_qst_mapOpen'),
gui.find('**/tt_t_gui_qst_mapOpen'),
gui.find('**/tt_t_gui_qst_mapTryToClose')),
relief=None, pos=(-0.1, 0, 0.4), parent=base.a2dBottomRight, scale=0.205, command=self.hide)
self.mapOpenButton.hide()
self.mapCloseButton.hide()
gui.removeNode()

View File

@ -538,6 +538,7 @@ class DistributedVehicle(DistributedSmoothNode.DistributedSmoothNode, Kart.Kart,
self.toon.loop('neutral')
self.toon.startSmooth()
NametagGlobals.setOnscreenChatForced(0)
base.camLens.setMinFov(ToontownGlobals.DefaultCameraFov/(4/3))
return
def doHeadScale(self, model, scale):
@ -606,9 +607,9 @@ class DistributedVehicle(DistributedSmoothNode.DistributedSmoothNode, Kart.Kart,
if not self.speedometer:
cm = CardMaker('speed')
cm.setFrame(-0.5, 0.5, -0.5, 0.5)
self.speedometerImages = aspect2d.attachNewNode('SpeedometerImages')
self.speedometerImages = base.a2dBottomRight.attachNewNode('SpeedometerImages')
self.speedometerImages.setTransparency(True)
self.speedometerImages.setPos(1.24, 0.0, -0.98)
self.speedometerImages.setPos(-0.1, 0.0, 0.03)
self.speedometerImages.setScale(0.75)
m = loader.loadModel('phase_6/models/karting/speedometer')
if self.getBodyColor() == InvalidEntry:
@ -632,7 +633,10 @@ class DistributedVehicle(DistributedSmoothNode.DistributedSmoothNode, Kart.Kart,
c = (bodyColor + Vec4(1, 1, 1, 1)) / 2.0
c.setW(1.0)
self.speedometerImages.attachNewNode(m.find('**/*ring').node()).setColorScale(c)
self.speedometer = DirectLabel(relief=None, pos=(1.24, 0.0, -0.98), text=str(0), text_scale=0.18, text_fg=bodyColor, text_pos=(-0.04, 0.02, 0), text_font=ToontownGlobals.getSignFont())
self.speedometer = DirectLabel(relief=None, pos = (-0.1, 0.0, 0.03), text=str(0),
text_scale=0.18, text_fg=bodyColor,
text_pos=(-0.04, 0.02, 0), text_font=ToontownGlobals.getSignFont())
self.speedometer.reparentTo(base.a2dBottomRight)
else:
self.showSpeedometer()
self.arrowVert = 0
@ -680,13 +684,13 @@ class DistributedVehicle(DistributedSmoothNode.DistributedSmoothNode, Kart.Kart,
def startTurbo(self):
newCameraPos = Point3(0, -25, 16)
newCameraFov = 90
newCameraFov = 70
turboDuration = 3
startFov = base.camLens.getFov().getX()
startFov = ToontownGlobals.DefaultCameraFov/(4/3)
if self.cameraTrack:
self.cameraTrack.pause()
cameraZoomIn = Parallel(LerpPosInterval(camera, 2, newCameraPos), LerpFunc(base.camLens.setFov, fromData=startFov, toData=newCameraFov, duration=2))
cameraToNormal = Parallel(LerpPosInterval(camera, 1, Point3(0, -33, 16), newCameraPos), LerpFunc(base.camLens.setFov, fromData=newCameraFov, toData=ToontownGlobals.DefaultCameraFov, duration=1))
cameraZoomIn = Parallel(LerpPosInterval(camera, 2, newCameraPos), LerpFunc(base.camLens.setMinFov, fromData=startFov, toData=newCameraFov, duration=2))
cameraToNormal = Parallel(LerpPosInterval(camera, 1, Point3(0, -33, 16), newCameraPos), LerpFunc(base.camLens.setMinFov, fromData=newCameraFov, toData=startFov, duration=1))
self.cameraTrack = Sequence(Func(self.turboStartSfx.play), cameraZoomIn, Func(lambda : self.setTurbo(True)), Wait(turboDuration), Func(self.__stopTurbo), cameraToNormal)
self.cameraTrack.start()
@ -1098,7 +1102,7 @@ class DistributedVehicle(DistributedSmoothNode.DistributedSmoothNode, Kart.Kart,
self.imHitMult = level
if hasattr(self, 'cameraTrack') and self.cameraTrack:
self.cameraTrack.pause()
cameraToNormal = Parallel(LerpPosInterval(camera, 0.05, Point3(0, -33, 16), startPos=camera.getPos()), LerpFunc(base.camLens.setFov, fromData=base.camLens.getFov()[0], toData=ToontownGlobals.DefaultCameraFov, duration=0.05))
cameraToNormal = Parallel(LerpPosInterval(camera, 0.05, Point3(0, -33, 16), startPos=camera.getPos()), LerpFunc(base.camLens.setMinFov, fromData=base.camLens.getFov()[0], toData=ToontownGlobals.DefaultCameraFov/(4/3), duration=0.05))
cameraToNormal.start()
self.__stopTurbo()
self.stopped = True

View File

@ -1,7 +1,7 @@
from direct.directnotify import DirectNotifyGlobal
from panda3d.core import *
from panda3d.physics import *
from direct.gui.DirectGui import *
from panda3d.core import *
from direct.interval.IntervalGlobal import *
from otp.avatar import ShadowCaster
from toontown.racing.KartDNA import *

View File

@ -111,8 +111,8 @@ class RaceGUI:
return
def initRaceMode(self):
self.mapScene = self.raceModeRoot.attachNewNode('MapScene')
self.mapScene.setPos(1.1, 0, 0.75)
self.mapScene = base.a2dTopRight.attachNewNode('MapScene')
self.mapScene.setPos(-0.2, 0, -0.2)
self.mapScene.setScale(0.25, 0.001, 0.25)
maxT = self.race.curve.getMaxT()
pt = Vec3(0, 0, 0)
@ -132,19 +132,25 @@ class RaceGUI:
self.faceStartPos = Vec3(-0.8, 0, 0.93)
self.faceEndPos = Vec3(0.8, 0, 0.93)
self.placeLabelNum = DirectLabel(relief=None, pos=TTLocalizer.RGUIplaceLabelNumPos, text='1', text_scale=0.35, text_fg=(0.95, 0.95, 0, 1), text_font=ToontownGlobals.getSignFont())
self.placeLabelNum.reparentTo(self.raceModeRoot)
self.directObjList.append(self.placeLabelNum)
self.placeLabelNum.reparentTo(base.a2dBottomLeft)
self.directObjList.append(base.a2dBottomLeft)
self.placeLabelStr = DirectLabel(relief=None, pos=TTLocalizer.RGUIplaceLabelStrPos, text=TTLocalizer.KartRace_FirstSuffix, text_scale=0.1, text_fg=(0.95, 0.95, 0, 1), text_font=ToontownGlobals.getSignFont())
self.placeLabelStr.reparentTo(self.raceModeRoot)
self.placeLabelStr.reparentTo(base.a2dBottomLeft)
self.directObjList.append(self.placeLabelStr)
self.lapLabel = DirectLabel(relief=None, pos=(1.1, 0, 0.45), text='1/' + str(self.race.lapCount), text_scale=0.1, text_fg=(0.95, 0.95, 0, 1), text_font=ToontownGlobals.getSignFont())
self.lapLabel.reparentTo(self.raceModeRoot)
self.lapLabel = DirectLabel(relief=None, pos = (-0.22, 0, -0.5),
text='1/' + str(self.race.lapCount),
text_scale=0.1, text_fg=(0.95, 0.95, 0, 1),
text_font=ToontownGlobals.getSignFont())
self.lapLabel.reparentTo(base.a2dTopRight)
self.directObjList.append(self.lapLabel)
self.photoFinishLabel = DirectLabel(relief=None, pos=(0, 0, -0.1), text=TTLocalizer.KartRace_PhotoFinish, text_scale=TTLocalizer.RGUIphotoFinish, text_fg=(0.95, 0.95, 0, 1), text_font=ToontownGlobals.getSignFont())
self.photoFinishLabel.hide()
self.directObjList.append(self.photoFinishLabel)
self.wrongWayLabel = DirectLabel(relief=None, pos=(1.1, 0, 0.85), text=TTLocalizer.KartRace_WrongWay, text_scale=0.1, text_fg=(0.95, 0, 0, 1), text_font=ToontownGlobals.getSignFont())
self.wrongWayLabel.reparentTo(self.raceModeRoot)
self.wrongWayLabel = DirectLabel(relief=None, pos = (-0.22,0,-0.2),
text=TTLocalizer.KartRace_WrongWay,
text_scale=0.1, text_fg=(0.95, 0, 0, 1),
text_font=ToontownGlobals.getSignFont())
self.wrongWayLabel.reparentTo(base.a2dTopRight)
self.directObjList.append(self.wrongWayLabel)
self.wrongWayLabel.setColorScale(Vec4(1, 1, 1, 0))
self.wrongWaySeq = Sequence(self.wrongWayLabel.colorScaleInterval(0.25, colorScale=Vec4(1, 1, 1, 1), startColorScale=Vec4(1, 1, 1, 0)), self.wrongWayLabel.colorScaleInterval(0.25, colorScale=Vec4(1, 1, 1, 0), startColorScale=Vec4(1, 1, 1, 1)))
@ -166,7 +172,10 @@ class RaceGUI:
self.cardMaker.setName('GagIndicator')
self.cardMaker.setFrame(-0.5, 0.5, -0.5, 0.5)
self.cardMaker.setColor(1, 1, 1, 1)
self.gagPanel = DirectFrame(parent=self.raceModeRoot, relief=None, image=loader.loadModel('phase_6/models/karting/gag_panel'), image_scale=0.25, pos=(-1.13, 0, -0.5))
self.gagPanel = DirectFrame(parent=base.a2dBottomLeft, relief=None,
image=loader.loadModel('phase_6/models/karting/gag_panel'),
image_scale=0.25,
pos = (0.2,0,0.6))
self.directObjList.append(self.gagPanel)
self.gag = self.gagPanel.attachNewNode('gag')
self.gag.setScale(0.2)

View File

@ -39,9 +39,16 @@ class DisplaySettingsDialog(DirectFrame, StateData.StateData):
self.apiChanged = 0
screenSizes = [(640, 480),
(800, 600),
(1280, 720),
(1024, 768),
(1440, 900),
(1280, 1024),
(1600, 1200)]
(1920, 1080),
(1600, 1200),
(2560, 1440),
(4096, 2160)
]
displayInfo = base.pipe.getDisplayInformation()
for i in range(displayInfo.getTotalDisplayModes()):
width = displayInfo.getDisplayModeWidth(i)

View File

@ -123,8 +123,18 @@ class ShtikerBook(DirectFrame, StateData.StateData):
self['image'] = bookModel.find('**/big_book')
self['image_scale'] = (2, 1, 1.5)
self.resetFrameSize()
self.bookOpenButton = DirectButton(image=(bookModel.find('**/BookIcon_CLSD'), bookModel.find('**/BookIcon_OPEN'), bookModel.find('**/BookIcon_RLVR')), relief=None, pos=(1.175, 0, -0.83), scale=0.305, command=self.__open)
self.bookCloseButton = DirectButton(image=(bookModel.find('**/BookIcon_OPEN'), bookModel.find('**/BookIcon_CLSD'), bookModel.find('**/BookIcon_RLVR2')), relief=None, pos=(1.175, 0, -0.83), scale=0.305, command=self.__close)
self.bookOpenButton = DirectButton(image=(bookModel.find('**/BookIcon_CLSD'),
bookModel.find('**/BookIcon_OPEN'),
bookModel.find('**/BookIcon_RLVR')),
relief=None, pos=(-0.16, 0, 0.17),
parent=base.a2dBottomRight,
scale=0.305, command=self.__open)
self.bookCloseButton = DirectButton(image=(bookModel.find('**/BookIcon_OPEN'),
bookModel.find('**/BookIcon_CLSD'),
bookModel.find('**/BookIcon_RLVR2')),
relief=None, pos=(-0.16, 0, 0.17),
parent = base.a2dBottomRight,
scale=0.305, command=self.__close)
self.bookOpenButton.hide()
self.bookCloseButton.hide()
self.nextArrow = DirectButton(parent=self, relief=None, image=(bookModel.find('**/arrow_button'), bookModel.find('**/arrow_down'), bookModel.find('**/arrow_rollover')), scale=(0.1, 0.1, 0.1), pos=(0.838, 0, -0.661), command=self.__pageChange, extraArgs=[1])

View File

@ -68,7 +68,12 @@ class GroupPanel(DirectObject.DirectObject):
frameZPos = 0.0278943
quitButtonZPos = -0.30366
guiButtons = loader.loadModel('phase_9/models/gui/tt_m_gui_brd_status')
self.frame = DirectFrame(relief=None, image=bgImage, image_scale=(0.5, 1, 0.5), image_pos=(0, 0, bgImageZPos), textMayChange=1, pos=(-1.044, 0, frameZPos))
self.frame = DirectFrame(relief=None,
parent = base.a2dLeftCenter,
image=bgImage, image_scale=(0.5, 1, 0.5),
image_pos=(0, 0, bgImageZPos),
textMayChange=1,
pos = (0.32, 0, frameZPos))
self.frameBounds = self.frame.getBounds()
leaveButtonGui = loader.loadModel('phase_3.5/models/gui/tt_m_gui_brd_leaveBtn')
leaveImageList = (leaveButtonGui.find('**/tt_t_gui_brd_leaveUp'),
@ -90,8 +95,20 @@ class GroupPanel(DirectObject.DirectObject):
arrowGui = loader.loadModel('phase_9/models/gui/tt_m_gui_brd_arrow')
hideImageList = (arrowGui.find('**/tt_t_gui_brd_arrow_up'), arrowGui.find('**/tt_t_gui_brd_arrow_down'), arrowGui.find('**/tt_t_gui_brd_arrow_hover'))
showImageList = (arrowGui.find('**/tt_t_gui_brd_arrow_up'), arrowGui.find('**/tt_t_gui_brd_arrow_down'), arrowGui.find('**/tt_t_gui_brd_arrow_hover'))
self.hideButton = DirectButton(relief=None, text_pos=(0, 0.15), text_scale=0.06, text_align=TextNode.ALeft, text_fg=Vec4(0, 0, 0, 1), text_shadow=Vec4(1, 1, 1, 1), image=hideImageList, image_scale=(-0.35, 1, 0.5), pos=(-1.3081, 0, 0.03), scale=1.05, command=self.hide)
self.showButton = DirectButton(relief=None, text=('', TTLocalizer.BoardingGroupShow, TTLocalizer.BoardingGroupShow), text_pos=(0.03, 0), text_scale=0.06, text_align=TextNode.ALeft, text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1), image=showImageList, image_scale=(0.35, 1, 0.5), pos=(-1.3081, 0, 0.03), scale=1.05, command=self.show)
self.hideButton = DirectButton(relief=None, parent = base.a2dLeftCenter, text_pos=(0, 0.15),
text_scale=0.06,
text_align=TextNode.ALeft, text_fg=Vec4(0, 0, 0, 1),
text_shadow=Vec4(1, 1, 1, 1), image=hideImageList,
image_scale=(-0.35, 1, 0.5),
pos=(-1.3081, 0, 0.03), scale=1.05, command=self.hide)
self.showButton = DirectButton(relief=None, parent = base.a2dLeftCenter,
text=('', TTLocalizer.BoardingGroupShow,
TTLocalizer.BoardingGroupShow),
text_pos=(0.03, 0), text_scale=0.06,
text_align=TextNode.ALeft, text_fg=Vec4(1, 1, 1, 1),
text_shadow=Vec4(0, 0, 0, 1), image=showImageList,
image_scale=(0.35, 1, 0.5), pos=(-1.3081, 0, 0.03),
scale=1.05, command=self.show)
self.showButton.hide()
self.frame.show()
self.__makeAvatarNameScrolledList()

View File

@ -92,7 +92,19 @@ class LocalToon(DistributedToon.DistributedToon, LocalAvatar.LocalAvatar):
newScale = oldScale = 0.8
if WantNewsPage:
newScale = oldScale * ToontownGlobals.NewsPageScaleAdjust
self.bFriendsList = DirectButton(image=(friendsButtonNormal, friendsButtonPressed, friendsButtonRollover), relief=None, pos=(1.192, 0, 0.875), scale=newScale, text=('', TTLocalizer.FriendsListLabel, TTLocalizer.FriendsListLabel), text_scale=0.09, text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1), text_pos=(0, -0.18), text_font=ToontownGlobals.getInterfaceFont(), command=self.sendFriendsListEvent)
self.bFriendsList = DirectButton(image=(friendsButtonNormal, friendsButtonPressed,
friendsButtonRollover),
relief=None,
pos=(-0.14, 0, -0.13),
parent=base.a2dTopRight,
scale=newScale,
text=('', TTLocalizer.FriendsListLabel,
TTLocalizer.FriendsListLabel),
text_scale=0.09, text_fg=Vec4(1, 1, 1, 1),
text_shadow=Vec4(0, 0, 0, 1),
text_pos=(0, -0.18),
text_font=ToontownGlobals.getInterfaceFont(),
command=self.sendFriendsListEvent)
self.bFriendsList.hide()
self.friendsListButtonActive = 0
self.friendsListButtonObscured = 0
@ -369,11 +381,14 @@ class LocalToon(DistributedToon.DistributedToon, LocalAvatar.LocalAvatar):
self.book.setPage(self.mapPage, enterPage=False)
self.laffMeter = LaffMeter.LaffMeter(self.style, self.hp, self.maxHp)
self.laffMeter.setAvatar(self)
self.laffMeter.reparentTo(base.a2dBottomLeft)
self.laffMeter.setScale(0.075)
if self.style.getAnimal() == 'monkey':
self.laffMeter.setPos(-1.18, 0.0, -0.87)
# The monkey laff meter is slightly bigger because the
# ears hang off to the side, so slide it over to the right
self.laffMeter.setPos(0.15, 0., 0.13)
else:
self.laffMeter.setPos(-1.2, 0.0, -0.87)
self.laffMeter.setPos(0.13, 0., 0.13)
self.laffMeter.stop()
self.questMap = QuestMap.QuestMap(self)
self.questMap.stop()
@ -961,7 +976,8 @@ class LocalToon(DistributedToon.DistributedToon, LocalAvatar.LocalAvatar):
if self.__furnitureGui:
return
guiModels = loader.loadModel('phase_5.5/models/gui/house_design_gui')
self.__furnitureGui = DirectFrame(relief=None, pos=(-1.19, 0.0, 0.33), scale=0.04, image=guiModels.find('**/attic'))
self.__furnitureGui = DirectFrame(relief=None, pos=(0.12, 0.00, -0.66),
scale=0.04, image=guiModels.find('**/attic'))
DirectLabel(parent=self.__furnitureGui, relief=None, image=guiModels.find('**/rooftile'))
bMoveStartUp = guiModels.find('**/bu_attic/bu_attic_up')
bMoveStartDown = guiModels.find('**/bu_attic/bu_attic_down')
@ -1009,16 +1025,16 @@ class LocalToon(DistributedToon.DistributedToon, LocalAvatar.LocalAvatar):
rgba = VBase4(0.71589, 0.784547, 0.974, 1.0)
white = VBase4(1.0, 1.0, 1.0, 1.0)
icon.setColor(white)
claraXPos = ClaraBaseXPos
claraXPos = 0.12
newScale = oldScale = 0.5
newPos = (claraXPos, 1.0, 0.37)
newPos = (claraXPos, 0, -0.63)
if WantNewsPage:
claraXPos += AdjustmentForNewsButton
oldPos = ((claraXPos, 1.0, 0.37),)
newScale = oldScale * ToontownGlobals.NewsPageScaleAdjust
newPos = (claraXPos - 0.1, 1.0, 0.45)
newPos = (claraXPos - 0.1, 0, -0.13)
self.__clarabelleButton = DirectButton(relief=None, image=circle, text='', text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_scale=0.1, text_pos=(-1.06, 1.06), text_font=ToontownGlobals.getInterfaceFont(), pos=newPos, scale=newScale, command=self.__handleClarabelleButton)
self.__clarabelleButton.reparentTo(aspect2d, DGG.BACKGROUND_SORT_INDEX - 1)
self.__clarabelleButton.reparentTo(base.a2dTopRight, DGG.BACKGROUND_SORT_INDEX - 1)
button = self.__clarabelleButton.stateNodePath[0]
self.__clarabelleFlash = Sequence(LerpColorInterval(button, 2, white, blendType='easeInOut'), LerpColorInterval(button, 2, rgba, blendType='easeInOut'))
self.__clarabelleFlash.loop()
@ -1179,14 +1195,18 @@ class LocalToon(DistributedToon.DistributedToon, LocalAvatar.LocalAvatar):
if self.moveFurnitureButtonObscured <= 0:
if self.furnitureManager != None and self.furnitureDirector == self.doId:
self.loadFurnitureGui()
self.__furnitureGui.setPos(-1.16, 0, -0.03)
self.__furnitureGui.setPos(0.155,-0.6,-1.045)
self.__furnitureGui.setScale(0.06)
elif self.cr.furnitureManager != None:
self.showFurnitureGui()
if self.lerpFurnitureButton:
self.lerpFurnitureButton.finish()
self.lerpFurnitureButton = None
self.lerpFurnitureButton = self.__furnitureGui.posHprScaleInterval(pos=Point3(-1.19, 0.0, 0.33), hpr=Vec3(0.0, 0.0, 0.0), scale=Vec3(0.04, 0.04, 0.04), duration=1.0, blendType='easeInOut', name='lerpFurnitureButton')
self.lerpFurnitureButton = self.__furnitureGui.posHprScaleInterval(pos = Point3(0.12, 0.00, -0.66),
hpr=Vec3(0.0, 0.0, 0.0),
scale=Vec3(0.04, 0.04, 0.04),
duration=1.0, blendType='easeInOut',
name='lerpFurnitureButton')
self.lerpFurnitureButton.start()
if hasattr(self, 'inEstate') and self.inEstate:
self.loadGardeningGui()

View File

@ -43,7 +43,7 @@ def unloadAvatarDetail():
class ToonAvatarDetailPanel(DirectFrame):
notify = DirectNotifyGlobal.directNotify.newCategory('ToonAvatarDetailPanel')
def __init__(self, avId, avName, playerId = None, parent = aspect2dp, **kw):
def __init__(self, avId, avName, playerId = None, parent = base.a2dTopRight, **kw):
print('ToonAvatarDetailPanel %s' % playerId)
buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui')
gui = loader.loadModel('phase_3.5/models/gui/avatar_panel_gui')
@ -54,7 +54,7 @@ class ToonAvatarDetailPanel(DirectFrame):
self.playerInfo = None
if self.playerId:
self.playerInfo = base.cr.playerFriendsManager.playerId2Info.get(playerId)
optiondefs = (('pos', (0.525, 0.0, 0.525), None),
optiondefs = (('pos', (-0.8, 0.0, -0.5), None),
('scale', 0.5, None),
('relief', None, None),
('image', detailPanel, None),

View File

@ -54,7 +54,8 @@ class ToonAvatarPanel(AvatarPanelBase.AvatarPanelBase):
self.frame = DirectFrame(
image=gui.find('**/avatar_panel'),
relief=None,
pos=(1.1, 100, 0.525))
pos=(-0.22, 100, -0.47),
parent=base.a2dTopRight)
self.disabledImageColor = Vec4(1, 1, 1, 0.4)
self.text0Color = Vec4(1, 1, 1, 1)

View File

@ -41,7 +41,10 @@ class ToonTeleportPanel(DirectFrame):
notify = DirectNotifyGlobal.directNotify.newCategory('ToonTeleportPanel')
def __init__(self, avId, avName, avDisableName):
DirectFrame.__init__(self, pos=(0.3, 0.1, 0.65), image_color=ToontownGlobals.GlobalDialogColor, image_scale=(1.0, 1.0, 0.6), text='', text_wordwrap=13.5, text_scale=0.06, text_pos=(0.0, 0.18))
DirectFrame.__init__(self, pos = (-1, 0.1, -0.4), image_color=ToontownGlobals.GlobalDialogColor,
parent = base.a2dTopRight,
image_scale=(1.0, 1.0, 0.6), text='', text_wordwrap=13.5,
text_scale=0.06, text_pos=(0.0, 0.18))
messenger.send('releaseDirector')
self['image'] = DGG.getDefaultDialogGeom()
self.avId = avId

View File

@ -25,7 +25,7 @@ NametagReverse = False
TTCISCspeedChat = 0.055
TTCISCtopLevelOverlap = 0.0
TCMnormalButton = 0.06
TCMscButtonPos = (-1.129, 0, 0.928)
TCMscButtonPos = (0.2, 0, -0.07)
TCMscButton = 0.06
TCMwhisperFrame = 0.06
TCMwhisperButton = 0.05

View File

@ -1,7 +1,7 @@
from .ToontownGlobals import *
import math
from . import TTLocalizer
BattleCamFaceOffFov = 30.0
BattleCamFaceOffFov = 80.0
BattleCamFaceOffPos = Point3(0, -10, 4)
BattleCamDefaultPos = Point3(0, -8.6, 16.5)
BattleCamDefaultHpr = Vec3(0, -61, 0)

View File

@ -130,7 +130,8 @@ class TownBattle(StateData.StateData):
TownBattleToonPanel.TownBattleToonPanel(2),
TownBattleToonPanel.TownBattleToonPanel(3))
self.timer = ToontownTimer.ToontownTimer()
self.timer.setPos(1.182, 0, 0.842)
self.timer.reparentTo(base.a2dTopRight)
self.timer.setPos(-0.15, 0, -0.16)
self.timer.setScale(0.4)
self.timer.hide()
return