Clean up SpritBoundBox2

This commit is contained in:
Tiago A. Reul 2023-06-20 20:24:04 -03:00 committed by GitHub
parent ce1695fab8
commit 97427743a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 684 additions and 396 deletions

File diff suppressed because it is too large Load Diff

View File

@ -12,6 +12,7 @@
#include "../../config/Config.h"
#include "../../drawing/Drawing.h"
#include "../../interface/Viewport.h"
#include "../../paint/Boundbox.h"
#include "../../paint/Paint.h"
#include "../../paint/Supports.h"
#include "../../paint/tile_element/Paint.Surface.h"
@ -1128,50 +1129,43 @@ static void WoodenRCTrackRightQuarterTurn5(
SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_0,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0,
{ 0, 2, 0 },
{ 0, 2, 0 },
{ 32, 32, 2 },
BoundBoxXYZ({ 0, 2, 0 }, { 32, 32, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_2,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2,
{ 0, 16, 0 },
{ 0, 16, 0 },
{ 32, 16, 2 },
BoundBoxXYZ({ 0, 16, 0 }, { 32, 16, 2 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_3,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 16, 16, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 16, 16, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_5,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5,
{ 16, 0, 0 },
{ 16, 0, 0 },
{ 16, 32, 2 },
BoundBoxXYZ({ 16, 0, 0 }, { 16, 32, 2 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_SW_SE_SEQ_6,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6,
{ 2, 0, 0 },
{ 2, 0, 0 },
{ 32, 32, 2 },
BoundBoxXYZ({ 2, 0, 0 }, { 32, 32, 2 }),
},
},
{
@ -1179,50 +1173,43 @@ static void WoodenRCTrackRightQuarterTurn5(
SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_0,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0,
{ 2, 0, 0 },
{ 2, 0, 0 },
{ 32, 32, 2 },
BoundBoxXYZ({ 2, 0, 0 }, { 32, 32, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_2,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2,
{ 16, 0, 0 },
{ 16, 0, 0 },
{ 16, 34, 2 },
BoundBoxXYZ({ 16, 0, 0 }, { 16, 34, 2 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_3,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3,
{ 0, 16, 0 },
{ 0, 16, 0 },
{ 16, 16, 2 },
BoundBoxXYZ({ 0, 16, 0 }, { 16, 16, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_5,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 32, 16, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 32, 16, 2 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_NW_SW_SEQ_6,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6,
{ 0, 2, 0 },
{ 0, 2, 0 },
{ 32, 27, 2 },
BoundBoxXYZ({ 0, 2, 0 }, { 32, 27, 2 }),
},
},
{
@ -1230,50 +1217,43 @@ static void WoodenRCTrackRightQuarterTurn5(
SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_0,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0,
{ 0, 2, 0 },
{ 0, 2, 0 },
{ 32, 27, 2 },
BoundBoxXYZ({ 0, 2, 0 }, { 32, 27, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_2,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 32, 16, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 32, 16, 2 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_3,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3,
{ 16, 16, 0 },
{ 16, 16, 0 },
{ 16, 16, 2 },
BoundBoxXYZ({ 16, 16, 0 }, { 16, 16, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_5,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 16, 32, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 16, 32, 2 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_NE_NW_SEQ_6,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6,
{ 2, 0, 0 },
{ 2, 0, 0 },
{ 27, 32, 2 },
BoundBoxXYZ({ 2, 0, 0 }, { 27, 32, 2 }),
},
},
{
@ -1281,50 +1261,43 @@ static void WoodenRCTrackRightQuarterTurn5(
SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_0,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0,
{ 2, 0, 0 },
{ 2, 0, 0 },
{ 27, 32, 2 },
BoundBoxXYZ({ 2, 0, 0 }, { 27, 32, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_2,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 16, 32, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 16, 32, 2 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_3,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3,
{ 16, 0, 0 },
{ 16, 0, 0 },
{ 16, 16, 2 },
BoundBoxXYZ({ 16, 0, 0 }, { 16, 16, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_5,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5,
{ 0, 16, 0 },
{ 0, 16, 0 },
{ 32, 16, 2 },
BoundBoxXYZ({ 0, 16, 0 }, { 32, 16, 2 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_SE_NE_SEQ_6,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6,
{ 0, 2, 0 },
{ 0, 2, 0 },
{ 32, 32, 2 },
BoundBoxXYZ({ 0, 2, 0 }, { 32, 32, 2 }),
},
},
},
@ -1334,120 +1307,106 @@ static void WoodenRCTrackRightQuarterTurn5(
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0,
{ 0, 2, 0 },
{ 0, 2, 27 },
{ 32, 32, 0 },
BoundBoxXYZ({ 0, 2, 27 }, { 32, 32, 0 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2,
{ 0, 16, 0 },
{ 0, 16, 27 },
{ 32, 16, 0 },
BoundBoxXYZ({ 0, 16, 27 }, { 32, 16, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3,
{ 0, 0, 0 },
{ 0, 0, 27 },
{ 16, 16, 0 },
BoundBoxXYZ({ 0, 0, 27 }, { 16, 16, 0 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5,
{ 16, 0, 0 },
{ 16, 0, 27 },
{ 16, 32, 0 },
BoundBoxXYZ({ 16, 0, 27 }, { 16, 32, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6,
{ 2, 0, 0 },
{ 2, 0, 27 },
{ 32, 32, 0 },
BoundBoxXYZ({ 2, 0, 27 }, { 32, 32, 0 }),
},
},
{
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
},
{
{
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0,
{ 0, 2, 0 },
{ 0, 2, 27 },
{ 32, 27, 0 },
BoundBoxXYZ({ 0, 2, 27 }, { 32, 27, 0 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2,
{ 0, 0, 0 },
{ 0, 0, 27 },
{ 32, 16, 0 },
BoundBoxXYZ({ 0, 0, 27 }, { 32, 16, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3,
{ 16, 16, 0 },
{ 16, 16, 27 },
{ 16, 16, 0 },
BoundBoxXYZ({ 16, 16, 27 }, { 16, 16, 0 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5,
{ 0, 0, 0 },
{ 0, 0, 27 },
{ 16, 32, 0 },
BoundBoxXYZ({ 0, 0, 27 }, { 16, 32, 0 }),
},
{
SPR_WOODEN_RC_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6,
SPR_WOODEN_RC_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6,
{ 2, 0, 0 },
{ 2, 0, 27 },
{ 27, 32, 0 },
BoundBoxXYZ({ 2, 0, 27 }, { 27, 32, 0 }),
},
},
{
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
},
},
};
@ -1634,50 +1593,43 @@ static void WoodenRCTrackBankedRightQuarterTurn5(
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_0,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_0,
{ 0, 0, 0 },
{ 0, 2, 0 },
{ 32, 32, 2 },
BoundBoxXYZ({ 0, 2, 0 }, { 32, 32, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_2,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_2,
{ 0, 0, 0 },
{ 0, 16, 0 },
{ 32, 16, 2 },
BoundBoxXYZ({ 0, 16, 0 }, { 32, 16, 2 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_3,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_3,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 16, 16, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 16, 16, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_5,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_5,
{ 0, 0, 0 },
{ 16, 0, 0 },
{ 16, 32, 2 },
BoundBoxXYZ({ 16, 0, 0 }, { 16, 32, 2 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SW_SE_SEQ_6,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SW_SE_SEQ_6,
{ 0, 0, 0 },
{ 2, 0, 0 },
{ 32, 32, 2 },
BoundBoxXYZ({ 2, 0, 0 }, { 32, 32, 2 }),
},
},
{
@ -1685,50 +1637,43 @@ static void WoodenRCTrackBankedRightQuarterTurn5(
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_0,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_0,
{ 0, 0, 0 },
{ 2, 0, 0 },
{ 32, 32, 2 },
BoundBoxXYZ({ 2, 0, 0 }, { 32, 32, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_2,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_2,
{ 0, 0, 0 },
{ 16, 0, 0 },
{ 16, 32, 2 },
BoundBoxXYZ({ 16, 0, 0 }, { 16, 32, 2 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_3,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_3,
{ 0, 0, 0 },
{ 0, 16, 0 },
{ 16, 16, 2 },
BoundBoxXYZ({ 0, 16, 0 }, { 16, 16, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_5,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_5,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 32, 16, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 32, 16, 2 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NW_SW_SEQ_6,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NW_SW_SEQ_6,
{ 0, 0, 0 },
{ 0, 2, 0 },
{ 32, 27, 2 },
BoundBoxXYZ({ 0, 2, 0 }, { 32, 27, 2 }),
},
},
{
@ -1736,50 +1681,43 @@ static void WoodenRCTrackBankedRightQuarterTurn5(
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_0,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_0,
{ 0, 0, 0 },
{ 0, 2, 0 },
{ 32, 27, 2 },
BoundBoxXYZ({ 0, 2, 0 }, { 32, 27, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_2,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_2,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 32, 16, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 32, 16, 2 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_3,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_3,
{ 0, 0, 0 },
{ 16, 16, 0 },
{ 16, 16, 2 },
BoundBoxXYZ({ 16, 16, 0 }, { 16, 16, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_5,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_5,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 16, 32, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 16, 32, 2 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_NE_NW_SEQ_6,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_NE_NW_SEQ_6,
{ 0, 0, 0 },
{ 2, 0, 0 },
{ 27, 32, 2 },
BoundBoxXYZ({ 2, 0, 0 }, { 27, 32, 2 }),
},
},
{
@ -1787,50 +1725,43 @@ static void WoodenRCTrackBankedRightQuarterTurn5(
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_0,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_0,
{ 0, 0, 0 },
{ 2, 0, 0 },
{ 27, 32, 2 },
BoundBoxXYZ({ 2, 0, 0 }, { 27, 32, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_2,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_2,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 16, 32, 2 },
BoundBoxXYZ({ 0, 0, 0 }, { 16, 32, 2 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_3,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_3,
{ 0, 0, 0 },
{ 16, 0, 0 },
{ 16, 16, 2 },
BoundBoxXYZ({ 16, 0, 0 }, { 16, 16, 2 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_5,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_5,
{ 0, 0, 0 },
{ 0, 16, 0 },
{ 32, 16, 2 },
BoundBoxXYZ({ 0, 16, 0 }, { 32, 16, 2 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_SE_NE_SEQ_6,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_SE_NE_SEQ_6,
{ 0, 0, 0 },
{ 0, 2, 0 },
{ 32, 32, 2 },
BoundBoxXYZ({ 0, 2, 0 }, { 32, 32, 2 }),
},
},
},
@ -1840,120 +1771,106 @@ static void WoodenRCTrackBankedRightQuarterTurn5(
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_0,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_0,
{ 0, 0, 0 },
{ 0, 2, 27 },
{ 32, 32, 0 },
BoundBoxXYZ({ 0, 2, 27 }, { 32, 32, 0 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_2,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_2,
{ 0, 0, 0 },
{ 0, 16, 27 },
{ 32, 16, 0 },
BoundBoxXYZ({ 0, 16, 27 }, { 32, 16, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_3,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_3,
{ 0, 0, 0 },
{ 0, 0, 27 },
{ 16, 16, 0 },
BoundBoxXYZ({ 0, 0, 27 }, { 16, 16, 0 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_5,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_5,
{ 0, 0, 0 },
{ 16, 0, 27 },
{ 16, 32, 0 },
BoundBoxXYZ({ 16, 0, 27 }, { 16, 32, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_SW_SE_SEQ_6,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_SW_SE_SEQ_6,
{ 0, 0, 0 },
{ 2, 0, 27 },
{ 32, 32, 0 },
BoundBoxXYZ({ 2, 0, 27 }, { 32, 32, 0 }),
},
},
{
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
},
{
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_0,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_0,
{ 0, 0, 0 },
{ 0, 2, 27 },
{ 32, 27, 0 },
BoundBoxXYZ({ 0, 2, 27 }, { 32, 27, 0 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_2,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_2,
{ 0, 0, 0 },
{ 0, 0, 27 },
{ 32, 16, 0 },
BoundBoxXYZ({ 0, 0, 27 }, { 32, 16, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_3,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_3,
{ 0, 0, 0 },
{ 16, 16, 27 },
{ 16, 16, 0 },
BoundBoxXYZ({ 16, 16, 27 }, { 16, 16, 0 }),
},
{
0,
0,
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_5,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_5,
{ 0, 0, 0 },
{ 0, 0, 27 },
{ 16, 32, 0 },
BoundBoxXYZ({ 0, 0, 27 }, { 16, 32, 0 }),
},
{
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_FRONT_NE_NW_SEQ_6,
SPR_WOODEN_RC_BANKED_QUARTER_TURN_5_RAILS_FRONT_NE_NW_SEQ_6,
{ 0, 0, 0 },
{ 2, 0, 27 },
{ 27, 32, 0 },
BoundBoxXYZ({ 2, 0, 27 }, { 27, 32, 0 }),
},
},
{
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
{ 0, 0, { 0, 0, 0 }, BoundBoxXYZ({ 0, 0, 0 }, { 0, 0, 0 }) },
},
},
};

View File

@ -9,6 +9,8 @@
#pragma once
#include "../../drawing/ImageId.hpp"
#include "../../paint/Boundbox.h"
#include "../../paint/Paint.h"
#include "../../world/Location.hpp"
#include "../TrackPaint.h"
@ -17,11 +19,10 @@
struct SpriteBoundBox2
{
uint32_t sprite_id_a;
uint32_t sprite_id_b;
ImageIndex ImageIdA;
ImageIndex ImageIdB;
CoordsXYZ offset;
CoordsXYZ bb_offset;
CoordsXYZ bb_size;
::BoundBoxXYZ BoundBox;
};
template<bool isClassic> ImageId WoodenRCGetTrackColour(const PaintSession& session)
@ -50,19 +51,19 @@ PaintStruct* WoodenRCTrackPaint(
template<bool isClassic> void WoodenRCTrackPaintBb(PaintSession& session, const SpriteBoundBox2* bb, int16_t height)
{
if (bb->sprite_id_a == 0)
if (bb->ImageIdA == 0)
return;
ImageId imageId = WoodenRCGetTrackColour<isClassic>(session).WithIndex(bb->sprite_id_a);
ImageId imageId = WoodenRCGetTrackColour<isClassic>(session).WithIndex(bb->ImageIdA);
PaintAddImageAsParent(
session, imageId, { bb->offset.x, bb->offset.y, height + bb->offset.z },
{ { bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z }, bb->bb_size });
if (bb->sprite_id_b != 0)
{ { bb->BoundBox.offset.x, bb->BoundBox.offset.y, height + bb->BoundBox.offset.z }, bb->BoundBox.length });
if (bb->ImageIdB != 0)
{
ImageId railsImageId = WoodenRCGetRailsColour(session).WithIndex(bb->sprite_id_b);
ImageId railsImageId = WoodenRCGetRailsColour(session).WithIndex(bb->ImageIdB);
PaintAddImageAsChild(
session, railsImageId, { bb->offset.x, bb->offset.y, height + bb->offset.z },
{ { bb->bb_offset, height + bb->bb_offset.z }, bb->bb_size });
{ { bb->BoundBox.offset, height + bb->BoundBox.offset.z }, bb->BoundBox.length });
}
}