~flosoft/s25rttr/trunk

« back to all changes in this revision

Viewing changes to src/iwOptionsWindow.cpp

  • Committer: FloSoft
  • Date: 2014-04-25 15:35:50 UTC
  • Revision ID: flosoft@siedler25.org-20140425153550-9muu4vodhlqu58m0
committing subversion revision 9357 by FloSoft
astyle

modified:
s25client/trunk/
s25client/trunk/contrib/lua/lin32/include/
s25client/trunk/contrib/lua/lin64/include/
s25client/trunk/contrib/lua/mac/include/
s25client/trunk/contrib/lua/win32/include/
s25client/trunk/contrib/lua/win64/include/
s25client/trunk/driver/audio/SDL/src/
s25client/trunk/driver/src/
s25client/trunk/driver/video/GLFW/src/
s25client/trunk/driver/video/SDL/src/
s25client/trunk/driver/video/WinAPI/src/
s25client/trunk/src/
s25client/trunk/win32/
s25client/trunk/win32/prebuild-mutex/src/

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// $Id: iwOptionsWindow.cpp 8846 2013-08-17 11:54:47Z marcus $
 
1
// $Id: iwOptionsWindow.cpp 9357 2014-04-25 15:35:25Z FloSoft $
2
2
//
3
3
// Copyright (c) 2005 - 2011 Settlers Freaks (sf-team at siedler25.org)
4
4
//
44
44
///////////////////////////////////////////////////////////////////////////////
45
45
// Makros / Defines
46
46
#if defined _WIN32 && defined _DEBUG && defined _MSC_VER
47
 
        #define new new(_NORMAL_BLOCK, THIS_FILE, __LINE__)
48
 
        #undef THIS_FILE
49
 
        static char THIS_FILE[] = __FILE__;
 
47
#define new new(_NORMAL_BLOCK, THIS_FILE, __LINE__)
 
48
#undef THIS_FILE
 
49
static char THIS_FILE[] = __FILE__;
50
50
#endif
51
51
 
52
52
///////////////////////////////////////////////////////////////////////////////
55
55
 *
56
56
 *  @author OLiver
57
57
 */
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))
60
60
{
61
 
        this->gameDesktop = gameDesktop;
62
 
 
63
 
        // Der Soldat oben
64
 
        AddImage(1, 150, 36, LOADER.GetImageN("io", 30));
65
 
 
66
 
        // Versionszeile
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());
68
 
        // Copyright
69
 
        AddVarText(3, 150, 96, _("\xA9 2005 - %s Settlers Freaks"), COLOR_YELLOW, glArchivItem_Font::DF_CENTER | glArchivItem_Font::DF_BOTTOM, NormalFont, 1, GetCurrentYear());
70
 
 
71
 
        // "Tastaturbelegung"
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);
74
 
 
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);
78
 
 
79
 
        // "Spiel laden!"
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);
82
 
 
83
 
        // "Spiel speichern!"
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);
86
 
 
87
 
        // Ger�usche an/aus
88
 
        AddImageButton(12, 35, 300, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 114+!SETTINGS.sound.effekte));
89
 
 
90
 
        // Musik an/aus
91
 
        AddImageButton(13, 35, 340, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 116+!SETTINGS.sound.musik));
92
 
 
93
 
        // Ger�uschlautst�rke
94
 
        AddProgress(14, 100, 306, 160, 22, TC_GREEN2, 139, 138, 10)
95
 
                ->SetPosition(SETTINGS.sound.effekte_volume*10/255);
96
 
 
97
 
        // Musiklautst�rke
98
 
        AddProgress(15, 100, 346, 160, 22, TC_GREEN2, 139, 138, 10)
99
 
                ->SetPosition(SETTINGS.sound.musik_volume*10/255);
100
 
 
101
 
        //// Music Player
102
 
        AddTextButton(16,100,380,160,22,TC_GREEN2,_("Music player"),NormalFont);
103
 
 
104
 
        // Advanced Options
105
 
        AddTextButton(18, 67, 412, 168, 24, TC_GREEN2, _("Advanced"),NormalFont);       
106
 
 
107
 
        // "Spiel aufgeben"
108
 
        AddTextButton(17, 67, 443, 168, 24, TC_RED1, _("Surrender"),NormalFont);
109
 
        // "Spiel beenden"
110
 
        AddTextButton(0, 67, 474, 168, 24, TC_RED1, _("End game"),NormalFont);
111
 
        
 
61
    this->gameDesktop = gameDesktop;
 
62
 
 
63
    // Der Soldat oben
 
64
    AddImage(1, 150, 36, LOADER.GetImageN("io", 30));
 
65
 
 
66
    // Versionszeile
 
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());
 
68
    // Copyright
 
69
    AddVarText(3, 150, 96, _("\xA9 2005 - %s Settlers Freaks"), COLOR_YELLOW, glArchivItem_Font::DF_CENTER | glArchivItem_Font::DF_BOTTOM, NormalFont, 1, GetCurrentYear());
 
70
 
 
71
    // "Tastaturbelegung"
 
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);
 
74
 
 
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);
 
78
 
 
79
    // "Spiel laden!"
 
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);
 
82
 
 
83
    // "Spiel speichern!"
 
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);
 
86
 
 
87
    // Ger�usche an/aus
 
88
    AddImageButton(12, 35, 300, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 114 + !SETTINGS.sound.effekte));
 
89
 
 
90
    // Musik an/aus
 
91
    AddImageButton(13, 35, 340, 35, 35, TC_GREEN2, LOADER.GetImageN("io", 116 + !SETTINGS.sound.musik));
 
92
 
 
93
    // Ger�uschlautst�rke
 
94
    AddProgress(14, 100, 306, 160, 22, TC_GREEN2, 139, 138, 10)
 
95
    ->SetPosition(SETTINGS.sound.effekte_volume * 10 / 255);
 
96
 
 
97
    // Musiklautst�rke
 
98
    AddProgress(15, 100, 346, 160, 22, TC_GREEN2, 139, 138, 10)
 
99
    ->SetPosition(SETTINGS.sound.musik_volume * 10 / 255);
 
100
 
 
101
    //// Music Player
 
102
    AddTextButton(16, 100, 380, 160, 22, TC_GREEN2, _("Music player"), NormalFont);
 
103
 
 
104
    // Advanced Options
 
105
    AddTextButton(18, 67, 412, 168, 24, TC_GREEN2, _("Advanced"), NormalFont);
 
106
 
 
107
    // "Spiel aufgeben"
 
108
    AddTextButton(17, 67, 443, 168, 24, TC_RED1, _("Surrender"), NormalFont);
 
109
    // "Spiel beenden"
 
110
    AddTextButton(0, 67, 474, 168, 24, TC_RED1, _("End game"), NormalFont);
 
111
 
112
112
}
113
113
 
114
114
 
115
115
void iwOptionsWindow::Msg_ButtonClick(const unsigned int ctrl_id)
116
116
{
117
 
        switch(ctrl_id)
118
 
        {
119
 
        case 0: // "Spiel beenden"
120
 
                {
121
 
                        WindowManager::inst().Show(new iwEndgame);
122
 
                        Close();
123
 
                } break;
124
 
        case 4: // "Tastaturbelegung laden"
125
 
                {
126
 
                        WindowManager::inst().Show(new iwTextfile("keyboardlayout.txt",_("Keyboard layout")));
127
 
                } break;
128
 
        case 6: // "'Lies mich'-Datei laden"
129
 
                {
130
 
                        WindowManager::inst().Show(new iwTextfile("readme.txt",_("Readme!")));
131
 
                } break;
132
 
        case 10: // "Spiel speichern"
133
 
                {
134
 
                        WindowManager::inst().Show(new iwSave);
135
 
                } break;
136
 
 
137
 
        case 12: // Ger�usche an/aus
138
 
                {
139
 
                        SETTINGS.sound.effekte = !SETTINGS.sound.effekte;
140
 
                        GetCtrl<ctrlImageButton>(12)->SetImage(LOADER.GetImageN("io", 114+!SETTINGS.sound.effekte));
141
 
 
142
 
                        if(!SETTINGS.sound.effekte)
143
 
                                SoundManager::inst().StopAll();
144
 
                } break;
145
 
 
146
 
        case 13: // Musik an/aus
147
 
                {
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();
152
 
                        else
153
 
                                MusicPlayer::inst().Stop();
154
 
                } break;
155
 
        case 16: // Music player
156
 
                {
157
 
                        WindowManager::inst().Show(new iwMusicPlayer);
158
 
                } break;
159
 
        case 17: // Aufgeben
160
 
                {
161
 
                        WindowManager::inst().Show(new iwSurrender);
162
 
                        Close();
163
 
                } break;
164
 
        case 18: // Advanced
165
 
                {
166
 
                        WindowManager::inst().Show(new iwSettings(this->gameDesktop));
167
 
                        Close();
168
 
                } break;
169
 
 
170
 
        }
 
117
    switch(ctrl_id)
 
118
    {
 
119
        case 0: // "Spiel beenden"
 
120
        {
 
121
            WindowManager::inst().Show(new iwEndgame);
 
122
            Close();
 
123
        } break;
 
124
        case 4: // "Tastaturbelegung laden"
 
125
        {
 
126
            WindowManager::inst().Show(new iwTextfile("keyboardlayout.txt", _("Keyboard layout")));
 
127
        } break;
 
128
        case 6: // "'Lies mich'-Datei laden"
 
129
        {
 
130
            WindowManager::inst().Show(new iwTextfile("readme.txt", _("Readme!")));
 
131
        } break;
 
132
        case 10: // "Spiel speichern"
 
133
        {
 
134
            WindowManager::inst().Show(new iwSave);
 
135
        } break;
 
136
 
 
137
        case 12: // Ger�usche an/aus
 
138
        {
 
139
            SETTINGS.sound.effekte = !SETTINGS.sound.effekte;
 
140
            GetCtrl<ctrlImageButton>(12)->SetImage(LOADER.GetImageN("io", 114 + !SETTINGS.sound.effekte));
 
141
 
 
142
            if(!SETTINGS.sound.effekte)
 
143
                SoundManager::inst().StopAll();
 
144
        } break;
 
145
 
 
146
        case 13: // Musik an/aus
 
147
        {
 
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();
 
152
            else
 
153
                MusicPlayer::inst().Stop();
 
154
        } break;
 
155
        case 16: // Music player
 
156
        {
 
157
            WindowManager::inst().Show(new iwMusicPlayer);
 
158
        } break;
 
159
        case 17: // Aufgeben
 
160
        {
 
161
            WindowManager::inst().Show(new iwSurrender);
 
162
            Close();
 
163
        } break;
 
164
        case 18: // Advanced
 
165
        {
 
166
            WindowManager::inst().Show(new iwSettings(this->gameDesktop));
 
167
            Close();
 
168
        } break;
 
169
 
 
170
    }
171
171
}
172
172
 
173
173
void iwOptionsWindow::Msg_ProgressChange(const unsigned int ctrl_id, const unsigned short position)
174
174
{
175
 
        switch(ctrl_id)
176
 
        {
177
 
        case 14:
178
 
                {
179
 
                        SETTINGS.sound.effekte_volume = (unsigned char)position*255/10 + (position<10 ? 1 : 0);
180
 
                        AudioDriverWrapper::inst().SetMasterEffectVolume(SETTINGS.sound.effekte_volume);
181
 
                } break;
182
 
        case 15:
183
 
                {
184
 
                        SETTINGS.sound.musik_volume = (unsigned char)position*255/10 + (position<10 ? 1 : 0);
185
 
                        AudioDriverWrapper::inst().SetMasterMusicVolume(SETTINGS.sound.musik_volume);
186
 
                } break;
187
 
        }
 
175
    switch(ctrl_id)
 
176
    {
 
177
        case 14:
 
178
        {
 
179
            SETTINGS.sound.effekte_volume = (unsigned char)position * 255 / 10 + (position < 10 ? 1 : 0);
 
180
            AudioDriverWrapper::inst().SetMasterEffectVolume(SETTINGS.sound.effekte_volume);
 
181
        } break;
 
182
        case 15:
 
183
        {
 
184
            SETTINGS.sound.musik_volume = (unsigned char)position * 255 / 10 + (position < 10 ? 1 : 0);
 
185
            AudioDriverWrapper::inst().SetMasterMusicVolume(SETTINGS.sound.musik_volume);
 
186
        } break;
 
187
    }
188
188
}