2c13062b03
lua: рантайм LuaJIT с GMod-подобным API и автозагрузкой клиентских аддонов
...
- glua: print/Msg, hook.Add/Remove/Call, timer.Simple, concommand.Add,
CreateConVar/CreateClientConVar/GetConVar, util/engine/game заглушки, FCVAR_*
- препроцессор GMod-синтаксиса: ! → not, != → ~=, && → and, || → or
(вне строк/комментариев) — оригинальные клиентские скрипты GMod грузятся
- client: команда lua run/list, автозагрузка lua/autorun/client/*.lua из VFS,
Think-хук и таймеры каждый кадр, вывод в HUD-лог
- fs: VirtualFs::list(prefix) для перечисления файлов (VPK/Pak/каталоги)
2026-10-12 04:29:09 +03:00
5db759c8bb
render/client: HUD и 2D-текст (bitmap-шрифт 8x8), фикс capture-прохода
...
- render::text: атлас ASCII 32..127, вершинный оверлей, шейдер text.wgsl
- WorldRenderer: push_text/clear_text, пайплайн с альфа-смешиванием, depth Always
- capture(): теперь использует общий draw() — раньше скриншоты не включали
скайбокс и оверлей (важно: скайбокс-меш на скриншотах появился только сейчас)
- map: HUD (FPS, позиция, режим, подсказки, лог событий), тени текста
2026-10-12 04:12:34 +03:00
efc4b03bc8
net: M2 v0 — хендшейк с ClassicBox, Steam-тикет, netchan-заголовки
...
- crates/net: битовые буферы Source (LSB), A2S, netchan (флаги/checksum/challenge),
разбор net/SVC-сообщений, connect с GMod ChecksumXOR и Steam-тикетом
- steamworks-rs: session ticket для VAC-серверов (appid 4000)
- версия клиента в connect берётся из A2S (фикс #GameUI_ServerRejectNewVersion)
- CLI: net info / net connect
- Проверено: ClassicBox принимает подключение (auth_protocol=3, Steam)
- Далее: подканалы надёжного потока → SVC_ServerInfo → signon
- docs: прогресс M2, заметки (нумерация GMod, ChecksumXOR, версии, локальный DS)
2026-10-12 00:27:28 +03:00
b8b5a4c328
engine/render: M3 v0 — рендер мира BSP со скайбоксом
...
- crates/engine: сборка мира (браши, displacement'ы, лайтмапы в вершинах,
материалы через VMT/patch/include, кэш текстур, пропуск прозрачных материалов),
загрузка скайбокса из skyname
- crates/render: wgpu-рендерер мира (VB/IB, батчи, глубина), скайбокс-куб,
камера-полёт, capture PNG с учётом BGRA, debug-режимы материалов
- client: команда map (диск/VPK, pakfile карты, WASD+мышь, --pos/--angles/--screenshot)
- тесты: gm_construct/gm_flatgrass собираются, 0 заглушек, 41 324 треугольника
- docs: прогресс M3 и заметки (BGRA, pak-VMT, z=w клиппинг)
2026-10-12 00:06:26 +03:00
34ea6b8521
formats: KeyValues, BSP (+геометрия, LZMA, pakfile ZIP), VTF (декод DXT), VMT; fs inspect/list
...
- crates/formats: bounded-парсеры kv/bsp/vtf/vmt/pakfile
- BSP: 64 лумпа, LZMA, ENTITIES, texdata/имена, game lumps, геометрия v20 с validate()
- VTF 7.0-7.5: заголовок, ресурсы 7.3+, мипы, декод в RGBA8 (DXT1/3/5 и др.)
- pakfile: ZIP Store/Deflate с CRC и лимитами
- client: fs list, fs inspect (формат по магии), геометрия карты в inspect
- тесты: реальные карты gm_construct/gm_flatgrass, 200 VTF, 200 VMT, pakfile 599 записей
- docs: прогресс M1 и заметки разведки
2026-10-11 23:03:45 +03:00
dec5b2c48f
sprint 0: workspace, tier/fs/math, VPK v1/v2 с CRC, окно SDL3+wgpu на Vulkan
...
- crates/tier: tracing-логи, конвары с реестром, конфиг TOML, авто-детект ассетов
- crates/fs: bounded-парсер VPK v1/v2 (preload, встроенные данные, внешние архивы),
VirtualFs с приоритетами и защитой от traversal, CRC-проверка
- crates/math: Vec3/Angle/Aabb
- crates/client (gmod-rs): fs doctor / fs cat, окно SDL3+wgpu 30, FPS в заголовке и логе
- тесты на реальных VPK (~/gmod_server/server): 9 контейнеров, 77 933 записи, 0 ошибок CRC
- CI-скелет, fuzz-таргет vpk_parse, config.example.toml, обновление docs
2026-10-11 22:47:09 +03:00