5 virtual void SignalSquarePositionChange(int);
6 virtual truth
AllowAlphaEverywhere() const { return true; }
7 virtual int GetSpecialFlags() const;
8 virtual truth
IsLanternOnWall() const { return GetSquarePosition() != CENTER
; }
10 virtual int GetClassAnimationFrames() const { return !IsBroken() ? 32 : 1; }
11 virtual col16
GetMaterialColorA(int) const;
12 virtual col16
GetMaterialColorB(int) const;
13 virtual col16
GetMaterialColorC(int) const;
14 virtual col16
GetMaterialColorD(int) const;
15 virtual alpha
GetAlphaA(int) const { return 255; }
16 virtual alpha
GetAlphaB(int) const;
17 virtual alpha
GetAlphaC(int) const;
18 virtual alpha
GetAlphaD(int) const;
19 virtual v2
GetBitmapPos(int) const;
27 col16
lantern::GetMaterialColorA(int) const { return MakeRGB16(255, 255, 240); }
31 col16
lantern::GetMaterialColorB(int) const { return MakeRGB16(255, 255, 100); }
35 col16
lantern::GetMaterialColorC(int) const { return MakeRGB16(255, 255, 100); }
39 col16
lantern::GetMaterialColorD(int) const { return MakeRGB16(255, 255, 100); }
43 void lantern::SignalSquarePositionChange(int SquarePosition
)
45 item::SignalSquarePositionChange(SquarePosition
);
51 int lantern::GetSpecialFlags() const
53 switch(GetSquarePosition())
55 case LEFT
: return ROTATE
|MIRROR
;
56 case DOWN
: return FLIP
;
58 case RIGHT
: return ROTATE
;
66 alpha
lantern::GetAlphaB(int Frame
) const
69 return (Frame
* (31 - Frame
) >> 1);
74 alpha
lantern::GetAlphaC(int Frame
) const
77 return (Frame
* (31 - Frame
) >> 2);
82 alpha
lantern::GetAlphaD(int Frame
) const
85 return (Frame
* (31 - Frame
) >> 3);
90 v2
lantern::GetBitmapPos(int Frame
) const
92 return GetSquarePosition() == CENTER
93 ? item::GetBitmapPos(Frame
)
94 : item::GetWallBitmapPos(Frame
);