/* ============ sdDemoCamera_Fixed::Parse ============ */ bool sdDemoCamera_Fixed::Parse( idParser& src ) { if ( !src.ExpectTokenString( "{" ) ) { return false; } idToken token; while( true ) { if ( !src.ExpectAnyToken( &token ) ) { return false; } if ( !token.Cmp( "}" ) ) { break; } else if ( !token.Icmp( "origin" ) ) { if ( !src.Parse1DMatrix( 3, origin.ToFloatPtr() ) ) { return false; } } else if ( !token.Icmp( "axis" ) ) { if ( !src.Parse2DMatrix( 3, 3, axis.ToFloatPtr() ) ) { return false; } } else if ( !token.Icmp( "angles" ) ) { idAngles angles; if ( !src.Parse1DMatrix( 3, angles.ToFloatPtr() ) ) { return false; } axis = angles.ToMat3(); } else if ( !token.Icmp( "fov" ) ) { fov = src.ParseFloat(); } else if ( !sdDemoCamera::ParseKey( token, src ) ) { src.Error( "sdDemoCamera_Fixed::Parse : Unknown keyword '%s'", token.c_str() ); return false; } } return true; }