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

◆ GetTreeLeaf()

static void Terraria.WorldGen.GetTreeLeaf ( int x,
Tile topTile,
Tile t,
ref int treeHeight,
out int treeFrame,
out int passStyle )
inlinestatic

Definition at line 21285 of file WorldGen.cs.

21286 {
21287 treeFrame = 0;
21288 passStyle = -1;
21289 if (topTile.frameX == 22 || topTile.frameX == 44 || topTile.frameX == 66)
21290 {
21291 if (topTile.frameY == 220)
21292 {
21293 treeFrame = 1;
21294 }
21295 else if (topTile.frameY == 242)
21296 {
21297 treeFrame = 2;
21298 }
21299 }
21300 if (topTile.frameX == 44 || topTile.frameX == 66)
21301 {
21302 if (topTile.frameY == 220)
21303 {
21304 treeFrame = 1;
21305 }
21306 else if (topTile.frameY == 242)
21307 {
21308 treeFrame = 2;
21309 }
21310 }
21311 switch (topTile.type)
21312 {
21313 case 596:
21314 passStyle = 1248;
21315 break;
21316 case 616:
21317 passStyle = 1257;
21318 break;
21319 case 634:
21320 passStyle = 1278;
21321 break;
21322 case 583:
21323 case 584:
21324 case 585:
21325 case 586:
21326 case 587:
21327 case 588:
21328 case 589:
21329 passStyle = 1249 + (topTile.type - 583);
21330 break;
21331 }
21332 if (passStyle > -1)
21333 {
21334 return;
21335 }
21336 switch (t.type)
21337 {
21338 case 2:
21339 case 477:
21340 passStyle = 910;
21341 break;
21342 case 60:
21343 passStyle = 914;
21344 break;
21345 case 70:
21346 passStyle = 912;
21347 break;
21348 case 23:
21349 case 112:
21350 passStyle = 915;
21351 break;
21352 case 199:
21353 case 234:
21354 passStyle = 916;
21355 break;
21356 case 53:
21357 passStyle = 911;
21358 break;
21359 case 116:
21360 passStyle = 919;
21361 break;
21362 case 147:
21363 passStyle = 913;
21364 break;
21365 case 633:
21366 passStyle = 1278;
21367 break;
21368 case 109:
21369 case 492:
21370 {
21371 int num = 917;
21373 if (hollowTreeFoliageStyle != 20)
21374 {
21375 if (x % 3 == 1)
21376 {
21377 treeFrame += 3;
21378 }
21379 if (x % 3 == 2)
21380 {
21381 treeFrame += 6;
21382 }
21383 switch (treeFrame)
21384 {
21385 case 0:
21386 passStyle = 2;
21387 break;
21388 case 1:
21389 passStyle = 1;
21390 break;
21391 case 2:
21392 passStyle = 7;
21393 break;
21394 case 3:
21395 passStyle = 4;
21396 break;
21397 case 4:
21398 passStyle = 5;
21399 break;
21400 case 5:
21401 passStyle = 6;
21402 break;
21403 case 6:
21404 passStyle = 3;
21405 break;
21406 case 7:
21407 passStyle = 8;
21408 break;
21409 case 8:
21410 passStyle = 0;
21411 break;
21412 }
21413 }
21414 else
21415 {
21416 int num2 = 196;
21417 if (x % 6 == 1)
21418 {
21419 treeFrame += 3;
21420 }
21421 else if (x % 6 == 2)
21422 {
21423 treeFrame += 6;
21424 }
21425 else if (x % 6 == 3)
21426 {
21427 treeFrame += 9;
21428 }
21429 else if (x % 6 == 4)
21430 {
21431 treeFrame += 12;
21432 }
21433 else if (x % 6 == 5)
21434 {
21435 treeFrame += 15;
21436 }
21437 switch (treeFrame)
21438 {
21439 case 0:
21440 passStyle = num2;
21441 break;
21442 case 1:
21443 passStyle = num2;
21444 break;
21445 case 2:
21446 passStyle = num2;
21447 break;
21448 case 3:
21449 passStyle = num2 + 1;
21450 break;
21451 case 4:
21452 passStyle = num2 + 2;
21453 break;
21454 case 5:
21455 passStyle = num2 + 1;
21456 break;
21457 case 6:
21458 passStyle = num2 + 3;
21459 break;
21460 case 7:
21461 passStyle = num2 + 4;
21462 break;
21463 case 8:
21464 passStyle = num2 + 5;
21465 break;
21466 case 9:
21467 passStyle = num2 + 6;
21468 break;
21469 case 10:
21470 passStyle = num2 + 6;
21471 break;
21472 case 11:
21473 passStyle = num2 + 6;
21474 break;
21475 case 12:
21476 passStyle = num2 + 7;
21477 break;
21478 case 13:
21479 passStyle = num2 + 7;
21480 break;
21481 case 14:
21482 passStyle = num2 + 7;
21483 break;
21484 case 15:
21485 passStyle = num2 + 8;
21486 break;
21487 case 16:
21488 passStyle = num2 + 8;
21489 break;
21490 case 17:
21491 passStyle = num2 + 8;
21492 break;
21493 }
21494 }
21495 passStyle += num;
21496 treeHeight += 5;
21497 break;
21498 }
21499 }
21500 }
static int GetHollowTreeFoliageStyle()

References Terraria.Tile.type.

Referenced by Terraria.GameContent.Drawing.TileDrawing.EmitTreeLeaves().