1
0
Fork 0

(svn r11555) -Codechange: use the new members introduced in r11551.

release/0.6
rubidium 2007-12-02 14:29:48 +00:00
parent 50fced3c66
commit 527b72749d
31 changed files with 432 additions and 432 deletions

View File

@ -145,9 +145,9 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: case WE_CREATE:
SetWindowWidgetLoweredState(w, 16, !_station_show_coverage); w->SetWidgetLoweredState(16, !_station_show_coverage);
SetWindowWidgetLoweredState(w, 17, _station_show_coverage); w->SetWidgetLoweredState(17, _station_show_coverage);
LowerWindowWidget(w, _selected_airport_type + 7); w->LowerWidget(_selected_airport_type + 7);
break; break;
case WE_PAINT: { case WE_PAINT: {
@ -159,10 +159,10 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
avail_airports = GetValidAirports(); avail_airports = GetValidAirports();
RaiseWindowWidget(w, _selected_airport_type + 7); w->RaiseWidget(_selected_airport_type + 7);
if (!HasBit(avail_airports, 0) && _selected_airport_type == AT_SMALL) _selected_airport_type = AT_LARGE; if (!HasBit(avail_airports, 0) && _selected_airport_type == AT_SMALL) _selected_airport_type = AT_LARGE;
if (!HasBit(avail_airports, 1) && _selected_airport_type == AT_LARGE) _selected_airport_type = AT_SMALL; if (!HasBit(avail_airports, 1) && _selected_airport_type == AT_LARGE) _selected_airport_type = AT_SMALL;
LowerWindowWidget(w, _selected_airport_type + 7); w->LowerWidget(_selected_airport_type + 7);
/* 'Country Airport' starts at widget 7, and if its bit is set, it is /* 'Country Airport' starts at widget 7, and if its bit is set, it is
* available, so take its opposite value to set the disabled state. * available, so take its opposite value to set the disabled state.
@ -170,7 +170,7 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
* XXX TODO : all airports should be held in arrays, with all relevant data. * XXX TODO : all airports should be held in arrays, with all relevant data.
* This should be part of newgrf-airports, i suppose * This should be part of newgrf-airports, i suppose
*/ */
for (i = 0; i < 9; i++) SetWindowWidgetDisabledState(w, i + 7, !HasBit(avail_airports, i)); for (i = 0; i < 9; i++) w->SetWidgetDisabledState(i + 7, !HasBit(avail_airports, i));
// select default the coverage area to 'Off' (16) // select default the coverage area to 'Off' (16)
airport = GetAirport(_selected_airport_type); airport = GetAirport(_selected_airport_type);
@ -190,16 +190,16 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
case WE_CLICK: { case WE_CLICK: {
switch (e->we.click.widget) { switch (e->we.click.widget) {
case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15:
RaiseWindowWidget(w, _selected_airport_type + 7); w->RaiseWidget(_selected_airport_type + 7);
_selected_airport_type = e->we.click.widget - 7; _selected_airport_type = e->we.click.widget - 7;
LowerWindowWidget(w, _selected_airport_type + 7); w->LowerWidget(_selected_airport_type + 7);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
case 16: case 17: case 16: case 17:
_station_show_coverage = (e->we.click.widget != 16); _station_show_coverage = (e->we.click.widget != 16);
SetWindowWidgetLoweredState(w, 16, !_station_show_coverage); w->SetWidgetLoweredState(16, !_station_show_coverage);
SetWindowWidgetLoweredState(w, 17, _station_show_coverage); w->SetWidgetLoweredState(17, _station_show_coverage);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;

View File

@ -249,7 +249,7 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
* Either list is empty * Either list is empty
* or The selected replacement engine has a replacement (to prevent loops) * or The selected replacement engine has a replacement (to prevent loops)
* or The right list (new replacement) has the existing replacement vehicle selected */ * or The right list (new replacement) has the existing replacement vehicle selected */
SetWindowWidgetDisabledState(w, 4, w->SetWidgetDisabledState(4,
selected_id[0] == INVALID_ENGINE || selected_id[0] == INVALID_ENGINE ||
selected_id[1] == INVALID_ENGINE || selected_id[1] == INVALID_ENGINE ||
EngineReplacementForPlayer(p, selected_id[1], selected_group) != INVALID_ENGINE || EngineReplacementForPlayer(p, selected_id[1], selected_group) != INVALID_ENGINE ||
@ -258,7 +258,7 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
/* Disable the "Stop Replacing" button if: /* Disable the "Stop Replacing" button if:
* The left list (existing vehicle) is empty * The left list (existing vehicle) is empty
* or The selected vehicle has no replacement set up */ * or The selected vehicle has no replacement set up */
SetWindowWidgetDisabledState(w, 6, w->SetWidgetDisabledState(6,
selected_id[0] == INVALID_ENGINE || selected_id[0] == INVALID_ENGINE ||
!EngineHasReplacementForPlayer(p, selected_id[0], selected_group)); !EngineHasReplacementForPlayer(p, selected_id[0], selected_group));

View File

@ -888,7 +888,7 @@ static void DrawBuildVehicleWindow(Window *w)
const buildvehicle_d *bv = &WP(w, buildvehicle_d); const buildvehicle_d *bv = &WP(w, buildvehicle_d);
uint max = min(w->vscroll.pos + w->vscroll.cap, EngList_Count(&bv->eng_list)); uint max = min(w->vscroll.pos + w->vscroll.cap, EngList_Count(&bv->eng_list));
SetWindowWidgetDisabledState(w, BUILD_VEHICLE_WIDGET_BUILD, w->window_number <= VEH_END); w->SetWidgetDisabledState(BUILD_VEHICLE_WIDGET_BUILD, w->window_number <= VEH_END);
SetVScrollCount(w, EngList_Count(&bv->eng_list)); SetVScrollCount(w, EngList_Count(&bv->eng_list));
SetDParam(0, bv->filter.railtype + STR_881C_NEW_RAIL_VEHICLES); // This should only affect rail vehicles SetDParam(0, bv->filter.railtype + STR_881C_NEW_RAIL_VEHICLES); // This should only affect rail vehicles

View File

@ -216,7 +216,7 @@ static void DrawDepotWindow(Window *w)
uint16 boxes_in_each_row = w->widget[DEPOT_WIDGET_MATRIX].data & 0xFF; uint16 boxes_in_each_row = w->widget[DEPOT_WIDGET_MATRIX].data & 0xFF;
/* setup disabled buttons */ /* setup disabled buttons */
SetWindowWidgetsDisabledState(w, !IsTileOwner(tile, _local_player), w->SetWidgetsDisabledState(!IsTileOwner(tile, _local_player),
DEPOT_WIDGET_STOP_ALL, DEPOT_WIDGET_STOP_ALL,
DEPOT_WIDGET_START_ALL, DEPOT_WIDGET_START_ALL,
DEPOT_WIDGET_SELL, DEPOT_WIDGET_SELL,
@ -724,7 +724,7 @@ static void CreateDepotListWindow(Window *w, VehicleType type)
+ (type == VEH_TRAIN ? 1 : w->hscroll.cap); // number of boxes in each row. Trains always have just one + (type == VEH_TRAIN ? 1 : w->hscroll.cap); // number of boxes in each row. Trains always have just one
SetWindowWidgetsHiddenState(w, type != VEH_TRAIN, w->SetWidgetsHiddenState(type != VEH_TRAIN,
DEPOT_WIDGET_H_SCROLL, DEPOT_WIDGET_H_SCROLL,
DEPOT_WIDGET_SELL_CHAIN, DEPOT_WIDGET_SELL_CHAIN,
WIDGET_LIST_END); WIDGET_LIST_END);
@ -795,9 +795,9 @@ static void DepotWndProc(Window *w, WindowEvent *e)
case DEPOT_WIDGET_CLONE: // Clone button case DEPOT_WIDGET_CLONE: // Clone button
InvalidateWidget(w, DEPOT_WIDGET_CLONE); InvalidateWidget(w, DEPOT_WIDGET_CLONE);
ToggleWidgetLoweredState(w, DEPOT_WIDGET_CLONE); w->ToggleWidgetLoweredState(DEPOT_WIDGET_CLONE);
if (IsWindowWidgetLowered(w, DEPOT_WIDGET_CLONE)) { if (w->IsWidgetLowered(DEPOT_WIDGET_CLONE)) {
static const CursorID clone_icons[] = { static const CursorID clone_icons[] = {
SPR_CURSOR_CLONE_TRAIN, SPR_CURSOR_CLONE_ROADVEH, SPR_CURSOR_CLONE_TRAIN, SPR_CURSOR_CLONE_ROADVEH,
SPR_CURSOR_CLONE_SHIP, SPR_CURSOR_CLONE_AIRPLANE SPR_CURSOR_CLONE_SHIP, SPR_CURSOR_CLONE_AIRPLANE
@ -855,7 +855,7 @@ static void DepotWndProc(Window *w, WindowEvent *e)
} break; } break;
case WE_ABORT_PLACE_OBJ: { case WE_ABORT_PLACE_OBJ: {
RaiseWindowWidget(w, DEPOT_WIDGET_CLONE); w->RaiseWidget(DEPOT_WIDGET_CLONE);
InvalidateWidget(w, DEPOT_WIDGET_CLONE); InvalidateWidget(w, DEPOT_WIDGET_CLONE);
} break; } break;
@ -864,7 +864,7 @@ static void DepotWndProc(Window *w, WindowEvent *e)
const Vehicle *v = _place_clicked_vehicle; const Vehicle *v = _place_clicked_vehicle;
/* since OTTD checks all open depot windows, we will make sure that it triggers the one with a clicked clone button */ /* since OTTD checks all open depot windows, we will make sure that it triggers the one with a clicked clone button */
if (v != NULL && IsWindowWidgetLowered(w, DEPOT_WIDGET_CLONE)) { if (v != NULL && w->IsWidgetLowered(DEPOT_WIDGET_CLONE)) {
_place_clicked_vehicle = NULL; _place_clicked_vehicle = NULL;
HandleCloneVehClick(v, w); HandleCloneVehClick(v, w);
} }
@ -906,14 +906,14 @@ static void DepotWndProc(Window *w, WindowEvent *e)
} break; } break;
case DEPOT_WIDGET_SELL: case DEPOT_WIDGET_SELL_CHAIN: case DEPOT_WIDGET_SELL: case DEPOT_WIDGET_SELL_CHAIN:
if (!IsWindowWidgetDisabled(w, DEPOT_WIDGET_SELL) && if (!w->IsWidgetDisabled(DEPOT_WIDGET_SELL) &&
WP(w, depot_d).sel != INVALID_VEHICLE) { WP(w, depot_d).sel != INVALID_VEHICLE) {
Vehicle *v; Vehicle *v;
uint command; uint command;
int sell_cmd; int sell_cmd;
bool is_engine; bool is_engine;
if (IsWindowWidgetDisabled(w, e->we.click.widget)) return; if (w->IsWidgetDisabled(e->we.click.widget)) return;
if (WP(w, depot_d).sel == INVALID_VEHICLE) return; if (WP(w, depot_d).sel == INVALID_VEHICLE) return;
HandleButtonClick(w, e->we.click.widget); HandleButtonClick(w, e->we.click.widget);

View File

@ -128,7 +128,7 @@ static void BuildDocksToolbWndProc(Window *w, WindowEvent *e)
switch (e->event) { switch (e->event) {
case WE_PAINT: case WE_PAINT:
DrawWindowWidgets(w); DrawWindowWidgets(w);
SetWindowWidgetsDisabledState(w, !CanBuildVehicleInfrastructure(VEH_SHIP), 7, 8, 9, WIDGET_LIST_END); w->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_SHIP), 7, 8, 9, WIDGET_LIST_END);
break; break;
case WE_CLICK: case WE_CLICK:
@ -237,7 +237,7 @@ void ShowBuildDocksToolbar()
static void BuildDockStationWndProc(Window *w, WindowEvent *e) static void BuildDockStationWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: LowerWindowWidget(w, _station_show_coverage + 3); break; case WE_CREATE: w->LowerWidget(_station_show_coverage + 3); break;
case WE_PAINT: { case WE_PAINT: {
int rad = (_patches.modified_catchment) ? CA_DOCK : 4; int rad = (_patches.modified_catchment) ? CA_DOCK : 4;
@ -259,9 +259,9 @@ static void BuildDockStationWndProc(Window *w, WindowEvent *e)
switch (e->we.click.widget) { switch (e->we.click.widget) {
case 3: case 3:
case 4: case 4:
RaiseWindowWidget(w, _station_show_coverage + 3); w->RaiseWidget(_station_show_coverage + 3);
_station_show_coverage = (e->we.click.widget != 3); _station_show_coverage = (e->we.click.widget != 3);
LowerWindowWidget(w, _station_show_coverage + 3); w->LowerWidget(_station_show_coverage + 3);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -318,7 +318,7 @@ static void UpdateDocksDirection()
static void BuildDocksDepotWndProc(Window *w, WindowEvent *e) static void BuildDocksDepotWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: LowerWindowWidget(w, _ship_depot_direction + 3); break; case WE_CREATE: w->LowerWidget(_ship_depot_direction + 3); break;
case WE_PAINT: case WE_PAINT:
DrawWindowWidgets(w); DrawWindowWidgets(w);
@ -333,9 +333,9 @@ static void BuildDocksDepotWndProc(Window *w, WindowEvent *e)
switch (e->we.click.widget) { switch (e->we.click.widget) {
case 3: case 3:
case 4: case 4:
RaiseWindowWidget(w, _ship_depot_direction + 3); w->RaiseWidget(_ship_depot_direction + 3);
_ship_depot_direction = (e->we.click.widget == 3 ? AXIS_X : AXIS_Y); _ship_depot_direction = (e->we.click.widget == 3 ? AXIS_X : AXIS_Y);
LowerWindowWidget(w, _ship_depot_direction + 3); w->LowerWidget(_ship_depot_direction + 3);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
UpdateDocksDirection(); UpdateDocksDirection();
SetWindowDirty(w); SetWindowDirty(w);

View File

@ -228,7 +228,7 @@ static void GenerateLandscapeWndProc(Window *w, WindowEvent *e)
switch (e->event) { switch (e->event) {
case WE_CREATE: case WE_CREATE:
LowerWindowWidget(w, _opt_newgame.landscape + GLAND_TEMPERATE); w->LowerWidget(_opt_newgame.landscape + GLAND_TEMPERATE);
snprintf(_genseed_buffer, sizeof(_genseed_buffer), "%u", _patches_newgame.generation_seed); snprintf(_genseed_buffer, sizeof(_genseed_buffer), "%u", _patches_newgame.generation_seed);
InitializeTextBuffer(&_genseed_query.text, _genseed_buffer, lengthof(_genseed_buffer), 120); InitializeTextBuffer(&_genseed_query.text, _genseed_buffer, lengthof(_genseed_buffer), 120);
@ -239,28 +239,28 @@ static void GenerateLandscapeWndProc(Window *w, WindowEvent *e)
case WE_PAINT: case WE_PAINT:
/* You can't select smoothness if not terragenesis */ /* You can't select smoothness if not terragenesis */
if (mode == GLWP_GENERATE) { if (mode == GLWP_GENERATE) {
SetWindowWidgetDisabledState(w, GLAND_SMOOTHNESS_TEXT, _patches_newgame.land_generator == 0); w->SetWidgetDisabledState(GLAND_SMOOTHNESS_TEXT, _patches_newgame.land_generator == 0);
SetWindowWidgetDisabledState(w, GLAND_SMOOTHNESS_PULLDOWN, _patches_newgame.land_generator == 0); w->SetWidgetDisabledState(GLAND_SMOOTHNESS_PULLDOWN, _patches_newgame.land_generator == 0);
} }
/* Disable snowline if not hilly */ /* Disable snowline if not hilly */
SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_TEXT, _opt_newgame.landscape != LT_ARCTIC); w->SetWidgetDisabledState(GLAND_SNOW_LEVEL_TEXT, _opt_newgame.landscape != LT_ARCTIC);
/* Disable town, industry and trees in SE */ /* Disable town, industry and trees in SE */
SetWindowWidgetDisabledState(w, GLAND_TOWN_TEXT, _game_mode == GM_EDITOR); w->SetWidgetDisabledState(GLAND_TOWN_TEXT, _game_mode == GM_EDITOR);
SetWindowWidgetDisabledState(w, GLAND_TOWN_PULLDOWN, _game_mode == GM_EDITOR); w->SetWidgetDisabledState(GLAND_TOWN_PULLDOWN, _game_mode == GM_EDITOR);
SetWindowWidgetDisabledState(w, GLAND_INDUSTRY_TEXT, _game_mode == GM_EDITOR); w->SetWidgetDisabledState(GLAND_INDUSTRY_TEXT, _game_mode == GM_EDITOR);
SetWindowWidgetDisabledState(w, GLAND_INDUSTRY_PULLDOWN, _game_mode == GM_EDITOR); w->SetWidgetDisabledState(GLAND_INDUSTRY_PULLDOWN, _game_mode == GM_EDITOR);
SetWindowWidgetDisabledState(w, GLAND_TREE_TEXT, _game_mode == GM_EDITOR); w->SetWidgetDisabledState(GLAND_TREE_TEXT, _game_mode == GM_EDITOR);
SetWindowWidgetDisabledState(w, GLAND_TREE_PULLDOWN, _game_mode == GM_EDITOR); w->SetWidgetDisabledState(GLAND_TREE_PULLDOWN, _game_mode == GM_EDITOR);
SetWindowWidgetDisabledState(w, GLAND_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); w->SetWidgetDisabledState(GLAND_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR);
SetWindowWidgetDisabledState(w, GLAND_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); w->SetWidgetDisabledState(GLAND_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR);
SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_DOWN, _patches_newgame.snow_line_height <= 2 || _opt_newgame.landscape != LT_ARCTIC); w->SetWidgetDisabledState(GLAND_SNOW_LEVEL_DOWN, _patches_newgame.snow_line_height <= 2 || _opt_newgame.landscape != LT_ARCTIC);
SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_UP, _patches_newgame.snow_line_height >= MAX_SNOWLINE_HEIGHT || _opt_newgame.landscape != LT_ARCTIC); w->SetWidgetDisabledState(GLAND_SNOW_LEVEL_UP, _patches_newgame.snow_line_height >= MAX_SNOWLINE_HEIGHT || _opt_newgame.landscape != LT_ARCTIC);
SetWindowWidgetLoweredState(w, GLAND_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE); w->SetWidgetLoweredState(GLAND_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE);
SetWindowWidgetLoweredState(w, GLAND_ARCTIC, _opt_newgame.landscape == LT_ARCTIC); w->SetWidgetLoweredState(GLAND_ARCTIC, _opt_newgame.landscape == LT_ARCTIC);
SetWindowWidgetLoweredState(w, GLAND_TROPICAL, _opt_newgame.landscape == LT_TROPIC); w->SetWidgetLoweredState(GLAND_TROPICAL, _opt_newgame.landscape == LT_TROPIC);
SetWindowWidgetLoweredState(w, GLAND_TOYLAND, _opt_newgame.landscape == LT_TOYLAND); w->SetWidgetLoweredState(GLAND_TOYLAND, _opt_newgame.landscape == LT_TOYLAND);
DrawWindowWidgets(w); DrawWindowWidgets(w);
y = (mode == GLWP_HEIGHTMAP) ? 22 : 0; y = (mode == GLWP_HEIGHTMAP) ? 22 : 0;
@ -335,7 +335,7 @@ static void GenerateLandscapeWndProc(Window *w, WindowEvent *e)
switch (e->we.click.widget) { switch (e->we.click.widget) {
case 0: DeleteWindow(w); break; case 0: DeleteWindow(w); break;
case GLAND_TEMPERATE: case GLAND_ARCTIC: case GLAND_TROPICAL: case GLAND_TOYLAND: case GLAND_TEMPERATE: case GLAND_ARCTIC: case GLAND_TROPICAL: case GLAND_TOYLAND:
RaiseWindowWidget(w, _opt_newgame.landscape + GLAND_TEMPERATE); w->RaiseWidget(_opt_newgame.landscape + GLAND_TEMPERATE);
SetNewLandscapeType(e->we.click.widget - GLAND_TEMPERATE); SetNewLandscapeType(e->we.click.widget - GLAND_TEMPERATE);
break; break;
case GLAND_MAPSIZE_X_TEXT: case GLAND_MAPSIZE_X_PULLDOWN: // Mapsize X case GLAND_MAPSIZE_X_TEXT: case GLAND_MAPSIZE_X_PULLDOWN: // Mapsize X
@ -605,18 +605,18 @@ static void CreateScenarioWndProc(Window *w, WindowEvent *e)
static const StringID mapsizes[] = {STR_64, STR_128, STR_256, STR_512, STR_1024, STR_2048, INVALID_STRING_ID}; static const StringID mapsizes[] = {STR_64, STR_128, STR_256, STR_512, STR_1024, STR_2048, INVALID_STRING_ID};
switch (e->event) { switch (e->event) {
case WE_CREATE: LowerWindowWidget(w, _opt_newgame.landscape + CSCEN_TEMPERATE); break; case WE_CREATE: w->LowerWidget(_opt_newgame.landscape + CSCEN_TEMPERATE); break;
case WE_PAINT: case WE_PAINT:
SetWindowWidgetDisabledState(w, CSCEN_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); w->SetWidgetDisabledState(CSCEN_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR);
SetWindowWidgetDisabledState(w, CSCEN_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); w->SetWidgetDisabledState(CSCEN_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR);
SetWindowWidgetDisabledState(w, CSCEN_FLAT_LAND_HEIGHT_DOWN, _patches_newgame.se_flat_world_height <= 0); w->SetWidgetDisabledState(CSCEN_FLAT_LAND_HEIGHT_DOWN, _patches_newgame.se_flat_world_height <= 0);
SetWindowWidgetDisabledState(w, CSCEN_FLAT_LAND_HEIGHT_UP, _patches_newgame.se_flat_world_height >= MAX_TILE_HEIGHT); w->SetWidgetDisabledState(CSCEN_FLAT_LAND_HEIGHT_UP, _patches_newgame.se_flat_world_height >= MAX_TILE_HEIGHT);
SetWindowWidgetLoweredState(w, CSCEN_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE); w->SetWidgetLoweredState(CSCEN_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE);
SetWindowWidgetLoweredState(w, CSCEN_ARCTIC, _opt_newgame.landscape == LT_ARCTIC); w->SetWidgetLoweredState(CSCEN_ARCTIC, _opt_newgame.landscape == LT_ARCTIC);
SetWindowWidgetLoweredState(w, CSCEN_TROPICAL, _opt_newgame.landscape == LT_TROPIC); w->SetWidgetLoweredState(CSCEN_TROPICAL, _opt_newgame.landscape == LT_TROPIC);
SetWindowWidgetLoweredState(w, CSCEN_TOYLAND, _opt_newgame.landscape == LT_TOYLAND); w->SetWidgetLoweredState(CSCEN_TOYLAND, _opt_newgame.landscape == LT_TOYLAND);
DrawWindowWidgets(w); DrawWindowWidgets(w);
DrawStringRightAligned(211, 97, STR_MAPSIZE, TC_FROMSTRING); DrawStringRightAligned(211, 97, STR_MAPSIZE, TC_FROMSTRING);
@ -636,7 +636,7 @@ static void CreateScenarioWndProc(Window *w, WindowEvent *e)
case WE_CLICK: case WE_CLICK:
switch (e->we.click.widget) { switch (e->we.click.widget) {
case CSCEN_TEMPERATE: case CSCEN_ARCTIC: case CSCEN_TROPICAL: case CSCEN_TOYLAND: case CSCEN_TEMPERATE: case CSCEN_ARCTIC: case CSCEN_TROPICAL: case CSCEN_TOYLAND:
RaiseWindowWidget(w, _opt_newgame.landscape + CSCEN_TEMPERATE); w->RaiseWidget(_opt_newgame.landscape + CSCEN_TEMPERATE);
SetNewLandscapeType(e->we.click.widget - CSCEN_TEMPERATE); SetNewLandscapeType(e->we.click.widget - CSCEN_TEMPERATE);
break; break;
case CSCEN_MAPSIZE_X_TEXT: case CSCEN_MAPSIZE_X_PULLDOWN: // Mapsize X case CSCEN_MAPSIZE_X_TEXT: case CSCEN_MAPSIZE_X_PULLDOWN: // Mapsize X

View File

@ -250,7 +250,7 @@ static void GraphLegendWndProc(Window *w, WindowEvent *e)
switch (e->event) { switch (e->event) {
case WE_CREATE: case WE_CREATE:
for (uint i = 3; i < w->widget_count; i++) { for (uint i = 3; i < w->widget_count; i++) {
if (!HasBit(_legend_excluded_players, i - 3)) LowerWindowWidget(w, i); if (!HasBit(_legend_excluded_players, i - 3)) w->LowerWidget(i);
} }
break; break;
@ -261,7 +261,7 @@ static void GraphLegendWndProc(Window *w, WindowEvent *e)
if (p->is_active) continue; if (p->is_active) continue;
SetBit(_legend_excluded_players, p->index); SetBit(_legend_excluded_players, p->index);
RaiseWindowWidget(w, p->index + 3); w->RaiseWidget(p->index + 3);
} }
DrawWindowWidgets(w); DrawWindowWidgets(w);
@ -282,7 +282,7 @@ static void GraphLegendWndProc(Window *w, WindowEvent *e)
if (!IsInsideMM(e->we.click.widget, 3, 11)) return; if (!IsInsideMM(e->we.click.widget, 3, 11)) return;
ToggleBit(_legend_excluded_players, e->we.click.widget - 3); ToggleBit(_legend_excluded_players, e->we.click.widget - 3);
ToggleWidgetLoweredState(w, e->we.click.widget); w->ToggleWidgetLoweredState(e->we.click.widget);
SetWindowDirty(w); SetWindowDirty(w);
InvalidateWindow(WC_INCOME_GRAPH, 0); InvalidateWindow(WC_INCOME_GRAPH, 0);
InvalidateWindow(WC_OPERATING_PROFIT, 0); InvalidateWindow(WC_OPERATING_PROFIT, 0);
@ -733,7 +733,7 @@ static void CargoPaymentRatesWndProc(Window *w, WindowEvent *e)
* both the text and the colored box have to be manually painted. * both the text and the colored box have to be manually painted.
* clk_dif will move one pixel down and one pixel to the right * clk_dif will move one pixel down and one pixel to the right
* when the button is clicked */ * when the button is clicked */
byte clk_dif = IsWindowWidgetLowered(w, i + 3) ? 1 : 0; byte clk_dif = w->IsWidgetLowered(i + 3) ? 1 : 0;
GfxFillRect(x + clk_dif, y + clk_dif, x + 8 + clk_dif, y + 5 + clk_dif, 0); GfxFillRect(x + clk_dif, y + clk_dif, x + 8 + clk_dif, y + 5 + clk_dif, 0);
GfxFillRect(x + 1 + clk_dif, y + 1 + clk_dif, x + 7 + clk_dif, y + 4 + clk_dif, cs->legend_colour); GfxFillRect(x + 1 + clk_dif, y + 1 + clk_dif, x + 7 + clk_dif, y + 4 + clk_dif, cs->legend_colour);
@ -761,7 +761,7 @@ static void CargoPaymentRatesWndProc(Window *w, WindowEvent *e)
case WE_CLICK: case WE_CLICK:
if (e->we.click.widget >= 3) { if (e->we.click.widget >= 3) {
ToggleBit(_legend_excluded_cargo, e->we.click.widget - 3); ToggleBit(_legend_excluded_cargo, e->we.click.widget - 3);
ToggleWidgetLoweredState(w, e->we.click.widget); w->ToggleWidgetLoweredState(e->we.click.widget);
SetWindowDirty(w); SetWindowDirty(w);
} }
break; break;
@ -816,7 +816,7 @@ void ShowCargoPaymentRates()
wi->data = 0; wi->data = 0;
wi->tooltips = STR_7064_TOGGLE_GRAPH_FOR_CARGO; wi->tooltips = STR_7064_TOGGLE_GRAPH_FOR_CARGO;
if (!HasBit(_legend_excluded_cargo, i)) LowerWindowWidget(w, i + 3); if (!HasBit(_legend_excluded_cargo, i)) w->LowerWidget(i + 3);
} }
SetWindowDirty(w); SetWindowDirty(w);
@ -932,8 +932,8 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
if (_performance_rating_detail_player == INVALID_PLAYER || !GetPlayer(_performance_rating_detail_player)->is_active) { if (_performance_rating_detail_player == INVALID_PLAYER || !GetPlayer(_performance_rating_detail_player)->is_active) {
if (_performance_rating_detail_player != INVALID_PLAYER) { if (_performance_rating_detail_player != INVALID_PLAYER) {
/* Raise and disable the widget for the previous selection. */ /* Raise and disable the widget for the previous selection. */
RaiseWindowWidget(w, _performance_rating_detail_player + 13); w->RaiseWidget(_performance_rating_detail_player + 13);
DisableWindowWidget(w, _performance_rating_detail_player + 13); w->DisableWidget(_performance_rating_detail_player + 13);
SetWindowDirty(w); SetWindowDirty(w);
_performance_rating_detail_player = INVALID_PLAYER; _performance_rating_detail_player = INVALID_PLAYER;
@ -942,7 +942,7 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) { for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) {
if (GetPlayer(i)->is_active) { if (GetPlayer(i)->is_active) {
/* Lower the widget corresponding to this player. */ /* Lower the widget corresponding to this player. */
LowerWindowWidget(w, i + 13); w->LowerWidget(i + 13);
SetWindowDirty(w); SetWindowDirty(w);
_performance_rating_detail_player = i; _performance_rating_detail_player = i;
@ -958,9 +958,9 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) { for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) {
if (!GetPlayer(i)->is_active) { if (!GetPlayer(i)->is_active) {
/* Check if we have the player as an active player */ /* Check if we have the player as an active player */
if (!IsWindowWidgetDisabled(w, i + 13)) { if (!w->IsWidgetDisabled(i + 13)) {
/* Bah, player gone :( */ /* Bah, player gone :( */
DisableWindowWidget(w, i + 13); w->DisableWidget(i + 13);
/* We need a repaint */ /* We need a repaint */
SetWindowDirty(w); SetWindowDirty(w);
@ -969,9 +969,9 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
} }
/* Check if we have the player marked as inactive */ /* Check if we have the player marked as inactive */
if (IsWindowWidgetDisabled(w, i + 13)) { if (w->IsWidgetDisabled(i + 13)) {
/* New player! Yippie :p */ /* New player! Yippie :p */
EnableWindowWidget(w, i + 13); w->EnableWidget(i + 13);
/* We need a repaint */ /* We need a repaint */
SetWindowDirty(w); SetWindowDirty(w);
} }
@ -1052,10 +1052,10 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
/* Check which button is clicked */ /* Check which button is clicked */
if (IsInsideMM(e->we.click.widget, 13, 21)) { if (IsInsideMM(e->we.click.widget, 13, 21)) {
/* Is it no on disable? */ /* Is it no on disable? */
if (!IsWindowWidgetDisabled(w, e->we.click.widget)) { if (!w->IsWidgetDisabled(e->we.click.widget)) {
RaiseWindowWidget(w, _performance_rating_detail_player + 13); w->RaiseWidget(_performance_rating_detail_player + 13);
_performance_rating_detail_player = (PlayerID)(e->we.click.widget - 13); _performance_rating_detail_player = (PlayerID)(e->we.click.widget - 13);
LowerWindowWidget(w, _performance_rating_detail_player + 13); w->LowerWidget(_performance_rating_detail_player + 13);
SetWindowDirty(w); SetWindowDirty(w);
} }
} }
@ -1066,7 +1066,7 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
/* Disable the players who are not active */ /* Disable the players who are not active */
for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) { for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) {
SetWindowWidgetDisabledState(w, i + 13, !GetPlayer(i)->is_active); w->SetWidgetDisabledState(i + 13, !GetPlayer(i)->is_active);
} }
/* Update all player stats with the current data /* Update all player stats with the current data
* (this is because _score_info is not saved to a savegame) */ * (this is because _score_info is not saved to a savegame) */
@ -1077,7 +1077,7 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
w->custom[0] = DAY_TICKS; w->custom[0] = DAY_TICKS;
w->custom[1] = 5; w->custom[1] = 5;
if (_performance_rating_detail_player != INVALID_PLAYER) LowerWindowWidget(w, _performance_rating_detail_player + 13); if (_performance_rating_detail_player != INVALID_PLAYER) w->LowerWidget(_performance_rating_detail_player + 13);
SetWindowDirty(w); SetWindowDirty(w);
break; break;

View File

@ -266,7 +266,7 @@ static void CreateVehicleGroupWindow(Window *w)
*/ */
static void UpdateGroupActionDropdown(Window *w, GroupID gid, bool refresh = true) static void UpdateGroupActionDropdown(Window *w, GroupID gid, bool refresh = true)
{ {
if (refresh && !IsWindowWidgetLowered(w, GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN)) return; if (refresh && !w->IsWidgetLowered(GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN)) return;
static StringID action_str[] = { static StringID action_str[] = {
STR_REPLACE_VEHICLES, STR_REPLACE_VEHICLES,
@ -329,8 +329,8 @@ static void GroupWndProc(Window *w, WindowEvent *e)
SetVScroll2Count(w, gv->l.list_length); SetVScroll2Count(w, gv->l.list_length);
/* The drop down menu is out, *but* it may not be used, retract it. */ /* The drop down menu is out, *but* it may not be used, retract it. */
if (gv->l.list_length == 0 && IsWindowWidgetLowered(w, GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN)) { if (gv->l.list_length == 0 && w->IsWidgetLowered(GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN)) {
RaiseWindowWidget(w, GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN); w->RaiseWidget(GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN);
Window **w2; Window **w2;
FOR_ALL_WINDOWS(w2) { FOR_ALL_WINDOWS(w2) {
if (w->window_class == WP(*w2, dropdown_d).parent_wnd_class && if (w->window_class == WP(*w2, dropdown_d).parent_wnd_class &&
@ -342,7 +342,7 @@ static void GroupWndProc(Window *w, WindowEvent *e)
} }
/* Disable all lists management button when the list is empty */ /* Disable all lists management button when the list is empty */
SetWindowWidgetsDisabledState(w, gv->l.list_length == 0 || _local_player != owner, w->SetWidgetsDisabledState(gv->l.list_length == 0 || _local_player != owner,
GRP_WIDGET_STOP_ALL, GRP_WIDGET_STOP_ALL,
GRP_WIDGET_START_ALL, GRP_WIDGET_START_ALL,
GRP_WIDGET_MANAGE_VEHICLES, GRP_WIDGET_MANAGE_VEHICLES,
@ -350,7 +350,7 @@ static void GroupWndProc(Window *w, WindowEvent *e)
WIDGET_LIST_END); WIDGET_LIST_END);
/* Disable the group specific function when we select the default group or all vehicles */ /* Disable the group specific function when we select the default group or all vehicles */
SetWindowWidgetsDisabledState(w, IsDefaultGroupID(gv->group_sel) || IsAllGroupID(gv->group_sel) || _local_player != owner, w->SetWidgetsDisabledState(IsDefaultGroupID(gv->group_sel) || IsAllGroupID(gv->group_sel) || _local_player != owner,
GRP_WIDGET_DELETE_GROUP, GRP_WIDGET_DELETE_GROUP,
GRP_WIDGET_RENAME_GROUP, GRP_WIDGET_RENAME_GROUP,
GRP_WIDGET_REPLACE_PROTECTION, GRP_WIDGET_REPLACE_PROTECTION,
@ -362,7 +362,7 @@ static void GroupWndProc(Window *w, WindowEvent *e)
* verify, whether you are the owner of the vehicle, * verify, whether you are the owner of the vehicle,
* so it doesn't have to be disabled * so it doesn't have to be disabled
*/ */
SetWindowWidgetsDisabledState(w, _local_player != owner, w->SetWidgetsDisabledState(_local_player != owner,
GRP_WIDGET_CREATE_GROUP, GRP_WIDGET_CREATE_GROUP,
GRP_WIDGET_AVAILABLE_VEHICLES, GRP_WIDGET_AVAILABLE_VEHICLES,
WIDGET_LIST_END); WIDGET_LIST_END);

View File

@ -152,7 +152,7 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
} else { } else {
w->widget[DYNA_INDU_FUND_WIDGET].data = (_patches.raw_industry_construction == 2 && indsp->IsRawIndustry()) ? STR_PROSPECT_NEW_INDUSTRY : STR_FUND_NEW_INDUSTRY; w->widget[DYNA_INDU_FUND_WIDGET].data = (_patches.raw_industry_construction == 2 && indsp->IsRawIndustry()) ? STR_PROSPECT_NEW_INDUSTRY : STR_FUND_NEW_INDUSTRY;
} }
SetWindowWidgetDisabledState(w, DYNA_INDU_FUND_WIDGET, !_fund_gui.enabled[WP(w, fnd_d).index]); w->SetWidgetDisabledState(DYNA_INDU_FUND_WIDGET, !_fund_gui.enabled[WP(w, fnd_d).index]);
SetVScrollCount(w, _fund_gui.count); SetVScrollCount(w, _fund_gui.count);

View File

@ -53,13 +53,13 @@ static inline void SetNewLandscapeType(byte landscape)
static void SelectGameWndProc(Window *w, WindowEvent *e) static void SelectGameWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: LowerWindowWidget(w, _opt_newgame.landscape + 8); break; case WE_CREATE: w->LowerWidget(_opt_newgame.landscape + 8); break;
case WE_PAINT: case WE_PAINT:
SetWindowWidgetLoweredState(w, 8, _opt_newgame.landscape == LT_TEMPERATE); w->SetWidgetLoweredState(8, _opt_newgame.landscape == LT_TEMPERATE);
SetWindowWidgetLoweredState(w, 9, _opt_newgame.landscape == LT_ARCTIC); w->SetWidgetLoweredState(9, _opt_newgame.landscape == LT_ARCTIC);
SetWindowWidgetLoweredState(w, 10, _opt_newgame.landscape == LT_TROPIC); w->SetWidgetLoweredState(10, _opt_newgame.landscape == LT_TROPIC);
SetWindowWidgetLoweredState(w, 11, _opt_newgame.landscape == LT_TOYLAND); w->SetWidgetLoweredState(11, _opt_newgame.landscape == LT_TOYLAND);
SetDParam(0, STR_6801_EASY + _opt_newgame.diff_level); SetDParam(0, STR_6801_EASY + _opt_newgame.diff_level);
DrawWindowWidgets(w); DrawWindowWidgets(w);
break; break;
@ -85,7 +85,7 @@ static void SelectGameWndProc(Window *w, WindowEvent *e)
} }
break; break;
case 8: case 9: case 10: case 11: case 8: case 9: case 10: case 11:
RaiseWindowWidget(w, _opt_newgame.landscape + 8); w->RaiseWidget(_opt_newgame.landscape + 8);
SetNewLandscapeType(e->we.click.widget - 8); SetNewLandscapeType(e->we.click.widget - 8);
break; break;
case 12: ShowGameOptions(); break; case 12: ShowGameOptions(); break;

View File

@ -121,18 +121,18 @@ void HandleOnEditText(const char *str)
*/ */
bool HandlePlacePushButton(Window *w, int widget, CursorID cursor, ViewportHighlightMode mode, PlaceProc *placeproc) bool HandlePlacePushButton(Window *w, int widget, CursorID cursor, ViewportHighlightMode mode, PlaceProc *placeproc)
{ {
if (IsWindowWidgetDisabled(w, widget)) return false; if (w->IsWidgetDisabled(widget)) return false;
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
if (IsWindowWidgetLowered(w, widget)) { if (w->IsWidgetLowered(widget)) {
ResetObjectToPlace(); ResetObjectToPlace();
return false; return false;
} }
SetObjectToPlace(cursor, PAL_NONE, mode, w->window_class, w->window_number); SetObjectToPlace(cursor, PAL_NONE, mode, w->window_class, w->window_number);
LowerWindowWidget(w, widget); w->LowerWidget(widget);
_place_proc = placeproc; _place_proc = placeproc;
return true; return true;
} }
@ -468,7 +468,7 @@ static void MenuWndProc(Window *w, WindowEvent *e)
case WE_DESTROY: { case WE_DESTROY: {
Window *v = FindWindowById(WC_MAIN_TOOLBAR, 0); Window *v = FindWindowById(WC_MAIN_TOOLBAR, 0);
RaiseWindowWidget(v, WP(w,menu_d).main_button); v->RaiseWidget(WP(w,menu_d).main_button);
SetWindowDirty(v); SetWindowDirty(v);
return; return;
} }
@ -603,7 +603,7 @@ static void PlayerMenuWndProc(Window *w, WindowEvent *e)
case WE_DESTROY: { case WE_DESTROY: {
Window *v = FindWindowById(WC_MAIN_TOOLBAR, 0); Window *v = FindWindowById(WC_MAIN_TOOLBAR, 0);
RaiseWindowWidget(v, WP(w,menu_d).main_button); v->RaiseWidget(WP(w,menu_d).main_button);
SetWindowDirty(v); SetWindowDirty(v);
return; return;
} }
@ -705,7 +705,7 @@ static Window *PopupMainToolbMenu(Window *w, uint16 parent_button, StringID base
int x = w->widget[GB(parent_button, 0, 8)].left; int x = w->widget[GB(parent_button, 0, 8)].left;
assert(disabled_mask == 0 || item_count <= 8); assert(disabled_mask == 0 || item_count <= 8);
LowerWindowWidget(w, parent_button); w->LowerWidget(parent_button);
InvalidateWidget(w, parent_button); InvalidateWidget(w, parent_button);
DeleteWindowById(WC_TOOLBAR_MENU, 0); DeleteWindowById(WC_TOOLBAR_MENU, 0);
@ -740,7 +740,7 @@ static Window *PopupMainPlayerToolbMenu(Window *w, int main_button, int gray)
{ {
int x = w->widget[main_button].left + w->left; int x = w->widget[main_button].left + w->left;
LowerWindowWidget(w, main_button); w->LowerWidget(main_button);
InvalidateWidget(w, main_button); InvalidateWidget(w, main_button);
DeleteWindowById(WC_TOOLBAR_MENU, 0); DeleteWindowById(WC_TOOLBAR_MENU, 0);
@ -1309,7 +1309,7 @@ static void ScenEditLandGenWndProc(Window *w, WindowEvent *e)
} while (--n); } while (--n);
} }
if (IsWindowWidgetLowered(w, 5) || IsWindowWidgetLowered(w, 6)) // change area-size if raise/lower corner is selected if (w->IsWidgetLowered(5) || w->IsWidgetLowered(6)) // change area-size if raise/lower corner is selected
SetTileSelectSize(_terraform_size, _terraform_size); SetTileSelectSize(_terraform_size, _terraform_size);
break; break;
@ -1359,8 +1359,8 @@ static void ScenEditLandGenWndProc(Window *w, WindowEvent *e)
case WE_TIMEOUT: { case WE_TIMEOUT: {
uint i; uint i;
for (i = 0; i < w->widget_count; i++) { for (i = 0; i < w->widget_count; i++) {
if (IsWindowWidgetLowered(w, i)) { if (w->IsWidgetLowered(i)) {
RaiseWindowWidget(w, i); w->RaiseWidget(i);
InvalidateWidget(w, i); InvalidateWidget(w, i);
} }
if (i == 3) i = 11; if (i == 3) i = 11;
@ -1456,7 +1456,7 @@ static void ScenEditTownGenWndProc(Window *w, WindowEvent *e)
break; break;
case WE_CREATE: case WE_CREATE:
LowerWindowWidget(w, _scengen_town_size + 7); w->LowerWidget(_scengen_town_size + 7);
break; break;
case WE_CLICK: case WE_CLICK:
@ -1492,17 +1492,17 @@ static void ScenEditTownGenWndProc(Window *w, WindowEvent *e)
} }
case 7: case 8: case 9: case 10: case 7: case 8: case 9: case 10:
RaiseWindowWidget(w, _scengen_town_size + 7); w->RaiseWidget(_scengen_town_size + 7);
_scengen_town_size = e->we.click.widget - 7; _scengen_town_size = e->we.click.widget - 7;
LowerWindowWidget(w, _scengen_town_size + 7); w->LowerWidget(_scengen_town_size + 7);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
} }
break; break;
case WE_TIMEOUT: case WE_TIMEOUT:
RaiseWindowWidget(w, 5); w->RaiseWidget(5);
RaiseWindowWidget(w, 6); w->RaiseWidget(6);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
case WE_PLACE_OBJ: case WE_PLACE_OBJ:
@ -1510,7 +1510,7 @@ static void ScenEditTownGenWndProc(Window *w, WindowEvent *e)
break; break;
case WE_ABORT_PLACE_OBJ: case WE_ABORT_PLACE_OBJ:
RaiseWindowButtons(w); RaiseWindowButtons(w);
LowerWindowWidget(w, _scengen_town_size + 7); w->LowerWidget(_scengen_town_size + 7);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
} }
@ -1608,18 +1608,18 @@ static void MainToolbarWndProc(Window *w, WindowEvent *e)
/* If spectator, disable all construction buttons /* If spectator, disable all construction buttons
* ie : Build road, rail, ships, airports and landscaping * ie : Build road, rail, ships, airports and landscaping
* Since enabled state is the default, just disable when needed */ * Since enabled state is the default, just disable when needed */
SetWindowWidgetsDisabledState(w, _current_player == PLAYER_SPECTATOR, 19, 20, 21, 22, 23, WIDGET_LIST_END); w->SetWidgetsDisabledState(_current_player == PLAYER_SPECTATOR, 19, 20, 21, 22, 23, WIDGET_LIST_END);
/* disable company list drop downs, if there are no companies */ /* disable company list drop downs, if there are no companies */
SetWindowWidgetsDisabledState(w, ActivePlayerCount() == 0, 7, 8, 13, 14, 15, 16, WIDGET_LIST_END); w->SetWidgetsDisabledState(ActivePlayerCount() == 0, 7, 8, 13, 14, 15, 16, WIDGET_LIST_END);
SetWindowWidgetDisabledState(w, 19, !CanBuildVehicleInfrastructure(VEH_TRAIN)); w->SetWidgetDisabledState(19, !CanBuildVehicleInfrastructure(VEH_TRAIN));
SetWindowWidgetDisabledState(w, 22, !CanBuildVehicleInfrastructure(VEH_AIRCRAFT)); w->SetWidgetDisabledState(22, !CanBuildVehicleInfrastructure(VEH_AIRCRAFT));
DrawWindowWidgets(w); DrawWindowWidgets(w);
break; break;
case WE_CLICK: { case WE_CLICK: {
if (_game_mode != GM_MENU && !IsWindowWidgetDisabled(w, e->we.click.widget)) if (_game_mode != GM_MENU && !w->IsWidgetDisabled(e->we.click.widget))
_toolbar_button_procs[e->we.click.widget](w); _toolbar_button_procs[e->we.click.widget](w);
} break; } break;
@ -1672,18 +1672,18 @@ static void MainToolbarWndProc(Window *w, WindowEvent *e)
} break; } break;
case WE_ABORT_PLACE_OBJ: { case WE_ABORT_PLACE_OBJ: {
RaiseWindowWidget(w, 25); w->RaiseWidget(25);
SetWindowDirty(w); SetWindowDirty(w);
} break; } break;
case WE_MOUSELOOP: case WE_MOUSELOOP:
if (IsWindowWidgetLowered(w, 0) != !!_pause_game) { if (w->IsWidgetLowered(0) != !!_pause_game) {
ToggleWidgetLoweredState(w, 0); w->ToggleWidgetLoweredState(0);
InvalidateWidget(w, 0); InvalidateWidget(w, 0);
} }
if (IsWindowWidgetLowered(w, 1) != !!_fast_forward) { if (w->IsWidgetLowered(1) != !!_fast_forward) {
ToggleWidgetLoweredState(w, 1); w->ToggleWidgetLoweredState(1);
InvalidateWidget(w, 1); InvalidateWidget(w, 1);
} }
break; break;
@ -1718,8 +1718,8 @@ static void MainToolbarWndProc(Window *w, WindowEvent *e)
case WE_TIMEOUT: { case WE_TIMEOUT: {
uint i; uint i;
for (i = 2; i < w->widget_count; i++) { for (i = 2; i < w->widget_count; i++) {
if (IsWindowWidgetLowered(w, i)) { if (w->IsWidgetLowered(i)) {
RaiseWindowWidget(w, i); w->RaiseWidget(i);
InvalidateWidget(w, i); InvalidateWidget(w, i);
} }
} }
@ -1849,8 +1849,8 @@ static void ScenEditToolbarWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_PAINT: case WE_PAINT:
SetWindowWidgetDisabledState(w, 6, _patches_newgame.starting_year <= MIN_YEAR); w->SetWidgetDisabledState(6, _patches_newgame.starting_year <= MIN_YEAR);
SetWindowWidgetDisabledState(w, 7, _patches_newgame.starting_year >= MAX_YEAR); w->SetWidgetDisabledState(7, _patches_newgame.starting_year >= MAX_YEAR);
/* Draw brown-red toolbar bg. */ /* Draw brown-red toolbar bg. */
GfxFillRect(0, 0, w->width-1, w->height-1, 0xB2); GfxFillRect(0, 0, w->width-1, w->height-1, 0xB2);
@ -1900,7 +1900,7 @@ static void ScenEditToolbarWndProc(Window *w, WindowEvent *e)
} break; } break;
case WE_ABORT_PLACE_OBJ: { case WE_ABORT_PLACE_OBJ: {
RaiseWindowWidget(w, 25); w->RaiseWidget(25);
SetWindowDirty(w); SetWindowDirty(w);
} break; } break;
@ -1971,13 +1971,13 @@ static void ScenEditToolbarWndProc(Window *w, WindowEvent *e)
} break; } break;
case WE_MOUSELOOP: case WE_MOUSELOOP:
if (IsWindowWidgetLowered(w, 0) != !!_pause_game) { if (w->IsWidgetLowered(0) != !!_pause_game) {
ToggleWidgetLoweredState(w, 0); w->ToggleWidgetLoweredState(0);
SetWindowDirty(w); SetWindowDirty(w);
} }
if (IsWindowWidgetLowered(w, 1) != !!_fast_forward) { if (w->IsWidgetLowered(1) != !!_fast_forward) {
ToggleWidgetLoweredState(w, 1); w->ToggleWidgetLoweredState(1);
SetWindowDirty(w); SetWindowDirty(w);
} }
break; break;
@ -2374,8 +2374,8 @@ void ShowVitalWindows()
CLRBITS(w->flags4, WF_WHITE_BORDER_MASK); CLRBITS(w->flags4, WF_WHITE_BORDER_MASK);
SetWindowWidgetDisabledState(w, 0, _networking && !_network_server); // if not server, disable pause button w->SetWidgetDisabledState(0, _networking && !_network_server); // if not server, disable pause button
SetWindowWidgetDisabledState(w, 1, _networking); // if networking, disable fast-forward button w->SetWidgetDisabledState(1, _networking); // if networking, disable fast-forward button
/* 'w' is for sure a WC_MAIN_TOOLBAR */ /* 'w' is for sure a WC_MAIN_TOOLBAR */
PositionMainToolbar(w); PositionMainToolbar(w);

View File

@ -376,7 +376,7 @@ static void BuildTreesWndProc(Window *w, WindowEvent *e)
break; break;
case 16: // place trees randomly over the landscape case 16: // place trees randomly over the landscape
LowerWindowWidget(w, 16); w->LowerWidget(16);
w->flags4 |= 5 << WF_TIMEOUT_SHL; w->flags4 |= 5 << WF_TIMEOUT_SHL;
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
PlaceTreesRandomly(); PlaceTreesRandomly();
@ -402,7 +402,7 @@ static void BuildTreesWndProc(Window *w, WindowEvent *e)
break; break;
case WE_TIMEOUT: case WE_TIMEOUT:
RaiseWindowWidget(w, 16); w->RaiseWidget(16);
break; break;
case WE_ABORT_PLACE_OBJ: case WE_ABORT_PLACE_OBJ:
@ -1220,7 +1220,7 @@ void ShowQueryString(StringID str, StringID caption, uint maxlen, uint maxwidth,
WP(w, querystr_d).orig = orig_str_buf; WP(w, querystr_d).orig = orig_str_buf;
} }
LowerWindowWidget(w, QUERY_STR_WIDGET_TEXT); w->LowerWidget(QUERY_STR_WIDGET_TEXT);
WP(w, querystr_d).caption = caption; WP(w, querystr_d).caption = caption;
WP(w, querystr_d).afilter = afilter; WP(w, querystr_d).afilter = afilter;
InitializeTextBuffer(&WP(w, querystr_d).text, _edit_str_buf, realmaxlen, maxwidth); InitializeTextBuffer(&WP(w, querystr_d).text, _edit_str_buf, realmaxlen, maxwidth);
@ -1599,7 +1599,7 @@ static void SaveLoadDlgWndProc(Window *w, WindowEvent *e)
* in those two saveload mode */ * in those two saveload mode */
if (!(_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO)) break; if (!(_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO)) break;
if (IsWindowWidgetLowered(w, 11)) { // Delete button clicked if (w->IsWidgetLowered(11)) { // Delete button clicked
if (!FiosDelete(WP(w, querystr_d).text.buf)) { if (!FiosDelete(WP(w, querystr_d).text.buf)) {
ShowErrorMessage(INVALID_STRING_ID, STR_4008_UNABLE_TO_DELETE_FILE, 0, 0); ShowErrorMessage(INVALID_STRING_ID, STR_4008_UNABLE_TO_DELETE_FILE, 0, 0);
} else { } else {
@ -1610,7 +1610,7 @@ static void SaveLoadDlgWndProc(Window *w, WindowEvent *e)
UpdateTextBufferSize(&WP(w, querystr_d).text); UpdateTextBufferSize(&WP(w, querystr_d).text);
SetWindowDirty(w); SetWindowDirty(w);
} else if (IsWindowWidgetLowered(w, 12)) { // Save button clicked } else if (w->IsWidgetLowered(12)) { // Save button clicked
_switch_mode = SM_SAVE; _switch_mode = SM_SAVE;
FiosMakeSavegameName(_file_to_saveload.name, WP(w, querystr_d).text.buf, sizeof(_file_to_saveload.name)); FiosMakeSavegameName(_file_to_saveload.name, WP(w, querystr_d).text.buf, sizeof(_file_to_saveload.name));
@ -1691,7 +1691,7 @@ void ShowSaveLoadDialog(int mode)
assert((uint)mode < lengthof(saveload_captions)); assert((uint)mode < lengthof(saveload_captions));
w = AllocateWindowDesc(sld); w = AllocateWindowDesc(sld);
w->widget[1].data = saveload_captions[mode]; w->widget[1].data = saveload_captions[mode];
LowerWindowWidget(w, 7); w->LowerWidget(7);
WP(w, querystr_d).afilter = CS_ALPHANUMERAL; WP(w, querystr_d).afilter = CS_ALPHANUMERAL;
InitializeTextBuffer(&WP(w, querystr_d).text, _edit_str_buf, lengthof(_edit_str_buf), 240); InitializeTextBuffer(&WP(w, querystr_d).text, _edit_str_buf, lengthof(_edit_str_buf), 240);

View File

@ -199,9 +199,9 @@ static void MusicTrackSelectionWndProc(Window *w, WindowEvent *e)
uint i; uint i;
int y; int y;
SetWindowWidgetDisabledState(w, 11, msf.playlist <= 3); w->SetWidgetDisabledState(11, msf.playlist <= 3);
LowerWindowWidget(w, 3); w->LowerWidget(3);
LowerWindowWidget(w, 4); w->LowerWidget(4);
DrawWindowWidgets(w); DrawWindowWidgets(w);
GfxFillRect(3, 23, 3 + 177, 23 + 191, 0); GfxFillRect(3, 23, 3 + 177, 23 + 191, 0);
@ -342,8 +342,8 @@ static void MusicWindowWndProc(Window *w, WindowEvent *e)
uint i; uint i;
StringID str; StringID str;
RaiseWindowWidget(w, 7); w->RaiseWidget(7);
RaiseWindowWidget(w, 9); w->RaiseWidget(9);
DrawWindowWidgets(w); DrawWindowWidgets(w);
GfxFillRect(187, 16, 200, 33, 0); GfxFillRect(187, 16, 200, 33, 0);

View File

@ -272,15 +272,15 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
if (ld->flags & VL_RESORT) SortNetworkGameList(&WP(w, network_ql_d)); if (ld->flags & VL_RESORT) SortNetworkGameList(&WP(w, network_ql_d));
/* 'Refresh' button invisible if no server selected */ /* 'Refresh' button invisible if no server selected */
SetWindowWidgetDisabledState(w, NGWW_REFRESH, sel == NULL); w->SetWidgetDisabledState(NGWW_REFRESH, sel == NULL);
/* 'Join' button disabling conditions */ /* 'Join' button disabling conditions */
SetWindowWidgetDisabledState(w, NGWW_JOIN, sel == NULL || // no Selected Server w->SetWidgetDisabledState(NGWW_JOIN, sel == NULL || // no Selected Server
!sel->online || // Server offline !sel->online || // Server offline
sel->info.clients_on >= sel->info.clients_max || // Server full sel->info.clients_on >= sel->info.clients_max || // Server full
!sel->info.compatible); // Revision mismatch !sel->info.compatible); // Revision mismatch
/* 'NewGRF Settings' button invisible if no NewGRF is used */ /* 'NewGRF Settings' button invisible if no NewGRF is used */
SetWindowWidgetHiddenState(w, NGWW_NEWGRF, sel == NULL || w->SetWidgetHiddenState(NGWW_NEWGRF, sel == NULL ||
!sel->online || !sel->online ||
sel->info.grfconfig == NULL); sel->info.grfconfig == NULL);
@ -997,11 +997,11 @@ static void NetworkLobbyWindowWndProc(Window *w, WindowEvent *e)
int y = NET_PRC__OFFSET_TOP_WIDGET_COMPANY, pos; int y = NET_PRC__OFFSET_TOP_WIDGET_COMPANY, pos;
/* Join button is disabled when no company is selected */ /* Join button is disabled when no company is selected */
SetWindowWidgetDisabledState(w, NLWW_JOIN, nd->company == INVALID_PLAYER); w->SetWidgetDisabledState(NLWW_JOIN, nd->company == INVALID_PLAYER);
/* Cannot start new company if there are too many */ /* Cannot start new company if there are too many */
SetWindowWidgetDisabledState(w, NLWW_NEW, gi->companies_on >= gi->companies_max); w->SetWidgetDisabledState(NLWW_NEW, gi->companies_on >= gi->companies_max);
/* Cannot spectate if there are too many spectators */ /* Cannot spectate if there are too many spectators */
SetWindowWidgetDisabledState(w, NLWW_SPECTATE, gi->spectators_on >= gi->spectators_max); w->SetWidgetDisabledState(NLWW_SPECTATE, gi->spectators_on >= gi->spectators_max);
/* Draw window widgets */ /* Draw window widgets */
SetDParamStr(0, gi->server_name); SetDParamStr(0, gi->server_name);
@ -1880,7 +1880,7 @@ void ShowNetworkChatQueryWindow(DestType type, int dest)
w = AllocateWindowDesc(&_chat_window_desc); w = AllocateWindowDesc(&_chat_window_desc);
LowerWindowWidget(w, 2); w->LowerWidget(2);
WP(w, chatquerystr_d).caption = type; // Misuse of caption WP(w, chatquerystr_d).caption = type; // Misuse of caption
WP(w, chatquerystr_d).dest = dest; WP(w, chatquerystr_d).dest = dest;
WP(w, chatquerystr_d).afilter = CS_ALPHANUMERAL; WP(w, chatquerystr_d).afilter = CS_ALPHANUMERAL;

View File

@ -127,7 +127,7 @@ static void NewGRFAddDlgWndProc(Window *w, WindowEvent *e)
w->vscroll.cap = (w->widget[3].bottom - w->widget[3].top) / 10; w->vscroll.cap = (w->widget[3].bottom - w->widget[3].top) / 10;
SetVScrollCount(w, n); SetVScrollCount(w, n);
SetWindowWidgetDisabledState(w, 6, WP(w, newgrf_add_d).sel == NULL || WP(w, newgrf_add_d).sel->IsOpenTTDBaseGRF()); w->SetWidgetDisabledState(6, WP(w, newgrf_add_d).sel == NULL || WP(w, newgrf_add_d).sel->IsOpenTTDBaseGRF());
DrawWindowWidgets(w); DrawWindowWidgets(w);
GfxFillRect(w->widget[3].left + 1, w->widget[3].top + 1, w->widget[3].right, w->widget[3].bottom, 0xD7); GfxFillRect(w->widget[3].left + 1, w->widget[3].top + 1, w->widget[3].right, w->widget[3].bottom, 0xD7);
@ -269,20 +269,20 @@ static void SetupNewGRFState(Window *w)
{ {
bool disable_all = WP(w, newgrf_d).sel == NULL || !WP(w, newgrf_d).editable; bool disable_all = WP(w, newgrf_d).sel == NULL || !WP(w, newgrf_d).editable;
SetWindowWidgetDisabledState(w, 3, !WP(w, newgrf_d).editable); w->SetWidgetDisabledState(3, !WP(w, newgrf_d).editable);
SetWindowWidgetsDisabledState(w, disable_all, w->SetWidgetsDisabledState(disable_all,
SNGRFS_REMOVE, SNGRFS_REMOVE,
SNGRFS_MOVE_UP, SNGRFS_MOVE_UP,
SNGRFS_MOVE_DOWN, SNGRFS_MOVE_DOWN,
WIDGET_LIST_END WIDGET_LIST_END
); );
SetWindowWidgetDisabledState(w, SNGRFS_SET_PARAMETERS, !WP(w, newgrf_d).show_params || disable_all); w->SetWidgetDisabledState(SNGRFS_SET_PARAMETERS, !WP(w, newgrf_d).show_params || disable_all);
if (!disable_all) { if (!disable_all) {
/* All widgets are now enabled, so disable widgets we can't use */ /* All widgets are now enabled, so disable widgets we can't use */
if (WP(w, newgrf_d).sel == *WP(w, newgrf_d).list) DisableWindowWidget(w, SNGRFS_MOVE_UP); if (WP(w, newgrf_d).sel == *WP(w, newgrf_d).list) w->DisableWidget(SNGRFS_MOVE_UP);
if (WP(w, newgrf_d).sel->next == NULL) DisableWindowWidget(w, SNGRFS_MOVE_DOWN); if (WP(w, newgrf_d).sel->next == NULL) w->DisableWidget(SNGRFS_MOVE_DOWN);
if (WP(w, newgrf_d).sel->IsOpenTTDBaseGRF()) DisableWindowWidget(w, SNGRFS_REMOVE); if (WP(w, newgrf_d).sel->IsOpenTTDBaseGRF()) w->DisableWidget(SNGRFS_REMOVE);
} }
} }
@ -296,7 +296,7 @@ static void SetupNewGRFWindow(Window *w)
w->vscroll.cap = (w->widget[SNGRFS_FILE_LIST].bottom - w->widget[SNGRFS_FILE_LIST].top) / 14 + 1; w->vscroll.cap = (w->widget[SNGRFS_FILE_LIST].bottom - w->widget[SNGRFS_FILE_LIST].top) / 14 + 1;
SetVScrollCount(w, i); SetVScrollCount(w, i);
SetWindowWidgetDisabledState(w, SNGRFS_APPLY_CHANGES, !WP(w, newgrf_d).editable); w->SetWidgetDisabledState(SNGRFS_APPLY_CHANGES, !WP(w, newgrf_d).editable);
} }

View File

@ -801,8 +801,8 @@ static void SetMessageButtonStates(Window *w, byte value, int element)
{ {
element *= NB_WIDG_PER_SETTING; element *= NB_WIDG_PER_SETTING;
SetWindowWidgetDisabledState(w, element + WIDGET_NEWSOPT_START_OPTION, value == 0); w->SetWidgetDisabledState(element + WIDGET_NEWSOPT_START_OPTION, value == 0);
SetWindowWidgetDisabledState(w, element + WIDGET_NEWSOPT_START_OPTION + 2, value == 2); w->SetWidgetDisabledState(element + WIDGET_NEWSOPT_START_OPTION + 2, value == 2);
} }
/** /**
@ -836,7 +836,7 @@ static void MessageOptionsWndProc(Window *w, WindowEvent *e)
uint32 val = _news_display_opt; uint32 val = _news_display_opt;
int i, y; int i, y;
if (_news_ticker_sound) LowerWindowWidget(w, WIDGET_NEWSOPT_SOUNDTICKER); if (_news_ticker_sound) w->LowerWidget(WIDGET_NEWSOPT_SOUNDTICKER);
DrawWindowWidgets(w); DrawWindowWidgets(w);
/* Draw the string of each setting on each button. */ /* Draw the string of each setting on each button. */
@ -859,7 +859,7 @@ static void MessageOptionsWndProc(Window *w, WindowEvent *e)
case WIDGET_NEWSOPT_SOUNDTICKER: // Change ticker sound on/off case WIDGET_NEWSOPT_SOUNDTICKER: // Change ticker sound on/off
_news_ticker_sound ^= 1; _news_ticker_sound ^= 1;
ToggleWidgetLoweredState(w, e->we.click.widget); w->ToggleWidgetLoweredState(e->we.click.widget);
InvalidateWidget(w, e->we.click.widget); InvalidateWidget(w, e->we.click.widget);
break; break;

View File

@ -129,50 +129,50 @@ static void DrawOrdersWindow(Window *w)
if (v->owner == _local_player) { if (v->owner == _local_player) {
/* skip */ /* skip */
SetWindowWidgetDisabledState(w, ORDER_WIDGET_SKIP, v->num_orders <= 1); w->SetWidgetDisabledState(ORDER_WIDGET_SKIP, v->num_orders <= 1);
/* delete */ /* delete */
SetWindowWidgetDisabledState(w, ORDER_WIDGET_DELETE, w->SetWidgetDisabledState(ORDER_WIDGET_DELETE,
(uint)v->num_orders + ((shared_orders || v->num_orders != 0) ? 1 : 0) <= (uint)WP(w, order_d).sel); (uint)v->num_orders + ((shared_orders || v->num_orders != 0) ? 1 : 0) <= (uint)WP(w, order_d).sel);
/* non-stop only for trains */ /* non-stop only for trains */
SetWindowWidgetDisabledState(w, ORDER_WIDGET_NON_STOP, v->type != VEH_TRAIN || order == NULL); w->SetWidgetDisabledState(ORDER_WIDGET_NON_STOP, v->type != VEH_TRAIN || order == NULL);
SetWindowWidgetDisabledState(w, ORDER_WIDGET_FULL_LOAD, order == NULL); // full load w->SetWidgetDisabledState(ORDER_WIDGET_FULL_LOAD, order == NULL); // full load
SetWindowWidgetDisabledState(w, ORDER_WIDGET_UNLOAD, order == NULL); // unload w->SetWidgetDisabledState(ORDER_WIDGET_UNLOAD, order == NULL); // unload
SetWindowWidgetDisabledState(w, ORDER_WIDGET_TRANSFER, order == NULL); // transfer w->SetWidgetDisabledState(ORDER_WIDGET_TRANSFER, order == NULL); // transfer
/* Disable list of vehicles with the same shared orders if there is no list */ /* Disable list of vehicles with the same shared orders if there is no list */
SetWindowWidgetDisabledState(w, ORDER_WIDGET_SHARED_ORDER_LIST, !shared_orders || v->orders == NULL); w->SetWidgetDisabledState(ORDER_WIDGET_SHARED_ORDER_LIST, !shared_orders || v->orders == NULL);
SetWindowWidgetDisabledState(w, ORDER_WIDGET_REFIT, order == NULL); // Refit w->SetWidgetDisabledState(ORDER_WIDGET_REFIT, order == NULL); // Refit
HideWindowWidget(w, ORDER_WIDGET_REFIT); // Refit w->HideWidget(ORDER_WIDGET_REFIT); // Refit
} else { } else {
DisableWindowWidget(w, ORDER_WIDGET_TRANSFER); w->DisableWidget(ORDER_WIDGET_TRANSFER);
} }
ShowWindowWidget(w, ORDER_WIDGET_UNLOAD); // Unload w->ShowWidget(ORDER_WIDGET_UNLOAD); // Unload
if (order != NULL) { if (order != NULL) {
switch (order->type) { switch (order->type) {
case OT_GOTO_STATION: break; case OT_GOTO_STATION: break;
case OT_GOTO_DEPOT: case OT_GOTO_DEPOT:
DisableWindowWidget(w, ORDER_WIDGET_TRANSFER); w->DisableWidget(ORDER_WIDGET_TRANSFER);
/* Remove unload and replace it with refit */ /* Remove unload and replace it with refit */
HideWindowWidget(w, ORDER_WIDGET_UNLOAD); w->HideWidget(ORDER_WIDGET_UNLOAD);
ShowWindowWidget(w, ORDER_WIDGET_REFIT); w->ShowWidget(ORDER_WIDGET_REFIT);
SetDParam(2,STR_SERVICE); SetDParam(2,STR_SERVICE);
break; break;
case OT_GOTO_WAYPOINT: case OT_GOTO_WAYPOINT:
DisableWindowWidget(w, ORDER_WIDGET_FULL_LOAD); w->DisableWidget(ORDER_WIDGET_FULL_LOAD);
DisableWindowWidget(w, ORDER_WIDGET_UNLOAD); w->DisableWidget(ORDER_WIDGET_UNLOAD);
DisableWindowWidget(w, ORDER_WIDGET_TRANSFER); w->DisableWidget(ORDER_WIDGET_TRANSFER);
break; break;
default: // every other orders default: // every other orders
DisableWindowWidget(w, ORDER_WIDGET_NON_STOP); w->DisableWidget(ORDER_WIDGET_NON_STOP);
DisableWindowWidget(w, ORDER_WIDGET_FULL_LOAD); w->DisableWidget(ORDER_WIDGET_FULL_LOAD);
DisableWindowWidget(w, ORDER_WIDGET_UNLOAD); w->DisableWidget(ORDER_WIDGET_UNLOAD);
} }
} }
@ -398,8 +398,8 @@ static void OrdersPlaceObj(const Vehicle *v, TileIndex tile, Window *w)
static void OrderClick_Goto(Window *w, const Vehicle *v) static void OrderClick_Goto(Window *w, const Vehicle *v)
{ {
InvalidateWidget(w, ORDER_WIDGET_GOTO); InvalidateWidget(w, ORDER_WIDGET_GOTO);
ToggleWidgetLoweredState(w, ORDER_WIDGET_GOTO); w->ToggleWidgetLoweredState(ORDER_WIDGET_GOTO);
if (IsWindowWidgetLowered(w, ORDER_WIDGET_GOTO)) { if (w->IsWidgetLowered(ORDER_WIDGET_GOTO)) {
_place_clicked_vehicle = NULL; _place_clicked_vehicle = NULL;
SetObjectToPlaceWnd(ANIMCURSOR_PICKSTATION, PAL_NONE, VHM_RECT, w); SetObjectToPlaceWnd(ANIMCURSOR_PICKSTATION, PAL_NONE, VHM_RECT, w);
} else { } else {
@ -543,7 +543,7 @@ static void OrdersWndProc(Window *w, WindowEvent *e)
if (_patches.timetabling) { if (_patches.timetabling) {
w->widget[ORDER_WIDGET_CAPTION].right -= 61; w->widget[ORDER_WIDGET_CAPTION].right -= 61;
} else { } else {
HideWindowWidget(w, ORDER_WIDGET_TIMETABLE_VIEW); w->HideWidget(ORDER_WIDGET_TIMETABLE_VIEW);
} }
break; break;
@ -675,7 +675,7 @@ static void OrdersWndProc(Window *w, WindowEvent *e)
if (e->we.keypress.keycode == _order_keycodes[i]) { if (e->we.keypress.keycode == _order_keycodes[i]) {
e->we.keypress.cont = false; e->we.keypress.cont = false;
//see if the button is disabled //see if the button is disabled
if (!IsWindowWidgetDisabled(w, i + ORDER_WIDGET_SKIP)) _order_button_proc[i](w, v); if (!w->IsWidgetDisabled(i + ORDER_WIDGET_SKIP)) _order_button_proc[i](w, v);
break; break;
} }
} }
@ -699,7 +699,7 @@ static void OrdersWndProc(Window *w, WindowEvent *e)
} break; } break;
case WE_ABORT_PLACE_OBJ: { case WE_ABORT_PLACE_OBJ: {
RaiseWindowWidget(w, ORDER_WIDGET_GOTO); w->RaiseWidget(ORDER_WIDGET_GOTO);
InvalidateWidget( w, ORDER_WIDGET_GOTO); InvalidateWidget( w, ORDER_WIDGET_GOTO);
} break; } break;
@ -714,7 +714,7 @@ static void OrdersWndProc(Window *w, WindowEvent *e)
* the order is copied to the last open window instead of the * the order is copied to the last open window instead of the
* one where GOTO is enabled * one where GOTO is enabled
*/ */
if (v != NULL && IsWindowWidgetLowered(w, ORDER_WIDGET_GOTO)) { if (v != NULL && w->IsWidgetLowered(ORDER_WIDGET_GOTO)) {
_place_clicked_vehicle = NULL; _place_clicked_vehicle = NULL;
HandleOrderVehClick(GetVehicle(w->window_number), v, w); HandleOrderVehClick(GetVehicle(w->window_number), v, w);
} }
@ -729,8 +729,8 @@ static void OrdersWndProc(Window *w, WindowEvent *e)
// unclick all buttons except for the 'goto' button (ORDER_WIDGET_GOTO), which is 'persistent' // unclick all buttons except for the 'goto' button (ORDER_WIDGET_GOTO), which is 'persistent'
uint i; uint i;
for (i = 0; i < w->widget_count; i++) { for (i = 0; i < w->widget_count; i++) {
if (IsWindowWidgetLowered(w, i) && i != ORDER_WIDGET_GOTO) { if (w->IsWidgetLowered(i) && i != ORDER_WIDGET_GOTO) {
RaiseWindowWidget(w, i); w->RaiseWidget(i);
InvalidateWidget(w, i); InvalidateWidget(w, i);
} }
} }

View File

@ -146,15 +146,15 @@ static void PlayerFinancesWndProc(Window *w, WindowEvent *e)
w->height = new_height; w->height = new_height;
SetWindowDirty(w); SetWindowDirty(w);
SetWindowWidgetHiddenState(w, 6, player != _local_player); w->SetWidgetHiddenState(6, player != _local_player);
SetWindowWidgetHiddenState(w, 7, player != _local_player); w->SetWidgetHiddenState(7, player != _local_player);
} }
/* Borrow button only shows when there is any more money to loan */ /* Borrow button only shows when there is any more money to loan */
SetWindowWidgetDisabledState(w, 6, p->current_loan == _economy.max_loan); w->SetWidgetDisabledState(6, p->current_loan == _economy.max_loan);
/* Repay button only shows when there is any more money to repay */ /* Repay button only shows when there is any more money to repay */
SetWindowWidgetDisabledState(w, 7, player != _local_player || p->current_loan == 0); w->SetWidgetDisabledState(7, player != _local_player || p->current_loan == 0);
SetDParam(0, p->index); SetDParam(0, p->index);
SetDParam(1, p->index); SetDParam(1, p->index);
@ -293,10 +293,10 @@ static void SelectPlayerLiveryWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: case WE_CREATE:
LowerWindowWidget(w, WP(w, livery_d).livery_class + 2); w->LowerWidget(WP(w, livery_d).livery_class + 2);
if (!_loaded_newgrf_features.has_2CC) { if (!_loaded_newgrf_features.has_2CC) {
HideWindowWidget(w, 11); w->HideWidget(11);
HideWindowWidget(w, 12); w->HideWidget(12);
} }
break; break;
@ -306,10 +306,10 @@ static void SelectPlayerLiveryWndProc(Window *w, WindowEvent *e)
int y = 51; int y = 51;
/* Disable dropdown controls if no scheme is selected */ /* Disable dropdown controls if no scheme is selected */
SetWindowWidgetDisabledState(w, 9, (WP(w, livery_d).sel == 0)); w->SetWidgetDisabledState( 9, (WP(w, livery_d).sel == 0));
SetWindowWidgetDisabledState(w, 10, (WP(w, livery_d).sel == 0)); w->SetWidgetDisabledState(10, (WP(w, livery_d).sel == 0));
SetWindowWidgetDisabledState(w, 11, (WP(w, livery_d).sel == 0)); w->SetWidgetDisabledState(11, (WP(w, livery_d).sel == 0));
SetWindowWidgetDisabledState(w, 12, (WP(w, livery_d).sel == 0)); w->SetWidgetDisabledState(12, (WP(w, livery_d).sel == 0));
if (!(WP(w, livery_d).sel == 0)) { if (!(WP(w, livery_d).sel == 0)) {
for (scheme = LS_BEGIN; scheme < LS_END; scheme++) { for (scheme = LS_BEGIN; scheme < LS_END; scheme++) {
@ -357,10 +357,10 @@ static void SelectPlayerLiveryWndProc(Window *w, WindowEvent *e)
case 6: { case 6: {
LiveryScheme scheme; LiveryScheme scheme;
RaiseWindowWidget(w, WP(w, livery_d).livery_class + 2); w->RaiseWidget(WP(w, livery_d).livery_class + 2);
WP(w, livery_d).livery_class = (LiveryClass)(e->we.click.widget - 2); WP(w, livery_d).livery_class = (LiveryClass)(e->we.click.widget - 2);
WP(w, livery_d).sel = 0; WP(w, livery_d).sel = 0;
LowerWindowWidget(w, WP(w, livery_d).livery_class + 2); w->LowerWidget(WP(w, livery_d).livery_class + 2);
/* Select the first item in the list */ /* Select the first item in the list */
for (scheme = LS_DEFAULT; scheme < LS_END; scheme++) { for (scheme = LS_DEFAULT; scheme < LS_END; scheme++) {
@ -660,7 +660,7 @@ void DrawFaceStringLabel(const Window *w, byte widget_index, StringID str, uint8
/* Write the label in gold (0x2) to the left of the button. */ /* Write the label in gold (0x2) to the left of the button. */
DrawStringRightAligned(w->widget[widget_index].left - (is_bool_widget ? 5 : 14), w->widget[widget_index].top + 1, str, TC_GOLD); DrawStringRightAligned(w->widget[widget_index].left - (is_bool_widget ? 5 : 14), w->widget[widget_index].top + 1, str, TC_GOLD);
if (!IsWindowWidgetDisabled(w, widget_index)) { if (!w->IsWidgetDisabled(widget_index)) {
if (is_bool_widget) { if (is_bool_widget) {
/* if it a bool button write yes or no */ /* if it a bool button write yes or no */
str = (val != 0) ? STR_FACE_YES : STR_FACE_NO; str = (val != 0) ? STR_FACE_YES : STR_FACE_NO;
@ -672,7 +672,7 @@ void DrawFaceStringLabel(const Window *w, byte widget_index, StringID str, uint8
/* Draw the value/bool in white (0xC). If the button clicked adds 1px to x and y text coordinates (IsWindowWidgetLowered()). */ /* Draw the value/bool in white (0xC). If the button clicked adds 1px to x and y text coordinates (IsWindowWidgetLowered()). */
DrawStringCentered(w->widget[widget_index].left + (w->widget[widget_index].right - w->widget[widget_index].left) / 2 + DrawStringCentered(w->widget[widget_index].left + (w->widget[widget_index].right - w->widget[widget_index].left) / 2 +
IsWindowWidgetLowered(w, widget_index), w->widget[widget_index].top + 1 + IsWindowWidgetLowered(w, widget_index), str, TC_WHITE); w->IsWidgetLowered(widget_index), w->widget[widget_index].top + 1 + w->IsWidgetLowered(widget_index), str, TC_WHITE);
} }
} }
@ -692,14 +692,14 @@ static void SelectPlayerFaceWndProc(Window *w, WindowEvent *e)
switch (e->event) { switch (e->event) {
case WE_PAINT: case WE_PAINT:
/* lower the non-selected gender button */ /* lower the non-selected gender button */
SetWindowWidgetLoweredState(w, PFW_WIDGET_MALE, !is_female); w->SetWidgetLoweredState(PFW_WIDGET_MALE, !is_female);
SetWindowWidgetLoweredState(w, PFW_WIDGET_FEMALE, is_female); w->SetWidgetLoweredState(PFW_WIDGET_FEMALE, is_female);
/* advanced player face selection window */ /* advanced player face selection window */
if (WP(w, facesel_d).advanced) { if (WP(w, facesel_d).advanced) {
/* lower the non-selected ethnicity button */ /* lower the non-selected ethnicity button */
SetWindowWidgetLoweredState(w, PFW_WIDGET_ETHNICITY_EUR, !HasBit(ge, ETHNICITY_BLACK)); w->SetWidgetLoweredState(PFW_WIDGET_ETHNICITY_EUR, !HasBit(ge, ETHNICITY_BLACK));
SetWindowWidgetLoweredState(w, PFW_WIDGET_ETHNICITY_AFR, HasBit(ge, ETHNICITY_BLACK)); w->SetWidgetLoweredState(PFW_WIDGET_ETHNICITY_AFR, HasBit(ge, ETHNICITY_BLACK));
/* Disable dynamically the widgets which PlayerFaceVariable has less than 2 options /* Disable dynamically the widgets which PlayerFaceVariable has less than 2 options
@ -707,44 +707,44 @@ static void SelectPlayerFaceWndProc(Window *w, WindowEvent *e)
* If the widgets depend on a HAS-variable and this is false the widgets will be disabled, too. */ * If the widgets depend on a HAS-variable and this is false the widgets will be disabled, too. */
/* Eye colour buttons */ /* Eye colour buttons */
SetWindowWidgetsDisabledState(w, _pf_info[PFV_EYE_COLOUR].valid_values[ge] < 2, w->SetWidgetsDisabledState(_pf_info[PFV_EYE_COLOUR].valid_values[ge] < 2,
PFW_WIDGET_EYECOLOUR, PFW_WIDGET_EYECOLOUR_L, PFW_WIDGET_EYECOLOUR_R, WIDGET_LIST_END); PFW_WIDGET_EYECOLOUR, PFW_WIDGET_EYECOLOUR_L, PFW_WIDGET_EYECOLOUR_R, WIDGET_LIST_END);
/* Chin buttons */ /* Chin buttons */
SetWindowWidgetsDisabledState(w, _pf_info[PFV_CHIN].valid_values[ge] < 2, w->SetWidgetsDisabledState(_pf_info[PFV_CHIN].valid_values[ge] < 2,
PFW_WIDGET_CHIN, PFW_WIDGET_CHIN_L, PFW_WIDGET_CHIN_R, WIDGET_LIST_END); PFW_WIDGET_CHIN, PFW_WIDGET_CHIN_L, PFW_WIDGET_CHIN_R, WIDGET_LIST_END);
/* Eyebrows buttons */ /* Eyebrows buttons */
SetWindowWidgetsDisabledState(w, _pf_info[PFV_EYEBROWS].valid_values[ge] < 2, w->SetWidgetsDisabledState(_pf_info[PFV_EYEBROWS].valid_values[ge] < 2,
PFW_WIDGET_EYEBROWS, PFW_WIDGET_EYEBROWS_L, PFW_WIDGET_EYEBROWS_R, WIDGET_LIST_END); PFW_WIDGET_EYEBROWS, PFW_WIDGET_EYEBROWS_L, PFW_WIDGET_EYEBROWS_R, WIDGET_LIST_END);
/* Lips or (if it a male face with a moustache) moustache buttons */ /* Lips or (if it a male face with a moustache) moustache buttons */
SetWindowWidgetsDisabledState(w, _pf_info[is_moust_male ? PFV_MOUSTACHE : PFV_LIPS].valid_values[ge] < 2, w->SetWidgetsDisabledState(_pf_info[is_moust_male ? PFV_MOUSTACHE : PFV_LIPS].valid_values[ge] < 2,
PFW_WIDGET_LIPS_MOUSTACHE, PFW_WIDGET_LIPS_MOUSTACHE_L, PFW_WIDGET_LIPS_MOUSTACHE_R, WIDGET_LIST_END); PFW_WIDGET_LIPS_MOUSTACHE, PFW_WIDGET_LIPS_MOUSTACHE_L, PFW_WIDGET_LIPS_MOUSTACHE_R, WIDGET_LIST_END);
/* Nose buttons | male faces with moustache haven't any nose options */ /* Nose buttons | male faces with moustache haven't any nose options */
SetWindowWidgetsDisabledState(w, _pf_info[PFV_NOSE].valid_values[ge] < 2 || is_moust_male, w->SetWidgetsDisabledState(_pf_info[PFV_NOSE].valid_values[ge] < 2 || is_moust_male,
PFW_WIDGET_NOSE, PFW_WIDGET_NOSE_L, PFW_WIDGET_NOSE_R, WIDGET_LIST_END); PFW_WIDGET_NOSE, PFW_WIDGET_NOSE_L, PFW_WIDGET_NOSE_R, WIDGET_LIST_END);
/* Hair buttons */ /* Hair buttons */
SetWindowWidgetsDisabledState(w, _pf_info[PFV_HAIR].valid_values[ge] < 2, w->SetWidgetsDisabledState(_pf_info[PFV_HAIR].valid_values[ge] < 2,
PFW_WIDGET_HAIR, PFW_WIDGET_HAIR_L, PFW_WIDGET_HAIR_R, WIDGET_LIST_END); PFW_WIDGET_HAIR, PFW_WIDGET_HAIR_L, PFW_WIDGET_HAIR_R, WIDGET_LIST_END);
/* Jacket buttons */ /* Jacket buttons */
SetWindowWidgetsDisabledState(w, _pf_info[PFV_JACKET].valid_values[ge] < 2, w->SetWidgetsDisabledState(_pf_info[PFV_JACKET].valid_values[ge] < 2,
PFW_WIDGET_JACKET, PFW_WIDGET_JACKET_L, PFW_WIDGET_JACKET_R, WIDGET_LIST_END); PFW_WIDGET_JACKET, PFW_WIDGET_JACKET_L, PFW_WIDGET_JACKET_R, WIDGET_LIST_END);
/* Collar buttons */ /* Collar buttons */
SetWindowWidgetsDisabledState(w, _pf_info[PFV_COLLAR].valid_values[ge] < 2, w->SetWidgetsDisabledState(_pf_info[PFV_COLLAR].valid_values[ge] < 2,
PFW_WIDGET_COLLAR, PFW_WIDGET_COLLAR_L, PFW_WIDGET_COLLAR_R, WIDGET_LIST_END); PFW_WIDGET_COLLAR, PFW_WIDGET_COLLAR_L, PFW_WIDGET_COLLAR_R, WIDGET_LIST_END);
/* Tie/earring buttons | female faces without earring haven't any earring options */ /* Tie/earring buttons | female faces without earring haven't any earring options */
SetWindowWidgetsDisabledState(w, _pf_info[PFV_TIE_EARRING].valid_values[ge] < 2 || w->SetWidgetsDisabledState(_pf_info[PFV_TIE_EARRING].valid_values[ge] < 2 ||
(is_female && GetPlayerFaceBits(*pf, PFV_HAS_TIE_EARRING, ge) == 0), (is_female && GetPlayerFaceBits(*pf, PFV_HAS_TIE_EARRING, ge) == 0),
PFW_WIDGET_TIE_EARRING, PFW_WIDGET_TIE_EARRING_L, PFW_WIDGET_TIE_EARRING_R, WIDGET_LIST_END); PFW_WIDGET_TIE_EARRING, PFW_WIDGET_TIE_EARRING_L, PFW_WIDGET_TIE_EARRING_R, WIDGET_LIST_END);
/* Glasses buttons | faces without glasses haven't any glasses options */ /* Glasses buttons | faces without glasses haven't any glasses options */
SetWindowWidgetsDisabledState(w, _pf_info[PFV_GLASSES].valid_values[ge] < 2 || GetPlayerFaceBits(*pf, PFV_HAS_GLASSES, ge) == 0, w->SetWidgetsDisabledState(_pf_info[PFV_GLASSES].valid_values[ge] < 2 || GetPlayerFaceBits(*pf, PFV_HAS_GLASSES, ge) == 0,
PFW_WIDGET_GLASSES, PFW_WIDGET_GLASSES_L, PFW_WIDGET_GLASSES_R, WIDGET_LIST_END); PFW_WIDGET_GLASSES, PFW_WIDGET_GLASSES_L, PFW_WIDGET_GLASSES_R, WIDGET_LIST_END);
} }
@ -1074,34 +1074,34 @@ static void PlayerCompanyWndProc(Window *w, WindowEvent *e)
const Player *p = GetPlayer((PlayerID)w->window_number); const Player *p = GetPlayer((PlayerID)w->window_number);
bool local = w->window_number == _local_player; bool local = w->window_number == _local_player;
SetWindowWidgetHiddenState(w, PCW_WIDGET_NEW_FACE, !local); w->SetWidgetHiddenState(PCW_WIDGET_NEW_FACE, !local);
SetWindowWidgetHiddenState(w, PCW_WIDGET_COLOR_SCHEME, !local); w->SetWidgetHiddenState(PCW_WIDGET_COLOR_SCHEME, !local);
SetWindowWidgetHiddenState(w, PCW_WIDGET_PRESIDENT_NAME, !local); w->SetWidgetHiddenState(PCW_WIDGET_PRESIDENT_NAME, !local);
SetWindowWidgetHiddenState(w, PCW_WIDGET_COMPANY_NAME, !local); w->SetWidgetHiddenState(PCW_WIDGET_COMPANY_NAME, !local);
w->widget[PCW_WIDGET_BUILD_VIEW_HQ].data = (local && p->location_of_house == 0) ? STR_706F_BUILD_HQ : STR_7072_VIEW_HQ; w->widget[PCW_WIDGET_BUILD_VIEW_HQ].data = (local && p->location_of_house == 0) ? STR_706F_BUILD_HQ : STR_7072_VIEW_HQ;
if (local && p->location_of_house != 0) w->widget[PCW_WIDGET_BUILD_VIEW_HQ].type = WWT_PUSHTXTBTN; //HQ is already built. if (local && p->location_of_house != 0) w->widget[PCW_WIDGET_BUILD_VIEW_HQ].type = WWT_PUSHTXTBTN; //HQ is already built.
SetWindowWidgetDisabledState(w, PCW_WIDGET_BUILD_VIEW_HQ, !local && p->location_of_house == 0); w->SetWidgetDisabledState(PCW_WIDGET_BUILD_VIEW_HQ, !local && p->location_of_house == 0);
SetWindowWidgetHiddenState(w, PCW_WIDGET_RELOCATE_HQ, !local || p->location_of_house == 0); w->SetWidgetHiddenState(PCW_WIDGET_RELOCATE_HQ, !local || p->location_of_house == 0);
SetWindowWidgetHiddenState(w, PCW_WIDGET_BUY_SHARE, local); w->SetWidgetHiddenState(PCW_WIDGET_BUY_SHARE, local);
SetWindowWidgetHiddenState(w, PCW_WIDGET_SELL_SHARE, local); w->SetWidgetHiddenState(PCW_WIDGET_SELL_SHARE, local);
SetWindowWidgetHiddenState(w, PCW_WIDGET_COMPANY_PASSWORD, !local || !_networking); w->SetWidgetHiddenState(PCW_WIDGET_COMPANY_PASSWORD, !local || !_networking);
if (!local) { if (!local) {
if (_patches.allow_shares) { // Shares are allowed if (_patches.allow_shares) { // Shares are allowed
/* If all shares are owned by someone (none by nobody), disable buy button */ /* If all shares are owned by someone (none by nobody), disable buy button */
SetWindowWidgetDisabledState(w, PCW_WIDGET_BUY_SHARE, GetAmountOwnedBy(p, PLAYER_SPECTATOR) == 0 || w->SetWidgetDisabledState(PCW_WIDGET_BUY_SHARE, GetAmountOwnedBy(p, PLAYER_SPECTATOR) == 0 ||
/* Only 25% left to buy. If the player is human, disable buying it up.. TODO issues! */ /* Only 25% left to buy. If the player is human, disable buying it up.. TODO issues! */
(GetAmountOwnedBy(p, PLAYER_SPECTATOR) == 1 && !p->is_ai) || (GetAmountOwnedBy(p, PLAYER_SPECTATOR) == 1 && !p->is_ai) ||
/* Spectators cannot do anything of course */ /* Spectators cannot do anything of course */
_local_player == PLAYER_SPECTATOR); _local_player == PLAYER_SPECTATOR);
/* If the player doesn't own any shares, disable sell button */ /* If the player doesn't own any shares, disable sell button */
SetWindowWidgetDisabledState(w, PCW_WIDGET_SELL_SHARE, (GetAmountOwnedBy(p, _local_player) == 0) || w->SetWidgetDisabledState(PCW_WIDGET_SELL_SHARE, (GetAmountOwnedBy(p, _local_player) == 0) ||
/* Spectators cannot do anything of course */ /* Spectators cannot do anything of course */
_local_player == PLAYER_SPECTATOR); _local_player == PLAYER_SPECTATOR);
} else { // Shares are not allowed, disable buy/sell buttons } else { // Shares are not allowed, disable buy/sell buttons
DisableWindowWidget(w, PCW_WIDGET_BUY_SHARE); w->DisableWidget(PCW_WIDGET_BUY_SHARE);
DisableWindowWidget(w, PCW_WIDGET_SELL_SHARE); w->DisableWidget(PCW_WIDGET_SELL_SHARE);
} }
} }
@ -1149,7 +1149,7 @@ static void PlayerCompanyWndProc(Window *w, WindowEvent *e)
wf->caption_color = wf->window_number; wf->caption_color = wf->window_number;
WP(wf, livery_d).livery_class = LC_OTHER; WP(wf, livery_d).livery_class = LC_OTHER;
WP(wf, livery_d).sel = 1; WP(wf, livery_d).sel = 1;
LowerWindowWidget(wf, 2); wf->LowerWidget(2);
} }
break; break;
} }
@ -1177,7 +1177,7 @@ static void PlayerCompanyWndProc(Window *w, WindowEvent *e)
return; return;
SetObjectToPlaceWnd(SPR_CURSOR_HQ, PAL_NONE, VHM_RECT, w); SetObjectToPlaceWnd(SPR_CURSOR_HQ, PAL_NONE, VHM_RECT, w);
SetTileSelectSize(2, 2); SetTileSelectSize(2, 2);
LowerWindowWidget(w, PCW_WIDGET_BUILD_VIEW_HQ); w->LowerWidget(PCW_WIDGET_BUILD_VIEW_HQ);
InvalidateWidget(w, PCW_WIDGET_BUILD_VIEW_HQ); InvalidateWidget(w, PCW_WIDGET_BUILD_VIEW_HQ);
} else { } else {
ScrollMainWindowToTile(tile); ScrollMainWindowToTile(tile);
@ -1188,7 +1188,7 @@ static void PlayerCompanyWndProc(Window *w, WindowEvent *e)
case PCW_WIDGET_RELOCATE_HQ: case PCW_WIDGET_RELOCATE_HQ:
SetObjectToPlaceWnd(SPR_CURSOR_HQ, PAL_NONE, VHM_RECT, w); SetObjectToPlaceWnd(SPR_CURSOR_HQ, PAL_NONE, VHM_RECT, w);
SetTileSelectSize(2, 2); SetTileSelectSize(2, 2);
LowerWindowWidget(w, PCW_WIDGET_RELOCATE_HQ); w->LowerWidget(PCW_WIDGET_RELOCATE_HQ);
InvalidateWidget(w, PCW_WIDGET_RELOCATE_HQ); InvalidateWidget(w, PCW_WIDGET_RELOCATE_HQ);
break; break;

View File

@ -343,12 +343,12 @@ static void BuildRailClick_Tunnel(Window *w)
static void BuildRailClick_Remove(Window *w) static void BuildRailClick_Remove(Window *w)
{ {
if (IsWindowWidgetDisabled(w, RTW_REMOVE)) return; if (w->IsWidgetDisabled(RTW_REMOVE)) return;
SetWindowDirty(w); SetWindowDirty(w);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
ToggleWidgetLoweredState(w, RTW_REMOVE); w->ToggleWidgetLoweredState(RTW_REMOVE);
_remove_button_clicked = IsWindowWidgetLowered(w, RTW_REMOVE); _remove_button_clicked = w->IsWidgetLowered(RTW_REMOVE);
SetSelectionRed(_remove_button_clicked); SetSelectionRed(_remove_button_clicked);
// handle station builder // handle station builder
@ -476,14 +476,14 @@ static void UpdateRemoveWidgetStatus(Window *w, int clicked_widget)
case RTW_BUILD_SIGNALS: case RTW_BUILD_SIGNALS:
/* Removal button is enabled only if the rail/signal/waypoint/station /* Removal button is enabled only if the rail/signal/waypoint/station
* button is still lowered. Once raised, it has to be disabled */ * button is still lowered. Once raised, it has to be disabled */
SetWindowWidgetDisabledState(w, RTW_REMOVE, !IsWindowWidgetLowered(w, clicked_widget)); w->SetWidgetDisabledState(RTW_REMOVE, !w->IsWidgetLowered(clicked_widget));
break; break;
default: default:
/* When any other buttons than rail/signal/waypoint/station, raise and /* When any other buttons than rail/signal/waypoint/station, raise and
* disable the removal button */ * disable the removal button */
DisableWindowWidget(w, RTW_REMOVE); w->DisableWidget(RTW_REMOVE);
RaiseWindowWidget(w, RTW_REMOVE); w->RaiseWidget(RTW_REMOVE);
break; break;
} }
} }
@ -497,7 +497,7 @@ static void UpdateRemoveWidgetStatus(Window *w, int clicked_widget)
static void BuildRailToolbWndProc(Window *w, WindowEvent *e) static void BuildRailToolbWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: DisableWindowWidget(w, RTW_REMOVE); break; case WE_CREATE: w->DisableWidget(RTW_REMOVE); break;
case WE_PAINT: DrawWindowWidgets(w); break; case WE_PAINT: DrawWindowWidgets(w); break;
@ -528,7 +528,7 @@ static void BuildRailToolbWndProc(Window *w, WindowEvent *e)
case WE_PLACE_DRAG: { case WE_PLACE_DRAG: {
/* no dragging if you have pressed the convert button */ /* no dragging if you have pressed the convert button */
if (_convert_signal_button && IsWindowWidgetLowered(w, RTW_BUILD_SIGNALS)) return; if (_convert_signal_button && w->IsWidgetLowered(RTW_BUILD_SIGNALS)) return;
VpSelectTilesWithMethod(e->we.place.pt.x, e->we.place.pt.y, e->we.place.select_method); VpSelectTilesWithMethod(e->we.place.pt.x, e->we.place.pt.y, e->we.place.select_method);
return; return;
@ -579,7 +579,7 @@ static void BuildRailToolbWndProc(Window *w, WindowEvent *e)
case WE_ABORT_PLACE_OBJ: case WE_ABORT_PLACE_OBJ:
RaiseWindowButtons(w); RaiseWindowButtons(w);
DisableWindowWidget(w, RTW_REMOVE); w->DisableWidget(RTW_REMOVE);
InvalidateWidget(w, RTW_REMOVE); InvalidateWidget(w, RTW_REMOVE);
w = FindWindowById(WC_BUILD_SIGNAL, 0); w = FindWindowById(WC_BUILD_SIGNAL, 0);
@ -750,21 +750,21 @@ static void CheckSelectedSize(Window *w, const StationSpec *statspec)
if (statspec == NULL || _railstation.dragdrop) return; if (statspec == NULL || _railstation.dragdrop) return;
if (HasBit(statspec->disallowed_platforms, _railstation.numtracks - 1)) { if (HasBit(statspec->disallowed_platforms, _railstation.numtracks - 1)) {
RaiseWindowWidget(w, _railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN); w->RaiseWidget(_railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN);
_railstation.numtracks = 1; _railstation.numtracks = 1;
while (HasBit(statspec->disallowed_platforms, _railstation.numtracks - 1)) { while (HasBit(statspec->disallowed_platforms, _railstation.numtracks - 1)) {
_railstation.numtracks++; _railstation.numtracks++;
} }
LowerWindowWidget(w, _railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN); w->LowerWidget(_railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN);
} }
if (HasBit(statspec->disallowed_lengths, _railstation.platlength - 1)) { if (HasBit(statspec->disallowed_lengths, _railstation.platlength - 1)) {
RaiseWindowWidget(w, _railstation.platlength + BRSW_PLATFORM_LEN_BEGIN); w->RaiseWidget(_railstation.platlength + BRSW_PLATFORM_LEN_BEGIN);
_railstation.platlength = 1; _railstation.platlength = 1;
while (HasBit(statspec->disallowed_lengths, _railstation.platlength - 1)) { while (HasBit(statspec->disallowed_lengths, _railstation.platlength - 1)) {
_railstation.platlength++; _railstation.platlength++;
} }
LowerWindowWidget(w, _railstation.platlength + BRSW_PLATFORM_LEN_BEGIN); w->LowerWidget(_railstation.platlength + BRSW_PLATFORM_LEN_BEGIN);
} }
} }
@ -772,15 +772,15 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: case WE_CREATE:
LowerWindowWidget(w, _railstation.orientation + BRSW_PLATFORM_DIR_X); w->LowerWidget(_railstation.orientation + BRSW_PLATFORM_DIR_X);
if (_railstation.dragdrop) { if (_railstation.dragdrop) {
LowerWindowWidget(w, BRSW_PLATFORM_DRAG_N_DROP); w->LowerWidget(BRSW_PLATFORM_DRAG_N_DROP);
} else { } else {
LowerWindowWidget(w, _railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN); w->LowerWidget(_railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN);
LowerWindowWidget(w, _railstation.platlength + BRSW_PLATFORM_LEN_BEGIN); w->LowerWidget(_railstation.platlength + BRSW_PLATFORM_LEN_BEGIN);
} }
SetWindowWidgetLoweredState(w, BRSW_HIGHLIGHT_OFF, !_station_show_coverage); w->SetWidgetLoweredState(BRSW_HIGHLIGHT_OFF, !_station_show_coverage);
SetWindowWidgetLoweredState(w, BRSW_HIGHLIGHT_ON, _station_show_coverage); w->SetWidgetLoweredState(BRSW_HIGHLIGHT_ON, _station_show_coverage);
break; break;
case WE_PAINT: { case WE_PAINT: {
@ -808,11 +808,11 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
for (uint bits = 0; bits < 7; bits++) { for (uint bits = 0; bits < 7; bits++) {
bool disable = bits >= _patches.station_spread; bool disable = bits >= _patches.station_spread;
if (statspec == NULL) { if (statspec == NULL) {
SetWindowWidgetDisabledState(w, bits + BRSW_PLATFORM_NUM_1, disable); w->SetWidgetDisabledState(bits + BRSW_PLATFORM_NUM_1, disable);
SetWindowWidgetDisabledState(w, bits + BRSW_PLATFORM_LEN_1, disable); w->SetWidgetDisabledState(bits + BRSW_PLATFORM_LEN_1, disable);
} else { } else {
SetWindowWidgetDisabledState(w, bits + BRSW_PLATFORM_NUM_1, HasBit(statspec->disallowed_platforms, bits) || disable); w->SetWidgetDisabledState(bits + BRSW_PLATFORM_NUM_1, HasBit(statspec->disallowed_platforms, bits) || disable);
SetWindowWidgetDisabledState(w, bits + BRSW_PLATFORM_LEN_1, HasBit(statspec->disallowed_lengths, bits) || disable); w->SetWidgetDisabledState(bits + BRSW_PLATFORM_LEN_1, HasBit(statspec->disallowed_lengths, bits) || disable);
} }
} }
@ -873,9 +873,9 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
switch (e->we.click.widget) { switch (e->we.click.widget) {
case BRSW_PLATFORM_DIR_X: case BRSW_PLATFORM_DIR_X:
case BRSW_PLATFORM_DIR_Y: case BRSW_PLATFORM_DIR_Y:
RaiseWindowWidget(w, _railstation.orientation + BRSW_PLATFORM_DIR_X); w->RaiseWidget(_railstation.orientation + BRSW_PLATFORM_DIR_X);
_railstation.orientation = e->we.click.widget - BRSW_PLATFORM_DIR_X; _railstation.orientation = e->we.click.widget - BRSW_PLATFORM_DIR_X;
LowerWindowWidget(w, _railstation.orientation + BRSW_PLATFORM_DIR_X); w->LowerWidget(_railstation.orientation + BRSW_PLATFORM_DIR_X);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -887,8 +887,8 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
case BRSW_PLATFORM_NUM_5: case BRSW_PLATFORM_NUM_5:
case BRSW_PLATFORM_NUM_6: case BRSW_PLATFORM_NUM_6:
case BRSW_PLATFORM_NUM_7: { case BRSW_PLATFORM_NUM_7: {
RaiseWindowWidget(w, _railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN); w->RaiseWidget(_railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN);
RaiseWindowWidget(w, BRSW_PLATFORM_DRAG_N_DROP); w->RaiseWidget(BRSW_PLATFORM_DRAG_N_DROP);
_railstation.numtracks = e->we.click.widget - BRSW_PLATFORM_NUM_BEGIN; _railstation.numtracks = e->we.click.widget - BRSW_PLATFORM_NUM_BEGIN;
_railstation.dragdrop = false; _railstation.dragdrop = false;
@ -898,15 +898,15 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
/* The previously selected number of platforms in invalid */ /* The previously selected number of platforms in invalid */
for (uint i = 0; i < 7; i++) { for (uint i = 0; i < 7; i++) {
if (!HasBit(statspec->disallowed_lengths, i)) { if (!HasBit(statspec->disallowed_lengths, i)) {
RaiseWindowWidget(w, _railstation.platlength + BRSW_PLATFORM_LEN_BEGIN); w->RaiseWidget(_railstation.platlength + BRSW_PLATFORM_LEN_BEGIN);
_railstation.platlength = i + 1; _railstation.platlength = i + 1;
break; break;
} }
} }
} }
LowerWindowWidget(w, _railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN); w->LowerWidget(_railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN);
LowerWindowWidget(w, _railstation.platlength + BRSW_PLATFORM_LEN_BEGIN); w->LowerWidget(_railstation.platlength + BRSW_PLATFORM_LEN_BEGIN);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -919,8 +919,8 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
case BRSW_PLATFORM_LEN_5: case BRSW_PLATFORM_LEN_5:
case BRSW_PLATFORM_LEN_6: case BRSW_PLATFORM_LEN_6:
case BRSW_PLATFORM_LEN_7: { case BRSW_PLATFORM_LEN_7: {
RaiseWindowWidget(w, _railstation.platlength + BRSW_PLATFORM_LEN_BEGIN); w->RaiseWidget(_railstation.platlength + BRSW_PLATFORM_LEN_BEGIN);
RaiseWindowWidget(w, BRSW_PLATFORM_DRAG_N_DROP); w->RaiseWidget(BRSW_PLATFORM_DRAG_N_DROP);
_railstation.platlength = e->we.click.widget - BRSW_PLATFORM_LEN_BEGIN; _railstation.platlength = e->we.click.widget - BRSW_PLATFORM_LEN_BEGIN;
_railstation.dragdrop = false; _railstation.dragdrop = false;
@ -930,15 +930,15 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
/* The previously selected number of tracks in invalid */ /* The previously selected number of tracks in invalid */
for (uint i = 0; i < 7; i++) { for (uint i = 0; i < 7; i++) {
if (!HasBit(statspec->disallowed_platforms, i)) { if (!HasBit(statspec->disallowed_platforms, i)) {
RaiseWindowWidget(w, _railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN); w->RaiseWidget(_railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN);
_railstation.numtracks = i + 1; _railstation.numtracks = i + 1;
break; break;
} }
} }
} }
LowerWindowWidget(w, _railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN); w->LowerWidget(_railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN);
LowerWindowWidget(w, _railstation.platlength + BRSW_PLATFORM_LEN_BEGIN); w->LowerWidget(_railstation.platlength + BRSW_PLATFORM_LEN_BEGIN);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -946,14 +946,14 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
case BRSW_PLATFORM_DRAG_N_DROP: { case BRSW_PLATFORM_DRAG_N_DROP: {
_railstation.dragdrop ^= true; _railstation.dragdrop ^= true;
ToggleWidgetLoweredState(w, BRSW_PLATFORM_DRAG_N_DROP); w->ToggleWidgetLoweredState(BRSW_PLATFORM_DRAG_N_DROP);
/* get the first allowed length/number of platforms */ /* get the first allowed length/number of platforms */
const StationSpec *statspec = _railstation.newstations ? GetCustomStationSpec(_railstation.station_class, _railstation.station_type) : NULL; const StationSpec *statspec = _railstation.newstations ? GetCustomStationSpec(_railstation.station_class, _railstation.station_type) : NULL;
if (statspec != NULL && HasBit(statspec->disallowed_lengths, _railstation.platlength - 1)) { if (statspec != NULL && HasBit(statspec->disallowed_lengths, _railstation.platlength - 1)) {
for (uint i = 0; i < 7; i++) { for (uint i = 0; i < 7; i++) {
if (!HasBit(statspec->disallowed_lengths, i)) { if (!HasBit(statspec->disallowed_lengths, i)) {
RaiseWindowWidget(w, _railstation.platlength + BRSW_PLATFORM_LEN_BEGIN); w->RaiseWidget(_railstation.platlength + BRSW_PLATFORM_LEN_BEGIN);
_railstation.platlength = i + 1; _railstation.platlength = i + 1;
break; break;
} }
@ -962,15 +962,15 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
if (statspec != NULL && HasBit(statspec->disallowed_platforms, _railstation.numtracks - 1)) { if (statspec != NULL && HasBit(statspec->disallowed_platforms, _railstation.numtracks - 1)) {
for (uint i = 0; i < 7; i++) { for (uint i = 0; i < 7; i++) {
if (!HasBit(statspec->disallowed_platforms, i)) { if (!HasBit(statspec->disallowed_platforms, i)) {
RaiseWindowWidget(w, _railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN); w->RaiseWidget(_railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN);
_railstation.numtracks = i + 1; _railstation.numtracks = i + 1;
break; break;
} }
} }
} }
SetWindowWidgetLoweredState(w, _railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN, !_railstation.dragdrop); w->SetWidgetLoweredState(_railstation.numtracks + BRSW_PLATFORM_NUM_BEGIN, !_railstation.dragdrop);
SetWindowWidgetLoweredState(w, _railstation.platlength + BRSW_PLATFORM_LEN_BEGIN, !_railstation.dragdrop); w->SetWidgetLoweredState(_railstation.platlength + BRSW_PLATFORM_LEN_BEGIN, !_railstation.dragdrop);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
} break; } break;
@ -978,8 +978,8 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
case BRSW_HIGHLIGHT_OFF: case BRSW_HIGHLIGHT_OFF:
case BRSW_HIGHLIGHT_ON: case BRSW_HIGHLIGHT_ON:
_station_show_coverage = (e->we.click.widget != BRSW_HIGHLIGHT_OFF); _station_show_coverage = (e->we.click.widget != BRSW_HIGHLIGHT_OFF);
SetWindowWidgetLoweredState(w, BRSW_HIGHLIGHT_OFF, !_station_show_coverage); w->SetWidgetLoweredState(BRSW_HIGHLIGHT_OFF, !_station_show_coverage);
SetWindowWidgetLoweredState(w, BRSW_HIGHLIGHT_ON, _station_show_coverage); w->SetWidgetLoweredState(BRSW_HIGHLIGHT_ON, _station_show_coverage);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -1173,9 +1173,9 @@ enum BuildSignalWidgets {
*/ */
static const void DrawSignalSprite(const Window *w, byte widget_index, SpriteID image, int8 xrel, uint8 xsize) static const void DrawSignalSprite(const Window *w, byte widget_index, SpriteID image, int8 xrel, uint8 xsize)
{ {
DrawSprite(image + IsWindowWidgetLowered(w, widget_index), PAL_NONE, DrawSprite(image + w->IsWidgetLowered(widget_index), PAL_NONE,
w->widget[widget_index].left + (w->widget[widget_index].right - w->widget[widget_index].left) / 2 - xrel - xsize / 2 + w->widget[widget_index].left + (w->widget[widget_index].right - w->widget[widget_index].left) / 2 - xrel - xsize / 2 +
IsWindowWidgetLowered(w, widget_index), w->widget[widget_index].bottom - 3 + IsWindowWidgetLowered(w, widget_index)); w->IsWidgetLowered(widget_index), w->widget[widget_index].bottom - 3 + w->IsWidgetLowered(widget_index));
} }
/** /**
@ -1188,12 +1188,12 @@ static void SignalBuildWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_PAINT: case WE_PAINT:
LowerWindowWidget(w, (_cur_signal_variant == SIG_ELECTRIC ? BSW_ELECTRIC_NORM : BSW_SEMAPHORE_NORM) + _cur_signal_type); w->LowerWidget((_cur_signal_variant == SIG_ELECTRIC ? BSW_ELECTRIC_NORM : BSW_SEMAPHORE_NORM) + _cur_signal_type);
SetWindowWidgetLoweredState(w, BSW_CONVERT, _convert_signal_button); w->SetWidgetLoweredState(BSW_CONVERT, _convert_signal_button);
SetWindowWidgetDisabledState(w, BSW_DRAG_SIGNALS_DENSITY_DECREASE, _patches.drag_signals_density == 1); w->SetWidgetDisabledState(BSW_DRAG_SIGNALS_DENSITY_DECREASE, _patches.drag_signals_density == 1);
SetWindowWidgetDisabledState(w, BSW_DRAG_SIGNALS_DENSITY_INCREASE, _patches.drag_signals_density == 20); w->SetWidgetDisabledState(BSW_DRAG_SIGNALS_DENSITY_INCREASE, _patches.drag_signals_density == 20);
DrawWindowWidgets(w); DrawWindowWidgets(w);
@ -1224,7 +1224,7 @@ static void SignalBuildWndProc(Window *w, WindowEvent *e)
case BSW_ELECTRIC_ENTRY: case BSW_ELECTRIC_ENTRY:
case BSW_ELECTRIC_EXIT: case BSW_ELECTRIC_EXIT:
case BSW_ELECTRIC_COMBO: case BSW_ELECTRIC_COMBO:
RaiseWindowWidget(w, (_cur_signal_variant == SIG_ELECTRIC ? BSW_ELECTRIC_NORM : BSW_SEMAPHORE_NORM) + _cur_signal_type); w->RaiseWidget((_cur_signal_variant == SIG_ELECTRIC ? BSW_ELECTRIC_NORM : BSW_SEMAPHORE_NORM) + _cur_signal_type);
_cur_signal_type = (SignalType)((uint)((e->we.click.widget - BSW_SEMAPHORE_NORM) % (SIGTYPE_COMBO + 1))); _cur_signal_type = (SignalType)((uint)((e->we.click.widget - BSW_SEMAPHORE_NORM) % (SIGTYPE_COMBO + 1)));
_cur_signal_variant = e->we.click.widget >= BSW_ELECTRIC_NORM ? SIG_ELECTRIC : SIG_SEMAPHORE; _cur_signal_variant = e->we.click.widget >= BSW_ELECTRIC_NORM ? SIG_ELECTRIC : SIG_SEMAPHORE;
@ -1317,7 +1317,7 @@ enum BuildRailDepotWidgets {
static void BuildTrainDepotWndProc(Window *w, WindowEvent *e) static void BuildTrainDepotWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: LowerWindowWidget(w, _build_depot_direction + BRDW_DEPOT_NE); break; case WE_CREATE: w->LowerWidget(_build_depot_direction + BRDW_DEPOT_NE); break;
case WE_PAINT: { case WE_PAINT: {
DrawWindowWidgets(w); DrawWindowWidgets(w);
@ -1335,9 +1335,9 @@ static void BuildTrainDepotWndProc(Window *w, WindowEvent *e)
case BRDW_DEPOT_SE: case BRDW_DEPOT_SE:
case BRDW_DEPOT_SW: case BRDW_DEPOT_SW:
case BRDW_DEPOT_NW: case BRDW_DEPOT_NW:
RaiseWindowWidget(w, _build_depot_direction + BRDW_DEPOT_NE); w->RaiseWidget(_build_depot_direction + BRDW_DEPOT_NE);
_build_depot_direction = (DiagDirection)(e->we.click.widget - BRDW_DEPOT_NE); _build_depot_direction = (DiagDirection)(e->we.click.widget - BRDW_DEPOT_NE);
LowerWindowWidget(w, _build_depot_direction + BRDW_DEPOT_NE); w->LowerWidget(_build_depot_direction + BRDW_DEPOT_NE);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -1399,7 +1399,7 @@ static void BuildWaypointWndProc(Window *w, WindowEvent *e)
uint i; uint i;
for (i = 0; i < w->hscroll.cap; i++) { for (i = 0; i < w->hscroll.cap; i++) {
SetWindowWidgetLoweredState(w, i + BRWW_WAYPOINT_1, (w->hscroll.pos + i) == _cur_waypoint_type); w->SetWidgetLoweredState(i + BRWW_WAYPOINT_1, (w->hscroll.pos + i) == _cur_waypoint_type);
} }
DrawWindowWidgets(w); DrawWindowWidgets(w);

View File

@ -317,9 +317,9 @@ static void BuildRoadClick_TruckStation(Window *w)
*/ */
static void BuildRoadClick_OneWay(Window *w) static void BuildRoadClick_OneWay(Window *w)
{ {
if (IsWindowWidgetDisabled(w, RTW_ONE_WAY)) return; if (w->IsWidgetDisabled(RTW_ONE_WAY)) return;
SetWindowDirty(w); SetWindowDirty(w);
ToggleWidgetLoweredState(w, RTW_ONE_WAY); w->ToggleWidgetLoweredState(RTW_ONE_WAY);
SetSelectionRed(false); SetSelectionRed(false);
} }
@ -335,11 +335,11 @@ static void BuildRoadClick_Tunnel(Window *w)
static void BuildRoadClick_Remove(Window *w) static void BuildRoadClick_Remove(Window *w)
{ {
if (IsWindowWidgetDisabled(w, RTW_REMOVE)) return; if (w->IsWidgetDisabled(RTW_REMOVE)) return;
SetWindowDirty(w); SetWindowDirty(w);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
ToggleWidgetLoweredState(w, RTW_REMOVE); w->ToggleWidgetLoweredState(RTW_REMOVE);
SetSelectionRed(IsWindowWidgetLowered(w, RTW_REMOVE)); SetSelectionRed(w->IsWidgetLowered(RTW_REMOVE));
} }
/** Array with the handlers of the button-clicks for the road-toolbar */ /** Array with the handlers of the button-clicks for the road-toolbar */
@ -385,20 +385,20 @@ static void UpdateOptionWidgetStatus(Window *w, int clicked_widget)
* Both are only valid if they are able to apply as options. */ * Both are only valid if they are able to apply as options. */
switch (clicked_widget) { switch (clicked_widget) {
case RTW_REMOVE: case RTW_REMOVE:
RaiseWindowWidget(w, RTW_ONE_WAY); w->RaiseWidget(RTW_ONE_WAY);
break; break;
case RTW_ONE_WAY: case RTW_ONE_WAY:
RaiseWindowWidget(w, RTW_REMOVE); w->RaiseWidget(RTW_REMOVE);
break; break;
case RTW_BUS_STATION: case RTW_BUS_STATION:
case RTW_TRUCK_STATION: case RTW_TRUCK_STATION:
DisableWindowWidget(w, RTW_ONE_WAY); w->DisableWidget(RTW_ONE_WAY);
SetWindowWidgetDisabledState(w, RTW_REMOVE, !IsWindowWidgetLowered(w, clicked_widget)); w->SetWidgetDisabledState(RTW_REMOVE, !w->IsWidgetLowered(clicked_widget));
break; break;
case RTW_ROAD_X: case RTW_ROAD_X:
case RTW_ROAD_Y: case RTW_ROAD_Y:
case RTW_AUTOROAD: case RTW_AUTOROAD:
SetWindowWidgetsDisabledState(w, !IsWindowWidgetLowered(w, clicked_widget), w->SetWidgetsDisabledState(!w->IsWidgetLowered(clicked_widget),
RTW_REMOVE, RTW_REMOVE,
RTW_ONE_WAY, RTW_ONE_WAY,
WIDGET_LIST_END); WIDGET_LIST_END);
@ -406,11 +406,11 @@ static void UpdateOptionWidgetStatus(Window *w, int clicked_widget)
default: default:
/* When any other buttons than road/station, raise and /* When any other buttons than road/station, raise and
* disable the removal button */ * disable the removal button */
SetWindowWidgetsDisabledState(w, true, w->SetWidgetsDisabledState(true,
RTW_REMOVE, RTW_REMOVE,
RTW_ONE_WAY, RTW_ONE_WAY,
WIDGET_LIST_END); WIDGET_LIST_END);
SetWindowWidgetsLoweredState (w, false, w->SetWidgetsLoweredState (false,
RTW_REMOVE, RTW_REMOVE,
RTW_ONE_WAY, RTW_ONE_WAY,
WIDGET_LIST_END); WIDGET_LIST_END);
@ -422,14 +422,14 @@ static void BuildRoadToolbWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: case WE_CREATE:
SetWindowWidgetsDisabledState(w, true, w->SetWidgetsDisabledState(true,
RTW_REMOVE, RTW_REMOVE,
RTW_ONE_WAY, RTW_ONE_WAY,
WIDGET_LIST_END); WIDGET_LIST_END);
break; break;
case WE_PAINT: case WE_PAINT:
SetWindowWidgetsDisabledState(w, !CanBuildVehicleInfrastructure(VEH_ROAD), w->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_ROAD),
RTW_DEPOT, RTW_DEPOT,
RTW_BUS_STATION, RTW_BUS_STATION,
RTW_TRUCK_STATION, RTW_TRUCK_STATION,
@ -461,14 +461,14 @@ static void BuildRoadToolbWndProc(Window *w, WindowEvent *e)
break; break;
case WE_PLACE_OBJ: case WE_PLACE_OBJ:
_remove_button_clicked = IsWindowWidgetLowered(w, RTW_REMOVE); _remove_button_clicked = w->IsWidgetLowered(RTW_REMOVE);
_one_way_button_clicked = IsWindowWidgetLowered(w, RTW_ONE_WAY); _one_way_button_clicked = w->IsWidgetLowered(RTW_ONE_WAY);
_place_proc(e->we.place.tile); _place_proc(e->we.place.tile);
break; break;
case WE_ABORT_PLACE_OBJ: case WE_ABORT_PLACE_OBJ:
RaiseWindowButtons(w); RaiseWindowButtons(w);
DisableWindowWidget(w, RTW_REMOVE); w->DisableWidget(RTW_REMOVE);
InvalidateWidget(w, RTW_REMOVE); InvalidateWidget(w, RTW_REMOVE);
w = FindWindowById(WC_BUS_STATION, 0); w = FindWindowById(WC_BUS_STATION, 0);
@ -681,7 +681,7 @@ enum BuildRoadDepotWidgets {
static void BuildRoadDepotWndProc(Window *w, WindowEvent *e) static void BuildRoadDepotWndProc(Window *w, WindowEvent *e)
{ {
switch (e->event) { switch (e->event) {
case WE_CREATE: LowerWindowWidget(w, _road_depot_orientation + BRDW_DEPOT_NE); break; case WE_CREATE: w->LowerWidget(_road_depot_orientation + BRDW_DEPOT_NE); break;
case WE_PAINT: case WE_PAINT:
DrawWindowWidgets(w); DrawWindowWidgets(w);
@ -698,9 +698,9 @@ static void BuildRoadDepotWndProc(Window *w, WindowEvent *e)
case BRDW_DEPOT_NE: case BRDW_DEPOT_NE:
case BRDW_DEPOT_SW: case BRDW_DEPOT_SW:
case BRDW_DEPOT_SE: case BRDW_DEPOT_SE:
RaiseWindowWidget(w, _road_depot_orientation + BRDW_DEPOT_NE); w->RaiseWidget(_road_depot_orientation + BRDW_DEPOT_NE);
_road_depot_orientation = (DiagDirection)(e->we.click.widget - BRDW_DEPOT_NE); _road_depot_orientation = (DiagDirection)(e->we.click.widget - BRDW_DEPOT_NE);
LowerWindowWidget(w, _road_depot_orientation + BRDW_DEPOT_NE); w->LowerWidget(_road_depot_orientation + BRDW_DEPOT_NE);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -786,15 +786,15 @@ static void RoadStationPickerWndProc(Window *w, WindowEvent *e)
if (_cur_roadtype == ROADTYPE_TRAM && _road_station_picker_orientation < DIAGDIR_END) { if (_cur_roadtype == ROADTYPE_TRAM && _road_station_picker_orientation < DIAGDIR_END) {
_road_station_picker_orientation = DIAGDIR_END; _road_station_picker_orientation = DIAGDIR_END;
} }
SetWindowWidgetsDisabledState(w, _cur_roadtype == ROADTYPE_TRAM, w->SetWidgetsDisabledState(_cur_roadtype == ROADTYPE_TRAM,
BRSW_STATION_NE, BRSW_STATION_NE,
BRSW_STATION_SE, BRSW_STATION_SE,
BRSW_STATION_SW, BRSW_STATION_SW,
BRSW_STATION_NW, BRSW_STATION_NW,
WIDGET_LIST_END); WIDGET_LIST_END);
LowerWindowWidget(w, _road_station_picker_orientation + BRSW_STATION_NE); w->LowerWidget(_road_station_picker_orientation + BRSW_STATION_NE);
LowerWindowWidget(w, _station_show_coverage + BRSW_LT_OFF); w->LowerWidget(_station_show_coverage + BRSW_LT_OFF);
break; break;
case WE_PAINT: { case WE_PAINT: {
@ -833,18 +833,18 @@ static void RoadStationPickerWndProc(Window *w, WindowEvent *e)
case BRSW_STATION_NW: case BRSW_STATION_NW:
case BRSW_STATION_X: case BRSW_STATION_X:
case BRSW_STATION_Y: case BRSW_STATION_Y:
RaiseWindowWidget(w, _road_station_picker_orientation + BRSW_STATION_NE); w->RaiseWidget(_road_station_picker_orientation + BRSW_STATION_NE);
_road_station_picker_orientation = (DiagDirection)(e->we.click.widget - BRSW_STATION_NE); _road_station_picker_orientation = (DiagDirection)(e->we.click.widget - BRSW_STATION_NE);
LowerWindowWidget(w, _road_station_picker_orientation + BRSW_STATION_NE); w->LowerWidget(_road_station_picker_orientation + BRSW_STATION_NE);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
case BRSW_LT_OFF: case BRSW_LT_OFF:
case BRSW_LT_ON: case BRSW_LT_ON:
RaiseWindowWidget(w, _station_show_coverage + BRSW_LT_OFF); w->RaiseWidget(_station_show_coverage + BRSW_LT_OFF);
_station_show_coverage = (e->we.click.widget != BRSW_LT_OFF); _station_show_coverage = (e->we.click.widget != BRSW_LT_OFF);
LowerWindowWidget(w, _station_show_coverage + BRSW_LT_OFF); w->LowerWidget(_station_show_coverage + BRSW_LT_OFF);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
SetWindowDirty(w); SetWindowDirty(w);
break; break;

View File

@ -140,8 +140,8 @@ static void GameOptionsWndProc(Window *w, WindowEvent *e)
int i; int i;
StringID str = STR_02BE_DEFAULT; StringID str = STR_02BE_DEFAULT;
SetWindowWidgetDisabledState(w, 21, !(_vehicle_design_names & 1)); w->SetWidgetDisabledState(21, !(_vehicle_design_names & 1));
if (!IsWindowWidgetDisabled(w, 21)) str = STR_02BF_CUSTOM; if (!w->IsWidgetDisabled(21)) str = STR_02BF_CUSTOM;
SetDParam(0, str); SetDParam(0, str);
SetDParam(1, _currency_specs[_opt_ptr->currency].name); SetDParam(1, _currency_specs[_opt_ptr->currency].name);
SetDParam(2, STR_UNITS_IMPERIAL + _opt_ptr->units); SetDParam(2, STR_UNITS_IMPERIAL + _opt_ptr->units);
@ -152,7 +152,7 @@ static void GameOptionsWndProc(Window *w, WindowEvent *e)
i = GetCurRes(); i = GetCurRes();
SetDParam(7, i == _num_resolutions ? STR_RES_OTHER : SPECSTR_RESOLUTION_START + i); SetDParam(7, i == _num_resolutions ? STR_RES_OTHER : SPECSTR_RESOLUTION_START + i);
SetDParam(8, SPECSTR_SCREENSHOT_START + _cur_screenshot_format); SetDParam(8, SPECSTR_SCREENSHOT_START + _cur_screenshot_format);
SetWindowWidgetLoweredState(w, 28, _fullscreen); w->SetWidgetLoweredState(28, _fullscreen);
DrawWindowWidgets(w); DrawWindowWidgets(w);
DrawString(20, 175, STR_OPTIONS_FULLSCREEN, TC_FROMSTRING); // fullscreen DrawString(20, 175, STR_OPTIONS_FULLSCREEN, TC_FROMSTRING); // fullscreen
@ -202,7 +202,7 @@ static void GameOptionsWndProc(Window *w, WindowEvent *e)
ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_RESOLUTION_START, _num_resolutions), GetCurRes(), 27, 0, 0); ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_RESOLUTION_START, _num_resolutions), GetCurRes(), 27, 0, 0);
return; return;
case 28: /* Click fullscreen on/off */ case 28: /* Click fullscreen on/off */
SetWindowWidgetLoweredState(w, 28, !_fullscreen); w->SetWidgetLoweredState(28, !_fullscreen);
ToggleFullScreen(!_fullscreen); // toggle full-screen on/off ToggleFullScreen(!_fullscreen); // toggle full-screen on/off
SetWindowDirty(w); SetWindowDirty(w);
return; return;
@ -452,13 +452,13 @@ static void GameDifficultyWndProc(Window *w, WindowEvent *e)
switch (e->event) { switch (e->event) {
case WE_CREATE: // Setup disabled buttons when creating window case WE_CREATE: // Setup disabled buttons when creating window
/* disable all other difficulty buttons during gameplay except for 'custom' */ /* disable all other difficulty buttons during gameplay except for 'custom' */
SetWindowWidgetDisabledState(w, 3, _game_mode == GM_NORMAL); w->SetWidgetDisabledState( 3, _game_mode == GM_NORMAL);
SetWindowWidgetDisabledState(w, 4, _game_mode == GM_NORMAL); w->SetWidgetDisabledState( 4, _game_mode == GM_NORMAL);
SetWindowWidgetDisabledState(w, 5, _game_mode == GM_NORMAL); w->SetWidgetDisabledState( 5, _game_mode == GM_NORMAL);
SetWindowWidgetDisabledState(w, 6, _game_mode == GM_NORMAL); w->SetWidgetDisabledState( 6, _game_mode == GM_NORMAL);
SetWindowWidgetDisabledState(w, 7, _game_mode == GM_EDITOR || _networking); // highscore chart in multiplayer w->SetWidgetDisabledState( 7, _game_mode == GM_EDITOR || _networking); // highscore chart in multiplayer
SetWindowWidgetDisabledState(w, 10, _networking && !_network_server); // Save-button in multiplayer (and if client) w->SetWidgetDisabledState(10, _networking && !_network_server); // Save-button in multiplayer (and if client)
LowerWindowWidget(w, _opt_mod_temp.diff_level + 3); w->LowerWidget(_opt_mod_temp.diff_level + 3);
break; break;
case WE_PAINT: { case WE_PAINT: {
@ -547,16 +547,16 @@ static void GameDifficultyWndProc(Window *w, WindowEvent *e)
// save value in temporary variable // save value in temporary variable
((GDType*)&_opt_mod_temp.diff)[btn] = val; ((GDType*)&_opt_mod_temp.diff)[btn] = val;
RaiseWindowWidget(w, _opt_mod_temp.diff_level + 3); w->RaiseWidget(_opt_mod_temp.diff_level + 3);
SetDifficultyLevel(3, &_opt_mod_temp); // set difficulty level to custom SetDifficultyLevel(3, &_opt_mod_temp); // set difficulty level to custom
LowerWindowWidget(w, _opt_mod_temp.diff_level + 3); w->LowerWidget(_opt_mod_temp.diff_level + 3);
SetWindowDirty(w); SetWindowDirty(w);
} break; } break;
case 3: case 4: case 5: case 6: /* Easy / Medium / Hard / Custom */ case 3: case 4: case 5: case 6: /* Easy / Medium / Hard / Custom */
// temporarily change difficulty level // temporarily change difficulty level
RaiseWindowWidget(w, _opt_mod_temp.diff_level + 3); w->RaiseWidget(_opt_mod_temp.diff_level + 3);
SetDifficultyLevel(e->we.click.widget - 3, &_opt_mod_temp); SetDifficultyLevel(e->we.click.widget - 3, &_opt_mod_temp);
LowerWindowWidget(w, _opt_mod_temp.diff_level + 3); w->LowerWidget(_opt_mod_temp.diff_level + 3);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
case 7: /* Highscore Table */ case 7: /* Highscore Table */
@ -805,7 +805,7 @@ static void PatchesSelectionWndProc(Window *w, WindowEvent *e)
} }
first_time = false; first_time = false;
} }
LowerWindowWidget(w, 4); w->LowerWidget(4);
} break; } break;
case WE_PAINT: { case WE_PAINT: {
@ -954,9 +954,9 @@ static void PatchesSelectionWndProc(Window *w, WindowEvent *e)
break; break;
} }
case 4: case 5: case 6: case 7: case 8: case 9: case 4: case 5: case 6: case 7: case 8: case 9:
RaiseWindowWidget(w, WP(w, def_d).data_1 + 4); w->RaiseWidget(WP(w, def_d).data_1 + 4);
WP(w, def_d).data_1 = e->we.click.widget - 4; WP(w, def_d).data_1 = e->we.click.widget - 4;
LowerWindowWidget(w, WP(w, def_d).data_1 + 4); w->LowerWidget(WP(w, def_d).data_1 + 4);
DeleteWindowById(WC_QUERY_STRING, 0); DeleteWindowById(WC_QUERY_STRING, 0);
SetWindowDirty(w); SetWindowDirty(w);
break; break;

View File

@ -315,7 +315,7 @@ void ShowRenameSignWindow(const Sign *si)
WP(w, editsign_d).caption = STR_280B_EDIT_SIGN_TEXT; WP(w, editsign_d).caption = STR_280B_EDIT_SIGN_TEXT;
WP(w, editsign_d).afilter = CS_ALPHANUMERAL; WP(w, editsign_d).afilter = CS_ALPHANUMERAL;
LowerWindowWidget(w, QUERY_EDIT_SIGN_WIDGET_TEXT); w->LowerWidget(QUERY_EDIT_SIGN_WIDGET_TEXT);
UpdateSignEditWindow(w, si); UpdateSignEditWindow(w, si);
} }

View File

@ -805,8 +805,8 @@ static void SmallMapWindowProc(Window *w, WindowEvent *e)
DrawPixelInfo new_dpi; DrawPixelInfo new_dpi;
/* Hide Enable all/Disable all buttons if is not industry type small map*/ /* Hide Enable all/Disable all buttons if is not industry type small map*/
SetWindowWidgetHiddenState(w, SM_WIDGET_ENABLEINDUSTRIES, _smallmap_type != SMT_INDUSTRY); w->SetWidgetHiddenState(SM_WIDGET_ENABLEINDUSTRIES, _smallmap_type != SMT_INDUSTRY);
SetWindowWidgetHiddenState(w, SM_WIDGET_DISABLEINDUSTRIES, _smallmap_type != SMT_INDUSTRY); w->SetWidgetHiddenState(SM_WIDGET_DISABLEINDUSTRIES, _smallmap_type != SMT_INDUSTRY);
/* draw the window */ /* draw the window */
SetDParam(0, STR_00E5_CONTOURS + _smallmap_type); SetDParam(0, STR_00E5_CONTOURS + _smallmap_type);
@ -891,9 +891,9 @@ static void SmallMapWindowProc(Window *w, WindowEvent *e)
case SM_WIDGET_ROUTES: // Show transport routes case SM_WIDGET_ROUTES: // Show transport routes
case SM_WIDGET_VEGETATION: // Show vegetation case SM_WIDGET_VEGETATION: // Show vegetation
case SM_WIDGET_OWNERS: // Show land owners case SM_WIDGET_OWNERS: // Show land owners
RaiseWindowWidget(w, _smallmap_type + SM_WIDGET_CONTOUR); w->RaiseWidget(_smallmap_type + SM_WIDGET_CONTOUR);
_smallmap_type = e->we.click.widget - SM_WIDGET_CONTOUR; _smallmap_type = e->we.click.widget - SM_WIDGET_CONTOUR;
LowerWindowWidget(w, _smallmap_type + SM_WIDGET_CONTOUR); w->LowerWidget(_smallmap_type + SM_WIDGET_CONTOUR);
SetWindowDirty(w); SetWindowDirty(w);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
@ -907,8 +907,8 @@ static void SmallMapWindowProc(Window *w, WindowEvent *e)
break; break;
case SM_WIDGET_TOGGLETOWNNAME: // Toggle town names case SM_WIDGET_TOGGLETOWNNAME: // Toggle town names
ToggleWidgetLoweredState(w, SM_WIDGET_TOGGLETOWNNAME); w->ToggleWidgetLoweredState(SM_WIDGET_TOGGLETOWNNAME);
_smallmap_show_towns = IsWindowWidgetLowered(w, SM_WIDGET_TOGGLETOWNNAME); _smallmap_show_towns = w->IsWidgetLowered(SM_WIDGET_TOGGLETOWNNAME);
SetWindowDirty(w); SetWindowDirty(w);
SndPlayFx(SND_15_BEEP); SndPlayFx(SND_15_BEEP);
@ -940,8 +940,8 @@ static void SmallMapWindowProc(Window *w, WindowEvent *e)
} }
} }
/* Raise the two buttons "all", as we have done a specific choice */ /* Raise the two buttons "all", as we have done a specific choice */
RaiseWindowWidget(w, SM_WIDGET_ENABLEINDUSTRIES); w->RaiseWidget(SM_WIDGET_ENABLEINDUSTRIES);
RaiseWindowWidget(w, SM_WIDGET_DISABLEINDUSTRIES); w->RaiseWidget(SM_WIDGET_DISABLEINDUSTRIES);
SetWindowDirty(w); SetWindowDirty(w);
} }
break; break;
@ -951,8 +951,8 @@ static void SmallMapWindowProc(Window *w, WindowEvent *e)
_legend_from_industries[i].show_on_map = true; _legend_from_industries[i].show_on_map = true;
} }
/* toggle appeareance indicating the choice */ /* toggle appeareance indicating the choice */
LowerWindowWidget(w, SM_WIDGET_ENABLEINDUSTRIES); w->LowerWidget(SM_WIDGET_ENABLEINDUSTRIES);
RaiseWindowWidget(w, SM_WIDGET_DISABLEINDUSTRIES); w->RaiseWidget(SM_WIDGET_DISABLEINDUSTRIES);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -961,8 +961,8 @@ static void SmallMapWindowProc(Window *w, WindowEvent *e)
_legend_from_industries[i].show_on_map = false; _legend_from_industries[i].show_on_map = false;
} }
/* toggle appeareance indicating the choice */ /* toggle appeareance indicating the choice */
RaiseWindowWidget(w, SM_WIDGET_ENABLEINDUSTRIES); w->RaiseWidget(SM_WIDGET_ENABLEINDUSTRIES);
LowerWindowWidget(w, SM_WIDGET_DISABLEINDUSTRIES); w->LowerWidget(SM_WIDGET_DISABLEINDUSTRIES);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
} }
@ -1085,8 +1085,8 @@ void ShowSmallMap()
} }
} }
LowerWindowWidget(w, _smallmap_type + SMT_OWNER); w->LowerWidget(_smallmap_type + SMT_OWNER);
SetWindowWidgetLoweredState(w, SM_WIDGET_TOGGLETOWNNAME, _smallmap_show_towns); w->SetWidgetLoweredState(SM_WIDGET_TOGGLETOWNNAME, _smallmap_show_towns);
SmallMapCenterOnCurrentPos(w); SmallMapCenterOnCurrentPos(w);
} }
@ -1115,7 +1115,7 @@ static void ExtraViewPortWndProc(Window *w, WindowEvent *e)
/* New viewport start at (zero,zero) */ /* New viewport start at (zero,zero) */
AssignWindowViewport(w, 3, 17, w->widget[4].right - w->widget[4].left - 1, w->widget[4].bottom - w->widget[4].top - 1, 0, ZOOM_LVL_VIEWPORT); AssignWindowViewport(w, 3, 17, w->widget[4].right - w->widget[4].left - 1, w->widget[4].bottom - w->widget[4].top - 1, 0, ZOOM_LVL_VIEWPORT);
DisableWindowWidget(w, 5); w->DisableWidget(5);
break; break;
case WE_PAINT: case WE_PAINT:

View File

@ -290,11 +290,11 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
if (_cargo_filter == _cargo_filter_max) _cargo_filter = _cargo_mask; if (_cargo_filter == _cargo_filter_max) _cargo_filter = _cargo_mask;
for (uint i = 0; i < 5; i++) { for (uint i = 0; i < 5; i++) {
if (HasBit(facilities, i)) LowerWindowWidget(w, i + STATIONLIST_WIDGET_TRAIN); if (HasBit(facilities, i)) w->LowerWidget(i + STATIONLIST_WIDGET_TRAIN);
} }
SetWindowWidgetLoweredState(w, STATIONLIST_WIDGET_FACILALL, facilities == (FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK)); w->SetWidgetLoweredState(STATIONLIST_WIDGET_FACILALL, facilities == (FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK));
SetWindowWidgetLoweredState(w, STATIONLIST_WIDGET_CARGOALL, _cargo_filter == _cargo_mask && include_empty); w->SetWidgetLoweredState(STATIONLIST_WIDGET_CARGOALL, _cargo_filter == _cargo_mask && include_empty);
SetWindowWidgetLoweredState(w, STATIONLIST_WIDGET_NOCARGOWAITING, include_empty); w->SetWidgetLoweredState(STATIONLIST_WIDGET_NOCARGOWAITING, include_empty);
sl->sort_list = NULL; sl->sort_list = NULL;
sl->flags = SL_REBUILD; sl->flags = SL_REBUILD;
@ -337,13 +337,13 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
} }
x += 6; x += 6;
cg_ofst = IsWindowWidgetLowered(w, STATIONLIST_WIDGET_NOCARGOWAITING) ? 2 : 1; cg_ofst = w->IsWidgetLowered(STATIONLIST_WIDGET_NOCARGOWAITING) ? 2 : 1;
DrawStringCentered(x + cg_ofst, y + cg_ofst, STR_ABBREV_NONE, TC_BLACK); DrawStringCentered(x + cg_ofst, y + cg_ofst, STR_ABBREV_NONE, TC_BLACK);
x += 14; x += 14;
cg_ofst = IsWindowWidgetLowered(w, STATIONLIST_WIDGET_CARGOALL) ? 2 : 1; cg_ofst = w->IsWidgetLowered(STATIONLIST_WIDGET_CARGOALL) ? 2 : 1;
DrawStringCentered(x + cg_ofst, y + cg_ofst, STR_ABBREV_ALL, TC_BLACK); DrawStringCentered(x + cg_ofst, y + cg_ofst, STR_ABBREV_ALL, TC_BLACK);
cg_ofst = IsWindowWidgetLowered(w, STATIONLIST_WIDGET_FACILALL) ? 2 : 1; cg_ofst = w->IsWidgetLowered(STATIONLIST_WIDGET_FACILALL) ? 2 : 1;
DrawString(71 + cg_ofst, y + cg_ofst, STR_ABBREV_ALL, TC_BLACK); DrawString(71 + cg_ofst, y + cg_ofst, STR_ABBREV_ALL, TC_BLACK);
if (w->vscroll.count == 0) { // player has no stations if (w->vscroll.count == 0) { // player has no stations
@ -401,24 +401,24 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
case STATIONLIST_WIDGET_SHIP: case STATIONLIST_WIDGET_SHIP:
if (_ctrl_pressed) { if (_ctrl_pressed) {
ToggleBit(facilities, e->we.click.widget - STATIONLIST_WIDGET_TRAIN); ToggleBit(facilities, e->we.click.widget - STATIONLIST_WIDGET_TRAIN);
ToggleWidgetLoweredState(w, e->we.click.widget); w->ToggleWidgetLoweredState(e->we.click.widget);
} else { } else {
for (uint i = 0; facilities != 0; i++, facilities >>= 1) { for (uint i = 0; facilities != 0; i++, facilities >>= 1) {
if (HasBit(facilities, 0)) RaiseWindowWidget(w, i + STATIONLIST_WIDGET_TRAIN); if (HasBit(facilities, 0)) w->RaiseWidget(i + STATIONLIST_WIDGET_TRAIN);
} }
SetBit(facilities, e->we.click.widget - STATIONLIST_WIDGET_TRAIN); SetBit(facilities, e->we.click.widget - STATIONLIST_WIDGET_TRAIN);
LowerWindowWidget(w, e->we.click.widget); w->LowerWidget(e->we.click.widget);
} }
SetWindowWidgetLoweredState(w, STATIONLIST_WIDGET_FACILALL, facilities == (FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK)); w->SetWidgetLoweredState(STATIONLIST_WIDGET_FACILALL, facilities == (FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK));
sl->flags |= SL_REBUILD; sl->flags |= SL_REBUILD;
SetWindowDirty(w); SetWindowDirty(w);
break; break;
case STATIONLIST_WIDGET_FACILALL: case STATIONLIST_WIDGET_FACILALL:
for (uint i = 0; i < 5; i++) { for (uint i = 0; i < 5; i++) {
LowerWindowWidget(w, i + STATIONLIST_WIDGET_TRAIN); w->LowerWidget(i + STATIONLIST_WIDGET_TRAIN);
} }
LowerWindowWidget(w, STATIONLIST_WIDGET_FACILALL); w->LowerWidget(STATIONLIST_WIDGET_FACILALL);
facilities = FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK; facilities = FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK;
sl->flags |= SL_REBUILD; sl->flags |= SL_REBUILD;
@ -429,11 +429,11 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
uint i = 0; uint i = 0;
for (CargoID c = 0; c < NUM_CARGO; c++) { for (CargoID c = 0; c < NUM_CARGO; c++) {
if (!GetCargo(c)->IsValid()) continue; if (!GetCargo(c)->IsValid()) continue;
LowerWindowWidget(w, i + STATIONLIST_WIDGET_CARGOSTART); w->LowerWidget(i + STATIONLIST_WIDGET_CARGOSTART);
i++; i++;
} }
LowerWindowWidget(w, STATIONLIST_WIDGET_NOCARGOWAITING); w->LowerWidget(STATIONLIST_WIDGET_NOCARGOWAITING);
LowerWindowWidget(w, STATIONLIST_WIDGET_CARGOALL); w->LowerWidget(STATIONLIST_WIDGET_CARGOALL);
_cargo_filter = _cargo_mask; _cargo_filter = _cargo_mask;
include_empty = true; include_empty = true;
@ -447,7 +447,7 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
station_sort.order = HasBit(sl->flags, 0); station_sort.order = HasBit(sl->flags, 0);
sl->flags |= SL_RESORT; sl->flags |= SL_RESORT;
w->flags4 |= 5 << WF_TIMEOUT_SHL; w->flags4 |= 5 << WF_TIMEOUT_SHL;
LowerWindowWidget(w, STATIONLIST_WIDGET_SORTBY); w->LowerWidget(STATIONLIST_WIDGET_SORTBY);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -459,19 +459,19 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
case STATIONLIST_WIDGET_NOCARGOWAITING: case STATIONLIST_WIDGET_NOCARGOWAITING:
if (_ctrl_pressed) { if (_ctrl_pressed) {
include_empty = !include_empty; include_empty = !include_empty;
ToggleWidgetLoweredState(w, STATIONLIST_WIDGET_NOCARGOWAITING); w->ToggleWidgetLoweredState(STATIONLIST_WIDGET_NOCARGOWAITING);
} else { } else {
for (uint i = STATIONLIST_WIDGET_CARGOSTART; i < w->widget_count; i++) { for (uint i = STATIONLIST_WIDGET_CARGOSTART; i < w->widget_count; i++) {
RaiseWindowWidget(w, i); w->RaiseWidget(i);
} }
_cargo_filter = 0; _cargo_filter = 0;
include_empty = true; include_empty = true;
LowerWindowWidget(w, STATIONLIST_WIDGET_NOCARGOWAITING); w->LowerWidget(STATIONLIST_WIDGET_NOCARGOWAITING);
} }
sl->flags |= SL_REBUILD; sl->flags |= SL_REBUILD;
SetWindowWidgetLoweredState(w, STATIONLIST_WIDGET_CARGOALL, _cargo_filter == _cargo_mask && include_empty); w->SetWidgetLoweredState(STATIONLIST_WIDGET_CARGOALL, _cargo_filter == _cargo_mask && include_empty);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -488,21 +488,21 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
if (_ctrl_pressed) { if (_ctrl_pressed) {
ToggleBit(_cargo_filter, c); ToggleBit(_cargo_filter, c);
ToggleWidgetLoweredState(w, e->we.click.widget); w->ToggleWidgetLoweredState(e->we.click.widget);
} else { } else {
for (uint i = STATIONLIST_WIDGET_CARGOSTART; i < w->widget_count; i++) { for (uint i = STATIONLIST_WIDGET_CARGOSTART; i < w->widget_count; i++) {
RaiseWindowWidget(w, i); w->RaiseWidget(i);
} }
RaiseWindowWidget(w, STATIONLIST_WIDGET_NOCARGOWAITING); w->RaiseWidget(STATIONLIST_WIDGET_NOCARGOWAITING);
_cargo_filter = 0; _cargo_filter = 0;
include_empty = false; include_empty = false;
SetBit(_cargo_filter, c); SetBit(_cargo_filter, c);
LowerWindowWidget(w, e->we.click.widget); w->LowerWidget(e->we.click.widget);
} }
sl->flags |= SL_REBUILD; sl->flags |= SL_REBUILD;
SetWindowWidgetLoweredState(w, STATIONLIST_WIDGET_CARGOALL, _cargo_filter == _cargo_mask && include_empty); w->SetWidgetLoweredState(STATIONLIST_WIDGET_CARGOALL, _cargo_filter == _cargo_mask && include_empty);
SetWindowDirty(w); SetWindowDirty(w);
} }
break; break;
@ -529,7 +529,7 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
break; break;
case WE_TIMEOUT: case WE_TIMEOUT:
RaiseWindowWidget(w, STATIONLIST_WIDGET_SORTBY); w->RaiseWidget(STATIONLIST_WIDGET_SORTBY);
SetWindowDirty(w); SetWindowDirty(w);
break; break;
@ -615,7 +615,7 @@ void ShowPlayerStations(PlayerID player)
wi->data = 0; wi->data = 0;
wi->tooltips = STR_USE_CTRL_TO_SELECT_MORE; wi->tooltips = STR_USE_CTRL_TO_SELECT_MORE;
if (HasBit(_cargo_filter, c)) LowerWindowWidget(w, STATIONLIST_WIDGET_CARGOSTART + i); if (HasBit(_cargo_filter, c)) w->LowerWidget(STATIONLIST_WIDGET_CARGOSTART + i);
i++; i++;
} }
@ -710,11 +710,11 @@ static void DrawStationViewWindow(Window *w)
} }
SetVScrollCount(w, num); SetVScrollCount(w, num);
SetWindowWidgetDisabledState(w, 9, st->owner != _local_player); w->SetWidgetDisabledState( 9, st->owner != _local_player);
SetWindowWidgetDisabledState(w, 10, !(st->facilities & FACIL_TRAIN)); w->SetWidgetDisabledState(10, !(st->facilities & FACIL_TRAIN));
SetWindowWidgetDisabledState(w, 11, !(st->facilities & FACIL_TRUCK_STOP) && !(st->facilities & FACIL_BUS_STOP)); w->SetWidgetDisabledState(11, !(st->facilities & FACIL_TRUCK_STOP) && !(st->facilities & FACIL_BUS_STOP));
SetWindowWidgetDisabledState(w, 12, !(st->facilities & FACIL_AIRPORT)); w->SetWidgetDisabledState(12, !(st->facilities & FACIL_AIRPORT));
SetWindowWidgetDisabledState(w, 13, !(st->facilities & FACIL_DOCK)); w->SetWidgetDisabledState(13, !(st->facilities & FACIL_DOCK));
SetDParam(0, st->index); SetDParam(0, st->index);
SetDParam(1, st->facilities); SetDParam(1, st->facilities);

View File

@ -54,29 +54,29 @@ static void DrawTimetableWindow(Window *w)
if (v->owner == _local_player) { if (v->owner == _local_player) {
if (selected == -1) { if (selected == -1) {
DisableWindowWidget(w, 6); w->DisableWidget(6);
DisableWindowWidget(w, 7); w->DisableWidget(7);
} else if (selected % 2 == 1) { } else if (selected % 2 == 1) {
EnableWindowWidget(w, 6); w->EnableWidget(6);
EnableWindowWidget(w, 7); w->EnableWidget(7);
} else { } else {
const Order *order = GetVehicleOrder(v, (selected + 1) / 2); const Order *order = GetVehicleOrder(v, (selected + 1) / 2);
bool disable = order == NULL || order->type != OT_GOTO_STATION || (_patches.new_nonstop && (order->flags & OF_NON_STOP)); bool disable = order == NULL || order->type != OT_GOTO_STATION || (_patches.new_nonstop && (order->flags & OF_NON_STOP));
SetWindowWidgetDisabledState(w, 6, disable); w->SetWidgetDisabledState(6, disable);
SetWindowWidgetDisabledState(w, 7, disable); w->SetWidgetDisabledState(7, disable);
} }
EnableWindowWidget(w, 8); w->EnableWidget(8);
EnableWindowWidget(w, 9); w->EnableWidget(9);
} else { } else {
DisableWindowWidget(w, 6); w->DisableWidget(6);
DisableWindowWidget(w, 7); w->DisableWidget(7);
DisableWindowWidget(w, 8); w->DisableWidget(8);
DisableWindowWidget(w, 9); w->DisableWidget(9);
} }
SetWindowWidgetLoweredState(w, 9, HasBit(v->vehicle_flags, VF_AUTOFILL_TIMETABLE)); w->SetWidgetLoweredState(9, HasBit(v->vehicle_flags, VF_AUTOFILL_TIMETABLE));
SetDParam(0, v->index); SetDParam(0, v->index);
DrawWindowWidgets(w); DrawWindowWidgets(w);

View File

@ -142,7 +142,7 @@ static void TownAuthorityWndProc(Window *w, WindowEvent *e)
if (WP(w,def_d).data_1 != -1 && !HasBit(buttons, WP(w,def_d).data_1)) if (WP(w,def_d).data_1 != -1 && !HasBit(buttons, WP(w,def_d).data_1))
WP(w,def_d).data_1 = -1; WP(w,def_d).data_1 = -1;
SetWindowWidgetDisabledState(w, 6, WP(w, def_d).data_1 == -1); w->SetWidgetDisabledState(6, WP(w, def_d).data_1 == -1);
{ {
int y; int y;
@ -272,7 +272,7 @@ static void TownViewWndProc(Window *w, WindowEvent *e)
switch (e->event) { switch (e->event) {
case WE_PAINT: case WE_PAINT:
/* disable renaming town in network games if you are not the server */ /* disable renaming town in network games if you are not the server */
SetWindowWidgetDisabledState(w, 8, _networking && !_network_server); w->SetWidgetDisabledState(8, _networking && !_network_server);
SetDParam(0, t->index); SetDParam(0, t->index);
DrawWindowWidgets(w); DrawWindowWidgets(w);

View File

@ -37,7 +37,7 @@ static void TransparencyToolbWndProc(Window *w, WindowEvent *e)
/* must be sure that the widgets show the transparency variable changes /* must be sure that the widgets show the transparency variable changes
* also when we use shortcuts */ * also when we use shortcuts */
for (uint i = TTW_WIDGET_SIGNS; i < TTW_WIDGET_END; i++) { for (uint i = TTW_WIDGET_SIGNS; i < TTW_WIDGET_END; i++) {
SetWindowWidgetLoweredState(w, i, IsTransparencySet((TransparencyOption)(i - TTW_WIDGET_SIGNS))); w->SetWidgetLoweredState(i, IsTransparencySet((TransparencyOption)(i - TTW_WIDGET_SIGNS)));
} }
DrawWindowWidgets(w); DrawWindowWidgets(w);
break; break;

View File

@ -789,10 +789,10 @@ static void CreateVehicleListWindow(Window *w)
/* Hide the widgets that we will not use in this window /* Hide the widgets that we will not use in this window
* Some windows contains actions only fit for the owner */ * Some windows contains actions only fit for the owner */
if (player == _local_player) { if (player == _local_player) {
HideWindowWidget(w, VLW_WIDGET_OTHER_PLAYER_FILLER); w->HideWidget(VLW_WIDGET_OTHER_PLAYER_FILLER);
SetWindowWidgetDisabledState(w, VLW_WIDGET_AVAILABLE_VEHICLES, window_type != VLW_STANDARD); w->SetWidgetDisabledState(VLW_WIDGET_AVAILABLE_VEHICLES, window_type != VLW_STANDARD);
} else { } else {
SetWindowWidgetsHiddenState(w, true, w->SetWidgetsHiddenState(true,
VLW_WIDGET_AVAILABLE_VEHICLES, VLW_WIDGET_AVAILABLE_VEHICLES,
VLW_WIDGET_MANAGE_VEHICLES, VLW_WIDGET_MANAGE_VEHICLES,
VLW_WIDGET_MANAGE_VEHICLES_DROPDOWN, VLW_WIDGET_MANAGE_VEHICLES_DROPDOWN,
@ -976,7 +976,7 @@ static void DrawVehicleListWindow(Window *w)
default: NOT_REACHED(); break; default: NOT_REACHED(); break;
} }
SetWindowWidgetsDisabledState(w, vl->l.list_length == 0, w->SetWidgetsDisabledState(vl->l.list_length == 0,
VLW_WIDGET_MANAGE_VEHICLES, VLW_WIDGET_MANAGE_VEHICLES,
VLW_WIDGET_MANAGE_VEHICLES_DROPDOWN, VLW_WIDGET_MANAGE_VEHICLES_DROPDOWN,
VLW_WIDGET_STOP_ALL, VLW_WIDGET_STOP_ALL,
@ -1460,14 +1460,14 @@ static void DrawVehicleDetailsWindow(Window *w)
const Vehicle *v = GetVehicle(w->window_number); const Vehicle *v = GetVehicle(w->window_number);
byte det_tab = WP(w, vehicledetails_d).tab; byte det_tab = WP(w, vehicledetails_d).tab;
SetWindowWidgetDisabledState(w, VLD_WIDGET_RENAME_VEHICLE, v->owner != _local_player); w->SetWidgetDisabledState(VLD_WIDGET_RENAME_VEHICLE, v->owner != _local_player);
if (v->type == VEH_TRAIN) { if (v->type == VEH_TRAIN) {
DisableWindowWidget(w, det_tab + VLD_WIDGET_DETAILS_CARGO_CARRIED); w->DisableWidget(det_tab + VLD_WIDGET_DETAILS_CARGO_CARRIED);
SetVScrollCount(w, GetTrainDetailsWndVScroll(v->index, det_tab)); SetVScrollCount(w, GetTrainDetailsWndVScroll(v->index, det_tab));
} }
SetWindowWidgetsHiddenState(w, v->type != VEH_TRAIN, w->SetWidgetsHiddenState(v->type != VEH_TRAIN,
VLD_WIDGET_SCROLLBAR, VLD_WIDGET_SCROLLBAR,
VLD_WIDGET_DETAILS_CARGO_CARRIED, VLD_WIDGET_DETAILS_CARGO_CARRIED,
VLD_WIDGET_DETAILS_TRAIN_VEHICLES, VLD_WIDGET_DETAILS_TRAIN_VEHICLES,
@ -1477,7 +1477,7 @@ static void DrawVehicleDetailsWindow(Window *w)
WIDGET_LIST_END); WIDGET_LIST_END);
/* Disable service-scroller when interval is set to disabled */ /* Disable service-scroller when interval is set to disabled */
SetWindowWidgetsDisabledState(w, !IsVehicleServiceIntervalEnabled(v->type), w->SetWidgetsDisabledState(!IsVehicleServiceIntervalEnabled(v->type),
VLD_WIDGET_INCREASE_SERVICING_INTERVAL, VLD_WIDGET_INCREASE_SERVICING_INTERVAL,
VLD_WIDGET_DECREASE_SERVICING_INTERVAL, VLD_WIDGET_DECREASE_SERVICING_INTERVAL,
WIDGET_LIST_END); WIDGET_LIST_END);
@ -1598,7 +1598,7 @@ static void VehicleDetailsWndProc(Window *w, WindowEvent *e)
case VLD_WIDGET_DETAILS_TRAIN_VEHICLES: case VLD_WIDGET_DETAILS_TRAIN_VEHICLES:
case VLD_WIDGET_DETAILS_CAPACITY_OF_EACH: case VLD_WIDGET_DETAILS_CAPACITY_OF_EACH:
case VLD_WIDGET_DETAILS_TOTAL_CARGO: case VLD_WIDGET_DETAILS_TOTAL_CARGO:
SetWindowWidgetsDisabledState(w, false, w->SetWidgetsDisabledState(false,
VLD_WIDGET_DETAILS_CARGO_CARRIED, VLD_WIDGET_DETAILS_CARGO_CARRIED,
VLD_WIDGET_DETAILS_TRAIN_VEHICLES, VLD_WIDGET_DETAILS_TRAIN_VEHICLES,
VLD_WIDGET_DETAILS_CAPACITY_OF_EACH, VLD_WIDGET_DETAILS_CAPACITY_OF_EACH,
@ -1826,7 +1826,7 @@ static void CreateVehicleViewWindow(Window *w)
w->widget[VVW_WIDGET_CLONE_VEH].data = SPR_CLONE_ROADVEH; w->widget[VVW_WIDGET_CLONE_VEH].data = SPR_CLONE_ROADVEH;
w->widget[VVW_WIDGET_CLONE_VEH].tooltips = STR_CLONE_ROAD_VEHICLE_INFO; w->widget[VVW_WIDGET_CLONE_VEH].tooltips = STR_CLONE_ROAD_VEHICLE_INFO;
SetWindowWidgetHiddenState(w, VVW_WIDGET_FORCE_PROCEED, true); w->SetWidgetHiddenState(VVW_WIDGET_FORCE_PROCEED, true);
break; break;
case VEH_SHIP: case VEH_SHIP:
@ -1848,7 +1848,7 @@ static void CreateVehicleViewWindow(Window *w)
w->widget[VVW_WIDGET_CLONE_VEH].data = SPR_CLONE_SHIP; w->widget[VVW_WIDGET_CLONE_VEH].data = SPR_CLONE_SHIP;
w->widget[VVW_WIDGET_CLONE_VEH].tooltips = STR_CLONE_SHIP_INFO; w->widget[VVW_WIDGET_CLONE_VEH].tooltips = STR_CLONE_SHIP_INFO;
SetWindowWidgetsHiddenState(w, true, w->SetWidgetsHiddenState(true,
VVW_WIDGET_TURN_AROUND, VVW_WIDGET_TURN_AROUND,
VVW_WIDGET_FORCE_PROCEED, VVW_WIDGET_FORCE_PROCEED,
WIDGET_LIST_END); WIDGET_LIST_END);
@ -1873,7 +1873,7 @@ static void CreateVehicleViewWindow(Window *w)
w->widget[VVW_WIDGET_CLONE_VEH].data = SPR_CLONE_AIRCRAFT; w->widget[VVW_WIDGET_CLONE_VEH].data = SPR_CLONE_AIRCRAFT;
w->widget[VVW_WIDGET_CLONE_VEH].tooltips = STR_CLONE_AIRCRAFT_INFO; w->widget[VVW_WIDGET_CLONE_VEH].tooltips = STR_CLONE_AIRCRAFT_INFO;
SetWindowWidgetsHiddenState(w, true, w->SetWidgetsHiddenState(true,
VVW_WIDGET_TURN_AROUND, VVW_WIDGET_TURN_AROUND,
VVW_WIDGET_FORCE_PROCEED, VVW_WIDGET_FORCE_PROCEED,
WIDGET_LIST_END); WIDGET_LIST_END);
@ -1922,14 +1922,14 @@ static void DrawVehicleViewWindow(Window *w)
bool is_localplayer = v->owner == _local_player; bool is_localplayer = v->owner == _local_player;
bool refitable_and_stopped_in_depot = IsVehicleRefitable(v); bool refitable_and_stopped_in_depot = IsVehicleRefitable(v);
SetWindowWidgetDisabledState(w, VVW_WIDGET_GOTO_DEPOT, !is_localplayer); w->SetWidgetDisabledState(VVW_WIDGET_GOTO_DEPOT, !is_localplayer);
SetWindowWidgetDisabledState(w, VVW_WIDGET_REFIT_VEH, w->SetWidgetDisabledState(VVW_WIDGET_REFIT_VEH,
!refitable_and_stopped_in_depot || !is_localplayer); !refitable_and_stopped_in_depot || !is_localplayer);
SetWindowWidgetDisabledState(w, VVW_WIDGET_CLONE_VEH, !is_localplayer); w->SetWidgetDisabledState(VVW_WIDGET_CLONE_VEH, !is_localplayer);
if (v->type == VEH_TRAIN) { if (v->type == VEH_TRAIN) {
SetWindowWidgetDisabledState(w, VVW_WIDGET_FORCE_PROCEED, !is_localplayer); w->SetWidgetDisabledState(VVW_WIDGET_FORCE_PROCEED, !is_localplayer);
SetWindowWidgetDisabledState(w, VVW_WIDGET_TURN_AROUND, !is_localplayer); w->SetWidgetDisabledState(VVW_WIDGET_TURN_AROUND, !is_localplayer);
/* Cargo refit button is disabled, until we know we can enable it below. */ /* Cargo refit button is disabled, until we know we can enable it below. */
@ -1938,7 +1938,7 @@ static void DrawVehicleViewWindow(Window *w)
for (const Vehicle *u = v; u != NULL; u = u->Next()) { for (const Vehicle *u = v; u != NULL; u = u->Next()) {
if (EngInfo(u->engine_type)->refit_mask != 0 || if (EngInfo(u->engine_type)->refit_mask != 0 ||
(RailVehInfo(v->engine_type)->railveh_type != RAILVEH_WAGON && v->cargo_cap != 0)) { (RailVehInfo(v->engine_type)->railveh_type != RAILVEH_WAGON && v->cargo_cap != 0)) {
EnableWindowWidget(w, VVW_WIDGET_REFIT_VEH); w->EnableWidget(VVW_WIDGET_REFIT_VEH);
/* We have a refittable carriage, bail out */ /* We have a refittable carriage, bail out */
break; break;
} }
@ -2150,12 +2150,12 @@ static void VehicleViewWndProc(Window *w, WindowEvent *e)
* allowed only while in depot and stopped. * allowed only while in depot and stopped.
* This sytem allows to have two buttons, on top of each other. * This sytem allows to have two buttons, on top of each other.
* The same system applies to widget VVW_WIDGET_REFIT_VEH and VVW_WIDGET_TURN_AROUND.*/ * The same system applies to widget VVW_WIDGET_REFIT_VEH and VVW_WIDGET_TURN_AROUND.*/
if (veh_stopped != IsWindowWidgetHidden(w, VVW_WIDGET_GOTO_DEPOT) || veh_stopped == IsWindowWidgetHidden(w, VVW_WIDGET_CLONE_VEH)) { if (veh_stopped != w->IsWidgetHidden(VVW_WIDGET_GOTO_DEPOT) || veh_stopped == w->IsWidgetHidden(VVW_WIDGET_CLONE_VEH)) {
SetWindowWidgetHiddenState(w, VVW_WIDGET_GOTO_DEPOT, veh_stopped); // send to depot w->SetWidgetHiddenState( VVW_WIDGET_GOTO_DEPOT, veh_stopped); // send to depot
SetWindowWidgetHiddenState(w, VVW_WIDGET_CLONE_VEH, !veh_stopped); // clone w->SetWidgetHiddenState(VVW_WIDGET_CLONE_VEH, !veh_stopped); // clone
if (v->type == VEH_ROAD || v->type == VEH_TRAIN) { if (v->type == VEH_ROAD || v->type == VEH_TRAIN) {
SetWindowWidgetHiddenState(w, VVW_WIDGET_REFIT_VEH, !veh_stopped); // refit w->SetWidgetHiddenState( VVW_WIDGET_REFIT_VEH, !veh_stopped); // refit
SetWindowWidgetHiddenState(w, VVW_WIDGET_TURN_AROUND, veh_stopped); // force turn around w->SetWidgetHiddenState(VVW_WIDGET_TURN_AROUND, veh_stopped); // force turn around
} }
SetWindowDirty(w); SetWindowDirty(w);
} }

View File

@ -442,10 +442,10 @@ Point GetTileZoomCenterWindow(bool in, Window * w)
* @param widget_zoom_out widget index for window with zoom-out button */ * @param widget_zoom_out widget index for window with zoom-out button */
void HandleZoomMessage(Window *w, const ViewPort *vp, byte widget_zoom_in, byte widget_zoom_out) void HandleZoomMessage(Window *w, const ViewPort *vp, byte widget_zoom_in, byte widget_zoom_out)
{ {
SetWindowWidgetDisabledState(w, widget_zoom_in, vp->zoom == ZOOM_LVL_MIN); w->SetWidgetDisabledState(widget_zoom_in, vp->zoom == ZOOM_LVL_MIN);
InvalidateWidget(w, widget_zoom_in); InvalidateWidget(w, widget_zoom_in);
SetWindowWidgetDisabledState(w, widget_zoom_out, vp->zoom == ZOOM_LVL_MAX); w->SetWidgetDisabledState(widget_zoom_out, vp->zoom == ZOOM_LVL_MAX);
InvalidateWidget(w, widget_zoom_out); InvalidateWidget(w, widget_zoom_out);
} }

View File

@ -140,7 +140,7 @@ int GetWidgetFromPos(const Window *w, int x, int y)
if (wi->type == WWT_EMPTY || wi->type == WWT_FRAME) continue; if (wi->type == WWT_EMPTY || wi->type == WWT_FRAME) continue;
if (x >= wi->left && x <= wi->right && y >= wi->top && y <= wi->bottom && if (x >= wi->left && x <= wi->right && y >= wi->top && y <= wi->bottom &&
!IsWindowWidgetHidden(w, index)) { !w->IsWidgetHidden(index)) {
found_index = index; found_index = index;
} }
} }
@ -187,14 +187,14 @@ void DrawWindowWidgets(const Window *w)
for (uint i = 0; i < w->widget_count; i++) { for (uint i = 0; i < w->widget_count; i++) {
const Widget *wi = &w->widget[i]; const Widget *wi = &w->widget[i];
bool clicked = IsWindowWidgetLowered(w, i); bool clicked = w->IsWidgetLowered(i);
Rect r; Rect r;
if (dpi->left > (r.right = wi->right) || if (dpi->left > (r.right = wi->right) ||
dpi->left + dpi->width <= (r.left = wi->left) || dpi->left + dpi->width <= (r.left = wi->left) ||
dpi->top > (r.bottom = wi->bottom) || dpi->top > (r.bottom = wi->bottom) ||
dpi->top + dpi->height <= (r.top = wi->top) || dpi->top + dpi->height <= (r.top = wi->top) ||
IsWindowWidgetHidden(w, i)) { w->IsWidgetHidden(i)) {
continue; continue;
} }
@ -469,7 +469,7 @@ void DrawWindowWidgets(const Window *w)
DrawStringCenteredTruncated(r.left + 2, r.right - 2, r.top + 2, wi->data, 0x84); DrawStringCenteredTruncated(r.left + 2, r.right - 2, r.top + 2, wi->data, 0x84);
draw_default:; draw_default:;
if (IsWindowWidgetDisabled(w, i)) { if (w->IsWidgetDisabled(i)) {
GfxFillRect(r.left + 1, r.top + 1, r.right - 1, r.bottom - 1, _colour_gradient[wi->color & 0xF][2] | (1 << PALETTE_MODIFIER_GREYOUT)); GfxFillRect(r.left + 1, r.top + 1, r.right - 1, r.bottom - 1, _colour_gradient[wi->color & 0xF][2] | (1 << PALETTE_MODIFIER_GREYOUT));
} }
} }
@ -602,7 +602,7 @@ static void DropdownMenuWndProc(Window *w, WindowEvent *e)
case WE_DESTROY: { case WE_DESTROY: {
Window *w2 = FindWindowById(WP(w,dropdown_d).parent_wnd_class, WP(w,dropdown_d).parent_wnd_num); Window *w2 = FindWindowById(WP(w,dropdown_d).parent_wnd_class, WP(w,dropdown_d).parent_wnd_num);
if (w2 != NULL) { if (w2 != NULL) {
RaiseWindowWidget(w2, WP(w,dropdown_d).parent_button); w2->RaiseWidget(WP(w,dropdown_d).parent_button);
InvalidateWidget(w2, WP(w,dropdown_d).parent_button); InvalidateWidget(w2, WP(w,dropdown_d).parent_button);
} }
} break; } break;
@ -615,7 +615,7 @@ void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int butt
const Widget *wi; const Widget *wi;
Window *w2; Window *w2;
const Window *w3; const Window *w3;
bool is_dropdown_menu_shown = IsWindowWidgetLowered(w, button); bool is_dropdown_menu_shown = w->IsWidgetLowered(button);
int top, height; int top, height;
int screen_top, screen_bottom; int screen_top, screen_bottom;
bool scroll = false; bool scroll = false;
@ -624,7 +624,7 @@ void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int butt
if (is_dropdown_menu_shown) return; if (is_dropdown_menu_shown) return;
LowerWindowWidget(w, button); w->LowerWidget(button);
InvalidateWidget(w, button); InvalidateWidget(w, button);
@ -678,7 +678,7 @@ void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int butt
w2->widget[0].right = wi->right - wi[-1].left; w2->widget[0].right = wi->right - wi[-1].left;
w2->widget[0].bottom = height - 1; w2->widget[0].bottom = height - 1;
SetWindowWidgetHiddenState(w2, 1, !scroll); w2->SetWidgetHiddenState(1, !scroll);
if (scroll) { if (scroll) {
/* We're scrolling, so enable the scroll bar and shrink the list by /* We're scrolling, so enable the scroll bar and shrink the list by

View File

@ -33,7 +33,7 @@ void CDECL SetWindowWidgetsDisabledState(Window *w, bool disab_stat, int widgets
va_start(wdg_list, widgets); va_start(wdg_list, widgets);
while (widgets != WIDGET_LIST_END) { while (widgets != WIDGET_LIST_END) {
SetWindowWidgetDisabledState(w, widgets, disab_stat); w->SetWidgetDisabledState(widgets, disab_stat);
widgets = va_arg(wdg_list, int); widgets = va_arg(wdg_list, int);
} }
@ -47,7 +47,7 @@ void CDECL SetWindowWidgetsHiddenState(Window *w, bool hidden_stat, int widgets,
va_start(wdg_list, widgets); va_start(wdg_list, widgets);
while (widgets != WIDGET_LIST_END) { while (widgets != WIDGET_LIST_END) {
SetWindowWidgetHiddenState(w, widgets, hidden_stat); w->SetWidgetHiddenState(widgets, hidden_stat);
widgets = va_arg(wdg_list, int); widgets = va_arg(wdg_list, int);
} }
@ -61,7 +61,7 @@ void CDECL SetWindowWidgetsLoweredState(Window *w, bool lowered_stat, int widget
va_start(wdg_list, widgets); va_start(wdg_list, widgets);
while (widgets != WIDGET_LIST_END) { while (widgets != WIDGET_LIST_END) {
SetWindowWidgetLoweredState(w, widgets, lowered_stat); w->SetWidgetLoweredState(widgets, lowered_stat);
widgets = va_arg(wdg_list, int); widgets = va_arg(wdg_list, int);
} }
@ -73,8 +73,8 @@ void RaiseWindowButtons(Window *w)
uint i; uint i;
for (i = 0; i < w->widget_count; i++) { for (i = 0; i < w->widget_count; i++) {
if (IsWindowWidgetLowered(w, i)) { if (w->IsWidgetLowered(i)) {
RaiseWindowWidget(w, i); w->RaiseWidget(i);
InvalidateWidget(w, i); InvalidateWidget(w, i);
} }
} }
@ -146,7 +146,7 @@ void Window::InvalidateWidget(byte widget_index)
void HandleButtonClick(Window *w, byte widget) void HandleButtonClick(Window *w, byte widget)
{ {
LowerWindowWidget(w, widget); w->LowerWidget(widget);
w->flags4 |= 5 << WF_TIMEOUT_SHL; w->flags4 |= 5 << WF_TIMEOUT_SHL;
InvalidateWidget(w, widget); InvalidateWidget(w, widget);
} }
@ -169,7 +169,7 @@ static void DispatchLeftClickEvent(Window *w, int x, int y, bool double_click)
if (e.we.click.widget < 0) return; // exit if clicked outside of widgets if (e.we.click.widget < 0) return; // exit if clicked outside of widgets
/* don't allow any interaction if the button has been disabled */ /* don't allow any interaction if the button has been disabled */
if (IsWindowWidgetDisabled(w, e.we.click.widget)) return; if (w->IsWidgetDisabled(e.we.click.widget)) return;
wi = &w->widget[e.we.click.widget]; wi = &w->widget[e.we.click.widget];
@ -1994,7 +1994,7 @@ void InvalidateWidget(const Window *w, byte widget_index)
const Widget *wi = &w->widget[widget_index]; const Widget *wi = &w->widget[widget_index];
/* Don't redraw the window if the widget is invisible or of no-type */ /* Don't redraw the window if the widget is invisible or of no-type */
if (wi->type == WWT_EMPTY || IsWindowWidgetHidden(w, widget_index)) return; if (wi->type == WWT_EMPTY || w->IsWidgetHidden(widget_index)) return;
SetDirtyBlocks(w->left + wi->left, w->top + wi->top, w->left + wi->right + 1, w->top + wi->bottom + 1); SetDirtyBlocks(w->left + wi->left, w->top + wi->top, w->left + wi->right + 1, w->top + wi->bottom + 1);
} }