Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cxx11 into lp:widelands

2013-07-18 Thread SirVer
As a reminder to myself, should this get merged:
- replace all scoped_ptr and most shared_ptr through unique_ptrs. 
- replace all boost::foreach with for( a : b) interations.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cxx11/+merge/175455
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/cxx11 into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~shevonar/widelands-website/bug1202301 into lp:widelands-website

2013-07-18 Thread Shevonar
Shevonar has proposed merging lp:~shevonar/widelands-website/bug1202301 into 
lp:widelands-website.

Requested reviews:
  Widelands Developers (widelands-dev)
Related bugs:
  Bug #1202301 in Widelands Website: "Some maps not accepted by Map upload"
  https://bugs.launchpad.net/widelands-website/+bug/1202301

For more details, see:
https://code.launchpad.net/~shevonar/widelands-website/bug1202301/+merge/175470

This should fix bug 1202301. However, I could not test it because I messed up 
my widelands-website installation when updating to current trunk. I tested the 
WidelandsConfigParser and it can now handle the % symbol in config files 
properly.
-- 
https://code.launchpad.net/~shevonar/widelands-website/bug1202301/+merge/175470
Your team Widelands Developers is requested to review the proposed merge of 
lp:~shevonar/widelands-website/bug1202301 into lp:widelands-website.
=== modified file 'widelandslib/conf.py'
--- widelandslib/conf.py	2010-11-01 17:52:47 +
+++ widelandslib/conf.py	2013-07-18 08:25:30 +
@@ -30,6 +30,8 @@
 except AttributeError:
 string = open(fn, "r").read()
 
+string = string.replace('%', "%%")
+
 try:
 self.readfp(cStringIO.StringIO(string))
 except MissingSectionHeaderError:

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~shevonar/widelands-website/bug1202301 into lp:widelands-website

2013-07-18 Thread noreply
The proposal to merge lp:~shevonar/widelands-website/bug1202301 into 
lp:widelands-website has been updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~shevonar/widelands-website/bug1202301/+merge/175470
-- 
https://code.launchpad.net/~shevonar/widelands-website/bug1202301/+merge/175470
Your team Widelands Developers is requested to review the proposed merge of 
lp:~shevonar/widelands-website/bug1202301 into lp:widelands-website.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~hjd/widelands/scan-build-cmake into lp:widelands

2013-07-18 Thread Hans Joachim Desserud
The proposal to merge lp:~hjd/widelands/scan-build-cmake into lp:widelands has 
been updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~hjd/widelands/scan-build-cmake/+merge/175269
-- 
https://code.launchpad.net/~hjd/widelands/scan-build-cmake/+merge/175269
Your team Widelands Developers is requested to review the proposed merge of 
lp:~hjd/widelands/scan-build-cmake into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~hjd/widelands/prodsite-null into lp:widelands

2013-07-18 Thread Hans Joachim Desserud
Hans Joachim Desserud has proposed merging lp:~hjd/widelands/prodsite-null into 
lp:widelands.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~hjd/widelands/prodsite-null/+merge/175538

Found by scan-build. I believe this should fix the issue.
-- 
https://code.launchpad.net/~hjd/widelands/prodsite-null/+merge/175538
Your team Widelands Developers is requested to review the proposed merge of 
lp:~hjd/widelands/prodsite-null into lp:widelands.
=== modified file 'src/wui/productionsitewindow.cc'
--- src/wui/productionsitewindow.cc	2013-07-16 10:17:53 +
+++ src/wui/productionsitewindow.cc	2013-07-18 11:25:36 +
@@ -197,8 +197,8 @@
 return;
 			}
 		}
+		m_worker_table->update();
 	}
-	m_worker_table->update();
 }
 
 void ProductionSite_Window::evict_worker() {

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cxx11 into lp:widelands

2013-07-18 Thread Hans Joachim Desserud
Any estimate which compiler versions this change would require at a minimum? 

I realize that a) we can't support ancient releases forever and b) a new 
release will mainly be packaged in development versions where newer compilers 
will be available anyways. Still, we have things like the PPA for stable 
Widelands releases, and I don't want to block people who for some reason are 
running slightly older (often Long Term Supported) releases from running the 
latest Widelands release.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cxx11/+merge/175455
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/cxx11 into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug657285 into lp:widelands

2013-07-18 Thread cghislai
cghislai has proposed merging lp:~widelands-dev/widelands/bug657285 into 
lp:widelands.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug657285/+merge/175551

I corrected the bug by handling mousein events in the Window class.
I also fixed two things found along in the way:
 1 text alignment was not honored in tables
 2 texts containing false tag such as '' to go up one directory, threw 
exception with the new font handler.

For 2, the parser will consider unallowed tags as normal text. Another way 
could be to escape all these correctly, but the solution here should be safe 
for translated strings as well. A warning is printed if such tag is detected 
and an exception should still be thrown for typos, as the closing tag will be 
parsed.
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug657285/+merge/175551
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/bug657285 into lp:widelands.
=== modified file 'src/graphic/text/rt_parse.cc'
--- src/graphic/text/rt_parse.cc	2013-02-10 18:47:18 +
+++ src/graphic/text/rt_parse.cc	2013-07-18 12:47:29 +
@@ -27,6 +27,7 @@
 #include "rt_parse.h"
 #include "textstream.h"
 #include "rt_errors_impl.h"
+#include "log.h"
 
 using namespace std;
 using namespace boost;
@@ -184,11 +185,19 @@
 		Tag * child = new Tag();
 		line = ts.line(); col = ts.col(); size_t cpos = ts.pos();
 		child->parse(ts, tcs, allowed_tags);
-		if (!tc.allowed_childs.count(child->name()))
-			throw SyntaxError_Impl(line, col, "an allowed tag", child->name(), ts.peek(100, cpos));
-		if (!allowed_tags.empty() and !allowed_tags.count(child->name()))
-			throw SyntaxError_Impl(line, col, "an allowed tag", child->name(), ts.peek(100, cpos));
-
+		// Only log unallowed tags and consider them as normal text, if allowed
+		if (!tc.allowed_childs.count(child->name())
+			|| (!allowed_tags.empty() and !allowed_tags.count(child->name(
+		{
+			if (!tc.text_allowed) {
+throw SyntaxError_Impl(line, col, "an allowed tag", child->name(), ts.peek(100, cpos));
+			} else {
+std::string tag_string = (boost::format("<%1%>") % child->name()).str();
+log("Warning: Tag not allowed: %s. Will be considered as normal text\n", tag_string.c_str());
+m_childs.push_back(new Child(tag_string));
+return;
+			}
+		}
 		m_childs.push_back(new Child(child));
 	}
 }

=== modified file 'src/ui_basic/table.cc'
--- src/ui_basic/table.cc	2013-07-16 17:30:22 +
+++ src/ui_basic/table.cc	2013-07-18 12:47:29 +
@@ -294,10 +294,15 @@
 			}
 
 			const Image* entry_text_im = UI::g_fh1->render(as_uifont(entry_string, m_fontsize));
+			uint16_t text_width = entry_text_im->width();
+			if (alignment & Align_Right) {
+point.x += curw - picw;
+			} else if (alignment & Align_HCenter) {
+point.x += (curw - picw) / 2;
+			}
+			UI::correct_for_align(alignment, text_width, entry_text_im->height(), &point);
 			// Crop to column width
-			UI::correct_for_align(alignment, entry_text_im->width(), entry_text_im->height(), &point);
 			dst.blitrect(point, entry_text_im, Rect(0, 0, curw - picw, lineheight));
-
 			curx += curw;
 		}
 

=== modified file 'src/ui_basic/window.cc'
--- src/ui_basic/window.cc	2013-02-10 19:36:24 +
+++ src/ui_basic/window.cc	2013-07-18 12:47:29 +
@@ -24,9 +24,11 @@
 #include "graphic/font_handler1.h"
 #include "graphic/graphic.h"
 #include "graphic/rendertarget.h"
+#include "wui/mapview.h"
 #include "log.h"
 #include "text_layout.h"
 #include "wlapplication.h"
+#include "upcast.h"
 
 #include "compile_assert.h"
 
@@ -475,6 +477,21 @@
 	return true;
 }
 
+void Window::handle_mousein(bool mousein)
+{
+	Panel* parent = get_parent();
+	// Reset the mapview tooltip if it is our parent
+	if (!mousein || parent == NULL) {
+		NamedPanel::handle_mousein(mousein);
+		return;
+	}
+	upcast(Map_View, mapview, parent);
+	if (mapview) {
+		mapview->set_tooltip("");
+	}
+	NamedPanel::handle_mousein(mousein);
+}
+
 bool Window::handle_alt_drag(int32_t mx, int32_t my)
 {
 	_dragging = true;

=== modified file 'src/ui_basic/window.h'
--- src/ui_basic/window.h	2013-02-09 23:18:23 +
+++ src/ui_basic/window.h	2013-07-18 12:47:29 +
@@ -86,6 +86,7 @@
 	bool handle_mouserelease(Uint8 btn, int32_t mx, int32_t my);
 	bool handle_mousemove
 		(Uint8 state, int32_t mx, int32_t my, int32_t xdiff, int32_t ydiff);
+	void handle_mousein(bool mousein);
 	bool handle_alt_drag (int32_t mx, int32_t my);
 
 protected:

=== modified file 'src/wui/building_ui.cc'
--- src/wui/building_ui.cc	2013-07-16 10:17:53 +
+++ src/wui/building_ui.cc	2013-07-18 12:47:29 +
@@ -32,8 +32,6 @@
  */
 void Building::show_options(Interactive_GameBase & igbase, bool avoid_fastclick)
 {
-	// Reset tooltip before opening the window
-	igbase.set_tooltip("");
 	if (m_optionswindow) {
 		if (m_optionswindow->is_minimal())
 			m_optionswindow->restore();

__

Re: [Widelands-dev] Construction sites

2013-07-18 Thread Teppo Maenpaa

On Wed, Jul 17, 2013 at 07:44:40AM +0200, Holger Rapp wrote:

No, I do not think you are correct here. There is so much difference in the 
way people can or cannot perceive color. Brightness doesn't seem to be 
easily order-able for a human and the differences are harder to perceive.


Hi,

You are right in what you say, except that I still think I am right. If the 
brightness, or "lightness" in HSL terms, is *sufficiently* different, all 
will see a difference.


http://en.wikipedia.org/wiki/HSL_and_HSV

I used to think the same till I regularly gave slides for my presentations 
to a red-green deficient colleague of mine. And it was really hard to 
predict what he could or could not distinguish.


I know. Also, not all color impaired are red-green type.

We do not do flame wars here - people voice their opinion and then we make a 
decision and move forward. Flame wars haven't been a big problem for 
Widelands in a long time :).


There are new people joining WL team now and them, and most people have never 
met in person I would guess. Flame wars happen very easily in those 
conditions.


I wanted to add some more constructive discussion to the suggestion. For me 
this idea gives us the chance to consolidate the information we currently 
have in the game. For example for workers we show "vacant" and "missing" 
next to them to is the building window - this suggestion can allow us to do 
the same for wares.


I would not write these minor notes in full text: as the various on-screen 
text already overlap with each other now and then, at least in some 
localizations. More text makes the problem worse. A possible work-around 
would be to add special characters to the percent-string. Here the challenge 
would be to find an easy-to-get language independent symbol. Like putting the 
percentage to parentheses when wares are missing, and appending an 
exclamation mark when all needed wares are present. This would fix the 
color-impair issue for sure, and still adding colors could make it more 
intuitive for the majority.


Instead, I suggest adding "status panes" to the building statistics - small 
pictures (maybe 10x10 pixel) that show the status of the building. Wares 
missing, Workers missing, Building stopped and so on could all be such panes 
and they are displayed hovering over the building or in the tooltip.

[many details clipped]

Really good long-term goal. I think that this is the way to go, in terms of 
future year releases. Regarding the coming release, I still see the colors 
worth adding.


Isn't this a cleaner approach that could scale better to other information 
than using colors?


Yes, it is a mighty longer term goal worth remembering -> bug report?

Regards,


Teppo

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~hjd/widelands/string-fixes into lp:widelands

2013-07-18 Thread Hans Joachim Desserud
Hans Joachim Desserud has proposed merging lp:~hjd/widelands/string-fixes into 
lp:widelands.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~hjd/widelands/string-fixes/+merge/175595

Fixes and improvements for various strings. See individual commit messages for 
details.
-- 
https://code.launchpad.net/~hjd/widelands/string-fixes/+merge/175595
Your team Widelands Developers is requested to review the proposed merge of 
lp:~hjd/widelands/string-fixes into lp:widelands.
=== modified file 'maps/Four Mountains.wmf/elemental'
--- maps/Four Mountains.wmf/elemental	2012-03-09 10:37:34 +
+++ maps/Four Mountains.wmf/elemental	2013-07-18 14:41:44 +
@@ -6,6 +6,6 @@
 world="winterland"
 name=_ "Four Mountains"
 author="Quappo"
-descr=_ "Each tribe is surrounded by four mighty mountains. Who will first conquer them and claim the resources for his own tribe? Hint I: Water can be found along the river. Hint II: Snowmen mark additional water sources. Hint 3: Each mountain contains only one resource."
+descr=_ "Each tribe is surrounded by four mighty mountains. Who will first conquer them and claim the resources for his own tribe? Hint I: Water can be found along the river. Hint II: Snowmen mark additional water sources. Hint III: Each mountain contains only one resource."
 hint=_ "Suggested Teams: (blue, red) vs (yellow, green) or (blue, green) vs (red, yellow)"
 tags="official,ffa,2teams"

=== modified file 'scripting/win_condition_texts.lua'
--- scripting/win_condition_texts.lua	2013-07-10 05:09:06 +
+++ scripting/win_condition_texts.lua	2013-07-18 14:41:44 +
@@ -50,6 +50,7 @@
 }
 
 game_status_territoral_lord_time = {
-  end_in = _ "game will end in %i minutes.",
+  end_in = _ "The game will end in %i minutes.",
+  end_in_or = _ "Otherwise the game will end in %i minutes.",
   land = _ "%s %s %i%% of the land (%i of %i)."
 }

=== modified file 'scripting/win_conditions/03_territorial_time.lua'
--- scripting/win_conditions/03_territorial_time.lua	2012-02-26 19:26:06 +
+++ scripting/win_conditions/03_territorial_time.lua	2013-07-18 14:41:44 +
@@ -200,11 +200,10 @@
 	else
 		msg = msg .. msg1 .. "\n\n"
 	end
-	msg = msg .. "Otherwise the "
+	msg = msg .. game_status_territoral_lord_time.end_in_or:format(remaining_max_time/60)
 else
-	msg = msg .. "The "
+	msg = msg .. game_status_territoral_lord_time.end_in:format(remaining_max_time/60)
 end
-msg = msg .. game_status_territoral_lord_time.end_in:format(remaining_max_time/60)
 msg = msg .. "\n\n"
 msg = msg .. game_status.body
 msg = msg .. _status(points, "has")

=== modified file 'src/network/nethost.cc'
--- src/network/nethost.cc	2013-07-16 13:26:14 +
+++ src/network/nethost.cc	2013-07-18 14:41:44 +
@@ -737,7 +737,7 @@
 			s.get_string
 ("dedicated_motd",
  (format
-	(_("This is a dedicated server send \"@%s help\" to get a full list of available commands."))
+	(_("This is a dedicated server. Send \"@%s help\" to get a full list of available commands."))
 	% d->localplayername)
 .str().c_str());
 

=== modified file 'txts/tips/editor.tip'
--- txts/tips/editor.tip	2010-04-28 21:13:58 +
+++ txts/tips/editor.tip	2013-07-18 14:41:44 +
@@ -19,7 +19,7 @@
 sec=6
 
 [Tip 6]
-text=_"The number keys (1 - 0) allow you to directly set the size of the selected area around your mouse."
+text=_"The number keys (1 - 0) allow you to directly set the size of the selected area around your mouse cursor."
 sec=6
 
 [Tip 7]

=== modified file 'txts/tips/general_game.tip'
--- txts/tips/general_game.tip	2013-03-09 08:26:39 +
+++ txts/tips/general_game.tip	2013-07-18 14:41:44 +
@@ -27,8 +27,8 @@
 sec=5
 
 [Tip 8]
-text=_Use the 'configure economy' menu to adjust the target quantity of a specific ware.
-sec=5
+text=_Use the 'configure economy' menu to adjust the target quantity of wares. It can be accessed via the flag menu.
+sec=7
 
 [Tip 9]
 text=_Manage your messages more efficiently: press 'N' for News to access the messages window, then use 'G' for Go To and the Delete key to archive messages.
@@ -63,9 +63,5 @@
 sec=4
 
 [Tip 17]
-text=_The 'configure economy' menu for setting up target quantities can be accessed via the flag menu.
-sec=5
-
-[Tip 18]
 text=_An economy consists of all buildings and flags connected by roads. The supplies and demands of buildings are handled in its economy.
 sec=8

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug657285 into lp:widelands

2013-07-18 Thread cghislai
I add I feel sorry for all regressions linked to my code. I will fixes them all 
asap. Those linked to opengl rendering may be tricky.
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug657285/+merge/175551
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/bug657285 into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/graphic_resetting into lp:widelands

2013-07-18 Thread cghislai
Review: Approve

I also approve this to be merged as I need this code to be able to spot issues 
related to opengl rendering.
-- 
https://code.launchpad.net/~widelands-dev/widelands/graphic_resetting/+merge/159985
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/graphic_resetting.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/graphic_resetting into lp:widelands

2013-07-18 Thread SirVer
SirVer has proposed merging lp:~widelands-dev/widelands/graphic_resetting into 
lp:widelands.

Requested reviews:
  Tino (tino79)
Related bugs:
  Bug #1159968 in widelands: "Crash in opengl fonthandler_cc:99"
  https://bugs.launchpad.net/widelands/+bug/1159968

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/graphic_resetting/+merge/159985

There is at least one critical bug lurking in this code - but I wasn't able to 
produce a reliable crash scenario, not did I see the bug. Reaching out for a 
bunch more eyes :)
-- 
https://code.launchpad.net/~widelands-dev/widelands/graphic_resetting/+merge/159985
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/graphic_resetting.
=== modified file 'src/graphic/font_handler.cc'
--- src/graphic/font_handler.cc	2013-06-15 13:38:19 +
+++ src/graphic/font_handler.cc	2013-07-16 20:53:40 +
@@ -111,9 +111,13 @@
 
 
 Font_Handler::~Font_Handler() {
+	flush();
 	Font::shutdown();
 }
 
+void Font_Handler::flush() {
+	d.reset(new Data);
+}
 
 /*
  * Returns the height of the font, in pixels.

=== modified file 'src/graphic/font_handler.h'
--- src/graphic/font_handler.h	2013-06-15 13:38:19 +
+++ src/graphic/font_handler.h	2013-07-16 20:53:40 +
@@ -20,6 +20,7 @@
 #ifndef FONT_HANDLER_H
 #define FONT_HANDLER_H
 
+#include 
 #include 
 
 #include "point.h"
@@ -59,6 +60,9 @@
 		 uint32_t wrap = std::numeric_limits::max());
 	uint32_t get_fontheight(const std::string & name, int32_t size);
 
+	// Delete the whole cache.
+	void flush();
+
 private:
 	struct Data;
 	boost::scoped_ptr d;

=== modified file 'src/graphic/graphic.cc'
--- src/graphic/graphic.cc	2013-07-14 17:41:02 +
+++ src/graphic/graphic.cc	2013-07-16 20:53:40 +
@@ -44,6 +44,7 @@
 
 #include "animation.h"
 #include "animation_gfx.h"
+#include "font_handler.h"
 #include "image.h"
 #include "image_loader_impl.h"
 #include "image_transformations.h"
@@ -62,14 +63,9 @@
 /**
  * Initialize the SDL video mode.
 */
-Graphic::Graphic
-	(int32_t w, int32_t h,
-	 int32_t bpp,
-	 boolfullscreen,
-	 boolopengl)
+Graphic::Graphic()
 	:
 	m_fallback_settings_in_effect (false),
-	m_rendertarget (0),
 	m_nr_update_rects  (0),
 	m_update_fullscreen(true),
 	image_loader_(new ImageLoaderImpl()),
@@ -88,9 +84,12 @@
 	SDL_Surface * s = IMG_Load_RW(SDL_RWFromMem(fr.Data(0), fr.GetSize()), 1);
 	SDL_WM_SetIcon(s, 0);
 	SDL_FreeSurface(s);
+}
+
+void Graphic::initialize(int32_t w, int32_t h, int32_t bpp, bool fullscreen, bool opengl) {
+	cleanup();
 
 	// Set video mode using SDL. First collect the flags
-
 	int32_t flags = 0;
 	g_opengl = false;
 	SDL_Surface * sdlsurface = 0;
@@ -306,7 +305,6 @@
 		glEnable(GL_TEXTURE_2D);
 
 		GLSurfaceTexture::Initialize(use_arb);
-
 	}
 
 	if (g_opengl)
@@ -315,11 +313,11 @@
 	}
 	else
 	{
-		screen_.reset(new SDLSurface(sdlsurface));
+		screen_.reset(new SDLSurface(sdlsurface, false));
 	}
 
 	m_sdl_screen = sdlsurface;
-	m_rendertarget = new RenderTarget(screen_.get());
+	m_rendertarget.reset(new RenderTarget(screen_.get()));
 }
 
 bool Graphic::check_fallback_settings_in_effect()
@@ -327,25 +325,27 @@
 	return m_fallback_settings_in_effect;
 }
 
-/**
- * Free the surface
-*/
-Graphic::~Graphic()
-{
-	BOOST_FOREACH(Texture* texture, m_maptextures)
-		delete texture;
-	delete m_rendertarget;
-
+void Graphic::cleanup() {
+	flush_maptextures();
 	flush_animations();
+	surface_cache_->flush();
+	// TODO: this should really not be needed, but currently is :(
+	if (UI::g_fh)
+		UI::g_fh->flush();
 
 	if (g_opengl)
 		GLSurfaceTexture::Cleanup();
 }
 
+Graphic::~Graphic()
+{
+	cleanup();
+}
+
 /**
  * Return the screen x resolution
 */
-int32_t Graphic::get_xres() const
+int32_t Graphic::get_xres()
 {
 	return screen_->width();
 }
@@ -353,11 +353,21 @@
 /**
  * Return the screen x resolution
 */
-int32_t Graphic::get_yres() const
+int32_t Graphic::get_yres()
 {
 	return screen_->height();
 }
 
+int32_t Graphic::get_bpp()
+{
+	return m_sdl_screen->format->BitsPerPixel;
+}
+
+bool Graphic::is_fullscreen()
+{
+	return m_sdl_screen->flags & SDL_FULLSCREEN;
+}
+
 /**
  * Return a pointer to the RenderTarget representing the screen
 */
@@ -365,7 +375,7 @@
 {
 	m_rendertarget->reset();
 
-	return m_rendertarget;
+	return m_rendertarget.get();
 }
 
 /**

=== modified file 'src/graphic/graphic.h'
--- src/graphic/graphic.h	2013-03-09 08:07:22 +
+++ src/graphic/graphic.h	2013-07-16 20:53:40 +
@@ -86,13 +86,18 @@
  */
 class Graphic {
 public:
-	Graphic
-		(int32_t w, int32_t h, int32_t bpp,
-		 bool fullscreen, bool opengl);
+	Graphic();
 	~Graphic();
 
-	int32_t get_xres() const;
-	int32_t get_yres() const;
+	// Initialize or reinitialize the graphics system. Throws on error.
+	void initialize
+		(int32_t w, int32_t h, int32_t bpp, bool fullscreen, bool opengl);
+
+	int32_t get_xres();
+	int32_t get_yres();
+	int32_t get_bpp();
+	bool is_fullscreen();
+
 	RenderTarget * get_render_target();
 	void toggle_fullscreen();
 	

[Widelands-dev] [Merge] lp:~widelands-dev/widelands/boost_static_assert into lp:widelands

2013-07-18 Thread cghislai
cghislai has proposed merging lp:~widelands-dev/widelands/boost_static_assert 
into lp:widelands.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/boost_static_assert/+merge/175607

This get rid of compile_assert.h in favor of the BOOST_STATIC_ASSERT macro 
provided with boost.
The former version produced a lot of warnings with my compiler, while the later 
provides the most elegant solution depending on the platform and compiler.

the macro can be viewed here : 
http://www.boost.org/doc/libs/1_54_0/boost/static_assert.hpp
-- 
https://code.launchpad.net/~widelands-dev/widelands/boost_static_assert/+merge/175607
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/boost_static_assert into lp:widelands.
=== removed file 'src/compile_assert.h'
--- src/compile_assert.h	2013-02-10 18:47:18 +
+++ src/compile_assert.h	1970-01-01 00:00:00 +
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2006 by the Widelands Development Team
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- */
-
-#ifndef compile_assert
-// gnu needs to append a unique number to the assert, otherwise it complains
-// about this shadowing the last assert. This is not too easy, so we use the
-// line number - collisions are not that probable anymore.
-// The concatenation magic is from: http://stackoverflow.com/a/1597129/200945
-#define TOKENPASTE(x, y) x ## y
-#define TOKENPASTE2(x, y) TOKENPASTE(x, y)
-#define compile_assert(x) typedef bool TOKENPASTE2(COMPILE_ASSERT_, __LINE__)[(x) ? 1 : -1]
-#endif

=== modified file 'src/graphic/render/gamerenderer_gl.cc'
--- src/graphic/render/gamerenderer_gl.cc	2013-07-13 14:32:49 +
+++ src/graphic/render/gamerenderer_gl.cc	2013-07-18 15:21:32 +
@@ -233,7 +233,7 @@
 
 void GameRendererGL::prepare_terrain_base()
 {
-	compile_assert(sizeof(basevertex) == 32);
+	BOOST_STATIC_ASSERT(sizeof(basevertex) == 32);
 
 	uint32_t reqsize = m_patch_size.w * m_patch_size.h;
 	if (reqsize > 0x1)
@@ -408,7 +408,7 @@
  */
 void GameRendererGL::prepare_terrain_dither()
 {
-	compile_assert(sizeof(dithervertex) == 32);
+	BOOST_STATIC_ASSERT(sizeof(dithervertex) == 32);
 
 	if (m_terrain_edge_freq.size() < 16)
 		m_terrain_edge_freq.resize(16);

=== modified file 'src/io/bitinbuffer.h'
--- src/io/bitinbuffer.h	2012-09-21 21:36:07 +
+++ src/io/bitinbuffer.h	2013-07-18 15:21:32 +
@@ -22,7 +22,7 @@
 
 #include "fileread.h"
 
-#include "compile_assert.h"
+#include 
 
 /// Wrapper around FileRead for reading groups of Size bits from a file, where
 /// Size can be a factor of 8. Call get to read Size bits from the buffer.
@@ -30,7 +30,7 @@
 /// the file was created will not fail unless it causes another byte to be read
 /// from the file.
 template struct BitInBuffer {
-	compile_assert(Size == 1 or Size == 2 or Size == 4);
+	BOOST_STATIC_ASSERT(Size == 1 or Size == 2 or Size == 4);
 	BitInBuffer() : buffer(0), mask(0x00) {}
 	void Open(FileSystem & fs, char const * const filename) {
 		fr.Open(fs, filename);

=== modified file 'src/io/bitoutbuffer.h'
--- src/io/bitoutbuffer.h	2012-02-15 21:25:34 +
+++ src/io/bitoutbuffer.h	2013-07-18 15:21:32 +
@@ -22,13 +22,13 @@
 
 #include "filewrite.h"
 
-#include "compile_assert.h"
+#include 
 
 /// Wrapper around FileWrite for writing bits to a file. Call put to write a
 /// bit to the buffer. Call Write to write the buffer to file. Unassigned bits
 /// in the last byte will be 0.
 template struct BitOutBuffer {
-	compile_assert(Size == 1 or Size == 2 or Size == 4);
+	BOOST_STATIC_ASSERT(Size == 1 or Size == 2 or Size == 4);
 	BitOutBuffer() : buffer(0x00), mask(0xff) {}
 	void put(uint8_t const item) {
 		assert(item < (1 << Size));

=== modified file 'src/logic/constructionsite.cc'
--- src/logic/constructionsite.cc	2013-07-15 05:18:12 +
+++ src/logic/constructionsite.cc	2013-07-18 15:21:32 +
@@ -345,7 +345,7 @@
 
 	// Draw the partially finished building
 
-	compile_assert(0 <= CONSTRUCTIONSITE_STEP_TIME);
+	BOOST_STATIC_ASSERT(0 <= CONSTRUCTIONSITE_STEP_TIME);
 	m_info.totaltime = CONSTRUCTIONSITE_STEP_TIME * m_work_steps;
 	m_info.completedtime = CONSTRUCTIONSITE_STEP_TIME * m_work_completed;
 

=== modified file 'src/logic/dismantlesite.cc'
--

Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/boost_static_assert into lp:widelands

2013-07-18 Thread SirVer
I am currently Sending a branch using c++11 static_assert for review. Feel free 
to comment and review this :)
-- 
https://code.launchpad.net/~widelands-dev/widelands/boost_static_assert/+merge/175607
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/boost_static_assert into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~hjd/widelands/prodsite-null into lp:widelands

2013-07-18 Thread cghislai
Indeed, I missed that. I noticed however than even with this fix the table is 
not updating in current trunk. I will push a new branch with the complete fix.
-- 
https://code.launchpad.net/~hjd/widelands/prodsite-null/+merge/175538
Your team Widelands Developers is requested to review the proposed merge of 
lp:~hjd/widelands/prodsite-null into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/workers_table into lp:widelands

2013-07-18 Thread cghislai
cghislai has proposed merging lp:~widelands-dev/widelands/workers_table into 
lp:widelands.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/workers_table/+merge/175635

Fix the workers table.
Besides the fix of Hans Joachim Desserud, another signal call was required.
I tested updates from _vacant to _coming, from _coming to the worker as well as 
gained experience.

-- 
https://code.launchpad.net/~widelands-dev/widelands/workers_table/+merge/175635
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/workers_table into lp:widelands.
=== modified file 'src/logic/productionsite.cc'
--- src/logic/productionsite.cc	2013-07-16 10:17:53 +
+++ src/logic/productionsite.cc	2013-07-18 16:59:30 +
@@ -582,6 +582,7 @@
 	// the last one we need to start working.
 	w->start_task_idle(game, 0, -1);
 	psite.try_start_working(game);
+	psite.workers_changed();
 }
 
 

=== modified file 'src/wui/productionsitewindow.cc'
--- src/wui/productionsitewindow.cc	2013-07-16 10:17:53 +
+++ src/wui/productionsitewindow.cc	2013-07-18 16:59:30 +
@@ -112,12 +112,14 @@
 void ProductionSite_Window::think()
 {
 	Building_Window::think();
-	// If we have pending requests, update table as the worker might be coming
+	// If we have pending requests, update table each tick.
+	// This is required to update from 'vacant' to 'coming'
 	for
 		(unsigned int i = 0;
 			i < productionsite().descr().nr_working_positions(); ++i)
 	{
-		if (productionsite().working_positions()[i].worker_request) {
+		Widelands::Request* r = productionsite().working_positions()[i].worker_request;
+		if (r) {
 			update_worker_table();
 			break;
 		}
@@ -133,69 +135,71 @@
 	(Interactive_GameBase & parent, UI::Window * & registry)
 {
 	ProductionSite_Window* win = new ProductionSite_Window(parent, *this, registry);
-	options_window_connections.push_back
-		(workers_changed.connect(boost::bind
+	Building::options_window_connections.push_back
+		(Building::workers_changed.connect(boost::bind
 			(&ProductionSite_Window::update_worker_table, boost::ref(*win;
 }
 
+
 void ProductionSite_Window::update_worker_table()
 {
-	if (m_worker_table) {
-		assert
-			(productionsite().descr().nr_working_positions() ==
-			 m_worker_table->size());
-
-		for
-			(unsigned int i = 0;
-			 i < productionsite().descr().nr_working_positions(); ++i)
-		{
-			const Widelands::Worker * worker =
-productionsite().working_positions()[i].worker;
-			const Widelands::Request * request =
-productionsite().working_positions()[i].worker_request;
-			UI::Table::Entry_Record & er =
-m_worker_table->get_record(i);
-
-			if (worker) {
-er.set_picture(0, worker->icon(), worker->descname());
-
-if
-	(worker->get_current_experience() != -1
-	 and
-	 worker->get_needed_experience () != -1)
-{
-	assert(worker->becomes());
-
-	// Fill upgrade status
-	char buffer[7];
-	snprintf
-		(buffer, sizeof(buffer),
-		 "%i/%i",
-		 worker->get_current_experience(),
-		 worker->get_needed_experience());
-
-	er.set_string(1, buffer);
-	er.set_string
-		(2, worker->tribe().get_worker_descr
-		 (worker->becomes())->descname());
-} else {
-	// Worker is not upgradeable
-	er.set_string(1, "---");
-	er.set_string(2, "---");
-}
-			} else if (request) {
-const Widelands::Worker_Descr * desc =
-	productionsite().tribe().get_worker_descr(request->get_index());
-er.set_picture
-	(0, desc->icon(),
-	 request->is_open() ? _("(vacant)") : _("(coming)"));
-
-er.set_string(1, "");
-er.set_string(2, "");
+	if (m_worker_table == NULL) {
+		return;
+	}
+	assert
+		(productionsite().descr().nr_working_positions() ==
+			m_worker_table->size());
+
+	for
+		(unsigned int i = 0;
+			i < productionsite().descr().nr_working_positions(); ++i)
+	{
+		const Widelands::Worker * worker =
+			productionsite().working_positions()[i].worker;
+		const Widelands::Request * request =
+			productionsite().working_positions()[i].worker_request;
+		UI::Table::Entry_Record & er =
+			m_worker_table->get_record(i);
+
+		if (worker) {
+			er.set_picture(0, worker->icon(), worker->descname());
+
+			if
+(worker->get_current_experience() != -1
+	and
+	worker->get_needed_experience () != -1)
+			{
+assert(worker->becomes());
+
+// Fill upgrade status
+char buffer[7];
+snprintf
+	(buffer, sizeof(buffer),
+		"%i/%i",
+		worker->get_current_experience(),
+		worker->get_needed_experience());
+
+er.set_string(1, buffer);
+er.set_string
+	(2, worker->tribe().get_worker_descr
+		(worker->becomes())->descname());
 			} else {
-// Occurs during cleanup
-return;
+// Worker is not upgradeable
+er.set_string(1, "---");
+er.set_string(2, "---");
 			}
+		} else if (request) {
+			const Widelands::Worker_Descr * desc

Re: [Widelands-dev] [Merge] lp:~hjd/widelands/prodsite-null into lp:widelands

2013-07-18 Thread cghislai
https://code.launchpad.net/~widelands-dev/widelands/workers_table/+merge/175635
-- 
https://code.launchpad.net/~hjd/widelands/prodsite-null/+merge/175538
Your team Widelands Developers is requested to review the proposed merge of 
lp:~hjd/widelands/prodsite-null into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/boost_static_assert into lp:widelands

2013-07-18 Thread cghislai
Yes i fetched that already for testing. I started to compile but I leave now, i 
will test in a few hours.
-- 
https://code.launchpad.net/~widelands-dev/widelands/boost_static_assert/+merge/175607
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/boost_static_assert into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~hjd/widelands/prodsite-null into lp:widelands

2013-07-18 Thread SirVer
The proposal to merge lp:~hjd/widelands/prodsite-null into lp:widelands has 
been updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~hjd/widelands/prodsite-null/+merge/175538
-- 
https://code.launchpad.net/~hjd/widelands/prodsite-null/+merge/175538
Your team Widelands Developers is requested to review the proposed merge of 
lp:~hjd/widelands/prodsite-null into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/workers_table into lp:widelands

2013-07-18 Thread noreply
The proposal to merge lp:~widelands-dev/widelands/workers_table into 
lp:widelands has been updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/workers_table/+merge/175635
-- 
https://code.launchpad.net/~widelands-dev/widelands/workers_table/+merge/175635
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/workers_table.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~hjd/widelands/prodsite-null into lp:widelands

2013-07-18 Thread SirVer
This is contained in charlys branch as well, so this is kinda merged. Thanks 
for finding this!
-- 
https://code.launchpad.net/~hjd/widelands/prodsite-null/+merge/175538
Your team Widelands Developers is requested to review the proposed merge of 
lp:~hjd/widelands/prodsite-null into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/workers_table into lp:widelands

2013-07-18 Thread SirVer
Review: Approve

LGTM. Merged.
-- 
https://code.launchpad.net/~widelands-dev/widelands/workers_table/+merge/175635
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/workers_table.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug657285 into lp:widelands

2013-07-18 Thread SirVer
Review: Needs Fixing

do not worry - you add code at a tremendous rate and WL has no test suite 
(well, only the Lua test suite which tests quite a bit of code actually. And 
the new rich text renderer). So regressions do happen.

I can have a look at the OpenGL ones too - it might be as trivial as clear() 
ing the surface before rendering onto it. Or maybe the width are wrongly 
reported or so.

I am not too sure about the solution you propose for the text renderer here. 
The problem I see is that legal tags could still be part of the filenames and 
look strange or even crash the game. The right solution seems to be to escape < 
and > when only the raw text is needed. The renderer supports \< and \> for 
that. Why did you not go for this?

Also pulling in #include "wui/mapview.h" into ui is not a good design. ui_basic 
is the buildingblocks of the ui and wui are the Widelands specific elements. 
Adding knowledge of a child class into this is code-smelly. Can you not reset 
the tooltip in panel if no one handles the mouse in?

-- 
https://code.launchpad.net/~widelands-dev/widelands/bug657285/+merge/175551
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug657285.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


[Widelands-dev] [Merge] lp:~widelands-dev/widelands/graphic_resetting into lp:widelands

2013-07-18 Thread noreply
The proposal to merge lp:~widelands-dev/widelands/graphic_resetting into 
lp:widelands has been updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/graphic_resetting/+merge/159985
-- 
https://code.launchpad.net/~widelands-dev/widelands/graphic_resetting/+merge/159985
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/graphic_resetting.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] Construction sites

2013-07-18 Thread Holger Rapp

On 18.07.2013, at 15:31, Teppo Maenpaa  wrote:

> On Wed, Jul 17, 2013 at 07:44:40AM +0200, Holger Rapp wrote:
> 
>> No, I do not think you are correct here. There is so much difference in the 
>> way people can or cannot perceive color. Brightness doesn't seem to be 
>> easily order-able for a human and the differences are harder to perceive.
> 
> Hi,
> 
> You are right in what you say, except that I still think I am right. If the 
> brightness, or "lightness" in HSL terms, is *sufficiently* different, all 
> will see a difference.
> 
> http://en.wikipedia.org/wiki/HSL_and_HSV

I see. Still I feel that overloading the colors with new information is not a 
very good approach. I am also not convinced that those colors stick around - I 
find them quite irritating while playing actually. I expect bug reports about 
them in the future :).

>> I used to think the same till I regularly gave slides for my presentations 
>> to a red-green deficient colleague of mine. And it was really hard to 
>> predict what he could or could not distinguish.
> 
> I know. Also, not all color impaired are red-green type.
> 
>> We do not do flame wars here - people voice their opinion and then we make a 
>> decision and move forward. Flame wars haven't been a big problem for 
>> Widelands in a long time :).
> 
> There are new people joining WL team now and them, and most people have never 
> met in person I would guess. Flame wars happen very easily in those 
> conditions.
I have never met most of the people that work on Widelands :). We are very 
reasonable people here and we always find solutions.

> 
>> I wanted to add some more constructive discussion to the suggestion. For me 
>> this idea gives us the chance to consolidate the information we currently 
>> have in the game. For example for workers we show "vacant" and "missing" 
>> next to them to is the building window - this suggestion can allow us to do 
>> the same for wares.
> 
> I would not write these minor notes in full text: as the various on-screen 
> text already overlap with each other now and then, at least in some 
> localizations. More text makes the problem worse. A possible work-around 
> would be to add special characters to the percent-string. Here the challenge 
> would be to find an easy-to-get language independent symbol. Like putting the 
> percentage to parentheses when wares are missing, and appending an 
> exclamation mark when all needed wares are present. This would fix the 
> color-impair issue for sure, and still adding colors could make it more 
> intuitive for the majority.
> 
>> Instead, I suggest adding "status panes" to the building statistics - small 
>> pictures (maybe 10x10 pixel) that show the status of the building. Wares 
>> missing, Workers missing, Building stopped and so on could all be such panes 
>> and they are displayed hovering over the building or in the tooltip.
> [many details clipped]
> 
> Really good long-term goal. I think that this is the way to go, in terms of 
> future year releases.
Actually this is very easy right now: the strings can contain  rich texts. 
See for example test/richtext/tests/sub_fixedwidth_floatleftimg. Bigger 
versions of the icons could be displayed inside the window - that would make 
them easier to recognise though 10x10 is tiny.

> Regarding the coming release, I still see the colors worth adding.
I'd much prefer something really nice in b19 than something rushed in b18. We 
always did it that way. Also, we are nearly 2 month from the feature freeze.

>> Isn't this a cleaner approach that could scale better to other information 
>> than using colors?
> 
> Yes, it is a mighty longer term goal worth remembering -> bug report?
Or just implement it :). Well, bug report can never hurt I guess. I think it is 
insignificant more work than using colors - just the additional images in the 
building window. BjornKeks in the forums agreed to provide graphics for the 
"prefer rookies" and "prefer heros" buttons. He might help out here as well - 
he is very responding and very capable. Just contact him or ask on the forum if 
he would want to make button images. What do you think?

Cheers,
Holger

> 
> Regards,
> 
> 
>   Teppo
> 
> ___
> Mailing list: https://launchpad.net/~widelands-dev
> Post to : widelands-dev@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~widelands-dev
> More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cxx11 into lp:widelands

2013-07-18 Thread SirVer
This should compile nicely in GCC 4.3 I think (which was released in March 5, 
2008). Looking over http://gcc.gnu.org/projects/cxx0x.html would make me think 
that we could get by with GCC 4.5 for a while - we would gradually adopt c++ 11 
features into the code base. I have no idea about clang (but it usually was 
quicker with adopting the standard) and Visual Studio (no idea here.).

I think it is time to do this move. 
-- 
https://code.launchpad.net/~widelands-dev/widelands/cxx11/+merge/175455
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/cxx11 into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cxx11 into lp:widelands

2013-07-18 Thread cghislai
Indeed it compiled fine on my linux gcc 4.8.1. And without a warning (well, 1). 
If this is merged my branch about BOOST_STATIC_ASSERT could be dropped.

I think widelands has always been a stable product - please allow me to 
reiterate my apologies concerning the ui_improvement fixes that introduced some 
regression. I do not know much about supporting old setups as I always have 
kept system up to date. I think supporting old hardware is a nice feature; 
however I don't think forcing the move to 'new' compilers will be much of an 
obstacle, especially in these days, where you ca setup a compiler farm for free 
in some cloud.

I will support this move.
-- 
https://code.launchpad.net/~widelands-dev/widelands/cxx11/+merge/175455
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/cxx11 into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug657285 into lp:widelands

2013-07-18 Thread cghislai
Review: Approve

You are right, I was quite in a hurry to correct those bugs and the solutions I 
proposed here weren't by far the optimal ones.

I saw that escaping <> characters were supported. I first went for that then 
for some reason thought it would be best to handle that at the source directly. 
I thought about translators that might introduce false tags. I didn't even 
think about filenames, but still, the syntax exception crash the game with 
current code.

Concerning the tooltip, I totally agree about the design issue. I will try your 
suggestion, but Im afraid the tooltip behaviour will change too much with it, 
as every element seems to be a panel, and that mousein events occur all the 
time with statistics turned on for instance. A cast to Window may solve this. 
The other solution I first tried was to handle this case separately in every 
wui window. While it worked as intended, I thought it would be one more thing 
to implement on every window, and I looked for a more general solution, again.
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug657285/+merge/175551
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug657285.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug657285 into lp:widelands

2013-07-18 Thread cghislai
Review: Abstain


-- 
https://code.launchpad.net/~widelands-dev/widelands/bug657285/+merge/175551
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug657285.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/bug657285 into lp:widelands

2013-07-18 Thread SirVer
About the tooltips: I think it should be another event. So, when the UI decides 
that it would like to show a tooltip, it calls "OnTooltip" or so on the current 
panels (very similar to how mousein behaves) and each of them can report with 
"true" to set the tooltip or false to pass on to the next panel one further 
down. That should solve the issues with a pattern that we use all over the UI 
code.

-- 
https://code.launchpad.net/~widelands-dev/widelands/bug657285/+merge/175551
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/bug657285.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Widelands-dev] [Merge] lp:~widelands-dev/widelands/cxx11 into lp:widelands

2013-07-18 Thread Tino
A first quick test: It does not compile on mingw32 with gcc 4.7.2.
At the beginning, gcc fails to find an include (mman.h) in basic_fileread.h:

   #ifdef WIN32
   #else
   #include 
   #endif

I am completely lost why, because:
- it does not differ from trunk
- it is the else case => should not be included on win32

Sometimes, no most of the times i just can't understand C++ compiling ;). 




-- 
https://code.launchpad.net/~widelands-dev/widelands/cxx11/+merge/175455
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/cxx11 into lp:widelands.

___
Mailing list: https://launchpad.net/~widelands-dev
Post to : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp