#gemrb@irc.freenode.net logs for 20 Apr 2011 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:45:05] <-- edheldil_ has left IRC (Ping timeout: 240 seconds)
[01:07:47] --> pupnik_ has joined #gemrb
[01:10:42] <-- pupnik has left IRC (Ping timeout: 240 seconds)
[05:21:19] --> Bo_Thomsen has joined #gemrb
[06:04:40] --> Hyper-Core has joined #gemrb
[06:11:13] <-- Hyper-Core has left #gemrb
[06:41:12] --> lynxlynxlynx has joined #gemrb
[06:41:13] <-- lynxlynxlynx has left IRC (Changing host)
[06:41:13] --> lynxlynxlynx has joined #gemrb
[06:41:13] --- ChanServ gives channel operator status to lynxlynxlynx
[06:54:56] <-- Bo_Thomsen has left IRC (Quit: Leaving.)
[07:15:43] --> edheldil_ has joined #gemrb
[07:22:29] <-- edheldil_ has left IRC (Ping timeout: 248 seconds)
[07:22:30] --> lubos has joined #gemrb
[08:08:32] <fuzzie> ok, morningish
[08:16:28] <fuzzie> and in the absence of anyone checking the 'e' thing i guess i should do it :P
[08:22:42] <-- Gekz has left IRC (Remote host closed the connection)
[08:23:12] --> Gekz has joined #gemrb
[08:25:03] <fuzzie> ok, i sabotaged the 'e' files for MSPI
[08:28:40] <fuzzie> and it breaks, so there goes that theory. sigh.
[08:40:42] <-- lubos has left IRC (Remote host closed the connection)
[08:49:24] <-- |Cable| has left IRC (Remote host closed the connection)
[08:49:44] <dhewg> heya
[08:49:49] <dhewg> what breaks?
[08:51:35] <fuzzie> if i sabotage the 'e' files
[08:51:44] <dhewg> also, why "if (!foo) abort()" instead of "assert(foo)"?
[08:51:46] <fuzzie> they're clearly still used
[08:52:03] <fuzzie> assert(foo) means foo doesn't get evaluated in release builds
[08:52:03] <dhewg> the former will be useless on android - if not compiled with epic debug flags
[08:52:11] <dhewg> oh, right
[08:52:22] <dhewg> i never enable that :P
[08:52:34] <fuzzie> yeah, me neither, but i learnt a long time ago that other people do :P
[08:53:15] <dhewg> so uhm
[08:53:25] <fuzzie> we should have an error() thing but i'm not sure what tomprince is up to with logging
[08:53:35] <dhewg> those 'e' files were that leftover/mirror thing?
[08:53:53] <fuzzie> yes
[08:53:56] <fuzzie> so i theorised
[08:53:57] <fuzzie> clearly not
[08:54:07] <dhewg> did you try that with trolls?
[08:54:16] <fuzzie> no, because the trolls don't have 'e' files :P
[08:54:28] <dhewg> k
[08:54:29] <fuzzie> but i want the simple case fixed first
[08:54:44] <dhewg> i assumed so because i mentioned the prob yesterday because of trolls :)
[08:55:15] <dhewg> or we're talking about different things all the time :P
[08:55:39] <fuzzie> yeah
[08:55:52] <fuzzie> i mean, the thing is: both trolls and this stuff are handled by the same codepath
[08:56:17] <dhewg> maybe its related to animation transition
[08:56:33] <dhewg> i had the feeling that i get the invisble sprite when trolls start an attack
[08:56:33] <fuzzie> in the original engine, i mean
[08:56:51] <fuzzie> but the trolls take a complicated 'if' case in the middle
[08:57:00] <fuzzie> so i'd like to work out what on earth the rest is doing first :P
[08:57:33] <fuzzie> (more complex case is the 'has extra anim files' in my notes)
[08:58:23] <fuzzie> you can probably make the trolls work if you attack them from the west :-P
[08:59:45] <dhewg> lol
[09:01:11] <dhewg> but commendable approach. not understanding the real problem often results in workaround code that breaks stuff in other situations
[09:01:18] <fuzzie> yes, well
[09:01:31] <fuzzie> i have spent years doing my best to avoid looking at any of the disasm
[09:01:34] <fuzzie> but i give up
[09:02:07] <dhewg> i refuse to even start with disasm :P
[09:02:18] <fuzzie> well, some of it is nice
[09:02:20] <dhewg> there's already enough crap to do without doing that
[09:02:38] <fuzzie> Living Books was a lovely win16 app, clear code, a few weeks of work
[09:02:49] <dhewg> heh
[09:02:59] <dhewg> i think i lack the patience to do that
[09:03:05] <dhewg> but does hexrays help to ease the pain?
[09:03:07] <fuzzie> of course then i found out that they added turing-complete stack-based scripting in later versions..
[09:03:25] <fuzzie> i am using free IDA, definitely no hexrays :-P
[09:03:45] <fuzzie> although i don't think hexrays does 16-bit code anyway, so maybe no loss for most stuff
[09:04:13] <dhewg> i only know a few bits from friends talking about it on irc
[09:04:30] <dhewg> they have a ARM version of hexrays nowadays
[09:04:33] <fuzzie> i have only really seen output from the ARM decompiler
[09:04:35] <fuzzie> and it is quite amazing
[09:04:52] <dhewg> we tried it on code for the wannabe-hypervisor on the wii
[09:05:00] <dhewg> i could read it \o/
[09:05:30] <fuzzie> it seemed to need quite a lot of manual work on what i saw
[09:05:49] <fuzzie> although honestly mostly on the asm side, once that was correct it was pretty good
[09:06:10] <fuzzie> i would definitely get a copy if i had any chance of affording it :P
[09:06:27] <dhewg> even then they maybe wont sell you a copy :P
[09:06:47] <fuzzie> yeah, maybe not
[09:06:59] <dhewg> they're pretty paranoid about their products
[09:07:21] <dhewg> "ohai, i wanna buy the pro version" from random dudes won't work
[09:07:36] <fuzzie> well, i guess i'd be buying it for scummvm work, as a scummvm dev
[09:08:06] <dhewg> iirc the donation stuff is used to do that
[09:08:10] <dhewg> so get a copy
[09:08:14] <fuzzie> but at €1721 for a decompiler license i can't imagine any random dudes are going to buy it frankly :P
[09:08:26] <fuzzie> yes, i have a variety of queries with people bugging me to do so
[09:09:01] <wjp> I think that's about ida, not hex-rays :-)
[09:09:03] <fuzzie> i mean, for plain ida
[09:09:06] <fuzzie> obviously .. yes ;p
[09:09:07] <wjp> right :-)
[09:09:43] <edheldil> I thought ScummVM ppl bought/got some pro versions of IDA?
[09:09:50] <fuzzie> yes, but not hexrays
[09:10:08] <fuzzie> which is the expensive decompiler add-on
[09:11:51] --> edheldil_ has joined #gemrb
[09:12:28] <dhewg> oh, scummvm buys the pro version?
[09:12:36] <dhewg> nice
[09:12:52] <wjp> no
[09:12:56] <fuzzie> 'pro' is just the non-free version
[09:13:06] <fuzzie> you're probably thinking of 'advanced', which i don't think scummvm devs need
[09:13:31] <fuzzie> although no powerpc in the standard version, annoying :P
[09:13:36] <dhewg> maybe i confuse things but i thought there's free(and old), std and pro
[09:13:48] <wjp> all idas are called pro
[09:13:54] <dhewg> ah :)
[09:16:26] <dhewg> fuzzie: re 'trolls take a complicated 'if' case': in the original?
[09:16:58] <fuzzie> yes
[09:17:09] <dhewg> wild guess: maybe thats related to there not-really-dead when fighting without fire/acid?
[09:17:14] <fuzzie> no
[09:17:15] <dhewg> *their
[09:17:17] <fuzzie> that is scripted :P
[09:17:33] <fuzzie> the trolls codepath is shared by 40+ other anims, didn't mean to imply it was troll-specific
[09:17:33] <dhewg> but there're some animation artifacts about that too
[09:18:03] <fuzzie> the trick to my semi-quick reversing for gemrb is that Avenger gave me a beautifully-annotated IDB, structures and all
[09:18:29] <fuzzie> it is quite an amazing work
[09:18:49] <fuzzie> and, well, i imagine it is just the same issue, but we'll see
[09:20:15] <dhewg> k, good luck with that then :)
[09:30:14] <edheldil> fuzzie: have you managed to enhance it with your function names from Mac?
[09:30:23] <fuzzie> somewhat
[09:31:21] <fuzzie> Avenger already marked a lot of that, of course
[09:31:32] <fuzzie> but e.g. I worked out the game animation vtable the other day, which he was very happy with
[09:34:13] <edheldil> btw, would a CLI dlg debugger be of any help to you? I have one semi working in iesh, fallen to a bit rot atm, though
[09:34:29] <fuzzie> a debugger?
[09:35:14] <edheldil> well, it allows you to set values of triggers and step through the states. Nothing fancy
[09:35:42] <edheldil> and it probably ignores most of the GS, I do not remember
[09:35:52] <fuzzie> not sure
[09:36:03] <edheldil> ok, np
[09:48:51] <fuzzie> ah so i have probably been looking at the wrong code for a bunch of this :-P
[09:51:29] <fuzzie> there's a CGameAnimationTypeMonster and a CGameAnimationTypeMonsterOld
[09:51:48] <fuzzie> and they hardcoded a bunch of things to use the latter
[09:54:46] <dhewg> like those with the 'e' suffix?
[09:55:31] <fuzzie> yep
[09:55:34] <fuzzie> whee
[09:56:41] <dhewg> :)
[09:57:33] <fuzzie> horrible!
[09:57:48] <fuzzie> why put code to handle this in CGameAnimationTypeMonster and then never use it?!
[09:59:48] <fuzzie> oh well
[10:03:32] <edheldil> another column in avatars.2da? :)
[10:03:58] <fuzzie> no
[10:04:07] <fuzzie> just, cry
[10:04:15] <fuzzie> thought this was dealt with :P
[10:04:19] <fuzzie> will battle it later
[10:04:28] <fuzzie> i should probably start renaming anim types
[10:04:58] <fuzzie> IE_ANI_FOUR_FILES_2 to IE_ANI_MONSTER_OLD for example
[10:04:59] <fuzzie> any objections?
[10:05:04] <dhewg> not even slighty related, but wow @ "nearly 6 years of video is uploaded to YouTube every day"
[10:05:26] <fuzzie> lynxlynxlynx: poke
[10:07:19] <lynxlynxlynx> re
[10:09:59] <fuzzie> just want to know opinion on IE_ANI renaming
[10:10:40] <lynxlynxlynx> no objection
[10:11:17] <fuzzie> thanks
[10:24:28] <fuzzie> ok, got a list of all the types..
[10:24:37] <fuzzie> off to do something useful
[11:13:20] --> SiENcE has joined #gemrb
[11:14:12] <fuzzie> lynxlynxlynx: you know whether the Demigorgon works?
[11:14:43] <lynxlynxlynx> no idea
[11:15:03] <fuzzie> it seems to not be in our avatars.2da at all, that's all
[11:15:26] <lynxlynxlynx> i doubt it does then ;)
[11:15:45] <fuzzie> i just thought i'd ask you since you seem to have played through most of the game :P
[11:15:57] <lynxlynxlynx> in the tob run, i skipped wk
[11:16:58] <fuzzie> ah. ok, thanks!
[11:18:25] <lynxlynxlynx> i forgot to ask
[11:18:58] <lynxlynxlynx> i saw you changed fx_apply_spell_on_condition - are fireshield and co now supposed to work?
[11:34:23] <fuzzie> nope
[11:36:57] <lynxlynxlynx> ok
[11:37:34] <lynxlynxlynx> need anything specific tested?
[11:40:54] <fuzzie> yes, but too busy right now to commit necessary preliminaries, sorry :/
[11:40:59] <fuzzie> master is missing too much
[11:42:05] <lynxlynxlynx> no problem, i should do real work too
[12:34:05] <CIA-52> GemRB: 03tom.prince * r279213505eea 10gemrb/gemrb/ (7 files in 3 dirs): Merge remote-tracking branch 'sf'
[12:34:17] <CIA-52> GemRB: 03tom.prince * r295baada23d4 10gemrb/gemrb/core/System/Logging.cpp:
[12:34:17] <CIA-52> GemRB: Fix print on msvc.
[12:34:17] <CIA-52> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[12:34:19] <tomprince> fuzzie: no plans for logging other than that.
[12:34:19] <CIA-52> GemRB: 03tom.prince * r123329c45d6a 10gemrb/ (7 files in 4 dirs):
[12:34:19] <CIA-52> GemRB: Remove broken snprintf implementation.
[12:34:19] <CIA-52> GemRB: If anybody needs this, they can add a working, portable version.
[12:34:19] <CIA-52> GemRB: (I will test this).
[12:34:20] <CIA-52> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[12:47:17] * fuzzie wobbles.
[12:47:32] <fuzzie> local bank branch not exactly at their most efficient today
[12:47:57] <fuzzie> went to pick up a new PIN, something you'd think would take about 10 seconds, given i had a letter with a barcode and etc
[12:48:39] <lynxlynxlynx> never underestimate bureaucracy
[12:49:04] <fuzzie> but instead, standing around for 20 minutes in first >25C day of the year.
[12:49:38] <fuzzie> must remember not to try and do any real business with them :P
[12:57:47] --> test32894789234u has joined #gemrb
[13:03:00] <-- lynxlynxlynx has left IRC (Read error: Operation timed out)
[13:20:05] --> lynxlynxlynx has joined #gemrb
[13:20:07] <-- lynxlynxlynx has left IRC (Changing host)
[13:20:07] --> lynxlynxlynx has joined #gemrb
[13:20:07] --- ChanServ gives channel operator status to lynxlynxlynx
[13:25:57] <fuzzie> lynxlynxlynx: the trouble with fx_cast_spell_on_condition is what I'm still not sure how it's meant to work :-/
[13:34:31] <fuzzie> i guess it's CGameEffectContingencyInstance, if that sounds right
[13:38:29] <fuzzie> but it seems very unlikely that it's handled in the effect if so
[13:39:13] <fuzzie> but i have no clue what a contingency is really so someone will have to 'yes' or 'no' that :P
[14:33:55] <tomprince> it does sound right.
[14:37:15] --> ubermad has joined #gemrb
[15:12:06] --> |Cable| has joined #gemrb
[15:42:19] --> Maighstir has joined #gemrb
[15:46:21] <-- test32894789234u has left #gemrb
[16:04:40] <-- SiENcE has left IRC (Quit: @all: cya)
[16:05:30] <tomprince> Is there any particular reason why the tlkoverride always hits the disk? Rather than reading it in on startup, and then writting out on save?
[16:11:05] <lynxlynxlynx> my guess: because it is only partially implemented
[16:11:27] <lynxlynxlynx> but, since it can be used to store things decided ingame, it can't be static
[16:16:55] <tomprince> I am just suggesting that it be stored in memory.
[16:17:18] <tomprince> And I am fairly certain it is the only place where a stream is used for both reading and writting.
[16:30:31] --> budlust has joined #gemrb
[16:38:45] <dhewg> icanhas instant destroyitem?
[16:40:34] <fuzzie> no :P
[16:40:58] <dhewg> awwwwwmaaan
[16:42:03] <fuzzie> tomprince: i think lynx's guess about it being partially implemented is correct
[16:42:55] <lynxlynxlynx> iirc custom biographies don't work yet
[16:48:38] <fuzzie> i'm not sure if we even read/write them correctly, honestly
[16:49:47] <tomprince> Thinking about splitting up reading from writting. Though I am not sure it is worth it.
[16:49:59] <tomprince> Also, implementing in memory cache, instead of FS cache.
[16:50:24] <fuzzie> the code is pretty crazy
[16:50:57] <fuzzie> i'd ask Avenger first and see if there's a reason it's so crazy :P
[16:51:03] <tomprince> fuzzie: re: error(), go ahead
[16:51:09] <-- edheldil_ has left IRC (Ping timeout: 248 seconds)
[16:51:37] <fuzzie> otherise i don't see why it can't *all* go in the map
[16:52:31] <tomprince> The only thing I would suggest, is keeping as much of the formatting in Logging.cpp. i.e. passing structured data, and letting the logger figure out how to format it for printing.
[16:52:33] <fuzzie> which would be nicer than doing it with a buffer or something
[16:53:09] <tomprince> That way, we can handle filtering, mutliple logs, etc sanely.
[16:53:13] <-- lynxlynxlynx has left IRC (Ping timeout: 260 seconds)
[16:53:38] <fuzzie> tomprince: well, this would be just some error(const char *s, ...), and can't think anywhere that would go other than Logging
[16:54:19] <tomprince> I was just thinking that it might make sense to give more paramaters that just s, like printMessage does.
[16:54:42] <fuzzie> not so sure, for this
[16:55:08] <fuzzie> i would like to have at least priority levels in the future, but error() is pretty much no-options..
[16:55:15] <fuzzie> unless i am missing what you mean, which is quite possible
[16:55:55] <tomprince> I was actually thinking of splitting DataStream into R and W. And having an option to use memory rather than the cachedir everywhere.
[16:56:04] <fuzzie> maybe we could have a verify() macro too
[16:56:23] <tomprince> If error quits, you are probably right.
[16:56:34] <fuzzie> yes, sorry, i keep forgetting this isn't obvious
[16:56:40] <tomprince> Although perhaps a subsystem.
[16:56:52] <fuzzie> i was thinking of something like the scummvm one, which is a fatal-error macro
[16:57:00] <fuzzie> to replace all our print/abort pairs
[16:57:20] <tomprince> Or maybe make it take a file and line, and write a macro that automatically interpolates them.
[16:58:13] <fuzzie> my worry with the cachedir thing would just be about the difficulty of seeing if it works right
[16:59:15] <fuzzie> but it's pretty useless to me i guess :)
[16:59:20] <tomprince> .... verbose logging :)
[16:59:53] <tomprince> And it would definitely be an option, since it would probably be a bit of a memory hog.
[17:00:05] <fuzzie> sure, it would be useless on a lot of platforms due to that
[17:00:20] <fuzzie> if you're really intending to replace the cachedir wholesale
[17:00:44] <tomprince> file+line, though can be implemented later. The API wouldn't change with that.
[17:01:12] <tomprince> I am. Abstracting it and implemting a second variation of it.
[17:01:14] <fuzzie> well, it's just i would really like the opportunity to review this, as discussed before
[17:01:24] <tomprince> Sure.
[17:01:29] <fuzzie> for my object changes i actually renames all the variables to have BROKEN in front, to make sure i could review all the uses
[17:01:32] --> Avenger has joined #gemrb
[17:01:38] <fuzzie> almost forgot to change it back before commit :P
[17:01:47] <Avenger> hello
[17:01:49] <fuzzie> ah it's Avenger :)
[17:01:55] <tomprince> I am not doing right now, it is just a project in the back of my mind.
[17:01:58] <Avenger> fuzzie: grats for your first ielister cotribution :)
[17:02:07] <fuzzie> haha. well it crashed on me, so :P
[17:02:15] <tomprince> hello
[17:02:21] <fuzzie> do you know if there's some reason why the TlkOverride stuff doesn't just read everything into memory when the cache is enabled?
[17:02:25] <Avenger> that means, you used it
[17:02:45] <fuzzie> yes, i use ielister a *lot*
[17:04:25] --> lynxlynxlynx has joined #gemrb
[17:04:25] <-- lynxlynxlynx has left IRC (Changing host)
[17:04:25] --> lynxlynxlynx has joined #gemrb
[17:04:25] --- ChanServ gives channel operator status to lynxlynxlynx
[17:05:26] <Avenger> hello lynx
[17:06:00] <fuzzie> i really hate that animation stuff
[17:06:02] <Avenger> anyone knows why we had those snprintf files?
[17:06:19] <fuzzie> they were from a long time ago
[17:06:23] <Avenger> removing them may break those platforms that needed them
[17:06:33] <Avenger> i don't know who needed them, though
[17:06:41] <fuzzie> and they were broken unless you had samba headers in your tree
[17:06:42] <tomprince> I tried compiling with them here, and they didn't work.
[17:06:47] <fuzzie> so i agreed that they were useless
[17:06:53] <Avenger> samba headers?
[17:06:56] <Avenger> eep
[17:06:56] <fuzzie> yes :P
[17:07:01] <fuzzie> so useless :)
[17:07:07] <Avenger> we should be careful what we take in, then
[17:07:23] <tomprince> Hence my comment in the change log. :)
[17:07:46] <fuzzie> my avatars.2da changes were a bit dumb
[17:07:49] <Avenger> do you know by chance, who committed them?
[17:07:53] <fuzzie> you
[17:08:04] <fuzzie> i remember knowing why
[17:08:11] <fuzzie> but it was way too long ago
[17:08:12] <-- budlust has left IRC (Quit: Lost terminal)
[17:08:16] <Avenger> heh, i wonder where i got them ???
[17:08:56] <fuzzie> but i checked and none of the ports i know of are using them
[17:09:02] <fuzzie> so we should be ok
[17:09:07] <tomprince> it says for windows, originally.
[17:09:33] <fuzzie> yes, i am guessing truly ancient broken win builds
[17:10:01] <Avenger> ok
[17:10:19] <Avenger> if it still compiles on MY windows, i don't really care :D
[17:10:27] <lynxlynxlynx> oj
[17:10:59] <fuzzie> Avenger: also do you mind if i rename the IE_ANI defines to stuff like IE_ANI_MONSTER_OLD? because they are driving me crazy
[17:11:00] <Avenger> i guess i looked for gpl'd snprintf but i don't know why
[17:11:18] <tomprince> And that is actually why I looked at them, to get a sane vsnprintf for msvc6. But I ended up working around it otherwise.
[17:11:46] <Avenger> fuzzie: if you can find a better than than MONSTER_OLD, fine ;)
[17:11:59] <fuzzie> well, it would be 'easier' if they matched original, for me
[17:12:11] <fuzzie> maybe MONSTER_BG1
[17:12:12] <Avenger> for IWD anims it is fine
[17:12:22] <Avenger> but BG1 has more than 1
[17:12:39] <Avenger> you could use IE_ANI_BIRD for birds
[17:12:54] <fuzzie> that is IE_ANI_FLYING in my thoughts
[17:12:57] <Avenger> ok
[17:13:04] <Avenger> that's fine
[17:13:18] <tomprince> I do test msvc6 on every commit. I actually even have it running now.
[17:13:44] <tomprince> Although, I do need an option to turn off console printing, since I'm not sure how to capture that.
[17:14:18] <fuzzie> well that's easy to add now i hope
[17:14:21] <Avenger> tom: that's good, i'm happy to hear that. There is nothing more frustrating when i reboot in windows, and cannot work on what i want ;) Small problems are fine, or adding stuff to project files.
[17:14:33] <Avenger> Just when i don't know how to fix it, that's bad
[17:15:08] <tomprince> If you used cmake, that would be handled automatically (adding files). Since that is how I test it.
[17:15:20] <fuzzie> i tried the cmake generation and it builds horrible project files
[17:15:22] <Avenger> i tried that 2 times
[17:15:32] <Avenger> oh cool, fuzzie tried it too :)
[17:15:34] <fuzzie> it doesn't even handle release/debug targets!
[17:15:47] <Avenger> so i'm not totally dumb.. hehe
[17:15:57] <tomprince> You sure? It seems to have them here.
[17:16:09] <fuzzie> well, maybe you are magic :P
[17:16:24] <fuzzie> d'you have a project file you can put up somewhere?
[17:16:27] <Avenger> well, i tried it, failed it, and decided i simply don't want to spend more time with that
[17:16:50] <tomprince> Not right now, but I can add a step to tar up the build environment. will do that tonight.
[17:17:06] <tomprince> That is how I package my broken mingw builds.
[17:17:16] <fuzzie> are they still broken?
[17:17:21] <tomprince> yep.
[17:17:37] <tomprince> Something blows up on returning from main.
[17:17:48] <tomprince> I tried running it under gdb, but didn't get far enough.
[17:18:03] <fuzzie> ah. same thing we had before :-/
[17:18:07] <tomprince> I do rember you suggesting a tpm or something build of mingw.
[17:19:00] <tomprince> I did wonder if it is perhaps mingw + python or sdl or openal compiled with msvc or something.
[17:19:18] * tomprince goes and catches up on marking
[17:39:38] <fuzzie> i have vague plans to commit the anim/trigger fixes
[17:41:37] <fuzzie> since no-one is replying to my emails about actual things i should be doing, as usual. or being in their offices. or answering their phones.
[17:46:23] <lynxlynxlynx> yay
[17:48:27] <fuzzie> Avenger: up to anything? :)
[17:52:44] <fuzzie> also i guess e8 indeed isn't supposed to be doing the casting itself
[17:56:50] --> lynxlynxlynx_ has joined #gemrb
[17:56:54] <-- lynxlynxlynx has left IRC (Read error: Operation timed out)
[18:00:23] <dhewg> i get that effect alot
[18:01:00] <tomprince> there are 30 printMessage+abort and 28 print+abort.
[18:01:12] <dhewg> shadow druids casting insect plague or woodland beeings on themselves, shade lord casting funny death spells on himself...
[18:05:43] <fuzzie> i have no idea about random targeting errors
[18:05:49] <fuzzie> but i imagine it is a spell action bug
[18:11:33] <tomprince> I'll add error tonight.
[18:13:27] <tomprince> I'll make it take a component and log __FILE__ and __LINE__.
[18:14:36] <tomprince> Although that will require renaming three variables (the __FILE__ and __LINE__ require macros).
[18:22:11] <fuzzie> why?
[18:22:21] <fuzzie> i mean, i don't understand why the rename, but i haven't looked
[18:24:04] --> Beh0lder has joined #gemrb
[18:24:29] <Beh0lder> hello all
[18:24:55] <fuzzie> hello
[18:27:43] <fuzzie> did we forget something we had to fix? :)
[18:32:50] <Beh0lder> no) I want to ask, is the current GIT version stable? Lynx says, that contains many uncompleted changes.
[18:32:56] <fuzzie> it is not
[18:33:09] <fuzzie> i am working on that right now
[18:34:33] <Beh0lder> OK, thanks
[18:35:30] <Beh0lder> I've updated my bug list
[18:35:46] <dhewg> i can confirm that fuzzie is fixing crap left and right :)
[18:37:05] <Beh0lder> :)
[18:37:58] <-- Beh0lder has left IRC (Quit: Beh0lder)
[18:38:54] <fuzzie> i have a list of all hardcoded triggers
[18:39:03] <fuzzie> just not done fiddling
[18:43:33] <dhewg> i think these castings on him/herself is maybe an actor selection issue?
[18:43:49] <fuzzie> how do you mea?
[18:44:16] <dhewg> i casted "miscast magic" on faldorn and i see "jaheira: micast magic: jaheira" in the log
[18:44:43] <dhewg> and now i reload :P
[18:45:11] <Avenger> bye
[18:45:17] <-- Avenger has left IRC (Quit: bye!)
[18:49:38] <fuzzie> it occurs to me also, after my recent scummvm profiling about file stuff
[18:49:58] <fuzzie> that SlicedStream is probably now hilariously inefficient
[18:51:08] <fuzzie> since it both clones the parent stream *and* makes seek calls on every read
[18:54:24] <lynxlynxlynx_> insect plague uses cast spell on condition
[18:54:56] <fuzzie> well, it looks like cast spell on condition is contingency instance
[18:55:08] <fuzzie> and if so, it can't be implemented correctly in an effect
[18:59:07] --> Beh0lder has joined #gemrb
[19:07:04] <lynxlynxlynx_> random spellcasting seems fine except for one thing
[19:07:19] <lynxlynxlynx_> some spells have bad casting range (now?)
[19:07:33] <lynxlynxlynx_> can't cast a fireball out of the blast radius
[19:10:23] <fuzzie> well
[19:10:42] <fuzzie> spellcasting is broken if you attack and then cast
[19:11:04] <fuzzie> but not for PCs i imagine
[19:11:38] <lynxlynxlynx_> something for later
[19:12:51] <fuzzie> i think that is the most likely cause of dhewg's random issues
[19:13:17] <fuzzie> but yes, something for later
[19:16:51] --> barra_home has joined #gemrb
[19:23:47] --> edheldil_ has joined #gemrb
[19:31:23] <dhewg> well, it makes me look more dangerous this way :P
[19:31:54] <dhewg> also, why do actors die when i enter a map?
[19:32:12] <fuzzie> just some?
[19:32:12] <dhewg> sometime peasants, in trademeet squirrels
[19:32:25] <fuzzie> they probably have 0 HP or something
[19:32:28] <dhewg> i load a savegame in trademeet and 8 squirrels die
[19:32:31] <fuzzie> got a map id?
[19:32:56] <dhewg> ar2000 is thats what you're asking?
[19:33:39] <fuzzie> thanks
[19:33:41] <dhewg> poor squirrels, my druid is such a nice person!
[19:47:14] <fuzzie> they do not appear, in fact, to have 0 HP
[19:47:56] <lynxlynxlynx_> constitution?
[19:48:05] <fuzzie> 3
[19:50:35] <dhewg> do you see em dying?
[19:50:54] <fuzzie> good qu
[19:51:02] <fuzzie> other people have reported in the past though, i think
[19:51:20] <Beh0lder> Poor birds, they "glued" to top edge of map and spinning in place :)
[19:51:25] <dhewg> i get that on many maps, different stuff just dies upon entering
[19:52:03] <fuzzie> i hear squaling anyway
[19:52:18] <fuzzie> and indeed, squirrels deaths
[19:52:22] <Beh0lder> squirrels are dying in all maps in BG1, where they present
[19:52:29] <lynxlynxlynx_> at -3, that's -2hp/level
[19:52:45] <lynxlynxlynx_> err, 3
[19:52:46] <fuzzie> oh dear, we're applying con bonuses to random actors?
[19:52:58] <lynxlynxlynx_> just a guess
[19:54:24] <lynxlynxlynx_> i can reproduce, checking
[19:54:41] <fuzzie> no you're quite right
[19:54:51] <fuzzie> in InitStatsOnLoad, "ieDword hp = BaseStats[IE_HITPOINTS] + GetHpAdjustment(GetXPLevel(false));"
[19:55:38] <fuzzie> CreateDerivedStats is also not checking for class==0
[19:56:26] <nyytit> hi, about those immortal trolls in iwd, which i talked about earlier
[19:56:30] <fuzzie> same issue with ApplyKit, if it's ever called without check
[19:56:56] <nyytit> I tried with the desktop version and also tried something so extreme as trying with the original game engine
[19:57:01] <nyytit> it still happens
[19:57:14] <fuzzie> in the original too?
[19:57:15] <nyytit> so my savegame is obviously somewhat corrupted
[19:57:17] <nyytit> yes
[19:58:28] <fuzzie> and where are the trolls?
[19:58:35] <nyytit> in the dragon's eye
[19:58:41] <nyytit> second level
[19:58:50] <fuzzie> that's weird
[19:58:54] <fuzzie> can you put your savegame somewhere?
[19:59:12] <nyytit> yes, wait a minute
[19:59:22] <fuzzie> or email :)
[20:00:22] <dhewg> lol, that zahraa dude just casted flesh to stone on himself :P
[20:00:42] <fuzzie> are you on 0.6.4 or trunk?
[20:00:53] <lynxlynxlynx_> i don't remember how the iwd trolls are scripted - could it be the locals thing?
[20:00:55] <fuzzie> ok, wait, never mind, trunk is crazy
[20:01:23] <fuzzie> lynxlynxlynx_: hm. yes.
[20:02:05] --- lynxlynxlynx_ is now known as lynxlynxlynx
[20:02:35] <fuzzie> i wish weidu understood this stuff
[20:04:10] <nyytit> i am on 0.6.4
[20:07:12] <fuzzie> it might be a bug in 0.6.4 if you entered the area, then left it without killing the trolls
[20:07:20] <nyytit> http://www.ee.oulu.fi/~kassinen/000000010-FFUUU.rar
[20:08:06] <fuzzie> hm no
[20:08:13] <fuzzie> actually it can't be, because trolls get saved with the area
[20:08:32] <dhewg> do they have minhp items? :P
[20:08:56] <fuzzie> let's take a look
[20:09:05] <fuzzie> but they do by default, yes
[20:09:08] <fuzzie> bioware like their minhp items
[20:09:32] <fuzzie> i like how i *only* have iwd saves which people sent me to debug things
[20:09:38] <fuzzie> 60 or so
[20:09:43] <fuzzie> i saw most of the game by now without playing it :P
[20:09:54] <nyytit> :D
[20:10:24] <fuzzie> ok, so we have mr troll, with reg1hp2
[20:11:03] <fuzzie> and i do a large amount of damage, and it's at 2hp with reg1hp2
[20:11:05] <fuzzie> that is not good
[20:11:45] <fuzzie> it has forgotten that it's a troll.
[20:16:08] <fuzzie> hm
[20:18:08] <fuzzie> that's strange
[20:20:30] <fuzzie> and weidu is being case-sensitive at me
[20:21:46] <fuzzie> oh, no, weidu is being stupid at me
[20:25:25] <fuzzie> weidu is being stupid *and* case-sensitive at me
[20:25:29] <fuzzie> > stat64("/home/fuzzie/src/gemrb/iwd/cd2/data/ar4002.cbf")
[20:25:38] <fuzzie> > open("/home/fuzzie/src/gemrb/iwd/CD2/DATA/AR4002.cbf")
[20:25:53] <fuzzie> possibly an old version
[20:28:03] <fuzzie> and if i fix that then it breaks on big-endian
[20:28:09] <fuzzie> ok could someone get me ar4002.ini please? :P
[20:34:04] <lynxlynxlynx> http://forums.gibberlings3.net/index.php?showtopic=3463&pid=33296&mode=threaded&start=
[20:34:52] <fuzzie> hm
[20:35:04] <fuzzie> ok, i never thought to try that, thankyou!
[20:35:50] <pupnik_> evening gemrb :D
[20:39:32] <-- ubermad has left #gemrb
[20:42:02] <fuzzie> well, i don't get it.
[20:43:55] <fuzzie> Debugdump of Actor Troll (Troll, Troll):
[20:43:56] <fuzzie> Scripts: <none> <none> <none> <none> gnmmg3gh gnmmg9gh <none> <none>
[20:44:02] <fuzzie> ^- what's the gnmmg3gh?
[20:45:29] <fuzzie> it's meant to have eftrolg there
[20:45:53] --- pupnik_ is now known as pupnik
[20:46:57] <fuzzie> and only google result is from the other person to report a troll bug..
[20:59:27] --- barra_home is now known as barraAway
[20:59:42] <fuzzie> well, i really don't know
[21:06:48] <lynxlynxlynx> are those valid scripts?
[21:07:05] <lynxlynxlynx> looks corrupted
[21:09:21] <fuzzie> that's the weird thing, they are valid scripts
[21:18:57] <lynxlynxlynx> i suggest you load something else and teleport in that area anew
[21:20:40] <fuzzie> well, it works for me, ofc :-/
[21:23:50] <lynxlynxlynx> nyytit: do you have a save before you entered that area?
[21:25:58] <dhewg> works as in you can kill the troll?
[21:26:37] <fuzzie> works as in i can kill the troll as long as i don't use some bug reporter's broken save :P
[21:27:04] <dhewg> heh
[21:27:31] <dhewg> i think the iwd1 fixpack changelog mentions broken death scripts or whatever it called it?
[21:28:16] <nyytit> lynxlynxlynx: I have a save from the start of previous area
[21:28:46] <lynxlynxlynx> try going from there
[21:28:52] <lynxlynxlynx> (again)
[21:28:59] <nyytit> I will try that again tomorrow with the old save if it fixes things
[21:30:32] <nyytit> note to self: always save on a different slot before entering new area
[21:30:37] <fuzzie> dhewg: ye, but that is something else
[21:30:47] <fuzzie> i really don't know what's going on here, maybe a bad fixpack/mod
[21:31:24] <fuzzie> nyytit: do you know if you have any fixpacks/mods installed?
[21:31:57] <nyytit> i shouldn't have
[21:32:46] <fuzzie> come to think of it, maybe *I* have the fixpack installed
[21:33:41] <fuzzie> hm, no
[21:33:41] <nyytit> but i report what happens with the older save when i get to the trolls
[21:33:54] <nyytit> sleepmode ->
[21:45:33] <-- Beh0lder has left IRC (Quit: Beh0lder)
[21:57:32] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[21:58:14] <fuzzie> oh, i see why travel is broken in master
[21:58:17] <fuzzie> grr
[22:06:49] <CIA-52> GemRB: 03fuzzie * r6273b297fc32 10gemrb/gemrb/core/Scriptable/Actor.cpp: add trigger_die on death
[22:06:50] <CIA-52> GemRB: 03fuzzie * rc47f4319febe 10gemrb/gemrb/core/GUI/GameControl.cpp: don't sabotage trigger_clicked on travel regions
[22:06:51] <CIA-52> GemRB: 03fuzzie * r0b8b68dada69 10gemrb/gemrb/core/Scriptable/InfoPoint.cpp: show infopoint deactivated flag in debug dump
[22:25:50] <fuzzie> the pool in the first layer of bodhi's lair makes it clear we draw polys a bit wrong
[22:29:53] <fuzzie> imoen soul get!
[22:34:47] <tomprince> I saw the redundent seek when I was writting SlicedStream, but I didn't want to mess with it at the same time.
[22:35:36] <fuzzie> well, it's redundant only if you open a new file handle for every one
[22:35:47] <fuzzie> but i'm not sure what the original code was like here
[22:35:53] <fuzzie> i am busy plotting the death of the .sto reloading
[22:36:17] <fuzzie> it has become a little too ridiculous
[22:36:37] <fuzzie> even if i sabotage it to run less often
[22:37:34] <fuzzie> master can't be *too* broken anyway, i managed to speedrun through quite a bit of the game now
[22:37:35] <tomprince> The original code opened a new handle each time too.
[22:37:58] <fuzzie> and it did seeking?
[22:38:06] <tomprince> But we could refcount streams, and not copy, and instead seek everytime.
[22:38:29] <fuzzie> we probably shouldn't
[22:38:49] <fuzzie> i was horrified to discover that my scummvm engine had fseek, feof, fread, ferror at the top of the profile
[22:39:23] <fuzzie> wouldn't be surprised if we ended up with similar for gemrb at times
[22:41:39] <tomprince> Or maybe I was just being stupidly paranoid.
[22:41:53] <fuzzie> well, it makes sense if you're sharing a parent, but it's *really* slow
[22:42:54] <fuzzie> in theory. can't say i've noticed, but the .sto thing is a bit overwhelmingly awful.
[22:43:56] <fuzzie> although come to think of it, the STO is probably loading a whole bunch of these
[22:44:13] <fuzzie> worth a profile to see what is actually a problem, perhaps
[22:44:15] <fuzzie> but not now
[22:45:51] <-- barraAway has left IRC (Read error: Connection reset by peer)
[23:00:21] <pupnik> meh @ barmaid :(
[23:00:33] <pupnik> i know sorta what i want to draw, but not exactly :(
[23:08:17] <tomprince> fuzzie: https://gist.github.com/933304
[23:08:36] <tomprince> I am debating whether it is worth it.