mirror of
https://github.com/Lolendor/reVCDOS.git
synced 2026-10-10 03:43:12 +08:00
19edc9df14
Add support for serving assets from packed binary archives with brotli compression.
New features:
- `packer_brotli.py`: Pack vcsky/vcbr folders into single .bin archive with brotli compression (quality 11)
- `downloader_brotli.py`: Stream unpack archives during download
- `--packed` flag: Serve files directly from archive (supports local files and URLs)
- `--unpacked` flag: Extract archive to `unpacked/{hash}/` and serve from there
- `--vcsky_local` / `--vcbr_local`: Now accept optional custom paths
- MD5 hash detection: Pass existing folder hash directly to `--unpacked`
- `--pack` for packing
Archive format:
- ULEB128 length encoding for compact size
- Folder/file deduplication (identical content stored once)
- Parallel compression with ProcessPoolExecutor
and much more, like ?configurable=1
and auto language detection fix, ...
35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
(function() {
|
|
var modules = [
|
|
'modules/runtime.js',
|
|
(currentLanguage === 'ru' ? 'modules/packages/ru.js' : 'modules/packages/en.js'),
|
|
'modules/loader.js',
|
|
'modules/fs.js',
|
|
'modules/audio.js',
|
|
'modules/graphics.js',
|
|
'modules/events.js',
|
|
'modules/fetch.js',
|
|
(currentLanguage === 'ru' ? 'modules/asm_consts/ru.js' : 'modules/asm_consts/en.js'),
|
|
// 'modules/cheats.js',
|
|
'modules/main.js'
|
|
];
|
|
|
|
if (cheatsEnabled)
|
|
modules.push('modules/cheats.js');
|
|
|
|
if (typeof importScripts === 'function') {
|
|
importScripts.apply(null, modules);
|
|
} else {
|
|
var loadNext = function(i) {
|
|
if (i < modules.length) {
|
|
var s = document.createElement('script');
|
|
s.src = modules[i];
|
|
s.async = false; // Ensure order
|
|
s.onload = function() { loadNext(i + 1); };
|
|
s.onerror = function() { console.error('Failed to load module: ' + modules[i]); };
|
|
document.body.appendChild(s);
|
|
}
|
|
};
|
|
loadNext(0);
|
|
}
|
|
})();
|