Merge remote-tracking branch 'origin/master' into localization

This commit is contained in:
Christoph Oelckers 2019-02-12 00:20:00 +01:00
commit e526cebc8e
14 changed files with 37 additions and 52 deletions

35
.gitignore vendored
View file

@ -1,59 +1,26 @@
/Debug
*.ncb *.ncb
*.suo *.suo
*.pdb *.pdb
*.ilk *.ilk
*.aps *.aps
/fmodapi*/
/Release
/wadsrc_wad /wadsrc_wad
*.user *.user
/build /build
/debug
/release
*/debug
*/release
/release_gcc /release_gcc
/dumb/vc6/dumb_static/release
/dumb/vc6/dumb_static/debug
/dumb/vc6/dumb_static/x64
/DOOMSTATS.TXT /DOOMSTATS.TXT
/src/gitinfo.h /src/gitinfo.h
/src/sc_man_scanner.h
/src/xlat/xlat_parser.c
/src/xlat/xlat_parser.h
/src/xlat/xlat_parser.out
/src/zscript/zcc-parse.c
/src/zscript/zcc-parse.h
/src/zscript/zcc-parse.out
/tools/*/debug
/tools/*/release
/tools/*/*.exe
/tools/lemon/build
/tools/re2c/build
/tools/updaterevision/x64/
/tools/zipdir/x64
/wadsrc/*.pk3 /wadsrc/*.pk3
/build_vc2013
/bzip2/x64/
/disasm.txt /disasm.txt
/game-music-emu/x64/
/gdtoa/x64/
/jpeg-6b/x64/
/lzma/x64/
/zlib/x64/
/build_vc2013_64bit
/build_vc2015 /build_vc2015
/build_vc2015-32 /build_vc2015-32
/build_vc2015-64 /build_vc2015-64
/build_vc2017-64 /build_vc2017-64
/build /build
/llvm /llvm
/src/r_drawersasm.obj
/src/r_drawersasm.o
.vs .vs
/src/gl/unused /src/gl/unused
/mapfiles_release/*.map /mapfiles_release/*.map
.DS_Store .DS_Store
/build_vc2017-32 /build_vc2017-32
/build2 /build2
/build_vc2019-64

View file

@ -1456,12 +1456,12 @@ source_group("External\\SFMT" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/s
source_group("FraggleScript" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/fragglescript/.+") source_group("FraggleScript" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/fragglescript/.+")
source_group("Game Data" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/.+") source_group("Game Data" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/.+")
source_group("Game Data\\Resource Files" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/resourcefiles/.+") source_group("Game Data\\Resource Files" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/resourcefiles/.+")
source_group("Game Data\\Textures" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/textures/.+") source_group("Game Data\\Textures" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/textures/.+")
source_group("Game Data\\Textures\\Hires" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/textures/hires/.+") source_group("Game Data\\Textures\\Hires" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/textures/hires/.+")
source_group("Game Data\\Textures\\Hires\\HQ Resize" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/textures/hires/hqnx/.+") source_group("Game Data\\Textures\\Hires\\HQ Resize" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/textures/hires/hqnx/.+")
source_group("Game Data\\Textures\\Hires\\HQ Resize MMX version" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/textures/hires/hqnx_asm/.+") source_group("Game Data\\Textures\\Hires\\HQ Resize MMX version" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/textures/hires/hqnx_asm/.+")
source_group("Game Data\\Textures\\Hires\\XBRZ" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/textures/hires/xbr/.+") source_group("Game Data\\Textures\\Hires\\XBRZ" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/textures/hires/xbr/.+")
source_group("Game Data\\Textures\\Formats" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/textures/formats/.+") source_group("Game Data\\Textures\\Formats" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/gamedata/textures/formats/.+")
source_group("Intermission" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/intermission/.+") source_group("Intermission" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/intermission/.+")
source_group("Map Loader" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/maploader/.+") source_group("Map Loader" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/maploader/.+")
source_group("Menu" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/menu/.+") source_group("Menu" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/menu/.+")

View file

@ -600,7 +600,7 @@ CUSTOM_CVAR(Int, compatmode, 0, CVAR_ARCHIVE|CVAR_NOINITCALL)
case 4: // Old ZDoom compat mode case 4: // Old ZDoom compat mode
v = COMPATF_SOUNDTARGET | COMPATF_LIGHT; v = COMPATF_SOUNDTARGET | COMPATF_LIGHT;
w = COMPATF2_MULTIEXIT | COMPATF2_TELEPORT | COMPATF2_PUSHWINDOW; w = COMPATF2_MULTIEXIT | COMPATF2_TELEPORT | COMPATF2_PUSHWINDOW | COMPATF2_CHECKSWITCHRANGE;
break; break;
case 5: // MBF compat mode case 5: // MBF compat mode
@ -658,6 +658,7 @@ CVAR (Flag, compat_pointonline, compatflags2, COMPATF2_POINTONLINE);
CVAR (Flag, compat_multiexit, compatflags2, COMPATF2_MULTIEXIT); CVAR (Flag, compat_multiexit, compatflags2, COMPATF2_MULTIEXIT);
CVAR (Flag, compat_teleport, compatflags2, COMPATF2_TELEPORT); CVAR (Flag, compat_teleport, compatflags2, COMPATF2_TELEPORT);
CVAR (Flag, compat_pushwindow, compatflags2, COMPATF2_PUSHWINDOW); CVAR (Flag, compat_pushwindow, compatflags2, COMPATF2_PUSHWINDOW);
CVAR (Flag, compat_checkswitchrange, compatflags2, COMPATF2_CHECKSWITCHRANGE);
CVAR(Bool, vid_activeinbackground, false, CVAR_ARCHIVE | CVAR_GLOBALCONFIG) CVAR(Bool, vid_activeinbackground, false, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)

View file

@ -328,6 +328,7 @@ enum : unsigned int
COMPATF2_MULTIEXIT = 1 << 4, // Level exit can be triggered multiple times (required by Daedalus's travel tubes, thanks to a faulty script) COMPATF2_MULTIEXIT = 1 << 4, // Level exit can be triggered multiple times (required by Daedalus's travel tubes, thanks to a faulty script)
COMPATF2_TELEPORT = 1 << 5, // Don't let indirect teleports trigger sector actions COMPATF2_TELEPORT = 1 << 5, // Don't let indirect teleports trigger sector actions
COMPATF2_PUSHWINDOW = 1 << 6, // Disable the window check in CheckForPushSpecial() COMPATF2_PUSHWINDOW = 1 << 6, // Disable the window check in CheckForPushSpecial()
COMPATF2_CHECKSWITCHRANGE = 1 << 7, // Enable buggy CheckSwitchRange behavior
}; };
// Emulate old bugs for select maps. These are not exposed by a cvar // Emulate old bugs for select maps. These are not exposed by a cvar

View file

@ -600,7 +600,6 @@ public:
int airsupply; int airsupply;
int DefaultEnvironment; // Default sound environment. int DefaultEnvironment; // Default sound environment.
int ActiveSequences;
DSeqNode *SequenceListHead; DSeqNode *SequenceListHead;
// [RH] particle globals // [RH] particle globals

View file

@ -194,7 +194,9 @@ bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno, const DVector3 *
} }
} }
return (user->Top() > open.top); return (user->Level->i_compatflags2 & COMPATF2_CHECKSWITCHRANGE)
? (user->Top() >= open.top)
: (user->Top() > open.top);
} }
else if ((TexMan.FindSwitch(side->GetTexture(side_t::bottom))) != NULL) else if ((TexMan.FindSwitch(side->GetTexture(side_t::bottom))) != NULL)
{ {
@ -216,7 +218,9 @@ bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno, const DVector3 *
} }
} }
return (user->Z() < open.bottom); return (user->Level->i_compatflags2 & COMPATF2_CHECKSWITCHRANGE)
? (user->Z() <= open.bottom)
: (user->Z() < open.bottom);
} }
else if ((flags & ML_3DMIDTEX) || (TexMan.FindSwitch(side->GetTexture(side_t::mid))) != NULL) else if ((flags & ML_3DMIDTEX) || (TexMan.FindSwitch(side->GetTexture(side_t::mid))) != NULL)
{ {
@ -229,7 +233,9 @@ bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno, const DVector3 *
else else
{ {
// no switch found. Check whether the player can touch either top or bottom texture // no switch found. Check whether the player can touch either top or bottom texture
return (user->Top() > open.top) || (user->isBelow(open.bottom)); return (user->Level->i_compatflags2 & COMPATF2_CHECKSWITCHRANGE)
? ( (user->Top() >= open.top) || (user->Z() <= open.bottom) )
: ( (user->Top() > open.top) || user->isBelow(open.bottom) );
} }
} }

View file

@ -1641,6 +1641,7 @@ MapFlagHandlers[] =
{ "compat_multiexit", MITYPE_COMPATFLAG, 0, COMPATF2_MULTIEXIT }, { "compat_multiexit", MITYPE_COMPATFLAG, 0, COMPATF2_MULTIEXIT },
{ "compat_teleport", MITYPE_COMPATFLAG, 0, COMPATF2_TELEPORT }, { "compat_teleport", MITYPE_COMPATFLAG, 0, COMPATF2_TELEPORT },
{ "compat_pushwindow", MITYPE_COMPATFLAG, 0, COMPATF2_PUSHWINDOW }, { "compat_pushwindow", MITYPE_COMPATFLAG, 0, COMPATF2_PUSHWINDOW },
{ "compat_checkswitchrange", MITYPE_COMPATFLAG, 0, COMPATF2_CHECKSWITCHRANGE },
{ "cd_start_track", MITYPE_EATNEXT, 0, 0 }, { "cd_start_track", MITYPE_EATNEXT, 0, 0 },
{ "cd_end1_track", MITYPE_EATNEXT, 0, 0 }, { "cd_end1_track", MITYPE_EATNEXT, 0, 0 },
{ "cd_end2_track", MITYPE_EATNEXT, 0, 0 }, { "cd_end2_track", MITYPE_EATNEXT, 0, 0 },

View file

@ -164,6 +164,7 @@ static FCompatOption Options[] =
{ "multiexit", COMPATF2_MULTIEXIT, SLOT_COMPAT2 }, { "multiexit", COMPATF2_MULTIEXIT, SLOT_COMPAT2 },
{ "teleport", COMPATF2_TELEPORT, SLOT_COMPAT2 }, { "teleport", COMPATF2_TELEPORT, SLOT_COMPAT2 },
{ "disablepushwindowcheck", COMPATF2_PUSHWINDOW, SLOT_COMPAT2 }, { "disablepushwindowcheck", COMPATF2_PUSHWINDOW, SLOT_COMPAT2 },
{ "checkswitchrange", COMPATF2_CHECKSWITCHRANGE, SLOT_COMPAT2 },
{ NULL, 0, 0 } { NULL, 0, 0 }
}; };

View file

@ -932,7 +932,6 @@ void FLevelLocals::Serialize(FSerializer &arc, bool hubload)
Thinkers.DestroyAllThinkers(); Thinkers.DestroyAllThinkers();
interpolator.ClearInterpolations(); interpolator.ClearInterpolations();
arc.ReadObjects(hubload); arc.ReadObjects(hubload);
ActiveSequences = 0;
} }
arc("multiplayer", multiplayer); arc("multiplayer", multiplayer);

View file

@ -406,7 +406,6 @@ void DSeqNode::OnDestroy()
m_Next->m_Prev = m_Prev; m_Next->m_Prev = m_Prev;
GC::WriteBarrier(m_Next, m_Prev); GC::WriteBarrier(m_Next, m_Prev);
} }
Level->ActiveSequences--;
Super::OnDestroy(); Super::OnDestroy();
} }
@ -827,7 +826,6 @@ void DSeqNode::ActivateSequence (int sequence)
m_CurrentSoundID = 0; m_CurrentSoundID = 0;
m_Volume = 1; // Start at max volume... m_Volume = 1; // Start at max volume...
m_Atten = ATTN_IDLE; // ...and idle attenuation m_Atten = ATTN_IDLE; // ...and idle attenuation
Level->ActiveSequences++;
} }
DSeqActorNode::DSeqActorNode (AActor *actor, int sequence, int modenum) DSeqActorNode::DSeqActorNode (AActor *actor, int sequence, int modenum)
@ -1323,7 +1321,6 @@ void DSeqNode::Tick ()
int seqnum = FindSequence (ENamedName(m_SequencePtr[i*2+1])); int seqnum = FindSequence (ENamedName(m_SequencePtr[i*2+1]));
if (seqnum >= 0) if (seqnum >= 0)
{ // Found a match, and it's a good one too. { // Found a match, and it's a good one too.
Level->ActiveSequences--;
ActivateSequence (seqnum); ActivateSequence (seqnum);
break; break;
} }
@ -1358,7 +1355,7 @@ void SN_UpdateActiveSequences (FLevelLocals *Level)
{ {
DSeqNode *node; DSeqNode *node;
if (!Level->ActiveSequences || paused) if (paused)
{ // No sequences currently playing/game is paused { // No sequences currently playing/game is paused
return; return;
} }

View file

@ -261,8 +261,6 @@ FA23E72FA955E66EC68609F72C0BA71E // unloved.pk3:unlovedmaps.wad map02
41BEC1F643CFEEC997AF98276A05EC88 // unloved.pk3:unlovedmaps.wad map03 41BEC1F643CFEEC997AF98276A05EC88 // unloved.pk3:unlovedmaps.wad map03
AF9A6370BE562584BC11165ECF364713 // unloved.pk3:unlovedmaps.wad map04 AF9A6370BE562584BC11165ECF364713 // unloved.pk3:unlovedmaps.wad map04
DC96228097DD004C40CCB1DB14A91EAA // unloved.pk3:unlovedmaps.wad map05 DC96228097DD004C40CCB1DB14A91EAA // unloved.pk3:unlovedmaps.wad map05
261E64897A572C8DB8DC041E64BE27AD // unloved2beta1.pk3:u2_new2maps2.wad map06
04800B1F35E8C036EBABC8C616402927 // unloved2beta1.pk3:u2_new2maps2.wad map07
9E54F70648A77BBD090FF78A3AA05367 // unloved2beta1.pk3:u2_new2maps2.wad map08 9E54F70648A77BBD090FF78A3AA05367 // unloved2beta1.pk3:u2_new2maps2.wad map08
72E9E0F41F691B7F956E62F35B4A617F // unloved2beta1.pk3:u2_new2maps2.wad map09 72E9E0F41F691B7F956E62F35B4A617F // unloved2beta1.pk3:u2_new2maps2.wad map09
3D3FE412E87AD8B2316DAEC9E25F2E5D // unloved2beta1.pk3:u2_new2maps2.wad map10 3D3FE412E87AD8B2316DAEC9E25F2E5D // unloved2beta1.pk3:u2_new2maps2.wad map10
@ -275,3 +273,15 @@ DC96228097DD004C40CCB1DB14A91EAA // unloved.pk3:unlovedmaps.wad map05
setslopeoverflow setslopeoverflow
polyobj polyobj
} }
1624AD80349566AA7F29D2CA0D51754B // The Gateway Experiments Episode 5: Prime Directive, ge5map02
{
checkswitchrange
}
261E64897A572C8DB8DC041E64BE27AD // unloved2beta1.pk3:u2_new2maps2.wad map06
04800B1F35E8C036EBABC8C616402927 // unloved2beta1.pk3:u2_new2maps2.wad map07
{
clipmidtex
checkswitchrange
}

View file

@ -2184,6 +2184,7 @@ CMPTMNU_SOUNDCUTOFF = "Sounds stop when actor vanishes";
CMPTMNU_SOUNDTARGET = "Use original sound target handling"; CMPTMNU_SOUNDTARGET = "Use original sound target handling";
CMPTMNU_TELEPORT = "Scripted teleports don't trigger sector actions"; CMPTMNU_TELEPORT = "Scripted teleports don't trigger sector actions";
CMPTMNU_PUSHWINDOW = "Non-blocking lines can be pushed"; CMPTMNU_PUSHWINDOW = "Non-blocking lines can be pushed";
CMPTMNU_CHECKSWITCHRANGE = "Enable buggy CheckSwitchRange behavior";
// Sound Options // Sound Options
SNDMNU_TITLE = "SOUND OPTIONS"; SNDMNU_TITLE = "SOUND OPTIONS";

View file

@ -1434,6 +1434,7 @@ OptionMenu "CompatibilityOptions" protected
Option "$CMPTMNU_MULTIEXIT", "compat_multiexit", "YesNo" Option "$CMPTMNU_MULTIEXIT", "compat_multiexit", "YesNo"
Option "$CMPTMNU_TELEPORT", "compat_teleport", "YesNo" Option "$CMPTMNU_TELEPORT", "compat_teleport", "YesNo"
Option "$CMPTMNU_PUSHWINDOW", "compat_pushwindow", "YesNo" Option "$CMPTMNU_PUSHWINDOW", "compat_pushwindow", "YesNo"
Option "$CMPTMNU_CHECKSWITCHRANGE", "compat_checkswitchrange", "YesNo"
StaticText " " StaticText " "
StaticText "$CMPTMNU_PHYSICSBEHAVIOR",1 StaticText "$CMPTMNU_PHYSICSBEHAVIOR",1

View file

@ -1338,4 +1338,5 @@ enum ECompatFlags
COMPATF2_MULTIEXIT = 1 << 4, // Level exit can be triggered multiple times (required by Daedalus's travel tubes, thanks to a faulty script) COMPATF2_MULTIEXIT = 1 << 4, // Level exit can be triggered multiple times (required by Daedalus's travel tubes, thanks to a faulty script)
COMPATF2_TELEPORT = 1 << 5, // Don't let indirect teleports trigger sector actions COMPATF2_TELEPORT = 1 << 5, // Don't let indirect teleports trigger sector actions
COMPATF2_PUSHWINDOW = 1 << 6, // Disable the window check in CheckForPushSpecial() COMPATF2_PUSHWINDOW = 1 << 6, // Disable the window check in CheckForPushSpecial()
COMPATF2_CHECKSWITCHRANGE = 1 << 7, // Enable buggy CheckSwitchRange behavior
}; };