dreamcast/x/x.h
2025-02-17 23:09:47 -06:00

110 lines
1.4 KiB
C

struct header {
int tag;
int major;
int minor;
int flags;
};
struct color_rgba {
float r;
float g;
float b;
float a;
};
struct color_rgb {
float r;
float g;
float b;
};
struct material {
int tag;
x_color_rgba facecolor;
float power;
x_color_rgb specularcolor;
x_color_rgb emissivecolor;
void * objects[];
};
struct frame {
int tag;
void * objects[];
};
struct frame_transform_matrix {
int tag;
mat4x4 framematrix;
};
struct mesh_face {
int nfacevertexindices;
int facevertexindices[];
};
struct mesh {
int nvertices;
vec3 * vertices;
int nfaces;
mesh_face * faces;
void * objects[];
};
struct mesh_material_list {
int n_materials;
int n_face_indices;
int * face_indices;
void * objects[];
};
struct mesh_normals {
int tag;
int n_normals;
vec3 * normals;
int n_face_normals;
mesh_face * face_normals;
};
struct mesh_texture_coords {
int tag;
int n_texture_coords;
vec2 texture_coords[];
};
struct texture_filename {
const char * filename;
};
struct float_keys {
int nvalues;
float values;
};
struct timed_float_keys {
int time;
float_keys tfkeys;
};
struct animation_key {
int tag;
int key_type;
int n_keys;
timed_float_keys keys[];
};
struct animation_options {
int tag;
int open_closed;
int position_quality;
};
struct animation {
int tag;
void * objects[];
};
struct animation_set {
int tag;
void * objects[];
}