#gemrb@irc.freenode.net logs for 19 Aug 2009 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:01:26] --> tombhad-AC has joined #gemrb
[00:06:56] --> xrogaan has joined #gemrb
[00:45:47] <-- tombhad-AC has left IRC ("Verlassend")
[00:53:24] <-- tombhadAC has left IRC (Remote closed the connection)
[01:05:44] <-- Enverex has left IRC ("Leaving")
[02:02:21] <-- dawid has left IRC ("Not leaving, quitting.")
[02:25:49] <-- xrogaan has left IRC ("Why ?")
[03:56:49] --> xrogaan has joined #gemrb
[04:33:56] --> pupnik_ has joined #gemrb
[04:49:41] <-- pupnik has left IRC (Read error: 101 (Network is unreachable))
[06:40:26] --> lynxlynxlynx has joined #gemrb
[06:40:26] --- ChanServ gives channel operator status to lynxlynxlynx
[06:40:29] <fuzzie> morning
[06:43:13] <lynxlynxlynx> oj
[07:00:56] <fuzzie> latest story on ars technica is about playing IE games on a small tablet device :)
[07:17:16] --> barra_library has joined #gemrb
[07:18:01] --- barra_library is now known as barra_home
[07:37:53] --> Avenger has joined #gemrb
[07:37:58] --- ChanServ gives channel operator status to Avenger
[07:38:05] <Avenger> hi
[07:39:13] <fuzzie> hi
[07:40:53] <Avenger> G3 seems to have gotten much publicity on ars technica :)
[07:41:26] <fuzzie> yes :)
[07:45:10] <pupnik_> nice
[08:12:00] <-- barra_home has left IRC ("Verlassend")
[08:23:44] <raevol> http://i31.tinypic.com/28mkabl.jpg
[08:24:46] --> D_T_G has joined #gemrb
[08:28:56] <D_T_G> hi
[08:29:38] <pupnik_> hi
[08:30:35] <D_T_G> lynxlynxlynx, you there?
[08:30:41] <lynxlynxlynx> yep
[08:30:50] <lynxlynxlynx> where are you stuck?
[08:30:53] <D_T_G> so i changed the mapping
[08:30:58] <D_T_G> of the buttons
[08:31:15] <D_T_G> seems quite work
[08:31:43] <D_T_G> i even fixed bad refreshing of description on side to that
[08:32:07] <D_T_G> http://wklej.org/id/136906/txt
[08:32:28] <D_T_G> but when i click 'done' button always a pure class kit is assigned
[08:33:02] <raevol> hello
[08:34:07] <Avenger> Kit = KitTable.GetValue (ButtonPressed+TopIndex, 0)
[08:34:10] <Avenger> this is BS :P
[08:34:27] <Avenger> hmm maybe not
[08:34:49] <Avenger> where do you set topindex
[08:34:49] <lynxlynxlynx> check that you don't hit that Kit = 0 block
[08:34:50] <D_T_G> before that was getvalue(i+topindex,0)
[08:35:06] <D_T_G> in the loop
[08:37:15] <Avenger> well, it is better to read the patched file, not the patch
[08:40:32] <-- Avenger has left IRC ("ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]")
[08:42:09] <D_T_G> it works for mages, i.e. if i choose invokation and done, the pc is invocation master, but not for other classes
[08:44:04] <D_T_G> isn't the kitname the description in the textareacontrol?
[08:45:28] <CIA-22> gemrb: 03lynxlupodian * r6935 10/gemrb/trunk/NEWS: NEWS bump
[08:45:30] <lynxlynxlynx> kitname is probably the button label
[08:45:54] <lynxlynxlynx> just add a bunch of prints, so you'll understand what's going on better
[08:46:43] <lynxlynxlynx> i think you're missing one layer
[08:47:11] <lynxlynxlynx> just reading i+ti out of the kit list doesn't ensure you have the proper class
[08:47:24] <-- |Cable| has left IRC (Remote closed the connection)
[08:49:11] <D_T_G> there are checks if notkittable etc
[08:49:39] <lynxlynxlynx> but that's for something else, isn't it?
[08:50:07] <lynxlynxlynx> and you lookup column 0 for some reason, which is just the internal kit label
[08:51:04] <D_T_G> i don't really know the structure of that table, where it is defined?
[08:51:26] <lynxlynxlynx> hah!
[08:51:40] <lynxlynxlynx> check iesdp or dig it out with a tool
[08:51:41] <D_T_G> in that script column 0 was used to get kit ids
[08:51:55] <lynxlynxlynx> no
[08:53:22] <D_T_G> hm
[08:53:35] <lynxlynxlynx> actually i was looking at kitlist, but that is wrong for kittable too
[08:54:02] <lynxlynxlynx> eh, it gets reused
[08:54:25] <lynxlynxlynx> it is fine, sorry for the noise
[08:54:45] <lynxlynxlynx> i forgot about the race constraints
[08:58:09] <D_T_G> i think i forgot to reverse the logic behind Button.SetVarAssoc("Class Kit", i+TopIndex+21) and that's the case
[08:58:21] <D_T_G> in press kit
[08:58:47] <D_T_G> why '21'?
[08:58:59] <fuzzie> 21 is the hack for mage kits, i thought
[08:59:00] <lynxlynxlynx> that's where they start
[09:00:40] <D_T_G> so no, it's not the cause than, mage 'kits' work
[09:01:29] <lynxlynxlynx> didn't you say you always get the generalist for noninvokers?
[09:08:55] <fuzzie> i mean, i thought under-21 was mage schools and then kits started at 21, but i don't have the code here
[09:14:20] <lynxlynxlynx> mage kits are different, since they were already in bg1 and a different system was used for the new kits later
[09:16:15] <D_T_G> hmmm Kit = 0 KitPress Kit = 33 NextPress [GUIScript]: Loading Script CharGen4...[OK] Kit: 0
[09:16:29] <D_T_G> seems for me like chargen4 resets kit to 0
[09:17:28] <D_T_G> KitIndex = GemRB.GetVar ("Class Kit") - it's in the chargen script
[09:17:50] <D_T_G> so i need to patch that script too
[09:17:59] <lynxlynxlynx> nah, just save the value in the end
[09:20:32] <D_T_G> yep, i added GemRB.SetVar("Class Kit",Kit) in the middle of the PressKit and now everything works :)
[09:20:49] <fuzzie> you should uncomment the one in BackPress, too
[09:20:49] --> barra_library has joined #gemrb
[09:20:55] <fuzzie> i mean, the one you commented out in your patch
[09:21:50] <D_T_G> ok
[09:22:12] <D_T_G> i can assing properly all the kits in many circumstances in my tests now
[09:22:23] <D_T_G> so it's not just remapping but fixing :)
[09:25:42] <D_T_G> nah, i got syntax error on barbarian
[09:28:21] <D_T_G> human does not get syntax error on barbarian, just a dwarf
[09:28:32] <D_T_G> does it do that in current trunk too?
[09:29:04] <raevol> is the syntax error "TOO MUCH TANK!"?
[09:29:14] <D_T_G> no
[09:29:23] <raevol> aw
[09:30:24] <D_T_G> GemRB.SetVar("Class Kit",Kit) AttributeError: SetVar(VariableName, Value)
[09:30:51] <fuzzie> means that 'Kit' isn't set, i think
[09:31:35] <fuzzie> or not an integer, more specifically
[09:35:05] --> dawid has joined #GemRb
[09:36:00] <D_T_G> hm, now it worked without code changes, odd
[09:37:16] <fuzzie> perhaps it breaks when you press back?
[09:37:39] <D_T_G> yep, that must be that
[09:39:51] <D_T_G> i'll see if that is the issue with the current trunk
[09:41:46] <D_T_G> seems not, so it was my fault
[09:47:01] <D_T_G> yep, the kit value was "*" before the crash
[09:47:22] <D_T_G> is it safe to set all the '*' to 0 before that?
[09:49:51] <D_T_G> in the current code such resetting are in "ClassID == 1:" cases
[10:00:48] <D_T_G> nope, it's not, i need to understand what does it mean the "*"
[10:01:36] <CIA-22> gemrb: 03avenger_teambg * r6936 10/gemrb/trunk/gemrb/plugins/Core/Spell.cpp: final version: correct casting glow timing
[10:03:15] <CIA-22> gemrb: 03avenger_teambg * r6937 10/gemrb/trunk/gemrb/plugins/Core/Interface.cpp: do the right thing in the right time in SummonCreature
[10:07:14] <pupnik_> i love summoning skeletons and spiders
[10:07:19] <pupnik_> using them as 'shock troops'
[10:07:43] <pupnik_> would be easier if there were a keyboard shortcut for 'select all summoned' i spose
[10:09:42] <lynxlynxlynx> * is the default value in the table, so if you get that, a lookup failed
[10:10:18] <lynxlynxlynx> pupnik_: skeleton wariors + (improved) haste + improved invisibility
[10:18:53] <-- D_T_G has left IRC ()
[10:20:06] <CIA-22> gemrb: 03avenger_teambg * r6938 10/gemrb/trunk/gemrb/plugins/ (Core/Effect.h Core/EffectQueue.cpp FXOpcodes/FXOpc.cpp): fixed vanishing animation for unsummon
[10:23:23] --> Avenger has joined #gemrb
[10:23:37] --- ChanServ gives channel operator status to Avenger
[10:29:16] <-- dawid has left IRC ("Not leaving, quitting.")
[10:39:40] <lynxlynxlynx> any objections to a release in a week?
[10:40:57] --> dawid has joined #GemRb
[10:46:21] <Avenger> working on the bhaal follow stuff
[10:46:38] <fuzzie> do you think you can make it work?
[10:46:39] <Avenger> release only after the walkthrough is successful
[10:46:50] <Avenger> yes
[10:46:54] <fuzzie> i thought the actions would lose the object at once, because we don't preserve it
[10:47:56] <lynxlynxlynx> Avenger: agreed
[10:48:09] <lynxlynxlynx> maybe i can get damage resistance in too
[10:48:15] <Avenger> well, hmm, i don't know
[10:48:27] <lynxlynxlynx> but i hate loading tables in the core
[10:48:29] <Avenger> i meant about the object
[10:48:56] <Avenger> now i just make 'followobject..' to try to follow a target with a different area
[10:49:05] <Avenger> i don't know if i will have a target here at all
[10:49:22] <fuzzie> i think you maybe won't
[10:49:37] <Avenger> well, at least part of what i do is needed
[10:49:43] <fuzzie> yes :)
[10:49:44] <Avenger> i find the exit which leads to the new area
[10:49:53] <Avenger> and move to it
[10:50:00] <Avenger> that is one part of the solution
[10:50:05] <fuzzie> that is needed for other actions too, i think
[10:50:22] <fuzzie> i had to comment out that code in LeaveArea because it was broken
[10:50:51] <fuzzie> there's no code to calculate exits so people would try moving to (0,0), breaking many scripts
[10:51:14] <fuzzie> (and it was broken anyway, trying to insert an action into the queue..)
[10:51:32] <fuzzie> so even a "find nearest exit" function would be very useful
[10:51:53] <lynxlynxlynx> unsummoning works great now
[10:51:56] <fuzzie> and you need to write that bit anyway :)
[10:52:09] <fuzzie> but i have toothache and dentist can't fix it, so i think i won't be coding this week
[10:54:29] <lynxlynxlynx> sucks
[10:54:44] <fuzzie> the object-preserving thing is probably easy to fix too, you just have to be careful to not break IDS targetting in the process
[10:55:34] <fuzzie> i have some patch which just stores globalid of the object in the Sender, as CurrentActionObject, and then resets that to zero in ClearCurrentAction
[10:56:15] <fuzzie> but it breaks when triggers call the code, because they wipe the object
[10:56:45] <fuzzie> and it's a bit messy because of the IDS targetting thing.
[11:00:32] <Avenger> uhm
[11:00:46] <Avenger> this is a tricky thing
[11:01:13] <Avenger> luckily taimon seems to be able to answer almost all questions :)
[11:01:28] <fuzzie> well, the object preserving is not so hard
[11:01:33] <fuzzie> you can simply check it in the original
[11:01:55] <fuzzie> you just have to be sure to preserve only object.ids objects :)
[11:03:04] <fuzzie> well, not quite so simple, but that would be enough for now
[11:15:09] <Avenger> lynx, in the bhaal chase, if bhaal is offscreen, you gotta hook him up again, right? Even in the original game.
[11:15:30] <lynxlynxlynx> no idea
[11:31:49] <Avenger> hmm, he first tries to talk
[11:31:58] <Avenger> should he chase you while blue circled?
[11:32:15] <Avenger> i guess, we could make it so
[11:32:26] <Avenger> so they would follow even for dialog :)
[11:33:12] <lynxlynxlynx> that already happens
[11:33:28] <Avenger> ok, so they follow
[11:36:43] <fuzzie> presumably we should follow for all blocking actions of that type?
[11:48:05] --> tombhadAC has joined #gemrb
[12:13:09] <CIA-22> gemrb: 03lynxlupodian * r6939 10/gemrb/trunk/gemrb/plugins/Core/Actor.cpp: preload the monkbon table, so it can be always checked without spamming
[12:20:03] <Avenger> svn seems to be frozen for me :(
[12:20:35] <Avenger> heh, just when i start to complain it is working :)
[12:20:41] --> D_T_G has joined #gemrb
[12:25:57] <pupnik_> :)
[12:58:22] <Avenger> fuzzie, i'm not sure you will need to store the target
[13:01:02] <fuzzie> well, i have to write that code sometime :)
[13:01:07] <fuzzie> but it is nice if you don't need it for following!
[13:02:03] <Avenger> theoretically, subareas are also 'alive'
[13:02:20] <Avenger> so their actors execute scripts, and they are in memory
[13:02:40] <Avenger> so, GetActor.... functions could peek into these loaded areas too
[13:02:49] <Avenger> i already made that part
[13:03:19] <fuzzie> does the original engine do that?
[13:03:23] <Avenger> yes
[13:03:26] <fuzzie> that is the real question :)
[13:03:34] <Avenger> you can see fighting messages outside
[13:03:34] <fuzzie> if it does then that makes following much easier, i guess
[13:03:48] <fuzzie> no, i mean, the GetActor... functions returning actors from other areas
[13:03:55] <Avenger> the only restriction is: there is only ONE master area
[13:03:58] <fuzzie> because following works between master areas too
[13:04:08] <Avenger> hmm, well
[13:04:09] <fuzzie> so there's got to be some magic here
[13:04:15] <Avenger> that will need to be tested, actually
[13:04:37] <fuzzie> i tested the following between master areas already, it works
[13:04:49] <fuzzie> but i didn't test any of the specifics, anything in particular you want to know?
[13:05:11] <fuzzie> well, it works in bg2 and it doesn't work in pst, i think.
[13:05:31] <Avenger> hmm, gemrb doesn't think the bhaal scene is a sub area :(
[13:05:55] <Avenger> either my master area theory is wrong, or the master area determining code is wrong
[13:06:10] <Avenger> it unloads ar0028 when entering ar0012
[13:06:31] <lynxlynxlynx> isn't there a table where these are listed?
[13:06:36] <Avenger> yeah
[13:08:39] <Avenger> ok, this isn't working
[13:08:49] <Avenger> both are master areas
[13:09:06] <Avenger> so, there should be 2 master areas active
[13:09:09] <fuzzie> maybe the engine continues running active actions on creatures from a previous master area until they run out of actions?
[13:09:18] <Avenger> maybe
[13:09:21] <fuzzie> and only then you have to unload the previous area
[13:09:30] <fuzzie> it's got to stop running scripts *sometime8 :)
[13:09:37] <Avenger> this makes me tired :(
[13:09:42] <Avenger> i thought i'm near the goal
[13:09:48] <fuzzie> yes, it is frustrating :(
[13:10:33] <fuzzie> the following might even be a hack..
[13:10:58] <fuzzie> simply deleting the creatures from the old area before switching master areas, and then adding them after a while?
[13:11:03] <fuzzie> i don't know how much you tested
[13:12:17] <fuzzie> and devSin's post doesn't really clarify
[13:43:23] <D_T_G> lynxlynxlynx: i'm done with remapping patch: http://wklej.org/id/137022/txt : map once i to kit buttons not kit id
[13:44:20] <D_T_G> in guicg22.py
[13:45:24] <fuzzie> the scrolling works now?
[13:45:30] <fuzzie> that is neat, if so
[13:45:36] --- barra_library is now known as barra_coffee
[13:45:41] <D_T_G> scrolling works
[13:45:57] <D_T_G> refreshing of description in textarea after scroll also fixed
[13:46:17] <D_T_G> i also fixed syntax error after back buttons
[13:47:39] <D_T_G> i tested all classes, mages, sorcs, barbs, monks, with scroll, and back buttons
[13:48:44] <D_T_G> and as successful test i took that after done button pressed what kit i chose is properly assigned to pc on next screen
[13:49:22] <fuzzie> and it does work in-game also? :)
[13:50:15] <D_T_G> this would be much more timeconsuming testing :P
[13:50:28] <D_T_G> i'm bit tired with all that clicking
[13:50:29] <fuzzie> if you use ToB, then it is pretty quick
[13:50:47] <fuzzie> you know you can use the enter key for most button presses?
[13:51:03] <fuzzie> but, i mean, i don't ask that you check them all, i just wonder if you checked in-game at all
[13:51:22] <fuzzie> i should test myself, i'll have to install that mod
[13:51:59] <D_T_G> if there was a way to quick skip chargen
[13:52:45] <D_T_G> well i created further cleric kit and started tob
[13:52:57] <D_T_G> the gemrb didn't crash, and kit description is proper :)
[13:53:02] <fuzzie> ok, hooray
[13:53:22] <lynxlynxlynx> D_T_G: also test multiclass mages
[13:53:26] <lynxlynxlynx> especially gnomes
[13:53:47] <lynxlynxlynx> and single class gnome mages
[13:54:27] <D_T_G> ok
[13:54:47] <D_T_G> hm, i can be only ilusionist
[13:55:44] <lynxlynxlynx> that's good
[13:55:44] <D_T_G> pure gnome ilisionist works
[13:56:06] <lynxlynxlynx> the patch is a bit redundant with regards to mages though
[13:56:35] <lynxlynxlynx> due to the last if ClassID == 1: you add
[13:56:41] <D_T_G> gnome fighter/ilusionists works too
[13:57:11] <fuzzie> might want to remove the prints, too
[13:57:35] <D_T_G> oh, ok
[13:57:49] <D_T_G> forgot
[13:58:44] <D_T_G> i had some problems with mages exactly, i' don't feel brave anough to cut down that 'redundant' mage checks now ;)
[14:00:31] <D_T_G> previously after back button mages where not refreshing properly but with all that code now it all works, so...
[14:02:17] <Avenger> fuzzie, what is this actor_speeds vector in Map.cpp?
[14:02:29] <D_T_G> may it be that bit redundant for now? i already thought there are many redundant blocks of code in other places and i planned to address it in other patches
[14:03:11] <Avenger> and the no_more_steps_for_actor too :)
[14:03:18] <Avenger> couldn't these be stored in the actor?
[14:03:33] <Avenger> it seems a bit odd to allocate/free vectors in every update
[14:04:01] <fuzzie> we allocate/free huge amounts of data much frame, it makes little difference :/
[14:04:37] <fuzzie> but yes, storing it in the actors would also work
[14:04:38] <D_T_G> lynxlynxlynx: do all the gnome illusionists cases work now?
[14:04:43] <fuzzie> i never finished that code, that is all
[14:05:13] <Avenger> i'm trying to find out what stops/disables bhaal from acting :)
[14:05:31] <D_T_G> because gnome fighter/illusionist has a proper name but wrong description
[14:05:32] <Avenger> the other (swapped out) area scripts are getting runned already
[14:06:24] <fuzzie> there's a check at the top of Map::UpdateScripts i think
[14:06:50] <fuzzie> oh, i guess then the area script wouldn't run..
[14:07:11] <fuzzie> if the area script runs then it must be a queue problem
[14:07:47] <fuzzie> or else the actor has the wrong CurrentArea
[14:08:42] <Avenger> the top check is passed
[14:09:06] <Avenger> and the actor's current area is the area running the script, i tested that, now i will print all non-party actors whose scripts are updated
[14:10:14] <D_T_G> nah, with the old code it works the same: gnome figther/illusionst name vs figther/mage description - so my patch does not change that at all
[14:10:20] <Avenger> cool, actually he walked up to the entrance :)
[14:10:25] <Avenger> couldn't use it
[14:11:08] <fuzzie> sounds hopeful
[14:12:55] <fuzzie> did you make a generic 'nearest entrance' function? it would be very helpful
[14:13:50] <Avenger> ahh i see
[14:13:59] <Avenger> the actor cannot enter, because he is doing something
[14:14:01] <Avenger> LOL
[14:14:15] <Avenger> there is a check in the entrance to not work until the actor is idle
[14:14:34] <Avenger> so, the travel region cannot be used as part of an action
[14:14:47] <Avenger> well, cannot be used until the queue is empty
[14:14:53] <Avenger> this is obviously not working for us :)
[14:15:20] <fuzzie> just fake the move? :)
[14:15:20] <Avenger> i will add some flag to explicitly allow movement inside an action, ok?
[14:15:23] --- barra_coffee is now known as barra_library
[14:15:50] <fuzzie> an actor simply moving onto an exit doesn't activate it
[14:16:03] <Avenger> ok
[14:16:05] <fuzzie> so i'm not sure what you do, but go ahead :)
[14:16:21] <Avenger> hmm wait, yes they do
[14:16:49] <fuzzie> well, maybe it depends on the action
[14:17:11] <D_T_G> http://wklej.org/id/137040/ - ok, without prints
[14:17:19] <Avenger> this will make fleeing npcs run away :P
[14:17:25] <Avenger> etc
[14:17:26] <fuzzie> but there are definitely actions which move onto a travel region without triggering it
[14:17:32] <D_T_G> gnome ilusionists familiy is treated in the same way as old code
[14:17:41] <Avenger> really?
[14:18:00] <Avenger> hmm
[14:18:09] <fuzzie> sure, try RandomWalk or the running actions
[14:18:27] <Avenger> well, that is easy, don't allow travel
[14:18:43] <Avenger> i said: i will enable movement specifically for some actions
[14:18:59] <fuzzie> and it's fine if the actor runs out of actions while on the trigger?
[14:19:02] <fuzzie> it won't activate?
[14:19:38] <fuzzie> if it only happens for some actions it sounds great, i just worry about side effects
[14:21:50] <lynxlynxlynx> D_T_G: they do, yes
[14:22:14] <lynxlynxlynx> i don't know if the original had specialised descriptions for them
[14:24:32] <lynxlynxlynx> D_T_G: that patch is better, but the whitespace is bad
[14:24:51] <D_T_G> in bg2main.exe it also has fight./ilus. name and figther/mage description, so gemrb is all the time ok here :)
[14:24:59] <lynxlynxlynx> ah, /txt
[14:25:02] <D_T_G> http://wklej.org/id/137040/txt
[14:26:00] <lynxlynxlynx> so everything works for you?
[14:26:30] <fuzzie> sounds good :)
[14:26:31] <D_T_G> yes
[14:26:52] <lynxlynxlynx> jao
[14:26:54] <D_T_G> ingame too :)
[14:27:17] <D_T_G> at least for about 1 minute after start nothing crashes :P
[14:28:43] <lynxlynxlynx> bbiaf
[14:29:14] <D_T_G> i think that if a proper kit name is in personal card info window after chargen all should be ok
[14:32:18] <Avenger> fuzzie, i see you commented out a large block from AttackCore (AttackReevaluate)
[14:32:37] <Avenger> it didn't work at all?
[14:33:49] <fuzzie> it was wrong
[14:34:05] <fuzzie> it worked fine, but it did the wrong thing completely
[14:34:20] <fuzzie> the Reevaluate means reevaluate the objects, not stop the action
[14:35:43] <Avenger> wouldn't it to switch targetS?
[14:35:56] <Avenger> reevaluate the objects, so you attack someone else
[14:35:59] <fuzzie> yes
[14:36:19] <fuzzie> that should happen after the specified time period, if a number of other conditions are met (you have to not be in melee, for example)
[14:36:33] <fuzzie> but this is handled fine in the AttackReevaluate action itself
[14:36:35] <Avenger> hmm ok, and this code just dropped the action after a while
[14:37:35] <Avenger> ok i just removed that part then
[14:37:38] <fuzzie> ok :)
[14:38:05] <fuzzie> heh, i guess your next commit will be huge?
[14:38:31] <fuzzie> i should really post the incorrect action descriptions to the IESDP forum, i guess
[14:38:53] --- D_T_G is now known as D_T_G_away
[14:41:36] <fuzzie> i need to remove the null checks from some of these too, meh
[14:42:56] <pupnik_> what is IESDP? Infinity Engine ... ... ... ?
[14:44:31] <fuzzie> the Infinity Engine Structures Description Project
[14:46:14] <pupnik_> ty
[14:54:39] --- D_T_G_away is now known as D_T_G
[15:04:17] <lynxlynxlynx> Avenger: i'm trying to fix the monk apr bonus - currently it is applied all the time, but it should only be done when wielding fists. I tried enhancing and checking the GetCombatStyle, but i found no good way to identify the fists. The items do all have the type set to hand-to-hand, but there are some monstrous items that have it too
[15:04:55] <Avenger> the monstrous items are not placed in the fist slot
[15:05:06] <lynxlynxlynx> are you sure?
[15:05:25] <Avenger> they are 'weapons'
[15:05:43] <lynxlynxlynx> hmm
[15:05:51] <Avenger> i'm not sure about morte's teeth
[15:07:09] <Avenger> btw, there is an effect: "ApplyEffectItem" which applies when an item is equipped
[15:08:10] <Avenger> it is not currently implemented
[15:08:20] <lynxlynxlynx> maps to fx_generic_effect that currently does nothing
[15:08:52] <lynxlynxlynx> i guess it is a placeholder?
[15:08:55] <Avenger> it is not extremely tough to implement
[15:09:02] <Avenger> yes
[15:09:26] <lynxlynxlynx> ok, sounds like a better place to do it
[15:09:28] <Avenger> it should do this: if(HasItemEquipped("")... { ApplyEffect(...); }
[15:09:55] <Avenger> i cannot do it right now, but i willdo it, after bhaal follows
[15:09:57] <Avenger> ok?
[15:10:23] <lynxlynxlynx> i think i can manage
[15:11:06] <lynxlynxlynx> HasItemEquipped is not ideal though, since it wants a resref
[15:12:32] <D_T_G> should i repost my patch on sf now?
[15:12:41] <lynxlynxlynx> i applied it
[15:12:43] <Avenger> yes, and you want a resref
[15:12:46] * lynxlynxlynx kicks CIA-22
[15:12:47] <CIA-22> ow
[15:12:48] <Avenger> you want mfist
[15:12:51] <Avenger> mfist resref
[15:12:59] <lynxlynxlynx> mfist[1-x]
[15:13:18] <Avenger> all has the same apr?
[15:13:33] <lynxlynxlynx> the apr has no link to the item
[15:13:36] <lynxlynxlynx> it was hardcoded
[15:13:47] <Avenger> i know, but .... grrr
[15:13:58] <Avenger> all monk levels need the same apr?
[15:14:10] <Avenger> or it could be tied to mfistX
[15:14:15] <lynxlynxlynx> no, it is level dependant
[15:14:28] <lynxlynxlynx> each 3 levels a new half attack iirc
[15:14:53] <lynxlynxlynx> the mfists could be dynamically stripped out of the table we have for them
[15:15:13] <lynxlynxlynx> fistweap.2da
[15:15:49] <lynxlynxlynx> aah!
[15:16:02] <lynxlynxlynx> why complicate, i think i have a nice solution
[15:16:23] <lynxlynxlynx> get the fist strref and if it is not the default, we have a monk
[15:17:21] <Avenger> yes
[15:17:24] <Avenger> that works
[15:17:55] <CIA-22> gemrb: 03lynxlupodian * r6940 10/gemrb/trunk/gemrb/GUIScripts/bg2/GUICG22.py: bg2: applieed patch from nugrud fixing the cg kit window when there are too many kits
[15:18:19] <fuzzie> got to make it bg2-specific though?
[15:18:57] <lynxlynxlynx> D_T_G wouldn't like that
[15:19:08] <D_T_G> it's only for bg2
[15:19:21] <lynxlynxlynx> ***This effect has never been seen to work.*** <-- iesdp :D
[15:19:47] <D_T_G> kits are only in bg2 :)
[15:20:09] <fuzzie> i mean, the monk stuff
[15:20:14] <lynxlynxlynx> we're talking about someting else, yes
[15:20:42] <D_T_G> oh
[15:20:47] <lynxlynxlynx> i can add an ismonk check if you think it is needed fuzzie
[15:21:01] <fuzzie> that seems a simple solution :)
[15:21:05] <D_T_G> so what i wouldn't like then?
[15:21:28] <lynxlynxlynx> not be able to have monks in bgt
[15:21:42] <D_T_G> yep :D
[15:21:55] <D_T_G> bgt is the bg2 engine
[15:21:57] <fuzzie> bgt is just a bg2 mod, i thought
[15:22:00] <D_T_G> so it would work in bgt
[15:22:07] <fuzzie> so making it bg2-specific doesn't cause problems :)
[15:22:14] <D_T_G> nope a single
[15:22:22] <D_T_G> in tutu it would work too
[15:22:24] <lynxlynxlynx> fine fine, monks in iwd :P
[15:22:32] <fuzzie> but ismonk is fine
[15:22:34] <D_T_G> in iwd-in-bg2 i suppose too :)
[15:22:46] <fuzzie> i installed iwd on this netbook and forgot to bring the iso
[15:22:57] <fuzzie> not very clever of me :|
[15:24:03] <fuzzie> so i still didn't play it.
[15:24:22] <D_T_G> but still you can a bit playtest under gemrb
[15:24:33] <D_T_G> i guess you do :)
[15:25:19] <fuzzie> yes, just difficult not knowing what it is like :) same for iwd2
[15:26:07] <D_T_G> well, i run iwd2 under gemrb earlier that through exe :D
[15:26:20] <fuzzie> ok, let me patch the iwd exe, i guess
[15:28:21] <D_T_G> :/ wklej.org down
[15:29:56] <D_T_G> back again
[15:30:53] <D_T_G> i can now defend my former LUHLASelection.py patch: LUHLASelection.py - what do you think :)
[15:31:12] <D_T_G> http://wklej.org/id/123515/txt
[15:33:46] <fuzzie> i thought we fixed all the problem there already
[15:34:06] <fuzzie> so that should also be fine
[15:34:23] <fuzzie> if a bit silly because we shouldn't ever have 25 HLAs unless they are modded in :)
[15:34:43] <D_T_G> this patch makes the scrolling by lines, and the extra slot and scrollbar to be able to turn of with GUIEnhancements
[15:37:02] <D_T_G> well i can make a patch removing the scroll forever :)
[15:37:30] <D_T_G> would be easy :)
[15:37:43] <fuzzie> well, i would apply your patch, but i am not home so you must convince lynx :-)
[15:38:14] <D_T_G> this is easy to test, no mods needed
[15:38:58] <D_T_G> and well i would better talk with mattinm on that, but his gone :|
[15:40:58] <D_T_G> the current gemrb gives more than 24 hlas with this save: http://gra.midco.net/marshall.mattingly/bg2_saves/fmt-hla.tar.gz
[15:42:45] <Avenger> whee
[15:42:52] <Avenger> i'm being followed
[15:43:17] <fuzzie> :)
[15:44:14] <Avenger> ok, imoen said she will help me, i beat bhaal down to near death
[15:44:16] <Avenger> now what
[15:45:02] <fuzzie> script fails there?
[15:45:04] <lynxlynxlynx> he's supposed to scream
[15:45:17] <Avenger> i think there is a failure
[15:45:18] <fuzzie> maybe commit the code you have :)
[15:45:19] <lynxlynxlynx> yet you resist me something
[15:45:44] <Avenger> ok i commit what ihave
[15:50:50] <-- D_T_G has left IRC ()
[15:50:53] <Avenger> let me remove the debug printfs and other crap
[15:53:16] <Avenger> doh
[15:53:23] <Avenger> when i knew it is ok, it failed :)
[15:53:37] <Avenger> it worked when bhaal just wanted to talk
[15:53:44] <Avenger> but after got red circle, it failed
[15:53:56] <Avenger> would Attack use something else than MoveNearerTo?
[15:55:00] <lynxlynxlynx> it used to use MoveToPoint
[15:55:01] --- barra_library is now known as barra_fife
[15:56:46] --- barra_fife is now known as barra_library
[16:02:44] <fuzzie> Attack should only ever use MoveNearerTo, now
[16:02:53] <fuzzie> but you might be losing the object, depending on scripting..
[16:04:34] <fuzzie> i would suggest committing it anyway, it can only be an improvement
[16:05:00] <fuzzie> otherwise you'll end up finishing gemrb in one big commit :)
[16:13:56] <Avenger> ok uploading it
[16:14:17] <CIA-22> gemrb: 03avenger_teambg * r6941 10/gemrb/trunk/gemrb/plugins/Core/ (12 files): follow target into other areas...
[16:28:44] --> Dark-Star has joined #gemrb
[16:28:44] --- ChanServ gives channel operator status to Dark-Star
[16:30:07] <Avenger> hmm something leaks in this MoveNearerTo thingie
[16:30:19] <Avenger> i got this on quit: Residue action 198 with refcount 25
[16:30:37] <Avenger> 198 is the dialog action
[16:37:47] <fuzzie> huh, it should never make new actions
[16:39:04] <fuzzie> i think that is probably a different bug
[16:39:42] --> D_T_G has joined #gemrb
[16:40:10] <-- D_T_G has left #gemrb ()
[16:42:09] --> D_T_G has joined #gemrb
[16:47:15] <Avenger> i don't know why it works with the dialog and not with attack
[16:53:11] <Avenger> oh i found :)
[16:58:52] <-- barra_library has left IRC ("Verlassend")
[17:03:25] <fuzzie> something simple?
[17:04:04] <fuzzie> i need to go remove all the other code which makes new actions sometime, probably..
[17:04:29] <Avenger> well icouldn't find which action makes bhaal attack
[17:04:44] <Avenger> but the action should have a new flag in its GetActorFromObject code
[17:07:52] <fuzzie> that last commit looks ok
[17:08:00] <fuzzie> i'm not so sure about object filters working between areas
[17:09:28] <fuzzie> but there seem to be no obvious leak bugs..
[17:09:40] <fuzzie> maybe i do something stupid elsewhere
[17:23:23] <fuzzie> if that forum thread from devSin talks about GemRB's 'DoorClosed' WED variable, it is used as described, but i don't know the offsets
[17:32:57] <fuzzie> hm, i turned on 3D Acceleration for original iwd1, and it displays upside-down
[17:37:11] --> barra_library has joined #gemrb
[17:37:22] --- barra_library is now known as barra_home
[17:42:09] --- barra_home is now known as barraAway
[17:42:25] <fuzzie> iwd1 seems quite a nice 'stepping stone' between bg1 and bg2
[17:43:36] <fuzzie> i see quite a lot of complicated things seem present in simpler form
[17:43:56] <lynxlynxlynx> it was released at the same time as diablo2 as a nice counterweight
[17:57:13] <Avenger> they talk about that field yes
[17:57:45] <Avenger> and we use it correctly, as pst doors open/closed state is opposite as the other engines :)
[17:58:33] --> |Cable| has joined #gemrb
[18:02:08] <-- Avenger has left IRC ("bye!")
[18:13:33] <-- D_T_G has left IRC ()
[18:41:05] --> Avenger has joined #gemrb
[18:41:07] --- ChanServ gives channel operator status to Avenger
[18:43:20] <-- Dark-Star has left IRC ()
[18:52:13] <Avenger> heh, finally i found the problem
[18:52:43] <fuzzie> oh?
[18:57:30] <Avenger> you were right
[18:57:40] <Avenger> NearestEnemyOf(Myself) won't work across the map
[18:58:47] <fuzzie> it shouldn't, i think, of course, leading back to this object storage
[18:58:54] <Avenger> yes
[18:59:12] <Avenger> so, the release relies on you :P
[18:59:44] <fuzzie> you think it should work fine once that is fixed?
[19:00:13] <Avenger> well if this object were stored, bhaal would have found it
[19:00:20] <Avenger> it works with LastSeen
[19:00:24] <Avenger> as with the dialog
[19:00:26] <fuzzie> ok, i'll try to tidy up my patch tomorrow
[19:00:32] <Avenger> it works with [PC] too
[19:00:39] <Avenger> just not stuff which look for distance
[19:01:00] <fuzzie> well, [PC] looks for distance too, normally
[19:01:05] <Avenger> i could probably add the nearestenemy actors to the end of the list
[19:01:26] <Avenger> if GA_GLOBAL is set, it could add all actors to the list
[19:01:47] <Avenger> i mean all actors, that otherwise fulfill the specification
[19:01:57] <Avenger> for example, nearestenemy looks for enemy
[19:02:00] <fuzzie> i mean, [PC] must be nearest PC
[19:02:33] <fuzzie> which is why i'm not so sure about your changes :)
[19:03:16] <fuzzie> a lot of scripts use that to make sure that following doesn't happen, i thought, but i still didn't test it
[19:03:18] <Avenger> no, pc doesn't need that the target is on the same map as the Sender
[19:03:29] <Avenger> nearestenemy looks around on the map of the sender for enemies
[19:04:15] <Avenger> [PC] simply looks around on the map supplied from outside
[19:04:28] <Avenger> which is now not just the current map of the Sender, but all active maps
[19:04:36] <fuzzie> yes, but this is a gemrb hack, no?
[19:04:43] <Avenger> of course
[19:04:44] <fuzzie> and it will break original scripts
[19:04:50] <fuzzie> so adding more hacks doesn't sound much fun :)
[19:05:32] <Avenger> well, it would make cats to enter buildings if there are rats in the buildings :)
[19:06:05] <Avenger> the GA_GLOBAL flag is allowed only for dialogue and attack
[19:06:14] <fuzzie> well, more often it makes actors move to areas when initiating dialog that they're not meant to be in
[19:06:15] <Avenger> it wouldn't break anything i can think of
[19:06:28] <fuzzie> and this would break many things
[19:06:33] <Avenger> well, bhaal follows you to make the dialog, no?
[19:06:46] <fuzzie> does Bhall use [PC]?
[19:06:58] <Avenger> no, i think uses lastseen
[19:07:03] <fuzzie> that should work
[19:07:18] <Avenger> but, you need to activate an actor anyway :)
[19:07:29] <Avenger> that means, you gotta near them
[19:07:32] <fuzzie> i mean, i think this really breaks quite a lot
[19:07:55] <fuzzie> if you leave an area while a script is trying to initiate dialog, this way will break plot advancement and etc
[19:07:57] <Avenger> well, as i said, it is up to you now
[19:08:02] <fuzzie> but i should fix it, yes
[19:08:15] <fuzzie> and test everything else, i guess
[19:08:25] <Avenger> well, it would break the original game too
[19:08:40] <Avenger> unless they made the exit disable npc movement
[19:08:45] <Avenger> which gemrb also supports
[19:09:09] <fuzzie> is it possible to fix GetTravelTo to return the nearest entrance?
[19:09:18] <fuzzie> does the original game really follow on [PC]?
[19:09:51] <Avenger> i don't know
[19:10:22] <Avenger> it follows on lastseen, and it follows on nearestenemyof(myself)
[19:10:30] <fuzzie> hm, i guess GetTravelTo doesn't work without a specified destination anyway :/ a "nearest travel trigger" would be nice, but i guess it all needs pathfinding, annoying
[19:10:37] <fuzzie> ok, i'll test
[19:10:50] <Avenger> gettravelto needs the destination, but you know your target
[19:11:04] <Avenger> and the destination is target->GetCurrentArea()->GetScriptName()
[19:11:12] <fuzzie> yes, but some other actions need "nearest exit of any kind" :)
[19:11:28] <Avenger> but that is not GetTravelTo :)
[19:11:38] <Avenger> i can write a NearestExit if you need it
[19:11:39] <fuzzie> and i think GetTravelTo will pick incorrect exits right now?
[19:11:45] <Avenger> no
[19:11:51] <fuzzie> or does it always pick the nearest?
[19:11:54] <Avenger> GetTravelTo will pick the exit to your target
[19:12:07] <Avenger> it is not the nearest, it is the exit leading to your target
[19:12:11] <fuzzie> sometimes there are lots of exits to your target, though
[19:12:17] <Avenger> heh
[19:12:20] <fuzzie> and some will be a long way away :)
[19:12:38] <fuzzie> that's not a big bug, i just wondered if we could just have a single function which did all the work
[19:12:42] <Avenger> it will pick one of them, i doubt the IE chooses the best
[19:13:14] <Avenger> the ie cannot use intra area travel triggers either
[19:13:43] <Avenger> though it might pick the nearest travel trigger to your target, it is by no means the best
[19:14:12] <Avenger> you could pick the best only by full pathfinding across areas :)
[19:14:14] <fuzzie> i just think about following during battles
[19:14:27] <fuzzie> if there are two doors to a building and you leave via one, then the enemy will follow
[19:14:52] <fuzzie> and at the moment in gemrb i guess sometimes the enemy will use the other door, where there is sometimes no path to you :)
[19:14:56] <Avenger> lets think about that later, that is not the worst part now
[19:15:05] <fuzzie> yes, it is just something i wondered about
[19:15:36] <Avenger> the worst part is that NearestEnemy(Myself) uses only Myself->GetCurrentArea() :)
[19:15:46] <fuzzie> well, that is not the bug, i think :)
[19:16:09] <fuzzie> but i'll try fixing that code properly, and testing IDS following too
[19:16:45] <fuzzie> the object code breaks SoA side quests too, so i think it's important
[19:17:29] <-- dawid has left IRC (Connection timed out)
[19:18:02] <-- xrogaan has left IRC ("Why ?")
[19:18:24] <Avenger> ok, i won't hold you up :) Btw, if you remove the GA_GLOBAL flag, all code should work as before. So, don't cut too much out, but you are free to remove the flag from the calls
[19:18:42] <fuzzie> well, it would be nice to have it as an optional feature anyway
[19:19:13] <fuzzie> but let me work out whether it's right first!
[19:19:16] --> dawid has joined #GemRb
[19:19:31] <Avenger> see you later, i will come back in 2-3 hours
[19:19:43] <-- Avenger has left IRC ("ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]")
[19:28:18] <fuzzie> great, there's no function to retrieve an actor by global ID?
[19:28:19] <fuzzie> that sucks
[19:40:23] <lynxlynxlynx> GetActorByGlobalID
[19:50:02] <fuzzie> but that only works if you already know where the actor is :)
[19:50:22] <fuzzie> i wrote another copy for Game which truly gives you the actor, i don't know if i missed an existing one
[19:52:39] <fuzzie> ok, the emailed save 'bhaal chase' is presumably the one to test..
[19:52:55] <lynxlynxlynx> yep
[19:53:00] <lynxlynxlynx> go NW
[20:03:48] <fuzzie> well
[20:04:03] <fuzzie> that crashes on my machine :/
[20:05:24] --> D_T_G has joined #gemrb
[20:07:56] <lynxlynxlynx> checking if that is new
[20:09:58] --- D_T_G is now known as D_T_G_
[20:10:27] --- D_T_G_ is now known as D_T_G_away
[20:10:33] <fuzzie> for me, it crashes in UseItem on the PC, called from PerformAttack
[20:10:50] <fuzzie> happens every time so i'd appreciate knowing if it's reproducible
[20:11:16] <fuzzie> oh, hm, it is crashing in libc, which says the stack was smashed
[20:12:14] <lynxlynxlynx> doesn't crash here, but let me try with HEAD
[20:12:35] <fuzzie> ok, if i disable party AI, Bhall follows me into the building
[20:12:38] <fuzzie> was that the bug?
[20:13:19] <lynxlynxlynx> the last bug avenger mentioned was that one of the next steps didn't work
[20:14:56] --- D_T_G_away is now known as D_T_G
[20:18:13] <fuzzie> i'm valgrinding it now
[20:18:25] <fuzzie> something is corrupting the stack, definitely
[20:19:54] <fuzzie> but difficult to test the last step when the first PerformAttack crashes :)
[20:25:16] <fuzzie> it is some AttackStance change
[20:25:29] <fuzzie> maybe
[20:25:54] <fuzzie> ok, it is just weird
[20:26:35] <fuzzie> ok, clean rebuild time..
[20:29:04] <fuzzie> valgrind says that something calls UseItem which calls ChargeItem which interferes with the animations
[20:29:14] <fuzzie> did anyone change that code recently?
[20:30:00] <fuzzie> seems not
[20:31:08] <fuzzie> but AttackStance isn't set which means nothing called SetUsedWeapon, i wonder if that's a bug or normal?
[20:31:48] <lynxlynxlynx> i get no equipped weapon on occasionally too, but pretty rare and it definitely doesn't crash
[20:32:16] <fuzzie> it looks like it's definitely a possible crash
[20:33:17] <-- D_T_G has left IRC ()
[20:36:43] <fuzzie> crashes even if i set AttackStance, though. meh.
[20:39:47] <lynxlynxlynx> the dialog doesn't start here either
[20:40:25] --> Edheldil has joined #gemrb
[20:40:25] --- ChanServ gives channel operator status to Edheldil
[20:40:38] <fuzzie> maybe look at the scripts and see where that breaks
[20:41:01] <Edheldil> Hi all
[20:41:03] <fuzzie> hi, Edheldil
[20:41:10] <lynxlynxlynx> i'm trying just that :)
[20:41:30] <fuzzie> how did you get Bhaal into the building, running before the first dialog?
[20:41:45] <lynxlynxlynx> he follows me only if he wants to initiate dialog, not when already in combat too
[20:41:54] <lynxlynxlynx> heh, nice timing
[20:42:00] <fuzzie> i have a hack for the combat one in my tree
[20:45:54] <fuzzie> does he follow you into the building in the original game, before the dialog?
[20:46:07] <lynxlynxlynx> no idea
[20:46:45] <fuzzie> [CharAnimations]: Couldn't create animationfactory: usar1a2e
[20:47:08] <lynxlynxlynx> yes, he has no weapon equipped
[20:47:22] <fuzzie> not a problem?
[20:47:28] <lynxlynxlynx> but the weapon is baked in the animation, so you don't notice
[20:48:22] <lynxlynxlynx> you get the same error in his other incarnations, I suggested to the fixpackers they equip his sword (now attacks with fists? I doubt it)
[20:49:24] <lynxlynxlynx> AsylumPlot is set correctly
[20:49:59] <lynxlynxlynx> so either HPLT(Myself,20) or Global("spoke","LOCALS",0) are false
[20:50:27] <lynxlynxlynx> spoke is only set here, so it shouldn't be an issue
[20:50:51] <fuzzie> you can check HP with ctrl-m
[20:51:00] <lynxlynxlynx> of course
[20:51:53] --- barraAway is now known as barra_home
[20:52:54] <lynxlynxlynx> hmm
[20:52:56] <fuzzie> ok, how do i disable optimisations?
[20:53:10] <lynxlynxlynx> --enable-debug or just pass -O0
[20:53:28] <fuzzie> thanks
[20:55:10] <fuzzie> that ClearActions(Myself) in there is going to cause disaster
[20:55:22] <lynxlynxlynx> all of the debug output never mentioned "spoke"
[20:55:31] <lynxlynxlynx> aren't variables 0 by default?
[20:55:40] <fuzzie> since it will delete all the other pending actions
[20:55:52] <lynxlynxlynx> why is that bad?
[20:56:20] <fuzzie> because SetGlobal and StartDialogNoSet are those pending actions
[20:56:46] <fuzzie> obviously we don't understand that action
[20:57:30] <lynxlynxlynx> oh, time travel
[20:58:59] <fuzzie> okay, now i found a gibberlings3 thread documenting all this to make my life much worse
[20:59:45] <lynxlynxlynx> when a script is read, aren't the actions put in linearly, ordered?
[21:00:14] <fuzzie> this thread says not
[21:00:45] <fuzzie> http://forums.gibberlings3.net/lofiversion/index.php?t2925.html
[21:01:16] <fuzzie> not directly relevant here, maybe
[21:03:52] <fuzzie> but i think ClearActions is probably instant
[21:04:17] <fuzzie> try GameScript.cpp:439, change 0 to AF_INSTANT
[21:08:50] <lynxlynxlynx> ok
[21:10:34] <lynxlynxlynx> yep, that fixed it
[21:10:54] <lynxlynxlynx> well, somewhat
[21:11:13] <lynxlynxlynx> things progressed, i got the two new dialogs, but the scene does not end
[21:12:11] <lynxlynxlynx> this is the end node of ppdrimo.dlg
[21:12:40] <-- raevol has left IRC ("Leaving.")
[21:13:02] <fuzzie> cut4li doesn't start?
[21:13:27] <lynxlynxlynx> the gui was removed, but then nothing happened
[21:13:29] <fuzzie> erm, cut41i
[21:13:31] <lynxlynxlynx> trying without agen
[21:13:59] <fuzzie> ok
[21:14:08] <lynxlynxlynx> didn't change anything, the monk keeps pounding
[21:14:25] <lynxlynxlynx> bhaal of course has minhp1
[21:15:42] <lynxlynxlynx> brb
[21:15:52] <fuzzie> maybe the dialog is meant to clear actions and doesn't
[21:16:02] --> raevol has joined #GemRB
[21:18:46] <fuzzie> "//maybe we should remove the action queue, but i'm unsure" followed by "//no, we shouldn't even call this!"
[21:18:51] <fuzzie> i suspect i am the second commenter
[21:25:02] <fuzzie> so this crash was from r6882
[21:25:08] <fuzzie> where Avenger tries to be clever with string functions :)
[21:26:40] <lynxlynxlynx> well, it is not in my chase.ids
[21:27:15] <lynxlynxlynx> but it is late :)
[21:27:54] <fuzzie> i haven't slept in two days, so whee
[21:28:18] <lynxlynxlynx> how did you manage that?
[21:28:56] <fuzzie> can't sleep :/
[21:29:38] <lynxlynxlynx> but two days? I'd get an actionoverride by then
[21:29:41] <fuzzie> but i guess i'll patch this stuff up while everyone sleeps
[21:30:06] <fuzzie> i am waiting for an actionoverride ot catch up with me, although i have dozed off for 15 minutes or so a couple of times
[21:30:46] <lynxlynxlynx> you were right, the dialog needs to clear the actions
[21:31:06] <lynxlynxlynx> i ^y-ed the bastard this time and things just worked
[21:32:05] <CIA-22> gemrb: 03fuzzie * r6942 10/gemrb/trunk/gemrb/plugins/Core/ (Actor.cpp EffectQueue.cpp ProjectileServer.cpp): don't write off the end of an ieResRef
[21:32:09] <fuzzie> that one was subtle
[21:32:38] <fuzzie> ubuntu's libc ships with canaries in the stack which notices if you overwrite even one byte :)
[21:35:01] <lynxlynxlynx> does it use eglibc now?
[21:35:13] <CIA-22> gemrb: 03fuzzie * r6943 10/gemrb/trunk/gemrb/plugins/Core/ (Game.cpp Game.h): add Game::GetActorByGlobalID convenience function
[21:36:37] <CIA-22> gemrb: 03fuzzie * r6944 10/gemrb/trunk/gemrb/plugins/Core/ (Actions.cpp ActorBlock.cpp ActorBlock.h): store/reset a CurrentActionTarget variable, and add a temporary hack to AttackReevaluate which uses it
[21:36:39] <fuzzie> Bhaal should follow you into the building when attacking, now
[21:40:08] <CIA-22> gemrb: 03fuzzie * r6945 10/gemrb/trunk/gemrb/plugins/Core/GameScript.cpp: tag ClearActions with AF_INSTANT
[21:41:22] <lynxlynxlynx> indeed he did
[21:45:20] <CIA-22> gemrb: 03fuzzie * r6946 10/gemrb/trunk/gemrb/plugins/Core/GSUtils.cpp: clear actions/path at dialog start (probably incorrect, needs testing)
[21:45:57] <fuzzie> seems to work all the way past bodhi now?
[21:46:08] <fuzzie> i'll have to test some of this in the original engine tomorrow
[21:46:20] --> Avenger has joined #gemrb
[21:46:28] --- ChanServ gives channel operator status to Avenger
[21:46:37] <Avenger> heh, i see you found my clever crashers :)
[21:46:40] <fuzzie> but for now it fixed SoA and i can tidy up before the release
[21:46:57] <fuzzie> hi Avenger, your following code works beautifully
[21:47:12] <Avenger> i should remember strnuprcpy uses one more byte
[21:48:10] <Avenger> you mean, if you store the object, and we ignore the fact that the follower will pick the first exit it ever stumbles into? :D
[21:48:14] <fuzzie> it took me a long time to find it :)
[21:48:25] <fuzzie> the object storing is what the original engine does, you know :P
[21:48:38] <fuzzie> and the exit thing can be fixed
[21:48:48] <Avenger> yes, this was said already
[21:48:59] <lynxlynxlynx> this wasn't enough, maybe agen took effect before the dialog could finish
[21:48:59] <fuzzie> it would be nice to have a generic pathfinder function with a callback, maybe
[21:49:07] <Avenger> though the specification is not entirely clear to me
[21:49:32] <fuzzie> lynxlynxlynx: yes, 'probably incorrect' means 'sorry, i don't clear the actions on the target too', for one :/
[21:50:10] <Avenger> so we fixed all blockers?
[21:50:24] <Avenger> hopefully there won't be any new one
[21:50:29] <lynxlynxlynx> Avenger: almost
[21:50:55] <lynxlynxlynx> fuzzie: but that's exactly what is needed here unfortunately
[21:51:03] <fuzzie> no blockers if you are careful to take the exact same path as lynx
[21:51:06] <Avenger> btw, i looked at the energy drain opcode. it is a hell of a code
[21:51:24] <fuzzie> ok, so you will move onto that now? :-)
[21:51:24] <Avenger> luckily most of it is redundant, a huge switch/case based on class
[21:51:37] <lynxlynxlynx> i don't understand why the protection doesn't work, it is just plain opcode protection
[21:51:51] <Avenger> hmm,
[21:52:19] <Avenger> what protection
[21:52:22] <lynxlynxlynx> or is it my mr again and i resisted my own items?
[21:52:23] <fuzzie> it would be nice to fix the places you have to cheat in SoA, too
[21:52:31] <fuzzie> is that only the entries in bold, lynx?
[21:52:45] <lynxlynxlynx> i can be drained while wearing the amulet of power - prot from level drain
[21:53:02] <-- tombhadAC has left IRC ("Verlassend")
[21:53:23] <lynxlynxlynx> fuzzie: i think so, yes
[21:53:42] <lynxlynxlynx> bhaal still needs cheating, but you don't need to hack anything anymore
[21:53:51] <lynxlynxlynx> it is hard to know you need to cheat though
[21:53:52] --> tombhadAC has joined #gemrb
[21:54:04] <fuzzie> well, if you kick bhaal a lot beforehand and don't have AI on, it works :)
[21:54:18] <fuzzie> but i don't want to be more invasive before i tested all this in the original engine
[21:54:43] <lynxlynxlynx> you mean the group ai thing? because it didn't work when i had no custom script
[21:55:47] <fuzzie> if bhaal is sufficiently damaged before you talk to imoen, for me no-one attacks
[21:56:05] <lynxlynxlynx> oh, that approach
[21:56:08] <fuzzie> that is maybe also a bug? :)
[21:56:20] <fuzzie> i would still consider it a blocker, though
[21:56:33] <lynxlynxlynx> Avenger: if you want to test it, load up the habib save and rest twice, you'll get a night encounter to the north
[21:56:37] <fuzzie> it would also be really nice to have all the random animation issues fixed, but i am not volunteering
[21:57:02] <lynxlynxlynx> i'm dealing with the spammy ones
[21:57:17] <fuzzie> i just want things to not disappear :(
[21:57:25] <lynxlynxlynx> wrong frames are more annoying, since there is no output
[21:57:27] <lynxlynxlynx> yeah
[21:57:36] <Avenger> are you sure you get life drain?
[21:57:36] <lynxlynxlynx> we need some systemic changes
[21:57:52] <Avenger> do you get the icon? or just some text
[21:58:14] <lynxlynxlynx> you know, i think the text protection works, i haven't seen that at all
[21:58:29] <lynxlynxlynx> or maybe the vamp's drain has problems with the string display
[21:58:52] <fuzzie> also, huh, ambushes don't go away?
[21:59:03] <Avenger> yes, i think you simply suck due to the lack of fixpack
[21:59:30] <lynxlynxlynx> oh, no, the string protection doesn't work
[21:59:34] <fuzzie> the original game works beautifully without the fixpack, though
[21:59:44] <lynxlynxlynx> eh
[21:59:52] <lynxlynxlynx> i don't have the amo of power there
[21:59:58] <lynxlynxlynx> just 100% mr
[22:00:24] <fuzzie> maybe send Avenger an easier-to-reproduce save, if you can
[22:00:26] <Avenger> the vampire touch is not magical
[22:01:04] <fuzzie> lynxlynxlynx: which ambushes in particular do you talk about?
[22:01:09] <lynxlynxlynx> btw
[22:01:10] <Avenger> and the 'two levels drained' text is a separate opcode
[22:01:12] <lynxlynxlynx> DebugDump of Area ar0400:
[22:01:15] <lynxlynxlynx> [GameScript]: MoveBetweenAreas: Chicken to ar0409 [510.334] face: 10
[22:01:29] <Avenger> hehe, chicken left?
[22:01:31] <Avenger> hehe
[22:01:37] <lynxlynxlynx> the chicken crossed the road :)
[22:02:25] <Avenger> any reason?
[22:02:54] <lynxlynxlynx> are you seriously asking me why the chicken crossed the road? :)
[22:03:35] <lynxlynxlynx> i didn't move, not that it was attacking me or trying to talk to me (I don't have jan or minsc either)
[22:03:47] <Avenger> odd
[22:03:52] <lynxlynxlynx> maybe the cats? :)
[22:04:07] <Avenger> there is some IF_ flag which needs to be set by an action
[22:04:15] <Avenger> otherwise they wouldn't pass an exit
[22:04:16] <lynxlynxlynx> amul21 it is
[22:04:18] <Avenger> so, this is odd
[22:04:51] <Avenger> ok, amulet of power,
[22:04:56] <Avenger> please open it in dltcep
[22:05:12] <Avenger> and check if it has 'protection from string' entries
[22:05:21] <Avenger> there should be 5
[22:05:37] <lynxlynxlynx> it has
[22:05:41] <Avenger> if it has no protection from strings, then you will see the vampire drains
[22:05:42] <lynxlynxlynx> it seems to work now
[22:05:47] <Avenger> O_o
[22:05:52] <Avenger> you didn't wear it?
[22:06:02] <lynxlynxlynx> BUT
[22:06:05] <lynxlynxlynx> i just got drained
[22:06:19] <lynxlynxlynx> the string protection works
[22:06:37] <fuzzie> Avenger: CannotPassEntrance also returns true if no actions are executing
[22:06:38] <lynxlynxlynx> the vamp had to try a few times, but now i am drained
[22:06:40] <lynxlynxlynx> icon and all
[22:06:52] <fuzzie> i mean, returns false, or whatever :)
[22:07:25] <lynxlynxlynx> you can try it yourself, just load that mmstg11 / habib save
[22:07:29] <lynxlynxlynx> good night
[22:07:31] <Avenger> fuzzie: that's nt intended i guess
[22:07:35] <fuzzie> lynxlynxlynx: night
[22:07:39] <Avenger> bye lynx
[22:07:44] <-- lynxlynxlynx has left IRC (Remote closed the connection)
[22:07:48] <CIA-22> gemrb: 03edheldil * r6947 10/ie_shell/trunk/infinity/formats/are.py: Added non-PST automap desc and made it default. Edit by hand if you want a PST one :(
[22:08:00] <fuzzie> aw :(
[22:08:24] <Avenger> heh, ed, why?
[22:08:40] <Edheldil> why what?
[22:08:47] <fuzzie> it tried reading a pst automap desc for every ARE, before
[22:08:59] <Avenger> why can't it detect the version?
[22:09:02] <fuzzie> i'm sure you can auto-detect it and copy the right structure into the class or something though
[22:09:12] <Edheldil> Now it reads non-PST ones for each one :(
[22:09:26] <Avenger> do you know iwd2 has a different area format too?
[22:09:28] <fuzzie> maybe i'll try writing a patch
[22:09:34] <fuzzie> let's not talk about iwd2 :)
[22:09:48] <fuzzie> does gemrb manage to write iwd2 saves yet?
[22:10:07] <Avenger> good idea, lets not talk about iwd2
[22:10:32] <Avenger> it will be my first task after the release
[22:10:37] <Edheldil> iwd2 has at least decency to have different are format number. pst does not
[22:10:55] <Avenger> yep, that sucks
[22:11:22] <fuzzie> oh, huh, gemrb cheats and does it by game features in the ini :)
[22:11:23] <Avenger> but somehow i can detect it, i think
[22:11:29] <Edheldil> I guess it can be autodetected, but I was lazy to read dltcep code for it yet :-P
[22:12:15] <Avenger> ielister can detect it :P
[22:12:29] <Avenger> ielister is easier to understand
[22:12:40] <Avenger> songoffset=os.AddDword("Song offset");//14
[22:12:42] <Avenger> restoffset=os.AddDword("Rest offset");//15
[22:12:43] <Avenger> noteoffset=os.AddDword("Mapnote offset");
[22:12:44] <Avenger> if(noteoffset==-1) //pst screwup
[22:12:46] <Avenger> {
[22:12:48] <Avenger> pst=1;
[22:12:49] <Avenger> }
[22:12:50] <Avenger> if(pst)
[22:12:52] <Avenger> {
[22:12:53] <Avenger> noteoffset=os.AddDword("Real offset PST");
[22:12:59] <Avenger> so, after the song/rest offsets, there is a dword with -1
[22:13:04] <Avenger> that means pst
[22:13:26] <Avenger> for other games, it is the real mapnote offset
[22:14:42] <Edheldil> ah, that is easy
[22:16:20] <Edheldil> the only snag is I have to rework are a bit :(
[22:17:02] <Avenger> now, i wonder why the opcode resistance doesn't work
[22:19:19] <Avenger> ok, it is bad coding on my side
[22:19:21] <Avenger> as usual :)
[22:19:39] <Avenger> i put the opcode resistance checks into the general saving throw/magic resistance place
[22:19:55] <Avenger> but opcode resistance should be independent from magic resistance
[22:20:27] <-- Avenger has left IRC ("ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]")
[22:23:53] <fuzzie> another mystery solved by Avenger when none of the rest of us understood a word, i guess :)
[22:30:23] --> Avenger has joined #gemrb
[22:30:26] --- ChanServ gives channel operator status to Avenger
[22:30:36] <Edheldil> hehe
[22:30:46] <Avenger> fuzzie, only attackreevaluate does this following trick?
[22:30:54] <fuzzie> no, all blocking actions do
[22:31:10] <fuzzie> it's not really a following trick though :)
[22:31:30] <Avenger> Attack seems to be much less than before
[22:31:55] <fuzzie> but my patch to do it correctly is unfinished, so what's in svn is just a hack
[22:31:59] <Avenger> i mean, only attackreevaluate uses the saved object?
[22:32:20] <fuzzie> i mean, the hack i added is only for attackreevaluate, sorry
[22:32:26] <fuzzie> so i didn't change attack at all
[22:32:38] <fuzzie> but i will change it tomorrow, i just don't have the proper patch finished yet
[22:32:55] <Avenger> ok i see
[22:33:31] <Avenger> so atm, you will have to wait till bhaal goes red
[22:33:42] <fuzzie> i didn't remove your [PC] code
[22:33:50] <fuzzie> so that should still work fine
[22:33:57] <Avenger> hmm
[22:34:00] <Avenger> oh
[22:34:02] <Avenger> well
[22:34:23] <Avenger> i thought i committed the GA_GLOBAL flag for the attacks, and that you removed it
[22:34:31] <fuzzie> nope, i didn't change that bit
[22:37:17] <CIA-22> gemrb: 03avenger_teambg * r6948 10/gemrb/trunk/gemrb/plugins/Core/ (Actions.cpp Actor.cpp GSUtils.cpp GameScript.h Map.cpp): some cleanup
[22:37:35] <fuzzie> i should go test that in windows, i guess
[22:43:59] <Avenger> ok i think i fixed the opcode resistance
[22:44:08] <CIA-22> gemrb: 03avenger_teambg * r6949 10/gemrb/trunk/gemrb/plugins/Core/EffectQueue.cpp: fixed opcode resistance
[22:44:30] <fuzzie> that's great :)
[22:44:44] <Avenger> see you later
[22:44:47] <-- Avenger has left IRC ("bye!")
[23:25:44] <-- pupnik_ has left IRC ("leaving")
[23:33:14] <fuzzie> so [PC] simply doesn't match anything if there's no PC in sight, whether in another area or not
[23:33:35] <fuzzie> so no following happens there at all, which means i should indeed disable GA_GLOBAL flags
[23:34:45] <fuzzie> poor Bhaal just stands around outside and looks sad
[23:36:33] <Edheldil> hmm, I can't find any standard ARE with automap notes
[23:36:36] <Edheldil> in pst
[23:37:53] <fuzzie> the AREs in the bifs don't have them
[23:38:07] <Edheldil> only in saved games?
[23:38:09] <fuzzie> yes
[23:38:14] <Edheldil> sigh
[23:38:23] <fuzzie> the notes are stored in an ini file and added on first area load, i think. sorry :/
[23:46:42] <Edheldil> np, I have found some now, thanks
[23:51:28] <CIA-22> gemrb: 03edheldil * r6950 10/ie_shell/trunk/infinity/ (format.py formats/are.py):
[23:51:28] <CIA-22> gemrb: Detect pst/non pst version of ARE V1 files, thanks to hint by Avenger.
[23:51:28] <CIA-22> gemrb: Added desc param to {read,write,print_header functions
[23:57:29] <-- barra_home has left IRC ("Verlassend")
[23:57:47] --> barra_library has joined #gemrb