#gemrb@irc.freenode.net logs for 5 Aug 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:45:43] <-- nickdaly` has left IRC (Ping timeout: 260 seconds)
[01:08:03] --> budlust has joined #GemRb
[01:37:49] --> raevol has joined #GemRb
[02:07:28] --> nickdaly has joined #GemRb
[02:10:00] <-- nickdaly has left IRC (Remote host closed the connection)
[02:37:04] --> nickdaly has joined #GemRb
[02:45:14] <-- raevol has left IRC (Quit: Leaving.)
[02:45:18] --> nickdaly` has joined #GemRb
[02:47:22] <-- nickdaly has left IRC (Ping timeout: 276 seconds)
[03:47:16] <-- nickdaly` has left IRC (Ping timeout: 265 seconds)
[05:58:33] --> edheldil_ has joined #GemRb
[06:04:04] --> lynxlynxlynx has joined #GemRb
[06:04:08] <-- lynxlynxlynx has left IRC (Changing host)
[06:04:08] --> lynxlynxlynx has joined #GemRb
[06:04:09] --- ChanServ gives channel operator status to lynxlynxlynx
[06:17:19] <-- edheldil_ has left IRC (Ping timeout: 276 seconds)
[07:26:45] <-- |Cable| has left IRC (Remote host closed the connection)
[07:32:41] --> edheldil_ has joined #GemRb
[08:03:19] --> barra_library has joined #GemRb
[08:22:09] <-- edheldil_ has left IRC (Ping timeout: 245 seconds)
[08:40:51] --> SiENcE has joined #GemRb
[09:06:10] <CIA-26> GemRB: 03fuzzie * r4392ff306396 10gemrb/gemrb/core/GameScript/GSUtils.cpp: second half of MatchActor rewrite (forgot to commit, sorry!)
[09:06:12] <fuzzie> no promises that works, but more refactoring is pending
[09:06:34] <fuzzie> 'works' in the sense of 'correctly', i should say, and it was worse before..
[09:13:34] <-- barra_library has left IRC (Quit: Verlassend)
[09:34:03] <lynxlynxlynx> if i add a similar playonce into fx_play_visual_effect, the implosion spell gets fixed too
[09:34:24] <lynxlynxlynx> i haven't explored it yet though, so no idea if it makes sense
[09:42:35] <fuzzie> no
[09:42:54] <fuzzie> i mean, i just spent quite a bit of work making the loop work correctly there :)
[09:43:19] <lynxlynxlynx> i didn't mean directly, but in the fx->TimingMode!=FX_DURATION_INSTANT_PERMANENT case
[09:43:48] <fuzzie> the duration is bad?
[09:44:03] <lynxlynxlynx> yesterday's stuff does fix the CreateVisualEffect in the cutscene btw
[09:44:20] <fuzzie> maybe i'm misunderstanding
[09:44:38] <lynxlynxlynx> i just got lucky with that blind try
[09:44:53] <fuzzie> ok :)
[09:45:16] <lynxlynxlynx> the play 3d effect opcode has no duration
[09:45:32] <fuzzie> so you add it as an else clause?
[09:46:08] <lynxlynxlynx> i don't see how this has helped, since these two have permanent timing mode
[09:46:58] <fuzzie> is fx->Parameter2 set?
[09:47:20] <lynxlynxlynx> yes, it's 0
[09:48:46] --> barra_library has joined #GemRb
[09:48:48] <fuzzie> and the timing mode is instant permanent?
[09:49:06] <lynxlynxlynx> wtf
[09:49:15] <lynxlynxlynx> #define FX_DURATION_INSTANT_PERMANENT 1
[09:49:38] <lynxlynxlynx> 4757 if (fx->TimingMode!=FX_DURATION_INSTANT_PERMANENT) {
[09:49:39] <lynxlynxlynx> (gdb) p fx->TimingMode
[09:49:41] <lynxlynxlynx> $5 = 1
[09:49:55] <lynxlynxlynx> and it goes into the else case
[09:50:04] <fuzzie> so that sounds good?
[09:50:27] <lynxlynxlynx> hehe
[09:50:32] <fuzzie> i was trying to say last night, a lot of this stuff seems to work or not work at random :/
[09:51:13] <fuzzie> but an 'else if (!fx->Parameter2)' for PlayOnce seems fine
[09:51:44] <fuzzie> or just move that whole TimingMode block down to the 'not sticky' section, maybe simpler
[09:52:21] <lynxlynxlynx> for this spell param2 is pretty useless anyway
[09:52:34] <fuzzie> oh?
[09:52:46] <lynxlynxlynx> place cast = target
[09:53:17] <fuzzie> oh
[09:53:23] <fuzzie> so it has a bad target?
[09:53:43] <lynxlynxlynx> no, just the spell works in such a way that this distinction is not necessary
[09:53:47] <lynxlynxlynx> but this is just this spell
[09:53:48] <fuzzie> i mean
[09:53:57] <fuzzie> there's got to be a 'target' passed to that function, otherwise it segfaults
[09:54:05] <lynxlynxlynx> sure
[09:54:11] <fuzzie> and the target must be an actor
[09:54:22] <lynxlynxlynx> yes
[09:54:35] <fuzzie> so this is maybe the underlying cause of our "spells shoot at the caster, not the target point" bug, in general?
[09:55:31] <fuzzie> i know that is not relevant to this spell cast, but i hadn't realised we set 'target' when there wasn't one..
[09:55:45] <fuzzie> but clearly this effect would crash otherwise
[09:58:29] <lynxlynxlynx> yeah, we should cancel instead
[09:58:52] <lynxlynxlynx> the cursor is already grayed out, so it more confusing to the user
[09:59:46] <fuzzie> well, it is not a huge priority :) but it's nice to understand it more
[10:00:24] <fuzzie> you should beware of cutscene changes by the way, all my object matching changes will probably cause big changes
[10:00:47] <lynxlynxlynx> i don't touch such things in general
[10:01:04] <fuzzie> i mean, you can't trust anything you see in cutscenes in gemrb right now :)
[10:01:30] <fuzzie> i have it working locally pretty well -- no more running off to far-off enemies! -- but want to refactor it first
[10:01:48] <lynxlynxlynx> cool
[10:02:15] <lynxlynxlynx> moving the playonce down works too
[10:02:30] <lynxlynxlynx> are you sure the sticky path doesn't need that duration check?
[10:02:39] <fuzzie> nope
[10:02:56] <lynxlynxlynx> as in?
[10:03:06] <fuzzie> i mean: i haven't had my coffee yet, i don't know
[10:03:18] <lynxlynxlynx> ok, i'll do the smaller change then
[10:03:24] <fuzzie> probably better
[10:03:43] <fuzzie> i mean, it is broken either way
[10:04:00] <fuzzie> but i'll have to find a spell to use as an example, and see how it's meant to work
[10:04:15] <lynxlynxlynx> how do you know it is broken then?
[10:04:35] <fuzzie> because any permanent effects will get immediately removed by my fancy effect_owned/active code :p
[10:04:49] <fuzzie> i didn't consider the possibility that they existed
[10:05:09] <fuzzie> so if permanent fx with Param2==1 means 'play once', then it needs some more checks
[10:06:21] <fuzzie> but i doubt it does, actually
[10:06:40] <fuzzie> because i guess everything i've bene testing is probably permanent.
[10:06:45] <fuzzie> anyway, i'll finish my coffee.
[10:12:16] <fuzzie> wjp: ok, i have *something* vaguely client shaped for Windows x64 built, so looks good
[10:12:20] <fuzzie> oops, wrong window
[10:12:29] <fuzzie> well, i suppose the other window isn't particularly relevant either
[10:16:19] <SiENcE> hey
[10:17:01] <SiENcE> what is the oggreader plugin for?
[10:17:08] <fuzzie> playing ogg files? :)
[10:17:20] <SiENcE> ;)
[10:17:28] <fuzzie> almost all mods distribute their audio in ogg format
[10:17:33] <SiENcE> does bg1,2,iwd1,2 use ogg files?
[10:17:38] <fuzzie> for the original engine they convert it to wav, but that seems a bit silly for gemrb
[10:17:40] <SiENcE> ah for mods?
[10:18:08] <fuzzie> mhm
[10:18:15] <fuzzie> i guess you could compress your existing audio too
[10:19:18] <SiENcE> thats not so important for now
[10:19:32] <SiENcE> first i need to remap keys and a faster audio plugin
[10:19:39] <SiENcE> and of couse reduce the ramsize
[10:19:58] <SiENcE> i need to disable all, thats not needed
[10:20:04] <SiENcE> tooltips for example
[10:21:25] <SiENcE> do you know, what can i disable that needs much ram or speed?
[10:22:27] <SiENcE> and how can i increase the fontsize?
[10:24:30] <lynxlynxlynx> fonts are bitmaps
[10:24:50] <lynxlynxlynx> there are mods for bigger ones though (for use with widescreen)
[10:25:53] <lynxlynxlynx> http://www.shsforums.net/topic/38626-bigger-fonts-for-bgiitob-and-other-ie-games/
[10:27:00] <CIA-26> GemRB: 03lynxlupodian * re4ace05bc38a 10gemrb/gemrb/core/GameScript/GSUtils.cpp:
[10:27:00] <CIA-26> GemRB: GetVVCEffect: play the animation only once if iterations is 0
[10:27:00] <CIA-26> GemRB: fixes neverending eye-of-bhaal animation, implosion in a cutscene and some
[10:27:00] <CIA-26> GemRB: other bam-only animations
[10:27:02] <CIA-26> GemRB: 03lynxlupodian * r12ae739bcaaa 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp:
[10:27:02] <CIA-26> GemRB: fx_play_visual_effect: also PlayOnce if the effect is not sticky
[10:27:02] <CIA-26> GemRB: fixes the implosion spell among others
[10:27:07] <SiENcE> thx
[10:27:22] <SiENcE> uf this is ugly -> SwapBuffers
[10:27:40] <SiENcE> you wait 17ns before another SwapBuffers?
[10:28:01] <fuzzie> if we're rendering above 30fps.
[10:28:07] <fuzzie> that doesn't sound likely in your case :)
[10:29:49] <lynxlynxlynx> Walking speed is bad, code is in the wrong place. <-- you fixed this, right? At least the wrong place part
[10:29:58] <fuzzie> yes
[10:30:03] <fuzzie> i think you can probably just remove that
[10:30:26] <fuzzie> it works for polymorphing now, which was my main worry
[10:31:53] <SiENcE> can i render the mousecursor to backBuf instead of copying backBuf->disp and than rendering mouse to backBuf
[10:31:59] <SiENcE> ähm mouse to disp
[10:32:04] <SiENcE> ?
[10:33:29] <fuzzie> well, sure
[10:33:39] <fuzzie> that would make it slower with a real mouse, though
[10:33:51] <fuzzie> which is why we do it that way
[10:35:31] <SiENcE> yes on normal pc with graphiccard
[10:36:34] <fuzzie> well, i think everyone else uses the touchscreen where they don't really care about the cursor at all
[10:36:41] <fuzzie> so this is unique to you again, i guess :)
[10:37:29] <fuzzie> i have been trying to split up that code a bit, we could put the mouse/tooltip drawing into another function, would that help?
[10:38:03] <SiENcE> yes and please add an option for it to cfg
[10:38:15] <fuzzie> i think you're probably better off #ifdeffing
[10:38:21] <SiENcE> and also to disable music/soundfx
[10:38:43] <SiENcE> i mean also the loading of music and soundfx
[10:38:55] <fuzzie> you can disable all sound with "AudioDriver = none"
[10:39:09] <SiENcE> when i choose nosound plugin, i think i have seen, that gemrb loads sounds
[10:39:14] <SiENcE> really?
[10:39:15] <fuzzie> then it shouldn't load sounds (it might look for it on the console, but they don't get loaded)
[10:39:26] <SiENcE> ok good
[10:39:32] <fuzzie> but actually that is a bug
[10:39:47] <SiENcE> and try to seperate music and sound via cfg option
[10:39:49] <fuzzie> we have to load a few bytes of some sounds, to find out how long they are
[10:40:01] <fuzzie> but i think sdlsound is a better fix :)
[10:40:02] <SiENcE> this is ok
[10:44:05] <SiENcE> where is backBuf allocated in sdlvideo? i cant find it
[10:45:02] <fuzzie> line 124 in the git copy
[10:45:23] <fuzzie> under the 'Creating Back Buffer...' printMessage
[10:45:43] <SiENcE> ah ok backBuf = SDL_DisplayFormat( tmp );
[10:46:23] <fuzzie> yep
[10:58:51] <lynxlynxlynx> that matchactor fix is incomplete
[11:00:24] <CIA-26> GemRB: 03lynxlupodian * rc6a913d61d69 10gemrb/gemrb/core/GameScript/GSUtils.cpp: fixed compilation of 4392ff30
[11:00:35] --> Maighstir_laptop has joined #GemRb
[11:00:48] <fuzzie> oh, right, sorry
[11:01:12] <fuzzie> haven't worked out how to stop cmake doing NDEBUG by default in release mode
[11:01:47] <lynxlynxlynx> does that make sense at all?
[11:02:50] <fuzzie> well
[11:03:07] <fuzzie> how do you mean?
[11:03:19] <fuzzie> i mean, NDEBUG means "no debugging code", which is the last thing we want
[11:03:42] <fuzzie> not even original IE is built like that
[11:04:10] <lynxlynxlynx> but this is release mode
[11:04:22] <fuzzie> yes
[11:04:37] <fuzzie> i mean
[11:05:02] <lynxlynxlynx> i understand though
[11:05:06] <fuzzie> ok :)
[11:06:03] <fuzzie> i mean, all i really want here is for the asserts to run in release mode
[11:07:02] <fuzzie> it is pretty standard, and it gets you nice error dialogs on Windows
[11:09:45] <fuzzie> but it's difficult to work out how to do that, because the NDEBUG thing is hard-coded into the compiler modules
[11:14:35] <lynxlynxlynx> can't we just put an undef somewhere in the toplevel?
[11:16:03] <fuzzie> well
[11:16:12] <fuzzie> from what tomprince said, there *isn't* a toplevel
[11:16:23] <fuzzie> but maybe we should just force one
[11:17:07] <fuzzie> and i guess win32def.h isn't a bad candidate for now
[11:21:34] <lynxlynxlynx> http://bitbucket.org/mirror/llvm/src/f9a6ef2942c4/CMakeLists.txt <-- seems llvm just undefs it
[11:21:40] <lynxlynxlynx> on the commandline
[11:23:00] <-- SiENcE has left IRC (*.net *.split)
[11:25:08] <fuzzie> huh, i figured that wouldn't work with msvc etc
[11:36:37] <lynxlynxlynx> tomprince's buildbot is down
[11:37:12] <lynxlynxlynx> i'll add this with a msvc check then, so it at least works on linux
[11:37:15] --> SiENcE has joined #GemRb
[11:37:17] <fuzzie> i imagine it was on his desktop machine
[11:38:17] <SiENcE> hey fuzzie, when is the backBuf copied to disp?
[11:38:47] <fuzzie> SiENcE: the first SDL_BlitSurface in SwapBuffers
[11:39:23] <SiENcE> ah yes.mh strange i have a black screen
[11:39:40] <SiENcE> whats the second SDL_BlitSurface for?
[11:39:46] <SiENcE> if (fadeColor.a)
[11:40:06] <fuzzie> it fades in/out the screen
[11:40:20] <fuzzie> by drawing a black rectangle with a given alpha on top
[11:40:58] <SiENcE> ok
[11:41:00] <fuzzie> that is obviously not too fast, but it doesn't happen during normal gameplay
[11:42:19] <SiENcE> so disp is not manipulated elsewhere? only this SDL_BlitSurface copy from backBuf to disp?
[11:42:37] <CIA-26> GemRB: 03lynxlupodian * r6b9cefc97c86 10gemrb/CMakeLists.txt: cmake: disable NDEBUG in release builds, but not when using MSVC (not sure if it works)
[11:42:57] <fuzzie> SiENcE: it depends what you mean by 'manipulated'
[11:43:28] <SiENcE> i want to copy backbuf directly to my scaleing function
[11:43:32] <fuzzie> disp is only *modified* in SwapBuffers
[11:43:36] <SiENcE> ok
[11:44:05] <fuzzie> oh, and in the movie code
[11:44:39] <fuzzie> gosh, this code is terrible
[11:44:59] <wjp> yes :-(
[11:50:03] <fuzzie> the stuff i'm looking at is from nov 2003, not complaining about your code :)
[11:50:53] <wjp> I tried to clean it up several times, but got discouraged
[12:06:54] <SiENcE> how playable are the games? esp. IWD1 and BG1?
[12:07:19] <fuzzie> i think a few people have played all the way through bg1 now
[12:08:07] <fuzzie> and at least lynx has finished iwd (expansion pack doesn't work properly though) and bg2 SoA (but not ToB)
[12:09:04] <lynxlynxlynx> iwd1 is our most compatible game if you don't count the effects
[12:16:50] <fuzzie> a list of bg2 spells/effects which don't work properly would be a good thing to have
[12:17:02] <fuzzie> i tried to use as much as possible during my original engine run
[12:17:23] <fuzzie> lynxlynxlynx: do you have any idea how monster summons should be delayed?
[12:17:45] <fuzzie> the original engine doesn't seem to spawn them until after the anim has mostly played, but i'm not sure at all
[12:17:48] <lynxlynxlynx> maybe it is just on animation end
[12:17:55] <lynxlynxlynx> :)
[12:18:37] <lynxlynxlynx> re effects: i was also thinking of starting to add code comments on those that were thoroughly looked at while RE
[12:18:51] <lynxlynxlynx> so you can tell wheter it is worth to debug something there or not
[12:20:24] <fuzzie> well
[12:20:36] <fuzzie> i wonder if that would also better be done on-wiki
[12:21:03] <fuzzie> it's a bit complicated because most of the REing is bg2-only, and just by observation you can see that it's obviously different in, for example, bg1
[12:22:05] <lynxlynxlynx> sure, it can be tagged
[12:23:58] <fuzzie> but you can add all the comments you want, i guess :)
[12:29:44] <CIA-26> GemRB: 03lynxlupodian * r48edd82e71d1 10gemrb/CMakeLists.txt: cmake: added a macro to prettify the main CMakeLists.txt
[12:30:20] <lynxlynxlynx> for the wiki, a list of not working spells would be better, since sometimes it is due to effects, sometimes due to projectiles and sometimes due to other stuff
[12:30:33] <lynxlynxlynx> and it is not obvious
[12:30:46] <fuzzie> well, that's why i said "bg2 spells/effects", i thought you might have a better idea of which would be better
[12:32:39] <lynxlynxlynx> it's easy to go through all of them
[12:32:47] <fuzzie> i mean, i learn more and more about the engine internals, but i still have no idea how you'd even use a spell sequencer or contigency or anything
[12:33:03] <fuzzie> i should go try it in the original engine, i suppose
[12:33:05] <lynxlynxlynx> you haven't tried that in the original?
[12:33:20] <fuzzie> no :)
[12:33:26] <lynxlynxlynx> you cast the spell, it brings up the gui and when you're done, you're left with a new innate
[12:33:45] <lynxlynxlynx> the effect takes care of the only-one-at-a-time part iirc
[12:33:47] <fuzzie> i only finished my first complete run of SoA a few days ago, although I'd run through almost everything in bits before..
[12:34:39] <lynxlynxlynx> sequencers of magic missiles -> bane of mages and resistant creeps
[12:35:33] <fuzzie> but if you know how all the spells are meant to work, a "good/broken/useless" list would be v.helpful
[12:36:59] <fuzzie> not going to get to that now, but maybe at the end of August
[12:37:13] <lynxlynxlynx> bg2 is not as bad as i thought
[12:37:37] <lynxlynxlynx> i have a few saves with casters at the start of tob to play with and it is pretty well
[12:38:15] <lynxlynxlynx> i can do a systematic check sometime, sure
[12:39:35] <SiENcE> yesterday i tried iwd1, to generate characters /import characters and its not working good
[12:39:41] <SiENcE> i got a few errors
[12:40:03] <lynxlynxlynx> i don't know about importing, but creating should work fine
[12:40:12] <SiENcE> mh ok
[12:40:13] <lynxlynxlynx> show me any errors you find
[12:40:18] <SiENcE> ok
[12:40:27] <SiENcE> it was import errors
[12:40:48] <lynxlynxlynx> as in character import?
[12:40:54] <SiENcE> yes
[12:40:56] <SiENcE> iwd1
[12:41:18] <SiENcE> i have 1.061 of iwd - german lang
[12:41:22] <fuzzie> i'm not sure that works in iwd
[12:41:25] <fuzzie> i mean, importing
[12:41:47] <SiENcE> ok
[12:42:32] <SiENcE> do you have the implementation or playable status somewhere in your wiki? i want to link to it in my readme
[12:43:28] <fuzzie> hm, the import stuff looks ok at a glance
[12:43:31] <fuzzie> so yes, show the errors :)
[12:45:02] <lynxlynxlynx> http://gemrb.sourceforge.net/wiki/doku.php?id=status <-- as close as you can get
[12:45:30] <fuzzie> we could make a new wiki page, i guess
[12:45:48] <lynxlynxlynx> nah, it's a fine wiki page
[12:45:55] <lynxlynxlynx> the perfect place for more content
[12:46:15] <fuzzie> but you want the changelogs kept there?
[12:46:58] <CIA-26> GemRB: 03fuzzie * r594c3bb452b4 10gemrb/gemrb/core/Variables.cpp: fix (hopefully) some asserts in Variables
[12:47:06] <fuzzie> maybe i am overthinking, just some sections with notes would do fine
[12:47:38] <lynxlynxlynx> it's only one changelog
[12:48:14] <CIA-26> GemRB: 03lynxlupodian * r6140aa2141b3 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp: create at least two mirror images like all the descriptions suggest
[12:50:58] <SiENcE> ok status looks good
[12:51:08] <lynxlynxlynx> refresh
[12:51:20] <lynxlynxlynx> two sentences more >>
[12:55:48] <lynxlynxlynx> oh, one spell bug: glyph of warding and symbols can't be triggered anymore
[12:57:15] <fuzzie> um
[12:57:22] <fuzzie> what's with the mirror image codee?
[12:57:40] <-- budlust has left IRC (Quit: Lost terminal)
[12:57:51] <lynxlynxlynx> ?
[12:58:08] <fuzzie> why is it doing a roll?!
[12:58:20] <lynxlynxlynx> btw, creating the summon on animation end is the perfect solution if you take a look at raise undead
[12:59:01] <lynxlynxlynx> i thought it shouldn't be doing it either, but the effect description says it does and the spell also passes different params at different levels (4 or 5 max images)
[12:59:10] <lynxlynxlynx> all the spell descriptions say 2-8 though
[12:59:48] --- barra_library is now known as barraAway
[13:00:02] <lynxlynxlynx> i could swear i never saw any variability in the originals though
[13:00:10] <fuzzie> yes
[13:00:14] <fuzzie> code is broken
[13:00:30] <fuzzie> it's meant to make (level/3)+2 images, capped at 8
[13:00:32] <lynxlynxlynx> the effect is different in appearance in soa and tob too - soa creates a silly line
[13:02:02] <lynxlynxlynx> you're looking at the annotations?
[13:02:12] <fuzzie> well, i am looking at the code
[13:02:19] <fuzzie> the annotations are incomplete
[13:03:37] <fuzzie> but it does come with a "only checked ToB" disclaimer
[13:05:27] <fuzzie> Avenger's annotations do say
[13:05:32] <fuzzie> "level of first class"
[13:06:19] <fuzzie> but other than that it seems pretty obvious: take level, divide by 3, add 2, compare to 8, set to 8 if not <=.
[13:07:52] <fuzzie> and IESDP agrees on my observations
[13:08:09] <fuzzie> both params irrelevant (the param2 thing is a gemrb extension), number of images dictated by caster level
[13:08:29] <SiENcE> the bigger font mod works :)
[13:08:38] <SiENcE> and i optimized some rendering stuff
[13:08:43] <SiENcE> now i get 50fps
[13:08:59] <SiENcE> in main menu of iwd1
[13:09:06] <SiENcE> and ~22fps ingame
[13:09:26] <fuzzie> you hacked out the SDL_Delay?
[13:10:20] <SiENcE> not yet.only optimized my scaler code
[13:10:21] <SiENcE> and
[13:10:38] <lynxlynxlynx> wow, that's already playable
[13:10:41] <SiENcE> copying backbuf directly to my scaler doesn't work
[13:10:46] <SiENcE> my screen stays black
[13:10:57] <SiENcE> also the Font mod works :-D
[13:11:03] <Maighstir_laptop> Edits to the BG1 chargen: http://pastebin.com/eTdXJQRS
[13:11:06] <SiENcE> thx. now the text is readable
[13:12:31] <fuzzie> Maighstir_laptop: import is always 'cancel'?
[13:12:56] <SiENcE> when i copy the fontmod to gemrb override directory, does this override all game fonts?
[13:12:58] <fuzzie> oh hey, this machine right here has bg1 on it
[13:13:38] <lynxlynxlynx> only the ones the mod modifies, obviously
[13:13:53] <SiENcE> and if i copy this to /override/shared?
[13:14:16] <lynxlynxlynx> fuzzie: i'll remove the roll then
[13:14:18] <Maighstir_laptop> about this? CancelButton.SetText (13727) #"Cancel", as in original - yes, the button says cancel, not back
[13:14:28] <lynxlynxlynx> SiENcE: no, don't put it into the gemrb override
[13:15:13] <SiENcE> mh ok
[13:15:26] <SiENcE> so i have to pu tit into the game/oderride?
[13:15:31] <SiENcE> override
[13:16:39] <fuzzie> lynxlynxlynx: thanks
[13:17:09] <lynxlynxlynx> yes
[13:17:16] <lynxlynxlynx> is it not a weidu mod?
[13:19:23] <fuzzie> weidu is a huge pain, though
[13:19:33] <fuzzie> no chance of building that for the platform
[13:19:45] <fuzzie> so users would have to pre-apply this to their install
[13:20:01] <fuzzie> i think that is still a better idea, though
[13:20:26] <CIA-26> GemRB: 03lynxlupodian * r0af68ba79365 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp: fx_mirror_image should actually create 2-8 mirror images
[13:20:35] <lynxlynxlynx> this is probably just a copy-this-over mod
[13:21:28] <SiENcE> ok
[13:23:57] <fuzzie> Maighstir_laptop: you're right, done/cancel
[13:26:05] <Maighstir_laptop> I kept the comments because I don't know ether you prefer clarity or faithfulnes to the original ("import" more clearly says what's about to happen, while "done" could be just about anything)
[13:26:29] <fuzzie> well, i prefer faithfulness, but i think really lynx is in charge :)
[13:27:24] <lynxlynxlynx> i'm for both, but i don't think these label comments are needed
[13:32:07] <fuzzie> it looks ok, anyway
[13:32:27] <fuzzie> we have the wrong labels elsewhere too
[13:33:02] <fuzzie> 'color choices' is 'back' in gemrb, 'cancel' in original; same for sound, name, i guess everything
[13:35:07] <fuzzie> ok, i removed the comments, want this applied?
[13:35:22] <lynxlynxlynx> the glyph has an original projectile, which has trigger radius and the flag set
[13:35:42] <lynxlynxlynx> it looks ok to me, but i can't try it
[13:35:48] <Maighstir_laptop> I know of a couple differences in behaviour to the original still, but personally I don't think they matter much (and I also don't know how to fix them).
[13:35:48] <Maighstir_laptop> 1: When a character is imported, the original does not allow going back up through the steps while GemRB does (an improvement in my book).
[13:35:48] <Maighstir_laptop> 2: When the character is exported, you're thrown back to the start screen in GemRB (single, multi, movies, quit) while the original shows the multiplayer menu (pregen, connect, back).
[13:36:02] <fuzzie> yes, i think we will keep (1) :)
[13:36:27] <fuzzie> but we can apply this now and worry about anything else another time, if you want
[13:36:46] <fuzzie> it works for me, i created/imported chars in original and gemrb side-by-side, looks fie
[13:36:49] <fuzzie> fine
[13:37:06] <Maighstir_laptop> I think I've tested it quite thoroughly, so it should be good
[13:37:58] <Maighstir_laptop> so, yes, please apply it if it's okay for you
[13:40:13] <fuzzie> thanks :)
[13:40:32] <CIA-26> GemRB: 03fuzzie * r75a07420ecf2 10gemrb/gemrb/GUIScripts/bg1/ (8 files): bg1 chargen (pregen,import,export) patch from Maighstir
[13:41:04] <lynxlynxlynx> we do set phase = P_TRIGGER
[13:41:29] <fuzzie> oh boy, GetActorInRadius
[13:42:39] <fuzzie> what's the TriggerRadius of the extension?
[13:42:56] <lynxlynxlynx> 150
[13:43:14] <fuzzie> that sounds pretty good
[13:43:18] <fuzzie> i wonder if it's this anim stuff
[13:44:02] --- barraAway is now known as barra_library
[13:44:51] <lynxlynxlynx> the actor->ValidTarget(flags) ffails
[13:45:04] <fuzzie> that just checks EA, now
[13:45:11] <fuzzie> um
[13:45:13] <lynxlynxlynx> eg, it is true, so the loop skips
[13:45:18] <fuzzie> hehe
[13:45:24] <fuzzie> is it set to target only enemies?
[13:45:47] <lynxlynxlynx> the spell? shouldn't
[13:46:16] <fuzzie> hmm
[13:46:26] <lynxlynxlynx> let me check the constant
[13:46:45] <lynxlynxlynx> only GA_NO_DEAD
[13:47:17] <fuzzie> i'm confused
[13:47:22] <fuzzie> this is failing in GetActorInRadius?
[13:47:39] <fuzzie> if ValidTarget returns true, it should keep going
[13:47:46] <lynxlynxlynx> yes, i'm not sure why this valid target check is negated
[13:47:55] <lynxlynxlynx> exactly
[13:48:01] <fuzzie> i mean, it's fine here
[13:48:17] <fuzzie> if (!actor->ValidTarget(flags) ) {
[13:48:17] <fuzzie> continue;
[13:48:29] <fuzzie> ^- so, if ValidTarget is true, the 'continue;' is not run
[13:48:38] <lynxlynxlynx> oh
[13:48:50] <lynxlynxlynx> i'm having difficulties with negation today >>
[13:49:04] <lynxlynxlynx> i'll just next it more
[13:49:10] <fuzzie> the Schedule does check visibility though
[13:50:12] <fuzzie> but i guess PCs are never actually non-visible
[13:50:38] <lynxlynxlynx> an actor is found
[13:51:01] <lynxlynxlynx> extension_delay is 5
[13:51:47] <fuzzie> is PAF_SYNC set?
[13:52:01] <lynxlynxlynx> extension_delay is always reset
[13:52:28] <fuzzie> if so, you get P_EXPLOSION1, but then extension_delay is set, so you get P_TRIGGER again
[13:52:50] --> budlust has joined #GemRb
[13:53:25] <lynxlynxlynx> yes, it is set
[13:53:27] <fuzzie> Avenger clearly thought of this because there's a comment right there saying it can happen
[13:54:08] <fuzzie> is the idea here that you have to stand next to it for 1/3rd of a second before it explodes?
[13:54:27] <fuzzie> if so, i guess you need this area->GetActorInRadius check in the P_EXPLODING1 bit of CheckTrigger
[13:55:11] <fuzzie> yes
[13:55:13] <fuzzie> Avenger broke this
[13:55:20] <lynxlynxlynx> i'll wait for him
[13:55:22] <fuzzie> he moved the checks to the wrong order
[13:55:24] <fuzzie> want me to fix it?
[13:55:31] <lynxlynxlynx> oh, sure :D
[14:01:11] <CIA-26> GemRB: 03fuzzie * r38cbbe9e0aac 10gemrb/gemrb/core/Projectile.cpp: partially revert a3e0935c to fix delayed triggered projectiles
[14:01:23] <fuzzie> try that
[14:11:18] <lynxlynxlynx> yep, works :)
[14:12:50] <fuzzie> re 'cutscenes should switch to main screen view': just calling GUICommon.CloseOtherWindow should work, if you give it a default parameter (NewWindowFn=None)
[14:13:08] <fuzzie> it won't work in all cases, but it should work in all cases where the game shouldn't be paused
[14:14:01] <fuzzie> although i guess it would be better to have a GUICommon.CloseEverything function
[14:14:06] <fuzzie> then you can handle container closing there too
[14:14:29] <fuzzie> and whatever else is necessary
[14:14:51] <lynxlynxlynx> it would also need to close any subwindows
[14:16:51] <fuzzie> the game should be always paused in subwindows, no?
[14:17:06] <fuzzie> i couldn't make the original engine interrupt me in subwindows
[14:17:26] <fuzzie> admittedly i haven't checked comprehensively
[14:17:31] <fuzzie> just some inventory stuff
[14:21:46] * fuzzie -> out
[14:27:03] <SiENcE> is there a keybinding to select all chars?
[14:34:19] <lynxlynxlynx> it doesn't work
[14:35:36] <lynxlynxlynx> it's supposed to be =
[14:36:19] <lynxlynxlynx> i'll take a look, i can see already we do it in a too simplified manner
[14:37:33] <lynxlynxlynx> oh it does work, just the more obscure options don't
[14:46:36] <lynxlynxlynx> aha, it was + in the original
[15:05:17] <SiENcE> ?
[15:06:14] <SiENcE> so no gemrb keybind?
[15:07:00] <lynxlynxlynx> =
[15:09:02] <SiENcE> ah
[15:09:15] <SiENcE> in sdlvideo ?
[15:09:52] <lynxlynxlynx> if you want to change it, gemrb/core/GUI/GameControl.cpp:600
[15:10:33] <SiENcE> thanks
[15:11:04] <lynxlynxlynx> it should be configurable soon
[15:12:05] <SiENcE> yes, you need to merge th ekeys from sdlvideo and gamecontrol
[15:13:18] <lynxlynxlynx> that too
[15:13:36] <-- barra_library has left IRC (Quit: Verlassend)
[15:13:46] <lynxlynxlynx> look at the keymap.ini in the game data if you want to see what everything was bindable ;)
[15:14:44] <lynxlynxlynx> CIA-26: wake up
[15:15:27] <-- budlust has left IRC (Quit: Lost terminal)
[15:21:31] <SiENcE> ok
[15:24:37] <CIA-26> GemRB: 03lynxlupodian * r1fbd4d7d2ad5 10gemrb/gemrb/core/GUI/GameControl.cpp: implemented the pair selection (7,8,9)
[15:25:46] <SiENcE> what is backspace and tab meant for in gemrb?
[15:26:16] <lynxlynxlynx> backspace for nothing unusual
[15:26:23] <lynxlynxlynx> tab is used for many things
[15:26:42] <lynxlynxlynx> instantly display tooltip
[15:27:42] <lynxlynxlynx> overhead hp display
[15:27:51] <lynxlynxlynx> the original also used it to highlight doors
[15:28:10] <lynxlynxlynx> in debug mode, we use alt for both that and containers and secret doors
[15:28:23] <lynxlynxlynx> just another thing to split
[15:28:27] <SiENcE> in code i found
[15:28:28] <SiENcE> */ case SDLK_BACKSPACE:
[15:28:28] <SiENcE> key = GEM_BACKSP;
[15:28:28] <SiENcE> break;
[15:28:35] <SiENcE> what is GEM_BACKSP?
[15:29:03] <lynxlynxlynx> just a define so we don't need to include the sdl headers everywhere
[15:29:31] <SiENcE> ok. but where can i find what GEM_xxx means?
[15:29:41] <lynxlynxlynx> gemrb/core/GUI/EventMgr.h:45
[15:29:44] <SiENcE> for exp. GEM_HOME, GEM_BACKSP
[15:29:46] <SiENcE> ah ok
[15:29:55] <lynxlynxlynx> they mean the keys
[15:30:35] <SiENcE> so what does GEM_HOME?
[15:31:11] <lynxlynxlynx> oh, where is it used?
[15:31:19] <SiENcE> in sdl_video
[15:31:27] <SiENcE> case SDLK_HOME:
[15:31:27] <SiENcE> key = GEM_HOME;
[15:31:36] <lynxlynxlynx> just like in other apps, to go at the start of the field
[15:31:54] <SiENcE> mh
[15:31:55] <lynxlynxlynx> the input code is not separate from the video code
[15:31:56] <SiENcE> field?
[15:32:10] <lynxlynxlynx> like the one we're typing this in
[15:32:30] <SiENcE> so its for character input?
[15:32:34] <SiENcE> fields
[15:32:35] <lynxlynxlynx> yes
[15:32:39] <SiENcE> ah
[15:38:17] <SiENcE> another question. where can i disable the mapscrolling, when i reach the edges of the screen?
[15:40:02] <SiENcE> i want to scroll with cursor keys
[15:41:16] <lynxlynxlynx> gemrb/core/GUI/GameControl.cpp:2015
[15:41:43] <lynxlynxlynx> oh, that's the inverse, sorry
[15:44:18] <SiENcE> thx for help. i need to find a good keymapping. i only have this keys on the handheld -> http://dingoowiki.com/index.php/Development:Tutorials:SetupInput#Using_Kernel_Driver_.28GPIO.29
[15:46:25] <SiENcE> so i have to comment out the GEM_MOUSEOUT ?
[15:46:32] <lynxlynxlynx> looks like GameControl::UpdateScrolling
[15:48:09] <SiENcE> what would you bind on the keys A, B, X, Y ? X is already pause
[15:49:16] <lynxlynxlynx> inventory records quicksave map
[15:51:04] <SiENcE> ok
[16:11:18] <fuzzie> but you are likely better not doing this yet
[16:16:03] <lynxlynxlynx> fuzzie: you meant the closing stuff to go into its own EF_ define and be called as needed?
[16:17:25] <fuzzie> it's too late at EF_ time i think
[16:18:18] <lynxlynxlynx> i'll try directly then
[16:18:18] <fuzzie> so maybe it needs more thought
[16:19:32] <lynxlynxlynx> hey, InitDialog already does a viewport move
[16:21:59] <fuzzie> but only for the first actor
[16:22:33] <fuzzie> and it doesn't work because it doesn't actually move the viewport
[16:23:14] <lynxlynxlynx> it does work for me in an athakla save, but not in the asylum one
[16:23:17] <fuzzie> a long time ago i went through and added viewport moves at random to this timer junk, i guess we should get rid of the timer calls
[16:23:39] <fuzzie> otherwise most dialogs promptly pause scripts and the viewport doesn't get moved..
[16:23:49] <fuzzie> and there are very few cases where we want the viewport move to be delayed
[16:24:11] <lynxlynxlynx> oh, so maybe this dialog didn't pause scripts
[16:24:15] <fuzzie> so it's only necessary for when you want it to smooth-scroll
[16:24:18] <lynxlynxlynx> it's one of the town criers
[16:24:58] <lynxlynxlynx> i don't know why it is called through a timer when the speed is passed as 0
[16:25:10] <fuzzie> they were *all* like that
[16:25:44] <lynxlynxlynx> most still are
[16:25:46] <fuzzie> i added manual calls at random, btw, no reasoning involved
[16:26:06] <lynxlynxlynx> so why not do it directly?
[16:26:08] <fuzzie> and left the timer calls in place above, which leads to bugs i think
[16:26:23] <fuzzie> i have no idea
[16:27:15] <fuzzie> Avenger did it in 50c91352
[16:27:56] <fuzzie> looks like a bug to me
[16:28:13] <lynxlynxlynx> atleast the 0 ones
[16:28:19] <lynxlynxlynx> the actions look legit
[16:28:23] <fuzzie> he implemented the smooth-scrolling variant at the same time, so
[16:28:40] <fuzzie> the dialog pause is different anyway
[16:28:47] <fuzzie> but that is yet another bug :P
[16:29:15] <fuzzie> btw, we seem to have recently become too obsessive about centering on the party
[16:29:24] <fuzzie> it's centering on selection or something, breaks loads of stuff
[16:29:28] <fuzzie> did something change?
[16:29:44] <lynxlynxlynx> i added centering on selection on load
[16:30:14] <lynxlynxlynx> e977431a
[16:30:36] <lynxlynxlynx> harmless
[16:30:47] <fuzzie> yes
[16:30:53] <fuzzie> and Avenger added it to JoinParty, also harmless
[16:35:55] <fuzzie> i think it is ChangeMap's fault
[16:36:20] <fuzzie> not sure exactly why. will look another time.
[16:38:36] <lynxlynxlynx> most of the calls are double, so existing gradual moves are cancelled
[16:40:24] <lynxlynxlynx> SiENcE: does dingux have force feedback?
[16:40:36] <SiENcE> sadly no
[16:41:03] <SiENcE> the upcomming Caanoo GPH handheld has this and also a gyroscope
[16:41:07] <SiENcE> and wifi
[16:41:15] <SiENcE> and touchscreen
[16:41:32] <lynxlynxlynx> it could be added to accompany screenshake someday :)
[16:41:43] <SiENcE> yes good idea
[16:41:58] <SiENcE> i hope i can make a video for you guys today
[16:46:07] <SiENcE> until laters.cya
[16:46:10] <-- SiENcE has left IRC (Quit: @all: cya)
[16:47:29] --> edheldil_ has joined #GemRb
[17:01:22] <fuzzie> lynxlynxlynx: i took a savegame of mine after i'd left the pocket plane, and the locations are intact
[17:02:04] <lynxlynxlynx> yes, they're fine usually
[17:02:10] <fuzzie> i mean, in the original
[17:02:18] <fuzzie> so our ExitPocketPlane action is broken there, at least
[17:02:26] <lynxlynxlynx> oh
[17:02:41] <fuzzie> i mean: i am looking at the saved GAM :)
[17:02:47] <lynxlynxlynx> yeah
[17:02:50] <fuzzie> 5 locations, all in Saradush (last ploace I left)
[17:05:05] <fuzzie> argh
[17:05:13] <fuzzie> gemrb's location movement is terrible
[17:05:37] <fuzzie> i loaded an original save and gemrb promptly opened 10 areas
[17:06:37] <fuzzie> but it seems to load my saves ok, neat
[17:08:28] <-- edheldil_ has left IRC (Ping timeout: 240 seconds)
[17:08:28] <fuzzie> hmm
[17:08:48] <fuzzie> Odren outside Watcher's Kee thinks Jaheira is the Child of Bhaal?
[17:09:09] <fuzzie> oh, no
[17:09:11] <fuzzie> it thinks no-one is
[17:09:28] <lynxlynxlynx> cool
[17:09:42] <lynxlynxlynx> there's probably a flag for the protagonist
[17:09:56] <lynxlynxlynx> would help in a lot of places
[17:10:19] <fuzzie> InPartySlot(LastTalkedToBy,0) is failing
[17:10:37] <fuzzie> almost certainly my fault
[17:10:48] <lynxlynxlynx> oh, boring
[17:10:52] <fuzzie> sorry :P
[17:15:06] <fuzzie> meh, this is stupid
[17:15:34] <fuzzie> Avenger wrote all these object filters to do all this added functionality
[17:16:01] <fuzzie> and the result is, after every filter, you have to make sure they didn't do any of that extra stuff..
[17:20:37] <fuzzie> i mean, i don't have a better plan, just have to refactor some more
[17:29:17] <fuzzie> also the mpsave thing turns out to be rather more annoying if you're sharing save dirs
[17:30:50] <CIA-26> GemRB: 03avenger_teambg * rb865a56746d5 10gemrb/gemrb/core/ (Game.cpp Game.h Scriptable/Actor.cpp): infravision
[17:31:43] <CIA-26> GemRB: 03avenger_teambg * r5e5a0678e8a3 10gemrb/gemrb/includes/ie_stats.h: clean up
[17:32:45] --> Avenger has joined #GemRb
[17:32:46] --- ChanServ gives channel operator status to Avenger
[17:32:48] <lynxlynxlynx> oj
[17:32:52] <Avenger> hi people
[17:33:04] <Avenger> this infravision is better than earlier :)
[17:33:42] <CIA-26> GemRB: 03fuzzie * rd0009afab1d9 10gemrb/gemrb/core/GameScript/GSUtils.cpp: fix MatchActor for not-yet-filtered filter cases
[17:34:41] <lynxlynxlynx> IE_LEVELDRAIN is used for level drain - it holds the number of levels drained, no?
[17:34:43] <Avenger> hmm fuzzie, are you sure that is good?
[17:34:50] <fuzzie> yes
[17:35:08] <Avenger> i never seen scriptname used with ids
[17:35:18] <fuzzie> oh, well, i don't care about that bit
[17:35:58] <fuzzie> if you manage to somehow have both ids and scriptname in an object, is there a reason not to handle that?
[17:36:04] <Avenger> lynx: the leveldrain opcode doesn't touch that stat
[17:36:17] <fuzzie> i forget what we fixed today
[17:36:27] <fuzzie> oh, we fixed mirror image to use IE_LEVEL and not a random roll
[17:36:29] <Avenger> fuzzie: not sure,
[17:36:36] <fuzzie> and i fixed delay-triggered projectiles
[17:36:42] <lynxlynxlynx> Avenger: maybe the spells do it alongside, because we already use it and it seems to work
[17:37:12] <Avenger> fuzzie: that means skulltrap works now?
[17:37:45] <lynxlynxlynx> probably
[17:37:55] <lynxlynxlynx> i tried only delayed blast fireball and static charge
[17:38:03] <lynxlynxlynx> err, glyph of warding
[17:38:35] <Avenger> this-->images = target->GetStat(IE_LEVEL)/3 + 2; is most likely not good for dual/multi classes where mage is not the first class
[17:38:42] <fuzzie> sure
[17:38:54] <fuzzie> your assembler comments say, 'level of first class'
[17:38:55] <Avenger> glyph of warding is the same as skulltrap so that's a great change
[17:39:04] <Avenger> hmm fuzzie, let me see it again
[17:39:10] <fuzzie> so i said, implement it as Avenger says, and we'll ask :)
[17:39:57] <Avenger> yes, actually that's pretty much 'first class'
[17:40:01] <Avenger> that is a bug :)
[17:40:22] <Avenger> imagine a dual class mage/....
[17:40:26] <Avenger> 1 level mage
[17:40:31] <Avenger> 20 level fighter
[17:40:33] <lynxlynxlynx> level 2 ;)
[17:40:41] <lynxlynxlynx> but yes
[17:40:49] <Avenger> ah yes, true
[17:40:53] <Avenger> ok 3 level ;)
[17:41:19] <Avenger> and probably first have to have 20 levels of fighter, then 3 levels of mage
[17:41:20] <fuzzie> so
[17:41:26] <fuzzie> Avenger, do you know how chunking works?
[17:41:27] <Avenger> so the fighter is in ie_level1
[17:41:38] <fuzzie> Taimon and devSin both say independently that you set animation id to CHUNKS
[17:41:42] <fuzzie> and they are right, that is how it is done
[17:41:51] <Avenger> yes, animation wise
[17:42:00] <Avenger> you need to set it to chunks
[17:42:03] <fuzzie> (you can polymorph to the anim id of a corpse)
[17:42:31] <Avenger> ?
[17:42:58] <fuzzie> well, the actors still exist
[17:43:22] <Avenger> problem is, do we render those animID's?
[17:43:31] <Avenger> flame/smokepuff/chunks etc
[17:43:41] <Avenger> i don't think we render them as CharAnimation
[17:43:48] <fuzzie> they are in avatars.2da for everything except pst
[17:43:48] <Avenger> i thought we can get away with that
[17:44:00] <fuzzie> but, yes, it doesn't work right :)
[17:44:02] <Avenger> they are actually in (original) pst too
[17:44:19] <fuzzie> but the actors have to stay around for chunks
[17:44:20] <Avenger> they need more work in charanimations if you want that
[17:44:32] <Avenger> i just don't think we really need to code everything like the original
[17:44:40] <fuzzie> we can just not render anything though
[17:44:56] <Avenger> it could be a chunk projectile? :)
[17:44:56] <fuzzie> and do it some other way
[17:45:19] <fuzzie> but i mean, i am trying to get rid of this silly actor-deletion stuff
[17:45:42] <Avenger> oh sure, just get rid of it, and change the animation id to something
[17:45:57] <fuzzie> i am not really worried about the animation, honestly
[17:46:27] <Avenger> what exactly you want to get rid of, though
[17:46:55] <Avenger> actor deletion cannot be removed completely
[17:47:06] <fuzzie> well, it has to work for familiars and summons
[17:47:11] <Avenger> yes, exactly
[17:47:14] <Avenger> and spawns
[17:47:20] <fuzzie> but that is fine
[17:47:23] <Avenger> ok
[17:47:34] <Avenger> the actor removal on death was just a temporary stuff
[17:47:40] <fuzzie> ok, great :)
[17:47:52] <fuzzie> also, do you know how the code which carries actors around with areas works?
[17:48:03] <Avenger> looking into it
[17:48:08] <fuzzie> you posted on the G3 forums about it a long time ago, when you had 10,000 copies of an actor in the pocket plane with you
[17:48:14] <Avenger> i know it doesn't load the area
[17:48:40] <fuzzie> i just loaded an original save, and gemrb loaded 10 new areas to make the teleports work :)
[17:48:49] <Avenger> yes i know
[17:49:04] <fuzzie> so i just thought i'd ask, in case you came across it in your research
[17:49:06] <Avenger> but i don't really know how this works in the original
[17:49:11] <fuzzie> it is no 'game-breaker', so..
[17:49:21] <Avenger> it should load the area if it moves items to an area container, that you will find later
[17:49:30] <Avenger> and exactly that happens in bg2
[17:49:41] <fuzzie> well, i don't see any other way to do that
[17:49:46] <Avenger> it just shouldn't load the actors and tilesets
[17:49:49] <fuzzie> it doesn't seem to actually 'start' the area though
[17:49:54] <fuzzie> no OnCreation()
[17:50:09] <Avenger> yes, it looks like the area loading doesn't mean it is populated and such
[17:50:21] <Avenger> it seems to be a two phase thing
[17:50:27] <Avenger> but i didn't find the code for this
[17:50:35] <fuzzie> the original engine calls OnCreation() whenever it fully loads an area
[17:50:47] <fuzzie> it is really annoying in ToB, because the pocket plane has that stupid flashy animation
[17:51:24] <fuzzie> so i'm in the Siege Camp or something, and i get .. the pocket plane entering animation
[17:51:45] <Avenger> hmm, how does that happen
[17:51:57] <Avenger> you mean the movie?
[17:52:01] <fuzzie> no
[17:52:11] <fuzzie> the screen fades in, and you get VVCs played
[17:52:40] <Avenger> that script is in the oncreation of the pocketplane area, i guess?
[17:52:44] <fuzzie> yep
[17:52:49] <fuzzie> this is original engine, you realise?
[17:52:52] <fuzzie> no gemrb bug :)
[17:52:56] <Avenger> oh?
[17:53:13] <Avenger> but then i don't understand
[17:53:41] <fuzzie> i asked, but no-one understands why it gets loaded
[17:53:45] <Avenger> if it runs the oncreation of the pocketplane without getting into it
[17:54:06] <Avenger> you get this only in the siege camp?
[17:54:10] <fuzzie> no
[17:54:12] <fuzzie> it happens a lot :)
[17:54:21] <fuzzie> only immediately after loading a game
[17:54:27] <fuzzie> it is a 'known bug'
[17:54:51] <fuzzie> the engine just loads the pocket plane for some reason
[17:54:56] <Avenger> ctrl-g or something like that shows the loaded areas
[17:55:03] <Avenger> is it listed there?
[17:55:14] <fuzzie> hehe, i don't have it here :) i should look
[17:55:21] <fuzzie> it would be really useful to check that for some areas, actually!
[17:56:27] <fuzzie> but i still battle other things, first
[17:57:00] <Avenger> so you fully fixed the seeing through walls problem?
[17:57:05] <fuzzie> nope
[17:57:07] <fuzzie> well, i have it fixed here
[17:57:10] <fuzzie> but it's not in git
[17:57:18] <Avenger> check the infravision too when you got time
[17:58:07] <Avenger> probably it is not perfect with regards of blur/mirror image, etc
[17:58:18] <fuzzie> i did some stupid polymorph cache
[17:58:21] <fuzzie> oh wait, i committed that
[17:58:23] <fuzzie> never mind :)
[17:58:38] <Avenger> so polymorph works at last?
[17:58:54] <fuzzie> well, we can't reproduce your bug
[17:58:59] <fuzzie> it works fine for lynx and me
[17:59:08] <Avenger> what bug ;)
[17:59:17] <fuzzie> well, you said it didn't work at all for you :)
[17:59:30] <Avenger> right, doesn't
[17:59:35] <Avenger> jaheira is still an elf
[17:59:37] <Avenger> not a bear
[17:59:54] <Avenger> she got the bear paws
[17:59:59] <fuzzie> so i'm not sure what to do about that
[18:00:04] <fuzzie> the bear paws are another part of the spell
[18:00:17] <lynxlynxlynx> did the stats change?
[18:00:38] <lynxlynxlynx> oh, how many times did you try? I hope the effects can't be resisted
[18:00:46] <fuzzie> but if the CRE doesn't exist, fx_polymorph destroys the magic item slot
[18:00:51] <Avenger> yes
[18:00:53] <fuzzie> so i think as lynx says, it might be resisted, check the console
[18:01:00] <Avenger> when turned to wolf, got +3 str
[18:01:09] <fuzzie> oh :<
[18:01:35] <fuzzie> is this on Windows or Linux?
[18:01:37] <Avenger> paperdoll is still elf woman
[18:01:39] <Avenger> linux
[18:01:54] <fuzzie> i had some problems with it
[18:02:04] <fuzzie> these inventory opcodes are not so good
[18:02:24] <Avenger> dex decreased for bear
[18:02:28] <Avenger> so yep, stats work
[18:02:33] <Avenger> just no anim
[18:02:44] <Avenger> and i can still cast, that's correct?
[18:02:51] <fuzzie> no
[18:03:12] <fuzzie> i didn't implement the rest yet :) need to look at your latest notes
[18:03:37] <Avenger> but it doesn't slow down the game and clutter the console
[18:03:42] <Avenger> so the cache seems fine
[18:04:00] <Avenger> hope it doesn't leak either
[18:05:03] <fuzzie> but things like fx_remove_item and fx_create_magic_item call DestroyItem/SetEquippedSlot calls AddSlotEffects/RemoveSlotEffects calls RefreshEffects, so there is some possible disaster
[18:05:23] <fuzzie> but i hoped it didn't happen here, because they're run directly from spells
[18:05:34] <fuzzie> and yes, the cache is deleted :)
[18:06:14] <Avenger> well write an item which removes itself on equipment
[18:06:14] <fuzzie> oh!
[18:06:20] <fuzzie> i changed one of your asserts in Variables
[18:06:20] <Avenger> if the engine survives that, cool
[18:07:27] <fuzzie> you asserted that the first character was not -51, and that fails, but i changed it to 0xcc, but that is -52..
[18:07:36] <fuzzie> so did you really want -51?
[18:08:20] <Avenger> 0xcdcdcdcd was a value it was set to some times in windows (i think that is a deleted memory)
[18:08:29] <fuzzie> aha
[18:08:35] <Avenger> i fixed the bug that caused it
[18:08:57] <fuzzie> you use 0xcccccccc in some places for 'invalid value'
[18:08:57] <Avenger> but i had to resort to that assertion because it happened very elusively
[18:09:09] <Avenger> cdcdcd is something automatical in windows
[18:09:20] <Avenger> in linux it is 0
[18:09:25] <Avenger> in windows it is that value
[18:09:31] <Avenger> so stuff breaks differently
[18:09:46] <Avenger> i already found bugs which you would never find on linux
[18:10:03] <Avenger> not initializing a pointer, then if(pointer) free(pointer)
[18:10:07] <Avenger> on linux it works
[18:10:14] <fuzzie> well, valgrind complains :)
[18:10:21] <Avenger> probably
[18:10:25] <Avenger> but very lightly
[18:10:30] <CIA-26> GemRB: 03fuzzie * radcb8684d62c 10gemrb/gemrb/core/Variables.cpp: ok, really fix assert in Variables
[18:11:01] <Avenger> definitely lost: 1,432 bytes in 19 blocks.
[18:11:05] <Avenger> we got some small leak
[18:11:31] <Avenger> some palette
[18:11:40] <Avenger> in fx_polymorph
[18:11:59] <Avenger> that is obviously just a coincidence
[18:12:02] <fuzzie> after i found the 30mb TIS alloc, i don't trust leaks so much any more :P
[18:12:08] <Avenger> i guess the paletted bear anim leaks
[18:12:44] <Avenger> what do you mean? i remember hearing some doubly allocated tis?
[18:13:02] <fuzzie> it would load every tile twice: one for without rain, one for with rain
[18:13:38] <fuzzie> it still loads some tiles twice, really must fix it properly
[18:13:41] <Avenger> every? not only the overlays?
[18:13:57] <Avenger> that's really lame :)
[18:14:12] <Avenger> hope you didn't break rains
[18:14:16] <fuzzie> nope
[18:14:27] <Avenger> tested it on rainy areas? with overlays
[18:14:37] <fuzzie> i just added a NULL for the main rain overlay
[18:14:55] <fuzzie> the non-main overlays are still fine
[18:15:00] <Avenger> there shouldn't be a main rain overlay.... heh
[18:15:13] <Avenger> odd
[18:15:15] <fuzzie> well, sure, and if there was, it wouldn't get used, it starts rendering at 1 :)
[18:15:50] <Avenger> well it wasnt' a leak, it was properly freed, i guess ;P
[18:16:09] <fuzzie> sure, just a bit demotivating for bothering to fix these 1k leaks :)
[18:17:03] <fuzzie> i guess all my questions here are really annoying ones
[18:18:53] <fuzzie> well, and trigger stuff
[18:19:03] <fuzzie> my experiments still don't match gemrb's trigger behaviour
[18:19:25] <Avenger> no wonder
[18:20:55] <fuzzie> but it seems we try re-using too many fields
[18:20:59] <Avenger> our implementation is very simple compared to theirs
[18:21:07] <Avenger> yes
[18:21:24] <Avenger> i think now that we actually know their objects (triggers) we should use them
[18:21:29] <fuzzie> we need both a "this person hit us" trigger, and a "last person to hit us" field
[18:21:50] <fuzzie> and that goes for every single field we use for this, i think
[18:22:04] <Avenger> sadly i still don't know all trigger objects, only the ones for Actor
[18:22:08] <fuzzie> and i guess this is why everyone talks about lists
[18:22:36] <fuzzie> because you waste a lot of space if you have to store all these fields
[18:23:04] <Avenger> yes, they got a trigger which is on a list, and they got those last... objects
[18:23:14] <Avenger> actually, they have 2 copies of every of those last... objects
[18:23:19] <Avenger> i just found that today
[18:23:24] <fuzzie> they need 2 copies?
[18:23:38] <Avenger> maybe on the list you got from me, you see those unknown object fields
[18:24:04] <fuzzie> one is 'previous frame' and one is 'this frame'?
[18:24:10] <Avenger> if nothing else, in the tobex list for Sprite
[18:24:13] <fuzzie> that is the only reason i could think of
[18:24:22] <Avenger> not sure, yet
[18:24:35] <Avenger> i see they are both set to the same value initially
[18:24:48] <Avenger> maybe one is cleared when the trigger executed for it
[18:25:12] <fuzzie> that would make the lists a bit pointless :)
[18:25:28] <fuzzie> "ExistSound: fixes an engine bug where EXISTANCE sounds included PICKED_POCKET but not EXISTANCE5"
[18:25:34] <fuzzie> ^- hehe!
[18:25:50] <Avenger> that is probably not a bug
[18:26:01] <Avenger> existance2 is also overlapping with some action
[18:26:04] <fuzzie> yes
[18:26:12] <Avenger> existance5 is biography for pcs
[18:26:14] <fuzzie> it is just leftover from bg1, i think you said
[18:26:17] <Avenger> so well
[18:26:29] <Avenger> i won't be implementing this 'fix'
[18:26:50] <fuzzie> so, is it worth me spending time looking at tobex
[18:26:59] <Avenger> this is a messup in the engine, with no clear fix
[18:27:03] <fuzzie> or will you tell me anything important and i can keep writing code? :)
[18:27:04] <Avenger> yeah, tobex is a cool thing
[18:27:08] <Avenger> it helps me a lot
[18:27:25] <Avenger> you should look at it to get the picture easily
[18:27:33] <Avenger> it helps a lot
[18:27:44] <Avenger> even with missing parts
[18:27:52] <Avenger> it is like the skeleton of the engine
[18:28:11] <Avenger> it may help in understanding my lists too
[18:28:28] <fuzzie> it's very cool
[18:28:46] <Avenger> the guy who wrote it really understood the engine
[18:29:21] <Avenger> even parts that are totally dark for me yet, like the networking and the gui
[18:29:41] <fuzzie> hmm
[18:30:01] <Avenger> sure he missed tiny parts, and some not so tiny structs like container/door?/regions
[18:30:07] <Avenger> probably projectiles too
[18:30:47] <Avenger> but i have no doubt if he wanted, he could get them easily
[18:31:17] <fuzzie> this is Ascension64?
[18:31:22] <Avenger> i should try to use ida pro, i'm sure he uses it
[18:31:23] <fuzzie> he pointed me at some offsets, a long time ago
[18:31:36] <Avenger> yes most likely he did it, maybe with help from taimon
[18:31:56] <fuzzie> ah, yes, originally based on taimon's notes
[18:32:04] <Avenger> i think they worked independently, but some info went to and from
[18:32:14] <Avenger> just like with me :)
[18:32:16] <fuzzie> and the silly injection tool which Taimon made because i pointed out the extra combat info thing, heh
[18:32:44] <fuzzie> i was so happy for that small tool, and now someone made this huge thing :)
[18:32:45] <Avenger> they are not too motivated though
[18:32:52] --> edheldil_ has joined #GemRb
[18:33:00] <Avenger> hi ed, got my mail?
[18:33:08] <fuzzie> but if you have 2 hours or so for ida pro to analyse bgmain.exe
[18:33:17] <fuzzie> then just install the free one and try it
[18:33:58] <Avenger> yep, that's what i should do :)
[18:34:57] <Avenger> ...lets see skulltrap
[18:35:55] --> budlust has joined #GemRb
[18:35:55] <Avenger> works
[18:35:59] <Avenger> nice
[18:36:03] <Avenger> thanks for fixing it :P
[18:36:54] <fuzzie> i just fixed your code :P
[18:37:23] <fuzzie> i asked lynx to look through the bg2 spells and work out which ones don't work
[18:37:30] <fuzzie> because i think they're pretty good, mostly
[18:37:45] <lynxlynxlynx> i can think of only one that is really broken - timestop
[18:37:52] <Avenger> well, my polymorph is broken too
[18:37:59] <Avenger> i just wonder how it does work for you two
[18:38:03] <Avenger> on the same platform
[18:38:08] <lynxlynxlynx> summons need their action bar, but this is relevant only for soa/tob
[18:38:08] <fuzzie> well, it's weird
[18:38:12] <Avenger> i don't have any uncommitted changes
[18:38:17] <fuzzie> the PCF stuff is buggy, but i make sure to call the pcf
[18:38:31] <lynxlynxlynx> could it be a 32/64bit thing?
[18:38:47] <fuzzie> could be
[18:38:49] <fuzzie> i am on 32-bit
[18:38:55] <Avenger> lynx: action bar, is it because they get the group selection?
[18:39:04] <lynxlynxlynx> because they can cast spells
[18:39:20] <Avenger> you just remove the spell casting from the default setup
[18:39:22] <Avenger> do that
[18:39:32] <fuzzie> they're meant to be able to cast spells
[18:39:40] <Avenger> ?
[18:39:45] <Avenger> ahh, then ADD it :P
[18:39:45] <fuzzie> lynx talks about summons
[18:39:56] <fuzzie> and that doesn't work, the guiscript api doesn't support summons
[18:39:58] <fuzzie> lots of work
[18:40:00] <Avenger> the action bar setup is based on class
[18:40:07] <Avenger> nothing else
[18:40:09] <Avenger> just class
[18:40:21] <Avenger> ok, some buttons could be disabled
[18:40:24] <fuzzie> (the guiscript calls only work for party members)
[18:40:34] <Avenger> <--- that is a problem
[18:40:50] <fuzzie> not a priority for me to fix
[18:40:58] <fuzzie> are you on 64-bit, Avenger?
[18:40:59] <Avenger> could htat be fixed by guiscript?
[18:41:01] <Avenger> yes
[18:42:04] <fuzzie> are you, lynxlynxlynx?
[18:42:06] --> SiENcE has joined #GemRb
[18:42:24] <lynxlynxlynx> no, that's why i asked
[18:42:39] <fuzzie> ok, so that does sound like it could be the problem, somewhere..
[18:43:43] <lynxlynxlynx> are there any -1 checks?
[18:45:12] <CIA-26> GemRB: 03lynxlupodian * r51758b46bed5 10gemrb/gemrb/core/GUI/ (GameControl.cpp MapControl.cpp): reverted part of 50c913523357b so some viewport moves work while paused
[18:45:14] <CIA-26> GemRB: 03lynxlupodian * ree92d6323ae2 10gemrb/gemrb/core/GUI/GameControl.cpp: also center on the talked in DialogChoose
[18:45:53] <Avenger> there is this check!target->polymorphCache
[18:46:08] <lynxlynxlynx> fuzzie: do you have any saves in the late spellhold (after the slayer change)?
[18:46:19] <fuzzie> there is something in Actor::SetStat, but it is about ieDword
[18:46:23] <Avenger> anyone initializes it?
[18:46:35] <Avenger> ahh yes
[18:46:37] <fuzzie> Avenger: yes, to NULL in the actor constructor
[18:47:34] <fuzzie> lynxlynxlynx: but before Jon?
[18:47:49] <lynxlynxlynx> yes
[18:47:58] <lynxlynxlynx> the group talk at the table
[18:48:33] <lynxlynxlynx> in my gemrb save, the room isn't explored (i don't see any RevealMap in the area script either)
[18:48:48] <lynxlynxlynx> so it could be just a case of soloing
[18:49:03] <Avenger> lynx: final battle?
[18:49:06] <fuzzie> i have three likely-looking ones
[18:49:10] <lynxlynxlynx> but the real question is: if this is ok, should we show the talker if they're fogged?
[18:49:28] <lynxlynxlynx> because one of the nutjobs is under the fog of war
[18:50:00] <lynxlynxlynx> my memory from the original says the whole room was explored, but i was always with a bigger party
[18:50:12] <fuzzie> hmm, 'done with tests' is a bit too late
[18:50:34] <lynxlynxlynx> tiny bit, this is the last challenge
[18:50:44] <fuzzie> i have one just before Bodhi, that is all :/
[18:50:50] <Avenger> our visibility map revealing range may be different from the original
[18:51:00] <fuzzie> yes, our visibility ranges are nonsense
[18:51:02] <fuzzie> just made up values
[18:51:47] <fuzzie> let me play that in original, will be a few mins
[18:52:02] <lynxlynxlynx> this constant would be easily checked too
[18:52:07] <Maighstir_laptop> In GUIScript/bg2/Start2.py, line 162 is, GemRB.SetVar("Slot",0) but needs to be GemRB.SetVar("Slot",1), else the scripts fail as soon as they try to write the gender to the char (both when importing and creating a new char)
[18:52:45] <fuzzie> this is pregen?
[18:52:48] <Maighstir_laptop> yes
[18:53:13] <lynxlynxlynx> the slot should be increasing
[18:53:17] <Avenger> pregen wouldn't have buttons for all slots?
[18:53:23] <fuzzie> no
[18:53:28] <fuzzie> pregen exports at the end
[18:53:32] <Avenger> oh
[18:53:32] <fuzzie> we just fixed that for bg1, actually
[18:54:30] <Avenger> i thought original bg2 pregen allowed multiple pcs
[18:54:31] <Maighstir_laptop> new game is fine with 0 though, curiously enough
[18:55:24] <Avenger> but i played it a long time ago
[18:55:27] <Avenger> so well...
[18:55:50] <fuzzie> multiplayer screen allows multiple pcs
[18:56:21] <fuzzie> lynxlynxlynx: whole area is revealed
[18:56:51] <Avenger> if whole area is revealed, it is done by some spy chars which got the IE_EXPLORE stat set
[18:57:06] <Avenger> that's the only way in bg2
[18:57:23] <lynxlynxlynx> fuzzie: how many in the party?
[18:57:24] <Avenger> which is the area number?
[18:57:34] <lynxlynxlynx> ar1511
[18:57:39] <fuzzie> yes, ar1511
[18:57:44] <lynxlynxlynx> but there's no spy actor
[18:57:45] <fuzzie> i have 3 in the party, not enough to reveal it by normal sight
[18:58:09] <lynxlynxlynx> i added ctrl+shift+m to enhace the debug map output ;)
[18:58:16] <fuzzie> is it not in the script which teleports you there?
[18:58:24] <lynxlynxlynx> oh, could be
[18:58:33] <fuzzie> i am sitting using the original engine here, i have no nice debug console :P
[18:58:42] <lynxlynxlynx> that was for Avenger
[18:59:02] <lynxlynxlynx> i'll go replay it to find the previous script
[18:59:06] <lynxlynxlynx> i have a better save
[18:59:22] <fuzzie> it turns out i have one right at the end of the bodhi ara
[18:59:24] <fuzzie> area
[18:59:46] <fuzzie> so that is pretty ideal
[19:00:36] <lynxlynxlynx> me too
[19:01:35] <lynxlynxlynx> no script
[19:01:40] <lynxlynxlynx> maybe it's the dialog
[19:02:52] <fuzzie> doesn't seem like it
[19:03:25] <fuzzie> (elearb02.d)
[19:03:25] <lynxlynxlynx> do you know why it moves the player1 twice?
[19:03:30] <Avenger> ar1511?
[19:03:38] <fuzzie> Avenger: yes
[19:03:39] <Avenger> that creates 2 vampires and bodhi
[19:03:42] <lynxlynxlynx> first with panic prefixed action
[19:03:44] <fuzzie> Avenger: as you see, the script is not helpful
[19:03:52] <Avenger> they should be created right near player1
[19:03:52] <fuzzie> the variables are never set there
[19:03:55] <Avenger> so he should see them
[19:04:02] <fuzzie> bodhi is long-gone
[19:04:05] <lynxlynxlynx> that bit is in all of the spellhold areas and is activated if you take too long
[19:04:13] <Avenger> ah
[19:04:22] <fuzzie> i thought the vars were disabled after you encountered her?
[19:04:25] <fuzzie> anyway
[19:04:28] <lynxlynxlynx> most likely
[19:04:34] <Avenger> ahh you talk about the 4 apparitions
[19:04:38] <fuzzie> i guess the LeaveAreaLUAPanic before the LeaveAreaLUA is some hack to fix a bug
[19:04:42] <fuzzie> but perhaps Avenger knows better
[19:04:55] <fuzzie> i expect the StateOverrideFlag(TRUE) is for the same reason?
[19:04:56] <edheldil_> Avenger: nope. where did you send it<
[19:05:04] <edheldil_> ?
[19:05:32] <edheldil_> was it bigger than 10MB?
[19:09:36] <fuzzie> lynxlynxlynx: am doing some better testing
[19:10:35] <lynxlynxlynx> i wonder if it would change anything if you scripted a kill of that farthest apparition
[19:11:03] <lynxlynxlynx> sounds too wierd though
[19:11:35] <fuzzie> no
[19:11:37] <fuzzie> it is party sight
[19:11:50] <fuzzie> killed off all but my main PC
[19:12:15] <fuzzie> and the last apparition is under fog-of-war
[19:12:18] <Avenger> oh
[19:12:27] <Avenger> so it is seeing distance difference?
[19:12:31] <fuzzie> and so we just see fog-of-war
[19:12:38] <fuzzie> when the dialog moves there
[19:12:38] <lynxlynxlynx> even when it talks?
[19:12:41] <lynxlynxlynx> ok
[19:12:42] <fuzzie> no puzzle :)
[19:12:44] <lynxlynxlynx> awesome
[19:12:56] <lynxlynxlynx> oh, really?
[19:13:00] <fuzzie> but the move is non-instant
[19:13:02] <lynxlynxlynx> not so awesome
[19:13:15] <fuzzie> no, i mean, this is not a puzzle :P
[19:13:15] <lynxlynxlynx> but good enough :)
[19:13:24] <lynxlynxlynx> excellent then :P
[19:13:27] <fuzzie> so we should fix the timer to not be stupid, i guess
[19:13:37] <fuzzie> but for now this doesn't matter for you :)
[19:19:55] <SiENcE> hey
[19:20:37] <SiENcE> i cant find the right code, where i can disable the mapscrolling if i go to the edge of the screen with mousecursor
[19:20:44] <SiENcE> i need to disable this
[19:21:36] <lynxlynxlynx> i told you, isn't that the right place?
[19:22:37] <SiENcE> im working with 0.6.1
[19:22:38] <-- budlust has left IRC (Quit: leaving)
[19:22:50] <SiENcE> sorry
[19:23:13] <fuzzie> heh
[19:23:23] <fuzzie> well, as a warning: 0.6.1 is not good with RAM
[19:23:25] <SiENcE> so i need to comment out this part?
[19:23:31] <SiENcE> oh
[19:23:34] <SiENcE> ok
[19:23:36] <SiENcE> case GEM_MOUSEOUT:
[19:23:36] <SiENcE> moveX = 0;
[19:23:36] <SiENcE> moveY = 0;
[19:23:36] <SiENcE> return;
[19:23:38] <SiENcE> ?
[19:24:57] --> |Cable| has joined #GemRb
[19:28:06] <CIA-26> GemRB: 03lynxlupodian * rd15431eb29d5 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp:
[19:28:06] <CIA-26> GemRB: mirror image: try to get the correct class level and fallback to the first
[19:28:06] <CIA-26> GemRB: if none was found (could be a kit special)
[19:28:26] <lynxlynxlynx> i suggested you noop GameControl::UpdateScrolling()
[19:29:12] <lynxlynxlynx> but maybe that will take care only of the cursors
[19:30:00] <SiENcE> i need cursor scrolling
[19:30:28] <SiENcE> and to disable UpdateScrolling didn't worked
[19:31:27] <lynxlynxlynx> check GameControl::OnGlobalMouseMove
[19:31:58] <lynxlynxlynx> or just make GetMouseScrollSpeed always return 0
[19:32:38] <fuzzie> lynxlynxlynx: could you comment those changes with a note that the original engine only uses IE_LEVEL?
[19:33:17] <lynxlynxlynx> does it use the correct one?
[19:33:29] <fuzzie> no
[19:33:34] <fuzzie> just IE_LEVEL
[19:33:34] <lynxlynxlynx> oh hehe
[19:33:38] <fuzzie> clearly a bug
[19:33:40] <fuzzie> so i would fix it
[19:34:22] <lynxlynxlynx> yep
[19:36:24] <CIA-26> GemRB: 03lynxlupodian * r0604aa140271 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp: commented the previous change to mirror image
[19:36:56] <CIA-26> GemRB: 03fuzzie * r8995c21b46c9 10gemrb/gemrb/ (core/GameScript/Actions.cpp plugins/FXOpcodes/FXOpcodes.cpp): don't clear pocket plane locations in ExitPocketPlane
[19:37:22] <Avenger> i really don't understand the original engine :) they got a 'query_mage_level()' which falls back to bard if if the caster is bard, handles all dual/multi class combos and such
[19:37:56] <Avenger> probably it is a bit slow, though
[19:38:09] <Avenger> hmm wait, this is evaluated only on first apply
[19:38:18] <Avenger> so well, i really don't understand
[19:38:22] <fuzzie> yes, it is a converting effect. so bioware are just odd. :P
[19:38:28] <lynxlynxlynx> man we are prolific :)
[19:38:33] <Avenger> yeah
[19:38:40] <SiENcE> thx lynxlynxlynx
[19:40:08] <fuzzie> i guess no-one knows how csound.2da works :(
[19:40:18] <Avenger> heh
[19:40:19] <Avenger> i do
[19:40:26] <Avenger> it is fully decoded
[19:40:34] <fuzzie> you worked it out now?
[19:40:49] <Avenger> well, you wonder about the !?
[19:40:54] <fuzzie> yes
[19:41:55] <Avenger> omg, where is that file
[19:42:19] <Avenger> the code starting at 006396AC is doing this
[19:42:24] <Avenger> i had that disassembled....
[19:42:50] <Avenger> hmm, if i lost that, i might have lost other files
[19:42:52] <Avenger> :(
[19:43:04] <Avenger> this is what i get for doing RE during worktime :P
[19:43:17] <fuzzie> hmm, the '!' is right there
[19:43:31] <Avenger> yes it is right in the code
[19:43:41] <fuzzie> and it calls the same function that the other csound caller i found does
[19:44:08] <Avenger> i dont see it atm, so....
[19:45:05] <fuzzie> huh, all these threadsafe increments?
[19:45:36] <Avenger> you mean those deny/share locks?
[19:45:43] <fuzzie> yes
[19:45:55] <fuzzie> wrapping changes to.. local variables?
[19:45:56] <Avenger> once you realize what they do, they are good for separating code blocks
[19:46:56] <Avenger> tobex was good there too, it made this part clear too
[19:48:25] <Avenger> 90% of a called message code is these locks and determining if the target object is valid
[19:48:47] <Avenger> the first message was very odd :) now i just look for these markers
[19:49:39] <fuzzie> http://fuzzie.org/nfs2/locks.png <- just this kind of thing
[19:51:26] <Avenger> hmm i dont recognise that
[19:51:28] <fuzzie> obviously it must do something, but it is weird to look at first sight :)
[19:52:05] <fuzzie> well, i gave everything stupid names :P
[19:52:07] <lynxlynxlynx> cespenar doesn't take the item he upgrades
[19:52:26] <fuzzie> lynxlynxlynx: hehe! more issues with DestroyItem being broken?
[19:52:35] <lynxlynxlynx> likely
[19:52:39] <fuzzie> if so, i would just patch it with some hack like i did for the other one
[19:52:45] <lynxlynxlynx> the item was in the quilt slot
[19:53:12] <fuzzie> at least that is trivial to test
[19:53:34] <lynxlynxlynx> i did a few succesful pp in/out after the second challenge btw :)
[19:53:53] <lynxlynxlynx> the exiting cutscene can still get "stuck"
[19:53:56] <fuzzie> well, i guess it only breaks when other cutscenes get involved
[19:54:07] <fuzzie> i couldn't get it to break at all
[19:54:29] <fuzzie> happily in and out with my merry troupe of irritating NPCs
[19:54:36] <fuzzie> but i was using an original save, so..
[19:54:36] <lynxlynxlynx> bah, now i did it again
[19:54:50] <fuzzie> hey wait, the second challenge works?
[19:54:55] <lynxlynxlynx> yes
[19:54:59] <fuzzie> cool
[19:55:00] <lynxlynxlynx> it's just a simple fight
[19:55:08] <fuzzie> well, i didn't get that far yet :)
[19:55:10] <lynxlynxlynx> all the challenges work
[19:55:24] <lynxlynxlynx> you can just teleport in the arenas to start them
[19:55:34] <fuzzie> i did all the things in Saradush and robbed the merchant in the forest blind
[19:55:38] <fuzzie> but didn't really get any further
[19:58:35] <lynxlynxlynx> screw this, i'll teleport manually
[19:58:59] <lynxlynxlynx> should clear out if this is related to this instance of cutscenes
[20:03:16] <fuzzie> hadn't realised about the teleporting, really is so easy
[20:11:20] <lynxlynxlynx> for some reason, i'm not getting leaving-area autosaves
[20:13:47] <fuzzie> example area?
[20:13:56] <fuzzie> i had a terrible time making that work for pst
[20:14:27] <fuzzie> because gemrb moves the actor immediately after queueing any script
[20:14:41] <fuzzie> so maybe i can make the pst stuff less horrible, if we have to do something else for bg2
[20:15:08] <lynxlynxlynx> main wk
[20:15:30] <lynxlynxlynx> siege camp too
[20:15:52] <lynxlynxlynx> even pocket plane apparently - my last autosave is from the pocket plane exit, but for a different party!
[20:16:05] <fuzzie> heh
[20:16:09] <fuzzie> hmm
[20:16:43] <fuzzie> well, i wouldn't expect pocket plane exit to work
[20:16:50] <fuzzie> i thought it manually autosaved though
[20:17:42] <fuzzie> for exactly this reason
[20:18:17] <fuzzie> so, autosave is done when MoveToNewArea is called with CT_WHOLE
[20:18:28] <fuzzie> i guess no script is going to do that
[20:18:39] <fuzzie> so, weird
[20:19:43] <lynxlynxlynx> basically the last autosave i remember was the first one before you get to fight illy
[20:25:14] <fuzzie> Avenger: you want to support GA_GLOBAL?
[20:28:58] <lynxlynxlynx> cat attacks rat hah
[20:33:54] <fuzzie> :)
[20:33:57] <fuzzie> they're adorable
[20:34:22] <lynxlynxlynx> it's tom and jerry
[20:34:37] <lynxlynxlynx> plenty of critical hits and misses, yet they keep going :)
[20:37:17] <lynxlynxlynx> Class(LastTalkedToBy,MAGE_ALL) is failing
[20:37:47] <fuzzie> you have d0009afa?
[20:37:47] <lynxlynxlynx> amcst04.d to my wild mage
[20:38:06] <lynxlynxlynx> dwhat?
[20:38:19] <fuzzie> oh, wild mages :P
[20:38:54] <fuzzie> this is ID_Class in core/GameScript/Objects.cpp
[20:38:55] <lynxlynxlynx> it fails for edwin too :P
[20:39:03] <fuzzie> it doesn't handle _AL
[20:39:05] <fuzzie> _ALL
[20:39:19] <fuzzie> so not my fault, yay!
[20:40:41] <lynxlynxlynx> all mages have the same class, so why did they need this at all :s
[20:40:52] <fuzzie> multiclasses?
[20:41:07] <lynxlynxlynx> oh right
[20:41:12] <fuzzie> and dualclasses and etc
[20:43:01] <fuzzie> that would be nice to have, there are 356 mentions of MAGE_ALL in bg2 scripts alone
[20:43:46] <fuzzie> plus 47 in dialog, plus scattered other classes
[20:44:19] <lynxlynxlynx> probably blocking the strongholds
[20:44:22] <fuzzie> and some in how, cool :)
[20:44:28] <lynxlynxlynx> too bad this is annoying
[20:44:57] <fuzzie> can't you just do a switch statement plus level checks?
[20:45:17] <fuzzie> (assuming that a non-reactivated multiclass doesn't pass the level check)
[20:45:23] <lynxlynxlynx> something like that
[20:47:26] <fuzzie> well, i just mean, it's hard-coding, but it doesn't work at all now
[20:47:42] <fuzzie> so you could add a switch statement with a big '// TODO: de-hardcode this'
[20:47:56] <fuzzie> (it is nice to have 'TODO' or 'XXX' in such comments, because i can grep for them)
[20:48:37] <lynxlynxlynx> kdevelop has extra syntax highlight for them too
[20:48:44] <fuzzie> well, even better :)
[20:55:43] <lynxlynxlynx> http://iesdp.gibberlings3.net/files/ids/bg2/nodecode.htm <-- hehe
[20:59:20] <fuzzie> o.O
[21:02:30] <lynxlynxlynx> do you know what the avclass one is for? I can't find an ids file and only one mention on the net
[21:02:44] <lynxlynxlynx> looks like its from iwd2
[21:03:42] <Avenger> giveitemcreate doesn't work in SoA ???
[21:05:45] <fuzzie> it works fine
[21:05:54] <fuzzie> you have some specific broken example?
[21:06:14] <Avenger> just that nodecode description :)
[21:06:31] <fuzzie> that is the ToB version of nodecode.ids, remember :P
[21:07:37] <fuzzie> but looking at the other versions, i guess iesdp is silly
[21:07:47] <Avenger> hmm it would be: for any line listed in this file you get 1 million $, In ToB it isn't working.
[21:08:13] <fuzzie> "Actions listed in NoDecode.ids do not decode any object.ids identifiers when loading a new action in the queue"
[21:08:36] <fuzzie> (more of Ascension64's notes)
[21:09:04] <fuzzie> but he(?) goes on to note that this is unlikely to be true, since AttackReevaluate is surely used like that everywhere
[21:09:20] <Avenger> right
[21:09:54] <fuzzie> but i'm not sure what that even means
[21:10:06] <Avenger> well, we'll ignore it
[21:10:20] <fuzzie> since any .bcs file will be pre-decoded
[21:10:23] <Avenger> if there is a bug that involves all actions listed in it, we'll know it is what we miss
[21:11:39] <fuzzie> and this is from bg1, maybe
[21:12:04] <fuzzie> d/bg1/sharte.d:ChangeAIScript("SHARTEEL,OVERRIDE)
[21:12:09] <fuzzie> ^- :-(
[21:12:21] <Avenger> so
[21:12:24] <fuzzie> (unpatched original bg1, i think)
[21:12:30] <Avenger> missing " ?
[21:12:40] <fuzzie> there's a ActionOverride(Skie",ChangeAIScript("",DEFAULT)) in there too, he
[21:12:51] <Avenger> lol
[21:12:57] <Avenger> heap of bugs
[21:13:05] <Avenger> what a crap
[21:13:19] <fuzzie> well, we are lucky to come after the fixpack :)
[21:13:19] <Avenger> i thought only pst/iwd1 are buggy so much
[21:13:59] <fuzzie> original bg1 is terrible
[21:14:09] <fuzzie> just the fact that you can't rely on Die() causes heaps of problems
[21:14:37] <fuzzie> but at least it's not full of hacks, just bugs
[21:14:58] <fuzzie> so i ask again, do you think we should keep GA_GLOBAL?
[21:15:09] <fuzzie> i just wonder if we'll ever have any use for it
[21:15:19] <Avenger> don't know what is it
[21:15:32] <fuzzie> some "check all maps" hack you added
[21:15:39] <fuzzie> before we worked out how actor following worked
[21:16:13] <fuzzie> at the time we weren't sure whether to keep it, but i think i'm pretty sure it's not needed for anything in the original engine
[21:16:40] <Avenger> if you resurrect someone (by clicking on their portrait icon)
[21:16:58] <Avenger> i think that thing needs this
[21:17:03] <Avenger> targeting mode: 3
[21:17:13] <fuzzie> i mean, this is for actions only :)
[21:17:35] <fuzzie> and things like PlayerX always work like that anyway
[21:18:00] <Avenger> no one sets it?
[21:18:04] <fuzzie> but ok i will assume i can leave this out, and add some comments :)
[21:18:15] <fuzzie> no, i removed all the callers a long time ago
[21:18:19] <Avenger> oh
[21:18:46] <Avenger> well, i would leave it around for some time,
[21:19:18] <Avenger> add some comment like: remove this if you are sure you don't need it :)
[21:19:42] <fuzzie> do you know if the original engine does Target-style lists?
[21:19:46] <fuzzie> i guess this is probably our own design
[21:20:11] <Avenger> lists for parsing target?
[21:20:26] <fuzzie> for making lists of targets
[21:20:28] <Avenger> i think the xth<whatever> things need a list
[21:20:40] <fuzzie> lots of things need them
[21:20:48] <Avenger> so what was the question
[21:20:56] <fuzzie> i'm just wondering if they are used for everything
[21:21:02] <fuzzie> but i guess that is a really specific question :)
[21:21:05] <Avenger> definitely not everything
[21:21:30] <Avenger> the worstac/strongestofmale stuff filters only pcs in team
[21:21:32] <fuzzie> i just want to see if we can avoid allocating/deallocating memory every time we go through these functions
[21:21:42] <Avenger> that made me quite upset first :)
[21:21:59] <Avenger> a lot of stuff just looks for the nearest matching object
[21:22:05] <fuzzie> i am really annoyed about LastTalkedToBy vs LastTalkedToBy("name")
[21:22:33] <Avenger> i'm still not sure how target parsing works
[21:22:53] <Avenger> and i'm sure there are different ways
[21:23:05] <fuzzie> yes
[21:23:25] <fuzzie> it is not so bad, really
[21:24:15] <fuzzie> it is mostly simple now
[21:24:39] <fuzzie> oh
[21:24:44] <fuzzie> you have some idea how to fix ID_Class?
[21:24:48] <fuzzie> maybe lynxlynxlynx is already working on it
[21:25:57] <lynxlynxlynx> i have it done
[21:26:22] <fuzzie> well, ok :)
[21:26:36] <lynxlynxlynx> and it works
[21:26:43] <Avenger> implemented mage_all and co?
[21:26:47] <lynxlynxlynx> and it is clean too :)
[21:26:49] <lynxlynxlynx> yes
[21:26:59] <Avenger> good ;)
[21:27:03] <fuzzie> commit, commit! :-)
[21:27:06] <lynxlynxlynx> how is ID_AVClass supposed to be different?
[21:27:12] <Avenger> not sure
[21:27:33] <Avenger> do i have iwd2 object filters disassembled? i don't remember
[21:27:54] <Avenger> not yet
[21:28:11] <lynxlynxlynx> ok, stuff for later
[21:29:51] <Avenger> i will have to do this :)
[21:30:12] <lynxlynxlynx> oh, it won't work for reenabled dualclasses
[21:30:23] <-- Avenger has left IRC (Quit: bye!)
[21:30:54] <lynxlynxlynx> eh, nevermind, i am confusing myself
[21:32:02] <CIA-26> GemRB: 03lynxlupodian * r2c6c4e51a86b 10gemrb/gemrb/core/GameScript/Objects.cpp: improved GameScript::ID_Class to handle the *_ALL cases
[21:33:06] <lynxlynxlynx> oh, avclass seems to be class20.ids
[21:33:33] <lynxlynxlynx> nah
[21:37:42] <fuzzie> that fixes your issue?
[21:38:05] <lynxlynxlynx> yep
[21:38:14] <fuzzie> oh, you broke my build :P
[21:38:36] --> budlust has joined #GemRb
[21:38:46] <fuzzie> my gcc is dumb, apparently
[21:43:35] <fuzzie> am appreciating that 'git add -i' allowed me to just pull that out of all my changes
[21:43:51] <CIA-26> GemRB: 03fuzzie * r20d695c063c6 10gemrb/gemrb/core/GameScript/Objects.cpp: silence silly gcc warning
[21:48:56] <lynxlynxlynx> it's nice since you can choose not only chunks, but then also individual lines
[21:51:19] <CIA-26> GemRB: 03fuzzie * rbc8d483e4af6 10gemrb/gemrb/core/ (10 files in 2 dirs): move object matching/filtering code from GSUtils.cpp to new Matching.cpp
[22:09:39] <-- edheldil_ has left IRC (Ping timeout: 240 seconds)
[22:14:26] <fuzzie> lynxlynxlynx: this reported "cleric spells from level 2 onward i seem to be able to cast bonus spells from levels i should not be able to cast yet" bug in bg1 is known?
[22:15:07] <-- SiENcE has left IRC (Quit: cya @all)
[22:15:13] <lynxlynxlynx> i'm not sure it is the bonus spell's fault
[22:15:30] <lynxlynxlynx> i sometimes get spell slots even for chars that aren't casters
[22:15:53] <lynxlynxlynx> and mage spell slots
[22:16:11] <lynxlynxlynx> so it sounds like more bugs
[22:18:23] <fuzzie> there are maybe some silly issues in LevelUp
[22:20:28] <fuzzie> NewDSpells/OldDSpells and NewWSpells/OldWSpells don't get reset, for example
[22:20:53] <fuzzie> maybe the number of columns never differs? but if anything differs at all, that could lead to odd results
[22:30:36] <CIA-26> GemRB: 03lynxlupodian * rce5fca32171f 10gemrb/gemrb/GUIScripts/LevelUp.py: Levelup: clear all the globals for safer reentry
[22:31:06] <lynxlynxlynx> my timer is at 0
[22:31:44] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:48:58] <-- budlust has left IRC (Quit: leaving)
[23:00:44] <-- Maighstir_laptop has left #GemRb
[23:04:02] --> nickdaly has joined #GemRb
[23:05:03] --> budlust has joined #GemRb
[23:13:36] <-- nickdaly has left IRC (Read error: Operation timed out)
[23:13:47] --> nickdaly has joined #GemRb