#gemrb@irc.freenode.net logs for 6 Sep 2009 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:15:20] --> pupnik has joined #gemrb
[00:15:57] <-- dawid has left IRC (Remote closed the connection)
[03:48:00] --> felixthered has joined #GemRB
[03:48:41] <felixthered> I d/l the 0.5.1 release, and BG1 can't get past the opening (post-character creation) screen.
[03:49:56] <felixthered> Also, LevelUp.py can't import Actor - "no module named Actor".
[03:57:27] <felixthered> Also, I managed to build 0.5.1 using Visual Studio 8.
[04:22:25] --> Gekz has joined #GemRB
[04:23:03] <Gekz> I just got offered an emac for $70
[04:23:05] <Gekz> and I said NO
[04:23:07] <Gekz> what's wrong with me
[04:23:54] <Gekz> holy fuck
[04:23:57] <Gekz> this is worth a shittonne
[04:24:03] <Gekz> _idiot_
[04:39:55] <felixthered> I've tracked the problem down - the character is 0/0 for HP, and plays dead after the opening dream.
[04:40:53] <Gekz> http://docs.codehaus.org/display/BOO/Functions
[04:40:57] <Gekz> haha second example
[04:47:13] <felixthered> If the console says GUIScript: Missing function, how do I track down the missing function?
[07:20:01] <CIA-22> gemrb: 03avenger_teambg * r7095 10/chitem/trunk/ (AreaProperties.cpp AreaProperties.h EffEdit.cpp chitem.clw): dltcep update
[07:59:50] --> lynxlynxlynx has joined #gemrb
[07:59:50] --- ChanServ gives channel operator status to lynxlynxlynx
[08:03:48] <fuzzie> felixthered: Avenger copied bg2's LevelUp into our bg1 for some reason, i'm not sure why
[08:03:57] <fuzzie> but it's definitely not going to work
[08:04:16] <fuzzie> 0/0 for HP is a bit worrying though
[08:10:24] <Gekz> fuzzie: POURQUOI
[08:14:25] <lynxlynxlynx> didn't manage to make them share all of it yet
[08:15:20] <lynxlynxlynx> 0/0 hp could perhaps be from a missing table with a default value of -1
[08:29:18] <CIA-22> gemrb: 03avenger_teambg * r7096 10/gemrb/trunk/gemrb/plugins/Core/ (Actions.cpp TileMap.cpp TileMap.h): EscapeArea moves to the nearest travel region
[08:30:27] <fuzzie> oh, i thought i'd sabotaged EscapeArea in GSUtils.
[08:31:42] <fuzzie> I did indeed.
[08:32:40] <fuzzie> maybe Avenger will fix that too
[08:33:03] <fuzzie> i'm tired of trying to remove all this broken AddActionInFront stuff :(
[08:37:48] <CIA-22> gemrb: 03avenger_teambg * r7097 10/gemrb/trunk/gemrb/GUIScripts/bg1/Actor.py: missing file
[08:38:00] --> Avenger has joined #gemrb
[08:38:05] --- ChanServ gives channel operator status to Avenger
[08:38:13] <Avenger> hello
[08:38:53] <fuzzie> hi, Avenger
[08:41:52] <fuzzie> i deliberately broke EscapeAreaCore to make SoA work, maybe you noticed
[08:42:30] <Avenger> no, i didn't see that
[08:42:53] <Avenger> what did you do?
[08:42:58] <fuzzie> it uses AddActionInFront, which breaks stuff, and all the callers (until you changed one caller) were passing it invalid coordinates
[08:43:09] <fuzzie> so i simply commented out the walking bit
[08:43:14] <Avenger> oh
[08:43:29] <Avenger> ok, so when i now find a position it isn't used
[08:43:42] <fuzzie> yes, i thought i might tell you before you wondered why it doesn't work!
[08:43:59] <Avenger> can you change it to use the new stuff? i work on bg1 levelup
[08:44:03] <fuzzie> AdjustNearestTravel is the function that i couldn't make work
[08:44:21] <Avenger> but that is simple, isn't it?
[08:44:30] <fuzzie> well, i didn't know what i was meant to be finding :)
[08:44:51] <Avenger> the nearest travel info point
[08:45:41] <Avenger> though, i think if there is no infopoint to reach, they do some random move in a direction
[08:46:18] <Avenger> but i don't care if they move or just stand around now. It would be good if they go to the travel region at least
[08:46:25] <fuzzie> we can always add that later, i'll try and fix this now
[08:46:35] <Avenger> yeah
[08:47:05] <Avenger> i added levelup to bg1 so there is something to fix, instead something to write :)
[08:47:19] <Avenger> just forgot to upload a file because i didn't use 'add'
[08:50:28] <fuzzie> well, i think Actor shouldn't be necessary
[08:50:44] <Avenger> hmm what would this do: GemRB.SetVar (CheckLevelUp+str(pc), CanLevelUp (pc))
[08:50:44] <fuzzie> it was an experiment that was never finished, i thought
[08:50:47] <Avenger> str(pc) ???
[08:50:58] <Avenger> oh, pc is a number
[08:51:16] <Avenger> but CheckLevelup is a function O_o
[08:51:51] <Avenger> ahh i used an old copy
[08:55:10] <lynxlynxlynx> this is used so the core doesn't need to know the xp table
[08:55:45] <fuzzie> does it fail as soon as you rearrange PCs, though?
[08:56:07] <lynxlynxlynx> pc is InParty
[08:56:16] <fuzzie> i mean, removing/adding them
[08:56:58] <lynxlynxlynx> i don't see why it would
[08:57:22] <lynxlynxlynx> maybe there could be a small race, but it wouldn't break things
[08:57:38] <lynxlynxlynx> this is all just for checking if a new level has been reached on xp gain
[08:57:56] <fuzzie> i just don't see CheckLevelUp vars being cleared anywhere
[08:58:14] <fuzzie> or moved/etc when InParty is changed
[08:58:31] <fuzzie> i mean, it could be fixed, i'm just wondering if it needs fixing, or whether i miss something
[08:58:35] <lynxlynxlynx> the first new xp gain would reset it
[08:58:51] <Avenger> hmm i think there is some problem in Actor.py : dualswap[classid] = ClassTable.GetValue (i, 6)
[08:59:05] <fuzzie> Avenger: Actor.py is unfinished code, you shouldn't need it?
[08:59:06] <Avenger> that classid is not really a class id
[08:59:15] <fuzzie> does it really get used?
[08:59:17] <Avenger> it isn't used?
[08:59:19] <Avenger> oh
[08:59:21] <Avenger> doh
[08:59:23] <lynxlynxlynx> Actor.py is already used for some debugging
[08:59:45] <fuzzie> i think you can just comment out the Actor(pc) line and the "print"s, though
[08:59:53] <Avenger> this isn't a real classid for dual class->classid = ClassTable.GetValue (i, 5)
[08:59:54] <fuzzie> i don't think it's worth spending effort making it work
[09:00:03] <fuzzie> since it's truly only debugging
[09:00:08] <Avenger> for dual class, it is a bitfield
[09:00:43] <Avenger> each of its bits should be converted to a separate index, which should point to a single class
[09:00:52] <fuzzie> Avenger: doesn't that only matter for iwd2?
[09:01:01] <Avenger> it matters for bg2
[09:01:45] <Avenger> well, unless someone simply splits the dual class name, and use those as reference
[09:01:46] <lynxlynxlynx> it is a real bitfield only in iwd2
[09:02:04] <lynxlynxlynx> that's exactly what we do
[09:02:17] <Avenger> huh
[09:02:17] <lynxlynxlynx> the bitfield doesn't give you the correct order
[09:02:34] <Avenger> well, ok, it seems to be an index
[09:02:46] <Avenger> but then, it is wrong in bg1
[09:03:02] <lynxlynxlynx> dualswap acts like a bool so we can know if we have a mage/thief or a thief/mage
[09:03:03] <Avenger> cleric ranger has it at 18, and it is an index overflow
[09:03:10] <fuzzie> but truly, i would recommend ignoring Actor.py for bg1
[09:03:32] <Avenger> ok, if it isn't needed, i just comment it out
[09:03:37] <Avenger> i thought it is part of levelup
[09:03:40] <lynxlynxlynx> LevelUp.py
[09:03:56] <fuzzie> LevelUp.py uses it for printing debug statements
[09:04:14] <fuzzie> but if you think it's broken for bg1 then it's not required..
[09:04:34] <lynxlynxlynx> this dualclassing code is elsewhere too
[09:04:47] <Avenger> it uses it for classtitle
[09:05:14] <Avenger> well, it is broken, but i think i should march forward, not backward
[09:05:21] <Avenger> so i should fix it :)
[09:05:33] <fuzzie> it does work fine for bg2 as-is, though :)
[09:05:57] <Avenger> bg2 doesn't use the same classes.2da obviously
[09:06:00] <fuzzie> so if you make changes for bg1, it would be nice to have a diff so we can merge it back eventually
[09:06:03] <lynxlynxlynx> it does look like both column are offset
[09:06:21] <lynxlynxlynx> not counting from zero
[09:07:00] <lynxlynxlynx> ClassTable.GetValue (i, 6) is the hp column
[09:07:18] <Avenger> i see the problem, bg2 works only because it has a duplicate entry: barbarian
[09:07:26] <Avenger> i just uncovered a hidden off by one bug :P
[09:08:19] <Avenger> hmm, hp column?
[09:08:30] <lynxlynxlynx> it's the same error you talk about
[09:08:42] <lynxlynxlynx> init globals looks up the wrong columns
[09:08:54] <Avenger> oh, it uses the hp column?
[09:09:02] <Avenger> then i don't understand
[09:09:06] <lynxlynxlynx> columns are counted from 0, right?
[09:09:26] <Avenger> i always thought they do, that's why i'm confused now
[09:09:29] <lynxlynxlynx> NAME_REF DESC_REF CAP_REF SAVE MULTI ID HP
[09:09:48] <Avenger> 5 would be the ID
[09:09:52] <lynxlynxlynx> so the way i see it, both GetValue calls are +1
[09:10:23] <lynxlynxlynx> ah, just the second
[09:10:38] <Avenger> the second is dualswap, which field is that normally?
[09:11:03] <Avenger> i doubt it is set in bg1 :)
[09:11:25] <lynxlynxlynx> #set the MC_WAS_ID of the first class
[09:11:52] <lynxlynxlynx> yeah, the bg1 version doesn't have this column
[09:12:01] <Avenger> that's 8
[09:12:29] <Avenger> i guess this is fine in bg2, lemme see
[09:12:46] <Avenger> hmm no that is using 6 too
[09:12:58] <Avenger> then i guess it won't work either?
[09:13:08] <lynxlynxlynx> it's only used for printing, so it is easy to miss the bugs
[09:13:15] <-- Gekz has left IRC (Read error: 104 (Connection reset by peer))
[09:13:34] <Avenger> yeah, i will add the mssing column to bg1
[09:13:57] <lynxlynxlynx> i'll go move the file, so we don't need 5 of them
[09:14:50] <lynxlynxlynx> did you make any changes to Actor.py already?
[09:16:07] <Avenger> no
[09:16:20] <Avenger> make it common
[09:16:36] <Avenger> i fix the table, then i guess this will work
[09:16:48] <CIA-22> gemrb: 03lynxlupodian * r7098 10/gemrb/trunk/gemrb/GUIScripts/ (Actor.py bg1/Actor.py bg2/Actor.py): moved Actor.py up
[09:18:29] <Avenger> btw, i was wrong, the multi field is the bitfield ;)
[09:19:35] <CIA-22> gemrb: 03avenger_teambg * r7099 10/gemrb/trunk/gemrb/override/bg1/classes.2da: added mc_was_id field to bg1
[09:20:00] <CIA-22> gemrb: 03lynxlupodian * r7100 10/gemrb/trunk/gemrb/GUIScripts/bg2/GUIREC.py: bg2: removed a leftover debug print
[09:20:45] <lynxlynxlynx> yes, but i still think that 6 is bad or maybe both
[09:21:55] <Avenger> 6 is bad, and the index is off by one too
[09:22:20] <lynxlynxlynx> the index = id is fine
[09:22:27] <Avenger> no, it starts from 1
[09:22:33] <Avenger> the index starts from 0
[09:22:44] <lynxlynxlynx> oh
[09:23:03] <lynxlynxlynx> don't rows start from 0?
[09:23:04] <Avenger> you don't see the bug because barbarian stuffs the rowcount by one
[09:23:12] <Avenger> yes they do
[09:23:27] <lynxlynxlynx> incosistent :/
[09:23:36] <lynxlynxlynx> and inconsistent :/
[09:24:02] <Avenger> the class ID and any other target ids start from 1, because 0 is 'anything'
[09:24:25] <Avenger> they are not indices :) you just use it as index
[09:24:44] <lynxlynxlynx> ahh, you mean something else
[09:25:19] <Avenger> i mean using classid as index
[09:25:44] <Avenger> this would work: dualswap[classid-1] = ClassTable.GetValue (i, 8)
[09:25:48] <Avenger> err
[09:25:49] <lynxlynxlynx> it should be fine, it is python; there'd be a problem if the prepared data is used wrongly though
[09:26:02] <Avenger> python has 0 based indices too
[09:26:51] <Avenger> --> dualswap[classid-1] = ClassTable.GetValue (i, 8 )
[09:27:30] --> Gekz has joined #GemRB
[09:27:34] <lynxlynxlynx> yeah
[09:27:41] <lynxlynxlynx> tuples++
[09:29:40] --> dawid has joined #GemRb
[09:30:32] <Avenger> heh, make install doesn't delete the existing files, so Actor remained in the install dir :(
[09:31:06] <lynxlynxlynx> you should've done a make uninstall first
[09:31:46] <Avenger> SetupThac0 is intentionally separated?
[09:32:02] <Avenger> planning for iwd2?
[09:32:19] <Avenger> i will just copy it from bg2
[09:33:48] <lynxlynxlynx> i haven't merged it up yet, so go ahead
[09:34:13] <lynxlynxlynx> or just move it yourself :)
[09:34:45] <fuzzie> it's simple to just have the iwd2 code replace these functions at first run, if necessary
[09:34:52] <fuzzie> so no need to avoid merging
[09:37:00] <lynxlynxlynx> heh, that dualswap one isn't used at all
[09:39:17] <CIA-22> gemrb: 03lynxlupodian * r7101 10/gemrb/trunk/gemrb/GUIScripts/Actor.py: fixed the setting of dualswap in Actor.py
[09:42:33] <Avenger> it is code in progress, i guess :)
[09:43:17] <lynxlynxlynx> yes, mattinm wasn't sure
[09:45:52] <Avenger> meh, proftextarea is elsewhere in bg1
[09:47:53] <Avenger> i guess i need a new case: LUPROFS_TYPE_LEVELUP_BG1:
[09:50:53] <lynxlynxlynx> or just wrap the control init in IsBG1()
[11:03:44] <CIA-22> gemrb: 03avenger_teambg * r7102 10/gemrb/trunk/gemrb/GUIScripts/ (5 files in 3 dirs): Synced bg1 to bg2 (party order, level up)
[11:04:45] <Avenger> proficiencies in bg1/pst/iwd are not done by effects, but simple base stats
[11:06:44] <CIA-22> gemrb: 03avenger_teambg * r7103 10/gemrb/trunk/gemrb/GUIScripts/LUProfsSelection.py: proficiency in bg1 is a simple stat
[11:08:42] <lynxlynxlynx> yep
[11:09:51] <lynxlynxlynx> you can remove the one in gemrb/GUIScripts/bg1/GUICG9.py:67 now
[11:11:34] <lynxlynxlynx> gemrb/GUIScripts/bg1/CharGenGui.py:235 can be deleted too
[11:12:00] <lynxlynxlynx> just change the call in the next line to use the bg1 lu constant
[11:13:50] <lynxlynxlynx> some others need changing too
[11:15:29] <CIA-22> gemrb: 03avenger_teambg * r7104 10/gemrb/trunk/gemrb/GUIScripts/ (LUProfsSelection.py bg1/GUICG9.py): cleanup
[11:15:49] <Avenger> so simply remove the import
[11:18:43] <Avenger> huh there are more to do
[11:20:17] <Avenger> nasty infinite loop in the portrait selector :)
[11:20:28] <Avenger> i wonder if it exists in bg2 too
[11:21:19] <Avenger> it happens in bg1 only, it is possible to go through the gender selection without picking a valid gender
[11:22:05] <Avenger> wow, chargen changed a lot since i seen it
[11:22:07] <lynxlynxlynx> can't happen in bg2, i've added a guard
[11:22:43] <Avenger> if you add something add everywhere :)
[11:22:58] <lynxlynxlynx> #2802437 danamin (patch bomb sanitizing bg1 chargen + bg2 code share)
[11:23:00] <fuzzie> bg1 chargen was pretty broken, someone rewrote it
[11:23:06] <lynxlynxlynx> 0.5.0
[11:23:18] <fuzzie> there are less bugs now, but there are some nasty problems like that gender thing
[11:23:24] <Avenger> bg1 chargen is still pretty limp
[11:23:32] <lynxlynxlynx> Avenger: i only added the randomisation code to bg2, since others didn't like it too much
[11:23:40] <fuzzie> well, bg1 chargen is better than bg2 chargen :/
[11:23:45] <Avenger> meh?
[11:23:48] <lynxlynxlynx> huh?
[11:23:49] <fuzzie> i think it still doesn't do spell memorisation though
[11:24:36] <Avenger> well, besides this infinite loop, it also doesnt display the weapon proficiency help when you press +, and doesn't display the profs after selecting them
[11:24:44] <Avenger> i might have broke it, i don't know
[11:24:45] <fuzzie> but at least last time i looked, bg2 chargen was absolutely full of these SetVar hacks
[11:25:06] <Avenger> we should sync them up
[11:25:23] <fuzzie> well, now they're two completely different pieces of code :/
[11:25:37] <fuzzie> i like the bg1 one much better, but it is still full of bugs
[11:26:12] <Avenger> bg2 doesn't use setplayerstat?
[11:26:26] <fuzzie> it does in some places
[11:26:39] <fuzzie> but mostly not
[11:27:06] <Avenger> well, i just wanted to sync level up, without breaking chargen
[11:27:35] <Avenger> SetPlayerStat is the future :)
[11:27:44] <fuzzie> sure, i think the bg1 thing uses it everywhere
[11:27:49] <fuzzie> oh, except portraits are broken
[11:27:55] <fuzzie> i couldn't work out how to fix that
[11:28:23] <Avenger> well portraits are not terribly important
[11:28:31] <fuzzie> FillPlayerInfo always overwrites the portrait data
[11:28:44] <Avenger> i mean, they don't affect other stats
[11:28:55] <fuzzie> i guess we just shouldn't pass the parameters if there's already a portrait
[11:29:11] <Avenger> the portraits may be in variables, that's not a problem
[11:29:33] <fuzzie> well, we've got to not overwrite existing portraits :)
[11:29:48] <fuzzie> but i think that's the only problem left with bg1's Actor handling
[11:29:58] <Avenger> when would you overwrite them?
[11:30:03] <fuzzie> when someone Imported
[11:30:15] <Avenger> i think there is getplayerportrait?
[11:30:22] <Avenger> so it could be rescued :)
[11:30:45] <fuzzie> hm, interesting :) i hadn't seen that
[11:30:47] <Avenger> there should be one, because of the portrait customisation
[11:31:05] <fuzzie> anyway, someone has to work out whether we want to port the bg1 chargen to bg2, or rewrite the bg2 chargen some other way and port that to bg1
[11:31:34] <fuzzie> bg1/CharGen.py shows how the bg1 works, it's very tidy, but very different
[11:32:04] <Avenger> well, i guess both has some good points, probably bg2 is oldie, but it doesn't crash :)
[11:32:25] <Avenger> bg1 is new tech, but fragile
[11:32:47] <Avenger> i think i found at least 2 bugs just in the initial race/class/gender setup
[11:32:56] <Avenger> if i press enter
[11:33:02] <fuzzie> i didn't find any bugs in the new code which weren't in the old code
[11:33:43] <fuzzie> but i didn't think to check the enter presses until after commit, so that was an oops, but i assume it is not so hard to fix
[11:34:16] <Avenger> i just don't quite see how the enter works if the button is disabled
[11:35:12] <fuzzie> but there are lots of bugs which were always there - eg, make a Gnome and try multi-class it, the strrefs are all bad
[11:35:36] <Avenger> i like the code otherwise
[11:35:53] <Avenger> i just don't see yet, how it handles going to next screen
[11:36:47] <fuzzie> NextPress calls next() on the class
[11:36:52] <Avenger> this could be a core bug?
[11:36:59] <Avenger> default button works when it is disabled?
[11:37:15] <fuzzie> well, why would it break only here?
[11:37:27] <fuzzie> and it only breaks in a few chargen windows
[11:37:29] <Avenger> no idea
[11:42:46] <Avenger> well, i don't really understand the Chargen Init part
[11:42:56] <lynxlynxlynx> <fuzzie> but mostly not <-- not true at all
[11:43:09] <Avenger> stages
[11:43:22] <fuzzie> lynxlynxlynx: well, i tried fixing it, and i gave up after 6 different things?
[11:43:29] <lynxlynxlynx> when?
[11:43:33] <fuzzie> a few weeks ago
[11:43:48] <fuzzie> someone came in and complained
[11:44:19] <fuzzie> i mean, maybe the code does SetPlayerStat too, but a huge amount of the code depends on variables being set
[11:44:33] <fuzzie> just take a look at DisplayOverview
[11:44:57] <Avenger> Gender=GemRB.GetVar ("Gender")
[11:44:59] <fuzzie> try finding anything much in there that doesn't try the variables
[11:45:00] <Avenger> this is in bg2 :)
[11:45:04] <lynxlynxlynx> DisplayOverview was written before most of the cg was changed to modify stats directly
[11:45:09] <Avenger> guicg12
[11:45:38] <Avenger> so yeah, it uses variables
[11:45:38] <lynxlynxlynx> Avenger: so you get the value from the button clicked?
[11:45:43] <Avenger> no
[11:45:52] <Avenger> guicg12, onload
[11:45:56] <lynxlynxlynx> i remember gender now
[11:45:58] <Avenger> that is the portrait selection
[11:46:14] <lynxlynxlynx> for some reason it didn't work when i stuffed it in chargen9
[11:46:15] <Avenger> that should be GetPlayerStat for sure?
[11:46:22] <lynxlynxlynx> if it is set already
[11:46:41] <Avenger> well, gender should work as stat
[11:46:55] <Avenger> only portrait is tricky, i think
[11:47:50] <fuzzie> well, bg1 chargen just keeps portrait as vars, and that seems to work fine, we just have to use that GetPortrait function when we import
[11:48:36] <fuzzie> but, yes, i don't mean "the code doesn't set stats", i mean "the code uses the variables all over the place", it is not just in DisplayOverview
[11:48:57] <lynxlynxlynx> you should've seen it two years ago
[11:49:09] <lynxlynxlynx> bg2 is the first place where we started to remove the use of variables
[11:49:16] <Avenger> fuzzie it is not that bad, i found only Gender so far
[11:49:38] <Avenger> it sets the stat in the next CharGenX
[11:50:21] <fuzzie> isn't that too late?
[11:50:45] <fuzzie> hm, i guess it doesn't matter
[11:50:57] <Avenger> yep, it is a bit strange, but not late
[11:50:58] <fuzzie> i'm trying to work out this default control thing, it's very strange
[11:51:06] <lynxlynxlynx> GUICG->CharGen; repeat
[11:51:12] <fuzzie> definitely the DoneButton being pressed, and it is DISABLED at the time, which means that it shouldn't get past the core!
[11:51:32] <Avenger> yes fuzzie, that's what i said a few minutes ago :) it might be some core problem
[11:51:44] <fuzzie> the core is very careful to check for DISABLED before executing the script
[11:51:44] <Avenger> but, why it isn't a problem in bg2
[11:52:02] <fuzzie> it's not a problem for most of the bg1 chargen windows, either
[11:52:20] <Avenger> is this a window focus problem then?
[11:52:33] <fuzzie> no, because it gets the right button
[11:53:19] <fuzzie> oh, it doesn't, maybe
[11:53:46] <fuzzie> forgot we passed functions to the guiscript by name
[11:53:46] <Avenger> i found some typos in the stages setup, those wouldn't affect the code, right?
[11:53:59] <fuzzie> if i change DoneButton.SetEvent to call "ThisIsNonsense", then NextPress() is still run on enter
[11:54:11] <Avenger> LOL
[11:54:16] <Avenger> then it is some other button
[11:58:17] <pupnik> first time i showed my mom a computer mouse and how to use it - she picked it up and waved it in the air
[11:58:22] <fuzzie> bg2 seems to do some hack where it loads the base CG window, sets it visible, draws the windows, and then unloads the window
[11:58:23] <pupnik> god bless you mom
[11:58:43] <Avenger> it runs into the stage nextpress
[11:58:48] <fuzzie> so i don't understand this code any more :)
[11:59:15] <Avenger> CharGenCommon.py" line 88 of 281
[11:59:42] <Avenger> heh fuzzie, you wrote it, or it wrote you?
[12:00:01] <fuzzie> oh, i didn't write this stuff, i try my best not to touch any of the windowing code
[12:00:10] <fuzzie> but i thought i understood it
[12:00:23] <Avenger> so who wrote this? mattinm?
[12:00:43] <fuzzie> the bg1 code? someone new
[12:01:00] <fuzzie> they just came in, offered the patch, rewrote it to fix the bugs i found, then disappeared
[12:01:25] <Avenger> well, and i wonder why it suddenly breaks :)
[12:01:56] <fuzzie> does displayOverview get called at the wrong time? or do we have the wrong window focused?
[12:02:52] <Avenger> the gender selector window should be a modal window, i guess
[12:02:56] <fuzzie> it is
[12:03:11] <fuzzie> displayed using ShowModal()
[12:03:16] <fuzzie> do we have to do other things too?
[12:05:20] <Avenger> no :(
[12:05:35] <Avenger> i even changed the Nextpress event
[12:05:36] <fuzzie> the problem is that EventMgr::AddWindow calls SetDefaultFocus but last_win_focused is already set there, i think, so it doesn't change the focus
[12:05:40] <Avenger> still no cake
[12:06:11] <Avenger> it goes to the other NextPress
[12:06:19] <fuzzie> maybe ShowModal in the Core should actually call SetFocused
[12:06:29] <fuzzie> so as to force the focus to the new window
[12:06:38] <Avenger> i don't understand
[12:06:42] <Avenger> guicg1 should be loaded
[12:07:01] <fuzzie> bg2 chargen unloads the main CG window, so it loses focus
[12:07:04] <Avenger> i wrote this code so there is only one script is in memory, and that should be guicg1
[12:07:22] <fuzzie> bg1 chargen just calls ShowModal, so the main CG window is still there, and nothing changes the focus to the modal window
[12:07:26] <Avenger> how could any other script take control
[12:07:38] <fuzzie> no other script takes control, but the old window is still there
[12:07:48] <Avenger> but it is also the old script!
[12:07:54] <fuzzie> oh?
[12:08:01] <fuzzie> i get the new script's NextPress called
[12:08:13] <fuzzie> i put a printf in there, it's always that one called
[12:08:13] <Avenger> i get the chargencommon nextpress
[12:08:20] <fuzzie> wow, that's weirder
[12:09:19] <Gekz> rage a little
[12:09:30] <Avenger> i definitely see the common cg script's nextpress here
[12:09:37] <Avenger> which shouldn't even be loaded at this time
[12:09:38] <Gekz> guys, how is the subversion laid out?
[12:09:43] <Gekz> is there a branch where you do all the testing
[12:09:46] <Gekz> then you dump it into trunk?
[12:09:49] <fuzzie> no
[12:09:53] <fuzzie> we just dump it all into trunk
[12:09:53] <Avenger> no, everything is live
[12:09:54] <Gekz> ohdear.
[12:10:03] <Gekz> no stablility assumption
[12:10:10] <fuzzie> there's no stability assumption anyway
[12:10:23] <Avenger> it is 0.5.1 :) what is stability?
[12:10:32] <Gekz> urallsilly
[12:10:40] <Gekz> I was just thinking because I use a tiling wm called i3
[12:10:43] <Avenger> when we got 1.0 we will have a stable branch
[12:10:47] <Gekz> which has assumed stability in git
[12:11:05] <Gekz> they do all the insane testing in an insane-testing branch
[12:11:21] <fuzzie> but we never have stability in trunk
[12:11:26] <Gekz> pourquoi
[12:11:34] <Gekz> lol
[12:12:02] <Gekz> and I'm not saying you should do it another way, I'm just curious
[12:12:05] <fuzzie> Avenger: with svn, i get CharGenCommon's NextPress called when i open the gender window, and then GUICG1's NextPress called when i press enter
[12:12:20] <fuzzie> Gekz: it's not a bad idea once you have some 'finished' thing to put in trunk
[12:12:26] <Gekz> yeah
[12:12:31] <Avenger> fuzzie: i don't
[12:12:32] <Gekz> I guess I think gemrb is more finished than it is xD
[12:12:38] <fuzzie> Avenger: i don't see why you'd get something different :(
[12:12:57] <Avenger> me neither, and i started to tear my hair out
[12:13:07] <Avenger> i see now
[12:13:14] <Avenger> from CharGenCommon import *
[12:13:25] <Avenger> someone screwed this up :)
[12:13:26] <Gekz> lolo
[12:13:29] <Gekz> thats bad
[12:13:32] <Gekz> do not merge the namespaces!
[12:13:34] <fuzzie> yes, but the NextButton definition overrides that
[12:13:44] <Avenger> no
[12:13:45] <fuzzie> at least in my poor python 2.4 and 2.5
[12:14:03] <Avenger> this is a major screwup
[12:14:14] <fuzzie> i mean, it works fine for me
[12:14:26] <fuzzie> it's difficult to test things if they changed behaviour somewhere
[12:14:51] <Avenger> Python 2.5.2
[12:14:53] <Avenger> here
[12:15:21] <Gekz> um
[12:15:23] <Gekz> just so you know
[12:15:23] <CIA-22> gemrb: 03fuzzie * r7105 10/gemrb/trunk/gemrb/plugins/Core/Interface.cpp: force focus to the modal window in ShowModal
[12:15:24] <fuzzie> and that commit fixes the whole problem for me
[12:15:25] <Gekz> from my testing
[12:15:27] <Gekz> 2.5
[12:15:38] <Gekz> if you do something = float(raw_input("> " ))
[12:15:45] <Gekz> if you actually input a float
[12:15:45] <Gekz> it errors
[12:15:48] <Gekz> it works fine in 2.6 however
[12:16:03] <Avenger> the odd thing is that i thought modal window already gets focus
[12:16:21] <fuzzie> it gets default focus, but that's no good if some other window already got focus
[12:16:35] <fuzzie> in this case the CG window got focus already
[12:17:11] <Avenger> anyway, this nextpress thing sucks :)
[12:17:39] <fuzzie> it's just weird, why would it have expected behaviour for me and not for you?
[12:17:43] <fuzzie> oh damn, maybe this is a load order thing
[12:18:17] <Avenger> it is much better fuzzie
[12:18:27] <Avenger> it works now
[12:18:53] <fuzzie> well, if you get the wrong NextPress, i think chargen will fail, because IE_SEX is never set?
[12:19:13] <Avenger> yes, it freezes
[12:19:22] <Avenger> gotta see what lynx did in bg2 to avoid this
[12:19:38] <lynxlynxlynx> wasn'tme
[12:19:50] <Gekz> wjp ?
[12:19:52] <lynxlynxlynx> my money is on a refactoring regression
[12:19:53] <Avenger> what is it anyway?
[12:20:31] <lynxlynxlynx> what is what?
[12:20:50] <Avenger> the biggest problem was the window focus. I asked where is the guard for the portrait loop?
[12:21:32] <Avenger> i guess it's not gonna happen now, unless with some weird portrait list with no female portraits or such
[12:21:49] <Avenger> but that freeze forces me to use kill -9
[12:21:53] <Avenger> which isn't healthy
[12:21:56] <Gekz> lol
[12:22:23] <lynxlynxlynx> i didn't know someone added the randomisation to bg1 too
[12:22:25] <fuzzie> i just use ctrl-\ :)
[12:22:28] <Avenger> some of those new os's our guys put gemrb onto will not like it :)
[12:24:54] <pupnik> n810 has ctrl, n9100 does not... just allow mapping of btnz
[12:25:07] <pupnik> and... please, never, iphone
[12:25:16] <fuzzie> the iphone doesn't have enough resolution, i think :)
[12:25:53] <Avenger> yes, in bg1 NextPress sets the stat, so i can remove the Gender variable completely
[12:26:23] <Avenger> in bg2 you can't do that, because it sets the stats in the outside code
[12:26:34] <Avenger> so it isn't available in the portrait selector
[12:26:36] <Avenger> meh
[12:27:21] <CIA-22> gemrb: 03lynxlupodian * r7106 10/gemrb/trunk/gemrb/GUIScripts/bg1/GUICG12.py: bg1: added a guard to prevent portrait randomization hangups
[12:27:22] <lynxlynxlynx> it was 6763
[12:27:29] <fuzzie> thanks, lynx
[12:32:29] <Avenger> well
[12:33:02] <Avenger> that didn't really protect much, but i found a better already
[12:33:55] <Avenger> bg1 had no randomisation anyway
[12:35:35] <lynxlynxlynx> oh :)
[12:36:42] <lynxlynxlynx> i haven't experienced hangs in portraits, so bg1 must be doing something differently
[12:38:08] <Avenger> well it hangs if there is no portrait for the selected sex
[12:38:25] <Avenger> that 100 limit was simply crap, because it should have checked the rowcount of the table
[12:39:24] <lynxlynxlynx> why wouldn't there be any portraits?
[12:43:34] <Avenger> --> no portrait for the selected sex
[12:43:42] <CIA-22> gemrb: 03avenger_teambg * r7107 10/gemrb/trunk/gemrb/GUIScripts/ (6 files in 2 dirs): chargen fixes
[12:44:00] <Avenger> well, the easiest screwup would be to have a wrong pictures.2da
[12:44:09] <Avenger> or this modal problem we just had
[12:45:47] <Avenger> hmm getactorclasstitle doesn't work well in bg1. or the mageschool is not set in the kit stat. or something like that
[12:49:31] <CIA-22> gemrb: 03avenger_teambg * r7108 10/gemrb/trunk/gemrb/GUIScripts/bg1/GUICG22.py: fixed mageschool selection in chargen
[13:15:09] <CIA-22> gemrb: 03avenger_teambg * r7109 10/gemrb/trunk/gemrb/GUIScripts/ (4 files in 2 dirs): fixed proficiency selection in bg1 chargen
[13:15:10] <Avenger> ok, i fixed some major bugs in bg1 chargen, know any more
[13:15:16] <Avenger> ?
[13:16:56] <fuzzie> fix portraits on imported chars? :)
[13:22:45] <Avenger> you wasted a wish :)
[13:23:08] <CIA-22> gemrb: 03avenger_teambg * r7110 10/gemrb/trunk/gemrb/GUIScripts/bg1/ImportFile.py: fixed portraits in character import
[13:24:50] <Avenger> any more bg1 bugs?
[13:25:13] <lynxlynxlynx> levelup works?
[13:25:14] <Avenger> btw, would these lines work in bg2 Importfile too?
[13:26:09] <Avenger> levelup was buggy but accept button worked last time i checked
[13:26:16] <Avenger> since then i fixed some profs stuff
[13:26:39] <Avenger> i would be surprised if it works
[13:27:29] <Avenger> for some reason it disables the proficiency selector buttons
[13:27:31] <fuzzie> i think bg1's random encounters still need fixing
[13:27:43] <Avenger> lets stick to chargen and levelup
[13:27:46] <fuzzie> i'm not sure what's wrong, either we pick the wrong encounter area or we simply spawn everything at once by mistake
[13:27:54] <fuzzie> well, i just say things which make bg1 unplayable :)
[13:28:12] <lynxlynxlynx> bg2 uses the same portrait tokens btw
[13:28:53] <Avenger> i have no idea why the proficiency selector buttons are disabled
[13:29:04] <Avenger> they are totally removed from the screen
[13:29:38] <lynxlynxlynx> iirc bg2 removes some gui leftovers
[13:30:13] <lynxlynxlynx> but if it works in cg and lu uses the same window ...
[13:31:03] <Avenger> rangers always get 2weapon profs is an ugly hack
[13:32:22] <lynxlynxlynx> could be done through clskills, but it seems excessive to me
[13:34:24] <Gekz> http://pictureisunrelated.com/wp-content/uploads/2009/05/wtf-pics-reject-christ.jpg
[13:37:35] <CIA-22> gemrb: 03avenger_teambg * r7111 10/gemrb/trunk/gemrb/GUIScripts/LUProfsSelection.py: fixed max proficiency stars in bg1 chargen
[13:39:51] <lynxlynxlynx> odd mixing
[13:39:54] <fuzzie> did you fix the thief stuff yet?
[13:40:11] <fuzzie> there were problems there (which existed already) - it was missing a %, i think, and some other bugs
[13:41:01] <fuzzie> https://sourceforge.net/tracker/?func=detail&aid=2802437&group_id=10122&atid=310122 has my list
[13:48:37] <CIA-22> gemrb: 03avenger_teambg * r7112 10/gemrb/trunk/gemrb/GUIScripts/ (LUProfsSelection.py bg1/LevelUp.py): fixed proficiencies in bg1 levelup
[13:49:51] <Avenger> some of these is fixed
[13:53:38] <fuzzie> well, i fixed some, other people fixed some, but i think some are left :)
[13:55:10] <CIA-22> gemrb: 03avenger_teambg * r7113 10/gemrb/trunk/gemrb/GUIScripts/bg1/LevelUp.py: fill AC and HP labels in levelup
[13:56:30] <Avenger> what is the initial strref for the levelup screen textarea???
[13:57:35] <lynxlynxlynx> the overview details?
[13:58:17] <lynxlynxlynx> GetLevelUpNews
[13:58:33] <lynxlynxlynx> it is already used
[13:58:43] <Avenger> 5259 is some nonsense in bg1
[13:59:59] <Avenger> this is totally different than bg1
[14:00:14] <lynxlynxlynx> yes, no match for the string either
[14:00:15] <Avenger> none of those strrefs are good in bg1
[14:01:33] <Avenger> i think bg1 doesn't have this news stuff?
[14:01:37] <Avenger> just a static text?
[14:02:59] <Avenger> can someone start bg1 and check it?
[14:03:35] <lynxlynxlynx> http://gamerzines.files.wordpress.com/2009/05/baldurs-gate-level-up.png
[14:03:39] <lynxlynxlynx> no overview indeed
[14:04:50] <Avenger> hmm whats that, GetStatOverview?
[14:07:12] <Avenger> oh, we already have that, we just don't have the 'info' part
[14:09:07] <lynxlynxlynx> http://www.giantitp.com/forums/showthread.php?t=94948 <-- almost all the bg1 screenshots one could want
[14:10:29] <CIA-22> gemrb: 03avenger_teambg * r7114 10/gemrb/trunk/gemrb/GUIScripts/bg1/LevelUp.py: fixed level up info
[14:14:18] <lynxlynxlynx> you can delete the whole GetLevelUpNews function
[14:19:50] <fuzzie> lynxlynxlynx: neat
[15:02:12] <CIA-22> gemrb: 03avenger_teambg * r7115 10/gemrb/trunk/gemrb/plugins/Core/MapControl.cpp: don't draw unexplored mapnotes
[15:04:03] <lynxlynxlynx> cool, /goes to remove that from the list
[15:04:34] <lynxlynxlynx> heh, already tagged
[15:04:55] <lynxlynxlynx> verifying
[15:08:00] <Avenger> i did some playthrough in original soa, making a new savegame every 10 minutes or so
[15:08:25] <Avenger> so now i got lots of saves in various places: circus, nalia's keep and umar hills
[15:08:32] <Avenger> ahh and the planar sphere
[15:09:30] <Avenger> the shadow altar creates lots of shadows during the dialog with the shade lord
[15:09:50] <Avenger> or maybe after the dialog
[15:13:06] <lynxlynxlynx> here are fuzzie's notes for the sidequests http://fuzzie.org/nfs/gemrb/soa.html
[15:14:51] <Avenger> looks like she didn't go to the shadow part yet
[15:15:22] <lynxlynxlynx> i think she did, but there are no notes
[15:18:09] <Avenger> i think i broke area transitions
[15:18:49] <Avenger> when all actors are selected, and you try to go past an entrance, they usually don't pass. You need to select one actor, that goes through
[15:19:01] <Avenger> bringing the whole team then
[15:28:21] <CIA-22> gemrb: 03avenger_teambg * r7116 10/gemrb/trunk/gemrb/plugins/Core/Interface.cpp: fixed equipping ranged weapons
[15:40:09] <-- Avenger has left IRC ("bye!")
[15:51:29] <CIA-22> gemrb: 03lynxlupodian * r7117 10/gemrb/trunk/gemrb/GUIScripts/bg1/LevelUp.py: bg1: removed two unused functions from the LevelUp.py copy
[16:51:00] <fuzzie> the problem with my SoA walkthrough is that i forgot how it was meant to be
[16:51:11] <fuzzie> so i didn't mind it creating shadows :)
[16:51:36] <fuzzie> so i have to update those notes sometime
[16:52:21] <felixthered> I just synced and rebuilt and now I'm getting a run-time check failure #0 after the message:
[16:52:35] <felixthered> [PluginMgr]: Loading Exports for ACM File Importer.
[16:54:22] <lynxlynxlynx> well what's the error?
[16:54:35] <felixthered> Value of ESP not saved across function calls.
[16:56:12] <lynxlynxlynx> compiler?
[16:56:19] <felixthered> VS 8
[16:59:52] <lynxlynxlynx> doesn't look nice
[16:59:54] <felixthered> Hmm.. switched the startup projects (to Core) and now it works, except for the SDL bug.
[17:04:22] <lynxlynxlynx> good
[17:04:47] <felixthered> Now I've rebuilt SDL, that bug is gone, too.
[17:05:41] <felixthered> I'm struggling to figure out the architecture. It looks like python drives a system written in C/C++.
[17:06:21] <lynxlynxlynx> something like that
[17:09:07] <felixthered> If I create a character in bg1, they have 0 hp. Where should I start to look to fix that bug?
[17:09:28] <fuzzie> try some print statements in the python, i guess
[17:10:52] <fuzzie> this makes me wonder where we set HP, grepping doesn't make anything clear
[17:13:07] <fuzzie> oh damn, i get 0 HP too
[17:13:18] <fuzzie> damn damn damn, when did that happen?
[17:13:26] <fuzzie> maybe Avenger broke this trying to conslidate the HP code
[17:15:57] <lynxlynxlynx> SetupHP
[17:16:05] <fuzzie> there's no SetupHP call in bg1 chargen
[17:16:10] <lynxlynxlynx> and in case you two forgot, the day started with this :)
[17:16:33] <fuzzie> did it get refactored out?
[17:17:46] <lynxlynxlynx> OpenLevelUpWindow calls it
[17:18:15] <fuzzie> sure, but that's all this new LevelUp code, how did it work before?
[17:18:15] <lynxlynxlynx> yeah, bg2 has it in CharGen9
[17:18:38] <lynxlynxlynx> i don't know
[17:18:40] <fuzzie> i'm going through old commits but i don't see anyone changing IE_HITPOINT code for months, and it worked before that
[17:19:50] <lynxlynxlynx> charbase has 10hp
[17:20:09] <fuzzie> r7030 was Avenger's HP fixes, so that is my guess for breaking it, but if it never worked properly, no wonder..
[17:21:32] <felixthered> I was able to create and use bg1 characters with 0.50
[17:23:48] <fuzzie> i don't see any actual logic changes in there, either.
[17:25:11] <fuzzie> so i'm very confused, but i guess using that SetupHP call as in bg2 might help
[17:25:25] <fuzzie> don't like not knowing why it worked before, though..
[17:25:49] <lynxlynxlynx> end of gemrb/GUIScripts/bg1/GUICG4.py looks like a good place
[17:26:34] <lynxlynxlynx> or setAccept similar to where bg2 has it
[17:26:40] <felixthered> Thanks for the pointers.
[17:27:40] <fuzzie> it was definitely working when we were debugging the Gorion cutscene
[17:27:46] <fuzzie> i wonder when that was
[17:41:30] <felixthered> Yes, calling SetupHP at the end of GUICG4.py fixed the problem.
[17:43:07] <fuzzie> are you using the svn version? a diff to apply would be helpful :)
[17:43:22] <felixthered> Yes, I'm using TortoiseSVN.
[17:44:27] <felixthered> Index: GUICG4.py
[17:44:27] <felixthered> ===================================================================
[17:44:27] <felixthered> --- GUICG4.py (revision 7117)
[17:44:27] <felixthered> +++ GUICG4.py (working copy)
[17:44:27] <felixthered> @@ -22,6 +22,7 @@
[17:44:27] <felixthered> from CharGenCommon import *
[17:44:29] <felixthered> from GUICommon import CloseOtherWindow
[17:44:31] <felixthered> +from GUICommonWindows import SetupHP
[17:44:33] <felixthered> AbilityWindow = 0
[17:44:35] <felixthered> @@ -270,5 +271,6 @@
[17:44:37] <felixthered> StatID = AbilityTable.GetValue (i, 3)
[17:44:39] <felixthered> StatValue = GemRB.GetVar ("Ability "+str(i))
[17:44:41] <felixthered> GemRB.SetPlayerStat (MyChar, StatID, StatValue)
[17:44:43] <felixthered> + SetupHP(MyChar)
[17:44:45] <felixthered> next()
[17:46:32] <fuzzie> 'felixthered' is ok as a credit?
[17:47:12] <felixthered> Yes
[17:47:44] <CIA-22> gemrb: 03fuzzie * r7118 10/gemrb/trunk/gemrb/GUIScripts/bg1/GUICG4.py: call SetupHP from chargen (patch from felixthered)
[17:48:00] <felixthered> W00T!
[17:48:08] <fuzzie> i haven't applied it quite the same (moved the SetupHP up by one level, don't need to call it in the loop)
[17:48:13] <fuzzie> but it works for me, so hooray :)
[17:48:25] <felixthered> Oh, okay.
[17:49:42] <felixthered> Oh, that's right. I just started learning Python.
[17:50:37] <felixthered> The lack of braces was unsettling when I started.
[17:50:47] <fuzzie> so, i get lynx's 'Level Up' text/sound when i gain enough xp in bg1
[17:51:05] <fuzzie> but then Avenger's dualswap[classid-1] breaks any attempt to actually level up
[17:52:25] <fuzzie> oh, this is maybe .pyc files lying around again?
[17:53:01] --> Avenger has joined #gemrb
[17:53:05] --- ChanServ gives channel operator status to Avenger
[17:53:28] <fuzzie> yes indeed, meh
[17:53:30] <Avenger> well, i found 'some' spots which didn't use stats
[17:53:49] <Avenger> now import works in bg2
[17:54:25] <Avenger> takes some time to upload
[17:56:11] <CIA-22> gemrb: 03avenger_teambg * r7119 10/gemrb/trunk/gemrb/ (22 files in 3 dirs): fixed chargen in bg2 to use stats
[17:57:06] <Avenger> so fuzzie, you got some residue files too ? :) i said that already. install should probably clean up before putting files in place
[17:57:19] <fuzzie> i run in-place in the svn tree
[17:57:25] <fuzzie> so i don't think you can fix that one
[17:57:39] <fuzzie> you can just wire a 'make uninstall && make install' if you install, i think?
[17:58:00] <Avenger> probably yes
[17:58:13] <Avenger> but i'm not sure i want all of uninstall
[17:58:17] <Avenger> do i?
[17:58:58] <fuzzie> i'm not sure it even removes the pyc files
[17:59:23] <Avenger> this fix you got from felix is bg1 specific?
[17:59:28] <fuzzie> yes
[17:59:34] <fuzzie> it's already there in bg2
[17:59:39] <fuzzie> maybe you know what the underlying problem is?
[17:59:49] <fuzzie> bg1 chargen was making 0 HP chars
[18:00:20] <fuzzie> it worked a few weeks ago, but i don't see how it ever worked, and i don't see any changes in svn (except your changes to make it use BaseStat)
[18:00:55] <Avenger> setuphp in bg2 is called, i guess
[18:01:16] <Avenger> in bg1 it might have been cut out, or never called
[18:01:43] <Avenger> i guess it used some other way, for setting level 1 hp
[18:02:01] <Avenger> it was not this generic way which works for multiple levels
[18:02:18] <fuzzie> i didn't find *any* code which ever changed IE_HITPOINTS in bg1 chargen
[18:02:37] <Avenger> funny, and it worked?
[18:02:41] <fuzzie> same for iwd
[18:02:50] <fuzzie> well, the base character has them
[18:02:55] <Avenger> well, maybe it used the hp from base
[18:03:04] <Avenger> which is obviously not correct
[18:03:11] <fuzzie> lynx said that a bit ago, i guess it's the only way it could have worked
[18:03:19] <fuzzie> but if that's the case then i guess it needs doing for all the games
[18:03:29] <Avenger> well, yes, except pst
[18:03:34] <Avenger> pst has a hitpoint setting
[18:03:37] <fuzzie> well, yes, pst has completely different code
[18:03:49] <fuzzie> and NewLife.py calculates it itself
[18:03:51] <Avenger> i would work on bg1 first
[18:03:59] <Avenger> it is now almost good
[18:04:06] <Avenger> with all the chargen and level up stuff
[18:04:11] <fuzzie> pst's underlying code is mostly "if (TNO) { special code } else { bg1 code }"
[18:04:21] <Avenger> and bg2 can now import chars :)
[18:04:23] <fuzzie> so bg1 working would be very helpful for that too :)
[18:04:27] <fuzzie> yay for that
[18:04:56] <fuzzie> if bg1 levelup works then i would like to do a bg1 walkthrouhg
[18:05:11] <fuzzie> it can't be that hard to make bg1 work, it has so few scripts
[18:05:21] <fuzzie> i think the spawns might be a pain though.
[18:05:28] <fuzzie> but there seems to be a lot of info on the forums about them.
[18:06:14] <lynxlynxlynx> what is so special about them?
[18:07:31] <fuzzie> well, we just don't really implement much of the code in gemrb now, i think
[18:07:58] <fuzzie> bg2 doesn't use any of the complicated bits
[18:09:21] <lynxlynxlynx> bg1 was fun for not having the summoning limit
[18:09:47] <fuzzie> yes, i've watched quite a few people have fun with that :)
[18:11:44] --> barra_library has joined #gemrb
[18:13:05] --- barra_library is now known as barra_home
[18:13:07] <felixthered> Where would I look to find the player info screen?
[18:13:22] <lynxlynxlynx> press r
[18:13:30] <lynxlynxlynx> or the head icon
[18:13:44] <felixthered> Sure, but where in the code?
[18:14:02] <fuzzie> GUIREC for Records, i think?
[18:14:06] <fuzzie> again in the python
[18:14:36] <felixthered> Thanks!
[18:15:15] <lynxlynxlynx> problems?
[18:15:43] <felixthered> Just a small bug. The class is lowercase in the right-hand pane.
[18:15:56] <lynxlynxlynx> hehehe
[18:16:17] <lynxlynxlynx> a fighter?
[18:16:23] <fuzzie> oh gosh, i hate that bug
[18:16:30] <felixthered> Yes, it shows "fighter:"
[18:17:54] <lynxlynxlynx> tokenised
[18:18:38] <felixthered> Can't seem to find GetActorClassTitle
[18:19:00] <lynxlynxlynx> gemrb/GUIScripts/GUICommon.py:393
[18:20:26] <felixthered> Thanks. I'd forgot to put those in the solution.
[18:21:10] <lynxlynxlynx> not sure what FIGHTERTYPE can be besides a kit, which bg1 doesn't support anyway
[18:21:25] <lynxlynxlynx> even in bg2 we get the info for kits from their own table
[18:22:13] <fuzzie> TLKImp is hardcoded to use strref 10086? that is .. nasty
[18:22:38] <lynxlynxlynx> yeah, just saw it
[18:22:48] <lynxlynxlynx> 10174 is the capital ref
[18:22:59] <felixthered> Okay, I'm heading out for lunch.
[18:23:14] <lynxlynxlynx> in all games but pst, of course
[18:23:33] <lynxlynxlynx> same with 16799
[18:24:20] <fuzzie> i guess pst doesn't use many tokens at all
[18:24:49] <lynxlynxlynx> 738049bb (balrog994 2004-02-24 22:20:44 +0000 244) Decoded = GetString( 10086, 0 );
[18:25:15] <lynxlynxlynx> and that's a dudd, so it is even older
[18:25:26] <lynxlynxlynx> i'll just change it to 10174
[18:25:33] <fuzzie> sounds good to me
[18:25:44] <fuzzie> maybe add a comment noting why
[18:26:08] <lynxlynxlynx> i don't know why it is as it is
[18:26:20] <lynxlynxlynx> the explanation for the change will be in the commit message
[18:27:58] <lynxlynxlynx> luckily no matches in the dialogs
[18:28:10] <fuzzie> it seems like the kind of thing that might get reverted back-and-forth, that's all
[18:28:30] <fuzzie> where are the 7201, 7205, 7211-7215 strings used at all, i wonder
[18:29:17] <lynxlynxlynx> reading some g3
[18:31:39] <lynxlynxlynx> "I include it with other tokens not meant for conversational dialogs, such as <MAGESCHOOL> and <FIGHTERTYPE>, which work on the player record screen but don't do much in a dialog. (They return values, but not meaningful ones.)"
[18:31:45] <lynxlynxlynx> i'm happy
[18:32:07] <lynxlynxlynx> i was a bit disappointed that there is no titlecase conversion flag
[18:32:57] <fuzzie> perhaps they should be set as tokens from the guiscript
[18:33:13] <CIA-22> gemrb: 03lynxlupodian * r7120 10/gemrb/trunk/gemrb/ (2 files in 2 dirs):
[18:33:13] <CIA-22> gemrb: hardcode FIGHTERTYPE to "Fighter" instead of "fighter", so the uses in
[18:33:13] <CIA-22> gemrb: guirec and cg are correct; no other use is known
[18:33:26] <lynxlynxlynx> perhaps
[18:36:25] <lynxlynxlynx> hmpf
[18:36:46] <lynxlynxlynx> bg2 cg is now broken
[18:37:12] <lynxlynxlynx> the halfling gets the gnome's class choices
[18:38:09] <lynxlynxlynx> yep, off-by-1
[18:41:09] <lynxlynxlynx> great, no more debug prints
[18:42:09] <fuzzie> do you want me to try putting them back in?
[18:42:24] <fuzzie> i think the code is mostly just moved, shouldn't be hard
[18:43:48] <lynxlynxlynx> i see where the problem is
[18:43:50] <lynxlynxlynx> - Race = GemRB.GetVar("Race")-1
[18:43:52] <lynxlynxlynx> + Race = GemRB.GetVar("Race")
[18:44:07] <lynxlynxlynx> Avenger: any special reason you did that?
[18:45:41] <fuzzie> he changed the SetVarAssoc to be -2 instead of -1
[18:46:07] <fuzzie> to try and get rid of the -1s everywhere, i guess
[18:46:13] <fuzzie> it didn't work?
[18:46:42] <lynxlynxlynx> i get the right description and the overview name, so it must be something else
[18:47:15] <fuzzie> GUICG4 is still doing GetVar("Race")-1
[18:47:41] <fuzzie> also GUICG10, others?
[18:47:57] <fuzzie> this seems unlikely to work for Import, did i forget to update or something?
[18:48:40] <fuzzie> ah
[18:48:54] <fuzzie> no, it indeed doesn't work for Import
[18:49:03] <lynxlynxlynx> maybe it assumes ordering
[18:49:04] <fuzzie> all this code is still using GetVar everywhere
[18:49:19] <fuzzie> so the moment i go back, it all breaks
[18:49:53] <fuzzie> but anyway, maybe try changing the other GetVar("Race") things to get rid of the -1 and see if it's still off-by-1.. i don't really know this stuff well enough to know what's right or wrong
[18:52:03] <lynxlynxlynx> yeah, good plan
[18:57:49] <lynxlynxlynx> a bit of an improvement, but not enough
[19:00:24] <Avenger> i work on guicg4
[19:01:11] <lynxlynxlynx> i changed all the others, but reseting doesn't work properly
[19:01:12] <Avenger> i went back and forth a lot
[19:01:53] <-- pupnik has left IRC (Connection timed out)
[19:44:58] <Avenger> wow segfault in chargen
[19:45:31] <fuzzie> not the spell book code again, i hope?
[19:55:45] <-- dawid has left IRC (Excess Flood)
[19:56:34] --> dawid has joined #GemRb
[20:08:28] <Avenger> lots of code to fix
[20:08:39] <Avenger> if you go back, the proficiency effects need to be removed
[20:10:48] <-- tombhadAC has left IRC (Read error: 110 (Connection timed out))
[20:11:57] --> tombhadAC has joined #gemrb
[20:31:38] <lynxlynxlynx> this was working before
[20:32:36] <Avenger> not at all
[20:32:53] <lynxlynxlynx> proficiencies and classes did
[20:33:14] <Avenger> you cannot remove attached proficiency effects
[20:33:51] <fuzzie> what lynx is maybe trying to say is, maybe we should fix it to how it worked before first?
[20:33:58] <Avenger> of course it "worked" before, if you didn't set the proficiencies as effect, you used variables
[20:33:59] <fuzzie> because right now it doesn't work at all
[20:34:09] <fuzzie> and it would be nice to fix that before fixing the back behaviour.
[20:34:22] <Avenger> i'm working on it
[20:35:13] <lynxlynxlynx> it applied the effect
[20:35:22] <lynxlynxlynx> i'm talking about bg2 if there is any doubt
[20:35:58] <lynxlynxlynx> it was probably done at the very end, so there was no undoing complication though
[20:37:46] <Avenger> it couldn't even resolve the effectnames...
[20:37:49] <Avenger> i wonder why
[20:42:02] <-- Avenger has left IRC ("bye!")
[21:26:48] --> Avenger has joined #gemrb
[21:26:52] --- ChanServ gives channel operator status to Avenger
[21:28:54] <CIA-22> gemrb: 03avenger_teambg * r7121 10/gemrb/trunk/gemrb/ (14 files in 3 dirs): fixed some more chargen
[21:29:06] <Avenger> old py files can make you cry, delete gui scripts before install
[21:29:35] <Avenger> now profs are deleted after going back and forth
[21:30:25] <Avenger> there is one thing i couldn't fix: imported character proficiencies are not printed in the chargen. They are there, but the effects are never applied, so they couldn't set the stats.
[21:34:28] <lynxlynxlynx> +GemRB.SetPlayerStat (MyChar, IE_NUMBEROFATTACKS, 1) <-- this is half an attack
[21:35:04] <Avenger> oh shit
[21:35:06] <Avenger> :)
[21:35:13] <Avenger> are you sure?
[21:35:21] <Avenger> eww, yes
[21:37:45] <Avenger> hehe, i just that strange 2, and forgot it is number of attacks in 2 rounds
[21:37:57] <Avenger> i just *saw*
[21:37:57] <CIA-22> gemrb: 03avenger_teambg * r7122 10/gemrb/trunk/gemrb/ (4 files in 3 dirs): fixed debug prints and number of attacks
[21:40:34] <lynxlynxlynx> another thing to fix: as a sorcerer i got to choose a hated race
[21:41:03] <Avenger> huh
[21:41:11] <Avenger> how could that happen
[21:41:19] <Avenger> this is something new, i guess?
[21:41:31] <lynxlynxlynx> yes
[21:43:21] <lynxlynxlynx> i don't see how
[21:43:39] <Avenger> did you create it, or imported?
[21:44:01] <lynxlynxlynx> create
[21:45:10] <Avenger> Class: 19
[21:45:12] <Avenger> ClassRow: 18
[21:45:14] <Avenger> ClassName: CLERIC_RANGER
[21:45:16] <Avenger> Tablename: HATERACE
[21:45:39] <Avenger> i see why
[21:46:11] <Avenger> clskills and classes are not the same rows?
[21:46:23] <Avenger> i guess clskills misses some
[21:47:22] <Avenger> probably just the order is different
[21:47:23] <lynxlynxlynx> clskills has another row
[21:47:39] <lynxlynxlynx> just do a lookup, don't assume
[21:49:04] <lynxlynxlynx> and doesn't have the barbarian
[21:49:25] <CIA-22> gemrb: 03avenger_teambg * r7123 10/gemrb/trunk/gemrb/GUIScripts/bg2/GUICG15.py: fixed racist sorcerors
[21:49:26] <Avenger> yes, i should get the rowname from the same table
[21:51:23] <lynxlynxlynx> hehe
[21:51:40] <lynxlynxlynx> the new char is created with 0 hp, like in bg1 before
[21:51:42] <lynxlynxlynx> instadeath
[21:51:59] <Avenger> huh
[21:52:06] <Avenger> no setuphp call?
[21:53:08] <lynxlynxlynx> now i got the hate race with a wild mage
[21:53:29] <Avenger> did you delete all old files?
[21:53:39] <lynxlynxlynx> no, i'll do it now
[21:53:42] <Avenger> i started a new char, and the cutscene works
[21:54:04] <Avenger> i guess it has hp
[21:54:47] <lynxlynxlynx> i still get the haterace thing after deleting all the pyc files
[21:55:09] <Avenger> delete py files too, if they are not coming from this install
[21:55:18] <lynxlynxlynx> hp is fine
[21:55:22] <lynxlynxlynx> i don't install things
[21:55:37] <Avenger> ok, so the hp is fixed now?
[21:55:40] <lynxlynxlynx> yes
[21:56:04] <Avenger> *** glibc detected *** gemrb: corrupted double-linked list: 0x000000000163f950 ***
[21:56:05] <Avenger> meeeh
[21:57:06] <Avenger> somewhere in sdlvideo!
[21:57:18] <Avenger> of course that doesn't mean much
[21:57:26] <Avenger> could be some stray pointer bombing sdlvideo
[21:57:39] <lynxlynxlynx> yeah, good night
[21:57:52] <Avenger> bye
[21:58:21] <-- lynxlynxlynx has left IRC (Read error: 54 (Connection reset by peer))
[22:03:14] <fuzzie> Avenger: need help?
[22:03:31] <Avenger> i need help to find the sdl bomber
[22:06:21] <wjp> is it reproducable?
[22:06:53] <CIA-22> gemrb: 03avenger_teambg * r7124 10/gemrb/trunk/gemrb/GUIScripts/bg2/GUICG15.py: fixed haterace again
[22:06:56] <Avenger> no
[22:07:00] <Avenger> it was totally random
[22:07:09] <Avenger> it happened on quit
[22:07:50] <Avenger> i did only chargen stuff, and the start of the irenicus cutscene
[22:08:04] <Avenger> i suspect the cutscene
[22:08:21] <Avenger> because it happened only when i went there
[22:08:36] <Avenger> i played it till imoen opened the cell
[22:09:48] <Avenger> i have to sleep now, fuzzie, if you got time, you could fix the remaining problems in the cg, there shouldn't be too many now
[22:10:02] <Avenger> bye
[22:10:05] <-- Avenger has left IRC ("bye!")
[22:10:08] <-- dawid has left IRC ("Not leaving, quitting.")
[22:14:46] <wjp> hm, quite a few valgrind warnings on SoA startup
[22:15:02] <fuzzie> python doesn't seem particularly valgrind friendly
[22:15:14] <wjp> even ignoring the python free ones
[22:15:48] <wjp> ==29460== Use of uninitialised value of size 8
[22:15:49] <wjp> ==29460== at 0xE0EEEE8: BMPImp::GetPalette(int, int, Color*) (BMPImp.cpp:351)
[22:15:53] <wjp> ==29460== Conditional jump or move depends on uninitialised value(s)
[22:15:53] <wjp> ==29460== at 0x4F050C5: Actor::RefreshEffects(EffectQueue*) (Actor.cpp:1962)
[22:16:08] <fuzzie> maybe we forget to set the colour stats now
[22:16:13] <wjp> ==29460== Conditional jump or move depends on uninitialised value(s)
[22:16:13] <wjp> ==29460== at 0x4F01636: Actor::Die(Scriptable*) (Actor.cpp:2822)
[22:16:22] <wjp> ==29460== Conditional jump or move depends on uninitialised value(s)
[22:16:22] <wjp> ==29460== at 0x4F123CA: Inventory::SetEquippedSlot(short, unsigned short) (Inventory.cpp:1119)
[22:16:25] <wjp> ==29460== Conditional jump or move depends on uninitialised value(s)
[22:16:25] <wjp> ==29460== at 0x4F121B8: Inventory::HasItemInSlot(char const*, unsigned int) const (Inventory.cpp:245)
[22:16:31] <wjp> ==29460== Use of uninitialised value of size 8
[22:16:31] <wjp> ==29460== at 0x4F121BA: Inventory::HasItemInSlot(char const*, unsigned int) const (Inventory.cpp:248)
[22:16:35] <wjp> ==29460== Invalid write of size 2
[22:16:35] <wjp> ==29460== at 0x4EFC53E: Actor::SetEquippedQuickSlot(int, int) (Actor.cpp:4938)
[22:16:39] <wjp> ==29460== Invalid read of size 2
[22:16:39] <wjp> ==29460== at 0x4EFC54D: Actor::SetEquippedQuickSlot(int, int) (Actor.cpp:4940)
[22:16:44] <fuzzie> ok, that sounds like the actor never got setup
[22:16:45] <wjp> ==29460== Conditional jump or move depends on uninitialised value(s)
[22:16:45] <wjp> ==29460== at 0x4F050C5: Actor::RefreshEffects(EffectQueue*) (Actor.cpp:1962)
[22:17:21] <fuzzie> did you zap your *.pyc?
[22:17:47] <wjp> this is the first time I ran this build of gemrb
[22:18:00] <wjp> ==29460== Conditional jump or move depends on uninitialised value(s)
[22:18:00] <wjp> ==29460== at 0x4F01636: Actor::Die(Scriptable*) (Actor.cpp:2822)
[22:18:04] <wjp> ==29460== Conditional jump or move depends on uninitialised value(s)
[22:18:04] <wjp> ==29460== at 0x4F0164E: Actor::Die(Scriptable*) (Actor.cpp:2822)
[22:18:10] <wjp> (and then Imoen shows up)
[22:18:46] <fuzzie> 2822 is AppearanceFlags? that doesn't actually matter, although we should set to 0 in constructor
[22:19:13] <wjp> ==29460== Syscall param write(buf) points to uninitialised byte(s)
[22:19:15] <wjp> [...]
[22:19:18] <wjp> ==29460== by 0x64D8520: fwrite (in /lib64/libc-2.9.so)
[22:19:20] <wjp> ==29460== by 0x4EF0BEB: FileStream::Write(void const*, unsigned int) (FileStream.cpp:194)
[22:19:29] <wjp> [...]
[22:19:33] <wjp> ==29460== by 0xB94180D: CREImp::PutHeader(DataStream*, Actor*) (CREImp.cpp:2435)
[22:19:35] <fuzzie> :1962 in RefreshEffects seems more worrying
[22:19:37] <wjp> [...]
[22:19:38] <wjp> ==29460== Address 0x41d4ebe is not stack'd, malloc'd or (recently) free'd
[22:20:33] <fuzzie> and i guess SetEquippedQuickSlot should assert on invalid slot ids
[22:21:15] <wjp> http://www.usecode.org/gemrb/valgrind_SoA_startup.log
[22:21:18] <fuzzie> i guess a list to do tomorrow night :) thanks
[22:22:06] * wjp should be going now; good night
[22:32:06] --> dawid has joined #GemRb