equal
deleted
inserted
replaced
61 SDLInteraction::~SDLInteraction() |
61 SDLInteraction::~SDLInteraction() |
62 { |
62 { |
63 stopMusic(); |
63 stopMusic(); |
64 if (m_audioInitialized) |
64 if (m_audioInitialized) |
65 { |
65 { |
66 if (m_music != NULL) { |
66 if (m_music != NULL) |
|
67 { |
67 Mix_HaltMusic(); |
68 Mix_HaltMusic(); |
68 Mix_FreeMusic(m_music); |
69 Mix_FreeMusic(m_music); |
69 } |
70 } |
70 Mix_CloseAudio(); |
71 Mix_CloseAudio(); |
71 } |
72 } |
84 modes = SDL_ListModes(NULL, SDL_FULLSCREEN); |
85 modes = SDL_ListModes(NULL, SDL_FULLSCREEN); |
85 |
86 |
86 if((modes == (SDL_Rect **)0) || (modes == (SDL_Rect **)-1)) |
87 if((modes == (SDL_Rect **)0) || (modes == (SDL_Rect **)-1)) |
87 { |
88 { |
88 result << "640x480"; |
89 result << "640x480"; |
89 } else |
90 } |
|
91 else |
90 { |
92 { |
91 for(int i = 0; modes[i]; ++i) |
93 for(int i = 0; modes[i]; ++i) |
92 if ((modes[i]->w >= 640) && (modes[i]->h >= 480)) |
94 if ((modes[i]->w >= 640) && (modes[i]->h >= 480)) |
93 result << QString("%1x%2").arg(modes[i]->w).arg(modes[i]->h); |
95 result << QString("%1x%2").arg(modes[i]->w).arg(modes[i]->h); |
94 } |
96 } |
237 } |
239 } |
238 |
240 |
239 |
241 |
240 void SDLInteraction::stopMusic() |
242 void SDLInteraction::stopMusic() |
241 { |
243 { |
242 if (m_isPlayingMusic && (m_music != NULL)) { |
244 if (m_isPlayingMusic && (m_music != NULL)) |
|
245 { |
243 // fade out music to finish 0,5 seconds from now |
246 // fade out music to finish 0,5 seconds from now |
244 while(!Mix_FadeOutMusic(1000) && Mix_PlayingMusic()) { |
247 while(!Mix_FadeOutMusic(1000) && Mix_PlayingMusic()) |
|
248 { |
245 SDL_Delay(100); |
249 SDL_Delay(100); |
246 } |
250 } |
247 } |
251 } |
248 |
252 |
249 m_isPlayingMusic = false; |
253 m_isPlayingMusic = false; |