#gemrb@irc.freenode.net logs for 26 Sep 2009 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[02:03:10] <-- raevol has left IRC (orwell.freenode.net irc.freenode.net)
[02:03:10] <-- anji has left IRC (orwell.freenode.net irc.freenode.net)
[02:03:10] <-- Gekz has left IRC (orwell.freenode.net irc.freenode.net)
[02:03:10] <-- wjp has left IRC (orwell.freenode.net irc.freenode.net)
[02:03:35] --> wjp has joined #GemRb
[02:03:35] --> Gekz has joined #GemRb
[02:03:35] --> raevol has joined #GemRb
[02:03:35] --> anji has joined #GemRb
[05:55:39] --> tasos86 has joined #gemrb
[07:22:32] --> pupnik_ has joined #gemrb
[07:29:38] --> xrogaan has joined #gemrb
[07:30:52] <-- tasos86 has left IRC ("Leaving")
[07:39:24] <-- pupnik has left IRC (Read error: 110 (Connection timed out))
[07:56:55] --> Avenger has joined #gemrb
[07:57:00] --- ChanServ gives channel operator status to Avenger
[07:57:04] <Avenger> hello
[07:57:45] <raevol> hello
[08:01:21] --> lynxlynxlynx has joined #gemrb
[08:01:21] --- ChanServ gives channel operator status to lynxlynxlynx
[08:19:55] <raevol> let's see if i can finish bg1 tonight :>
[08:20:16] <lynxlynxlynx> nice
[08:22:25] <raevol> hmm there's a discrepancy between the AC shown on the character record and the one shown in the inventory
[08:22:47] <raevol> the character record one is 6 less than the inventory one, for both my characters
[08:23:39] --> tasos86 has joined #gemrb
[08:23:52] <-- tasos86 has left #gemrb ("Leaving")
[08:26:14] <lynxlynxlynx> i bet it is missing the dex bonus
[08:26:21] <raevol> hmm
[08:27:26] <lynxlynxlynx> yep
[08:30:07] <CIA-22> gemrb: 03lynxlupodian * r7267 10/gemrb/trunk/gemrb/GUIScripts/ (bg1/GUIINV.py pst/GUIINV.py): bg1, pst: take the dex bonus in account when displaying the ac in the inventory
[08:30:37] <raevol> alright now i am broken
[08:30:58] <raevol> scar in the flaming fist keeps repeating the same speech he makes on the entry bridge to the city
[08:31:18] <raevol> and then disappearing and reappearing and saying the same speech
[08:33:06] <lynxlynxlynx> ctrl-m on him
[08:33:10] <raevol> lol he appears outside the flaming fist too
[08:34:19] <raevol> ok i've got console output? you want me to pastebin it? or did it do something more?
[08:34:42] <raevol> or i can PM it to you
[08:34:47] <lynxlynxlynx> pastebin it
[08:35:03] <lynxlynxlynx> i can't look at it now, but it will be useful
[08:35:15] <lynxlynxlynx> it has the info which scripts and dialogs he's using
[08:35:18] <raevol> http://pastebin.com/m55a016ee
[08:35:33] <raevol> ah ok
[08:35:40] <raevol> want me to put this on the wiki?
[08:38:47] <lynxlynxlynx> sure
[08:38:51] <raevol> ok
[08:44:15] <raevol> going to see if i can get into the iron throne without completing the seven suns quest
[08:46:08] <raevol> it seems i can
[08:54:31] <raevol> ah ok but i can't get to duke eltan
[08:54:48] <raevol> which means no book which means no candlekeep which means no finishing the game :[
[08:56:13] <raevol> err, hmm
[08:56:17] <raevol> i guess i can get to duke eltan
[08:57:04] <raevol> ah sweet ok got my book
[09:08:09] <raevol> hmm... how long do i sit in jail for
[09:10:55] <raevol> yes this seems to be broken, i'm just sitting in jail and no one is coming to talk to me :/
[09:24:27] <lynxlynxlynx> maybe they got stuck
[09:24:40] <lynxlynxlynx> use ctrl-m again to get the area name
[09:25:00] <lynxlynxlynx> and check in the console output which other scripts were searched for (*.bcs)
[09:32:57] <raevol> ah ok
[09:36:08] <raevol> doesn't seem to be searching for any scripts?
[09:36:56] <raevol> http://pastebin.com/m1066fb20
[09:37:13] <fuzzie> you haven't looked up far enough
[09:37:40] <fuzzie> somewhere there will be an area load of ar2631 (where it loads the .are, .wed, etc)
[09:38:28] <fuzzie> ar2631.baf is meant to spawn Ulrant and then Tethtoril?
[09:38:36] <raevol> yea
[09:38:55] <fuzzie> it would appear that it starts a cutscene mode (which blocks new scripts) and then waits for the new scripts to run
[09:39:21] <fuzzie> so, hum
[09:39:34] <raevol> http://pastebin.com/m22a6fe6c
[09:39:52] <fuzzie> zefklop made some notes on this, and we put them on the forum
[09:39:54] <raevol> i start the game, load my save immediately before the event, go upstairs, talk to the npc, and get sent to jail
[09:39:57] <raevol> thats the whole log
[09:40:10] <fuzzie> which is not particularly helpful now that ther forum is broken
[09:40:18] <raevol> haha -.O
[09:41:12] <fuzzie> "I still don't know which one of startcutscene and startcutscenemode freezes scripts processing. This will be tested later."
[09:41:23] <fuzzie> so maybe the answer is, it's startcutscene
[09:42:42] <fuzzie> i guess someone needs to apply zefklop's weidu mod and test
[09:50:49] <Avenger> i guess scar's dialog is what's buggy?
[09:51:14] <Avenger> back to the first bug
[09:53:13] <Avenger> does he always say: first let me introduce...
[09:53:49] <raevol> yes
[09:54:18] <Avenger> that's odd, numtimestalkedto is supposed to be working
[09:54:27] <fuzzie> it does it based on the actor, though
[09:54:47] <fuzzie> so if something is spawning new actors it's not going to work
[09:54:55] <Avenger> ah
[09:54:59] <Avenger> so scar is cloned?
[09:55:10] <fuzzie> well, the dialog does EscapeArea() everywhere, which destroys the actor
[09:55:35] <fuzzie> so there's got to be area scripts making new versions
[09:55:55] <Avenger> well, i'm pretty sure only global chars survive removal from area
[09:56:11] <Avenger> npcs/pc/familiar
[09:56:33] <fuzzie> i see a ActionOverride("SCAR",SetNumTimesTalkedTo(1))
[09:57:14] <fuzzie> and that is the problem :)
[09:57:23] <fuzzie> oh, no, i misread, that looks fine
[09:57:48] <fuzzie> damn, this is going to be a pain
[09:58:30] <fuzzie> i guess someone has to check the output there and see if scarcut/scarcut2 get called
[09:59:27] <raevol> i have a save right at the scar in flaming fist
[09:59:33] <raevol> but not back on the bridge
[09:59:42] <Avenger> ok so they intentionally reclone him and set the numtimestalked variable
[09:59:47] <fuzzie> ar1100 and ar0607 both spawn scar, but they both actionoverride SetNumTimesTalkedTo
[10:00:08] <fuzzie> so i don't see why this wouldn't work :)
[10:00:10] <Avenger> i guess it doesn't work in time
[10:00:22] <Avenger> some kind of timing problem?
[10:00:26] <fuzzie> i don't think so
[10:00:28] <Avenger> or the action gets scrapped
[10:00:35] <fuzzie> i mean, what would scrap the action?
[10:00:49] <Avenger> another actionoverride?
[10:01:08] <fuzzie> gemrb doesn't allow that for this
[10:01:20] <fuzzie> it could be that an actor script is wiping the queue too fast, i guess
[10:01:52] <fuzzie> actionoverride should probably set the non-interruptible flag for the current action, i'll have to test
[10:03:01] <Avenger> bg1 had lots of ducky scripts
[10:03:31] <Avenger> they allow for a very narrow path of code
[10:03:50] <fuzzie> yes, things like Die() blocks often just didn't work in bg1
[10:04:01] <fuzzie> so it was a disaster in their engine anyway
[10:04:16] <fuzzie> but raevol managed to get this far without any huge breakage, apparently :)
[10:04:22] <raevol> :>
[10:04:53] <fuzzie> yes, my notes say "actionoverride gets incorrectly interrupted sometimes, see spellhold"
[10:05:10] <Avenger> if you change anything it will invalidate all his advances :)
[10:05:20] <Avenger> we gotta retest all bg2/bg1
[10:05:31] <raevol> hahaha
[10:06:13] <fuzzie> i don't suppose you worked out which blocking actions can't be interrupted in bg2 from your REing, Avenger?
[10:06:46] <Avenger> well i know only randomfly which cannot
[10:06:50] <fuzzie> that is not relevant here, just another thing in my notes
[10:07:11] <Avenger> anything else could be actionoverrided, no?
[10:07:34] <fuzzie> i think actionoverride will force-break all actions
[10:09:27] <Avenger> won't break randomfly
[10:09:38] <fuzzie> no?
[10:09:56] <fuzzie> i thought the action non-interruptible stuff was just for new blocks
[10:11:15] <Avenger> afaik, actions check actor[2b8h] if it is set, the action is broken
[10:11:35] <fuzzie> ah
[10:12:21] <Avenger> but, they don't seem to clear the flag
[10:12:32] <Avenger> so i believe multiple actions could be broken
[10:12:48] <fuzzie> hm
[10:12:53] <fuzzie> if you actionoverride in bg1, it only breaks one action
[10:13:14] <Avenger> ok, then this is something else
[10:13:22] <Avenger> i see mostly movment actions to check this
[10:13:44] <fuzzie> it makes sense that movement actions would need to reset state (eg, stop the movement)
[10:14:11] <Avenger> movetopoint, groupattack, various randomwalks, movetooffset
[10:14:16] <Avenger> these check it obviously
[10:14:24] <Avenger> others might check it inside function calls
[10:14:50] <Avenger> i bet they got some movenearerto kind of function too :)
[10:14:57] <Avenger> and that one checks it too
[10:15:49] <Avenger> groupattack is not a pure movement function, that's why i think others might have it too
[10:16:34] <fuzzie> Taimon/devSin keep talking about this difference between the 'real' position of actors (saved) and the 'temporary' position while moving actions run
[10:16:46] <fuzzie> so maybe the break check sets the real position
[10:17:29] <Avenger> i saw no setting of fields here, simply the abovementioned functions return a 'completed' value when this field is set
[10:17:57] <Avenger> it could be that 2b8 is cleared outside after this return value, though
[10:18:12] <fuzzie> well, the way i would do it, it would get cleared outside :)
[10:19:14] <Avenger> the way i would do it wouldn't even see these functions from the inside :) if 2b8 is set, and the function is set to 'breakable' in the action list, it wouldn't be called just popped
[10:20:09] <fuzzie> well, i am still imagining that some function does cleanup
[10:20:23] <Avenger> one thing is clear: clearaction sets this field ;)
[10:20:25] <fuzzie> if really no functions do cleanup then yes, your way is the only good one :)
[10:21:14] <Avenger> yes, they simply return a value quite in the beginning of them
[10:21:33] <fuzzie> well, i wonder if some shared function does differently
[10:21:43] <Avenger> i will try and grep what else bothers with this field, now i got some code dumped
[10:22:11] <Avenger> yep, cre_script_loop cares
[10:22:17] <Avenger> so they got some common function for it too
[10:24:59] <Avenger> oh nice, there is a place where it checks 2B8 (the break flag in my opinion) and immediately after this, the 366 (allow interrupts) :)
[10:25:17] <Avenger> also the cre flags
[10:25:26] <Avenger> you know we talked about two allow interrupt flags
[10:25:44] <Avenger> one in the creature mc flags, and another in 366h for non actors
[10:25:50] <fuzzie> yes
[10:26:04] <Avenger> both are checked, also 2b8 :) in quick succession
[10:26:14] <fuzzie> and then the third one, for blocking actions, i guess?
[10:26:28] <Avenger> oh and also the return value of the function
[10:26:39] <Avenger> wow, nice group
[10:26:44] <fuzzie> :)
[10:27:08] <Avenger> looks like this:
[10:28:39] <Avenger> if 2b8 == 0 (no interrupt) else: if return value !=1 (no interrupt), else: if !(mcflag & 80000000h or no_interrupts): (no interrupt) else: interrupt
[10:28:42] <Avenger> something like this
[10:28:57] <Avenger> so it seems only return value=1 allows interrupt
[10:30:33] <fuzzie> but you can definitely interrupt blocking actions
[10:30:38] <Avenger> and even in interrupt, there seem to be 2 paths, depending on another field
[10:30:55] <Avenger> yeah, i guess blocking actions return 1 :)
[10:32:24] <fuzzie> your earlier notes say 1 stays on queue, 0 is stays on queue and not-interrupt
[10:32:28] <fuzzie> so i guess that matches :)
[10:32:57] <fuzzie> and what happens when it works out that an interrupt can happen, it sets another flag?
[10:33:10] <fuzzie> or is it just checking the old stored return value from the last run?
[10:33:11] <Avenger> i can give you a list of functions that may return 1
[10:33:21] <fuzzie> that would be great :)
[10:33:50] <Avenger> it will be an ugly grep output, i'm lazy
[10:34:14] <Avenger> ok, i trim the duplications
[10:36:17] <lynxlynxlynx> sort | uniq -u :)
[10:36:22] <Avenger> http://pastebin.com/d3708fe2e
[10:36:29] <Avenger> these are only actions for actors
[10:36:37] <Avenger> some non-living actions could be blocking too
[10:37:14] <Avenger> and as i said, other actions like randomwalk check 2b8 from inside
[10:37:29] <Avenger> the difference is, randomwalk doesn't check for the interruptible flag
[10:37:53] <Avenger> so, the actions i mentioned before are checking the flag from inside because they are more readily interruptable
[10:38:06] <Avenger> and the bio devs do the check as i would have done it :)
[10:41:02] <Avenger> http://pastebin.com/d1836bdd3
[10:41:08] <Avenger> here are the non-living actions
[10:41:18] <Avenger> they could be issued by livings, of course ;)
[10:41:26] <fuzzie> ok, those all make sense
[10:41:38] <Avenger> createcreatureobject is a bit weird
[10:41:41] <fuzzie> except createcreatureobject
[10:41:42] <fuzzie> heh :)
[10:41:53] <Avenger> it seems it takes time to find a place or something like that
[10:42:10] <Avenger> there is something like creaturecreatureobjectoffscreen
[10:42:21] <Avenger> it waits until the place is offscreen, or somehting like that
[10:42:21] <fuzzie> can you also grep for the 0 returns and so find out all blockable actions?
[10:42:43] <Avenger> that is not so easy, these can also return 0, when they end
[10:43:44] <raevol> i'm off to sleep night guys
[10:43:51] <Avenger> hmm wait, that is -1 i looked for
[10:43:57] <Avenger> lemme see which is the 0 constant
[10:46:53] <Avenger> hmm, what do you mean by blockable, returning 1 means stay on the queue, they are all breakable
[10:47:27] <fuzzie> returning 0 means stay on the queue and cannot be broken, i thought
[10:48:18] <Avenger> yes
[10:48:37] <Avenger> ahh you mean, find out all blocking functions :)
[10:48:43] <fuzzie> yes, sorry
[10:49:09] <Avenger> well, something isn't clear here
[10:49:29] <Avenger> one shot functions return the same value as randomfly
[10:51:11] <Avenger> i don't know how randomwalk stays on the queue, yet
[11:17:26] <Avenger> ok fuzzie, i see something that is helpful
[11:17:37] <Avenger> playdead and playdeadinterruptable differ only in return value
[11:18:00] <Avenger> playdead returns 0, playdeadinterruptable returns 1
[11:18:59] <fuzzie> ok, good
[11:19:02] <CIA-22> gemrb: 03lynxlupodian * r7268 10/gemrb/trunk/gemrb/ (4 files in 3 dirs): fixed a few iwd avatar animations
[11:19:08] <Avenger> i just see some odd functions that return 0
[11:19:14] <Avenger> like regainpaladinhood
[11:19:33] <Avenger> maybe these actions do something that needs an external cycle to pass
[11:19:49] <Avenger> regainpaladinhood applies a kit
[11:19:53] <fuzzie> they also return -1 at some point?
[11:20:05] <Avenger> so it might need effects to run, yes, they return -1 too
[11:21:33] <Avenger> i cannot look deeper now, i'm in linux so no debugging
[11:21:55] <Avenger> i could grep the return 0 functions but you will see lots of odd stuff i cannot explain yet
[11:24:46] <Avenger> really strange, addkit/addsuperkit/fallen* actions don't have this, only regainpaladin/regainranger
[11:25:12] <Avenger> i thought they are doing basically the same with little variations
[11:26:15] <fuzzie> well, maybe they just wanted to make sure that those specifically are applied before the scripts continue
[11:26:18] <Avenger> actually the list is not overly weird
[11:26:30] <fuzzie> there's no way to 'pause' script execution other than blocking, right?
[11:26:43] <Avenger> recoil/swing are blocking so the animation is played fully
[11:27:15] <Avenger> most of the others are blocking in our engine too
[11:27:50] <Avenger> http://pastebin.com/d6393fd0e
[11:28:11] <Avenger> here are the unbreakable (at least in some point) actions, which are actor only
[11:30:00] <Avenger> wow, displaystringwait is one :)
[11:30:25] <fuzzie> yes, they don't want the little scripted sequences to be broken
[11:30:38] <Avenger> http://pastebin.com/d52d7e788
[11:30:58] <Avenger> this is the non-living actions returning 0 at some point
[11:31:14] <Avenger> not really surprising
[11:31:25] <Avenger> restorepartylocations is just doing multiplayersync internally
[11:31:27] <fuzzie> ok, those all make sense, given we already saw createcreateobject was weird
[11:31:51] <Avenger> yes, as i said it waits until the spawn point goes offscreen
[11:32:07] <Avenger> only for a variation of the function
[11:32:23] <Avenger> it is pretty fishy
[11:32:47] <Avenger> i guess you can test it
[11:33:11] <Avenger> i think it would go like this: createcreatureobjectoffscreen("goblin","some_container")
[11:33:26] <Avenger> the goblin will appear when the container isn't in your viewport
[11:34:01] <lynxlynxlynx> aww, no goblin jack-in-the-box
[11:34:27] <Avenger> you can do that lynx :)
[11:34:46] <lynxlynxlynx> yes
[11:34:56] <Avenger> if opened() createcreatureobject("goblin",myself); in the container's script or something like this
[11:35:05] <Avenger> maybe the params need to be switched
[11:45:51] <CIA-22> gemrb: 03lynxlupodian * r7269 10/gemrb/trunk/gemrb/override/ (how/avatars.2da iwd/avatars.2da): fixed another four iwd avatars
[12:06:57] <lynxlynxlynx> hmpf
[12:07:28] <lynxlynxlynx> shadowed orc grunt halted dltcep (first it was complaining about out of range integers)
[12:08:22] <lynxlynxlynx> and ingame they are not nice either - they somehow get minhpn9, which sets the min hp to -9 (to avoid chunking, i guess), but they can't be killed
[12:10:30] <lynxlynxlynx> ah, Die only checks if it is not 0
[12:18:23] <CIA-22> gemrb: 03lynxlupodian * r7270 10/gemrb/trunk/gemrb/plugins/Core/Actor.cpp: only break out of Actor::Die if minhp is positive
[12:19:39] <lynxlynxlynx> about names with newlines in them
[12:20:12] <lynxlynxlynx> this should be fixed on import time, right?
[12:25:05] <Avenger> hmm
[12:25:37] <Avenger> nice catch lynx
[12:26:15] <Avenger> minhp < 0, hehe, i didn't expect that
[12:26:54] <lynxlynxlynx> yeah, interesting use
[14:03:39] <-- xrogaan has left IRC ("Why ?")
[14:24:50] <-- Avenger has left IRC ("bye!")
[14:44:53] <-- tombhadAC has left IRC (Remote closed the connection)
[15:06:31] <CIA-22> gemrb: 03lynxlupodian * r7271 10/gemrb/trunk/gemrb/plugins/Core/GameScript.cpp: added a missing newline to the "Aborted action due to death" message
[15:08:27] <lynxlynxlynx> fuzzie: i fixed the newline thing, now the tooltips and messages are ok: http://pastebin.com/d7caf8bce
[15:08:35] <lynxlynxlynx> looks ok?
[15:09:33] <lynxlynxlynx> i've never hit the one in the tlk importer, but i added it there too for consistency
[15:12:49] <fuzzie> changing string[len-3] is not safe there
[15:13:02] <fuzzie> and presumably could also overwrite completely valid text
[15:14:00] <fuzzie> same for the variant in tlkimp, i guess
[15:16:24] <CIA-22> gemrb: 03lynxlupodian * r7272 10/gemrb/trunk/gemrb/override/ (how/avatars.2da iwd/avatars.2da): fixed three more iwd avatars
[15:16:58] <lynxlynxlynx> i can increase the check limit
[15:17:43] <lynxlynxlynx> the tlkimporter one is safe
[15:17:51] <fuzzie> it isn't
[15:18:14] <fuzzie> if i put '\n' in a string it will crash, if i put 'blah\n' in a string it will overwrite the 'h', right?
[15:18:26] <lynxlynxlynx> yes
[15:18:28] <fuzzie> oh, no, the '\n' is okay there, i see
[15:18:50] <lynxlynxlynx> yes as in overwrite
[15:19:04] <lynxlynxlynx> i doubt there are any endings without the cr
[15:19:16] <lynxlynxlynx> it was made on windows afterall
[15:19:30] <fuzzie> sure, there are none in the default tlk
[15:19:36] <fuzzie> but i doubt this is the case for all mods
[15:19:51] <lynxlynxlynx> ok, i'll add an extra check and remove appropriately
[15:20:59] <fuzzie> I would just write a StripLine function and avoid the malloc/free in SetName, too, but I guess it doesn't get called much..
[15:21:28] <lynxlynxlynx> it gets called on area init
[15:21:55] <lynxlynxlynx> the problem with SetName is that it gets a const pointer, so i can't just modify that
[15:25:55] <fuzzie> yes, was just thinking that you could operate on the LongName/ShortName buffers directly if you made it a function instead
[15:25:58] <fuzzie> but it's fine as it is
[15:33:40] <lynxlynxlynx> a function is better, less duplicate code
[15:56:22] * lynxlynxlynx wishes he could cast improved haste on the computer
[16:10:40] <lynxlynxlynx> http://pastebin.com/d5a6e1366
[16:10:49] <lynxlynxlynx> with a function, except that it doesn't work
[16:11:17] <lynxlynxlynx> when i step through it, the work is done and even the caller has a good value later
[16:11:28] <lynxlynxlynx> but ingame it is as yesterday
[16:12:16] <fuzzie> your second StripLine call changes LongName, not ShortName
[16:12:42] <lynxlynxlynx> doh
[16:13:34] <lynxlynxlynx> that was it
[16:14:07] <lynxlynxlynx> otherwise it is fine?
[16:15:02] <fuzzie> well, the & in 'char * &string' is unnecessary
[16:15:05] <fuzzie> but the logic looks fine
[16:15:25] <lynxlynxlynx> would a copy be made and modified?
[16:15:49] <lynxlynxlynx> ah, i guess it is irrelevant since it points to the same memory
[16:15:52] <fuzzie> no, it's just equivalent to char **string, so it's passing a pointer to the pointer, which is a bit silly :)
[16:29:52] <CIA-22> gemrb: 03lynxlupodian * r7273 10/gemrb/trunk/gemrb/ (5 files in 3 dirs): added StripLine which removes any extraneus EOL newline and carriage return
[16:31:38] <fuzzie> hoorah
[16:34:11] <lynxlynxlynx> thanks for the help
[17:04:56] <CIA-22> gemrb: 03lynxlupodian * r7274 10/gemrb/trunk/gemrb/override/ (how/avatars.2da iwd/avatars.2da): another iwd avatar that doesn't have all the animations
[17:59:23] <CIA-22> gemrb: 03lynxlupodian * r7275 10/gemrb/trunk/gemrb/plugins/Core/GameControl.cpp: nothing like inimicide to take the edge off the grind
[17:59:51] --> tombhadAC has joined #gemrb
[18:23:40] <lynxlynxlynx> how/ar5004.baf is odd
[18:23:59] <lynxlynxlynx> area calling SetVisualRange(0)
[18:25:32] <fuzzie> well, the other block makes no sense either
[18:26:28] <fuzzie> mis-decompiled?
[18:27:33] <lynxlynxlynx> could be
[18:27:43] <fuzzie> or just nonsense
[18:48:27] --- pupnik_ is now known as pupnik
[19:08:08] --> kettuz has joined #gemrb
[19:24:44] <lynxlynxlynx> hmm, boots of speed have no effect in iwd either
[19:25:02] <fuzzie> print the stat from console?
[19:26:00] <lynxlynxlynx> no, they work :)
[19:26:06] <lynxlynxlynx> chose the wrong actor
[19:26:29] <lynxlynxlynx> portrait window foo
[19:43:19] <-- lynxlynxlynx has left IRC (Remote closed the connection)
[20:37:05] <-- anji has left IRC (orwell.freenode.net irc.freenode.net)
[20:37:05] <-- raevol has left IRC (orwell.freenode.net irc.freenode.net)
[20:37:05] <-- Gekz has left IRC (orwell.freenode.net irc.freenode.net)
[20:37:05] <-- wjp has left IRC (orwell.freenode.net irc.freenode.net)
[20:37:05] <-- kettuz has left IRC (orwell.freenode.net irc.freenode.net)
[20:39:01] --> wjp has joined #GemRb
[20:39:01] --> kettuz has joined #GemRb
[20:39:01] --> anji has joined #GemRb
[20:39:01] --> raevol has joined #GemRb
[20:39:01] --> Gekz has joined #GemRb
[20:59:33] <-- kettuz has left IRC ("Leaving")