Jade Empire/Research: Difference between revisions

From xoreos Wiki
Jump to navigation Jump to search
 
(18 intermediate revisions by one other user not shown)
Line 40: Line 40:
|-
|-
|sav || 2057 || objects descriptions in area || gff ||
|sav || 2057 || objects descriptions in area || gff ||
| style="background-color: red;" | unsupported
| style="background-color: yellow;" | partially loaded
|-
|-
|lyt || 3000 || area rooms layout || text ||  
|lyt || 3000 || area rooms layout || text ||  
Line 54: Line 54:
| style="background-color: red;" | unsupported
| style="background-color: red;" | unsupported
|-
|-
|pla || 24007 || placeable definition || gff || ||
|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 || ||
|pwk || 2053 || placeable walk mesh definition || text ||
| style="background-color: red;" | unsupported
|-
|-
|fsm || 3022 || placeable state data || gff || ||
|fsm || 3022 || placeable state data || gff ||
| style="background-color: yellow;" |
|}
|}


Line 106: Line 112:
|ndb || 2064 || script debug info || binary || || not used
|ndb || 2064 || script debug info || binary || || not used
|-
|-
|trg || 24008 || trigger definition || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Trigger_Format.pdf Trigger_Format.pdf] ||
|trg || 2031 || trigger definition || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Trigger_Format.pdf Trigger_Format.pdf] ||
|}
|}


Line 182: Line 188:
|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 || gff || [https://github.com/xoreos/xoreos-docs/raw/master/specs/bioware/Store_Format.pdf Store_Format.pdf] ||
|-
|-
|cre || 24000 || creature definition || gff || ||
|amp || 3024 || brightening control || binary || ||
|-
|cre || 2026 || creature definition || gff || ||
|-
|-
|pso || 24001 || pixel shader object || binary || ||
|pso || 24001 || pixel shader object || binary || ||
Line 201: Line 209:
|-
|-
|pvd || 24005 || pvd file || ||
|pvd || 24005 || pvd file || ||
|-
|amp || 24006 || amp file || ||
|-
|-
|pk || 24009 || pk file || ||
|pk || 24009 || pk file || ||
Line 272: 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"
! Use
! Line Token
! Type
! 1
! Size
! 2
! 3
! 4
! 5
! 6
! 7
! 8
! 9
! 10
! 11
|-
| Example || "al_nat_pool" || "1" || 1 || 1 || -2425 || -1 || -770 || 0 || 1 || 0 || 0
|-
|-
| Position || Float3 || 12
| 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
|-
|-
| Normal || Float3 || 12
| Example || 3D || 0 || 360 || 360 || 0 || 6.000000 || 27.000000 || 1.000000 || 7.000000 || 1.000000 || 0
|-
|-
| TexCoord || Float2 || 8
| 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
|-
|-
| Color || D3DColor || 4
| Example || "j08_cut_drag_e" || 0 || 0 || 0 || 0
|-
|-
| Tangent || Short4N || 8
| Description || sound cue name || 0, 1, 2, 3 or 4 play variation type || 0 or 1, boolean || always 0 || 0 or 1, boolean
|}
|}


(Order?)
==== 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