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

Archive Today Yesterday Tomorrow
GemRB homepage

[00:05:17] <-- tombhadAC has left IRC (Network is unreachable)
[00:15:11] <-- wjp has left IRC (orwell.freenode.net irc.freenode.net)
[00:15:11] <-- tombhad-AC has left IRC (orwell.freenode.net irc.freenode.net)
[00:15:11] <-- Gekz has left IRC (orwell.freenode.net irc.freenode.net)
[00:15:11] <-- raevol has left IRC (orwell.freenode.net irc.freenode.net)
[00:15:12] <-- |Cable| has left IRC (orwell.freenode.net irc.freenode.net)
[00:15:12] <-- fuzzie has left IRC (orwell.freenode.net irc.freenode.net)
[00:15:12] <-- CIA-22 has left IRC (orwell.freenode.net irc.freenode.net)
[00:15:12] <-- pupnik has left IRC (orwell.freenode.net irc.freenode.net)
[00:16:24] --> wjp has joined #GemRb
[00:16:24] --> |Cable| has joined #GemRb
[00:16:24] --> Gekz has joined #GemRb
[00:16:24] --> raevol has joined #GemRb
[00:16:24] --> pupnik has joined #GemRb
[00:16:24] --> fuzzie has joined #GemRb
[00:16:24] --> CIA-22 has joined #GemRb
[00:17:45] --> tombhadAC has joined #gemrb
[00:34:15] <-- tombhadAC has left IRC ("Verlassend")
[02:10:43] <-- raevol has left IRC ("Leaving.")
[02:12:06] --> raevol has joined #GemRB
[02:12:14] <raevol> j #videolan
[04:12:26] --> barra_library has joined #gemrb
[05:24:24] --> pupnik_ has joined #gemrb
[05:40:03] <-- pupnik has left IRC (Connection timed out)
[05:42:39] --- barra_library is now known as barra_home
[06:09:34] --- barra_home is now known as barra_groceries
[07:15:12] --- barra_groceries is now known as barra_home
[07:24:08] --> xrogaan has joined #gemrb
[07:27:35] --> lynxlynxlynx has joined #gemrb
[07:27:35] --- ChanServ gives channel operator status to lynxlynxlynx
[07:48:03] <-- |Cable| has left IRC (Remote closed the connection)
[08:02:28] <fuzzie> morning
[08:03:27] <lynxlynxlynx> oj
[08:04:49] <Gekz> hey
[08:10:10] <wjp> good morning
[08:19:25] --- barra_home is now known as barraAway
[08:30:55] <fuzzie> well, aren't you all alive :)
[08:34:26] <CIA-22> gemrb: 03lynxlupodian * r6988 10/gemrb/trunk/gemrb/GUIScripts/ (9 files in 6 dirs): moved SetupSavingThrows up and deleted unused inferior copies
[08:35:04] <fuzzie> the refactoring is much appreciated :)
[08:36:21] <lynxlynxlynx> avenger's dump yesterday triggered this
[08:42:46] <CIA-22> gemrb: 03lynxlupodian * r6989 10/gemrb/trunk/gemrb/GUIScripts/ (4 files in 4 dirs): removed the now unused GetSavingThrow
[08:50:04] <fuzzie> well, if there's anything in particular i can help with, i would love to see a lot more code shared
[08:55:59] <lynxlynxlynx> do you perchance know if you can dualclass in iwd?
[09:01:26] <fuzzie> in iwd1? yes
[09:01:56] <fuzzie> i mean, i did fighter->thief at 2nd level, fighter got deactivated, i assume that's dual class :)
[09:02:22] <lynxlynxlynx> :)
[09:02:45] <fuzzie> the game rules still confuse me terribly, i must play with them some more
[09:09:57] <CIA-22> gemrb: 03lynxlupodian * r6990 10/gemrb/trunk/gemrb/GUIScripts/ (4 files in 4 dirs): merged GetActorClassTitle, temporary downtime
[09:12:25] <lynxlynxlynx> meh, forgot about the table trouble
[09:12:46] <fuzzie> i think we're all still asleep, so don't hurry about fixing it :)
[09:13:37] <lynxlynxlynx> i committed something that shouldn't work, since i wanted to address it nicely in the next commit
[09:14:08] <lynxlynxlynx> but of course guicommon is special >:(
[09:25:58] <-- xrogaan has left IRC (Read error: 54 (Connection reset by peer))
[09:26:12] <fuzzie> lynxlynxlynx: which ambushes did you find happened repeatedly?
[09:26:26] <lynxlynxlynx> in the city
[09:26:27] --> xrogaan has joined #gemrb
[09:26:33] <lynxlynxlynx> i mean the transition ambushes
[09:26:44] <lynxlynxlynx> and it was just about travel, the thugs weren't there
[09:26:53] <fuzzie> weird :/
[09:27:05] <fuzzie> i thought i'd fixed those, back to the drawing board i guess :)
[09:27:08] <lynxlynxlynx> not really, if you killed them the first time :)
[09:27:37] <lynxlynxlynx> it looked to me that just whatever triggers them wasn't cleared on completion
[09:28:01] <fuzzie> after completion, the probability on the link is modified
[09:29:02] <fuzzie> the code is wrong, but in the other direction (it disables 100% probability links the first time, i don't think that's right)
[09:30:06] <fuzzie> so i guess we screwed it up somewhere :)
[09:43:42] <fuzzie> when are you thinking of releasing, again?
[09:44:09] <lynxlynxlynx> end of the week
[09:44:36] <lynxlynxlynx> the last release was on 2009-06-25, so maybe on the 25th
[09:44:44] <fuzzie> ok.
[09:55:03] <fuzzie> i understand this action stuff more and more every day, it's reassuring :)
[10:21:22] <fuzzie> of course i guess no-one else will ever understand it :'/
[10:21:28] <fuzzie> maybe i should write documentation
[10:25:30] <fuzzie> lynxlynxlynx: can you run the original game?
[10:25:47] <fuzzie> i want to know whether this troll thing is a bug - should fallen-down trolls really have full HP?
[10:26:07] <lynxlynxlynx> i think they stay near death
[10:26:21] <lynxlynxlynx> trolls were buggy in the original too
[10:26:27] <lynxlynxlynx> you could get double xp for some
[10:26:28] <fuzzie> me too, but gemrb replaces the whole CRE with a new one, with full HP
[10:26:41] <fuzzie> yes, i think if you hit them quickly then you'll get both the old and new ones :)
[10:27:37] <fuzzie> it's not important, since gemrb doesn't do damage resistance right now you don't even need fire..
[10:28:02] <lynxlynxlynx> i've added acid to the killswitch, but that doesn't kill em
[10:28:29] <fuzzie> did you test it recently?
[10:28:39] <lynxlynxlynx> right after adding it
[10:28:45] <fuzzie> with your saves i can simply kick them to kill the things
[10:28:49] <fuzzie> but i didn't try ctrl-y, admittedly
[10:29:06] <lynxlynxlynx> i could kick a few to death, but that was rare
[10:29:14] <lynxlynxlynx> maybe just one of the troll types
[10:29:19] <fuzzie> huh.
[10:29:25] <fuzzie> i only tested with that bodhi save
[10:29:35] <fuzzie> do you have another save i could easily check with?
[10:29:57] <lynxlynxlynx> you can load the next one
[10:30:03] <fuzzie> not important, i can always 'port to the druid grove
[10:30:05] <lynxlynxlynx> there are trolls in one of the challenges
[10:30:38] <fuzzie> but the escape from brynnlaw is my current problem
[10:30:58] <fuzzie> damn ship doesn't sink :)
[10:31:19] <fuzzie> apparently the scene is very buggy in the original, huge patch is sitting unloved in pending fixpack fixes
[11:08:32] <Gekz> ?!
[11:08:51] <fuzzie> hi, Gekz
[11:09:01] <Gekz> fuzzie: Brynnlaw is in BG2, no?
[11:09:04] <Gekz> the pirate island?
[11:09:23] <fuzzie> yes
[11:09:33] <fuzzie> when you leave it via ship, there's a battle scene with gith
[11:09:49] <fuzzie> and the scripting for that is incredibly buggy
[11:10:02] <Gekz> lol
[11:10:03] <Gekz> yeah
[11:10:09] <Gekz> the battle was fucked for me
[11:10:14] <Gekz> aer you saying theres meant to be a ship that sinks?
[11:10:21] <lynxlynxlynx> not visually
[11:10:26] <Gekz> aw
[11:11:59] <fuzzie> you just get a boring text screen :)
[11:15:02] <Gekz> yeah
[11:15:25] <fuzzie> but you don't even get that in gemrb, i thought i knew why but it turns out that i'm an idiot
[11:15:30] <fuzzie> let's try this again :)
[11:19:40] --> Avenger has joined #gemrb
[11:19:44] --- ChanServ gives channel operator status to Avenger
[11:19:49] <Avenger> hi
[11:20:12] <Avenger> fuzzie: we need to rewrite script scheduling a bit, again
[11:20:40] <Avenger> actors never have their scripts inactive, when they are offscreen they simply slow down
[11:21:34] <Avenger> i had this whole inactive thing because of imoen, in bg1, but that is because Dialog([pc]) is not returning any pc outside the visibility range
[11:21:55] <Avenger> if she had dialog(Player1), she would walk up to me
[11:22:33] <Avenger> well, just wanted someone else to know this :)
[11:22:42] <Avenger> back to opcode reading
[11:22:45] <-- Avenger has left IRC (Client Quit)
[11:23:34] <fuzzie> heh
[11:24:54] <CIA-22> gemrb: 03lynxlupodian * r6991 10/gemrb/trunk/gemrb/GUIScripts/ (11 files in 3 dirs):
[11:24:54] <CIA-22> gemrb: moved BGCommon contents into GUICommon, since it will be useful in nonbg too;
[11:24:54] <CIA-22> gemrb: still need to fix multiclass chars
[11:24:55] <fuzzie> i am actually working on that right now
[11:25:02] <fuzzie> i mean, Avenger's comments
[11:25:09] <CIA-22> gemrb: 03fuzzie * r6992 10/gemrb/trunk/gemrb/plugins/Core/GSUtils.cpp: remove GA_GLOBAL usage from BeginDialog
[11:25:32] <fuzzie> lynxlynxlynx: the trouble with putting things in GUICommon is iwd2
[11:27:24] <fuzzie> Avenger: if you read this, we also have to check invisibility etc on actors for IDS targetting like [PC], as well as visual range and visibility
[11:28:56] <fuzzie> but i guess i'll do that :)
[11:33:08] <fuzzie> lynxlynxlynx: ok, do you know how to make the clock update?
[11:34:17] <lynxlynxlynx> iwd2 is only a problem if we misinclude
[11:34:41] <lynxlynxlynx> not sure what you mean about the clock - the pause tooltip?
[11:34:50] <fuzzie> yes
[11:35:15] <lynxlynxlynx> it uses tokens, so maybe it needs to be reresolved
[11:35:30] <fuzzie> calling SetGamedaysAndHoursToken() doesn't help
[11:35:36] <fuzzie> i guess it's resolved at SetTooltip time?
[11:35:58] <lynxlynxlynx> do you pass a strref or a string?
[11:36:30] <fuzzie> the code passes a strref to SetTooltip
[11:37:07] <lynxlynxlynx> SetTooltip can take a string
[11:37:15] <lynxlynxlynx> fetch it yourself
[11:38:08] <fuzzie> i think that doesn't help
[11:38:51] <fuzzie> either way the string is resolved when i do that Set call
[11:39:36] <fuzzie> so something in python needs to update it occasionally and on Rest, i guess
[11:39:41] <fuzzie> unless i am being stupid
[11:42:38] <lynxlynxlynx> that function is only called from Onloads, which is not enough for updating this tooltip
[11:43:20] <fuzzie> well, i can put it in Rest, which solves my immediate annoyance (you can't tell what time of day it is when trying to rest to activate a scripted event)
[11:43:34] <fuzzie> but then it doesn't update for anything else, i'm wondering where we can put it that it will be updated.
[11:46:05] <lynxlynxlynx> sounds like a thing for the core
[11:46:18] <fuzzie> is there any easy way to work out the value of a script global?
[11:46:41] <lynxlynxlynx> from the core?
[11:47:23] <lynxlynxlynx> in the script save it in the gemrb dictionary with SetVar and then you can look it up via Lookup
[11:47:41] <fuzzie> no, i mean, a BGScript global from the console
[11:48:05] <lynxlynxlynx> CheckVar("var")
[11:48:24] <lynxlynxlynx> CheckVar(“variable”,”GLOBAL”)
[11:48:41] <fuzzie> thanks!
[11:48:47] <lynxlynxlynx> GetGameVar is the shorthand for globals
[11:54:23] <fuzzie> i have been using EvaluateString but that only tells me if it is a certain value, this is much more helpful :)
[11:55:28] <pupnik_> :/
[11:55:31] <pupnik_> hehe
[11:57:24] <fuzzie> so weird, this variable just doesn't get set
[12:00:13] <fuzzie> oh, silly bug
[12:01:15] <fuzzie> our StartDialogNoSet fails if the actors can't see each other
[12:03:36] <fuzzie> i guess we need a BD_NOSIGHT
[12:03:38] <fuzzie> where is Avenger :(
[12:08:39] <Gekz> he ran away
[12:08:44] <Gekz> in a counterproductive manner
[12:08:45] <pupnik_> hehe
[12:41:42] <fuzzie> poor Avenger is working out things that I've been trying to explain to him
[12:41:47] <fuzzie> must write that documentation
[12:42:00] <Gekz> hit hi
[12:42:01] <Gekz> m
[12:42:05] <Gekz> for being a dick
[12:42:07] <Gekz> D:
[12:42:28] <fuzzie> i am very bad at explaining things
[12:42:35] <Gekz> lol
[12:42:39] <Gekz> use pictures
[12:42:42] <Gekz> or boobs
[12:43:11] <fuzzie> i think boobs would maybe only make it worse
[12:43:28] <Gekz> you have bad boobs?
[12:44:11] <fuzzie> i think Avenger needs not more distractions :)
[12:44:52] <Gekz> lolol
[12:52:57] <fuzzie> but, yes, i feel bad having to disable his code because i didn't explain things well enough
[12:54:31] <fuzzie> ok, so, i'll wait to ask Avenger what i can do about an extra flag for sight checking in dialog, i guess
[12:55:21] <fuzzie> next up is the tree of life..
[12:56:56] <lynxlynxlynx> huh
[12:57:03] <lynxlynxlynx> i see what the problem with mc chars is
[12:57:12] <lynxlynxlynx> the inmemory class table is corrupted
[12:57:47] <lynxlynxlynx> row names have every _* stripped
[12:58:03] <lynxlynxlynx> so we have many more fighters and mages and clerics
[12:58:24] <fuzzie> you think it's loaded incorrectly? what's a typical row name, what's the 2da?
[12:58:43] <lynxlynxlynx> FIGHTER_MAGE vs FIGHTER
[12:58:56] <lynxlynxlynx> i'm not sure what is the culprit yet
[12:59:14] <lynxlynxlynx> it all started when i moved things around
[13:01:18] <fuzzie> looks like mattinm's code can corrupt classes.2da
[13:01:21] <fuzzie> is that what you're seeing?
[13:02:18] <fuzzie> i don't know the 2da files well enough to know if you might refer to that
[13:02:50] <lynxlynxlynx> it looks like that, yes
[13:02:56] <fuzzie> ok, want a patch? :)
[13:03:02] <lynxlynxlynx> sure
[13:03:49] <fuzzie> http://ccdevnet.org/~fuzzie/dont_corrupt_classname.txt
[13:04:28] <wjp> strtok? *shudder*
[13:04:30] <Gekz> :D
[13:04:34] <Gekz> wtf is strtok
[13:04:43] <fuzzie> yeah, it was strok()ing the string in the table :)
[13:04:44] <wjp> evil
[13:04:56] <Gekz> what does it do
[13:05:02] <wjp> man 3 strtok :-)
[13:05:15] <Gekz> no u
[13:05:20] <Gekz> I am totally on windows right now
[13:05:24] <fuzzie> it splits a string up by tokens, writing nulls into the string where the tokens are in the process
[13:06:02] <wjp> strtok(strdup()) leaks, though
[13:06:12] <fuzzie> the code deletes classnames[0] later
[13:06:20] <wjp> ah, ok
[13:07:00] <lynxlynxlynx> wow, this fixes it :)
[13:07:55] <lynxlynxlynx> good job :)
[13:10:30] <CIA-22> gemrb: 03fuzzie * r6993 10/gemrb/trunk/gemrb/plugins/Core/Actor.cpp: don't corrupt classes.2da strings in InitActorTables
[13:14:40] <lynxlynxlynx> indeed, trolls are vulnerable now
[13:17:20] <fuzzie> yay
[13:23:09] <fuzzie> damage resistance might be nice there, i guess that would be to handle in the Damage code?
[13:23:20] <fuzzie> but that is already on your list :)
[13:28:20] --> Avenger has joined #gemrb
[13:28:30] --- ChanServ gives channel operator status to Avenger
[13:29:05] <fuzzie> hi, Avenger
[13:29:15] <Gekz> Avenger: dont hit and run next time
[13:29:19] <Gekz> you might learn something :o
[13:29:25] <Avenger> wanna say something?
[13:29:34] <Gekz> who
[13:29:37] <Avenger> you
[13:30:16] <fuzzie> heh
[13:30:24] <fuzzie> yes, i kept trying to explain the [PC] thing to you for days!
[13:30:28] <fuzzie> but you kept leaving before i could :)
[13:30:37] <Avenger> i see
[13:30:42] <Gekz> lol
[13:31:06] <fuzzie> but maybe now you see why i disabled the GA_GLOBAL thing
[13:31:14] <Avenger> well, i agree about the invis stuff, but it has a lot of things, like 'invisible detection by script'
[13:31:33] <fuzzie> from my testing, non-actor scripts don't check invisibility
[13:31:45] <fuzzie> but actor scripts do, and there's an opcode which allows them to see invisible creatures anyway!
[13:31:51] <Avenger> what is the visibility range of a trap
[13:32:18] <Avenger> yes thats the 'invisible detection by script' opcode
[13:32:33] <fuzzie> ok :)
[13:32:39] <Avenger> i just don't know what's the visibility range of nonactors
[13:32:49] <fuzzie> well, i can test that
[13:32:53] <Avenger> or, a trap would always detect a [pc] in the same area?
[13:32:57] <fuzzie> i don't know if they check visibility at all, to be honest
[13:33:07] <Avenger> that could be
[13:33:18] <Avenger> anyway, the IF_ACTIVE bit is still needed
[13:33:28] <fuzzie> yes, but just for slowing down scripts?
[13:33:29] <Avenger> i know doors don't activate their script until first opened
[13:33:35] <Avenger> ahh and that too!
[13:33:39] <fuzzie> i need to fix the scheduling anyway
[13:33:39] <Avenger> we need more bits
[13:33:46] <fuzzie> because scripts should never run every frame
[13:34:16] <fuzzie> and this leads to timing problems with many scripts
[13:34:31] <fuzzie> and are you sure about the doors? :)
[13:34:39] <fuzzie> people told me trap scripts didn't always run, but they do
[13:34:42] <Avenger> the ai slowdown seems to be causing scripts run at half speed
[13:35:09] <Avenger> door scripts start to run after opening the door, i found that years ago
[13:35:17] <Avenger> but you can re-test it
[13:35:31] <fuzzie> ok. i think it is a good idea.
[13:35:35] <Avenger> just put a script on a door wiht if(true) ... displaystring(player1, 2)
[13:35:39] <fuzzie> yes :)
[13:35:58] <fuzzie> i should check containers too
[13:36:17] <Avenger> i tested actors extensively, this morning
[13:36:18] <fuzzie> i already had to change gemrb to run actions on containers with no scripts
[13:36:32] <Avenger> displaystring(player1) always worked, either fast or slow
[13:36:42] <Avenger> displaystring([pc]) worked when i was seen by the actor
[13:37:00] <fuzzie> actor scripts run every second by default, every two seconds slowed down, staggered so that they don't run every frame?
[13:37:07] <fuzzie> that was my conclusion from testing i think
[13:37:28] <Avenger> yes, but i was told by taimon: aggressive actors don't slow down
[13:37:48] <fuzzie> aren't aggressive actors always IF_ACTIVE?
[13:38:08] <Avenger> only these slow down: allegiance is > 15 and < EVILCUTOFF
[13:38:11] <fuzzie> oh, i guess you have to change the meaning of that
[13:38:19] <fuzzie> ok, interesting
[13:38:22] <fuzzie> makes sense though
[13:38:36] <fuzzie> i only checked with neutrals
[13:38:40] <Avenger> well, a lot to change :)
[13:38:51] <fuzzie> yes
[13:38:57] <fuzzie> you'll fix IDS targetting to check visibility?
[13:39:06] <fuzzie> i was going to do that, but i have other things to fix too
[13:39:07] <Avenger> if you wish
[13:39:14] <fuzzie> oh!
[13:39:17] <Avenger> but i didn't plan to disturb you :)
[13:39:18] <fuzzie> another thing
[13:39:27] <fuzzie> some dialog actions don't require sight
[13:39:32] <fuzzie> such as StartDialogNoSet
[13:39:38] <fuzzie> but at the moment, BeginDialog always checks CanSee
[13:39:46] <fuzzie> what do you think is the fix, a BD_NOSIGHT flag?
[13:39:51] <Avenger> there is a flag for it no?
[13:40:00] <fuzzie> i couldn't find a flag
[13:40:00] <Avenger> well, if there is no flag, it could be added
[13:40:24] <Avenger> though i never noticed a dialog couldn't be started by an npc
[13:40:24] <fuzzie> there is a BD_CHECKDIST but that's different it seems
[13:40:43] <fuzzie> i found two scripts which break because of that CanSee check :(
[13:41:09] <Avenger> if the distance check and the sight check are always the same, no need of a separate flag
[13:41:15] <fuzzie> yes, do you know if they are?
[13:41:19] <Avenger> no
[13:41:31] <fuzzie> ok, i guess i must test it first
[13:41:34] <Avenger> i didn't know it is possible to disable dialog by not seen
[13:42:19] <fuzzie> well, maybe it's the same as the distance check.
[13:42:20] <Avenger> hmm, dialog now has cansee...?
[13:42:32] <Avenger> odd
[13:42:35] <fuzzie> GSUtils.cpp:10400
[13:42:38] <fuzzie> erm, 1040
[13:42:43] <fuzzie> i think it's required for things like Dialog()
[13:43:06] <Avenger> well, it is one of the scary actions
[13:43:13] <fuzzie> although we don't do it right, we should find a path if we can't see, i guess
[13:43:22] <Avenger> you will notice that whatever you do, it will break another game :)
[13:43:26] <Avenger> pst is particularly weird
[13:43:28] <fuzzie> i'm slowly fixing all of the actions, anyway!
[13:43:38] <fuzzie> yes, pst is annoying, it's so difficult keeping it working too
[13:43:52] <fuzzie> DialogChoose took ages to make work properly in both bg2 and pst, and I think it's still not done
[13:43:59] <Avenger> if you control an actor, like morte, and talk to someone else, it will be TNO who talks
[13:44:05] <fuzzie> yes
[13:44:13] <fuzzie> we have a flag for that, i believe?
[13:44:25] <Avenger> i hope we have, it is pst specific
[13:44:27] <fuzzie> yes, GF_PROTAGONIST_TALKS :)
[13:44:50] <fuzzie> i don't think it works properly, but meh
[13:45:00] <Avenger> also, when a dialog is initiated, it is always the npc who talks first
[13:45:19] <Avenger> regardless of who started :)
[13:45:32] <fuzzie> ok, i didn't know that one :)
[13:45:51] <fuzzie> it seems to work fine in pst at the moment, though
[13:45:54] <Avenger> that causes lots of problems when you use a joinable npc to talk to a non party npc
[13:45:59] <fuzzie> even when the actor dies in the middle of the conversation :)
[13:46:06] <Gekz> lol
[13:46:18] <fuzzie> that one sucked
[13:46:23] <Avenger> there is a priority order: protagonist, joinable npc, other npc
[13:46:37] <Gekz> I think that PST is pretty damn ugly
[13:46:42] <Gekz> compared to all the other Infinity games
[13:46:44] <Avenger> if protagonist talks to joinable, it is the joinable's dialog
[13:46:51] <fuzzie> Gekz: yes, it is hacks
[13:46:58] <fuzzie> iwd2 is the best IE version, i think
[13:47:08] <fuzzie> it has not many hacks, but a lot of script differences
[13:47:09] <Avenger> err, i don't like iwd2 that much :)
[13:47:09] <Gekz> I mean physically ugly
[13:47:12] <Gekz> not the code
[13:47:12] <Gekz> xD
[13:47:21] <Gekz> I think IWD2 was boring as hell
[13:47:24] <Gekz> but the engine is good
[13:47:30] <fuzzie> Gekz: it's nicer in widescreen mode with the explore outside areas mod
[13:47:32] <Avenger> gekz use pst at high resolution
[13:47:39] <Gekz> I cant
[13:47:43] <Gekz> it wont install the mod :/
[13:48:04] <Gekz> it errors when trying to patch the exe
[13:48:24] <fuzzie> which language version do you have?
[13:48:26] <Avenger> i liked pst
[13:48:34] <Avenger> it was a real rpg :)
[13:48:35] <Gekz> fuzzie: english
[13:48:39] <fuzzie> weird then
[13:48:43] <Gekz> indeed
[13:48:47] <Gekz> 4CD edition
[13:48:51] <Gekz> maybe I havent patched it
[13:48:57] <fuzzie> you do need to do that :)
[13:49:05] <fuzzie> if it doesn't work after patching then i can send you an .exe it works on
[13:49:05] <Gekz> the installer doesnt even give me the option of maximum install
[13:49:08] <Gekz> had to do that manually
[13:49:10] <Gekz> which pissed me off
[13:49:36] <fuzzie> Avenger: pst is my favourite game, which is why i try so hard to keep it working :) now that you made the portal animations, the first part of the game works well
[13:49:59] <Gekz> I will try to play through PST
[13:50:04] <Gekz> haha, I started IWD yesterday
[13:50:07] <Gekz> and stopped immediately
[13:50:11] <Gekz> I was bored in the first room >_>
[13:50:21] <Gekz> the corpse jokes in PST amused me
[13:50:25] <Gekz> DONT KILL THE LADIES
[13:50:30] <fuzzie> i would rather that gemrb concentrated on pst than bg2, really :)
[13:50:45] <fuzzie> but technically it is probably best to make it work for bg2 and then add the hacks for pst
[13:51:18] <fuzzie> Gekz: you could always try a speedrun of pst in gemrb and make a list like lynx's :)
[13:51:33] <fuzzie> i guess you have to have made sure you played it properly first, though
[13:52:56] <fuzzie> the whole "being dead" thing is a huge pain, queued actions still run for a while :(
[13:53:12] <fuzzie> that only breaks side quests in bg2 though
[13:53:33] <fuzzie> Avenger: ok, so what do you work on? i don't want to do the same code :)
[13:54:08] <Avenger> it is unlikely, i just compare opcodes between engine versions now
[13:54:25] <Gekz> I sleep niw
[13:54:26] <Gekz> bais
[13:54:32] <Avenger> bye gekz
[13:55:19] <fuzzie> lynxlynxlynx: is that goblin haste spell fixed by other changes, do you know?
[13:57:15] <fuzzie> meh, i really have to write all this trigger stuff
[13:58:43] <lynxlynxlynx> *golem
[13:58:45] <lynxlynxlynx> i'll recheck
[13:59:18] <lynxlynxlynx> nope, still broken
[13:59:26] <fuzzie> oh, i misread. sorry. never mind then
[14:00:22] --> kingron has joined #gemrb
[14:03:28] <Avenger> hmm i think i can check that
[14:03:37] <Avenger> that's probably projectile specific :)
[14:04:53] <Avenger> lynx: what is known about the bug?
[14:04:59] <Avenger> got a save?
[14:06:11] <Avenger> spin978 with inareapa projectile
[14:06:13] <Avenger> i guess
[14:07:10] <fuzzie> Avenger: do you understand the patch which makes PickPocketFailed work?
[14:07:20] <fuzzie> i just wonder if the original engine calls a function or just sets a variable
[14:07:25] <Avenger> no
[14:07:41] <Avenger> i don't know about any patch
[14:08:01] <fuzzie> it's part of the revised thievery mod
[14:08:24] <fuzzie> it patches the exe to do PickPocketFailed instead of Enemy, and then patches every script to handle it..
[14:10:47] <fuzzie> it simply does "WRITE_LONG 0x5437B2 0xAA5F22"
[14:12:47] <fuzzie> and i wondered if you could work out what that does, because i guess it patches in the middle of an instruction
[14:13:04] <lynxlynxlynx> Avenger: use the kurtulmak save
[14:13:31] <lynxlynxlynx> in the starting area, near the topmost entrance to the kurtulmak's area, there's a room with a clay golem in it
[14:14:07] <lynxlynxlynx> immune to effect: State:Hasted <-- interesting though
[14:14:27] <lynxlynxlynx> it is correct for monks, but i get the message i'm hasted and i get the portrait icon
[14:15:20] <Avenger> and the golem isn't hasted, iguess
[14:15:35] <Avenger> it seems the projectile always works like it was casted by a friendly
[14:15:42] <Avenger> at least, that's in the code :)
[14:15:57] <Avenger> it doesn't check if the caster of the projectile is enemy or friend
[14:21:34] <Avenger> now i see 'clay golem - hasted'
[14:21:47] <Avenger> and don't see anything on me
[14:22:13] <Avenger> the golem has ugly attack anims, though
[14:22:19] <Avenger> lots of anims are ugly
[14:22:43] <fuzzie> in the original?
[14:24:19] <Avenger> in gemrb :)
[14:25:37] <fuzzie> well, our avatars.2da is so difficult to fix
[14:26:14] <fuzzie> while we still have enemies disappearing because we use a blank cycle, it is difficult to be motivated to fix anything else..
[14:29:47] <fuzzie> maybe gemrb could detect blank cycles and print a message, for debugging purposes?
[14:38:12] <Avenger> yep
[14:38:29] <Avenger> but there are more than anims that wrong in attack
[14:38:50] <Avenger> i still didn't figure it out what causes me keep attacking a dead target
[14:39:08] <fuzzie> is it just the animation that happens?
[14:39:15] <Avenger> ahh, and i just realized, the saving throws are wrong
[14:39:22] <fuzzie> there's a bug where you really keep trying to attack a dead target, complete with many errors on console, and i'm sure that is my fault
[14:39:48] <Avenger> the order of the saving throw stats is not the same as the bit order in the saving throw type field
[14:39:49] <fuzzie> i don't recheck ValidTarget when storing actors
[14:40:00] <fuzzie> but i'm busy rewriting that code again at the moment
[14:40:08] <Avenger> yes, i see console messages
[14:40:19] <Avenger> it needs a cr/lf too :)
[14:40:39] <Avenger> ok, i submit at least the projectile fix
[14:40:44] <fuzzie> well, you can fix the cr/lf, the errors are in PerformAttack :)
[14:40:44] <-- Avenger has left IRC ("ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]")
[14:46:52] <CIA-22> gemrb: 03avenger_teambg * r6994 10/gemrb/trunk/gemrb/plugins/Core/Projectile.cpp: consider the caster of a projectile when determining the enemy/ally target flags
[14:58:08] <CIA-22> gemrb: 03avenger_teambg * r6995 10/gemrb/trunk/gemrb/plugins/Core/Actor.cpp: saving throw order
[15:00:46] <-- kingron has left IRC (Remote closed the connection)
[15:01:16] <-- raevol has left IRC (orwell.freenode.net irc.freenode.net)
[15:01:36] --> raevol has joined #GemRb
[15:03:07] --> tombhadAC has joined #gemrb
[15:04:05] <-- tombhadAC has left IRC (Read error: 54 (Connection reset by peer))
[15:04:33] <fuzzie> lynxlynxlynx: do you have a save in the dungeon with your high-level monk?
[15:04:39] <fuzzie> i mean, at the start
[15:04:54] <fuzzie> i'm making a lot of changes and i'd like to test it somewhere i know things work already
[15:05:43] --> barra_away has joined #gemrb
[15:13:28] <fuzzie> gemrb won't let me equip a buckler on minsc
[15:13:36] <fuzzie> 'item has no usable ability', it says
[15:21:05] <CIA-22> gemrb: 03fuzzie * r6996 10/gemrb/trunk/gemrb/plugins/Core/Triggers.cpp: fix IsOverMe
[15:21:53] <fuzzie> you won't have noticed those bugs in your run for the most part, i guess, because you only had one party member so [PC] matching would always work
[15:22:01] --> Avenger has joined #gemrb
[15:22:18] <fuzzie> hi again, Avenger
[15:22:26] <Avenger> hi
[15:22:40] <fuzzie> do you think my last commit is ok? i just copied your code, mostly
[15:23:01] <fuzzie> also, do you know why trying to equip a buckler or small shield on minsc gives me 'item has no usable ability'?
[15:23:20] <fuzzie> oh, maybe it's two-handed weapon!
[15:23:49] <Avenger> haha no
[15:24:01] <fuzzie> no, it happens always
[15:24:09] <fuzzie> it would be nice to fix that, if you know what's wrong :)
[15:24:11] <Avenger> the problem is that the shield slot allows weapons
[15:24:22] <Avenger> and i now check weapons
[15:24:53] <Avenger> it should probably check only certain item types
[15:25:17] <-- barraAway has left IRC (Success)
[15:25:18] <Avenger> no shield will have a weapon header :)
[15:27:03] <Avenger> lets see if this quick hack works
[15:27:07] <CIA-22> gemrb: 03avenger_teambg * r6997 10/gemrb/trunk/gemrb/plugins/Core/Interface.cpp: allow shields in the shield slot :)
[15:27:48] <fuzzie> ok, i'll try
[15:28:37] <fuzzie> perfect :)
[15:29:45] <CIA-22> gemrb: 03avenger_teambg * r6998 10/gemrb/trunk/gemrb/plugins/Core/Actor.cpp: some cr/lf
[15:29:50] <Avenger> it should still disable equipping of garbage in the quick slots
[15:30:14] <Avenger> like the gagged man in the sanity riddle quest
[15:31:59] <fuzzie> do you know what's happening with map notes?
[15:33:22] <Avenger> something is eating them?
[15:33:25] <Avenger> aahh
[15:33:35] <Avenger> maybe you just need to click on the 'display map notes' flag
[15:34:43] <Avenger> the button in the top left corner
[15:34:45] <fuzzie> aha
[15:34:51] <fuzzie> that should be on by default?
[15:34:53] <Avenger> is it on by default?
[15:34:56] <fuzzie> i never used that button before
[15:35:09] <Avenger> well, this is guiscript stuff
[15:35:13] <Avenger> easy to fix
[15:35:32] <Avenger> that button is controlled by the MapControl's associated variable
[15:35:34] <fuzzie> the mouseover of the notes doesn't work properly either, i have to move the mouse to the top-left to get the text
[15:35:45] <Avenger> yes
[15:35:48] <Avenger> that's true
[15:35:56] <Avenger> you could fix it?
[15:36:05] <fuzzie> i just mention things which are annoying :) i will add it to my list
[15:36:09] <Avenger> there is some sprite collission detection
[15:36:26] <fuzzie> i'm rewriting triggers, which is a lot of code
[15:36:41] <fuzzie> but after that lynx says that there's still a showstopper with Mislead?
[15:36:54] <Avenger> meh
[15:37:01] <Avenger> what's wrong with mislead
[15:37:14] <fuzzie> i don't know :)
[15:37:25] <fuzzie> but lynx says it's not just the invisibility not disappearing, it doesn't work at all somehow
[15:37:56] <fuzzie> that will be the last game breaker, i think
[15:38:53] <Avenger> hmm the map notes are intended to be turned
[15:40:21] <Avenger> k found it
[15:40:34] <CIA-22> gemrb: 03avenger_teambg * r6999 10/gemrb/trunk/gemrb/GUIScripts/bg2/GUIMA.py: show map notes by default
[15:40:52] <fuzzie> thankyou
[15:40:54] <Avenger> heh, next committer will win the 7000th commit
[15:41:10] <fuzzie> quick, go fix something :)
[15:43:37] <Avenger> oops
[15:43:44] <Avenger> this will be ugly
[15:43:47] <CIA-22> gemrb: 03avenger_teambg * r7000 10/gemrb/trunk/gemrb/GUIScripts/bg2/GUIMA.py: (log message trimmed)
[15:43:47] <CIA-22> gemrb: 7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000
[15:43:47] <CIA-22> gemrb: :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000
[15:43:47] <CIA-22> gemrb: :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000
[15:43:48] <CIA-22> gemrb: :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000
[15:43:50] <CIA-22> gemrb: :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000
[15:43:52] <CIA-22> gemrb: :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000 :)7000
[15:43:56] <Avenger> doh
[15:44:09] <Avenger> good that cia trimmed it
[15:44:27] <fuzzie> heh
[15:45:36] <Avenger> this is what you get when you tell me to be quick
[15:45:55] <fuzzie> so, wow, 7000 commits :)
[15:46:03] <Avenger> yeah
[15:46:26] <fuzzie> and you made more than half of them
[15:46:31] <Avenger> and the last 1000 came faster
[15:46:34] <wjp> in 3 months
[15:46:42] <wjp> very nice :-)
[15:47:27] <Avenger> i don't know how much it took to crank out the first 1000, but it took more than a year for sure
[15:49:15] <wjp> actually only two months :-)
[15:49:21] <Avenger> oh?
[15:49:45] <Avenger> how can i get that statistics? just look up the commits manually?
[15:49:51] <wjp> yeah
[15:50:10] <Avenger> 2 months? omg
[15:50:23] <fuzzie> i see 3 months
[15:50:23] <Avenger> only balrog worked that time
[15:50:29] <fuzzie> oh, no, my math is wrong
[15:50:53] <fuzzie> it is a pity that balrog gave up
[15:51:52] <Avenger> heh, actually i was the 1000th :)
[15:51:59] <wjp> 1: 2003-10-15, 1000: 2003-12-08, 2000: 2004-04-13, 3000: 2005-02-28, 4000: 2006-07-23, 5000: 2008-01-22, 6000: 2009-05-18, 7000: 2009-08-21
[15:52:23] <fuzzie> Avenger: Taimon just dumped a lot of information about spawns
[15:52:32] <Avenger> good
[15:52:41] <Avenger> i will add it to ielister/dltcep for sure
[15:52:55] <Avenger> not sure how much will go into gemrb itself :)
[15:53:05] <Avenger> at least in the near future
[15:56:42] <Avenger> yes, it seems in the very beginning we were faster
[15:58:10] <fuzzie> it is easy to add things when everything is missing, i guess :)
[15:58:27] <Avenger> hehe, yeah
[16:00:59] <Avenger> the big gap is between 5000 and 6000
[16:01:08] <Avenger> err 4000 and 5000
[16:02:03] <fuzzie> Avenger: why does DLTCEP decompile [0] as 'anything'?
[16:02:05] <fuzzie> did i miss a checkbox?
[16:02:25] <Avenger> no, it is dltcep's quirk
[16:02:32] <Avenger> err, you can use weidu for decompile
[16:02:34] <fuzzie> it means i can't recompile the script
[16:02:40] <fuzzie> so i have to use weidu for decompile, and this is slow
[16:03:01] <Avenger> yes, you better use weidu for de/re compile
[16:03:02] <fuzzie> it is no great problem, i just wondered if you knew about it
[16:03:17] <Avenger> i know, but i didn't get to it
[16:03:26] <Avenger> [0] is truly anything, isn't it?
[16:03:31] <fuzzie> yes
[16:03:49] <fuzzie> well, "anything within sight that isn't me" :)
[16:03:57] <Avenger> yep
[16:04:40] <Avenger> maybe weidu has some other symbol for that entity
[16:04:54] <fuzzie> it decompiles it to [0]
[16:04:54] <Avenger> i will have to use that
[16:11:22] <fuzzie> ok, the sight check for dialogs is only when we check distance, so no new flag needed
[16:11:34] --> tombhadAC has joined #gemrb
[16:21:24] <Avenger> good
[16:28:27] <fuzzie> ok, if i save an edited ARE in dltcep, must i manually extract the TIS also?
[16:32:40] <fuzzie> ok, apparently hitting enter in the import dialog crashes bg2. must not do that.
[16:33:20] <Avenger> crashes bg2?
[16:33:32] <Avenger> must be some buggy file
[16:33:34] <fuzzie> i mean, the original engine
[16:33:40] <fuzzie> it works fine if i click the buttons
[16:33:44] <Avenger> O_o
[16:33:59] <Avenger> i'll test that
[16:36:23] <-- Avenger has left IRC ("bye!")
[16:40:51] <lynxlynxlynx> nice
[16:40:56] <lynxlynxlynx> it was just turned off
[16:41:15] <fuzzie> turned off?
[16:41:21] <fuzzie> oh, the map notes :)
[16:41:39] <fuzzie> so i made a True() script for a door and it runs always
[16:44:23] <lynxlynxlynx> if you by dungeon mean spellhold, i have one save just before you enter the building
[16:48:31] <CIA-22> gemrb: 03lynxlupodian * r7001 10/gemrb/trunk/gemrb/GUIScripts/bg1/Start.py: bg1: preload the common tables too
[16:50:11] <-- tombhadAC has left IRC (Remote closed the connection)
[17:05:01] <CIA-22> gemrb: 03lynxlupodian * r7002 10/gemrb/trunk/gemrb/GUIScripts/ (LUCommon.py bg1/LevelUp.py bg2/LevelUp.py):
[17:05:01] <CIA-22> gemrb: moved ReactivateBaseClass to LUCommon and started preparing LevelUp to be
[17:05:01] <CIA-22> gemrb: bg version agnostic
[17:07:32] <fuzzie> lynxlynxlynx: i mean right at the beginning, but i made one now :) thanks
[17:08:12] <lynxlynxlynx> the beginning of what?
[17:08:35] <fuzzie> bg2
[17:08:49] <lynxlynxlynx> oh, ci
[17:09:10] <lynxlynxlynx> we'll have to runs by release time? :)
[17:09:44] <fuzzie> i don't intend to do a full run :)
[17:09:45] <CIA-22> gemrb: 03lynxlupodian * r7003 10/gemrb/trunk/gemrb/GUIScripts/ (LUCommon.py bg1/LevelUp.py bg2/CharGen4.py bg2/LevelUp.py): moved GetNextLevelFromExp to LUCommon
[17:09:57] <fuzzie> but my local copy rewrites triggers
[17:10:11] <fuzzie> which is a big change
[17:10:50] <lynxlynxlynx> i need to think a bit more about the damage resistance
[17:11:51] <lynxlynxlynx> which data structure would you suggest for them? I need sparse array indices, so the lookup by type will be simple
[17:14:08] <lynxlynxlynx> i can attack through closed doors :s
[17:23:43] <fuzzie> huh, i thought Avenger fixed that recently, i'll have to look closer
[17:24:18] <fuzzie> and, well, a std::map is best for sparseness like that, but maybe it's overkill for your needs and a switch statement would do? i don't know quite what you'd need
[17:26:39] <fuzzie> oh, no, Avenger removed the sight code!
[17:26:44] <fuzzie> that is not so good :)
[17:27:15] <fuzzie> i guess leaving commented-out code around without comments is a bad idea :)
[17:29:28] --> kingron has joined #gemrb
[17:33:00] <fuzzie> in the original game I seemed to be able to shoot missile weapons through walls, sometimes
[17:33:10] <fuzzie> I wonder if that's always the case or if I just found a bug
[18:36:48] <-- kingron has left IRC (Remote closed the connection)
[19:26:02] <-- xrogaan has left IRC ("Why ?")
[19:26:33] <fuzzie> ok, here i am home again
[19:31:18] <lynxlynxlynx> me too
[19:33:41] <lynxlynxlynx> i want to load a 2da into memory which will hold a map of damage types to their strings and resistance stats
[19:34:49] <fuzzie> well, a std::map<ieDword, resistinfo> would work, with a resistinfo struct
[19:35:20] <lynxlynxlynx> ok
[19:35:32] <fuzzie> you can access that like an array with varname[damagetype]
[19:36:24] <lynxlynxlynx> and then the member
[19:36:46] <lynxlynxlynx> btw, i again get canary messages on gemrb exit
[19:37:11] <fuzzie> and check if an entry exists with 'varname.find(damagetype) != varname.end()'
[19:37:38] <fuzzie> which is important if it's sparse, since you can't simply check if it's in bounds..
[19:38:02] <fuzzie> always canary messages, or just sometimes?
[19:38:22] <lynxlynxlynx> i'll retry
[19:38:56] <lynxlynxlynx> not always :)
[19:40:14] <fuzzie> btw, if you do have a save at the start of spellhold, i'd appreciate it
[19:40:31] <fuzzie> i think some of these later bugs are actually because it went wrong quite early
[19:41:13] <fuzzie> and i still have no idea of what truly goes wrong with galvena/vadek
[19:41:55] <lynxlynxlynx> i'm pretty sure it's nothing action related
[19:43:44] <fuzzie> yes, it would just be nice to fix all blockers
[19:44:47] <fuzzie> and maybe Avenger must fix it, but without knowing what breaks, difficult :)
[19:48:05] <CIA-22> gemrb: 03wjpalenstijn * r7004 10/gemrb/trunk/gemrb/plugins/Core/Projectile.cpp: Fix warning
[19:48:14] --> tombhadAC has joined #gemrb
[19:48:18] --> Avenger has joined #gemrb
[19:48:24] --- ChanServ gives channel operator status to Avenger
[19:50:22] <lynxlynxlynx> it's is hard to explain if you don't catch the timing
[19:50:55] <lynxlynxlynx> Avenger: i'm not sure if you were here when we were talking about illusion spells (mislead, project image, simulacrum)
[19:51:12] <Avenger> just that something is wrong with them
[19:51:14] <lynxlynxlynx> for them the unsummon effect is applied to the caster instead of on the illusion
[19:51:26] <Avenger> heh
[19:51:34] <Avenger> that's surely not good :)
[19:51:54] <Avenger> so that's what you want me to fix, i guess?
[19:52:49] <Avenger> lets see, if i recall, i just convert the effect to unsummon
[19:53:50] <Avenger> well, i don't quite see the problem, it is applied on the copy...
[19:55:47] <lynxlynxlynx> is the debug dump a good way to check this?
[19:55:53] <lynxlynxlynx> here the effect is on the caster
[19:56:02] <Avenger> unummon?
[19:56:11] <fuzzie> ApplyEffect has some 'bounce back' code
[19:56:12] <Avenger> unsummon?
[19:56:15] <fuzzie> maybe that is to blame?
[19:56:18] <Avenger> heh
[19:56:38] <fuzzie> maybe add a printf in there
[19:56:40] <lynxlynxlynx> 57: 0x44: UnsummonCreature (0, 0) S:spwi607
[19:56:50] <fuzzie> Interface::ApplyEffect
[19:57:20] <Avenger> i know there is bounce, but why would it bounce
[19:57:26] <lynxlynxlynx> what i see as interesting is that some of the effects have a source of S:spwi607 while others S:mislead
[19:57:51] <Avenger> mislead is also applied on the image
[19:58:03] <Avenger> Actor *copy = target->CopySelf();
[19:58:22] <Avenger> hmm wait
[19:58:34] <Avenger> what would put the copy in the area, maybe copyself...
[19:58:52] <lynxlynxlynx> 58: 0x14: State:Invisible (0, 1) S:spwi607 <-- this is correct
[19:58:57] <Avenger> ah yes
[19:59:11] <lynxlynxlynx> the ones with mislead should probably only apply to the illusion
[19:59:30] <Avenger> it copies the running effects
[19:59:33] <lynxlynxlynx> i mean the caster; AttacksPerRoundModifier and MovementRateModifier are set so you can't attack
[20:00:00] <Avenger> well, they are set by using 'self', i guess
[20:00:02] <Avenger> lemme see
[20:00:21] <lynxlynxlynx> now that the spell has expired, both actors have the same effect list
[20:00:37] <Avenger> oops
[20:00:39] <Avenger> wait
[20:00:47] <Avenger> it seems mislead should be applied on the caster?
[20:01:19] <lynxlynxlynx> yes
[20:01:19] <Avenger> no it should be the copy
[20:01:50] <lynxlynxlynx> ah no, you're right, i checked the description
[20:01:57] <lynxlynxlynx> the illusion can't attack or cast
[20:02:00] <Avenger> mislead should be applied on the copy
[20:02:12] <Avenger> but i don't do that correctly
[20:02:25] <Avenger> because the mislead spell pack is using the caster as caster
[20:02:33] <Avenger> so 'self' would not work on the image
[20:02:36] <Avenger> meh
[20:02:38] <Avenger> gotta change that
[20:03:03] <Avenger> go to line 5079
[20:03:14] <Avenger> change it to core->ApplySpell(resref,copy,copy,0);
[20:03:30] <Avenger> this will solve all bouncing problems as well :)
[20:03:43] <Avenger> bounce is not working when caster is the same, hehe
[20:04:33] <Avenger> i guess i know what's wrong with unsummon too
[20:04:56] <Avenger> core->ApplyEffect(newfx, copy, copy);
[20:04:57] <Avenger> :)
[20:05:05] <Avenger> that will surely fix the unsummon too
[20:05:25] <lynxlynxlynx> the first did fix the mislead part
[20:05:47] <Avenger> *squee*
[20:05:54] <lynxlynxlynx> looks good
[20:05:57] <lynxlynxlynx> will wait it out
[20:06:06] <Avenger> ctrl-m ?
[20:06:11] <lynxlynxlynx> yes, good
[20:06:18] <Avenger> oki, double squee ;)
[20:06:22] <fuzzie> just want to make sure the gamebreaker is fixed, i guess
[20:06:33] <Avenger> is this a gamebreaker?
[20:06:34] <lynxlynxlynx> if the illusion is killed, would the invisibility effect on the caster be dropped?
[20:06:45] <lynxlynxlynx> part of it, yes
[20:06:48] <Avenger> no, would it be dropped irl?
[20:06:57] <lynxlynxlynx> yes
[20:07:00] <Avenger> i mean, in the IE
[20:07:08] <Avenger> huh
[20:07:20] <Avenger> well, there is a large code
[20:07:22] <fuzzie> you don't see that in the original opcode?
[20:07:35] <Avenger> i don't read it fluently
[20:07:37] <lynxlynxlynx> maybe i'm confusing it with project image
[20:07:44] <Avenger> just like one reads ancient pergamens
[20:07:52] <lynxlynxlynx> i see nothing explicit in the description, so just ignore it for now
[20:08:08] <Avenger> well, with a few degrees of archeology and ancient languages, but not as a native :)
[20:08:37] <Avenger> but theoretically, the code can detect if the target is dead
[20:08:57] <Avenger> there is a linkage between the image and the caster
[20:09:12] <Avenger> so both could theoretically 'know' if the link is broken
[20:09:27] <Avenger> and that could trigger some effects
[20:09:36] <Avenger> gotta read the code more :)
[20:10:20] --> |Cable| has joined #gemrb
[20:10:30] <fuzzie> Avenger: btw, door scripts always run
[20:10:42] <Avenger> no.. really?
[20:10:53] <fuzzie> open, closed, whatever, the True() block starts displaying messages at area load :)
[20:11:10] <Avenger> incredible :)
[20:11:20] <fuzzie> so that makes scheduling simpler, i hope
[20:11:30] <Avenger> i was deadly sure they activate on first trigger
[20:11:31] <lynxlynxlynx> bah, still no good
[20:11:36] <fuzzie> maybe it was changed in a patch or something, i'll have to check bg1 etc
[20:11:42] <lynxlynxlynx> the unsummon effect already expired
[20:11:43] <Avenger> what happens now lynx?
[20:11:47] <lynxlynxlynx> the illusion is still there
[20:11:48] <Avenger> meh
[20:11:59] <Avenger> oh well
[20:12:13] <fuzzie> and this breaks the scripting still?
[20:12:16] <Avenger> the unsummon surely needs to be changed to
[20:12:32] <Avenger> hmm but it is good
[20:12:52] <lynxlynxlynx> true sight didn't help, but that's good, since the illusion is my ally
[20:12:52] <Avenger> it is created by the same code which makes the summons vanish
[20:13:45] <Avenger> well, this isn't a simple int +1 opcode :D
[20:14:02] <lynxlynxlynx> cool, tenser seems to work
[20:14:17] <Avenger> i implemented only about half or less than half of the original puppetmaster/puppetid code
[20:23:18] <lynxlynxlynx> hey, this fixed the problems
[20:23:30] <lynxlynxlynx> galvena's pet is not a problem anymore
[20:23:34] <fuzzie> :)
[20:23:47] <fuzzie> so i just need to finish this trigger stuff for the tree of life?
[20:24:08] <lynxlynxlynx> the mislead copy was interesting though, its tooltip displayed the exact hp
[20:24:15] <lynxlynxlynx> fuzzie: looks like it
[20:24:26] <fuzzie> squee :)
[20:41:50] --> Pygma has joined #gemrb
[20:42:02] <Avenger> hmm, simulacrums get a level drain effect for free, i guess this makes them lower level than the caster
[20:43:04] <lynxlynxlynx> yes, that's right
[20:43:30] <lynxlynxlynx> this is a nice indicator that level drain should affect the spellbook too
[20:50:10] <fuzzie> have to be careful not to wipe it
[20:50:24] <fuzzie> which seems not to happen with level drain, only when you remove metaspell amulet or whatever
[20:50:50] <Avenger> yes, that i know
[20:50:56] <Avenger> i see the code in leveldrain
[20:51:02] <Avenger> but i don't know how it does
[20:51:04] <lynxlynxlynx> it doesn't wipe the remembered spells?
[20:51:18] <lynxlynxlynx> then simulacrum is using another effect for that
[20:51:23] <fuzzie> well, i *think* i tested it recently and it doesn't wipe the remembered spells
[20:51:40] <Avenger> i just see that it touches the memorised spell counts
[20:51:51] <fuzzie> i mean, it removes them so you can't cast, but when you're un-level-drained then you don't have to go click the spells again, i mean
[20:51:51] <Avenger> i see 7 (for priest spells) and 9 for mage spells
[20:52:04] <lynxlynxlynx> oh
[20:52:21] <Avenger> it does a lot of things
[20:52:31] <Avenger> it reduces thieving skills and lore and saving throws
[20:52:58] <Avenger> it somehow calculates how much thieving skills you must lose
[20:53:26] <Avenger> and subtracts the points from your current skills, but uses some kind of weight system
[20:53:26] <fuzzie> i guess that's something you can probably only find from the opcode disasm..
[20:54:53] <Avenger> it does something like for(i=0;i<level;i++) { do_something_nasty_to_your_spell_page(i) } where level is 7 for priests and 9 for mages ;)
[20:55:26] <Avenger> i think it reduces the memorisable spells for that level
[20:55:55] <fuzzie> is that simply the maximum level of spells which exist in the game?
[20:55:57] <Avenger> if you lose more memorisable spells than your free slots, you lose memorised spells too
[20:56:10] <Avenger> yes, 7 for priest, 9 for mage
[20:56:36] <Avenger> it doesn't touch 'known' spells
[20:56:41] <Avenger> just memorised spells
[20:56:52] <fuzzie> ok, that is what i was trying to say above :)
[20:57:46] <Avenger> i think it asks the system how many spells you may know on a level
[20:57:59] <Avenger> and sets the memorisable spell counts according to the level
[20:58:38] <lynxlynxlynx> fuzzie: known means in the spellbook as the choice for memorisation
[20:59:00] <lynxlynxlynx> preserving that choice will be bleh
[21:02:22] <lynxlynxlynx> found a bug from the bg1 merge
[21:05:06] <Avenger> i don't think it preserves the choices
[21:06:25] <lynxlynxlynx> she said the opposite, so we'll need to test it
[21:07:11] <lynxlynxlynx> from what little memory i have, i'd agree with you though
[21:07:59] <fuzzie> well, i'll have to test it again
[21:08:31] <fuzzie> google result seem to agree with you two and not me
[21:08:55] <Avenger> oh damn, i misread something for a long long time
[21:09:16] <Avenger> i didn't find where is the mislead script created
[21:09:29] <Avenger> http://forums.gibberlings3.net/index.php?showtopic=17364
[21:09:54] <Avenger> i thought that the '4d' i see there is a portrait icon index :)
[21:10:25] <fuzzie> yes, everyone on google says that level drain zaps spells permanently
[21:10:30] <fuzzie> weird, i wonder what i was looking at
[21:10:33] <lynxlynxlynx> fuzzie: can you please check if you have a weapprof.2da in bg1? It isn't listed in the iesdp, but we apparently use it
[21:10:43] <Avenger> 4d is the letter M, right?
[21:10:56] <fuzzie> lynxlynxlynx: it's in gemrb's override
[21:12:07] <fuzzie> by which i mean, it isn't in the original, we provide one
[21:12:47] <fuzzie> heh, you can cast restoration on copies of yourself :)
[21:13:24] <fuzzie> Avenger: yes
[21:34:12] <Avenger> ok lynx, i will upload some nice surprise :) irenicus image will get its mislead script
[21:34:40] <-- Avenger has left IRC ("ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]")
[21:35:37] <lynxlynxlynx> mhmm
[21:39:23] <CIA-22> gemrb: 03avenger_teambg * r7005 10/gemrb/trunk/gemrb/plugins/FXOpcodes/FXOpc.cpp: improved 0xec copyself opcode (project image/mislead/simulacrum)
[21:39:55] --> Avenger has joined #gemrb
[21:39:59] --- ChanServ gives channel operator status to Avenger
[21:40:54] <fuzzie> cool :)
[21:41:53] <lynxlynxlynx> let's see if the final battle is more interesting now
[21:42:17] <Avenger> well, now the mislead image should act
[21:44:12] <lynxlynxlynx> meh, the final save doesn't work
[21:44:33] <lynxlynxlynx> could be a new action issue
[21:44:40] <Avenger> you mean the 'finalsave' action?
[21:44:47] <lynxlynxlynx> no
[21:45:00] <fuzzie> got a script to look at? or several?
[21:45:06] <lynxlynxlynx> i loaded the save and when i insert the last tear, i get the bonus, but the rest doesn't trigger
[21:45:17] <lynxlynxlynx> ar2900
[21:45:25] <lynxlynxlynx> the eye animation is still looping
[21:46:09] <lynxlynxlynx> teardoor
[21:46:25] <fuzzie> what's the TearDoor global set to?
[21:46:59] <lynxlynxlynx> 1
[21:47:47] <lynxlynxlynx> ah, i have all the TearEye* at 0 except for the just inserted one
[21:48:12] <lynxlynxlynx> bah, NEVERMIND
[21:48:23] <fuzzie> heh ,ok :)
[21:48:24] <lynxlynxlynx> the finalsave is made as you enter hell, not before the final battle
[21:48:28] <Avenger> did you insert them in the save?
[21:48:42] <lynxlynxlynx> i lost the final battle save
[21:48:52] <lynxlynxlynx> i'll just cheat them in
[21:48:55] <Avenger> hehe
[21:49:05] <Avenger> do you know the items?
[21:49:26] <lynxlynxlynx> miscb*
[21:49:28] <fuzzie> the items are in the script, just miscb5 :)
[21:49:29] <Avenger> miscb5-9
[21:49:33] <fuzzie> and etc
[21:49:52] <lynxlynxlynx> but it looks like it would be easier to replay, since there are other vars to set
[21:49:56] <lynxlynxlynx> good or evil path
[21:50:40] <Avenger> not really needed
[21:50:49] <Avenger> they will default to the good path it seems
[21:51:42] <fuzzie> well, if there are bugs then i guess replay :)
[21:56:03] <lynxlynxlynx> the illusion is an active annoyance now
[21:56:27] <lynxlynxlynx> until it teleported further
[21:57:04] <lynxlynxlynx> actually it more looks like it is the reverse
[21:57:11] <lynxlynxlynx> the illusion just stands there
[21:58:32] <lynxlynxlynx> it has no unsummon effect, i see the PuppetMarker though
[21:59:37] <lynxlynxlynx> ah, looks ok
[22:00:28] <fuzzie> not gamebreaking?
[22:00:46] <lynxlynxlynx> no, it is correct that the illusion can't cast spells or attack for mislead
[22:02:56] <Avenger> the no unsummon effect sucks
[22:03:27] <fuzzie> i fear that we'll have to do occasional speedruns every few weeks, to make sure everything still works
[22:03:44] <fuzzie> there are not many big changes left to do, though
[22:03:45] <Avenger> lynx is expert speedrunner
[22:04:13] <fuzzie> i am still testing the triggers in the original game, but i'll have them done before the end of the weekend, as well as fixing the action targets
[22:04:22] <fuzzie> and then i hope we're good :)
[22:04:32] <lynxlynxlynx> i'll add damage resistance
[22:04:46] <lynxlynxlynx> didn't have much luck with that monk unhardcoding btw
[22:05:06] <lynxlynxlynx> [GameScript]: Failed to create effect.Residue action 31 with refcount 7
[22:05:08] <lynxlynxlynx> [GameScript]: Actionoverride failed for object:
[22:05:09] <lynxlynxlynx> Object: jondem05
[22:05:17] <lynxlynxlynx> just as he is finally dying
[22:06:02] <Avenger> hmm
[22:06:05] <fuzzie> the effect error is just an animation
[22:06:35] <fuzzie> does jondem05 die?
[22:06:57] <lynxlynxlynx> likely
[22:07:03] <fuzzie> the error should be harmless
[22:07:05] <lynxlynxlynx> i think it's helljon2.cre
[22:07:07] <lynxlynxlynx> ok
[22:07:08] <fuzzie> i don't know about the residue action though
[22:07:28] <fuzzie> does it break the game?
[22:07:31] <lynxlynxlynx> nope
[22:07:39] <lynxlynxlynx> it was just a heads up
[22:08:07] <Avenger> 31 spell
[22:08:08] <lynxlynxlynx> maybe the residue was from the slayer form which i had to cheatkill, since it is too powerful and my monk suddenly had only 1 apr
[22:08:56] <Avenger> i think spell opcode might forget to free itself
[22:09:01] <Avenger> err spell action
[22:09:15] <Avenger> missing releasecurrentaction, i think
[22:09:17] <fuzzie> does it need to?
[22:09:26] <Avenger> it is a blocker action
[22:10:04] <lynxlynxlynx> huh, the apr is bad in the other saves too
[22:10:10] <fuzzie> sure, but that should be cleared in all cases
[22:10:20] <fuzzie> unless something tries directly executing the action without going via the queue?
[22:10:58] <fuzzie> nope
[22:11:07] <Avenger> i don't know how that happens, but i always seen one or the other blocker action become residue
[22:11:24] <Avenger> 198 is another action that has this habit
[22:11:26] <fuzzie> yes, i'm sure i do something stupid
[22:11:47] <Avenger> StartDialogueNoSet
[22:11:58] <Avenger> no, this started before you ;)
[22:12:21] <Avenger> but it says refcount = 7
[22:12:35] <Avenger> so, i don't think it is because the actor died before finishing the action
[22:12:37] <-- lynxlynxlynx has left IRC (Read error: 104 (Connection reset by peer))
[22:13:01] <Avenger> so, it somehow should drop out from the queue, and get reexecuted
[22:13:33] <Avenger> i noticed this with the bhaal chase scene
[22:13:34] <fuzzie> i find it more likely that something does IncRef in the wrong place
[22:13:43] <Avenger> hmm
[22:13:45] <Avenger> good idea
[22:13:58] <Avenger> there is incref in the movenear code
[22:14:47] <Avenger> hmm or was..?
[22:15:00] <fuzzie> GoNearAndRetry was the old code
[22:15:10] <Avenger> there is no IncRef in GSUtils now
[22:15:13] <fuzzie> it was broken, i don't think we use it any more
[22:15:51] <Avenger> yeah, i removed some commented out lines
[22:15:52] <fuzzie> it's very important that we never make up actions, i should go through and remove all code which does
[22:15:59] <Avenger> IncRef is only in AddAction
[22:16:03] <fuzzie> you also removed some important comments
[22:16:18] <fuzzie> like the commented-out sight check in AttackCore :)
[22:16:34] <Avenger> well, it was commented out
[22:16:52] <fuzzie> i'll have to work out why it was commented out and add it back
[22:17:47] <fuzzie> the residue thing is strange, i don't see anything obvious..
[22:18:48] <fuzzie> GoNearAndRetry will leak an action, though
[22:19:20] <fuzzie> well, sometimes, when it can't reach the target
[22:19:48] <fuzzie> and Spell uses it, so there's the problem there
[22:20:31] <Avenger> we still have it?
[22:20:37] <fuzzie> yes, i guess i should fix that :)
[22:21:00] <fuzzie> GoNear uses a new pathfinder function, so i didn't want to use it too much
[22:22:06] <Avenger> well, a simplification among these GoNear functions could be done?
[22:22:23] <fuzzie> i should just remove GoNearAndRetry entirely, it is never correct to use it
[22:22:42] <fuzzie> and fix everything else to work properly
[22:22:45] <Avenger> sure do as you wish ;)
[22:22:55] <fuzzie> hehe, well, i am happy that i finally understand how things work
[22:23:20] <fuzzie> if only i understood effects or spells or the world map this well :)
[22:23:43] <Avenger> as far as i see, you don't generate a movetopoint action, but simply call actor->WalkTo
[22:23:53] <Avenger> that is surely cheaper and safer
[22:24:11] <fuzzie> yes, that is the trick
[22:24:57] <Avenger> but, where does Dialog use this old code ...
[22:25:17] <Avenger> i thought dialog and attack use the new one
[22:25:32] <fuzzie> well, Dialog has old-code (GoNear) for pst-style dialog
[22:25:44] <fuzzie> that is more complicated to replace, but i thought that path only happened for pst
[22:26:03] <Avenger> yes, but this isn't pst
[22:26:33] <Avenger> you are right, that is to move the pc nearer to objects that initiated talking
[22:26:44] <Avenger> so it is a kind of actionoverride
[22:26:51] <Avenger> but you can still use your trick
[22:27:08] <Avenger> just with a different way, maybe ForceNearerTo :)
[22:27:12] <fuzzie> yes :)
[22:27:49] <fuzzie> but the rest of the code looks fine
[22:28:09] <Avenger> anyway, i see no old code in the non-pst part, and it still leaks
[22:28:11] <fuzzie> if you don't call ReleaseCurrentAction then you simply remain the blocking action, and the blocking action is always released before it is deleted
[22:29:16] <fuzzie> hm that comment at the bottom is wrong :)
[22:29:20] <Avenger> movenearerto never calls AddAction*
[22:29:40] <Avenger> what comment
[22:29:49] <fuzzie> the one i added at the bottom of BeginDialog
[22:30:07] <Avenger> that's not just a comment
[22:30:09] <Avenger> :)
[22:30:37] <fuzzie> the code is ok, i hope!
[22:30:37] <Avenger> you say that SetWait is not needed?
[22:31:01] <Avenger> well i didn't try the bhaal chase since the fixes
[22:31:08] <fuzzie> it works ok now
[22:31:18] <fuzzie> Bhaal doesn't follow you for dialog and does follow you for attack
[22:31:31] <Avenger> shouldn't it follow you inside?
[22:31:42] <fuzzie> not for dialog, because it uses [PC]
[22:31:53] <Avenger> huh
[22:31:58] <fuzzie> simple to see in the original if you'd like, you can simply move to the area
[22:32:38] <fuzzie> ar0028 i think
[22:33:04] <Avenger> doesn't follow, yes
[22:33:15] <Avenger> in gemrb, at least
[22:33:30] <fuzzie> if we allow following then actors will follow you out of areas, and then their scripts break :)
[22:33:31] <Avenger> even stops moving!
[22:33:36] <fuzzie> yep, that's correct
[22:33:49] <fuzzie> because actions give up if they have no target
[22:34:22] <fuzzie> but it works fine for the attack, and then you can kill him, and everything works from there until the tree of life :)
[22:34:37] <Avenger> ok, the cutscene ends normally
[22:35:16] <Avenger> we should just see if the it follows while blue circled
[22:35:34] <fuzzie> it follows fine if you specify a named object
[22:36:10] <fuzzie> this is simple to check in the original engine too - Bhaal just has initdlg.bcs for that, so you can just open that in DLTCEP and change it to Player1 and see
[22:36:47] <fuzzie> that doesn't work in gemrb yet, but that's my fault
[22:40:51] <fuzzie> oh, it doesn't work in the original
[22:40:56] <fuzzie> Dialog is giving up when i go out of sight, weird
[22:42:28] <fuzzie> well, fine, try it with MoveToObject and you see that it works while blue circled :)
[22:42:42] <fuzzie> Dialog must have an in-sight check
[22:44:20] <fuzzie> the door scripts seem to run always even when i set weird flags, also
[22:45:48] <pupnik_> doors seem overcomplicated
[22:46:04] <fuzzie> yes :) but it makes it very nice to mod
[22:46:18] <pupnik_> ah k
[22:46:58] <pupnik_> they do form a central part of moving plot forward or blocking it
[22:47:06] <pupnik_> i mean element of control, whatever
[22:47:11] <pupnik_> need to make that flexible
[22:48:39] <fuzzie> ok, i tried all flags and changing things and breaking the door and nothing makes the script not run, so i declare that boring
[22:49:27] <fuzzie> i do find that i can't set launch points or edit polygons in DLTCEP, though
[22:49:39] <Avenger> why
[22:49:43] <fuzzie> it gives me an unresizable window which is higher than my screen
[22:49:50] <fuzzie> so i can't scroll!
[22:50:29] <Avenger> i think there is some option to set that window size
[22:50:48] <fuzzie> 'larger area window', i see
[22:51:08] <fuzzie> perfect :) you're amazing
[22:52:04] <Avenger> well, amazing if the small one fits your screen :)
[22:53:46] <Avenger> see you later
[22:53:51] <-- Avenger has left IRC ("bye!")
[23:03:02] <fuzzie> i'm trying to make Clicked([ANYONE]) work
[23:03:07] <fuzzie> i mean, in the original game
[23:03:09] <fuzzie> i can't ever make it trigger
[23:05:36] <fuzzie> oh, i did now
[23:12:29] <fuzzie> so i guess Clicked() only works on trigger/travel infopoints and Entered() only works on proximity infopoints, by the looks of it
[23:14:12] <fuzzie> and only Entered() cares about the Trapped state
[23:15:29] --> Edheldil has joined #gemrb
[23:15:29] --- ChanServ gives channel operator status to Edheldil
[23:15:59] <fuzzie> hi, Edheldil!
[23:17:16] <Edheldil> Hi, fuzzie. What's up?
[23:17:30] <fuzzie> well, we can almost complete bg2 in gemrb without cheating :)
[23:18:58] <Edheldil> nice :)
[23:23:31] <fuzzie> not truly exciting, but progress is always nice
[23:28:38] <fuzzie> ok, goodnight
[23:33:54] <Edheldil> good night