summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main_gui.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/main_gui.c b/main_gui.c
index 89ef09a59..3f927aa3a 100644
--- a/main_gui.c
+++ b/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);