X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=src%2Fmaterial-flags.cpp;h=d69bd77cae2da988cd9b29b5b338cda2069bdef8;hp=5b0c93ae1b284e060b20c6898477c13ade753859;hb=357f279e004c6257a160205835c06c283d317ef7;hpb=384a8fb56d8500dc3551085191a39c9da70e221c diff --git a/src/material-flags.cpp b/src/material-flags.cpp index 5b0c93a..d69bd77 100644 --- a/src/material-flags.cpp +++ b/src/material-flags.cpp @@ -27,90 +27,95 @@ using namespace irr; video::E_MATERIAL_FLAG scm_to_material_flag (SCM material_flag) { - char* flag = scm_to_utf8_string (scm_symbol_to_string (material_flag)); - if (!strcmp (flag, "wireframe")) + char* flag_name = scm_to_utf8_string (scm_symbol_to_string (material_flag)); + video::E_MATERIAL_FLAG flag; + + if (!strcmp (flag_name, "wireframe")) { - return video::EMF_WIREFRAME; + flag = video::EMF_WIREFRAME; } - else if (!strcmp (flag, "pointcloud")) + else if (!strcmp (flag_name, "pointcloud")) { - return video::EMF_POINTCLOUD; + flag = video::EMF_POINTCLOUD; } - else if (!strcmp (flag, "gouraud-shading")) + else if (!strcmp (flag_name, "gouraud-shading")) { - return video::EMF_GOURAUD_SHADING; + flag = video::EMF_GOURAUD_SHADING; } - else if (!strcmp (flag, "lighting")) + else if (!strcmp (flag_name, "lighting")) { - return video::EMF_LIGHTING; + flag = video::EMF_LIGHTING; } - else if (!strcmp (flag, "zbuffer")) + else if (!strcmp (flag_name, "zbuffer")) { - return video::EMF_ZBUFFER; + flag = video::EMF_ZBUFFER; } - else if (!strcmp (flag, "zwrite-enable")) + else if (!strcmp (flag_name, "zwrite-enable")) { - return video::EMF_ZWRITE_ENABLE; + flag = video::EMF_ZWRITE_ENABLE; } - else if (!strcmp (flag, "back-face-culling")) + else if (!strcmp (flag_name, "back-face-culling")) { - return video::EMF_BACK_FACE_CULLING; + flag = video::EMF_BACK_FACE_CULLING; } - else if (!strcmp (flag, "front-face-culling")) + else if (!strcmp (flag_name, "front-face-culling")) { - return video::EMF_FRONT_FACE_CULLING; + flag = video::EMF_FRONT_FACE_CULLING; } - else if (!strcmp (flag, "bilinear-filter")) + else if (!strcmp (flag_name, "bilinear-filter")) { - return video::EMF_BILINEAR_FILTER; + flag = video::EMF_BILINEAR_FILTER; } - else if (!strcmp (flag, "trilinear-filter")) + else if (!strcmp (flag_name, "trilinear-filter")) { - return video::EMF_TRILINEAR_FILTER; + flag = video::EMF_TRILINEAR_FILTER; } - else if (!strcmp (flag, "anisotropic-filter")) + else if (!strcmp (flag_name, "anisotropic-filter")) { - return video::EMF_ANISOTROPIC_FILTER; + flag = video::EMF_ANISOTROPIC_FILTER; } - else if (!strcmp (flag, "fog-enable")) + else if (!strcmp (flag_name, "fog-enable")) { - return video::EMF_FOG_ENABLE; + flag = video::EMF_FOG_ENABLE; } - else if (!strcmp (flag, "normalize-normals")) + else if (!strcmp (flag_name, "normalize-normals")) { - return video::EMF_NORMALIZE_NORMALS; + flag = video::EMF_NORMALIZE_NORMALS; } - else if (!strcmp (flag, "texture-wrap")) + else if (!strcmp (flag_name, "texture-wrap")) { - return video::EMF_TEXTURE_WRAP; + flag = video::EMF_TEXTURE_WRAP; } - else if (!strcmp (flag, "anti-aliasing")) + else if (!strcmp (flag_name, "anti-aliasing")) { - return video::EMF_ANTI_ALIASING; + flag = video::EMF_ANTI_ALIASING; } - else if (!strcmp (flag, "color-mask")) + else if (!strcmp (flag_name, "color-mask")) { - return video::EMF_COLOR_MASK; + flag = video::EMF_COLOR_MASK; } - else if (!strcmp (flag, "color-material")) + else if (!strcmp (flag_name, "color-material")) { - return video::EMF_COLOR_MATERIAL; + flag = video::EMF_COLOR_MATERIAL; } - else if (!strcmp (flag, "use-mip-maps")) + else if (!strcmp (flag_name, "use-mip-maps")) { - return video::EMF_USE_MIP_MAPS; + flag = video::EMF_USE_MIP_MAPS; } - else if (!strcmp (flag, "blend-operation")) + else if (!strcmp (flag_name, "blend-operation")) { - return video::EMF_BLEND_OPERATION; + flag = video::EMF_BLEND_OPERATION; } - else if (!strcmp (flag, "polygon-offset")) + else if (!strcmp (flag_name, "polygon-offset")) { - return video::EMF_POLYGON_OFFSET; + flag = video::EMF_POLYGON_OFFSET; } else { scm_error (scm_arg_type_key, NULL, "Wrong material flag: ~S", scm_list_1 (material_flag), scm_list_1 (material_flag)); } + + free (flag_name); + return flag; }