#gemrb@irc.freenode.net logs for 10 Jan 2015 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:01:29] --> nutron has joined #gemrb
[00:02:12] <-- brada has left IRC (Quit: brada)
[00:13:43] --> brada has joined #gemrb
[00:42:20] --> Mechanimal has joined #gemrb
[01:01:18] <-- Mechanimal has left IRC (Remote host closed the connection)
[01:37:37] <-- edheldil_ has left IRC (Ping timeout: 244 seconds)
[01:37:37] <-- edheldil has left IRC (Ping timeout: 244 seconds)
[01:46:27] --> edheldil has joined #gemrb
[01:46:27] --- ChanServ gives channel operator status to edheldil
[04:11:41] --> Eli2_ has joined #gemrb
[04:14:53] <-- Eli2 has left IRC (Ping timeout: 265 seconds)
[05:39:03] <-- turtleman_ has left IRC (Ping timeout: 264 seconds)
[06:12:29] <-- Lightkey has left IRC (Ping timeout: 244 seconds)
[06:25:22] --> Lightkey has joined #gemrb
[07:05:54] <-- cj_schnell has left IRC (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
[08:38:47] <-- brada has left IRC (Quit: brada)
[13:06:50] --> edheldil_ has joined #gemrb
[13:19:33] <-- edheldil_ has left IRC (Ping timeout: 252 seconds)
[15:54:30] --> turtleman_ has joined #gemrb
[16:24:56] <-- turtleman_ has left IRC (Ping timeout: 244 seconds)
[18:25:51] <lynxlynxlynx> huh, why didn't i know about hardware watchpoints in gdb? they're awesome
[18:26:29] <lynxlynxlynx> seems the problem may be due to non/blocking actions
[19:03:52] <lynxlynxlynx> fuzzie: around?
[19:12:53] <fuzzie> hi :/
[19:20:38] <lynxlynxlynx> heh
[19:22:22] <lynxlynxlynx> i can't make sense of execution order for a script, but this time it is mostly inter-block not intra-block
[19:22:33] <lynxlynxlynx> http://sprunge.us/deNU?basic
[19:23:23] <lynxlynxlynx> first two can be ignored and the big one's actions also don't run
[19:24:05] <lynxlynxlynx> what actually happens is that it always ends up executing the last block with attackreevaluate
[19:24:38] <lynxlynxlynx> however when checking why she doesn't cast spells instead, this wierd sequence keeps repeating
[19:24:45] <lynxlynxlynx> http://paste.debian.net/140060/
[19:24:47] <Seniorita> debian Pastezone
[19:25:48] <lynxlynxlynx> for the script to work at all, the actual order should always be force -> mark -> ismarked -> (cast, wait, force)
[19:27:18] <lynxlynxlynx> which is how it's laid out in the file
[19:27:21] <lynxlynxlynx> but one can clearly see the marking doesn't happen directly after its trigger
[19:27:25] <fuzzie> iwd or iwd2?
[19:27:36] <lynxlynxlynx> so, any pointers to where to start looking (iwd2)
[19:27:40] <fuzzie> no :/
[19:27:47] <fuzzie> iwd2's scripting is different here
[19:27:57] <fuzzie> the Continue() works weirdly
[19:28:07] <fuzzie> and I don't know how
[19:28:30] <lynxlynxlynx> in bg2, don't they just make the next block be evaluated?
[19:28:54] <fuzzie> > <fuzzie> I think, we should be fine if I do that, except for iwd2, where it is insane.
[19:28:56] <lynxlynxlynx> instead of waiting for a restart of the script (if there's no continue)
[19:29:36] <lynxlynxlynx> to me this particular script appears to use bg2-style continue
[19:29:49] <fuzzie> you think?
[19:29:50] <-- Eli2_ has left IRC (Ping timeout: 265 seconds)
[19:30:10] <fuzzie> what do you want to happen, the !IsMarkedSpell(MARKED_SPELL) block?
[19:30:38] <lynxlynxlynx> after the mark continue? yes
[19:31:40] <fuzzie> why?
[19:32:20] <lynxlynxlynx> that's the actual deployment
[19:32:35] <fuzzie> I mean, to be clear, bg2-style Continue means that the blocks are chained together at condition-evaluation time, not at execution time
[19:32:36] <lynxlynxlynx> and it's the next immediate block in the file
[19:33:07] <lynxlynxlynx> oh
[19:34:54] --> Eli2_ has joined #gemrb
[19:35:16] <fuzzie> iwd2 runs some stuff during evaluation I guess
[19:35:35] <fuzzie> see "Global vs. Internal when using Continue()" http://www.gibberlings3.net/tools/iwd2_scripting_info.txt for example
[19:36:47] <fuzzie> my memory is that germb is currently doing it that way, as long as MarkSpellAndObject is instant
[19:37:05] <fuzzie> but I have no idea what IsMarkedSpell(MARKED_SPELL) does :)
[19:41:44] <lynxlynxlynx> yeah, we already run stuff during evaluation, all this spellcasting needs it
[19:42:05] <lynxlynxlynx> IsMarkedSpell just checks if the sender has set a marked spell
[19:42:16] <lynxlynxlynx> MARKED_SPELL is from spell.ids and resolves to 0
[19:43:25] <lynxlynxlynx> instant == no AF_BLOCKING set?
[19:43:35] <fuzzie> in instant.ids
[19:43:44] <lynxlynxlynx> nope
[19:43:52] <fuzzie> oh ugh
[19:43:58] <fuzzie> so I think iwd2 is also different
[19:43:59] <fuzzie> one moment
[19:44:19] <fuzzie> yeah
[19:44:22] <fuzzie> http://gibberlings3.net/iesdp/files/ids/iwd2/scrinst.htm
[19:44:23] <Seniorita> IWD2: Identifiers : scrinst.ids
[19:44:25] <lynxlynxlynx> neither in dlginst for that matter
[19:44:32] <lynxlynxlynx> oh, there's three
[19:44:57] <fuzzie> so those are the actions which iwd2 runs immediately upon parsing
[19:45:02] <fuzzie> I think
[19:45:11] <fuzzie> (in a script)
[19:45:40] <lynxlynxlynx> we don't parse that at all
[19:46:06] --> Driim has joined #gemrb
[19:47:40] <lynxlynxlynx> so i guess more AF_ constants and their handling
[19:48:34] <fuzzie> \o/
[19:50:08] <-- Eli2_ has left IRC (Ping timeout: 265 seconds)
[19:50:35] <lynxlynxlynx> just guessing from strings and the presence of separate tables, iwd2 doesn't use instant.ids at all
[19:50:50] <lynxlynxlynx> no entry looks like iwd2 specific at first glance
[19:51:31] --> Eli2_ has joined #gemrb
[19:54:25] <lynxlynxlynx> it's not the same as in bg2, but almost identical to how
[19:58:12] <lynxlynxlynx> 202 FadeToColor(P:Point*,I:Blue*), 203 FadeFromColor(P:Point*,I:Blue*) and 301 SetExtendedNight(I:State*Boolean); first two are in bg2, the last is new
[19:58:34] --> Mechanimal has joined #gemrb
[19:59:47] <lynxlynxlynx> the line 1 count is wrong for all, heh
[20:01:41] <lynxlynxlynx> SetExtendedNight is used in iwd2 scripts though >:(
[20:05:19] <lynxlynxlynx> not much overlap between the files, 72/106 actions are unique to instant.ids
[20:08:26] <lynxlynxlynx> common things like ClearActions (both) and Wait (dlginst) are missing from it
[20:09:29] <lynxlynxlynx> so it does seem like there are three use cases :s
[20:09:52] <fuzzie> got to love Black Isle
[20:17:41] <lynxlynxlynx> mnja
[20:19:32] <lynxlynxlynx> some actions are in all three; but what would the third case be anyway to warrant it? I don't think effects can trigger scripts directly and it hopefully isn't a divide between area scripts and the rest or cutscenes and the rest
[20:21:58] <lynxlynxlynx> hmm, maybe i'm overthinking it - i should be able to run the original under strace and see if loads the file
[20:26:52] <-- Eli2_ has left IRC (Ping timeout: 265 seconds)
[20:31:48] --> Eli2_ has joined #gemrb
[20:33:56] <lynxlynxlynx> and hmm some more, that problematic setinternal is in only in the main file
[20:39:05] <lynxlynxlynx> stracing shows all three and a test with a marker file confirms it's not just their filesystem code
[20:39:26] <lynxlynxlynx> still, it could just be loaded and unused
[20:39:57] <lynxlynxlynx> silly truth, always escaping simplicity
[20:51:27] --> turtleman_ has joined #gemrb
[21:08:13] <lynxlynxlynx> it's even wierder, the syscalls are only stats, no opens, even though i was testing with a dialog triggered cutscene
[21:36:50] --> Eli2 has joined #gemrb
[21:36:57] <-- Eli2_ has left IRC (Ping timeout: 265 seconds)
[21:49:27] <-- Driim has left IRC (Quit: Leaving)
[22:10:03] --> edheldil_ has joined #gemrb
[22:15:26] <lynxlynxlynx> reading the two in and ignoring instant.ids made almost no visible changes to that cutscene and dialogs, but now cedra doesn't have self-harming tendencies anymore :)
[22:16:07] <lynxlynxlynx> she became catatonic though, but i have one other path to change
[22:17:30] <lynxlynxlynx> and it's spell() she's actually stuck on :)
[22:19:21] <kujeger> huh, seems importing characters don't work in latest master. New game -> import -> select character, but only the "back" button is clickable (BG1&2, IWD2). In IWD1, gemrb hangs once you click "import"
[22:24:59] <lynxlynxlynx> any errors in the console?
[22:25:43] <lynxlynxlynx> it could be from the merge
[22:27:13] <kujeger> didn't see anything obvious in bg2 at least, I can throw up one for each game on pastebin or something
[22:28:15] <lynxlynxlynx> no need
[22:28:31] <lynxlynxlynx> was just wondering if anything pythonic went wrong and you'd definitely notice that
[22:29:12] <kujeger> ah, IWD1 does throw up something:
[22:29:13] <kujeger> [Python/ERROR]: Traceback (most recent call last):
[22:29:13] <kujeger> [Python/ERROR]: File "../gemrb/GUIScripts/iwd/CharGen.py", line 2699, in ImportPress
[22:29:14] <lynxlynxlynx> good news about the spellcasting cedra - it's "only" a targetting issue now
[22:29:16] <kujeger> [Python/ERROR]: CharImportList.SetFlags (IE_GUI_TEXTAREA_SELECTABLE)
[22:29:18] <kujeger> [Python/ERROR]: NameError: global name 'IE_GUI_TEXTAREA_SELECTABLE' is not defined
[22:29:56] <lynxlynxlynx> yeah, that went away
[22:35:42] <lynxlynxlynx> fuzzie: this is all it took :) http://sprunge.us/jhAh?diff
[23:04:14] <Seniorita> [commit] lynxlynxlynx: Spell: SpellCore now handled LastMarkedSpell, so DRY https://github.com/gemrb/gemrb/commit/e2eae1d35862e181da5c621619d1d9b59a470c08
[23:04:15] <Seniorita> [commit] lynxlynxlynx: SpellCore: also actually use LastMarked https://github.com/gemrb/gemrb/commit/d13babfce50ca00431623093308f14d3a2790fdd
[23:21:45] --> Eli2_ has joined #gemrb
[23:22:48] <-- Eli2 has left IRC (Ping timeout: 265 seconds)
[23:34:28] <-- edheldil_ has left IRC (Ping timeout: 255 seconds)