Files
mslicer/goo_format/goo.hexpat
2024-06-18 20:41:59 -04:00

105 lines
2.5 KiB
Plaintext

#pragma endian big
struct Header {
char version[0x04];
u8 magic[0x08];
char software_info[0x20];
char software_version[0x18];
char file_time[0x18];
char printer_name[0x20];
char printer_type[0x20];
char profile_name[0x20];
u16 anti_aliasing;
u16 grey_level;
u16 blur_level;
u8 small_preview[0x6920];
u8 delimiter_1[0x02];
u8 u8_array_at_0x69E4[0x29108];
u8 delimiter_2[0x02];
u32 total_layers;
u16 x_resolution;
u16 y_resolution;
bool x_mirror;
bool y_mirror;
float x_size;
float y_size;
float z_size;
float layer_thickness;
float common_exposure_time;
bool exposure_delay_mode;
float turn_off_time;
float bottom_before_list_time;
float bottom_after_list_time;
float bottom_after_retract_time;
float before_lift_time;
float after_lift_time;
float after_retract_time;
float bottom_exposure_time;
u32 bottom_layers;
float bottom_lift_distance;
float bottom_lift_speed;
float lift_distance;
float lift_speed;
float bottom_retract_distance;
float bottom_retract_speed;
float retract_distance;
float retract_speed;
float bottom_second_lift_distance;
float bottom_second_lift_speed;
float second_lift_distance;
float second_lift_speed;
float bottom_second_retract_distance;
float bottom_second_retract_speed;
float second_retract_distance;
float second_retract_speed;
u16 bottom_light_pwm;
u16 light_pwm;
bool advance_mode;
u32 printing_time;
float total_volume;
float total_weight;
float total_price;
char price_unit[0x08];
u32 offset_of_layer_content;
bool gray_scale_level;
u16 transition_layers;
};
struct ImageData {
u32 data_size;
u8 magic;
u8 data[data_size - 2];
u8 checksum;
u8 delimiter[0x02];
};
struct LayerContent {
u16 pause;
float pause_pos_z;
float layer_pos_z;
float layer_exposure_time;
float layer_off_time;
float before_lift_time;
float after_lift_time;
float after_retract_time;
float lift_distance;
float lift_speed;
float second_lift_distance;
float second_lift_speed;
float retract_distance;
float retract_speed;
float second_retract_distance;
float second_retract_speed;
u16 light_pwm;
u8 delimiter[0x02];
ImageData image;
};
struct File {
Header header;
LayerContent layers[header.total_layers];
u8 ending_string[0x0B];
};
File file @ 0x00;