mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-16 12:40:38 +00:00
- some final fixes.
This commit is contained in:
parent
c09b4896a6
commit
b281c34357
3 changed files with 9 additions and 8 deletions
|
@ -259,15 +259,16 @@ public:
|
||||||
|
|
||||||
DScreenJob *PlayVideo(const char* filename, const AnimSound* ans, const int* frameticks)
|
DScreenJob *PlayVideo(const char* filename, const AnimSound* ans, const int* frameticks)
|
||||||
{
|
{
|
||||||
|
auto nothing = []()->DScreenJob* { return Create<DScreenJob>(); };
|
||||||
if (!filename)
|
if (!filename)
|
||||||
{
|
{
|
||||||
return nullptr;
|
return nothing();
|
||||||
}
|
}
|
||||||
auto fr = fileSystem.OpenFileReader(filename);
|
auto fr = fileSystem.OpenFileReader(filename);
|
||||||
if (!fr.isOpen())
|
if (!fr.isOpen())
|
||||||
{
|
{
|
||||||
Printf("%s: Unable to open video\n", filename);
|
Printf("%s: Unable to open video\n", filename);
|
||||||
return nullptr;
|
return nothing();
|
||||||
}
|
}
|
||||||
char id[20] = {};
|
char id[20] = {};
|
||||||
|
|
||||||
|
@ -281,7 +282,7 @@ DScreenJob *PlayVideo(const char* filename, const AnimSound* ans, const int* fra
|
||||||
{
|
{
|
||||||
Printf("%s: invalid ANM file.\n", filename);
|
Printf("%s: invalid ANM file.\n", filename);
|
||||||
anm->Destroy();
|
anm->Destroy();
|
||||||
return nullptr;
|
return nothing();
|
||||||
}
|
}
|
||||||
return anm;
|
return anm;
|
||||||
}
|
}
|
||||||
|
@ -298,6 +299,6 @@ DScreenJob *PlayVideo(const char* filename, const AnimSound* ans, const int* fra
|
||||||
{
|
{
|
||||||
Printf("%s: Unknown video format\n", filename);
|
Printf("%s: Unknown video format\n", filename);
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nothing();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ public:
|
||||||
return now;
|
return now;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual int Frame(uint64_t clock, bool skiprequest) = 0;
|
virtual int Frame(uint64_t clock, bool skiprequest) { return 0; }
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
|
@ -360,7 +360,7 @@ class DRRLevelSummaryScreen : public DScreenJob
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DRRLevelSummaryScreen(bool dofadein = true) : DScreenJob(dofadein? (fadein | fadeout) : fadeout)
|
DRRLevelSummaryScreen(bool dofadeout = true) : DScreenJob(dofadeout? (fadein | fadeout) : fadein)
|
||||||
{
|
{
|
||||||
PlayBonusMusic();
|
PlayBonusMusic();
|
||||||
if (boardfilename[0])
|
if (boardfilename[0])
|
||||||
|
@ -577,9 +577,9 @@ void dobonus_r(bool bonusonly, CompletionFunc completion)
|
||||||
}
|
}
|
||||||
else if (!bonusonly && ud.multimode <= 1)
|
else if (!bonusonly && ud.multimode <= 1)
|
||||||
{
|
{
|
||||||
jobs[job++] = { Create<DRRLevelSummaryScreen>() };
|
|
||||||
if (isRRRA() && !boardfilename[0] && currentLevel->levelNumber < 106) // fixme: The logic here is awful. Shift more control to the map records.
|
if (isRRRA() && !boardfilename[0] && currentLevel->levelNumber < 106) // fixme: The logic here is awful. Shift more control to the map records.
|
||||||
{
|
{
|
||||||
|
jobs[job++] = { Create<DRRLevelSummaryScreen>(true) };
|
||||||
int levnum = clamp((currentLevel->levelNumber / 100) * 7 + (currentLevel->levelNumber % 100), 0, 13);
|
int levnum = clamp((currentLevel->levelNumber / 100) * 7 + (currentLevel->levelNumber % 100), 0, 13);
|
||||||
char fn[20];
|
char fn[20];
|
||||||
mysnprintf(fn, 20, "lvl%d.anm", levnum + 1);
|
mysnprintf(fn, 20, "lvl%d.anm", levnum + 1);
|
||||||
|
@ -590,7 +590,7 @@ void dobonus_r(bool bonusonly, CompletionFunc completion)
|
||||||
jobs[job++] = { Create<DRRRAEndOfGame>() };
|
jobs[job++] = { Create<DRRRAEndOfGame>() };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else jobs[job++] = { Create<DRRLevelSummaryScreen>(false) };
|
||||||
}
|
}
|
||||||
if (job)
|
if (job)
|
||||||
RunScreenJob(jobs, job, completion);
|
RunScreenJob(jobs, job, completion);
|
||||||
|
|
Loading…
Reference in a new issue