1,535
edits
No edit summary |
m (Seil moved page JAW to EvilEngine/JAW) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1:
<onlyinclude>
{{#vardefine:typeid|JAW}}<nowiki/>
{{#vardefine:name|Jaw Data Table}}<nowiki/>
{{#vardefine:type|[[Binary]]}}<nowiki/>
{{#vardefine:basetype|}}<nowiki/>
{{#vardefine:games|BFBB TSSM ROTU}}<nowiki/>
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Core/x/xJaw.h xJaw.h]}}<nowiki/>
{{#vardefine:image|}}<nowiki/>
</onlyinclude>
{{AutoAssetInfobox}}
A '''jaw data table''' defines the lip-sync movement for the player/NPCs to use when speaking voicelines. It maps one or more [[Sound Format|sounds]] to an array of open/close mouth positions, which can be generated from the waveform of the sound itself.
==Format==
The asset data starts with an int which defines the amount of entries in the jaw data table, then a
===xJawDataTable===
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x00 || [[AssetID]] || '''soundHashID''' || ([[SND|Sound]]/[[SNDS|Streaming Sound]])
|-
| 0x04 || int || '''
|-
| 0x08 || int || '''
|}
After the
{| class="wikitable"
! Offset !! Type !! Description
|-
| 0x00 || int || '''Length''' of jaw data in frames (?) (
|-
| 0x04 || byte[Length] || '''Jaw data'''. Each byte represents the speaker's mouth position at the current point in time, from 0 (fully closed) to 255 (fully open).
Line 30 ⟶ 37:
{{Assets}}
{{AutoGameNavs}}
[[Category:Asset]]
|