add 'pair order' dropdown

This commit is contained in:
Mauricio 2020-08-04 11:28:03 -04:00
parent 2792f4b5af
commit 8f19e2ffef
3 changed files with 75 additions and 40 deletions

View File

@ -41,10 +41,13 @@ self.iniswaprefresh.move(8, 64)
self.iniswaprefresh.resize(self.iniswaprefresh.sizeHint()) self.iniswaprefresh.resize(self.iniswaprefresh.sizeHint())
self.paircheckbox.setGeometry(16, 16, 128, 24) self.paircheckbox.setGeometry(16, 16, 128, 24)
self.pairdropdown.setGeometry(112, 64, 192, 18) self.pairdropdown.setGeometry(112, 20, 192, 18)
self.pairoffset.setGeometry(114, 128, 192, 24) self.pairoffset.setGeometry(114, 48, 192, 24)
self.pairoffset_l.move(self.pairoffset.x() - 88, self.pairoffset.y()+4) self.pairoffset_l.move(self.pairoffset.x() - 88, self.pairoffset.y()+4)
self.pairoffsetreset.move(self.pairoffset.x() + self.pairoffset.size().width() + 8, self.pairoffset.y()) self.pairoffsetreset.move(self.pairoffset.x() + self.pairoffset.size().width() + 8, self.pairoffset.y())
self.pair_order_l.move(self.pairoffset_l.x(), self.pairoffset_l.y()+32)
self.pair_order.setGeometry(self.pairoffset.x(), self.pair_order_l.y()-4, 80, self.pairoffsetreset.sizeHint().height())
self.spacebartext.move(self.mocktext.x(), self.mocktext.y()+24) self.spacebartext.move(self.mocktext.x(), self.mocktext.y()+24)
self.autocaps.move(self.spacebartext.x(), self.spacebartext.y()+24) self.autocaps.move(self.spacebartext.x(), self.spacebartext.y()+24)

View File

@ -47,6 +47,8 @@ self.pairdropdown.setGeometry(self.paircheckbox.x() + self.paircheckbox.size().w
self.pairoffset.setGeometry(24, 64, 192, 24) self.pairoffset.setGeometry(24, 64, 192, 24)
self.pairoffset_l.move(self.pairoffset.x(), self.pairoffset.y()-16) self.pairoffset_l.move(self.pairoffset.x(), self.pairoffset.y()-16)
self.pairoffsetreset.move(self.pairoffset.x() + self.pairoffset.size().width() + 8, self.pairoffset.y()) self.pairoffsetreset.move(self.pairoffset.x() + self.pairoffset.size().width() + 8, self.pairoffset.y())
self.pair_order.setGeometry(self.pairoffsetreset.x() + self.pairoffsetreset.size().width() + 32, self.pairoffsetreset.y(), 80, self.pairoffsetreset.sizeHint().height())
self.pair_order_l.move(self.pair_order.x(), self.pairoffset_l.y())
self.spacebartext.move(self.mocktext.x(), self.mocktext.y()+24) self.spacebartext.move(self.mocktext.x(), self.mocktext.y()+24)
self.autocaps.move(self.spacebartext.x(), self.spacebartext.y()+24) self.autocaps.move(self.spacebartext.x(), self.spacebartext.y()+24)

View File

@ -737,14 +737,16 @@ class gui(QtGui.QWidget):
self.paircheckbox = QtGui.QCheckBox(self.gametab_pair) self.paircheckbox = QtGui.QCheckBox(self.gametab_pair)
self.paircheckbox.setChecked(False) self.paircheckbox.setChecked(False)
self.pairdropdown = QtGui.QComboBox(self.gametab_pair) self.pairdropdown = QtGui.QComboBox(self.gametab_pair)
self.pairdropdown_l = QtGui.QLabel("Pair with...", self.gametab_pair)
self.pairdropdown_l.move(self.pairdropdown.x() - 64, self.pairdropdown.y()+2)
self.pairoffset = QtGui.QSlider(QtCore.Qt.Horizontal, self.gametab_pair) self.pairoffset = QtGui.QSlider(QtCore.Qt.Horizontal, self.gametab_pair)
self.pairoffset.setRange(-100, 100) self.pairoffset.setRange(-100, 100)
self.pairoffset.setValue(0) self.pairoffset.setValue(0)
self.pairoffset_l = QtGui.QLabel("Position offset", self.gametab_pair) self.pairoffset_l = QtGui.QLabel("Position offset", self.gametab_pair)
self.pairoffsetreset = QtGui.QPushButton("Reset", self.gametab_pair) self.pairoffsetreset = QtGui.QPushButton("Reset", self.gametab_pair)
self.pairoffsetreset.clicked.connect(partial(self.pairoffset.setValue, 0)) self.pairoffsetreset.clicked.connect(partial(self.pairoffset.setValue, 0))
self.pair_order = QtGui.QComboBox(self.gametab_pair)
self.pair_order.addItem("Front")
self.pair_order.addItem("Behind")
self.pair_order_l = QtGui.QLabel("Pairing order", self.gametab_pair)
self.misc_layout = QtGui.QVBoxLayout(self.gametab_misc) self.misc_layout = QtGui.QVBoxLayout(self.gametab_misc)
self.misc_layout.setAlignment(QtCore.Qt.AlignTop) self.misc_layout.setAlignment(QtCore.Qt.AlignTop)
@ -1392,6 +1394,8 @@ class gui(QtGui.QWidget):
if "cccc_ic_support" in self.features: if "cccc_ic_support" in self.features:
msg += self.showname+"#" # custom showname msg += self.showname+"#" # custom showname
msg += (str(self.pairdropdown.currentIndex()) if self.paircheckbox.isChecked() else "-1")+"#" # pair charID msg += (str(self.pairdropdown.currentIndex()) if self.paircheckbox.isChecked() else "-1")+"#" # pair charID
if "effects" in self.features:
msg += "^%d#" % self.pair_order.currentIndex() # pair ordering
msg += str(self.pairoffset.value())+"#" # send this anyway; AO 2.8 msg += str(self.pairoffset.value())+"#" # send this anyway; AO 2.8
msg += str(int(self.nointerruptbtn.isChecked()))+"#" # NoInterrupt(TM) msg += str(int(self.nointerruptbtn.isChecked()))+"#" # NoInterrupt(TM)
@ -1611,10 +1615,29 @@ class gui(QtGui.QWidget):
side = self.m_chatmessage[SIDE] side = self.m_chatmessage[SIDE]
emote_mod = int(self.m_chatmessage[EMOTE_MOD]) emote_mod = int(self.m_chatmessage[EMOTE_MOD])
# AO 2.8: always offset player
if side == "def":
hor_offset = int(self.m_chatmessage[SELF_OFFSET])
vert_offset = 0
if hor_offset > 0:
vert_offset = hor_offset / 10
self.char.move(256 * hor_offset / 100, 192 * vert_offset / 100)
elif side == "pro":
hor_offset = int(self.m_chatmessage[SELF_OFFSET])
vert_offset = 0
if hor_offset < 0:
vert_offset = -1 * hor_offset / 10
self.char.move(256 * hor_offset / 100, 192 * vert_offset / 100)
else:
hor_offset = int(self.m_chatmessage[SELF_OFFSET])
self.char.move(256 * hor_offset / 100, 0)
# check if paired
if not self.m_chatmessage[OTHER_CHARID]: if not self.m_chatmessage[OTHER_CHARID]:
self.sidechar.hide() self.sidechar.hide()
self.sidechar.move(0,0) self.sidechar.move(0,0)
self.char.move(0,0)
else: else:
if "effects" in self.features: if "effects" in self.features:
got_other_charid = int(self.m_chatmessage[OTHER_CHARID].split("^")[0]) got_other_charid = int(self.m_chatmessage[OTHER_CHARID].split("^")[0])
@ -1624,73 +1647,80 @@ class gui(QtGui.QWidget):
if got_other_charid > -1: if got_other_charid > -1:
self.sidechar.show() self.sidechar.show()
if side == "def": if "effects" in self.features:
hor_offset = int(self.m_chatmessage[SELF_OFFSET]) pair_order = int(self.m_chatmessage[OTHER_CHARID].split("^")[1])
vert_offset = 0 else:
if hor_offset > 0: pair_order = -1
vert_offset = hor_offset / 10
self.char.move(256 * hor_offset / 100, 192 * vert_offset / 100)
if side == "def":
hor2_offset = int(self.m_chatmessage[OTHER_OFFSET]) hor2_offset = int(self.m_chatmessage[OTHER_OFFSET])
vert2_offset = 0 vert2_offset = 0
if hor2_offset > 0: if hor2_offset > 0:
vert2_offset = hor2_offset / 10 vert2_offset = hor2_offset / 10
self.sidechar.move(256 * hor2_offset / 100, 192 * vert2_offset / 100) self.sidechar.move(256 * hor2_offset / 100, 192 * vert2_offset / 100)
if pair_order == -1: # pair ordering not supported
if hor2_offset >= hor_offset: if hor2_offset >= hor_offset:
self.sidechar.raise_() self.sidechar.raise_()
self.char.raise_() self.char.raise_()
else: else:
self.char.raise_() self.char.raise_()
self.sidechar.raise_() self.sidechar.raise_()
elif pair_order == 0: # front
self.sidechar.raise_()
self.char.raise_()
elif pair_order == 1: # behind
self.sidechar.raise_()
self.char.raise_()
self.bench.raise_() self.bench.raise_()
elif side == "pro": elif side == "pro":
hor_offset = int(self.m_chatmessage[SELF_OFFSET])
vert_offset = 0
if hor_offset < 0:
vert_offset = -1 * hor_offset / 10
self.char.move(256 * hor_offset / 100, 192 * vert_offset / 100)
hor2_offset = int(self.m_chatmessage[OTHER_OFFSET]) hor2_offset = int(self.m_chatmessage[OTHER_OFFSET])
vert2_offset = 0 vert2_offset = 0
if hor2_offset < 0: if hor2_offset < 0:
vert2_offset = -1 * hor2_offset / 10 vert2_offset = -1 * hor2_offset / 10
self.sidechar.move(256 * hor2_offset / 100, 192 * vert2_offset / 100) self.sidechar.move(256 * hor2_offset / 100, 192 * vert2_offset / 100)
if pair_order == -1: # pair ordering not supported
if hor2_offset <= hor_offset: if hor2_offset <= hor_offset:
self.sidechar.raise_() self.sidechar.raise_()
self.char.raise_() self.char.raise_()
else: else:
self.char.raise_() self.char.raise_()
self.sidechar.raise_() self.sidechar.raise_()
elif pair_order == 0: # front
self.sidechar.raise_()
self.char.raise_()
elif pair_order == 1: # behind
self.sidechar.raise_()
self.char.raise_()
self.bench.raise_() self.bench.raise_()
else: else:
hor_offset = int(self.m_chatmessage[SELF_OFFSET])
self.char.move(256 * hor_offset / 100, 0)
hor2_offset = int(self.m_chatmessage[OTHER_OFFSET]) hor2_offset = int(self.m_chatmessage[OTHER_OFFSET])
self.sidechar.move(256 * hor2_offset / 100, 0) self.sidechar.move(256 * hor2_offset / 100, 0)
if pair_order == -1: # pair ordering not supported
if hor2_offset >= hor_offset: if hor2_offset >= hor_offset:
self.sidechar.raise_() self.sidechar.raise_()
self.char.raise_() self.char.raise_()
else: else:
self.char.raise_() self.char.raise_()
self.sidechar.raise_() self.sidechar.raise_()
elif pair_order == 0: # front
self.sidechar.raise_()
self.char.raise_()
elif pair_order == 1: # behind
self.sidechar.raise_()
self.char.raise_()
self.bench.raise_() self.bench.raise_()
if self.m_chatmessage[OTHER_FLIP] == "1": self.sidechar.set_flipped(self.m_chatmessage[OTHER_FLIP] == "1")
self.sidechar.set_flipped(True)
else:
self.sidechar.set_flipped(False)
self.sidechar.play_idle(self.m_chatmessage[OTHER_NAME], self.m_chatmessage[OTHER_EMOTE]) self.sidechar.play_idle(self.m_chatmessage[OTHER_NAME], self.m_chatmessage[OTHER_EMOTE])
else: else:
self.sidechar.hide() self.sidechar.hide()
self.sidechar.move(0, 0) self.sidechar.move(0, 0)
self.char.move(0, 0)
if (emote_mod == 1 or emote_mod == 6 and self.m_chatmessage[PREANIM] != "-") or emote_mod == 2: if (emote_mod == 1 or emote_mod == 6 and self.m_chatmessage[PREANIM] != "-") or emote_mod == 2:
self.play_preanim(False) self.play_preanim(False)