More details for BrList
This commit is contained in:
		
							parent
							
								
									2f701c471b
								
							
						
					
					
						commit
						24b68df3b3
					
				| 
						 | 
					@ -12,23 +12,42 @@ struct BrList {
 | 
				
			||||||
    Br brushes[while($ < brlist_toc.offset + brlist_toc.size)];
 | 
					    Br brushes[while($ < brlist_toc.offset + brlist_toc.size)];
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Potentially rename fields depending on the media type?
 | 
					// There's one core struct here, but fields are used differently for non-terrain brushes
 | 
				
			||||||
 | 
					// Lights:
 | 
				
			||||||
 | 
					// - primal_id -> Object Handle (ID + 1?)
 | 
				
			||||||
 | 
					// - size -> (Brightness, Hue, Saturation)
 | 
				
			||||||
 | 
					// - num_faces -> Type (omni/spotlight) (Spotlight doesn't actually seem to be used by the engine)
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Areas:
 | 
				
			||||||
 | 
					// - texture_id -> Bitfield (Active = 1, MeOnly = 2) (these can both be true)
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Objects:
 | 
				
			||||||
 | 
					// - primal_id -> Object ID
 | 
				
			||||||
 | 
					// - num_faces -> This is always 255/-1, not sure what it means
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Flow:
 | 
				
			||||||
 | 
					// - texture_id -> Flow Group ID
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Rooms:
 | 
				
			||||||
 | 
					// - primal_id -> Concrete room ID (shared between all rooms using the same archetype)
 | 
				
			||||||
 | 
					// - texture_id -> Secondary room ID (unique to every room brush)
 | 
				
			||||||
struct Br {
 | 
					struct Br {
 | 
				
			||||||
    s16 br_id;
 | 
					    s16 brush_id;
 | 
				
			||||||
    s16 timestamp;
 | 
					    s16 timestamp;
 | 
				
			||||||
    BrType primal_id;
 | 
					    BrType primal_id;
 | 
				
			||||||
    s16 tx_id;
 | 
					    s16 texture_id;
 | 
				
			||||||
    BrMedia media;
 | 
					    BrMedia media;
 | 
				
			||||||
    s8 flags; // potential bitfield
 | 
					    s8 flags; // potential bitfield
 | 
				
			||||||
    Vec3<float> pos; // Brush center
 | 
					    Vec3<float> position; // Brush center
 | 
				
			||||||
    Vec3<float> sz; // Brush extents (dimensions)
 | 
					    Vec3<float> size; // Brush extents (dimensions)
 | 
				
			||||||
    Vec3<u16> ang;
 | 
					    Vec3<u16> angle;
 | 
				
			||||||
    s16 cur_face;
 | 
					    s16 current_face_index;
 | 
				
			||||||
    Grid grid;
 | 
					    Grid grid_settings;
 | 
				
			||||||
    u8 num_faces;
 | 
					    u8 num_faces;
 | 
				
			||||||
 | 
					    // The next 4 values are selection/multibrush related
 | 
				
			||||||
    s8 edge;
 | 
					    s8 edge;
 | 
				
			||||||
    s8 point;
 | 
					    s8 point;
 | 
				
			||||||
    s8 use_flg;
 | 
					    s8 use_flag;
 | 
				
			||||||
    s8 group_id;
 | 
					    s8 group_id;
 | 
				
			||||||
    padding[4];
 | 
					    padding[4];
 | 
				
			||||||
    // We have to do a double cast here because otherwise the s8 for non-terrain brushes is just wrong??
 | 
					    // We have to do a double cast here because otherwise the s8 for non-terrain brushes is just wrong??
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue