User Tools

Site Tools


kirby64_the_crystal_shards:level_settings_blocks

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
kirby64_the_crystal_shards:level_settings_blocks [2020/09/15 11:21]
jesusyoshi54 [Triangle Groups]
kirby64_the_crystal_shards:level_settings_blocks [2021/04/09 18:18] (current)
someone2639 old revision restored (2020/09/15 11:30)
Line 112: Line 112:
 The normal groups are a binary space partition tree of the level normals and corresponding triangles associated with those normals. Each normal group represents a node in the tree, and has a right and left child based on whether the ensemble of triangles is in front or behind the parent node. The normal groups are a binary space partition tree of the level normals and corresponding triangles associated with those normals. Each normal group represents a node in the tree, and has a right and left child based on whether the ensemble of triangles is in front or behind the parent node.
  
-The first index of the normal group is (-1,​-2,​-3,​-4), ​the search through ​the tree starts at the last member ​in the array, ​indices of zero refer to leaf nodes.+If a triangle group intersects a normal, then the group is split and the normal is repeated in both the left and right children. If that group shares a condition such as being breakable, then the entire group is repeated ​in the left and right branches. 
 + 
 +Child indices of zero refer to leaf nodes, the tree start is defined in the collision header.
  
 <code c> <code c>
Line 136: Line 138:
 /​*0x0*/ ​ u16  Num_Dynamic_Geo_Group_Members;​ //Number of connected triangles /​*0x0*/ ​ u16  Num_Dynamic_Geo_Group_Members;​ //Number of connected triangles
 /​*0x2*/ ​ u16  Index_To_Dynamic_Geo_Group;​ //(0x30 in col header) /​*0x2*/ ​ u16  Index_To_Dynamic_Geo_Group;​ //(0x30 in col header)
-/​*0x4*/ ​ u16  ​Unk_Index; //Gets stored ​to unk struct+/​*0x4*/ ​ u16  ​Layout_Number; //Linked display geometry ​to also remove
 }; };
 </​code>​ </​code>​
Line 204: Line 206:
 /​*0x20*/ ​  ​u16 ​      ​(*Triangle_Norm_Cells)[][2];​ /​*0x20*/ ​  ​u16 ​      ​(*Triangle_Norm_Cells)[][2];​
 /​*0x24*/ ​  ​u32 ​      ​Len_Triangle_Norm_Cells;​ /​*0x24*/ ​  ​u32 ​      ​Len_Triangle_Norm_Cells;​
-/​*0x28*/ ​  ​u32 ​      Num_Floor_Norms; //Should be tri norm cells minus 1+/​*0x28*/ ​  ​u32 ​      Norm_Cell_BSP_Root; //Always last member
 /​*0x2C*/ ​  ​struct DynGeo_List ​    ​(*Destructable_Groups)[];​ /​*0x2C*/ ​  ​struct DynGeo_List ​    ​(*Destructable_Groups)[];​
 /​*0x30*/ ​  ​u16 ​      ​(*Destructable Indices)[]; /​*0x30*/ ​  ​u16 ​      ​(*Destructable Indices)[];
kirby64_the_crystal_shards/level_settings_blocks.1600168866.txt.gz · Last modified: 2020/09/15 11:21 by jesusyoshi54