more libpso updates
This commit is contained in:
parent
b18ab064fa
commit
156821cc6e
@ -177,7 +177,7 @@ impl ClientState {
|
|||||||
user: None,
|
user: None,
|
||||||
characters: None,
|
characters: None,
|
||||||
guildcard_data_buffer: None,
|
guildcard_data_buffer: None,
|
||||||
session: Session::new(),
|
session: Session::default(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -342,15 +342,15 @@ impl<EG: EntityGateway + Clone> CharacterServerState<EG> {
|
|||||||
if let Some(connected_client) = self.connected_clients.read().await.get(&user.id) {
|
if let Some(connected_client) = self.connected_clients.read().await.get(&user.id) {
|
||||||
if let Some(expires) = connected_client.expires {
|
if let Some(expires) = connected_client.expires {
|
||||||
if expires > chrono::Utc::now() {
|
if expires > chrono::Utc::now() {
|
||||||
return Ok(vec![SendCharacterPacket::LoginResponse(LoginResponse::by_status(AccountStatus::AlreadyOnline, Session::new()))]);
|
return Ok(vec![SendCharacterPacket::LoginResponse(LoginResponse::by_status(AccountStatus::AlreadyOnline, Session::default()))]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return Ok(vec![SendCharacterPacket::LoginResponse(LoginResponse::by_status(AccountStatus::AlreadyOnline, Session::new()))]);
|
return Ok(vec![SendCharacterPacket::LoginResponse(LoginResponse::by_status(AccountStatus::AlreadyOnline, Session::default()))]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut response = LoginResponse::by_status(AccountStatus::Ok, Session::new());
|
let mut response = LoginResponse::by_status(AccountStatus::Ok, Session::default());
|
||||||
response.guildcard = user.guildcard;
|
response.guildcard = user.guildcard;
|
||||||
response.team_id = user.team_id.map_or(0, |ti| ti);
|
response.team_id = user.team_id.map_or(0, |ti| ti);
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ impl<EG: EntityGateway + Clone> CharacterServerState<EG> {
|
|||||||
Ok(vec![SendCharacterPacket::LoginResponse(response)])
|
Ok(vec![SendCharacterPacket::LoginResponse(response)])
|
||||||
},
|
},
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
Ok(vec![SendCharacterPacket::LoginResponse(LoginResponse::by_status(err, Session::new()))])
|
Ok(vec![SendCharacterPacket::LoginResponse(LoginResponse::by_status(err, Session::default()))])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,7 @@ impl<C: PSOCipher> PacketReceiver<C> {
|
|||||||
let mut dec_buf = {
|
let mut dec_buf = {
|
||||||
//let mut cipher = self.cipher.lock().await;
|
//let mut cipher = self.cipher.lock().await;
|
||||||
let block_chunk_len = self.recv_buffer.len() / self.cipher.block_size() * self.cipher.block_size();
|
let block_chunk_len = self.recv_buffer.len() / self.cipher.block_size() * self.cipher.block_size();
|
||||||
let buf = self.recv_buffer.drain(..block_chunk_len).collect();
|
let buf = self.recv_buffer.drain(..block_chunk_len).collect::<Vec<_>>();
|
||||||
self.cipher.decrypt(&buf)?
|
self.cipher.decrypt(&buf)?
|
||||||
};
|
};
|
||||||
self.incoming_data.append(&mut dec_buf);
|
self.incoming_data.append(&mut dec_buf);
|
||||||
|
@ -341,7 +341,7 @@ impl Iterator for SendFileIterator {
|
|||||||
if len == 0 {
|
if len == 0 {
|
||||||
self.current_file = None;
|
self.current_file = None;
|
||||||
self.chunk_num = 0;
|
self.chunk_num = 0;
|
||||||
Some(SendPatchPacket::EndFileSend(EndFileSend::new()))
|
Some(SendPatchPacket::EndFileSend(EndFileSend::default()))
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
let mut crc = crc32::Digest::new(crc32::IEEE);
|
let mut crc = crc32::Digest::new(crc32::IEEE);
|
||||||
|
@ -23,7 +23,7 @@ where
|
|||||||
{
|
{
|
||||||
Ok(match get_login_status(entity_gateway, &pkt).await {
|
Ok(match get_login_status(entity_gateway, &pkt).await {
|
||||||
Ok(user) => {
|
Ok(user) => {
|
||||||
let mut response = LoginResponse::by_status(AccountStatus::Ok, Session::new());
|
let mut response = LoginResponse::by_status(AccountStatus::Ok, Session::default());
|
||||||
response.guildcard = user.id.0;
|
response.guildcard = user.id.0;
|
||||||
response.team_id = user.team_id.map_or(31, |ti| ti);
|
response.team_id = user.team_id.map_or(31, |ti| ti);
|
||||||
let characters = entity_gateway.get_characters_by_user(&user).await?;
|
let characters = entity_gateway.get_characters_by_user(&user).await?;
|
||||||
@ -44,7 +44,7 @@ where
|
|||||||
vec![SendShipPacket::LoginResponse(response), SendShipPacket::ShipBlockList(ShipBlockList::new(ship_name, num_blocks))]
|
vec![SendShipPacket::LoginResponse(response), SendShipPacket::ShipBlockList(ShipBlockList::new(ship_name, num_blocks))]
|
||||||
},
|
},
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
vec![SendShipPacket::LoginResponse(LoginResponse::by_status(err, Session::new()))]
|
vec![SendShipPacket::LoginResponse(LoginResponse::by_status(err, Session::default()))]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ pub async fn block_selected(id: ClientId,
|
|||||||
character: fc,
|
character: fc,
|
||||||
}))),
|
}))),
|
||||||
(id, SendShipPacket::CharDataRequest(CharDataRequest {})),
|
(id, SendShipPacket::CharDataRequest(CharDataRequest {})),
|
||||||
(id, SendShipPacket::LobbyList(LobbyList::new())),
|
(id, SendShipPacket::LobbyList(LobbyList::default())),
|
||||||
])
|
])
|
||||||
})}).await?
|
})}).await?
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@ pub async fn log_in_char<EG: EntityGateway + Clone>(ship: &mut ShipServerState<E
|
|||||||
password: utf8_to_array(&password),
|
password: utf8_to_array(&password),
|
||||||
unknown3: [0; 40],
|
unknown3: [0; 40],
|
||||||
hwinfo: [0; 8],
|
hwinfo: [0; 8],
|
||||||
session: Session::new(),
|
session: Session::default(),
|
||||||
})).await.unwrap();
|
})).await.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user