Scriptified remaining compatibility entries

This commit is contained in:
alexey.lysiuk 2018-04-11 17:01:57 +03:00
parent 6480946d40
commit 6631f208b1
3 changed files with 62 additions and 52 deletions

View file

@ -856,6 +856,25 @@ DEFINE_ACTION_FUNCTION(DLevelCompatibility, SetVertex)
return 0;
}
DEFINE_ACTION_FUNCTION(DLevelCompatibility, SetLineSectorRef)
{
PARAM_PROLOGUE;
PARAM_UINT(lineidx);
PARAM_UINT(sideidx);
PARAM_UINT(sectoridx);
if ( sideidx < 2
&& lineidx < level.lines.Size()
&& sectoridx < level.sectors.Size())
{
if (side_t *side = level.lines[lineidx].sidedef[sideidx])
{
side->sector = &level.sectors[sectoridx];
}
}
return 0;
}
//==========================================================================
//

View file

@ -244,6 +244,11 @@ DC96228097DD004C40CCB1DB14A91EAA // unloved.pk3:unlovedmaps.wad map05
clipmidtex
}
6DC9F6CCEAE7A91AEC48EBE506F22BC4 // void.wad MAP01
{
setslopeoverflow
polyobj
}
@ -260,53 +265,3 @@ DC96228097DD004C40CCB1DB14A91EAA // unloved.pk3:unlovedmaps.wad map05
setsectortag 910 32002
setlinespecial 2410 Sector_Set3DFloor 32002 4 1 0 0
}
FCCA97FC851F6473EAA069F74247B317 // pg-raw.wad map31
{
setlinesectorref 331 front 74
setlinesectorref 326 front 74
setlinesectorref 497 front 74
setlinesectorref 474 front 74
setlinesectorref 471 front 74
setlinesectorref 327 front 74
setlinesectorref 328 front 74
setlinesectorref 329 front 74
setsectortag 74 4
setlinespecial 357 Transfer_Heights 4 2 0 0 0
}
6DC9F6CCEAE7A91AEC48EBE506F22BC4 // void.wad MAP01
{
// Slightly squash the pillars in the starting room with "stimpacks"
// floating on them so that they can be obtained.
setsectoroffset 62 floor -8
setwallyscale 286 front bot 1.090909
setwallyscale 287 front bot 1.090909
setwallyscale 288 front bot 1.090909
setwallyscale 289 front bot 1.090909
setsectoroffset 63 floor -8
setwallyscale 290 front bot 1.090909
setwallyscale 291 front bot 1.090909
setwallyscale 292 front bot 1.090909
setwallyscale 293 front bot 1.090909
setsectoroffset 118 floor -8
setwallyscale 710 front bot 1.090909
setwallyscale 711 front bot 1.090909
setwallyscale 712 front bot 1.090909
setwallyscale 713 front bot 1.090909
setsectoroffset 119 floor -8
setwallyscale 714 front bot 1.090909
setwallyscale 715 front bot 1.090909
setwallyscale 716 front bot 1.090909
setwallyscale 717 front bot 1.090909
setslopeoverflow
polyobj
}

View file

@ -440,7 +440,7 @@ class LevelCompatibility play
OffsetSectorPlane(284, Sector.floor, -8);
OffsetSectorPlane(284, Sector.ceiling, -8);
// Missing textures
SetWallTexture(490, Line.back, Side.bottom, "GRSTNPB");
SetWallTexture(490, Line.back, Side.bottom, "GRSTNPB");
TextureID woodwl = TexMan.CheckForTexture("WOODWL", TexMan.Type_Wall);
SetWallTextureID( 722, Line.front, Side.bottom, woodwl);
SetWallTextureID( 911, Line.front, Side.bottom, woodwl);
@ -528,7 +528,7 @@ class LevelCompatibility play
case '9D50EBE17CEC78938C7A668DB0768611': // Strain map07
{
// Make the exit accessible
SetLineFlags(1021, 0, 1);
SetLineFlags(1021, 0, Line.ML_BLOCKING);
break;
}
@ -543,6 +543,36 @@ class LevelCompatibility play
SetThingZ(404, 168);
break;
}
case '6DC9F6CCEAE7A91AEC48EBE506F22BC4': // void.wad MAP01
{
// Slightly squash the pillars in the starting room with "stimpacks"
// floating on them so that they can be obtained.
OffsetSectorPlane( 62, Sector.floor, -8);
OffsetSectorPlane( 63, Sector.floor, -8);
OffsetSectorPlane(118, Sector.floor, -8);
OffsetSectorPlane(119, Sector.floor, -8);
for (int i = 0; i < 8; ++i)
{
SetWallYScale(286 + i, Line.front, Side.bottom, 1.090909);
SetWallYScale(710 + i, Line.front, Side.bottom, 1.090909);
}
break;
}
case 'FCCA97FC851F6473EAA069F74247B317': // pg-raw.wad map31
{
SetLineSectorRef(331, Line.front, 74);
SetLineSectorRef(326, Line.front, 74);
SetLineSectorRef(497, Line.front, 74);
SetLineSectorRef(474, Line.front, 74);
SetLineSectorRef(471, Line.front, 74);
SetLineSectorRef(327, Line.front, 74);
SetLineSectorRef(328, Line.front, 74);
SetLineSectorRef(329, Line.front, 74);
AddSectorTag(74, 4);
SetLineSpecial(357, Transfer_Heights, 4, 2);
}
}
}
@ -553,6 +583,7 @@ class LevelCompatibility play
private static native void SetThingZ(int thing, double z);
private static native void SetThingFlags(int thing, int flags);
private static native void SetVertex(uint vertex, double x, double y);
private static native void SetLineSectorRef(uint line, uint side, uint sector);
private static void SetWallTexture(int line, int side, int texpart, String texture)
{
@ -608,4 +639,9 @@ class LevelCompatibility play
{
level.sectors[sectornum].SetLightLevel(newval);
}
private static void SetWallYScale(int line, int side, int texpart, double scale)
{
level.lines[line].sidedef[side].SetTextureYScale(texpart, 1.090909);
}
}