本文整理汇总了C++中paint_util_set_general_support_height函数的典型用法代码示例。如果您正苦于以下问题:C++ paint_util_set_general_support_height函数的具体用法?C++ paint_util_set_general_support_height怎么用?C++ paint_util_set_general_support_height使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了paint_util_set_general_support_height函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: paint_roto_drop_base
/** rct2: 0x00886194 */
static void paint_roto_drop_base(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement)
{
trackSequence = track_map_3x3[direction][trackSequence];
int edges = edges_3x3[trackSequence];
rct_ride * ride = get_ride(rideIndex);
rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y};
wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_MISC], NULL);
uint32 imageId = SPR_FLOOR_METAL_B | gTrackColours[SCHEME_SUPPORTS];
sub_98197C(imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
track_paint_util_paint_fences(edges, position, mapElement, ride, gTrackColours[SCHEME_TRACK], height, fenceSpritesMetalB, get_current_rotation());
if (trackSequence == 0) {
imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_90_DEG : SPR_ROTO_DROP_TOWER_BASE) | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation());
imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32, get_current_rotation());
imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | gTrackColours[SCHEME_TRACK];
sub_98197C(imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64, get_current_rotation());
paint_util_set_vertical_tunnel(height + 96);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
#ifdef __TESTPAINT__
paint_util_set_general_support_height(height + 32, 0x20);
#else
paint_util_set_general_support_height(height + 96, 0x20);
#endif
return;
}
int blockedSegments = 0;
switch (trackSequence) {
case 1: blockedSegments = SEGMENT_B8 | SEGMENT_C8 | SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break;
case 2: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC; break;
case 3: blockedSegments = SEGMENT_B4 | SEGMENT_CC | SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break;
case 4: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8; break;
case 5: blockedSegments = SEGMENT_BC | SEGMENT_D4 | SEGMENT_C0; break;
case 6: blockedSegments = SEGMENT_B4 | SEGMENT_C8 | SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break;
case 7: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0 | SEGMENT_D4 | SEGMENT_BC; break;
case 8: blockedSegments = SEGMENT_B8 | SEGMENT_D0 | SEGMENT_C0; break;
}
paint_util_set_segment_support_height(blockedSegments, 0xFFFF, 0);
paint_util_set_segment_support_height(SEGMENTS_ALL & ~blockedSegments, height + 2, 0x20);
paint_util_set_general_support_height(height + 32, 0x20);
}
开发者ID:YJSoft,项目名称:OpenRCT2,代码行数:53,代码来源:roto_drop.c
示例2: paint_ghost_train_track_25_deg_up_to_flat_shared
static void paint_ghost_train_track_25_deg_up_to_flat_shared(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement)
{
rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y};
uint32 imageId = ghost_train_track_pieces_25_deg_up_to_flat[direction][0] | gTrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2) {
sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
} else {
sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
}
imageId = ghost_train_track_pieces_25_deg_up_to_flat[direction][1] | gTrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2) {
sub_98197C(imageId, 0, 0, 32, 1, 15, height, 0, 27, height, get_current_rotation());
} else {
sub_98197C(imageId, 0, 0, 1, 32, 15, height, 27, 0, height, get_current_rotation());
}
if (track_paint_util_should_paint_supports(position)) {
metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 40, 0x20);
}
开发者ID:trigger-death,项目名称:OpenRCT2,代码行数:25,代码来源:ghost_train.c
示例3: paint_ghost_train_track_brakes
/** rct2: 0x00770CDC */
static void paint_ghost_train_track_brakes(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement)
{
rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y};
uint32 imageId = ghost_train_track_pieces_brakes[direction] | gTrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2) {
sub_98197C(imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
} else {
sub_98197C(imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
}
if (direction == 0 || direction == 2) {
paint_util_push_tunnel_left(height, TUNNEL_0);
} else {
paint_util_push_tunnel_right(height, TUNNEL_0);
}
if (track_paint_util_should_paint_supports(position)) {
metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 0, height, gTrackColours[SCHEME_SUPPORTS]);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
}
开发者ID:trigger-death,项目名称:OpenRCT2,代码行数:26,代码来源:ghost_train.c
示例4: inverted_impulse_rc_track_station
/** rct2: 0x008B0470, 0x008B0480, 0x008B0490 */
static void inverted_impulse_rc_track_station(
paint_session* session, ride_id_t rideIndex, [[maybe_unused]] uint8_t trackSequence, uint8_t direction, int32_t height,
const TileElement* tileElement)
{
static constexpr const uint32_t imageIds[4][3] = {
{ SPR_STATION_BASE_C_SW_NE, 19662, SPR_STATION_INVERTED_BAR_B_SW_NE },
{ SPR_STATION_BASE_C_NW_SE, 19663, SPR_STATION_INVERTED_BAR_B_NW_SE },
{ SPR_STATION_BASE_C_SW_NE, 19662, SPR_STATION_INVERTED_BAR_B_SW_NE },
{ SPR_STATION_BASE_C_NW_SE, 19663, SPR_STATION_INVERTED_BAR_B_NW_SE },
};
sub_98197C_rotated(
session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_MISC], 0, 0, 32, 28, 1, height, 0, 2, height);
sub_98197C_rotated(
session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 3, height + 29, 0, 6,
height + 29);
sub_98199C_rotated(
session, direction, imageIds[direction][2] | session->TrackColours[SCHEME_SUPPORTS], 0, 6, 32, 20, 3, height + 29, 0, 6,
height + 29);
track_paint_util_draw_station_metal_supports_2(session, direction, height, session->TrackColours[SCHEME_SUPPORTS], 11);
track_paint_util_draw_station_inverted(session, rideIndex, direction, height, tileElement, STATION_VARIANT_TALL);
paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_9);
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(session, height + 48, 0x20);
}
开发者ID:OpenRCT2,项目名称:OpenRCT2,代码行数:26,代码来源:InvertedImpulseCoaster.cpp
示例5: wooden_wild_mouse_track_right_quarter_turn_3
static void wooden_wild_mouse_track_right_quarter_turn_3(
paint_session * session,
uint8 rideIndex,
uint8 trackSequence,
uint8 direction,
sint32 height,
const rct_tile_element * tileElement)
{
static constexpr const sprite_bb imageIds[4][3] = {
{
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } },
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_1, { 16, 16, 0 }, { 0, 0, 0 }, { 16, 16, 1 } },
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SW_SE_PART_2, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } },
},
{
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } },
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_1, { 16, 0, 0 }, { 0, 0, 0 }, { 16, 16, 1 } },
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NW_SW_PART_2, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } },
},
{
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_0, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } },
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_1, { 0, 0, 0 }, { 0, 0, 0 }, { 16, 16, 1 } },
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_NE_NW_PART_2, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } },
},
{
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_0, { 6, 0, 0 }, { 0, 0, 0 }, { 20, 32, 1 } },
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_1, { 0, 16, 0 }, { 0, 0, 0 }, { 16, 16, 1 } },
{ SPR_WOODEN_WILD_MOUSE_QUARTER_TURN_3_SE_NE_PART_2, { 0, 6, 0 }, { 0, 0, 0 }, { 32, 20, 1 } },
}
};
static uint8 supportType[] = { 4, 5, 2, 3 };
track_paint_util_right_quarter_turn_3_tiles_paint_4(
session, height, direction, session->CurrentRotation, trackSequence, session->TrackColours[SCHEME_TRACK], imageIds);
track_paint_util_right_quarter_turn_3_tiles_tunnel(session, height, direction, trackSequence, TUNNEL_0);
switch (trackSequence)
{
case 0:
case 3:
wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
break;
}
sint32 blockedSegments = 0;
switch (trackSequence)
{
case 0:
blockedSegments = SEGMENTS_ALL;
break;
case 2:
blockedSegments = SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4;
break;
case 3:
blockedSegments = SEGMENTS_ALL;
break;
}
paint_util_set_segment_support_height(session, paint_util_rotate_segments(blockedSegments, direction), 0xFFFF, 0);
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:Gymnasiast,项目名称:OpenRCT2,代码行数:60,代码来源:WoodenWildMouse.cpp
示例6: paint_mini_helicopters_track_flat
/** rct2: 0x0081F348 */
static void paint_mini_helicopters_track_flat(
paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height,
const TileElement* tileElement)
{
LocationXY16 position = session->MapPosition;
uint32_t imageId;
if (direction & 1)
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
paint_util_push_tunnel_right(session, height, TUNNEL_0);
}
else
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
paint_util_push_tunnel_left(session, height, TUNNEL_0);
}
if (track_paint_util_should_paint_supports(position))
{
metal_a_supports_paint_setup(
session, (direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, -1, height,
session->TrackColours[SCHEME_SUPPORTS]);
}
paint_util_set_segment_support_height(
session, paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:OpenRCT2,项目名称:OpenRCT2,代码行数:32,代码来源:MiniHelicopters.cpp
示例7: paint_monorail_track_25_deg_up_to_flat
/** rct2: 0x008AE1DC */
static void paint_monorail_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement)
{
rct_xy16 position = {gPaintMapPosition.x, gPaintMapPosition.y};
uint32 imageId = monorail_track_pieces_25_deg_up_to_flat[direction] | gTrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2) {
sub_98196C(imageId, 0, 6, 32, 20, 3, height, get_current_rotation());
} else {
sub_98196C(imageId, 6, 0, 20, 32, 3, height, get_current_rotation());
}
switch (direction) {
case 0: paint_util_push_tunnel_left(height - 8, TUNNEL_6); break;
case 1: paint_util_push_tunnel_right(height + 8, TUNNEL_14); break;
case 2: paint_util_push_tunnel_left(height + 8, TUNNEL_14); break;
case 3: paint_util_push_tunnel_right(height - 8, TUNNEL_6); break;
}
if (track_paint_util_should_paint_supports(position)) {
metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 4, 6, height, gTrackColours[SCHEME_SUPPORTS]);
}
paint_util_set_segment_support_height(paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction), 0xFFFF, 0);
paint_util_set_general_support_height(height + 40, 0x20);
}
开发者ID:trigger-death,项目名称:OpenRCT2,代码行数:27,代码来源:monorail.c
示例8: paint_ghost_train_track_spinning_tunnel
/** rct2: 0x00770CCC */
static void paint_ghost_train_track_spinning_tunnel(
paint_session * session,
uint8 rideIndex,
uint8 trackSequence,
uint8 direction,
sint32 height,
const rct_tile_element * tileElement)
{
uint32 imageId = ghost_train_track_pieces_spinning_tunnel_track[direction] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 28, 20, 3, height, 2, 6, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 20, 28, 3, height, 6, 2, height);
}
track_paint_util_spinning_tunnel_paint(session, 3, height, direction);
if (direction == 0 || direction == 2)
{
paint_util_push_tunnel_left(session, height, TUNNEL_0);
}
else
{
paint_util_push_tunnel_right(session, height, TUNNEL_0);
}
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr);
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:Wirlie,项目名称:OpenRCT2,代码行数:36,代码来源:GhostTrain.cpp
示例9: paint_observation_tower_section
/** rct2: 0x0070DD7C */
static void paint_observation_tower_section(
paint_session * session,
uint8 rideIndex,
uint8 trackSequence,
uint8 direction,
sint32 height,
const rct_tile_element * tileElement)
{
if (trackSequence == 1)
{
return;
}
uint32 imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
const rct_tile_element * nextTileElement = tileElement + 1;
if (tileElement->IsLastForTile() || tileElement->clearance_height != nextTileElement->base_height)
{
imageId = SPR_OBSERVATION_TOWER_SEGMENT_TOP | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_vertical_tunnel(session, height + 32);
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:Wirlie,项目名称:OpenRCT2,代码行数:29,代码来源:ObservationTower.cpp
示例10: inverted_impulse_rc_track_flat
/** rct2: 0x008B0460 */
static void inverted_impulse_rc_track_flat(
paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height,
const TileElement* tileElement)
{
switch (direction)
{
case 0:
case 2:
sub_98197C_rotated(
session, direction, session->TrackColours[SCHEME_TRACK] | 19662, 0, 0, 32, 20, 3, height + 29, 0, 6,
height + 29);
break;
case 1:
case 3:
sub_98197C_rotated(
session, direction, session->TrackColours[SCHEME_TRACK] | 19663, 0, 0, 32, 20, 3, height + 29, 0, 6,
height + 29);
break;
}
paint_util_set_segment_support_height(
session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
if (track_paint_util_should_paint_supports(session->MapPosition))
{
metal_a_supports_paint_setup(
session, METAL_SUPPORTS_TUBES_INVERTED, 4, 0, height + 44, session->TrackColours[SCHEME_SUPPORTS]);
}
paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_3);
paint_util_set_general_support_height(session, height + 48, 0x20);
}
开发者ID:OpenRCT2,项目名称:OpenRCT2,代码行数:32,代码来源:InvertedImpulseCoaster.cpp
示例11: paint_virginia_reel_track_flat
/** rct2: 0x00811264 */
static void paint_virginia_reel_track_flat(
paint_session * session,
uint8 rideIndex,
uint8 trackSequence,
uint8 direction,
sint32 height,
const rct_tile_element * tileElement)
{
const uint32 * sprites = virginia_reel_track_pieces_flat;
if (track_element_is_lift_hill(tileElement))
{
sprites = virginia_reel_track_pieces_flat_lift_hill;
}
uint32 imageId = sprites[direction] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
}
else
{
sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
}
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:Gymnasiast,项目名称:OpenRCT2,代码行数:32,代码来源:VirginiaReel.cpp
示例12: paint_mini_helicopters_track_station
/** rct2: 0x */
static void paint_mini_helicopters_track_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, sint32 height, rct_map_element * mapElement)
{
uint32 imageId;
if (direction == 0 || direction == 2) {
imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC];
sub_98197C(imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation());
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | gTrackColours[SCHEME_TRACK];
sub_98199C(imageId, 0, 0, 32, 20, 1, height, 0, 0, height, get_current_rotation());
metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 5, 0, height, gTrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 8, 0, height, gTrackColours[SCHEME_SUPPORTS]);
paint_util_push_tunnel_left(height, TUNNEL_6);
} else if (direction == 1 || direction == 3) {
imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC];
sub_98197C(imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation());
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | gTrackColours[SCHEME_TRACK];
sub_98199C(imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation());
metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 6, 0, height, gTrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup(METAL_SUPPORTS_BOXED, 7, 0, height, gTrackColours[SCHEME_SUPPORTS]);
paint_util_push_tunnel_right(height, TUNNEL_6);
}
track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
}
开发者ID:trigger-death,项目名称:OpenRCT2,代码行数:32,代码来源:mini_helicopters.c
示例13: paint_virginia_reel_track_left_quarter_turn_3_tiles
/** rct2: 0x00811304 */
static void paint_virginia_reel_track_left_quarter_turn_3_tiles(
paint_session * session,
uint8 rideIndex,
uint8 trackSequence,
uint8 direction,
sint32 height,
const rct_tile_element * tileElement)
{
track_paint_util_left_quarter_turn_3_tiles_paint(
session, 2, height, direction, trackSequence, session->TrackColours[SCHEME_TRACK],
virginia_reel_track_pieces_flat_quarter_turn_3_tiles, session->CurrentRotation);
track_paint_util_left_quarter_turn_3_tiles_tunnel(session, height, TUNNEL_6, direction, trackSequence);
switch (trackSequence)
{
case 2:
paint_util_set_segment_support_height(
session, paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0);
break;
case 0:
case 3:
wooden_a_supports_paint_setup(session, virginia_reel_left_quarter_turn_supports[direction], 0, height,
session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0);
break;
}
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:Gymnasiast,项目名称:OpenRCT2,代码行数:30,代码来源:VirginiaReel.cpp
示例14: paint_virginia_reel_station
/** rct2: 0x008112D4, 0x008112E4, 0x008112F4 */
static void paint_virginia_reel_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement)
{
uint32 imageId;
if (direction == 0 || direction == 2) {
imageId = SPR_STATION_BASE_B_SW_NE | gTrackColours[SCHEME_MISC];
sub_98197C(imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height, get_current_rotation());
imageId = SPR_VIRGINIA_REEL_FLAT_SW_NE | gTrackColours[SCHEME_TRACK];
sub_98199C(imageId, 0, 0, 32, 20, 2, height, 0, 0, height, get_current_rotation());
paint_util_push_tunnel_left(height, TUNNEL_6);
} else if (direction == 1 || direction == 3) {
imageId = SPR_STATION_BASE_B_NW_SE | gTrackColours[SCHEME_MISC];
sub_98197C(imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height, get_current_rotation());
imageId = SPR_VIRGINIA_REEL_FLAT_NW_SE | gTrackColours[SCHEME_TRACK];
sub_98199C(imageId, 0, 0, 20, 32, 2, height, 0, 0, height, get_current_rotation());
paint_util_push_tunnel_right(height, TUNNEL_6);
}
wooden_a_supports_paint_setup((direction & 1), 0, height, gTrackColours[SCHEME_SUPPORTS], NULL);
track_paint_util_draw_station(rideIndex, trackSequence, direction, height, mapElement);
paint_util_set_segment_support_height(SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(height + 32, 0x20);
}
开发者ID:YJSoft,项目名称:OpenRCT2,代码行数:29,代码来源:virginia_reel.c
示例15: submarine_ride_paint_track_flat
static void submarine_ride_paint_track_flat(
paint_session * session,
uint8 rideIndex,
uint8 trackSequence,
uint8 direction,
sint32 height,
const rct_tile_element * tileElement)
{
LocationXY16 position = session->MapPosition;
sint32 heightLower = height - 16;
uint32 imageId;
if (direction & 1)
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower);
paint_util_push_tunnel_right(session, heightLower, TUNNEL_0);
}
else
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower);
paint_util_push_tunnel_left(session, heightLower, TUNNEL_0);
}
if (track_paint_util_should_paint_supports(position))
{
metal_a_supports_paint_setup(session, (direction & 1) ? METAL_SUPPORTS_STICK_ALT : METAL_SUPPORTS_STICK, 4, -1,
heightLower, session->TrackColours[SCHEME_SUPPORTS]);
}
paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction),
0xFFFF, 0);
paint_util_set_general_support_height(session, height + 16, 0x20);
}
开发者ID:Gymnasiast,项目名称:OpenRCT2,代码行数:35,代码来源:SubmarineRide.cpp
示例16: paint_virginia_reel_track_left_quarter_turn_1_tile
/** rct2: 0x00811324 */
static void paint_virginia_reel_track_left_quarter_turn_1_tile(
paint_session * session,
uint8 rideIndex,
uint8 trackSequence,
uint8 direction,
sint32 height,
const rct_tile_element * tileElement)
{
track_paint_util_left_quarter_turn_1_tile_paint(
session, 2, height, 0, direction, session->TrackColours[SCHEME_TRACK],
virginia_reel_track_pieces_flat_quarter_turn_1_tile, session->CurrentRotation);
switch (direction)
{
case 0:
wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
break;
case 1:
wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
break;
case 2:
wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
break;
case 3:
wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
break;
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:Gymnasiast,项目名称:OpenRCT2,代码行数:36,代码来源:VirginiaReel.cpp
示例17: inverted_impulse_rc_track_25_deg_up_to_flat
/** rct2: 0x008B04F0 */
static void inverted_impulse_rc_track_25_deg_up_to_flat(
paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height,
const TileElement* tileElement)
{
switch (direction)
{
case 0:
sub_98197C_rotated(
session, direction, session->TrackColours[SCHEME_TRACK] | 19668, 0, 0, 32, 20, 3, height + 29, 0, 6,
height + 37);
break;
case 1:
sub_98197C_rotated(
session, direction, session->TrackColours[SCHEME_TRACK] | 19669, 0, 0, 32, 20, 3, height + 29, 0, 6,
height + 37);
break;
case 2:
sub_98197C_rotated(
session, direction, session->TrackColours[SCHEME_TRACK] | 19670, 0, 0, 32, 20, 3, height + 29, 0, 6,
height + 37);
break;
case 3:
sub_98197C_rotated(
session, direction, session->TrackColours[SCHEME_TRACK] | 19671, 0, 0, 32, 20, 3, height + 29, 0, 6,
height + 37);
break;
}
paint_util_set_segment_support_height(
session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0);
switch (direction)
{
case 0:
metal_a_supports_paint_setup(
session, METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 52, session->TrackColours[SCHEME_SUPPORTS]);
break;
case 1:
metal_a_supports_paint_setup(
session, METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 52, session->TrackColours[SCHEME_SUPPORTS]);
break;
case 2:
metal_a_supports_paint_setup(
session, METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 52, session->TrackColours[SCHEME_SUPPORTS]);
break;
case 3:
metal_a_supports_paint_setup(
session, METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 52, session->TrackColours[SCHEME_SUPPORTS]);
break;
}
if (direction == 0 || direction == 3)
{
paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_3);
}
else
{
paint_util_push_tunnel_rotated(session, direction, height + 8, TUNNEL_13);
}
paint_util_set_general_support_height(session, height + 56, 0x20);
}
开发者ID:OpenRCT2,项目名称:OpenRCT2,代码行数:61,代码来源:InvertedImpulseCoaster.cpp
示例18: paint_mini_helicopters_track_left_quarter_turn_3_tiles
/** rct2: 0x0081F3E8 */
static void paint_mini_helicopters_track_left_quarter_turn_3_tiles(
paint_session* session, ride_id_t rideIndex, uint8_t trackSequence, uint8_t direction, int32_t height,
const TileElement* tileElement)
{
track_paint_util_left_quarter_turn_3_tiles_paint(
session, 3, height, direction, trackSequence, session->TrackColours[SCHEME_TRACK],
trackSpritesSubmarineRideMiniHelicoptersQuarterTurn3Tiles);
track_paint_util_left_quarter_turn_3_tiles_tunnel(session, height, TUNNEL_0, direction, trackSequence);
switch (trackSequence)
{
case 0:
metal_a_supports_paint_setup(session, METAL_SUPPORTS_STICK, 4, -1, height, session->TrackColours[SCHEME_SUPPORTS]);
paint_util_set_segment_support_height(
session, paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_B4, direction), 0xFFFF, 0);
break;
case 2:
paint_util_set_segment_support_height(
session, paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_B8, direction), 0xFFFF, 0);
break;
case 3:
metal_a_supports_paint_setup(session, METAL_SUPPORTS_STICK, 4, -1, height, session->TrackColours[SCHEME_SUPPORTS]);
paint_util_set_segment_support_height(
session, paint_util_rotate_segments(SEGMENT_C8 | SEGMENT_C4 | SEGMENT_D4 | SEGMENT_C0, direction), 0xFFFF, 0);
break;
}
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:OpenRCT2,项目名称:OpenRCT2,代码行数:30,代码来源:MiniHelicopters.cpp
示例19: wooden_wild_mouse_track_station
static void wooden_wild_mouse_track_station(
paint_session * session,
uint8 rideIndex,
uint8 trackSequence,
uint8 direction,
sint32 height,
const rct_tile_element * tileElement)
{
static constexpr const uint32 imageIds[4][2] = {
{ SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, SPR_STATION_BASE_B_SW_NE },
{ SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, SPR_STATION_BASE_B_NW_SE },
{ SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE, SPR_STATION_BASE_B_SW_NE },
{ SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE, SPR_STATION_BASE_B_NW_SE },
};
sub_98197C_rotated(session, direction, imageIds[direction][1] | session->TrackColours[SCHEME_MISC], 0, 0, 32, 28, 1,
height - 2, 0, 2, height);
sub_98199C_rotated(session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1,
height, 0, 0, height);
wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
track_paint_util_draw_station(session, rideIndex, trackSequence, direction, height, tileElement);
paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_6);
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:Gymnasiast,项目名称:OpenRCT2,代码行数:25,代码来源:WoodenWildMouse.cpp
示例20: wooden_wild_mouse_track_flat
/** rct2: 0x008A5464 */
static void wooden_wild_mouse_track_flat(
paint_session * session,
uint8 rideIndex,
uint8 trackSequence,
uint8 direction,
sint32 height,
const rct_tile_element * tileElement)
{
static constexpr const uint32 imageIds[4] = {
SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE,
SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE,
SPR_WOODEN_WILD_MOUSE_FLAT_SW_NE,
SPR_WOODEN_WILD_MOUSE_FLAT_NW_SE,
};
uint32 imageId = imageIds[direction] | session->TrackColours[SCHEME_TRACK];
sub_98196C_rotated(session, direction, imageId, 0, 6, 32, 20, 1, height);
wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0);
paint_util_set_segment_support_height(
session,
paint_util_rotate_segments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C8 | SEGMENT_D4, direction),
height, 0x20);
paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction),
0xFFFF, 0);
paint_util_set_general_support_height(session, height + 32, 0x20);
}
开发者ID:Gymnasiast,项目名称:OpenRCT2,代码行数:28,代码来源:WoodenWildMouse.cpp
注:本文中的paint_util_set_general_support_height函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论