#gemrb@irc.freenode.net logs for 19 Mar 2011 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:51:00] <-- tomprince has left IRC (Ping timeout: 250 seconds)
[00:53:35] <-- edheldil_ has left IRC (Ping timeout: 255 seconds)
[01:06:09] <-- Lingerance has left IRC (Ping timeout: 240 seconds)
[01:11:12] --> tomprince has joined #GemRb
[01:13:58] --> Lingerance has joined #GemRb
[01:30:09] <-- tomprince has left IRC (Ping timeout: 240 seconds)
[01:35:30] --> tomprince has joined #GemRb
[03:39:46] --> MikeChelen has joined #GemRb
[03:40:28] <MikeChelen> when compiling with cmake and make, is there some seperate step to configure plugins?
[03:41:27] <MikeChelen> oh my gemrb path is wrong now
[03:46:56] <MikeChelen> hmm now it wont even loag gemrb.cfg
[03:47:03] <MikeChelen> should make be run as sudo?
[04:13:42] <-- tomprince has left IRC (Ping timeout: 252 seconds)
[07:00:05] --> pupnik_ has joined #GemRb
[07:03:02] <-- pupnik has left IRC (Ping timeout: 255 seconds)
[07:11:21] --> edheldil_ has joined #GemRb
[07:23:18] --> tomprince has joined #GemRb
[08:14:11] --> lynxlynxlynx has joined #GemRb
[08:14:11] <-- lynxlynxlynx has left IRC (Changing host)
[08:14:11] --> lynxlynxlynx has joined #GemRb
[08:14:11] --- ChanServ gives channel operator status to lynxlynxlynx
[08:15:39] <lynxlynxlynx> MikeChelen: configure the plugins?
[08:15:52] <lynxlynxlynx> make doesn't need root priviliges either
[08:30:19] <lynxlynxlynx> fuzzie: i think i remember the use case - attacking with normal fists
[08:30:45] <lynxlynxlynx> that's all stunning damage and the script was interrupting the stun
[08:36:55] <-- Akileos has left IRC (Ping timeout: 250 seconds)
[08:37:46] --> Akileos has joined #GemRb
[09:04:59] <-- edheldil_ has left IRC (Ping timeout: 255 seconds)
[09:24:29] --> lynxlynxlynx_ has joined #GemRb
[09:25:26] <-- lynxlynxlynx has left IRC (Ping timeout: 260 seconds)
[09:33:56] <fuzzie> i guess there is probably actual code to make sure you can't interrupt those
[09:35:02] --> Bo_Thomsen has joined #GemRb
[09:41:05] <-- MikeChelen has left IRC (Remote host closed the connection)
[09:47:18] <lynxlynxlynx_> i was testing this in iwd, so i can't check, but iirc it was attackreevaluate that was problematic
[09:47:36] <lynxlynxlynx_> in one of the common scripts (if enemy)
[09:48:29] <lynxlynxlynx_> it's also what makes any agressive ai pc scripts interrupt manually chosen actions
[09:49:26] <-- Akileos has left IRC (Ping timeout: 240 seconds)
[09:50:04] <fuzzie> i'm not sure what you mean
[09:50:15] <fuzzie> you mean, attackreevaluate would happen again even if you were stunned?
[09:51:03] --> Akileos has joined #GemRb
[09:55:06] <-- Akileos has left IRC (Ping timeout: 240 seconds)
[09:56:57] <lynxlynxlynx_> something like that
[09:57:03] --> Akileos has joined #GemRb
[09:57:23] <fuzzie> but it seems like a lot of bad things could also happen
[09:57:33] <fuzzie> i don't remember a check for stun but maybe it checks for the stance
[09:57:38] <fuzzie> will look this afternoon
[09:59:36] <lynxlynxlynx_> we added an Immobile check
[09:59:46] <lynxlynxlynx_> before it was checking only for death
[09:59:56] <fuzzie> well, i figure that copying the original exactly is smarter
[10:00:06] <lynxlynxlynx_> the final fight was almost over, but then it got stuck again
[10:01:41] <-- Akileos has left IRC (Ping timeout: 252 seconds)
[10:03:09] --> Akileos has joined #GemRb
[10:05:05] <lynxlynxlynx_> i think this is in scripts/bg2/cut233g.baf
[10:06:36] <lynxlynxlynx_> the fade happened, jumptopoint didn't
[10:06:40] <fuzzie> you can probably get a good idea of where that breaks by seeing what the last relevant thing loaded was
[10:08:10] <lynxlynxlynx_> nope
[10:08:23] <lynxlynxlynx_> the animation spam destroys any output
[10:08:35] <fuzzie> maybe comment out animation spam :)
[10:08:44] --> edheldil_ has joined #GemRb
[10:08:46] <lynxlynxlynx_> not in gdb currently, so i had to do for i in range(1,1000000): CheckVar ... :)
[10:09:11] <lynxlynxlynx_> then i'd comment out other resource loading messages, so there's not much gain
[10:09:51] <fuzzie> the only interesting thing there is that it casts a spell on self
[10:13:36] <fuzzie> i have no lectures next week so i will probably be more around, which i guess is helpful for release
[10:17:00] <lynxlynxlynx_> indeed
[10:18:11] <lynxlynxlynx_> looking at my schedule, it can't be done before thursday, so there's plenty of time for more polish
[10:19:43] <fuzzie> i really didn't have much luck with running through spellhold, but will take another look
[10:21:56] <-- edheldil_ has left IRC (Ping timeout: 255 seconds)
[10:28:03] <lynxlynxlynx_> all the spells were looked up, so it looks like the first thing that goes wrong are those jumps
[10:28:49] <fuzzie> well, i was more thinking that the spells would break things via side-effects :)
[10:29:11] <fuzzie> could you confirm http://forums.gibberlings3.net/index.php?s=&showtopic=21418&view=findpost&p=183987 makes sense?
[10:29:47] <lynxlynxlynx_> the first is just unconsciousness for all non-partiers
[10:29:53] <lynxlynxlynx_> then there's the normal resurrect
[10:30:16] <lynxlynxlynx_> polymorph looks as usual too
[10:31:08] <lynxlynxlynx_> though it sets the slayer var
[10:31:21] <lynxlynxlynx_> the wish one appears harmless too
[10:32:35] <fuzzie> spin923?
[10:32:36] <lynxlynxlynx_> re forum: yes, it's old, we didn't forget to update the error doc
[10:32:43] <fuzzie> thankyou :-)
[10:33:03] <lynxlynxlynx_> wish is 923, yes
[10:33:21] <lynxlynxlynx_> SPIN718 for the slayer
[10:34:31] <fuzzie> well i can never remember which number is which
[10:34:44] <lynxlynxlynx_> i see the relevant messages in the msgwin
[10:34:47] <fuzzie> but the wish one looks ok
[10:35:14] <lynxlynxlynx_> followed by a lot of death messages, huh
[10:35:27] <lynxlynxlynx_> everyone in the area dies again
[10:35:54] <lynxlynxlynx_> so now the spies are dead
[10:36:12] <fuzzie> that sounds not so good
[10:36:36] <lynxlynxlynx_> nope
[10:36:45] <lynxlynxlynx_> and it happens a few times before things calm down
[10:36:47] <fuzzie> the wish thing is mostly FX_TARGET_PARTY, one FX_TARGET_PRESET
[10:37:10] <lynxlynxlynx_> x7 in this case
[10:37:29] <lynxlynxlynx_> let's see if she goes out with a bang
[10:38:02] <fuzzie> i guess all the spells seem innocent at a glance
[10:38:55] <fuzzie> the fx_death on FX_TARGET_ALL_BUT_PARTY a bit less so
[10:42:54] <lynxlynxlynx_> yeah
[10:43:17] <lynxlynxlynx_> i wonder how this worked in the original, since the other side doesn't know parties
[10:44:11] <lynxlynxlynx_> or if it is the same, how did they make cutspy immune?
[10:54:52] <lynxlynxlynx_> maybe summondisable also gives death immunity?
[10:54:58] <fuzzie> could be
[10:56:24] <fuzzie> i would have to look (can't atm) or ask Avenger
[10:57:59] <fuzzie> and he is working today, i guess
[11:00:16] <lynxlynxlynx_> i wonder why it worked before, the effect has no save or resistance
[11:08:31] <fuzzie> i can only guess it is meant to be reversed for enemy ea
[11:08:40] <fuzzie> which would explain the resurrects
[11:08:45] <fuzzie> since slayer is immune
[11:10:34] <fuzzie> i'm sure you are way ahead of me here
[11:11:14] <fuzzie> that iwd troll bug seems to have been a failure to run the updated gemrb, btw
[11:14:42] <lynxlynxlynx_> i doubt it is reverted, killing the protagonist would end the game
[11:15:06] <lynxlynxlynx_> my guess is that the resurrects are there so the folks can talk later
[11:20:25] <fuzzie> isn't slayer immune to fx_death though?
[11:26:22] <lynxlynxlynx_> but you aren't forced into the slayer form anywhere
[11:26:29] <lynxlynxlynx_> (or it doesn't work)
[11:26:31] <fuzzie> oh, ok
[11:26:48] <fuzzie> well it's been a long time since i looked at that end stuff :)
[11:31:14] <fuzzie> so i guess the cutspy2 is already in the area?
[11:31:47] <fuzzie> cutspy2.cre has a imoenhp1 equipped
[11:33:11] <fuzzie> which i thought had immunity'
[11:35:29] <lynxlynxlynx_> just mage01 and fist here
[11:39:15] <fuzzie> in your .cre or ingame?
[11:47:18] <lynxlynxlynx_> ingame
[11:47:26] <-- Akileos has left IRC (Ping timeout: 276 seconds)
[11:47:54] <fuzzie> maybe disintegrated?
[11:48:15] <fuzzie> i have no idea, but it is in my .cre, and it seems most likely explanation for death immunity
[11:50:44] <lynxlynxlynx_> well, it wasn't there yesterday either, in the previous cutscenes
[11:50:56] <lynxlynxlynx_> but those also contain some necromancy
[11:51:23] <lynxlynxlynx_> (all the summoned fiends should go with mel)
[12:12:44] <lynxlynxlynx_> mine also has imoenhp in the amulet slot
[12:13:31] <lynxlynxlynx_> more digging to do
[12:19:21] <lynxlynxlynx_> the item is already missing right after arrival to the plane
[12:29:15] <fuzzie> odd
[12:30:46] <lynxlynxlynx_> when the importer is reading the inventory ItemsCount is already 2
[12:30:58] <fuzzie> that is ok?
[12:31:07] <fuzzie> i just read through the importer code since Avenger changed it, but it looks fine
[12:31:09] <lynxlynxlynx_> fists are special?
[12:31:21] <fuzzie> yes, fists are dealt with elsewhere
[12:31:48] <lynxlynxlynx_> ok
[12:32:53] <lynxlynxlynx_> 1068 if (item && Slot>0) { <--
[12:32:56] <lynxlynxlynx_> Slot is 0
[12:33:11] <fuzzie> ugh, for the hp item?
[12:33:55] <lynxlynxlynx_> yep
[12:34:11] <lynxlynxlynx_> mage01 went through fine
[12:34:20] <fuzzie> 'i' is 6?
[12:34:21] <lynxlynxlynx_> queryslot(7) -> 0
[12:34:57] <fuzzie> oh, right, increased due to fist
[12:35:28] <lynxlynxlynx_> meh, crashed it again, gdb is pretty picky
[12:36:28] <fuzzie> i guess that is quite right
[12:36:57] <fuzzie> amulet slot is 0
[12:38:35] <fuzzie> but QuerySlot returns 0 on error
[12:39:16] <fuzzie> so that check is just bad
[12:39:27] <fuzzie> remove it
[12:39:37] <lynxlynxlynx_> it is brand new
[12:40:51] <fuzzie> oh great, my testcase segfaults
[12:40:55] <lynxlynxlynx_> it's there to catch errors, i guess we should sometime transition to some other magic value
[12:42:35] <fuzzie> yes, that totally breaks all my saves
[12:42:57] <fuzzie> i don't understand how i could have missed it
[12:43:09] <fuzzie> File "../gemrb/GUIScripts/bg2/GUIINV.py", line 188, in UpdateInventoryWindow
[12:43:10] <fuzzie> InventoryCommon.UpdateSlot (pc, i)
[12:43:10] <fuzzie> File "../gemrb/GUIScripts/InventoryCommon.py", line 501, in UpdateSlot
[12:43:10] <fuzzie> GUICommon.UpdateInventorySlot (pc, Button, slot_item, "inventory", SlotType["Type"]&SLOT_INVENTORY == 0)
[12:43:13] <fuzzie> File "../gemrb/GUIScripts/GUICommon.py", line 427, in UpdateInventorySlot
[12:43:15] <fuzzie> if item["StackAmount"] > 1:
[12:43:18] <fuzzie> TypeError: 'NoneType' object is unsubscriptable
[12:43:36] <fuzzie> because the amulet slot is MIA
[12:43:36] <lynxlynxlynx_> haven't hit that myself
[12:43:54] <lynxlynxlynx_> i'm thinking of adding a queryslotbits in the mix to differentiate amulets
[12:43:56] <fuzzie> yes, isn't it weird?
[12:44:21] <fuzzie> i would just remove the check for now, and make it return -1 later
[12:44:43] <fuzzie> aha
[12:44:50] <fuzzie> i only get that error for Jaheira, in my set.
[12:44:51] <lynxlynxlynx_> i meant in the importer
[12:44:57] <fuzzie> for the other chars, their amulets are just missing.
[12:45:09] <lynxlynxlynx_> the core change is really not something for this time
[12:45:12] <fuzzie> yes, i mean, remove the Slot check in CREImporter for now, and fix QuerySlot to return -1 later, since that is invalid and hence testable
[12:45:41] <fuzzie> but this is only going to cause issues with invalid slottype data, which is ours, afaics
[12:46:13] <lynxlynxlynx_> but the type could be checked in the importer
[12:46:31] <lynxlynxlynx_> so it would only barf on slot==0 when it is not about amulets
[12:46:43] <fuzzie> but then you hardcode an assumption in?
[12:47:15] <fuzzie> just seems that since it's a brand-new check, we can do without it for the release.
[12:47:17] <lynxlynxlynx_> i don't know which is worse
[12:47:21] <lynxlynxlynx_> ok
[12:47:31] <fuzzie> but that is just a random opinion!
[12:47:42] <fuzzie> i have this afternoon free, i am going to look at state checks for scripting now
[12:52:41] <fuzzie> dammit though, i guess we need some simple test regimen along the lines of 'open inventory, make sure things aren't missing'
[12:53:37] <fuzzie> no wonder so much broke for me
[12:59:52] <lynxlynxlynx_> ok, now i'm at the end
[13:00:01] <fuzzie> :)
[13:00:21] <lynxlynxlynx_> there were no interjections, but i didn't check if that's a problem yet
[13:00:49] <fuzzie> the aicycle in original engine starts off by forcing the EA of PCs to the PC EA, how strange
[13:01:22] <lynxlynxlynx_> could be useful for all those original-ea checks when summoning
[13:01:44] <lynxlynxlynx_> for example if your pc was charmed
[13:01:55] <fuzzie> and then hardcoding a ar4000 check
[13:04:09] --> edheldil_ has joined #GemRb
[13:04:17] <lynxlynxlynx_> the game doesn't end because we don't do enough in EndCredits
[13:04:40] <lynxlynxlynx_> interjections don't work, but i don't know why i thought this was blocking
[13:05:17] <fuzzie> the innate-hacking code here is strange too
[13:06:24] <fuzzie> ok, so Avenger marked a canPCPerformAction :)
[13:10:00] <lynxlynxlynx_> want me to revert that immobile addition or should i just wait for you?
[13:10:21] <fuzzie> well, i can read this function out loud
[13:10:40] <fuzzie> but let me work out what it does
[13:12:39] <lynxlynxlynx_> ok
[13:13:00] <CIA-48> GemRB: 03lynxlupodian * re5e915dc228a 10gemrb/gemrb/plugins/CREImporter/CREImporter.cpp: read amulets too, they were being ignored since the index changes
[13:14:56] <fuzzie> hm
[13:15:02] <fuzzie> ok, i guess this is different code
[13:15:30] <fuzzie> so, instant actions always run
[13:17:44] <fuzzie> non-instants are prevented by !enablesscripts, a complex check of idle/EA/dialogpause stuff, STATE_DEAD, held, pausecaster, STATE_PETRIFIED, STATE_FROZEN, timestop and avatarremoval
[13:18:56] <fuzzie> and the bit where STATE_DEAD sabotages future scripting is right here too :)
[13:20:32] <fuzzie> i'm not really sure this is spectacularly helpful though
[13:20:52] <fuzzie> i think we just shouldn't use Immobile() there
[13:22:50] <fuzzie> maybe Immobile isn't really good anywhere
[13:23:14] <fuzzie> the PC can-perform-action check in the original is clearly fairly PC-specific, it rejects anything with EA > GOODCUTOFF
[13:25:29] <fuzzie> so much hard-coding :(
[13:47:35] --- Gekz_ is now known as Gekz
[13:52:12] --> Akileos has joined #GemRb
[14:30:52] <-- |Cable| has left IRC (Remote host closed the connection)
[14:32:22] --> |Cable| has joined #GemRb
[14:35:46] <-- pupnik_ has left IRC (Ping timeout: 240 seconds)
[14:37:56] --> pupnik has joined #GemRb
[14:37:56] <-- pupnik has left IRC (Changing host)
[14:37:56] --> pupnik has joined #GemRb
[14:38:07] <fuzzie> still staring at code
[14:55:57] <fuzzie> i thought i found where scripts are executed, but it's not referenced by the Actor codepath..
[15:04:10] <lynxlynxlynx_> too bad
[15:05:56] <fuzzie> well it is certainly interesting poking around in original
[15:06:04] <fuzzie> but it's such a ridiculously huge amount of code
[16:20:31] <fuzzie> lots of useless stuff here
[16:20:52] <fuzzie> like the fact you can cast SPWI219, SPCL412, SPCL414 and SPIN649 when silenced - where's our stuff for that?
[16:21:22] <fuzzie> ah, splspec.2da
[16:23:30] <fuzzie> and spin649 is sabotaged in ar4500/ar6400 (not in plane) and ar3020 (no ability), which i suppose is denyspl.2da
[16:41:31] --> Maighstir|phone has joined #GemRb
[17:03:46] <fuzzie> hm
[17:04:04] <fuzzie> so combat counter between -45 and 0 does StartAreaMusic(256, 4, 1)
[17:04:11] <fuzzie> i guess it probably means 'combat ending'?
[17:05:01] <fuzzie> i will note that area update is 4BDB67 since it is not noted in Avenger's db
[17:05:08] <lynxlynxlynx_> 300 rounds sounds like a long fight
[17:05:52] <lynxlynxlynx_> but i'm confused as to why is music tied in like that
[17:06:07] <fuzzie> the combatcounter is in game ticks, so that's 3 seconds
[17:06:40] <fuzzie> and the combat music ending is controlled by the combatcounter dropping below -45 (same for the in-combat checks elsewhere)
[17:08:18] <fuzzie> no idea what the params mean
[17:12:38] <fuzzie> i can't reproduce latest bug reported on forum, i think
[17:17:16] <lynxlynxlynx_> the pst ones?
[17:17:31] <fuzzie> the bg1 one
[17:22:14] <-- edheldil_ has left IRC (Ping timeout: 255 seconds)
[17:35:16] <fuzzie> really difficult to see how this all works
[17:35:32] <fuzzie> no wonder no-one answered my annoying questions :)
[17:46:01] <pupnik> mhm
[18:16:16] --> Avenger has joined #GemRb
[18:16:16] --- ChanServ gives channel operator status to Avenger
[18:16:22] <Avenger> hi
[18:16:49] <fuzzie> hi!
[18:17:50] <fuzzie> i changed the party targetting in effectqueue to include dead actors, i assume that is correct
[18:19:06] <Avenger> i don't know, did you ask asc64?
[18:19:23] <Avenger> or... look in the db :)
[18:19:26] <fuzzie> well
[18:19:41] <fuzzie> the party resurrect spells don't work otherwise
[18:19:44] <fuzzie> so i just assume :)
[18:20:07] <fuzzie> i don't suppose you know where the code to run new scripts is, for actors?
[18:20:20] <Avenger> ok, i didn't know there is a party resurrect spell, why tob implements an opcode for it then
[18:20:24] <fuzzie> i found the code for dialogs, and for cutscenes, and for non-actors, and about a hundred different places which mess with the queue
[18:20:41] <Avenger> tob has a separate opcode to resurrect party :) which loops for all partymembers
[18:21:59] <fuzzie> hmm, well, i was looking at bg1, so maybe it is bg1/bg2 difference
[18:22:20] <Avenger> now, that would be bad
[18:22:54] <Avenger> i hope all they changed about targettng is just bugfixing
[18:23:08] <fuzzie> i spent the whole afternoon staring at IDA though
[18:23:22] <Avenger> hehe, it is like a wiki walk :)
[18:23:28] <fuzzie> the vtables are pretty obvious, which is nice
[18:23:47] <fuzzie> i went digging and found the area sprite sorting code etc
[18:23:59] <Avenger> i used to get lost in the db, just following links absentmindedly
[18:24:03] <Avenger> oh you found that?
[18:24:07] <Avenger> nice
[18:24:17] <Avenger> i don't think i seen it consciously
[18:24:18] <fuzzie> well, i want the stupid actor script update code :P
[18:24:49] <fuzzie> so i thought, ok, maybe bioware are completely insane and they put it in the area code for actors only
[18:24:50] <Avenger> hmm just to talk about the same thing, you meant the stuff that determines drawing order?
[18:24:57] <fuzzie> yes
[18:25:14] <fuzzie> 4D2EE6 i think
[18:25:22] <Avenger> for bg2?
[18:25:55] <fuzzie> yes
[18:26:24] <Avenger> probably it has a few marks, but i'm sure i didn't read it knowingly
[18:27:25] <Avenger> it does something with a container list
[18:27:27] <Avenger> i think
[18:27:29] <fuzzie> the first caller is the area update function
[18:27:35] <fuzzie> (not the area object)
[18:28:33] <Avenger> well, i was reflecting on the 'actors only' part
[18:28:45] <fuzzie> ah
[18:28:57] <fuzzie> well, the non-actors code is in performTriggers
[18:29:16] <Avenger> it does an awful lot of things
[18:29:34] <fuzzie> erm, processTriggers
[18:30:01] <fuzzie> but that is only called from two places: scriptable_v84 (AICycle for scriptable), and in disruptCasting if you are Edwin.
[18:30:07] <fuzzie> the latter bit makes me wonder if i am going insane
[18:30:18] <Avenger> this code is always called when some actor moves?
[18:30:42] <fuzzie> the area sort update? i think it is called every frame
[18:30:52] <Avenger> -->DisruptCasting if you are Edwin
[18:30:58] <Avenger> what is this about???
[18:31:04] <fuzzie> yes well that is a good question
[18:31:32] <Avenger> that sounds like some absurd hack
[18:32:00] <fuzzie> yes
[18:32:29] <fuzzie> i think disruptCasting calls it: if unselectabletimer is <= 0, or, if the actor is a PC where GetObjectName()=="Edwin"
[18:33:12] <Avenger> hmm, calls what? i see only my 'replacewithpanic' stuff here
[18:33:24] <Avenger> and BreakInstants
[18:33:29] <fuzzie> calls processTriggers
[18:33:48] <fuzzie> which is more like processNewScriptAndTriggerStuff :P
[18:35:07] <fuzzie> it is easy to find because it checks for acti_continue before continuing processing
[18:35:07] <Avenger> well, this is about casting interrupts
[18:35:26] <Avenger> but i couldn't figure out if edwin is immune to interrupts, or not. I guess he is
[18:35:30] <fuzzie> and it is the *only* code in the whole exe which does this
[18:35:58] <fuzzie> i just spent the whole day working it out.
[18:37:05] <Avenger> i think you misunderstood this part, if you are edwin, the whole stuff is skipped
[18:38:08] <fuzzie> really? i thought it forced the code if mbscmp returned 0
[18:38:29] <Avenger> there is a negation, did you consider that?
[18:39:17] <fuzzie> yes
[18:39:25] <fuzzie> it negates it, then returns if negation is non-zero
[18:41:15] <Avenger> hmm
[18:41:29] <fuzzie> i spent the whole day on this, so i'm going quietly mad :)
[18:41:32] <pupnik> :/
[18:41:47] <Avenger> i don't see any reason for that
[18:41:48] <fuzzie> but it looks like Edwin ignores the unselectabletimer for new scripts
[18:42:01] <Avenger> ?
[18:43:11] <fuzzie> hehe
[18:43:15] <fuzzie> that is the goal, i mean
[18:43:38] <fuzzie> it checks the unselectabletimer, but then if it for Edwin, then Edwin runs the code anyway
[18:43:50] <fuzzie> i can't think why Edwin is special for that though
[18:43:52] <Avenger> what code?
[18:44:05] <Avenger> i thought this is about disrupting casting
[18:44:14] <fuzzie> i'm pretty sure it is the 'update scripts for actor' code
[18:44:34] <Avenger> ok, where it calls it
[18:44:46] <fuzzie> i don't know!
[18:44:47] <Avenger> it is [edx+0c4h]
[18:44:51] <fuzzie> yes, i searched for those
[18:45:03] <fuzzie> there are quite a few of them, nothing obvious yet
[18:45:26] <fuzzie> it is called from a bunch of the actions, but obviously that would make sense for disrupting casting
[18:46:13] <fuzzie> oh, it is sub_9568A7
[18:46:18] <fuzzie> called from AICycle
[18:46:57] <Avenger> even nicely marked :P
[18:47:26] <fuzzie> no, maybe it isn't
[18:48:01] <fuzzie> anyway hello this was my day :)
[18:48:16] <Avenger> :)
[18:48:23] <Avenger> you still did more than i
[18:48:28] <Avenger> i had to work
[18:50:16] <fuzzie> but sunday is free?
[18:50:52] <pupnik> yeey
[18:51:25] <Avenger> yes
[18:53:02] <lynxlynxlynx_> and i was in the middle, doiing both
[18:53:56] <lynxlynxlynx_> the last two days were pretty debugging heavy, but all was tracked down and anihilated
[18:54:27] <fuzzie> well, the immobile thing isn't fixed yet
[18:55:10] <lynxlynxlynx_> just a commit away, but the ball is in your park now
[18:55:51] <Avenger> this is the dying troll stuff?
[18:55:59] <fuzzie> no, dying troll stuff is all fixed
[18:56:08] <fuzzie> also mysterious disappearing amulets
[18:56:32] <lynxlynxlynx_> tob ending works again :)
[18:56:36] <Avenger> IF_STOPATTACK ?
[18:57:04] <Avenger> hmm
[18:57:07] <lynxlynxlynx_> actions (not) running for immobile actors
[18:57:16] <Avenger> ahh, i see
[18:57:30] <Avenger> because the attack opcode already had this stopping code
[18:57:30] <lynxlynxlynx_> checking immobile() is too broad
[18:57:42] <Avenger> it had no chance to clear away, i see
[18:57:44] <lynxlynxlynx_> no, this is not related to attacks/trolls
[18:58:08] <fuzzie> hehe i lost track of what we changed
[18:58:11] <Avenger> well, partially :) i freezed a troll which moved
[18:58:31] <Avenger> ok, it is at least 2 bugs
[18:58:59] <fuzzie> well, if you cast Hold or something on a troll, it breaks
[18:59:15] <fuzzie> which is why i spent the day staring at IDA
[18:59:29] <Avenger> hehehe
[18:59:30] <fuzzie> but bg2 trolls are completely different anyway
[18:59:58] <Avenger> well, i'm glad you look at the stuff, removing the middleman is good :)
[19:00:09] <fuzzie> yes, i guess it is most sensible for me to do this stuff
[19:00:21] <Avenger> i admittedly don't understand everything in the code, even if i think i do
[19:00:22] <fuzzie> and your database is incredibly great
[19:00:51] <fuzzie> it would be impossible without it
[19:01:16] <Avenger> if i understood you correctly, you already think that my 'disableCasting' naming is totally wrong.
[19:01:36] <Avenger> it might be, but i wonder what does that, then ;)
[19:01:47] <Avenger> i mean, disruptCasting
[19:02:07] <fuzzie> hehe
[19:02:09] <Avenger> there is nothing in the tookDamage trigger
[19:02:14] <Avenger> which is where i would have put this
[19:02:23] <fuzzie> i think that might also be in this code
[19:02:50] <fuzzie> there's some horrible pieces of code which check for STANCE_DAMAGE too, but i didn't seriously look
[19:03:41] <fuzzie> i'm going through and decoding the contents of LivingTick first
[19:04:30] <Avenger> huh, you mean the constant i mark with SEQ_DAMAGE, and i guess it isn't using the symbol, but the 4 is embedded in the code
[19:04:51] <fuzzie> i *really* didn't seriously look :)
[19:05:14] <Avenger> in many places they use a common global constant for SEQ_* values
[19:05:29] <Avenger> those are the good usages :) good as in IDA friendly
[19:06:01] <Avenger> sadly their coders are not equally disciplined, or whatever
[19:06:14] <Avenger> so they mix the global values with locally embedded values
[19:06:59] <fuzzie> yes
[19:07:06] <fuzzie> it is really obvious when checking action opcodes
[19:08:55] <Avenger> for stances they did that too, like at : 005148C3
[19:10:04] <Avenger> btw, this remind me, we probably need a mapping for these stances
[19:10:35] <fuzzie> for different games?
[19:11:15] <fuzzie> i know we need something quite complicated for the special pst stances, but i am quietly ignoring that for now
[19:11:17] <Avenger> yes
[19:11:18] --> edheldil_ has joined #GemRb
[19:11:36] <Avenger> iwd2 also has some difference
[19:11:44] <fuzzie> like the spellcasting stances, i mean
[19:11:45] <Avenger> or maybe all of the iwd branch
[19:12:15] <fuzzie> i have no idea about iwd branch :)
[19:13:00] --> test32894789234u has joined #GemRb
[19:13:53] <test32894789234u> Hi, sorry if this info is already in any faq, but I really can`t find - is Planescape: Tormanet playable under linux?
[19:14:00] <fuzzie> use wine :P
[19:14:41] <test32894789234u> wine haveproblems with textures (some of them just disappear, if I go near them - it was some time ago, but I guess, that it still exist
[19:14:49] <test32894789234u> in P;T
[19:16:31] <fuzzie> hm i guess wine is worse than i thought
[19:16:39] <fuzzie> gemrb doesn't run PS:T well enough, anyway
[19:16:42] <Avenger> well, gemrb is only partially working with pst
[19:16:49] <fuzzie> we still struggle with the other games
[19:17:05] <Avenger> well, actually, i work on the pst spell graphics :)
[19:17:09] <Avenger> when i got time
[19:17:18] <fuzzie> it seems wine is ok as long as you build wine with older gcc :P
[19:17:54] <Avenger> huh, you need to build wine yourself to have it work correctly?
[19:19:00] <fuzzie> compiler bugs :(
[19:19:46] <fuzzie> and i think wine working 'correctly' is hopeless :)
[19:21:40] <test32894789234u> I think that wine will never work correctly: to many changes, to many products to be supported - iven microsoft got problems with support old apis
[19:22:29] <fuzzie> but pst working well is still quite a long time off for gemrb
[19:22:42] <test32894789234u> :(
[19:22:46] <fuzzie> very annoying, everyone wants pst, but it is very difficult to support
[19:24:15] <fuzzie> huh, STATE_CHARMED updates slower, interesting
[19:24:31] <Avenger> ?
[19:24:38] <fuzzie> field_320 is a 'how many ticks since last update' check
[19:24:55] <fuzzie> if STATE_CHARMED is set, then you only get updates if field_320 >= 5
[19:25:40] <Avenger> sounds like a hack to support getting charmed in combat
[19:25:40] <lynxlynxlynx_> test32894789234u: it used to work for me, but i haven't tried it recently in wine
[19:26:11] <lynxlynxlynx_> everyone wants pst support, but nobody offers help in that area :|
[19:26:16] <lynxlynxlynx_> not all of it is arcane
[19:26:25] <Avenger> fuzzie: do you remember the guy in nalia's keep? you can charm him to avoid combat
[19:26:43] <Avenger> i remember it didn't work until some patch
[19:27:00] <lynxlynxlynx_> the one with the final flail head?
[19:27:16] <Avenger> probably, in the central part of the area, behind a secret door
[19:27:23] <lynxlynxlynx_> it never occured to me to try charming anyone via spells to avoid combat
[19:27:27] <fuzzie> heh
[19:27:39] <fuzzie> anyway this is really pretty easy to understand
[19:27:46] <Avenger> you charm him, and if you don't hit him after that, he calms down and talks :)
[19:27:48] <test32894789234u> same with me, always fight - always get items
[19:28:23] <fuzzie> once release is done i can fix all kinds of things which annoyed me before
[19:28:24] <Avenger> so, i thought slower charm triggers and action evaluation may be helping him to not notice some simultaneous hits ;)
[19:28:40] <Avenger> like projectiles in flight while getting charmed
[19:29:07] <fuzzie> like the stupid dead code, which *is* special-cased all over the place
[19:29:08] <-- edheldil_ has left IRC (Ping timeout: 255 seconds)
[19:29:20] <Avenger> hehe
[19:29:50] <Avenger> and cause another group of annoying bugs, hopefully they will eventually die out
[19:30:02] <fuzzie> yes
[19:30:09] <fuzzie> i wonder what i broke with my dialog gui changes
[19:30:13] <fuzzie> i didn't find anything yet
[19:30:54] <Avenger> i hope i didn't break any stock bg2 projectiles :)
[19:31:25] <Avenger> i won't commit any new stuff until release
[19:31:38] <Avenger> well, except game data for pst
[19:32:51] <fuzzie> pst is so broken i think it doesn't matter what you commit
[19:32:54] --> Zygfrydek1212 has joined #GemRb
[19:33:13] <Avenger> naah
[19:33:22] <-- Zygfrydek1212 has left #GemRb
[19:33:38] <Avenger> grace can already kiss and touch :) pretty important, hehe
[19:33:56] <fuzzie> i haven't tried the maze yet though
[19:33:59] <fuzzie> how much of that did you get working?
[19:34:01] <Avenger> ahh and the maze
[19:34:06] <fuzzie> i thought it would be a big problem
[19:34:07] <Avenger> i think it is totally working
[19:34:32] <Avenger> the whole maze stuff, with generating the default, changing it, getting the special rooms, etc
[19:35:14] <Avenger> actually, coding the maze was fun
[19:35:28] <fuzzie> hmm, this action code is not so ideal for poor dead actors
[19:35:30] <Avenger> not like these projectiles aren't fun
[19:35:42] <Avenger> what do you mean?
[19:35:55] <fuzzie> oh, no, it is fine
[19:35:59] <fuzzie> it is interesting code
[19:36:20] <fuzzie> field_3614 is 'run scripts on death?' flag
[19:36:35] <fuzzie> if a script is run and STATE_DEAD is set, field_3614 becomes 0
[19:36:55] <Avenger> that sounds like one of our IF_ flags
[19:36:57] <fuzzie> so this is how the death scripts work, they get one chance
[19:37:06] <Avenger> IDLE ?
[19:37:10] <fuzzie> no
[19:37:28] <Avenger> wouldn't it stop the script on next run or somehting like that
[19:37:40] <Avenger> heh, that is it
[19:37:40] <fuzzie> it is meant to be IF_JUSTDIED
[19:37:47] <fuzzie> except it doesn't work at all
[19:38:25] <fuzzie> we have this whole CheckOnDeath() function which needs deleting :)
[19:38:39] <fuzzie> but it is nice to know how it works in original engine
[19:39:13] <fuzzie> i guess field_322 is some kind of 'there are triggers waiting for you' check
[19:39:22] <Avenger> look in actor near 5310 ?
[19:39:50] <Avenger> though that's for drawing, not scripting
[19:40:12] <fuzzie> yes, that is something else
[19:40:28] <fuzzie> the drawing side of that should be kept, i think
[19:40:41] <fuzzie> i saw you made notes on some of that code in the original
[19:41:20] <Avenger> what did you say about 322?
[19:41:46] <fuzzie> i think it is a flag indicating that script updates should be fast, because there are triggers
[19:41:48] <Avenger> it is like 320. i see it decreasing
[19:42:03] <Avenger> 0048E495
[19:42:05] <fuzzie> the update code subtracts 1 from it every time
[19:42:21] <fuzzie> yes, that is update code :)
[19:42:49] <Avenger> looks like the triggers are checked every 5 cycle?
[19:42:52] <fuzzie> although that is *scriptable* update code
[19:43:07] <fuzzie> actor update code is around 956B00 somewhere
[19:43:09] <Avenger> yes, this is the scriptable stuff, not actor stuff
[19:43:22] <Avenger> i think you should understand scriptables first, they are easier than actors?
[19:43:33] <fuzzie> the code is similar
[19:43:39] <fuzzie> it is 956B0D for actors
[19:43:44] <Avenger> yeah, just actors got extra stuff
[19:44:32] <Avenger> hmm so what did you say, what is vtab+0c4h ?
[19:44:37] <fuzzie> oh nice, it is hardcoded 5 in scriptable code
[19:44:50] <fuzzie> and nice global constant of 5 in actor code :P
[19:45:00] <Avenger> hehe, they suck ;)
[19:45:07] <fuzzie> oh, well, you can see the +0c4h call right there
[19:45:41] <fuzzie> it is script updater for actors
[19:45:50] <Avenger> and what is the 15 ?
[19:45:57] <Avenger> near the 5 global constant
[19:46:17] <fuzzie> right above it?
[19:46:30] <Avenger> yes
[19:46:31] <fuzzie> it is the number of AI updates which an actor can idle for, before a script update is forced
[19:46:45] <Avenger> isn't that exacly our AI_CYCLE value?
[19:46:47] <fuzzie> i call it 'ConstMaxIdleTicks_0F'
[19:46:55] <fuzzie> yes but it is *not* that
[19:47:09] <Avenger> well, we have it at constant 15
[19:47:18] <fuzzie> it just happens to be identical value
[19:47:20] <lynxlynxlynx_> functionally inequivalent
[19:47:28] <Avenger> oh i thought it is all the same
[19:47:45] <Avenger> just the have 15 only when they are 'calm'
[19:47:56] <lynxlynxlynx_> ours is the number of updates per second
[19:48:04] <fuzzie> the AI scripts are checked in a function which does 'regentimer % 16 == globalID % 16'
[19:48:18] <lynxlynxlynx_> ugh
[19:48:21] <fuzzie> i suppose what you marked as 'regentimer' is more of a scriptable tick thing
[19:48:27] <Avenger> that's good
[19:48:28] <lynxlynxlynx_> that's what taimon mentioned sometime
[19:48:35] <lynxlynxlynx_> the gid mod crazyness
[19:48:37] <fuzzie> well, it is fine
[19:48:44] <Avenger> that is a nice thing to have them not all run in the same time
[19:48:50] <fuzzie> it means that, unless it is called manually, it spreads the updates out
[19:48:51] <Avenger> even when they are created simultaneously
[19:49:00] <Avenger> it is better than ours
[19:49:17] <fuzzie> the disableCasting function *is* called in other places
[19:49:20] <lynxlynxlynx_> it breaks something iirc
[19:49:45] <fuzzie> well i don't know what the regentimer is used for, or where it is referenced
[19:49:50] <Avenger> lynx: i think you talk about the spawnpoints, but i think they are broken for somehting else ;)
[19:49:58] <fuzzie> anyway this can all be fixed in gemrb
[19:50:05] <fuzzie> so i am really happy about it
[19:50:29] <Avenger> fuzzie, i called it regentimer, because it is checked for high con bonus regeneration :)
[19:51:14] <Avenger> but i saw it in scriptables, so it is really some generic timer
[19:53:16] <Avenger> ok, i will just rename it to 'ticks'
[19:58:09] <test32894789234u> MUST RUN AWAY! tHANKS FOR THIS PROJECTS GUYS!
[19:58:11] <Avenger> ok, and 3614 is 'reallydied' ?
[19:58:13] <-- test32894789234u has left #GemRb
[19:58:49] <Avenger> no..
[20:04:52] <fuzzie> no
[20:05:13] <fuzzie> 3614 is 'we were alive last time we ran a script'
[20:05:28] <fuzzie> or, no, it is 'we were alive last time we tried to run a script'
[20:05:57] <fuzzie> but we can use IF_JUSTDIED, that is fine for our purposes
[20:06:11] <fuzzie> but i am not going to change it in gemrb until after release
[20:07:13] <Avenger> ok
[20:07:50] <Avenger> hmm, i just learned that europe and usa hit on gaddafi
[20:08:18] <Avenger> i hope they avoid hurting civilians this time
[20:09:55] <fuzzie> very difficult, many reports of forces going to mix with large crowds of civilians
[20:10:30] <Avenger> well, they should try to hit on tank columns going towards the cities, and aircraft
[20:10:42] <Avenger> that will probably help enough
[20:12:24] --> edheldil_ has joined #GemRb
[20:14:16] <fuzzie> do you know what 'no_failure' is, Avenger?
[20:14:28] <Avenger> where is it?
[20:14:34] <fuzzie> actor field
[20:14:38] <Avenger> i think it is disabling casting failure?
[20:14:50] <Avenger> is it used somewhere?
[20:15:05] <fuzzie> at the start of processTriggers (which is script update function)
[20:16:01] <Avenger> 0049E9BE
[20:16:23] <Avenger> that is the part why i think it is doing that
[20:17:16] <Avenger> it could be only disabling wild surges, or disabling antimagic areas
[20:17:16] <fuzzie> thanks
[20:18:24] <fuzzie> it forbids interruption, i guess
[20:19:52] <Avenger> ok, at least i got something right :) or at least we suspect the same, haha
[20:20:25] <fuzzie> well i sit and wait for ida's slow search some more :)
[20:22:50] <fuzzie> oh after all that, it is set by msg_setNoFailure
[20:23:45] <fuzzie> ok, that makes sense
[20:26:34] <fuzzie> set by cutscenes and BreakInstants, unset by something deep in sendMessage
[20:27:46] <fuzzie> oh hm, multiplayer sync?
[20:28:51] <fuzzie> it is manually unset by the action code once the queue empties, too.
[20:28:54] <fuzzie> v.weird.
[20:35:44] <-- edheldil_ has left IRC (Ping timeout: 255 seconds)
[20:36:14] --> edheldil_ has joined #GemRb
[20:50:20] <fuzzie> Avenger: you are right, maze works, wow
[20:50:29] <Avenger> :)
[20:51:21] <Avenger> there are small kinks, probably
[20:51:40] <Avenger> like it seems pst uses the partial area animation bit differently than bg2
[20:52:01] <fuzzie> last time i looked at the pst code, there was hardcoded stuff everywhere
[20:52:06] <Avenger> also, i'm unsure if all random treasure is correct
[20:52:19] <fuzzie> also how do i use thief skills in pst?
[20:52:30] <Avenger> no idea :)
[20:52:47] <Avenger> it should be in the special abilities menu
[20:52:51] <Avenger> i guess
[20:52:57] <fuzzie> if i click that, nothing happens
[20:53:01] <Avenger> but i think our guiscript is wrong
[20:53:11] <Avenger> it doesn't call the action callbacks
[20:53:19] <Avenger> they are not set up, i guess
[20:53:24] <Avenger> i think i set up only guard
[20:53:30] <Avenger> and maybe even that's wrong
[20:53:30] <fuzzie> yes
[20:53:44] <fuzzie> also ugh, SetActionIcon :P
[20:53:48] <Avenger> but this is mostly guiscript stuff ;)
[20:53:56] <Avenger> what's wrong with that?
[20:54:11] <fuzzie> it took me ages to work out the reason why EmptyControls didn't work in any of the games is that half the button code was in C++
[20:54:23] <fuzzie> i just changed it to call SetActionIcon
[20:54:33] <Avenger> hehe
[20:54:43] <fuzzie> but very confusing when loads of GUI stuff happens and i can't work out *where* :)
[20:55:05] <fuzzie> i need to go through and disable the rest of the HideGUI calls in the core, sometime, too
[20:55:18] <Avenger> well, i see you try to move some stuff to guiscript
[20:55:35] <Avenger> i tried to move the stuff in the opposite direction, for performance reasons
[20:55:59] <fuzzie> for the HideGUI/UnhideGUI stuff, it doesn't happen often enough for it to matter
[20:56:09] <Avenger> also, if stuff is uniformly done in all engines, and there is little sense to let it customized, it is good in the core
[20:56:09] <fuzzie> the stuff which is updated every frame, i don't touch :)
[20:56:21] <Avenger> yeah,i agree
[20:56:39] <Avenger> though, the guiscript can break easily with those fragile window handles
[20:56:47] <Avenger> maybe that is changed now, though
[20:57:10] <fuzzie> well, it helps if the core doesn't sabotage window handles itself
[20:57:43] <Avenger> there is nothing like that in the core, except residue code from times when window handles were mere numbers :P
[20:58:09] <fuzzie> well they are still mere numbers really :)
[20:58:40] <Avenger> ahem, and hopefully it is now possible to check for validity without breaking
[20:58:42] <fuzzie> but UnloadWindow(number) is no more useful than wrapper.Unload()
[20:58:48] <fuzzie> yes, i hope that works
[20:59:12] <fuzzie> but i fixed dialogs interrupting inventory, anyway
[20:59:42] <fuzzie> someone still needs to go and put pause/unpause calls everywhere i guess
[21:06:03] <fuzzie> all the stupid gui screens call into the InfScreenWorld update function, that is .. unhelpful
[21:13:55] <fuzzie> oh well.
[21:25:40] <fuzzie> ok
[21:25:48] <fuzzie> who stopped me from moving undroppable items :(
[21:29:48] <lynxlynxlynx_> i remember fixing one of those cases
[21:30:40] <fuzzie> i can no longer put items in container
[21:35:28] <fuzzie> don't see what changed, merge looks ok
[21:38:04] <lynxlynxlynx_> which game?
[21:38:07] <fuzzie> bg2
[21:38:14] <fuzzie> 'Fl:0x2d81' says ctrl-m
[21:38:40] <fuzzie> and ti works now
[21:38:45] <fuzzie> that is worrying. another valgrind thing maybe.
[21:39:07] <fuzzie> i just found something my dialog change broke, i think
[21:40:08] <lynxlynxlynx_> works for me
[21:40:44] <lynxlynxlynx_> didn't check with undroppables though, but those shouldn't be movable anyway
[21:40:48] <fuzzie> sure
[21:40:51] <lynxlynxlynx_> ok, only once
[21:40:54] <lynxlynxlynx_> the bit is shared
[21:40:58] <fuzzie> i was trying the rillifane(sp?) scene
[21:41:10] <fuzzie> wouldn't let me move the items, complaining about undroppable, but i'm sure they're not undroppable
[21:41:23] <fuzzie> but my game just died in the stupid MoveText code
[21:41:23] <lynxlynxlynx_> old save, i guess
[21:41:29] <fuzzie> original save :/
[21:41:37] <lynxlynxlynx_> hmpf
[21:41:45] <fuzzie> so, MessageWindow is bad here
[21:43:10] <fuzzie> that isn't good
[21:43:13] <fuzzie> what on earth would do that
[21:43:53] <fuzzie> oh, OpenContainerWindow() would.
[21:45:06] <fuzzie> and the CloseContainerWindow is delayed by the core
[21:45:35] <fuzzie> but i guess it's too late anyway, the cutscene already corrupted everything
[21:46:46] <fuzzie> oh it is Avenger who broke InCutSceneMode, recently:)
[21:47:32] <Avenger> did i write anything about what i was supposed to fix?
[21:47:50] <fuzzie> "safer InCutSceneMode"
[21:48:11] <fuzzie> this is ok, it only broke my local code
[21:48:24] <fuzzie> because my local code assumed that InCutSceneMode would not return true if not in cutscene mode :-p
[21:48:28] <Avenger> hehe, fine then, i got no seer abilities
[21:48:50] <Avenger> yeah, it should probably return different values
[21:48:52] <fuzzie> i guess you probably also broke the InCutSceneMode trigger though
[21:48:57] <Avenger> like the original makes a difference
[21:49:04] <Avenger> eep
[21:49:15] <fuzzie> i didn't know there was such a trigger
[21:49:56] <Avenger> probably not in every game
[21:49:59] <fuzzie> it doesn't appear in any of the scripts i have here
[21:50:18] <fuzzie> oh, it does, in iwd2
[21:50:25] <fuzzie> i always forget iwd2
[21:50:42] <Avenger> yep
[21:50:55] <Avenger> ok lemme see how it works in iwd2
[21:50:56] <fuzzie> i guess it will probably be a nightmare to make work, they changed quite a few scripting things
[21:51:03] <fuzzie> that would be cool
[21:53:25] <Avenger> yep, it checks if cutscenmode = 0x142, so it doesn't return true for dialogs
[21:53:51] <Avenger> we should probably have an enum
[21:53:58] <fuzzie> or just two functions
[21:54:08] <fuzzie> we don't have to copy their crazy crazy variable sharing :)
[21:54:19] <Avenger> it is not entirely crazy
[21:54:36] <Avenger> in bg2 you have: dialog, cutscene, cutscene lite, normal
[21:54:47] <fuzzie> sure, but dialog is very different
[21:55:05] <fuzzie> well, from what i've seen. i didn't see all of it, and i guess you have
[21:57:42] <fuzzie> i will not worry about it for now, i'm sure
[21:58:05] <fuzzie> bg2 and then pst, especially now that you made so many projectiles work
[21:59:51] <lynxlynxlynx_> hey, now that you're all here, what do you think about a longterm roadmap? I jotted down roughly what Avenger said at one point here: http://gemrb.sourceforge.net/wiki/doku.php?id=roadmap
[22:00:20] <fuzzie> well soa isn't completable right now :)
[22:00:46] <lynxlynxlynx_> that's why we're still at 0.6
[22:01:00] <fuzzie> i'm not really sure
[22:01:03] <fuzzie> it's a really nice roadmap
[22:01:04] <Avenger> well, we could release 0.6.4, and you two focus on the old games while i finish pst projectiles
[22:01:24] <Avenger> old games is 'we already support them for a long time'
[22:01:25] <lynxlynxlynx_> we tend to do everything a little
[22:01:31] <fuzzie> and pst will almost certainly come first
[22:01:35] <Avenger> i could focus on pst
[22:01:38] <fuzzie> since it is really not too different
[22:02:03] <lynxlynxlynx_> yeah, unless tomprince starts to refactor everything first
[22:02:04] <Avenger> well, once i'm done with the projectiles, pst has only a few special hardcoded stuff
[22:02:24] <lynxlynxlynx_> many things are so nicely simpler in iwd2
[22:02:30] <Avenger> so if the old games are fine, pst completion can come rapidly
[22:02:46] <Avenger> yeah, but many things are wildly different
[22:02:48] <fuzzie> but the old games really need a lot of work
[22:03:09] <lynxlynxlynx_> yeah, definitely still a few point releases in these series left
[22:03:18] <lynxlynxlynx_> core stuff
[22:03:21] <fuzzie> but it sounds like a really nice roadmap
[22:03:30] <fuzzie> how is ToB?
[22:03:45] <lynxlynxlynx_> waiting for the trigger implementation/rewrite
[22:03:51] <fuzzie> ah
[22:03:59] <fuzzie> well i still didn't seriously look at that, i guess i should
[22:04:03] <Avenger> all games need that
[22:04:10] <fuzzie> i just don't yet understand how it works
[22:04:22] <lynxlynxlynx_> fuzzie: please don't do 10 things at a time, you know what happens
[22:04:34] <fuzzie> well, right now, i'm not quite sure what to do :)
[22:04:42] <fuzzie> i am really frustrated about the GUI code
[22:05:04] <fuzzie> any time the core calls UnhideGUI or HideGUI, everything is broken
[22:06:09] <lynxlynxlynx_> not something i'd like to touch at all, sorry
[22:06:22] <fuzzie> well, i can't really fix it properly before the release
[22:06:26] <fuzzie> because it would be a disaster
[22:06:39] <lynxlynxlynx_> don't worry about it
[22:06:53] <fuzzie> i am slowly playing through SoA
[22:07:28] <-- Avenger has left IRC (Quit: ChatZilla 0.9.86.1 [Firefox 3.6.15/20110303024726])
[22:07:34] <fuzzie> your merged container code is really useful here though
[22:07:40] <lynxlynxlynx_> re roadmap: this one is completely gametype based. Is that good or do you think we should take general features into account aswell? Or new ports?
[22:08:05] <fuzzie> i would prefer a roadmap based on some kind of bugfixing
[22:08:15] <lynxlynxlynx_> maybe a lower goal of having bg1, iwd and bg2 (maybe pst) working for 1.0 would be better
[22:08:25] <fuzzie> however i have no clue what i'd put on there
[22:08:26] <lynxlynxlynx_> people also like higher numbers hehe
[22:08:34] <fuzzie> my preference would be to make bg2 perfect
[22:09:12] <lynxlynxlynx_> perfect by your standards is a disaster, we'd never reach 1.0 :)
[22:11:08] <fuzzie> and this is why i am not release manager :)
[22:12:06] <lynxlynxlynx_> completable should be enough for starters imo
[22:12:27] <fuzzie> well, completable is so difficult to test!
[22:12:42] <lynxlynxlynx_> there doesn't seem that much left to do in bg1 and iwd, so focusing on bg2 would get us there too
[22:13:04] <lynxlynxlynx_> and perfect isn't?
[22:13:15] <CIA-48> GemRB: 03fuzzie * r0d15a4247839 10gemrb/gemrb/GUIScripts/ (5 files in 5 dirs): try CloseContainerWindow when starting a dialog too
[22:13:20] <fuzzie> perfect is just a clearly unattainable goal :)
[22:13:27] <fuzzie> was a stupid suggestion
[22:13:39] <fuzzie> i just really don't know how i'd measure it
[22:13:59] <lynxlynxlynx_> we just need a fan to take an hour or two and do a speedrun now and then
[22:14:35] <fuzzie> mm, without the ever-convenient avoiding-half-the-game polymorph bugs, speedruns are a bit trickier
[22:14:40] <fuzzie> but yes
[22:15:16] <lynxlynxlynx_> polymorph bugs?
[22:15:49] <fuzzie> if you polymorph into something large when on one side of a door, the game will 'push' you onto the other side if needed to have enough space
[22:16:23] <fuzzie> you can use this to skip quickly past the early Bodhi stuff for example, because you can skip the locked door and go straight to the confrontation
[22:17:22] <fuzzie> the short bg2 speedruns abuse it terribly, along with the gem/potion tricks
[22:18:05] <fuzzie> > There is a glitch in which an encumbered player can have dialog with anyone in sight without the need to walk up to them. This was used to save a little bit of time.
[22:18:29] <fuzzie> ^- hah
[22:18:59] <lynxlynxlynx_> hehe
[22:19:04] <fuzzie> > The idea is that there's a split second between cutscene mode starting and the party being put in Waukeen's Promenade. If you can get someone to force you into dialog during the cutscene, it breaks you out of cutscene mode and you're free to move as you wish. This is achieved by kicking Imoen out of the party just before Waukeen's Promenade loads
[22:19:11] <fuzzie> oh, i guess that was too long, but anyway, that is also terrib;e
[22:19:16] <lynxlynxlynx_> i didn't mean sprint-run :)
[22:19:25] <fuzzie> even abusing terribly, 23 minutes is amazing
[22:19:35] <lynxlynxlynx_> wow
[22:21:02] <fuzzie> > Yoshimo helps the party skip almost all of Spellhold by polymorph-teleporting over two locked doors. This allows the party to go through the Underdark portal without being captured by Irenicus.
[22:21:07] <fuzzie> ^- plus, bonus Yoshimo!
[22:21:17] <fuzzie> i have to go watch this now :)
[22:21:30] <fuzzie> it was less insane last time i watched one
[22:23:33] --> raevol has joined #GemRb
[22:24:10] <fuzzie> hi, raevol!
[22:24:18] <raevol> hihi! :) how are you?
[22:24:44] <fuzzie> busy :)
[22:25:27] <raevol> me too :o
[22:25:39] <raevol> well today is kind of chill, but generally i am running around crazy
[22:27:37] <fuzzie> well, i had today free, mostly
[22:27:43] <fuzzie> so working on gemrb for once, which is rare recently
[22:27:55] <fuzzie> and now i am watching the crazy 23-minute baldur's gate 2 speedrun
[22:28:12] <raevol> 23 minutes!? daaang
[22:28:19] <raevol> how is gemrb these days?
[22:28:23] <fuzzie> buggy :)
[22:28:26] <raevol> bah :(
[22:28:35] <raevol> did you guys ever set up a ppa for it?
[22:28:48] <fuzzie> hmm
[22:28:51] <fuzzie> no, but that is a really good idea
[22:29:17] <raevol> https://s-hphotos-snc6.fbcdn.net/191188_10100147551287864_3311089_53785040_154896_o.jpg
[22:29:28] <raevol> does that link show a picture?
[22:29:46] <fuzzie> yep
[22:29:53] <raevol> that's where i live :]
[22:30:02] <raevol> well like 15 minute drive from where i live
[22:30:04] <lynxlynxlynx_> looks like a render
[22:30:07] * pupnik applauds fuzzie
[22:30:56] <lynxlynxlynx_> re ppa - would it be any different than by playing with the getdeb folks?
[22:31:12] <pupnik> nice picure
[22:32:46] <fuzzie> lynxlynxlynx_: it would be nice to have up-to-date builds, that's all
[22:32:59] <lynxlynxlynx_> you mean git?
[22:33:02] <fuzzie> yes
[22:33:14] <fuzzie> do we have those on the other build farm?
[22:33:52] <fuzzie> i mean, suse one
[22:33:55] <lynxlynxlynx_> the suse farm can build for debian 6.0 too
[22:34:14] <lynxlynxlynx_> i guess i'd need to provide a different spec though
[22:34:22] <lynxlynxlynx_> or we'd already have it
[22:34:48] <fuzzie> it is difficult for me to tell anything from web interface
[22:35:01] <lynxlynxlynx_> they lack docs badly
[22:35:22] <fuzzie> it just says 'gemrb-888.tar'
[22:36:31] <lynxlynxlynx_> hehe
[22:37:08] <lynxlynxlynx_> the rebuild is not automatic too, i need to trigger it manually
[22:37:24] <fuzzie> i guess the build failures with factory opensuse are because of this "directories not owned by a package" thing, spec file missing entries?
[22:38:06] <fuzzie> the PPAs are far more limited, since they can only build for Ubuntu, and also entirely manually done
[22:38:32] <raevol> ppa is something you do more for the end-user
[22:39:00] <lynxlynxlynx_> this thing emits rpms now, surely you can install that on ubuntu too
[22:39:24] <lynxlynxlynx_> or if i make it work, it'll create debs, which is even easier, no extra software required
[22:39:30] <fuzzie> yes, but you can't put it in sources.list and auto-upgrade
[22:39:36] <lynxlynxlynx_> the deps would still be a nightmare probably
[22:39:45] <fuzzie> but i think linking to debs would be fine if they work
[22:39:52] <lynxlynxlynx_> true
[22:40:04] <lynxlynxlynx_> really, we should offload this to the distributors
[22:40:17] <lynxlynxlynx_> too bad they have so long cycles
[22:40:30] <fuzzie> well, i am just thinking weekly or more often builds
[22:40:38] <fuzzie> to try and encourage more people to do frequent testing
[22:41:55] <lynxlynxlynx_> we should add a timer to gemrb and bake in the release date
[22:41:56] <lynxlynxlynx_> it would refuse to run if more than 6months have passed :)
[22:42:17] <fuzzie> hehe
[22:42:27] <fuzzie> i was more thinking, push a build when something meaningful is fixed :)
[22:43:09] <fuzzie> i did that for another project, just a script which pushed from git to PPA, which project members would run whenever a reported bug was fixed, meaning feedback within a half hour or so
[22:43:34] <fuzzie> a smaller percentage of the canonical sysadmins are personal friends nowadays but i imagine i can still get away with it :P
[22:43:54] <fuzzie> and i guess gemrb is a relatively lightweight build anyway
[22:46:54] <pupnik> are you nearing a new release?
[22:47:00] <fuzzie> yes
[22:50:06] <-- lynxlynxlynx_ has left IRC (Quit: No Ping reply in 180 seconds.)
[22:50:21] --> lynxlynxlynx has joined #GemRb
[22:50:21] <-- lynxlynxlynx has left IRC (Changing host)
[22:50:21] --> lynxlynxlynx has joined #GemRb
[22:50:21] --- ChanServ gives channel operator status to lynxlynxlynx
[22:50:37] <lynxlynxlynx> automation ftw
[22:50:59] <lynxlynxlynx> maybe we should use buildbot and create static tarballs
[22:51:20] <lynxlynxlynx> that can then be used anywhere, unless they have an old glibc
[22:51:57] <fuzzie> well, the nice thing about the packages is that we avoid this whole mess where people have half of an install lying around on their system
[22:52:55] <fuzzie> but maybe they'd just find a way to do that anyway
[22:53:23] <pupnik> hehe
[22:54:15] <lynxlynxlynx> the odd thing about the 64 build is that it used to work
[22:55:09] <fuzzie> the opensuse one?
[22:55:16] <lynxlynxlynx> the other alternative is to distribute only a launcher script and then everything would be downloaded from the cloud heh
[22:55:41] <lynxlynxlynx> could be a simple system
[22:56:09] <fuzzie> oh, no, i can't read, nm
[22:56:37] <fuzzie> having a full buildbot setup would be nice, but it's so much work+resources
[22:58:04] <fuzzie> really, all i want is to be told quicker when i broke something obvious..
[23:00:42] <lynxlynxlynx> a whole bot isn't needed, but then we'd have to have our own static build trees (not much of a problem) to scp/sftp from
[23:07:30] <lynxlynxlynx> changed a few things, hopefully it will kill most of the warnings
[23:08:39] <lynxlynxlynx> and dumped more on http://gemrb.sourceforge.net/wiki/doku.php?id=roadmap
[23:10:56] <fuzzie> triggers really shouldn't be too hard btw
[23:11:06] <fuzzie> although having said that, i haven't made them work at all yet
[23:16:31] <lynxlynxlynx> i remembered proper timing is needed too for tob
[23:16:48] <lynxlynxlynx> no timestop yet, although there's already code for parts of it
[23:17:19] <fuzzie> timestop is easy
[23:17:49] <fuzzie> i think i decoded all the needed bits today, they are intertwined with all the update/action stuff, unsurprisingly
[23:22:40] <lynxlynxlynx> well, it includes also all the combat and casting timing
[23:23:22] <fuzzie> well, i have some of that fixed already :) but that is a lot trickier
[23:23:26] <lynxlynxlynx> and if it is easy, that much better :)
[23:23:40] <fuzzie> the casting stuff seems *relatively* localised though
[23:24:22] <fuzzie> i really wonder what that thing Avenger marked as aura is, though
[23:24:52] <fuzzie> it is -1 by default, increments (approximately) on every action where the actor is *not* hasted, and is reset to -1 once it is >=100 or something
[23:27:14] <lynxlynxlynx> what happens if hasted?
[23:27:24] <fuzzie> then it doesn't change, as far as i can tell
[23:28:11] <lynxlynxlynx> sounds like a misnomer then
[23:28:25] <fuzzie> well it msut be *something* though :)
[23:30:00] <lynxlynxlynx> can't think of anything obvious
[23:34:45] <lynxlynxlynx> obs should work for the factory target now too (or past those errors at least), just needs to rebuild
[23:35:50] <fuzzie> neat!
[23:35:53] <-- lynxlynxlynx has left IRC (Read error: Connection reset by peer)