support for empty anim (used by /firstperson command)

This commit is contained in:
cidoku 2025-08-11 04:35:31 -04:00
parent 4c24e465f7
commit bc0b521b43

View File

@ -1043,6 +1043,7 @@ class GUI(QtGui.QWidget):
m_chatmessage = []
blank_blip = False
chatmessage_is_empty = False
anim_is_empty = False
is_additive = False
additive_char = -1
anim_state = 3
@ -3019,11 +3020,14 @@ class GUI(QtGui.QWidget):
self.text_state = 0
self.anim_state = 0
self.objectionview.stop()
self.char.stop()
self.chat_tick_timer.stop()
self.presentedevi.hide()
self.chatmessage_is_empty = self.m_chatmessage[CHATMSG] == " " or self.m_chatmessage[CHATMSG] == ""
self.chatmessage_is_empty = self.m_chatmessage[CHATMSG].strip() == ""
self.anim_is_empty = self.m_chatmessage[ANIM].strip() == ""
if not self.anim_is_empty:
self.char.stop()
if not self.m_chatmessage[SHOWNAME]:
self.name.setText(self.m_chatmessage[CHARNAME])
@ -3069,10 +3073,11 @@ class GUI(QtGui.QWidget):
if hor_offset < 0 and vert_offset == 0:
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)
# check if paired
if not self.m_chatmessage[OTHER_CHARID]:
if not self.m_chatmessage[OTHER_CHARID] and not self.anim_is_empty:
self.sidechar.hide()
self.sidechar.move(0,0)
else:
@ -3131,9 +3136,10 @@ class GUI(QtGui.QWidget):
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")
if not self.anim_is_empty:
self.sidechar.play_idle(self.m_chatmessage[OTHER_NAME], self.m_chatmessage[OTHER_EMOTE], self.scaling[1])
else:
elif not self.anim_is_empty:
self.sidechar.hide()
self.sidechar.move(0, 0)
@ -3258,10 +3264,12 @@ class GUI(QtGui.QWidget):
if f_anim_state <= self.anim_state:
return
self.char.stop()
f_char = self.m_chatmessage[CHARNAME]
f_emote = self.m_chatmessage[ANIM]
if not self.anim_is_empty:
self.char.stop()
if f_anim_state == 2:
self.char.play_talking(f_char, f_emote, self.scaling[0])
self.anim_state = 2
@ -3376,6 +3384,7 @@ class GUI(QtGui.QWidget):
self.text_state = 2
if self.anim_state != 4:
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)
@ -3423,6 +3432,7 @@ class GUI(QtGui.QWidget):
if not self.entire_message_is_blue and self.anim_state != 4:
f_char = self.m_chatmessage[CHARNAME]
f_emote = self.m_chatmessage[ANIM]
if not self.anim_is_empty:
self.char.play_idle(f_char, f_emote, self.scaling[0])
elif f_character == ")" and not self.next_character_is_not_special and self.inline_color_stack: