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

Archive Today Yesterday Tomorrow
GemRB homepage


[01:59:52] <-- barraAway has left IRC ("Verlassend")
[02:08:31] <-- Gekz has left IRC (Read error: 104 (Connection reset by peer))
[02:08:41] --> Gekz has joined #GemRB
[03:14:08] <-- Gekz has left IRC (Read error: 104 (Connection reset by peer))
[03:17:52] --> Gekz has joined #GemRB
[07:25:36] --> |Cable| has joined #gemrb
[07:58:29] --> Edheldil has joined #gemrb
[07:58:29] --- ChanServ gives channel operator status to Edheldil
[07:59:15] --> lynxlynxlynx has joined #gemrb
[07:59:15] --- ChanServ gives channel operator status to lynxlynxlynx
[09:53:30] <-- Gekz has left IRC (Read error: 104 (Connection reset by peer))
[09:53:35] --> Gekz has joined #GemRB
[09:53:41] --> barra_library has joined #gemrb
[09:58:44] <lynxlynxlynx> ah, those stats are just for checking
[10:46:12] <CIA-2> gemrb: 03lynxlupodian * r6415 10/gemrb/trunk/gemrb/plugins/ (Core/Actor.cpp FXOpcodes/FXOpc.cpp): double the apr for improved haste in the effect itself
[10:46:26] <CIA-2> gemrb: 03lynxlupodian * r6416 10/gemrb/trunk/gemrb/plugins/ (Core/Actor.cpp FXOpcodes/FXOpc.cpp): halve the apr and movement rate in the slow effect itself
[11:18:43] <lynxlynxlynx> is someone with bg1 here? I could use: ie_shell/trunk/ieparse.py $bg1/dialog.tlk | sed -nr '/^(#|String:\s)/ { s,^String:\s,,; s,\s*$,,; p} ' > gghgd
[11:20:09] <fuzzie> sure
[11:21:36] <fuzzie> http://fuzzie.org/nfs/gemrb/gghgd
[11:25:10] <lynxlynxlynx> thanks
[11:25:16] <lynxlynxlynx> now my collection is complete
[11:32:49] <fuzzie> now read the nwn ones! :)
[11:33:22] <lynxlynxlynx> i don't need them
[11:45:26] --> Avenger has joined #gemrb
[11:46:19] <fuzzie> i hadn't looked at nwn before, looks like they didn't change KEY/BIF at all
[11:46:20] <fuzzie> hi Avenger
[11:47:21] <Avenger> hello
[11:47:27] --- ChanServ gives channel operator status to Avenger
[11:48:09] <fuzzie> do you have an idea what is missing from iwd2 chargen, to make the game not work?
[11:48:16] <Avenger> i'm adding a consistency checker for area spawn.ini files. not just pst, but iwd/iwd2 has these files
[11:48:19] <fuzzie> i thought it was just the GUI, but if you save then you end up with a corrupt savegame
[11:48:24] <Avenger> hm
[11:48:28] <Avenger> i thought iwd2 chargen works
[11:48:47] <Avenger> oh, well, ALL gemrb savegames are corrupt in a way
[11:48:58] <fuzzie> i mean, they are really corrupt, gemrb won't even read them again
[11:49:06] <Avenger> oh, not even gemrb???
[11:49:11] <Avenger> sucks
[11:49:25] <fuzzie> it works fine when you load from an original savegame, though
[11:49:38] <fuzzie> and, well, pst spawn.ini files are not very consistent so please don't break pst :-)
[11:50:06] <fuzzie> pst works great right now, i think i fixed the remaining spawn bugs
[11:50:07] <Avenger> the consistency checker goes into dltcep
[11:50:17] <fuzzie> oh, great! that would be very helpful
[11:50:44] <fuzzie> being able to click Check in dltcep is nice for many things :)
[11:50:54] <fuzzie> i don't fix anything, but i can at least see where gemrb might be tripped up
[11:51:00] <Avenger> http://www.shsforums.net/index.php?showtopic=41118
[11:52:28] <fuzzie> there are a lot of areas without any content in [nameless], of course
[11:53:03] <Avenger> hmm, you mean, there are areas with the section header, but no data inside?
[11:53:06] <fuzzie> yes
[11:53:16] <fuzzie> it means "respawn back at the mortuary", you already implemented it in gemrb
[11:53:19] <fuzzie> it didn't work but i fixed it :-)
[11:53:23] <Avenger> ok, then it shouldn't be a problem
[11:56:18] <fuzzie> i checked quite a few spawn inis and they all seem to assume that if [nameless] is missing
[11:59:40] <fuzzie> if you're working on dltcep it would be nice if it showed some more hidden fields - especially the effect unknowns, they don't seem to be shown
[12:00:21] <fuzzie> not important, but it's nice to not have to export the EFF and check with another tool
[12:00:54] <lynxlynxlynx> a lot of our effects that add portrait icons (AddPortraitIcon) forget to refresh the portrait bar. Do you think I should add the refreshing to all of them or just move it into AddPortraitIcon?
[12:01:25] <fuzzie> EF_PORTRAIT seems like it'd be fine in AddPortraitIcon
[12:03:56] <Avenger> AddPortraitIcon is called every refresh cycle
[12:04:04] <Avenger> i already considered this
[12:04:16] <Avenger> the solution would be to save the previous portrait icons and compare them
[12:04:34] <Avenger> if there is any change, trigger EF_PORTRAIT
[12:06:56] <lynxlynxlynx> ok
[12:11:07] <fuzzie> ok, i am invading Avenger's forum thread now :)
[12:11:36] <fuzzie> hopefully Qwinn will be helpful, there are a lot of questions I have, and it'd be so much easier to ask him
[12:11:59] <Avenger> maybe invite him to irc :)
[12:13:49] <fuzzie> honestly I think the forum or email is a better place to ask questions
[12:13:51] <fuzzie> lots of time to think :)
[12:34:13] <Avenger> brb
[12:34:14] <-- Avenger has left IRC ("ChatZilla 0.9.84 [Firefox 3.0.10/2009042316]")
[12:35:34] --> Avenger has joined #gemrb
[12:35:36] --- ChanServ gives channel operator status to Avenger
[12:58:53] --- barra_library is now known as barraAway
[13:01:06] <-- |Cable| has left IRC (Read error: 60 (Operation timed out))
[13:01:26] --> |Cable| has joined #gemrb
[13:04:11] --> Cable_ has joined #gemrb
[13:04:55] <-- |Cable| has left IRC (Read error: 104 (Connection reset by peer))
[14:14:33] <fuzzie> hehe, I had never noticed that spawn_select thing, it is the kind of thing you just read right over and assume it is correct :)
[14:16:04] <Avenger> yes
[14:16:39] <Avenger> now i add code to check all sections and keys
[14:34:33] <lynxlynxlynx> Avenger: do you know why DAMAGE_MAGICCOLD, DAMAGE_PIERCINGMISSILE and DAMAGE_CRUSHINGMISSILE are all defined to 0x400? The last two are iwd2 specific
[14:34:58] <Avenger> DAMAGE_MAGICCOLD is actually never used
[14:35:33] <Avenger> i guess i simply couldn't find out their true value
[14:36:04] <lynxlynxlynx> ok, i'll ignore them
[14:36:05] <Avenger> magiccold and magicfire are crappy, there is only fire/cold damage
[14:37:00] <lynxlynxlynx> so the bg2 items that grant resistances against magic cold/fire grant it for normal fire too?
[14:39:50] <Avenger> i think if something only grants resistance against 'magic fire' but not against 'fire' it is not working at all
[14:40:28] <Avenger> i believe those 2 stats are simply ignored
[14:42:03] <lynxlynxlynx> interesting
[14:42:17] <fuzzie> should be easy to test.
[14:50:42] <Avenger> hehe, i ran the ini consistency checker on how and iwd2 too. HoW is full of crap too
[14:50:49] <Avenger> iwd2 is not so much
[14:51:25] <Avenger> a lof of how ini files assume that the 'enterspawn' section will be automatically used by the engine
[14:52:13] <fuzzie> without an 'enter' key?
[14:54:03] <Avenger> yes
[14:54:18] <Avenger> some has that line, but some doesn't
[14:54:29] <Avenger> their QA must be crappy
[14:55:00] <Avenger> no wonder, obsidian is issuing buggy games too :)
[14:56:08] <fuzzie> well, maybe they hacked it into the how engine :)
[14:56:22] <Avenger> hmm i take that back, only 2 files don't have that key, the massive output was caused by a separate error
[14:56:47] <Avenger> ar3000.ini is completely fubared
[14:58:28] <Avenger> ok going back to pst, i was just curious how compatible are the blackisle games with each other
[14:58:42] <Avenger> it seems they just added 1-2 new features to the pst version
[14:59:28] <fuzzie> the games are surprisingly compatible
[14:59:44] <Avenger> and no, they didn't hack the enterspawn into the engine
[14:59:54] <Avenger> the engine doesn't contain 'enterspawn' only 'enter'
[15:02:10] <fuzzie> ok. i don't have iwd1/how installed yet, so couldn't look.
[15:13:06] <-- Gekz has left IRC (Remote closed the connection)
[15:23:13] --> Gekz has joined #GemRB
[16:27:32] <fuzzie> Avenger: is there a way to trigger a movie on area exit from the baldur.bcs? i'll just hack an alternative otherwise, just wondering.
[16:27:52] <fuzzie> (so, movie *before* new area load)
[16:28:03] <Avenger> i didn't find any trigger that would work that way
[16:28:16] <Avenger> maybe Clicked
[16:28:45] <Avenger> but that is not the same
[16:29:04] <fuzzie> yes. never mind, i'll hook it to area entrance instead :)
[16:29:12] <Avenger> eww
[16:29:52] <fuzzie> the original engine does it in MoveToNewArea
[16:30:16] <fuzzie> and adding it *there* seems a much worse hack
[16:32:25] <Avenger> i would try to find a good trigger
[16:32:32] <Avenger> i mean, a script trigger
[16:32:46] <Avenger> Entered
[16:33:12] <fuzzie> i think there is no trigger which is set at the right time
[16:33:12] <Avenger> Entered is implemented only for traps, but it could be easily improved to work for travel regions
[16:33:19] <fuzzie> once Entered is set, it will already have done the area move
[16:36:15] <fuzzie> and at that point we're in the new area, and so we might as well just check area entrance :/
[16:37:07] <fuzzie> so it is annoying: it needs to happen as early as possible, but it must happen *after* the area has definitely been left, so checking Clicked is worthless :(
[16:38:51] <Avenger> well not necessarily after the area left, but after you cannot break leaving the area
[16:39:08] <fuzzie> yes :)
[16:39:35] <Avenger> on the other hand, why do you need this
[16:39:42] <fuzzie> for the mortuary leaving video
[16:39:53] <Avenger> yeah i know, but i'm not sure you need it
[16:40:16] <Avenger> is there any way to enter those destination areas (first) without using those exits?
[16:40:30] <fuzzie> no, which is why i said that i can just add the check to all the destination areas
[16:40:37] <Avenger> yes
[16:40:50] <Avenger> ahh you wanted that?
[16:40:51] <fuzzie> it is not ideal but it seems a much better solution than anything else
[16:41:46] <fuzzie> just wondering if there is a way to do it 'properly', but i think not
[16:42:31] <Avenger> it is not necessary to implement something hardcoded exactly the same way, just to look exactly the same is enough
[16:42:52] <fuzzie> well, this way it looks slightly different because the video plays after the 'loading' screen :) but other than that it is identical
[16:43:21] <Avenger> that's true, but that deviance happens even with the sigil video
[16:43:43] <fuzzie> the sigil video is fine, i think, apart from our failure to trigger scripts fast enough after an area move?
[16:44:18] <Avenger> yes, maybe an immediateevent would fix that
[16:44:21] <fuzzie> and the scripts being too slow is a problem in loads of areas already
[16:44:23] <Avenger> after moving to a new area
[16:44:50] <fuzzie> yes, it is on my list to experiment with, i just don't want to break any scripts :)
[16:45:37] <Avenger> 'check_view_port' is used in MANY spawn inis, but the exe contains only 'check_by_view_port'
[16:45:53] <Avenger> apparently it is a very useless feature :)
[16:46:05] <fuzzie> heh :)
[16:46:07] <Avenger> otherwise it would have been fixed
[16:46:19] <fuzzie> yes, it just makes it look a bit nicer, i suppose
[16:46:34] <Avenger> dunno what it is supposed to do
[16:46:49] <Avenger> don't spawn critters while they are seen?
[16:46:54] <fuzzie> i think so, yes
[16:47:03] <fuzzie> you wrote a comment somewhere wondering that too
[16:47:06] <lynxlynxlynx> i have a string with multiple tokens; should i resolve them with SetAtCopy, SetAt or a combination? Currently I'm using the first
[16:47:49] <fuzzie> probably SetAtCopy, yes, but it depends where/how i think
[16:48:15] <lynxlynxlynx> one doesn't free
[16:48:44] <lynxlynxlynx> but memory managment isn't my strongest point ;)
[16:48:55] <fuzzie> well, SetAtCopy makes a new copy, SetAt changes the string you have
[16:49:38] <fuzzie> so it depends where your strings came from
[16:49:46] <fuzzie> erm, not changes, uses the string you have.
[16:50:04] <lynxlynxlynx> so at the very least consecutives calls can use just At if they're not the first
[16:50:05] <Avenger> SetAt is used when you just allocated the string
[16:50:19] <Avenger> SetAtCopy is used when you need a new copy
[16:50:39] <Avenger> i believe you need a new copy everytime
[16:50:46] <lynxlynxlynx> i don't allocate it, just this token resolution and then displayX
[16:50:56] <fuzzie> then, yes, you need SetAtCopy :)
[16:51:07] <lynxlynxlynx> ok, thanks
[16:51:12] <Avenger> well, you will see if you screwed up in valgrind
[16:51:27] <fuzzie> SetAt is only useful when you already allocated a buffer for the value, maybe if you're changing it by sprintfing a number in
[16:51:28] <wjp> If you do SetAt(..., str), it will eventually call free(str);
[16:51:36] <fuzzie> because what wjp said.
[16:51:47] <wjp> if you don't want that, use SetAtCopy
[16:52:30] <fuzzie> so i guess "one doesn't free" is really the best summary after all, for using it :)
[16:52:41] <wjp> yes :-)
[17:06:43] <fuzzie> So, pathfinding only checks search map squares, but when actors walk *between* search map squares, it's (a) possible that their path will take them via a Pos which maps to a different search map square entirely and (b) quite possible that another actor will move into the destination search map square while they're moving into it.
[17:07:23] <fuzzie> If anyone has any ideas about solutions which can survive save/load cycles, I would like to hear.
[17:09:42] <fuzzie> My best idea is to keep track of search map squares in the actor while it is moving, 'snap' back to the previous square for saving purposes or when force-stopped, and then do the searchmap code on the basis of those vars and not Pos directly. But that's not really great.
[17:11:23] <Avenger> i don't have any ideas
[17:12:09] <Avenger> what do you mean by surviving save/load cycles?
[17:13:31] <fuzzie> Well, if we save a game and load it again, the search map has got to be OK despite the fact we lost any custom variables in the Actor class.
[17:14:05] <Avenger> the dynamic part of the searchmap is updated (and not saved)
[17:14:21] <lynxlynxlynx> there's a BumpNPC action or effect and I bet it was used for bumping npcs out of the way
[17:14:40] <fuzzie> yes, but we have to recreate it at load time, and we only have the actor Pos to work out which search squares an actor is meant to cover..
[17:15:00] <Avenger> fuzzie: i thought that is enough :)
[17:15:27] <Avenger> you got the actor's personal space size too
[17:15:56] <Avenger> position+circle size are enough to set up the dynamic search map
[17:15:57] <fuzzie> Well, it *should* be, but it doesn't work right now. :(
[17:16:14] <fuzzie> And it is either the pathfinder not being clever enough or the search map code doing something stupid.
[17:16:43] <Avenger> what's the exact problem?
[17:17:05] <fuzzie> well, the easiest symptom to see is that actors end up on top of each other if they're moving diagonally at the same time
[17:17:06] <Avenger> because the dynamic searchmap was crippled intentionally at one time
[17:17:21] <fuzzie> ah, maybe i should take a closer look..
[17:17:38] <fuzzie> I think at the moment it is just letting actors far too close to each other.
[17:20:10] <Avenger> ctrl-8 would display the searchmap, do you use that debug feature?
[17:20:18] <fuzzie> yes, it is very helpful!
[17:21:00] <Avenger> maybe the pathfinder doesn't check the actor's personal space
[17:21:07] <Avenger> it just checks if the center point is free
[17:21:23] <Avenger> that means, a dragon would fit through a narrow passage :)
[17:21:26] <fuzzie> well, it is passed a 'size' parameter which is passed down onto GetBlocked
[17:21:32] <Avenger> hmm ok
[17:21:36] <Avenger> then i'm clueless
[17:21:56] <fuzzie> ok, i found the bug i think
[17:22:12] <Avenger> most likely it is just a little bug, and everything is already implemented then :)
[17:22:33] <fuzzie> yes, i think the pathfinder code is actually fine, there are just bugs there
[17:25:00] <Avenger> omg: i just read on the net: in poland a 84 years old woman woke up in the mortuary, she was already declared dead
[17:25:41] <fuzzie> Scary.
[17:25:44] <Avenger> i wonder who was more scared, she or the mortuary worker who noticed she is moving in the bag
[17:34:14] <lynxlynxlynx> got 404MXP for killing an orc archer in iwd2
[17:35:36] <fuzzie> you managed to actually kill something in iwd2? better luck than i've had with combat there :/
[17:36:34] <lynxlynxlynx> i was trying manually, but the a lightning strike took its turn ;)
[17:38:45] <Avenger> 404m?
[17:39:24] <lynxlynxlynx> million
[17:39:42] <Avenger> you can make some projectiles work in iwd if you copy the .pro files from bg2 :)
[17:40:02] <fuzzie> Avenger: and make a new projectl.ids?
[17:40:06] <Avenger> yes
[17:40:20] <fuzzie> i have some unfinished code for a gemrproj.ids, which is merged with the list
[17:40:25] <fuzzie> i just need to finish it
[17:40:32] <Avenger> yeah
[17:40:40] <Avenger> i'm back to my spawn ini checker
[17:40:44] <Avenger> pst is done
[17:40:46] <fuzzie> or for someone else to i guess :)
[17:40:48] <Avenger> moving to iwd
[17:41:08] <fuzzie> did you find anything we might need to deal with in gemrb, or just stuff for the fixpack to fix?
[17:41:09] <Avenger> well, zefklop said he would work on projectiles :D
[17:41:36] <Avenger> the only thing we might want to consider is that viewport thing i mentioned
[17:41:54] <Avenger> none of the original files use the right key :D
[17:42:18] <Avenger> and a lot of them use the wrong key
[17:42:38] <fuzzie> heh, i guess someone should try it in the original engine and see
[17:43:14] <Avenger> if i don't find this key in how/iwd2 in any form, we can safely ignore it
[17:43:42] <Avenger> i'm not going to implement something that is not trivial and only hinted at by the originals :)
[17:44:23] <fuzzie> it doesn't seem useful for modders anyway
[17:48:08] <Avenger> the spawn_select key is used only in ar1600
[17:51:17] <Avenger> i think i noticed a small bug in our IniSpawn, if the spawn points are rightfully separated by commas, it doesn't skip the comma. because i expected no comma between the points
[17:51:48] <Avenger> near line 226 in IniSpawn.cpp
[17:51:52] <Avenger> it is easy fix
[17:51:59] <Avenger> if(*s==',') s++;
[17:52:26] <fuzzie> wow, i was going to suggest to gog.com that they add planescape torment to their wishlist of old games to sell online. but it is already on their user wishlist, with 5283 votes..
[17:52:39] <Avenger> hehe
[17:52:54] <wjp> ooh, let me add a vote to that :-)
[17:53:06] <fuzzie> (gog.com do downloadable versions of old games, without DRM or anything, so could be useful for gemrb users)
[17:53:26] <fuzzie> http://www.gog.com/en/wanted/ if anyone has an account but i don't think it needs more votes at that position really :-)
[17:53:51] <wjp> sure it does :-)
[17:54:21] <Avenger> i wonder how many unique and potential buyers are behind that number :)
[17:55:31] <Avenger> hmm, i swear i had an account somewhere
[17:56:02] <Avenger> maybe on linux
[17:56:39] <Avenger> wjp while are you there, click a vote on BG2 too
[17:58:40] * wjp clicks on ToB too
[18:15:23] <CIA-2> gemrb: 03lynxlupodian * r6417 10/gemrb/trunk/gemrb/ (9 files in 8 dirs): improved combat message display
[18:15:59] <fuzzie> yay
[18:16:30] <lynxlynxlynx> that's just the basics, seems we have multiple problems
[18:17:00] <fuzzie> anything i could fix?
[18:17:09] <lynxlynxlynx> the ones mentioned as TODO, same coloring for actor names, extra output (efftext.2da damage), no names for critical hits/misses
[18:17:41] <lynxlynxlynx> i'm sure you could fix everything, but the one most to your liking or abhorence is the pst display ;)
[18:18:12] <fuzzie> the pst display is going to have to wait for my overheadtext patch anyway, i guess :/
[18:19:19] <fuzzie> hehe comparing with core->GameType is sort of horrid :)
[18:19:33] <lynxlynxlynx> yeah
[18:19:47] <fuzzie> great to have the code there, though
[18:22:05] <Avenger> gametype, bleah
[18:22:23] <lynxlynxlynx> we don't have a better way of checking, do we?
[18:22:51] <Avenger> strrefs in code?
[18:22:58] <lynxlynxlynx> iwd2 and pst could be done through game features
[18:23:00] <Avenger> why not in strings.2da
[18:23:47] <lynxlynxlynx> i could add them
[18:23:57] <Avenger> if you store strrefs in the 2da you can also solve the gametype part :)
[18:24:10] <lynxlynxlynx> how?
[18:24:13] <fuzzie> Avenger: the gametype code uses strrefs from strings.2da
[18:24:15] <Avenger> simply use -1 when the strref is not needed
[18:24:38] <lynxlynxlynx> yes, but the games have different strrefs for the same circumstance in some cases
[18:24:39] <fuzzie> it's only Actor::Damage that hardcodes them, because those strrefs are the same in every game
[18:25:02] <lynxlynxlynx> unless you meant adding also some extras instead of the switches
[18:25:23] <lynxlynxlynx> fuzzie: actually those are only in how and iwd2
[18:25:47] <Avenger> i see damagetype strref is used in how and iwd2
[18:25:56] <Avenger> so, you define those only in how and iwd2
[18:25:58] <fuzzie> hm
[18:26:06] <fuzzie> the strrefs shouldn't really be in Actor::Damage at all in that case
[18:26:07] <Avenger> both the hardcoded strref and the gametype problem solved
[18:26:41] <fuzzie> anyway, i still think it is nice to have any code at all :)
[18:26:58] <lynxlynxlynx> at least for how/iwd2
[18:27:19] <lynxlynxlynx> to differentiate the others more comparisons would be needed
[18:27:42] <fuzzie> i wouldn't worry about PS:T, it will have a gamefeature test
[18:27:42] <lynxlynxlynx> pst has all the damage string as -1
[18:27:52] <fuzzie> yes indeed :)
[18:27:58] <fuzzie> just ignore pst for now, i would suggest
[18:28:46] <lynxlynxlynx> ok
[18:29:50] <fuzzie> pst needs special-casing all over the place with a GF_FLOATMESSAGES or similar
[18:32:39] <fuzzie> I'm a bit torn between fixing bg2 and fixing pst, they both have a lot of potential. but instead today I am learning about sql query optimisers, alas :)
[18:35:10] <Avenger> iwd and how don't have anything added to the capabilities of the pst inispawn :)
[18:35:18] <Avenger> lets see iwd2 now
[18:35:29] <fuzzie> iwd2 seems like the best-written of all the engines
[18:36:04] <Avenger> iwd2 renamed the scripts
[18:36:22] <Avenger> and has a more complex variable based spawning
[18:36:32] <Avenger> i think i implemented those already
[18:37:26] <fuzzie> yes, i think you did
[18:37:32] <fuzzie> i didn't understand but i noticed when bugfixing pst :)
[18:39:46] <Avenger> i wish pst was implemented by more technically adept people. It is ugly inside, but nice outside.
[18:40:07] <fuzzie> Well, apparently the programmers did not have enough time.
[18:40:29] <Avenger> but they had a lot of good ideas
[18:40:31] <fuzzie> They had to rush a lot of the code towards the end.
[18:40:54] <Edheldil> it's in the interview with Avalone
[18:40:59] <fuzzie> Edheldil: url? :)
[18:41:32] <fuzzie> oh, right, that one.
[18:43:16] <fuzzie> I think I found out just by reading forum/usenet posts from them.
[18:45:59] <Edheldil> I think it was this one: http://www.gamebanshee.com/interviews/pstrevisitedavellone1.php
[18:46:06] <Avenger> ok, i think all used features are implemented already
[18:46:51] <Edheldil> I love this quote from another one: Lisa: Planescape: Torment has an estimated 800,000 word count. That's equal to reading the first six books of the Harry Potter series
[18:47:54] <fuzzie> Avenger: Qwinn says the game engine seems to handle the dots, by the way
[18:48:08] <Avenger> dots or commas?
[18:48:13] <fuzzie> the dots.
[18:48:25] <Avenger> i didn't ask about dots :)
[18:48:39] <fuzzie> well, you said that they used dots instead of commas in some places, and he says that the dots work fine
[18:48:48] <fuzzie> go read it, i guess :)
[18:49:27] <Avenger> that's about commas :)
[18:50:10] <Avenger> so, hmm, they points could be specified with dots and commas too
[18:50:19] <Avenger> at least that's what he says :(
[18:50:44] <fuzzie> aren't points in scripts sometimes specified with dots and sometimes with commas? i thought so
[18:51:01] <Avenger> no, always dots
[18:51:07] <Avenger> and we have this: if (sscanf(s,"[%d.%d:%d]", &x, &y, &o)==3) {
[18:51:18] <Avenger> it is dots too :(
[18:51:52] <Avenger> we should double check this, i already hate the code complexity for parsing the spawnpoint
[18:52:06] <Avenger> sometimes it contains the orientation, sometimes don't
[18:52:22] <Avenger> sometimes multiple points are separated by commas, sometimes not
[18:52:54] <fuzzie> not so hard to test, just fiddle with the spawns in AR0202 and start a new game :)
[18:55:27] <Avenger> ok, i replace all of them with ,
[19:04:26] --> barra_away has joined #gemrb
[19:11:39] <lynxlynxlynx> Unnamed palette, it should be enchah1!
[19:11:41] <lynxlynxlynx> Aborted
[19:13:32] <fuzzie> i guess that is for Avenger :)
[19:14:42] <lynxlynxlynx> i was just about to say "of course, when i start it in gdb, i can't reproduce it"
[19:15:25] <lynxlynxlynx> but then i got lucky :)
[19:15:28] <lynxlynxlynx> Avenger: http://pastebin.ca/1459184
[19:17:28] <CIA-2> gemrb: 03lynxlupodian * r6418 10/gemrb/trunk/gemrb/ (8 files in 8 dirs): moved the damage type strrefs into the strings table
[19:18:01] <lynxlynxlynx> i wonder what's so cool about illasera's blindness vs the one from the imps in soa
[19:18:24] <fuzzie> take a look at her script/spells in dltcep?
[19:18:26] <lynxlynxlynx> the imps have what you would expect from the spell - the visibility is limited to 3 feet
[19:18:47] <lynxlynxlynx> illasera's makes fog of war cover everything
[19:19:00] <lynxlynxlynx> that's why i think you can't attack anymore, since stuff is out of sight
[19:19:02] <fuzzie> i'm sure it's a bug :)
[19:19:14] <wjp> ugh, that named/unnamed palette stuff should be refactored out
[19:19:58] <-- barraAway has left IRC (Read error: 110 (Connection timed out))
[19:21:02] --> zefklop has joined #gemrb
[19:21:17] <fuzzie> hi, zefklop
[19:21:20] <zefklop> hi everybody
[19:21:22] <wjp> the reason for that mismatch is probably ScriptedAnimation::GetPaletteCopy
[19:22:14] --- barra_away is now known as barra_library
[19:22:29] <Avenger> SPIT000.spl ???
[19:22:30] <fuzzie> zefklop: i think your r6322 made death twitching animations happen forever, but i am not sure, do you think it is possible that it is to blame?
[19:22:48] <Avenger> that is surely an invalid spell name :)
[19:23:04] <zefklop> I'll check
[19:23:26] <lynxlynxlynx> iwd2 with orcs
[19:23:28] <fuzzie> zefklop: i don't understand the code, maybe you do :)
[19:24:16] <zefklop> fuzzie: eh, quite double checking somewhere...
[19:24:28] <zefklop> the charanimations part seems odd to me
[19:24:40] <lynxlynxlynx> good night, waking at 0500 tommorow >>
[19:24:47] <fuzzie> lynxlynxlynx: ninight
[19:24:59] <-- lynxlynxlynx has left IRC (Remote closed the connection)
[19:25:00] <zefklop> good night
[19:25:27] <fuzzie> yes, if i revert the CharAnimations bit then it seems ok, but i really don't understand the code yet
[19:25:34] <fuzzie> so i thought i would wait and ask you :)
[19:25:52] <Avenger> enchah1 seems to be a non existent resource
[19:26:01] <Avenger> is this in iwd2?
[19:26:02] <zefklop> I'll revert it, this was experimental bits I commited erroneously
[19:26:06] <fuzzie> Avenger: yes
[19:26:13] <fuzzie> zefklop: thanks :)
[19:26:20] <Avenger> it seems to be the enchantment spell hit graphics
[19:26:30] <wjp> Avenger: one bug in ScriptedAnimation is that GetPaletteCopy doesn't clear PaletteName
[19:26:44] <Avenger> yes, that could be a cause for this
[19:27:59] <Avenger> but.. SPIT000.spl is not correct
[19:28:34] <wjp> is it safe to do so? ScriptedAnimation::Override checks PaletteName
[19:28:35] <Avenger> it is what the spellnumber to resref translater would give for a 0
[19:29:22] <fuzzie> Avenger: did you check the dots/commas for spawns?
[19:29:42] <Avenger> yes, it seems the original engine truly accepts both
[19:29:50] <Avenger> which sucks
[19:29:52] <fuzzie> ok, drat :)
[19:34:18] <Avenger> back to the palette crash
[19:34:31] <Avenger> i think it is because a nonexistent palette resref was supplied
[19:35:43] <Avenger> enchah1 is 'enchantment hit' i think. the 1 is probably there because for some casting graphic/spell hit graphic there is a palette override. (like shair1/shair2)
[19:36:29] <Avenger> btw, these should be projectiles too
[19:36:57] <Avenger> all spell hit/cg graphics are projectiles, so those 2da's will be obsolete eventually
[19:37:21] <fuzzie> oh fun :)
[19:37:45] <Avenger> i mean cgtable.2da, for example
[19:37:53] <fuzzie> projectiles that the engine should create on-the-fly, or are there pro files?
[19:38:21] <Avenger> they are hardcoded even in bg2
[19:38:31] <Avenger> but we will have .pro for every projectile
[19:38:50] <Avenger> they will need that 'no travel path' bit i already specified
[19:38:51] <fuzzie> having them moddable is much nicer :)
[19:39:00] <CIA-2> gemrb: 03zefklop * r6419 10/gemrb/trunk/gemrb/plugins/Core/CharAnimations.cpp: revert erroneous part of r6322. attack animations should be played only once.
[19:39:25] <zefklop> this should work as expected now :)
[19:45:32] <Avenger> probably i should just replace all dots with commas before parsing Inispawn?
[19:46:03] <Avenger> it seems the engine accepts both in all over the .ini
[19:48:15] <fuzzie> well, if you parse points with commas then it is maybe the easy way :)
[19:50:06] <Avenger> the problem is that sometimes it lists points separated by commas too :)
[20:19:48] <fuzzie> perhaps easier to just check
[20:40:51] <-- zefklop has left IRC ("ChatZilla 0.9.75.1 [SeaMonkey 1.1.16/2009040306]")
[21:08:21] <fuzzie> ok, so hovering over enemies now gets me a no-entrance cursor and not an attack one
[21:08:50] <fuzzie> maybe target_mode is broken
[21:13:11] --> mattinm1987 has joined #GemRB
[21:15:14] <-- mattinm has left IRC (Read error: 110 (Connection timed out))
[21:36:10] <fuzzie> Avenger: you checked the fixpack version of the dakkon dialog?
[21:36:37] <fuzzie> i thought that one was fixed
[21:42:39] <fuzzie> ALTER_TRANS DDAKKON BEGIN 238 END BEGIN 2 END BEGIN "REPLY" ~#59470~ END
[21:42:43] <fuzzie> ^- with that, specifically
[21:44:00] <fuzzie> that changes the second strref to be "I had some other questions about our travels..."
[21:47:21] <fuzzie> okay, if Avenger is not around i will put this on the forum to stop people from being confused :)
[21:47:54] <Avenger> i thought got the fixpack
[21:48:21] <fuzzie> maybe you have an old one?
[21:48:32] <Avenger> no, i think they screwed the wrong entry :)
[21:48:58] <fuzzie> it looks like the right one to me; second reply to node 238
[21:49:31] <fuzzie> but i don't have the fixpack installed
[21:50:34] <fuzzie> if i run that in weidu it seems to fix my copy fine..
[21:50:48] <Avenger> hmm, interesting
[21:50:55] <Avenger> yes, it would fix mine too
[21:51:40] <Avenger> which fixpack version is that
[21:52:29] <fuzzie> Qwinn Fixpack 3.02
[21:56:07] <Avenger> it seems i had only the bg2 fixpack, i downloaded the pst one, but never applied
[21:56:13] <fuzzie> there are a lot of unreleased fixes, too
[21:56:24] <fuzzie> there's a huuuuge thread of them, including some of the ones you found, now
[21:59:00] <fuzzie> but it depends on engine changes which aren't made for gemrb, so it is not ideal right now
[21:59:26] <fuzzie> we should just have a fixpack-compatible mode, probably
[22:05:01] <Avenger> what are those engine patches
[22:05:16] <fuzzie> for instance, the morale stat code is rewritten
[22:05:42] <fuzzie> it adds a 'max morale' stat (in an unused stat, written to savegames) which is modified by actions
[22:05:51] <fuzzie> and then when morale is reset, it is reset to max morale, not 10
[22:06:13] <Avenger> oh, hmm
[22:06:15] <Avenger> i see
[22:06:28] <Avenger> what about saved games
[22:06:30] <fuzzie> and there are various other invasive things which break compatibility a bit
[22:06:53] <Avenger> i guess a saved game will have 0 in that stat :)
[22:07:05] <fuzzie> yes, for non-fixpack savegames
[22:07:21] <Avenger> lol, my dakkon will be very low morale then
[22:08:17] <fuzzie> yes, i think the readme suggests that you shouldn't apply the fixpack in the middle of a game
[22:08:43] <Avenger> well, we can make our loader to set the maximum stat only if the saved field is not 0
[22:08:54] <fuzzie> hm, what else? lots of bugfixes to the exe, an added usability check for changing alignment/faction to stop you from using items you're not allowed to
[22:09:12] <Avenger> huh?
[22:09:36] <Avenger> there are items based on faction, and without bits originally?
[22:09:39] <fuzzie> no
[22:09:46] <fuzzie> but if you change faction, then you can keep the equipped items
[22:09:56] <Avenger> ah, until reequip?
[22:10:04] <fuzzie> yes. the fixpack force-unequips.
[22:10:14] <Avenger> that's nice, and we can do that in script :)
[22:10:18] <fuzzie> the fixpack also patches pickpocketing so it calls PickPocketFailed when it fails
[22:10:47] <fuzzie> well, they don't have a global script to change :)
[22:11:08] <Avenger> i meant gui script, actually
[22:11:12] <fuzzie> they change BashDoor() so that you are required to have the prybar, i don't know why, i think that was the designer attention
[22:11:22] <fuzzie> designer intention, i mean
[22:11:39] <Avenger> well, those are not bothering us too much
[22:11:51] <Avenger> the stat change is the toughest
[22:11:59] <fuzzie> they add a *horrible* hack to secret doors so that they're only visible if KNOW_TIRESIAS is set
[22:12:09] <Avenger> ????
[22:12:31] <fuzzie> there is only one secret door in the game, and the original engine is not capable of hiding them
[22:12:55] <fuzzie> anyway, that is all, it is mostly a lot of bugfixes which we will include anyway.
[22:13:19] <Avenger> we definitely won't hack in a hardcoded variable :)
[22:13:22] <fuzzie> i just listed the things which we will not include anyway :)
[22:13:42] <fuzzie> well, i'm sure we can work out a better way to do the secret door :P
[22:14:08] <Avenger> yes
[22:16:40] <fuzzie> the engine hacker said he'd write some detailed notes about the morale thing, to help gemrb
[22:17:03] <fuzzie> and it looks like that's the only thing we need, i guess.
[22:17:28] <Avenger> oki
[22:18:40] <fuzzie> i wonder if the pickpocketing thing is a problem
[22:19:30] <Avenger> i think pickpocketing already sets the pickpocketfailed trigger, in gemrb
[22:19:52] <fuzzie> the original engine sets AttackedBy
[22:20:06] <fuzzie> apparently a lot of scripts fail if you don't, the fixpack rewrites them all
[22:20:19] <fuzzie> but maybe that is not true, i didn't look
[22:20:34] <Avenger> we do: tar->LastOpenFailed=snd->GetID();
[22:20:37] <fuzzie> no, that is true.
[22:20:42] <fuzzie> it is the same for bg1 and bg2.
[22:20:56] <fuzzie> you must set AttackedBy or else all the scripts fail.
[22:21:11] <Avenger> heh
[22:21:26] <fuzzie> We should make it an ini option and have the fixpack turn it on, I guess.
[22:21:35] <Avenger> yes
[22:22:12] <Avenger> i don't like that pickpocket would be the same as an attack, it should be decided by the script if it is an attack or not
[22:22:23] <fuzzie> yes, that's why they patched the exe :)
[22:22:45] <fuzzie> someone did a patch for ToB too, but no-one wrote a script patcher yet, because it's complicated (you must patch every mod too)
[22:23:30] <Avenger> i don't know how could an automated code patch the scripts
[22:23:45] <Avenger> changing all AttackedBy is not a good solution
[22:27:06] <fuzzie> they're trying to patch all non-party neutral humanoids, and they just add a PickpocketFailed check to the top of their scripts, i think
[22:28:29] <Edheldil> good night
[22:28:33] <-- Edheldil has left IRC ("Really?")
[22:31:53] <fuzzie> http://www.shsforums.net/index.php?showtopic=39276&st=20 is the ToB thread
[22:54:53] <Avenger> so did you add the shadow movie?
[22:55:43] <fuzzie> no, i wrote the script but didn't test it, go ahead and do it if you want
[23:00:57] <Avenger> no, what i want is sleep :D
[23:01:09] <Avenger> see you!
[23:01:16] <-- Avenger has left IRC ("ChatZilla 0.9.84 [Firefox 3.0.11/2009060215]")
[23:01:38] <fuzzie> hehe, that is probably a good choice
[23:13:21] <CIA-2> gemrb: 03fuzzie * r6420 10/gemrb/trunk/gemrb/override/pst/baldur.bcs: play shadow movie when entering AR0200/AR0206 (original engine did this at AR0201 exits to those areas)