Jade Empire/Research: Difference between revisions

From xoreos Wiki
Jump to navigation Jump to search
 
(40 intermediate revisions by 2 users not shown)
Line 32: Line 32:
! Type ID
! Type ID
! Type description/Usage
! Type description/Usage
!Format
! Documentation
! Documentation
! Status
! Status
|-
|-
|are || 2012 || static area information in gff format || [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
|-
|-
|lyt || 3000 || area rooms layout in text format || ||
|sav || 2057 || objects descriptions in area || gff ||
| style="background-color: yellow;" | partially loaded
|-
|-
|vis || 3001 || area rooms visibility in text format || ||
|lyt || 3000 || area rooms layout || text ||  
| style="background-color: yellow;" |
|-
|-
|pwk || 2053 || placeable walk mesh definition in text format || ||
|vis || 3001 || area rooms visibility graph || text ||  
| style="background-color: yellow;" |
|-
|-
|fsm || 3022 || placeable state data in gff format || ||
|hex || 3015 || area hexgrid definition || text ||
| style="background-color: red;" | unsupported
|-
|-
|art || 3023 || area environment properties in ini format || ||
|art || 3023 || area environment properties || ini file ||  
| style="background-color: red;" | unsupported
|-
|-
|pla || 24007 || placeable definition in gff format || ||
|cwa || 3025 || crowd attributes || gff ||
| style="background-color: red;" | unsupported
|-
|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 56: Line 73:
! Type ID
! Type ID
! Type description/Usage
! Type description/Usage
! Format
! Documentation
! Documentation
! Status
! Status
|-
|-
|tga || 3 || targa image || ||
|bmp || 1 || bitmap image || binary || ||
|-
|tga || 3 || targa image || binary || ||
|-
|-
|mdl || 2002 || model file || ||
|mdl || 2002 || model definition || binary || ||
|-
|-
|mdx || 3008 || model definition || ||
|mdx || 3008 || model raw data || binary || ||
|-
|-
|txi || 2022|| texture information || ||
|txi || 2022|| texture information || text || ||
|-
|-
|txb || 3006 || texture data || ||
|txb || 3006 || texture data || binary || ||
|-
|-
|mat || 2069 || textual material definition || ||
|tpc || 3007 || texture data || binary || ||
|-
|-
|mab || 3011 || binary material definition || ||
|mat || 2069 || material definition || text || ||
|-
|mab || 3011 || material definition || binary || ||
|}
|}


Line 80: Line 102:
! Type ID
! Type ID
! Type description/Usage
! Type description/Usage
! Format
! Documentation
! Documentation
! Status
! Status
|-
|-
|nss || 2009 || source script || ||
|nss || 2009 || nwscript source script || text || || not used
|-
|-
|ncs || 2010 || compiled script || ||
|ncs || 2010 || compiled script || binary || ||
|-
|-
|ndb || 2064 || script debug info || ||
|ndb || 2064 || script debug info || binary || || not used
|-
|-
|trg || 24008 || trigger definition in gff format || ||
|trg || 2031 || trigger definition || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Trigger_Format.pdf Trigger_Format.pdf] ||
|}
|}


Line 98: Line 121:
! Type ID
! Type ID
! Type description/Usage
! Type description/Usage
! Format
! Documentation
! Documentation
! Status
! Status
|-
|-
|tlk || 2018 || string definitions || ||
|tlk || 2018 || string definitions || talk table || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/TalkTable_Format.pdf TalkTable_Format.pdf] ||
|-
|-
|dlg || 2029 || dialog definition in gff format || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Conversation_Format.pdf Conversation_Format.pdf] ||
|dlg || 2029 || dialog definition || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Conversation_Format.pdf Conversation_Format.pdf] ||
|-
|-
|qst || 2084 || quest definition in gff format || ||
|qst || 2084 || quest definition || gff ||
|-
|-
|bip || 3028 || binary lipsynch data || ||
|bip || 3028 || lipsynch data || binary || ||
|}
|}


Line 116: Line 140:
! Type ID
! Type ID
! Type description/Usage
! Type description/Usage
! Format
! Documentation
! Documentation
! Status
! Status
|-
|-
|gui || 2047 || dialog definition in gff format || ||
|gui || 2047 || dialog definition || gff || ||
|-
|-
|abc || 24003 || font definition || ||
|abc || 24003 || font definition || binary || ||
|-
|-
|sbm || 24004 || font bitmap || ||
|sbm || 24004 || font bitmap || binary || ||
|}
|}


Line 132: 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 file || ||
|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 150: Line 176:
! Type ID
! Type ID
! Type description/Usage
! Type description/Usage
! Format
! Documentation
! Documentation
! Status
! Status
|-
|-
|sav || 2057 || game save in erf format || ||
|ttc || 2073 || minigame resources || binary || ||
|-
|bik || 2063 || prerendered video || bink || ||
|-
|-
|bik || 2063 || prerendered bink movie || ||
|ogg || 2078 || prerendered audio || ogg/vorbis || ||
|-
|-
|ogg || 2078 || ogg encoded audio || ||
|sto || 3013 || store definition || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Store_Format.pdf Store_Format.pdf] ||
|-
|-
|sto || 3013 || store definition in gff format || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Store_Format.pdf Store_Format.pdf] ||
|amp || 3024 || brightening control || binary || ||
|-
|-
|cre || 24000 || creature definition in gff format || ||
|cre || 2026 || creature definition || gff || ||
|-
|-
|pso || 24001 || pixel shader object || ||
|pso || 24001 || pixel shader object || binary || ||
|-
|-
|vso || 24002 || vertex shader object || ||
|vso || 24002 || vertex shader object|| binary || ||
|}
|}


Line 178: Line 207:
|-
|-
|wma || 11 || wma file || ||
|wma || 11 || wma file || ||
|-
|ttc || 2073 || ttc file || ||
|-
|j01_town || 3015 || unknown ||  ||
|-
|-
|pvd || 24005 || pvd file || ||
|pvd || 24005 || pvd file || ||
|-
|amp || 24006 || amp file || ||
|-
|-
|pk || 24009 || pk file || ||
|pk || 24009 || pk file || ||
Line 192: Line 215:
== 2DA files ==
== 2DA files ==


=== Generic ===
=== 2DA lists ===
 
{| class="wikitable"
! Name
! Usage
! Status
|-
| 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
|}


=== Styles ===
=== Styles ===
{| class="wikitable"
! Name
! Usage
! Status
|-
| areaofeffect.2da || area effects || style="background-color: red;" | unsupported
|-
| spells.2da || spell effects || style="background-color: red;" | unsupported
|-
| styleadvance.2da || level up data || style="background-color: red;" | unsupported
|-
| stylecost.2da || transformation style costs || style="background-color: red;" | unsupported
|-
| styledata.2da || style 2da table references || style="background-color: red;" | unsupported
|-
| stylepoints.2da || style points per level || style="background-color: red;" | unsupported
|-
| stylesuperlist.2da || style numbers and models || style="background-color: red;" | unsupported
|-
| styletypes.2da || gui icons || style="background-color: red;" | unsupported
|-
| transformation.2da || tranformation style numbers || style="background-color: red;" | unsupported
|-
| *as.2da || style animation and sound table || style="background-color: red;" | unsupported
|-
| *cs.2da || style cutscene movement table || style="background-color: red;" | unsupported
|-
| *lv.2da || style level up table || style="background-color: red;" | unsupported
|-
| *mv.2da || style movement table || style="background-color: red;" | unsupported
|-
| centipede.2da || special centipede 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 ==
=== 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"
! 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.

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 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