# HG changeset patch # User tron # Date 1099952474 0 # Node ID 47cdc8ab9cf71c3d1098547d16e19bc9ce16d96d # Parent 959f425dc28243d17077e83e43d79ebbed2b3b76 (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). diff -r 959f425dc282 -r 47cdc8ab9cf7 main_gui.c --- a/main_gui.c Mon Nov 08 21:24:48 2004 +0000 +++ b/main_gui.c Mon Nov 08 22:21:14 2004 +0000 @@ -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 @@ 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 @@ 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 @@ { 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);