mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2025-01-09 17:53:50 +00:00
Start on true friends
This commit is contained in:
parent
11913788e9
commit
4e470c4ee0
14 changed files with 33 additions and 120 deletions
|
@ -873,6 +873,7 @@ dclass DistributedToon : DistributedPlayer {
|
||||||
takeDamage(uint16) broadcast ownrecv;
|
takeDamage(uint16) broadcast ownrecv;
|
||||||
setBattleId(uint32 = 0) required broadcast ram;
|
setBattleId(uint32 = 0) required broadcast ram;
|
||||||
setExperience(blob = [0*14]) required broadcast db;
|
setExperience(blob = [0*14]) required broadcast db;
|
||||||
|
setTrueFriends(uint32[]) required ownrecv db;
|
||||||
setMaxCarry(uint8 = 20) required ownrecv db;
|
setMaxCarry(uint8 = 20) required ownrecv db;
|
||||||
setTrackAccess(uint16[] = [0,0,0,0,1,1,0]) required broadcast ownrecv db;
|
setTrackAccess(uint16[] = [0,0,0,0,1,1,0]) required broadcast ownrecv db;
|
||||||
setTrackProgress(int8 = -1, uint32 = 0) required ownrecv db;
|
setTrackProgress(int8 = -1, uint32 = 0) required ownrecv db;
|
||||||
|
|
|
@ -90,9 +90,6 @@ class ChatInputTyped(DirectObject.DirectObject):
|
||||||
elif not base.talkAssistant.checkWhisperTypedChatAvatar(self.whisperId):
|
elif not base.talkAssistant.checkWhisperTypedChatAvatar(self.whisperId):
|
||||||
messenger.send('Chat-Failed avatar typed chat test')
|
messenger.send('Chat-Failed avatar typed chat test')
|
||||||
self.deactivate()
|
self.deactivate()
|
||||||
elif not base.talkAssistant.checkOpenTypedChat():
|
|
||||||
messenger.send('Chat-Failed open typed chat test')
|
|
||||||
self.deactivate()
|
|
||||||
|
|
||||||
def deactivate(self):
|
def deactivate(self):
|
||||||
self.chatEntry.set('')
|
self.chatEntry.set('')
|
||||||
|
|
|
@ -32,7 +32,6 @@ from otp.distributed import OtpDoGlobals
|
||||||
from otp.distributed.OtpDoGlobals import *
|
from otp.distributed.OtpDoGlobals import *
|
||||||
from otp.distributed.TelemetryLimiter import TelemetryLimiter
|
from otp.distributed.TelemetryLimiter import TelemetryLimiter
|
||||||
from otp.login import HTTPUtil
|
from otp.login import HTTPUtil
|
||||||
from otp.login import LoginTTUAccount
|
|
||||||
from otp.otpbase import OTPGlobals
|
from otp.otpbase import OTPGlobals
|
||||||
from otp.otpbase import OTPLocalizer
|
from otp.otpbase import OTPLocalizer
|
||||||
from otp.otpgui import OTPDialog
|
from otp.otpgui import OTPDialog
|
||||||
|
@ -46,7 +45,6 @@ class OTPClientRepository(ClientRepositoryBase):
|
||||||
'PendingApproval',
|
'PendingApproval',
|
||||||
'Approved',
|
'Approved',
|
||||||
'Rejected'])
|
'Rejected'])
|
||||||
whiteListChatEnabled = 1 # TODO: Have server set this on localAvatar on login.
|
|
||||||
|
|
||||||
def __init__(self, serverVersion, launcher = None, playGame = None):
|
def __init__(self, serverVersion, launcher = None, playGame = None):
|
||||||
ClientRepositoryBase.__init__(self)
|
ClientRepositoryBase.__init__(self)
|
||||||
|
@ -71,9 +69,6 @@ class OTPClientRepository(ClientRepositoryBase):
|
||||||
else:
|
else:
|
||||||
self.http = HTTPClient()
|
self.http = HTTPClient()
|
||||||
|
|
||||||
self.loginInterface = LoginTTUAccount.LoginTTUAccount(self)
|
|
||||||
self.secretChatAllowed = base.config.GetBool('allow-secret-chat', True)
|
|
||||||
self.openChatAllowed = base.config.GetBool('allow-open-chat', True)
|
|
||||||
self.userSignature = base.config.GetString('signature', 'none')
|
self.userSignature = base.config.GetString('signature', 'none')
|
||||||
self.__isPaid = 1
|
self.__isPaid = 1
|
||||||
self.parentMgr.registerParent(OTPGlobals.SPRender, base.render)
|
self.parentMgr.registerParent(OTPGlobals.SPRender, base.render)
|
||||||
|
@ -1359,19 +1354,6 @@ class OTPClientRepository(ClientRepositoryBase):
|
||||||
def allowFreeNames(self):
|
def allowFreeNames(self):
|
||||||
return base.config.GetInt('allow-free-names', 1)
|
return base.config.GetInt('allow-free-names', 1)
|
||||||
|
|
||||||
# TODO: Login Server for all those
|
|
||||||
def allowSecretChat(self):
|
|
||||||
return self.secretChatAllowed
|
|
||||||
|
|
||||||
def allowWhiteListChat(self):
|
|
||||||
return hasattr(self, 'whiteListChatEnabled') and self.whiteListChatEnabled
|
|
||||||
|
|
||||||
def allowAnyTypedChat(self):
|
|
||||||
return self.allowSecretChat() or self.allowWhiteListChat() or self.allowOpenChat()
|
|
||||||
|
|
||||||
def allowOpenChat(self):
|
|
||||||
return self.openChatAllowed
|
|
||||||
|
|
||||||
def getStartingDistrict(self):
|
def getStartingDistrict(self):
|
||||||
district = None
|
district = None
|
||||||
if len(self.activeDistrictMap.keys()) == 0:
|
if len(self.activeDistrictMap.keys()) == 0:
|
||||||
|
|
|
@ -30,7 +30,7 @@ class AvatarFriendInfo(AvatarHandle):
|
||||||
result = True
|
result = True
|
||||||
elif self.openChatEnabledYesNo and base.cr.openChatEnabled:
|
elif self.openChatEnabledYesNo and base.cr.openChatEnabled:
|
||||||
result = True
|
result = True
|
||||||
elif self.wlChatEnabledYesNo and base.cr.whiteListChatEnabled:
|
elif self.wlChatEnabledYesNo and settings['speedchatPlus']:
|
||||||
result = True
|
result = True
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -35,7 +35,7 @@ class FriendInfo(AvatarHandle):
|
||||||
result = True
|
result = True
|
||||||
elif self.openChatEnabledYesNo and base.cr.openChatEnabled:
|
elif self.openChatEnabledYesNo and base.cr.openChatEnabled:
|
||||||
result = True
|
result = True
|
||||||
elif self.wlChatEnabledYesNo and base.cr.whiteListChatEnabled:
|
elif self.wlChatEnabledYesNo and settings['speedchatPlus']:
|
||||||
result = True
|
result = True
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -14,7 +14,7 @@ BothSecrets = 2
|
||||||
|
|
||||||
def showFriendSecret(secretType = AvatarSecret):
|
def showFriendSecret(secretType = AvatarSecret):
|
||||||
global globalFriendSecret
|
global globalFriendSecret
|
||||||
if not base.cr.allowSecretChat():
|
if not settings['trueFriends']:
|
||||||
chatMgr = base.localAvatar.chatMgr
|
chatMgr = base.localAvatar.chatMgr
|
||||||
chatMgr.fsm.request('noSecretChatAtAll')
|
chatMgr.fsm.request('noSecretChatAtAll')
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
class LoginBase:
|
|
||||||
|
|
||||||
def __init__(self, cr):
|
|
||||||
self.cr = cr
|
|
||||||
|
|
||||||
def sendLoginMsg(self, loginName, password, createFlag):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def getErrorCode(self):
|
|
||||||
return 0
|
|
|
@ -1,24 +0,0 @@
|
||||||
from direct.directnotify import DirectNotifyGlobal
|
|
||||||
import LoginBase
|
|
||||||
|
|
||||||
class LoginTTUAccount(LoginBase.LoginBase):
|
|
||||||
notify = DirectNotifyGlobal.directNotify.newCategory('LoginTTUAccount')
|
|
||||||
|
|
||||||
def __init__(self, cr):
|
|
||||||
LoginBase.LoginBase.__init__(self, cr)
|
|
||||||
|
|
||||||
def supportsRelogin(self):
|
|
||||||
return 1
|
|
||||||
|
|
||||||
def authorize(self, username, password):
|
|
||||||
return 0 # No error!
|
|
||||||
|
|
||||||
def sendLoginMsg(self):
|
|
||||||
cr = self.cr
|
|
||||||
# TODO
|
|
||||||
|
|
||||||
def getErrorCode(self):
|
|
||||||
return 0
|
|
||||||
|
|
||||||
def authenticateDelete(self, loginName, password):
|
|
||||||
return 1
|
|
|
@ -1,43 +0,0 @@
|
||||||
from direct.gui.DirectGui import *
|
|
||||||
from pandac.PandaModules import *
|
|
||||||
from otp.chat import ChatInputNormal
|
|
||||||
from otp.otpbase import OTPLocalizer
|
|
||||||
from otp.otpbase import OTPGlobals
|
|
||||||
|
|
||||||
class TTChatInputNormal(ChatInputNormal.ChatInputNormal):
|
|
||||||
|
|
||||||
def __init__(self, chatMgr):
|
|
||||||
ChatInputNormal.ChatInputNormal.__init__(self, chatMgr)
|
|
||||||
gui = loader.loadModel('phase_3.5/models/gui/chat_input_gui')
|
|
||||||
self.chatFrame = DirectFrame(parent=aspect2dp, image=gui.find('**/Chat_Bx_FNL'), relief=None, pos=(-1.083, 0, 0.804), state=DGG.NORMAL, sortOrder=DGG.FOREGROUND_SORT_INDEX)
|
|
||||||
self.chatFrame.hide()
|
|
||||||
self.chatButton = DirectButton(parent=self.chatFrame, image=(gui.find('**/ChtBx_ChtBtn_UP'), gui.find('**/ChtBx_ChtBtn_DN'), gui.find('**/ChtBx_ChtBtn_RLVR')), pos=(0.182, 0, -0.088), relief=None, text=('', OTPLocalizer.ChatInputNormalSayIt, OTPLocalizer.ChatInputNormalSayIt), text_scale=0.06, text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1), text_pos=(0, -0.09), textMayChange=0, command=self.chatButtonPressed)
|
|
||||||
self.cancelButton = DirectButton(parent=self.chatFrame, image=(gui.find('**/CloseBtn_UP'), gui.find('**/CloseBtn_DN'), gui.find('**/CloseBtn_Rllvr')), pos=(-0.151, 0, -0.088), relief=None, text=('', OTPLocalizer.ChatInputNormalCancel, OTPLocalizer.ChatInputNormalCancel), text_scale=0.06, text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1), text_pos=(0, -0.09), textMayChange=0, command=self.cancelButtonPressed)
|
|
||||||
self.whisperLabel = DirectLabel(parent=self.chatFrame, pos=(0.02, 0, 0.23), relief=DGG.FLAT, frameColor=(1, 1, 0.5, 1), frameSize=(-0.23,
|
|
||||||
0.23,
|
|
||||||
-0.07,
|
|
||||||
0.05), text=OTPLocalizer.ChatInputNormalWhisper, text_scale=0.04, text_fg=Vec4(0, 0, 0, 1), text_wordwrap=9.5, textMayChange=1)
|
|
||||||
self.whisperLabel.hide()
|
|
||||||
self.chatEntry = DirectEntry(parent=self.chatFrame, relief=None, scale=0.05, pos=(-0.2, 0, 0.11), entryFont=OTPGlobals.getInterfaceFont(), width=8.6, numLines=3, cursorKeys=0, backgroundFocus=0, command=self.sendChat)
|
|
||||||
self.chatEntry.bind(DGG.OVERFLOW, self.chatOverflow)
|
|
||||||
self.chatEntry.bind(DGG.TYPE, self.typeCallback)
|
|
||||||
return
|
|
||||||
|
|
||||||
def delete(self):
|
|
||||||
self.chatEntry.destroy()
|
|
||||||
self.chatButton.destroy()
|
|
||||||
self.cancelButton.destroy()
|
|
||||||
ChatInputNormal.ChatInputNormal.delete(self)
|
|
||||||
loader.unloadModel('phase_3.5/models/gui/chat_input_gui')
|
|
||||||
|
|
||||||
def typeCallback(self, extraArgs):
|
|
||||||
if localAvatar.chatMgr.chatInputWhiteList and localAvatar.chatMgr.chatInputWhiteList.isActive():
|
|
||||||
return
|
|
||||||
else:
|
|
||||||
messenger.send('enterNormalChat')
|
|
||||||
|
|
||||||
def checkForOverRide(self):
|
|
||||||
return False
|
|
||||||
if localAvatar.chatMgr.chatInputWhiteList and localAvatar.chatMgr.chatInputWhiteList.isActive():
|
|
||||||
return True
|
|
||||||
return False
|
|
|
@ -189,7 +189,7 @@ class TTChatInputWhiteList(ChatInputWhiteListFrame):
|
||||||
flag = 1
|
flag = 1
|
||||||
|
|
||||||
for word in words:
|
for word in words:
|
||||||
if word == '' or self.whiteList.isWord(word) or not base.cr.whiteListChatEnabled:
|
if word == '' or self.whiteList.isWord(word) or not settings['speedchatPlus']:
|
||||||
newwords.append(word)
|
newwords.append(word)
|
||||||
else:
|
else:
|
||||||
if self.checkBeforeSend:
|
if self.checkBeforeSend:
|
||||||
|
@ -204,7 +204,7 @@ class TTChatInputWhiteList(ChatInputWhiteListFrame):
|
||||||
if not strict:
|
if not strict:
|
||||||
lastword = words[-1]
|
lastword = words[-1]
|
||||||
try:
|
try:
|
||||||
if lastword == '' or self.whiteList.isPrefix(lastword) or not base.cr.whiteListChatEnabled:
|
if lastword == '' or self.whiteList.isPrefix(lastword) or not settings['speedchatPlus']:
|
||||||
newwords[-1] = lastword
|
newwords[-1] = lastword
|
||||||
elif flag:
|
elif flag:
|
||||||
newwords[-1] = '\x01WLDisplay\x01' + lastword + '\x02'
|
newwords[-1] = '\x01WLDisplay\x01' + lastword + '\x02'
|
||||||
|
|
|
@ -7,7 +7,6 @@ from direct.gui.DirectGui import *
|
||||||
from pandac.PandaModules import *
|
from pandac.PandaModules import *
|
||||||
from otp.chat import ChatManager
|
from otp.chat import ChatManager
|
||||||
from TTChatInputSpeedChat import TTChatInputSpeedChat
|
from TTChatInputSpeedChat import TTChatInputSpeedChat
|
||||||
from TTChatInputNormal import TTChatInputNormal
|
|
||||||
from TTChatInputWhiteList import TTChatInputWhiteList
|
from TTChatInputWhiteList import TTChatInputWhiteList
|
||||||
|
|
||||||
class ToontownChatManager(ChatManager.ChatManager):
|
class ToontownChatManager(ChatManager.ChatManager):
|
||||||
|
@ -34,19 +33,15 @@ class ToontownChatManager(ChatManager.ChatManager):
|
||||||
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.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)
|
||||||
gui.removeNode()
|
gui.removeNode()
|
||||||
ChatManager.ChatManager.__init__(self, cr, localAvatar)
|
ChatManager.ChatManager.__init__(self, cr, localAvatar)
|
||||||
self.defaultToWhiteList = base.config.GetBool('white-list-is-default', 1)
|
|
||||||
self.chatInputSpeedChat = TTChatInputSpeedChat(self)
|
self.chatInputSpeedChat = TTChatInputSpeedChat(self)
|
||||||
self.normalPos = Vec3(0.25, 0, -0.196)
|
self.normalPos = Vec3(0.25, 0, -0.196)
|
||||||
self.whisperPos = Vec3(0, 0, -0.296)
|
self.whisperPos = Vec3(0, 0, -0.296)
|
||||||
self.speedChatPlusPos = Vec3(-0.35, 0, 0.71)
|
self.speedChatPlusPos = Vec3(-0.35, 0, 0.71)
|
||||||
self.SCWhisperPos = Vec3(0, 0, 0)
|
self.SCWhisperPos = Vec3(0, 0, 0)
|
||||||
self.chatInputWhiteList = TTChatInputWhiteList()
|
self.chatInputWhiteList = TTChatInputWhiteList()
|
||||||
if self.defaultToWhiteList:
|
self.chatInputNormal = self.chatInputWhiteList
|
||||||
self.chatInputNormal = self.chatInputWhiteList
|
self.chatInputNormal.setPos(self.normalPos)
|
||||||
self.chatInputNormal.setPos(self.normalPos)
|
self.chatInputNormal.desc = 'chatInputNormal'
|
||||||
self.chatInputNormal.desc = 'chatInputNormal'
|
|
||||||
else:
|
|
||||||
self.chatInputNormal = TTChatInputNormal(self)
|
|
||||||
self.chatInputWhiteList.setPos(self.speedChatPlusPos)
|
self.chatInputWhiteList.setPos(self.speedChatPlusPos)
|
||||||
self.chatInputWhiteList.reparentTo(base.a2dTopLeft)
|
self.chatInputWhiteList.reparentTo(base.a2dTopLeft)
|
||||||
self.chatInputWhiteList.desc = 'chatInputWhiteList'
|
self.chatInputWhiteList.desc = 'chatInputWhiteList'
|
||||||
|
@ -129,8 +124,6 @@ class ToontownChatManager(ChatManager.ChatManager):
|
||||||
self.fsm.request('normalChat')
|
self.fsm.request('normalChat')
|
||||||
|
|
||||||
def __scButtonPressed(self):
|
def __scButtonPressed(self):
|
||||||
if base.config.GetBool('want-qa-regression', 0):
|
|
||||||
self.notify.info('QA-REGRESSION: CHAT: Speedchat')
|
|
||||||
messenger.send('wakeup')
|
messenger.send('wakeup')
|
||||||
if self.fsm.getCurrentState().getName() == 'speedChat':
|
if self.fsm.getCurrentState().getName() == 'speedChat':
|
||||||
self.fsm.request('mainMenu')
|
self.fsm.request('mainMenu')
|
||||||
|
@ -185,8 +178,6 @@ class ToontownChatManager(ChatManager.ChatManager):
|
||||||
self.noSecretChatAtAllAndNoWhitelist.hide()
|
self.noSecretChatAtAllAndNoWhitelist.hide()
|
||||||
|
|
||||||
def __whisperScButtonPressed(self, avatarName, avatarId, playerId):
|
def __whisperScButtonPressed(self, avatarName, avatarId, playerId):
|
||||||
if base.config.GetBool('want-qa-regression', 0):
|
|
||||||
self.notify.info('QA-REGRESSION: CHAT: Whisper')
|
|
||||||
messenger.send('wakeup')
|
messenger.send('wakeup')
|
||||||
hasManager = hasattr(base.cr, 'playerFriendsManager')
|
hasManager = hasattr(base.cr, 'playerFriendsManager')
|
||||||
transientFriend = 0
|
transientFriend = 0
|
||||||
|
|
|
@ -195,6 +195,7 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo
|
||||||
self.promotionStatus = [0, 0, 0, 0]
|
self.promotionStatus = [0, 0, 0, 0]
|
||||||
self.buffs = []
|
self.buffs = []
|
||||||
self.redeemedCodes = []
|
self.redeemedCodes = []
|
||||||
|
self.trueFriends = []
|
||||||
|
|
||||||
def generate(self):
|
def generate(self):
|
||||||
DistributedPlayerAI.DistributedPlayerAI.generate(self)
|
DistributedPlayerAI.DistributedPlayerAI.generate(self)
|
||||||
|
@ -446,6 +447,22 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo
|
||||||
|
|
||||||
def getExperience(self):
|
def getExperience(self):
|
||||||
return self.experience.makeNetString()
|
return self.experience.makeNetString()
|
||||||
|
|
||||||
|
def b_setTrueFriends(self, trueFriends):
|
||||||
|
self.d_setTrueFriends(trueFriends)
|
||||||
|
self.setTrueFriends(trueFriends)
|
||||||
|
|
||||||
|
def d_setTrueFriends(self, trueFriends):
|
||||||
|
self.sendUpdate('setTrueFriends', [trueFriends])
|
||||||
|
|
||||||
|
def setTrueFriends(self, trueFriends):
|
||||||
|
self.trueFriends = trueFriends
|
||||||
|
|
||||||
|
def getTrueFriends(self):
|
||||||
|
return self.trueFriends
|
||||||
|
|
||||||
|
def isTrueFriend(self, doId):
|
||||||
|
return doId in self.trueFriends
|
||||||
|
|
||||||
def b_setInventory(self, inventory):
|
def b_setInventory(self, inventory):
|
||||||
self.setInventory(inventory)
|
self.setInventory(inventory)
|
||||||
|
|
|
@ -546,3 +546,6 @@ class DistributedToonUD(DistributedObjectUD):
|
||||||
|
|
||||||
def setRedeemedCodes(self, redeemedCodes):
|
def setRedeemedCodes(self, redeemedCodes):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def setTrueFriends(self, trueFriends):
|
||||||
|
pass
|
|
@ -85,6 +85,10 @@ if 'language' not in settings:
|
||||||
settings['language'] = 'English'
|
settings['language'] = 'English'
|
||||||
if 'cogLevel' not in settings:
|
if 'cogLevel' not in settings:
|
||||||
settings['cogLevel'] = True
|
settings['cogLevel'] = True
|
||||||
|
if 'speedchatPlus' not in settings:
|
||||||
|
settings['speedchatPlus'] = True
|
||||||
|
if 'trueFriends' not in settings:
|
||||||
|
settings['trueFriends'] = True
|
||||||
loadPrcFileData('Settings: res', 'win-size %d %d' % tuple(settings.get('res', (800, 600))))
|
loadPrcFileData('Settings: res', 'win-size %d %d' % tuple(settings.get('res', (800, 600))))
|
||||||
loadPrcFileData('Settings: fullscreen', 'fullscreen %s' % settings['fullscreen'])
|
loadPrcFileData('Settings: fullscreen', 'fullscreen %s' % settings['fullscreen'])
|
||||||
loadPrcFileData('Settings: music', 'audio-music-active %s' % settings['music'])
|
loadPrcFileData('Settings: music', 'audio-music-active %s' % settings['music'])
|
||||||
|
@ -92,9 +96,6 @@ loadPrcFileData('Settings: sfx', 'audio-sfx-active %s' % settings['sfx'])
|
||||||
loadPrcFileData('Settings: musicVol', 'audio-master-music-volume %s' % settings['musicVol'])
|
loadPrcFileData('Settings: musicVol', 'audio-master-music-volume %s' % settings['musicVol'])
|
||||||
loadPrcFileData('Settings: sfxVol', 'audio-master-sfx-volume %s' % settings['sfxVol'])
|
loadPrcFileData('Settings: sfxVol', 'audio-master-sfx-volume %s' % settings['sfxVol'])
|
||||||
loadPrcFileData('Settings: loadDisplay', 'load-display %s' % settings['loadDisplay'])
|
loadPrcFileData('Settings: loadDisplay', 'load-display %s' % settings['loadDisplay'])
|
||||||
loadPrcFileData('Settings: toonChatSounds', 'toon-chat-sounds %s' % settings['toonChatSounds'])
|
|
||||||
loadPrcFileData('Settings: language', 'language %s' % settings['language'])
|
|
||||||
loadPrcFileData('Settings: cogLevel', 'cogLevel %s' % settings['cogLevel'])
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue