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

Archive Today Yesterday Tomorrow
GemRB homepage


[03:09:00] <-- brada has left IRC (Quit: brada)
[08:12:17] --> lynxlynxlynx has joined #gemrb
[08:12:17] --- ChanServ gives channel operator status to lynxlynxlynx
[09:03:30] --> chiv has joined #gemrb
[09:17:39] <-- chiv has left IRC (Ping timeout: 252 seconds)
[09:24:36] --> Eli2 has joined #gemrb
[09:40:39] --> brada has joined #gemrb
[09:42:20] <-- brada has left IRC (Client Quit)
[09:48:14] <lynxlynxlynx> trigger_namelessbitthedust is not used yet; perhaps it's for his immortality
[10:07:12] --> brada has joined #gemrb
[10:08:58] --> Eli2_ has joined #gemrb
[10:11:35] <-- Eli2 has left IRC (Ping timeout: 245 seconds)
[10:20:36] <-- brada has left IRC (Quit: brada)
[10:43:14] --> Beholder has joined #gemrb
[10:43:43] <Beholder> hi
[10:44:58] <lynxlynxlynx> oj
[10:46:31] <Beholder> i see NeedsDraw() func prevent redraw all controls each frame
[10:46:57] <Beholder> how can I get around this
[10:47:13] <Beholder> i need to redraw all
[10:48:29] <lynxlynxlynx> make it a noop?
[10:51:33] <Beholder> if I set Changed to true every frame this should work, right?
[10:53:07] <Beholder> i do not want make big changes in code, except driver
[10:54:05] <Beholder> btw, shader for paletted image is very simple
[10:56:58] <fuzzie> yes
[10:57:13] <fuzzie> the difficult part is doing the rest of the effects for the game sprites, I would guess
[10:58:04] <fuzzie> but if you manage to get anything working, then that would be a great start
[10:58:25] <fuzzie> other people can always improve it, once there is something
[10:59:28] <Beholder> font rendering is extremely slows rendering
[10:59:49] <fuzzie> are you creating a new palette texture for every glyph?
[11:01:21] <Beholder> yes, yet do not know how to do differently
[11:02:09] <Beholder> in debug i have strange error with fonts
[11:02:19] <fuzzie> there's a few different things we could do there
[11:02:54] <fuzzie> we could make all palette creation/deletion go via the video driver, for example
[11:02:57] <Beholder> [BAMFont/ERROR]: normal missing glyph for character 'fcf2' using ISO-8859-1 encoding.
[11:03:03] <fuzzie> or we could add a LRU cache of some kind
[11:03:51] <Beholder> but in release build there are no errors, i don't know why
[11:03:53] <fuzzie> hm
[11:04:08] <fuzzie> if that happens in iso-8859-1 mode, I guess you are getting corruption in the upper half of the word
[11:05:39] <fuzzie> strange though
[11:07:51] <Beholder> hm, i'm not right
[11:08:21] <Beholder> error causes if i start project from VS, both in debug and release
[11:08:29] <fuzzie> ask brada I guess
[11:08:36] <fuzzie> I don't see any obvious problems there
[11:10:15] <Beholder> if i start it from windows explorer, release build works properly, debug is not. But release has no cursor, debug has
[11:11:19] <Beholder> damn, what that nonsense
[11:11:33] <wjp> try a clean rebuild?
[11:11:42] <wjp> and check for memory corruption?
[11:11:49] <fuzzie> for brada: Font::PrintFromLine sets currCap to string[0] (why not tmp[0]?)
[11:12:03] <fuzzie> and I guess it's probably corruption or uninited vars but it could be anything
[11:12:10] <fuzzie> let me try a build
[11:12:19] <lynxlynxlynx> i'll upload a new coverity scan
[11:12:29] <Beholder> already tried
[11:12:45] <Beholder> no effect
[11:13:54] <Beholder> cursor may be a my issue, i'll check
[11:14:06] <fuzzie> where does this happen?
[11:14:14] <Beholder> but font definitely not
[11:14:55] <Beholder> I have a russian version
[11:15:10] <fuzzie> yes, I just thought I'd check if it appears here somewhere
[11:15:29] <Beholder> most symbols not displayed
[11:15:33] <fuzzie> as I understand it, the font code should just pass your glyphs on directly
[11:15:38] <Beholder> some displayed but wrong
[11:16:18] <lynxlynxlynx> but latin1 can't display russian anyway
[11:16:31] <fuzzie> yes, but latin1 isn't multibyte
[11:16:38] <fuzzie> so the TTF code will fail miserably
[11:16:46] <fuzzie> but the BAM code should still work. as I understand it. which I don't :)
[11:17:07] <fuzzie> in any case character fcf2 in latin1 mode is crazy
[11:17:36] <fuzzie> I'm a bit concerned that I started bg2 in gemrb and I don't recognise the music
[11:18:01] <fuzzie> the fact that the char is >0xff points to corruption
[11:18:08] <lynxlynxlynx> wow, you didn't turn it off :)
[11:18:30] <fuzzie> the music?
[11:18:34] <lynxlynxlynx> yeah
[11:18:41] <Beholder> there many similar errors in console
[11:18:44] <lynxlynxlynx> new config, huh
[11:19:07] <fuzzie> oh, I was going to complain that gemrb seems slightly slower than it did before
[11:19:12] <fuzzie> but of course I'm running it under valgrind
[11:19:25] <fuzzie> so, huge performance improvement apparently
[11:20:05] <fuzzie> the levelup icons are disappearing when I click on char portraits though
[11:20:36] <Beholder> if a have fonts = no cursor, if i have cursor = no fonts :)
[11:21:09] <fuzzie> I would guess the no cursor or no fonts is a bug in your code?
[11:21:43] <Beholder> i remember that with sdl 1.2 driver i has no no errors with this
[11:22:02] <fuzzie> brad was taking about cursor issues though
[11:22:06] <Beholder> no fonts bug present in git version
[11:22:16] <lynxlynxlynx> the icons problem is from the state icon rework, since another label is used on top (like in iwd)
[11:22:33] <fuzzie> a recent thing?
[11:22:44] <Beholder> may be is a problem of msc compiler?
[11:23:09] <fuzzie> it's probably a bug which only shows up for you
[11:23:14] <fuzzie> I don't know though
[11:23:21] <fuzzie> valgrind is clear here, but I'm just using the English version
[11:24:59] <fuzzie> I guess, run it in debugger, set a breakpoint on the BAMFont code which prints the line, see which string it is?
[11:28:28] <lynxlynxlynx> not so recent, but brad couldn't figure it out
[11:29:23] <fuzzie> heh, 1.5y ago
[11:29:26] <fuzzie> but right, Brad broke it
[11:29:39] <fuzzie> the label probably isn't being invalidated nicely, this createlabelonbutton stuff is flaky
[11:29:46] <fuzzie> we don't expect multiple controls in one place
[11:30:53] <lynxlynxlynx> yeah
[11:31:09] <Beholder> line 104 in AnimationFactory
[11:31:21] <lynxlynxlynx> the other idea was to extend the button code itself, but that would be uglier
[11:31:48] <Beholder> index = 239, fc =1
[11:32:23] <fuzzie> Beholder: what's cycles.size()?
[11:32:46] <Beholder> 228
[11:33:22] <Beholder> no
[11:33:22] <fuzzie> so if you go one up
[11:33:24] <fuzzie> what's chr?
[11:33:35] <Beholder> cycle=228
[11:33:45] <Beholder> size 255
[11:34:05] <fuzzie> your chr is probably bad (way too high)
[11:34:20] <fuzzie> and if you go one function up again, your string is probably corrupt
[11:34:49] <Beholder> but why it works in release...
[11:34:54] <Beholder> outside VS
[11:35:01] <fuzzie> probably coincidence
[11:35:49] <fuzzie> not a good thing to rely on, if we change something else it'll just break differently
[11:35:50] <-- kpederse1 has left IRC (Ping timeout: 240 seconds)
[11:35:58] --> kpedersen has joined #gemrb
[11:36:09] <fuzzie> so, what is chr in the next function up call stack? :)
[11:36:23] <Beholder> you are right string looks bad
[11:36:38] <fuzzie> so I don't know what would cause that..
[11:36:57] <fuzzie> unless your new code corrupts the stack somehow
[11:37:25] <Beholder> in SetText string fine
[11:38:07] <Beholder> but in CalcRowCount bad
[11:39:28] --> Yoshimo has joined #gemrb
[11:39:40] <lynxlynxlynx> 17 new defects
[11:39:56] <fuzzie> aha, TextArea bug?
[11:40:15] <lynxlynxlynx> need to go through them first
[11:40:36] <Beholder> GetDoubleByteString((unsigned char*)lines[i], tmp); brokes string
[11:41:04] <fuzzie> it produces a bad 'tmp'?
[11:41:37] <Beholder> unreadable at least
[11:41:57] <Beholder> squares
[11:42:30] <fuzzie> but the input lines[i] is ok?
[11:42:50] <Beholder> line[i] is ok, in tmp i see squares instead cyrillic symbols
[11:42:59] <fuzzie> huh
[11:43:02] <lynxlynxlynx> ftext and finit in TextArea are not inited in the constructor, but haven't checked yet if that can show up
[11:43:09] <fuzzie> yeah, that is my suspicion
[11:43:13] <fuzzie> brad changed the render code
[11:43:28] <fuzzie> do we call the render too early now or something?
[11:44:51] <fuzzie> but you'd think it'd crash in that case since GetDoubleByteString will check 'multibyte' which is a member variable
[11:46:28] <fuzzie> so I don't know.
[11:47:26] <fuzzie> Beholder: what is 'ftext->multibyte' there?
[11:48:39] <fuzzie> oho
[11:49:03] <fuzzie> so I expect it is 'true' and probably 'TLKEncoding.multibyte = false;' after the 'TLKEncoding.encoding' line in Interface.cpp will fix it
[11:51:29] <fuzzie> we're assuming that TLKEncoding() in the Interface constructor will zero-initialize it, and Visual C++ fails at this dramatically
[11:51:32] <fuzzie> sigh
[11:58:36] <Beholder> ftext->multibyte is true
[12:01:18] <fuzzie> could you try adding the line I suggested?
[12:01:35] <fuzzie> (after line 265 of Interface.cpp)
[12:02:16] <Beholder> thank you it helps)
[12:02:28] <fuzzie> can you commit that?
[12:04:14] <Beholder> i can't, commit please
[12:06:10] <fuzzie> ok, did it. thanks for the help!
[12:06:19] <Beholder> i got a 153 fps (instead 72 fps on old driver) in menu
[12:06:26] <fuzzie> cool
[12:08:21] <lynxlynxlynx> :)
[12:09:06] <Beholder> my computer too old (7 years) and has a intel integrated video. I think on modern computers or(and) with gamers video cards the difference will much more
[12:09:29] <wjp> is your code online somewhere?
[12:10:49] <Beholder> no, it's buggy, give me a some time
[12:11:13] <wjp> sure, no hurry :-)
[12:11:55] <lynxlynxlynx> coverity has a new checker that is complaining about potential endianess problem here due to the cast: str->ReadWord( (ieWord*)&ctrlFrame.x );
[12:12:17] <lynxlynxlynx> would some swab magic help here? i don't remember anyone complaining about misplaced controls
[12:12:34] <lynxlynxlynx> so maybe it is irrelevant
[12:12:36] <fuzzie> isn't ReadWord endian-safe?
[12:12:53] <fuzzie> probably those are all red herrings
[12:13:04] <lynxlynxlynx> ah, it is
[12:13:12] <lynxlynxlynx> great, thanks
[12:13:51] <wjp> ctrlFrame.x is an int though?
[12:14:33] <wjp> so this does look wrong
[12:16:13] <fuzzie> oh, well, then a gold star for wjp
[12:16:19] <lynxlynxlynx> unsigned short to signed int
[12:17:34] <fuzzie> ah, right, brada broke this
[12:17:46] <fuzzie> we should partially revert 6994f8a66be5b3e62a7901ae5f442d46276a641e
[12:19:00] <fuzzie> read all of the words via a temp?
[12:23:49] <Beholder> how to properly avoid line 98 in control cpp, i need to comment line 147 in window.cpp too
[12:24:37] <Beholder> line 147 prevent background to redraw
[12:27:00] <Beholder> i need to redraw all in each frame
[12:33:50] <wjp> calling Interface::RedrawAll() every frame might do the trick as a workaround?
[12:34:47] <fuzzie> probably we need a backend flag to see whether it supports partial redraws
[12:34:51] <fuzzie> (as a propr solution)
[12:34:57] <wjp> yes
[12:44:01] <Beholder> where i need to add RedrawAll() ?
[12:49:22] <wjp> I was thinking SwapBuffers()
[12:52:39] <Beholder> thank you, works fine
[13:22:56] <Beholder> mouse Events not works with my driver, i think that i missed something important
[13:27:18] <Beholder> GetControl Failed
[13:29:20] <Beholder> IsPixelTransparent i need to override
[13:29:59] <Beholder> how to GetConrtol works?
[13:30:09] <fuzzie> why do you need to override?
[13:30:15] --> rhunter has joined #gemrb
[13:30:37] <Beholder> Sprite2D IsPixelTranspaqrent
[13:30:43] <fuzzie> you aren't keeping a copy of the surface?
[13:31:52] <fuzzie> that is probably your problem, if you don't return a correct value there
[13:31:53] <Beholder> no, I do not create any surface
[13:32:04] <Beholder> i think
[13:32:06] <fuzzie> well, I mean, a copy of the data
[13:32:46] <fuzzie> you don't implement Sprite2D::GetPixel?
[13:32:49] <Beholder> it is a not good that pixels i Sprite2D is const
[13:33:02] <fuzzie> why not?
[13:34:20] <Beholder> i need to created modified data before creating textures. In gemrb nonpalette sprites has ARGB format with alpha=0, i convert it to RGBA with alpha=1
[13:34:53] <fuzzie> why not just convert it in the constructor?
[13:35:10] <fuzzie> you're right though, pixels should not be const
[13:35:58] <fuzzie> because brad changed the ownership mechanism
[13:36:29] <Beholder> for paletted sprites i create two textures one RGB for texture (GLES not supported indexed colors) and RGBA for palette
[13:37:12] <Beholder> and i modify alpha channel for palette too
[13:37:27] <fuzzie> but you keep the data around in indexed form, right?
[13:38:25] <Beholder> index writes to red channel
[13:38:30] <fuzzie> why?
[13:39:27] <fuzzie> I mean, why not just create a luminance texture?
[13:39:45] <Beholder> May be, i try
[13:40:08] <Beholder> this cause a less memory usage
[13:40:11] <fuzzie> but anyway, you can just set the member 'pixels' to a different value, right?
[13:40:19] <Beholder> right
[13:40:24] <Beholder> but memory)
[13:40:27] <fuzzie> it is a mess right now, so I wouldn't worry about it
[13:40:39] <fuzzie> but yes, using less memory is good I guess :)
[13:40:56] <fuzzie> just, maybe it's more important right now to make the clicking work
[13:41:12] <fuzzie> and you can do that by just reimplementing GetPixel to read the red channel, if you still have the data..
[13:41:38] <Beholder> not a problem i guess
[14:01:33] --> murray has joined #gemrb
[14:19:08] <lynxlynxlynx> listbox sorting is so easy to add that it's odd that people complained so many times yet nobody did it
[14:30:52] <-- rhunter has left IRC (Ping timeout: 272 seconds)
[14:46:35] <-- Yoshimo has left IRC (Quit: Yoshimo)
[14:47:02] --> Yoshimo has joined #gemrb
[15:12:33] <Beholder> i see IsPixelTransparent return alpha == 0, but in palettes that i get alpha always 0, i set alpha to 0xFF for proper blending, but only for colorKey is still 0
[15:13:10] <Beholder> if i check pixel for colorKey value, is this proper?
[15:37:09] <-- exultbot has left IRC (ping timeout: 15 minutes)
[15:38:28] --> exultbot has joined #gemrb
[15:38:28] --- Topic for #gemrb is: GemRB 0.8.0 | http://gemrb.org | Something wrong? State your exact version and CHECK THE GEMRB LOG | Be wary of your thoughts for there are Illithid present: http://log.usecode.org/gemrblog.php
[15:38:28] --- Topic for #gemrb set by lynxlynxlynx!~quassel@sourcemage/warlock/lynxlynxlynx at Sat Apr 27 10:20:08 2013
[15:38:28] <Beholder> and some times i receive wrong coordinates
[15:39:01] <Beholder> IsPixelTransparent(unsigned short x, unsigned short y)
[15:39:03] <fuzzie> which one do you reimplement now?
[15:39:06] <Beholder> in Button
[15:39:10] <fuzzie> the GetPixel or the IsPixelTransparent?
[15:39:23] <Beholder> GetPixel
[15:39:31] <Beholder> gets the pixel from palette
[15:39:31] <fuzzie> you should return {0,0,0,0} for when x/y are too high
[15:39:41] <Beholder> i do
[15:39:43] --> murray has joined #gemrb
[15:39:53] <fuzzie> and otherwise you should return alpha==0xff for paletted sprites, no?
[15:40:28] <fuzzie> since they have no alpha
[15:41:29] <Beholder> i set alpha to 0xFF if alpha = 0 and alpha to 0 if is a colorKey
[15:41:40] <fuzzie> it should always be 0xff for non-BAM sprites
[15:41:44] <fuzzie> and a colorkey check for BAM sprites
[15:41:45] <Beholder> if a sprite has a true alpha i do not change
[15:42:23] <Beholder> if (x > Width || y > Height) return Color();
[15:42:24] <Beholder> if (Bpp == 8)
[15:42:24] <Beholder> {
[15:42:24] <Beholder> Uint8 pixel = ((Uint8*)pixels)[y*Width + x];
[15:42:24] <Beholder> return currentPalette[pixel];
[15:42:24] <Beholder> }
[15:42:34] <Beholder> GetPixel implementation
[15:42:59] <fuzzie> for non-BAM sprites, it should always be 0xff
[15:43:00] <wjp> (probably not important here, but should be x >= Width || y >= Height)
[15:43:18] <fuzzie> are you returning false for SupportsBAMSprites?
[15:43:26] <Beholder> yes
[15:43:32] <fuzzie> so that codepath probably doesn't work, then
[15:43:39] <fuzzie> that's probably difficult to fix.
[15:44:11] <fuzzie> the current code assumes you will always return alpha 0xff for non-BAM sprites and alpha colorkey for BAM sprites, and if you return false for SupportsBAMSprites I guess you can't tell which is which?
[15:44:30] <fuzzie> so.. I would just return alpha=0xff for now
[15:46:11] <Beholder> i need to set alpha to 0xFF for all sprites?
[15:47:42] <fuzzie> does the colourkey check not work?
[15:47:54] <fuzzie> it looks like the colorkey should only be used in this BAM sprite case..
[15:48:24] <fuzzie> so returning 0xff for non-colorkey, and 0 for colorkey, should really work
[15:50:54] <Beholder> buttons in menu triggered one time from five ((
[15:52:20] <fuzzie> and you do check the colorkey?
[15:53:13] <fuzzie> I mean, whether the colorkey is valid or not
[15:53:22] <fuzzie> since usually sprites won't have a colorkey
[16:04:40] <Beholder> but why i click in one place five times and button pushes one time from five
[16:05:06] <fuzzie> bad GetPixel code? :)
[16:05:14] <fuzzie> that is only thing I can guess
[16:05:35] <fuzzie> well, if you're using SDL2 then the input code might also be flaky
[16:12:08] <-- |Cable| has left IRC (Remote host closed the connection)
[16:16:59] <Beholder> why we call GetPixel each frame if mouse pointer over control?
[16:18:04] <fuzzie> is that a problem?
[16:18:22] <fuzzie> I think it's to check whether we're still hovering over the same control
[16:19:51] <Beholder> is a problem for debugging)
[16:22:36] <wjp> you can probably temporarily remove the lastC->IsPixelTransparent check in Window::GetControl
[16:22:58] <fuzzie> the first one, right?
[16:23:04] <wjp> yes, the lastC one
[16:23:10] <fuzzie> oh right
[16:23:12] <fuzzie> my head explodes
[16:23:43] <fuzzie> do you see what would call that?
[16:24:21] <fuzzie> is it FakeMouseMove?
[16:24:22] <wjp> EventMgr::MouseMove I hope
[16:24:37] <wjp> oh, am I missing context?
[16:31:59] <Beholder> without IsPixelTransparent works normal
[16:32:41] <Beholder> text looks ugly, no aliasing
[16:32:52] <Beholder> not readable
[16:33:39] <Beholder> and have problems with some chars
[16:33:53] <Beholder> i post a screenshot now
[16:36:56] <Beholder> http://i-fotki.info/16/1613ac76e93ec03142011c1f5bbd3d22bc8616170995039.jpg.html
[16:36:57] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[16:36:58] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[16:37:24] <Beholder> http://i-fotki.info/16/b4237cbb94ba13dca994f4a6e4aaf6ebbc8616170995038.jpg.html
[16:37:25] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[16:37:26] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[16:37:36] <wjp> are you making everything that's partially transparent fully transparent?
[16:38:50] <wjp> (hm, do we handle alpha/antialiasing in fonts at all, actually?)
[16:38:52] <Beholder> no, but only BAM sprites partialy transparent, isnt it?
[16:40:39] <Beholder> i think, i'll need to add support for BAM sprites
[16:44:59] <-- Yoshimo has left IRC (Ping timeout: 252 seconds)
[16:48:25] <Beholder> no one semi-transparent sprite i get if BAM support disabled
[16:50:41] <lynxlynxlynx> nice progress
[16:52:06] <Beholder> what is BAM sprite?
[16:58:44] <lynxlynxlynx> in what sense?
[17:00:04] <Beholder> pixel format
[17:02:02] <lynxlynxlynx> bgra i think, with alpha unused
[17:02:59] <Pepelka> [wiki] pst_bugs - protagonists in no protagonist mode now retain their inventories http://www.gemrb.org/wiki/doku.php?id=pst_bugs&rev=1388336383&do=diff
[17:03:27] <Beholder> 32 bit?
[17:03:54] <Beholder> without palettes?
[17:04:46] <lynxlynxlynx> i don't know what we convert it to
[17:06:11] <Beholder> who is wrote renderer code for BAM
[17:06:13] <Beholder> ?
[17:09:33] <Beholder> hm, I return true to SupportForBamSprites and all sprites that i get is not BAM, but in other format
[17:09:38] <Beholder> not displayed
[17:11:24] <lynxlynxlynx> wjp did most of it
[17:12:03] <Beholder> all in 32bpp
[17:12:32] <fuzzie> yes
[17:12:39] <fuzzie> BAM sprites are paletted
[17:13:21] <fuzzie> they will be passed to BlitGameSprite, probably
[17:13:51] <Beholder> all sprites in menu is not BAM (BAM=false)
[17:13:54] <fuzzie> yes
[17:14:12] <fuzzie> we only create BAM sprites in-game
[17:14:33] <Beholder> but if i return supportbamsprite = true all of this is a 32 bit, why?
[17:14:34] <fuzzie> for the GUI we always go via CreateSprite8
[17:15:08] <Beholder> bpp var is wrong?
[17:15:23] <fuzzie> uh, how are you checking?
[17:15:39] <Beholder> i check this var for properly creating texture
[17:15:41] <fuzzie> no, BAMSprite2D always has 8bpp
[17:16:57] <fuzzie> if you return supportbamsprite = false you get 8bpp textures?
[17:17:51] <fuzzie> you would expect the menu to be all MOS (32bpp)
[17:21:41] <Beholder> I'm wrong
[17:21:54] <Beholder> problem in other place
[17:35:00] <Beholder> if supportbamsprite = true no one paletted sprite created properly :(
[17:41:56] <fuzzie> oh?
[17:42:38] <fuzzie> if supportbamsprite is true, you have to support bam sprites
[17:42:50] <fuzzie> v.complicated
[17:45:04] <Beholder> I completely confused, too difficult
[17:46:19] <fuzzie> yes
[17:46:24] <fuzzie> don't return supportsbamsprite==true
[17:46:25] <Beholder> i need to show fonts fine, what i should to do?
[17:48:04] <fuzzie> BAM is *useless* for hardware renderer
[17:49:15] <fuzzie> but, we didn't test the other path
[17:49:20] <fuzzie> maybe it has a bad color-key?
[17:51:09] <fuzzie> I think the 0 on BAMImporter.cpp:157 should probably be CompressedColorIndex
[17:52:36] <fuzzie> but it's difficult to debug this without seeing the code
[17:54:44] <Beholder> glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
[17:54:45] <Beholder> for(int i=0; i<256; i++)
[17:54:45] <Beholder> {
[17:54:45] <Beholder> if(currentPalette[i].a > 0 && currentPalette[i].a < 0xFF)
[17:54:45] <Beholder> {
[17:54:45] <Beholder> // we never come here!!!
[17:54:45] <Beholder> }
[17:54:46] <Beholder> else
[17:54:46] <Beholder> currentPalette[i].a = 0xFF;
[17:54:47] <Beholder> if(i == colorKeyIndex) currentPalette[i].a = 0;
[17:54:47] <Beholder> }
[17:54:48] <Beholder> glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*) currentPalette);
[17:54:56] <Beholder> problem is here
[17:55:09] <Beholder> no semi-transparent palettes
[17:55:38] <fuzzie> yes
[17:55:48] <fuzzie> that never happens
[17:55:56] <fuzzie> we don't do transparent palettes
[17:57:00] <Beholder> but why font in standard renderer looks fine but in my it looks ugly
[17:57:19] <fuzzie> do you think the colorkey is correct?
[17:58:06] <Beholder> colorkey is setting by SetColorKey (it's only index)
[17:58:29] <Beholder> void GLTextureSprite2D::SetColorKey(ieDword index)
[17:58:29] <Beholder> {
[17:58:29] <Beholder> colorKeyIndex = index;
[17:58:29] <Beholder> createGlTextureForPalette();
[17:58:29] <Beholder> }
[17:58:52] <Beholder> i recreate texture if color key changed
[17:58:57] <fuzzie> yes, but we might do it wrong
[17:59:07] <fuzzie> which is why I said, maybe 0 on BAMImporter.cpp:157 should be CompressedColorIndex
[18:00:21] <fuzzie> not sure, honestly
[18:01:51] <Beholder> maybe wjp knows...
[18:02:28] <fuzzie> but it might be worth a try
[18:02:40] <fuzzie> is the other corruption in your screenshot another bug?
[18:03:16] --> brada has joined #gemrb
[18:03:19] <Beholder> missed symbols?
[18:03:26] <Beholder> i dont know
[18:03:41] <fuzzie> aha
[18:03:48] <brada> shouldnt you render to a texture instead of making NeedsDraw a noop?
[18:03:48] <fuzzie> a brada
[18:04:07] <brada> then render thetexture to the screen?
[18:04:27] <fuzzie> wjp points out that I'm wrong
[18:04:34] <fuzzie> and we totally do transparent palettes
[18:04:55] <wjp> Interface::CreatePalette could potentially create transparent palettes depending on how the Font code calls it
[18:05:35] <fuzzie> brada: it's pretty overcomplicated to do that when you can just redraw them all though?
[18:05:41] <Beholder> but why i get all palettes with a=0xFF or a=0
[18:05:54] <brada> is it complicated?
[18:05:59] <fuzzie> yes, that sounds complicated
[18:06:01] <brada> in SDL its really easy
[18:06:05] <brada> but i dont know about gl
[18:06:13] <fuzzie> but why do it, I mean
[18:06:32] <fuzzie> it's clearly more complicated than just drawing everything
[18:06:36] <brada> to avoid having to redraw everything, but if it doesnt matter who cares right
[18:06:40] <fuzzie> and blits are cheap
[18:06:44] <fuzzie> and texture memory is not :P
[18:07:05] <brada> unless we are going to replace the SDL1 driver tho...
[18:07:59] <fuzzie> well yes I guess we should make it a video driver flag if needed
[18:09:00] <brada> what did i break?
[18:09:08] <fuzzie> when?
[18:09:14] <fuzzie> you broke a few things recently
[18:09:20] <brada> such as?
[18:09:22] <fuzzie> you added (ieWord*) casts to ReadWord parameters for example :-P
[18:09:32] <lynxlynxlynx> (see backlog)
[18:09:39] <brada> i am
[18:09:44] <Beholder> SetColorKey index is always 0)
[18:09:47] <brada> and its unclear hence me asking
[18:10:28] <fuzzie> there was one other thing but I forget it already
[18:10:32] <fuzzie> trying to check Beholder's thing atm
[18:10:33] <lynxlynxlynx> it's stored in a bigger type
[18:11:08] <wjp> levelup icons?
[18:11:29] <fuzzie> oh, right
[18:11:35] <fuzzie> how do I printf in gemrb?
[18:12:57] <fuzzie> I have resorted to sprintf+puts
[18:13:11] <wjp> do we sabotage printf?
[18:13:17] <fuzzie> yes
[18:14:07] <fuzzie> alpha entries here are all zero
[18:14:33] <lynxlynxlynx> print()
[18:14:43] <fuzzie> doesn't work
[18:14:52] <lynxlynxlynx> we use it all over the place
[18:14:58] <fuzzie> it gives me a whole log line
[18:14:59] <fuzzie> useless :)
[18:15:07] <wjp> fprintf(stderr, ...) ?
[18:15:15] <fuzzie> ah, smart too
[18:16:07] <fuzzie> I've had one of those days and my brain is empty
[18:16:34] <fuzzie> and now I'm checking the wrong palette, I guess we want hicolor
[18:18:09] <Beholder> how old renderer works? is a too difficult explore code in SpriteRenderer.inl
[18:18:11] <fuzzie> but in any case the palettes are all always zero alpha in bg1
[18:18:25] <Beholder> ha
[18:18:31] <fuzzie> Beholder: it's very very complicated
[18:18:40] <fuzzie> don't try reproducing it
[18:18:52] <brada> well he needs to do shaders right?
[18:18:56] <fuzzie> I mean, this is in chargen
[18:19:15] <Beholder> we use shaders
[18:19:24] <fuzzie> yes, you have to write really complicated shaders
[18:19:29] <Beholder> http://i-fotki.info/16/b4237cbb94ba13dca994f4a6e4aaf6ebbc8616170995038.jpg.html
[18:19:30] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[18:19:31] <fuzzie> to apply all the BlitGameSprite effects
[18:19:31] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[18:19:35] <brada> i mean the spriterenderer.inl is for all the effects right?
[18:19:38] <fuzzie> yes
[18:19:47] <Beholder> http://i-fotki.info/16/1613ac76e93ec03142011c1f5bbd3d22bc8616170995039.jpg.html
[18:19:48] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[18:19:49] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[18:20:03] <fuzzie> Beholder: so you broke it in the no-alpha case? :P
[18:20:06] <Beholder> brad, look at second screenshot
[18:20:16] <brada> i see it what of it?
[18:20:20] <fuzzie> but no, the menu also has no alpha
[18:20:24] <Beholder> fonts
[18:20:27] <fuzzie> alpha is used in the 'quit' dialog text in bg1
[18:20:27] <brada> right
[18:20:44] <brada> and what do you want from me? im still rewriting the font code :p
[18:20:47] <fuzzie> but BAM is a red herring, right?
[18:20:50] <brada> but it probably wont help you anyway
[18:20:56] <fuzzie> did you try changing the colorkey value?
[18:21:28] <Beholder> colorkey is proper, if not we see green background)
[18:22:08] <fuzzie> the missing glyphs are just weird
[18:22:16] <fuzzie> those look like palettes
[18:22:36] <fuzzie> or bad texture coords?
[18:22:45] <Beholder> may be
[18:23:20] <fuzzie> this is annoying me because I'm sure someone had this problem before
[18:24:18] <Beholder> how i set texture coords if a clipping region is set
[18:25:00] <fuzzie> how does the text look in the Quit dialog, though?
[18:26:13] <Beholder> stratched as an description dialogs
[18:27:10] <Beholder> first i need to solve problem with missed glyphs
[18:27:25] <Beholder> i think that a texture coord issue
[18:27:38] <fuzzie> can you ignore the clipping region for now?
[18:27:51] <Beholder> i ignore it)
[18:28:45] <Beholder> may be glyphs missed because of this
[18:31:54] <fuzzie> no, it looks like something simple is going wrong
[18:31:56] <brada> Beholder: does it work with our rendering?
[18:32:14] <fuzzie> you *do* have the fix applied for the multibyte thing, right?
[18:34:07] <brada> "the levelup icons are disappearing when I click on char portraits though"
[18:34:13] <brada> is that what you were saying i broke?
[18:34:27] <brada> we knew about the flashing lvlup icon issue when i did that
[18:34:31] <fuzzie> brada: that's a different thing, but yes. that was 1.5y ago though!
[18:34:34] <brada> we decided it was still bettere
[18:35:05] <brada> I can probably fix it now :p
[18:35:09] <fuzzie> the ReadWord thing is the only bad thing :)
[18:35:12] <brada> ok
[18:35:13] <fuzzie> oh and
[18:35:14] <fuzzie> 12:11 <fuzzie> for brada: Font::PrintFromLine sets currCap to string[0] (why not tmp[0]?)
[18:35:20] <brada> yeah i saw that
[18:35:24] <brada> an oversight im sure
[18:35:28] <brada> i cant check right now
[18:35:33] <fuzzie> I guess it's irrelevant if you'll rewrite it all
[18:35:40] <fuzzie> just it's in the log just in case
[18:35:41] <brada> the method doesnt exist in my current branch ;)
[18:35:46] <brada> yes
[18:35:48] <brada> irrelevant
[18:36:01] <brada> but if it needs to be fixed in the interim please do so
[18:36:12] <lynxlynxlynx> not if it means a broken state before the release, yeah
[18:36:34] <brada> ah
[18:36:49] <lynxlynxlynx> but like i said, that's about a month away
[18:36:50] <brada> well i can fix it if nobody else does, but feel free to do it without me
[18:37:01] <brada> I hope ill have font rewrite done by then
[18:37:04] <brada> but well see
[18:39:07] <fuzzie> oh I just noticed it
[18:39:20] <fuzzie> don't think anyone'll notice since it works fine for non-multibyte..
[18:40:35] <lynxlynxlynx> if you know it's a good fix, then why not just do it?
[18:40:42] <brada> we shoudl check multibyte text before release btw
[18:40:58] <brada> i refactored the utf8 stuff without a data set to test with :(
[18:43:14] <brada> I see beholder is complaining about all the same things I complained about when i was exploring using an alternate renderer
[18:43:31] <brada> ie the transparent pixel thing for non-bam
[18:46:29] <fuzzie> yes but you commented it so I remembered sort of this time :p
[18:47:19] <lynxlynxlynx> are really any buttons non-rectangular enough to warrant a non-bounding-rect check for mouseover checks?
[18:47:50] <lynxlynxlynx> the pst float window is the only thing that comes to mind
[18:48:06] <brada> there are a few buttons yes
[18:48:16] <brada> i dont remember off the top of my head where
[18:48:39] <brada> and they neighbor other buttons
[18:48:45] <brada> so definately wouldd break there
[18:53:39] <Beholder> i see the some font sprites create as blank BAMfont.cpp ln 58
[18:53:43] <Beholder> what is it?
[18:54:10] <brada> its a blank :)
[18:54:30] <fuzzie> used when you get the 'missing glyph' message I guess?
[18:54:45] <Beholder> no
[18:55:00] <Beholder> used in current
[18:55:19] <fuzzie> for rendering?
[18:55:29] <brada> its used so you get a valid sprite i guess no matter what value you pass
[18:55:44] <brada> i cant remember why i decided that was better than returning null
[18:55:53] <brada> probably to avoid checking everywhere
[18:56:03] <fuzzie> it should never get rendered, right?
[18:56:10] <brada> its a 0,0 sprite
[18:56:24] <fuzzie> the chr==0 case is dealt with earlier
[18:56:24] <brada> with no pixel data
[18:57:40] <brada> lynx: thanks for fixing those clang warnings :)
[18:58:02] <brada> still have a boatload of them
[18:58:38] <lynxlynxlynx> yeah, just the stuff from the new report and around
[18:59:06] <brada> 1 or 2 leak errors still
[18:59:10] <brada> warnings oi mean
[19:00:53] <brada> but that brought us to under 60 warnings left :)
[19:03:03] <Beholder> i need to ignore sprite with 0,0?
[19:03:47] <fuzzie> that's probably easiest
[19:03:58] --> jackhunter has joined #gemrb
[19:04:08] <jackhunter> hi there
[19:05:28] <brada> i would say ignor sprites with NULL for pixels :)
[19:10:30] <jackhunter> how do yu fell the differences when you play original and gemrb baldursgate 2 for example?
[19:10:33] <jackhunter> *feel
[19:10:46] <brada> i dont understand the question
[19:11:02] <jackhunter> are you able to see graphically that you are playing with gemrb?
[19:11:06] <brada> yes
[19:11:48] <brada> nothing major i dont think
[19:12:14] <brada> i cant remember if our animations are funky compared to the original
[19:12:27] <brada> i know they look weird compared to EE
[19:12:55] <brada> i think its our actor speed rather than the animations tho
[19:14:49] <jackhunter> the most recent gemrb video i find on yt is 7 months old
[19:15:02] <jackhunter> or android
[19:15:14] <brada> thats way outdated
[19:15:36] <brada> mabye beholder will build a new one soon :)
[19:15:50] <jackhunter> oh there is this one : http://www.youtube.com/watch?v=O2Wu0V5tp34
[19:15:51] <Pepelka> Planescape: Torment Android(GemRB) - YouTube
[19:15:52] <Pepelka> »Device - Samsung Galaxy Tab 3 7.0 Links: GemRB - https://play.google.com/store/apps/details?id=net.sourceforge.gemrb You can get the game on GOG - http://www...«
[19:16:31] <jackhunter> actually animation looks more sophisticated
[19:16:39] <brada> its not
[19:16:43] <jackhunter> i dont remmber seeing the hero punching like this
[19:43:01] <Beholder> hm, i don't understand why i get missed glyphs
[19:43:24] <Beholder> we use an one sprite per symbol?
[19:46:15] <fuzzie> yes
[19:46:25] <fuzzie> so that's why it's weird
[19:46:34] <fuzzie> it should be trivial
[19:47:45] <Beholder> right, texture coords are valid
[19:48:46] <Beholder> there is only texture itself
[19:49:07] <Beholder> if palette is wrong texture shows but with invalid colors
[19:49:40] <Beholder> texture creates from buffer of indexes
[19:49:49] <Beholder> pixels*
[19:50:19] <fuzzie> yes
[19:51:16] <Beholder> two things may cause wrong texture
[19:51:27] <Beholder> first, wrong buffer
[19:52:10] <Beholder> second, wrong bpp parameter (causes invalid conversion logic)
[19:52:24] <fuzzie> look at the glyphs, though
[19:52:26] <wjp> 3: bugs :-)
[19:52:29] <fuzzie> they're really weird
[19:53:04] <fuzzie> as if it's rendering the palette texture, instead of the actual texture
[19:53:29] <Beholder> wjp, all textures creates with one code, some symbols displayed, some not)
[19:53:59] <fuzzie> what are the sizes? are some even and some uneven?
[19:54:09] <Beholder> i use bpp for determining texture type
[19:54:55] <Beholder> bool IsPaletted() { return Bpp != 32; }
[19:55:36] <wjp> is that field properly initialized?
[19:55:56] <Beholder> it's set in base constructor
[19:56:03] <Beholder> Sprite2D
[19:56:11] <Beholder> my class inherits it
[19:56:34] <fuzzie> I would really suggest, putting all the code up somewhere, so we can look, if you're stuck
[19:56:41] <wjp> indeed
[20:01:13] <Beholder> http://pastebin.com/h2c7Db0W
[20:01:14] <Pepelka> [C++] void GLTextureSprite2D::createGlTexture() { glDeleteTextures(1, &glTexture); - Pastebin.com
[20:01:34] <Beholder> GLSprite
[20:03:14] <Beholder> http://pastebin.com/85pMgDbG
[20:03:16] <Pepelka> [C++] Sprite2D* GLVideoDriver::CreateSprite(int w, int h, int bpp, ieDword rMask, ieDw - Pastebin.com
[20:03:20] <Beholder> a part of renderer
[20:05:07] <fuzzie> hm
[20:06:17] <wjp> are glPaletteTexture and glTexture properly initialized since you start off by calling glDeleteTextures ?
[20:06:40] <fuzzie> how is GetTexture implemented?
[20:07:24] <Beholder> wjp: yes
[20:08:12] <Beholder> GLuint GetTexture() const { return glTexture; }
[20:09:25] <fuzzie> it really kind of looks like you're binding the palette as the s_texture
[20:10:01] <Beholder> hm
[20:10:39] <fuzzie> and you're passing 0 and 1 to glUniform1i and not the texture ids?
[20:10:41] <Beholder> not a fact
[20:11:18] <fuzzie> so it looks ok
[20:11:26] <fuzzie> I mean you can't possibly confuse the two, right?
[20:11:47] <fuzzie> I was just wondering if you can somehow accidentally bind the palette to GL_TEXTURE0
[20:12:36] <fuzzie> but there is no way
[20:13:32] <Beholder> yeah, palette is always GL_TEXTURE1
[20:15:07] <Beholder> i think i produce an invalid texture
[20:15:19] <fuzzie> well, that's why I asked about width/height
[20:15:27] <fuzzie> but, any modern hardware shouldn't have problems with that?
[20:15:40] <fuzzie> and, I can't see why it would be bad otherwise
[20:16:39] <Beholder> max texture size in GLES is 1024x1024
[20:17:59] <fuzzie> yes, but GLES implementations aren't required to handle non-power-of-two sizes
[20:18:21] <fuzzie> if you use GL_REPEAT for wrap instead of GL_CLAMP_TO_EDGE
[20:20:12] <fuzzie> but I don't know what hardware you're trying this on..
[20:21:30] <wjp> Beholder mentioned old intel earlier
[20:21:56] <Beholder> x3100 GLES emulator by ARM
[20:22:08] <fuzzie> ah, well. maybe try GL_CLAMP_TO_EDGE wrap mode then?
[20:22:23] <Beholder> no effect, i tried
[20:23:14] <fuzzie> check the error code after the glTexImage2D?
[20:23:26] <fuzzie> but I guess I am as clueless as you about what the problem might be :(
[20:29:24] --> |Cable| has joined #gemrb
[20:29:25] <Beholder> no errors
[20:30:07] <Beholder> :(
[20:30:34] <fuzzie> what if you just draw the texture, without any palette?
[20:30:41] <fuzzie> does it appear ok, in red?
[20:31:49] <Beholder> i'll try
[20:32:03] <Beholder> use program without palettes
[20:35:21] <Beholder> problem with palettes...
[20:35:33] <-- |Cable| has left IRC (Ping timeout: 245 seconds)
[20:36:36] <fuzzie> they all show up ok with the other program?
[20:37:20] <Beholder> http://i-fotki.info/16/28dca1d838785748ed6e274933831509bc8616171009485.jpg.html
[20:37:21] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[20:37:23] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[20:37:38] <fuzzie> I guess so
[20:37:43] <Beholder> fps too low
[20:37:58] <fuzzie> can worry about speed later
[20:38:05] <wjp> but there are indeed clearly letters in there now
[20:38:09] <Beholder> one texture per symbol is a not a good idea
[20:38:15] <fuzzie> it's really inefficient to render all the glyphs individually like this
[20:38:15] <fuzzie> yes
[20:38:50] <wjp> aaahh
[20:38:52] <fuzzie> so we can just render all the glyphs into one texture, but, that requires more work outside the driver
[20:38:54] <wjp> I see the problem
[20:38:56] <fuzzie> oh did wjp work it out? :)
[20:38:57] <fuzzie> oh good
[20:39:09] <wjp> you create a palette texture inside GetPaletteTexture
[20:39:18] <wjp> and you call that before activating GL_TEXTURE1
[20:39:23] <fuzzie> oh damn, and it selects another one in
[20:39:26] <fuzzie> heh
[20:39:36] <wjp> right
[20:39:40] <fuzzie> another gold star for you
[20:39:47] <Beholder> :)
[20:40:03] * wjp will go redeem that for some tea :-)
[20:40:42] <fuzzie> well, you are welcome to claim them in the form of tea/coffee/cake at some point :p
[20:41:44] <fuzzie> Beholder: but I wouldn't worry too much about performance right now.. it can be done 'properly' later
[20:44:20] <Beholder> heh not all gliphs in right places)
[20:45:02] <Beholder> now
[20:45:11] <Beholder> *not not :)
[20:45:27] <fuzzie> :D
[20:46:01] <wjp> *parsing*
[20:46:04] <wjp> *still parsing*
[20:46:10] <wjp> good? :-)
[20:47:00] <Beholder> http://i-fotki.info/16/68f4f403a58206d74b7e3ffe18639df2bc8616171010064.jpg.html
[20:47:01] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[20:47:02] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[20:47:08] <fuzzie> ok, really nice!
[20:47:51] <fuzzie> the problem with the text seems likely to be a colourkey thing
[20:48:28] <Beholder> and what should i do? :)
[20:48:39] <fuzzie> what happens if you change the 'CompressedColorIndex' on BAMImporter.cpp line 213 to '0'?
[20:49:22] <fuzzie> although I guess that would cause the *inverse* problem..
[20:51:42] <Beholder> adding CompressedColorIndex = 0; before 213 is no effect
[20:51:57] <fuzzie> setting it is not right :)
[20:52:07] <fuzzie> I just meant, replace it in the line
[20:52:21] <fuzzie> but if it has no effect then it doesn't matter
[20:53:02] <fuzzie> maybe it is the alpha thing
[20:53:21] <fuzzie> right now you change 0 alpha to 0xff, right? what happens if you always subtract from 0xff instead?
[20:53:50] <fuzzie> oh, but you say "we never come here", and if you really don't then it can't matter
[20:53:54] <jackhunter> by the way
[20:54:03] <jackhunter> what made you decide to create gemrb?
[20:54:08] <fuzzie> not our faults
[20:54:19] <fuzzie> founded by developers long-gone :)
[20:54:29] <jackhunter> oh
[20:54:46] <wjp> assert(false); might be a surer way to make sure you never get there :-)
[20:55:21] <jackhunter> i wish i could see new games happening in forgotten realms, with gemrb
[20:55:34] <Beholder> i added a breakpoint on 213 with condition CompressedColorIndex!=0 no one time raised
[20:55:39] <jackhunter> but that seems complicated because of copyrights about forgotten realms
[20:56:11] <jackhunter> like a rpg happening in the Blood War
[20:56:27] <Beholder> yeah, I change 0 to 0xFF
[20:56:59] <jackhunter> outside black isle games, i played a hack and slash supposed to happen in same universe, demon stone
[20:57:12] <jackhunter> it was quite average
[20:58:01] <murray> is the bug known? if i save a game in baldurs gate 1 with gemrb and load it without gemrb, i cant cast any spells
[20:58:23] <Beholder> fuzzie: look at my GLSprite code (creating textures)
[20:58:55] <Beholder> but in screenshot without palette (red) font looks fine)
[20:59:18] <Beholder> readable at least
[21:00:24] <fuzzie> yes, so it must be palette, no?
[21:00:40] <wjp> what happens if you give all palette entries an alpha of 0xff?
[21:00:46] <fuzzie> what wjp said
[21:02:35] <fuzzie> in theory that should do nothing, but then I guess suspicion falls on the shader again..
[21:02:39] <Beholder> http://i-fotki.info/16/57e7e55e197aef5ad6ef4b722130ae08bc8616171010985.jpg.html
[21:02:39] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[21:02:41] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[21:02:51] <fuzzie> oh, that looks fine
[21:02:54] <Beholder> i zoomed out it
[21:03:05] <Beholder> in photoshop
[21:03:22] <fuzzie> so what if you leave the 'i == colorKeyIndex' check in? then it breaks?
[21:03:58] <Beholder> i'll try)
[21:04:12] <fuzzie> the inconsistency of the current BAM code is really confusing
[21:07:51] <fuzzie> we always use CompressedColorIndex as the colorkey in the BAM path so why do we use 0 in the non-BAM path?
[21:10:20] <Beholder> color key works properly, it is an first index in all pallettes that i see
[21:11:04] <Beholder> if i disable it i get green background for all sprites with transparency
[21:11:10] <Beholder> such as cursor
[21:11:18] <fuzzie> but you get a black background here?
[21:11:57] <fuzzie> it doesn't matter anyway, if you tried the CompressedColorIndex thing
[21:13:32] <Beholder> http://i-fotki.info/16/c2f9cf0eb40fc246a1a7b097ce9f9d37bc8616171011658.jpg.html
[21:13:32] <Pepelka> Ifotki.info - бесплатный хостинг фотографий для форумов, дневников, гостевых книг
[21:13:33] <Pepelka> »Ресурс для публикации фотографий на форумах, дневника, личных страницах«
[21:14:00] <Beholder> fps text still ugly
[21:14:05] <Beholder> other too
[21:14:14] <fuzzie> hmph
[21:16:56] <wjp> but how does the text in the chargen look with that?
[21:16:58] <brada> any ideas how to get a spritemap for fonts without rendering thousands of unwanted ttf glyphs?
[21:17:14] <brada> because thats why it got changed even tho we knew it wasnt optimal
[21:18:52] <fuzzie> well the obvious thought is to simply optimise it for the non-multibyte case and not care too much otherwise
[21:19:08] <fuzzie> with the option of having a list of "common glyphs" or something for the multibyte case in the future
[21:19:41] <brada> well TTF is invaluable on tablets and it takes soooo very long to start if we dont change something
[21:19:53] <brada> like maybe textareas should make a texture for their text
[21:21:15] <brada> it might become more clear after the font/textarea code is rewritten to be more sane
[21:22:22] <fuzzie> yes I'm not sure whether it's particularly efficient to do it using individual blits of texcoords either
[21:22:33] <brada> right
[21:22:44] <fuzzie> but you can do non-multibyte case of that without any problems for ttf, right?
[21:22:56] <fuzzie> since you already have a mapping table for all the glyphs
[21:23:01] <brada> well sure, originally we did that
[21:23:15] <brada> we jsut prerendered the ASCII range essentially
[21:23:17] <fuzzie> so it's not necessarily a complete blocker
[21:23:24] <brada> but it would be nice to do it right
[21:23:35] <brada> instead of just trading one problem/feature for another
[21:23:43] <fuzzie> can you?
[21:23:49] <brada> well Im not sure
[21:24:25] <brada> how is this normally handled
[21:24:35] <fuzzie> inconsistently :)
[21:24:40] <wjp> I guess an alternative is rendering full strings to textures?
[21:24:49] <fuzzie> right, that was brad's thought just now
[21:24:56] <brada> and arent there potential problems with the same font wanting diffrent palettes for diffrent text?
[21:25:05] <wjp> ah, right
[21:25:08] <brada> yeah
[21:25:12] <brada> so lets do it right
[21:25:17] <fuzzie> brada: the palette is separate from the texture, no?
[21:25:20] <brada> and have a texture for each textarea etc
[21:25:21] <fuzzie> there is no 'right' :-p
[21:25:25] <brada> bah
[21:25:38] <fuzzie> texture for each textarea adds complexity and uses a chunk of video memory
[21:25:48] <fuzzie> esp. since it has to be 32bpp
[21:27:26] <fuzzie> while the one-big-texture thing is problematic in the multibyte case and involves a lot of state work every frame
[21:27:36] <brada> yes
[21:28:26] <brada> i would say leave it as is for now, then after beholder is done and im done rewriting the font/textarea stuff, then we make decisions
[21:29:43] <fuzzie> it would probably be rather helpful if your code can split the rendering into single-colour runs, in any case
[21:30:47] <brada> it will
[21:31:47] <brada> anyway ist doing a few string textures per textarea still better than individual textures for each glyph?
[21:31:52] <fuzzie> yes
[21:31:57] <fuzzie> but individual textures for each glyph is insane :p
[21:32:18] <fuzzie> as I pointed out when you refactored it that way
[21:32:29] <fuzzie> but back then also we decided to leave the design problem until we had working code to test with
[21:33:01] <brada> fuzzie yes i remember
[21:33:24] <fuzzie> well I just wanted to make that clear while I'm saying "you refactored it" :)
[21:33:37] <brada> but that change gave us multibyte and TTF support so i thought it was a good idea at the time :/
[21:34:12] <fuzzie> yes, and it's not that hard to put it back
[21:34:16] <fuzzie> if we decide it's a good idea
[21:34:55] <fuzzie> if we *do* then we'd probably want to make the video renderer more aware though..
[21:35:12] <fuzzie> so I wouldn't jump in any direction yet
[21:35:44] <brada> i agree
[21:36:01] <fuzzie> ok
[21:36:09] <fuzzie> so I can blame you when Beholder asks why this is slow, right? :)
[21:36:28] <brada> well id prefer you blame circumstances
[21:36:33] <brada> but sure
[21:37:04] <fuzzie> got to not forget that ReadWord thing either
[21:37:08] <fuzzie> but I have to go do stuff now
[21:55:44] <-- Eli2_ has left IRC (Remote host closed the connection)
[22:32:38] <-- jackhunter has left IRC (Quit: Page closed)
[22:36:37] <-- Beholder has left #gemrb
[22:43:51] --> jackhunter has joined #gemrb
[22:44:06] <jackhunter> brace yourself, soul calibur goes f2p
[22:44:30] <jackhunter> hope they never do this to baldurs gate ip
[22:46:39] --> |Cable| has joined #gemrb
[22:59:42] <-- jackhunter has left IRC (Quit: Page closed)
[23:19:27] <lynxlynxlynx> what a great day for the project :)
[23:55:08] <-- lynxlynxlynx has left IRC (Remote host closed the connection)