mirror of https://github.com/OpenRCT2/OpenRCT2.git
commit
e953eed95b
|
@ -639,16 +639,17 @@
|
|||
|
||||
#pragma endregion
|
||||
|
||||
/* Returns the flags register
|
||||
/**
|
||||
* Returns the flags register
|
||||
*
|
||||
*Flags register is as follows:
|
||||
*0bSZ0A_0P0C_0000_0000
|
||||
*S = Signed flag
|
||||
*Z = Zero flag
|
||||
*C = Carry flag
|
||||
*A = Adjust flag
|
||||
*P = Parity flag
|
||||
*All other bits are undefined.
|
||||
* Flags register is as follows:
|
||||
* 0bSZ0A_0P0C_0000_0000
|
||||
* S = Signed flag
|
||||
* Z = Zero flag
|
||||
* C = Carry flag
|
||||
* A = Adjust flag
|
||||
* P = Parity flag
|
||||
* All other bits are undefined.
|
||||
*/
|
||||
int RCT2_CALLPROC_X(int address, int _eax, int _ebx, int _ecx, int _edx, int _esi, int _edi, int _ebp);
|
||||
|
||||
|
@ -657,16 +658,17 @@ static int RCT2_CALLPROC_EBPSAFE(int address)
|
|||
return RCT2_CALLPROC_X(address, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB);
|
||||
}
|
||||
|
||||
/* Returns the flags register
|
||||
/**
|
||||
* Returns the flags register
|
||||
*
|
||||
*Flags register is as follows:
|
||||
*0bSZ0A_0P0C_0000_00000
|
||||
*S = Signed flag
|
||||
*Z = Zero flag
|
||||
*C = Carry flag
|
||||
*A = Adjust flag
|
||||
*P = Parity flag
|
||||
*All other bits are undefined.
|
||||
* Flags register is as follows:
|
||||
* 0bSZ0A_0P0C_0000_00000
|
||||
* S = Signed flag
|
||||
* Z = Zero flag
|
||||
* C = Carry flag
|
||||
* A = Adjust flag
|
||||
* P = Parity flag
|
||||
* All other bits are undefined.
|
||||
*/
|
||||
int RCT2_CALLFUNC_X(int address, int *_eax, int *_ebx, int *_ecx, int *_edx, int *_esi, int *_edi, int *_ebp);
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ extern rct_vehicle_sound_params *gVehicleSoundParamsListEnd;
|
|||
* rct2: 0x006BAB21
|
||||
*/
|
||||
void audio_close();
|
||||
/*
|
||||
/**
|
||||
* Initialises the audio subsystem.
|
||||
*/
|
||||
void audio_init();
|
||||
|
|
|
@ -30,7 +30,7 @@ enum {
|
|||
DIAGNOSTIC_LEVEL_COUNT
|
||||
};
|
||||
|
||||
/*
|
||||
/**
|
||||
* Compile-time debug levels.
|
||||
*
|
||||
* When compiling, just add -DDEBUG={0,1,2,3} (where 0 means disabled)
|
||||
|
|
|
@ -152,7 +152,10 @@ void gfx_transpose_palette(int pal, unsigned char product)
|
|||
platform_update_palette((uint8*)RCT2_ADDRESS_PALETTE, 10, 236);
|
||||
}
|
||||
|
||||
/* rct2: 0x006837E3 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006837E3
|
||||
*/
|
||||
void load_palette(){
|
||||
rct_water_type* water_type = (rct_water_type*)object_entry_groups[OBJECT_TYPE_WATER].chunks[0];
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "drawing.h"
|
||||
|
||||
/*
|
||||
/**
|
||||
* Draws a horizontal line of specified colour to a buffer.
|
||||
* rct2: 0x0068474C
|
||||
*/
|
||||
|
|
|
@ -227,7 +227,7 @@ void gfx_fill_rect(rct_drawpixelinfo *dpi, int left, int top, int right, int bot
|
|||
}
|
||||
|
||||
/**
|
||||
* Draw a rectangle, with optional border or fill
|
||||
* Draw a rectangle, with optional border or fill
|
||||
*
|
||||
* rct2: 0x006E6F81
|
||||
* dpi (edi)
|
||||
|
|
|
@ -88,7 +88,7 @@ int gfx_get_string_width_new_lined(utf8 *text)
|
|||
}
|
||||
|
||||
/**
|
||||
* Return the width of the string in buffer
|
||||
* Return the width of the string in buffer
|
||||
*
|
||||
* rct2: 0x006C2321
|
||||
* buffer (esi)
|
||||
|
@ -99,7 +99,7 @@ int gfx_get_string_width(char* buffer)
|
|||
}
|
||||
|
||||
/**
|
||||
* Clip the text in buffer to width, add ellipsis and return the new width of the clipped string
|
||||
* Clip the text in buffer to width, add ellipsis and return the new width of the clipped string
|
||||
*
|
||||
* rct2: 0x006C2460
|
||||
* buffer (esi)
|
||||
|
@ -152,11 +152,11 @@ int gfx_clip_string(utf8 *text, int width)
|
|||
}
|
||||
|
||||
/**
|
||||
* Wrap the text in buffer to width, returns width of longest line.
|
||||
* Wrap the text in buffer to width, returns width of longest line.
|
||||
*
|
||||
* Inserts NULL where line should break (as \n is used for something else),
|
||||
* so the number of lines is returned in num_lines. font_height seems to be
|
||||
* a control character for line height.
|
||||
* Inserts NULL where line should break (as \n is used for something else),
|
||||
* so the number of lines is returned in num_lines. font_height seems to be
|
||||
* a control character for line height.
|
||||
*
|
||||
* rct2: 0x006C21E2
|
||||
* buffer (esi)
|
||||
|
@ -504,7 +504,7 @@ void colour_char(uint8 colour, uint16* current_font_flags, uint8* palette_pointe
|
|||
|
||||
/**
|
||||
* Changes the palette so that the next character changes colour
|
||||
* This is specific to changing to a predefined window related colour
|
||||
* This is specific to changing to a predefined window related colour
|
||||
*/
|
||||
void colour_char_window(uint8 colour, uint16* current_font_flags,uint8* palette_pointer) {
|
||||
|
||||
|
@ -582,7 +582,7 @@ void draw_string_centred_underline(rct_drawpixelinfo *dpi, int format, void *arg
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C1DB7
|
||||
* rct2: 0x006C1DB7
|
||||
*
|
||||
* left : cx
|
||||
* top : dx
|
||||
|
@ -682,7 +682,7 @@ int string_get_height_raw(char *buffer)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C1F57
|
||||
* rct2: 0x006C1F57
|
||||
*
|
||||
* colour : al
|
||||
* format : bx
|
||||
|
|
|
@ -962,9 +962,9 @@ void game_load_init()
|
|||
scenario_set_filename((char*)0x0135936C);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069E9A7
|
||||
* rct2: 0x0069E9A7
|
||||
* Call after a rotation or loading of a save to reset sprite quadrants
|
||||
*/
|
||||
void reset_all_sprite_quadrant_placements()
|
||||
|
|
29
src/input.c
29
src/input.c
|
@ -180,7 +180,9 @@ static rct_mouse_data* get_mouse_input()
|
|||
return &mouse_buffer[read_index];
|
||||
}
|
||||
|
||||
/* rct2: 0x006E957F
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E957F
|
||||
*/
|
||||
static void input_scroll_drag_begin(int x, int y, rct_window* w, rct_widget* widget, int widgetIndex) {
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_INPUT_STATE, uint8) = INPUT_STATE_SCROLL_RIGHT;
|
||||
|
@ -195,7 +197,10 @@ static void input_scroll_drag_begin(int x, int y, rct_window* w, rct_widget* wid
|
|||
platform_hide_cursor();
|
||||
}
|
||||
|
||||
/* Based on (heavily changed) rct2: 0x006E9E0E & 0x006E9ED0 */
|
||||
/**
|
||||
* Based on (heavily changed)
|
||||
* rct2: 0x006E9E0E, 0x006E9ED0
|
||||
*/
|
||||
static void input_scroll_drag_continue(int x, int y, rct_window* w) {
|
||||
uint8 widgetIndex = _dragWidgetIndex;
|
||||
uint8 scrollIndex = _dragScrollIndex;
|
||||
|
@ -228,7 +233,10 @@ static void input_scroll_drag_continue(int x, int y, rct_window* w) {
|
|||
platform_set_cursor_position(_dragX, _dragY);
|
||||
}
|
||||
|
||||
/* rct2: 0x006E8ACB*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E8ACB
|
||||
*/
|
||||
static void input_scroll_right(int x, int y, int state) {
|
||||
rct_window* w = window_find_by_number(
|
||||
_dragWindowClass,
|
||||
|
@ -701,7 +709,7 @@ static void input_scroll_end()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006E98F2
|
||||
* rct2: 0x006E98F2
|
||||
*/
|
||||
static void input_scroll_part_update_hthumb(rct_window *w, int widgetIndex, int x, int scroll_id)
|
||||
{
|
||||
|
@ -738,7 +746,7 @@ static void input_scroll_part_update_hthumb(rct_window *w, int widgetIndex, int
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006E99A9
|
||||
* rct2: 0x006E99A9
|
||||
*/
|
||||
static void input_scroll_part_update_vthumb(rct_window *w, int widgetIndex, int y, int scroll_id)
|
||||
{
|
||||
|
@ -776,7 +784,7 @@ static void input_scroll_part_update_vthumb(rct_window *w, int widgetIndex, int
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006E9A60
|
||||
* rct2: 0x006E9A60
|
||||
*/
|
||||
static void input_scroll_part_update_hleft(rct_window *w, int widgetIndex, int scroll_id)
|
||||
{
|
||||
|
@ -794,7 +802,7 @@ static void input_scroll_part_update_hleft(rct_window *w, int widgetIndex, int s
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006E9ABF
|
||||
* rct2: 0x006E9ABF
|
||||
*/
|
||||
static void input_scroll_part_update_hright(rct_window *w, int widgetIndex, int scroll_id)
|
||||
{
|
||||
|
@ -819,7 +827,7 @@ static void input_scroll_part_update_hright(rct_window *w, int widgetIndex, int
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006E9C37
|
||||
* rct2: 0x006E9C37
|
||||
*/
|
||||
static void input_scroll_part_update_vtop(rct_window *w, int widgetIndex, int scroll_id)
|
||||
{
|
||||
|
@ -837,7 +845,7 @@ static void input_scroll_part_update_vtop(rct_window *w, int widgetIndex, int sc
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006E9C96
|
||||
* rct2: 0x006E9C96
|
||||
*/
|
||||
static void input_scroll_part_update_vbottom(rct_window *w, int widgetIndex, int scroll_id)
|
||||
{
|
||||
|
@ -1754,7 +1762,8 @@ void game_handle_key_scroll()
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x006E8346
|
||||
*
|
||||
* rct2: 0x006E8346
|
||||
*/
|
||||
static void update_cursor_position()
|
||||
{
|
||||
|
|
|
@ -81,8 +81,8 @@ struct paint_struct{
|
|||
};
|
||||
|
||||
/**
|
||||
* This is not a viewport function. It is used to setup many variables for
|
||||
* multiple things.
|
||||
* This is not a viewport function. It is used to setup many variables for
|
||||
* multiple things.
|
||||
* rct2: 0x006E6EAC
|
||||
*/
|
||||
void viewport_init_all()
|
||||
|
@ -113,13 +113,14 @@ void viewport_init_all()
|
|||
}
|
||||
|
||||
/**
|
||||
* rct:0x006EB0C1
|
||||
* x : ax
|
||||
* y : bx
|
||||
* z : cx
|
||||
* out_x : ax
|
||||
* out_y : bx
|
||||
* Converts between 3d point of a sprite to 2d coordinates for centering on that sprite
|
||||
* Converts between 3d point of a sprite to 2d coordinates for centering on that
|
||||
* sprite
|
||||
* rct2: 0x006EB0C1
|
||||
* x : ax
|
||||
* y : bx
|
||||
* z : cx
|
||||
* out_x : ax
|
||||
* out_y : bx
|
||||
*/
|
||||
void center_2d_coordinates(int x, int y, int z, int* out_x, int* out_y, rct_viewport* viewport){
|
||||
int start_x = x;
|
||||
|
@ -146,21 +147,21 @@ void center_2d_coordinates(int x, int y, int z, int* out_x, int* out_y, rct_view
|
|||
}
|
||||
|
||||
/**
|
||||
* Viewport will look at sprite or at coordinates as specified in flags 0b_1X
|
||||
* for sprite 0b_0X for coordinates
|
||||
*
|
||||
* rct2: 0x006EB009
|
||||
* x: ax
|
||||
* y: eax (top 16)
|
||||
* width: bx
|
||||
* height: ebx (top 16)
|
||||
* zoom: cl (8 bits)
|
||||
* zoom: cl (8 bits)
|
||||
* center_x: edx lower 16 bits
|
||||
* center_y: edx upper 16 bits
|
||||
* center_z: ecx upper 16 bits
|
||||
* sprite: edx lower 16 bits
|
||||
* flags: edx top most 2 bits 0b_X1 for zoom clear see below for 2nd bit.
|
||||
* w: esi
|
||||
*
|
||||
* Viewport will look at sprite or at coordinates as specified in flags 0b_1X for sprite 0b_0X for coordinates
|
||||
*/
|
||||
void viewport_create(rct_window *w, int x, int y, int width, int height, int zoom, int center_x, int center_y, int center_z, char flags, sint16 sprite)
|
||||
{
|
||||
|
@ -229,8 +230,10 @@ void viewport_update_pointers()
|
|||
}
|
||||
|
||||
/**
|
||||
* edx is assumed to be (and always is) the current rotation, so it is not needed as parameter.
|
||||
* rct2: 0x00689174
|
||||
*
|
||||
* rct2: 0x0068914
|
||||
* edx is assumed to be (and always is) the current rotation, so it is not
|
||||
* needed as parameter.
|
||||
*/
|
||||
void sub_689174(sint16* x, sint16* y, sint16 *z)
|
||||
{
|
||||
|
@ -269,7 +272,7 @@ void sub_683326(int left, int top, int right, int bottom)
|
|||
* shifts pixels from the region in a direction. Used when a viewport moves;
|
||||
* consider putting in src/drawing/drawing.c or src/drawing/rect.c
|
||||
*
|
||||
* rct2: 0x00683359
|
||||
* rct2: 0x00683359
|
||||
* ax = x
|
||||
* bx = y;
|
||||
* cx = width;
|
||||
|
@ -753,10 +756,10 @@ void painter_setup(){
|
|||
RCT2_GLOBAL(0xF1AD24, uint32) = 0;
|
||||
}
|
||||
|
||||
/***
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00688596
|
||||
* Part of 0x688485
|
||||
* rct2: 0x00688596
|
||||
* Part of 0x688485
|
||||
*/
|
||||
void paint_attached_ps(paint_struct* ps, paint_struct* attached_ps, rct_drawpixelinfo* dpi){
|
||||
for (; attached_ps; attached_ps = attached_ps->next_attached_ps){
|
||||
|
@ -851,7 +854,10 @@ void sub_688485(){
|
|||
|
||||
}
|
||||
|
||||
/* rct2: 0x006874B0, 0x00687618, 0x0068778C, 0x00687902, 0x0098199C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006874B0, 0x00687618, 0x0068778C, 0x00687902, 0x0098199C
|
||||
*/
|
||||
int sub_98199C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation){
|
||||
RCT2_CALLPROC_X(RCT2_ADDRESS(0x98199C, uint32_t)[get_current_rotation()],
|
||||
al | (ah << 8),
|
||||
|
@ -864,7 +870,10 @@ int sub_98199C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 le
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x00686806, 0x006869B2, 0x00686B6F, 0x00686D31, 0x0098197C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00686806, 0x006869B2, 0x00686B6F, 0x00686D31, 0x0098197C
|
||||
*/
|
||||
int sub_98197C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation){
|
||||
int ebp = ah + RCT2_GLOBAL(0x9DEA56, sint16);
|
||||
|
||||
|
@ -1102,7 +1111,7 @@ void viewport_misc_paint_setup(rct_sprite *misc, int imageDirection)
|
|||
}
|
||||
|
||||
/**
|
||||
* Litter Paint Setup
|
||||
* Litter Paint Setup
|
||||
* rct2: 0x006736FC
|
||||
*/
|
||||
void viewport_litter_paint_setup(rct_litter *litter, int imageDirection)
|
||||
|
@ -1129,7 +1138,7 @@ void viewport_litter_paint_setup(rct_litter *litter, int imageDirection)
|
|||
|
||||
|
||||
/**
|
||||
* Paint Quadrant
|
||||
* Paint Quadrant
|
||||
* rct2: 0x0069E8B0
|
||||
*/
|
||||
void sprite_paint_setup(uint16 eax, uint16 ecx){
|
||||
|
@ -1194,12 +1203,14 @@ void sprite_paint_setup(uint16 eax, uint16 ecx){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006629BC
|
||||
* returns al
|
||||
* ebp : image_id
|
||||
* ax : unknown
|
||||
* dx : height
|
||||
* edi : unknown
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006629BC
|
||||
* returns al
|
||||
* ebp: image_id
|
||||
* ax: unknown
|
||||
* dx: height
|
||||
* edi: unknown
|
||||
*/
|
||||
bool sub_6629BC(int height, uint16 ax, uint32 image_id, int edi){
|
||||
int eax = ax, ebx = 0, ecx = 0, edx = height, esi = 0, _edi = edi, ebp = image_id;
|
||||
|
@ -1209,7 +1220,10 @@ bool sub_6629BC(int height, uint16 ax, uint32 image_id, int edi){
|
|||
return eax & 0xFF;
|
||||
}
|
||||
|
||||
/* rct2: 0x0066508C & 0x00665540 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066508C, 0x00665540
|
||||
*/
|
||||
void viewport_ride_entrance_exit_paint_setup(uint8 direction, int height, rct_map_element* map_element)
|
||||
{
|
||||
rct_drawpixelinfo* dpi = RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo*);
|
||||
|
@ -1375,7 +1389,10 @@ void viewport_ride_entrance_exit_paint_setup(uint8 direction, int height, rct_ma
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006658ED */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006658ED
|
||||
*/
|
||||
void viewport_park_entrance_paint_setup(uint8 direction, int height, rct_map_element* map_element){
|
||||
if (RCT2_GLOBAL(0x9DEA6F, uint8_t) & 1)
|
||||
return;
|
||||
|
@ -1581,7 +1598,10 @@ void viewport_track_paint_setup(uint8 direction, int height, rct_map_element *ma
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00664FD4 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00664FD4
|
||||
*/
|
||||
void viewport_entrance_paint_setup(uint8 direction, int height, rct_map_element* map_element){
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8_t) = VIEWPORT_INTERACTION_ITEM_LABEL;
|
||||
|
||||
|
@ -1623,7 +1643,10 @@ void viewport_entrance_paint_setup(uint8 direction, int height, rct_map_element*
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006B9CC4 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B9CC4
|
||||
*/
|
||||
void viewport_banner_paint_setup(uint8 direction, int height, rct_map_element* map_element)
|
||||
{
|
||||
rct_drawpixelinfo* dpi = RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo*);
|
||||
|
@ -2205,7 +2228,7 @@ static void draw_pixel_info_crop_by_zoom(rct_drawpixelinfo *dpi)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2:0x006860C3
|
||||
* rct2: 0x006860C3
|
||||
*/
|
||||
static void viewport_draw_money_effects()
|
||||
{
|
||||
|
@ -2234,7 +2257,7 @@ static void viewport_draw_money_effects()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2:0x00685CBF
|
||||
* rct2: 0x00685CBF
|
||||
* eax: left
|
||||
* ebx: top
|
||||
* edx: right
|
||||
|
@ -2520,7 +2543,7 @@ void hide_construction_rights()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CB70A
|
||||
* rct2: 0x006CB70A
|
||||
*/
|
||||
void viewport_set_visibility(uint8 mode)
|
||||
{
|
||||
|
@ -2567,7 +2590,7 @@ void viewport_set_visibility(uint8 mode)
|
|||
|
||||
/**
|
||||
* Stores some info about the element pointed at, if requested for this particular type through the interaction mask.
|
||||
* rct2: 0x00688697
|
||||
* rct2: 0x00688697
|
||||
*/
|
||||
void store_interaction_info(paint_struct *ps)
|
||||
{
|
||||
|
@ -2774,10 +2797,10 @@ rct_viewport *viewport_find_from_point(int screenX, int screenY)
|
|||
/**
|
||||
*
|
||||
* rct2: 0x00688972
|
||||
* In:
|
||||
* In:
|
||||
* screen_x: eax
|
||||
* screen_y: ebx
|
||||
* Out:
|
||||
* Out:
|
||||
* x: ax
|
||||
* y: bx
|
||||
* map_element: edx ?
|
||||
|
|
|
@ -1021,6 +1021,7 @@ int widget_is_active_tool(rct_window *w, int widgetIndex)
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E9F92
|
||||
* eax: x / output_x
|
||||
* ebx: y / output_y
|
||||
|
|
|
@ -753,7 +753,7 @@ rct_window *window_find_by_number(rct_windowclass cls, rct_windownumber number)
|
|||
}
|
||||
|
||||
/**
|
||||
* Closes the top-most window
|
||||
* Closes the top-most window
|
||||
*
|
||||
* rct2: 0x006E403C
|
||||
*/
|
||||
|
@ -776,7 +776,7 @@ void window_close_top()
|
|||
}
|
||||
|
||||
/**
|
||||
* Closes all open windows
|
||||
* Closes all open windows
|
||||
*
|
||||
* rct2: 0x006EE927
|
||||
*/
|
||||
|
@ -922,8 +922,8 @@ void window_invalidate_by_number(rct_windowclass cls, rct_windownumber number)
|
|||
}
|
||||
|
||||
/**
|
||||
* Invalidates all windows.
|
||||
*/
|
||||
* Invalidates all windows.
|
||||
*/
|
||||
void window_invalidate_all()
|
||||
{
|
||||
rct_window* w;
|
||||
|
@ -1157,7 +1157,7 @@ rct_window *window_bring_to_front_by_number(rct_windowclass cls, rct_windownumbe
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006EE65A
|
||||
* rct2: 0x006EE65A
|
||||
*/
|
||||
void window_push_others_right(rct_window* window)
|
||||
{
|
||||
|
@ -1247,8 +1247,7 @@ rct_window *window_get_main()
|
|||
|
||||
/**
|
||||
* Based on
|
||||
* rct2: 0x696ee9 & 0x66842F & 0x006AF3B3
|
||||
*
|
||||
* rct2: 0x696ee9, 0x66842F, 0x006AF3B3
|
||||
*/
|
||||
void window_scroll_to_viewport(rct_window *w)
|
||||
{
|
||||
|
@ -1364,7 +1363,7 @@ void sub_688956()
|
|||
/**
|
||||
*
|
||||
* rct2: 0x0068881A
|
||||
* direction can be used to alter the camera rotation:
|
||||
* direction can be used to alter the camera rotation:
|
||||
* 1: clockwise
|
||||
* -1: anti-clockwise
|
||||
*/
|
||||
|
@ -2001,9 +2000,9 @@ void window_event_scroll_paint_call(rct_window *w, rct_drawpixelinfo *dpi, int s
|
|||
}
|
||||
|
||||
/**
|
||||
* Bubbles an item one position up in the window list. This is done by swapping
|
||||
* the two locations.
|
||||
* rct2: New function not from rct2
|
||||
* Bubbles an item one position up in the window list.
|
||||
* This is done by swapping the two locations.
|
||||
*/
|
||||
void window_bubble_list_item(rct_window* w, int item_position){
|
||||
char swap = w->list_item_positions[item_position];
|
||||
|
@ -2011,7 +2010,9 @@ void window_bubble_list_item(rct_window* w, int item_position){
|
|||
w->list_item_positions[item_position + 1] = swap;
|
||||
}
|
||||
|
||||
/* rct2: 0x006ED710
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ED710
|
||||
* Called after a window resize to move windows if they
|
||||
* are going to be out of sight.
|
||||
*/
|
||||
|
|
|
@ -744,6 +744,7 @@ void format_string_to_upper(utf8 *dest, rct_string_id format, void *args)
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E37F7
|
||||
* error (eax)
|
||||
* format (bx)
|
||||
|
@ -799,7 +800,7 @@ void generate_string_file()
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns a pointer to the null terminator of the given UTF-8 string.
|
||||
* Returns a pointer to the null terminator of the given UTF-8 string.
|
||||
*/
|
||||
utf8 *get_string_end(const utf8 *text)
|
||||
{
|
||||
|
@ -814,7 +815,7 @@ utf8 *get_string_end(const utf8 *text)
|
|||
}
|
||||
|
||||
/**
|
||||
* Return the number of bytes (including the null terminator) in the given UTF-8 string.
|
||||
* Return the number of bytes (including the null terminator) in the given UTF-8 string.
|
||||
*/
|
||||
size_t get_string_size(const utf8 *text)
|
||||
{
|
||||
|
@ -822,7 +823,7 @@ size_t get_string_size(const utf8 *text)
|
|||
}
|
||||
|
||||
/**
|
||||
* Return the number of visible characters (excludes format codes) in the given UTF-8 string.
|
||||
* Return the number of visible characters (excludes format codes) in the given UTF-8 string.
|
||||
*/
|
||||
int get_string_length(const utf8 *text)
|
||||
{
|
||||
|
|
|
@ -52,10 +52,10 @@ money32 *gParkValueHistory = RCT2_ADDRESS(RCT2_ADDRESS_PARK_VALUE_HISTORY, money
|
|||
|
||||
/**
|
||||
* Pay an amount of money.
|
||||
* rct2: 0x069C674
|
||||
* rct2: 0x069C674
|
||||
* @param amount (eax)
|
||||
* @param type passed via global var 0x0141F56C, our type is that var/4.
|
||||
**/
|
||||
*/
|
||||
void finance_payment(money32 amount, rct_expenditure_type type)
|
||||
{
|
||||
money32 cur_money = DECRYPT_MONEY(RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONEY_ENCRYPTED, sint32));
|
||||
|
@ -74,8 +74,8 @@ void finance_payment(money32 amount, rct_expenditure_type type)
|
|||
|
||||
/**
|
||||
* Pays the wages of all active staff members in the park.
|
||||
* rct2: 0x006C18A9
|
||||
**/
|
||||
* rct2: 0x006C18A9
|
||||
*/
|
||||
void finance_pay_wages()
|
||||
{
|
||||
rct_peep* peep;
|
||||
|
@ -105,8 +105,8 @@ void finance_pay_research()
|
|||
|
||||
/**
|
||||
* Pay interest on current loans.
|
||||
* rct2: 0x0069E092
|
||||
**/
|
||||
* rct2: 0x0069E092
|
||||
*/
|
||||
void finance_pay_interest()
|
||||
{
|
||||
money32 current_loan = RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_LOAN, sint32);
|
||||
|
@ -121,7 +121,7 @@ void finance_pay_interest()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AC885
|
||||
* rct2: 0x006AC885
|
||||
*/
|
||||
void finance_pay_ride_upkeep()
|
||||
{
|
||||
|
|
|
@ -67,10 +67,10 @@ int marketing_get_campaign_guest_generation_probability(int campaign)
|
|||
return probability;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Update status of marketing campaigns and send produce a news item when they have finished.
|
||||
* rct2: 0x0069E0C1
|
||||
**/
|
||||
* rct2: 0x0069E0C1
|
||||
*/
|
||||
void marketing_update()
|
||||
{
|
||||
for (int campaign = 0; campaign < ADVERTISING_CAMPAIGN_COUNT; campaign++) {
|
||||
|
@ -144,7 +144,7 @@ void marketing_start_campaign(int type, int rideOrItem, int numWeeks)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069E73C
|
||||
* rct2: 0x0069E73C
|
||||
*/
|
||||
void game_command_start_campaign(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp)
|
||||
{
|
||||
|
|
|
@ -291,12 +291,13 @@ void news_item_get_subject_location(int type, int subject, int *x, int *y, int *
|
|||
|
||||
|
||||
/**
|
||||
* rct2: 0x0066DF55
|
||||
*
|
||||
* rct2: 0x0066DF55
|
||||
*
|
||||
* @param a (al)
|
||||
* @param string_id (ebx)
|
||||
* @param c (ecx)
|
||||
**/
|
||||
*/
|
||||
void news_item_add_to_queue(uint8 type, rct_string_id string_id, uint32 assoc)
|
||||
{
|
||||
utf8 *buffer = (char*)0x0141EF68;
|
||||
|
@ -338,9 +339,9 @@ void news_item_add_to_queue_raw(uint8 type, const utf8 *text, uint32 assoc)
|
|||
/**
|
||||
* Opens the window/tab for the subject of the news item
|
||||
*
|
||||
* rct2: 0x0066EBE6
|
||||
* rct2: 0x0066EBE6
|
||||
*
|
||||
**/
|
||||
*/
|
||||
void news_item_open_subject(int type, int subject)
|
||||
{
|
||||
rct_peep* peep;
|
||||
|
|
|
@ -441,7 +441,10 @@ static void research_insert_researched(int entryIndex, int category)
|
|||
} while (entryIndex != (researchItem++)->entryIndex);
|
||||
}
|
||||
|
||||
/* rct2: 0x006857CF */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006857CF
|
||||
*/
|
||||
void research_remove(sint32 entryIndex){
|
||||
for (rct_research_item *researchItem = gResearchItems; researchItem->entryIndex != RESEARCHED_ITEMS_END; researchItem++){
|
||||
if (researchItem->entryIndex == entryIndex){
|
||||
|
|
48
src/object.c
48
src/object.c
|
@ -175,9 +175,11 @@ int object_load(int groupIndex, rct_object_entry *entry, int* chunkSize)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/** rct2: 0x006a9f42
|
||||
* ebx : file
|
||||
* ebp : entry
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006a9f42
|
||||
* ebx: file
|
||||
* ebp: entry
|
||||
*/
|
||||
int write_object_file(SDL_RWops *rw, rct_object_entry* entry){
|
||||
uint8 entryGroupIndex = 0, type = 0;
|
||||
|
@ -396,7 +398,10 @@ int object_calculate_checksum(const rct_object_entry *entry, const uint8 *data,
|
|||
return checksum;
|
||||
}
|
||||
|
||||
/* rct2: 0x006A9ED1 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006A9ED1
|
||||
*/
|
||||
int object_chunk_load_image_directory(uint8_t** chunk)
|
||||
{
|
||||
int image_start_no = RCT2_GLOBAL(RCT2_ADDRESS_TOTAL_NO_IMAGES, uint32_t);
|
||||
|
@ -428,7 +433,10 @@ int object_chunk_load_image_directory(uint8_t** chunk)
|
|||
return image_start_no;
|
||||
}
|
||||
|
||||
/* rct2: 0x006DE83E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006DE83E
|
||||
*/
|
||||
int paint_ride_entry(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dpi, int esi, int ebp)
|
||||
{
|
||||
if ((flags & 0xFF) == 0){
|
||||
|
@ -776,7 +784,10 @@ int paint_ride_entry(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dp
|
|||
return flags;
|
||||
}
|
||||
|
||||
/* rct2: 0x006E3466 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E3466
|
||||
*/
|
||||
int paint_small_scenery(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dpi, int esi, int ebp)
|
||||
{
|
||||
if ((flags & 0xFF) == 0){
|
||||
|
@ -882,7 +893,10 @@ int paint_small_scenery(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo*
|
|||
return flags;
|
||||
}
|
||||
|
||||
/* rct2: 0x006B92A7 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B92A7
|
||||
*/
|
||||
int paint_large_scenery(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dpi, int esi, int ebp)
|
||||
{
|
||||
if ((flags & 0xFF) == 0){
|
||||
|
@ -971,7 +985,10 @@ int paint_large_scenery(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo*
|
|||
return flags;
|
||||
}
|
||||
|
||||
/* rct2: 0x006E5A25 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E5A25
|
||||
*/
|
||||
int paint_wall(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dpi, int esi, int ebp)
|
||||
{
|
||||
if ((flags & 0xFF) == 0){
|
||||
|
@ -1052,7 +1069,10 @@ int paint_wall(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dpi, int
|
|||
return flags;
|
||||
}
|
||||
|
||||
/* rct2: 0x006BA84E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BA84E
|
||||
*/
|
||||
int paint_banner(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dpi, int esi, int ebp)
|
||||
{
|
||||
if ((flags & 0xFF) == 0){
|
||||
|
@ -1174,7 +1194,10 @@ int paint_path_entry(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dp
|
|||
return flags;
|
||||
}
|
||||
|
||||
/* rct2: 0x006A86E2 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006A86E2
|
||||
*/
|
||||
int paint_path_bit(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dpi, int esi, int ebp)
|
||||
{
|
||||
if ((flags & 0xFF) == 0){
|
||||
|
@ -1233,7 +1256,10 @@ int paint_path_bit(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dpi,
|
|||
return flags;
|
||||
}
|
||||
|
||||
/* rct2: 0x006B93AA */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B93AA
|
||||
*/
|
||||
int paint_scenery_set(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dpi, int esi, int ebp)
|
||||
{
|
||||
if ((flags & 0xFF) == 0){
|
||||
|
|
|
@ -189,7 +189,10 @@ static void object_list_examine()
|
|||
object_list_create_hash_table();
|
||||
}
|
||||
|
||||
/* rct2: 0x006A9FC0 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006A9FC0
|
||||
*/
|
||||
void reset_loaded_objects()
|
||||
{
|
||||
reset_type_to_ride_entry_index_map();
|
||||
|
@ -461,7 +464,10 @@ int check_object_entry(rct_object_entry *entry)
|
|||
return (0xFFFFFFFF & dwords[0] & dwords[1] & dwords[2] & dwords[3]) + 1 != 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x006AB344 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AB344
|
||||
*/
|
||||
void object_create_identifier_name(char* string_buffer, const rct_object_entry* object){
|
||||
for (uint8 i = 0; i < 8; ++i){
|
||||
if (object->name[i] != ' '){
|
||||
|
@ -485,7 +491,10 @@ void object_create_identifier_name(char* string_buffer, const rct_object_entry*
|
|||
*string_buffer++ = '\0';
|
||||
}
|
||||
|
||||
/* rct2: 0x675827 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x675827
|
||||
*/
|
||||
void set_load_objects_fail_reason(){
|
||||
rct_object_entry* object = RCT2_ADDRESS(0x13CE952, rct_object_entry);
|
||||
int expansion = (object->flags & 0xFF) >> 4;
|
||||
|
@ -600,9 +609,9 @@ uint32 object_get_hash_code(rct_object_entry *object)
|
|||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
hash = ((hash << 5) + hash) + object->name[i];
|
||||
hash = ((hash << 5) + hash) + object->name[i];
|
||||
|
||||
return hash;
|
||||
return hash;
|
||||
}
|
||||
|
||||
void object_list_create_hash_table()
|
||||
|
@ -637,7 +646,9 @@ void object_list_create_hash_table()
|
|||
}
|
||||
}
|
||||
|
||||
/* 0x006A9DA2
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006A9DA2
|
||||
* bl = entry_index
|
||||
* ecx = entry_type
|
||||
*/
|
||||
|
@ -704,7 +715,8 @@ rct_string_id object_get_name_string_id(rct_object_entry *entry, const void *chu
|
|||
}
|
||||
}
|
||||
|
||||
/* Installs an object_entry at the desired installed_entry address
|
||||
/**
|
||||
* Installs an object_entry at the desired installed_entry address
|
||||
* Returns the size of the new entry. Will return 0 on failure.
|
||||
*/
|
||||
static uint32 install_object_entry(rct_object_entry* entry, rct_object_entry* installed_entry, const char* path, rct_object_filters* filter){
|
||||
|
|
409
src/peep/peep.c
409
src/peep/peep.c
|
@ -171,7 +171,10 @@ void peep_update_all()
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x0069BC9A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069BC9A
|
||||
*/
|
||||
static uint8 peep_assess_surroundings(sint16 center_x, sint16 center_y, sint16 center_z){
|
||||
if ((map_element_height(center_x, center_y) & 0xFFFF) > center_z)
|
||||
return 0;
|
||||
|
@ -277,7 +280,10 @@ static uint8 peep_assess_surroundings(sint16 center_x, sint16 center_y, sint16 c
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x0068F9A9*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0068F9A9
|
||||
*/
|
||||
static void peep_update_hunger(rct_peep *peep){
|
||||
if (peep->hunger >= 3){
|
||||
peep->hunger -= 2;
|
||||
|
@ -286,7 +292,10 @@ static void peep_update_hunger(rct_peep *peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x0068F93E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0068F93E
|
||||
*/
|
||||
static void peep_leave_park(rct_peep* peep){
|
||||
peep->guest_heading_to_ride_id = 0xFF;
|
||||
if (peep->flags & PEEP_FLAGS_LEAVING_PARK){
|
||||
|
@ -876,7 +885,9 @@ static void peep_state_reset(rct_peep* peep){
|
|||
sub_693BE5(peep, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x69C308
|
||||
/**
|
||||
*
|
||||
* rct2: 0x69C308
|
||||
* Check if lost.
|
||||
*/
|
||||
void peep_check_if_lost(rct_peep* peep){
|
||||
|
@ -895,7 +906,9 @@ void peep_check_if_lost(rct_peep* peep){
|
|||
peep->happiness_growth_rate = max(peep->happiness_growth_rate - 30, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x69C26B
|
||||
/**
|
||||
*
|
||||
* rct2: 0x69C26B
|
||||
* Check if cant find ride.
|
||||
*/
|
||||
void peep_check_cant_find_ride(rct_peep* peep){
|
||||
|
@ -922,7 +935,9 @@ void peep_check_cant_find_ride(rct_peep* peep){
|
|||
widget_invalidate_by_number(WC_PEEP, peep->sprite_index, 12);
|
||||
}
|
||||
|
||||
/* rct2: 0x69C2D0
|
||||
/**
|
||||
*
|
||||
* rct2: 0x69C2D0
|
||||
* Check if cant find exit.
|
||||
*/
|
||||
void peep_check_cant_find_exit(rct_peep* peep){
|
||||
|
@ -939,7 +954,9 @@ void peep_check_cant_find_exit(rct_peep* peep){
|
|||
peep->peep_is_lost_countdown = 90;
|
||||
}
|
||||
|
||||
/* rct2: 0x6939EB
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6939EB
|
||||
* Also used to move peeps to the correct position to
|
||||
* start an action. Returns 1 if the correct destination
|
||||
* has not yet been reached. xy_distance is how close the
|
||||
|
@ -1051,7 +1068,7 @@ void peep_decrement_num_riders(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* Part of 0x0069B8CC rct2:0x0069BC31 */
|
||||
/* Part of 0x0069B8CC rct2: 0x0069BC31 */
|
||||
void set_sprite_type(rct_peep* peep, uint8 type){
|
||||
if (peep->sprite_type == type)return;
|
||||
|
||||
|
@ -1223,10 +1240,9 @@ void peep_update_sprite_type(rct_peep* peep)
|
|||
}
|
||||
|
||||
/**
|
||||
* Call after changing a peeps state to insure that all relevant windows update.
|
||||
* Note also increase ride count if on/entering a ride.
|
||||
* rct2: 0x0069A42F
|
||||
* Call after changing a peeps state to insure that
|
||||
* all relevant windows update. Note also increase ride
|
||||
* count if on/entering a ride.
|
||||
*/
|
||||
void peep_window_state_update(rct_peep* peep){
|
||||
|
||||
|
@ -1253,7 +1269,10 @@ void peep_window_state_update(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x0069A535*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069A535
|
||||
*/
|
||||
void peep_sprite_remove(rct_peep* peep){
|
||||
remove_peep_from_ride(peep);
|
||||
invalidate_sprite_2((rct_sprite*)peep);
|
||||
|
@ -1280,8 +1299,8 @@ void peep_sprite_remove(rct_peep* peep){
|
|||
sprite_remove((rct_sprite*)peep);
|
||||
}
|
||||
|
||||
/** New function removes peep from
|
||||
* park existance. Works with staff.
|
||||
/**
|
||||
* New function removes peep from park existance. Works with staff.
|
||||
*/
|
||||
void peep_remove(rct_peep* peep){
|
||||
if (peep->type == PEEP_TYPE_GUEST){
|
||||
|
@ -1297,8 +1316,8 @@ void peep_remove(rct_peep* peep){
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x690028
|
||||
* Falling and its subset drowning
|
||||
* rct2: 0x690028
|
||||
*/
|
||||
void peep_update_falling(rct_peep* peep){
|
||||
if (peep->action == PEEP_ACTION_DROWNING){
|
||||
|
@ -1409,7 +1428,8 @@ void peep_update_falling(rct_peep* peep){
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x00691677
|
||||
*
|
||||
* rct2: 0x00691677
|
||||
*/
|
||||
void peep_try_get_up_from_sitting(rct_peep* peep){
|
||||
// Eats all food first
|
||||
|
@ -1430,7 +1450,8 @@ void peep_try_get_up_from_sitting(rct_peep* peep){
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x0069152B
|
||||
*
|
||||
* rct2: 0x0069152B
|
||||
*/
|
||||
void peep_update_sitting(rct_peep* peep){
|
||||
if (peep->sub_state == 0){
|
||||
|
@ -1529,7 +1550,7 @@ void peep_update_sitting(rct_peep* peep){
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006966A9
|
||||
* rct2: 0x006966A9
|
||||
*/
|
||||
void remove_peep_from_queue(rct_peep* peep)
|
||||
{
|
||||
|
@ -1552,7 +1573,10 @@ void remove_peep_from_queue(rct_peep* peep)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00691C6E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00691C6E
|
||||
*/
|
||||
static rct_vehicle* peep_choose_car_from_ride(rct_peep* peep, rct_ride* ride, uint8* car_array, uint8 car_array_size){
|
||||
uint8 chosen_car = scenario_rand();
|
||||
if (RCT2_ADDRESS(RCT2_ADDRESS_RIDE_FLAGS, uint32)[ride->type * 2] & RIDE_TYPE_FLAG_HAS_G_FORCES
|
||||
|
@ -1574,7 +1598,10 @@ static rct_vehicle* peep_choose_car_from_ride(rct_peep* peep, rct_ride* ride, ui
|
|||
return vehicle;
|
||||
}
|
||||
|
||||
/* rct2: 0x00691CD1 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00691CD1
|
||||
*/
|
||||
static void peep_choose_seat_from_car(rct_peep* peep, rct_ride* ride, rct_vehicle* vehicle){
|
||||
uint8 chosen_seat = vehicle->next_free_seat;
|
||||
|
||||
|
@ -1593,7 +1620,10 @@ static void peep_choose_seat_from_car(rct_peep* peep, rct_ride* ride, rct_vehicl
|
|||
vehicle->peep_tshirt_colours[peep->current_seat] = peep->tshirt_colour;
|
||||
}
|
||||
|
||||
/* rct2: 0x00691D27 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00691D27
|
||||
*/
|
||||
static void peep_go_to_ride_entrance(rct_peep* peep, rct_ride* ride){
|
||||
int x = ride->entrances[peep->current_ride_station] & 0xFF;
|
||||
int y = ride->entrances[peep->current_ride_station] >> 8;
|
||||
|
@ -1639,7 +1669,10 @@ static void peep_go_to_ride_entrance(rct_peep* peep, rct_ride* ride){
|
|||
remove_peep_from_queue(peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x00691A3B */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00691A3B
|
||||
*/
|
||||
static void peep_update_ride_sub_state_0(rct_peep* peep){
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
||||
|
@ -1801,7 +1834,10 @@ static void peep_update_ride_sub_state_0(rct_peep* peep){
|
|||
peep_go_to_ride_entrance(peep, ride);
|
||||
}
|
||||
|
||||
/* rct2: 0x006921D3 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006921D3
|
||||
*/
|
||||
void peep_update_ride_sub_state_1(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
|
||||
|
@ -2000,7 +2036,10 @@ void peep_update_ride_sub_state_1(rct_peep* peep){
|
|||
return;
|
||||
}
|
||||
|
||||
/* rct2: 0x0069321D */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069321D
|
||||
*/
|
||||
static void peep_go_to_ride_exit(rct_peep* peep, rct_ride* ride, sint16 x, sint16 y, sint16 z, uint8 exit_direction){
|
||||
z += RCT2_ADDRESS(0x0097D21C, uint8)[ride->type * 8];
|
||||
|
||||
|
@ -2041,7 +2080,10 @@ static void peep_go_to_ride_exit(rct_peep* peep, rct_ride* ride, sint16 x, sint1
|
|||
return;
|
||||
}
|
||||
|
||||
/* rct2: 0x006920B4 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006920B4
|
||||
*/
|
||||
static void peep_update_ride_sub_state_2_enter_ride(rct_peep* peep, rct_ride* ride){
|
||||
if (ride->price != 0){
|
||||
if ((peep->item_standard_flags & PEEP_ITEM_VOUCHER) &&
|
||||
|
@ -2091,7 +2133,10 @@ static void peep_update_ride_sub_state_2_enter_ride(rct_peep* peep, rct_ride* ri
|
|||
peep_update_ride_sub_state_1(peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x00691FD4 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00691FD4
|
||||
*/
|
||||
static void peep_update_ride_sub_state_2_rejoin_queue(rct_peep* peep, rct_ride* ride){
|
||||
sint16 x, y, z;
|
||||
x = ride->entrances[peep->current_ride_station] & 0xFF;
|
||||
|
@ -2133,7 +2178,9 @@ static void peep_update_ride_sub_state_2_rejoin_queue(rct_peep* peep, rct_ride*
|
|||
|
||||
queue_peep->next_in_queue = peep->sprite_index;
|
||||
}
|
||||
/* rct2: 0x00691E42
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00691E42
|
||||
* Note: Before this was the entry
|
||||
* point for sub state 1 and 3. The
|
||||
* check has been removed that would
|
||||
|
@ -2279,7 +2326,10 @@ static void peep_update_ride_sub_state_5(rct_peep* peep){
|
|||
peep_on_enter_or_exit_ride(peep, peep->current_ride, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x00693028*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00693028
|
||||
*/
|
||||
void peep_update_ride_sub_state_7(rct_peep* peep){
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
||||
|
@ -2466,7 +2516,10 @@ void peep_update_ride_sub_state_7(rct_peep* peep){
|
|||
peep->sub_state = 13;
|
||||
}
|
||||
|
||||
/* rct2: 0x0069376A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069376A
|
||||
*/
|
||||
static void peep_update_ride_prepare_for_state_9(rct_peep* peep){
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
||||
|
@ -2506,7 +2559,10 @@ static void peep_update_ride_prepare_for_state_9(rct_peep* peep){
|
|||
peep->sub_state = 9;
|
||||
}
|
||||
|
||||
/* rct2: 0x0069374F */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069374F
|
||||
*/
|
||||
static void peep_update_ride_sub_state_8(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
if (peep_update_action(&x, &y, &xy_distance, peep)){
|
||||
|
@ -2519,7 +2575,10 @@ static void peep_update_ride_sub_state_8(rct_peep* peep){
|
|||
peep_update_ride_prepare_for_state_9(peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x0069382E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069382E
|
||||
*/
|
||||
static void peep_update_ride_sub_state_9(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
@ -2550,7 +2609,10 @@ static void peep_update_ride_sub_state_9(rct_peep* peep){
|
|||
peep->sub_state = 18;
|
||||
}
|
||||
|
||||
/* rct2: 0x006926AD */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006926AD
|
||||
*/
|
||||
static void peep_update_ride_sub_state_12(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
@ -2611,7 +2673,10 @@ static void peep_update_ride_sub_state_12(rct_peep* peep){
|
|||
peep->destination_y = y;
|
||||
}
|
||||
|
||||
/* rct2: 0x0069357D */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069357D
|
||||
*/
|
||||
static void peep_update_ride_sub_state_13(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
@ -2708,7 +2773,10 @@ static void peep_update_ride_sub_state_13(rct_peep* peep){
|
|||
peep->destination_y = y;
|
||||
}
|
||||
|
||||
/* rct2: 0x006927B3 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006927B3
|
||||
*/
|
||||
static void peep_update_ride_sub_state_14(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
@ -2781,7 +2849,10 @@ static void peep_update_ride_sub_state_14(rct_peep* peep){
|
|||
peep->destination_y = y;
|
||||
}
|
||||
|
||||
/* rct2: 0x00692D83 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00692D83
|
||||
*/
|
||||
static void peep_update_ride_sub_state_15(rct_peep* peep){
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
||||
|
@ -2865,7 +2936,10 @@ static void peep_update_ride_sub_state_15(rct_peep* peep){
|
|||
peep->sub_state = 14;
|
||||
}
|
||||
|
||||
/* rct2: 0x00692C6B */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00692C6B
|
||||
*/
|
||||
static void peep_update_ride_sub_state_16(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
|
||||
|
@ -2931,7 +3005,10 @@ static void peep_update_ride_sub_state_16(rct_peep* peep){
|
|||
peep->destination_y = y;
|
||||
}
|
||||
|
||||
/* rct2: 0x00692A83 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00692A83
|
||||
*/
|
||||
static void peep_update_ride_sub_state_17(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
|
||||
|
@ -3069,7 +3146,10 @@ static void peep_update_ride_sub_state_17(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006938D2 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006938D2
|
||||
*/
|
||||
static void peep_update_ride_sub_state_18(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
@ -3119,7 +3199,10 @@ static void peep_update_ride_sub_state_18(rct_peep* peep){
|
|||
} while (!map_element_is_last_for_tile(mapElement++));
|
||||
}
|
||||
|
||||
/* rct2: 0x0069299C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069299C
|
||||
*/
|
||||
static void peep_update_ride_sub_state_19(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
|
||||
|
@ -3133,7 +3216,10 @@ static void peep_update_ride_sub_state_19(rct_peep* peep){
|
|||
peep->sub_state++;
|
||||
}
|
||||
|
||||
/* rct2: 0x006929BB */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006929BB
|
||||
*/
|
||||
static void peep_update_ride_sub_state_20(rct_peep* peep){
|
||||
sint16 x, y;
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
@ -3181,7 +3267,10 @@ static void peep_update_ride_sub_state_20(rct_peep* peep){
|
|||
peep_stop_purchase_thought(peep, ride->type);
|
||||
}
|
||||
|
||||
/* rct2: 0x00692935 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00692935
|
||||
*/
|
||||
static void peep_update_ride_sub_state_21(rct_peep* peep){
|
||||
sint16 x, y, xy_distance;
|
||||
|
||||
|
@ -3209,7 +3298,9 @@ static void peep_update_ride_sub_state_21(rct_peep* peep){
|
|||
ride_update_satisfaction(ride, peep->happiness / 64);
|
||||
}
|
||||
|
||||
/* rct2: 0x691A30
|
||||
/**
|
||||
*
|
||||
* rct2: 0x691A30
|
||||
* Used by entering_ride and queueing_front */
|
||||
static void peep_update_ride(rct_peep* peep){
|
||||
switch (peep->sub_state){
|
||||
|
@ -3293,7 +3384,9 @@ static void peep_update_ride(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006C0E8B
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C0E8B
|
||||
* Also used by inspecting.
|
||||
*/
|
||||
static void peep_update_fixing(int steps, rct_peep* peep){
|
||||
|
@ -3311,7 +3404,8 @@ static void peep_update_fixing(int steps, rct_peep* peep){
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x69185D
|
||||
*
|
||||
* rct2: 0x69185D
|
||||
*/
|
||||
static void peep_update_queuing(rct_peep* peep){
|
||||
if (!sub_68F3AE(peep)){
|
||||
|
@ -3412,7 +3506,10 @@ static void peep_update_queuing(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006BF567 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BF567
|
||||
*/
|
||||
static void peep_update_mowing(rct_peep* peep){
|
||||
peep->var_E2 = 0;
|
||||
if (!sub_68F3AE(peep))return;
|
||||
|
@ -3456,7 +3553,10 @@ static void peep_update_mowing(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006BF7E6 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BF7E6
|
||||
*/
|
||||
static void peep_update_watering(rct_peep* peep){
|
||||
peep->var_E2 = 0;
|
||||
if (peep->sub_state == 0){
|
||||
|
@ -3508,7 +3608,10 @@ static void peep_update_watering(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006BF6C9 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BF6C9
|
||||
*/
|
||||
static void peep_update_emptying_bin(rct_peep* peep){
|
||||
peep->var_E2 = 0;
|
||||
|
||||
|
@ -3576,7 +3679,10 @@ static void peep_update_emptying_bin(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6BF641 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BF641
|
||||
*/
|
||||
static void peep_update_sweeping(rct_peep* peep){
|
||||
peep->var_E2 = 0;
|
||||
if (!sub_68F3AE(peep))return;
|
||||
|
@ -3609,7 +3715,10 @@ static void peep_update_sweeping(rct_peep* peep){
|
|||
peep_state_reset(peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x6902A2 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6902A2
|
||||
*/
|
||||
static void peep_update_1(rct_peep* peep){
|
||||
if (!sub_68F3AE(peep))return;
|
||||
|
||||
|
@ -3630,7 +3739,8 @@ static void peep_update_1(rct_peep* peep){
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x690009
|
||||
*
|
||||
* rct2: 0x690009
|
||||
*/
|
||||
static void peep_update_picked(rct_peep* peep){
|
||||
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_TICKS, uint32) & 0x1F) return;
|
||||
|
@ -3640,7 +3750,10 @@ static void peep_update_picked(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6914CD */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6914CD
|
||||
*/
|
||||
static void peep_update_leaving_park(rct_peep* peep){
|
||||
if (peep->var_37 != 0){
|
||||
sub_693C9E(peep);
|
||||
|
@ -3670,7 +3783,10 @@ static void peep_update_leaving_park(rct_peep* peep){
|
|||
peep_sprite_remove(peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x6916D6 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6916D6
|
||||
*/
|
||||
static void peep_update_watching(rct_peep* peep){
|
||||
if (peep->sub_state == 0){
|
||||
if (!sub_68F3AE(peep))return;
|
||||
|
@ -3785,7 +3901,10 @@ static void peep_update_entering_park(rct_peep* peep){
|
|||
window_invalidate_by_class(WC_GUEST_LIST);
|
||||
}
|
||||
|
||||
/* rct2: 0x00690582*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00690582
|
||||
*/
|
||||
static int peep_update_walking_find_bench(rct_peep* peep){
|
||||
if (!peep_should_find_bench(peep))return 0;
|
||||
|
||||
|
@ -3928,7 +4047,10 @@ static int peep_update_walking_find_bin(rct_peep* peep){
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x00690848*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00690848
|
||||
*/
|
||||
static void peep_update_walking_break_scenery(rct_peep* peep){
|
||||
if(gConfigCheat.disable_vandalism)
|
||||
return;
|
||||
|
@ -3998,7 +4120,10 @@ static void peep_update_walking_break_scenery(rct_peep* peep){
|
|||
return;
|
||||
}
|
||||
|
||||
/* rct2: 0x006912A3 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006912A3
|
||||
*/
|
||||
static void peep_update_buying(rct_peep* peep)
|
||||
{
|
||||
if (!sub_68F3AE(peep))return;
|
||||
|
@ -4088,7 +4213,10 @@ static void peep_update_buying(rct_peep* peep)
|
|||
return;
|
||||
}
|
||||
|
||||
/* rct2: 0x00691089 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00691089
|
||||
*/
|
||||
static void peep_update_using_bin(rct_peep* peep){
|
||||
if (peep->sub_state == 0){
|
||||
if (!sub_68F3AE(peep))return;
|
||||
|
@ -4217,7 +4345,10 @@ static void peep_update_using_bin(rct_peep* peep){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006C16D7 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C16D7
|
||||
*/
|
||||
static void peep_update_heading_to_inspect(rct_peep* peep){
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
||||
|
@ -4323,7 +4454,10 @@ static void peep_update_heading_to_inspect(rct_peep* peep){
|
|||
invalidate_sprite_2((rct_sprite*)peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x006C0CB8 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C0CB8
|
||||
*/
|
||||
static void peep_update_answering(rct_peep* peep){
|
||||
rct_ride* ride = GET_RIDE(peep->current_ride);
|
||||
|
||||
|
@ -4433,7 +4567,10 @@ static void peep_update_answering(rct_peep* peep){
|
|||
invalidate_sprite_2((rct_sprite*)peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x006BF483 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BF483
|
||||
*/
|
||||
static int peep_update_patrolling_find_watering(rct_peep* peep){
|
||||
if (!(peep->staff_orders & STAFF_ORDERS_WATER_FLOWERS))
|
||||
return 0;
|
||||
|
@ -4490,7 +4627,10 @@ static int peep_update_patrolling_find_watering(rct_peep* peep){
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x006BF3A1 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BF3A1
|
||||
*/
|
||||
static int peep_update_patrolling_find_bin(rct_peep* peep){
|
||||
if (!(peep->staff_orders & STAFF_ORDERS_EMPTY_BINS))
|
||||
return 0;
|
||||
|
@ -4551,7 +4691,10 @@ static int peep_update_patrolling_find_bin(rct_peep* peep){
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x006BF322 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BF322
|
||||
*/
|
||||
static int peep_update_patrolling_find_grass(rct_peep* peep){
|
||||
if (!(peep->staff_orders & STAFF_ORDERS_MOWING))
|
||||
return 0;
|
||||
|
@ -4578,7 +4721,10 @@ static int peep_update_patrolling_find_grass(rct_peep* peep){
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x006BF295 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BF295
|
||||
*/
|
||||
static int peep_update_patrolling_find_sweeping(rct_peep* peep){
|
||||
if (!(peep->staff_orders & STAFF_ORDERS_SWEEPING))
|
||||
return 0;
|
||||
|
@ -4610,7 +4756,10 @@ static int peep_update_patrolling_find_sweeping(rct_peep* peep){
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x006BF1FD */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BF1FD
|
||||
*/
|
||||
static void peep_update_patrolling(rct_peep* peep){
|
||||
|
||||
if (!sub_68F3AE(peep))return;
|
||||
|
@ -4648,7 +4797,10 @@ static void peep_update_patrolling(rct_peep* peep){
|
|||
peep_update_patrolling_find_watering(peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x0069030A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069030A
|
||||
*/
|
||||
static void peep_update_walking(rct_peep* peep){
|
||||
if (!sub_68F3AE(peep))return;
|
||||
|
||||
|
@ -5038,8 +5190,8 @@ static void peep_update(rct_peep *peep)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069BF41
|
||||
**/
|
||||
* rct2: 0x0069BF41
|
||||
*/
|
||||
void peep_problem_warnings_update()
|
||||
{
|
||||
rct_peep* peep;
|
||||
|
@ -5604,7 +5756,8 @@ void get_arguments_from_thought(rct_peep_thought thought, uint32* argument_1, ui
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x00698827
|
||||
*
|
||||
* rct2: 0x00698827
|
||||
* returns 1 on pickup (CF not set)
|
||||
*/
|
||||
int peep_can_be_picked_up(rct_peep* peep){
|
||||
|
@ -5690,7 +5843,7 @@ int get_face_sprite_offset(rct_peep *peep){
|
|||
}
|
||||
|
||||
/**
|
||||
* Function split into large and small sprite
|
||||
* Function split into large and small sprite
|
||||
* rct2: 0x00698721
|
||||
*/
|
||||
int get_peep_face_sprite_small(rct_peep *peep){
|
||||
|
@ -5698,7 +5851,7 @@ int get_peep_face_sprite_small(rct_peep *peep){
|
|||
}
|
||||
|
||||
/**
|
||||
* Function split into large and small sprite
|
||||
* Function split into large and small sprite
|
||||
* rct2: 0x00698721
|
||||
*/
|
||||
int get_peep_face_sprite_large(rct_peep *peep){
|
||||
|
@ -5790,7 +5943,8 @@ static int peep_has_food_extra_flag(rct_peep* peep){
|
|||
);
|
||||
}
|
||||
|
||||
/* To simplify check of 0x36BA3E0 and 0x11FF78
|
||||
/**
|
||||
* To simplify check of 0x36BA3E0 and 0x11FF78
|
||||
* returns 0 on no food.
|
||||
*/
|
||||
int peep_has_food(rct_peep* peep){
|
||||
|
@ -5815,7 +5969,8 @@ static int peep_has_drink_extra_flag(rct_peep* peep){
|
|||
);
|
||||
}
|
||||
|
||||
/* To simplify check of NOT(0x12BA3C0 and 0x118F48)
|
||||
/**
|
||||
* To simplify check of NOT(0x12BA3C0 and 0x118F48)
|
||||
* returns 0 on no food.
|
||||
*/
|
||||
static int peep_has_drink(rct_peep* peep){
|
||||
|
@ -5870,7 +6025,8 @@ static int peep_should_find_bench(rct_peep* peep){
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x699F5A
|
||||
*
|
||||
* rct2: 0x699F5A
|
||||
* al:thought_type
|
||||
* ah:thought_arguments
|
||||
* esi: peep
|
||||
|
@ -5912,7 +6068,9 @@ void peep_insert_new_thought(rct_peep *peep, uint8 thought_type, uint8 thought_a
|
|||
peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_THOUGHTS;
|
||||
}
|
||||
|
||||
/* rct2: 0x00699FE3
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00699FE3
|
||||
* Stops peeps that are having thoughts
|
||||
* such as "I'm hungry" after visiting a food shop.
|
||||
* Works for Thirst/Hungry/Low Money/Bathroom
|
||||
|
@ -6061,7 +6219,10 @@ static int peep_update_queue_position(rct_peep* peep){
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x00693EF2 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00693EF2
|
||||
*/
|
||||
static int peep_return_to_center_of_tile(rct_peep* peep){
|
||||
peep->var_78 ^= (1 << 1);
|
||||
peep->destination_x = (peep->x & 0xFFE0) + 16;
|
||||
|
@ -6070,7 +6231,10 @@ static int peep_return_to_center_of_tile(rct_peep* peep){
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x00693f2C*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00693f2C
|
||||
*/
|
||||
static int peep_interact_with_entrance(rct_peep* peep, sint16 x, sint16 y, rct_map_element* map_element){
|
||||
uint8 entranceType = map_element->properties.entrance.type;
|
||||
uint8 rideIndex = map_element->properties.entrance.ride_index;
|
||||
|
@ -6295,7 +6459,10 @@ static int peep_interact_with_entrance(rct_peep* peep, sint16 x, sint16 y, rct_m
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006946D8 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006946D8
|
||||
*/
|
||||
static int peep_footpath_move_forward(rct_peep* peep, sint16 x, sint16 y, rct_map_element* map_element, bool vandalism){
|
||||
peep->next_x = (x & 0xFFE0);
|
||||
peep->next_y = (y & 0xFFE0);
|
||||
|
@ -6428,7 +6595,10 @@ static int peep_footpath_move_forward(rct_peep* peep, sint16 x, sint16 y, rct_ma
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x0069455E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069455E
|
||||
*/
|
||||
static int peep_interact_with_path(rct_peep* peep, sint16 x, sint16 y, rct_map_element* map_element){
|
||||
|
||||
// 0x00F1AEE2
|
||||
|
@ -6521,7 +6691,10 @@ static int peep_interact_with_path(rct_peep* peep, sint16 x, sint16 y, rct_map_e
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00693F70 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00693F70
|
||||
*/
|
||||
static int peep_interact_with_shop(rct_peep* peep, sint16 x, sint16 y, rct_map_element* map_element){
|
||||
uint8 rideIndex = map_element->properties.track.ride_index;
|
||||
rct_ride* ride = GET_RIDE(rideIndex);
|
||||
|
@ -6590,7 +6763,10 @@ static int peep_interact_with_shop(rct_peep* peep, sint16 x, sint16 y, rct_map_e
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x0069524E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069524E
|
||||
*/
|
||||
static int peep_move_one_tile(uint8 direction, rct_peep* peep){
|
||||
assert(direction <= 3);
|
||||
sint16 x = peep->next_x;
|
||||
|
@ -6613,7 +6789,10 @@ static int peep_move_one_tile(uint8 direction, rct_peep* peep){
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x00694C41 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00694C41
|
||||
*/
|
||||
static int guest_surface_path_finding(rct_peep* peep){
|
||||
sint16 x = peep->next_x;
|
||||
sint16 y = peep->next_y;
|
||||
|
@ -6865,7 +7044,10 @@ static uint8 sub_6949A4(sint16 x, sint16 y, sint16 z, rct_map_element *inputMapE
|
|||
return loc_6949B9(x, y, z, inputMapElement, chosenDirection, outRideIndex, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x00695225 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00695225
|
||||
*/
|
||||
static int guest_path_find_aimless(rct_peep* peep, uint8 edges){
|
||||
if (scenario_rand() & 1){
|
||||
// If possible go straight
|
||||
|
@ -6882,7 +7064,10 @@ static int guest_path_find_aimless(rct_peep* peep, uint8 edges){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x0069A60A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069A60A
|
||||
*/
|
||||
uint8 sub_69A60A(rct_peep* peep){
|
||||
RCT2_GLOBAL(0x00F1AED8, uint32) = 0xC350;
|
||||
RCT2_GLOBAL(0x00F1AEDD, uint8) = 0x80;
|
||||
|
@ -6913,7 +7098,10 @@ uint8 sub_69A60A(rct_peep* peep){
|
|||
return 10;
|
||||
}
|
||||
|
||||
/* rct2: 0x0069A5F0 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069A5F0
|
||||
*/
|
||||
static int sub_69A5F0(sint16 x, sint16 y, sint16 z, rct_peep *peep, rct_map_element *map_element){
|
||||
//RCT2_GLOBAL(0x00F1AEDC, uint8) = sub_69A60A(peep);
|
||||
|
||||
|
@ -6978,7 +7166,10 @@ static int sub_69A5F0(sint16 x, sint16 y, sint16 z, rct_peep *peep, rct_map_elem
|
|||
return ebp;
|
||||
}
|
||||
|
||||
/* rct2: 0x006952C0 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006952C0
|
||||
*/
|
||||
static int guest_path_find_entering_park(rct_peep *peep, rct_map_element *map_element, uint8 edges){
|
||||
uint8 chosenEntrance = 0xFF;
|
||||
uint16 nearestDist = 0xFFFF;
|
||||
|
@ -7017,7 +7208,10 @@ static int guest_path_find_entering_park(rct_peep *peep, rct_map_element *map_el
|
|||
return peep_move_one_tile(chosenDirection, peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x0069536C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069536C
|
||||
*/
|
||||
static int guest_path_find_leaving_park(rct_peep *peep, rct_map_element *map_element, uint8 edges){
|
||||
rct2_peep_spawn* peepSpawn = &gPeepSpawns[0];
|
||||
// Peeps for whatever reason return to their original spawn point
|
||||
|
@ -7048,7 +7242,10 @@ static int guest_path_find_leaving_park(rct_peep *peep, rct_map_element *map_ele
|
|||
return peep_move_one_tile(direction, peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x00695161 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00695161
|
||||
*/
|
||||
static int guest_path_find_park_entrance(rct_peep* peep, rct_map_element *map_element, uint8 edges){
|
||||
uint8 entranceNum;
|
||||
|
||||
|
@ -7095,7 +7292,10 @@ static int guest_path_find_park_entrance(rct_peep* peep, rct_map_element *map_el
|
|||
return peep_move_one_tile(chosenDirection, peep);
|
||||
}
|
||||
|
||||
/* rct2: 0x006A72C5 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006A72C5
|
||||
*/
|
||||
static void get_ride_queue_end(sint16 *x, sint16 *y, sint16 *z, sint16 dist){
|
||||
rct_map_element *mapElement = map_get_first_element_at(*x / 32, *y / 32);
|
||||
|
||||
|
@ -7213,7 +7413,10 @@ static void get_ride_queue_end(sint16 *x, sint16 *y, sint16 *z, sint16 dist){
|
|||
*z = mapElement->base_height;
|
||||
}
|
||||
|
||||
/* rct2: 0x00694C35 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00694C35
|
||||
*/
|
||||
static int guest_path_finding(rct_peep* peep)
|
||||
{
|
||||
sint16 x, y, z;
|
||||
|
@ -7515,7 +7718,7 @@ static int sub_693C9E(rct_peep *peep)
|
|||
/**
|
||||
*
|
||||
* rct2: 0x0069926C
|
||||
* Expend type was previously an offset saved in 0x00F1AEC0
|
||||
* Expend type was previously an offset saved in 0x00F1AEC0
|
||||
*/
|
||||
static void peep_spend_money(rct_peep *peep, money16 *peep_expend_type, money32 amount)
|
||||
{
|
||||
|
@ -7558,10 +7761,9 @@ static bool peep_has_ridden_ride_type(rct_peep *peep, int rideType)
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Updates various peep stats upon entering a ride, as well as updating the
|
||||
* ride's satisfaction value.
|
||||
* rct2: 0x0069545B
|
||||
* Updates various peep stats upon entering a ride, as well as updating the
|
||||
* ride's satisfaction value.
|
||||
*/
|
||||
static void peep_on_enter_ride(rct_peep *peep, int rideIndex)
|
||||
{
|
||||
|
@ -7591,7 +7793,7 @@ static void peep_on_enter_ride(rct_peep *peep, int rideIndex)
|
|||
peep_update_ride_nausea_growth(peep, ride);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Check to see if the specified ride should become the peep's favourite.
|
||||
* For this, a "ride rating" is calculated based on the excitement of the ride and the peep's current happiness.
|
||||
* As this value cannot exceed 255, the happier the peep is, the more irrelevant the ride's excitement becomes.
|
||||
|
@ -7761,7 +7963,7 @@ static sint8 peep_calculate_ride_satisfaction(rct_peep *peep, rct_ride *ride)
|
|||
return satisfaction;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Update the nausea growth of the peep based on a ride. This is calculated based on:
|
||||
* - The nausea rating of the ride
|
||||
* - Their new happiness growth rate (the higher, the less nauseous)
|
||||
|
@ -8190,10 +8392,9 @@ static bool sub_690B99(rct_peep *peep, int edge, uint8 *rideToView, uint8 *rideS
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Gets the height including the bit depending on how far up the slope the peep
|
||||
* is.
|
||||
* rct2: 0x00694921
|
||||
* Gets the height including the bit depending
|
||||
* on how far up the slope the peep is.
|
||||
*/
|
||||
static int peep_get_height_on_slope(rct_peep *peep, int x, int y)
|
||||
{
|
||||
|
@ -8230,11 +8431,10 @@ static void peep_reset_ride_heading(rct_peep *peep)
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* This function is called whenever a peep is deciding whether or not they want
|
||||
* to go on a ride or visit a shop. They may be physically present at the
|
||||
* ride/shop, or they may just be thinking about it.
|
||||
* rct2: 0x006960AB
|
||||
*
|
||||
* This function is called whenever a peep is deciding whether or not they want to go on a ride or visit a shop.
|
||||
* They may be physically present at the ride/shop, or they may just be thinking about it.
|
||||
*/
|
||||
static bool peep_should_go_on_ride(rct_peep *peep, int rideIndex, int entranceNum, int flags)
|
||||
{
|
||||
|
@ -8511,7 +8711,7 @@ static void peep_chose_not_to_go_on_ride(rct_peep *peep, int rideIndex, bool pee
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* When the queue is full, peeps will ignore the ride when thinking about what to go on next.
|
||||
* Does not effect peeps that walk up to the queue entrance.
|
||||
* This flag is reset the next time a peep successfully joins the queue.
|
||||
|
@ -9187,7 +9387,10 @@ money32 set_peep_name(int flags, int state, uint16 sprite_index, uint8* text_1,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x00698D6C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00698D6C
|
||||
*/
|
||||
void game_command_set_peep_name(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp) {
|
||||
*ebx = set_peep_name(
|
||||
*ebx & 0xFF,
|
||||
|
|
|
@ -372,7 +372,7 @@ void game_command_fire_staff_member(int *eax, int *ebx, int *ecx, int *edx, int
|
|||
*ebx = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Updates the colour of the given staff type.
|
||||
*/
|
||||
void update_staff_colour(uint8 staffType, uint16 colour)
|
||||
|
@ -380,7 +380,7 @@ void update_staff_colour(uint8 staffType, uint16 colour)
|
|||
game_do_command(0, (staffType << 8) | GAME_COMMAND_FLAG_APPLY, 0, (colour << 8) | 4, GAME_COMMAND_SET_STAFF_COLOUR, 0, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Hires a new staff member of the given type. If the hire cannot be completed (eg. the maximum
|
||||
* number of staff is reached or there are too many people in the game) it returns 0xFFFF.
|
||||
*/
|
||||
|
|
|
@ -828,8 +828,8 @@ void platform_set_fullscreen_mode(int mode)
|
|||
}
|
||||
|
||||
/**
|
||||
* This is not quite the same as the below function as we don't want to
|
||||
* derfererence the cursor before the function.
|
||||
* This is not quite the same as the below function as we don't want to
|
||||
* derfererence the cursor before the function.
|
||||
* rct2: 0x0407956
|
||||
*/
|
||||
void platform_set_cursor(char cursor)
|
||||
|
@ -839,7 +839,7 @@ void platform_set_cursor(char cursor)
|
|||
}
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0068352C
|
||||
* rct2: 0x0068352C
|
||||
*/
|
||||
static void platform_load_cursors()
|
||||
{
|
||||
|
|
|
@ -899,7 +899,10 @@ static void sub_69E891()
|
|||
|
||||
#pragma region Tables
|
||||
|
||||
// rct2: 0x0097F0BC & 0x0098BC60
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0097F0BC, 0x0098BC60
|
||||
*/
|
||||
const uint8 RCT1ColourConversionTable[32] = {
|
||||
0, 1, 2, 4, 5, 6, 7, 9,
|
||||
11, 12, 13, 14, 15, 16, 18, 19,
|
||||
|
|
|
@ -513,7 +513,7 @@ const utf8 *get_file_path(int pathId)
|
|||
}
|
||||
|
||||
/**
|
||||
* Obtains basic system versions and capabilities.
|
||||
* Obtains basic system versions and capabilities.
|
||||
* rct2: 0x004076B1
|
||||
*/
|
||||
void get_system_info()
|
||||
|
|
136
src/ride/ride.c
136
src/ride/ride.c
|
@ -212,8 +212,9 @@ int ride_get_max_queue_time(rct_ride *ride)
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x006AC916
|
||||
*/
|
||||
*
|
||||
* rct2: 0x006AC916
|
||||
*/
|
||||
void ride_update_favourited_stat()
|
||||
{
|
||||
int i;
|
||||
|
@ -269,7 +270,7 @@ money16 get_shop_hot_value(int shopItem)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AC3AB
|
||||
* rct2: 0x006AC3AB
|
||||
*/
|
||||
money32 ride_calculate_income_per_hour(rct_ride *ride)
|
||||
{
|
||||
|
@ -315,7 +316,7 @@ money32 ride_calculate_income_per_hour(rct_ride *ride)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CAF80
|
||||
* rct2: 0x006CAF80
|
||||
* ax result x
|
||||
* bx result y
|
||||
* dl ride index
|
||||
|
@ -434,7 +435,7 @@ bool track_block_get_next_from_zero(sint16 x, sint16 y, sint16 z_start, uint8 ri
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C60C2
|
||||
* rct2: 0x006C60C2
|
||||
*/
|
||||
bool track_block_get_next(rct_xy_element *input, rct_xy_element *output, int *z, int *direction)
|
||||
{
|
||||
|
@ -489,12 +490,13 @@ bool track_block_get_next(rct_xy_element *input, rct_xy_element *output, int *z,
|
|||
return track_block_get_next_from_zero(x, y, OriginZ, rideIndex, directionStart, output, z, direction);
|
||||
}
|
||||
|
||||
/* rct2: 0x006C63D6
|
||||
* Returns the begin position / direction and end position / direction of the track piece that procedes the given location.
|
||||
* Gets the previous track block coordinates from the
|
||||
* coordinates of the first of element of a track block.
|
||||
* Use track_block_get_previous if you are unsure if you are
|
||||
* on the first element of a track block
|
||||
/**
|
||||
* Returns the begin position / direction and end position / direction of the
|
||||
* track piece that procedes the given location. Gets the previous track block
|
||||
* coordinates from the coordinates of the first of element of a track block.
|
||||
* Use track_block_get_previous if you are unsure if you are on the first
|
||||
* element of a track block
|
||||
* rct2: 0x006C63D6
|
||||
*/
|
||||
bool track_block_get_previous_from_zero(sint16 x, sint16 y, sint16 z, uint8 rideIndex, uint8 direction, track_begin_end *outTrackBeginEnd){
|
||||
rct_ride* ride = GET_RIDE(rideIndex);
|
||||
|
@ -590,10 +592,11 @@ bool track_block_get_previous_from_zero(sint16 x, sint16 y, sint16 z, uint8 ride
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C6402
|
||||
* rct2: 0x006C6402
|
||||
*
|
||||
* @remarks outTrackBeginEnd.begin_x and outTrackBeginEnd.begin_y will be in the higher two bytes of ecx and edx where as
|
||||
outTrackBeginEnd.end_x and outTrackBeginEnd.end_y will be in the lower two bytes (cx and dx).
|
||||
* @remarks outTrackBeginEnd.begin_x and outTrackBeginEnd.begin_y will be in the
|
||||
* higher two bytes of ecx and edx where as outTrackBeginEnd.end_x and
|
||||
* outTrackBeginEnd.end_y will be in the lower two bytes (cx and dx).
|
||||
*/
|
||||
bool track_block_get_previous(int x, int y, rct_map_element *mapElement, track_begin_end *outTrackBeginEnd)
|
||||
{
|
||||
|
@ -642,7 +645,7 @@ bool track_block_get_previous(int x, int y, rct_map_element *mapElement, track_b
|
|||
/**
|
||||
*
|
||||
* Make sure to pass in the x and y of the start track element too.
|
||||
* rct2: 0x006CB02F
|
||||
* rct2: 0x006CB02F
|
||||
* ax result x
|
||||
* bx result y
|
||||
* esi input / output map element
|
||||
|
@ -861,7 +864,7 @@ int ride_create_ride(ride_list_item listItem)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B4800
|
||||
* rct2: 0x006B4800
|
||||
*/
|
||||
void ride_construct_new(ride_list_item listItem)
|
||||
{
|
||||
|
@ -877,7 +880,7 @@ void ride_construct_new(ride_list_item listItem)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B4857
|
||||
* rct2: 0x006B4857
|
||||
*/
|
||||
void ride_construct(int rideIndex)
|
||||
{
|
||||
|
@ -897,7 +900,7 @@ void ride_construct(int rideIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006DD4D5
|
||||
* rct2: 0x006DD4D5
|
||||
*/
|
||||
static void ride_remove_cable_lift(rct_ride *ride)
|
||||
{
|
||||
|
@ -918,7 +921,7 @@ static void ride_remove_cable_lift(rct_ride *ride)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006DD506
|
||||
* rct2: 0x006DD506
|
||||
*/
|
||||
static void ride_remove_vehicles(rct_ride *ride)
|
||||
{
|
||||
|
@ -949,7 +952,7 @@ static void ride_remove_vehicles(rct_ride *ride)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006DD4AC
|
||||
* rct2: 0x006DD4AC
|
||||
*/
|
||||
void ride_clear_for_construction(int rideIndex)
|
||||
{
|
||||
|
@ -973,7 +976,7 @@ void ride_clear_for_construction(int rideIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006664DF
|
||||
* rct2: 0x006664DF
|
||||
*/
|
||||
void ride_remove_peeps(int rideIndex)
|
||||
{
|
||||
|
@ -1063,7 +1066,7 @@ void ride_remove_peeps(int rideIndex)
|
|||
|
||||
/**
|
||||
* Gets the origin track element (sequence 0). Seems to do more than that though and even invalidates track.
|
||||
* rct2: 0x006C683D
|
||||
* rct2: 0x006C683D
|
||||
* ax : x
|
||||
* bx : direction << 8, type
|
||||
* cx : y
|
||||
|
@ -1209,7 +1212,7 @@ int sub_6C683D(int* x, int* y, int* z, int direction, int type, uint16 extra_par
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C96C0
|
||||
* rct2: 0x006C96C0
|
||||
*/
|
||||
void sub_6C96C0()
|
||||
{
|
||||
|
@ -1311,7 +1314,7 @@ void sub_6C9627()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C9B19
|
||||
* rct2: 0x006C9B19
|
||||
*/
|
||||
static void ride_construction_reset_current_piece()
|
||||
{
|
||||
|
@ -1337,7 +1340,7 @@ static void ride_construction_reset_current_piece()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C9800
|
||||
* rct2: 0x006C9800
|
||||
*/
|
||||
void ride_construction_set_default_next_piece()
|
||||
{
|
||||
|
@ -1463,7 +1466,7 @@ void ride_construction_set_default_next_piece()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C9296
|
||||
* rct2: 0x006C9296
|
||||
*/
|
||||
void ride_select_next_section()
|
||||
{
|
||||
|
@ -1521,7 +1524,7 @@ void ride_select_next_section()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C93B8
|
||||
* rct2: 0x006C93B8
|
||||
*/
|
||||
void ride_select_previous_section()
|
||||
{
|
||||
|
@ -1571,7 +1574,7 @@ void ride_select_previous_section()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CC2CA
|
||||
* rct2: 0x006CC2CA
|
||||
*/
|
||||
static int ride_modify_entrance_or_exit(rct_map_element *mapElement, int x, int y)
|
||||
{
|
||||
|
@ -1629,7 +1632,7 @@ static int ride_modify_entrance_or_exit(rct_map_element *mapElement, int x, int
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CC287
|
||||
* rct2: 0x006CC287
|
||||
*/
|
||||
int ride_modify_maze(rct_map_element *mapElement, int x, int y)
|
||||
{
|
||||
|
@ -1646,7 +1649,7 @@ int ride_modify_maze(rct_map_element *mapElement, int x, int y)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CC056
|
||||
* rct2: 0x006CC056
|
||||
*/
|
||||
int ride_modify(rct_xy_element *input)
|
||||
{
|
||||
|
@ -1744,7 +1747,7 @@ int ride_modify(rct_xy_element *input)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CC3FB
|
||||
* rct2: 0x006CC3FB
|
||||
*/
|
||||
int sub_6CC3FB(int rideIndex)
|
||||
{
|
||||
|
@ -1928,7 +1931,8 @@ static void ride_chairlift_update(rct_ride *ride)
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x0069A3A2
|
||||
*
|
||||
* rct2: 0x0069A3A2
|
||||
* edi: ride (in code as bytes offset from start of rides list)
|
||||
* bl: happiness
|
||||
*/
|
||||
|
@ -1944,7 +1948,9 @@ void ride_update_satisfaction(rct_ride* ride, uint8 happiness) {
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x0069A3D7
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069A3D7
|
||||
* Updates the ride popularity
|
||||
* edi : ride
|
||||
* bl : pop_amount
|
||||
|
@ -2672,6 +2678,7 @@ void ride_measurement_clear(rct_ride *ride)
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B64F2
|
||||
*/
|
||||
void ride_measurement_update(rct_ride_measurement *measurement)
|
||||
|
@ -2742,6 +2749,7 @@ void ride_measurement_update(rct_ride_measurement *measurement)
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B6456
|
||||
*/
|
||||
void ride_measurements_update()
|
||||
|
@ -2819,7 +2827,7 @@ int ride_get_free_measurement()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B66D9
|
||||
* rct2: 0x006B66D9
|
||||
*/
|
||||
rct_ride_measurement *ride_get_measurement(int rideIndex, rct_string_id *message)
|
||||
{
|
||||
|
@ -2965,8 +2973,9 @@ static void ride_set_vehicle_colours_to_random_preset(rct_ride *ride, uint8 pres
|
|||
#pragma region Reachability
|
||||
|
||||
/**
|
||||
* rct2: 0x006B7A5E
|
||||
**/
|
||||
*
|
||||
* rct2: 0x006B7A5E
|
||||
*/
|
||||
void ride_check_all_reachable()
|
||||
{
|
||||
rct_ride *ride;
|
||||
|
@ -2986,7 +2995,8 @@ void ride_check_all_reachable()
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x006B7C59
|
||||
*
|
||||
* rct2: 0x006B7C59
|
||||
* @return 1 if the coordinate is reachable or has no entrance, 0 otherwise
|
||||
*/
|
||||
static int ride_entrance_exit_is_reachable(uint16 coordinate, rct_ride* ride, int index)
|
||||
|
@ -3053,7 +3063,7 @@ static void ride_shop_connected(rct_ride* ride, int ride_idx)
|
|||
int x, y, count;
|
||||
rct_map_element *mapElement;
|
||||
|
||||
uint16 coordinate = ride->station_starts[0];
|
||||
uint16 coordinate = ride->station_starts[0];
|
||||
if (coordinate == 0xFFFF)
|
||||
return;
|
||||
|
||||
|
@ -3574,7 +3584,10 @@ void ride_music_update_final()
|
|||
|
||||
#pragma endregion
|
||||
|
||||
/* rct2: 0x006B5559 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B5559
|
||||
*/
|
||||
void game_command_set_ride_setting(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp)
|
||||
{
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_NEXT_EXPENDITURE_TYPE, uint8) = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS * 4;
|
||||
|
@ -3725,7 +3738,8 @@ int ride_mode_check_valid_station_numbers(rct_ride *ride)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* returns stationIndex of first station on success
|
||||
/**
|
||||
* returns stationIndex of first station on success
|
||||
* -1 on failure.
|
||||
*/
|
||||
int ride_mode_check_station_present(rct_ride* ride){
|
||||
|
@ -4312,10 +4326,9 @@ bool ride_create_vehicles(rct_ride *ride, int rideIndex, rct_xy_element *element
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Checks and initialises the cable lift track returns false if unable to find
|
||||
* appropriate track.
|
||||
* rct2: 0x006D31A6
|
||||
* Checks and initialises the cable lift track
|
||||
* returns false if unable to find appropriate track.
|
||||
*/
|
||||
static bool ride_initialise_cable_lift_track(rct_ride *ride, bool isApplying)
|
||||
{
|
||||
|
@ -5874,7 +5887,7 @@ bool ride_type_has_flag(int rideType, int flag)
|
|||
return (RCT2_GLOBAL(RCT2_ADDRESS_RIDE_FLAGS + (rideType * 8), uint32) & flag) != 0;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* The next six functions are helpers to access ride data at the offset 10E &
|
||||
* 110. We believe it stores three distinct values in the following format:
|
||||
*
|
||||
|
@ -6003,7 +6016,10 @@ void ride_all_has_any_track_elements(bool *rideIndexArray)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006847BA */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006847BA
|
||||
*/
|
||||
void set_vehicle_type_image_max_sizes(rct_ride_type_vehicle* vehicle_type, int num_images){
|
||||
uint8 bitmap[200][200] = { 0 };
|
||||
|
||||
|
@ -6087,7 +6103,7 @@ void set_vehicle_type_image_max_sizes(rct_ride_type_vehicle* vehicle_type, int n
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CA28C
|
||||
* rct2: 0x006CA28C
|
||||
*/
|
||||
money32 ride_get_entrance_or_exit_price(int rideIndex, int x, int y, int direction, int dh, int di)
|
||||
{
|
||||
|
@ -6142,7 +6158,7 @@ int loc_6CD18E(short mapX, short mapY, short entranceMinX, short entranceMinY, s
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CCF70
|
||||
* rct2: 0x006CCF70
|
||||
*/
|
||||
void ride_get_entrance_or_exit_position_from_screen_position(int screenX, int screenY, int *outX, int *outY, int *outDirection)
|
||||
{
|
||||
|
@ -6349,7 +6365,7 @@ money32 ride_remove_track_piece(int x, int y, int z, int direction, int type)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B58EF
|
||||
* rct2: 0x006B58EF
|
||||
*/
|
||||
bool ride_are_all_possible_entrances_and_exits_built(rct_ride *ride)
|
||||
{
|
||||
|
@ -6372,7 +6388,7 @@ bool ride_are_all_possible_entrances_and_exits_built(rct_ride *ride)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B59C6
|
||||
* rct2: 0x006B59C6
|
||||
*/
|
||||
void invalidate_test_results(int rideIndex)
|
||||
{
|
||||
|
@ -6396,7 +6412,7 @@ void invalidate_test_results(int rideIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B7481
|
||||
* rct2: 0x006B7481
|
||||
*/
|
||||
void ride_fix_breakdown(int rideIndex, int reliabilityIncreaseFactor)
|
||||
{
|
||||
|
@ -6429,7 +6445,7 @@ void ride_fix_breakdown(int rideIndex, int reliabilityIncreaseFactor)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006DE102
|
||||
* rct2: 0x006DE102
|
||||
*/
|
||||
static void ride_update_vehicle_colours(int rideIndex)
|
||||
{
|
||||
|
@ -6475,7 +6491,7 @@ static void ride_update_vehicle_colours(int rideIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006DE4CD
|
||||
* rct2: 0x006DE4CD
|
||||
* trainLayout: Originally fixed to 0x00F64E38. This no longer postfixes with 255.
|
||||
*/
|
||||
void ride_entry_get_train_layout(int rideEntryIndex, int numCarsPerTrain, uint8 *trainLayout)
|
||||
|
@ -6824,9 +6840,8 @@ void sub_6CB945(int rideIndex)
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Removes the hedge walls for an entrance placement.
|
||||
* rct2: 0x00666CBE
|
||||
* Removes the hedge walls for an entrance placement.
|
||||
*/
|
||||
static void maze_entrance_hedge_removal(int x, int y, rct_map_element *mapElement)
|
||||
{
|
||||
|
@ -6862,9 +6877,8 @@ static void maze_entrance_hedge_removal(int x, int y, rct_map_element *mapElemen
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Replaces the outer hedge walls for an entrance placement removal.
|
||||
* rct2: 0x00666D6F
|
||||
* Replaces the outer hedge walls for an entrance placement removal.
|
||||
*/
|
||||
static void maze_entrance_hedge_replacement(int x, int y, rct_map_element *mapElement)
|
||||
{
|
||||
|
@ -7071,7 +7085,10 @@ money32 place_ride_entrance_or_exit(sint16 x, sint16 y, sint16 z, uint8 directio
|
|||
return RCT2_GLOBAL(0x009E32B8, money32);
|
||||
}
|
||||
|
||||
/* rct2: 0x006660A8 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006660A8
|
||||
*/
|
||||
void game_command_place_ride_entrance_or_exit(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp){
|
||||
*ebx = place_ride_entrance_or_exit(
|
||||
*eax & 0xFFFF,
|
||||
|
@ -7149,7 +7166,10 @@ money32 remove_ride_entrance_or_exit(sint16 x, sint16 y, uint8 rideIndex, uint8
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x0066640B */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066640B
|
||||
*/
|
||||
void game_command_remove_ride_entrance_or_exit(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp){
|
||||
*ebx = remove_ride_entrance_or_exit(
|
||||
*eax & 0xFFFF,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*
|
||||
/**
|
||||
* Whether a particular ride has a running track or not. Will probably end up
|
||||
* being used in various places in the game.
|
||||
*
|
||||
|
@ -679,7 +679,10 @@ const rct_ride_name_convention RideNameConvention[96] = {
|
|||
{ 1229, 1243, 1257, 0 }
|
||||
};
|
||||
|
||||
/* rct2: 0x0097C8AC */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0097C8AC
|
||||
*/
|
||||
const uint8 RideAvailableModes[] = {
|
||||
RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 00 Spiral Roller coaster
|
||||
RIDE_MODE_CONTINUOUS_CIRCUIT, RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED, 0xFF, // 01 Stand Up Coaster
|
||||
|
|
|
@ -683,10 +683,8 @@ static void ride_ratings_calculate_value(rct_ride *ride)
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: sub_65E621
|
||||
*
|
||||
* I think this function computes ride upkeep? Though it is weird that the
|
||||
*
|
||||
* rct2: sub_65E621
|
||||
* inputs
|
||||
* - edi: ride ptr
|
||||
*/
|
||||
|
@ -771,11 +769,12 @@ static uint16 ride_compute_upkeep(rct_ride *ride)
|
|||
// multiply by 5/8
|
||||
upkeep = upkeep * 10;
|
||||
upkeep = upkeep >> 4;
|
||||
return upkeep;
|
||||
return upkeep;
|
||||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x0065E7FB
|
||||
*
|
||||
* rct2: 0x0065E7FB
|
||||
*
|
||||
* inputs
|
||||
* - bx: excitement
|
||||
|
@ -839,16 +838,17 @@ static void ride_ratings_apply_intensity_penalty(rating_tuple *ratings)
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00655FD6
|
||||
*/
|
||||
static void set_unreliability_factor(rct_ride *ride)
|
||||
{
|
||||
// The higher the number, the lower the breakdown
|
||||
// possibility. Range is [3, 7]. values are here:
|
||||
// https://gist.github.com/kevinburke/123977c4884ccadbec70. Consider
|
||||
// inlining this per ride
|
||||
// The higher the number, the lower the breakdown
|
||||
// possibility. Range is [3, 7]. values are here:
|
||||
// https://gist.github.com/kevinburke/123977c4884ccadbec70. Consider
|
||||
// inlining this per ride
|
||||
uint8 lift_speed_adjustment = RideLiftHillAdjustments[ride->type];
|
||||
ride->unreliability_factor += (ride->lift_hill_speed - lift_speed_adjustment) * 2;
|
||||
ride->unreliability_factor += (ride->lift_hill_speed - lift_speed_adjustment) * 2;
|
||||
}
|
||||
|
||||
static uint32 get_proximity_score_helper_1(uint16 x, uint16 max, uint32 multiplier)
|
||||
|
@ -952,7 +952,8 @@ static rating_tuple get_var_10E_rating(rct_ride* ride) {
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x0065DF72
|
||||
*
|
||||
* rct2: 0x0065DF72
|
||||
*/
|
||||
static rating_tuple get_var_110_rating(rct_ride* ride) {
|
||||
int var_110_unk_1 = get_var_110_unk_1(ride);
|
||||
|
@ -976,7 +977,8 @@ static rating_tuple get_var_110_rating(rct_ride* ride) {
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x0065E047
|
||||
*
|
||||
* rct2: 0x0065E047
|
||||
*/
|
||||
static rating_tuple get_var_112_rating(rct_ride *ride) {
|
||||
int al;
|
||||
|
@ -1006,7 +1008,8 @@ static rating_tuple get_var_112_rating(rct_ride *ride) {
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x0065E0F2
|
||||
*
|
||||
* rct2: 0x0065E0F2
|
||||
*/
|
||||
static rating_tuple get_inversions_ratings(uint8 inversions) {
|
||||
int excitement = (min(inversions, 6) * 0x1AAAAA) >> 16;
|
||||
|
@ -1017,9 +1020,6 @@ static rating_tuple get_inversions_ratings(uint8 inversions) {
|
|||
return rating;
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
static rating_tuple get_special_track_elements_rating(uint8 type, rct_ride *ride) {
|
||||
int excitement = 0, intensity = 0, nausea = 0;
|
||||
if (type == RIDE_TYPE_GHOST_TRAIN) {
|
||||
|
@ -1067,6 +1067,7 @@ static rating_tuple get_special_track_elements_rating(uint8 type, rct_ride *ride
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0065DDD1
|
||||
*/
|
||||
static rating_tuple sub_65DDD1(rct_ride *ride)
|
||||
|
|
497
src/ride/track.c
497
src/ride/track.c
|
@ -50,194 +50,194 @@ const rct_trackdefinition *gFlatRideTrackDefinitions = (rct_trackdefinition*)0x0
|
|||
|
||||
// TODO This table is incorrect or at least missing 69 elements. There should be 256 in total!
|
||||
const rct_trackdefinition gTrackDefinitions_INCORRECT[] = {
|
||||
// TYPE VANGLE END VANGLE START BANK END BANK START SPECIAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_END_STATION
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BEGIN_STATION
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MIDDLE_STATION
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN
|
||||
{ TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_LEFT
|
||||
{ TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_RIGHT
|
||||
{ TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // ELEM_LEFT_VERTICAL_LOOP
|
||||
{ TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // ELEM_RIGHT_VERTICAL_LOOP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE
|
||||
{ TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_TWIST_DOWN_TO_UP
|
||||
{ TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_TWIST_DOWN_TO_UP
|
||||
{ TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_LEFT_TWIST_UP_TO_DOWN
|
||||
{ TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_RIGHT_TWIST_UP_TO_DOWN
|
||||
{ TRACK_HALF_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_HALF_LOOP_UP
|
||||
{ TRACK_HALF_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_HALF_LOOP_DOWN
|
||||
{ TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_CORKSCREW_UP
|
||||
{ TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_CORKSCREW_UP
|
||||
{ TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // ELEM_LEFT_CORKSCREW_DOWN
|
||||
{ TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // ELEM_RIGHT_CORKSCREW_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_FLAT
|
||||
{ TRACK_TOWER_BASE, TRACK_VANGLE_TOWER, TRACK_VANGLE_TOWER, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_TOWER_BASE
|
||||
{ TRACK_TOWER_BASE, TRACK_VANGLE_TOWER, TRACK_VANGLE_TOWER, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_TOWER_SECTION
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_FLAT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_FLAT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_LEFT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_RIGHT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN
|
||||
{ TRACK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BRAKES
|
||||
{ TRACK_ROTATION_CONTROL_TOGGLE,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_ROTATION_CONTROL_TOGGLE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP
|
||||
{ TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP
|
||||
{ TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP
|
||||
{ TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN
|
||||
{ TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN
|
||||
{ TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_HELIX_LARGE_UP
|
||||
{ TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_UP
|
||||
{ TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN
|
||||
{ TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_25_DEG_UP_LEFT_BANKED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_25_DEG_UP_RIGHT_BANKED
|
||||
{ TRACK_WATERFALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WATERFALL
|
||||
{ TRACK_RAPIDS, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RAPIDS
|
||||
{ TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_ON_RIDE_PHOTO
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_25_DEG_DOWN_LEFT_BANKED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_25_DEG_DOWN_RIGHT_BANKED
|
||||
{ TRACK_WATER_SPLASH, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WATER_SPLASH
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_UP_LONG_BASE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE
|
||||
{ TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WHIRLPOOL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE
|
||||
{ TRACK_LIFT_HILL, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_CABLE_LIFT_HILL
|
||||
{ TRACK_WHOA_BELLY, TRACK_VANGLE_WHOA_BELLY, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_REVERSE_WHOA_BELLY_SLOPE
|
||||
{ TRACK_WHOA_BELLY, TRACK_VANGLE_WHOA_BELLY, TRACK_VANGLE_WHOA_BELLY, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_REVERSE_WHOA_BELLY_VERTICAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_90_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_DOWN_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_UP_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_90_DEG_DOWN
|
||||
{ TRACK_BRAKE_FOR_DROP, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BRAKE_FOR_DROP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_EIGHTH_TO_DIAG
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_TO_DIAG
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_EIGHTH_TO_ORTHOGONAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_EIGHTH_BANK_TO_DIAG
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_BANK_TO_DIAG
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK
|
||||
{ TRACK_LOG_FLUME_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LOG_FLUME_REVERSER
|
||||
{ TRACK_SPINNING_TUNNEL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_SPINNING_TUNNEL
|
||||
{ TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN
|
||||
{ TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN
|
||||
{ TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP
|
||||
{ TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK
|
||||
{ TRACK_POWERED_LIFT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_POWERED_LIFT
|
||||
{ TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_LEFT_LARGE_HALF_LOOP_UP
|
||||
{ TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_RIGHT_LARGE_HALF_LOOP_UP
|
||||
{ TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_RIGHT_LARGE_HALF_LOOP_DOWN
|
||||
{ TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_LEFT_LARGE_HALF_LOOP_DOWN
|
||||
// TYPE VANGLE END VANGLE START BANK END BANK START SPECIAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_END_STATION
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BEGIN_STATION
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_MIDDLE_STATION
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN
|
||||
{ TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_LEFT
|
||||
{ TRACK_S_BEND, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_RIGHT
|
||||
{ TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // ELEM_LEFT_VERTICAL_LOOP
|
||||
{ TRACK_VERTICAL_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_UNKNOWN_VERTICAL_LOOP }, // ELEM_RIGHT_VERTICAL_LOOP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE
|
||||
{ TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_TWIST_DOWN_TO_UP
|
||||
{ TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_TWIST_DOWN_TO_UP
|
||||
{ TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_LEFT_TWIST_UP_TO_DOWN
|
||||
{ TRACK_TWIST, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_RIGHT_TWIST_UP_TO_DOWN
|
||||
{ TRACK_HALF_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_HALF_LOOP_UP
|
||||
{ TRACK_HALF_LOOP, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_HALF_LOOP_DOWN
|
||||
{ TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_CORKSCREW_UP
|
||||
{ TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_CORKSCREW_UP
|
||||
{ TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // ELEM_LEFT_CORKSCREW_DOWN
|
||||
{ TRACK_CORKSCREW, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_CORKSCREW_DOWN }, // ELEM_RIGHT_CORKSCREW_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_FLAT
|
||||
{ TRACK_TOWER_BASE, TRACK_VANGLE_TOWER, TRACK_VANGLE_TOWER, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_TOWER_BASE
|
||||
{ TRACK_TOWER_BASE, TRACK_VANGLE_TOWER, TRACK_VANGLE_TOWER, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_TOWER_SECTION
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_UP_TO_FLAT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_25_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_25_DEG_DOWN_TO_FLAT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_LEFT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_S_BEND_RIGHT_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE
|
||||
{ TRACK_HELIX_SMALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN
|
||||
{ TRACK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BRAKES
|
||||
{ TRACK_ROTATION_CONTROL_TOGGLE,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_ROTATION_CONTROL_TOGGLE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP
|
||||
{ TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP
|
||||
{ TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP
|
||||
{ TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN
|
||||
{ TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN
|
||||
{ TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_HELIX_LARGE_UP
|
||||
{ TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_UP
|
||||
{ TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN
|
||||
{ TRACK_HELIX_LARGE_UNBANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_25_DEG_UP_LEFT_BANKED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_25_DEG_UP_RIGHT_BANKED
|
||||
{ TRACK_WATERFALL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WATERFALL
|
||||
{ TRACK_RAPIDS, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RAPIDS
|
||||
{ TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_ON_RIDE_PHOTO
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_25_DEG_DOWN_LEFT_BANKED
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_25_DEG_DOWN_RIGHT_BANKED
|
||||
{ TRACK_WATER_SPLASH, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WATER_SPLASH
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_UP_LONG_BASE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE
|
||||
{ TRACK_WHIRLPOOL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_WHIRLPOOL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_FLAT_LONG_BASE
|
||||
{ TRACK_LIFT_HILL, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_CABLE_LIFT_HILL
|
||||
{ TRACK_WHOA_BELLY, TRACK_VANGLE_WHOA_BELLY, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_REVERSE_WHOA_BELLY_SLOPE
|
||||
{ TRACK_WHOA_BELLY, TRACK_VANGLE_WHOA_BELLY, TRACK_VANGLE_WHOA_BELLY, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_REVERSE_WHOA_BELLY_VERTICAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_UP_TO_90_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_DOWN_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_90_DEG_UP_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_60_DEG_DOWN_TO_90_DEG_DOWN
|
||||
{ TRACK_BRAKE_FOR_DROP, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_BRAKE_FOR_DROP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_EIGHTH_TO_DIAG
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_TO_DIAG
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_EIGHTH_TO_ORTHOGONAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_EIGHTH_BANK_TO_DIAG
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_BANK_TO_DIAG
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_60_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_UP_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_60_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_60_DEG_DOWN_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_FLAT_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_FLAT
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_DIAG_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_DIAG_RIGHT_BANK
|
||||
{ TRACK_LOG_FLUME_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LOG_FLUME_REVERSER
|
||||
{ TRACK_SPINNING_TUNNEL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_SPINNING_TUNNEL
|
||||
{ TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN
|
||||
{ TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN
|
||||
{ TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP
|
||||
{ TRACK_BARREL_ROLL, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_NONE }, // ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_LEFT, TRACK_NONE }, // ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_RIGHT, TRACK_NONE }, // ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK
|
||||
{ TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK
|
||||
{ TRACK_POWERED_LIFT, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, TRACK_NONE }, // ELEM_POWERED_LIFT
|
||||
{ TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_LEFT_LARGE_HALF_LOOP_UP
|
||||
{ TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, TRACK_HALF_LOOP_UP }, // ELEM_RIGHT_LARGE_HALF_LOOP_UP
|
||||
{ TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_RIGHT_LARGE_HALF_LOOP_DOWN
|
||||
{ TRACK_HALF_LOOP_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_HALF_LOOP_DOWN }, // ELEM_LEFT_LARGE_HALF_LOOP_DOWN
|
||||
};
|
||||
|
||||
#define TRACK_MAX_SAVED_MAP_ELEMENTS 1500
|
||||
|
@ -486,7 +486,9 @@ static void copy(void *dst, uint8 **src, int length)
|
|||
*src += length;
|
||||
}
|
||||
|
||||
/* rct2: 0x00677530
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00677530
|
||||
* Returns 1 if it has booster track elements
|
||||
*/
|
||||
uint8 td4_track_has_boosters(rct_track_td6* track_design, uint8* track_elements){
|
||||
|
@ -678,7 +680,10 @@ rct_track_td6* load_track_design(const char *path)
|
|||
return track_design;
|
||||
}
|
||||
|
||||
/* rct2: 0x006D1DCE*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D1DCE
|
||||
*/
|
||||
void reset_track_list_cache(){
|
||||
int* track_list_cache = RCT2_ADDRESS(RCT2_ADDRESS_TRACK_DESIGN_INDEX_CACHE, int);
|
||||
for (int i = 0; i < 4; ++i){
|
||||
|
@ -687,7 +692,10 @@ void reset_track_list_cache(){
|
|||
RCT2_GLOBAL(RCT2_ADDRESS_TRACK_DESIGN_NEXT_INDEX_CACHE, uint32) = 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x006D1C68 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D1C68
|
||||
*/
|
||||
int backup_map(){
|
||||
RCT2_GLOBAL(0xF440ED, uint8*) = malloc(0xED600);
|
||||
if (RCT2_GLOBAL(0xF440ED, uint32) == 0) return 0;
|
||||
|
@ -720,7 +728,10 @@ int backup_map(){
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x006D2378 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2378
|
||||
*/
|
||||
void reload_map_backup(){
|
||||
uint32* map_elements = RCT2_ADDRESS(RCT2_ADDRESS_MAP_ELEMENTS, uint32);
|
||||
memcpy(map_elements, RCT2_GLOBAL(0xF440ED, uint32*), 0xED600);
|
||||
|
@ -740,7 +751,10 @@ void reload_map_backup(){
|
|||
free(RCT2_GLOBAL(0xF440F5, uint8*));
|
||||
}
|
||||
|
||||
/* rct2: 0x006D1D9A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D1D9A
|
||||
*/
|
||||
void blank_map(){
|
||||
|
||||
// These values were previously allocated in backup map but
|
||||
|
@ -764,7 +778,10 @@ void blank_map(){
|
|||
map_update_tile_pointers();
|
||||
}
|
||||
|
||||
/* rct2: 0x006ABDB0 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ABDB0
|
||||
*/
|
||||
void load_track_scenery_objects(){
|
||||
uint8 entry_index = RCT2_GLOBAL(0xF44157, uint8);
|
||||
rct_object_entry_extended* object_entry = &object_entry_groups[0].entries[entry_index];
|
||||
|
@ -809,7 +826,10 @@ void load_track_scenery_objects(){
|
|||
reset_loaded_objects();
|
||||
}
|
||||
|
||||
/* rct2: 0x006D247A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D247A
|
||||
*/
|
||||
void track_mirror_scenery(uint8** track_elements){
|
||||
rct_track_scenery* scenery = (rct_track_scenery*)*track_elements;
|
||||
for (; (scenery->scenery_object.flags & 0xFF) != 0xFF; scenery++){
|
||||
|
@ -898,7 +918,10 @@ void track_mirror_scenery(uint8** track_elements){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006D2443 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2443
|
||||
*/
|
||||
void track_mirror_ride(uint8** track_elements){
|
||||
rct_track_element* track = (rct_track_element*)*track_elements;
|
||||
for (; track->type != 0xFF; track++){
|
||||
|
@ -916,7 +939,10 @@ void track_mirror_ride(uint8** track_elements){
|
|||
*track_elements = (uint8*)entrance + 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x006D25FA */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D25FA
|
||||
*/
|
||||
void track_mirror_maze(uint8** track_elements){
|
||||
rct_maze_element* maze = (rct_maze_element*)*track_elements;
|
||||
for (; maze->all != 0; maze++){
|
||||
|
@ -942,7 +968,10 @@ void track_mirror_maze(uint8** track_elements){
|
|||
*track_elements = (uint8*)maze + 4;
|
||||
}
|
||||
|
||||
/* rct2: 0x006D2436 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2436
|
||||
*/
|
||||
void track_mirror(){
|
||||
uint8* track_elements = RCT2_ADDRESS(0x009D821B, uint8);
|
||||
|
||||
|
@ -984,7 +1013,10 @@ void track_update_max_min_coordinates(sint16 x, sint16 y, sint16 z){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006D0964 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D0964
|
||||
*/
|
||||
int track_place_scenery(rct_track_scenery* scenery_start, uint8 rideIndex, int originX, int originY, int originZ){
|
||||
RCT2_GLOBAL(0x00F44050, rct_track_scenery*) = scenery_start;
|
||||
|
||||
|
@ -1971,7 +2003,9 @@ int sub_6D01B3(uint8 bl, uint8 rideIndex, int x, int y, int z)
|
|||
return ebx;
|
||||
}
|
||||
|
||||
/* rct2: 0x006D2189
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2189
|
||||
* ebx = ride_id
|
||||
* cost = edi
|
||||
*/
|
||||
|
@ -2065,14 +2099,20 @@ int sub_6D2189(int* cost, uint8* ride_id){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006D235B */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D235B
|
||||
*/
|
||||
void sub_6D235B(uint8 ride_id){
|
||||
rct_ride* ride = GET_RIDE(ride_id);
|
||||
user_string_free(ride->name);
|
||||
ride->type = RIDE_TYPE_NULL;
|
||||
}
|
||||
|
||||
/* rct2: 0x006D1EF0 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D1EF0
|
||||
*/
|
||||
void draw_track_preview(uint8** preview){
|
||||
// Make a copy of the map
|
||||
if (!backup_map())return;
|
||||
|
@ -2480,7 +2520,10 @@ int copy_scenery_to_track(uint8** track_pointer){
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x006CEAAE */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CEAAE
|
||||
*/
|
||||
int maze_ride_to_td6(uint8 rideIndex, rct_track_td6* track_design, uint8* track_elements){
|
||||
rct_map_element* map_element = NULL;
|
||||
uint8 map_found = 0;
|
||||
|
@ -2641,7 +2684,10 @@ int maze_ride_to_td6(uint8 rideIndex, rct_track_td6* track_design, uint8* track_
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x006CE68D */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CE68D
|
||||
*/
|
||||
int tracked_ride_to_td6(uint8 rideIndex, rct_track_td6* track_design, uint8* track_elements)
|
||||
{
|
||||
rct_ride* ride = GET_RIDE(rideIndex);
|
||||
|
@ -2899,7 +2945,10 @@ int tracked_ride_to_td6(uint8 rideIndex, rct_track_td6* track_design, uint8* tra
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x006CE44F */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CE44F
|
||||
*/
|
||||
int ride_to_td6(uint8 rideIndex){
|
||||
rct_ride* ride = GET_RIDE(rideIndex);
|
||||
rct_track_td6* track_design = RCT2_ADDRESS(0x009D8178, rct_track_td6);
|
||||
|
@ -2972,8 +3021,10 @@ int ride_to_td6(uint8 rideIndex){
|
|||
return tracked_ride_to_td6(rideIndex, track_design, track_elements);
|
||||
}
|
||||
|
||||
/* rct2: 0x006771DC but not really its branched from that
|
||||
* quite far.
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006771DC but not really its branched from that
|
||||
* quite far.
|
||||
*/
|
||||
int save_track_to_file(rct_track_td6* track_design, char* path)
|
||||
{
|
||||
|
@ -3000,7 +3051,10 @@ int save_track_to_file(rct_track_td6* track_design, char* path)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x006D2804 & 0x006D264D */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2804, 0x006D264D
|
||||
*/
|
||||
int save_track_design(uint8 rideIndex){
|
||||
rct_ride* ride = GET_RIDE(rideIndex);
|
||||
|
||||
|
@ -3206,7 +3260,10 @@ int install_track(char* source_path, char* dest_name){
|
|||
return platform_file_copy(source_path, dest_path, false);
|
||||
}
|
||||
|
||||
/* rct2: 0x006D13FE */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D13FE
|
||||
*/
|
||||
void game_command_place_track_design(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp){
|
||||
int x = *eax;
|
||||
int y = *ecx;
|
||||
|
@ -3350,7 +3407,7 @@ void game_command_place_track_design(int* eax, int* ebx, int* ecx, int* edx, int
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CDEE4
|
||||
* rct2: 0x006CDEE4
|
||||
*/
|
||||
void game_command_place_maze_design(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp)
|
||||
{
|
||||
|
@ -3359,7 +3416,7 @@ void game_command_place_maze_design(int* eax, int* ebx, int* ecx, int* edx, int*
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D3026
|
||||
* rct2: 0x006D3026
|
||||
*/
|
||||
void track_save_reset_scenery()
|
||||
{
|
||||
|
@ -3429,7 +3486,7 @@ static rct_map_element **track_get_next_spare_saved_map_element()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2ED2
|
||||
* rct2: 0x006D2ED2
|
||||
*/
|
||||
static bool track_save_can_add_map_element(rct_map_element *mapElement)
|
||||
{
|
||||
|
@ -3461,7 +3518,7 @@ static bool track_save_can_add_map_element(rct_map_element *mapElement)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2F4C
|
||||
* rct2: 0x006D2F4C
|
||||
*/
|
||||
static void track_save_push_map_element(int x, int y, rct_map_element *mapElement)
|
||||
{
|
||||
|
@ -3475,7 +3532,7 @@ static void track_save_push_map_element(int x, int y, rct_map_element *mapElemen
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2FA7
|
||||
* rct2: 0x006D2FA7
|
||||
*/
|
||||
static void track_save_push_map_element_desc(rct_object_entry *entry, int x, int y, int z, uint8 flags, uint8 primaryColour, uint8 secondaryColour)
|
||||
{
|
||||
|
@ -3584,7 +3641,7 @@ static void track_save_add_footpath(int x, int y, rct_map_element *mapElement)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2B3C
|
||||
* rct2: 0x006D2B3C
|
||||
*/
|
||||
static bool track_save_add_map_element(int interactionType, int x, int y, rct_map_element *mapElement)
|
||||
{
|
||||
|
@ -3612,7 +3669,7 @@ static bool track_save_add_map_element(int interactionType, int x, int y, rct_ma
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2F78
|
||||
* rct2: 0x006D2F78
|
||||
*/
|
||||
static void track_save_pop_map_element(int x, int y, rct_map_element *mapElement)
|
||||
{
|
||||
|
@ -3643,7 +3700,7 @@ static void track_save_pop_map_element(int x, int y, rct_map_element *mapElement
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2FDD
|
||||
* rct2: 0x006D2FDD
|
||||
*/
|
||||
static void track_save_pop_map_element_desc(rct_object_entry *entry, int x, int y, int z, uint8 flags, uint8 primaryColour, uint8 secondaryColour)
|
||||
{
|
||||
|
@ -3764,7 +3821,7 @@ static void track_save_remove_footpath(int x, int y, rct_map_element *mapElement
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2B3C
|
||||
* rct2: 0x006D2B3C
|
||||
*/
|
||||
static void track_save_remove_map_element(int interactionType, int x, int y, rct_map_element *mapElement)
|
||||
{
|
||||
|
@ -3786,7 +3843,7 @@ static void track_save_remove_map_element(int interactionType, int x, int y, rct
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2B07
|
||||
* rct2: 0x006D2B07
|
||||
*/
|
||||
void track_save_toggle_map_element(int interactionType, int x, int y, rct_map_element *mapElement)
|
||||
{
|
||||
|
@ -3804,7 +3861,7 @@ void track_save_toggle_map_element(int interactionType, int x, int y, rct_map_el
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D303D
|
||||
* rct2: 0x006D303D
|
||||
*/
|
||||
void track_save_select_nearby_scenery(int rideIndex)
|
||||
{
|
||||
|
|
|
@ -172,7 +172,10 @@ TRACK_PAINT_FUNCTION* top_spin_track_paint_functions[] = {
|
|||
top_spin_base_functions // 123
|
||||
};
|
||||
|
||||
/* rct2: 0x0076687C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0076687C
|
||||
*/
|
||||
void top_spin_paint_tile_0(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
uint32 image_id = RCT2_GLOBAL(0x00F441A0, uint32);
|
||||
sub_6629BC(height, 0, image_id, direction & 1);
|
||||
|
@ -201,7 +204,7 @@ void top_spin_paint_tile_0(uint8 rideIndex, uint8 trackSequence, uint8 direction
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2:0x007667AE */
|
||||
/* rct2: 0x007667AE */
|
||||
rct_xy16 loc_7667AE[] = {
|
||||
{ .x = 0, .y = -1 },
|
||||
{ .x = 1, .y = 0 },
|
||||
|
@ -209,7 +212,7 @@ rct_xy16 loc_7667AE[] = {
|
|||
{ .x = -1, .y = 0 },
|
||||
};
|
||||
|
||||
/* rct2:0x007667AC */
|
||||
/* rct2: 0x007667AC */
|
||||
rct_xy16 loc_7667AC[] = {
|
||||
{ .x = -1, .y = 0 },
|
||||
{ .x = 0, .y = -1 },
|
||||
|
@ -217,7 +220,9 @@ rct_xy16 loc_7667AC[] = {
|
|||
{ .x = 0, .y = 1 },
|
||||
};
|
||||
|
||||
/* rct2: 0x0142811C
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0142811C
|
||||
* Can be calculated as Rounddown(34*sin(x)+0.5)
|
||||
* where x is in 7.5 deg segments.
|
||||
*/
|
||||
|
@ -228,7 +233,10 @@ static sint8 TopSpinSeatPositionOffset[] = {
|
|||
0
|
||||
};
|
||||
|
||||
/* rct2: 0x0076750D */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0076750D
|
||||
*/
|
||||
void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
// As we will be drawing a vehicle we need to backup the mapElement that
|
||||
// is assigned to the drawings.
|
||||
|
@ -468,7 +476,10 @@ void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 direction
|
|||
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
|
||||
}
|
||||
|
||||
/* rct2: 0x0076693F */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0076693F
|
||||
*/
|
||||
void top_spin_paint_tile_1(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
uint32 image_id = RCT2_GLOBAL(0x00F441A0, uint32);
|
||||
sub_6629BC(height, 0, image_id, direction & 1);
|
||||
|
@ -534,7 +545,10 @@ void top_spin_paint_tile_1(uint8 rideIndex, uint8 trackSequence, uint8 direction
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00767033 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00767033
|
||||
*/
|
||||
void top_spin_paint_tile_2(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
uint32 image_id = RCT2_GLOBAL(0x00F441A0, uint32);
|
||||
sub_6629BC(height, 0, image_id, direction & 1);
|
||||
|
@ -581,7 +595,10 @@ void top_spin_paint_tile_2(uint8 rideIndex, uint8 trackSequence, uint8 direction
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x0076718D */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0076718D
|
||||
*/
|
||||
void top_spin_paint_tile_4(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
uint32 image_id = RCT2_GLOBAL(0x00F441A0, uint32);
|
||||
sub_6629BC(height, 0, image_id, direction & 1);
|
||||
|
@ -628,7 +645,10 @@ void top_spin_paint_tile_4(uint8 rideIndex, uint8 trackSequence, uint8 direction
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00766B4C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00766B4C
|
||||
*/
|
||||
void top_spin_paint_tile_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
uint32 image_id = RCT2_GLOBAL(0x00F441A0, uint32);
|
||||
sub_6629BC(height, 0, image_id, direction & 1);
|
||||
|
@ -694,7 +714,10 @@ void top_spin_paint_tile_3(uint8 rideIndex, uint8 trackSequence, uint8 direction
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x007672E7 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x007672E7
|
||||
*/
|
||||
void top_spin_paint_tile_5(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
uint32 image_id = RCT2_GLOBAL(0x00F441A0, uint32);
|
||||
sub_6629BC(height, 0, image_id, direction & 1);
|
||||
|
@ -742,7 +765,10 @@ void top_spin_paint_tile_5(uint8 rideIndex, uint8 trackSequence, uint8 direction
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00766D09 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00766D09
|
||||
*/
|
||||
void top_spin_paint_tile_6(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
uint32 image_id = RCT2_GLOBAL(0x00F441A0, uint32);
|
||||
sub_6629BC(height, 0, image_id, direction & 1);
|
||||
|
@ -808,7 +834,10 @@ void top_spin_paint_tile_6(uint8 rideIndex, uint8 trackSequence, uint8 direction
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00766EC6 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00766EC6
|
||||
*/
|
||||
void top_spin_paint_tile_7(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
uint32 image_id = RCT2_GLOBAL(0x00F441A0, uint32);
|
||||
sub_6629BC(height, 0, image_id, direction & 1);
|
||||
|
@ -874,7 +903,10 @@ void top_spin_paint_tile_7(uint8 rideIndex, uint8 trackSequence, uint8 direction
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x007673FA */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x007673FA
|
||||
*/
|
||||
void top_spin_paint_tile_8(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
uint32 image_id = RCT2_GLOBAL(0x00F441A0, uint32);
|
||||
sub_6629BC(height, 0, image_id, direction & 1);
|
||||
|
@ -922,7 +954,9 @@ void top_spin_paint_tile_8(uint8 rideIndex, uint8 trackSequence, uint8 direction
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x007667BC
|
||||
/**
|
||||
*
|
||||
* rct2: 0x007667BC
|
||||
*/
|
||||
void top_spin_paint_setup_rot_0(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
switch (trackSequence)
|
||||
|
@ -958,7 +992,9 @@ void top_spin_paint_setup_rot_0(uint8 rideIndex, uint8 trackSequence, uint8 dire
|
|||
return;
|
||||
}
|
||||
|
||||
/* rct2: 0x007667EC
|
||||
/**
|
||||
*
|
||||
* rct2: 0x007667EC
|
||||
*/
|
||||
void top_spin_paint_setup_rot_1(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
switch (trackSequence)
|
||||
|
@ -994,7 +1030,9 @@ void top_spin_paint_setup_rot_1(uint8 rideIndex, uint8 trackSequence, uint8 dire
|
|||
return;
|
||||
}
|
||||
|
||||
/* rct2: 0x0076681C
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0076681C
|
||||
*/
|
||||
void top_spin_paint_setup_rot_2(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
switch (trackSequence)
|
||||
|
@ -1030,7 +1068,9 @@ void top_spin_paint_setup_rot_2(uint8 rideIndex, uint8 trackSequence, uint8 dire
|
|||
return;
|
||||
}
|
||||
|
||||
/* rct2: 0x0076684C
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0076684C
|
||||
*/
|
||||
void top_spin_paint_setup_rot_3(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element* mapElement) {
|
||||
switch (trackSequence)
|
||||
|
|
|
@ -424,7 +424,7 @@ void scenario_set_filename(const char *value)
|
|||
/**
|
||||
*
|
||||
* rct2: 0x0066A752
|
||||
**/
|
||||
*/
|
||||
void scenario_failure()
|
||||
{
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_COMPLETED_COMPANY_VALUE, uint32) = 0x80000001;
|
||||
|
@ -492,10 +492,10 @@ void scenario_success_submit_name(const char *name)
|
|||
RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) &= ~PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Send a warning when entrance price is too high.
|
||||
* rct2: 0x0066A80E
|
||||
**/
|
||||
* rct2: 0x0066A80E
|
||||
*/
|
||||
void scenario_entrance_fee_too_high_check()
|
||||
{
|
||||
uint16 x = 0, y = 0;
|
||||
|
@ -634,10 +634,10 @@ static void scenario_update_daynight_cycle()
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Scenario and finance related update iteration.
|
||||
* rct2: 0x006C44B1
|
||||
**/
|
||||
* rct2: 0x006C44B1
|
||||
*/
|
||||
void scenario_update()
|
||||
{
|
||||
if (!(RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & ~SCREEN_FLAGS_PLAYING)) {
|
||||
|
@ -1323,7 +1323,7 @@ static void scenario_objective_check_10_rollercoasters()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066A13C
|
||||
* rct2: 0x0066A13C
|
||||
*/
|
||||
static void scenario_objective_check_guests_and_rating()
|
||||
{
|
||||
|
@ -1363,8 +1363,8 @@ static void scenario_objective_check_monthly_ride_income()
|
|||
/**
|
||||
* Checks if there are 10 rollercoasters of different subtype with
|
||||
* excitement > 700 and a minimum length;
|
||||
* rct2: 0x0066A6B5
|
||||
**/
|
||||
* rct2: 0x0066A6B5
|
||||
*/
|
||||
static void scenario_objective_check_10_rollercoasters_length()
|
||||
{
|
||||
int i, rcs = 0;
|
||||
|
@ -1434,10 +1434,10 @@ static void scenario_objective_check_monthly_food_income()
|
|||
scenario_success();
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Checks the win/lose conditions of the current objective.
|
||||
* rct2: 0x0066A4B2
|
||||
**/
|
||||
* rct2: 0x0066A4B2
|
||||
*/
|
||||
static void scenario_objective_check()
|
||||
{
|
||||
uint8 objective_type = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_TYPE, uint8),
|
||||
|
|
|
@ -61,7 +61,7 @@ typedef struct {
|
|||
rct_object_entry entry; // 0x188
|
||||
} rct_s6_info;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Scenario scores file header.
|
||||
* size: 0x10
|
||||
*/
|
||||
|
|
|
@ -172,7 +172,10 @@ void window_banner_open(rct_windownumber number)
|
|||
window_invalidate(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x6ba4d6*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6ba4d6
|
||||
*/
|
||||
static void window_banner_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
rct_banner* banner = &gBanners[w->number];
|
||||
|
@ -204,7 +207,10 @@ static void window_banner_mouseup(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6ba4ff */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6ba4ff
|
||||
*/
|
||||
static void window_banner_mousedown(int widgetIndex, rct_window*w, rct_widget* widget)
|
||||
{
|
||||
rct_banner* banner = &gBanners[w->number];
|
||||
|
@ -238,7 +244,10 @@ static void window_banner_mousedown(int widgetIndex, rct_window*w, rct_widget* w
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6ba517 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6ba517
|
||||
*/
|
||||
static void window_banner_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
rct_banner* banner = &gBanners[w->number];
|
||||
|
@ -259,7 +268,10 @@ static void window_banner_dropdown(rct_window *w, int widgetIndex, int dropdownI
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6ba50c */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6ba50c
|
||||
*/
|
||||
static void window_banner_textinput(rct_window *w, int widgetIndex, char *text)
|
||||
{
|
||||
if (widgetIndex == WIDX_BANNER_TEXT && text != NULL) {
|
||||
|
@ -269,7 +281,10 @@ static void window_banner_textinput(rct_window *w, int widgetIndex, char *text)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006BA44D */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BA44D
|
||||
*/
|
||||
static void window_banner_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update(w);
|
||||
|
@ -303,7 +318,7 @@ static void window_banner_invalidate(rct_window *w)
|
|||
drop_down_widget->image = banner->text_colour + 2996;
|
||||
}
|
||||
|
||||
/* rct2:0x006BA4C5 */
|
||||
/* rct2: 0x006BA4C5 */
|
||||
static void window_banner_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -314,7 +329,10 @@ static void window_banner_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6BA7B5 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BA7B5
|
||||
*/
|
||||
static void window_banner_unknown_14(rct_window *w)
|
||||
{
|
||||
rct_viewport* view = w->viewport;
|
||||
|
|
|
@ -364,7 +364,8 @@ static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
}
|
||||
}
|
||||
|
||||
/* New function based on 6e914e
|
||||
/**
|
||||
* New function based on 6e914e
|
||||
* returns -1 if index is invalid
|
||||
*/
|
||||
int dropdown_index_from_point(int x, int y, rct_window *w)
|
||||
|
@ -395,6 +396,7 @@ void window_dropdown_show_colour(rct_window *w, rct_widget *widget, uint8 dropdo
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ED43D
|
||||
* al: dropdown colour
|
||||
* ah: selected colour
|
||||
|
|
|
@ -165,7 +165,9 @@ static int research_item_is_always_researched(rct_research_item *researchItem)
|
|||
return (researchItem->entryIndex & (RESEARCH_ENTRY_FLAG_RIDE_ALWAYS_RESEARCHED | RESEARCH_ENTRY_FLAG_SCENERY_SET_ALWAYS_RESEARCHED)) != 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x0068596F
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0068596F
|
||||
* Sets rides that are in use to be always researched
|
||||
*/
|
||||
static void research_rides_setup(){
|
||||
|
@ -240,7 +242,9 @@ static void research_rides_setup(){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x0068590C
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0068590C
|
||||
* Sets the critical scenery sets to always researched
|
||||
*/
|
||||
static void research_scenery_sets_setup(){
|
||||
|
|
|
@ -428,7 +428,10 @@ void window_editor_object_selection_open()
|
|||
visible_list_refresh(window);
|
||||
}
|
||||
|
||||
/* rct2: 0x006ABCD1 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ABCD1
|
||||
*/
|
||||
static void setup_track_manager_objects(){
|
||||
uint8 ride_list[128] = { 0 };
|
||||
uint8* selection_flags = RCT2_GLOBAL(RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST, uint8*);
|
||||
|
@ -493,7 +496,10 @@ static void setup_track_manager_objects(){
|
|||
RCT2_GLOBAL(0x00F43412, uint16) = num_objects;
|
||||
}
|
||||
|
||||
/* rct2: 0x006ABC1E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ABC1E
|
||||
*/
|
||||
static void setup_track_designer_objects(){
|
||||
uint8* selection_flags = RCT2_GLOBAL(RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST, uint8*);
|
||||
rct_object_entry* installedObject = RCT2_GLOBAL(RCT2_ADDRESS_INSTALLED_OBJECT_LIST, rct_object_entry*);
|
||||
|
@ -547,7 +553,10 @@ static void setup_track_designer_objects(){
|
|||
RCT2_GLOBAL(0x00F43412, uint16) = num_objects;
|
||||
}
|
||||
|
||||
/* rct2: 0x006AA82B */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AA82B
|
||||
*/
|
||||
static void setup_in_use_selection_flags(){
|
||||
|
||||
for (uint8 object_type = 0; object_type < 11; object_type++){
|
||||
|
@ -653,7 +662,10 @@ static void setup_in_use_selection_flags(){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006AB211 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AB211
|
||||
*/
|
||||
static int sub_6AB211(){
|
||||
uint32 total_objects = RCT2_GLOBAL(RCT2_ADDRESS_OBJECT_LIST_NO_ITEMS, uint32);
|
||||
|
||||
|
@ -703,7 +715,10 @@ static int sub_6AB211(){
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* rct2: 0x006AB316 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AB316
|
||||
*/
|
||||
static void editor_object_flags_free(){
|
||||
if (RCT2_GLOBAL(RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST, uint8*) == NULL){
|
||||
return;
|
||||
|
@ -712,7 +727,10 @@ static void editor_object_flags_free(){
|
|||
RCT2_GLOBAL(RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST, uint8*) = NULL;
|
||||
}
|
||||
|
||||
/* rct2: 0x00685791 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00685791
|
||||
*/
|
||||
void remove_selected_objects_from_research(rct_object_entry* installedObject){
|
||||
uint8 entry_type, entry_index;
|
||||
if (!find_object_in_entry_group(installedObject, &entry_type, &entry_index))
|
||||
|
@ -729,7 +747,10 @@ void remove_selected_objects_from_research(rct_object_entry* installedObject){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006ABB66 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ABB66
|
||||
*/
|
||||
void unload_unselected_objects(){
|
||||
uint8* selection_flags = RCT2_GLOBAL(RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST, uint8*);
|
||||
rct_object_entry* installedObject = RCT2_GLOBAL(RCT2_ADDRESS_INSTALLED_OBJECT_LIST, rct_object_entry*);
|
||||
|
@ -1545,7 +1566,10 @@ static void window_editor_object_selection_select_required_objects()
|
|||
window_editor_object_selection_select_object(0, 0xF, &RequiredSelectedObjects[i]);
|
||||
}
|
||||
|
||||
/* rct2: 0x006AA770 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AA770
|
||||
*/
|
||||
void reset_selected_object_count_and_size(){
|
||||
for (uint8 object_type = 0; object_type < 11; object_type++){
|
||||
RCT2_ADDRESS(0x00F433F7, uint16)[object_type] = 0;
|
||||
|
@ -1584,7 +1608,10 @@ void reset_selected_object_count_and_size(){
|
|||
RCT2_GLOBAL(RCT2_ADDRESS_SELECTED_OBJECTS_FILE_SIZE, uint32) = total_object_size;
|
||||
}
|
||||
|
||||
/* rct2: 0x006AB863 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AB863
|
||||
*/
|
||||
void set_required_object_flags(rct_object_entry* required_object){
|
||||
uint8* selection_flags = RCT2_GLOBAL(RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST, uint8*);
|
||||
rct_object_entry* installedObject = RCT2_GLOBAL(RCT2_ADDRESS_INSTALLED_OBJECT_LIST, rct_object_entry*);
|
||||
|
@ -1624,7 +1651,10 @@ void set_required_object_flags(rct_object_entry* required_object){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006AB923 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AB923
|
||||
*/
|
||||
void reset_required_object_flags(){
|
||||
uint8* selection_flags = RCT2_GLOBAL(RCT2_ADDRESS_EDITOR_OBJECT_FLAGS_LIST, uint8*);
|
||||
for (int i = RCT2_GLOBAL(RCT2_ADDRESS_OBJECT_LIST_NO_ITEMS, uint32); i > 0; --i){
|
||||
|
@ -1668,7 +1698,7 @@ void reset_required_object_flags(){
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Master objects are objects that are not
|
||||
* optional / required dependants of an
|
||||
* object.
|
||||
|
@ -1882,7 +1912,7 @@ static int window_editor_object_selection_select_object(uint8 bh, int flags, rct
|
|||
* Returns the position in the list.
|
||||
* Object_selection_flags, installed_entry also populated
|
||||
*
|
||||
* rct2: 0x006AA703
|
||||
* rct2: 0x006AA703
|
||||
*/
|
||||
static int get_object_from_object_selection(uint8 object_type, int y, uint8 *object_selection_flags, rct_object_entry **installed_entry)
|
||||
{
|
||||
|
|
|
@ -821,7 +821,7 @@ static void window_footpath_start_bridge_at_point(int screenX, int screenY)
|
|||
}
|
||||
|
||||
/**
|
||||
* Construct a piece of footpath while in bridge building mode.
|
||||
* Construct a piece of footpath while in bridge building mode.
|
||||
* rct2: 0x006A79B7
|
||||
*/
|
||||
static void window_footpath_construct()
|
||||
|
|
|
@ -87,7 +87,10 @@ static void window_game_bottom_toolbar_draw_right_panel(rct_drawpixelinfo *dpi,
|
|||
static void window_game_bottom_toolbar_draw_news_item(rct_drawpixelinfo *dpi, rct_window *w);
|
||||
static void window_game_bottom_toolbar_draw_tutorial_text(rct_drawpixelinfo *dpi, rct_window *w);
|
||||
|
||||
/* rct2: 0x0097BFDC */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0097BFDC
|
||||
*/
|
||||
static rct_window_event_list window_game_bottom_toolbar_events = {
|
||||
NULL,
|
||||
window_game_bottom_toolbar_mouseup,
|
||||
|
@ -606,7 +609,10 @@ static void window_game_bottom_toolbar_draw_tutorial_text(rct_drawpixelinfo *dpi
|
|||
gfx_draw_string_centred(dpi, STR_PRESS_KEY_OR_MOUSE_BUTTON_FOR_CONTROL, x, y + 10, 32, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x0066C6D8 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066C6D8
|
||||
*/
|
||||
static void window_game_bottom_toolbar_update(rct_window* w){
|
||||
|
||||
w->frame_no++;
|
||||
|
@ -616,7 +622,10 @@ static void window_game_bottom_toolbar_update(rct_window* w){
|
|||
window_game_bottom_toolbar_invalidate_dirty_widgets(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x006C644 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C644
|
||||
*/
|
||||
static void window_game_bottom_toolbar_cursor(rct_window *w, int widgetIndex, int x, int y, int *cursorId)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
|
@ -629,13 +638,19 @@ static void window_game_bottom_toolbar_cursor(rct_window *w, int widgetIndex, in
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x0066C6F2 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066C6F2
|
||||
*/
|
||||
static void window_game_bottom_toolbar_unknown05(rct_window *w)
|
||||
{
|
||||
window_game_bottom_toolbar_invalidate_dirty_widgets(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x0066C6F2 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066C6F2
|
||||
*/
|
||||
static void window_game_bottom_toolbar_invalidate_dirty_widgets(rct_window *w)
|
||||
{
|
||||
if (RCT2_GLOBAL(RCT2_ADDRESS_BTM_TOOLBAR_DIRTY_FLAGS, uint16) & BTM_TB_DIRTY_FLAG_MONEY){
|
||||
|
|
|
@ -480,7 +480,8 @@ uint32 window_guest_page_enabled_widgets[] = {
|
|||
};
|
||||
|
||||
/**
|
||||
* rct2: 0x006989E9
|
||||
*
|
||||
* rct2: 0x006989E9
|
||||
*
|
||||
*/
|
||||
void window_guest_open(rct_peep* peep){
|
||||
|
@ -529,9 +530,10 @@ void window_guest_open(rct_peep* peep){
|
|||
window_guest_viewport_init(window);
|
||||
}
|
||||
|
||||
/* rct2: 0x006987A6
|
||||
/**
|
||||
* Disables the finance tab when no money.
|
||||
* Disables peep pickup when in certain no pickup states.
|
||||
* rct2: 0x006987A6
|
||||
*/
|
||||
void window_guest_disable_widgets(rct_window* w){
|
||||
rct_peep* peep = &g_sprite_list[w->number].peep;
|
||||
|
@ -552,7 +554,10 @@ void window_guest_disable_widgets(rct_window* w){
|
|||
w->disabled_widgets = disabled_widgets;
|
||||
}
|
||||
|
||||
/* rct2: 0x00696A75 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00696A75
|
||||
*/
|
||||
void window_guest_overview_close(rct_window *w)
|
||||
{
|
||||
if (RCT2_GLOBAL(RCT2_ADDRESS_INPUT_FLAGS, uint32) & INPUT_FLAG_TOOL_ACTIVE){
|
||||
|
@ -562,7 +567,10 @@ void window_guest_overview_close(rct_window *w)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00696FBE */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00696FBE
|
||||
*/
|
||||
void window_guest_overview_resize(rct_window *w){
|
||||
window_guest_disable_widgets(w);
|
||||
window_event_invalidate_call(w);
|
||||
|
@ -589,7 +597,10 @@ void window_guest_overview_resize(rct_window *w){
|
|||
window_guest_viewport_init(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x00696A06 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00696A06
|
||||
*/
|
||||
void window_guest_overview_mouse_up(rct_window *w, int widgetIndex)
|
||||
{
|
||||
rct_peep* peep = GET_PEEP(w->number);
|
||||
|
@ -637,7 +648,10 @@ void window_guest_overview_mouse_up(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x696AA0 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x696AA0
|
||||
*/
|
||||
void window_guest_set_page(rct_window* w, int page){
|
||||
if (RCT2_GLOBAL(RCT2_ADDRESS_INPUT_FLAGS, uint32) & INPUT_FLAG_TOOL_ACTIVE)
|
||||
{
|
||||
|
@ -684,7 +698,10 @@ void window_guest_overview_unknown_14(rct_window *w)
|
|||
window_guest_viewport_init(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x0069883C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069883C
|
||||
*/
|
||||
void window_guest_viewport_init(rct_window* w){
|
||||
if (w->page != WINDOW_GUEST_OVERVIEW) return;
|
||||
|
||||
|
@ -787,7 +804,8 @@ void window_guest_viewport_init(rct_window* w){
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x6983dd
|
||||
*
|
||||
* rct2: 0x6983dd
|
||||
* used by window_staff as well
|
||||
*/
|
||||
void window_guest_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
||||
|
@ -849,7 +867,10 @@ void window_guest_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
|||
rct2_free(clip_dpi);
|
||||
}
|
||||
|
||||
/* rct2: 0x69869b */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x69869b
|
||||
*/
|
||||
void window_guest_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
||||
if (w->disabled_widgets & (1 << WIDX_TAB_2))
|
||||
return;
|
||||
|
@ -878,7 +899,10 @@ void window_guest_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
|||
gfx_draw_sprite(dpi, image_id, x, y, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x69861F */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x69861F
|
||||
*/
|
||||
void window_guest_rides_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
||||
if (w->disabled_widgets & (1 << WIDX_TAB_3)) return;
|
||||
|
||||
|
@ -895,7 +919,10 @@ void window_guest_rides_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
|||
gfx_draw_sprite(dpi, image_id, x, y, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x698597 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x698597
|
||||
*/
|
||||
void window_guest_finance_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
||||
if (w->disabled_widgets & (1 << WIDX_TAB_4)) return;
|
||||
|
||||
|
@ -912,7 +939,10 @@ void window_guest_finance_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
|||
gfx_draw_sprite(dpi, image_id, x, y, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x6985D8 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6985D8
|
||||
*/
|
||||
void window_guest_thoughts_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
||||
if (w->disabled_widgets & (1 << WIDX_TAB_5)) return;
|
||||
|
||||
|
@ -929,7 +959,10 @@ void window_guest_thoughts_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
|||
gfx_draw_sprite(dpi, image_id, x, y, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x698661 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x698661
|
||||
*/
|
||||
void window_guest_inventory_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
||||
if (w->disabled_widgets & (1 << WIDX_TAB_6)) return;
|
||||
|
||||
|
@ -942,7 +975,10 @@ void window_guest_inventory_tab_paint(rct_window* w, rct_drawpixelinfo* dpi){
|
|||
gfx_draw_sprite(dpi, image_id, x, y, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x696887 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x696887
|
||||
*/
|
||||
void window_guest_overview_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -1012,7 +1048,10 @@ void window_guest_overview_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
rct2_free(dpi_marquee);
|
||||
}
|
||||
|
||||
/* rct2: 0x696749*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x696749
|
||||
*/
|
||||
void window_guest_overview_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update(w);
|
||||
|
@ -1067,7 +1106,10 @@ void window_guest_overview_invalidate(rct_window *w)
|
|||
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6);
|
||||
}
|
||||
|
||||
/* rct2: 0x696F45 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x696F45
|
||||
*/
|
||||
void window_guest_overview_update(rct_window* w){
|
||||
int var_496 = w->var_494 >> 16;
|
||||
var_496++;
|
||||
|
@ -1100,7 +1142,7 @@ void window_guest_overview_update(rct_window* w){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2:0x696A6A */
|
||||
/* rct2: 0x696A6A */
|
||||
void window_guest_overview_text_input(rct_window *w, int widgetIndex, char *text)
|
||||
{
|
||||
if (widgetIndex != WIDX_RENAME)
|
||||
|
@ -1115,7 +1157,10 @@ void window_guest_overview_text_input(rct_window *w, int widgetIndex, char *text
|
|||
game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((int*)(text + 24)), GAME_COMMAND_SET_PEEP_NAME, *((int*)(text + 32)), *((int*)(text + 28)));
|
||||
}
|
||||
|
||||
/* rct2: 0x696A5F */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x696A5F
|
||||
*/
|
||||
void window_guest_overview_tool_update(rct_window* w, int widgetIndex, int x, int y)
|
||||
{
|
||||
if (widgetIndex != WIDX_PICKUP)
|
||||
|
@ -1163,7 +1208,10 @@ void window_guest_overview_tool_update(rct_window* w, int widgetIndex, int x, in
|
|||
RCT2_GLOBAL(RCT2_ADDRESS_PICKEDUP_PEEP_SPRITE, uint32) = ebx;
|
||||
}
|
||||
|
||||
/* rct2: 0x696A54 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x696A54
|
||||
*/
|
||||
void window_guest_overview_tool_down(rct_window* w, int widgetIndex, int x, int y)
|
||||
{
|
||||
if (widgetIndex != WIDX_PICKUP)
|
||||
|
@ -1218,7 +1266,10 @@ void window_guest_overview_tool_down(rct_window* w, int widgetIndex, int x, int
|
|||
RCT2_GLOBAL(0x9DE550, sint32) = -1;
|
||||
}
|
||||
|
||||
/* rct2: 0x696A49 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x696A49
|
||||
*/
|
||||
void window_guest_overview_tool_abort(rct_window *w, int widgetIndex)
|
||||
{
|
||||
if (widgetIndex != WIDX_PICKUP)
|
||||
|
@ -1245,8 +1296,9 @@ void window_guest_overview_tool_abort(rct_window *w, int widgetIndex)
|
|||
RCT2_GLOBAL(RCT2_ADDRESS_PICKEDUP_PEEP_SPRITE, sint32) = -1;
|
||||
}
|
||||
|
||||
/* rct2:0x69744F, 0x697795, 0x697BDD, 0x697E18, 0x698279
|
||||
/**
|
||||
* This is a combination of 5 functions that were identical
|
||||
* rct2: 0x69744F, 0x697795, 0x697BDD, 0x697E18, 0x698279
|
||||
*/
|
||||
void window_guest_mouse_up(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -1265,21 +1317,28 @@ void window_guest_mouse_up(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x697488 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x697488
|
||||
*/
|
||||
void window_guest_stats_resize(rct_window *w)
|
||||
{
|
||||
window_set_resize(w, 192, 162, 192, 162);
|
||||
}
|
||||
|
||||
/* rct2: 0x6974ED, 0x00697959, 0x00697C7B, 0x00697ED2, 0x00698333
|
||||
/**
|
||||
* This is a combination of 5 functions that were identical
|
||||
* rct2: 0x6974ED, 0x00697959, 0x00697C7B, 0x00697ED2, 0x00698333
|
||||
*/
|
||||
void window_guest_unknown_05(rct_window *w)
|
||||
{
|
||||
widget_invalidate(w, WIDX_TAB_1);
|
||||
}
|
||||
|
||||
/* rct2: 0x69746A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x69746A
|
||||
*/
|
||||
void window_guest_stats_update(rct_window *w)
|
||||
{
|
||||
w->frame_no++;
|
||||
|
@ -1289,7 +1348,10 @@ void window_guest_stats_update(rct_window *w)
|
|||
window_invalidate(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x69707D */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x69707D
|
||||
*/
|
||||
void window_guest_stats_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update(w);
|
||||
|
@ -1344,7 +1406,10 @@ void window_guest_stats_bars_paint(int value, int x, int y, rct_window *w, rct_d
|
|||
|
||||
}
|
||||
|
||||
/* rct2: 0x0069711D */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069711D
|
||||
*/
|
||||
void window_guest_stats_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -1496,13 +1561,19 @@ void window_guest_stats_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
gfx_draw_string_left(dpi, 1661, (void*)0x13CE952, 0, x, y);
|
||||
}
|
||||
|
||||
/* rct2: 0x006978F4 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006978F4
|
||||
*/
|
||||
void window_guest_rides_resize(rct_window *w)
|
||||
{
|
||||
window_set_resize(w, 192, 128, 500, 400);
|
||||
}
|
||||
|
||||
/* rct2: 0x6977B0 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6977B0
|
||||
*/
|
||||
void window_guest_rides_update(rct_window *w)
|
||||
{
|
||||
w->frame_no++;
|
||||
|
@ -1536,13 +1607,19 @@ void window_guest_rides_update(rct_window *w)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x697844 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x697844
|
||||
*/
|
||||
void window_guest_rides_tooltip(rct_window* w, int widgetIndex, rct_string_id *stringId)
|
||||
{
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, uint16) = STR_LIST;
|
||||
}
|
||||
|
||||
/* rct2: 0x69784E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x69784E
|
||||
*/
|
||||
void window_guest_rides_scroll_get_size(rct_window *w, int scrollIndex, int *width, int *height)
|
||||
{
|
||||
*height = w->no_list_items * 10;
|
||||
|
@ -1565,7 +1642,10 @@ void window_guest_rides_scroll_get_size(rct_window *w, int scrollIndex, int *wid
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006978CC */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006978CC
|
||||
*/
|
||||
void window_guest_rides_scroll_mouse_down(rct_window *w, int scrollIndex, int x, int y)
|
||||
{
|
||||
int index;
|
||||
|
@ -1576,7 +1656,10 @@ void window_guest_rides_scroll_mouse_down(rct_window *w, int scrollIndex, int x,
|
|||
window_ride_main_open(w->list_item_positions[index]);
|
||||
}
|
||||
|
||||
/* rct2: 0x0069789C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069789C
|
||||
*/
|
||||
void window_guest_rides_scroll_mouse_over(rct_window *w, int scrollIndex, int x, int y)
|
||||
{
|
||||
int index;
|
||||
|
@ -1590,7 +1673,10 @@ void window_guest_rides_scroll_mouse_over(rct_window *w, int scrollIndex, int x,
|
|||
window_invalidate(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x0069757A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069757A
|
||||
*/
|
||||
void window_guest_rides_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update(w);
|
||||
|
@ -1623,7 +1709,10 @@ void window_guest_rides_invalidate(rct_window *w)
|
|||
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6);
|
||||
}
|
||||
|
||||
/* rct2: 0x00697637 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697637
|
||||
*/
|
||||
void window_guest_rides_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -1658,7 +1747,10 @@ void window_guest_rides_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
gfx_draw_string_left_clipped(dpi, 3093, (void*)0x13CE952, 0, x, y, w->width - 14);
|
||||
}
|
||||
|
||||
/* rct2: 0x006976FC */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006976FC
|
||||
*/
|
||||
void window_guest_rides_scroll_paint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex)
|
||||
{
|
||||
// ax
|
||||
|
@ -1686,13 +1778,19 @@ void window_guest_rides_scroll_paint(rct_window *w, rct_drawpixelinfo *dpi, int
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00697C16 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697C16
|
||||
*/
|
||||
void window_guest_finance_resize(rct_window *w)
|
||||
{
|
||||
window_set_resize(w, 210, 134, 210, 134);
|
||||
}
|
||||
|
||||
/* rct2: 0x00697BF8 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697BF8
|
||||
*/
|
||||
void window_guest_finance_update(rct_window *w)
|
||||
{
|
||||
w->frame_no++;
|
||||
|
@ -1701,7 +1799,10 @@ void window_guest_finance_update(rct_window *w)
|
|||
widget_invalidate(w, WIDX_TAB_4);
|
||||
}
|
||||
|
||||
/* rct2: 0x00697968 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697968
|
||||
*/
|
||||
void window_guest_finance_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update(w);
|
||||
|
@ -1732,7 +1833,10 @@ void window_guest_finance_invalidate(rct_window *w)
|
|||
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6);
|
||||
}
|
||||
|
||||
/* rct2: 0x00697A08 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697A08
|
||||
*/
|
||||
void window_guest_finance_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -1811,7 +1915,10 @@ void window_guest_finance_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x00697E33 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697E33
|
||||
*/
|
||||
void window_guest_thoughts_resize(rct_window *w)
|
||||
{
|
||||
rct_peep* peep = GET_PEEP(w->number);
|
||||
|
@ -1823,7 +1930,10 @@ void window_guest_thoughts_resize(rct_window *w)
|
|||
window_set_resize(w, 192, 159, 500, 450);
|
||||
}
|
||||
|
||||
/* rct2: 0x00697EB4 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697EB4
|
||||
*/
|
||||
void window_guest_thoughts_update(rct_window *w)
|
||||
{
|
||||
w->frame_no++;
|
||||
|
@ -1832,7 +1942,10 @@ void window_guest_thoughts_update(rct_window *w)
|
|||
widget_invalidate(w, WIDX_TAB_5);
|
||||
}
|
||||
|
||||
/* rct2: 0x00697C8A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697C8A
|
||||
*/
|
||||
void window_guest_thoughts_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update(w);
|
||||
|
@ -1863,7 +1976,10 @@ void window_guest_thoughts_invalidate(rct_window *w)
|
|||
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6);
|
||||
}
|
||||
|
||||
/* rct2: 0x00697D2A */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697D2A
|
||||
*/
|
||||
void window_guest_thoughts_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -1905,7 +2021,10 @@ void window_guest_thoughts_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
}
|
||||
|
||||
|
||||
/* rct2: 0x00698294 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00698294
|
||||
*/
|
||||
void window_guest_inventory_resize(rct_window *w)
|
||||
{
|
||||
rct_peep* peep = GET_PEEP(w->number);
|
||||
|
@ -1917,7 +2036,10 @@ void window_guest_inventory_resize(rct_window *w)
|
|||
window_set_resize(w, 192, 159, 500, 450);
|
||||
}
|
||||
|
||||
/* rct2: 0x00698315 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00698315
|
||||
*/
|
||||
void window_guest_inventory_update(rct_window *w)
|
||||
{
|
||||
w->frame_no++;
|
||||
|
@ -1926,7 +2048,10 @@ void window_guest_inventory_update(rct_window *w)
|
|||
widget_invalidate(w, WIDX_TAB_6);
|
||||
}
|
||||
|
||||
/* rct2: 0x00697EE1 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697EE1
|
||||
*/
|
||||
void window_guest_inventory_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update(w);
|
||||
|
@ -2030,7 +2155,10 @@ static rct_string_id window_guest_inventory_format_item(rct_peep *peep, int item
|
|||
return STR_GUEST_ITEM_FORMAT;
|
||||
}
|
||||
|
||||
/* rct2: 0x00697F81 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00697F81
|
||||
*/
|
||||
void window_guest_inventory_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
|
|
@ -770,7 +770,7 @@ static void window_guest_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi,
|
|||
|
||||
|
||||
/**
|
||||
* returns 0 for in filter and 1 for not in filter
|
||||
* returns 0 for in filter and 1 for not in filter
|
||||
* rct2: 0x0069B865
|
||||
*/
|
||||
static int window_guest_list_is_peep_in_filter(rct_peep* peep)
|
||||
|
@ -793,8 +793,8 @@ static int window_guest_list_is_peep_in_filter(rct_peep* peep)
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2:0x0069B7EA
|
||||
* Calculates a hash value (arguments) for comparing peep actions/thoughts
|
||||
* rct2: 0x0069B7EA
|
||||
* peep (esi)
|
||||
* argument_1 (0x013CE952)
|
||||
* argument_2 (0x013CE954)
|
||||
|
|
|
@ -92,7 +92,7 @@ void window_main_open()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x66CCAE
|
||||
* rct2: 0x66CCAE
|
||||
* This function immediately jumps to 0x00685BE1 this is the second function
|
||||
* decompiled.
|
||||
*/
|
||||
|
|
|
@ -636,7 +636,7 @@ static void window_map_textinput(rct_window *w, int widgetIndex, char *text)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0068D140
|
||||
*/
|
||||
|
@ -968,7 +968,7 @@ static void window_map_draw_tab_images(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
|
||||
/**
|
||||
*
|
||||
* part of window_map_paint_peep_overlay and window_map_paint_train_overlay
|
||||
* part of window_map_paint_peep_overlay and window_map_paint_train_overlay
|
||||
*/
|
||||
static void window_map_transform_to_map_coords(sint16 *left, sint16 *top)
|
||||
{
|
||||
|
@ -1082,8 +1082,8 @@ static void window_map_paint_train_overlay(rct_drawpixelinfo *dpi)
|
|||
}
|
||||
|
||||
/**
|
||||
* The call to gfx_fill_rect was originally wrapped in sub_68DABD which made sure that arguments were ordered correctly,
|
||||
* but it doesn't look like it's ever necessary here so the call was removed.
|
||||
* The call to gfx_fill_rect was originally wrapped in sub_68DABD which made sure that arguments were ordered correctly,
|
||||
* but it doesn't look like it's ever necessary here so the call was removed.
|
||||
*
|
||||
* rct2: 0x0068D8CE
|
||||
*/
|
||||
|
|
|
@ -139,7 +139,7 @@ static void window_maze_construction_construct(int direction);
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CB481
|
||||
* rct2: 0x006CB481
|
||||
*/
|
||||
rct_window *window_maze_construction_open()
|
||||
{
|
||||
|
@ -159,7 +159,7 @@ rct_window *window_maze_construction_open()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD811
|
||||
* rct2: 0x006CD811
|
||||
*/
|
||||
static void window_maze_construction_close(rct_window *w)
|
||||
{
|
||||
|
@ -208,7 +208,7 @@ static void window_maze_construction_entrance_mouseup(rct_window *w, int widgetI
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD461
|
||||
* rct2: 0x006CD461
|
||||
*/
|
||||
static void window_maze_construction_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -233,7 +233,7 @@ static void window_maze_construction_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD623
|
||||
* rct2: 0x006CD623
|
||||
*/
|
||||
static void window_maze_construction_resize(rct_window *w)
|
||||
{
|
||||
|
@ -265,7 +265,7 @@ static void window_maze_construction_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD48C
|
||||
* rct2: 0x006CD48C
|
||||
*/
|
||||
static void window_maze_construction_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -287,7 +287,7 @@ static void window_maze_construction_mousedown(int widgetIndex, rct_window *w, r
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD767
|
||||
* rct2: 0x006CD767
|
||||
*/
|
||||
static void window_maze_construction_update(rct_window *w)
|
||||
{
|
||||
|
@ -323,7 +323,7 @@ static void window_maze_construction_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD63E
|
||||
* rct2: 0x006CD63E
|
||||
*/
|
||||
static void window_maze_construction_toolupdate(rct_window* w, int widgetIndex, int x, int y)
|
||||
{
|
||||
|
@ -409,7 +409,7 @@ static void window_maze_construction_tooldown(rct_window* w, int widgetIndex, in
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD435
|
||||
* rct2: 0x006CD435
|
||||
*/
|
||||
static void window_maze_construction_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -422,7 +422,7 @@ static void window_maze_construction_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD45B
|
||||
* rct2: 0x006CD45B
|
||||
*/
|
||||
static void window_maze_construction_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -431,7 +431,7 @@ static void window_maze_construction_paint(rct_window *w, rct_drawpixelinfo *dpi
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD887
|
||||
* rct2: 0x006CD887
|
||||
*/
|
||||
void window_maze_construction_update_pressed_widgets()
|
||||
{
|
||||
|
@ -464,7 +464,7 @@ void window_maze_construction_update_pressed_widgets()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD4AB
|
||||
* rct2: 0x006CD4AB
|
||||
*/
|
||||
static void window_maze_construction_construct(int direction)
|
||||
{
|
||||
|
|
|
@ -281,7 +281,7 @@ void window_new_ride_init_vars() {
|
|||
/**
|
||||
* rct2: 0x006B6F3E
|
||||
*
|
||||
* Note: When the user has selection by track type enabled, the categories are determined by the track type, not those in the rct_ride_type.
|
||||
* Note: When the user has selection by track type enabled, the categories are determined by the track type, not those in the rct_ride_type.
|
||||
*/
|
||||
static void window_new_ride_populate_list()
|
||||
{
|
||||
|
|
|
@ -970,7 +970,7 @@ static void window_ride_draw_tab_image(rct_drawpixelinfo *dpi, rct_window *w, in
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2E88
|
||||
* rct2: 0x006B2E88
|
||||
*/
|
||||
static void window_ride_draw_tab_main(rct_drawpixelinfo *dpi, rct_window *w)
|
||||
{
|
||||
|
@ -1004,7 +1004,7 @@ static void window_ride_draw_tab_main(rct_drawpixelinfo *dpi, rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2B68
|
||||
* rct2: 0x006B2B68
|
||||
*/
|
||||
static void window_ride_draw_tab_vehicle(rct_drawpixelinfo *dpi, rct_window *w)
|
||||
{
|
||||
|
@ -1073,7 +1073,7 @@ static void window_ride_draw_tab_vehicle(rct_drawpixelinfo *dpi, rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2F42
|
||||
* rct2: 0x006B2F42
|
||||
*/
|
||||
static void window_ride_draw_tab_customer(rct_drawpixelinfo *dpi, rct_window *w)
|
||||
{
|
||||
|
@ -1096,7 +1096,7 @@ static void window_ride_draw_tab_customer(rct_drawpixelinfo *dpi, rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2B35
|
||||
* rct2: 0x006B2B35
|
||||
*/
|
||||
static void window_ride_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w)
|
||||
{
|
||||
|
@ -1164,7 +1164,7 @@ void window_ride_disable_tabs(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AEAB4
|
||||
* rct2: 0x006AEAB4
|
||||
*/
|
||||
rct_window *window_ride_open(int rideIndex)
|
||||
{
|
||||
|
@ -1207,7 +1207,7 @@ rct_window *window_ride_open(int rideIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ACC28
|
||||
* rct2: 0x006ACC28
|
||||
*/
|
||||
rct_window *window_ride_main_open(int rideIndex)
|
||||
{
|
||||
|
@ -1246,7 +1246,7 @@ rct_window *window_ride_main_open(int rideIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ACCCE
|
||||
* rct2: 0x006ACCCE
|
||||
*/
|
||||
rct_window *window_ride_open_station(int rideIndex, int stationIndex)
|
||||
{
|
||||
|
@ -1315,7 +1315,7 @@ rct_window *window_ride_open_track(rct_map_element *mapElement)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ACAC2
|
||||
* rct2: 0x006ACAC2
|
||||
*/
|
||||
rct_window *window_ride_open_vehicle(rct_vehicle *vehicle)
|
||||
{
|
||||
|
@ -1472,7 +1472,7 @@ static void window_ride_anchor_border_widgets(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF994
|
||||
* rct2: 0x006AF994
|
||||
*/
|
||||
static void window_ride_init_viewport(rct_window *w)
|
||||
{
|
||||
|
@ -1593,7 +1593,7 @@ static void window_ride_init_viewport(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B4971
|
||||
* rct2: 0x006B4971
|
||||
*/
|
||||
void window_ride_construct(rct_window *w)
|
||||
{
|
||||
|
@ -1606,7 +1606,7 @@ void window_ride_construct(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF315
|
||||
* rct2: 0x006AF315
|
||||
*/
|
||||
static void window_ride_rename(rct_window *w)
|
||||
{
|
||||
|
@ -1619,7 +1619,7 @@ static void window_ride_rename(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF17E
|
||||
* rct2: 0x006AF17E
|
||||
*/
|
||||
static void window_ride_main_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -1684,7 +1684,7 @@ static void window_ride_main_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF4A2
|
||||
* rct2: 0x006AF4A2
|
||||
*/
|
||||
static void window_ride_main_resize(rct_window *w)
|
||||
{
|
||||
|
@ -1714,7 +1714,7 @@ static void window_ride_main_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF825
|
||||
* rct2: 0x006AF825
|
||||
*/
|
||||
static void window_ride_show_view_dropdown(rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -1777,7 +1777,7 @@ static void window_ride_show_view_dropdown(rct_window *w, rct_widget *widget)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF64C
|
||||
* rct2: 0x006AF64C
|
||||
*/
|
||||
static void window_ride_show_open_dropdown(rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -1853,7 +1853,7 @@ static void window_ride_show_open_dropdown(rct_window *w, rct_widget *widget)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF1BD
|
||||
* rct2: 0x006AF1BD
|
||||
*/
|
||||
static void window_ride_main_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -1869,7 +1869,7 @@ static void window_ride_main_mousedown(int widgetIndex, rct_window *w, rct_widge
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF300
|
||||
* rct2: 0x006AF300
|
||||
*/
|
||||
static void window_ride_main_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
|
@ -1925,7 +1925,7 @@ static void window_ride_main_dropdown(rct_window *w, int widgetIndex, int dropdo
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF40F
|
||||
* rct2: 0x006AF40F
|
||||
*/
|
||||
static void window_ride_main_update(rct_window *w)
|
||||
{
|
||||
|
@ -1969,7 +1969,7 @@ static void window_ride_main_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF2F9
|
||||
* rct2: 0x006AF2F9
|
||||
*/
|
||||
static void window_ride_main_textinput(rct_window *w, int widgetIndex, char *text)
|
||||
{
|
||||
|
@ -1981,7 +1981,7 @@ static void window_ride_main_textinput(rct_window *w, int widgetIndex, char *tex
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF55A
|
||||
* rct2: 0x006AF55A
|
||||
*/
|
||||
static void window_ride_main_unknown_14(rct_window *w)
|
||||
{
|
||||
|
@ -1990,7 +1990,7 @@ static void window_ride_main_unknown_14(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AECF6
|
||||
* rct2: 0x006AECF6
|
||||
*/
|
||||
static void window_ride_main_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -2075,7 +2075,7 @@ static void window_ride_main_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF10A
|
||||
* rct2: 0x006AF10A
|
||||
*/
|
||||
static rct_string_id window_ride_get_status_overall_view(rct_window *w, void *arguments)
|
||||
{
|
||||
|
@ -2094,7 +2094,7 @@ static rct_string_id window_ride_get_status_overall_view(rct_window *w, void *ar
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AEFEF
|
||||
* rct2: 0x006AEFEF
|
||||
*/
|
||||
static rct_string_id window_ride_get_status_vehicle(rct_window *w, void *arguments)
|
||||
{
|
||||
|
@ -2144,7 +2144,7 @@ static rct_string_id window_ride_get_status_vehicle(rct_window *w, void *argumen
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AEF65
|
||||
* rct2: 0x006AEF65
|
||||
*/
|
||||
static rct_string_id window_ride_get_status_station(rct_window *w, void *arguments)
|
||||
{
|
||||
|
@ -2192,7 +2192,7 @@ static rct_string_id window_ride_get_status_station(rct_window *w, void *argumen
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AEE73
|
||||
* rct2: 0x006AEE73
|
||||
*/
|
||||
static rct_string_id window_ride_get_status(rct_window *w, void *arguments)
|
||||
{
|
||||
|
@ -2209,7 +2209,7 @@ static rct_string_id window_ride_get_status(rct_window *w, void *arguments)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AEE73
|
||||
* rct2: 0x006AEE73
|
||||
*/
|
||||
static void window_ride_main_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -2270,7 +2270,7 @@ static void window_ride_main_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B272D
|
||||
* rct2: 0x006B272D
|
||||
*/
|
||||
static void window_ride_vehicle_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -2299,7 +2299,7 @@ static void window_ride_vehicle_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2ABB
|
||||
* rct2: 0x006B2ABB
|
||||
*/
|
||||
static void window_ride_vehicle_resize(rct_window *w)
|
||||
{
|
||||
|
@ -2308,7 +2308,7 @@ static void window_ride_vehicle_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2748
|
||||
* rct2: 0x006B2748
|
||||
*/
|
||||
static void window_ride_vehicle_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -2434,7 +2434,7 @@ static void window_ride_vehicle_mousedown(int widgetIndex, rct_window *w, rct_wi
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2767
|
||||
* rct2: 0x006B2767
|
||||
*/
|
||||
static void window_ride_vehicle_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
|
@ -2463,7 +2463,7 @@ static void window_ride_vehicle_dropdown(rct_window *w, int widgetIndex, int dro
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2AA1
|
||||
* rct2: 0x006B2AA1
|
||||
*/
|
||||
static void window_ride_vehicle_update(rct_window *w)
|
||||
{
|
||||
|
@ -2474,7 +2474,7 @@ static void window_ride_vehicle_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B222C
|
||||
* rct2: 0x006B222C
|
||||
*/
|
||||
static void window_ride_vehicle_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -2548,7 +2548,7 @@ static void window_ride_vehicle_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B23DC
|
||||
* rct2: 0x006B23DC
|
||||
*/
|
||||
static void window_ride_vehicle_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -2611,7 +2611,7 @@ rct_vehichle_paintinfo _sprites_to_draw[144];
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2502
|
||||
* rct2: 0x006B2502
|
||||
*/
|
||||
static void window_ride_vehicle_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex)
|
||||
{
|
||||
|
@ -2737,7 +2737,7 @@ static void window_ride_mode_tweak_set(rct_window *w, uint8 value)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B11D5
|
||||
* rct2: 0x006B11D5
|
||||
*/
|
||||
static void window_ride_mode_tweak_increase(rct_window *w)
|
||||
{
|
||||
|
@ -2758,7 +2758,7 @@ static void window_ride_mode_tweak_increase(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B120A
|
||||
* rct2: 0x006B120A
|
||||
*/
|
||||
static void window_ride_mode_tweak_decrease(rct_window *w)
|
||||
{
|
||||
|
@ -2772,7 +2772,7 @@ static void window_ride_mode_tweak_decrease(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1631
|
||||
* rct2: 0x006B1631
|
||||
*/
|
||||
static void window_ride_mode_dropdown(rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -2831,7 +2831,7 @@ static void window_ride_mode_dropdown(rct_window *w, rct_widget *widget)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B15C0
|
||||
* rct2: 0x006B15C0
|
||||
*/
|
||||
static void window_ride_load_dropdown(rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -2860,7 +2860,7 @@ static void window_ride_load_dropdown(rct_window *w, rct_widget *widget)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B10A7
|
||||
* rct2: 0x006B10A7
|
||||
*/
|
||||
static void window_ride_operating_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -2904,7 +2904,7 @@ static void window_ride_operating_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1715
|
||||
* rct2: 0x006B1715
|
||||
*/
|
||||
static void window_ride_operating_resize(rct_window *w)
|
||||
{
|
||||
|
@ -2913,7 +2913,7 @@ static void window_ride_operating_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B10F4
|
||||
* rct2: 0x006B10F4
|
||||
*/
|
||||
static void window_ride_operating_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -2968,7 +2968,7 @@ static void window_ride_operating_mousedown(int widgetIndex, rct_window *w, rct_
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1165
|
||||
* rct2: 0x006B1165
|
||||
*/
|
||||
static void window_ride_operating_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
|
@ -2995,7 +2995,7 @@ static void window_ride_operating_dropdown(rct_window *w, int widgetIndex, int d
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B178E
|
||||
* rct2: 0x006B178E
|
||||
*/
|
||||
static void window_ride_operating_update(rct_window *w)
|
||||
{
|
||||
|
@ -3014,7 +3014,7 @@ static void window_ride_operating_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B0B30
|
||||
* rct2: 0x006B0B30
|
||||
*/
|
||||
static void window_ride_operating_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -3222,7 +3222,7 @@ static void window_ride_operating_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1001
|
||||
* rct2: 0x006B1001
|
||||
*/
|
||||
static void window_ride_operating_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -3258,7 +3258,7 @@ static void window_ride_operating_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1AE4
|
||||
* rct2: 0x006B1AE4
|
||||
*/
|
||||
static void window_ride_locate_mechanic(rct_window *w)
|
||||
{
|
||||
|
@ -3282,7 +3282,7 @@ static void window_ride_locate_mechanic(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B7D08
|
||||
* rct2: 0x006B7D08
|
||||
*/
|
||||
static void window_ride_maintenance_draw_bar(rct_window *w, rct_drawpixelinfo *dpi, int x, int y, int value, int unk)
|
||||
{
|
||||
|
@ -3301,7 +3301,7 @@ static void window_ride_maintenance_draw_bar(rct_window *w, rct_drawpixelinfo *d
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1AAD
|
||||
* rct2: 0x006B1AAD
|
||||
*/
|
||||
static void window_ride_maintenance_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -3329,7 +3329,7 @@ static void window_ride_maintenance_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1D70
|
||||
* rct2: 0x006B1D70
|
||||
*/
|
||||
static void window_ride_maintenance_resize(rct_window *w)
|
||||
{
|
||||
|
@ -3338,7 +3338,7 @@ static void window_ride_maintenance_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1ACE
|
||||
* rct2: 0x006B1ACE
|
||||
*/
|
||||
static void window_ride_maintenance_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -3436,7 +3436,7 @@ static void window_ride_maintenance_mousedown(int widgetIndex, rct_window *w, rc
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1AD9
|
||||
* rct2: 0x006B1AD9
|
||||
*/
|
||||
static void window_ride_maintenance_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
|
@ -3523,7 +3523,7 @@ static void window_ride_maintenance_dropdown(rct_window *w, int widgetIndex, int
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1D37
|
||||
* rct2: 0x006B1D37
|
||||
*/
|
||||
static void window_ride_maintenance_update(rct_window *w)
|
||||
{
|
||||
|
@ -3542,7 +3542,7 @@ static void window_ride_maintenance_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B17C8
|
||||
* rct2: 0x006B17C8
|
||||
*/
|
||||
static void window_ride_maintenance_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -3578,7 +3578,7 @@ static void window_ride_maintenance_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1877
|
||||
* rct2: 0x006B1877
|
||||
*/
|
||||
static void window_ride_maintenance_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -3743,7 +3743,7 @@ static void window_ride_set_track_colour_scheme(rct_window *w, int x, int y)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B04FA
|
||||
* rct2: 0x006B04FA
|
||||
*/
|
||||
static void window_ride_colour_close(rct_window *w)
|
||||
{
|
||||
|
@ -3761,7 +3761,7 @@ static void window_ride_colour_close(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B02A1
|
||||
* rct2: 0x006B02A1
|
||||
*/
|
||||
static void window_ride_colour_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -3789,7 +3789,7 @@ static void window_ride_colour_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B0AB6
|
||||
* rct2: 0x006B0AB6
|
||||
*/
|
||||
static void window_ride_colour_resize(rct_window *w)
|
||||
{
|
||||
|
@ -3798,7 +3798,7 @@ static void window_ride_colour_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B02C6
|
||||
* rct2: 0x006B02C6
|
||||
*/
|
||||
static void window_ride_colour_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -3943,7 +3943,7 @@ static void window_ride_colour_mousedown(int widgetIndex, rct_window *w, rct_wid
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B0331
|
||||
* rct2: 0x006B0331
|
||||
*/
|
||||
static void window_ride_colour_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
|
@ -3992,7 +3992,7 @@ static void window_ride_colour_dropdown(rct_window *w, int widgetIndex, int drop
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B0A8F
|
||||
* rct2: 0x006B0A8F
|
||||
*/
|
||||
static void window_ride_colour_update(rct_window *w)
|
||||
{
|
||||
|
@ -4004,7 +4004,7 @@ static void window_ride_colour_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B04EC
|
||||
* rct2: 0x006B04EC
|
||||
*/
|
||||
static void window_ride_colour_tooldown(rct_window *w, int widgetIndex, int x, int y)
|
||||
{
|
||||
|
@ -4014,7 +4014,7 @@ static void window_ride_colour_tooldown(rct_window *w, int widgetIndex, int x, i
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B04F3
|
||||
* rct2: 0x006B04F3
|
||||
*/
|
||||
static void window_ride_colour_tooldrag(rct_window *w, int widgetIndex, int x, int y)
|
||||
{
|
||||
|
@ -4024,7 +4024,7 @@ static void window_ride_colour_tooldrag(rct_window *w, int widgetIndex, int x, i
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AFB36
|
||||
* rct2: 0x006AFB36
|
||||
*/
|
||||
static void window_ride_colour_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -4199,7 +4199,7 @@ static void window_ride_colour_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AFF3E
|
||||
* rct2: 0x006AFF3E
|
||||
*/
|
||||
static void window_ride_colour_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -4296,7 +4296,7 @@ static void window_ride_colour_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B0192
|
||||
* rct2: 0x006B0192
|
||||
*/
|
||||
static void window_ride_colour_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex)
|
||||
{
|
||||
|
@ -4379,7 +4379,7 @@ static uint8 window_ride_current_music_style_order[42];
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B215D
|
||||
* rct2: 0x006B215D
|
||||
*/
|
||||
static void window_ride_toggle_music(rct_window *w)
|
||||
{
|
||||
|
@ -4393,7 +4393,7 @@ static void window_ride_toggle_music(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1ED7
|
||||
* rct2: 0x006B1ED7
|
||||
*/
|
||||
static void window_ride_music_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -4421,7 +4421,7 @@ static void window_ride_music_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AF4A2
|
||||
* rct2: 0x006AF4A2
|
||||
*/
|
||||
static void window_ride_music_resize(rct_window *w)
|
||||
{
|
||||
|
@ -4431,7 +4431,7 @@ static void window_ride_music_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1EFC
|
||||
* rct2: 0x006B1EFC
|
||||
*/
|
||||
static void window_ride_music_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -4481,7 +4481,7 @@ static void window_ride_music_mousedown(int widgetIndex, rct_window *w, rct_widg
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1F03
|
||||
* rct2: 0x006B1F03
|
||||
*/
|
||||
static void window_ride_music_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
|
@ -4499,7 +4499,7 @@ static void window_ride_music_dropdown(rct_window *w, int widgetIndex, int dropd
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B2198
|
||||
* rct2: 0x006B2198
|
||||
*/
|
||||
static void window_ride_music_update(rct_window *w)
|
||||
{
|
||||
|
@ -4510,7 +4510,7 @@ static void window_ride_music_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1DEA
|
||||
* rct2: 0x006B1DEA
|
||||
*/
|
||||
static void window_ride_music_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -4552,7 +4552,7 @@ static void window_ride_music_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B1ECC
|
||||
* rct2: 0x006B1ECC
|
||||
*/
|
||||
static void window_ride_music_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -4564,7 +4564,10 @@ static void window_ride_music_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
|
||||
#pragma region Measurements
|
||||
|
||||
/* rct2: 0x006D2804 when al == 0*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2804
|
||||
when al == 0*/
|
||||
static void cancel_scenery_selection(){
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_GAME_PAUSED, uint8) &= ~(1 << 2);
|
||||
RCT2_GLOBAL(0x9DEA6F, uint8) &= ~(1 << 0);
|
||||
|
@ -4580,7 +4583,10 @@ static void cancel_scenery_selection(){
|
|||
tool_cancel();
|
||||
}
|
||||
|
||||
/* rct2: 0x006D27A3 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D27A3
|
||||
*/
|
||||
static void setup_scenery_selection(rct_window* w){
|
||||
rct_ride* ride = GET_RIDE(w->number);
|
||||
|
||||
|
@ -4610,7 +4616,7 @@ static void setup_scenery_selection(rct_window* w){
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D3026
|
||||
* rct2: 0x006D3026
|
||||
*/
|
||||
static void window_ride_measurements_design_reset()
|
||||
{
|
||||
|
@ -4619,7 +4625,7 @@ static void window_ride_measurements_design_reset()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D303D
|
||||
* rct2: 0x006D303D
|
||||
*/
|
||||
static void window_ride_measurements_design_select_nearby_scenery()
|
||||
{
|
||||
|
@ -4628,7 +4634,7 @@ static void window_ride_measurements_design_select_nearby_scenery()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD4DA
|
||||
* rct2: 0x006AD4DA
|
||||
*/
|
||||
static void window_ride_measurements_design_cancel()
|
||||
{
|
||||
|
@ -4638,7 +4644,7 @@ static void window_ride_measurements_design_cancel()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD4CD
|
||||
* rct2: 0x006AD4CD
|
||||
*/
|
||||
static void window_ride_measurements_design_save(rct_window *w)
|
||||
{
|
||||
|
@ -4649,7 +4655,7 @@ static void window_ride_measurements_design_save(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD4DA
|
||||
* rct2: 0x006AD4DA
|
||||
*/
|
||||
static void window_ride_measurements_close(rct_window *w)
|
||||
{
|
||||
|
@ -4658,7 +4664,7 @@ static void window_ride_measurements_close(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD478
|
||||
* rct2: 0x006AD478
|
||||
*/
|
||||
static void window_ride_measurements_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -4695,7 +4701,7 @@ static void window_ride_measurements_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD564
|
||||
* rct2: 0x006AD564
|
||||
*/
|
||||
static void window_ride_measurements_resize(rct_window *w)
|
||||
{
|
||||
|
@ -4704,7 +4710,7 @@ static void window_ride_measurements_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD4AB
|
||||
* rct2: 0x006AD4AB
|
||||
*/
|
||||
static void window_ride_measurements_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -4731,7 +4737,7 @@ static void window_ride_measurements_mousedown(int widgetIndex, rct_window *w, r
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD4B2
|
||||
* rct2: 0x006AD4B2
|
||||
*/
|
||||
static void window_ride_measurements_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
|
@ -4749,7 +4755,7 @@ static void window_ride_measurements_dropdown(rct_window *w, int widgetIndex, in
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD5DD
|
||||
* rct2: 0x006AD5DD
|
||||
*/
|
||||
static void window_ride_measurements_update(rct_window *w)
|
||||
{
|
||||
|
@ -4760,7 +4766,7 @@ static void window_ride_measurements_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006D2AE7
|
||||
* rct2: 0x006D2AE7
|
||||
*/
|
||||
static void window_ride_measurements_tooldown(rct_window *w, int widgetIndex, int x, int y)
|
||||
{
|
||||
|
@ -4781,7 +4787,7 @@ static void window_ride_measurements_tooldown(rct_window *w, int widgetIndex, in
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD4DA
|
||||
* rct2: 0x006AD4DA
|
||||
*/
|
||||
static void window_ride_measurements_toolabort(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -4790,7 +4796,7 @@ static void window_ride_measurements_toolabort(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ACDBC
|
||||
* rct2: 0x006ACDBC
|
||||
*/
|
||||
static void window_ride_measurements_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -4841,7 +4847,7 @@ static void window_ride_measurements_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ACF07
|
||||
* rct2: 0x006ACF07
|
||||
*/
|
||||
static void window_ride_measurements_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -5035,7 +5041,7 @@ enum {
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE8A6
|
||||
* rct2: 0x006AE8A6
|
||||
*/
|
||||
static void window_ride_set_graph(rct_window *w, int type)
|
||||
{
|
||||
|
@ -5050,7 +5056,7 @@ static void window_ride_set_graph(rct_window *w, int type)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE85D
|
||||
* rct2: 0x006AE85D
|
||||
*/
|
||||
static void window_ride_graphs_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -5075,7 +5081,7 @@ static void window_ride_graphs_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE8DA
|
||||
* rct2: 0x006AE8DA
|
||||
*/
|
||||
static void window_ride_graphs_resize(rct_window *w)
|
||||
{
|
||||
|
@ -5084,7 +5090,7 @@ static void window_ride_graphs_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE878
|
||||
* rct2: 0x006AE878
|
||||
*/
|
||||
static void window_ride_graphs_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -5106,7 +5112,7 @@ static void window_ride_graphs_mousedown(int widgetIndex, rct_window *w, rct_wid
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE95D
|
||||
* rct2: 0x006AE95D
|
||||
*/
|
||||
static void window_ride_graphs_update(rct_window *w)
|
||||
{
|
||||
|
@ -5135,7 +5141,7 @@ static void window_ride_graphs_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AEA75
|
||||
* rct2: 0x006AEA75
|
||||
*/
|
||||
static void window_ride_graphs_scrollgetheight(rct_window *w, int scrollIndex, int *width, int *height)
|
||||
{
|
||||
|
@ -5154,7 +5160,7 @@ static void window_ride_graphs_scrollgetheight(rct_window *w, int scrollIndex, i
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE953
|
||||
* rct2: 0x006AE953
|
||||
*/
|
||||
static void window_ride_graphs_15(rct_window *w, int scrollIndex, int scrollAreaType)
|
||||
{
|
||||
|
@ -5163,7 +5169,7 @@ static void window_ride_graphs_15(rct_window *w, int scrollIndex, int scrollArea
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AEA05
|
||||
* rct2: 0x006AEA05
|
||||
*/
|
||||
static void window_ride_graphs_tooltip(rct_window* w, int widgetIndex, rct_string_id *stringId)
|
||||
{
|
||||
|
@ -5188,7 +5194,7 @@ static void window_ride_graphs_tooltip(rct_window* w, int widgetIndex, rct_strin
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE372
|
||||
* rct2: 0x006AE372
|
||||
*/
|
||||
static void window_ride_graphs_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -5250,7 +5256,7 @@ static void window_ride_graphs_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE4BC
|
||||
* rct2: 0x006AE4BC
|
||||
*/
|
||||
static void window_ride_graphs_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -5260,7 +5266,7 @@ static void window_ride_graphs_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE4C7
|
||||
* rct2: 0x006AE4C7
|
||||
*/
|
||||
static void window_ride_graphs_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex)
|
||||
{
|
||||
|
@ -5381,7 +5387,7 @@ static void window_ride_graphs_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ADEFD
|
||||
* rct2: 0x006ADEFD
|
||||
*/
|
||||
static void window_ride_income_toggle_primary_price(rct_window *w)
|
||||
{
|
||||
|
@ -5428,7 +5434,7 @@ static void window_ride_income_toggle_primary_price(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE06E
|
||||
* rct2: 0x006AE06E
|
||||
*/
|
||||
static void window_ride_income_toggle_secondary_price(rct_window *w)
|
||||
{
|
||||
|
@ -5471,7 +5477,7 @@ static void window_ride_income_toggle_secondary_price(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE1E4
|
||||
* rct2: 0x006AE1E4
|
||||
*/
|
||||
static void window_ride_income_increase_primary_price(rct_window *w)
|
||||
{
|
||||
|
@ -5496,7 +5502,7 @@ static void window_ride_income_increase_primary_price(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE237
|
||||
* rct2: 0x006AE237
|
||||
*/
|
||||
static void window_ride_income_decrease_primary_price(rct_window *w)
|
||||
{
|
||||
|
@ -5521,7 +5527,7 @@ static void window_ride_income_decrease_primary_price(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE269
|
||||
* rct2: 0x006AE269
|
||||
*/
|
||||
static void window_ride_income_increase_secondary_price(rct_window *w)
|
||||
{
|
||||
|
@ -5540,7 +5546,7 @@ static void window_ride_income_increase_secondary_price(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE28D
|
||||
* rct2: 0x006AE28D
|
||||
*/
|
||||
static void window_ride_income_decrease_secondary_price(rct_window *w)
|
||||
{
|
||||
|
@ -5559,7 +5565,7 @@ static void window_ride_income_decrease_secondary_price(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ADEA9
|
||||
* rct2: 0x006ADEA9
|
||||
*/
|
||||
static void window_ride_income_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -5590,7 +5596,7 @@ static void window_ride_income_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE2F8
|
||||
* rct2: 0x006AE2F8
|
||||
*/
|
||||
static void window_ride_income_resize(rct_window *w)
|
||||
{
|
||||
|
@ -5599,7 +5605,7 @@ static void window_ride_income_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ADED4
|
||||
* rct2: 0x006ADED4
|
||||
*/
|
||||
static void window_ride_income_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -5621,7 +5627,7 @@ static void window_ride_income_mousedown(int widgetIndex, rct_window *w, rct_wid
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AE2BF
|
||||
* rct2: 0x006AE2BF
|
||||
*/
|
||||
static void window_ride_income_update(rct_window *w)
|
||||
{
|
||||
|
@ -5640,7 +5646,7 @@ static void window_ride_income_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ADAA3
|
||||
* rct2: 0x006ADAA3
|
||||
*/
|
||||
static void window_ride_income_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -5757,7 +5763,7 @@ static void window_ride_income_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ADCE5
|
||||
* rct2: 0x006ADCE5
|
||||
*/
|
||||
static void window_ride_income_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -5844,7 +5850,7 @@ static void window_ride_income_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD986
|
||||
* rct2: 0x006AD986
|
||||
*/
|
||||
static void window_ride_customer_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -5878,7 +5884,7 @@ static void window_ride_customer_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006ADA29
|
||||
* rct2: 0x006ADA29
|
||||
*/
|
||||
static void window_ride_customer_resize(rct_window *w)
|
||||
{
|
||||
|
@ -5888,7 +5894,7 @@ static void window_ride_customer_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD9DD
|
||||
* rct2: 0x006AD9DD
|
||||
*/
|
||||
static void window_ride_customer_update(rct_window *w)
|
||||
{
|
||||
|
@ -5910,7 +5916,7 @@ static void window_ride_customer_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD5F8
|
||||
* rct2: 0x006AD5F8
|
||||
*/
|
||||
static void window_ride_customer_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -5945,7 +5951,7 @@ static void window_ride_customer_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006AD6CD
|
||||
* rct2: 0x006AD6CD
|
||||
*/
|
||||
static void window_ride_customer_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
|
|
@ -498,7 +498,7 @@ static int ride_get_alternative_type(rct_ride *ride)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CB481
|
||||
* rct2: 0x006CB481
|
||||
*/
|
||||
rct_window *window_ride_construction_open()
|
||||
{
|
||||
|
@ -562,7 +562,7 @@ rct_window *window_ride_construction_open()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C845D
|
||||
* rct2: 0x006C845D
|
||||
*/
|
||||
static void window_ride_construction_close(rct_window *w)
|
||||
{
|
||||
|
@ -598,7 +598,7 @@ static void window_ride_construction_close(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C6E14
|
||||
* rct2: 0x006C6E14
|
||||
*/
|
||||
static void window_ride_construction_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
|
@ -635,7 +635,7 @@ static void window_ride_construction_mouseup(rct_window *w, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C7934
|
||||
* rct2: 0x006C7934
|
||||
*/
|
||||
static void window_ride_construction_resize(rct_window *w)
|
||||
{
|
||||
|
@ -1196,7 +1196,7 @@ static void window_ride_construction_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C6E6A
|
||||
* rct2: 0x006C6E6A
|
||||
*/
|
||||
static void window_ride_construction_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -1523,7 +1523,7 @@ static void window_ride_construction_mousedown(int widgetIndex, rct_window *w, r
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C78CD
|
||||
* rct2: 0x006C78CD
|
||||
*/
|
||||
static void window_ride_construction_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
|
@ -1553,7 +1553,7 @@ static void window_ride_construction_dropdown(rct_window *w, int widgetIndex, in
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C9F72
|
||||
* rct2: 0x006C9F72
|
||||
*/
|
||||
static void window_ride_construction_construct(rct_window *w)
|
||||
{
|
||||
|
@ -1671,7 +1671,7 @@ static void window_ride_construction_construct(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C9BA5
|
||||
* rct2: 0x006C9BA5
|
||||
*/
|
||||
static void window_ride_construction_mouseup_demolish(rct_window* w)
|
||||
{
|
||||
|
@ -1838,7 +1838,7 @@ void window_ride_construction_mouseup_demolish_next_piece(int x, int y, int z, i
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C78AA
|
||||
* rct2: 0x006C78AA
|
||||
*/
|
||||
static void window_ride_construction_rotate(rct_window *w)
|
||||
{
|
||||
|
@ -1850,7 +1850,7 @@ static void window_ride_construction_rotate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C7802
|
||||
* rct2: 0x006C7802
|
||||
*/
|
||||
static void window_ride_construction_entrance_click(rct_window *w)
|
||||
{
|
||||
|
@ -1874,7 +1874,7 @@ static void window_ride_construction_entrance_click(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C7866
|
||||
* rct2: 0x006C7866
|
||||
*/
|
||||
static void window_ride_construction_exit_click(rct_window *w)
|
||||
{
|
||||
|
@ -1898,7 +1898,7 @@ static void window_ride_construction_exit_click(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C8374
|
||||
* rct2: 0x006C8374
|
||||
*/
|
||||
static void window_ride_construction_update(rct_window *w)
|
||||
{
|
||||
|
@ -1943,7 +1943,7 @@ static void window_ride_construction_update(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CC538
|
||||
* rct2: 0x006CC538
|
||||
*/
|
||||
static bool ride_get_place_position_from_screen_position(int screenX, int screenY, int *outX, int *outY)
|
||||
{
|
||||
|
@ -2015,7 +2015,7 @@ static bool ride_get_place_position_from_screen_position(int screenX, int screen
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C8229
|
||||
* rct2: 0x006C8229
|
||||
*/
|
||||
static void window_ride_construction_toolupdate(rct_window* w, int widgetIndex, int x, int y)
|
||||
{
|
||||
|
@ -2049,7 +2049,7 @@ static void window_ride_construction_tooldown(rct_window* w, int widgetIndex, in
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C6AD5
|
||||
* rct2: 0x006C6AD5
|
||||
*/
|
||||
static void window_ride_construction_invalidate(rct_window *w)
|
||||
{
|
||||
|
@ -2082,7 +2082,7 @@ static void window_ride_construction_invalidate(rct_window *w)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C6B86
|
||||
* rct2: 0x006C6B86
|
||||
*/
|
||||
static void window_ride_construction_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -2212,7 +2212,7 @@ static rct_map_element *_backupMapElementArrays[5];
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CBCE2
|
||||
* rct2: 0x006CBCE2
|
||||
* bh: trackDirection
|
||||
* dl: rideIndex
|
||||
* dh: trackType
|
||||
|
@ -2336,7 +2336,7 @@ static void sub_6CBCE2(
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C84CE
|
||||
* rct2: 0x006C84CE
|
||||
*/
|
||||
void sub_6C84CE()
|
||||
{
|
||||
|
@ -2369,7 +2369,7 @@ void sub_6C84CE()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CA2DF
|
||||
* rct2: 0x006CA2DF
|
||||
* bh: trackRotation (out)
|
||||
* dl: ??? (out)
|
||||
* dh: trackType (out)
|
||||
|
@ -2394,7 +2394,7 @@ static bool sub_6CA2DF(int *trackType, int *trackDirection, int *rideIndex, int
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C6A77
|
||||
* rct2: 0x006C6A77
|
||||
*/
|
||||
static void window_ride_construction_update_enabled_track_pieces()
|
||||
{
|
||||
|
@ -2408,7 +2408,7 @@ static void window_ride_construction_update_enabled_track_pieces()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CA162
|
||||
* rct2: 0x006CA162
|
||||
*/
|
||||
money32 sub_6CA162(int rideIndex, int trackType, int trackDirection, int edxRS16, int x, int y, int z)
|
||||
{
|
||||
|
@ -2456,7 +2456,7 @@ money32 sub_6CA162(int rideIndex, int trackType, int trackDirection, int edxRS16
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C94D8
|
||||
* rct2: 0x006C94D8
|
||||
*/
|
||||
void sub_6C94D8()
|
||||
{
|
||||
|
@ -2555,7 +2555,7 @@ void sub_6C94D8()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C84E2
|
||||
* rct2: 0x006C84E2
|
||||
*/
|
||||
static void window_ride_construction_update_map_selection()
|
||||
{
|
||||
|
@ -2595,7 +2595,7 @@ static void window_ride_construction_update_map_selection()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C8648
|
||||
* rct2: 0x006C8648
|
||||
*/
|
||||
static void window_ride_construction_update_possible_ride_configurations()
|
||||
{
|
||||
|
@ -2686,7 +2686,7 @@ static void window_ride_construction_update_possible_ride_configurations()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C87F5
|
||||
* rct2: 0x006C87F5
|
||||
*/
|
||||
static void window_ride_construction_update_widgets(rct_window *w)
|
||||
{
|
||||
|
@ -3180,7 +3180,7 @@ static void window_ride_construction_select_map_tiles(rct_ride *ride, int trackT
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C776D
|
||||
* rct2: 0x006C776D
|
||||
*/
|
||||
static void window_ride_construction_show_special_track_dropdown(rct_window *w, rct_widget *widget)
|
||||
{
|
||||
|
@ -3213,7 +3213,7 @@ static void window_ride_construction_show_special_track_dropdown(rct_window *w,
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C7630
|
||||
* rct2: 0x006C7630
|
||||
*/
|
||||
static void ride_selected_track_set_seat_rotation(int seatRotation)
|
||||
{
|
||||
|
@ -3227,7 +3227,7 @@ static void ride_selected_track_set_seat_rotation(int seatRotation)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C7502
|
||||
* rct2: 0x006C7502
|
||||
*/
|
||||
static void loc_6C7502(int al)
|
||||
{
|
||||
|
@ -3243,7 +3243,7 @@ static void loc_6C7502(int al)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006C76E9
|
||||
* rct2: 0x006C76E9
|
||||
*/
|
||||
static void ride_construction_set_brakes_speed(int brakesSpeed)
|
||||
{
|
||||
|
@ -3269,7 +3269,7 @@ static void ride_construction_set_brakes_speed(int brakesSpeed)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CC6A8
|
||||
* rct2: 0x006CC6A8
|
||||
*/
|
||||
void ride_construction_toolupdate_construct(int screenX, int screenY)
|
||||
{
|
||||
|
@ -3408,7 +3408,7 @@ void ride_construction_toolupdate_construct(int screenX, int screenY)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CD354
|
||||
* rct2: 0x006CD354
|
||||
*/
|
||||
void ride_construction_toolupdate_entrance_exit(int screenX, int screenY)
|
||||
{
|
||||
|
@ -3453,7 +3453,7 @@ void ride_construction_toolupdate_entrance_exit(int screenX, int screenY)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CCA73
|
||||
* rct2: 0x006CCA73
|
||||
*/
|
||||
void ride_construction_tooldown_construct(int screenX, int screenY)
|
||||
{
|
||||
|
@ -3650,7 +3650,7 @@ void ride_construction_tooldown_construct(int screenX, int screenY)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006CCA73
|
||||
* rct2: 0x006CCA73
|
||||
*/
|
||||
static void ride_construction_tooldown_entrance_exit(int screenX, int screenY)
|
||||
{
|
||||
|
|
|
@ -553,7 +553,7 @@ static void window_scenery_mouseup(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E1EB4
|
||||
*/
|
||||
|
|
|
@ -214,7 +214,10 @@ void window_sign_open(rct_windownumber number)
|
|||
window_invalidate(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x6B9765*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6B9765
|
||||
*/
|
||||
static void window_sign_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
rct_banner* banner = &gBanners[w->number];
|
||||
|
@ -267,7 +270,10 @@ static void window_sign_mouseup(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6B9784 & 0x6E6164 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6B9784
|
||||
& 0x6E6164 */
|
||||
static void window_sign_mousedown(int widgetIndex, rct_window*w, rct_widget* widget)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
|
@ -280,7 +286,10 @@ static void window_sign_mousedown(int widgetIndex, rct_window*w, rct_widget* wid
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6B979C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6B979C
|
||||
*/
|
||||
static void window_sign_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
switch (widgetIndex){
|
||||
|
@ -301,7 +310,10 @@ static void window_sign_dropdown(rct_window *w, int widgetIndex, int dropdownInd
|
|||
window_invalidate(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x6B9791 & 0x6E6171*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6B9791, 0x6E6171
|
||||
*/
|
||||
static void window_sign_textinput(rct_window *w, int widgetIndex, char *text)
|
||||
{
|
||||
if (widgetIndex == WIDX_SIGN_TEXT && text != NULL) {
|
||||
|
@ -311,7 +323,10 @@ static void window_sign_textinput(rct_window *w, int widgetIndex, char *text)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006B96F5 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B96F5
|
||||
*/
|
||||
static void window_sign_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update(w);
|
||||
|
@ -335,7 +350,10 @@ static void window_sign_invalidate(rct_window *w)
|
|||
text_colour_btn->image = (w->var_492 << 19) | 0x600013C3;
|
||||
}
|
||||
|
||||
/* rct2: 0x006B9754 & 0x006E6134 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B9754, 0x006E6134
|
||||
*/
|
||||
static void window_sign_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -346,7 +364,10 @@ static void window_sign_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6B9A6C & 0x6E6424 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6B9A6C, 0x6E6424
|
||||
*/
|
||||
static void window_sign_unknown_14(rct_window *w)
|
||||
{
|
||||
rct_viewport* view = w->viewport;
|
||||
|
@ -382,7 +403,10 @@ static void window_sign_unknown_14(rct_window *w)
|
|||
}
|
||||
|
||||
|
||||
/* rct2: 0x6E5F52 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6E5F52
|
||||
*/
|
||||
void window_sign_small_open(rct_windownumber number){
|
||||
rct_window* w;
|
||||
rct_widget *viewportWidget;
|
||||
|
@ -456,7 +480,10 @@ void window_sign_small_open(rct_windownumber number){
|
|||
window_invalidate(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x6E6145 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6E6145
|
||||
*/
|
||||
static void window_sign_small_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
rct_banner* banner = &gBanners[w->number];
|
||||
|
@ -507,7 +534,10 @@ static void window_sign_small_mouseup(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6E617C */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6E617C
|
||||
*/
|
||||
static void window_sign_small_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
rct_banner* banner = &gBanners[w->number];
|
||||
|
@ -530,7 +560,10 @@ static void window_sign_small_dropdown(rct_window *w, int widgetIndex, int dropd
|
|||
window_invalidate(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x006E60D5 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E60D5
|
||||
*/
|
||||
static void window_sign_small_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update(w);
|
||||
|
|
|
@ -366,7 +366,7 @@ void window_staff_disable_widgets(rct_window* w)
|
|||
|
||||
/**
|
||||
* Same as window_peep_overview_close.
|
||||
* rct2: 0x006BDFF8
|
||||
* rct2: 0x006BDFF8
|
||||
*/
|
||||
void window_staff_overview_close(rct_window *w)
|
||||
{
|
||||
|
@ -379,7 +379,7 @@ void window_staff_overview_close(rct_window *w)
|
|||
|
||||
/**
|
||||
* Mostly similar to window_peep_set_page.
|
||||
* rct2: 0x006BE023
|
||||
* rct2: 0x006BE023
|
||||
*/
|
||||
void window_staff_set_page(rct_window* w, int page)
|
||||
{
|
||||
|
@ -425,7 +425,10 @@ void window_staff_set_page(rct_window* w, int page)
|
|||
if (listen && w->viewport) w->viewport->flags |= VIEWPORT_FLAG_SOUND_ON;
|
||||
}
|
||||
|
||||
/** rct2: 0x006BDF55 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BDF55
|
||||
*/
|
||||
void window_staff_overview_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
rct_peep* peep = GET_PEEP(w->number);
|
||||
|
@ -466,7 +469,10 @@ void window_staff_overview_mouseup(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/** rct2: 0x006BE558 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BE558
|
||||
*/
|
||||
void window_staff_overview_resize(rct_window *w)
|
||||
{
|
||||
window_staff_disable_widgets(w);
|
||||
|
@ -516,7 +522,7 @@ void window_staff_overview_resize(rct_window *w)
|
|||
|
||||
/**
|
||||
* Handle the dropdown of patrol button.
|
||||
* rct2: 0x006BDF98
|
||||
* rct2: 0x006BDF98
|
||||
*/
|
||||
void window_staff_overview_mousedown(int widgetIndex, rct_window* w, rct_widget* widget)
|
||||
{
|
||||
|
@ -542,7 +548,10 @@ void window_staff_overview_mousedown(int widgetIndex, rct_window* w, rct_widget*
|
|||
}
|
||||
}
|
||||
|
||||
/** rct2: 0x006BDFA3 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BDFA3
|
||||
*/
|
||||
void window_staff_overview_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
if (widgetIndex != WIDX_PATROL) {
|
||||
|
@ -575,7 +584,7 @@ void window_staff_overview_dropdown(rct_window *w, int widgetIndex, int dropdown
|
|||
|
||||
/**
|
||||
* Update the animation frame of the tab icon.
|
||||
* rct2: 0x6BE602
|
||||
* rct2: 0x6BE602
|
||||
*/
|
||||
void window_staff_overview_update(rct_window* w)
|
||||
{
|
||||
|
@ -588,7 +597,10 @@ void window_staff_overview_update(rct_window* w)
|
|||
widget_invalidate(w, WIDX_TAB_1);
|
||||
}
|
||||
|
||||
/** rct2: 0x006BE814 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BE814
|
||||
*/
|
||||
void window_staff_set_order(rct_window* w, int order_id)
|
||||
{
|
||||
rct_peep* peep = GET_PEEP(w->number);
|
||||
|
@ -599,7 +611,10 @@ void window_staff_set_order(rct_window* w, int order_id)
|
|||
game_do_command(peep->x, flags, peep->y, w->number, GAME_COMMAND_SET_STAFF_ORDER, (int)peep, 0);
|
||||
}
|
||||
|
||||
/** rct2: 0x006BE7DB */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BE7DB
|
||||
*/
|
||||
void window_staff_options_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
|
@ -620,14 +635,20 @@ void window_staff_options_mouseup(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/** rct2: 0x006BE960 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BE960
|
||||
*/
|
||||
void window_staff_options_update(rct_window* w)
|
||||
{
|
||||
w->frame_no++;
|
||||
widget_invalidate(w, WIDX_TAB_2);
|
||||
}
|
||||
|
||||
/** rct2: 0x006BEBCF */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BEBCF
|
||||
*/
|
||||
void window_staff_stats_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
|
@ -642,7 +663,10 @@ void window_staff_stats_mouseup(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/** rct2: 0x006BEC1B and rct2: 0x006BE975 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BEC1B, 0x006BE975
|
||||
*/
|
||||
void window_staff_stats_resize(rct_window *w)
|
||||
{
|
||||
w->min_width = 190;
|
||||
|
@ -671,7 +695,10 @@ void window_staff_stats_resize(rct_window *w)
|
|||
}
|
||||
}
|
||||
|
||||
/** rct2: 0x006BEBEA */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BEBEA
|
||||
*/
|
||||
void window_staff_stats_update(rct_window* w)
|
||||
{
|
||||
w->frame_no++;
|
||||
|
@ -684,13 +711,19 @@ void window_staff_stats_update(rct_window* w)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6BEC80, 0x6BE9DA */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BEC80, 0x6BE9DA
|
||||
*/
|
||||
void window_staff_unknown_05(rct_window *w)
|
||||
{
|
||||
widget_invalidate(w, WIDX_TAB_1);
|
||||
}
|
||||
|
||||
/* rct2: 0x006BE9E9 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BE9E9
|
||||
*/
|
||||
void window_staff_stats_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update_by_class(w, (rct_windowclass)WC_STAFF);
|
||||
|
@ -722,7 +755,10 @@ void window_staff_stats_invalidate(rct_window *w)
|
|||
}
|
||||
|
||||
|
||||
/* rct2: 0x006BE62B */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BE62B
|
||||
*/
|
||||
void window_staff_options_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update_by_class(w, (rct_windowclass)WC_STAFF);
|
||||
|
@ -794,7 +830,10 @@ void window_staff_options_invalidate(rct_window *w)
|
|||
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3);
|
||||
}
|
||||
|
||||
/* rct2: 0x006BDD91 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BDD91
|
||||
*/
|
||||
void window_staff_overview_invalidate(rct_window *w)
|
||||
{
|
||||
colour_scheme_update_by_class(w, (rct_windowclass)WC_STAFF);
|
||||
|
@ -847,7 +886,10 @@ void window_staff_overview_invalidate(rct_window *w)
|
|||
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_3);
|
||||
}
|
||||
|
||||
/* rct2: 0x6BDEAF */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BDEAF
|
||||
*/
|
||||
void window_staff_overview_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -878,7 +920,10 @@ void window_staff_overview_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
gfx_draw_string_centred_clipped(dpi, 1191, (void*)0x13CE952, 0, x, y, width);
|
||||
}
|
||||
|
||||
/* rct2: 0x6BEC8F */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BEC8F
|
||||
*/
|
||||
void window_staff_options_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
||||
{
|
||||
if (w->disabled_widgets & (1 << WIDX_TAB_2)) return;
|
||||
|
@ -896,7 +941,10 @@ void window_staff_options_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
gfx_draw_sprite(dpi, image_id, x, y, 0);
|
||||
}
|
||||
|
||||
/* rct2: 0x6BECD3 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BECD3
|
||||
*/
|
||||
void window_staff_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
||||
{
|
||||
if (w->disabled_widgets & (1 << WIDX_TAB_3)) return;
|
||||
|
@ -977,7 +1025,10 @@ void window_staff_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
rct2_free(clip_dpi);
|
||||
}
|
||||
|
||||
/* rct2: 0x6BE7C6 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BE7C6
|
||||
*/
|
||||
void window_staff_options_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -986,7 +1037,10 @@ void window_staff_options_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
window_staff_stats_tab_paint(w, dpi);
|
||||
}
|
||||
|
||||
/* rct2: 0x6BEA86 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BEA86
|
||||
*/
|
||||
void window_staff_stats_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
|
@ -1034,7 +1088,10 @@ void window_staff_stats_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006BDFD8 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BDFD8
|
||||
*/
|
||||
void window_staff_overview_tool_update(rct_window* w, int widgetIndex, int x, int y)
|
||||
{
|
||||
if (widgetIndex != WIDX_PICKUP)
|
||||
|
@ -1063,7 +1120,10 @@ void window_staff_overview_tool_update(rct_window* w, int widgetIndex, int x, in
|
|||
RCT2_GLOBAL(RCT2_ADDRESS_PICKEDUP_PEEP_SPRITE, uint32) = sprite_idx;
|
||||
}
|
||||
|
||||
/* rct2: 0x006BDFC3 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BDFC3
|
||||
*/
|
||||
void window_staff_overview_tool_down(rct_window* w, int widgetIndex, int x, int y)
|
||||
{
|
||||
if (widgetIndex == WIDX_PICKUP) {
|
||||
|
@ -1122,7 +1182,10 @@ void window_staff_overview_tool_down(rct_window* w, int widgetIndex, int x, int
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6BDFAE */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BDFAE
|
||||
*/
|
||||
void window_staff_overview_tool_abort(rct_window *w, int widgetIndex)
|
||||
{
|
||||
if (widgetIndex == WIDX_PICKUP) {
|
||||
|
@ -1152,7 +1215,7 @@ void window_staff_overview_tool_abort(rct_window *w, int widgetIndex)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2:0x6BDFED */
|
||||
/* rct2: 0x6BDFED */
|
||||
void window_staff_overview_text_input(rct_window *w, int widgetIndex, char *text)
|
||||
{
|
||||
if (widgetIndex != WIDX_RENAME)
|
||||
|
@ -1167,13 +1230,19 @@ void window_staff_overview_text_input(rct_window *w, int widgetIndex, char *text
|
|||
game_do_command(0, GAME_COMMAND_FLAG_APPLY, w->number, *((int*)(text + 24)), GAME_COMMAND_SET_PEEP_NAME, *((int*)(text + 32)), *((int*)(text + 28)));
|
||||
}
|
||||
|
||||
/* rct2: 0x006BE5FC */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BE5FC
|
||||
*/
|
||||
void window_staff_overview_unknown_14(rct_window *w)
|
||||
{
|
||||
window_staff_viewport_init(w);
|
||||
}
|
||||
|
||||
/* rct2: 0x006BEDA3 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BEDA3
|
||||
*/
|
||||
void window_staff_viewport_init(rct_window* w){
|
||||
if (w->page != WINDOW_STAFF_OVERVIEW) return;
|
||||
|
||||
|
@ -1296,7 +1365,10 @@ void window_staff_options_mousedown(int widgetIndex, rct_window* w, rct_widget*
|
|||
gDropdownItemsChecked = item_checked;
|
||||
}
|
||||
|
||||
/** rct2: 0x6BE809 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6BE809
|
||||
*/
|
||||
void window_staff_options_dropdown(rct_window *w, int widgetIndex, int dropdownIndex)
|
||||
{
|
||||
if (widgetIndex != WIDX_COSTUME_BTN) {
|
||||
|
|
|
@ -198,7 +198,10 @@ static void window_scenarioselect_scrollgetsize(rct_window *w, int scrollIndex,
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x6780FE */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x6780FE
|
||||
*/
|
||||
static void window_scenarioselect_scrollmousedown(rct_window *w, int scrollIndex, int x, int y)
|
||||
{
|
||||
int i;
|
||||
|
@ -221,7 +224,10 @@ static void window_scenarioselect_scrollmousedown(rct_window *w, int scrollIndex
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x678162 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x678162
|
||||
*/
|
||||
static void window_scenarioselect_scrollmouseover(rct_window *w, int scrollIndex, int x, int y)
|
||||
{
|
||||
int i;
|
||||
|
|
|
@ -861,7 +861,10 @@ static void window_top_toolbar_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006E3158 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E3158
|
||||
*/
|
||||
static void repaint_scenery_tool_down(sint16 x, sint16 y, sint16 widgetIndex){
|
||||
// ax, cx, bl
|
||||
sint16 grid_x, grid_y;
|
||||
|
@ -968,7 +971,9 @@ static void repaint_scenery_tool_down(sint16 x, sint16 y, sint16 widgetIndex){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006E1F34
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E1F34
|
||||
* Outputs
|
||||
* eax : grid_x
|
||||
* ebx : parameter_1
|
||||
|
@ -2076,7 +2081,9 @@ void top_toolbar_tool_update_water(sint16 x, sint16 y){
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006E24F6
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E24F6
|
||||
* On failure returns MONEY32_UNDEFINED
|
||||
* On success places ghost scenery and returns cost to place proper
|
||||
*/
|
||||
|
@ -2520,7 +2527,8 @@ static void window_top_toolbar_tool_update(rct_window* w, int widgetIndex, int x
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x0066CB73
|
||||
*
|
||||
* rct2: 0x0066CB73
|
||||
*/
|
||||
static void window_top_toolbar_tool_down(rct_window* w, int widgetIndex, int x, int y)
|
||||
{
|
||||
|
@ -3105,7 +3113,7 @@ void toggle_footpath_window()
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066CD54
|
||||
* rct2: 0x0066CD54
|
||||
*/
|
||||
void toggle_land_window(rct_window *topToolbar, int widgetIndex)
|
||||
{
|
||||
|
@ -3122,7 +3130,7 @@ void toggle_land_window(rct_window *topToolbar, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066CD0C
|
||||
* rct2: 0x0066CD0C
|
||||
*/
|
||||
void toggle_clear_scenery_window(rct_window *topToolbar, int widgetIndex)
|
||||
{
|
||||
|
@ -3139,7 +3147,7 @@ void toggle_clear_scenery_window(rct_window *topToolbar, int widgetIndex)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0066CD9C
|
||||
* rct2: 0x0066CD9C
|
||||
*/
|
||||
void toggle_water_window(rct_window *topToolbar, int widgetIndex)
|
||||
{
|
||||
|
|
|
@ -32,7 +32,7 @@ void balloon_pop(rct_balloon *balloon)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x0067342C
|
||||
* rct2: 0x0067342C
|
||||
*/
|
||||
void balloon_update(rct_balloon *balloon)
|
||||
{
|
||||
|
|
|
@ -29,7 +29,7 @@ rct_banner *gBanners = (rct_banner*)0x0135A124;
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B9CB0
|
||||
* rct2: 0x006B9CB0
|
||||
*/
|
||||
void banner_init()
|
||||
{
|
||||
|
|
|
@ -89,7 +89,7 @@ extern int g_climate_locked;
|
|||
extern void toggle_climate_lock();
|
||||
|
||||
/**
|
||||
* Set climate and determine start weather.
|
||||
* Set climate and determine start weather.
|
||||
* rct2: 0x006C45ED
|
||||
*/
|
||||
void climate_reset(int climate)
|
||||
|
@ -135,7 +135,7 @@ void toggle_climate_lock()
|
|||
* Weather & climate update iteration.
|
||||
* Gradually changes the weather parameters towards their determined next values.
|
||||
*
|
||||
* rct2: 0x006C46B1
|
||||
* rct2: 0x006C46B1
|
||||
*/
|
||||
void climate_update()
|
||||
{
|
||||
|
@ -206,7 +206,7 @@ void climate_force_weather(uint8 weather){
|
|||
* for next_weather. The other weather parameters are then looked up depending only on the
|
||||
* next weather.
|
||||
*
|
||||
* rct2: 0x006C461C
|
||||
* rct2: 0x006C461C
|
||||
*/
|
||||
static void climate_determine_future_weather(int randomDistribution)
|
||||
{
|
||||
|
@ -229,7 +229,7 @@ static void climate_determine_future_weather(int randomDistribution)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BCB91
|
||||
* rct2: 0x006BCB91
|
||||
*/
|
||||
void climate_update_sound()
|
||||
{
|
||||
|
|
|
@ -79,7 +79,7 @@ void create_duck(int targetX, int targetY)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006740E8
|
||||
* rct2: 0x006740E8
|
||||
*/
|
||||
void duck_update(rct_duck *duck)
|
||||
{
|
||||
|
@ -109,7 +109,7 @@ static void duck_invalidate(rct_duck *duck)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00674108
|
||||
* rct2: 0x00674108
|
||||
*/
|
||||
static void duck_update_fly_to_water(rct_duck *duck)
|
||||
{
|
||||
|
@ -163,7 +163,7 @@ static void duck_update_fly_to_water(rct_duck *duck)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00674282
|
||||
* rct2: 0x00674282
|
||||
*/
|
||||
static void duck_update_swim(rct_duck *duck)
|
||||
{
|
||||
|
@ -225,7 +225,7 @@ static void duck_update_swim(rct_duck *duck)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00674357
|
||||
* rct2: 0x00674357
|
||||
*/
|
||||
static void duck_update_drink(rct_duck *duck)
|
||||
{
|
||||
|
@ -241,7 +241,7 @@ static void duck_update_drink(rct_duck *duck)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00674372
|
||||
* rct2: 0x00674372
|
||||
*/
|
||||
static void duck_update_double_drink(rct_duck *duck)
|
||||
{
|
||||
|
@ -257,7 +257,7 @@ static void duck_update_double_drink(rct_duck *duck)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x0067438D
|
||||
* rct2: 0x0067438D
|
||||
*/
|
||||
static void duck_update_fly_away(rct_duck *duck)
|
||||
{
|
||||
|
@ -284,7 +284,7 @@ static void duck_update_fly_away(rct_duck *duck)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006E895D
|
||||
* rct2: 0x006E895D
|
||||
*/
|
||||
void duck_press(rct_duck *duck)
|
||||
{
|
||||
|
@ -293,7 +293,7 @@ void duck_press(rct_duck *duck)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00674576
|
||||
* rct2: 0x00674576
|
||||
*/
|
||||
void duck_remove_all()
|
||||
{
|
||||
|
|
|
@ -356,7 +356,10 @@ static money32 footpath_place_real(int type, int x, int y, int z, int slope, int
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006BA23E */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006BA23E
|
||||
*/
|
||||
void remove_banners_at_element(int x, int y, rct_map_element* mapElement){
|
||||
while (!map_element_is_last_for_tile(mapElement++)){
|
||||
if (map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_PATH)return;
|
||||
|
@ -509,8 +512,9 @@ static money32 footpath_place_from_track(int type, int x, int y, int z, int slop
|
|||
return RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY ? 0 : RCT2_GLOBAL(0x00F3EFD9, money32);
|
||||
}
|
||||
|
||||
/*
|
||||
* rct2: 0x006A68AE
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006A68AE
|
||||
*/
|
||||
void game_command_place_footpath_from_track(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp)
|
||||
{
|
||||
|
@ -604,9 +608,9 @@ void footpath_provisional_update()
|
|||
}
|
||||
|
||||
/**
|
||||
* Determines the location of the footpath at which we point with the cursor. If no footpath is underneath the cursor,
|
||||
* then return the location of the ground tile. Besides the location it also computes the direction of the yellow arrow
|
||||
* when we are going to build a footpath bridge/tunnel.
|
||||
* Determines the location of the footpath at which we point with the cursor. If no footpath is underneath the cursor,
|
||||
* then return the location of the ground tile. Besides the location it also computes the direction of the yellow arrow
|
||||
* when we are going to build a footpath bridge/tunnel.
|
||||
* rct2: 0x00689726
|
||||
* In:
|
||||
* screenX: eax
|
||||
|
@ -799,7 +803,10 @@ void footpath_interrupt_peeps(int x, int y, int z)
|
|||
}
|
||||
}
|
||||
|
||||
/* rct2: 0x006E59DC */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E59DC
|
||||
*/
|
||||
bool fence_in_the_way(int x, int y, int z0, int z1, int direction)
|
||||
{
|
||||
rct_map_element *mapElement;
|
||||
|
|
|
@ -206,8 +206,8 @@ void jumping_fountain_create(int type, int x, int y, int z, int direction, int f
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006733CB (water)
|
||||
* rct: 0x00673407 (snow)
|
||||
* rct2: 0x006733CB (water)
|
||||
* rct2: 0x00673407 (snow)
|
||||
*/
|
||||
void jumping_fountain_update(rct_jumping_fountain *jumpingFountain)
|
||||
{
|
||||
|
@ -316,7 +316,7 @@ static bool is_jumping_fountain(int type, int x, int y, int z)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00673B6E
|
||||
* rct2: 0x00673B6E
|
||||
*/
|
||||
static void jumping_fountain_goto_edge(rct_jumping_fountain *jumpingFountain, int x, int y, int z, int availableDirections)
|
||||
{
|
||||
|
@ -350,7 +350,7 @@ static void jumping_fountain_goto_edge(rct_jumping_fountain *jumpingFountain, in
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00673B45
|
||||
* rct2: 0x00673B45
|
||||
*/
|
||||
static void jumping_fountain_bounce(rct_jumping_fountain *jumpingFountain, int x, int y, int z, int availableDirections)
|
||||
{
|
||||
|
@ -371,7 +371,7 @@ static void jumping_fountain_bounce(rct_jumping_fountain *jumpingFountain, int x
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00673ACE
|
||||
* rct2: 0x00673ACE
|
||||
*/
|
||||
static void jumping_fountain_split(rct_jumping_fountain *jumpingFountain, int x, int y, int z, int availableDirections)
|
||||
{
|
||||
|
@ -412,7 +412,7 @@ static void jumping_fountain_split(rct_jumping_fountain *jumpingFountain, int x,
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00673AAC
|
||||
* rct2: 0x00673AAC
|
||||
*/
|
||||
static void jumping_fountain_random(rct_jumping_fountain *jumpingFountain, int x, int y, int z, int availableDirections)
|
||||
{
|
||||
|
@ -429,7 +429,7 @@ static void jumping_fountain_random(rct_jumping_fountain *jumpingFountain, int x
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00673B45
|
||||
* rct2: 0x00673B45
|
||||
*/
|
||||
static void jumping_fountain_create_next(rct_jumping_fountain *jumpingFountain, int x, int y, int z, int direction)
|
||||
{
|
||||
|
|
|
@ -41,7 +41,9 @@
|
|||
#include "park.h"
|
||||
#include "scenery.h"
|
||||
|
||||
/* Replaces 0x00993CCC & 0x00993CCE */
|
||||
/**
|
||||
* Replaces 0x00993CCC, 0x00993CCE
|
||||
*/
|
||||
const rct_xy16 TileDirectionDelta[] = {
|
||||
{ -32, 0 },
|
||||
{ 0, +32 },
|
||||
|
@ -360,9 +362,9 @@ void map_update_tile_pointers()
|
|||
/**
|
||||
* Return the absolute height of an element, given its (x,y) coordinates
|
||||
*
|
||||
* ax: x
|
||||
* cx: y
|
||||
* dx: return remember to & with 0xFFFF if you don't want water affecting results
|
||||
* ax: x
|
||||
* cx: y
|
||||
* dx: return remember to & with 0xFFFF if you don't want water affecting results
|
||||
* rct2: 0x00662783
|
||||
*/
|
||||
int map_element_height(int x, int y)
|
||||
|
@ -1299,7 +1301,8 @@ restart_from_beginning:
|
|||
return totalCost;
|
||||
}
|
||||
|
||||
/* Function to clear the flag that is set to prevent cost duplication
|
||||
/**
|
||||
* Function to clear the flag that is set to prevent cost duplication
|
||||
* when using the clear scenery tool with large scenery.
|
||||
*/
|
||||
void map_reset_clear_large_scenery_flag(){
|
||||
|
@ -1376,7 +1379,10 @@ void game_command_clear_scenery(int* eax, int* ebx, int* ecx, int* edx, int* esi
|
|||
);
|
||||
}
|
||||
|
||||
/* rct2: 0x00663CCD */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00663CCD
|
||||
*/
|
||||
money32 map_change_surface_style(int x0, int y0, int x1, int y1, uint8 surfaceStyle, uint8 edgeStyle, uint8 flags)
|
||||
{
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_NEXT_EXPENDITURE_TYPE, uint8) = RCT_EXPENDITURE_TYPE_LANDSCAPING * 4;
|
||||
|
@ -1484,7 +1490,10 @@ money32 map_change_surface_style(int x0, int y0, int x1, int y1, uint8 surfaceSt
|
|||
return (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY) ? 0 : cost;
|
||||
}
|
||||
|
||||
/* rct2: 0x00663CCD */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00663CCD
|
||||
*/
|
||||
void game_command_change_surface_style(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp)
|
||||
{
|
||||
*ebx = map_change_surface_style(
|
||||
|
@ -1749,7 +1758,10 @@ money32 map_set_land_ownership(uint8 flags, sint16 x1, sint16 y1, sint16 x2, sin
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x006648E3*/
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006648E3
|
||||
*/
|
||||
void game_command_set_land_ownership(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp)
|
||||
{
|
||||
*ebx = map_set_land_ownership(
|
||||
|
@ -4533,7 +4545,10 @@ int map_get_tile_quadrant(int mapX, int mapY)
|
|||
(subMapY < 16 ? 2 : 3);
|
||||
}
|
||||
|
||||
/* rct2: 0x00693BFF */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x00693BFF
|
||||
*/
|
||||
bool map_surface_is_blocked(sint16 x, sint16 y){
|
||||
rct_map_element *mapElement;
|
||||
if (x >= 8192 || y >= 8192)
|
||||
|
@ -4733,7 +4748,10 @@ money32 place_park_entrance(int flags, sint16 x, sint16 y, sint16 z, uint8 direc
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* rct2: 0x006666E7 */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006666E7
|
||||
*/
|
||||
void game_command_place_park_entrance(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp) {
|
||||
*ebx = place_park_entrance(
|
||||
*ebx & 0xFF,
|
||||
|
|
|
@ -536,7 +536,10 @@ static bool map_animation_invalidate_wall(int x, int y, int baseZ)
|
|||
return !wasInvalidated;
|
||||
}
|
||||
|
||||
/** rct2: 0x009819DC */
|
||||
/**
|
||||
*
|
||||
* rct2: 0x009819DC
|
||||
*/
|
||||
static const map_animation_invalidate_event_handler _animatedObjectEventHandlers[MAP_ANIMATION_TYPE_COUNT] = {
|
||||
map_animation_invalidate_ride_entrance,
|
||||
map_animation_invalidate_queue_banner,
|
||||
|
|
|
@ -12,7 +12,7 @@ static const rct_xy16 _moneyEffectMoveOffset[] = {
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x0067351F
|
||||
* rct2: 0x0067351F
|
||||
*/
|
||||
void money_effect_create_at(money32 value, int x, int y, int z)
|
||||
{
|
||||
|
@ -47,7 +47,7 @@ void money_effect_create_at(money32 value, int x, int y, int z)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x0069C5D0
|
||||
* rct2: 0x0069C5D0
|
||||
*/
|
||||
void money_effect_create(money32 value)
|
||||
{
|
||||
|
@ -82,7 +82,7 @@ void money_effect_create(money32 value)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00673232
|
||||
* rct2: 0x00673232
|
||||
*/
|
||||
void money_effect_update(rct_money_effect *moneyEffect)
|
||||
{
|
||||
|
|
|
@ -33,7 +33,7 @@ void crashed_vehicle_particle_create(rct_vehicle_colour colours, int x, int y, i
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00673298
|
||||
* rct2: 0x00673298
|
||||
*/
|
||||
void crashed_vehicle_particle_update(rct_crashed_vehicle_particle *particle)
|
||||
{
|
||||
|
@ -112,7 +112,7 @@ void crash_splash_create(int x, int y, int z)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x0067339D
|
||||
* rct2: 0x0067339D
|
||||
*/
|
||||
void crash_splash_update(rct_crash_splash *splash)
|
||||
{
|
||||
|
|
|
@ -111,7 +111,7 @@ void scenery_increase_age(int x, int y, rct_map_element *mapElement)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006E2712
|
||||
*/
|
||||
|
|
|
@ -80,9 +80,9 @@ void invalidate_sprite_2(rct_sprite *sprite)
|
|||
invalidate_sprite_max_zoom(sprite, 2);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
*
|
||||
* rct2: 0x0069EB13
|
||||
* rct2: 0x0069EB13
|
||||
*/
|
||||
void reset_sprite_list(){
|
||||
RCT2_GLOBAL(0x1388698, uint16) = 0;
|
||||
|
@ -120,7 +120,8 @@ void reset_sprite_list(){
|
|||
}
|
||||
|
||||
/**
|
||||
* rct2: 0x0069EBE4
|
||||
*
|
||||
* rct2: 0x0069EBE4
|
||||
* This function looks as though it sets some sort of order for sprites.
|
||||
* Sprites can share thier position if this is the case.
|
||||
*/
|
||||
|
@ -150,7 +151,7 @@ void reset_0x69EBE4(){
|
|||
|
||||
/**
|
||||
* Clears all the unused sprite memory to zero. Probably so that it can be compressed better when saving.
|
||||
* rct2: 0x0069EBA4
|
||||
* rct2: 0x0069EBA4
|
||||
*/
|
||||
void sprite_clear_all_unused()
|
||||
{
|
||||
|
@ -270,7 +271,7 @@ void move_sprite_to_list(rct_sprite *sprite, uint8 cl)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00673200
|
||||
* rct2: 0x00673200
|
||||
*/
|
||||
static void sprite_misc_0_update(rct_sprite *sprite)
|
||||
{
|
||||
|
@ -307,7 +308,7 @@ void sprite_misc_3_create(int x, int y, int z)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00673385
|
||||
* rct2: 0x00673385
|
||||
*/
|
||||
static void sprite_misc_3_update(rct_sprite *sprite)
|
||||
{
|
||||
|
@ -338,7 +339,7 @@ void sprite_misc_5_create(int x, int y, int z)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006733B4
|
||||
* rct2: 0x006733B4
|
||||
*/
|
||||
static void sprite_misc_5_update(rct_sprite *sprite)
|
||||
{
|
||||
|
@ -351,7 +352,7 @@ static void sprite_misc_5_update(rct_sprite *sprite)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x006731CD
|
||||
* rct2: 0x006731CD
|
||||
*/
|
||||
void sprite_misc_update(rct_sprite *sprite)
|
||||
{
|
||||
|
@ -389,7 +390,7 @@ void sprite_misc_update(rct_sprite *sprite)
|
|||
|
||||
/**
|
||||
*
|
||||
* rct: 0x00672AA4
|
||||
* rct2: 0x00672AA4
|
||||
*/
|
||||
void sprite_misc_update_all()
|
||||
{
|
||||
|
@ -405,8 +406,8 @@ void sprite_misc_update_all()
|
|||
}
|
||||
|
||||
/**
|
||||
* Moves a sprite to a new location.
|
||||
* rct2: 0x0069E9D3
|
||||
* Moves a sprite to a new location.
|
||||
* ax: x
|
||||
* cx: y
|
||||
* dx: z
|
||||
|
|
Loading…
Reference in New Issue