merged syncpoint_gettext1_3 from trunk
This commit is contained in:
parent
205fd7eb12
commit
508df62a2b
17 changed files with 4134 additions and 3184 deletions
37
changelog
37
changelog
|
@ -1,19 +1,42 @@
|
|||
CVS HEAD:
|
||||
Version 0.7.11:
|
||||
* various help browser improvements
|
||||
* user interface improvements
|
||||
* improved clipboard functions and support for X11
|
||||
* scenario balancing for 'Heir to the Throne' campaign:
|
||||
* Scepter of Fire
|
||||
* A Choice Must Be Made
|
||||
* Elven Council
|
||||
* Home North Elves
|
||||
* Swamp of Dread
|
||||
* Valley of Statues
|
||||
* multiplayer improvements:
|
||||
* chat log
|
||||
* allowed spaces in usernames
|
||||
* new map: Battle for Weslin Bridge
|
||||
* new map: Forest of Fear
|
||||
* clipboard support for X11
|
||||
* new rightside panel
|
||||
* improved lite buttons
|
||||
* improved clipboard functions
|
||||
* various help browser improvements
|
||||
* new map: Castles
|
||||
* translation updates:
|
||||
* hungarian
|
||||
* made The Eastern Invasion campaign translatable
|
||||
* added icons for preferences and multiplayer dialogs
|
||||
* fixed crash when loading an empty map
|
||||
* fixed transition problems with forests
|
||||
* fixed missing multiplayer map: Castles
|
||||
* fixed wesnothd crashes
|
||||
* fixed underlining bug
|
||||
* fixed bugs where some objects were not working properly
|
||||
* fixed human village not fitting within the mask
|
||||
* fixed clashing msg ids
|
||||
* fixed isolated keeps having void graphics
|
||||
* fixed tile overlays not displaying in grey if the tile is out of range of the selected unit's movement
|
||||
* fixed bugs with roles not working properly
|
||||
* fixed coherence of usage for elves:
|
||||
* Archer, Marksman, Sharpshooter -> archer
|
||||
* Ranger, Avenger -> mixed fighter
|
||||
* Hero, Captain, Champion, Marshal -> fighter
|
||||
* non-editable multi-line textboxes can have areas of text highlighted (and thus copied and pasted)
|
||||
* support for defensive animations
|
||||
* tweaks to terrain graphic ordering
|
||||
* added engine support for max-level units advancing further
|
||||
* code refactoring
|
||||
|
||||
Version 0.7.10:
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#######################################################################
|
||||
|
||||
AC_PREREQ([2.57])
|
||||
AC_INIT([Battle for Wesnoth], [0.7.11-CVS], [davidnwhite@optusnet.com.au], [wesnoth])
|
||||
AC_INIT([Battle for Wesnoth], [0.7.12-CVS], [davidnwhite@optusnet.com.au], [wesnoth])
|
||||
|
||||
AC_REVISION([$Revision$])
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ id=era_default
|
|||
[/multiplayer_side]
|
||||
|
||||
[multiplayer_side]
|
||||
name=&drake-fighter.png,Drakes
|
||||
name=&drake-warrior.png,Drakes
|
||||
type=Drake Warrior
|
||||
recruit=Drake Fighter,Drake Slave,Drake Petit,Drake Burner,Drake Mage,Drake Clasher
|
||||
terrain_liked=hm
|
||||
|
@ -155,7 +155,7 @@ id=era_classic
|
|||
[/multiplayer_side]
|
||||
|
||||
[multiplayer_side]
|
||||
name=&drake-fighter.png,Drakes
|
||||
name=&drake-warrior.png,Drakes
|
||||
type=Drake Warrior
|
||||
recruit=Drake Fighter,Drake Slave,Drake Petit,Drake Burner,Drake Mage,Drake Clasher
|
||||
terrain_liked=hm
|
||||
|
@ -228,4 +228,15 @@ id=era_heroes
|
|||
recruitment_pattern=fighter,fighter,fighter,archer
|
||||
[/ai]
|
||||
[/multiplayer_side]
|
||||
|
||||
[multiplayer_side]
|
||||
name=&drake-warrior.png,Drakes
|
||||
type=Drake Warrior
|
||||
recruit=Drake Fighter,Drake Warrior,Drake Guard,Drake Slave,Drake Worker,Drake Petit,Drake Beak,Drake Burner,Fire Drake,Drake Mage,Drake Clasher,Drake Slasher
|
||||
terrain_liked=hm
|
||||
[ai]
|
||||
recruitment_pattern=fighter,fighter,archer,scout
|
||||
[/ai]
|
||||
[/multiplayer_side]
|
||||
|
||||
[/era]
|
||||
|
|
|
@ -109,6 +109,20 @@
|
|||
K
|
||||
#enddef
|
||||
|
||||
# Default keep floor. This is a kludgy hack.
|
||||
[terrain_graphics]
|
||||
[tile]
|
||||
x=0
|
||||
y=0
|
||||
type={KEEP_TILE}
|
||||
# not_flag=terrain-base
|
||||
# set_flag=terrain-base
|
||||
[image]
|
||||
z_index=-99
|
||||
name=dirt
|
||||
[/image]
|
||||
[/tile]
|
||||
[/terrain_graphics]
|
||||
# Castle floor tiles.
|
||||
{CASTLE_FLOOR C {KEEP_TILE} castle}
|
||||
{CASTLE_FLOOR n {KEEP_TILE} dirt}
|
||||
|
@ -116,6 +130,7 @@ K
|
|||
{BUILDING_FLAG {KEEP_TILE} tent keep-of-n} # Keeps flagged "keep-of-n" should have a tent
|
||||
|
||||
{CASTLE_AND_COMPOSED_KEEP C {KEEP_TILE} castle keep}
|
||||
#{CASTLE_AND_SIMPLE_KEEP C {KEEP_TILE} gravewall}
|
||||
{CASTLE_AND_SIMPLE_KEEP n {KEEP_TILE} encampment}
|
||||
|
||||
#{BUILDING_PROBABILITY n tent1 30}
|
||||
|
|
|
@ -64,6 +64,8 @@
|
|||
x=0
|
||||
y=0
|
||||
type={CASTLE}
|
||||
# not_flag=terrain-base
|
||||
# set_flag=terrain-base
|
||||
[image]
|
||||
z_index=-99
|
||||
name={IMAGE}
|
||||
|
@ -75,6 +77,8 @@
|
|||
x=0
|
||||
y=0
|
||||
type={KEEP}
|
||||
# not_flag=terrain-base
|
||||
# set_flag=terrain-base
|
||||
has_flag=keep-of-{CASTLE}
|
||||
[image]
|
||||
z_index=-99
|
||||
|
|
|
@ -177,14 +177,12 @@ height=600
|
|||
yanchor=fixed
|
||||
[/time_of_day]
|
||||
|
||||
[comment]
|
||||
[observers]
|
||||
font_size=12
|
||||
rect=156,4,172,20
|
||||
rect=1004,3,1020,19
|
||||
xanchor=proportional
|
||||
yanchor=fixed
|
||||
[/observers]
|
||||
[/comment]
|
||||
|
||||
#put the side playing indicator next to the turn indicator
|
||||
[side_playing]
|
||||
|
@ -252,7 +250,7 @@ height=600
|
|||
[/comment]
|
||||
[position]
|
||||
font_size=12
|
||||
rect=895,4,1020,20
|
||||
rect=855,4,1000,20
|
||||
xanchor=proportional
|
||||
yanchor=fixed
|
||||
[/position]
|
||||
|
@ -518,14 +516,12 @@ height=768
|
|||
yanchor=fixed
|
||||
[/time_of_day]
|
||||
|
||||
[comment]
|
||||
[observers]
|
||||
font_size=12
|
||||
rect=156,4,172,20
|
||||
rect=1004,3,1020,19
|
||||
xanchor=proportional
|
||||
yanchor=fixed
|
||||
[/observers]
|
||||
[/comment]
|
||||
|
||||
#put the side playing indicator next to the turn indicator
|
||||
[side_playing]
|
||||
|
@ -591,7 +587,7 @@ height=768
|
|||
[/terrain]
|
||||
[position]
|
||||
font_size=12
|
||||
rect=895,4,1020,20
|
||||
rect=895,4,1000,20
|
||||
xanchor=proportional
|
||||
yanchor=fixed
|
||||
[/position]
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -3,10 +3,11 @@ name=Drake Burner
|
|||
race=drake
|
||||
image=drake-burner.png
|
||||
image_defensive=drake-burner-defend.png
|
||||
image_moving=drake-burner-flying.png
|
||||
hitpoints=48
|
||||
movement_type=drakefly
|
||||
movement=5
|
||||
experience=56
|
||||
experience=54
|
||||
level=1
|
||||
alignment=neutral
|
||||
advanceto=Fire Drake
|
||||
|
|
|
@ -6,11 +6,10 @@ image_defensive=drake-clasher-defend.png
|
|||
hitpoints=45
|
||||
movement_type=drakefoot
|
||||
movement=6
|
||||
experience=45
|
||||
experience=46
|
||||
level=1
|
||||
alignment=neutral
|
||||
advanceto=null
|
||||
#advanceto=Drake Dualclash
|
||||
advanceto=Drake Slasher
|
||||
cost=19
|
||||
usage=fighter
|
||||
unit_description=""
|
||||
|
|
|
@ -3,10 +3,11 @@ name=Drake Fighter
|
|||
race=drake
|
||||
image=drake-fighter.png
|
||||
image_defensive=drake-fighter-defend.png
|
||||
image_moving=drake-fighter-flying.png
|
||||
hitpoints=45
|
||||
movement_type=drakefly
|
||||
movement=5
|
||||
experience=50
|
||||
experience=48
|
||||
level=1
|
||||
alignment=neutral
|
||||
advanceto=Drake Warrior,Drake Guard
|
||||
|
|
|
@ -3,6 +3,7 @@ name=Drake Warrior
|
|||
race=drake
|
||||
image=drake-warrior.png
|
||||
image_defensive=drake-warrior-defend.png
|
||||
image_moving=drake-warrior-flying.png
|
||||
hitpoints=50
|
||||
movement_type=drakefly
|
||||
movement=5
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
|
@ -26,7 +26,7 @@ namespace game_config
|
|||
int recall_cost = 20;
|
||||
int kill_experience = 8;
|
||||
int leadership_bonus = 25;
|
||||
const std::string version = "0.7.11-CVS";
|
||||
const std::string version = "0.7.12-CVS";
|
||||
bool debug = false, editor = false;
|
||||
|
||||
std::string game_icon = "wesnoth-icon.png", game_title, game_logo, title_music;
|
||||
|
|
98
src/help.cpp
98
src/help.cpp
|
@ -47,6 +47,7 @@ namespace {
|
|||
const int menu_font_size = 14;
|
||||
const int title_size = 18;
|
||||
const int title2_size = 15;
|
||||
const int box_width = 2;
|
||||
const int normal_font_size = 12;
|
||||
const unsigned max_history = 100;
|
||||
const std::string topic_img = "help/topic.png";
|
||||
|
@ -202,8 +203,8 @@ help_manager::help_manager(const config *cfg, game_data *gameinfo) {
|
|||
help_manager::~help_manager() {
|
||||
game_config = NULL;
|
||||
game_info = NULL;
|
||||
toplevel = section();
|
||||
hidden_sections = section();
|
||||
toplevel.clear();
|
||||
hidden_sections.clear();
|
||||
}
|
||||
|
||||
bool section_is_referenced(const std::string §ion_id, const config &cfg) {
|
||||
|
@ -716,7 +717,7 @@ void section::clear() {
|
|||
help_menu::help_menu(display& disp, const section &toplevel, int max_height)
|
||||
: menu(disp, empty_string_vector, false, max_height), disp_(disp),
|
||||
toplevel_(toplevel), chosen_topic_(NULL), internal_width_(0), selected_item_(&toplevel, ""),
|
||||
clicked_(false) {
|
||||
selected_(false) {
|
||||
bg_backup();
|
||||
update_visible_items(toplevel_);
|
||||
display_visible_items();
|
||||
|
@ -806,10 +807,16 @@ void help_menu::handle_event(const SDL_Event &event) {
|
|||
if (mousex < get_rect().x + item_area_width()) {
|
||||
// See to that only clicks on items are noticed, not
|
||||
// scrollbar clicks.
|
||||
clicked_ = true;
|
||||
selected_ = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (event.type == SDL_KEYDOWN) {
|
||||
if (event.key.keysym.sym == SDLK_RETURN) {
|
||||
// Select items on return press too.
|
||||
selected_ = true;
|
||||
}
|
||||
}
|
||||
menu::handle_event(event);
|
||||
}
|
||||
}
|
||||
|
@ -875,8 +882,8 @@ int help_menu::process(int x, int y, bool button,bool up_arrow,bool down_arrow,
|
|||
if (!visible_items_.empty() && selection() >= 0
|
||||
&& (unsigned)selection() < visible_items_.size()) {
|
||||
selected_item_ = visible_items_[selection()];
|
||||
if (clicked_) {
|
||||
clicked_ = false;
|
||||
if (selected_) {
|
||||
selected_ = false;
|
||||
if (selected_item_.sec != NULL) {
|
||||
// Open or close a section if it is clicked.
|
||||
expanded(*selected_item_.sec) ? contract(*selected_item_.sec)
|
||||
|
@ -958,21 +965,22 @@ void help_text_area::show_topic(const topic &t) {
|
|||
|
||||
help_text_area::item::item(shared_sdl_surface surface, int x, int y, const std::string _text,
|
||||
const std::string reference_to, bool _floating,
|
||||
ALIGNMENT alignment)
|
||||
: surf(surface), text(_text), ref_to(reference_to), floating(_floating), align(alignment) {
|
||||
bool _box, ALIGNMENT alignment)
|
||||
: surf(surface), text(_text), ref_to(reference_to), floating(_floating), box(_box),
|
||||
align(alignment) {
|
||||
rect.x = x;
|
||||
rect.y = y;
|
||||
rect.w = surface->w;
|
||||
rect.h = surface->h;
|
||||
rect.w = box ? surface->w + box_width * 2 : surface->w;
|
||||
rect.h = box ? surface->h + box_width * 2 : surface->h;
|
||||
}
|
||||
|
||||
help_text_area::item::item(shared_sdl_surface surface, int x, int y, bool _floating,
|
||||
ALIGNMENT alignment)
|
||||
: surf(surface), text(""), ref_to(""), floating(_floating), align(alignment) {
|
||||
bool _box, ALIGNMENT alignment)
|
||||
: surf(surface), text(""), ref_to(""), floating(_floating), box(_box), align(alignment) {
|
||||
rect.x = x;
|
||||
rect.y = y;
|
||||
rect.w = surface->w;
|
||||
rect.h = surface->h;
|
||||
rect.w = box ? surface->w + box_width * 2 : surface->w;
|
||||
rect.h = box ? surface->h + box_width * 2 : surface->h;
|
||||
}
|
||||
|
||||
void help_text_area::set_items(const std::vector<std::string> &parsed_items,
|
||||
|
@ -1083,10 +1091,14 @@ void help_text_area::handle_img_cfg(const config &cfg) {
|
|||
const std::string src = cfg["src"];
|
||||
const std::string align = cfg["align"];
|
||||
const bool floating = get_bool(cfg["float"]);
|
||||
bool box = true;
|
||||
if (cfg["box"] != "" && !get_bool(cfg["box"])) {
|
||||
box = false;
|
||||
}
|
||||
if (src == "") {
|
||||
throw parse_error("Img markup must have src attribute.");
|
||||
}
|
||||
add_img_item(src, align, floating);
|
||||
add_img_item(src, align, floating, box);
|
||||
}
|
||||
|
||||
void help_text_area::handle_bold_cfg(const config &cfg) {
|
||||
|
@ -1275,7 +1287,7 @@ void help_text_area::add_text_item(const std::string text, const std::string ref
|
|||
}
|
||||
|
||||
void help_text_area::add_img_item(const std::string path, const std::string alignment,
|
||||
const bool floating) {
|
||||
const bool floating, const bool box) {
|
||||
shared_sdl_surface surf(image::get_image(path, image::UNSCALED));
|
||||
if (surf == NULL) {
|
||||
std::stringstream msg;
|
||||
|
@ -1288,6 +1300,7 @@ void help_text_area::add_img_item(const std::string path, const std::string alig
|
|||
std::cerr << "Floating image with align HERE, aligning left." << std::endl;
|
||||
align = LEFT;
|
||||
}
|
||||
const int width = surf->w + (box ? box_width * 2 : 0);
|
||||
int xpos;
|
||||
int ypos = curr_loc_.second;
|
||||
switch (align) {
|
||||
|
@ -1298,25 +1311,25 @@ void help_text_area::add_img_item(const std::string path, const std::string alig
|
|||
xpos = 0;
|
||||
break;
|
||||
case MIDDLE:
|
||||
xpos = text_width() / 2 - surf->w / 2;
|
||||
xpos = text_width() / 2 - width / 2 - (box ? box_width : 0);
|
||||
break;
|
||||
case RIGHT:
|
||||
xpos = text_width() - surf->w;
|
||||
xpos = text_width() - width - (box ? box_width * 2 : 0);
|
||||
break;
|
||||
}
|
||||
if (curr_loc_.first != get_min_x(curr_loc_.second, curr_row_height_)
|
||||
&& (xpos < curr_loc_.first || xpos + surf->w > text_width())) {
|
||||
&& (xpos < curr_loc_.first || xpos + width > text_width())) {
|
||||
down_one_line();
|
||||
add_img_item(path, alignment, floating);
|
||||
add_img_item(path, alignment, floating, box);
|
||||
}
|
||||
else {
|
||||
if (!floating) {
|
||||
curr_loc_.first = xpos;
|
||||
}
|
||||
else {
|
||||
ypos = get_y_for_floating_img(surf->w, xpos, ypos);
|
||||
ypos = get_y_for_floating_img(width, xpos, ypos);
|
||||
}
|
||||
add_item(item(surf, xpos, ypos, floating, align));
|
||||
add_item(item(surf, xpos, ypos, floating, box, align));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1325,9 +1338,9 @@ int help_text_area::get_y_for_floating_img(const int width, const int x, const i
|
|||
for (std::list<item>::const_iterator it = items_.begin(); it != items_.end(); it++) {
|
||||
const item& itm = *it;
|
||||
if (itm.floating) {
|
||||
if ((itm.rect.x + itm.surf->w > x && itm.rect.x < x + width)
|
||||
if ((itm.rect.x + itm.rect.w > x && itm.rect.x < x + width)
|
||||
|| (itm.rect.x > x && itm.rect.x < x + width)) {
|
||||
min_y = maximum<int>(min_y, itm.rect.y + itm.surf->h);
|
||||
min_y = maximum<int>(min_y, itm.rect.y + itm.rect.h);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1339,8 +1352,8 @@ int help_text_area::get_min_x(const int y, const int height) {
|
|||
for (std::list<item>::const_iterator it = items_.begin(); it != items_.end(); it++) {
|
||||
const item& itm = *it;
|
||||
if (itm.floating) {
|
||||
if (itm.rect.y < y + height && itm.rect.y + itm.surf->h > y && itm.align == LEFT) {
|
||||
min_x = maximum<int>(min_x, itm.surf->w);
|
||||
if (itm.rect.y < y + height && itm.rect.y + itm.rect.h > y && itm.align == LEFT) {
|
||||
min_x = maximum<int>(min_x, itm.rect.w + 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1352,12 +1365,12 @@ int help_text_area::get_max_x(const int y, const int height) {
|
|||
for (std::list<item>::const_iterator it = items_.begin(); it != items_.end(); it++) {
|
||||
const item& itm = *it;
|
||||
if (itm.floating) {
|
||||
if (itm.rect.y < y + height && itm.rect.y + itm.surf->h > y) {
|
||||
if (itm.rect.y < y + height && itm.rect.y + itm.rect.h > y) {
|
||||
if (itm.align == RIGHT) {
|
||||
max_x = minimum<int>(max_x, text_width() - itm.surf->w);
|
||||
max_x = minimum<int>(max_x, text_width() - itm.rect.w - 5);
|
||||
}
|
||||
if (itm.align == MIDDLE) {
|
||||
max_x = minimum<int>(max_x, text_width() / 2 - itm.surf->w / 2);
|
||||
max_x = minimum<int>(max_x, text_width() / 2 - itm.rect.w / 2 - 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1368,20 +1381,20 @@ int help_text_area::get_max_x(const int y, const int height) {
|
|||
void help_text_area::add_item(const item &itm) {
|
||||
items_.push_back(itm);
|
||||
if (!itm.floating) {
|
||||
curr_loc_.first += itm.surf->w;
|
||||
curr_row_height_ = maximum<int>(itm.surf->h, curr_row_height_);
|
||||
curr_loc_.first += itm.rect.w;
|
||||
curr_row_height_ = maximum<int>(itm.rect.h, curr_row_height_);
|
||||
contents_height_ = maximum<int>(contents_height_, curr_loc_.second + curr_row_height_);
|
||||
last_row_.push_back(&items_.back());
|
||||
}
|
||||
else {
|
||||
if (itm.align == LEFT) {
|
||||
curr_loc_.first = itm.surf->w;
|
||||
curr_loc_.first = itm.rect.w + 5;
|
||||
}
|
||||
contents_height_ = maximum<int>(contents_height_, itm.rect.y + itm.surf->h);
|
||||
contents_height_ = maximum<int>(contents_height_, itm.rect.y + itm.rect.h);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
help_text_area::ALIGNMENT help_text_area::str_to_align(const std::string &s) {
|
||||
const std::string cmp_str = to_lower(s);
|
||||
if (cmp_str == "left") {
|
||||
|
@ -1410,7 +1423,7 @@ void help_text_area::down_one_line() {
|
|||
void help_text_area::adjust_last_row() {
|
||||
for (std::list<item *>::iterator it = last_row_.begin(); it != last_row_.end(); it++) {
|
||||
item &itm = *(*it);
|
||||
const int gap = curr_row_height_ - itm.surf->h;
|
||||
const int gap = curr_row_height_ - itm.rect.h;
|
||||
itm.rect.y += gap / 2;
|
||||
}
|
||||
}
|
||||
|
@ -1444,9 +1457,17 @@ void help_text_area::draw() {
|
|||
for (it = items_.begin(); it != items_.end(); it++) {
|
||||
SDL_Rect dst = (*it).rect;
|
||||
dst.y -= get_scroll_offset();
|
||||
if (dst.y < (int)height() && dst.y + (*it).surf->h > 0) {
|
||||
if (dst.y < (int)height() && dst.y + (*it).rect.h > 0) {
|
||||
dst.x += location().x;
|
||||
dst.y += location().y;
|
||||
if ((*it).box) {
|
||||
for (int i = 0; i < box_width; i++) {
|
||||
gui::draw_rectangle(dst.x, dst.y, (*it).rect.w - i * 2, (*it).rect.h - i * 2,
|
||||
0, screen);
|
||||
dst.x++;
|
||||
dst.y++;
|
||||
}
|
||||
}
|
||||
SDL_BlitSurface((*it).surf, NULL, screen, &dst);
|
||||
}
|
||||
}
|
||||
|
@ -1555,6 +1576,11 @@ help_browser::help_browser(display &disp, const section &toplevel)
|
|||
back_button_(disp, _("< Back"), gui::button::TYPE_PRESS),
|
||||
forward_button_(disp, _("Forward >"), gui::button::TYPE_PRESS),
|
||||
shown_topic_(NULL) {
|
||||
// Hide the buttons at first since we do not have any forward or
|
||||
// back topics at this point. They will be unhidden when history
|
||||
// appears.
|
||||
back_button_.hide(true);
|
||||
forward_button_.hide(true);
|
||||
// Set sizes to some default values.
|
||||
set_location(1, 1);
|
||||
set_width(400);
|
||||
|
|
11
src/help.hpp
11
src/help.hpp
|
@ -178,7 +178,7 @@ private:
|
|||
topic const *chosen_topic_;
|
||||
int internal_width_;
|
||||
visible_item selected_item_;
|
||||
bool clicked_;
|
||||
bool selected_;
|
||||
};
|
||||
|
||||
/// Thrown when the help system fails to parse something.
|
||||
|
@ -225,13 +225,14 @@ private:
|
|||
|
||||
item(shared_sdl_surface surface, int x, int y, const std::string text="",
|
||||
const std::string reference_to="", bool floating=false,
|
||||
ALIGNMENT alignment=HERE);
|
||||
bool box=false, ALIGNMENT alignment=HERE);
|
||||
|
||||
item(shared_sdl_surface surface, int x, int y,
|
||||
bool floating, ALIGNMENT=HERE);
|
||||
bool floating, bool box=false, ALIGNMENT=HERE);
|
||||
|
||||
/// Relative coordinates of this item.
|
||||
SDL_Rect rect;
|
||||
|
||||
shared_sdl_surface surf;
|
||||
|
||||
// If this item contains text, this will contain that text.
|
||||
|
@ -244,6 +245,7 @@ private:
|
|||
// If this item is floating, that is, if things should be filled
|
||||
// around it.
|
||||
bool floating;
|
||||
bool box;
|
||||
ALIGNMENT align;
|
||||
};
|
||||
|
||||
|
@ -294,7 +296,8 @@ private:
|
|||
SDL_Color color=font::NORMAL_COLOUR);
|
||||
|
||||
/// Add an image item with the specified attributes.
|
||||
void add_img_item(const std::string path, const std::string alignment, const bool floating);
|
||||
void add_img_item(const std::string path, const std::string alignment, const bool floating,
|
||||
const bool box);
|
||||
|
||||
/// Move the current input point to the next line.
|
||||
void down_one_line();
|
||||
|
|
|
@ -65,7 +65,7 @@ exploder_SOURCES = exploder.cpp \
|
|||
../sdl_utils.cpp \
|
||||
../log.cpp
|
||||
|
||||
cutter_SOURCES = cutter.cpp \
|
||||
cutter_SOURCES = cutter.cpp \
|
||||
exploder_utils.cpp \
|
||||
exploder_cutter.cpp \
|
||||
../server/variable.cpp \
|
||||
|
|
Loading…
Add table
Reference in a new issue