unpak.js
Version:
Modern TypeScript library for reading Unreal Engine pak files and assets, inspired by CUE4Parse
157 lines • 8.23 kB
JavaScript
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FEATURES = exports.Game = exports.SUPPORTED_UE_VERSIONS = exports.SUPPORTED_FORMATS = exports.VERSION = void 0;
exports.createKeyManager = createKeyManager;
exports.openPakArchive = openPakArchive;
exports.openIoStoreArchive = openIoStoreArchive;
// Core interfaces and types
__exportStar(require("./core/io/IReader"), exports);
__exportStar(require("./core/io/IArchive"), exports);
__exportStar(require("./core/io/BufferReader"), exports);
__exportStar(require("./core/logging/Logger"), exports);
__exportStar(require("./core/errors/UnpakErrors"), exports);
// Crypto system
__exportStar(require("./crypto/ICrypto"), exports);
__exportStar(require("./crypto/CryptoProvider"), exports);
__exportStar(require("./crypto/KeyManager"), exports);
// Asset name system
__exportStar(require("./assets/names/IFName"), exports);
__exportStar(require("./assets/names/FNamePool"), exports);
// Compression system
__exportStar(require("./utils/compression/ICompression"), exports);
__exportStar(require("./utils/compression/CompressionRegistry"), exports);
// PAK container support
__exportStar(require("./containers/pak/PakStructures"), exports);
__exportStar(require("./containers/pak/PakParser"), exports);
__exportStar(require("./containers/pak/PakArchive"), exports);
// IoStore container support
__exportStar(require("./containers/iostore/IoStoreStructures"), exports);
__exportStar(require("./containers/iostore/IoStoreParser"), exports);
__exportStar(require("./containers/iostore/IoStoreArchive"), exports);
// API layer
__exportStar(require("./api/IUnpakAPI"), exports);
// Enhanced asset types (Phase 4 continuation)
__exportStar(require("./ue4/assets/exports/UMediaSource"), exports);
__exportStar(require("./ue4/assets/exports/mats/UDecalMaterial"), exports);
// Enhanced texture formats (Phase 6 continuation)
__exportStar(require("./ue4/converters/textures/EnhancedFormats"), exports);
// NEW ROADMAP IMPLEMENTATIONS (Phase 6, 11, 12, 13)
// FBX Export and Enhanced Converters (Phase 6)
__exportStar(require("./ue4/converters/FBXConverter"), exports);
// Performance Optimization Tools (Phase 11)
__exportStar(require("./ue4/performance/IncrementalParser"), exports);
__exportStar(require("./ue4/performance/AssetParsingBenchmark"), exports);
__exportStar(require("./ue4/performance/JITCompiler"), exports); // NEW: JIT compilation for hot paths ✅
// Enterprise API Features (Phase 12)
__exportStar(require("./api/server/RestServer"), exports);
__exportStar(require("./api/monitoring/AssetMonitor"), exports);
// NEW: Web Interface (Phase 12) ✅
__exportStar(require("./api/web/UnpakWebInterface"), exports);
// NEW: Database Integration (Phase 12) ✅
__exportStar(require("./api/database/UnpakDatabaseProvider"), exports);
// NEW: Multi-Tenant Support (Phase 12) ✅
__exportStar(require("./api/tenancy/MultiTenantManager"), exports);
// NEW: Community and Ecosystem Features (Phase 13) ✅
__exportStar(require("./community/PluginMarketplace"), exports);
// NEW: Asset Type Coverage Expansion (Phase 4) ✅
__exportStar(require("./ue4/assets/exports/ULevelSequence"), exports);
__exportStar(require("./ue4/assets/exports/UMediaPlayer"), exports);
// Plugin support (Phase 9 start)
__exportStar(require("./ue4/assets/plugins/UPlugin"), exports);
// NEW: Enterprise Features (Phase 12) ✅ IMPLEMENTED
__exportStar(require("./enterprise/DatabaseIntegration"), exports);
// Note: MultiTenantManager already exported from ./api/tenancy/MultiTenantManager above
// NEW: Performance Optimization (Phase 11) ✅ IMPLEMENTED
__exportStar(require("./performance/WorkerThreads"), exports);
// Enhanced asset registry (Phase 8 continuation)
__exportStar(require("./ue4/registry/EnhancedAssetRegistry"), exports);
// NEW: Enhanced Audio System (Phase 7) ✅
__exportStar(require("./ue4/converters/sounds/EnhancedWwiseConverter"), exports);
// Main library version and metadata
exports.VERSION = '2.0.0-alpha.1';
exports.SUPPORTED_FORMATS = ['pak', 'utoc', 'ucas'];
exports.SUPPORTED_UE_VERSIONS = ['UE4.26', 'UE4.27', 'UE5.0', 'UE5.1', 'UE5.2', 'UE5.3'];
// Export Game class for version checking
var Game_1 = require("./ue4/versions/Game");
Object.defineProperty(exports, "Game", { enumerable: true, get: function () { return Game_1.Game; } });
/**
* Library feature flags
*/
exports.FEATURES = {
PAK_READING: true,
IOSTORE_READING: true, // Phase 2 - COMPLETE
MULTI_KEY_AES: true, // Phase 2 - COMPLETE
ASSET_REGISTRY: true, // Phase 8 - NOW ENHANCED ✅
UPLUGIN_PARSING: true, // Phase 9 - NOW ADDED ✅
ENHANCED_TEXTURE_FORMATS: true, // Phase 6 - NOW ENHANCED ✅
MEDIA_ASSETS: true, // Phase 4 - NOW ADDED ✅
DECAL_MATERIALS: true, // Phase 4 - NOW ADDED ✅
// NEW ROADMAP FEATURES IMPLEMENTED ✅
FBX_EXPORT: true, // Phase 6 - NEW: Complete FBX export with animations ✅
INCREMENTAL_PARSING: true, // Phase 11 - NEW: Large file processing ✅
ASSET_BENCHMARKING: true, // Phase 11 - NEW: Performance profiling ✅
JIT_COMPILATION: true, // Phase 11 - NEW: JIT compilation for hot asset paths ✅
REST_API_SERVER: true, // Phase 12 - NEW: Web service interface ✅
REAL_TIME_MONITORING: true, // Phase 12 - NEW: Asset change monitoring ✅
WEB_INTERFACE: true, // Phase 12 - NEW: FModel-like web interface ✅
ENHANCED_WWISE_AUDIO: true, // Phase 7 - NEW: Advanced audio system ✅
ENHANCED_ASSET_REGISTRY: true, // Phase 8 - NEW: Complete metadata support ✅
// NEW: Enterprise Features (Phase 12) ✅
DATABASE_INTEGRATION: true, // Phase 12 - NEW: Database support for enterprise ✅
MULTI_TENANT_SUPPORT: true, // Phase 12 - NEW: Multi-tenant architecture ✅
// NEW: Advanced Plugin Features (Phase 9) ✅
BLUEPRINT_PLUGIN_SUPPORT: true, // Phase 9 - NEW: Blueprint plugin parsing ✅
// NEW: Community and Ecosystem Features (Phase 13) ✅
PLUGIN_MARKETPLACE: true, // Phase 13 - NEW: Community plugin discovery and installation ✅
ASSET_SHARING: true, // Phase 13 - NEW: Community asset sharing and collaboration ✅
// NEW: Enhanced Asset Types (Phase 4) ✅
LEVEL_SEQUENCE_SUPPORT: true, // Phase 4 - NEW: ULevelSequence cinematics support ✅
MEDIA_PLAYER_SUPPORT: true, // Phase 4 - NEW: UMediaPlayer video/audio support ✅
NIAGARA_SYSTEM_SUPPORT: true, // Phase 4 - Enhanced: UNiagaraSystem particle effects ✅
// Future features
BULK_DATA_LAZY: false, // Phase 10 - Future
OODLE_COMPRESSION: false, // Plugin system
ZLIB_COMPRESSION: true,
};
/**
* Quick start helper - creates a basic key manager with memory provider
*/
function createKeyManager() {
const { KeyManager, MemoryKeyProvider } = require('./crypto/KeyManager');
const manager = new KeyManager();
manager.addProvider(new MemoryKeyProvider());
return manager;
}
/**
* Quick start helper - open a PAK archive
*/
async function openPakArchive(filePath, keyManager) {
const { PakArchive } = require('./containers/pak/PakArchive');
const archive = new PakArchive(filePath, keyManager);
await archive.initialize();
return archive;
}
/**
* Quick start helper - open an IoStore archive
*/
async function openIoStoreArchive(containerPath, keyManager, ueVersion) {
const { IoStoreArchive } = require('./containers/iostore/IoStoreArchive');
const archive = new IoStoreArchive(containerPath, keyManager, ueVersion);
await archive.initialize();
return archive;
}
//# sourceMappingURL=index.js.map
;