- fixed: THe Timidity player didn't close its temporary files and left them

behind because it couldn't delete them.
- added a $MidiDevice option to SNDINFO which can either set the preferred
  MIDI device for a song to Timidity or Windows' standard MIDI device.
  The reason for this: About 80% of my MIDI music collection sounds better
  with Timidity and the other 20% with Windows' standard synth and I'd like
  to be able to use each with the one that sounds better. For MUS files you
  can also force the use of OPL playback.
- added telefrag option to A_SpawnItemEx.


SVN r545 (trunk)
This commit is contained in:
Christoph Oelckers 2007-09-12 00:20:11 +00:00
commit e8875041ca
11 changed files with 76 additions and 16 deletions

View file

@ -141,6 +141,7 @@ enum SICommands
SI_Registered,
SI_ArchivePath,
SI_MusicVolume,
SI_MidiDevice,
SI_IfDoom,
SI_IfHeretic,
SI_IfHexen,
@ -178,6 +179,9 @@ struct FSavedPlayerSoundInfo
bool alias;
};
// This specifies whether Timidity or Windows playback is preferred for a certain song (only useful for Windows.)
MidiDeviceMap MidiDevices;
// EXTERNAL FUNCTION PROTOTYPES --------------------------------------------
void S_StartNamedSound (AActor *ent, fixed_t *pt, int channel,
@ -231,6 +235,7 @@ static const char *SICommandStrings[] =
"$registered",
"$archivepath",
"$musicvolume",
"$mididevice",
"$ifdoom",
"$ifheretic",
"$ifhexen",
@ -1159,6 +1164,20 @@ static void S_AddSNDINFO (int lump)
}
break;
case SI_MidiDevice: {
SC_MustGetString();
FName nm = sc_String;
int tim;
SC_MustGetString();
if (SC_Compare("timidity")) tim = 1;
else if (SC_Compare("standard")) tim = 0;
else if (SC_Compare("opl")) tim = 2;
else if (SC_Compare("default")) tim = -1;
else SC_ScriptError("Unknown MIDI device %s\n", sc_String);
MidiDevices[nm]=tim;
}
break;
case SI_IfDoom:
if (gameinfo.gametype != GAME_Doom)
{