Compare commits

..

No commits in common. "2debc015b741bdf540e92d293ce1f8e3adf784f7" and "799a9e68804633c24b47b759c75269f7106918cc" have entirely different histories.

3 changed files with 39 additions and 100 deletions

View File

@ -551,7 +551,7 @@ mod test {
#[pso_message(0x23)] #[pso_message(0x23)]
struct Test { struct Test {
b: [u32; 100], b: [u32; 100],
} };
let test = Test { let test = Test {
client: 1, client: 1,

View File

@ -135,8 +135,7 @@ pub struct TellOtherPlayerMyLocation {
x: f32, x: f32,
y: f32, y: f32,
z: f32, z: f32,
rotation: u16, unknown2: u32,
unknown2: u16,
} }
#[pso_message(0x21)] #[pso_message(0x21)]
@ -266,14 +265,6 @@ pub struct PlayerDonatedPB {
recipient: u32, recipient: u32,
} }
<<<<<<< HEAD
#[pso_message(0x37)]
pub struct PlayerInitiatedPB {
pb_amount: u8,
unknown1: [u8; 4],
}
=======
>>>>>>> 799a9e68804633c24b47b759c75269f7106918cc
#[pso_message(0x39)] #[pso_message(0x39)]
pub struct PlayerPBReady { pub struct PlayerPBReady {
player: u16, player: u16,
@ -291,8 +282,7 @@ pub struct PlayerSpawnedIntoArea {
#[pso_message(0x3E)] #[pso_message(0x3E)]
pub struct PlayerStopped { pub struct PlayerStopped {
unknown1: [u8; 2], unknown1: u32,
rotation: u16,
area: u16, area: u16,
room: u16, room: u16,
x: f32, x: f32,
@ -302,10 +292,8 @@ pub struct PlayerStopped {
#[pso_message(0x3F)] #[pso_message(0x3F)]
pub struct PlayerLoadedIn { pub struct PlayerLoadedIn {
unknown1: [u8; 2], unknown1: u32,
rotation: u16, unknown2: u32,
area: u16,
room: u16,
x: f32, x: f32,
y: f32, y: f32,
z: f32, z: f32,
@ -315,7 +303,7 @@ pub struct PlayerLoadedIn {
pub struct PlayerWalking { pub struct PlayerWalking {
x: f32, x: f32,
z: f32, z: f32,
stance: u32, unknown: f32,
} }
#[pso_message(0x42)] #[pso_message(0x42)]
@ -326,46 +314,37 @@ pub struct PlayerRunning {
#[pso_message(0x43)] #[pso_message(0x43)]
pub struct ComboStep1 { pub struct ComboStep1 {
rotation: u16, data: [u8; 4],
attack: u16,
} }
#[pso_message(0x44)] #[pso_message(0x44)]
pub struct ComboStep2 { pub struct ComboStep2 {
rotation: u16, data: [u8; 4],
attack: u16,
} }
#[pso_message(0x45)] #[pso_message(0x45)]
pub struct ComboStep3 { pub struct ComboStep3 {
rotation: u16, data: [u8; 4],
attack: u16,
} }
#[pso_message(0x46)] #[pso_message(0x46)]
pub struct TargetsHit { pub struct ComboStepDone {
num_of_targets: [u8; 4], // thats a lot of targets? data: [u8; 4],
client2: u8, // TODO: what even is this?
target2: u8, // TODO: what even is this?
unknown2: [u8; 2],
} }
#[pso_message(0x47)] #[pso_message(0x47)]
pub struct PlayerTechCast { // this packet and packet 0x8D (PlayerTechStart) are both sent at the same time as soon as the player presses a tech button, regardless if the tech is ACTUALLY casted (it not cancelled due to player blocking) or not. pub struct PlayerTechCast {
technique: u8, technique: u8,
unknown1: u8, unknown1: u8,
tech_level: u8, unknown2: u8,
#[length_of(targets)]
num_of_targets: u8, num_of_targets: u8,
#[length_is(num_of_targets)]
targets: Vec<u32>,
} }
#[pso_message(0x48)] #[pso_message(0x48)]
pub struct PlayerTechDone { // this packet gets sent once the tech is actually casted (ie: barta actually shoots out from your feet) pub struct PlayerTechDone {
technique: u8, technique: u8,
unknown1: u8, unknown1: u8,
tech_level: u8, // level - 1 level: u8,
unknown2: u8, unknown2: u8,
} }
@ -527,15 +506,7 @@ pub struct SpawningMonsters {
#[pso_message(0x68)] #[pso_message(0x68)]
pub struct PlayerTelepipe { pub struct PlayerTelepipe {
caster: u16, // room client #
area: u16,
room: u16,
unknown1: u16,
x: f32,
y: f32,
z: f32,
rotation: u16,
unknown2: [u8; 2],
} }
#[pso_message(0x69)] #[pso_message(0x69)]
@ -592,11 +563,6 @@ pub struct KillMonster {
//} //}
//#[pso_message(0x80)]
//pub struct PlayerTrapActivate {
//}
#[pso_message(0x83)] #[pso_message(0x83)]
pub struct PlayerTrapSet { pub struct PlayerTrapSet {
trap_type: u16, trap_type: u16,
@ -608,6 +574,11 @@ pub struct PlayerTrapSet {
//} //}
//#[pso_message(0x80)]
//pub struct PlayerTrapActivate {
//}
//#[pso_message(0x87)] //#[pso_message(0x87)]
//pub struct PlayerShrink { //pub struct PlayerShrink {
@ -628,10 +599,10 @@ pub struct PlayerKilledByMonster {
//} //}
#[pso_message(0x8D)] //#[pso_message(0x8D)]
pub struct PlayerTechStart { // this packet and packet 0x47 (PlayerTechCast) are both sent at the same time (PlayerTechStart then PlayerTechCast) as soon as the player presses a tech button, regardless if the tech is ACTUALLY casted (it not cancelled due to player blocking) or not. //pub struct PlayerTechStart {
data: [u8; 4], // always 0'd?
} //}
#[pso_message(0x94)] #[pso_message(0x94)]
pub struct PlayerWarped2 { pub struct PlayerWarped2 {
@ -692,12 +663,10 @@ pub struct BoxDropRequest {
//} //}
#[pso_message(0xA6)] //#[pso_message(0xA6)]
pub struct TradeRequest { //pub struct TradeRequest {
unknown1: u32,
unknown2: u32, //}
unknown3: u32,
}
//#[pso_message(0xA8)] //#[pso_message(0xA8)]
//pub struct BossInteractionGolDragon { //pub struct BossInteractionGolDragon {
@ -1036,7 +1005,7 @@ pub enum GameMessage {
ComboStep1(ComboStep1), ComboStep1(ComboStep1),
ComboStep2(ComboStep2), ComboStep2(ComboStep2),
ComboStep3(ComboStep3), ComboStep3(ComboStep3),
TargetsHit(TargetsHit), ComboStepDone(ComboStepDone),
PlayerTechCast(PlayerTechCast), PlayerTechCast(PlayerTechCast),
PlayerTechDone(PlayerTechDone), PlayerTechDone(PlayerTechDone),
PlayerPBUsed(PlayerPBUsed), PlayerPBUsed(PlayerPBUsed),
@ -1081,7 +1050,7 @@ pub enum GameMessage {
//PlayerUnshrink(PlayerUnshrink), //PlayerUnshrink(PlayerUnshrink),
PlayerKilledByMonster(PlayerKilledByMonster), PlayerKilledByMonster(PlayerKilledByMonster),
//CmodeStatistics(CmodeStatistics), //CmodeStatistics(CmodeStatistics),
PlayerTechStart(PlayerTechStart), //PlayerTechStart(PlayerTechStart),
PlayerWarped2(PlayerWarped2), PlayerWarped2(PlayerWarped2),
//CmodeTryAgain(CmodeTryAgain), //CmodeTryAgain(CmodeTryAgain),
ModifyPlayerStats(ModifyPlayerStats), ModifyPlayerStats(ModifyPlayerStats),
@ -1092,7 +1061,7 @@ pub enum GameMessage {
//BossInteractionOlgaFlow(BossInteractionOlgaFlow), //BossInteractionOlgaFlow(BossInteractionOlgaFlow),
//BossInteractionOlgaFlow2(BossInteractionOlgaFlow2), //BossInteractionOlgaFlow2(BossInteractionOlgaFlow2),
//BossInteractionOlgaFlow3(BossInteractionOlgaFlow3), //BossInteractionOlgaFlow3(BossInteractionOlgaFlow3),
TradeRequest(TradeRequest), //TradeRequest(TradeRequest),
//BossInteractionGolDragon(BossInteractionGolDragon), //BossInteractionGolDragon(BossInteractionGolDragon),
//BossInteractionBarbaRay(BossInteractionBarbaRay), //BossInteractionBarbaRay(BossInteractionBarbaRay),
//BossInteractionBarbaRay2(BossInteractionBarbaRay2), //BossInteractionBarbaRay2(BossInteractionBarbaRay2),
@ -1202,7 +1171,7 @@ impl PSOPacketData for GameMessage {
ComboStep1::CMD => Ok(GameMessage::ComboStep1(ComboStep1::from_bytes(&mut cur)?)), ComboStep1::CMD => Ok(GameMessage::ComboStep1(ComboStep1::from_bytes(&mut cur)?)),
ComboStep2::CMD => Ok(GameMessage::ComboStep2(ComboStep2::from_bytes(&mut cur)?)), ComboStep2::CMD => Ok(GameMessage::ComboStep2(ComboStep2::from_bytes(&mut cur)?)),
ComboStep3::CMD => Ok(GameMessage::ComboStep3(ComboStep3::from_bytes(&mut cur)?)), ComboStep3::CMD => Ok(GameMessage::ComboStep3(ComboStep3::from_bytes(&mut cur)?)),
TargetsHit::CMD => Ok(GameMessage::TargetsHit(TargetsHit::from_bytes(&mut cur)?)), ComboStepDone::CMD => Ok(GameMessage::ComboStepDone(ComboStepDone::from_bytes(&mut cur)?)),
PlayerTechCast::CMD => Ok(GameMessage::PlayerTechCast(PlayerTechCast::from_bytes(&mut cur)?)), PlayerTechCast::CMD => Ok(GameMessage::PlayerTechCast(PlayerTechCast::from_bytes(&mut cur)?)),
PlayerTechDone::CMD => Ok(GameMessage::PlayerTechDone(PlayerTechDone::from_bytes(&mut cur)?)), PlayerTechDone::CMD => Ok(GameMessage::PlayerTechDone(PlayerTechDone::from_bytes(&mut cur)?)),
PlayerPBUsed::CMD => Ok(GameMessage::PlayerPBUsed(PlayerPBUsed::from_bytes(&mut cur)?)), PlayerPBUsed::CMD => Ok(GameMessage::PlayerPBUsed(PlayerPBUsed::from_bytes(&mut cur)?)),
@ -1247,7 +1216,7 @@ impl PSOPacketData for GameMessage {
//PlayerUnshrink::CMD => Ok(GameMessage::PlayerUnshrink(PlayerUnshrink::from_bytes(&mut cur)?)), //PlayerUnshrink::CMD => Ok(GameMessage::PlayerUnshrink(PlayerUnshrink::from_bytes(&mut cur)?)),
PlayerKilledByMonster::CMD => Ok(GameMessage::PlayerKilledByMonster(PlayerKilledByMonster::from_bytes(&mut cur)?)), PlayerKilledByMonster::CMD => Ok(GameMessage::PlayerKilledByMonster(PlayerKilledByMonster::from_bytes(&mut cur)?)),
//CmodeStatistics::CMD => Ok(GameMessage::CmodeStatistics(CmodeStatistics::from_bytes(&mut cur)?)), //CmodeStatistics::CMD => Ok(GameMessage::CmodeStatistics(CmodeStatistics::from_bytes(&mut cur)?)),
PlayerTechStart::CMD => Ok(GameMessage::PlayerTechStart(PlayerTechStart::from_bytes(&mut cur)?)), //PlayerTechStart::CMD => Ok(GameMessage::PlayerTechStart(PlayerTechStart::from_bytes(&mut cur)?)),
PlayerWarped2::CMD => Ok(GameMessage::PlayerWarped2(PlayerWarped2::from_bytes(&mut cur)?)), PlayerWarped2::CMD => Ok(GameMessage::PlayerWarped2(PlayerWarped2::from_bytes(&mut cur)?)),
//CmodeTryAgain::CMD => Ok(GameMessage::CmodeTryAgain(CmodeTryAgain::from_bytes(&mut cur)?)), //CmodeTryAgain::CMD => Ok(GameMessage::CmodeTryAgain(CmodeTryAgain::from_bytes(&mut cur)?)),
ModifyPlayerStats::CMD => Ok(GameMessage::ModifyPlayerStats(ModifyPlayerStats::from_bytes(&mut cur)?)), ModifyPlayerStats::CMD => Ok(GameMessage::ModifyPlayerStats(ModifyPlayerStats::from_bytes(&mut cur)?)),
@ -1258,7 +1227,7 @@ impl PSOPacketData for GameMessage {
//BossInteractionOlgaFlow::CMD => Ok(GameMessage::BossInteractionOlgaFlow(BossInteractionOlgaFlow::from_bytes(&mut cur)?)), //BossInteractionOlgaFlow::CMD => Ok(GameMessage::BossInteractionOlgaFlow(BossInteractionOlgaFlow::from_bytes(&mut cur)?)),
//BossInteractionOlgaFlow2::CMD => Ok(GameMessage::BossInteractionOlgaFlow2(BossInteractionOlgaFlow2::from_bytes(&mut cur)?)), //BossInteractionOlgaFlow2::CMD => Ok(GameMessage::BossInteractionOlgaFlow2(BossInteractionOlgaFlow2::from_bytes(&mut cur)?)),
//BossInteractionOlgaFlow3::CMD => Ok(GameMessage::BossInteractionOlgaFlow3(BossInteractionOlgaFlow3::from_bytes(&mut cur)?)), //BossInteractionOlgaFlow3::CMD => Ok(GameMessage::BossInteractionOlgaFlow3(BossInteractionOlgaFlow3::from_bytes(&mut cur)?)),
TradeRequest::CMD => Ok(GameMessage::TradeRequest(TradeRequest::from_bytes(&mut cur)?)), //TradeRequest::CMD => Ok(GameMessage::TradeRequest(TradeRequest::from_bytes(&mut cur)?)),
//BossInteractionGolDragon::CMD => Ok(GameMessage::BossInteractionGolDragon(BossInteractionGolDragon::from_bytes(&mut cur)?)), //BossInteractionGolDragon::CMD => Ok(GameMessage::BossInteractionGolDragon(BossInteractionGolDragon::from_bytes(&mut cur)?)),
//BossInteractionBarbaRay::CMD => Ok(GameMessage::BossInteractionBarbaRay(BossInteractionBarbaRay::from_bytes(&mut cur)?)), //BossInteractionBarbaRay::CMD => Ok(GameMessage::BossInteractionBarbaRay(BossInteractionBarbaRay::from_bytes(&mut cur)?)),
//BossInteractionBarbaRay2::CMD => Ok(GameMessage::BossInteractionBarbaRay2(BossInteractionBarbaRay2::from_bytes(&mut cur)?)), //BossInteractionBarbaRay2::CMD => Ok(GameMessage::BossInteractionBarbaRay2(BossInteractionBarbaRay2::from_bytes(&mut cur)?)),
@ -1370,7 +1339,7 @@ impl PSOPacketData for GameMessage {
GameMessage::ComboStep1(data) => data.as_bytes(), GameMessage::ComboStep1(data) => data.as_bytes(),
GameMessage::ComboStep2(data) => data.as_bytes(), GameMessage::ComboStep2(data) => data.as_bytes(),
GameMessage::ComboStep3(data) => data.as_bytes(), GameMessage::ComboStep3(data) => data.as_bytes(),
GameMessage::TargetsHit(data) => data.as_bytes(), GameMessage::ComboStepDone(data) => data.as_bytes(),
GameMessage::PlayerTechCast(data) => data.as_bytes(), GameMessage::PlayerTechCast(data) => data.as_bytes(),
GameMessage::PlayerTechDone(data) => data.as_bytes(), GameMessage::PlayerTechDone(data) => data.as_bytes(),
GameMessage::PlayerPBUsed(data) => data.as_bytes(), GameMessage::PlayerPBUsed(data) => data.as_bytes(),
@ -1415,7 +1384,7 @@ impl PSOPacketData for GameMessage {
//GameMessage::PlayerUnshrink(data) => data.as_bytes(), //GameMessage::PlayerUnshrink(data) => data.as_bytes(),
GameMessage::PlayerKilledByMonster(data) => data.as_bytes(), GameMessage::PlayerKilledByMonster(data) => data.as_bytes(),
//GameMessage::CmodeStatistics(data) => data.as_bytes(), //GameMessage::CmodeStatistics(data) => data.as_bytes(),
GameMessage::PlayerTechStart(data) => data.as_bytes(), //GameMessage::PlayerTechStart(data) => data.as_bytes(),
GameMessage::PlayerWarped2(data) => data.as_bytes(), GameMessage::PlayerWarped2(data) => data.as_bytes(),
//GameMessage::CmodeTryAgain(data) => data.as_bytes(), //GameMessage::CmodeTryAgain(data) => data.as_bytes(),
GameMessage::ModifyPlayerStats(data) => data.as_bytes(), GameMessage::ModifyPlayerStats(data) => data.as_bytes(),
@ -1426,7 +1395,7 @@ impl PSOPacketData for GameMessage {
//GameMessage::BossInteractionOlgaFlow(data) => data.as_bytes(), //GameMessage::BossInteractionOlgaFlow(data) => data.as_bytes(),
//GameMessage::BossInteractionOlgaFlow2(data) => data.as_bytes(), //GameMessage::BossInteractionOlgaFlow2(data) => data.as_bytes(),
//GameMessage::BossInteractionOlgaFlow3(data) => data.as_bytes(), //GameMessage::BossInteractionOlgaFlow3(data) => data.as_bytes(),
GameMessage::TradeRequest(data) => data.as_bytes(), //GameMessage::TradeRequest(data) => data.as_bytes(),
//GameMessage::BossInteractionGolDragon(data) => data.as_bytes(), //GameMessage::BossInteractionGolDragon(data) => data.as_bytes(),
//GameMessage::BossInteractionBarbaRay(data) => data.as_bytes(), //GameMessage::BossInteractionBarbaRay(data) => data.as_bytes(),
//GameMessage::BossInteractionBarbaRay2(data) => data.as_bytes(), //GameMessage::BossInteractionBarbaRay2(data) => data.as_bytes(),

View File

@ -582,34 +582,4 @@ pub struct FullCharacterData {
#[pso_packet(0x1ED)] #[pso_packet(0x1ED)]
pub struct SaveOptions { pub struct SaveOptions {
pub options: u32, pub options: u32,
} }
#[derive(PSOPacketData, Clone, Copy, Default)]
pub struct TradeItem {
pub item_data: [u8; 12],
pub item_id: u32,
pub item_data2: [u8; 4],
}
#[pso_packet(0xD0)]
pub struct ItemsToTrade {
pub trade_target: u8,
pub unknown2: u8,
pub count: u16,
pub items: [TradeItem; 32],
}
#[pso_packet(0xD1)]
pub struct AcknowledgeTrade {
}
#[pso_packet(0xD2)]
pub struct TradeConfirmed {
}
#[pso_packet(0xD4)]
pub struct CancelTrade {
}