Jade Empire/Research: Difference between revisions
(→Styles) |
(→Audio) |
||
(27 intermediate revisions by one other user not shown) | |||
Line 36: | Line 36: | ||
! Status | ! Status | ||
|- | |- | ||
|are || 2012 || static area information || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/AreaFile_Format.pdf AreaFile_Format.pdf] || | |are || 2012 || static area information || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/AreaFile_Format.pdf AreaFile_Format.pdf] | ||
| style="background-color: yellow;" | only layout value used | |||
|- | |- | ||
| | |sav || 2057 || objects descriptions in area || gff || | ||
| style="background-color: yellow;" | partially loaded | |||
|- | |- | ||
| | |lyt || 3000 || area rooms layout || text || | ||
| style="background-color: yellow;" | | |||
|- | |- | ||
| | |vis || 3001 || area rooms visibility graph || text || | ||
| style="background-color: yellow;" | | |||
|- | |- | ||
| | |hex || 3015 || area hexgrid definition || text || | ||
| style="background-color: red;" | unsupported | |||
|- | |- | ||
| | |art || 3023 || area environment properties || ini file || | ||
| style="background-color: red;" | unsupported | |||
|- | |- | ||
| | |cwa || 3025 || crowd attributes || gff || | ||
| style="background-color: red;" | unsupported | |||
|- | |- | ||
|fsm || 3022 || placeable state data || gff || || | |pla || 2043 || placeable definition || gff || | ||
| style="background-color: yellow;" | | |||
|- | |||
|pwk || 2053 || placeable walk mesh definition || text || | |||
| style="background-color: red;" | unsupported | |||
|- | |||
|fsm || 3022 || placeable state data || gff || | |||
| style="background-color: yellow;" | | |||
|} | |} | ||
Line 74: | Line 88: | ||
|- | |- | ||
|txb || 3006 || texture data || binary || || | |txb || 3006 || texture data || binary || || | ||
|- | |||
|tpc || 3007 || texture data || binary || || | |||
|- | |- | ||
|mat || 2069 || material definition || text || || | |mat || 2069 || material definition || text || || | ||
Line 96: | Line 112: | ||
|ndb || 2064 || script debug info || binary || || not used | |ndb || 2064 || script debug info || binary || || not used | ||
|- | |- | ||
|trg || | |trg || 2031 || trigger definition || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Trigger_Format.pdf Trigger_Format.pdf] || | ||
|} | |} | ||
Line 124: | Line 140: | ||
! Type ID | ! Type ID | ||
! Type description/Usage | ! Type description/Usage | ||
! Format | |||
! Documentation | ! Documentation | ||
! Status | ! Status | ||
|- | |- | ||
|gui || 2047 || dialog definition | |gui || 2047 || dialog definition || gff || || | ||
|- | |- | ||
|abc || 24003 || font definition || || | |abc || 24003 || font definition || binary || || | ||
|- | |- | ||
|sbm || 24004 || font bitmap || || | |sbm || 24004 || font bitmap || binary || || | ||
|} | |} | ||
Line 140: | Line 157: | ||
! Type ID | ! Type ID | ||
! Type description/Usage | ! Type description/Usage | ||
! Format | |||
! Documentation | ! Documentation | ||
! Status | ! Status | ||
|- | |- | ||
|ini || 7 || ini file || || | |ini || 7 || ini file || text || || | ||
|- | |- | ||
|txt || 10 || text | |txt || 10 || sound info(*_xwb.txt und *_xsb.txt) und mini game data (mg*.txt) || text || || | ||
|- | |- | ||
|2da || 2017 || static data tables || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/2DA_Format.pdf 2DA_Format.pdf] || | |2da || 2017 || static data tables || 2da || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/2DA_Format.pdf 2DA_Format.pdf] || | ||
|- | |- | ||
|gff || 2037 || generic gff file || || | |gff || 2037 || generic gff file || gff || || | ||
|} | |} | ||
Line 158: | Line 176: | ||
! Type ID | ! Type ID | ||
! Type description/Usage | ! Type description/Usage | ||
! Format | |||
! Documentation | ! Documentation | ||
! Status | ! Status | ||
|- | |- | ||
| | |ttc || 2073 || minigame resources || binary || || | ||
|- | |- | ||
|bik || 2063 || prerendered bink | |bik || 2063 || prerendered video || bink || || | ||
|- | |- | ||
|ogg || 2078 || ogg | |ogg || 2078 || prerendered audio || ogg/vorbis || || | ||
|- | |- | ||
|sto || 3013 || store definition | |sto || 3013 || store definition || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Store_Format.pdf Store_Format.pdf] || | ||
|- | |- | ||
| | |amp || 3024 || brightening control || binary || || | ||
|- | |- | ||
| | |cre || 2026 || creature definition || gff || || | ||
|- | |- | ||
|vso || 24002 || vertex shader object || || | |pso || 24001 || pixel shader object || binary || || | ||
|- | |||
|vso || 24002 || vertex shader object|| binary || || | |||
|} | |} | ||
Line 186: | Line 207: | ||
|- | |- | ||
|wma || 11 || wma file || || | |wma || 11 || wma file || || | ||
|- | |- | ||
|pvd || 24005 || pvd file || || | |pvd || 24005 || pvd file || || | ||
|- | |- | ||
|pk || 24009 || pk file || || | |pk || 24009 || pk file || || | ||
Line 198: | Line 215: | ||
== 2DA files == | == 2DA files == | ||
=== | === 2DA lists === | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 205: | Line 222: | ||
! Status | ! Status | ||
|- | |- | ||
| 2das.2da || | | 2das.2da || indexed list of all 2da files including excel generation info || style="background-color: green;" | supported | ||
|- | |- | ||
| | | scriptlist.2da || foreign key reference to 2das.2da whose index is used by scripts || style="background-color: green;" | supported | ||
| | |} | ||
=== GUI === | |||
{| class="wikitable" | |||
! Name | |||
! Usage | |||
! Status | |||
| | |||
|- | |- | ||
| | | books.2da || contains info to all the bookstands you can read in the game || style="background-color: red;" | unsupported | ||
|- | |- | ||
| | | jdk_players.2da || stats of all player characters (demo content) || style="background-color: red;" | unsupported | ||
|- | |- | ||
| players.2da || stats of all player characters || style="background-color: red;" | unsupported | |||
| players.2da || | |||
|} | |} | ||
Line 757: | Line 278: | ||
| drunken.2da || special drunken style data || style="background-color: red;" | unsupported | | drunken.2da || special drunken style data || style="background-color: red;" | unsupported | ||
|} | |} | ||
== GUI == | |||
* Layout defined in the .gui resources in Gff3 format | |||
* lti_<dialogname> layouts have been created for the PC version for mouse control | |||
* Fullscreen dialogs are of size 640x480 | |||
* coordinate system is 2D, (0,0) is the upper left corner | |||
* GUI is stretched to screen size | |||
== Models == | == Models == | ||
=== Vertex layout === | === Vertex layout === | ||
The vertex layout is described in a mesh node's mesh header and if included the skin header. | |||
The mesh header contains information to draw the model or part of it. | |||
The skin header contains bone information to animate the model. | |||
[https://gist.github.com/farmboy0/87d9d6b88613ccd899b8 model description (WIP)] | |||
== Audio == | |||
Audio files and properties are described via XACT wave banks and sound banks. | |||
Wave bank are simple lists of sound files that are referenced by their position in the list. | |||
Sound banks describe sounds and sound cues. Sounds contain references to wave bank entries as well as their play properties, while sound cues | |||
are used to group different sounds together with information about how to choose between them when playing a sound cue. | |||
In the Xbox version, the wave banks and sound banks are in their original binary format (XWB and [https://wiki.xoreos.org/index.php?title=Binary_XACT_SoundBank XSB]). In the Windows PC version, they are stored in an ASCII format, as described below. | |||
'''Sound bank files are organized like this:''' | |||
<Sound bank name> | |||
<Number of Categories> | |||
<Categories, one per line> | |||
<Number of sounds> | |||
<Sounds, variable amount of lines per sound> | |||
<Number of sound cues> | |||
<Sound cues, variable amount of lines per sound cue> | |||
'''Each sound looks like this:''' | |||
<Sound description line> | |||
<Play properties, at most one of each of the following lines: 3D AEG LOOP LPF MARKER MFLFO PEQ PITCH PLAY VOLUME> | |||
<Number of wave bank entries> | |||
<One line per Wave bank entry> | |||
'''Each sound cue looks like this:''' | |||
<Sound cue description> | |||
<Number of sound entries> | |||
<One line per sound entry> | |||
'''for music sound cues also these lines:''' | |||
<Number of transition lines = number sound entries * (number sound entries + 1)> | |||
<transition lines describe the transition between 2 sounds in the same cue since only one sound will play (except for some overlap between sounds)> | |||
=== Sounds === | |||
==== sound description line ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Line Token | ||
! | ! 1 | ||
! | ! 2 | ||
! 3 | |||
! 4 | |||
! 5 | |||
! 6 | |||
! 7 | |||
! 8 | |||
! 9 | |||
! 10 | |||
! 11 | |||
|- | |- | ||
| | | Example || "al_nat_pool" || "1" || 1 || 1 || -2425 || -1 || -770 || 0 || 1 || 0 || 0 | ||
|- | |- | ||
| | | Description || sound name || note probably describing category || 0 or 1, boolean || 0 or 1, boolean || -6400 - 0 || -4975 - 450 || -1898 - 2400 || 0 or 127 || 0 or 1, boolean || -1500 - 0 || -6400 - 0 | ||
|} | |||
==== 3D properties ==== | |||
{| class="wikitable" | |||
! Line Token | |||
! 1 | |||
! 2 | |||
! 3 | |||
! 4 | |||
! 5 | |||
! 6 | |||
! 7 | |||
! 8 | |||
! 9 | |||
! 10 | |||
! 11 | |||
|- | |- | ||
| | | Example || 3D || 0 || 360 || 360 || 0 || 6.000000 || 27.000000 || 1.000000 || 7.000000 || 1.000000 || 0 | ||
|- | |- | ||
| | | Description || prop id || always 0 || always 360 || always 360 || always 0 || 1.000000 - 500.000000 || 10.000000 - 1000000000.000000 || always 1.000000 || 0.000000 - 363.000000 || 1.000000, 5.000000 or 10.000000 || 0, 0.750000, 0.782780, 0.803270 or 1.000000 | ||
|} | |||
=== Sound cues === | |||
==== sound cue line ==== | |||
{| class="wikitable" | |||
! Line Token | |||
! 1 | |||
! 2 | |||
! 3 | |||
! 4 | |||
! 5 | |||
|- | |- | ||
| | | Example || "j08_cut_drag_e" || 0 || 0 || 0 || 0 | ||
|- | |||
| Description || sound cue name || 0, 1, 2, 3 or 4 play variation type || 0 or 1, boolean || always 0 || 0 or 1, boolean | |||
|} | |} | ||
==== sound entry line ==== | |||
{| class="wikitable" | |||
! Line Token | |||
! 1 | |||
! 2 | |||
! 3 | |||
! 4 | |||
|- | |||
| Example || "j08_cut_drag_e" || 37 || 0 || 0 | |||
|- | |||
| Description || sound name || sound list index || value depends on variation type || value depends on variation type | |||
|} |
Latest revision as of 23:55, 28 December 2018
Archives
Name | Type | Documentation | Status |
---|---|---|---|
chitin.key artcreatures.bif audio.bif designer.bif |
indexed Key Biff | KeyBIF_Format.pdf | supported |
*.rim | Rim file | supported | |
*.mod | ERF file | ERF_Format.pdf | supported |
Resource files
Areas, Rooms and Placeables
Extension | Type ID | Type description/Usage | Format | Documentation | Status |
---|---|---|---|---|---|
are | 2012 | static area information | gff | AreaFile_Format.pdf | only layout value used |
sav | 2057 | objects descriptions in area | gff | partially loaded | |
lyt | 3000 | area rooms layout | text | ||
vis | 3001 | area rooms visibility graph | text | ||
hex | 3015 | area hexgrid definition | text | unsupported | |
art | 3023 | area environment properties | ini file | unsupported | |
cwa | 3025 | crowd attributes | gff | unsupported | |
pla | 2043 | placeable definition | gff | ||
pwk | 2053 | placeable walk mesh definition | text | unsupported | |
fsm | 3022 | placeable state data | gff |
Models, Textures and Materials
Extension | Type ID | Type description/Usage | Format | Documentation | Status |
---|---|---|---|---|---|
bmp | 1 | bitmap image | binary | ||
tga | 3 | targa image | binary | ||
mdl | 2002 | model definition | binary | ||
mdx | 3008 | model raw data | binary | ||
txi | 2022 | texture information | text | ||
txb | 3006 | texture data | binary | ||
tpc | 3007 | texture data | binary | ||
mat | 2069 | material definition | text | ||
mab | 3011 | material definition | binary |
Scripting and Triggers
Extension | Type ID | Type description/Usage | Format | Documentation | Status |
---|---|---|---|---|---|
nss | 2009 | nwscript source script | text | not used | |
ncs | 2010 | compiled script | binary | ||
ndb | 2064 | script debug info | binary | not used | |
trg | 2031 | trigger definition | gff | Trigger_Format.pdf |
Quests, Texts and Dialogues
Extension | Type ID | Type description/Usage | Format | Documentation | Status |
---|---|---|---|---|---|
tlk | 2018 | string definitions | talk table | TalkTable_Format.pdf | |
dlg | 2029 | dialog definition | gff | Conversation_Format.pdf | |
qst | 2084 | quest definition | gff | ||
bip | 3028 | lipsynch data | binary |
GUI
Extension | Type ID | Type description/Usage | Format | Documentation | Status |
---|---|---|---|---|---|
gui | 2047 | dialog definition | gff | ||
abc | 24003 | font definition | binary | ||
sbm | 24004 | font bitmap | binary |
Static Properties
Extension | Type ID | Type description/Usage | Format | Documentation | Status |
---|---|---|---|---|---|
ini | 7 | ini file | text | ||
txt | 10 | sound info(*_xwb.txt und *_xsb.txt) und mini game data (mg*.txt) | text | ||
2da | 2017 | static data tables | 2da | 2DA_Format.pdf | |
gff | 2037 | generic gff file | gff |
Others
Extension | Type ID | Type description/Usage | Format | Documentation | Status |
---|---|---|---|---|---|
ttc | 2073 | minigame resources | binary | ||
bik | 2063 | prerendered video | bink | ||
ogg | 2078 | prerendered audio | ogg/vorbis | ||
sto | 3013 | store definition | gff | Store_Format.pdf | |
amp | 3024 | brightening control | binary | ||
cre | 2026 | creature definition | gff | ||
pso | 24001 | pixel shader object | binary | ||
vso | 24002 | vertex shader object | binary |
Unknown
Extension | Type ID | Type description/Usage | Documentation | Status |
---|---|---|---|---|
wma | 11 | wma file | ||
pvd | 24005 | pvd file | ||
pk | 24009 | pk file |
2DA files
2DA lists
Name | Usage | Status |
---|---|---|
2das.2da | indexed list of all 2da files including excel generation info | supported |
scriptlist.2da | foreign key reference to 2das.2da whose index is used by scripts | supported |
GUI
Name | Usage | Status |
---|---|---|
books.2da | contains info to all the bookstands you can read in the game | unsupported |
jdk_players.2da | stats of all player characters (demo content) | unsupported |
players.2da | stats of all player characters | unsupported |
Styles
Name | Usage | Status |
---|---|---|
areaofeffect.2da | area effects | unsupported |
spells.2da | spell effects | unsupported |
styleadvance.2da | level up data | unsupported |
stylecost.2da | transformation style costs | unsupported |
styledata.2da | style 2da table references | unsupported |
stylepoints.2da | style points per level | unsupported |
stylesuperlist.2da | style numbers and models | unsupported |
styletypes.2da | gui icons | unsupported |
transformation.2da | tranformation style numbers | unsupported |
*as.2da | style animation and sound table | unsupported |
*cs.2da | style cutscene movement table | unsupported |
*lv.2da | style level up table | unsupported |
*mv.2da | style movement table | unsupported |
centipede.2da | special centipede style data | unsupported |
drunken.2da | special drunken style data | unsupported |
GUI
- Layout defined in the .gui resources in Gff3 format
- lti_<dialogname> layouts have been created for the PC version for mouse control
- Fullscreen dialogs are of size 640x480
- coordinate system is 2D, (0,0) is the upper left corner
- GUI is stretched to screen size
Models
Vertex layout
The vertex layout is described in a mesh node's mesh header and if included the skin header.
The mesh header contains information to draw the model or part of it.
The skin header contains bone information to animate the model.
Audio
Audio files and properties are described via XACT wave banks and sound banks.
Wave bank are simple lists of sound files that are referenced by their position in the list.
Sound banks describe sounds and sound cues. Sounds contain references to wave bank entries as well as their play properties, while sound cues are used to group different sounds together with information about how to choose between them when playing a sound cue.
In the Xbox version, the wave banks and sound banks are in their original binary format (XWB and XSB). In the Windows PC version, they are stored in an ASCII format, as described below.
Sound bank files are organized like this:
<Sound bank name> <Number of Categories> <Categories, one per line> <Number of sounds> <Sounds, variable amount of lines per sound> <Number of sound cues> <Sound cues, variable amount of lines per sound cue>
Each sound looks like this:
<Sound description line> <Play properties, at most one of each of the following lines: 3D AEG LOOP LPF MARKER MFLFO PEQ PITCH PLAY VOLUME> <Number of wave bank entries> <One line per Wave bank entry>
Each sound cue looks like this:
<Sound cue description> <Number of sound entries> <One line per sound entry>
for music sound cues also these lines:
<Number of transition lines = number sound entries * (number sound entries + 1)> <transition lines describe the transition between 2 sounds in the same cue since only one sound will play (except for some overlap between sounds)>
Sounds
sound description line
Line Token | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|
Example | "al_nat_pool" | "1" | 1 | 1 | -2425 | -1 | -770 | 0 | 1 | 0 | 0 |
Description | sound name | note probably describing category | 0 or 1, boolean | 0 or 1, boolean | -6400 - 0 | -4975 - 450 | -1898 - 2400 | 0 or 127 | 0 or 1, boolean | -1500 - 0 | -6400 - 0 |
3D properties
Line Token | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|
Example | 3D | 0 | 360 | 360 | 0 | 6.000000 | 27.000000 | 1.000000 | 7.000000 | 1.000000 | 0 |
Description | prop id | always 0 | always 360 | always 360 | always 0 | 1.000000 - 500.000000 | 10.000000 - 1000000000.000000 | always 1.000000 | 0.000000 - 363.000000 | 1.000000, 5.000000 or 10.000000 | 0, 0.750000, 0.782780, 0.803270 or 1.000000 |
Sound cues
sound cue line
Line Token | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Example | "j08_cut_drag_e" | 0 | 0 | 0 | 0 |
Description | sound cue name | 0, 1, 2, 3 or 4 play variation type | 0 or 1, boolean | always 0 | 0 or 1, boolean |
sound entry line
Line Token | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Example | "j08_cut_drag_e" | 37 | 0 | 0 |
Description | sound name | sound list index | value depends on variation type | value depends on variation type |