Loading progress fix on server join.
The display of the loading bar is now smoother, by placing the loading value modification (and the according `set_loading_value()` call) inside the for loops. It now accurately depicts the current loading progress.
This commit is contained in:
		
							parent
							
								
									3b1498366e
								
							
						
					
					
						commit
						91c8e04bde
					
				@ -272,6 +272,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
			
		||||
    if (!courtroom_constructed)
 | 
			
		||||
      goto end;
 | 
			
		||||
 | 
			
		||||
    int total_loading_size = char_list_size + evidence_list_size + music_list_size;
 | 
			
		||||
 | 
			
		||||
    for (int n_element = 0 ; n_element < f_contents.size() ; n_element += 2)
 | 
			
		||||
    {
 | 
			
		||||
      if (f_contents.at(n_element).toInt() != loaded_chars)
 | 
			
		||||
@ -297,11 +299,10 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
			
		||||
      w_lobby->set_loading_text("Loading chars:\n" + QString::number(loaded_chars) + "/" + QString::number(char_list_size));
 | 
			
		||||
 | 
			
		||||
      w_courtroom->append_char(f_char);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    int total_loading_size = char_list_size + evidence_list_size + music_list_size;
 | 
			
		||||
    int loading_value = (loaded_chars / static_cast<double>(total_loading_size)) * 100;
 | 
			
		||||
    w_lobby->set_loading_value(loading_value);
 | 
			
		||||
      int loading_value = (loaded_chars / static_cast<double>(total_loading_size)) * 100;
 | 
			
		||||
      w_lobby->set_loading_value(loading_value);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (improved_loading_enabled)
 | 
			
		||||
      send_server_packet(new AOPacket("RE#%"));
 | 
			
		||||
@ -355,6 +356,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
			
		||||
    if (!courtroom_constructed)
 | 
			
		||||
      goto end;
 | 
			
		||||
 | 
			
		||||
    int total_loading_size = char_list_size + evidence_list_size + music_list_size;
 | 
			
		||||
 | 
			
		||||
    for (int n_element = 0 ; n_element < f_contents.size() ; n_element += 2)
 | 
			
		||||
    {
 | 
			
		||||
      if (f_contents.at(n_element).toInt() != loaded_music)
 | 
			
		||||
@ -370,12 +373,11 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
			
		||||
      w_lobby->set_loading_text("Loading music:\n" + QString::number(loaded_music) + "/" + QString::number(music_list_size));
 | 
			
		||||
 | 
			
		||||
      w_courtroom->append_music(f_music);
 | 
			
		||||
 | 
			
		||||
      int loading_value = ((loaded_chars + loaded_evidence + loaded_music) / static_cast<double>(total_loading_size)) * 100;
 | 
			
		||||
      w_lobby->set_loading_value(loading_value);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    int total_loading_size = char_list_size + evidence_list_size + music_list_size;
 | 
			
		||||
    int loading_value = ((loaded_chars + loaded_evidence + loaded_music) / static_cast<double>(total_loading_size)) * 100;
 | 
			
		||||
    w_lobby->set_loading_value(loading_value);
 | 
			
		||||
 | 
			
		||||
    QString next_packet_number = QString::number(((loaded_music - 1) / 10) + 1);
 | 
			
		||||
    send_server_packet(new AOPacket("AM#" + next_packet_number + "#%"));
 | 
			
		||||
  }
 | 
			
		||||
@ -398,6 +400,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
			
		||||
    if (!courtroom_constructed)
 | 
			
		||||
      goto end;
 | 
			
		||||
 | 
			
		||||
    int total_loading_size = char_list_size + evidence_list_size + music_list_size;
 | 
			
		||||
 | 
			
		||||
    for (int n_element = 0 ; n_element < f_contents.size() ; ++n_element)
 | 
			
		||||
    {
 | 
			
		||||
      QStringList sub_elements = f_contents.at(n_element).split("&");
 | 
			
		||||
@ -415,11 +419,10 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
			
		||||
      w_lobby->set_loading_text("Loading chars:\n" + QString::number(loaded_chars) + "/" + QString::number(char_list_size));
 | 
			
		||||
 | 
			
		||||
      w_courtroom->append_char(f_char);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    int total_loading_size = char_list_size + evidence_list_size + music_list_size;
 | 
			
		||||
    int loading_value = (loaded_chars / static_cast<double>(total_loading_size)) * 100;
 | 
			
		||||
    w_lobby->set_loading_value(loading_value);
 | 
			
		||||
      int loading_value = ((loaded_chars + loaded_evidence + loaded_music) / static_cast<double>(total_loading_size)) * 100;
 | 
			
		||||
      w_lobby->set_loading_value(loading_value);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    send_server_packet(new AOPacket("RM#%"));
 | 
			
		||||
  }
 | 
			
		||||
@ -428,6 +431,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
			
		||||
    if (!courtroom_constructed)
 | 
			
		||||
      goto end;
 | 
			
		||||
 | 
			
		||||
    int total_loading_size = char_list_size + evidence_list_size + music_list_size;
 | 
			
		||||
 | 
			
		||||
    for (int n_element = 0 ; n_element < f_contents.size() ; ++n_element)
 | 
			
		||||
    {
 | 
			
		||||
      ++loaded_music;
 | 
			
		||||
@ -435,11 +440,10 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
			
		||||
      w_lobby->set_loading_text("Loading music:\n" + QString::number(loaded_music) + "/" + QString::number(music_list_size));
 | 
			
		||||
 | 
			
		||||
      w_courtroom->append_music(f_contents.at(n_element));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    int total_loading_size = char_list_size + evidence_list_size + music_list_size;
 | 
			
		||||
    int loading_value = (loaded_chars / static_cast<double>(total_loading_size)) * 100;
 | 
			
		||||
    w_lobby->set_loading_value(loading_value);
 | 
			
		||||
      int loading_value = ((loaded_chars + loaded_evidence + loaded_music) / static_cast<double>(total_loading_size)) * 100;
 | 
			
		||||
      w_lobby->set_loading_value(loading_value);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    send_server_packet(new AOPacket("RD#%"));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user