--- Log opened Thu May 21 00:00:08 2009 20090521 00:06:11< Crab_> mordante: question: how can I find out why ftp://ftp.terraninfo.net/wesnoth/glithes_2009_May_21.png happens ? 20090521 00:07:16< mordante> Crab_, not sure we've seen it before but I can't remember a solution 20090521 00:08:03< CIA-30> mordante * r35773 /trunk/src/tests/gui/test_gui2.cpp: Enable another gui related unit test. 20090521 00:10:56-!- Sirp [n=me@wesnoth/developer/dave] has joined #wesnoth-dev 20090521 00:14:03< mordante> I'm off night 20090521 00:14:28-!- mordante [n=mordante@wesnoth/developer/mordante] has quit ["Leaving"] 20090521 00:16:26< CIA-30> soliton * r35774 /branches/1.6/src/server/server.cpp: check against the correct element 20090521 00:19:35-!- giusef_ [n=giusef@unaffiliated/giusef] has quit ["exit (-1);"] 20090521 00:20:50-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit ["night all"] 20090521 00:21:07< Polarina> How would I go about translating the string "9p - Merkwuerdigliebe"? 20090521 00:21:46< ardesh> 9p stragelove 20090521 00:21:50< ardesh> strangelove 20090521 00:22:01< Soliton> do you translate names? 20090521 00:22:02< Polarina> ardesh: Why strangelove? 20090521 00:22:06< ardesh> but it should be "Merkwuerdig_e_liebe" 20090521 00:22:10< Polarina> Soliton: Some. 20090521 00:22:21< ardesh> Polarina, merkwuerdig == strange 20090521 00:22:26< ardesh> liebe == love 20090521 00:22:28< grzywacz> Polarina, that's the closest you can get to the meaning of this awkward German ;) 20090521 00:22:51< ardesh> Soliton, what do you mean with translate names? 20090521 00:23:20< grzywacz> We have "Dziwnamiłość" in the Polish version... ;) 20090521 00:23:29< Soliton> i don't see the point of translating names unless you want to make it hard on players to communicate with others. 20090521 00:23:57< grzywacz> The same would apply to units. 20090521 00:24:01< Polarina> Soliton: If a name has a close variant in Icelandic, such as the english name Maria is in Icelandic María, I translate. 20090521 00:24:02< ardesh> Soliton, well... if u got something like "steven the mighty" its convinient to translate the "mighty" 20090521 00:24:07< grzywacz> Merkwuerdigliebe doesn't make communication in Polish any easier. 20090521 00:24:25< Soliton> do you have trouble writing it? 20090521 00:25:47< grzywacz> It's not natural and difficult to pronounce. 20090521 00:26:08-!- ABCD_away [n=ABCD@wikipedia/ABCD] has quit [Read error: 113 (No route to host)] 20090521 00:26:29< Soliton> i was refering to written communication on the mp server. 20090521 00:27:16< grzywacz> Yes, I don't find it easy. 20090521 00:28:20< Polarina> ardesh: I was thinking of translating it into "Stafasúpa" (direct translation: letter soup, a soup with floating alphabetical letters floating in it :P). 20090521 00:28:53< ardesh> O_o 20090521 00:31:17< CIA-30> soliton * r35775 /trunk/src/server/server.cpp: check against the correct element 20090521 00:31:30< CIA-30> soliton * r35776 /trunk/data/tools/ (unit_tree/helpers.py wmltest wmlunits): update scripts: s/~campaigns/~add-ons/ 20090521 00:41:15-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [] 20090521 00:44:36-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["Zzzzzzzzzzzzzzzzzzzzzzzzz"] 20090521 00:45:17-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090521 00:46:58-!- crimson_pinvin [n=ben@64.201.60.216] has joined #wesnoth-dev 20090521 00:57:06-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090521 01:05:24-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [Read error: 110 (Connection timed out)] 20090521 01:16:16-!- BenUrban [n=benurban@c-68-55-19-224.hsd1.md.comcast.net] has joined #wesnoth-dev 20090521 01:20:02-!- BenUrban [n=benurban@unaffiliated/benurban] has quit [Client Quit] 20090521 01:20:11-!- BenUrban [n=benurban@c-68-55-19-224.hsd1.md.comcast.net] has joined #wesnoth-dev 20090521 01:22:07-!- Polarina [n=polarina@wesnoth/translator/Polarina] has quit [Read error: 110 (Connection timed out)] 20090521 01:23:37-!- Polarina [n=polarina@wesnoth/translator/Polarina] has joined #wesnoth-dev 20090521 01:29:09< Soliton> weird, i just went from DM7 to 8 and Delfador became level 1 again (got killed somehow). then i try to reload the start-of-scenario save and it says unknown scenario '08_ur_thorodor'. so i finish the previous scenario again.. and everything works. 20090521 01:29:52< Soliton> looks like there is some bug that wipes the scenario data out. 20090521 01:30:08< Soliton> that was with 1.7.0 btw not trunk. 20090521 01:34:49-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090521 01:37:30< Polarina> Soliton: http://bugs.wesnoth.org/ 20090521 01:46:56-!- Polarina1 [n=polarina@85-220-26-48.dsl.dynamic.simnet.is] has joined #wesnoth-dev 20090521 01:47:59-!- Polarina [n=polarina@wesnoth/translator/Polarina] has quit [Nick collision from services.] 20090521 01:48:04-!- Polarina1 is now known as Polarina 20090521 01:48:54-!- Crab_ [i=crab@wesnoth/developer/crab] has quit ["Leaving."] 20090521 01:57:25-!- Espreon_ [n=espreon@c-76-117-239-33.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090521 01:57:59-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit [Nick collision from services.] 20090521 01:58:04-!- Espreon_ is now known as Espreon 20090521 01:58:51-!- grzywacz [n=grzywacz@wesnoth/developer/grzywacz] has quit [Remote closed the connection] 20090521 02:01:06-!- Elvish_Pillage2 [n=eli@68-116-175-221.dhcp.oxfr.ma.charter.com] has quit ["Hi! I'm a quit message virus vaccine. If you see a quit message virus, don't replace your quit message with it!"] 20090521 02:03:57-!- Espreon_ [n=espreon@c-76-117-239-33.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090521 02:04:22-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit [Nick collision from services.] 20090521 02:04:28-!- Espreon_ is now known as Espreon 20090521 02:08:30-!- JW2 [n=JW@c-71-57-85-168.hsd1.il.comcast.net] has joined #wesnoth-dev 20090521 02:18:27< CIA-30> crab * r35777 /trunk/src/ (19 files in 2 dirs): AI Refactoring - hierarchial AI contexts, a step needed for easier writing of composite ai components. 20090521 02:18:49< CIA-30> crab * r35778 /trunk/src/ai/ (5 files): Delayed initialization of formula AI - moved it from constructor to on_create method. This is needed to simplify the initiazization process (which formerly called virtual methods of a not-yet-fully-created class) 20090521 02:18:55< CIA-30> crab * r35779 /trunk/src/ai/ (6 files): fixed a segfault caused by formula ai self-reference-counting quirks, plus removed some accidential whitespace. 20090521 02:19:55-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090521 02:20:48-!- crimson_pinvin [n=ben@64.201.60.216] has quit [Read error: 104 (Connection reset by peer)] 20090521 02:23:07-!- mjs-de [n=mjs-de@vpw.wh.Uni-Dortmund.DE] has quit [Read error: 113 (No route to host)] 20090521 02:26:08< CIA-30> crab * r35780 /trunk/changelog: 20090521 02:26:08< CIA-30> changelog entry to above commit. Note to MVSC people: 'C4250 (method inherited 20090521 02:26:08< CIA-30> via dominance)' warnings are safe there - it is the intended behavior. Feel free 20090521 02:26:08< CIA-30> to disable them for ./src/ai or point me to a doc with how-to-disable, and I'll 20090521 02:26:08< CIA-30> do it myself. 20090521 02:27:42-!- Crab_ [i=crab@wesnoth/developer/crab] has quit ["Leaving."] 20090521 02:29:35-!- crimson_penguin [n=ben@64.201.60.216] has joined #wesnoth-dev 20090521 02:33:25-!- Espreon_ [n=espreon@c-76-117-239-33.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090521 02:34:19-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit [Nick collision from services.] 20090521 02:34:22-!- Espreon_ is now known as Espreon 20090521 02:36:16-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit [Read error: 60 (Operation timed out)] 20090521 02:37:53-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 104 (Connection reset by peer)] 20090521 02:38:08-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090521 02:39:17-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090521 03:28:30-!- Polarina [n=polarina@wesnoth/translator/Polarina] has quit [Read error: 110 (Connection timed out)] 20090521 03:30:09-!- Polarina [n=polarina@wesnoth/translator/Polarina] has joined #wesnoth-dev 20090521 03:43:39-!- happygrue [n=George@wesnoth/developer/wintermute] has joined #wesnoth-dev 20090521 03:55:45-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090521 03:59:08-!- Polarina1 [n=polarina@85-220-26-48.dsl.dynamic.simnet.is] has joined #wesnoth-dev 20090521 03:59:37-!- Polarina [n=polarina@wesnoth/translator/Polarina] has quit [Nick collision from services.] 20090521 03:59:39-!- Polarina1 is now known as Polarina 20090521 04:16:01-!- JW2 [n=JW@c-71-57-85-168.hsd1.il.comcast.net] has quit [] 20090521 04:32:41-!- Dopppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090521 04:35:01-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit [Read error: 110 (Connection timed out)] 20090521 04:36:14-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090521 04:38:14-!- Doppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has quit [Connection timed out] 20090521 04:42:46-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090521 04:52:46-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Connection timed out] 20090521 04:58:10-!- Ivanovic_ [n=ivanovic@dtmd-4db2d797.pool.einsundeins.de] has joined #wesnoth-dev 20090521 05:14:12-!- Ivanovic [n=ivanovic@wesnoth/developer/ivanovic] has quit [Read error: 113 (No route to host)] 20090521 05:16:09-!- Ivanovic_ is now known as Ivanovic 20090521 05:30:56-!- ABCD [n=ABCD@wikipedia/ABCD] has joined #wesnoth-dev 20090521 05:32:25-!- ABCD is now known as ABCD_ 20090521 05:32:30-!- ABCD_ is now known as ABCD --- Log opened Thu May 21 10:12:37 2009 20090521 10:12:45-!- lobby [n=wesnoth@wesnoth/bot/lobby] has joined #wesnoth-dev 20090521 10:12:45-!- Topic for #wesnoth-dev: 60 bugs, 241 feature requests, 11 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090521 10:12:45-!- Topic set by wesbot [] [Wed May 20 18:09:13 2009] 20090521 10:12:45[Users #wesnoth-dev] 20090521 10:12:45[ ABCD ] [ BenUrban] [ esr ] [ maxy ] [ shikadibot] 20090521 10:12:45[ AI0867 ] [ CIA-30 ] [ ettin ] [ Mellar ] [ silene ] 20090521 10:12:45[ Alesis-Novik] [ cjhopman] [ ilor_ ] [ mordante] [ Smar ] 20090521 10:12:45[ AnMaster ] [ corn ] [ isaac ] [ nital ] [ Soliton ] 20090521 10:12:45[ Appleman1234] [ dfranke ] [ Ivanovic ] [ noy ] [ Tigge ] 20090521 10:12:45[ ardesh ] [ Dopppp ] [ jmunro[a]] [ Polarina] [ Turuk ] 20090521 10:12:45[ Badger ] [ erl ] [ lobby ] [ Rhonda ] [ wesbot ] 20090521 10:12:45-!- Irssi: #wesnoth-dev: Total of 35 nicks [0 ops, 0 halfops, 0 voices, 35 normal] 20090521 10:12:50-!- Soliton [n=Soliton@wesnoth/developer/soliton] has quit [Nick collision from services.] 20090521 10:12:56-!- Channel #wesnoth-dev created Tue Jan 27 06:28:41 2009 20090521 10:12:57-!- Soliton [n=Soliton@wesnoth/developer/soliton] has joined #wesnoth-dev 20090521 10:13:08-!- Soliton_ [n=Soliton@wesnoth/developer/soliton] has joined #wesnoth-dev 20090521 10:13:33-!- Soliton_ [n=Soliton@wesnoth/developer/soliton] has quit [Client Quit] 20090521 10:13:38-!- Irssi: Join to #wesnoth-dev was synced in 60 secs 20090521 10:20:58-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has joined #wesnoth-dev 20090521 10:23:02-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090521 10:23:35-!- ilor_ [n=user@wesnoth/developer/ilor] has quit [] 20090521 10:36:27< Soliton> so, as wesnoth.org became again unresponsive earlier i made a reboot request. unfortunately looking at the logs, again, i have no clue what went wrong... if anyone can spot something on the graphs here.. http://www.wesnoth.org/collection3/bin/index.cgi?hostname=wesnoth.wesnoth.org×pan=18000&action=show_selection&ok_button=OK 20090521 10:39:03< Ivanovic> Soliton: the logs IMO look fine 20090521 10:39:15< Ivanovic> Soliton: have you already "deactivated" stats.wesnoth.org? 20090521 10:39:46< Ivanovic> (deactivated as in removing the apache redirect stats.wesnoth.org 20090521 10:39:56< Soliton> no. 20090521 10:40:05< silene> so the logs stopped at 6? 20090521 10:40:08< Ivanovic> okay, then i will comment this one out 20090521 10:40:10< Ivanovic> silene: yes 20090521 10:40:15< Soliton> yeah. 20090521 10:41:17< Ivanovic> okay, commented this redirect out 20090521 10:42:32< silene> do you have a cronjob that starts at 6? 20090521 10:44:40< Soliton> not specifically but several that run hourly, etc. 20090521 10:45:49< Ivanovic> what we run at every full hour is the g.w.o update, as well as moving over addons to the webbased "download" folder using the phyton scripts we got for addon-handling 20090521 10:46:12< Ivanovic> really nothing fancy and we got enough space left 20090521 10:47:29< esr> AFK For a bit 20090521 10:47:41-!- esr [n=chatzill@static-71-162-243-5.phlapa.fios.verizon.net] has quit ["ChatZilla 0.9.84 [Firefox 3.0.10/2009042523]"] 20090521 10:57:16-!- fendrin [n=fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20090521 10:57:40< silene> so, if i read the graphs correctly, mysql went crazy just before the computer stopped responding, right? 20090521 11:00:42< Ivanovic> Soliton: to be really sure that the stats create no problem i will remove access privs by "others" (so basically chmod 770 on /usr/lib/cgi-bin/stats/stats.pl (current setting is -rwxrwxr-x)) 20090521 11:01:35< Ivanovic> Soliton: or is the script also used for adding the data to the db? 20090521 11:02:44-!- Elvish_Pillager [n=eli@68-116-175-221.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090521 11:05:36-!- loonybot [n=loonybot@79.139.246.175] has joined #wesnoth-dev 20090521 11:06:20< Soliton> silene: i wouldn't call that going crazy but usage went up, yes. 20090521 11:06:35-!- loonycyborg [n=sergey@79.139.246.175] has joined #wesnoth-dev 20090521 11:07:16< Soliton> Ivanovic: no, that's not used for the uploads. 20090521 11:07:37< Ivanovic> okay, then i will deactivate the script by making it not executable 20090521 11:07:47< Ivanovic> this way no crawler should be able to access the database anymore 20090521 11:09:40< Soliton> i've already disallowed "/cgi-bin/" in robots.txt. 20090521 11:10:21-!- EdB [n=edb@81.117.88-79.rev.gaoland.net] has joined #wesnoth-dev 20090521 11:10:44< Ivanovic> then to prevent users who want to crash our servers from doing so this way 20090521 11:15:51-!- cjhopman [n=chris@wesnoth/developer/cjhopman] has quit [Read error: 110 (Connection timed out)] 20090521 11:31:58-!- mjs-de [n=mjs-de@vpw.wh.uni-dortmund.de] has joined #wesnoth-dev 20090521 11:37:23-!- esr [n=chatzill@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-dev 20090521 11:38:12-!- euschn [n=chatzill@wesnoth/developer/euschn] has joined #wesnoth-dev 20090521 11:38:18< euschn> hi 20090521 11:39:03< Ivanovic> hi euschn 20090521 11:43:04-!- yann [n=dwitch@nan92-1-81-57-214-146.fbx.proxad.net] has joined #wesnoth-dev 20090521 11:49:22-!- Noyga [n=lame-z@wesnoth/developer/noyga] has joined #wesnoth-dev 20090521 12:20:27-!- Chusslove [n=caslav@brsg-d9befab4.pool.mediaWays.net] has joined #wesnoth-dev 20090521 12:31:14-!- stikonas [n=and@ctv-213-164-125-83.vinita.lt] has joined #wesnoth-dev 20090521 12:54:27-!- grzywacz [n=grzywacz@wesnoth/developer/grzywacz] has joined #wesnoth-dev 20090521 12:56:47-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Remote closed the connection] 20090521 13:22:13-!- Chusslove [n=caslav@brsg-d9befab4.pool.mediaWays.net] has left #wesnoth-dev ["Kopete 0.12.7 : http://kopete.kde.org"] 20090521 13:25:04-!- stikonas [n=and@193.219.53.75] has joined #wesnoth-dev 20090521 13:26:39< CIA-30> silene * r35781 /trunk/src/ (7 files in 2 dirs): Simplified code, since visible units have their position known, so no need to use a full blown unit_map::iterator for them. 20090521 13:31:00-!- Appleman1234 [n=Appleman@131.181.47.5] has quit [Read error: 110 (Connection timed out)] 20090521 13:47:47-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Remote closed the connection] 20090521 13:48:10-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090521 13:58:10-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Connection timed out] 20090521 14:16:11-!- stikonas [n=and@ctv-213-164-125-83.vinita.lt] has joined #wesnoth-dev 20090521 14:56:28-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090521 14:59:05-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090521 15:05:43-!- BenUrban [n=benurban@unaffiliated/benurban] has quit ["Power failu"] 20090521 15:10:05-!- Reisiger [n=Reisiger@adsl-84-226-27-102.adslplus.ch] has joined #wesnoth-dev 20090521 15:12:28< Reisiger> wesbot seen Crab_ 20090521 15:12:28< wesbot> Reisiger: The person with the nick Crab_ last spoke 15h 6m ago. 12h 44m ago they left with the message: "Leaving." 20090521 15:16:50-!- Noyga [n=lame-z@wesnoth/developer/noyga] has quit [Remote closed the connection] 20090521 15:21:21< CIA-30> mordante * r35782 /trunk/src/tests/gui/test_gui2.cpp: Enable more gui unit tests. 20090521 15:22:03-!- Reisiger [n=Reisiger@adsl-84-226-27-102.adslplus.ch] has quit ["Verlassend"] 20090521 15:38:15-!- Sirp [n=me@wesnoth/developer/dave] has joined #wesnoth-dev 20090521 16:03:12-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090521 16:14:39-!- crimson_penguin [n=ben@64.201.60.216] has joined #wesnoth-dev 20090521 16:16:13-!- ettin_ [n=jorda@wesnoth/developer/ettin] has joined #wesnoth-dev 20090521 16:30:19-!- ettin [n=jorda@wesnoth/developer/ettin] has quit [Read error: 110 (Connection timed out)] 20090521 16:32:38< ilor> mordante: what's the status of the minimap gui2 widget? 20090521 16:33:11< mordante> ilor, YogiHH fixed it a few weeks ago and I polished it a bit afterwards 20090521 16:33:19-!- ardesh_ [n=ardesh@port-92-206-79-227.dynamic.qsc.de] has joined #wesnoth-dev 20090521 16:33:30< ilor> where is it used? save/load dialog? 20090521 16:34:43-!- ardesh [n=ardesh@port-92-206-95-63.dynamic.qsc.de] has quit [Read error: 60 (Operation timed out)] 20090521 16:35:41< mordante> not sure whether it's used there, but at least in the mp_create dialog code 20090521 16:39:15< ilor> ok thanks, off for a while but I'll be back soon 20090521 16:39:20-!- ilor [n=user@wesnoth/developer/ilor] has quit [] 20090521 16:47:01-!- Elvish_Pillage2 [n=eli@68-116-175-221.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090521 16:50:05-!- Elvish_Pillager [n=eli@68-116-175-221.dhcp.oxfr.ma.charter.com] has quit [Read error: 60 (Operation timed out)] 20090521 16:54:25-!- EdB [n=edb@81.117.88-79.rev.gaoland.net] has quit [Remote closed the connection] 20090521 16:55:09-!- Patterner [n=Psyche@g224107164.adsl.alicedsl.de] has joined #wesnoth-dev 20090521 16:55:46< Patterner> my wesnoth is broken... help 20090521 16:56:27< Patterner> r35782 segfaults 20090521 16:57:09< Patterner> TRoW-The_Ka'lian.gz is the culprit 20090521 16:57:36-!- ABCD [n=ABCD@wikipedia/ABCD] has quit [Read error: 60 (Operation timed out)] 20090521 16:57:36< CIA-30> silene * r35783 /trunk/src/ (unit.cpp unit.hpp): Uninlined complicated function. 20090521 16:57:42< CIA-30> silene * r35784 /trunk/src/ (unit.cpp unit.hpp unit_map.cpp): Added current location to unit data. 20090521 16:57:48< CIA-30> silene * r35785 /trunk/src/ (5 files in 2 dirs): Removed redundant parameter from unit::set_standing. 20090521 16:57:53< CIA-30> silene * r35786 /trunk/src/ (mouse_events.cpp unit.cpp unit.hpp): Removed redundant parameters from unit::set_selecting. 20090521 16:58:00< CIA-30> silene * r35787 /trunk/src/ (7 files): Used unit::loc_ for temporary units too. Removed game_display::temp_unit_loc_. Removed legacy unit::set_standing. 20090521 16:58:05< CIA-30> silene * r35788 /trunk/src/ (game_display.cpp unit.cpp unit.hpp unit_animation.cpp): Removed redundant parameters from unit::start_animation, unit::set_idling, unit::redraw_unit, and unit::refresh. 20090521 17:02:26< CIA-30> mordante * r35789 /trunk/src/tests/gui/test_gui2.cpp: Enable more gui unit tests. 20090521 17:05:26< mordante> silene, unit::refresh was inlined on purpose it gave a speedup at some point 20090521 17:08:09< silene> mordante: the current function doesn't look at all like the one that was inlined, it has bloated quite a bit since then; in particular, having it in unit.cpp instead of unit.hpp allows the compiler to inline set_standing and set_idling inside it 20090521 17:13:36< mordante> it didn't grow that much from 1.4, would it help compilers to mark unit::refresh inline? 20090521 17:18:23< Patterner> http://dymer.de/bug35789.txt 20090521 17:19:21< silene> depends what you mean by "helping"; i'm sure compiler designers would feel that forcing the inlining of a function containing 11 calls to other functions isn't that helpful for a compiler 20090521 17:20:58< mordante> Patterner, Shadow_Master worked on the storyscreen recently if you file a bug report, I'll assign it to him 20090521 17:22:04-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090521 17:22:11< mordante> also not sure how helpful it is, but would be nice to profile the speed difference before and after commit r35783 20090521 17:23:32< silene> i'll do a run on Crab_'s testcase 20090521 17:24:30< mordante> ok 20090521 17:27:33-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090521 17:35:07-!- ilor [n=ilor@wesnoth/developer/ilor] has joined #wesnoth-dev 20090521 17:35:43-!- Psyche^ [n=Psyche@e177237051.adsl.alicedsl.de] has joined #wesnoth-dev 20090521 17:36:42< CIA-30> mcshark * r35790 /trunk/projectfiles/ (CodeBlocks/wesnothd.cbp CodeBlocks-SCons/wesnothd.cbp): 20090521 17:36:42< CIA-30> Added src/server/player_network and src/server/room 20090521 17:36:42< CIA-30> WIN-Format for SCons, too (for easier diffs) 20090521 17:37:30< silene> mordante: with the patch, wesnoth is +1.5% faster (needless to say, it's just noise) 20090521 17:37:53< mordante> ok 20090521 17:45:30-!- Patterner [n=Psyche@g224107164.adsl.alicedsl.de] has quit [Read error: 104 (Connection reset by peer)] 20090521 17:45:30-!- Psyche^ is now known as Patterner 20090521 17:49:20-!- CIA-77 [n=CIA@208.69.182.149] has joined #wesnoth-dev 20090521 17:59:41-!- CIA-30 [n=CIA@208.69.182.149.simpli.biz] has quit [] 20090521 18:01:38-!- ilor_ [n=ilor@aul214.neoplus.adsl.tpnet.pl] has joined #wesnoth-dev 20090521 18:02:07-!- ilor [n=ilor@wesnoth/developer/ilor] has quit [Nick collision from services.] 20090521 18:02:11-!- ilor_ is now known as ilr 20090521 18:02:21-!- ilr is now known as ilor 20090521 18:09:24-!- ilor_ [n=ilor@aur115.neoplus.adsl.tpnet.pl] has joined #wesnoth-dev 20090521 18:16:50< ilor_> ok so regarding the unit tests, in scons/ubuntu I get undefined reference to main, I take it there's an easy solution? 20090521 18:17:15< mordante> switch to autotools or cmake ;-) 20090521 18:17:23< mordante> :-P 20090521 18:20:49< loonycyborg> ilor_: It works fine for me on gentoo. I don't remember whether I tried ubuntu. 20090521 18:21:18< CIA-77> silene * r35791 /trunk/src/ (actions.cpp unit.hpp unit_display.cpp): Added a version of unit::get_abilities without the redundant location. 20090521 18:21:26< CIA-77> silene * r35792 /trunk/src/ (9 files in 2 dirs): Added a version of unit::get_ability_bool without the redundant location. 20090521 18:21:30< CIA-77> silene * r35793 /trunk/src/ (dialogs.cpp generate_report.cpp unit.hpp unit_abilities.cpp): Merged unit::ability_tooltips and unit::unit_ability_tooltips. 20090521 18:24:20< ilor_> loonycyborg: http://rafb.net/p/okxFaR13.html is what I get 20090521 18:25:51-!- ilor [n=ilor@wesnoth/developer/ilor] has quit [Read error: 110 (Connection timed out)] 20090521 18:25:57< loonycyborg> Trt with static_test=false 20090521 18:26:02< loonycyborg> *Try 20090521 18:26:29< loonycyborg> Ubuntu should have dynamic boost.test. 20090521 18:34:35-!- zookeeper [n=l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20090521 18:38:21< CIA-77> mordante * r35794 /trunk/src/astarsearch.cpp: Converted the old style casts to c++ style casts. 20090521 18:38:34< CIA-77> mordante * r35795 /trunk/src/network.cpp: Converted the old style casts to c++ style casts. 20090521 18:41:43-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["KVIrc 3.4.2 Shiny http://www.kvirc.net/"] 20090521 18:42:15-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090521 18:46:46-!- loonycyborg [n=kvirc@79.139.246.175] has joined #wesnoth-dev 20090521 18:49:54< CIA-77> mordante * r35796 /trunk/src/tests/gui/test_gui2.cpp: Properly load the language definitions. 20090521 18:50:06< CIA-77> mordante * r35797 /trunk/src/gui/dialogs/ (message.cpp wml_message.cpp): Use the properly layout function. 20090521 18:50:11< CIA-77> mordante * r35798 /trunk/src/gui/widgets/ (window.cpp window.hpp): Remove the unused function twindow::layout. 20090521 18:50:17< CIA-77> mordante * r35799 /trunk/src/gui/widgets/ (window.cpp window.hpp): Remove the unused function twindow::layout2. 20090521 18:50:25< CIA-77> mordante * r35800 /trunk/src/gui/widgets/ (11 files): Remove the unused function twidget::layout_init. 20090521 18:50:31< CIA-77> mordante * r35801 /trunk/src/gui/widgets/ (11 files): Remove the unused function twidget::layout_init2. 20090521 18:53:07< ilor_> ok I've theunit tests compiling, running and failing in network like you guys said. looking into it. 20090521 19:06:48-!- giusef [n=giusef@unaffiliated/giusef] has joined #wesnoth-dev 20090521 19:07:19< CIA-77> mordante * r35802 /trunk/src/network.cpp: Fix a compilation error. 20090521 19:08:47-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090521 19:09:24-!- euschn [n=chatzill@wesnoth/developer/euschn] has quit [Read error: 110 (Connection timed out)] 20090521 19:18:50-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090521 19:39:38-!- loonycyborg [n=kvirc@79.139.246.175] has quit ["KVIrc Insomnia 4.0.0, revision: , sources date: 20090115, built on: 2009/03/07 00:45:02 UTC http://www.kvirc.net/"] 20090521 19:41:37-!- loonybot [n=loonybot@79.139.246.175] has joined #wesnoth-dev 20090521 19:42:33-!- loonycyborg [n=sergey@79.139.246.175] has joined #wesnoth-dev 20090521 19:53:32< esr> I need help with some silly syntactic problems in a C++ class declaration. Any C++ experts handy? 20090521 19:54:15< loonycyborg> Yes. There are plenty of them here :) 20090521 19:58:11< esr> In http://rafb.net/p/8vZmAa23.html, I'm trying to refactor load_game_dialog into a wrapper aroundf a class, because I will then need to factor out the code for refreshing the selection list into a method so I can use it as a callback. I'm having some issues with C++'s rebarbative class syntax that I don't understand. Help? 20090521 20:00:20< ilor_> esr: have you got a WIP bit of code that gives you errors? that paste is rather big 20090521 20:01:40< esr> ilor_: All the errors are in the game_loader class definition. In included the whole things so it could be test-compiled. 20090521 20:04:59< loonycyborg> You forgot a semicolon at line 556 20090521 20:06:43 * ilor_ was about to write that 20090521 20:06:55< loonycyborg> Also there's an unneeded semicolon after initializer list in game_loader's constructor. 20090521 20:08:06< ilor_> 593 is a typo lemenu_ instead of lmenu_ 20090521 20:08:09< Patterner> how did you get the C++ from that paste anyway? 20090521 20:08:35 * loonycyborg copy/pasted into gvim. 20090521 20:09:19< ilor_> esr: there's a bunch of lmenu_/lemenu_ errors in general 20090521 20:12:37< ilor_> game_loader::load_game is using some undeclared variables 20090521 20:12:58< ilor_> there's also a semicolon missing at the end of the class declaration 20090521 20:13:17-!- EdB [n=edb@188.12.95-79.rev.gaoland.net] has joined #wesnoth-dev 20090521 20:27:15-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Read error: 54 (Connection reset by peer)] 20090521 20:27:58< ilor_> mordante: when were these sendfile unit tests known to pass (rev#)? 20090521 20:28:30-!- stikonas [n=and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20090521 20:29:33< mordante> ilor_, not sure, IIRC some when last weekend, I think I left something in the log 20090521 20:30:43< ilor_> I tried some random revisions and haven't yet found one in which it would pass 20090521 20:32:17< loonycyborg> ilor_: Could you pass the full test run log so we could ensure that it's the test we're looking for? 20090521 20:32:54< loonycyborg> I've just made unit tests work under ubuntu, but they get a segfault during running. 20090521 20:33:45< mordante> I could do a bisect, but that will be later tonight or tomorrow, compiling a lot of cleanup patches at the moment 20090521 20:33:49< loonycyborg> Actually, they were already working on ubuntu, I just tried with latest HEAD. 20090521 20:34:25< mordante> stripping away the 3 versions of the layout code so the current working code remains 20090521 20:34:35< mordante> so only* 20090521 20:34:42< ilor_> loonycyborg: will take me a sec, wait 20090521 20:38:54-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090521 20:46:41< ilor_> loonycyborg: http://rafb.net/p/yGk7uD25.html 20090521 20:46:51-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090521 20:48:20< CIA-77> silene * r35803 /trunk/src/unit.hpp: Fixed name generation with respect to unspecified WML gender. 20090521 20:49:05< loonycyborg> ilor_: unknown location(0): fatal error in "test_multi_sendfile": network::error: Client disconnected <- yes. That's the error. 20090521 20:49:59< loonycyborg> *the right error 20090521 21:00:57-!- Noyga [n=lame-z@wesnoth/developer/noyga] has joined #wesnoth-dev 20090521 21:03:57< ilor_> loonycyborg, this is what I get in r35729 (before any of my changes to the network code): http://rafb.net/p/kyTmZ677.html 20090521 21:07:12< loonycyborg> I'm getting only one client disconnected error on gentoo. 20090521 21:07:56< loonycyborg> On ubuntu it doesn't get to run that test due to a segfault.. 20090521 21:07:56-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090521 21:10:36-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090521 21:10:56-!- Chusslove [n=Chusslov@brsg-d9befab4.pool.mediaWays.net] has joined #wesnoth-dev 20090521 21:12:25< CIA-77> mordante * r35804 /trunk/src/gui/widgets/ (10 files): 20090521 21:12:25< CIA-77> Remove the unused function twidget::layout_fit_width. 20090521 21:12:25< CIA-77> Also remove the unused flags and forwarded functions in tgrid::tchild. 20090521 21:12:41< CIA-77> mordante * r35805 /trunk/src/gui/widgets/ (control.cpp control.hpp widget.hpp): Remove the unused function twidget::layout_shrink_width. 20090521 21:12:45< CIA-77> mordante * r35806 /trunk/src/gui/widgets/ (label.hpp widget.hpp): Remove the unused function twidget::can_shrink_width. 20090521 21:12:52< CIA-77> mordante * r35807 /trunk/src/gui/widgets/widget.hpp: Remove the unused function twidget::layout_shrink_height. 20090521 21:12:57< CIA-77> mordante * r35808 /trunk/src/gui/widgets/ (7 files): 20090521 21:12:57< CIA-77> Remove the unused function twidget::layout_use_vertical_scrollbar. 20090521 21:12:57< CIA-77> Also remove some exta helpers in tgrid and tgrid::tchild. 20090521 21:13:01< CIA-77> mordante * r35809 /trunk/src/gui/widgets/ (7 files): 20090521 21:13:01< CIA-77> Remove the unused function twidget::layout_use_horizontal_scrollbar. 20090521 21:13:01< CIA-77> Also remove some exta helpers in tgrid and tgrid::tchild. 20090521 21:13:07< CIA-77> mordante * r35810 /trunk/src/gui/widgets/ (8 files): Remove the unused function twidget::has_vertical_scrollbar. 20090521 21:13:13< CIA-77> mordante * r35811 /trunk/src/gui/widgets/ (7 files): Remove the unused function twidget::has_horizontal_scrollbar. 20090521 21:13:18< CIA-77> mordante * r35812 /trunk/src/gui/widgets/ (9 files): 20090521 21:13:18< CIA-77> Remove the unused function twidget::layout_wrap. 20090521 21:13:18< CIA-77> Also remove the forwarded function in tgrid::tchild. 20090521 21:13:43< Crab_> silene: regarding "what's the point of the proxy classes?". The original problem was: I want to create a composite ai, this ai consists of a number of pieces, each piece can contain child pieces, etc. 20090521 21:13:45< Crab_> For example "standard ai piece -> ai_composite piece -> candidate_action_evaluation_loop piece -> candidate_action piece". Each piece needs access to functions of all it's parent pieces. 20090521 21:15:30< Crab_> and parent pieces should be known only by interface (to allow me to reuse a child piece with different implementations of parents) 20090521 21:15:54< silene> Crab_: you don't need proxy classes for that; or at least not the way you implemented them; a proxy class that contains a reference to an object of the same type as the interface of the proxy class is plain useless 20090521 21:16:55< loonycyborg> ilor_: Is the machine you're running them on connected to internet? Those checks seem to connect to wesnoth.org 20090521 21:17:39< ilor_> loonycyborg: yes, I'm running them on this bix 20090521 21:17:41< ilor_> *box 20090521 21:17:41< silene> Crab_: every time you are using a proxy class, you could use a plain reference to the old class, it would be fastest and clearest and it would provide _exactly_ the same features 20090521 21:18:45< Crab_> this solution was considered, too. but won't it require me to write "readonly_context_.get_side()" each time instead of just get_side() ? 20090521 21:18:55< Crab_> (in child pieces) 20090521 21:19:19-!- Dopppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 20090521 21:19:23-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [Connection reset by peer] 20090521 21:19:39< Crab_> and note that some child pieces need to *override* the implemenations in the parent 20090521 21:20:00< silene> Crab_: why? if you want to write just get_side(), define a get_side method; you don't need a proxy class for that 20090521 21:20:10< ilor_> loonycyborg: currently I'm bisecting for the cause of the segfault, should be done in a few mins 20090521 21:20:44< silene> Crab_: yes, they do, but they don't need to override the implementation of the proxy 20090521 21:22:05< Crab_> silene: imagine: "parent -> child -> grandchild". imagine that some child implementations will need to implement get_side differently. Question: what should grandchild call ? "parent_.get_side()" or "child_.get_side()" ? 20090521 21:22:53< Crab_> and, regarding " define a get_side method; you don't need a proxy class for that". Where it should be defined ? in each child, with code like get_side() { return parent_.get_side(); } ? 20090521 21:23:48< Crab_> I am not opposed to any different solution then mine. In fact, I'd love to have a simpler solution, but with all the good features my current solution has. 20090521 21:24:58-!- EdB [n=edb@188.12.95-79.rev.gaoland.net] has quit [Remote closed the connection] 20090521 21:25:51< silene> Crab_: how does proxy classes solve your parent->child->grandchild issue? the compiler won't even let you compile a class that inherents from two proxies 20090521 21:25:58< silene> inherits* 20090521 21:26:05-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090521 21:27:49< esr> ilor: thanks, I appear to be converging on code that will actually compile. 20090521 21:29:55< silene> Crab_: i can't see those good features in your current implementation; as far as i can tell, the proxy classes make the code more cumbersome without bringing any benefit 20090521 21:30:10< Crab_> silene: I do not need to inherit from two proxies. grandchild inherits from grandchild_context interface. grandchild_context inherits from child_context, child contexts inherits from parent_context. 20090521 21:30:14< Crab_> So, grandchild (for code to compile) MUST implement all pure virtual methods of grandchild_context, and (from grandchild), they can be called without any qualifiers. then (in order to not implement all the methods of child_context (and parent_context), I also make grandchild_context inherit from child_context_proxy. 20090521 21:30:27-!- Doppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090521 21:30:41< Crab_> this allows me (in grandchild) to only implement all new methods I need (and the rest will be called from the proxy). 20090521 21:31:02< Crab_> the job of the proxy is to 'change the inheritance to a composition' 20090521 21:31:46< Crab_> so, I can inherit from a proxy and 'insert a specific implementation' at runtime 20090521 21:32:00< Crab_> this allows for runtime polymorphism, of sorts. 20090521 21:32:41< Crab_> and, at the same moment, makes child code nicer - it can access all methods without delegation 20090521 21:32:49< Crab_> since delegation will be handled by a proxy 20090521 21:33:25-!- Sir_Konrad [n=tjb@adsl-074-228-157-096.sip.btr.bellsouth.net] has joined #wesnoth-dev 20090521 21:33:44< Crab_> so, child will not call (if I used composition) parent_context_->get_side(), but child will call just get_side() 20090521 21:33:49-!- cjhopman [n=chris@wesnoth/developer/cjhopman] has joined #wesnoth-dev 20090521 21:34:04< silene> Crab_: but then, why are all the methods of a proxy virtual? if your goal was just to simplify access to delegated members, you don't need virtual members for that 20090521 21:34:33< Crab_> yes, one of main goals was to simplify access to delegated members. 20090521 21:34:48< Crab_> note that child_proxy inherits from parent_proxy 20090521 21:35:24< Crab_> so, in principle, child proxy can override a parent_proxy method 20090521 21:36:35< silene> again, you don't need virtual members for overriding parent methods 20090521 21:36:42< Crab_> (simplifying access to delegated members will make porting default ai code to composite ai much easier, and independence from the implementation details will allow me to use the same client code with 2+ versions of some parent context.) 20090521 21:38:33-!- Elvish_Pillager [n=eli@68-116-175-221.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090521 21:38:49< Crab_> silene: " you don't need virtual members for overriding parent methods". ok, in that case, I can remove virtual specifiers from proxy methods. 20090521 21:43:24< silene> Crab_: no, in fact, in your case, i think you need it; your code is really too convoluted 20090521 21:45:18< Crab_> I can try, and see. proxy inherits from a corresponding context, so, the method is marked as virtual at least once. I don't remember exactly, if this allows me to drop virtual specifiers in derived classes in c++ 20090521 21:45:55< ilor_> loonycyborg: I'm unable to do any meaningful work; I'm getting inconsistent results when I run test a few times 20090521 21:46:01< silene> it may be better to just forget about c++ and to do the inheritance by hand; that is, store a table with pairs object/member address and have a proxy delegate to it, then each constructor would override the table 20090521 21:46:58< loonycyborg> ilor_: I'm getting only one "disconnected" error consistently and currently bisecting it. 20090521 21:47:04< Crab_> what are the advantages ? 20090521 21:47:20< ilor_> loonycyborg: any idea why I'm getting more? 20090521 21:47:51< loonycyborg> Perhaps ubuntu's boost.test is buggy? 20090521 21:48:03-!- crimson_penguin [n=ben@64.201.60.216] has joined #wesnoth-dev 20090521 21:49:05< esr> ilor: if you're still there, I'm getting "660: error: expected unqualified-id before ‘}’ token" from http://rafb.net/p/8YvIZA28.html and don't understand what the compiler is trying to tell me. 20090521 21:52:11< ilor_> esr: you need to end the class decl with a semicolon, so "class foo { ...... };" not "class foo{ ..... }" 20090521 21:52:24< silene> Crab_: the main advantage would be that, instead of having lots of sibling classes (and the corresponding compiler warning about collapsing diamonds), there is just one single base class, which is responsible for registering and delegating the calls 20090521 21:53:30< loonycyborg> wesbot: log r35734 20090521 21:53:31< wesbot> ilor * r35734 : Fix a networking problem when trying to send data to a disconnected socket 20090521 21:53:36< wesbot> URL: http://svn.gna.org/viewcvs/wesnoth?view=rev&rev=35734 20090521 21:53:56< loonycyborg> bisect revealed that this caused "disconnected" test failure. 20090521 21:54:52-!- Elvish_Pillage2 [n=eli@68-116-175-221.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090521 21:55:24< ilor_> can't say I'm very surprised, I'll try looking at the code some more today and maybe figure out a proper fix 20090521 21:55:40< Crab_> silene: note that the compiler warning are irrelevant here - 'collapsing diamonds' are intended behavior, so the warnings can be disabled in that case. 20090521 21:56:07< Crab_> silene: will think a bit now about 'one single base class' way 20090521 21:57:39-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["KVIrc 3.4.2 Shiny http://www.kvirc.net/"] 20090521 21:57:53< Crab_> silene: So, this class will know about all possible sibling interfaces, and will do the appropriate delegations ? 20090521 21:58:32< silene> Crab_: just to clarify, when i say one single base class, there are still as many classes as context (so 3 in your case, which inherits from each other), but the proxy classes are merged into them 20090521 21:59:55< Crab_> and, if we merge each proxy class into the corresponding context, all the corresponding methods in that context will cease to be pure virtual ? 20090521 22:00:03< silene> in other words, these base classes provide a set_context method which is used to override the methods they delegate 20090521 22:01:09< silene> Crab_: yes, from the compiler point of view they are no longer virtual 20090521 22:02:25< Crab_> silene: and what interface will be implemented by context implementations (which can be injected using set_context) ? 20090521 22:03:36< silene> Crab_: they are their own interface; give me a few seconds to type an example with get_side, it should be clearer (to me too) 20090521 22:03:44< Crab_> ok. 20090521 22:06:38< Crab_> I've though about 'merge the proxies into the interface', too but I thought about the set_context() parameter implementing the same context interface (and this leads to hard-to-catch errors when someone forgets about implementing one of the methods in the said context -> giving an infinite loop). Your way seems to be a bit different, so I'll wait and see how it turns out :) 20090521 22:07:04< Crab_> s/though/thought 20090521 22:13:35-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Read error: 110 (Connection timed out)] 20090521 22:14:42-!- Dopppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090521 22:16:46-!- happygrue [n=George@wesnoth/developer/wintermute] has joined #wesnoth-dev 20090521 22:17:54< silene> Crab_: sorry, i can't get anything interesting, i'm no longer sure it is possible, so your proxy classes may be the way to do it; here is what i was considering: http://wesnoth.pastebin.com/d608fdedb 20090521 22:18:58< Crab_> I'll take a look 20090521 22:19:18< silene> (the &get_side should be c->target_fun_ obviously) 20090521 22:23:12< Crab_> silene:   void side_context::set_side_context(const side_context *c) is evil. since, if the delegate is also side_context, then the compiler will not warn us if we, say, forget to implement 'side_number get_side() const' in the delegate 20090521 22:23:44< Crab_> since 'side_number get_side() const' is not pure virtual in side_context 20090521 22:25:16-!- giusef [n=giusef@unaffiliated/giusef] has quit ["exit (-1);"] 20090521 22:26:50< silene> i don't think it is that evil; a complete version of side_context would obviously provide a dummy version of get_side 20090521 22:27:59-!- maxy [n=maxy@80-219-0-199.dclient.hispeed.ch] has quit [] 20090521 22:28:22< Crab_> silene: what will this dummy version do? 20090521 22:28:28-!- Doppp [n=aassdf@c-67-171-96-240.hsd1.pa.comcast.net] has quit [Connection timed out] 20090521 22:28:33< Crab_> and we lose compile-time checking... 20090521 22:28:48-!- loonybot [n=loonybot@79.139.246.175] has joined #wesnoth-dev 20090521 22:28:57< esr> mordante: around? 20090521 22:29:01< silene> nothing, just return 0 for instance 20090521 22:29:47-!- loonycyborg [n=sergey@79.139.246.175] has joined #wesnoth-dev 20090521 22:30:00< silene> Crab_: which compile-time checking? you mean the compiler reminding you that you haven't written a given function 20090521 22:30:01< Crab_> this will lead to strange bugs :) throwing a game_error is better . (but compile-time checking is even better - with 'pure virtual' functions the compiler will not allow to forget about them) :) 20090521 22:30:04< Crab_> yes 20090521 22:30:27< mordante> esr, yes 20090521 22:31:04< Crab_> for example, if 'candidate_possible_moves' is forgotten, and a dummy version returns, say, an empty move_map, this can bite in a far enough piece of code. 20090521 22:31:14< silene> Crab_: i consider this kind of compile-time checking useless; think about constructors calling abstract methods, even if you provided the method and the compiler is happy, it will still be a crash 20090521 22:31:58< Crab_> silene: constructor calling 'abstract or virtual method' is, in some cases, a warning. 20090521 22:32:35< Crab_> I've had to split formula_ai initialization away from constructor for this very reason - it called virtual function current_team 20090521 22:32:45< silene> Crab_: it is a warning only in the single inheritance case; i don't know of a compiler that properly warns in the multiple inheritance case 20090521 22:33:17< esr> mordante: I'm having another I-hate-C++ moment, alas. In http://rafb.net/p/mWaktI41.html I have attempted to refactor je guts of load_game_dialog into a class so I can write the callback method for the new button. It's segfaulting; something is wrong with the initialization of the lmenu_ member, but I can't tell whether I've tripped over some obscure screwage in C++ or I'm using the GUI... 20090521 22:33:19< esr> ...API incorrectly. 20090521 22:33:58< esr> Does anything jumpp out at you when yo look at the game_loader class? 20090521 22:34:24< Crab_> silene: so, in ai, i'll just move initialization to on_create method 20090521 22:35:06< loonycyborg> esr: bool *show_replay_; <- that jumps at me :P 20090521 22:35:13< mordante> esr, where does it segfault? 20090521 22:36:05< esr> Trace seems to indicate line 634. 20090521 22:36:30< esr> loonycyborg: What looks wrong about it? 20090521 22:36:30 * loonycyborg wonders why would one want to have pointers to bools as class members.. 20090521 22:36:42< Crab_> silene: note that gcc warned about 'constructor calling virtual method' in my case 20090521 22:37:07< silene> Crab_: for the record, here is the tested version: http://wesnoth.pastebin.com/d532cb199 ; the "not getting anything interesting" comes from the need for the cast 20090521 22:37:19< esr> loonycyborg: Oh, that's from the un-refasctored code. It's for exporting the bool value out of the dialog on exit. 20090521 22:38:07< mordante> esr, no idea, but you use the old gui stuff, which can't be combined with the new stuff in one dialog 20090521 22:39:09-!- Sir_Konrad1 [n=tjb@adsl-074-228-157-096.sip.btr.bellsouth.net] has joined #wesnoth-dev 20090521 22:39:34< esr> I'm not trying to use any particular GUI yet, just refactor the existing code., Are you telling me I won't be able to set up a checkbox callback in this class? 20090521 22:41:34< Crab_> silene: ok. I see. still, I consider that 'we missed a method and a it compiled ok' is a problem. 20090521 22:41:47-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 60 (Operation timed out)] 20090521 22:41:58< Crab_> but of course it can be offset by logging\ 20090521 22:43:20< silene> in practice i don't see how we could miss a method; every method will be implemented at least by the default ai, and every ai will ultimately delegate to the default ai; did i miss something? 20090521 22:43:44< Crab_> silene: 'every method will be implemented at least by the default ai' - wrong. 20090521 22:43:56< mordante> esr, I'm not sure how it was done with the old gui, so might be possible might not be 20090521 22:44:04< Crab_> contexts 'grow' with each inheritance 20090521 22:44:25< Crab_> so, some component which reuses-default-ai-stuff, will have more methods of its own 20090521 22:44:35< Crab_> each next context is wider, and has more functions 20090521 22:44:41-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090521 22:45:03< silene> Crab_: sure, but unless i read the code incorrectly, the default ai inherits from the biggest context 20090521 22:45:20< esr> mordante: The refactoringg step has to happen anyway, I think, because in either GUI the button will have to set a callback to tregenerate the item list. A straight proicedural implementation would have to duplicate the list-refresh method. 20090521 22:45:29< Crab_> silene: that's because there's 4+ new contexts waiting to be commited 20090521 22:45:57< esr> But I'm blocked on some low-level quirk of C++ that I don't understand, and that makes me crazy. 20090521 22:46:12< Crab_> silene: so, you're right about 'the default ai inherits from the biggest context'. but this will change. 20090521 22:46:32< mordante> I'm not disagreeing with that part, only I'm not too familiar with the old gui, nor do I intent to get familiar with it ;-) 20090521 22:47:28-!- Sir_Konrad1 [n=tjb@adsl-074-228-157-096.sip.btr.bellsouth.net] has quit [Remote closed the connection] 20090521 22:48:40< Crab_> one of the lines is something like: side_context -> readonly_context -> readwrite_context -> ai_default_context -> ai_composite_context -> candidate_action_evaluation_loop_context -> candidate_action_context 20090521 22:49:19-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090521 22:49:51< Crab_> another is 'side_context -> readonly_context -> readwrite_context -> ai_default_context -> ai_formula_context'. - this one will allow to rewrite formula_ai functions in a more clean way - they'll be just 'in a formula ai context - so, they will have access to all ai_formula and ai_default (and other) stuff. 20090521 22:51:37< Crab_> silene: night 20090521 22:52:37-!- Crab_ [i=crab@wesnoth/developer/crab] has quit ["Leaving."] 20090521 22:54:17-!- Noyga [n=lame-z@wesnoth/developer/noyga] has quit ["Quitte"] 20090521 22:55:44-!- Sir_Konrad [n=tjb@adsl-074-228-157-096.sip.btr.bellsouth.net] has quit [Read error: 110 (Connection timed out)] 20090521 22:56:32< mordante> I'm off night 20090521 22:57:09-!- mordante [n=mordante@wesnoth/developer/mordante] has quit ["Leaving"] 20090521 23:00:21-!- Dopppp is now known as Doppp 20090521 23:00:28-!- cjhopman [n=chris@wesnoth/developer/cjhopman] has quit [Remote closed the connection] 20090521 23:04:12-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 104 (Connection reset by peer)] 20090521 23:04:28-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090521 23:09:53-!- ABCD [n=ABCD@wikipedia/ABCD] has joined #wesnoth-dev 20090521 23:23:45-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090521 23:35:51-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090521 23:44:29-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has left #wesnoth-dev [] 20090521 23:53:28-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit ["night all"] 20090521 23:55:35-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [] 20090521 23:59:10< esr> xgrep --- Log closed Fri May 22 00:00:37 2009