108 header.LodCount = lod_count;
122 for (i = 0; i < lod_count; i++)
129 lod_array[i].Allocate_Sub_Objects(sub_obj_count);
130 lod_array[i].header.ModelCount = sub_obj_count;
134 origin->GetUserPropFloat(
"MaxScreenSize", screen_size);
135 lod_array[i].header.MaxScreenSize = screen_size;
143 for (j = 0; j < sub_obj_count; j++)
148 if (!connections[i]->Get_Sub_Object_Data(j, &mesh_name, &bone_index, &mesh_node))
149 throw ErrorClass(
"Model %s is missing connection data!", name);
151 strcpy(sub_obj[j].Name, mesh_name);
169 for (i=0; i<agg_count; i++) {
177 strcpy(sub_obj.
Name, mesh_name);
194 for (i=0; i<proxy_count; i++) {
199 connections[lod_count-1]->
Get_Proxy_Data(i, &mesh_name, &bone_index, &mesh_node);
202 strcpy(sub_obj.
Name, mesh_name);
314 for (
int i = 0; i <
header.LodCount; i++)
@ W3D_CHUNK_HLOD_AGGREGATE_ARRAY
@ W3D_CHUNK_HLOD_PROXY_ARRAY
@ W3D_CHUNK_HLOD_LOD_ARRAY
@ W3D_CHUNK_HLOD_SUB_OBJECT
@ W3D_CHUNK_HLOD_SUB_OBJECT_ARRAY_HEADER
#define W3D_CURRENT_HLOD_VERSION
#define NO_MAX_SCREEN_SIZE
uint32 Write(const void *buf, uint32 nbytes)
bool Begin_Chunk(uint32 id)
static void printf(char *,...)
W3dHLodSubObjectStruct * sub_obj
W3dHLodArrayHeaderStruct header
bool Save(ChunkSaveClass &csave)
bool save_sub_object_array(ChunkSaveClass &csave, const HLodArrayEntry &array)
bool save_lod_arrays(ChunkSaveClass &csave)
W3dHLodHeaderStruct header
HLodArrayEntry * lod_array
bool save_header(ChunkSaveClass &csave)
HLodArrayEntry aggregate_array
bool save_aggregate_array(ChunkSaveClass &csave)
HLodArrayEntry proxy_array
bool save_proxy_array(ChunkSaveClass &csave)
HLodSaveClass(MeshConnectionsClass **connections, int lod_count, TimeValue CurTime, char *name, const char *htree_name, Progress_Meter_Class &meter, INodeListClass *origin_list)
INode * Get_Origin(void) const
bool Get_Proxy_Data(int index, char **out_name, int *out_boneindex, INode **out_inode=NULL)
int Get_Proxy_Count(void) const
bool Get_Aggregate_Data(int index, char **out_name, int *out_boneindex, INode **out_inode=NULL)
int Get_Aggregate_Count(void) const
int Get_Sub_Object_Count(void) const
char Name[W3D_NAME_LEN *2]
void Set_W3D_Name(char *set_name, const char *src)