#gemrb@irc.freenode.net logs for 15 Jan 2016 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:36:40] <-- phao has left IRC (Ping timeout: 255 seconds)
[02:46:39] <-- Drakkar has left IRC (Read error: Connection reset by peer)
[02:47:15] --> Drakkar has joined #gemrb
[05:35:19] --> lich-li has joined #gemrb
[05:41:50] <-- lich-li has left IRC (Ping timeout: 240 seconds)
[06:22:19] <-- Lightkey has left IRC (Ping timeout: 240 seconds)
[06:35:25] --> Lightkey has joined #gemrb
[08:52:09] --> koz_ has joined #gemrb
[08:52:41] <koz_> I'm trying to build gemrb from Github, and it fails to find SDL2, even though I know for a fact I have it installed. I'm on Arch.
[09:09:26] --> GeneralDuke has joined #gemrb
[09:56:26] <froller> check out what file it doesn't find and then locate it on your system, then probably adjust some paths etc.
[10:09:59] <lynxlynxlynx> i haven't built on arch in a while, but had no problems
[10:10:07] <lynxlynxlynx> you sure you have the headers etc?
[10:10:32] <lynxlynxlynx> and if you have sdl1, have you specifically ordered gemrb to use sdl2?
[10:10:46] <lynxlynxlynx> if not, the check doesn't matter
[10:19:35] <koz_> lynxlynxlynx: How do I tell it to use SDL2?
[10:19:40] <koz_> Is it a flag I have to chuck at it?
[10:20:13] <lynxlynxlynx> yes, but why do you want to do that?
[10:20:27] <lynxlynxlynx> for the pc, you'll have some mouse artifacts
[10:21:11] <koz_> Does it work better with SDL1?
[10:21:23] <koz_> I would have figured SDL2 would have been the better one to use.
[10:22:05] <lynxlynxlynx> mostly the mouse will be the difference
[10:22:23] <lynxlynxlynx> sdl2 enables you to use the experimental opengl renderers, but that's it
[10:22:35] <lynxlynxlynx> we use it for mobile targets
[10:22:39] <koz_> How 'experimental' are those renderers?
[10:22:45] <koz_> Will they look awful?
[10:23:11] <lynxlynxlynx> more work needs to go in them and drawing for the sdl2 plugin to be considered completely on par
[10:23:38] <lynxlynxlynx> last time i tried, the opengl one looked ok, just no speed gain
[10:23:52] <lynxlynxlynx> maybe some shaders are missing for special stuff, but i didn't notice
[10:24:10] <koz_> Alrighty, will skip.
[10:24:12] <lynxlynxlynx> what is noticeable is that you get perfect ellipses for selection circles, not jagged ones
[10:26:18] <koz_> Also, I've just hit a linking error.
[10:26:48] <lynxlynxlynx> details?
[10:26:52] <koz_> lynxlynxlynx: http://paste.rel4tion.org/213 <-- linking error
[10:26:54] <Pepelka> No title :: toothpaste
[10:29:30] <lynxlynxlynx> nice, that's a first (and i packaged software for years)
[10:29:46] <koz_> Lol...
[10:29:50] <koz_> That's... not good.
[10:32:42] <lynxlynxlynx> http://stackoverflow.com/questions/9637551/relocation-r-x86-64-32s-against-rodata-while-compiling-on-64-bit-platform
[10:32:43] <Pepelka> c++ - Relocation R_X86_64_32S against `.rodata' ... While compiling on 64-bit platform - Stack Overflow
[10:33:03] <lynxlynxlynx> any compiler overrides, custom library builds?
[10:33:39] <koz_> No to either - everything is from the repos. The only thing I did was changed the prefix.
[10:33:59] <koz_> s/repos/package manager
[10:35:32] <lynxlynxlynx> make clean likely wouldn't help
[10:36:03] <koz_> I can try!
[10:36:22] <lynxlynxlynx> i'd empty the build dir and rerun cmake with -DSTATIC_LINK=1
[10:37:04] <koz_> OK, I'll give it a shot.
[10:38:36] <koz_> That did it - although forcing statlinking is a bit ... unfortunate.
[10:39:01] <lynxlynxlynx> huh, what monster of a machine do you have? oO
[10:39:12] <koz_> Do you want my specs?
[10:39:17] <lynxlynxlynx> not really
[10:39:24] <lynxlynxlynx> did you -j7?
[10:39:30] <koz_> -j4
[10:39:39] <lynxlynxlynx> still pretty good
[10:39:48] <koz_> That code actually compiled *really* fast for a C++ codebase.
[10:39:51] <koz_> I was rather impressed.
[10:40:15] <lynxlynxlynx> we have several plugins, so it's nicely parallelizable
[10:40:39] <koz_> Very nice - I greatly approve of this.
[10:40:41] <lynxlynxlynx> and really light on templating and stuff like that
[10:40:52] <koz_> Yeah - templates eat up compile time like nobody's business.
[10:41:14] <koz_> OK, well, it's installed. Thanks for the help!
[10:41:39] <lynxlynxlynx> thanks for not vanishing from the channel 10 seconds after no response :)
[10:41:41] <fuzzie> STATIC_LINK doesn't produce a static binary, right? so it's kind of harmless really
[10:42:02] <koz_> lynxlynxlynx: I've spent a *lot* of time on IRC. I know that it's *extremely* asynchronous as a communication medium.
[10:42:04] <lynxlynxlynx> it bundles the plugins
[10:46:31] <koz_> lynxlynxlynx: What's the easiest way to set up the necessary data for GemRB to play (for example) Baldur's Gate 2?
[10:46:31] <lynxlynxlynx> install it using wine
[10:46:32] <lynxlynxlynx> or just use it from a windows install if you're dual booting
[10:46:32] <lynxlynxlynx> it's possible to extract things manually, but it's a bit messy
[10:46:32] <koz_> I'm not dual-booting, so I guess a Wine install it'll have to be.
[10:47:11] <koz_> I'll likely muck around with this tomorrow.
[10:47:55] <lynxlynxlynx> if you have it from gog, it's in one file and works smoothly
[10:49:51] <koz_> lynxlynxlynx: That's precisely where I have it from.
[11:14:24] --> lich-li has joined #gemrb
[11:45:53] --> phao has joined #gemrb
[14:19:18] <-- Drakkar has left IRC (Ping timeout: 276 seconds)
[14:22:18] --> Drakkar has joined #gemrb
[14:51:08] --> brada has joined #gemrb
[14:53:54] --> brada_ has joined #gemrb
[14:55:23] <-- brada has left IRC (Ping timeout: 252 seconds)
[14:55:41] <brada_> just an FYI: I have rewritten the SDL2 driver and fixed all the mouse issues. performance is largely the same sadly
[14:55:57] <brada_> but it does allow for things like zooming a window :)
[14:57:44] <lynxlynxlynx> cool
[14:57:55] <lynxlynxlynx> i keep forgetting what your blocker was
[14:58:01] <brada_> once im done I would like ot make SDL2 the default for gemrb so we can implement such features
[14:58:38] <brada_> there are several merge blockers, but many fewer blockers to get it to a state where people can look at it and get to the bug fixing
[14:59:03] <brada_> one of the bigest ones is that only BG2 works
[14:59:42] <brada_> it shouldnt take all that much to get the other working since its pretty much all guiscript related
[15:00:16] <lynxlynxlynx> ouch
[15:00:31] <lynxlynxlynx> this is the id change you did?
[15:02:00] <brada_> that is one. many other changes such as creating controls from scripts, the hide/unhide gui stuff is gone, a few other things were taken out as not being needed
[15:02:10] <brada_> dont remember them all off the top of my head
[15:03:38] <brada_> oh wait the hide/unhide is still there but it has been consolidated into a single method on the python side
[15:04:23] <brada_> i would have to diff the GUISCript cpp file to see all the interface changes
[15:07:12] <brada_> oh one of the other big blockers was that i had to gut some of the window management code in the guiscripts so when you open windows like inventory the original portrait/options windows are there instead of creating new ones...
[15:07:46] <lynxlynxlynx> that sounds nice actually
[15:07:50] <brada_> i kind of like that behavior tho to be honest. it helps gemrb be resolution independent and thats how BG:EE works... not sure what we should do there
[15:07:55] <brada_> yeah :)
[15:08:10] <brada_> so if i dont need to reimplement that.. then that is one less blocker
[15:08:16] <edheldil> brada_: but that is not the same as the original does it, right?
[15:08:22] <lynxlynxlynx> i don't know what it requires on the engine side, but on the gui side we have to keep updating everything now
[15:08:23] <brada_> no, its not
[15:08:52] <lynxlynxlynx> want 10 pc party? Keep recreating the controls
[15:09:07] <lynxlynxlynx> and we still have some small selection persistence problems
[15:09:46] <lynxlynxlynx> does it affect only the portrait window or also the menu/options + actions?
[15:09:47] <brada_> that should be either eliminated/reduced, or easier to eliminate now
[15:09:47] <edheldil> brada_: then why do you want to do it?
[15:09:56] <brada_> lynx: all those windows yeah
[15:10:08] <lynxlynxlynx> cool
[15:10:33] <lynxlynxlynx> much more efficient for scaling
[15:10:34] <brada_> ed: it was something that i had to yank out to rewrite the view heirachy in a sane way. i need to either reimplement it or we just dont worry about it
[15:11:20] <lynxlynxlynx> the only problem that comes to mind is that not all window packs have the same portrait window
[15:11:26] <edheldil> you will have to recreate some state after inventory is closed .... like selection
[15:11:37] <lynxlynxlynx> eg. the internal ones in bg1 have the rest button, while the main view one doesn't
[15:12:03] <brada_> oh? i hadnt noticed :)
[15:12:18] <brada_> but that is something that could be added by the guiscripts
[15:12:29] <lynxlynxlynx> yes, still just a control id check
[15:13:19] <brada_> right, we dont *need* to use ids anymore. once you have a handle on a control/window (ie a View) you can add as many aliases to it as you want.
[15:14:54] <lynxlynxlynx> don't see how that's any different from now
[15:15:06] <lynxlynxlynx> you still need it for the initial part
[15:15:13] <brada_> so right now the messagewindow script (should be renamed/separated) runs and sets up aliases for the portrait window and all its buddies and aliases them with a text name so other scripts can just go GetView('portraitwin') or whatever
[15:15:28] <brada_> it make things in the other scripts easier is all
[15:16:09] <brada_> you only need the screwy id stuff once for each game instead of having checks everywher in the scripts that say if BG1 then id=10 else id=5 or the like
[15:16:29] <brada_> i havent gone around and changed most of that tho
[15:17:13] <lynxlynxlynx> haven't you basically just moved the constants?
[15:17:18] <brada_> it also helps in the code so that i know that a button variable is the "rest" button for example instead of button with some id that i have no idea what it does without looking at the code
[15:17:47] <brada_> sure, its about cleanliness and ease of maintaining and developing
[15:18:15] <lynxlynxlynx> except for that last bit, i'm not sold yet :P
[15:18:39] <brada_> i think when you see some of the things ive been able to clean up with it you will be
[15:19:05] <brada_> the ids still work
[15:19:12] <brada_> so it doesnt force anything on you
[15:20:02] <brada_> you can to GetControl/Window/View which all map to the same method, only the control/window versions do a type check
[15:20:11] <brada_> you can pass either an integer id or an alias
[15:20:13] <brada_> doesnt matter
[15:21:34] <brada_> it also works from the C++ side
[15:23:48] <brada_> ive also consolidated a bunch of guiscript methods. we used to have things for hiding/disabling various controls. now the view base supports all of that so everything is just done via a setflags method instead
[15:24:44] <lynxlynxlynx> cool, i have some on the backlog too
[15:25:36] <brada_> last time i checked the net change in line count was over -5000
[15:25:56] <brada_> so quite a few lines removed while also adding new flexibility and features :)
[15:26:05] <brada_> tho also new bugs no doubt :p
[15:26:41] <lynxlynxlynx> yeah, let's see at the end, too much left to do and it surely won't all be into the negatives
[15:28:10] <brada_> true enough
[15:28:54] <brada_> oh, i did get the beginnings of textarea editing done too
[15:29:06] <brada_> just selection and deletion at this point :p
[15:29:18] <lynxlynxlynx> don't remind me :P
[15:29:21] <brada_> ha ha
[15:29:27] <lynxlynxlynx> i already fear this big merge
[15:29:33] <lynxlynxlynx> seems so svn-ish
[15:29:51] <brada_> sure, i think we just leave it in its own branch for a while
[15:30:02] <brada_> try to drum up some testers on the fourm
[15:30:33] <lynxlynxlynx> or irc, look at the numbers :)
[15:31:05] <brada_> i see about 20 people and bots...
[15:31:09] <brada_> am i missing something?
[15:31:22] <lynxlynxlynx> nope
[15:31:34] <brada_> how about both?
[15:31:42] <lynxlynxlynx> sure sure
[15:33:08] <brada_> anyway, i dont like this huge merge much either, and its true some of it could have been separated out. but rewriting the view hierarchy required refactoring the video drivers and completely redoing the event handling and huge guiscript changes so a big merge was unavoidable
[15:33:35] <-- GeneralDuke has left IRC (Quit: GeneralDuke)
[15:34:15] <lynxlynxlynx> i know, just try to resist small sidesteps on the way, those can all wait
[15:34:29] <brada_> i didnt even quite realize the scale myself until it was too late :p
[15:34:35] <lynxlynxlynx> i also know it's hard, since it's exciting when new options open
[15:34:56] <brada_> yeah, admittedly i did hit a couple of sidetracks :(
[15:37:34] <-- Drakkar has left IRC (Ping timeout: 255 seconds)
[15:41:18] --> Drakkar has joined #gemrb
[15:56:22] <-- brada_ has left IRC (Quit: Page closed)
[17:21:55] --> janisozaur has joined #gemrb
[19:01:10] <-- Drakkar has left IRC (Ping timeout: 260 seconds)
[19:04:00] --> Drakkar has joined #gemrb
[19:07:47] --> Eli2 has joined #gemrb
[19:09:39] <-- Eli2_ has left IRC (Ping timeout: 240 seconds)
[21:57:10] <-- Drakkar has left IRC (Ping timeout: 240 seconds)
[21:57:28] --> Drakkar has joined #gemrb
[22:53:53] <-- phao has left IRC (Ping timeout: 245 seconds)
[23:34:43] <-- lynxlynxlynx has left IRC (Ping timeout: 265 seconds)
[23:39:50] <-- janisozaur has left IRC (Ping timeout: 240 seconds)
[23:40:01] --> phao has joined #gemrb