This commit is contained in:
cidoku 2025-10-07 05:28:40 -03:00
parent 9cbf55bbe5
commit 1b30f79fab
11 changed files with 1474 additions and 1474 deletions

View File

@ -62,7 +62,7 @@ class gamewindow(QtGui.QMainWindow):
self.aboutgui = self.aboutBox()
if demofile:
self.gamewidget.start_demo(demofile)
self.gamewidget.startDemo(demofile)
self.stackwidget.setCurrentWidget(self.gamewidget)
def center(self):
@ -71,13 +71,13 @@ class gamewindow(QtGui.QMainWindow):
frameGm.moveCenter(centerPoint)
self.move(frameGm.topLeft())
def showGame(self, tcp, playerlist, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[], webAO_bucket=""):
self.gamewidget.disconnectnow = False
self.gamewidget.start_game(tcp, playerlist, charlist, musiclist, background, evidence, areas, features, oocjoin, hplist, webAO_bucket)
def showGame(self, tcp, playerList, charList, musicList, background, evidence, areas, features=[], joinOOC=[], hpList=[], webAO_bucket=""):
self.gamewidget.disconnectNow = False
self.gamewidget.startGame(tcp, playerList, charList, musicList, background, evidence, areas, features, joinOOC, hpList, webAO_bucket)
self.stackwidget.setCurrentWidget(self.gamewidget)
def returnToMenu(self):
self.gamewidget.disconnectnow = True
self.gamewidget.disconnectNow = True
self.setFixedSize(self.widget.lobbyimg.size().width(), self.widget.lobbyimg.size().height())
self.widget.onClicked_cancelconnect()
self.stackwidget.setCurrentWidget(self.widget)

View File

@ -7,7 +7,7 @@ self.sliderlabel2.setObjectName("sfxlabel")
self.sliderlabel3.setObjectName("blipslabel")
self.notmutedlabel.setObjectName("notmutedlabel")
self.mutedlabel.setObjectName("mutedlabel")
self.iniswapinfo.setObjectName("iniswapinfo")
self.iniSwapInfo.setObjectName("iniSwapInfo")
self.pairoffset_l.setObjectName("pairoffset_l")
self.ypairoffset_l.setObjectName("ypairoffset_l")
self.pair_order_l.setObjectName("pair_order_l")
@ -22,7 +22,7 @@ self.gametab_music.setObjectName("gametab_music")
self.gametab_players.setObjectName("gametab_player")
self.gamewindow.setStyleSheet("""
QWidget#main, QSlider, QCheckBox, QLabel#musiclabel, QLabel#sfxlabel, QLabel#blipslabel, QLabel#notmutedlabel, QLabel#mutedlabel, QLabel#iniswapinfo, QLabel#pairoffset_l, QLabel#ypairoffset_l, QLabel#pair_order_l, QWidget#gametab_log, QWidget#gametab_evidence, QWidget#gametab_mute, QWidget#gametab_iniswap, QWidget#gametab_pair, QWidget#gametab_misc, QWidget#gametab_msgqueue, QWidget#gametab_music, QWidget#gametab_player
QWidget#main, QSlider, QCheckBox, QLabel#musiclabel, QLabel#sfxlabel, QLabel#blipslabel, QLabel#notmutedlabel, QLabel#mutedlabel, QLabel#iniSwapInfo, QLabel#pairoffset_l, QLabel#ypairoffset_l, QLabel#pair_order_l, QWidget#gametab_log, QWidget#gametab_evidence, QWidget#gametab_mute, QWidget#gametab_iniswap, QWidget#gametab_pair, QWidget#gametab_misc, QWidget#gametab_msgqueue, QWidget#gametab_music, QWidget#gametab_player
{
color: #eeeeee;
background: #111111;

View File

@ -97,7 +97,7 @@ self.iniswapconfirm.resize(self.iniswapconfirm.sizeHint())
self.iniswapconfirm.move(714 - 304 - 22 - self.iniswapconfirm.size().width(), 8)
self.iniswapreset.resize(self.iniswapconfirm.size())
self.iniswapreset.move(714 - 304 - 22 - self.iniswapconfirm.size().width(), 16 + self.iniswapconfirm.size().height())
self.iniswapinfo.setGeometry(8, 32, 192, 24)
self.iniSwapInfo.setGeometry(8, 32, 192, 24)
self.iniswaprefresh.move(8, 64)
self.iniswaprefresh.resize(self.iniswaprefresh.sizeHint())

View File

@ -216,7 +216,7 @@ class PresentButton(QtGui.QLabel):
self.setPixmap(self.button_on)
else:
self.setPixmap(self.button_off)
self.gamegui.icchat_focus()
self.gamegui.ICChatFocus()
class EmoteButton(QtGui.QLabel):
clicked = QtCore.pyqtSignal()
@ -229,7 +229,7 @@ class EmoteButton(QtGui.QLabel):
self.path = ''
def paintEvent(self, event):
if self.gamewindow.mychar == -1:
if self.gamewindow.myChar == -1:
return
painter = QtGui.QPainter(self)
@ -267,8 +267,8 @@ class BackEmoteButton(QtGui.QLabel):
self.show()
def mousePressEvent(self, event):
self.gamewindow.current_emote_page -= 1
self.gamewindow.set_emote_page()
self.gamewindow.currentEmotePage -= 1
self.gamewindow.setEmotePage()
class NextEmoteButton(QtGui.QLabel):
@ -279,5 +279,5 @@ class NextEmoteButton(QtGui.QLabel):
self.show()
def mousePressEvent(self, event):
self.gamewindow.current_emote_page += 1
self.gamewindow.set_emote_page()
self.gamewindow.currentEmotePage += 1
self.gamewindow.setEmotePage()

View File

@ -95,16 +95,16 @@ class charselect(QtGui.QWidget):
self.nextpage.clicked.connect(self.nextPageButton)
self.nextpage.show()
def showCharPage(self, charlist=None):
if not charlist:
def showCharPage(self, charList=None):
if not charList:
filtered = False
charlist = self.charlist
charList = self.charList
else:
filtered = True
for ind in range(self.page * self.max_chars_on_page, self.max_chars_on_page * (self.page + 1)):
i = ind - (self.page * self.max_chars_on_page)
if ind >= len(charlist):
if ind >= len(charList):
self.chartaken[i].hide()
self.buttons[i].hide()
self.nextpage.hide()
@ -117,8 +117,8 @@ class charselect(QtGui.QWidget):
else:
self.prevpage.hide()
char = charlist[ind][0].lower()
charid = charlist[ind][2] if filtered else ind
char = charList[ind][0].lower()
charid = charList[ind][2] if filtered else ind
if exists(AOpath + "characters/"+ char +"/char_icon.png"): # AO2
self.setBtnImage.emit(AOpath + "characters/"+ char +"/char_icon.png", i, charid)
@ -127,27 +127,27 @@ class charselect(QtGui.QWidget):
else:
self.setBtnImage.emit("placeholder.png", i, charid)
if charlist[ind][1] == 0: # free slot
if charList[ind][1] == 0: # free slot
self.chartaken[i].hide()
else:
self.chartaken[i].setAttribute(QtCore.Qt.WA_TransparentForMouseEvents)
self.chartaken[i].show()
self.buttons[i].show()
self.buttons[i].setToolTip(charlist[ind][0])
self.buttons[i].setToolTip(charList[ind][0])
def showCharPageFiltered(self, name):
charlist = []
for i, char in enumerate(self.charlist):
charList = []
for i, char in enumerate(self.charList):
if name.lower() in char[0].lower():
charlist.append([char[0], char[1], i])
self.showCharPage(charlist)
charList.append([char[0], char[1], i])
self.showCharPage(charList)
def quitToLobby(self):
self.parent.gamewindow.returnToMenu()
def setCharList(self, charlist):
self.charlist = charlist
def setCharList(self, charList):
self.charList = charList
self.showCharPage()
def nextPageButton(self):
@ -168,8 +168,8 @@ class charselect(QtGui.QWidget):
self.buttons[i].setCharIndex(charid)
def onCharClicked(self, charid):
char = self.charlist[charid]
if self.parent.charname.lower() == char[0].lower():
char = self.charList[charid]
if self.parent.charName.lower() == char[0].lower():
self.onCancel()
return
self.selectChar(charid)

View File

@ -57,16 +57,16 @@ SCALING_AUTO = 0
SCALING_PIXEL = 1
SCALING_SMOOTH = 2
def decode_ao_str(text):
def decodeAOString(text):
return text.replace("<percent>", "%").replace("<pound>", "#").replace("<num>", "#").replace("<and>", "&").replace("<dollar>", "$")
def encode_ao_str(text):
def encodeAOString(text):
return text.replace("%", "<percent>").replace("#", "<pound>").replace("&", "<and>").replace("$", "<dollar>")
def get_scaling(scaling_str):
if scaling_str == "pixel" or scaling_str == "fast":
def getScaling(scaling):
if scaling == "pixel" or scaling == "fast":
return SCALING_PIXEL
elif scaling_str == "smooth":
elif scaling == "smooth":
return SCALING_SMOOTH
else:
return SCALING_AUTO

76
demo.py
View File

@ -10,7 +10,7 @@ class DemoPlayer(QtCore.QObject):
IC_Log = QtCore.pyqtSignal(str)
OOC_Log = QtCore.pyqtSignal(str)
charSlots = QtCore.pyqtSignal()
allEvidence = QtCore.pyqtSignal(list)
loadAllEvidence = QtCore.pyqtSignal(list)
rainbowColor = QtCore.pyqtSignal(str)
updatePlayerList = QtCore.pyqtSignal(str, int, int, str)
timerUpdate = QtCore.pyqtSignal(int, int, int)
@ -20,36 +20,36 @@ class DemoPlayer(QtCore.QObject):
self.parent = parent
self.paused = False
self.demo = []
self.demo_length = len(self.demo)
self.demoLength = len(self.demo)
self.time = 0
self.demo_length_ms = 0
self.wait_timer = QtCore.QTimer(self)
self.wait_timer.setSingleShot(True)
self.wait_timer.timeout.connect(self.timer_done)
self.demoLengthMs = 0
self.waitTimer = QtCore.QTimer(self)
self.waitTimer.setSingleShot(True)
self.waitTimer.timeout.connect(self.timer_done)
self.mc = [] # Music changes
self.bn = [] # Background changes
self.last_music = ""
self.last_bg = ""
self.prevMusic = ""
self.prevBg = ""
def start(self, file):
self.paused = True
self.wait_timer.stop()
self.waitTimer.stop()
self.time = 0
self.demo_length_ms = 0
self.demoLengthMs = 0
self.demo = []
self.mc = []
self.bn = []
self.last_music = ""
self.last_bg = ""
self.prevMusic = ""
self.prevBg = ""
self.load_demo(file)
print "[client] Started demo playback (%s commands)" % self.demo_length
print "[client] Started demo playback (%s commands)" % self.demoLength
self.parent.demoslider.setMaximum(self.demo_length - 1)
self.parent.demoslider.setMaximum(self.demoLength - 1)
self.OOC_Log.emit("<b>Demo playback started.</b>")
secs = self.demo_length_ms / 1000
secs = self.demoLengthMs / 1000
mins = secs / 60
hours = mins / 60
self.OOC_Log.emit("Approximate duration: %02d:%02d:%02d." % (hours, mins % 60, secs % 60))
@ -59,11 +59,11 @@ class DemoPlayer(QtCore.QObject):
def playpause(self):
self.paused = not self.paused
if not self.paused and self.time < self.demo_length:
if not self.paused and self.time < self.demoLength:
self.step()
def step(self, skip_wait=False):
if self.time >= self.demo_length:
if self.time >= self.demoLength:
self.time = 0
return
@ -78,36 +78,36 @@ class DemoPlayer(QtCore.QObject):
if skip_wait:
self.time += 1
else:
self.wait_timer.start(int(packet[1]))
self.waitTimer.start(int(packet[1]))
return
packets.handle_packets(self, [packet], False)
if self.time < self.demo_length:
self.wait_timer.start(1)
packets.handlePackets(self, [packet], False)
if self.time < self.demoLength:
self.waitTimer.start(1)
else:
self.OOC_Log.emit("<b>Demo playback finished.</b>")
def seek(self, time):
self.parent.inbox_timer.stop()
self.parent.inboxqueue = []
self.wait_timer.stop()
self.parent.inboxTimer.stop()
self.parent.inboxQueue = []
self.waitTimer.stop()
self.time = time
mc_times = [t[0] for t in self.mc]
t = bisect_left(mc_times, self.time) - 1
if t >= 0:
music = self.mc[t][1][1]
if music != self.last_music:
packets.handle_packets(self, [self.mc[t][1]], False)
self.last_music = music
if music != self.prevMusic:
packets.handlePackets(self, [self.mc[t][1]], False)
self.prevMusic = music
bn_times = [t[0] for t in self.bn]
t = bisect_left(bn_times, self.time) - 1
if t >= 0:
bg = self.bn[t][1][1]
if bg != self.last_bg:
packets.handle_packets(self, [self.bn[t][1]], False)
self.last_bg = bg
if bg != self.prevBg:
packets.handlePackets(self, [self.bn[t][1]], False)
self.prevBg = bg
self.step()
@ -125,10 +125,10 @@ class DemoPlayer(QtCore.QObject):
elif packet[0] == "BN":
self.bn.append((time, packet))
elif packet[0] == "wait":
self.demo_length_ms += int(packet[1])
self.demoLengthMs += int(packet[1])
last_line = ""
time += 1
self.demo_length = len(self.demo)
self.demoLength = len(self.demo)
def timer_done(self):
if self.paused:
@ -137,7 +137,7 @@ class DemoPlayer(QtCore.QObject):
def stop(self):
self.paused = True
self.wait_timer.stop()
self.waitTimer.stop()
class DemoRecorder():
def __init__(self):
@ -182,7 +182,7 @@ class DemoPicker(QtGui.QDialog):
self.hide()
self.treeview = get_demo_treeview()
self.treeview.doubleClicked.connect(self.on_demo_click)
self.treeview.doubleClicked.connect(self.onDemoClicked)
self.cancelbtn = QtGui.QPushButton()
self.cancelbtn.setText("Cancel")
@ -198,13 +198,13 @@ class DemoPicker(QtGui.QDialog):
self.cancelbtn.setFocus()
def on_demo_click(self, item):
fname = get_demo_fname(self.treeview, item)
def onDemoClicked(self, item):
fname = getDemoFilename(self.treeview, item)
if not fname:
return
self.gamewindow.gamewidget.start_demo(fname)
self.gamewindow.gamewidget.startDemo(fname)
self.gamewindow.stackwidget.setCurrentWidget(self.gamewindow.gamewidget)
self.hide()
@ -223,7 +223,7 @@ def get_demo_treeview():
return demo_treeview
def get_demo_fname(treeview, item):
def getDemoFilename(treeview, item):
model = treeview.model()
if model.isDir(item):
return None

File diff suppressed because it is too large Load Diff

View File

@ -9,9 +9,9 @@ import AOsocket
import ini
from constants import *
def decode_ao_str(text):
def decodeAOString(text):
return text.replace("<percent>", "%").replace("<pound>", "#").replace("<num>", "#").replace("<and>", "&").replace("<dollar>", "$")
def encode_ao_str(text):
def encodeAOString(text):
return text.replace("%", "<percent>").replace("#", "<pound>").replace("&", "<and>").replace("$", "<dollar>")
class PicButton(QtGui.QAbstractButton):
@ -225,8 +225,8 @@ class lobby(QtGui.QWidget):
self.actual_serverlist.append((ip, port, name, desc, ws_port, wss_port))
def moveToGame(self, stuff):
tcp, playerlist, charlist, musiclist, background, evidence, areas, features, joinooc, hplist, webAO_bucket = stuff
self.move_to_game(tcp, playerlist, charlist, musiclist, background, evidence, areas, features, joinooc, hplist, webAO_bucket)
tcp, playerList, charList, musicList, background, evidence, areas, features, joinOOC, hpList, webAO_bucket = stuff
self.move_to_game(tcp, playerList, charList, musicList, background, evidence, areas, features, joinOOC, hpList, webAO_bucket)
def onSettingsClicked(self):
self.gamewindow.showSettings()
@ -351,8 +351,8 @@ class lobby(QtGui.QWidget):
self.aoserverinfo.stop()
self.aoserverinfo.start()
def move_to_game(self, tcp, playerlist, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[], webAO_bucket=""):
self.gamewindow.showGame(tcp, playerlist, charlist, musiclist, background, evidence, areas, features, oocjoin, hplist, webAO_bucket)
def move_to_game(self, tcp, playerList, charList, musicList, background, evidence, areas, features=[], joinOOC=[], hpList=[], webAO_bucket=""):
self.gamewindow.showGame(tcp, playerList, charList, musicList, background, evidence, areas, features, joinOOC, hpList, webAO_bucket)
def lobby_sendchat(self):
#text = self.lobbychatinput.text().toUtf8()
@ -446,13 +446,13 @@ class AOServerInfo(QtCore.QThread):
got_stuff = False
gotChars = False
hplist = []
joinooc = []
hpList = []
joinOOC = []
areas = [[], [], [], [], []]
features = []
evidence = []
playerlist = {}
musiclist = []
playerList = {}
musicList = []
pingtimer = 150
readytick = -1
@ -474,7 +474,7 @@ class AOServerInfo(QtCore.QThread):
if readytick == 0:
readytick = -1
try:
self.moveToGameSignal.emit([self.tcp, playerlist, charlist, musiclist, background, evidence, areas, features, joinooc, hplist, self.webAO_bucket])
self.moveToGameSignal.emit([self.tcp, playerList, charList, musicList, background, evidence, areas, features, joinOOC, hpList, self.webAO_bucket])
except Exception as err:
self.msgbox_signal.emit(0, "Error caught while loading", traceback.format_exc(err))
self.returnToLobby.emit()
@ -539,34 +539,34 @@ class AOServerInfo(QtCore.QThread):
del network[0]
gotChars = True
charlist = [ [char.split('&')[0].decode('utf-8'), 0, "male", True ] for char in network ]
charList = [ [char.split('&')[0].decode('utf-8'), 0, "male", True ] for char in network ]
# Disable characters not found in filesystem
for char in charlist:
for char in charList:
if not exists(AOpath + "characters/" + char[0].lower()):
char[3] = False
self.setConnectProgress.emit('Requesting music list (%d)...' % maxmusic)
self.tcp.send('RM#%')
print '[client]', 'Received characters (%d)' % len(charlist)
print '[client]', 'Received characters (%d)' % len(charList)
elif header == 'SM':
if self.disconnect:
continue
del network[0]
musiclist = [music for music in network]
musicList = [music for music in network]
self.setConnectProgress.emit('Finishing...')
self.tcp.send('RD#%')
print '[client]', 'Received songs (%d)' % len(musiclist)
print '[client]', 'Received songs (%d)' % len(musicList)
elif header == 'CharsCheck':
if self.disconnect or not gotChars:
continue
del network[0]
for i in range(len(network)):
charlist[i][1] = int(network[i])
charList[i][1] = int(network[i])
elif header == 'BN':
if self.disconnect:
@ -586,9 +586,9 @@ class AOServerInfo(QtCore.QThread):
for evi in evidence:
while len(evi) < 3: # new AO 2.9 bug where they never correctly escaped evidence name/desc/image on FantaProtocol
evi += [""]
evi[0] = decode_ao_str(evi[0].decode("utf-8"))
evi[1] = decode_ao_str(evi[1].decode("utf-8"))
evi[2] = decode_ao_str(evi[2].decode("utf-8"))
evi[0] = decodeAOString(evi[0].decode("utf-8"))
evi[1] = decodeAOString(evi[1].decode("utf-8"))
evi[2] = decodeAOString(evi[2].decode("utf-8"))
print '[client]', 'Received evidence'
elif header == 'HP':
@ -596,7 +596,7 @@ class AOServerInfo(QtCore.QThread):
continue
kind = int(network[1])
health = int(network[2])
hplist.append([kind, health])
hpList.append([kind, health])
#AO2 2.6 new feature: area update. Not all servers send this during the handshake!
elif header == "ARUP":
@ -616,10 +616,10 @@ class AOServerInfo(QtCore.QThread):
print '[client]', 'The server has %d areas' % areas_len
got_arup = True
if musiclist and not len(areas[4]):
if musicList and not len(areas[4]):
for i in range(areas_len):
areas[4].append(musiclist[0])
del musiclist[0]
areas[4].append(musicList[0])
del musicList[0]
elif header == 'DONE':
if self.disconnect:
@ -634,11 +634,11 @@ class AOServerInfo(QtCore.QThread):
continue
name = network[1].decode("utf-8").replace('<dollar>', '$').replace('<percent>', '%').replace('<and>', '&').replace('<num>', '#').replace('<pound>', '#')
chatmsg = network[2].decode("utf-8").replace('<dollar>', '$').replace('<percent>', '%').replace('<and>', '&').replace('<num>', '#').replace('<pound>', '#')
joinooc.append("%s: %s" % (name, chatmsg))
joinOOC.append("%s: %s" % (name, chatmsg))
elif header == 'PU':
del network[0]
pid = network[0]
if not pid in playerlist:
playerlist[pid] = []
playerlist[pid].append(network[2].decode('utf-8'))
if not pid in playerList:
playerList[pid] = []
playerList[pid].append(network[2].decode('utf-8'))

View File

@ -350,8 +350,8 @@ class Settings(QtGui.QDialog):
if not self.gamewindow.gamewidget.demoPlaying:
if not (self.savelogs_state == self.savetolog.isChecked() and self.combinelogs_state == self.savetolog_combine.isChecked()):
self.gamewindow.gamewidget.ooclog.set_logfiles()
self.gamewindow.gamewidget.iclog.set_logfiles(self.gamewindow.gamewidget.ooclog.logfile)
self.gamewindow.gamewidget.ooclog.setLogFiles()
self.gamewindow.gamewidget.iclog.setLogFiles(self.gamewindow.gamewidget.ooclog.logfile)
if not self.savedemos_state == self.savedemos.isChecked():
if self.savedemos.isChecked():

View File

@ -4,7 +4,7 @@ from PyQt4 import QtGui
from os.path import exists
from pybass_constants import *
def handle_packets(caller, total, record=True):
def handlePackets(caller, total, record=True):
# Record the packet if demos enabled
if record and caller.parent.demoRecorder:
caller.parent.demoRecorder.record(total)
@ -17,20 +17,20 @@ def handle_packets(caller, total, record=True):
continue
if isinstance(network[CHATMSG], unicode):
network[CHATMSG] = decode_ao_str(network[CHATMSG])
network[CHATMSG] = decodeAOString(network[CHATMSG])
else:
network[CHATMSG] = decode_ao_str(network[CHATMSG].decode('utf-8'))
network[CHATMSG] = decodeAOString(network[CHATMSG].decode('utf-8'))
caller.MS_Chat.emit(network)
elif header == 'MC':
music = decode_ao_str(network[1])
music = decodeAOString(network[1])
charid = int(network[2])
t = time.localtime()
timestamp = "[%d:%.2d] " % (t[3], t[4]) if not caller.parent.demoPlaying else ""
if charid != -1:
try:
name = caller.parent.charlist[charid][0]
name = caller.parent.charList[charid][0]
except:
name = 'char id %d' % charid
@ -45,18 +45,18 @@ def handle_packets(caller, total, record=True):
caller.newBackground.emit(network[1].lower(), True)
elif header == 'CT':
name = decode_ao_str(network[1].decode('utf-8'))
chatmsg = decode_ao_str(network[2].decode('utf-8').replace("\n", "<br />"))
name = decodeAOString(network[1].decode('utf-8'))
chatmsg = decodeAOString(network[2].decode('utf-8').replace("\n", "<br />"))
caller.OOC_Log.emit("<b>%s:</b> %s" % (name, chatmsg))
elif header == 'PV':
caller.parent.mychar = int(network[3])
caller.parent.charselect.hide()
caller.newChar.emit(caller.parent.charlist[caller.parent.mychar][0])
caller.parent.myChar = int(network[3])
caller.parent.charSelect.hide()
caller.newChar.emit(caller.parent.charList[caller.parent.myChar][0])
elif header == 'LE':
del network[0]
caller.allEvidence.emit([evi.split('&') for evi in network])
caller.loadAllEvidence.emit([evi.split('&') for evi in network])
elif header == 'ZZ':
if caller.parent.modcall:
@ -72,15 +72,15 @@ def handle_packets(caller, total, record=True):
elif header == 'CharsCheck':
del network[0]
for i in range(len(network)):
caller.parent.charlist[i][1] = int(network[i])
caller.parent.charList[i][1] = int(network[i])
caller.charSlots.emit()
elif header == 'RT':
testimony = network[1]
wtcefile = AOpath + "sounds/general/sfx-testimony2"
if caller.parent.wtcesfx:
audio.freehandle(caller.parent.wtcesfx)
if caller.parent.wtceSfx:
audio.freehandle(caller.parent.wtceSfx)
if testimony == 'judgeruling':
variant = int(network[2])
@ -90,11 +90,11 @@ def handle_packets(caller, total, record=True):
wtcefile = AOpath + "sounds/general/sfx-guilty"
else:
variant = 0
caller.parent.wtcesfx = audio.loadhandle(False, wtcefile+".opus" if exists(wtcefile+".opus") else wtcefile+".wav", 0, 0, 0)
audio.sethandleattr(caller.parent.wtcesfx, BASS_ATTRIB_VOL, caller.parent.soundslider.value() / 100.0)
if caller.parent.wtcesfx:
audio.playhandle(caller.parent.wtcesfx, True)
caller.parent.wtcesignal.emit(testimony, variant)
caller.parent.wtceSfx = audio.loadhandle(False, wtcefile+".opus" if exists(wtcefile+".opus") else wtcefile+".wav", 0, 0, 0)
audio.sethandleattr(caller.parent.wtceSfx, BASS_ATTRIB_VOL, caller.parent.soundslider.value() / 100.0)
if caller.parent.wtceSfx:
audio.playhandle(caller.parent.wtceSfx, True)
caller.parent.wtceSignal.emit(testimony, variant)
elif header == 'HP':
kind = int(network[1])
@ -149,14 +149,14 @@ def handle_packets(caller, total, record=True):
caller.parent.areas[kind] = [network[i] for i in range(1, len(network))]
# This is much harder than doing it during the handshake because of the way the music list is implemented
if caller.parent.no_arup:
caller.parent.no_arup = False
caller.parent.areas_len = len(caller.parent.areas[kind])
print '[client]', 'The server has %d areas' % caller.parent.areas_len
if caller.parent.noARUP:
caller.parent.noARUP = False
caller.parent.areasLen = len(caller.parent.areas[kind])
print '[client]', 'The server has %d areas' % caller.parent.areasLen
if caller.parent.areas_len:
for i in range(caller.parent.areas_len):
area_key, area_val = caller.parent.musiclist.items()[0]
if caller.parent.areasLen:
for i in range(caller.parent.areasLen):
area_key, area_val = caller.parent.musicList.items()[0]
caller.parent.areas[4].append(area_val)
areaitem = QtGui.QListWidgetItem()
@ -167,11 +167,11 @@ def handle_packets(caller, total, record=True):
caller.parent.areas[j].append("")
# Remove the area from the music list
caller.parent.musiclist.popitem(False)
caller.parent.musicList.popitem(False)
caller.parent.allMusic()
caller.parent.loadAllMusic()
caller.parent.update_area_list()
caller.parent.updateAreaList()
elif header == 'TI':
del network[0]
@ -186,4 +186,4 @@ def handle_packets(caller, total, record=True):
# For demos
elif header == 'SC':
del network[0]
caller.parent.charlist = [ [char.split('&')[0].decode('utf-8'), 0, "male", True ] for char in network ]
caller.parent.charList = [ [char.split('&')[0].decode('utf-8'), 0, "male", True ] for char in network ]