doc/protocol.txt
author Pekka Ristola <pekkarr@protonmail.com>
Mon, 27 Jan 2025 19:08:05 +0100
changeset 16067 dbdb98dafd80
parent 10342 16122539d2ea
permissions -rw-r--r--
Add support for ffmpeg 6.0 - Use the new send_frame/receive_packet API for encoding - Use the new channel layout API for audio - Fix audio recording - Copy codec parameters to the stream parameters - Set correct pts for audio frames - Read audio samples from file directly to the refcounted AVFrame buffer instead of the `g_pSamples` buffer - Use global AVPackets allocated with `av_packet_alloc` - Stop trying to write more audio frames when `WriteAudioFrame` fails with a negative error code - Fix segfault with `g_pContainer->url`. The field has to be allocated with `av_malloc` before writing to it. It's set to `NULL` by default. - Properly free allocations with `avcodec_free_context` and `avformat_free_context`

    '?'             ping?
    '!'             pong!
    'l','L'         срабатывание команд     -left, +left
    'r','R'                                 -right, +right
    'u','U'                                 -up, +up
    'd','D'                                 -down, +down
    'z', 'Z'                                -precise, +precise
    'N'             срабатывание команды /nextturn
    'S'                                  /switch
    's' + <текст>   /say
    '+'             пустой пакет для постоянности лага
    '1'..'5'        /timer 1..5
    chr(128+№)     /slot №
    'w'             /setweap
    'p'             /put
    'j'             /ljump
    'J'             /hjump
    'E' + <текст>   сообщение об ошибке
    ','             /skip
    't' + №         /taunt №
    'f' + <team>    'team' is uncontrolled
    'g' + <team>    'team' is controlled again (synced msg)

фронтенд клиенту:
    'e' + <команда> выполнить "/<команда>"
    'T' + {L,N,D}   тип игры (локальная, сетевая, просмотр демо)
    'W' + <текст>   сообщение о нефатальной ошибке
    'F' + <team>    команда team вылетела в сетевой игре
    'G' + <team>    'team' is back (unsynced msg)
    'o'             stop syncing, game over!

Клиент фронтенду:
    'C'             запрос текущего конфига игры
    'q'             выход по причине окончания демки
    'i'             статистика
    'K'             вывести сообщение из KB
    'Q'             выход через команду /quit
    'q'             выход по причине окончания игры