Releases: Puxtril/Warframe-Exporter
v2.8.2: Big stability improvements
Fixes
- UI no longer crashes when viewing Level metadata
- UI Model previews look less jagged
- Fixed numerous extraction errors causing hard crashes
Changes
- Log successful extraction. Look for
Extraction completed successfully
as the last entry in the terminal/logfile to ensure extraction didn't terminate prematurely. - Exported vertex colors
- Ambient Occlusion is now named appropriately
- Exports Raw Position/Normal/Tangent to vertex attributes. These are not meant for use as colors, rather shader setups that mimic in-game shaders.
- In-Game vertex colors are still named
COLOR_x
, but models containing these are rare.
Full Changelog: v2.8.1...v2.8.2
v2.8.1: UI QoL Additions
Additions
- Added
Metadata
UI tab that shows the Common Header (Data present on all internal files) and internal file metadata. - Added
Format
UI tab that shows known format-specific data. - Made model extraction slightly less error-prone #39
v2.8 Landscapes
Changes
- Landscapes are now extracted alongside Levels. These are giant terrains mostly used for outdoor levels such as Plains of Eidolon, Orb Vallis, and Deimos. However there are other areas which also utilize this format. NOTE: Landscapes unfortunately are not extracting perfects, they may have an incorrect placement along their tiles (ex. extracts as a 9x9 grid when it should be 6x6). This will require manual fixing.
- Models extracted within levels have attributes stored as Blender data. This means you can use Attribute nodes in the shader editor to access data (such as colors).
- Skip HLOD meshes for levels. No more manually deleting these low-quality models.
Tweaks
Moar Textures
Texture Changes
Some info: Texture Compression formats are completely independent of Texture formats. Similar to 3D models having multiple formats (rigged, static, level geometry, etc), textures also have their own (Cubemap, Array, basic texture, etc). This dictates what kind of data is stored ex. 1 texture, 6 textures (cubemap), n textures (arrays). Textures are unique in they have a sub-format which specifies their compression, and both must be supported by the extractor.
New Texture Compression formats
These were shown as error message "Unknown compression format". These are mostly found in the LightMap package.
12 (A8)
(Total: 2498)
/Lotus/Levels/OrokinDerelict/FountainPoolRoomDerelictMutalistBoss/LevelCapture_mm.png
/Lotus/Levels/GrineerGalleon/GrnConnectorEleven/LevelCapture_mm.png
/Lotus/Levels/Episodes/MarketGlyphBundleVitruvian/LevelCapture_mm.png
/Lotus/Levels/CivilianHubs/PoeRemaster/C84BE613ED792709EA08D9147BDA929B_mm.png
/Lotus/Levels/JadeShadows/JSElevator04/LevelCapture_mm.png
30 (R16)
(Total: 487)
/Lotus/Levels/InfestedMicroplanet/InfFleshscapeA/Landscape2/T0u2.lchm
/Lotus/Levels/Duviri/MainlandAWest/Landscape0/T3u4.lchm
/Lotus/Levels/Duviri/WarframeArenas/TownCombat/Landscape0/T1u0.lchm
/Lotus/Levels/NewUserExperience/NueLandscapeBattlefieldTown/Landscape3/T0u0.lchm
35 (BC6)
(Total: 9194)
/Lotus/Levels/EntratiLab/ConStraight06/10_cross.hdr
/Lotus/Levels/ManInTheWall/EntratiLab/IntArchivesMITW/11_cross.hdr
/Lotus/Levels/JadeShadows/JSElevator04/8_cross.hdr
/EE/Editor/Darkitect/Materials/IBL/Open_cross.hdr
Texture arrays
The extractor was only extracting the last texture in the array. Now all are properly extracted. Textures are type 166.
Textures package:
(Total: 7)
/Lotus/Characters/Tenno/Operator/Heads/SharedTextures/PoresDetailArray
/Lotus/Characters/Tenno/Operator/Heads/SharedTextures/HeadPoresDetailArray
/Lotus/Characters/Tenno/Mag/1999Mag/Body/Textures/1999MagHandMasksArray
/Lotus/Characters/Tenno/Mag/1999Mag/Face/Texture/1999MagFaceMasksArray
/Lotus/Objects/Duviri/Natural/LandscapeMaterials/DuvxMatIDArrayDR
/Lotus/Objects/Duviri/Natural/LandscapeMaterials/DuvxMatIDArrayNSH
/EE/Materials/Defaults/Textures/DefaultTA
LightMap Package:
(Total: 1150)
/Lotus/Levels/Duviri/MainlandAWest/Landscape0/T2u5.lchm
/Lotus/Levels/Duviri/MainlandAWest/Landscape0/T7u5.lchm
/Lotus/Levels/Duviri/Dioramas/DioramaTerra/Landscape0/T1u0.lchm
/Lotus/Levels/Duviri/TownA/Landscape0/PigmentMaps/T0u2_lpm.png
/Lotus/Levels/Duviri/TownA/Landscape0/T2u2.lchm
/EE/Materials/Defaults/Textures/ZeroHeight.lchm
/Lotus/Levels/Duviri/MainlandAWest/Landscape0/PigmentMaps/T1u5_lpm.png
/Lotus/Levels/Duviri/MainlandAWest/Landscape0/T2u2.lchm
Cubemaps
Similar idea as Texture Arrays, but fixed sizes. There are about 10,000 cubemaps in the Lightmap package. There are a few in Textures (not shown here).
Type 177:
(Total: 1318)
/Lotus/Levels/ManInTheWall/EntratiLab/IntArchivesMITW/6_smcube0.png
/Lotus/Levels/JadeShadows/JSElevatorMid01/2_smcube0.png
/Lotus/Levels/EntratiLab/IntTorso/A_smcube0.png
/Lotus/Levels/EntratiLab/IntTrainStation/8_smcube0.png
/Lotus/Levels/EntratiLab/ObjEntratiVault/9_smcube0.png
/Lotus/Levels/EntratiLab/Spawn01/3_smcube0.png
/Lotus/Levels/EntratiLab/Spawn01/7_smcube0.png
/Lotus/Levels/EntratiLab/CapRoomNarrow04/1_smcube0.png
/Lotus/Levels/EntratiLab/DeadEnd01/5_smcube0.png
/Lotus/Levels/EntratiLab/IntTerrarium/5_smcube0.png
Type 181:
(Total: 9195)
/Lotus/Levels/JadeShadows/JSElevatorMid03/2_cross.hdr
/Lotus/Levels/JadeShadows/JSElevatorMid03/6_cross.hdr
/Lotus/Levels/JadeShadows/JSQuestMoonExit01Flashback/1_cross.hdr
/Lotus/Levels/JadeShadows/JSQuestMoonSpawn01/6_cross.hdr
/Lotus/Levels/JadeShadows/JSStalkerCaveSpawn/9_cross.hdr
/Lotus/Docs/Loadouts/0_cross.hdr
/Lotus/Materials/Cubemaps/GrineerGalleon/GlnBigRoom_cross.hdr
/EE/Editor/Darkitect/Materials/IBL/Wells_cross.hdr
/EE/Editor/Darkitect/Materials/IBL/InfFleshscape_cross.hdr
/EE/Editor/Darkitect/Materials/IBL/GlazedPatio_cross.hdr
Other
Oh yea, and model previews now have vertex colors. Not perfect but MUCH better than looking at white, amorphous blobs.
Landscapes part 3: Return of the File Sizes
Changes
- Landscapes now extract without indices (Bigger file size), but have more data. Previously landscapes extracted with 128 materials, but now that data is extracted as Vertex Colors.
- Terrains extract again
- Skip HLOD meshes for levels. No more manually deleting these low-quality models.
v2.6.3
v2.6.2
v2.6.1: Jade Shadows patch
- Fixed materials extracting with less information
- Fixed levels not extracting at all, or showing (Unknown format)
Landscapes part 2: Electric Boogaloo
Changelog
- Models extracted within levels have attributes stored as Blender data. This means you can use Attribute nodes in the shader editor to access data (such as colors).
- Landscapes extract with UV maps (manually generated)
- Landscapes are correctly rotated relative to the leve l position
- Landscapes extracted with levels have level-specific attributes (Material)
Landscapes (Initial support)
Landscapes are special models used as the floor for open-world levels.
What's the current state?
- Landscapes will eventually be extracted alongside levels, but currently extraction is separate.
- Geometry (X/Y/Z) is correct.
- Rotation and position of the entire landscape is slightly incorrect. Can be eyeball-fixed.
- Landscape chunk specific data is located in Blender Mesh Properties -> Data -> Custom Properties
- Landscape materials are extracted, but these may be vertex colors. I'm not sure.