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

Archive Today Yesterday Tomorrow
GemRB homepage


[00:08:10] <-- nickdaly` has left IRC (Ping timeout: 240 seconds)
[01:39:07] --> nickdaly` has joined #GemRb
[01:39:35] --- nickdaly` is now known as nickdaly
[03:16:24] <-- nickdaly has left IRC (Remote host closed the connection)
[06:33:02] --> pupnik_ has joined #GemRb
[06:33:22] <pupnik_> morning
[07:15:07] <pupnik_> just looking at buying this: http://cgi.ebay.de/Toshiba-T1000-/140441012653?pt=Klassische_Computer#ht_1048wt_1139
[07:25:12] --> lynxlynxlynx has joined #GemRb
[07:25:12] --- ChanServ gives channel operator status to lynxlynxlynx
[07:52:51] --> SiENcE has joined #GemRb
[07:54:58] <Edheldil> Good morning
[07:58:57] <pupnik_> o/
[07:59:30] <lynxlynxlynx> oj
[08:04:46] <pupnik_> mr bungle
[08:07:38] <pupnik_> how about whipping this bad-boy out at the local internet cafe? http://www.computermuseumgroningen.nl/tandy/model100200/model100200.html
[08:21:11] <pupnik_> (you could get about 20-25 hours of uninterrupted battery life from four alkaline AA batteries)
[09:45:23] <fuzzie> no wifi, no sale? :)
[09:46:46] <pupnik_> yeah i'd have to work some serial-wifi thing
[09:47:00] <pupnik_> but pulling that off, and doing some chatting on 3G over the serial would be very fun
[09:47:04] <pupnik_> at a hacker conference, etcf
[11:50:23] <fuzzie> oh hehe, i left the original engine unpaused overnight
[11:50:50] <fuzzie> i come back to this machine to find a message window full of party complaints :)
[12:11:20] <-- pupnik_ has left IRC (Quit: leaving)
[12:42:29] <fuzzie> lynxlynxlynx: so, everything i knew about dialogs was wrong :)
[12:42:45] <lynxlynxlynx> wow
[12:54:44] <fuzzie> http://forums.gibberlings3.net/index.php?showtopic=20801
[12:55:36] <fuzzie> bit fed up with it now :)
[12:56:38] <-- pupnik has left IRC (Ping timeout: 240 seconds)
[13:03:16] <fuzzie> but my observations are "good enough" to fix gemrb, i hope
[13:03:23] <fuzzie> the interrupt stuff is not at all important
[13:13:55] <fuzzie> will leave it on the forums to see if anyone comments before implementing it
[13:14:00] <fuzzie> (no time today anyway)
[14:38:57] --> Avenger_ has joined #GemRb
[14:39:04] <Avenger_> hello
[14:39:20] <fuzzie> Avenger_: maybe it would be good to document all your opcode findings in the forum?
[14:39:40] <fuzzie> just thinking about the SummonDisable findings, and the Damage hack for slayers, and etc
[14:39:40] <Avenger_> yes, i'm planning on a book :P
[14:39:54] <fuzzie> :-)
[14:39:57] <fuzzie> hey, i would buy it!
[14:40:17] <Avenger_> just came to tell you, once the trigger queue is in, i will rewrite the cast spell on condition (contingency) effect
[14:40:24] <Avenger_> it is using triggers (hardcoded)
[14:40:28] <fuzzie> hehe
[14:40:36] <fuzzie> i already used the triggers from your disasm ;)
[14:40:46] <Avenger_> basically it creates a trigger
[14:40:48] <fuzzie> but only for HitBy, i think
[14:41:00] <fuzzie> just enough to make sure it worked 'in theory'
[14:41:14] <Avenger_> well, if you want a particular piece, i could produce it from ida, much better
[14:41:47] <fuzzie> well, if you think it is best to wait on the trigger rewrite until after the release, there is no rush
[14:42:00] <fuzzie> i spent the morning working out how dialogs work
[14:42:01] <Avenger_> you can specify: urgent or normal. if urgent, you will just get what is currently in, if normal, i will comment it up
[14:42:24] <Avenger_> yep, it can break everything so it can wait
[14:42:45] <fuzzie> the cast spell on condition thing already breaks a lot :(
[14:43:03] <Avenger_> i just try to fix small fxopcodes issues
[14:43:09] <Avenger_> just doing that
[14:43:21] <Avenger_> while looking at opcodes with ida :)
[14:44:19] <fuzzie> but i think the small fxopcodes stuff is a great thing to work on
[14:46:09] <fuzzie> the VVC stuff is another thing which i don't know what to do about, though
[14:46:19] <fuzzie> many VVCs are played in the wrong place
[14:48:07] <fuzzie> since Ascension64 posted a full description on the forum, i hope it needs no RE work
[14:49:02] <fuzzie> but the gemrb ScriptedAnimation code is not very helpful
[14:49:18] <fuzzie> like, ScriptedAnimation.h has both IE_VVC_BLENDED and IE_VVC_BAM as 8: i guess these are different fields, but there are no comments
[14:55:22] <fuzzie> hmm. not for now, anyway :(
[14:55:42] <fuzzie> i need to rewrite way too much code, the release is a bit inconvenient
[14:56:14] <lynxlynxlynx> only a few days away
[14:59:14] <fuzzie> but i guess everything is easily solved now :)
[15:00:18] <fuzzie> it just seems pointless fixing some things for the release, if the underlying code just needs replacing
[15:00:24] <fuzzie> but i guess SDLAudio is an easy candidate
[15:03:21] <lynxlynxlynx> yep
[15:03:55] <lynxlynxlynx> Avenger_: if you have nothing to do, fx_select_spell is missing
[15:04:49] <Avenger_> i thought it works halfway :)
[15:05:07] <lynxlynxlynx> not enough to make a difference
[15:05:25] <Avenger_> i do only small things until release
[15:09:02] <Avenger_> meh, it is sure this code was written by many people, so many different styles
[15:11:50] <fuzzie> do you have plans for after release?
[15:12:06] <fuzzie> i think we need the reverse-engineering more than most of the code fixes
[15:13:17] <Avenger_> well, i work with the whole engine already
[15:13:50] --- Avenger_ is now known as Avenger
[15:14:10] --- ChanServ gives channel operator status to Avenger
[15:15:56] <Avenger> opcode 0xe6, 'remove spell by secondary type' does weird things, with the inventory
[15:17:30] <fuzzie> magic item?
[15:19:26] <Avenger> huh, it is doing some totally weird things
[15:19:32] <Avenger> i don't know what is this
[15:20:25] <Avenger> it calls some inventory related functions that are used many places
[15:21:34] <Avenger> one part is probably removing the magic weapon
[15:24:31] <Avenger> oh it is getting clearer now
[15:24:33] <Edheldil> this was an interesting reading, it shows that we are lucky to have ps:t :) http://www.wired.com/magazine/2009/12/fail_duke_nukem/
[15:24:34] <fuzzie> huh, the psx bg1 is all IE
[15:24:37] --> kettuz has joined #GemRb
[15:30:48] <fuzzie> with chargen etc in another exe
[15:35:17] <Avenger> how is that connected to pst?
[15:35:34] <fuzzie> well, because Black Isle were falling apart
[15:35:48] <fuzzie> pst was very very rushed, surely you noticed by all the hacks they did :)
[15:36:10] <Avenger> but they published iwd then
[15:36:13] <Avenger> and iwd2
[15:37:25] <fuzzie> yes, but that was another team
[15:37:45] <fuzzie> they were just divisions within Interplay
[15:38:08] <fuzzie> and all the Fallout people quit, and then they didn't want to fund the PS:T team
[15:40:07] <fuzzie> Icewind Dale was a bit more .. relaxed :) it helped that bg1 had been finished, i guess
[15:40:49] <fuzzie> because not only was Bioware's copy of IE stable, but Interplay weren't about to go bankrupt
[15:41:30] <Gekz> it's a shame that group of people were broken up
[15:52:43] <fuzzie> yes :(
[16:08:14] <Avenger> huh, i found some weirdness here, if i'm right bg2 is very buggy :)
[16:08:42] <Avenger> it looks like it reequips the equipped items after dispelling
[16:08:59] <Avenger> why not simply skip 'while equipped' effects, i don't know
[16:09:19] <Avenger> either that, or i don't know what i'm looking at :)
[16:11:27] <fuzzie> well, we already know that it recalculates the derived stats all the recurrent lists when effects get applied
[16:11:37] <fuzzie> if that didn't give you the hint that bg2 was very buggy, i don't know what does :)
[16:56:42] <Avenger> oh a nice tidbit, the dispel school stuff doesn't remove pending destroy weapon opcodes, that makes sense :)
[16:57:05] <Avenger> i just wonder why those are not simply set as not dispellable
[16:57:37] <Avenger> i probably will skip this one
[17:03:50] <Avenger> oh no, i see now, it does this: if it finds an opcode of 'destroyweapon' and it removed it, then it removes the weapon in question. Now, that makes so much more sense :)
[17:04:02] <fuzzie> heh
[17:04:14] <Avenger> this is about magical weapons
[17:04:33] <Avenger> obviously you can dispel magic weapons :)
[17:04:42] <Avenger> so, we gotta do this
[17:06:05] <lynxlynxlynx> i hope the ones from polymorph are immune :)
[17:06:46] <lynxlynxlynx> shapeshift into an iron golem, dispelling and then attack with human fists
[17:09:16] <-- SiENcE has left IRC (Quit: @all: cya)
[17:10:36] <Avenger> strange you say that, because as far as i see, if it removed ANY destroy weapon opcode, it will then remove the magic weapon. Even if the magic item was not created by that one
[17:11:20] <Avenger> it doesn't return the resref that holds the removed item, though it could
[17:11:58] <Avenger> i mean, the source resref of the group of effects, luckily we can do that easily
[17:12:18] <lynxlynxlynx> uhh
[17:12:31] <lynxlynxlynx> i was just pointing out a possible problem
[17:13:34] <fuzzie> got to be careful about sources, since they're only saved in the newer engines
[17:15:09] <Avenger> dispel school/sectype is bg2 specific :)
[17:15:21] <Avenger> this affects only those things
[17:15:34] <fuzzie> ok. easier then. :)
[17:15:39] <Avenger> dunno about general dispel,though
[17:15:42] <fuzzie> at least, now that we save v2 effects for bg2 :p
[17:15:58] <Avenger> we didn't?
[17:16:06] <fuzzie> charbase.cre is CRE 1.0
[17:16:14] <Avenger> eep :)
[17:16:16] <fuzzie> i added another VersionOverride thing from guiscript, for now
[17:16:38] <fuzzie> but i guess we should have a config option for the cre version to save
[17:16:51] <Avenger> i think that's good enough it is scriptable
[17:16:57] <Avenger> so we need no config
[17:17:02] <fuzzie> well, this way it will break for any other CREs
[17:17:14] <fuzzie> i doubt the original engine will save CRE 1.0 files?
[17:17:50] <Avenger> isn't this game specific?
[17:18:02] <fuzzie> sure, i thought we could just force it in gemrb.ini
[17:18:11] <fuzzie> some CREFileVersion=11 type thing
[17:19:16] <fuzzie> but it is just an idea
[17:20:18] --> Micru has joined #GemRb
[17:20:31] <Micru> hi there
[17:20:39] <Avenger> hello micru
[17:21:06] <Micru> there is something bothering me.... the autotable needs to know in which subdirectory the file is?
[17:21:28] <lynxlynxlynx> no
[17:21:52] <lynxlynxlynx> we check a few dirs in the game data and our shared and game specific override
[17:21:58] <fuzzie> you can't
[17:22:08] <fuzzie> because they're not initialised where Micru is working
[17:22:15] <Micru> so if i put a 2da file in the override folder, it should be able to read it, right?
[17:22:25] <fuzzie> so no, you can't use AutoTable.
[17:22:36] <Micru> ahhhh
[17:22:43] <Micru> that explains everything
[17:23:01] <Micru> maybe then i need to use fopen?
[17:23:41] <fuzzie> you make a DataStream using the path (use PathJoin, i think)
[17:23:45] <Avenger> i don't understand, why wouldn't autotable open stuff in the override folder?
[17:23:55] <fuzzie> Avenger: because this is in the config code
[17:24:03] <Avenger> 2da in config? ah
[17:24:15] <Micru> ok, fuzzie, i will try with datastream
[17:24:42] <fuzzie> Micru: see LoadTable in GameData.cpp, how it makes the 'tm' and then calls 'Open' with a DataStream
[17:25:11] <Avenger> you just have to free it up the old way after use :)
[17:25:23] <fuzzie> you don't even have to do that, i think :)
[17:25:34] <fuzzie> 'tm' is wrapped in one of the magic Holder things there
[17:25:34] <Micru> thx for the tips! :)
[17:25:37] <fuzzie> good luck
[17:27:21] <fuzzie> this audio driver interface really sucks
[17:37:16] <CIA-26> GemRB: 03lynxlupodian * r39734e13ab52 10gemrb/gemrb/ (CMakeLists.txt GemRB.cfg.sample GemRB.cfg.sample.in):
[17:37:16] <CIA-26> GemRB: cmake: predefine a few of the paths in the sample config based on user choice
[17:37:16] <CIA-26> GemRB: use git log -p -M for easier review
[17:43:55] --> SiENcE has joined #GemRb
[17:49:20] <Avenger> fuzzie, can you open an original bg2 creature file?
[17:49:26] <Avenger> igolem01.cre
[17:49:43] <fuzzie> what do you need?
[17:49:54] <Avenger> mine has weird effects attached to it, with all 0 level immunity effects
[17:50:04] <fuzzie> effect 0x66?
[17:50:13] <Avenger> yes
[17:50:31] <Avenger> in gemrb if you use level immunity with 0, it will make the minorglobe overlay
[17:50:45] <Avenger> this causes a minorglobe on the sewage golem in my game
[17:51:15] <Avenger> normally level immunity is supposed to have a param1 - level
[17:51:36] <Avenger> but these effects got the level in the power field, which is obviously crap
[17:51:53] <fuzzie> i am really confused
[17:52:14] <Avenger> where you lost me? :)
[17:52:40] <fuzzie> these are v2.0 effects, so i see that CRE 1.0 files can have v2.0 effects too
[17:53:02] <Avenger> there is an effect flag
[17:53:08] <fuzzie> so gemrb will load a CRE 1.0 file and save it as CRE 1.1
[17:53:10] <Avenger> 'totsceffect' in the header
[17:53:13] <fuzzie> this is a bit silly
[17:53:28] <fuzzie> but yes, original igolem01.cre is all weird
[17:53:43] <Avenger> it has those buggy effects? odd
[17:54:25] <Avenger> now i just have to find out what protection from levels (0,0) does
[17:55:00] <Avenger> because i think it is either protects against everything, or none
[17:55:16] <Avenger> 99% it is useless
[17:56:11] <Avenger> i found the exact level matching part, but nothing that checks level 0
[17:57:15] <fuzzie> what on earth is CanPlay() in Audio?
[17:57:33] <fuzzie> some "are you NullSound?" hack, i guess
[17:58:15] <Avenger> it is not a hack, i think it is a very elegant call :)
[17:58:32] <Avenger> it isn't my doing, i guess
[17:58:46] <fuzzie> if you need to know that, you are writing a hack :)
[17:58:47] <Avenger> you can implement it in your sdlplayer without much difficulty
[17:59:10] <Avenger> i don't think it was me
[17:59:11] <fuzzie> it looks like it is there so that the movie players can know whether to bother decoding sound or not
[17:59:32] <fuzzie> i just wish whoever wrote it had documented it, i spent a while working out what was going wrong
[17:59:40] <Avenger> lol
[18:00:48] <Avenger> could be wjp or maybe even balrog
[18:01:43] <lynxlynxlynx> easily checked
[18:01:57] <lynxlynxlynx> pickaxe to the rescue
[18:06:02] <lynxlynxlynx> it was Avenger in 2005 6daeb841e8f3
[18:06:09] <Avenger> pfft
[18:06:17] <fuzzie> hehe, git makes this too convenient
[18:06:31] <Avenger> so it is really elegant ;P
[18:07:21] <Avenger> so the movie player asks the audio interface if it can play audio, is this truly so ugly?
[18:09:49] <Avenger> probably it could be used elsewhere to skip stuff that would take up cpu or memory
[18:16:00] <fuzzie> i am struggling a bit with the sound quality here, really odd
[18:17:21] <Avenger> fuzzie: how does TakePartyItemAll work?
[18:17:45] <fuzzie> you pass it a resref, it takes them all?
[18:17:57] <Avenger> san complains that he lost all ankheg armor and got only 500 :)
[18:18:19] <fuzzie> it might only take 1 by default
[18:18:25] <Avenger> the dialog does TakePartyItemAll("misc12"); GiveGoldForce(500)
[18:18:29] <fuzzie> but i thought that the ankheg thing was intended
[18:19:00] <Avenger> it canot give more than 500 in a shot
[18:19:27] <Avenger> there is no possible scripting to give itemcountxgold amount
[18:20:44] <fuzzie> > In the original unmodded game Taerom would take ALL shells in inventory using the TakePartyItemAll action. This is why it is an exploit to drop all shells and sell them to him one at a time.
[18:20:53] <fuzzie> > The fixpack for the vanilla and totsc versions (non-tutu) will work on preventing this exploit.
[18:21:22] <fuzzie> so, i vote for 'intended', not a gemrb bug.
[18:21:40] <Avenger> yeah, ok
[18:22:06] <Avenger> i think i loved the ankheg 'farm' in bg1, once i managed to kill one reliably, i used it for xp and gold :)
[18:29:23] <fuzzie> damn, i must be doing something really stupid in this code
[18:35:42] <Avenger> hmm, disintegrate effect may cause memory leak in original code, if the effect is not attaching (it is doing ids targeting)
[18:36:24] <Avenger> i found no part where it frees up the memory for it, and it is allocated by mem_alloc :)
[18:47:56] <fuzzie> lynxlynxlynx: why not leave the GemRB.cfg.sample paths commented out?
[18:48:46] <lynxlynxlynx> would we correctly guess the locations if they were?
[18:49:19] <CIA-26> GemRB: 03fuzzie * r3f790915fb69 10gemrb/gemrb/plugins/SDLAudio/ (SDLAudio.cpp SDLAudio.h): SDLAudio: handle movie audio
[18:49:33] <SiENcE> handle movie audio :-)
[18:49:35] <fuzzie> well, that is what tomprince said
[18:49:46] <fuzzie> as i said, i know nothing about it :)
[18:49:53] <fuzzie> SiENcE: it still leaks soundfx, so not done yet :P
[18:50:04] <SiENcE> ok
[18:50:11] <fuzzie> doesn't leak the movie audio though :)
[18:50:18] <SiENcE> can you do scrolling for textbox via cursorkeys?
[18:50:50] <fuzzie> i'm not sure
[18:50:52] <fuzzie> not now, anyway
[18:52:03] <SiENcE> k
[18:54:19] <lynxlynxlynx> if we're smart enough, the main sample config shouldn't have them in there at all
[18:55:07] <lynxlynxlynx> seems to work :)
[18:55:08] <Avenger> haha, bg2 also has our equivalent of 'HasEffect' it is used to avoid displaying the level up icon when someone is level drained
[18:55:22] <fuzzie> lynxlynxlynx: hence the "###### HERE BE DRAGONS #############################", but at the time, there was no GemRB.cfg.noinstall.sample.
[18:55:50] <Avenger> so, they didn't shy away of looking for effects in a whole queue
[18:56:12] <fuzzie> but they only have to run that once per PC :)
[18:56:21] <fuzzie> not like the protection checks, which can be run hundreds of times per frame
[18:56:45] <Avenger> i'm not sure of that amount :)
[18:56:53] <fuzzie> thousands? :)
[18:56:58] <Avenger> why would be so many
[18:57:08] <fuzzie> because it's checked in object matching
[18:57:21] <Avenger> protections?
[18:57:25] <Avenger> how
[18:57:31] <fuzzie> protection against undead, etc
[18:57:49] <Avenger> ahh it is invisible by script?
[18:57:53] <fuzzie> yes
[18:58:21] <Avenger> ok, lets wait till i find the equivalent in this engine :)
[18:58:30] <fuzzie> well, it's already in gemrb :p
[18:58:53] <Avenger> i know, but it might be wrong
[18:58:55] <fuzzie> someone said they kept a list of protections in actors
[18:59:01] <Avenger> yes, that's true
[18:59:09] <fuzzie> but it's definitely checked, it is trivial to verify in the original engine
[18:59:20] <fuzzie> just like the fact that dialog action queues aren't cleared by new states
[18:59:26] <Avenger> there is a list, but no one said it is checked many times
[18:59:51] <fuzzie> sure, but we know: there is a list, protection works by blocking object matching :)
[19:00:15] <fuzzie> i guess you could hack it to do it more efficiently, but still got to check it quite a lot
[19:00:34] <fuzzie> but checking effect lists is *very* quick compared to everything else in gemrb
[19:01:07] <fuzzie> that music bits code still makes up far more CPU than all the effect stuff, i think
[19:01:23] <Avenger> music bits?
[19:01:28] <fuzzie> the ACM decoder
[19:02:14] <fuzzie> it reads stuff in odd numbers of bits, doing shifts and arithmetic and etc on everything
[19:02:27] <Avenger> well, streaming compressed music, using a suboptimal format in a possibly suboptimal decoder, no wonder :)
[19:02:39] <Avenger> did you compare the ffmpeg decoder to ours?
[19:02:46] <fuzzie> and it processes some 150k bits per second
[19:02:47] <Avenger> iirc ffmpeg can decode acm
[19:02:56] <fuzzie> i couldn't find their code, when i looked
[19:03:03] <Avenger> hmm
[19:03:09] <fuzzie> but i'm just saying, there are more important things to optimise :)
[19:04:11] <fuzzie> if you can find how their code does it, it might help quite a bit
[19:05:00] <lynxlynxlynx> we optionally depend on zlib for bamc/cbf or what?
[19:05:42] <fuzzie> lynxlynxlynx: savegames
[19:06:48] <fuzzie> so that is not optional
[19:06:56] <fuzzie> is it listed somewhere as optional?
[19:07:02] <lynxlynxlynx> in cmake
[19:07:13] <lynxlynxlynx> i'm doing some work there anyway
[19:07:22] <fuzzie> ah
[19:09:29] <Avenger> saving game is optional :D
[19:09:46] <lynxlynxlynx> it isn't
[19:09:52] <lynxlynxlynx> autosaves ;)
[19:09:52] <fuzzie> heh, the original engine gives you a Windows dialog box if it can't save :)
[19:10:06] <fuzzie> some "you can't save! help! want to continue?" thing
[19:10:39] <Avenger> luckily no one misses zlib
[19:17:51] <Micru> sorry, one more question about DataStream
[19:18:01] <Micru> DataStream* str = gamedata->GetResource( "gametype", IE_2DA_CLASS_ID );
[19:18:23] <Micru> that should open gametype.2da
[19:18:26] <Avenger> huh, if you are mirror imaged, you are immune to poison???
[19:18:42] <Micru> or i am doing it wrong?
[19:19:14] <Avenger> you got gametype.2da in an available path?
[19:19:25] <fuzzie> no
[19:19:30] <fuzzie> you need to construct your own DataStream
[19:19:31] <Micru> in override/shared
[19:19:38] <Micru> ahm
[19:19:43] <fuzzie> i guess a FileStream
[19:19:52] <Micru> ok, i'll try again
[19:19:56] <fuzzie> it is annoying :(
[19:20:14] <Micru> it's ok, it will work :)
[19:20:26] <Avenger> fuzzie: it is already better than the IE, which crashes on tilesets :)
[19:20:39] <Avenger> i mean, our resource lookup
[19:21:06] <fuzzie> sure, our resource lookup just crashes on other things instead :p
[19:21:23] <Avenger> does it?
[19:21:31] <fuzzie> this is why playing from CD doesn't work
[19:21:42] <Avenger> hmm, ok, didn't try that
[19:24:30] <CIA-26> GemRB: 03lynxlupodian * rc97f31eaaa5a 10gemrb/CMakeLists.txt: cmake: a few cosmetic improvements
[19:24:30] <CIA-26> GemRB: 03lynxlupodian * rb266cc84c29e 10gemrb/CMakeLists.txt:
[19:24:30] <CIA-26> GemRB: cmake: made the dependency checks more concise and consistent on success
[19:24:30] <CIA-26> GemRB: added missing output for above
[19:24:30] <CIA-26> GemRB: made zlib required
[19:24:30] <CIA-26> GemRB: 03lynxlupodian * r9386fd908367 10gemrb/CMakeLists.txt: cmake: ordered the dependencies, so the required ones are checked first
[19:25:45] <fuzzie> do empty params for ELSE/ENDIF work for older cmake?
[19:26:57] <CIA-26> GemRB: 03fuzzie * r1b08a57f397f 10gemrb/gemrb/plugins/SDLAudio/ (SDLAudio.cpp SDLAudio.h): SDLAudio: don't leak audio buffers
[19:27:32] <fuzzie> SiENcE: try that, i guess
[19:27:35] <lynxlynxlynx> we require 2.4, which i think supports them
[19:27:48] <lynxlynxlynx> nobody has complained anyway, we already use them
[19:28:03] <fuzzie> i'm not going to add ambient sound support to SDLAudio before the release, so i think it is 'done'
[19:28:13] <SiENcE> fuzzie, pl
[19:28:14] <fuzzie> even if it is still bad code
[19:28:18] <SiENcE> ok
[19:28:45] <lynxlynxlynx> apparently i need to add CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS for 2.4
[19:29:09] <lynxlynxlynx> fuzzie: is it any better wrt lagging?
[19:29:20] <fuzzie> i have no idea
[19:29:24] <fuzzie> like i said, it doesn't lag for me
[19:29:44] <fuzzie> so, 'maybe' :)
[19:30:23] <fuzzie> argh
[19:32:41] <CIA-26> GemRB: 03lynxlupodian * rbb0c39b214f4 10gemrb/CMakeLists.txt: cmake: a fix for 2.4 syntax compatibility
[19:32:57] <lynxlynxlynx> no improvement there
[19:35:37] --> Maighstir has joined #GemRb
[19:37:22] <fuzzie> hehe, iwd2 really doesn't work so well
[19:37:59] <fuzzie> valgrind seems happy with SDLAudio, anyway
[19:40:46] <Avenger> haha, the wingbuffet effect is resisted by some animation ids...
[19:40:58] <fuzzie> jon's?
[19:41:18] <Avenger> probably dragons
[19:41:33] <Avenger> 12xxh for example
[19:41:45] <fuzzie> there's some weird use of the wingbuffet effect somewhere
[19:41:51] <Avenger> which is jon's anim id
[19:42:03] <fuzzie> i think in the final Hell scene
[19:42:07] <Avenger> 7F3Eh and 7F3Fh are resisting too
[19:42:33] <Avenger> i will make a 2da for these
[19:43:02] <fuzzie> :)
[19:43:59] <Avenger> it would be better if avatar.2da has this somewhere
[19:44:21] <fuzzie> well, if we add columns to avatar.2da for game-specific hacks, we end up with a lot of columns
[19:44:50] <fuzzie> i have a list of some other things which check animid, but don't have it here
[19:45:50] <Avenger> oh
[19:45:59] <Avenger> then it warrants a nice bitfield
[19:47:14] <Avenger> so, another column, or a new file?
[19:47:46] <Avenger> i will just collect these ids for now
[19:48:47] <fuzzie> i'm not sure
[19:50:41] <SiENcE> fuzzie, movie sound works, but is little to slow
[19:50:49] <SiENcE> some stuttering
[19:51:06] <SiENcE> but only noticeable when you hear carefully
[19:51:47] <SiENcE> i compiled the audio and video plugins using -O3
[19:51:58] <SiENcE> soundeffects appear a lot faster now
[19:52:05] <SiENcE> menu sounds
[19:52:39] <lynxlynxlynx> i'm not sure the buffet resistance is only based on animation
[19:52:52] <lynxlynxlynx> some mod grants it
[19:53:22] <Avenger> they grant it by opcode resistance, which is not important for me :)
[19:53:33] <Avenger> that is surely not hardcoded
[19:53:46] <lynxlynxlynx> oh, didn't know there was one especially for that
[19:53:48] <Avenger> i look for hardcoded quirks, and this one is very hidden
[19:54:06] <Avenger> each effect has a virtual function to check if it is resisted
[19:54:09] <fuzzie> SiENcE: well, i improved the code, too :) but good
[19:54:18] <fuzzie> Avenger: :(
[19:54:19] <lynxlynxlynx> i wonder why they added it - there's no jon and dragon combo anywhere
[19:54:21] <Avenger> 99% of the code is using the same generic function
[19:54:39] <fuzzie> lynxlynxlynx: like i said, i think the buffet is used in the Hell scene where he appears
[19:54:44] <Avenger> the slayer and some large elementals are also stable
[19:54:49] <Avenger> some demons too
[19:54:55] <fuzzie> they are maybe there too :)
[19:55:00] <lynxlynxlynx> fuzzie: do you want me to create a callgrind graph for the plugin?
[19:55:22] <lynxlynxlynx> ah
[19:55:34] <fuzzie> i think, if it is lagging, it is probably some weird interaction between components
[19:56:08] <lynxlynxlynx> so no point?
[19:57:37] <fuzzie> well, it is also possible i made some stupid mistake :)
[19:57:51] <fuzzie> but i wouldn't be too worried about it, if it works for SiENcE
[19:59:30] <lynxlynxlynx> yeah, my machine isn't so old to be in the target audience yet
[20:00:04] <Avenger> haha, this really sucks, they check the poison resistance thing in the generic function, and only wingbuffet has it overridden
[20:00:20] <Avenger> every other effect checks if their opcode is the poison one :)
[20:00:55] <Avenger> because poison is disabled by mirror image and stoneskin
[20:00:55] <fuzzie> i think the fixpack people gave up on poison resistance because it was so buggy?
[20:02:23] <Avenger> btw, i found some anim ids that we don't have
[20:02:28] <fuzzie> Avenger: well, document this somewhere? :)
[20:02:40] <fuzzie> i know it is all in your ida, but we'll never find it there
[20:02:42] <Avenger> i wrote the anim ids in a file
[20:02:56] <fuzzie> but the forums or the wiki or IRC, all of those are good records
[20:03:00] <Avenger> ok
[20:03:07] <fuzzie> or a text file i guess :)
[20:03:07] <Avenger> i will add it to the iesdp topic i started
[20:03:29] <fuzzie> that would be great
[20:10:19] <Avenger> at least i found no more skeletons in this closet
[20:10:52] --> raevol has joined #GemRb
[20:11:10] <-- Avenger has left IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716])
[20:20:06] <SiENcE> fuzzie, when i exit from ingame using the ingame menu, it often hangs and doesn't go to the mainscreen
[20:22:03] <fuzzie> RAM issues>
[20:30:10] <SiENcE> mh
[20:32:58] <fuzzie> i mean, just a guess
[20:33:05] <fuzzie> too late for me to look seriously
[20:38:14] --> Avenger has joined #GemRb
[20:38:14] --- ChanServ gives channel operator status to Avenger
[20:38:19] <Avenger> fuzzie do you use automake?
[20:39:54] <CIA-26> GemRB: 03lynxlupodian * ra3d97e84a80a 10gemrb/admin/ (setup.sh toggle_music.sh): admin: removed two old scripts
[20:40:10] <fuzzie> Avenger: no
[20:40:31] <lynxlynxlynx> does anyone have any cmake wishes?
[20:40:35] <fuzzie> we don't have anyone with automake skills, so it is difficult just to keep it working
[20:41:18] <Avenger> i guess if i add GemRB.cfg.sample.in to the extra dist list it will heal itself
[20:41:36] <fuzzie> but there are big "don't use automake" signs everywhere
[20:42:05] <SiENcE> i use it :)
[20:42:05] <lynxlynxlynx> Avenger: it won't, you need to add it to the AC_CONFIG_FILES macro
[20:42:18] <Avenger> nyah
[20:42:18] <fuzzie> so i think if you are using automake, you should really be able to keep track of the config yourself
[20:42:29] <SiENcE> yep
[20:42:29] <lynxlynxlynx> and then the variable names won't match
[20:43:16] <SiENcE> fuzzie, do you added SDLAudio \ to the git\gemrb\gemrb\plugins\Makefile.am ?
[20:43:32] <fuzzie> SiENcE: no, because there is no SDL_mixer code
[20:43:43] <fuzzie> i am not going to add a broken plugin
[20:43:56] <SiENcE> mixer code?
[20:44:03] <fuzzie> SDLAudio requires SDL_mixer
[20:44:11] <SiENcE> ah yes
[20:45:16] <SiENcE> i think you can add -lSDL_mixer to Makefile.am SDLAudio_la_LDFLAGS
[20:45:22] <SiENcE> thats it
[20:45:32] <fuzzie> doesn't work for everyone
[20:45:51] <fuzzie> so i won't add it by default unless someone finds the time to find some proper code from some other acinclude.m4
[20:46:45] <fuzzie> really it should be possible to make it work with cmake, but i doubt i can make crosscompiling to dingux work here
[20:49:02] <SiENcE> the only time i was using cmake was, when i crosscompiled softopenal
[20:50:45] <Avenger> well i cannot fix this
[20:51:25] <fuzzie> lynxlynxlynx: if you are working on cmake, can you fix gemrb to link against libpthread?
[20:51:29] <SiENcE> do you removed GemRB.cfg.sample ?
[20:51:59] <lynxlynxlynx> renamed to GemRB.cfg.sample.in
[20:52:01] <fuzzie> i think it would probably be easier to just get rid of all the "HERE BE DRAGONS" stuff in GemRB.cfg.sample, if that works
[20:52:04] <lynxlynxlynx> fuzzie: only on unix, right?
[20:52:09] <fuzzie> lynxlynxlynx: yes
[20:52:16] <fuzzie> there must be some sensible way to do that, though
[20:52:43] <lynxlynxlynx> well the installed config works for me directly, up until the gamedata part
[20:53:03] <Avenger> maybe if i changed sysconf_DATA = GemRB.cfg.sample.in
[20:53:21] <lynxlynxlynx> so at minimum the pluginpath is good without being defined
[20:53:44] <fuzzie> one of my other projects just puts 'pthread' in TARGET_LINK_LIBRARIES, but i doubt that is correct
[20:54:12] <fuzzie> since there is no pthread on various platforms
[20:54:25] <SiENcE> sysconf_DATA = GemRB.cfg.sample.in
[20:54:36] <SiENcE> works
[20:55:40] <CIA-26> GemRB: 03avenger_teambg * r9fa453903d96 10gemrb/ (Makefile.am gemrb/Makefile.am): keeping up with makefile changes
[20:57:00] <lynxlynxlynx> i better comment the paths out again then, they won't resolve there
[20:57:10] <lynxlynxlynx> fuzzie: i'll just do it on unix
[20:57:33] <fuzzie> i think you have to make it Linux-only
[20:58:09] <fuzzie> i don't understand this FindThreads thing :(
[20:58:22] <fuzzie> but i guess Linux-only will be fine
[20:59:02] <Avenger> ah i see, well, i don't really care about the sample config, i just want a compile finished without errors :)
[20:59:48] <lynxlynxlynx> that check provides a nice CMAKE_USE_PTHREADS_INIT
[20:59:58] <lynxlynxlynx> are there conflicting versions of pthreads?
[21:00:08] <fuzzie> no, but it is not always -lpthread
[21:00:39] <lynxlynxlynx> cmake takes care of that
[21:00:49] <fuzzie> i mean, maybe i misunderstood: the library is always OS-specific
[21:00:56] <fuzzie> but if you can work out how to make cmake do it, that sounds good
[21:00:59] <fuzzie> i just couldn't make it work
[21:10:02] <-- Micru has left IRC (Remote host closed the connection)
[21:24:14] <fuzzie> oh, Avenger is wonderful
[21:24:29] <Avenger> huh?
[21:24:41] <fuzzie> oh, you're still here :-)
[21:24:46] <Avenger> if you beep on me
[21:24:48] <fuzzie> i just look at your commentary of the Spell() action
[21:25:04] <fuzzie> all the dead magic, special-cases, etc
[21:27:11] <fuzzie> i wanted to see where the casting failure was handled
[21:28:06] <Avenger> ahh you mean the disassembly :)
[21:28:26] <fuzzie> i thought, can we just check HitBy?
[21:30:56] <fuzzie> but seems i cannot quite tell from your commentary :)
[21:32:39] <Avenger> tomorrow i will go over this in ida, and get a new listing
[21:32:49] <Avenger> wait until that :)
[21:32:53] <fuzzie> hehe
[21:32:55] <Avenger> see you later!
[21:32:58] <fuzzie> bye!
[21:33:00] <-- Avenger has left IRC (Quit: bye!)
[21:34:10] <lynxlynxlynx> ok, so i have everything linking to pthread
[21:34:24] <lynxlynxlynx> do you have some special test in mind?
[21:34:32] <fuzzie> just try gdb on the binary
[21:34:40] <-- kettuz has left IRC (Quit: Leaving)
[21:34:43] <lynxlynxlynx> it can't fix the gdb on my end, since my glibc is stripped
[21:35:07] <fuzzie> that makes it fail?
[21:36:11] <fuzzie> only the main gemrb binary needs to be linked anyway
[21:36:18] <fuzzie> but if you think you havs something working, i would just commit it
[21:37:01] <lynxlynxlynx> tell me what you expect from gdb, since we're maybe talking about different things
[21:37:25] <lynxlynxlynx> i still get a bunch of "inferior" warnings
[21:37:30] <fuzzie> $ gdb ./gemrb
[21:37:36] <fuzzie> [Thread debugging using libthread_db enabled]
[21:37:36] <fuzzie> Cannot find new threads: debugger service failed
[21:38:07] <lynxlynxlynx> my problem prevents me from testing that
[21:38:14] <lynxlynxlynx> i'll commit and you tell
[21:38:16] <fuzzie> thanks
[21:38:39] <lynxlynxlynx> are you sure plugins don't need to be linked too?
[21:39:14] <fuzzie> honestly i have no idea
[21:39:32] <lynxlynxlynx> i'll leave them linking then
[21:39:35] <fuzzie> the autotools make works fine with just the main binary
[21:39:43] <fuzzie> but it doesn't do all this fancy visibility stuff, i think
[21:39:43] <lynxlynxlynx> i get my warnings after each plugin load, so it could matter
[21:41:07] <fuzzie> i wish i could trust what i read on forums
[21:41:47] <CIA-26> GemRB: 03lynxlupodian * r09fe56857ccb 10gemrb/gemrb/GemRB.cfg.sample.in: GemRB.cfg.sample.in: commented out the preset paths, so the config is usable by autoolers
[21:41:47] <CIA-26> GemRB: 03lynxlupodian * rfde4561d1b4e 10gemrb/ (9 files in 9 dirs): cmake: link everything against the thread lib on unices
[21:42:00] <fuzzie> like this "Experience has shown, that for variables set with SetGlobal(), the new value was available in the following dialogue state. For IncrementGlobal(), it takes two dialogue states, though" from a bg1 guide, but both of those are in instant.ids
[21:44:11] <fuzzie> it works if i just rebuild the 'gemrb' binary after those changes, but i am on weirdo powerpc here, so i would err on the safe side and leave it
[21:44:23] <fuzzie> (but in any case it works, thankyou)
[21:46:16] <fuzzie> hmm, devSin's test cases for Continue() are flawed.. must re-do them
[21:48:15] --> SiENcE_ has joined #GemRb
[21:48:50] <-- SiENcE has left IRC (Ping timeout: 245 seconds)
[22:17:51] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:40:04] <-- SiENcE_ has left IRC (Quit: cya @all)
[22:59:27] <-- Maighstir has left IRC (Read error: Connection reset by peer)
[23:24:17] --> edheldil_ has joined #GemRb
[23:38:42] <-- raevol has left IRC (Quit: Leaving.)
[23:51:05] <-- edheldil_ has left IRC (Ping timeout: 255 seconds)