Merge branch 'master' of github.com:wesnoth/wesnoth-old

This commit is contained in:
Alexander van Gessel 2014-02-08 03:10:03 +01:00
commit f56d093920
13 changed files with 53 additions and 99 deletions

View file

@ -18,6 +18,10 @@ CHANGES
Based on the feedback we have gotten, we turned gold saving off by default for the RCA AI. There is no clear overall benefit to having it turned on and it would require many scenarios to be rebalanced. There are, however, individual scenarios which definitely benefit from enabling gold saving. Help with identifying such scenarios will be much appreciated.
[/section]
[section="Son of the Black Eye campaign rebalancing"]
Rebalancing of the campaign continues and is done for scenarios 1 (“End of Peace”) through 12 (“Giving Some Back”). [b]Play-testing and feedback by others would be extremely helpful at this time.[/b] The first newly rebalanced scenario of this release is “Shan Taum the Smug”, but some earlier scenarios have seen minor changes as well.
[/section]
[section="Example section header"]
Example contents.
[/section]

View file

@ -1,6 +1,6 @@
Version 1.11.8+dev:
* AI:
* RCA (default) AI: Gold saving is turned off by default again
* Default AI: Gold saving is turned off by default again
* New macros AI_SAVE_GOLD and AI_SAVE_GOLD_DEFAULT for easy enabling of
recruitment gold saving in specific scenarios
* Wolves Micro AI: new optional parameter attack_only_prey=
@ -8,6 +8,14 @@ Version 1.11.8+dev:
* Heir to the Throne:
* Gave Li'sar a new ability "initiative" (grants adjacent allies first
strike in melee).
* Son of the Black Eye:
* Rebalancing of the campaign continues and is done for Scenarios 1 (End
of Peace) through 12 (Giving Some Back). In addition, the following
not directly balance related changes have also been made:
* S3: remove AI controller right-click menu option
* S4 & S9: make AI attack enemies 1 XP from leveling so that it is not
possible to block key locations with such units
* S10 & S12: don't give huge unannounced gold bonus to AIs
* Editor:
* Added Impassable Overlay and Unwalkable Overlay terrains to the obstacle
group.
@ -18,14 +26,17 @@ Version 1.11.8+dev:
* Updated translations: Dutch, Portuguese, Scottish Gaelic
* Lua API:
* Added wesnoth.set_dialog_markup function (patch #2759).
* Multiplayer
* Updated map: Ruins of Terra-Dwelve.
* Terrains:
* Made Snowy Encampment, Snowy Orcish Castle, Snowy Encampment Keep and Snowy
Orcish Keep aliases of both castle and frozen terrains
* Units:
* Decreased the strikes of the Dwarvish Lord's hatchet attack from 2 to 1.
* Fixed subtle magenta TC for the Giant Mudcrawler sprites not being
enabled in-game.
* Multiplayer
*Minor tweaks to Ruins of Terra-Dwelve
* Unit changes and balancing:
* Decreased the strikes of the Dwarvish Lord's hatchet attack from 2 to 1.
* User interface:
* Restored the old control scheme as the default
* Fixed hidden variations of unit types (hide_help=yes) being listed in the
help browser when they shouldn't.
* Gray-out GUI1 scrollbar upwards scrolling button by default when starting
@ -36,7 +47,6 @@ Version 1.11.8+dev:
* Team color is now applied on the Unknown unit icon in the game Status
Table regardless of whether the side's leader unit supports team color.
* Miscellaneous and bug fixes:
* Properly disabled commands in linger mode (bug #21450)
* Added -Wno-documentation-deprecated-sync to the CMake pedantic flags.
* Fixed several Doxygen issues found by Clang 3.4.
* Fixed possible invalid memory access issue in the MP sides configuration

View file

@ -4,7 +4,7 @@
id=12_Giving_Some_Back
name= _ "Giving Some Back"
map_data="{campaigns/Son_Of_The_Black_Eye/maps/12_Giving_Some_Back.map}"
{TURNS 28 24 20}
turns=18
{SCENARIO_MUSIC "the_city_falls.ogg"}
{EXTRA_SCENARIO_MUSIC "battle.ogg"}
@ -58,7 +58,7 @@
controller=human
team_name=Kapoue
user_team_name=_ "Kapoue"
gold=300
gold=250
{BLACK_FLAG}
[/side]
@ -67,13 +67,13 @@
[side]
# wmllint: who ALBROCK_SIDE is Al'Brock
{ALBROCK_SIDE}
{GOLD 300 250 200}
{GOLD 200 150 125}
[/side]
[side]
# wmllint: who FLARTAR_SIDE is Flar'Tar
{FLARTAR_SIDE}
{GOLD 300 250 200}
{GOLD 200 150 125}
[/side]
[side]
@ -86,7 +86,8 @@
recruit=Dragoon, Swordsman, Pikeman, Longbowman,Shock Trooper,Mage,Duelist,White Mage,Red Mage,Lancer,Knight
team_name=villains
user_team_name=_"Villains"
{GOLD 300 350 400}
{GOLD 400 500 600}
{INCOME 15 25 35}
[ai]
passive_leader=yes
@ -94,7 +95,7 @@
{FLAG_VARIANT loyalist}
[/side]
{STARTING_VILLAGES 4 6}
{STARTING_VILLAGES 4 12}
[side]
type=Lieutenant
@ -106,6 +107,7 @@
team_name=villains
user_team_name=_"Villains"
{GOLD 200 250 300}
{INCOME 7 12 17}
[ai]
passive_leader=yes
@ -211,24 +213,6 @@
[/message]
[/event]
[event]
name=die
[filter]
id=Hanak
[/filter]
[message]
speaker=Arthain
message= _ "The orcs are making headway. The city must not fall — call the reserves!"
[/message]
[gold]
side=4
amount=400
[/gold]
[/event]
[event]
name=enemies defeated

View file

@ -15,12 +15,12 @@
[hotkey]
button=1
command="selecthex"
command="selectmoveaction"
mouse=0
[/hotkey]
[hotkey]
button=3
command="moveaction"
command="deselecthex"
mouse=0
[/hotkey]

View file

@ -1546,7 +1546,7 @@ Merfolk and nagas have 60% defense in submerged villages, whereas land based uni
name= _ "Encampment"
editor_name= _ "Snowy Encampment"
string=Cea
aliasof=Ct
aliasof=Ct, At
unit_height_adjust=3
recruit_onto=true
editor_group=castle, frozen
@ -1570,7 +1570,7 @@ Merfolk and nagas have 60% defense in submerged villages, whereas land based uni
name= _ "Castle"
editor_name= _ "Snowy Orcish Castle"
string=Coa
aliasof=Ct
aliasof=Ct, At
unit_height_adjust=3
recruit_onto=true
editor_group=castle, frozen
@ -1603,7 +1603,7 @@ Merfolk and nagas have 60% defense in submerged villages, whereas land based uni
symbol_image=castle/elven/tile
id=elven_castle
name= _ "Castle"
editor_name= _ "Elvish Castle"
editor_name= _ "Elven Castle"
string=Cv
aliasof=Ct
unit_height_adjust=3
@ -1720,7 +1720,7 @@ Merfolk and nagas have 60% defense in submerged villages, whereas land based uni
name= _ "Encampment Keep"
editor_name= _ "Snowy Encampment Keep"
string=Kea
aliasof=Ct
aliasof=Ct, At
unit_height_adjust=0
recruit_from=true
recruit_onto=true
@ -1746,7 +1746,7 @@ Merfolk and nagas have 60% defense in submerged villages, whereas land based uni
name= _ "Keep"
editor_name= _ "Snowy Orcish Keep"
string=Koa
aliasof=Ct
aliasof=Ct, At
unit_height_adjust=17
recruit_from=true
recruit_onto=true

View file

@ -1639,14 +1639,14 @@ def global_sanity_check(filename, lines):
present.append(value)
elif value and value[0] in ("$", "{"):
continue
elif preamble_seen and subtag_depth > 0 and not ignore_id and not in_object and not in_cfg and not in_facet and not in_sound_source and not in_remove_sound_source and not in_stage and not in_goal and not in_set_menu_item and not directly_in_event[-1] and not in_time_area:
elif preamble_seen and subtag_depth > 0 and not ignore_id and not in_object and not in_cfg and not in_facet and not in_sound_source and not in_remove_sound_source and not in_stage and not in_goal and not in_set_menu_item and not in_clear_menu_item and not directly_in_event[-1] and not in_time_area:
ids = value.split(",")
for j in xrange(len(ids)):
# removal of leading whitespace of items in comma-separated lists
# is usually supported in the mainline wesnoth lua scripts
# not sure about trailing one
# also, do not complain about ids if they're referred to a menu item being cleared
if ids[j].lstrip() not in present and not in_clear_menu_item:
if ids[j].lstrip() not in present:
print '"%s", line %d: unknown \'%s\' referred to by id' \
% (filename, i+1, ids[j])
if (in_scenario or in_multiplayer) and key == "speaker":

View file

@ -4,21 +4,26 @@ changelog: https://github.com/wesnoth/wesnoth-old/blob/master/changelog
Version 1.11.8+dev:
* AI:
* RCA (default) AI: Gold saving is turned off by default again
* Default AI: Gold saving is turned off by default again.
* Campaigns:
* Heir to the Throne:
* Gave Li'sar a new ability "initiative" (grants adjacent allies first
strike in melee).
* Son of the Black Eye:
* Rebalancing of the campaign continues and is done for Scenarios 1 (End
of Peace) through 8 (Giving Some Back).
* Language and i18n:
* Updated translations: Dutch, Portuguese, Scottish Gaelic.
* Unit changes and balancing:
* Units:
* Decreased the strikes of the Dwarvish Lord's hatchet attack from 2 to 1.
* Fixed subtle magenta TC for the Giant Mudcrawler sprites not being
enabled in-game.
* User interface:
* Restored the old controll scheme as the default
* Fixed hidden variations of unit types (hide_help=yes) being listed in the
help browser when they shouldn't.
* Truncate long Advanced Preferences entries with ellipses to avoid
@ -27,7 +32,6 @@ Version 1.11.8+dev:
Table regardless of whether the side's leader unit supports team color.
* Miscellaneous and bug fixes:
* Properly disabled commands in linger mode (bug #21450)
* Fixed possible invalid memory access issue in the MP sides configuration
code causing crashes for some users (bug #21449).
* Fixed broken image references in the Gameplay -> Time of Day help topic.

View file

@ -191,7 +191,6 @@ namespace {
* If a script is defined but can't be executed it will return false
*/
void fire(const std::string& hook, const std::string& addon);
void convert_binary_to_gzip();
int load_config(); // return the server port
const config &campaigns() const { return cfg_.child("campaigns"); }
config &campaigns() { return cfg_.child("campaigns"); }
@ -335,58 +334,9 @@ namespace {
copying["contents"] = contents;
}
/// @todo Check if this function has any purpose left
void campaign_server::convert_binary_to_gzip()
{
if (!cfg_["encoded"].to_bool())
{
// Convert all addons to gzip
config::const_child_itors camps = campaigns().child_range("campaign");
LOG_CS << "Encoding all stored addons. Number of addons: "
<< std::distance(camps.first, camps.second) << '\n';
BOOST_FOREACH(const config &cm, camps)
{
LOG_CS << "Encoding " << cm["name"] << '\n';
std::string filename = cm["filename"], newfilename = filename + ".new";
{
scoped_istream in_file = istream_file(filename);
boost::iostreams::filtering_stream<boost::iostreams::input> in_filter;
in_filter.push(boost::iostreams::gzip_decompressor());
in_filter.push(*in_file);
scoped_ostream out_file = ostream_file(newfilename);
boost::iostreams::filtering_stream<boost::iostreams::output> out_filter;
out_filter.push(boost::iostreams::gzip_compressor(boost::iostreams::gzip_params(compress_level_)));
out_filter.push(*out_file);
unsigned char c = in_filter.get();
while( in_filter.good())
{
if (needs_escaping(c) && c != '\x01')
{
out_filter.put('\x01');
out_filter.put(c+1);
} else {
out_filter.put(c);
}
c = in_filter.get();
}
}
std::remove(filename.c_str());
std::rename(newfilename.c_str(), filename.c_str());
}
cfg_["encoded"] = true;
}
}
void campaign_server::run()
{
convert_binary_to_gzip();
if (!cfg_["control_socket"].empty())
input_ = new input_stream(cfg_["control_socket"]);

View file

@ -890,13 +890,11 @@ bool editor_controller::execute_command(const hotkey::hotkey_command& cmd, int i
context_manager_->get_map_context().new_side();
gui_->init_flags();
return true;
case HOTKEY_EDITOR_SIDE_REMOVE:
gui_->set_team(0, true);
gui_->set_playing_team(0);
context_manager_->get_map_context().remove_side();
return true;
case HOTKEY_EDITOR_SIDE_EDIT:
context_manager_->edit_side_dialog(gui_->viewing_team());
return true;

View file

@ -214,7 +214,7 @@ void show_hotkeys_preferences_dialog(display& disp) {
// tab names and icons
items.push_back(pre + "general.png" + sep
+ sgettext("Prefs section^General"));
items.push_back(pre + "title_screen.png" + sep
items.push_back(pre + "titlescreen.png" + sep
+ sgettext("Prefs section^Title Screen"));
items.push_back(pre + "game.png" + sep
+ sgettext("Prefs section^Game"));

View file

@ -1923,7 +1923,7 @@ class console_handler : public map_command_handler<console_handler>, private cha
using chmap::get_commands_list;
protected:
//chat_command_handler's init_map() and hanlers will end up calling these.
//chat_command_handler's init_map() and handlers will end up calling these.
//this makes sure the commands end up in our map
virtual void register_command(const std::string& cmd,
chat_command_handler::command_handler h, const std::string& help="",

View file

@ -275,7 +275,9 @@ void playmp_controller::reset_end_scenario_button()
void playmp_controller::linger()
{
LOG_NG << "beginning end-of-scenario linger\n";
const events::command_disabler disable_commands;
// TODO this seemed the right way to handle bug #21450
// but it is causing to end scenario button to be disabled
//const events::command_disabler disable_commands;
browse_ = true;
linger_ = true;
// If we need to set the status depending on the completion state

View file

@ -752,7 +752,9 @@ struct set_completion
void playsingle_controller::linger()
{
LOG_NG << "beginning end-of-scenario linger\n";
const events::command_disabler disable_commands;
// TODO this seemed the right way to handle bug #21450
// but it is causing to end scenario button to be disabled
//const events::command_disabler disable_commands;
browse_ = true;
linger_ = true;