Overwatch Model Thread v2

Revival of Overwatch Model Thread v1

Wiki: https://owdev.wiki

OWLib: https://github.com/overtools/OWLib
OverTool for 1.13: https://ci.appveyor.com/api/buildjobs/pqo9d4kv57r8pfrw/artifacts/dist%2Ftoolchain-release.zip

All latest builds (bleeding edge): https://ci.appveyor.com/project/yukimono/owlib/build/artifacts

DataTool (for 1.14+): https://ci.appveyor.com/api/buildjobs/qhyxs2f5c0hh292q/artifacts/dist%2Ftoolchain-release.zip
io_scene_owm (Blender importer): https://github.com/overtools/io_scene_owm/releases/download/1.5.3/io_scence_owm.zip
CASCLib: https://ci.appveyor.com/api/buildjobs/qhyxs2f5c0hh292q/artifacts/dist%2FRelease%2FCascLib.dll
CASCExplorer: https://ci.appveyor.com/api/buildjobs/qhyxs2f5c0hh292q/artifacts/CASCExplorer%2FCASCExplorer%2Fbin%2FCASCExplorer.zip

Happy new thread, everyone!

I was wondering why the thread had a “v1”

It’s nice to have a second iteration of the thread.

[editline]18th September 2017[/editline]

I saw a pretty good image which depicts Ana’s Classic skin without the eyepatch, and its creator even did recreated the patch-covered piece:

IIRC there actually was a V2 thread before, but nobody ever posted in it because the V1 still existed.

I think it was created to separate the divide between the time when you guys were still working on the first OverTool versions, and the time when it was done and we were able to extract. Still, nobody used the new thread.

V1 thread was WIP thread, so when I first released all models, I created V2 “release” thread.

So 05F is going to be annoying to use. 1.05F has a totally reasonable 7745 instances, generating this output: https://gist.githubusercontent.com/ZingBallyhoo/7873d564157f72fcdc1c1de990ba94cb/raw/062cb7bd8ed9d9eec63716e6bd39d5e0bdbc0eae/gistfile1.txt

Havent stopped by in a rather “long” time what happend to the classic overtool? did blizzard change something on the encryption?

things are so…inactive

Overtool only supports <= 1.13, Blizzard changed the entire STU format in 1.14, and now everything has to be rewritten. DataTool is the new thing, but it can’t yet extract things properly (like Overtool could)

I’m currently trying to figure out how the new sound STUs work but its seems quite complex.

Edit: so it seems like dumping announcer sounds never actually worked, it just to dumps the data from every 05F ¯_(ツ)_/¯.

Edit2: STUAnnouncer / STUAnnouncerVoiceList probably isn’t for announcer, it references every 05F, which one contains the announcer stuff isn’t mentioned.

Edit3: Maybe I’m just misunderstanding. I thought that announcer meant Athena, but now it seems that announcer means general hero voice stuff. Makes a lot more sense.

Happy New Thread!

I’ve been out of the zone for a short while, and would love to hear about the new updates and changes made to Data/Overtool - I’ve got a couple of questions that would mean a lot to find answered. I really appreciate your time.

  1. Now DataTool is being worked on, is Overtool being made redundant?
  2. Will this new tool mean Datamining is redundant?
  3. Will you still be able to compare/download new files loaded onto the PTR?
  4. I haven’t backed up Overwatch, can I no longer export models?
    4.5) When will I be able to, and will their be any new techniques?
  5. Will there ever be a tool which would allow you to directly export .FBX files, to save having to go through Blender to pop stuff in Cinema4d?

Again, thank you for the help!

  1. Yes.
  2. No.
  3. Nope, you’ll have to wait for things to go live from now on.
  4. For now, give me/dynaomi some time and it’ll be working again.
    4.5) We’ll see, but unlikely.
  5. Propbably not.

So…it’s not possible to export/port to Gmod yet? Right?

It’s been possible for a long time.

I’m going to presume that’s not what you mean though. My new interpretation “So…it’s not possible to export/port to Gmod right now?”. It’s not possible right now because all of the changes in 1.14.


@dynaomi Sound extraction is almost repaired now, but I need your opinion. Should I implement auto wem => ogg conversion? (optional of course)

Yes, actually I’ve been meaning to write a C#-based clone of ww2ogg, but I dropped it because 1.14 happened and then life happened.

Manual labour of exporting and fixing models.

  1. OverTool still is relevant if you have a 1.13 backup, will continue to update and fix that as time goes on
  2. No, DataTool can still “datamine” but it’ll be severely limited (it won’t report on missing keys anymore), we’re also no longer releasing PTR builds
  3. No
  4. If you don’t have a 1.13 backup, you’re SOL (unless you find a backup which may be in the old thread), when DataTool is more mature you can use it on future (1.14 onwards) Overwatch versions
    4.5. Few months at best, I’m too stressed with life issues and work to actually work on Overtool a lot.
  5. Not officially, people are free to write their own exporter and pull it into OWLib, but I have far too little understanding to make a FBX/DAE exporter (especially with their skeleton systems) without causing data corruption (i.e. a model’s skeleton being wrong) or extremely long export times (last time OverTool had a Collada exporter, a full export took 54 hours, compare that to OWMDL which took about 4)
  1. Sound STUs reference other STUs in the same file, these often daisy chain back to an integer or GUID linking to the voice line (often by index like weapon skins,) trigger parameters (which are seemingly arbitrary without field names,) or subtitles (Uprising VO)

This is how it looked with the old STU format. Purple is the subtitle file (E000) or sound file (D008), red boxes are pointers, each color is a different STU instance.

In the new format these are already automatically daisy chained via STU field assignment at the end of the initialization loop, I think these fields show up as an “int” in your detection code because before assignment they’re an integer indicating which instance should be assigned to that field as a sort of sanity check. The field value and the instance must agree on which to be assigned to.

This is why the 05F file has so many unique instances. In that picture above, the second box alone references almost twenty different STUs, for one audio file.

This is most likely to set up a 3d audio matrix (for Atmos) and/or trigger parameter.

2+3. “Announcer” is a bad term, it’s any announcement a hero or system makes. CMF decryption: https://github.com/SombraOW/Overwatch-CMF-decryption/blob/master/V21/39823.cpp (IV is broken for now.)
Junkertown TactKey:

D9CB055BCDD40B6E 49FB4477A4A0825327E9A73682BECD0C

Overwatch Live is now on

@dynaomi Wem reading works now, but I still need to figure out how the conversion stuff works (with the bit stream and all that). Do you mind if I include ww2ogg and revorb (binaries) until I figure it out?

[editline]19th September 2017[/editline]

CASCLib for https://ci.appveyor.com/api/buildjobs/njywaoh431msxso5/artifacts/dist%2FRelease%2FCascLib.dll

If it works with their licenses.

Can you give us a non-outdated tutorial how to rip Overwatch models.