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 effects_enabled = false;
 | 
			
		||||
  bool y_offset_enabled = false;
 | 
			
		||||
  bool expanded_desk_mods_enabled = false;
 | 
			
		||||
 | 
			
		||||
  ///////////////loading info///////////////////
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -175,6 +175,9 @@ public:
 | 
			
		||||
  // sets desk and bg based on pos in chatmessage
 | 
			
		||||
  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
 | 
			
		||||
  // OOC admittedly poorly named
 | 
			
		||||
  void set_ip_list(QString p_list);
 | 
			
		||||
 | 
			
		||||
@ -1609,6 +1609,12 @@ void Courtroom::on_chat_return_pressed()
 | 
			
		||||
  if (ao_app->desk_mod_enabled) {
 | 
			
		||||
    f_desk_mod =
 | 
			
		||||
        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")
 | 
			
		||||
      f_desk_mod = "chat";
 | 
			
		||||
  }
 | 
			
		||||
@ -2113,8 +2119,6 @@ void Courtroom::handle_chatmessage_2()
 | 
			
		||||
    f_pointsize = chatsize;
 | 
			
		||||
  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();
 | 
			
		||||
  // Deal with invalid emote modifiers
 | 
			
		||||
  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_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) {
 | 
			
		||||
  case 1:
 | 
			
		||||
  case 2:
 | 
			
		||||
@ -2353,6 +2373,24 @@ void Courtroom::handle_chatmessage_3()
 | 
			
		||||
 | 
			
		||||
  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) {
 | 
			
		||||
    ui_vp_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)
 | 
			
		||||
{
 | 
			
		||||
  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;
 | 
			
		||||
    additive_enabled = false;
 | 
			
		||||
    effects_enabled = false;
 | 
			
		||||
    expanded_desk_mods_enabled = false;
 | 
			
		||||
    if (f_packet.contains("yellowtext", Qt::CaseInsensitive))
 | 
			
		||||
      yellow_text_enabled = true;
 | 
			
		||||
    if (f_packet.contains("prezoom", Qt::CaseInsensitive))
 | 
			
		||||
@ -208,6 +209,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
			
		||||
      effects_enabled = true;
 | 
			
		||||
    if (f_packet.contains("y_offset", Qt::CaseInsensitive))
 | 
			
		||||
        y_offset_enabled = true;
 | 
			
		||||
    if (f_packet.contains("expanded_desk_mods", Qt::CaseInsensitive))
 | 
			
		||||
      expanded_desk_mods_enabled = true;
 | 
			
		||||
  }
 | 
			
		||||
  else if (header == "PN") {
 | 
			
		||||
    if (f_contents.size() < 2)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user