room join packets
This commit is contained in:
		
							parent
							
								
									e346d052a1
								
							
						
					
					
						commit
						7553fd1e10
					
				| @ -129,10 +129,10 @@ pub struct PlayerChangedMap2 { | |||||||
| #[pso_message(0x20)] | #[pso_message(0x20)] | ||||||
| pub struct TellOtherPlayerMyLocation { | pub struct TellOtherPlayerMyLocation { | ||||||
|     unknown1: u32, |     unknown1: u32, | ||||||
|     unknown2: u32, |  | ||||||
|     x: f32, |     x: f32, | ||||||
|     y: f32, |     y: f32, | ||||||
|     z: f32, |     z: f32, | ||||||
|  |     unknown2: u32, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #[pso_message(0x21)] | #[pso_message(0x21)] | ||||||
| @ -506,15 +506,18 @@ pub struct NpcSpawn { | |||||||
|     data: [u8; 8], |     data: [u8; 8], | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| //#[pso_message(0x6F)]
 | #[pso_message(0x6F)] | ||||||
| //pub struct PlayerJoiningGame {
 | pub struct PlayerJoiningGame { | ||||||
|  |     data: [u32; 0x81], | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| //}
 | #[pso_message(0x71)] | ||||||
|  | pub struct PlayerJoiningGame2 { | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| //#[pso_message(0x71)]
 | #[pso_message(0x72)] | ||||||
| //pub struct PlayerJoiningGame2 {
 | pub struct BurstDone { | ||||||
|     
 | } | ||||||
| //}
 |  | ||||||
| 
 | 
 | ||||||
| #[pso_message(0x74)] | #[pso_message(0x74)] | ||||||
| pub struct WordSelect { | pub struct WordSelect { | ||||||
| @ -974,8 +977,9 @@ pub enum GameMessage { | |||||||
|     SpawningMonsters(SpawningMonsters), |     SpawningMonsters(SpawningMonsters), | ||||||
|     PlayerTelepipe(PlayerTelepipe), |     PlayerTelepipe(PlayerTelepipe), | ||||||
|     NpcSpawn(NpcSpawn), |     NpcSpawn(NpcSpawn), | ||||||
|     //PlayerJoiningGame(PlayerJoiningGame),
 |     PlayerJoiningGame(PlayerJoiningGame), | ||||||
|     //PlayerJoiningGame2(PlayerJoiningGame2),
 |     PlayerJoiningGame2(PlayerJoiningGame2), | ||||||
|  |     BurstDone(BurstDone), | ||||||
|     WordSelect(WordSelect), |     WordSelect(WordSelect), | ||||||
|     PlayerChangedFloor(PlayerChangedFloor), |     PlayerChangedFloor(PlayerChangedFloor), | ||||||
|     KillMonster(KillMonster), |     KillMonster(KillMonster), | ||||||
| @ -1134,8 +1138,9 @@ impl PSOPacketData for GameMessage { | |||||||
|             SpawningMonsters::CMD => Ok(GameMessage::SpawningMonsters(SpawningMonsters::from_bytes(&mut cur)?)), |             SpawningMonsters::CMD => Ok(GameMessage::SpawningMonsters(SpawningMonsters::from_bytes(&mut cur)?)), | ||||||
|             PlayerTelepipe::CMD => Ok(GameMessage::PlayerTelepipe(PlayerTelepipe::from_bytes(&mut cur)?)), |             PlayerTelepipe::CMD => Ok(GameMessage::PlayerTelepipe(PlayerTelepipe::from_bytes(&mut cur)?)), | ||||||
|             NpcSpawn::CMD => Ok(GameMessage::NpcSpawn(NpcSpawn::from_bytes(&mut cur)?)), |             NpcSpawn::CMD => Ok(GameMessage::NpcSpawn(NpcSpawn::from_bytes(&mut cur)?)), | ||||||
|             //PlayerJoiningGame::CMD => Ok(GameMessage::PlayerJoiningGame(PlayerJoiningGame::from_bytes(&mut cur)?)),
 |             PlayerJoiningGame::CMD => Ok(GameMessage::PlayerJoiningGame(PlayerJoiningGame::from_bytes(&mut cur)?)), | ||||||
|             //PlayerJoiningGame2::CMD => Ok(GameMessage::PlayerJoiningGame2(PlayerJoiningGame2::from_bytes(&mut cur)?)),
 |             PlayerJoiningGame2::CMD => Ok(GameMessage::PlayerJoiningGame2(PlayerJoiningGame2::from_bytes(&mut cur)?)), | ||||||
|  |             BurstDone::CMD => Ok(GameMessage::BurstDone(BurstDone::from_bytes(&mut cur)?)), | ||||||
|             WordSelect::CMD => Ok(GameMessage::WordSelect(WordSelect::from_bytes(&mut cur)?)), |             WordSelect::CMD => Ok(GameMessage::WordSelect(WordSelect::from_bytes(&mut cur)?)), | ||||||
|             PlayerChangedFloor::CMD => Ok(GameMessage::PlayerChangedFloor(PlayerChangedFloor::from_bytes(&mut cur)?)), |             PlayerChangedFloor::CMD => Ok(GameMessage::PlayerChangedFloor(PlayerChangedFloor::from_bytes(&mut cur)?)), | ||||||
|             KillMonster::CMD => Ok(GameMessage::KillMonster(KillMonster::from_bytes(&mut cur)?)), |             KillMonster::CMD => Ok(GameMessage::KillMonster(KillMonster::from_bytes(&mut cur)?)), | ||||||
| @ -1296,8 +1301,9 @@ impl PSOPacketData for GameMessage { | |||||||
|             GameMessage::SpawningMonsters(data) => data.as_bytes(), |             GameMessage::SpawningMonsters(data) => data.as_bytes(), | ||||||
|             GameMessage::PlayerTelepipe(data) => data.as_bytes(), |             GameMessage::PlayerTelepipe(data) => data.as_bytes(), | ||||||
|             GameMessage::NpcSpawn(data) => data.as_bytes(), |             GameMessage::NpcSpawn(data) => data.as_bytes(), | ||||||
|             //GameMessage::PlayerJoiningGame(data) => data.as_bytes(),
 |             GameMessage::PlayerJoiningGame(data) => data.as_bytes(), | ||||||
|             //GameMessage::PlayerJoiningGame2(data) => data.as_bytes(),
 |             GameMessage::PlayerJoiningGame2(data) => data.as_bytes(), | ||||||
|  |             GameMessage::BurstDone(data) => data.as_bytes(), | ||||||
|             GameMessage::WordSelect(data) => data.as_bytes(), |             GameMessage::WordSelect(data) => data.as_bytes(), | ||||||
|             GameMessage::PlayerChangedFloor(data) => data.as_bytes(), |             GameMessage::PlayerChangedFloor(data) => data.as_bytes(), | ||||||
|             GameMessage::KillMonster(data) => data.as_bytes(), |             GameMessage::KillMonster(data) => data.as_bytes(), | ||||||
|  | |||||||
| @ -8,7 +8,7 @@ use crate::ConsumingBlob; | |||||||
| 
 | 
 | ||||||
| use std::io::Read; | use std::io::Read; | ||||||
| 
 | 
 | ||||||
| const BLOCK_MENU_ID: u32 = 1; | pub const BLOCK_MENU_ID: u32 = 1; | ||||||
| pub const ROOM_MENU_ID: u32 = 2; | pub const ROOM_MENU_ID: u32 = 2; | ||||||
| pub const LOBBY_MENU_ID: u32 = 3; | pub const LOBBY_MENU_ID: u32 = 3; | ||||||
| 
 | 
 | ||||||
| @ -115,6 +115,25 @@ pub struct CharData { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | #[pso_packet(0x60)] | ||||||
|  | pub struct BurstDone72 { | ||||||
|  |     msg: u8, | ||||||
|  |     len: u8, | ||||||
|  |     client: u8, | ||||||
|  |     target: u8, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | impl BurstDone72 { | ||||||
|  |     pub fn new() -> BurstDone72 { | ||||||
|  |         BurstDone72 { | ||||||
|  |             msg: 0x72, | ||||||
|  |             len: 3, | ||||||
|  |             client: 0x18, | ||||||
|  |             target: 0x08, | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| #[pso_packet(0x60)] | #[pso_packet(0x60)] | ||||||
| pub struct Message { | pub struct Message { | ||||||
| @ -226,22 +245,22 @@ impl SmallDialog { | |||||||
| 
 | 
 | ||||||
| #[pso_packet(0x64, manual_flag)] | #[pso_packet(0x64, manual_flag)] | ||||||
| pub struct JoinRoom { | pub struct JoinRoom { | ||||||
|     flag: u32, // # of elements in players
 |     pub flag: u32, // # of elements in players
 | ||||||
|     maps: [u32; 0x20], |     pub maps: [u32; 0x20], | ||||||
|     players: [PlayerHeader; 4], |     pub players: [PlayerHeader; 4], | ||||||
|     client_id: u8, |     pub client: u8, | ||||||
|     leader_id: u8, |     pub leader: u8, | ||||||
|     one: u8, |     pub one: u8, | ||||||
|     difficulty: u8, // TODO: enum
 |     pub difficulty: u8, // TODO: enum
 | ||||||
|     battle: u8, |     pub battle: u8, | ||||||
|     event: u8, |     pub event: u8, | ||||||
|     section: u8, |     pub section: u8, | ||||||
|     challenge: u8, |     pub challenge: u8, | ||||||
|     random_seed: u32, |     pub random_seed: u32, | ||||||
|     episode: u8, |     pub episode: u8, | ||||||
|     one2: u8, |     pub one2: u8, | ||||||
|     single_player: u8, |     pub single_player: u8, | ||||||
|     unknown: u8, |     pub unknown: u8, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| impl JoinRoom { | impl JoinRoom { | ||||||
| @ -254,7 +273,7 @@ impl JoinRoom { | |||||||
| 
 | 
 | ||||||
| #[pso_packet(0x65, manual_flag)] | #[pso_packet(0x65, manual_flag)] | ||||||
| pub struct AddToRoom { | pub struct AddToRoom { | ||||||
|     flag: u32, |     pub flag: u32, | ||||||
|     pub client: u8, |     pub client: u8, | ||||||
|     pub leader: u8, |     pub leader: u8, | ||||||
|     pub one: u8, |     pub one: u8, | ||||||
| @ -410,3 +429,12 @@ impl LobbyList { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | #[pso_packet(0x6F)] | ||||||
|  | pub struct DoneBursting { | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #[pso_packet(0x98)] | ||||||
|  | pub struct ClientCharacterData { | ||||||
|  |     pub data: [u8; 2112], | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user