#gemrb@irc.freenode.net logs for 24 Jul 2011 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:51:53] <-- |Cable| has left IRC (*.net *.split)
[01:03:34] --> |Cable| has joined #gemrb
[07:26:49] --> lynxlynxlynx has joined #gemrb
[07:26:49] <-- lynxlynxlynx has left IRC (Changing host)
[07:26:49] --> lynxlynxlynx has joined #gemrb
[07:26:49] --- ChanServ gives channel operator status to lynxlynxlynx
[08:18:59] <-- lynxlynxlynx has left IRC (*.net *.split)
[08:20:18] --> lynxlynxlynx has joined #gemrb
[08:20:19] <-- lynxlynxlynx has left IRC (Changing host)
[08:20:19] --> lynxlynxlynx has joined #gemrb
[08:20:19] --- ChanServ gives channel operator status to lynxlynxlynx
[08:23:41] --> test32894789234u has joined #gemrb
[08:59:08] <CIA-26> GemRB: 03lynxlupodian * r76c7c8db017e 10gemrb/gemrb/core/Game.cpp:
[08:59:08] <CIA-26> GemRB: pst: don't set the chapter in journal entries, since the value is bogus
[08:59:08] <CIA-26> GemRB: fixes no journal being displayed
[09:29:56] <CIA-26> GemRB: 03lynxlupodian * r77fe12533a01 10gemrb/gemrb/GUIScripts/pst/GUIJRNL.py: pst: allow esc-aping from the journal
[09:52:20] <CIA-26> GemRB: 03lynxlupodian * rb9a8b4e9030c 10gemrb/NEWS: NEWS for 0.6.5
[10:14:38] --> Avenger has joined #gemrb
[10:14:40] <Avenger> hi!
[10:15:13] <Avenger> lynx, don't even try to retrieve the chapter variable, if there are no variables :)
[10:16:07] <Avenger> you can remove 2-3 lines for free
[10:17:19] <Avenger> ieDword chapter = 0;
[10:17:21] <Avenger> if (!core->HasFeature(GF_NO_NEW_VARIABLES)) {
[10:17:22] <Avenger> locals->Lookup("CHAPTER", chapter);
[10:17:24] <Avenger> }
[10:17:26] <Avenger> je->Chapter = (ieByte) chapter;
[10:18:06] <lynxlynxlynx> you're right, i didn't see it was inited to 0
[10:18:33] <Avenger> it is inited because lookup not always retrieves a value
[10:19:53] <Avenger> btw, i'm still deep in the ida db trying to find the spell learning stuff :(
[10:20:14] <Avenger> i forgot where is it... so i just randomly mark functions i recognise :)
[10:20:36] <Avenger> maybe fuzzie can help
[10:20:55] <fuzzie> i am wondering
[10:21:25] <Avenger> fuzzie, do you know where is it? any pointers may help
[10:21:31] <fuzzie> it looks like it's just hardcoded to use usage count 0?
[10:21:33] <Avenger> i tried to find it from the gui side
[10:22:04] <Avenger> after i tried to find it from the gain spell side too
[10:22:08] <fuzzie> i mean, it does GetUsageCount(0) then SetUsageCount(0, result - 1) right there in the copy
[10:22:21] <Avenger> tell me an offset :P
[10:22:41] <fuzzie> i'm far too lazy to look at the x86
[10:22:52] <lynxlynxlynx> btw, if it is too hard or very intrusive, i'd rather you add the proftype tables for iwd
[10:22:54] <fuzzie> but the ppc is very clear
[10:23:02] <Avenger> tell me a ppc function name then :P
[10:23:12] <fuzzie> oh, well, it's called 'CopySpell' :)
[10:23:34] <Avenger> CScreenInventory::CopySpell(void)> ?
[10:23:38] <fuzzie> yes
[10:24:08] <Avenger> btw, i marked all gamesprite/gamearea/infgame and lots of scriptable functions :)
[10:24:33] <Avenger> but my db is still only 119M, i wonder how you got 140 if you don't even look at it
[10:24:47] <fuzzie> it gets the item, makes sure it's a scroll, checks it has the ability, subtracts 1 from usage count 0, then manually handles any learning effects and does a message otherwise, i guess?
[10:25:03] <fuzzie> well, i added comments all over my copy
[10:25:13] <fuzzie> so, maybe ida is just very inefficient with them
[10:25:14] <Avenger> i KNOW once i saw it, but i was without the ppc listing, and i forgot where is it :)
[10:25:28] <CIA-26> GemRB: 03lynxlupodian * rfd0ebc75ea68 10gemrb/gemrb/core/Game.cpp: pst: simplify 76c7c8db017e2ec
[10:25:32] <CIA-26> GemRB: 03lynxlupodian * r82b08c224eca 10gemrb/gemrb/core/ (Font.cpp GUI/TextArea.cpp):
[10:25:32] <CIA-26> GemRB: gcc 4.6 warning fixes
[10:25:32] <CIA-26> GemRB: it compiles fine now and no problems with Resource1-4 :s
[10:25:32] <CIA-26> GemRB: 03lynxlupodian * rd9db35d429d4 10gemrb/ (configure.in gemrb/includes/globals.h): 0.6.5-git
[10:25:42] <CIA-26> GemRB: 03lynxlupodian * r5a917670e114 10gemrb/NEWS: restart the NEWS cycle
[10:25:46] <fuzzie> Avenger: well, SetUsageCount isn't called from too many places
[10:25:58] <Avenger> uhm
[10:26:18] <fuzzie> i would mark that (try finding the call from TakePartyItem) and then see what calls it
[10:27:14] <Avenger> i still call it setitemcharge :)
[10:27:59] <Avenger> not many places, lol, 31 counts
[10:28:01] <fuzzie> well i don't mind either way, i just suggest a method :P
[10:28:09] <fuzzie> sure, but that's about 1 minute to check
[10:28:46] <Avenger> true, most of them i already identified :)
[10:28:57] <Avenger> i'm feeling lucky (like in google), the first pick seems to be the one
[10:28:57] <fuzzie> you do use the keyboard right? :)
[10:29:00] <fuzzie> yay
[10:30:10] <Avenger> yes, this is it: You have learned the maximum number of spells....
[10:30:55] <fuzzie> :)
[10:30:59] <Avenger> thanks fuzzie
[10:32:07] <CIA-26> GemRB: 03lynxlupodian 070.6.5 * rf689c7ea1015 10gemrb/gemrb/core/ (Font.cpp GUI/TextArea.cpp):
[10:32:07] <CIA-26> GemRB: gcc 4.6 warning fixes
[10:32:07] <CIA-26> GemRB: it compiles fine now and no problems with Resource1-4 :s
[10:32:08] <CIA-26> GemRB: 03lynxlupodian 070.6.5 * reb06bf3e0b66 10gemrb/CMakeLists.txt: CMakeLists.txt: also show the value of DISABLE_WERROR
[10:32:12] <CIA-26> GemRB: 03lynxlupodian * rb72028656780 10gemrb/CMakeLists.txt: CMakeLists.txt: also show the value of DISABLE_WERROR
[10:33:26] <lynxlynxlynx> let's see how our mail hook handles this
[10:33:57] <lynxlynxlynx> ah :)
[10:43:15] <lynxlynxlynx> Avenger: will you be able to make a windows binary later?
[10:58:16] <Avenger> sure
[11:00:17] <lynxlynxlynx> cool
[11:05:36] <Avenger> this copyspell thing sucks
[11:06:31] <Avenger> but i think we can fix this. All stacked items should use the first charge count
[11:06:38] <Avenger> not just scrolls
[11:07:06] <Avenger> so, if an item is stacked, don't use other charge counts
[11:08:48] <lynxlynxlynx> you plan to reorder headers?
[11:09:25] <lynxlynxlynx> the first header in scrolls is for direct casting btw
[11:50:50] <Avenger> no, it is not needed to reorder
[11:51:25] <Avenger> if an item is flagged as 'stacked' it shouldn't have multiple charge counts
[11:52:08] <Avenger> huh, my inventory looks ugly
[11:52:24] <Avenger> ok, not anymore
[11:53:14] <Avenger> ok, i reboot to linux, copy the newest commits, then reboot to win again and compile :)
[11:53:19] <-- Avenger has left IRC (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330])
[11:59:56] --> Avenger has joined #gemrb
[11:59:57] <Avenger> meh, this doesn't even compile :P
[12:00:20] <Avenger> -->/home/laci/gemrb/gemrb/core/GUI/TextArea.cpp:184: error: ignoring return value of ‘long unsigned int strtoul(const char*, char**, int)’, declared with attribute warn_unused_result
[12:01:32] <Avenger> it looks like you turned on some switch :)
[12:02:02] <Avenger> ahh, no, you removed the result
[12:06:25] <lynxlynxlynx> hmm, what -Wflags are you compiling with?
[12:07:01] <Avenger> ok, i fixed it with strchr
[12:08:01] <CIA-26> GemRB: 03avenger_teambg * rf97695690ea0 10gemrb/gemrb/core/GUI/TextArea.cpp: fixed both warnings
[12:09:41] <Avenger> it was -->warn_unused_result
[12:09:45] <-- Avenger has left IRC (Quit: bye!)
[12:10:32] <CIA-26> GemRB: 03avenger_teambg 070.6.5 * rad9295952cec 10gemrb/gemrb/core/GUI/TextArea.cpp: fixed both warnings
[12:10:34] <CIA-26> GemRB: 03lynxlupodian * rfd3ff3686ea1 10gemrb/gemrb/core/Scriptable/Actor.cpp: Actor: init multiclass in the constructor
[12:12:00] <lynxlynxlynx> that should be on by default :s
[12:13:07] <lynxlynxlynx> let's just blame the distributor
[12:49:37] --> Avenger has joined #gemrb
[12:49:45] <Avenger> ok lynx, new windows version is up
[12:50:00] <Avenger> change the irc topic :)
[12:50:04] <lynxlynxlynx> uhh
[12:50:14] <lynxlynxlynx> did you build from the release branch?
[12:50:31] <Avenger> hmm, why?
[12:50:42] <lynxlynxlynx> it's better
[12:51:02] <lynxlynxlynx> i didn't expect you'd go make a build asap
[12:51:32] <Avenger> i built from HEAD, with my last patch up, i guess
[12:51:35] <lynxlynxlynx> if you're done with fixing stuff, the branch is then final
[12:51:52] <Avenger> everything should be in it, except the multiclass change
[12:52:01] <lynxlynxlynx> the branch contains a few changes that are not fit for HEAD
[12:52:07] <Avenger> hmm
[12:52:16] <Avenger> well, i compiled from head
[12:52:32] <lynxlynxlynx> less spam (keyboard) and a hack that maybe nobody will hit
[12:52:48] <lynxlynxlynx> a fix for revival in stores
[12:57:57] <Avenger> so, where is that fix?
[12:58:21] <Avenger> i cannot tell you if it is in or not :)
[13:00:28] <Avenger> in gemrb cfg : Lines starting with # are -->ingored
[13:00:32] <Avenger> hehe
[13:04:55] <Avenger> ok, i'm back in the ida db, byebye
[13:04:56] <-- Avenger has left IRC (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330])
[13:08:28] <lynxlynxlynx> they definitely are not in, since you compiled HEAD ...
[13:52:08] --> Avenger has joined #gemrb
[13:52:08] --- ChanServ gives channel operator status to Avenger
[13:52:13] <Avenger> lynxlynxlynx use this in Item::UseCharge --> if ((header>=CHARGE_COUNTERS) || (header<0) || (MaxStackAmount>1) ) {
[13:52:29] <Avenger> it should fix the scroll bug
[13:52:54] <Avenger> also in Inventory, there is a bug about maxstackamount
[13:52:59] <lynxlynxlynx> will it also consume one charge?
[13:53:04] <Avenger> //if item is stacked mark it as so
[13:53:06] <Avenger> if (itm->MaxStackAmount>1) {
[13:53:08] <Avenger> slot->Flags |= IE_INV_ITEM_STACKED;
[13:53:09] <Avenger> }
[13:53:17] <lynxlynxlynx> aha
[13:53:19] <Avenger> yes, it will consume a charge, from the first charges
[13:53:44] <Avenger> add >1 in the condition
[13:54:07] <lynxlynxlynx> i already tagged for release, it'll just have to wait
[13:54:32] <Avenger> ok
[13:54:33] <lynxlynxlynx> so feel free to commit to master; it's all done from the release branch anyway
[13:54:47] <Avenger> i'm still in the db :)
[13:54:52] <Avenger> on windows
[13:55:36] <Avenger> i see stuff even more clearly, fuzzie did push me in the right direction again
[13:58:40] <Avenger> i wish the x86 code is so clean than the ppc version. x86 has about 3 times more lines.
[13:59:10] <-- Avenger has left IRC (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330])
[14:13:14] <CIA-26> GemRB: 03avenger_teambg * r9fb7c41accce 10gemrb/gemrb/ (5 files in 3 dirs): hack MaxStackAmount at load time, so it could be used as a simple boolean later
[14:16:10] --- lynxlynxlynx has changed the topic to: GemRB 0.6.5 | http://gemrb.org | Be wary of your words for there are Modron sensors in this channel: http://log.usecode.org/gemrblog.php | Hey <CHARNAME>, we need some awesome screenshots!
[14:16:31] <lynxlynxlynx> just the announcements left
[14:17:16] <lynxlynxlynx> the new sf file handling has a nice feature - you can see on how many mirrors a file has already propagated
[14:48:55] <lynxlynxlynx> Avenger: http://pastebin.com/DCBSDPPN <-- for the modding ring news
[16:01:16] <-- test32894789234u has left #gemrb
[17:32:13] --> Avenger has joined #gemrb
[17:56:16] <lynxlynxlynx> ynx> Avenger: http://pastebin.com/DCBSDPPN <-- for the modding ring news
[18:51:00] <Avenger> isn't that already there? :D
[19:24:49] <lynxlynxlynx> :)
[19:25:16] <lynxlynxlynx> this concludes the episode, time to break stuff again
[19:30:27] <Avenger> shall we take another hyper jump, into pst or iwd2, or just another cycle to stabilise bg2?
[19:31:08] <Avenger> if it is the first: find me a missing feature
[19:31:17] <Avenger> in pst
[19:31:23] <Avenger> iwd2 is just too easy :)
[19:38:49] <lynxlynxlynx> hmm
[19:40:05] <lynxlynxlynx> for pst, one big thing that is missing is the floating text system
[19:40:20] <lynxlynxlynx> but maybe you want something more interesting
[19:40:57] <lynxlynxlynx> oh
[19:41:13] <lynxlynxlynx> if iwd2 is so easy, why don't you fix its action bar? :)
[19:43:21] <Avenger> it is easy to spot something, and well, the action bar is scripting ---> lynx work :P
[19:43:45] <Avenger> well, the float text in pst is more like something to do
[19:43:54] <Avenger> i will do that
[19:44:12] <lynxlynxlynx> :)
[19:44:44] <lynxlynxlynx> the actionbar should be a scripting problem, but i doubt it, since it is constructed in the plugin/core
[19:46:31] <Avenger> nah, it is mere scripting problem
[19:46:59] <Avenger> i'm sure (95%) it can be fixed by script
[19:47:25] <Avenger> so, roll your d20 :D it cannot be a critical miss
[19:52:25] <lynxlynxlynx> i'll try a bisect of its guicommonwindows first
[19:53:33] <Avenger> and i think about where to put this float text
[19:53:56] <Avenger> it should be like a primitive scriptable object (with position and overheadtext only)
[19:54:08] <Avenger> but it is more like a gui object then :)
[19:54:32] <Avenger> it is placed in the map, like most scriptables
[19:54:47] <Avenger> rendered by the map
[19:54:49] <Avenger> meh
[19:55:04] <Avenger> i will just take Scriptable, and strip some parts of it into another file
[19:57:22] <Avenger> hmm, why the hardcodedsurge was put in the scriptable O_o
[19:59:09] <lynxlynxlynx> because the casting code is there
[19:59:52] <lynxlynxlynx> btw, we already have and use a function for overhead text in pst, but it doesn't do any of that fancy stacking and fading
[20:13:13] <Avenger> i will do a separate entity which is created at the position of the actor and then tied to the area.
[20:13:24] <Avenger> so an actor can create more than one of them
[20:13:29] <Avenger> hmm...
[20:13:44] <Avenger> the problem is they shouldn't be drawn on top of each other
[20:13:49] <Avenger> meh
[20:14:04] <lynxlynxlynx> it's sort of a stack from what i remember
[20:14:19] <Avenger> but it doesn't move with the actor, if i remember correctly
[20:15:10] <fuzzie> which text
[20:15:11] <fuzzie> ?
[20:15:37] <fuzzie> i mean, floating text in pst is nasty because you have to collision-detect the moving text rects
[20:16:22] <Avenger> ?
[20:16:49] <fuzzie> the text is queued, and the text moves with actors, and the text fades out immediately if it's colliding with other text
[20:17:05] <Avenger> oh, it moves with actors?
[20:17:19] <Avenger> then i should tie them to actors ....
[20:17:24] <Avenger> oh damn
[20:17:38] <fuzzie> i think the original engine maintains some kind of information about all the text visible in an area
[20:18:22] <fuzzie> but it's worth trying it in original pst :)
[20:19:41] <fuzzie> i mean, you shouldn't trust me on anything, maybe i had some insane modded engine
[20:28:44] <fuzzie> yes, unpatched pst, all actor text follows owner
[20:33:37] <Avenger> and they fade on collision?
[20:34:58] <fuzzie> yes, which means that if an actor moves, often all their text fades out
[20:35:31] <Avenger> and what if two actors are close to each other and hit each other, won't their texts collide?
[20:35:35] <fuzzie> what i *remember* is that the queued text (text that didn't get displayed yet due to lack of space) will get displayed only after everything else colliding got a chance
[20:35:50] <fuzzie> and that is where i got fed up and stopped trying to make it work
[20:36:43] <fuzzie> i'm not sure that's right, though, but it's not trivial to find a youtube example of it, and someone else is using windows box
[20:38:40] <lynxlynxlynx> ehehe, it was commit 84a870a0173894ed6a0c25afc that broke it
[20:41:11] <Avenger> is it script or c++ :D
[20:42:28] <lynxlynxlynx> c++, it's the point where the actionbar was extended for npcs
[20:44:00] <Avenger> i'm pretty sure it was just all other scripts updated and iwd2 neglected
[20:48:08] <lynxlynxlynx> it just got a fix for grouping
[20:48:41] <lynxlynxlynx> others did the same or similar
[20:49:24] <lynxlynxlynx> the most visible problem is that quickweapons are not there
[20:49:54] <lynxlynxlynx> probably related, since the first three slots are hardcoded
[20:58:56] --> pathy has joined #gemrb
[20:59:52] <-- pathy has left IRC (Client Quit)
[21:22:25] <Avenger> bye
[21:22:27] <-- Avenger has left IRC (Quit: bye!)
[21:53:51] <-- lynxlynxlynx has left IRC (Remote host closed the connection)