UNPKG

unpak.js

Version:

Modern TypeScript library for reading Unreal Engine pak files and assets, inspired by CUE4Parse

157 lines 8.23 kB
"use strict"; 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