Merge lp:~victor-pelt/widelands/workers into lp:widelands

Proposed by Victor Pelt
Status: Rejected
Rejected by: Hans Joachim Desserud
Proposed branch: lp:~victor-pelt/widelands/workers
Merge into: lp:widelands
Diff against target: 1057 lines (+544/-42)
23 files modified
src/logic/building.cc (+26/-1)
src/logic/building.h (+4/-0)
src/logic/constructionsite.cc (+23/-0)
src/logic/constructionsite.h (+2/-0)
src/logic/game.cc (+7/-0)
src/logic/game.h (+1/-0)
src/logic/immovable.cc (+1/-0)
src/logic/militarysite.cc (+15/-0)
src/logic/militarysite.h (+2/-0)
src/logic/player.cc (+21/-0)
src/logic/player.h (+1/-0)
src/logic/playercommand.cc (+60/-1)
src/logic/playercommand.h (+24/-0)
src/logic/production_program.cc (+8/-8)
src/logic/production_program.h (+4/-1)
src/logic/productionsite.cc (+69/-24)
src/logic/productionsite.h (+9/-2)
src/map_io/widelands_map_buildingdata_data_packet.cc (+4/-4)
src/wui/buildingwindow.cc (+28/-1)
src/wui/buildingwindow.h (+1/-0)
src/wui/evictconfirm.cc (+180/-0)
src/wui/evictconfirm.h (+35/-0)
tribes/barbarians/conf (+19/-0)
To merge this branch: bzr merge lp:~victor-pelt/widelands/workers
Reviewer Review Type Date Requested Status
Nasenbaer Needs Fixing
Nicolai Hähnle Needs Fixing
SirVer Needs Fixing
Review via email: mp+22750@code.launchpad.net

Description of the change

implement an evict button as well as a production program
to merge after build 15

To post a comment you must log in.
lp:~victor-pelt/widelands/workers updated
5189. By Victor Pelt <peltco@Voyager>

code cleanup
passing by reference
const issues

Revision history for this message
SirVer (sirver) wrote :

Looks good so far. Just two things: there are text conflicts against trunk, there will likely be some more when Lua is merged. Second: what does the worker program do? Is this to automatically evict workers? Can you provide a proof of concept enhancement to eg. one of the mines?

review: Needs Fixing
lp:~victor-pelt/widelands/workers updated
5190. By SirVer

Merged atlantean castle menu graphics update

5191. By Victor Pelt <peltco@Voyager>

fix for non-opengl capable system

5192. By Victor Pelt <peltco@Voyager>

style fixes

5193. By SirVer

Fixed a small bug in buildlocale.py

5194. By SirVer

Two colored empire flag

5195. By SirVer

Made Atlantean flag plateau smaller. The clipping bug is then very hard to see and maybe does not longer disturb. Also made the atlantean flag two colored

5196. By SirVer

Moved some mac os x packagers to the section where they belong.

5197. By SirVer

merged hotspot fixes for barbarians

5198. By SirVer

Merged chucks resized barbarian buildings

5199. By SirVer

Merged chucks fixed scouts hut picture

5200. By SirVer

Atlantean flag was too dark. Lightened it up a bit

5201. By SirVer

Merged latest translations

5202. By SirVer

Merged Tinos usage fixes branch

5203. By SirVer

Added a tool to quickly detect and fix illegal line breaks in translations

5204. By SirVer

Merged latest translations

5205. By SirVer

Fixed remaining illegal linebreaks in translations

5206. By SirVer

Fixed --localedir cmdline option which would only work for the very first textdomain grabbed

Revision history for this message
Nicolai Hähnle (nha) wrote :

1. In Player::evict:
1a. the bulldoze parameter is meaningless
1b. the check should be PCap_Evict instead of PCap_Bulldoze
1c. never throw an exception in code that is triggered from PlayerCommands, otherwise a rogue client could cause a server crash. So just print a diagnostic log() instead of the exception (also, there is a typo in the message)

2. Cmd_Evict:
2a. again, the recurse parameter makes no sense
2b. what's the point of starting a newly created command save format at version 2?

3. I am also curious about what the part in the worker program is good for.

4. You typo'd "bulldoze" in a file name. (Ironically, I did the exact same refactoring of BulldozeConfirm in my branch lp:~nha/widelands/refactor-building-ui; too bad I didn't see your changes before, we'll have to do some manual merging there)

5. In your wui changes, the PCap_Evict check is commented out, respectively incorrectly a PCap_Bulldoze check in the EvictConfirm dialog.

review: Needs Fixing
lp:~victor-pelt/widelands/workers updated
5207. By SirVer

Reintroduced fix for bug introduced in 5169 which was accidentally reverted in the merge commit 5196. Damn

5208. By SirVer

Merged ~360 commits worth of Lua enhancements. This commit breaks scenario save
games and maybe other save games as well.

- Added Lua implementation, including persitence layer, tests, documentation,
  internationalization in scripts
- Added documentation for the widelands richt text and a tutorial.
- Removed Triggers, Events, Map variables + all UI for it. Removed Command
  Checking for Triggers and Events.
- Ported all scenario maps in campaigns and the green valley to Lua
- Introduced Player initialization via Lua. Added documentation for it.
- Also introduced Lua into the Editor. This is work in progress, doesn't hurt at
  the moment but doesn't help either.
- Added a new tutorial explaining the game basics. Work in Progress.

5209. By Nicolai Hähnle

Merge lp:~nha/widelands/fixes

Changes:
- Improve soldier performance (bug #536211)
- Workers reserve immovables they are going to work on (bug #536297)
- Improve text edit behavior when entering very long chat messages
- Reduce log()-message spam on the console (use --verbose to reenable)
- Various general cleanups

5210. By SirVer

Update translation templates. Testing lua gettext

5211. By SirVer

Merged Nasenbaer's and my win-condition branch

- Add possibility to script winning conditions via Lua
- Only two very simple scripts are included which could use some improvement. I
  trust that others will take this over.

Note: This code is most useful in network games but has not been tested in one.
It should be safe though as it should be completely deterministic.

5212. By SirVer

Fixed a typo in utils/buildcat.py

5213. By SirVer

Update translation templates to include win conditions

5214. By Nasenbaer

Do not hardcode language list anymore - this A) makes it easier and more dynamic to add languages (no recompile) - and B) will now only show the installed/found languages.

5215. By Nasenbaer

Merge current version of my map fixes and improvements branch

5216. By Nasenbaer

use localedir from config/commandline instead of hardcoded 'locale' in language selection.

5217. By SirVer

Merge chucks menu worker pictures

5218. By SirVer

Fixed tutorial start up which got broken through win-conditions merge

5219. By SirVer

Story Message Boxes should not be closed by right clicking, otherwise they are accidentally closed when they pop up

5220. By Nasenbaer

As requested by the chieftain ;) - here is a new map for the new excellent tutorial

5221. By Nicolai Hähnle

Merge lp:~aber/widelands/osx-locale-path-fix:

    David Allwicher 2010-04-16 [OSX] locale path fix

5222. By Nicolai Hähnle

Loading: preserve compatibility with build15, drop compat for build <=10

5223. By Nicolai Hähnle

Merge lp:~nha/widelands/refactor-building-ui

Building windows with multiple "pages" consistently use tabs to switch between
them. Furthermore, some fixes to selections in the soldiers list as well
as general cleanups and refactorings in the wui code.

  Nicolai Hähnle 2010-04-17 wui: Improve UI::Table sorting and cleanup GameMessageMenu
  Nicolai Hähnle 2010-04-17 wui: Refactor building windows to use a consistent tabbed scheme
  Nicolai Hähnle 2010-04-16 wui: Minor cleanups
  Nicolai Hähnle 2010-04-14 wui: Factor common soldier list functionality into a new SoldierList class
  Nicolai Hähnle 2010-04-14 UI::Table: Fix selection update when item is removed
  Nicolai Hähnle 2010-04-14 wui: Move remaining building windows into separate files
  Nicolai Hähnle 2010-04-14 wui: Fix build errors
  Nicolai Hähnle 2010-04-14 wui: Extract some building windows into their own source files
  Nicolai Hähnle 2010-04-13 wui: Move BulldozeConfirm and WaresQueueDisplay out into separate files
  Nicolai Hähnle 2010-04-13 wui: Add comments

5224. By Nicolai Hähnle

Attempt to fix build problem with older versions of g++

5225. By Timowi

Changed reference to pointer

5226. By Jens Beyer (Qcumber-some)

Added scripting dir to symlinks for make lang

5227. By Nicolai Hähnle

Fix MapObjectDebugWindow to conform with new UI layouting semantics

5228. By Jens Beyer (Qcumber-some)

make install should copy the scripting dir

5229. By Nicolai Hähnle

Add "mapobject" command to debug console to open debug windows

Also, improve usability of this feature when the mapobject refers to a flag.

5230. By Timowi

Small fix to build_and_run script to accept more than one option to CFLAGS

5231. By Nicolai Hähnle

Carrier & Flag: additional log_general_info() info for debuggin

5232. By Nicolai Hähnle

Fix a subtle bug when roads are removed and built again

When a road attached to a flag was removed while its carrier was on its way
to pick up an item, then depending on the precise circumstances, this item
was sometimes not reset as waiting for a carrier.

As a result, when the exact same road was then later rebuilt, the item could
get stuck "forever".

5233. By SirVer

Merged Soeb's spelling fixes

5234. By SirVer

Merged english improvements branch for barbarians mission 1 by angreeone

5235. By SirVer

Language fixes in some scenario texts by Hanna

5236. By Victor Pelt <peltco@Voyager>

relative code paths for linux

5237. By Victor Pelt <peltco@Voyager>

allow changes of the widelands 'home' directory (where saves/replays are stored)

5238. By SirVer

Renamed aux.rst because it is a reserved filename under windows

5239. By SirVer

Added an include to fix compilation on mingw

5240. By SirVer

Merged chucks awesome new worker set

5241. By SirVer

Added a new animation to constructionsites that is played as soon as the builder arrives there

5242. By Timowi

Catch segfault if amount>max_amount. Throws gamedata exception now

5243. By Victor Pelt <peltco@Voyager>

idx should be unsigned (non negative)

5244. By Victor Pelt <peltco@Voyager>

remove dead code

5245. By SirVer

Fixed a mistake in lua script registering on windows

5246. By SirVer

Replaced some placeholder graphics with better placeholder graphics by chuckw

5247. By Nicolai Hähnle

Fix bug #566246: Broken Building Statistics Window due to recent UI changes

5248. By Nicolai Hähnle

Show workarea by default and move BuildingWindow such that mouse is over workarea button

See bug #566250. The accidental feature referenced in that bug report is thus
made official.

5249. By SirVer

Fixed some english in emp01.wmf

5250. By SirVer

Updated language catalogs

5251. By Jari Hautio

Fixed invalid assignment that caused editor to crash on windows.

5252. By Jari Hautio

Fixed to build with visual studio.

5253. By SirVer

Made empire barracks more useful

5254. By SirVer

added some more starting ironore to t03.wmf and fixed bug that red player could be settled around

5255. By SirVer

added cattlefarm + a small message to t03.wmf

5256. By Nasenbaer

Fix regression from my language selection change - now English is shown again. Further change 'System default language' to 'Try system language', as not all languages are available.

5257. By Nasenbaer

Merge current version of my map_fixes_and_improvements branch

5258. By Nasenbaer

Fix directory browsing in Map save dialog of the editor + a bunch of comment fixes

5259. By SirVer

Merged new builder animations from chuck

5260. By SirVer

Merged new worker graphics from chuck

5261. By Nasenbaer

merge current version of map_fixes_and_improvements branch

5262. By Nicolai Hähnle

Change the sudden death key from F10 to Ctrl+F10

This should be enough to stop people from hitting it by accident.

5263. By Nicolai Hähnle

Fix bug #568371: Stray numbers in player table in GGZ menu

Sorting by user type is now done explicitly.

5264. By Nicolai Hähnle

Stock menu: Use tabs and add warehouse-only tabs

This fixes bugs #568368 and #568366 (rather, wishlist items).

5265. By Nicolai Hähnle

Add hotkeys N, G, and Delete to message window

N: toggle the message window
G: go to currently viewed message
Delete: archive the currently viewed message

5266. By Nicolai Hähnle

Fix bug #536373: Race between "transfer" and "cancel" signals

If a gowarehouse task received a transfer (and thus a "transfer" signal), but
the transfer is almost immediately cancelled before the gowarehouse task is
replaced by a transfer task, the transfer wasn't cleaned up properly. Fix this
problem.

Additionally, don't fail a transfer immediately just because we've been
blocked by a battle (this avoid crazy ping-pong generation and cancellation
of transfers, and so should also help performance during battle).

5267. By Nicolai Hähnle

Show full length of wares queues

5268. By Nicolai Hähnle

Give fugitives a higher chance to find home successfully.

5269. By Jari Hautio

Options dialog uses no a copy of SDL_PixelFormat structure instead of changing bitperpixel always to 32pbm.

5270. By Nasenbaer

Fix bug #569686 - Gametype is selectable when loading a multiplayer game + some code improvements (working towards a fix for 569737)

5271. By Nasenbaer

Fix bug #569737 - failed assert when trying to overwrite save

5272. By Jens Beyer

Small typo in texts, failing make lang, corrected

Revision history for this message
Victor Pelt (victor-pelt) wrote :

barbarians have a 'training mine' worker will get kicked out when no experience is needed. this is to showcase the capabilities not intended as is. but it allows for writing more complex programs /buildings (like a school where workers leave)

todo: eject just a specific worker. right now it's an all or nothing thing
todo: code cleanup

want to get this in before build 16 but will do code cleanup first

lp:~victor-pelt/widelands/workers updated
5273. By SirVer

Merged new graphics from chuck

5274. By SirVer

Adding UI scripting + watch-me-do functionality for tutorials:

- Added UI::NamedPanel, a UI::Panel with a name so that it can be accessed from
  Lua
- Changed UI::TabPanel so that Tabs are NamedPanels
- Changed UI::Button so that Buttons are Named Panels
- Changed UI::Icongrid to use Flat buttons instead of custom homebrewn code.
  Removed a lot of dead code there.
- added wl.ui module that allows for UI scripting. It represents the user interface as Tree structure
  with wl.ui.MapView as root. Added tests and documentation.
- Moved some UI related stuff from wl.game.Player to wl.ui.MapView
- Renamed some functions in the auxiliary library, added new convenient functions.
- Enhanced the tutorial.

5275. By SirVer

Merged chucks farm productivity balance fixes

5276. By SirVer

Updated messages catalog

5277. By SirVer

Fixed a typo: the tutorial started in the middle

5278. By SirVer

Updated catalogs again

5279. By SirVer

Fixed textdomain in tutorial

5280. By Raul Ferriz

Restored behavior on capacity buttons at soldier capacity control.

5281. By SirVer

Merged latest frontier graphics from chuck

5282. By SirVer

Fixed a type

5283. By SirVer

Typo fixes from chuck

5284. By SirVer

Removed some remaining documentation for triggers and events

5285. By Nicolai Hähnle

Fix bug #572383: Wrong usage of constructors

Patch by Pavol Rusnak

5286. By Nicolai Hähnle

Remove flag display in the building statistic menu (bug #568373)

5287. By Nicolai Hähnle

Remove legacy code in loading routines, breaking compatibility with build <=12

Savegames created using build13 or later should in theory still work, and at
least superficial testing works fine.

5288. By SirVer

Big update to the tutorial mission

Tutorial scenario:
* made tutorial more robust against bad user input
  - by allowing user input to be completely suppressed
  - by adding a coroutine that rips everything the user builds when he shouldn't build anything.
* typo and grammatical fixes
* added infos about census & statistics
* added a chapter about resources & mining
* added infos about the mini map
* added a chapter about soldiers, training and warfare
* added mission objectives

Code:
* minimal Lua wrappings for constructionsites
* new functions to suppress user input processing in the UI
* new property fields in base immovables that offers the reverse mapping from Field.immovable
* possibility to disable autosave from lua code. This should get rid of a few
  "Attemping to persist a c function errors"

5289. By SirVer

Fixed a stupidity glitch from me

5290. By SirVer

Added stack traceback to debug output.

5291. By SirVer

Fixed a bug related to build in iterator functions pairs() and ipairs().

5292. By SirVer

Fixed a bug in the tutorial where the quarry constructionsite could already be gone, but we tried to access its field

5293. By SirVer

Fixed a regression were names of buildings were not displayed in the build grid

5294. By SirVer

Major overhaul of t02.wmf

- removed all game logic from the texts lua file
- added micro-brewery and cattlefarm objectives
- revamped and relayouted a lot of text. This invalidates a lot of translations.
- Removed duplicated text.
- Layouting is now done via functions to make the content easier editable.

5295. By SirVer

Fixed a small bug in lua-xgettext.py. Added a missing " in t02.wmf

5296. By SirVer

Merged amazing new graphics form chuck

5297. By Nicolai Hähnle

Fix bug #574500: Regression from rev 5287 due to versioning confusion

The old code saved preload packages of games as version 1 when no interactive
player was present, without documenting it well. This caused some confusion
that should now be fixed properly.

5298. By Chuck Wilder

Add new barbarian helmsmith to match the one in the building and a barbarian farmer workload animation

5299. By Chuck Wilder

Added new barbarian master-blacksmith and weaver workers.

5300. By Chuck Wilder

Added new barbarian baker worker.

5301. By Chuck Wilder

Added PlayerColor to cloth and spidercloth wares for all tribes so weavers will now produce cloth in a player's own color.

5302. By Chuck Wilder

New barbarian trainer, miner, chief-miner, and master-miner worker animations

5303. By Raul Ferriz

Change: Healing soldiers on militarysites.
Now only one soldier is healed a time.

5304. By Raul Ferriz

Reduced healing on barbarian military sites.

5305. By Raul Ferriz

Reduced healing on empire military sites.

5306. By Raul Ferriz

Reduced healing on atlantean military sites.

5307. By Raul Ferriz

Adjusted healing on conquested buildings.

5308. By Raul Ferriz

Remove unused medic code

5309. By Raul Ferriz

Update Changelog

5310. By Nasenbaer

Fix for compilation without bzr files in path

5311. By Chuck Wilder

New barbarian brewer and master-brewer workers

5312. By Nasenbaer

fix for language list initial selection

5313. By Nasenbaer

DefaultAI improvement

5314. By Chuck Wilder

New barbarian burner worker and reduced size of frontier markers for atlantean and empire tribes

5315. By Chuck Wilder

New barbarian cattlebreeder worker and adjusted hotspot for barbarian builder walking animation

5316. By Nicolai Hähnle

Fix a regression introduced by r5313: Do not divide by zero

5317. By Nicolai Hähnle

Merge soldier-cleanup: Calculate soldier attributes directly from levels

5318. By Nicolai Hähnle

Experience required by workers per level is no longer random

Previously, required experience was rolled randomly between a min and max
value. Now, it is always deterministically the same value depending on the
worker type.

5319. By Nicolai Hähnle

logic/immovable.cc: Cleanup unused variables

5320. By Nicolai Hähnle

Merge branch bob-saving

All classes derived from Bob now use the new save system.

5321. By Nicolai Hähnle

graphic/render.cc: Fix format string

5322. By Nicolai Hähnle

Fix a typo in an error message, pointed out by TinoM

5323. By SirVer

New soldier Stats with improved readability

5324. By SirVer

Fixed a bug in the tutorial

5325. By SirVer

Merged chucks lates graphic creations

5326. By Chuck Wilder

Last of the new barbarian worker models! Innkeeper, lime-burner, and smelter

Revision history for this message
Nasenbaer (nasenbaer) wrote :

still needs fixing - did not chekout, build and test, but I can already see two problems:

* build_and_run.sh will not work on systems that do not have ccache and it will definitely not work on Windows plattforms. This is not acceptable as it is meant as general tool for all platforms
* The trainingsmine might be good as test, however it should not go to trunk + this way Barbarians will not be playable at all atm, as the building is missing in your bzr.

Please do not be demotivated from this post - the general idea is great and we need this feature - will try to check the code changes once i find some more time.

review: Needs Fixing
lp:~victor-pelt/widelands/workers updated
5327. By Timowi

* speedup RenderTarget::brighten_rect
* avoid usage of brighten_rect by caching some ui elements
* cache tribenames in playerdescrgroup

5328. By SirVer

Fixed a typo in the tutorial

5329. By Victor Pelt <peltco@Voyager>

fix bug with nosound option

5330. By Nicolai Hähnle

Introduce cookie_priority_queue, used by pathfinding algorithms

This template class provides a priority queue that, unlike the STL
priority_queue, requires a cookie field in the objects that are stored in the
queue. This cookie field is used to implement decrease_key (and also the
typically less used increase_key) operations efficiently.

Thus the previously duplicated functionality of RoutingNodeQueue and StarQueue
is now unified in this new template class.

5331. By Nicolai Hähnle

Add new keyboard shortcuts for quick navigation

Ctrl+0 to Ctrl+9 remembers the current location, pressing 0 to 9 recalls it.
Pressing the comma ',' key goes back to the last seen location, the period '.'
key goes forward.

5332. By Nicolai Hähnle

Add missing files of last commit. Shame on me.

5333. By SirVer

Used Mix_GetError instead of strerror

5334. By SirVer

Renamed NoteField to NoteFieldPossession

5335. By SirVer

Added a new notification that informs about transformated fields (terrain changes only at the moment) and pushes players that see this field to rediscover it

5336. By Nicolai Hähnle <prefect@morningstar>

Fix regression caused by the QuickNavigation change (bug #580172)

It is perfectly valid to have an unset MapView::m_changeview callback.

5337. By Nicolai Hähnle

Fix bug #580377: Member function defined in .cc file should not be declared inline

5338. By Timowi

redraw button after resize

5339. By Timowi

Set background picture for all non flat buttons

5340. By Timowi

some code style fixes

5341. By Charles Wilder <chuck@chuck-gw-laptop>

Edited the tutorial01 script for clarification.

5342. By SirVer

Whitespace fixes in tutorial texts

5343. By Jens Beyer

Make internal cmake calls really platform independent (XCode problem)

5344. By SirVer

Corrected some calls to timed_scroll which seemed to have slipped when the function was changed

5345. By Timowi

set background for button in debug window

5346. By Timowi

fix creation of cache surface for button. Use panel size and not destination rendertarget size for cache surface

5347. By Timowi

Use panel size and not destination rendertarget size for cache surfaces in Slider, Listselect, scrollbar and editbox

5348. By SirVer

Enable fishers hut in t02.wmf. It is not mandatory to be build

5349. By Nicolai Hähnle

Rework worker creation when required wares are not all in the same place

5350. By Nicolai Hähnle

QuickNavigation: Fix referencing uninitialized values

5351. By Sigra

reported by stuur

5352. By Sigra

Do not translate this debug string (other strings here were not translated either. Show buildcaps information.

5353. By Nicolai Hähnle

Economy: Eliminate idle requests, return wares to warehouses explicitly

This also introduces transfers that are not bound to requests and eliminates
idle requests. In big games, this can improve performance dramatically.

5354. By Tino

remove unnecessary include

5355. By Nicolai Hähnle

Fix bug #577247: When constructionsite finishes, set builder's location to the new building

With this change, the builder should no longer become a fugitive after
construction site completion.

5356. By Nasenbaer

Fix for code in defaultAI as suggested by Erik

5357. By Nasenbaer

Fix calculation due to the fix in defaultAI code - now it begins to work :) - Thanks go to Erik, that he found that problem! :)

5358. By Nicolai Hähnle

Merge branch filesystem (random filesystem related bug fixes)

5359. By Jari Hautio

Fixed to compile and link with VS2008.

5360. By Jari Hautio

Fixed a crash in game startup in VS2008 builds. Now casting LuaInterface_Impl to void* and casting it back from void* both use same type. Value of this pointer is not same for LuaInterface* and LuaInterface_Impl*. This is propably due to use of virtual base class.

5361. By Nicolai Hähnle

Builder does not cause finished building to see its vision range

5362. By Nicolai Hähnle

Worker::gowarehouse: always leave buildings by their door.

5363. By SirVer

Updated message catalog

5364. By SirVer

Merged music branch for new music

5365. By Nicolai Hähnle

Fix remaining "tabard cycling" problem and cleanup related to recent economy changes

This change ensures that we don't plan for more workers than we have resources for.

5366. By Nicolai Hähnle

More worker creation fixes: take currently running transfers into account

5367. By SirVer

Removed a '_' that confused the lua xgettext script.

5368. By SirVer

Updated catalogs to get rid of a wrong entry

5369. By Nicolai Hähnle

Fix replay bug when using recursive destroy (pressing Ctrl while destroying)

It is a bug for game logic to send a player command, so don't do that.

5370. By Nicolai Hähnle

Training soldiers: Scale current hitpoints when HP level changes

It seems somewhat implausible that soldiers would leave their training site
injured because their HP level has increased...

5371. By Nicolai Hähnle

Merge branch soldier-list

5372. By Nicolai Hähnle

UI::EditBox: Consistently store data in EditBoxImpl

This also fixes a warning about initialization order in the EditBox constructor.

5373. By Chuck Wilder

New Blond Atlantean carrier and weaver workers

5374. By Chuck Wilder

New Atlantean woodcutter worker

5375. By Chuck Wilder

Added new Atlantean fisher worker

5376. By Chuck Wilder

Atlantean builder worker

5377. By Chuck Wilder

Fixed broken Atlantean builder animation

5378. By Chuck Wilder

THIS fixes the broken Atlantean fisher animation

5379. By Chuck Wilder

Removed outdated animation files for Atlantean fisher

5380. By Chuck Wilder

Modified Altantean fisher walking animation from 10fps to 20fps to circumvent missing file error

5381. By Nicolai Hähnle

Soldiers: make health bar opaque for better visibility

5382. By Nicolai Hähnle

Warehouse: add stock policies

This features allows players to control which warehouses certain wares are
stored in, at least to some extent.

5383. By Nasenbaer

Fix last place where slider.png was used.

5384. By Nicolai Hähnle

Ignore "Don't stock" policy for workers that would otherwise have to be fugitives

5385. By Tino

remove unnecessary include

5386. By Chuck Wilder

Refined the fishing animation for Atlantean fisher

5387. By Chuck Wilder

New Atlantean stonecutter worker

5388. By Chuck Wilder

New Atlantean geologist worker

5389. By Chuck Wilder

New Atlantean hunter worker and changed Atlant meat ware hotspot

5390. By Nicolai Hähnle

Merge lp:~nha/widelands/teams

5391. By Nasenbaer

Silent this massive spammer ;) - important are the used language code and the used localedir - both are written to commandline at the beginning of the game.

5392. By Nasenbaer

this assert is wrong since the directory fix

5393. By Chuck Wilder

New Atlantean farmer worker

5394. By Chuck Wilder

Added new Atlantean blackroot_farmer worker and adjusted hotspots for Atlantean farmer

5395. By Nicolai Hähnle

Fix desync bug #590458 and allow syncstream writing without replay writing

This was a regression of the new Worker saving, because a part of the new
saving code did not guarantee consistency across systems.

5396. By Nasenbaer

playerdescgroup hides team buttons in savegame now

5397. By Nasenbaer

translations update

5398. By Chuck Wilder

Add new Atlantean spiderbreeder worker. If you like a hardhat on the barbarian builder, you'll love this worker. :D

5399. By Timowi

remove conflict from last translation merge

5400. By Nasenbaer

First of all: doxygenization of comments

5401. By Nicolai Hähnle

Notify players when military sites are occupied

5402. By Nicolai Hähnle

logic/militarysite.cc: Fix a warning

5403. By Timowi

fix janus name in developers

5404. By Nicolai Hähnle

Clean up the way Building-related messages are sent, and silence a problematic assert

5405. By Timowi

Fix a bug if filename of a renamed savegame is longer than the original name plus some paths in the file

5406. By Timowi

Fix road splitting: consider carrier type during reassign carriers and request second carrier if roadtype is busy

5407. By Timowi

merge opengl support

5408. By Timowi

Add more comments to the rendering functions and update some comments

5409. By Chuck Wilder

New Atlantean fish_breeder worker

5410. By Chuck Wilder

New Atlantean sawyer worker

5411. By Timowi

style fixes

5412. By Chuck Wilder

Changed Atlantean fish_breeder walk animation to 20 fps to circumvent an error that pointed to a phantom file

5413. By Chuck Wilder

New Atlantean forester worker

5414. By Timowi

Fix opengl code for msvc.

5415. By Chuck Wilder

New Atlantean baker worker

5416. By Nasenbaer

Improvements of defaultAI's road building

5417. By Chuck Wilder

New Atlantean miner worker

5418. By Chuck Wilder

New Atlantean horsebreeder worker and restored barbarian cattlebreeder's ox

5419. By Chuck Wilder

Adjusted Atlantean horsebreeder NE walking animation pc masks and deleted old walkload animation

5420. By Chuck Wilder

New Atlantean scout worker

5421. By Nasenbaer

merge my work branch - including some hopefully useful defaultAI additions and fixes + locale list updates + highering statistics saving (and so the steps in which statistics will rise) to 20 - initially this was to improve defaultAI's behaviour - however if someone dislikes the 5\% steps, I will of course revert.

5422. By Chuck Wilder

New Atlantean trainer worker

5423. By Nasenbaer

defaultAI should only destroy a building if stats are a bit longer on 0%

5424. By Nasenbaer

Fix data type mess up - there shouldn't be a need for conversion at all + fix a graphic name - when i "fixed" the "slider.png missing" bug, i actually didn't do it better ;)

5425. By Nasenbaer

Add small note for DefaultAI for vineyard + higher number of input slots for atlantean mines to allow for faster requests

5426. By Nasenbaer

Fix bug 533245 - buildings statistics were not calculated if buildings statistics were switched off / not visible

5427. By Nasenbaer

No wonder it did not work as it should. A typical Nasenbaer bug ;)

5428. By Nasenbaer

Small defaultAI improvement: If a single constructionsite is not connectable for more than 2 minutes, remove it.

5429. By Nasenbaer

defaultAI update: 1) block fields that weren't connectable to an economy before, 2) improve calculation for military sites need, 3) improve calculation for which building should be constructed (mostely to make the defaultAI place buildings smarter), 4) remove unneeded or doubled code, 5) higher the preciousness of thatchreed for barbarians to make it more likely they build a fernery

5430. By Chuck Wilder

New Atlantean armoursmith, toolsmith, and weaponsmith workers

5431. By Chuck Wilder

New Atlantean armoursmith, toolsmith, and weaponsmith workers

5432. By SirVer

Merged locale fixes from Jens

5433. By Chuck Wilder

Completed the Atlantean workers by adding the burner, miller, smelter and smoker.

5434. By Chuck Wilder

Changed color of barbarian farmer's hat

5435. By Chuck Wilder

Added new Empire builder worker

5436. By Chuck Wilder

Animated idle cycle for empire carrier worker

5437. By Nasenbaer

little tweak for foresters and other "recreating" buildings

5438. By Chuck Wilder

Add new empire farmer worker

5439. By Nasenbaer

Better height generation in random maps for more usable maps

5440. By Nasenbaer

Add basic version of automatically placed starting positions in autogenerated maps (+ ui)

5441. By Nasenbaer

Fix a mistake in a calculation in last commit

5442. By Nasenbaer

New attempt for starting position placement - this should work much better

5443. By Nasenbaer

This was left undone ;)

5444. By SirVer

Tried to fix operator< for Soldier_Descr

5445. By Nasenbaer

Yet another algorithm improvement try to have defaultAI build more reasonable "recreating buildings"(like foresters) - from 10 test runs it looked like a real improvement, but well...

5446. By Chuck Wilder

Add new empire fisher worker.

5447. By Nasenbaer

remove left overs to get widelands working again

5448. By Nasenbaer

Merge the host commands commit from widelands-server branch + boundary for network speed to avoid abuse in 2 player games

5449. By Nasenbaer

new host commands /forcePause and /endForcedPause

5450. By Nasenbaer

Give foresters more intelligence -> use immovable attribute "seed" to avoid replanting of tiny trees

5451. By Nasenbaer

Update changelog - we all should try to keep updating it in time in mind ;)

5452. By Nasenbaer

And even more intelligence for planting workers like foresters - plant the tree (or field or whatever it wants to plant) that suits best to the terrain. I removed the worker program setdescription (just kept as dummy for savegame compatibility), as now the plant command needs the full list of possible trees, fields, etc. anyways.

5453. By Nasenbaer

Crop animations

5454. By Chuck Wilder

Modified empire fisher worker animation frame rate from 10fps to 20fps to resolve missing file bug # 612316.

5455. By SirVer

Merged Jaris massive Lua fixes for Visual Studio

5456. By SirVer

Applied XCode work around/patch by David

5457. By SirVer

Update for new elder of graphics

5458. By Timowi

Fix a bug in opengl texture loading. Four byte formats without alpha channel were loaded incorrect

5459. By Chuck Wilder

Added new empire forester worker

5460. By Timowi

fix the new empire forester conf file

5461. By Jari Hautio

Fixed GGZ game hosting to work on windows.

5462. By Jari Hautio

Added option for building unit tests. Test are enabled by default and look for single threaded libs if multithreaded are not found. Also always include boost header dir and fixed dynamic linking on MSVC.

5463. By Timowi

Improve cmake to fit static linking better: Change order of libraries

5464. By Nasenbaer

update Changelog

5465. By Nasenbaer

Give defeated players of autocrat games full vision

5466. By Nasenbaer

Reimplement teamview + fix victory check for collectors

5467. By Nasenbaer

Add spectator mode for deafeated players of "endless" games.

5468. By Nasenbaer

Move some win condition functions to their own file, to avoid doubled, tribled, ... code + add check for defeated players to collectors winning condition - now defeated players become spectators in all three currently available winning conditions.

5469. By Nasenbaer

Do not show building statistics of opposing players anymore - thanks go to user "Der Meister" who provided the base for this patch.

5470. By Nasenbaer

Fix commandline parameter "homedir" and "datadir" parsing - thanks go to Stefan Karpinski for the patch

5471. By Nasenbaer

Add forgotten line breaks in help message

5472. By SirVer

All Lua files in the scripting/ directory are now added to the docs automagically via the extract_rst.py script. Fixed a underline in win_condition_functions.lua

5473. By Nasenbaer

Make atlantean small tower less strong (bug #577891)

5474. By Nasenbaer

Make barbarian weaving mill not buildable (bug #547090)

5475. By Jari Hautio

Changed place of defining stat to_stat on win32. Caused previously a crash with vs2008.

5476. By Jari Hautio

Fixed to really check magic number in zip files.

5477. By Nasenbaer

Move build_and_run.sh to compile.sh and rework it, to be much more intuitive for users.

5478. By Nasenbaer

Add widelands main directory check to update.sh as well.

5479. By Nasenbaer

Addition to get more information about bug 536024 + update of pot files

5480. By Jari Hautio

Switch to use static libraries and static msvc-runtime in windows/visual studio builds.

5481. By Nasenbaer

Handle taskless bobs in new mapobject format (no task assigned, if created in the editor) - fixes bug #537392

5482. By Nasenbaer

Fix bug #537392 - computerplayer does not adhere to currently allowed buildings

5483. By Nasenbaer

Add "real" work animations to builder and play "idle" animation, if the builder has nothing to do.

5484. By Nasenbaer

Fix bug #618449 - [fetchfromflag] - building dissappeared

5485. By Nasenbaer

Scout fix

5486. By Nasenbaer

Update ChangeLog

5487. By Nasenbaer

A fix for the fix for the scout ;)

5488. By Nasenbaer

undo this change - sorry forgot to revert this, was just for investigation of a bug.

5489. By Jari Hautio

On windows keep root dir always with backslashes. Otherwise FileSystem::pathIsAbsolute and FileSystem::FS_CanonicalizeName do not work properly. Screenshots work now again on windows.

5490. By Jari Hautio

Fixed msvc iss installer file to copy scripting folder and omit dlls.

5491. By Nasenbaer

translations update

5492. By Nasenbaer

translations update 2

5493. By Nasenbaer

translations update part 3

5494. By Nasenbaer

and the language name list

5495. By Nasenbaer

Two new win conditions

5496. By Nasenbaer

a minor minor fix ;)

5497. By Jari Hautio

Fixed MSVC CXX compiler flags.

5498. By Nasenbaer

Fix training sites inputs

5499. By Nasenbaer

Some work on win conditions

5500. By Nasenbaer

Add missing pot files

5501. By Nasenbaer

Fix in win_conditions for localisation

5502. By Jari Hautio

Implemented support for redirecting stdio from widelands to files. Redirection is enabled if REDIRECT_STDIO is defined at compile time (enabled for MSVC builds). This allows windows version to write logs to home folder if executable folder is not writable (program files folder under Vista nd Win7). Fixes bug #625979.

5503. By SirVer

Hanna's and my work on the collectors win condition.
- Introduces a hook to implement custom statistics for win conditions/missions
  (see docs/introduction, Section about Hooks). Will be useful for more win
  conditions than collectors.
- The aim of collectors is now to only collect precious wares; we tuned the
  parameters through a few test games, but fine tuning needs more games.
- Reverts some of Nasenbaers recent changes due to merge conflicts (sorry :( ).

5504. By Nasenbaer

Reimplement my changes :)

5505. By SirVer

added statistics to woodgnome win condition. _calc_points is still pretty slow

5506. By Nasenbaer

Win condition improvements

5507. By SirVer

less confusing atlanteans corn graphic from chuck

5508. By Chuck Wilder

New empire hunter worker and adjusted hotspot for meat ware.

5509. By Sigra

Make these 2 programs identical (as they should be). The ":1" looked unintentional.

5510. By Nasenbaer

Fix typos in host commands

5511. By Nasenbaer

Basic "Share kingdom" feature via starting condition

5512. By Nasenbaer

Savegame loading for "share kingdom"

5513. By Nasenbaer

Update ChangeLog

5514. By Nasenbaer

to avoid bug reports with my lua implementation of "shared kingdom" - remove it again. Don't worry, there will be an even better "shared kingdom" feature ;)

5515. By SirVer

Fixed crash when there is not enough place for a starting building in the citadel starting conditions

5516. By Chuck Wilder

Add waiting animation for barbarian builder

5517. By SirVer

Added support for aborting road building via Lua. This was needed so that the tutorial could not be crashed so easily

5518. By SirVer

Fixed a typo in a documentation string

5519. By SirVer

Remove immovables that are in the way when building the trainingarea in the tutorial

5520. By Nasenbaer

Play full idle animation of builder

5521. By Chuck Wilder

Added waiting animation for atlantean and empire builder workers

5522. By Jens Beyer

Fix link to build_info.cc - otherwise KDevelop crashes over evaluating that link

5523. By SirVer

~200 commits worth of lua code refactoring

- Incorporated Editor into Lua scripting
- Testsuite for editor
- Lots of code was removed, for example pre/postfille
- removed module functions and Class constructores; entry point for scripting are now wl.Game() and
  wl.Editor()
- Fixed a lot of TODOs in the scripting code
- Player Immovables do not crash the editor, but not much for Player
  Infrastructure has been done

5524. By SirVer

Already the first bug in my last commit found & fixed

5525. By Nasenbaer

Merge branch with shared kingdom feature and multiplayer scenario support

5526. By Nasenbaer

Fix a leftover from merge conflicts

5527. By Nasenbaer

obviously SirVer changed something ;)

5528. By SirVer

Tutorial was not localized.

5529. By Holger Rapp <rapp@mrt140>

Fixed linking of test_widelands_scripting

5530. By Nasenbaer

Indentation fix in lua file + translation loading fix in map Plateau.wmf

5531. By Chuck Wilder

Added new empire stonemason worker animation

5532. By Chuck Wilder

Added new empire lumberjack worker animation

5533. By Nasenbaer

Fix two hostside crashes and fix some compile time warnings

5534. By Nasenbaer

Add option to make ingame chat background *not* transparent, which makes chat messages much easier to see.

5535. By Nasenbaer

Change background color in launchgame menu chat for better readability of player names.

5536. By Nasenbaer

Fix two localization issues with player initializations

5537. By Nasenbaer

Do not show "skipped work", etc. in statistics string of a building, as it is already shown in the hover message, it clutters the screen and hides the real statistics; add hover message that indicates that a mine is empty; fixed a string with boost::format to make it better translateable; added a TODO comment to a part, where boost::format should definitley be used; updated pot files

5538. By Nasenbaer

Add two new maps - Desert tournament by ivh and Swamp Monks by me - both should be nice to play in shared kingdom mode :) - my map will get a multiplayer scenario as soon as I have some free time ;)

5539. By Nasenbaer

Do not change resolution, if no other resolution was selected in the options menu

5540. By Nasenbaer

Fix bug #622888

5541. By Nasenbaer

Add delete button to in game save menu

5542. By SirVer

Reworked changes from r5536 though I could not find anything wrong with the code in an attempt to fix bug 648270. Also added more debug output to trace this problem down.

5543. By SirVer

Fixed a screwup in statistics reading

5544. By SirVer

Clicking on a building will now open the building window in a way that it is less likely to cover the buildings location

5545. By SirVer

A second attempt to fix a tutorial crash

5546. By SirVer

Added a missing delete

5547. By SirVer

Added a lot of debug output to Cmd_LuaCoroutine::execute to track down bug 647155

5548. By Chuck Wilder

Added new empire scout worker animation and adjusted empire marble ware hot spot.

5549. By Chuck Wilder

Added new empire donkeybreeder worker animation

5550. By Chuck Wilder

Added new empire pig-breeder worker animation

5551. By Chuck Wilder

Added new empire shepherd worker animation

5552. By SirVer

Sped up win conditions territorial lord and wood gnome

5553. By SirVer

Made wl.map.Map.get_field() less flexible but faster in most cases.

5554. By SirVer

Fixed an underline that was too short

5555. By SirVer

Renamed wl.map.Field.owners into wl.map.Field.claimers. Updated tests and documentation. Added __tostring field to wl.bases.PlayerBase

5556. By SirVer

Forgot to rename owners into claimers.

5557. By SirVer

Merged typo fixes by Hans Joachim Desserud

5558. By Timowi

fix scout desync. time_node_last_unseen is only valid if vision is 1

5559. By Timowi

fix loading of savegames with player_info_data_packet version < 10

5560. By SirVer

Fixed linking on MSVC 2005

5561. By Timowi

remove left over from public-static-member patch

5562. By Chuck Wilder

Added new animations for the empire innkeeper and weaver workers. (The empire now has some members of the fairer gender.) Also, adjusted the hotspot and removed playercolor for the cloth ware of the barbarian and empire tribes to match a similar change to the atlantean spidercloth.

5563. By Chuck Wilder

Supplied updated conf file for empire innkeeper.

5564. By Jari Hautio

Fixed #619045. Build unit tests option is defaulted to OFF and boost unit test library is nto needed by default build anymore. Also removed empty Boost_unit_test_framework_LIBRARIES from widelands binary.

5565. By Jari Hautio

Fixed Bug #648270. Windows machines can now host games. Resolved path issue in RealFSImpl::FindFiles so that it wont return slashes in the beginning if path argument is empty and fixed name extraction code in register_scripts function to remove slash in first position also.

5566. By SirVer

Removed no longer needed debug output

5567. By SirVer

Fixed a bug in the 3. Barbarians scenario

5568. By Chuck Wilder

Added new empire master miner animation.

5569. By SirVer

Merged the minimap marker branch from ab-tools

5570. By SirVer

Preview workarea is on by default now as it is very useful. Removed a no longer used define

5571. By SirVer

Added more features around road building to lua. Made sure that road building is entered in the tutorial whenever it is expected

5572. By Chuck Wilder

Added new empire trainer worker.

5573. By Timowi

Error handling of lua coroutine. Now send message to all players insted of exit the game

5574. By Chuck Wilder

Added new empire armoursmith and toolsmith worker animations.

5575. By Chuck Wilder

Added new empire weaponsmith worker animation.

5576. By Timowi

merge fix-loading-zipfiles branch. Now data files are stored in the root of zip files.

5577. By Chuck Wilder

Added new empire baker worker animation

5578. By Chuck Wilder

Added new empire brewer worker animation

5579. By Chuck Wilder

Added new empire burner worker animations

5580. By Chuck Wilder

Added new empire miller and miner worker animations.

5581. By Chuck Wilder

Added new empire smelter worker animations. JUST ONE MORE WORKER TO GO!!! :)

5582. By Timowi

Fix zip filesystem code. Bug was introduced in 5576. Now MakeSubFilesystem and CreateSubFilesystem write to subdirectory as intended. Zipped files (maps and savegames) beteen 5576 and this revision are broken.

5583. By Chuck Wilder

Fixed Bug #536368 and Bug #536505 by completing new animations for the empire vinefarmer worker!

5584. By SirVer

Merged minimap branch again for some improvements

5585. By Timowi

fix spectator mode for netclient.

5586. By Nasenbaer

Update translations and fix bug #657269

5587. By Nasenbaer

Add vietnamese to language list

5588. By Jari Hautio

Fixed Bug #662045. Use dynamic linking for unit test framework outside windows platform.

5589. By Jari Hautio

Fix Bug 662908. Allow also static boost unit test framework to compile and link properly.

5590. By Timowi

fix ZipFilesystem::FindFiles. respects m_basename now and thus work in sub-filesystems

5591. By SirVer

Removed some overly verbose debug output that is no longer needed

5592. By SirVer

Made detect_revision.py python3 compatible

5593. By Nasenbaer

Fix soldier die animation drawing

5594. By Nasenbaer

Merge widelands bugfix branch by hjd

5595. By Jari Hautio

Fixed MSVC build to work with unit tests.

5596. By SirVer

Merged nomeata's pause button branch

5597. By SirVer

Merged toggable buttons branch and button refactoring by Joachim Breitner. Updated ChangeLog

5598. By SirVer

Added Joachim breitner to the list of coders

5599. By SirVer

Initialize m_paused whenever it is defined

5600. By Chuck Wilder

New walking, idle and battle animations for the barbarian soldier

5601. By SirVer

Added +1 basket to empire starting wares. This allows to saturate the first marble mine and reduces the marble starving at the beginning

5602. By Jari Hautio

Improved scripting unit tests to check results properly.

5603. By Jari Hautio

Added copyright notice to test_luna.cc.

5604. By Chuck Wilder

New and Improved! Barbarian battle animation.

5605. By Chuck Wilder

Tweaked animation for barbarian soldier's walk.

5606. By Jari Hautio

Fixed invalid iteration loop in AI code found by VS2008 assertion. Likely caused crashes or heap corruption. May be related to bug #536024.

5607. By SirVer

Merged bugfix branch from nomeata

5608. By SirVer

Updated changelog with basket balance change

5609. By SirVer

Barbarian soldiers now need an axe from the axefactory to be produced

5610. By Chuck Wilder

Added walking animation for new empire soldier model

5611. By Chuck Wilder

New battle animation for the empire soldier.

5612. By SirVer

Made tile hopping easier by lowering some mountains

5613. By Chuck Wilder

Walking animation for new Atlantean soldier model. Comments, please! :)

5614. By Chuck Wilder

Completed battle animations for the Atlantean soldier in honor of WiHack 2010 Reloaded. There is now a full set of soldier animations for the tournament finals! GOOD LUCK!! :D

5615. By SirVer

Wares display reordering from nomeata and Kristin

5616. By Timowi

merge tmks soldier hp bar fix branch

5617. By Nicolai Hähnle

Fix player statistics savegame incompatibility bug

From now on, newly created savegame will remember the ware names in the stored
statistics.

5618. By Nicolai Hähnle

(Hopefully) fix compile failure from last commit

5619. By SirVer

Maps are now sorted by number of players in the map select menu

5620. By SirVer

Merged nomeata's branch to remove temporary ware target quantitiy

5621. By SirVer

Show an icon when widelands runs

5622. By SirVer

fixed my last fix

5623. By Nasenbaer

Merge refactoring of multiplayer UI and shared kingdom branch

5624. By Jens Beyer

Fixed window docking bugs (assertion and wrong inner size)

5625. By SirVer

Statistics are now calculated via Cmd_CalculateStatistics.

5626. By SirVer

Bugfix branch by nomeata

5627. By Chuck Wilder

For Bug#669085, adjusted menu images of the Empire war_lance and wood_lance to improve their visibility.

5628. By SirVer

Bugfix from nomeata

5629. By Nicolai Hähnle

Fix bug: Quit via window manager works properly from network game without GGZ now

5630. By Chuck Wilder

Updated the empire helm ware images in menus and the game to better resemble the new soldier model.

5631. By SirVer

Fix from nomeata

5632. By Jens Beyer

merge from spice-up-cmake branch

5633. By Jens Beyer

add target autotest only if WL_UNIT_TESTS is enabled

5634. By Jens Beyer

reorder libraries for linking as before merge

5635. By Jens Beyer

include test_widelands_scripting only when WL_UNIT_TESTS is ON

5636. By Jens Beyer

link SDLMain only in case of non-test environment

5637. By Jens Beyer

remove 'optimizepics' target

5638. By Jens Beyer

widelands_all library is first in linking

5639. By Jens Beyer

added WL_EXTRA_LINK_LIBRARIES to specify which libraries should be used for linking; the list is appended at the end of the linking libraries

5640. By SirVer

Fixed color output inside of vim. Should not be there

5641. By Nasenbaer

Fix for file transfer (the maximum number of all bytes (file part + commands) should not be bigger than 1024

5642. By Tino

merge fix branch

5643. By Jens Beyer

Remove SCons files and old unneeded files

5644. By Tino

correct path to supplementary files for cmake

5645. By Jens Beyer

added WL_STRICT option to treat almost every compilation warning as error

5646. By SirVer

Merged my style fixes branch. Just some, not all

5647. By SirVer

More style fixes

5648. By SirVer

Style fixes in the economy directory

5649. By Nasenbaer

Style fixes

5650. By Timowi

fix gcc warnings to compile with -Werror

5651. By Timowi

fix one more warning

5652. By Timowi

style fixes

5653. By SirVer

Added a new optimize_pngs.py script that uses various PNG shrinking tools to optimize our pngs

5654. By SirVer

Removed unused and unneeded ware flax from the barbarians. Hide cloth from the user (but keep it around) as it is currently not used

5655. By SirVer

Added carpenter to empire. Changed him to be the worker in the sawmill. Except for graphics, this fixes 536177

5656. By Nasenbaer

Style fixes and some small improvements

5657. By SirVer

Dungeon is not an enhanced building

5658. By Jens Beyer

change displayed message for disabled unit tests

5659. By Jens Beyer

one left over link from moving win32 directory fixed

5660. By Jari Hautio

Fixed to build with MSVC2008.

5661. By Jens Beyer

Lumberjacks and Stonemasons only find trees and stones which the player knows

5662. By Jens Beyer

change displayed message for disabled unit tests and enabled/disabled strict mode

5663. By Sigra

Merge style fixes.

5664. By Nasenbaer

Style fixes

5665. By Jens Beyer

Since build dir is empty, we can use it for compilation in compile.sh

5666. By Jens Beyer

added some compile.sh related files to .bzrignore

5667. By Jens Beyer

added removal of old build directory and removed creation of symlinks for old 'make lang'

5668. By Nasenbaer

Introduce new window class "HelpWindow" for easier and unique help window formation + a 'const' for a literal parameter makes no sense. Remove the const change in icons.h/.cc

5669. By Jens Beyer

remove old locale symlink in case of moving to new compile directory in compile.sh

5670. By Timowi

change std::vector,list etc [] to .at() in defaultAI and fix two container_iterate

5671. By Timowi

delete flag from new_flags in lose_immovable()

5672. By Timowi

fix crash in handle NETCMD_FILE_PART if HAVE_VARARRAY is not set.

5673. By Timowi

try to fix crash in game logic.

5674. By Timowi

fix the last commit

5675. By Jens Beyer

do not reconfigure config.h during make

5676. By Jens Beyer

removed stray files from SCons build system

5677. By Timowi

clean up my last fix

5678. By Chuck Wilder

New animation and menu icon for empire carpenter worker

5679. By Nasenbaer

Translation update

5680. By Nicolai Hähnle

Fix some style warnings

5681. By Nicolai Hähnle

Fix more style errors

5682. By SirVer

merged qcs svn handling removal. An anachronismus which we finally got rid from

5683. By Nicolai Hähnle

Increase line length limit to 110

5684. By Nicolai Hähnle

Savegame compatibility fixes and start a library of test games

This merge contains a bunch of assorted fixes for compatibility issues
related to removal of barbarian flax and introduction of empire carpenter.

5685. By Jens Beyer

Exclude test sources and src/scripting/pdep/ from CodeCheck

5686. By SirVer

Enqueue Cmd_CalculateStatistics in all game types

5687. By SirVer

More multiplayer scenario fixing

5688. By Nasenbaer

Fix multiplayer savegame loading UI + improve multiplayer UI

5689. By Jari Hautio

Fixed scripting test to compile with msvc2008. Boost stdint definitions and used 3rdparty stdint.h definitions dont work together.

5690. By Jari Hautio

Fixed to link with msvc2008. Consistently use struct Surface.

5691. By Nasenbaer

Add more infos to multiplayer UI and add a slightly better looking Empire icon

5692. By SirVer

Merged roughly 100 commits worth of ship logic, lua updates and atlantean scenario 1 stuff

5693. By Nasenbaer

Small fixes

5694. By Nasenbaer

Update locales and rewrite pot files for new strings

5695. By Timowi

fix use of uninitialized memory in Texture. Was not a error but created a output in valgrind

5696. By Timowi

fix include

5697. By Chuck Wilder

Add trial graphics for Atlantean campaign

5698. By Chuck Wilder

More new place-holder graphics

5699. By Nasenbaer

typo fixes and pot update

5700. By Chuck Wilder

Place-holder graphics for Atlantean Campaign

5701. By Chuck Wilder

Tweaked Atlant Campaign Graphics

5702. By Chuck Wilder

Added animations for new Atlantean shipwright worker.

5703. By Nasenbaer

Two fixes

5704. By SirVer

Shipwright for the atlanteans and cloth for the barbarians get a position in the wares display bracket, otherwise they are drawn in 0,0 and hide the information of the worker/ware that is displayed there

5705. By SirVer

Overwrote filler text of atlanteans campaign description

5706. By Nasenbaer

Revert a part of my last commit - seems my thoughts got mixed up :) sorry.

5707. By Nasenbaer

And fix for my lua code...

5708. By Chuck Wilder

Replaced some graphics for Atlant Campaign

5709. By Chuck Wilder

Adjusted Atlantean Cmpaign portraits to stand taller in their frames.

5710. By Tino

small variable declaration fix to make it compile on win32

5711. By Nasenbaer

Add support for "closeable" players in multiplayer savegames + fix a bug in mutliplayer UI

5712. By Chuck Wilder

Added new shipyard building for Atlanteans and resized the Atlantean shipwright worker

5713. By Nasenbaer

Fix problems from my last commit

5714. By Nasenbaer

Fix player color icon in multiplayer games

5715. By Nasenbaer

Try to fix player names in multiplayer games

5716. By Sigra

Add another test case for the C++ code style checkers.

5717. By Chuck Wilder

Enhance Atlantean shipyard

5718. By Chuck Wilder

Adjust conf files for Atlantean shipwright worker walkload, planks ware hot spot and trunk ware hot spot.

5719. By SirVer

Fixed remaining style errors

5720. By SirVer

Passing nil to any set_wares function lead to a crash. Added two new test cases and a proper fix

5721. By SirVer

Tweaked were message boxes would appear and how tall they are. This reduces the chance to oversee some text

5722. By Nasenbaer

New user interface and lua bindings for sharing a starting position into another player.

5723. By Nasenbaer

Two small fixes for multiplayer UI

5724. By Chuck Wilder

New Atlantean shipyard building and new animation for ship-construction, idle and sailing

5725. By SirVer

Made buttons in new economy options window repeating

5726. By SirVer

changed display name of goldstone to Gold Ore. Kept goldstone as internal name for compatibility

5727. By Chuck Wilder

New selection indicator for ware lists

5728. By Chuck Wilder

Adjusted colors on Atlantean Campaign graphics

5729. By Chuck Wilder

Resized Jundlina image that I had uploaded in error

5730. By SirVer

Added a shipwright worker. Fixed a text. Fixed a typo

5731. By SirVer

Merged angryone's fixes branch with some modifications by myself

5732. By SirVer

Added better difficulty descriptions to the campaign selection menu

5733. By SirVer

Surround direct speech with ""

5734. By SirVer

fixed description and names in elemental files of scenario maps

5735. By SirVer

Updated catalog files

5736. By Chuck Wilder

Gave Princess Jundlina some bling :)

5737. By Chuck Wilder

Adjust princess and sidolus graphics

5738. By Chuck Wilder

Ooops! Resized ANOTHER large file loaded in error

5739. By Chuck Wilder

Bug#671958 - Resized two loading image files from 2560x1920 to 1280x960 for a savings of 2001kB

5740. By Nicolai Hähnle

Worker::fetchfromflag: Sanity check that the item still wants to enter the building

This fixes a very subtle race condition that can occur when an item's transfer
is cancelled because of enhancing a building while the building's worker carries
that item into the building.

5741. By Nasenbaer

Fix a minor minor bug in the new multiplayer UI and initialize m_ai per default as empty string in Player class constructor

5742. By Nasenbaer

Initialize the full set of variables - be paranoid - better saver than save - no space for uninitialized values ;)

5743. By Nicolai Hähnle

Fix crash in Worker::return_update

When the "location" signal got overwritten (e.g. because of the soldier
blocking logic), this could cause a segmentation fault.

5744. By Sigra

Merge many fixes for const correctness and style. Some improvements on the style checking, including integrating the python codechecker among the other tools and marking almost all of the grep checks redundant. Cut out a lot of unused cruft from the lua files (including some whole files). Add some FIXME comments where issues were found. Optimize the work programs of each tribe's smelting works. Now they are only skipped if there is a good reason. So now the wares are accumulated in their more refined form in case of abundance. (Similar to how the atlantean mill already worked.)

5745. By Nasenbaer

Improvements and fixes for the multiplayer launchgame menu

5746. By Tino

smelting config of atlantians refers to goldstone instead of goldore

5747. By SirVer

Reverted revision 5744 as it broke automatic lua documentation creation

5748. By Timowi

set background for buttons used by watchwindows in use-single-watchwindow-mode

5749. By SirVer

Missing strings marked for translations. Found by Dirk Stoecker. Also updated catalogs to get those into translations.

5750. By Chuck Wilder

Added animation, playercolor and a new look to the barbarian headquarters building from its new 3D model.

5751. By Chuck Wilder

Added new animation for the barbarian sentry building from its newly recreated 3d model. The idle state has been animated and contains playercolor. There is a new build sequence, as well. One frame has also been uploaded to represent an as yet unsupported worker-away state.

5752. By Chuck Wilder

Modified the build sequence of the barbarian sentry building to be 4 frames with each successive frame depicting another 25% of progress to completing the building.

5753. By SirVer

More translation markers from Dirk Stoecker

5754. By SirVer

Even more translation markers from Dirk Stoecker

5755. By Nicolai Hähnle

Refactor graphics system to clarify role of Picture and Surface

Pictures are things that can act as the *source* of a blit, while Surfaces
are things that can act as the *destination* of a blit -- or, more generally,
can be rendered to using a RenderTarget.

In SDL mode, these two things coincide, but in OpenGL they don't.

Both can be accessed directly via the IPixelAccess interface, though with a
considerable performance penalty in the general case; in particular, OpenGL
texture readback is expected to be very slow usually.

5756. By Chuck Wilder

Changed texture of barbarian headquarters stonework and recreated the palisade in larger logs of blackwood.

5757. By SirVer

Fixed a translation bug

5758. By Nicolai Hähnle

Fix attempt for bug #683082: copy constructor should take const argument

5759. By Chuck Wilder

Added playercolor, new idle animation and build sequence graphics for the barbarian stronghold from its new 3D model.

5760. By Chuck Wilder

Changed texture of stonework on barbarian headquarters building.

5761. By Nicolai Hähnle

Fix regression: crash in Slider offscreen rendering when in SDL mode

5762. By Nicolai Hähnle

Fix regression: same crash as previous commit for VerticalSlider

5763. By Chuck Wilder

Added idle animation, a build sequence and playercolor to the barbarian barrier building from its new 3D model.

5764. By Nicolai Hähnle

Transfer priority at flags (by Nizamov Shawkat)

Instead of processing items in strict FIFO order, transfer with high priority
are given preference.

Priority can be controlled by setting low/medium/high priority in the
production site wares queues; on top of that, constructionsites are given
higher priority than everything else.

5765. By Chuck Wilder

Barbarian donjon received new design with player color and build animation from its new 3D model.

5766. By Chuck Wilder

Adjusted scale of barbarian carrier idle animation.

5767. By Nicolai Hähnle

RenderTarget: remove explicit copy constructor

An identical copy constructor should automatically generated by the compiler,
so this is simply unneeded cruft.

5768. By Jens Beyer

Match barbarian donjon idle pictures in military sites to the updated ones in tribe

5769. By Chuck Wilder

Updated the newly changed barbarian building images in the global militarysites folder.

5770. By Nicolai Hähnle

Cleanup UI::Panel caching logic

There is now a unified, working mechanism to cache the looks of a UI::Panel.
It has to be enabled explicitly using set_cache(true). Due to limitations in
the SDL blitter, it only works for opaque panels.

The caching facility is a no-op in OpenGL mode.

All UI::Windows are cached by default. Some windows are not currently cached,
including the WatchWindow (where caching is clearly useless), the MiniMap,
and various statistics windows.

The latter could theoretically re-eanble caching with some careful use of
update() calls, if there should be performance concerns about redrawing them
each frame. Most likely, that redraw is drowned out by the terrain renderer
anyway, and I haven't bothered to do profiling.

5771. By Jens Beyer

remove special handling of localedir for Linux, it is now always part of datadir

5772. By Nasenbaer

Fix global militarysites conf files

5773. By Chuck Wilder

Barbarian battlearena was restyled and received new idle animation with playercolor plus a new build sequence from its recreated 3D model.

5774. By Chuck Wilder

Cropped barbarian battlearena images and replaced carrier worker with trainer worker for the battlearena.

5775. By Chuck Wilder

Adjusted scale of barbarian stonemason.

5776. By Nasenbaer

Fix loading of settlers 2 maps in Editor

5777. By SirVer

Added nizamov to the list of coders

5778. By Nasenbaer

Some work on the help window

5779. By Nicolai Hähnle

AbstractWaresDisplay: update the panel properly when selection and hiding changes

This fixes a bug where the panel cache for the warehouse and economy configure
windows wasn't refreshed properly in software rendering mode.

5780. By Nicolai Hähnle

Adjust forward declarations for ImmovableProgram to struct

5781. By SirVer

Removed unused audio file

5782. By SirVer

Play a fanfare sound (by Solatis) when a military site is occupied.

5783. By SirVer

Properly implemented the playing of the fanfare sound

5784. By SirVer

added another fanfare for when you are under attack. Removed spoken military messages as english text is not fitting for the feeling. Also removed the site_defeated and site_lost messages completely as they were not particularily useful

5785. By Nasenbaer

further work on help window and multiplayer launch game menu help + pot file update

5786. By Jari Hautio

Silenced some unnecessary warnings in visual studio build.

5787. By Jens Beyer

make libwidelands_all static at all occasions and get rid of LinkExecutable macro

5788. By SirVer

Added a dirty workaround to fix compiling on GCC 4.0

5789. By Nasenbaer

Fix two small bugs in the new multip player launch game menu

5790. By Nasenbaer

Translations update

5791. By Nasenbaer

Merge a windows fix by ab-tools

5792. By Nasenbaer

Translateability fixes in new multi player launch game menu

5793. By Nasenbaer

Last ToDo for the multi player launchgame menu :)

5794. By Nasenbaer

Commit a defaultAI patch by carli with some minor changes by me

5795. By SirVer

Improved help texts in conf files by kristin and chuckw

5796. By Nasenbaer

Add dummy campaign map to show the players, that there are planned further maps, but they are not yet implemented.

5797. By Nasenbaer

A small translateability fix + update of pot files

5798. By Nasenbaer

Add carli to the developers list :)

5799. By Nasenbaer

Style fixes

5800. By Nasenbaer

Fix bug #680207 - Economy settings missing ores

5801. By Nasenbaer

Small usability bug fixes for new multi player launch game menu + update of copyright

5802. By Nasenbaer

Merge hjd's fix of atlantean miller's description with minor change by me

5803. By Nasenbaer

Small fix to avoid attacks of the enemy in tutorial01.wmf

5804. By Jari Hautio

Link additional apple and win32 dependencies through widelands_all to clean up code required for unit tests.

5805. By Nasenbaer

Update ChangeLog

5806. By Nicolai Hähnle

Productionsite: silence a signed vs. unsigned warning

5807. By Nicolai Hähnle

immovable.cc: Fix warning about initializer order in constructor

5808. By Nicolai Hähnle

animationgfx: Fix format string vs. parameter type mismatch

5809. By Nicolai Hähnle

Fix crash when savegame is deleted while the Load Game screen is open

5810. By Nicolai Hähnle

Fix bug #695016: Refresh soldiers list when soldiers are healing

5811. By Nicolai Hähnle

Refresh window caches for soldier list and economy configuration on changes

5812. By Nasenbaer

A hopefully complete fix for bug #659884

5813. By Nasenbaer

Commit fix for bug #707147 by Foppe Benedictus + decided fix for bug #695018 + a small style fix for my last commit

5814. By Nicolai Hähnle

Fix a "Hall of Mirrors" effect in the main menu in specific screen resolutions

Sometimes, the resizing in get_resized_picture() gets a scaled picture size
that is off by one, resulting in a one-pixel wide strip in the final picture
that is not covered by the scaled original.

Simply draw solid black bars in such regions to avoid ugly rendering artifacts.

5815. By Nicolai Hähnle

Initial refactoring of Font support

Major changes include:

- Word wrapping is done in a separate struct WordWrap, so that the wrapping
  results can be stored in an easily usable data structure to answer questions
  such as which line a specific character ended up in

- The cache of pre-rendered strings specifically stores only lines of text,
  so that multi-line texts no longer generate huge pictures, and only those
  lines are rendered that can actually be seen

- Since the caret is no longer part of the cache, it can easily be rendered
  in OpenGL mode (bug #594688)

Note that the refactoring is not complete. In fact, the entire rich text
renderer needs to be refactored to match the new philosophy in order to
enable hassle-free picture rendering in OpenGL mode (bug #594693), and in
order to fix a scrolling bug that manifests in software rendering mode
(bug #710250).

5816. By Nasenbaer

Send message if saved game is directory

5817. By Nasenbaer

Fix bug #695735 - "scrollbar damaged in multiline textboxes in (unique) windows in FS menu" - in fact the problem was later resizing of multilinetextareas, where scrollbars were not resized.

5818. By Nasenbaer

Fix bug #580073 - Objectives menu not updated fast enough

5819. By Nasenbaer

Fix bug #536149: miner/master miner mixed up after enhancing to deep Mine

5820. By Nasenbaer

Fix bug in t01.wmf - lua code was outdated

5821. By Nasenbaer

Merged current version of translations branch

5822. By Nasenbaer

Add translation files for dummy scenario (so the explanation is translated as well) + update all the other pot files as well.

5823. By Nasenbaer

Implement wishlist bug #660869: Savegames do not store name of the win condition

5824. By Chuck Wilder

Added kingcreole's new barbarian mines!

5825. By Chuck Wilder

Added kingcreole to list of graphicians on the Developers Page

5826. By Jari Hautio

Fixed iconv linkage in windows visual studio build.

5827. By SirVer

Description fixes by hjd

5828. By SirVer

Updated language catalogs

5829. By Chuck Wilder

Added fraang's new build help icons! Replaced menu_toggle_buildhelp.png, menu tabs and other icons that reflected the original build help symbols. Added fraang to the Graphicians in the Developers List.

5830. By Chuck Wilder

Added kingcreole's new granitemine animation for the barbarians.

5831. By Nasenbaer

Merge martin's i18n branch :)

5832. By Nasenbaer

Add an include to fix compilation on GCC 4.6 - thanks go to user triceo who provided the patch :)

5833. By Nasenbaer

Fix for the case, that VERSION file is empty

5834. By Nasenbaer

Fix bug #720834 - Size Icons Too Big in Building Statistics Window

5835. By Nasenbaer

Fix bug #720338: Options show wrong resulution as selected if no ~/.widelands/conf exists

5836. By Nasenbaer

Fix bug #606925: In-game resolution internationalization

5837. By Nasenbaer

Fix bug #708328: infinite loop(s) in building_statistics_menu.cc

5838. By Nasenbaer

Add some forgotten developers - sorry girls and guys :)\!

5839. By Nasenbaer

Improved Version of dedicated server - yet unfinished and still opening a UI

5840. By Nasenbaer

All commands implemented - now we only need to rip out the UI ;)

5841. By Nasenbaer

And we've got a GUIless dedicated server :)

5842. By Nasenbaer

Last missing commit from dedicated branch

5843. By Nasenbaer

Small changes

5844. By Nicolai Hähnle

Merge cleanups by Hans Joachim Desserud

5845. By Tino

small win32 fix: it is Sleep() not sleep(). Because it takes microseconds as arguments i changed the value to 1000 to wait a second, if a microsecond was intended, please change back.

5846. By Nicolai Hähnle

Add some game tips to inform players of useful keyboard shortcuts

5847. By Chuck Wilder

Added kingcreole's new barbarian well and made minor correction to list of developers

5848. By Nicolai Hähnle

Refactor richtext rendering to store layout information in a RichText structure

Notable changes are:

1. Richtext is now no longer stored in one big off-screen picture. This change
   should allow us to have longer richtext without problems, and it simplifies
   support of images in OpenGL mode (bug #594693).

2. Richtext is pre-layouted, and the layout stored in a dedicated data
   structure, which trivially fixes the chat display bug #710250.

3. Ascent and descent of text is calculated more precisely, which allows us to
   have more natural looking multiline text.

4. Text flows around images more naturally now, wasting less space.

5849. By Nicolai Hähnle

Fix bug #674464: brighten_rect darkens on negative factors in OpenGL mode

Note that this requires functionality from the imaging subset, but this should be
avaible pretty much everywhere.

5850. By Nicolai Hähnle

Fix bug #714122: Screenshots now right-side up in OpenGL mode

Basically, we have to compensate for the fact that the OpenGL coordinate
system is upside-down compared to the one used by SDL.

5851. By Nicolai Hähnle

Fix regression: Alignment of multiline textareas works correctly again

5852. By Nasenbaer

Make win32 behaviour mostely equivalent to the Unix version - thanks to Tino for pointing me to Sleep()

5853. By Nasenbaer

My last mini feature for build16: chat history

5854. By SirVer

Update catalogs for build 16 first-snow feature freeze

5855. By Nicolai Hähnle

Tino's changes to use GLEW, with some modifications

Use GLEW on all platforms, since we'll probably use it in other places as well
in the future. Also, document it as a new dependency.

5856. By Tino

- added missing include for windows
- adapt wait times

5857. By SirVer

Undid a change made in r5818 that broke the Lua testsuite

5858. By SirVer

Renamed Player.tribe and MapSlot.tribe to tribe_name to make it possible to add a wrapping for the tribe description which might than be called tribe

5859. By SirVer

Merged fixes to the compiling README by David Allwicher with very minor editing by myself

5860. By SirVer

Merged the datadir branch by David Allwicher which should make live easier for packagers

5861. By SirVer

Patch by Martin and Carli keeping the ordering of messages in tact.

5862. By SirVer

Removed all mentions of Scons. Also removed some mentions of svn

5863. By SirVer

Thanks to pluto library in CREDITS

5864. By SirVer

Update ChangeLog. Went through all commits since build 15.

5865. By SirVer

Merged latest translations

5866. By Jari Hautio

Support linking static version of glew library on Win32.

5867. By Nasenbaer

Merge aber's bug fix branch, which fixes a segfault at startup. Further a minimal usability bug fix for getting an errormessage from the dedicated server as answer on an unknown command.

5868. By Jari Hautio

More reasonable sleep times on windows for dedicated server. Sleep() takes integer argument and Sleep(0) is not good for lowering processor usage. On Windows Sleep resolution is tens of milliseconds so few millisecond sleeps are not reality.

5869. By Nicolai Hähnle

Sanitize richtext in chat messages on the client side

The previous server-side approach was at least partial snake oil, because
a malicious game host could easily remove those checks.

The current checks still do not eliminate richtext entirely from system
messages, because formatting is used in the context of the meta server and
dedicated server, but it should mitigate the scope of potentially accessible
bugs (not that there are any known problematic bugs in the richtext renderer
in the first place, but better safe than sorry).

5870. By Nicolai Hähnle

Fix bug #724169: Military site window no longer changes size erratically

Add Box::set_min_desired_breadth to set a minimum size for boxes, which is
used by the soldier list to fix the width to the maximum of strings that
will be displayed.

5871. By Nicolai Hähnle

Fix bug #722789: Always flush animations before loading

This is a quick and easy fix, though looking at this, we might want to simply
cache all pictures in the long run, so that subsequent game loads can be faster
than the first load. That would be too intrusive a change at the current point
in time, though.

5872. By Nicolai Hähnle

Fix bug #691909: Compatibility with old savegames with barbarian battlearena

5873. By Nicolai Hähnle

Fix bug #697375: Handle state.coords == Null() correctly in soldier attack code

Fixes loading older savegames; also added a savegame from build14 for future
testing.

5874. By Nicolai Hähnle

Fix bug #670980: Cmd_EnemyFlagAction::Write handles disappeared flag

5875. By Nasenbaer

Fixes from Jari and me to fix a security issue.

5876. By Nicolai Hähnle

Fallback to global exception handling when loading the tutorial

There is no need to special-case exception handling, and this happens to also
fix bug #728057.

5877. By Nicolai Hähnle

Fix bug #612348: Soldiers always move out of buildings to battle

5878. By Nicolai Hähnle

Allow can_act_as workers when loading transfers from savegames

No longer complain when a master miner is transferred to a mine to fill a
junior position. This fixes bug #687342.

5879. By Nasenbaer

Merge patch by martin

5880. By Nasenbaer

Lowest possible Sleep() value for Windows + comment - all other fixes are more or less a feature and so may be implemented after build16 ;)

5881. By Nasenbaer

Update Changelog

5882. By Nasenbaer

Sorry my fault - the easiest fixes still need a check before committing - I better go to bed now ;)

5883. By Nasenbaer

Revert last fix and commit new fix along the lines aber suggested for bug #729772 - this time only the fontselection code (which was broken) is changed, so nothing else will be affected. However something seems to really go wrong.

5884. By Nasenbaer

Style fixes (including bug fix to show last entries) + updated of developers file

5885. By Nasenbaer

decrease window size if the available size is smaller than the desired window size

5886. By Nicolai Hähnle

Fix bug #647583: Do not show the "Destroy road" button in replays

5887. By Nasenbaer

Wow this was a very stupid bug - I better stop committing to trunk until I've learned, that replacing all dots in a file name means removing the suffix .wmf - seems nobody played the latest development version in the last few days, as all official maps were unplayable via network... :(

5888. By SirVer

Adjusted the height of message boxes in scenarios

5889. By SirVer

Reenabled removing players in the Editor

5890. By SirVer

Update translation catalogs

5891. By SirVer

Merged in new translations

5892. By Chuck Wilder

Upgraded iron and gold wares to metal ingots for all tribes

5893. By Chuck Wilder

Added fraang's upgraded build help icons with transparencies.

5894. By David Allwicher

Merged in new and fixed translations

5895. By SirVer

Fix a small jump in soldier windows

5896. By Nicolai Hähnle

Fix uninitialized variable that was flagged by Valgrind

This missing initialization is probably benign, but initializing the modules
field with 0 is the correct behaviour.

5897. By SirVer

removed 'until now' from ChangeLog

5898. By SirVer

Added WL_RELEASE file for build-16 rc1

5899. By Tino

- update version string in several build files

5900. By SirVer

WL_RELEASE should not be in trunk, only in build 16 branch. Please do not push build16 branch to trunk

5901. By Nasenbaer

Fix program of deep_goldmine

5902. By SirVer

Backed out the fix introduce in 5901. It is a bug, but the changes would need more testing and are not critical for build 16

5903. By SirVer

Committed Jaris suggestions for Localization fixes

5904. By Tino

mine gold instead of coal
produce goldstone instead of gold

5905. By SirVer

Completed repeat of revision 5901 since the feature freeze is lifted now

5906. By David Allwicher

Try to parse revision from debian/changelog

5907. By David Allwicher

remove illegal char

5908. By David Allwicher

catch Exeption in case bzr is not found

5909. By David Allwicher

don't require tilde in version string

5910. By David Allwicher

Merge branch to fix some warnings from png.h and in request.cc

5911. By David Allwicher

Merged in new translations

5912. By Nasenbaer

Fix the fix for bug #536149 - similar to the statement of the first fix: bug should be fixed now ... + typo in CMakeLists.txt

5913. By Nasenbaer

Fix animal positions on two maps

5914. By SirVer

Applied fixes for FreeBSD from Nathan Peters

5915. By SirVer

Fix for emp02.wmf by Leif Standstede

5916. By SirVer

Corrected the name of Leif

5917. By Martin

Added names and locales for languages: Asturian, Greek, Javanese, Chinese (Simpl.), Chinese (Trad.)

5918. By Nasenbaer

merge hjd's fix for bug 565406 - focus for save window

5919. By Nasenbaer

Add saving via chat command functionality to the dedicated server

5920. By Nasenbaer

small improvement to last commit

5921. By Nasenbaer

Merge bug fix by hjd for bug 734409 - campaign texts about enhancing metalworks

5922. By Nasenbaer

Merge hjd's ware-data branchs

5923. By Nasenbaer

Merge bug fix by hjd for bug 795457 - focus in chat window

5924. By SirVer

New desert world graphics for beach, desert and drysoil by Astuur.

5925. By SirVer

Fixed a small typo in the documentation of wl.map.Field.resource_amount

5926. By SirVer

Removed stronghold mentionings from campaign texts. Patch by Leif Sandstede and Hans Joachim Desserud

5927. By Nasenbaer

Removed ancient no more used code and realigned code for better visibility a bit

5928. By Chuck Wilder <email address hidden>

Added Astuur's new water and ice floe terrain for desert, greenland and winterland

5929. By Chuck Wilder <email address hidden>

Adjusted framerate for winterland's ice floe animation from 8fps to 5fps

5930. By Chuck Wilder <email address hidden>

Added Astuur's new quarry stones for desert world

5931. By Chuck Wilder <email address hidden>

Added Astuur's new quarry stones and standing stones for all worlds

5932. By Chuck Wilder <email address hidden>

Removed old animation artifacts.

5933. By Chuck Wilder <email address hidden>

Corrected filenames inadvertantly capitalized by Windows

5934. By Chuck Wilder <email address hidden>

Added Astuur's new blackland water animation

5935. By Chuck Wilder <email address hidden>

Rescaled sstones 1-5 for all worlds

5936. By Chuck Wilder <email address hidden>

Added new roof and animation to empire armorsmithy and new roof to the empire weaponsmithy

5937. By Chuck Wilder <email address hidden>

Animated empire weaponsmithy build and working sequence

5938. By Chuck Wilder <email address hidden>

Remodeled the empire bakery

5939. By Chuck Wilder <email address hidden>

Added working animation for empire bakery

5940. By Chuck Wilder <email address hidden>

Updated empire smelting_works with new animations

5941. By SirVer

New empire fishing rods by Astuur

5942. By Chuck Wilder <email address hidden>

New working animation for empire smelting_works

5943. By SirVer

Added barriers to some maps. Suggested and patched by hjd

5944. By Nasenbaer

Add new win condition endless game (no fog) + fixed a broken conf file in winterland

5945. By Nasenbaer

merge current status of translations

5946. By Nasenbaer

Look of the street is now world depending (files rodt_... in worlddirectory/pics)

5947. By Chuck Wilder

New working animation for empire armoursmithy

5948. By Chuck Wilder <email address hidden>

Corrected conf file for sstones1 in all worlds

5949. By Nasenbaer

Add unoccupied state for buildings, played if a building is already built up complete, but no worker has yet entered the building. Added unoccupied state for barbarian helmsmithy, bakery, donjon, sentry and barrier - all other buildings without unoccupied state play the idle state per default.

5950. By Nasenbaer

Check client before any interaction in host commands

5951. By Nasenbaer

Fix Widelands Innosetup script for Windows installer to clean up all date before upgrading to a newer version

5952. By chuckw20 <email address hidden>

Modified empire armoursmithy and added unoccupied image

5953. By chuckw20 <email address hidden>

Corrected typo in empire armoursmithy conf file

5954. By chuckw20 <email address hidden>

New roofs for empire brewery, burner, donkeyfarm, farm, forester, inn, mill and tavern. Added PlayerColor to windmill.

5955. By chuckw20 <email address hidden>

New roofs for empire piggery, scouts_house, sheepfarm, and stonemasons_house. Added playercolor to scouts_house.

5956. By Nasenbaer

Fix several issues of dedicated server handling and general multiplayer

5957. By chuckw20 <email address hidden>

Added Astuur's new textures for the blackland quarry stones and added a new roof for the empire toolsmithy.

5958. By chuckw20 <email address hidden>

New roofs for empire vineyard, wareouse, weaving_mill and winery. Completes the re-roofing for empire buildings. Added PlayerColor to weaving_mill.

5959. By Nasenbaer

Added motd functionality to dedicated server, smallered idle cpu usage of dedicated servers drastically, fixed a problem with connecting to servers from metaserver - before only the first recieved ip was saved, so widelands always tried to connect to the server that was first selected - independent from whether it was connectable, whether it is already in game or perhaps even already shut down - so this is fixed now ;)

5960. By chuckw20 <email address hidden>

Added build and working animation to empire weaving_mill. Modified PlayerColor patterns in empire weaving_mill and windmill.

5961. By chuckw20 <email address hidden>

Added new working animation for empire bakery, Astuur's fishing rod to the barbarians, Astuur's iron slab graphic for all tribes, and Astuur's new animated sumpf terrain for greenland.

5962. By Nasenbaer

Added empty state for mines - once a mine is empty, the default animation will be set from 'idle' to 'empty', which is basically the same animation, just with an additional sign on the mine's wall showing a big black cross.

5963. By Nasenbaer

Fix for road loading in editor

5964. By Nasenbaer

Fix for previous revision for dedicated servers

5965. By Nasenbaer

Partly merge current scenario-branch into trunk - bringing first (yet maybe to be tuned) multiplayer scenario to widelands.

5966. By chuckw20 <email address hidden>

Added new models for barbarian fortress and citadel

5967. By chuckw20 <email address hidden>

Cropped barbarian fortress, added barbarian icon image to headquarters and adjusted its palisade

5968. By Nasenbaer

(Multiplayer) Fix a crash when switching to a saved game after having a scenario map selected before.

5969. By Nasenbaer

Fix bug #842960

5970. By chuckw20 Chuck Wilder <email address hidden>

Muted the color of the awning and emblem on the barbarian headquarters

5971. By chuckw20

Added build animation for the barbarian fortress

5972. By chuckw20

Corrected viewing angle of barbarian fortress

5973. By Nasenbaer

Fix for animation for building upgrade

5974. By SirVer

Merged latest translations

5975. By chuckw20

Completed build animation for barbarian citadel

5976. By chuckw20

For Bug #695035, adjusted hot spots

5977. By SirVer

Merged ware_hotspot fix by shevonar

5978. By SirVer

Merged fix to confgettext.py by shevonar

5979. By SirVer

Updated message catalogues

5980. By Victor Pelt

fix codecheck violations

5981. By Victor Pelt

fix code check violation

5982. By Victor Pelt

fix for bug 786243
create extra collumns if wares don't fit in a single collumn because of low resulution

5983. By SirVer

Added shevonars real-name

5984. By Nasenbaer

merge lp:~shevonar/widelands/feature-random-tribe-and-AI, thanks shevonar for this cool feature :)

5985. By Victor Pelt

update trying to get branch in sync

5986. By Victor Pelt

left over merge issues

5987. By Victor Pelt

main tree compile.sh

5988. By Victor Pelt

fix all merge conflixts. runs and compiles now

5989. By Victor Pelt

merge with trunk

5990. By Victor Pelt

local improvement

5991. By Victor Pelt

merge with main tree

5992. By Victor Pelt

evict on construction sites working properly now

5993. By Victor Pelt

small cleanup

5994. By Victor Pelt

make working positions into a vector
improve evicting of production site

Revision history for this message
Hans Joachim Desserud (hjd) wrote :

Hi all.

I haven't been involved in the review process for this proposal, so I don't know how close it was to making its way into trunk. However, we have had a different proposal for solving this problem [1] which has been merged and released in build 18 rc1. I've therefore taken the liberty to close this merge proposal. :)

[1] https://code.launchpad.net/~gamag/widelands/SimpleEvictWorkerButton/+merge/146268

Unmerged revisions

5994. By Victor Pelt

make working positions into a vector
improve evicting of production site

5993. By Victor Pelt

small cleanup

5992. By Victor Pelt

evict on construction sites working properly now

5991. By Victor Pelt

merge with main tree

5990. By Victor Pelt

local improvement

5989. By Victor Pelt

merge with trunk

5988. By Victor Pelt

fix all merge conflixts. runs and compiles now

5987. By Victor Pelt

main tree compile.sh

5986. By Victor Pelt

left over merge issues

5985. By Victor Pelt

update trying to get branch in sync

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/logic/building.cc'
2--- src/logic/building.cc 2011-09-02 12:36:04 +0000
3+++ src/logic/building.cc 2011-09-23 21:20:33 +0000
4@@ -252,7 +252,8 @@
5 m_flag (0),
6 m_defeating_player(0),
7 m_priority (DEFAULT_PRIORITY),
8-m_seeing(false)
9+m_seeing(false),
10+m_evicted(false)
11 {}
12
13 Building::~Building()
14@@ -479,6 +480,30 @@
15 egbase.create_immovable(pos, "destroyed_building", &t);
16 }
17
18+/*
19+=============
20+Remove workers from the building
21+=============
22+*/
23+void Building::evict(Editor_Game_Base & egbase)
24+{
25+ m_evicted = ! m_evicted;
26+
27+ if (m_evicted) {
28+ Workers wl = get_workers();
29+ Game & game = ref_cast<Game, Editor_Game_Base>(egbase);
30+ Workers::iterator b = wl.begin();
31+ Workers::iterator e = wl.end();
32+ while (b != e)
33+ {
34+ log ("Evicting worker");
35+ (*b)->reset_tasks(game);
36+ (*b)->start_task_leavebuilding(game, true);
37+ ++b;
38+ }
39+ }
40+}
41+
42
43 /*
44 ===============
45
46=== modified file 'src/logic/building.h'
47--- src/logic/building.h 2010-11-01 14:00:56 +0000
48+++ src/logic/building.h 2011-09-23 21:20:33 +0000
49@@ -143,6 +143,7 @@
50 enum {
51 PCap_Bulldoze = 0, // can bulldoze/remove this buildings
52 PCap_Enhancable = 3, // can be enhanced to something
53+ PCap_Evict = 4
54 };
55
56 public:
57@@ -176,6 +177,8 @@
58
59 virtual bool burn_on_destroy();
60 virtual void destroy(Editor_Game_Base &);
61+ virtual void evict (Editor_Game_Base &);
62+ bool is_evicted () const {return m_evicted;}
63
64 void show_options(Interactive_GameBase &);
65 void hide_options();
66@@ -262,6 +265,7 @@
67
68 /// Whether we see our vision_range area based on workers in the building
69 bool m_seeing;
70+ bool m_evicted;
71 };
72
73 }
74
75=== modified file 'src/logic/constructionsite.cc'
76--- src/logic/constructionsite.cc 2011-09-10 16:13:48 +0000
77+++ src/logic/constructionsite.cc 2011-09-23 21:20:33 +0000
78@@ -147,10 +147,30 @@
79 uint32_t caps = Building::get_playercaps();
80
81 caps |= 1 << PCap_Bulldoze;
82+ caps |= 1 << PCap_Evict;
83
84 return caps;
85 }
86
87+void ConstructionSite::evict(Editor_Game_Base & egbase) {
88+ //toggle evict status, kick out workers
89+ Building::evict(egbase);
90+
91+ if (m_evicted) {
92+ //builder left (or will be leaving soon) so remove builder
93+ m_builder = 0;
94+ if (m_builder_request) {
95+ delete m_builder_request;
96+ m_builder_request = 0;
97+ }
98+ } else {
99+ //un-evict. request a new builder
100+ if (m_builder.get(egbase) == 0 && m_builder_request == 0) {
101+ if (upcast(Game, game, &egbase))
102+ request_builder(*game);
103+ }
104+ }
105+}
106
107 /*
108 ===============
109@@ -172,6 +192,9 @@
110 std::string ConstructionSite::get_statistics_string()
111 {
112 char buffer[40];
113+ if (m_evicted)
114+ return _("(evicted)");
115+
116 snprintf
117 (buffer, sizeof(buffer),
118 _("%u%% built"), (get_built_per64k() * 100) >> 16);
119
120=== modified file 'src/logic/constructionsite.h'
121--- src/logic/constructionsite.h 2010-09-20 20:36:44 +0000
122+++ src/logic/constructionsite.h 2011-09-23 21:20:33 +0000
123@@ -93,6 +93,8 @@
124
125 virtual void log_general_info(Editor_Game_Base const &);
126
127+ virtual void evict (Editor_Game_Base &);
128+
129 protected:
130 virtual void create_options_window
131 (Interactive_GameBase &, UI::Window * & registry);
132
133=== modified file 'src/logic/game.cc'
134--- src/logic/game.cc 2011-09-04 18:28:23 +0000
135+++ src/logic/game.cc 2011-09-23 21:20:33 +0000
136@@ -741,6 +741,13 @@
137 (get_gametime(), pi.owner().player_number(), pi, recurse));
138 }
139
140+void Game::send_player_evict (PlayerImmovable & pi, bool const evict)
141+{
142+ send_player_command
143+ (*new Cmd_Evict
144+ (get_gametime(), pi.owner().player_number(), pi, true));
145+}
146+
147 void Game::send_player_build
148 (int32_t const pid, Coords const coords, Building_Index const id)
149 {
150
151=== modified file 'src/logic/game.h'
152--- src/logic/game.h 2011-02-19 14:30:12 +0000
153+++ src/logic/game.h 2011-09-23 21:20:33 +0000
154@@ -147,6 +147,7 @@
155 void send_player_command (Widelands::PlayerCommand &);
156
157 void send_player_bulldoze (PlayerImmovable &, bool recurse = false);
158+ void send_player_evict (PlayerImmovable &, bool recurse = false);
159 void send_player_build (int32_t, Coords, Building_Index);
160 void send_player_build_flag (int32_t, Coords);
161 void send_player_build_road (int32_t, Path &);
162
163=== modified file 'src/logic/immovable.cc'
164--- src/logic/immovable.cc 2011-01-30 15:39:12 +0000
165+++ src/logic/immovable.cc 2011-09-23 21:20:33 +0000
166@@ -462,6 +462,7 @@
167 (FCoords const f, Map const & map) const
168 {
169 uint32_t result = 0;
170+
171 // Neighbours
172 FCoords const tr = map.tr_n(f);
173 FCoords const tl = map.tl_n(f);
174
175=== modified file 'src/logic/militarysite.cc'
176--- src/logic/militarysite.cc 2011-08-23 13:26:16 +0000
177+++ src/logic/militarysite.cc 2011-09-23 21:20:33 +0000
178@@ -754,4 +754,19 @@
179 return 0;
180 }
181
182+/*
183+=======================
184+Override: MilitarySite can't evict workers
185+=======================
186+*/
187+
188+uint32_t MilitarySite::get_playercaps() const throw () {
189+ uint32_t caps = ProductionSite::get_playercaps();
190+
191+ //exclude PCap_Evict from current caps
192+ caps &= ~(1 << PCap_Evict);
193+
194+ return caps;
195+}
196+
197 }
198
199=== modified file 'src/logic/militarysite.h'
200--- src/logic/militarysite.h 2010-11-01 13:12:23 +0000
201+++ src/logic/militarysite.h 2011-09-23 21:20:33 +0000
202@@ -64,6 +64,8 @@
203 char const * type_name() const throw () {return "militarysite";}
204 virtual std::string get_statistics_string();
205
206+ uint32_t get_playercaps() const throw ();
207+
208 virtual void init(Editor_Game_Base &);
209 virtual void cleanup(Editor_Game_Base &);
210 virtual void act(Game &, uint32_t data);
211
212=== modified file 'src/logic/player.cc'
213--- src/logic/player.cc 2011-09-19 17:48:27 +0000
214+++ src/logic/player.cc 2011-09-23 21:20:33 +0000
215@@ -477,6 +477,27 @@
216 }
217 }
218
219+/*
220+===============
221+Evict worker from building
222+===============
223+*/
224+void Player::evict(PlayerImmovable & imm, bool const recurse)
225+{
226+ if (imm.get_owner() != this)
227+ return;
228+ if (upcast(Building, building, &imm)) {
229+ if (!(building->get_playercaps() & (1 << Building::PCap_Evict)))
230+ return;
231+ if (recurse) {
232+ building->evict(egbase());
233+ }
234+ } else {
235+ //can't evict anything else
236+ throw wexception
237+ ("Player::evict(%u): bad immobale type", imm.serial());
238+ }
239+}
240
241 /*
242 ===============
243
244=== modified file 'src/logic/player.h'
245--- src/logic/player.h 2010-12-14 12:36:29 +0000
246+++ src/logic/player.h 2011-09-23 21:20:33 +0000
247@@ -433,6 +433,7 @@
248 bool = false);
249 Building * build(Coords, Building_Index, bool = true);
250 void bulldoze(PlayerImmovable &, bool recurse = false);
251+ void evict(PlayerImmovable &, bool recurse = false);
252 void flagaction(Flag &);
253 void start_stop_building(PlayerImmovable &);
254 void enhance_building
255
256=== modified file 'src/logic/playercommand.cc'
257--- src/logic/playercommand.cc 2011-02-26 19:19:25 +0000
258+++ src/logic/playercommand.cc 2011-09-23 21:20:33 +0000
259@@ -59,7 +59,8 @@
260 PLCMD_CHANGEMILITARYCONFIG,
261 PLCMD_MESSAGESETSTATUSREAD,
262 PLCMD_MESSAGESETSTATUSARCHIVED,
263- PLCMD_SETSTOCKPOLICY
264+ PLCMD_SETSTOCKPOLICY,
265+ PLCMD_EVICT
266 };
267
268 /*** class PlayerCommand ***/
269@@ -72,6 +73,7 @@
270 {
271 switch (des.Unsigned8()) {
272 case PLCMD_BULLDOZE: return new Cmd_Bulldoze (des);
273+ case PLCMD_EVICT: return new Cmd_Evict (des);
274 case PLCMD_BUILD: return new Cmd_Build (des);
275 case PLCMD_BUILDFLAG: return new Cmd_BuildFlag (des);
276 case PLCMD_BUILDROAD: return new Cmd_BuildRoad (des);
277@@ -197,6 +199,63 @@
278 fw.Unsigned8(recurse);
279 }
280
281+/*** class Cmd_Evict ***/
282+Cmd_Evict::Cmd_Evict (StreamRead & des) :
283+ PlayerCommand (0, des.Unsigned8()),
284+ serial (des.Unsigned32()),
285+ recurse (des.Unsigned8())
286+{}
287+
288+void Cmd_Evict::execute (Game & game)
289+{
290+ if (upcast(PlayerImmovable, pimm, game.objects().get_object(serial)))
291+ game.player(sender()).evict(*pimm, recurse);
292+}
293+
294+void Cmd_Evict::serialize (StreamWrite & ser)
295+{
296+ ser.Unsigned8 (PLCMD_EVICT);
297+ ser.Unsigned8 (sender());
298+ ser.Unsigned32(serial);
299+ ser.Unsigned8 (recurse);
300+}
301+
302+#define PLAYER_CMD_EVICT_VERSION 2
303+void Cmd_Evict::Read
304+ (FileRead & fr, Editor_Game_Base & egbase, Map_Map_Object_Loader & mol)
305+{
306+ try {
307+ uint16_t const packet_version = fr.Unsigned16();
308+ if (1 <= packet_version and packet_version <= PLAYER_CMD_EVICT_VERSION) {
309+ PlayerCommand::Read(fr, egbase, mol);
310+ Serial const pimm_serial = fr.Unsigned32();
311+ try {
312+ serial = mol.get<PlayerImmovable>(pimm_serial).serial();
313+ recurse = 2 <= packet_version ? fr.Unsigned8() : false;
314+ } catch (_wexception const & e) {
315+ throw game_data_error
316+ (_("player immovable %u: %s"), pimm_serial, e.what());
317+ }
318+ } else
319+ throw game_data_error
320+ (_("unknnown/unhandled version %u"), packet_version);
321+ } catch (_wexception const & e) {
322+ throw game_data_error (_("evict: %s"), e.what());
323+ }
324+}
325+void Cmd_Evict::Write
326+ (FileWrite & fw, Editor_Game_Base & egbase, Map_Map_Object_Saver & mos)
327+{
328+ //First write version
329+ fw.Unsigned16(PLAYER_CMD_EVICT_VERSION);
330+ //Write base classes
331+ PlayerCommand::Write(fw, egbase, mos);
332+ // Now serial
333+ Map_Object const * obj = egbase.objects().get_object(serial);
334+ fw.Unsigned32(obj ? mos.get_object_file_index(*obj) : 0);
335+ fw.Unsigned8(recurse);
336+}
337+
338 /*** class Cmd_Build ***/
339
340 Cmd_Build::Cmd_Build (StreamRead & des) :
341
342=== modified file 'src/logic/playercommand.h'
343--- src/logic/playercommand.h 2010-11-01 13:12:23 +0000
344+++ src/logic/playercommand.h 2011-09-23 21:20:33 +0000
345@@ -84,6 +84,30 @@
346 bool recurse;
347 };
348
349+struct Cmd_Evict:public PlayerCommand {
350+ Cmd_Evict() : PlayerCommand() {} // For savegame loading
351+ Cmd_Evict
352+ (int32_t const t, int32_t const p,
353+ PlayerImmovable & pi,
354+ bool const _recurse = false)
355+ : PlayerCommand(t, p), serial(pi.serial()), recurse(_recurse)
356+ {}
357+
358+ Cmd_Evict (StreamRead &);
359+
360+ void Write(FileWrite &, Editor_Game_Base &, Map_Map_Object_Saver &);
361+ void Read (FileRead &, Editor_Game_Base &, Map_Map_Object_Loader &);
362+
363+ virtual uint8_t id() const {return QUEUE_CMD_BULLDOZE;}
364+
365+ virtual void execute (Game &);
366+ virtual void serialize (StreamWrite &);
367+
368+private:
369+ Serial serial;
370+ bool recurse;
371+};
372+
373 struct Cmd_Build:public PlayerCommand {
374 Cmd_Build() : PlayerCommand() {} // For savegame loading
375 Cmd_Build
376
377=== modified file 'src/logic/production_program.cc'
378--- src/logic/production_program.cc 2011-09-02 12:36:04 +0000
379+++ src/logic/production_program.cc 2011-09-23 21:20:33 +0000
380@@ -235,9 +235,9 @@
381 bool ProductionProgram::ActReturn::Workers_Need_Experience::evaluate
382 (ProductionSite const & ps) const
383 {
384- ProductionSite::Working_Position const * const wp = ps.m_working_positions;
385- for (uint32_t i = ps.descr().nr_working_positions(); i;)
386- if (wp[--i].worker->needs_experience())
387+ ProductionSite::wp_const_iterator e = ps.m_working_positions.end();
388+ for (ProductionSite::wp_const_iterator b = ps.m_working_positions.begin(); b != e; ++b)
389+ if (b->worker->needs_experience())
390 return true;
391 return false;
392 }
393@@ -481,8 +481,8 @@
394 "(wrong declaration order?)"),
395 program_name, descr.descname().c_str());
396 m_program = it->second;
397+ m_program_name = program_name;
398 }
399-
400 // Override with specified handling methods.
401 #if 0
402 log
403@@ -548,10 +548,11 @@
404 {
405 Program_Result const program_result =
406 static_cast<Program_Result>(ps.top_state().phase);
407-
408+#ifdef DEBUG
409+ log("%s Call %s\n", ps.descname().c_str(), m_program_name.c_str());
410+#endif
411 if (program_result == None) // The program has not yet been called.
412- //ps.molog("%s Call %s\n", ps.descname().c_str(),
413- // m_program->get_name().c_str());
414+
415 return ps.program_start(game, m_program->name());
416
417 switch (m_handling_methods[program_result - 1]) {
418@@ -1019,7 +1020,6 @@
419 return false;
420 }
421
422-
423 ProductionProgram::ActMine::ActMine
424 (char * parameters, ProductionSite_Descr & descr,
425 const std::string & production_program_name)
426
427=== modified file 'src/logic/production_program.h'
428--- src/logic/production_program.h 2010-11-21 11:44:22 +0000
429+++ src/logic/production_program.h 2011-09-23 21:20:33 +0000
430@@ -275,7 +275,10 @@
431 #endif
432 private:
433 ProductionProgram * m_program;
434- Program_Result_Handling_Method m_handling_methods[3];
435+ Program_Result_Handling_Method m_handling_methods[3];
436+#ifdef DEBUG
437+ std::string m_program_name;
438+#endif
439 };
440
441 /// Calls a program of the productionsite's main worker.
442
443=== modified file 'src/logic/productionsite.cc'
444--- src/logic/productionsite.cc 2011-09-02 12:36:04 +0000
445+++ src/logic/productionsite.cc 2011-09-23 21:20:33 +0000
446@@ -209,7 +209,7 @@
447
448 ProductionSite::ProductionSite(const ProductionSite_Descr & ps_descr) :
449 Building (ps_descr),
450- m_working_positions (new Working_Position[ps_descr.nr_working_positions()]),
451+ m_working_positions (std::vector<Working_Position>(ps_descr.nr_working_positions())),
452 m_fetchfromflag (0),
453 m_program_timer (false),
454 m_program_time (0),
455@@ -225,7 +225,7 @@
456 }
457
458 ProductionSite::~ProductionSite() {
459- delete[] m_working_positions;
460+ m_working_positions.clear();
461 }
462
463
464@@ -236,6 +236,10 @@
465 {
466 uint32_t const nr_working_positions = descr().nr_working_positions();
467 uint32_t nr_workers = 0;
468+
469+ if (m_evicted)
470+ return _("(evicted)");
471+
472 for (uint32_t i = nr_working_positions; i;)
473 nr_workers += m_working_positions[--i].worker ? 1 : 0;
474 if (!nr_workers)
475@@ -355,7 +359,15 @@
476 (*i.current)->update();
477
478 // Request missing workers.
479- Working_Position * wp = m_working_positions;
480+ request_workers();
481+
482+ if (upcast(Game, game, &egbase))
483+ try_start_working(*game);
484+}
485+
486+void ProductionSite::request_workers() {
487+ // Request missing workers.
488+ wp_iterator wp = m_working_positions.begin();
489 container_iterate_const(Ware_Types, descr().working_positions(), i) {
490 Ware_Index const worker_index = i.current->first;
491 for (uint32_t j = i.current->second; j; --j, ++wp)
492@@ -365,8 +377,6 @@
493 wp->worker_request = &request_worker(worker_index);
494 }
495
496- if (upcast(Game, game, &egbase))
497- try_start_working(*game);
498 }
499
500 /**
501@@ -429,11 +439,9 @@
502 (Editor_Game_Base & egbase, const Worker_Descr & wdes)
503 {
504 bool assigned = false;
505- Working_Position * current = m_working_positions;
506+ wp_iterator end = m_working_positions.end();
507 for
508- (Working_Position * const end = current + descr().nr_working_positions();
509- current < end;
510- ++current)
511+ (wp_iterator current = m_working_positions.begin(); current != end; ++current)
512 {
513 if (current->worker)
514 continue;
515@@ -468,10 +476,10 @@
516 void ProductionSite::remove_worker(Worker & w)
517 {
518 molog("%s leaving\n", w.descname().c_str());
519- Working_Position * current = m_working_positions;
520+ wp_iterator end = m_working_positions.end();
521 for
522- (Working_Position * const end = current + descr().nr_working_positions();
523- current < end;
524+ (wp_iterator current = m_working_positions.begin();
525+ current != end;
526 ++current)
527 if (current->worker == &w) {
528 *current =
529@@ -523,7 +531,7 @@
530 // placed on the slot that originally requested the arrived worker.
531 bool worker_placed = false;
532 Ware_Index idx = w->worker_index();
533- for (Working_Position * wp = psite.m_working_positions;; ++wp) {
534+ for (wp_iterator wp = psite.m_working_positions.begin();; ++wp) {
535 if (wp->worker_request == &rq) {
536 if (wp->worker_request->get_index() == idx) {
537 // Place worker
538@@ -540,9 +548,8 @@
539 }
540 }
541 while (!worker_placed) {
542- uint8_t nwp = psite.descr().nr_working_positions();
543- uint8_t pos = 0;
544- for (Working_Position * wp = psite.m_working_positions; pos < nwp; ++wp) {
545+ wp_iterator end = psite.m_working_positions.end();
546+ for (wp_iterator wp = psite.m_working_positions.begin(); wp != end; ++wp) {
547 // Find a fitting slot
548 if (!wp->worker && !worker_placed)
549 if (wp->worker_request->get_index() == idx) {
550@@ -551,7 +558,6 @@
551 worker_placed = true;
552 break;
553 }
554- ++pos;
555 }
556 if (!worker_placed) {
557 // Find the next smaller version of this worker
558@@ -570,7 +576,7 @@
559 ("Something went wrong! No fitting place for worker %s in %s at (%u, %u) found!",
560 w->descr().descname().c_str(), psite.descr().descname().c_str(),
561 psite.get_position().x, psite.get_position().y);
562- pos = 0;
563+ //pos=0 does what?
564 }
565 }
566
567@@ -629,10 +635,6 @@
568 void ProductionSite::program_act(Game & game)
569 {
570 State & state = top_state();
571-#if 0
572- molog
573- ("PSITE: program %s#%i\n", state.program->get_name().c_str(), state.ip);
574-#endif
575 if (m_is_stopped) {
576 program_end(game, Failed);
577 m_program_timer = true;
578@@ -674,9 +676,13 @@
579 */
580 bool ProductionSite::can_start_working() const throw ()
581 {
582+ if (m_evicted)
583+ return false;
584+
585 for (uint32_t i = descr().nr_working_positions(); i;)
586 if (m_working_positions[--i].worker_request)
587 return false;
588+
589 return true;
590 }
591
592@@ -869,8 +875,7 @@
593 }
594
595 /// Changes the default anim string to \li anim
596-void ProductionSite::set_default_anim(std::string anim)
597-{
598+void ProductionSite::set_default_anim(std::string anim) {
599 if (m_default_anim == anim)
600 return;
601
602@@ -880,4 +885,44 @@
603 m_default_anim = anim;
604 }
605
606+/*
607+===============
608+Override: Production sites can be bulldozed and evicted
609+===============
610+*/
611+uint32_t ProductionSite::get_playercaps() const throw () {
612+ uint32_t caps = Building::get_playercaps();
613+
614+ caps |= 1 << PCap_Bulldoze;
615+ caps |= 1 << PCap_Evict;
616+
617+ return caps;
618+}
619+
620+void ProductionSite::evict (Editor_Game_Base & game) {
621+ /*
622+ * stop the program. a worker left so at least we should
623+ * recheck if there is any work to be done
624+ */
625+
626+ Building::evict(game);
627+
628+ m_stack.clear();
629+ m_program_timer = false;
630+
631+ wp_iterator e = m_working_positions.end();
632+
633+ if (m_evicted) {
634+ for (wp_iterator wp = m_working_positions.begin(); wp != e; ++wp) {
635+ if (wp->worker_request) {
636+ delete wp->worker_request;
637+ wp->worker_request = 0;
638+ }
639+ }
640+ } else {
641+ //un-evict, request new workers
642+ request_workers();
643+ }
644+}
645+
646 }
647
648=== modified file 'src/logic/productionsite.h'
649--- src/logic/productionsite.h 2011-09-02 12:36:04 +0000
650+++ src/logic/productionsite.h 2011-09-23 21:20:33 +0000
651@@ -136,6 +136,8 @@
652 bool is_stopped() const {return m_is_stopped;}
653 void set_stopped(bool);
654
655+ virtual void evict (Editor_Game_Base &);
656+
657 struct Working_Position {
658 Working_Position(Request * const wr = 0, Worker * const w = 0)
659 : worker_request(wr), worker(w)
660@@ -144,7 +146,10 @@
661 Worker * worker;
662 };
663
664- Working_Position const * working_positions() const {
665+ typedef std::vector<Working_Position>::iterator wp_iterator;
666+ typedef std::vector<Working_Position>::const_iterator wp_const_iterator;
667+ //Working_Position const * working_positions() const {
668+ const std::vector<Working_Position> & working_positions() const {
669 return m_working_positions;
670 }
671
672@@ -156,6 +161,7 @@
673 virtual WaresQueue & waresqueue(Ware_Index);
674
675 char const * type_name() const throw () {return "productionsite";}
676+ virtual uint32_t get_playercaps() const throw ();
677 virtual void init(Editor_Game_Base &);
678 virtual void cleanup(Editor_Game_Base &);
679 virtual void act(Game &, uint32_t data);
680@@ -198,6 +204,7 @@
681 State() : coord(Coords::Null()) {}
682 };
683
684+ void request_workers();
685 Request & request_worker(Ware_Index);
686 static void request_worker_callback
687 (Game &, Request &, Ware_Index, Worker *, PlayerImmovable &);
688@@ -227,7 +234,7 @@
689 void set_post_timer (int32_t const t) {m_post_timer = t;}
690
691 protected: // TrainingSite must have access to this stuff
692- Working_Position * m_working_positions;
693+ std::vector<Working_Position> m_working_positions;
694
695 int32_t m_fetchfromflag; ///< Number of items to fetch from flag
696
697
698=== modified file 'src/map_io/widelands_map_buildingdata_data_packet.cc'
699--- src/map_io/widelands_map_buildingdata_data_packet.cc 2011-05-04 19:17:34 +0000
700+++ src/map_io/widelands_map_buildingdata_data_packet.cc 2011-09-23 21:20:33 +0000
701@@ -630,8 +630,8 @@
702 (1 <= packet_version and
703 packet_version <= CURRENT_PRODUCTIONSITE_PACKET_VERSION)
704 {
705- ProductionSite::Working_Position & wp_begin =
706- *productionsite.m_working_positions;
707+ ProductionSite::wp_iterator wp_begin =
708+ productionsite.m_working_positions.begin();
709 ProductionSite_Descr const & descr = productionsite.descr();
710 Ware_Types const & working_positions = descr.working_positions();
711
712@@ -647,7 +647,7 @@
713 Ware_Index const worker_index = req.get_index();
714
715 // Find a working position that matches this request.
716- ProductionSite::Working_Position * wp = &wp_begin;
717+ ProductionSite::wp_iterator wp = wp_begin;
718 for
719 (wl_const_range<Ware_Types>
720 j(working_positions);;
721@@ -728,7 +728,7 @@
722
723 // Find a working position that matches this worker.
724 Worker_Descr const & worker_descr = worker->descr();
725- ProductionSite::Working_Position * wp = &wp_begin;
726+ ProductionSite::wp_iterator wp = wp_begin;
727 for
728 (wl_const_range<Ware_Types> j(working_positions);;
729 ++j)
730
731=== modified file 'src/wui/buildingwindow.cc'
732--- src/wui/buildingwindow.cc 2010-12-03 21:41:49 +0000
733+++ src/wui/buildingwindow.cc 2011-09-23 21:20:33 +0000
734@@ -20,6 +20,7 @@
735 #include "buildingwindow.h"
736
737 #include "bulldozeconfirm.h"
738+#include "evictconfirm.h"
739 #include "game_debug_ui.h"
740 #include "graphic/rendertarget.h"
741 #include "interactive_player.h"
742@@ -33,6 +34,7 @@
743 #include "waresqueuedisplay.h"
744
745 static char const * pic_bulldoze = "pics/menu_bld_bulldoze.png";
746+static char const * pic_evict = "pics/menu_bld_evict.png";
747 static char const * pic_debug = "pics/menu_debug.png";
748
749
750@@ -209,6 +211,17 @@
751 _("Destroy")),
752 UI::Box::AlignCenter);
753 }
754+ if (m_capscache & (1 << Widelands::Building::PCap_Evict)) {
755+ capsbuttons->add
756+ (new UI::Callback_Button
757+ (capsbuttons, "evict",
758+ 0, 0, 34, 34,
759+ g_gr->get_picture(PicMod_UI, "pics/but4.png"),
760+ g_gr->get_picture(PicMod_Game, pic_evict),
761+ boost::bind(&Building_Window::act_evict, boost::ref(*this)),
762+ _("Evict")),
763+ UI::Box::AlignCenter);
764+ }
765 }
766
767 if (can_see) {
768@@ -267,7 +280,21 @@
769
770 /*
771 ===============
772-Callback for bulldozing request
773+Callback for evicting request
774+===============
775+*/
776+void Building_Window::act_evict()
777+{
778+ if (!m_building.is_evicted()) {
779+ show_evict_confirm(ref_cast<Interactive_Player, Interactive_GameBase>(igbase()), m_building);
780+ } else {
781+ igbase().game().send_player_evict(m_building);
782+ }
783+}
784+
785+/*
786+===============
787+Callback for Enhancing request
788 ===============
789 */
790 void Building_Window::act_enhance(Widelands::Building_Index const id)
791
792=== modified file 'src/wui/buildingwindow.h'
793--- src/wui/buildingwindow.h 2010-10-31 11:18:00 +0000
794+++ src/wui/buildingwindow.h 2011-09-23 21:20:33 +0000
795@@ -56,6 +56,7 @@
796 UI::Tab_Panel * get_tabs() {return m_tabs;}
797
798 void act_bulldoze();
799+ void act_evict();
800 void act_debug();
801 void show_workarea();
802 void hide_workarea();
803
804=== added file 'src/wui/evictconfirm.cc'
805--- src/wui/evictconfirm.cc 1970-01-01 00:00:00 +0000
806+++ src/wui/evictconfirm.cc 2011-09-23 21:20:33 +0000
807@@ -0,0 +1,180 @@
808+/*
809+ * Copyright (C) 2002-2004, 2006-2010 by the Widelands Development Team
810+ *
811+ * This program is free software; you can redistribute it and/or
812+ * modify it under the terms of the GNU General Public License
813+ * as published by the Free Software Foundation; either version 2
814+ * of the License, or (at your option) any later version.
815+ *
816+ * This program is distributed in the hope that it will be useful,
817+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
819+ * GNU General Public License for more details.
820+ *
821+ * You should have received a copy of the GNU General Public License
822+ * along with this program; if not, write to the Free Software
823+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
824+ *
825+ */
826+
827+#include "evictconfirm.h"
828+
829+#include "interactive_player.h"
830+#include "logic/building.h"
831+#include "logic/player.h"
832+#include "ui_basic/textarea.h"
833+#include "ui_basic/window.h"
834+#include "upcast.h"
835+
836+#include <boost/format.hpp>
837+
838+using boost::format;
839+
840+
841+/**
842+ * Confirmation dialog box for the evict request for a building.
843+ */
844+struct EvictConfirm : public UI::Window {
845+ EvictConfirm
846+ (Interactive_Player & parent,
847+ Widelands::Building & building,
848+ Widelands::PlayerImmovable * todestroy = 0);
849+
850+ Interactive_Player & iaplayer() const {
851+ return ref_cast<Interactive_Player, UI::Panel>(*get_parent());
852+ }
853+
854+ virtual void think();
855+ void close_window() {die();}
856+private:
857+ Widelands::Object_Ptr m_building;
858+ Widelands::Object_Ptr m_todestroy;
859+
860+ struct Message : public UI::Textarea {
861+ Message(EvictConfirm & parent, Widelands::Building const & building) :
862+ UI::Textarea
863+ (&parent,
864+ 0, 0, 0, 74,
865+ (format(_("Do you really want to evict workers from %s?"))
866+ % building.descname())
867+ .str(),
868+ UI::Align_Left)
869+ {}
870+ } m_message;
871+
872+ struct OK : public UI::Button {
873+ OK(EvictConfirm & parent) :
874+ UI::Button
875+ (&parent, "Ok",
876+ 6, 80, 80, 34,
877+ g_gr->get_picture(PicMod_UI, "pics/but4.png"),
878+ g_gr->get_picture(PicMod_Game, "pics/menu_okay.png"))
879+ {}
880+ void clicked();
881+ } m_ok;
882+
883+ struct Cancel : public UI::Button {
884+ Cancel(EvictConfirm & parent) :
885+ UI::Button
886+ (&parent, "Cancel",
887+ 114, 80, 80, 34,
888+ g_gr->get_picture(PicMod_UI, "pics/but4.png"),
889+ g_gr->get_picture(PicMod_Game, "pics/menu_abort.png"))
890+ {}
891+ void clicked() {
892+ ref_cast<EvictConfirm, UI::Panel>(*get_parent()).close_window();
893+ }
894+ } m_cancel;
895+};
896+
897+
898+/*
899+===============
900+Create the panels.
901+If todestroy is 0, the building will be destroyed when the user confirms it.
902+Otherwise, todestroy is destroyed when the user confirms it. This is useful to
903+confirm building destruction when the building's base flag is removed.
904+===============
905+*/
906+EvictConfirm::EvictConfirm
907+ (Interactive_Player & parent,
908+ Widelands::Building & building,
909+ Widelands::PlayerImmovable * todestroy)
910+ :
911+ UI::Window (&parent, "Evict workers", 0, 0, 300, 120, _("Evict Workers?")),
912+ m_building (&building),
913+ m_todestroy(todestroy ? todestroy : &building),
914+ m_message (*this, building),
915+ m_ok (*this),
916+ m_cancel (*this)
917+{
918+ center_to_parent();
919+ m_cancel.center_mouse();
920+}
921+
922+
923+/*
924+===============
925+Make sure the building still exists and can in fact be evictd.
926+===============
927+*/
928+void EvictConfirm::think()
929+{
930+ Widelands::Editor_Game_Base const & egbase = iaplayer().egbase();
931+ upcast(Widelands::Building, building, m_building .get(egbase));
932+ upcast(Widelands::PlayerImmovable, todestroy, m_todestroy.get(egbase));
933+
934+ if
935+ (!todestroy ||
936+ !building ||
937+ not iaplayer().can_act(building->owner().player_number()) or
938+ !(building->get_playercaps() & (1 << Widelands::Building::PCap_Evict)))
939+ die();
940+}
941+
942+
943+/*
944+===============
945+Issue the CMD_EVICT command for this building.
946+===============
947+*/
948+void EvictConfirm::OK::clicked()
949+{
950+ EvictConfirm & parent =
951+ ref_cast<EvictConfirm, UI::Panel>(*get_parent());
952+ Interactive_Player & iaplayer = parent.iaplayer();
953+ Widelands::Game & game = iaplayer.game();
954+ upcast(Widelands::Building, building, parent.m_building.get(game));
955+ upcast(Widelands::PlayerImmovable, todestroy, parent.m_todestroy.get(game));
956+
957+ if
958+ (todestroy &&
959+ building &&
960+ iaplayer.can_act(building->owner().player_number()) and
961+ building->get_playercaps() & (1 << Widelands::Building::PCap_Evict))
962+ {
963+ game.send_player_evict
964+ (*todestroy, get_key_state(SDLK_LCTRL) or get_key_state(SDLK_RCTRL));
965+ iaplayer.need_complete_redraw();
966+ }
967+
968+ parent.close_window();
969+}
970+
971+
972+/**
973+ * Create a EvictConfirm window.
974+ * No further action is required by the caller: any action necessary to actually
975+ * evict all workers from the building if the user confirims
976+ *
977+ * \param building this is the building that the confirmation dialog displays.
978+ * \param toevict if this is non-zero, then workers will be evicted
979+ * instead of \p building if the user confirms the dialog.
980+ */
981+void show_evict_confirm
982+ (Interactive_Player & player,
983+ Widelands::Building & building,
984+ Widelands::PlayerImmovable * const toevict)
985+{
986+ new EvictConfirm(player, building, toevict);
987+}
988
989=== added file 'src/wui/evictconfirm.h'
990--- src/wui/evictconfirm.h 1970-01-01 00:00:00 +0000
991+++ src/wui/evictconfirm.h 2011-09-23 21:20:33 +0000
992@@ -0,0 +1,35 @@
993+/*
994+ * Copyright (C) 2010 by the Widelands Development Team
995+ *
996+ * This program is free software; you can redistribute it and/or
997+ * modify it under the terms of the GNU General Public License
998+ * as published by the Free Software Foundation; either version 2
999+ * of the License, or (at your option) any later version.
1000+ *
1001+ * This program is distributed in the hope that it will be useful,
1002+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1003+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1004+ * GNU General Public License for more details.
1005+ *
1006+ * You should have received a copy of the GNU General Public License
1007+ * along with this program; if not, write to the Free Software
1008+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
1009+ *
1010+ */
1011+
1012+#ifndef _EVICTCONFIRM_H_
1013+#define _EVICTCONFIRM_H_
1014+
1015+struct Interactive_Player;
1016+
1017+namespace Widelands {
1018+struct Building;
1019+struct PlayerImmovable;
1020+}
1021+
1022+void show_evict_confirm
1023+ (Interactive_Player & player,
1024+ Widelands::Building & building,
1025+ Widelands::PlayerImmovable * const toevict = 0);
1026+
1027+#endif // _BULLDOZECONFIRM_H_
1028
1029=== modified file 'tribes/barbarians/conf'
1030--- tribes/barbarians/conf 2011-01-04 11:56:56 +0000
1031+++ tribes/barbarians/conf 2011-09-23 21:20:33 +0000
1032@@ -218,6 +218,25 @@
1033 [initializations]
1034 headquarters_medium=_Headquarters medium
1035 castle_village=_Citadel village
1036+granitemine=_Granite Mine
1037+hardener=_Wood Hardener
1038+helmsmithy=_Helmsmithy
1039+hunters_hut=_Hunter's Hut
1040+inn=_Inn
1041+lime_kiln=_Lime Kiln
1042+lumberjacks_hut=_Lumberjack's Hut
1043+metalworks=_Metalwork Shop
1044+micro-brewery=_Micro Brewery
1045+oremine=_Iron Ore Mine
1046+quarry=_Quarry
1047+rangers_hut=_Ranger's Hut
1048+smelting_works=_Smelting Works
1049+tavern=_Tavern
1050+trainingmine=_Training Mine
1051+weaving-mill=_Weaving-Mill
1052+well=_Well
1053+scouts_hut=_"Scout's Hut"
1054+cattlefarm=_Cattle Farm
1055
1056 [military_data]
1057 retreat_interval=0-80

Subscribers

People subscribed via source and target branches

to status/vote changes: