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