diff --git a/REDALERT/SIDEBAR.CPP b/REDALERT/SIDEBAR.CPP index 92faaba..edd540a 100644 --- a/REDALERT/SIDEBAR.CPP +++ b/REDALERT/SIDEBAR.CPP @@ -76,6 +76,8 @@ #include "function.h" +//#undef RESFACTOR +//#define RESFACTOR 1 void * SidebarClass::SidebarShape = NULL; void * SidebarClass::SidebarMiddleShape = NULL; @@ -204,7 +206,7 @@ void SidebarClass::One_Time(void) ** code so that as the sidebar buildable buttons scroll, they get properly ** clipped at the top and bottom edges. */ - WindowList[WINDOW_SIDEBAR][WINDOWX] = ScreenWidth - (SIDE_X + 8); + WindowList[WINDOW_SIDEBAR][WINDOWX] = (SIDE_X + 8); WindowList[WINDOW_SIDEBAR][WINDOWY] = SIDE_Y + 1 + TOP_HEIGHT; WindowList[WINDOW_SIDEBAR][WINDOWWIDTH] = SIDE_WIDTH; WindowList[WINDOW_SIDEBAR][WINDOWHEIGHT] = StripClass::MAX_VISIBLE * StripClass::OBJECT_HEIGHT; @@ -217,10 +219,16 @@ void SidebarClass::One_Time(void) new (&Column[0]) StripClass(InitClass()); new (&Column[1]) StripClass(InitClass()); - Column[0].X = ScreenWidth - (640 - (COLUMN_ONE_X * RESFACTOR)); - Column[0].Y = (COLUMN_ONE_Y * RESFACTOR); - Column[1].X = ScreenWidth - (640 - (COLUMN_TWO_X * RESFACTOR)); - Column[1].Y = (COLUMN_TWO_Y * RESFACTOR); + int column_one_x = (COLUMN_ONE_X * RESFACTOR); + int column_one_y = (COLUMN_ONE_Y * RESFACTOR); + + int column_two_x = (COLUMN_TWO_X * RESFACTOR); + int column_two_y = (COLUMN_TWO_Y * RESFACTOR); + + Column[0].X = column_one_x; + Column[0].Y = column_one_y; + Column[1].X = column_two_x; + Column[1].Y = column_two_y; /* ** This sets up the clipping window. This window is used by the shape drawing @@ -1845,7 +1853,7 @@ void SidebarClass::StripClass::Draw_It(bool complete) CC_Draw_Shape(ClockShapes, 0, x-(WindowList[WINDOW_SIDEBAR][WINDOWX])+(LEFT_EDGE_OFFSET * RESFACTOR), y-WindowList[WINDOW_SIDEBAR][WINDOWY], - WINDOW_SIDEBAR, + WINDOW_SIDEBAR, SHAPE_NORMAL|SHAPE_WIN_REL|SHAPE_GHOST, NULL, ClockTranslucentTable); } diff --git a/REDALERT/SIDEBAR.H b/REDALERT/SIDEBAR.H index 2325410..7712bc3 100644 --- a/REDALERT/SIDEBAR.H +++ b/REDALERT/SIDEBAR.H @@ -41,6 +41,27 @@ class InitClass {}; +extern int ScreenWidth; +#define BUTTON_ACTIVATOR 100 // Button ID for the activator. +#define SIDE_X ((ScreenWidth / 2) - 80) // The X position of sidebar upper left corner. +#define SIDE_Y (7 + 70) // The Y position of sidebar upper left corner. +#define SIDE_WIDTH SIDEBAR_WID // Width of the entire sidebar (in pixels). +#define SIDE_HEIGHT (200 - (7 + 70) ) // Height of the entire sidebar (in pixels). +#define TOP_HEIGHT 13 // Height of top section (with repair/sell buttons). +#define COLUMN_ONE_X (int)((SIDE_X) + 8) // Sidestrip upper left coordinates... +#define COLUMN_ONE_Y (int)(SIDE_Y + (TOP_HEIGHT)) +#define COLUMN_TWO_X (int)((SIDE_X) + 8 + ((80 - 16) / 2) + 3) +#define COLUMN_TWO_Y (int)(7 + 70 + 13) +#define BUTTON_ONE_WIDTH 32 // Button width. +#define BUTTON_TWO_WIDTH 20 // Button width. +#define BUTTON_THREE_WIDTH 20 // Button width. +#define BUTTON_HEIGHT 9 // Button height. +#define BUTTON_ONE_X (int)(SIDE_X + 2) // Left button X coordinate. +#define BUTTON_ONE_Y (int)(SIDE_Y + 2) // Left button Y coordinate. +#define BUTTON_TWO_X (int)(SIDE_X + 36) // Right button X coordinate. +#define BUTTON_TWO_Y (int)(SIDE_Y + 2) // Right button Y coordinate. +#define BUTTON_THREE_X (int)(SIDE_X + 58) // Right button X coordinate. +#define BUTTON_THREE_Y (int)(SIDE_Y + 2) // Right button Y coordinate. class SidebarClass: public PowerClass { public: @@ -49,16 +70,7 @@ class SidebarClass: public PowerClass ** as enumerations since C++ cannot use "const" in this context. */ enum SideBarClassEnums { - BUTTON_ACTIVATOR = 100, // Button ID for the activator. - SIDE_X = 320 - 80, // The X position of sidebar upper left corner. - SIDE_Y = 7 + 70, // The Y position of sidebar upper left corner. - SIDE_WIDTH = SIDEBAR_WID, // Width of the entire sidebar (in pixels). - SIDE_HEIGHT = 200 - (7 + 70), // Height of the entire sidebar (in pixels). - TOP_HEIGHT = 13, // Height of top section (with repair/sell buttons). - COLUMN_ONE_X = (320 - 80) + 8, // Sidestrip upper left coordinates... - COLUMN_ONE_Y = int(SIDE_Y) + int(TOP_HEIGHT), - COLUMN_TWO_X = (320 - 80) + 8 + ((80 - 16) / 2) + 3, - COLUMN_TWO_Y = 7 + 70 + 13, + //BGA: changes to all buttons #ifdef GERMAN @@ -88,16 +100,7 @@ class SidebarClass: public PowerClass #endif #ifdef ENGLISH - BUTTON_ONE_WIDTH=32, // Button width. - BUTTON_TWO_WIDTH=20, // Button width. - BUTTON_THREE_WIDTH=20, // Button width. - BUTTON_HEIGHT=9, // Button height. - BUTTON_ONE_X=(int)SIDE_X+2, // Left button X coordinate. - BUTTON_ONE_Y=(int)SIDE_Y+2, // Left button Y coordinate. - BUTTON_TWO_X=(int)SIDE_X+36, // Right button X coordinate. - BUTTON_TWO_Y=(int)SIDE_Y+2, // Right button Y coordinate. - BUTTON_THREE_X=(int)SIDE_X+58, // Right button X coordinate. - BUTTON_THREE_Y=(int)SIDE_Y+2, // Right button Y coordinate. + #endif COLUMNS=2 // Number of side strips on sidebar.