#gemrb@irc.freenode.net logs for 14 Jun 2009 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:54:26] <-- Gekz has left IRC (Read error: 54 (Connection reset by peer))
[01:00:17] --> Gekz has joined #GemRB
[06:55:04] --> Edheldil has joined #gemrb
[06:55:04] --- ChanServ gives channel operator status to Edheldil
[07:45:40] <-- Gekz has left IRC (Read error: 54 (Connection reset by peer))
[07:46:09] --> Gekz has joined #GemRB
[07:46:48] --> Avenger has joined #gemrb
[07:46:51] --- ChanServ gives channel operator status to Avenger
[07:46:56] <Avenger> hello
[08:05:57] <Avenger> something is wrong with dual classes :(
[08:07:28] <Avenger> i had a fighter, dualed to thief. it was 35 level thief, 18 level fighter. it had no xp for levelup but gemrb let me do a levelup. It leveled 'up' to level 30 :)
[08:07:52] <Avenger> and i can levelup again
[08:09:58] <Avenger> hla seem to forget what i already selected (or wants me reselect them), i got 2 hla's in red overlay, i couldn't select those. But i got more picks than valid selectable hla's so i'm stuck here
[08:10:08] <Avenger> the cancel button doesn't work
[08:12:24] <-- Avenger has left IRC ("bye!")
[08:41:40] <CIA-2> gemrb: 03avenger_teambg * r6421 10/gemrb/trunk/gemrb/plugins/Core/ (Actor.cpp Projectile.cpp Projectile.h):
[08:41:40] <CIA-2> gemrb: set max. morale to 20
[08:41:40] <CIA-2> gemrb: implemented projectiles without travel path (jump to target)
[08:47:42] <CIA-2> gemrb: 03avenger_teambg * r6422 10/chitem/trunk/ (13 files): dltcep 7.1c source
[08:51:22] <Gekz> a new dltcep?
[08:51:23] <Gekz> whats in it
[08:53:27] <fuzzie> i expect mostly gemrb-specific projectile flags :)
[08:53:31] <Gekz> lol
[08:53:33] <Gekz> I see.
[08:53:46] <fuzzie> the original engine has a lot of projectiles hard-coded into the exe file
[08:54:02] <Gekz> that's not sexy
[08:54:29] <fuzzie> we don't want to do that, so Avenger has been adding flags to the .pro format so that we can use moddable files instead.
[08:54:45] --> Avenger has joined #gemrb
[08:54:51] <Gekz> sexy
[08:54:54] <Gekz> Avenger: you are not
[08:54:57] * Gekz nods
[08:55:00] --- ChanServ gives channel operator status to Avenger
[08:55:13] <Avenger> i'm glad some male on the net doesn't find me sexy
[08:55:59] <Gekz> haha
[08:56:01] <Gekz> good call
[08:56:17] <Avenger> good morning fuzzie :)
[08:56:44] <fuzzie> morning :)
[08:56:49] <Avenger> new dltcep contains the spawn ini checks
[08:56:58] <fuzzie> ah, neat!
[08:57:32] <Avenger> did you read what i said about levelup with dual class?
[08:59:01] <fuzzie> Yes, it is strange. Maybe it's trying to level the fighter by mistake? Did you get thief skills?
[08:59:16] <Avenger> yes
[08:59:24] <fuzzie> I think the HLA thing is known to be broken, though :) It doesn't enable HLAs which depend on other HLAs, so they stay red.
[08:59:29] <Avenger> and my fighter only weapon skill was disabled again
[09:00:14] <Avenger> i think the buttons shouldn't be completely removed when i got stars in a skill, does the original engine behave like that?
[09:00:44] <Avenger> it might be enough to disable the buttons
[09:01:06] <fuzzie> Don't know :)
[09:01:26] <Avenger> me neither, this is the first time i see dual classes in work :)
[09:02:13] <Avenger> the definite bug is that i had level 35, and i was cut back to level 30 (after the fake levelup)
[09:02:28] <Avenger> i guess it took the current level from the old class slot
[09:03:32] <Avenger> i did the following in original game: got sarevok, dualed him to thief, gave him tons of xp, leveled him up to 35, save game
[09:05:00] <Avenger> back to hla's. Do you know if the dependency is hardcoded or in some 2da?
[09:07:15] <fuzzie> I thought it was all in the HLA. The comments seem to talk about it, but not make it work.
[09:07:30] <Avenger> yes i see
[09:07:40] <Avenger> the prerequisite is like GA_<hlaresref>
[09:08:03] <Avenger> so, if you learn what hla you got, you must prepend it with GA_ for direct string comparison
[09:08:17] <Avenger> i didn't check how mattinm does it
[09:09:42] <fuzzie> i'm not awake enough yet to work the HLA code out :) email the levelled save?
[09:10:08] <Avenger> i went back to windows
[09:10:12] <Avenger> no mail here
[09:10:46] <fuzzie> ok. i'll try it myself later.
[09:11:30] <Avenger> hmm he cuts the GA_ stuff with HLARef[3:], so maybe my guiscript code isn't working correctly
[09:14:15] --> zefklop has joined #gemrb
[09:15:49] <Avenger> hello zefklop
[09:16:03] <zefklop> hi avenger
[09:19:37] <Avenger> hmm, this bag closing/reopening spams a lot
[09:20:49] <Avenger> if there is a partyhasitem/hasitem action, it peeks into the bag. Maybe all bag type stores should be cached
[09:20:54] <fuzzie> the bag opening/closing code is kind of silly, it doesn't cache anything
[09:21:36] <fuzzie> but, yes, i modified the hasitem triggers to peek into the bags because otherwise scripts fail :)
[09:22:14] <Avenger> that's fine, bags should be scoured anyway
[09:23:30] <Avenger> i think the prerequisite stuff works, the problem is that i already have these hla's (because i shouldn't level up just now)
[09:24:41] <fuzzie> if you're out of HLAs then you should just be able to click the done button, even if you still have some to assign
[09:25:10] <Avenger> yes, and the cancel button should work
[09:25:18] <fuzzie> is there a cancel button?
[09:25:38] <Avenger> there is a button which has no label :)
[09:25:41] <fuzzie> i looked in original ToB and i thought there was only one button in that screen, it confused me
[09:28:45] <Avenger> right, the left button is the done button
[09:28:52] <Avenger> the right button is completely cut out
[09:29:02] <fuzzie> yes, that's it :)
[09:29:25] <fuzzie> i got lynx to fix the strings in that window, but not the buttons
[09:29:28] <Avenger> and it turns white when you don't have any more valid picks
[09:30:21] <Avenger> you can go to the hla selector only after you used up all prof/skill points. But i don't like that.
[09:30:33] <Avenger> ours is better
[09:30:45] <Avenger> hopefully it isn't causing any other problems
[09:31:39] <fuzzie> I'm not too worried about HLA bugs anyway, while you still can't actually play to a high enough level in gemrb to get them.
[09:32:15] <Avenger> lol
[09:32:25] <Avenger> that's right
[09:32:59] <Avenger> ok, i wanted to create some instant projectiles now
[09:33:06] <Avenger> to use that no travel flag
[09:33:43] <Avenger> the majority of the hardcoded projectiles are just like that :)
[09:33:58] <fuzzie> ok
[09:34:57] <fuzzie> i just want magic missile and the bouncing lightning to work, which are a bit more annoying :)
[09:37:13] <fuzzie> but you're looking at the cgtable ones?
[09:40:50] <Avenger> yes, the latter
[09:41:03] <Avenger> magic missile will need curved path
[09:41:31] <fuzzie> is there a flag for that in the original engine?
[09:41:54] <Avenger> no, and i forgot to add it to the extended flags too :)
[09:42:05] <fuzzie> that would be nice if you could, sometime :)
[09:42:16] <Avenger> i didn't even find the curved path in the internal projectile format
[09:42:28] <Avenger> i just see where it creates the multiple missiles
[09:46:31] <fuzzie> well, i think it's really easy to just make 'path' be curved
[09:47:49] <fuzzie> so if there is a flag then i can try adding that sometime, if no-one else does
[09:53:55] <Avenger> ok, then use the next flag in ExtFlags ;)
[09:54:24] <Avenger> 32
[09:55:03] <fuzzie> will dltcep just let me edit the field directly? i won't get to it today, anyway, i want to fix pause behaviour and the gemprjtl.ids merging.
[09:55:08] <Avenger> after #define PEF_TRAIL 16
[09:55:35] <Avenger> hmm you can edit the whole bitfield
[09:55:50] <Avenger> just enter 32 in the additional flags field
[09:55:56] <fuzzie> that's great, then :)
[09:56:39] <Avenger> spmagmis is the travel projectile
[09:58:30] <Avenger> the projectile ids merging would be good
[09:58:49] <fuzzie> it is really easy to do
[09:58:58] <fuzzie> i'm just not at the right computer with that code right now
[10:18:54] <Avenger> my projectl ids has this:
[10:18:55] <Avenger> 208 SPBEHBLA
[10:18:57] <Avenger> 210 HOLDNECR
[10:18:58] <Avenger> 210 FIREBLNS
[10:19:18] <Avenger> do you have 210 twice too?
[10:19:52] <fuzzie> hm
[10:20:12] <Avenger> oh yes, the original is:
[10:20:15] <Avenger> 0x00D0 SPBEHBLA
[10:20:17] <Avenger> 0x00D2 HOLDNECR
[10:20:19] <Avenger> 210 FIREBLNS
[10:20:22] <Avenger> they screwed it up :D
[10:20:24] <fuzzie> heh!
[10:20:41] <Avenger> it should be 209 (0xd1)
[10:21:02] <Avenger> so, keep this in mind :D
[10:21:10] <fuzzie> hm, that is sort of annoying :)
[10:21:31] <fuzzie> it makes more sense for the gemrb projectiles to be overridden by the projectl.ids, so mods can change them
[10:21:33] <Avenger> yes, i will ask around on g3 if this is fixed in any fixpack
[10:21:47] <fuzzie> i think that should probably still be the case, and we should tell people to install a fixpack
[10:22:47] <fuzzie> although we can put "0x00D1 FIREBLNS" in our ids file, and then just have gemrb ignore duplicate entries. that seems to fix the above
[10:24:17] <fuzzie> are there any other bugs like that?
[10:25:01] <Avenger> http://forums.gibberlings3.net/index.php?showtopic=14146
[10:26:11] <fuzzie> ok, it is not unknown :) i'll fix in gemrb, anyway
[10:27:35] <Avenger> 0x00d1 is holdnecr, 0x00d2 is fireblns
[10:28:24] <Avenger> add those two, and ignore duplicates, yes. that fixes it
[10:29:01] <-- Gekz has left IRC (Read error: 104 (Connection reset by peer))
[10:32:11] <fuzzie> hm, that is not so convenient :/
[10:32:39] <fuzzie> It would be nice to have the built-in projectiles be overridable.
[10:32:55] <fuzzie> So applying projectl.ids *first*, then filling in the empty spaces with the gemrb one.
[10:33:11] --> Gekz has joined #GemRB
[10:33:27] <fuzzie> But if 0x00d2 is fireblns then it isn't going to work, because projectl.ids will already have filled that with HOLDNECR.
[10:34:03] <fuzzie> so either built-in projectiles aren't moddable, or people have to apply a fixpack for HOLDNECR/FIREBLNS. which do you prefer?
[10:47:35] <Avenger> i don't think builtin projectiles need to be moddable, the current engine doesn't let that either
[10:48:20] <Avenger> the only problem with our implementation is that we tie those 2 projectilenames to 209/210, but no one will be upset about that
[10:48:35] <Avenger> they can still overwrite the .pro files :)
[10:49:44] <Avenger> the current situation is worse, and they lived with it for 7 years
[10:50:19] <Avenger> apparently these projectiles were not used by any existing spell
[10:53:16] <Avenger> though this runs against my other self imposed rule: don't try to fix dataset problems with own code :)
[10:54:13] <Avenger> depends on how moddable we intend our own gemrb override data
[10:56:46] <zefklop> avanger: is this normal i can't edit unknowns in door's part of area editor?
[10:56:55] <zefklop> *Avenger*
[10:57:29] <Avenger> some of dltcep isn't finished
[10:57:40] <Avenger> is it some 'edit unknowns' button?
[10:57:58] <fuzzie> it would be nice if dltcep's edit unknowns buttons worked :)
[10:58:24] <Avenger> yes, that button isn't working
[10:58:35] <Avenger> why do you need to edit unknown fields in door?
[10:58:47] <fuzzie> i want to know about some of the effect unknowns also
[10:59:10] <fuzzie> since they are used by the original game and no-one knows what they are yet
[10:59:12] <Avenger> some of those have been routed to editable fields
[10:59:29] <Avenger> the effect struct is *almost* complete now :)
[10:59:47] <Avenger> maybe i should review the effect editor
[10:59:57] <Avenger> anyway, those fields are mostly used internally
[11:00:02] <fuzzie> see 'unknown' and 'unknown2' in chitem's eff_header
[11:00:24] <fuzzie> i only see them used in savegames so far
[11:01:01] <zefklop> I want to know how it is that minsc talk to [PC] when trying to open the cell02 door
[11:01:04] <fuzzie> but, hm, the source code for EffEdit.cpp seems to use them
[11:01:14] <Avenger> those fields are dead fields, i think
[11:01:16] <fuzzie> zefklop: it is not in the area script?
[11:01:23] <fuzzie> Avenger: well, they are used :)
[11:01:25] <zefklop> don't seem to
[11:01:44] <Avenger> i didn't find any opcode code that uses them
[11:01:55] <Avenger> check yours
[11:02:01] <Avenger> i sent all to you
[11:02:22] <fuzzie> i have been picking at torment's opcodes but nothing else so far
[11:02:39] <fuzzie> i think they're used in the EffectQueue equivalent
[11:02:45] <Avenger> btw: 005266B6 66 C7 42 0C 01 00 mov word ptr [edx+0Ch],1 ;;timing mode: permanent
[11:02:50] <Avenger> looks like the timing mode is a word
[11:03:00] <fuzzie> it isn't
[11:03:25] <fuzzie> well, maybe it is, but then the timing mode is a mask
[11:03:29] <Avenger> yeah i know items have high bits of it set
[11:03:37] <Avenger> some sword
[11:03:44] <fuzzie> the high bits are often set in savegames
[11:04:51] <fuzzie> i changed gemrb to just treat it as a byte for now, because no-one knows what the high bits mean
[11:05:01] <Avenger> well, all i see in the code is that in effv1 it is a word, and in effv2 it is a dword
[11:05:42] <fuzzie> huh, it is definitely not a word in the saved effv1 data
[11:06:05] <Avenger> though, in all instances where it is checked, it isn't masked. just used like this: 00541DBD 8B 42 20 mov eax,dword ptr [edx+20h] ;;timing mode
[11:06:07] <Avenger> 00541DC0 89 45 BC mov dword ptr [ebp-44h],eax
[11:06:09] <Avenger> 00541DC3 83 7D BC 00 cmp dword ptr [ebp-44h],0
[11:06:26] <fuzzie> ok, so it is probably in memory as a word/dword but saved as a byte?
[11:06:53] <fuzzie> that doesn't seem to make much sense :/
[11:07:10] <Avenger> dunno
[11:08:06] <Avenger> in all effects i see it it is on offset 0x20 (in v2) and used as dword, and not masked off
[11:08:25] <fuzzie> effv1 only has space for a single Byte there, and effv2 often has bits set in the unknown byte directly after
[11:08:42] <Avenger> yes, and it is weird
[11:09:01] <fuzzie> i can see that it seems not masked anywhere
[11:10:40] <fuzzie> DLTCEP just ignores the unknown byte, so it is difficult to try testing it in the original engine :)
[11:11:32] <Avenger> the first example i gave is in the findfamiliar opcode
[11:11:55] <Avenger> it builds an effect by constructing a v1 effect, then converts it up to v2
[11:12:46] <zefklop> OK, I was mistaken. Minsc speaks to PC because PC is in the good range, not because he tries to open the door...
[11:12:56] <fuzzie> well, effv1 has Parameter1, Parameter2, a byte for
[11:13:02] <fuzzie> TimingMode and a byte for Resistance
[11:13:15] <fuzzie> so there's no space for a TimingMode word there
[11:13:33] <Avenger> yes, i know, maybe the timing mode and the resistance were in a word :)
[11:13:41] <fuzzie> yes, that is my first thought :)
[11:14:03] <fuzzie> zefklop: it is frustrating when things like that are confusing :(
[11:15:23] <zefklop> worse, it works in gemrb!
[11:16:46] <fuzzie> If you want to look at script problems and you have ToB, I can't work out why all the guards at the start of Saradush don't attack you, only some do..
[11:17:38] <fuzzie> zefklop: i think the gemrb launcher is in python already
[11:17:42] <Avenger> hehe, can you survive them?
[11:17:58] <zefklop> fuzzie: isn't it bash?
[11:18:04] <fuzzie> no, that is the installer
[11:18:39] <zefklop> eh... I should think before posting
[11:18:41] <fuzzie> Avenger: sure, you only get two or so, they are all meant to attack :)
[11:18:58] <zefklop> still, I'd prefer using builtin graphics capabilities of python
[11:19:08] <Avenger> maybe the rest turns on you because of some help/heard etc triggers
[11:19:10] <zefklop> instead of glade
[11:19:12] <fuzzie> does python have builtin graphics? i am not sure
[11:19:12] <Avenger> and those don't work
[11:19:24] <zefklop> tk bindings I believe
[11:19:28] <Avenger> never tested those
[11:19:43] <fuzzie> Avenger: ah, that is probably it :)
[11:19:59] <zefklop> fuzzie: wxpython
[11:20:25] <fuzzie> no, you're right, Tk is the only stuff in the standard python
[11:20:39] <fuzzie> i know that pygtk is useless for OS X users
[11:20:59] <zefklop> oh right... the windows build bundles wxpython too. I was mistaken :/
[11:24:09] <Avenger> fuzzie: to move the sound source of projectiles, we need some kind of 'handles'
[11:24:37] <Avenger> i think the projectile sound sources are moving
[11:29:13] <fuzzie> that should go in the bug tracker, perhaps
[11:29:53] <Avenger> yeah, feature request
[11:30:12] <fuzzie> i start to forget things :)
[11:33:01] <Avenger> arrow orientation is completely fixed, right?
[11:33:37] <fuzzie> I'm not sure. Last time I looked it was difficult to tell because they started and ended at the wrong place.
[11:35:58] <fuzzie> i thought that zefklop had changed that but i don't see a commit
[11:36:34] <zefklop> No, I just fixed the moment they were thrown
[11:36:50] <zefklop> Avenger did a commit a while ago
[12:03:20] <Avenger> phew, finger of death works, after some hacks
[12:03:46] <fuzzie> :)
[12:03:59] <Avenger> even simple things like this needed changes, i wonder how the curved path will do :)
[12:04:04] <Avenger> brb
[12:04:05] <-- Avenger has left IRC ("ChatZilla 0.9.84 [Firefox 3.0.11/2009060215]")
[12:04:05] <fuzzie> ok, i'm home now
[12:04:34] <fuzzie> zefklop: is there anything you're working on that i shouldn't change?
[12:14:35] <CIA-2> gemrb: 03avenger_teambg * r6423 10/gemrb/trunk/gemrb/override/bg2/spfdeath.pro: finger of death projectile (prototype for PEF_NO_TRAVEL)
[12:16:14] --> Avenger has joined #gemrb
[12:17:21] <fuzzie> ugh, fixing target points while paused is not so trivial, because the work here should not be done in the action
[12:17:38] <Avenger> hmm?
[12:17:45] <CIA-2> gemrb: 03avenger_teambg * r6424 10/gemrb/trunk/gemrb/ (3 files in 2 dirs): implemented flags needed to render finger of death projectile correctly
[12:18:18] <Avenger> ahh, the target recticles
[12:19:00] <fuzzie> i am going to have GameControl enable/disable them, i think
[12:19:34] <Avenger> huh, maybe my save won't work for you fuzzie, there are some dummy items in it
[12:20:02] <Avenger> i send you those items, without correct strrefs
[12:20:12] <fuzzie> ok.
[12:21:21] <Avenger> the red ring has the finger of death projectile attached
[12:21:32] <Avenger> this is my projectile tester save :)
[12:21:53] <Avenger> ok done
[12:22:29] <fuzzie> okay, got both. i'll look at them in a bit
[12:27:05] <zefklop> fuzzie: I'm trying to make aataqah to let me kill his ogre
[12:27:11] <fuzzie> ok, why does MoveToPointNoRecticle exist?
[12:27:59] <zefklop> I guess that mostdamagedof should only point to inparty actors
[12:29:36] <fuzzie> the standard MoveToPoint gives no recticle!
[12:30:44] <fuzzie> also i must remember to fix TimedMoveToPoint.
[12:31:59] <Avenger> fuzzie there is some engine option
[12:32:22] <fuzzie> An engine option to always show recticles?
[12:33:26] <Avenger> marker feedback probably?
[12:33:38] <Avenger> maybe it is only for the feet circles
[12:33:49] <fuzzie> i think so
[12:36:06] <fuzzie> MoveToPoint in scripts seems to never show recticles, but maybe they are disabled in cutscenes..
[12:36:11] <Avenger> hmm i see the target recticle!
[12:36:33] <fuzzie> and i think i only checked in cutscenes
[12:36:47] <Avenger> i checked normal movement, of course
[12:37:09] <fuzzie> Avenger: in original engine, from script, not lua?
[12:37:32] <Avenger> in original engine, clicking on game gui
[12:37:58] <fuzzie> yes, clicking in the game control always does recticles
[12:38:10] <fuzzie> but MoveToPoint action doesn't ever do them as far as I can tell
[12:38:55] <Avenger> hehe, if locator/marked feedback is minimal, the target recticle isn't looping
[12:39:01] <Avenger> so, it vanishes after a short time
[12:39:16] <fuzzie> ok, i'll have to look into that too :)
[12:39:27] <Avenger> this is nitpicking
[12:39:58] <fuzzie> Well, there are only a few very annoying things in BG2 right now.. projectiles/effects is the most important bit, but UI things like recticles are on the list too
[12:41:21] <Avenger> yes, the recticle is tied to the feet circle of the character in question. If the character has no feet circle drawn, then the recticle loses its visibility at the looping point
[12:42:04] <Avenger> i wonder how'll you implement this, it will need a new flag
[12:42:17] <fuzzie> well, i think the flags need changing anyway
[12:42:51] <Avenger> the portrait is framed by the same color as the feet circle
[12:43:03] <fuzzie> yes, and it blinks too
[12:43:03] <Avenger> when the feet circle blinks, goes yellow, red etc too.
[12:43:07] <fuzzie> that is on the list :)
[12:43:37] <Avenger> that will be tough, you will need to tie the button control to the feet circle color :)
[12:45:12] <fuzzie> there are other related problems
[12:45:17] <fuzzie> eg, you should be able to cast a spell on a portrait :)
[12:45:36] <fuzzie> so i think the gamecontrol needs to know which portrait button is which
[12:45:54] <fuzzie> unless you have a better idea
[12:46:51] <fuzzie> ok, i am wrong - MoveToPoint does show recticles, it is just that recticles are never drawn in cutscenes
[12:46:55] <fuzzie> that makes things easier!
[12:48:55] <Avenger> hehe
[12:48:58] <Avenger> yes
[12:49:05] <Avenger> that's simple
[12:49:46] <fuzzie> however, our MoveToPoint implementation is completely wrong
[12:50:07] <fuzzie> or something is wrong here, anyway
[12:50:31] <fuzzie> but i will worry about other fixes later
[13:02:49] <fuzzie> hm, the recticles thing is a bit more complicated, the flashing recticle for speech is meant to appear in cutscenes
[13:02:57] <fuzzie> erm, i mean, the flashing actor circle, not the recticle
[13:03:12] <fuzzie> but we don't do the flashing ground circles at all right now, i think?
[13:08:27] <Avenger> yes
[13:08:44] <Avenger> we don't do the white recticle for speakers
[13:08:53] <Avenger> i mean white foot circle :)
[13:09:47] <fuzzie> ok, i'll add a comment for later
[13:15:22] <fuzzie> why does gemrb keep looking for wpLDDca.bam? what is it?
[13:15:34] <Avenger> weapon animation?
[13:15:37] <fuzzie> lots of other filenames like that too, like wpMD4ca.bam and wpMFLca.bam
[13:15:42] <fuzzie> it doesn't find any of them
[13:16:01] <fuzzie> this is bg1 so maybe it is not a bug, i'm just wondering
[13:16:24] <Avenger> is this for PC avatars?
[13:16:39] <fuzzie> i think for ogres.
[13:17:00] <Avenger> ca is casting, so maybe the weapon isn't drawn while casting
[13:20:41] <Avenger> mm these animations are only for pc avatars
[13:21:27] <fuzzie> oh, i think it is actually Gorion causing it :) but still, not pc
[13:23:03] <CIA-2> gemrb: 03fuzzie * r6425 10/gemrb/trunk/gemrb/plugins/Core/ActorBlock.cpp: don't draw actor recticles/circles in cutscenes
[13:23:10] <Avenger> what is the resref?
[13:23:16] <Avenger> for the gorion avatar
[13:23:35] <fuzzie> can i tell from ctrl-m output?
[13:24:06] <Avenger> hmm dunno
[13:27:01] <Avenger> 6200 is his animation ID
[13:27:16] <Avenger> lol ctrl-r on gorion makes him loop his wake up anim
[13:27:25] <Avenger> i'm sure it was good before!
[13:28:09] <Avenger> chmw1 is the resref i wanted
[13:28:17] <Avenger> so, gorion is a normal player anim
[13:30:38] <fuzzie> the cutscenes are full of bugs, so i'm trying to see what's the problem
[13:31:06] <Avenger> brb
[13:31:06] <-- Avenger has left IRC ("bye!")
[13:39:01] --> Avenger has joined #gemrb
[13:39:06] --- ChanServ gives channel operator status to Avenger
[13:46:41] <fuzzie> ok, i don't get it, when/where is Imoen spawned or moved into AR2700?
[13:46:48] <fuzzie> i looked through all the scripts and i don't see it
[13:46:55] <fuzzie> but it works fine in gemrb so it must be somewhere
[13:48:05] <fuzzie> Avenger: Dialogue() is meant to move next to the player before initiating dialog but gemrb allows it from a long distance, do you know why?
[13:48:32] <Avenger> i remember someone removed moving to target recently
[13:49:06] <fuzzie> i checked iwd, bg1, bg2, pst, and Dialogue() always moves to target :/
[13:49:09] <fuzzie> i hope it wasn't me
[13:49:18] <Avenger> it broke some cutscene?
[13:49:49] <fuzzie> well, it makes some dialogs happen with the other speaker off-screen
[13:50:02] <fuzzie> and it means that sometimes you get no chance to run away from an enemy
[13:50:05] <fuzzie> and some other problems :)
[13:50:21] <Avenger> well, it wasn't my doing :D
[13:50:37] <Avenger> i guess, there are different dialogue actions
[13:50:39] <fuzzie> i changed StartDialogue i see :) but that is correct
[13:51:15] <Avenger> well, add the move to target flag and lets see what breaks then :D
[13:51:27] <fuzzie> which one is that?
[13:51:32] <fuzzie> BD_CHECKDIST is what it uses now
[13:51:41] <Avenger> that should walk to the target
[13:51:43] <Avenger> yes
[13:51:48] <fuzzie> it doesn't, it works from half a screen away :)
[13:51:56] <Avenger> then the distance is too big
[13:52:20] <Avenger> it uses: MAX_OPERATING_DISTANCE
[13:52:22] <fuzzie> it checks MAX_TRAVELING_DISTANCE, GSUtils.cpp:941
[13:52:37] <Avenger> hhuh
[13:52:40] <Avenger> it uses both
[13:52:54] <fuzzie> MAX_OPERATING_DISTANCE would be fine
[13:53:30] <Avenger> this code is very crowded by now :0
[13:53:50] <fuzzie> ok, i think MAX_TRAVELING_DISTANCE is wrong in both the uses in BeginDialog :)
[13:53:56] <fuzzie> let me check svn history if there was a reason
[13:54:34] <Avenger> yes max traveling distance is too large
[13:55:28] <Avenger> maybe it was because startdialogue didn't work
[13:55:35] <fuzzie> it was r4487, one of your commits where you fix 20 things at once :)
[13:55:41] <Avenger> hehe
[13:56:08] <Avenger> is there something about minsc or jaheira not talking?
[13:56:29] <fuzzie> I *hope* they are fine now.
[13:56:49] <fuzzie> I had a difficult time fixing the actions in the dialog code so that it worked for every situation, but it seems ok now.
[13:57:47] <Avenger> something is always broken
[13:57:50] <fuzzie> You can even keep talking to dead actors! Which is important :)
[13:58:00] <Avenger> is it?
[13:58:10] <fuzzie> there are a lot of pst scripts where you kill someone in the middle of a dialog
[13:59:01] <fuzzie> you see the first frame of the death animation, and any dead checks in the dialog triggers must then return true, but the dialog must continue!
[13:59:04] <fuzzie> it is quite mad
[13:59:10] <Avenger> yea
[13:59:40] <fuzzie> but it works great in gemrb now
[14:02:19] <Avenger> hmm healing spells are long
[14:02:35] <Avenger> i guess the casting time is not correctly calcualted
[14:02:54] <zefklop> Avenger: Could you take a look at http://forums.gibberlings3.net/index.php?showtopic=17631
[14:03:19] <Avenger> yes zefklop it could be
[14:03:27] <fuzzie> Avenger: they're meant to be in their own seperate round, with speed factor calculations etc
[14:03:30] <zefklop> Needs further esting
[14:03:58] <zefklop> we _really_ need a weidu TC to test this sort of things :)
[14:04:09] <fuzzie> TC?
[14:04:17] <zefklop> Total Conversion :)
[14:04:39] <zefklop> I'll make my own :)
[14:05:03] <Avenger> you mean, you wanna fork weidu? :D
[14:05:29] <zefklop> no, I wanna make a weidu mod, which is a total conversion, to make this sort of test
[14:05:34] <Avenger> it is easier to peek into the engine source
[14:05:36] <fuzzie> weidu is terrifying code, it is all ocaml
[14:06:11] <Avenger> err, engine source :) ok, i mean, disassembly
[14:06:42] <CIA-2> gemrb: 03fuzzie * r6426 10/gemrb/trunk/gemrb/plugins/Core/GSUtils.cpp: partially revert r4487 by using MAX_OPERATING_DISTANCE and not MAX_TRAVELING_DISTANCE for BD_CHECKDIST
[14:07:39] <Avenger> from what i see, mostdamagedof simply goes through the pcs
[14:07:48] <Avenger> how lazy...
[14:08:12] <zefklop> some scripts rely on it
[14:08:25] <wjp> would that be used for healer scripts?
[14:08:51] <wjp> (like summoned Devas)
[14:09:23] <wjp> also, hi all :-)
[14:09:32] <Avenger> tell me where is a script that uses it
[14:10:23] <zefklop> ar0602.bcs,the aataqah part
[14:10:47] <Avenger> i had some rumours about these, 'strongestofmale' is also checking only pcs. So, i guess all these ...Of things check only the party
[14:11:12] <zefklop> hi wjp :D
[14:11:39] <Avenger> Mostdamagedof(Myself), my ass
[14:12:00] <Avenger> this sucks
[14:12:26] <fuzzie> heh
[14:12:36] <fuzzie> i already had to change gemrb so you could pass areas as scriptables to actions, it wasn't working
[14:12:41] <zefklop> yeah... I really wonder what would be the utility of calling MostDamagedOf(AnotherMap)
[14:13:34] <Avenger> what if mostdamagedof is called by an actor
[14:14:18] <zefklop> good question...
[14:23:14] <Avenger> heh, new flag is needed for call lightning. it has 4 cycles, but they are drawn simultaneously on top of each other
[14:23:28] <Avenger> skybolt.bam
[14:24:57] <zefklop> I think we need to implement the ability to draw sprites on top of each others
[14:25:06] <zefklop> That would be useful for game clock too
[14:26:04] <fuzzie> the game clock is broken redraw-wise?
[14:26:29] <zefklop> tha game clock is 3 bams drawn on top of each other
[14:27:39] <zefklop> CPEN, CDIAL and CGEARS
[14:27:41] <Avenger> i thought that is already possible
[14:27:48] <fuzzie> i thought that already worked, though
[14:28:00] <zefklop> CGEARS are not drawn
[14:28:15] <zefklop> and I did not find the function that would do that
[14:28:56] <zefklop> but I think that would be quite easy to do it in sdlvideodriver
[14:29:14] <fuzzie> you're right, it just uses CDIAL because it can only set one bam on the button, i guess
[14:29:28] <zefklop> that's it
[14:30:26] <Avenger> there is possible to stack some bams on top of each other
[14:30:26] --> danamin has joined #GemRB
[14:30:42] <Avenger> but it might be working only with plt on a gui level
[14:31:12] <wjp> that should work for any list of Sprite2Ds
[14:31:22] <wjp> but it might be that ControlAnimation doesn't support it?
[14:32:19] <danamin> does anyone know how the Class argument of GetLearnablePriestSpells is used?
[14:32:33] <Avenger> controlanimation can control a single one, yes
[14:32:54] <Avenger> but i thought the slower animations could be set without that
[14:33:56] <zefklop> a timer controlled setbuttonsprite setting would do the trick
[14:34:07] <wjp> hm, shouldn't r5354 fix this?
[14:34:21] <wjp> "pendulum+gears animations"
[14:34:24] <zefklop> but setbuttonsprite allows only one sprite :/
[14:34:52] <wjp> r5354 creates a second control
[14:34:59] <fuzzie> wjp: it adds SetAnimation controls, yes
[14:35:39] <Avenger> danamin: i think 0x8000 should be added for druid spells
[14:36:28] <zefklop> setanimation overrides the previous one I think
[14:36:46] <wjp> zefklop: it uses two separate controls for the two animations
[14:36:47] <zefklop> anyway, the code is commented there
[14:37:00] <zefklop> wjp: right
[14:37:40] <zefklop> and the code is not comented everywhere
[14:37:40] <fuzzie> i only see that code in bg2, which is immediately unhelpful :)
[14:38:25] <Avenger> danamin: it is actually a spell exclusion mask, if you add 0x8000, then it will exclude cleric spells, if you add 0x4000 it will exclude druid spells
[14:38:26] <zefklop> still, gears are not shown
[14:38:47] <Avenger> if you load a spell in dltcep, you can see this flag as 'priest type'
[14:42:59] <danamin> Avenger: thx
[15:05:22] <zefklop> Avenger: does it suit you?
[15:05:23] <zefklop> http://pastebin.com/d17fabea
[15:06:37] <zefklop> eh, the patch seems quite weird, it forgot the comments I made
[15:06:51] <fuzzie> why all the space changes?
[15:07:07] <zefklop> not me (tm)
[15:07:21] <fuzzie> i guess it's Eclipse's svn thing trying to fix whitespace
[15:07:24] <zefklop> but eclipse/ windows weirdness
[15:07:41] <Avenger> i see you commented out the trivial solution
[15:07:49] <wjp> there's a diff option to ignore whitespace changes like that
[15:07:58] <fuzzie> wjp: but then they get committed :)
[15:08:17] <Avenger> don't quite see why mostdamagedof couldn't be called by non area
[15:08:38] <fuzzie> what does it do in the original engine?
[15:09:10] <zefklop> http://pastebin.com/d1a8f79b1
[15:09:12] <Avenger> as far as i see, in the engine it simply goes through the PCs
[15:09:22] <zefklop> this one is better
[15:09:39] <Avenger> maybe it checks if the currentarea of the pc is the same as the currentarea of the Sender
[15:10:23] <zefklop> then a map = sender->getcurrentarea()
[15:10:31] <Avenger> getactorsinparty is too complicated, you should go from the other side
[15:10:45] <Avenger> usually you have fewer PCs than actors in an area
[15:11:02] <Avenger> so, you can simply go through the pcs, and check if their currentarea == sender->currentarea
[15:11:25] <zefklop> ok
[15:11:27] <Avenger> i think there is already code for that
[15:11:52] <zefklop> like core->GetGame()->Something() ?
[15:12:53] <Avenger> Game *game = core->GetGame();
[15:12:55] <Avenger> int i = game->GetPartySize(false);
[15:12:56] <Avenger> while (i--) {
[15:12:58] <Avenger> Actor *tar = game->GetPC(i, false);
[15:13:51] <zefklop> thanks
[15:16:10] <zefklop> BTW, would map->getcurrentarea() return itself?
[15:16:16] <fuzzie> yes
[15:16:28] <fuzzie> it is very helpful
[15:16:45] <zefklop> cool :)
[15:16:54] <fuzzie> i didn't know about it until Avenger fixed some of my code :)
[15:17:28] <Avenger> yep, it is one of the elegant hacks, not like most of the rest of them :)
[15:19:16] <Avenger> just added some more projectile flags to dltcep, now we got 8 bits in the extflags bitfield
[15:19:49] <Avenger> but i think this will cover all bg2 projectiles, and even some from iwd
[15:19:59] <Avenger> pst stuff will probably need much more effort
[15:21:07] <Avenger> fuzzie: still killing bugs?
[15:21:59] <fuzzie> well, i have an exam on tuesday so i am mostly studying :)
[15:22:31] <Avenger> you are so young :D
[15:23:21] <Avenger> i wish i had exams, but only if i get back the years
[15:23:33] <zefklop> http://pastebin.com/d6190a3c5
[15:23:38] <zefklop> yet another try :)
[15:23:55] <Avenger> yep zefklop this is it :)
[15:24:13] <zefklop> so commit and see if this unhides yet another bug ?
[15:24:15] <Avenger> but you know, there are probably 5-6 more such object filters :)
[15:24:31] <fuzzie> zefklop: does it improve the script you were looking at?
[15:24:47] <zefklop> yes, I can kill the ogre now :)
[15:25:00] <fuzzie> nice
[15:25:26] <Avenger> it just kills a lot of functionality :(
[15:25:37] <zefklop> I think IESDP needs an "object selectors" section
[15:25:40] <Avenger> restricting most of the object filters to the pcs
[15:25:47] <Avenger> it sucks
[15:25:50] <zefklop> yup :(
[15:28:08] <CIA-2> gemrb: 03zefklop * r6427 10/gemrb/trunk/gemrb/plugins/Core/GameScript.cpp: Make MostDamagedOf behave like in original engines...
[15:28:09] <zefklop> BTW, I saw that the ogre was not so terrible to kill
[15:28:28] <zefklop> I think its AI script is not behaving well in gemrb
[15:28:38] <fuzzie> maybe look at that :)
[15:28:43] <Avenger> maybe more object filtering stuff
[15:28:48] <zefklop> yup
[15:34:42] <zefklop> uh... this ogre has no AI script where he should cast some spells
[15:36:13] <Avenger> pillar type projectiles are taking shape now
[15:36:13] <Avenger> almost good
[15:38:13] <Avenger> brb
[15:38:14] <-- Avenger has left IRC ("ChatZilla 0.9.84 [Firefox 3.0.11/2009060215]")
[15:44:37] <zefklop> in fact, the ogre attacks, but I can't see it...
[15:44:52] <zefklop> hmpf
[15:45:07] <zefklop> yet another stanceID problem (tm)
[15:46:48] --> Avenger has joined #gemrb
[15:47:21] <CIA-2> gemrb: 03avenger_teambg * r6428 10/chitem/trunk/ (Chitem.h ProjGemRB.cpp ProjGemRB.h chitem.clw chitem.rc): added the new projectile flags to the editor
[15:48:20] --- ChanServ gives channel operator status to Avenger
[15:49:35] <CIA-2> gemrb: 03avenger_teambg * r6429 10/gemrb/trunk/gemrb/ (3 files in 2 dirs): pillar type projectile flag implemented and documented
[15:50:13] <CIA-2> gemrb: 03avenger_teambg * r6430 10/gemrb/trunk/gemrb/override/bg2/skybolt.pro: prototype pillar type projectile (call lightning)
[15:52:44] <Avenger> call lightning works :)
[15:55:07] <Avenger> huh
[15:55:35] <Avenger> imoen auto-attacks kobold commando, has a bow in hands. but doesn't shoot. just spams 'you ask for it'
[15:56:46] <Avenger> lol, sparks suck
[15:58:49] <zefklop> hmpf, stanceID is *very* hard to get right
[16:00:05] <Avenger> hmm, i see lots of 'dead' actors, with title 'near death'
[16:00:15] <Avenger> i guess, they are on the other side of near death :)
[16:00:28] <zefklop> Avenger: some creatures use their own animations for weapons
[16:00:58] <zefklop> like ogre mage which uses mogmsg1 for swords
[16:00:58] <fuzzie> Avenger: oh, heh, sorry :) will fix
[16:01:10] <Avenger> yes
[16:01:10] <zefklop> do we handle that?
[16:01:19] <zefklop> yes we do?
[16:01:33] <Avenger> not sure, but there is a chance, yes was for the first question
[16:02:00] <Avenger> i like that i can scroll while pause :)
[16:02:36] <zefklop> ok, will search for the code
[16:02:56] <zefklop> getting this ogre mage behaving correctly is a tough task...
[16:03:04] <Avenger> it should be in charanimations
[16:05:54] <Avenger> i wonder why i lost the spell casting ability with ALL of my pc's
[16:06:05] <Avenger> the button went to disabled mode at one point
[16:06:44] <fuzzie> button disable effect?
[16:07:05] <Avenger> probably but it is global
[16:07:07] <fuzzie> i am working on making the rest of pause work ok.
[16:08:00] <Avenger> don't leave the pocket plane yet :)
[16:08:15] <Avenger> this challenge fight was very weird :)
[16:08:19] <Avenger> i used some spells
[16:08:37] <Avenger> hmm death animations seem to not work
[16:08:44] <Avenger> my enemies still stand
[16:08:56] <Avenger> this worked before too
[16:13:10] <fuzzie> also on the list :/
[16:13:14] <fuzzie> what was so weird?
[16:14:04] <Avenger> 1. enemies don't die, just become kind of stoned
[16:14:14] <Avenger> 2. any projectiles with sparks :)
[16:14:37] <fuzzie> the sparks code just scares me when i look at it, it is at the bottom of my todo list, even though it looks so bad
[16:16:14] <fuzzie> i think i have death anim fix, will see after dinner, bbl
[16:17:02] <Avenger> i will fix the saradush guys, it is surely a trigger
[16:17:06] <-- Avenger has left IRC ("bye!")
[16:23:35] <zefklop> hmpf, monster nimations naming sucks badly!
[17:18:22] <fuzzie> http://fuzzie.org/nfs/gemrb/sparkles.jpg <- wow, this goes all the way down :)
[17:22:07] <fuzzie> death animations are actually working fine for me in svn
[17:22:48] <fuzzie> zefklop: are they okay for you?
[17:23:02] <zefklop> yes...
[17:23:16] <fuzzie> so i wonder what Avenger's problem is :)
[17:23:17] <zefklop> but I discovered yet another type of animations
[17:23:48] <fuzzie> another actor animation type?
[17:23:58] <zefklop> yes and no
[17:24:22] <zefklop> see IE_ANI_TWO_FILES
[17:24:46] <zefklop> weapons animations are already drawn on it
[17:25:35] <zefklop> but for ogre mage, there is MOGMS***.bam which take care of the weapon
[17:26:06] <-- Edheldil has left IRC (Read error: 110 (Connection timed out))
[17:26:21] <zefklop> I already fixed the way attack is handled for these, but I must add a case for the weapon
[17:26:22] <zefklop> grrrr
[17:26:34] <zefklop> I'll go post to IESDP
[17:27:57] --> Edheldil has joined #gemrb
[17:27:57] --- ChanServ gives channel operator status to Edheldil
[17:33:17] <fuzzie> zefklop: well, i'm very glad you're looking at that code :)
[17:34:40] <zefklop> actually, I'm banging my head on the wall! IESDP guys will have something to read :)
[17:45:02] <fuzzie> zefklop: the EMERGE and GET_UP animations still loop forever, i think you forgot to put the A_ANI_PLAYONCE code back there
[17:45:12] <fuzzie> it looks very hilarious but it is not quite right :)
[17:45:18] <zefklop> ok :)
[17:46:19] <zefklop> http://forums.gibberlings3.net/index.php?showtopic=17633 here are my findings
[17:46:29] <zefklop> now let's implement it :)
[17:46:51] --> lynxlynxlynx has joined #gemrb
[17:46:51] --- ChanServ gives channel operator status to lynxlynxlynx
[17:47:32] <fuzzie> hi lynx
[17:48:21] <zefklop> hi lynx
[17:48:27] <zefklop> fuzzie: does it work?
[17:48:35] <CIA-2> gemrb: 03zefklop * r6431 10/gemrb/trunk/gemrb/plugins/Core/CharAnimations.cpp: EMERGE and GET_UP should play once too.
[17:52:22] <fuzzie> hm, no :/
[17:53:09] <fuzzie> i resurrect someone and EMERGE still loops forever
[17:53:23] <fuzzie> your commit does break all the other animations though :-)
[17:54:17] <zefklop> meh
[17:54:26] <fuzzie> i think it is clearer to write it without the fallthrough, since there are so many cases. let me try that
[17:54:45] <zefklop> ok? Go ahead :)
[17:54:53] <zefklop> *ok!*
[17:54:53] <fuzzie> yeah, that is happier :)
[17:55:47] <CIA-2> gemrb: 03fuzzie * r6432 10/gemrb/trunk/gemrb/plugins/Core/CharAnimations.cpp: try another A_ANI_PLAYONCE fix
[17:56:51] <zefklop> meh, I reached an assertion with my charanimations tries
[17:57:14] <zefklop> I really have to add an animation type
[17:57:22] <zefklop> this sucks really really badly!
[17:58:22] --- barra_library is now known as barraAway
[18:00:03] <CIA-2> gemrb: 03fuzzie * r6433 10/gemrb/trunk/gemrb/plugins/Core/IniSpawn.cpp: default nameless state is getting up (in mortuary), not standing
[18:01:12] <fuzzie> zefklop: i don't think i understand it well enough to help, but if it is too much, you can always put a patch somewhere and ask other people to have a look
[18:01:30] <zefklop> that is what I'll do
[18:01:47] <lynxlynxlynx> oj
[18:01:49] <zefklop> after some thoughts, I hink this is not too hard anyway
[18:10:26] <zefklop> hmpf
[18:15:29] --> Avenger has joined #gemrb
[18:15:31] --- ChanServ gives channel operator status to Avenger
[18:15:57] <Avenger> hehe, there are multiple problems why the saradush guards don't attack, i've killed 2, and there is still at least one
[18:16:16] <fuzzie> ah. no wonder i couldn't work it out, i suppose :)
[18:16:27] <Avenger> Shout had a small range:40
[18:17:14] <fuzzie> are the death animations still broken for you? i can't find any more problems after what zefklop fixed
[18:17:34] <Avenger> it should be max_travel-distance
[18:17:53] <Avenger> hmm, i didn't download from svn for 2 hours or so
[18:17:54] <fuzzie> hehe, so some code we move to use travel distance and some code we stop using travel distance!
[18:18:09] <Avenger> yep
[18:18:18] <Avenger> and there is a problem in MatchActor
[18:18:26] <fuzzie> the last relevant commit was r6419, yesterday :/ so i can't reproduce your bug today
[18:18:27] <Avenger> if oC is 0, it should return true, not false
[18:18:57] <Avenger> so Heard([ANYONE],151) would return true
[18:19:14] <Avenger> the remaining problem is: InMyGroup
[18:19:29] <Avenger> i don't know wtf is group in bg2
[18:19:38] <fuzzie> i think it just checks IE_EA cutoffs
[18:19:43] <zefklop> fuzzie: death is OK for me :)
[18:19:44] <Avenger> i know there is Team in the blackisle branch
[18:19:47] <Avenger> oh, hmm
[18:19:55] <Avenger> so same EA?
[18:20:03] <Avenger> or rather same cutoff range?
[18:20:05] <fuzzie> i don't understand what iesdp says
[18:20:12] <fuzzie> it says "Returns true only if the allegiance of the specified object is the same as that of the active CRE. GOODCUTOFF are all in the player's group for example."
[18:20:17] <fuzzie> is that IE_EA?
[18:20:23] <Avenger> yes
[18:20:39] <Avenger> EA = enemy/ally is the allegiance thingie
[18:20:49] <fuzzie> i only used it for checking neutrals :-)
[18:21:05] <Avenger> ok, i guess, inmygroup is easy then
[18:22:54] <Avenger> ok, going back to linux
[18:22:56] <-- Avenger has left IRC ("ChatZilla 0.9.84 [Firefox 3.0.11/2009060215]")
[18:23:48] <zefklop> I think avenger should use a virtual machine...
[18:29:58] --> Avenger has joined #gemrb
[18:30:39] --- ChanServ gives channel operator status to Avenger
[18:30:49] <CIA-2> gemrb: 03avenger_teambg * r6434 10/gemrb/trunk/gemrb/plugins/Core/ (Actions.cpp GSUtils.cpp):
[18:30:49] <CIA-2> gemrb: increased shout distance to MAX_TRAVELING_DISTANCE
[18:30:49] <CIA-2> gemrb: fixed MatchActor to always match [ANYONE]
[18:44:29] <CIA-2> gemrb: 03avenger_teambg * r6435 10/gemrb/trunk/gemrb/plugins/ (7 files in 3 dirs):
[18:44:29] <CIA-2> gemrb: implemented InMyGroup trigger
[18:44:29] <CIA-2> gemrb: implemented GetGroup(actor), and use it where it was trivial
[18:49:20] <fuzzie> does it work now? :)
[18:49:46] <Avenger> still no
[18:50:04] <Avenger> i didn't validate InMyGroup
[18:50:17] <Avenger> but it is very trivial, so there might be a 4th bug :)
[18:50:52] <Avenger> the mor1 avatar is very bad too
[18:51:13] <Avenger> Couldn't create animationfactory: mor1sp
[18:51:53] <Avenger> hmm, 9 is the iwd animation type, it should be ok :(
[18:52:27] <zefklop> eh, charnimations are making me banging my poot head
[18:52:42] <zefklop> Avenger, did you take a look at my IESDP post?
[18:53:06] <Avenger> ahh, i see, mor1 don't have spellcasting
[18:53:10] <Avenger> this is still not fixed?
[18:53:26] <Avenger> it has some innate, i bet
[18:53:30] <zefklop> no. I don't know how to do it
[18:53:53] <fuzzie> yes, that Saradush group were the first ones i found with the innate and no spellcasting anim
[18:53:56] <Avenger> well, the most trivial fix would be: if it has no SP animation, use an attack animation
[18:54:08] <fuzzie> (the innate is Kai)
[18:54:16] <Avenger> you just gotta watch what they do
[18:54:19] <zefklop> are you sure this should not be waiting animation?
[18:54:24] <Avenger> yes
[18:54:29] <Avenger> almost
[18:54:38] <Avenger> if you have a casting animation, they do that
[18:54:41] <Avenger> i already seen that
[18:54:46] <zefklop> ok
[18:54:58] <zefklop> and what about this f*** ogre mage?
[18:55:11] <Avenger> the ogre mage shouldn't have weapons
[18:55:17] <zefklop> he has :(
[18:55:30] <fuzzie> i think others do, too
[18:55:37] <zefklop> try to give him a short sword...
[18:55:40] <Avenger> well, then it will spam the screen :)
[18:55:50] <Avenger> there is only 'S' animation
[18:56:09] <fuzzie> even original bg1 ogre mages have weapons
[18:56:15] <fuzzie> and try to use them
[18:57:01] <zefklop> meh
[18:57:20] <Avenger> it is CharAnimations::GetLREquipmentRef
[18:57:24] <Avenger> i think
[18:57:39] <Avenger> but we have only the sword anim
[18:59:27] <zefklop> this WILL spam the console :/
[19:00:09] <fuzzie> what is the correct fix, for it to use G2?
[19:01:23] <Avenger> ?
[19:01:51] <Avenger> what do you mean fuzzie? i thought the problem is that it has some different weapon than sword
[19:03:49] <fuzzie> i mean, which animation should the ogre mage be using there?
[19:03:53] <zefklop> yes, and that it does not use g2 at all
[19:04:02] <zefklop> bye everybody
[19:04:12] <zefklop> see you next week
[19:04:15] <fuzzie> bye!
[19:04:19] <-- zefklop has left IRC ("ChatZilla 0.9.75.1 [SeaMonkey 1.1.16/2009040306]")
[19:04:26] --> barra_away has joined #gemrb
[19:04:36] <fuzzie> Avenger: i think it has a sword, but it has only a 'g2' animation, not a 'g21' or 'g22' one
[19:04:47] <fuzzie> and gemrb tries using the missing ones
[19:04:47] <Avenger> oh
[19:04:52] <Avenger> i see
[19:05:16] <fuzzie> and zefklop is trying to fix it properly, so we always use the right animations
[19:05:21] <Avenger> what is the animation prefix?
[19:05:23] <Avenger> mogm?
[19:05:30] <fuzzie> yes
[19:05:41] <fuzzie> so mogmsg21 etc
[19:05:53] <Avenger> but we just recently changed it to type '3'
[19:05:59] <Avenger> i'm sure that's correct
[19:06:11] <fuzzie> which one is type 3?
[19:06:31] <fuzzie> it should be IE_ANI_TWO_FILES, i thought that was 3
[19:06:49] <Avenger> #define IE_ANI_TWO_FILES 3
[19:06:51] <Avenger> yes
[19:06:52] <fuzzie> but it still doesn't have the g21/g22 styles
[19:07:18] <Avenger> we need a much better cataloging of these
[19:07:33] <Avenger> the rare animation types
[19:08:25] <Avenger> it would use AddLR2Suffix
[19:08:36] <Avenger> oops no
[19:08:46] <Avenger> AddTwoFileSuffix
[19:09:08] <Avenger> odd, it wouldn't use g21 or g22
[19:09:21] <Avenger> it would use g1 or g1e
[19:09:35] <Avenger> that's all, no more files
[19:09:47] <fuzzie> yes, which is why i was trying to ask zefklop
[19:09:58] <fuzzie> i think it /should/ be using g2, from what i can gather
[19:10:47] <Avenger> this animation scheme is for chicken, and dog, and other small bg1 animal animations
[19:10:56] <Avenger> achkg1/achkg1e
[19:11:20] <fuzzie> ok, so there is another scheme?
[19:11:29] <fuzzie> the ogre mage should be using mogmsg2/mogmsg2e
[19:11:51] <fuzzie> for when it takes swings with the sword
[19:11:59] <Avenger> the ogre mage has 4 files, plus the sword files
[19:12:36] <Avenger> it should be IE_ANI_FOUR_FILES
[19:12:42] <Avenger> that one has equipment (only weapon)
[19:13:00] <Avenger> and i see this too: case IE_ANI_SIX_FILES_2: //MOGR (variant of FOUR_FILES
[19:13:08] <fuzzie> ok, that seems to make sense
[19:13:17] <fuzzie> i think this is what zefklop wanted to know :)
[19:13:27] <Avenger> so ogre mage should be FOUR_FILES, and the rest should be the six_files_2
[19:13:53] <Avenger> but this was once done, i wonder why it isn't now :)
[19:14:23] <fuzzie> well, the ogre mage has 4 anim files and 4 sword anim files, that is IE_ANI_FOUR_FILES? or are there seperate entries for the sword and actor?
[19:14:47] <danamin> Is there a reason why GetTableValue is restricted to using either two string or two numbers as indices?
[19:14:53] <Avenger> the equipment files were not counted
[19:14:58] <Avenger> they are optional
[19:15:19] <Avenger> danamin: yes, it would be crazy to have 4 different methods :)
[19:15:32] <fuzzie> Avenger: but the equipment files are the whole problem, because it is picking the wrong one (g21/g22 and not g2)
[19:15:43] <Avenger> danamin: you can convert the strings to row/column or the row/column to string
[19:16:14] <Avenger> fuzzie: dunno why
[19:16:21] <Avenger> normal animation is picked correctly?
[19:16:48] <Avenger> see void CharAnimations::AddLRSuffix( char* ResRef, unsigned char StanceID
[19:16:58] <Avenger> it uses the same suffix for equpment than for the anim
[19:17:11] <fuzzie> GetLREquipmentRef is not called?
[19:18:43] <Avenger> its called, but the suffix is calculated in GetLRSuffix
[19:19:14] <Avenger> sprintf( ResRef, "%4s%c%s", this->ResRef, equipRef[0], equip->Suffix ); (equipref[0] is 'S' equip->Suffix is G1 or G2
[19:19:28] <fuzzie> ok. strange.
[19:19:35] <fuzzie> i'll have another look myself, i guess
[19:20:05] <Avenger> it prints it out
[19:20:09] <Avenger> so, you should see it
[19:20:26] <Avenger> where is this ogre mage?
[19:21:07] <-- barraAway has left IRC (Read error: 110 (Connection timed out))
[19:21:42] <danamin> Avenger: is there a method to do the conversion? (or is it just manual resolution?)
[19:21:56] <Avenger> which direction you need?
[19:22:04] <Avenger> there are functions for all
[19:22:17] <Avenger> GetTableRowName(row), for example
[19:22:21] <danamin> OK, I found them
[19:22:32] <lynxlynxlynx>
[19:22:35] <fuzzie> Avenger: it is summoned near the start of SoA. it doesn't animate at all in svn, no movement
[19:22:58] <danamin> I think I'm going to patch the metaclass to outconvert
[19:23:01] <fuzzie> maybe this is the wrong one :)
[19:23:02] <Avenger> ahh the aquatah ogre
[19:23:11] <danamin> autoconvert
[19:23:19] <Avenger> that's ok
[19:24:01] <Avenger> i mean, that's a good idea :)
[19:24:51] <lynxlynxlynx> depends on how it is done
[19:25:05] <lynxlynxlynx> there are plenty of table labels that are numbers
[19:25:12] <fuzzie> if you make it work then put it in pastebin, i suppose
[19:25:16] <fuzzie> and we'll take a look seperately
[19:25:29] <lynxlynxlynx> so autoconverting can make us sloppy
[19:26:22] <lynxlynxlynx> btw, the shout fix didn't seem to fix the guards for me, only two attacked (like before)
[19:26:35] <fuzzie> yes, there is Yet Another Bug there somewhere i think :)
[19:26:41] <Avenger> intersting my ogre walks
[19:26:59] <lynxlynxlynx> my moves too
[19:27:09] <lynxlynxlynx> all the tob ch1 ones aswell
[19:27:09] <Avenger> on the other hand, if an actor is selected twice, the screen should center on it
[19:27:31] <Avenger> maybe it isn't doing that because i've paused
[19:27:41] <fuzzie> Avenger: any double-clicking should center
[19:27:54] <fuzzie> gemrb doesn't seem to do it at all
[19:28:18] <Avenger> there is no attack animation
[19:28:26] <Avenger> just a still image
[19:28:30] <Avenger> that's your problem?
[19:29:05] <fuzzie> zefklop fixed that in his copy, but then it didn't work because of the equipment problem
[19:29:27] <lynxlynxlynx> you do need to unpause for the viewport move
[19:29:44] <fuzzie> does gemrb implement double-clicking on actors and not elsewhere?
[19:30:12] <Avenger> 3 is not the right animation for this
[19:31:43] <fuzzie> what is called for the selection, ChangeMap?
[19:32:06] <lynxlynxlynx> doubleclicking was added for map notes iirc
[19:32:33] <Avenger> but four files could also be wrong
[19:33:00] <Avenger> it has 48 cycles in g1, and 24 cycles in g2
[19:33:08] <fuzzie> oh, we do SF_CENTERONACTOR. ok.
[19:34:29] <Avenger> doh, it is FOUR_FILES
[19:35:07] <Avenger> but i know we tested it with that too
[19:36:10] <Avenger> ok, change the 3 to 2 in avatars.2da
[19:37:32] <Avenger> damn imoen, why she doesn't cast spells!
[19:37:50] <Avenger> i turned off AI
[19:37:53] <Avenger> and still
[19:38:20] <Avenger> this is crap
[19:38:31] <Avenger> i thought the AI turning off works
[19:38:43] <fuzzie> Avenger: it seems to work fine with 2 instead of 3
[19:39:12] <Avenger> yes, but i don't know why it was 3
[19:39:17] <Avenger> in all other games it is 2
[19:39:30] <CIA-2> gemrb: 03avenger_teambg * r6436 10/gemrb/trunk/gemrb/override/bg2/avatars.2da: hmm, ogre mage animation switched back to 2?
[19:40:02] <fuzzie> "bg2: fixed dog and ogrillion avatars"
[19:41:21] <fuzzie> lynx changed MOGM, MOGH, MOGN and MDOG there, i don't knwo what's correct
[19:41:48] <lynxlynxlynx> this was recent, i was doing what Avenger instructed ;()
[19:41:51] <fuzzie> SF_CENTERONACTOR does not work in pause, so the guiscript is not very helpful with the portait clicking.
[19:42:02] <fuzzie> i'll take a look tomorrow if no-one else does
[19:42:14] <lynxlynxlynx> too bad it caused so much trouble
[19:42:15] <danamin> fuzzie: autoConvert http://pastebin.com/d6ee3a2df
[19:42:44] <danamin> to be pasted into GUIClasses, GTable
[19:42:55] <Avenger> hmm, mogm was not needed :)
[19:43:29] <lynxlynxlynx> danamin: where did Type dissapear?
[19:43:39] <fuzzie> lynxlynxlynx: I think it is difficult to avoid little changes causing trouble, now.
[19:43:53] <danamin> oops
[19:44:13] <lynxlynxlynx> we were attacking the bad ogrillions
[19:44:52] <fuzzie> sometimes there are things in svn which just get changed back and forth for a while until someone notices :)
[19:44:58] <lynxlynxlynx> danamin: i'd also first do a check if both types are the same, to avoid needless checking
[19:47:00] <-- mattinm1987 has left IRC ("Leaving")
[19:47:58] <danamin> so, would this change be usefull or is it just too risky?
[19:48:31] <danamin> (http://pastebin.com/d6ef8d950)
[19:48:36] <lynxlynxlynx> i don't think it is really risky
[19:49:06] <lynxlynxlynx> but i also think all of our current scriptwritters have accepted how GetTableValue works ;)
[19:50:08] <lynxlynxlynx> you don't need to check the type 6 times
[19:51:05] <lynxlynxlynx> 3 should be enough
[19:53:04] <danamin> true
[19:53:22] <fuzzie> Avenger: i think all of those Saradush guards are neutral by default, so it is difficult to see how InMyGroup would work
[19:53:37] <Avenger> haha, true
[19:53:59] <Avenger> so, inmygroup sucks
[19:54:14] <fuzzie> someone on IM says that it actually checks 'specifics'
[19:54:43] <fuzzie> and, if i google for that, devSin says: A group in BG2 is defined as 2 characters with the same specifics value. I don't know if GemRB supports this yet.
[19:57:16] <fuzzie> and all of those Saradush fighters have specific 0xd0
[19:59:13] <fuzzie> so that sounds more likely after all, i can't find any counterxamples
[20:05:59] <-- lynxlynxlynx has left IRC (Remote closed the connection)
[20:27:24] <Avenger> yes we have specifics
[20:27:39] <Avenger> and i almost deleted code that uses specifics as group ID :D
[20:27:57] <Avenger> ok, so InMyGroup means, same IE_SPECIFICS
[20:28:03] <fuzzie> yes.
[20:28:09] <Avenger> iesdp sucks
[20:28:11] <fuzzie> i checked it in ToB.
[20:28:21] <fuzzie> yes :(
[20:28:45] <fuzzie> We should write our own Trigger/Action documentation from scratch, maybe.
[20:31:03] <CIA-2> gemrb: 03avenger_teambg * r6437 10/gemrb/trunk/gemrb/plugins/Core/Triggers.cpp: group is defined bye IE_SPECIFIC ...
[20:33:42] <fuzzie> ok, that Saradush intro seems to work fine with that
[20:34:10] <fuzzie> and when you kill them all, Melissan initiates dialog as expected
[20:36:56] <fuzzie> shows more searchmap bugs though :/ hopefully i can fix them this week
[20:39:24] <fuzzie> damn, segfault
[20:44:41] <fuzzie> ugh, corrupt Actor
[20:48:24] <fuzzie> heh, this is an area initiating a dialog!
[20:49:33] <fuzzie> that surely cannot work
[20:49:51] <fuzzie> but there is indeed StartDialogNoSet([PC]) in the area script
[21:05:05] <CIA-2> gemrb: 03fuzzie * r6438 10/gemrb/trunk/gemrb/plugins/Core/GSUtils.cpp: don't crash if CanSee fails in BeginDialog with a non-actor speaker
[21:11:22] <-- Gekz has left IRC (Read error: 104 (Connection reset by peer))
[21:14:46] --> Gekz has joined #GemRB
[21:15:44] <Avenger> how could StartDialogNoSet([PC]) work in an area?
[21:15:49] <fuzzie> it doesn't, but it is there
[21:15:54] <Avenger> O_o
[21:16:04] <fuzzie> ToB, AR5016, at the bottom :)
[21:16:55] <Avenger> amazing
[21:16:56] <fuzzie> the actor (Mateo) automatically initiates dialog anyway, so I guess the original engine just ignores it.
[21:19:16] <fuzzie> I can only reproduce it occasionally in gemrb, most of the time Mateo initiates dialog before the area script runs, and sets the global itself.
[21:20:18] <Avenger> what if the area runs faster, can mateo still work?
[21:20:34] <Avenger> that code seems to interfere if it manages to set the global itself
[21:20:45] <fuzzie> hm, never mind, the global used by the dialog is different
[21:20:58] <fuzzie> i guess that BeginDialog in gemrb just silently fails most of the time
[21:21:03] <fuzzie> i only saw it because of the crash
[21:22:01] <-- Gekz has left IRC (Read error: 54 (Connection reset by peer))
[21:23:17] --> Gekz has joined #GemRB
[21:33:17] <danamin> how many mage spell levels does BG1 have?
[21:33:57] <fuzzie> 5, it looks like
[21:34:12] <danamin> ok
[21:34:12] <fuzzie> the manual agrees
[21:34:32] <fuzzie> you probably don't want to hard-code that, though?
[21:34:54] <danamin> its hardcoded in RemoveKnownSpells
[21:35:30] <danamin> made the chargen segfault
[21:35:32] <fuzzie> Ah.
[21:36:07] <fuzzie> strange
[21:36:07] <danamin> an priest spells?
[21:36:12] <fuzzie> also 5
[21:36:39] <fuzzie> where does it segfault, i wonder
[21:37:19] <danamin> OK, its not the 5 that does it, the segfault is elsewhere
[21:38:01] <fuzzie> if the 'type' is incorrect, it will segfaulkt
[21:38:05] <fuzzie> that is the only segfault i see
[21:39:46] <fuzzie> even then, you don't seem to call anything which wouldn't be checked for type first :/
[21:39:51] <danamin> if GemRB_GetKnownSpellsCount is called, arguments 1,1,0 it segfaults in stl_vector.h
[21:40:10] <fuzzie> thanks
[21:40:16] <danamin> line 485
[21:40:40] <fuzzie> if you're using gdb, 'bt' and then the first gemrb line would be useful
[21:41:08] <danamin> I'm using in from eclipse so i'll rerun outside it
[21:42:25] <fuzzie> so that is actor 1, spell type IE_SPELL_TYPE_WIZARD, level 1. i guess something doesn't initialize the spellbook
[21:42:45] <danamin> so, bt
[21:42:46] <danamin> Spellbook::GetKnownSpellsCount (this=0xa5d7284, type=1, level=0)
[21:42:46] <danamin> at /usr/include/c++/4.3/bits/stl_vector.h:485
[21:42:46] <danamin> #1 0xb763c6c3 in GemRB_GetKnownSpellsCount (args=0xa56e694)
[21:42:46] <danamin> at GUIScript.cpp:6338
[21:43:40] <danamin> does SetMemorizableSpellsCount cause that?
[21:44:25] <fuzzie> the bg2 chargen seems to only call it for INNATE, so you wouldn't think so
[21:48:23] <fuzzie> http://fuzzie.org/nfs/gemrb/check_spellbook_size.txt
[21:48:37] <fuzzie> ^- try that, if you're okay applying patches
[21:49:11] <fuzzie> oh, it would help if it compiled!
[21:49:56] <fuzzie> the one there now does, anyway
[21:49:58] <danamin> I think it happens when I try to clear the mage spells for a cleric type and vice versa
[21:50:32] <fuzzie> it happens when the type didn't get initialised for that actor, so maybe
[21:50:48] <fuzzie> but gemrb should not segfault, so it would be nice to know if the patch fixes it :)
[21:53:47] <danamin> I'm rebuilding so this may take a while
[22:00:25] <danamin> it helped, thanks
[22:01:33] <danamin> the new chargen works, I only have to pack it up in a diff
[22:02:19] <CIA-2> gemrb: 03fuzzie * r6439 10/gemrb/trunk/gemrb/plugins/Core/Spellbook.cpp: sanity-check vector size in Spellbook::GetKnownSpellsCount
[22:02:39] <fuzzie> ok. it might take us a few days to review it, if it is big :)
[22:04:35] <danamin> it will be, any hints on making a nice diff?
[22:05:08] <fuzzie> well, if you can do diff the bg1/ changes seperately from anything you changed outside bg1/, it would be nice
[22:05:47] <fuzzie> otherwise i think any diff is ok, I'll apply it and then make another one if needed.
[22:06:32] <danamin> OK, I'm first going to clean a little, then split and put it on sourceforge
[22:06:42] <fuzzie> great :)
[22:09:12] <danamin> first part, very small: autoconvert http://pastebin.com/m79960df0
[22:09:17] <-- Avenger has left IRC ("bye!")
[22:10:30] <danamin> was there a shorthand in diff for 'remove file'
[22:10:39] <wjp> hm, I think that one is best done in GUIScript.cpp
[22:10:52] <wjp> (the autoconvert, I mean)
[22:11:02] <fuzzie> well, or by converting the callers :) we'll have to work it out
[22:11:31] <fuzzie> danamin: if you're using svn's diff, just leave it at defaults
[22:11:45] <danamin> fuzzie: OK
[22:16:36] <-- Edheldil has left IRC ("Really?")
[22:22:34] <danamin> so, its on sourceforge
[22:22:42] <danamin> I hope I packed it good
[22:23:38] <fuzzie> the chargenpatchBG2.diff seems to only remove things
[22:24:18] <fuzzie> maybe you didn't 'svn add' the moved files?
[22:24:42] <fuzzie> or are they mixed in with the other patch?
[22:24:58] <fuzzie> ah, i guess they are. hrm, ok
[22:25:25] <danamin> The autocnvert patch is also in there but is only used for starting gold
[22:26:14] <danamin> I could pull te BG2 patch furter out, but now I'm going to sleep
[22:26:19] <fuzzie> goodnight!
[22:26:35] <fuzzie> it looks great at a glance
[22:26:52] <fuzzie> so much better than what we have
[22:27:18] <fuzzie> and i think it's no problem for us to pull the bg2 patch out
[22:27:28] --> Avenger has joined #gemrb
[22:27:38] <Avenger> fuzzie: why do you need that 'sanity check' ?
[22:27:55] <fuzzie> Avenger: because otherwise you can cause segfaults when calling it from python
[22:27:57] <Avenger> did you take a peek what GetSpellLevelsCount does?
[22:28:16] <fuzzie> and so clearly the existing code does not work properly :)
[22:28:28] <danamin> my naming style is not very consistent and proficiencies are just broken, but appart from that, ...
[22:28:35] <danamin> but goognight
[22:28:37] <-- danamin has left IRC ()
[22:29:10] <Avenger> but getspellevelcount returns exactly the same value
[22:29:43] <fuzzie> huh, you're right.
[22:29:53] <fuzzie> i added it without thinking and it fixed the segfault
[22:30:08] <fuzzie> so i guess we missed the actual bug here
[22:30:13] <Avenger> i never know how operator precedence works
[22:30:26] <fuzzie> i think the precedence there is absoluytely fine
[22:30:43] <Avenger> then how could this fix the problem, i wonder
[22:30:55] <fuzzie> i must revert it, anyway!
[22:31:24] <fuzzie> how on earth can the vector by segfaulting if it isn't that, i wonder
[22:31:55] <Avenger> spells don't have the 3 elements
[22:32:08] <Avenger> type compares with NUM_BOOK_TYPES
[22:32:55] <Avenger> ok, i have to sleep
[22:32:57] <Avenger> bye
[22:32:59] <-- Avenger has left IRC ("bye!")
[22:33:01] <CIA-2> gemrb: 03fuzzie * r6440 10/gemrb/trunk/gemrb/plugins/Core/Spellbook.cpp: revert stupid commit, problem must lie elsewhere
[22:33:49] <wjp> fuzzie: negative type?
[22:34:07] <fuzzie> i tried what danamin suggesting, just passing 1 and 0 to it
[22:34:11] <fuzzie> and it died on me too
[22:35:16] <fuzzie> perhaps the spellbook is randomly bad
[22:35:26] <fuzzie> i should really sleep, in any case
[22:35:32] <wjp> good night