From 00d6f3442626ee859cc8dcea1601b461be48bd78 Mon Sep 17 00:00:00 2001 From: cidoku Date: Mon, 6 Oct 2025 19:10:26 -0300 Subject: [PATCH] allow theme to change viewport size --- gameview.py | 647 +++++++++++++++++++++++++++------------------------- options.py | 12 +- packets.py | 6 +- 3 files changed, 351 insertions(+), 314 deletions(-) diff --git a/gameview.py b/gameview.py index 4a4dca4..2710876 100644 --- a/gameview.py +++ b/gameview.py @@ -25,45 +25,45 @@ def delay(msec): while QtCore.QTime.currentTime() < dieTime: QtCore.QCoreApplication.processEvents(QtCore.QEventLoop.AllEvents, 100) -def get_char_ini(char, section, value, default=""): +def getCharIni(char, section, value, default=""): tempini = ConfigParser() return ini.read_ini(AOpath + 'characters/' + char.lower() + '/char.ini', section, value, default) -def get_option(section, value, default=""): +def getOption(section, value, default=""): tempini = ConfigParser() tempini.read("AO2XP.ini") return ini.read_ini(tempini, section, value, default) -def get_img_suffix(path): +def getImageSuffix(path): if exists(path): return path if exists(path+".webp"): return path+".webp" if exists(path+".apng"): return path+".apng" if exists(path+".gif"): return path+".gif" return path+".png" -def get_text_color(textcolor): - if textcolor == 0 or textcolor == 6: +def getTextColor(textColor): + if textColor == 0 or textColor == 6: return QtGui.QColor(255, 255, 255) - elif textcolor == 1: + elif textColor == 1: return QtGui.QColor(0, 255, 0) - elif textcolor == 2: + elif textColor == 2: return QtGui.QColor(255, 0, 0) - elif textcolor == 3: + elif textColor == 3: return QtGui.QColor(255, 165, 0) - elif textcolor == 4: + elif textColor == 4: return QtGui.QColor(45, 150, 255) - elif textcolor == 5: + elif textColor == 5: return QtGui.QColor(255, 255, 0) - elif textcolor == 7: + elif textColor == 7: return QtGui.QColor(255, 192, 203) - elif textcolor == 8: + elif textColor == 8: return QtGui.QColor(0, 255, 255) - elif textcolor == "_inline_grey": + elif textColor == "_inline_grey": return QtGui.QColor(187, 187, 187) return QtGui.QColor(0, 0, 0) -def test_path(*args): +def testPath(*args): for path in args: if exists(path): return path @@ -93,7 +93,7 @@ def download_thread(link, savepath): DOWNLOAD_BLACKLIST.append(link) print "couldn't download '%s'" % link -def mock_str(text): +def mockString(text): upper = random.choice([True, False]) if isinstance(text, QtCore.QString): l = QtCore.QStringList(list(text)) @@ -274,7 +274,7 @@ class AOCharMovie(QtGui.QLabel): def __init__(self, parent): QtGui.QLabel.__init__(self, parent) - self.resize(parent.size()) + self.parent = parent self.setAlignment(QtCore.Qt.AlignCenter) self.time_mod = 60 self.play_once = True @@ -294,6 +294,9 @@ class AOCharMovie(QtGui.QLabel): self.m_movie.frameChanged.connect(self.frame_change) self.prev_gif_path = "" + + def resize(self): + super(AOCharMovie, self).resize(self.parent.size()) def move(self, x, y, screenShaking=False): if not screenShaking: @@ -328,7 +331,7 @@ class AOCharMovie(QtGui.QLabel): p_char = p_char.lower() p_emote = p_emote.lower() - apng_path = test_path( + apng_path = testPath( AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".apng", AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".apng", AOpath+"characters/"+p_char+"/"+p_emote+".apng", @@ -351,7 +354,7 @@ class AOCharMovie(QtGui.QLabel): url = url.replace(" ", "%20") thread.start_new_thread(download_thread, (url, apng_path)) - png_path = test_path( + png_path = testPath( AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".png", AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".png", AOpath+"characters/"+p_char+"/"+p_emote+".png", @@ -370,7 +373,7 @@ class AOCharMovie(QtGui.QLabel): url = url.replace(" ", "%20") thread.start_new_thread(download_thread, (url, png_path)) - webp_path = test_path( + webp_path = testPath( AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".webp", AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".webp", AOpath+"characters/"+p_char+"/"+p_emote+".webp", @@ -389,7 +392,7 @@ class AOCharMovie(QtGui.QLabel): url = url.replace(" ", "%20") thread.start_new_thread(download_thread, (url, webp_path)) - gif_path = test_path( + gif_path = testPath( AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".gif", AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".gif", AOpath+"characters/"+p_char+"/"+p_emote+".gif", @@ -616,6 +619,7 @@ class AOMovie(QtGui.QLabel): def __init__(self, parent): QtGui.QLabel.__init__(self, parent) + self.parent = parent self.m_movie = QtGui.QMovie() self.setMovie(self.m_movie) self.m_movie.frameChanged.connect(self.frame_change) @@ -625,8 +629,11 @@ class AOMovie(QtGui.QLabel): self.pillow_timer.timeout.connect(self.pillow_frame_change) self.pillow_label = QtGui.QLabel(self) - self.pillow_label.setGeometry(0, 0, parent.size().width(), parent.size().height()) self.pillow_label.hide() + + def resize(self): + super(AOMovie, self).resize(self.parent.size()) + self.pillow_label.setGeometry(0, 0, self.parent.size().width(), self.parent.size().height()) def move(self, x, y): self.xx = x @@ -644,10 +651,10 @@ class AOMovie(QtGui.QLabel): if not exists(gif_path): pathlist = [ - get_img_suffix(AO2XPpath+"themes/default/"+p_image+"_bubble"), - get_img_suffix(AOpath+"characters/"+p_char+"/"+p_image), - get_img_suffix(AOpath+"misc/default/"+p_image), - get_img_suffix(AO2XPpath+"themes/default/"+p_image) + getImageSuffix(AO2XPpath+"themes/default/"+p_image+"_bubble"), + getImageSuffix(AOpath+"characters/"+p_char+"/"+p_image), + getImageSuffix(AOpath+"misc/default/"+p_image), + getImageSuffix(AO2XPpath+"themes/default/"+p_image) ] for f in pathlist: @@ -728,10 +735,13 @@ class AOMovie(QtGui.QLabel): class ZoomLines(QtGui.QLabel): def __init__(self, parent): super(ZoomLines, self).__init__(parent) - self.resize(parent.size()) + self.parent = parent self.setScaledContents(True) self.movie = QtGui.QMovie() self.movie.frameChanged.connect(self.frame_change) + + def resize(self): + super(ZoomLines, self).resize(self.parent.size()) def frame_change(self): img = self.movie.currentImage() @@ -752,12 +762,16 @@ class ZoomLines(QtGui.QLabel): class WTCEView(QtGui.QLabel): def __init__(self, parent): super(WTCEView, self).__init__(parent) + self.parent = parent self.movie = QtGui.QMovie() self.movie.frameChanged.connect(self.frame_change) self.finalframe_timer = QtCore.QTimer() self.finalframe_timer.setSingleShot(False) self.finalframe_timer.timeout.connect(self.finished) - self.resize(parent.viewport_w, parent.viewport_h) + + def resize(self): + super(WTCEView, self).move(self.parent.viewport.x(), self.parent.viewport.y()) + super(WTCEView, self).resize(self.parent.viewport.size()) def frame_change(self, frame): if self.movie.state() != QtGui.QMovie.Running: @@ -1090,14 +1104,8 @@ class GUI(QtGui.QWidget): self.iniswapindex = 0 self.background = 'default' - self.viewport_w = 256*2 - self.viewport_h = 192*2 - self.viewport = QtGui.QWidget(self) - self.viewport.resize(self.viewport_w, self.viewport_h) - self.court = QtGui.QLabel(self.viewport) - self.court.resize(self.viewport_w, self.viewport_h) self.slide_bg = QtGui.QLabel(self.viewport) self.slide_bg_animation = QtCore.QPropertyAnimation(self.slide_bg, "geometry") @@ -1109,42 +1117,28 @@ class GUI(QtGui.QWidget): self.char = AOCharMovie(self.viewport) self.char.done.connect(self.preanim_done) - self.sidechar = AOCharMovie(self.viewport) - self.sidechar.hide() + self.sideChar = AOCharMovie(self.viewport) + self.sideChar.hide() self.slide_last_wit = [] self.slide_last_pos = None - self.slide_witness = AOCharMovie(self.viewport) - self.slide_witness.show_on_play = False - self.slide_witness.hide() - self.slide_speaker = AOCharMovie(self.viewport) - self.slide_speaker.hide() - self.slide_speaker.show_on_play = False + self.slideWitness = AOCharMovie(self.viewport) + self.slideWitness.show_on_play = False + self.slideWitness.hide() + self.slideSpeaker = AOCharMovie(self.viewport) + self.slideSpeaker.hide() + self.slideSpeaker.show_on_play = False self.slide_overlay = QtGui.QLabel(self.viewport) self.slide_overlay.hide() self.bench = QtGui.QLabel(self.viewport) - self.bench.resize(self.viewport_w, self.viewport_h) - self.effectview = AOMovie(self.viewport) - self.effectview.resize(self.viewport_w, self.viewport_h) - self.effectview.setScaledContents(True) - - font_db = QtGui.QFontDatabase() - font_db.addApplicationFont(AO2XPpath + 'font/Igiari.ttf') - font_db.addApplicationFont(AO2XPpath + 'font/Ace_Name_Regular.ttf') - name_font = QtGui.QFont("Ace Name") - name_font.setPointSize(12) - ao2text_font = QtGui.QFont("Igiari") - ao2text_font.setPointSize(24) + self.effectView = AOMovie(self.viewport) + self.effectView.setScaledContents(True) self.chatbox = QtGui.QLabel(self.viewport) - chatbox = QtGui.QPixmap(AO2XPpath + 'themes/AceAttorney2x/chatbig.png') - #chatbox = QtGui.QPixmap(AO2XPpath + 'themes/default/chatmed.png') - self.chatboxheight = chatbox.size().height() - self.chatbox.setPixmap(chatbox) - self.chatbox.move(0, self.viewport_h - self.chatboxheight) + self.chatbox.setScaledContents(True) self.text = QtGui.QTextEdit(self.chatbox) self.text.setFrameStyle(QtGui.QFrame.NoFrame) @@ -1152,7 +1146,6 @@ class GUI(QtGui.QWidget): self.text.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.text.setReadOnly(True) self.text.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) - self.text.setFont(ao2text_font) self.ao2text = QtGui.QTextEdit(self.chatbox) self.ao2text.setFrameStyle(QtGui.QFrame.NoFrame) @@ -1160,26 +1153,22 @@ class GUI(QtGui.QWidget): self.ao2text.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.ao2text.setReadOnly(True) self.ao2text.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) - self.ao2text.setFont(ao2text_font) self.name = QtGui.QLabel(self.chatbox) - self.name.setFont(name_font) self.presentedevi = QtGui.QLabel(self) - self.presentedevi.setGeometry(16, 16, 140, 140) + self.presentedevi.setScaledContents(True) self.presentedevi.hide() - self.wtceview = WTCEView(self) - self.wtcesignal.connect(self.wtceview.show_WTCE) + self.wtceView = WTCEView(self) + self.wtcesignal.connect(self.wtceView.show_WTCE) - self.objectionview = AOMovie(self.viewport) - self.objectionview.resize(self.viewport_w, self.viewport_h) - self.objectionview.setScaledContents(True) - self.objectionview.done.connect(self.objection_done) + self.objectionView = AOMovie(self.viewport) + self.objectionView.setScaledContents(True) + self.objectionView.done.connect(self.objection_done) self.whiteflashlab = QtGui.QLabel(self.viewport) self.whiteflashlab.setPixmap(QtGui.QPixmap(AO2XPpath + 'themes/default/realizationflash.png')) - self.whiteflashlab.setGeometry(0, 0, self.viewport_w, self.viewport_h) self.whiteflashlab.setScaledContents(True) self.whiteflashlab.hide() self.whiteflash = QtCore.QTimer() @@ -1187,10 +1176,10 @@ class GUI(QtGui.QWidget): self.whiteflash.timeout.connect(partial(self.setWhiteFlash, False)) self.screenshake = QtCore.QTimer() - self.screenshake.timeout.connect(self.screen_shake_tick) - self.shakes_remaining = 0 + self.screenshake.timeout.connect(self.screenShakeTick) + self.shakesRemaining = 0 - self.onscreen_timer_labels = [] + self.onscreenTimerLabels = [] self.onscreen_timer_times = [0, 0, 0, 0, 0] self.onscreen_timer_paused = [True, True, True, True, True] self.onscreen_timer = QtCore.QTimer(self) @@ -1199,18 +1188,16 @@ class GUI(QtGui.QWidget): for i in range(len(self.onscreen_timer_times)): label = QtGui.QLabel(self) - label.setFont(name_font) label.hide() label.setText("00:00:00") - label.resize(self.viewport_w, label.sizeHint().height()) label.setStyleSheet('color: white;') - self.onscreen_timer_labels.append(label) + self.onscreenTimerLabels.append(label) - self.onscreen_timer_labels[0].setAlignment(QtCore.Qt.AlignCenter) - self.onscreen_timer_labels[3].setAlignment(QtCore.Qt.AlignRight) - self.onscreen_timer_labels[4].setAlignment(QtCore.Qt.AlignRight) - self.onscreen_timer_labels[2].move(self.onscreen_timer_labels[1].x(), self.onscreen_timer_labels[1].y() + self.onscreen_timer_labels[1].size().height() + 4) - self.onscreen_timer_labels[4].move(self.onscreen_timer_labels[3].x(), self.onscreen_timer_labels[3].y() + self.onscreen_timer_labels[3].size().height() + 4) + self.onscreenTimerLabels[0].setAlignment(QtCore.Qt.AlignCenter) + self.onscreenTimerLabels[3].setAlignment(QtCore.Qt.AlignRight) + self.onscreenTimerLabels[4].setAlignment(QtCore.Qt.AlignRight) + self.onscreenTimerLabels[2].move(self.onscreenTimerLabels[1].x(), self.onscreenTimerLabels[1].y() + self.onscreenTimerLabels[1].size().height() + 4) + self.onscreenTimerLabels[4].move(self.onscreenTimerLabels[3].x(), self.onscreenTimerLabels[3].y() + self.onscreenTimerLabels[3].size().height() + 4) self.ooclog = ChatLogs(self, 1) self.ooclog.setReadOnly(True) @@ -1362,9 +1349,9 @@ class GUI(QtGui.QWidget): self.mutedlist.itemClicked.connect(self.changeMuteIndex) self.unmutedlist.itemClicked.connect(self.changeUnmuteIndex) - self.iniswaplist = QtGui.QComboBox(self.gametab_iniswap) - self.iniswaplist.currentIndexChanged.connect(self.iniswap_index_change) - self.iniswaplist.setEditable(1) + self.iniSwapList = QtGui.QComboBox(self.gametab_iniswap) + self.iniSwapList.currentIndexChanged.connect(self.iniswap_index_change) + self.iniSwapList.setEditable(1) self.iniswapconfirm = QtGui.QPushButton(self.gametab_iniswap) self.iniswapconfirm.setText('Swap') self.iniswapconfirm.clicked.connect(self.iniswap_confirm) @@ -1380,16 +1367,16 @@ class GUI(QtGui.QWidget): self.paircheckbox = QtGui.QCheckBox(self.gametab_pair) self.paircheckbox.setChecked(False) self.pairdropdown = QtGui.QComboBox(self.gametab_pair) - self.pairoffset = QtGui.QSlider(QtCore.Qt.Horizontal, self.gametab_pair) - self.pairoffset.setRange(-100, 100) - self.pairoffset.setValue(0) + self.pairOffset = QtGui.QSlider(QtCore.Qt.Horizontal, self.gametab_pair) + self.pairOffset.setRange(-100, 100) + self.pairOffset.setValue(0) self.pairoffset_l = QtGui.QLabel("X offset", self.gametab_pair) - self.ypairoffset = QtGui.QSlider(QtCore.Qt.Vertical, self.gametab_pair) - self.ypairoffset.setRange(-100, 100) - self.ypairoffset.setValue(0) + self.yPairOffset = QtGui.QSlider(QtCore.Qt.Vertical, self.gametab_pair) + self.yPairOffset.setRange(-100, 100) + self.yPairOffset.setValue(0) self.ypairoffset_l = QtGui.QLabel("Y offset", self.gametab_pair) self.pairoffsetreset = QtGui.QPushButton("Reset", self.gametab_pair) - self.pairoffsetreset.clicked.connect(self.reset_offsets) + self.pairoffsetreset.clicked.connect(self.resetOffsets) self.pair_order = QtGui.QComboBox(self.gametab_pair) self.pair_order.addItem("Front") self.pair_order.addItem("Behind") @@ -1399,7 +1386,7 @@ class GUI(QtGui.QWidget): self.misc_layout.setAlignment(QtCore.Qt.AlignTop) self.mocktext = QtGui.QCheckBox() self.mocktext.setChecked(False) - self.mocktext.setText(mock_str("mock text")) + self.mocktext.setText(mockString("mock text")) self.spacebartext = QtGui.QCheckBox() self.spacebartext.setChecked(False) self.spacebartext.setText("S p a c i n g") @@ -1607,7 +1594,7 @@ class GUI(QtGui.QWidget): self.charside = 'def' self.lastmsg = '' self.inboxqueue = [] - self.text_wait_time = int(get_option("General", "text stay time", 200)) + self.textWaitTime = int(getOption("General", "text stay time", 200)) self.msgqueue = [] self.selectedmsg = -1 self.evidence = [] @@ -1618,29 +1605,29 @@ class GUI(QtGui.QWidget): self.selectedplayer = -1 self.myflip = 0 self.playsfx = 1 - self.demo_recorder = None - self.demo_playing = False + self.demoRecorder = None + self.demoPlaying = False self.musiclist = {} - self.slide_enabled = bool(get_option("General", "slide", False)) - self.slide_available = False - self.slide_has_overlay = False - self.slide_kind = 0 # 0 = def-pro, 1 = def-wit, 2 = pro-wit - self.slide_direction = 0 # 0 = left to right, 1 = right to left + self.slideEnabled = bool(getOption("General", "slide", False)) + self.slideAvailable = False + self.slideHasOverlay = False + self.slideKind = 0 # 0 = def-pro, 1 = def-wit, 2 = pro-wit + self.slideDirection = 0 # 0 = left to right, 1 = right to left - if self.slide_enabled: + if self.slideEnabled: self.slidebutton.setChecked(True) - # slide_map[old_pos][new_pos] = [kind, direction] - self.slide_map = { + # slideMap[old_pos][new_pos] = [kind, direction] + self.slideMap = { "def": { "pro": [0, 0], "wit": [1, 0] }, "wit": { "def": [1, 1], "pro": [2, 0] }, "pro": { "def": [0, 1], "wit": [2, 1] }, } self.loadSwapCharacters() - self.iniswaplist.setCurrentIndex(0) - self.evidence_editor = EditEvidenceDialog(self) + self.iniSwapList.setCurrentIndex(0) + self.evidenceEditor = EditEvidenceDialog(self) self.connect(self, QtCore.SIGNAL('showMessage(QString, QString, QString)'), self.showMessage) @@ -1654,46 +1641,97 @@ class GUI(QtGui.QWidget): self.specialstream = 0 self.download_thread = None self.tcp = None - self.demo_player = None + self.demoPlayer = None # Finally, load the theme self.width = 820 self.height = 730 - self.load_theme() - - def load_theme(self, switching=False): - theme = get_option("General", "theme", "default") + self.viewportScale = 1 + self.nameFontPointSize = 12 + self.textFontPointSize = 24 + self.loadTheme() + + def loadTheme(self, switching=False): + theme = getOption("General", "theme", "default") try: with open(AO2XPpath+"ao2xp_themes/"+theme+"/theme.py") as t: exec t if switching: # This is to reset the colors on the music list. Not necessary on startup self.onMusicSearch("") + + self.viewportScale = self.viewport.height() / float(192) + + self.court.resize(self.viewport.size()) + self.bench.resize(self.viewport.size()) + self.effectView.resize() + self.objectionView.resize() + self.zoom.resize() + self.wtceView.resize() + self.char.resize() + self.sideChar.resize() + self.slideWitness.resize() + self.slideSpeaker.resize() + + self.ao2text.setGeometry(self.text.geometry()) + self.ao2text.setStyleSheet(self.text.styleSheet()) + + chatboxPixmap = QtGui.QPixmap(AO2XPpath + 'themes/default/chatmed.png') + chatboxWidth = chatboxPixmap.size().width() * self.viewportScale + self.chatboxHeight = chatboxPixmap.size().height() * self.viewportScale + self.chatbox.setPixmap(chatboxPixmap.scaled(chatboxWidth, self.chatboxHeight, QtCore.Qt.KeepAspectRatioByExpanding, QtCore.Qt.FastTransformation)) + self.chatbox.resize(chatboxWidth, self.chatboxHeight) + self.chatbox.move(0, self.viewport.height() - self.chatboxHeight) + + self.presentedevi.setGeometry(self.viewport.x() + 16, self.viewport.y() + 16, 70 * self.viewportScale, 70 * self.viewportScale) + + fontDb = None + nameFont = None + textFont = None + + fontDb = QtGui.QFontDatabase() + fontDb.addApplicationFont(AO2XPpath + 'font/Igiari.ttf') + fontDb.addApplicationFont(AO2XPpath + 'font/Ace_Name_Regular.ttf') + nameFont = QtGui.QFont("Ace Name") + textFont = QtGui.QFont("Igiari") + nameFont.setPointSize(self.nameFontPointSize) + textFont.setPointSize(self.textFontPointSize) + self.text.setFont(textFont) + self.ao2text.setFont(textFont) + self.name.setFont(nameFont) + + for label in self.onscreenTimerLabels: + label.resize(self.viewport.width(), label.sizeHint().height()) + label.setFont(nameFont) + + if switching: + self.setBackground() + self.setScene() except Exception as e: QtGui.QMessageBox.critical(None, "Unable to load theme", "There was a problem loading the current theme \"%s\":\n\n%s." % (theme, e)) os._exit(-2) - def reset_offsets(self): - self.pairoffset.setValue(0) - self.ypairoffset.setValue(0) + def resetOffsets(self): + self.pairOffset.setValue(0) + self.yPairOffset.setValue(0) - def screen_shake_tick(self): - self.shakes_remaining -= 1 - shakeforce = 8 - if self.shakes_remaining: - self.court.move(random.randint(-shakeforce, shakeforce), random.randint(-shakeforce, shakeforce)) - self.zoom.move(random.randint(-shakeforce, shakeforce), random.randint(-shakeforce, shakeforce)) - self.char.move(self.char.xx + random.randint(-shakeforce, shakeforce), self.char.yy + random.randint(-shakeforce, shakeforce), True) - self.sidechar.move(self.sidechar.xx + random.randint(-shakeforce, shakeforce), self.sidechar.yy + random.randint(-shakeforce, shakeforce), True) - self.chatbox.move(random.randint(-shakeforce, shakeforce), self.viewport_h - self.chatboxheight + random.randint(-shakeforce, shakeforce)) - self.ao2text.move(-self.chatbox.x()+16, (self.viewport_h-self.chatboxheight-self.chatbox.y())+32) - self.text.move(-self.chatbox.x()+16, (self.viewport_h-self.chatboxheight-self.chatbox.y())+-1) + def screenShakeTick(self): + self.shakesRemaining -= 1 + shakeForce = 8 + if self.shakesRemaining: + self.court.move(random.randint(-shakeForce, shakeForce), random.randint(-shakeForce, shakeForce)) + self.zoom.move(random.randint(-shakeForce, shakeForce), random.randint(-shakeForce, shakeForce)) + self.char.move(self.char.xx + random.randint(-shakeForce, shakeForce), self.char.yy + random.randint(-shakeForce, shakeForce), True) + self.sideChar.move(self.sideChar.xx + random.randint(-shakeForce, shakeForce), self.sideChar.yy + random.randint(-shakeForce, shakeForce), True) + self.chatbox.move(random.randint(-shakeForce, shakeForce), self.viewport.height() - self.chatboxHeight + random.randint(-shakeForce, shakeForce)) + self.ao2text.move(-self.chatbox.x()+16, (self.viewport.height()-self.chatboxHeight-self.chatbox.y())+32) + self.text.move(-self.chatbox.x()+16, (self.viewport.height()-self.chatboxHeight-self.chatbox.y())+-1) else: self.court.move(0,0) self.zoom.move(0,0) self.char.move(self.char.xx, self.char.yy, True) - self.sidechar.move(self.sidechar.xx, self.sidechar.yy, True) - self.chatbox.move(0, self.viewport_h-self.chatboxheight) + self.sideChar.move(self.sideChar.xx, self.sideChar.yy, True) + self.chatbox.move(0, self.viewport.height()-self.chatboxHeight) self.ao2text.move(16, 32) self.text.move(16,32) self.screenshake.stop() @@ -1735,7 +1773,7 @@ class GUI(QtGui.QWidget): self.setJudgeButtons() self.icchat_focus() - if self.demo_playing: + if self.demoPlaying: return server_is_2_8 = "additive" in self.features and "looping_sfx" in self.features and "effects" in self.features @@ -1929,7 +1967,7 @@ class GUI(QtGui.QWidget): self.whiteflash.start(msec) def setScreenShake(self, on, amount=20): - self.shakes_remaining = amount if on else 1 + self.shakesRemaining = amount if on else 1 self.screenshake.start(25) def WTCEbuttonPressed(self, type, variant): @@ -2055,11 +2093,11 @@ class GUI(QtGui.QWidget): def loadSwapCharacters(self): self.charsfolder = [] - self.iniswaplist.clear() + self.iniSwapList.clear() for folder in os.listdir(unicode(AOpath + 'characters')): if exists(AOpath + 'characters/' + folder + '/char.ini'): self.charsfolder.append(folder) - self.iniswaplist.addItem(folder) + self.iniSwapList.addItem(folder) def iniswap_confirm(self): if self.charlist[self.mychar][0].lower() == self.charsfolder[self.iniswapindex].lower(): @@ -2075,12 +2113,12 @@ class GUI(QtGui.QWidget): self.loadCharacter(self.charlist[self.mychar][0]) def onAddEvidence(self): - self.evidence_editor.show() + self.evidenceEditor.show() def onEditEvidence(self): if not self.evidence: return QtGui.QMessageBox.information(self, 'No evidence', "There's no evidence on the court record.") - self.evidence_editor.edit_evidence(self.selectedevi) + self.evidenceEditor.edit_evidence(self.selectedevi) def onDeleteEvidence(self): if self.selectedevi == -1: @@ -2264,7 +2302,7 @@ class GUI(QtGui.QWidget): self.tcp.send("ZZ#%") def onClick_changeChar(self): - if self.demo_playing: + if self.demoPlaying: self.inbox_timer.stop() self.chat_tick_timer.stop() self.disconnectCommon() @@ -2412,11 +2450,11 @@ class GUI(QtGui.QWidget): self.privateinv = False if self.tcp: self.tcp.close() - if self.demo_player: - self.demo_player.stop() - self.demo_player = None - self.demo_recorder = None - self.demo_playing = False + if self.demoPlayer: + self.demoPlayer.stop() + self.demoPlayer = None + self.demoRecorder = None + self.demoPlaying = False self.stopMusic() def onMusicClick(self, item): @@ -2466,7 +2504,7 @@ class GUI(QtGui.QWidget): return if self.mocktext.isChecked(): - text = mock_str(text) + text = mockString(text) if self.autocaps.isChecked(): l = QtCore.QStringList(list(text)) l[0] = l[0].toUpper() @@ -2489,7 +2527,7 @@ class GUI(QtGui.QWidget): if text: if self.mocktext.isChecked(): - text = mock_str(text) + text = mockString(text) if self.autocaps.isChecked(): l = list(text) if l[0] == " " and len(l) > 1: @@ -2592,9 +2630,9 @@ class GUI(QtGui.QWidget): # AO 2.8: always send offset if "y_offset" in self.features: # AO 2.9 - msg += str(self.pairoffset.value()) + "&" + str(-self.ypairoffset.value()) + "#" + msg += str(self.pairOffset.value()) + "&" + str(-self.yPairOffset.value()) + "#" else: - msg += str(self.pairoffset.value())+"#" + msg += str(self.pairOffset.value())+"#" msg += str(int(self.nointerruptbtn.isChecked()))+"#" # NoInterrupt(TM) @@ -2646,7 +2684,12 @@ class GUI(QtGui.QWidget): self.realizationbtn.setPressed(False) self.shakebtn.setPressed(False) - def setBackground(self, bg, reset=False): + def setBackground(self, bg=None, reset=False): + if bg is None: + bg = self.background + else: + self.background = bg + if not exists(AOpath + 'background/' + bg): bg = 'default' @@ -2669,38 +2712,38 @@ class GUI(QtGui.QWidget): bgimg = QtGui.QImage(AOpath + 'background/' + bg + '/' + bgfile[1] + '.png') if not bgimg.isNull(): - if bgimg.size().width() != self.viewport_w or bgimg.size().height() != self.viewport_h: - setattr(self, bgfile[0], QtGui.QPixmap.fromImage(bgimg.scaled(self.viewport_w, self.viewport_h, QtCore.Qt.KeepAspectRatioByExpanding, QtCore.Qt.FastTransformation))) + if bgimg.size().width() != self.viewport.width() or bgimg.size().height() != self.viewport.height(): + setattr(self, bgfile[0], QtGui.QPixmap.fromImage(bgimg.scaled(self.viewport.width(), self.viewport.height(), QtCore.Qt.KeepAspectRatioByExpanding, QtCore.Qt.FastTransformation))) else: setattr(self, bgfile[0], QtGui.QPixmap.fromImage(bgimg)) else: setattr(self, bgfile[0], QtGui.QPixmap.fromImage(bgimg)) court = AOpath + 'background/' + bg + '/court.png' - self.slide_available = exists(court) + self.slideAvailable = exists(court) - if self.slide_available: + if self.slideAvailable: slide = QtGui.QPixmap(court) slide_width = slide.width() * 2 - self.slide_bg.resize(slide_width, self.viewport_h) - self.slide_bg.setPixmap(slide.scaled(slide.width() * 2, self.viewport_h, QtCore.Qt.KeepAspectRatioByExpanding, QtCore.Qt.FastTransformation)) + self.slide_bg.resize(slide_width, self.viewport.height()) + self.slide_bg.setPixmap(slide.scaled(slide.width() * 2, self.viewport.height(), QtCore.Qt.KeepAspectRatioByExpanding, QtCore.Qt.FastTransformation)) court_overlay = AOpath + 'background/' + bg + '/court_overlay.png' if exists(court_overlay): slide_overlay = QtGui.QPixmap(court_overlay) - self.slide_overlay.resize(slide_width, self.viewport_h) - self.slide_overlay.setPixmap(slide_overlay.scaled(slide.width() * 2, self.viewport_h, QtCore.Qt.KeepAspectRatioByExpanding, QtCore.Qt.FastTransformation)) - self.slide_has_overlay = True + self.slide_overlay.resize(slide_width, self.viewport.height()) + self.slide_overlay.setPixmap(slide_overlay.scaled(slide.width() * 2, self.viewport.height(), QtCore.Qt.KeepAspectRatioByExpanding, QtCore.Qt.FastTransformation)) + self.slideHasOverlay = True else: - self.slide_has_overlay = False + self.slideHasOverlay = False self.bench.show() if reset: self.chatbox.hide() self.char.hide() - self.set_scene(True) + self.setScene(True) def slide_start(self, value = [0, 0]): self.chatbox.hide() @@ -2710,42 +2753,42 @@ class GUI(QtGui.QWidget): self.bench.hide() self.slide_bg.show() - def_pos = QtCore.QRect(0, 0, self.slide_bg.width(), self.viewport_h) - pro_pos = QtCore.QRect(-(def_pos.size().width() - self.viewport_w), 0, def_pos.size().width(), self.viewport_h) - wit_pos = QtCore.QRect(-(self.slide_bg.width() / 2 - self.viewport_w / 2), 0, self.slide_bg.width(), self.viewport_h) + def_pos = QtCore.QRect(0, 0, self.slide_bg.width(), self.viewport.height()) + pro_pos = QtCore.QRect(-(def_pos.size().width() - self.viewport.width()), 0, def_pos.size().width(), self.viewport.height()) + wit_pos = QtCore.QRect(-(self.slide_bg.width() / 2 - self.viewport.width() / 2), 0, self.slide_bg.width(), self.viewport.height()) - self.slide_kind = value[0] - self.slide_direction = value[1] + self.slideKind = value[0] + self.slideDirection = value[1] # TODO: play only first frame of preanim, figure out zooms scaling = get_scaling(ini.read_ini(AOpath + 'characters/' + self.m_chatmessage[CHARNAME] + '/char.ini', "options", "scaling").lower()) if self.m_chatmessage[FLIP] == "1": - self.slide_speaker.set_flipped(True) + self.slideSpeaker.set_flipped(True) else: - self.slide_speaker.set_flipped(False) + self.slideSpeaker.set_flipped(False) - self.slide_speaker.play_idle(self.m_chatmessage[CHARNAME], self.m_chatmessage[ANIM], scaling) - self.slide_speaker.show() + self.slideSpeaker.play_idle(self.m_chatmessage[CHARNAME], self.m_chatmessage[ANIM], scaling) + self.slideSpeaker.show() - if self.slide_kind == 0: + if self.slideKind == 0: if self.slide_last_wit: - self.slide_witness.play_idle(self.slide_last_wit[0], self.slide_last_wit[1], self.slide_last_wit[2]) - self.slide_witness.show() - if self.slide_direction == 0: + self.slideWitness.play_idle(self.slide_last_wit[0], self.slide_last_wit[1], self.slide_last_wit[2]) + self.slideWitness.show() + if self.slideDirection == 0: bg_start = def_pos bg_end = pro_pos else: bg_start = pro_pos bg_end = def_pos - elif self.slide_kind == 1: - if self.slide_direction == 0: + elif self.slideKind == 1: + if self.slideDirection == 0: bg_start = def_pos bg_end = wit_pos else: bg_start = wit_pos bg_end = def_pos - elif self.slide_kind == 2: - if self.slide_direction == 0: + elif self.slideKind == 2: + if self.slideDirection == 0: bg_start = wit_pos bg_end = pro_pos else: @@ -2759,7 +2802,7 @@ class GUI(QtGui.QWidget): self.slide_bg_animation.setEasingCurve(QtCore.QEasingCurve.InOutQuad) self.slide_bg_animation.start() - if self.slide_has_overlay: + if self.slideHasOverlay: self.slide_overlay.show() self.slide_overlay.setGeometry(bg_start) @@ -2768,37 +2811,37 @@ class GUI(QtGui.QWidget): self.slide_overlay.move(x, 0) # def-pro - if self.slide_kind == 0: + if self.slideKind == 0: if self.slide_last_wit: - self.slide_witness.move_slide(x + self.slide_bg.width() / 2 - self.viewport_w / 2) - if self.slide_direction == 0: + self.slideWitness.move_slide(x + self.slide_bg.width() / 2 - self.viewport.width() / 2) + if self.slideDirection == 0: self.char.move_slide(x) - self.slide_speaker.move_slide(x + self.slide_bg.width() - self.viewport_w) + self.slideSpeaker.move_slide(x + self.slide_bg.width() - self.viewport.width()) else: - self.char.move_slide(x + self.slide_bg.width() - self.viewport_w) - self.slide_speaker.move_slide(x) + self.char.move_slide(x + self.slide_bg.width() - self.viewport.width()) + self.slideSpeaker.move_slide(x) # def-wit - elif self.slide_kind == 1: - if self.slide_direction == 0: + elif self.slideKind == 1: + if self.slideDirection == 0: self.char.move_slide(x) - self.slide_speaker.move_slide(x + self.slide_bg.width() / 2 - self.viewport_w / 2) + self.slideSpeaker.move_slide(x + self.slide_bg.width() / 2 - self.viewport.width() / 2) else: - self.char.move_slide(x + self.slide_bg.width() / 2 - self.viewport_w / 2) - self.slide_speaker.move_slide(x) + self.char.move_slide(x + self.slide_bg.width() / 2 - self.viewport.width() / 2) + self.slideSpeaker.move_slide(x) # pro-wit - elif self.slide_kind == 2: - if self.slide_direction == 0: - self.char.move_slide(x + self.slide_bg.width() / 2 - self.viewport_w / 2) - self.slide_speaker.move_slide(x + self.slide_bg.width() - self.viewport_w) + elif self.slideKind == 2: + if self.slideDirection == 0: + self.char.move_slide(x + self.slide_bg.width() / 2 - self.viewport.width() / 2) + self.slideSpeaker.move_slide(x + self.slide_bg.width() - self.viewport.width()) else: - self.char.move_slide(x + self.slide_bg.width() - self.viewport_w) - self.slide_speaker.move_slide(x + self.slide_bg.width() / 2 - self.viewport_w / 2) + self.char.move_slide(x + self.slide_bg.width() - self.viewport.width()) + self.slideSpeaker.move_slide(x + self.slide_bg.width() / 2 - self.viewport.width() / 2) def slide_done(self): self.slide_bg.hide() self.slide_overlay.hide() - self.slide_witness.hide() - self.slide_speaker.hide() + self.slideWitness.hide() + self.slideSpeaker.hide() self.handle_chatmessage_2() def netmsg_hp(self, type, health): @@ -2861,7 +2904,7 @@ class GUI(QtGui.QWidget): t = time.localtime() logcharname = f_char - timestamp = "[%d:%.2d] " % (t[3], t[4]) if not self.demo_playing else "" + timestamp = "[%d:%.2d] " % (t[3], t[4]) if not self.demoPlaying else "" if f_char.lower() != self.charlist[f_char_id][0].lower(): logcharname = self.charlist[f_char_id][0] + ' (' + f_char + ')' @@ -2906,8 +2949,8 @@ class GUI(QtGui.QWidget): self.m_chatmessage = m_chatmessage objections = ["holdit", "objection", "takethat", "custom_objections/"+custom_objection if custom_objection != "custom" else "custom"] - self.objectionview.stop() - self.objectionview.play(objections[objection_mod-1], f_char.lower()) + self.objectionView.stop() + self.objectionView.play(objections[objection_mod-1], f_char.lower()) self.presentedevi.hide() self.playObjectionSnd(f_char.lower(), objection_mod) @@ -2925,29 +2968,29 @@ class GUI(QtGui.QWidget): self.handle_chatmessage_1(m_chatmessage) def set_text_color(self): - textcolor = int(self.m_chatmessage[TEXT_COLOR]) + textColor = int(self.m_chatmessage[TEXT_COLOR]) - is_rainbow = textcolor == C_RAINBOW + is_rainbow = textColor == C_RAINBOW - if textcolor == 0: + if textColor == 0: color = QtGui.QColor(255, 255, 255) - elif textcolor == 1: + elif textColor == 1: color = QtGui.QColor(0, 255, 0) - elif textcolor == 2: + elif textColor == 2: color = QtGui.QColor(255, 0, 0) - elif textcolor == 3: + elif textColor == 3: color = QtGui.QColor(255, 165, 0) - elif textcolor == 4: + elif textColor == 4: color = QtGui.QColor(45, 150, 255) - elif textcolor == 5: + elif textColor == 5: color = QtGui.QColor(255, 255, 0) - elif textcolor == 6: + elif textColor == 6: color = QtGui.QColor(255, 192, 203) - elif textcolor == 7: + elif textColor == 7: color = QtGui.QColor(0, 255, 255) - elif textcolor == 8: + elif textColor == 8: color = QtGui.QColor(200, 200, 200) - elif textcolor == 10: + elif textColor == 10: color = QtGui.QColor(0, 0, 0) else: color = QtGui.QColor(255, 255, 255) @@ -2963,7 +3006,7 @@ class GUI(QtGui.QWidget): style += "color: rgb("+str(color.red())+", "+str(color.green())+", "+str(color.blue())+")" self.ao2text.setStyleSheet(style) - def set_scene(self, init=False): + def setScene(self, init=False): if not init: side = self.m_chatmessage[SIDE] # TODO: support custom positions @@ -2972,41 +3015,35 @@ class GUI(QtGui.QWidget): else: side = 'wit' + self.presentedevi.hide() + if side == 'def': self.court.setPixmap(self.side_def) self.bench.setPixmap(self.bench_def) - self.bench.move(0, self.viewport_h - self.bench_def.size().height()) - self.presentedevi.move(170, 16) + self.bench.move(0, self.viewport.height() - self.bench_def.size().height()) elif side == 'pro': self.court.setPixmap(self.side_pro) self.bench.setPixmap(self.bench_pro) - self.bench.move(self.viewport_w - self.bench_pro.size().width(), self.viewport_h - self.bench_pro.size().height()) - self.presentedevi.move(16, 16) + self.bench.move(self.viewport.width() - self.bench_pro.size().width(), self.viewport.height() - self.bench_pro.size().height()) elif side == 'wit': self.court.setPixmap(self.side_wit) self.bench.setPixmap(self.bench_wit) self.bench.move(0, 0) - self.presentedevi.move(16, 16) elif side == 'hld': self.court.setPixmap(self.side_hld) self.bench.setPixmap(self.bench_hld) - self.presentedevi.move(16, 16) elif side == 'hlp': self.court.setPixmap(self.side_hlp) self.bench.setPixmap(self.bench_hlp) - self.presentedevi.move(170, 16) elif side == 'jud': self.court.setPixmap(self.side_jud) self.bench.setPixmap(self.bench_jud) - self.presentedevi.move(16, 16) elif side == 'sea': self.court.setPixmap(self.side_jud if self.side_sea.isNull() else self.side_sea) self.bench.setPixmap(self.bench_jud if self.bench_sea.isNull() else self.bench_sea) - self.presentedevi.move(16, 16) elif side == 'jur': self.court.setPixmap(self.side_jud if self.side_jur.isNull() else self.side_jur) self.bench.setPixmap(self.bench_jud if self.bench_jur.isNull() else self.bench_jur) - self.presentedevi.move(16, 16) def set_desk(self, is_preanim=False): if self.anim_is_empty: @@ -3035,7 +3072,7 @@ class GUI(QtGui.QWidget): self.handle_chatmessage_1() def handle_chatmessage_1(self, m_chatmessage = None): - if not self.slide_enabled: + if not self.slideEnabled: if m_chatmessage: self.m_chatmessage = m_chatmessage self.handle_chatmessage_2() @@ -3047,20 +3084,20 @@ class GUI(QtGui.QWidget): self.m_chatmessage = m_chatmessage new_side = self.m_chatmessage[SIDE] - can_slide = self.slide_available and not was_zoom and int(self.m_chatmessage[EMOTE_MOD]) < 5 + can_slide = self.slideAvailable and not was_zoom and int(self.m_chatmessage[EMOTE_MOD]) < 5 if can_slide and self.m_chatmessage[SLIDE] == "1" and self.slide_last_pos and new_side != self.slide_last_pos and new_side in ["def", "pro", "wit"]: - self.slide_start(self.slide_map[self.slide_last_pos][new_side]) + self.slide_start(self.slideMap[self.slide_last_pos][new_side]) else: self.handle_chatmessage_2() def handle_chatmessage_2(self): self.zoom.set_zoom(False) - self.effectview.stop() + self.effectView.stop() self.text_state = 0 self.anim_state = 0 - self.objectionview.stop() + self.objectionView.stop() self.chat_tick_timer.stop() self.presentedevi.hide() @@ -3077,7 +3114,7 @@ class GUI(QtGui.QWidget): self.chatbox.hide() - self.set_scene() + self.setScene() self.set_text_color() f_message = self.m_chatmessage[CHATMSG] @@ -3115,12 +3152,12 @@ class GUI(QtGui.QWidget): vert_offset = -1 * hor_offset / 10 if not self.anim_is_empty: - self.char.move(self.viewport_w * hor_offset / 100, self.viewport_h * vert_offset / 100) + self.char.move(self.viewport.width() * hor_offset / 100, self.viewport.height() * vert_offset / 100) # check if paired if not self.m_chatmessage[OTHER_CHARID] and not self.anim_is_empty: - self.sidechar.hide() - self.sidechar.move(0,0) + self.sideChar.hide() + self.sideChar.move(0,0) else: if "effects" in self.features: got_other_charid = int(self.m_chatmessage[OTHER_CHARID].split("^")[0]) @@ -3128,7 +3165,7 @@ class GUI(QtGui.QWidget): got_other_charid = int(self.m_chatmessage[OTHER_CHARID]) if got_other_charid > -1: # user is paired - self.sidechar.show() + self.sideChar.show() pair_order = self.m_chatmessage[OTHER_CHARID].split("^") if "effects" in self.features and len(pair_order) > 1: @@ -3154,39 +3191,39 @@ class GUI(QtGui.QWidget): if pair_order == -1: # pair ordering not supported if hor2_offset >= hor_offset: - self.sidechar.raise_() + self.sideChar.raise_() self.char.raise_() else: self.char.raise_() - self.sidechar.raise_() + self.sideChar.raise_() elif pair_order == 0: # front - self.sidechar.raise_() + self.sideChar.raise_() self.char.raise_() elif pair_order == 1: # behind self.char.raise_() - self.sidechar.raise_() + self.sideChar.raise_() - self.sidechar.move(self.viewport_w * hor2_offset / 100, self.viewport_h * vert2_offset / 100) + self.sideChar.move(self.viewport.width() * hor2_offset / 100, self.viewport.height() * vert2_offset / 100) self.bench.raise_() self.chatbox.raise_() - self.effectview.raise_() - self.objectionview.raise_() + self.effectView.raise_() + self.objectionView.raise_() self.whiteflashlab.raise_() self.scaling[1] = get_scaling(ini.read_ini(AOpath + 'characters/' + self.m_chatmessage[OTHER_NAME] + '/char.ini', "options", "scaling").lower()) - self.sidechar.set_flipped(self.m_chatmessage[OTHER_FLIP] == "1") + self.sideChar.set_flipped(self.m_chatmessage[OTHER_FLIP] == "1") if not self.anim_is_empty: - self.sidechar.play_idle(self.m_chatmessage[OTHER_NAME], self.m_chatmessage[OTHER_EMOTE], self.scaling[1]) + self.sideChar.play_idle(self.m_chatmessage[OTHER_NAME], self.m_chatmessage[OTHER_EMOTE], self.scaling[1]) elif not self.anim_is_empty: - self.sidechar.hide() - self.sidechar.move(0, 0) + self.sideChar.hide() + self.sideChar.move(0, 0) self.scaling[0] = get_scaling(ini.read_ini(AOpath + 'characters/' + self.m_chatmessage[CHARNAME] + '/char.ini', "options", "scaling").lower()) - if self.slide_enabled and self.slide_available: + if self.slideEnabled and self.slideAvailable: if side == "wit": if int(self.m_chatmessage[EMOTE_MOD]) < 5: # Don't save anim if zoom self.slide_last_wit = [ @@ -3274,9 +3311,9 @@ class GUI(QtGui.QWidget): self.playSound("sfx-evidenceshoop.opus") if not is_left_side: - self.presentedevi.move(170*2, 16*2) + self.presentedevi.move(self.viewport.x() + 170 * self.viewportScale, self.viewport.y() + 16 * self.viewportScale) else: - self.presentedevi.move(16*2, 16*2) + self.presentedevi.move(self.viewport.x() + 16 * self.viewportScale, self.viewport.y() + 16 * self.viewportScale) self.presentedevi.show() else: self.presentedevi.hide() @@ -3284,7 +3321,7 @@ class GUI(QtGui.QWidget): side = self.m_chatmessage[SIDE] if emote_mod == 5 or emote_mod == 6: self.bench.hide() - self.sidechar.hide() + self.sideChar.hide() self.char.move(0,0) if side == "pro" or side == "hlp" or side == "wit": @@ -3339,8 +3376,8 @@ class GUI(QtGui.QWidget): if "effects" not in self.features: return - self.effectview.set_play_once(True) - self.effectview.play(effect) + self.effectView.set_play_once(True) + self.effectView.play(effect) def start_chat_ticking(self): if self.text_state != 0: @@ -3374,7 +3411,7 @@ class GUI(QtGui.QWidget): if self.chatmessage_is_empty: self.text_state = 2 - self.inbox_timer.start(self.text_wait_time) + self.inbox_timer.start(self.textWaitTime) return self.inline_color_stack = [] @@ -3393,7 +3430,7 @@ class GUI(QtGui.QWidget): if not self.blip: self.blip = self.charlist[charid][2].lower() - path = test_path( + path = testPath( AOpath+"sounds/blips/"+self.blip+".wav", AOpath+"sounds/blips/"+self.blip+".opus", AOpath+"sounds/general/sfx-blip"+self.blip+".wav", @@ -3427,7 +3464,7 @@ class GUI(QtGui.QWidget): self.anim_state = 3 if not self.anim_is_empty: self.char.play_idle(self.m_chatmessage[CHARNAME], self.m_chatmessage[ANIM], self.scaling[0]) - self.inbox_timer.start(self.text_wait_time) + self.inbox_timer.start(self.textWaitTime) else: f_character2 = f_message[self.tick_pos] @@ -3465,7 +3502,7 @@ class GUI(QtGui.QWidget): elif f_character == "(" and not self.next_character_is_not_special: #blue. self.inline_color_stack.append(INLINE_BLUE) - html = "" + f_character + "" + html = "" + f_character + "" self.ao2text.insertHtml(html) self.text.insertHtml(html) @@ -3479,7 +3516,7 @@ class GUI(QtGui.QWidget): elif f_character == ")" and not self.next_character_is_not_special and self.inline_color_stack: if self.inline_color_stack[-1] == INLINE_BLUE: del self.inline_color_stack[-1] - html = "" + f_character + "" + html = "" + f_character + "" self.ao2text.insertHtml(html) self.text.insertHtml(html) @@ -3497,14 +3534,14 @@ class GUI(QtGui.QWidget): elif f_character == "[" and not self.next_character_is_not_special: #gray. self.inline_color_stack.append(INLINE_GRAY) - html = "" + f_character + "" + html = "" + f_character + "" self.ao2text.insertHtml(html) self.text.insertHtml(html) elif f_character == "]" and not self.next_character_is_not_special and self.inline_color_stack: if self.inline_color_stack[-1] == INLINE_GRAY: del self.inline_color_stack[-1] - html = "" + f_character + "" + html = "" + f_character + "" self.ao2text.insertHtml(html) self.text.insertHtml(html) else: @@ -3549,23 +3586,23 @@ class GUI(QtGui.QWidget): if self.inline_color_stack: top_color = self.inline_color_stack[-1] if top_color == INLINE_ORANGE: - html = "" + f_character + "" + html = "" + f_character + "" self.ao2text.insertHtml(html) self.text.insertHtml(html) elif top_color == INLINE_BLUE: - html = "" + f_character + "" + html = "" + f_character + "" self.ao2text.insertHtml(html) self.text.insertHtml(html) elif top_color == INLINE_GREEN: - html = "" + f_character + "" + html = "" + f_character + "" self.ao2text.insertHtml(html) self.text.insertHtml(html) elif top_color == INLINE_GRAY: - html = "" + f_character + "" + html = "" + f_character + "" self.ao2text.insertHtml(html) self.text.insertHtml(html) elif top_color == INLINE_RED: - html = "" + f_character + "" + html = "" + f_character + "" self.ao2text.insertHtml(html) self.text.insertHtml(html) else: @@ -3657,7 +3694,7 @@ class GUI(QtGui.QWidget): audio.stophandle(self.sound) audio.freehandle(self.sound) - path = test_path(AOpath + 'sounds/general/' + sfx, AOpath + 'sounds/general/' + sfx + '.wav', AOpath + 'sounds/general/' + sfx + '.opus') + path = testPath(AOpath + 'sounds/general/' + sfx, AOpath + 'sounds/general/' + sfx + '.wav', AOpath + 'sounds/general/' + sfx + '.opus') if path: self.sound = audio.loadhandle(False, path, 0, 0, 0) @@ -3825,12 +3862,12 @@ class GUI(QtGui.QWidget): elif command == 1: self.onscreen_timer_paused[timer_id] = True elif command == 2: - self.onscreen_timer_labels[timer_id].show() + self.onscreenTimerLabels[timer_id].show() elif command == 3: - self.onscreen_timer_labels[timer_id].hide() + self.onscreenTimerLabels[timer_id].hide() def update_timers(self): - for timer_id, label in enumerate(self.onscreen_timer_labels): + for timer_id, label in enumerate(self.onscreenTimerLabels): time_ms = self.onscreen_timer_times[timer_id] if not time_ms or self.onscreen_timer_paused[timer_id]: continue @@ -3860,27 +3897,27 @@ class GUI(QtGui.QWidget): self.iclog.clear() self.ooclog.clear() - if not self.demo_playing: - self.enable_widgets(True) + if not self.demoPlaying: + self.enableWidgets(True) self.tcpthread.stop() - self.demo_playing = True + self.demoPlaying = True - self.demo_player = demo.DemoPlayer(self) - self.demo_player.MS_Chat.connect(self.netmsg_ms) - self.demo_player.newChar.connect(self.onPVPacket) - self.demo_player.newBackground.connect(self.setBackground) - self.demo_player.OOC_Log.connect(self.ooclog.append) - self.demo_player.IC_Log.connect(self.iclog.append) - self.demo_player.charSlots.connect(partial(self.charselect.setCharList, self.charlist)) - self.demo_player.allEvidence.connect(self.allEvidence) - self.demo_player.updatePlayerList.connect(self.updatePlayerList) - self.demo_player.rainbowColor.connect(self.text.setStyleSheet) - self.demo_player.timerUpdate.connect(self.start_pause_timers) + self.demoPlayer = demo.DemoPlayer(self) + self.demoPlayer.MS_Chat.connect(self.netmsg_ms) + self.demoPlayer.newChar.connect(self.onPVPacket) + self.demoPlayer.newBackground.connect(self.setBackground) + self.demoPlayer.OOC_Log.connect(self.ooclog.append) + self.demoPlayer.IC_Log.connect(self.iclog.append) + self.demoPlayer.charSlots.connect(partial(self.charselect.setCharList, self.charlist)) + self.demoPlayer.allEvidence.connect(self.allEvidence) + self.demoPlayer.updatePlayerList.connect(self.updatePlayerList) + self.demoPlayer.rainbowColor.connect(self.text.setStyleSheet) + self.demoPlayer.timerUpdate.connect(self.start_pause_timers) - self.demo_player.start(fname) + self.demoPlayer.start(fname) def demo_seek(self, time): - self.demo_player.seek(time) + self.demoPlayer.seek(time) def start_game(self, tcp, playerlist, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[], webAO_bucket=""): self.willDisconnect = False @@ -3903,7 +3940,7 @@ class GUI(QtGui.QWidget): webAO_bucket = webAO_bucket.replace("base/", "") buckets[0] = webAO_bucket self.charselect.setCharList(charlist) - autopick = get_option("General", "auto pick").decode('utf-8').lower() + autopick = getOption("General", "auto pick").decode('utf-8').lower() coincidence = -1 for i, char in enumerate(self.charlist): if char[0].lower() == autopick and char[1] == 0: @@ -3916,7 +3953,7 @@ class GUI(QtGui.QWidget): self.charselect.showCharSelect(False) # Putting it down here because some servers won't allow you to switch areas without picking a character first - autojoinarea = get_option("General", "auto join area").decode('utf-8') + autojoinarea = getOption("General", "auto join area").decode('utf-8') if autojoinarea != "": self.sendMC(autojoinarea) self.oocnameinput.setText(ini.read_ini("AO2XP.ini", "General", "OOC name", "unnamed")) @@ -3940,7 +3977,7 @@ class GUI(QtGui.QWidget): self.deskbtn.setDisabled("deskmod" not in features) self.flipbutton.setDisabled("flipping" not in features) self.customobject.setVisible("customobjections" in features) - self.ypairoffset.setVisible("y_offset" in features) + self.yPairOffset.setVisible("y_offset" in features) self.ypairoffset_l.setVisible("y_offset" in features) self.colordropdown.clear() @@ -3955,9 +3992,9 @@ class GUI(QtGui.QWidget): for char in self.charlist: if not exists(AOpath + 'characters/' + char[0].lower() + '/char.ini'): continue - char[2] = get_char_ini(char[0], "Options", "gender").lower() + char[2] = getCharIni(char[0], "Options", "gender").lower() if char[2] == "": - char[2] = get_char_ini(char[0], "Options", "blips").lower() + char[2] = getCharIni(char[0], "Options", "blips").lower() self.realizationbtn.setPressed(False) self.customobject.setPressed(False) @@ -3983,7 +4020,7 @@ class GUI(QtGui.QWidget): self.iclog.append(logstart) self.setBackground(background.lower()) - self.set_scene(True) + self.setScene(True) self.chatbox.hide() for msg in oocjoin: @@ -4023,10 +4060,10 @@ class GUI(QtGui.QWidget): self.tcpthread.timerUpdate.connect(self.start_pause_timers) self.tcpthread.start() - self.demo_playing = False - self.enable_widgets() + self.demoPlaying = False + self.enableWidgets() - self.start_demo_recorder(background) + self.startDemoRecorder(background) self.icchatinput.setFocus() def start_demo(self, fname): @@ -4041,7 +4078,7 @@ class GUI(QtGui.QWidget): self.onPVPacket() self.setBackground("default") - self.set_scene(True) + self.setScene(True) self.chatbox.hide() self.musicslider.setValue(ini.read_ini_int("AO2XP.ini", "Audio", "Music volume", 100)) @@ -4050,17 +4087,17 @@ class GUI(QtGui.QWidget): self.onImportEvidence(True) - self.demo_player = demo.DemoPlayer(self) - self.demo_player.MS_Chat.connect(self.netmsg_ms) - self.demo_player.newChar.connect(self.onPVPacket) - self.demo_player.newBackground.connect(self.setBackground) - self.demo_player.OOC_Log.connect(self.ooclog.append) - self.demo_player.IC_Log.connect(self.iclog.append) - self.demo_player.charSlots.connect(partial(self.charselect.setCharList, self.charlist)) - self.demo_player.allEvidence.connect(self.allEvidence) - self.demo_player.updatePlayerList.connect(self.updatePlayerList) - self.demo_player.rainbowColor.connect(self.text.setStyleSheet) - self.demo_player.timerUpdate.connect(self.start_pause_timers) + self.demoPlayer = demo.DemoPlayer(self) + self.demoPlayer.MS_Chat.connect(self.netmsg_ms) + self.demoPlayer.newChar.connect(self.onPVPacket) + self.demoPlayer.newBackground.connect(self.setBackground) + self.demoPlayer.OOC_Log.connect(self.ooclog.append) + self.demoPlayer.IC_Log.connect(self.iclog.append) + self.demoPlayer.charSlots.connect(partial(self.charselect.setCharList, self.charlist)) + self.demoPlayer.allEvidence.connect(self.allEvidence) + self.demoPlayer.updatePlayerList.connect(self.updatePlayerList) + self.demoPlayer.rainbowColor.connect(self.text.setStyleSheet) + self.demoPlayer.timerUpdate.connect(self.start_pause_timers) self.player_list.clear() self.stopMusic() @@ -4068,19 +4105,19 @@ class GUI(QtGui.QWidget): self.ooclog.clear() self.changechar.setText('Disconnect') - self.enable_widgets(True) - self.demo_playing = True - self.demo_player.start(fname) + self.enableWidgets(True) + self.demoPlaying = True + self.demoPlayer.start(fname) - def start_demo_recorder(self, bg=None): + def startDemoRecorder(self, bg=None): if ini.read_ini_bool("AO2XP.ini", "General", "record demos", False): - self.demo_recorder = demo.DemoRecorder() - self.demo_recorder.start() - self.demo_recorder.record([["SC"] + [char[0] for char in self.charlist]], encode=True) + self.demoRecorder = demo.DemoRecorder() + self.demoRecorder.start() + self.demoRecorder.record([["SC"] + [char[0] for char in self.charlist]], encode=True) if bg: - self.demo_recorder.record([["BN", bg, ""]], encode=True) + self.demoRecorder.record([["BN", bg, ""]], encode=True) - def enable_widgets(self, demo = False): + def enableWidgets(self, demo = False): for widget in [ self.oocinput, self.callmodbtn, self.oocnameinput, self.ooclogin, self.gametab_evidence, diff --git a/options.py b/options.py index 9d2666a..88877d6 100644 --- a/options.py +++ b/options.py @@ -343,21 +343,21 @@ class Settings(QtGui.QDialog): with open(AO2XPpath+"callwords.ini", "w") as f: f.write(self.callwords_edit.toPlainText().toUtf8()) - self.gamewindow.gamewidget.text_wait_time = self.textstaytime.value() - self.gamewindow.gamewidget.slide_enabled = self.enableslide.isChecked() + self.gamewindow.gamewidget.textWaitTime = self.textstaytime.value() + self.gamewindow.gamewidget.slideEnabled = self.enableslide.isChecked() if not self.theme_state == self.currtheme.currentText(): - self.gamewindow.gamewidget.load_theme(True) + self.gamewindow.gamewidget.loadTheme(True) - if not self.gamewindow.gamewidget.demo_playing: + 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) if not self.savedemos_state == self.savedemos.isChecked(): if self.savedemos.isChecked(): - self.gamewindow.gamewidget.start_demo_recorder() + self.gamewindow.gamewidget.startDemoRecorder() else: - self.gamewindow.gamewidget.demo_recorder = None + self.gamewindow.gamewidget.demoRecorder = None self.hide() diff --git a/packets.py b/packets.py index 77a539f..2c43a2a 100644 --- a/packets.py +++ b/packets.py @@ -6,8 +6,8 @@ from pybass_constants import * def handle_packets(caller, total, record=True): # Record the packet if demos enabled - if record and caller.parent.demo_recorder: - caller.parent.demo_recorder.record(total) + if record and caller.parent.demoRecorder: + caller.parent.demoRecorder.record(total) for network in total: header = network[0] @@ -27,7 +27,7 @@ def handle_packets(caller, total, record=True): music = decode_ao_str(network[1]) charid = int(network[2]) t = time.localtime() - timestamp = "[%d:%.2d] " % (t[3], t[4]) if not caller.parent.demo_playing else "" + timestamp = "[%d:%.2d] " % (t[3], t[4]) if not caller.parent.demoPlaying else "" if charid != -1: try: name = caller.parent.charlist[charid][0]