User Tools

Site Tools


banjo_tooie:model_data

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
banjo_tooie:model_data [2020/04/22 20:50]
pfedak label more model fields
banjo_tooie:model_data [2020/04/22 21:47]
pfedak Describe more model setup fields
Line 60: Line 60:
 ---- ----
  
 +==== Animation Setup ====
 +^ Offset from Setup Start ^Value/​Syntax ^Description ^
 +| 0x00000000 | [<color red>aa aa aa aa</​color>​] | Translation Scale (float) |
 +| 0x00000004 | [<color limegreen>​bb bb</​color>​ 00 00] | Bone Count|
 +^ Offset From Bone Start ^ ^ ^
 +| 0x00000000 | [<color red>xx xx xx xx</​color>​] | Bone X Translation (float) |
 +| 0x00000004 | [<color limegreen>​yy yy yy yy</​color>​] | Bone Y Translation (float) |
 +| 0x00000008 | [<color aqua>zz zz zz zz</​color>​] | Bone Z Translation (float) |
 +| 0x0000000C | [<color orange>​cc cc</​color>​ <color purple>​dd dd</​color>​] | <color orange>​cccc</​color>​=Bone ID, <color purple>​dddd</​color>​=Parent Index |
 +
 +----
 +
 +==== Effects Setup ====
 +^ Offset from Setup Start ^ Value/​Syntax ^ Description ^
 +| 0x00000000 | [<color red>aa aa</​color>​ | Effect Count |
 +| 0x0000002 | [<color limegreen>​bb bb</​color>​ <color aqua>cc cc</​color>​] | <color limegreen>​bbbb</​color>​=Effect ID, <color aqua>​cccc</​color>​=Effect Vertex Count|
 +| 0x0000006 | [<color orange>​dd dd</​color>​ <color purple>​ee ee</​color>​] | <color orange>​dddd</​color>,​ <color purple>​eeee</​color>​...=Effect Vertex Index List |
 +| ...|||
 +
 +Effect IDs are <​code>​100*Type + Param  (decimal)</​code>​ where Param is usually used to 
 +control the speed of the effect, and Type is taken from
 +^Type^DLL Name^Description^
 +| 0 |  | Code room letters |
 +| 1 | idscroll | Texture scrolling (along vertical axis) |
 +| 2 | idlight | Flickering vertex color, for fake lighting around flames |
 +| 3 | idwater | Oscillating texture scrolling |
 +| 4 | | |
 +| 5 | idglow | Vertex color regularly gets brighter and dimmer |
 +| 6 | | |
 +| 7 | idwave | Rippling water surface, amplitude controlled by bounding box of affected vertices |
 +| 8 | idglowa | Like glow, but only for vertex alpha |
 +| 9 | idflasha | |
 +| 10 | idflash | |
 +| 11 | | |
 +| 12 | idwibble | All wibbles use a spherical wave to change some vertex parameters (usually texture coordinate and color). This one is faster, with a smaller amplitudes|
 +| 13 | idwibble | Standard wibble |
 +| 14 | idwibble | Only wibble color |
 +| 15 | idwibble | Only wibble texture coordinates |
 +| 16 | idwibble | Also move up and down, like idwave |
 +| 17 | idbounce | Used for bouncy castle |
 +| 18 | idtwinkle | Used for mine crystals; occasionally choose a center vertex and briefly brighten the vertex colors on its neighbors with random delays|
 +| 19 | idflame | |
 +| 20 | idtwinklea | |
 +| 21 | idwibble | Fast wibble, with larger amplitudes|
 +| 22 | idtwinklecolour | |
 +----
 +
 +==== Vertex-Bone Mapping ====
 +^ Offset from Setup Start ^Value/​Syntax ^Description ^
 +| 0x00000000 | [<color red>aa aa</​color>​ <color limegreen>​bb bb</​color>​] | <color red>​aaaa</​color>​=Has Norms, <color limegreen>​bbbb</​color>​=Entry Count |
 +^ Offset From Entry Start ^ ^ ^
 +| 0x00000000 | [<color red>cc cc</​color>​ <color limegreen>​dd dd</​color>​ <color aqua>ee ee</​color>​] | <color red>​cccc</​color>​=Bone ID, <color limegreen>​dddd</​color>​=Offset Count, <color aqua>​eeee</​color>​=Normal Count |
 +| 0x00000006 | [<color red>xx xx</​color>​ <color limegreen>​yy yy</​color>​ <color aqua>zz zz</​color>​] | Vertex Offset from Bone |
 +| ... | | |
 +| 0x6 + 6*Offset Count | [<color red>​xx</​color>​ <color limegreen>​yy</​color>​ <color aqua>​zz</​color>​ 00] | Vertex Normal (in bone space) |
 +| ... | | |
 +| 0x6 + 6*Offsets + 4*Normals | [<color orange>​ee ee</​color>​ <color purple>​ff ff</​color>​] | <color orange>​eeee</​color>,​ <color purple>​ffff</​color>,​...=Vertex IDs |
 +
 +Each vertex is assumed to have its own normal, but some share positions. An id of -1 in the list indicates ​
 +that the following vertices should use the next position in the list, and an id of -2 indicates the end.
 +Thus there are (Normal Count) + (Offset Count) entries in the ID list, including the negative values.
 +
 +----
 +
 +==== Texture Animation Setup ====
 +Up to five entries corresponding to segments 0xF,​0xD,​0xE,​0xC,​0xB of the following form:
 +
 +^ Offset from Entry Start ^Value/​Syntax ^Description ^
 +| 0x00000000 | [<color red>aa aa</​color>​ <color limegreen>​bb bb</​color>​] | <color red>​aaaa</​color>​=Block Size, <color limegreen>​bbbb</​color>​=Block Count |
 +| 0x00000004 | [<color aqua>cc cc cc cc</​color>​] | Frames Per Second (float)|
 +
 +A block is contiguous memory holding texture data which gets loaded into the corresponding segment. ​
 +The chosen block advances at the specified framerate, looping back around to the beginning. ​
 +
 +----
banjo_tooie/model_data.txt ยท Last modified: 2024/02/29 04:24 by BanjoFreak64