mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-02-02 20:01:23 +00:00
- fixed hang with skill sound on game start.
This waits inside code where S_Update wasn't called. To make things clearer the waiting loop was moved closer to where it gets played.
This commit is contained in:
parent
938db6d35d
commit
b1b33ef231
4 changed files with 9 additions and 12 deletions
|
@ -568,10 +568,15 @@ void GameInterface::StartGame(FGameStartup& gs)
|
|||
}
|
||||
|
||||
ud.m_player_skill = gs.Skill + 1;
|
||||
if (menu_sounds)
|
||||
if (menu_sounds && skillsound >= 0 && SoundEnabled())
|
||||
{
|
||||
ud.skill_voice = skillsound;
|
||||
S_PlaySound(skillsound);
|
||||
S_PlaySound(skillsound, CHAN_UI);
|
||||
|
||||
while (S_CheckSoundPlaying(skillsound))
|
||||
{
|
||||
S_Update();
|
||||
gameHandleEvents();
|
||||
}
|
||||
}
|
||||
ud.m_respawn_monsters = (gs.Skill == 3);
|
||||
ud.m_monsters_off = ud.monsters_off = 0;
|
||||
|
|
|
@ -157,7 +157,7 @@ typedef struct {
|
|||
int32_t m_respawn_items,m_respawn_monsters,m_respawn_inventory,m_monsters_off;
|
||||
int32_t ffire,m_player_skill,m_level_number,m_volume_number,multimode;
|
||||
int32_t player_skill,level_number,volume_number,marker;
|
||||
int32_t music_episode, music_level, skill_voice;
|
||||
int32_t music_episode, music_level;
|
||||
|
||||
int32_t playerbest;
|
||||
|
||||
|
|
|
@ -1320,12 +1320,6 @@ void G_NewGame(int volumeNum, int levelNum, int skillNum)
|
|||
|
||||
gameHandleEvents();
|
||||
|
||||
if (ud.skill_voice > 0 && SoundEnabled())
|
||||
{
|
||||
while (S_CheckSoundPlaying(ud.skill_voice))
|
||||
gameHandleEvents();
|
||||
}
|
||||
|
||||
ready2send = 0;
|
||||
|
||||
if (m_recstat != 2 && ud.last_level != -1 && !VM_OnEventWithReturn(EVENT_EXITGAMESCREEN, g_player[myconnectindex].ps->i, myconnectindex, 0)
|
||||
|
@ -1339,7 +1333,6 @@ void G_NewGame(int volumeNum, int levelNum, int skillNum)
|
|||
ud.level_number = levelNum;
|
||||
ud.player_skill = skillNum;
|
||||
ud.secretlevel = 0;
|
||||
ud.skill_voice = -1;
|
||||
ud.volume_number = volumeNum;
|
||||
|
||||
// we don't want the intro to play after the multiplayer setup screen
|
||||
|
|
|
@ -313,7 +313,6 @@ int32_t G_LoadPlayer(FSaveGameNode *sv)
|
|||
ud.level_number = level;
|
||||
ud.player_skill = skill;
|
||||
ud.secretlevel = 0;
|
||||
ud.skill_voice = -1;
|
||||
ud.volume_number = volume;
|
||||
|
||||
#ifdef EDUKE32_TOUCH_DEVICES
|
||||
|
|
Loading…
Reference in a new issue