#gemrb@irc.freenode.net logs for 4 May 2011 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:43:53] <tomprince> fuzzie: I was just looking through my old branches, and I just found (what I merged as) image-new, which fixes GetBitmap/GetImage for all our ImageMgrs. The merge looked sort of sane, but I haven't really tested it. But it seems to handle your issue of hitting the backend.
[00:54:06] <-- mihairu has left IRC (Remote host closed the connection)
[01:07:51] --> trisemigistus has joined #gemrb
[01:08:10] <trisemigistus> Hello
[01:08:58] <trisemigistus> Anyone here?
[01:10:03] <trisemigistus> Guess not >_>
[01:13:33] <tomprince> trisemigistus: yes
[01:13:47] <trisemigistus> Oh, hello.
[01:14:21] <trisemigistus> I'm trying to install planescape torment on my linux os.
[01:14:36] <trisemigistus> Using gemrb.
[01:14:41] <trisemigistus> And it's not working.
[01:15:31] <tomprince> (as an aside, if you have a question, it is best to just ask it, there are people in all sorts of timezones here)
[01:15:42] <trisemigistus> thanks.
[01:15:44] <tomprince> I need some more information.
[01:16:15] <tomprince> (that goes for most IRC channels)
[01:16:17] <trisemigistus> I'm running linux ubuntu 11.04 and I have planescape torment installed via Wine, but it crashes before it even opens.
[01:16:38] <trisemigistus> I was hoping gemrb could help get it running, but I dont know hwo to install that.
[01:18:38] <tomprince> http://gemrb.sourceforge.net/wiki/doku.php?id=download
[01:19:06] <trisemigistus> gemrb-0.6.4.tar.gz that is what is downloaded, yes?
[01:19:25] <trisemigistus> If so I have that, but I'm a noob at linux and don't know what to do with that.
[01:20:19] <tomprince> There should also be a link to binaries on playdeb.
[01:20:42] <trisemigistus> Alright, I'll take a look.
[01:23:05] <trisemigistus> Okay, I opened into this page: http://www.playdeb.net/software/GemRB and clicked the install this now button, opened into the Ubuntu Software Center and was given the following message: "There is no package called "Gemrb" in your current software sources."
[01:23:20] <trisemigistus> I'm guessing I'll need a new directory for the ubuntu software center?
[01:25:18] <tomprince> I am not familiar with it, but if you click on welcome, there should be a link in the bottom right corner of the page that describes how to install software from there.
[01:27:06] <trisemigistus> Alright.
[01:29:15] <tomprince> There is also http://www.gemrb.org/wiki/doku.php?id=getting_started
[01:31:06] <tomprince> And if you have any questions, feel free to ask them. Somebody will get around to answering them.
[01:31:27] <trisemigistus> Okay, thanks for you help.
[01:31:32] <tomprince> np
[01:33:24] <-- trisemigistus has left #gemrb
[01:44:01] <tomprince> Can ResolveSpellName in CREImporter die? It is unused.
[01:45:11] <CIA-52> GemRB: 03tom.prince * r77cfae780de4 10gemrb/gemrb/ (18 files in 9 dirs):
[01:45:11] <CIA-52> GemRB: Add a bunch of statics.
[01:45:11] <CIA-52> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[01:48:19] <tomprince> Also Inventory::GetItem(unsigned int) is unused.
[02:06:04] <CIA-52> GemRB: 03tom.prince * r363718d77d05 10gemrb/gemrb/core/Game.cpp:
[02:06:04] <CIA-52> GemRB: Indentation fixes.
[02:06:04] <CIA-52> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[02:12:13] --> mihairu has joined #gemrb
[02:18:01] <tomprince> (cleaning out my old branches :))
[02:19:38] --> barra_away has joined #gemrb
[02:19:52] <-- barra_away has left IRC (Read error: Connection reset by peer)
[02:21:58] <gembot> build #122 of msvc++6 is complete: Failure [failed compile] Build details are at http://buildbot.gemrb.org/builders/msvc%2B%2B6/builds/122 blamelist: Tom Prince <tom.prince@ualberta.net>
[02:22:03] <-- barraAway has left IRC (Ping timeout: 240 seconds)
[02:27:24] <gembot> build #123 of msvc++6 is complete: Success [build successful] Build details are at http://buildbot.gemrb.org/builders/msvc%2B%2B6/builds/123
[04:04:55] --> PixelScum has joined #gemrb
[04:08:26] <-- Drakkar has left IRC (Ping timeout: 248 seconds)
[04:47:21] <-- Maighstir has left #gemrb
[05:22:41] <-- mihairu has left IRC (Remote host closed the connection)
[06:12:21] <-- PixelScum has left IRC (Ping timeout: 240 seconds)
[06:15:24] --> Drakkar has joined #gemrb
[06:27:58] --> PixelScum has joined #gemrb
[06:31:30] <-- Drakkar has left IRC (Ping timeout: 260 seconds)
[06:41:14] --> raevol has joined #gemrb
[06:52:13] --> Bo_Thomsen has joined #gemrb
[06:54:46] <-- raevol has left IRC (Quit: Leaving.)
[07:07:54] --> lubos has joined #gemrb
[07:22:55] --> adominguez has joined #gemrb
[07:25:57] --> lynxlynxlynx has joined #gemrb
[07:25:57] <-- lynxlynxlynx has left IRC (Changing host)
[07:25:57] --> lynxlynxlynx has joined #gemrb
[07:25:57] --- ChanServ gives channel operator status to lynxlynxlynx
[07:33:38] --> raevol has joined #gemrb
[07:40:47] <-- raevol has left IRC (Quit: Leaving.)
[07:51:42] <fuzzie> morning-ish
[08:01:51] <-- Bo_Thomsen has left IRC (Quit: Leaving.)
[08:04:10] <wjp> hi
[08:04:48] <fuzzie> How's the blitter?
[08:05:37] <edheldil> ohajo, guys
[08:11:29] <wjp> haven't worked on it since the weekend
[08:14:22] <CIA-52> GemRB: 03lynxlupodian * rba6630e3b050 10gemrb/NEWS: regular NEWS bump
[08:18:23] <wjp> I should think about how to do the non-RLE half nicely
[08:19:46] <wjp> and then especially the indexed/non-indexed split
[08:20:09] <wjp> maybe I should just make it three separate function: RLE, indexed non-RLE, RGB non-RLE
[08:21:19] <fuzzie> do we really use RGB?
[08:23:29] <wjp> light spots, I believe
[08:23:46] <wjp> but I'd have to look up the details
[08:24:00] <fuzzie> maybe we should fix those :P
[08:24:14] <fuzzie> if they're the alpha-heavy RGB things you said slowed stuff down
[08:24:29] <wjp> nah, they're not used often enough for that
[08:24:44] <fuzzie> yes, i realise that
[08:24:49] <wjp> I meant alpha blending in general
[08:24:56] <fuzzie> since they were broken on big-endian for ages and i just occasionally wondered what the weird blue spheres were
[08:25:10] <wjp> were or are?
[08:25:17] <fuzzie> all fixed now
[08:26:23] <fuzzie> oh, right, CreateAlpha is used for the alpha fog sprites which are 3D-only in the original, to avoid them
[08:26:51] <wjp> oh, those were also RGB?
[08:27:33] <fuzzie> they're manually generated by gemrb from the 8bpp versions
[08:28:06] <wjp> hm, right
[08:28:17] <wjp> fog of war likely _is_ noticably expensive
[08:28:37] <fuzzie> we could perhaps find a better way to do it
[08:29:21] <fuzzie> but you can disable 3D Acceleration and get the 8bpp fog, so
[08:29:39] <wjp> is that the only thing we use that switch for currently?
[08:30:42] <wjp> it would certainly be possible to create a custom fog blitter, that assumes the actual color data is black, and only looks at the alpha channel
[08:31:24] <fuzzie> well
[08:31:55] <fuzzie> lynx actually fixed the disabled-fog case to work properly, on request of an embedded porter, since it was too slow otherwise
[08:31:59] <fuzzie> so i am guessing that would be popular
[08:32:04] <wjp> or even only have discrete alpha steps that can be done with a shift-and-mask
[08:32:23] <wjp> wonder how good that would look
[08:32:42] <lynxlynxlynx> or just pitch black fog without any alpha
[08:33:01] <lynxlynxlynx> or is this about the veil of war?
[08:33:18] <wjp> both, I guess
[08:33:32] <fuzzie> non-explored tiles get a solid-black rect already
[08:33:50] <lynxlynxlynx> not completely, there's a transition
[08:33:50] <wjp> with a fillrect, or a blit?
[08:34:04] <fuzzie> wjp: video->DrawRect
[08:34:29] <wjp> ok
[08:34:30] <fuzzie> lynxlynxlynx: those are apparently the explored tiles
[08:35:16] <fuzzie> hm
[08:35:26] <fuzzie> "For now, some tiles are made 'on the fly' by drawing two or more tiles"
[08:35:29] <fuzzie> no wonder it's slow
[08:35:37] <wjp> hm?
[08:35:54] <fuzzie> it seems to render 4 fog sprites per tile, in some cases
[08:36:00] <wjp> huh
[08:36:33] <wjp> that seems less than optimal
[08:37:29] <fuzzie> ExploreTile is incredibly expensive, too
[08:39:16] <wjp> I'm confused why that 'on the fly' thing is done
[08:39:17] <fuzzie> and most of the calls end up rejected by the first bounds check
[08:39:55] <wjp> it's not like there's a huge number of combinations possible
[08:40:00] <fuzzie> a whole bunch of expensive divides in there
[08:40:10] <wjp> ExploreTile?
[08:40:23] <fuzzie> that is in Map, it handles explore/visibility for actors
[08:40:32] <fuzzie> i don't understand how it works, honestly
[08:40:54] <fuzzie> i get to VisibilityMasks and my brain stops cooperating, every time
[08:41:13] <wjp> ExploreMapChunk, then?
[08:41:24] <fuzzie> yes
[08:41:45] <fuzzie> which is also incredibly expensive
[08:41:49] <wjp> weren't those masks basically half-rays?
[08:42:22] <fuzzie> i'm not sure why it's expensive though, my compiler has inlined the GetBlocked calls
[08:42:38] <wjp> maybe just the sheer size of the loops?
[08:42:43] <edheldil> Fog of war render more fog tiles on a single spot? I thought it was prerendering them when I wrote it ...
[08:43:09] <fuzzie> wjp: it might well be, yes
[08:43:15] <fuzzie> edheldil: i am quoting from the comments and then reading the code :)
[08:43:17] <edheldil> but maybe I just remember it wrong... Ages ago
[08:43:58] <wjp> the unexplored/invisible split I can imagine, but there seems to be no good reason for the other cases
[08:44:37] <edheldil> too many tile variants, probably
[08:44:52] <wjp> fuzzie: do you know how large VisibilityPerimeter ends up being?
[08:45:00] <wjp> edheldil: only 16
[08:45:48] <fuzzie> my most recent profile is zlib, then SDL, then BlitTile, then SDL, then ExploreMapChunk, then ExploreTile, then AddPolygonToSpriteCover, then BlitGameSprite, then zlib
[08:46:08] <edheldil> then it would be good to prerender them - but will it work with alpha blended fog?
[08:46:09] <fuzzie> that is with the templated GameSprite though.
[08:46:16] <wjp> fuzzie: and the vectorized spritecover?
[08:46:31] <fuzzie> yes, and with the vectorized spritecover
[08:46:38] <wjp> edheldil: the result will likely be better than blitting two alpha sprites on top of eachother
[08:46:47] <fuzzie> but it was a profile run with a lot of walking about, so expected.
[08:47:17] <wjp> a lot of walking around seems very representative, so that's ok :-)
[08:47:26] <fuzzie> oh, i missed BlitSprite in there, which is more expensive than BlitGameSprite
[08:47:27] <wjp> (that, and a lot of talking :-) )
[08:47:36] <fuzzie> mostly that is RGB images
[08:47:48] <wjp> hm, BlitSprite? so GUI?
[08:47:48] <edheldil> wjp: not in iwd2 ;-)
[08:47:52] <fuzzie> DrawFogOfWar is top cause, then stupid MOS images
[08:48:03] <fuzzie> but the 24bpp MOS image hack will die
[08:48:13] <wjp> 24bpp MOS image hack?
[08:48:25] <fuzzie> at the moment, gemrb converts MOS files to a huge 24bpp image
[08:48:32] <fuzzie> in fact, a huge 32bpp image, i think
[08:48:34] <wjp> from?
[08:48:39] <fuzzie> from 8bpp tiles :P
[08:48:58] <wjp> hm
[08:49:22] <fuzzie> i have been whining about it in channel for weeks, surprised you haven't seen ;)
[08:49:47] <wjp> I've seen you mention it, but never bothered to ask for details :-)
[08:49:48] <fuzzie> but so far i have not been brave enough to commit my hack, and don't have the time to fix the sprite system properly
[08:50:01] <wjp> no alpha or anything I guess?
[08:50:13] <fuzzie> the alpha in the input palette is ignored
[08:50:22] <wjp> color key?
[08:50:38] <fuzzie> green, i think
[08:50:58] <fuzzie> i have a hack which just passes it to the tile renderer
[08:51:45] <wjp> with data == mask?
[08:51:50] <wjp> no, wait
[08:51:54] <wjp> mask works inverted
[08:52:14] <fuzzie> i didn't bother getting that far :)
[08:52:27] <lynxlynxlynx> the odd fow thing was added by avenger last year for some corner cases iirc
[08:53:00] <lynxlynxlynx> explicitly corner cases
[08:53:05] <wjp> maybe experimenting with a quick and dirty alpha fog blitter would be worth it
[08:54:19] <fuzzie> lynxlynxlynx: it's from 2005
[08:55:35] <fuzzie> edheldil wrote it with half of them being single renders, Avenger "added some missing fog of war tile combinations"
[08:56:32] <fuzzie> i mean, unless i misinterpret 'odd fow thing'
[08:59:10] <lynxlynxlynx> i see there was more activity last year
[08:59:26] <lynxlynxlynx> more about edges than corners
[09:00:44] <edheldil> should be easy to prerender the combinations and index them in O(1)
[09:01:15] <fuzzie> well, rendering RGBA images is never going to be fast
[09:03:00] <-- Cable_ has left IRC (Remote host closed the connection)
[09:03:13] <fuzzie> but would be nice to fix the standard case if it's a problem
[09:03:28] <fuzzie> i wonder if the embedded users just had 3D Acceleration on, though..
[09:03:58] <edheldil> add it to todos or BT ;-p
[09:04:15] <wjp> I suppose it is kind of counterintuitive that acceleration slows things down :-)
[09:04:24] <fuzzie> maybe big "Warning: super very slow mode" output? :P
[09:04:28] <edheldil> would it do software render then?
[09:04:39] <wjp> since we only have software render...
[09:07:07] <fuzzie> SiENcE was using iwd which seems to come with it disabled by default
[09:07:25] <fuzzie> but maybe i just modified it in my copy
[09:07:37] <dhewg> the 3d accel toggle is only to explode 8bpp fow?
[09:07:50] <fuzzie> dhewg: explode? :P
[09:07:58] <dhewg> "make bigger"
[09:08:18] <fuzzie> but, gemrb only uses the toggle to enable nice alpha-smoothed fow, yes
[09:08:40] <fuzzie> that's what the original engine does, since nice alpha-smoothed fow is pretty slow to do in software
[09:08:58] <wjp> but that doesn't stop us :-)
[09:09:48] <fuzzie> because having incredibly slow rendering is cool, right? :P
[09:10:35] <dhewg> only when using sleep in the innermost loop
[09:10:49] <dhewg> you talked about some parts ignoring alpha, is that the dragon color bug?
[09:11:02] <fuzzie> the dragon color bug is just stupidity in anim code
[09:11:10] <fuzzie> i think *any* anim bugs are stupidity in the anim code
[09:11:26] <wjp> hm, dragon anims did use to work
[09:11:40] <dhewg> did you read about me mentioning that the dragon color bug is related to the selected party char?
[09:11:54] * wjp fondly remembers kicking the code to properly render multi-tile anims~
[09:11:57] <fuzzie> no, but i am ignoring everything about anims
[09:12:14] <dhewg> heh ok, but for the record: its greenish when char #1 is selected, red-ish on #2
[09:12:23] <wjp> fuzzie: a good policy for your sanity
[09:12:25] <fuzzie> i have exam on friday afternoon
[09:12:36] <fuzzie> so after then maybe :P
[09:19:04] --> mihairu has joined #gemrb
[09:19:11] <edheldil> dhewg: oh, that's what is meant by: "The beauty is in the eyes of the beholder." :)
[09:20:26] <wjp> dhewg: out of curiosity, does char #1 have any greenish major/minor colours or equipment or effects?
[09:21:14] <wjp> and does it show the full dragon but only with broken colours?
[09:23:47] <dhewg> edheldil: hehe, yeah - withouth knowing the code that sounds funky :)
[09:24:09] <dhewg> wjp: cant remember, sorry. and can't try atm
[09:24:38] <fuzzie> was it just the one dragon?
[09:24:46] <wjp> that's ok; I was just idly curious
[09:24:53] <dhewg> no, met 2 so far and happened on boths
[09:25:04] <wjp> I also saw it on Firkraag
[09:25:15] <dhewg> yeah that one and the shadow dragon
[09:25:28] <wjp> but was working on the blitter at the time, so suspected a bug there :-)
[09:25:49] <fuzzie> i forget what the standard case is, CGAMEANIMATIONTYPE_DRAGON_RED? which i guess would be firkraag
[09:28:24] <-- adominguez has left IRC (Ping timeout: 260 seconds)
[09:30:09] <wjp> would this be a wrong PALETTE in avatars.2da?
[09:30:35] <wjp> I'm kind of out of date on this, it seems
[09:30:45] <fuzzie> it could be
[09:30:50] --> adominguez has joined #gemrb
[09:50:59] --> SiENcE has joined #gemrb
[09:51:53] <-- adominguez has left IRC (Quit: Saliendo)
[09:52:29] --> adominguez has joined #gemrb
[09:58:39] <wjp> that PaletteType handling is completely weird
[09:59:06] <wjp> first it strncpys a string into an unsigned int
[09:59:21] <wjp> then that int is retrieved by a function called NoPalette for extra confusion
[10:00:23] <fuzzie> that's quite amazingly bad
[10:00:35] <fuzzie> <wjp> why yes, i will refactor your pumpkin
[10:01:11] <wjp> did I say into what? or when I was going to do that? :-)
[10:01:36] <fuzzie> you can have my heap of paper notes!
[10:04:05] <wjp> hey look, this dragon palette stuff was last touched by you :-)
[10:04:24] <fuzzie> it's always my fault recetnly :)
[10:04:33] <wjp> but on closer inspection you just fixed up the whitespace
[10:04:37] <wjp> so you're excused :-)
[10:08:14] <wjp> the next item in the history is Avenger's 239c0e713908473ebe8df2de9c570d47b01db574
[10:08:50] <wjp> April 2009; has this been broken that long?
[10:09:48] <fuzzie> not unlikely
[10:10:01] <fuzzie> i would like to turn the whole thing into subclasses representing types, myself
[10:10:46] <fuzzie> it's pretty unmaintainable as-is
[10:14:00] <fuzzie> but intermediate de-hacking would be awesome too
[10:18:48] <wjp> and I suppose refactoring something that works is more productive than refactoring something which is broken :-)
[10:19:06] <fuzzie> sort of
[10:19:11] <wjp> (depending on if you're mostly working from gemrb code or REing, of course)
[10:19:24] <fuzzie> well there's also the pst animations
[10:19:37] <fuzzie> which gemrb has hardcoded, and the original game has de-hardcoded
[10:19:41] <wjp> heh
[10:19:48] <wjp> that's going the wrong way
[10:19:51] <fuzzie> yep
[10:21:30] <fuzzie> so my first step would be to subclass there, i think
[10:21:43] <fuzzie> (pst's 'resdata.ini' if you're interested)
[10:25:58] <wjp> SetupColors does look like it would be much cleaner with appropriate subclassing
[10:26:21] <wjp> and likely lots of other code too :-)
[10:27:13] <fuzzie> try searching for 'GetAnimType' :P
[10:27:23] <fuzzie> and that's *with* most of the code being flaky
[10:49:41] <-- adominguez has left IRC (Read error: Operation timed out)
[10:51:19] --> adominguez has joined #gemrb
[12:42:18] <-- lubos has left IRC (Remote host closed the connection)
[14:58:15] <-- adominguez has left IRC (Ping timeout: 246 seconds)
[15:04:24] --> adominguez has joined #gemrb
[15:17:50] <-- mihairu has left IRC (Remote host closed the connection)
[15:24:05] <-- adominguez has left IRC (Read error: Operation timed out)
[15:27:31] --> adominguez has joined #gemrb
[15:32:52] <-- adominguez has left IRC (Quit: Saliendo)
[15:33:09] --> adominguez has joined #gemrb
[15:41:05] <-- adominguez has left IRC (Quit: Saliendo)
[15:41:43] --> adominguez has joined #gemrb
[15:45:19] --> Maighstir has joined #gemrb
[15:57:00] --> barra_home has joined #gemrb
[16:02:48] <-- barra_home has left IRC (Quit: Verlassend)
[16:32:41] --> mihairu has joined #gemrb
[16:43:11] <-- SiENcE has left IRC (Quit: @all: cya)
[17:03:29] <-- adominguez has left IRC (Quit: Saliendo)
[17:11:24] <lynxlynxlynx> is it just me or does ar0512 have two big semitransparent blue rects over the holy water?
[17:11:38] <lynxlynxlynx> looks like half and a full tile
[17:13:22] <fuzzie> not green?
[17:15:10] --> Bo_Thomsen has joined #gemrb
[17:15:28] <fuzzie> the original data is buggy from what i remember
[17:17:20] <fuzzie> but it's pretty weird if it's not green, unless gemrb complains about transparency on console
[17:19:29] <wjp> dragon palettes were broken by the last hunk of e59ace142138eeadb33fa5cf0e809999f2cce0c1
[17:20:05] <fuzzie> oh well, comment and everything :-p
[17:20:18] <fuzzie> (hey look you could fix it by subclassing)
[17:20:21] <wjp> yes, but the comment refers GlobalColorMod
[17:20:36] <wjp> while the problem is caused by removing the NoPalette()!=1
[17:20:47] <wjp> so I'm still confused
[17:21:29] <fuzzie> well, just put it back
[17:25:07] <wjp> all the negations in that if are interesting
[17:25:42] <wjp> now, where does one find an MGIR? :-)
[17:27:15] --> |Cable| has joined #gemrb
[17:27:25] <fuzzie> what's a MGIR.
[17:28:31] <wjp> some IWD thing apparently
[17:28:34] <fuzzie> 'MGIR: Golem, Iron (Icewind)'?
[17:30:35] <wjp> hm, maybe in that case it only needs the SetupColors, but not the palette assignment
[17:31:06] <-- mihairu has left IRC (Quit: mihairu)
[17:33:08] <wjp> ...except that won't work
[20:22:46] <-- Bo_Thomsen has left IRC (Quit: Leaving.)
[21:36:42] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:43:47] <-- gembot has left IRC (Quit: buildmaster reconfigured: bot disconnecting)
[22:44:10] --> gembot has joined #gemrb
[23:46:46] --> barra_home has joined #gemrb