[00:04:57] <lynxlynxlynx> apply fuzzie's diff
[00:05:37] <lynxlynxlynx> it kills sdl1 support, so you better have the other
[00:06:38] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[00:58:05] <-- i30817 has left IRC (Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131206145537])
[00:58:20] <-- raevol has left IRC (Quit: Leaving.)
[02:06:05] <-- edheldil_ has left IRC (Read error: Operation timed out)
[02:27:46] --> brada has joined #gemrb
[02:44:13] <-- brada has left IRC (Quit: brada)
[02:46:15] --> brada has joined #gemrb
[04:55:50] <-- EVBB-Eugene has left IRC (*.net *.split)
[04:57:09] --> EVBB-Eugene has joined #gemrb
[05:02:45] --> Canageek has joined #gemrb
[05:04:49] <-- Canageek has left #gemrb
[06:01:31] --> Beholder has joined #gemrb
[06:02:30] <Beholder> hi
[06:04:56] <-- brada has left IRC (Quit: brada)
[06:28:34] --> edheldil_ has joined #gemrb
[06:36:47] <-- edheldil_ has left IRC (Ping timeout: 260 seconds)
[08:18:54] --> WingedHussar has joined #gemrb
[08:32:25] --> lynxlynxlynx has joined #gemrb
[08:32:25] <-- lynxlynxlynx has left IRC (Changing host)
[08:32:25] --> lynxlynxlynx has joined #gemrb
[08:32:25] --- ChanServ gives channel operator status to lynxlynxlynx
[08:48:27] <wjp> morning
[08:49:49] <edheldil> goof morning ;-)
[08:50:54] <edheldil> fuzzie: those screenshots with with visible cover - could it be perhaps switchable for general modding purposes?
[08:51:26] <edheldil> i.e. mod-debugging purposes
[08:51:56] <-- WingedHussar has left IRC (Remote host closed the connection)
[08:52:28] --> WingedHussar has joined #gemrb
[08:57:51] --> edheldil_ has joined #gemrb
[08:58:48] <wjp> the polygons are drawn in DEBUG_SHOW_INFOPOINTS mode (ctrl-4 I think?)
[08:59:13] <wjp> actually making the covered bits white is #define HIGHLIGHTCOVER at the top of SpriteRenderer.inl
[09:00:31] <edheldil> oh, thanks :)
[09:06:59] <fuzzie> hm I have to resist messing with the gl code now.
[09:11:27] <fuzzie> the highlight cover thing is a bad idea to make runtime switchable of course
[09:11:33] <fuzzie> but we could just draw the cover itself
[09:11:42] <fuzzie> I mean, the masks
[09:11:47] <fuzzie> not so helpful for modidng though :)
[09:42:16] <wjp> highlighting the polygons themselves is probably the most useful bit already
[10:11:33] --> Eli2_ has joined #gemrb
[10:12:12] <-- Eli2 has left IRC (Ping timeout: 245 seconds)
[10:21:39] <fuzzie> why do we make such small covering sprites?
[10:22:04] <fuzzie> I'm just thinking that we're probably going to be uploading an awful lot of these when actors are moving, for example
[10:23:02] <fuzzie> ok, wow, we make a lot of these
[10:23:07] <fuzzie> this is not smart
[10:23:46] <fuzzie> but, yes, we make new ones an awful lot when we move
[10:24:28] <fuzzie> and I guess we should mark them as empty if they're empty
[10:25:03] <wjp> they have to be recomputed when the actor's y changes
[10:26:03] <wjp> (oh, or x for diagonal cover footprints if that's allowed?)
[10:26:03] <fuzzie> but why?
[10:26:05] <wjp> since an actor may move in front of or behind a wall
[10:26:06] <wjp> we could try to keep track of that though
[10:26:07] <fuzzie> ah
[10:26:07] <fuzzie> right, that's what I was forgetting :)
[10:26:25] <wjp> it should in fact be doable
[10:26:35] <fuzzie> sure
[10:26:50] <wjp> make it a bit larger, and see if there are any wallcovers overlapping the cover area which a changed status wrt the old/new actor positions
[10:26:53] <fuzzie> we can just keep a set of 'which polys are present'
[10:27:03] <wjp> s/which/with/
[10:27:10] <wjp> right
[10:27:33] <wjp> and that does immediately help with the 'empty' case too
[10:27:42] <fuzzie> right :)
[10:28:11] <fuzzie> I made the mistake of opening a busy bg2 area when trying to see how many we make
[10:28:17] <fuzzie> *way* too many, disasterous
[10:28:53] <fuzzie> but that's because we're clipping in the video driver I guess
[10:29:13] <fuzzie> ah no, it checks bbox.InsideRegion(vp)..
[10:29:27] <fuzzie> then we're doing something silly
[10:30:52] <fuzzie> something has a crazy bbox I suppose
[10:31:52] <fuzzie> oh no, it's a non-actor
[10:33:39] <Beholder> hi
[10:33:42] <fuzzie> hi :D
[10:33:46] <wjp> hello
[10:33:52] <fuzzie> I hadn't realised you were here
[10:34:04] <fuzzie> it's the AreaAnimations which are my problem here I guess
[10:34:21] <-- WingedHussar has left IRC (Remote host closed the connection)
[10:35:07] <fuzzie> we build a sprite cover for Pos.y+height but we check the cover at Pos.y
[10:35:38] <fuzzie> caused by d49201fe721d12153d931388262dc1f4c44ea608
[10:36:12] <fuzzie> so ok, I guess that is a bug :)
[10:36:41] <wjp> so it's considered invalid every frame?
[10:36:44] <fuzzie> yep
[10:37:03] <fuzzie> if I fix that, then it's exactly as I'd expect (only a problem when actors move)
[10:37:20] <wjp> "This faithfully reproduces original rendering errors". Yay :-)
[10:37:36] <fuzzie> Beholder: do you have any uncommitted fixes?
[10:39:48] <wjp> nice catch
[10:48:19] <fuzzie> gah
[10:48:27] <fuzzie> I just merged all this up nicely and lynx got in the way :-p
[10:49:33] <fuzzie> ok, pushed the two master fixes
[10:51:30] <lynxlynxlynx> you mean you had to do a one commit rebase first? :P
[10:51:43] <fuzzie> no
[10:51:50] <fuzzie> I merged it into beholder's tree you see
[10:52:02] <fuzzie> so I had to rebase, then revert beholder's side back, then re-merge
[10:52:18] <fuzzie> so you wasted 20 seconds of my life
[10:53:22] <lynxlynxlynx> :]
[10:55:23] <fuzzie> damn, now it segfaults at startup again
[10:57:00] <fuzzie> hm, so, this masking stuff still doesn't work
[10:58:07] <fuzzie> but I moved it back to GL_ALPHA which is fine
[11:01:04] <wjp> fine == same or working?
[11:01:08] <fuzzie> same
[11:01:13] <fuzzie> well, better
[11:01:25] <fuzzie> but I still get no actors
[11:03:51] --> WingedHussar has joined #gemrb
[11:05:41] <fuzzie> why don't I get any actors?!
[11:07:05] <wjp> if you let the loop in BlitGameSprite set everything to 255, are they still missing then?
[11:08:39] <fuzzie> I circumvented the whole function
[11:08:54] <fuzzie> and they do show up
[11:09:08] <fuzzie> but disabling the mask doesn't help
[11:10:29] <fuzzie> GetGlobalTint() is returning NULL and this code doesn't do the blit in that case
[11:10:51] <fuzzie> it also doesn't work in the !anchor case
[11:11:45] <fuzzie> it's all fine if I remove the check for GetGlobalTint() being ok
[11:12:30] <wjp> aah, there's an entire else branch missing there
[11:12:48] <fuzzie> right, I don't know why it works for Beholder :)
[11:13:07] <fuzzie> it all looks fine now
[11:13:11] <wjp> hurray
[11:13:14] <fuzzie> well, sort of, the VVCs are buggy.. :)
[11:13:28] <fuzzie> but time to stop playing with it I think
[11:18:19] <fuzzie> https://github.com/BehoIder/gemrb/pull/1
[11:18:22] <Pepelka> Opengl fixes by fuzzie · Pull Request #1 · BehoIder/gemrb · GitHub
[11:18:23] <Pepelka> »Merge with master, and add some fixes to make it work nicely for me.«
[11:18:31] <fuzzie> the 'some OpenGL fixes' and 'strdup the error messages in Shader' are the relevant ones
[11:19:12] <fuzzie> hmm, there's a makeup exam for Computer Graphics in 2 hours, and I don't have a grade for it yet :-P
[11:19:19] <fuzzie> oh, wrong window
[11:24:29] <fuzzie> fuzzie/opengl-cmake has my cmake hacks on top, if anyone wants to build it
[11:36:03] <edheldil> hmmm, we should eradicate those 0.6., bg1-import-cleanup patches
[11:36:16] <edheldil> s/patches/branches/
[11:37:55] <lynxlynxlynx> why?
[11:39:08] <edheldil> because the get needlessly (I think) replicated. I have several copies of them. No other reason
[11:39:22] <fuzzie> they're pretty harmless
[11:40:07] <edheldil> screen clutter, that's all. They get replicated to each new fork
[11:40:46] <edheldil> hmm, no sdl2 in ubuntu 10.04
[12:02:10] <lynxlynxlynx> branches are cheap, only a few diffs are stored
[12:02:31] <lynxlynxlynx> probably less, since they were all merged back, save for a few commits
[12:32:46] <edheldil> I said it's a screen clutter
[12:33:50] <lynxlynxlynx> do you look at git branch a lot?
[12:37:30] --> WingedHussar1 has joined #gemrb
[12:39:07] <-- WingedHussar has left IRC (Ping timeout: 252 seconds)
[12:39:57] <edheldil> is there any reason to have them there?
[12:41:07] <edheldil> (yeah, it's not a problem worthy of ttime spent on discussing it)
[12:49:05] <lynxlynxlynx> complete history
[12:50:01] <lynxlynxlynx> the versioned ones are perhaps also available as tags though, but I don't know if the storage is interdependent
[12:53:33] <edheldil> hm :/
[13:05:15] <chiv> i was actually reading how git works last night, apparenlty messing with the history is bad juju for anything that derives from a repo
[13:05:54] <chiv> i don't know whether that applies in this case, but I wouldn't want to find out myself...
[13:06:34] <-- chiv has left IRC (Quit: Page closed)
[13:24:17] <edheldil> it does not :)
[14:21:25] <-- Beholder has left IRC (Quit: Leaving)
[15:03:13] --> brada has joined #gemrb
[15:32:48] <-- brada has left IRC (Ping timeout: 272 seconds)
[15:33:56] --> brada has joined #gemrb
[16:36:40] --> Maighstir has joined #gemrb
[16:43:36] <brada> i wonder if its feasible/good idea to move the dialog handling bits of TA to a subclass...
[16:43:40] <fuzzie> are you expanding your refactoring to include the entire codebase? :p
[16:46:03] <lynxlynxlynx> fuzzie: how come find_sdl2 works for you (not included in cmake) and where did you get the glew one from? I'll clean it up so both versions can live together
[16:46:15] <lynxlynxlynx> nevermind on the first one
[16:46:15] <-- WingedHussar1 has left IRC (Quit: WingedHussar1)
[16:47:37] <brada> fuzzie: im trying not to... but separating dialog options makes what im doing easier i think
[16:47:41] <lynxlynxlynx> and did the one shipped with cmake not work or you added it for past compatibility?
[16:49:36] <fuzzie> past compat
[16:49:42] <fuzzie> which is to say, my cmake didn't have one :P
[16:49:59] <lynxlynxlynx> mhm, seeems it's there from 2.8.10 onwards
[16:50:10] <lynxlynxlynx> the sdl2 one is from scummvm?
[16:50:24] <fuzzie> no, they're both just the first ones I fond on google I think
[16:50:39] <fuzzie> not sure
[16:50:48] <fuzzie> the GLEW one is not great because it produces GLEW_LIBRARIES
[16:50:55] <fuzzie> probably there's a better one
[16:51:28] <lynxlynxlynx> the official one produces the same set of vars
[16:51:42] <fuzzie> ah ok.
[16:52:17] <fuzzie> it would be nice if you could make them live side-by-side
[16:52:45] <fuzzie> I didn't try sdl2 for sdlaudio either
[16:54:26] <lynxlynxlynx> i just found one for sdl2_mixer
[17:00:00] <brada> sure, but was there an API change that makes our code incompatible?
[17:03:59] <lynxlynxlynx> it's amazing how you found findglew
[17:04:16] <lynxlynxlynx> i've opened 10 different repos and all have the same version
[17:04:22] <lynxlynxlynx> that isn't the one you found
[17:05:37] <lynxlynxlynx> brada: sdl_mixer1 would have nothing sane to link against if gemrb is compiled with sdl2, so the branch just has it disabled
[17:06:46] <lynxlynxlynx> ok, all set
[17:06:56] <fuzzie> oh?
[17:07:29] <fuzzie> well if you can make it build, maybe we can merge the whole thing
[17:07:59] <fuzzie> we'd need to #ifdef the normal SDL 2.0 video driver somehow, but that should be easy enough
[17:12:39] <-- Maighstir has left IRC (Quit: .)
[17:13:05] <lynxlynxlynx> for starters i'm just making it search for sdl2 first, then try sdl1
[17:13:29] <lynxlynxlynx> haven't thought about the mess in the driver
[17:13:51] --> Maighstir has joined #gemrb
[17:14:08] <fuzzie> right, I think we have to have a way to pick
[17:14:25] <fuzzie> the SDL2 driver is worse than the SDL1.2 right now I think?
[17:14:37] <fuzzie> so we don't want to default to it
[17:14:41] <brada> right
[17:14:48] <fuzzie> until we can find a nice solution for all the input etc
[17:15:15] <fuzzie> or is brada's plan to only have GL for SDL2 eventually? I forget
[17:15:33] <brada> GL would be fine, but we need to reconcile touch input :/
[17:15:47] <lynxlynxlynx> sure, it's trivial to add a switch
[17:15:54] <lynxlynxlynx> most people don't have sdl2 anyway
[17:16:01] <fuzzie> well, I have sdl2 :p
[17:16:02] <brada> can we just have a compile arg?
[17:16:08] <brada> i mean the GL renderer is still incomplete
[17:19:00] <lynxlynxlynx> just one makes little sense to me
[17:19:03] <fuzzie> sdl1.2 vs sdl2+gl
[17:19:40] <lynxlynxlynx> what i find odd is that you didn't have to modify the cmake file for gemrb/
[17:19:51] <lynxlynxlynx> it still has the sdl1 include var
[17:20:04] <fuzzie> oh that will probably break on OS X then
[17:20:35] <brada> meh
[17:21:24] <fuzzie> brad split that code off so I don't follow at all
[17:22:41] <lynxlynxlynx> it'll be fine
[17:23:52] <lynxlynxlynx> USE_GL is used to switch between gl and gles?
[17:27:15] <-- edheldil_ has left IRC (Ping timeout: 264 seconds)
[17:28:03] --> Yoshimo has joined #gemrb
[17:40:30] <fuzzie> yes
[17:42:06] <brada> fuzzie: instead of separating into a subclass, does it seem sensible to simply add a method for appending dialog options so we can keep them separate? *I* dont see problem with that, but I am not yet intimately familiar with how this all interacts.
[17:43:26] <-- Yoshimo has left IRC (Ping timeout: 264 seconds)
[17:44:21] <lynxlynxlynx> so that makes 3-4 variables
[17:45:16] <fuzzie> brada: uh, why separate?
[17:46:04] <fuzzie> but yes sure
[17:50:51] <brada> this code is just more complex than i had anticipated. pretty high coupling between all the components
[17:51:33] <brada> I was mulling the idea of a dialog responder class, thats why i ask
[17:53:05] <fuzzie> you mean, it's a huge mess which just sort of got stuff added to it :)
[17:53:41] <fuzzie> the dialog response screen has to be capable of displaying messages and retain history
[17:54:11] <fuzzie> so a subclass works but you can't split the two
[17:54:22] <brada> yeah
[17:54:31] <brada> i discarded the subclass idea
[17:54:45] <brada> too much work, not worthwhile, etc
[17:58:06] <fuzzie> gr
[17:58:09] <fuzzie> can't find good example
[17:58:15] <brada> of?
[17:58:17] <fuzzie> but http://www.significant-bits.com/wp-content/uploads/2011/04/Torment-2011-04-03-12-03-08-08.jpg is the kind of thing I was thinking of
[17:58:27] <fuzzie> only with the messages below the dialog choices :)
[17:58:36] <fuzzie> anyway I have to go do dinner sorry!
[17:58:59] <brada> youll have to explain to me later :)
[18:03:10] <lynxlynxlynx> the messages interjected the dialog basically
[18:03:54] <brada> ah
[18:04:48] <lynxlynxlynx> i see one couldn't build the sdl2 version with cmake before at all
[18:04:54] <brada> right
[18:05:01] <brada> there wasnt really a point
[18:05:28] <brada> it was only useful on ios/android
[18:18:34] --> Canageek has joined #gemrb
[18:23:14] <brada> anyway my thoughts on dialog: make a method SetDialogOptions on TA that creates text spans (for both regular and highlight) independent of the standard text spans. selecting an option would create a new span and append it to regular text area so history is retained. I think it is simpler than the string parsing and layout dance we do now.
[18:33:07] <fuzzie> independent?
[18:38:56] <lynxlynxlynx> there, cmake ready
[18:39:42] <fuzzie> gah
[18:39:49] <fuzzie> are there *any* Let's Plays of bg1 on youtube?
[18:40:47] <lynxlynxlynx> do you really need video?
[18:40:48] <fuzzie> no, a complete set of sshots would be fine too
[18:40:51] <fuzzie> but no-one has anything resembling that either :/
[18:41:25] <lynxlynxlynx> http://www.giantitp.com/forums/showthread.php?t=94948 <-- i have this bookmarked
[18:41:28] <Pepelka> Yet another Let's Play: Baldur's Gate - Giant in the Playground Forums
[18:41:30] <Pepelka> »Yet another Let's Play: Baldur's Gate Gaming (Other)«
[18:43:04] <fuzzie> ok, that is awesome
[18:43:14] <brada> fuzzie: i mean dont append the options to the container of text spans, but render them independently. i just think its cleaner to not try and mingle their behavior with the other text...
[18:44:23] <lynxlynxlynx> so swapping the contents back and forth instead
[18:45:03] <brada> why back and forth?
[18:45:17] <lynxlynxlynx> i'd have to see the code to judge which approach i like better, but that reminds me of one bug there
[18:45:39] <lynxlynxlynx> you wouldn't put clear the textarea for the dialog text+options?
[18:46:04] <lynxlynxlynx> ... which is we keep the speaker portrait in the textarea history post-dialog
[18:46:42] <brada> neat
[18:49:25] <lynxlynxlynx> i'm not positive it wasn't the same in the original though
[19:00:27] <brada> lynx: are you sure? that doesnt seem to work, at least not with party member conversations. the only portrait shown is the last.
[19:00:29] <fuzzie> well I was trying to find a screenshot of how this works in non-pausing dialog mode
[19:00:36] <fuzzie> but I can't find one and I'm going to sulk now
[19:00:50] <lynxlynxlynx> "only"
[19:01:31] <brada> oh i see you mean we keep the last one after
[19:01:37] <brada> is that desirable?
[19:02:15] <lynxlynxlynx> i don't think so
[19:02:55] <lynxlynxlynx> all or nothing
[19:02:56] <brada> ok
[19:02:56] <fuzzie> but my question is
[19:02:56] <fuzzie> what happens when I add a line to a dialog while it's showing the options?
[19:03:05] <brada> it would be l=placed above the options
[19:03:13] <brada> the options would always be at the bottom
[19:03:14] <fuzzie> so, I dislike that :-p
[19:03:30] <fuzzie> but I guess I can live with it if it's nicer design
[19:03:54] <lynxlynxlynx> what about when you actually need to scroll to see all the options
[19:04:15] <lynxlynxlynx> having everything at the bottom or top is the only sensible choice
[19:04:59] <lynxlynxlynx> considering nearby events could start spamming the window, bottom sounds better
[19:05:47] <brada> Im trying to see the upside to being able to put text below the options....
[19:06:45] <lynxlynxlynx> i don't see any, except that that way the moving options problem is a bit different
[19:07:09] <lynxlynxlynx> if the text is at the bottom, they would just scroll past, if it's in the middle, there'd likely be some jitter
[19:09:06] <fuzzie> brada: it preserves the ordering
[19:09:33] <brada> how does the original behave? not that it really matters
[19:09:38] <fuzzie> well
[19:09:41] <fuzzie> first: I don't think it matters
[19:09:45] <fuzzie> second: I think it adds to bottom
[19:09:52] <fuzzie> third: I spent 20 minutes trying to find a sshot/video and can't find one :P
[19:10:05] --> Yoshimo has joined #gemrb
[19:10:23] <lynxlynxlynx> http://www.significant-bits.com/wp-content/uploads/2011/04/Torment-2011-04-03-12-03-08-08.jpg
[19:10:33] <lynxlynxlynx> so not absolutely bottom
[19:10:43] <brada> ?
[19:10:44] <brada> that shows the option at bottom
[19:10:57] <lynxlynxlynx> the dialog actions' feedback is in the middle
[19:11:05] <lynxlynxlynx> so not sure if separation makes sense
[19:11:12] <brada> ok so when i say options, ii mean the active selectable options
[19:11:17] <lynxlynxlynx> yes
[19:12:19] <fuzzie> that pst dialog is paused, I'm fairly sure
[19:12:34] <fuzzie> so that's text in-between actions
[19:21:06] <brada> it woulndt be hard to associate the option set with the last span of the text when the options are set. doing so would allow me to inject the selected option as a new span between the text corresponding to the options and any messages that came after. that should preserve order right?
[19:26:41] <fuzzie> 20:09 <fuzzie> first: I don't think it matters
[19:26:42] <fuzzie> :-p
[19:26:52] <fuzzie> already too much time!
[19:29:18] <brada> good enough for me :D
[19:30:45] <lynxlynxlynx> i so suck at writing official letters
[19:30:54] <lynxlynxlynx> time to test this new mess instead
[19:31:45] <lynxlynxlynx> ok, plain sdl2 compiles fine
[19:31:55] <lynxlynxlynx> mouse cursor leaves a trail
[19:32:11] <brada> right
[19:32:28] <brada> thats primarily why it never went beyond touchscreen devices
[19:33:12] <lynxlynxlynx> otherwise seems to work ok
[19:33:32] <lynxlynxlynx> feels a tiny bit slower, but that could just be variance
[19:33:41] <brada> beholder says some of the special keys produce funky text
[19:33:49] <brada> its expected to be a bit slower
[19:35:50] <brada> the only benefit a desktop would see is better mouse wheel scrolling and the ability to upscale in a window. without a functional mouse cursor its quite moot
[19:36:30] <-- Yoshimo has left IRC (Ping timeout: 265 seconds)
[19:38:57] <lynxlynxlynx> it's functional, just ugly on windows
[19:38:58] <lynxlynxlynx> gc is fine
[19:39:04] <brada> yeah, gc always redraws
[19:40:11] <fuzzie> but the sdl2 backend input is broken, right?
[19:40:24] <brada> I just disable the cursor in the config and use the OS cursor with SDL2
[19:40:28] <brada> fuzzie: in what way?
[19:40:31] <fuzzie> I thought you had touch event issues
[19:40:32] <lynxlynxlynx> oh, one exception - formation rotation doesn't work, but i think you know this too
[19:40:33] <brada> no, no
[19:40:42] <brada> in the opengl version touch input doesnt work
[19:40:55] <fuzzie> and yes, keyboard input is broken
[19:41:05] <fuzzie> I mean, for special keys
[19:41:07] <brada> right
[19:41:13] <brada> easy fix im sure
[19:42:01] <brada> i guess formation rotaion is likely broken because the SDL2 input was programmed for touchscreens primarily and something is conflicting there
[19:42:03] <fuzzie> modifiers still fine though, e.g. I can hit ctrl-4
[19:42:22] <brada> yes i assume it related to the last issue with it
[19:42:24] <fuzzie> it's just typing savegame names and the such which is annoying
[19:42:35] <brada> because there is a TEXT_EVENT now
[19:42:41] <fuzzie> sure
[19:43:06] <fuzzie> SDL2's text input changes basically make me cry (in my non-gemrb incarnation)
[19:43:26] <lynxlynxlynx> wat
[19:43:38] <fuzzie> the GL backend actually works amazingly well already
[19:43:38] <lynxlynxlynx> spellcasting at range is now dead
[19:43:43] <fuzzie> oh?
[19:43:52] <lynxlynxlynx> i'll go try some other saves
[19:43:59] <fuzzie> it was working for me recently
[19:44:05] <fuzzie> cursor issues with the GL backend
[19:44:41] <fuzzie> also I like how we have build support in master for code which isn't in master :-)
[19:44:55] <lynxlynxlynx> yep, the actor just moves there
[19:46:02] <fuzzie> still works for me
[19:46:44] <brada> lynx: check my recent changes in GC::onMouseUp
[19:46:44] <fuzzie> well except it doesn't actually do anything
[19:47:00] <lynxlynxlynx> i'm looking at its log, yeah
[19:47:23] <lynxlynxlynx> for you they don't just move, fuzzie?
[19:47:33] <fuzzie> no, they move to the right distance then cast
[19:47:42] <fuzzie> (with SDL1.2, mind)
[19:48:41] <fuzzie> how do I make cmake use sdl2 now?
[19:49:29] <fuzzie> '-DUSE_SDL2:BOOL=ON' works but I assume is not the intended method
[19:50:30] <lynxlynxlynx> just needs to be defined
[19:50:33] <lynxlynxlynx> no type needed
[19:50:36] <fuzzie> works with sdl2 too
[19:50:40] <fuzzie> well, I tried '-DUSE_SDL2' and it said, invalid syntax
[19:50:45] <fuzzie> but =ON is ok?
[19:50:56] <lynxlynxlynx> i think so
[19:50:58] <fuzzie> cool
[19:51:10] <lynxlynxlynx> i use =1
[19:51:27] <fuzzie> ah :)
[19:51:31] <lynxlynxlynx> by casting, do you mean actual cast happening or just the guiscript setup?
[19:51:37] <fuzzie> the whole thing
[19:51:39] <fuzzie> which game?
[19:51:41] <lynxlynxlynx> bg2
[19:51:44] <fuzzie> then, yes
[19:51:48] <lynxlynxlynx> fireball, doom
[19:52:27] <lynxlynxlynx> ms3
[19:52:29] <fuzzie> fireball fine
[19:52:38] <fuzzie> much to the dismay of the bystanders
[19:52:58] <lynxlynxlynx> only self-targetting works for them here, but then it's not CastSpellPos anymore anyway
[19:53:50] <fuzzie> hm it's kind of flaky indeed for targetting ground
[19:53:52] <fuzzie> works sometimes
[19:54:40] <lynxlynxlynx> bg1 is the same
[19:54:45] <lynxlynxlynx> anyway, this is all sdl1
[19:54:58] <lynxlynxlynx> i'll bisect it later or tomorrow
[19:55:03] <fuzzie> brad's changes do look most likely
[19:55:25] <brada> yup
[19:55:26] <lynxlynxlynx> the formation rotation one didn't look problematic at glance
[19:55:27] <lynxlynxlynx> -w suggested
[19:55:27] <brada> it would be the earlier ones
[19:55:38] <brada> the one where i refactored the entire method
[19:55:50] --> PKodon has joined #gemrb
[19:55:52] <lynxlynxlynx> off to something more fun for now
[19:56:00] <brada> have fun the n :)
[19:56:06] <brada> ill likely fix it while you sleep
[19:57:30] <fuzzie> basically brad changed OnMouseUp
[19:57:38] <brada> yes
[19:58:10] <fuzzie> and it sets 'doMove' to true and thus does a move
[19:58:32] <fuzzie> because target_mode is obviously NONE after the cast was done
[19:58:42] <fuzzie> and it checks *after* the cast.. :)
[19:58:47] <brada> heh
[19:59:28] <brada> so it does cast, but also does a move
[19:59:30] <brada> ?
[19:59:36] <fuzzie> yes, and the move cancels the cast
[19:59:48] <fuzzie> let me check I'm actually right quick
[20:00:06] <fuzzie> yep
[20:00:50] <brada> jsut return after cast i guess?
[20:00:56] <fuzzie> well you changed all the 'return;' to 'break;'
[20:01:40] <fuzzie> so let me add the break back
[20:01:59] <brada> oh or that
[20:01:59] <fuzzie> and push it
[20:02:12] <brada> thank you fuzzie
[20:02:47] <fuzzie> (done)
[20:04:03] <fuzzie> gemrb is a lot more interesting than the alternatives right now.. :)
[20:04:27] <brada> alternatives?
[20:04:37] <brada> you mean school work?
[20:04:55] <fuzzie> or real work or chores :p
[20:07:53] <fuzzie> the schoolwork is sort of optional at this point
[20:08:01] <fuzzie> the rest is unfortunately not really
[20:13:01] <fuzzie> speaking of avoiding work, perhaps wjp can explain which effects we're missing
[20:13:17] <wjp> I haven't really been keeping track
[20:13:26] <fuzzie> in the old code, I mean
[20:13:32] <wjp> yes
[20:13:36] <fuzzie> it has 'glow' and 'blended', they're VC?
[20:13:37] <fuzzie> VVC?
[20:14:01] <fuzzie> the blit flags have 'darken' and 'glow'
[20:14:37] <wjp> right
[20:15:06] <wjp> BLIT_BLENDED = IE_VVC_BLENDED, BLIT_DARK = IE_VVC_DARKEN, BLIT_GLOW = IE_VVC_GLOWING
[20:16:56] <fuzzie> our 'IE_VVC_3D_BLEND' is 'VEFVIDCELL_BLT_GLOW' upstream, confusing
[20:17:27] <fuzzie> and our 'IE_VVC_LIGHTSPOT' is 'CVEFVIDCELL_GLOW'
[20:18:28] <-- Canageek has left IRC (Read error: Connection reset by peer)
[20:19:51] <fuzzie> ok, thanks
[20:20:57] <wjp> I haven't looked at the missing ones for ages
[20:33:20] <brada> so strangely GemRB in iOS simulator is capped at 10 fps, regardless of resolution or on screen action o_O
[20:33:54] <brada> it used to get 30 fps easily even on 1024x768. im just not sure if the change is xcode/simulator/sdl/gemrb
[20:36:28] --> raevol has joined #gemrb
[20:38:33] <brada> vsync issue?
[20:47:29] <-- brada has left IRC (Quit: brada)
[20:49:05] --> brada has joined #gemrb
[20:49:06] <brada> disabling SDL_Delay yields 100 fps o_O
[20:49:48] <brada> tho the CPU skyrockets :D
[20:59:03] <brada> anyway im clearly capable of getting > 30 fps so what give?
[21:01:41] <fuzzie> it's brada's fault
[21:02:59] <brada> usually you point out how its broken too :p
[21:04:18] <brada> seems like this problem: https://forums.libsdl.org/viewtopic.php?p=12626&sid=fc8de995ff0e114ef383b358460c5285
[21:06:13] <fuzzie> to 10fps would be pretty weird
[21:06:20] <brada> the thing is it didnt used to behave like this :/
[21:06:31] <brada> it could also be ios/mac os changes
[21:07:17] <brada> i should jailbreak my gf's ipad and see what its like on device now
[21:07:33] <brada> last time i tried it ran great at 800x600 on an ipad 2
[21:07:39] <fuzzie> maybe print the delay before calling SDL_Delay if you can output it
[21:07:45] <Lightkey> edheldil: 10.04? :o
[21:07:49] <brada> id like to think her ipad 4 could run 30fps on 1024x768 then
[21:07:50] <fuzzie> are you trying it with ES?
[21:07:59] <brada> no
[21:08:07] <brada> the old SDL2 driver
[21:08:20] <fuzzie> in a completely unrelated note, it might be cool to try ES? :)
[21:08:25] <brada> yes
[21:08:28] <brada> i intend to
[21:08:35] <brada> we could merge it now, no?
[21:10:09] <brada> fuzzie: the delays seem to be between 21 and 24
[21:10:50] <fuzzie> maybe ask Beholder before we do
[21:11:38] <fuzzie> but sure
[21:11:44] <fuzzie> and between 21 and 24 should be good
[21:13:28] <brada> a hard coded delay of 5 is exatly 30fps :/
[21:14:10] <fuzzie> iOS has nanosleep
[21:14:25] <fuzzie> right?
[21:14:28] <fuzzie> except, apaprently not
[21:15:28] <fuzzie> brada: what if you print the difference before the 'if'?
[21:16:51] <brada> time - lastTime is between 9 and 13
[21:19:23] <fuzzie> rdar://8857757, "Expected Results: usleep should not be sucking up all the CPU."
[21:21:19] <-- PKodon has left IRC (Quit: The Rodent Tracker 8000, just like on TV ... Because household pests never build up an immunity to bullets. (Tex Murphy))
[21:21:21] <fuzzie> I don't know
[21:21:53] <fuzzie> but it shouldn't be that bad
[21:22:04] <brada> yeah it *used* to work
[21:22:24] <fuzzie> the machine with the simulator has a lot of cpu spare I assume?
[21:23:40] <brada> yes
[21:23:55] <brada> i really should try on actual ipad then
[21:24:35] <brada> gemrb is only taking ~14% of CPU
[21:24:48] <brada> and thats on only a single core
[21:26:46] <brada> ios does have nanosleep btw
[21:27:58] <fuzzie> yes, and HAVE_NANOSLEEP is defined for SDL build so it'll use nanosleep
[21:33:47] <brada> well now i cant build at all
[21:34:03] <brada> updated to the tip of SDL and have hundreds of missing symbols
[21:34:36] <brada> oh grr
[21:37:18] <brada> my fualt of course ;)
[21:40:56] <brada> more api changes than i thought
[21:45:54] --> chiv has joined #gemrb
[21:46:51] <chiv> hello
[21:47:12] <brada> hey
[21:47:50] <chiv> would anyone be so kind to look at this and tell me how I am doing it all wrong, because I just don't understand the underlying system: https://github.com/chilvence/gemrb/commit/332c1848fe78db8006c714736ff7975ed3228362
[21:47:52] <Pepelka> An abortive attempt to add the two missing string paramters that PST nee... · 332c184 · chilvence/gemrb · GitHub
[21:47:54] <Pepelka> »gemrb - Engine Made with preRendered Background«
[21:50:51] <chiv> or better yet, just tell me to stop touching it :)
[21:52:19] <lynxlynxlynx> are you sure that isn't just weidu misdecompiling?
[21:53:28] <lynxlynxlynx> probably avenger or fuzzie type is needed to check the original engine, unless you find something like that used in a mod
[21:53:39] <chiv> i haven't compiled anything myself, I just started poking there because there is a dialog [many dialogs] that uses incrementglobalonce, and it doesn't seem to work
[21:54:32] <lynxlynxlynx> but such sillies appear elsewhere too
[21:54:33] <lynxlynxlynx> i suspect weidu has a problem with the wierd ids tokens pst uses
[21:55:25] <chiv> and there are four string parameters passed, but i can only see room for two in the gemrb code
[21:55:56] <chiv> unless I am just reading it all wrong
[21:58:01] <chiv> essentially i fixed the bit that I wanted to work, with the small side effect of breaking everything else
[22:02:52] <-- brada has left IRC (Quit: brada)
[22:09:22] <lynxlynxlynx> hmm, can only find it for animation names
[22:09:35] <lynxlynxlynx> that's not something you'd just increment
[22:11:45] <lynxlynxlynx> looks like this is used for the adaptive alignment system
[22:11:59] <lynxlynxlynx> meh
[22:14:34] <chiv> duhir.dlg is what I was looking at, reply #31 tries to increment a globel, and #36 fails a trigger check for it
[22:26:57] --> brada has joined #gemrb
[22:31:54] <brada> SDL revision 8094 is why i cant link :/ have to change SDL_DYNAMIC_API to 0 for it to build right
[22:32:13] <brada> anyway updating to the tip didnt change anything about the FPS limit
[22:56:16] <fuzzie> chiv: hi
[22:56:30] <chiv> hello
[22:58:02] <fuzzie> what's the action example?
[22:59:24] <chiv> IncrementGlobalOnce("Good_Uhir_1", "GLOBAL", "Good", "GLOBAL", 1)
[23:00:28] <chiv> its undocumented on iesdp as well, so I have no idea what it tries to do specifically
[23:01:04] <fuzzie> hm, I don't have the pst dlgs extracted
[23:01:47] <fuzzie> IncrementGlobalOnce("Evil_Trias_2","GLOBAL","Good","GLOBAL",-1) is the only mention in scripts
[23:02:39] <chiv> I'm pretty sure that it will be represented most by dlg files
[23:03:59] <fuzzie> anyway this is not how to do it
[23:05:00] <chiv> I shouldn't really have tried anyway, I just thought it would be worth a quick go
[23:05:08] <fuzzie> we just don't handle mergestrings for the four-param case
[23:05:25] <fuzzie> maybe?
[23:05:26] <chiv> i couldn't work out what mergestrings was about even
[23:05:46] <fuzzie> it means "str1", "str2" becomes "str1str2"
[23:06:34] <fuzzie> hmph
[23:06:39] <fuzzie> do you have a reproduction recipe?
[23:06:53] <chiv> i can make a save
[23:07:52] <fuzzie> our mergestrings code expects no spaces
[23:08:21] <fuzzie> at GameScript/GSUtils.cpp:1681
[23:08:35] <chiv> i just dont understand the reason for the squashing...
[23:08:45] <fuzzie> because it's how the original engine works
[23:08:51] <chiv> ah
[23:09:01] <fuzzie> when an action is compiled, this is squashed
[23:09:07] <chiv> i want what they were smoking
[23:09:21] <fuzzie> and so either we rewrite all the BAFs at load time, or we compile the same :)
[23:09:57] <fuzzie> but I would try modifying the check above
[23:10:25] <fuzzie> fail if it's not ',', but then check (*src==' ') and skip in the middle if it is
[23:10:49] <fuzzie> I mean I assume that's your problem
[23:11:17] <chiv> nah I just broke everything by trying to add two more params, it made sense at the time
[23:11:29] <fuzzie> well this is kind of obscure
[23:11:44] <fuzzie> I only know it because I got similarly confused
[23:12:01] <fuzzie> http://iesdp.gibberlings3.net/file_formats/ie_formats/bcs.htm documents it
[23:12:02] <Pepelka> BCS File Format
[23:12:10] <fuzzie> ("ctions only have space for 2 string parameters. There are actions taking anywhere from 0 to 4 strings. Some of the actions which take strings (usually either 2 or 4 strings) actually concatenate the strings.")
[23:12:45] --> edheldil_ has joined #gemrb
[23:12:47] <chiv> so, reading that, best I throw it altogether and rething it
[23:13:09] <fuzzie> sorry :)
[23:13:19] <fuzzie> Log ( WARNING, "GSUtils", "WHYY GOD WHYYY DID YOU DO THIS" );
[23:13:22] <fuzzie> ^- we need more of this
[23:13:58] <brada> gemrb would be nothing but log messages then....
[23:14:06] <fuzzie> :)
[23:14:10] <fuzzie> you're all great
[23:14:22] <chiv> hah, I have to have some way to tell my messages apart from the rest of them
[23:14:34] <fuzzie> I add ********* around mine
[23:15:24] <Lightkey> no need for censoring
[23:21:24] <lynxlynxlynx> :)
[23:22:03] <chiv> i find it slightly ironic that hexen, a pretty straightforward first person hack and slash had a scripting language that was pretty much a miniature replica of c in 1996, while baldur's gate, the posterchild of complex rpgs of the time has this... weirdness
[23:22:55] <Lightkey> that's because it used id Tech, no?
[23:23:10] <Lightkey> all hail John Carmack ;-)
[23:23:28] <fuzzie> now compare the complexity of the actual scripting..
[23:23:32] <fuzzie> and pity the scripters
[23:23:50] <chiv> hah, that's why i have never even considered making a mod
[23:24:04] <Lightkey> I pity the fools
[23:24:10] <fuzzie> ok, Beholder's latest tree merged with master works for me
[23:24:21] <fuzzie> well, except I still can't see any actors of course
[23:24:27] <lynxlynxlynx> i've seen such horrors i don't dare debug iescripts by inserting displaymessage or similar
[23:24:30] <fuzzie> ooh, nasty bug if I open the menu
[23:24:44] <fuzzie> in fact nasty bugs eeeverywhere
[23:25:39] <fuzzie> strange
[23:26:09] <fuzzie> oh Beholder didn't take all my fixes
[23:26:12] <fuzzie> someone bother him about the "glPaletteTexture = 0;" if he's around
[23:26:29] <fuzzie> oh, no, that is in there
[23:26:29] <fuzzie> hmm
[23:26:39] <fuzzie> how odd
[23:30:44] <fuzzie> well something's certainly broken
[23:31:45] <lynxlynxlynx> for one day, i'm just happy sdl2 was already perfectly packaged for me
[23:34:00] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[23:35:39] <fuzzie> oh, no, it isn't in there. I'm so confused.
[23:36:01] <fuzzie> and adding it does fix it.
[23:36:01] <fuzzie> sleepy time.
[23:51:03] <chiv> yay, fixed it, thanks fuzzi e
[23:58:50] <brada> show us
[23:59:10] <chiv> for your consideration https://github.com/chilvence/gemrb/compare/fixesonly
[23:59:11] <Pepelka> Comparing gemrb:master...chilvence:fixesonly · chilvence/gemrb · GitHub
[23:59:12] <Pepelka> »gemrb - Engine Made with preRendered Background«