No Description

music_override.c 1.2KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #include <bpre.h>
  2. #include <config.h>
  3. void music_override(u16 songid) {
  4. int skip = 0;
  5. if (flag_check(FLAG_ENABLE_MUSIC_OVERRIDES)) {
  6. u16 from1, from2, from3, to1, to2, to3;
  7. if ((from1 = *var_access(VAR_FROM_1)) == songid) {
  8. to1 = *var_access(VAR_TO_1);
  9. if (to1 == MUS_SKIP_PLAY) {
  10. skip = 1;
  11. } else if (to1 != MUS_NO_OVERRIDE) {
  12. songid = to1;
  13. }
  14. } else if ((from2 = *var_access(VAR_FROM_2)) == songid) {
  15. to2 = *var_access(VAR_TO_2);
  16. if (to2 == MUS_SKIP_PLAY) {
  17. skip = 1;
  18. } else if (to2 != MUS_NO_OVERRIDE) {
  19. songid = to2;
  20. }
  21. } else if ((from3 = *var_access(VAR_FROM_3)) == songid) {
  22. to3 = *var_access(VAR_TO_3);
  23. if (to3 == MUS_SKIP_PLAY) {
  24. skip = 1;
  25. } else if (to3 != MUS_NO_OVERRIDE) {
  26. songid = to3;
  27. }
  28. }
  29. }
  30. if (skip == 0) {
  31. MPlayStart_rev01(mplay_table[_songtable[songid].ms].ma, _songtable[songid].so);
  32. } else {
  33. MPlayContinue(mplay_table[_songtable[songid].ms].ma);
  34. }
  35. }