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
Previous revision
banjo_tooie:model_data [2020/04/22 20:50]
pfedak label more model fields
banjo_tooie:model_data [2024/02/29 04:24]
BanjoFreak64 [Header]
Line 22: Line 22:
 | 0x00000038 | [<color aqua>ll ll ll ll</​color>​] | Vertex Normals | | 0x00000038 | [<color aqua>ll ll ll ll</​color>​] | Vertex Normals |
 | 0x00000044 | [<color red>nn nn</​color>​ <color limegreen>​oo oo</​color>​] | nnnn= Tri count, oooo= vert count | | 0x00000044 | [<color red>nn nn</​color>​ <color limegreen>​oo oo</​color>​] | nnnn= Tri count, oooo= vert count |
-''​*Geo Types: 0000=normal,​ 0002= Trilinear MipMapping (RGBA16), 0004=Env mapping''​+| 0x00000048 | [00 00 00 00] | ? | 
 +| 0x0000004C | [00 00 00 00] | ? | 
 +''​*Geo Types: 0000=normal,​ 0002= Trilinear MipMapping (RGBA16), 0004=Env mapping, 0010=?''​
  
 ---- ----
Line 60: Line 62:
 ---- ----
  
 +==== 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>​=Position Count, <color aqua>​eeee</​color>​=Normal Count |
 +| 0x00000006 | [<color red>xx xx</​color>​ <color limegreen>​yy yy</​color>​ <color aqua>zz zz</​color>​] | Vertex Position (in bone space) |
 +| ... | | |
 +| 0x6 + 6*Positions | [<color red>​xx</​color>​ <color limegreen>​yy</​color>​ <color aqua>​zz</​color>​ 00] | Vertex Normal (in bone space) |
 +| ... | | |
 +| 0x6 + 6*Positions + 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. The initial vertices are assigned the first position, then an ID of -1 in the list indicates ​
 +that the following vertices should use the next position in the list, and -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