Неофициальный справочник Lua API Despair Engine (Day 1 Studios), построенный по сохранённым результатам реконструкции luasense.lua из F.E.A.R. 3. Охватывает игровые функции и интерфейсы внутренних редакторов, встречающиеся в этих артефактах.
Это документация, а не исходный код движка, SDK или работающий Lua-модуль. Реальные реализации функций в этом репозитории отсутствуют. Полнота API и работоспособность в конкретной версии игры не подтверждены.
- Справочник API по пространствам имён — 330 пространств, описания и параметры из call-tip, доступные сигнатуры.
- Машиночитаемый каталог — 3 879 путей, включая алиасы; это не число уникальных реализаций.
- Анализ всех исходных файлов и ограничения.
- Правила обновления.
- Восстановленные скрипты boot.dspack — 43 файла из пользовательского архива; у всех после компиляции точно совпало исполняемое дерево Lua 5.1. Получены unluac и проверены отдельно от справочника API.
- Восстановленные скрипты resources.dspack — ещё 228 файлов, проверенных cLuaDecompiler, LuaDec и unluac. У всех выбранных исходников точно совпало исполняемое дерево после компиляции; полный отчёт сравнивает результаты инструментов.
Примеры разделов: GameScript.Game.Player, GameScript.Callbacks, Despair.Forge.File, глобальные функции.
| Данные | Количество |
|---|---|
| Инструкции корневого прототипа | 52 603 |
| Дочерние прототипы | 3 025 |
| Функции в Lua-реконструкции | 1 503 |
| Записи справочных подсказок (call-tip) | 3 002 |
| Пути в объединённом каталоге | 3 879 |
Неизвестные имена констант, используемых через K[n] |
242 |
Справочные строки описывают, в частности, Forge, Bling, Burmester, ChopShop, Facade и FontMaker. Наличие API не доказывает наличие вырезанной механики, доступность редактора или способ разблокировки функции.
Документация читается прямо на GitHub, без установки зависимостей. Для поиска скачайте JSON либо используйте поиск по файлам справочника.
Генерация и проверка требуют Python 3.10+, только стандартную библиотеку:
python tools/build_api.py
python tools/build_api.py --check
python -m unittest discover -s tests -vГенератор не исполняет Lua и не требует игры. --check завершается с ненулевым кодом, если результаты устарели. Исходные четыре файла сохранены на прежних путях, кроме обновлённого README.
arg1,arg2, … — условные имена из реконструкции, а не оригинальные имена параметров.- Если сигнатуры нет в Lua-файле, число аргументов не угадывается по тексту подсказки.
@K[n]обозначает константу, чьё значение отсутствует в текстовом дизассемблировании. Оригинальные имена этих полей не восстановлены.- Описания разработчиков оставлены на английском, без изменения смысла. Пустая подсказка не означает, что функция ничего не делает.
- Lua-заглушки не следует загружать в игру: они могут перезаписать настоящие функции пустыми телами.
GetCallTipInfoтоже представлен пустой заглушкой, хотя дамп отмечает нетривиальный helper.
В репозитории сохранены реконструированные материалы, не оригинальный исходный код. Исходный бинарный luasense.lua, версия декомпилятора и точная сборка игры не предоставлены; повторить извлечение из игры только по этим файлам нельзя. Хеши имеющихся артефактов включены в JSON-каталог.
Проект не связан с правообладателями F.E.A.R. 3. Лицензия исходных материалов в первоначальном репозитории не указана; этот справочник не предоставляет прав на код или ресурсы игры.