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

Archive Today Yesterday Tomorrow
GemRB homepage


[02:56:27] --> barra_away has joined #GemRb
[02:59:23] <-- barra_home has left IRC (Ping timeout: 260 seconds)
[03:28:20] --> Gekz has joined #GemRb
[06:44:20] --> cubathy has joined #GemRb
[07:04:49] <-- barra_away has left IRC (Quit: Verlassend)
[07:36:34] --> edheldil_ has joined #GemRb
[07:40:53] --> tomprince_loki has joined #GemRb
[09:30:27] <-- edheldil_ has left IRC (Ping timeout: 265 seconds)
[10:46:01] <-- Nomad010 has left IRC (Remote host closed the connection)
[10:47:10] --> Nomad010 has joined #GemRb
[10:48:25] --> edheldil_ has joined #GemRb
[10:51:39] <-- Nomad010 has left IRC (Ping timeout: 265 seconds)
[11:01:29] <fuzzie> the g3 forum sure does strange things with usernames if i'm not logged in
[11:06:16] --> Nomad010 has joined #GemRb
[11:10:45] <-- edheldil_ has left IRC (Ping timeout: 240 seconds)
[11:56:58] --> edheldil_ has joined #GemRb
[12:11:14] <-- cubathy has left IRC (Ping timeout: 258 seconds)
[12:12:39] --> cubathy has joined #GemRb
[12:29:45] --> kettuz has joined #GemRb
[12:56:23] <-- edheldil_ has left IRC (Ping timeout: 260 seconds)
[13:05:08] <-- kettuz has left IRC (Quit: Leaving)
[13:18:25] --> edheldil_ has joined #GemRb
[13:57:49] <-- edheldil_ has left IRC (Quit: Really?)
[15:16:51] --> barra_library has joined #GemRb
[17:49:49] --> Maighstir_laptop has joined #GemRb
[18:01:25] --> kettuz has joined #GemRb
[18:12:15] --> lynxlynxlynx has joined #GemRb
[18:12:15] --- ChanServ gives channel operator status to lynxlynxlynx
[18:37:29] <lynxlynxlynx> yesterday was really unsuccessful
[18:38:06] <lynxlynxlynx> i've added some code in the morning and couldn't even make a hacked gemrb reach it by the end of the day
[18:50:54] <fuzzie> did you work out where it was going wrong?
[18:51:43] <lynxlynxlynx> the last issue was that whatever i targetted, it always resulted in the caster being the target (it's an aoe spell though)
[18:52:35] <lynxlynxlynx> so i hacked the check_level test to not fail for that opcode, but then with the last seconds of time left, i accidentally killed the caster with another spell, trying to lower the hp low enough to try to test soul eating on himself
[18:56:21] <fuzzie> the caster is meant to be included in the aoe, i assume
[18:56:54] <fuzzie> the aoe was failing, or you were only looking at the first target?
[19:01:04] <fuzzie> the projectile's aoe looks ok
[19:04:29] <lynxlynxlynx> probably he's included, yes
[19:04:47] <lynxlynxlynx> i was breaking on the effect function, so it was clear only the caster got affected
[19:05:30] <lynxlynxlynx> maybe the point-of-click targetting is off, which would explain none else in the range, but it does work for other spells
[19:05:34] <fuzzie> that's strange
[19:06:05] <lynxlynxlynx> i'll do more checking, maybe tommorow
[19:08:47] <fuzzie> what are the targets?
[19:11:50] <fuzzie> meh, i guess it could be anything
[19:11:54] <lynxlynxlynx> i tried me, the ettin and just areas
[19:20:02] <fuzzie> i understand so little of the projectile code
[19:20:54] <fuzzie> i mean, some printfs in SecondaryTarget ought to make it obvious what's going on for soul eater
[19:20:57] <fuzzie> just looking at other things
[19:54:55] <lynxlynxlynx> yeah, it would be great if avenger showed up
[20:06:59] <-- tomprince has left IRC (Ping timeout: 265 seconds)
[20:07:57] <-- tomprince_loki has left IRC (Ping timeout: 265 seconds)
[20:08:32] --> tomprince_loki has joined #GemRb
[20:12:52] <-- Maighstir_laptop has left #GemRb
[20:44:28] <CIA-13> GemRB: 03tom.prince * r3ef3a01d2e8b 10gemrb/gemrb/ (49 files in 15 dirs):
[20:44:28] <CIA-13> GemRB: Remove GameData.h include from Interface.h.
[20:44:28] <CIA-13> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[20:44:30] <CIA-13> GemRB: 03tom.prince * r9af53be1575f 10gemrb/gemrb/core/ (GameData.cpp GameData.h Interface.cpp Interface.h):
[20:44:30] <CIA-13> GemRB: Move definition of gamedata global from Interface.h to GameData.h.
[20:44:30] <CIA-13> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[20:44:31] <CIA-13> GemRB: 03tom.prince * re75e03d130fb 10gemrb/gemrb/ (51 files in 15 dirs): Merge branch 'includes'
[20:45:23] --> tomprince has joined #GemRb
[20:46:43] <CIA-13> GemRB: 03avenger_teambg * r5dd5e2998234 10gemrb/gemrb/core/Actor.cpp: dice roll -1
[20:46:44] <CIA-13> GemRB: 03avenger_teambg * r77d3ff22a367 10gemrb/gemrb/ (11 files in 7 dirs): Merge branch 'master' of ssh://avenger_teambg@gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[20:46:49] <CIA-13> GemRB: 03avenger_teambg * r4c6f841bccce 10gemrb/ (74 files in 21 dirs): Merge branch 'master' of ssh://avenger_teambg@gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[20:46:50] <CIA-13> GemRB: 03avenger_teambg * r345adaedafab 10gemrb/ (14 files in 9 dirs): Merge branch 'master' of ssh://avenger_teambg@gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[20:46:51] <CIA-13> GemRB: 03avenger_teambg * r9adf35b87776 10gemrb/gemrb/ (20 files in 11 dirs): Merge branch 'master' of ssh://avenger_teambg@gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[20:46:55] <CIA-13> GemRB: 03avenger_teambg * ra89b7b86ca01 10gemrb/ (26 files in 11 dirs): Merge branch 'master' of ssh://avenger_teambg@gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[20:46:56] <CIA-13> GemRB: 03avenger_teambg * rcd3c21c349f6 10gemrb/gemrb/ (20 files in 13 dirs): Merge branch 'master' of ssh://avenger_teambg@gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[20:46:58] <CIA-13> GemRB: 03avenger_teambg * r8ada82af6baf 10gemrb/gemrb/ (7 files in 3 dirs): Merge branch 'master' of ssh://avenger_teambg@gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[20:47:01] <CIA-13> GemRB: 03avenger_teambg * rdc8586a8fb81 10gemrb/gemrb/core/ (9 files): just comments
[20:47:03] <CIA-13> GemRB: 03avenger_teambg * r7659ec488be5 10gemrb/gemrb/ (51 files in 15 dirs): Merge branch 'master' of ssh://avenger_teambg@gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[20:48:30] <lynxlynxlynx> maybe we should make the mailer ignore merge commits
[20:48:37] --> Avenger has joined #GemRb
[20:48:45] --- ChanServ gives channel operator status to Avenger
[20:48:56] <Avenger> heh, these merges create massive spam :)
[20:49:55] <Lightkey> hu.hu
[20:50:09] <tomprince> It isn't so bad if there isn't so many merges on a branch.
[20:50:13] <lynxlynxlynx> ojla!
[20:51:24] <Avenger> anyone feels like adding more comments? Just 1-2 lines for each class, what they are about.
[20:51:37] <lynxlynxlynx> it is interesting that you appeared
[20:51:47] <Avenger> why? something happened?
[20:51:48] <lynxlynxlynx> i said maybe half an hour ago that this would be good
[20:52:04] <lynxlynxlynx> it's like you're a god :P
[20:53:36] <lynxlynxlynx> are you working on anything?
[20:53:41] <Avenger> i used to read the irc logs, though i didn't read now
[20:53:46] <Lightkey> more like "speak of the devil" :-P
[20:54:12] <Avenger> nothing gemrb related, except i added those comments :)
[20:54:22] <tomprince> Avenger: any opposition to me moving those comments to the .h files and turning them into doxygen comments?
[20:54:27] <lynxlynxlynx> ok, i'll flood you with question then ;)
[20:55:05] <lynxlynxlynx> tomprince: they don't hurt, so i'm for keeping them in both places, maybe in more verbose versions for the dox
[20:55:22] <Avenger> yes, maybe that's the best
[20:56:02] <Avenger> i usually read the .cpp, not the header, but i guess it is more professional to document the interfaces :)
[20:56:47] <lynxlynxlynx> Avenger: so where to store the bardsong? can one of the undefined stats between 182-203 be used? should i kill one of our extra stats like IE_LEVELCLASS13? something else?
[20:57:25] <Avenger> why do you need to store the bardsong? You can already get it from the effect
[20:57:44] <tomprince> Well, we already have a bunch of classes documented in the .h files ...
[20:58:25] <lynxlynxlynx> so each time the song should be played, we should use the modalspell or if the effect is present, its parameter?
[20:58:44] <lynxlynxlynx> no need for internal storage
[21:00:19] <Avenger> hmm, let me see
[21:00:49] <lynxlynxlynx> the new song is stored in fx->Resource btw
[21:01:26] <Avenger> i forgot what is modalspell
[21:02:05] <Avenger> does anything set it already?
[21:02:36] <Avenger> if not, then probably the effect should do that, instead of being generic
[21:03:48] <Avenger> oh i see, it is the one used for turn/hide etc
[21:03:55] <lynxlynxlynx> the original bardsong was hardcoded
[21:03:58] <Avenger> ok, then the stuff that sets it, should check for the effect
[21:04:09] <Avenger> where it sets the bardsong
[21:04:15] <Avenger> it should query the effect
[21:04:17] <lynxlynxlynx> ok, solved :)
[21:04:23] <Avenger> and if there is an effect, it should set that
[21:04:53] <Avenger> i don't even remember if it is script or C++
[21:05:24] <lynxlynxlynx> c++, we have it in a table
[21:05:30] <lynxlynxlynx> next issue
[21:06:14] <lynxlynxlynx> i was trying to make the soul eater spell from iwd/iwd2 work and it took me and fuzzie most of yesterday to get halfway :s
[21:06:34] <Avenger> ahh it is in guiscript
[21:07:11] <Avenger> are you sure it is c++ ???
[21:07:19] <Avenger> it is passed to SetModalState
[21:07:45] <lynxlynxlynx> well, the table is read in the core
[21:08:00] <Avenger> hmm, i hope this can be done via guiscript
[21:08:08] <Avenger> setmodalstate can take a spell resref
[21:08:22] <Avenger> so if the script can query the effect's resource field, it could be scripted
[21:08:47] <Avenger> that would be the best, because it would be guiscript :)
[21:08:52] <lynxlynxlynx> i doubt it can, but that's for later
[21:09:03] <Avenger> well, i would go as far as support it :)
[21:09:40] <lynxlynxlynx> i know, but that i can maybe manage on my own
[21:09:54] <Avenger> we got only counteffects
[21:09:59] <lynxlynxlynx> i need help with this time^Wsoul eater spell
[21:10:03] <Avenger> ok
[21:10:29] <lynxlynxlynx> here's a partial diff of the current wip changes: http://pastebin.com/D8hjm03m
[21:10:29] <Avenger> what's wrong with it? i read you think the projectile is ok
[21:11:29] <lynxlynxlynx> the first obstacle is that it uses the resistance effects to block the main one on undead and others and that that particular effect is checking the targetting wrong (in this case only?)
[21:11:46] <Avenger> hmm, you just set up a default damage there, that itself shouldn't go wrong
[21:11:54] <lynxlynxlynx> debugging that, we also found out that check_iwd_targeting isn't consistent with the return values
[21:12:33] <lynxlynxlynx> then i finally got to see the damage output, but the target was the caster
[21:12:56] <lynxlynxlynx> maybe there's something wrong with the projectile
[21:13:09] <lynxlynxlynx> btw, the resource is spwi619
[21:13:27] <Avenger> i'm sure it shouldn't be inverted like that :)
[21:13:38] <fuzzie> which shouldn't be inverted?
[21:13:47] <lynxlynxlynx> btw2, is there a nicer way to add more effects wrt the bonuses?
[21:13:56] <Avenger> fx_resist_spell_and_damage
[21:13:59] <fuzzie> for check_iwd_targeting, you've got to invert *some* of the callers, which one depends on how you fix check_iwd_targeting
[21:14:35] <Avenger> but he did a major inversion
[21:14:42] <fuzzie> at the moment it returns true on match
[21:14:58] <lynxlynxlynx> i did some other hacks just to try to get to the effect
[21:15:22] <Avenger> I'm sure that negation just caused more inconsistencies
[21:15:24] <fuzzie> and it should return FX_NOT_APPLIED if it *doesn't* match
[21:15:44] <fuzzie> because the whole point of the effect is to FX_ABORT when it matches
[21:16:05] <fuzzie> but in any case, check_iwd_targeting returns true sometimes and false sometimes and really needs a look
[21:16:34] <Avenger> there are several calls to check_iwd_targeting, is that the only place where it should be inverted?
[21:16:37] <fuzzie> and the disassembly of the effect seems to be a huge number of special checks which i don't understand a word of
[21:16:51] <lynxlynxlynx> but maybe some spells use the targetting to limit themselves to the targets, not exclude them like in this case
[21:16:52] <Avenger> you mean the original?
[21:16:54] <fuzzie> i think the other resist_spell callers should be inverted too
[21:17:00] <fuzzie> yes, the original :)
[21:17:24] <Avenger> i fairly understood it, do you read my annotated file?
[21:17:56] <fuzzie> i don't think i have annotated versions for iwd
[21:17:58] <Avenger> lots of the complex checks are only testing animation types from a large hash list
[21:19:36] <fuzzie> ah :)
[21:20:26] <-- cubathy has left IRC (Ping timeout: 240 seconds)
[21:23:14] <-- Gekz has left IRC (Quit: This computer has gone to sleep)
[21:32:06] <CIA-13> GemRB: 03tom.prince * r8ebfe990fc50 10gemrb/gemrb/GUIScripts/ (42 files in 6 dirs):
[21:32:06] <CIA-13> GemRB: GUICommon: Define a GameWindow variable.
[21:32:06] <CIA-13> GemRB: This is so that scripts don't call GemRB.SetVisible directly.
[21:32:08] <CIA-13> GemRB: 03tom.prince * rbcb79eccc19f 10gemrb/gemrb/GUIScripts/ (6 files in 6 dirs):
[21:32:08] <CIA-13> GemRB: GUICommon: Add GameControl variable.
[21:32:08] <CIA-13> GemRB: This is so that scripts don't call SetControlStatus directly.
[21:32:11] <CIA-13> GemRB: 03tom.prince * ra3f1254a743e 10gemrb/gemrb/GUIScripts/ (4 files in 4 dirs):
[21:32:11] <CIA-13> GemRB: GUIScript: Remove last direct uses of metaclass methods.
[21:32:11] <CIA-13> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[21:32:15] <CIA-13> GemRB: 03tom.prince * re9a9d4011187 10gemrb/gemrb/ (6 files in 4 dirs):
[21:32:15] <CIA-13> GemRB: GUIScript: Move metaclass methods out of GemRB to _GemRB.
[21:32:15] <CIA-13> GemRB: This way, they can't be called directly, without contusions.
[21:32:15] <CIA-13> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[21:32:23] <CIA-13> GemRB: 03tom.prince * ra39d77769a50 10gemrb/gemrb/ (53 files in 7 dirs):
[21:32:23] <CIA-13> GemRB: Merge branch 'python'.
[21:32:23] <CIA-13> GemRB: Conflicts:
[21:32:23] <CIA-13> GemRB: gemrb/GUIScripts/iwd/MessageWindow.py
[21:32:25] <CIA-13> GemRB: 03tom.prince * rfcecc0157d3b 10gemrb/gemrb/ (GUIScripts/GUIClasses.py plugins/GUIScript/GUIScript.cpp):
[21:32:25] <CIA-13> GemRB: GUIScript: Rename all metaclass methods as Class_Method.
[21:32:25] <CIA-13> GemRB: The old naming was completely inconsistent. This makes the C++ naming
[21:32:25] <CIA-13> GemRB: match the python naming.
[21:32:26] <CIA-13> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[21:33:02] <lynxlynxlynx> aah
[21:33:50] <lynxlynxlynx> the projectile does indeed only target the caster - if i move near the target, i can get it into the 10' range and the damage is applied to it aswell
[21:34:04] --> cubathy has joined #GemRb
[21:34:34] <lynxlynxlynx> first soul eater kill, but no stat gain and no zombie hehe
[21:35:22] <Avenger> hmm, so the projectile is buggy?
[21:35:50] <Avenger> sounds like it has no range
[21:37:21] <lynxlynxlynx> it does have range, i didn't target directly, but the area
[21:37:37] <lynxlynxlynx> oh, effect vs projectile
[21:37:47] <lynxlynxlynx> range should be visual sight
[21:37:52] <lynxlynxlynx> 30 iirc
[21:38:06] <Avenger> this is a complex area affecting spell, could be wrong :)
[21:38:34] <Avenger> the projectile is an ugly hardcoded mess in iwd2
[21:41:44] <Avenger> the projectile itself affects the caster, i think the spell should exclude it, or i flunked it
[21:42:10] <Avenger> seater.pro has no caster filtering
[21:42:40] <lynxlynxlynx> the spell description doesn't mention avoiding the caster, but i haven't checked ingame
[21:43:32] <Avenger> but it has range
[21:43:58] <Avenger> so if you target it to a remote point, it should affect an area centered on that point
[21:45:16] <fuzzie> the flags all seemed fine, but i said earlier, i would add some printfs in SecondaryTarget to be sure
[21:50:57] <Avenger> btw, i dont see why you needed the 3d8 in the code, unless you needed it for HoW
[21:51:22] <Avenger> it looks like iwd2 doesn't use any special opcode
[21:52:04] <lynxlynxlynx> yes, it knows the damage type
[21:52:44] <Avenger> yes
[21:53:04] <Avenger> it handles the whole crap in the generic damage opcode
[21:53:06] <lynxlynxlynx> but how does use the effect and has that param at 0
[21:53:09] <lynxlynxlynx> i'll fix the comment
[21:53:23] <Avenger> ?
[21:53:53] <lynxlynxlynx> it said both iwd1 and iwd2
[21:54:04] <lynxlynxlynx> in my wip copy
[21:54:06] <Avenger> damage effect has the 3d8 in the dice size/count
[21:54:15] <Avenger> not in param1
[21:54:19] <lynxlynxlynx> yes, that's fine
[21:54:28] <lynxlynxlynx> disregard :)
[21:55:04] <Avenger> ok, i gotta sleep :)
[21:55:08] <Avenger> see you later
[21:55:12] <-- Avenger has left IRC (Quit: bye!)
[21:55:47] <tomprince> Would it make sense to do 'from GemRB import *', rather than trying prefixing GemRB to commands from the console?
[21:56:14] <lynxlynxlynx> isn't that less pythonic?
[21:56:42] <lynxlynxlynx> it's a real pain to do code sharing in python if you want to do it the c way
[21:57:00] <lynxlynxlynx> so maybe we should be moving to doing it more like they want us to
[21:57:08] <tomprince> Well, I don't think prefixing 'GemRB.' to commands entered from the console is terribly pythonic.
[21:57:10] <lynxlynxlynx> and that would mean more modularisation
[21:57:15] <fuzzie> yeah, the console prefix is a hack
[21:57:21] <lynxlynxlynx> oh, that
[21:57:21] <tomprince> I am fine with more modularization.
[21:57:37] <fuzzie> if import * works, it sounds like a good idea
[21:57:43] <tomprince> I think more modularization is a good idea.
[21:58:57] --> Gekz has joined #GemRb
[21:58:59] <-- Gekz has left IRC (Changing host)
[21:58:59] --> Gekz has joined #GemRb
[22:03:06] <-- cubathy has left IRC (Ping timeout: 258 seconds)
[22:07:07] <CIA-13> GemRB: 03tom.prince * r74cbf73af118 10gemrb/gemrb/plugins/GUIScript/GUIScript.cpp:
[22:07:07] <CIA-13> GemRB: GUIScript: Do 'from GemRB import *' on console.
[22:07:07] <CIA-13> GemRB: This replaces the 'GemRB.' prefix hack.
[22:07:07] <CIA-13> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[22:07:09] <CIA-13> GemRB: 03tom.prince * r2851fba2028b 10gemrb/gemrb/plugins/GUIScript/ (GUIScript.cpp GUIScript.h):
[22:07:09] <CIA-13> GemRB: GUIScript: Get GUIClasses directly from module, rather than __main__.
[22:07:09] <CIA-13> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[22:11:04] <lynxlynxlynx> fuzzie: if that target->Damage call kills the target, when the next statement is run, the dead state isn't set yet
[22:11:19] <lynxlynxlynx> can i just check its internalflags instead?
[22:11:29] <fuzzie> yes
[22:11:56] <fuzzie> although i should check with Avenger where we should be doing that
[22:13:28] <-- kettuz has left IRC (Quit: Leaving)
[22:15:06] <-- Nomad010 has left IRC (Ping timeout: 245 seconds)
[22:17:15] <lynxlynxlynx> hmpf, it's protected
[22:17:51] <lynxlynxlynx> good night
[22:18:15] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:19:37] --> Nomad010 has joined #GemRb
[22:46:08] <-- Gekz has left IRC (Quit: This computer has gone to sleep)
[23:24:41] --> Gekz has joined #GemRb
[23:35:40] <-- barra_library has left IRC (Quit: Verlassend)