mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-02-03 04:10:57 +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;
|
ud.m_player_skill = gs.Skill + 1;
|
||||||
if (menu_sounds)
|
if (menu_sounds && skillsound >= 0 && SoundEnabled())
|
||||||
{
|
{
|
||||||
ud.skill_voice = skillsound;
|
S_PlaySound(skillsound, CHAN_UI);
|
||||||
S_PlaySound(skillsound);
|
|
||||||
|
while (S_CheckSoundPlaying(skillsound))
|
||||||
|
{
|
||||||
|
S_Update();
|
||||||
|
gameHandleEvents();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ud.m_respawn_monsters = (gs.Skill == 3);
|
ud.m_respawn_monsters = (gs.Skill == 3);
|
||||||
ud.m_monsters_off = ud.monsters_off = 0;
|
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 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 ffire,m_player_skill,m_level_number,m_volume_number,multimode;
|
||||||
int32_t player_skill,level_number,volume_number,marker;
|
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;
|
int32_t playerbest;
|
||||||
|
|
||||||
|
|
|
@ -1320,12 +1320,6 @@ void G_NewGame(int volumeNum, int levelNum, int skillNum)
|
||||||
|
|
||||||
gameHandleEvents();
|
gameHandleEvents();
|
||||||
|
|
||||||
if (ud.skill_voice > 0 && SoundEnabled())
|
|
||||||
{
|
|
||||||
while (S_CheckSoundPlaying(ud.skill_voice))
|
|
||||||
gameHandleEvents();
|
|
||||||
}
|
|
||||||
|
|
||||||
ready2send = 0;
|
ready2send = 0;
|
||||||
|
|
||||||
if (m_recstat != 2 && ud.last_level != -1 && !VM_OnEventWithReturn(EVENT_EXITGAMESCREEN, g_player[myconnectindex].ps->i, myconnectindex, 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.level_number = levelNum;
|
||||||
ud.player_skill = skillNum;
|
ud.player_skill = skillNum;
|
||||||
ud.secretlevel = 0;
|
ud.secretlevel = 0;
|
||||||
ud.skill_voice = -1;
|
|
||||||
ud.volume_number = volumeNum;
|
ud.volume_number = volumeNum;
|
||||||
|
|
||||||
// we don't want the intro to play after the multiplayer setup screen
|
// 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.level_number = level;
|
||||||
ud.player_skill = skill;
|
ud.player_skill = skill;
|
||||||
ud.secretlevel = 0;
|
ud.secretlevel = 0;
|
||||||
ud.skill_voice = -1;
|
|
||||||
ud.volume_number = volume;
|
ud.volume_number = volume;
|
||||||
|
|
||||||
#ifdef EDUKE32_TOUCH_DEVICES
|
#ifdef EDUKE32_TOUCH_DEVICES
|
||||||
|
|
Loading…
Reference in a new issue