#gemrb@irc.freenode.net logs for 20 Dec 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:21:56] --> edheldil_ has joined #GemRb
[00:24:26] <-- Maighstir has left IRC (Quit: ~ Trillian Astra - www.trillian.im ~)
[00:34:35] <-- alban_ has left IRC (Ping timeout: 240 seconds)
[00:39:47] <-- edheldil_ has left IRC (Ping timeout: 240 seconds)
[01:04:44] --> barra_away has joined #GemRb
[01:07:47] <-- barra_home has left IRC (Ping timeout: 240 seconds)
[01:10:36] --- barra_away is now known as barra_home
[03:27:37] <-- jschall has left IRC (Ping timeout: 240 seconds)
[03:31:33] --> jschall has joined #GemRb
[03:31:33] <-- jschall has left IRC (Remote host closed the connection)
[05:08:33] <-- barra_home has left IRC (Quit: Verlassend)
[07:29:34] --> lynxlynxlynx has joined #GemRb
[07:29:34] --- ChanServ gives channel operator status to lynxlynxlynx
[07:59:37] --> Bo_Thomsen has joined #GemRb
[08:33:39] <edheldil> Good morning all!
[08:34:18] --- edheldil has changed the topic to: GemRB 0.6.3 | http://gemrb.sf.net | 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! | We now have our own domain, http://www.gemrb.org
[08:45:48] --> lubos has joined #GemRb
[09:27:00] <-- |Cable| has left IRC (Remote host closed the connection)
[10:34:18] <Lightkey> O_RLY
[10:35:14] <edheldil> heh
[10:37:35] <-- edheldil has left IRC (Remote host closed the connection)
[10:39:30] --> edheldil has joined #GemRb
[10:39:30] --- ChanServ gives channel operator status to edheldil
[11:01:40] --> Avenger has joined #GemRb
[11:01:41] --- ChanServ gives channel operator status to Avenger
[11:01:53] <Avenger> hi
[11:02:00] <fuzzie> hello
[11:03:07] <wjp> hi
[11:04:26] <Avenger> how are your exams, fuzzie?
[11:05:40] <fuzzie> have not had the first one yet, this exam period :)
[11:06:28] <fuzzie> well, unless you count the silly Dutch language/culture exam i took in november
[11:07:18] <Avenger> but they will be in december, right?
[11:07:43] <Avenger> hmm, maybe not
[11:08:06] <fuzzie> all mine are in january, this time around.
[11:08:30] <Avenger> so you got time for gemrb?
[11:08:34] <fuzzie> i should have had one on december 23rd, but i didn't have enough time to finish the homework, so not much point taking the exam. :)
[11:08:40] <fuzzie> so i have some time if there is anything in particular!
[11:09:10] <Avenger> nothing specific, unless you want to tackle the combat mess?
[11:09:39] <fuzzie> oh, i guess i should fix instants
[11:09:45] <fuzzie> but i still don't understand how they work
[11:10:57] <Avenger> i'm doing some less complicated stuff, just looking into iwd2 at parts i already know in other engines, also checking asc64's findings and finishing the mapping of stuff not in tobex
[11:11:27] <Avenger> i found some ugly stuff in iwd2 stack frames
[11:11:36] <fuzzie> Taimon talks about "the creature will do one action per AI round, but only if it is instant" which is what i was looking for
[11:11:40] <Avenger> the compiler recycles stack area :(
[11:11:57] <fuzzie> hehe, well, recycling makes sense
[11:12:14] <Avenger> so, part of the stack is used twice, once for object/action then later for an effv1 struct, or something like that
[11:12:25] <Avenger> yeah, but i cannot map the stack :(
[11:12:46] <Avenger> i doubt ida can have alternative maps
[11:13:29] <fuzzie> you would think it would be able to
[11:13:56] <Avenger> really? well, maybe not in 5.0?
[11:14:02] <Avenger> or i just couldn't find it
[11:14:47] <fuzzie> well, the decompiler release notes talk about coping with reused stack frame slots, you would think if they can do that, the disassembler would be able to soemhow
[11:14:48] <Avenger> this isn't crucial, it is just to have a fully marked function code
[11:16:26] <wjp> possibly there's a more elegant way, but maybe a union?
[11:17:05] <wjp> (ugly, I know...)
[11:17:33] <Avenger> well, i'm not sure ida can handle unions prettily
[11:17:46] <Avenger> even very simple ones cause it to choke
[11:17:59] <Avenger> like, a resref is sometimes used as 8 chars, and sometimes 2x4 dwords
[11:18:13] <Avenger> i defined a union, still it doesn't use the right union parts
[11:18:29] <wjp> 2x4 dwords? just for copying I guess?
[11:18:29] <Avenger> err 2 dwords, not 2x4 :)
[11:18:35] <wjp> um, right
[11:18:52] <Avenger> yes, it moves the resref around sometimes as dwords
[11:19:12] <wjp> I'd just make it a 8 char type then
[11:19:33] <wjp> it can then refer to the 2 dwords as 'var' and 'var+4'
[11:19:50] <Avenger> yes, that's what it does now, even with the union :)
[11:20:12] <wjp> you'll have to manually tell it which union var to use
[11:20:23] <wjp> ('t', I think?)
[11:20:23] <Avenger> hmm, can i?
[11:20:39] <wjp> I'd check, but am not at home right now
[11:21:08] <Avenger> ok, next time i see one, i will try it
[11:29:42] <fuzzie> i often end up making char arrays anyway, since i keep seeing code which copies dwords as two words or whatever :/
[11:29:59] <fuzzie> oh, and byteswapping code, although i guess that usually works on registers
[11:36:03] <Avenger> huh, the .chu stuff is more complicated than i thought
[11:36:20] <fuzzie> the text, or everything?
[11:36:28] <Avenger> the button frame numbers are not words
[11:36:50] <Avenger> the text in the textedit control is also more than asc64 wrote about
[11:37:40] <Avenger> i think if i implement it correctly, it will fix the cursor position problems
[12:16:42] <Avenger> the high bytes of the frame indices in button, are actually different fields. They appear to be hacked in later, and i don't know where are they used
[12:17:52] <Avenger> oh wait, actually, we implemented this already
[12:18:39] <edheldil> hehe
[12:21:24] <Avenger> it is difficult to sync iesdp, forum notes, tobex source, gemrb code and dltcep code ;)
[12:22:41] <Avenger> so, this was some anchor point to position the text in buttons. Now lets see if there is something like this for editboxes too
[12:48:33] <Avenger> when we create font palettes, we scale colors from 0 to 255, but it looks like it is scaled from 0x3c to 0xc8, at least in text edit i see that
[13:06:09] <fuzzie> ah
[13:06:25] <fuzzie> we have been wondering about the font palettes :P
[13:07:32] <fuzzie> i have to go argue with immigration people though
[13:18:30] <Avenger> yeah, in the textedit, white should be 0xc8c8c8, and black is 0x3c3c3c, not ffffff/00000
[13:18:52] <Avenger> but to be honest, i like our white text in the editbox
[13:19:15] <Avenger> input text should be different than other text, and this higher contrast is good
[13:19:38] <Avenger> but this really should not be hardcoded
[13:19:57] <Avenger> i just don't see any anchor point set, so that must be hardcoded
[13:29:58] --> barra_library has joined #GemRb
[14:59:06] <lynxlynxlynx> fuzzie: about instants, there's also the cespenar problem
[15:56:16] <Avenger> hah, now i see how the gui is done. Ugly hardcoded stuff. A single huge switch/case handles ALL gui stuff. It is really nasty.
[16:04:29] <edheldil> i.e. no objects?
[16:04:54] <fuzzie> probably just a callback function with an object id?
[16:09:34] <Avenger> no there are objects
[16:09:46] <Avenger> but there is a huge switch case to create them
[16:10:17] <Avenger> its input is basically: the chu filename, the window index, the control index
[16:10:28] <Avenger> then it spits out a control object :)
[16:11:05] <Avenger> so, when it reads a panel, it calls repeatedly into it, matches the chu filename (a huge linear search based on resrefs)
[16:11:18] <Avenger> then more switch/cases for the panel/control ids
[16:12:57] <Avenger> when it assembles a panel, it calls into this function as many times as controls are on the panel, and at each call it matches the chu filename, of course
[16:13:29] <Avenger> and the control type is hardcoded based on the filename/panel/control ids
[16:14:15] <Avenger> every done/cancel etc button is handcoded in a different method
[16:20:15] <Avenger> btw, to retrieve an strref from the tlk table, it needs an object larger than 100 bytes. Even when it is a button caption, or such. That object is used only for sounds :)
[16:20:48] <Avenger> basically, 100 bytes sound, 4 bytes pointer to a cstring
[16:22:09] <fuzzie> but just on stack?
[16:42:19] <-- lubos has left IRC (Quit: Leaving.)
[16:48:19] <fuzzie> lynxlynxlynx: i hope that all the instants issues can be resolved at once
[16:48:39] <fuzzie> Taimon talks about a version of the loop which only executes instants
[16:48:58] <lynxlynxlynx> yeah, i saw that
[16:48:59] <fuzzie> which would be easy to implement
[16:49:16] <fuzzie> but i think last time i discussed this with Avenger, he couldn't find any loop which did specifically that
[16:50:57] <fuzzie> and besides it can't be true, given the dialog pause stuff
[16:52:02] <fuzzie> oh, right, this is why the 'paused' logic i guess. meh.
[16:56:26] --> Maighstir has joined #GemRb
[17:04:58] <edheldil> btw, if anyone has happypenguin account, please update the info there
[17:05:38] <lynxlynxlynx> i did
[17:05:53] <lynxlynxlynx> it needs to go through their humans first
[17:06:04] --- barra_library is now known as barraAway
[17:16:41] <edheldil> ah, thank you
[17:42:05] --> SiENcE has joined #GemRb
[18:26:39] <-- SiENcE has left IRC (Quit: cya @all)
[18:51:19] --> |Cable| has joined #GemRb
[19:08:23] --- barraAway is now known as barra_home
[19:15:50] <-- lupine_85 has left IRC (Quit: ZNC - http://znc.sourceforge.net)
[19:23:55] --> lupine_85 has joined #GemRb
[20:04:22] <xrogaan> lynxlynxlynx: actually, I didn't. I just made the .spec file, which is required to make the package. But I'm no maintainer at mandriva and don't want to be. I'll maintain a package for mageia, once they get my my credentials .
[20:04:33] <-- Bo_Thomsen has left IRC (Quit: Leaving.)
[20:39:04] <-- Avenger has left IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.13/20101203075014])
[21:39:46] <-- barra_home has left IRC (Quit: Verlassend)
[21:44:31] --> barra_home has joined #GemRb
[21:44:49] <Lightkey> edheldil: there has been no update on The Linux Game Tome since before the crash
[22:05:38] <CIA-29> GemRB: 03avenger_teambg * rf48056a41340 10gemrb/gemrb/core/GUI/TextEdit.cpp: TextEdit:added original engine color constants in comment
[22:16:01] <CIA-29> GemRB: 03avenger_teambg * rbddcea11f3cc 10gemrb/gemrb/plugins/CHUImporter/CHUImporter.cpp: adde some comments to chu importer based on recent findings (nothing useful, though)
[22:33:52] <-- Maighstir has left IRC (Quit: ~ Trillian Astra - www.trillian.im ~)
[23:16:05] --> barra_away has joined #GemRb
[23:19:47] <-- barra_home has left IRC (Ping timeout: 240 seconds)
[23:37:05] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[23:49:12] --> edheldil_ has joined #GemRb
[23:59:32] --- barra_away is now known as barra_home