diff --git a/astron/darwin/astrond b/astron/darwin/astrond index c0d367d..293063d 100755 Binary files a/astron/darwin/astrond and b/astron/darwin/astrond differ diff --git a/otp/otpbase/OTPGlobals.py b/otp/otpbase/OTPGlobals.py index b9b59e5..f34f531 100644 --- a/otp/otpbase/OTPGlobals.py +++ b/otp/otpbase/OTPGlobals.py @@ -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 diff --git a/otp/otpbase/OTPTimer.py b/otp/otpbase/OTPTimer.py index 6e2a607..e383e00 100644 --- a/otp/otpbase/OTPTimer.py +++ b/otp/otpbase/OTPTimer.py @@ -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) diff --git a/toontown/battle/DistributedBattle.py b/toontown/battle/DistributedBattle.py index 1f43358..c9af80b 100644 --- a/toontown/battle/DistributedBattle.py +++ b/toontown/battle/DistributedBattle.py @@ -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))) diff --git a/toontown/battle/DistributedBattleBase.py b/toontown/battle/DistributedBattleBase.py index 9716ede..72f6921 100644 --- a/toontown/battle/DistributedBattleBase.py +++ b/toontown/battle/DistributedBattleBase.py @@ -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): diff --git a/toontown/battle/DistributedBattleBldg.py b/toontown/battle/DistributedBattleBldg.py index 3033041..4c6e663 100644 --- a/toontown/battle/DistributedBattleBldg.py +++ b/toontown/battle/DistributedBattleBldg.py @@ -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): diff --git a/toontown/building/DistributedBuilding.py b/toontown/building/DistributedBuilding.py index bf24ddc..bb7ebfe 100644 --- a/toontown/building/DistributedBuilding.py +++ b/toontown/building/DistributedBuilding.py @@ -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: diff --git a/toontown/building/ElevatorUtils.py b/toontown/building/ElevatorUtils.py index b64230a..a3bbe7f 100644 --- a/toontown/building/ElevatorUtils.py +++ b/toontown/building/ElevatorUtils.py @@ -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 diff --git a/toontown/catalog/CatalogNotifyDialog.py b/toontown/catalog/CatalogNotifyDialog.py index 53bdc6b..f0ecfa9 100644 --- a/toontown/catalog/CatalogNotifyDialog.py +++ b/toontown/catalog/CatalogNotifyDialog.py @@ -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)) diff --git a/toontown/catalog/CatalogScreen.py b/toontown/catalog/CatalogScreen.py index 7b9e3c9..64afa7a 100644 --- a/toontown/catalog/CatalogScreen.py +++ b/toontown/catalog/CatalogScreen.py @@ -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) diff --git a/toontown/chat/TTChatInputSpeedChat.py b/toontown/chat/TTChatInputSpeedChat.py index 27434db..6e7ea3e 100644 --- a/toontown/chat/TTChatInputSpeedChat.py +++ b/toontown/chat/TTChatInputSpeedChat.py @@ -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 diff --git a/toontown/chat/ToontownChatManager.py b/toontown/chat/ToontownChatManager.py index 579aa83..05ff60f 100644 --- a/toontown/chat/ToontownChatManager.py +++ b/toontown/chat/ToontownChatManager.py @@ -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) diff --git a/toontown/coghq/DistributedGolfGreenGame.py b/toontown/coghq/DistributedGolfGreenGame.py index a9aa3bf..6bcdd20 100644 --- a/toontown/coghq/DistributedGolfGreenGame.py +++ b/toontown/coghq/DistributedGolfGreenGame.py @@ -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) diff --git a/toontown/coghq/DistributedLevelBattle.py b/toontown/coghq/DistributedLevelBattle.py index e9e99b2..3916f10 100644 --- a/toontown/coghq/DistributedLevelBattle.py +++ b/toontown/coghq/DistributedLevelBattle.py @@ -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)) diff --git a/toontown/estate/houseDesign.py b/toontown/estate/houseDesign.py index 162da33..49af4b3 100644 --- a/toontown/estate/houseDesign.py +++ b/toontown/estate/houseDesign.py @@ -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') diff --git a/toontown/friends/FriendInviter.py b/toontown/friends/FriendInviter.py index 1909e9c..e044c8b 100644 --- a/toontown/friends/FriendInviter.py +++ b/toontown/friends/FriendInviter.py @@ -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 diff --git a/toontown/friends/FriendsListPanel.py b/toontown/friends/FriendsListPanel.py index 24b79f2..c270215 100644 --- a/toontown/friends/FriendsListPanel.py +++ b/toontown/friends/FriendsListPanel.py @@ -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'), diff --git a/toontown/login/AvatarChooser.py b/toontown/login/AvatarChooser.py index 5c21235..3143e0a 100644 --- a/toontown/login/AvatarChooser.py +++ b/toontown/login/AvatarChooser.py @@ -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() diff --git a/toontown/makeatoon/MakeAToon.py b/toontown/makeatoon/MakeAToon.py index a42bbdc..cb96b8e 100644 --- a/toontown/makeatoon/MakeAToon.py +++ b/toontown/makeatoon/MakeAToon.py @@ -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() diff --git a/toontown/minigame/DistributedCannonGame.py b/toontown/minigame/DistributedCannonGame.py index 8b75fac..8929335 100644 --- a/toontown/minigame/DistributedCannonGame.py +++ b/toontown/minigame/DistributedCannonGame.py @@ -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 diff --git a/toontown/minigame/DistributedCatchGame.py b/toontown/minigame/DistributedCatchGame.py index 6803a4c..d53389b 100644 --- a/toontown/minigame/DistributedCatchGame.py +++ b/toontown/minigame/DistributedCatchGame.py @@ -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) diff --git a/toontown/minigame/DistributedDivingGame.py b/toontown/minigame/DistributedDivingGame.py index aaa9269..dc5d190 100644 --- a/toontown/minigame/DistributedDivingGame.py +++ b/toontown/minigame/DistributedDivingGame.py @@ -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') diff --git a/toontown/minigame/DistributedPatternGame.py b/toontown/minigame/DistributedPatternGame.py index 286ea7e..9af5922 100644 --- a/toontown/minigame/DistributedPatternGame.py +++ b/toontown/minigame/DistributedPatternGame.py @@ -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 diff --git a/toontown/minigame/DistributedPhotoGame.py b/toontown/minigame/DistributedPhotoGame.py index 5321eec..7714e7f 100644 --- a/toontown/minigame/DistributedPhotoGame.py +++ b/toontown/minigame/DistributedPhotoGame.py @@ -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) diff --git a/toontown/minigame/DistributedRaceGame.py b/toontown/minigame/DistributedRaceGame.py index 57ca910..d21eeb5 100644 --- a/toontown/minigame/DistributedRaceGame.py +++ b/toontown/minigame/DistributedRaceGame.py @@ -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) diff --git a/toontown/minigame/DistributedRingGame.py b/toontown/minigame/DistributedRingGame.py index f6e65be..cf655fc 100644 --- a/toontown/minigame/DistributedRingGame.py +++ b/toontown/minigame/DistributedRingGame.py @@ -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 diff --git a/toontown/minigame/DistributedTargetGame.py b/toontown/minigame/DistributedTargetGame.py index 8a2ee37..07485e4 100644 --- a/toontown/minigame/DistributedTargetGame.py +++ b/toontown/minigame/DistributedTargetGame.py @@ -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() diff --git a/toontown/minigame/DistributedTugOfWarGame.py b/toontown/minigame/DistributedTugOfWarGame.py index 7530efe..8a01692 100644 --- a/toontown/minigame/DistributedTugOfWarGame.py +++ b/toontown/minigame/DistributedTugOfWarGame.py @@ -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 diff --git a/toontown/minigame/Purchase.py b/toontown/minigame/Purchase.py index 1c7b987..44af95b 100644 --- a/toontown/minigame/Purchase.py +++ b/toontown/minigame/Purchase.py @@ -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: diff --git a/toontown/parties/DistributedPartyTrampolineActivity.py b/toontown/parties/DistributedPartyTrampolineActivity.py index 964ad53..d2b8aba 100644 --- a/toontown/parties/DistributedPartyTrampolineActivity.py +++ b/toontown/parties/DistributedPartyTrampolineActivity.py @@ -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): diff --git a/toontown/quest/QuestChoiceGui.py b/toontown/quest/QuestChoiceGui.py index d363830..009f7d8 100644 --- a/toontown/quest/QuestChoiceGui.py +++ b/toontown/quest/QuestChoiceGui.py @@ -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') diff --git a/toontown/quest/QuestMap.py b/toontown/quest/QuestMap.py index 5e4afa7..fa0383b 100644 --- a/toontown/quest/QuestMap.py +++ b/toontown/quest/QuestMap.py @@ -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() diff --git a/toontown/racing/DistributedVehicle.py b/toontown/racing/DistributedVehicle.py index 26c6c4d..c4f9ebe 100644 --- a/toontown/racing/DistributedVehicle.py +++ b/toontown/racing/DistributedVehicle.py @@ -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 diff --git a/toontown/racing/Kart.py b/toontown/racing/Kart.py index fd19504..b772461 100644 --- a/toontown/racing/Kart.py +++ b/toontown/racing/Kart.py @@ -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 * diff --git a/toontown/racing/RaceGUI.py b/toontown/racing/RaceGUI.py index 87dd55b..5f29bb9 100644 --- a/toontown/racing/RaceGUI.py +++ b/toontown/racing/RaceGUI.py @@ -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) diff --git a/toontown/shtiker/DisplaySettingsDialog.py b/toontown/shtiker/DisplaySettingsDialog.py index 0577e6f..4c75693 100644 --- a/toontown/shtiker/DisplaySettingsDialog.py +++ b/toontown/shtiker/DisplaySettingsDialog.py @@ -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) diff --git a/toontown/shtiker/ShtikerBook.py b/toontown/shtiker/ShtikerBook.py index d4e2c75..06f8156 100644 --- a/toontown/shtiker/ShtikerBook.py +++ b/toontown/shtiker/ShtikerBook.py @@ -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]) diff --git a/toontown/toon/GroupPanel.py b/toontown/toon/GroupPanel.py index ed1fb2e..32f9b63 100644 --- a/toontown/toon/GroupPanel.py +++ b/toontown/toon/GroupPanel.py @@ -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() diff --git a/toontown/toon/LocalToon.py b/toontown/toon/LocalToon.py index 86f1f5a..75c6111 100644 --- a/toontown/toon/LocalToon.py +++ b/toontown/toon/LocalToon.py @@ -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() diff --git a/toontown/toon/ToonAvatarDetailPanel.py b/toontown/toon/ToonAvatarDetailPanel.py index e9b8365..7bfabcc 100644 --- a/toontown/toon/ToonAvatarDetailPanel.py +++ b/toontown/toon/ToonAvatarDetailPanel.py @@ -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), diff --git a/toontown/toon/ToonAvatarPanel.py b/toontown/toon/ToonAvatarPanel.py index ba42168..8e19882 100644 --- a/toontown/toon/ToonAvatarPanel.py +++ b/toontown/toon/ToonAvatarPanel.py @@ -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) diff --git a/toontown/toon/ToonTeleportPanel.py b/toontown/toon/ToonTeleportPanel.py index 8857bee..47461bb 100644 --- a/toontown/toon/ToonTeleportPanel.py +++ b/toontown/toon/ToonTeleportPanel.py @@ -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 diff --git a/toontown/toonbase/TTLocalizerEnglishProperty.py b/toontown/toonbase/TTLocalizerEnglishProperty.py index cd70ec0..20db9dc 100644 --- a/toontown/toonbase/TTLocalizerEnglishProperty.py +++ b/toontown/toonbase/TTLocalizerEnglishProperty.py @@ -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 diff --git a/toontown/toonbase/ToontownBattleGlobals.py b/toontown/toonbase/ToontownBattleGlobals.py index 39ba608..86ee323 100644 --- a/toontown/toonbase/ToontownBattleGlobals.py +++ b/toontown/toonbase/ToontownBattleGlobals.py @@ -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) diff --git a/toontown/town/TownBattle.py b/toontown/town/TownBattle.py index ee417f9..06fe6cf 100644 --- a/toontown/town/TownBattle.py +++ b/toontown/town/TownBattle.py @@ -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