--- Log opened Mon Jul 06 00:00:02 2009 --- Day changed Mon Jul 06 2009 20090706 00:00:02< crimson_penguin> silene: thanks :) 20090706 00:00:16-!- Doppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has quit [Read error: 110 (Connection timed out)] 20090706 00:01:42-!- MJ999 [n=msflower@80.154.28.81] has quit [Read error: 104 (Connection reset by peer)] 20090706 00:02:55-!- MJ999 [n=msflower@80.154.28.81] has joined #wesnoth-dev 20090706 00:03:50-!- Doppp|EeePC [n=aasdasd@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090706 00:08:06< silene> time to go out 20090706 00:09:14-!- wesbot changed the topic of #wesnoth-dev to: released 1.6.4, announcing soon | 58 bugs, 237 feature requests, 13 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090706 00:12:01-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [] 20090706 00:12:11-!- Doppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090706 00:14:31< crimson_penguin> the notification support is broken - it gives the name of the person who just had control, not the person who now has control 20090706 00:14:40-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090706 00:15:11< grzywacz> ah, seeing the author, no wonder these test fail 20090706 00:16:23< AI0867> suokko? 20090706 00:16:24< crimson_penguin> who's the author? 20090706 00:17:49< grzywacz> ^ 20090706 00:21:47< CIA-53> grzywacz * r36639 /trunk/src/tests/test_config_cache.cpp: Don't set a specific language in tests - it fails if that locale is not supported. 20090706 00:23:01< AI0867> suokko also started a rewrite of the networking code, replacing SDL_net with boost.asio 20090706 00:23:05< AI0867> it's unfinished and unused 20090706 00:23:27< AI0867> which is too bad, as SDL_net isn't getting maintained 20090706 00:24:33< grzywacz> Threading is SDL is kind of ugly. 20090706 00:25:09-!- Doppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 20090706 00:26:09< AI0867> SDL_net also doesn't support IPv6 20090706 00:26:16< AI0867> dispite a patch written in 2003 20090706 00:27:22< loonycyborg> AI0867: Upstream refused to merge that patch? 20090706 00:29:42-!- LFC|Doppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090706 00:36:01< crimson_penguin> loonycyborg: did you see my message just now about notification support being broken? 20090706 00:38:13< loonycyborg> [02:14:13] the notification support is broken - it gives the name of the person who just had control, not the person who now has control <- oops. I missed that.. 20090706 00:38:31< loonycyborg> Yes. I noticed that too. 20090706 00:41:04< grzywacz> A unit test that takes 12 seconds to complete... A little bit long. 20090706 00:41:47< crimson_penguin> Hmm, I'm not getting any notifications about people saying stuff 20090706 00:42:01-!- Blueblaze2 [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090706 00:42:31< grzywacz> crimson_penguin, maybe I was wrong about that part; I haven't used that feature yet 20090706 00:42:49< crimson_penguin> OH, I know why 20090706 00:42:55< crimson_penguin> Aaand, I don't know how to make it work 20090706 00:43:05< loonycyborg> It's something that should be added later :) 20090706 00:43:47< crimson_penguin> With Growl you have to tell it all the notification "types" you may use 20090706 00:44:05< crimson_penguin> which is impossible if the type of notification is the player's name 20090706 00:44:18< grzywacz> crimson_penguin, set it to critical error :P 20090706 00:44:27< crimson_penguin> :D 20090706 00:45:19< crimson_penguin> For now I could make it so, if "owner" isn't "Turn changed", then the note type is "Chat message" or something 20090706 00:45:49< crimson_penguin> But that's quickly gonna be bad when there's more than 2 types of notification 20090706 00:46:45-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit ["night all"] 20090706 00:51:39-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Nick collision from services.] 20090706 00:51:43-!- Blueblaze2 is now known as Blueblaze 20090706 00:55:04< crimson_penguin> Ok, my Growl support basically works for now... should I update the changelog too? 20090706 00:55:37< grzywacz> sure 20090706 00:55:56< crimson_penguin> Should I put it under misc, or make a Mac-only category or something 20090706 00:56:50< crimson_penguin> Oh, or User Interface maybe... 20090706 01:00:09< crimson_penguin> grzywacz: How do I deal with a conflict? I think I've fixed it (I've examined the diff), but it still thinks it's a conflict 20090706 01:00:10< CIA-53> grzywacz * r36640 /trunk/src/ai/formula/ai.cpp: Readability improvments. 20090706 01:00:18< grzywacz> Dragonking, there goes a commit for you to review; it compiles but I might have broken something anyway ^ 20090706 01:00:25< grzywacz> crimson_penguin, svn resolve file 20090706 01:00:51< grzywacz> crimson_penguin, but make sure there are no conflict marks left in the file 20090706 01:00:55< grzywacz> ">>>>>>>" and "<<<<<<" 20090706 01:01:02< crimson_penguin> Unknown command: 'resolve' 20090706 01:01:20< crimson_penguin> Yeah, I'm fairly certain everything is all good now; I looked at svn diff, and it all compiles and works here 20090706 01:01:27< grzywacz> crimson_penguin, svn resolved 20090706 01:01:28< grzywacz> sorry 20090706 01:02:18< grzywacz> hm, resolve should work as well 20090706 01:02:57< crimson_penguin> well, resolved worked 20090706 01:03:10< CIA-53> crimson_penguin * r36641 /trunk/ (changelog src/game_display.cpp): Added support for Growl notifications. 20090706 01:03:25< crimson_penguin> svn, version 1.4.4 (r25188) 20090706 01:03:26< grzywacz> good :) 20090706 01:03:34< AI0867> loonycyborg: it's been updated in 2005 and the feature request is still open 20090706 01:03:34< grzywacz> svn, version 1.6.2 (r37639) 20090706 01:03:42< grzywacz> time for me, good night :) 20090706 01:04:04< crimson_penguin> goodnight :) 20090706 01:04:16-!- grzywacz [n=grzywacz@wesnoth/developer/grzywacz] has quit [Remote closed the connection] 20090706 01:05:30-!- yann [n=dwitch@nan92-1-81-57-214-146.fbx.proxad.net] has quit [Remote closed the connection] 20090706 01:11:51< CIA-53> loonycyborg * r36642 /trunk/changelog: Updated changelog (KDE desktop notifications support) 20090706 01:11:59-!- cjhopman [n=chris@wesnoth/developer/cjhopman] has quit [Remote closed the connection] 20090706 01:21:19< Aethaeryn> Why does Sourceforge want me to download 1.4.5 for Solaris? 20090706 01:22:34< Aethaeryn> When I go to Wesnoth... 20090706 01:22:49< ancestral> When I go there it tells me to download Wesnoth 1.2.8 for Mac 20090706 01:23:10< loonycyborg> Aethaeryn: Because it went crazy :) 20090706 01:23:21< ancestral> My guess is someone has to change something on the sf account 20090706 01:23:35< ancestral> to update it to 1.6/1.7 20090706 01:24:00< Aethaeryn> Not that big a deal, I just think it could be smarter... i.e. detect OS or something. 20090706 01:24:05< Aethaeryn> If Linux, give you source, etc. 20090706 01:24:31 * ancestral shrugs 20090706 01:26:00< loonycyborg> sourceforge does some software updates now. Don't expect it to make any sense for some time.. 20090706 01:28:14< Smar> I were really surprised about that new, almost decent layout on sf.net 20090706 01:29:37< loonycyborg> I found the place where to create new downloads by pure luck :P 20090706 01:30:38< Aethaeryn> Smar: Which is great, except for the fact that it says I'm Solaris, and in need of the older version... :P 20090706 01:30:46< Aethaeryn> Maybe it detected the OS my dad sometimes uses... 20090706 01:31:18< Aethaeryn> (Tbh, if I couldn't use Linux, I'd use Solaris... that or GNU Hurd) 20090706 01:31:35< Aethaeryn> (Of course, the latter will be bundled with Duke Nukem Forever) 20090706 01:32:00< Smar> :Q 20090706 01:32:02< Smar> :>* 20090706 01:32:15< Smar> well, sf is still sf 20090706 01:32:24< ancestral> but not SF 20090706 01:34:27-!- ancestral [n=ancestra@97-116-127-39.mpls.qwest.net] has quit ["And that’s the end of THAT chapter."] 20090706 01:45:45-!- MikeJB [n=Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #Wesnoth-dev 20090706 01:46:32-!- Aethaeryn [n=Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Nick collision from services.] 20090706 01:46:38-!- MikeJB is now known as Aethaeryn 20090706 01:47:26< crimson_penguin> oh wow, SF sure is different 20090706 01:47:41< Aethaeryn> lol, everyone notices 20090706 01:49:29-!- Aethaeryn is now known as MikeJB 20090706 01:57:47< crimson_penguin> loonycyborg: ok, I give up - how do you add a file? 20090706 02:00:17< loonycyborg> I found it through release notes.. 20090706 02:05:42-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090706 02:05:48< loonycyborg> That is from https://sourceforge.net/projects/wesnoth/ go to 'all files' and then open release notes from one of downloads. 20090706 02:06:16< crimson_penguin> Ohhh, there it is 20090706 02:07:02< loonycyborg> Maybe there's a 'right' way of getting there, or maybe they didn't add it yet :) 20090706 02:08:28< crimson_penguin> Well I looked around quite a bit... 20090706 02:08:37< crimson_penguin> Still an hour till my upload's done anyway 20090706 02:09:44< loonycyborg> I did too. I've found 'Manage Packages / Releases' links only on release notes pages :/ 20090706 02:10:52< crimson_penguin> That's pretty bad 20090706 02:17:19-!- ilor_ [n=user@wesnoth/developer/ilor] has quit [] 20090706 02:25:16-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"] 20090706 02:25:47-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090706 02:58:29-!- LFC|Doppp is now known as Doppp 20090706 03:08:30< CIA-53> esr * r36643 /trunk/data/campaigns/Son_Of_The_Black_Eye/scenarios/08_Silent_Forest.cfg: Address bug #13874: Gender problem in scenario "Silent Forest" of campaign "Son of the Black-Eye". 20090706 03:11:16< CIA-53> crimson_penguin * r36644 /trunk/src/game_display.cpp: Fixed memory leak in Growl support. 20090706 03:11:17-!- Rrenys [n=rrenys@81-20-159-197.levira.ee] has joined #wesnoth-dev 20090706 03:44:25-!- MikeJB is now known as Aethaeryn 20090706 04:13:47< Aethaeryn> Just wondering: how much bandwith is wasted when someone does a WML-intensive scenario, observers off, as the only player? 20090706 04:27:44-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090706 04:32:48-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090706 04:36:44< shadowmaster> I wonder if it's just my connection, or wesnoth.org is slowed down. 20090706 04:49:40< Blueblaze> shadowmaster: Its on your end 20090706 04:50:06< shadowmaster> yeah, realized about 10 minutes ago 20090706 05:05:53-!- elynia [n=shyde@wesnoth/umc-dev/misc/elynia] has joined #wesnoth-dev 20090706 05:06:45< crimson_penguin> shadowmaster: how's the internet situation? 20090706 05:07:09< shadowmaster> ehm... fine, I guess? :o) 20090706 05:07:34< crimson_penguin> wasn't it bad before? 20090706 05:16:12-!- Doppp|EeePC [n=aasdasd@c-67-171-96-240.hsd1.pa.comcast.net] has quit [Connection timed out] 20090706 05:18:30-!- Rrenys [n=rrenys@81-20-159-197.levira.ee] has quit [Read error: 104 (Connection reset by peer)] 20090706 05:28:25-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [] 20090706 05:32:32-!- MJ999 [n=msflower@80.154.28.81] has quit [Read error: 104 (Connection reset by peer)] 20090706 05:52:23-!- elynia [n=shyde@wesnoth/umc-dev/misc/elynia] has quit [Client Quit] 20090706 05:58:01-!- Doppp|EeePC [n=aasdasd@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090706 06:09:14-!- wesbot changed the topic of #wesnoth-dev to: released 1.6.4, announcing soon | 59 bugs, 237 feature requests, 13 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090706 06:28:04-!- MJ999 [n=msflower@80.154.28.81] has joined #wesnoth-dev 20090706 06:30:12-!- [Relic] [n=[Relic]@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has quit ["Leaving"] 20090706 07:29:57-!- Doppp|EeePC [n=aasdasd@c-67-171-96-240.hsd1.pa.comcast.net] has quit ["Leaving."] 20090706 07:32:47-!- maxy [n=maxy@80-219-1-128.dclient.hispeed.ch] has joined #wesnoth-dev 20090706 07:50:53-!- Blueblaze2 [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090706 07:51:11-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Nick collision from services.] 20090706 07:51:15-!- Blueblaze2 is now known as Blueblaze 20090706 08:23:13-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090706 09:02:16-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090706 09:13:02-!- fendrin [n=fabi@wesnoth/developer/fendrin] has quit [Remote closed the connection] 20090706 09:25:48-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has joined #wesnoth-dev 20090706 09:26:14-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090706 09:36:13-!- stikonas [n=and@ctv-213-164-98-244.vinita.lt] has joined #wesnoth-dev 20090706 09:41:34-!- euschn [n=chatzill@wesnoth/developer/euschn] has joined #wesnoth-dev 20090706 09:43:50< euschn> hi 20090706 09:44:18< Rhonda> damnit. I haven't done 1.7.1 yet, now Ivanovic comes along with 1.6.4 ... 20090706 09:44:48< Ivanovic> :) 20090706 09:44:59-!- Aethaeryn [n=Michael@wesnoth/umc-dev/developer/aethaeryn] has quit ["I sleep now"] 20090706 09:45:17 * Rhonda already wonders where the MK report about missing 1.7.1 is ... 20090706 09:45:20< Ivanovic> 1.6.4 is more important atm than 1.7.1 because of the "huge up-/download makes problems" stuff 20090706 09:46:07< Rhonda> x..something is _always_ more important then x..something, at least with wesnoth. 20090706 09:46:45< Rhonda> Ah, I know why there is no MK report of 1.7.1. I tagged a bugreport of his pending so he is ware that it's in the works. :) 20090706 09:53:09< CIA-53> thespaceinvader * r36645 /trunk/ (7 files in 5 dirs): Add and wire Kitty's female Outlaw portrait, update changelogs, portrait credits. 20090706 09:57:24< CIA-53> thespaceinvader * r36646 /trunk/ (6 files in 5 dirs): Add and wire LordBob's new Horseman portrait, update portrait credits, changelogs. 20090706 10:02:32< CIA-53> ilor * r36647 /trunk/src/gui/widgets/ (listbox.cpp listbox.hpp): Add a stub remove_all_row() function to the gui2 listbox class 20090706 10:03:18< CIA-53> ilor * r36648 /trunk/src/gui/dialogs/lobby_main.cpp: use the (stub atm) listbox row removal function in the new lobby 20090706 10:03:35< CIA-53> ilor * r36649 /trunk/projectfiles/VC9/wesnoth.vcproj: VC9 projectfile update 20090706 10:04:34< ilor> mordante: wired up the listbox::remove_row, also as seen above added a remove_all_rows function because that's what I actually need atm and maybe it's easier for you to code (I can always just loop and remove so whatever you implement will work) 20090706 10:05:12< ilor> mordante: atm I lop through remove_row for the userlist and call remove_all for the gamelist, so you know what should happen when testing :) 20090706 10:06:48-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Remote closed the connection] 20090706 10:09:18< euschn> esr: I am currently looking at http://gna.org/bugs/?13866, what role does the side/player "Hamel" play in this scenario? theres is an entry for him in snapshot, but he doesnt seem to appear elsewhere 20090706 10:13:45-!- stikonas [n=and@ctv-213-164-98-244.vinita.lt] has joined #wesnoth-dev 20090706 10:16:49< Ivanovic> off to uni, cu 20090706 10:24:32< euschn> esr: it seems to me that Hamel is a character that appears in the talk-only scenario 2 of the campaign, is that correct? He is set to controller=human, which means that atm he gets a save_id and gets carried over to further scenarios as a player, which causes the fatal error later on 20090706 10:26:07< Soliton> he joins the player in later scenarios. 20090706 10:26:15-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090706 10:45:16< Soliton> hmm, wesnoth keeps randomly crashing on select events. 20090706 10:45:29< Soliton> 1.7.1 that is. 20090706 10:47:37-!- loonybot [n=loonybot@79.139.136.167] has joined #wesnoth-dev 20090706 10:48:42-!- loonycyborg [n=sergey@79.139.136.167] has joined #wesnoth-dev 20090706 10:48:44-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Remote closed the connection] 20090706 10:57:40< ilor> Soliton: select events as in? 20090706 10:58:15< Soliton> info engine: fire event: select 20090706 11:00:10< Soliton> probably related bug report: https://gna.org/bugs/index.php?13577 20090706 11:11:21-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090706 11:17:50-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090706 11:30:09< CIA-53> euschn * r36650 /trunk/src/gamestatus.cpp: fixed bug #13866 : carryover gold now falls back to player_info if snapshot.side is unavailable 20090706 11:49:59-!- ilor_ [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090706 11:50:28-!- ilor [n=user@wesnoth/developer/ilor] has quit [Nick collision from services.] 20090706 11:50:32-!- ilor_ is now known as ilor 20090706 12:05:49-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090706 12:09:14-!- wesbot changed the topic of #wesnoth-dev to: released 1.6.4, announcing soon | 58 bugs, 238 feature requests, 13 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090706 12:36:40-!- Guest52148 [n=chatzill@78-105-212-150.zone3.bethere.co.uk] has joined #wesnoth-dev 20090706 12:37:05-!- Guest52148 is now known as Sparks__ 20090706 12:51:34-!- Sparks__ is now known as Sparkie 20090706 12:53:37-!- Sparkie is now known as Sparks101 20090706 12:55:27-!- Sparks101 [n=chatzill@78-105-212-150.zone3.bethere.co.uk] has left #wesnoth-dev [] 20090706 12:56:29-!- zookeeper [n=l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20090706 12:59:26-!- Sapient [n=patrickp@wesnoth/developer/sapient] has joined #wesnoth-dev 20090706 12:59:48< Sapient> hi Ivanovic 20090706 13:06:52-!- Sparks101 [n=chatzill@78-105-212-150.zone3.bethere.co.uk] has joined #wesnoth-dev 20090706 13:07:01-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["KVIrc 3.4.2 Shiny http://www.kvirc.net/"] 20090706 13:08:07-!- ilor_ [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090706 13:08:17-!- loonycyborg [n=sergey@79.139.136.167] has joined #wesnoth-dev 20090706 13:08:34-!- ilor [n=user@wesnoth/developer/ilor] has quit [Nick collision from services.] 20090706 13:08:37-!- ilor_ is now known as ilor 20090706 13:26:51-!- EdB [n=edb@184.117.88-79.rev.gaoland.net] has joined #wesnoth-dev 20090706 13:36:38-!- elias [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090706 13:45:43-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090706 13:46:10-!- ilor [n=user@wesnoth/developer/ilor] has quit [Read error: 110 (Connection timed out)] 20090706 13:46:13-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090706 13:46:24< CIA-53> euschn * r36651 /trunk/src/gamestatus.cpp: added initial population of teams.recall_list_ in get_player_info() 20090706 13:51:05-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090706 13:52:29-!- Sparks101 [n=chatzill@78-105-212-150.zone3.bethere.co.uk] has quit ["ChatZilla 0.9.85 [Firefox 3.0.11/2009060215]"] 20090706 14:05:29-!- ilor_ [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090706 14:12:37-!- ilor [n=user@wesnoth/developer/ilor] has quit [Read error: 110 (Connection timed out)] 20090706 14:14:12-!- EdB [n=edb@184.117.88-79.rev.gaoland.net] has quit [Remote closed the connection] 20090706 14:18:36-!- ilor_ [n=user@wesnoth/developer/ilor] has quit [Read error: 104 (Connection reset by peer)] 20090706 14:21:09-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090706 14:28:19-!- ilor [n=user@wesnoth/developer/ilor] has quit [Read error: 104 (Connection reset by peer)] 20090706 14:36:34-!- Doppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has quit [Client Quit] 20090706 14:37:00-!- Doppp [n=aassdf@67.171.96.240] has joined #wesnoth-dev 20090706 14:43:36-!- fendrin [n=fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20090706 14:51:03-!- ilor_ [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090706 14:58:31-!- ilor_ [n=user@wesnoth/developer/ilor] has quit [Read error: 104 (Connection reset by peer)] 20090706 15:07:40-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090706 15:12:54-!- BenUrban [n=benurban@unaffiliated/benurban] has quit ["Power failu"] 20090706 15:31:09-!- crimson_penguin [n=ben@64.201.60.211] has joined #wesnoth-dev 20090706 15:39:17-!- Crab_ [i=crab@wesnoth/developer/crab] has quit ["Leaving."] 20090706 16:27:06< esr> euschn: Still there? 20090706 16:36:30-!- busfahrer` [n=busfahre@ulmg-5f70d83e.pool.einsundeins.de] has joined #wesnoth-dev 20090706 16:50:02< euschn> esr: I am now 20090706 17:07:39-!- Baufo [n=quassel@62-47-151-88.adsl.highway.telekom.at] has joined #wesnoth-dev 20090706 17:08:15 * Sapient afk 20090706 17:11:25< Ivanovic> hi 20090706 17:11:35< euschn> hi Ivanovic 20090706 17:15:35-!- euschn [n=chatzill@wesnoth/developer/euschn] has quit [Read error: 54 (Connection reset by peer)] 20090706 17:21:11-!- euschn [n=chatzill@wesnoth/developer/euschn] has joined #wesnoth-dev 20090706 17:23:31-!- ABCD_ [n=ABCD@wikipedia/ABCD] has joined #wesnoth-dev 20090706 17:23:53-!- ABCD [n=ABCD@wikipedia/ABCD] has quit [Read error: 104 (Connection reset by peer)] 20090706 17:26:00< esr> euschn: Thanks for the bug fix. I am wondering if there is any way to make the WML validity check message more explicit, perhaps by naming the parent or ancestorss of the missing config. 20090706 17:26:34< euschn> esr: I agree, that would be helpful 20090706 17:29:21< CIA-53> esr * r36652 /trunk/data/campaigns/The_Hammer_of_Thursagan/scenarios/07_Mages_and_Drakes.cfg: Balance tweak: Time limit is a bit too harsh on HARD. 20090706 17:35:54-!- Noyga [n=noyga@wesnoth/developer/noyga] has joined #wesnoth-dev 20090706 17:44:24-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090706 17:47:45-!- busfahrer` [n=busfahre@ulmg-5f70d83e.pool.einsundeins.de] has quit ["leaving"] 20090706 17:47:57< CIA-53> esr * r36653 /trunk/data/campaigns/tutorial/scenarios/1_Tutorial.cfg: Address bug #13883: [tutorial] Poor dialogue if Konrad kills the Quintain. 20090706 17:52:26-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090706 18:00:37-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090706 18:02:48-!- Noyga [n=noyga@wesnoth/developer/noyga] has quit ["Quitte"] 20090706 18:03:06-!- Noyga [n=lame-z@wesnoth/developer/noyga] has joined #wesnoth-dev 20090706 18:04:06-!- Ivanovic_ [n=ivanovic@dtmd-4db2a9c5.pool.einsundeins.de] has joined #wesnoth-dev 20090706 18:04:19-!- Ivanovic [n=ivanovic@wesnoth/developer/ivanovic] has quit [Nick collision from services.] 20090706 18:04:24-!- Ivanovic_ is now known as Ivanovic 20090706 18:07:43< CIA-53> euschn * r36654 /trunk/src/ (game_events.cpp menu_events.cpp): added population of team.recall_list_ in by menu events and wml functions 20090706 18:09:14-!- wesbot changed the topic of #wesnoth-dev to: released 1.6.4, announcing soon | 59 bugs, 238 feature requests, 13 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090706 18:24:33-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Read error: 104 (Connection reset by peer)] 20090706 18:25:03-!- euschn [n=chatzill@wesnoth/developer/euschn] has quit [Read error: 110 (Connection timed out)] 20090706 18:30:55-!- ABCD [n=ABCD@wikipedia/ABCD] has joined #wesnoth-dev 20090706 18:31:17-!- ABCD_ [n=ABCD@wikipedia/ABCD] has quit [Read error: 104 (Connection reset by peer)] 20090706 18:32:36-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090706 18:36:59-!- YogiHH [n=chatzill@d053039.adsl.hansenet.de] has joined #wesnoth-dev 20090706 18:37:08< YogiHH> hello 20090706 18:37:31< Sapient> yo Yogi 20090706 18:38:39-!- stikonas [n=and@ctv-213-164-98-244.vinita.lt] has joined #wesnoth-dev 20090706 18:43:16-!- elias [n=allefant@allegro/developer/allefant] has quit ["Leaving"] 20090706 18:49:21-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090706 18:59:27-!- grzywacz [n=grzywacz@wesnoth/developer/grzywacz] has joined #wesnoth-dev 20090706 19:00:36< grzywacz> hi 20090706 19:02:29< fendrin> esr: ping 20090706 19:03:13< esr> fendrin: What's up? 20090706 19:05:41< fendrin> esr: The replay from low 14 that dates from mai is just fine. Can or Cathryn send it to me, please? 20090706 19:06:16< esr> I'll ask her to do so. Is there a particular bug she should attach to? 20090706 19:07:03< fendrin> esr: No 20090706 19:07:38< fendrin> esr: The new version of the scenario I want to playtest isn't commited now so there can't be a bug report against it. 20090706 19:14:41-!- mordante [n=mordante@wesnoth/developer/mordante] has joined #wesnoth-dev 20090706 19:14:56-!- boucman [n=rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20090706 19:14:56< mordante> servus 20090706 19:15:11-!- elias [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090706 19:15:51< boucman> hey all 20090706 19:16:31< mordante> hi boucman 20090706 19:33:52< mordante> ilor, I'll add a tlistbox::clear() and add a count to remove_row() (clear will be clear from start to end) 20090706 19:34:13< ilor> hi mordante 20090706 19:34:50< mordante> hi ilor 20090706 19:41:50< ilor> mordante: can I count on your help with regard to making the lobby gui stretch etc in predictable ways unlike the chaos it is now? :) 20090706 19:42:31< mordante> ilor, yes of course 20090706 19:42:32-!- Baufo [n=quassel@wesnoth/developer/baufo] has quit [Read error: 54 (Connection reset by peer)] 20090706 19:42:41< ilor> mordante: I'm thinking around thursday evening I'd like to do it and I feel it'll go a lot faster with some guiance 20090706 19:43:01-!- Baufo [n=quassel@62-47-147-116.adsl.highway.telekom.at] has joined #wesnoth-dev 20090706 19:43:02< mordante> I'm afk for a few minutes 20090706 19:57:43< mordante> ilor, I can help you, but might not be around Thursday evening, will be around on Friday evening and the weekeend 20090706 19:57:46< mordante> weekend* 20090706 19:57:57< ilor> mordante: okay, friday evening then 20090706 19:58:47-!- silene [n=plouf@wesnoth/developer/silene] has joined #wesnoth-dev 20090706 19:58:57< silene> hi 20090706 19:59:04< mordante> are the widgets already in the right place? 20090706 19:59:06< mordante> hi silene 20090706 19:59:17< ilor> mordante: not all of them 20090706 19:59:53< ilor> the general placement of the "big" ones is sort-of there but I'll be modyfing some of them soon 20090706 19:59:55< mordante> ok, I think we might need some tricks to get the listbox properly, but I don't expect real problems 20090706 20:00:30< ilor> mordante: I'm guessing we might need to delay the idea for the selected item to have a different layout 20090706 20:01:17< ilor> generally the main game listbox is my current target in terms of making it contain all the widgets it should contain, and then try some layouts 20090706 20:02:26< mordante> ok good 20090706 20:03:14< stikonas> esr: in data/core/units.cfg:163 (description of men) both 2nd and 3rd sentences start with `Although'. Maybe one of them should be replaced with something else. 20090706 20:03:19-!- Noyga [n=lame-z@wesnoth/developer/noyga] has left #wesnoth-dev ["Quitte"] 20090706 20:04:40< stikonas> and 5th sentece again starts with `Although', so 3 `Although's in 4 sentences is poor style 20090706 20:06:00< mordante> ilor, I just saw your tlistbox::remove_all_rows, and IMO clear is a better name 20090706 20:07:42< ilor> mordante: sure I just added it as a placeholder 20090706 20:08:05< mordante> only a placeholder or did you already use it? 20090706 20:08:21< ilor> used it in one place in dialogs/lobby_main.cpp 20090706 20:08:38< mordante> then I'll leave it for now and remove it later 20090706 20:08:57-!- mjs-de [n=mjs-de@vpw.wh.uni-dortmund.de] has quit [Read error: 113 (No route to host)] 20090706 20:11:37< mordante> grzywacz, regarding r36635, did you use a tool to find this problem? 20090706 20:12:56< grzywacz> mordante, yes, cppcheck 20090706 20:15:34< esr> stikonas: I'll fix it. 20090706 20:16:04< mordante> grzywacz, looks interesting, haven't seen it before 20090706 20:16:51< YogiHH> mordante, is there a macro for small text? I tried GUI_NORMAL__FONT_SIZE__SMALL for a label, but it just looks like before. Or do i need to omit the definition then? 20090706 20:17:38< CIA-53> esr * r36655 /trunk/data/core/units.cfg: Fix phrasing awkwardness pointed out by stikonas. 20090706 20:17:46< mordante> YogiHH, You'll need to define a label with that smaller text and use that label, like with the 'title' style 20090706 20:18:34< mordante> grzywacz, regarding r36639 IIRC that test was to test whether translations worked 20090706 20:18:54< YogiHH> mordante: i cannot say "give me default but with a different font size", then? 20090706 20:19:21< mordante> so rather test for the locale first form a list of common locales and print a message if these aren't found and pass the test 20090706 20:19:50-!- mjs-de [n=mjs-de@vpw.wh.uni-dortmund.de] has joined #wesnoth-dev 20090706 20:20:05< mordante> YogiHH, jein, you can use the hack of using markup with , but the idea was to predefine a small set of defaults 20090706 20:20:55< YogiHH> i see, will do so then 20090706 20:21:29< mordante> YogiHH, adding a new style is one line in data/gui/default/widget/label_default.cfg 20090706 20:21:49< mordante> so shouldn't be too hard to play nicely ;-) 20090706 20:22:15-!- ABCD [n=ABCD@wikipedia/ABCD] has quit [Read error: 104 (Connection reset by peer)] 20090706 20:22:33-!- ABCD [n=ABCD@wikipedia/ABCD] has joined #wesnoth-dev 20090706 20:22:38< YogiHH> mhm, i see 20090706 20:22:45< grzywacz> mordante, you can't just choose an arbitrary translation and expect it to work though 20090706 20:23:26< mordante> grzywacz, I don't disagree with that, I never noticed the problem before since I have the de_DE locale installed 20090706 20:23:54< grzywacz> mordante, I know, that's fine. At least test work for me now instead of segfaulting. 20090706 20:24:07< mordante> I also wonder why suokko picked de_DE ... 20090706 20:26:21< CIA-53> silene * r36656 /trunk/src/gamestatus.cpp: Removed gratuitious exception handling. 20090706 20:28:55< CIA-53> mordante * r36657 /trunk/changelog: Minor alignment fix. 20090706 20:29:21< CIA-53> mordante * r36658 /trunk/src/game_display.cpp: Fix a compiler warning. 20090706 20:31:03< grzywacz> mordante, so what's the state of the stacked widget? can I play with it, or does it still need some ui code? 20090706 20:32:42< mordante> grzywacz, still needs ui code, ilor needs some code for his soc project so the stacked widget will be postponed until the listbox::remove_row is finished :-( 20090706 20:32:58< mordante> I wish I had more time 20090706 20:33:13< grzywacz> mordante, I can finish it if you hint me at what needs to be done, provided I don't get confused again. ;> 20090706 20:34:52< mordante> grzywacz, the problem is in some low level code, which I rather do myself 20090706 20:35:34< grzywacz> ok 20090706 20:35:56 * grzywacz ponders how to debug crackling sound 20090706 20:41:42< YogiHH> ilor: that canvas draw crash without calling invalidate_layout, is that still present or did you fix it? 20090706 20:42:07< ilor> YogiHH: I call invalidate_layout ;) 20090706 20:42:24< YogiHH> ok :-) 20090706 20:42:33< YogiHH> i will keep on doing the same, then :-) 20090706 20:44:57-!- mjs-de [n=mjs-de@vpw.wh.uni-dortmund.de] has quit [Read error: 113 (No route to host)] 20090706 20:45:11-!- mjs-de [n=mjs-de@vpw.wh.uni-dortmund.de] has joined #wesnoth-dev 20090706 20:45:32-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Remote closed the connection] 20090706 20:50:31-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090706 20:57:12< Ivanovic> time to write the 1.6.4 announcement 20090706 20:59:45-!- ABCD [n=ABCD@wikipedia/ABCD] has quit [Read error: 110 (Connection timed out)] 20090706 21:00:57-!- VladimirSlavik [n=chatzill@wesnoth/translator/VladimirSlavik] has joined #wesnoth-dev 20090706 21:13:42-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090706 21:14:10< Ivanovic> http://www.wesnoth.org/forum/viewtopic.php?f=5&t=26147 20090706 21:15:08< boucman> hey Crab_ 20090706 21:15:13< Crab_> hi 20090706 21:25:10< boucman> thespaceinvader: http://www.wesnoth.org/forum/viewtopic.php?p=365960#p365960 you didn't comment on the flames => engraving... which is an interesting change.. 20090706 21:25:36< thespaceinvader> i've addressed it before 20090706 21:25:43< thespaceinvader> I like the painted on flames 20090706 21:26:29< Ivanovic> thespaceinvader: beside the flames (which look strange) as well as the rather thick black outlines at the back of the arms, the portrait looks *perfect* to me 20090706 21:26:34< boucman> ok 20090706 21:26:38< thespaceinvader> i intend painted detailing to be a feature of drakes' armour, to distinguish it from the engravings used on the dwarves, and metallic inlays on the humans 20090706 21:27:00< thespaceinvader> hopefully, bob will have some hints on how to get them looking better though 20090706 21:27:28< Ivanovic> at the moment they somehow look like they are in a different "level" 20090706 21:27:44< thespaceinvader> they ARE 20090706 21:27:54< thespaceinvader> they are painted on top of the armour, in three separate layers 20090706 21:27:56< boucman> thespaceinvader: just a hint, paint usually is highly reflective, however the specular reflexions on the metal pieces don't "follow up" on the paint, mybe that's why it doesn't look that natural 20090706 21:28:00< Ivanovic> to have it look real maybe make it look "older" (as in add some scratches and the like) 20090706 21:28:39< thespaceinvader> yeah, toning up the reflections would probably help, as would increasing the numbers of scratches and chips (there already are some, but I don't want too many, otherwise it will look odd that none of the rest of the armour has them... 20090706 21:29:10< thespaceinvader> after all, they would take care of their armour, polishing out scratches, and touching up the paintwork 20090706 21:29:34< thespaceinvader> Ivanovic: i thinned down the outlines of the arms, and lightened them somewhat, already 20090706 21:29:48< Ivanovic> ah, okay 20090706 21:29:53< thespaceinvader> i can go a little further, but I'll probably wait to see what Bob and Kitty have to say before I do any more fixes 20090706 21:29:55< Ivanovic> updated the frontpage with 1.6.4, too 20090706 21:30:50< boucman> googling for painted armor returned http://charles-chandler.org/Photos/img_0177.jpg so yes, very reflexive 20090706 21:31:47< thespaceinvader> ...that's just bronze o_O 20090706 21:32:09< thespaceinvader> might non-metal painted with metallic paint, i guess 20090706 21:32:18< thespaceinvader> i'll wait to see fi bob has any hints 20090706 21:32:34 * boucman googles for more references :) 20090706 21:33:43< boucman> according to the website " Yes, that's a wonderful piece of bent, scratched, spray-painted armor, but thanks pretty lady, I have plenty of that already. " 20090706 21:35:31< Ivanovic> hmm, the outlines at the arms back still seem a little thick compared to the other outlines: http://www.wesnoth.org/forum/viewtopic.php?p=365897#p365897 20090706 21:36:25< thespaceinvader> probably means the other darker outlines should be thicker, rather than those being thinner... 20090706 21:37:14< Ivanovic> (take all my comments with a grain of salt, i am no artist myself, just looking at the stuff like some normal user) 20090706 21:37:32-!- Ivanovic changed the topic of #wesnoth-dev to: 59 bugs, 238 feature requests, 13 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090706 21:37:45< boucman> thespaceinvader: ditto for my comments :) 20090706 21:38:00< thespaceinvader> no worries, i did ;) 20090706 21:38:15< boucman> hehe 20090706 21:38:20< Ivanovic> :) 20090706 21:38:21< thespaceinvader> there's a lot of consternation about those flames, but I'd prefer to perfect the technique rather than chaneg it completely 20090706 21:38:27< thespaceinvader> i've PM'd bob accordingly 20090706 21:38:47< Ivanovic> yes, it does sounds like a really good idea to introduce this difference 20090706 21:38:50-!- Sapient [n=patrickp@wesnoth/developer/sapient] has left #wesnoth-dev [] 20090706 21:39:20< boucman> I agree, now that you said that you wern't happy with the result, i looked at them differently, and I agree that "ther's something wrong with them" rather than "it's a bad idea" which was my first feeling 20090706 21:40:46-!- Jetrel [n=Jetrel@wesnoth/artist/jetrel] has joined #wesnoth-dev 20090706 21:46:31-!- ancestral [n=ancestra@166.205.4.56] has joined #wesnoth-dev 20090706 21:47:30-!- ancestral [n=ancestra@166.205.4.56] has quit [Client Quit] 20090706 21:51:59-!- maxy [n=maxy@80-219-1-128.dclient.hispeed.ch] has quit [Remote closed the connection] 20090706 21:52:01< Dragonking> Crab_: Around? 20090706 21:52:11< Crab_> yes 20090706 21:52:29< boucman> hey Dragonking 20090706 21:52:35< Dragonking> Crab_: I had a look at actions.cpp 20090706 21:52:38< Dragonking> hi boucman 20090706 21:53:02< Crab_> good. is there anything I need to modify in it to suit your needs ? 20090706 21:53:03< Dragonking> Crab_: And I followed a code a bit and saw how events are rised and fired 20090706 21:53:54< Crab_> those events are used, now, by ai::readonly_context for move maps invalidation. 20090706 21:59:04< boucman> Crab_: you manage to invalidate properly on WML events ? that's a tricky one... 20090706 21:59:47< Crab_> boucman: I invalidate *after* wml events fire, and this is enough for me 20090706 22:00:07< boucman> ok 20090706 22:00:09-!- ABCD [n=ABCD@wikipedia/ABCD] has joined #wesnoth-dev 20090706 22:00:17< Crab_> since wml events, as far as I know, only trigger on ai turn after turn start/moves/attacks 20090706 22:01:08< Crab_> so, src/actions.cpp do that game_events::fire calls, and I invalidate after src/actions.cpp returns control to the ai 20090706 22:01:37< boucman> ok, trying to filter on the type of actions the WML did would be more efficient but very error prone 20090706 22:01:39< Crab_> and the invalidation is 'full', so no tricky issues 20090706 22:01:55< Crab_> it's not worth it, as of now 20090706 22:02:05< boucman> yes, I agree 20090706 22:02:20< Crab_> profiling showed that move_to_targets is the 'candidate for change #0' on large mast 20090706 22:02:22< Crab_> s/mast/maps 20090706 22:03:02< boucman> ok 20090706 22:03:15< Dragonking> Hmm... I see that for example recruit_result is used in actions::execute_recruit_action and is called from readwrite_context_impl 20090706 22:03:46< Dragonking> And other that that I see it used in ai/testing/ca.cpp only 20090706 22:04:08< Crab_> Dragonking: yes, they are used only by 'new' rca-based ai. 20090706 22:05:12< Dragonking> Ok, then I do nedd find a way how to extract info about how move failed within current default AI code 20090706 22:05:32< Crab_> Dragonking: you can use the new move actions, as well 20090706 22:05:55< Crab_> ai_default and formula_ai have full access to ai::readwrite_context 20090706 22:06:02< Crab_> so, they can use both new-style and old-style actions 20090706 22:06:47< Crab_> so, you can convert some places in formula_ai to use new-style actions 20090706 22:07:19< Dragonking> Crab_: Well formula AI just calls default AI functions, and gets fals if something went wrong 20090706 22:07:30-!- Aethaeryn [n=Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #Wesnoth-dev 20090706 22:07:31< Dragonking> false' 20090706 22:08:07< Crab_> Dragonking: yes, and this can be converted by calling new-style functions. tell me a line number and i'll convert it for you. 20090706 22:09:07< Dragonking> Crab_: formula/ai.cpp:2157 20090706 22:10:58< Dragonking> Crab_: Your design looks great, I did read your code and look how things work, but I will be honest that I'm still a bit lost there :) 20090706 22:11:03< Dragonking> That's why I'm asking 20090706 22:11:21< Crab_> if people get lost in it, it ain't that great ) 20090706 22:11:51< boucman> Crab_: yes and no, implementation might be complicated, if using it is easy... 20090706 22:12:05< boucman> and unfortunately for Dragonking there are very few users/doc to copy at this point ;) 20090706 22:12:10< Crab_> yes, I tried to make it easy to use 20090706 22:12:24< Dragonking> boucman: Yes :) 20090706 22:12:43< boucman> but Dragonking is trying to understand it by reading the code, which is not easy, so don't blame your design :) 20090706 22:13:01< Dragonking> That's also a good point 20090706 22:13:02< boucman> moreover the only examples are from the old ai where your design was hacked in, so not that good either 20090706 22:13:06< Crab_> ) 20090706 22:13:37< boucman> Crab_: but that also means you should put a big effort in documentation/examples and/or teaching DK :P 20090706 22:13:47< CIA-53> mordante * r36659 /trunk/src/gui/widgets/generator_private.hpp: 20090706 22:13:47< CIA-53> Deselect items before deleting them. 20090706 22:13:47< CIA-53> Just to make sure that multi-select generators get properly deselected. 20090706 22:13:54< boucman> (at some point, maybe not right now) 20090706 22:14:19< CIA-53> mordante * r36660 /trunk/src/gui/widgets/ (window.cpp window.hpp): Add the option to remove items from a linked list. 20090706 22:15:48< CIA-53> mordante * r36661 /trunk/ (3 files in 2 dirs): Allow items to be removed from a listbox. 20090706 22:16:38< Dragonking> boucman: BTW, last time you said something about breaking comaptibility... ? 20090706 22:16:44< Dragonking> What did you mean? 20090706 22:17:29< mordante> ilor, listbox removing works, now removing the remove_all_rows function 20090706 22:17:30< boucman> Dragonking: I don't reread your commits as closely as Crab_'s, but I seem to recall you renamed a formula function (values IIRC) 20090706 22:17:47< boucman> if that's the case, you do break some formula, and that should be at least documented 20090706 22:17:51< Dragonking> boucman: It was not a rename 20090706 22:17:53< Dragonking> boucman: It was fix 20090706 22:17:59< boucman> ?? 20090706 22:20:04< Dragonking> boucman: Internal name of function was wrong 20090706 22:20:12< boucman> oh, internal only 20090706 22:20:16< boucman> no big deal, then 20090706 22:20:22< Dragonking> Yes 20090706 22:20:40< Dragonking> Wrong name went on call stack after executing these functions 20090706 22:21:03< Crab_> Dragonking: ok, I'll compile/test and then commit a change to formula/ai.cpp to use new-style recruitment action formula. What will be the quickest way to test ? 20090706 22:21:34< Dragonking> ./wesnoth -t formula -d then f recruit('Dwarvish Fighter') probably 20090706 22:21:55< Crab_> ok 20090706 22:22:05< Crab_> thanks 20090706 22:22:30< Dragonking> Crab_: Or even recruit('Thief') so you have less to write ;) 20090706 22:22:37< Dragonking> Crab_: No, it is me who thank you :) 20090706 22:23:14< boucman> Dragonking: you still havn't documented your other changes though, do you intend to do one big documentation pass at the end of GSoC (so I stop bugging you) 20090706 22:23:46< Dragonking> boucman: I want to first finish work for midterm eval 20090706 22:23:54< Dragonking> I'm still behind my shedule 20090706 22:24:02< boucman> ok 20090706 22:25:13< Crab_> Dragonking: note that I will study/change formula_ai source more closely now, as I will try to increase available debugging options in fai. 20090706 22:25:29< Dragonking> Crab_: ok, no worries 20090706 22:25:50< Dragonking> Crab_: I just have only one more C++ thing to do now 20090706 22:26:20< Dragonking> After that come work on formulas for recruitment 20090706 22:26:26< Dragonking> boucman: BTW 20090706 22:26:44< Dragonking> Did you check my changes to poison CA? 20090706 22:27:21< CIA-53> mordante * r36662 /trunk/src/gui/ (3 files in 2 dirs): Remove the duplicate remove_all_rows() function. 20090706 22:27:22< boucman> quickly... but I can review it some more if you want 20090706 22:27:32< boucman> it's fai only, isn't it ? 20090706 22:27:39< mordante> ilor, ^ 20090706 22:27:45< Dragonking> boucman: You can take a look at ./wesnoth -t poison -d 20090706 22:27:51< Dragonking> boucman: Yes, just fai 20090706 22:27:53< ilor> mordante: noticed, about to build and test 20090706 22:28:10< Dragonking> boucman: I made some changes to how it is scored and added some more conditions 20090706 22:28:11< boucman> looking 20090706 22:28:21< boucman> yes, i saw that... 20090706 22:28:22< mordante> ok, I tested a bit and the gamelist seems to remove, the player list doesn't 20090706 22:28:31< mordante> (guess intended) 20090706 22:30:00< boucman> Dragonking: the number displayed is the score, isn't it ? 20090706 22:30:12< Dragonking> boucman: Yes 20090706 22:31:12< boucman> the test itself is pretty nice, maybe we should integrate it into the test suite 20090706 22:32:19< Dragonking> Still I would like to add one more thing to the poison eval, but that comes later 20090706 22:32:32< boucman> another remark, when it had to choose the target, the first unit attacked the arch mage (normal) however the second poisoner attacked the elf on forest instead of elf on plain (both had a score of 60) is terrain properly taken into account ? 20090706 22:32:52< Dragonking> boucman: It is not right now 20090706 22:32:58< ilor> mordante: I used the remove_all func in one and a loop through single removes in the other 20090706 22:32:58< boucman> ok, reading the code now 20090706 22:33:21< boucman> Dragonking: Crab_ and I are considering a way to have that in a generic way with "formulas rating other formulas" 20090706 22:33:27< ilor> mordante: silly mistake on my part :) 20090706 22:33:27< boucman> so no hurry atm 20090706 22:33:43< mordante> ilor, ok, I already feared one on my side ;-) 20090706 22:33:43< Dragonking> boucman: I had a talk with Crab_ about it lately :) 20090706 22:33:56< boucman> ok, good 20090706 22:34:25< Dragonking> boucman: I would like poison formula to alo look at possible damage taken while attacking and at defense of defender, but that alos comes later 20090706 22:34:28-!- noy [n=Noy@wesnoth/developer/noy] has quit ["GO, GET TO THE CHOPPAH!!!"] 20090706 22:34:28< CIA-53> crab * r36663 /trunk/src/ai/formula/ai.cpp: changed formula_ai recruitment to use execute_recruit_action 20090706 22:34:33< Crab_> Dragonking: ^ 20090706 22:34:56< Dragonking> Crab_: Perfect, will look now at it, thank you 20090706 22:35:01-!- noy [n=noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090706 22:35:12< grzywacz> Ivanovic, bad news 20090706 22:35:19< boucman> Dragonking: and that is generic to all attack moves, not special to ai, that's why I thought it would be better for a modifying formula, than embedded in the poison rule 20090706 22:35:25< grzywacz> Ivanovic, it's raw SDL that produces the crackling sound, SDL_mixer is fine 20090706 22:35:35< boucman> Crab_: i'll look at it ina min :) 20090706 22:35:52< Ivanovic> grzywacz: outsch 20090706 22:36:05< Dragonking> boucman: True 20090706 22:36:11< grzywacz> Ivanovic, I made a simplistic player with bare SDL and it starts to crackle after switching VTs 20090706 22:36:16< Ivanovic> grzywacz: is there a bugreport for this at the libsdl bugracker? 20090706 22:36:34< grzywacz> Ivanovic, no idea, I'm going to look for it. Up to now I assumed it would be SDL_mixer 20090706 22:36:39< grzywacz> (Having found one bug there before) 20090706 22:36:47< Ivanovic> that is: the sdl maintainer asked us to post any sdl bugs we find in the official tracker 20090706 22:36:56< grzywacz> Ok, I'll take a look at their bugzilla. 20090706 22:37:00< grzywacz> Then at the sources... 20090706 22:38:02< grzywacz> Ivanovic, yes, there are 2 similar bugs. 20090706 22:38:12< grzywacz> Ivanovic, what sound card do you have? 20090706 22:38:21< Crab_> boucman: note that it's possible to do this two ways 1) 'let generic attack scoring formula modify candidate attacks proposed by poisoning formula' 2) 'let poisoning formula modify candidate attacks proposed by generic attacks formula' 20090706 22:38:22< Ivanovic> and creative audigy2 20090706 22:38:36< boucman> Crab_: hehe 20090706 22:38:38< boucman> indeed 20090706 22:39:44< grzywacz> Ivanovic, emu10k1 here 20090706 22:39:51< Ivanovic> 05:01.0 Multimedia audio controller: Creative Labs SB Audigy (rev 04) 20090706 22:39:51< Crab_> boucman: the catch is that there's already a generic attack formula which evaluates possible attack sequences up to max_depth :) 20090706 22:39:52< Ivanovic> Subsystem: Creative Labs SB Audigy2 Platinum 20090706 22:39:58< grzywacz> Ivanovic, http://bugzilla.libsdl.org/show_bug.cgi?id=650 20090706 22:40:09< Ivanovic> the driver is an emu10k1, too 20090706 22:40:10< grzywacz> Ivanovic, also http://bugzilla.libsdl.org/show_bug.cgi?id=649 which I'm going to retest again 20090706 22:40:13< boucman> there is ? 20090706 22:40:40< Crab_> boucman: ai_default combat phase :) 20090706 22:40:50< boucman> oh, ok 20090706 22:40:56< boucman> not a formula so to speak :) 20090706 22:41:10< Crab_> boucman: it already looks into all possible attack moves, and it returns a vector of attack sequences 20090706 22:41:55< Crab_> boucman: so, it makes little sense for poisoning formula to 'propose' one poisoning move, in the cross-scoring system. 20090706 22:42:21< boucman> Dragonking: you give bonus for poisoning healing/leading units ? I guess it's your player logic here, not the game rules... 20090706 22:42:23< Crab_> (since that move will be already considered) 20090706 22:42:28< mordante> I'm off night 20090706 22:42:34< ilor> night mordante 20090706 22:42:43< Dragonking> boucman: Yes 20090706 22:42:44< Ivanovic> grzywacz: i am sure that sam is thankfull for any input he can get on the problem 20090706 22:43:03< boucman> Crab_: yes, well it seems more and more that there will be lot of rating and little move calculation 20090706 22:43:04< Dragonking> boucman: My idea is to first "disable" support and thus increase value of poison itself 20090706 22:43:21< boucman> Dragonking: yes, it makes sense, I was just making sure 20090706 22:43:21-!- mordante [n=mordante@wesnoth/developer/mordante] has quit ["Leaving"] 20090706 22:45:00< grzywacz> Ivanovic, I have a work-around, but I have no idea where to look for a proper fix yet 20090706 22:45:13< grzywacz> ;) 20090706 22:45:44< Crab_> boucman: on the other hand, Dragonking recently raised a question related to problems with current attack analysis / candidate actions. 20090706 22:45:48< Crab_> imagine two poisoning units P1 and P2, imagine two targets A and B, imagine that P1 can reach A, P2 can reach both A and B. How do we avoid the situation where P2 attacks and poisons A, and P1 is left with nothing good to do ? 20090706 22:46:42< boucman> Dragonking: finished rereading poisoning, couldn't see anything bad in there, did you want me to look at something specifically ? 20090706 22:46:54< Dragonking> boucman: No 20090706 22:47:04< grzywacz> Or maybe not, it's not deterministic. 20090706 22:47:06< Dragonking> boucman: Just to have a look 20090706 22:47:07< boucman> ok, good :) 20090706 22:47:24< Dragonking> :) 20090706 22:47:36< boucman> Crab_: good question :P 20090706 22:47:46< Ivanovic> grzywacz: ahh, lovely fun that is... 20090706 22:47:56< Crab_> note the Sirp's answer in http://www.wesnoth.org/forum/viewtopic.php?f=10&t=24511&start=0 20090706 22:48:06< grzywacz> Ivanovic, it sucks badly :) 20090706 22:48:14< Ivanovic> jupp 20090706 22:48:42< Crab_> boucman: he proposed evaluating possible combinations of moves/attacks for local 'squads' of units 20090706 22:49:18< boucman> Crab_: so, that would be a job for the one generating the moves 20090706 22:49:25< boucman> ? 20090706 22:49:40 * boucman rereads sirp's post at the same time 20090706 22:49:42< Crab_> which solves the aforementioned problem because combination "P1.attacks.A and P2.attacks.B" will be scored higher than "P2.attacks.A and P1.has.nothing.good.to.do" 20090706 22:50:56< Crab_> note that current attack analysis is "analysis of attacking a single target with multiple units, up to max_depth~5" 20090706 22:52:19< Crab_> but, if we want to analyze 'attacks/moves of multiple units on multiple targets', we have other problems. 20090706 22:52:44< boucman> Crab_: complexity explosion 20090706 22:52:58< Crab_> for example, if we limit ourselves to 'analyzing attacks/moves of up to 5 units on multiple nearby targets' 20090706 22:53:20< Crab_> we raise a question about the word 'nearby'. 20090706 22:54:02< Crab_> the complexity is not that high, since unit movement rates are limited 20090706 22:54:24< CIA-53> ivanovic * r36664 /trunk/ (7 files in 6 dirs): updated Italian translation 20090706 22:54:30< CIA-53> ivanovic * r36665 /branches/1.6/ (7 files in 6 dirs): updated Italian translation 20090706 22:54:36< Crab_> but the problem is that we don't have several separate 'small battlefields' 20090706 22:55:02< Crab_> we have one continuous battlefield 20090706 22:55:19< Crab_> but each unit on it can reach only nearby tiles 20090706 22:55:23< boucman> yes, that's what I was thinking 20090706 22:55:29< Crab_> (and can be reached only by nearby enemies) 20090706 22:55:46< Crab_> the attack_depth doesn't have to be big 20090706 22:56:26-!- ancestral [n=ancestra@97-116-127-39.mpls.qwest.net] has joined #wesnoth-dev 20090706 22:57:40-!- Sapient [n=sapien-x@wesnoth/developer/sapient] has joined #wesnoth-dev 20090706 23:01:21< Crab_> boucman: so, to solve this problem efficiently, we need to define some kind of 'local' rca loop 20090706 23:02:04< Crab_> one possible definition is 'rca loop for combinations of actions of a squad of nearby units' 20090706 23:04:07< boucman> so we cut our units in squad (probably based on dedicated plugin) 20090706 23:04:20< Crab_> second approach (mentioned in part3 of my gsoc) involves branching on possible outcomes and reevaluating rca for the difference between current situation and hypothetical situation (this achieves locality too, since difference will be local) 20090706 23:04:25< boucman> then we take all moves with a given depth (2/3 probably) 20090706 23:04:36< boucman> hmm 20090706 23:05:34< boucman> that might be very costly very quickly 20090706 23:06:54< Crab_> hard to tell without trying 20090706 23:07:39< Crab_> note the 'leadership' case. 20090706 23:08:13< boucman> Crab_: we will have to tackle the "depth" problem one way or another, I see one fundamental question though... 20090706 23:08:32< Crab_> which question ? 20090706 23:08:53< boucman> should we give the evaluators "list of moves" or should feed them "one move at a time" and do the spliting of moves and summing of scores ourselves ? 20090706 23:10:09< boucman> I think it might be better to feed the moves one at a time, to avoid too much complexity in the evaluators 20090706 23:10:45< boucman> (which is more or less your proposal) 20090706 23:10:57< Crab_> boucman: what about a 'form defensive line' case ? 20090706 23:11:00-!- Baufo [n=quassel@wesnoth/developer/baufo] has quit [Read error: 104 (Connection reset by peer)] 20090706 23:11:42< Crab_> imagine a situation where 3 moves are required to put 3 units in good defensive positions, but even 2-of-3 moves don't give good defensive position 20090706 23:12:05< Crab_> how do evaluate them 'one-move-a-time' ? 20090706 23:12:40< boucman> so, we have a list of 3 moves [A B C] 20090706 23:13:20< boucman> we first evaluate A, then evaluate "B assuming A" then evaluate "C assuming A and B" 20090706 23:13:40< boucman> assuming we have an evaluation "do we build a good defensive line" 20090706 23:14:06< Crab_> the question is: why evaluate A and "B assuming A" in that case ? 20090706 23:14:14< boucman> A would be rated low, B/A would be rated low, but C/(A and B) would be rated high 20090706 23:14:38< boucman> so assuming the final score is built for the whole list, we would get a consistent score 20090706 23:14:40< Dragonking> Crab_: ok, this recruit_result is nice, now to pack it into some error I would write some wrapper class that would give interface to extract some data 20090706 23:14:42< grzywacz> Ivanovic, Dragonking has the same issue with emu10k1 ;) 20090706 23:14:56< boucman> Crab_: because we evaluate everything with a depth of 3 20090706 23:15:29< Crab_> Dragonking: good 20090706 23:15:36< boucman> (or because a formula provided us with that move to evaluate, depending how you want to do it) 20090706 23:16:00< boucman> the question is not about finding the move, but avoiding formula complexity when scoring 20090706 23:16:15< Crab_> boucman: isn't it better in that case to evaluate just "C assuming A and B" ? 20090706 23:16:28< boucman> note that "B assuming A" would be done without the formula knowing about it using your "AI perception" thing 20090706 23:17:21< boucman> Crab_: no, because we want to rate the cumulative effects of A, B, and C and other formulas might consider A and be to be very bad moves 20090706 23:17:54< boucman> "C assuming A and B" assumes A and B have already happened, so if they are bad moves it's not taken into account 20090706 23:17:55< Crab_> ok, agreed 20090706 23:18:03< Crab_> and what about evaluating A+B+C ? 20090706 23:18:19< Crab_> I mean (A then B then C) 20090706 23:18:29< Crab_> evaluating the sequence of actions 20090706 23:18:51< boucman> I don't understand your question* 20090706 23:19:53< Crab_> ok, I agree that evaluating just "C assuming A and B" is not good because A and B may be bad in themselves, for some other reason 20090706 23:20:25< boucman> ok, i'll explain my idea a little more in depth 20090706 23:21:03< boucman> so, we have a "action generator" that told the engine that "A then B then C" is a potential move 20090706 23:21:25< boucman> the engine has all those evaluators that can only evaluate one move at a time 20090706 23:21:52< boucman> so we first evaluate A and obtain a score (Sa) 20090706 23:22:23< boucman> then we evaluate B assuming A (that is we evaluate B, but we give the evaluators a gamestate as if A had happened) 20090706 23:22:31< boucman> we get Sb 20090706 23:22:52< boucman> then we evaluate C assuming A and B (again with a corresponding gamestate) 20090706 23:22:56< boucman> we get Sc 20090706 23:23:29< boucman> the overall score would be Sa+Sb+Sc (this is a rough idea, a finer combination might be needed) 20090706 23:23:41< boucman> we can compare three move deep moves that way 20090706 23:23:54< Crab_> there's problems with that approach 20090706 23:23:58< boucman> yes ? 20090706 23:24:06< boucman> sevral, probably :) 20090706 23:24:07< Crab_> A can have multiple outcomes 20090706 23:24:13-!- VladimirSlavik [n=chatzill@wesnoth/translator/VladimirSlavik] has quit [Read error: 104 (Connection reset by peer)] 20090706 23:24:25< boucman> Crab_: yes, I assumed a "movement action" 20090706 23:24:42< boucman> for multiple outcomes, here is a slight change 20090706 23:24:47< Crab_> technically speaking, movement can have multiple outcomes, too :) 20090706 23:24:59< Crab_> if we care about fog 20090706 23:25:20< boucman> evaluating A returned Sa1 and P1 (outcome1 score and probablility) and Sa2 +P2 20090706 23:25:32< boucman> other moves returned the same scores than previously 20090706 23:25:54< boucman> overall score could be Sa1*P1+Sa2*P2+Sb+Sc 20090706 23:26:07< boucman> probabilities between 0 and 1 20090706 23:28:22< Crab_> yes, I understand 20090706 23:29:07< boucman> Crab_: you would probably drop low probability ouput, to reduce calculation... 20090706 23:29:24< Crab_> boucman: note http://www.wesnoth.org/wiki/SummerOfCodeProposal_AI_Improvement_Crab#3._C.2B.2B_ideas_about_AI_coding_phase 20090706 23:29:34< Crab_> ( candidate move tree ) 20090706 23:29:55< thespaceinvader> the command to uncover all unit descriptiosn is :discover, right? 20090706 23:30:05< Turuk> ye 20090706 23:30:07< Turuk> *ye 20090706 23:30:12< Turuk> *Yes 20090706 23:31:47< boucman> Crab_: yes, that's pretty close, 20090706 23:32:17< boucman> but what I find particularly interesting in my proposal is that we simplified the evaluation problem by never evaluating "in depth" 20090706 23:32:20< Crab_> the main problem there is the problem of 'pruning' 20090706 23:32:26< boucman> i.e evaluators only can evaluate one move 20090706 23:33:21< boucman> the other alternative would have been to ask all evaluators to evaluate "A then B then C" as a whole, which would allow more liberty to evaluatores but WAY more compexity to implement... 20090706 23:33:41< boucman> about pruning : you're right, it's a delicate question 20090706 23:34:25< Crab_> about pruning: we are not interested in evaluating Sa+S(b|a) when S(b|a)~ S(b) 20090706 23:34:40< ilor> YogiHH: have you used the minimap widget? 20090706 23:34:51< YogiHH> ilor: yes 20090706 23:35:25-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit ["night all"] 20090706 23:35:34< boucman> Crab_: well, I read tat as Sa+S(a|b) ~ Sa+Sb which means A and B are independent 20090706 23:35:41< Crab_> boucman: basically, "if two attacks are basically independent, it doesn't make sense to evaluate one of them on condition that second is done" 20090706 23:35:52< ilor> YogiHH: ideas why it shows a blank space after a set_config() and set_map_data() ? 20090706 23:36:14< YogiHH> ilor: yes, you need to assign the game_config first 20090706 23:36:27< YogiHH> oh, forget that, you did already 20090706 23:36:27< ilor> YogiHH: I do call set_config 20090706 23:36:31< boucman> lemme think... 20090706 23:36:47< ilor> YogiHH: that's supposed to be the main game config, right? 20090706 23:37:01< YogiHH> yes, with all the cache information 20090706 23:37:11< YogiHH> it's needed for the terrain 20090706 23:37:59< boucman> so if the "englobing rectangle" of two actions is more than 3hex away, combining these actions into a serie is useless (englobing rectangle being the rectangle affected by the mvt : src/tgt of move etc...) 20090706 23:38:43< boucman> units that are "alone" (because everybody else around have moved) would be delayed to the end of turn because they couldn't be evaluated fairly, but that's no big deal 20090706 23:39:38< grzywacz> Ivanovic, we may end up with a kernel bug :P 20090706 23:40:13< Crab_> boucman: so, let's sum it up 20090706 23:40:25< boucman> please do :) 20090706 23:41:19< Crab_> 1) first step is to gather good action plans. this includes all simple attacks, simple moves, and more elaborate multistep actions proposed by candidate actions. 20090706 23:42:28< Ivanovic> grzywacz: hui 20090706 23:42:31< Crab_> 2) second step is to score first action in each of these plans by using an array of evaluators 20090706 23:42:44< ilor> YogiHH: any ideas then? :) 20090706 23:43:02< YogiHH> not really, do you want to have a look at my code? 20090706 23:43:02< grzywacz> Ivanovic, on DK's machine it "just works" when he swaps emu10k1 with his integrated sound card 20090706 23:43:19< grzywacz> Ivanovic, no it's probably not SDL as such and surely not the build environment 20090706 23:43:32< grzywacz> Ivanovic, so either emu10k1 or some weird interaction between the two 20090706 23:43:52< ilor> YogiHH: maybe it'll help 20090706 23:44:16< Crab_> 3) third step is to remove all bad action plans (determined by score (2) and by original score, 'promise that the action is good', attached in (1) by the candidate action which proposed that plan) 20090706 23:45:03< boucman> I'll have some refinement on 1 and 3, but go on... 20090706 23:45:07< Crab_> 4) fourth step is to create hypothetical game situations after the first action of each of action plans 20090706 23:45:53< Crab_> 5) increase level of pruning, goto 1 20090706 23:46:16< grzywacz> night for now 20090706 23:46:25< Crab_> -- 20090706 23:46:38< boucman> ok 20090706 23:47:06< Crab_> boucman: note that the pruning is key to keeping the speed manageable - since we want to explore only synergetic options in more detail 20090706 23:47:17< boucman> indeed 20090706 23:47:52< boucman> about (1), note that in its current form, we can only compare moves with same depth... but there is probably a way to take that into account 20090706 23:48:19< Crab_> there's no comparison in 1 20090706 23:48:48-!- silene [n=plouf@wesnoth/developer/silene] has joined #wesnoth-dev 20090706 23:49:00< boucman> no, but there will be eventually, so we can't have "simple actions" and "elaborated actions" since we won't be able to compare them 20090706 23:49:10< boucman> but again, it can probably be refined to take that into account 20090706 23:49:16< boucman> about (3) 20090706 23:49:31< Crab_> I think that we'll need a class to represent 'a action plan' 20090706 23:49:46< Crab_> with level of simplicity as a attribute 20090706 23:50:07< boucman> in my mind, the pruning was not based on the action being "good" only on the action being "likely" i.e prune the branches with <5% chances of happening 20090706 23:50:24< Crab_> boucman: that's too. 20090706 23:50:45< boucman> the assumption is that if the move generator provided the move, it is likely to be good, and pruning at intermediate level might cause more problems 20090706 23:51:35< Crab_> we are not interested in 'good moves' :) 20090706 23:51:44< Crab_> example: 20090706 23:52:13< ilor> YogiHH: nevermind, seems I have an issue and I'm passing empty mapdata to the minimap 20090706 23:52:23< Crab_> we have a 'very good move' to finish off 1-hp enemy in the left side of the map, and we have an elaborate action sequence in the right side of the map 20090706 23:52:27< YogiHH> ilor: ah, ok 20090706 23:53:22< Crab_> boucman: and, we're not that interested in questions like 'what if we'll finish off that enemy after 2nd move in our elaborate action sequence?', 'what if we'll finish off that enemy after 3rd move in our elaborate action sequence?' 20090706 23:54:08< boucman> ok, so you want to prune "independent moves in sequence" at this level... 20090706 23:54:13< boucman> hmm 20090706 23:54:30< Crab_> we're mainly interested in 'what new options are available locally due to our action?' 20090706 23:54:44< Crab_> that's why I talked about local rca 20090706 23:54:57< boucman> ok, gimme a sec to think 20090706 23:55:07< boucman> your plan is actually different from mine 20090706 23:57:20< boucman> ok, your plan is a bit different, but makes sense too... 20090706 23:57:47< boucman> I was not reintroducing new moves, but it's actually a good idea (except for complexity explosion 20090706 23:58:48< Sapient> wesbot: seen cjhopman 20090706 23:58:48< wesbot> Sapient: The person with the nick cjhopman last spoke 1d 15h ago. 22h 46m ago was here and on the channel #wesnoth with the message: Remote closed the connection 20090706 23:59:05< Sapient> cjhopman: please see my email / PM --- Log closed Tue Jul 07 00:00:04 2009