Add desk_mods 2 -5 for more flexibility in emotes (#353)
This commit is contained in:
parent
10fb54db61
commit
3993ba47e5
@ -77,6 +77,7 @@ public:
|
|||||||
bool additive_enabled = false;
|
bool additive_enabled = false;
|
||||||
bool effects_enabled = false;
|
bool effects_enabled = false;
|
||||||
bool y_offset_enabled = false;
|
bool y_offset_enabled = false;
|
||||||
|
bool expanded_desk_mods_enabled = false;
|
||||||
|
|
||||||
///////////////loading info///////////////////
|
///////////////loading info///////////////////
|
||||||
|
|
||||||
|
@ -175,6 +175,9 @@ public:
|
|||||||
// sets desk and bg based on pos in chatmessage
|
// sets desk and bg based on pos in chatmessage
|
||||||
void set_scene(QString f_desk_mod, QString f_side);
|
void set_scene(QString f_desk_mod, QString f_side);
|
||||||
|
|
||||||
|
// sets ui_vp_player_char according to SELF_OFFSET, only a function bc it's used with desk_mod 4 and 5
|
||||||
|
void set_self_offset(QString p_list);
|
||||||
|
|
||||||
// takes in serverD-formatted IP list as prints a converted version to server
|
// takes in serverD-formatted IP list as prints a converted version to server
|
||||||
// OOC admittedly poorly named
|
// OOC admittedly poorly named
|
||||||
void set_ip_list(QString p_list);
|
void set_ip_list(QString p_list);
|
||||||
|
@ -1609,6 +1609,12 @@ void Courtroom::on_chat_return_pressed()
|
|||||||
if (ao_app->desk_mod_enabled) {
|
if (ao_app->desk_mod_enabled) {
|
||||||
f_desk_mod =
|
f_desk_mod =
|
||||||
QString::number(ao_app->get_desk_mod(current_char, current_emote));
|
QString::number(ao_app->get_desk_mod(current_char, current_emote));
|
||||||
|
if (!ao_app->expanded_desk_mods_enabled) {
|
||||||
|
if (f_desk_mod == "2" || f_desk_mod == "4")
|
||||||
|
f_desk_mod = "0";
|
||||||
|
else if (f_desk_mod == "3" || f_desk_mod == "5")
|
||||||
|
f_desk_mod = "1";
|
||||||
|
}
|
||||||
if (f_desk_mod == "-1")
|
if (f_desk_mod == "-1")
|
||||||
f_desk_mod = "chat";
|
f_desk_mod = "chat";
|
||||||
}
|
}
|
||||||
@ -2113,8 +2119,6 @@ void Courtroom::handle_chatmessage_2()
|
|||||||
f_pointsize = chatsize;
|
f_pointsize = chatsize;
|
||||||
set_font(ui_vp_message, "", "message", customchar, font_name, f_pointsize);
|
set_font(ui_vp_message, "", "message", customchar, font_name, f_pointsize);
|
||||||
|
|
||||||
set_scene(m_chatmessage[DESK_MOD], m_chatmessage[SIDE]);
|
|
||||||
|
|
||||||
int emote_mod = m_chatmessage[EMOTE_MOD].toInt();
|
int emote_mod = m_chatmessage[EMOTE_MOD].toInt();
|
||||||
// Deal with invalid emote modifiers
|
// Deal with invalid emote modifiers
|
||||||
if (emote_mod != 0 && emote_mod != 1 && emote_mod != 2 && emote_mod != 5 &&
|
if (emote_mod != 0 && emote_mod != 1 && emote_mod != 2 && emote_mod != 5 &&
|
||||||
@ -2208,6 +2212,22 @@ void Courtroom::handle_chatmessage_2()
|
|||||||
ui_vp_player_char->move(ui_viewport->width() * self_offset / 100,
|
ui_vp_player_char->move(ui_viewport->width() * self_offset / 100,
|
||||||
ui_viewport->height() * self_offset_v / 100);
|
ui_viewport->height() * self_offset_v / 100);
|
||||||
|
|
||||||
|
switch(m_chatmessage[DESK_MOD].toInt()) {
|
||||||
|
case 4:
|
||||||
|
ui_vp_sideplayer_char->hide();
|
||||||
|
ui_vp_player_char->move(0, 0);
|
||||||
|
[[fallthrough]];
|
||||||
|
case 2:
|
||||||
|
set_scene("0", m_chatmessage[SIDE]);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
case 3:
|
||||||
|
set_scene("1", m_chatmessage[SIDE]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
set_scene(m_chatmessage[DESK_MOD], m_chatmessage[SIDE]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
switch (emote_mod) {
|
switch (emote_mod) {
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
@ -2353,6 +2373,24 @@ void Courtroom::handle_chatmessage_3()
|
|||||||
|
|
||||||
QString side = m_chatmessage[SIDE];
|
QString side = m_chatmessage[SIDE];
|
||||||
|
|
||||||
|
switch(m_chatmessage[DESK_MOD].toInt()) {
|
||||||
|
case 4:
|
||||||
|
set_self_offset(m_chatmessage[SELF_OFFSET]);
|
||||||
|
[[fallthrough]];
|
||||||
|
case 2:
|
||||||
|
set_scene("1", m_chatmessage[SIDE]);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
ui_vp_sideplayer_char->hide();
|
||||||
|
ui_vp_player_char->move(0, 0);
|
||||||
|
[[fallthrough]];
|
||||||
|
case 3:
|
||||||
|
set_scene("0", m_chatmessage[SIDE]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
set_scene(m_chatmessage[DESK_MOD], m_chatmessage[SIDE]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (emote_mod == 5 || emote_mod == 6) {
|
if (emote_mod == 5 || emote_mod == 6) {
|
||||||
ui_vp_desk->hide();
|
ui_vp_desk->hide();
|
||||||
ui_vp_legacy_desk->hide();
|
ui_vp_legacy_desk->hide();
|
||||||
@ -3219,6 +3257,17 @@ void Courtroom::set_scene(QString f_desk_mod, QString f_side)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Courtroom::set_self_offset(QString p_list) {
|
||||||
|
QStringList self_offsets = p_list.split("&");
|
||||||
|
int self_offset = self_offsets[0].toInt();
|
||||||
|
int self_offset_v;
|
||||||
|
if (self_offsets.length() <= 1)
|
||||||
|
self_offset_v = 0;
|
||||||
|
else
|
||||||
|
self_offset_v = self_offsets[1].toInt();
|
||||||
|
ui_vp_player_char->move(ui_viewport->width() * self_offset / 100, ui_viewport->height() * self_offset_v / 100);
|
||||||
|
}
|
||||||
|
|
||||||
void Courtroom::set_ip_list(QString p_list)
|
void Courtroom::set_ip_list(QString p_list)
|
||||||
{
|
{
|
||||||
QString f_list = p_list.replace("|", ":").replace("*", "\n");
|
QString f_list = p_list.replace("|", ":").replace("*", "\n");
|
||||||
|
@ -180,6 +180,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
looping_sfx_support_enabled = false;
|
looping_sfx_support_enabled = false;
|
||||||
additive_enabled = false;
|
additive_enabled = false;
|
||||||
effects_enabled = false;
|
effects_enabled = false;
|
||||||
|
expanded_desk_mods_enabled = false;
|
||||||
if (f_packet.contains("yellowtext", Qt::CaseInsensitive))
|
if (f_packet.contains("yellowtext", Qt::CaseInsensitive))
|
||||||
yellow_text_enabled = true;
|
yellow_text_enabled = true;
|
||||||
if (f_packet.contains("prezoom", Qt::CaseInsensitive))
|
if (f_packet.contains("prezoom", Qt::CaseInsensitive))
|
||||||
@ -208,6 +209,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
effects_enabled = true;
|
effects_enabled = true;
|
||||||
if (f_packet.contains("y_offset", Qt::CaseInsensitive))
|
if (f_packet.contains("y_offset", Qt::CaseInsensitive))
|
||||||
y_offset_enabled = true;
|
y_offset_enabled = true;
|
||||||
|
if (f_packet.contains("expanded_desk_mods", Qt::CaseInsensitive))
|
||||||
|
expanded_desk_mods_enabled = true;
|
||||||
}
|
}
|
||||||
else if (header == "PN") {
|
else if (header == "PN") {
|
||||||
if (f_contents.size() < 2)
|
if (f_contents.size() < 2)
|
||||||
|
Loading…
Reference in New Issue
Block a user