mirror of https://github.com/OpenRCT2/OpenRCT2.git
Added location variable for console.
This commit is contained in:
parent
bfd813ac89
commit
e9eeb36cdf
|
@ -17,6 +17,7 @@
|
||||||
#include "../management/research.h"
|
#include "../management/research.h"
|
||||||
#include "console.h"
|
#include "console.h"
|
||||||
#include "window.h"
|
#include "window.h"
|
||||||
|
#include "viewport.h"
|
||||||
|
|
||||||
#define CONSOLE_BUFFER_SIZE 8192
|
#define CONSOLE_BUFFER_SIZE 8192
|
||||||
#define CONSOLE_BUFFER_2_SIZE 256
|
#define CONSOLE_BUFFER_2_SIZE 256
|
||||||
|
@ -507,6 +508,23 @@ static int cc_get(const char **argv, int argc)
|
||||||
else if (strcmp(argv[0], "no_test_crashes") == 0) {
|
else if (strcmp(argv[0], "no_test_crashes") == 0) {
|
||||||
console_printf("no_test_crashes %d", gConfigGeneral.no_test_crashes);
|
console_printf("no_test_crashes %d", gConfigGeneral.no_test_crashes);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(argv[0], "location") == 0) {
|
||||||
|
rct_window *w = window_get_main();
|
||||||
|
if (w != NULL) {
|
||||||
|
int interactionType;
|
||||||
|
rct_map_element *mapElement;
|
||||||
|
rct_xy16 mapCoord = { 0 };
|
||||||
|
|
||||||
|
get_map_coordinates_from_pos(w->viewport->view_width / 2, w->viewport->view_height / 2, VIEWPORT_INTERACTION_MASK_TERRAIN, &mapCoord.x, &mapCoord.y, &interactionType, &mapElement, NULL);
|
||||||
|
mapCoord.x -= 16;
|
||||||
|
mapCoord.x /= 32;
|
||||||
|
mapCoord.y -= 16;
|
||||||
|
mapCoord.y /= 32;
|
||||||
|
mapCoord.x++;
|
||||||
|
mapCoord.y++;
|
||||||
|
console_printf("location %d %d", mapCoord.x, mapCoord.y);
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
console_writeline_warning("Invalid variable.");
|
console_writeline_warning("Invalid variable.");
|
||||||
}
|
}
|
||||||
|
@ -517,9 +535,12 @@ static int cc_set(const char **argv, int argc)
|
||||||
{
|
{
|
||||||
if (argc > 1) {
|
if (argc > 1) {
|
||||||
bool int_valid = true, double_valid = true;
|
bool int_valid = true, double_valid = true;
|
||||||
|
bool int_valid2 = true, double_valid2 = true;
|
||||||
|
|
||||||
int int_val = console_parse_int(argv[1], &int_valid);
|
int int_val = console_parse_int(argv[1], &int_valid);
|
||||||
double double_val = console_parse_double(argv[1], &double_valid);
|
double double_val = console_parse_double(argv[1], &double_valid);
|
||||||
|
int int_val2 = console_parse_int(argv[2], &int_valid2);
|
||||||
|
double double_val2 = console_parse_double(argv[2], &double_valid2);
|
||||||
|
|
||||||
if (strcmp(argv[0], "money") == 0 && double_valid) {
|
if (strcmp(argv[0], "money") == 0 && double_valid) {
|
||||||
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONEY_ENCRYPTED, money32) = ENCRYPT_MONEY(MONEY((int)double_val, ((int)(double_val * 100)) % 100));
|
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONEY_ENCRYPTED, money32) = ENCRYPT_MONEY(MONEY((int)double_val, ((int)(double_val * 100)) % 100));
|
||||||
|
@ -635,6 +656,18 @@ static int cc_set(const char **argv, int argc)
|
||||||
config_save_default();
|
config_save_default();
|
||||||
console_execute_silent("get no_test_crashes");
|
console_execute_silent("get no_test_crashes");
|
||||||
}
|
}
|
||||||
|
else if (strcmp(argv[0], "location") == 0 && int_valid && int_valid2) {
|
||||||
|
rct_window *w = window_get_main();
|
||||||
|
if (w != NULL) {
|
||||||
|
int x = (sint16)(int_val * 32 + 16);
|
||||||
|
int y = (sint16)(int_val2 * 32 + 16);
|
||||||
|
int z = map_element_height(x, y);
|
||||||
|
window_scroll_to_location(w, x, y, z);
|
||||||
|
w->flags &= ~WF_SCROLLING_TO_LOCATION;
|
||||||
|
viewport_update_position(w);
|
||||||
|
console_execute_silent("get location");
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
console_writeline_error("Invalid variable or value.");
|
console_writeline_error("Invalid variable or value.");
|
||||||
}
|
}
|
||||||
|
@ -831,7 +864,8 @@ char* console_variable_table[] = {
|
||||||
"game_speed",
|
"game_speed",
|
||||||
"console_small_font",
|
"console_small_font",
|
||||||
"test_unfinished_tracks",
|
"test_unfinished_tracks",
|
||||||
"no_test_crashes"
|
"no_test_crashes",
|
||||||
|
"location"
|
||||||
};
|
};
|
||||||
char* console_window_table[] = {
|
char* console_window_table[] = {
|
||||||
"object_selection",
|
"object_selection",
|
||||||
|
|
Loading…
Reference in New Issue