fs pack: копировать gameinfo.txt — маркер установки
Some checks are pending
CI / checks (push) Waiting to run
Some checks are pending
CI / checks (push) Waiting to run
tier::paths::detect признаёт корень ассетов по garrysmod_dir.vpk или garrysmod/gameinfo.txt. В минимальном наборе нет ни VPK, ни gameinfo, поэтому клиент с --assets <pack> отвечал «ассеты Garry's Mod не найдены», хотя все файлы на месте. Теперь fs pack пишет gameinfo.txt из VFS, и распакованный APK-набор загружается без полной установки.
This commit is contained in:
parent
075fed97d5
commit
0428b3654b
1 changed files with 9 additions and 0 deletions
|
|
@ -67,6 +67,15 @@ pub fn pack(assets: Option<PathBuf>, map: &str, out: &Path) -> anyhow::Result<()
|
|||
std::fs::write(&map_dest, &map_bytes)?;
|
||||
total += map_bytes.len();
|
||||
|
||||
// Маркер установки: `tier::paths::detect` узнаёт корень по gameinfo.txt
|
||||
// (или dir-VPK). Без него клиент с `--assets <pack>` отвечает «не найдены».
|
||||
if let Ok(info) = vfs.read("gameinfo.txt") {
|
||||
std::fs::write(root.join("gameinfo.txt"), &info)?;
|
||||
total += info.len();
|
||||
} else {
|
||||
tracing::warn!("gameinfo.txt не найден в VFS — маркер установки не записан");
|
||||
}
|
||||
|
||||
tracing::info!(
|
||||
files = paths.len() + 1,
|
||||
bytes = total,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue