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

Archive Today Yesterday Tomorrow
GemRB homepage


[00:00:26] --> Canageek has joined #gemrb
[00:19:53] <chiv> looking at the history of it, it seems like it has just missed out on all the cool stuff implemented everywhere else
[00:19:58] <-- Eli2 has left IRC (Quit: Ex-Chat)
[00:38:00] <-- raevol has left IRC (Quit: Leaving.)
[00:44:58] <-- Coriander has left IRC (Quit: Nettalk6 - www.ntalk.de)
[01:06:38] <brada> our font printing can also be made more efficient by stopping after we have overrun the clip area
[01:06:45] <brada> lucky for me that is a trivial change
[01:10:48] <-- Canageek has left IRC (Quit: So long, suckers)
[01:12:36] <chiv> hm... so after it gets to the end of the dialog window... it carries on?
[01:26:05] <brada> chiv: i mean we give the font a rectangular region to print in
[01:26:23] <brada> but if the text overflows that region we still keep processing it
[01:26:31] <brada> even though its obviously useless to do
[01:27:18] <brada> often that meas iterating a huge chunk of text for no reason
[01:27:50] <chiv> isnt the dialog window essentially a huge lump of text? or is it lots of small blocks?
[01:29:34] <brada> apparently its lots of smaller chunks, but as i was saying earlier we seem to collapse all the chunks into one before printing
[01:29:53] <brada> this applies to more than the dialog window of course
[01:31:44] <brada> chiv: do you know what a "listbox" is?
[01:32:35] <chiv> not really, I'm a cook :/
[01:33:03] <brada> ill have to ask here tomorrow when everybody is awake
[01:33:28] <chiv> is this some internally defined gemrb thing?
[01:33:32] <brada> I see that the "listbox" behavior is dependant on the IE_GUI_TEXTAREA_SELECTABLE flag
[01:33:39] <brada> gemrb or IE, yes
[01:33:55] <brada> i just dont see where that flag is set
[01:34:05] <brada> so im gussing its embedded in the CHU
[01:35:30] <chiv> i have one here, I don't see any 'listbox' field
[01:37:15] <chiv> button, progress bar, slider, editbox, unknown 4, text area, label, scrollbar
[01:37:29] <brada> well it is a TextArea
[01:37:42] <brada> but it is a distinct type of text area
[01:37:52] <brada> and i dont know what it does
[01:38:36] <brada> and oddly the item description textarea seems to be one o_O
[01:39:22] --> edheldil_ has joined #gemrb
[01:40:32] <brada> grr i dont know who thought it would be a good idea to have a separate python file for every game type
[01:40:41] <brada> when there are only minor diffrences
[01:41:16] <brada> anyway that flag is set from Python
[01:49:15] <chiv> I'm all for working towards neutralising them
[02:00:45] <chiv> GUIMA looks like an obvious one to merge
[02:04:21] <chiv> I really want to give torment some love anyway, so as I change those scripts I will synchronise them with the other games
[02:07:59] <chiv> i have an idea that instead of how I did it before, I could have a seperate file for each game that contains the relevant control id's /strings refs/etc
[02:12:40] --> Eli2 has joined #gemrb
[02:21:00] <brada> im sure lynx could advise you, iirc he has done most of the other merges
[02:39:08] <-- brada has left IRC (Quit: brada)
[02:42:23] <-- chiv has left IRC (Quit: Page closed)
[02:53:41] <-- edheldil_ has left IRC (Ping timeout: 246 seconds)
[03:03:25] --> brada has joined #gemrb
[03:46:58] <-- Eli2 has left IRC (Remote host closed the connection)
[04:04:51] <-- Drakkar has left IRC (Ping timeout: 252 seconds)
[04:08:18] --> Drakkar has joined #gemrb
[04:26:46] <-- brada has left IRC (Quit: brada)
[04:29:48] --> brada has joined #gemrb
[05:06:38] <-- brada has left IRC (Quit: brada)
[05:30:24] --> Eli2 has joined #gemrb
[07:08:06] --> chiv has joined #gemrb
[07:28:14] <chiv> well, paging is in the config panel. I'd really rather not do any more without a review since the patch is getting pretty large: https://github.com/chilvence/gemrb/compare/gemrb:master...configurator?expand=1
[07:28:17] <Pepelka> Comparing gemrb:master...chilvence:configurator · chilvence/gemrb · GitHub
[07:28:18] <Pepelka> »gemrb - Engine Made with preRendered Background«
[07:29:38] <-- chiv has left IRC (Quit: Page closed)
[07:54:28] <fuzzie> -1. no toast
[09:29:50] <edheldil> heh, too bad
[09:30:01] <edheldil> no lottery num bers either?
[11:45:44] <fuzzie> disabling the SkipIntroVideos thing is non-good I guess?
[11:55:28] --> WingedHussar1 has joined #gemrb
[11:55:39] <-- WingedHussar has left IRC (Ping timeout: 260 seconds)
[12:16:30] <edheldil> why? Because you have to see them at least once before you disable them
[12:17:00] --> chilvence has joined #gemrb
[12:19:06] <chilvence> fuzzie: i don't like the videos either. but since I put a button to toggle the option, every time I turned them on the game turned them back off. but so far it is the only option that works harmlessly so I had to test it somehow...
[12:19:30] <chilvence> *correction, only ini option
[12:20:40] --> brada has joined #gemrb
[12:20:41] <chilvence> if it's too annoying, I'll just remove it
[12:21:58] <fuzzie> I mean, I don't like the commit
[12:22:16] <fuzzie> because it means you now get the videos every time you return to the main menu, if I don't misunderstand?
[12:23:01] <chilvence> hmm, I cant believe I didn't think of that...
[12:23:25] <brada> chiv: the comment line 1936 of interface.cpp can go
[12:31:30] <chilvence> done
[12:41:35] <brada> fuzzie: i cant seem to find any textareas that have IE_GUI_TEXTAREA_SELECTABLE set...
[12:41:46] <brada> are there none in BG2?
[12:42:58] <chilvence> The biography page?
[12:43:42] <edheldil> that's even editable, I think
[12:44:26] <fuzzie> you'd expect it in the movies list, in the char selection in chargen, in the voice selection, etc
[12:44:52] <fuzzie> i.e. anywhere where you have a selectable list
[12:44:55] <fuzzie> do none of those have it set?
[12:45:15] <brada> ill check :D
[12:45:30] <edheldil> btw, brada, I was fed up with TA just as you were - convoluted code making problems with smooth scrolling etc
[12:45:47] <edheldil> fuzzie: you are right, selectable textarea == list
[12:45:52] <brada> yes i remember
[12:48:24] <edheldil> I have started some POC code that did layout of text elements as soon as you appended a line and added it to a list
[12:48:30] <brada> so help me figure out what i can do to separate the behavior so we can have sane text handling
[12:48:48] <edheldil> s/I have started/I started/
[12:49:06] <edheldil> (and did not finish)
[12:49:51] <brada> yeah thats what im trying to do
[12:50:01] <brada> but it seems to me listboxes complicate that
[12:50:24] <edheldil> I can send you the code if I still have it, but I fear it's only in initial stage
[12:50:31] <edheldil> not really
[12:50:49] <brada> they dont?
[12:51:13] <brada> because it looks to me like if you had a list item that spanned multiple lines it would break
[12:51:39] <brada> you would be able to select each line
[12:52:09] <edheldil> it's just <E xywh=,colors=>some text</E></br>
[12:52:24] <edheldil> to show it in html notation
[12:52:44] <edheldil> ah, that is ok too
[12:53:26] <edheldil> you just have to assign them a common selection group or st. like that
[12:54:26] <brada> i might temporarily break that then
[12:54:34] <brada> for the sake of fixing this other stuff
[12:56:16] <edheldil> In my vision, it worked like this: Text.appendLine() would cut the text to elements based on embedded tags like color, selection, etc., using font it would find outlines of the elements and eventually cut them again to fit them to lines, indentation etc
[12:56:41] <brada> so whats going on at the bottom of TextArea::Draw?
[12:56:59] <brada> that last for loop
[12:57:42] <brada> seems to be printing over what was printed earlier
[12:57:45] <edheldil> ... the resulting elements would be appended to a list with some pairing info, so that when you delete the elements dropping off scrollback you don't destroy hierarchy ... or st. like that
[12:58:05] <brada> er nevermind
[12:58:12] <brada> we are changing the clip i see
[12:59:03] <brada> ed: thats roughly what i had in mind
[12:59:05] <edheldil> well, the TA::Draw() would take its Text obejct, iterated over elements which, based on their xywh were currently visible, and using a font would printed them on screen
[12:59:16] <fuzzie> yes
[12:59:24] <fuzzie> pretty sure everyone is in agreement that the font shouldn't be doing layout
[13:00:52] <brada> thats exactly how i got into this mess!
[13:02:41] <edheldil> I will look whether I still have that POC, though it's not worth much
[13:02:56] <fuzzie> just I think the non-brain-exploding approach is to just do the wrapping twice in TextArea for now
[13:03:03] <fuzzie> and I think brada would rather have an exploded brain
[13:03:15] <brada> well i already did that
[13:03:18] <brada> for the time being
[13:03:42] <brada> but refactoring textarea as explained would fix other issues
[13:04:07] <brada> and isnt that the most sensible way to do tag parsing too?
[13:04:16] <brada> in AppendLine/SetText i mean
[13:05:00] <brada> so that would solve the 2 biggest font problems
[13:05:21] <brada> i guess 3 since that would probably handle drop caps as well, no?
[13:05:27] --> edheldil_ has joined #gemrb
[13:07:56] <brada> what i dont understand is how a convoluted solution was implemented when its painfully obvious that there is a better way
[13:08:35] <fuzzie> because it evolved :)
[13:09:05] <fuzzie> you start with the font code, then you make it wrap (since you need that for buttons etc anyway)
[13:09:51] <fuzzie> and so when you implement textareas you can just hand the string over, no problem
[13:10:16] <fuzzie> and then you want to implement scrolling and, well, ok, that bit is a bit more insane since PrintFromLine probably didn't exist before I guess
[13:11:11] <edheldil> brada: it's here http://www.eowyn.cz/gemrb/gemrb_text_test.tar.gz - just bear in mind that was never meant to be a presentable code in this state
[13:11:44] <brada> i will keep that in mind :)
[13:11:52] <edheldil> the only important thing there is Text.cpp, the rest is just junk
[13:12:30] <brada> damn evolution!
[13:13:04] <edheldil> hehe, I think it went just as fuzzie said :)
[13:13:38] <fuzzie> it took me a long time to understand the codebase enough to know what's evolved because it's crazy, and what's evolved because bioware are crazy
[13:13:48] <edheldil> also: if the only thing you have is a hammer, everything looks like a nail
[13:14:25] <brada> well that does make the mose sense
[13:14:47] <brada> i have been known to hammer a bit myself
[13:15:04] <fuzzie> well I'm usually the one screaming "argh DON'T TOUCH THAT oh my god you broke everything", of course
[13:16:47] <edheldil> btw, just yesterday, looking at the SetParentForWindow() patch, I was pondering on why do we have to have the actual windows hardwired in, as that would be probably elegantly solved in a generic way with a flag in each window :). But I must not digress ;-)
[13:17:33] <fuzzie> everything involved in layout depends on the hardcoded layout
[13:17:35] <fuzzie> it's kind of annoying
[13:17:45] <brada> mmmhmmm
[13:19:51] <edheldil> well, the beggest hurdle in hacking on gemrb is to resist an urge to fix the codebase at too many places at once :)
[13:20:02] <fuzzie> yes
[13:20:12] <brada> i think im falling victim to that :(
[13:20:37] <brada> of course the reality is tht to fix font i need to fix TextArea
[13:20:40] <edheldil> nah, you have a nice niche with everything text-related :)
[13:21:20] <brada> yeah but it has its tenticles in every corner of the engine
[13:21:36] <edheldil> its testicles? :-D
[13:21:41] <brada> i still dont know where to properly do multibyte text conversion
[13:22:56] <brada> i wish, then i could just kick it really hard and it would die
[13:23:39] <edheldil> maybe the most sane way is mimic python and do the conversion on i/o
[13:24:24] <brada> thats sort of what we do now, but only on the O
[13:24:44] <brada> and its not efficient that way
[13:24:53] <brada> we have to keep converting for every redraw
[13:25:25] <brada> it would be nice if textarea at least already held double byte strings
[13:26:04] <brada> we could template the font print functions too
[13:26:20] <brada> as a stop gap
[13:27:25] <edheldil> brada: TA would hold an instance of Text class and that would use wchars
[13:28:10] <brada> what exactly are wchars? 16bits or what?
[13:28:42] <edheldil> I think 16bits, but possibly it depends on some compile time define
[13:29:38] <fuzzie> wchar is 32-bit unless your OS is insane (i.e. Windows).
[13:30:08] <brada> so we dont want that
[13:30:49] <edheldil> eh, possibly
[14:08:10] <brada> here is some work i had in the queue before i derailed myself on my insane quest
[14:08:11] <brada> http://pastebin.com/iNEZUR1F
[14:08:11] <Pepelka> [Diff] From 4a039a8e7ca1932fc05f4f015f0a34e9b1bb2001 Mon Sep 17 00:00:00 2001 From: Br - Pastebin.com
[14:11:57] <edheldil> brada: hehe, exactly another of my hunches :-D
[14:13:32] <edheldil> though I wanted to add arbitrary mapping from (arbitrary number of) states to images, and possibly even to other things
[14:14:20] <edheldil> e.g. we have a number of IE_GUI_BUTTON_FAKE* states, but I need another one :)
[14:14:48] <brada> yeah that would be nice and more elegant
[14:15:56] <brada> for what?
[14:17:47] <edheldil> store buttons, for e.g. things you can't sell - they should have (in pst) active bitmap, be non-clickable, not generate events and have a reddish overlay.
[14:18:39] <edheldil> easy to setup, with the exception that LOCKED generates events, which would unnecessarily complicate handling
[14:19:34] <brada> anyway if there are no objections ill go ahead an push that
[14:19:56] <chilvence> I've the ini options that can't be toggled properly out the of history for now, but unfortunately I did not make a use case for having no ini options to toggle XD
[14:20:11] <chilvence> I've edited
[14:21:03] <chilvence> out the of? that all seemed perfectly fine as i was typing it
[14:21:35] <brada> story of my life
[14:22:58] <chilvence> I'll have to implement at least one, but I need to go out
[14:26:47] <brada> somebody that knows better than me should merge/comment on this: https://github.com/gemrb/gemrb/pull/9
[14:26:49] <Pepelka> In pst, bracelets need to be useable as quick items by chilvence · Pull Request #9 · gemrb/gemrb · GitHub
[14:26:50] <Pepelka> »This is the one remaining fix from this branch that I am happy submitting. Ed covered two of them, and the other two I ditched because although they did marginally improve the float menu, they uncovered some serious problems that I would need to tackle with a focused re-shifting of FloatMenuWindow.py, which is far behind the other games in functionality.edit: which I should say, has just made The List«
[14:28:16] <-- Eli2 has left IRC (Remote host closed the connection)
[14:34:20] <edheldil> Looks harmless; I can't test it until evening
[15:53:39] <-- brada has left IRC (Quit: brada)
[16:23:10] --> brada has joined #gemrb
[16:23:10] <-- brada has left IRC (Client Quit)
[16:30:20] --> brada has joined #gemrb
[16:46:07] --> Coriander has joined #gemrb
[17:04:17] --> Yoshimo has joined #gemrb
[17:06:10] <-- edheldil_ has left IRC (Ping timeout: 245 seconds)
[17:10:20] <-- Yoshimo has left IRC (Ping timeout: 245 seconds)
[17:13:49] --> raevol has joined #gemrb
[17:54:48] --> lynxlynxlynx has joined #gemrb
[17:54:48] --- ChanServ gives channel operator status to lynxlynxlynx
[18:09:04] --> edheldil_ has joined #gemrb
[18:24:35] --> Yoshimo has joined #gemrb
[19:43:11] <Lightkey> stop, hammer time!
[19:43:55] <Lightkey> what's TA? Total Annihilation? Tits & Ass?
[19:46:47] <fuzzie> TextArea
[19:46:51] <fuzzie> don't listen to the nerds
[20:23:53] <-- brada has left IRC (Quit: brada)
[20:24:26] --> brada has joined #gemrb
[20:26:52] <-- chilvence has left IRC (Quit: Page closed)
[20:58:17] <-- brada has left IRC (Quit: brada)
[21:59:56] <-- Yoshimo has left IRC (Quit: Yoshimo)
[22:02:54] --> Eli2 has joined #gemrb
[23:11:46] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[23:31:59] --> chiv has joined #gemrb
[23:34:15] <chiv> I need help from someone who knows about tablets. theres one all over the news right now who's main selling point is that it is cheap, and that appeals to me. however, my deciding factor would be whether it has the potential to run gemrb - so what sort of specs does grb need?
[23:36:09] <Lightkey> it ran okay on the YeLoong netbook, it will run great on whatever tablet you buy
[23:36:48] <chiv> http://www.t3.com/news/pound-30-tablet-launched-in-the-uk
[23:36:50] <Pepelka> £30 tablet launched in the UK | T3
[23:36:51] <Pepelka> »A tablet priced at less than £30 has been launched in the UK.«
[23:37:36] <Lightkey> 1 GHz Cortex A8, way overpowered
[23:38:35] <Lightkey> that's what I have in my Pandora
[23:39:15] <chiv> yeah I thought it was a pretty good deal
[23:44:28] <-- raevol has left IRC (Quit: Leaving.)
[23:46:58] <-- Eli2 has left IRC (Quit: Ex-Chat)
[23:50:38] <-- edheldil_ has left IRC (Ping timeout: 264 seconds)
[23:50:51] <Lightkey> it's only 800x480 though, same as my Pandora ;-)
[23:53:36] <chiv> maybe I'll hold off a bit longer, this thing will probably provoke some change in the marketplace
[23:54:27] <chiv> or at the very least, appear on ebay in a few weeks in force...
[23:58:38] <Lightkey> meanwhile, the first 6" "smartphone" with 2560x1440 pixels has been announced, that's nearly 490 ppi