pso2packetlib/protocol/
unk2a.rs

1//! Unknown \[0x2A\] packets.
2use crate::fixed_types::{Bytes, FixedBytes};
3use super::{HelperReadWrite, PacketReadWrite};
4
5// ----------------------------------------------------------------
6// Unknown 0x2A packets
7// ----------------------------------------------------------------
8
9/// (0x2A, 0x08) Unknown.
10///
11/// (S -> C)
12#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
13#[cfg_attr(feature = "serde", serde(default))]
14#[derive(Debug, Clone, Default, PartialEq, PacketReadWrite)]
15#[Id(0x2A, 0x08)]
16#[Flags(Flags::PACKED)]
17#[Magic(0xB976, 0xA5)]
18pub struct Unk2A08Packet {
19    pub unk1: Vec<Unk2A08_1>,
20    pub unk2: Vec<u32>,
21    pub unk3: Vec<Unk2A08_2>,
22    pub unk4: Bytes,
23    pub unk5: Vec<Unk2A08_3>,
24    pub unk6: Vec<Unk2A08_4>,
25    pub unk7: Vec<Unk2A08_5>,
26    pub unk8: Vec<u16>,
27    pub unk9: u32,
28    pub unk10: u32,
29    pub unk11: u32,
30}
31
32// ----------------------------------------------------------------
33// Additional structs
34// ----------------------------------------------------------------
35
36#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
37#[cfg_attr(feature = "serde", serde(default))]
38#[derive(Debug, Default, Clone, PartialEq, HelperReadWrite)]
39pub struct Unk2A08_1 {
40    pub unk1: FixedBytes<0x10>,
41    #[cfg(feature = "ngs_packets")]
42    #[cfg_attr(docsrs, doc(cfg(feature = "ngs_packets")))]
43    #[OnlyOn(super::PacketType::NGS)]
44    pub unk2: FixedBytes<0x4>,
45}
46
47#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
48#[cfg_attr(feature = "serde", serde(default))]
49#[derive(Debug, Default, Clone, PartialEq, HelperReadWrite)]
50pub struct Unk2A08_2 {
51    pub unk: FixedBytes<0xE, true>,
52}
53
54#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
55#[cfg_attr(feature = "serde", serde(default))]
56#[derive(Debug, Default, Clone, PartialEq, HelperReadWrite)]
57pub struct Unk2A08_3 {
58    pub unk: FixedBytes<0x6, true>,
59}
60
61#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
62#[cfg_attr(feature = "serde", serde(default))]
63#[derive(Debug, Default, Clone, PartialEq, HelperReadWrite)]
64pub struct Unk2A08_4 {
65    pub unk: FixedBytes<0x8>,
66}
67
68#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
69#[cfg_attr(feature = "serde", serde(default))]
70#[derive(Debug, Default, Clone, PartialEq, HelperReadWrite)]
71pub struct Unk2A08_5 {
72    pub unk: FixedBytes<0x4>,
73}