#gemrb@irc.freenode.net logs for 2 Jan 2014 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:00:01] <brada> will you fix it if i fix the float win?
[00:00:07] <brada> :D
[00:01:14] <chiv> well, for the moment I shoved them in there and they are working, but I am still vague as to what the system should ideally look like
[00:01:49] <brada> Im afraid i wouldnt know the answer to that
[00:02:06] <Lightkey> ...dave
[00:02:06] <chiv> charanimations.cpp to me is a bit like trying to speed read war and peace
[00:04:32] <brada> moment of truth for my right click refactor
[00:04:39] <chiv> if you are going to look at the float menu though, my branch might have some clues
[00:04:49] <brada> ive already hopefully fixed it
[00:04:55] <brada> er at least some of it
[00:04:57] <chiv> cool
[00:05:29] <chiv> these bugs are actually dying at a much faster rate than I imagined
[00:06:21] <brada> fuzzie: i think i may have broken something again
[00:08:05] <brada> maybe not
[00:08:09] <brada> i guess PST is super buggy
[00:08:20] <chiv> yes
[00:10:08] <chiv> although I am confident that is just a result of being neglected rather than any actual serious difficulty
[00:11:11] <chiv> i mean if I can find most of the major problems on my own , my gut feeling is that is a good sign...
[00:12:49] <brada> sure, just takes somebody to care :)
[00:15:21] <chiv> it really is only a case of 'death by a thousand paper cuts' that makes it difficult to play
[00:19:06] <brada> grr i seem to have broken double click
[00:21:36] <brada> ok fixed
[00:21:38] <brada> :)
[00:21:46] <brada> this code is shorter and simpler than before too :D
[00:24:58] <brada> chiv: so if the float window is open you should or shouldnt be able to command actors to move?
[00:27:02] <brada> and im guessing the stop botten never worked right?
[00:28:28] <chiv> if the menu is open you should be able to do any sort of command, it is basically a miniaturised version of the action bar the other games have
[00:29:30] <chiv> I wanted to try and reduce floatmenuwindow.py to a stub that calls the relevant functions in guicommonwindows
[00:30:54] <chiv> i don't know about the stop button, but in al likelyhood, it probably isn't working, no
[00:35:04] <chiv> but yeah in the spirit of my other quick and dirty patches, I want be able to toggle a flag in the game that will ditch the floatmenu idea, and just gimme a proper action bar like the other games...
[00:38:09] <edheldil> eh, you get used to it
[00:39:14] <-- Eli2_ has left IRC (Quit: Ex-Chat)
[00:42:05] <chiv> well, eventually, but it is strange in the sense that this thing actually makes me seriously think about how user interfaces should be designed, despite that not being something i am often called on to do...
[00:49:32] <brada> chiv: http://pastebin.com/5KgMVr4b
[00:49:32] <Pepelka> [Diff] diff --git a/gemrb/core/GUI/GameControl.cpp b/gemrb/core/GUI/GameControl.cpp in - Pastebin.com
[00:49:35] <brada> will you try that out?
[00:49:36] <chiv> I wish I had a better worth ethic where all this is concerned, but to date I am just hoping my random hacks at things will eventually converge and create something good
[00:49:44] <brada> and maybe fuzzie can look at it too?
[00:50:10] <brada> chiv: speaking of i still want you to finish the gemrb options stuff :)
[00:53:30] <chiv> lynx actually gave me some solid points for that, I just haven't returned to it yet
[00:54:49] <brada> chiv: was PST formation rotation alt+left click?
[00:54:57] <edheldil> yes
[00:55:11] <brada> i thought you said you werent sure
[00:55:51] <edheldil> ok :)
[00:55:54] <chiv> alt left click
[00:56:11] <edheldil> good night
[00:56:18] <chiv> i only found out the other day for what it's worth
[00:56:49] <brada> ok right now its alt+right click
[00:57:04] <brada> only because right click is used in other games
[00:57:21] <brada> but it does work :p
[00:58:01] <chiv> we could go crazy and make it middle mouse button
[00:58:19] <chiv> but maybe that is just the new year vibe talking
[00:59:04] <brada> well we dont have middle ouse button ATM :(
[00:59:43] <brada> no sense in adding one imo either. better to make everything configurable to any mouse button
[01:00:04] <brada> maybe one day we will have an options window suitable for such things ;)
[01:00:12] <brada> i did break something with that patch tho
[01:00:38] <brada> or did i?
[01:01:22] <brada> cant seem to cancel casting with RC anymore :p
[01:01:32] <chiv> hard to tell, works as expected, but I am not looking where you are looking probably
[01:01:47] <brada> well im testing in BG2 atm
[01:01:59] <brada> and i can double click to move even with casting mode
[01:02:04] <brada> which is wrong
[01:02:59] <-- edheldil has left IRC (Ping timeout: 252 seconds)
[01:03:21] <brada> tho right click to cancel casting seems broken in head too :/
[01:04:14] <chiv> broken or unimplemented? I didn't realise you could do that myself
[01:05:11] <brada> im pretty sure you can in BGEE
[01:05:22] <brada> or somehow i remember doing that
[01:05:28] <brada> im going to implement it regardless
[01:05:39] <brada> as im super annoyed how cumbersome it is to cancel actions
[01:06:26] <brada> chiv: did that fix the problem you were describing?
[01:07:27] <chiv> yes it seems to be working correctly
[01:08:15] <brada> horray
[01:10:49] <chiv> since you were the last person to look at what I think is the relevant code, do any ideas spring to mind of how to limit the dragging of the menu to the main gameworld window?
[01:11:24] <brada> ug that seems not easy
[01:11:37] <chiv> its not a big problem, but you can drag it over the portaits stuff right now and that makes a hall of mirrors effect
[01:12:04] <brada> we could fix the drawing corruption im sure
[01:12:15] <chiv> thats probably the simplest way
[01:12:20] <brada> moving the float window probably just needs to call redrawall
[01:20:18] <brada> fixed i think
[01:20:40] <brada> yup
[01:22:10] <brada> chiv: we have no easy way to limit the float window to the game control area afik
[01:22:28] <brada> but we could probably layer it to be underneath the other windows
[01:22:44] <brada> unless that area is part of the game control...
[01:23:52] <chiv> theres actually no good reason I can think of to constrain it other than the drawing glitch I just mentioned
[01:24:47] <chiv> to me its a non-issue, it just had an ugly side effect
[01:25:37] <brada> well the drawing glitch is fixed
[01:25:37] <brada> https://github.com/bradallred/gemrb/compare/gemrb:master...master
[01:25:40] <Pepelka> Comparing gemrb:master...bradallred:master · bradallred/gemrb · GitHub
[01:25:41] <Pepelka> »gemrb - Game Engine Made with preRendered Background«
[01:26:09] <brada> need fussie and others to review that work first
[01:26:12] <brada> fuzzie
[01:27:54] <brada> chiv: what other issues with the float menu?
[01:31:02] <chiv> the spell selection, which you might be able to direcltly use my fix for, thieving is unreachable (should be in special abilities submenu) and there are also no default weapons in the weapon bit
[01:31:34] <chiv> ie fists
[01:33:07] <brada> chiv: i meant with input :p
[01:33:58] <chiv> oh, well none as far as I know, but I was only rattling off what I can remember :)
[01:59:08] <brada> our actors are relly horrible at facing the direction they are moving
[01:59:34] <brada> TNO likes to run backwards :p
[02:00:13] <brada> seems like its maybe only when they run?
[02:00:36] <brada> if so its probably not too hard to fix i hope
[02:14:35] <-- brada has left IRC (Quit: brada)
[02:20:33] --> brada has joined #gemrb
[02:30:07] --> rjhunter has joined #gemrb
[02:40:14] <-- brada has left IRC (Quit: brada)
[03:03:04] --> brada has joined #gemrb
[03:30:18] <-- brada has left IRC (Quit: brada)
[03:31:37] --> brada has joined #gemrb
[04:34:25] <brada> chiv: what is shift+click supposed to do in pst?
[04:35:19] <chiv> multi select?
[04:37:51] <chiv> its quite hard to remember minutiae being that I haven't actually 'played' it for a year
[04:41:15] <chiv> running is on my list of things to find
[05:00:17] <-- rjhunter has left IRC (Remote host closed the connection)
[06:06:45] <brada> so FYI alt+LMB produces an invalid button value of 2...
[06:06:54] <brada> on my mac anyway
[06:09:03] <brada> SDL_BUTTON_MIDDLE apparently o_O
[06:28:14] <brada> yup totally an Apple/SDL thing
[06:28:23] <brada> because i have "one button" mouse
[06:28:28] <brada> which is rediculous
[06:28:51] <brada> i assure you i can in fact right click with it :/
[07:26:00] <-- brada has left IRC (Quit: brada)
[07:52:47] --> edheldil has joined #gemrb
[07:52:47] --- ChanServ gives channel operator status to edheldil
[07:57:03] <Pepelka> [wiki] developers:edheldil http://www.gemrb.org/wiki/doku.php?id=developers:edheldil&rev=1388649307&do=diff
[08:37:17] <-- edheldil has left IRC (Ping timeout: 252 seconds)
[09:09:22] --> lynxlynxlynx has joined #gemrb
[09:09:22] <-- lynxlynxlynx has left IRC (Changing host)
[09:09:22] --> lynxlynxlynx has joined #gemrb
[09:09:22] --- ChanServ gives channel operator status to lynxlynxlynx
[09:15:00] --> WingedHussar has joined #gemrb
[09:17:59] <fuzzie> well edheldil's committed changes seem fine
[09:42:29] --> edheldil has joined #gemrb
[09:42:29] --- ChanServ gives channel operator status to edheldil
[09:43:14] <edheldil> hi
[09:43:34] <fuzzie> hi
[09:55:54] <-- edheldil has left IRC (Ping timeout: 246 seconds)
[10:03:13] --> edheldil has joined #gemrb
[10:03:13] --- ChanServ gives channel operator status to edheldil
[11:59:25] --> rjhunter has joined #gemrb
[12:23:03] <-- WingedHussar has left IRC (Ping timeout: 245 seconds)
[12:24:20] --> WingedHussar has joined #gemrb
[12:26:33] --> Eli2 has joined #gemrb
[13:07:36] <-- chiv has left IRC (Quit: Page closed)
[14:12:44] --> brada has joined #gemrb
[14:18:48] <edheldil> brada: I have added some comments to the Alt+LMB commits
[14:21:11] <brada> thanks, most helpful :)
[14:32:56] <brada> apparently the rotation cursor was broken before
[14:33:04] <brada> it did work at one point
[15:01:16] <brada> im actually really confused why it isnt working anymore
[15:06:56] <edheldil> don't you set different cursor elsewhere?
[15:13:37] <brada> where?
[15:13:52] <brada> i mean obviously htat is happening
[15:13:54] <brada> :p
[15:14:03] <brada> but i dont understand what is doing it
[15:30:56] --> Beholder has joined #gemrb
[15:31:50] <-- Beholder has left #gemrb
[15:37:38] --> Beholder has joined #gemrb
[16:11:09] <brada> I am so confused
[16:11:34] <brada> if i sabatoge OnMouseOver to always set the cursor to IE_CURSOR_USE it works as expected
[16:11:47] <brada> as expected meaning the cursor is always IE_CURSOR_USE
[16:12:22] <brada> but if i wrap that sabatoge in an if(FormationRotation) { the cursor is the movement cursor
[16:12:44] <brada> but formation rotation is always true during this action
[16:12:55] <brada> otherwise it wouldnt work at all on mouse up
[16:13:52] <brada> so the problem must be elsewhere :/
[16:16:23] <fuzzie> hmm?
[16:21:18] <-- WingedHussar has left IRC (Quit: WingedHussar)
[16:22:56] <brada> it looks to me like there are other cursor issues
[16:24:36] <brada> like im pretty sure dragging a selection rect whould use the default mouse down cursor
[16:25:02] <brada> but it uses whatever the last cursor was
[16:25:17] <lynxlynxlynx> isn't that correct?
[16:25:20] <lynxlynxlynx> oh
[16:25:24] <brada> same behavior as formation rotation
[16:28:12] --> edheldil_ has joined #gemrb
[16:29:08] <fuzzie> but it worked before?
[16:30:49] <brada> yes
[16:31:24] <brada> added and working in 100f66d
[16:32:51] <fuzzie> isn't that *not* formation rotation?
[16:32:56] <brada> it looks likely im the one that broke it too
[16:34:26] <fuzzie> I mean
[16:34:26] <fuzzie> ugh
[16:34:31] <fuzzie> *not* selection rect
[16:36:46] <fuzzie> just trying to see what can interfere with the cursor in GameControl
[16:36:47] <brada> it gets reached
[16:36:50] <fuzzie> the SetScrolling code can
[16:36:57] <brada> and as i said i have a sabatoged version
[16:37:02] <fuzzie> oh, well, if it gets reached then you sabotaged it :-p
[16:38:00] <fuzzie> maybe I'm being confused by you here
[16:38:49] <-- rjhunter has left IRC (Remote host closed the connection)
[16:39:30] <brada> it does seem like a drag cursor issue yes
[16:42:15] <fuzzie> and we're pretending all devices do multitouch now, right?
[16:43:57] <brada> are we?
[16:44:14] <fuzzie> well I'm just trying to follow the changes here
[16:44:23] <fuzzie> we seem to have lost all the touch-based scrolling
[16:44:56] <fuzzie> which makes a lot of this code confusingly useless (e.g. the UpdateScrolling stuff checking a bunch of things)
[16:44:56] <brada> oh that
[16:44:57] <brada> yes
[16:46:29] <fuzzie> 2e9354402d9c7c92618f423bab1df9cd3e786a35 confuses me
[16:47:14] <fuzzie> oh, it's ok, there's a commit by me a few commits later which unconfuses me
[16:47:24] <brada> yes
[16:47:34] <fuzzie> by means of retaining a horrible hack
[16:47:40] <brada> as usual you are there to fix my mistakes :)
[16:47:42] <fuzzie> not sure that was really a great plan
[16:58:39] <edheldil> brada: the cursor is set correctly to Owner->Cursor, but somehow SetCursor() is not called, I think
[17:01:32] --> Yoshimo has joined #gemrb
[17:02:10] --> kpedersen has joined #gemrb
[17:05:46] <-- kpederse1 has left IRC (Ping timeout: 272 seconds)
[17:08:20] <brada> yeah i did break it
[17:08:23] <brada> recently too
[17:08:32] <brada> when i implemented control focus
[17:09:05] <brada> b6c1a87ccf5b93eea567746a23e995eb94f204c9
[17:09:47] <brada> easy fix
[17:10:01] <brada> i hope
[17:11:39] --> kpederse1 has joined #gemrb
[17:13:44] <brada> also discovered another problem with that commit
[17:14:54] <brada> OnGlobalMouseMove shouldnt be called if something is locked with focus
[17:15:16] <-- kpedersen has left IRC (Ping timeout: 272 seconds)
[17:16:13] <brada> except that is more complicated
[17:16:26] <brada> because GC itself should if GC has the focus lock
[17:20:20] <brada> fuzzie: do you want to review thiss mess of commits?
[17:20:44] <brada> https://github.com/bradallred/gemrb/compare/gemrb:master...master
[17:20:46] <Pepelka> Comparing gemrb:master...bradallred:master · bradallred/gemrb · GitHub
[17:20:47] <Pepelka> »gemrb - Game Engine Made with preRendered Background«
[17:22:56] <brada> btw that focus lock is great for multitouch :)
[17:23:24] <brada> now things dont go awry when accidentally moving a finger over controls
[17:23:31] <brada> while doing something else
[17:23:44] <brada> looks like i killed a whole flock of birds with that rock
[17:34:03] <edheldil> brada: now the cursor and rotation actually works. Nitpick: the curso should change as soon as you pres lmb&alt, not after you pres and move
[17:34:34] --> raevol has joined #gemrb
[17:34:35] <brada> sure
[17:35:02] <brada> iirc its implemented that way due to original behavior :p
[17:35:32] <brada> tho it may be also jsut be because setting it on mouse down wasnt good enough
[17:38:15] <edheldil> oh, really, silly me :)
[17:38:41] <edheldil> pst indeed does not update cursor as soon as you click
[17:38:51] <brada> well i hove no problem with doing it
[17:38:55] <brada> if its better
[17:38:56] <brada> right?
[17:39:03] <brada> i would agree with you
[17:40:03] <edheldil> well, if it's trivial then maybe, but I would just ignore it completely
[17:40:35] <edheldil> btw, looks like the original also looks for & ALT, not == ALT
[17:40:45] <brada> cool
[17:44:34] <Beholder> hi
[17:45:52] <Beholder> any news about big textures for fonts or big sprites with text for controls?
[17:46:50] <brada> patience my friend :)
[17:46:56] <brada> it will be awhile
[17:47:09] <brada> not till after next release
[17:47:33] <brada> you should have plenty of other work ahead of you for opengl, no?
[17:48:35] <brada> edheldil, since event manager is responsible for cursors setting it on mouse down is non-trivial anyway
[17:49:49] <brada> well i tried what i thought would work anyway
[17:49:58] <brada> and it still doesnt change until you move the mouse
[17:50:15] <edheldil> hehe, let's be true to the original, then :)
[17:51:43] <edheldil> btw, commits & builds are not announced on purpose, or is something down?
[17:52:57] <brada> something broke
[17:53:23] <brada> and i had faulty logic before so i will try again :)
[17:56:04] <brada> bha
[17:56:04] <brada> bah
[17:56:18] <brada> i should have had locator feedback on full the entire time
[17:56:29] <brada> it looks like the movement points a wrong
[18:04:01] <brada> ok cursor works good now
[18:10:29] <Beholder> i have a problem with char shadow, but i can't understand what is wrong :(
[18:10:43] <Beholder> GUIScript calls GetPalette
[18:11:19] <Beholder> i implemented it and it works in other cases
[18:16:28] <brada> the red?
[18:16:59] <brada> isnt that just the result of using texture without a palette?
[18:17:21] <Beholder> not a red, shadow changed if i change the doll colors
[18:19:05] <wjp> what is the problem?
[18:20:30] <Beholder> i implemented GetPalette and got a wrong shadow in character appearance dialog
[18:20:52] <Beholder> it causes colored, not semi-transparent
[18:22:07] <wjp> are you properly setting the palette entry for the shadow colour?
[18:22:43] <wjp> shadow is palette entry 1 for sprites which are rendered with a shadow flag
[18:23:28] <wjp> but this is getting close to full game sprite rendering
[18:25:32] <Beholder> http://i-fotki.info/16/e496f5d954dbe1939b03157f1adb570abc8616171347173.jpg.html
[18:25:33] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[18:25:34] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[18:25:41] <Beholder> http://i-fotki.info/16/75a91d1c045f8035b7c3e0b39a3ff5afbc8616171347174.jpg.html
[18:25:42] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[18:25:44] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[18:25:51] <Beholder> http://i-fotki.info/16/385edefedc9ef32cef2d38a15f36a512bc8616171347174.jpg.html
[18:25:52] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[18:25:53] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[18:26:27] <Beholder> shadow is a separate sprite?
[18:26:34] <Beholder> not a doll part?
[18:27:11] <wjp> oh, hm
[18:28:20] <-- edheldil_ has left IRC (Ping timeout: 245 seconds)
[18:29:37] <Beholder> in copy constructor, i do not copy pixels and palette
[18:29:42] <Beholder> only set pointers
[18:32:04] <Beholder> and i create main texture, but not texture for palette
[18:32:21] <Beholder> palette texture created automatically if needed
[18:35:01] <wjp> this code is confusing me a bit
[18:36:52] <Beholder> GLTextureSprite2D::GLTextureSprite2D(const GLTextureSprite2D &obj) : Sprite2D(obj)
[18:36:52] <Beholder> {
[18:36:52] <Beholder> // copies only 8 bit sprites
[18:36:52] <Beholder> glPaletteTexture = 0;
[18:36:52] <Beholder> colorKeyIndex = 256; // invalid index
[18:36:52] <Beholder> rMask = obj.rMask;
[18:36:52] <Beholder> gMask = obj.bMask;
[18:36:53] <Beholder> bMask = obj.bMask;
[18:36:53] <Beholder> aMask = obj.aMask;
[18:36:54] <Beholder> if (Width > 0 && Height > 0)
[18:36:54] <Beholder> {
[18:36:55] <Beholder> createGlTexture();
[18:37:14] <Beholder> i'll post code in pastebin next time
[18:46:31] <fuzzie> you don't copy the color key index?
[18:47:29] <Beholder> yes do not
[18:47:34] <fuzzie> why not?
[18:47:37] <Beholder> i need?
[18:47:46] <Beholder> ok, i'll try
[18:48:37] <fuzzie> and you do set the palette pointer somewhere?
[18:49:26] <wjp> hrm, AnimationFactory::GetPaperdollImage is still confusing me. It does lots of palette refcounting, but no unsharing or copying of palettes as far as I can tell?
[18:50:03] <Beholder> http://pastebin.com/yEb3ze8s
[18:50:04] <Pepelka> [C++] GLTextureSprite2D::GLTextureSprite2D(const GLTextureSprite2D &obj) : Sprite2D(ob - Pastebin.com
[18:50:27] <Beholder> i set the color key now, shadow still colored
[18:50:46] <wjp> have you considered putting your entire repository online so we could easily look at it?
[18:50:47] <fuzzie> wjp: sigh
[18:51:53] <wjp> sigh?
[18:51:57] <fuzzie> re: GetPaperdollImage
[18:53:54] <Beholder> wjp: i am used a local version, not synchronized with git. I do not change any code instead video drivers. I can post code in pastebin.
[18:54:21] <fuzzie> it's very difficult to follow if you just paste small snippets in pastebin, that's all
[18:54:40] <wjp> you're not using git to manage your local changes? Not even offline?
[18:54:53] <wjp> up to you of course, but git is very convenient :-)
[18:55:23] <fuzzie> wjp: on BAMSprite2Ds, it looks like you really will mutate the palettes that way
[18:55:51] <fuzzie> the refcounting is still necessary because you might accidentally release them though
[18:56:30] <fuzzie> but the BAMSprite2D copy() just copies the palette pointer so it'll never happen with them
[18:56:32] <wjp> yes, not suggesting it wasn't necessary
[18:56:39] <fuzzie> and it looks like Beholder is doing the same copy
[18:57:40] <brada> Beholder just sign up for github :)
[18:57:50] <fuzzie> Beholder: do you invalidate the palette texture when SetPalette is called?
[18:57:57] <wjp> (the same copy without the requisite acquire()? )
[18:58:32] <brada> its going to be hard to merge your work later without using git...
[18:58:36] <fuzzie> wjp: yes, but you have to sort of hope very hard that the original Sprite2D will stay around anyway, since there's no refcounting for the underlying pixels ;p
[18:58:40] <Beholder> in my work I'm used TFS server, generally I'm c# .NET developer :). GIT is unknown for me :)
[18:58:59] <fuzzie> all the cool kids run git on their TFS servers!
[18:59:13] <wjp> fuzzie: I suppose :-)
[18:59:34] <-- edheldil has left IRC (*.net *.split)
[18:59:58] <wjp> not sure what would cause this weird shadow effect though
[19:00:09] <fuzzie> I still can't believe Microsoft did that
[19:00:09] <wjp> it's indeed palette index 1 in these sprites
[19:00:22] <fuzzie> well I'm not following
[19:00:35] <fuzzie> a lack of palette updates and/or an excess of palette updates wouldn't cause it?
[19:00:37] <Beholder> fuzzie: no, i only set pointer, thats all :)
[19:00:43] <Beholder> hm
[19:00:58] <Beholder> no
[19:01:11] <fuzzie> Beholder: you should try updating the palette texture there then, I guess
[19:01:21] <fuzzie> and then, we should make palettes immutable
[19:01:23] <Beholder> i create a new texture for palette
[19:01:27] <fuzzie> because it's crazy changing them like this
[19:01:48] <fuzzie> but that's a bit non-trivial
[19:01:51] <Beholder> void GLTextureSprite2D::SetPalette(Color *pal)
[19:01:51] <Beholder> {
[19:01:51] <Beholder> currentPalette = pal;
[19:01:51] <Beholder> createGlTextureForPalette();
[19:01:51] <Beholder> }
[19:02:26] <Beholder> createGlTextureForPalette() deletes old palette texture and create new one
[19:03:08] <fuzzie> well, I guess BAMSprite2Ds assume that the palette is invalidated for *all* sprites when you do this
[19:03:19] <fuzzie> but as far as I understand the problem, that wouldn't seem likely to cause this bug
[19:03:35] <fuzzie> but as I said I'm not following what's wrong very well
[19:07:06] --> edheldil has joined #gemrb
[19:07:10] <Beholder> why invalidated for all?
[19:07:10] <Beholder> each sprite has an own paletteTexture
[19:07:11] <wjp> if I do palette copies inside GetPapaerdollImage I don't get any visible problems it seems
[19:07:11] <Beholder> Doll colors changes proper
[19:07:11] <Beholder> only shadow is incorrect
[19:07:38] <Beholder> btw, i added support for clip regions
[19:07:53] <fuzzie> Beholder: the currentPalette can change
[19:08:04] <fuzzie> but that's bad code on our side if it does, I guess
[19:09:07] <Beholder> but if palette changes, blitSprite gets a new palette as argument, isn't it?
[19:11:00] <wjp> the BlitSprite calls from Button don't pass a palette
[19:11:09] <brada> onluy font iirc
[19:11:29] <fuzzie> so is that a paperdoll image in the bg1 chargen?
[19:11:36] <brada> yes
[19:12:25] <fuzzie> RefreshPDoll?
[19:14:10] <fuzzie> and the stacked Picture2 is the bad one?
[19:16:34] <wjp> the stacking in BG1 is vertical (top half / bottom half)
[19:16:45] <Beholder> in name textbox i got two characters instead one (by pressing key)
[19:17:25] <wjp> the split between Picture1 and Picture2 is visible here: http://i-fotki.info/16/385edefedc9ef32cef2d38a15f36a512bc8616171347174.jpg.html
[19:17:26] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[19:17:27] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[19:17:33] <fuzzie> wjp: so I'm confused, where's the background come from?
[19:17:39] <wjp> s/Picture1/Picture/
[19:17:41] <fuzzie> it's part of the image?
[19:17:44] <Beholder> I need to implement BlitGameSprite...
[19:18:00] <wjp> the shadow is at least part of the image
[19:18:02] <fuzzie> you are probably going to need some help if you want to implement BlitGameSprite
[19:18:03] <wjp> let me check background
[19:18:34] <fuzzie> I did learn how to write shaders now
[19:18:44] <fuzzie> (I got a 9/10!)
[19:18:56] <Beholder> :)
[19:19:01] <fuzzie> (but I forgot to clamp the temporaries, alas)
[19:21:03] <Beholder> what is GameSprite? Which differences?
[19:21:19] <wjp> hm, the first couple of colours (including background and shadow) are possibly the only ones not touched by SetupPaperdollColours
[19:21:22] --> edheldil_ has joined #gemrb
[19:21:46] <brada> Beholder: GameSprites have blending effects etc
[19:22:10] <fuzzie> yes, GameSprites have a large number of effects which you can apply
[19:22:22] <brada> so lots of shaders :p
[19:22:32] <Beholder> :)
[19:23:13] <Beholder> but i need to solve doll drawing first
[19:23:34] <wjp> best guess is that the palette returned by GetPalette is just wrong
[19:23:54] <wjp> and then the main colours get fixed by Palette::SetupPaperdollColours but that leaves the background and shadow broken
[19:24:55] <fuzzie> and then they work why exactly? :P
[19:25:04] <fuzzie> oh right, because, different GetPalette
[19:25:08] <fuzzie> did Beholder paste a GetPalette?
[19:25:51] <Beholder> Palette* GLTextureSprite2D::GetPalette() const
[19:25:52] <Beholder> {
[19:25:52] <Beholder> if(Bpp != 8 || currentPalette == NULL) return NULL;
[19:25:52] <Beholder> return new Palette(currentPalette, aMask!=0);
[19:25:52] <Beholder> }
[19:26:00] <Beholder> nor right may be
[19:26:05] <Beholder> *not
[19:26:18] <Beholder> my palette is an array of colors
[19:26:26] <Beholder> not true palette object
[19:26:40] <brada> right so you need to probably generate one
[19:27:02] <brada> or keep the original around
[19:27:40] <Beholder> original pointer?
[19:29:17] <Beholder> i think same, i do not create new palettes
[19:30:11] <brada> SDLSurfaceSprite2D does the same thing
[19:30:21] <edheldil_> speaking of GameSprites ... it would be nice to have some more tweaks beside BlitSprite() and BlitGameSprite()
[19:30:33] <fuzzie> edheldil_: do you really need them?
[19:30:35] <Beholder> it may cause memory problems too
[19:31:18] <fuzzie> Beholder: aMask!=0 doesn't seem like a good check for the alpha either..
[19:31:38] <fuzzie> I would just acquire and return currentPalette
[19:31:44] <Beholder> right
[19:31:57] <brada> well currentpalette isnt really a palette
[19:32:10] <Beholder> its a color array
[19:32:27] <fuzzie> well, yes, I mean keep the actual palette around
[19:32:34] <brada> yeah
[19:32:53] <Beholder> right
[19:33:37] <fuzzie> but, I don't see why it would break it, you don't modify the palette when you get it?
[19:36:28] <brada> is this a case of something else modifying the palette?
[19:36:37] <wjp> what does the GLTextureSprite2D copy constructor do with currentPalette?
[19:36:43] <fuzzie> 20:07 <wjp> if I do palette copies inside GetPapaerdollImage I don't get any visible problems it seems
[19:36:55] <fuzzie> it just copies the pointer, right?
[19:37:31] <wjp> ah yes
[19:38:06] <fuzzie> so that's approx equiv to BAMSprite2D if I understand right
[19:38:44] <brada> arent we going to have problems using "shared" palettes because the actual texture isnt going to magically update when something changes the palette it was built on?
[19:38:54] <fuzzie> yes
[19:40:18] <-- brada has left IRC (Quit: brada)
[19:40:28] <fuzzie> a fairly sensible response
[19:41:54] <Beholder> are we use CreatePalettedSprite directly somewere?
[19:42:22] <fuzzie> yes
[19:42:26] <Beholder> it receive a color array as argument
[19:42:57] <wjp> did you already paste SetPalette?
[19:43:27] <fuzzie> yes, so SDLSurfaceSprite2D is totally inconsistent here
[19:43:37] <fuzzie> it creates a new palette for GetPalette()
[19:43:38] <wjp> if you just copy a pointer in there, you'll have an invalid pointer reference immediately in GetPaperdollImage
[19:43:47] <fuzzie> which always has alpha==false
[19:44:00] <fuzzie> but that's never used for BAMs
[19:44:09] <fuzzie> probably there are bugs lurking in here
[19:44:26] <wjp> yes, the difference in the two is annoying
[19:44:40] <wjp> first thing I did was verify it was using BAMSprite2D in bg1 there
[19:45:43] <fuzzie> this is all brada's fault I assume
[19:45:50] <Beholder> CreateSprite8 calls CreatePalettedSprite with palette->col as argument, i think it's a not good
[19:46:04] <wjp> why?
[19:46:06] <fuzzie> Beholder: isn't that your own code?
[19:46:33] <wjp> right now I'm guessing SetPalette isn't doing a proper copy of its argument
[19:46:44] <fuzzie> yes, it's pure virtual in the superclass
[19:47:29] <wjp> if SetPalette just copies the pointer, then in GetPaperdollImage that pointer will be invalidated by the palette->release() immediately after the SetPalette()
[19:47:58] <fuzzie> so SetPalette needs an acquire()?
[19:48:03] <Beholder> wjp: how i cproperly set pointer to palette if i have only an array of colors?!
[19:48:18] <fuzzie> Beholder: copy the palette in your CreateSprite8, was my proposal
[19:48:46] <wjp> Beholder: well, this is why the Palette class has this refcounting in the first place
[19:48:57] <Beholder> but if game directly use CreatePalettedSprite icant get a pointer to palette
[19:49:09] <fuzzie> Beholder: yes, so in that case make a palette
[19:49:17] <Beholder> ok
[19:49:18] <fuzzie> this is a mess, I know, because no-one tried doing it this way before
[19:49:29] <fuzzie> we have to fix it to be consistent
[19:50:06] <fuzzie> but it probably won't fix your bug to just copy the Palette object
[19:50:31] <fuzzie> so I think I'd also want to see your current SetPalette
[19:50:44] <fuzzie> maybe you're dropping the alpha somewhere?
[19:50:49] <Beholder> first, i'll do some changes
[19:51:40] <fuzzie> wjp: our current code is also losing the 'alpha', and the 'named' is weird and 'front'/'back' are crazy..
[19:53:17] <fuzzie> does the 'named' thing have any point at all other than to catch our mistakes?
[19:53:28] <fuzzie> doesn't look like it
[19:54:48] <wjp> I don't think it did, no
[20:01:16] <wjp> front/back are used by Font and WorldMapControl it seems
[20:01:50] <Beholder> [GameData/FATAL]: Palette is supposed to be named, but got no name! I mistakes somewhere....
[20:03:22] <wjp> you're probably corrupting a Palette somewhere
[20:03:58] <wjp> e.g., by missing an acquire()
[20:05:39] <wjp> if you're keeping a Palette* inside GLTextureSprite2D, you should copy BAMSprite2D's use of release/acquire
[20:06:34] --> brada has joined #gemrb
[20:06:59] <brada> <fuzzie> a fairly sensible response
[20:07:02] <brada> very funny
[20:07:05] <brada> :)
[20:07:52] <Beholder> ok, now i create new palette always with creating sprite
[20:08:03] <Beholder> now errors at startup
[20:11:20] <fuzzie> brada: as usual this is all your fault for not fixing the logic when you refactored it all!
[20:11:40] <brada> I already knew that, but i was silently waiting for you to reach that conclusion
[20:11:43] <brada> :D
[20:15:16] <Beholder> now i get: Assertion failed: refcount > 0, file e:\projects\gemrb\gemrb\core\palette.h, line 73
[20:15:19] <Beholder> :)
[20:15:30] <Beholder> on creating new game
[20:16:28] <lynxlynxlynx> poor brad
[20:16:44] <brada> i bring it on myself by actually doing work around here :D
[20:17:50] <Beholder> damn
[20:17:59] <lynxlynxlynx> everyone has brown bag periods now and then
[20:18:14] <wjp> Beholder: still indicates a missing acquire()
[20:23:04] <edheldil_> fuzzie: BlitGameSprite() is used in Button::Draw() because it supports tints, unlike BlitSprite()
[20:31:47] <Beholder> in CreatePalettedSprite, i create a new palette, but about alpha, i need to set it true or false?
[20:33:45] <Beholder> in both cases i got a crash in Palette* Palette::Copy()
[20:33:48] <wjp> hm, not sure
[20:34:04] <Beholder> on startup doll dialog)
[20:34:18] <Beholder> doll... doll...
[20:34:37] <wjp> I don't think I can say much without the code
[20:35:02] <brada> why does Palette::Copy call release?
[20:35:24] <fuzzie> edheldil_: but why is using BlitGameSprite a problem?
[20:36:07] <Beholder> http://pastebin.com/W0r1f3RU
[20:36:07] <Pepelka> [C++] Sprite2D* GLVideoDriver::CreateSprite(int w, int h, int bpp, ieDword rMask, ieDw - Pastebin.com
[20:36:26] <wjp> brada: because the only way it is ever called is things like pal = GetPalette()->Copy()
[20:36:39] <wjp> brada: where the GetPalette does an acquire()
[20:36:55] <brada> super confusing :p
[20:37:21] <fuzzie> yay for ownership rules?
[20:37:48] <fuzzie> Beholder: you shouldn't be acquire()ing when you create it
[20:38:11] <wjp> show us SetPalette() and GetPalette()?
[20:38:16] <fuzzie> but presumably you're failing to acquire() somewhere else
[20:38:20] <Beholder> http://pastebin.com/Vjm6aDqs
[20:38:22] <Pepelka> [C++] void GLTextureSprite2D::SetPalette(Palette *pal) { currentPalette = pal; gl - Pastebin.com
[20:38:28] <edheldil_> fuzzie: because it creates confusion
[20:38:44] <fuzzie> edheldil_: why? :P
[20:38:58] <fuzzie> Beholder: you need an acquire() in GetPalette and SetPalette
[20:39:11] <wjp> and also a release() on the old one in SetPalette()
[20:39:15] <wjp> see BAMSprite2D
[20:39:19] <fuzzie> edheldil_: I mean, you could name them BlitNormal and BlitSpecial or something
[20:39:20] <Beholder> ok
[20:40:13] <fuzzie> but you're also destroying the alpha channel in the palette code there
[20:41:22] <Beholder> ahah, I get shadow always black
[20:41:39] <Beholder> but not colored and without background
[20:41:43] <Beholder> progress
[20:42:38] <brada> what in the world are you using the "colors" variable for
[20:42:56] <brada> oh nevermind
[20:43:07] <brada> i had to scroll to the right to see it :p
[20:44:34] <brada> also what fuzzie said about the alpha
[20:44:43] <Beholder> why i need to call release?
[20:44:54] <fuzzie> Beholder: otherwise you leak memory
[20:45:12] <fuzzie> because palette is never deleted
[20:45:25] <Beholder> why if i set currentPalette = pal;
[20:45:35] <Beholder> i do not create a new one
[20:45:37] <fuzzie> because what happens to the old currentPalette?
[20:45:43] <fuzzie> you don't release it, you just overwrite it
[20:45:57] <brada> because you cant hang onto a pointer to an object you dont own
[20:46:08] <brada> so you acuire it to own it
[20:46:11] <fuzzie> that's not a good reason to call release :-p
[20:46:15] <brada> then release it when you are done
[20:46:27] <brada> well i mean this is shared ownershipt principles
[20:51:14] <brada> i dont understand the need to set 0xff to 0
[20:51:21] <fuzzie> it's inverting the alpha
[20:51:33] <fuzzie> right?
[20:51:39] <brada> yes but why?
[20:52:44] <Beholder> gl)
[20:52:48] <fuzzie> hm, I guess SDL also has 0 for transparent
[20:52:58] <brada> oh
[20:53:17] <fuzzie> so I guess I ask the same thing
[20:53:47] <brada> well its not a big deal but you can just do colors[colorKeyIndex].a = 0; once at the end instead of every iteration
[20:55:12] <brada> do you not need to invert more than just 0 values?
[20:55:19] <fuzzie> I don't see why you have to invert at all
[20:55:28] <brada> i dont either, but just saying
[20:56:15] <fuzzie> none of these sprites have alpha==true
[20:56:29] <fuzzie> and Beholder isn't checking that..
[20:56:50] <Beholder> fuzzie: anywhere i do not understand how to properly call acquire() and release(). if palette is shared, i cant do it
[20:57:06] <brada> no thats exactly why you must do it
[20:57:19] <fuzzie> Beholder: in SetPalette, you do 'currentPalette->release();', then 'currentPalette = pal;', then 'pal->acquire();'
[20:58:04] <Beholder> but if currentPalette is shared?
[20:58:15] <fuzzie> it's always shared, right?
[20:58:29] <fuzzie> so you must *not* do 'delete currentPalette;'
[20:58:32] <Beholder> right, i mean but is used
[20:58:34] <wjp> Beholder: just copy the behaviour from BAMSprite2D GetPalette/SetPalette
[20:58:35] <fuzzie> but that's ok, you're not doing that :)
[20:59:27] <wjp> Beholder: acquire() increases refcount, release() decreases refcount. They're exactly meant for sharing
[21:00:39] <fuzzie> our alpha code is totally amazingly absolutely inconsistent too
[21:00:58] <brada> shouldnt the palette destructor be private? or operatordelete or whathave you?
[21:01:14] <brada> im not a c++ guy so i dont know if you can even do that
[21:01:15] <fuzzie> because we only obey Palette::alpha in the BAM case and palette alpha is always used otherwise
[21:02:01] <brada> he he
[21:02:13] <fuzzie> and yes you can make the destructor private
[21:02:20] <fuzzie> and yes this is again all brada's fault
[21:02:48] <brada> going for the high score
[21:05:16] <wjp> fuzzie: don't we _never_ use palette alpha for non-BAM?
[21:05:37] <wjp> at least I thought SDL 1.2 didn't have the concept?
[21:05:49] <wjp> but I could be mistaken
[21:06:54] <brada> sdl 1.2 didnt use the 'a' portion of its colors
[21:07:09] <fuzzie> well SDL2 does use it
[21:07:16] <fuzzie> so that's even worse if SDL1.2 doesn't!
[21:08:47] <fuzzie> anyway I guess we should get this opengl code into trunk
[21:09:12] <fuzzie> and see if we can make the situation with palettes sane, with it as a more helpful guide
[21:09:56] <Beholder> ok, I kind of figured
[21:10:14] <Beholder> what about shadow
[21:10:45] <Beholder> lacked transparency
[21:10:51] <fuzzie> how is it being rendered?
[21:10:59] <Beholder> black
[21:11:03] <fuzzie> I mean, in the code
[21:11:23] <Beholder> as all other palette sprites)
[21:11:26] <fuzzie> it's *not* BlitGameSprite?
[21:11:33] <Beholder> no
[21:12:18] <Beholder> BlitGameSprite not implemented, so far
[21:12:24] <wjp> I think black is correct here
[21:12:42] <Beholder> in original bg i see transparent
[21:12:48] <wjp> then we just haven't implemented that
[21:14:36] <wjp> this is how it looks for me with SDL 1.2: http://www.usecode.org/gemrb/bg1chargen.png
[21:15:03] <Beholder> ok, i see the same
[21:15:08] <wjp> good
[21:15:46] <Beholder> but only background does not redraw
[21:16:17] <Beholder> but it's a not renderer problem
[21:16:17] <brada> we need to fix modal windows anyway
[21:16:41] <brada> so i wouldnt worry about that right now
[21:17:40] <Beholder> in next step i'll implement BlitGameSprite
[21:17:49] <brada> sounds like fun
[21:36:03] <fuzzie> two months work? :p
[21:37:06] <brada> maybe
[21:37:13] <brada> wjp might help
[21:39:57] <edheldil_> brada: I have seen some redraw problems in pst
[21:40:02] <brada> i know
[21:40:39] <brada> well i dont know about pst, but i know of TextEdits
[21:40:49] <brada> so maybe it is worth telling me
[21:44:39] <-- edheldil_ has left IRC (Ping timeout: 240 seconds)
[21:44:57] --> edheldil_ has joined #gemrb
[21:50:21] <edheldil_> it was something with loading and inventory, but I can't repeat it
[21:52:00] <edheldil_> also, GUIINV does not close portrait window when switching to journal or options, but that's probably unrelated
[21:58:32] <brada> so the textedit for the map control doesnt appear to draw its background/text in thte correct location
[21:59:45] <brada> either the text is too low or the backgrownd is too high
[22:01:11] <brada> background isnt centered either
[22:01:59] <brada> https://www.dropbox.com/s/jexxbj9uk4sbfmk/Screenshot%202014-01-02%2015.01.51.png
[22:02:01] <Pepelka> Dropbox - Screenshot 2014-01-02 15.01.51.png
[22:06:52] <brada> the text can also overrun the bounds of the bg
[22:07:20] <brada> we should pass that as clip i guess
[22:21:03] <lynxlynxlynx> are you sure it's not the same in the original?
[22:21:42] <Beholder> hm, BlitGameSprite not so simple
[22:22:58] <Beholder> i think, i fully ignore "BAM" specific code?
[22:32:47] <brada> fuzzie: does this look sane?
[22:32:48] <brada> http://pastebin.com/B4xM70kr
[22:32:58] <Pepelka> [Diff] From 1bb70b7f640f921f2505972b42d44d698c15b492 Mon Sep 17 00:00:00 2001 From: Br - Pastebin.com
[22:33:19] <brada> Beholder you can ignore BAMs easily but you still need to do effects
[22:33:38] <brada> i mentioned before you can override SupportsBAMSprites on the driver
[22:34:14] <brada> lynx: no im not sure
[22:34:49] <lynxlynxlynx> ignore it then
[22:35:00] <lynxlynxlynx> the two title bugs are more important
[22:36:19] <brada> the titles are fixed with that patch i just posted
[22:36:26] <brada> https://www.dropbox.com/s/mpp9mg3aakys9mh/Screenshot%202014-01-02%2015.35.49.png
[22:36:27] <Pepelka> Dropbox - Screenshot 2014-01-02 15.35.49.png
[22:37:23] <brada> the text we draw is too low
[22:38:28] <lynxlynxlynx> what about the title displayed on the main window?
[22:40:04] <brada> ?
[22:40:27] <brada> i imagine so but i dont know what you mean
[22:41:38] <brada> also maybe Owner->InvalidateForControl(this); is better?
[22:42:28] <brada> ah no
[22:42:32] <brada> its not good enough
[22:46:28] <fuzzie> Beholder: you really have to write a lot of shader code for BlitGameSprite, you can't just copy the code
[22:46:52] <wjp> but the effects are something that can be done later and incrementally, of course
[22:46:53] <brada> maybe a better fix is to give control a background property instead of a method
[22:46:56] <fuzzie> best to just implement it as a blit and then fix bit-by-bit
[22:46:57] <fuzzie> right :)
[22:47:01] <Beholder> i need to see a transformations in old code
[22:47:16] <brada> i dont understand
[22:47:36] <Beholder> pixel transformations (effects)
[22:47:48] <fuzzie> they're in SpriteRenderer.inl
[22:47:53] <fuzzie> but it's unreadable :)
[22:48:00] <Beholder> :)
[22:48:06] <fuzzie> also, incomplete
[22:48:24] <brada> and will it really help you with glsl?
[22:48:26] <lynxlynxlynx> the one on top of the map
[22:48:26] <Beholder> what function draws a game area
[22:48:33] <brada> lynx: yes
[22:48:42] <fuzzie> Beholder: which bit of it?
[22:48:50] <brada> Beholder gamecontrol does all that
[22:48:57] <fuzzie> for the game areas you probably want to start by implementing BlitTile
[22:49:11] <brada> in my POC for a hybrid renderer i just had that entire control render via software
[22:49:14] <lynxlynxlynx> cool
[22:49:20] <Beholder> i temporary calls BlitSprite instead a BlitGameSprite
[22:49:21] <fuzzie> which draws using a tile and a mask
[22:51:51] <fuzzie> non-mask version is just a blit, and mask version should be really easy to do in a shader: you want to output non-transparent for a pixel (x,y) only when the mask texture has the color-key at (x,y)
[22:54:34] <Beholder> http://i-fotki.info/16/9e7da57d5c25ccdc4c94fe89c7c327c2bc8616171363320.jpg.html
[22:54:35] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[22:54:36] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[22:54:44] <Beholder> we can start the game)
[22:54:51] <fuzzie> nice
[22:55:06] <fuzzie> you should get us to start merging the code into the upstream version, if you want it to be useful
[22:55:31] <fuzzie> otherwise we're going to break everything repeatedly when we refactor stuff
[22:55:35] <Beholder> how to use git
[22:55:49] <fuzzie> you're on windows?
[22:55:51] <Beholder> and i cant add changes to repo
[22:55:55] <Beholder> yes
[22:56:07] <fuzzie> visual studio 2013?
[22:56:15] <Beholder> 2010
[22:56:19] <fuzzie> hm, no git support then
[22:56:34] <Beholder> it supported in 2013?
[22:56:36] <fuzzie> yes
[22:56:47] <fuzzie> modern TFS Server does git
[22:56:54] <edheldil_> Beholder: please put the code somewhere, so it's not lost if you suddenly disappear (that happens)
[22:57:07] <fuzzie> well it's somewhat on pastebin :)
[22:57:10] <fuzzie> but yes
[22:57:30] <fuzzie> for repo access, you just add stuff to your own repo (on github), and we pull from there
[22:58:08] <brada> fuzzie: will you sanity check that patch?
[22:58:14] <fuzzie> I don't really know what to recommend as a GUI client on Windows, people like Git Extensions but I'm not convinced
[22:58:31] <fuzzie> brada: I hate that code
[22:59:09] <brada> can you hate it in a helpful way? :p
[22:59:25] <fuzzie> the patch looks not good, if that helps
[22:59:34] <brada> it does not :/
[22:59:48] <fuzzie> my thought process here is
[22:59:52] <fuzzie> look at SetFlags
[22:59:55] <fuzzie> why would that invalidate the parent?
[23:00:09] <fuzzie> look at Button
[23:00:23] <fuzzie> and see it has a IE_GUI_BUTTON_NO_IMAGE
[23:00:25] <Beholder> i do not change anything instead SDLVideo.h (adds virtual modifiers)
[23:00:38] <-- Yoshimo has left IRC (Ping timeout: 265 seconds)
[23:00:42] <Beholder> i think it will be simple to merge
[23:00:42] <fuzzie> and then think, isn't this a lot more complicated than your patch does?
[23:01:06] <fuzzie> Beholder: well for now, you can just upload the files somewhere, if you can't work git out
[23:01:18] <brada> i dont know what flags are, but it was invalidating the window before i touched it
[23:01:20] <fuzzie> (if you do that, please give us author name and author email for credit)
[23:01:29] <fuzzie> brada: yes, but now it isn't, right?
[23:01:40] <fuzzie> because your default HasBackground() always returns true
[23:01:46] <brada> it should be when it needs to
[23:02:46] <fuzzie> but in any case
[23:02:55] <fuzzie> there's a nice function to invalidate a window for a specific control, I'm pretty sure
[23:03:03] <Beholder> ok, i'll try to study git bit more
[23:03:05] <fuzzie> called, InvalidateForControl
[23:03:24] <brada> yeah it doesnt work :p
[23:03:29] <brada> i already mentioned that
[23:03:34] <fuzzie> yes, but why?
[23:04:39] <lynxlynxlynx> we already have Beholder in our git logs btw
[23:04:52] <Beholder> who can tell me about flags (TILE_HALFTRANS, TILE_GRAY, etc)?
[23:05:04] <brada> half transparent?
[23:05:07] <fuzzie> and why did you remove the redrawing from SetPos? how do you force a redraw now?
[23:05:16] <fuzzie> just this patch fills me with questions :)
[23:06:51] <fuzzie> for that matter why remove the invalidation from TextArea::SelectText but not the RedrawAll?
[23:08:06] <brada> fuzzie: i removed the invalidate because it is redundant with RedrawAll
[23:08:21] <brada> i can split the commits up
[23:08:23] <fuzzie> yes but why is there a RedrawAll there? :P
[23:08:28] <brada> this is just one big diff
[23:08:32] <brada> oh that i dont know
[23:08:33] <fuzzie> I would very much like them split I guess
[23:08:43] <wjp> Beholder: the effects of the BlitTile flags are handled by TileRenderer.inl
[23:08:46] <fuzzie> I think it's possible this will break stuff
[23:08:57] <lynxlynxlynx> Beholder: GREY is for timestop only, so not really important now
[23:08:59] <brada> do you have an idea of what?
[23:09:03] <wjp> Beholder: it's similar to SpriteRenderer.inl but the "baby version"
[23:09:10] <fuzzie> well like I said, flags can enable/disable backgrounds for the Button, right?
[23:09:17] <fuzzie> but if you mean where in the games, I don't know
[23:09:28] <fuzzie> I'm assuming we'll find out if you commit it :)
[23:09:36] <brada> well i wont just yet
[23:09:49] <fuzzie> well, then we won't find out
[23:09:52] <fuzzie> so that's less helpful
[23:09:53] <brada> tho if it does break something it at least fixes something i already broke :p
[23:10:02] <fuzzie> although maybe waiting until lynxlynxlynx is about to do a release is best
[23:10:03] <fuzzie> for optimal panic
[23:10:07] <Beholder> thanks all, i go sleep
[23:10:10] <Beholder> bye
[23:10:10] <fuzzie> sleep well
[23:10:13] <wjp> night
[23:10:17] <brada> night
[23:10:22] <-- Beholder has left #gemrb
[23:11:29] <lynxlynxlynx> do any breaking as soon as possible
[23:11:45] <brada> ok expect things to be broken when you wake up in the morning
[23:12:10] <lynxlynxlynx> i'll make a quick iwd1 run to test the "prerelease" and that's not the time for big changes
[23:14:36] <lynxlynxlynx> button background switching hmm
[23:14:37] <fuzzie> we know about the text entry with the map pins?
[23:14:46] <lynxlynxlynx> i guess the portrait window is a good case
[23:14:57] <lynxlynxlynx> get one of the actors to leave the party/get chunked/imprisoned
[23:15:08] <brada> btw the focus lock broke portrait dragging :(
[23:15:09] <lynxlynxlynx> then rejoin/get a new one
[23:15:19] <lynxlynxlynx> fuzzie: yes
[23:15:20] <fuzzie> inv buttons are a weird button one
[23:15:33] <lynxlynxlynx> well, if you mean the text cursor thing
[23:15:36] <fuzzie> yes
[23:15:38] <fuzzie> thanks
[23:16:47] <brada> im unsure how to hadle that case
[23:17:00] <fuzzie> it's the annoying case
[23:17:06] <brada> controls might need some kind of flag
[23:17:09] <fuzzie> it's why there are warnings scattered in a few places
[23:35:43] <edheldil_> pst journal images draw green corners instead of rounded corners
[23:42:01] <brada> Im perplexed at why some TextEdits draw corectly and others dont :/
[23:43:31] <brada> i figured out a bit of a hack for it...
[23:44:04] <brada> one it seems like we should be subtracting FontPosY not adding it
[23:44:22] <brada> but even then its too low by the height of the background
[23:44:31] <brada> so i subtract that as well
[23:44:49] <brada> im sure that still slightly wrong
[23:45:27] <-- brada has left IRC (Quit: brada)
[23:51:12] <edheldil_> TextArea is so broken :/