Changeset 539 for trunk/src/engine/particle_manager.cc
- Timestamp:
- 01/24/17 17:55:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/engine/particle_manager.cc
r520 r539 61 61 data->emitter_count = 0; 62 62 data->affector_count = 0; 63 data->orientation = particle_orientation( table .get_unsigned("orientation", 0) );64 data->origin = particle_origin( table .get_unsigned( "origin",0) );63 data->orientation = particle_orientation( table["orientation"].get_uint32() ); 64 data->origin = particle_origin( table["origin"].get_uint32() ); 65 65 66 data->common_up = math::normalize( table .get<vec3>("common_up",vec3(1,0,0) ) );67 data->common_dir = math::normalize( table .get<vec3>("common_dir",vec3(0,1,0) ) );66 data->common_up = math::normalize( table["common_up"].as( vec3(1,0,0) ) ); 67 data->common_dir = math::normalize( table["common_dir"].as( vec3(0,1,0) ) ); 68 68 69 69 vec2 def_size = table.get<vec2>("size", vec2(0.1,0.1) ); … … 72 72 { 73 73 lua::table_guard element( table, i+1 ); 74 const_string type = element .get_string( "type");75 const_string sub_type = element .get_string( "sub_type");74 const_string type = element["type"].get_string(); 75 const_string sub_type = element["sub_type"].get_string(); 76 76 if ( type == "emitter" ) 77 77 { … … 86 86 } 87 87 88 edata.position = element .get<vec3>("position",vec3() );89 edata.extents = element .get<vec3>("extents",vec3(1,1,1) );90 edata.extents[0] = element .get<float>("width",edata.extents[0] );91 edata.extents[1] = element .get<float>("depth",edata.extents[1] );92 edata.extents[2] = element .get<float>("height",edata.extents[2] );93 edata.extents[0] = element .get<float>("radius",edata.extents[0] );94 edata.iextents = element .get<vec3>("inner_extents",vec3() );95 edata.iextents[0] = element .get<float>("inner_width",edata.iextents[0] );96 edata.iextents[1] = element .get<float>("inner_depth",edata.iextents[1] );97 edata.iextents[2] = element .get<float>("inner_height",edata.iextents[2] );98 edata.iextents[0] = element .get<float>("inner_radius",edata.iextents[0] );88 edata.position = element["position"].as( vec3() ); 89 edata.extents = element["extents"].as( vec3(1,1,1) ); 90 edata.extents[0] = element["width"].as( edata.extents[0] ); 91 edata.extents[1] = element["depth"].as( edata.extents[1] ); 92 edata.extents[2] = element["height"].as( edata.extents[2] ); 93 edata.extents[0] = element["radius"].as( edata.extents[0] ); 94 edata.iextents = element["inner_extents"].as( vec3() ); 95 edata.iextents[0] = element["inner_width"].as( edata.iextents[0] ); 96 edata.iextents[1] = element["inner_depth"].as( edata.iextents[1] ); 97 edata.iextents[2] = element["inner_height"].as( edata.iextents[2] ); 98 edata.iextents[0] = element["inner_radius"].as( edata.iextents[0] ); 99 99 edata.hextents = 0.5f * edata.extents; 100 100 edata.ihextents = 0.5f * edata.iextents; 101 edata.precise = element .get<bool>("precise",false );102 edata.square = element .get<bool>("square",true );103 vec4 color = element .get<vec4>("color",vec4(1,1,1,1) );104 edata.color_min = element .get<vec4>("color_min",color );105 edata.color_max = element .get<vec4>("color_max",color );106 vec2 size = element .get<vec2>("size",def_size );107 edata.size_min = element .get<vec2>("size_min",size );108 edata.size_max = element .get<vec2>("size_max",size );109 edata.angle = element .get<float>("angle",0.0f );110 float velocity = element .get<float>("velocity",0.0f );111 edata.velocity_min = element .get<float>("velocity_min",velocity );112 edata.velocity_max = element .get<float>("velocity_max",velocity );113 float lifetime = element .get<float>("lifetime",1.0f );114 edata.lifetime_min = element .get<float>("lifetime_min",lifetime );115 edata.lifetime_max = element .get<float>("lifetime_max",lifetime );116 float duration = element .get<float>("duration",0.0f );117 edata.duration_min = element .get<float>("duration_min",duration );118 edata.duration_max = element .get<float>("duration_max",duration );119 float repeat = element .get<float>("repeat_delay",0.0f );120 edata.repeat_min = element .get<float>("repeat_delay_min",repeat );121 edata.repeat_max = element .get<float>("repeat_delay_max",repeat );101 edata.precise = element["precise"].as( false ); 102 edata.square = element["square"].as( true ); 103 vec4 color = element["color"].as( vec4(1,1,1,1) ); 104 edata.color_min = element["color_min"].as( color ); 105 edata.color_max = element["color_max"].as( color ); 106 vec2 size = element["size"].as( def_size ); 107 edata.size_min = element["size_min"].as( size ); 108 edata.size_max = element["size_max"].as( size ); 109 edata.angle = element["angle"].as( 0.0f ); 110 float velocity = element["velocity"].as( 0.0f ); 111 edata.velocity_min = element["velocity_min"].as( velocity ); 112 edata.velocity_max = element["velocity_max"].as( velocity ); 113 float lifetime = element["lifetime"].as( 1.0f ); 114 edata.lifetime_min = element["lifetime_min"].as( lifetime ); 115 edata.lifetime_max = element["lifetime_max"].as( lifetime ); 116 float duration = element["duration"].as( 0.0f ); 117 edata.duration_min = element["duration_min"].as( duration ); 118 edata.duration_max = element["duration_max"].as( duration ); 119 float repeat = element["repeat_delay"].as( 0.0f ); 120 edata.repeat_min = element["repeat_delay_min"].as( repeat ); 121 edata.repeat_max = element["repeat_delay_max"].as( repeat ); 122 122 123 edata.rate = element .get<float>("rate",1.0f );124 edata.dir = math::normalize( element .get<vec3>("direction",vec3(0,1,0) ) );123 edata.rate = element["rate"].as( 1.0f ); 124 edata.dir = math::normalize( element["direction"].as( vec3(0,1,0) ) ); 125 125 126 126 edata.odir = vec3( 0, 0, 1 );
Note: See TracChangeset
for help on using the changeset viewer.