--- Log opened Sat Oct 29 00:00:36 2016 20161029 00:03:18< janebot> wesnoth: Battle of Wesnoth ripoff? Came across this in Steam's recent releases. (by /u/justashade) https://redd.it/59xubk 20161029 00:32:23-!- Narrat [~Narrat@p2E5117AF.dip0.t-ipconnect.de] has quit [Quit: They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.] 20161029 00:36:27-!- mystic_x [~X@unaffiliated/mysticx] has quit [Ping timeout: 265 seconds] 20161029 01:15:59-!- wario [~wario_@unaffiliated/wario] has quit [Quit: Leaving] 20161029 01:41:05-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20161029 02:19:48-!- ArneBab [~quassel@55d44554.access.ecotel.net] has joined #wesnoth 20161029 02:24:07-!- ArneBab_ [~quassel@55d4542b.access.ecotel.net] has quit [Ping timeout: 256 seconds] 20161029 02:47:56-!- Jetrel [~Jetrel@2001:558:6014:1e:2422:435:dd84:bbf3] has quit [Quit: "The highest possible stage in moral culture is when we recognize that we ought to control our thoughts." - Charles Darwin] 20161029 02:50:29-!- Jetrel [~Jetrel@2001:558:6014:1e:2422:435:dd84:bbf3] has joined #wesnoth 20161029 02:50:38-!- jemadux [~jemadux@unaffiliated/jemadux] has quit [Quit: Leaving] 20161029 03:28:23-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Ping timeout: 245 seconds] 20161029 03:28:35-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth 20161029 03:55:12-!- lamefun [~lamefun@5.167.126.24] has quit [Quit: Leaving] 20161029 03:56:19-!- ArneBab_ [~quassel@55d44f3d.access.ecotel.net] has joined #wesnoth 20161029 04:00:29-!- ArneBab [~quassel@55d44554.access.ecotel.net] has quit [Ping timeout: 260 seconds] 20161029 04:57:23-!- Vadatajs [~Vadatajs@75-167-202-247.cdrr.qwest.net] has quit [Read error: Connection reset by peer] 20161029 04:59:14-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Ping timeout: 250 seconds] 20161029 04:59:48-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth 20161029 04:59:48-!- vultraz [~chatzilla@124.109.10.167] has quit [Changing host] 20161029 04:59:48-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth 20161029 05:44:20-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has joined #wesnoth 20161029 05:58:01-!- ChipmunkV [~vova@static-89-94-113-91.axione.abo.bbox.fr] has joined #wesnoth 20161029 05:59:36-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has quit [Ping timeout: 260 seconds] 20161029 06:03:55-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has joined #wesnoth 20161029 07:25:19-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] 20161029 07:55:45-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth 20161029 08:12:57-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20161029 08:43:31-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has joined #wesnoth 20161029 08:59:57-!- jemadux [~jemadux@unaffiliated/jemadux] has joined #wesnoth 20161029 09:20:29-!- RatArmy [~RatArmy@133.15.175.65] has joined #wesnoth 20161029 09:36:36-!- RatArmy [~RatArmy@133.15.175.65] has quit [Quit: Leaving] 20161029 09:46:42-!- wario [~wario_@unaffiliated/wario] has joined #wesnoth 20161029 11:26:43-!- Vadatajs [~Vadatajs@97-127-180-98.cdrr.qwest.net] has joined #wesnoth 20161029 11:34:18-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20161029 11:40:09-!- claymore [~claymore@unaffiliated/claymore] has joined #wesnoth 20161029 12:10:48-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has joined #wesnoth 20161029 12:32:18-!- claymore [~claymore@unaffiliated/claymore] has quit [Quit: Leaving] 20161029 12:49:18-!- louis94 [~~louis94@91.178.241.117] has joined #wesnoth 20161029 12:57:02-!- louis94 [~~louis94@91.178.241.117] has quit [Ping timeout: 252 seconds] 20161029 13:10:12-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth 20161029 13:35:14-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20161029 14:13:58-!- lamefun [~lamefun@5.167.126.24] has joined #wesnoth 20161029 14:34:29-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth 20161029 14:39:54-!- claymore [~claymore@unaffiliated/claymore] has joined #wesnoth 20161029 14:54:02-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth 20161029 14:59:46-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has joined #wesnoth 20161029 15:14:48< lamefun> Is there some way to hide the health bars of certain units? 20161029 15:26:57-!- claymore [~claymore@unaffiliated/claymore] has quit [Quit: Leaving] 20161029 15:27:27-!- Narrat [~Narrat@p2E5117AF.dip0.t-ipconnect.de] has joined #wesnoth 20161029 15:36:26-!- cyphase_ [~cyphase@c-50-148-131-137.hsd1.ca.comcast.net] has joined #wesnoth 20161029 15:40:11-!- cyphase_ [~cyphase@c-50-148-131-137.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 20161029 16:00:51-!- Kranix [~magnus@x1-6-74-44-01-e4-f1-52.cpe.webspeed.dk] has joined #wesnoth 20161029 16:09:36-!- DeFender1031 [~DeFender1@46-116-17-86.bb.netvision.net.il] has joined #wesnoth 20161029 16:37:40< zookeeper> lamefun, i don't think so 20161029 16:39:03< DeFender1031> there's a way to hide the ENTIRE unit though, including the health bar 20161029 16:39:17< DeFender1031> (the unit will still actually be there though) 20161029 16:40:29< DeFender1031> actually... i wonder if the health bar could be hidden with "hp_bar_scaling" 20161029 16:41:17< zookeeper> ah, worth a try for sure 20161029 16:42:23< zookeeper> looks like it's undocumented 20161029 16:42:31< DeFender1031> hmm... is there a per-unit xp_bar_scaling as well? Seems odd that there'd be only one and not the other. 20161029 16:42:55< DeFender1031> zookeeper, what do you mean it's undocumented? YOU fixed the spelling on it last week 20161029 16:43:42< DeFender1031> https://wiki.wesnoth.org/index.php?title=SingleUnitWML&type=revision&diff=57976&oldid=57881 20161029 16:43:47< zookeeper> oh right, i was expecting to find it in UnitTypeWML 20161029 16:43:52< zookeeper> but it's SingleUnitWML only 20161029 16:43:55< DeFender1031> right 20161029 16:44:01< DeFender1031> and top-level game config 20161029 16:44:23< zookeeper> GameConfigWML says it works in [unit_type] too though 20161029 16:44:31< DeFender1031> oh, interesting 20161029 16:44:38< DeFender1031> so then that should be added as appropriate 20161029 16:44:46< DeFender1031> ah 20161029 16:44:58< DeFender1031> and it also sayss the xp bar scaling works in both of those as well. 20161029 16:45:01< DeFender1031> i'll go do that. 20161029 16:46:15< DeFender1031> done 20161029 16:46:32< zookeeper> great, thanks 20161029 16:47:27< DeFender1031> i think i'll also go and separate out the unit-data from the [unit] tag behavior attributes. like we discussed a while ago 20161029 16:48:09< DeFender1031> (we had discussed putting things like "placement" and "to_variable" on the action page, leaving only the persistent unit data on single unit wml) 20161029 16:51:20< DeFender1031> oh.... hmm... singleunitwml also talks about the [unit] tag itself as a non-action tag inside the [side] tag 20161029 16:51:29< DeFender1031> whatever, I still think I can clean this up. 20161029 16:51:48< DeFender1031> probably separate into sections of "unit data" and "creation options" 20161029 16:52:27< zookeeper> so, split off all keys/tags which are _only_ relevant when creating a unit from SingleUnitWML to the [unit] in DirectActionsWML? 20161029 16:52:38< zookeeper> or that 20161029 16:52:53< celticminstrel> Are there attributes that differ between [side][unit] and ActionWML [unit]? 20161029 16:53:06< DeFender1031> the former is what i was planning to do, but then i noticed the [side] thing 20161029 16:53:22< DeFender1031> celticminstrel, as far as i can tell, there is ONE difference 20161029 16:53:33< DeFender1031> which is that "side=" isn't necessary inside of [side] 20161029 16:54:17< celticminstrel> Hmm, well, splitting SingleUnitWML into two sections sounds okay I guess; the behaviour attributes won't exist when the unit is stored, after all. 20161029 16:54:26< DeFender1031> exactly 20161029 16:54:27< celticminstrel> BTW, are the animations present when the unit is stored? 20161029 16:54:30< celticminstrel> Guessing not... 20161029 16:54:48< DeFender1031> celticminstrel, animations inside of [object]s are, but base animations are only from unittype 20161029 16:55:08< DeFender1031> celticminstrel, AFAICT, trying to put an [animation] tag inside a unit will not do anything meaningful. 20161029 16:55:43< DeFender1031> AKA: units don't actually carry around their animations per instance. 20161029 16:57:40< DeFender1031> hmm... oddly enough, i don't see those scaling attributes in the game inspector either. 20161029 16:58:22< DeFender1031> are the 1.13 only? If so, they should be documented as such. 20161029 17:01:19< zookeeper> dunno 20161029 17:01:22< zookeeper> quite possible 20161029 17:02:17< zookeeper> no, even 1.12 source code seems to have them 20161029 17:04:36< celticminstrel> I don't see them in 1.13 inspector either. 20161029 17:16:27< DeFender1031> odd... 20161029 17:17:07< DeFender1031> it seems that the data that a unit has is somehow filtered when transferred between storage and usage... 20161029 17:17:26< DeFender1031> or maybe there are just certain defaults the inspector doesn't show... 20161029 17:17:49< DeFender1031> i'm going to have to test some of this stuff... 20161029 17:18:54< DeFender1031> (though, that thing i mentioned the other day about image= not actually holding kinda does prove that there's SOME weirdness going on during store/unstore) 20161029 17:20:41< DeFender1031> hmm... there's no "placement" option for a unit that doesn't check passability and also does not overwrite 20161029 17:29:19-!- jemadux [~jemadux@unaffiliated/jemadux] has quit [Read error: Connection reset by peer] 20161029 17:31:37-!- jemadux [~jemadux@unaffiliated/jemadux] has joined #wesnoth 20161029 17:34:22< lamefun> Can I include images/sounds without publishing an add-on? 20161029 17:39:40< DeFender1031> lamefun, in what? 20161029 17:40:04< lamefun> In a scenario. 20161029 17:41:06-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20161029 17:42:57-!- claymore [~claymore@unaffiliated/claymore] has joined #wesnoth 20161029 17:43:03< lamefun> I've got a hack script that converts an image into a bunch of rectangles and then a Lua script reconstructs it with ~BLIT(..), I wounder if I can get rid of it. 20161029 17:49:10< DeFender1031> wow... i suggested something like that a while ago 20161029 17:49:20< DeFender1031> but no, you cannot include custom files without an add on 20161029 17:52:28-!- cyphase [~cyphase@unaffiliated/cyphase] has quit [Ping timeout: 250 seconds] 20161029 17:54:59< lamefun> Quite surprisingly it works well, I even use one of those images in an attack animation. 20161029 17:55:37< zookeeper> so how big do those BLIT chains tend to be? :p 20161029 17:55:41< DeFender1031> lamefun, that's because wesnoth caches images and IPF calls 20161029 17:56:11< DeFender1031> so it'll only have to calculate the image the first time it sees it. 20161029 17:58:54-!- cyphase [~cyphase@unaffiliated/cyphase] has joined #wesnoth 20161029 18:03:16< lamefun> zookeeper, https://raw.githubusercontent.com/lamefun/colosseum-xp/master/utils/garlic.png - this is around 750 blits. 20161029 18:13:46< vultraz> heh, good luck with performance 20161029 18:16:44< DeFender1031> vultraz, image cache... :P 20161029 18:17:45< vultraz> wesnoth uses software rendering. even if the result is cached, the initial creation time is in no way optimal 20161029 18:18:18< DeFender1031> of course not. 20161029 18:18:31< DeFender1031> but whatever, it's a one-time load. 20161029 18:19:32< zookeeper> sadly, i believe the image cache stores every one of the intermediate BLIT results, not just the final image... :p 20161029 18:19:35< DeFender1031> Okay, i'm working on cleaning up https://wiki.wesnoth.org/SingleUnitWML Anyone have any idea what the line "Might be used if the unit type has some advancements, but this particular one is supposed to have some of them already taken." under [modifications][advance] is supposed to mean? 20161029 18:19:50< zookeeper> not completely sure but that was my impression from the code 20161029 18:19:54< DeFender1031> zookeeper, yeah, so it'll be a memory hog, but not a processing hog. :P 20161029 18:21:00< DeFender1031> anyway, anyone have any idea what that line is supposed to mean? 20161029 18:23:58< zookeeper> "might" should be "can" 20161029 18:24:01< zookeeper> i think 20161029 18:24:09< zookeeper> that way it makes sense 20161029 18:25:20< zookeeper> as in, for example if a unit type has AMLA advancements and you want to make the game think a unit has already gotten some of them, you can add some [advance] tags by hand there 20161029 18:25:27< zookeeper> i presume it identifies them by id 20161029 18:25:58< DeFender1031> wait, i thought it defined custom advancements for this one unit 20161029 18:26:56< DeFender1031> meaning, this seems to ADD advancements, not remove them 20161029 18:28:25< celticminstrel> DeFender1031: [unit_type][advance] defines the AMLA, [modifications][advance] applies it. 20161029 18:28:28< DeFender1031> or rather, does this ADD to those on the unit type, or replace that list? 20161029 18:28:41< DeFender1031> ohh 20161029 18:28:47< celticminstrel> When you take an AMLA, the game copies the [advance] tag verbatim from the [unit_type] to the unit's [modifications]. 20161029 18:28:59< DeFender1031> ah 20161029 18:29:11< celticminstrel> Adding an AMLA is the same as adding an object or trait, in most respects. 20161029 18:29:23< celticminstrel> There are a few minor differences. 20161029 18:29:24< DeFender1031> okay, i'll clarify the description also, because that doesn't say that at all. 20161029 18:29:30< DeFender1031> right. 20161029 18:31:06< zookeeper> yeah that could certainly use some clarification/rewording 20161029 18:32:29< zookeeper> celticminstrel, so when rebuilding the unit, are the actual effects of the advancements the unit has gotten taken from [modifications] [advancement] or [unit_type] [advancement]? 20161029 18:32:33< celticminstrel> I'm not sure if the differences are properly documented anywhere though... 20161029 18:32:41< celticminstrel> zookeeper: The former. 20161029 18:32:46< zookeeper> mmkay 20161029 18:32:56< celticminstrel> (Was it [advance] or [advancement]?) 20161029 18:33:06< celticminstrel> (It used to be both and then I changed it to be consistent.) 20161029 18:33:22< DeFender1031> celticminstrel, in unit type, the latter, in unit, the former before 1.13.2 20161029 18:33:34< DeFender1031> how's this for wording? 20161029 18:33:36< DeFender1031> an advancement that has already been applied to a unit. Same format as [[UnitTypeWML#After max level advancement (AMLA)|AMLA [advancement], UnitTypeWML]]. These are automatically added as a unit has AMLA advancements applied to it, but can also be specifed manually to indicate that a unit already has a particular advancement applied, or to disable certain advancements (by ID). {{DevFeature1.13|2}} In 1.13.2 and later this has 20161029 18:33:37< DeFender1031> been renamed to [advancement], to match the UnitTypeWML tag of the same name. 20161029 18:33:39< celticminstrel> Note that there could be multiple copies of the same AMLA in [modifucations]. 20161029 18:34:26< celticminstrel> Ooh, that's a good point, you could add an [advancement] tag with just an id to disable that advancement for the unit... somehow I never thought of that... 20161029 18:34:40< celticminstrel> That wording sounds fine to me. 20161029 18:34:54< zookeeper> "to a unit" -> "to the unit", "added as a unit has" -> "added when the unit has", "specifed" -> "specified" 20161029 18:35:28< celticminstrel> What zookeeper says. 20161029 18:35:40< zookeeper> but yes, it's much more clear 20161029 18:38:56< DeFender1031> thanks, will correct that. 20161029 18:44:02< DeFender1031> okay, edit done. 20161029 18:45:20< DeFender1031> I think it's a lot more organized now. I also opted in the end for three sections, splitting the unit data into persistent and state (basically, stuff that described the unit permanently or until advancement, and stuff that describes the current state of the unit but will be modified regularly by normal gameplay.) 20161029 18:45:57< celticminstrel> "the variation of the unit_type as which the unit will appear" ... that sounds awkward somehow? 20161029 18:46:15< celticminstrel> Possibly because you're artificially avoiding the sentence-ending preposition. 20161029 18:46:45 * celticminstrel also omitted the square brackets in the actual text. 20161029 18:47:07< DeFender1031> ah, oops. i did. 20161029 18:47:08< celticminstrel> "it defaults to that side" - So can you define side 3 units in side 1? 20161029 18:47:19< DeFender1031> celticminstrel, haven't tried. 20161029 18:47:27< DeFender1031> i'm planning on testing a bunch of this 20161029 18:47:37< DeFender1031> wanted to get the initial cleanup saved first 20161029 18:48:04< DeFender1031> feel free to reword that awkwardness and add brackets. i'll go test that [side] thing. 20161029 18:48:11< celticminstrel> It's really hard to see what changed when you fix things and reorder them at the same time. 20161029 18:48:50< DeFender1031> true... 20161029 18:48:53< DeFender1031> sorry bout that. 20161029 18:49:18< DeFender1031> probably shoulda done that as two edits :/ 20161029 18:50:29< DeFender1031> hmm... seems [unit] without a side= in an event will default to side 1 actually. 20161029 18:50:32 * celticminstrel gives up on the diff and tries looking at the page instead. 20161029 18:50:46< DeFender1031> sorry... 20161029 18:51:15< celticminstrel> I wonder what parent_type really does... 20161029 18:51:45< DeFender1031> not a clue. I left it as it was. 20161029 18:51:55< DeFender1031> i wondered that too 20161029 18:52:35< DeFender1031> The only thing i can think of that it could possibly do that's meaningful is something involving help dialogs. 20161029 18:53:10< DeFender1031> okay, "side=" for [unit] inside of [side] is completely ignored. 20161029 18:53:19< DeFender1031> i'll update the description to note that 20161029 18:53:33< celticminstrel> Reading this reminds me that the AI is apparently not equipped to handle multiple leaders. 20161029 18:54:51< DeFender1031> celticminstrel, the game seems not to have been designed with the idea of a number of leaders other than one in mind. 20161029 18:55:02< DeFender1031> There's still no way to retain villages when leaderless. 20161029 18:55:19< celticminstrel> Uhh... why are the max_* keys there but not the corresponding current-value keys... 20161029 18:55:37< celticminstrel> hitpoints, experience, moves, attacks_left IIRC 20161029 18:55:44 * celticminstrel is only unsure on the last one. 20161029 18:55:53< DeFender1031> they're in the state section 20161029 18:55:59< celticminstrel> Oh, you put them somewhere else. Huh. 20161029 18:56:05< DeFender1031> because they're a constantly changing state. 20161029 18:56:12< DeFender1031> rather than a persistent value 20161029 18:56:13< celticminstrel> I suppose that sorta makes sense. 20161029 18:56:30< DeFender1031> oh yeah, i also added anchor links 20161029 18:56:56< DeFender1031> for example, the word "type" is now a link in most places which will jump to the description of that attribute. 20161029 18:57:21< DeFender1031> if people like that, i'll go set up some templates so it can be done more easily and for other pages as well. 20161029 18:57:27< celticminstrel> I didn't even know you could do that in MediaWiki. Headers automatically have an anchor, though. 20161029 18:57:37< DeFender1031> yeah 20161029 18:57:51< DeFender1031> a lot of people don't know all the stuff you can do with MW 20161029 18:58:12< DeFender1031> i've been editing wikis for over a decade now 20161029 18:58:26< DeFender1031> i know all sorts of tricks. 20161029 18:58:45< celticminstrel> I imagine it was probably around that long since I first edited a wiki. Though not regularly. 20161029 18:58:52< DeFender1031> with enough plugins, MW can actually be made turing-complete. 20161029 18:58:58< celticminstrel> ... 20161029 18:59:40< DeFender1031> note: do NOT actually do this in practice, or your webhost will send you notices that you're exceeding your IO quota. 20161029 19:00:22< celticminstrel> So it would be fine if you owned the server machine, huh. 20161029 19:00:28< DeFender1031> oh, actually, i think that was combining the turing-completeness with some extensions which check for the existence of other pages, files, and such... 20161029 19:00:40< DeFender1031> well, no. it'll be slow like molasses. 20161029 19:01:02< celticminstrel> Okay sure. But you won't get warnings probably. 20161029 19:01:22< DeFender1031> there are certain pages on the wiki where i... erm... totally didn't do anything like that... ahem... which take over a minute to load. 20161029 19:01:42< DeFender1031> anyway, the point is, i know MW inside and out. 20161029 19:02:15< DeFender1031> for example, this is the code for my signature on the wiki where i contribute most frequently: http://hrwiki.org/w/index.php?title=User:DeFender1031/sig&action=edit 20161029 19:02:43< DeFender1031> it automatically changes during specific holidays. 20161029 19:03:22< DeFender1031> and looks like utter gibberish to anyone who doesn't really know MW well. 20161029 19:03:57< DeFender1031> anyway, my point is that i know a lot of MW tricks that might be useful for the wesnoth wiki 20161029 19:04:15< DeFender1031> adding ids to be able to link to specific list items rather than whole sections is merely one of them 20161029 19:04:43< celticminstrel> That wiki's logo is Flash... 20161029 19:08:04< celticminstrel> Note that animate=yes doesn't necessarily imply a fade. For example, if it's a skeleton, you'll see the bones rising up from the ground. 20161029 19:08:34< celticminstrel> The description of placement has lots of grammar issues... 20161029 19:08:53< celticminstrel> And misused commas and hyphens... 20161029 19:09:07< DeFender1031> celticminstrel, yes it is. The work it's documenting is a flash cartoon. 20161029 19:09:15< celticminstrel> (Dashes, sorry.) 20161029 19:09:36< DeFender1031> celticminstrel, i didn't actually change those, they're as they were before my edit, but you're right, i should clean those up/ 20161029 19:10:04< celticminstrel> There's also a missing option there. 20161029 19:10:21< DeFender1031> there's a lot missing on this page 20161029 19:10:32< DeFender1031> for example, "level=" can be set independently of the unit's type 20161029 19:10:42< DeFender1031> what option do you see is missing? 20161029 19:10:48< celticminstrel> I don't know if it was in 1.13.5 or what, but gfgtdf added the ability to use placement=anything to place a unit at the location defined as "anything" in the map data. 20161029 19:11:10< DeFender1031> there's a location called "anything"? 20161029 19:11:15< celticminstrel> Similarly you could use placement=3 to put it at side 3's starting location. 20161029 19:11:36< celticminstrel> It's a generalization of side starting locations, basically. 20161029 19:12:08< celticminstrel> You can add locations with arbitrary names to the map, and use them in placement. 20161029 19:12:47< celticminstrel> I'm not sure whether it tries a named location or a mode first... 20161029 19:14:10< DeFender1031> hmm 20161029 19:14:13< DeFender1031> interesting 20161029 19:15:17< celticminstrel> I wonder if I can get RecentChanges to temporarily not collapse consecutive changes to the same page... 20161029 19:16:23< DeFender1031> it's a setting 20161029 19:16:45< DeFender1031> you can turn it off in your preferences i believe 20161029 19:16:47< celticminstrel> I think it's in prefs, yes, but I was thinking something more temporary, like a URL flag. 20161029 19:16:52< DeFender1031> ah 20161029 19:17:02< DeFender1031> i think there might be url for that... let me check. 20161029 19:18:28< celticminstrel> Hmm, wait, the "cur" link is a diff... 20161029 19:18:43< celticminstrel> ...a useless one though... 20161029 19:18:54< DeFender1031> huh? 20161029 19:18:56< celticminstrel> The "prev" link is also a diff... 20161029 19:19:08< celticminstrel> I guess I don't need to prevent collapsing then... 20161029 19:19:50< celticminstrel> But why can't it just say "diff" like it does when there's only one change. 20161029 19:19:59< DeFender1031> no idea 20161029 19:24:10< DeFender1031> hmm... i wonder how many of these creation options actually do anything inside of [side] 20161029 19:26:29-!- claymore [~claymore@unaffiliated/claymore] has quit [Quit: Leaving] 20161029 19:30:06< DeFender1031> now i'm looking through the inspector to see what other unit attributes there are that aren't documented here. 20161029 19:30:26< DeFender1031> what does unit.alpha do? I would expect it to change the opacity, but it doesn't seem to 20161029 19:35:03< DeFender1031> this is odd... the inspector shows "generate_name" as a persistent value on the unit, but always set to "no". 20161029 19:36:00< celticminstrel> Odd indeed. I'd call it a bug. 20161029 19:36:51< celticminstrel> Probably better to say "only as ActionWML" rather than "only for [event][unit]". 20161029 19:37:06< celticminstrel> Because ActionWML can also appear in eg [set_menu_item][command]. 20161029 19:38:00< zookeeper> that generate_name thing might very well make sense if it tells the game to not regenerate a name on unstore etc. 20161029 19:39:09< zookeeper> as it, if it always gets set to no for units which were created 20161029 19:39:17< zookeeper> after a name has been generated for them 20161029 19:39:25< zookeeper> i don't know, just saying. 20161029 19:39:33< DeFender1031> celticminstrel, fair enough. 20161029 19:39:53< DeFender1031> zookeeper, i tested it, even if set to yes, if the unit has a name, it won't 20161029 19:40:08< DeFender1031> the random_traits thing appears in the persistent data always as "no" also 20161029 19:40:13< zookeeper> maybe it requires the unit to not have a name yet 20161029 19:40:40< DeFender1031> it does. but then we're back to the question of why is i- oh! i think i know 20161029 19:40:45< DeFender1031> if the name is EMPTY 20161029 19:40:50< DeFender1031> you want it to STAY empty 20161029 19:40:53< DeFender1031> rine 20161029 19:40:57< DeFender1031> fine* 20161029 19:41:10< zookeeper> maybe 20161029 19:41:14 * zookeeper shrugs 20161029 19:41:18< DeFender1031> even so, it still belongs in the "creation options" category, as it's not actually persistent. 20161029 19:41:43< DeFender1031> zookeeper, celticminstrel, either of you guys know about the unit.alpha i mentioned above? 20161029 19:41:56< zookeeper> nope 20161029 19:52:00< DeFender1031> what about unit.cost? I set it and it registers as changed, but doesn't seem to do anything useful. I realize that there's not much meaning to a unit cost after it's already been recruited, but the one place i would have expected it to matter is in the statistics when a unit is killed, but nope, it shows the cost of the unit type, not the cost that was set on the unit itself. 20161029 19:58:18< celticminstrel> This sounds like someone should update the statistics. 20161029 19:58:32< DeFender1031> so, a bug, in essence? 20161029 19:58:44< celticminstrel> I guess. 20161029 19:59:01< celticminstrel> Very minor one. 20161029 19:59:20< celticminstrel> As for alpha, I would assume the same as you did. No idea why it doesn't work. 20161029 19:59:27< DeFender1031> i can actually imagine a case where someone WOUL want to modify the unit cost, namely, in mods that have stores where you can buy items for units, you probably want the cost of an item to accompany a unit if they die and the item is lost. 20161029 19:59:57< celticminstrel> UtBS would probably want to modify the cost if it meant anything. 20161029 20:00:29< DeFender1031> maybe 20161029 20:00:43< DeFender1031> though i think it uses a different hack for the unit costs 20161029 20:00:43< celticminstrel> Apparently recruit costs change as the scenario progresses, but all units are transformed to the base type when recruited, so it'd make sense to retain the original cost when that happens. 20161029 20:00:52< DeFender1031> oh 20161029 20:00:55< DeFender1031> yeah 20161029 20:00:55< celticminstrel> Yeah, each cost is a different unit_type in UtBS. 20161029 20:00:57< DeFender1031> so then they would. 20161029 20:01:01< DeFender1031> fine 20161029 20:01:11< DeFender1031> next: what's jamming? 20161029 20:01:21< celticminstrel> Anti-vision. 20161029 20:01:38< celticminstrel> I've never actually tried it, but apparently jamming will interfere with the vision of other units. 20161029 20:02:01-!- edaq [~edaq3@h184-60-58-252.cytnin.broadband.dynamic.tds.net] has joined #wesnoth 20161029 20:02:28-!- edaq [~edaq3@h184-60-58-252.cytnin.broadband.dynamic.tds.net] has left #wesnoth [] 20161029 20:14:49< DeFender1031> hmm 20161029 20:18:24< DeFender1031> celticminstrel, is that described anywhere? 20161029 20:20:51< lamefun> http://paste.ofcode.org/KB8qSTE3KWYdBgCHjtsmUu 20161029 20:21:17< lamefun> $x1, $y1 work in [show_if], but not in [lua]??? 20161029 20:21:53< DeFender1031> lamefun, you're passing those verbatim. you probably want to run tovconfig on it. 20161029 20:22:03< DeFender1031> or use get_variable. 20161029 20:22:38< DeFender1031> "x = wesnoth.get_variable('x1')" etc. 20161029 20:22:39< lamefun> but it works in [show_if] and does not work in [lua], where's the magic? 20161029 20:23:08< DeFender1031> lamefun, in lua, it's a string. in wml, it's a string being parsed for WML variables. 20161029 20:24:50< DeFender1031> lamefun, to clarify, stuff does not get automatically parsed for wml variables when passed to one of the lua action functions. 20161029 20:25:33< celticminstrel> I'm not sure if jamming is described anywhere. You could try UnitsWML I suppose. 20161029 20:26:13< celticminstrel> (Since it's part of a movetype.) 20161029 20:26:37< DeFender1031> it's mentioned but not fully described 20161029 20:26:52< DeFender1031> also, all the jamming stuff there seems to be 1.13 only 20161029 20:27:00< celticminstrel> Yeah. 20161029 20:27:04< DeFender1031> but i see a "jamming" attribute on units in 1.12 20161029 20:27:07< DeFender1031> it's a number 20161029 20:27:12< DeFender1031> i'm not sure what that number does 20161029 20:27:22< celticminstrel> lamefun: What's W? 20161029 20:27:22< DeFender1031> so i didn't document it just now when i added everything else 20161029 20:27:40< lamefun> celticminstrel, local W = helper.set_wml_action_metatable {} 20161029 20:27:43< DeFender1031> celticminstrel, looks like it's either wesnoth.wml_actions or a wml action metatable. 20161029 20:27:52< celticminstrel> Right. 20161029 20:28:01< celticminstrel> That automatically passes it through tovconfig for you. 20161029 20:28:09< DeFender1031> anyway, i'm still not sure what that jamming value does. 20161029 20:28:17< DeFender1031> celticminstrel, it does?! 20161029 20:28:19< celticminstrel> But I wonder if that's actually the problem. Maybe you don't want it passed through tovconfig in this case. 20161029 20:28:32< celticminstrel> DeFender1031: I thought it called wesnoth.fire? 20161029 20:28:37< DeFender1031> yeah, it does 20161029 20:28:48< DeFender1031> didn't realize wesnoth.fire called tovconfig 20161029 20:28:51< celticminstrel> Hmm. 20161029 20:29:16< celticminstrel> Pretty sure the action metatable does convert to vconfig automatically, one way or another... 20161029 20:29:19< DeFender1031> i recall having asked in here a long time ago if there was a difference between wesnoth.fire and just calling an action function directly and was told that there didn't seem to be. 20161029 20:29:31< DeFender1031> (at least, that's how i recall it.... but i was a noob at the time) 20161029 20:29:42< DeFender1031> hmm 20161029 20:29:46< DeFender1031> oh, yeah 20161029 20:30:03< DeFender1031> lamefun will want delayed variable substitution in this case. 20161029 20:30:23< DeFender1031> otherwise, x1 and y1 will end up where this event is occurring, not where the menu is being accessed. 20161029 20:30:46< DeFender1031> how IS delayed substitution done from lua anyway? 20161029 20:31:42< celticminstrel> https://github.com/wesnoth/wesnoth/blob/master/data/lua/backwards-compatibility.lua 20161029 20:31:46< celticminstrel> Definition of wesnoth.fire 20161029 20:31:56-!- Smedles [~quassel@CPE-58-160-77-59.ssqn1.lon.bigpond.net.au] has quit [Quit: No Ping reply in 180 seconds.] 20161029 20:32:43< DeFender1031> celticminstrel, okay, so it does call tovconfig 20161029 20:33:01-!- Smedles [~quassel@CPE-58-160-77-59.ssqn1.lon.bigpond.net.au] has joined #wesnoth 20161029 20:33:54< celticminstrel> Looks like wesnoth.set_menu_item (the probably-undocumented implementation of [set_menu_item]) takes its argument as a vconfig as well. 20161029 20:34:16< celticminstrel> Does [set_menu_item] support the delayed_variable_substitution key? 20161029 20:34:36< celticminstrel> When implementing a WML tag that uses that key in Lua, you would use helper.literal. 20161029 20:34:57< celticminstrel> (Since you asked earlier) 20161029 20:35:30< celticminstrel> So in general, if you have a config which may be a vconfig and you don't want to substitute variables, you can use helper.literal(). 20161029 20:35:37< DeFender1031> alright, i've completed my review of unit data, documenting every attribute that exists except alpha and cost, which seem to do nothing, jamming, which I don't actually know what it does or how it works, so I can't document it, and flag_rgb, image, and language_name, which seem to exist on the unit but not changeable from that which is set for the unit_type for some reason. 20161029 20:36:16< DeFender1031> (Though IMO, not allowing image and flag_rgb to be modified should be considered a bug) 20161029 20:36:30< celticminstrel> THe format of jamming_costs is the same as movement_costs. 20161029 20:36:39< DeFender1031> celticminstrel, i see that 20161029 20:36:39< celticminstrel> (And vision_costs) 20161029 20:36:57< DeFender1031> celticminstrel, i just have no idea what those costs actually MEAN in the context of jamming. 20161029 20:36:57< celticminstrel> flag_rgb is also a misleading name. 20161029 20:37:05< lamefun> well, I can't use wesnoth.get_variable there... 20161029 20:37:13< celticminstrel> Yeah, I'm not quite sure either. You could probably test it or something. 20161029 20:37:13< DeFender1031> celticminstrel, that it is, but it's probably too late to change 20161029 20:37:17< lamefun> because it would run in the 'side turn' event... 20161029 20:37:19< celticminstrel> lamefun: No, of course you can't. 20161029 20:37:45< DeFender1031> lamefun, it won't work. celticminstrel was right, you want the variables to NOT be substituted at the time when you're defining that menu item. 20161029 20:37:55< celticminstrel> DeFender1031: Somethign changed recently about flag_rgb, but I can't remember the details. 20161029 20:38:15< DeFender1031> lamefun, i apologize for misunderstanding what was going on and telling you the wrong thing. 20161029 20:38:16< celticminstrel> lamefun: Try wesnoth.wml_actions.set_menu_item instead of W.set_menu_item; not sure if that'll work though. 20161029 20:38:55< celticminstrel> You know, I think this should be considered a bug. 20161029 20:39:07< celticminstrel> set_menu_item should know not to ever substitute the contents of [show_if]. 20161029 20:39:14< celticminstrel> Also [filter_location]. 20161029 20:39:58< DeFender1031> lamefun, you also probably want to set delayed_variable_substitution=true in your T.command 20161029 20:40:13< DeFender1031> oh 20161029 20:40:14< celticminstrel> If nothing else works, there's a workaround - put a | after eadh $ 20161029 20:40:14< DeFender1031> wait 20161029 20:40:16< DeFender1031> no 20161029 20:40:18< celticminstrel> ^each 20161029 20:40:23< DeFender1031> that won't work either. 20161029 20:40:37< DeFender1031> that might work 20161029 20:41:21< DeFender1031> celticminstrel, i'm not sure I agree. You might often want a variable from define time in a [show_if] 20161029 20:41:59< DeFender1031> for example, something happens at a specific location that allows you to right click at that location later and do something 20161029 20:42:18< lamefun> I'm complete idiot. 20161029 20:42:20< lamefun> http://paste.ofcode.org/8cr9pCbJYgz5ZteUdzvECz 20161029 20:42:50< celticminstrel> Oh. 20161029 20:42:57< DeFender1031> that... would do it. 20161029 20:43:30< DeFender1031> lamefun, so it's working now? 20161029 20:43:43-!- Appleman1234 [~Appleman1@KD036012040083.au-net.ne.jp] has quit [Ping timeout: 244 seconds] 20161029 20:43:57< lamefun> yes 20161029 20:46:03< DeFender1031> great. 20161029 20:46:34< DeFender1031> also, for the record, in response to "i'm an idiot", apparently so are celticminstrel and I. :P 20161029 20:46:56< celticminstrel> Well yeah, we both missed it too. >_> 20161029 20:51:47-!- Appleman1234 [~Appleman1@KD036012042213.au-net.ne.jp] has joined #wesnoth 20161029 21:02:55-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20161029 21:36:24-!- Molten [55fe4c65@gateway/web/freenode/ip.85.254.76.101] has joined #wesnoth 20161029 21:37:15-!- jemadux [~jemadux@unaffiliated/jemadux] has quit [Read error: Connection reset by peer] 20161029 21:42:40-!- Molten [55fe4c65@gateway/web/freenode/ip.85.254.76.101] has quit [Quit: Page closed] 20161029 21:44:45< lamefun> Is there a better inline function syntax than function(x, y) return x + y end? 20161029 21:45:52< DeFender1031> aside from whitespace, that looks about as compact as you can get it 20161029 21:45:58-!- namad8 [aaaaa@pool-100-6-158-12.pitbpa.fios.verizon.net] has quit [] 20161029 21:48:23< lamefun> JavaScript has recently gotten this syntax: [1,2,3].map((x) => x + 1) 20161029 21:48:42-!- Kwandulin [~Miranda@p5DDD2B8F.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20161029 21:50:19< DeFender1031> where's y? 20161029 21:50:44< lamefun> what y? 20161029 21:52:42-!- namad7 [aaaaa@pool-100-6-158-12.pitbpa.fios.verizon.net] has joined #wesnoth 20161029 21:53:08< lamefun> map in lua would be: function(t, func) local r = {} ; for k,v in ipairs(t) do r[k] = func(v); return r end 20161029 21:53:47< lamefun> so map({1,2,3}, (x) => x + 1) would be {2,3,4}, very convenient 20161029 21:54:45< lamefun> instead of creating a whole loop 20161029 21:57:08< DeFender1031> lamefun, in your original example, you had x and y 20161029 21:57:27< DeFender1031> i'm wondering what the same function would look like in JS with this new syntax you're talking about. 20161029 21:57:40< DeFender1031> (I've never seen it before, but i'm not up on the latest JS stuff) 20161029 21:57:55< lamefun> (x, y) => x + y 20161029 21:58:13< lamefun> basically alias for function(x, y) { return x + y; } 20161029 21:59:21< lamefun> Java has added something similar as well. 20161029 21:59:39< DeFender1031> ah 20161029 21:59:53< DeFender1031> i don't know of any such thing in lua, but then i'm relatively new to lua 20161029 22:02:32< lamefun> C++ has added [](int x, int y) { return x + y; } 20161029 22:03:51-!- namad7 [aaaaa@pool-100-6-158-12.pitbpa.fios.verizon.net] has quit [] 20161029 22:03:54< DeFender1031> well, that's their general lambda syntax, which they didn't have at ALL before that. 20161029 22:05:57-!- namad7 [aaaaa@pool-100-6-158-12.pitbpa.fios.verizon.net] has joined #wesnoth 20161029 22:13:15< celticminstrel> ...why the heck did Javascript add a pointless new lambda syntax? :| 20161029 22:13:41< celticminstrel> I mean, function() {} is a lambda already, they don't need a new syntax for something that already exists. 20161029 22:13:49< celticminstrel> Oh wait, I see, it's a little different semantically? 20161029 22:13:54< lamefun> [1,2,3].map((x) => x + 1) 20161029 22:14:07< celticminstrel> So ()=>thing is function() {return thing;}? 20161029 22:14:11< lamefun> vs. [1,2,3].map(function(x) { return x + 1 }) 20161029 22:14:13< DeFender1031> celticminstrel, it seemd to be a shortcut for simple single-expression functions. 20161029 22:14:14< lamefun> big difference 20161029 22:14:23< celticminstrel> Okay, I guess it's not pointless. A bit silly still, but whatever. 20161029 22:14:44< celticminstrel> Adding higher-order functions to Lua is probably fairly simple. 20161029 22:14:51< celticminstrel> Like map, filter, etc. 20161029 22:15:04< DeFender1031> huh? 20161029 22:15:14< celticminstrel> What are you confused about? 20161029 22:15:28< lamefun> isn't eg. wesnoth.show_dialog higher-order already? 20161029 22:16:05< DeFender1031> celticminstrel, did someone ask about higher-order functions? 20161029 22:16:24< celticminstrel> [Oct 29@5:53:46pm] lamefun: so map({1,2,3}, (x) => x + 1) would be {2,3,4}, very convenient 20161029 22:16:36< celticminstrel> lamefun: Well technically I suppose, but it's not generic. 20161029 22:18:41< lamefun> add __tolist and __fromlist to metatable for map? 20161029 22:19:32< celticminstrel> Huh? 20161029 22:20:40< lamefun> it'd make so that map, filter, etc. work on custom containers 20161029 22:21:02-!- ChipmunkV [~vova@static-89-94-113-91.axione.abo.bbox.fr] has quit [Quit: ChipmunkV] 20161029 22:22:19< celticminstrel> Oh... 20161029 22:31:02< lamefun> Implementing the functional functions is a non-problem, the problem is that it's cumbersome to actually use them... 20161029 22:34:49< celticminstrel> Why is it cumbersome? 20161029 22:36:35< lamefun> map({1,2,3}, (x) => compute(something(x))) vs map({1,2,3}, function(x) return compute(something(x)) end) 20161029 22:38:10< celticminstrel> It doesn't really seem that bad to me. 20161029 22:42:19< lamefun> Then why have Oracle, Microsoft, ECMA have added almost the same syntax to Java, C# and JavaScript? 20161029 22:46:00< lamefun> Apple Swift: [1,2,3].map{$0 + 1} 20161029 22:56:31< lamefun> More visual noise = less readability... 20161029 22:59:17 * celticminstrel shrugs. 20161029 22:59:36< celticminstrel> I'm not saying there's anything wrong with the other syntax, just that the current syntax isn't really that bad. 20161029 22:59:41-!- ChipmunkV [~vova@static-89-94-113-91.axione.abo.bbox.fr] has joined #wesnoth 20161029 22:59:58-!- ChipmunkV [~vova@static-89-94-113-91.axione.abo.bbox.fr] has left #wesnoth [] 20161029 23:29:51-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth 20161029 23:36:44-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 256 seconds] 20161029 23:49:37-!- jemadux [~jemadux@unaffiliated/jemadux] has joined #wesnoth --- Log closed Sun Oct 30 00:00:28 2016