Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Tile.cs
Go to the documentation of this file.
3
4namespace Terraria;
5
6public class Tile
7{
8 public ushort type;
9
10 public ushort wall;
11
12 public byte liquid;
13
14 public ushort sTileHeader;
15
16 public byte bTileHeader;
17
18 public byte bTileHeader2;
19
20 public byte bTileHeader3;
21
22 public short frameX;
23
24 public short frameY;
25
26 private const int Bit0 = 1;
27
28 private const int Bit1 = 2;
29
30 private const int Bit2 = 4;
31
32 private const int Bit3 = 8;
33
34 private const int Bit4 = 16;
35
36 private const int Bit5 = 32;
37
38 private const int Bit6 = 64;
39
40 private const int Bit7 = 128;
41
42 private const ushort Bit15 = 32768;
43
44 public const int Type_Solid = 0;
45
46 public const int Type_Halfbrick = 1;
47
48 public const int Type_SlopeDownRight = 2;
49
50 public const int Type_SlopeDownLeft = 3;
51
52 public const int Type_SlopeUpRight = 4;
53
54 public const int Type_SlopeUpLeft = 5;
55
56 public const int Liquid_Water = 0;
57
58 public const int Liquid_Lava = 1;
59
60 public const int Liquid_Honey = 2;
61
62 public const int Liquid_Shimmer = 3;
63
64 private const int NeitherLavaOrHoney = 159;
65
66 private const int EitherLavaOrHoney = 96;
67
68 public int collisionType
69 {
70 get
71 {
72 if (!active())
73 {
74 return 0;
75 }
76 if (halfBrick())
77 {
78 return 2;
79 }
80 if (slope() > 0)
81 {
82 return 2 + slope();
83 }
85 {
86 return 1;
87 }
88 return -1;
89 }
90 }
91
92 public Tile()
93 {
94 type = 0;
95 wall = 0;
96 liquid = 0;
97 sTileHeader = 0;
98 bTileHeader = 0;
99 bTileHeader2 = 0;
100 bTileHeader3 = 0;
101 frameX = 0;
102 frameY = 0;
103 }
104
105 public Tile(Tile copy)
106 {
107 if (copy == null)
108 {
109 type = 0;
110 wall = 0;
111 liquid = 0;
112 sTileHeader = 0;
113 bTileHeader = 0;
114 bTileHeader2 = 0;
115 bTileHeader3 = 0;
116 frameX = 0;
117 frameY = 0;
118 }
119 else
120 {
121 type = copy.type;
122 wall = copy.wall;
123 liquid = copy.liquid;
128 frameX = copy.frameX;
129 frameY = copy.frameY;
130 }
131 }
132
133 public object Clone()
134 {
135 return MemberwiseClone();
136 }
137
138 public void ClearEverything()
139 {
140 type = 0;
141 wall = 0;
142 liquid = 0;
143 sTileHeader = 0;
144 bTileHeader = 0;
145 bTileHeader2 = 0;
146 bTileHeader3 = 0;
147 frameX = 0;
148 frameY = 0;
149 }
150
151 public void ClearTile()
152 {
153 slope(0);
154 halfBrick(halfBrick: false);
155 active(active: false);
156 inActive(inActive: false);
157 }
158
159 public void CopyFrom(Tile from)
160 {
161 type = from.type;
162 wall = from.wall;
163 liquid = from.liquid;
168 frameX = from.frameX;
169 frameY = from.frameY;
170 }
171
172 public bool isTheSameAs(Tile compTile)
173 {
174 if (compTile == null)
175 {
176 return false;
177 }
178 if (sTileHeader != compTile.sTileHeader)
179 {
180 return false;
181 }
182 if (active())
183 {
184 if (type != compTile.type)
185 {
186 return false;
187 }
188 if (Main.tileFrameImportant[type] && (frameX != compTile.frameX || frameY != compTile.frameY))
189 {
190 return false;
191 }
192 }
193 if (wall != compTile.wall || liquid != compTile.liquid)
194 {
195 return false;
196 }
197 if (compTile.liquid == 0)
198 {
199 if (wallColor() != compTile.wallColor())
200 {
201 return false;
202 }
203 if (wire4() != compTile.wire4())
204 {
205 return false;
206 }
207 }
208 else if (bTileHeader != compTile.bTileHeader)
209 {
210 return false;
211 }
212 if (invisibleBlock() != compTile.invisibleBlock() || invisibleWall() != compTile.invisibleWall() || fullbrightBlock() != compTile.fullbrightBlock() || fullbrightWall() != compTile.fullbrightWall())
213 {
214 return false;
215 }
216 return true;
217 }
218
219 public int blockType()
220 {
221 if (halfBrick())
222 {
223 return 1;
224 }
225 int num = slope();
226 if (num > 0)
227 {
228 num++;
229 }
230 return num;
231 }
232
233 public void liquidType(int liquidType)
234 {
235 switch (liquidType)
236 {
237 case 0:
238 bTileHeader &= 159;
239 break;
240 case 1:
241 lava(lava: true);
242 break;
243 case 2:
244 honey(honey: true);
245 break;
246 case 3:
247 shimmer(shimmer: true);
248 break;
249 }
250 }
251
252 public byte liquidType()
253 {
254 return (byte)((bTileHeader & 0x60) >> 5);
255 }
256
257 public bool nactive()
258 {
259 if ((sTileHeader & 0x60) == 32)
260 {
261 return true;
262 }
263 return false;
264 }
265
266 public void ResetToType(ushort type)
267 {
268 liquid = 0;
269 sTileHeader = 32;
270 bTileHeader = 0;
271 bTileHeader2 = 0;
272 bTileHeader3 = 0;
273 frameX = 0;
274 frameY = 0;
275 this.type = type;
276 }
277
278 internal void ClearMetadata()
279 {
280 liquid = 0;
281 sTileHeader = 0;
282 bTileHeader = 0;
283 bTileHeader2 = 0;
284 bTileHeader3 = 0;
285 frameX = 0;
286 frameY = 0;
287 }
288
289 public Color actColor(Color oldColor)
290 {
291 if (!inActive())
292 {
293 return oldColor;
294 }
295 double num = 0.4;
296 return new Color((byte)(num * (double)(int)oldColor.R), (byte)(num * (double)(int)oldColor.G), (byte)(num * (double)(int)oldColor.B), oldColor.A);
297 }
298
299 public void actColor(ref Vector3 oldColor)
300 {
301 if (inActive())
302 {
303 oldColor *= 0.4f;
304 }
305 }
306
307 public bool topSlope()
308 {
309 byte b = slope();
310 if (b != 1)
311 {
312 return b == 2;
313 }
314 return true;
315 }
316
317 public bool bottomSlope()
318 {
319 byte b = slope();
320 if (b != 3)
321 {
322 return b == 4;
323 }
324 return true;
325 }
326
327 public bool leftSlope()
328 {
329 byte b = slope();
330 if (b != 2)
331 {
332 return b == 4;
333 }
334 return true;
335 }
336
337 public bool rightSlope()
338 {
339 byte b = slope();
340 if (b != 1)
341 {
342 return b == 3;
343 }
344 return true;
345 }
346
347 public bool HasSameSlope(Tile tile)
348 {
349 return (sTileHeader & 0x7400) == (tile.sTileHeader & 0x7400);
350 }
351
352 public byte wallColor()
353 {
354 return (byte)(bTileHeader & 0x1Fu);
355 }
356
357 public void wallColor(byte wallColor)
358 {
359 bTileHeader = (byte)((bTileHeader & 0xE0u) | wallColor);
360 }
361
362 public bool lava()
363 {
364 return (bTileHeader & 0x60) == 32;
365 }
366
367 public void lava(bool lava)
368 {
369 if (lava)
370 {
371 bTileHeader = (byte)((bTileHeader & 0x9Fu) | 0x20u);
372 }
373 else
374 {
375 bTileHeader &= 223;
376 }
377 }
378
379 public bool honey()
380 {
381 return (bTileHeader & 0x60) == 64;
382 }
383
384 public void honey(bool honey)
385 {
386 if (honey)
387 {
388 bTileHeader = (byte)((bTileHeader & 0x9Fu) | 0x40u);
389 }
390 else
391 {
392 bTileHeader &= 191;
393 }
394 }
395
396 public bool shimmer()
397 {
398 return (bTileHeader & 0x60) == 96;
399 }
400
401 public void shimmer(bool shimmer)
402 {
403 if (shimmer)
404 {
405 bTileHeader = (byte)((bTileHeader & 0x9Fu) | 0x60u);
406 }
407 else
408 {
409 bTileHeader &= 159;
410 }
411 }
412
413 public bool wire4()
414 {
415 return (bTileHeader & 0x80) == 128;
416 }
417
418 public void wire4(bool wire4)
419 {
420 if (wire4)
421 {
422 bTileHeader |= 128;
423 }
424 else
425 {
426 bTileHeader &= 127;
427 }
428 }
429
430 public int wallFrameX()
431 {
432 return (bTileHeader2 & 0xF) * 36;
433 }
434
435 public void wallFrameX(int wallFrameX)
436 {
437 bTileHeader2 = (byte)((bTileHeader2 & 0xF0u) | ((uint)(wallFrameX / 36) & 0xFu));
438 }
439
440 public byte frameNumber()
441 {
442 return (byte)((bTileHeader2 & 0x30) >> 4);
443 }
444
445 public void frameNumber(byte frameNumber)
446 {
447 bTileHeader2 = (byte)((bTileHeader2 & 0xCFu) | (uint)((frameNumber & 3) << 4));
448 }
449
450 public byte wallFrameNumber()
451 {
452 return (byte)((bTileHeader2 & 0xC0) >> 6);
453 }
454
456 {
457 bTileHeader2 = (byte)((bTileHeader2 & 0x3Fu) | (uint)((wallFrameNumber & 3) << 6));
458 }
459
460 public int wallFrameY()
461 {
462 return (bTileHeader3 & 7) * 36;
463 }
464
465 public void wallFrameY(int wallFrameY)
466 {
467 bTileHeader3 = (byte)((bTileHeader3 & 0xF8u) | ((uint)(wallFrameY / 36) & 7u));
468 }
469
470 public bool checkingLiquid()
471 {
472 return (bTileHeader3 & 8) == 8;
473 }
474
476 {
477 if (checkingLiquid)
478 {
479 bTileHeader3 |= 8;
480 }
481 else
482 {
483 bTileHeader3 &= 247;
484 }
485 }
486
487 public bool skipLiquid()
488 {
489 return (bTileHeader3 & 0x10) == 16;
490 }
491
492 public void skipLiquid(bool skipLiquid)
493 {
494 if (skipLiquid)
495 {
496 bTileHeader3 |= 16;
497 }
498 else
499 {
500 bTileHeader3 &= 239;
501 }
502 }
503
504 public bool invisibleBlock()
505 {
506 return (bTileHeader3 & 0x20) == 32;
507 }
508
510 {
511 if (invisibleBlock)
512 {
513 bTileHeader3 |= 32;
514 }
515 else
516 {
517 bTileHeader3 = (byte)(bTileHeader3 & 0xFFFFFFDFu);
518 }
519 }
520
521 public bool invisibleWall()
522 {
523 return (bTileHeader3 & 0x40) == 64;
524 }
525
526 public void invisibleWall(bool invisibleWall)
527 {
528 if (invisibleWall)
529 {
530 bTileHeader3 |= 64;
531 }
532 else
533 {
534 bTileHeader3 = (byte)(bTileHeader3 & 0xFFFFFFBFu);
535 }
536 }
537
538 public bool fullbrightBlock()
539 {
540 return (bTileHeader3 & 0x80) == 128;
541 }
542
544 {
545 if (fullbrightBlock)
546 {
547 bTileHeader3 |= 128;
548 }
549 else
550 {
551 bTileHeader3 = (byte)(bTileHeader3 & 0xFFFFFF7Fu);
552 }
553 }
554
555 public byte color()
556 {
557 return (byte)(sTileHeader & 0x1Fu);
558 }
559
560 public void color(byte color)
561 {
562 sTileHeader = (ushort)((sTileHeader & 0xFFE0u) | color);
563 }
564
565 public bool active()
566 {
567 return (sTileHeader & 0x20) == 32;
568 }
569
570 public void active(bool active)
571 {
572 if (active)
573 {
574 sTileHeader |= 32;
575 }
576 else
577 {
578 sTileHeader &= 65503;
579 }
580 }
581
582 public bool inActive()
583 {
584 return (sTileHeader & 0x40) == 64;
585 }
586
587 public void inActive(bool inActive)
588 {
589 if (inActive)
590 {
591 sTileHeader |= 64;
592 }
593 else
594 {
595 sTileHeader &= 65471;
596 }
597 }
598
599 public bool wire()
600 {
601 return (sTileHeader & 0x80) == 128;
602 }
603
604 public void wire(bool wire)
605 {
606 if (wire)
607 {
608 sTileHeader |= 128;
609 }
610 else
611 {
612 sTileHeader &= 65407;
613 }
614 }
615
616 public bool wire2()
617 {
618 return (sTileHeader & 0x100) == 256;
619 }
620
621 public void wire2(bool wire2)
622 {
623 if (wire2)
624 {
625 sTileHeader |= 256;
626 }
627 else
628 {
629 sTileHeader &= 65279;
630 }
631 }
632
633 public bool wire3()
634 {
635 return (sTileHeader & 0x200) == 512;
636 }
637
638 public void wire3(bool wire3)
639 {
640 if (wire3)
641 {
642 sTileHeader |= 512;
643 }
644 else
645 {
646 sTileHeader &= 65023;
647 }
648 }
649
650 public bool halfBrick()
651 {
652 return (sTileHeader & 0x400) == 1024;
653 }
654
655 public void halfBrick(bool halfBrick)
656 {
657 if (halfBrick)
658 {
659 sTileHeader |= 1024;
660 }
661 else
662 {
663 sTileHeader &= 64511;
664 }
665 }
666
667 public bool actuator()
668 {
669 return (sTileHeader & 0x800) == 2048;
670 }
671
672 public void actuator(bool actuator)
673 {
674 if (actuator)
675 {
676 sTileHeader |= 2048;
677 }
678 else
679 {
680 sTileHeader &= 63487;
681 }
682 }
683
684 public byte slope()
685 {
686 return (byte)((sTileHeader & 0x7000) >> 12);
687 }
688
689 public void slope(byte slope)
690 {
691 sTileHeader = (ushort)((sTileHeader & 0x8FFFu) | (uint)((slope & 7) << 12));
692 }
693
694 public bool fullbrightWall()
695 {
696 return (sTileHeader & 0x8000) == 32768;
697 }
698
700 {
701 if (fullbrightWall)
702 {
703 sTileHeader |= 32768;
704 }
705 else
706 {
707 sTileHeader = (ushort)(sTileHeader & 0xFFFF7FFFu);
708 }
709 }
710
711 public void Clear(TileDataType types)
712 {
713 if ((types & TileDataType.Tile) != 0)
714 {
715 type = 0;
716 active(active: false);
717 frameX = 0;
718 frameY = 0;
719 }
720 if ((types & TileDataType.Wall) != 0)
721 {
722 wall = 0;
723 wallFrameX(0);
724 wallFrameY(0);
725 }
726 if ((types & TileDataType.TilePaint) != 0)
727 {
729 }
730 if ((types & TileDataType.WallPaint) != 0)
731 {
733 }
734 if ((types & TileDataType.Liquid) != 0)
735 {
736 liquid = 0;
737 liquidType(0);
739 }
740 if ((types & TileDataType.Slope) != 0)
741 {
742 slope(0);
743 halfBrick(halfBrick: false);
744 }
745 if ((types & TileDataType.Wiring) != 0)
746 {
747 wire(wire: false);
748 wire2(wire2: false);
749 wire3(wire3: false);
750 wire4(wire4: false);
751 }
752 if ((types & TileDataType.Actuator) != 0)
753 {
754 actuator(actuator: false);
755 inActive(inActive: false);
756 }
757 }
758
759 public static void SmoothSlope(int x, int y, bool applyToNeighbors = true, bool sync = false)
760 {
761 if (applyToNeighbors)
762 {
763 SmoothSlope(x + 1, y, applyToNeighbors: false, sync);
764 SmoothSlope(x - 1, y, applyToNeighbors: false, sync);
765 SmoothSlope(x, y + 1, applyToNeighbors: false, sync);
766 SmoothSlope(x, y - 1, applyToNeighbors: false, sync);
767 }
768 Tile tile = Main.tile[x, y];
769 if (!WorldGen.CanPoundTile(x, y) || !WorldGen.SolidOrSlopedTile(x, y))
770 {
771 return;
772 }
773 bool flag = !WorldGen.TileEmpty(x, y - 1);
774 bool flag2 = !WorldGen.SolidOrSlopedTile(x, y - 1) && flag;
775 bool flag3 = WorldGen.SolidOrSlopedTile(x, y + 1);
776 bool flag4 = WorldGen.SolidOrSlopedTile(x - 1, y);
777 bool flag5 = WorldGen.SolidOrSlopedTile(x + 1, y);
778 int num = ((flag ? 1 : 0) << 3) | ((flag3 ? 1 : 0) << 2) | ((flag4 ? 1 : 0) << 1) | (flag5 ? 1 : 0);
779 bool flag6 = tile.halfBrick();
780 int num2 = tile.slope();
781 switch (num)
782 {
783 case 10:
784 if (!flag2)
785 {
786 tile.halfBrick(halfBrick: false);
787 tile.slope(3);
788 }
789 break;
790 case 9:
791 if (!flag2)
792 {
793 tile.halfBrick(halfBrick: false);
794 tile.slope(4);
795 }
796 break;
797 case 6:
798 tile.halfBrick(halfBrick: false);
799 tile.slope(1);
800 break;
801 case 5:
802 tile.halfBrick(halfBrick: false);
803 tile.slope(2);
804 break;
805 case 4:
806 tile.slope(0);
807 tile.halfBrick(halfBrick: true);
808 break;
809 default:
810 tile.halfBrick(halfBrick: false);
811 tile.slope(0);
812 break;
813 }
814 if (sync)
815 {
816 int num3 = tile.slope();
817 bool flag7 = flag6 != tile.halfBrick();
818 bool flag8 = num2 != num3;
819 if (flag7 && flag8)
820 {
821 NetMessage.SendData(17, -1, -1, null, 23, x, y, num3);
822 }
823 else if (flag7)
824 {
825 NetMessage.SendData(17, -1, -1, null, 7, x, y, 1f);
826 }
827 else if (flag8)
828 {
829 NetMessage.SendData(17, -1, -1, null, 14, x, y, num3);
830 }
831 }
832 }
833
834 public void CopyPaintAndCoating(Tile other)
835 {
836 color(other.color());
837 invisibleBlock(other.invisibleBlock());
838 fullbrightBlock(other.fullbrightBlock());
839 }
840
842 {
843 TileColorCache result = default(TileColorCache);
844 result.Color = color();
845 result.FullBright = fullbrightBlock();
846 result.Invisible = invisibleBlock();
847 return result;
848 }
849
851 {
852 TileColorCache result = default(TileColorCache);
853 result.Color = wallColor();
854 result.FullBright = fullbrightWall();
855 result.Invisible = invisibleWall();
856 return result;
857 }
858
860 {
861 cache.ApplyToBlock(this);
862 }
863
864 public void UseWallColors(TileColorCache cache)
865 {
866 cache.ApplyToWall(this);
867 }
868
870 {
871 color(0);
874 }
875
877 {
878 wallColor(0);
881 }
882
883 public override string ToString()
884 {
885 return "Tile Type:" + type + " Active:" + active().ToString() + " Wall:" + wall + " Slope:" + slope() + " fX:" + frameX + " fY:" + frameY;
886 }
887}
static bool[] tileSolidTop
Definition Main.cs:1469
static bool[] tileSolid
Definition Main.cs:1471
static Tile[,] tile
Definition Main.cs:1675
static bool[] tileFrameImportant
Definition Main.cs:1495
static void SendData(int msgType, int remoteClient=-1, int ignoreClient=-1, NetworkText text=null, int number=0, float number2=0f, float number3=0f, float number4=0f, int number5=0, int number6=0, int number7=0)
Definition NetMessage.cs:88
void wire4(bool wire4)
Definition Tile.cs:418
bool leftSlope()
Definition Tile.cs:327
void wallFrameNumber(byte wallFrameNumber)
Definition Tile.cs:455
byte color()
Definition Tile.cs:555
bool wire4()
Definition Tile.cs:413
void wallColor(byte wallColor)
Definition Tile.cs:357
const int Type_Halfbrick
Definition Tile.cs:46
static void SmoothSlope(int x, int y, bool applyToNeighbors=true, bool sync=false)
Definition Tile.cs:759
const int Type_SlopeDownRight
Definition Tile.cs:48
const ushort Bit15
Definition Tile.cs:42
const int Type_SlopeUpLeft
Definition Tile.cs:54
const int Type_SlopeDownLeft
Definition Tile.cs:50
void skipLiquid(bool skipLiquid)
Definition Tile.cs:492
void checkingLiquid(bool checkingLiquid)
Definition Tile.cs:475
void lava(bool lava)
Definition Tile.cs:367
const int Bit7
Definition Tile.cs:40
void invisibleWall(bool invisibleWall)
Definition Tile.cs:526
bool wire3()
Definition Tile.cs:633
override string ToString()
Definition Tile.cs:883
void slope(byte slope)
Definition Tile.cs:689
bool bottomSlope()
Definition Tile.cs:317
bool rightSlope()
Definition Tile.cs:337
const int Bit4
Definition Tile.cs:34
void liquidType(int liquidType)
Definition Tile.cs:233
bool nactive()
Definition Tile.cs:257
bool fullbrightWall()
Definition Tile.cs:694
void invisibleBlock(bool invisibleBlock)
Definition Tile.cs:509
const int Bit1
Definition Tile.cs:28
void frameNumber(byte frameNumber)
Definition Tile.cs:445
void UseWallColors(TileColorCache cache)
Definition Tile.cs:864
void actuator(bool actuator)
Definition Tile.cs:672
void honey(bool honey)
Definition Tile.cs:384
bool topSlope()
Definition Tile.cs:307
bool checkingLiquid()
Definition Tile.cs:470
TileColorCache WallColorAndCoating()
Definition Tile.cs:850
bool invisibleWall()
Definition Tile.cs:521
void ClearBlockPaintAndCoating()
Definition Tile.cs:869
Color actColor(Color oldColor)
Definition Tile.cs:289
const int Liquid_Honey
Definition Tile.cs:60
byte liquid
Definition Tile.cs:12
int wallFrameY()
Definition Tile.cs:460
void active(bool active)
Definition Tile.cs:570
bool inActive()
Definition Tile.cs:582
const int Liquid_Lava
Definition Tile.cs:58
void ResetToType(ushort type)
Definition Tile.cs:266
void ClearWallPaintAndCoating()
Definition Tile.cs:876
void wire(bool wire)
Definition Tile.cs:604
int collisionType
Definition Tile.cs:69
bool fullbrightBlock()
Definition Tile.cs:538
short frameY
Definition Tile.cs:24
void wallFrameY(int wallFrameY)
Definition Tile.cs:465
const int Bit3
Definition Tile.cs:32
byte bTileHeader2
Definition Tile.cs:18
void CopyPaintAndCoating(Tile other)
Definition Tile.cs:834
ushort type
Definition Tile.cs:8
byte frameNumber()
Definition Tile.cs:440
byte bTileHeader
Definition Tile.cs:16
const int Bit2
Definition Tile.cs:30
short frameX
Definition Tile.cs:22
bool invisibleBlock()
Definition Tile.cs:504
bool active()
Definition Tile.cs:565
void actColor(ref Vector3 oldColor)
Definition Tile.cs:299
ushort sTileHeader
Definition Tile.cs:14
Tile(Tile copy)
Definition Tile.cs:105
const int NeitherLavaOrHoney
Definition Tile.cs:64
void Clear(TileDataType types)
Definition Tile.cs:711
byte liquidType()
Definition Tile.cs:252
int wallFrameX()
Definition Tile.cs:430
void ClearMetadata()
Definition Tile.cs:278
void wallFrameX(int wallFrameX)
Definition Tile.cs:435
void fullbrightWall(bool fullbrightWall)
Definition Tile.cs:699
int blockType()
Definition Tile.cs:219
void ClearEverything()
Definition Tile.cs:138
const int Type_SlopeUpRight
Definition Tile.cs:52
byte bTileHeader3
Definition Tile.cs:20
byte slope()
Definition Tile.cs:684
const int Bit0
Definition Tile.cs:26
const int Liquid_Shimmer
Definition Tile.cs:62
bool honey()
Definition Tile.cs:379
bool HasSameSlope(Tile tile)
Definition Tile.cs:347
byte wallFrameNumber()
Definition Tile.cs:450
bool lava()
Definition Tile.cs:362
bool shimmer()
Definition Tile.cs:396
void shimmer(bool shimmer)
Definition Tile.cs:401
const int Type_Solid
Definition Tile.cs:44
ushort wall
Definition Tile.cs:10
void inActive(bool inActive)
Definition Tile.cs:587
object Clone()
Definition Tile.cs:133
bool wire2()
Definition Tile.cs:616
const int EitherLavaOrHoney
Definition Tile.cs:66
const int Liquid_Water
Definition Tile.cs:56
void color(byte color)
Definition Tile.cs:560
void fullbrightBlock(bool fullbrightBlock)
Definition Tile.cs:543
void halfBrick(bool halfBrick)
Definition Tile.cs:655
byte wallColor()
Definition Tile.cs:352
TileColorCache BlockColorAndCoating()
Definition Tile.cs:841
void ClearTile()
Definition Tile.cs:151
bool skipLiquid()
Definition Tile.cs:487
void CopyFrom(Tile from)
Definition Tile.cs:159
const int Bit5
Definition Tile.cs:36
void wire3(bool wire3)
Definition Tile.cs:638
void wire2(bool wire2)
Definition Tile.cs:621
const int Bit6
Definition Tile.cs:38
bool actuator()
Definition Tile.cs:667
void UseBlockColors(TileColorCache cache)
Definition Tile.cs:859
bool wire()
Definition Tile.cs:599
bool halfBrick()
Definition Tile.cs:650
bool isTheSameAs(Tile compTile)
Definition Tile.cs:172
static bool TileEmpty(int i, int j)
static bool CanPoundTile(int x, int y)
static bool SolidOrSlopedTile(Tile tile)
void ApplyToBlock(Tile tile)
void ApplyToWall(Tile tile)