#gemrb@irc.freenode.net logs for 29 Jul 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:54:07] <-- Edheldil has left IRC (Ping timeout: 248 seconds)
[00:54:21] --> Edheldil has joined #GemRb
[00:54:21] --- ChanServ gives channel operator status to Edheldil
[03:50:28] --> raevol has joined #GemRb
[05:15:47] <-- raevol has left IRC (Quit: Leaving.)
[05:52:09] --> lynxlynxlynx has joined #GemRb
[05:52:09] --- ChanServ gives channel operator status to lynxlynxlynx
[06:04:27] <lynxlynxlynx> nice work :
[07:36:07] <-- |Cable| has left IRC (Remote host closed the connection)
[07:47:16] --> SiENcE has joined #GemRb
[08:21:57] <-- SiENcE has left IRC (Read error: Connection reset by peer)
[08:40:08] <fuzzie> the way the inventory updates to the 'picked up item' state *after* you dropped the item is starting to drive me mad
[08:43:57] <fuzzie> i know the reason for effects, but it's doing the same for encumbrance, which turns out to be calculated in Map::UpdateScripts :(
[08:44:29] <fuzzie> although it doesn't matter because i can load characters up with many times their max encumbrance, hoorah
[09:07:08] --> SiENcE has joined #GemRb
[09:37:28] <Edheldil> i have temporarily added a primitive caching of bif files to iesh and iteration over all ITMs in bg1 accelerated ~ tenfold.
[09:37:58] <fuzzie> now add one to gemrb? :-)
[09:37:59] <Edheldil> since they are all in one bif
[09:38:03] <fuzzie> but neat
[09:38:52] <fuzzie> i think when we're looking for things, it's usually in one bif..
[10:53:02] --> Maighstir_laptop has joined #GemRb
[11:22:09] <-- Maighstir_laptop has left IRC (Ping timeout: 240 seconds)
[11:22:52] --> Maighstir_laptop has joined #GemRb
[11:24:45] <fuzzie> oh i see, that Disabled stuff is new
[11:24:51] <fuzzie> no wonder i hadn't noticed it before :)
[11:27:18] <fuzzie> ok, reviewed all those commits
[11:59:07] <Maighstir_laptop> Don't know if it's needed anymore, but I took a couple reference shots comparing infravision and non-infravision in the original engine (I chose Baldur's Gate 1 though I have all games available): http://imgur.com/qoEQc&IYUFMl http://imgur.com/qoEQcl&IYUFM.
[11:59:32] <fuzzie> interesting
[11:59:54] <fuzzie> the real question was whether they were brightened beyond daytime brightness
[12:00:12] <fuzzie> or whether they were simply tinted red
[12:00:25] <fuzzie> and that does make it look like they're just tinted red :)
[12:03:21] <lynxlynxlynx> i think bg2 tints the whole view range
[12:03:52] <fuzzie> when i tried ToB in wine, it was even less pronounced than those bg1 shots
[12:04:19] <lynxlynxlynx> there are two kinds of infravision
[12:04:19] <fuzzie> but i don't trust any results from wine any more, so not very helpful
[12:04:45] <fuzzie> i should say, i was trying native infravision, not the state :)
[12:04:53] <lynxlynxlynx> iirc half-elves get limited infravision (but it may just be a range limit)
[12:05:13] <lynxlynxlynx> the other races get it full
[12:05:19] <fuzzie> there seemed to difference between elves and half-elves at close range
[12:05:22] <fuzzie> no difference
[12:05:26] <fuzzie> but i couldn't really work it out
[12:05:26] <lynxlynxlynx> and the spell may do it a third way, but i doubt it
[12:05:34] <lynxlynxlynx> cool
[12:05:46] <lynxlynxlynx> much of these racial boni were not implemented
[12:06:55] <lynxlynxlynx> for something as obscure as infravision, i don't think it is worth copying their hardcodedness and just use a spell and extend the effect to allow it
[12:07:26] <fuzzie> well, i'm not sure how to do it and keep save game compatibility
[12:07:51] <fuzzie> but i didn't look at it
[12:08:02] <fuzzie> got distracted with yet more effect queue bugs, as you maybe saw
[12:09:37] <lynxlynxlynx> aha
[12:10:03] <lynxlynxlynx> well, i was saying that compatibility is not that important in this instance
[12:11:02] <lynxlynxlynx> only original->gemrb moves would lose the infravision, while gemrb saves would still work in the original
[12:11:51] <fuzzie> well, i don't know much about it; there aren't any other hard-coded racial boni which we need to handle in-engine?
[12:13:33] <fuzzie> but i am also not worrying about it
[12:13:56] <lynxlynxlynx> the bow/swords bonus can be dealt with effects too, the charm immunities weren't implemented in the original bg2 and i think the same for the dwarven bonus vs giantkin (which could again be done via effects); the saves vs spell/poison was externalised already in the original and we handle it
[12:13:59] <fuzzie> i am honestly not going to get any of my big patches merged until the 12th, probably, and there are enough minor bugs to prod at before then
[12:14:37] <lynxlynxlynx> what happens on the 12th?
[12:15:18] <fuzzie> i have exams on 9th/10th/11th and morning of 12th
[12:15:34] <lynxlynxlynx> each day??
[12:16:11] <lynxlynxlynx> you should work on project planning software instead :P
[12:16:51] <fuzzie> yes; they spread the per-year exams between three weeks of august, and i just have the very bad luck of needing to take 1st, 2nd and 3rd year exams which fall into one week
[12:18:35] <fuzzie> so in bg1 in gemrb, my screen goes red when i stand in shadows
[12:19:09] <fuzzie> oh, this unidentified helmet is infravision.
[12:19:34] <lynxlynxlynx> there's only one round of these exams?
[12:19:41] <lynxlynxlynx> heh
[12:33:15] <fuzzie> hm
[12:33:21] <fuzzie> in gemrb, Jaheira's spell book is inaccessible?
[12:35:18] <fuzzie> ah, bg2's GUIPR has a "# also check the DRUIDSPELL column" comment
[12:38:53] <lynxlynxlynx> this is a bit annoying
[12:38:57] <fuzzie> that fix and the experience screen labels fix maybe also need applying to iwd?
[12:39:02] <lynxlynxlynx> the table structure is different in the games
[12:39:16] <CIA-27> GemRB: 03fuzzie * r3d52d6e95f59 10gemrb/gemrb/GUIScripts/bg1/GUIPR.py: add GUIPR DRUIDSPELL fix to bg1
[12:39:17] <lynxlynxlynx> and then we use this info in the core to determine classes (or atleast used to)
[12:39:30] <fuzzie> i am just applying it as a "hey, now it works for all the bg1 NPCs i checked" fix
[12:39:31] <lynxlynxlynx> iwd is fine wrt the labels
[12:40:41] <fuzzie> bg1's labels are broken
[12:43:07] <fuzzie> so it seems strange that it would work in iwd
[12:45:44] <lynxlynxlynx> it was broken in the sense of rearranged?
[12:46:02] <fuzzie> yes
[12:46:33] <lynxlynxlynx> i've rechecked and it is fine
[12:46:50] <fuzzie> well, that makes it easier :)
[12:46:58] <fuzzie> thanks
[12:47:11] <CIA-27> GemRB: 03fuzzie * rcbac3bd1127d 10gemrb/gemrb/GUIScripts/bg1/GUIREC.py: apply experience label rearranging to bg1, too
[12:47:40] <lynxlynxlynx> 17/29% total xp (unless this was meant to be an absolute value)
[12:48:25] <fuzzie> for bg1/bg2, i just checked immediately after a chapter change, and there the 0 values make it very obvious if they're arranged wrongly
[12:48:28] <lynxlynxlynx> but the value is fine and i don't know what the original did
[12:49:15] <lynxlynxlynx> the arrangement is ok and only the two percentages could be off, but i doubt it (this save is early into the chapter too)
[12:53:40] <fuzzie> i should just add a debug key which labels everything with the control id, i guess
[12:57:18] <lynxlynxlynx> would be useful, yes
[12:57:38] <lynxlynxlynx> especially nine years ago
[12:58:03] * lynxlynxlynx tries to imagine all the boring work that went into setting up all the windows
[13:02:46] <Gekz> yes well
[13:02:51] <Gekz> I'm enjoying repairing a computer of rootkits
[13:02:52] <Gekz> >_>
[13:03:09] <-- Maighstir_laptop has left IRC (Ping timeout: 240 seconds)
[13:34:09] <lynxlynxlynx> some of the innates are hardcoded too
[13:35:13] <lynxlynxlynx> explains jaheira not having the polymorphs in tob
[14:05:58] <lynxlynxlynx> when polymorphed, the cre and co are looked up all the time
[14:06:12] <lynxlynxlynx> i guess every fx refresh
[14:18:13] <fuzzie> yes
[14:18:18] <fuzzie> sorry, that is what is meant by 'caching' in backscroll
[14:18:29] <fuzzie> i'll make it work later, if no-one else does
[14:19:28] <lynxlynxlynx> i'm playing with an avenger and apparently his forms suck, since the spells don't give the "get-me-back-to-human-form" spell when used :)
[14:20:14] <fuzzie> i was pretty impressed to find that wasn't hard-coded
[14:22:09] <lynxlynxlynx> hmpf, the .spl has that effect
[14:22:16] <fuzzie> which .spl is it?
[14:22:36] <lynxlynxlynx> it's spl644 / 3
[14:22:46] <lynxlynxlynx> something is fishy though, so don't look yet
[14:22:51] <fuzzie> ok :)
[14:23:15] <fuzzie> i mean, it's probably something you can work out, just curious
[14:23:22] <lynxlynxlynx> it worked (in general) in the original save i have with jaheira
[14:23:50] <fuzzie> i managed to make it break with jaheira, i think by changing from one form to another
[14:24:23] <lynxlynxlynx> yeah
[14:28:49] <-- CIA-27 has left IRC (Ping timeout: 245 seconds)
[14:29:30] <fuzzie> the guiscript looks up the paperdoll using IE_ANIMATION_ID, i am happy to see
[14:32:22] <fuzzie> so surely something to be done there
[14:46:59] <lynxlynxlynx> hmpf, i'm sure i already did this once
[14:47:09] <lynxlynxlynx> setting the max innate count helped
[14:48:50] <lynxlynxlynx> indeed, avenger removed it in 0f3a398
[14:50:49] <lynxlynxlynx> it is hitting the sorcerer check when trying to memorize otherwise
[14:54:34] <lynxlynxlynx> that fixed both my issues :)
[14:55:46] <fuzzie> :)
[14:56:43] <lynxlynxlynx> i first did the slayer and then started debugging why the memorization didn't happen
[14:56:50] <fuzzie> although i guess that should be fixed in core
[14:56:57] <lynxlynxlynx> pretty coincidence that it was the same thing
[14:57:18] <lynxlynxlynx> i'm not so sure
[14:57:36] <fuzzie> there's a need to have a limit on innates?
[14:57:56] <lynxlynxlynx> the code now supposedly allows for innate sorcerer style casting
[14:58:19] <lynxlynxlynx> no, but it is checked for this sorcerer stuff
[15:01:58] --> CIA-24 has joined #GemRb
[15:05:13] <fuzzie> meh, the existing debug toggles are internal to gamecontrol
[15:05:45] <fuzzie> so that gets postponed, too
[15:11:14] <lynxlynxlynx> the inventory doll doesn't work, since the table is incomplete
[15:12:32] <lynxlynxlynx> it has only the playable races
[15:13:04] <fuzzie> well, i mean, there's a comment in fx_polymorph about it, but since the guiscript is using IE_ANIMATION_ID, it is not the core's problem, i hope?
[15:13:35] <lynxlynxlynx> it is not, the pdolls table is incomplete
[15:13:47] <lynxlynxlynx> you can remove that comment, i added it
[15:15:49] <lynxlynxlynx> and while we're at polymorph, you shouldn't be able to talk when transformed either
[15:16:44] <fuzzie> just add a IE_POLYMORPHED check to the "state & STATE_CANTMOVE" check in GameControl
[15:17:00] <fuzzie> checks, i should say
[15:17:22] <fuzzie> assuming it's just a GUI restriction
[15:18:20] <fuzzie> hmm
[15:18:25] <fuzzie> ok, polymorph is meant to do a lot more, i guess
[15:19:23] <lynxlynxlynx> for sure
[15:20:15] <fuzzie> remove magic item, copy priest/wizard/innate spells, the soundset, disabling all spells, colours/gradients..
[15:20:43] <lynxlynxlynx> you can't cast while polymorphed iirc
[15:21:14] <fuzzie> yes, the 'disabling all spells' bit makes the earlier a bit odd :P
[15:21:45] <fuzzie> just wondering what we need to cache, exactly
[15:21:45] <lynxlynxlynx> i'm not so sure
[15:22:08] <lynxlynxlynx> none of the forms you can morph to have their own spells?
[15:22:11] <fuzzie> i would prefer to just copy the stuff the effect needs into a struct, and discard the creature
[15:22:56] <lynxlynxlynx> must try the level 9 polymorph sometime (dragon, beholder)
[15:24:06] <fuzzie> the shapeshifter rebalancing lets you cast your own spells, i seem to remember
[15:24:29] <lynxlynxlynx> optionally
[15:30:46] <fuzzie> but i can't find any mention of PC polymorphs being able to cast spells
[15:30:56] <fuzzie> but am sure i don't know anything about it
[15:38:58] <-- CIA-24 has left IRC (Ping timeout: 260 seconds)
[15:50:25] --> Avenger has joined #GemRb
[15:50:29] --- ChanServ gives channel operator status to Avenger
[15:50:37] <Avenger> lynx, instead of using 1, check if mychar == 1
[15:51:24] <lynxlynxlynx> ok, it's a bit prettier
[15:56:55] <lynxlynxlynx> cool, all the paperdolls in one doc
[15:57:39] <fuzzie> hi Avenger
[15:58:32] <Avenger> hi
[16:00:36] <-- Avenger has left IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716])
[16:00:40] <fuzzie> oh
[16:02:05] <fuzzie> well, anyway, i guess Avenger has a commented disassembly of the polymorph opcode
[16:02:18] <fuzzie> so it is probably most efficient to get him to finish commenting that
[16:07:45] <fuzzie> but i don't see anything which we can't fit in a struct
[16:14:36] --> Avenger has joined #GemRb
[16:14:40] --- ChanServ gives channel operator status to Avenger
[16:15:01] <Avenger> fuzzie, you would be surprised, i just work on commenting the polymorph opcode :P
[16:15:39] <Avenger> the tobex source code contains lots of mapping info, btw
[16:17:03] <fuzzie> cool
[16:17:58] <-- SiENcE has left IRC (Quit: @all: cya)
[16:20:42] --> CIA-26 has joined #GemRb
[16:21:41] <Avenger> hmm the polymorphed stat is truly set only when it copies stats
[16:22:15] <fuzzie> i noticed that :)
[16:24:23] <fuzzie> ok, back in a couple of hours
[16:35:36] <CIA-26> GemRB: 03lynxlupodian * r2f28adb43c79 10gemrb/gemrb/override/bg2/pdolls.2da:
[16:35:36] <CIA-26> GemRB: bg2: added the rest of the pdolls animations
[16:35:36] <CIA-26> GemRB: they're not displayed properly in the inventory yet though
[16:35:36] <CIA-26> GemRB: possibly more animation ids need to bind to them
[16:37:21] <lynxlynxlynx> i guess the drawing problem is that most of them are not palleted
[16:39:53] <Avenger> we need a better code than this :)
[16:40:44] <Avenger> you could read avatars.2da
[16:40:59] <Avenger> or, maybe not even read, but use CharAnimations
[16:41:17] <Avenger> the 'inv' just needs to be added to the animation prefix
[16:42:03] <Avenger> avatars.2da also contains the info about clown color/valid palette
[16:46:10] <lynxlynxlynx> you actually started pdolls as an avatars ripoff
[16:47:58] <Avenger> maybe it was not a good idea
[16:49:54] <Avenger> fuzzie, at which level jaheira can shapechange?
[16:50:17] <lynxlynxlynx> we don't handle that yet
[16:50:24] <lynxlynxlynx> her abilities are hardcoded
[16:50:25] <Avenger> ie does
[16:50:37] <lynxlynxlynx> create a shapeshifter
[16:50:46] <Avenger> hmm jaheira is not good?
[16:50:54] <Avenger> i thought she got some at one point
[16:50:58] <lynxlynxlynx> we don't grant her the spins yet
[16:51:10] <Avenger> but i work on the original O_o
[16:51:46] <lynxlynxlynx> both bears and the wolf spin match directly in the exe
[16:51:59] <lynxlynxlynx> in bg2 she should have them at the start already
[16:52:09] <Avenger> ahh
[16:52:11] <Avenger> i see
[16:52:31] <Avenger> she doesn't have them when she is in the cage?
[16:52:44] <Avenger> she just gainst them via some sinister hardcoded trick?
[16:53:00] <lynxlynxlynx> that's what i think, yes
[16:53:02] <Avenger> that pretty much sucks
[16:53:06] <lynxlynxlynx> same with a few others
[16:54:21] <lynxlynxlynx> spin101-106 (the bhaal powers, also in a table) spin107-111 (various innates like shapechange), spin120-121 (detect evil, prot evil [keldorn?])
[17:04:37] <lynxlynxlynx> well, just catting INV to the end won't work with the current tables. For example check 0x5000: grep 0x5000 gemrb/override/bg2/avatars.2da gemrb/override/bg2/pdolls.2da
[17:05:04] <Avenger> it works with the shapechanges
[17:05:52] <lynxlynxlynx> this is one of them
[17:05:58] <Avenger> 5000?
[17:06:05] <Avenger> hmm, i thought it is an avatar anim
[17:06:14] <lynxlynxlynx> it is
[17:06:24] <lynxlynxlynx> gemrb/override/bg2/avatars.2da:0x5000 CHMB1 CHMB2 CHMB3 CHMC4 0 2 0 L
[17:06:25] <lynxlynxlynx> gemrb/override/bg2/pdolls.2da:0x5000 CHMC1INV CHMC2INV CHMC3INV CHMC4INV L
[17:06:49] <Avenger> then it is not an animal shapechange
[17:07:05] <lynxlynxlynx> it isn't, true
[17:07:13] <Avenger> ?
[17:07:17] <Avenger> ah ok
[17:07:19] <Avenger> )
[17:07:32] <Avenger> so, use pdolls when stuff is tricky
[17:07:43] <Avenger> in the other cases avatars is useful
[17:07:56] <Avenger> so we don't have heaps of tables
[17:08:21] <Avenger> maybe the paperdoll part could be moved into the avatars list too, i just didn't do it because it would mean 4 new columns
[17:08:27] <lynxlynxlynx> it is still trickier than expected
[17:08:32] <Avenger> in about 10% of time
[17:08:38] <Avenger> yeah, it is ugly
[17:08:44] <lynxlynxlynx> 0x7200 is the bear - MBER, but MBER1INV
[17:08:49] <Avenger> oh hmm
[17:08:52] <lynxlynxlynx> err, MBER0INV
[17:09:03] <lynxlynxlynx> 0x7201 MBER has MBER1INV
[17:09:18] <lynxlynxlynx> let me check the other moduli
[17:09:18] <Avenger> hmm yeah, tricky
[17:09:41] <Avenger> we need an interface to charanimations
[17:09:42] <lynxlynxlynx> 0x7E01 MGWEINV <-- nope, not always the last digit
[17:10:56] <Avenger> that 0/1/2 is for palette variations
[17:11:13] <Avenger> for example wolf/spider/bear
[17:11:21] <lynxlynxlynx> the bears are not palleted
[17:11:40] <Avenger> they are
[17:11:42] <lynxlynxlynx> = you can't change the color of the hide via the inventory/records screen color pickers
[17:11:51] <wjp> they're just not clown-coloured
[17:11:54] <Avenger> they are not clown colored
[17:12:00] <lynxlynxlynx> oh
[17:12:06] <Avenger> but they got separate bmp based palettes
[17:12:31] <Avenger> see the palette column in avatars.2da
[17:12:39] <Avenger> sadly this stuff is difficult to use
[17:13:06] <Avenger> because an avatars.2da row doesn't determine the paperdoll alone
[17:13:36] <Avenger> you would need to know if it is a paletted set, like bear/wolf/spider where there is one bam and several palettes
[17:14:11] <Avenger> so we cannot really avoid adding everything to pdolls :(
[17:15:29] <Avenger> it sucks they couldn't find simple formulaic approach. They got all this hardcoded for each animation
[17:16:24] <lynxlynxlynx> maybe we just don't know it yet, but then it would be pretty complex
[17:19:38] <wjp> the original binaries have huge switches for animations
[17:20:15] <Avenger> yes, i think they contain the paperdoll prefixes hardcoded, but without the 'inv'
[17:20:39] <Avenger> for example 'mspi3'
[17:21:34] <Avenger> there is mspi3.2da and mspi3inv.bam
[17:23:29] <CIA-26> GemRB: 03lynxlupodian * r281f6d394b36 10gemrb/gemrb/override/bg2/pdolls.2da: bg2/pdolls.2da: ups, two wrong anim ids
[17:25:16] <lynxlynxlynx> since the amount of these is pretty small, why don't we just add another column to the avatars table with the inventorial bam?
[17:30:33] <lynxlynxlynx> we don't have any gs interface to get the colors from the pallete though
[18:01:54] <Avenger> another column would still mean one field for every animation
[18:02:00] <Avenger> and i'm not sure one column is enough
[18:02:28] <Avenger> they got armorlevel
[18:09:06] <lynxlynxlynx> i meant to leave those in pdolls
[19:23:10] <fuzzie> i still wonder if we can't get rid of all the stupid stuff in charanimations and make it all 2da-driven
[19:26:06] <fuzzie> but there's way too many special cases to do it all :(
[19:27:35] <fuzzie> but you could change most of the functions to simply be a line of code plus a lookup in a table..
[19:28:09] <fuzzie> looking at this again, i don't understand why we don't just support the PS:T anims
[19:30:51] <fuzzie> an extra ~5k of memory per actor, even if you have 100 actors active, is only 100k, and meanwhile we waste tens of megabytes of memory on area stuff
[19:32:50] --> SiENcE has joined #GemRb
[19:34:12] <lynxlynxlynx> the suffix stuff, yes
[19:35:14] <fuzzie> well, there's not much point putting it in a table if we still have to special-case everything
[19:35:17] <fuzzie> so meh
[19:35:20] <lynxlynxlynx> i'm wondering if it'd be simpler to write a mod to convert all the original animations to the most generic out of the bunch and then just perfectly support that one
[19:35:58] <fuzzie> well, you'd have to invent some new super-generic animation type :P
[19:36:24] <fuzzie> but if anyone wrote such a mod which worked, it would be easy to just fix gemrb to work with the original animations at that point.
[19:38:38] <fuzzie> it should surely be trivial to do this methodically
[19:38:53] <fuzzie> just hack gemrb to show all animation cycles+types in a loop, and fix each one as it's found
[19:39:07] <fuzzie> just quite a bit of work
[19:39:29] <fuzzie> but i think you can script the original engine to set both anim ids and cycles
[19:39:35] <fuzzie> erm, stances
[19:40:03] <lynxlynxlynx> there's a cheat key to +/- something like that
[19:41:50] <fuzzie> there's one for the anims, i know, we used it to make sure that walking speed was controlled by the number of anim cycles
[19:42:02] <fuzzie> but not sure if there's one for stances?
[19:42:44] <fuzzie> i guess the lists of cheat keys have both a 'select avatar animation' and 'select animation' listed
[19:44:23] <fuzzie> so maybe that'll be easy to do, if it doesn't crash all the time
[19:47:13] <fuzzie> yes, ctrl-s to select and ctrl-a to play, and ctrl-6/7 to cycle
[19:48:41] <fuzzie> ok, it didn't take me long to freeze bg2 with that..
[19:49:31] <lynxlynxlynx> heh
[19:49:59] <fuzzie> and i can crash it, too
[19:50:24] <fuzzie> picked Elminster, tried an attack anim, and it tries referencing an offset on a null pointer
[19:51:17] <lynxlynxlynx> missing animation huh
[19:51:29] <fuzzie> yes, and admittedly i deliberately picked that one :P
[19:52:53] <fuzzie> and then i pick Drizzt, and try a 'jab' anim, and it fails an assertion (GetFrame() failed)
[19:53:06] <fuzzie> so ok, that is rather annoying already
[19:54:11] <lynxlynxlynx> maybe in a vm that supports freezing, but otherwise it is bound to be annoying
[19:54:19] <fuzzie> if it's really just a switch table in the exe, i'm sure something can be scripted in IDA
[19:56:00] <fuzzie> unfortunately i don't have it here to try
[20:14:33] <fuzzie> at a glance i think that is by far the most sensible approach
[20:24:01] --> edheldil_ has joined #GemRb
[20:35:28] <SiENcE> i have a question
[20:35:44] <SiENcE> GUIScript needs a dynamic python library
[20:35:52] <SiENcE> for example libpython2.5.so
[20:36:16] <lynxlynxlynx> you can compile it statically
[20:36:21] <SiENcE> i have this file now compiled for dingux....my python interpreter is dynamically compiled against
[20:36:21] <lynxlynxlynx> compile/link
[20:36:33] <SiENcE> and the interpreter works
[20:36:38] <SiENcE> i use autobuild
[20:36:49] <SiENcE> and had no luck to statically link
[20:37:11] <SiENcE> so my question is...when i link guiscript against this libpython2.5.so
[20:37:29] <SiENcE> i can't find a reference in GUIScript.so
[20:37:53] <SiENcE> and when i start gemrb...i get an segfault when GUIscript loads
[20:38:15] <SiENcE> [ResourceManager]: Searching for defsound.2da...[GemRB Override]
[20:38:16] <SiENcE> [OK]
[20:38:16] <SiENcE> [Core]: Broadcasting Event Manager...[OK]
[20:38:16] <SiENcE> [Core]: Initializing Window Manager...[Core]: Initializing GUI Script Engine... Segmentation fault
[20:38:17] <lynxlynxlynx> huh
[20:38:31] <lynxlynxlynx> libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0xb7b4a000)
[20:38:41] <lynxlynxlynx> that's from ldd
[20:38:44] <SiENcE> i should find a reference in GUIScript.so or?
[20:38:55] <SiENcE> i have mips platform
[20:39:06] <SiENcE> and an embedded device....no ldd
[20:39:19] <lynxlynxlynx> how are you checking the presence?
[20:39:30] <SiENcE> what presence?
[20:39:33] <SiENcE> of the lib?
[20:39:36] <lynxlynxlynx> yes
[20:39:45] <wjp> when you say "I can't find a reference" what do you mean?
[20:39:46] <SiENcE> i do
[20:39:47] <SiENcE> export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
[20:39:58] <SiENcE> and than i start the python.elf interpreter
[20:40:11] <SiENcE> the interpreter is dynamically linked against this lib
[20:40:17] <SiENcE> and it works
[20:40:25] <wjp> and has anything changed since the last time you were here?
[20:40:35] <SiENcE> and the interpreter has a libpython2.5.so in it
[20:40:43] <SiENcE> yes
[20:40:45] <wjp> "in it"?
[20:40:53] <SiENcE> wjp, i got python compiled dynamically
[20:41:06] <wjp> please be more precise about what you mean when talking about technical details :-)
[20:41:14] <SiENcE> when i search the string in the interpreter binary
[20:41:30] <SiENcE> in it...as i say ;)
[20:41:31] <wjp> do you have an objdump that can handle the binaries?
[20:41:40] <SiENcE> wait
[20:41:52] <SiENcE> yep
[20:41:59] <SiENcE> i have
[20:43:03] <wjp> when you do objdump -x [binary], you should get a 'Dynamic Section' near the top that has 'NEEDED' entries in it for the libraries it needs
[20:43:28] <wjp> that should be roughly equivalent to ldd
[20:43:55] <SiENcE> ok let me dump
[20:44:27] <SiENcE> mh
[20:44:28] <SiENcE> Dynamic Section:
[20:44:28] <SiENcE> NEEDED libpng12.so.0
[20:44:28] <SiENcE> NEEDED libz.so.1
[20:44:28] <SiENcE> NEEDED libstdc++.so.6
[20:44:28] <SiENcE> NEEDED libm.so.0
[20:44:29] <SiENcE> NEEDED libc.so.0
[20:44:29] <SiENcE> NEEDED libgcc_s.so.1
[20:44:30] <SiENcE> SONAME GUIScript.so
[20:44:30] <SiENcE> RPATH /dingux/mipsel-linux-uclibc/lib
[20:44:31] <SiENcE> INIT 0x00007cb0
[20:44:46] <wjp> what are we looking at?
[20:44:56] <wjp> ah, GUIScript
[20:45:12] <lynxlynxlynx> missing core and python
[20:45:20] <SiENcE> thats a dump from my python interpreter
[20:45:21] <SiENcE> Dynamic Section:
[20:45:21] <SiENcE> NEEDED libpython2.5.so
[20:45:21] <SiENcE> NEEDED libpthread.so.0
[20:45:21] <SiENcE> NEEDED libdl.so.0
[20:45:21] <SiENcE> NEEDED libutil.so.0
[20:45:21] <SiENcE> NEEDED libm.so.0
[20:45:22] <SiENcE> NEEDED libgcc_s.so.1
[20:45:22] <SiENcE> NEEDED libc.so.0
[20:45:37] <SiENcE> yes but why
[20:45:38] <SiENcE> ?
[20:45:46] <wjp> lynxlynxlynx: are you comparing against your own GUIScript.so? (I don't have a compiled gemrb around at the moment unfortunately)
[20:45:46] <SiENcE> i can build this file...
[20:45:53] <lynxlynxlynx> yes
[20:46:12] <wjp> do you have a build log of gemrb? Could you find the linker command that was used to generate GUIScript.so ?
[20:46:32] <lynxlynxlynx> and how old gemrb is this SiENcE?
[20:46:40] <SiENcE> 0.6.1
[20:46:41] <SiENcE> GUIScript_la_LDFLAGS = -module -avoid-version -shared
[20:46:41] <SiENcE> GUIScript_la_LIBADD = -L/usr/local/lib/libpython2.5.so
[20:47:21] <wjp> -L is add library path
[20:47:48] <wjp> so that -L/usr/local/lib/libpython2.5.so doesn't make any sense
[20:47:56] <lynxlynxlynx> /usr/bin/c++ -fPIC -Werror -Wall -W -Wpointer-arith -Wcast-align -pedantic -Wno-format-y2k -Wno-long-long -fno-strict-aliasing -fvisibility=hidden -g -Wl,--no-undefined -shared -Wl,-soname,GUIScript.so -o ../GUIScript.so CMakeFiles/GUIScript.dir/GUIScript.o CMakeFiles/GUIScript.dir/PythonHelpers.o ../../core/libgemrb_core.so -lpython2.6 -Wl,-rpath,/lgames/gemrb/gemrb/build/gemrb/core::::::: # this was mine
[20:48:00] <SiENcE> ah of couse
[20:48:42] <SiENcE> but why can i link against
[20:48:45] <SiENcE> strange
[20:49:06] <SiENcE> i should get undefined references
[20:49:11] <wjp> it's building a library, so it's not expecting all its symbols to be defined
[20:49:19] <SiENcE> ah
[20:49:30] <SiENcE> ok...i forgot
[20:49:31] <SiENcE> uhm
[20:49:39] <-- budlust has left IRC (Ping timeout: 245 seconds)
[20:50:06] <Avenger> lynx, i think the jaheira abilities are not hardcoded
[20:50:32] <Avenger> i found code in joinparty which is eerily similar to addkit
[20:50:39] --> |Cable| has joined #GemRb
[20:50:53] <fuzzie> Avenger: the strings are in the exe, not data files
[20:51:06] <lynxlynxlynx> that
[20:51:07] <Avenger> so, i think jaheira simply gets the kit based abilities (clabdr01)
[20:51:17] <Avenger> you can test this easily
[20:51:21] --> budlust has joined #GemRb
[20:51:32] <lynxlynxlynx> she's a fighter/druid
[20:51:33] <Avenger> remove a ga_ entry from clabdr01
[20:51:54] <lynxlynxlynx> the other druids can't shapeshift into those 3 forms
[20:52:09] <Avenger> what other druids
[20:52:14] <lynxlynxlynx> any
[20:52:25] <lynxlynxlynx> it's her specialty
[20:52:46] <Avenger> these are spcl611, 612, 613, no?
[20:53:45] <Avenger> they are in clabdr01 at level 7
[20:56:27] <fuzzie> those are the spells, from what i remember
[20:56:51] <lynxlynxlynx> they give the innate though
[20:56:56] <Avenger> well, i'm far from understanding all code in this
[20:57:23] <fuzzie> you want me to just remove an entry from the 2da and start a new game?
[20:57:27] <Avenger> but i'm pretty sure i understant this
[20:57:30] <Avenger> yes
[20:57:33] <lynxlynxlynx> this already works
[20:57:41] <lynxlynxlynx> in gemrb, i mean
[20:57:48] <SiENcE> ha great it works
[20:57:52] <SiENcE> but now i get
[20:57:52] <fuzzie> SiENcE: :D
[20:57:53] <SiENcE> [ResourceManager]: Searching for START.chu...[chitin.key]
[20:57:53] <SiENcE> Segmentation fault
[20:58:18] <SiENcE> at this position
[20:58:19] <SiENcE> [ResourceManager]: Searching for worldm25.wmp...[NOT FOUND]
[20:58:19] <SiENcE> [GUIScript]: Loading Script Start2...[OK]
[20:58:19] <SiENcE> [ResourceManager]: Searching for START.chu...[chitin.key]
[20:58:19] <SiENcE> Segmentation fault
[20:58:37] <fuzzie> you should really get a gdb build onto the device :p
[20:58:41] <SiENcE> maybe i forgot something to copy?
[20:58:51] <SiENcE> haha yes...but thats not that easy
[20:58:56] <Avenger> lynx, i don't think it works, we don't apply the kit on actors when they join
[20:59:06] <fuzzie> SiENcE: is this plain bg2, or ToB too?
[20:59:15] <fuzzie> oh, i guess plain bg2
[20:59:16] <Avenger> Oh, this is why no spells in keldorn's book?
[20:59:24] <Avenger> only after levelup
[20:59:29] <lynxlynxlynx> yep
[20:59:38] <lynxlynxlynx> it all works for new chars though
[20:59:40] <Avenger> so, joinparty should apply the kit stuff
[21:00:06] <Avenger> sure for new chars it works, but it seems they didn't add the clab spells to the npcs
[21:00:21] <lynxlynxlynx> makes me wonder why the innates are mentioned in the exe then
[21:00:35] <Avenger> maybe for some other reason
[21:00:48] <Avenger> they are surely used for something
[21:01:07] <fuzzie> SiENcE: you haven't hacked the chu file?
[21:02:13] <fuzzie> SiENcE: it should really complain about your resolution being too low there, so it's strange that it doesn't
[21:02:37] <Avenger> hmm, ctrl-m on jaheira should also show that she lacks the spcl611/13 spells
[21:02:43] <Avenger> i can test that :)
[21:03:27] <SiENcE> fuzzie, it's not complaining...mh
[21:03:36] <SiENcE> here is my startup log http://pastebin.com/t41eDMAw
[21:03:57] <lynxlynxlynx> not just bad paths?
[21:04:10] <fuzzie> lynxlynxlynx: wouldn't that give an error?
[21:04:24] <lynxlynxlynx> who knows
[21:04:24] <Avenger> yeah, i rock
[21:05:51] <fuzzie> i am still waiting for the intro cutscene, i should really sabotage it
[21:08:13] <Avenger> ok, now what to do? the core should be able to process clab files, addkit/addsuperkit are not finished yet.
[21:08:23] <Avenger> and now it turned out, joinparty also needs it
[21:08:37] <Avenger> i guess, i should implement this part in C?
[21:08:42] <fuzzie> so
[21:08:53] <fuzzie> i sabotaged that 2da, and Jaheira still has the innates at the start of a new bg2 game.
[21:09:08] <fuzzie> i mean, SoA.
[21:09:13] <fuzzie> should i be trying something else? ToB?
[21:09:14] <Avenger> hmm
[21:09:50] <fuzzie> oh
[21:09:55] <fuzzie> ok, no, ignore that
[21:10:04] <Avenger> hmm
[21:10:09] <fuzzie> i have two of those 2da files
[21:10:20] <Avenger> clabdr01?
[21:11:01] <Avenger> btw, you don't have to replay the intro if you have a saved game without jaheira (never joined)
[21:11:07] <fuzzie> i copied the override from a case-sensitive filesystem, and i had a CLABDR01.2DA and a clabdr01.2da
[21:11:13] <Avenger> lol
[21:11:21] <fuzzie> let's try again..
[21:12:20] <fuzzie> ok, this time she gets no innates :P
[21:12:53] <fuzzie> just a greyed-out innates button
[21:12:53] <Avenger> yep, i tested it too, by changing the 611 to 612
[21:13:04] <Avenger> she got two 612's
[21:13:23] <Avenger> ok, so this really works like i read it should ;)
[21:13:28] <fuzzie> SiENcE: i can only guess that it's the gui resolution issue, maybe you can just change the values in Start2.py from 640,480 to 320,240 and see if it helps
[21:13:44] <fuzzie> and well, there seems to be all kinds of nasty stuff with NPCs hardcoded into the exe, with the transition to ToB and the import from bg1 and etc
[21:13:55] <fuzzie> i am scared of it
[21:15:21] <Avenger> yes, there are things
[21:17:15] <Avenger> fuzzie, do you want my disassembly updates?
[21:18:57] <fuzzie> sure, although i'm not sure i make very good use of them
[21:19:37] <Avenger> sometimes they are good as a checklist :)
[21:19:39] <fuzzie> a lot of the time i just look at your comments :p
[21:21:32] <Avenger> well i wrote lots of new comments on polymorph
[21:22:04] <fuzzie> but i do look at them, especially when talking in here about what actions/opcodes do
[21:22:53] <SiENcE> fuzzie, i already changed the resolution ...but for now im happy..guiscript works and the rest is not that hard
[21:23:00] <SiENcE> thanks for help
[21:23:11] <fuzzie> good luck
[21:23:31] <fuzzie> we are collecting quite a lot of handheld users
[21:26:12] <fuzzie> and about the XP thing on the forum, we don't try handing out XP properly yet, i think?
[21:29:45] <fuzzie> well, maybe this GetCaster thing deals with a lot of that
[21:36:19] <lynxlynxlynx> what xp thing?
[21:38:13] <fuzzie> you don't get XP for killing enemies, in all circumstances
[21:38:29] <fuzzie> we only hand out XP if the last damage was provably caused by a party member
[21:41:01] <lynxlynxlynx> which is correct, we just need to make it always provable
[21:41:22] <-- Avenger has left IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716])
[21:41:32] <fuzzie> well, and we need to deal with summons etc
[21:41:55] <-- budlust has left IRC (Ping timeout: 240 seconds)
[21:42:10] <lynxlynxlynx> we do
[21:43:49] <fuzzie> hmm
[21:43:55] <fuzzie> it doesn't work for my tests, but oyu're right
[21:44:29] --> budlust has joined #GemRb
[21:49:29] <lynxlynxlynx> what are you doing?
[21:50:01] <lynxlynxlynx> all the summons have their xp set to 0 btw
[21:53:00] <fuzzie> killing enemies with summons
[21:53:26] <fuzzie> but the killing actor isn't working right, i geuess
[21:57:54] <CIA-26> GemRB: 03avenger_teambg * rcd6df8135b1c 10gemrb/gemrb/core/GameScript/GameScript.cpp: just some todo on cutscenes
[22:05:39] <-- budlust has left IRC (Ping timeout: 240 seconds)
[22:07:56] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:13:34] --> budlust has joined #GemRb
[22:32:24] <-- SiENcE has left IRC (Quit: cya @all)
[22:32:47] <-- budlust has left IRC (Ping timeout: 248 seconds)
[22:56:12] --> budlust has joined #GemRb
[23:29:31] --> Maighstir_laptop has joined #GemRb
[23:31:32] <-- Maighstir_laptop has left #GemRb