#gemrb@irc.freenode.net logs for 19 Aug 2012 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[02:44:15] --> brada has joined #gemrb
[02:44:35] <brada> look like i opened a big can of worms with this font business :p
[02:45:02] <brada> does anybody know why IE_FONT_ALIGN_TOP magically pushed text down by 5px?
[02:45:19] <brada> seems counter intuitive to the whole "top" thing
[02:45:46] <brada> also that is what is causing counters and status icons to shift downward
[02:46:51] <brada> re line spacing: there is indeed 1px line spacing in BG1. dont know of other games
[02:47:54] <brada> im re-wrote font to have a var for line spacing and a mehtod to get line height, but i need some feedback on which alignments i should apply it to etc
[02:48:35] <brada> that fixes the problem with calculating lines per drop-cap
[02:49:41] <brada> it did raise a problem with the status icons on char portraits, but as i said i think something is wrong with IE_FONT_ALIGN_TOP
[02:50:18] <brada> its hard to debug because i dont know what values corespond to what icons :p
[02:53:10] <brada> im hoping that the magic 5 was there as a hack that is no longer needed and can be removed
[02:58:43] <-- brada has left IRC (Quit: brada)
[03:38:37] <-- Canageek has left IRC (Quit: KVIrc 4.0.4 Insomnia The future is here. It's just not widely distributed yet. - William Gibson)
[04:21:55] <-- nutron has left IRC (Remote host closed the connection)
[04:35:37] <-- kida_laptop has left IRC (Quit: 전 이만 갑니다.)
[04:57:38] <-- Textmode has left IRC (Ping timeout: 255 seconds)
[05:12:50] --> Textmode has joined #gemrb
[05:21:39] --> nutron has joined #gemrb
[07:25:19] --> lynxlynxlynx has joined #gemrb
[07:25:20] <-- lynxlynxlynx has left IRC (Changing host)
[07:25:20] --> lynxlynxlynx has joined #gemrb
[07:25:20] --- ChanServ gives channel operator status to lynxlynxlynx
[07:32:43] <fuzzie> brad who isn't here: the TOP is a hack for buttons I think, but it's more complicated than just moving it, so I wish you luck :P
[07:50:30] <-- Textmode has left IRC (Ping timeout: 255 seconds)
[08:01:57] --> edheldil_ has joined #gemrb
[08:21:34] <-- lynxlynxlynx has left #gemrb ("to err is humour")
[08:23:07] <edheldil_> hmm, looks like only centered labels can be auto-converted to lowercase. I wonder why ...
[08:41:48] <fuzzie> howso?
[08:43:12] <fuzzie> hm
[08:43:39] <fuzzie> I guess that is a gemrb-specific feature?
[08:46:14] <fuzzie> so if you wanted it available more generically, you'd presumably want to add a flag, and set it at load time for the bg1+CENTER case
[08:46:36] <fuzzie> which is really how it should be anyway
[08:49:08] <fuzzie> and, argh, secret hidden strlwr() call in Label::SetAlignment.
[08:49:52] <fuzzie> now there's a subtle bug.
[08:52:14] <-- nutron has left IRC (Quit: I must go eat my cheese!)
[08:54:40] <edheldil_> fuzzie: I have that one replaced already. I am just wondering why is the auto-lower feature (controlled by GF_LOWER_LABEL_TEXT) further limited to centered labels only
[08:54:47] <fuzzie> because GF_ is a game flag
[08:54:55] <fuzzie> you don't want to force-lower all the labels in the game
[08:54:58] <edheldil_> so?
[08:55:04] <fuzzie> right?
[08:55:38] <edheldil_> yes, but what's special about the centered ones? :)
[08:55:49] <fuzzie> well, this seems a weird question
[08:56:02] <fuzzie> I mean, this has gone off the subject of gemrb and you wish to speak to Bioware? :P
[08:56:37] <fuzzie> I don't have the original binary here, but I assume that the centered-but-not-middle case is hardcoded into it.
[08:56:45] <fuzzie> A bunch of the bg1 code is like that.
[08:57:16] <fuzzie> Or, well, the centered-but-with-no-other-alignment case.
[08:57:20] <edheldil_> well, if that's so, that is a good enough explanation
[08:57:50] <fuzzie> I can see that the original bg2 engine doesn't have uppercase/lowercase flags for anything except Buttons.
[08:58:06] <edheldil_> btw, brad, the scrolling text in bg1 is rather behaving rather ugly atm
[08:58:16] <fuzzie> for the capitals, or for everything?
[08:59:23] <fuzzie> edheldil_: I guess it should be easy enough to test behaviour just by comparing with your bg1 screenshot collection, anyway?
[09:00:03] <edheldil_> the intro text as a whole. Maybe the dropcaps fixes are the culprit, but it now tends to change paragraphs already on screen in a rather annoyingway
[09:00:14] <fuzzie> hm, yes, I see it
[09:01:16] <edheldil_> I will rewrite it from scratch, if laziness does not stop me
[09:01:32] <fuzzie> which bit? :)
[09:03:26] <edheldil_> I have already started a rewrite, but have not integrated it yet. Basically, it does the layouting and assigns it to text chunks when text is added, so that scrolling just blits to already computed coords
[09:03:37] <fuzzie> ah, the scrolling
[09:03:43] <fuzzie> that would be much-appreciated by everyone, I'm sure
[09:03:54] <fuzzie> not that rewriting other parts of fonts/labels/etc wouldn't be :-)
[09:04:33] <edheldil_> why do you limit it to just fonts and labels? :)
[09:04:53] <fuzzie> well, because they were the other possible subjects at hand!
[09:06:05] <edheldil_> reading some gamasutra/gamedev magazines, looks like partial codebase rewrites , if tightly managed, pay very well
[09:06:36] <fuzzie> yep
[09:07:04] <edheldil_> the catch being in 'managed', of course :)
[09:08:14] <fuzzie> of course they're mostly not cost-effective compared to just hacking something up
[09:08:44] <edheldil_> in short term
[09:08:54] <fuzzie> yes, but games companies always think short term
[09:09:23] <fuzzie> one of the nicest things about working on open-source-type stuff is that there's no business goals meaning you have to rush stuff out the door, you can really stop and rewrite horrible messes
[09:11:03] --> Yoshimo has joined #gemrb
[09:11:27] <fuzzie> unfortunately gemrb is still this mess where we don't understand why most of the code is why it is :-/
[09:14:48] <fuzzie> anything in particular I should be looking at codewise, anyone?
[09:14:56] <fuzzie> it is another hot day so I am kind of stuck indoors
[09:59:01] --> brada has joined #gemrb
[09:59:30] <brada> ed: chapter text is behaving a bit weird currently due to timing
[09:59:58] <brada> i know what is wrong i just am still thinking of how best to implement it
[10:00:43] <brada> the problem has nothing to do with layout for once :p
[10:01:26] <brada> other then the one i mentioned earlier in the backlog
[10:01:40] <brada> still not sure the best way to do that
[10:03:16] <brada> i have no idea how or what needs to be done with top alignment but it is breaking so many things :p
[10:03:23] <-- brada has left IRC (Client Quit)
[10:13:40] <-- edheldil_ has left IRC (Ping timeout: 248 seconds)
[10:49:04] --> barra_home has joined #gemrb
[11:47:47] --> traveler has joined #gemrb
[11:48:20] <traveler> hi
[11:48:35] <traveler> sooner or later, after walking around baldur's gate
[11:48:47] <traveler> you fell of the map
[11:49:02] <traveler> http://img715.imageshack.us/img715/9635/201208191347271440x900s.png
[11:49:38] <traveler> this is pernament
[11:52:00] <traveler> probably some map edge is buggy
[11:58:52] <traveler> uh travelling in bg is all over the place
[12:03:22] <traveler> closed doors = reversed image
[12:03:25] <traveler> http://img528.imageshack.us/img528/4240/201208191401141440x900s.png
[12:04:51] <traveler> ar1300
[12:19:22] --> kida_laptop has joined #gemrb
[12:32:27] <traveler> ok, this map resetting isn't connected with travelling
[12:33:05] <traveler> it's connected with arkin / nemphre quest
[12:50:37] --> lynxlynxlynx has joined #gemrb
[12:50:37] --- ChanServ gives channel operator status to lynxlynxlynx
[12:51:44] <lynxlynxlynx> traveler: the second bit could easily be caused by the higher resolution mod if it is buggy
[12:52:57] <lynxlynxlynx> fuzzie: i have some ideas :)
[12:53:57] <lynxlynxlynx> - party area movement is still tricky to get right sometimes - we should increase the tolerance for the range checks (if that's the real problem)
[12:54:10] <-- traveler has left IRC (Ping timeout: 245 seconds)
[12:54:50] <lynxlynxlynx> - randomwalk bounds checking/rebounding
[12:57:27] <lynxlynxlynx> oh, investigating dialog range would be good too, since it is a blocker for totl
[13:26:55] <fuzzie> hm, we did fix the movement to use actions, right?
[13:30:00] <lynxlynxlynx> an internal leavearea or somesuch iirc
[13:30:24] <fuzzie> doesn't look liek it ,actually
[13:30:49] <-- Cable_ has left IRC (*.net *.split)
[13:32:59] <fuzzie> lynxlynxlynx: got the strref for the 'you must gather your party'?
[13:33:11] <lynxlynxlynx> sec
[13:33:57] <lynxlynxlynx> WHOLEPARTY 16484
[13:34:32] <fuzzie> thanks
[13:34:48] <fuzzie> that is spectacularly unhelpful
[13:35:31] <fuzzie> it is one of the very few strings that they don't simply hardcode as constants :)
[13:40:35] <fuzzie> I would have thought that TriggerWalkTo would be responsible, but we don't call it in the travel case.
[13:50:07] <fuzzie> but no, it's triggered by LeaveAreaName, which is queued after a group MoveToPoint
[14:01:29] <fuzzie> hm I don't understand this at all :)
[14:03:08] <fuzzie> I assume that it's checking that the skew-adjusted distance of all actors is <256 though.
[14:03:15] --> traveler has joined #gemrb
[14:04:28] <fuzzie> and gemrb checks 300..
[14:07:27] <traveler> lynx: first one is connected to visiting Arkion / Nemphre houses (yes, really), second one I have no idea, that's first such glitch I saw (hires mod is standard g3 widescreen)
[14:09:02] <traveler> about travelling, well you are spawned in really random places sometimes, not only in BG, once when I went to DT I ended actually on the Durlag's Tower walls (with skeletons etc)
[14:09:45] --> Cable_ has joined #gemrb
[14:09:54] <traveler> and in BG you really often end up in Central BG without apparent connection to place where you went from
[14:10:10] <fuzzie> I guess it checks that the skew-adjusted distance of all actors is <256, and that at least one actor is within 4 cells.
[14:10:15] <-- traveler has left IRC (Changing host)
[14:10:15] --> traveler has joined #gemrb
[14:13:11] <lynxlynxlynx> the thing is that everyone may end up at good places, but nothing happens
[14:13:23] <lynxlynxlynx> sometimes it does and there's just a small delay
[14:14:13] <lynxlynxlynx> not sure if it is really still happening, but if you selected a single char and then moved her out, tavelling was triggered nicely (since many areas force party travel)
[14:17:54] <fuzzie> well, we don't seem to actually queue relevant actions as-is
[14:18:38] <fuzzie> I guess we queue a walk action and then NIDSpecial2 on the leader?
[14:19:15] <fuzzie> and NIDSpecial2 is checking game->EveryoneStopped() :-)
[14:19:43] <fuzzie> so, the logic there is just broken
[14:20:04] <fuzzie> it shouldn't check if EveryoneStopped, and it shouldn't abort if EveryoneNearPoint isn't true, it should just wait
[14:21:29] <fuzzie> and NIDSpecial2 should be LeaveAreaName, secret action 93.
[15:31:03] <lynxlynxlynx> looks like you're on a good track :)
[17:15:02] --> brada has joined #gemrb
[17:15:22] <brada> im not too sure about this
[17:15:23] <brada> http://pastebin.com/qy5NaVkM
[17:16:45] <brada> i dont know if GetLineHeight should even worry about alignments
[17:16:53] <brada> if only single line is affected i mean
[17:20:05] <brada> then again after what fuzzie said about IE applying silly rules to text alignments....
[17:20:45] <brada> wich there were more helpful advice about what to do with IE_FONT_ALIGN_TOP in there :p
[17:24:19] <brada> another magic 5 i dont understand in TextArea
[17:24:30] <brada> being used in multiple places as Height - 5
[17:25:04] <brada> some sort of margin for text i gather
[17:50:29] --> Textmode has joined #gemrb
[17:57:27] <-- Yoshimo has left IRC (Ping timeout: 276 seconds)
[18:01:22] --> kettuz has joined #gemrb
[18:18:39] --> edheldil_ has joined #gemrb
[18:20:10] <-- brada has left IRC (Quit: brada)
[18:20:56] <fuzzie> brada: the same advice replies, which is to make sure at least both bg1+bg2 screens don't look any worse compared to original
[18:21:01] <fuzzie> s/replies/applies/
[18:21:37] <fuzzie> also that is an awful lot of patch 1/3 in that pastebin.
[18:22:18] <fuzzie> also a bad patch with truncated lines..
[18:23:46] <fuzzie> not sure I have much to comment on otherwise. if it works then +1.
[18:30:22] --> brada has joined #gemrb
[18:31:44] <brada> fuzzie: im mostly curious about if i should even worry about text alignment or if i can just have a boolean to indicate single/multiline text
[18:32:49] <brada> in my testing this makes BG text match the original (where i have checked)
[18:32:57] <brada> other than portrait icons
[18:33:05] <brada> but i feel like that is a whole diffrent issue
[18:33:23] <lynxlynxlynx> well check that special case
[18:33:50] <brada> the icons?
[18:35:00] <lynxlynxlynx> middle alignment or what was it for
[18:35:43] <brada> the portrait icons are top aligned believe it or not
[18:35:50] <brada> that is whay they are shifted down too far
[18:36:12] <brada> because for some insane reason top alignment simply adds 5px padding on the top
[18:36:48] <brada> but i dont knwo enough about why or where it is used to justify removing that +5
[18:37:42] <brada> same with the stack counters
[18:38:10] <brada> i didnt notice any ill effects from removing it...
[18:38:29] <brada> im just so tired of breaking things :p
[18:39:40] <brada> fuzzie: would it be bettwer if i converted each offending class using font->maxHeight in separate commits? that is why it is so big
[18:40:00] <lynxlynxlynx> what you pasted really was screwed up
[18:40:11] <brada> sorry i had 5 hours of sleep last night
[18:40:19] <lynxlynxlynx> just look at the line count/browser scroll length
[18:40:36] <brada> yeah thats not right
[18:40:40] <lynxlynxlynx> it looks fine once you find the gist
[18:40:50] <brada> yeah i just messed up
[18:41:17] <lynxlynxlynx> changing alignment of portrait icons is easy btw
[18:41:37] <lynxlynxlynx> the default is probably centered, so they wouldn't display right
[18:42:07] <lynxlynxlynx> we have to calculate the whole portrait worth of symbols, just in case someone leveled up/is talking/in store
[18:42:38] <brada> http://pastebin.com/eVGdr9xq
[18:43:11] <lynxlynxlynx> portraitFlags |= IE_GUI_BUTTON_ALIGN_TOP <-- we do this manually everywhere but iwd2
[18:43:31] <brada> its not jsut portrait icons that get screwed up by it tho
[18:43:39] <brada> item counters are shifted down as well
[18:44:00] <brada> and i dont know anything else that has top alignment to check
[18:45:04] <lynxlynxlynx> it's likely due to the item counters then
[18:45:31] <lynxlynxlynx> do they look more or less like the original when you remove the 5px hack?
[18:45:37] <brada> so its just coincidence that removing that +5 seems to fix everything?
[18:46:04] <brada> the look way more close to the original, but i didnt do a per px measurement
[18:46:35] <lynxlynxlynx> a px up or down, but 5 should be noticeable
[18:49:22] <brada> see for yourself. currently item counters are shifted down by quite a lot
[18:49:34] <brada> if you remove the alignment they look fine
[18:49:41] <brada> but i dont know if the problem is the alignment
[18:49:56] <brada> or if something is calculating wrong elsewhere
[18:50:10] <brada> ie they are shifted down by a line which just so happens to be 5px
[18:51:45] <brada> the only real reason i suspect the alignment is because it seems utterly insane to have top alignment push things down
[18:51:49] <wjp> FWIW, that +5 apparently broke some buttons in some chargen the last time it was removed (according to the IRC logs, but the corresponding pictures are no longer around, so I can't see which button where exactly)
[18:51:58] <brada> and if it is correct we should put a not in there explaining it :)
[18:52:15] <brada> wjp: thank you
[18:52:21] <brada> that is helpful to know
[18:52:26] <wjp> um, I mean "removing that +5 broke some buttons", to make that sentence a bit clearer :-)
[18:53:04] <lynxlynxlynx> was it said in what way?
[18:53:58] <brada> or in what game?
[18:54:03] <brada> so i can check
[18:54:53] <wjp> ah, ToB, it seems: http://log.usecode.org/gemrblog.php?log=23Aug2009
[18:55:02] <wjp> around 18:20 there
[18:56:01] <brada> wjp: thank you :)
[18:56:10] <brada> ill have a look at the current state of things
[18:56:27] <brada> it may not be needed anymore for the same reason it is breaking other top aligned things
[18:59:44] <brada> BTW i have chaptertext working 100% (as far as i have seen)
[19:00:11] <lynxlynxlynx> do check if we implemented that anchoring stuff
[19:00:23] <lynxlynxlynx> i believe it is documented on iesdp
[19:00:38] <brada> lynx: im not sure what you mean
[19:00:54] <lynxlynxlynx> from the 09 log
[19:01:38] <brada> ok ill read it
[19:01:58] <brada> why do we do status icons as a single text string?
[19:02:11] <brada> i mean why not separate it into top icons and bottom ones?
[19:04:49] <lynxlynxlynx> then we'd have to create extra labels
[19:05:56] <edheldil_> Maybe the time has come to generalize buttons as a list of labels and icons
[19:07:03] <edheldil_> brada: the buttons are ugly heap of ad-hoc fields even now
[19:07:22] <brada> im beginning to see that :)
[19:08:03] <brada> tho it does seem to work well enough
[19:16:26] <-- edheldil_ has left IRC (Read error: Operation timed out)
[19:16:36] <lynxlynxlynx> that's the original format, you can't do much about it
[19:18:04] <lynxlynxlynx> http://iesdp.gibberlings3.net/file_formats/ie_formats/chu_v1.htm#chuiv1_Control_0 <-- anchors
[19:21:06] <brada> interesting
[19:21:38] <brada> it says with no bits set text is centered both horizontally and vertically but 0x00 is IE_FONT_ALIGN_LEFT in gemrb
[19:21:41] <brada> what am i missing?
[19:22:10] <brada> i guess we do some translation
[19:24:28] <brada> yup i thought we just copied the field out of the chu
[19:24:32] <brada> but we dont
[19:26:09] <brada> is 0,0 really the right corner?
[19:31:37] <lynxlynxlynx> i don't know
[19:32:00] <lynxlynxlynx> it could very well be though :)
[19:34:16] <brada> i was looking at the field for control instead of label :p
[19:34:25] <brada> my mistake
[19:36:14] <brada> i also got confused because iesdp says that field is a dword but we split it into 2 words
[19:36:50] <brada> well actually into 2 bytes + 1 word
[19:37:19] <brada> no im worng there
[19:37:21] <brada> i need sleep
[19:38:03] <brada> 2 (word) means word :p
[19:38:08] <brada> not dword
[19:42:11] <lynxlynxlynx> if we read it, consider it done properly
[19:42:23] <lynxlynxlynx> it was probably avenger that contributed that info to iesdp
[19:45:16] <brada> so i guess i implement this anchor bit then kill of that +5 px
[19:45:46] <brada> the anchor is already read and set on the button
[19:45:51] <brada> we just dont do anything with it yet
[19:49:18] <-- brada has left IRC (Quit: brada)
[19:50:52] <lynxlynxlynx> i hope that'll be it
[19:54:46] --> Yoshimo has joined #gemrb
[20:01:51] --> nutron has joined #gemrb
[20:10:37] <-- kettuz has left IRC (Quit: Leaving)
[20:40:41] --> edheldil_ has joined #gemrb
[20:57:40] <fuzzie> I see no-one asked the BGEE team for any CHU info :)
[21:11:34] --> CIA-45 has joined #gemrb
[21:37:20] --> barra_away has joined #gemrb
[21:40:27] <-- barra_home has left IRC (Ping timeout: 240 seconds)
[22:58:45] <-- traveler has left IRC (Ping timeout: 245 seconds)
[23:12:48] <-- Yoshimo has left IRC (Quit: Yoshimo)
[23:13:00] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[23:41:17] --> traveler has joined #gemrb