Sidedef

Properties


angle

The Sidedef's angle in degrees. Read-only.


angleRad

The Sidedef's angle in radians. Read-only.


fields

UDMF fields. It's an object with the fields as properties.

s.fields.comment = 'This is a comment';
s.fields['comment'] = 'This is a comment'; // Also  works
s.fields.xscalefloor = 2.0;
t.fields.score = 100;

It is also possible to define new fields:

s.fields.user_myboolfield = true;

There are some restrictions, though:

  • it only works for fields that are not in the base UDMF standard, since those are handled directly in the respective class
  • it does not work for flags. While they are technically also UDMF fields, they are handled in the flags field of the respective class (where applicable)
  • JavaScript does not distinguish between integer and floating point numbers, it only has floating point numbers (of double precision). For fields where UDB knows that they are integers this it not a problem, since it'll automatically convert the floating point numbers to integers (dropping the fractional part). However, if you need to specify an integer value for an unknown or custom field you have to work around this limitation: Version 5 and later: You can use a BigInt. This is done by appending a n to the number. Note that this is just a convenient way to define whole numbers, it still only supports 32 bit integers:
s.fields.user_myintfield = 25n; // Sets the 'user_myintfield' field to an integer value of 25

In version 4 and earlier you have to use the UniValue class:

s.fields.user_myintfield = new UDB.UniValue(0, 25); // Sets the 'user_myintfield' field to an integer value of 25

To remove a field you have to assign null to it:

s.fields.user_myintfield = null;

flags

Sidedef flags. It's an object with the flags as properties. Only available in UDMF.

s.flags['noattack'] = true; // Monsters in this sector don't attack
s.flags.noattack = true; // Also works

index

The Sidedef's index. Read-only.


isFront

true if this Sidedef is the front of its Linedef, otherwise false. Read-only.


line

The Linedef the Sidedef belongs to. Read-only.


Version: 3

lowerHighlighted

If the Sidedef's lower part is highlighted or not. Will always return true in classic modes if the parent Linedef is selected.


Version: 3

lowerSelected

If the Sidedef's lower part is selected or not. Will always return true in classic modes if the parent Linedef is selected.


lowerTexture

The Sidedef's lower texture.


Version: 3

middleHighlighted

If the Sidedef's middle part is highlighted or not. Will always return true in classic modes if the parent Linedef is selected.


Version: 3

middleSelected

If the Sidedef's middle part is selected or not. Will always return true in classic modes if the parent Linedef is selected.


middleTexture

The Sidedef's middle texture.


offsetX

The x offset of the Sidedef's textures.


offsetY

The y offset of the Sidedef's textures.


other

The Sidedef on the other side of this Sidedef's Linedef. Returns null if there is no other. Read-only.


sector

The Sector the Sidedef belongs to. Read-only.


Version: 3

upperHighlighted

If the Sidedef's upper part is highlighted or not. Will always return true in classic modes if the parent Linedef is selected.


Version: 3

upperSelected

If the Sidedef's upper part is selected or not. Will always return true in classic modes if the parent Linedef is selected.


upperTexture

The Sidedef's upper texture.