!0fastload — нативный ASI-плагин для GTA San Andreas 1.0 US, который применяет fastload-патчи при старте процесса.
Плагин рассчитан на использование:
- в одиночной игре;
- при запуске SA-MP.
Он не зависит от SAMPFUNCS и не патчит samp.dll напрямую.
- пропуск стандартного пути со стартовыми экранами и загрузочным экраном (fade / splash / bar);
- отключение загрузочного аудио при старте;
- симуляция прохождения copyright-цепочки без полного ожидания;
- те же fastload-патчи в одиночной игре и в SA-MP;
- в режиме SA-MP — дополнительный набор патчей против залипаний focus / меню / паузы на старте;
- только в одиночной игре (не SA-MP): запоминание последнего выбранного слота сохранения и автозагрузка при следующем старте; слот хранится в userfiles в файле
!0fastload_lastslot.bin(совместимо с portablegta, путь берётся через игровой getter0x744FB0); - совместимость с portablegta: если загружен
portablegta.asi/PortableGTA.asi, после патчей выполняется однократный вызов инициализации userfiles через0x744FB0.
- игра: GTA San Andreas 1.0 US (жёстко зашитые оффсеты);
- формат: ASI;
- архитектура: x86 (Win32).
- Соберите плагин (см. ниже) или возьмите готовый
!0fastload.asiиз релиза на GitHub. - Положите
!0fastload.asiрядом сgta_sa.exe(или в папку, которую сканирует ваш ASI-loader).
Готовый файл после сборки лежит здесь: build\Release\!0fastload.asi.
Требования:
- Visual Studio 2022 (или Build Tools) с Desktop development with C++, toolset v145;
- целевая платформа Win32.
Сборка solution (удобно, если в .sln платформа называется x86):
& 'C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe' '.\!0fastload.sln' /t:Build /p:Configuration=Release /p:Platform=x86Сборка напрямую из проекта:
& 'C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe' '.\!0fastload.vcxproj' /t:Build /p:Configuration=Release /p:Platform=Win32Выходной файл (единственный каноничный артефакт репозитория):
build\Release\!0fastload.asi
В GitHub попадает только код плагина и файлы сборки:
| Путь | Назначение |
|---|---|
source/main.cpp |
логика fastload-патчей, хук одиночной игры для автослота, DllMain |
source/!0fastload.rc |
VERSIONINFO ресурсы PE |
!0fastload.vcxproj |
проект Visual Studio |
!0fastload.sln |
solution Visual Studio |
README.md |
текущая документация |
- SA-MP определяется по наличию
samp.dllили аргументам командной строки-c,-h,-p. - В SA-MP логика автозагрузки последнего слота не включается (только fastload-патчи и анти-залипания).
- Чтобы сбросить автослот в одиночной игре, удалите
!0fastload_lastslot.binиз каталога userfiles или перезапишите файл, выбрав другой слот в меню загрузки.
Некоторые антивирусы могут помечать любые ASI-моды как подозрительные. Это нормально для таких файлов. Что можно сделать:
- скачивайте
!0fastload.asiтолько из официального репозитория или из Releases; - добавьте папку с игрой или сам файл
!0fastload.asiв исключения антивируса; - если файл уже удалили или отправили в карантин — восстановите его и разрешите использование.
Исходники и релизы: https://github.com/dmitriyewich/-0fastload.