[00:08:27] <fuzzie> okay, i'm off to sleep now. bugfix/feature requests welcome as ever, night :)
[00:49:28] <-- pupnik has left IRC ("Leaving")
[01:03:56] --> pupnik has joined #gemrb
[01:16:46] --> |Cable| has joined #gemrb
[02:33:26] <-- pupnik has left IRC ("Leaving")
[02:59:52] <CIA-2> gemrb: 03mattinm * r6394 10/gemrb/trunk/gemrb/plugins/Core/Actor.cpp: cleaned up attack/init round debug output
[03:01:17] <mattinm> it cut it down to 1 line for InitRound (only displays when it goes through) to show which actor the round is init'ing, when it started, and how many attacks
[03:02:02] <mattinm> and attack output is 1 line that will show how many attacks left, when the next attack is, how much base damage, and if it (critical) hit/missed
[03:08:45] <CIA-2> gemrb: 03mattinm * r6395 10/gemrb/trunk/gemrb/plugins/Core/Actor.cpp: show main/off in attack output
[03:15:04] <-- barra_library has left IRC ("Verlassend")
[05:57:25] <-- Edheldil has left IRC (Remote closed the connection)
[05:58:26] <-- Gekz has left IRC (Read error: 104 (Connection reset by peer))
[06:02:22] --> Gekz has joined #GemRB
[07:03:01] --> jdm- has joined #gemrb
[07:24:05] --> lynxlynxlynx has joined #gemrb
[07:24:05] --- ChanServ gives channel operator status to lynxlynxlynx
[08:24:34] <-- |Cable| has left IRC ("Leaving")
[08:37:08] <-- jdm- has left IRC (Remote closed the connection)
[08:53:46] <lynxlynxlynx> fuzzie: http://pastebin.ca/1456368 <-- focus crash; *m is fine :s
[09:01:56] <fuzzie> oops
[09:02:50] <fuzzie> i forgot to change the var there. let me check i fixed it elsewhere too..
[09:03:07] <lynxlynxlynx> missing "mouse"?
[09:03:41] <lynxlynxlynx> nevermind
[09:05:10] <fuzzie> yes, missing mouse.
[09:06:13] <fuzzie> i deliberately left EventMgr.cpp:154 alone, that check is probably not necessary at all
[09:06:49] <fuzzie> otherwise it looks fine, so i guess it's just a bug there.
[09:22:29] <fuzzie> do you know which window that was?
[09:24:48] <lynxlynxlynx> i was finishing the splitting of a scroll stack
[09:25:11] <lynxlynxlynx> so it was likely the main inventory one
[09:27:48] <fuzzie> we need the "you have rested for X hours" after sleep :)
[09:28:28] <CIA-2> gemrb: 03fuzzie * r6396 10/gemrb/trunk/gemrb/plugins/Core/EventMgr.cpp: focus crash fix
[10:24:28] --> pupnik has joined #gemrb
[10:25:08] <fuzzie> morning, pupnik
[10:29:23] <pupnik> moo
[10:29:39] <pupnik> how u?
[10:32:44] <fuzzie> cheerful :) you survived your cleaning?
[10:34:49] <pupnik> also cheerful. hernia receeded last night and hasnt popped out today yet
[10:37:04] --> barra_library has joined #gemrb
[10:37:47] <fuzzie> h'rah.
[10:38:43] <-- pupnik has left #gemrb ("Leaving")
[11:04:49] <mattinm> morning everyone
[11:05:25] <barra_library> hi mattinm!
[11:06:39] * mattinm goes to get some tea... early morning *yawn*
[11:12:14] <mattinm> hi barra :)
[11:13:47] <barra_library> :-)
[11:13:55] <mattinm> good day so far?
[11:17:54] <fuzzie> are there any known crashes at the moment apart from the container between areas one?
[11:18:27] <mattinm> i haven't really noticed anything; but i don't do much adventuring
[11:19:33] <barra_library> for me yes :-) no university courses today
[11:19:34] <mattinm> fuzzie: do you know if ps:t/iwd/iwd2 all have the "you have rested" messages?
[11:20:07] <mattinm> barra: that's always nice :)... i'm off until late august
[11:22:34] <fuzzie> pst doesn't have a console window, so we need to rewrite all the message code for it :/
[11:22:44] <fuzzie> lynx has iwd and i have iwd2 to check, will do shortly
[11:23:23] <mattinm> kk...i was rather hoping (against hope, likely) that the strref was the same in all the games... it is in bg1/2, but that is to be expected
[11:24:58] <fuzzie> well, the injured strrefs turned out to be the same in bg1/iwd/how/iwd2 :)
[11:25:27] <fuzzie> what's it in bg1/bg2?
[11:25:30] <mattinm> perhaps then :)... it's 10700 for hours and 10690 for the rest message
[11:25:35] <mattinm> hehe, right as i finished typing it
[11:25:44] <fuzzie> @10690 = ~You have rested for <DURATION>.~
[11:25:49] <fuzzie> @10700 = ~<HOUR> hours~
[11:25:51] <fuzzie> ^- iwd2
[11:25:54] <mattinm> sweet
[11:26:23] <fuzzie> @19262 = ~You rested for <HOUR> <DURATION>~
[11:26:33] <fuzzie> ^- pst, but that probably needs another codepath
[11:28:31] <mattinm> likely :(
[11:28:51] <mattinm> does all text "float" in pst then?
[11:28:55] <fuzzie> yes
[11:29:26] <fuzzie> http://fuzzie.org/psttext.jpg
[11:29:46] <fuzzie> floats upward and fades out
[11:29:52] <mattinm> i now understand why you had to put some work into that :/
[11:30:31] <fuzzie> heh, i haven't even implemented that yet :( must do so, but it involves a bunch of code we're missing right now, global text bounding-box checks and stuff
[11:30:51] <mattinm> i can imagine; not fun stuff really
[11:31:04] <fuzzie> well, it is nicer than struggling with combat, to me :)
[11:31:13] <mattinm> well, i won't say "not fun" because i'm sadistic enough to get enjoyment from a struggle
[11:31:38] <mattinm> combat is just tedious :/
[11:32:23] <mattinm> oh, my copy of iwd2 should be here some time early next week, so i'll finally be able to cross-reference some things i can't find online
[11:33:08] <mattinm> one thing that gets me though, is that it really does seem, from a few printf's, that damage type needs to be shifted >>16
[11:33:13] --> pupnik has joined #gemrb
[11:33:16] <Gekz> hai
[11:33:20] <Gekz> who is mattinm?
[11:33:42] <mattinm> me :)
[11:33:53] <fuzzie> Gekz: you should keep up more :) he wrote bg2 levelup and a lot of combat code
[11:33:58] <Gekz> when
[11:34:00] <Gekz> WHEN
[11:34:04] <Gekz> mattinm: hello and welcome
[11:34:07] <Gekz> you are my new deity
[11:34:11] <Gekz> what alignment are you?
[11:34:30] <mattinm> haha, i wouldn't go that far, you're the one with their name in the channel title ;)
[11:34:46] <mattinm> chaotic good i would say
[11:34:49] <Gekz> lol
[11:35:06] <Gekz> well, that's a joke
[11:35:10] <Gekz> I said put the link in the topic
[11:35:11] <fuzzie> mattinm: damage type for printing, or for all purposes?
[11:35:16] <Gekz> they said no, I said but I can never remembe it
[11:35:17] <Gekz> :P
[11:35:18] <mattinm> fuzzie: all purposes
[11:35:26] <pupnik> stay on target....
[11:35:26] <Gekz> mattinm: how long did it take to implement combat?
[11:35:32] <fuzzie> maybe we're reading it wrong
[11:35:54] <mattinm> fuzzie: well, there is an unknown word before the damage type, but it's all read as a dword
[11:36:22] <mattinm> Gekz: a couple weeks, to get it to where it is; still plenty of work to do though :/
[11:36:36] <Gekz> mattinm: it's no small feat to get it working at all
[11:36:36] <Gekz> :P
[11:36:39] <fuzzie> damage types are maybe only sanity-checked against iwd2
[11:37:04] <mattinm> Geks: but i did manage to kill just about everything on the first area of château irenicus
[11:37:16] <mattinm> fuzzie: that's my theory, and why i haven't touched it
[11:37:34] <fuzzie> mattinm: which file format are you looking at, here?
[11:39:16] <mattinm> fuzzie: EFF v1 for sure, but i'm pretty sure the EFF v2 files would have the same problem, just by looking at the layout
[11:39:35] <fuzzie> the PrimaryType?
[11:40:15] <fuzzie> i assume i'm being stupid here
[11:40:47] <fuzzie> but if i know which field it is, it's trivial to script something to check all files
[11:41:01] <mattinm> it's 0x20 offset
[11:41:04] <mattinm> dword
[11:41:16] <mattinm> it's called DamageType in NI
[11:41:48] <fuzzie> well, 0x20 in an EFF is just an effect parameter
[11:41:54] <Gekz> Buttkicking, for goodness
[11:42:15] <fuzzie> so which effect type(s) are involved?
[11:42:39] <mattinm> well, i've only looked at things that are 0x0c (Damage-effect) specific
[11:42:46] <mattinm> at it effects all that i can see
[11:43:23] <mattinm> try casting an acid arrow and adding a printf to the damage effect
[11:43:25] <fuzzie> well, the idea is that the effect code should be shifting params if needed
[11:44:00] <mattinm> yeah; that's where i have it added on my local copy, but i'm not certain enough to commit
[11:45:28] <mattinm> Gekz: haha... my favorite line has got to be: "Wouldn't it be cool if you could dual-wield me?", but i love Lilacor
[11:45:36] <fuzzie> the original asm does mask off the low bits of *something*
[11:45:47] <Gekz> lol
[11:46:50] <fuzzie> anyway, just shifting the param is not right, both high and low words are used in the effect
[11:48:01] <mattinm> another reason why i didn't do it :)... the damagetype&3 threw me for a loop
[11:50:18] <fuzzie> the chitem docs say that 1 is 'lower HP to damage value', 2 is 'lower HP to fixed percent specified by damage value', and then you do >>16 to get the damage type
[11:50:40] <mattinm> yeah, that's what i figured
[11:50:59] <mattinm> the upperword had to hold some things, or the &3 didn't make sense
[11:51:06] <mattinm> *lowerword
[11:51:15] <fuzzie> but if you >>16 then you don't seem to get a match with the DAMAGE_ defines
[11:51:38] <fuzzie> so maybe this differs per-game, i'll try to have a look
[11:51:41] <mattinm> yeah
[11:51:57] <mattinm> it seemed, from all the ones i looked at, that >>16 matched DAMAGE_ defines
[11:52:10] <fuzzie> you checked bg2?
[11:52:12] <mattinm> yeah
[11:52:32] <fuzzie> this is probably different in iwd2, then
[11:53:46] <mattinm> i know iwd2 added some damage types, but you'd think they would have just left the same basic layout the same
[11:58:33] <fuzzie> but you checked this in gemrb?
[11:58:54] <mattinm> yes
[11:59:37] <mattinm> HittingHeader is fine, but effects for things such as acid arrow, flame arrow, flail of ages (elementals), etc, are showing as <<16
[12:00:14] <fuzzie> i guess >>16 seems to work for everything
[12:01:51] <mattinm> the nasty thing is Actor::Damage
[12:02:27] <mattinm> some effects ops call them, but it does the masking check (damagetype&3) to figure out mod additive, percent, etc
[12:02:43] <mattinm> but it only sends damagetype as DAMAGE_*
[12:04:09] <fuzzie> add another parameter to Damage for damagemode?
[12:04:13] <mattinm> hehe
[12:04:19] <mattinm> again, you got that in right before i finished
[12:04:27] <fuzzie> that seems like the right solution.
[12:04:38] <mattinm> and default it to MOD_ADDITIVE
[12:04:54] <fuzzie> well
[12:05:02] <fuzzie> i would make it explicit everywhere, but i didnt' look at the callers
[12:05:30] <mattinm> they all assumed additive from what i saw
[12:05:36] <mattinm> but i'd double-check
[12:07:24] <mattinm> i wonder why damagetype>5 is considered non-lethal ?
[12:07:31] <mattinm> in DealDamage
[12:09:21] <fuzzie> looking..
[12:09:23] --- barra_library is now known as barraAway
[12:09:43] <lynxlynxlynx> there are still crashes, but the one i'm thinking of is not so recent
[12:10:06] <lynxlynxlynx> it's about item abilities, so i'll dump it to avenger ;)
[12:10:34] <mattinm> hehe
[12:11:41] <mattinm> fuzzie: it appears that 5 is the max type in the weapon extended header (fists), so, perhaps anything above that is non-lethal for some reason?
[12:12:14] <fuzzie> well, it was modified from a previous commit that did (damagetype>4)
[12:12:37] <fuzzie> and that one dates right back to the first days of any combat code at all
[12:12:55] <fuzzie> - target->Damage(damage, damagetype, this);
[12:12:55] <fuzzie> + if (damagetype>4) damagetype = 0;
[12:12:55] <fuzzie> + target->Damage(damage, weapon_damagetype[damagetype], this);
[12:12:57] <mattinm> yeah; perhaps it's just protection from unknown weapon damage types
[12:13:07] <fuzzie> so i think that makes it clear :)
[12:13:11] <mattinm> yeah
[12:14:54] <mattinm> i wonder why fists are considered DAMAGE_STUNNING, that's neat
[12:15:05] <fuzzie> what is DealDamage doing now anyway?
[12:15:30] <mattinm> it just checks whether or not you can actually damage the target, from what i can see
[12:15:45] <fuzzie> so all that code at the end should just be removed
[12:15:49] <mattinm> it's just for weapon damage
[12:16:10] <fuzzie> changing damagetype there doesn't do anything now we're no longer calling Damage directly
[12:16:23] <fuzzie> so if the sanity check needs to be done, needs doing elsewhere :)
[12:16:50] <fuzzie> but please do this bit-by-bit if you can, trying to figure this stuff out when it's all in one big commit is frustrating
[12:17:14] <mattinm> okies :)
[12:18:56] <mattinm> fuzzie: looking at the end of DealDamage, it certainly seems it's doing absolutely nothing now, other than the checks
[12:22:02] <mattinm> yep, UseItem is just added a damage effect to the target queue
[12:22:28] <fuzzie> maybe change to CheckDamage at the same time?
[12:22:46] <fuzzie> i also think defaulting Damage to MOD_ADDITIVE is fine, btw
[12:22:54] <mattinm> yeah; DealDamage should be change damage
[12:22:59] <mattinm> *CheckDamage
[12:23:04] <mattinm> had two thoughts at once :/
[12:23:28] <mattinm> well, i'll make that change and commit it first
[12:32:38] <mattinm> eek; stoneskins aren't going down when you hit :/
[12:36:48] --- barraAway is now known as barra_library
[12:45:28] <mattinm> it seems to be that it doesn't pass MATCH_LIVE_FX
[12:45:39] <mattinm> these are stoneskins on saved game characters though
[12:45:54] <fuzzie> i have no idea about that code
[12:46:19] <fuzzie> DecreaseParam1OfEffect is failing?
[12:46:58] <mattinm> yes; it finds the opcode, but fails the alive check
[12:48:03] <mattinm> after looking at the cre files in the save, the stoneskin has time mode of 4096, which would certainly cause that bit of code to fail
[12:49:44] <fuzzie> uh, interesting :)
[12:50:05] <mattinm> it's like that for all 4 of them (3 have stoneskin and 1 has iron skins)
[12:50:35] <mattinm> anyway, the code is fine, just my saved stoneskins won't come down :)
[12:50:53] <mattinm> i can slowly kill them with the elemental damage from the flail though ;)
[12:51:14] <fuzzie> isn't timing mode for effects a single char?
[12:51:52] <mattinm> it shows as a word in NI
[12:51:56] <mattinm> *dword
[12:52:08] <mattinm> but it sometimes skips things around a bit
[12:52:17] <-- pupnik has left IRC ("Leaving")
[12:52:24] <mattinm> well, just forgets to but missing pieces as unknown
[12:52:46] <fuzzie> there've been quite a few times in here where someone's debugged something with NI, and NI has turned out to be lying about field values :/
[12:52:53] <fuzzie> could you send me a copy of the save?
[12:52:58] <mattinm> sure
[12:53:09] <fuzzie> email@example.com is easiest if you'd prefer email
[12:55:44] <mattinm> http://gra.midco.net/marshall.mattingly/bg2_saves/stoneskinsave.tar.gz
[12:55:56] <fuzzie> ta
[12:56:09] <mattinm> no problem
[12:57:35] <fuzzie> timing mode is 0 for those stoneskins, with a very long duration
[12:58:02] <mattinm> good; that's what it should be :)
[12:59:05] <fuzzie> this is from a modded game, i guess
[12:59:38] <mattinm> that one might be, yes
[13:00:01] <mattinm> well, if timingmode is 0, it should be passing the alive test
[13:00:59] <fuzzie> gemrb is reading the TimingMode into a dword
[13:01:09] <mattinm> yeah, i was just about to say that
[13:01:16] <fuzzie> so including that unknown field in the mix
[13:01:17] <mattinm> you're on a roll
[13:02:04] <mattinm> that would seem the likely culprit
[13:02:26] <fuzzie> the whole dword is listed as 'flags' in chitem
[13:03:36] <fuzzie> anyway, that is indeed the bug, gemrb is reading a whole mix into that field. should probably split it out.
[13:03:59] <mattinm> yeah; i just don't want to be the one that messes it up :p
[13:05:05] <fuzzie> yes, it probably needs some peering at what those other fields mean
[13:06:49] <fuzzie> i'll look at it later, i guess :) any luck with the rest of the code?
[13:07:06] <mattinm> yeah, about to commit the CanDamage segment
[13:07:22] <mattinm> it works, it just sucks that the skins aren't coming down :/
[13:12:07] <CIA-2> gemrb: 03mattinm * r6397 10/gemrb/trunk/gemrb/plugins/Core/ (Actor.cpp Actor.h):
[13:12:07] <CIA-2> gemrb: renamed DealDamage to CanDamage
[13:12:07] <CIA-2> gemrb: moved "Critical Hit" debug output up
[13:12:07] <CIA-2> gemrb: speed += instead of -= for 2-handed style
[13:12:34] <mattinm> should have also said that CanDamage now returns a bool instead of nothing
[13:14:30] <fuzzie> i think calling it CanDamage is a bit confusing because it *does* change things
[13:14:56] <fuzzie> and the damage=0; in the caller is silly because CanDamage is already making that change
[13:15:25] <mattinm> not in the case of stoneskins/mirrorimages
[13:16:10] <fuzzie> ah, okay.
[13:16:31] <fuzzie> kind of a mix there :/
[13:16:43] <mattinm> perhaps ModifyDamage would be better suited
[13:16:52] <mattinm> and have it always set damage=0 if need-be?
[13:17:05] <fuzzie> that would be my first thought, but don't change it just because i find it confusing :)
[13:17:25] <mattinm> hehe; well, i would prefer the name to be as appropriate as possible
[13:25:47] --> pupnik has joined #gemrb
[13:33:23] --> lbt has joined #gemrb
[13:37:50] <CIA-2> gemrb: 03mattinm * r6398 10/gemrb/trunk/gemrb/plugins/ (Core/Actor.cpp Core/Actor.h FXOpcodes/FXOpc.cpp):
[13:37:50] <CIA-2> gemrb: added int modtype to Actor::Damage and defaulting to MOD_ADDITIVE
[13:37:50] <CIA-2> gemrb: damage opcode (0x0c) now parses out the modtype and >>16 to get damagetype
[13:38:32] <lbt> does multi-player BG2 work ?
[13:39:19] <mattinm> lbt: unfortunately not; it would be a pretty big task to implement, and i don't know of any plans to do so as of yet
[13:39:39] <lbt> OK, ta... the wife used to really enjoy that aspect ;)
[13:39:49] <mattinm> after single-player mode is ironed out, perhaps that can be looked at though :)
[13:40:00] <lbt> congrats though... impressive work!
[13:40:34] <mattinm> thanks! it gets moved along a little each day
[13:40:46] <lynxlynxlynx> someone was here saying he'll work on mp last year, but then vanished before we saw any code, design or plan
[13:41:08] <lbt> heh... I'm working on a mobile internet tablet distro over at #mer so I know what you mean :)
[13:49:01] <mattinm> lol... the dead twitching is ridiculous... they just keep on going
[13:51:38] <pupnik> make em twich super fast like the androids in blade runner ;)
[13:52:00] <pupnik> and play the dying android scream
[13:52:10] <mattinm> hahaha
[13:52:13] <pupnik> randomly, once every 1000 kills
[14:04:25] <fuzzie> i think mp is certainly eventually viable, but would be tremendously painful for now
[14:05:43] <fuzzie> i assume the dead twitching is the combat code's fault?
[14:15:26] <mattinm> it appears to be a "problem" with GetAnimation
[14:15:37] <mattinm> if your dead, it always turns you into twitching
[14:16:39] <mattinm> it cites compatibility with pst as reasoning though
[14:16:49] <fuzzie> where's the code?
[14:16:59] <mattinm> but it says "no different animation for sleep/die, not twitch"
[14:17:15] <mattinm> CharAnimations.cpp:684
[14:18:23] <mattinm> it's called with IE_ANI_DIE on death, naturally
[14:19:06] <fuzzie> right, but then it shouldn't be called any more
[14:19:29] <mattinm> no, but Draw will, which calls GetAnimation
[14:19:36] <fuzzie> i remember someone fiddled with this a while ago
[14:19:46] <mattinm> so, it will have switched to IE_ANI_TWITCH instead of staying dead
[14:19:56] <fuzzie> well, sort of :)
[14:22:32] <fuzzie> i mean, IE_ANI_TWITCH on death is quite correct, but then autoSwitchOnEnd should make it switch to the right anim and stop animating.
[14:22:46] <fuzzie> only someone changed this code to restart attack animations and made the twitching loop forever.
[14:22:54] <fuzzie> or restart if it's meant to be at IE_ANI_DIE.
[14:23:01] <fuzzie> i'll take a look at this, too, i guess.
[14:24:25] <fuzzie> it was zefklop in r6322
[14:24:59] <mattinm> all i know is it's crazy looking when you kill a bunch of things and they're spazzing out on the ground
[14:25:24] <mattinm> i feel almost sorry for them.... almost
[14:25:29] <fuzzie> he was trying to fix combat animations i guess :)
[14:26:03] <mattinm> most likely; the animation code doesn't really look too fun
[14:26:34] <fuzzie> I don't understand how the animation code for PS:T is meant to work at all.
[14:26:41] <fuzzie> Right now it doesn't, which is a bit frustrating.
[14:28:25] <mattinm> yeah; i haven't really looked at any of that code
[14:28:36] <fuzzie> i wouldn't if i were you :)
[14:28:48] <mattinm> hehe
[14:30:08] <fuzzie> my scribbled todo list just grows and grows, but i have the time at the moment :)
[14:30:32] <fuzzie> did you look at tidying up the CanDamage stuff?
[14:31:47] <mattinm> yeah; then i got distracted by the twitchers
[14:32:15] <mattinm> i'm going to just have damage always come back as the correct value and rename it ModifyDamage
[14:34:27] <fuzzie> the eff timing mode thing probably just needs splitting into three fields for now, if you want to poke at that
[14:34:45] <mattinm> yeah; i'll give it a look
[14:35:40] <mattinm> stoneskins fell fine after i put them up in game (i slept to wear off the old stoneskins)
[14:35:43] <fuzzie> but it is a not-insignificant amount of work to change all the timing stuff to ieByte and then make sure it all works
[14:36:12] <mattinm> no, it is not :/... but, if that is the problem, it will have to be done sometime
[14:36:36] <lynxlynxlynx> i'd rather see it being tried after the next release
[14:36:43] <lynxlynxlynx> we are pretty stable now
[14:37:07] <fuzzie> well, i had a look through and nothing seems to do anything remotely imaginative with that timing mode stuff
[14:37:42] <fuzzie> the RemoveAllEffects call with the timing param is only used in IWDOpcodes, with FX_DURATION_INSTANT_WHILE_EQUIPPED or FX_DURATION_INSTANT_LIMITED
[14:37:57] <fuzzie> and those are clearly going to work with the byte
[14:38:20] <fuzzie> but are you intending to release soon, lynx?
[14:38:49] <lynxlynxlynx> yes
[14:39:12] <lynxlynxlynx> i planned it one month after the previous, which is in two weeks
[14:39:18] <lynxlynxlynx> (wow)
[14:39:33] <fuzzie> i think we can probably have an awful lot debugged in the next 1.5 weeks or so :)
[14:39:54] <fuzzie> EffectQueue::CreateEffect can just be changed straight to ieByte..
[14:39:59] <lynxlynxlynx> we could also release sooner, there's plenty of new stuff already
[14:40:02] <fuzzie> same for the other stuff there
[14:40:39] <fuzzie> lynxlynxlynx: in two weeks we might have a 0.5 "actually usable" release, though :)
[14:40:59] <lynxlynxlynx> it's usable already
[14:41:27] <lynxlynxlynx> i have around 10 annoyances i'd like to see fixed before the release, but it's already miles ahead 0.4
[14:42:00] <mattinm> my favorite annoyance is dispel effects; that thing looks crazy
[14:42:13] <mattinm> it's like tiny pixelated snow
[14:42:24] <fuzzie> my short todo list that i think would be worth having: animation work, global keyboard bindings, portraits in sync, builtin projectiles, preload some tables, varied PS:T text fixes, PS:T/IWD2 round timings
[14:42:42] <fuzzie> sparkles need a rewrite i think :/
[14:43:08] <lynxlynxlynx> sparkles indeed look crappy and longlasting
[14:44:04] <lbt> do you guys have an -announce list?
[14:44:06] <lynxlynxlynx> fuzzie: sounds a lot for two weeks, especially the projectile part
[14:44:16] <fuzzie> mattinm: were you working on the rested text, btw? if so, might be a good time to ask lynx to check iwd/how strrefs
[14:44:26] <lynxlynxlynx> lbt: no, but you can follow the sourceforge releases
[14:44:44] <mattinm> fuzzie: yes, i've actually got it ready to commit after i find out about iwd/how
[14:44:47] * lbt forgets.. and doesn't want to lose track ;)
[14:44:59] <lynxlynxlynx> or check happypenguin or our forums or other news sites that aggregate ie modding news
[14:45:16] <lynxlynxlynx> mattinm: ok, let me check
[14:45:26] <fuzzie> mattinm: it fails safely in the event of missing strref?
[14:45:27] <lbt> np... I'll find something... -announce was easiest to check ;)
[14:45:31] <mattinm> lynx: should be resref 10700 and 10690
[14:45:43] <mattinm> *strref
[14:45:44] <fuzzie> mattinm: (do you handle '1 hour' and etc as well?)
[14:45:59] <lynxlynxlynx> #10690
[14:46:03] <lynxlynxlynx> String: You have rested for <DURATION>.
[14:46:10] <lynxlynxlynx> (iwd)
[14:46:30] <lynxlynxlynx> String: <HOUR> hours for 10700
[14:46:43] <fuzzie> that's the same as the other games, then
[14:46:50] <lynxlynxlynx> yep
[14:47:03] <mattinm> fuzzie: all i can see in the RestParty code is that either they rest for 8 hours, or they don't
[14:47:04] <lynxlynxlynx> usually low numbers like these are the same
[14:47:23] <lynxlynxlynx> the injured one from yesterday was the first discrepancy i've seen
[14:47:29] <fuzzie> mattinm: well, i mean, you should include all the string refs. we don't handle interrupted rest etc right now, but we should.
[14:47:54] <fuzzie> and we'll need them for travel time too (which is a strref right next to 10690 which might also be worth including in the commit)
[14:48:07] <mattinm> fuzzie: i agree :)
[14:48:13] <lbt> <sigh> http://freshmeat.net/search?q=GemRB&submit=Search and https://sourceforge.net/mailarchive/forum.php?forum_name=gemrb-release
[14:48:28] <lynxlynxlynx> lbt: freshmeat is a nono
[14:48:41] * lbt is helping GemRB marketing and evangelism ;)
[14:48:54] <fuzzie> i guess someone could post in gemrb-release if it'd be helpful
[14:49:22] <lynxlynxlynx> people already track releases
[14:49:27] <lynxlynxlynx> let me find you a link
[14:49:33] <fuzzie> via email, though?
[14:49:42] <lynxlynxlynx> yep
[14:50:04] <fuzzie> that'd be nice to mention to people i know who'd like to keep track of gemrb, too
[14:50:05] <lbt> just saying that announce messages that hit my email make me take another look .. so if I never got round to it or have an install issue then I may try again
[14:50:07] <lynxlynxlynx> https://sourceforge.net/forum/forum.php?forum_id=958705 <-- monitor this
[14:50:19] <lynxlynxlynx> i guess it will either be mail or rss
[14:50:27] <lbt> cool
[14:50:42] <CIA-2> gemrb: 03mattinm * r6399 10/gemrb/trunk/gemrb/plugins/Core/ (Actor.cpp Actor.h):
[14:50:42] <CIA-2> gemrb: renamed CanDamage to ModifyDamage
[14:50:42] <CIA-2> gemrb: automatically modifies damage (go figure)
[14:50:57] <fuzzie> ah, yes, monitoring a forum sends email, clever :)
[14:51:07] <lynxlynxlynx> https://sourceforge.net/projects/gemrb/ <-- main page has a rss icon
[14:51:23] <lynxlynxlynx> 6 subtypes
[14:52:11] <lbt> OK, thanks guys. l8r
[14:52:16] <fuzzie> bye!
[14:52:18] <-- lbt has left #gemrb ("Konversation terminated!")
[14:52:34] <fuzzie> keeping people interested probably becomes more important as we appoach being useful
[14:52:37] <lynxlynxlynx> oh, in case it wasn't clear, it is the same in how mattinm
[14:52:49] <mattinm> lynx: got it :)
[14:52:51] <fuzzie> a lot of people are very much "oh, gemrb will be useless for years yet"
[14:53:32] <lynxlynxlynx> i think we spam enough
[14:54:06] <lynxlynxlynx> i'll take care for the next release, so avenger doesn't post a ridiculous message to the forum
[14:54:29] <lynxlynxlynx> the oneliner got aggregated on all the ie sites and it had almost no info
[14:54:40] <fuzzie> yes, that would help
[14:54:43] <lynxlynxlynx> while we had a detailed announcement everywhere else
[14:55:34] <fuzzie> i should remember to ask Avenger for a copy of his attempted flickering fix.
[14:55:50] <fuzzie> that is one thing which makes gemrb look kind of silly almost immediately..
[14:56:06] <lynxlynxlynx> unless you try to cast spells first
[14:57:04] <lynxlynxlynx> some of that is due to the projectiles, some due to missing or incomplete effects and all seem to suffer from bad timing
[14:57:54] <fuzzie> i am hoping to make puppy eyes at mattinm and see if he can do something about the timing
[14:58:21] <fuzzie> and then start on the projectiles a bit
[14:58:27] <mattinm> hehe... from what i've seen, the timing is off in quite a few places
[14:58:30] <lynxlynxlynx> i started some work on combat feedback
[14:58:49] <lynxlynxlynx> since all games have different, i just decided for the best one - the one from iwd2
[14:59:03] <fuzzie> combat feedback?
[14:59:34] <lynxlynxlynx> %s did %d %s damage to %s
[14:59:38] <fuzzie> ah
[14:59:54] <fuzzie> i have "add bg2-style extra combat roll info" on my todo list, somewhere
[15:00:19] <fuzzie> (the http://fuzzie.org/dragonattack.png style stuff)
[15:00:27] <fuzzie> but i havent' seen what it's like in iwd2
[15:01:41] <lynxlynxlynx> that's extra, not sure how many people like that
[15:01:46] <mattinm> it's like a simple version of that
[15:02:10] <lynxlynxlynx> we have silly output now, only names or only criticals with no names
[15:02:18] <fuzzie> well, given that extra was sabotaged in the ToB engine i guess it's not very common, but i think it would be terribly helpful for comparing to the original engine
[15:02:38] <fuzzie> any kind of roll/damage output would be an improvement, though
[15:03:20] <lynxlynxlynx> yeah
[15:05:44] <fuzzie> ok, hometime
[15:28:02] <mattinm> fuzzie: when you get the chance, i need the strref for "hour" in pst
[15:32:15] <lynxlynxlynx> i'll get it
[15:32:28] <mattinm> thanks
[15:32:35] <mattinm> i just need the word itself
[15:33:35] <lynxlynxlynx> 19312
[15:33:40] <lynxlynxlynx> 19313 for Hours
[15:33:44] <mattinm> thanks
[16:09:49] <CIA-2> gemrb: 03mattinm * r6400 10/gemrb/trunk/gemrb/ (8 files in 8 dirs):
[16:09:49] <CIA-2> gemrb: now shows you have rested for x hours message on sleep
[16:09:49] <CIA-2> gemrb: provisionally set up for partial sleeps (not implemented)
[16:09:49] <CIA-2> gemrb: added requisite strrefs to strings.2da and strrefs.h
[16:13:39] <fuzzie> mattinm: did you look at the eff thing, or can I do it?
[16:14:07] <mattinm> fuzzie: you can do it if you want; i've got to go get some cleaning done, so i won't get a chance for an hour or so
[16:15:06] <fuzzie> trying the pst implementation is nice, but DisplayString is sort of a dead-end :)
[16:15:21] <fuzzie> v.nice to have the stringrefs though
[16:15:21] <mattinm> yeah, i wasn't sure about that one :/
[16:15:29] <fuzzie> so thanks
[16:15:42] <fuzzie> and that ModifyDamage is great now :)
[16:16:00] <mattinm> hehe; does what it's supposed to i suppose :)
[16:16:25] <mattinm> alrighty, i'll be back on in a little while; feel free to make the rest display correctly for pst ;)
[17:16:26] <fuzzie> mattinm: http://fuzzie.org/nfs/gemrb/eff_timingmode.txt seems sufficient'
[17:18:48] <fuzzie> i'm also a bit dubious about duration, though
[17:27:55] <mattinm> fuzzie: looks good
[17:29:52] <mattinm> i don't see how it would make the duration any different than it is now
[17:30:22] <fuzzie> oh, sure, the patch seems no worse there
[17:32:07] <fuzzie> i just wonder if our Duration is wrong, because in your save, it's very high
[17:32:22] <mattinm> i'll look at it in a moment
[17:32:25] <fuzzie> masked with 0xffff it's far more reasonable, and leaves 20 in the upper word
[17:32:50] <fuzzie> so i expect duration is also a word, and there's an intermediate word there.
[17:32:58] <mattinm> perhaps
[17:33:06] <mattinm> i wouldn't doubt it :)
[17:33:14] <fuzzie> but i have not tested :) let me commit the timingmode first
[17:33:47] <mattinm> yeah, that's probably best :)
[17:34:32] <CIA-2> gemrb: 03fuzzie * r6401 10/gemrb/trunk/gemrb/plugins/ (6 files in 4 dirs): TimingMode in effects is a single byte
[17:42:14] <fuzzie> maybe Avenger will come in now and explain that it was deliberate, but i think in any case this is a better design
[17:42:34] <fuzzie> all this anding magic for fields is not so great
[17:44:53] <mattinm> i agree; so long as all the fields are the same :)
[17:46:58] <fuzzie> my theory is that duration is a word, and that duration is multiplied by 15 to get AI updates when cast, but that is pretty much a blind guess
[17:47:53] <mattinm> i'm trying to think of the circumstances of my save :/
[17:48:03] <mattinm> how long the stoneskins were up
[17:48:29] <fuzzie> well, i'm probably not right :/
[17:48:45] <mattinm> well, it's something to test either way :)
[17:48:53] <fuzzie> how long does Stoneskin last?
[17:49:00] <mattinm> i'll go make a save where i know precisely how long it's been on
[17:49:03] <mattinm> 8 game hours
[17:51:40] <fuzzie> well, if that savegame has had stoneskin for ~5 game hours, my theory makes sense, but making guesses is kind of silly
[17:52:48] <fuzzie> i tried it myself and it looks like it's a word.
[17:53:31] <fuzzie> but i think i'm actually wrong because if you look at gemrb's PrepareDuration, it does fx->Duration = fx->Duration*AI_UPDATE_TIME + GameTime
[17:53:47] <fuzzie> and that would lead to absurdly high duration values, because duration in live effects is actually an expiry time :)
[17:54:03] <mattinm> hehe
[17:55:42] <fuzzie> yes indeed, if i remove the AI updates from the duration value it all makes sense. ok. :)
[17:55:59] <fuzzie> i think stoneskin should be fine now, in that case.
[17:57:14] <mattinm> i guess we'd have to check how we do stoneskin too :/... it's listed as having a time of 3600 in the spell
[17:57:41] <fuzzie> that seems to be 12 hours, by my math
[17:57:56] <fuzzie> so i'm confused if it's meant to be 8 :/
[17:58:19] <mattinm> perhaps it is actually 12, but they say 8 in the description
[17:58:52] <fuzzie> well, there are 300 real seconds in a game hour, and the effect duration pre-application is in real seconds, and 3600/300 = 12
[17:58:54] <mattinm> i know that it survives a rest if you rest shortly after casting
[17:59:11] <mattinm> and for a short while afterward
[17:59:31] <fuzzie> this spell guide i downloaded from sorcerors.net says 12h, so i guess we're fine
[17:59:40] <fuzzie> all makes sense, no need to panic :)
[17:59:43] <mattinm> hehe
[18:14:31] <lynxlynxlynx> yes, it's not 8
[18:25:28] <pupnik> watch this: iphone 3g software - fun starts at 0:50 http://www.youtube.com/watch?v=pBI5HwitBX4
[18:35:37] <fuzzie> alas, if only we could squeeze bg2 into 480x320 :)
[18:36:53] <pupnik> i find that really impressive
[18:36:56] <fuzzie> maybe it's possible, with a removed gui
[18:37:19] <lynxlynxlynx> blind typing
[18:37:37] <pupnik> i dislike the candy toy
[18:59:37] <mattinm> fuzzie: the saved stoneskins just hold the expiration time; if you take the [duration - (game time * 15)] the you have exactly what PrepareDuration would have given you
[18:59:41] <mattinm> which makes perfect sense
[19:01:17] <mattinm> which poses problems when getting the effect timing by byte, because we get zero, and the EffectQueue code thinks it has to PrepareDuration again :/
[19:02:43] <fuzzie> NeedPrepare/IsPrepared were using bytes anyway, i thought
[19:03:19] <fuzzie> yes indeed
[19:04:16] --> barra_away has joined #gemrb
[19:05:09] <fuzzie> so i don't understand how the TimingMode would have changed that
[19:06:42] <fuzzie> is there a bug there or are you just trying to figure it out?
[19:06:43] <mattinm> yep, it still works as expected
[19:06:48] <mattinm> just trying to figure it out
[19:06:57] <mattinm> to figure out why it doesn't mess up
[19:07:00] <fuzzie> i walked through the code and it seems to work 100% as expected once i realised how PrepareDuration worked
[19:07:21] <fuzzie> (the magic is that FX_DURATION_DELAY_LIMITED is transformed to FX_DURATION_DELAY_LIMITED_PENDING on application)
[19:07:45] <fuzzie> or, well, the FX_DURATION_INSTANT_LIMITED in this case? i forget, must run
[19:11:43] <mattinm> / when first_apply is unset, the effect is already on the target // this happens on load time too!
[19:12:20] <mattinm> that explains it right there; it never gets to the PrepareDuration because it correctly assumes this has already been done on load (well, on save i guess)
[19:20:20] <-- barra_library has left IRC (Read error: 113 (No route to host))
[19:36:19] <fuzzie> :)
[19:36:27] <fuzzie> so all is good?
[19:39:51] <fuzzie> i am wondering if Avenger will appear, he had some strange corruption issues and i don't know if they are fixed
[19:41:20] <fuzzie> otherwise I'll look at the animations, I guess.
[19:42:36] <pupnik> :)
[19:45:04] <fuzzie> sometime I need to revisit my changes to DoStep() and friends, it is really not the best place to play catch-up
[19:46:10] <fuzzie> because it doesn't take the searchmap into account and disaster ensues
[19:47:46] <fuzzie> but you can't just not play catch-up because then you break actor speed.
[19:54:29] --- barra_away is now known as barra_library
[19:55:28] <fuzzie> ok.. click level up, click special abilities, it gives you the mage book text? is that right?
[19:58:24] <lynxlynxlynx> unlikely
[19:58:48] <fuzzie> well, ok, it is not right :) but i don't know how this is meant to work
[20:01:34] <lynxlynxlynx> i'll look it up
[20:01:41] <lynxlynxlynx> need to create a tob dump first
[20:03:11] <fuzzie> i just loaded one of wjp's saves and played around a bit
[20:03:51] <fuzzie> various classes with >3m XP to level
[20:04:19] <lynxlynxlynx> in gemrb?
[20:04:29] <fuzzie> yes
[20:04:44] <lynxlynxlynx> ok
[20:08:58] --> danamin has joined #GemRB
[20:11:26] <lynxlynxlynx> #35032
[20:11:28] <lynxlynxlynx> String: You have been given <number> extra percentage points to distribute among your INACTIVE skills. These are talents granted by the INACTIVE class of your character. The base skill percentages are determined by your race and base ability scores.
[20:11:38] <lynxlynxlynx> mattinm: (up) interesting, huh?
[20:13:12] <lynxlynxlynx> fuzzie: i can't find anything with a few searches
[20:13:27] <lynxlynxlynx> looks like we'll have to look in the original
[20:13:53] <fuzzie> well, i can do that, if i'm given clear instructions
[20:15:11] <fuzzie> just check the text snippet?
[20:15:33] <lynxlynxlynx> find something wierd to grep, yes
[20:15:46] <lynxlynxlynx> if there is nothing, a part of a sentence will do
[20:17:14] <fuzzie> vmware has decided to ignore my mouse input, but as soon as it stops i will click the level up button...
[20:20:21] <fuzzie> hm, these are all capped at 2.95m XP in SoA, i thought that wasn't meant to happen
[20:23:32] <lynxlynxlynx> 2.95m is the soa cap
[20:23:39] <lynxlynxlynx> xplevel.2da iirc
[20:23:42] <fuzzie> removing the xpcap.2da from override just breaks it more, grr
[20:23:45] <danamin> Hi
[20:24:00] <danamin> does anyone know wether GemRB_CreateScrollBar realy works?
[20:24:40] <fuzzie> I think it's only been tested with bg2.
[20:25:02] <danamin> it segfaults on ScrollBar::Frames being zero
[20:26:33] <danamin> ah, I got the error
[20:26:35] <danamin> my bad
[20:32:29] <fuzzie> ok, so: Abilities button should only highlight once weapon proficiencies are done. text is "You may choose X abilities for your character", and the GUI is meant to have "ABILITIES" at the top, so I expect we're picking the wrong one.
[20:33:50] <lynxlynxlynx> #63817
[20:34:17] <fuzzie> yup, that's it. with 63818 as title.
[20:34:25] <lynxlynxlynx> we just use the gui from the chargen, so there is no need to remap all the controls
[20:34:29] <fuzzie> can you fix? the button seems to be meant to be on the other side too
[20:34:49] <fuzzie> but i guess that is not needed as a fix :)
[20:35:23] <lynxlynxlynx> need to cheat in some xp
[20:35:30] --> Avenger has joined #gemrb
[20:36:13] <Avenger> hello
[20:36:21] --- ChanServ gives channel operator status to Avenger
[20:36:23] <lynxlynxlynx> fuzzie: you meant it shouldn't say Level up?
[20:36:25] <lynxlynxlynx> oj
[20:36:39] <lynxlynxlynx> ah no, in the hla screen
[20:36:41] <lynxlynxlynx> ok
[20:37:02] <fuzzie> by 'highlighted' i mean 'enabled', sorry
[20:37:08] <fuzzie> Avenger: hi! is svn any better for you?
[20:37:37] <Avenger> you mean, if i have the same bugs as yesterday?
[20:37:44] <fuzzie> yes
[20:38:10] <fuzzie> i am worried about them because i cannot reproduce, but i can't find any more corruption bugs
[20:40:05] <Avenger> hmm the yellow circle problem and the savegame problem are still ther
[20:41:02] <Avenger> character creation also bugs out, even for a fighter
[20:41:20] <Avenger> oh wait, i thought it is because of my file
[20:42:27] <Avenger> doh
[20:42:55] <fuzzie> well if you think you can reproduce anything without things in override/ i would appreciate a savegame :)
[20:43:02] <Avenger> ok it was still in the install dir
[20:43:30] <Avenger> ok, you can reproduce the bug with adding spaces after the default * in 25stweap.2da
[20:43:41] <Avenger> but i don't know if the original game would just as well bug out
[20:43:58] <Avenger> this is not a main path problem, just a border case :)
[20:44:03] <fuzzie> well, that is simple to try
[20:45:29] <Avenger> i found a good case for the yellow circle symbol
[20:45:38] <fuzzie> the original game seems fine with the spaces
[20:45:39] <Avenger> symptom i mean :)
[20:46:01] <Avenger> ok, then the 2da importer should strip trailing spaces from the default value?
[20:46:13] <fuzzie> yes, that goes on the todo list :)
[20:47:31] <Avenger> meh, 10 minutes waiting on thunderbird going through the files in the override ;)
[20:50:02] <Avenger> ok pocketplane.zip sent
[20:50:17] <fuzzie> thanks, got it
[20:51:51] <CIA-2> gemrb: 03lynxlupodian * r6402 10/gemrb/trunk/gemrb/GUIScripts/bg2/LUHLASelection.py: bg2: ammend the HLA selection window title and starting textarea text
[20:52:55] <fuzzie> Avenger: that is a ToB save?
[20:55:23] <fuzzie> i guess it is an SoA save, ok
[20:56:54] <fuzzie> it seems normal here :/
[21:01:51] <fuzzie> time for valgrind
[21:02:33] <Avenger> Imoen doesn't get a yellow circle and say she gotta run?
[21:02:46] <fuzzie> nope
[21:03:33] <-- pupnik has left IRC (Read error: 110 (Connection timed out))
[21:06:40] <CIA-2> gemrb: 03lynxlupodian * r6403 10/gemrb/trunk/gemrb/GUIScripts/bg2/GUIINV.py: bg2: fixed most of the item splitting gui bugs - no more flickering
[21:11:07] <fuzzie> ok, valgrind is perfectly happy loading Avenger's save
[21:11:49] <fuzzie> but if Avenger has a fixpack installed then it might well be a fix for Imoen's script, if she came from SoA start area
[21:12:23] <Avenger> she doesn't become yellow circled when i load this in the original game
[21:12:40] <Avenger> also, sarevok becomes yellow in another game, and he just gets summoned!
[21:15:36] <Avenger> illasera's blindness thingie seems to be truly permanent
[21:15:40] <Avenger> hmm
[21:16:06] <lynxlynxlynx> were you here when we were talking about resetchr?
[21:16:09] <fuzzie> Avenger: original ToB casts resetchr.spl at you to fix that. it is a permanent 'remove effects' spell :/
[21:16:46] <lynxlynxlynx> yeah, without the patch you trade permanent blindness for permanent effectlessness
[21:16:56] <Avenger> i still fight, but the rabid dogs and illasera cannot kill me ;)
[21:16:58] <fuzzie> i think we are perhaps missing something in timing modes (the byte/word after it in Effect)
[21:17:18] <Avenger> it is a complete stalemate without me seeing anything
[21:17:29] <lynxlynxlynx> i can kill them when blind
[21:17:44] <lynxlynxlynx> but i did also get everyone invulnerable a few times
[21:17:46] <Avenger> i don't hit them
[21:18:19] <fuzzie> Avenger: all i can suggest about the yellow circles is to put a printf on Actor.cpp:602, and see whether pcf_morale is triggering the panic or whether it is a script
[21:18:39] <-- danamin has left IRC ()
[21:19:40] <fuzzie> i guess Actor.cpp:2227 is the culprit
[21:20:58] <fuzzie> passing -1 like that does not work on 64-bit.
[21:23:12] <fuzzie> Avenger: can you comment that out and see?
[21:23:22] <Avenger> i can try
[21:23:38] <Avenger> but no one hits imoen
[21:23:53] <Avenger> i will just add some debug printf
[21:26:46] <Avenger> btw, i ran valgrind for a long time, there is a leak in the action object, created by TryToAttack
[21:26:57] <Avenger> it is now the most serious leak i see
[21:27:13] <Avenger> ==30684== 342,968 (191,424 direct, 151,544 indirect) bytes
[21:27:25] <Avenger> in 997 blocks :)
[21:28:45] <Avenger> hmm it isn't the whole action, just an object in it!
[21:29:38] <fuzzie> that is because of the silly GenerateActionDirect hack, i think
[21:29:51] <fuzzie> because you don't actually pass a parameter to the action
[21:29:57] <Avenger> ah no, it is the whole action
[21:30:01] <fuzzie> i had a look but couldn't work out how to fix
[21:30:07] <Avenger> GenerateActionCore
[21:30:23] <fuzzie> but i am more worried about the panic thing :) leaks can be fixed any time
[21:31:23] <fuzzie> and if you're here, I should ask if you could make a patch with your window-flickering attempt so I can have a look
[21:33:18] <Avenger> meh:[Inventory]: Invalid slot: 38!
[21:33:20] <Avenger> Aborted
[21:33:53] <Avenger> i just equipped a mace in an empty weapon slot
[21:34:10] <fuzzie> we have been slowly fixing those, but at the source, because we don't want to hide problems
[21:34:23] <Avenger> yes
[21:34:28] <Avenger> that's why that abort is there :)
[21:34:33] <Avenger> to force fixes :D
[21:34:38] <fuzzie> yes exactly :)
[21:35:59] <fuzzie> do you know which mace?
[21:37:09] <Avenger> i wanted to sayflail of ages
[21:37:41] <Avenger> i got it from the bag, and equipped into the empty 4. slot of a fighter just generated
[21:37:59] <Avenger> then went to the main game screen, swapped to arbane's sword, then back to the flail
[21:38:26] <Avenger> back to the yellow circle case, pcf_morale is called, but not by that (iedword) -1
[21:39:05] <fuzzie> check Actor.cpp:1924? but surely that can do no harm
[21:40:02] <fuzzie> so other than that it is just effects/actions
[21:40:06] <Avenger> yes, that's what i thought
[21:41:36] <Avenger> ok, the problem seems to be that something sets the morale to 20, then it falls back to 10 in the AI cycle, and this fall is considered big
[21:41:41] <lynxlynxlynx> Avenger: aborting on items is easily achieved by equipping one with special abilities - if you use the abilitiy from the action bar's bag icon
[21:42:40] <fuzzie> hm, i think only an effect would mess with the morale like that?
[21:42:59] <fuzzie> strange that it doesn't happen here, though, so perhaps it is a script that i don't have
[21:43:54] <fuzzie> 40: 0x6a: MoraleBreakModifier (0, 1) S:
[21:44:24] <Avenger> the max value was set to 10, maybe it should have been 20
[21:44:47] <fuzzie> strange that it doesn't happen here though!
[21:45:30] <Avenger> yes strange
[21:45:36] <fuzzie> well, if you have latest svn
[21:45:41] <Avenger> i have
[21:46:11] <fuzzie> effect timings in original savegames were broken until r6401
[21:46:17] <Avenger> i don't know what is the maximum value for morale
[21:46:21] <fuzzie> which led to some strange happenings
[21:46:45] <fuzzie> Avenger: it is higher than 10..
[21:47:23] <fuzzie> hm, actually, i don't know for bg2.
[21:52:27] <fuzzie> my notes say it is 20 in pst
[21:52:54] <fuzzie> because there was a stupid bug where the original pst engine would wrap negative morale values to max morale (20)
[21:54:53] <fuzzie> of course pst has this wonderful bug where it resets morale to 10 on rest, ruining all the dialogs/banters which depend on it
[21:55:11] <fuzzie> stupid original engine :)
[21:56:44] <Avenger> in bg2 there are 2 things: morale that controls fear, and happiness that is more like what PST wants to do with Dakkon's morale
[21:57:19] <fuzzie> the pst fixpack hacks the engine to add another morale stat, i think i will probably add that as an option
[21:57:56] <fuzzie> but this is not very relevant, sorry, i just wanted to explain why i knew it was 20 in pst :)
[21:58:39] <Avenger> it is relevant, it says that at least for pst i should raise it to 20 :)
[21:58:59] <Avenger> i gotta sleep now
[21:59:02] <fuzzie> night!
[21:59:04] <Avenger> stupid work :)
[21:59:16] <Avenger> i had to work on sunday, hopefully not this weekend
[21:59:27] <-- Avenger has left IRC ("bye!")
[22:05:37] <lynxlynxlynx> re songlist.2da being loaded over and over again
[22:06:01] <lynxlynxlynx> why is that function called so often in the first place? It's not like the music changes so fast
[22:07:05] <fuzzie> because i have no better way of telling whether there should be music playing or not
[22:07:35] <fuzzie> and in theory it should be a trivial lookup taking no meaningful time
[22:08:01] <fuzzie> only at the time, i didn't realise the code reloaded the table every time
[22:08:43] <fuzzie> you could easily reduce the frequency by only doing it so many ticks, i just want to find some time to fix it properly
[22:12:32] <lynxlynxlynx> ok
[22:12:38] <lynxlynxlynx> zzz
[22:12:57] --> Edheldil has joined #gemrb
[22:12:57] --- ChanServ gives channel operator status to Edheldil
[22:14:04] <fuzzie> hi Edheldil
[22:14:41] <Edheldil> Hi, fuzzie
[22:14:45] <Edheldil> What's up?
[22:15:28] <-- lynxlynxlynx has left IRC (Remote closed the connection)
[22:27:44] <-- barra_library has left IRC ("Verlassend")
[22:36:54] <fuzzie> not much today :)
[23:18:04] <Edheldil> ah :)
[23:18:11] <Edheldil> good night
[23:18:16] <-- Edheldil has left IRC ("Really?")
[23:41:56] <CIA-2> gemrb: 03fuzzie * r6404 10/gemrb/trunk/gemrb/plugins/Core/ (Actions.cpp Game.cpp Interface.cpp Interface.h Map.cpp): preload songlist at startup
[23:43:48] <fuzzie> that stops the songlist spam :) ninight!