feat(ui): implement responsive player browser experience
This commit is contained in:
@@ -187,6 +187,8 @@ typedef struct {
|
||||
uint32_t state_sequence;
|
||||
uint32_t meeting_sequence;
|
||||
maze32_game_final_result_t final_result;
|
||||
uint16_t width;
|
||||
uint16_t height;
|
||||
uint16_t self_cell_index;
|
||||
uint16_t opponent_cell_index;
|
||||
uint16_t observer_player_cell_indices[MAZE32_GAME_PLAYER_COUNT];
|
||||
|
||||
@@ -461,6 +461,8 @@ maze32_game_result_t maze32_game_project_view(const maze32_game_t* game, maze32_
|
||||
view->state_sequence = game->state_sequence;
|
||||
view->meeting_sequence = game->meeting_sequence;
|
||||
view->final_result = game->final_result;
|
||||
view->width = game->maze->config.width;
|
||||
view->height = game->maze->config.height;
|
||||
view->self_carried_key = MAZE32_GAME_NO_KEY;
|
||||
view->opponent_carried_key = MAZE32_GAME_NO_KEY;
|
||||
view->opponent_cell_index = UINT16_MAX;
|
||||
@@ -648,11 +650,12 @@ maze32_game_result_t maze32_game_serialize_view_chunk(const maze32_view_t* view,
|
||||
size_t offset = 0U;
|
||||
if (!append_text(output, output_size, &offset,
|
||||
"{\"v\":1,\"type\":\"view\",\"seq\":%lu,\"payload\":{\"role\":\"%s\","
|
||||
"\"phase\":\"%s\",\"result\":\"%s\",\"meetingSequence\":%lu,"
|
||||
"\"phase\":\"%s\",\"result\":\"%s\",\"width\":%u,\"height\":%u,"
|
||||
"\"meetingSequence\":%lu,"
|
||||
"\"chunk\":%u,\"chunks\":%u",
|
||||
(unsigned long)view->state_sequence, role_name(view->role),
|
||||
phase_name(view->phase), final_result_name(view->final_result),
|
||||
(unsigned long)view->meeting_sequence, (unsigned int)chunk_index,
|
||||
phase_name(view->phase), final_result_name(view->final_result), view->width,
|
||||
view->height, (unsigned long)view->meeting_sequence, (unsigned int)chunk_index,
|
||||
(unsigned int)total_chunks)) {
|
||||
return MAZE32_GAME_RESULT_BUFFER_TOO_SMALL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user