summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/main.c b/main.c
index 0b7a639..b5f9205 100644
--- a/main.c
+++ b/main.c
@@ -55,8 +55,18 @@ char* show_prompt(int x,int y,int w,const char *title){
return line;
}
-static void room_create(const char *name){}
-static void room_join(const char *name){}
+static void room_create(int sock,const char *name){
+ tcp_send_line_f(sock,"room_create " GAMENAME " %s 0 2",name);
+ if(tcp_read_ok(sock,"room_create")==-1){
+ moveto(1,7);
+ tprintf("Room name already exists.");
+ redraw();
+ return;
+ }
+ //TODO: do something with the created room
+}
+
+static void room_join(int sock,const char *name){}
int main(void){
int sock=tcp_connect(HOSTNAME,PORT);
@@ -84,6 +94,8 @@ int main(void){
i64 sel=showmenu("REGEXBATTLE",
"List open public games","Create a new game","Join an open game",
"Quit",NULL);
+ Size termsize=gettermsize();
+ fillrect(0,7,termsize.w,termsize.h-7,' ');
switch(sel){
case 0: {
tcp_send_line(sock,"room_list " GAMENAME);
@@ -104,7 +116,7 @@ int main(void){
Size termsize=gettermsize();
fillrect(0,7,termsize.w,termsize.h-7,' ');
if(line!=NULL){
- room_create(line);
+ room_create(sock,line);
free(line);
}
break;
@@ -115,7 +127,7 @@ int main(void){
Size termsize=gettermsize();
fillrect(0,7,termsize.w,termsize.h-7,' ');
if(line!=NULL){
- room_join(line);
+ room_join(sock,line);
free(line);
}
break;