1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-21 05:53:02 +01:00
Files
OpenRCT2/src/openrct2/paint/PaintHelpers.cpp
duncanspumpkin f6d2db48dc Name 98196C
2020-11-07 14:15:25 +00:00

81 lines
3.1 KiB
C++

/*****************************************************************************
* Copyright (c) 2014-2020 OpenRCT2 developers
*
* For a complete list of all authors, please refer to contributors.md
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/
#include "../interface/Viewport.h"
#include "../ride/TrackPaint.h"
#include "Paint.h"
paint_struct* PaintAddImageAsParentRotated(
paint_session* session, uint8_t direction, uint32_t image_id, int8_t x_offset, int8_t y_offset, int16_t bound_box_length_x,
int16_t bound_box_length_y, int8_t bound_box_length_z, int16_t z_offset)
{
if (direction & 1)
{
return PaintAddImageAsParent(
session, image_id, { y_offset, x_offset, z_offset },
{ bound_box_length_y, bound_box_length_x, bound_box_length_z });
}
else
{
return PaintAddImageAsParent(
session, image_id, { x_offset, y_offset, z_offset },
{ bound_box_length_x, bound_box_length_y, bound_box_length_z });
}
}
paint_struct* PaintAddImageAsParentRotated(
paint_session* session, uint8_t direction, uint32_t image_id, int8_t x_offset, int8_t y_offset, int16_t bound_box_length_x,
int16_t bound_box_length_y, int8_t bound_box_length_z, int16_t z_offset, int16_t bound_box_offset_x,
int16_t bound_box_offset_y, int16_t bound_box_offset_z)
{
if (direction & 1)
{
return PaintAddImageAsParent(
session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset,
bound_box_offset_y, bound_box_offset_x, bound_box_offset_z);
}
else
{
return PaintAddImageAsParent(
session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset,
bound_box_offset_x, bound_box_offset_y, bound_box_offset_z);
}
}
paint_struct* PaintAddImageAsChildRotated(
paint_session* session, uint8_t direction, uint32_t image_id, int8_t x_offset, int8_t y_offset, int16_t bound_box_length_x,
int16_t bound_box_length_y, int8_t bound_box_length_z, int16_t z_offset, int16_t bound_box_offset_x,
int16_t bound_box_offset_y, int16_t bound_box_offset_z)
{
if (direction & 1)
{
return PaintAddImageAsChild(
session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset,
bound_box_offset_y, bound_box_offset_x, bound_box_offset_z);
}
else
{
return PaintAddImageAsChild(
session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset,
bound_box_offset_x, bound_box_offset_y, bound_box_offset_z);
}
}
void paint_util_push_tunnel_rotated(paint_session* session, uint8_t direction, uint16_t height, uint8_t type)
{
if (direction & 1)
{
paint_util_push_tunnel_right(session, height, type);
}
else
{
paint_util_push_tunnel_left(session, height, type);
}
}