--- Log opened Sun Jun 06 00:00:54 2010 20100606 00:01:13< Crab_> gabba: yes, that code shouldn't work with gcc. it doesn't know where vtable is to be located, so it complains about the destructor. 20100606 00:02:16< Crab_> gabba: but it *should* go away if you make a non-inline ctor or dtor. 20100606 00:03:22< gabba> ok, thanks for looking. So if I understand well, the visitor.o that gets generated from visitor.cpp (which I'm gonna add right now) holds the vtable address, and the other object files need to find it somehow at link time. 20100606 00:05:23< Crab_> the compiler need to put that vtable *somewhere*, but atm it cannot find a suitable place for it.. 20100606 00:05:37< Crab_> after you'll add visitor.cpp, there will be a suitable place (visitor.o) 20100606 00:06:18< gabba> gotcha 20100606 00:06:30-!- fendrin [~fabi@wesnoth/developer/fendrin] has quit [Remote host closed the connection] 20100606 00:08:17< gabba> yup, thanks Crab_, it compiles now 20100606 00:11:33< Crab_> great 20100606 00:12:17< CIA-86> gabba * r43188 /trunk/src/whiteboard/ (action.hpp manager.cpp manager.hpp move.hpp): Whiteboard: (very) basic comments for the classes. 20100606 00:12:24< CIA-86> gabba * r43189 /trunk/src/whiteboard/move.hpp: Whiteboard: Include guard correction 20100606 00:12:32< CIA-86> gabba * r43190 /trunk/src/ (15 files in 2 dirs): Whiteboard: Visitor subclasses, and completion of the visitor pattern 20100606 00:14:52-!- Blitzmerker [~Blitzmerk@p3EE08563.dip0.t-ipconnect.de] has quit [Quit: Verlassend] 20100606 00:15:29-!- stikonas [~and@bcm-131-111-247-104.girton.cam.ac.uk] has joined #wesnoth-dev 20100606 00:15:29-!- stikonas [~and@bcm-131-111-247-104.girton.cam.ac.uk] has quit [Changing host] 20100606 00:15:29-!- stikonas [~and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20100606 00:26:20-!- zookeeper [~l@wesnoth/developer/zookeeper] has quit [] 20100606 00:29:59-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20100606 00:32:53-!- stikonas [~and@wesnoth/translator/stikonas] has quit [Ping timeout: 240 seconds] 20100606 00:49:50-!- Bocom_ [~Bocom@c-b7cfe255.013-31-6b736412.cust.bredbandsbolaget.se] has joined #wesnoth-dev 20100606 00:50:36-!- Bocom [~Bocom@c-b7cfe255.013-31-6b736412.cust.bredbandsbolaget.se] has quit [Read error: No route to host] 20100606 00:55:54-!- drusepth [~drusepth@dhcp-077-249-151-209.chello.nl] has quit [Ping timeout: 258 seconds] 20100606 01:08:21-!- Appleman1234 [~Appleman1@CPE-60-226-180-71.qld.bigpond.net.au] has joined #wesnoth-dev 20100606 01:09:05-!- billynux [~billy@wesnoth/developer/billynux] has joined #wesnoth-dev 20100606 01:11:41-!- gabba [~gabba@wesnoth/developer/gabba] has left #wesnoth-dev [] 20100606 01:13:52-!- Appleman1234 [~Appleman1@CPE-60-226-180-71.qld.bigpond.net.au] has quit [Ping timeout: 265 seconds] 20100606 01:20:11-!- stikonas [~and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20100606 01:21:04-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [] 20100606 01:30:20 * Espreon wonders when alink will return. 20100606 01:35:20-!- noy [~Noy@wesnoth/developer/noy] has quit [Ping timeout: 272 seconds] 20100606 01:35:40-!- allefant [~elias@allegro/developer/allefant] has quit [Quit: Leaving] 20100606 02:06:07-!- shiremct [~47391d44@gateway/web/freenode/x-hxcpubmwsspeswkr] has joined #wesnoth-dev 20100606 02:06:21-!- shiremct [~47391d44@gateway/web/freenode/x-hxcpubmwsspeswkr] has quit [Client Quit] 20100606 02:06:30 * ABCD also wonders about that :) 20100606 02:08:29 * billynux wonders if he uses the "me" name @ gna just to bug us into thinking we sent an email to ourselves 20100606 02:08:49< billynux> (every time he commits something) 20100606 02:10:57< Espreon> If I had alink, I could have the final fake dashes killed. 20100606 02:12:00< Espreon> Oh shit! I screwed up! I put em dashes where there should have been horizontal bars! 20100606 02:12:50< Espreon> ... and yes, there is a visual difference in DejaVu Sans. 20100606 02:15:58-!- loonycyborg [~sergey@wesnoth/developer/loonycyborg] has quit [Quit: Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz] 20100606 02:16:28-!- loonybot [~loonybot@wesnoth/bot/loonybot] has quit [Remote host closed the connection] 20100606 02:19:05-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20100606 02:25:55-!- stikonas [~and@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20100606 02:30:17< Espreon> Hmmmm... I must have misread... now I don't know what to do... 20100606 02:30:23< Espreon> Oh wellz. 20100606 02:33:02< Espreon> Meh, OK, I was right. I screwed up. 20100606 02:34:40-!- billynux [~billy@wesnoth/developer/billynux] has quit [Quit: Leaving] 20100606 02:35:53< CIA-86> espreon * r43191 /trunk/ (data/hardwired/tips.cfg utils/pofix.py): Fixed a screw up in which em dashes were being used instead of horizontal bars. 20100606 02:39:55-!- Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20100606 02:42:36-!- ancestral [~ancestral@12.145.225.25] has joined #wesnoth-dev 20100606 02:43:31-!- Bocom_ [~Bocom@c-b7cfe255.013-31-6b736412.cust.bredbandsbolaget.se] has quit [Ping timeout: 252 seconds] 20100606 02:46:16-!- Bocom [~Bocom@c-b7cfe255.013-31-6b736412.cust.bredbandsbolaget.se] has joined #wesnoth-dev 20100606 02:49:46< Upthorn> hey, is there any way to do string processing in WML? 20100606 02:50:52< Espreon> What do you mean? 20100606 02:50:58< Upthorn> like checking to see if a string starts with a certain character 20100606 02:51:39< Espreon> I don't think so. 20100606 02:52:09< Upthorn> the wiki isn't telling me about any way to do this, so you're probably right 20100606 02:59:25< ABCD> the obvious question is why you would want to do that :) 20100606 02:59:58< shadowmaster> maybe embedded lua can do it? 20100606 03:00:00< Upthorn> oh it'd be useful to make a global variable macro more flexible 20100606 03:00:15< Upthorn> oh huh, I bet I could do it in lua 20100606 03:00:48< shadowmaster> I have wanted for a long time to extend WML's ability to manipulate strings 20100606 03:01:02< shadowmaster> but the arrival of Lua support killed my inspiration 20100606 03:01:42< shadowmaster> it killed my inspiration for pretty much any WML feature :| 20100606 03:01:52< Upthorn> it would be nice for content creators to have a GLOBAL_VAR macro with params GLOBAL LOCAL NAMESPACE 20100606 03:02:14< ABCD> what I would really like to see is the painting code sped up to the point where I can't see it happening any more :D 20100606 03:02:49< shadowmaster> ABCD: I think we hit the top limit for that 20100606 03:02:51< Upthorn> where they can specify that if namespace is left blank it gets filled with a default one, if namespace starts with a ^ or a . it gets appended to that default one, and if namespace starts with any other character it replaces it 20100606 03:03:12< shadowmaster> and from this point onwards, it can only get slower 20100606 03:03:16< ABCD> shadowmaster: well, it's *painfully* slow 20100606 03:03:18< ABCD> here 20100606 03:03:22< shadowmaster> (unless...OpenGL!) 20100606 03:03:32< ABCD> to the point where the game is almost unplayable at times 20100606 03:03:54< shadowmaster> the only thing I can recommend is disabling as many animations as you can 20100606 03:04:02 * Upthorn currently testing what happens if a macro is called without all parameters 20100606 03:04:10< shadowmaster> Upthorn: won't work 20100606 03:04:27< Upthorn> I don't suppose macros can be overloaded, either 20100606 03:04:33< shadowmaster> it causes a warning on stderr and several more visible yet ridiculous side-effects 20100606 03:04:38< shadowmaster> and no, macros can't be overloaded 20100606 03:05:34< shadowmaster> I once thought about doing sometihng like that but then I thought "well, these are macros; in a preprocessor; these aren't functions" 20100606 03:06:02< Upthorn> so it's impossible to call a macro with an empty parameter 20100606 03:06:13< ABCD> it seems to take about 1000ms to repaint the screen once while scrolling here :( 20100606 03:07:17< Upthorn> does changing the game resolution have any effect that? 20100606 03:07:22< Upthorn> the paint speed that is 20100606 03:07:26< shadowmaster> Upthorn: well, if you have a macro FOO A B, you can use {FOO () ("contentofB")} so that A resolves to an empty string 20100606 03:07:49< Crab_> Upthorn: yes, impossible. but you can define several different macros, and make each of them accept different number of parameters. 20100606 03:07:49< Upthorn> ok 20100606 03:07:50-!- ancestral [~ancestral@12.145.225.25] has quit [Quit: ancestral] 20100606 03:08:15< ABCD> I only have 2 options for resolution here, for some reason - 1024x768 and 1440x900 - I'm on 1024x768 20100606 03:08:24< ABCD> so I can't make it any smaller 20100606 03:08:44< Upthorn> I swear mine has an 800x600 option 20100606 03:08:56< Upthorn> also a 1280x1024 20100606 03:09:10< ABCD> mine doesn't - it *only* has those two options 20100606 03:09:15< Upthorn> or are you saying your hardware has issues with other resolutions? 20100606 03:09:32-!- stikonas [~and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20100606 03:09:46< ABCD> I'm in windowed mode, and those are the only two options in the box 20100606 03:10:03< shadowmaster> in windowed mode you can just resize the window 20100606 03:10:14< shadowmaster> if your window manager allows that, that is; most window managerswell 20100606 03:10:17< Upthorn> yeah but it doesn't react very well to do that 20100606 03:10:24< Upthorn> well on windows it doesn't 20100606 03:10:59< ABCD> It doesn't seem to react well on Linux either 20100606 03:11:06< Upthorn> you can change the resolution manually in the config, though 20100606 03:11:24< Upthorn> I haven't had any issues with that 20100606 03:11:50-!- un214 [~quassel@adsl-75-45-4-19.dsl.scrm01.sbcglobal.net] has joined #wesnoth-dev 20100606 03:11:51< shadowmaster> resizing the window may not work in some game contexts 20100606 03:12:10-!- un214 [~quassel@adsl-75-45-4-19.dsl.scrm01.sbcglobal.net] has quit [Remote host closed the connection] 20100606 03:12:13< shadowmaster> but it usually works well in the gamemap context (with units, etc.) when there are no open dialogs 20100606 03:13:08 * Upthorn gives the () empty parameter a test. 20100606 03:13:22< ABCD> there's still a large amount of tearing when scrolling, though :( 20100606 03:13:42< shadowmaster> I get that too 20100606 03:13:46< shadowmaster> other devs don't 20100606 03:14:01< ABCD> therefore it's in your imagination? :D 20100606 03:14:03< shadowmaster> in other words, I can't do anything but complain 20100606 03:14:06< shadowmaster> yeah 20100606 03:14:13< Upthorn> I personally haven't seen any tearing 20100606 03:14:42< ABCD> here's an easy way to get plenty - play on X11-over-SSH connection :D 20100606 03:14:57< shadowmaster> obviously, very few people would try on an unaccelerated X server using fbdev over a VESA framebuffer console 20100606 03:15:03< Upthorn> well that's probably not the game that's tearing then 20100606 03:15:04< shadowmaster> on Linux 20100606 03:15:12< shadowmaster> on a 1.3 GHz Celeron 20100606 03:15:20< shadowmaster> with 256 MB of RAM 20100606 03:15:21< Upthorn> eww celeron 20100606 03:15:25< Espreon> Indeed. 20100606 03:15:51< ABCD> how about what I'm stuck with - a X server running on Windows, connected via ssh to a coLinux instance *on the same machine* (so no real network latency) 20100606 03:16:05< shadowmaster> but I get tearing on an accelerated X server on radeon using Linux on a dual-core 2 GHz AMD Athlon X2 with 4 GB of RAM! 20100606 03:16:45< shadowmaster> well, 3.7 20100606 03:17:04< shadowmaster> 256 MB of RAM are "donated" (as if) to the graphics controller 20100606 03:17:23< shadowmaster> still Wesnoth performs poorer than heavy OpenGL clients 20100606 03:19:02< shadowmaster> part of the problem that goes away after a while seems to be related to how the terrain builder works 20100606 03:19:16< shadowmaster> I feel that it's caching images as they are required for rendering on the screen 20100606 03:19:28< shadowmaster> instead of caching them when the scenario starts 20100606 03:20:20< shadowmaster> later performance improves 20100606 03:20:42< shadowmaster> still below the 40 fps mark though 20100606 03:21:01< ABCD> is there a way to display the fps? :D 20100606 03:21:16< shadowmaster> this is just in the test scenario. I don't want to know what would happen if I tried on eg a huge water map filled with bats 20100606 03:21:19< shadowmaster> ABCD: :debug :fps 20100606 03:21:43< shadowmaster> alternatively, start wesnoth with the --fps switch 20100606 03:22:07< shadowmaster> anyway, it seems to have improved since the last time I ran it 20100606 03:22:23< Espreon> No, you don't need to be in debug mode. 20100606 03:22:47< shadowmaster> I wonder if it's because I recompiled a preemptible kernel 20100606 03:23:08< ABCD> isn't that the default? 20100606 03:23:21< shadowmaster> no 20100606 03:23:49< shadowmaster> not for Debian at least. Or not in the config from which I've b¿forked my subsequent kernels (2.6.26) 20100606 03:24:30< ABCD> I seem to be getting about 2 fps 20100606 03:24:34< shadowmaster> sadly, just moving to the test scenario's top right corner kills performance 20100606 03:24:47< shadowmaster> because of the shiny animated water 20100606 03:25:47< shadowmaster> ABCD: blame Windows 20100606 03:25:54< ABCD> heh 20100606 03:26:08< ABCD> this is wesnoth built for i686-pc-linux-gnu, though... :D 20100606 03:26:42 * shadowmaster goes to read about coLinux 20100606 03:26:59< Espreon> ... and there seems to be a reverse coLinux in the making. 20100606 03:27:22< ABCD> coLinux is like UML, but it runs on Windows :) 20100606 03:27:39< shadowmaster> Espreon: what do you mean about "reverse"? 20100606 03:27:48< shadowmaster> s/about/with/ 20100606 03:28:10< ABCD> my Linux HD died on me, and I haven't replaced it yet (I also lost quite a bit of data on it, including my ssh and gpg keys) 20100606 03:28:23< shadowmaster> that sucks 20100606 03:28:30< Espreon> shadowmaster: http://en.wikipedia.org/wiki/Linux_Unified_Kernel 20100606 03:29:00< shadowmaster> ah, yes 20100606 03:29:08< shadowmaster> I read about that before knowing about coLinux 20100606 03:29:15< Espreon> "Windows? 20100606 03:29:22< Espreon> In _my_ Linux?" 20100606 03:29:32< shadowmaster> hey 20100606 03:29:36< shadowmaster> I've got a cool idea 20100606 03:29:53< shadowmaster> running PowerPC Linux on x86_64 Linux with qemu's help so I can try wesnoth-tc on it 20100606 03:29:59< ABCD> Espreon: the other way around at least makes sense, in the "I don't have much choice" sense :) 20100606 03:30:08< shadowmaster> since crimson_penguin hasn't managed to build it for PowerPC mac 20100606 03:30:31< shadowmaster> I'd need a complete PowerPC Linux distribution though, or at least enough to build libpng and boost. 20100606 03:30:52< shadowmaster> *to build libpng (I only use header libraries from boost) 20100606 03:30:53< ABCD> at one point, on my x86_64 Linux install, I had a ppc chroot via qemu-user and binfmt_misc :) 20100606 03:31:15< ABCD> that was interesting :) 20100606 03:31:24< ABCD> I think it was ppc that worked... may have been arm 20100606 03:31:53< shadowmaster> I wonder if I can exploit Debian's PPC port Netinstall image for this purpose :> 20100606 03:33:41< ABCD> is this normal: "20100605 21:22:46 error gui/draw: Image: 'buttons/menu-button-disabled.png'not found and won't be drawn." 20100606 03:35:20< shadowmaster> no idea about whether it's normal or not, but I get it and it appears to be inoffensive 20100606 03:35:38< Espreon> mordante said that it wasn't a problem. 20100606 03:36:39-!- stikonas [~and@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20100606 03:36:57< Upthorn> I have another wml preprocessor question 20100606 03:37:16< Espreon> Jeß? 20100606 03:37:33< Upthorn> I doubt it is possible, but can you use preprocessor commands in a macro? 20100606 03:37:34< ABCD> this might me a bit more of a concern, however: http://dpaste.com/203702/ 20100606 03:37:39< ABCD> (from latest trunk) 20100606 03:38:28< Espreon> Upthorn: What exactly do you mean? 20100606 03:38:28< shadowmaster> nah 20100606 03:38:34< shadowmaster> ABCD: that's known 20100606 03:38:36< Upthorn> let me pastebin an example 20100606 03:38:46< shadowmaster> don't worry about it, it's just a test case 20100606 03:39:11< ABCD> okay, good :) 20100606 03:39:14< shadowmaster> although the terrain warnings are probably Eleazar's fault 20100606 03:39:30< ABCD> as I said, it *might* be :) 20100606 03:40:59< Upthorn> though I can phrase the question better as well 20100606 03:41:07< Upthorn> can you use a macro to dynamically define another macro? 20100606 03:41:28< Upthorn> as in http://pastebin.com/3wByg7hg 20100606 03:42:03< Espreon> Hmmmm... I do not know. Maybe. 20100606 03:43:36< Espreon> Upthorn: Why don't you actually try it? 20100606 03:43:45< shadowmaster> unlikely 20100606 03:44:17< Upthorn> yeah I'm doing that right now, but it takes a while to read files and generate cache every time I make such a change 20100606 03:44:31< Upthorn> so I thought I'd ask while I was waiting 20100606 03:46:21< Crab_> Upthorn: no, nested #define statements don't work 20100606 03:46:47< Upthorn> that is what I expected 20100606 03:51:55< Upthorn> and having finished reading files and creating cache, wesnoth confirms 20100606 03:59:01-!- wesbot changed the topic of #wesnoth-dev to: 119 bugs, 281 feature requests, 18 patches | logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20100606 04:05:24< CIA-86> espreon * r43192 /trunk/utils/java/ (26 files in 11 dirs): Ran umcpropfix. 20100606 04:10:42< CIA-86> espreon * r43193 /trunk/data/core/images/terrain/ (grid-bottom.png grid-top.png): Ran umcpropfix. 20100606 04:21:32-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20100606 04:21:32< CIA-86> espreon * r43194 /trunk/src/ana/ (5 files in 3 dirs): Manually added some properties. 20100606 04:29:52-!- un214 [~quassel@adsl-75-45-4-19.dsl.scrm01.sbcglobal.net] has joined #wesnoth-dev 20100606 04:30:10-!- un214 [~quassel@adsl-75-45-4-19.dsl.scrm01.sbcglobal.net] has quit [Remote host closed the connection] 20100606 04:33:19-!- Crab_ [~Crab_@wesnoth/developer/crab] has quit [Quit: Leaving.] 20100606 04:43:11-!- Ivanovic_ [~ivanovic@dtmd-4db2edb7.pool.mediaWays.net] has joined #wesnoth-dev 20100606 04:44:53-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has quit [Ping timeout: 240 seconds] 20100606 04:45:09-!- Ivanovic_ is now known as Ivanovic 20100606 04:55:02-!- Appleman1234 [~Appleman1@CPE-60-226-180-71.qld.bigpond.net.au] has joined #wesnoth-dev 20100606 05:03:21-!- ancestral [~ancestral@97-116-112-18.mpls.qwest.net] has joined #wesnoth-dev 20100606 05:08:53-!- Gambit [~quassel@pa-67-234-73-7.dhcp.embarqhsd.net] has quit [Read error: Connection reset by peer] 20100606 05:50:51< CIA-86> espreon * r43195 /trunk/data/campaigns/Delfadors_Memoirs/ (HISTORY TODO WALKTHROUGH): Manually assigned properties to some files. 20100606 05:52:48< CIA-86> espreon * r43196 /trunk/data/campaigns/Dead_Water/HISTORY: Manually assigned svn:eol-style to DW's HISTORY file. 20100606 05:55:25< CIA-86> espreon * r43197 /trunk/data/campaigns/Legend_of_Wesmere/HISTORY: Manually assigned svn:eol-style to LoW's HISTORY file. 20100606 06:06:52-!- Ingmar [ingmar@exherbo/developer/ingmar] has quit [Ping timeout: 276 seconds] 20100606 06:22:33-!- Ingmar [ingmar@exherbo/developer/ingmar] has joined #wesnoth-dev 20100606 06:51:03< cjhopman_> Upthorn: actually you can do that 20100606 06:51:22< cjhopman_> Upthorn: you have to put it in a separate file and have the macro include that file 20100606 06:51:32< Upthorn> Ah. 20100606 06:51:41< cjhopman_> but I'm not sure how to pass the arguments 20100606 06:51:43< cjhopman_> yet 20100606 06:52:59< cjhopman_> but let me write up an example quick that could work 20100606 06:55:06< cjhopman_> http://pastebin.com/TUUdTaae 20100606 06:55:50< cjhopman_> not quite as convenient as a single macro... but better than nothing 20100606 06:56:32< cjhopman_> also note that relative paths in macros like that will be relative to the file the macro is defined in, not where it is used 20100606 06:57:21< cjhopman_> which I would probably consider a bug, but it makes doing stuff like this cleaner 20100606 06:58:29< cjhopman_> also, I missed a #enddef in that pastebin 20100606 07:11:59-!- silene [~plouf@bau91-1-82-239-244-109.fbx.proxad.net] has joined #wesnoth-dev 20100606 07:12:07-!- silene [~plouf@bau91-1-82-239-244-109.fbx.proxad.net] has quit [Changing host] 20100606 07:12:07-!- silene [~plouf@wesnoth/developer/silene] has joined #wesnoth-dev 20100606 07:32:15-!- Elvish_Pillager [~eli@71-10-224-192.dhcp.oxfr.ma.charter.com] has quit [Ping timeout: 240 seconds] 20100606 07:36:39< silene> Crab_, gabba: you are a bit mistaken on the reason for the error; the vtable and inline virtual functions are generated either when all the virtual functions are inline and the class is used or when a noninline definition of a virtual function is encountered 20100606 07:36:48< silene> the issue is that the compiler can't know a virtual definition is missing (it could be in another .cpp file) and the linker just sees the end result so the error message becomes confusing 20100606 07:36:52< silene> in an ideal world, the compiler would have put hints like "not generating because i don't have a definition for toto" and the linker would then look through the hints to find the real reason of the failure 20100606 07:41:03< shadowmaster> no compilers do that? 20100606 07:41:18< silene> shadowmaster: none that i know of 20100606 07:43:22< silene> i have just checked and i can make my first sentence more detailled: things are generated either when all the virtual functions are inline and the class is used or when the definition of the _first_ noninline virtual function is encountered (that ensures it is generated only once, so a bit of a speedup, but it increases the probability of the confusing message) 20100606 07:56:01-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Quit: I'm sleeping] 20100606 07:58:27-!- PK3 [~pk@r74-192-30-57.bcstcmta01.clsttx.tl.dh.suddenlink.net] has joined #wesnoth-dev 20100606 08:00:23-!- PK3 [~pk@r74-192-30-57.bcstcmta01.clsttx.tl.dh.suddenlink.net] has quit [Quit: Java user signed off] 20100606 08:13:39-!- k23z__ [~k23z__@188.26.48.29] has joined #wesnoth-dev 20100606 08:40:27-!- Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Quit: ...] 20100606 08:59:30-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has quit [Quit: crimson_penguin] 20100606 09:35:40-!- kevg [~kevg@94.232.5.102] has joined #wesnoth-dev 20100606 09:41:19-!- chris| [~Chris@golf326.server4you.de] has quit [Quit: ""] 20100606 09:59:00-!- wesbot changed the topic of #wesnoth-dev to: 120 bugs, 281 feature requests, 18 patches | logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20100606 10:07:54-!- zookeeper [~l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20100606 10:11:05-!- Johannes13 [~Johannes@unaffiliated/johannes13] has joined #wesnoth-dev 20100606 10:40:20-!- chris| [~Chris@golf326.server4you.de] has joined #wesnoth-dev 20100606 10:52:35-!- meric [~Eric@124-168-155-139.dyn.iinet.net.au] has joined #wesnoth-dev 20100606 11:07:59-!- k23z__ [~k23z__@188.26.48.29] has quit [Read error: Connection reset by peer] 20100606 11:09:05-!- Ivanovic [~ivanovic@dtmd-4db2edb7.pool.mediaWays.net] has quit [Changing host] 20100606 11:09:05-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has joined #wesnoth-dev 20100606 11:10:17< Ivanovic> moin 20100606 11:13:19-!- Crab_ [~Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20100606 11:23:32-!- kevg [~kevg@94.232.5.102] has quit [Remote host closed the connection] 20100606 11:28:22-!- phlaem [~a@e178081116.adsl.alicedsl.de] has joined #wesnoth-dev 20100606 11:36:45< Ivanovic> zookeeper: http://forums.wesnoth.org/viewtopic.php?f=4&t=30259&start=0 20100606 11:38:59< zookeeper> Ivanovic, i ignored that since it didn't make any sense initially, but now that i think of it he probably has halos turned off 20100606 11:40:04< zookeeper> (posted) 20100606 11:40:09< Ivanovic> thanks 20100606 11:47:02< CIA-86> ivanovic * r43198 /trunk/ (data/hardwired/tips.cfg utils/pofix.py): 20100606 11:47:02< CIA-86> revert r43191 by Espreon (initial commit msg: Fixed a screw up in which em dashes were being used instead of horizontal bars.) 20100606 11:47:02< CIA-86> reason: he explicitly asked me not to apply the pofix change, this is only possible if it is not there since pofix is always run before committing translation files 20100606 11:56:59-!- Crab_ [~Crab_@wesnoth/developer/crab] has quit [Quit: Leaving.] 20100606 12:09:42-!- Gallaecio [~Gallaecio@232.158.60.213.dynamic.mundo-r.com] has quit [Remote host closed the connection] 20100606 12:10:13-!- silene [~plouf@wesnoth/developer/silene] has quit [Quit: Leaving.] 20100606 12:27:49-!- kevg [~kevg@94.232.5.102] has joined #wesnoth-dev 20100606 12:27:54-!- kevg [~kevg@94.232.5.102] has left #wesnoth-dev [] 20100606 12:28:23-!- kevg [~kevg@94.232.5.102] has joined #wesnoth-dev 20100606 12:32:15-!- loonybot [~loonybot@ppp79-139-137-245.pppoe.spdop.ru] has joined #wesnoth-dev 20100606 12:32:15-!- loonybot [~loonybot@ppp79-139-137-245.pppoe.spdop.ru] has quit [Changing host] 20100606 12:32:15-!- loonybot [~loonybot@wesnoth/bot/loonybot] has joined #wesnoth-dev 20100606 12:33:09-!- loonycyborg [~sergey@wesnoth/developer/loonycyborg] has joined #wesnoth-dev 20100606 12:34:51-!- dtiger [~dtiger@dynamic-vpdn-93-125-17-26.telecom.by] has joined #wesnoth-dev 20100606 12:44:46-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20100606 12:50:03-!- silene [~plouf@wesnoth/developer/silene] has joined #wesnoth-dev 20100606 13:20:26-!- stikonas [~and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20100606 13:20:38-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20100606 13:48:13-!- silene [~plouf@wesnoth/developer/silene] has quit [Ping timeout: 240 seconds] 20100606 13:48:36-!- silene [~plouf@bau91-1-82-239-244-109.fbx.proxad.net] has joined #wesnoth-dev 20100606 13:48:58-!- silene [~plouf@bau91-1-82-239-244-109.fbx.proxad.net] has quit [Changing host] 20100606 13:48:58-!- silene [~plouf@wesnoth/developer/silene] has joined #wesnoth-dev 20100606 13:51:33-!- stikonas [~and@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20100606 13:51:59-!- stikonas [~and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20100606 13:53:58-!- Appleman1234 [~Appleman1@CPE-60-226-180-71.qld.bigpond.net.au] has quit [Ping timeout: 252 seconds] 20100606 14:05:32-!- Appleman1234 [~Appleman1@CPE-60-226-180-71.qld.bigpond.net.au] has joined #wesnoth-dev 20100606 14:20:18< boucman> kevg: around ? 20100606 14:24:46< kevg> boucman: yes 20100606 14:25:00< boucman> why is your end level patch MP only ? 20100606 14:25:53< kevg> its because it should be MP. On doesn't relate to SP linger_mode - no such trouble in SP mode. 20100606 14:26:28< boucman> for scenario reason, it might be usefull not to reveal at the end... esp if a future scenario returns to the map... 20100606 14:26:45< boucman> I don't see any reason to "forbid" it to SP scenarist, anyway 20100606 14:26:57< boucman> (otoh, I didn't see why it was MP only in the patch either... 20100606 14:27:24< kevg> in linger_mode in SP map doesn't revealed when game ended 20100606 14:27:53< boucman> ok 20100606 14:28:02< kevg> SP and MP linger_mode has different realizations 20100606 14:30:06< CIA-86> boucman * r43199 /trunk/src/ (3 files): add a reveal_map= key to [endlevel] to allow to keep a map hidden on victory, patch by kegv 20100606 14:30:32< CIA-86> boucman * r43200 /trunk/changelog: forgot to commit changelog entry 20100606 14:36:49-!- Gambit [~quassel@pa-67-234-73-7.dhcp.embarqhsd.net] has joined #wesnoth-dev 20100606 14:38:36-!- yann [~dwitch@nan92-1-81-57-214-146.fbx.proxad.net] has joined #wesnoth-dev 20100606 14:52:10-!- elias [~elias@allegro/developer/allefant] has joined #wesnoth-dev 20100606 14:55:24-!- Appleman1234 [~Appleman1@CPE-60-226-180-71.qld.bigpond.net.au] has quit [Quit: Leaving] 20100606 15:07:58-!- fendrin [~fabi@88-134-103-91-dynip.superkabel.de] has joined #wesnoth-dev 20100606 15:07:58-!- fendrin [~fabi@88-134-103-91-dynip.superkabel.de] has quit [Changing host] 20100606 15:07:58-!- fendrin [~fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20100606 15:29:23< boucman> kevg: btw, can you document the new feature in the wiki ? 20100606 15:38:20-!- alink [~alink@wesnoth/developer/alink] has joined #wesnoth-dev 20100606 15:46:43-!- ancestral [~ancestral@97-116-112-18.mpls.qwest.net] has quit [Quit: And that’s the end of THAT chapter.] 20100606 15:49:21< alink> silene: I have a small FR for config optimization, maybe I can interest you in. We use a lot of : if (cfg.has_attribute("foo")) { read cfg["foo"] }. Combining the 2 map searches would be better. 20100606 15:50:02< alink> and since you already did something similar and nice for the has_child case... 20100606 15:50:54< alink> that is : if (const config &c = cfg.child("foo")) { work with c } 20100606 15:51:30< alink> I could try it myself, but it's a bit tricky and you would certainly do it cleaner 20100606 15:52:37< alink> these bool tricks have traps, esp. here with the casting of attribute to bool (if it's a problem here) 20100606 15:54:54< alink> alternatively a iterator + find as for STL maps could work too, I guess 20100606 15:55:15-!- stikonas [~and@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20100606 15:55:58-!- stikonas [~and@bcm-131-111-247-104.girton.cam.ac.uk] has joined #wesnoth-dev 20100606 15:55:58-!- stikonas [~and@bcm-131-111-247-104.girton.cam.ac.uk] has quit [Changing host] 20100606 15:55:58-!- stikonas [~and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20100606 15:58:27-!- Elvish_Pillager [~eli@71-10-224-192.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20100606 15:59:00-!- wesbot changed the topic of #wesnoth-dev to: 120 bugs, 281 feature requests, 17 patches | logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20100606 16:00:04< alink> btw an another reason is to avoid repetition of "foo". These hardcoded strings are source of typo invisible for compiler like if (cfg.has_attribute("very_loong_key")) { read cfg["very_long_key"] } 20100606 16:02:08< kevg> boucman: done 20100606 16:02:10 * alink always wanted to declare WML keys somewhere, so there will be no possible typo in the main code 20100606 16:03:04< boucman> thx 20100606 16:03:29< boucman> alink: yes, if you have an easy way to do taht that would be great 20100606 16:04:38< alink> boucman: I have no easy way to convert the whole code. I have few implementation ideas, but I am not sure about the running/compiling cost 20100606 16:04:46< boucman> :/ 20100606 16:05:20< silene> alink: yes, that's something i have considered too; the unfortunate thing is that an attribute can also be a bool; so, for now, to avoid any ambiguity, i have disabled both interpretation 20100606 16:06:39< silene> if i was sure people would not be confused and think that cfg["toto"] is an attribute value, i would have done it already 20100606 16:08:56< alink> silene: maybe just provide a new function for this, a variant of has_attribute which break the bool type ambiguity with a clear name 20100606 16:09:21-!- PK [~pk@r74-192-30-57.bcstcmta01.clsttx.tl.dh.suddenlink.net] has joined #wesnoth-dev 20100606 16:11:12< silene> alink: the issue is not in the function name, it is in the return type; if you want "if (const config::attribute_value &v = cfg.find_attribute("toto"))" to work, you need attribute_value to be convertible to bool, hence the ambiguity when later using cfg["toto"] 20100606 16:13:08< alink> silene: I see, that's indeed the kind of problem that I feared 20100606 16:13:20< silene> so, a solution would be to introduce yet another type, but i'm still a bit reluctant 20100606 16:16:19< silene> once i'm done configuring my computer and i can finally compile wesnoth in less than one minute (let's dream a bit), i will experiment a bit 20100606 16:28:20< alink> silene, that will use pointer, but maybe: if(attribute_value* av = get_ptr_attribute(string)) which will return NULL when missing 20100606 16:28:48< alink> s/string/"foo" 20100606 16:29:34< alink> but reference as so much nicer :-) 20100606 16:29:41< alink> s/as/are 20100606 16:33:51-!- stikonas [~and@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20100606 16:37:48< CIA-86> alink * r43201 /trunk/src/unit.cpp: tiny optimizations 20100606 16:37:57< CIA-86> alink * r43202 /trunk/ (changelog players_changelog): update changelogs 20100606 16:38:29-!- silene1 [~plouf@bau91-1-82-239-244-109.fbx.proxad.net] has joined #wesnoth-dev 20100606 16:38:29-!- silene [~plouf@wesnoth/developer/silene] has quit [Read error: Connection reset by peer] 20100606 16:39:05-!- silene1 is now known as silene 20100606 16:39:12-!- silene [~plouf@bau91-1-82-239-244-109.fbx.proxad.net] has quit [Changing host] 20100606 16:39:12-!- silene [~plouf@wesnoth/developer/silene] has joined #wesnoth-dev 20100606 16:40:20< Espreon> alink: Would you kill the final fake dashes for me? 20100606 16:40:28< Ivanovic> silene: what new computer do you have? 20100606 16:41:11< alink> Espreon: pffff, maybe. It's in c++ code I guess ? 20100606 16:41:15< Espreon> Yeah. 20100606 16:41:39< alink> Espreon: and it's, of course, very important ;-p 20100606 16:41:45< Espreon> First, let me double-check some things. 20100606 16:41:47< Espreon> Yes, indeed. 20100606 16:43:01-!- grzywacz [~grzywacz@wesnoth/developer/grzywacz] has quit [Remote host closed the connection] 20100606 16:43:28< Espreon> alink: OK, first, in the sidebar, we have "range--type"; change that to "range–type" (the dash is an *en* dash). 20100606 16:43:29-!- grzywacz [~grzywacz@wesnoth/developer/grzywacz] has joined #wesnoth-dev 20100606 16:46:11< silene> Ivanovic: the processor is a core i7 930 and there are 6gb of low-latency ram 20100606 16:46:18< alink> Espreon: mmmh IIRC this convention has been already often discussed, a bit like the 3-6 convention 20100606 16:46:19< Espreon> alink: Also, replace the hyphen-minus in "power-number" with an en dash. 20100606 16:46:34< Espreon> Hmmmmm? 20100606 16:47:24< alink> Espreon: I am not sure that typographic rules apply here. OTOH the current choice seems to have no special sense 20100606 16:48:14< alink> Espreon: so you want en dash everywhere for damage type and damage numbers ? 20100606 16:48:15< Espreon> Well, en dashes show relations... Besides, "--" is ugly as hell. 20100606 16:48:23< Espreon> If it shows a relation, en dash. 20100606 16:48:58< Espreon> So, apply the change to all "range--type"s and "power-number"s. 20100606 16:50:33< alink> I must first unify these info in recruit dialog where it uses 8-3 -- melee 20100606 16:51:15< Espreon> That's fine. 20100606 16:51:46< alink> in fact the order is completely mixed there 20100606 16:52:05< Espreon> Ugh... Lemme check... 20100606 16:52:13-!- PK [~pk@r74-192-30-57.bcstcmta01.clsttx.tl.dh.suddenlink.net] has quit [Quit: Java user signed off] 20100606 16:53:00< Espreon> alink: Hmmmm... I'll have to think a bit about that situation. 20100606 16:53:31< alink> Espreon: I fix that first, and then we will talk about your change 20100606 16:53:55< alink> Recruit dialog should be the same as sidebar 20100606 16:54:21< Espreon> Indeed. 20100606 16:55:53< Espreon> alink: Do it like this: "power–number — range" The first dash is an *en* dash; the second is an *em* dash. 20100606 16:58:09< alink> Espreon: no, I unify first, which mean changing the order of these things 20100606 16:58:18< Espreon> Oh, OK. 20100606 17:00:00< alink> grr sometimes there is also accuracy info there :-/ 20100606 17:00:48< alink> *accuracy_parry 20100606 17:03:00< alink> oh and it's ugly: 8-3 +15%/+10% -- melee 20100606 17:05:21< alink> and in sidebar it's ellipsed and not in tooltip :-/ 20100606 17:07:03< alink> bbl 20100606 17:07:31< Ivanovic> silene: neat 20100606 17:09:10-!- fakedrake [~fakedrake@athedsl-416460.home.otenet.gr] has joined #wesnoth-dev 20100606 17:14:45-!- fakedrake [~fakedrake@athedsl-416460.home.otenet.gr] has quit [Remote host closed the connection] 20100606 17:24:51-!- thespaceinvader [~chatzilla@wesnoth/artist/thespaceinvader] has joined #wesnoth-dev 20100606 18:09:11< CIA-86> zookeeper * r43203 /trunk/data/campaigns/The_Rise_Of_Wesnoth/ (maps/Troll_Hole.map scenarios/17c_Troll_Hole.cfg): 20100606 18:09:11< CIA-86> Balancing changes to 'Troll Hole': made the map slightly more favourable to the 20100606 18:09:11< CIA-86> player, gave all enemies an extra starting village, 20 less starting gold and a 20100606 18:09:11< CIA-86> limit of 1 Troll and 1 Troll Rocklobber on easy and 2 of both on the harder 20100606 18:09:11< CIA-86> difficulties. 20100606 18:11:35< CIA-86> zookeeper * r43204 /branches/1.8/data/campaigns/The_Rise_Of_Wesnoth/ (maps/Troll_Hole.map scenarios/17c_Troll_Hole.cfg): Ported r43203 to 1.8. 20100606 18:19:45-!- un214 [~quassel@75.45.4.19] has joined #wesnoth-dev 20100606 18:20:06-!- meric [~Eric@124-168-155-139.dyn.iinet.net.au] has quit [Quit: meric] 20100606 18:25:24-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has joined #wesnoth-dev 20100606 18:33:22-!- kevg [~kevg@94.232.5.102] has quit [Remote host closed the connection] 20100606 18:45:56-!- un214 [~quassel@75.45.4.19] has quit [Remote host closed the connection] 20100606 19:05:19-!- mordante [~mordante@wesnoth/developer/mordante] has joined #wesnoth-dev 20100606 19:05:31-!- grzywacz [~grzywacz@wesnoth/developer/grzywacz] has quit [Read error: Connection reset by peer] 20100606 19:05:33< mordante> servus 20100606 19:06:59-!- grzywacz [~grzywacz@wesnoth/developer/grzywacz] has joined #wesnoth-dev 20100606 19:16:05-!- cjhopman_ [~chris@wesnoth/developer/cjhopman] has quit [Ping timeout: 240 seconds] 20100606 19:25:25< CIA-86> alink * r43205 /trunk/src/unit_types.cpp: Use nicer signed_percent() for accuracy/parry 20100606 19:25:27< CIA-86> alink * r43206 /trunk/src/generate_report.cpp: 20100606 19:25:27< CIA-86> Move accuracy/parry to its own line and toolip. 20100606 19:25:27< CIA-86> Take one more precious line, but was frequently unreadable before. 20100606 19:25:35< CIA-86> alink * r43207 /trunk/ (changelog players_changelog src/dialogs.cpp): Display weapon stats in recruit/recall dialog the same way as in sidebar 20100606 19:28:30-!- haudegen [~andi@chello084114021195.15.14.vie.surfer.at] has joined #wesnoth-dev 20100606 19:56:11-!- tyler__ [~tyler__@m4d0536d0.tmodns.net] has joined #wesnoth-dev 20100606 20:00:47< Espreon> alink: So, now what? 20100606 20:01:23< alink> well, now all it's as it was in main sidebar 20100606 20:01:46< Espreon> So, just... convert the fake dashes. 20100606 20:02:00< alink> and after unifying the look, I wish to unify the code (I should have started with that) 20100606 20:02:11< Espreon> "power-number" -> "power–number" (en dash) 20100606 20:02:18< Espreon> OK. 20100606 20:02:30< alink> ^ok this one look good 20100606 20:03:07< Espreon> alink: Wait, so, would you rather do your code unification before changing the dashes? 20100606 20:03:37< alink> yes, this is what I will do 20100606 20:04:04< alink> no point to write code that will be killed in the following commit 20100606 20:04:19< alink> but that's one-liners, just need compile time 20100606 20:04:41< Espreon> OK. 20100606 20:07:04< ABCD> alink: just FYI, that color cursor change had no effect here 20100606 20:07:30< alink> ABCD: :-( but thanks 20100606 20:08:02< alink> ABCD I could be more aggressive to be really sure that it's a SDL bug 20100606 20:08:30< alink> ABCD Would you mine test it again (when done)? 20100606 20:09:02 * ABCD wonders why the color cursors can't be set the way the B&W cursors are - I can set the X cursor to a colorful one without any issues... (at least, I think I can...) 20100606 20:09:50< alink> ABCD: I think that it was because of SDL limitations on some platform (like mac) 20100606 20:09:56< ABCD> ugh 20100606 20:10:04< alink> but you are right it may have changed now 20100606 20:10:37< alink> at least. I think that one version of SDL killed a cursor size limitation on mac 20100606 20:10:57< alink> I should check this, we still use special smaller cursor for mac 20100606 20:13:24< alink> SDL 1.2.11 : The Quartz video driver supports 32x32 cursors on Mac OS X 10.3 and above. 20100606 20:13:33< alink> was 16x16 before 20100606 20:18:34-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20100606 20:26:12-!- gabba [~gabba@wesnoth/developer/gabba] has joined #wesnoth-dev 20100606 20:26:19< gabba> bonjour 20100606 20:26:27< alink> bonjour gabba 20100606 20:26:39< gabba> hi alink 20100606 20:27:06< Espreon> gabba: Ic grete þe. 20100606 20:27:16< gabba> hi Espreon 20100606 20:27:21< CIA-86> alink * r43208 /trunk/src/unit_types.hpp: In attack_type class, make cfg_ private, as it should be. 20100606 20:27:23< CIA-86> alink * r43209 /trunk/src/ (4 files): Define in one place the separators used for weapon stats (8-3 and melee--blade) 20100606 20:28:00< ABCD> alink: well, I tried just copying the color cursors on top of the B&W ones... and got ugly B&W renditions of the color cursors :( 20100606 20:30:05< alink> ABCD: yes that couldn't work. Did you try because I suggested something similar with b&w cursors ? 20100606 20:30:23< boucman> hey gabba 20100606 20:30:26< boucman> how is it going ? 20100606 20:30:29< ABCD> I tried just to see what would happen :) 20100606 20:30:30< gabba> hello boucman 20100606 20:30:38< boucman> I saw you put the visitor structure in place yesterday... 20100606 20:30:47< gabba> boucman: coding away! 20100606 20:31:16< boucman> :) 20100606 20:31:34< alink> ABCD the wesnoth code actually parse the image and convert it to b&w, it's not the work of SDL or window manager 20100606 20:31:42< alink> ABCD: a more useful try would be to add one black pixel in the b&w no_cursor.png. So, we will be sure that it's not just a SDL/window manager with fully transparent cursor 20100606 20:32:00< alink> * a SDL/window manager bug 20100606 20:32:01< gabba> boucman: I have a dcommit coming up soonish 20100606 20:32:19< boucman> k 20100606 20:33:33< CIA-86> alink * r43210 /trunk/src/marked-up_text.cpp: 20100606 20:33:33< CIA-86> Use en dash as separator between damage-hits, as requested by Espreon. 20100606 20:33:33< CIA-86> This use 2 more pixels, but looks more readable. 20100606 20:35:07< ABCD> adding that black pixel makes it work - except that I have a black pixel that now leads the cursor :) (that is, the HW cursor is where that pixel is, the SW rendered cursor lags behind) 20100606 20:35:35-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20100606 20:36:20< alink> ABCD: At least we found the SDL bug causing it :-) 20100606 20:36:44< ABCD> unfortunately, it lags so much as to be unusable :( 20100606 20:36:56< alink> ABCD thanks again for the testing, that is an old bug which I chased since a long time 20100606 20:37:24< ABCD> and why can't SDL do color HW cursors? X can do them, Windows can do them... 20100606 20:37:26< CIA-86> gabba * r43211 /trunk/src/whiteboard/ (6 files): Whiteboard: find_visitor 20100606 20:37:31< CIA-86> gabba * r43212 /trunk/src/whiteboard/ (find_visitor.cpp manager.cpp manager.hpp): Whiteboard: changed method names 20100606 20:38:30< alink> ABCD: maybe we can use HW color cursors on these platforms only. Not sure if SDL allows it 20100606 20:38:34-!- billynux [~billy@wesnoth/developer/billynux] has joined #wesnoth-dev 20100606 20:38:52-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: GO, GET TO THE CHOPPAH!!!] 20100606 20:39:01< gabba> boucman: if you have any comments on the find_visitor, I'll take them into account when writing the other ones 20100606 20:39:06< alink> ABCD what is your fps ? 20100606 20:39:13< boucman> looking... 20100606 20:39:33< ABCD> about 2-6 20100606 20:39:46< ABCD> (on the test scenario) 20100606 20:40:04< alink> ABCD ok then indeed, our color cursors will lag with that :-/ 20100606 20:40:07< ABCD> <1 when moving around 20100606 20:41:07< alink> ABCD I suppose that we could render the cursor more often than we update the view, but we must me sure that it doesn't slow it more 20100606 20:41:21< alink> s/me/be 20100606 20:42:14< ABCD> or, if we could skip SDL on X11 (and Windows), then... :D 20100606 20:42:24< ABCD> (for the cursor, that is) 20100606 20:42:43< ABCD> and if Mac has support for it, then on there, too :) 20100606 20:43:54< alink> ABCD according to the doc, SDL_CreateCursor only accept b&w cursors 20100606 20:44:53< ABCD> except that many of the underlying APIs that SDL_CreateCursor abstracts *do* support color cursors... it's just not all of them, so SDL doesn't allow it for any of them :( 20100606 20:45:18< alink> ABCD: yes, sad 20100606 20:45:43< alink> I will google again to find the cause/fix of this SDL bug with fully transparent cursor 20100606 20:47:12< alink> the black pixel trick works but it's ugly. It's like having a tiny fly buzzing around your cursor 20100606 20:48:04< alink> ABCD can you tell me your setup and SDL version ? 20100606 20:50:05< ABCD> Gentoo Linux, SDL version 1.2.14-r2 (-r2 being the Gentoo revision), running on XWin 1.8.0.0 (xorg-server-1.8 ported to run on top of Windows) 20100606 20:50:34< alink> ABCD: thanks 20100606 20:52:02< boucman> gabba: is there a particular reason you renamed get_singleton to instance ? 20100606 20:52:20< gabba> shortness 20100606 20:52:28< boucman> hmm 20100606 20:52:34-!- fakedrake [~fakedrake@athedsl-416460.home.otenet.gr] has joined #wesnoth-dev 20100606 20:52:49< boucman> it's called get_singleton everywhere else... isn't it ? 20100606 20:53:10< ABCD> at some point, I'm going to build a kernel + initramfs to run off a loopback on the ntfs partition here... 20100606 20:53:31< ABCD> but I'll have to keep that kernel *very* small, so it will fit on a floppy :( 20100606 20:53:43< gabba> boucman: hmm, wireless keyboard failing, give me a minute to change batteries 20100606 20:53:51< boucman> sure thing 20100606 20:54:25< alink> ABCD: I see, not the typical user with windows XP preinstalled ;-p 20100606 20:54:54-!- fakedrake [~fakedrake@athedsl-416460.home.otenet.gr] has left #wesnoth-dev [] 20100606 20:54:55< ABCD> alink: well, my Win XP is preinstalled - I had Linux on another hard drive, but that drive failed on me, so... 20100606 20:56:13< gabba> boucman: ok, seems better 20100606 20:56:40< gabba> boucman: let me search for get_singleton vs instance, I'll rename it to the most popular 20100606 20:57:08< boucman> ok, seems fair 20100606 20:57:17< boucman> except for that, not much to say on what you submitted 20100606 20:58:41< gabba> boucman: one thing I wasn't sure about was whether to put the iteration loop inside the manager or the singleton itself... but I guess both can work depending on what we want to achieve 20100606 20:59:32< boucman> gabba: that was my first thought when reading your code, then I saw the find vs find_first... 20100606 20:59:57< ABCD> hmm... actually, I think I might be able to speed things up a bit... (by *not* going through ssh) 20100606 21:00:02< boucman> you could have moved it to the manager class by providing the visitor class a way to interrupt the loop on first find... 20100606 21:00:15< boucman> but honestly, I don't think it's really important 20100606 21:00:31< gabba> yeah 20100606 21:00:32< boucman> it would be marginally cleaner in the manager, but i don't have a strong opinion 20100606 21:03:05-!- ABCD [~abcd@gentoo/developer/abcd] has quit [Quit: Leaving] 20100606 21:03:52-!- Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20100606 21:07:28-!- ABCD [~abcd@gentoo/developer/abcd] has joined #wesnoth-dev 20100606 21:07:43< gabba> boucman: btw, is it possible or a good idea to name a method parameter the same as its class name? Something like "const move& move" for instance. I don't really want to lose time experimenting with that, but it could yield nicer parameter names... 20100606 21:08:49-!- Bocom_ [~Bocom@c-b7cfe255.013-31-6b736412.cust.bredbandsbolaget.se] has joined #wesnoth-dev 20100606 21:08:50-!- Bocom [~Bocom@c-b7cfe255.013-31-6b736412.cust.bredbandsbolaget.se] has quit [Read error: Connection reset by peer] 20100606 21:09:04< Espreon> alink: Did you replace the hyphen-minuses in the attack dialog with em dashes? 20100606 21:09:09< boucman> gabba: I come from the Ada world, where we say : "try it, you'll see if the compiler yells" :P 20100606 21:09:23< gabba> boucman: ha ha 20100606 21:09:38< boucman> it might give problems with macros and maybe templates, but out of that I guess it's fine 20100606 21:10:12< gabba> boucman: if it yells right away it's ok, it's yelling later with a remotely related error message that scares me :-/ 20100606 21:10:13< alink> Espreon: no, just used en dash in "8-3". But em dash looks too long, it will eat a medium letter 20100606 21:11:36< ABCD> you use an en dash for ranges of numbers, so that's correct :) 20100606 21:11:48< alink> good :) 20100606 21:11:59< shadowmaster> alink: did you see my message btw? 20100606 21:12:11< alink> ABCD except that it's not really a range of number 20100606 21:12:21< boucman> gabba: well, I don't have a clear yes/no answer for you... 20100606 21:12:28< alink> shadowmaster: : not sure, where? irc ? 20100606 21:12:48< ABCD> alink: true, but the main reason why an en dash is used there is the main reason things are done in typography -- it looks better :D 20100606 21:12:52< shadowmaster> alink: yes, some days ago 20100606 21:12:59< shadowmaster> alink: I said that http://forums.wesnoth.org/viewtopic.php?f=12&t=28362 sounded like your kind of thing 20100606 21:13:16< shadowmaster> and that it'd probably just require static'fying a few variables, not sure 20100606 21:13:30< gabba> boucman: ok, I'll experiment. If it works, I'll do it as long as it doesn't make the code confusing 20100606 21:13:57< alink> shadowmaster: ah yes, I saw it, I wanted to try it, but I forget. Good thing that you remind me 20100606 21:13:59< gabba> It'll save me some thinking to find alternate method parameter names :P 20100606 21:14:03< boucman> gabba: which is usually when you need a second var of the same type in the same scope :P 20100606 21:14:34-!- ancestral [~ancestral@mobile-166-137-143-163.mycingular.net] has joined #wesnoth-dev 20100606 21:14:43< alink> ABCD: I agree it looks slightly better there with the en dash, mainly because numbers are more separated (2 pixels) 20100606 21:15:36< ABCD> en dash is also used for "relationships and connections" (such as "the Supreme Cort voted 5-4"), so that is acceptable :D 20100606 21:16:20 * ancestral listens in intently 20100606 21:16:22< Espreon> alink: No, no. I meant something else. 20100606 21:16:47< Espreon> Hold on. 20100606 21:16:50< alink> ABCD: yes but there was frequent discussion to replace it by 5x4 or similar variant explaining more what are these numbers 20100606 21:17:17< ABCD> true 20100606 21:20:59< shadowmaster> I prefer the sashes 20100606 21:21:04< shadowmaster> dashes 20100606 21:21:51< shadowmaster> I don't understand people. I understood the point immediately when I played Wesnoth for the first time 20100606 21:22:59< ancestral> It's about putting the right kind of dash in now :) 20100606 21:23:52< alink> shadowmaster: before or after reading the help ? 20100606 21:24:28< alink> because some people never read it 20100606 21:25:06< gabba> boucman: searching for "instance(" vs "singleton(" shows that only game_display uses ::get_singleton (which is why it shows all over the place), while all other singletons (4 or 5 classes) use ::instance 20100606 21:25:13< shadowmaster> alink: before 20100606 21:25:25< boucman> ok, let's go for instance then 20100606 21:25:33< gabba> k 20100606 21:28:08< alink> afk 20100606 21:28:57< Espreon> alink: NO! 20100606 21:29:10< Espreon> alink: In the attack dialog, I meant "- range -" 20100606 21:29:18< Espreon> I want that "— range —" 20100606 21:29:21< Espreon> (Em dashes) 20100606 21:31:52-!- ancestral [~ancestral@mobile-166-137-143-163.mycingular.net] has quit [Quit: Colloquy for iPhone - http://colloquy.mobi] 20100606 21:34:17< alink> Espreon: AFAIK that's the first time you mention the attack dialog. But, i must really go now, I will check later 20100606 21:35:38< Espreon> Sigh, OK. 20100606 21:35:44< Espreon> Also, this was the second time. 20100606 21:38:48-!- norbert_ [~norbert@82-171-70-54.ip.telfort.nl] has joined #wesnoth-dev 20100606 21:44:56-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Read error: Connection reset by peer] 20100606 21:48:54< billynux> hi all, hi mordante 20100606 21:51:35< mordante> hi billynux 20100606 21:51:42< billynux> hi 20100606 21:51:52< billynux> mordante, I'm having some trouble with Basic authentication 20100606 21:52:20< billynux> it appears to be asio-related (i.e. I'm using it wrong) 20100606 21:52:32< billynux> mordante: would you like to look at some code? :) 20100606 21:53:34< mordante> billynux, yes but I won't stay long 20100606 21:53:55< Espreon> billynux: Uh, from now on, when you create new .cpp/.hpp files, please add the typical licensing, copyright header, and keywords line to the head. Also, be sure to set svn:keywords and svn:eol-style; run "svn proplist -vv" on a cpp/hpp file to see which keywords should be set to svn:keywords. 20100606 21:54:26< billynux> Espreon, ok 20100606 21:54:30< billynux> mordante, http://pastebin.com/r1U1RMPf 20100606 21:55:13< Espreon> billynux: When you have time, please rectify the files that you already added. 20100606 21:55:34< billynux> Espreon, yes... that will be my next commit, sorry for that 20100606 21:56:08< Espreon> It's fine, it's fine. We're all new to this, I suppose. 20100606 21:56:14< Espreon> ... at one point. 20100606 21:56:58< billynux> just as long as it happens once :)... so, consider me warned 20100606 21:57:14< Espreon> Heh... 20100606 21:57:52< billynux> Espreon, I don't know how to "set svn:keywords, svn:eol-style" or what would "svn proplist -vv" do... but I'll find out 20100606 21:58:25< mordante> billynux, do you use svn or git-svn 20100606 21:58:30< billynux> svn 20100606 21:58:40< billynux> Does Wesnoth have a Configuration Management document? 20100606 21:59:00-!- wesbot changed the topic of #wesnoth-dev to: 121 bugs, 281 feature requests, 17 patches | logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20100606 21:59:02< Espreon> billynux: "svn proplist" reveals the properties of the file(s) on which it is run. "-vv" just makes the output more verbose. 20100606 21:59:13< Espreon> To set properties: 20100606 21:59:27< Espreon> For svn:eol-style: "svn propset svn:eol-style native mu" 20100606 21:59:39< mordante> billynux, the you can set default in the config file I use http://paste.debian.net/76384/ 20100606 21:59:58< mordante> in the auto-props section 20100606 22:01:04< Espreon> For svn:keywords (for standard cpp/hpp files): "svn propset svn:keywords 'Author Date Id Revision' mu" 20100606 22:01:08< mordante> billynux, what part of the code do you want me to look at all or a specif part? 20100606 22:01:18< Espreon> ... or you can do what mordante suggested. 20100606 22:01:46< mordante> that way you never need to think about it ;-) 20100606 22:01:47< billynux> mordante, I'm trying to figure out why I don't get the proper response from the proxy (the Error at the end) 20100606 22:01:59< Espreon> mordante: Except in some special cases. 20100606 22:02:05< mordante> ? 20100606 22:02:22< billynux> mordante, but how do I interpret that paste @ debian.net ? Do I... put it in a config file ? 20100606 22:03:01< Espreon> mordante: Well, for this project, your config would be fine. 20100606 22:03:07< mordante> under Linux the file is ~/.subversion/config and it has a sample auto-props section I just added it below 20100606 22:03:11< Espreon> *.cpp = svn:eol-style=native;svn:keywords=r"Author Date Id Revision" ... Uh, wut? 20100606 22:03:21< Espreon> Why the "r"? 20100606 22:04:13< mordante> no idea :-/ guess a r of "random char inserted" ;-) 20100606 22:04:33< billynux> mordante, so... RE the code: any idea as to why after sending that Proxy-Authentication I get an error while trying to read the reply? 20100606 22:05:25< mordante> billynux, do you know what error asio.misc:2 is? 20100606 22:05:35< billynux> Espreon & mordante: My question before wasn't answered. Is there a Configuration Management document for Wesnoth? 20100606 22:05:56< billynux> mordante, nope... I'll look it up, but I don't expect it to be very useful 20100606 22:06:16< Espreon> I wouldn't know. 20100606 22:06:38< mordante> billynux, I also don't know 20100606 22:07:10< Espreon> I'm just the guy who maintains UtBS, looks after the the SVN repository, enforces typographic rules, makes some localized images, and maintains the map. 20100606 22:08:34-!- elias [~elias@allegro/developer/allefant] has quit [Ping timeout: 258 seconds] 20100606 22:09:29< mordante> billynux, the error is an eof error 20100606 22:09:32< Espreon> shadowmaster: Hey, I added something to my list! :D 20100606 22:09:33-!- elias [~elias@allegro/developer/allefant] has joined #wesnoth-dev 20100606 22:09:39< mordante> so might be significant 20100606 22:10:19< billynux> mordante, were you looking at http://www.boost.org/doc/libs/1_43_0/libs/system/doc/reference.html ? -> otherwise, where did you get that from? 20100606 22:10:38< billynux> hah!... I think I may know... 1' 20100606 22:10:51< mordante> billynux, I looked at the reference which pointed me to /usr/include/boost/asio/error.hpp 20100606 22:11:47< mordante> the reference only listed the fields, but I didn't know with which number the enum started, I hoped 1 ;-) 20100606 22:12:27< mordante> (btw the reference of asio) 20100606 22:12:55-!- Gambit [~quassel@pa-67-234-73-7.dhcp.embarqhsd.net] has quit [Quit: over the hill and through the woods. to wipe my computer we go!] 20100606 22:13:35< Ivanovic> silene: could you check this bug report? https://gna.org/bugs/?16124 20100606 22:14:04-!- un214 [~quassel@adsl-75-45-4-19.dsl.scrm01.sbcglobal.net] has joined #wesnoth-dev 20100606 22:14:14< gabba> boucman: what's the preferred approach to bounds-checking? I have a method "void remove_action(int index);", and I can check that the index is within the bounds of the deque with an assert(), but that doesn't protect against crashes in the release build 20100606 22:14:46< boucman> the good approch is code that never goes out of bound :) 20100606 22:15:15< gabba> boucman: so, the method should do nothing is the index is incorrect? 20100606 22:15:54< boucman> gabba: since this is purely internal, there should not be any risk of out of bound access (unlike if index came from WML) so you can put assert for debugging, but since you have complete control of the action dequeue, you should be fine 20100606 22:15:59< boucman> yes 20100606 22:16:10< boucman> the index should not be incorrect 20100606 22:16:11< gabba> I could throw an exception, but for some reason I don't think people will like me :P 20100606 22:16:53< gabba> boucman: ok, assert + method that fails silently sounds good 20100606 22:16:57< billynux> mordante, you are right about the error_code, but I still don't know what might be causing it... I'll keep at it 20100606 22:17:06< boucman> gabba: you can assert for debuggin, or print a message and ignore... but again, you should make sure this never happens. You have control of all callers, so you should control what happens 20100606 22:17:23< mordante> billynux, btw it would be better to test for the error code before trying to read the buffer 20100606 22:17:54< billynux> mordante, any idea why if I read_until ( ... "\r\n\r\n" ...) the ss.str() gets past that? (see that "Received 395-512:") 20100606 22:18:12< mordante> billynux, my guess is your first read reads until the eof and the flag needs to be cleared 20100606 22:18:46< billynux> mordante, ok 20100606 22:19:59-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20100606 22:20:47< mordante> if you mean the boost read_until, it reads _at least_ until \r\n\r\n (it's documented in the manual) 20100606 22:22:46< billynux> yes... and returning with a "Connection: close" would mean the server (squid in this case) closed the socket 20100606 22:23:19< billynux> so I guess I should reconnect and send that, my bad 20100606 22:24:15< mordante> gathering from http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/example/http/client/async_client.cpp 20100606 22:24:29< mordante> and your code Connection: Close that seems to be the case 20100606 22:24:36-!- Crab_ [~Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20100606 22:25:47< billynux> mordante: yep, I was reading that too. Thanks 20100606 22:25:56< mordante> you're welcome 20100606 22:29:06-!- thespaceinvader [~chatzilla@wesnoth/artist/thespaceinvader] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.3/20100401080539]] 20100606 22:29:22< mordante> billynux, do you have more questions? 20100606 22:29:34< billynux> mordante, not ATM 20100606 22:30:26< mordante> all going well further? 20100606 22:31:59< billynux> what do you mean? 20100606 22:32:16< mordante> whether everything goes as you want 20100606 22:33:30< billynux> mordante: yes... very much so. Anything in particular you think I should add to the LaTeX doc? 20100606 22:35:52< billynux> Espreon, newby question RE svn. After setting this up, the "/* $Id: about.cpp 43143 2010-06-02 22:14:44Z alink $ */" headers will be generated automatically by svn? 20100606 22:35:59< mordante> did you change much from the last time, looks rather similar 20100606 22:36:09< billynux> mordante, no 20100606 22:36:53< Espreon> mordante: Yeah, just add $Id$ ... and SVN will do the rest (if you have svn:keywords assigned to the file). 20100606 22:37:02< Espreon> Whoops. 20100606 22:37:05< Espreon> I meant billynux... 20100606 22:37:06< Espreon> LOL. 20100606 22:37:13< billynux> :) and... should I set the first part of the files to "Copyright (C) 2003 - 2010 by David White " too? 20100606 22:37:14< mordante> then I've no more remarks on the document only that it should be place under the /doc/design (maybe an ana subdirectory there) 20100606 22:37:35< billynux> mordante, ok 20100606 22:37:37-!- un214 [~quassel@adsl-75-45-4-19.dsl.scrm01.sbcglobal.net] has quit [Remote host closed the connection] 20100606 22:37:51< Espreon> billynux: IDK, do you want to relinquish your copyright to David? 20100606 22:37:59< mordante> billynux, no Copyright (C) 2010 by Your name " 20100606 22:38:07< billynux> ok, thought so 20100606 22:38:41< mordante> I'm off now, night 20100606 22:38:47< billynux> g'night mordante 20100606 22:38:51-!- kevg [~kevg@94.232.5.102] has joined #wesnoth-dev 20100606 22:39:04< Crab_> Elvish_Pillager: ok, noted, will take a look. btw, formula ai cannot be used in SUF at the moment; you can use only a subset of formula language (e.g., no ai-specific things, only basic math/map/list operations). 20100606 22:39:12-!- kevg [~kevg@94.232.5.102] has left #wesnoth-dev [] 20100606 22:39:20-!- mordante [~mordante@wesnoth/developer/mordante] has quit [Quit: Leaving] 20100606 22:39:29-!- kevg [~kevg@94.232.5.102] has joined #wesnoth-dev 20100606 22:39:46< Elvish_Pillager> Crab_: it would be nice for the distinction between things you can use there and things you can't to be documented somehow. 20100606 22:39:49< Crab_> Elvish_Pillager: there's a good reason for that, too. in mp, when we evaluate a [filter], we don't have access to the AI on *other* clients, since the AI usually runs on one client (host) 20100606 22:40:41< Elvish_Pillager> I was just trying to use it as a workaround to discover a unit's movement cost on a particular hex. Would that actually have to do with the other clients' AI? 20100606 22:40:54-!- dtiger [~dtiger@dynamic-vpdn-93-125-17-26.telecom.by] has quit [Remote host closed the connection] 20100606 22:43:12< Crab_> Elvish_Pillager: no, it's not ai dependent in code. there's a couple of functions which can be safely moved from 'ai-specific formulas' to 'generic formulas' 20100606 22:43:36< Crab_> Elvish_Pillager: movement_cost is one of them (it just needs access to units and map) 20100606 22:43:40< Elvish_Pillager> ah, I see. Sort of anyway. 20100606 22:44:24< Elvish_Pillager> Should it really crash Wesnoth if the WML author puts in bad formula code? 20100606 22:44:30< Crab_> no 20100606 22:44:55< Elvish_Pillager> oh good :p 20100606 22:45:38< Crab_> it's a bug in 99.9 % cases :) (If a WML author will want to crash wesnoth one way or another, he'll do it anyway :) ) 20100606 22:45:43-!- un214 [~quassel@adsl-75-45-4-19.dsl.scrm01.sbcglobal.net] has joined #wesnoth-dev 20100606 22:48:37-!- stikonas [~and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20100606 22:49:02< CIA-86> gabba * r43213 /trunk/src/whiteboard/ (find_visitor.cpp find_visitor.hpp manager.cpp manager.hpp): Whiteboard: adjustments to includes and method parameters 20100606 22:49:09< CIA-86> gabba * r43214 /trunk/src/whiteboard/ (manager.cpp manager.hpp move.cpp move.hpp): Whiteboard: manager functions to add, remove and move around actions. 20100606 22:52:17-!- Blueblaze [~nick@99.182.54.107] has joined #wesnoth-dev 20100606 22:52:37< gabba> boucman: more code, if you want to take a look... it's straightforward stuff. The only hesitation was whether to use ints or iterators as indexes in the method parameters. 20100606 22:53:13< boucman> k, so basically, 0 is the top of the stack, so -1 is "above the top ? 20100606 22:53:30< gabba> boucman: no, -1 is the end 20100606 22:53:46< gabba> boucman: not very intuitive, so I made sure to explain in the comments 20100606 22:53:54< boucman> "end" is the last action to execute isn't it ? 20100606 22:54:14< boucman> and 0 would be the first action ? 20100606 22:54:35< gabba> boucman: yes, front of deque = position 0 = action #1, i.e. oldest and first to be executed 20100606 22:54:57< boucman> hmm, ok... 20100606 22:55:41< boucman> gabba: I can understand having a default param for index when adding an action, but are you sure it makes sense to have it for the push_up and push_down action ? 20100606 22:56:40< boucman> I think it would make code more readable if you had a manager::last_index() and people could right push_down(manager.last_index()) 20100606 22:56:49< gabba> yeah... the default index for push_up (there isn't one for push_down) is not *that* useful, but I expect that pushing up the last action will be fairly common 20100606 22:57:19-!- norbert_ [~norbert@82-171-70-54.ip.telfort.nl] has quit [Quit: Leaving] 20100606 22:57:28< gabba> you can't push down the last_index :P 20100606 22:57:42-!- silene [~plouf@wesnoth/developer/silene] has quit [Quit: Leaving.] 20100606 22:58:18< gabba> but manager::last_index() sounds like a good idea, I hadn't thought of that 20100606 22:58:35< boucman> gabba: ok, here is an alternative way of doing it, let's try to have a similar API to a STL container 20100606 22:59:11< gabba> you mean with (gasp) iterators, begin() and end() functions, and all associated fun? 20100606 22:59:13< boucman> so have a begin() method (always return 0) and end() which returns last_index+1 you probably need a last() that would return the last index 20100606 22:59:27< Crab_> gabba: also, if you're adding assertions, be sure to check the case where index==-1 but the planned_actions_ is empty, too. 20100606 22:59:39< boucman> no, no iterators... i'm more interested in the concept of end() that is "the first invalid value" 20100606 22:59:49< gabba> Crab_: ah yes, thanks 20100606 23:00:09< gabba> boucman: ok 20100606 23:00:21< boucman> we probably don't want people to iterate except through our visitors 20100606 23:00:55< boucman> this way add_move would be instert_move(move& move, int after) or something similar 20100606 23:01:06< boucman> /instert/insert 20100606 23:01:14< billynux> bye y'all 20100606 23:01:16-!- billynux [~billy@wesnoth/developer/billynux] has quit [Quit: Leaving] 20100606 23:01:21< boucman> /after/before 20100606 23:01:24-!- Crab_ [~Crab_@wesnoth/developer/crab] has quit [Quit: Leaving.] 20100606 23:01:25 * boucman is tired 20100606 23:01:38-!- un214 [~quassel@adsl-75-45-4-19.dsl.scrm01.sbcglobal.net] has quit [Remote host closed the connection] 20100606 23:01:50< gabba> boucman: ok, good idea, I'll base myself on the underlying deque API 20100606 23:02:29< boucman> yes let's use existing concepts :) 20100606 23:03:09< gabba> boucman: but I throw out the default values then, because I can't use non-static methods to retrieve those 20100606 23:04:06< boucman> gabba: yes, you can add a "push" shortcut to "add to top" type methods, which is the only place where they really make sense in the first place 20100606 23:04:32< gabba> boucman: I think you mean "add to bottom", but I get the point 20100606 23:05:01< gabba> just to clarify, whenever the player adds an action, I do a push_back in the deque 20100606 23:05:17< boucman> push as a short cut to insert(top) since I tend to think of it as a stack where top is the last action to execute 20100606 23:05:26< boucman> but I think yes, we agree on the idea 20100606 23:05:54< gabba> damn, I should find some other terminology than push_up and push_down then, it's misleading I see 20100606 23:06:00< boucman> gabba: ok, i'll try to addapt to 0->first n->last instead of thinking it as a stack 20100606 23:07:13< boucman> hmm, if the index is a "private" type as in "the user never do any arithmetic on it" the you should use a stack terminology, even if the index go backward 20100606 23:07:31< gabba> move_begin and move_end perhaps.. 20100606 23:07:44< boucman> (though I think the stack terminology agrees with your ordering 0=>bottom of action stack) 20100606 23:09:15< gabba> boucman: well, a stack would work if we had a LIFO system, but currently it's FIFO (first action to be defined ever get called action #1 and is first to be executed), so stack terminology is inacurrate and confusing 20100606 23:09:57< gabba> so actions "enter" by the back of the queue and "exit" by the front 20100606 23:10:21< boucman> it's a stack in the way the user thinks of it, and probably the way it is displayed, I would call it a sort of "double ended stack" but I still think it's a stack from a cognitive point of view 20100606 23:10:57< boucman> but that's pure terminology of an internal API, if you find something you think is clear enough go for it, it's not that important 20100606 23:11:29< gabba> ok 20100606 23:12:32< boucman> gabba: rereading the code of add_move... 20100606 23:12:59< boucman> in the "else" part, you seem to replace the existing move at index instead of inserting it... 20100606 23:13:49 * Espreon hates recompiling Wesnoth... 20100606 23:14:05< Espreon> Just one little change often causes major parts of it to be rebuilt. 20100606 23:14:13< Espreon> ... I've been compiling for a while now... 20100606 23:16:23< gabba> boucman: hmm, let me see that 20100606 23:16:47< gabba> boucman: ah yes, it's intended and documented 20100606 23:16:52-!- tyler__ [~tyler__@m4d0536d0.tmodns.net] has quit [Read error: Connection reset by peer] 20100606 23:17:11< boucman> ok, I don't like that 20100606 23:17:47< boucman> gabba: that's a very, very bad habit to 20100606 23:18:00< boucman> 1) have a function that doesn't do what its name suggests 20100606 23:18:28< boucman> 2) rely on people reading documentation. People only read documentation for border cases, if ever... 20100606 23:18:35< gabba> boucman: I couldn't find a use case where I would need to insert an action, but replacing might come up fairly often when re-pathing or validating (depending on whether I just change the arrow, or replace the whole action) 20100606 23:19:03< gabba> boucman: hmm, ok. It's true that accurate method names are the best documentation 20100606 23:19:09< boucman> gabba: i'll discuss your use case later, but you should rename your function replace_move 20100606 23:19:26< boucman> in which case calling replace_move on the non existing end() is a border case 20100606 23:19:47< gabba> boucman: I'll set it to insert by default, in case it comes up, and I'll add a new function that replaces, then 20100606 23:19:51< boucman> (which is more logicall) or add a separate replace_move that would refuse end() 20100606 23:20:00< boucman> ok 20100606 23:21:24< boucman> gabba: you also have a memory leak since remove_action doesn't call delete 20100606 23:21:40< gabba> boucman: nope ;) 20100606 23:21:49< boucman> huh ? 20100606 23:22:12< gabba> look at the typedef of action_ptr 20100606 23:23:07< boucman> ok 20100606 23:23:32< Espreon> FINALLY! 20100606 23:24:04< boucman> gabba: if you have an idea of your API, you could maybe pastebin the hpp somewhere so I can have a look at it somewhere 20100606 23:24:46< gabba> boucman: sure, I'll pastebin it before starting the implementation 20100606 23:29:15-!- Blueblaze [~nick@99.182.54.107] has quit [Ping timeout: 248 seconds] 20100606 23:34:28-!- k23z__ [~k23z__@188.27.126.178] has joined #wesnoth-dev 20100606 23:35:10< gabba> boucman: http://wesnoth.pastebin.com/XwVDnAsY 20100606 23:36:09-!- ABCD [~abcd@gentoo/developer/abcd] has quit [Ping timeout: 265 seconds] 20100606 23:37:24< boucman> gabba: looks good, i'm still a bit confused about promote, demote, since it's not priority or value, but order of execution, would "move_earlier" "move_later" be fine with you ? 20100606 23:38:07< gabba> hmm 20100606 23:39:46< gabba> I don't really like these (i.e. they won't help me program, somehow), I think I'd prefer just move_forward move_backward then, at least it directly reflect what happens 20100606 23:40:08< gabba> s/reflect/reflects 20100606 23:40:43< boucman> hmm, it disturbs you because you want a name that reflects the internals, whereas I want a name that reflects how it's perceived from the outside... 20100606 23:40:50< gabba> lol 20100606 23:41:30< gabba> well, maybe the question to ask is "how far out" will it get used... 20100606 23:41:41< boucman> well, that's one of the case where I think I have "the good habit" and you're on the "bad programming habbit" side, and as the mentor it's my job to refuse :) 20100606 23:41:58< boucman> no, it's not far out, it's how much should the outside know about the inside, 20100606 23:42:49< boucman> either you consider this as an independant subpart of wesnoth and the people using it should not know anything of the inside 20100606 23:43:21< boucman> or you should have put the user classes in your UML diagram since you assume they are "closely intimated" to the planned_action subsystem 20100606 23:43:30< boucman> but i'm pretty sure you're on the first case 20100606 23:44:01< gabba> sure, but if we abstract some things, we need to abstract them completely. What about the fact that the player will see actions numbered from 1+, but we're using indexes from 0+? 20100606 23:45:19< gabba> here I think it's better to expose completely how it works (to the programmers); they can understand separately that front of deque = executed first, for instance in the code for "execute all" 20100606 23:45:59< boucman> gabba: no, I think the planned_action is a coherent subsystem, and should have a designed API 20100606 23:46:16< boucman> (unlike the way visitors/actions/manager intimately know each others) 20100606 23:47:14< gabba> well, I tend to agree with you, but I dislike speaking of "execution order" and of "index" in the same API 20100606 23:47:58< gabba> so, do we end up saying "insert this action third in the execution order" to be coherent? That's awful. 20100606 23:50:03< boucman> in what way is it awful ? 20100606 23:50:29< boucman> that's what we are doing, from an external point of view, we are manipulating an execution order (stack or list) 20100606 23:50:48< boucman> and yes, when we execute something, all indexes are invalidated, and that's logical 20100606 23:50:58-!- ABCD [~abcd@gentoo/developer/abcd] has joined #wesnoth-dev 20100606 23:51:00< gabba> It's not as widely understood as "index" 20100606 23:51:59< gabba> and changing terminology like that doesn't mix well with explaining index bounds and stuff like that, imho 20100606 23:52:30< boucman> then maybe "index" is not the right word, though i'm not sure why you don't like it... 20100606 23:53:05< boucman> the idea of "more than one person manipulating an array" and of higher level containers implemented with arrays/vectors/dequeue is quite common 20100606 23:54:26< gabba> oh well, all you want is a change to "move_earlier" "move_later", right, the rest is fine? 20100606 23:55:17< gabba> boucman: if it's the case let's go with that then, I don't care enough to discuss it at such lenght 20100606 23:55:27< boucman> not exactly, what I want is to "convince" you to think as another person when designing an API instead of the one implementing it 20100606 23:55:42< boucman> the names are not that important 20100606 23:56:18< boucman> but yes, it's late here, so let's just change the name, we can discuss it at length another time 20100606 23:57:17< gabba> Trying to look back at API's I used in the past (physics/graphic/sound engine), I seem to remember they weren't ashamed of exposing the bare metal, and I thought that was fine 20100606 23:57:47< gabba> But yeah, I'm not really motivated to discuss it now, it drains energy from programming --- Log closed Mon Jun 07 00:00:00 2010