mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 10:40:46 +00:00
- Add new trueror1.map that showcases the functionality and limitations of
the additional rendering pass - Remove r_preview_mouseaim cvar from the game, since it's only for Mapster - sdlmusic.c: (Failed) attempt to fix a call of waitpid() with a non-existent process ID in the external MIDI playing code. I think there's a race there... git-svn-id: https://svn.eduke32.com/eduke32@2025 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
2415b03c79
commit
cc7110c18f
4 changed files with 19 additions and 9 deletions
|
@ -6398,6 +6398,9 @@ void polymost_initosdfuncs(void)
|
|||
|
||||
for (i=0; i<sizeof(cvars_polymost)/sizeof(cvars_polymost[0]); i++)
|
||||
{
|
||||
if (editstatus==0 && !Bstrcmp(cvars_polymost[i].name, "r_preview_mouseaim"))
|
||||
continue;
|
||||
|
||||
if (OSD_RegisterCvar(&cvars_polymost[i]))
|
||||
continue;
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2907,7 +2907,7 @@ dodefault:
|
|||
}
|
||||
|
||||
drawlinepat = m32_drawlinepat;
|
||||
drawline16(xofs+x1,yofs+y1, xofs+x2,yofs+y2, col>=0?editorcolors[col&15]:(-col&255));
|
||||
drawline16(xofs+x1,yofs+y1, xofs+x2,yofs+y2, col>=0?editorcolors[col&15]:((-col)&255));
|
||||
drawlinepat = odrawlinepat;
|
||||
continue;
|
||||
}
|
||||
|
@ -2935,7 +2935,7 @@ dodefault:
|
|||
}
|
||||
|
||||
drawlinepat = m32_drawlinepat;
|
||||
drawcircle16(xofs+x1, yofs+y1, r, eccen, col>=0?editorcolors[col&15]:(-col&255));
|
||||
drawcircle16(xofs+x1, yofs+y1, r, eccen, col>=0?editorcolors[col&15]:((-col)&255));
|
||||
drawlinepat = odrawlinepat;
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -342,11 +342,15 @@ int32_t MUSIC_StopSong(void)
|
|||
if (external_midi_pid > 0)
|
||||
{
|
||||
int32_t ret;
|
||||
struct timespec ts;
|
||||
|
||||
external_midi_restart = 0; // make SIGCHLD handler a no-op
|
||||
|
||||
ts.tv_sec = 0;
|
||||
ts.tv_nsec = 5000000; // sleep 5ms at most
|
||||
|
||||
kill(external_midi_pid, SIGTERM);
|
||||
nanosleep(&(const struct timespec) { .tv_sec=0, .tv_nsec=5000000 }, NULL); // sleep 5ms at most
|
||||
nanosleep(&ts, NULL);
|
||||
ret = waitpid(external_midi_pid, NULL, WNOHANG|WUNTRACED);
|
||||
// printf("(%d)", ret);
|
||||
|
||||
|
@ -419,13 +423,16 @@ static void sigchld_handler(int signo)
|
|||
{
|
||||
int status;
|
||||
|
||||
if (waitpid(external_midi_pid, &status, WUNTRACED)==-1)
|
||||
perror("waitpid (3)");
|
||||
|
||||
if (WIFEXITED(status) && WEXITSTATUS(status)==0)
|
||||
if (external_midi_pid > 0)
|
||||
{
|
||||
// loop ...
|
||||
playmusic();
|
||||
if (waitpid(external_midi_pid, &status, WUNTRACED)==-1)
|
||||
perror("waitpid (3)");
|
||||
|
||||
if (WIFEXITED(status) && WEXITSTATUS(status)==0)
|
||||
{
|
||||
// loop ...
|
||||
playmusic();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue