aboutsummaryrefslogtreecommitdiff
path: root/src/login.h
diff options
context:
space:
mode:
authorCara Salter <cara@devcara.com>2022-01-20 23:47:53 -0500
committerCara Salter <cara@devcara.com>2022-01-20 23:47:53 -0500
commitc2352ee043546b518f69c615a1ece778e942e650 (patch)
tree6efe18199f0fe2810c879c9251db2897a3244604 /src/login.h
downloadcmud-c2352ee043546b518f69c615a1ece778e942e650.tar.gz
cmud-c2352ee043546b518f69c615a1ece778e942e650.zip
initial commit
yay start of a state machine and also learning sockets
Diffstat (limited to 'src/login.h')
-rw-r--r--src/login.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/login.h b/src/login.h
new file mode 100644
index 0000000..6d4cc3d
--- /dev/null
+++ b/src/login.h
@@ -0,0 +1,32 @@
+#ifndef LOGIN_H
+#define LOGIN_H
+enum login_state {
+ LoggedOut,
+ EnterPassword,
+ WantMakeAccount,
+ MakePassword,
+ MakeConfirmPassword,
+ Complete
+};
+
+typedef struct player {
+ int xp;
+ int hp;
+ int max_hp;
+ int level;
+ int location_id;
+
+ char *name[];
+} player_t;
+
+typedef struct player_conn {
+ int conn;
+ enum login_state state;
+ struct player plr;
+} playerc_t;
+
+int step_login(playerc_t *player, int conn_fd);
+
+void handle_player(int conn_fd);
+
+#endif