#gemrb@irc.freenode.net logs for 9 Apr 2016 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[01:04:27] <-- Drakkar has left IRC (Read error: Connection reset by peer)
[01:04:45] --> Drakkar has joined #gemrb
[02:32:03] --> phao has joined #gemrb
[03:06:33] --> haps has joined #gemrb
[03:06:34] <haps> re
[03:06:45] <haps> anyone around?
[03:07:16] <haps> gemrb/core/System/SlicedStream.cpp:74
[03:07:22] <haps> function calls self... not a good idea.
[03:08:59] <-- phao has left IRC (Ping timeout: 264 seconds)
[03:09:35] <haps> looks like that's never used anywhere, so a good candidate for purging.
[03:27:03] <haps> er, is anyone here a gemrb dev?
[03:50:08] <-- Drakkar has left IRC (Read error: Connection reset by peer)
[03:50:34] --> Drakkar has joined #gemrb
[03:55:32] <Lightkey> yes, just wait till Europe is awake
[05:19:52] <-- Drakkar has left IRC (Ping timeout: 240 seconds)
[05:23:38] --> Drakkar has joined #gemrb
[07:09:56] <lynxlynxlynx> haps: nice find, how did you come across it?
[07:39:38] --> GeneralDuke has joined #gemrb
[07:42:30] <-- GeneralDuke has left IRC (Client Quit)
[09:51:06] <-- Lightkey has left IRC (Ping timeout: 250 seconds)
[10:04:08] --> Lightkey has joined #gemrb
[10:28:23] --> GeneralDuke has joined #gemrb
[11:04:50] <-- GeneralDuke has left IRC (Quit: GeneralDuke)
[12:49:22] --> phao has joined #gemrb
[13:32:12] <-- phao has left IRC (Ping timeout: 244 seconds)
[13:42:34] <-- Drakkar has left IRC (Ping timeout: 264 seconds)
[13:44:17] --> Drakkar has joined #gemrb
[15:05:21] --> Eli2_ has joined #gemrb
[15:08:21] <-- Eli2| has left IRC (Ping timeout: 244 seconds)
[15:13:39] <lynxlynxlynx> hmpf, adjusted time is more annoying than i thought
[15:14:07] <lynxlynxlynx> slow slows its ticking, but we need to make sure not to evaluate the same tick twice then
[15:17:00] <fuzzie> hmm..?
[15:19:37] <fuzzie> oh, grepping for AdjustedTicks is odd
[15:19:41] <lynxlynxlynx> the haste and slow thing
[15:19:47] <lynxlynxlynx> we haven't implemented it yet
[15:19:52] <fuzzie> I have notes somewhere
[15:20:16] <fuzzie> uhm
[15:20:47] <lynxlynxlynx> i started looking into the rndbase combat bitmaps and they go only up to real 5 apr, so they also need adjusted time for improved haste/offensive spin to work
[15:21:11] <fuzzie> yeah I think that's why AdjustedTicks was there
[15:21:46] <lynxlynxlynx> yeah, just not used or adjusted yet
[15:23:35] <fuzzie> hm, apparently I don't have notes :/
[15:23:57] <fuzzie> or rather my notes only tell me where the adjustedticks are set and not where they're used
[15:24:07] --> phao has joined #gemrb
[15:24:11] <lynxlynxlynx> it's doable, we just won't be able to use the count directly
[15:24:53] <lynxlynxlynx> at minimum also poison and regeneration opcodes use it
[15:41:35] <haps> re
[15:42:02] <haps> lynxlynxlynx: I'm failing to build using clang on freebsd
[15:42:37] <haps> I've wanted to contribute for a while, I like the old baldur's gate games, but the codebase needs a cleanup badly
[15:43:21] <haps> lost a big revision I did maybe 3 or 4 years ago when a drive died, maybe I can get some fixes in if I can find some time
[15:43:47] <lynxlynxlynx> hmm, that's interesting - travis clang builds work fine
[15:43:59] <lynxlynxlynx> maybe your newer clang is triggering more warnings
[15:44:08] <haps> 3.8.0
[15:44:32] <lynxlynxlynx> 3.4 there
[15:44:33] <haps> I'm guessing that code path is never/rarely used
[15:44:41] <haps> since it'd blow up the stack
[15:44:44] <haps> every time
[15:44:54] <lynxlynxlynx> looks unused to me
[15:45:08] <haps> good candidate for removal :-)
[15:45:10] <lynxlynxlynx> should maybe be a filestream write, but then to what
[15:45:15] <haps> no idea
[15:45:19] <haps> I can't make sense of the area
[15:45:33] <lynxlynxlynx> so yeah, if you find any bsd related problems, do tell
[15:45:40] <lynxlynxlynx> if you can contribute directly, even better :)
[15:46:06] <haps> what's a fix? what write to call there? or just throw...
[15:46:44] <haps> The code confuses me, it's all .cpp files but the contents (minus the class wrapping) is all very c
[15:47:25] <lynxlynxlynx> i didn't look at it too deeply, so no decision yet
[15:47:47] <fuzzie> haps: the primary author for many years was using msvc6, which was pre-C++-standardization
[15:48:09] <fuzzie> but even then there are things which are very dependant on templates etc, not sure you can call it very C :)
[15:48:23] <Lightkey> I wonder hu that was :-)
[15:48:33] <lynxlynxlynx> it finally changed btw
[15:48:53] <haps> my first hack at it was to just remove the global state and stick it in a state class, also I'm not sure what c++ standard it's geared for but there could be lots of improvements swapping out malloc with either stack or unique ptrs..
[15:49:17] <lynxlynxlynx> last i remember of tom's buildbot, we were failing on msvc6 for a while anyway and could get rid of some of the cludges
[15:49:20] <haps> fuzzie: yeah, I'm actually surprised but in a good way to see people working on it
[15:49:36] <haps> I think it can be a pretty awesome piece of code.
[15:49:53] <fuzzie> last time I looked we were really missing things like consistent naming schemes more than anything else
[15:49:55] <haps> I certainly don't want to come off a some smug dick 'this thing stinks, do it this way'
[15:50:22] <haps> I'd rather tosss some ideas in the ring and push some patches your way
[15:50:29] <fuzzie> and do we have that much global state..?
[15:50:43] <haps> was last time I looked at it (3 years or so ago)
[15:50:49] <haps> a big header with configs
[15:50:51] <haps> sec
[15:51:10] <fuzzie> well there's loads of stuff in global state classes (e.g. Interface)
[15:51:54] <fuzzie> (and GameData which never really got off the ground as a gradual refactor)
[15:52:11] <haps> also String.*
[15:52:13] <haps> but I gotta go
[15:52:46] <haps> if you can pm a fix for the Write call so I can get it ot build (or I'll just throw or something) and hten i can start feeding back issues/proposals with patches
[15:52:50] <haps> have a good one
[15:53:30] <fuzzie> that SlicedStream.cpp:74 thing should presumably be str->Write
[15:54:37] <fuzzie> but that's really kind of fixing the build by papering it over
[15:55:44] <fuzzie> so an assert(false && "SlicedStream doesn't support Write"); would probably be my personal suggestion..
[17:05:33] --> brada has joined #gemrb
[17:05:46] <brada> ahoy
[17:06:58] <brada> haps: were you looking at anything specific for “clean up”?
[17:13:18] <brada> I have a pretty massive refactoring branch in the works already if you are interested in helping finishing it… or at least be aware of what I’m already working on to minimize conflict/duplicate effort
[17:20:29] <fuzzie> merge early merge oooften ;<
[17:20:36] <fuzzie> (hey brada)
[17:20:52] <brada> hello fuzzie!
[17:35:29] <lynxlynxlynx> reminds me of subversion
[18:47:00] <kujeger> brada: that branch public somewhere, or private work for now?
[18:47:27] <brada> private, but I would be happy to push it to github
[18:48:03] <kujeger> would be nice to look at if nothing else :-)
[18:48:57] <brada> heh, well as long as you only need to look. the only game that would even load would be BG2
[18:49:07] <brada> and it wouldnt be exactly playable
[18:50:06] <brada> I also have a fair amount of uncommited WIP
[18:53:11] <lynxlynxlynx> well, it'll be scary either way
[18:54:53] <Lightkey> reassuring :-)
[18:56:14] <lynxlynxlynx> oh don't worry, it'll be most scary to me :P
[18:58:36] <brada> the GUIScript stuff should celan up easily; just tedious. (thats mostly what is breaking things)
[19:00:19] <lynxlynxlynx> last time you described it, you didn't even manage to sell it well
[19:03:45] <brada> well im not good at explaing stuff :p
[19:04:57] <brada> tho i dont know how >5000 fewer lines of code doesnt sound like a good thing
[19:06:38] <lynxlynxlynx> you pair it with "nothing works right now, except some bg2"
[19:06:56] <lynxlynxlynx> so yeah, show it and it can be inspected properly
[19:08:04] <kujeger> well, if it isn't done yet, that isn't so strange
[19:10:08] <brada> it could easily work with everything if i went in and made the necissary python GUIScript changes, but I feel like it is a waste of time to do so until everything is solidified.
[19:11:13] <brada> and fixing those gui scripts meas even more lines of code removed
[19:11:15] <brada> fwiw
[19:12:32] <lynxlynxlynx> like i said, i'll just have to see
[19:12:51] <lynxlynxlynx> less code is not always better and maybe also the api changed
[19:13:35] <haps> brada: I'm game to dig into whatever you're doing
[19:13:51] <haps> I'll have to go through the code and see what's changed since I last familiarized myself with it
[19:13:56] <kujeger> ah yess, got the alpha bug with SDL2 fixed. Now unid-ed items (and all the other broken ones) work as they should.
[19:14:00] <haps> more eyes = better
[19:14:21] <kujeger> (needed to set SDL_SetSurfaceBlendMode)
[19:18:19] <brada> lynx: of course the api changed :) consolidation mostly: we dont need createXXX functions and such for every control type among many other things. GUIScripts are also one of the largest offenders of completely duplicate code as well as hacks (so many Hide/UnHide GUI calls to work around drawing problems etc)
[19:18:46] <brada> haps: cool. I’m in the middle of homework right now, but tomorrow I can push up the branch and throw together some notes about what still needs to be done and about what im currently working on myself. I can start a wiki page or something
[19:19:16] <brada> also, you wouldnt happen to be familiar with OpenGL would you :)
[19:19:39] <haps> no rush
[19:20:14] <haps> no, I don't know anything about opengl, I used python bindings back in the day when I took computer graphics
[19:20:32] <haps> heh, I have homework too, of sorts, taxes.
[19:20:53] <lynxlynxlynx> i'm not worried about create* calls, as there aren't many at all
[19:21:44] <lynxlynxlynx> kujeger: great
[19:22:02] <lynxlynxlynx> i'm just waiting for you to get annoyed with all the keyboard input problems :>
[19:22:03] <haps> ok, it's good to connect with you (plural), I'm off to do some work but I look forward to checking in periodically.
[19:22:43] <kujeger> lynxlynxlynx: yeah, I'm working my way down the SDL2 buglist.. guess my personal crusade for right now is to get SDL2 the default, hehe
[19:23:04] <kujeger> also some other features I want in, like middle-mouse-click drag-scrolling
[19:23:10] <brada> kujeger: you and me both
[19:23:20] <brada> we have drag scrolling in SDL2
[19:23:30] <brada> it is probably limited to touch screen
[19:23:34] <kujeger> yeah
[19:23:54] <brada> the whole event handling stuff has been rebuilt btw… in the same branch we are currently disussing
[19:24:23] <kujeger> I'm OK with what I'm doing now being redundant in that branch
[19:24:29] <brada> ok
[19:24:47] <kujeger> learning excercise etc
[19:24:59] <brada> as long as you dont feel like your time is wasted :)
[19:25:28] <kujeger> plus, would be nice to maybe get out an SDL2 release before a merge of your branch, stability otherwise permitting
[19:26:10] <lynxlynxlynx> that'll probably happen anyway, considering the timeline brad has in mind
[19:26:34] <brada> that is true
[19:26:51] <lynxlynxlynx> we just need to add enough goodies for it to make sense, since we have feature-based releases
[19:27:23] <lynxlynxlynx> making the sdl2 backend would be just one item in the changelog, we need more ;)
[19:27:33] <lynxlynxlynx> +better
[19:28:07] <kujeger> well the other thing in my book is getting the pathfinding thing fixed
[19:28:23] <lynxlynxlynx> :)
[19:28:31] <kujeger> ..basically I'm just going down my list of personal annoyances and things that make me not use gemrb to actually play the IE-games :-P
[19:28:31] <lynxlynxlynx> there's a few things there, yeah
[19:28:44] <lynxlynxlynx> yep, that's the best way
[19:29:08] <lynxlynxlynx> i force myself to do something annoying for each release or we'd move too slow
[19:29:21] <kujeger> also spurred somewhat by how much some of beamdog's (techincal) choices for the EEs are bugging me
[19:29:28] <kujeger> technical*
[19:31:10] <lynxlynxlynx> yeah, i was quite shocked yesterday
[19:31:17] <lynxlynxlynx> i thought people were overreacting
[19:32:36] <kujeger> well I do think they've done a lot of good stuff, like the zooming, UI that supports all resolutions -- and the UI rewrite they've done for 2.0, while perhaps not the most awesome design-wise, the fact that it opens for complete UI mods is pretty awesome
[19:32:53] <kujeger> ..but I really hate that they force everything through bilinear scaling
[19:33:11] <kujeger> pet peewee that
[19:34:00] <lynxlynxlynx> re gui: i understand they had to optimise for mobile a bit, but for me the new guirec is a complete mess — i'd rather just scroll through one page even on a phone
[19:34:37] <kujeger> yeah, but that is the design bit of it. the technical rewrite of it seems pretty good
[19:35:37] <lynxlynxlynx> they hardly changed anything?
[19:36:09] <kujeger> they rewrote the backend, so the whole UI is defined in lua now, making completely different UIs possible through pretty simple mods
[19:36:15] <brada> did i miss something? what is wrong with the EEs?
[19:36:32] <lynxlynxlynx> ah, that - i thought you were also talking about guirec specifically
[19:36:41] <kujeger> oh right
[19:36:55] <lynxlynxlynx> brada: the net is in flames for mostly other reasons now
[19:37:09] <lynxlynxlynx> but beamdog really has poor qa
[19:37:48] <kujeger> I think the EEs are pretty good overall (I've bought them all), just wish they had done some things different
[19:38:02] <kujeger> like the scaling, I hate the blurry filtered look
[19:38:22] <kujeger> (sent PR on the alpha blending thing)
[19:38:38] <brada> i like the sound of the new gui. tho that makes our job a little complex since its in lua
[19:38:55] <brada> if we ever even get around to it...
[19:39:00] <lynxlynxlynx> yeah, zooming in doesn't look that good and also pretty cell-shady
[19:40:11] <kujeger> I kind of think that making a new gui is better in the end, something like beamdog's now, and instead re-create the classic UIs in that
[19:40:56] <kujeger> would let gemrb have a UI that scales with arbitrary resolutions, instead of depending on the widescreen mods
[19:41:16] <lynxlynxlynx> yep
[19:41:40] <lynxlynxlynx> i ran it now, you can't click on scrollbars to jump to a certain position
[19:45:57] <brada> I’ve already gotten the UI to work at any resolution, but the windows are of course the size given in the CHU
[19:47:45] <brada> they are just appropriately aligned over the game window. looks a bit goofy but it does work :)
[19:49:21] <fuzzie> :)
[19:54:48] <kujeger> speaking of UI, I ran some BG2 assets through a vectorizer for fun, it actually turns out pretty ok: https://kumini.kujeger.net/dump/ie/vectorize/
[19:57:11] <-- phao has left IRC (Ping timeout: 244 seconds)
[20:01:51] <lynxlynxlynx> :)
[20:12:51] <kujeger> a useful thread on the new UI system in EE v2: https://forums.beamdog.com/discussion/48994/the-new-ui-system-how-to-use-it
[20:12:53] <Seniorita> The New UI System: How to Use It - Beamdog Forums
[20:24:16] <Lightkey> the last two, startold and worldmap, are good examples of where it doesn't work well (faces) and where it does
[20:28:16] --> phao has joined #gemrb
[20:30:01] <-- brada has left IRC (Quit: brada)
[23:10:01] <-- phao has left IRC (Ping timeout: 246 seconds)