char ES_XMLSound_gauge_name[] = GAUGE_NAME;
extern PELEMENT_HEADER ES_XMLSound_list;
PELEMENT_STATIC_IMAGE bg_element =NULL;
extern MOUSERECT ES_XMLSound_mouse_rect[];
GAUGE_CALLBACK gaugecall;
GAUGE_HEADER_FS700(GAUGE_W, ES_XMLSound_gauge_name, &ES_XMLSound_list, NULL, gaugecall, 0, 0, 0);
// Sound declarations
typedef VOID (*TGaugePlaySound)(LPTSTR, LPTSTR,int);
typedef VOID (*TGaugeStopSound)(LPTSTR);
typedef VOID (*TTerminateSounds)();
TGaugePlaySound GaugePlaySound;
TGaugeStopSound GaugeStopSound;
TTerminateSounds TerminateSounds;
HMODULE MGaugeSound;
#define GAUGE_CHARSET2 DEFAULT_CHARSET
#define GAUGE_FONT_DEFAULT2 "Arial Bold"
#define GAUGE_WEIGHT_DEFAULT2 FW_NORMAL
int xml_click = 0;
int xml_push = 0;
int xml_ding = 0;
int xml_lvalt = 0;
int xml_time_expired = 0;
ID xml_click_id;
ID xml_push_id;
ID xml_ding_id;
ID xml_lvalt_id;
ID xml_time_expired_id;
void FSAPI gaugecall(PGAUGEHDR pgauge, int service_id, UINT32 extra_data)
{
switch(service_id)
{
case PANEL_SERVICE_PRE_INITIALIZE:
bg_element = (PELEMENT_STATIC_IMAGE)pgauge->elements_list[0];
if (MGaugeSound == NULL) {MGaugeSound = LoadLibrary("GaugeSound");}
GaugePlaySound = (TGaugePlaySound)GetProcAddress(MGaugeSound,"GaugePlaySound");
GaugeStopSound = (TGaugeStopSound)GetProcAddress(MGaugeSound,"GaugeStopSound");
TerminateSounds = (TTerminateSounds)GetProcAddress(MGaugeSound,"TerminateSounds");
register_named_variable ( "XMLClick" );
register_named_variable ( "XMLPush" );
register_named_variable ( "XMLDing" );
register_named_variable ( "XMLLvAlt" );
register_named_variable ( "XMLTimeExp" );
break;
case PANEL_SERVICE_PRE_KILL:
MGaugeSound = GetModuleHandle("GaugeSound");
if (MGaugeSound == NULL) {MGaugeSound = LoadLibrary("GaugeSound");}
GaugePlaySound = (TGaugePlaySound)GetProcAddress(MGaugeSound,"GaugePlaySound");
GaugeStopSound = (TGaugeStopSound)GetProcAddress(MGaugeSound,"GaugeStopSound");
TerminateSounds = (TTerminateSounds)GetProcAddress(MGaugeSound,"TerminateSounds");
(TerminateSounds)();
FreeLibrary(MGaugeSound);
break;
case PANEL_SERVICE_PRE_UPDATE:
MGaugeSound = GetModuleHandle("GaugeSound");
if (MGaugeSound == NULL) {MGaugeSound = LoadLibrary("GaugeSound");}
GaugePlaySound = (TGaugePlaySound)GetProcAddress(MGaugeSound,"GaugePlaySound");
GaugeStopSound = (TGaugeStopSound)GetProcAddress(MGaugeSound,"GaugeStopSound");
TerminateSounds = (TTerminateSounds)GetProcAddress(MGaugeSound,"TerminateSounds");
xml_click_id = check_named_variable ( "XMLClick" ) ;
xml_click = get_named_variable_value (xml_click_id);
xml_push_id = check_named_variable ( "XMLPush" ) ;
xml_push = get_named_variable_value (xml_push_id);
xml_ding_id = check_named_variable ( "XMLDing" ) ;
xml_ding = get_named_variable_value (xml_ding_id);
xml_lvalt_id = check_named_variable ( "XMLLvAlt" ) ;
xml_lvalt = get_named_variable_value (xml_lvalt_id);
xml_time_expired_id = check_named_variable ( "XMLTimeExp" ) ;
xml_time_expired = get_named_variable_value (xml_time_expired_id);
if ( xml_click == 1 ) { (GaugePlaySound)("sound\\ESDG\\click.wav","",0) ; xml_click = 0 ; }
if ( xml_push == 1 ) { (GaugePlaySound)("sound\\ESDG\\push.wav","",0) ; xml_push = 0 ; }
if ( xml_ding == 1 ) { (GaugePlaySound)("sound\\ESDG\\ding.wav","",0) ; xml_ding = 0 ; }
if ( xml_lvalt == 1 ) { (GaugePlaySound)("sound\\ESDG\\LEAVING_ALTITUDE.wav","",0) ; xml_lvalt = 0 ; }
if ( xml_time_expired == 1) { (GaugePlaySound)("sound\\ESDG\\TIMER_EXPIRED.wav","",0) ; xml_time_expired = 0 ; }
set_named_variable_value(xml_click_id, xml_click) ;
set_named_variable_value(xml_push_id, xml_push) ;
set_named_variable_value(xml_ding_id, xml_ding) ;
set_named_variable_value(xml_lvalt_id, xml_lvalt) ;
set_named_variable_value(xml_time_expired_id, xml_time_expired);
break;
}
}
FLOAT64 FSAPI callback4( PELEMENT_STRING pelement)
{
float rwert=xml_ding;
sprintf(pelement->string,"XMLDing = %.0f",rwert);
return 0;
}
FLOAT64 FSAPI callback3( PELEMENT_STRING pelement)
{
float rwert=xml_push;
sprintf(pelement->string,"XMLPush = %.0f",rwert);
return 0;
}
FLOAT64 FSAPI callback2( PELEMENT_STRING pelement)
{
float rwert=xml_click;
sprintf(pelement->string,"XMLClick = %.0f",rwert);
return 0;
}
MAKE_STRING(String4,NULL,NULL,IMAGE_USE_ERASE | IMAGE_USE_TRANSPARENCY | BIT7,0,0,77,99,20,1000000,
MODULE_VAR_NONE,
MODULE_VAR_NONE,
MODULE_VAR_NONE,
RGB(8,8,8),
RGB(0,0,0),
RGB(0,0,0),
GAUGE_FONT_DEFAULT2,
GAUGE_WEIGHT_DEFAULT2,
GAUGE_CHARSET2,
0,0,
NULL,
callback4)
PELEMENT_HEADER ElementList2[] =
{
&String4.header,
NULL
};
MAKE_STRING(String3,&ElementList2,NULL,IMAGE_USE_ERASE | IMAGE_USE_TRANSPARENCY | BIT7,0,1,44,99,20,1000000,
MODULE_VAR_NONE,
MODULE_VAR_NONE,
MODULE_VAR_NONE,
RGB(8,8,8),
RGB(0,0,0),
RGB(0,0,0),
GAUGE_FONT_DEFAULT2,
GAUGE_WEIGHT_DEFAULT2,
GAUGE_CHARSET2,
0,0,
NULL,
callback3)
PELEMENT_HEADER ElementList3[] =
{
&String3.header,
NULL
};
MAKE_STRING(String2,&ElementList3,NULL,IMAGE_USE_ERASE | IMAGE_USE_TRANSPARENCY | BIT7,0,3,6,99,20,1000000,
MODULE_VAR_NONE,
MODULE_VAR_NONE,
MODULE_VAR_NONE,
RGB(8,8,8),
RGB(0,0,0),
RGB(0,0,0),
GAUGE_FONT_DEFAULT2,
GAUGE_WEIGHT_DEFAULT2,
GAUGE_CHARSET2,
0,0,
NULL,
callback2)
PELEMENT_HEADER ElementList4[] =
{
&String2.header,
NULL
};
MAKE_STATIC(Static1,BMP_BACKGROUND,&ElementList4,NULL,IMAGE_USE_ERASE | IMAGE_USE_TRANSPARENCY | BIT7,0,0,0)
PELEMENT_HEADER ES_XMLSound_list = &Static1.header;