home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 51
/
PCGamer51_17Demos.iso
/
games
/
CM
/
CyclingManagerDemoCangas.exe
/
CyclingManagerDemo
/
scripts
/
common
/
config
/
page_config.cnc
< prev
next >
Wrap
Text File
|
2001-07-05
|
16KB
|
499 lines
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
//Dialbox configuration
//----------------------------------------------------------------------------------------------------------------//
//----------------------------------------------------------------------------------------------------------------//
func void Dialog_Configuration_Create ()
{
var i32x id;
// Get page component pointer
oDialog_Configuration.pThis = GetParserComponent();
// Dialog component number
SetComponentNumber(41);
// Don't need to save
oDialog_Configuration.m_iNeedSave = false;
// No change on settings yet
oDialog_Configuration.m_bChangeLanguage = false;
oDialog_Configuration.m_bChangeVideo = false;
oDialog_Configuration.m_bChangeAudio = false;
// No error dialbox
oDialog_Configuration.m_cErrorDialbox = ID_NOT_CREATED;
//Dialog background
oDialog_Configuration.m_cBackground = Init_LibObject_FilledCadre(tCadreDialbox,700,530);
// Dialog Title
oDialog_Configuration.m_cTitle = InitContainer(tFnt_20);
SetComponentPosition(oDialog_Configuration.m_cTitle, 10, 35);
SetContainerText(oDialog_Configuration.m_cTitle, GetLocalizedFromGMKey(286));
// Game version
id = InitContainer(tFontArialItalique);
SetContainerText(id,G_szVersion);
ResizeComponent(id);
SetComponentPosition(id,650-GetComponentWidth(id),42);
// Valid button
oDialog_Configuration.m_cOk = InitLibMultiSpriteButtonWithText(tButton32Multi,9,GetLocalizedFromGMKey(121),tFontArial,0);
SetTextButtonStateFunc(oDialog_Configuration.m_cOk,CheckBoxMultiState,MultiRadioButtonWithText_TextState);
SetComponentPosition(oDialog_Configuration.m_cOk, 325-GetComponentWidth(oDialog_Configuration.m_cOk)/2, 440);
// Close button
oDialog_Configuration.m_cClose = InitButton(tBtnClose);
SetContainerSize(oDialog_Configuration.m_cClose,25,25);
SetContainerStateFunc(oDialog_Configuration.m_cClose, ThreeStateButtonState);
SetComponentPosition(oDialog_Configuration.m_cClose,635,5);
// *** Create onglet selection radio button ***
oDialog_Configuration.m_cGeneral=Init_LibObject_MultiRadioButtonWithText(tButton32Multi,7,GetLocalizedFromKey(1311),tFontArial,0);
SetComponentPosition(oDialog_Configuration.m_cGeneral, 50, 70);
SetTextButtonStateFunc(oDialog_Configuration.m_cGeneral,CheckBoxMultiState,MultiRadioButtonWithText_TextState);
ResizeComponent(oDialog_Configuration.m_cGeneral);
oDialog_Configuration.m_cVideo=Init_LibObject_MultiRadioButtonWithText(tButton32Multi,7,GetLocalizedFromKey(1312),tFontArial,0);
SetComponentPosition(oDialog_Configuration.m_cVideo, 227, 70);
SetTextButtonStateFunc(oDialog_Configuration.m_cVideo,CheckBoxMultiState,MultiRadioButtonWithText_TextState);
ResizeComponent(oDialog_Configuration.m_cVideo);
oDialog_Configuration.m_cAudio=Init_LibObject_MultiRadioButtonWithText(tButton32Multi,7,GetLocalizedFromKey(1310),tFontArial,0);
SetComponentPosition(oDialog_Configuration.m_cAudio, 404, 70);
SetTextButtonStateFunc(oDialog_Configuration.m_cAudio,CheckBoxMultiState,MultiRadioButtonWithText_TextState);
ResizeComponent(oDialog_Configuration.m_cAudio);
id = InitContainer(tCommonTableBorder);
SetContainerSize(id,650,1);
SetComponentPosition(id,8,120);
// Init onglets
Onglet_general_InitMembers ();
Onglet_audio_InitMembers();
Onglet_video_InitMembers();
// *** Create onglet***
oDialog_Configuration.m_cGeneralOnglet = InitObject(
"Onglet General",
oOnglet_general.oFunc.pcreate,
oOnglet_general.oFunc.pevent
);
oDialog_Configuration.m_cVideoOnglet = InitObject(
"Onglet Video",
oOnglet_video.oFunc.pcreate,
oOnglet_video.oFunc.pevent
);
oDialog_Configuration.m_cAudioOnglet = InitObject(
"Onglet Audio",
oOnglet_audio.oFunc.pcreate,
oOnglet_audio.oFunc.pevent
);
// Select general onglet by default
SetTextRadioButtonCheckBox(oDialog_Configuration.m_cGeneral,1);
// Hide video and audio configuration
SetComponentVisibleStatus(oDialog_Configuration.m_cVideoOnglet,0);
SetComponentVisibleStatus(oDialog_Configuration.m_cAudioOnglet,0);
SetComponentPosition(oDialog_Configuration.m_cGeneralOnglet,10,130);
SetComponentPosition(oDialog_Configuration.m_cVideoOnglet,10,130);
SetComponentPosition(oDialog_Configuration.m_cAudioOnglet,10,130);
// Resize dialog
SetObjectSize(700,550);
}
//Dialog_Configuration Event func
//----------------------------------------------------------------------------------------------------------------//
func i32x Dialog_Configuration_Event (i32x _iComponentID, i32x _iEvent)
{
if(_iComponentID == oDialog_Configuration.m_cClose)
{
if(_iEvent == GUI_BUTTON_PRESSED )
{
PlaySound(0,sbClickSound[0]);
PushEvent(GUI_DESTROY_ME);
}
}
if(_iEvent == GUI_RADIOBUTTON_CHANGED)
{
PlaySound(0,sbClickSound[0]);
if(_iComponentID == oDialog_Configuration.m_cGeneral)
{
// UnSelect video and audio onglet
SetTextRadioButtonCheckBox(oDialog_Configuration.m_cVideo,0);
SetTextRadioButtonCheckBox(oDialog_Configuration.m_cAudio,0);
// Hide video and audio
SetComponentVisibleStatus(oDialog_Configuration.m_cVideoOnglet,0);
SetComponentVisibleStatus(oDialog_Configuration.m_cAudioOnglet,0);
// Show general
SetComponentVisibleStatus(oDialog_Configuration.m_cGeneralOnglet,1);
}
if(_iComponentID == oDialog_Configuration.m_cVideo)
{
// UnSelect general and audio onglet
SetTextRadioButtonCheckBox(oDialog_Configuration.m_cGeneral,0);
SetTextRadioButtonCheckBox(oDialog_Configuration.m_cAudio,0);
// Hide general and audio
SetComponentVisibleStatus(oDialog_Configuration.m_cGeneralOnglet,0);
SetComponentVisibleStatus(oDialog_Configuration.m_cAudioOnglet,0);
// Show video
SetComponentVisibleStatus(oDialog_Configuration.m_cVideoOnglet,1);
}
if(_iComponentID == oDialog_Configuration.m_cAudio)
{
// UnSelect video and general onglet
SetTextRadioButtonCheckBox(oDialog_Configuration.m_cVideo,0);
SetTextRadioButtonCheckBox(oDialog_Configuration.m_cGeneral,0);
// Hide video and general
SetComponentVisibleStatus(oDialog_Configuration.m_cVideoOnglet,0);
SetComponentVisibleStatus(oDialog_Configuration.m_cGeneralOnglet,0);
// Show audio
SetComponentVisibleStatus(oDialog_Configuration.m_cAudioOnglet,1);
}
}
if(_iComponentID == oDialog_Configuration.m_cOk)
{
// if(_iEvent == GUI_COMPONENT_MOUSE_LDOWN )
// PlaySound(0,sbClickSound[0]);
if(_iEvent == GUI_BUTTON_PRESSED )
{
var szx szLogin;
var component pComponent;
PlaySound(0,sbClickSound[0]);
// retrieve login from edit box
pComponent=GetParserComponent();
SetParserComponent(oOnglet_general.pComponent);
szLogin = GetContainerText(oOnglet_general.c_login);
SetParserComponent(pComponent);
// update login if needed
if (strcmp(g_oUser.m_szLogin,szLogin) != 0)
{
g_oUser.m_szLogin = szLogin;
Join_SetStringFromIndex(g_oLocalJoins.m_iUser_szName,0,g_oUser.m_szLogin);
Update_Title_Bar_Text();
}
if(oDialog_Configuration.m_iNeedSave)
{
// Save config into Config.cfg
SaveConfig();
}
else
{
PushEvent(GUI_DESTROY_ME);
}
}
}
if(oDialog_Configuration.m_cErrorDialbox != ID_NOT_CREATED)
{
if(_iComponentID == oDialog_Configuration.m_cErrorDialbox)
{
if(_iEvent == GUI_DESTROY_ME )
{
PushEvent(GUI_DESTROY_ME);
}
}
}
return 1;
}
func void FileError_MessageBoxCallback(i32x _iResult)
{
// Error dialbox return
// Destroy the dialbox
PushEvent(GUI_DESTROY_ME);
}
// Must be called in Dialbox EventFunc !
//Dialog configuration save config func
//----------------------------------------------------------------------------------------------------------------//
func void SaveConfig()
{
/*
HERE IS THE MODEL
func void LoadVideoMode()
{
SetTripleBuffering(1);
SetVideoMode(8);
SetTexBitDepth(32);
SetDevice(0);
}
*/
var FILE savefile;
var szx szLine;
var i32x iTriple,iMode,iTextureBitDepth,iDevice,iResult,iLanguage,iX,iY,iMuteFX,iMuteCyclistsFX,iMuteMusic;
var f32x fFX,fCyclistsFX,fMusic;
var i32x iCyclistLOD,iTextureLOD;
savefile=fopen("scripts/cfg/Config.cfg",1,1);
iLanguage = oOnglet_general.m_iLanguage;
if(savefile)
{
szLine="func void LoadVideoMode()\n";
iResult=fwriteline(savefile,szLine);
szLine="{\n";
iResult=fwriteline(savefile,szLine);
iTriple = oOnglet_video.m_bTripleBuffer;
szLine=strcat("\tSetTripleBuffering(",itoa(iTriple));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
iMode = oVideoModes.iVideoMode[oObject_VideoModeListbox.m_iSelectedVideoMode];
szLine=strcat("\tSetVideoMode(",itoa(iMode));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
iTextureBitDepth = oOnglet_video.m_iTextureBitDepth;
szLine=strcat("\tSetTexBitDepth(",itoa(iTextureBitDepth));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
iDevice = oObject_DeviceListbox.m_iSelectedDevice;
szLine=strcat("\tSetDevice(",itoa(iDevice));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
iCyclistLOD = oOnglet_video.m_iCyclistLOD;
szLine=strcat("\tSetCyclistLOD(",itoa(iCyclistLOD));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
iTextureLOD = oOnglet_video.m_iTextureLOD;
szLine=strcat("\tSetTextureLOD(",itoa(iTextureLOD));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
szLine="}\n";
iResult=fwriteline(savefile,szLine);
szLine="func void LoadLanguage()\n";
iResult=fwriteline(savefile,szLine);
szLine="{\n";
iResult=fwriteline(savefile,szLine);
szLine=strcat("\tSetLanguage(",itoa(iLanguage));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
szLine="}\n";
iResult=fwriteline(savefile,szLine);
szLine="func void LoadAudio()\n";
iResult=fwriteline(savefile,szLine);
szLine="{\n";
iResult=fwriteline(savefile,szLine);
fFX = GetLineVol(Sound_eLine_Interface);
szLine=strcat("\tSetLineVol(Sound_eLine_Interface,",ftoa(fFX));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
fCyclistsFX = GetLineVol(Sound_eLine_Cyclists);
szLine=strcat("\tSetLineVol(Sound_eLine_Cyclists,",ftoa(fCyclistsFX));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
fMusic = g_oUser.m_fMp3Volume;
szLine=strcat("\tg_oUser.m_fMp3Volume = ",ftoa(fMusic));
szLine=strcat(szLine,";\n");
iResult=fwriteline(savefile,szLine);
iMuteFX = GetLineOnOff(Sound_eLine_Interface);
szLine=strcat("\tSetLineOnOff(Sound_eLine_Interface,",itoa(iMuteFX));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
iMuteCyclistsFX = GetLineOnOff(Sound_eLine_Cyclists);
szLine=strcat("\tSetLineOnOff(Sound_eLine_Cyclists,",itoa(iMuteCyclistsFX));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
iMuteMusic = GetLineOnOff(Sound_eLine_Music);
szLine=strcat("\tSetLineOnOff(Sound_eLine_Music,",itoa(iMuteMusic));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
szLine="}\n";
iResult=fwriteline(savefile,szLine);
iResult=fclose(savefile);
//Destroy dialbox
PushEvent(GUI_DESTROY_ME);
}
else
{
InitMessageBox(GetLocalizedFromGMKey(260), g_iTypeOkDialog, FileError_MessageBoxCallback);
oDialog_Configuration.m_cErrorDialbox = Message_Box_Constructor();
//Center dialbox
ResizeComponent(oDialog_Configuration.m_cErrorDialbox);
iX = GetComponentWidth(oDialog_Configuration.m_cBackground) - GetComponentWidth(oDialog_Configuration.m_cErrorDialbox);
iX = iX / 2;
iY = GetComponentHeight(oDialog_Configuration.m_cBackground) - GetComponentHeight(oDialog_Configuration.m_cErrorDialbox);
iY = iY / 2;
SetComponentPosition(oDialog_Configuration.m_cErrorDialbox,iX,iY);
}
if(oDialog_Configuration.m_bChangeLanguage == true)
{
// Set new language
SetLanguage(iLanguage);
// Update Main menu
HideMenuPrincipal ();
DisplayMenuPrincipal ();
// reload page
ReloadPage();
}
if(oDialog_Configuration.m_bChangeVideo == true)
{
// Set new Video Mode
SetTripleBuffering(iTriple);
SetVideoMode(iMode);
SetTexBitDepth(iTextureBitDepth);
SetDevice(iDevice);
SetCyclistLOD(iCyclistLOD);
SetTextureLOD(iTextureLOD);
}
}
//Raz video mode config to keep API choice
//----------------------------------------------------------------------------------------------------------------//
func void ResetVideoModeConfig()
{
var FILE savefile;
var szx szLine;
var i32x iResult,iLanguage;
var f32x fFX,fMusic,fCyclistsFX;
var i32x iX,iY,iMuteFX,iMuteCyclistsFX,iMuteMusic;
savefile=fopen("scripts/cfg/Config.cfg",1,1);
if(savefile)
{
szLine="func void LoadVideoMode()\n";
iResult=fwriteline(savefile,szLine);
szLine="{\n";
iResult=fwriteline(savefile,szLine);
// No video config
// ***************
szLine="}\n";
iResult=fwriteline(savefile,szLine);
szLine="func void LoadLanguage()\n";
iResult=fwriteline(savefile,szLine);
szLine="{\n";
iResult=fwriteline(savefile,szLine);
szLine=strcat("\tSetLanguage(",itoa(GetLanguage()));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
szLine="}\n";
iResult=fwriteline(savefile,szLine);
szLine="func void LoadAudio()\n";
iResult=fwriteline(savefile,szLine);
szLine="{\n";
iResult=fwriteline(savefile,szLine);
fFX = GetLineVol(0);
szLine=strcat("\tSetLineVol(Sound_eLine_Interface,",ftoa(fFX));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
fCyclistsFX = GetLineVol(Sound_eLine_Cyclists);
szLine=strcat("\tSetLineVol(Sound_eLine_Cyclists,",ftoa(fCyclistsFX));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
fMusic = g_oUser.m_fMp3Volume;
szLine=strcat("\tg_oUser.m_fMp3Volume = ",ftoa(fMusic));
szLine=strcat(szLine,";\n");
iResult=fwriteline(savefile,szLine);
iMuteFX = GetLineOnOff(Sound_eLine_Interface);
szLine=strcat("\tSetLineOnOff(Sound_eLine_Interface,",itoa(iMuteFX));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
iMuteCyclistsFX = GetLineOnOff(Sound_eLine_Cyclists);
szLine=strcat("\tSetLineOnOff(Sound_eLine_Cyclists,",itoa(iMuteCyclistsFX));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
iMuteMusic = GetLineOnOff(Sound_eLine_Music);
szLine=strcat("\tSetLineOnOff(Sound_eLine_Music,",itoa(iMuteMusic));
szLine=strcat(szLine,");\n");
iResult=fwriteline(savefile,szLine);
szLine="}\n";
iResult=fwriteline(savefile,szLine);
iResult=fclose(savefile);
}
}
//Dialog_Configuration Constructor
//----------------------------------------------------------------------------------------------------------------//
func i32x Dialog_Configuration_Constructor ()
{
oDialog_Configuration.iWindowID = InitObject(
"Configuration",
oDialog_Configuration.oFunc.pcreate,
oDialog_Configuration.oFunc.pevent);
SetStackEvents(oDialog_Configuration.iWindowID, 0);
// create waiting dialog
CreateDialog(DIALOG_LOADING_DATA);
return oDialog_Configuration.iWindowID;
}
//Dialog_Configuration Destructor
//----------------------------------------------------------------------------------------------------------------//
func void Dialog_Configuration_Destructor ()
{
// Destroy all page
DeleteComponent(oDialog_Configuration.iWindowID);
}
//Dialog_Configuration Init member
//----------------------------------------------------------------------------------------------------------------//
func void Dialog_Configuration_InitMembers ()
{
oDialog_Configuration.oFunc.pcreate = Dialog_Configuration_Create;
oDialog_Configuration.oFunc.pevent = Dialog_Configuration_Event;
}