(svn r14030) -Fix (r14027): true != false, also rename the parameter to make 'true' and 'false' more intuitively useable.
--- a/src/gfx.cpp Sat Aug 09 03:30:15 2008 +0000
+++ b/src/gfx.cpp Sat Aug 09 11:04:42 2008 +0000
@@ -677,7 +677,7 @@
src = buffer;
for (;;) {
- DoDrawString(src, x, y, 0xFE, false);
+ DoDrawString(src, x, y, 0xFE, true);
_cur_fontsize = _last_fontsize;
for (;;) {
@@ -770,14 +770,16 @@
* @param y Offset from top side of the screen, if negative offset from the bottom
* @param real_colour Colour of the string, see _string_colormap in
* table/palettes.h or docs/ottd-colourtext-palette.png or the enum TextColour in gfx_type.h
- * @param multiline_skipping By default, always test the available space where to draw the string.
- When in multipline drawing, it would already be done,
- so no need to re-perform the same kind (more or less) of verifications.
- It's not only an optimisation, it's also a way to ensures the string will be parsed
+ * @param parse_string_also_when_clipped
+ * By default, always test the available space where to draw the string.
+ * When in multipline drawing, it would already be done,
+ * so no need to re-perform the same kind (more or less) of verifications.
+ * It's not only an optimisation, it's also a way to ensures the string will be parsed
+ * (as there are certain side effects on global variables, which are important for the next line)
* @return the x-coordinates where the drawing has finished.
* If nothing is drawn, the originally passed x-coordinate is returned
*/
-int DoDrawString(const char *string, int x, int y, uint16 real_colour, bool multiline_skipping)
+int DoDrawString(const char *string, int x, int y, uint16 real_colour, bool parse_string_also_when_clipped)
{
DrawPixelInfo *dpi = _cur_dpi;
FontSize size = _cur_fontsize;
@@ -787,7 +789,7 @@
byte colour = real_colour & 0xFF; // extract the 8 bits colour index that is required for the mapping
byte previous_colour = colour;
- if (!multiline_skipping) {
+ if (!parse_string_also_when_clipped) {
/* in "mode multiline", the available space have been verified. Not in regular one.
* So if the string cannot be drawn, return the original start to say so.*/
if (x >= dpi->left + dpi->width ||
--- a/src/gfx_func.h Sat Aug 09 03:30:15 2008 +0000
+++ b/src/gfx_func.h Sat Aug 09 11:04:42 2008 +0000
@@ -87,7 +87,7 @@
int DrawString(int x, int y, StringID str, uint16 color);
int DrawStringTruncated(int x, int y, StringID str, uint16 color, uint maxw);
-int DoDrawString(const char *string, int x, int y, uint16 real_colour, bool multiline_skipping = false);
+int DoDrawString(const char *string, int x, int y, uint16 real_colour, bool parse_string_also_when_clipped = false);
int DoDrawStringTruncated(const char *str, int x, int y, uint16 color, uint maxw);
void DrawStringCenterUnderline(int x, int y, StringID str, uint16 color);