--- Log opened Wed Mar 09 00:00:03 2016 20160309 00:11:48-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth 20160309 00:11:48-!- vultraz [~chatzilla@124.109.10.167] has quit [Changing host] 20160309 00:11:48-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth 20160309 00:17:22-!- Haldrik [~haldrik@unaffiliated/haldrik] has quit [Quit: Haldrik] 20160309 00:34:15-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20160309 00:36:31-!- louis94 [~~louis94@91.178.240.71] has quit [Quit: Konversation terminated!] 20160309 01:03:03-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Ping timeout: 240 seconds] 20160309 01:22:07-!- prkc [~prkc@gateway/vpn/privateinternetaccess/prkc] has quit [Remote host closed the connection] 20160309 02:12:36-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth 20160309 03:14:39-!- ArneBab_ [~quassel@55d47864.access.ecotel.net] has joined #wesnoth 20160309 03:18:30-!- ArneBab [~quassel@55d4410a.access.ecotel.net] has quit [Ping timeout: 246 seconds] 20160309 04:27:26-!- ancestral [~ancestral@97-116-184-84.mpls.qwest.net] has joined #wesnoth 20160309 04:30:08-!- salluc69_ [~salluc69@host36-72-dynamic.15-87-r.retail.telecomitalia.it] has quit [Quit: Sto andando via] 20160309 04:30:22-!- salluc69 [~salluc69@host36-72-dynamic.15-87-r.retail.telecomitalia.it] has joined #wesnoth 20160309 04:34:15-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20160309 04:49:35-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has quit [Quit: #AncientBeast - Master Your Beasts ( www.AncientBeast.com )] 20160309 04:51:07-!- Nean [~elouin@fob.spline.inf.fu-berlin.de] has quit [Ping timeout: 260 seconds] 20160309 04:54:19-!- Nean [~elouin@fob.spline.inf.fu-berlin.de] has joined #wesnoth 20160309 05:36:21-!- janebot_ [~Gambot@grickit.us] has quit [Remote host closed the connection] 20160309 05:36:27-!- janebot_ [~Gambot@grickit.us] has joined #wesnoth 20160309 05:48:10-!- vn971 [~vasya@0896414046.static.corbina.ru] has quit [Quit: Leaving.] 20160309 05:51:09-!- Kwandulin [~Miranda@p200300760F7D7338A029F89888C96B5B.dip0.t-ipconnect.de] has joined #wesnoth 20160309 06:00:47-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth 20160309 06:00:47-!- vultraz [~chatzilla@124.109.10.167] has quit [Changing host] 20160309 06:00:47-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth 20160309 06:21:31-!- celticminstrel is now known as celmin|sleep 20160309 06:33:55-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth 20160309 06:39:33-!- vn971 [~vasya@0896414046.static.corbina.ru] has joined #wesnoth 20160309 06:58:03-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Ping timeout: 240 seconds] 20160309 07:37:48-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth 20160309 07:37:48-!- vultraz [~chatzilla@124.109.10.167] has quit [Changing host] 20160309 07:37:48-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth 20160309 07:40:02-!- Haldrik [~haldrik@unaffiliated/haldrik] has joined #wesnoth 20160309 07:52:20-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 268 seconds] 20160309 07:58:47-!- Alduin_ [~Alduin@2001:4ca0:4fff:1::8f] has joined #wesnoth 20160309 08:13:41-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth 20160309 08:37:45-!- Kwandulin [~Miranda@p200300760F7D7338A029F89888C96B5B.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20160309 08:51:38-!- ancestral [~ancestral@97-116-184-84.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20160309 08:53:22-!- ancestral [~ancestral@97-116-184-84.mpls.qwest.net] has joined #wesnoth 20160309 08:59:15-!- irco [~irco@HSI-KBW-078-042-015-165.hsi3.kabel-badenwuerttemberg.de] has joined #wesnoth 20160309 09:14:57-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has joined #wesnoth 20160309 09:42:33-!- Appleman1234 [~Appleman1@KD106161154152.au-net.ne.jp] has quit [Ping timeout: 240 seconds] 20160309 09:59:00-!- ancestral [~ancestral@97-116-184-84.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20160309 10:20:20-!- ancestral [~ancestral@97-116-184-84.mpls.qwest.net] has joined #wesnoth 20160309 10:36:42-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 244 seconds] 20160309 10:39:11-!- Appleman1234 [~Appleman1@KD106161141205.au-net.ne.jp] has joined #wesnoth 20160309 10:59:31-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth 20160309 11:03:44-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth 20160309 11:39:02-!- ancestral [~ancestral@97-116-184-84.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20160309 12:27:01-!- Samual [~Samual@xonotic/core-team/Samual] has quit [Ping timeout: 240 seconds] 20160309 12:27:01-!- Nean [~elouin@fob.spline.inf.fu-berlin.de] has quit [Ping timeout: 240 seconds] 20160309 12:27:02-!- clavi [~clavi@163.172.10.77] has quit [Ping timeout: 240 seconds] 20160309 12:27:02-!- fabi [~quassel@wesnoth/developer/fendrin] has quit [Ping timeout: 240 seconds] 20160309 12:27:07-!- fendrin [~quassel@176.7.53.120] has joined #wesnoth 20160309 12:27:07-!- fendrin [~quassel@176.7.53.120] has quit [Changing host] 20160309 12:27:07-!- fendrin [~quassel@wesnoth/developer/fendrin] has joined #wesnoth 20160309 12:27:52-!- Nean [~elouin@fob.spline.inf.fu-berlin.de] has joined #wesnoth 20160309 12:34:09-!- Samual [~Samual@xonotic/core-team/Samual] has joined #wesnoth 20160309 12:47:09-!- clavi [~clavi@163.172.10.77] has joined #wesnoth 20160309 12:47:55-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has quit [Quit: #AncientBeast - Master Your Beasts ( www.AncientBeast.com )] 20160309 13:14:15-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20160309 13:16:30-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 276 seconds] 20160309 13:22:02-!- prkc [~prkc@gateway/vpn/privateinternetaccess/prkc] has joined #wesnoth 20160309 13:38:32-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth 20160309 14:42:19-!- janebot_ is now known as janebot 20160309 14:42:48-!- janebot is now known as Guest15979 20160309 14:45:01< DeFender> My favorite thing about IPFs is that you can use them to create something which is totally different from the original intention of an image. For example, I created a dark magic attack (I call it "shadow blast") which uses "projectiles/fireball-impact-[1~16].png~FL(vertical)~GS()~CS(-60,-100,-60)" as its hit animation, and it looks REALLY cool, and unless you knew, you wouldn't guess from looking at it that it's actually something 20160309 14:45:02< DeFender> which was originally fire and smoke. 20160309 14:46:15< celmin|sleep> GS? 20160309 14:52:15-!- wario [~wario_@unaffiliated/wario] has joined #wesnoth 20160309 14:54:22< DeFender> Greyscale 20160309 14:54:56< celmin|sleep> Oh. 20160309 14:55:16< DeFender> basically, i grayscale it, then turn the channels down to give it a black and purple look, and i flip it so it looks like falling darkness instead of rising smoke. 20160309 14:55:19< celmin|sleep> So you first desaturate it, then reapply colour tint. 20160309 14:55:26< DeFender> basically, yeah 20160309 14:55:49< celmin|sleep> Greyscale is a special case of desaturate. 20160309 14:55:57< DeFender> i suppose it is 20160309 14:56:45< celmin|sleep> Well, maybe there's other ways of converting to greyscale. 20160309 14:57:20< DeFender> i suppose there could be... but ~GS() works just fine 20160309 14:58:44< celmin|sleep> I don't mean in IPF specifically. 20160309 15:12:40-!- wario [~wario_@unaffiliated/wario] has quit [Ping timeout: 252 seconds] 20160309 15:13:40< DeFender> okay 20160309 15:14:30< DeFender> whatever, the point is that with a few IFP tweaks and a little creativity, you can repurpose existing images for awesome new things 20160309 15:14:46< celmin|sleep> Indeed. 20160309 15:15:11< zookeeper> DeFender, you know what's the most involved thing i've done with IPF's + core images only? https://dl.dropboxusercontent.com/u/63964618/wesnoth/ipf_portrait_variations.jpg 20160309 15:15:14< celmin|sleep> I made a nice demon summoning circle animation at one point, using a rune circle in... either items or scenery. 20160309 15:15:26< zookeeper> arguably the top right one is rather visibly crappy, but the others look look convincing enough to me 20160309 15:15:28< celmin|sleep> Combined with the submerge and vertical translation options in animations. 20160309 15:15:39< celmin|sleep> Admittedly this isn't IPF, but still. 20160309 15:15:56< DeFender> zookeeper, how in the world did you do this with only IFP?! 20160309 15:16:03< celmin|sleep> Blitting? 20160309 15:16:16< DeFender> Blitting what? 20160309 15:16:21< celmin|sleep> Moustache 20160309 15:16:41< celmin|sleep> I know the troll hero in SotBE has a special helmet blitted over the regular troll portrait. 20160309 15:16:56< DeFender> no, i mean using what core images 20160309 15:16:56< zookeeper> err, what. no, it doesn't. 20160309 15:17:04< celmin|sleep> Pretty sure it does. 20160309 15:17:28< celmin|sleep> Note, I'm speaking from 1.12, so it could've changed. 20160309 15:17:57< DeFender> zookeeper, the top right one doesn't look crappy to me, just looks like a somewhat ugly dude with a big node 20160309 15:17:59< DeFender> nose* 20160309 15:18:34< DeFender> zookeeper, do you have the actual IFP code you made these with somewhere? I'd be super-curious to see your technique 20160309 15:18:34< zookeeper> celmin|sleep, pretty sure it doesn't :p 20160309 15:18:49< zookeeper> DeFender, yeah i'm looking, it wasn't where i thought it would be... 20160309 15:18:58< DeFender> :/ 20160309 15:20:01< zookeeper> http://pastebin.com/ZNtFpaEm 20160309 15:20:35< DeFender> what's the point of the ~NOP()? 20160309 15:20:42< DeFender> :o 20160309 15:20:45< DeFender> wow 20160309 15:20:52< zookeeper> it allows you to split stuff to multiple lines like that 20160309 15:20:54< zookeeper> nothing more 20160309 15:21:07< DeFender> i thought it just did nothing 20160309 15:21:16< zookeeper> it doesn't do anything 20160309 15:21:16< DeFender> why's it necessary for line-spolitting? 20160309 15:21:20< zookeeper> i don't know 20160309 15:21:35< DeFender> wow, this is REALLY creative. i'm gonna have to study this 20160309 15:21:49< DeFender> but right now, i have to go for about an hour, my trainer is here 20160309 15:22:04< zookeeper> something about the image path parsing code dislikes it if you have newlines before the first ~ or something 20160309 15:34:06-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has joined #wesnoth 20160309 15:36:05< celmin|sleep> Maybe it was a different campaign... 20160309 15:36:24< celmin|sleep> I was sure I saw that somewhere... 20160309 15:38:52-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth 20160309 15:45:18< celmin|sleep> ...I can't see any such thing anywhere. Where did I see it, then? :| 20160309 15:46:30< celmin|sleep> I suppose it coud've been in an add-on... 20160309 15:46:32< zookeeper> it shall forever remain a mystery 20160309 15:47:26< celmin|sleep> ^could've 20160309 16:02:43< DeFender> zookeeper, you're basically cropping out various pieces of other images that could look like facial featuers and blitting them onto the portrait. Frankly, my shadow blast is nothing compared to this ingenuity. 20160309 16:03:08< DeFender> or "that COULD look like facial reatures" i should say 20160309 16:03:18< zookeeper> well your shadow blast probably caused you to lose less hours of your life, too... :> 20160309 16:06:10< zookeeper> actually i have two more in brotherhood of light (but not in the version that's on the server): 20160309 16:06:23< zookeeper> "portraits/humans/transparent/mage-light.png~CS(-255,-255,-255)~BL(10)~BLIT(portraits/humans/transparent/mage-light.png~CS(-255,-255,-255)~BL(20)~BLIT(portraits/humans/transparent/mage-light.png)~BLIT(portraits/humans/transparent/mage.png~CROP(192,111,20,13)~MASK(scenery/whirlpool.png~SCALE(20,13))~FL(horiz),255,108)~BLIT(halo/undead/idle-flash-3.png~SCALE(72,100)~CS(-200,-255,-255),216,45),0,0)" 20160309 16:06:23< zookeeper> (scar across the eye, and black halo) 20160309 16:06:40< zookeeper> "portraits/humans/transparent/outlaw.png~BLIT(portraits/humans/transparent/bandit.png~MASK(terrain/mountains/basic_range2_1.png~MASK(masks/teleport-mask-5.png~ROTATE(180)~SCALE(110,72),47,159)~BLIT(terrain/mountains/volcano.png~CROP(34,32,104,116),27,167)~BL(1)~CROP(27,143,104,140),178,6)~CROP(178,6,104,140)~MASK(projectiles/ink.png~CROP(36,24,36,48)~SCALE(175,195)~CROP(0,0,110,140)~BL(3),2, 20160309 16:06:40< zookeeper> 0),176,13)" (different face) 20160309 16:07:23< celmin|sleep> X_X 20160309 16:07:47< DeFender> zookeeper, probably, but the campaign i'm making it for is rather time consuming itself... 20160309 16:08:27< zookeeper> in fact that latter one is probably my best one 20160309 16:08:34< DeFender> still, i think we can all agree that it's a fun hobby, even if a time-consuming one. 20160309 16:09:16< zookeeper> yeah, i probably started as just wanting to make a proof-of-concept and see if it's feasible, and then got carried away 20160309 16:10:29< zookeeper> the tricky part is finding unrelated images which happen to have a suitable shape to work as a mask 20160309 16:13:26< DeFender> i can see that 20160309 16:13:34< DeFender> it's an interesting limitation to be sure 20160309 16:15:08< DeFender> personally, i just discreetly showed what i have on my campaign so far to a friend of mine who likes fantasy and is a graphic designer and I may have offhandedly mentioned that I'm lacking some portrait images, which may have elicited a response that said she'd be interested in helping me with the project... maybe. 20160309 16:16:05< zookeeper> portrait artists aren't exactly in high supply 20160309 16:17:19< DeFender> well, within about 15 minutes after she went home, she sent me https://forums.wesnoth.org/viewtopic.php?f=9&t=21138&sid=80bdb1761b8234c30e53660faf75bdd7 that she had dug up... 20160309 16:17:27< DeFender> so maybe she'll have some luck 20160309 16:17:35-!- Kwandulin [~Miranda@p200300760F7D73B4A19A81CAD4EBE545.dip0.t-ipconnect.de] has joined #wesnoth 20160309 16:17:46< DeFender> and yeah, seems like this kitty person did most of the good portraits 20160309 16:18:11< zookeeper> kitty and lordbob, yeah 20160309 16:20:21< DeFender> which reminds me, i was pleasantly surprised to find a comment in the code for the female white mage mentioning how the portrait should be right-side only by kitty's request. I assume it's because of something I had already noticed, which is that while the female white mage is very pretty as drawn (yeah, I'll admit it, i'm attracted to a drawing), she doesn't look quite right the other way (oddly enough, my wife thinks she's prettier 20160309 16:20:22< DeFender> flipped) 20160309 16:24:30< zookeeper> yeah there's a few of those. 20160309 16:26:22< DeFender> zookeeper, but yeah, the point is that I doubt the "official" graphics people would want to waste time drawing custom portraits for a UMC from a noob who doesn't even have a forum account yet and is writing a story that may or may not even pan out. 20160309 16:26:56< zookeeper> of course 20160309 16:27:59< DeFender> that said, imade some of my story images before i found that, so i hope kitty doesn't mind if there are a couple of flipped white mages in a 5-second group photo in the intro for some UMC campaign that may or may not pan out from a noob who doesn't even have a forum account yet. :P 20160309 16:32:47< DeFender> btw, zookeeper, fireball-fail-6 could be an interesting eyebrow-mustache-beard combo :P 20160309 16:40:20-!- Guest15979 is now known as janebot 20160309 16:40:50-!- janebot is now known as Guest74474 20160309 16:42:48-!- Guest74474 [~Gambot@grickit.us] has quit [Changing host] 20160309 16:42:48-!- Guest74474 [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20160309 16:43:29-!- Guest74474 is now known as janebot 20160309 16:47:20-!- wario [~wario_@unaffiliated/wario] has joined #wesnoth 20160309 16:58:19-!- wario [~wario_@unaffiliated/wario] has quit [Ping timeout: 260 seconds] 20160309 17:01:59-!- wario [~wario_@unaffiliated/wario] has joined #wesnoth 20160309 17:02:16-!- fendrin [~quassel@wesnoth/developer/fendrin] has quit [Read error: Connection reset by peer] 20160309 17:02:30-!- fendrin [~quassel@wesnoth/developer/fendrin] has joined #wesnoth 20160309 17:10:19-!- Nobun [~nobun@host62-49-dynamic.12-79-r.retail.telecomitalia.it] has joined #wesnoth 20160309 17:11:57-!- wario [~wario_@unaffiliated/wario] has quit [Ping timeout: 260 seconds] 20160309 17:17:50-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 248 seconds] 20160309 17:28:52-!- louis94 [~~louis94@91.178.242.211] has joined #wesnoth 20160309 17:40:33-!- iwaim___ [~iwaim@rasteenie.alib.jp] has quit [Ping timeout: 246 seconds] 20160309 17:44:50-!- ArneBab [~quassel@55d40cd7.access.ecotel.net] has joined #wesnoth 20160309 17:46:47-!- iwaim___ [~iwaim@rasteenie.alib.jp] has joined #wesnoth 20160309 17:47:52-!- ArneBab_ [~quassel@55d47864.access.ecotel.net] has quit [Ping timeout: 250 seconds] 20160309 17:48:59-!- iwaim___ [~iwaim@rasteenie.alib.jp] has quit [Remote host closed the connection] 20160309 17:50:19-!- iwaim [~iwaim@rasteenie.alib.jp] has joined #wesnoth 20160309 17:57:00-!- louis94 [~~louis94@91.178.242.211] has quit [Read error: Connection reset by peer] 20160309 17:57:23-!- louis94 [~~louis94@91.178.242.211] has joined #wesnoth 20160309 18:06:50-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth 20160309 18:31:57-!- louis94 [~~louis94@91.178.242.211] has quit [Ping timeout: 248 seconds] 20160309 18:33:03-!- bool_ [~bool_@unaffiliated/bool-/x-1030778] has quit [Quit: ZNC - http://znc.in] 20160309 18:34:28-!- bool_ [~bool_@unaffiliated/bool-/x-1030778] has joined #wesnoth 20160309 18:41:04-!- bool_ [~bool_@unaffiliated/bool-/x-1030778] has quit [Quit: ZNC - http://znc.in] 20160309 18:43:51-!- celmin|sleep is now known as celmin|away 20160309 18:46:31-!- bool_ [~bool_@unaffiliated/bool-/x-1030778] has joined #wesnoth 20160309 18:58:40-!- claymore2 [~hexchat@host86-172-14-203.range86-172.btcentralplus.com] has joined #wesnoth 20160309 19:01:25-!- Kwandulin [~Miranda@p200300760F7D73B4A19A81CAD4EBE545.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20160309 19:25:38-!- wario [~wario_@unaffiliated/wario] has joined #wesnoth 20160309 19:37:38-!- Kwandulin [~Miranda@p200300760F7D73B47D1779C7A7D4C004.dip0.t-ipconnect.de] has joined #wesnoth 20160309 19:45:38-!- louis94 [~~louis94@91.178.242.211] has joined #wesnoth 20160309 19:48:46< DeFender> does [missile_frame] have some special meaning as opposed to [whateveryouwant_frame]? It seems from my looking at some code in core and from my testing that [missile_frame] has special defaults of offset naturally shifting from 0.0 to 1.0, but that's not well documented on https://wiki.wesnoth.org/AnimationWML Its use on that page makes it just look like an example of some frame with a different name. 20160309 19:49:22-!- ancestral [~ancestral@63.92.240.233] has joined #wesnoth 20160309 20:13:59< zookeeper> it's the offset, and maybe also whether the image gets flipped vertically for ne/nw or se/sw 20160309 20:14:47< zookeeper> well, s and n too. 20160309 20:16:20< DeFender> right. my point is more that the animation docs don't actually describe the fact that it's a special name 20160309 20:18:05< DeFender> i'd change them myself but i still don't actually have an account 20160309 20:19:10< DeFender> a separate question: is there a way to change or add a frame series to an attack animation based on what kind of terrain the attacker/defender is standing on? For example, let's say i wanted there to be an extra halo for a water attack when the attacker is standing in water 20160309 20:19:12-!- louis94 [~~louis94@91.178.242.211] has quit [Ping timeout: 260 seconds] 20160309 20:22:22< zookeeper> change or add? no, you can't modify existing animations 20160309 20:22:47< DeFender> i mean i'm making the animation 20160309 20:23:06< DeFender> but it want it to differ slightly when the unit is on water 20160309 20:23:29< zookeeper> well, yes. but the way conditional stuff works in animations is incredibly iffy, and i'd very much suggest just making two copies of the animations and putting a terrain filter on the second one. 20160309 20:23:30< DeFender> there's [if] for animations, but it only seems to support "hits=yes" or "hits=no", unless i'm missing something 20160309 20:23:57< DeFender> how do i put a terrain filter on an animation? 20160309 20:24:38< zookeeper> https://wiki.wesnoth.org/AnimationWML#Generic_animation_filters_available_for_all_animations 20160309 20:24:57< DeFender> ... 20160309 20:25:02< DeFender> yeah, that'd be how 20160309 20:25:11 * DeFender doesn't know how he missed that 20160309 20:25:19< zookeeper> it's a long page, easy to miss :p 20160309 20:26:14< DeFender> and yeah, i don't care if I have to make two copies of the animation (well, 4, in this case, given that i have both male and female), i just wanted to have a cool water attack that is awesomer when actually on water 20160309 20:27:03< DeFender> wait a minute... so shouldn't the [if] actually allow any of these filters as well? 20160309 20:27:59< zookeeper> no, they do 20160309 20:28:35< zookeeper> but if you combine multiple [if]s (hit, miss, water, no water, etc) then i can almost guarantee that it won't work the way you would reasonably expect and it's really hard to figure out why :p 20160309 20:29:03< DeFender> you talking about nesting or paralell? 20160309 20:29:17< zookeeper> at least parallel, maybe nested too, i dunno 20160309 20:29:33< zookeeper> but you can try if you want 20160309 20:30:15< zookeeper> the only simple piece of wisdom i have for that is to make sure you always provide [else] blocks after your [if]s, even if they're just empty. 20160309 20:31:05-!- ancestral [~ancestral@63.92.240.233] has quit [Quit: i go nstuf kthxbai] 20160309 20:31:13< DeFender> huh... 20160309 20:31:18< DeFender> that's... interesting 20160309 20:31:41< DeFender> okay, well one way or another i ought to be able to make it do what i want 20160309 20:33:01< DeFender> ah, okay. I think i see what's going on. 20160309 20:34:06< DeFender> unlike [if] in events, which have their own [else] within them, [if] and [else] for animations are on the same level (and i guess the [else]s just apply to whatever if numerically matches) 20160309 20:35:47< DeFender> so that you think that "[if] cond1 dostuff [/if][if] cond2 dothings [/if][else] do otherthings [/else]" will mean that "dootherthings" happens when cond2 is false, but it actually happens when cond1 is false. 20160309 20:35:59< DeFender> (because cond1 lacked an else) 20160309 20:36:53< DeFender> which seems like an oversight in the way the wml for this was set up 20160309 20:38:56-!- louis94 [~~louis94@91.178.242.211] has joined #wesnoth 20160309 20:42:02-!- celmin|away is now known as celticminstrel 20160309 20:43:46 * celticminstrel pokes vultraz about the account thing. 20160309 20:44:09< celticminstrel> Yeah, the animation [if][else] is completely different from the ActionWML. 20160309 20:45:09< DeFender> celticminstrel, the fact that it accepts different keys and subtags, fine. the fact that it's structured so that the if has no direct connection to the else is problematic 20160309 20:45:29< celticminstrel> Yup. 20160309 20:46:21-!- louis94 [~~louis94@91.178.242.211] has quit [Ping timeout: 248 seconds] 20160309 20:47:24< celticminstrel> I think the easiest thing to do is, when in doubt, don't use [else] - just use another [if] instead. 20160309 20:48:19< zookeeper> i'd be very wary of making that suggestion unless you know you know that it works 20160309 20:48:46< zookeeper> things break very quickly when you try to pull stuff like that 20160309 20:49:25< celticminstrel> Does [else] actually do anything different than [if]? I'm sure I've seen [if]hits=yes[/if][else]hits=no[/else] type constructions somewhere. 20160309 20:50:12< Nobun> as far as I remember, it should exist also ad [elseif] or something similar to allow multiple if, elseif, elseif, else 20160309 20:50:30< celticminstrel> I think it might be better to change it more drastically. 20160309 20:50:41< Nobun> don't know if it is introduced in 1.13 or in 1.12 20160309 20:50:59< celticminstrel> [elseif] was introduced in 1.13 for ActionWML. Not for animations. 20160309 20:56:05< zookeeper> Nobun, different [if] 20160309 20:59:07-!- salluc69 [~salluc69@host36-72-dynamic.15-87-r.retail.telecomitalia.it] has quit [Quit: Sto andando via] 20160309 21:08:05-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [] 20160309 21:09:16-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth 20160309 21:20:10-!- Alduin_ [~Alduin@2001:4ca0:4fff:1::8f] has quit [Ping timeout: 268 seconds] 20160309 21:35:09-!- claymore2 [~hexchat@host86-172-14-203.range86-172.btcentralplus.com] has quit [Quit: Leaving] 20160309 21:51:14< DeFender> zookeeper, yep, nested is also weird. I have "[if]terrain_type=A*,S*,W*" with "[if]terrain_type=S*,W*" inside it (with each one having an else) and if it's not snow, swamp, or water, it does the animation i told it to, but if it is, despite the fact that this SHOULD be specializing one kind of animation for swamp and water and the other for snow, it seems to be randomly picking which one it uses for all three. :/ 20160309 21:52:42< DeFender> actually, it seems to be even worse 20160309 21:52:58< DeFender> on snow, it ALWAYS picks the one that should be for swamp and water 20160309 21:53:06< DeFender> on swamp and water, it randomizes 20160309 21:53:27< DeFender> yep. yep. the conditional handling here is definitely borked. 20160309 21:56:48< DeFender> though i actually do understand why, the documents even say so. it's because animations are initialized at initialization time with separate animations for each if/else branch, and then have the usual animation precedence rules applied, so while i THINK i'm creating an animation that only runs for swamp and water, and the other only for snow, what i'm ACTUALLY doing is creating a bunch of separate animations, one which checks for 20160309 21:56:49< DeFender> snow, swamp and water, another which is just for swamp and water, etc. This also explains why there's often the structure celticminstrel mentioned where else has filters also. 20160309 21:57:12< DeFender> in fact, i have a hunch that adding "terrain_type=A*" to the else might actually fix what's currently happening 20160309 21:58:17< DeFender> aaaaaaaannnnnnnnd it doesn't. 20160309 21:58:24< DeFender> well... there goes THAT theory. 20160309 22:03:05< DeFender> (note that the reason i tried it this way first wasn't because I didn't trust zookeeper, but because i wanted to understand for myself how the animation conditionals actually work) 20160309 22:03:51< celticminstrel> DeFender: That's probably because it's the same filter key both times. Don't use filter keys in a nested if that were used in any enclosing context. 20160309 22:04:19< celticminstrel> It's not that the conditional handling is broken. It's that it doesn't work how you expect it to. 20160309 22:04:36< DeFender> then i'm not sure how to create an animation where some frames between 3 terrain types is shared but some are specialized to just two. 20160309 22:04:51< DeFender> agreed. 20160309 22:05:12< celticminstrel> When the parser sees a conditional tag, it basically splits the animation into two separate animations, merging the [if] into the main animation tag. 20160309 22:05:49< celticminstrel> Using [if] is nothing but a shorthand for having multiple animations with different filters. If you can't figure out how to use [if] to do what you want, then make multiple animations with different filters. 20160309 22:05:59< DeFender> right 20160309 22:06:08< DeFender> which is what zookeeper told me to do in the first place. 20160309 22:06:13< celticminstrel> Heh. 20160309 22:06:33< celticminstrel> It can be a useful shorthand if you're doing relatively simple conditional things, but I guess it breaks down for anything complex. 20160309 22:06:38< DeFender> like i said, i'm doing this to understand how it works, not because i didn't believe it behaved differently from expected 20160309 22:07:24< DeFender> yes, but on the other hand, it COULD be parsed and applied in a more expected manner 20160309 22:08:44< celticminstrel> Probably. 20160309 22:10:37< celticminstrel> Also, when multiple animations match a context, the game does in fact pick randomly - it's mentioned somewhere on that page. This is a feature. 20160309 22:11:26< celticminstrel> I think that case of nested if's probably resulted in one with terrain_filter=A^*,S^*,W^* and one with terrain_filter=S^*,W^* 20160309 22:14:18< DeFender> i know 20160309 22:14:36< DeFender> but actually, i'm an idiot 20160309 22:14:40< DeFender> and i was right 20160309 22:14:47< DeFender> adding the filter to the else DID fix it 20160309 22:15:06< DeFender> and it DOES apparently allow the same filter at different if levels 20160309 22:15:27< DeFender> i thought it hadn't fixed it because i had actually put the animation i wanted for snow in the swamp/water block and vice-versa :P 20160309 22:15:50< celticminstrel> Sure it allows it, but the most deeply nested one will take priority. 20160309 22:16:13-!- louis94 [~~louis94@91.178.242.211] has joined #wesnoth 20160309 22:23:41-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 268 seconds] 20160309 22:23:41< DeFender> ah 20160309 22:23:47< DeFender> which is actually what i want here anyway 20160309 22:24:06< DeFender> so i could probably drop the upper level one and just have it on the inner one... 20160309 22:24:23< DeFender> makes sense. 20160309 22:24:51< DeFender> actually, i should test your theory... i'mm'a add G* to the top level and see what it does 20160309 22:25:24< DeFender> but i think i now have a pretty good handle on how it actually works, and i might be able to do some cool things with it despite it being a little confusing 20160309 22:28:02< celticminstrel> I'm pretty sure the basic idea is that the animation is split into two; the contents of the [if] is merged into one, and the [else] into the other. 20160309 22:28:14< DeFender> celticminstrel, also, based on the behavior i'm seeing, i think you may be right that there's no real difference between [if] and [else] in this context. I'm going to go test that too. 20160309 22:28:22< celticminstrel> Then this is repeated until there are no [if] or [else] left. 20160309 22:28:44< celticminstrel> I think there's no difference in the content of [if] vs [else]. 20160309 22:29:07< celticminstrel> It could be that the parser splits the animation, then takes the first [if] and the first [else] and uses those. 20160309 22:29:24< DeFender> right 20160309 22:29:31< DeFender> that's what i'm seeing. 20160309 22:29:54< celticminstrel> So for example, perhaps if you had [if]...[/if][if]...[/if][else]...[/else][else]...[/else] it would be identical to [if]...[/if][else]...[/else][if]...[/if][else]...[/else]. 20160309 22:30:41< celticminstrel> Based on how config merging works, nested [if]s are probably processed after toplevel ones. 20160309 22:30:42< DeFender> i believe that is the case... it might be more approriate to think of them as [split] and [alt_split] 20160309 22:31:06< celticminstrel> Also you might be able to do weird things with this. 20160309 22:31:12< DeFender> because it's not a true if. it's not conditional, it just splits the code into two 20160309 22:31:15-!- Kwandulin [~Miranda@p200300760F7D73B47D1779C7A7D4C004.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20160309 22:31:25< DeFender> i'm sure there are a lot of very weird things one could do with this 20160309 22:31:51< DeFender> if there was an IOWMLCC, i'm sure this area would be heavily utilized 20160309 22:37:29< celticminstrel> http://pastebin.com/bYErbBLH 20160309 22:37:51< celticminstrel> ^ One possible weird thing - use one [if] to decide on the [else] for another [if]. 20160309 22:37:58< celticminstrel> Untested. May or may not actually work as I suspect. 20160309 22:38:33< celticminstrel> Relies on the assumption that the relative ordering of the [if] and [else] doesn't actually matter. 20160309 22:45:04< DeFender> hmmm 20160309 22:45:20-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth 20160309 22:45:24< DeFender> i suspect it wouldn't work, because i suspect the if/else association is per-level, but yuou never know 20160309 22:48:52< celticminstrel> Maybe. 20160309 22:49:08< celticminstrel> If it deals with the most deeply nested case first, then it wouldn't work. 20160309 22:49:31< celticminstrel> It's not an idea I'd recommend anyone using even if it did work. :P 20160309 22:59:16< DeFender> indeed 20160309 22:59:27-!- elias [~allefant@allegro/developer/allefant] has quit [Ping timeout: 250 seconds] 20160309 22:59:37-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has quit [Ping timeout: 240 seconds] 20160309 22:59:58-!- elias [~allefant@allegro/developer/allefant] has joined #wesnoth 20160309 23:00:10< DeFender> another question: in attack specials, for apply_to, what's the difference between "self" and "attacker" and "opponent" and "defender"? 20160309 23:00:57< DeFender> meaning, it seems like "self" and "attacker" would be the same thing and likewise with "opponent" and "defender" 20160309 23:01:39< celticminstrel> "self" always references the unit with the ability. 20160309 23:01:48< celticminstrel> "opponent" always references whoever that unit is fighting. 20160309 23:02:00< celticminstrel> "attacker" and "defender" depend on which of the two initiated the fight. 20160309 23:02:20< DeFender> ohhhhhh 20160309 23:03:29< DeFender> so like "steadfast" would use "defender" filtered for self? 20160309 23:03:32< DeFender> or something? 20160309 23:03:45< celticminstrel> It could. I'm not sure if it does. 20160309 23:03:56< celticminstrel> Actually, I think that uses active_on=defense. 20160309 23:05:35-!- wario [~wario_@unaffiliated/wario] has quit [Quit: Leaving] 20160309 23:05:43< DeFender> ah, okay, i see 20160309 23:06:37< DeFender> so by combining apply_to and active_on, you can account for every permutation. 20160309 23:06:41< DeFender> nice 20160309 23:07:11< DeFender> though, it would seem that using active_on with anything but self or opponent would be pointless 20160309 23:08:04< DeFender> in fact, it seems as though active_on=defense and apply_to=defender would mean the same thing, no? 20160309 23:08:22-!- irco [~irco@HSI-KBW-078-042-015-165.hsi3.kabel-badenwuerttemberg.de] has quit [Ping timeout: 260 seconds] 20160309 23:08:37< DeFender> seems odd that there are values for that in apply_to as well 20160309 23:11:04-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 260 seconds] 20160309 23:11:52< celticminstrel> No. 20160309 23:12:15< celticminstrel> active_on=defense means that it applies only when the unit with the ability is defending. It says nothing about who it applies to. 20160309 23:12:57< celticminstrel> It could be something that reduces the enemie's damage by 1, but only when the unit is defending. 20160309 23:35:24-!- Haldrik [~haldrik@unaffiliated/haldrik] has quit [Quit: Haldrik] 20160309 23:36:29-!- louis94 [~~louis94@91.178.242.211] has quit [Quit: Konversation terminated!] 20160309 23:45:34< DeFender> hmm --- Log closed Thu Mar 10 00:00:32 2016