#gemrb@irc.freenode.net logs for 4 Nov 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:04:43] <-- edheldil_ has left IRC (Ping timeout: 240 seconds)
[00:27:12] <-- Bo_Thomsen has left IRC (Quit: Leaving.)
[02:40:10] <-- deepinthewoods has left IRC (Ping timeout: 245 seconds)
[02:53:20] --> deepinthewoods has joined #GemRb
[02:56:50] --> pupnik has joined #GemRb
[03:00:11] <-- pupnik_ has left IRC (Ping timeout: 250 seconds)
[08:39:12] --> Bo_Thomsen has joined #GemRb
[08:42:55] --> lubos has joined #GemRb
[08:43:28] <-- |Cable| has left IRC (Remote host closed the connection)
[08:51:10] --> lynxlynxlynx has joined #GemRb
[08:51:10] --- ChanServ gives channel operator status to lynxlynxlynx
[09:02:16] --> barraAway has joined #GemRb
[09:02:35] --- barraAway is now known as barra_home
[09:08:25] <fuzzie> <3 Taimon
[09:24:04] --> SiENcE has joined #GemRb
[09:27:14] <lynxlynxlynx> useful :)
[09:30:32] <fuzzie> not that i have any idea how you can run code in a trigger, i will have to ask
[09:33:33] <-- barra_home has left IRC (Quit: Verlassend)
[09:33:42] <lynxlynxlynx> it's not as simple as he said, the table also has (and we implement it) reputation damage for just injuring
[09:33:52] <lynxlynxlynx> that explains the variation
[09:34:38] <fuzzie> which table is it?
[09:37:07] <lynxlynxlynx> repmod
[09:37:43] <fuzzie> so, not in all versions
[09:38:02] <fuzzie> oh, or in any. gemrb file?
[09:39:05] <lynxlynxlynx> no
[09:39:12] <lynxlynxlynx> maybe it's called repmodst
[09:39:21] <fuzzie> oh, reputati.2da
[09:39:54] <lynxlynxlynx> ah, those were for stores
[09:39:59] <fuzzie> with KILL_FIST as a column, great
[09:40:44] <fuzzie> but i see what you mean now :)
[10:16:37] <CIA-28> GemRB: 03lynxlupodian * rfeb9cc9d35d0 10gemrb/gemrb/core/Scriptable/Actor.cpp:
[10:16:37] <CIA-28> GemRB: don't apply the reputation penalty for injuring/killing if the attacker
[10:16:37] <CIA-28> GemRB: is not on hte player's side
[10:19:34] <Bo_Thomsen> Thank you :)
[10:59:57] --> barra_library has joined #GemRb
[12:05:38] <wjp> IWD2 on GOG
[12:06:20] <fuzzie> i assume kotor will be next, in their quest to avoid giving us bg2
[12:06:30] <wjp> :-)
[12:27:30] <fuzzie> really impressed they seemingly managed to get them all, though
[12:27:40] <fuzzie> if only i had the time to actually fix more things!
[13:02:17] <barra_library> hola
[13:03:06] <barra_library> is there any kind of recommended documentation how the dialogue file format of the IE engine games is structure and how the dialogue engine works in detail?
[13:03:38] <fuzzie> umm
[13:03:48] <fuzzie> do you really want stuff on the file format?
[13:04:18] <fuzzie> as far as i know there isn't a large amount of detailed information, mostly because people generally use weidu, which hides the underlying detail somewhat
[13:11:05] <barra_library> sure, every bit helps fuzzie, we plan to rewrite parts of our PARPG dialogue engine and maybe the Baldur's Gate dialogue engine has been designed in a way to avoid the pitfalls we ran into
[13:11:27] <barra_library> so instead of reinventing the wheel, we could actually borrow useful concepts
[13:15:39] <fuzzie> the idea is basically just a tree; at the top level you have a 'list of possible start entries', pointing downward into the actual entries, which then have a 'list of possible replies' attached, pointing into yet more entries, etc
[13:16:55] <fuzzie> the lists have scripting attached which says whether each entry should be used, while the actual entries have scripting attached which is executed when they're run
[13:17:29] <fuzzie> the NWN file format doc ( http://nwn.bioware.com/developers/Bioware_Aurora_Conversation_Format.pdf ) might be more useful than anything else.
[13:18:47] --> Taimon has joined #GemRb
[13:18:59] <fuzzie> hi, Taimon
[13:19:04] <Taimon> hey guys :)
[13:19:59] <Taimon> did you work out the trigger list clearing, fuzzie?
[13:20:25] <fuzzie> well, i worked out something which seems to work, but i don't know if it resembles the original engine too much
[13:21:45] <fuzzie> specifically in my test branch of gemrb i'm just clearing the whole list on all objects, after every AI processing round
[13:22:34] <Taimon> okay
[13:23:42] <Taimon> but you read what I tried to describe, right?
[13:24:16] <fuzzie> i'm more interested by your mention of processing being done with the Killed() trigger, i was under the impression that all the 'bookkeeping' was done in the death opcode, didn't know that there was processing done at all
[13:25:12] <fuzzie> ah, yes, i'd forgotten you clarified it a bit :) the need for the recreation had been confusing me, but it makes a lot more sense in the context of being intended only for party AI
[13:26:25] <fuzzie> i haven't tried implementing the recreation yet, but the comments are much appreciated.
[13:27:29] <-- Taimon has left IRC (Quit: Lost terminal)
[13:28:20] <fuzzie> i'd forgotten about that bit entirely really :( must try it
[13:28:32] --> Taimon has joined #GemRb
[13:28:37] <Taimon> whoa, sorry :)
[13:28:52] <lynxlynxlynx> one ^D too many
[13:29:13] <Taimon> ;)
[13:29:25] <Taimon> this was the last that i read
[13:29:31] <Taimon> 14:25 < fuzzie> ah, yes, i'd forgotten you clarified it a bit :) the need for the recreation had been confusing me, but it makes a lot more sense in the context of being intended only for party AI
[13:29:36] <Taimon> 14:26 < fuzzie> i haven't tried implementing the recreation yet, but the comments are much appreciated.
[13:30:28] <fuzzie> didn't say anything relevant beyond that, really
[13:30:42] <fuzzie> i got distracted trying to fix instant actions in dialogs, at the time
[13:30:48] <fuzzie> and then have been rushed off my feet for a few months
[13:31:24] <fuzzie> i am curious how they interact with the effect opcode used for fireshield
[13:31:39] <Taimon> make me a list somewhere
[13:31:45] <Taimon> and I'll have a look
[13:32:37] <Taimon> btw, how does gemrb currently "process" triggers?
[13:33:23] <fuzzie> very badly
[13:33:29] <fuzzie> it's amazing the games are completable
[13:33:44] <barra_library> thanks for the pointers fuzzie, that was very appreciated
[13:33:46] <fuzzie> triggers are just removed once they've been checked
[13:33:52] <Taimon> yeah, no complicated scripts I guess
[13:35:24] <fuzzie> the problematic effect, i think 0xe8, has been more of a problem than the scripting (since it checks triggers, but then gemrb doesn't disable them after, so the effect fires repeatedly)
[13:36:20] <lynxlynxlynx> yeah, tob is a disaster due to that
[13:36:58] <Taimon> i did have a look at that effect (cast spell on condition) a couple of days ago
[13:38:06] <Taimon> but you are right, the real problem is the clearing of the trigger list
[13:42:03] <fuzzie> so if you come across anything there.. :) but honestly we are still working through your 'random notes' thread
[13:43:35] <fuzzie> so it seems a bit silly to make yet more requests when there are still documented things to fix
[13:44:15] <Taimon> I know my notes are hard to read sometimes :)
[13:45:54] <lynxlynxlynx> avenger also finally tried ida, so there were plenty of other insights :)
[13:45:59] <fuzzie> it's easy to get distracted by things sometimes, i had Avenger digging into the code to work out what 0x80 does in dialog flags
[13:46:26] <fuzzie> turns out it means "put in journal"
[13:46:51] <fuzzie> not quite the most useful of findings
[13:47:23] <Taimon> isn't this already document in IESDP?
[13:47:45] <Taimon> 0x20 is unknown and I tried to figure it out yesterday
[13:47:47] <fuzzie> it says "Remove Quest Journal entry"
[13:47:53] <Taimon> ah okay
[13:48:21] <Taimon> 0x20 is something weird
[13:48:31] <fuzzie> but it's clearly set in bg2 dialogs which add entries to the journal, so it's quite mysterious
[13:48:38] <fuzzie> and 'something weird' is also our conclusion so far about 0x20, i think
[13:48:53] <Taimon> the transitions are processed three times
[13:48:55] <fuzzie> oh, also 'taimon/ascension may have something'
[13:49:02] <Taimon> huh?
[13:49:07] <fuzzie> but i guess you don't :)
[13:49:09] <Taimon> :)
[13:49:55] <Taimon> which IDA version does Avenger use?
[13:50:15] <fuzzie> i think just the free one, 4.9?
[13:50:59] <fuzzie> we've been thinking about an efficient way to share disasm data, maybe just putting the limited script export thing into git
[13:51:53] <Taimon> giving names to numbers is the key for fast disassembly
[13:52:01] <Taimon> but it's hard to dump data out of IDA
[13:53:28] <fuzzie> any thoughts on http://forums.gibberlings3.net/index.php?showtopic=20801 would be appreciated too, if you know anything off the top of your head
[13:55:12] <fuzzie> if you've been looking at anything remotely in the region of the dialog code :)
[13:55:17] <Taimon> yeah this is complicated
[13:56:24] <Taimon> I'll answer your post later
[13:56:37] <fuzzie> certainly wouldn't ask you to go looking for anything particularly for that
[13:56:56] <Taimon> already came across it
[13:56:58] <Taimon> partly :)
[13:56:59] <fuzzie> just wondering if you've seen anything on your journeys through disasm land :)
[13:57:06] <Taimon> yeah sure
[13:58:38] <pupnik> getting distracted is a huge problem
[14:02:25] --> Maighstir has joined #GemRb
[14:05:21] <Taimon> i agree, sometimes you dig into something and completly forget what you were actually looking for
[14:10:32] <lynxlynxlynx> i use bookmarks for that
[14:10:56] <lynxlynxlynx> or in the case of code, extra comments, so i'll see it in the diff
[14:19:21] <edheldil> fuzzie: actually, it's an oriented graph with loops, not a tree :)
[14:19:31] <edheldil> as you surely know :)
[14:21:27] <edheldil> barra_library: I am not sure whther I got to commiting it to git, but I have some dubious-quality dialog debugger in ie_shell, that you could use to play with IE dialogs
[14:22:50] <barra_library> thanks for the pointer edheldil, I'll keep that in mind
[14:23:14] <fuzzie> edheldil: you're right :)
[14:24:03] <fuzzie> and that's actually quite an important point, the ability to have rather irrelevant threads of conversation that go either backwards or at least into another more relevant/important thread
[14:24:57] <fuzzie> but it is the kind of thing you should be able to implement in a few days and experiment with
[14:26:06] <fuzzie> and i thought parpg already had something much like this, complete with python snippets
[14:27:19] <fuzzie> although every time i look there's UML diagrams and YAML and all kinds of scary things
[14:28:46] <edheldil> if I submit "parpg" to google, I get blog where they lament that barra is missing :-D
[14:29:00] <lynxlynxlynx> iirc he stepped down
[14:37:24] <edheldil> sorry, I confused parpg with that nwn link
[14:40:08] <-- deepinthewoods has left IRC (Ping timeout: 245 seconds)
[14:44:48] <-- pupnik has left IRC (Quit: leaving)
[14:52:08] --> deepinthewoods has joined #GemRb
[15:41:28] <-- edheldil has left IRC (Ping timeout: 252 seconds)
[15:42:01] --> edheldil has joined #GemRb
[15:42:01] --- ChanServ gives channel operator status to edheldil
[15:55:43] <-- Bo_Thomsen has left IRC (Quit: Leaving.)
[16:24:45] <lynxlynxlynx> Taimon: did you ever notice anywhere spells from spcl* resources being treated differently as those from spin*/spwi*/sppr*?
[16:39:13] <Taimon> no
[16:39:44] <Taimon> do you suspect anything?
[16:47:54] <-- lubos has left IRC (Quit: Leaving.)
[16:55:49] <lynxlynxlynx> yes, i think they don't get disabled when spellcasting is disabled (for whatever reason), which only looks at the type (shared with innates)
[16:56:09] <lynxlynxlynx> all the class based abilites basically
[17:03:45] --> Bo_Thomsen has joined #GemRb
[17:05:05] <-- Maighstir has left #GemRb
[17:06:00] --> Maighstir has joined #GemRb
[17:10:26] <Taimon> hm could be
[17:10:46] <Taimon> i vaguely remember a structure for the spell "buttons"
[17:11:01] <Taimon> and i think you could toggle if they can be disabled
[17:12:18] <Taimon> what exactly do you mean with "spellcasting is disabled"?
[17:12:31] <Taimon> via area flags or silenced or something else?
[17:13:28] <lynxlynxlynx> silence is the only one i'm sure of
[17:13:50] <lynxlynxlynx> disable button could kill the whole innate menu, i doubt it is used for specific spells
[17:14:15] <lynxlynxlynx> then there's the disable spellcasting opcode, but that just looks at the spell type
[17:14:38] <lynxlynxlynx> appart from spells.ids, i've found no mention of spcl
[17:15:33] <Taimon> and I don't really think it's used anywhere outside decode_spell_ids
[17:22:55] --> edheldil_ has joined #GemRb
[17:27:14] <lynxlynxlynx> hmm, maybe it is done via the spell's source flags
[17:27:35] <lynxlynxlynx> avenger already put in a constant that we don't use yet: #define SF_HLA 0x4000 // probably this means a nonmagical ability
[17:28:31] <lynxlynxlynx> also the location field of the extended header could be used
[17:31:09] <lynxlynxlynx> yes, this looks better, the source flag is probably meant for dead magic areas
[17:51:56] <-- SiENcE has left IRC (Quit: @all: cya)
[18:00:18] --> |Cable| has joined #GemRb
[18:01:20] <-- |Cable| has left IRC (Client Quit)
[18:02:22] <-- edheldil_ has left IRC (Ping timeout: 272 seconds)
[18:02:51] --> |Cable| has joined #GemRb
[18:24:02] --> Avenger has joined #GemRb
[18:24:06] <Avenger> hello
[18:24:08] --- ChanServ gives channel operator status to Avenger
[18:25:28] <CIA-28> GemRB: 03avenger_teambg * r183eeafb0a50 10gemrb/gemrb/core/Spellbook.cpp: fixed compilation with msvc6
[18:26:07] <CIA-28> GemRB: 03avenger_teambg * r9b30a0b42ff1 10gemrb/gemrb/core/Scriptable/Actor.cpp: Merge branch 'master' of ssh://gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[18:29:47] <lynxlynxlynx> heh
[18:52:56] <-- Bo_Thomsen has left IRC (Quit: Leaving.)
[18:59:27] <-- barra_library has left IRC (Quit: Verlassend)
[19:16:25] <CIA-28> GemRB: 03avenger_teambg * r28d62fc62bc2 10gemrb/gemrb/ (11 files in 8 dirs): added casting sounds
[19:16:28] <Avenger> i've implemented casting sounds, but there is still some bug that makes it muted. I didn't find the problem
[19:16:58] <Avenger> i see that the sound is loaded, and even passed to openal.
[19:17:24] <Avenger> debug didn't reveal why the sound isn't played, the volume was set to 100, the coordinates are correct, etc
[19:20:39] <fuzzie> willlooklater
[19:20:51] <fuzzie> ohospacebarothisphoe
[19:20:56] <fuzzie> gr.
[19:22:04] <wjp> and the n too? :-(
[19:52:57] --> barraAway has joined #GemRb
[20:00:36] <lynxlynxlynx> indeed, doesn't work here either
[20:03:49] <Avenger> it is a gnomish talk simulator
[20:10:49] <lynxlynxlynx> running through a succesful sound, I see no difference in the openal path
[20:11:22] <lynxlynxlynx> everything looks fine
[20:11:32] <lynxlynxlynx> good thing we also have the sdl driver
[20:12:21] --- barraAway is now known as barra_home
[20:12:50] <lynxlynxlynx> hah
[20:12:56] <lynxlynxlynx> it does work with that one
[20:13:38] <lynxlynxlynx> maybe alSourcePlay is sneaky
[20:13:56] <lynxlynxlynx> Avenger: from the sound of it, the original adjusted the duration depending on the casting time
[20:16:07] --> SiENcE has joined #GemRb
[20:51:39] <Avenger> well, there could be several points where it could be improved, but first i hoped for a single sound
[20:52:01] <Avenger> it is weird it works with sdl driver
[21:11:01] <-- Taimon has left IRC (Remote host closed the connection)
[21:13:28] <-- deepinthewoods has left IRC (Ping timeout: 245 seconds)
[21:16:45] <fuzzie> wjp: indeed, the spacebar and the n
[21:17:27] <fuzzie> there are various ebay sellers offering replacement keyboards, all of which are in hong kong, all of which take money and then don't send anything and then don't respond to paypal meaning the money is refunded
[21:17:32] <fuzzie> it's quite quite strange
[21:20:55] <Avenger> how many 'mistakes' cause them get banned?
[21:23:56] <fuzzie> good question
[21:24:17] <fuzzie> and, well, the sdl driver is much dumber :) a lot less to go wrong
[21:26:10] --> deepinthewoods has joined #GemRb
[21:27:45] <lynxlynxlynx> i looked at the al sources and the player can return without error when there is no context, whatever that may be
[21:32:47] <Avenger> but i hear other sounds
[21:33:34] <lynxlynxlynx> sure, but maybe the driver is caught in a bad state
[21:33:52] <fuzzie> other normal sounds, rather than music/ambient
[21:33:54] <fuzzie> ?
[21:37:27] <lynxlynxlynx> i could hear the sound from the spell
[21:37:46] <lynxlynxlynx> came in the same effect way
[21:38:45] <fuzzie> what's the sound format, wavc?
[21:39:35] <lynxlynxlynx> not sure, it did found a wav
[21:39:58] <lynxlynxlynx> CHA_fm03 is what i was hitting with summoning spells
[21:40:55] <fuzzie> yes, wavc
[21:43:10] <Avenger> hah, that's odd
[21:43:19] <Avenger> a sound from the spell working?
[21:43:48] <Avenger> then it must be some coordinates thing
[21:43:56] <fuzzie> so this is going through fx_playsound?
[21:47:02] <fuzzie> it does seem likely to be coordinates
[21:47:49] <lynxlynxlynx> i can recheck
[21:47:57] <lynxlynxlynx> they did seem fine and similar though
[21:49:21] <fuzzie> well
[21:49:25] <fuzzie> is there a target for the effect?
[21:49:39] <lynxlynxlynx> of course
[21:49:43] <fuzzie> if so, fx_playsound is telling the effect to mute the sound.
[21:50:16] <lynxlynxlynx> the coords are always the same (mirror image)
[21:50:53] <lynxlynxlynx> how come?
[21:52:04] <CIA-28> GemRB: 03fuzzie * r4062e812fbfe 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp: fx_playsound: when target is provided, play sound at absolute position
[21:53:55] <fuzzie> there are other callers which look like they have the same problem, so maybe it would be better to change the default, i can't work out why it is how it is
[21:54:13] <lynxlynxlynx> how come the second sound played?
[21:54:27] <fuzzie> well, does that commit help?
[21:54:40] <lynxlynxlynx> will know soon :)
[21:55:15] <lynxlynxlynx> indeed
[21:58:47] <fuzzie> oh, bla, i see why it's 0 by default
[21:59:03] <Avenger> does it help?
[21:59:11] <fuzzie> ok, we should have two Play() functions then
[21:59:35] <fuzzie> easy enough to do in the base Audio class.
[21:59:53] <fuzzie> erm, not 0 by default.
[22:00:59] <lynxlynxlynx> it does Avenger
[22:05:14] <fuzzie> ok, so what's the int parameter to PlaySound?
[22:05:33] <fuzzie> some gemrb hack?
[22:08:01] <lynxlynxlynx> the guiscript one?
[22:08:24] <fuzzie> the action
[22:08:42] <fuzzie> it is marked 'isSpeech', so i'm going to assume it's meant to set the speech flag when set
[22:09:46] --- barra_home is now known as barraAway
[22:10:59] <lynxlynxlynx> iesdp is useless on this, only documenting one parameter
[22:13:13] <fuzzie> yes, it is meant to do that
[22:13:17] <fuzzie> broken back in 2004
[22:14:15] <fuzzie> just waiting for my build to finish
[22:16:56] <CIA-28> GemRB: 03fuzzie * r6e3c492a8637 10gemrb/gemrb/ (8 files in 7 dirs): make Audio::Play default to absolute positioning if coordinates are provided
[22:17:58] <fuzzie> still work?
[22:20:20] <fuzzie> well, as far as i can tell that makes all the callers work as they should, anyway
[22:20:27] <fuzzie> looked like quite a few were broken
[22:22:13] <-- deepinthewoods has left IRC (Ping timeout: 245 seconds)
[22:24:41] <fuzzie> when i escape the underdark, the elves seem to be attacking me
[22:24:45] <fuzzie> this is not so great
[22:25:06] <lynxlynxlynx> it still works
[22:25:33] <lynxlynxlynx> we don't play the summoning on-appearance sound :(
[22:26:05] <fuzzie> do we have code for it?
[22:27:08] <lynxlynxlynx> i doubt it
[22:27:41] <Avenger> are you sure about this absolute positioning?
[22:29:08] <fuzzie> Avenger: you think it's not correct?
[22:35:08] --> deepinthewoods has joined #GemRb
[22:35:22] --- barraAway is now known as barra_home
[22:40:07] <Avenger> i know i changed it back and forth a few times
[22:41:00] <Avenger> but it truly works
[22:41:21] <Lightkey> you sound surprised
[22:41:26] <Avenger> yeah
[22:41:53] <Avenger> i'm surprised because i think spell sounds worked before, and i use the same effect here
[22:43:32] <Avenger> anyway, i'm happy it works :) it is another cosmetic effect than improves gameplay :) Next will be the walk sounds
[22:44:26] <-- Avenger has left IRC (Quit: bye!)
[22:55:30] --> Bo_Thomsen has joined #GemRb
[23:10:33] <-- SiENcE has left IRC (Ping timeout: 245 seconds)
[23:13:38] --> edheldil_ has joined #GemRb
[23:18:41] <-- Maighstir has left IRC (Quit: ~ Trillian Astra - www.trillian.im ~)
[23:35:51] <-- barra_home has left IRC (Quit: Verlassend)
[23:48:36] <-- Lightkey has left IRC (Ping timeout: 240 seconds)