Fixed sign and lever rotations.
This commit is contained in:
parent
82dcc0b4db
commit
d61ff4da3b
@ -7,12 +7,13 @@
|
||||
|
||||
|
||||
class cBlockLeverHandler :
|
||||
public cMetaRotator<cBlockHandler, 0x07, 0x04, 0x02, 0x03, 0x01, false>
|
||||
public cMetaRotator<cBlockHandler, 0x07, 0x04, 0x01, 0x03, 0x02, false>
|
||||
{
|
||||
typedef cMetaRotator<cBlockHandler, 0x07, 0x04, 0x02, 0x03, 0x01, false> super;
|
||||
typedef cMetaRotator<cBlockHandler, 0x07, 0x04, 0x01, 0x03, 0x02, false> super;
|
||||
|
||||
public:
|
||||
cBlockLeverHandler(BLOCKTYPE a_BlockType)
|
||||
: cMetaRotator<cBlockHandler, 0x07, 0x04, 0x02, 0x03, 0x01, false>(a_BlockType)
|
||||
cBlockLeverHandler(BLOCKTYPE a_BlockType) :
|
||||
super(a_BlockType)
|
||||
{
|
||||
}
|
||||
|
||||
@ -132,7 +133,7 @@ public:
|
||||
case 0x05: return 0x06; // Ground rotation
|
||||
case 0x06: return 0x05;
|
||||
|
||||
default: return super::MetaRotateCCW(a_Meta); // Wall Rotation
|
||||
default: return super::MetaRotateCW(a_Meta); // Wall Rotation
|
||||
}
|
||||
}
|
||||
} ;
|
||||
|
@ -75,13 +75,13 @@ public:
|
||||
|
||||
virtual NIBBLETYPE MetaRotateCW(NIBBLETYPE a_Meta) override
|
||||
{
|
||||
return (++a_Meta) & 0x0F;
|
||||
return (a_Meta + 4) & 0x0f;
|
||||
}
|
||||
|
||||
|
||||
virtual NIBBLETYPE MetaRotateCCW(NIBBLETYPE a_Meta) override
|
||||
{
|
||||
return (--a_Meta) & 0x0F;
|
||||
return (a_Meta + 12) & 0x0f;
|
||||
}
|
||||
|
||||
virtual NIBBLETYPE MetaMirrorXY(NIBBLETYPE a_Meta) override
|
||||
@ -90,7 +90,7 @@ public:
|
||||
|
||||
// There are 16 meta values which correspond to different directions.
|
||||
// These values are equated to angles on a circle; 0x08 = 180 degrees.
|
||||
return (a_Meta < 0x08) ? 0x08 + a_Meta : 0x08 - a_Meta;
|
||||
return (a_Meta < 0x08) ? (0x08 + a_Meta) : (0x08 - a_Meta);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user