diff --git a/REDALERT/DISPLAY.CPP b/REDALERT/DISPLAY.CPP index 6b7dadf..eeece61 100644 --- a/REDALERT/DISPLAY.CPP +++ b/REDALERT/DISPLAY.CPP @@ -571,14 +571,14 @@ void DisplayClass::Set_View_Dimensions(int x, int y, int width, int height) // ST - 3/1/2019 12:05PM // Made the below code more consistent with the width calculation. This is needed if we aren't going to draw the tabs at the top of the screen // - if (height == -1) { - TacLeptonHeight = Pixel_To_Lepton(SeenBuff.Get_Height() - y); - //height = (SeenBuff.Get_Height()-y) / CELL_PIXEL_H; - } - else { - TacLeptonHeight = height * CELL_LEPTON_H; - } - //TacLeptonHeight = height * CELL_LEPTON_H; + //if (height == -1) { + // TacLeptonHeight = Pixel_To_Lepton(SeenBuff.Get_Height() - y); + // //height = (SeenBuff.Get_Height()-y) / CELL_PIXEL_H; + //} + //else { + // TacLeptonHeight = height * CELL_LEPTON_H; + //} + TacLeptonHeight = height * CELL_LEPTON_H; /* ** Adjust the tactical cell if it is now in an invalid position @@ -3096,13 +3096,17 @@ int DisplayClass::TacticalClass::Action(unsigned flags, KeyNumType & key) ** or release event, special mouse queuing storage variables are used. Other ** events must use the current mouse position globals. */ - if (flags & (LEFTPRESS|LEFTRELEASE|RIGHTPRESS|RIGHTRELEASE)) { - x = Keyboard->MouseQX; - y = Keyboard->MouseQY; - } else { - x = Get_Mouse_X(); - y = Get_Mouse_Y(); - } +// jmarshall + //if (flags & (LEFTPRESS|LEFTRELEASE|RIGHTPRESS|RIGHTRELEASE)) { + // x = Keyboard->MouseQX; + // y = Keyboard->MouseQY; + //} else { + // x = Get_Mouse_X(); + // y = Get_Mouse_Y(); + //} + x = Get_Mouse_X(); + y = Get_Mouse_Y(); +// jmarshall end bool edge = (y == 0 || x == 0 || x == SeenBuff.Get_Width()-1 || y == SeenBuff.Get_Height()-1); COORDINATE coord = Map.Pixel_To_Coord(x, y); CELL cell = Coord_Cell(coord); @@ -3296,7 +3300,7 @@ int DisplayClass::TacticalClass::Action(unsigned flags, KeyNumType & key) } } - return(GadgetClass::Action(0, key)); + return true; //(GadgetClass::Action(0, key)); } diff --git a/REDALERT/SCORE.CPP b/REDALERT/SCORE.CPP index 4314a19..385970f 100644 --- a/REDALERT/SCORE.CPP +++ b/REDALERT/SCORE.CPP @@ -355,7 +355,6 @@ static unsigned char const _redpal[]={0xD0,0xD1,0xD7,0xD3,0xD9,0xD5,0xDA,0xD7, static unsigned char const _yellowpal[]={0x0,0x0,0xEC,0x0,0xEB,0x0,0xEA,0x0,0xE9,0x0,0x0,0x0,0x0,0x0,0xED,0x0}; void ScoreClass::Presentation(void) { -#if (0)//PG #ifdef WIN32 // if (Keyboard != NULL) return; #endif @@ -446,8 +445,8 @@ void ScoreClass::Presentation(void) /* --- Now display the background animation --- */ Hide_Mouse(); #ifdef WIN32 - Load_Title_Screen(ScreenNames[house], &HidPage, ScorePalette); - Increase_Palette_Luminance (ScorePalette , 30, 30, 30, 63); + Load_Title_Screen(ScreenNames[house], &HidPage, (unsigned char *)ScorePalette.Get_Data()); + Increase_Palette_Luminance ((unsigned char*)ScorePalette.Get_Data(), 30, 30, 30, 63); HidPage.Blit(SeenPage); HidPage.Blit(*PseudoSeenBuff); #else @@ -622,7 +621,7 @@ Keyboard->Clear(); Call_Back_Delay(60); //BG } - if (house) Show_Credits(house, _greenpal); + if (house) Show_Credits(house, (const char *)&_greenpal[0]); /*BG if (!Keyboard->Check()) */ Call_Back_Delay(60); @@ -713,7 +712,7 @@ Keyboard->Clear(); Keyboard->Clear(); - if (!house) Show_Credits(house, _greenpal); + if (!house) Show_Credits(house, (const char*)&_greenpal[0]); /* ** Hall of fame display and processing */ @@ -778,9 +777,9 @@ Keyboard->Clear(); #ifdef WIN32 char maststr[NUMFAMENAMES*32]; #endif - char const *pal; + const char *pal; for (i = 0; i < NUMFAMENAMES; i++) { - pal = hallfame[i].side ? _redpal : _bluepal; + pal = (const char* )(hallfame[i].side ? _redpal : _bluepal); Alloc_Object(new ScorePrintClass(hallfame[i].name, HALLFAME_X, HALLFAME_Y + (i*8), pal)); if (hallfame[i].score) { #ifdef WIN32 @@ -811,7 +810,7 @@ Keyboard->Clear(); Keyboard->Clear(); if (index < NUMFAMENAMES) { - pal = hallfame[index].side ? _redpal : _bluepal; + pal = (const char *)(hallfame[index].side ? _redpal : _bluepal); Input_Name(hallfame[index].name, HALLFAME_X, HALLFAME_Y + (index*8), pal); file.Open(WRITE); @@ -866,7 +865,6 @@ Keyboard->Clear(); Enable_Uncompressed_Shapes(); #endif //FIXIT -#endif #endif } diff --git a/REDALERT/STARTUP.CPP b/REDALERT/STARTUP.CPP index 59312fb..eb09dc0 100644 --- a/REDALERT/STARTUP.CPP +++ b/REDALERT/STARTUP.CPP @@ -622,8 +622,9 @@ int PASCAL WinMain ( HINSTANCE instance , HINSTANCE , char * command_line , int } } - ScreenHeight = 3072; - +// jmarshall + //ScreenHeight = 3072; +// jmarshall end if (VisiblePage.Get_Height() == 480) { SeenBuff.Attach(&VisiblePage, 0, 40, 3072, 3072); HidPage.Attach(&HiddenPage, 0, 40, 3072, 3072); diff --git a/REDALERT/WIN32LIB/GBUFFER.H b/REDALERT/WIN32LIB/GBUFFER.H index d855612..f4a8961 100644 --- a/REDALERT/WIN32LIB/GBUFFER.H +++ b/REDALERT/WIN32LIB/GBUFFER.H @@ -1117,7 +1117,9 @@ inline void GraphicViewPortClass::Draw_Stamp(void const * icondata, int icon, in if (drewit == 0) { if (Lock()){ UnCachedIconsDrawn++; - Buffer_Draw_Stamp_Clip(this, icondata, icon, x_pixel, y_pixel, remap, WindowList[clip_window][WINDOWX], WindowList[clip_window][WINDOWY], WindowList[clip_window][WINDOWWIDTH], WindowList[clip_window][WINDOWHEIGHT]); + extern int ScreenHeight, ScreenWidth; + if(y_pixel < ScreenHeight && x_pixel < ScreenWidth) + Buffer_Draw_Stamp_Clip(this, icondata, icon, x_pixel, y_pixel, remap, WindowList[clip_window][WINDOWX], WindowList[clip_window][WINDOWY], WindowList[clip_window][WINDOWWIDTH], WindowList[clip_window][WINDOWHEIGHT]); } } Unlock();