14210
|
1 |
use crate::command::Command;
|
|
2 |
|
|
3 |
pub enum KeystrokeAction {
|
|
4 |
Press,
|
|
5 |
Release,
|
|
6 |
}
|
|
7 |
|
|
8 |
pub enum SyncedEngineMessage {
|
|
9 |
Left(KeystrokeAction),
|
|
10 |
Right(KeystrokeAction),
|
|
11 |
Up(KeystrokeAction),
|
|
12 |
Down(KeystrokeAction),
|
|
13 |
Precise(KeystrokeAction),
|
|
14 |
Attack(KeystrokeAction),
|
|
15 |
NextTurn,
|
|
16 |
Switch,
|
|
17 |
Empty,
|
|
18 |
Timer(u8),
|
|
19 |
Slot(u8),
|
|
20 |
SetWeapon(u8),
|
|
21 |
Put(i32, i32),
|
|
22 |
HighJump,
|
|
23 |
LowJump,
|
|
24 |
Skip,
|
|
25 |
TeamControlGained(String),
|
|
26 |
TeamControlLost(String),
|
|
27 |
}
|
|
28 |
|
|
29 |
pub enum UnsyncedEngineMessage {
|
|
30 |
Ping,
|
|
31 |
Pong,
|
|
32 |
Say(String),
|
|
33 |
Taunt(u8),
|
|
34 |
GameType(u8),
|
|
35 |
Warning(String),
|
|
36 |
StopSyncing,
|
|
37 |
GameOver,
|
|
38 |
GameInterrupted,
|
|
39 |
GameSetupChecksum(String),
|
|
40 |
}
|
|
41 |
|
|
42 |
pub enum ConfigEngineMessage {
|
|
43 |
ConfigRequest,
|
|
44 |
SetAmmo(String),
|
|
45 |
SetScript(String),
|
|
46 |
SetScriptParam(String),
|
|
47 |
Spectate,
|
|
48 |
TeamLocality(bool),
|
|
49 |
SetMap(String),
|
|
50 |
SetTheme(String),
|
|
51 |
SetSeed(String),
|
|
52 |
SetTemplateFilter(String),
|
|
53 |
SetMapGenerator(String),
|
|
54 |
SetFeatureSize(u8),
|
|
55 |
SetDelay(u32),
|
|
56 |
SetReadyDelay(u32),
|
|
57 |
SetCratesFrequency(u8),
|
|
58 |
SetHealthCrateProbability(u8),
|
|
59 |
SetHealthCratesNumber(u8),
|
|
60 |
SetRoundsTilSuddenDeath(u8),
|
|
61 |
SetSuddenDeathWaterRiseSpeed(u8),
|
|
62 |
SetSuddenDeathHealthDecreaseRate(u8),
|
|
63 |
SetDamageMultiplier(u32),
|
|
64 |
SetRopeLength(u32),
|
|
65 |
SetGetawayTime(u32),
|
|
66 |
SetDudMinesPercent(u8),
|
|
67 |
SetMinesNumber(u32),
|
|
68 |
SetAirMinesNumber(u32),
|
|
69 |
SetBarrelsNumber(u32),
|
|
70 |
SetTurnTime(u32),
|
|
71 |
SetMinesTime(u32),
|
|
72 |
SetWorldEdge(u8),
|
|
73 |
Draw, // TODO
|
|
74 |
SetVoicePack(String),
|
|
75 |
AddHedgehog(String, u8, u32),
|
|
76 |
AddTeam(String, u8),
|
|
77 |
SetHedgehogCoordinates(i32, i32),
|
|
78 |
SetFort(String),
|
|
79 |
SetGrave(String),
|
|
80 |
SetHat(String),
|
|
81 |
SetFlag(String),
|
|
82 |
SetOwner(String),
|
|
83 |
SetOneClanMode(bool),
|
|
84 |
SetMultishootMode(bool),
|
|
85 |
SetSolidLand(bool),
|
|
86 |
SetBorders(bool),
|
|
87 |
SetDivideTeams(bool),
|
|
88 |
SetLowGravity(bool),
|
|
89 |
SetLaserSight(bool),
|
|
90 |
SetInvulnerability(bool),
|
|
91 |
SetHealthReset(bool),
|
|
92 |
SetVampiric(bool),
|
|
93 |
SetKarma(bool),
|
|
94 |
SetArtilleryMode(bool),
|
|
95 |
SetHedgehogSwitch(bool),
|
|
96 |
SetRandomOrder(bool),
|
|
97 |
SetKingMode(bool),
|
|
98 |
SetPlaceHedgehog(bool),
|
|
99 |
SetSharedAmmo(bool),
|
|
100 |
SetGirdersEnabled(bool),
|
|
101 |
SetLandObjectsEnabled(bool),
|
|
102 |
SetAISurvivalMode(bool),
|
|
103 |
SetInfiniteAttack(bool),
|
|
104 |
SetResetWeapons(bool),
|
|
105 |
SetAmmoPerHedgehog(bool),
|
|
106 |
SetWindMode(u8),
|
|
107 |
SetTagTeam(bool),
|
|
108 |
SetBottomBorder(bool),
|
|
109 |
SetShoppaBorder(bool),
|
|
110 |
}
|
|
111 |
|
|
112 |
pub enum EngineMessage {
|
|
113 |
Synced(SyncedEngineMessage, u32),
|
|
114 |
Unsynced(UnsyncedEngineMessage),
|
|
115 |
Config(ConfigEngineMessage),
|
|
116 |
}
|
|
117 |
|
|
118 |
impl EngineMessage {
|
|
119 |
fn from_bytes(buf: &[u8]) -> Self {
|
|
120 |
unimplemented!()
|
|
121 |
}
|
|
122 |
|
|
123 |
fn to_bytes(&self) -> Vec<u8> {
|
|
124 |
unimplemented!()
|
|
125 |
}
|
|
126 |
}
|
|
127 |
|
|
128 |
#[cfg(test)]
|
|
129 |
mod tests {
|
|
130 |
#[test]
|
|
131 |
fn it_works() {
|
|
132 |
assert_eq!(2 + 2, 4);
|
|
133 |
}
|
|
134 |
}
|