aboutsummaryrefslogtreecommitdiff
path: root/client/libacron/include/events.h
diff options
context:
space:
mode:
Diffstat (limited to 'client/libacron/include/events.h')
-rw-r--r--client/libacron/include/events.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/client/libacron/include/events.h b/client/libacron/include/events.h
new file mode 100644
index 0000000..93a5184
--- /dev/null
+++ b/client/libacron/include/events.h
@@ -0,0 +1,51 @@
+/*
+ * Created by yuuta on 7/13/22.
+ */
+
+#ifndef LIBAC_EVENTS_H
+#define LIBAC_EVENTS_H
+
+#include "common.h"
+#include "ids.h"
+#include <stdint.h>
+
+/* Events */
+typedef struct ac_event {
+ uint8_t type;
+} ac_event_t;
+
+#define AC_EVENT_PLAYER_JOIN AC_ID(AC_TYPE_EVENT, 1 /* 0b0000001 */) /* 0b00000001 */
+typedef struct ac_event_player_join {
+ uint8_t type;
+ ac_entity_t player;
+} ac_event_player_join_t;
+
+#define AC_EVENT_PLAYER_DISCONNECT AC_ID(AC_TYPE_EVENT, 2 /* 0b0000010 */) /* 0b00000010 */
+typedef struct ac_event_player_disconnect {
+ uint8_t type;
+ ac_entity_t player;
+ char *reason;
+} ac_event_player_disconnect_t;
+
+#define AC_EVENT_ENTITY_DEATH AC_ID(AC_TYPE_EVENT, 3 /* 0b00000011 */) /* 0b00000011 */
+typedef struct ac_event_entity_death {
+ uint8_t type;
+ ac_entity_t entity;
+ char *message;
+} ac_event_entity_death_t;
+
+#define AC_EVENT_PLAYER_MESSAGE AC_ID(AC_TYPE_EVENT, 4 /* 0b00000100 */) /* 0b00000100 */
+typedef struct ac_event_player_message {
+ uint8_t type;
+ ac_entity_t player;
+ char *text;
+} ac_event_player_message_t;
+
+#define AC_EVENT_LAGGING AC_ID(AC_TYPE_EVENT, 5 /* 0b00000101 */) /* 0b00000101 */
+typedef struct ac_event_lagging {
+ uint8_t type;
+ int64_t ms;
+ int64_t ticks;
+} ac_event_lagging_t;
+
+#endif /* LIBAC_EVENTS_H */