#gemrb@irc.freenode.net logs for 28 Apr 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[02:39:24] <-- _pickle has left IRC (Remote host closed the connection)
[04:09:33] <tomprince_loki> Would it make sense when loading a game to just add the .gam file to the search path, after the cached, rather than decompressing everything? Of course it isn't as simple of that ( :) ) you have to change how saving works, and probably other things as well.
[04:10:06] <tomprince_loki> I was just running under valgrind on my laptop, and I noticed that it took an awful long time to decompress everything on a large save game.
[04:47:45] --> Gekz has joined #GemRb
[04:48:10] <-- Gekz_ has left IRC (Read error: Connection reset by peer)
[05:21:01] --> Gekz_ has joined #GemRb
[05:21:34] <-- Gekz has left IRC (Read error: Connection reset by peer)
[05:58:00] <-- Gekz_ has left IRC (Read error: Connection reset by peer)
[05:58:12] --> Gekz_ has joined #GemRb
[05:58:35] <-- Gekz_ has left IRC (Read error: Connection reset by peer)
[05:58:45] --> Gekz_ has joined #GemRb
[06:19:46] --- Dark-Star|Zzz is now known as Dark-Star|away
[06:20:52] --> Nomad010 has joined #GemRb
[06:44:22] --> lynxlynxlynx has joined #GemRb
[06:44:22] --- ChanServ gives channel operator status to lynxlynxlynx
[07:05:57] --> Brendan__ has joined #GemRb
[07:06:07] <-- Gekz_ has left IRC (Read error: Connection reset by peer)
[07:11:49] <-- Brendan__ has left IRC (Quit: Leaving)
[07:13:07] --> Gekz_ has joined #GemRb
[07:31:38] <-- kahen has left IRC (*.net *.split)
[07:34:46] <lynxlynxlynx> off to london, bbl :)
[07:37:04] --> Gekz has joined #GemRb
[07:37:33] --> kahen has joined #GemRb
[07:44:52] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[08:46:02] <-- |Cable| has left IRC (Remote host closed the connection)
[09:00:00] <edheldil> hi all
[09:01:18] <fuzzie> tomprince_loki: it would have to be optional
[09:01:50] <edheldil> tomprince: that's an interesting idea ... but cache is the very think you have to override when loading a game
[09:01:54] <fuzzie> because for slow machines you really want to compress all the waiting into one 'Loading' screen
[09:03:14] <fuzzie> and as discussed a few weeks ago, that decompression time is probably easily improved
[09:04:02] <fuzzie> also what edheldil said :) hi edheldil
[09:05:00] <fuzzie> i have one of those exams today where i can do the example exams without thought, but i still spend the morning worrying that i missed something important..
[09:05:41] <edheldil> morning, fuzzie :)
[09:07:48] <edheldil> I concur tomprince's assesment of the mess called GUIScript :)
[09:08:01] <fuzzie> yesd
[09:08:08] <fuzzie> i think we should move more of it into python
[09:08:28] <fuzzie> he started moving the obvious C++ bits into the core at some point
[09:09:37] <edheldil> if you move too much stuff to python, you will have to reimplement it for a (hypothetical) Lua plugin
[09:09:52] <fuzzie> yes, so it is difficult
[09:10:08] <fuzzie> the question is, do you think all the IE stuff like action bars would be wanted for the Lua plugin too?
[09:11:15] <edheldil> Lua's advantage over Python is that you CAN do restricted environment in Lua, unlike in Python, so it has clear security advantage.
[09:11:47] <edheldil> supporting two languages instead of one is a burden, that is sure
[09:13:45] <edheldil> I am not pushing Lua, I like python... but it is an issue to consider in the future
[09:14:30] <fuzzie> well, i think for the IE games, it would never be worthwhile converting
[09:14:42] <fuzzie> but for a new game it would be the obvious candidate
[09:14:44] <edheldil> (my Lua skills are close to nil, unlike Python)
[09:15:11] <fuzzie> which is why i wondered how important it would be to keep things in C++: i think a lot of the code in GUIScript ends up being IE-specific
[09:17:33] <edheldil> by IE-specific you mean original games? Maybe those parts could be (one day) moved to a plugin extending Python api or st. like that
[09:18:02] <edheldil> but if you mean hacks and hacks on top of hacks, that would probably be defficult
[09:18:53] <fuzzie> well, i mean things like the magical action bar code :)
[09:19:14] <fuzzie> the action bars are created entirely in C++, by code in the python GUIScript.cpp
[09:20:27] <edheldil> the IWD2 ones?
[09:22:07] <fuzzie> and all the others
[09:22:28] <fuzzie> i mean, on the basis of the CHU files, but it still needs a lot of work
[09:24:47] <edheldil> I haven't seen that code yet, I admit
[09:32:00] <fuzzie> tomprince_loki: http://fuzzie.org/nfs/gemrb/decompressed_size.txt should fix decompression speed
[09:35:05] <fuzzie> as usual provided as "it works for me" :)
[09:36:12] <fuzzie> i imagine you could set INPUTSIZE to 16384 or so and it would now be faster, too
[09:37:55] <fuzzie> but that maybe wouldn't affect valgrind. i don't know.
[10:20:20] --> CIA-86 has joined #GemRb
[10:24:12] <-- CIA-74 has left IRC (*.net *.split)
[10:31:43] <-- Nomad010 has left IRC (Ping timeout: 258 seconds)
[10:33:23] --> Nomad010 has joined #GemRb
[10:48:02] <-- Nomad010 has left IRC (Ping timeout: 240 seconds)
[10:48:51] --> Nomad010 has joined #GemRb
[12:44:14] <-- anji has left IRC (Ping timeout: 240 seconds)
[12:55:47] --> anji has joined #GemRb
[13:35:20] <tomprince> The first patch at or.cz/python cleans up the GemRB.* namespace, anyway. I think that patch should go in, followed by a patch that cleans up the _GemRB namespace, renaming things to something like Object_Method instead of VerbObjectPhrase.
[13:35:37] <tomprince> Or perhaps even to Object.Method.
[13:37:00] <fuzzie> why not call it GemRBInternal or something which makes it clear what the idea is?
[13:38:36] <tomprince> Sort of python convention. Python extension modules are often named _module, with a python wrapper in module.
[13:38:59] <tomprince> Easy enough to change.
[13:39:34] <fuzzie> well, just curious
[13:40:46] <tomprince> I don't know, GemRBInternal just looked ugly to me.
[13:43:39] <-- Nomad010 has left IRC (Ping timeout: 248 seconds)
[13:46:13] <edheldil> sounds interesting, I will have to take a look
[13:47:35] <fuzzie> the idea is certainly sound
[13:48:45] <fuzzie> did you check for the direct calls in some automated way?
[13:50:27] <tomprince_loki> Yes.
[13:58:57] <tomprince_loki> That is where the three remaning methods came from.
[14:02:41] <tomprince_loki> We should probably have a global object to represent the main window.
[14:03:25] <tomprince_loki> Oh, and I didn't fix up test.
[14:03:45] <tomprince_loki> test1.
[14:04:04] <tomprince_loki> It seems to have bitrotted somewhat, and doesn't use the metaclasses consistently.
[14:24:33] <fuzzie> i know nothing about it at all
[14:40:17] <tomprince_loki> I've been wondering how to improve are ability to do automated testing.
[14:41:07] <fuzzie> step one, work out what we should be testing for :)
[14:41:13] <tomprince_loki> :)
[14:41:44] <fuzzie> i mean, what code in particular were you thinking of trying to test?
[14:42:07] <tomprince_loki> One thing that occured to me is to have a script that tries to load all of the resources from each of the orignal games. Or better, that reads a list of resources to load, along with lists for each of the games.
[14:42:44] <fuzzie> ok, so testing the resource plugins? that sounds like a good idea
[14:42:59] <tomprince_loki> As much as possible, so that I have something objectve to test, rather than just booting up the game and trying things randomly, and seeing if they break. :)
[14:43:34] <fuzzie> well, i just wondered if you were intending to try writing functionality tests 'blind'
[14:44:04] <fuzzie> which i think would actually be counter-productive
[14:45:05] <fuzzie> but the file loading/saving code, on the other hand, is (i hope) stable enough that it would be helpful
[14:46:09] <fuzzie> although i have no idea how exactly you'd do it :)
[14:47:47] <tomprince_loki> Well, I don't know if enough is exposed to do if from python right now. But might thought was, litterally, to take a list of all the game resources, and try to load each one in turn. Although, it would probably be good to also have a tool to randomly recase filenames.
[14:48:18] <fuzzie> *nod*, okay. so you'd mostly be testing the code that you've changed.
[14:48:48] <tomprince_loki> Well, that was what promted be to start thinking of it most recently, yes.
[14:50:16] <fuzzie> both the random recasing and the loading all the resources sounds good. maybe you could also consider hooking into weidu to move things in and out of bif files, etc?
[14:53:51] <tomprince_loki> That makes sense.
[14:57:48] * tomprince_loki goest to meeting.
[14:57:59] <-- tomprince_loki has left IRC (Quit: tomprince_loki)
[15:02:32] <edheldil> I was testing ie_shell by iterating loader over all objects too. Gets ugly because of some weeeeird files :)
[15:03:42] --> Nomad010 has joined #GemRb
[16:27:35] --> barraAway has joined #GemRb
[17:00:46] --> tomprince_loki has joined #GemRb
[17:16:02] <-- Gekz has left IRC (Quit: Leaving)
[17:20:09] <-- tomprince_loki has left IRC (Ping timeout: 265 seconds)
[17:29:07] --- Dark-Star|away is now known as Dark-Star
[17:35:19] --> tomprince_loki has joined #GemRb
[17:47:40] --> |Cable| has joined #GemRb
[17:48:11] <-- tomprince_loki has left IRC (Ping timeout: 246 seconds)
[18:30:37] <-- Dark-Star has left IRC (Ping timeout: 268 seconds)
[18:34:51] --> Dark-Star has joined #GemRb
[18:34:51] --- ChanServ gives channel operator status to Dark-Star
[18:40:00] <-- Dark-Star has left IRC (Ping timeout: 276 seconds)
[18:45:25] --> Dark-Star has joined #GemRb
[18:45:25] --- ChanServ gives channel operator status to Dark-Star
[19:09:18] --> tomprince_loki has joined #GemRb
[19:13:42] <tomprince_loki> Should I push the GemRB -> _GemRB change, perhaps with a name change?
[19:14:52] <tomprince_loki> And the followup rename patch?
[19:19:28] <fuzzie> rename?
[19:21:57] <-- tomprince_loki has left IRC (Ping timeout: 265 seconds)
[19:22:36] <-- tomprince has left IRC (Ping timeout: 245 seconds)
[19:26:18] --> tomprince_loki has joined #GemRb
[19:26:49] <tomprince_loki> Rename the methods to be Object_Methodname, rather than the random collection of names we have right now.
[19:30:20] <fuzzie> i'd want to see the patch, i think :)
[19:31:07] <tomprince_loki> Yes.
[19:31:21] <tomprince_loki> I am just working it up now. :)
[19:35:40] <tomprince_loki> Untested version at Rename the methods to be Object_Methodname, rather than the random collection of names we have right now.
[19:36:23] <tomprince_loki> at www.math.uwo.ca/~rprince5/diff
[19:39:08] <fuzzie> makes sense at a glance
[20:05:27] <-- tomprince_loki has left IRC (Ping timeout: 265 seconds)
[20:08:53] --> tomprince has joined #GemRb
[20:19:50] <tomprince> or.cz/python: Tested now.
[23:34:19] <fuzzie> what's the issue with the direct calling?
[23:36:50] <fuzzie> grepping, it seems it might be better to fix those first, but it's a bit too late to work out how
[23:44:19] <tomprince> Do you mean, fixing the remaining direct callers?
[23:45:12] <fuzzie> yes
[23:47:41] <fuzzie> it looks fine though, so +1 if it doesn't quietly break something. night
[23:48:11] <tomprince> Well, the biggest thing that needs to be fixed is everybody calling SetVisible(0 ...
[23:48:24] <tomprince> Should just create an object for the Main window.
[23:48:58] <tomprince> I was wondering what it should be called? GameWindow?