281
edits
m (256, actually. The possibility to extend the IDXA's range by 4094 is anecdotal) |
m (...) |
||
| (One intermediate revision by one other user not shown) | |||
| Line 9: | Line 9: | ||
{{OBDtr| 0x00 | res_id |FF0000| 01 45 02 00 | 581 | 00581-.OTLF }} | {{OBDtr| 0x00 | res_id |FF0000| 01 45 02 00 | 581 | 00581-.OTLF }} | ||
{{OBDtr| 0x04 | lev_id |FFFF00| 01 00 00 06 | 3 | level 3 }} | {{OBDtr| 0x04 | lev_id |FFFF00| 01 00 00 06 | 3 | level 3 }} | ||
{{OBDtr| 0x08 | char[20] |00FF00| AD DE | dead | | {{OBDtr| 0x08 | char[20] |00FF00| AD DE | dead | padding }} | ||
{{OBDtr| 0x1C | | {{OBDtr| 0x1C | uint32 |00FFFF| 03 49 00 00 | 18691 | array size }} | ||
{{OBDtrBK}} | {{OBDtrBK}} | ||
{{OBDtr| 0x00 | | {{OBDtr| 0x00 | uint12-20 |FFC8C8| 00 00 00 00 | 0, 0 | bits 0-11 (12 bits) contain the number of gunk quads that intersect this leaf, bits 12-31 (20 bits) contain the index of the gunk quad list; see details below }} | ||
{{OBDtr| 0x04 | | {{OBDtr| 0x04 | uint32hb |FFFFC8| FF FF FF FF | -1 | negative x neighbour }} | ||
{{OBDtr| 0x08 | | {{OBDtr| 0x08 | uint32hb |C8FFC8| 01 00 00 80 | 1, high bit | positive x neighbour }} | ||
{{OBDtr| 0x0C | | {{OBDtr| 0x0C | uint32hb |C8FFFF| FF FF FF FF | -1 | negative y neighbour }} | ||
{{OBDtr| 0x10 | | {{OBDtr| 0x10 | uint32hb |FFC8FF| 02 00 00 80 | 2, high bit | positive y neighbour }} | ||
{{OBDtr| 0x14 | | {{OBDtr| 0x14 | uint32hb |FFC800| FF FF FF FF | -1 | negative z neighbour }} | ||
{{OBDtr| 0x18 | | {{OBDtr| 0x18 | uint32hb |C800C8| 04 00 00 80 | 4, high bit | positive z neighbour }} | ||
{{OBDtr| 0x1C | | {{OBDtr| 0x1C |uint9-9-9-5|C87C64| 7F FE FC 39 | 127, 127, 127, 7 | bits 0-8 (9 bits) contain the index of max x, bits 9-17 (9 bits) contain the index of max y, bits 18-26 (9 bits) contain the index of max z and bits 27-31 (5 bits) contain the index of the size of this leaf; see details below }} | ||
{{OBDtr| 0x20 | | {{OBDtr| 0x20 | uint8-24 |B0C3D4| 00 00 00 00 | 0, 0 | bits 0-7 (8 bits) intersected BNV count, bits 8-31 (24 bits) BNV list index; see details below }} | ||
|} | |} | ||
| Line 51: | Line 51: | ||
:*:The amount of other visible geometry (characters, particles etc) does not affect this limit. | :*:The amount of other visible geometry (characters, particles etc) does not affect this limit. | ||
:*only up to 262140 triangles (e.g., as 131070 quads) are allowed in a level's environment. Attempting to load a level with 262141 environment triangles (as any combination of triangles and quads) will cause Oni to [[Blam]]. | :*only up to 262140 triangles (e.g., as 131070 quads) are allowed in a level's environment. Attempting to load a level with 262141 environment triangles (as any combination of triangles and quads) will cause Oni to [[Blam]]. | ||
:*:(N.B. This has been identified as a bug that will be fixed in future versions, so that the theoretical maximum of 1,052,670 quads (2,105,340 triangles) can be reached: if you cut a level into "sections" ("rooms" or "scenes") where you can view no more than 8192 triangles at once, then basically you are allowed to have 256 such "sections" in a level. If you add an extra set of environment polygons for cel-shading or lightmapping, then the limit will be cut in 2 or | :*:(N.B. This has been identified as a bug that will be fixed in future versions, so that the theoretical maximum of 1,052,670 quads (2,105,340 triangles) can be reached: if you cut a level into "sections" ("rooms" or "scenes") where you can view no more than 8192 triangles at once, then basically you are allowed to have 256 such "sections" in a level. If you add an extra set of environment polygons for cel-shading and/or lightmapping, then the limit will be cut in 2 or 3.) | ||
edits