154 switch (e->event) { |
154 switch (e->event) { |
155 case WE_PAINT: { |
155 case WE_PAINT: { |
156 PlayerID player = (PlayerID)w->window_number; |
156 PlayerID player = (PlayerID)w->window_number; |
157 const Player *p = GetPlayer(player); |
157 const Player *p = GetPlayer(player); |
158 |
158 |
|
159 /* Borrow/repay buttons only exist for local player */ |
159 if (player == _local_player) { |
160 if (player == _local_player) { |
160 /* borrow/repay buttons only exist for local player */ |
161 /* Borrow button only shows when there is any more money to loan */ |
|
162 SetWindowWidgetDisabledState(w, 6, p->current_loan == _economy.max_loan); |
|
163 |
|
164 /* Repay button only shows when there is any more money to repay */ |
161 SetWindowWidgetDisabledState(w, 7, p->current_loan == 0); |
165 SetWindowWidgetDisabledState(w, 7, p->current_loan == 0); |
162 } |
166 } |
163 |
167 |
164 SetDParam(0, p->name_1); |
168 SetDParam(0, p->name_1); |
165 SetDParam(1, p->name_2); |
169 SetDParam(1, p->name_2); |
166 SetDParam(2, GetPlayerNameString(player, 3)); |
170 SetDParam(2, GetPlayerNameString(player, 3)); |
167 SetDParam(4, 10000); |
171 SetDParam(4, LOAN_INTERVAL); |
168 DrawWindowWidgets(w); |
172 DrawWindowWidgets(w); |
169 |
173 |
170 DrawPlayerEconomyStats(p, (byte)WP(w, def_d).data_1); |
174 DrawPlayerEconomyStats(p, (byte)WP(w, def_d).data_1); |
171 } break; |
175 } break; |
172 |
176 |
323 static void SelectPlayerLiveryWndProc(Window *w, WindowEvent *e) |
327 static void SelectPlayerLiveryWndProc(Window *w, WindowEvent *e) |
324 { |
328 { |
325 switch (e->event) { |
329 switch (e->event) { |
326 case WE_CREATE: |
330 case WE_CREATE: |
327 LowerWindowWidget(w, WP(w, livery_d).livery_class + 2); |
331 LowerWindowWidget(w, WP(w, livery_d).livery_class + 2); |
328 if (!HASBIT(_loaded_newgrf_features, GRFLOADED_2CC)) { |
332 if (!_loaded_newgrf_features.has_2CC) { |
329 HideWindowWidget(w, 11); |
333 HideWindowWidget(w, 11); |
330 HideWindowWidget(w, 12); |
334 HideWindowWidget(w, 12); |
331 } |
335 } |
332 break; |
336 break; |
333 |
337 |
365 DrawString(15, y, STR_LIVERY_DEFAULT + scheme, sel ? 0xC : 0x10); |
369 DrawString(15, y, STR_LIVERY_DEFAULT + scheme, sel ? 0xC : 0x10); |
366 |
370 |
367 DrawSprite(SPR_SQUARE, GENERAL_SPRITE_COLOR(p->livery[scheme].colour1), 152, y); |
371 DrawSprite(SPR_SQUARE, GENERAL_SPRITE_COLOR(p->livery[scheme].colour1), 152, y); |
368 DrawString(165, y, STR_00D1_DARK_BLUE + p->livery[scheme].colour1, sel ? 0xC : 2); |
372 DrawString(165, y, STR_00D1_DARK_BLUE + p->livery[scheme].colour1, sel ? 0xC : 2); |
369 |
373 |
370 if (HASBIT(_loaded_newgrf_features, GRFLOADED_2CC)) { |
374 if (_loaded_newgrf_features.has_2CC) { |
371 DrawSprite(SPR_SQUARE, GENERAL_SPRITE_COLOR(p->livery[scheme].colour2), 277, y); |
375 DrawSprite(SPR_SQUARE, GENERAL_SPRITE_COLOR(p->livery[scheme].colour2), 277, y); |
372 DrawString(290, y, STR_00D1_DARK_BLUE + p->livery[scheme].colour2, sel ? 0xC : 2); |
376 DrawString(290, y, STR_00D1_DARK_BLUE + p->livery[scheme].colour2, sel ? 0xC : 2); |
373 } |
377 } |
374 |
378 |
375 y += 14; |
379 y += 14; |
793 } |
797 } |
794 break; |
798 break; |
795 } |
799 } |
796 |
800 |
797 case PCW_WIDGET_COLOR_SCHEME: { |
801 case PCW_WIDGET_COLOR_SCHEME: { |
798 Window *wf = AllocateWindowDescFront(HASBIT(_loaded_newgrf_features, GRFLOADED_2CC) ? &_select_player_livery_2cc_desc : &_select_player_livery_desc, w->window_number); |
802 Window *wf = AllocateWindowDescFront(_loaded_newgrf_features.has_2CC ? &_select_player_livery_2cc_desc : &_select_player_livery_desc, w->window_number); |
799 if (wf != NULL) { |
803 if (wf != NULL) { |
800 wf->caption_color = wf->window_number; |
804 wf->caption_color = wf->window_number; |
801 WP(wf, livery_d).livery_class = LC_OTHER; |
805 WP(wf, livery_d).livery_class = LC_OTHER; |
802 WP(wf, livery_d).sel = 1; |
806 WP(wf, livery_d).sel = 1; |
803 LowerWindowWidget(wf, 2); |
807 LowerWindowWidget(wf, 2); |