| 678 | } |
| 679 | |
| 680 | const char *Music_GetFileNameForState( MusicState_e eMusicState) |
| 681 | { |
| 682 | MusicFile_t *pMusicFile = NULL; |
| 683 | switch (eMusicState) |
| 684 | { |
| 685 | case eBGRNDTRACK_EXPLORE: |
| 686 | case eBGRNDTRACK_ACTION: |
| 687 | case eBGRNDTRACK_BOSS: |
| 688 | case eBGRNDTRACK_DEATH: |
| 689 | |
| 690 | pMusicFile = Music_GetBaseMusicFile( eMusicState ); |
| 691 | if (pMusicFile) |
| 692 | { |
| 693 | return Music_BuildFileName( pMusicFile->sFileNameBase.c_str(), eMusicState ); |
| 694 | } |
| 695 | break; |
| 696 | |
| 697 | case eBGRNDTRACK_ACTIONTRANS0: |
| 698 | case eBGRNDTRACK_ACTIONTRANS1: |
| 699 | case eBGRNDTRACK_ACTIONTRANS2: |
| 700 | case eBGRNDTRACK_ACTIONTRANS3: |
| 701 | |
| 702 | pMusicFile = Music_GetBaseMusicFile( eBGRNDTRACK_ACTION ); |
| 703 | if (pMusicFile) |
| 704 | { |
| 705 | size_t iTransNum = eMusicState - eBGRNDTRACK_ACTIONTRANS0; |
| 706 | if (iTransNum < pMusicFile->MusicExitPoints.size()) |
| 707 | { |
| 708 | return Music_BuildFileName( pMusicFile->MusicExitPoints[iTransNum].sNextFile.c_str(), eMusicState ); |
| 709 | } |
| 710 | } |
| 711 | break; |
| 712 | |
| 713 | case eBGRNDTRACK_EXPLORETRANS0: |
| 714 | case eBGRNDTRACK_EXPLORETRANS1: |
| 715 | case eBGRNDTRACK_EXPLORETRANS2: |
| 716 | case eBGRNDTRACK_EXPLORETRANS3: |
| 717 | |
| 718 | pMusicFile = Music_GetBaseMusicFile( eBGRNDTRACK_EXPLORE ); |
| 719 | if (pMusicFile) |
| 720 | { |
| 721 | size_t iTransNum = eMusicState - eBGRNDTRACK_EXPLORETRANS0; |
| 722 | if (iTransNum < pMusicFile->MusicExitPoints.size()) |
| 723 | { |
| 724 | return Music_BuildFileName( pMusicFile->MusicExitPoints[iTransNum].sNextFile.c_str(), eMusicState ); |
| 725 | } |
| 726 | } |
| 727 | break; |
| 728 | |
| 729 | default: |
| 730 | #ifndef FINAL_BUILD |
| 731 | assert(0); // duh....what state are they asking for? |
| 732 | Com_Printf( S_COLOR_RED "Music_GetFileNameForState( %d ) unhandled case!\n",eMusicState ); |
| 733 | #endif |
| 734 | break; |
| 735 | } |
| 736 | |
| 737 | return NULL; |
no test coverage detected