#gemrb@irc.freenode.net logs for 5 Apr 2011 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[01:03:21] --> pupnik_ has joined #GemRb
[01:05:52] <-- pupnik_ has left IRC (Remote host closed the connection)
[01:06:15] <-- pupnik has left IRC (Ping timeout: 248 seconds)
[01:12:58] --> _pickle has joined #GemRb
[02:17:01] --> pupnik has joined #GemRb
[02:18:04] <-- _pickle has left IRC (Remote host closed the connection)
[03:06:59] <-- boriskr has left IRC (Remote host closed the connection)
[03:07:53] <-- Maighstir has left IRC (Quit: ~ Trillian Astra - www.trillian.im ~)
[05:22:34] <-- pupnik has left IRC (Ping timeout: 246 seconds)
[05:22:52] --> pupnik has joined #GemRb
[05:43:00] <-- devurandom has left IRC (Read error: Operation timed out)
[05:46:14] --> devurandom has joined #GemRb
[05:48:32] --> Maighstir|phone has joined #GemRb
[05:57:51] --> Bo_Thomsen1 has joined #GemRb
[06:41:05] <pupnik> hi
[06:42:31] <-- Bo_Thomsen1 has left IRC (Quit: Leaving.)
[07:08:30] --> lynxlynxlynx has joined #GemRb
[07:08:30] <-- lynxlynxlynx has left IRC (Changing host)
[07:08:30] --> lynxlynxlynx has joined #GemRb
[07:08:30] --- ChanServ gives channel operator status to lynxlynxlynx
[07:08:50] <fuzzie> morning
[07:09:35] <wjp> good morning
[07:10:05] <wjp> tomprince: I rewrote the tile renderer as a template especially for you :-)
[07:11:42] <lynxlynxlynx> oj
[07:13:49] <fuzzie> it would be good for people to test load/save cycles still work fine after the files merge
[07:20:16] --> adominguez has joined #GemRb
[07:22:03] --> lubos has joined #GemRb
[07:26:56] <lynxlynxlynx> big merge :)
[07:27:18] <lynxlynxlynx> that bifimporter commit sounds like it could help performance
[07:27:50] <fuzzie> the copy didn't actually get done in any case, i think
[07:28:20] <fuzzie> haven't looked at it since tomprince pushed it all to the branch though
[07:31:53] <-- Maighstir|phone has left IRC (Ping timeout: 240 seconds)
[07:59:29] <-- fuzzie has left IRC (Ping timeout: 240 seconds)
[08:11:51] --> fuzzie has joined #GemRb
[08:12:07] --- ChanServ gives channel operator status to fuzzie
[08:12:49] <pupnik> open browser, tap screen, wait two days.... food arrives!!! http://i.imgur.com/hSeNz.jpg :D
[08:13:28] <fuzzie> 'food' :)
[08:14:31] <pupnik> :)
[08:14:46] <pupnik> for some value of $food
[08:37:53] <-- devurandom has left IRC (*.net *.split)
[08:45:00] --> devurandom has joined #GemRb
[08:57:24] <-- |Cable| has left IRC (*.net *.split)
[10:41:24] <lynxlynxlynx> http://forums.gibberlings3.net/index.php?s=&showtopic=22174&view=findpost&p=184836 <-- hah
[10:46:20] <pupnik> https://developer.mozilla.org/@api/deki/files/2922/=skewed-google-sample.html << skewing webpages with html
[10:48:34] <lynxlynxlynx> i don't see what it does, but i did two skew/rotation april fools tricks this year
[10:49:02] <pupnik> nice
[10:49:26] <pupnik> requires firefox 3.5+
[10:54:05] <lynxlynxlynx> my trick requires only css3
[10:54:57] <lynxlynxlynx> oh, this is also css2
[10:54:59] <lynxlynxlynx> css3
[10:55:10] <lynxlynxlynx> just a different attribute
[11:09:55] <pupnik> aha
[11:11:59] <pupnik> i don't get a 'perspective' effect from that code though
[11:12:06] <pupnik> anyway back to SDL
[11:21:22] <-- devurandom has left IRC (Read error: Operation timed out)
[11:21:40] --> devurandom has joined #GemRb
[13:18:35] <-- devurandom has left IRC (Ping timeout: 248 seconds)
[13:20:22] --> devurandom has joined #GemRb
[13:34:00] --> kettuz has joined #GemRb
[13:43:08] --> boriskr has joined #GemRb
[14:13:18] <lynxlynxlynx> loading and saving seems to work fine in bg2
[14:13:29] <lynxlynxlynx> except for yesterday's save which crashes
[14:16:22] <lynxlynxlynx> BIFImporter.cpp:70 fname is null and that causes the cascade
[14:18:43] <lynxlynxlynx> http://pastebin.com/M42sJRTJ
[14:18:58] <lynxlynxlynx> it's not a usual save though
[14:19:21] <lynxlynxlynx> a tob game was loaded and the version override switch reset the location back to the start
[14:19:24] <lynxlynxlynx> then i saved
[14:22:11] <tomprince> Does it work with older gemrb?
[14:22:35] <tomprince> Looking at the old code, it looks like it would try to open the cached directory for writing.
[14:23:31] <lynxlynxlynx> it breaks also on just loading those pre-transitioned saves
[14:23:41] <lynxlynxlynx> and there it indeed tries to open the cache
[14:23:44] <lynxlynxlynx> a bad one at that
[14:23:51] <lynxlynxlynx> [FileCache]: Cannot write /home/lynx/dev/gemrb/cache/.
[14:24:06] <fuzzie> but gemrb saves?
[14:24:27] <lynxlynxlynx> huh what
[14:24:33] <lynxlynxlynx> wait a minute
[14:25:36] <lynxlynxlynx> the cache is the right one, but it is only writable by my user
[14:25:54] <tomprince> It seems you must be reading a bif with a 0 length filename (for a particular entry), and a libc that returns NULL for size 0 request.
[14:26:27] <fuzzie> yeah, but gemrb itself shouldn't produce those
[14:26:28] <tomprince> The old code saw the NULL, and ended the PathJoin early, so it tried to open the directory, rather than opening a file in the directory.
[14:27:42] <lynxlynxlynx> gemrb seems to delete and recreate the cache dir
[14:27:51] <fuzzie> the new code seems to lack error checking though
[14:28:11] <fuzzie> that is not really very nice
[14:28:28] <lynxlynxlynx> so no o+rw is possible, even though it shouldn't be needed, since i'm running as the owner
[14:30:27] <fuzzie> DecompressSaveGame isn't going to return GEM_ERROR if CachedCompressedStream returns NULL, and CacheCompressedStream ignores the result of Decompress anyway..?
[14:31:39] <fuzzie> in fact i don't see how this works at all
[14:31:52] <fuzzie> i mean, DecompressSaveGame now calls CacheCompressedStream
[14:32:44] <fuzzie> but if the destination file exists, CacheCompressedStream is a no-op for the decompressor!
[14:33:14] <fuzzie> so if i'm right, then you're just reading complete random data, and no surprise you get a 0-length filename there
[14:37:43] <lynxlynxlynx> (gdb) p declen
[14:37:43] <lynxlynxlynx> $12 = 2055606244
[14:37:43] <lynxlynxlynx> (gdb) p complen
[14:37:43] <lynxlynxlynx> $13 = 1136012122
[14:37:55] <fuzzie> sure, if you're reading complete random data, they won't be good either :P
[14:37:57] <lynxlynxlynx> so that looks like the correct assumption
[14:38:01] <lynxlynxlynx> yes
[14:38:09] <fuzzie> it is not entirely obvious how to fix that
[14:38:21] <tomprince> https://gist.github.com/903716
[14:38:24] <tomprince> ?
[14:38:25] <fuzzie> since i can't just revert that bit wholesale
[14:39:10] <fuzzie> tomprince: i'm not sure if complen is guaranteed correct, but assuming it is, that looks good
[14:39:30] <lynxlynxlynx> i'll go fix that cmake bit, so we'll both be happy
[14:39:43] <fuzzie> although i'm not sure it produces correct results
[14:40:07] <fuzzie> go ahead and commit though
[14:40:42] <fuzzie> i'm just wondering why a savegame would end up like that..
[14:41:34] <fuzzie> i mean, DecompressSaveGame only gets called in one place, and DelTree(CachePath) got called before that
[14:42:03] <fuzzie> the *correct* behaviour for decompressing the savegame is to overwrite the files
[14:42:11] <tomprince> lynxlynxlynx: Does that patch fix it for you? (Causing early failure rather than a crash?)
[14:42:18] <fuzzie> which your patch doesn't do - but i don't see why it happens
[14:42:30] <fuzzie> tomprince: that patch should fix it entirely, w/the Seek(), right?
[14:42:38] <lynxlynxlynx> haven't tried it
[14:42:59] <tomprince> Yes, actually, it perhaps should.
[14:43:09] <fuzzie> be bold, commit!
[14:43:38] <tomprince> I have, I just haven't pushed ... ;)
[14:43:57] <fuzzie> i'm pretty sure you have to overwrite to actually make it work though
[14:44:49] <fuzzie> the problem is that the LoadGame is done first, which does GetActor, which might well extract files into the cache
[14:45:17] <fuzzie> that seems bad, if that is indeed the cause of the problem, since presumably things end up using older data than what's in the save?
[14:48:19] <fuzzie> so it would be nice to add an error message there for duplicate files i guess :/
[14:48:58] <fuzzie> if i am not crazy then presumably the "Unpack SAV (archive) file to Cache dir" bit should be pushed up before the "Load GAM file" bit.
[14:50:51] <fuzzie> but not something i am going to try without being able to test it thoroughly. maybe later, but i doubt it today :/
[14:51:15] <tomprince> Or this maybe? It could use more explanation in the commit message though. https://gist.github.com/903746
[14:51:40] <tomprince> Perhaps explaining why this rather than moving the save extraction, if there is a reason.
[14:51:44] <fuzzie> well, what I am trying to say here: The mere presence of duplicate files perhaps indicates a bug.
[14:51:57] --> boriskr_ has joined #GemRb
[14:52:16] <-- boriskr has left IRC (Ping timeout: 240 seconds)
[14:52:29] <fuzzie> I can't imagine which files, but perhaps bags get extracted from the game data on load, and then are extracted from the save?
[14:52:55] <fuzzie> And if it's that sort of thing, you could indeed 'fix' it with that overwrite change, I'm just wondering if we can't avoid having duplicates at all, with the re-ordering.
[14:53:29] <fuzzie> Because otherwise it could easily lead to disasters in the future, if someone decides to add a bag cache rather than re-opening the files every few frames, for example.
[14:54:13] <fuzzie> If lynxlynxlynx has time, maybe he could break at the start of DecompressSaveGame and see what's already in the cache, if anything?
[14:55:01] <CIA-52> GemRB: 03lynxlupodian * rb4d60b842774 10gemrb/CMakeLists.txt: cmake: support opt-in in-source builds: pass -DINSOURCEBUILD=1
[14:55:07] <lynxlynxlynx> how to do that? it's all a stream
[14:55:09] --> BaldimerBrandybo has joined #GemRb
[14:55:18] <fuzzie> As in, what's in the on-disk cache directory.
[14:56:02] <tomprince> Well, I pushed those two commits to save-bugs on github.
[14:56:21] <fuzzie> Thanks!
[14:56:36] <tomprince> I'll let somebody else merge commits as they are tested / we figure out the right solution.
[14:56:55] <tomprince> (we == fuzzie) ;)
[14:57:16] <-- PixelScum has left IRC (Ping timeout: 240 seconds)
[14:58:18] <lynxlynxlynx> the cache is populated
[14:58:44] <lynxlynxlynx> animation and font bams, gui mos'
[15:00:10] <fuzzie> nothing else?
[15:00:26] <tomprince> What file takes the (missing) else branch in CacheCompressedStream?
[15:00:30] <lynxlynxlynx> fog of war
[15:00:31] <fuzzie> it does look like we might hilariously be saving those files too
[15:00:43] <lynxlynxlynx> http://pastebin.com/LbW39iiP
[15:01:31] <fuzzie> ugh :-P
[15:02:30] <fuzzie> so that's weird
[15:02:33] <fuzzie> tomprince has the good question here
[15:03:31] <fuzzie> (but i guess his commits are good, then)
[15:05:19] <lynxlynxlynx> which of the branches do you mean? i can add a stub and break on it
[15:05:50] <fuzzie> the branch where file_exists(), so the else after !file_exists()
[15:05:55] <tomprince> The outer one (that triggers when the file is already in the cache.
[15:12:33] <lynxlynxlynx> ar6200.are
[15:13:22] <lynxlynxlynx> the other areas currently in the cache decompressed normally
[15:13:53] <lynxlynxlynx> so what prepopulates it?
[15:14:01] <lynxlynxlynx> have to go now, bbl
[15:17:30] <edheldil> is not it some packed bif which get decompressed at startup? The presence of carot etc ...
[15:18:11] --> edheldil_ has joined #GemRb
[15:21:58] <edheldil> hmm, GUIBam is a normal bif :/
[15:22:14] <tomprince> Entire bifs only get extracted when they are savs.
[15:23:57] <edheldil> carot is bamc, though. But it probably should not be unpacked to the cache, right?
[15:41:43] <-- lubos has left IRC (Quit: Leaving.)
[15:57:21] <fuzzie> it is unclear to me whether the .are is prepopulated or whether it's a broken sav with it twice
[16:01:03] --> Maighstir has joined #GemRb
[16:11:33] <-- boriskr_ has left IRC (Remote host closed the connection)
[16:13:32] --> boriskr has joined #GemRb
[16:18:25] <tomprince> If list lynx posted was the files before the extraction, then it seems it has it twice.
[16:27:40] <-- boriskr has left IRC (Remote host closed the connection)
[16:30:29] <-- exultbot_ has left IRC (Ping timeout: 250 seconds)
[16:30:29] <-- exultbot_ has left IRC (signing off...)
[16:31:50] --> exultbot has joined #GemRb
[16:31:50] --- Topic for #GemRb is: GemRB 0.6.4 | http://gemrb.sf.net | Be wary of your words for there are Modron sensors in this channel: http://log.usecode.org/gemrblog.php | Hey <CHARNAME>, we need some awesome screenshots! | We now have our own domain, http://www.gemrb.org
[16:31:50] --- Topic for #GemRb set by lynxlynxlynx!~quassel@sourcemage/warlock/lynxlynxlynx at Sun Mar 27 17:05:20 2011
[16:33:10] <-- exultbot_ has left IRC (Ping timeout: 250 seconds)
[16:33:49] --> boriskr has joined #GemRb
[16:34:55] --> PixelScum has joined #GemRb
[16:37:31] <-- edheldil_ has left IRC (Ping timeout: 248 seconds)
[16:37:53] <-- BaldimerBrandybo has left IRC (Ping timeout: 258 seconds)
[16:50:09] --> Gekz_ has joined #GemRb
[16:50:09] <-- Gekz_ has left IRC (Changing host)
[16:50:09] --> Gekz_ has joined #GemRb
[16:50:19] <-- Gekz has left IRC (*.net *.split)
[17:02:05] <-- adominguez has left IRC (Remote host closed the connection)
[17:34:04] --> |Cable| has joined #GemRb
[17:37:26] --> BaldimerBrandybo has joined #GemRb
[17:41:23] <-- PixelScum has left IRC (Ping timeout: 276 seconds)
[18:06:02] <-- boriskr has left IRC (Remote host closed the connection)
[18:27:19] --> edheldil_ has joined #GemRb
[18:29:59] <-- |Cable| has left IRC (Remote host closed the connection)
[18:31:19] --> |Cable| has joined #GemRb
[18:35:18] --> Bo_Thomsen has joined #GemRb
[18:48:57] <lynxlynxlynx> it doesn't happen with all pre-transition saves
[18:51:11] <-- Bo_Thomsen has left IRC (Quit: Leaving.)
[18:51:30] <fuzzie> well, it does sound like bad savegames which have duplicate files in them
[18:51:43] <fuzzie> since there's no .are in your file listing beforehand
[18:59:32] <lynxlynxlynx> that's the case for at least one of them, but i wonder how it came to be
[18:59:52] <fuzzie> a bit worrying :)
[19:00:26] <lynxlynxlynx> that save is from march 25th
[19:01:05] <lynxlynxlynx> but the game is from one of the jumper saves iirc, so maybe there's the problem
[19:01:15] <fuzzie> case-sensitivity issues of some kind?
[19:01:21] <lynxlynxlynx> no
[19:06:02] <-- edheldil_ has left IRC (Ping timeout: 246 seconds)
[19:10:15] <lynxlynxlynx> the areas are of different size too
[19:43:09] <lynxlynxlynx> i forgot i fixed something and don't need that save anymore
[19:46:31] --> edheldil_ has joined #GemRb
[20:53:20] <-- kettuz has left IRC (Quit: Leaving)
[21:06:15] <-- Demitar has left IRC (Ping timeout: 240 seconds)
[21:07:38] --> Demitar has joined #GemRb
[22:15:47] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[23:12:14] <-- edheldil_ has left IRC (Ping timeout: 276 seconds)