diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 20 |
1 files changed, 16 insertions, 4 deletions
@@ -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; |