wolfrpg_map_parser/command/party_graphics_command/
special_operation.rs1#[cfg(feature = "serde")]
2use serde::{Serialize, Deserialize};
3
4#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
5#[derive(PartialEq, Clone)]
6pub enum SpecialOperation {
7 PushCharactersToFront = 0x00,
8 EraseAllCharacters = 0x01,
9 WarpPartyToHero = 0x02,
10 StartHeroPartySynchro = 0x03,
11 CancelHeroPartySynchro = 0x04,
12 MakePartyTransparent = 0x05,
13 CancelPartyTransparency = 0x06,
14 SavePartyMembers = 0x07,
15 LoadPartyMembers = 0x08,
16 TurnOnPartyFollowing = 0x09,
17 TurnOffPartyFollowing = 0x0a,
18 Unknown
19}
20
21impl SpecialOperation {
22 pub const fn new(operation: u8) -> Self {
23 match operation {
24 0x00 => SpecialOperation::PushCharactersToFront,
25 0x01 => SpecialOperation::EraseAllCharacters,
26 0x02 => SpecialOperation::WarpPartyToHero,
27 0x03 => SpecialOperation::StartHeroPartySynchro,
28 0x04 => SpecialOperation::CancelHeroPartySynchro,
29 0x05 => SpecialOperation::MakePartyTransparent,
30 0x06 => SpecialOperation::CancelPartyTransparency,
31 0x07 => SpecialOperation::SavePartyMembers,
32 0x08 => SpecialOperation::LoadPartyMembers,
33 0x09 => SpecialOperation::TurnOnPartyFollowing,
34 0x0a => SpecialOperation::TurnOffPartyFollowing,
35 _ => SpecialOperation::Unknown
36 }
37 }
38}