~wahn/blend_info

f735b3a5120b20373519af1146e66d20b270adc0 — Jan Walter 3 months ago b0ea041
Fix get_id_name(...) and run a test for it.
2 files changed, 846 insertions(+), 10 deletions(-)

M src/bin/blend_info.rs
M src/lib.rs
M src/bin/blend_info.rs => src/bin/blend_info.rs +1 -1
@@ 102,7 102,7 @@ fn main() -> std::io::Result<()> {
                                            let some_float: f32 =
                                                unsafe { mem::transmute(float_buf) };
                                            mat_values[i * 4 + j] = some_float;
					    values_read += 1;
                                            values_read += 1;
                                        }
                                    }
                                    println!("{} = {:#?}", struct_name, mat_values);

M src/lib.rs => src/lib.rs +845 -9
@@ 188,7 188,7 @@ use std::fs::File;
use std::io::Read;
use std::mem;

#[derive(Debug)]
#[derive(Debug, Clone)]
pub struct DnaStrMember {
    pub mem_type: String,
    pub mem_name: String,


@@ 521,11 521,7 @@ pub fn get_id_name(
                        if bytes_read[byte_index + byte_index2 + i] == 0 {
                            break;
                        }
                        if (bytes_read[byte_index + byte_index2 + i] as char)
                            .is_ascii_alphanumeric()
                        {
                            id.push(bytes_read[byte_index + byte_index2 + i] as char);
                        }
                        id.push(bytes_read[byte_index + byte_index2 + i] as char);
                    }
                    // this will be returned
                    return_str = id;


@@ 1122,9 1118,849 @@ pub fn use_dna(

#[cfg(test)]
mod tests {
    use super::*;
    #[test]
    fn it_works() {
        let result = 2 + 2;
        assert_eq!(result, 4);
    fn get_id_name_test_01() {
        let member: DnaStrMember = DnaStrMember {
            mem_type: "ID".to_string(),
            mem_name: "id".to_string(),
        };
        let bytes_read = [
            8_u8, 19, 168, 78, 145, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 67, 65, 99, 117, 114, 114, 101, 110, 116, 95, 99, 97, 109, 0, 48,
            48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            1, 0, 0, 0, 0, 0, 0, 0, 136, 141, 162, 78, 145, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 36, 0, 0, 0, 0, 63, 205, 204, 204, 61, 0, 0, 200, 66, 132, 205, 3, 66, 0, 0, 192,
            64, 205, 204, 204, 61, 0, 0, 0, 66, 0, 0, 144, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 132, 205, 3,
            66, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 30, 133, 61, 153,
            153, 249, 63, 0, 0, 0, 0, 0, 0, 0, 0, 146, 10, 134, 63, 54, 141, 167, 63, 8, 20, 168,
            78, 145, 127, 0, 0, 8, 18, 168, 78, 145, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 67, 65, 100, 111, 111, 114, 49, 95, 99, 97, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
            0, 0, 200, 142, 162, 78, 145, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0,
            63, 205, 204, 204, 61, 0, 0, 200, 66, 132, 205, 3, 66, 0, 0, 192, 64, 205, 204, 204,
            61, 0, 0, 0, 66, 0, 0, 144, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 132, 205, 3, 66, 0, 0, 0, 66, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 30, 133, 61, 153, 153, 249, 63, 0, 0,
            0, 0, 0, 0, 0, 0, 146, 10, 134, 63, 54, 141, 167, 63, 8, 21, 168, 78, 145, 127, 0, 0,
            8, 19, 168, 78, 145, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65,
            100, 111, 111, 114, 50, 121, 95, 99, 97, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 224, 163,
            78, 145, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 63, 205, 204, 204,
            61, 0, 0, 200, 66, 132, 205, 3, 66, 0, 0, 192, 64, 205, 204, 204, 61, 0, 0, 0, 66, 0,
            0, 144, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 132, 205, 3, 66, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 184, 30, 133, 61, 153, 153, 249, 63, 0, 0, 0, 0, 0, 0, 0, 0,
            146, 10, 134, 63, 54, 141, 167, 63, 8, 22, 168, 78, 145, 127, 0, 0, 8, 20, 168, 78,
            145, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 115, 104, 97,
            102, 116, 95, 99, 97, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 72, 225, 163, 78, 145, 127,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 63, 205, 204, 204, 61, 0, 0, 200,
            66, 150, 252, 234, 65, 0, 0, 192, 64, 205, 204, 204, 61, 0, 0, 0, 66, 0, 0, 144, 65, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 67, 150, 252, 234, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 184, 30, 133, 61, 153, 153, 249, 63, 0, 0, 0, 0, 0, 0, 0, 0, 146, 10, 134,
            63, 54, 141, 167, 63, 0, 0, 0, 0, 0, 0, 0, 0, 8, 21, 168, 78, 145, 127, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 120, 89, 95, 99, 97, 109, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 1, 0, 0, 0, 0, 0, 0, 0, 136, 226, 163, 78, 145, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 36, 0, 0, 0, 0, 63, 205, 204, 204, 61, 0, 0, 200, 66, 132, 205, 3, 66, 0, 0, 192,
            64, 205, 204, 204, 61, 0, 0, 0, 66, 0, 0, 144, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 132, 205, 3,
            66, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 30, 133, 61, 153,
            153, 249, 63, 0, 0, 0, 0, 0, 0, 0, 0, 146, 10, 134, 63, 54, 141, 167, 63,
        ];
        let dna_str_c: DnaStrC = DnaStrC {
            sdna_nr: 10,
            members: [
                DnaStrMember {
                    mem_type: "void".to_string(),
                    mem_name: "*next".to_string(),
                },
                DnaStrMember {
                    mem_type: "void".to_string(),
                    mem_name: "*prev".to_string(),
                },
                DnaStrMember {
                    mem_type: "ID".to_string(),
                    mem_name: "*newid".to_string(),
                },
                DnaStrMember {
                    mem_type: "Library".to_string(),
                    mem_name: "*lib".to_string(),
                },
                DnaStrMember {
                    mem_type: "char".to_string(),
                    mem_name: "name[66]".to_string(),
                },
                DnaStrMember {
                    mem_type: "short".to_string(),
                    mem_name: "flag".to_string(),
                },
                DnaStrMember {
                    mem_type: "short".to_string(),
                    mem_name: "tag".to_string(),
                },
                DnaStrMember {
                    mem_type: "short".to_string(),
                    mem_name: "pad_s1".to_string(),
                },
                DnaStrMember {
                    mem_type: "int".to_string(),
                    mem_name: "us".to_string(),
                },
                DnaStrMember {
                    mem_type: "int".to_string(),
                    mem_name: "icon_id".to_string(),
                },
                DnaStrMember {
                    mem_type: "IDProperty".to_string(),
                    mem_name: "*properties".to_string(),
                },
            ]
            .to_vec(),
        };
        let byte_index: usize = 0;
        let mut dna_structs_hm: HashMap<String, DnaStrC> = HashMap::new();
        dna_structs_hm.insert("ID".to_string(), dna_str_c);
        let mut dna_types_hm: HashMap<String, u16> = HashMap::new();
        dna_types_hm.insert("LinkNode".to_string(), 0);
        dna_types_hm.insert("MLoopUV".to_string(), 12);
        dna_types_hm.insert("SpaceIpo".to_string(), 264);
        dna_types_hm.insert("NodeKeyingData".to_string(), 48);
        dna_types_hm.insert("Script".to_string(), 1448);
        dna_types_hm.insert("NodeBlurData".to_string(), 40);
        dna_types_hm.insert("WhiteBalanceModifierData".to_string(), 128);
        dna_types_hm.insert("RigidBodyCon".to_string(), 152);
        dna_types_hm.insert("FileSelectParams".to_string(), 2324);
        dna_types_hm.insert("Nurb".to_string(), 88);
        dna_types_hm.insert("bNodeTreeType".to_string(), 0);
        dna_types_hm.insert("MultiresCol".to_string(), 16);
        dna_types_hm.insert("WaveEff".to_string(), 64);
        dna_types_hm.insert("NodeScriptDict".to_string(), 16);
        dna_types_hm.insert("TexNodeOutput".to_string(), 64);
        dna_types_hm.insert("BoidState".to_string(), 128);
        dna_types_hm.insert("PanelCategoryStack".to_string(), 80);
        dna_types_hm.insert("MetaStack".to_string(), 40);
        dna_types_hm.insert("NodeDilateErode".to_string(), 8);
        dna_types_hm.insert("NodeTexBase".to_string(), 968);
        dna_types_hm.insert("wmTimer".to_string(), 0);
        dna_types_hm.insert("MeshDeformModifierData".to_string(), 360);
        dna_types_hm.insert("ColorManagedDisplaySettings".to_string(), 64);
        dna_types_hm.insert("LineStyleGeometryModifier_TipRemover".to_string(), 104);
        dna_types_hm.insert("ScrewModifierData".to_string(), 152);
        dna_types_hm.insert("AudioData".to_string(), 32);
        dna_types_hm.insert("bNearSensor".to_string(), 80);
        dna_types_hm.insert("MovieTrackingSettings".to_string(), 72);
        dna_types_hm.insert("BVHTree".to_string(), 0);
        dna_types_hm.insert("PackedFile".to_string(), 16);
        dna_types_hm.insert("RenderResult".to_string(), 0);
        dna_types_hm.insert("GPUSSAOSettings".to_string(), 32);
        dna_types_hm.insert("vec2s".to_string(), 4);
        dna_types_hm.insert("ExplodeModifierData".to_string(), 192);
        dna_types_hm.insert("MStringProperty".to_string(), 256);
        dna_types_hm.insert("QuicktimeCodecData".to_string(), 152);
        dna_types_hm.insert("bRotateLikeConstraint".to_string(), 80);
        dna_types_hm.insert("rctf".to_string(), 16);
        dna_types_hm.insert("NodeDefocus".to_string(), 32);
        dna_types_hm.insert("bPropertySensor".to_string(), 200);
        dna_types_hm.insert("BulletSoftBody".to_string(), 120);
        dna_types_hm.insert("FreestyleEdge".to_string(), 4);
        dna_types_hm.insert("bKinematicConstraint".to_string(), 184);
        dna_types_hm.insert("CurveMapPoint".to_string(), 12);
        dna_types_hm.insert("bPose".to_string(), 216);
        dna_types_hm.insert("NodeSunBeams".to_string(), 12);
        dna_types_hm.insert("bNode".to_string(), 472);
        dna_types_hm.insert("ParticleDupliWeight".to_string(), 32);
        dna_types_hm.insert("bSplineIKConstraint".to_string(), 40);
        dna_types_hm.insert("ReportList".to_string(), 40);
        dna_types_hm.insert("bTwoDFilterActuator".to_string(), 24);
        dna_types_hm.insert("bGPDtriangle".to_string(), 12);
        dna_types_hm.insert("LineStyleThicknessModifier_Curvature_3D".to_string(), 128);
        dna_types_hm.insert("NodeChroma".to_string(), 44);
        dna_types_hm.insert("PaintCurvePoint".to_string(), 76);
        dna_types_hm.insert("NodeTexGradient".to_string(), 976);
        dna_types_hm.insert("FModifier".to_string(), 112);
        dna_types_hm.insert("LineStyleGeometryModifier_2DOffset".to_string(), 112);
        dna_types_hm.insert("bActionActuator".to_string(), 168);
        dna_types_hm.insert("TransformOrientation".to_string(), 120);
        dna_types_hm.insert("TexMapping".to_string(), 144);
        dna_types_hm.insert("bNodeInstanceHash".to_string(), 0);
        dna_types_hm.insert("WaveModifierData".to_string(), 320);
        dna_types_hm.insert("VFontData".to_string(), 0);
        dna_types_hm.insert("ShrinkwrapModifierData".to_string(), 208);
        dna_types_hm.insert("void".to_string(), 0);
        dna_types_hm.insert("SpaceNode".to_string(), 408);
        dna_types_hm.insert("VoxelData".to_string(), 1088);
        dna_types_hm.insert("GP_EditBrush_Data".to_string(), 8);
        dna_types_hm.insert("Ipo".to_string(), 160);
        dna_types_hm.insert("PhysicsSettings".to_string(), 24);
        dna_types_hm.insert("FluidsimModifierData".to_string(), 128);
        dna_types_hm.insert("FreestyleFace".to_string(), 4);
        dna_types_hm.insert("bExpressionCont".to_string(), 128);
        dna_types_hm.insert("bActuator".to_string(), 112);
        dna_types_hm.insert("bGroupActuator".to_string(), 88);
        dna_types_hm.insert("bCameraActuator".to_string(), 32);
        dna_types_hm.insert("bTransformCacheConstraint".to_string(), 1040);
        dna_types_hm.insert("NodeBoxMask".to_string(), 24);
        dna_types_hm.insert("bGPDpalette".to_string(), 104);
        dna_types_hm.insert("SpaceConsole".to_string(), 392);
        dna_types_hm.insert("vec3f".to_string(), 12);
        dna_types_hm.insert("Particle".to_string(), 0);
        dna_types_hm.insert("int64_t".to_string(), 8);
        dna_types_hm.insert("bDopeSheet".to_string(), 112);
        dna_types_hm.insert("FMod_Python".to_string(), 16);
        dna_types_hm.insert("AnimMapper".to_string(), 40);
        dna_types_hm.insert("PaintSurfaceData".to_string(), 0);
        dna_types_hm.insert("LineStyleThicknessModifier_Noise".to_string(), 112);
        dna_types_hm.insert("uiListDyn".to_string(), 0);
        dna_types_hm.insert("LineStyleColorModifier_Noise".to_string(), 120);
        dna_types_hm.insert("BoundBox".to_string(), 104);
        dna_types_hm.insert("MovieTrackingDopesheet".to_string(), 48);
        dna_types_hm.insert("ChannelDriver".to_string(), 296);
        dna_types_hm.insert("NodeShaderTangent".to_string(), 72);
        dna_types_hm.insert("CacheFile".to_string(), 1200);
        dna_types_hm.insert("ushort".to_string(), 2);
        dna_types_hm.insert("CollisionModifierData".to_string(), 200);
        dna_types_hm.insert("ThemeWireColor".to_string(), 16);
        dna_types_hm.insert("BodyPoint".to_string(), 0);
        dna_types_hm.insert("wmKeyConfig".to_string(), 168);
        dna_types_hm.insert("MappingInfoModifierData".to_string(), 200);
        dna_types_hm.insert("TriangulateModifierData".to_string(), 128);
        dna_types_hm.insert("Mesh".to_string(), 1416);
        dna_types_hm.insert("ScrEdge".to_string(), 40);
        dna_types_hm.insert("DynamicPaintBrushSettings".to_string(), 112);
        dna_types_hm.insert("SequencerTonemapModifierData".to_string(), 144);
        dna_types_hm.insert("uiList".to_string(), 200);
        dna_types_hm.insert("Library".to_string(), 2200);
        dna_types_hm.insert("bLocateLikeConstraint".to_string(), 80);
        dna_types_hm.insert("StructRNA".to_string(), 0);
        dna_types_hm.insert("NodeTonemap".to_string(), 32);
        dna_types_hm.insert("StripTransform".to_string(), 8);
        dna_types_hm.insert("PaintCurve".to_string(), 136);
        dna_types_hm.insert("wmWindowManager".to_string(), 352);
        dna_types_hm.insert("LineStyleAlphaModifier_AlongStroke".to_string(), 112);
        dna_types_hm.insert("EnvMap".to_string(), 200);
        dna_types_hm.insert("MultiresEdge".to_string(), 12);
        dna_types_hm.insert("SequencerMaskModifierData".to_string(), 112);
        dna_types_hm.insert("View3D".to_string(), 424);
        dna_types_hm.insert("Sound3D".to_string(), 32);
        dna_types_hm.insert("bParentActuator".to_string(), 16);
        dna_types_hm.insert("MeshCacheModifierData".to_string(), 1176);
        dna_types_hm.insert("bTransLikeConstraint".to_string(), 72);
        dna_types_hm.insert("NodeTexWave".to_string(), 976);
        dna_types_hm.insert("GPUDOFSettings".to_string(), 24);
        dna_types_hm.insert("Multires".to_string(), 464);
        dna_types_hm.insert("uiWidgetColors".to_string(), 32);
        dna_types_hm.insert("LineStyleAlphaModifier_DistanceFromCamera".to_string(), 120);
        dna_types_hm.insert("char".to_string(), 1);
        dna_types_hm.insert("Stereo3dFormat".to_string(), 8);
        dna_types_hm.insert("MVertSkin".to_string(), 16);
        dna_types_hm.insert("wmOperatorType".to_string(), 0);
        dna_types_hm.insert("MultiresModifierData".to_string(), 120);
        dna_types_hm.insert("LaplacianDeformModifierData".to_string(), 208);
        dna_types_hm.insert("IDPropertyData".to_string(), 32);
        dna_types_hm.insert("SceneRenderLayer".to_string(), 192);
        dna_types_hm.insert("LineStyleGeometryModifier_BezierCurve".to_string(), 104);
        dna_types_hm.insert("BrushClone".to_string(), 24);
        dna_types_hm.insert(
            "LineStyleThicknessModifier_DistanceFromObject".to_string(),
            136,
        );
        dna_types_hm.insert("PreviewImage".to_string(), 64);
        dna_types_hm.insert("bMotionPath".to_string(), 40);
        dna_types_hm.insert("TreeStoreElem".to_string(), 16);
        dna_types_hm.insert("Scene".to_string(), 5472);
        dna_types_hm.insert("SBScratch".to_string(), 0);
        dna_types_hm.insert("ImageFormatData".to_string(), 256);
        dna_types_hm.insert("PanelType".to_string(), 0);
        dna_types_hm.insert("StripAnim".to_string(), 24);
        dna_types_hm.insert("bActionChannel".to_string(), 120);
        dna_types_hm.insert("bShrinkwrapConstraint".to_string(), 24);
        dna_types_hm.insert("NodeShaderNormalMap".to_string(), 68);
        dna_types_hm.insert("MCol".to_string(), 4);
        dna_types_hm.insert("FPoint".to_string(), 16);
        dna_types_hm.insert("NodeInsertOfsData".to_string(), 0);
        dna_types_hm.insert("bRaySensor".to_string(), 204);
        dna_types_hm.insert("NodeEllipseMask".to_string(), 24);
        dna_types_hm.insert("PartEff".to_string(), 392);
        dna_types_hm.insert("Ocean".to_string(), 0);
        dna_types_hm.insert("SpaceUserPref".to_string(), 104);
        dna_types_hm.insert("OceanCache".to_string(), 0);
        dna_types_hm.insert("FreestyleModuleConfig".to_string(), 32);
        dna_types_hm.insert("bLockTrackConstraint".to_string(), 80);
        dna_types_hm.insert("GPUFXSettings".to_string(), 24);
        dna_types_hm.insert("BevelModifierData".to_string(), 208);
        dna_types_hm.insert("bAddon".to_string(), 88);
        dna_types_hm.insert("MovieReconstructedCamera".to_string(), 72);
        dna_types_hm.insert("GP_Interpolate_Settings".to_string(), 24);
        dna_types_hm.insert("NodeShaderUVMap".to_string(), 64);
        dna_types_hm.insert("bGPDstroke".to_string(), 320);
        dna_types_hm.insert(
            "LineStyleGeometryModifier_Polygonalization".to_string(),
            104,
        );
        dna_types_hm.insert("FreestyleLineStyle".to_string(), 464);
        dna_types_hm.insert("StripProxy".to_string(), 1048);
        dna_types_hm.insert("bMessageActuator".to_string(), 208);
        dna_types_hm.insert("LineStyleColorModifier_Material".to_string(), 112);
        dna_types_hm.insert("ColorCorrectionData".to_string(), 24);
        dna_types_hm.insert("bSteeringActuator".to_string(), 48);
        dna_types_hm.insert("ClothModifierData".to_string(), 224);
        dna_types_hm.insert("uiFontStyle".to_string(), 32);
        dna_types_hm.insert("bNodeSocketValueString".to_string(), 1032);
        dna_types_hm.insert("bConstraintTarget".to_string(), 160);
        dna_types_hm.insert("SceneStats".to_string(), 0);
        dna_types_hm.insert("BuildEff".to_string(), 32);
        dna_types_hm.insert("NodeTranslateData".to_string(), 8);
        dna_types_hm.insert("bNodeTree".to_string(), 440);
        dna_types_hm.insert("MLoop".to_string(), 8);
        dna_types_hm.insert("NodeBokehImage".to_string(), 20);
        dna_types_hm.insert("PaletteColor".to_string(), 32);
        dna_types_hm.insert("FCM_EnvelopeData".to_string(), 16);
        dna_types_hm.insert("DriverVar".to_string(), 792);
        dna_types_hm.insert("BoidRule".to_string(), 56);
        dna_types_hm.insert("MovieTrackingTrack".to_string(), 208);
        dna_types_hm.insert("Curve".to_string(), 528);
        dna_types_hm.insert("GHash".to_string(), 0);
        dna_types_hm.insert("SpaceImage".to_string(), 10584);
        dna_types_hm.insert("AnimOverride".to_string(), 32);
        dna_types_hm.insert("CastModifierData".to_string(), 200);
        dna_types_hm.insert("WarpModifierData".to_string(), 304);
        dna_types_hm.insert("bKeyboardSensor".to_string(), 136);
        dna_types_hm.insert("wmGesture".to_string(), 0);
        dna_types_hm.insert("NodeTwoFloats".to_string(), 8);
        dna_types_hm.insert("ParticleSettings".to_string(), 856);
        dna_types_hm.insert("WeightVGEditModifierData".to_string(), 360);
        dna_types_hm.insert("NodeTexChecker".to_string(), 968);
        dna_types_hm.insert("LineStyleThicknessModifier_Tangent".to_string(), 120);
        dna_types_hm.insert("bPythonConstraint".to_string(), 112);
        dna_types_hm.insert("bTheme".to_string(), 14208);
        dna_types_hm.insert("FluidsimSettings".to_string(), 1240);
        dna_types_hm.insert("bObjectSolverConstraint".to_string(), 152);
        dna_types_hm.insert("SpaceButs".to_string(), 272);
        dna_types_hm.insert("FluidVertexVelocity".to_string(), 12);
        dna_types_hm.insert("ListBase".to_string(), 16);
        dna_types_hm.insert("RenderSlot".to_string(), 64);
        dna_types_hm.insert("ClothSolverResult".to_string(), 0);
        dna_types_hm.insert("LaplacianSmoothModifierData".to_string(), 192);
        dna_types_hm.insert("bStats".to_string(), 32);
        dna_types_hm.insert("bActionModifier".to_string(), 72);
        dna_types_hm.insert("NodeShaderScript".to_string(), 1104);
        dna_types_hm.insert("rcti".to_string(), 16);
        dna_types_hm.insert("SolidLight".to_string(), 56);
        dna_types_hm.insert("MovieClipCache".to_string(), 0);
        dna_types_hm.insert("vec2f".to_string(), 8);
        dna_types_hm.insert("uiListType".to_string(), 0);
        dna_types_hm.insert("Paint".to_string(), 64);
        dna_types_hm.insert("BMEditMesh".to_string(), 0);
        dna_types_hm.insert("PointCache".to_string(), 1320);
        dna_types_hm.insert("GridPaintMask".to_string(), 16);
        dna_types_hm.insert("Panel".to_string(), 272);
        dna_types_hm.insert("ChildParticle".to_string(), 64);
        dna_types_hm.insert("ParticleSystem".to_string(), 656);
        dna_types_hm.insert("bMinMaxConstraint".to_string(), 104);
        dna_types_hm.insert("LineStyleAlphaModifier_DistanceFromObject".to_string(), 128);
        dna_types_hm.insert("bSameVolumeConstraint".to_string(), 8);
        dna_types_hm.insert("NodeShaderVectTransform".to_string(), 16);
        dna_types_hm.insert("QuicktimeCodecSettings".to_string(), 64);
        dna_types_hm.insert("bDampTrackConstraint".to_string(), 80);
        dna_types_hm.insert("bGPDbrush".to_string(), 144);
        dna_types_hm.insert("HueCorrectModifierData".to_string(), 496);
        dna_types_hm.insert("PointDensity".to_string(), 168);
        dna_types_hm.insert("TexPaintSlot".to_string(), 24);
        dna_types_hm.insert("Material".to_string(), 1528);
        dna_types_hm.insert("BodySpring".to_string(), 0);
        dna_types_hm.insert("ViewDepths".to_string(), 0);
        dna_types_hm.insert("Lamp".to_string(), 536);
        dna_types_hm.insert("FileDirEntry".to_string(), 128);
        dna_types_hm.insert("bActionStrip".to_string(), 168);
        dna_types_hm.insert("PTCacheEdit".to_string(), 0);
        dna_types_hm.insert("MovieTrackingMarker".to_string(), 64);
        dna_types_hm.insert("ParticleDrawData".to_string(), 0);
        dna_types_hm.insert("LineStyleColorModifier_Curvature_3D".to_string(), 120);
        dna_types_hm.insert("LineStyleGeometryModifier_Blueprint".to_string(), 120);
        dna_types_hm.insert("AnimMapPair".to_string(), 256);
        dna_types_hm.insert("HookModifierData".to_string(), 360);
        dna_types_hm.insert("FLUID_3D".to_string(), 0);
        dna_types_hm.insert("uiBlock".to_string(), 0);
        dna_types_hm.insert("MaskParent".to_string(), 184);
        dna_types_hm.insert("ulong".to_string(), 4);
        dna_types_hm.insert("FreestyleConfig".to_string(), 56);
        dna_types_hm.insert("ARegion".to_string(), 384);
        dna_types_hm.insert("bSceneActuator".to_string(), 24);
        dna_types_hm.insert("NodeTexVoronoi".to_string(), 976);
        dna_types_hm.insert("LineStyleAlphaModifier_Material".to_string(), 112);
        dna_types_hm.insert("LineStyleThicknessModifier_Material".to_string(), 120);
        dna_types_hm.insert("anim".to_string(), 0);
        dna_types_hm.insert("BVHTreeFromMesh".to_string(), 0);
        dna_types_hm.insert("BGpic".to_string(), 112);
        dna_types_hm.insert("RegionView3D".to_string(), 904);
        dna_types_hm.insert("MVert".to_string(), 20);
        dna_types_hm.insert("Bone".to_string(), 360);
        dna_types_hm.insert("Key".to_string(), 224);
        dna_types_hm.insert("bActionConstraint".to_string(), 104);
        dna_types_hm.insert("wmSubWindow".to_string(), 0);
        dna_types_hm.insert("ParticleKey".to_string(), 56);
        dna_types_hm.insert("NodeShaderAttribute".to_string(), 64);
        dna_types_hm.insert("ClothHairData".to_string(), 0);
        dna_types_hm.insert("bTouchSensor".to_string(), 80);
        dna_types_hm.insert("FFMpegCodecData".to_string(), 88);
        dna_types_hm.insert("bNodeStack".to_string(), 48);
        dna_types_hm.insert("MovieClipUser".to_string(), 8);
        dna_types_hm.insert("SpeedControlVars".to_string(), 24);
        dna_types_hm.insert("MovieClipScopes".to_string(), 136);
        dna_types_hm.insert("LineStyleThicknessModifier_AlongStroke".to_string(), 120);
        dna_types_hm.insert("PTCacheMem".to_string(), 176);
        dna_types_hm.insert("bMouseActuator".to_string(), 44);
        dna_types_hm.insert("MDisps".to_string(), 24);
        dna_types_hm.insert("Depsgraph".to_string(), 0);
        dna_types_hm.insert("SDefBind".to_string(), 32);
        dna_types_hm.insert("TextVars".to_string(), 568);
        dna_types_hm.insert("MultiresFace".to_string(), 24);
        dna_types_hm.insert("BuildModifierData".to_string(), 128);
        dna_types_hm.insert("ColorManagedViewSettings".to_string(), 160);
        dna_types_hm.insert("LatticeDeformData".to_string(), 0);
        dna_types_hm.insert("SceneRenderView".to_string(), 160);
        dna_types_hm.insert("SpaceLogic".to_string(), 72);
        dna_types_hm.insert("bIpoActuator".to_string(), 148);
        dna_types_hm.insert("int".to_string(), 4);
        dna_types_hm.insert("Effect".to_string(), 24);
        dna_types_hm.insert("SoftbodyModifierData".to_string(), 112);
        dna_types_hm.insert("SimpleDeformModifierData".to_string(), 200);
        dna_types_hm.insert("Lattice".to_string(), 280);
        dna_types_hm.insert("TimeMarker".to_string(), 96);
        dna_types_hm.insert("SpaceLink".to_string(), 56);
        dna_types_hm.insert("SpaceScript".to_string(), 64);
        dna_types_hm.insert("SpaceType".to_string(), 0);
        dna_types_hm.insert("SolidColorVars".to_string(), 16);
        dna_types_hm.insert("bRigidBodyJointConstraint".to_string(), 104);
        dna_types_hm.insert("NodeImageFile".to_string(), 1288);
        dna_types_hm.insert("Scopes".to_string(), 5264);
        dna_types_hm.insert("bEditObjectActuator".to_string(), 128);
        dna_types_hm.insert("SpaceTime".to_string(), 224);
        dna_types_hm.insert("MeshSeqCacheModifierData".to_string(), 1160);
        dna_types_hm.insert("FSMenuEntry".to_string(), 280);
        dna_types_hm.insert("NodeKeyingScreenData".to_string(), 64);
        dna_types_hm.insert("SpaceClip".to_string(), 408);
        dna_types_hm.insert("ImagePackedFile".to_string(), 1048);
        dna_types_hm.insert("KS_Path".to_string(), 112);
        dna_types_hm.insert("BoidRuleAverageSpeed".to_string(), 72);
        dna_types_hm.insert("AssetUUIDList".to_string(), 16);
        dna_types_hm.insert("NodeTexSky".to_string(), 992);
        dna_types_hm.insert("MovieTrackingPlaneTrack".to_string(), 128);
        dna_types_hm.insert("ParticleInstanceModifierData".to_string(), 136);
        dna_types_hm.insert("MaskSpline".to_string(), 224);
        dna_types_hm.insert("SkinModifierData".to_string(), 120);
        dna_types_hm.insert("LineStyleColorModifier_DistanceFromCamera".to_string(), 112);
        dna_types_hm.insert("DecimateModifierData".to_string(), 200);
        dna_types_hm.insert("FMod_Noise".to_string(), 20);
        dna_types_hm.insert("MTFace".to_string(), 48);
        dna_types_hm.insert("DataTransferModifierData".to_string(), 264);
        dna_types_hm.insert("MaskSpaceInfo".to_string(), 16);
        dna_types_hm.insert("LinkData".to_string(), 24);
        dna_types_hm.insert("bConstraintActuator".to_string(), 128);
        dna_types_hm.insert("uchar".to_string(), 1);
        dna_types_hm.insert("bConstraintChannel".to_string(), 56);
        dna_types_hm.insert("bDelaySensor".to_string(), 8);
        dna_types_hm.insert("CurveMapping".to_string(), 384);
        dna_types_hm.insert("wmKeyMapDiffItem".to_string(), 32);
        dna_types_hm.insert("FileDirEntryVariant".to_string(), 72);
        dna_types_hm.insert("NodeImageLayer".to_string(), 68);
        dna_types_hm.insert(
            "LineStyleThicknessModifier_DistanceFromCamera".to_string(),
            128,
        );
        dna_types_hm.insert("ModifierData".to_string(), 112);
        dna_types_hm.insert("ColorManagedColorspaceSettings".to_string(), 64);
        dna_types_hm.insert("bSizeLimitConstraint".to_string(), 28);
        dna_types_hm.insert("bNodeSocketValueVector".to_string(), 24);
        dna_types_hm.insert("bGameActuator".to_string(), 140);
        dna_types_hm.insert("ClothSimSettings".to_string(), 192);
        dna_types_hm.insert("MovieTrackingStabilization".to_string(), 72);
        dna_types_hm.insert("bNodeInstanceHashEntry".to_string(), 8);
        dna_types_hm.insert("CurvePaintSettings".to_string(), 32);
        dna_types_hm.insert("NodeTexBrick".to_string(), 984);
        dna_types_hm.insert("MaskSplinePoint".to_string(), 272);
        dna_types_hm.insert("GroupObject".to_string(), 40);
        dna_types_hm.insert("Camera".to_string(), 248);
        dna_types_hm.insert("SolidifyModifierData".to_string(), 216);
        dna_types_hm.insert("SoftBody".to_string(), 480);
        dna_types_hm.insert("ParticleSystemModifierData".to_string(), 152);
        dna_types_hm.insert("bSensor".to_string(), 128);
        dna_types_hm.insert("NodeMask".to_string(), 8);
        dna_types_hm.insert("LineStyleColorModifier_DistanceFromObject".to_string(), 120);
        dna_types_hm.insert("NodePlaneTrackDeformData".to_string(), 136);
        dna_types_hm.insert("Link".to_string(), 16);
        dna_types_hm.insert("PointerRNA".to_string(), 0);
        dna_types_hm.insert("UVWarpModifierData".to_string(), 400);
        dna_types_hm.insert("SurfaceDeformModifierData".to_string(), 208);
        dna_types_hm.insert("SpaceOops".to_string(), 336);
        dna_types_hm.insert("NodeImageMultiFile".to_string(), 1296);
        dna_types_hm.insert("bAction".to_string(), 200);
        dna_types_hm.insert("AssetUUID".to_string(), 48);
        dna_types_hm.insert("uiPreview".to_string(), 88);
        dna_types_hm.insert("LineStyleAlphaModifier_CreaseAngle".to_string(), 120);
        dna_types_hm.insert("SpaceSeq".to_string(), 320);
        dna_types_hm.insert("bIKParam".to_string(), 4);
        dna_types_hm.insert("NodeFrame".to_string(), 4);
        dna_types_hm.insert("MTex".to_string(), 320);
        dna_types_hm.insert("bNodeType".to_string(), 0);
        dna_types_hm.insert("IpoDriver".to_string(), 144);
        dna_types_hm.insert("RenderProfile".to_string(), 64);
        dna_types_hm.insert("bRadarSensor".to_string(), 76);
        dna_types_hm.insert("Brush".to_string(), 2072);
        dna_types_hm.insert("MovieTrackingPlaneMarker".to_string(), 40);
        dna_types_hm.insert("FCurve".to_string(), 112);
        dna_types_hm.insert("BezTriple".to_string(), 72);
        dna_types_hm.insert("VolumeSettings".to_string(), 88);
        dna_types_hm.insert("ImageUser".to_string(), 40);
        dna_types_hm.insert("DerivedMesh".to_string(), 0);
        dna_types_hm.insert("AviCodecData".to_string(), 184);
        dna_types_hm.insert("DisplaySafeAreas".to_string(), 32);
        dna_types_hm.insert("MLoopCol".to_string(), 4);
        dna_types_hm.insert("UvSculpt".to_string(), 64);
        dna_types_hm.insert("NlaTrack".to_string(), 104);
        dna_types_hm.insert("bClampToConstraint".to_string(), 16);
        dna_types_hm.insert("GPUFX".to_string(), 0);
        dna_types_hm.insert("VFont".to_string(), 1168);
        dna_types_hm.insert("BoidRuleGoalAvoid".to_string(), 80);
        dna_types_hm.insert("bRandomSensor".to_string(), 72);
        dna_types_hm.insert("FMod_FunctionGenerator".to_string(), 24);
        dna_types_hm.insert("MovieTracking".to_string(), 352);
        dna_types_hm.insert("SequenceModifierData".to_string(), 112);
        dna_types_hm.insert("LineStyleThicknessModifier_Calligraphy".to_string(), 112);
        dna_types_hm.insert("Text".to_string(), 208);
        dna_types_hm.insert("ImagePaintSettings".to_string(), 128);
        dna_types_hm.insert("HairKey".to_string(), 36);
        dna_types_hm.insert("PTCacheExtra".to_string(), 32);
        dna_types_hm.insert("MovieTrackingCamera".to_string(), 56);
        dna_types_hm.insert("RNG".to_string(), 0);
        dna_types_hm.insert("CurveMap".to_string(), 72);
        dna_types_hm.insert("KeyBlock".to_string(), 184);
        dna_types_hm.insert("DriverTarget".to_string(), 88);
        dna_types_hm.insert("FMod_Limits".to_string(), 24);
        dna_types_hm.insert("OrigSpaceFace".to_string(), 32);
        dna_types_hm.insert("ArmatureModifierData".to_string(), 200);
        dna_types_hm.insert("bPropertyActuator".to_string(), 144);
        dna_types_hm.insert("uiStyle".to_string(), 232);
        dna_types_hm.insert("BakeData".to_string(), 1368);
        dna_types_hm.insert("uiLayout".to_string(), 0);
        dna_types_hm.insert("bController".to_string(), 136);
        dna_types_hm.insert("BoidRuleAvoidCollision".to_string(), 64);
        dna_types_hm.insert("bActionGroup".to_string(), 120);
        dna_types_hm.insert("SpaceAction".to_string(), 344);
        dna_types_hm.insert("BooleanModifierData".to_string(), 128);
        dna_types_hm.insert("EditNurb".to_string(), 32);
        dna_types_hm.insert("bMotionPathVert".to_string(), 16);
        dna_types_hm.insert("EditFont".to_string(), 0);
        dna_types_hm.insert("Palette".to_string(), 144);
        dna_types_hm.insert("Strip".to_string(), 904);
        dna_types_hm.insert("bNodeSocketValueBoolean".to_string(), 4);
        dna_types_hm.insert("NodeBilateralBlurData".to_string(), 12);
        dna_types_hm.insert("BoidData".to_string(), 20);
        dna_types_hm.insert("MovieClipProxy".to_string(), 776);
        dna_types_hm.insert("long".to_string(), 4);
        dna_types_hm.insert("MVertTri".to_string(), 0);
        dna_types_hm.insert("IdAdtTemplate".to_string(), 128);
        dna_types_hm.insert("bChildOfConstraint".to_string(), 144);
        dna_types_hm.insert("bPivotConstraint".to_string(), 88);
        dna_types_hm.insert("MovieTrackingDopesheetCoverageSegment".to_string(), 32);
        dna_types_hm.insert("ColorMapping".to_string(), 824);
        dna_types_hm.insert("CharInfo".to_string(), 8);
        dna_types_hm.insert("ObHook".to_string(), 256);
        dna_types_hm.insert("VPaint".to_string(), 96);
        dna_types_hm.insert("MaskModifierData".to_string(), 192);
        dna_types_hm.insert("Object".to_string(), 1440);
        dna_types_hm.insert("ColorBand".to_string(), 776);
        dna_types_hm.insert("GaussianBlurVars".to_string(), 8);
        dna_types_hm.insert("NodeTexImage".to_string(), 1032);
        dna_types_hm.insert("MovieCache".to_string(), 0);
        dna_types_hm.insert("IpoCurve".to_string(), 112);
        dna_types_hm.insert("MetaElem".to_string(), 104);
        dna_types_hm.insert("MirrorModifierData".to_string(), 136);
        dna_types_hm.insert("GlowVars".to_string(), 24);
        dna_types_hm.insert("StripCrop".to_string(), 16);
        dna_types_hm.insert("GameFraming".to_string(), 16);
        dna_types_hm.insert("ToolSettings".to_string(), 896);
        dna_types_hm.insert("MultiresLevel".to_string(), 64);
        dna_types_hm.insert("CacheReader".to_string(), 0);
        dna_types_hm.insert("UnitSettings".to_string(), 8);
        dna_types_hm.insert("SmoothView3DStore".to_string(), 0);
        dna_types_hm.insert("TreeStore".to_string(), 16);
        dna_types_hm.insert("ParticleEditSettings".to_string(), 176);
        dna_types_hm.insert("MDeformWeight".to_string(), 8);
        dna_types_hm.insert("uiFont".to_string(), 1048);
        dna_types_hm.insert("ScrVert".to_string(), 32);
        dna_types_hm.insert("MFloatProperty".to_string(), 4);
        dna_types_hm.insert("EdgeSplitModifierData".to_string(), 120);
        dna_types_hm.insert("SmokeCollSettings".to_string(), 32);
        dna_types_hm.insert("wmOperator".to_string(), 168);
        dna_types_hm.insert("Sequence".to_string(), 376);
        dna_types_hm.insert("Base".to_string(), 40);
        dna_types_hm.insert("bMouseSensor".to_string(), 136);
        dna_types_hm.insert("View2D".to_string(), 160);
        dna_types_hm.insert("BoidParticle".to_string(), 56);
        dna_types_hm.insert("bGPDspoint".to_string(), 28);
        dna_types_hm.insert("LineStyleAlphaModifier_Tangent".to_string(), 112);
        dna_types_hm.insert("NodeTexMusgrave".to_string(), 976);
        dna_types_hm.insert("wmIMEData".to_string(), 0);
        dna_types_hm.insert("DynamicPaintSurface".to_string(), 1560);
        dna_types_hm.insert("Editing".to_string(), 3152);
        dna_types_hm.insert("bNodeSocket".to_string(), 352);
        dna_types_hm.insert("bGPdata".to_string(), 200);
        dna_types_hm.insert("MultiresColFace".to_string(), 64);
        dna_types_hm.insert("double".to_string(), 8);
        dna_types_hm.insert("FileList".to_string(), 0);
        dna_types_hm.insert("bDeformGroup".to_string(), 88);
        dna_types_hm.insert("NodeTwoXYs".to_string(), 24);
        dna_types_hm.insert("NodeTexMagic".to_string(), 976);
        dna_types_hm.insert("SPHFluidSettings".to_string(), 68);
        dna_types_hm.insert("WeightVGMixModifierData".to_string(), 416);
        dna_types_hm.insert("bArmatureActuator".to_string(), 160);
        dna_types_hm.insert("bTransformConstraint".to_string(), 224);
        dna_types_hm.insert("TextLine".to_string(), 40);
        dna_types_hm.insert("ColorSpace".to_string(), 0);
        dna_types_hm.insert("bPoseChannel".to_string(), 600);
        dna_types_hm.insert("ParticleData".to_string(), 200);
        dna_types_hm.insert("WeightVGProximityModifierData".to_string(), 360);
        dna_types_hm.insert("PartDeflect".to_string(), 160);
        dna_types_hm.insert("OceanModifierData".to_string(), 1296);
        dna_types_hm.insert("Sculpt".to_string(), 112);
        dna_types_hm.insert("bScreen".to_string(), 240);
        dna_types_hm.insert("SubsurfModifierData".to_string(), 144);
        dna_types_hm.insert("bFollowPathConstraint".to_string(), 24);
        dna_types_hm.insert("CustomDataLayer".to_string(), 104);
        dna_types_hm.insert("NodeDBlurData".to_string(), 28);
        dna_types_hm.insert("bLocLimitConstraint".to_string(), 28);
        dna_types_hm.insert("SmokeModifierData".to_string(), 144);
        dna_types_hm.insert("uiWidgetStateColors".to_string(), 32);
        dna_types_hm.insert("GP_BrushEdit_Settings".to_string(), 112);
        dna_types_hm.insert("NodeImageMultiFileSocket".to_string(), 1320);
        dna_types_hm.insert("bArmature".to_string(), 256);
        dna_types_hm.insert("ThemeSpace".to_string(), 760);
        dna_types_hm.insert("LineStyleAlphaModifier_Noise".to_string(), 120);
        dna_types_hm.insert("NodeImageAnim".to_string(), 16);
        dna_types_hm.insert("MFace".to_string(), 20);
        dna_types_hm.insert("float".to_string(), 4);
        dna_types_hm.insert("ParticleRenderData".to_string(), 0);
        dna_types_hm.insert("uiPanelColors".to_string(), 16);
        dna_types_hm.insert("ImageAnim".to_string(), 24);
        dna_types_hm.insert("wmEvent".to_string(), 0);
        dna_types_hm.insert("LodLevel".to_string(), 40);
        dna_types_hm.insert("bSoundActuator".to_string(), 72);
        dna_types_hm.insert("MEdge".to_string(), 12);
        dna_types_hm.insert("UnifiedPaintSettings".to_string(), 152);
        dna_types_hm.insert("DisplaceModifierData".to_string(), 280);
        dna_types_hm.insert("RigidBodyWorld".to_string(), 88);
        dna_types_hm.insert("bAddObjectActuator".to_string(), 16);
        dna_types_hm.insert("BoidRuleFight".to_string(), 64);
        dna_types_hm.insert("CurveModifierData".to_string(), 192);
        dna_types_hm.insert("LineStyleGeometryModifier_Sampling".to_string(), 104);
        dna_types_hm.insert("BPoint".to_string(), 36);
        dna_types_hm.insert("MovieClip".to_string(), 2416);
        dna_types_hm.insert("NodeVertexCol".to_string(), 64);
        dna_types_hm.insert("UVProjectModifierData".to_string(), 296);
        dna_types_hm.insert("DynamicPaintCanvasSettings".to_string(), 104);
        dna_types_hm.insert("NodeHueSat".to_string(), 12);
        dna_types_hm.insert("NodeGlare".to_string(), 32);
        dna_types_hm.insert("KeyingSet".to_string(), 480);
        dna_types_hm.insert("ParticleBrushData".to_string(), 16);
        dna_types_hm.insert("ClothCollSettings".to_string(), 64);
        dna_types_hm.insert("bConstraint".to_string(), 120);
        dna_types_hm.insert("DynamicPaintModifierData".to_string(), 136);
        dna_types_hm.insert("uint64_t".to_string(), 8);
        dna_types_hm.insert("Tex".to_string(), 416);
        dna_types_hm.insert("LineStyleAlphaModifier_Curvature_3D".to_string(), 120);
        dna_types_hm.insert("NormalEditModifierData".to_string(), 216);
        dna_types_hm.insert("bGPDlayer".to_string(), 392);
        dna_types_hm.insert("bFollowTrackConstraint".to_string(), 160);
        dna_types_hm.insert("bRotLimitConstraint".to_string(), 28);
        dna_types_hm.insert("bDistLimitConstraint".to_string(), 88);
        dna_types_hm.insert("EffectorWeights".to_string(), 80);
        dna_types_hm.insert("RecastData".to_string(), 56);
        dna_types_hm.insert("MaskLayer".to_string(), 144);
        dna_types_hm.insert("ID".to_string(), 120);
        dna_types_hm.insert("SmoothModifierData".to_string(), 184);
        dna_types_hm.insert("LineStyleGeometryModifier_2DTransform".to_string(), 128);
        dna_types_hm.insert("GameData".to_string(), 192);
        dna_types_hm.insert("ArrayModifierData".to_string(), 192);
        dna_types_hm.insert("bNodeTreeExec".to_string(), 0);
        dna_types_hm.insert("ScrArea".to_string(), 160);
        dna_types_hm.insert("bItasc".to_string(), 40);
        dna_types_hm.insert("OceanTex".to_string(), 80);
        dna_types_hm.insert("bProperty".to_string(), 96);
        dna_types_hm.insert("LineStyleColorModifier_CreaseAngle".to_string(), 112);
        dna_types_hm.insert("NodeColorBalance".to_string(), 80);
        dna_types_hm.insert("FileLayout".to_string(), 0);
        dna_types_hm.insert("ParticleSpring".to_string(), 16);
        dna_types_hm.insert("MovieTrackingDopesheetChannel".to_string(), 112);
        dna_types_hm.insert("MDefCell".to_string(), 8);
        dna_types_hm.insert("LineStyleColorModifier_AlongStroke".to_string(), 104);
        dna_types_hm.insert("KDTree".to_string(), 0);
        dna_types_hm.insert("AlembicObjectPath".to_string(), 4112);
        dna_types_hm.insert("UserDef".to_string(), 12080);
        dna_types_hm.insert("bStateActuator".to_string(), 8);
        dna_types_hm.insert("CurveCache".to_string(), 0);
        dna_types_hm.insert("bNodeSocketType".to_string(), 0);
        dna_types_hm.insert("bNodePreview".to_string(), 24);
        dna_types_hm.insert("CorrectiveSmoothModifierData".to_string(), 216);
        dna_types_hm.insert("BoidRuleFollowLeader".to_string(), 104);
        dna_types_hm.insert("LineStyleModifier".to_string(), 96);
        dna_types_hm.insert("LineStyleGeometryModifier_PerlinNoise1D".to_string(), 120);
        dna_types_hm.insert("Cloth".to_string(), 0);
        dna_types_hm.insert("DupliObject".to_string(), 192);
        dna_types_hm.insert("TransformVars".to_string(), 32);
        dna_types_hm.insert("NodeGeometry".to_string(), 128);
        dna_types_hm.insert("Mask".to_string(), 168);
        dna_types_hm.insert("MIntProperty".to_string(), 4);
        dna_types_hm.insert("SpaceInfo".to_string(), 64);
        dna_types_hm.insert("bObjectActuator".to_string(), 112);
        dna_types_hm.insert("MaskSplinePointUW".to_string(), 12);
        dna_types_hm.insert("AbcArchiveHandle".to_string(), 0);
        dna_types_hm.insert("bNodeSocketValueFloat".to_string(), 16);
        dna_types_hm.insert("StripColorBalance".to_string(), 44);
        dna_types_hm.insert("AnimData".to_string(), 104);
        dna_types_hm.insert("FMod_Generator".to_string(), 24);
        dna_types_hm.insert("FMod_Envelope".to_string(), 24);
        dna_types_hm.insert("bJoystickSensor".to_string(), 92);
        dna_types_hm.insert("bRandomActuator".to_string(), 88);
        dna_types_hm.insert("SpaceNla".to_string(), 232);
        dna_types_hm.insert("GameDome".to_string(), 24);
        dna_types_hm.insert("bCameraSolverConstraint".to_string(), 16);
        dna_types_hm.insert("bVisibilityActuator".to_string(), 4);
        dna_types_hm.insert("GPUTexture".to_string(), 0);
        dna_types_hm.insert("FileGlobal".to_string(), 1088);
        dna_types_hm.insert("MDefInfluence".to_string(), 8);
        dna_types_hm.insert("SequencerScopes".to_string(), 48);
        dna_types_hm.insert("EditBone".to_string(), 0);
        dna_types_hm.insert("bGPDframe".to_string(), 40);
        dna_types_hm.insert("MPoly".to_string(), 12);
        dna_types_hm.insert("DagForest".to_string(), 0);
        dna_types_hm.insert("SmoothView2DStore".to_string(), 0);
        dna_types_hm.insert("TextBox".to_string(), 16);
        dna_types_hm.insert("MDeformVert".to_string(), 16);
        dna_types_hm.insert("SmokeFlowSettings".to_string(), 184);
        dna_types_hm.insert("bTrackToConstraint".to_string(), 88);
        dna_types_hm.insert("bNodeLink".to_string(), 56);
        dna_types_hm.insert("wmKeyMap".to_string(), 136);
        dna_types_hm.insert("WTURBULENCE".to_string(), 0);
        dna_types_hm.insert("MeshStatVis".to_string(), 40);
        dna_types_hm.insert("NodeShaderTexPointDensity".to_string(), 1232);
        dna_types_hm.insert("Speaker".to_string(), 184);
        dna_types_hm.insert("MovieTrackingObject".to_string(), 152);
        dna_types_hm.insert("ImBuf".to_string(), 0);
        dna_types_hm.insert("SpaceTimeCache".to_string(), 24);
        dna_types_hm.insert("CurvesModifierData".to_string(), 496);
        dna_types_hm.insert("LineStyleGeometryModifier_SpatialNoise".to_string(), 112);
        dna_types_hm.insert("LineStyleGeometryModifier_PerlinNoise2D".to_string(), 120);
        dna_types_hm.insert("RenderData".to_string(), 4432);
        dna_types_hm.insert("bStretchToConstraint".to_string(), 104);
        dna_types_hm.insert("WalkNavigation".to_string(), 32);
        dna_types_hm.insert("BrightContrastModifierData".to_string(), 120);
        dna_types_hm.insert("IDProperty".to_string(), 128);
        dna_types_hm.insert("CameraStereoSettings".to_string(), 24);
        dna_types_hm.insert("SurfaceModifierData".to_string(), 152);
        dna_types_hm.insert("bSizeLikeConstraint".to_string(), 80);
        dna_types_hm.insert("TFace".to_string(), 64);
        dna_types_hm.insert("bMessageSensor".to_string(), 136);
        dna_types_hm.insert("NodeColorCorrection".to_string(), 104);
        dna_types_hm.insert("SDefVert".to_string(), 16);
        dna_types_hm.insert("wmWindow".to_string(), 288);
        dna_types_hm.insert("MaskLayerShape".to_string(), 40);
        dna_types_hm.insert("RemeshModifierData".to_string(), 128);
        dna_types_hm.insert("ColorBalanceModifierData".to_string(), 160);
        dna_types_hm.insert("ParticleTarget".to_string(), 40);
        dna_types_hm.insert("OrigSpaceLoop".to_string(), 8);
        dna_types_hm.insert("bArmatureSensor".to_string(), 136);
        dna_types_hm.insert("SculptSession".to_string(), 0);
        dna_types_hm.insert("World".to_string(), 544);
        dna_types_hm.insert("ParticleCacheKey".to_string(), 0);
        dna_types_hm.insert("LineStyleThicknessModifier_CreaseAngle".to_string(), 128);
        dna_types_hm.insert("RigidBodyOb".to_string(), 96);
        dna_types_hm.insert("FreestyleLineSet".to_string(), 128);
        dna_types_hm.insert("SmokeDomainSettings".to_string(), 752);
        dna_types_hm.insert("SpaceText".to_string(), 680);
        dna_types_hm.insert("ShapeKeyModifierData".to_string(), 112);
        dna_types_hm.insert("bActuatorSensor".to_string(), 72);
        dna_types_hm.insert("short".to_string(), 2);
        dna_types_hm.insert("RenderEngine".to_string(), 0);
        dna_types_hm.insert("ARegionType".to_string(), 0);
        dna_types_hm.insert("NodeColorspill".to_string(), 20);
        dna_types_hm.insert("bPathCompare".to_string(), 792);
        dna_types_hm.insert("CustomDataExternal".to_string(), 1024);
        dna_types_hm.insert("BoidSettings".to_string(), 104);
        dna_types_hm.insert("EditLatt".to_string(), 16);
        dna_types_hm.insert("bGPDpalettecolor".to_string(), 120);
        dna_types_hm.insert(
            "LineStyleGeometryModifier_SinusDisplacement".to_string(),
            112,
        );
        dna_types_hm.insert("ImageView".to_string(), 1104);
        dna_types_hm.insert("ThemeUI".to_string(), 912);
        dna_types_hm.insert("FMod_Stepped".to_string(), 20);
        dna_types_hm.insert("bPythonCont".to_string(), 80);
        dna_types_hm.insert("LineStyleGeometryModifier_Simplification".to_string(), 104);
        dna_types_hm.insert("uiGradientColors".to_string(), 16);
        dna_types_hm.insert("MSelect".to_string(), 8);
        dna_types_hm.insert("NodeTrackPosData".to_string(), 128);
        dna_types_hm.insert("NlaStrip".to_string(), 208);
        dna_types_hm.insert("WireframeModifierData".to_string(), 200);
        dna_types_hm.insert("LineStyleColorModifier_Tangent".to_string(), 104);
        dna_types_hm.insert("bNodeTreePath".to_string(), 104);
        dna_types_hm.insert("GameSettings".to_string(), 16);
        dna_types_hm.insert("BLI_mempool".to_string(), 0);
        dna_types_hm.insert("wmKeyMapItem".to_string(), 184);
        dna_types_hm.insert("bAnimVizSettings".to_string(), 48);
        dna_types_hm.insert("FileDirEntryRevision".to_string(), 104);
        dna_types_hm.insert("FMod_Cycles".to_string(), 8);
        dna_types_hm.insert("Group".to_string(), 160);
        dna_types_hm.insert("CustomData".to_string(), 208);
        dna_types_hm.insert("bNodeSocketValueInt".to_string(), 16);
        dna_types_hm.insert("CBData".to_string(), 24);
        dna_types_hm.insert("bNodeSocketValueRGBA".to_string(), 16);
        dna_types_hm.insert("bSound".to_string(), 1240);
        dna_types_hm.insert("ConsoleLine".to_string(), 40);
        dna_types_hm.insert("bCollisionSensor".to_string(), 136);
        dna_types_hm.insert("MetaBall".to_string(), 248);
        dna_types_hm.insert("Histogram".to_string(), 5160);
        dna_types_hm.insert("NodeLensDist".to_string(), 8);
        dna_types_hm.insert("MovieTrackingReconstruction".to_string(), 24);
        dna_types_hm.insert("MovieTrackingStats".to_string(), 256);
        dna_types_hm.insert("StripElem".to_string(), 264);
        dna_types_hm.insert("FileDirEntryArr".to_string(), 1056);
        dna_types_hm.insert("LineStyleGeometryModifier_GuidingLines".to_string(), 104);
        dna_types_hm.insert("FileData".to_string(), 0);
        dna_types_hm.insert("Image".to_string(), 1992);
        dna_types_hm.insert("WipeVars".to_string(), 12);
        dna_types_hm.insert("SBVertex".to_string(), 16);
        dna_types_hm.insert("SpaceFile".to_string(), 112);
        dna_types_hm.insert("NodeTexNoise".to_string(), 968);
        dna_types_hm.insert(
            "LineStyleGeometryModifier_BackboneStretcher".to_string(),
            104,
        );
        dna_types_hm.insert("MRecast".to_string(), 4);
        dna_types_hm.insert("LatticeModifierData".to_string(), 192);
        dna_types_hm.insert("MTexPoly".to_string(), 16);
        dna_types_hm.insert("bNodeInstanceKey".to_string(), 4);
        dna_types_hm.insert("NodeTexEnvironment".to_string(), 1024);
        let id: String = get_id_name(
            &member,
            &bytes_read,
            byte_index,
            &dna_structs_hm,
            &dna_types_hm,
        );
        println!("  ID.name = {:?}", id);
        let base_name = id.clone()[2..].to_string();
        println!("{}", base_name);
        assert_eq!(base_name, "current_cam");
    }
}