made the join game screen to get ready for attaching to host and also made a protocol doc

This commit is contained in:
2026-02-05 15:01:44 -06:00
parent 47987ca439
commit 468ab94aa7
12 changed files with 642 additions and 334 deletions

62
input.c
View File

@@ -12,6 +12,7 @@ void handle_input_mainmenu(SDL_Event *e);
void handle_input_battle(SDL_Event *e);
void handle_input_overworld(SDL_Event *e);
void handle_input_host(SDL_Event *e);
void handle_input_join(SDL_Event *e);
void mainmenu_selection_state()
{
@@ -74,11 +75,15 @@ void handle_event(SDL_Event *e){
case HOST:
handle_input_host(e);
break;
case JOIN:
handle_input_join(e);
break;
default:
if(e->type == SDL_KEYDOWN && e->key.keysym.sym == SDLK_ESCAPE)
{
running = 0;
}
}
}
return;
}
@@ -199,3 +204,58 @@ void handle_input_host(SDL_Event *e)
}
return;
}
void handle_input_join(SDL_Event *e)
{
int oldlen, inputlen;
char tempname[MAX_NAMESZ], *nameptr;
nameptr = join_get_name_ptr();
strcpy(tempname, nameptr);
oldlen = strlen(tempname);
switch(e->type)
{
case SDL_KEYUP:
break;
case SDL_KEYDOWN:
switch(e->key.keysym.sym)
{
case SDLK_ESCAPE:
running = 0;
break;
case SDLK_BACKSPACE:
PRINT_M(got backspace)
if(oldlen == 0){ break; }
tempname[oldlen - 1] = '\0';
strcpy(nameptr, tempname);
break;
}
break;
case SDL_TEXTINPUT:
inputlen = strlen(e->text.text);
PRINT_M(got text input event)
if(oldlen + inputlen > MAX_NAMESZ -1){ break; }
strcat(tempname, e->text.text);
strcpy(nameptr, tempname);
break;
case SDL_MOUSEBUTTONDOWN:
switch(join_over_object())
{
case NO_OBJECT:
break;
case JOIN_GAME_BUTTON:
PRINT_M(JOIN_GAME BUTTON)
//check name field and send it off bb
break;
case LOBBY_NAME_BOX:
join_set_selected(LOBBY_NAME_SEL);
break;
case PLAYER_NAME_BOX:
join_set_selected(PLAYER_NAME_SEL);
break;
}
break;
}
return;
}