Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ setXmasTree()

static void Terraria.WorldGen.setXmasTree ( int x,
int y,
int obj,
int style )
inlinestatic

Definition at line 33984 of file WorldGen.cs.

33985 {
33986 int num = x;
33987 int num2 = y;
33988 if (Main.tile[x, y].frameX < 10)
33989 {
33990 num -= Main.tile[x, y].frameX;
33991 num2 -= Main.tile[x, y].frameY;
33992 }
33993 if (obj == 0)
33994 {
33995 if ((style & 1) == 1)
33996 {
33997 Main.tile[num, num2].frameY |= 1;
33998 }
33999 else
34000 {
34001 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -2);
34002 }
34003 if ((style & 2) == 2)
34004 {
34005 Main.tile[num, num2].frameY |= 2;
34006 }
34007 else
34008 {
34009 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -3);
34010 }
34011 if ((style & 4) == 4)
34012 {
34013 Main.tile[num, num2].frameY |= 4;
34014 }
34015 else
34016 {
34017 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -5);
34018 }
34019 }
34020 if (obj == 1)
34021 {
34022 if ((style & 1) == 1)
34023 {
34024 Main.tile[num, num2].frameY |= 8;
34025 }
34026 else
34027 {
34028 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -9);
34029 }
34030 if ((style & 2) == 2)
34031 {
34032 Main.tile[num, num2].frameY |= 16;
34033 }
34034 else
34035 {
34036 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -17);
34037 }
34038 if ((style & 4) == 4)
34039 {
34040 Main.tile[num, num2].frameY |= 32;
34041 }
34042 else
34043 {
34044 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -33);
34045 }
34046 }
34047 if (obj == 2)
34048 {
34049 if ((style & 1) == 1)
34050 {
34051 Main.tile[num, num2].frameY |= 64;
34052 }
34053 else
34054 {
34055 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -65);
34056 }
34057 if ((style & 2) == 2)
34058 {
34059 Main.tile[num, num2].frameY |= 128;
34060 }
34061 else
34062 {
34063 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -129);
34064 }
34065 if ((style & 4) == 4)
34066 {
34067 Main.tile[num, num2].frameY |= 256;
34068 }
34069 else
34070 {
34071 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -257);
34072 }
34073 if ((style & 8) == 8)
34074 {
34075 Main.tile[num, num2].frameY |= 512;
34076 }
34077 else
34078 {
34079 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -513);
34080 }
34081 }
34082 if (obj == 3)
34083 {
34084 if ((style & 1) == 1)
34085 {
34086 Main.tile[num, num2].frameY |= 1024;
34087 }
34088 else
34089 {
34090 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -1025);
34091 }
34092 if ((style & 2) == 2)
34093 {
34094 Main.tile[num, num2].frameY |= 2048;
34095 }
34096 else
34097 {
34098 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -2049);
34099 }
34100 if ((style & 4) == 4)
34101 {
34102 Main.tile[num, num2].frameY |= 4096;
34103 }
34104 else
34105 {
34106 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -4097);
34107 }
34108 if ((style & 8) == 8)
34109 {
34110 Main.tile[num, num2].frameY |= 8192;
34111 }
34112 else
34113 {
34114 Main.tile[num, num2].frameY = (short)(Main.tile[num, num2].frameY & -8193);
34115 }
34116 }
34117 }

References System.obj, and Terraria.Main.tile.

Referenced by Terraria.Player.PlaceThing_XMasTreeTops().