Restored "Texture offset" input in Linedef edit and Linedef info panels for UDMF format.

Added several UDMF properties to ZDoom configuration.
This commit is contained in:
MaxED 2012-11-05 21:53:45 +00:00
parent f81aad796d
commit 8b91176fb0
6 changed files with 1601 additions and 1202 deletions

View file

@ -38,6 +38,7 @@ linedefflags_udmf
midtex3d = "Walkable middle texture";
blockprojectiles = "Block projectiles";
blockuse = "Block use actions";
blocksight = "Block monster line of sight";
}
@ -62,17 +63,11 @@ thingflags
thingflags_udmf
{
countsecret = "Count as secret";
skill6 = "Skill 6";
skill7 = "Skill 7";
skill8 = "Skill 8";
class1 = "Class 1";
class2 = "Class 2";
class3 = "Class 3";
class4 = "Class 4";
class5 = "Class 5";
class6 = "Class 6";
class7 = "Class 7";
class8 = "Class 8";
}
@ -222,12 +217,19 @@ universalfields
translucent = "Translucent";
add = "Additive";
}
}
locknumber
{
type = 0;
default = 0;
}
arg0str
{
type = 2;
default = "";
}
type = 2;
default = "";
}
}
sidedef
@ -370,12 +372,211 @@ universalfields
{
type = 0;
default = 0;
}
countsecret
{
type = 3;
default = false;
}
skill1
{
type = 3;
default = true;
}
skill2
{
type = 3;
default = true;
}
skill3
{
type = 3;
default = true;
}
skill4
{
type = 3;
default = true;
}
skill5
{
type = 3;
default = true;
}
skill6
{
type = 3;
default = true;
}
skill7
{
type = 3;
default = true;
}
skill8
{
type = 3;
default = true;
}
skill9
{
type = 3;
default = true;
}
skill10
{
type = 3;
default = true;
}
skill11
{
type = 3;
default = true;
}
skill12
{
type = 3;
default = true;
}
skill13
{
type = 3;
default = true;
}
skill14
{
type = 3;
default = true;
}
skill15
{
type = 3;
default = true;
}
skill16
{
type = 3;
default = true;
}
class1
{
type = 3;
default = true;
}
class2
{
type = 3;
default = true;
}
class3
{
type = 3;
default = true;
}
class4
{
type = 3;
default = true;
}
class5
{
type = 3;
default = true;
}
class6
{
type = 3;
default = true;
}
class7
{
type = 3;
default = true;
}
class8
{
type = 3;
default = true;
}
class9
{
type = 3;
default = true;
}
class10
{
type = 3;
default = true;
}
class11
{
type = 3;
default = true;
}
class12
{
type = 3;
default = true;
}
class13
{
type = 3;
default = true;
}
class14
{
type = 3;
default = true;
}
class15
{
type = 3;
default = true;
}
class16
{
type = 3;
default = true;
}
arg0str
{
type = 2;
default = "";
}
type = 2;
default = "";
}
}
sector
@ -468,6 +669,40 @@ universalfields
{
type = 3;
default = false;
}
alphafloor
{
type = 1;
default = 1.0f;
}
alphaceiling
{
type = 1;
default = 1.0f;
}
renderstylefloor
{
type = 16;
default = "translucent";
enum
{
translucent = "Translucent";
add = "Additive";
}
}
renderstyleceiling
{
type = 16;
default = "translucent";
enum
{
translucent = "Translucent";
add = "Additive";
}
}
gravity
@ -530,6 +765,21 @@ universalfields
default = false;
}
}
vertex
{
zfloor
{
type = 1;
default = 0.0f;
}
zceiling
{
type = 1;
default = 0.0f;
}
}
}

View file

@ -1,5 +1,5 @@
===============================================================================
Universal Doom Map Format ZDoom extensions v1.10 - 25.04.2010
Universal Doom Map Format ZDoom extensions v1.15 - 14.12.2010
Copyright (c) 2008 Christoph Oelckers.
@ -39,7 +39,7 @@ between the TEXTMAP and ENDMAP lumps:
BEHAVIOR = contains compiled ACS code
DIALOGUE = contains compiled Strife conversation scripts.
ZNODES = Nodes (must be stored as extended GL nodes. Compression is allowed
but deprecated for portability reasons.)
but deprecated for portability reasons.)
BLOCKMAP = blockmap. It is recommended not to include this lump in UDMF maps.
REJECT = reject table. Recommended use is for special effects only.
@ -84,6 +84,12 @@ field to 'strifeally', even for the 'Doom' namespace.
In addition to the standard fields, ZDoom defines the following:
Note: All <bool> fields default to false unless mentioned otherwise.
vertex
{
zfloor = <float>; // Floor height at this vertex. Only applies to triangular sectors
zceiling = <float>; // Ceiling height at this vertex. Only applies to triangular sectors
}
linedef
{
alpha = <float>; // Translucency of this line, default is 1.0
@ -105,10 +111,17 @@ Note: All <bool> fields default to false unless mentioned otherwise.
midtex3d = <bool>; // Actors can walk on mid texture.
checkswitchrange = <bool>;// Switches can only be activated when vertically reachable.
blockprojectiles = <bool>;// Line blocks all projectiles
blockuse = <bool>; // Line blocks all use actions
blockuse = <bool>; // Line blocks all use actions
blocksight = <bool>; // Line blocks monster line of sight
locknumber = <int>; // Line special is locked
arg0str = <string>; // Alternate string-based version of arg0
* Note about arg0str
For lines with ACS specials (80-86 and 226), if arg0str is present and non-null, it
will be used as the name of the script to execute, and arg0 will be ignored.
}
sidedef
{
scalex_top = <float>; // X scale for upper texture, Default = 1.0.
@ -128,16 +141,19 @@ Note: All <bool> fields default to false unless mentioned otherwise.
light = <integer>; // This side's light level. Default is 0.
lightabsolute = <bool>; // true = 'light' is an absolute value. Default is
// relative to the owning sector's light level.
nofakecontrast = <bool>; // Disables use of fake contrast on this sidedef.
smoothlighting = <bool>; // Use smooth fake contrast.
lightfog = <bool>; // true = This side's relative lighting is used even in
// foggy sectors. Default is to disable relative
// lighting in foggy sectors.
nofakecontrast = <bool>; // Disables use of fake contrast on this sidedef.
smoothlighting = <bool>; // Use smooth fake contrast.
clipmidtex = <bool>; // Side's mid textures are clipped to floor and ceiling.
wrapmidtex = <bool>; // Side's mid textures are wrapped.
nodecals = <bool>; // Disables decals on the sidedef.
nodecals = <bool>; // Disables decals on the sidedef.
}
sector
{
xpanningfloor = <float>; // X texture offset of floor texture, Default = 0.0.
xpanningfloor = <float>; // X texture offset of floor texture, Default = 0.0.
ypanningfloor = <float>; // Y texture offset of floor texture, Default = 0.0.
xpanningceiling = <float>; // X texture offset of ceiling texture, Default = 0.0.
ypanningceiling = <float>; // Y texture offset of ceiling texture, Default = 0.0.
@ -153,39 +169,48 @@ Note: All <bool> fields default to false unless mentioned otherwise.
// relative to the owning sector's light level.
lightceilingabsolute = <bool>; // true = 'lightceiling' is an absolute value. Default is
// relative to the owning sector's light level.
alphafloor = <float>; // translucency of floor plane (only has meaning with Sector_SetPortal) Default is 1.0.
alphaceiling = <float>; // translucency of ceiling plane (only has meaning with Sector_SetPortal) Default is 1.0.
renderstylefloor = <string>; // floor plane renderstyle (only has meaning with Sector_SetPortal); not implemented yet in software renderer
// can be "translucent" or "add", default is "translucent".
renderstyleceiling = <string>; // ceiling plane renderstyle (only has meaning with Sector_SetPortal); not implemented yet in software renderer
// can be "translucent" or "add", default is "translucent".
gravity = <float>; // Sector's gravity. Default is 1.0.
lightcolor = <integer>; // Sector'S light color as RRGGBB value, default = 0xffffff.
fadecolor = <integer>; // Sector'S fog color as RRGGBB value, default = 0x000000.
lightcolor = <integer>; // Sector's light color as RRGGBB value, default = 0xffffff.
fadecolor = <integer>; // Sector's fog color as RRGGBB value, default = 0x000000.
desaturation = <float>; // Color desaturation factor. 0 = none, 1 = full, default = 0.
silent = <bool>; // Actors in this sector make no sound,
nofallingdamage = <bool>; // Falling damage is disabled in this sector
dropactors = <bool>; // Actors drop with instantly moving floors (*)
norespawn = <bool>; // Players can not respawn in this sector
soundsequence = <string>; // The sound sequence to play when this sector moves. Placing a
// sound sequence thing in the sector will override this property.
hidden = <bool>; // if true this sector will not be drawn on the textured automap.
norespawn = <bool>; // Players can not respawn in this sector
soundsequence = <string>; // The sound sequence to play when this sector moves. Placing a
// sound sequence thing in the sector will override this property.
hidden = <bool>; // if true this sector will not be drawn on the textured automap.
* Note about dropactors
The spec requires this to be false by default. Currently, however ZDoom assumes this to be true
The spec requires this to be false by default. Currently, however, ZDoom assumes this to be true
for Doom format maps so any map converter converting to the ZDoomTranslated namespace should
set this flag for each tagged sector.
}
thing
{
skill# = <bool> // Unlike the base spec, # can range from 1-8.
// 8 is the maximum amount of skills the skill
// menu can display.
class# = <bool> // Unlike the base spec, # can range from 1-8.
// 8 is the maximum amount of classes the class
// menu can display.
conversation = <int> // Assigns a conversation dialogue to this thing.
// Parameter is the conversation ID, 0 meaning none.
skill# = <bool> // Unlike the base spec, # can range from 1-16.
class# = <bool> // Unlike the base spec, # can range from 1-16.
conversation = <int> // Assigns a conversation dialogue to this thing.
// Parameter is the conversation ID, 0 meaning none.
countsecret = <bool>; // Picking up this actor counts as a secret.
arg0str = <string>; // Alternate string-based version of arg0
* Note about arg0str
For things with ACS specials (80-86 and 226), if arg0str is present and non-null, it
will be used as the name of the script to execute, and arg0 will be ignored.
}
*** Special notes for map format conversions:
@ -194,7 +219,7 @@ Note: All <bool> fields default to false unless mentioned otherwise.
Unless mentioned differently the arg being used to define the line ID
should be set to 0.
The following line specials are affected:
121: Line_SetIdentification, arg 0
208: TranslucentLine, arg0 (arg0 must be preserved)
1: Polyobj_StartLine, arg3
@ -202,16 +227,17 @@ Note: All <bool> fields default to false unless mentioned otherwise.
181: Plane_Align, arg2
215: Teleport_Line, arg0
222: Scroll_Texture_Model, arg0 (arg0 must be preserved)
160: Sector_3DFloor, arg4 (both uses as high-byte of tag and line ID are not supported in UDMF and must be remapped)
Some specials also allow setting the extended flags. These must also be
converted to explicitly setting the flags through the defined map fields.
This affects the following specials:
121: Line_SetIdentification, arg1
208: TranslucentLine, arg3
These args are to be converted as follows to flags, bit by bit:
Bit 0 (Value 1): zoneboundary
Bit 1 (Value 2): jumpover
Bit 2 (Value 4): blockfloaters
@ -220,13 +246,13 @@ Note: All <bool> fields default to false unless mentioned otherwise.
Bit 5 (Value 32): midtex3d
Bit 6 (Value 64): checkswitchrange
Bit 7 (Value 128): firstsideonly
When used in special 208 this arg should be cleared afterward.
Special 121 is not being used by UDMF maps in ZDoom and should be completely
deleted after conversion.
=======================================
Changelog
=======================================
@ -269,7 +295,7 @@ Changed node specifications to deprecate compression of node lump.
Added 'playeruseback' line trigger flag.
1.11 07.08.2010
Added 'soundsequnce' sector property.
Added 'soundsequence' sector property.
1.12 22.08.2010
Added 'conversation' thing property.
@ -277,6 +303,31 @@ Added 'conversation' thing property.
1.13 29.08.2010
Added 'hidden' sector property.
1.14 19.09.2010
Added 'countsecret' actor property.
1.15 14.12.2010
Added vertex floor and ceiling height properties
1.16 23.01.2011
Added alphaceiling and alphafloor sector properties
Added blocksight linedef flag
Removed remarks of 8 being the maximum number of player classes/skill levels the menu can handle so the spec now properly lists 16 as limit.
1.17 12.02.2011
Added renderstyleceiling and renderstylefloor sector properties
Added Sector_Set3DFloor to list of specials that need to be handled for line ID remapping
1.18 17.02.2012
Added arg0str linedef property.
Standardized whitespace.
1.19 24.02.2012
Added back locknumber property.
1.20 25.02.2012
Added arg0str thing property.
===============================================================================
EOF
===============================================================================

View file

@ -162,7 +162,7 @@ namespace CodeImp.DoomBuilder.Controls
// Show sidedef info
frontpanel.Visible = true; //mxd
frontpanel.Text = " Front Sidedef " + l.Front.Index + " ";
frontpanel.Text = " Front Sidedef " + l.Front.Index;
frontsector.Text = " Sector " + l.Front.Sector.Index;
frontsector.Visible = true;
@ -172,6 +172,9 @@ namespace CodeImp.DoomBuilder.Controls
frontoffsetlabel.Text = "Front light:";
setUDMFLight(l.Front, frontoffsetlabel, frontoffset);
//global offset
frontpanel.Text += ". Offset: " + l.Front.OffsetX + ", " + l.Front.OffsetY;
bool hasTopFields = false;
bool hasMiddleFields = false;
bool hasBottomFields = false;
@ -260,7 +263,7 @@ namespace CodeImp.DoomBuilder.Controls
// Show sidedef info
backpanel.Visible = true; //mxd
backpanel.Text = " Back Sidedef " + l.Back.Index + " ";
backpanel.Text = " Back Sidedef " + l.Back.Index;
backsector.Text = " Sector " + l.Back.Sector.Index;
backsector.Visible = true;
@ -270,6 +273,9 @@ namespace CodeImp.DoomBuilder.Controls
backoffsetlabel.Text = "Back light:";
setUDMFLight(l.Back, backoffsetlabel, backoffset);
//global offset
backpanel.Text += ". Offset: " + l.Back.OffsetX + ", " + l.Back.OffsetY;
bool hasTopFields = false;
bool hasMiddleFields = false;
bool hasBottomFields = false;

File diff suppressed because it is too large Load diff

View file

@ -119,16 +119,11 @@ namespace CodeImp.DoomBuilder.Windows
}
//mxd. Setup texture offset controls
if (General.Map.UDMF) {
lTexOffsetFrontUpper.Text = "Upper Offset:";
lTexOffsetBackUpper.Text = "Upper Offset:";
} else {
if (!General.Map.UDMF) {
pFrontUDMFOffsets.Visible = false;
pBackUDMFOffsets.Visible = false;
customfrontbutton.Top = 126;
custombackbutton.Top = 126;
lTexOffsetFrontUpper.Text = "Texture Offset:";
lTexOffsetBackUpper.Text = "Texture Offset:";
}
}
@ -198,16 +193,16 @@ namespace CodeImp.DoomBuilder.Windows
//mxd
if (General.Map.UDMF) {
frontoffsetx.Text = getUDMFTextureOffset(fl.Front.Fields, "offsetx_top").ToString();
frontoffsety.Text = getUDMFTextureOffset(fl.Front.Fields, "offsety_top").ToString();
frontOffsetMidX.Text = getUDMFTextureOffset(fl.Front.Fields, "offsetx_mid").ToString();
frontOffsetMidY.Text = getUDMFTextureOffset(fl.Front.Fields, "offsety_mid").ToString();
frontOffsetLowX.Text = getUDMFTextureOffset(fl.Front.Fields, "offsetx_bottom").ToString();
frontOffsetLowY.Text = getUDMFTextureOffset(fl.Front.Fields, "offsety_bottom").ToString();
} else {
frontoffsetx.Text = fl.Front.OffsetX.ToString();
frontoffsety.Text = fl.Front.OffsetY.ToString();
frontOffsetTopX.Text = getUDMFTextureOffset(fl.Front.Fields, "offsetx_top").ToString();
frontOffsetTopY.Text = getUDMFTextureOffset(fl.Front.Fields, "offsety_top").ToString();
frontOffsetMidX.Text = getUDMFTextureOffset(fl.Front.Fields, "offsetx_mid").ToString();
frontOffsetMidY.Text = getUDMFTextureOffset(fl.Front.Fields, "offsety_mid").ToString();
frontOffsetLowX.Text = getUDMFTextureOffset(fl.Front.Fields, "offsetx_bottom").ToString();
frontOffsetLowY.Text = getUDMFTextureOffset(fl.Front.Fields, "offsety_bottom").ToString();
}
frontoffsetx.Text = fl.Front.OffsetX.ToString();
frontoffsety.Text = fl.Front.OffsetY.ToString();
}
// Back settings
@ -223,16 +218,16 @@ namespace CodeImp.DoomBuilder.Windows
//mxd
if (General.Map.UDMF) {
backoffsetx.Text = getUDMFTextureOffset(fl.Back.Fields, "offsetx_top").ToString();
backoffsety.Text = getUDMFTextureOffset(fl.Back.Fields, "offsety_top").ToString();
backOffsetMidX.Text = getUDMFTextureOffset(fl.Back.Fields, "offsetx_mid").ToString();
backOffsetMidY.Text = getUDMFTextureOffset(fl.Back.Fields, "offsety_mid").ToString();
backOffsetLowX.Text = getUDMFTextureOffset(fl.Back.Fields, "offsetx_bottom").ToString();
backOffsetLowY.Text = getUDMFTextureOffset(fl.Back.Fields, "offsety_bottom").ToString();
} else {
backoffsetx.Text = fl.Back.OffsetX.ToString();
backoffsety.Text = fl.Back.OffsetY.ToString();
backOffsetTopX.Text = getUDMFTextureOffset(fl.Back.Fields, "offsetx_top").ToString();
backOffsetTopY.Text = getUDMFTextureOffset(fl.Back.Fields, "offsety_top").ToString();
backOffsetMidX.Text = getUDMFTextureOffset(fl.Back.Fields, "offsetx_mid").ToString();
backOffsetMidY.Text = getUDMFTextureOffset(fl.Back.Fields, "offsety_mid").ToString();
backOffsetLowX.Text = getUDMFTextureOffset(fl.Back.Fields, "offsetx_bottom").ToString();
backOffsetLowY.Text = getUDMFTextureOffset(fl.Back.Fields, "offsety_bottom").ToString();
}
backoffsetx.Text = fl.Back.OffsetX.ToString();
backoffsety.Text = fl.Back.OffsetY.ToString();
}
////////////////////////////////////////////////////////////////////////
@ -314,17 +309,18 @@ namespace CodeImp.DoomBuilder.Windows
if(frontlow.Required != l.Front.LowRequired()) frontlow.Required = false;
if(frontsector.Text != l.Front.Sector.Index.ToString()) frontsector.Text = "";
//mxd
if (General.Map.UDMF) {
if (frontoffsetx.Text != getUDMFTextureOffset(l.Front.Fields, "offsetx_top").ToString()) frontoffsetx.Text = "";
if (frontoffsety.Text != getUDMFTextureOffset(l.Front.Fields, "offsety_top").ToString()) frontoffsety.Text = "";
if (frontOffsetMidX.Text != getUDMFTextureOffset(l.Front.Fields, "offsetx_mid").ToString()) frontOffsetMidX.Text = "";
if (frontOffsetMidY.Text != getUDMFTextureOffset(l.Front.Fields, "offsety_mid").ToString()) frontOffsetMidY.Text = "";
if (frontOffsetLowX.Text != getUDMFTextureOffset(l.Front.Fields, "offsetx_bottom ").ToString()) frontOffsetLowX.Text = "";
if (frontOffsetLowY.Text != getUDMFTextureOffset(l.Front.Fields, "offsety_bottom ").ToString()) frontOffsetLowY.Text = "";
} else {
if (frontoffsetx.Text != l.Front.OffsetX.ToString()) frontoffsetx.Text = "";
if (frontoffsety.Text != l.Front.OffsetY.ToString()) frontoffsety.Text = "";
if(frontOffsetTopX.Text != getUDMFTextureOffset(l.Front.Fields, "offsetx_top").ToString()) frontOffsetTopX.Text = "";
if(frontOffsetTopY.Text != getUDMFTextureOffset(l.Front.Fields, "offsety_top").ToString()) frontOffsetTopY.Text = "";
if(frontOffsetMidX.Text != getUDMFTextureOffset(l.Front.Fields, "offsetx_mid").ToString()) frontOffsetMidX.Text = "";
if(frontOffsetMidY.Text != getUDMFTextureOffset(l.Front.Fields, "offsety_mid").ToString()) frontOffsetMidY.Text = "";
if(frontOffsetLowX.Text != getUDMFTextureOffset(l.Front.Fields, "offsetx_bottom ").ToString()) frontOffsetLowX.Text = "";
if(frontOffsetLowY.Text != getUDMFTextureOffset(l.Front.Fields, "offsety_bottom ").ToString()) frontOffsetLowY.Text = "";
}
if (frontoffsetx.Text != l.Front.OffsetX.ToString()) frontoffsetx.Text = "";
if (frontoffsety.Text != l.Front.OffsetY.ToString()) frontoffsety.Text = "";
}
// Back settings
@ -340,16 +336,16 @@ namespace CodeImp.DoomBuilder.Windows
//mxd
if (General.Map.UDMF) {
if (backoffsetx.Text != getUDMFTextureOffset(l.Back.Fields, "offsetx_top").ToString()) backoffsetx.Text = "";
if (backoffsety.Text != getUDMFTextureOffset(l.Back.Fields, "offsety_top").ToString()) backoffsety.Text = "";
if (backOffsetMidX.Text != getUDMFTextureOffset(l.Back.Fields, "offsetx_mid").ToString()) backOffsetMidX.Text = "";
if (backOffsetMidY.Text != getUDMFTextureOffset(l.Back.Fields, "offsety_mid").ToString()) backOffsetMidY.Text = "";
if (backOffsetLowX.Text != getUDMFTextureOffset(l.Back.Fields, "offsetx_bottom ").ToString()) backOffsetLowX.Text = "";
if (backOffsetLowY.Text != getUDMFTextureOffset(l.Back.Fields, "offsety_bottom ").ToString()) backOffsetLowY.Text = "";
} else {
if (backoffsetx.Text != l.Back.OffsetX.ToString()) backoffsetx.Text = "";
if (backoffsety.Text != l.Back.OffsetY.ToString()) backoffsety.Text = "";
if(backOffsetTopX.Text != getUDMFTextureOffset(l.Back.Fields, "offsetx_top").ToString()) backOffsetTopX.Text = "";
if(backOffsetTopY.Text != getUDMFTextureOffset(l.Back.Fields, "offsety_top").ToString()) backOffsetTopY.Text = "";
if(backOffsetMidX.Text != getUDMFTextureOffset(l.Back.Fields, "offsetx_mid").ToString()) backOffsetMidX.Text = "";
if(backOffsetMidY.Text != getUDMFTextureOffset(l.Back.Fields, "offsety_mid").ToString()) backOffsetMidY.Text = "";
if(backOffsetLowX.Text != getUDMFTextureOffset(l.Back.Fields, "offsetx_bottom ").ToString()) backOffsetLowX.Text = "";
if(backOffsetLowY.Text != getUDMFTextureOffset(l.Back.Fields, "offsety_bottom ").ToString()) backOffsetLowY.Text = "";
}
if (backoffsetx.Text != l.Back.OffsetX.ToString()) backoffsetx.Text = "";
if (backoffsety.Text != l.Back.OffsetY.ToString()) backoffsety.Text = "";
if(General.Map.FormatInterface.HasCustomFields) custombackbutton.Visible = true;
}
@ -553,19 +549,18 @@ namespace CodeImp.DoomBuilder.Windows
int min = General.Map.FormatInterface.MinTextureOffset;
int max = General.Map.FormatInterface.MaxTextureOffset;
if (General.Map.UDMF) {
if (frontoffsetx.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsetx_top", General.Clamp(frontoffsetx.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsetx_top")), min, max));
if (frontoffsety.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsety_top", General.Clamp(frontoffsety.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsety_top")), min, max));
if(frontOffsetTopX.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsetx_top", General.Clamp(frontOffsetTopX.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsetx_top")), min, max));
if(frontOffsetTopY.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsety_top", General.Clamp(frontOffsetTopY.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsety_top")), min, max));
if (frontOffsetMidX.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsetx_mid", General.Clamp(frontOffsetMidX.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsetx_mid")), min, max));
if (frontOffsetMidY.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsety_mid", General.Clamp(frontOffsetMidY.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsety_mid")), min, max));
if(frontOffsetMidX.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsetx_mid", General.Clamp(frontOffsetMidX.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsetx_mid")), min, max));
if(frontOffsetMidY.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsety_mid", General.Clamp(frontOffsetMidY.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsety_mid")), min, max));
if (frontOffsetLowX.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsetx_bottom", General.Clamp(frontOffsetLowX.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsetx_bottom")), min, max));
if (frontOffsetLowY.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsety_bottom", General.Clamp(frontOffsetLowY.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsety_bottom")), min, max));
} else {
l.Front.OffsetX = General.Clamp(frontoffsetx.GetResult(l.Front.OffsetX), General.Map.FormatInterface.MinTextureOffset, General.Map.FormatInterface.MaxTextureOffset);
l.Front.OffsetY = General.Clamp(frontoffsety.GetResult(l.Front.OffsetY), General.Map.FormatInterface.MinTextureOffset, General.Map.FormatInterface.MaxTextureOffset);
if(frontOffsetLowX.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsetx_bottom", General.Clamp(frontOffsetLowX.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsetx_bottom")), min, max));
if(frontOffsetLowY.Text != "") setUDMFTextureOffset(l.Front.Fields, "offsety_bottom", General.Clamp(frontOffsetLowY.GetResult((int)getUDMFTextureOffset(l.Front.Fields, "offsety_bottom")), min, max));
}
l.Front.OffsetX = General.Clamp(frontoffsetx.GetResult(l.Front.OffsetX), min, max);
l.Front.OffsetY = General.Clamp(frontoffsety.GetResult(l.Front.OffsetY), min, max);
l.Front.SetTextureHigh(fronthigh.GetResult(l.Front.HighTexture));
l.Front.SetTextureMid(frontmid.GetResult(l.Front.MiddleTexture));
@ -604,20 +599,19 @@ namespace CodeImp.DoomBuilder.Windows
int min = General.Map.FormatInterface.MinTextureOffset;
int max = General.Map.FormatInterface.MaxTextureOffset;
if (General.Map.UDMF) {
if (backoffsetx.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsetx_top", General.Clamp(backoffsetx.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsetx_top")), min, max));
if (backoffsety.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsety_top", General.Clamp(backoffsety.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsety_top")), min, max));
if(backOffsetTopX.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsetx_top", General.Clamp(backOffsetTopX.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsetx_top")), min, max));
if(backOffsetTopY.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsety_top", General.Clamp(backOffsetTopY.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsety_top")), min, max));
if (backOffsetMidX.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsetx_mid", General.Clamp(backOffsetMidX.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsetx_mid")), min, max));
if (backOffsetMidY.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsety_mid", General.Clamp(backOffsetMidY.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsety_mid")), min, max));
if(backOffsetMidX.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsetx_mid", General.Clamp(backOffsetMidX.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsetx_mid")), min, max));
if(backOffsetMidY.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsety_mid", General.Clamp(backOffsetMidY.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsety_mid")), min, max));
if (backOffsetLowX.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsetx_bottom", General.Clamp(backOffsetLowX.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsetx_bottom")), min, max));
if (backOffsetLowY.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsety_bottom", General.Clamp(backOffsetLowY.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsety_bottom")), min, max));
} else {
l.Back.OffsetX = General.Clamp(backoffsetx.GetResult(l.Back.OffsetX), General.Map.FormatInterface.MinTextureOffset, General.Map.FormatInterface.MaxTextureOffset);
l.Back.OffsetY = General.Clamp(backoffsety.GetResult(l.Back.OffsetY), General.Map.FormatInterface.MinTextureOffset, General.Map.FormatInterface.MaxTextureOffset);
if(backOffsetLowX.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsetx_bottom", General.Clamp(backOffsetLowX.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsetx_bottom")), min, max));
if(backOffsetLowY.Text != "") setUDMFTextureOffset(l.Back.Fields, "offsety_bottom", General.Clamp(backOffsetLowY.GetResult((int)getUDMFTextureOffset(l.Back.Fields, "offsety_bottom")), min, max));
}
l.Back.OffsetX = General.Clamp(backoffsetx.GetResult(l.Back.OffsetX), min, max);
l.Back.OffsetY = General.Clamp(backoffsety.GetResult(l.Back.OffsetY), min, max);
l.Back.SetTextureHigh(backhigh.GetResult(l.Back.HighTexture));
l.Back.SetTextureMid(backmid.GetResult(l.Back.MiddleTexture));
l.Back.SetTextureLow(backlow.GetResult(l.Back.LowTexture));

View file

@ -195,6 +195,12 @@
<metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label668.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label667.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="cancel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -246,6 +252,9 @@
<metadata name="frontgroup.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="frontsector.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -264,6 +273,9 @@
<metadata name="backgroup.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label13.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="backsector.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>