KAZIK/docs/JACKBOX.md

3.8 KiB
Raw Permalink Blame History

Музыкальный автомат (Jukebox / Jackbox) в казино

Описание

В зале казино (зона бара и лаунжа, координаты (6.0, 20.0)) установлен интерактивный ретро-автомат для выбора и воспроизведения фоновой музыки.

Возможности

  1. Фоновое воспроизведение (Windows MCI):
    • Музыка воспроизводится асинхронно в фоне через нативный API winmm.dll (mciSendStringA).
    • Музыка продолжает играть при выходе из меню автомата обратно в 3D-зал, во время ходьбы, игры за столами (покер, блэкджек, рулетка, дурак, слоты, дартс и др.).
    • При завершении трека он автоматически зацикливается (repeat).
  2. Интерактивный экран (MODE_JACKBOX = 28):
    • Отрисовывается на базе текстуры assets/animations/hall/jackbox-ui-v1.bin (640×480 BGRA).
    • Отображает текущий статус («СЕЙЧАС ИГРАЕТ: <Трек>» или «МУЗЫКА ВЫКЛЮЧЕНА»).
    • Список из 10 позиций с подсветкой текущего выбора > и индикатором [ИГРАЕТ].
  3. Управление:
    • Стрелки Вверх / Вниз или W / S: выбор трека в списке.
    • Enter / Пробел: включить выбранный трек.
    • 1–9: мгновенный запуск соответствующего трека по номеру.
    • 0: выключить музыку (тишина).
    • S: остановить воспроизведение.
    • R: воспроизвести случайный трек.
    • Esc / E / Клик по кнопке «ВЫХОД»: вернуться в 3D-зал.
    • Клик мыши по строке трека: мгновенный выбор и запуск.
  4. Физическая 3D-модель в зале:
    • Габариты: ширина 0.7м, глубина 0.45м, высота 1.85м.
    • Материал 161 (фасад Jackbox_front.jpg), материал 162 (боковины Jackbox_side.jpg), верхняя крышка (110).
    • Коллизия: игрок не может пройти сквозь автомат (JackboxCanWalk3D).

Плейлист

№ Исполнитель и трек Формат
1 Keygen Church — Tenebre Rosso Sangue (ULTRAKILL OST) MP3
2 Keygen Church — Hareklavit MP3
3 Keygen Church — Ladikerfos MP3
4 Keygen Church — Tilaskarot MP3
5 Mick Gordon — BFG Division (DOOM) MP3
6 Mick Gordon — Rip & Tear (DOOM) MP3
7 Mick Gordon — The Only Thing They Fear Is You (DOOM Eternal) MP3
8 Hakari Dance (Jackpot Win Theme) WAV
9 Team Fortress 2 — Victory Anthem WAV
0 [ ВЫКЛЮЧИТЬ МУЗЫКУ / ТИШИНА ] —

Файлы реализации

  • src_graphics/jackbox_data.inc: структуры, таблицы команд MCI, пути, CP1251 строки.
  • src_graphics/jackbox.inc: загрузка ассетов, 3D-кабинет, коллизии, аудио-контроллер, ввод и рендеринг GUI.
  • tools/generators/pack_jackbox.py: оффлайн-компилятор текстур из assets/sprites/jackbox/ в бинарные контейнеры ANM1.
  • tools/tests/check_jackbox.py: тестовый набор верификации ассетов, аудио-файлов и бинарника.