58
iwOptionsWindow::iwOptionsWindow(dskGameInterface *gameDesktop)
59
: IngameWindow(CGI_OPTIONSWINDOW, 0xFFFF, 0xFFFF, 300, 515, _("Game menu"), LOADER.GetImageN("resource", 41))
58
iwOptionsWindow::iwOptionsWindow(dskGameInterface* gameDesktop)
59
: IngameWindow(CGI_OPTIONSWINDOW, 0xFFFF, 0xFFFF, 300, 515, _("Game menu"), LOADER.GetImageN("resource", 41))
61
this->gameDesktop = gameDesktop;
64
AddImage(1, 150, 36, LOADER.GetImageN("io", 30));
67
AddVarText(2, 150, 76, _("Return To The Roots - v%s-%s"), COLOR_YELLOW, glArchivItem_Font::DF_CENTER | glArchivItem_Font::DF_BOTTOM, NormalFont, 2, GetWindowVersion(), GetWindowRevision());
69
AddVarText(3, 150, 96, _("\xA9 2005 - %s Settlers Freaks"), COLOR_YELLOW, glArchivItem_Font::DF_CENTER | glArchivItem_Font::DF_BOTTOM, NormalFont, 1, GetCurrentYear());
72
AddImageButton(4, 35, 120, 35, 35,TC_GREEN2, LOADER.GetImageN("io", 79));
73
AddText(5, 85, 140, _("Keyboard layout"), COLOR_YELLOW, 0 | glArchivItem_Font::DF_BOTTOM, NormalFont);
75
// "'Lies mich'-Datei laden"
76
AddImageButton(6, 35, 160, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 79));
77
AddText(7, 85, 180, _("Load 'ReadMe' file"), COLOR_YELLOW, 0 | glArchivItem_Font::DF_BOTTOM, NormalFont);
80
AddImageButton( 8, 35, 210, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 48));
81
AddText(9, 85, 230, _("Load game!"), COLOR_YELLOW, 0 | glArchivItem_Font::DF_BOTTOM, NormalFont);
84
AddImageButton(10, 35, 250, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 47));
85
AddText(11, 85, 270, _("Save game!"), COLOR_YELLOW, 0 | glArchivItem_Font::DF_BOTTOM, NormalFont);
88
AddImageButton(12, 35, 300, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 114+!SETTINGS.sound.effekte));
91
AddImageButton(13, 35, 340, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 116+!SETTINGS.sound.musik));
94
AddProgress(14, 100, 306, 160, 22, TC_GREEN2, 139, 138, 10)
95
->SetPosition(SETTINGS.sound.effekte_volume*10/255);
98
AddProgress(15, 100, 346, 160, 22, TC_GREEN2, 139, 138, 10)
99
->SetPosition(SETTINGS.sound.musik_volume*10/255);
102
AddTextButton(16,100,380,160,22,TC_GREEN2,_("Music player"),NormalFont);
105
AddTextButton(18, 67, 412, 168, 24, TC_GREEN2, _("Advanced"),NormalFont);
108
AddTextButton(17, 67, 443, 168, 24, TC_RED1, _("Surrender"),NormalFont);
110
AddTextButton(0, 67, 474, 168, 24, TC_RED1, _("End game"),NormalFont);
61
this->gameDesktop = gameDesktop;
64
AddImage(1, 150, 36, LOADER.GetImageN("io", 30));
67
AddVarText(2, 150, 76, _("Return To The Roots - v%s-%s"), COLOR_YELLOW, glArchivItem_Font::DF_CENTER | glArchivItem_Font::DF_BOTTOM, NormalFont, 2, GetWindowVersion(), GetWindowRevision());
69
AddVarText(3, 150, 96, _("\xA9 2005 - %s Settlers Freaks"), COLOR_YELLOW, glArchivItem_Font::DF_CENTER | glArchivItem_Font::DF_BOTTOM, NormalFont, 1, GetCurrentYear());
72
AddImageButton(4, 35, 120, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 79));
73
AddText(5, 85, 140, _("Keyboard layout"), COLOR_YELLOW, 0 | glArchivItem_Font::DF_BOTTOM, NormalFont);
75
// "'Lies mich'-Datei laden"
76
AddImageButton(6, 35, 160, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 79));
77
AddText(7, 85, 180, _("Load 'ReadMe' file"), COLOR_YELLOW, 0 | glArchivItem_Font::DF_BOTTOM, NormalFont);
80
AddImageButton( 8, 35, 210, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 48));
81
AddText(9, 85, 230, _("Load game!"), COLOR_YELLOW, 0 | glArchivItem_Font::DF_BOTTOM, NormalFont);
84
AddImageButton(10, 35, 250, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 47));
85
AddText(11, 85, 270, _("Save game!"), COLOR_YELLOW, 0 | glArchivItem_Font::DF_BOTTOM, NormalFont);
88
AddImageButton(12, 35, 300, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 114 + !SETTINGS.sound.effekte));
91
AddImageButton(13, 35, 340, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 116 + !SETTINGS.sound.musik));
94
AddProgress(14, 100, 306, 160, 22, TC_GREEN2, 139, 138, 10)
95
->SetPosition(SETTINGS.sound.effekte_volume * 10 / 255);
98
AddProgress(15, 100, 346, 160, 22, TC_GREEN2, 139, 138, 10)
99
->SetPosition(SETTINGS.sound.musik_volume * 10 / 255);
102
AddTextButton(16, 100, 380, 160, 22, TC_GREEN2, _("Music player"), NormalFont);
105
AddTextButton(18, 67, 412, 168, 24, TC_GREEN2, _("Advanced"), NormalFont);
108
AddTextButton(17, 67, 443, 168, 24, TC_RED1, _("Surrender"), NormalFont);
110
AddTextButton(0, 67, 474, 168, 24, TC_RED1, _("End game"), NormalFont);
115
115
void iwOptionsWindow::Msg_ButtonClick(const unsigned int ctrl_id)
119
case 0: // "Spiel beenden"
121
WindowManager::inst().Show(new iwEndgame);
124
case 4: // "Tastaturbelegung laden"
126
WindowManager::inst().Show(new iwTextfile("keyboardlayout.txt",_("Keyboard layout")));
128
case 6: // "'Lies mich'-Datei laden"
130
WindowManager::inst().Show(new iwTextfile("readme.txt",_("Readme!")));
132
case 10: // "Spiel speichern"
134
WindowManager::inst().Show(new iwSave);
137
case 12: // Ger�usche an/aus
139
SETTINGS.sound.effekte = !SETTINGS.sound.effekte;
140
GetCtrl<ctrlImageButton>(12)->SetImage(LOADER.GetImageN("io", 114+!SETTINGS.sound.effekte));
142
if(!SETTINGS.sound.effekte)
143
SoundManager::inst().StopAll();
146
case 13: // Musik an/aus
148
SETTINGS.sound.musik = !SETTINGS.sound.musik;
149
GetCtrl<ctrlImageButton>(13)->SetImage(LOADER.GetImageN("io", 116+!SETTINGS.sound.musik));
150
if(SETTINGS.sound.musik)
151
MusicPlayer::inst().Play();
153
MusicPlayer::inst().Stop();
155
case 16: // Music player
157
WindowManager::inst().Show(new iwMusicPlayer);
161
WindowManager::inst().Show(new iwSurrender);
166
WindowManager::inst().Show(new iwSettings(this->gameDesktop));
119
case 0: // "Spiel beenden"
121
WindowManager::inst().Show(new iwEndgame);
124
case 4: // "Tastaturbelegung laden"
126
WindowManager::inst().Show(new iwTextfile("keyboardlayout.txt", _("Keyboard layout")));
128
case 6: // "'Lies mich'-Datei laden"
130
WindowManager::inst().Show(new iwTextfile("readme.txt", _("Readme!")));
132
case 10: // "Spiel speichern"
134
WindowManager::inst().Show(new iwSave);
137
case 12: // Ger�usche an/aus
139
SETTINGS.sound.effekte = !SETTINGS.sound.effekte;
140
GetCtrl<ctrlImageButton>(12)->SetImage(LOADER.GetImageN("io", 114 + !SETTINGS.sound.effekte));
142
if(!SETTINGS.sound.effekte)
143
SoundManager::inst().StopAll();
146
case 13: // Musik an/aus
148
SETTINGS.sound.musik = !SETTINGS.sound.musik;
149
GetCtrl<ctrlImageButton>(13)->SetImage(LOADER.GetImageN("io", 116 + !SETTINGS.sound.musik));
150
if(SETTINGS.sound.musik)
151
MusicPlayer::inst().Play();
153
MusicPlayer::inst().Stop();
155
case 16: // Music player
157
WindowManager::inst().Show(new iwMusicPlayer);
161
WindowManager::inst().Show(new iwSurrender);
166
WindowManager::inst().Show(new iwSettings(this->gameDesktop));
173
173
void iwOptionsWindow::Msg_ProgressChange(const unsigned int ctrl_id, const unsigned short position)
179
SETTINGS.sound.effekte_volume = (unsigned char)position*255/10 + (position<10 ? 1 : 0);
180
AudioDriverWrapper::inst().SetMasterEffectVolume(SETTINGS.sound.effekte_volume);
184
SETTINGS.sound.musik_volume = (unsigned char)position*255/10 + (position<10 ? 1 : 0);
185
AudioDriverWrapper::inst().SetMasterMusicVolume(SETTINGS.sound.musik_volume);
179
SETTINGS.sound.effekte_volume = (unsigned char)position * 255 / 10 + (position < 10 ? 1 : 0);
180
AudioDriverWrapper::inst().SetMasterEffectVolume(SETTINGS.sound.effekte_volume);
184
SETTINGS.sound.musik_volume = (unsigned char)position * 255 / 10 + (position < 10 ? 1 : 0);
185
AudioDriverWrapper::inst().SetMasterMusicVolume(SETTINGS.sound.musik_volume);