#gemrb@irc.freenode.net logs for 2 Jun 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:21:23] --> _pickle has joined #GemRb
[00:21:43] <-- Maighstir has left #GemRb
[01:19:20] --> Gekz has joined #GemRb
[01:30:07] <-- _pickle has left IRC (Ping timeout: 252 seconds)
[01:30:23] --> _pickle has joined #GemRb
[01:30:47] <-- _pickle has left IRC (Remote host closed the connection)
[01:33:10] --> _pickle has joined #GemRb
[01:46:39] <-- Gekz has left IRC (Quit: This computer has gone to sleep)
[02:13:24] --> budlust has joined #GemRb
[02:40:46] --> Gekz has joined #GemRb
[02:45:39] <-- _pickle has left IRC (Remote host closed the connection)
[03:57:12] <-- Gekz has left IRC (Quit: This computer has gone to sleep)
[04:22:38] --> raevol has joined #GemRb
[05:28:40] <-- raevol has left IRC (Quit: Leaving.)
[06:01:15] --> cubathy has joined #GemRb
[06:30:54] --> pupnik has joined #GemRb
[06:31:03] <pupnik> moin
[07:09:22] <pupnik> does death mean we should take life seriously or lightly?
[07:10:00] <tomprince_loki> Random thought: Move all guiscript documentation to python docstrings, and then generate stuff from there.
[07:10:17] <tomprince_loki> pupnik: From a certain point of view, those are the same thing.
[07:10:55] <pupnik> well said
[07:14:07] <pupnik> traumahaha
[07:36:44] <-- budlust has left #GemRb
[07:37:33] <edheldil> tomprince_loki: that was my preference, but Avenger was against that because he wanted to stuff examples etc to docs, but maybe they could be easily there too.
[07:38:00] <edheldil> eh, replace some commas with periods :)
[07:38:10] <tomprince_loki> I am fine with examples and things in the docstrings.
[07:38:42] <tomprince_loki> My thought was to move all the docs from txt files into the the docstrings, fixing them as they are moved.
[07:39:09] <tomprince_loki> Then write something to read them back out and spit out txt files.
[07:39:36] <tomprince_loki> That bit wouldn't be too hard, once we get a minimal data set that can get through Interface::Init.
[07:39:57] <edheldil> but if you leave examples out, you face the same risk of them becoming obsolete, no? Btw, that is the reason for MD5 checksums, to warn when the docstring changes
[07:40:59] <edheldil> no idea how is minimal data set relevant to guiscript docs?
[07:41:24] <tomprince_loki> Because we can then launch gemrb, and use python to query all the docstrings.
[07:42:07] <tomprince_loki> So we can generate docs, much like the doxygen docs.
[07:42:11] <edheldil> it's actually easy to just parse them out from c++ file
[07:42:22] <edheldil> or rather grep them out
[07:43:13] <edheldil> especially if you do not treat them as comments, not strings
[07:47:13] <tomprince_loki> Well, I was just thinking that with things being more broken up, it might be easier to get python to figure out the name of everything.
[07:48:08] <tomprince_loki> But I'll admit I haven't thought deeply on this.
[07:51:22] <tomprince_loki> Mostly, I just noticed that the docs didn't really mention the metaclasses at all, and I didn't fix it when I made all the non-metaclass reference stop working, and was wondering how to fix things so documentation was all in one place.
[07:56:52] <edheldil> it could be certainly generated from docstrings. I also used to add doxygen-parseable comments to the code, which unfortunately was not compatible with the docstrings :/
[07:59:54] <tomprince_loki> I think docstrings and doxygen are mutually exclusive in usefulness. If we want to call it from python, then we probably don't need to call it from C++, and so don't need a doxygen.
[08:00:24] <tomprince_loki> Although, you might be able to to teach doxygen to read docstrings.
[08:02:35] <edheldil> doxygen comments are not visible from c++, because they are just comments.
[08:02:47] <edheldil> that would be probably best
[08:03:16] <edheldil> I mean, reading docstrings by doxygen would
[08:05:30] <tomprince_loki> Well, I'll add moving the docs to my todo. :)
[08:07:52] <tomprince_loki> My ever growing todo.
[08:07:59] * tomprince_loki shakes head wryly.
[08:12:40] <pupnik> any relation to loki games tomprince_loki ?
[08:14:16] <-- tomprince_loki has left IRC (Ping timeout: 245 seconds)
[08:18:22] <pupnik> i want to see more racoon comics
[08:22:56] <fuzzie> pupnik: do you know if anyone tried the latest openal soft releases on maemo?
[08:23:08] <fuzzie> (anything from this year)
[08:23:44] <fuzzie> i'm just curious because it's 8.1 floating point now and seems *terribly* slow for me on ARM, but i don't have VFP
[08:24:54] <pupnik> ick
[08:25:54] <pupnik> version 1:1.10.622-1 fuzzie
[08:27:57] <fuzzie> ok. that is 2009-11-09, and these changes were in December
[08:28:13] <fuzzie> if you hear of anyone using a newer build i would like to hear :)
[08:29:55] <fuzzie> because it seems everyone has given up on other openal implementations :(
[08:37:40] <pupnik> hmm
[08:38:52] <pupnik> lets ignore it until it is a problem
[08:39:15] <pupnik> i still havent gotten an oprofile kernel on here yet either
[08:46:20] --> Maighstir|work has joined #GemRb
[08:47:41] <-- |Cable| has left IRC (Remote host closed the connection)
[08:54:23] --> lynxlynxlynx has joined #GemRb
[08:54:23] --- ChanServ gives channel operator status to lynxlynxlynx
[10:28:48] <fuzzie> morning
[10:28:57] <wjp> hi
[10:30:20] <fuzzie> oh, i was already here :)
[10:30:29] <fuzzie> well, afternoon, in that case
[10:34:06] --> Maighstir has joined #GemRb
[11:06:35] <edheldil> :)
[11:18:48] <fuzzie> oh, i have a gemrb stash with all sorts of things i thought i committed
[11:19:06] <lynxlynxlynx> i worry about the poison when it is passed the duration in turns, but it turned out this just crashes in the original :)
[11:19:23] <lynxlynxlynx> at least in bg2 that is
[11:19:58] <fuzzie> that is 5?
[11:20:02] <lynxlynxlynx> yep
[11:20:19] <fuzzie> it asserts for everything >4, from memory
[11:22:03] <fuzzie> yes; 0-4 is accepted, >4 jumps to an assertion
[11:23:50] <fuzzie> disease takes 0-10, i guess exactly as we have it
[11:24:44] <fuzzie> iwd2's poison takes 2-8
[11:26:19] <fuzzie> but the iwd2 turn code is clearly 7 rounds of 7 seconds..
[11:26:33] <fuzzie> so 30 makes not much sense there either
[11:26:36] <lynxlynxlynx> how also has 7s rounds
[11:30:03] <-- pupnik has left IRC (Quit: Lost terminal)
[11:30:22] <fuzzie> how seems to only do 0-3, but no nice Avenger decoding for that
[11:31:31] <fuzzie> i assume how/pst/bg1 all only handle 0-3 though
[11:34:04] --> puphome has joined #GemRb
[11:34:11] <fuzzie> tomprince: i am getting truncated names, i guess ResourceManager::GetResource shouldn't be doing %.8s now you're passing paths to it?
[11:35:20] <lynxlynxlynx> are you sure you have the latest code?
[11:35:31] <fuzzie> i just did a new checkout of sourceforge
[11:35:39] <fuzzie> ResourceManager.cpp:125
[11:36:07] <lynxlynxlynx> indeed
[11:36:20] <lynxlynxlynx> it was fixed elsewhere before
[11:36:50] <fuzzie> i get bad output from line 135 too
[11:38:08] <fuzzie> which is .. weird
[11:40:18] <fuzzie> i guess we're probably not null-terminating the input ResRef somewhere
[11:48:06] <fuzzie> indeed not
[11:51:36] <fuzzie> hmm
[11:51:45] <fuzzie> git just exploded on me wheni tried committing that
[11:51:58] <lynxlynxlynx> saying what?
[11:52:04] <fuzzie> i suspect i pushed to a bad branch
[11:52:18] <fuzzie> "fatal: bad object 0000000000000000000000000000000000000000"
[11:52:43] <lynxlynxlynx> ouch
[11:53:33] <fuzzie> yes indeed, i think it pushed to origin/master on sf's side, that was silly
[11:54:51] <fuzzie> let's try that again
[11:55:08] <CIA-24> GemRB: 03fuzzie * rbf54999f2e0d 10gemrb/gemrb/plugins/GUIScript/GUIScript.cpp: fix some dropped resref null terminators
[11:56:22] <lynxlynxlynx> the percentage thing is different in bg2; it does 1hp/s until the duration runs out, seemingly ignoring param1 (tried with it being bigger and smaller than the duration, tried with 100% but no kill, same behaviour)
[11:56:33] <fuzzie> ah, it's the email script which complains about the bad object. it did it again when i deleted the bad branch.
[11:57:45] <fuzzie> that is strange, because the effect definitely does the (maxhp * param1)/100 calculation
[11:57:49] <edheldil> should be harmless
[11:58:46] <lynxlynxlynx> we don't handle type 0, maybe we're off by one in the definitons?
[11:59:05] <lynxlynxlynx> let me check which of the constants this maps to
[11:59:28] <fuzzie> percent is 1
[11:59:55] <lynxlynxlynx> yes
[12:00:25] <lynxlynxlynx> nothing we currently have behaves like my experience
[12:00:51] <fuzzie> the default case is 0, i think
[12:02:44] <fuzzie> bg2 definitely does the calculation in the param1==1 case, and it always constructs the effect
[12:03:47] <lynxlynxlynx> oh, you're right, the default is the same, 1hp/s until expiry
[12:04:05] <fuzzie> for case 0 it does param1 damage, for case 1 it does param1% of maxhp, for case 2 it does 1, for case 3 it does 1, for case 4 it does 1
[12:05:13] <fuzzie> that being just what it stuffs in the 'damage' field of this recurring damage struct
[12:06:38] <fuzzie> so if the param1% of maxhp in your tests is really large enough that it should be doing 2 damage per second, that's weird
[12:06:52] <lynxlynxlynx> 2/RPD_POINTS works like iesdp says
[12:07:03] <fuzzie> this is all completely different for iwd2
[12:07:33] <lynxlynxlynx> first i tried with 50%, but it stayed at 1hp also with 100%
[12:07:49] <lynxlynxlynx> maxhp is 48, so it would have been visible
[12:08:43] <fuzzie> and it'll kill you that way, if you have not enough hp?
[12:09:38] <lynxlynxlynx> probably, the char starts with full hp
[12:09:48] <lynxlynxlynx> type 2 kills just fine though
[12:11:00] <CIA-24> GemRB: 03fuzzie * r061a84e768d7 10gemrb/gemrb/ (4 files in 3 dirs): allow a guessed size to be provided to the Decompress function, avoiding a lot of useless reads/seeks
[12:11:21] <fuzzie> i don't know why i didn't commit that at the time, it makes gemrb loading a *lot* faster for me
[12:12:25] <lynxlynxlynx> cool
[12:13:41] <fuzzie> the old code was just loading a random amount of data from the file, and then seeking back when it inevitably turned out it'd read too much
[12:26:15] <lynxlynxlynx> well, even if i forget about the inconsistency with bg2, the code is bad
[12:26:39] <lynxlynxlynx> dltcep shows a duration of 10 and we compute it as 70
[12:26:55] <lynxlynxlynx> that kills the damage
[12:27:10] <CIA-24> GemRB: 03fuzzie * ra9070031e669 10gemrb/gemrb/core/ResourceManager.cpp: don't truncate output of ResourceManager
[12:27:22] <fuzzie> we compute durations?
[12:27:51] <lynxlynxlynx> for this percentage over time distribution
[12:28:00] <lynxlynxlynx> int seconds = (fx->Duration - core->GetGame()->GameTime) / AI_UPDATE_TIME;
[12:28:45] <lynxlynxlynx> it was correct for the normal effect :s
[12:29:00] <fuzzie> different timing mode?
[12:29:08] <lynxlynxlynx> no
[12:31:42] <fuzzie> strange, that should be fine on FirstApply
[12:32:43] <lynxlynxlynx> it is
[12:33:07] <lynxlynxlynx> i forgot to copy the updated effect into override |8
[12:33:12] <fuzzie> oh :)
[12:34:40] <lynxlynxlynx> the original doesn't do any explicit rounding, right?
[12:35:03] <fuzzie> no
[12:35:06] <lynxlynxlynx> i see a new problem now, you can still save against further applications of the effect
[12:35:24] <fuzzie> oh?
[12:36:17] <lynxlynxlynx> i took 2 damage and then resisted the next round, killing the poison
[12:36:23] <fuzzie> huh
[12:36:25] <fuzzie> what kind of resist?
[12:36:40] <lynxlynxlynx> will need to check
[12:38:02] <lynxlynxlynx> eh
[12:38:09] <fuzzie> that is also strange, any immunity which kills the effect shouldn't be checked on further applications
[12:38:28] <fuzzie> as opposed to the ModifyDamage stuff which i don't know anything about
[12:38:33] <lynxlynxlynx> i did a mistake, nevermind
[12:42:13] <CIA-24> GemRB: 03lynxlupodian * r1b4c97003721 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp: fixed the percentage damage/heal in a few effects
[12:42:23] <edheldil> according to 3e rules, you get a second save after 2 minutes ;-)
[12:50:11] <lynxlynxlynx> hmm
[12:50:43] <lynxlynxlynx> if you have a container open, all the incoming messages will be ignored (i guess the message window is unloaded)
[12:51:51] <fuzzie> it is actually worse than that
[12:52:21] <fuzzie> the guiscript OpenContainerWindow function is setting the MessageWindow to -1
[12:52:32] <fuzzie> i really don't understand why
[12:53:40] <fuzzie> Avenger added it as part of some commit fiddling with empty containers/groundpiles
[12:54:12] <fuzzie> i would suggest removing the relevant lines and seeing what happens
[12:55:00] <fuzzie> i assume it is an attempt to hide the message window, but we can surely do that properly
[12:56:36] <edheldil> probably the reason was to allow container window to replace message window, else they would get stacked or st. like that
[12:57:42] <lynxlynxlynx> with that commented out, only the actionbar gets updated
[12:58:01] <lynxlynxlynx> maybe there's a race with the incoming messages
[12:59:07] <lynxlynxlynx> nope
[12:59:55] <fuzzie> you commented out lines 209 and 115?
[13:02:11] <fuzzie> if so, i guess the message window really is unloaded
[13:02:25] <lynxlynxlynx> only 209
[13:02:50] <lynxlynxlynx> retrying
[13:03:19] <lynxlynxlynx> same thing
[13:04:38] <fuzzie> Interface.cpp:4054 is the check
[13:04:58] <fuzzie> it should get there, but then fail the 'if (win)', i guess
[13:11:39] <-- Maighstir has left IRC (Quit: Maighstir)
[13:12:07] <lynxlynxlynx> depends on which state you mean
[13:12:17] <lynxlynxlynx> with the comments, all that works
[13:14:12] <fuzzie> strange, then
[13:14:27] <lynxlynxlynx> why?
[13:14:47] <fuzzie> well, if all that works, it would get all the way to adding the messages, no?
[13:14:56] <lynxlynxlynx> with the comments the message window is there, it is the container window that is partly missing
[13:15:02] <lynxlynxlynx> yes and it does
[13:15:10] <fuzzie> oh, i see
[13:16:25] <fuzzie> you should just be able to do SetVisible on it, to fix that
[13:16:53] <fuzzie> but i guess ShowGUI is all complicated
[13:17:48] <fuzzie> but i would try just setting it invisible at the bottom there, after the UnhideGUI
[13:18:31] <fuzzie> meh
[13:18:39] <fuzzie> ok. i don't know. i go get some coffee.
[13:36:46] <lynxlynxlynx> it works but it isn't enough unless you have the smallest size message window
[13:37:34] <lynxlynxlynx> looks like we'll need to store the current size to be able to properly restore it
[15:13:06] --> kettuz has joined #GemRb
[15:14:19] <-- kettuz has left IRC (Client Quit)
[16:34:08] --> Gekz has joined #GemRb
[16:34:31] --> kingron has joined #GemRb
[16:54:26] <-- kingron has left IRC (Quit: Leaving)
[16:58:18] --> tombhadAC has joined #GemRb
[17:33:34] --> |Cable| has joined #GemRb
[17:39:49] <-- Gekz has left IRC (Quit: Leaving)
[18:00:51] <-- cubathy has left IRC (Ping timeout: 276 seconds)
[18:02:52] <CIA-24> GemRB: 03tom.prince * ra12422b51ca6 10gemrb/gemrb/ (5 files in 4 dirs):
[18:02:52] <CIA-24> GemRB: Button: Add separate event handler for dropping portraits.
[18:02:52] <CIA-24> GemRB: Use separate event, rather than magic names.
[18:02:52] <CIA-24> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[18:03:37] --> tombhad-AC has joined #GemRb
[18:05:35] <-- tombhadAC has left IRC (Ping timeout: 240 seconds)
[18:27:27] --> budlust has joined #GemRb
[18:31:40] --> cubathy has joined #GemRb
[18:45:22] <-- budlust has left IRC (Ping timeout: 276 seconds)
[19:15:56] <-- tomprince has left IRC (Ping timeout: 245 seconds)
[19:44:18] --> budlust has joined #GemRb
[20:04:07] <-- budlust has left IRC (Read error: Operation timed out)
[20:10:24] --> Maighstir has joined #GemRb
[20:58:00] --> tomprince has joined #GemRb
[21:17:14] <-- Maighstir has left IRC (Quit: Maighstir)
[22:11:53] <-- tombhad-AC has left IRC (Quit: Verlassend)
[22:13:31] <-- lynxlynxlynx has left IRC (Remote host closed the connection)