Advertisement
JimmyZD

JoM5 jukebox

Dec 19th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.53 KB | None | 0 0
  1. int JukeboxTicker = 0;
  2. int JukeboxCurrent = 0;
  3. str MusicLump = "JOYMUS_HUB";
  4. str MusicName = "";
  5.  
  6. #define NUM_MISC    5
  7. #define NUM_E1      12
  8. #define NUM_E2      13
  9. #define NUM_E3      13
  10. #define NUM_E4      10
  11. #define NUM_TRACKS  NUM_MISC + NUM_E1 + NUM_E2 + NUM_E3 + NUM_E4
  12.  
  13. script "S_SecretJukebox" ( void )
  14. {
  15.     if(FightSequence) {
  16.         terminate;
  17.     }
  18.  
  19.     if(JukeboxTicker)
  20.     {
  21.         if(++JukeboxCurrent == NUM_TRACKS)
  22.             JukeboxCurrent = 0;
  23.  
  24.         switch(JukeboxCurrent)
  25.         {
  26.             // Misc. tracks - 5
  27.             case 0: MusicLump = "JOYMUS_HUB"; break;
  28.             case 1: MusicLump = "JOYMUS_TITLE"; break;
  29.             case 2: MusicLump = "JOYMUS_INTER"; break;
  30.             case 3: MusicLump = "JOYMUS_END"; break;
  31.             case 4: MusicLump = "JOYMUS_EVIL"; break;
  32.  
  33.             // Map tracks - 41
  34.  
  35.             // Episode 1 - 11 maps + finale
  36.             // =========================================
  37.             case 5:  case 6:  case 7: case 8: case 9:
  38.             case 10: case 11: case 12: case 13: case 14: case 15:
  39.                 MusicLump = StrParam(s:"JOYMUS_1_", d:JukeboxCurrent-(NUM_MISC-1)); break;
  40.             // Episode 1 - finale
  41.             case 16:
  42.                 MusicLump = "JOYMUS_1_FINAL"; break;
  43.  
  44.             // Episode 2 - 12 maps + finale
  45.             // =========================================
  46.             case 17: case 18: case 19: case 20: case 21:
  47.             case 22: case 23: case 24: case 25: case 26:
  48.             case 27: case 28:
  49.                 MusicLump = StrParam(s:"JOYMUS_2_", d:JukeboxCurrent-NUM_E1-(NUM_MISC-1)); break;
  50.             // Episode 2 - finale
  51.             case 29:
  52.                 MusicLump = "JOYMUS_2_FINAL"; break;
  53.  
  54.             // Episode 3 - 12 maps + finale
  55.             // =========================================
  56.             case 30: case 31: case 32: case 33: case 34:
  57.             case 35: case 36: case 37: case 38: case 39:
  58.             case 40: case 41:
  59.                 MusicLump = StrParam(s:"JOYMUS_3_", d:JukeboxCurrent-NUM_E1-NUM_E2-(NUM_MISC-1)); break;
  60.             case 42:
  61.                 MusicLump = "JOYMUS_3_FINAL"; break;
  62.  
  63.             // Episode 4 - 9 maps + finale
  64.             // =========================================
  65.             case 43: case 44: case 45: case 46: case 47:
  66.             case 48: case 49: case 50: case 51:
  67.                 MusicLump = StrParam(s:"JOYMUS_4_", d:JukeboxCurrent-NUM_E1-NUM_E2-NUM_E3-(NUM_MISC-1)); break;
  68.             case 52:
  69.                 MusicLump = "JOYMUS_4_FINAL"; break;
  70.  
  71.             // Default case - should never occur
  72.             default: MusicLump = "MUSIC_RUNNIN"; break;
  73.         }
  74.     }
  75.  
  76.     MusicName = StrParam(s:"JOYMUSNAME", s:StrRight(MusicLump, StrLen(MusicLump)-6));
  77.  
  78.     JukeboxTicker = 105;
  79.  
  80.     HudMessage(s:"\clNow Playing:\n\n",
  81.                s:"\clTrack ", d:JukeboxCurrent+1, s:"/", d:NUM_TRACKS,
  82.                s:"\n\cjD_", l:MusicLump,
  83.                s:"\n\n", l:MusicName;
  84.     HUDMSG_PLAIN, 50, CR_TAN, 1.5, 0.36, 3.0);
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement