Save text box centering state
This is another piece of state that needs to be kept and re-played when switching language, because a different language could change the dimensions of the text box, which affects how it's centered. Also, to make sure that crewmate positions override any text centering, the scriptclass variables textx and texty should be reset in the position and customposition commands.
This commit is contained in:
parent
90d5033e14
commit
6fdb4e995e
|
@ -3191,7 +3191,7 @@ void Graphics::textboxcenterx(void)
|
|||
return;
|
||||
}
|
||||
|
||||
textboxes[m].centerx();
|
||||
textboxes[m].should_centerx = true;
|
||||
}
|
||||
|
||||
int Graphics::textboxwidth(void)
|
||||
|
@ -3224,7 +3224,7 @@ void Graphics::textboxcentery(void)
|
|||
return;
|
||||
}
|
||||
|
||||
textboxes[m].centery();
|
||||
textboxes[m].should_centery = true;
|
||||
}
|
||||
|
||||
int Graphics::textboxwrap(int pad)
|
||||
|
|
|
@ -569,6 +569,8 @@ void scriptclass::run(void)
|
|||
textcrewmateposition.text_above = true;
|
||||
}
|
||||
|
||||
textx = 0;
|
||||
texty = 0;
|
||||
textcrewmateposition.x = obj.entities[i].xp;
|
||||
textcrewmateposition.override_x = true;
|
||||
textcrewmateposition.y = obj.entities[i].yp;
|
||||
|
@ -653,6 +655,8 @@ void scriptclass::run(void)
|
|||
textcrewmateposition.text_above = true;
|
||||
}
|
||||
|
||||
textx = 0;
|
||||
texty = 0;
|
||||
textcrewmateposition.x = obj.entities[i].xp;
|
||||
textcrewmateposition.override_x = true;
|
||||
textcrewmateposition.y = obj.entities[i].xp;
|
||||
|
|
|
@ -28,6 +28,9 @@ textboxclass::textboxclass(int gap)
|
|||
|
||||
large = false;
|
||||
|
||||
should_centerx = false;
|
||||
should_centery = false;
|
||||
|
||||
print_flags = PR_FONT_LEVEL;
|
||||
fill_buttons = false;
|
||||
|
||||
|
@ -72,6 +75,14 @@ void textboxclass::adjust(void)
|
|||
{
|
||||
resize();
|
||||
repositionfromcrewmate();
|
||||
if (should_centerx)
|
||||
{
|
||||
centerx();
|
||||
}
|
||||
if (should_centery)
|
||||
{
|
||||
centery();
|
||||
}
|
||||
if (xp < 10) xp = 10;
|
||||
if (yp < 10) yp = 10;
|
||||
if (xp + w > 310) xp = 310 - w;
|
||||
|
|
|
@ -94,6 +94,9 @@ public:
|
|||
|
||||
bool large;
|
||||
|
||||
bool should_centerx;
|
||||
bool should_centery;
|
||||
|
||||
uint32_t print_flags;
|
||||
bool fill_buttons;
|
||||
|
||||
|
|
Loading…
Reference in New Issue