remove client ID check for externally-generated item IDs
This commit is contained in:
+2
-5
@@ -351,7 +351,7 @@ uint32_t Lobby::generate_item_id(uint8_t client_id) {
|
||||
return this->next_game_item_id++;
|
||||
}
|
||||
|
||||
void Lobby::on_item_id_generated_externally(uint8_t client_id, uint32_t item_id) {
|
||||
void Lobby::on_item_id_generated_externally(uint32_t item_id) {
|
||||
if (this->base_version == GameVersion::BB) {
|
||||
throw logic_error("BB games cannot have externally-generated item IDs");
|
||||
}
|
||||
@@ -360,10 +360,7 @@ void Lobby::on_item_id_generated_externally(uint8_t client_id, uint32_t item_id)
|
||||
// the range further here.
|
||||
if ((item_id > 0x00010000) && (item_id < 0x00810000)) {
|
||||
uint16_t item_client_id = (item_id >> 21) & 0x7FF;
|
||||
if (item_client_id != client_id) {
|
||||
throw runtime_error("externally-generated item ID does not match expected client ID");
|
||||
}
|
||||
uint32_t& next_item_id = this->next_item_id.at(client_id);
|
||||
uint32_t& next_item_id = this->next_item_id.at(item_client_id);
|
||||
next_item_id = std::max<uint32_t>(next_item_id, item_id + 1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user