#gemrb@irc.freenode.net logs for 29 Jun 2009 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:07:56] --- barra__out is now known as barra_civ4
[02:52:08] <-- Dark-Star has left IRC (Read error: 110 (Connection timed out))
[02:53:12] --> Dark-Star has joined #gemrb
[02:53:12] --- ChanServ gives channel operator status to Dark-Star
[04:34:40] --> pupnik has joined #gemrb
[05:44:26] --> Gekz_ has joined #GemRB
[05:45:29] <-- Gekz_ has left IRC (Client Quit)
[07:33:15] <-- |Cable| has left IRC ("Leaving")
[07:39:48] --> lynxlynxlynx has joined #gemrb
[07:39:48] --- ChanServ gives channel operator status to lynxlynxlynx
[07:42:15] <-- Dark-Star has left IRC (Read error: 110 (Connection timed out))
[07:42:56] --> Dark-Star has joined #gemrb
[07:42:56] --- ChanServ gives channel operator status to Dark-Star
[12:49:41] <fuzzie> afternoon
[12:59:50] <lynxlynxlynx> oj
[13:58:38] <fuzzie> the windows build from Marscel seems fine, although the GemRB.cfg has unix-style line endings which is not so nice in notepad
[13:58:53] <fuzzie> oh, no, the 'string' import fails as Avenger predicted also
[13:59:24] <fuzzie> so we'll have to find a python-distribution solution
[14:00:03] <fuzzie> forgot that i had a python installed, had to remove it
[14:00:47] <lynxlynxlynx> i find it pretty odd
[14:01:44] <lynxlynxlynx> but i'm fighting wine and ni the last few days
[14:02:04] <fuzzie> although i don't think any of our 'string' usage is necessary
[14:02:39] <fuzzie> string.join is nicer syntax, but is it worth adding a dependency?
[14:04:10] <lynxlynxlynx> if it is the same as just +, then not
[14:04:25] <lynxlynxlynx> but we use also other functions like split
[14:04:35] <fuzzie> string.join(list, str) is equivalent to str.join(list)
[14:04:39] <fuzzie> as far as i know
[14:05:14] <fuzzie> i'll remove the usages and see how it works out
[14:05:28] <lynxlynxlynx> that's only the guirec part
[14:06:23] <fuzzie> the others are equivalent, we can do str.split(part) etc
[14:07:04] <lynxlynxlynx> GUIINVs don't seem to use it
[14:08:40] <fuzzie> http://fuzzie.org/nfs/gemrb/remove_string.txt
[14:09:18] <fuzzie> untested, but those seem to be all the usages, all easily replaced
[14:10:31] <lynxlynxlynx> i'll try the bg2 part
[14:11:37] <fuzzie> well, the bg2 part fixes that windows build
[14:11:42] <fuzzie> it now works fine with just the python dll
[14:12:39] <lynxlynxlynx> isn't the string module part of the main distribution?
[14:13:21] <fuzzie> it's part of the standard libraries
[14:13:26] <fuzzie> but it's not part of core python
[14:13:38] <fuzzie> so if you want to use it, you have to distribute the .py etc
[14:14:10] <fuzzie> and it seems easier to just remove our dependency on it, it's only a few trivial lines
[14:14:53] <lynxlynxlynx> seems to work for me too
[14:19:19] <fuzzie> well, i traced it back as far as r2427 from 2004, "Started porting of game screens from pst to bg"
[14:19:40] <fuzzie> so I assume it's not a deliberate attempt to make it more readable, and it seems reasonable to just remove it
[14:21:57] <fuzzie> seems to work fine for pst. i will just recklessly commit it.
[14:23:14] <CIA-20> gemrb: 03fuzzie * r6651 10/gemrb/trunk/gemrb/GUIScripts/ (16 files in 5 dirs): remove usage of python string module
[14:24:58] <fuzzie> I had a quick glance through and we don't seem to import anything else external.
[14:27:52] <fuzzie> A Windows build with line-endings fixed and that patch applied seems to work great.
[14:42:58] <lynxlynxlynx> cool
[14:57:33] <fuzzie> ok, i will email marscel
[15:07:48] --> Gekz has joined #GemRB
[15:08:59] <fuzzie> hi, Gekz
[15:09:44] <Gekz> hey
[15:31:14] <pupnik> less dependencies ftw
[15:32:30] <Gekz> ?!
[15:32:33] <Gekz> expliquez-vous
[16:03:08] --> D_T_G has joined #gemrb
[17:33:32] --> Edheldil has joined #gemrb
[17:33:32] --- ChanServ gives channel operator status to Edheldil
[17:42:06] --> |Cable| has joined #gemrb
[17:46:26] <D_T_G> hi ppl :)
[17:47:24] <D_T_G> which guiscript is for mages' spell book?
[17:48:13] <D_T_G> guimg.py i guess :)
[17:49:11] --> tombhadAC has joined #gemrb
[17:51:03] --> kettuz has joined #gemrb
[18:07:12] <D_T_G> anybody there?
[18:17:46] --> Avenger has joined #gemrb
[18:18:13] --- ChanServ gives channel operator status to Avenger
[18:20:52] <Avenger> D_T_G: yes, guimg
[18:22:16] <fuzzie> hi
[18:22:43] <Avenger> hello fuzzie
[18:23:08] <fuzzie> i 'fixed' this python dll problem by just removing all uses of 'string'
[18:23:13] <Avenger> removing the string dependency is a nice goal, but the means are ugly
[18:23:30] <fuzzie> otherwise it is a huge pain to distribute, it seems
[18:23:32] <Avenger> why not 'steal' string.py
[18:23:56] <fuzzie> well, it would take a few seconds to write our own if needed
[18:24:12] <Avenger> cool, i don't like "\n".whatever
[18:24:12] <fuzzie> but most of those 'import string's were completely useless, there'd just be a few to change back
[18:24:16] <D_T_G> how to read in dltcep which sprite uses this button: http://img33.imageshack.us/img33/919/dltcep.jpg
[18:24:18] <D_T_G> ?
[18:24:24] <fuzzie> and i just wanted a simple patch which i could apply to 0.5.0.
[18:25:05] <Avenger> that's button 10, you can see it if you press the select control button bottom left
[18:25:20] <Avenger> button's control ID is 10
[18:25:55] <Avenger> ahh you ask which sprite
[18:26:01] <Avenger> MAPBUT ?
[18:26:22] <Avenger> MAPBUT is the bam, and it uses MAPBUT's 5th cycle
[18:26:30] <D_T_G> the one in green square in preview
[18:27:04] <Avenger> so open MAPBUT.bam in the animation editor, go to cycle 5
[18:27:14] <Avenger> it has frame 0 and frame 1 at least
[18:27:27] <Avenger> for the pressed and unpressed images
[18:27:38] <D_T_G> ok
[18:27:49] <D_T_G> I want to borrow it in other window
[18:28:01] <D_T_G> it is possible with createbutton function?
[18:28:06] <fuzzie> there is a point where patching the gui should really be done with the CHU, though
[18:28:08] <Avenger> yes
[18:28:27] <Avenger> i think we overdid this patching already :)
[18:28:35] --> Darki has joined #gemrb
[18:28:58] <fuzzie> we shouldn't be doing many CreateButton calls in the gui, we should simply notice when the buttons already exist
[18:28:59] <Avenger> these should be optional, or modding would be tougher than the original
[18:29:21] <D_T_G> completetly optional of course, but very nice :)
[18:29:22] <-- Dark-Star has left IRC (Nick collision from services.)
[18:29:27] <Avenger> Hm, for that we need a HasControl call
[18:29:33] <fuzzie> that would be a good idea.
[18:29:34] --- Darki is now known as Dark-Star
[18:29:38] --- ChanServ gives channel operator status to Dark-Star
[18:31:04] <fuzzie> i'm sure we can find someone to make a weidu script from a modified CHU.
[18:31:21] <fuzzie> and if D_T_G has DLTCEP then i assume adding a button to the CHU is trivial.
[18:32:21] <D_T_G> well, first I would want to try to do it in python gui script
[18:32:46] <D_T_G> no need to merge it anywhere
[18:33:57] <fuzzie> it would probably be easier to just do it with the CHU at first :)
[18:34:02] <D_T_G> the patch i mean, if i'll ever make it so far
[18:34:03] <fuzzie> but it is of course your choice how to experiment
[18:34:29] <D_T_G> so far I know more about gui script than about modding chus :P
[18:35:07] <fuzzie> i think the chu editing mostly just involves clicking some buttons and then saving the chu :) but i never tried
[18:35:54] <D_T_G> me neither :)
[18:42:47] <Avenger> it is possible to edit them :) some of gemrb's chu's were made using dltcep
[18:44:25] <Avenger> another dword used in .pro V2.0
[18:46:39] <fuzzie> v2.0 is yours? :)
[18:48:32] <Avenger> yes
[18:48:53] <Avenger> on 0x30 there will be an strref, displayed when the projectile starts
[18:49:04] <Avenger> this would be unnecessary, if not for 3-4 iwd projectiles
[18:49:53] <-- D_T_G has left #gemrb ()
[18:51:07] <fuzzie> heh, i was wondering whether nwn used PRO files
[18:51:19] <fuzzie> but it has the projectiles hardcoded into the spell entries, ugh
[18:51:42] <Avenger> i thought they are scripted
[18:52:07] <fuzzie> they're in the spells 2da
[18:53:03] --> Dad_ has joined #GemRB
[18:53:09] --- Dad_ is now known as mattinm
[18:53:20] --- ChanServ gives channel operator status to mattinm
[18:53:21] <fuzzie> looks like you can also fiddle with them from the scripts
[18:53:22] --> D_T_G has joined #gemrb
[18:54:23] <D_T_G> hi mattinm ! :)
[18:54:35] <mattinm> hello everybody :)
[18:54:42] <fuzzie> anyway i was just curious whether there was a real .pro v2.0, i guess not
[19:06:23] --> barra_away has joined #gemrb
[19:14:24] <Edheldil> hi all
[19:14:50] <Edheldil> fuzzie: do we really need to distribute python?
[19:16:14] <-- kettuz has left IRC ("Leaving")
[19:16:25] <fuzzie> Edheldil: on Windows? yes
[19:17:32] <fuzzie> linux, OS X, etc are going to have it already, so it's fine everywhere else
[19:22:06] --> mattinm_ has joined #GemRB
[19:22:38] --- ChanServ gives channel operator status to mattinm_
[19:22:56] <-- barra_civ4 has left IRC (Read error: 110 (Connection timed out))
[19:22:58] <Edheldil> but getting rid of string just to ship broken python is a wrong way, imho
[19:23:20] <fuzzie> it's not broken python, it's core python
[19:23:35] <-- mattinm has left IRC (Nick collision from services.)
[19:23:42] --- mattinm_ is now known as mattinm
[19:23:42] <fuzzie> it's their recommended embed technique, shipping only the modules you need
[19:23:55] <fuzzie> no app needs all their standard libraries
[19:24:34] <Edheldil> will it be installed sitewide or just inside gemrb dirs?
[19:24:44] <fuzzie> it's just a python26.dll in the gemrb dir
[19:24:47] <fuzzie> and only on windows :)
[19:25:09] <fuzzie> it is trivial to add our own string.py there if people would prefer
[19:25:37] <fuzzie> i was assuming that changing a few lines to remove a dependency would be fine
[19:26:10] <wjp> doesn't look like we were using string for anything really useful
[19:26:27] <fuzzie> it was not a huge patch, i changed 5 lines to slightly less-readable code.
[19:26:48] <fuzzie> and also changed two silly string.upper() calls.
[19:28:28] <fuzzie> it's simple to change those 5 lines back, or to use our own string module, or some other suggestion.
[19:29:24] <wjp> the current situation sounds fine to me
[19:33:56] <Edheldil> kk
[19:36:06] <fuzzie> I'm trying to write a hack for this pathfinder..
[19:51:32] <fuzzie> It seems to work without any effort, I am worried.
[19:57:33] <fuzzie> I just wrote a new pathfinder function that just swapped start/goal and checked distance at every step.
[20:00:22] <fuzzie> Not something to commit, but nice to see everything works in principle..
[20:03:33] <-- pupnik has left IRC (Read error: 110 (Connection timed out))
[20:09:15] <-- D_T_G has left IRC ()
[20:13:44] <Avenger> fuzzie: before commit, check it with valgrind :)
[20:13:54] <fuzzie> i am curious why diagonal movements are more expensive than direct ones, though
[20:14:09] <fuzzie> erm, less expensive
[20:14:46] --> pupnik has joined #gemrb
[20:15:06] <Avenger> i dont know what you mean by diagonal vs. direct
[20:15:07] <fuzzie> but i won't touch that bit :)
[20:15:14] <fuzzie> i mean, diagonal vs horizontal/vertical
[20:16:00] <Avenger> a single diagonal is more than a single horizontal or vertical
[20:16:43] <fuzzie> i'm just looking at the searchmap here, not in-game, so maybe it is that
[20:17:12] <fuzzie> but it sets up the diagonal movements with NormalCost and then adds AdditionalCost for the horz/vert movements. i think. but i didn't understand the cost code :)
[20:17:30] <Avenger> cost is the 'length' of the movement
[20:17:59] <fuzzie> it is 10 for diagonal and 14 for horz/vert
[20:18:25] <Avenger> the diagonal is actually, horiz/vert, but it is an isometric view :)
[20:18:43] <fuzzie> ok :)
[20:18:45] <fuzzie> i wondered if that was it
[20:19:29] <wjp> ah, right, the coordinates are screen coordinates
[20:19:50] <wjp> confusing, this :-)
[20:20:53] <wjp> hm
[20:22:00] <fuzzie> i think the fact we're working on the searchmap directly there means that perhaps we should still reverse it, but something for another time
[20:22:26] <wjp> that already has the 12/16 vertical/horizontal correction, right?
[20:23:06] <fuzzie> yes
[20:23:34] <fuzzie> although NormalCost perhaps not
[20:31:14] <CIA-20> gemrb: 03fuzzie * r6652 10/gemrb/trunk/gemrb/plugins/Core/ (Map.cpp Map.h): const IsVisible parameters
[20:31:59] <fuzzie> thought I might as well fix the silly archers-through-walls thing also
[20:33:01] <wjp> it sounds wrong though... currently walking from (x,y) to (x+2,y) via (x+1,y) would cost 28, while going through (x+1,y+1) would cost 20
[20:34:34] <fuzzie> that is the in-game situation which made me look at it :)
[20:43:09] <wjp> hm, when just walking in straight lines in-game that doesn't seem to happen, though
[20:43:39] <wjp> or is there a simple straight-line pathfinder before the general one?
[20:43:46] <fuzzie> it's all the general one
[20:56:17] <Avenger> there is no straight line pathfinder, i wonder how much it would slow things down
[20:56:38] <Avenger> maybe the straight line should work once the normal path is found?
[20:56:59] <Avenger> it could go through the existing path, trying to cut corners
[20:58:32] <fuzzie> something to do *after* fixing the pathfinder in any case :)
[21:00:17] <Edheldil> doesnot A* find the shortest path automatically?
[21:02:38] <Avenger> it doesn't handle diagonals correctly
[21:03:01] <Avenger> just think about a 2x1 rectangle
[21:03:38] <Avenger> the straight path along the diagonal isn't in the valid paths given by the pathfinder
[21:05:03] <Avenger> theoretically we could add the 2x1 diagonals to the considered paths, but i think finding the longest straight line is easier
[21:06:01] <wjp> should actors be able to walk along arbitrarily oriented straight lines?
[21:06:37] <Avenger> i don't know, there are 16 orientations, and to me they seem to walk along straight lines all the time
[21:06:53] <Avenger> the current pathfinder doesn't use all orientations
[21:06:57] <Avenger> it uses only 8
[21:07:40] <Avenger> i think just adding 2x1 paths with the remaining orientations would improve the result greatly
[21:07:49] <fuzzie> using more than eight orientations requires we stop using Pos for everything at once, and that is a nightmare
[21:08:04] <fuzzie> although i think it must be done sometime
[21:08:41] <Avenger> wee, my thief sprayed spores :D
[21:09:02] <wjp> you have a fungus thief?
[21:09:13] <Avenger> testing myconid spore projectile. it displays text
[21:09:16] <wjp> :-)
[21:09:22] <fuzzie> neat
[21:09:26] <wjp> annoying buggers, those
[21:09:42] <Avenger> weird iwd projectiles, and they are still light compared to pst
[21:10:15] <-- Avenger has left IRC ("ChatZilla 0.9.85 [Firefox 3.0.11/2009060215]")
[21:16:31] <CIA-20> gemrb: 03avenger_teambg * r6653 10/gemrb/trunk/gemrb/override/how/mspore.pro: proof of concept for display string projectile
[21:17:22] <CIA-20> gemrb: 03avenger_teambg * r6654 10/gemrb/trunk/gemrb/plugins/ (Core/Projectile.cpp Core/Projectile.h PROImporter/PROImp.cpp): added display string feature to projectile
[21:19:20] <CIA-20> gemrb: 03avenger_teambg * r6655 10/gemrb/trunk/gemrb/docs/en/Engine/Projectile.txt: documented new flags
[21:20:42] <fuzzie> blah, my UpdateActorState hack doesn't work
[21:21:04] <CIA-20> gemrb: 03avenger_teambg * r6656 10/chitem/trunk/ (9 files): dltcep update for the new projectile flags
[21:21:13] <fuzzie> it happens at the wrong time, for a start
[21:23:55] <CIA-20> gemrb: 03avenger_teambg * r6657 10/ielister/trunk/ielister.cpp: ielister update for the string ref
[21:26:05] <fuzzie> and startTime is private, whee
[21:31:29] --- barra_away is now known as barra_library
[21:35:01] <CIA-20> gemrb: 03fuzzie * r6658 10/gemrb/trunk/gemrb/plugins/Core/Actor.cpp: 'fixes' for the UpdateActorState combat-leaving hack
[21:36:20] <pupnik> wow
[21:36:25] <pupnik> :)
[21:36:42] <fuzzie> mattinm: come baack, we neeed you :p
[21:36:55] <mattinm> hehe
[21:37:09] <mattinm> well, i'm having to repair my linux system right now :/
[21:39:21] <fuzzie> ah :(
[21:40:06] <mattinm> my graphics card shorted out while i was gone, and it's caused all kinds of problems
[21:40:34] <mattinm> i see that we released 0.5.0 though, which is nice :)
[21:40:56] <mattinm> hopefully i'll be able to see what changes have been made, etc, sometime tonight and see where i can help out after that
[21:41:06] <fuzzie> yes, and I have promptly broken the combat code afterwards
[21:41:32] <mattinm> hehe
[21:42:54] <mattinm> it's weird coming back after 2 weeks of no internet access lol
[21:43:05] <mattinm> so much can change in such a little time
[21:46:28] <pupnik> for a long time i wondered what chargen was, and whether it had to do with charging up magic items ...
[21:46:45] <pupnik> :|
[21:54:45] <fuzzie> The problem with my leaving-combat hack is that it's resetting combat the moment it stops.
[21:55:13] <CIA-20> gemrb: 03avenger_teambg * r6659 10/gemrb/trunk/gemrb/override/how/ (areapro.2da astorm.pro cloudks.pro hold.pro): new projectiles
[21:59:18] <fuzzie> And now suddenly nothing is restoring the searchmap when they die. :(
[22:04:06] <pupnik> o/
[22:20:02] <-- tombhadAC has left IRC ("Verlassend")
[22:24:29] <-- lynxlynxlynx has left IRC (Remote closed the connection)
[22:29:23] <-- Dark-Star has left IRC ()
[22:36:48] <-- CIA-20 has left IRC ()
[22:41:20] --> CIA-18 has joined #gemrb
[22:43:39] --> mattinm_ has joined #GemRB
[22:45:41] <-- mattinm_ has left IRC (Client Quit)
[22:47:59] --> mattinm1 has joined #gemrb
[22:47:59] --- ChanServ gives channel operator status to mattinm1
[22:51:11] <-- mattinm has left IRC (Nick collision from services.)
[22:51:15] --- mattinm1 is now known as mattinm
[23:01:24] <-- mattinm has left IRC ("Leaving.")
[23:14:13] --> mattinm has joined #gemrb
[23:14:13] --- ChanServ gives channel operator status to mattinm
[23:19:45] <-- mattinm has left IRC ("Leaving.")
[23:26:46] --> mattinm has joined #gemrb
[23:26:46] --- ChanServ gives channel operator status to mattinm
[23:44:11] <-- Edheldil has left IRC (Remote closed the connection)