static void toggleSound() { Widget *w = menu.widgets[menu.index]; game.audio = game.audio == TRUE ? FALSE : TRUE; if (game.audio == FALSE) { game.audioDisabled = FALSE; freeMusic(); Mix_CloseAudio(); } else { if (initAudio() == TRUE) { playLoadedMusic(); } else { game.audio = FALSE; } } updateLabelText(w->label, game.audio == TRUE ? _("Yes") : _("No")); }
bool MySoundEffect::loadMusic(const char * path) { freeMusic(); music = Mix_LoadMUS(path); return music != NULL; }
void freeLevelResources() { /* Free the entities */ freeEntities(); /* Free the decorations */ freeDecorations(); /* Free the animations */ freeAnimations(); /* Free the sounds */ freeSounds(); if (game.overrideMusic == FALSE) { /* Free music */ freeMusic(); } /* Free the map data */ freeMap(); /* Free the sprites */ freeSprites(); /* Free the triggers */ freeTriggers(); /* Free the properties */ freeProperties(); /* Free the targets */ freeTargets(); /* Free the message queue */ freeMessageQueue(); /* Free the scripts */ freeScript(); }
void Music::changeMusic(const Common::String filename, bool storeCurPos, bool seektoStoredPos) { if (storeCurPos) _storedPos = _musicFile->pos(); stopSoundEffect(); freeMusic(); _musicFile = _vm->_resource->openDataFile(filename); if (seektoStoredPos) _musicFile->seek(_storedPos); Audio::SeekableAudioStream *audioStream = Audio::makePCMStream(_musicFile, SAMPLESPEED, getSoundFlags()); _vm->_mixer->playStream(Audio::Mixer::kMusicSoundType, &_musicHandle, new Audio::LoopingAudioStream(audioStream, 0)); }
void changeSoundQuality() { freeMusic(); Mix_CloseAudio(); if (game.audio == FALSE) { return; } initAudio(); playLoadedMusic(); }
void loadMusic(char *musicToLoad) { char *name; if (strcmpignorecase(musicName, musicToLoad) != 0) { STRNCPY(musicName, musicToLoad, MAX_VALUE_LENGTH); } if (game.audio == FALSE || game.musicDefaultVolume == 0) { return; } freeMusic(); name = getSongName(musicToLoad, 0); if (name == NULL || strcmpignorecase(name, "NO_MUSIC") == 0) { return; } music = loadMusicFromPak(name); if (music != NULL) { return; } name = getSongName(musicToLoad, 1); if (name == NULL || strcmpignorecase(name, "NO_MUSIC") == 0) { return; } music = loadMusicFromPak(name); }
/** * Author: Joel Denke, Marcus Isaksson * Description: Run the game on client */ int main(int argc, char *argv[]) { int i, j, no, yb, keysHeld[323] = {0}; int result = 0; SDL_Thread * eventBuffer; SDL_Thread * runBuffer; struct timer_t2 fps; char * server_ip = malloc(sizeof(char) * 16); char * elem = malloc(sizeof(char) * MESSAGE_SIZE); pColor = malloc(sizeof(SDL_Color)); oColor = malloc(sizeof(SDL_Color)); connection = malloc(sizeof(connection_data)); for (i = 0; i < NO_BUFFERS; i++) { cb[i] = malloc(sizeof(cBuffer)); b_lock[i] = SDL_CreateMutex(); } strcpy(server_ip, "127.0.0.1"); pColor->r = 0; pColor->g = 255; pColor->b = 255; oColor->r = 0; oColor->g = 0; oColor->b = 255; initGraphics(); initSound(); printf("Render menu\n"); graphicsMenu(&gameWorld, server_ip); initSlots(cb[0], BUFFER_SIZE); initSlots(cb[1], NO_OBJECTS); initSlots(cb[2], BUFFER_SIZE); state = gStart; if (clientConnect(connection, server_ip) == 0) { eventBuffer = SDL_CreateThread(listenEventBuffer, &connection); while (1) { switch (state) { case gStart: runData(2); break; case gInit: timer_start(&fps); startDraw(); drawLoadScr(SCREEN_WIDTH, SCREEN_HEIGHT); endDraw(); initWorld(); if (timer_get_ticks(&fps) < 1000 / FPS) { //delay the as much time as we need to get desired frames per second SDL_Delay( ( 1000 / FPS ) - timer_get_ticks(&fps) ); } break; case gRunning : timer_start(&fps); drawGraphics(); listenInput(keysHeld); // i = 0: players; i = 1: objects; i = 2: messages for (i = 0; i < NO_BUFFERS; i++) { runData(i); } if (timer_get_ticks(&fps) < 1000 / FPS) { //delay the as much time as we need to get desired frames per second SDL_Delay( ( 1000 / FPS ) - timer_get_ticks(&fps) ); } break; case gExit : //sprintf(string, "%d,quit", connection->client_id); printf("Freeing music now\n"); pauseMusic(); freeMusic(); end_session(connection); printf("Player is exit game now\n"); exitClient(eventBuffer); break; default : printf("test\n"); break; } } } else { printf("Misslyckade med att kontakta servern på ip-adress: '%s'\n", server_ip); state = gExit; pauseMusic(); freeMusic(); exitClient(eventBuffer); } return 0; }
MySoundEffect::~MySoundEffect() { freeMusic(); freeChunk(); }