Closed justalemon closed 5 years ago
Overwatch League skins will never be supported because Blizzard is very nasty whenever we even remotely touch it.
You can export the files by specifying the (leaugeTeam=*)
option, but the main diffuse texture is still mangled.
Had to use 0c08793b6b8d03a98e2ae0c74297b4114c5a1fc7 on the develop branch because master does not has the keys for the Baptiste update.
First attempt went bad:
C:\Users\lemon>"D:\Proyectos\OWLib\dist\Debug\DataTool.exe" "E:\Overwatch" extract-unlocks "E:\Overwatch Dump" "D.Va|skin=(leagueteam=*)"
[Core] DataTool v1.33.0.0-git-tanklib
[Core] CommandLine: ["E:\Overwatch", "extract-unlocks", "E:\Overwatch Dump", "D.Va|skin=(leagueteam=*)"]
[Core] CommandLineFile: D:\Proyectos\OWLib\dist\Debug\DataTool.exe.args
[CASC] Overwatch build 1.34.0.1.55918
[CASC] Initializing...
[CMF] Using CMF procedure 55918
[CMF] Using CMF procedure 55918
[CASC] Ready
[Core] Checking ResourceKeys
[Core] Tooling...
Processing unlocks for D.Va
Extracting skin Philadelphia Fusion
Finding
Saving
Done
Extracting skin Boston Uprising
Finding
Saving
Done
Extracting skin Dallas Fuel
Finding
Saving
Done
Extracting skin London Spitfire
Finding
Saving
Done
Extracting skin Los Angeles Gladiators
Finding
Saving
Done
Extracting skin Los Angeles Valiant
Finding
Saving
Done
Extracting skin Florida Mayhem
Finding
Saving
Done
Extracting skin Houston Outlaws
Finding
Saving
Done
Extracting skin New York Excelsior
Finding
Saving
Done
Extracting skin San Francisco Shock
Finding
Saving
Done
Extracting skin Seoul Dynasty
Finding
Saving
Done
Extracting skin Shanghai Dragons
Finding
Saving
Done
Extracting skin Overwatch League White
Finding
Saving
Done
Extracting skin Overwatch League Gray
Finding
Saving
Done
Extracting skin Shanghai Dragons Away
Finding
Saving
Done
Extracting skin Seoul Dynasty Away
Finding
Saving
Done
Extracting skin San Francisco Shock Away
Finding
Saving
Done
Extracting skin Philadelphia Fusion Away
Finding
Saving
Done
Extracting skin New York Excelsior Away
Finding
Saving
Done
Extracting skin Los Angeles Valiant Away
Finding
Saving
Done
Extracting skin Los Angeles Gladiators Away
Finding
Saving
Done
Extracting skin London Spitfire Away
Finding
Saving
Done
Extracting skin Houston Outlaws Away
Finding
Saving
Done
Extracting skin Florida Mayhem Away
Finding
Saving
Done
Extracting skin Dallas Fuel Away
Finding
Saving
Done
Extracting skin Boston Uprising Away
Finding
Saving
Done
Extracting skin Washington Justice
Finding
Saving
Done
Extracting skin Washington Justice Away
Finding
Saving
Done
Extracting skin Vancouver Titans
Finding
Saving
Done
Extracting skin Vancouver Titans Away
Finding
Saving
Done
Extracting skin Toronto Defiant
Finding
Saving
Done
Extracting skin Toronto Defiant Away
Finding
Saving
System.ArgumentNullException: Value cannot be null.
Parameter name: input
at System.IO.BinaryReader..ctor(Stream input, Encoding encoding, Boolean leaveOpen)
at TankLib.teTexturePayload..ctor(teTexture parent, Stream payloadStream) in D:\Proyectos\OWLib\TankLib\teTexturePayload.cs:line 29
at TankLib.teTexture.LoadPayload(Stream payloadStream) in D:\Proyectos\OWLib\TankLib\teTexture.cs:line 161
at DataTool.SaveLogic.Combo.SaveTexture(ICLIFlags flags, String path, ComboInfo info, UInt64 textureGUID) in D:\Proyectos\OWLib\DataTool\SaveLogic\Combo.cs:line 533
at DataTool.SaveLogic.Combo.SaveMaterial(ICLIFlags flags, String path, ComboInfo info, UInt64 material) in D:\Proyectos\OWLib\DataTool\SaveLogic\Combo.cs:line 397
at DataTool.SaveLogic.Combo.SaveModelLook(ICLIFlags flags, String path, ComboInfo info, UInt64 modelLook) in D:\Proyectos\OWLib\DataTool\SaveLogic\Combo.cs:line 323
at DataTool.SaveLogic.Combo.SaveModel(ICLIFlags flags, String path, ComboInfo info, UInt64 modelGUID) in D:\Proyectos\OWLib\DataTool\SaveLogic\Combo.cs:line 286
at DataTool.SaveLogic.Combo.Save(ICLIFlags flags, String path, ComboInfo info) in D:\Proyectos\OWLib\DataTool\SaveLogic\Combo.cs:line 28
at DataTool.SaveLogic.Unlock.SkinTheme.Save(ICLIFlags flags, String directory, STUSkinBase skin, STUHero hero) in D:\Proyectos\OWLib\DataTool\SaveLogic\Unlock\SkinTheme.cs:line 103
at DataTool.SaveLogic.Unlock.SkinTheme.Save(ICLIFlags flags, String directory, Unlock unlock, STUHero hero) in D:\Proyectos\OWLib\DataTool\SaveLogic\Unlock\SkinTheme.cs:line 19
at DataTool.ToolLogic.Extract.ExtractHeroUnlocks.SaveUnlock(ICLIFlags flags, Unlock unlock, String path, String eventKey, Dictionary`2 config, Dictionary`2 tags, VoiceSet voiceSet, STUHero hero) in D:\Proyectos\OWLib\DataTool\ToolLogic\Extract\ExtractHeroUnlocks.cs:line 320
at DataTool.ToolLogic.Extract.ExtractHeroUnlocks.SaveUnlocks(ICLIFlags flags, Unlock[] unlocks, String path, String eventKey, Dictionary`2 config, Dictionary`2 tags, VoiceSet voiceSet, STUHero hero) in D:\Proyectos\OWLib\DataTool\ToolLogic\Extract\ExtractHeroUnlocks.cs:line 255
at DataTool.ToolLogic.Extract.ExtractHeroUnlocks.SaveUnlocksForHeroes(ICLIFlags flags, IEnumerable`1 heroes, String basePath, Boolean npc) in D:\Proyectos\OWLib\DataTool\ToolLogic\Extract\ExtractHeroUnlocks.cs:line 216
at DataTool.ToolLogic.Extract.ExtractHeroUnlocks.Parse(ICLIFlags toolFlags) in D:\Proyectos\OWLib\DataTool\ToolLogic\Extract\ExtractHeroUnlocks.cs:line 115
I was going to bed, and left it during the night extracting but it worked on the second attempt:
C:\Users\lemon>"D:\Proyectos\OWLib\dist\Debug\DataTool.exe" "E:\Overwatch" extract-unlocks "E:\Overwatch Dump" "D.Va|skin=(leagueteam=*)"
[Core] DataTool v1.33.0.0-git-tanklib
[Core] CommandLine: ["E:\Overwatch", "extract-unlocks", "E:\Overwatch Dump", "D.Va|skin=(leagueteam=*)"]
[Core] CommandLineFile: D:\Proyectos\OWLib\dist\Debug\DataTool.exe.args
[CASC] Overwatch build 1.34.0.1.55918
[CASC] Initializing...
[CMF] Using CMF procedure 55918
[CMF] Using CMF procedure 55918
[CASC] Ready
[Core] Checking ResourceKeys
[Core] Tooling...
Processing unlocks for D.Va
Extracting skin Philadelphia Fusion
Finding
Saving
Done
Extracting skin Boston Uprising
Finding
Saving
Done
Extracting skin Dallas Fuel
Finding
Saving
Done
Extracting skin London Spitfire
Finding
Saving
Done
Extracting skin Los Angeles Gladiators
Finding
Saving
Done
Extracting skin Los Angeles Valiant
Finding
Saving
Done
Extracting skin Florida Mayhem
Finding
Saving
Done
Extracting skin Houston Outlaws
Finding
Saving
Done
Extracting skin New York Excelsior
Finding
Saving
Done
Extracting skin San Francisco Shock
Finding
Saving
Done
Extracting skin Seoul Dynasty
Finding
Saving
Done
Extracting skin Shanghai Dragons
Finding
Saving
Done
Extracting skin Overwatch League White
Finding
Saving
Done
Extracting skin Overwatch League Gray
Finding
Saving
Done
Extracting skin Shanghai Dragons Away
Finding
Saving
Done
Extracting skin Seoul Dynasty Away
Finding
Saving
Done
Extracting skin San Francisco Shock Away
Finding
Saving
Done
Extracting skin Philadelphia Fusion Away
Finding
Saving
Done
Extracting skin New York Excelsior Away
Finding
Saving
Done
Extracting skin Los Angeles Valiant Away
Finding
Saving
Done
Extracting skin Los Angeles Gladiators Away
Finding
Saving
Done
Extracting skin London Spitfire Away
Finding
Saving
Done
Extracting skin Houston Outlaws Away
Finding
Saving
Done
Extracting skin Florida Mayhem Away
Finding
Saving
Done
Extracting skin Dallas Fuel Away
Finding
Saving
Done
Extracting skin Boston Uprising Away
Finding
Saving
Done
Extracting skin Washington Justice
Finding
Saving
Done
Extracting skin Washington Justice Away
Finding
Saving
Done
Extracting skin Vancouver Titans
Finding
Saving
Done
Extracting skin Vancouver Titans Away
Finding
Saving
Done
Extracting skin Toronto Defiant
Finding
Saving
Done
Extracting skin Toronto Defiant Away
Finding
Saving
Done
Extracting skin Paris Eternal
Finding
Saving
Done
Extracting skin Paris Eternal Away
Finding
Saving
Done
Extracting skin Hangzhou Spark
Finding
Saving
Done
Extracting skin Hangzhou Spark Away
Finding
Saving
Done
Extracting skin Guangzhou Charge
Finding
Saving
Done
Extracting skin Guangzhou Charge Away
Finding
Saving
Done
Extracting skin Chengdu Hunters
Finding
Saving
Done
Extracting skin Chengdu Hunters Away
Finding
Saving
Done
Extracting skin Atlanta Reign
Finding
Saving
Done
Extracting skin Atlanta Reign Away
Finding
Saving
Done
[Core] Execution finished in 00:43:32.6315982 seconds
Yes, it's a known issue caused by the way bundles are handled. It's a random bug which makes it hard to track down.
We've decided to not work on supporting OWL skins. The overhead is just too much.
Built from master, tried to extract all of D.Va's unlocks, and it was sad to see that the Overwatch League skins were not there.
Because they appear to work in a different way than normal skins, I guess that this should be a feature request instead of a bug report.