fix empty signs being created when shifting them out of bounds, draw parts of images when it goes partway off the top of the screen.
This commit is contained in:
parent
c66d4c72f5
commit
e6f6eedd13
@ -362,6 +362,12 @@ void PIXELMETHODS_CLASS::draw_image(pixel *img, int x, int y, int w, int h, int
|
||||
int i, j, r, g, b;
|
||||
if (!img) return;
|
||||
if(y + h > VIDYRES) h = ((VIDYRES)-y)-1; //Adjust height to prevent drawing off the bottom
|
||||
if (y < 0 && -y < h)
|
||||
{
|
||||
img += -y*w;
|
||||
h += y;
|
||||
y = 0;
|
||||
}
|
||||
if(!h || y < 0) return;
|
||||
if(a >= 255)
|
||||
for (j=0; j<h; j++)
|
||||
|
@ -101,6 +101,7 @@ void PreviewModel::UpdateSave(int saveID, int saveDate)
|
||||
for(int i = 0; i < saveComments->size(); i++)
|
||||
delete saveComments->at(i);
|
||||
saveComments->clear();
|
||||
delete saveComments;
|
||||
saveComments = NULL;
|
||||
}
|
||||
notifySaveChanged();
|
||||
@ -166,6 +167,7 @@ void PreviewModel::UpdateComments(int pageNumber)
|
||||
{
|
||||
for(int i = 0; i < saveComments->size(); i++)
|
||||
delete saveComments->at(i);
|
||||
saveComments->clear();
|
||||
delete saveComments;
|
||||
saveComments = NULL;
|
||||
}
|
||||
@ -314,6 +316,7 @@ PreviewModel::~PreviewModel() {
|
||||
for(int i = 0; i < saveComments->size(); i++)
|
||||
delete saveComments->at(i);
|
||||
saveComments->clear();
|
||||
delete saveComments;
|
||||
}
|
||||
saveDataBuffer.clear();
|
||||
}
|
||||
|
@ -146,10 +146,13 @@ int Simulation::Load(int fullX, int fullY, GameSave * save)
|
||||
Element_PPIP::ppip_changed = 1;
|
||||
for(int i = 0; i < save->signs.size() && signs.size() < MAXSIGNS; i++)
|
||||
{
|
||||
sign tempSign = save->signs[i];
|
||||
tempSign.x += fullX;
|
||||
tempSign.y += fullY;
|
||||
signs.push_back(tempSign);
|
||||
if (save->signs[i].text[0])
|
||||
{
|
||||
sign tempSign = save->signs[i];
|
||||
tempSign.x += fullX;
|
||||
tempSign.y += fullY;
|
||||
signs.push_back(tempSign);
|
||||
}
|
||||
}
|
||||
for(int saveBlockX = 0; saveBlockX < save->blockWidth; saveBlockX++)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user