(svn r3222) -Feature: Right-Click-Scrolling optionally moves in the opposite direction (Requested by manx)
This commit is contained in:
		@@ -998,6 +998,7 @@ STR_CONFIG_PATCHES_SNOWLINE_HEIGHT                              :{LTBLUE}Snow li
 | 
			
		||||
STR_CONFIG_PATCHES_STATION_SPREAD                               :{LTBLUE}Max station spread: {ORANGE}{STRING1} {RED}Warning: High setting slows game
 | 
			
		||||
STR_CONFIG_PATCHES_SERVICEATHELIPAD                             :{LTBLUE}Service helicopters at helipads automatically: {ORANGE}{STRING1}
 | 
			
		||||
STR_CONFIG_PATCHES_LINK_TERRAFORM_TOOLBAR                       :{LTBLUE}Link landscape toolbar to rail/road/water/airport toolbars: {ORANGE}{STRING1}
 | 
			
		||||
STR_CONFIG_PATCHES_REVERSE_SCROLLING                            :{LTBLUE}When scrolling with the mouse move the view in the opposite direction: {ORANGE}{STRING1}
 | 
			
		||||
 | 
			
		||||
STR_CONFIG_PATCHES_MAX_TRAINS                                   :{LTBLUE}Max trains per player: {ORANGE}{STRING1}
 | 
			
		||||
STR_CONFIG_PATCHES_MAX_ROADVEH                                  :{LTBLUE}Max road vehicles per player: {ORANGE}{STRING1}
 | 
			
		||||
 
 | 
			
		||||
@@ -996,6 +996,7 @@ STR_CONFIG_PATCHES_INVISIBLE_TREES                              :{LTBLUE}Unsicht
 | 
			
		||||
STR_CONFIG_PATCHES_SNOWLINE_HEIGHT                              :{LTBLUE}H<>he der Schneegrenze: {ORANGE}{STRING}
 | 
			
		||||
STR_CONFIG_PATCHES_STATION_SPREAD                               :{LTBLUE}Maximale Stationsgr<67><72>e: {ORANGE}{STRING} {RED}Achtung: Gro<72>e Werte verlangsamen das Spiel
 | 
			
		||||
STR_CONFIG_PATCHES_SERVICEATHELIPAD                             :{LTBLUE}Hubschrauber auf Helipads automatisch warten: {ORANGE}{STRING}
 | 
			
		||||
STR_CONFIG_PATCHES_REVERSE_SCROLLING                            :{LTBLUE}Beim Verschieben mit der Maus die Ansicht in die Gegenrichtung verschieben: {ORANGE}{STRING}
 | 
			
		||||
 | 
			
		||||
STR_CONFIG_PATCHES_MAX_TRAINS                                   :{LTBLUE}Maximale Anzahl der Z<>ge pro Spieler: {ORANGE}{STRING}
 | 
			
		||||
STR_CONFIG_PATCHES_MAX_ROADVEH                                  :{LTBLUE}Maximale Anzahl der Stra<72>enfahrzeuge pro Spieler: {ORANGE}{STRING}
 | 
			
		||||
 
 | 
			
		||||
@@ -842,6 +842,7 @@ static const SettingDesc patch_player_settings[] = {
 | 
			
		||||
	{"status_long_date",		SDT_BOOL,		(void*)true,	&_patches.status_long_date,			NULL},
 | 
			
		||||
	{"show_finances",				SDT_BOOL,		(void*)true,	&_patches.show_finances,				NULL},
 | 
			
		||||
	{"autoscroll",					SDT_BOOL,		(void*)false,	&_patches.autoscroll,						NULL},
 | 
			
		||||
	{"reverse_scroll",      SDT_BOOL,   (void*)false, &_patches.reverse_scroll,       NULL},
 | 
			
		||||
	{"errmsg_duration",			SDT_UINT8,	(void*)5,			&_patches.errmsg_duration,			NULL},
 | 
			
		||||
	{"toolbar_pos",					SDT_UINT8,	(void*)0,			&_patches.toolbar_pos,					NULL},
 | 
			
		||||
	{"keep_all_autosave",		SDT_BOOL,		(void*)false, &_patches.keep_all_autosave,		NULL},
 | 
			
		||||
 
 | 
			
		||||
@@ -666,6 +666,7 @@ static const PatchEntry _patches_ui[] = {
 | 
			
		||||
	{PE_BOOL,		PF_PLAYERBASED, STR_CONFIG_PATCHES_LONGDATE,				"long_date",				&_patches.status_long_date,					0,  0,  0, NULL},
 | 
			
		||||
	{PE_BOOL,		PF_PLAYERBASED, STR_CONFIG_PATCHES_SHOWFINANCES,		"show_finances",		&_patches.show_finances,						0,  0,  0, NULL},
 | 
			
		||||
	{PE_BOOL,		PF_PLAYERBASED, STR_CONFIG_PATCHES_AUTOSCROLL,			"autoscroll",				&_patches.autoscroll,								0,  0,  0, NULL},
 | 
			
		||||
	{PE_BOOL,   PF_PLAYERBASED, STR_CONFIG_PATCHES_REVERSE_SCROLLING, "reverse_scroll", &_patches.reverse_scroll, 0, 0, 0, NULL },
 | 
			
		||||
 | 
			
		||||
	{PE_UINT8,	PF_PLAYERBASED, STR_CONFIG_PATCHES_ERRMSG_DURATION,	"errmsg_duration",	&_patches.errmsg_duration,					0, 20,  1, NULL},
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -120,6 +120,7 @@ typedef struct Patches {
 | 
			
		||||
	bool invisible_trees; // don't show trees when buildings are transparent
 | 
			
		||||
	bool no_servicing_if_no_breakdowns; // dont send vehicles to depot when breakdowns are disabled
 | 
			
		||||
	bool link_terraform_toolbar; // display terraform toolbar when displaying rail, road, water and airport toolbars
 | 
			
		||||
	bool reverse_scroll; // Right-Click-Scrolling scrolls in the opposite direction
 | 
			
		||||
 | 
			
		||||
	uint8 toolbar_pos;			// position of toolbars, 0=left, 1=center, 2=right
 | 
			
		||||
	uint8 window_snap_radius; // Windows snap at each other if closer than this
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								window.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								window.c
									
									
									
									
									
								
							@@ -1182,13 +1182,22 @@ stop_capt:;
 | 
			
		||||
	w = FindWindowFromPt(_cursor.pos.x, _cursor.pos.y);
 | 
			
		||||
	if (w == NULL) goto stop_capt;
 | 
			
		||||
 | 
			
		||||
	if (_patches.reverse_scroll) {
 | 
			
		||||
		dx = -_cursor.delta.x;
 | 
			
		||||
		dy = -_cursor.delta.y;
 | 
			
		||||
	} else {
 | 
			
		||||
		dx = _cursor.delta.x;
 | 
			
		||||
		dy = _cursor.delta.y;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (w->window_class != WC_SMALLMAP) {
 | 
			
		||||
		vp = IsPtInWindowViewport(w, _cursor.pos.x, _cursor.pos.y);
 | 
			
		||||
		if (vp == NULL)
 | 
			
		||||
			goto stop_capt;
 | 
			
		||||
 | 
			
		||||
		WP(w,vp_d).scrollpos_x += _cursor.delta.x << vp->zoom;
 | 
			
		||||
		WP(w,vp_d).scrollpos_y += _cursor.delta.y << vp->zoom;
 | 
			
		||||
		WP(w,vp_d).scrollpos_x += dx << vp->zoom;
 | 
			
		||||
		WP(w,vp_d).scrollpos_y += dy << vp->zoom;
 | 
			
		||||
 | 
			
		||||
		_cursor.delta.x = _cursor.delta.y = 0;
 | 
			
		||||
		return false;
 | 
			
		||||
	} else {
 | 
			
		||||
@@ -1200,9 +1209,6 @@ stop_capt:;
 | 
			
		||||
 | 
			
		||||
		_cursor.fix_at = true;
 | 
			
		||||
 | 
			
		||||
		dx = _cursor.delta.x;
 | 
			
		||||
		dy = _cursor.delta.y;
 | 
			
		||||
 | 
			
		||||
		x = WP(w,smallmap_d).scroll_x;
 | 
			
		||||
		y = WP(w,smallmap_d).scroll_y;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user