Merge pull request #974 from AttorneyOnline/slide-fixes
Fix pair layer not being hidden correctly
This commit is contained in:
commit
67d5646d7c
@ -2910,8 +2910,15 @@ void Courtroom::handle_ic_message()
|
|||||||
{
|
{
|
||||||
// Update the chatbox information
|
// Update the chatbox information
|
||||||
initialize_chatbox();
|
initialize_chatbox();
|
||||||
|
if (m_chatmessage[EMOTE] != "")
|
||||||
do_transition(m_chatmessage[DESK_MOD], last_side, m_chatmessage[SIDE]);
|
{
|
||||||
|
do_transition(m_chatmessage[DESK_MOD], last_side, m_chatmessage[SIDE]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
play_sfx();
|
||||||
|
start_chat_ticking();
|
||||||
|
}
|
||||||
|
|
||||||
// if we have instant objections disabled, and queue is not empty, check if next message after this is an objection.
|
// if we have instant objections disabled, and queue is not empty, check if next message after this is an objection.
|
||||||
if (!Options::getInstance().objectionSkipQueueEnabled() && chatmessage_queue.size() > 0)
|
if (!Options::getInstance().objectionSkipQueueEnabled() && chatmessage_queue.size() > 0)
|
||||||
@ -2974,10 +2981,7 @@ void Courtroom::do_screenshake()
|
|||||||
|
|
||||||
void Courtroom::do_transition(QString p_desk_mod, QString oldPosId, QString newPosId)
|
void Courtroom::do_transition(QString p_desk_mod, QString oldPosId, QString newPosId)
|
||||||
{
|
{
|
||||||
if (m_chatmessage[EMOTE] != "")
|
display_character();
|
||||||
{
|
|
||||||
display_character();
|
|
||||||
}
|
|
||||||
|
|
||||||
const QStringList legacy_pos = {"def", "wit", "pro"};
|
const QStringList legacy_pos = {"def", "wit", "pro"};
|
||||||
QString t_old_pos = oldPosId;
|
QString t_old_pos = oldPosId;
|
||||||
@ -3064,6 +3068,27 @@ void Courtroom::do_transition(QString p_desk_mod, QString oldPosId, QString newP
|
|||||||
QStringList pair_data = data.split("^");
|
QStringList pair_data = data.split("^");
|
||||||
return (pair_data.size() > 1) ? (pair_data.at(1).toInt() == 1) : false;
|
return (pair_data.size() > 1) ? (pair_data.at(1).toInt() == 1) : false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ui_vp_dummy_char->loadCharacterEmote(m_previous_chatmessage[CHAR_NAME], m_previous_chatmessage[EMOTE], kal::CharacterAnimationLayer::IdleEmote);
|
||||||
|
ui_vp_dummy_char->setFlipped(m_previous_chatmessage[FLIP].toInt() == 1);
|
||||||
|
calculate_offset_and_setup_layer(ui_vp_dummy_char, scaled_old_pos, m_previous_chatmessage[SELF_OFFSET]);
|
||||||
|
|
||||||
|
if (is_pairing(m_previous_chatmessage))
|
||||||
|
{
|
||||||
|
qDebug() << "last message WAS paired";
|
||||||
|
ui_vp_sidedummy_char->loadCharacterEmote(m_previous_chatmessage[OTHER_NAME], m_previous_chatmessage[OTHER_EMOTE], kal::CharacterAnimationLayer::IdleEmote);
|
||||||
|
ui_vp_sidedummy_char->setFlipped(m_previous_chatmessage[OTHER_FLIP].toInt() == 1);
|
||||||
|
calculate_offset_and_setup_layer(ui_vp_sidedummy_char, scaled_old_pos, m_previous_chatmessage[OTHER_OFFSET]);
|
||||||
|
if (is_pair_under(m_previous_chatmessage[OTHER_CHARID]))
|
||||||
|
{
|
||||||
|
ui_vp_dummy_char->stackUnder(ui_vp_sidedummy_char);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui_vp_sidedummy_char->stackUnder(ui_vp_dummy_char);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (is_pairing(m_chatmessage))
|
if (is_pairing(m_chatmessage))
|
||||||
{
|
{
|
||||||
ui_vp_sideplayer_char->loadCharacterEmote(m_chatmessage[OTHER_NAME], m_chatmessage[OTHER_EMOTE], kal::CharacterAnimationLayer::IdleEmote);
|
ui_vp_sideplayer_char->loadCharacterEmote(m_chatmessage[OTHER_NAME], m_chatmessage[OTHER_EMOTE], kal::CharacterAnimationLayer::IdleEmote);
|
||||||
@ -3077,24 +3102,10 @@ void Courtroom::do_transition(QString p_desk_mod, QString oldPosId, QString newP
|
|||||||
ui_vp_sideplayer_char->stackUnder(ui_vp_player_char);
|
ui_vp_sideplayer_char->stackUnder(ui_vp_player_char);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
ui_vp_dummy_char->loadCharacterEmote(m_previous_chatmessage[CHAR_NAME], m_previous_chatmessage[EMOTE], kal::CharacterAnimationLayer::IdleEmote);
|
|
||||||
ui_vp_dummy_char->setFlipped(m_previous_chatmessage[FLIP].toInt() == 1);
|
|
||||||
calculate_offset_and_setup_layer(ui_vp_dummy_char, scaled_old_pos, m_previous_chatmessage[SELF_OFFSET]);
|
|
||||||
|
|
||||||
if (is_pairing(m_previous_chatmessage))
|
|
||||||
{
|
{
|
||||||
ui_vp_sidedummy_char->loadCharacterEmote(m_previous_chatmessage[OTHER_NAME], m_previous_chatmessage[OTHER_EMOTE], kal::CharacterAnimationLayer::IdleEmote);
|
ui_vp_sideplayer_char->setVisible(false);
|
||||||
ui_vp_sidedummy_char->setFlipped(m_previous_chatmessage[OTHER_FLIP].toInt() == 1);
|
ui_vp_sideplayer_char->hide();
|
||||||
calculate_offset_and_setup_layer(ui_vp_sidedummy_char, scaled_old_pos, m_previous_chatmessage[OTHER_OFFSET]);
|
|
||||||
if (is_pair_under(m_previous_chatmessage[OTHER_CHARID]))
|
|
||||||
{
|
|
||||||
ui_vp_dummy_char->stackUnder(ui_vp_sidedummy_char);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ui_vp_sidedummy_char->stackUnder(ui_vp_dummy_char);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
transition_animation_group->start();
|
transition_animation_group->start();
|
||||||
@ -3117,6 +3128,10 @@ void Courtroom::post_transition_cleanup()
|
|||||||
ui_vp_dummy_char->hide();
|
ui_vp_dummy_char->hide();
|
||||||
ui_vp_sidedummy_char->hide();
|
ui_vp_sidedummy_char->hide();
|
||||||
|
|
||||||
|
// reset the god damn pair character
|
||||||
|
ui_vp_sideplayer_char->hide();
|
||||||
|
ui_vp_sideplayer_char->move(0, 0);
|
||||||
|
|
||||||
set_scene(m_chatmessage[DESK_MOD].toInt(), m_chatmessage[SIDE]);
|
set_scene(m_chatmessage[DESK_MOD].toInt(), m_chatmessage[SIDE]);
|
||||||
|
|
||||||
// Move the character on the viewport according to the offsets
|
// Move the character on the viewport according to the offsets
|
||||||
|
Loading…
Reference in New Issue
Block a user