#gemrb@irc.freenode.net logs for 30 Jul 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:14:34] --> _pickle has joined #GemRb
[00:41:18] <-- edheldil_ has left IRC (Quit: Really?)
[00:43:37] --> raevol has joined #GemRb
[01:53:32] <-- _pickle has left IRC (Remote host closed the connection)
[02:21:23] <-- budlust has left IRC (Ping timeout: 260 seconds)
[02:26:17] --> budlust has joined #GemRb
[05:57:31] <-- raevol has left IRC (Quit: Leaving.)
[06:17:12] --> lynxlynxlynx has joined #GemRb
[06:17:12] --- ChanServ gives channel operator status to lynxlynxlynx
[07:07:35] <lynxlynxlynx> hmpf, gems can still start with a 0 stack ammount
[07:17:32] <-- |Cable| has left IRC (Remote host closed the connection)
[07:21:44] <fuzzie> i think the gems are different
[07:22:00] <fuzzie> do you have an example?
[07:26:08] <lynxlynxlynx> they are different, i doubt they have charges
[07:26:43] <lynxlynxlynx> one gem is available in the vale tomb, if you still have that save
[07:30:44] <lynxlynxlynx> a randomly dropped gem worked ok
[07:30:46] <fuzzie> was hoping for an area :) no saves or anything here
[07:30:55] <lynxlynxlynx> do you have iwd?
[07:30:59] <fuzzie> umm
[07:31:31] <fuzzie> yes
[07:31:41] <lynxlynxlynx> ar3501
[07:31:46] <lynxlynxlynx> Container offeringbox
[07:32:05] <lynxlynxlynx> that's the tiny one in the southeastern corner
[07:32:34] <lynxlynxlynx> mine has a turquise in it and some gold
[07:33:07] <lynxlynxlynx> could this be just an old save game issue? When do we do the random item resolution for containers?
[07:33:14] <fuzzie> always
[07:33:24] <lynxlynxlynx> so it is fresh
[07:36:05] <lynxlynxlynx> ah
[07:36:39] <lynxlynxlynx> we display the charges
[07:36:47] <lynxlynxlynx> now i remember the comment from UpdateInventorySlot
[07:37:12] <lynxlynxlynx> i'll play with that
[07:37:20] <fuzzie> non-stackable?
[07:37:38] <fuzzie> i think the should still get a charge, actually. maybe not in iwd.
[07:40:21] <lynxlynxlynx> heh, displaying the stackamount makes the 5 gold into 999 and the 0 turquise into 20 :)
[07:40:53] --> SiENcE has joined #GemRb
[07:43:22] <lynxlynxlynx> yeah, it looks like it should get the "charge"
[07:44:08] <fuzzie> i can't find the container, but i managed to ctrl-y all my own party members, so maybe had better drink more coffee
[07:44:55] <lynxlynxlynx> StackAmount contains the max stack amount, not the current one
[07:45:16] <lynxlynxlynx> while the first charge is used for that
[07:45:31] <lynxlynxlynx> it's pretty clear if you look at an arrow stack
[07:53:17] <fuzzie> hm
[07:54:33] <lynxlynxlynx> the table lookup fails
[07:54:54] <fuzzie> in the random table?
[07:54:55] <lynxlynxlynx> in Interface::ResolveRandomItem, i mean
[07:54:58] <lynxlynxlynx> yeah
[07:55:18] <fuzzie> i mean, that area has a misc19 with 0 charges, and misc19.itm's extended header has 0 charges
[07:55:33] <lynxlynxlynx> yeah, the item is already in there
[07:55:43] <lynxlynxlynx> the later part sucks though
[07:56:31] <lynxlynxlynx> ok, so how do you feel about making HackCharges use 1 in such cases?
[07:56:36] <fuzzie> well
[07:57:11] <fuzzie> i would prefer to test how it actually works, but i have no way of actually running iwd here, i only have an unshield-ded install without the Windows binaries
[07:57:44] <lynxlynxlynx> how would you test this?
[07:58:24] <fuzzie> load the area in the original, save, see if the container item now has 1 charge
[08:01:30] <fuzzie> i don't think it is the case
[08:01:46] <fuzzie> in bg2, i even see actors in original saves with inventories which have gems and 0 charges
[08:05:28] <fuzzie> so maybe have to inspect an original save with a picked-up gem
[08:06:03] <fuzzie> v.irritating
[08:06:23] <fuzzie> i have no objection to you hacking HackCharges with a note that it's a hack which doesn't seem to work like the original, though
[08:08:00] <lynxlynxlynx> both iwd and how crash here :|
[08:08:10] <lynxlynxlynx> i think i have a pure wine install too though
[08:08:55] <fuzzie> as long as i have some way of remembering to look into it
[08:13:33] <lynxlynxlynx> i must've never run this install, it doesn't work due to case sensitivity
[08:14:09] <lynxlynxlynx> so the hack it is
[08:21:07] <CIA-26> GemRB: 03lynxlupodian * r17abd4e7bef7 10gemrb/gemrb/GUIScripts/GUICommon.py: clarified a comment in UpdateInventorySlot
[08:21:08] <CIA-26> GemRB: 03lynxlupodian * rb4f3f54e721c 10gemrb/gemrb/core/Inventory.cpp: added a small hack so gems always have at least one "charge"
[08:21:12] <CIA-26> GemRB: 03lynxlupodian * r51a78a87018b 10gemrb/NEWS: NEWS bump
[08:47:46] --> Maighstir has joined #GemRb
[09:31:57] <Maighstir> another point of inconsistency with the original games: double-clicking in GemRB makes characters in Ps:T run, in the original games it's ctrl-click to run, double-click in the original games does "walk to where I clicked and center the camera there as well". Of course, ctrl-click might not work as expected on the mac, since Mac OS usually treats that as a right-click.
[09:34:12] <lynxlynxlynx> doesn't the original have an "always run" option?
[09:34:32] <lynxlynxlynx> indeed
[09:34:49] <fuzzie> yes
[09:35:03] <fuzzie> but gemrb really doesn't run PS:T very well anyway
[09:47:54] <fuzzie> (i thought it was shift-click?)
[09:48:30] <Edheldil> ah, I had Always Run on too
[09:49:13] <fuzzie> there's so very much hard-coded stuff in PS:T, it is depressing
[09:49:23] <Edheldil> that should be easily configurable with mouse/key mapping, once we commit it :)
[09:49:40] <fuzzie> well, i didn't work out how to do mouse mapping yet
[09:51:01] <fuzzie> the main feature request is just to have some way to right-click, which is a different thing
[09:51:05] <Edheldil> similar to keymapping, whatever it would be
[09:51:19] <fuzzie> (keypress which is bound to guiscript which fakes a right-click event)
[09:52:00] <Edheldil> it has to be keypress + mousepos, no?
[09:53:17] <fuzzie> well, i just added a guiscript function to fake it, and so the python doesn't need the mousepos
[09:53:30] <fuzzie> but that was just an experiment, didn't think about it
[09:57:47] <fuzzie> and passing mouse clicks through guiscript is no huge problem but i wonder if it's truly useful
[09:59:40] <fuzzie> just worried that would quickly go to "pass all mouse movement to guiscript", and then it's a performance hit
[13:00:33] <-- budlust has left IRC (Quit: Lost terminal)
[14:05:12] <lynxlynxlynx> fuzzie: here?
[14:05:32] <fuzzie> yes
[14:06:10] <lynxlynxlynx> do you have time to test something for me in the original iwd?
[14:06:33] <fuzzie> i can't run the original iwd from here, i just have that unshielded data until i'm home (tonight)
[14:06:39] <lynxlynxlynx> ok
[14:07:01] <lynxlynxlynx> i'm not sure if fx_detect_alignment does any sanity checking on the stats
[14:07:09] <CIA-26> GemRB: 03lynxlupodian * r373e606e9593 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp: fixed the good-evil detection in fx_detect_alignment
[14:07:26] <lynxlynxlynx> the skeletons in that tomb for example have 0 alignment (invalid), so we don't show them
[14:08:39] <fuzzie> hm
[14:13:37] <fuzzie> what's param2?
[14:14:46] <fuzzie> oh, right
[14:16:39] --> Maighstir_laptop has joined #GemRb
[14:16:50] <lynxlynxlynx> it has other problems in iwd: casting time of 1 round taking let's say 3; and it doesn't apply it on the whole area
[14:17:45] <-- Maighstir has left #GemRb
[15:09:22] <-- SiENcE has left IRC (Quit: @all: cya)
[15:24:03] <-- Maighstir_laptop has left IRC (Quit: Maighstir_laptop)
[16:53:51] --> Maighstir_laptop has joined #GemRb
[17:52:18] <CIA-26> GemRB: 03avenger_teambg * r2a94315b3501 10gemrb/gemrb/ (3 files in 3 dirs): fixed several problems with pst variable handling
[17:58:35] <CIA-26> GemRB: 03avenger_teambg * r751f8bae66b9 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp: simplified the alignment detection code (less confusion this way)
[17:59:10] --> Avenger has joined #GemRb
[17:59:16] --- ChanServ gives channel operator status to Avenger
[17:59:41] <Avenger> lynx: grats for fixing the alignment opcode :)
[18:38:34] <-- Maighstir_laptop has left IRC (Quit: Maighstir_laptop)
[19:40:24] --> |Cable| has joined #GemRb
[19:40:57] <fuzzie> hi.
[19:56:21] <fuzzie> Avenger: you have an offset for the anim code in bg2?
[19:56:32] <fuzzie> oh, i guess there's going to be string references in it
[20:16:03] <Avenger> ?
[20:17:07] <Avenger> you mean the char animation stuff?
[20:18:25] <fuzzie> yes
[20:18:27] <fuzzie> sorry
[20:18:55] <fuzzie> really doesn't matter, just waiting for IDA to do the dissassembly, it'll take a while
[20:20:24] <fuzzie> but i want to see if i can just automate avatars.2da from the binary
[20:21:59] <Avenger> 008BD53C is the setup
[20:22:17] <Avenger> but you will need to find a call in it
[20:23:04] <Avenger> that offset is to tob what is 006F7786 to bg1 :)
[20:23:08] <Avenger> if that makes any sense
[20:23:09] <fuzzie> right
[20:23:30] <Avenger> i don't have it disassembled yet, i just found it via the projectile code :)
[20:23:39] <Avenger> and i'm on linux now
[20:23:51] <fuzzie> and, yes, i found your bg1 stuff
[20:24:01] <fuzzie> which is why i asked if you knew where it was for bg2
[20:24:23] <Avenger> just looked for the smoke puff setup in the projectile code
[20:24:37] <fuzzie> but you're just manually looking at disasm dumps here?
[20:24:46] <fuzzie> or do you have some tool which you can use for cross-references etc?
[20:24:49] <Avenger> hehe, everything connects in the IE, if you know one stuff you can follow the tracks
[20:25:01] <Avenger> i'm manually looking at them, yes
[20:25:18] <Avenger> and i don't even have any more than i already filed
[20:25:25] <fuzzie> i have never looked at bgmain.exe before, but for other games, IDA Pro lets you just view a list of references to any string in the binary
[20:25:42] <Avenger> that's cool, then you can find them faster than me
[20:25:45] <fuzzie> so you just pick some anim string, 'go to first reference', 'go to top of function' :p
[20:26:15] <Avenger> by now, i know the engine a little
[20:26:30] <fuzzie> yes, and that is the most important bit, no tool can do all the work for you
[20:26:57] <Avenger> yep, doing it in this stone age way helps me to learn it more :)
[20:27:03] <lynxlynxlynx> Avenger: it's still not perfect, since the aoe of its projectile doesn't cover the whole map
[20:27:22] <Avenger> lynx? what are we talking about? what aoe
[20:27:30] <fuzzie> is it a built-in projectile?
[20:27:36] <fuzzie> oh, it is iwd, it is of course built-in
[20:27:52] <Avenger> detect evil?
[20:27:54] <lynxlynxlynx> yes
[20:28:04] <Avenger> hmm
[20:28:20] <Avenger> ok, looks like i have to boot into windows
[20:28:23] <Avenger> be right back
[20:28:25] <-- Avenger has left IRC (Quit: bye!)
[20:28:35] <lynxlynxlynx> heh
[20:30:55] --> Avenger has joined #GemRb
[20:30:57] --- ChanServ gives channel operator status to Avenger
[20:32:17] <Avenger> so, the projectile is 239
[20:32:39] --> Maighstir_laptop has joined #GemRb
[20:33:02] <Avenger> its radius is 300
[20:33:16] <lynxlynxlynx> yes
[20:33:37] <Avenger> hmm didn't you say it should detect the whole area? or ?
[20:33:44] <lynxlynxlynx> it should care about radius, but affect the whole area
[20:33:58] <lynxlynxlynx> i'm sure a big enough area is bigger than the max value that dltcep can set
[20:34:04] <Avenger> that somehow confuses me :)
[20:34:12] <lynxlynxlynx> (for the radius)
[20:34:27] <fuzzie> you mean that the radius should be so large that it always covers everything?
[20:34:29] <Avenger> the projectile has a 300 radius aoe, it shouldn't affect anything outside
[20:34:34] <lynxlynxlynx> put differently, the effect should be ran on all the actors
[20:34:47] <fuzzie> so you mean, the effect should move with the actors, and not be aoe?
[20:35:01] <lynxlynxlynx> move?
[20:35:14] <fuzzie> well, you are confusing :)
[20:35:28] <lynxlynxlynx> i can't test the original iwd, but in bg2 the effect was definitely "global"
[20:35:35] <Avenger> fuzzie, you can look at the how projectile disassembly: this is the detect evil projectile offset: 005AB97E
[20:35:50] <Avenger> ok, wait a moment
[20:36:23] <Avenger> the projectile and the effect are different ;) i thought you talk about the detect evil spell in HoW
[20:36:46] <Avenger> the effect itself shouldn't have any radius
[20:38:01] <Avenger> so what do you talk about, bg2 spell?
[20:38:32] <fuzzie> we should perhaps have a wiki page of things to check in the original games.
[20:38:54] <Avenger> the detect evil spell in bg2 should affect all living
[20:39:10] <Avenger> it has no projectile, but an obscure targeting
[20:39:26] <lynxlynxlynx> i was talking about the how spell, yes
[20:39:43] <Avenger> the effect itself has the targeting: 4 All living
[20:39:56] <Avenger> so that may not work
[20:39:59] <lynxlynxlynx> now it's more of a known alignment alternative rather than something useful
[20:40:36] <Avenger> you are really confusing, you know
[20:40:45] <lynxlynxlynx> the bg2 version worked at some point, because i remember fixing an off-by-1 error very early in my involvement
[20:41:24] <Avenger> maybe lets go back and start everything from the beginning
[20:41:35] <fuzzie> as Avenger says, the how projectile has a radius of 300.
[20:41:56] <Avenger> yes, its center is 'self'
[20:42:45] <Avenger> i think i know what lynx wants to say
[20:42:57] <fuzzie> well, i don't know anything about how, so i can't contribute
[20:43:04] <Avenger> the effect should go with the caster?
[20:43:19] <Avenger> but then i don't quite see why it has a projectile
[20:43:24] <lynxlynxlynx> the bg2 spell works fine, just confirmed
[20:44:06] <lynxlynxlynx> i thought the iwd variant wants to behave the same, but i can't check it
[20:45:00] <Avenger> the effects are the same, but the spells are different
[20:45:13] <Avenger> the bg2 version marks everyone in the area
[20:45:19] <Avenger> the how version doesn't
[20:45:29] <Avenger> at least, that's what i see from the code
[20:45:46] <Avenger> i didn't test with the original engine :)
[20:46:06] <lynxlynxlynx> then there is no issue
[20:46:19] <Avenger> well, always check the original engine
[20:46:30] <lynxlynxlynx> the casting time is too long, but i highly doubt this is specific to this spell
[20:46:45] <Avenger> yes, that may be wrong
[20:46:59] <Avenger> the longer the casting time, the bigger the difference, i gues
[20:47:35] <Avenger> ok, then there is no bug :)
[20:48:43] <lynxlynxlynx> well, it is supposed to be cast in 1 round and there's already a 2-4x difference
[20:50:17] <lynxlynxlynx> btw, iwd has 7s rounds, so i was thinking of externalising this info to a table
[20:50:28] <lynxlynxlynx> pst has a non-6s round too
[20:50:46] <Avenger> yes, it should go to some table
[20:50:53] <lynxlynxlynx> it is easily figured out by checking effect durations
[20:51:28] <fuzzie> not in pst
[20:51:54] <lynxlynxlynx> how come?
[20:51:56] <fuzzie> not sure about the other games, but in pst all the descriptions are inconsistent and the same for duration multipliers
[20:52:06] <fuzzie> so i see no way to work anything out from there
[20:52:51] <fuzzie> it is irritating because i figured, i'll just look at the effects and work it out from there
[20:53:10] <lynxlynxlynx> i'm sure the modders could help, they have a good feeling on how long a round lasts
[20:53:16] <fuzzie> but the spell descriptions are useless, the effect code is inconsistent, the spell/etc durations give several different values, etc
[20:53:33] <fuzzie> and the fixpack people were all 'oh! right! rounds aren't 6 seconds? that explains a lot.'
[20:53:34] <lynxlynxlynx> look at the most simple effects
[20:53:40] <lynxlynxlynx> hehe
[20:53:59] <fuzzie> but maybe there's a way to do it using scripts?
[20:54:09] <fuzzie> i guess they are not checked every fram
[20:54:09] <fuzzie> e
[20:59:04] <lynxlynxlynx> AI_UPDATE_TIME is configurable in the original?
[20:59:20] <lynxlynxlynx> i remember some speedy setting, but iirc it was at 30 by default
[21:00:36] <fuzzie> no
[21:00:38] <fuzzie> it is not
[21:01:00] <fuzzie> hardcoded to 15(?) in every binary
[21:01:07] <fuzzie> the round times are often hardcoded to 6s too
[21:01:25] <lynxlynxlynx> must've been something else then
[21:01:32] <fuzzie> i mean
[21:01:58] <fuzzie> our AI_UPDATE_TIME just means "this constant for the number of updates per second"
[21:02:19] <fuzzie> i think there is a setting in bgconfig labelled 'AI update time' or similar
[21:02:23] <fuzzie> but it really means 'framerate'
[21:03:01] <fuzzie> i think devsin explained it all, somewhere
[21:06:54] <lynxlynxlynx> it's ok
[21:09:30] <-- Maighstir_laptop has left IRC (Quit: Maighstir_laptop)
[21:10:46] <fuzzie> doesn't look too impossible to extract avatars data from the exe
[21:11:06] <fuzzie> but IDA is going to take forever to do the analysis, i guess
[21:11:56] <lynxlynxlynx> heh, the pst descriptions use seconds everywhere
[21:12:19] <fuzzie> the fixpack changes the spells to match the descriptions or vice versa, i forget which
[21:14:45] <lynxlynxlynx> looking at the priest spells, the rounds are pretty consistently 5s
[21:15:31] <lynxlynxlynx> at first it looked like they may be 10, but a round is the smallest amount of time, if we assume they kept the same formulas
[21:15:57] <fuzzie> with manual timing, i figured them at about 3.5s
[21:16:18] <fuzzie> and then gave up, because i couldn't work out how accurate that was, just that they were clearly shorter than 6s
[21:16:29] <fuzzie> are you looking at original or fixpack?
[21:16:34] <lynxlynxlynx> original
[21:16:35] --> Maighstir_laptop has joined #GemRb
[21:16:38] <fuzzie> ok.
[21:16:46] <fuzzie> the fixpack TRA has '5 seconds' everywhere too
[21:16:59] <fuzzie> priest and mage
[21:20:13] <lynxlynxlynx> so far only one wierd duration - 12s/level
[21:20:31] <fuzzie> well, the game is full of inconsistencies
[21:20:45] <fuzzie> so i wouldn't worry about single oddnesses
[21:21:09] <lynxlynxlynx> i don't, i'm just reporting the progress
[21:21:42] <lynxlynxlynx> still 300s in an hour :)
[21:22:28] <fuzzie> i think there's nothing requiring that combat round times, magic round times, times used for calculating days/etc and the times used in effects have to have any relation to each other
[21:22:39] <fuzzie> and i think Black Isle cannot be trusted at all
[21:23:33] <Avenger> hmm, something went very wrong with the variables
[21:23:45] <fuzzie> but if you can work anything out about ps:t, i will be grateful
[21:23:51] <fuzzie> Avenger: you broke them?
[21:24:01] <Avenger> looks like,
[21:24:14] <Avenger> in cg, the portrait selection is wrong
[21:24:26] <Avenger> it looks like the token dictionary went bad
[21:24:43] <fuzzie> char *str=(char *) malloc(len);
[21:24:44] <fuzzie> - memcpy(str,value,len);
[21:24:44] <fuzzie> SetAt(key, str);
[21:24:53] <fuzzie> ^-
[21:25:16] <Avenger> - ?
[21:25:19] <fuzzie> yes
[21:25:21] <fuzzie> you removed it
[21:25:22] <Avenger> it is totally remved?
[21:25:27] <Avenger> huh ;)
[21:25:28] <fuzzie> line 320
[21:25:37] <fuzzie> maybe you could try putting it back :)
[21:25:56] <Avenger> please revert any change around line 320
[21:26:01] <Avenger> and commit :)
[21:27:38] <CIA-26> GemRB: 03fuzzie * rb936277581cb 10gemrb/gemrb/core/Variables.cpp: add back accidentally removed line from 2a94315b
[21:28:51] <lynxlynxlynx> yep 5s it is
[21:31:18] <lynxlynxlynx> 5 and 6 are nice, but 7 can't divide 300
[21:32:02] <fuzzie> i really wouldn't trust them to use the same values
[21:32:20] <fuzzie> i mean, for effect/combat code and normal passage of time
[21:33:16] <lynxlynxlynx> that's what we do now and it may be just fine
[21:33:28] <lynxlynxlynx> must check if there is any longterm iwd spell
[21:34:39] <fuzzie> i think for iwd2 it's not the case
[21:34:41] <Avenger> hmm fuzzie, do you have any idea, why i get target busy when imoen tries to talk to me in the end of the starting cutscene?
[21:34:58] <Avenger> playdead disables dialogs now?
[21:35:00] <Avenger> or what
[21:35:16] <fuzzie> Avenger: something recent changed that i think, i get it some other places
[21:35:54] <lynxlynxlynx> *60
[21:35:56] <lynxlynxlynx> err
[21:39:59] <fuzzie> Avenger: the script calls PlayDead?
[21:40:20] <Avenger> well, the protagonist is on the ground
[21:40:30] <Avenger> as part of the torture
[21:40:32] <fuzzie> the non-interruptible form of PlayDead is, well, non-interruptible
[21:41:35] <fuzzie> but we should probably be using the CurrentActionInterruptable setting and not NoInterrupt()
[21:43:11] <Avenger> i think it is just regular playdead
[21:44:36] <fuzzie> yes, ActionOverride(Player1,PlayDead(620))
[21:45:01] <fuzzie> so try changing gemrb's NoInterrupt() call in PlayDead to instead set CurrentActionInterruptable to false
[21:45:12] <Avenger> ActionOverride(Player1,PlayDead(620))
[21:45:21] <Avenger> ahh you found it first
[21:46:30] <Avenger> huh, that nointerrupt is surely wrong
[21:46:54] <fuzzie> PlayDead isn't interruptible
[21:47:03] <fuzzie> but i think it is the action kind of non-interruptible
[21:47:15] <Avenger> ?
[21:47:20] <fuzzie> there are two kinds
[21:47:39] <fuzzie> one of which stops saving and disables dialog and etc
[21:48:01] <fuzzie> and one of which just means that new script blocks don't run
[21:48:40] <fuzzie> NoInterrupt() does the former
[21:48:57] <Avenger> and how do i get the other?
[21:49:00] <fuzzie> to do the latter, which is indeed what PlayDead does according to IESDP and devSin, you do 'CurrentActionInterruptable = false'
[21:49:24] <Avenger> we have such a variable???
[21:49:28] <fuzzie> yes
[21:49:30] <fuzzie> i added it, for this
[21:49:35] <fuzzie> and then forgot to change PlayDead, apparently
[21:50:20] <Avenger> could have been an internal flag :)
[21:50:49] <fuzzie> i know it is a long name, but i am stupid and i like obvious names which say what they do :)
[21:50:50] <Avenger> i'll test with it
[21:51:27] <Avenger> feel free to name the bit as #define IF_CURRENTACTIONISNOTINTERRUPTABLE :P
[21:52:02] <fuzzie> i should get rid of the playDeadCounter too!
[21:52:09] <fuzzie> but not right now, trying to look at the char anims
[21:53:07] <Avenger> ok lets see the cutscene again
[21:53:11] <fuzzie> don't know why i didn't make it an IF in the first place..
[21:53:34] <fuzzie> we should maybe have a 'zoom' key, which goes as fast as possible and only renders every few frames
[21:54:16] <Avenger> i wonder why i don't hear any voice overs for the cutscene talk
[21:54:28] <fuzzie> got a NullSound lying around?
[21:54:37] <Avenger> all other sound effects are audible
[21:54:43] <fuzzie> oh, strange
[21:54:54] <fuzzie> the voice is on a special openal channel of its own
[21:55:04] <Avenger> ok, now i talk to imoen, while on ground :)
[21:55:07] <Avenger> that's better
[21:57:35] <fuzzie> commit that? i'm sure it's right
[21:58:38] <Avenger> why i don't get any xp for kills
[21:58:47] <fuzzie> see, it isn't just me!
[21:59:07] <Avenger> this is fairly recent too :)
[21:59:15] <fuzzie> you only get xp awarded when LastHitter or the last damager is a party member
[21:59:27] <fuzzie> but that all looked ok at a glance, unless something broke in the effect code
[21:59:31] <Avenger> imoen killed the mephit with a spell
[21:59:36] <Avenger> pretty sure :>
[21:59:59] <fuzzie> the Owner of effects after a projectile was used is pretty unreliable, but lynx added code to use CasterID in most places
[22:00:16] <Avenger> this is magic missile
[22:01:46] <fuzzie> but from what i remember of bg2, i'm not convinced this is correct anyway
[22:01:52] <fuzzie> i thought a single hit from an ally didn't steal all xp
[22:02:07] <fuzzie> i'll have to try it. but first, a sandwich.
[22:02:34] <lynxlynxlynx> i'm not so sure
[22:03:07] <lynxlynxlynx> i added that code so also the kills from summons counted btw
[22:03:41] <Avenger> lol, chromatic orb damages the caster
[22:04:01] <lynxlynxlynx> don't worry about that, it is a spell bug
[22:04:15] <lynxlynxlynx> atleast the stun part in bg2
[22:04:56] <Avenger> i definitely don't see any xp
[22:05:37] <lynxlynxlynx> any??
[22:05:44] <fuzzie> i was complaining about this too :P
[22:06:10] <fuzzie> it worked for me only with melee weapons, but i didn't look too far
[22:06:13] <lynxlynxlynx> there were sporadic complaints of missing xp before i touched this :P
[22:07:16] <fuzzie> gosh, i have far too many bg2 saves
[22:07:23] <fuzzie> i just hit 'save' every half hour or so
[22:07:39] <lynxlynxlynx> i get xp from a fireball too
[22:09:24] <fuzzie> you certainly get no xp from a ctrl-y, even if you already did 90% of the damage
[22:10:57] <lynxlynxlynx> where do you have xp problems? I can't reproduce it in how or tob
[22:12:06] <fuzzie> i was also playing around in soa
[22:12:41] <lynxlynxlynx> i tried ranged weapons and a few spells
[22:15:58] <Avenger> hmm lasthitter is correct, and i see if(!killer) killer=area->GetActorByGlobalID(LastHitter);
[22:16:05] <Avenger> so i wonder why it isn't working
[22:18:56] <Avenger> it is even calling into notifykill
[22:19:21] <fuzzie> so is ShareXP just broken?
[22:20:08] <Avenger> no, i got xp now O_o
[22:20:17] <Avenger> so it is random
[22:20:27] <fuzzie> from a new gam?
[22:20:30] <fuzzie> new game
[22:21:01] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:33:10] <Avenger> yes
[22:33:23] <Avenger> it is strange
[22:33:55] <Avenger> LastHitter gets set, but then becomes 0, in the same execution chain
[22:37:10] <fuzzie> oh
[22:37:12] <fuzzie> right
[22:37:42] <fuzzie> in ClearTriggers(), i expect
[22:38:05] <fuzzie> that hack sucks :)
[22:38:36] <fuzzie> but it was worse if i just removed it, someone has to go and look at all the triggers and work out how to do them properly, i guess
[22:38:44] <fuzzie> maybe you know how the original does it?
[22:42:36] <Avenger> it does with lists
[22:42:48] <Avenger> all trigger goes on a list
[23:28:04] <Avenger> huh, auto equip moved a weapon to the helmet slot
[23:52:40] <Avenger> clearActions clears the object
[23:53:20] <fuzzie> object?
[23:53:46] <Avenger> i mean, the trigger
[23:54:03] <Avenger> i guess it could be moved after the xp is given
[23:54:18] <fuzzie> well
[23:54:22] <fuzzie> when does the original engine clear them?
[23:54:29] <fuzzie> in the main loop, every frame, maybe?
[23:54:48] <Avenger> the original engine doesn't create this kind of nested calls
[23:54:59] <Avenger> when it thinks the actor must die, it adds a die effect
[23:55:23] <Avenger> it doesn't call stuff after stuff :) but sends messages after messages
[23:56:35] <Avenger> i'm not sure the original calls clearactions at all
[23:56:59] <Avenger> it usually breaks actions by checking if the actor is dead , inside the action