/************************************************************************** * cockpit.c -- routines to draw a cockpit (initial draft) * * Written by Michele America, started September 1997. * * Copyright (C) 1997 Michele F. America - nomimarketing@mail.telepac.pt * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * $Id$ * (Log is kept at end of this file) **************************************************************************/ #include #include #include "cockpit.h" #include "../Include/constants.h" #include "../Aircraft/aircraft.h" #include "../Scenery/mesh.h" #include "../Scenery/scenery.h" #include "../Math/mat3.h" #include "../Math/polar.h" #include "../Time/fg_timer.h" #include "../Math/fg_random.h" #include "../Weather/weather.h" // #define DEBUG /* This is a structure that contains all data related to cockpit/panel/hud system */ static struct fgCOCKPIT *aircraft_cockpit; struct fgCOCKPIT *fgCockpitInit( struct fgAIRCRAFT cur_aircraft ) { struct fgCOCKPIT *cockpit; Hptr hud; printf("Initializing cockpit subsystem\n"); cockpit = (struct fgCOCKPIT *)calloc(sizeof(struct fgCOCKPIT),1); if( cockpit == NULL ) return( NULL ); cockpit->code = 1234; cockpit->status = 0; /* If aircraft has HUD */ hud = fgHUDInit( cur_aircraft, 3 ); if( hud == NULL ) return( NULL ); cockpit->hud = hud; aircraft_cockpit = cockpit; printf(" Code %d Status %d\n", cockpit->hud->code, cockpit->hud->status ); return( cockpit ); } struct fgCOCKPIT *fgCockpitAddHUD( struct fgCOCKPIT *cockpit, struct HUD *hud ) { cockpit->hud = hud; } void fgCockpitUpdate() { printf( "Cockpit: code %d status %d\n", aircraft_cockpit->code, aircraft_cockpit->status ); if( aircraft_cockpit->hud != NULL ) // That is, if the aircraft has a HUD, fgUpdateHUD( aircraft_cockpit->hud ); // then draw it. } /* $Log$ /* Revision 1.4 1997/12/30 20:47:34 curt /* Integrated new event manager with subsystem initializations. /* * Revision 1.3 1997/12/15 23:54:33 curt * Add xgl wrappers for debugging. * Generate terrain normals on the fly. * * Revision 1.2 1997/12/10 22:37:38 curt * Prepended "fg" on the name of all global structures that didn't have it yet. * i.e. "struct WEATHER {}" became "struct fgWEATHER {}" * * Revision 1.1 1997/08/29 18:03:20 curt * Initial revision. * */