mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-27 20:20:40 +00:00
Merge branch 'master' into newrenderer
This commit is contained in:
commit
f51872db25
9 changed files with 39 additions and 11 deletions
|
@ -63,12 +63,14 @@ struct FileSystem::LumpRecord
|
||||||
int rfnum;
|
int rfnum;
|
||||||
int Namespace;
|
int Namespace;
|
||||||
int resourceId;
|
int resourceId;
|
||||||
|
int flags;
|
||||||
|
|
||||||
void SetFromLump(int filenum, FResourceLump* lmp)
|
void SetFromLump(int filenum, FResourceLump* lmp)
|
||||||
{
|
{
|
||||||
lump = lmp;
|
lump = lmp;
|
||||||
rfnum = filenum;
|
rfnum = filenum;
|
||||||
linkedTexture = nullptr;
|
linkedTexture = nullptr;
|
||||||
|
flags = 0;
|
||||||
|
|
||||||
if (lump->Flags & LUMPF_SHORTNAME)
|
if (lump->Flags & LUMPF_SHORTNAME)
|
||||||
{
|
{
|
||||||
|
@ -487,7 +489,7 @@ int FileSystem::CheckNumForName (const char *name, int space)
|
||||||
// from a Zip return that. WADs don't know these namespaces and single lumps must
|
// from a Zip return that. WADs don't know these namespaces and single lumps must
|
||||||
// work as well.
|
// work as well.
|
||||||
if (space > ns_specialzipdirectory && lump.Namespace == ns_global &&
|
if (space > ns_specialzipdirectory && lump.Namespace == ns_global &&
|
||||||
!(lump.lump->Flags & LUMPF_FULLPATH)) break;
|
!((lump.lump->Flags ^lump.flags) & LUMPF_FULLPATH)) break;
|
||||||
}
|
}
|
||||||
i = NextLumpIndex[i];
|
i = NextLumpIndex[i];
|
||||||
}
|
}
|
||||||
|
@ -796,7 +798,7 @@ int FileSystem::GetFileFlags (int lump)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return FileInfo[lump].lump->Flags;
|
return FileInfo[lump].lump->Flags ^ FileInfo[lump].flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
@ -1532,11 +1534,19 @@ bool FileSystem::CreatePathlessCopy(const char *name, int id, int /*flags*/)
|
||||||
|
|
||||||
auto oldlump = FileInfo[lump];
|
auto oldlump = FileInfo[lump];
|
||||||
int slash = oldlump.longName.LastIndexOf('/');
|
int slash = oldlump.longName.LastIndexOf('/');
|
||||||
if (slash == -1) return true; // already is pathless.
|
// Note: already pathless entries must be duplica
|
||||||
|
|
||||||
|
if (slash == -1)
|
||||||
|
{
|
||||||
|
FileInfo[lump].flags = LUMPF_FULLPATH;
|
||||||
|
return true; // already is pathless.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// just create a new reference to the original data with a different name.
|
// just create a new reference to the original data with a different name.
|
||||||
oldlump.longName = oldlump.longName.Mid(slash + 1);
|
oldlump.longName = oldlump.longName.Mid(slash + 1);
|
||||||
oldlump.resourceId = id;
|
oldlump.resourceId = id;
|
||||||
|
oldlump.flags = LUMPF_FULLPATH;
|
||||||
FileInfo.Push(oldlump);
|
FileInfo.Push(oldlump);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,3 +126,14 @@ inline void resetForcedSyncInput()
|
||||||
{
|
{
|
||||||
gamesetinput = false;
|
gamesetinput = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool specialKeyEvent(event_t* ev)
|
||||||
|
{
|
||||||
|
if (ev->type == EV_KeyDown || ev->type == EV_KeyUp)
|
||||||
|
{
|
||||||
|
int key = ev->data1;
|
||||||
|
if (key == KEY_VOLUMEDOWN || key == KEY_VOLUMEUP || (key > KEY_LASTJOYBUTTON && key < KEY_PAD_LTHUMB_RIGHT)) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,7 +137,7 @@ public:
|
||||||
if (sound == -1)
|
if (sound == -1)
|
||||||
soundEngine->StopAllChannels();
|
soundEngine->StopAllChannels();
|
||||||
else if (SoundEnabled())
|
else if (SoundEnabled())
|
||||||
soundEngine->StartSound(SOURCE_None, nullptr, nullptr, CHAN_AUTO, CHANF_NONE, sound, 1.f, ATTN_NONE);
|
soundEngine->StartSound(SOURCE_None, nullptr, nullptr, CHAN_AUTO, nostopsound? CHANF_UI : CHANF_NONE, sound, 1.f, ATTN_NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!nostopsound && curframe == numframes && soundEngine->GetSoundPlayingInfo(SOURCE_None, nullptr, -1)) return true;
|
if (!nostopsound && curframe == numframes && soundEngine->GetSoundPlayingInfo(SOURCE_None, nullptr, -1)) return true;
|
||||||
|
|
|
@ -59,7 +59,7 @@ IMPLEMENT_CLASS(DImageScreen, true, false)
|
||||||
|
|
||||||
bool DSkippableScreenJob::OnEvent(event_t* evt)
|
bool DSkippableScreenJob::OnEvent(event_t* evt)
|
||||||
{
|
{
|
||||||
if (evt->type == EV_KeyDown)
|
if (evt->type == EV_KeyDown && !specialKeyEvent(evt))
|
||||||
{
|
{
|
||||||
state = skipped;
|
state = skipped;
|
||||||
Skipped();
|
Skipped();
|
||||||
|
@ -225,6 +225,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
if (jobs[index].job->state != DScreenJob::running) return false;
|
if (jobs[index].job->state != DScreenJob::running) return false;
|
||||||
|
|
||||||
return jobs[index].job->OnEvent(ev);
|
return jobs[index].job->OnEvent(ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -859,7 +859,7 @@ public:
|
||||||
|
|
||||||
bool OnEvent(event_t* ev) override
|
bool OnEvent(event_t* ev) override
|
||||||
{
|
{
|
||||||
if (ev->type == EV_KeyDown)
|
if (ev->type == EV_KeyDown && !specialKeyEvent(ev))
|
||||||
{
|
{
|
||||||
if ((displaystate & printStatsAll) != printStatsAll)
|
if ((displaystate & printStatsAll) != printStatsAll)
|
||||||
{
|
{
|
||||||
|
|
|
@ -401,7 +401,7 @@ public:
|
||||||
|
|
||||||
bool OnEvent(event_t* ev) override
|
bool OnEvent(event_t* ev) override
|
||||||
{
|
{
|
||||||
if (ev->type == EV_KeyDown)
|
if (ev->type == EV_KeyDown && !specialKeyEvent(ev))
|
||||||
{
|
{
|
||||||
if ((displaystate & printStatsAll) != printStatsAll)
|
if ((displaystate & printStatsAll) != printStatsAll)
|
||||||
{
|
{
|
||||||
|
|
|
@ -809,7 +809,7 @@ public:
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
state = skipped;
|
if (!specialKeyEvent(ev)) state = skipped;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -1164,7 +1164,7 @@ private:
|
||||||
|
|
||||||
bool OnEvent(event_t* ev)
|
bool OnEvent(event_t* ev)
|
||||||
{
|
{
|
||||||
if (ev->type == EV_KeyDown) skiprequest = true;
|
if (ev->type == EV_KeyDown && !specialKeyEvent(ev)) skiprequest = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1279,7 +1279,7 @@ public:
|
||||||
|
|
||||||
bool OnEvent(event_t* ev)
|
bool OnEvent(event_t* ev)
|
||||||
{
|
{
|
||||||
if (ev->type == EV_KeyDown) skiprequest = true;
|
if (ev->type == EV_KeyDown && !specialKeyEvent(ev)) skiprequest = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -389,7 +389,7 @@ private:
|
||||||
|
|
||||||
bool OnEvent(event_t* ev) override
|
bool OnEvent(event_t* ev) override
|
||||||
{
|
{
|
||||||
if (ev->type == EV_KeyDown)
|
if (ev->type == EV_KeyDown && !specialKeyEvent(ev))
|
||||||
{
|
{
|
||||||
if (State >= s_BonusRest && State < &s_BonusRest[countof(s_BonusRest)])
|
if (State >= s_BonusRest && State < &s_BonusRest[countof(s_BonusRest)])
|
||||||
{
|
{
|
||||||
|
|
|
@ -6891,6 +6891,12 @@ MoveSkipSavePos(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// back up all sprite angles.
|
||||||
|
for (int i = 0; i < MAXSPRITES; i++)
|
||||||
|
{
|
||||||
|
sprite[i].backupang();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue