1
0
Fork 0

Fixes to iochannel parsing which had gotten broke at some point.

Fixed --disable-skyblend
This commit is contained in:
curt 2001-01-26 00:21:36 +00:00
parent 1a6ed2ecc8
commit 1a0a65b2a5
4 changed files with 27 additions and 16 deletions

View file

@ -193,9 +193,11 @@ static FGProtocol *parse_port_config( const string& config )
// step through the port config streams (from fgOPTIONS) and setup
// serial port channels for each
void fgIOInit() {
// FG_LOG( FG_IO, FG_INFO, "I/O Channel initialization, " <<
// globals->get_channel_options_list()->size() << " requests." );
FGProtocol *p;
string_list channel_options_list =
globals->get_channel_options_list();
string_list *channel_options_list = globals->get_channel_options_list();
// we could almost do this in a single step except pushing a valid
// port onto the port list copies the structure and destroys the
@ -203,8 +205,8 @@ void fgIOInit() {
// parse the configuration strings and store the results in the
// appropriate FGIOChannel structures
for ( int i = 0; i < (int)channel_options_list.size(); ++i ) {
p = parse_port_config( channel_options_list[i] );
for ( int i = 0; i < (int)channel_options_list->size(); ++i ) {
p = parse_port_config( (*channel_options_list)[i] );
if ( p != NULL ) {
p->open();
global_io_list.push_back( p );

View file

@ -86,7 +86,7 @@ private:
SGPropertyNode *initial_state;
// list of serial port-like configurations
string_list channel_options_list;
string_list *channel_options_list;
public:
@ -132,8 +132,11 @@ public:
inline SGPropertyNode *get_props () { return props; }
inline void set_props( SGPropertyNode *n ) { props = n; }
inline string_list get_channel_options_list () {
return channel_options_list;
inline string_list *get_channel_options_list () {
return channel_options_list;
}
inline void set_channel_options_list( string_list *l ) {
channel_options_list = l;
}

View file

@ -480,7 +480,6 @@ void fgRenderFrame( void ) {
#endif
thesky->modify_vis( cur_fdm_state->get_Altitude() * FEET_TO_METER,
( global_multi_loop *
fgGetInt("/sim/speed-up") ) /
(double)fgGetInt("/sim/model-hz") );
@ -682,8 +681,10 @@ void fgRenderFrame( void ) {
// position tile nodes and update range selectors
global_tile_mgr.prep_ssg_nodes();
// draw the sky backdrop
thesky->preDraw();
if ( fgGetBool("/sim/rendering/skyblend") ) {
// draw the sky backdrop
thesky->preDraw();
}
// draw the ssg scene
glEnable( GL_DEPTH_TEST );
@ -697,8 +698,10 @@ void fgRenderFrame( void ) {
ssgCullAndDraw( lighting );
// draw the sky cloud layers
thesky->postDraw( cur_fdm_state->get_Altitude() * FEET_TO_METER );
if ( fgGetBool("/sim/rendering/skyblend") ) {
// draw the sky cloud layers
thesky->postDraw( cur_fdm_state->get_Altitude() * FEET_TO_METER );
}
// display HUD && Panel
glDisable( GL_FOG );
@ -769,12 +772,12 @@ void fgUpdateTimeDepCalcs() {
}
// cout << "multi_loop = " << multi_loop << endl;
for ( i = 0; i < multi_loop; ++i ) {
for ( i = 0; i < multi_loop * fgGetInt("/sim/speed-up"); ++i ) {
// run Autopilot system
current_autopilot->run();
// update autopiot
cur_fdm_state->update( 1 * fgGetInt("/sim/speed-up") );
// update autopilot
cur_fdm_state->update( 1 );
}
FGSteam::update( multi_loop * fgGetInt("/sim/speed-up") );
} else {
@ -1408,6 +1411,9 @@ int main( int argc, char **argv ) {
FGViewerLookAt *chase = new FGViewerLookAt;
globals->get_viewmgr()->add_view( chase );
string_list *col = new string_list;
globals->set_channel_options_list( col );
// set current view to 0 (first) which is our main pilot view
globals->set_current_view( globals->get_viewmgr()->get_view( 0 ) );

View file

@ -441,7 +441,7 @@ static bool
parse_channel( const string& type, const string& channel_str ) {
// cout << "Channel string = " << channel_str << endl;
globals->get_channel_options_list().push_back( type + "," + channel_str );
globals->get_channel_options_list()->push_back( type + "," + channel_str );
return true;
}