add option to override name colors by game version
This commit is contained in:
+31
-4
@@ -1703,6 +1703,11 @@ static void send_join_spectator_team(shared_ptr<Client> c, shared_ptr<Lobby> l)
|
||||
: wc_p->disp.stats.level.load();
|
||||
e.name_color = wc_p->disp.visual.name_color;
|
||||
|
||||
if (s->version_name_colors) {
|
||||
p.disp.visual.name_color = s->name_color_for_version(wc->version());
|
||||
e.name_color = p.disp.visual.name_color;
|
||||
}
|
||||
|
||||
player_count++;
|
||||
}
|
||||
|
||||
@@ -1766,6 +1771,11 @@ static void send_join_spectator_team(shared_ptr<Client> c, shared_ptr<Lobby> l)
|
||||
: other_p->disp.stats.level.load();
|
||||
cmd_e.name_color = other_p->disp.visual.name_color;
|
||||
|
||||
if (s->version_name_colors) {
|
||||
cmd_p.disp.visual.name_color = s->name_color_for_version(other_c->version());
|
||||
cmd_e.name_color = cmd_p.disp.visual.name_color;
|
||||
}
|
||||
|
||||
player_count++;
|
||||
}
|
||||
}
|
||||
@@ -1867,10 +1877,14 @@ void send_join_game(shared_ptr<Client> c, shared_ptr<Lobby> l) {
|
||||
for (size_t x = 0; x < 4; x++) {
|
||||
if (l->clients[x]) {
|
||||
auto other_p = l->clients[x]->character();
|
||||
cmd.players_ep3[x].inventory = other_p->inventory;
|
||||
cmd.players_ep3[x].inventory.encode_for_client(c);
|
||||
cmd.players_ep3[x].disp = convert_player_disp_data<PlayerDispDataDCPCV3>(other_p->disp, c->language(), other_p->inventory.language);
|
||||
cmd.players_ep3[x].disp.enforce_lobby_join_limits_for_version(c->version());
|
||||
auto& cmd_p = cmd.players_ep3[x];
|
||||
cmd_p.inventory = other_p->inventory;
|
||||
cmd_p.inventory.encode_for_client(c);
|
||||
cmd_p.disp = convert_player_disp_data<PlayerDispDataDCPCV3>(other_p->disp, c->language(), other_p->inventory.language);
|
||||
cmd_p.disp.enforce_lobby_join_limits_for_version(c->version());
|
||||
if (s->version_name_colors) {
|
||||
cmd_p.disp.visual.name_color = s->name_color_for_version(l->clients[x]->version());
|
||||
}
|
||||
}
|
||||
}
|
||||
send_command_t(c, 0x64, player_count, cmd);
|
||||
@@ -1987,6 +2001,12 @@ void send_join_lobby_t(shared_ptr<Client> c, shared_ptr<Lobby> l, shared_ptr<Cli
|
||||
} else {
|
||||
e.disp = convert_player_disp_data<DispDataT>(lp->disp, c->language(), lp->inventory.language);
|
||||
e.disp.enforce_lobby_join_limits_for_version(c->version());
|
||||
if (s->version_name_colors) {
|
||||
e.disp.visual.name_color = s->name_color_for_version(lc->version());
|
||||
if (is_v1_or_v2(c->version())) {
|
||||
e.disp.visual.compute_name_color_checksum();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2053,6 +2073,9 @@ void send_join_lobby_xb(shared_ptr<Client> c, shared_ptr<Lobby> l, shared_ptr<Cl
|
||||
e.inventory.encode_for_client(c);
|
||||
e.disp = convert_player_disp_data<PlayerDispDataDCPCV3>(lp->disp, c->language(), lp->inventory.language);
|
||||
e.disp.enforce_lobby_join_limits_for_version(c->version());
|
||||
if (s->version_name_colors) {
|
||||
e.disp.visual.name_color = s->name_color_for_version(lc->version());
|
||||
}
|
||||
}
|
||||
|
||||
send_command(c, command, used_entries, &cmd, cmd.size(used_entries));
|
||||
@@ -2101,6 +2124,10 @@ void send_join_lobby_dc_nte(shared_ptr<Client> c, shared_ptr<Lobby> l,
|
||||
} else {
|
||||
e.disp = convert_player_disp_data<PlayerDispDataDCPCV3>(lp->disp, c->language(), lp->inventory.language);
|
||||
e.disp.enforce_lobby_join_limits_for_version(c->version());
|
||||
if (s->version_name_colors) {
|
||||
e.disp.visual.name_color = s->name_color_for_version(lc->version());
|
||||
e.disp.visual.compute_name_color_checksum();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user