//------------------------------------------------------------------------- // CheckMusicToggle() //------------------------------------------------------------------------- void CheckMusicToggle(void) { static boolean M_KeyReleased; if (in_is_binding_pressed(e_bi_music)) { if (M_KeyReleased #if GAME_VERSION != SHAREWARE_VERSION && ((jam_buff[0] != sc_j) || (jam_buff[1] != sc_a)) #endif ) { if (!AdLibPresent) { DISPLAY_TIMED_MSG(NoAdLibCard,MP_BONUS,MT_GENERAL); ::sd_play_player_sound(NOWAYSND, bstone::AC_NO_WAY); return; } else if (MusicMode != smm_Off) { SD_SetMusicMode(smm_Off); memcpy((char *)&MusicOn[58],"OFF.",4); } else { SD_SetMusicMode(smm_AdLib); StartMusic(false); memcpy((char *)&MusicOn[58],"ON. ",4); } DISPLAY_TIMED_MSG(MusicOn,MP_BONUS,MT_GENERAL); M_KeyReleased=false; } } else M_KeyReleased=true; }
/////////////////////////////////////////////////////////////////////////// // // SD_Startup() - starts up the Sound Mgr // Detects all additional sound hardware and installs my ISR // /////////////////////////////////////////////////////////////////////////// void SD_Startup(void) { int i; if (SD_Started) return; if((audioMutex = SDL_CreateMutex()) == NULL) { printf("Unable to create audio mutex\n"); return; } if(Mix_OpenAudio(param_samplerate, AUDIO_S16, 2, param_audiobuffer)) { printf("Unable to open audio: %s\n", Mix_GetError()); return; } Mix_ReserveChannels(2); // reserve player and boss weapon channels Mix_GroupChannels(2, MIX_CHANNELS-1, 1); // group remaining channels // Init music if(YM3812Init(1,3579545,param_samplerate)) { printf("Unable to create virtual OPL!!\n"); } for(i=1; i<0xf6; i++) YM3812Write(oplChip,i,0,MAX_VOLUME); YM3812Write(oplChip,1,0x20,MAX_VOLUME); // Set WSE=1 // YM3812Write(0,8,0); // Set CSM=0 & SEL=0 // already set in for statement samplesPerMusicTick = param_samplerate / MUSIC_RATE; // SDL_t0FastAsmService played at 700Hz Mix_HookMusic(SDL_IMFMusicPlayer, 0); Mix_ChannelFinished(SD_ChannelFinished); AdLibPresent = true; SoundBlasterPresent = true; alTimeCount = 0; SD_SetSoundMode(sdm_Off); SD_SetMusicMode(smm_Off); SD_Started = true; SoundInfo.Init(); SoundSeq.Init(); }
/////////////////////////////////////////////////////////////////////////// // // SD_Startup() - starts up the Sound Mgr // Detects all additional sound hardware and installs my ISR // /////////////////////////////////////////////////////////////////////////// void SD_Startup(void) { int i; if (SD_Started) return; if(Mix_OpenAudio(44100, AUDIO_S16, 2, 2048)) return; /* Unable to open audio */ Mix_ReserveChannels(2); /* reserve player and boss weapon channels */ Mix_GroupChannels(2, MIX_CHANNELS-1, 1); /* group remaining channels */ /* Initialize music */ samplesPerMusicTick = 44100 / 700; /*played at 700Hzs */ if(YM3812Init(1, 3579545, 44100)) printf("Unable to create virtual OPL!!\n"); for(i=1;i<0xf6;i++) YM3812Write(0,i,0); YM3812Write(0,1,0x20); /* Set WSE=1 */ Mix_HookMusic(SD_IMFMusicPlayer, 0); Mix_ChannelFinished(SD_ChannelFinished); AdLibPresent = true; SoundBlasterPresent = true; alTimeCount = 0; SD_SetSoundMode(SDM_OFF); SD_SetMusicMode(SMM_OFF); SD_SetupDigi(); SD_Started = true; }
static void SetDefaults() { #ifndef EMBEDDED viewsize = 15; #endif #ifdef MOUSE_ENABLED mouseenabled = false; mouseadjustment = 5; #endif #ifdef JOYSTICK_ENABLED joystickenabled = false; joypadenabled = false; joystickport = 0; #endif #ifdef ENABLE_AUDIO SD_SetMusicMode(smm_AdLib); SD_SetSoundMode(sdm_AdLib); SD_SetDigiDevice(sds_SoundBlaster); #endif }
static void ReadConfig(void) { SDMode sd; SMMode sm; SDSMode sds; char configpath[300]; if(configdir[0]) snprintf(configpath, sizeof(configpath), "%s/%s", configdir, configname); else strcpy(configpath, configname); const int file = open(configpath, O_RDONLY | O_BINARY); if (file != -1) { /* valid config file */ word tmp; read(file,&tmp,sizeof(tmp)); if(tmp!=0xfefa) { close(file); goto noconfig; } read(file,Scores,sizeof(HighScore) * MaxScores); read(file,&sd,sizeof(sd)); read(file,&sm,sizeof(sm)); read(file,&sds,sizeof(sds)); read(file,&mouseenabled,sizeof(mouseenabled)); read(file,&joystickenabled,sizeof(joystickenabled)); boolean dummyJoypadEnabled; read(file,&dummyJoypadEnabled,sizeof(dummyJoypadEnabled)); boolean dummyJoystickProgressive; read(file,&dummyJoystickProgressive,sizeof(dummyJoystickProgressive)); int dummyJoystickPort = 0; read(file,&dummyJoystickPort,sizeof(dummyJoystickPort)); read(file,dirscan,sizeof(dirscan)); read(file,buttonscan,sizeof(buttonscan)); read(file,buttonmouse,sizeof(buttonmouse)); read(file,buttonjoy,sizeof(buttonjoy)); read(file,&viewsize,sizeof(viewsize)); read(file,&mouseadjustment,sizeof(mouseadjustment)); close(file); if ((sd == SDM_ADLIB || sm == SMM_ADLIB) && !AdLibPresent && !SoundBlasterPresent) { sd = SDM_PC; sm = SMM_OFF; } if ((sds == SDS_SOUNDBLASTER && !SoundBlasterPresent)) sds = SDS_OFF; /* make sure values are correct */ if(mouseenabled) mouseenabled=true; if(joystickenabled) joystickenabled=true; if (!MousePresent) mouseenabled = false; if (!IN_JoyPresent()) joystickenabled = false; if(mouseadjustment<0) mouseadjustment=0; else if(mouseadjustment>9) mouseadjustment=9; if(viewsize<4) viewsize=4; else if(viewsize>21) viewsize=21; MainMenu[6].active=1; MainItems.curpos=0; } else { /* no config file, so select by hardware */ noconfig: if (SoundBlasterPresent || AdLibPresent) { sd = SDM_ADLIB; sm = SMM_ADLIB; } else { sd = SDM_PC; sm = SMM_OFF; } if (SoundBlasterPresent) sds = SDS_SOUNDBLASTER; else sds = SDS_OFF; if (MousePresent) mouseenabled = true; if (IN_JoyPresent()) joystickenabled = true; viewsize = 19; /* start with a good size */ mouseadjustment=5; } SD_SetMusicMode (sm); SD_SetSoundMode (sd); SD_SetDigiDevice (sds); }
void ReadConfig(void) { SDMode sd; SMMode sm; SDSMode sds; char configpath[300]; #ifdef _arch_dreamcast DC_LoadFromVMU(configname); #endif if(configdir[0]) snprintf(configpath, sizeof(configpath), "%s/%s", configdir, configname); else strcpy(configpath, configname); const int file = open(configpath, O_RDONLY | O_BINARY); if (file != -1) { // // valid config file // word tmp; read(file,&tmp,sizeof(tmp)); if(tmp!=0xfefa) { close(file); goto noconfig; } read(file,Scores,sizeof(HighScore) * MaxScores); read(file,&sd,sizeof(sd)); read(file,&sm,sizeof(sm)); read(file,&sds,sizeof(sds)); read(file,&mouseenabled,sizeof(mouseenabled)); read(file,&joystickenabled,sizeof(joystickenabled)); boolean dummyJoypadEnabled; read(file,&dummyJoypadEnabled,sizeof(dummyJoypadEnabled)); boolean dummyJoystickProgressive; read(file,&dummyJoystickProgressive,sizeof(dummyJoystickProgressive)); int dummyJoystickPort = 0; read(file,&dummyJoystickPort,sizeof(dummyJoystickPort)); read(file,dirscan,sizeof(dirscan)); read(file,buttonscan,sizeof(buttonscan)); read(file,buttonmouse,sizeof(buttonmouse)); read(file,buttonjoy,sizeof(buttonjoy)); read(file,&viewsize,sizeof(viewsize)); read(file,&mouseadjustment,sizeof(mouseadjustment)); close(file); if ((sd == sdm_AdLib || sm == smm_AdLib) && !AdLibPresent && !SoundBlasterPresent) { sd = sdm_PC; sm = smm_Off; } if ((sds == sds_SoundBlaster && !SoundBlasterPresent)) sds = sds_Off; // make sure values are correct if(mouseenabled) mouseenabled=true; if(joystickenabled) joystickenabled=true; if (!MousePresent) mouseenabled = false; if (!IN_JoyPresent()) joystickenabled = false; if(mouseadjustment<0) mouseadjustment=0; else if(mouseadjustment>9) mouseadjustment=9; if(viewsize<4) viewsize=4; else if(viewsize>21) viewsize=21; MainMenu[6].active=1; MainItems.curpos=0; } else { // // no config file, so select by hardware // noconfig: if (SoundBlasterPresent || AdLibPresent) { sd = sdm_AdLib; sm = smm_AdLib; } else { sd = sdm_PC; sm = smm_Off; } if (SoundBlasterPresent) sds = sds_SoundBlaster; else sds = sds_Off; if (MousePresent) mouseenabled = true; if (IN_JoyPresent()) joystickenabled = true; viewsize = 19; // start with a good size mouseadjustment=5; } SD_SetMusicMode (sm); SD_SetSoundMode (sd); SD_SetDigiDevice (sds); }