mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r532) Disable date change buttons in scenario editor if date limit is reached.
Note: It's a /bit/ ugly, need to find a cleaner way While I'm here enlarge the start date window to 1920-2000 (was 1950-1975).
This commit is contained in:
parent
b78bbf80bf
commit
603618a75b
20
main_gui.c
20
main_gui.c
@ -16,6 +16,10 @@
|
||||
#include "table/animcursors.h"
|
||||
|
||||
|
||||
/* Min/Max date for scenario editor */
|
||||
static const uint MinDate = 0; // 1920-01-01
|
||||
static const uint MaxDate = 29220; // 2000-01-01
|
||||
|
||||
extern void DoTestSave();
|
||||
extern void DoTestLoad();
|
||||
|
||||
@ -859,9 +863,8 @@ static void ToolbarScenDateBackward(Window *w)
|
||||
HandleButtonClick(w, 6);
|
||||
InvalidateWidget(w, 5);
|
||||
|
||||
if (_date > 0x2ACE) {
|
||||
if (_date > MinDate)
|
||||
SetDate(ConvertYMDToDay(_cur_year - 1, 0, 1));
|
||||
}
|
||||
}
|
||||
_left_button_clicked = false;
|
||||
}
|
||||
@ -873,9 +876,8 @@ static void ToolbarScenDateForward(Window *w)
|
||||
HandleButtonClick(w, 7);
|
||||
InvalidateWidget(w, 5);
|
||||
|
||||
if (_date < 0x4E79) {
|
||||
if (_date < MaxDate)
|
||||
SetDate(ConvertYMDToDay(_cur_year + 1, 0, 1));
|
||||
}
|
||||
}
|
||||
_left_button_clicked = false;
|
||||
}
|
||||
@ -1864,6 +1866,16 @@ static void ScenEditToolbarWndProc(Window *w, WindowEvent *e)
|
||||
{
|
||||
switch(e->event) {
|
||||
case WE_PAINT:
|
||||
/* XXX look for better place for these */
|
||||
if (_date <= MinDate)
|
||||
SETBIT(w->disabled_state, 6);
|
||||
else
|
||||
CLRBIT(w->disabled_state, 6);
|
||||
if (_date >= MaxDate)
|
||||
SETBIT(w->disabled_state, 7);
|
||||
else
|
||||
CLRBIT(w->disabled_state, 7);
|
||||
|
||||
// Draw brown-red toolbar bg.
|
||||
GfxFillRect(0, 0, w->width-1, w->height-1, 0xB2);
|
||||
GfxFillRect(0, 0, w->width-1, w->height-1, 0x80B4);
|
||||
|
Loading…
Reference in New Issue
Block a user