mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-22 04:21:23 +00:00
Merge branch 'loop-patch' into 'next'
Let MUSICDEF set loop point See merge request STJr/SRB2!762
This commit is contained in:
commit
e100f21dda
2 changed files with 17 additions and 0 deletions
|
@ -1456,6 +1456,7 @@ musicdef_t soundtestsfx = {
|
|||
0, // with no conditions
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
false,
|
||||
NULL
|
||||
};
|
||||
|
@ -1651,6 +1652,8 @@ ReadMusicDefFields (UINT16 wadnum, int line, boolean fields, char *stoken,
|
|||
fixed_t bpmf = FLOAT_TO_FIXED(bpm);
|
||||
if (bpmf > 0)
|
||||
def->bpm = FixedDiv((60*TICRATE)<<FRACBITS, bpmf);
|
||||
} else if (!stricmp(stoken, "loopms")) {
|
||||
def->loop_ms = atoi(textline);
|
||||
} else {
|
||||
CONS_Alert(CONS_WARNING,
|
||||
"MUSICDEF: Invalid field '%s'. (file %s, line %d)\n",
|
||||
|
@ -2262,6 +2265,8 @@ static void S_UnloadMusic(void)
|
|||
|
||||
static boolean S_PlayMusic(boolean looping, UINT32 fadeinms)
|
||||
{
|
||||
musicdef_t *def;
|
||||
|
||||
if (S_MusicDisabled())
|
||||
return false;
|
||||
|
||||
|
@ -2273,6 +2278,17 @@ static boolean S_PlayMusic(boolean looping, UINT32 fadeinms)
|
|||
return false;
|
||||
}
|
||||
|
||||
/* set loop point from MUSICDEF */
|
||||
for (def = musicdefstart; def; def = def->next)
|
||||
{
|
||||
if (strcasecmp(def->name, music_name) == 0)
|
||||
{
|
||||
if (def->loop_ms)
|
||||
S_SetMusicLoopPoint(def->loop_ms);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
S_InitMusicVolume(); // switch between digi and sequence volume
|
||||
|
||||
if (S_MusicNotInFocus())
|
||||
|
|
|
@ -208,6 +208,7 @@ typedef struct musicdef_s
|
|||
INT16 soundtestcond; // +ve for map, -ve for conditionset, 0 for already here
|
||||
tic_t stoppingtics;
|
||||
fixed_t bpm;
|
||||
UINT32 loop_ms;/* override LOOPPOINT/LOOPMS */
|
||||
boolean allowed; // question marks or listenable on sound test?
|
||||
struct musicdef_s *next;
|
||||
} musicdef_t;
|
||||
|
|
Loading…
Reference in a new issue