Giter VIP home page Giter VIP logo

owlib's People

Contributors

aini-naire avatar atilogit avatar coathar avatar dependabot[bot] avatar fusion86 avatar js41637 avatar kerzyte avatar kjasi avatar mayasombra avatar naomichan avatar pistonfx avatar prophetl33t avatar rigner avatar yretenai avatar zekfad avatar zingballyhoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

owlib's Issues

All GameType STUD instances are null

Test file: files/Win_SPWin_RDEV_LenUS_EExt/0C0/000000000037.0C0
instances: [None, None, None, None, None, None, None, None, None] (None because Python)

Easy reproduce: OverTool.exe {dir} E, only outputs keyname errors, because all instances are null

Full Overtool output:

CASC CDN Cache path is D:\ow\overtool\CascCache
OverTool v1.13.2.11-git-5b713c17d54feff6d119888115f097c01bc94cf2
Initializing CASC...
Set language to enUS
Using Overwatch Version 1.13.0.2.38459a
Loading APM TactManifest/Win_SPWin_RDEV_LenUS_EExt.apm
Loading APM TactManifest/Win_SPWin_speech_RDEV_LenUS_EExt.apm
Mapping...
Adding Encryption Keys...
Error unknown keyname 21DBFD65F3E54269 with file 0000000000E5.090 (Encryption Key)
Tooling...
Error unknown keyname 21DBFD65F3E54269 with file 000000000070.0C0 (Unknown)
Error unknown keyname 21DBFD65F3E54269 with file 000000000072.0C0 (Unknown)

(5b713c17d54feff6d119888115f097c01bc94cf2 for reference)

1.16 directly convert wem to ogg, how to make it not to convert

We have dictated many lines of English and Chinese into text., but we used md5 as the file's index and to check which are the same file after version's change.

Overtool is very good, but it use it's own file name system.

In the old version of overtools I can still get the original wem format file. With original wem file I can still use tools to calculate the md5 and keep checking out the same file, and keep the dictation continued.

But today I tried 1.16 of the new DataTool, I found that it will automaticly convert wem into ogg, which makes it impossible to check which files are newly added, while which files are the same as old and already be dictated.

So what I really want to ask is to get the md5 value of every sound or pic file. Or at least a option not to convert wem to ogg then I can calculate md5 myself. We've already dictated about 20k lines of voice, don't want them be wasted.

Make the help more clear for DataTool

Currently, when you run DataTool without arguments the output is:

D:\Proyectos\OWLib\dist\Debug>DataTool.exe
[Core] DataTool v1.27.0.0-git-tanklib
[Core] CommandLine: []
DataTool.exe [--flags] [directory] [mode]
...

Anyone that tries this to use it for the first time would think that the following is valid:

D:\Proyectos\OWLib\dist\Debug>DataTool --convert-sound "E:\Overwatch" extract-unlocks

But instead you get:

D:\Proyectos\OWLib\dist\Debug>DataTool --convert-sound "E:\Overwatch" extract-unlocks
[Core] DataTool v1.27.0.0-git-tanklib
[Core] CommandLine: ["--convert-sound", "E:\Overwatch", "extract-unlocks"]
[Core] CommandLineFile: D:\Proyectos\OWLib\dist\Debug\DataTool.exe.args
Positional 2 is required
DataTool.exe [--flags]

You might be thinking, what is the problem? Well, the correct format is:

DataTool.exe [--flags] [overwatch directory] [mode] [output directory] [stuff to extract]

Take the following as an example, that works perfectly for me:

DataTool.exe --convert-sound "E:\Overwatch" extract-unlocks "E:\Overwatch Dump" "D.Va"

If I manage to know how it works, I might send a PR to fix this.

Different name (path) while extract same sound file and subtitles.

For example, to extract subtitles with command

DataTool.exe -L=enUS -T=enUS "..\Overwatch" list-subtitles >enlines.txt

you can see

00000000BE3F.071
The will-o'-the-wisp flashed through the tide of Dr. Junkenstein's minions, moving from one to the next faster than the eye could see.

to extract sound file with command

tools\DataTool.exe -L=enUS -T=enUS "..\Overwatch" extract-maps .\extracted\ *

you can find

"Maps\Junkenstein's Revenge\6C9\VoiceSets\00000000013B.05F\00000000058E.078\000000054F09.0B2.ogg"

The two should be same, the sound file plays the line which subtitle wrote. And there's only one result that matches each other.

But as the above shows, there's no clues to match these two.

I played the OGG file and find these by hand.

v1.22.0.541 bug: it can extract subtitles but don't extract some same-name sound files.

for example, the line:

00000004A5C4.0B2 | If you're not coming soon, you may as well turn around.

you can find the line by using extract-subtitles-real, but can't find the same name sound file. I extract every part of the client, including maps, heros, herovoice or others.

The full list that can't extract sound file but exists in subtitles-real:

00000004C3C3.0B2 | We're at the extraction point, where are you?
00000004A5C4.0B2 | If you're not coming soon, you may as well turn around.
000000049B54.0B2 | Our ride is on its way. We need to stay alive until it gets here.
00000004C3D8.0B2 | Someone start breaching the door!
00000004A5B8.0B2 | Anyone going to start the breach? Or should we get Genji to cut a hole in the door?
00000004A5B3.0B2 | You complaining isn't going to solve anything.
00000004A59C.0B2 | Someone get started on the door! (sigh) Do I have to do everything myself?
00000004C3E1.0B2 | He didn't take them up on their offer?
00000004A5AE.0B2 | Fine. No ill effects so far.
00000004A580.0B2 | It wasn't how I drew it up.
00000004A581.0B2 | Yeah, they've really rolled out the red carpet.
00000004C3D1.0B2 | I still think we should have gone with the original plan of disguising ourselves as the band.
00000004C3E5.0B2 | Not well.
00000004A57E.0B2 | And getting shot at.
00000004A57F.0B2 | No problem, we're used to waiting around.
00000004C3CA.0B2 | You call this art? A child could have made it.
00000004A5CC.0B2 | Enough art, let's get out of here.
00000004A5CB.0B2 | Extraction point's in sight.
00000004C3C4.0B2 | We need pickup now!
00000004C3CF.0B2 | Looks like I was wrong.
00000004A59D.0B2 | I thought you had the stomach for it.
00000004A59E.0B2 | Blackwatch has always had one purpose: to do the real work of keeping the world safe.
00000004A5AF.0B2 | Trust me, Jesse. You should know by now, I won't lead you wrong.
00000004A5A6.0B2 | Always have.
00000004C3E8.0B2 | You know your brother would have made a good agent.
00000004C3DF.0B2 | I'm never going to hear the end of this, am I?
00000004C3D6.0B2 | Touchy subject.
00000004C3CC.0B2 | Good. Because I'm going to need you, Jesse.
00000004C3C7.0B2 | I don't need the statues and the medals anyway.
00000004A5BE.0B2 | Flexibility is the sign of an evolved mind.
00000004A5BF.0B2 | Not a second too soon.
000000049B9E.0B2 | Our ride's here! Get ready to move out!
00000004A5C1.0B2 | There's the one who will probably take over for him... Vialli. Don't know too much about him.
00000004A5C2.0B2 | And an omnic who runs a casino in Monaco... Maximilien or something.
00000004A5C3.0B2 | Then Doomfist in Numbani.
00000004A5AC.0B2 | Why is this taking so long?
00000004A5AA.0B2 | Twenty years and we still can't get a door open?
00000004A5AB.0B2 | We have to make these damn things work faster.
000000049B8E.0B2 | We're making progress on the door. How's everyone doing?
00000004A5B0.0B2 | He's an arms dealer with some other interests, more and less legitimate.
000000049BD9.0B2 | We get out of this room then head through the city to the extraction point.
00000004A59B.0B2 | Hear that? The ninja agrees with my decision.
00000004A5A3.0B2 | After that, we sit tight and hope someone comes to pick us up.
00000004A5A5.0B2 | You let me worry about what Jack needs to know.
00000004A5A4.0B2 | No, but I could shoot you.
00000004C3E6.0B2 | This mess was all worth it to see McCree trying to pass himself off as a waiter.
00000004C3DC.0B2 | Didn't think that would be your scene.
00000004C3CD.0B2 | You got fired from your cover job, Jesse.
00000004A59F.0B2 | He thought he was untouchable. He was mistaken.
00000004A5A0.0B2 | (laughs) That's not going to happen.
00000004A5A1.0B2 | I made a decision, I'll deal with the consequences.
00000004A5B6.0B2 | There's that famous McCree attitude.
00000004A5B7.0B2 | Jesse, get that door open.
00000004C3CB.0B2 | Someone start breaching the front door.
00000004A5B5.0B2 | We need to find a way out of this room.
00000004A648.0B2 | We need to get out of here before the whole base is on top of us.
000000049B4D.0B2 | Now he's not our problem any more.
000000049B86.0B2 | Antonio was right, there's nothing we could do to him.
00000004A5B4.0B2 | Looks like they've got this place sealed tight.
00000004A5B2.0B2 | Someone start a breach on the front door.
00000004C3C8.0B2 | Point taken.
00000004A583.0B2 | Art gallery's in sight, we'll be there shortly.
000000049B41.0B2 | The art gallery's not far. Our extraction point's just past it.
00000004C3E3.0B2 | What's your status, pilot?
00000004C3D0.0B2 | We're all fine here, how are you?
00000004C3C9.0B2 | Where's the fun in that?
00000004C3E4.0B2 | Fly casual.
00000004A592.0B2 | Maintain operational silence, McCree.
00000004A593.0B2 | And I thought Reinhardt could throw a punch.
00000004A594.0B2 | Feels like Talon is mobilizing an entire army to stop us.
00000004A5CA.0B2 | Shut up and keep shooting!
00000004A5BD.0B2 | Get on board or we're leaving you behind!
00000004A582.0B2 | It's not exactly carnival.
000000049BA0.0B2 | Let's just get out of here alive.
000000049B3D.0B2 | At least someone is on my side.
00000004C3D5.0B2 | I never have and I don't intend to start now.
00000004C3E0.0B2 | Someone has to be the one to get things done.
00000004C3DE.0B2 | I was looking forward to the masquerade.
00000004A59A.0B2 | Agents down! Need immediate evac!
00000004A591.0B2 | That thing's bigger than Reinhardt!
00000004A590.0B2 | I withdraw my previous comment.
00000004A58F.0B2 | We're definitely not out of the woods yet.
00000004A58A.0B2 | Keep moving and don't let that sniper get a bead on you!
00000004A57C.0B2 | Don't let her get close.
000000049B47.0B2 | Let's get out of here.
000000049BBB.0B2 | What's keeping our ride? We can't wait forever.
000000049B6F.0B2 | Breaching now! Get ready!
000000049B7A.0B2 | Everyone, through the breach. We're getting out of here!
000000049BE5.0B2 | Breach in progress. Everyone get settled in.
00000004A5C0.0B2 | If you want something done right...
00000004A5B9.0B2 | This is it! Don't do anything stupid!
00000004A585.0B2 | It should be smooth sailing from here.
00000004A5A7.0B2 | Who knows where this goes.
00000004A5A8.0B2 | Not this way.
00000004A5A9.0B2 | No way out over here.
00000004C3DD.0B2 | Everyone, get ready to get on board.
00000004C3C5.0B2 | You heard her, let's move!
00000004C3E7.0B2 | Am I the only one who feels hungry?
00000004C3D7.0B2 | No reservation. Party of four. Bit of a last minute thing.
00000004C3C6.0B2 | I was making a joke.
00000004C3D2.0B2 | Jesse.
00000004C3D9.0B2 | We made it to the art gallery, but I don't see you.

Animation ".seanim" files deforming models.

Describe the bug

  • Since I watched a YouTube video that shows hidden Dva dance emote, I tried by myself to extract the animation with DataTool. I followed a tutorial here with "Using SEAnim Files" to get the horrifying result.

To Reproduce

  1. Download Datatool version 1.39.0.832, master branch of Blender addon, io_scene_owm as zip, io_anim_seanim(v0.4.0) as zip.
  2. Run DataTool.exe like

DataTool.exe "{OW directory}" extract-unlocks "{output directory}" "D.Va|skin=Classic" --extract-refpose

  1. Find 000000001064.owmdl file extracted and open in Blender installed addon.
  2. As tutorial says, replace bones with 000000001064.smd which seems like refpose. All looks good to this point, bones move body parts correctly.
  3. With bones selected, import 000000006249.seanim file which can be found in sub directory of model folder. Now the beast comes out.
  4. Tried not replacing bones that is already within the model file, nope.

Expected behavior

  • Baby DVa dancing.

Logs

  • No error report from DataTool nor Blender.

Environment

  • Windows 10 with Korean system locale
  • Overwatch Version : 1.39.1.0.60993
  • Overwatch Region : Asia (If you need it)
  • Overwatch Language : English
  • Blender 2.80

OverTool not working?

Here's the command I used:
overtool C:\Program Files (x86)\Overwatch m
but when I hit enter, I get a list of command args and not a list of maps. How does this work? Here's a screenshot of my files:
capture. Is there something I'm missing or is it something to do with my files/directory? Do I have to install OverTool in the Overwatch directory>

CMF Procedure outdated, cannot parse

Hello,

I wanted to extract the newest Mercy voice lines that are only available at the PTR so i downloaded the latest version of the OverTool and i wrote this command:

overtool -L=ptBR "C:\Program Files (x86)\Overwatch Test" V "C:\Users\astatinium\Downloads\OverMercy" Mercy

The messages i get when running this command are the following:

CASC CDN Cache path is: C:\Users\astatinium\Downloads\toolchain-release\CascCache OverTool v.1.14.0.155-git-894232bed699a3696754cad5953d5d83baedafd6 Initializing CASC... Set language to ptBR Using Overwatch Version 1.15.0.0.39612 Loading APM TactManifest/Win_SPWin_RDEV_LptBR_EExt.apm No CMF procedure for build 39612, trying closest version Using CMF procedure 39484 CMF Procedure is outdated, cannot parse TactManifest/Win_SPWin_RDEV_LptBR_EExt.apm

I came here after i followed what was here:
#13

but it didn't work.

What should I do?

extract-maps reports error

Describe the bug
Command:

tools\DataTool.exe -L=zhCN -T=zhCN "C:\Program Files (x86)\Overwatch" --raw-sound=true --convert-lossless-textures=true --skip-models=true --skip-animations=true extract-maps .\TCExtract1\cn *

In some maps it reports error.

[Combo] Async exception: System.Collections.Generic.KeyNotFoundException: 给定关键字不在字典中。(given keyword not in dictionary)
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at DataTool.SaveLogic.Combo.GetSVCELines(EffectInfo effectInfo, ComboInfo info)
   at DataTool.SaveLogic.Combo.SaveEffectExtras(ICLIFlags flags, String path, SaveContext info, EffectInfo effectInfo, Dictionary`2& svceLines)
   at DataTool.SaveLogic.Combo.SaveEffect(ICLIFlags flags, String path, SaveContext context, UInt64 effect)
   at DataTool.SaveLogic.Combo.SaveContext.<>c__DisplayClass7_0.<AddTask>b__0()

Expected behavior

Extract all map files.

Desktop (please complete the following information):

  • OS: Windows 10 1909 64bit
  • Overwatch Version 1.50.1.71344
  • Overwatch Region enUS & zhCN
  • Overwatch Language enUS & zhCN

Additional context
Add any other context about the problem here.

Rewrite STUDs

The goal is to move STU logic to STULib. In this change we will also be deprecating APMTool and PackageTool and adding CMFTool

Music extraction?

For now DataTool can only extract only characters' voicelines.
I'd want to know if there's plans for announcer's/game music extraction?

CMF procedure is outdated?

Source command: overtool "C:\Program Files (x86)\Overwatch" m
Output: OverTool v1.12.0.24-git-59e1a613d49335042db3aff6bf77ea1726e7a5ce Initializing CASC... Set language to enUS Using Overwatch Version 1.12.0.2.38058 CASC CDN Cache path is C:\Users\jungh\Downloads\OverTool\files\CascCache Loading APM TactManifest/Win_SPWin_RDEV_LenUS_EExt.apm No CMF procedure for build 38058, trying closest version Using CMF procedure 37793 CMF Procedure is outdated, cannot parse TactManifest/Win_SPWin_RDEV_LenUS_EExt.apm
What do I have to update?

Unable to load other languages with CascLib from OverTool

I was using the OverTool version of CascLib with CascExplorer to browse game files. However with the latest Explorer and Lib (OverTool branch, not vanilla), I was unable to read languages other than enUS in Explorer - no matter what locale I selected, the actual files and APMs in TactManifest were all from enUS.

System.ArgumentNullException when extract-general things under zhCN language.

command:

tools\DataTool.exe -L=zhCN -T=zhCN "..\Overwatch" --convert-sound=false --convert-lossless-textures=true --skip-models=true --skip-animations=true extract-general .\TCExtract1\cn *

Screen Shot
cmd_2018-10-15_20-59-40

Some translation:
System.ArgumentNullException: 值不能为 null
= System.ArgumentNullException: Value can't be null

参数名:source
= 'argument (or parameter) name: source`

of every other lines' first character means "at".

Error description:

  • always repeat.
  • Appears in zhCN language. Not appears in enUS language. I'm not sure the bug will be or not be in other language.
  • I tried to change extracting "all" () to "Spray" or "Other Unlocks" which can be found with list- commands, bug still repeat.

Version
Datatool @ 1.29.0.787 (newest by now)
Overwatch @ 1.29.0.1.51948 (newest by now) with enUS / zhCN two languages.

StackOverflowException when extract Junkenstein on 1.29

cmd line:
tools\DataTool.exe -L=enUS -T=enUS --graceful-exit --ex "..\Overwatch" --convert-sound=false --convert-lossless-textures=true --skip-models=true --skip-animations=true extract-maps .\TCExtract1\en "Junkenstein's Revenge"

result:
cmd_2018-10-14_17-16-17

Failed to extract the map

Datatool "E:\Program Files (x86)\Overwatch" "D:\OWmodels" "Blizzard World"

Show only

[Core] DataTool v1.36.0.818-git-8ebce40a849c4b7101b582f8e68a58bc640dc69a
[Core] CommandLine: ["E:\Program Files (x86)\Overwatch", "D:\OWmodels", "Blizzard World"]
[Core] CommandLineFile: D:\Downloads\toolchain-release (3)\DataTool.exe.args

Nothing happens after that

Any way to exclude keys from being used?

Hey weird, question. I'm trying to just do some testing to see what content got added with what key except I can't seem to remove any keys. Removing all the keys from ow.keys only prevents Uprising data from being logged.
I also tried editing the keyService to remove the hard coded keys except everything still logs. Is it getting them from the server or am I missing something?

DataTool extract-maps King's Row error

DataTool.exe F:\Games\Overwatch extract-maps D:\projects\OWDump
CASC CDN Cache path is C:\Users\Awpteamoose\Downloads\toolchain-release\CascCache
DataTool v1.18.0.330-git-b19e0083fcb441f4bc1051981d4bc0d9ffc5af58
Initializing CASC...
Set language to enUS
Using Overwatch Version 1.18.1.2.42076
Loading APM TactManifest/Win_SPWin_RDEV_LenUS_EExt.apm
Using CMF procedure 42076
Loading APM TactManifest/Win_SPWin_speech_RDEV_LenUS_EExt.apm
Using CMF procedure 42076
Mapping...
Adding Encryption Keys...
Tooling...
Saving map: TEMPLE OF ANUBIS (5B)
Saving map: KING'S ROW (D4)

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at DataTool.Helper.EffectParser.<GetChunks>d__6.MoveNext()
   at DataTool.Helper.EffectParser.ProcessAll(Dictionary`2 replacements)
   at DataTool.Helper.EffectParser.Process(EffectInfo effectInfo, KeyValuePair`2 chunk, Dictionary`2 replacements)
   at DataTool.FindLogic.Animation.FindChunked(HashSet`1 existingAnimations, HashSet`1 models, STUGUID animationGUID, Dictionary`2 replacements, UInt64 parentAnim)
   at DataTool.FindLogic.Animation.FindAnimations(HashSet`1 existingAnimations, HashSet`1 models, STUGUID animationGUID, Dictionary`2 replacements, STUGUID skeleton)
   at DataTool.FindLogic.Animation.FindAnimations(HashSet`1 existingAnimations, HashSet`1 models, STUGUID animationGUID, Dictionary`2 replacements, STUGUID skeleton)
   at DataTool.FindLogic.Model.FindModels(HashSet`1 existingModels, STUGUID modelGUID, Dictionary`2 replacements)
   at DataTool.SaveLogic.Map.Save(ICLIFlags toolFlags, STUMap map, UInt64 key, String basePath)
   at DataTool.ToolLogic.Extract.ExtractMaps.GetMaps(ICLIFlags toolFlags)
   at DataTool.ToolLogic.Extract.ExtractMaps.Parse(ICLIFlags toolFlags)
   at DataTool.Program.Main()```

STUD Instances length zero array with map extraction

When extracting a map overtool crashes on index out of bounds exception.

ExtractMap assumes length here, but STUD constructs with zero length arrays in certain conditions.

I have a couple questions to make sure this isn't a fake issue:

I am using the overwatch/1.14 branch, is this considered a stable branch?

Are there any other errors I should look for that would cause the stud header magic to be improperly read?

Console Output:

D:\Code> D:\Code\GitHub\OWLib\dist\Debug\OverTool.exe "D:\Games\Blizzard\Overwatch 1.14.1.2.39484" map "D:\Resources\Overwatch Resourc
es\Maps" "Hanamura"
CASC CDN Cache path is D:\Code\GitHub\OWLib\dist\Debug\CascCache
OverTool v1.13.0.0-git-unknown
Initializing CASC...
Set language to enUS
Using Overwatch Version 1.14.1.2.39484
Loading APM TactManifest/Win_SPWin_RDEV_LenUS_EExt.apm
Using CMF procedure 39484
Loading APM TactManifest/Win_SPWin_speech_RDEV_LenUS_EExt.apm
Using CMF procedure 39484
Mapping...
Adding Encryption Keys...
Tooling...

Unhandled Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at OverTool.ExtractMap.Parse(Dictionary`2 track, Dictionary`2 map, CASCHandler handler, Boolean quiet, OverToolFlags flags) in D:\Code\GitHub\OWLib\OverTool\Extract\ExtractMap.cs:line 114
   at OverTool.Program.Main(String[] args) in D:\Code\GitHub\OWLib\OverTool\Program.cs:line 168

extract-hero-convo commands reports error

Describe the bug

COMMANDS:
tools\DataTool.exe -L=enUS -T=enUS "C:\Program Files (x86)\Overwatch" --raw-sound=true --convert-lossless-textures=true --skip-models=true --skip-animations=true extract-hero-convo .\Extract\ *

[Combo] Async exception: System.IO.IOException: file “F:\owwork\TCExtract1\en\HeroConvo\Ashe\000000000408.0D0\4\000000054FC6.0B2.wem” accessed by another process, while this process can't access this file (正由另一进程使用,因此该进程无法访问此)。
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Bool ean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at DataTool.Helper.IO.WriteFile(Stream stream, String filename)
   at DataTool.SaveLogic.Combo.SaveSoundFileTask(ICLIFlags flags, String directory, SoundFileAsset soundFileInfo, String name)
   at DataTool.SaveLogic.Combo.SaveContext.<>c__DisplayClass7_0.<AddTask>b__0()
[Combo] Async exception: System.IO.IOException: file “F:\owwork\TCExtract1\en\HeroConvo\Ashe\000000000407.0D0\3\000000054FB4.0B2.wem” accessed by another process, while this process can't access this file (正由另一进程使用,因此该进程无法访问此)。
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Bool ean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at DataTool.Helper.IO.WriteFile(Stream stream, String filename)
   at DataTool.SaveLogic.Combo.SaveSoundFileTask(ICLIFlags flags, String directory, SoundFileAsset soundFileInfo, String name)
   at DataTool.SaveLogic.Combo.SaveContext.<>c__DisplayClass7_0.<AddTask>b__0()
[Combo] Async exception: System.IO.IOException: file “F:\owwork\TCExtract1\en\HeroConvo\Ashe\000000000408.0D0\2\000000054FC5.0B2.wem” accessed by another process, while this process can't access this file (正由另一进程使用,因此该进程无法访问此)。
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Bool ean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at DataTool.Helper.IO.WriteFile(Stream stream, String filename)
   at DataTool.SaveLogic.Combo.SaveSoundFileTask(ICLIFlags flags, String directory, SoundFileAsset soundFileInfo, String name)
   at DataTool.SaveLogic.Combo.SaveContext.<>c__DisplayClass7_0.<AddTask>b__0()

Both in enUS & zhCN the commands report same error, and the client actually don't be accessed by any other process.

Almost every hero has this error.

Expected behavior

Extract files as other commands.

Desktop (please complete the following information):

  • OS: Windows 10 1909 64bit
  • Overwatch Version 1.50.1.71344
  • Overwatch Region enUS & zhCN
  • Overwatch Language enUS & zhCN

Additional context
Add any other context about the problem here.

40990 extract map error

OverTool.exe -L=zhCN D:\Overwatch M C:\workspace\unpack\1

CASC CDN Cache path is C:\workspace\unpack\toolchain-release\CascCache
OverTool v1.16.0.276-git-896b12e72a604950f517a6a4567208db3c8f2aa0
Initializing CASC...
Set language to zhCN
Using Overwatch Version 1.16.0.2.40990
Loading APM TactManifest/Win_SPWin_RDEV_LzhCN_EExt.apm
Using CMF procedure 40990
Loading APM TactManifest/Win_SPWin_speech_RDEV_LzhCN_EExt.apm
Using CMF procedure 40990
Mapping...
Adding Encryption Keys...
Tooling...

   由于 Exception.ToString() 失败,因此无法打印异常字符串。

The last line means: Exception.ToString() failed, so can not print the exception

Even more sound questions.

I know what you're think, not this guy again and you'd be right. Although this is mostly me bring some things to your attention and getting your opinion on them.

Ok so the recent change you did to extract all sounds and hero sounds worked perfectly, I literally cannot thank you enough. I've been crunching lots of data, I run a full V sound dump and then another v sound dump to make sure I get all sounds. Something to note here is V does not do NPC sounds whereas v does. Not sure if bug or its just not designed to handle it, either way it doesn't really matter as I use both to get a full library.

Next thing I did was also extract all 0B2 sounds and filter out all the sounds that was already found. Went through all this and took out all the obvious sounds (Athena, Snowball Offensive, Uprising, Halloween, Hollywood Guy, Lucioball) which remarkably only leaves about 200 files that haven't been linked to a hero/npc and some of these can also be safey ignored such as the background sounds like some lady speaking through a PA.

What's left is about 170 sounds that aren't getting detected by the extractors which is

  • A couple of Widowmaker lines (for some reason)
  • 1 Mei voiceline about astronauts
  • Bunch of Winston gorilla monkey sounds
  • Uprising bots (note some are extracted by v but apparently a lot are missing)
  • Bastion sounds (possibly all related to Uprising Bastion)

Just figured I'd mention it if you wanted to look deeper into how some of these sound files are referenced. You can view all unmapped sound IDs and preview them on my site.
https://overwatch-item-tracker.github.io/sounds/?hero=unknown

How do you even use it? The wiki tutorials suck and are not very descriptive, and have no experience codin gor programing. please help asap!

Hey, um... how to hell do you even use this. I used to use the quickdatatool, but everyone gave up on that, and i was trying to find tutorials on the facepunch server, but it is taken down now. I seriously need help asap please.

There is no actual descriptive tutorial/ video tutorial on how the hell to use it, so i would love if you could help me out. Also please email me with any kind of help aswell cause i probably wont get a notification from here. thanks.

Questions regarding sound files

Hey so i'm messing around with sounds trying to build a nice viewer for them as it's kinda hard to go through them at the moment and I'm just wondering about the process of extracting some of these sounds.

A recent change you made to the sound extractor was to group sets of sounds in sub folders (packages?) Going through them seems to mostly be:

  • Weapons (Multiple Folders)
  • Base sounds
  • Event/New ? (Uprising and CTF voicelines)
  • Weird default beeps

That's from McCree's although Widowmaker has 18 folders and a lot of them don't seem to be related to her? Some of these sound like some sort of jet engine and spraying sound and a bunch of single .bnk files.
Anyway so is there any way for me to identify these types of folders or what the sounds might be?
Something I have noticed is all non voice files seem to be a much higher number. All weapon sounds being 00000004....

Also before when I was testing with removing keys for testing. So I was trying to get it to extract sound files for each key to get a diff of when sounds were added however it appears that this does not work. I figured that all the new sound files for events/keys would be linked however it seemed to export everything up to Uprising even without the keys (note that the event specific items still said missing key). Is it possible they removed the keys from the sound files? Also note Ana, Sombra & Orisa still have all their sounds tied to their keys.

So NPCs and sound files don't work very good at the moment. I understand it has something to do with how Overtool finds references to other files for a hero however in the case of NPCs which seem to be like shallow copies of heroes or making some reference to them that ends up extracting a lot of stuff not related to them. Most cases being Zenyatta as all the bots seem to reference him. The Shock-Tire NPC extracts over 900 sounds (Junkrat & Zenyatta) and it doesn't even have any actual sounds itself (that it has found).
I'm sure you're aware of the issue, you probably can't do anything about it I assume but I just figured I'd mention it.

Sorry if i'm annoying you with these questions.

Facepunch Forums closed - as same as Overwatch Model Threads

Tried to get the newest version to extract few models to create my hero's pistol - Chaser, but unfortunately Facepunch forums are closed, with Model Threads.
What's going to happen now? Where should I go to ask for extracting?

I need this to create something based on it!

Can't extract Orisa skin

Describe the bug
Can't extract Orisa skin

To Reproduce

datatool "E:\Program Files (x86)\Overwatch" extract-unlocks "D:\OWmodels" "Orisa|skin=classic"

Logs

[Core] DataTool v1.31.0.797-git-be89b3e52d58b2a6f1987ce4764a9e80511ad5b4
[Core] CommandLine: ["E:\Program Files (x86)\Overwatch", "extract-unlocks", "D:\OWmodels", "Orisa|skin=classic"]
[Core] CommandLineFile: D:\Downloads\toolchain-release (2)\DataTool.exe.args
[CASC] Overwatch build 1.32.0.1.54052
[CASC] Initializing...
[CMF] Using CMF procedure 54052
[CMF] Using CMF procedure 54052
[CASC] Ready
[Core] Checking ResourceKeys
[Core] Tooling...
Processing unlocks for Orisa
Extracting skin Classic
Finding
System.ArgumentNullException: 值不能为 null。
参数名: input
在 System.IO.BinaryReader..ctor(Stream input, Encoding encoding, Boolean leaveOpen)
在 TankLib.teMaterial..ctor(Stream stream)
在 DataTool.FindLogic.Combo.Find(ComboInfo info, UInt64 guid, Dictionary2 replacements, ComboContext context) 在 DataTool.FindLogic.Combo.Find(ComboInfo info, UInt64 guid, Dictionary2 replacements, ComboContext context)
在 DataTool.FindLogic.Combo.Find(ComboInfo info, UInt64 guid, Dictionary2 replacements, ComboContext context) 在 DataTool.FindLogic.Combo.Find(ComboInfo info, UInt64 guid, Dictionary2 replacements, ComboContext context)
在 DataTool.SaveLogic.Unlock.SkinTheme.Save(ICLIFlags flags, String directory, STUSkinBase skin, STUHero hero)
在 DataTool.ToolLogic.Extract.ExtractHeroUnlocks.SaveUnlock(ICLIFlags flags, Unlock unlock, String path, String eventKey, Dictionary2 config, Dictionary2 tags, VoiceSet voiceSet, STUHero hero)
在 DataTool.ToolLogic.Extract.ExtractHeroUnlocks.SaveUnlocks(ICLIFlags flags, Unlock[] unlocks, String path, String eventKey, Dictionary2 config, Dictionary2 tags, VoiceSet voiceSet, STUHero hero)
在 DataTool.ToolLogic.Extract.ExtractHeroUnlocks.SaveUnlocksForHeroes(ICLIFlags flags, IEnumerable`1 heroes, String basePath, Boolean npc)
在 DataTool.ToolLogic.Extract.ExtractHeroUnlocks.Parse(ICLIFlags toolFlags)
在 DataTool.Program.Main()

Desktop (please complete the following information):

  • OS: Windows 10
  • Overwatch Version 1.32.0.1
  • Overwatch Region China
  • Overwatch Language English

Sigma can't be extracted

It's impossible to extract sigma's unlock with the latest datatool "Patch 38 - Build 829"

The command : datatool "Overwatch directory" extract-unlocks "Output directory" "Sigma"

The CMD will give that output with nothing in the output folder:

[CASC] Overwatch build 1.38.0.3.60547
[CASC] Initializing...
[CMF] Using CMF procedure 60547
[CMF] Using CMF procedure 60547
[CASC] Ready
[Core] Checking ResourceKeys
[Core] Tooling...
[Core] Execution finished in 00:00:00.1775298 seconds
  • OS: Windows 10 latest
  • Overwatch build 1.38.0.3.60547

Export of UI sprites/icons

I wasn't sure how to contact you with this question so I hope you are fine with me opening a ticket here.

I have been trying to find a way to export the UI elements (e.g. the sprites that are used in the killfeed, scoreboard or HUD) from the game but have not yet found an obvious path to do that. Is there any easy way to get them through OverTool ?

cheers

Otool output?

Where does everything go? I used this command: overtool "C:\Program Files (x86)\Overwatch" g and got

OverTool v1.13.2.0-git-5b95e70585d5c320fa409c361e26439585a64ee9
Initializing CASC...
Set language to enUS
Using Overwatch Version 1.14.1.2.39484
Loading APM TactManifest/Win_SPWin_RDEV_LenUS_EExt.apm
Loading APM TactManifest/Win_SPWin_speech_RDEV_LenUS_EExt.apm
Mapping...
Adding Encryption Keys...
Tooling...

Where does it go? the output folder is empty.

Update TACTLib plz

Hi,

I know that TACTLib has been updated 9days ago, but since, there was an update of overwatch that make it not usable anymore.

Big thanks for all of your work.

TACTLib.Core.BLTEDecoderException: frame header mismatch (bad BLTE file)

Hi, I'm new to this tool. I'm not sure if this is a bug or I just don't know how to use it so I'm creating a blank issue.

I tried to extract hero voice using the command seen in the output below but it seems like it was unable to do it. I believe I'm using the latest versions of DataTool and Overwatch which I have played for a bit.

This is the output:

C:\Users\aqian\Downloads\datatool>DataTool.exe "C:\Program Files (x86)\Overwatch" extract-hero-voice C:\Users\aqian\Downloads\datatool\voices "Baptiste|voiceline=*"
[Core] DataTool v1.50.0.878-git-14cc6c1bce8898083a3a1bbdd238d6185ae7386e
[Core] CommandLine: ["C:\Program Files (x86)\Overwatch", "extract-hero-voice", "C:\Users\aqian\Downloads\datatool\voices", "Baptiste|voiceline=*"]
[Core] CommandLineFile: C:\Users\aqian\Downloads\datatool\DataTool.exe.args
[CASC] Text Language: enUS | Speech Language: jaJP
[CASC] Overwatch build 1.50.0.0.71255
[CASC] Initializing...
[Manifest] Using TRG procedure 70665 for Win_SPWin_RDEV_EExt.trg
[Manifest] Using CMF procedure 70665 for Win_SPWin_RDEV_LjaJP_speech_EExt.cmf
[Manifest] Using CMF procedure 70665 for Win_SPWin_RDEV_EExt.cmf
[Manifest] Using CMF procedure 70665 for Win_SPWin_RDEV_LenUS_text_EExt.cmf
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> TACTLib.Core.BLTEDecoderException: frame header mismatch (bad BLTE file)
   at TACTLib.Core.BLTEStream.Init()
   at TACTLib.Client.ClientHandler.OpenEKey(CKey key)
   at TACTLib.Client.ClientHandler.OpenCKey(CKey key)
   at TACTLib.Core.Product.Tank.ProductHandler_Tank.OpenBundle(UInt64 bundleGuid)
   at TACTLib.Core.Product.Tank.ProductHandler_Tank.DoBundleLookupHack()
   at TACTLib.Core.Product.Tank.ProductHandler_Tank..ctor(ClientHandler client, Stream stream)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at System.Activator.CreateInstance(Type type, Object[] args)
   at TACTLib.Core.Product.ProductHandlerFactory.GetHandler(TACTProduct product, ClientHandler client, Stream root)
   at TACTLib.Client.ClientHandler..ctor(String basePath, ClientCreateArgs createArgs)
   at DataTool.Program.InitStorage(Boolean online)
   at DataTool.Program.Main()

Do you have any idea what went wrong?

System.Exception: missing RIFF

This happens when I'm extracting maps.

F:\OWDataTool>datatool --language=zhCN E:\overwatch extract-maps E:\Overwatchoutput 釜山
[Core] DataTool v1.43.0.0-git-tanklib
[Core] CommandLine: ["--language=zhCN", "E:\overwatch", "extract-maps", "E:\Overwatchoutput", "釜山"]
[Core] CommandLineFile: F:\OWDataTool\DataTool.exe.args
[CASC] Set language to zhCN
[CASC] Overwatch build 1.43.0.0.64719
[CASC] Initializing...
[CMF] Using CMF procedure 64719
[CMF] Using CMF procedure 64719
[CASC] Ready
[Core] Reminder! When extracting data in other languages, the names of the heroes/skins/etc must be in the language you have chosen.
[Core] Checking ResourceKeys
[Core] Tooling...
Extracting map 釜山\7E2
Finding
Saving
System.Exception: missing RIFF
在 DataTool.ConvertLogic.Sound.WwiseRIFFVorbis..ctor(Stream stream, String codebooksFile) 位置 F:\OWLib\DataTool\ConvertLogic\Sound.cs:行号 170
在 DataTool.SaveLogic.Combo.ConvertSoundFile(Stream stream, Stream outputStream) 位置 F:\OWLib\DataTool\SaveLogic\Combo.cs:行号 702
System.Exception: missing RIFF
在 DataTool.ConvertLogic.Sound.WwiseRIFFVorbis..ctor(Stream stream, String codebooksFile) 位置 F:\OWLib\DataTool\ConvertLogic\Sound.cs:行号 170
在 DataTool.SaveLogic.Combo.ConvertSoundFile(Stream stream, Stream outputStream) 位置 F:\OWLib\DataTool\SaveLogic\Combo.cs:行号 702
System.Exception: missing RIFF
在 DataTool.ConvertLogic.Sound.WwiseRIFFVorbis..ctor(Stream stream, String codebooksFile) 位置 F:\OWLib\DataTool\ConvertLogic\Sound.cs:行号 170
在 DataTool.SaveLogic.Combo.ConvertSoundFile(Stream stream, Stream outputStream) 位置 F:\OWLib\DataTool\SaveLogic\Combo.cs:行号 702
System.Exception: missing RIFF
在 DataTool.ConvertLogic.Sound.WwiseRIFFVorbis..ctor(Stream stream, String codebooksFile) 位置 F:\OWLib\DataTool\ConvertLogic\Sound.cs:行号 170
在 DataTool.SaveLogic.Combo.ConvertSoundFile(Stream stream, Stream outputStream) 位置 F:\OWLib\DataTool\SaveLogic\Combo.cs:行号 702
Done
[Core] Execution finished in 00:12:03.0112650 seconds

error when extract junkenstein map voice

Describe the bug
got an path error when extract junkenstein map voice.

To Reproduce

use command:

DataTool.exe -L=enUS -T=enUS "f:\Overwatch" --convert-sound=false --convert-lossless-textures=true --skip-models=true --skip-animations=true extract-maps --flatten f:\T1\en *

Got an error:

System.IO.DirectoryNotFoundException: cant find path “f:\T1\en\Maps\Junkenstein's Revenge\6C9\VoiceSets\00000000013B.05F\The doctor's creations swarmed over the fallen hero, having claimed their first kill. \00000000-00008923-subtitles.txt” part of the path。
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at DataTool.Helper.IO.WriteFile(String text, String filename)
   at DataTool.SaveLogic.Combo.SaveVoiceStimulus(ICLIFlags flags, String path, ComboInfo info, VoiceLineInstanceInfo voiceLineInstanceInfo)
   at DataTool.SaveLogic.Combo.SaveVoiceStimuliInternal(ICLIFlags flags, String path, ComboInfo info, IEnumerable`1 voiceLineInstances, Boolean split)
   at DataTool.SaveLogic.Combo.SaveVoiceSetInternal(ICLIFlags flags, String path, ComboInfo info, UInt64 voiceSet)
   at  DataTool.SaveLogic.Combo.SaveAllVoiceSets(ICLIFlags flags, String path, ComboInfo soundInfo)
   at  DataTool.SaveLogic.Map.Save(ICLIFlags flags, STUMapHeader mapHeader, UInt64 key, String basePath)
   at  DataTool.ToolLogic.Extract.ExtractMaps.SaveMaps(ICLIFlags toolFlags)
   at  DataTool.Program.Main()

Desktop (please complete the following information):

  • OS: WIndows 10
  • Overwatch Version 1.39
  • Overwatch Language English+Chinese

Additional context
Guess the line text makes the full path too long in windows.

Any parameter to walkaround this? For example, don't add line text to filename, just put it in to that txt file.

Some portraits are black and white

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:
I used these commands to extract the portrait images.

DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Reaper|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Tracer|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Mercy|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Hanzo|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Torbjörn|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Reinhardt|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Pharah|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Winston|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Widowmaker|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Bastion|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Symmetra|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Zenyatta|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Genji|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Roadhog|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "McCree|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Junkrat|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Zarya|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Soldier|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Lúcio|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Va|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Mei|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Sombra|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Doomfist|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Ana|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Orisa|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Brigitte|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Moira|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Wrecking|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Ashe|icon="
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Baptiste|icon=
"
DataTool.exe D:\Blizzard\Overwatch\ extract-unlocks E:\Output "Sigma|icon=*"

Some of the images are a black silhouette with a white background. Like Ashe and Sigma

Expected behavior
A clear and concise description of what you expected to happen.

Images should show the portrait of the character
Logs
If applicable, add logs to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. Windows 10]
  • Overwatch Version [e.g. 50125]
  • Overwatch Region [e.g. Americas]
  • Overwatch Language [e.g. English]
    Windows 10
    Overwatch 1.44.0.1.65575

Additional context
Add any other context about the problem here.

Skybox/Sky textures

Hi dudes/dudettes,

I'd like to complement you on the wonderful work you've been doing so far.

I've been using the DataTool to extract some maps, but I can't seem to figure out where/how Blizzard stores the Sky textures. Most maps seem to contain fog planes, distant mountains and vistas, and I do see those in the extracted maps, but I can't seem to find the actual sky itself. Am I missing something obvious, or are the sky textures actually missing?

Crashes when using the * wildcard.

So this happend while I was using extract-unlocks and extract-maps with the * wildcard.

I think it is running out of RAM... Used about 9,6 GB when this happend:

System.ArgumentNullException: The value can not be NULL.
Parametername: input
   at System.IO.BinaryReader..ctor(Stream input, Encoding encoding, Boolean leaveOpen)
   at TankLib.teTexturePayload..ctor(teTexture parent, Stream payloadStream)
   at TankLib.teTexture.LoadPayload(Stream payloadStream)
   at DataTool.SaveLogic.Combo.SaveTexture(ICLIFlags flags, String path, ComboInfo info, UInt64 textureGUID)
   at DataTool.SaveLogic.Combo.SaveMaterial(ICLIFlags flags, String path, ComboInfo info, UInt64 material)
   at DataTool.SaveLogic.Combo.SaveModelLook(ICLIFlags flags, String path, ComboInfo info, UInt64 modelLook)
   at DataTool.SaveLogic.Combo.SaveModel(ICLIFlags flags, String path, ComboInfo info, UInt64 modelGUID)
   at DataTool.SaveLogic.Combo.Save(ICLIFlags flags, String path, ComboInfo info)
   at DataTool.SaveLogic.Unlock.SkinTheme.Save(ICLIFlags flags, String directory, STUSkinBase skin, STUHero hero)
   at DataTool.ToolLogic.Extract.ExtractHeroUnlocks.SaveUnlock(ICLIFlags flags, Unlock unlock, String path, String eventKey, Dictionary`2 config, Dictionary`2 tags, VoiceSet voiceSet, STUHero hero)
   at DataTool.ToolLogic.Extract.ExtractHeroUnlocks.SaveUnlocks(ICLIFlags flags, Unlock[] unlocks, String path, String eventKey, Dictionary`2 config, Dictionary`2 tags, VoiceSet voiceSet, STUHero hero)
   at DataTool.ToolLogic.Extract.ExtractHeroUnlocks.SaveUnlocksForHeroes(ICLIFlags flags, IEnumerable`1 heroes, String basePath, Boolean npc)
   at DataTool.ToolLogic.Extract.ExtractHeroUnlocks.Parse(ICLIFlags toolFlags)
   at DataTool.Program.Main()

Overtool for dummies

Hello!

First of all, congratulations on the tool! I'm a designer looking to make a UI concept project of Overwatch but as I'm not a developer, I dont know how to install or use the tool. I was wondering if there is any documentation of how to use the tool anyhow, I would appreciate this greatly.

Also, is it possible with Overtool to collect components of the UI? Like colors, typefaces, icons, etc. (Something like a styleguide).

Thank you!
Murillo.

"DataTool.exe" not opening

Every time I try to open the file, "DataTool.exe", it never wants to run, as in; it opens up the console, displays a few texts then closes immediately. I don't really know what to do as it keeps happening with other releases.

Windows 7 Ultimate is the version I am using

OverTool unhandled exception: Index was outside the bounds of the array.

Ok so i tried again to extract the new Mercy voice lines with the latest version of OverTool and things were going fine so no longer outdated and that but now i get another issue:

image

You guys know what this could be?

What i typed was:

overtool -L=ptBR "C:\Program Files (x86)\Overwatch" V "C:\Users\astatinium\Downloads\OverMercy" Mercy

Decryption fails for build 1.32.0.1.54011

Describe the bug
Decryption fails for build 1.32.0.1.54011.

To Reproduce
This can be reproduced by using any function of the datatool.

Expected behavior
Decryption succeeds.

Logs

[Core] DataTool v1.31.0.796-git-d277a45e5a0537879d5a969e5478c9eaf92e0a03
[Core] CommandLine: ["C:\Program Files (x86)\Overwatch", "list-heroes"]
[Core] CommandLineFile: C:\Users\anton\Downloads\toolchain-release\DataTool.exe.args
[CASC] Overwatch build 1.32.0.1.54011
[CASC] Initializing...
[CMF] No CMF procedure for build 54011, trying closest version
[CMF] Using CMF procedure 53537
[CASC] Fatal - CMF decryption failed. Please update TACTLib.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Security.Cryptography.CryptographicException: Padding is invalid and cannot be removed.
   at System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast)
   at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
   at System.Security.Cryptography.CryptoStream.FlushFinalBlock()
   at System.Security.Cryptography.CryptoStream.Dispose(Boolean disposing)
   at System.IO.Stream.Close()
   at System.IO.BinaryReader.Dispose(Boolean disposing)
   at TACTLib.Core.Product.Tank.ContentManifestFile..ctor(ClientHandler client, Stream stream, String name)
   at TACTLib.Core.Product.Tank.ProductHandler_Tank..ctor(ClientHandler client, Stream stream)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at System.Activator.CreateInstance(Type type, Object[] args)
   at TACTLib.Core.Product.ProductHandlerFactory.GetHandler(TACTProduct product, ClientHandler client, Stream root)
   at TACTLib.Client.ClientHandler..ctor(String basePath, ClientCreateArgs createArgs)
   at DataTool.Program.InitStorage(Boolean online)
   at DataTool.Program.Main()

Desktop (please complete the following information):

  • OS: [e.g. Windows 10]
  • Overwatch Version - 1.32.0.1.54011
  • Overwatch Region - EU
  • Overwatch Language - English

TankView NGDP crash

Description
TankView NGDP open option crashes the program. It's simply closes itself without any warning.

To Reproduce
Steps to reproduce the behavior:

  1. Open TankView
  2. Click on File
  3. Click on Open...
  4. Click on NGDP
  5. Profit

Expected behavior
Dialogue of game folder choice.

Desktop:

  • OS: Windows 10 (OS Build 18362.356)

Are there owanims for victory poses?

Hi! Since the forum shut down, I can't really find much information about this anywhere.

Are there any owanim files for victory poses? I'd like to be able to use victory poses with the guns in the correct position. Which is something I'm unsure of how to do.

Any response would be much appreciated.

Regards,

Tomas

Add the Extraction of Overwatch League content

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.