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

2015-02-12 Thread noreply
The proposal to merge lp:~widelands-dev/widelands/seafaring-ai into 
lp:widelands has been updated.

Status: Needs review = Merged

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

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


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

2015-02-12 Thread GunChleoc
Thanks, Tibor. I will take care of the merging :)
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-12 Thread TiborB
SirVer - I added such test: 
test_rip_portdock_with_worker_and_ware_in_transit.lua

It is bit lost among other tests, because they all uses the word portdock 
when in fact they mean port

Though situation when portdock is lost but cannot be restored and port itself 
has to be destroyed is not tested in any test. I was not sure how to do it - if 
there was lua interface to remove ownership from field(s) where portdock is - 
this could be used... or place an enemy military building that would take 
ownership from fields where portdock is located (and not affect the port 
building itself)  so indeed such test would be usefull.


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

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


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

2015-02-12 Thread SirVer
Review: Approve

Time to merge then. 

The one issue that concerns me still in this branch is that there is no new 
test for a warehouse that needs to recreate it's port dock. I feel this corner 
case can easily regress without a test. But since this branch has been sitting 
for so long, I think it should be merged now. Maybe you can add a test in a 
later branch, tibor?
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-12 Thread GunChleoc
Bug report, so we won't forget: 
https://bugs.launchpad.net/widelands/+bug/1421107
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-12 Thread SirVer
 SirVer - I added such test: 
 test_rip_portdock_with_worker_and_ware_in_transit.lua

My apologize. I did not remember/see it in the branch. I think this is great 
then.

The other test case you describe is indeed harder to do. You would need to 
construct a map with military buildings of another player ordered in such a way 
that as soon as they are all manned, the port has no more space for its dock. 
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-11 Thread GunChleoc
Review: Approve

All tests now run without problems on my machine, so IMO this branch is good to 
go now :)

Since the test that's still failing does so only on your machine and for trunk 
as well, I expect that there's something about your setup that Widelands 
doesn't like.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-11 Thread TiborB
I just completed tests on my debian PC - all passed - I just dont know
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-10 Thread TiborB
you can run regression tests again. I will look at this one failing test. Also 
I am testing the game with AI-only players, I will let you know if everything 
looks alright.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-09 Thread SirVer
Have you tried (temporarily)reverting the change that recreates port docks? It 
seems the most likely culprit for me. 


 Am 09.02.2015 um 15:57 schrieb TiborB tibor...@gmail.com:
 
 I spent quite a lot of time on this today, both issues points to 
 workers/carriers. This part of code I am not familiar at all... but I will 
 keep looking at it.
 -- 
 https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
 You are reviewing the proposed merge of 
 lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.

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

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


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

2015-02-09 Thread GunChleoc
Yes, trunk runs all the tests successfully (I tested twice and did a fresh 
compile on a fresh branch and tested again and it's OK, and it works for SirVer 
as well), so the boost problem you're having must be a different problem. Your 
test explicitly fails, our test just hangs.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-08 Thread GunChleoc
I'm still on Boost 1.54
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-08 Thread GunChleoc
Test won't run at all with ./regression_test.py -r 
test_rip_first_port_with_worker_in_portdock - I get a file not found. Tibor's 
method works though, here is the relevant output:

Trying to run: map:scripting/init.lua: done
Trying to run: 
test/maps/ship_transportation.wmf/scripting/test_rip_first_port_with_worker_in_portdock.lua:
 done
MO(1,ship): ship_update: No destination anymore.
Forcing flag at (16, 17)
Message: adding (wh) (warehouse) 1 
MO(4,port): Setting up port dock fields
MO(4,port): Found 1 fields for the dock
Message: adding (wh) (warehouse) 1 
Forcing flag at (13, 17)
Forcing flag at (16, 17)
Clearing for road at (14, 17)
Clearing for road at (15, 17)
Forcing flag at (16, 3)
Message: adding (wh) (warehouse) 1 
MO(12,port): Setting up port dock fields
MO(12,port): Found 1 fields for the dock
Forcing flag at (18, 5)
Forcing flag at (18, 5)
Forcing flag at (16, 5)
Clearing for road at (17, 5)
Forcing flag at (16, 5)
Forcing flag at (16, 3)
Clearing for road at (16, 4)
MO(6,fleet): Fleet::act
MO(5,portdock): set_need_ship(true)
MO(5,portdock): ... trigger fleet update
MO(5,portdock): set_need_ship(true)
MO(6,fleet): Fleet::act
MO(6,fleet): Port 5 needs ship
MO(6,fleet): ... ship 1 takes care of it
MO(1,ship): set_destination to 5 (currently 0 items)
MO(1,ship): ship_update: Go to dock 5
Message: removing warehouse (player 1)
MO(23,carrier): init_auto_task: become fugitive
MO(23,carrier): [fugitive]: found a flag connected to warehouse(s)
MO(23,carrier): [fugitive]: try to move to flag
Script requests save to: port1_just_removed
Autosave: save requested : port1_just_removed
Game: Writing Preload Data ... took 7ms
Game: Writing Game Class Data ... took 0ms
Game: Writing Player Info ... took 1ms
Game: Writing Map Data!
Writing Elemental Data ... took 0ms
 Writing Player Names And Tribe Data ... took 0ms
 Writing Port Spaces Data ... took 1ms
 Writing Heights Data ... took 0ms
snip
 Writing Players Unseen Data ... took 4ms
 Writing Scripting Data ... took 8ms
 Writing Objective Data ... took 0ms
 MapSaver::save() took 36ms
Game: Writing Map Data took 36ms
Game: Writing Player Economies Info ... took 1ms
Game: Writing Command Queue Data ... took 8ms
Game: Writing Interactive Player Data ... took 0ms
GameSaver::save() took 53ms
SaveHandler::save_game() took 53ms
Autosave: save took 62 ms
MO(23,carrier): [gowarehouse]: Got transfer
MO(23,carrier): [transfer]: starting task [movepath] and setting location to 
road 9
MO(1,ship): ship_update: No destination anymore.
MO(1,ship): ship_update: No destination anymore.
MO(1,ship): ship_update: No destination anymore.
MO(1,ship): ship_update: No destination anymore.
MO(1,ship): ship_update: No destination anymore.
MO(1,ship): ship_update: No destination anymore.
MO(1,ship): ship_update: No destination anymore.
MO(1,ship): ship_update: No destination anymore.
MO(1,ship): ship_update: No destination anymore.
MO(1,ship): ship_update: No destination anymore.

Looks like the carrier never reaches the warehouse in line 26 of the lua 
script, so the port isn't built again.

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

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


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

2015-02-08 Thread TiborB
Probably boost is involved to some degree, but I started tracking down what is 
triggering the crash.

It seem this situation is it: when a builder is in shipping state, left on a 
ship with no ports remaining and following function 
http://bazaar.launchpad.net/~widelands-dev/widelands/seafaring-ai/view/head:/src/logic/worker.cc#L1644
  is used - it crashes.

It need further investigation and also I am not very glad to have to tinker 
with these parts of code.


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

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


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

2015-02-08 Thread TiborB
GunChleoc - I test mainly the script *SECOND* not FIRST port with portdock

But FIRST... behaves as you described.

You are still sure that trunk behaves differently? Both compiled with the same 
environment...


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

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


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

2015-02-07 Thread GunChleoc
I just grabbed myself a fresh trunk and the tests still go through there.

Is there a way to run test_rip_first_port_with_worker_in_portdock.lua without 
running the whole testsuite?
./widelands --scenario=test/maps/ship_transportation.wmf doesn't work.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-07 Thread SirVer
Maybe try updating boost? Seems like a boost bug in what you see there.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-07 Thread SirVer
./regression_test.py -r test_rip_first_port_with_worker

-r searches for the given regular expression in the test name (combination of 
map + lua file). 
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-07 Thread TiborB
the file is test_rip_second_port_with_worker_in_portdock.lua

After some investigation I found that folowing command will run just particular 
script:

./widelands --verbose=true --datadir=. --disable_fx=true --disable_music=true 
--language=en_US --scenario=test/maps/ship_transportation.wmf 
--script=test/maps/ship_transportation.wmf/scripting/test_rip_second_port_with_worker_in_portdock.lua

and based on this I was able to get backtrace from gdb, here it is:


Program received signal SIGABRT, Aborted.
0xb7fdcbcc in __kernel_vsyscall ()
(gdb) bt
#0  0xb7fdcbcc in __kernel_vsyscall ()
#1  0xb7805f47 in raise () from /usr/lib/lib/libc.so.6
#2  0xb7807589 in abort () from /usr/lib/lib/libc.so.6
#3  0xb77ff027 in __assert_fail_base () from /usr/lib/lib/libc.so.6
#4  0xb77ff0ab in __assert_fail () from /usr/lib/lib/libc.so.6
#5  0x0877261f in boost::signals2::mutex::lock (this=0xa9b3d14) at 
/usr/include/boost/signals2/detail/lwm_pthreads.hpp:60
#6  0x08775874 in 
boost::signals2::detail::unique_lockboost::signals2::mutex::unique_lock 
(this=0xbfffefdc, m=...)
at /usr/include/boost/signals2/detail/unique_lock.hpp:29
#7  0x0105 in boost::signals2::detail::signal_implvoid (), 
boost::signals2::optional_last_valuevoid, int, std::lessint, 
boost::functionvoid (), boost::functionvoid (boost::signals2::connection 
const), boost::signals2::mutex::operator()() (
this=0xa9b3d08) at 
/usr/include/boost/signals2/detail/signal_template.hpp:229
#8  0x08886f63 in boost::signals2::signalvoid (), 
boost::signals2::optional_last_valuevoid, int, std::lessint, 
boost::functionvoid (), boost::functionvoid (boost::signals2::connection 
const), boost::signals2::mutex::operator()() (this=0xa9b3c30)
at /usr/include/boost/signals2/detail/signal_template.hpp:718
#9  0x088c9690 in Widelands::WareList::remove (this=0xa9b3c30, i=8 '\b', 
count=1) at ../src/logic/warelist.cc:80
#10 0x08adc7df in Widelands::Economy::remove_workers (this=0xa9b3c08, id=8 
'\b', count=1) at ../src/economy/economy.cc:401
#11 0x088cdcdd in Widelands::Worker::set_economy (this=0xa9976c0, economy=0x0) 
at ../src/logic/worker.cc:1168
#12 0x088cf2cc in Widelands::Worker::shipping_pop (this=0xa9976c0, game=...) at 
../src/logic/worker.cc:1644
#13 0x0880ba6e in Widelands::Bob::do_pop_task (this=0xa9976c0, game=...) at 
../src/logic/bob.cc:283
#14 0x0880be0c in Widelands::Bob::reset_tasks (this=0xa9976c0, game=...) at 
../src/logic/bob.cc:388
#15 0x088cdef2 in Widelands::Worker::cleanup (this=0xa9976c0, egbase=...) at 
../src/logic/worker.cc:1220
#16 0x08841ee2 in Widelands::MapObject::remove (this=0xa9976c0, egbase=...) at 
../src/logic/instances.cc:369
#17 0x08841514 in Widelands::ObjectManager::cleanup (this=0xb490, 
egbase=...) at ../src/logic/instances.cc:161
#18 0x08772be8 in Widelands::EditorGameBase::cleanup_objects (this=0xb47c) 
at ../src/logic/editor_game_base.h:180
#19 0x0882a7a7 in Widelands::Game::run (this=0xb47c, loader_ui=0xb2b4, 
start_game_type=Widelands::Game::NewSPScenario, 
script_to_run=test/maps/ship_transportation.wmf/scripting/test_rip_second_port_with_worker_in_portdock.lua,
 replay=false)

This was trunk...
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-07 Thread Tino
I am not sure if this is related:
https://github.com/boostorg/signals2/pull/8/files

When i was updating my build environment a few days ago i had to apply this 
patch to boost 1.5.7 to make it work with widelands.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-07 Thread TiborB
Tino,
the patch seems to be aplied...

I can do one test though, insert  some printf into warelist.cc and run a test 
game to see whether that piece of code is used during running of widelands at 
all.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-06 Thread TiborB
with me it does not hang, just prints out FAIL for that test.

I dont have a good network here and have only some older trunk (half year old 
about) on harddisk, but tested this trunk and current seafaring and both have 
similar behaviour, this is my testing session:


$python2.7 ./regression_test.py -b ./widelands -r 
test_rip_second_port_with_worker_in_portdock.lua -k
Using './widelands' binary.
test/maps/ship_transportation.wmf/scripting/test_rip_second_port_with_worker_in_portdock.lua
 ... 
  Running Widelands ... FAIL

==
FAIL: 
test/maps/ship_transportation.wmf/scripting/test_rip_second_port_with_worker_in_portdock.lua
--
Traceback (most recent call last):
  File ./regression_test.py, line 99, in runTest
self.verify_success(stdout, stdout_filename)
  File ./regression_test.py, line 122, in verify_success
Widelands exited abnormally. %s % common_msg
AssertionError: Widelands exited abnormally. Analyze the files in 
/tmp/widelands_regression_testbVVt4p to see why this test case failed. Stdout is
  /tmp/widelands_regression_testbVVt4p/stdout_00.txt


--
Ran 1 test in 21.740s

FAILED (failures=1)


Content of log file:

$cat /tmp/widelands_regression_testKNpEbT/stdout_00.txt
[.]
MO(5,portdock): set_need_ship(false)
MO(5,portdock): ... trigger fleet update
# All Tests passed.  = NOTE HERE
WareList: 1 items of 8 left.
widelands: /usr/include/boost/signals2/detail/lwm_pthreads.hpp:60: void 
boost::signals2::mutex::lock(): Assertion `pthread_mutex_lock(m_) == 0' failed.

I will double check with actual trunk tonight

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

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


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

2015-02-05 Thread GunChleoc
Review: Approve

I have moved the ScoutingDirection enum into ship.h and fixed up the code so it 
won't get used as boolean.

Everything else LGTM.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-05 Thread GunChleoc
Review: Needs Fixing

Houston, we have e problem: test_rip_first_port_with_worker_in_portdock.lua 
hangs.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-05 Thread TiborB
Review: Resubmit

I thought these are brand new tests you just created, nevermind... :)

BUT - I compiled trunk, run the tests and they failed on the very test. So no 
regression here...
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-05 Thread TiborB
So I looked at your tests - I liked them much, two comments about the issue:

1.) I think this is not AI related - at all
2.) I would say the lua is not correct, and I am not sure what is to be tested. 
When you extend the sleeps - you can see how the ship picks a worker from port1 
and if port2 is destroyed before ships arrives, the worker is returned to 
port1. But I am not sure if this is what is to be tested.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-05 Thread GunChleoc
I see the same as SirVer - tests work in trunk.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-05 Thread SirVer
 BUT - I compiled trunk, run the tests and they failed on the very test. So no 
 regression here...

not what I see - the test passes for me on trunk and hangs forever in 
seafaring-ai. It could be something in the new logic of re-adding the portdock 
to a warehouse. 
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-04 Thread SirVer
 Would it be possible to saveload some data? Not objects, only f.e. unordered 
 sets of integers? It would help much...

Of course you could save state, but it won't help: We support right now that 
two humans start playing a game, later one of them loads it and fills the other 
slot with an AI. You will still have the case of late initialization then. 
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-03 Thread TiborB
HEY,
after some painfull debugging I found that on load restored immovables are not 
sending notes to players, but instead a player is scanning for them as a part 
of late_initialization, see here:

http://bazaar.launchpad.net/~widelands-dev/widelands/seafaring-ai/view/head:/src/ai/defaultai.cc#L574

So I am working for similar code to scan for ships and will push it to the 
branch once it is tested and polished ...
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-03 Thread TiborB
Review: Resubmit

I fixed most of comments.

And I realized that save/load is quite hurting to AI. A lot of internal info of 
AI is just lost. Some of them will be restored, but  I need to do some 
deeper analysis. But not in this branch.

Would it be possible to saveload some data? Not objects, only f.e. unordered 
sets of integers? It would help much...
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-02 Thread TiborB
@SirVer

So I did some simple tests and it is BAD. List of ships is empty after load. So 
AI will not manage them at all.

But his is analogous to productionsites, militarysites vectors when loading 
game - so I tested militarysites and these are properly initialized = AI knows 
about all of them after load. (I tested both single player and mulitiplayer 
game).

Though, when I removed 'if (player_ == nullptr)' test for NoteImmovable it 
crashed for netwok game and survived for single player game.

But is seems that there is some mechanism that take care of NoteImmovable 
messages and is not in effect for NoteShipMessages.

What do you think?
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-02 Thread TiborB
I found that when a ship is loaded from savefile no note is sent at all. It is 
send only when ship is initiated.
with playerimmovable it is called from other place. So I will try to find 
better place to sent a note about new ship from... 
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-02-02 Thread SirVer
 But is seems that there is some mechanism that take care of NoteImmovable 
 messages and is not in effect for NoteShipMessages.

I do not believe that is correct - if it where late_initialization would not be 
needed. Loading would then just be a very fast way of gaining tons of map 
objects. I therefore believe that the original designer of the AI code decided 
to build late_initialization() to create the invariants that the AI relies on. 
You can check if the buildings vector is also filled if you skip most work in 
late_initialization.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-01-30 Thread TiborB
of course

I tested only AI-only games, because I dont have enough time for a real game...
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-01-30 Thread TiborB
@GunChleoc
first NOCOM is perhaps a mistake??

and second one was discussed with SirVer and I think this is no problem and I 
might remove it.

But I will wait for another review and comments 
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-01-30 Thread GunChleoc
My testing was done to see if anything crashes, and to check if behaviour is 
OK. I think it is OK for now - I just decided to give detailed feedback so we 
know what can be improved further.

Once the 2 remaining NOCOMS are fixed, I think this branch is ready to be 
merged :)
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2015-01-29 Thread GunChleoc
I added a NOCOM - there is also a second NOCOM that I don't have an answer for.

I also did some testing, and got no crashes.

- On the Fellowships map, 1/3 AIs managed to start building a shipyard and port 
about 30 minutes into the game. The shipyard was correctly stopped until the 
port got finished, but then never restarted. The other 2 AIs built something 
else on the port space.

- On the Swamp Island map, 2/3 AIs managed to start building a Port around 30 
minutes into the game. On of the ports got overrun by the friendly neighbour, 
the other AI started building ships in a lake. Maybe we can add a check in the 
future if the port is reachable from the shipyard's body of water.

- Long, long way: I spotted the first Port construction site around 18 minutes 
into the game. Ships were successfully built, but there was no gold for the 
expeditions.

- Twin Lagoons: First port got built around 1:30 into the game. Both started an 
expedition. One of the AIs was successful. The second AI failed to build a 
second port, because there were some port spaces that both AIs kept rejecting.

I think we should merge this soon and deal with any remaining issues in new, 
smaller branches.


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

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


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

2015-01-29 Thread TiborB
so to your comments:

The main problem is that seafaring is based on one-water assumption. There is 
no scanning 
and analysis of map to identify individual distinct waters and making decision 
which one is worth seafaring. This would have to include cheating probably.
I have couple of maps (mine usually) that are one-water-only and used these for 
testing.

Ai builds strictly one shipyard only.

If there are 2-3 portspaces available for AI nearby, it will succed to use at 
least one for port.
This can be improved but there are limitations - like AI not in control of 
layout of roads and so on.

As unfinished ship decays the building of ship starts when shipyard is fully 
stocked - you mentioned this problem probably.

If AI finds a portspace it scans the vicinity in some radius - if it runs into 
other player - the spot is ignored - this was probably what you encountered. 
The idea behind is that expedition would not be succesfull anyway.

But this can be finetuned as well.

The result of this is that last expedition lasts forever. This is inefficiency, 
because a stock on ship and ship itself could be used for transport. But easy 
to fix/modify.

I used my maps spider lake, cristobals sea and soutfall islands for testing - I 
recommend to use one of them to see seafaring at its bests :)

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

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


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

2015-01-08 Thread SirVer
I think these tests should be done for all players - what you describe can 
happen for a human player too if he presses the same button twice while the 
command is still distributed to other players in the game. Can easily happen in 
slow network games. Your code saveguards against that and should not disturb in 
any other way.

You can doublecheck by running the regression_test.py - it exercises the UI for 
ships too.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2014-12-16 Thread GunChleoc
Correct, your type is the enum class name now.

If you don't give the enum class itself an explicit type, it will default to 
int, which would be fine in this case. You also don't need to assign numbers to 
the members, this is entirely optional and should only be done when you 
explicitly depend on a member having a specific value. So, get:

enum class FleetStatus  {
kNeedShip,
kEnoughShips,
kDoNothing
};

which will do the job nicely :)
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2014-12-15 Thread TiborB
Alright, I fixed what remained. Yet there is one NOCOM with question :)
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2014-12-15 Thread GunChleoc
//NOCOM - how is it, when I added class here I have to cast everything

Because enough_ships isn't of the enum class' type. You will get rid of the 
cast if you do something like this:

enum class FleetStatus: uint8_t {kNeedShip = 0, kEnoughShips = 1, kDoNothing = 
2 };

FleetStatus enough_ships = FleetStatus::kDoNothing;

etc...

Note that I also renamed fleetStatus to FleetStatus, because it's an Object 
class.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2014-12-15 Thread TiborB
Oh, I believed uint8_t is the type. Then 'uint8_t' is not needed at all, is it?
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2014-12-13 Thread GunChleoc
Thanks, this makes the diff a lot smaller :)

Give us a shout when you're ready again.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2014-12-12 Thread TiborB
I cannot see it. What line number?
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2014-12-12 Thread GunChleoc
Neither can I, seems to be gone or hiding.

It was about changing the enum to an enum class - the change has the advantage 
that there is less danger of another enum using the same name and the code 
jumping on the wrong enum. We are planning to move from enums to enum classes 
in general. https://bugs.launchpad.net/widelands/+bug/1367725
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2014-12-12 Thread TiborB
Alright, I merged the trunk once more and resolved conflicts...

There is one NOCOM as a reminder for myself...

I will change that enum (in defaultai.cc), it is defined within a function so 
it should not be that dangerous however...
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/seafaring-ai.

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


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

2014-12-05 Thread GunChleoc
2. Your approach means that mapmakers will have to change their maps so the AI 
can deal with them.

Check out get_port_spaces() in map.h, this will give you a list of all port 
spaces on the map, so it could be used to let the AI cheat. Add them to the 
list of blocked fields for everything else but building a port until the 
economy has a portdock.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.

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


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

2014-12-05 Thread TiborB
We have handfull of seafaring-ready maps. So reworking them should not be too 
lot of work.But mainly we needs new ones.

Your suggestion is viable. But this is still not 100% quarantee of a success. 
Trees can grow there, or roads can be built there (AI does not control exact 
layout of roads, it uses underlying algorithm)

Let other say what seem the best solution.

Maybe both solutions are to be used - cheating via blocking all port fields, 
and setting a 'standard' that one headquarters needs multiple ports nearby.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.

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


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

2014-12-04 Thread TiborB
@GunChleoc

Thanks for testing:)

1. In fact the ship algorithm (I mean not part of AI) sometimes incorectly 
reports islandcircumnavigated (signal), even though nothing were 
circumnavigated, only banks are too close. And AI is not able to find out the 
the signal is errorneous. When I tested seafaring AI I edited all such spots on 
my maps where ships got stucked - making passages wider.

2. Indeed AI looks only on owned spots. So it is not aware of port spots even 
close beyond border. My approach - few port spaces should be available for 
every headquarters. If probability of making use of portspace is 50 %, 3-4 
portspaces (in reasobale spacing) would be enough.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.

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


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

2014-12-03 Thread SirVer
I think you can maximize the fun by making smaller branches. They are faster to 
merge, clean and review.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.

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


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

2014-12-03 Thread GunChleoc
 No more big branches, this is why I enjoyed these two (or three) small
 branches I did lately (including this one and tha LUA resource think - though
 this gone wild from one-line change).

This has happened to me too and will keep happening - one day I will learn that 
there are no quick fixes. I sometimes find it frustrating at first as well, but 
when the branch is finished, I am happy, because the code is better.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.

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


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

2014-12-02 Thread TiborB
So I implemented comments I saw there, merged trunk, resolved conflicts :(




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

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


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

2014-12-01 Thread GunChleoc
 //ref_castConstructionSite const, Building 
 const(b).building().name().c_str());
 dynamic_castconst ConstructionSite((b).building().name().c_str()));
 
 commented out is before, the second one is what I want to use. Before it used 
 to compile, now it complains:
 
 defaultai.cc:3766:48: error: 'const class Widelands::Building' has no member 
 named 'building'
 
 Can you see any problem here?

You are casting everything instead of just the construction site. Try this:

dynamic_castconst ConstructionSite(b).building().name().c_str());

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

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


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

2014-11-22 Thread GunChleoc
I will have to look at this in detail later, my brain's not working properly 
today.

Codecheck still comes up with an error, could you please always run codecheck 
over the complete code base before submitting a merge request? This way, we 
won't have cosmetic changes in the diff in the future.

I also saw that there are commented out lines of code in the diff, they should 
go before a merge.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.

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


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

2014-11-22 Thread GunChleoc
Running clang-format is good :) Doesn't work on my system though :(
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.

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


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

2014-11-19 Thread TiborB
TiborB has proposed merging lp:~widelands-dev/widelands/seafaring-ai into 
lp:widelands.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271

Hi, after some time this is ready for review, read the branch info for more 
info.

Tested a lot as AI-only games, I would welcome a human players tests and 
feedback.
-- 
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.
=== modified file 'src/ai/ai_help_structs.h'
--- src/ai/ai_help_structs.h	2014-10-30 20:24:57 +
+++ src/ai/ai_help_structs.h	2014-11-19 21:19:43 +
@@ -32,6 +32,8 @@
 #include logic/player.h
 #include logic/world/terrain_description.h
 #include logic/world/world.h
+#include logic/ship.h
+#include unordered_set
 
 namespace Widelands {
 
@@ -227,10 +229,10 @@
 	int16_t military_stationed_;
 	// stationed (manned) military buildings nearby
 	int16_t military_unstationed_;
-	// some buildings must be postponed bit
-	int32_t prohibited_till_;
-	// and then some must be forced
-	int32_t forced_after_;
+	bool is_portspace_;
+	// bool portspace_nearby_; // to prohibit buildings near a portspace Not needed?
+	bool port_nearby_;  // to increase priority if a port is nearby,
+	// especially for new colonies
 
 	std::vectoruint8_t consumers_nearby_;
 	std::vectoruint8_t producers_nearby_;
@@ -261,7 +263,9 @@
 	 military_loneliness_(1000),
 	 military_in_constr_nearby_(0),
 	 military_presence_(0),
-	 military_stationed_(0) {
+	 military_stationed_(0),
+	 is_portspace_(false),
+	 port_nearby_(false) {
 	}
 };
 
@@ -310,12 +314,14 @@
 	bool plants_trees_;
 	bool recruitment_;  // is producing workers?
 	bool is_buildable_;
-	bool need_trees_;  // lumberjack = true
-	bool need_stones_; // quarry = true
-	bool mines_water_; // wells
-	bool need_water_;  // fisher, fish_breeder = true
-	bool is_hunter_;   // need to identify hunters
-	bool is_fisher_;   // need to identify fishers
+	bool need_trees_;   // lumberjack = true
+	bool need_stones_;  // quarry = true
+	bool mines_water_;  // wells
+	bool need_water_;   // fisher, fish_breeder = true
+	bool is_hunter_;// need to identify hunters
+	bool is_fisher_;// need to identify fishers
+	bool is_port_;
+	bool is_shipyard_;
 	bool space_consumer_;  // farm, vineyard... = true
 	bool expansion_type_;  // military building used that can be used to control area
 	bool fighting_type_;   // military building built near enemies
@@ -327,7 +333,6 @@
 
 	int32_t mines_;   // type of resource it mines_
 	uint16_t mines_percent_;  // % of res it can mine
-
 	uint32_t current_stats_;
 
 	std::vectorint16_t inputs_;
@@ -372,6 +377,25 @@
 	bool enemies_nearby_;
 };
 
+struct TrainingSiteObserver {
+	Widelands::TrainingSite* site;
+	BuildingObserver* bo;
+};
+
+struct WarehouseSiteObserver {
+	Widelands::Warehouse* site;
+	BuildingObserver* bo;
+};
+
+struct ShipObserver {
+	Widelands::Ship* ship;
+	Widelands::Coords expedition_start_point_;
+	std::unordered_setuint32_t visited_spots_;
+	bool island_circ_direction = true;  // a ship circumvents all island in the same direction
+	bool waiting_for_command_ = false;
+	int32_t last_command_time = 0;
+};
+
 struct WareObserver {
 	uint8_t producers_;
 	uint8_t consumers_;

=== modified file 'src/ai/defaultai.cc'
--- src/ai/defaultai.cc	2014-11-03 06:45:32 +
+++ src/ai/defaultai.cc	2014-11-19 21:19:43 +
@@ -6,7 +6,7 @@
  * as published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,n
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
@@ -31,7 +31,9 @@
 #include base/macros.h
 #include economy/economy.h
 #include economy/flag.h
+#include economy/portdock.h
 #include economy/road.h
+#include economy/wares_queue.h
 #include logic/constructionsite.h
 #include logic/findbob.h
 #include logic/findimmovable.h
@@ -39,15 +41,19 @@
 #include logic/map.h
 #include logic/militarysite.h
 #include logic/player.h
+#include logic/playercommand.h
 #include logic/productionsite.h
+#include logic/ship.h
 #include logic/trainingsite.h
 #include logic/tribe.h
 #include logic/warehouse.h
 #include logic/world/world.h
 #include profile/profile.h
 
+
 // Building of new military buildings can be restricted
 constexpr int kPushExpansion = 1;
+
 constexpr int kResourcesOrDefense = 2;
 constexpr int kDefenseOnly = 3;
 constexpr int kNoNewMilitary = 4;
@@ -59,6 +65,10 @@
 // building of the same building can be started after 25s at earliest
 constexpr int kBuildingMinInterval

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

2014-11-19 Thread TiborB
Also I run codecheck over couple of files that I had edited, therefore the diff 
shows quite a lot of cosmetic changes.
-- 
https://code.launchpad.net/~widelands-dev/widelands/seafaring-ai/+merge/242271
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/seafaring-ai into lp:widelands.

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