mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-29 09:28:15 +03:00
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:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user