|
@@ -367,9 +367,10 @@ protected:
|
|
|
* @param width Width of the region available for drawing.
|
|
|
* @param line_height Height of one line of text.
|
|
|
* @param action_sprite The sprite to draw.
|
|
|
* @param string_id The string id to draw.
|
|
|
* @return the number of lines.
|
|
|
*/
|
|
|
void DrawActionElement(int &y_offset, int width, int line_height, SpriteID action_sprite) const
|
|
|
void DrawActionElement(int &y_offset, int width, int line_height, SpriteID action_sprite, StringID string_id = STR_JUST_RAW_STRING) const
|
|
|
{
|
|
|
Dimension sprite_dim = GetSpriteSize(action_sprite);
|
|
|
uint element_height = max(sprite_dim.height, (uint)line_height);
|
|
@@ -378,7 +379,7 @@ protected:
|
|
|
uint text_top = y_offset + (element_height - line_height) / 2;
|
|
|
|
|
|
DrawSprite(action_sprite, PAL_NONE, 0, sprite_top);
|
|
|
DrawString(sprite_dim.width + WD_FRAMETEXT_LEFT, width, text_top, STR_JUST_RAW_STRING, TC_BLACK);
|
|
|
DrawString(sprite_dim.width + WD_FRAMETEXT_LEFT, width, text_top, string_id, TC_BLACK);
|
|
|
|
|
|
y_offset += element_height;
|
|
|
}
|
|
@@ -523,12 +524,9 @@ public:
|
|
|
|
|
|
case SPET_GOAL: {
|
|
|
Goal *g = Goal::Get((GoalID) pe->referenced_id);
|
|
|
if (g != NULL) {
|
|
|
SetDParamStr(0, g->text);
|
|
|
DrawActionElement(y_offset, right - x, line_height, GetPageElementSprite(*pe));
|
|
|
} else {
|
|
|
y_offset += line_height;
|
|
|
}
|
|
|
StringID string_id = g == NULL ? STR_STORY_BOOK_INVALID_GOAL_REF : STR_JUST_RAW_STRING;
|
|
|
if (g != NULL) SetDParamStr(0, g->text);
|
|
|
DrawActionElement(y_offset, right - x, line_height, GetPageElementSprite(*pe), string_id);
|
|
|
break;
|
|
|
}
|
|
|
|