#gemrb@irc.freenode.net logs for 11 Jan 2013 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:30:37] <brada> i would have wasted a lot less time then i had if i had bothered to realize big5 was big endian.
[00:30:46] <brada> probably why they call it "big" 5
[00:31:01] <chiv> heh..
[00:31:11] <brada> wondering why the hell iconv was giving me the wrong chars
[00:32:03] <brada> the important thing is i have success
[00:32:28] <-- kida has left IRC (Ping timeout: 246 seconds)
[00:32:48] <brada> one queer problem that i havent looked into is that all the button test is in the bottom left
[00:33:12] <brada> maybe i killed something in my double byte conversion...
[00:33:26] <brada> i should try with english and see where the text is
[00:33:40] <chiv> just the buttons?
[00:33:45] <brada> yes
[00:33:45] <brada> well
[00:33:54] <brada> i havent looked anywhere but the main screen
[00:35:35] <brada> i dont know if fuzzie meant to say "not" but ucs is the encoding that worked...
[00:35:53] <brada> ucs-2
[00:38:14] <chiv> hah, i think i remember the word not...
[00:38:52] <brada> ah
[00:39:03] <brada> well turns out that UTF-16 doesnt work
[00:39:09] <brada> but UTF-16LE does :)
[00:39:34] <brada> dont know why it doesnt error with UTF16… its not just assuming BE there.
[00:39:45] <brada> it doesnt do any conversion with it
[00:40:09] <brada> well enough of this for today
[00:40:17] <brada> i have all the individual pieces working
[00:40:24] <brada> just got to glue them together
[00:40:29] <brada> minus the bam stuff i mean
[00:40:35] <edheldil_> heh
[00:41:24] <brada> ill try to work on a patch this weekend
[00:41:27] <chiv> to be honest, you made it look a lot easier than i thought it would be...
[00:41:50] <brada> well the bam stuff may prove difficult
[00:42:06] <brada> that original chinese patch might come in hand figuring that out
[00:42:29] <brada> to be fair freetype is doing the heavy lifting ;)
[00:42:48] <chiv> you can send me some glyphs and I'll track down what frame indexes they are, if that will help you find the pattern
[00:42:50] <brada> im not doing jack other than calling iconv to convert BIG5 to UTF
[00:43:24] <brada> i dont think that will be necessary
[00:43:36] <brada> it should map pretty well to the big5/gbk table
[00:43:42] <chiv> hopefully
[00:43:45] <edheldil_> we could avoid iconv dependency by shipping our own tables if we really wanted
[00:43:48] <brada> i cant imagine it not
[00:44:15] <chiv> you could always send screenshots to that chinese site as well, and ask if they are correct
[00:44:22] <brada> iconv is only necissary some of the time
[00:44:47] <brada> and really im only using it because we couldnt find a ttf font with big5 or GBK
[00:45:05] <brada> so if you want to do the tables be my guest
[00:45:28] <chiv> heh, i would have no idea what to do
[00:45:39] <brada> ed is the expert here
[00:45:42] <edheldil_> chiv: when I tried with cp9xx, it translated all chars and the result was translatable to english, so I do not think there will be problems
[00:45:56] --- ermo^ is now known as ermo
[00:46:38] <chiv> i would imagine that if the only chinese fonts we can find are unicode, then that is the prevailing format anyway....
[00:47:02] <brada> the problem is the tlks are in various encodings
[00:47:20] <brada> im not willing to write a bunch of tables either
[00:47:27] <brada> somebody else can if they want
[00:47:32] <edheldil_> do you have a simplified one? I have just the traditional one, I think
[00:47:37] <brada> both
[00:47:53] <chiv> edheldil_: go back a bit in the log, i posted a link
[00:48:10] <chiv> 23:04
[00:48:45] <edheldil_> and now is for you?
[00:48:59] <chiv> 00:48
[00:49:01] <chiv> doh
[00:49:04] <brada> since its rarely needed i would jsut as soon #ifdef iconv
[00:49:04] <chiv> er
[00:49:14] <chiv> i can't believe I didnt think of that
[00:49:15] <brada> im gonna go home now bbl
[00:49:17] <-- brada has left IRC (Quit: brada)
[00:49:31] <edheldil_> ok, I have dled that one to the other comp :)
[00:49:58] <chiv> it would be good to have an online collection....
[00:50:44] <chiv> bg is actually great for studying languages, since it forces you to understand or die :)
[00:52:13] <edheldil_> I have a collection, just not an online one :)
[00:52:30] <chiv> i know there are a few, but they are so scattered...
[00:52:43] <edheldil_> yeah
[00:52:53] <edheldil_> there must be much more
[00:52:57] <chiv> aerie.ru, trow.cc are the ones that i know of
[00:53:30] <edheldil_> I imagine there must be a hebrew one
[00:53:47] <edheldil_> or maybe not
[00:55:04] <chiv> which ones do you know of? i know of french, german, spanish, czech, polish, chinese, japanese
[00:56:16] <edheldil_> korean
[00:57:13] <chiv> i like han gul... cant understand korean though...
[00:57:30] <chiv> do you have a link?
[00:58:27] <edheldil_> btw - feel free to add here: http://www.gemrb.org/wiki/doku.php?id=engine:encodings
[00:58:28] <Seniorita> engine:encodings [GemRB wiki]
[00:58:44] --- ermo is now known as ermo^
[01:00:01] <edheldil_> no, just have a file
[01:02:52] <edheldil_> if you know about the links for french, spanish or german ... I guess there are not as they are not fan made?
[01:04:11] <edheldil_> btw, han unification in unicode was a nice flamebait :)
[01:04:15] <edheldil_> good night
[01:05:34] <-- edheldil_ has left IRC (Quit: Really?)
[01:07:12] <chiv> edheldil, in case you read the log, french german and spanish ones can be extracted from their patches I think...
[01:07:19] <chiv> since they are official
[01:08:45] <chiv> whats the problem with han unification anyway?
[01:09:27] <chiv> most of the chinese / japanese / korean uses of the glyphs are exactly the same
[01:10:15] <chiv> the only huge change is simplified vs traditional, which is sort of equivalent to shorthand vs longhand
[01:10:46] <Seniorita> [wiki] engine:encodings - mention chinese bg2 versions http://www.gemrb.org/wiki/doku.php?id=engine:encodings&rev=1357866490&do=diff
[01:11:43] --> brada has joined #gemrb
[01:14:55] <chiv> and anyway, unicode has seperate points just for the regional variant glyphs
[01:16:00] <brada> thats why its called unicode ;)
[01:20:53] <chiv> indeed, just that its not necessary to have different points for the entire set of glyphs in each language, and it would make it harder for international communication between them anyway...
[01:22:18] <brada> the sets obviously arent for languages
[01:22:24] <brada> since many languages share
[01:23:22] <chiv> well.. unless he meant some other sort of flamebait and it just went woosh over my head...
[01:24:11] <brada> dont ask me i want here
[01:29:39] --> CamDawg has joined #gemrb
[01:59:51] <-- CamDawg has left #gemrb
[02:09:13] <-- brada has left IRC (Quit: brada)
[02:17:45] <-- duckpunch has left IRC (Read error: Connection reset by peer)
[02:34:09] --> brada has joined #gemrb
[02:57:21] --> CamDawg has joined #gemrb
[02:57:30] <-- CamDawg has left #gemrb
[03:26:40] --> CamDawg has joined #gemrb
[03:57:49] --> Canageek has joined #gemrb
[04:44:11] <-- brada has left IRC (Quit: brada)
[04:51:23] <chiv_> lynxlynxlynx: https://github.com/chilvence/gemrb/commits/mergezone
[04:51:25] <Seniorita> Commit History · chilvence/gemrb · GitHub
[04:52:01] <chiv_> unfortunately, I was well into it before you commited my other little patch, so you may need to undo that one if you merge...
[04:53:19] <chiv_> i did rebase it off e27319bce17ff53d44bc2ae4b700abecb894a247 though (the news bump)
[05:13:44] <chiv_> it might also interest you to check out my nearly finished resolution - handling torment patch at https://github.com/chilvence/gemrb/commits/farscreen
[05:13:45] <Seniorita> Commit History · chilvence/gemrb · GitHub
[05:14:28] <chiv_> it's only 7 or 8 small commits, but it gives people a chance to use hi-res without having to futz with weidu
[05:15:31] <chiv_> the only small problem I am having is with the mage/priest spell screens, I dont know how to stop the mouse clicking passing through the window background onto the game screen...
[05:59:06] --- ermo^ is now known as ermo
[06:01:12] --- ermo is now known as ermo^
[06:10:03] <-- chiv has left IRC (Ping timeout: 245 seconds)
[06:28:55] --> tschiv has joined #gemrb
[07:10:59] <-- Canageek has left IRC (Ping timeout: 255 seconds)
[07:20:10] --> miha has joined #gemrb
[07:31:59] --> CamDawg1 has joined #gemrb
[07:33:30] --> CamDawg2 has joined #gemrb
[07:33:53] <-- CamDawg1 has left IRC (Read error: Connection reset by peer)
[07:33:58] <-- CamDawg has left IRC (Ping timeout: 252 seconds)
[07:42:37] <-- CamDawg2 has left IRC (Quit: Leaving.)
[08:29:58] --> fizzle has joined #gemrb
[08:39:04] <edheldil> chiv_: http://en.wikipedia.org/wiki/Han_unification#Rationale_and_controversy, but there's not much about it there
[08:39:06] <Seniorita> Han unification - Wikipedia, the free encyclopedia
[08:53:56] --> lynxlynxlynx has joined #gemrb
[08:53:56] <-- lynxlynxlynx has left IRC (Changing host)
[08:53:56] --> lynxlynxlynx has joined #gemrb
[08:53:56] --- ChanServ gives channel operator status to lynxlynxlynx
[09:37:42] --> WingedHussar has joined #gemrb
[09:57:49] <Seniorita> [commit] Jens Granseuer: properly align area icons and clickable regions on the world map http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=8b9e64fe44c1c3301acf6d99dcf30a382619a797
[09:59:05] <lynxlynxlynx> nice!
[10:02:11] <fuzzie> edheldil: (?!?)
[10:24:14] <edheldil> fuzzie: eh? looks like an 'ass' emoticon to me? :)
[10:32:31] <tschiv> is there any way to check if a window exists or not? I have a problem where I think the window has been killed but the python global still points to it and mess up my script
[10:33:24] <tschiv> its been giving me a headache....
[10:36:01] <tschiv> but woo i just found a workaround...
[10:37:25] <lynxlynxlynx> sometimes the scripts don't set them to None
[10:37:53] <lynxlynxlynx> so if it somewhere just checks the window var/object, things can go wrong
[10:38:10] <lynxlynxlynx> usually this is done only on open/close, so it's not that important
[10:38:18] <lynxlynxlynx> but anywhere else, care must be taken
[10:38:34] <tschiv> ah, i think i have stumbled here because I use Createwindow
[10:38:54] <tschiv> everything was fine until I load a game
[10:39:04] <tschiv> (for the second time)
[10:48:24] <lynxlynxlynx> sounds like you fell into the same trap - did you unload and/or clear the object?
[10:50:05] <tschiv> no, not sure how to unload the window either
[10:50:33] <tschiv> or where the best place to do that is...
[10:58:22] <Seniorita> [commit] Jens Granseuer: highlight area icon on mouseover http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=5e8eb7f085f5e61c26376702a61762272f20917d
[10:58:31] <lynxlynxlynx> .Unload()
[11:00:17] <tschiv> hah... sometimes i wish i would think more
[11:03:30] <-- chiv_ has left IRC (Quit: Page closed)
[11:03:37] --- tschiv is now known as chiv
[11:11:34] <chiv> you wont be excited to hear, that there is a new bug introduced to bg2 spellcasting in getusablememorizedspells
[11:15:20] <chiv> right im off out...
[11:15:30] <-- chiv has left IRC (Quit: Page closed)
[11:52:24] <fizzle> how does one update th python docs?
[11:53:16] <fizzle> and where does the MD5 come from?
[11:53:49] <lynxlynxlynx> there is a perl script in admin/ i think, but long unused
[11:53:55] <edheldil> fizzle: yeah
[11:53:55] <lynxlynxlynx> most docs don't have the hash
[11:53:57] --> kida has joined #gemrb
[11:54:35] <edheldil> I would prefer the docs being in the Module only and generated from there
[11:54:56] <fizzle> GetDestinationArea has one but it doesn't match
[11:55:21] <lynxlynxlynx> just do it manually for now
[11:55:31] <lynxlynxlynx> i agree that we need a more sensible approach
[11:55:35] <fizzle> and remove the hash?
[11:55:41] <lynxlynxlynx> sure
[11:55:57] <edheldil> yeh, that was a tool to find docs geting out of sync
[11:56:14] <edheldil> fizzle: or update it :-p
[11:56:47] <lynxlynxlynx> it's a nice and simple task for a new contributor, when we get one
[11:56:55] <fizzle> I don't even know what it's generated from..
[11:57:08] <lynxlynxlynx> go over the whole cpp and check if the docs match, converting them to dokuwiki syntax
[11:57:32] <lynxlynxlynx> plumbing
[11:57:50] <edheldil> "... docs match" <-- here is the snatch, though - you have to check that the implementation matches
[11:58:24] <lynxlynxlynx> that's trivial, you just have to look at the line with the parameter parsing and you'll be right most of the time
[11:58:52] <edheldil> well ....
[11:59:00] * edheldil smirks
[11:59:44] <fizzle> okay, so I'd like to make it possible to select the current area on the world map
[11:59:59] <fizzle> to that end I'm changing GetDestinationArea
[12:00:16] <lynxlynxlynx> (what would that do?)
[12:00:28] <fizzle> just close the world map
[12:00:32] <lynxlynxlynx> aha
[12:00:38] <fizzle> should I add a new entry to the dictionary?
[12:00:59] <fizzle> or return a special value for "target" or "destination" (like "CURRENT")
[12:01:22] <lynxlynxlynx> we don't have any way to get the current area?
[12:01:55] <lynxlynxlynx> GemRB_GetAreaInfo apparently
[12:02:14] <lynxlynxlynx> CurrentArea in the returned dict will have the resref
[12:02:18] <fizzle> well, you'd need to call GetDestinationArea anyway, to get the area pointed to
[12:02:46] <lynxlynxlynx> sure, but now it seems you don't need to modify it
[12:02:55] <fizzle> no, I still do
[12:02:59] <edheldil> fizzle: you should realize that most of guiscripts is ad-hoc - the functions do what was just needed when we were writing the python scripts. As a result, you often have to jump through hoops if you want to repurpose them
[12:03:13] <fizzle> edheldil: they do look like it :-P
[12:03:42] <lynxlynxlynx> so why do you need to still modify it?
[12:03:42] <fizzle> lynxlynxlynx: or I'd need to call GetDestinationArea twice
[12:03:56] <fizzle> once without encounters, once with
[12:04:05] <lynxlynxlynx> aha
[12:04:19] <lynxlynxlynx> ok, your way sounds cleaner
[12:04:42] <lynxlynxlynx> so yeah, just add another entry
[12:05:02] <edheldil> another ad-hoc entry :-D
[12:15:23] <Seniorita> [commit] Jens Granseuer: selecting current area on world map returns to map http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=f7c10d49f518b6c6b485eef8c7e9beefa83bc238
[12:16:15] --> i30817 has joined #gemrb
[12:17:04] <lynxlynxlynx> + if (tmp["CurrentArea"] == 0:
[12:17:24] <fizzle> urks
[12:18:25] <lynxlynxlynx> didn't spot anything else :)
[12:19:36] <edheldil> btw, in pst, going to worldmap and closing it causes return to gamecontrol, but the next click on map button is ignored
[12:20:02] <edheldil> not caused by this patch, just noticed it now
[12:20:46] <edheldil> also, in some cases (subareas?), the 'YouAreHere' cursor is drawn at two different icons
[12:21:17] <edheldil> also, the PST icons are drawn as ugly as always :)
[12:21:32] <Seniorita> [commit] Jens Granseuer: fix previous commit f7c10d49f518b6c6b485eef8c7e9beefa83bc238 http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=029201f4f24bf3f6166787a40f9748956f8f783d
[12:39:02] <Seniorita> [commit] Jens Granseuer: only play the ambush message if we actually have an encounter area http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=6aa6735c6f07332c825b3f7ebaa74f6a5506a688
[12:39:22] <traveler> have anybody compared new map highlight with original?
[12:39:32] <traveler> i mean, last commits are very nice just testing
[12:39:44] <traveler> ambush sound, corrected clickable areas and all
[12:39:59] <fizzle> yeah, it's still not the same thing
[12:40:00] <traveler> but highligh is a bit washed up for me
[12:40:02] <traveler> really pale
[12:40:10] --> duckpunch has joined #gemrb
[12:40:19] <traveler> almost blending with map background in bg1
[12:40:49] <fizzle> we probably just need to use a different palette there to improve it
[12:41:12] <lynxlynxlynx> he changed the palette, while we may need to change the icon's frame
[12:41:24] <lynxlynxlynx> iirc all are stored in the same bam, so maybe not
[12:41:31] <-- kida has left IRC (Remote host closed the connection)
[12:42:54] <fizzle> yes, there's only one frame per icon
[12:43:27] <edheldil> it also does not work at all (no return to gamecontrol) in pst
[12:46:24] <fizzle> does pst do anything on click normally?
[12:48:12] <fizzle> not knowing pst at all, I don't really understand how pst's GUIMA operates
[13:00:04] <lynxlynxlynx> should probably just be made like the others
[13:00:51] <lynxlynxlynx> what i noticed and found interesting is that either we have a bug or you can't travel via the worldmap?
[13:06:29] <edheldil> I don't know if it was possible in pst
[13:08:05] <edheldil> pst should have normal color icons for known areas and some less visible ones (transparent?) for those not yet visited, I think
[13:18:05] --> CamDawg has joined #gemrb
[13:28:24] <-- CamDawg has left IRC (Quit: Leaving.)
[13:51:18] <-- traveler has left IRC (Ping timeout: 245 seconds)
[13:56:37] --> CamDawg has joined #gemrb
[13:59:32] <-- CamDawg has left #gemrb
[14:00:02] --> CamDawg has joined #gemrb
[14:00:06] --> traveler has joined #gemrb
[14:14:01] --> Canageek has joined #gemrb
[14:23:57] <-- miha has left IRC (Quit: Lost terminal)
[14:33:17] <Seniorita> [commit] Jaka Kranjc: *UnmemorizeSpell: added an option to skip nondepleted spells http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=961702c7012719ad2ad1c3c60d28c981bbe522e3
[14:33:18] <Seniorita> [commit] Jaka Kranjc: iwd2: added proper spell unmemorization / "removal" http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=f427d61c63b62cae2fbc93c1940732ab77d7eae0
[14:33:19] <Seniorita> [commit] Jaka Kranjc: iwd2::guispl: display bard and sorcerer spellbooks properly http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=ab928f8aeb313f94af28c8e59ca304aa95b67451
[14:33:20] <Seniorita> [commit] Jaka Kranjc: OnSpellBookMemorizeSpell: index already contains the scrolling offset http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=5faaec2fffb3e3e6bcb184b602ca9d4b7b430818
[14:33:21] <Seniorita> [commit] Jaka Kranjc: iwd2: bards have sorcerer-style spellbooks http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=75d1513fb53f0b6ae41f732a17f3ae0717bc693e
[14:33:22] <Seniorita> [commit] Jaka Kranjc: iwd2::guispl: store the spell lists globally to save lookups http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=d4f6bd97ea15cea4bbf6ae15b29ab64b818422dc
[14:39:23] <-- i30817 has left IRC (Quit: ChatZilla 0.9.89 [Firefox 18.0/20130107224407])
[14:47:51] --> kida has joined #gemrb
[15:05:38] --> kida_ has joined #gemrb
[15:05:50] <-- kida_ has left IRC (Client Quit)
[15:22:47] <-- kamui has left IRC (Read error: Connection reset by peer)
[15:25:10] --> kamui has joined #gemrb
[15:30:41] <Seniorita> [wiki] developers:lynx http://www.gemrb.org/wiki/doku.php?id=developers:lynx&rev=1357917926&do=diff
[15:34:21] <-- kamui has left IRC (Remote host closed the connection)
[15:48:53] --> chiv has joined #gemrb
[15:50:42] <chiv> hey, regarding the pst worldmap icons, they very much look like they need subtractive blending
[15:57:03] <chiv> incidentally, a good technique for getting nice blood splatter sprites too....
[15:59:35] <wjp> subtractive blending? really?
[16:00:21] <chiv> well, the dark areas are a very light shading, the light areas become the dark ones
[16:01:10] <chiv> i remember they started doing it with quake 3 or something around then, when shaders were a new and special thing...
[16:01:26] <chiv> or might have been half life
[16:01:55] <chiv> you take all the green and blue out of a surface, you are left with a nice dark textured red...
[16:03:26] <chiv> of course, i don't know for certain, but the input sprites look suspiciously like it
[16:03:33] <wjp> taking out red/green is more multiplicative than subtractive
[16:03:45] <wjp> um, blue/green, but same thing :-)
[16:04:07] <wjp> do you have some quick sample png's?
[16:05:00] <wjp> (or otherwise I can take a look later)
[16:05:15] <chiv> not really.. haven't done anything like that for a long time
[16:05:26] <chiv> but i am experimenting with the pst gfx
[16:05:36] <chiv> to find what works
[16:06:52] <wjp> wrong palette or misinterpreted alpha could also cause things like that
[16:07:57] <chiv> being able to find it in dltcep would help...
[16:08:47] <chiv> oh nm, it looks like it actually does have a good pallette
[16:10:09] <chiv> but it would have been a good excuse to add that feature.... heh
[16:11:11] <chiv> why would it get the wrong palette then? i thought they were in the bam files...
[16:13:09] <wjp> WorldMap does do some palette magic
[16:14:07] <chiv> perhaps superfluous magic?
[16:14:15] <wjp> dunno
[16:14:27] <chiv> ill have a look...
[16:14:34] <wjp> WMPAreaEntry::GetMapIcon
[16:26:30] <chiv> success, getting rid of the setpallette leaves a nice looking pst worldmap
[16:26:47] <-- WingedHussar has left IRC (Quit: WingedHussar)
[16:27:40] --> hex__ has joined #gemrb
[16:27:49] <chiv> I'll leave it to you guys how you want to handle it though...
[16:29:39] <chiv> last time i submitted a patch for the core, lynx's head exploded...
[16:31:23] <wjp> make sure to make a note of this somewhere so we don't forget
[16:31:31] <chiv> good point
[16:32:57] <wjp> do the pst map icons have multiple frames each? (For visited / unaccessible / ...)
[16:33:42] <wjp> (the current code reverts to palette trickery for that if there are fewer than 5 frames per icon)
[16:34:41] <chiv> doh, i just closed it...
[16:35:59] <chiv> its a single bam, 1 cycle per area, 1 frame per cycle
[16:36:15] <chiv> but afaik in pst it is either on or off anyway
[16:36:28] <chiv> WMLOCAT
[16:37:01] <wjp> sounds like this frame/gradient-selection logic needs some tweaking for PST then
[16:37:29] <chiv> probably just inverting?
[16:37:46] <chiv> but like i say, i dont remember it doing anything special in the real game
[16:37:50] <Seniorita> [wiki] pst_bugs - [GUI] worldmap ugliness solution http://www.gemrb.org/wiki/doku.php?id=pst_bugs&rev=1357922054&do=diff
[16:40:10] <hex__> Can anyone help me to compile GemRB-0.7.2
[16:40:36] <hex__> I wanted to write a .bep file so that I can make a .zip file using it
[16:40:59] <chiv> the standard version: all starting areas normally shaded, non visited areas completely invisible
[16:41:02] <hex__> I wanted to know what should I write In BUILD and INSTALL blocks
[16:41:18] <chiv> so basically, the 2 second fix of if-ing around it is accurate to the game...
[16:41:27] <hex__> Can anyone help???
[16:41:40] <wjp> .bep?
[16:41:48] <hex__> yes in haiku
[16:41:58] <wjp> might be useful to mention tiny details like that ;-)
[16:41:58] <hex__> r1/alpha 4.1
[16:42:26] <hex__> so can anyone help?
[16:42:55] <chiv> what seems to be the trouble?
[16:43:38] <hex__> http://pastebin.com/uZBqfmpJ
[16:43:40] <Seniorita> GemRB - Pastebin.com
[16:43:42] <hex__> I wrote this
[16:44:08] <hex__> and an error came Port gemrb not found
[16:44:43] <wjp> that sounds like a problem on the haiku side; not yet in the gemrb-specific bits
[16:44:59] <hex__> Is my .bep file ok
[16:45:00] <hex__> ?
[16:46:41] <chiv> not that I have any idea what it should be, but it doesn't look wierd
[16:46:45] <wjp> you have to run cmake from a subdirectory
[16:47:01] <wjp> something like mkdir build; cd build; cmake -DPREFIX=blah ..; make
[16:47:19] <wjp> but as I said, that error message sounds like something haiku-specific
[16:47:35] <wjp> at a guess that it can't find your .bep file
[16:47:55] <wjp> but it would probably be better to ask people who actually know haiku :-)
[16:47:55] <chiv> wierd terminology for the error though, why port?
[16:48:05] <edheldil> chiv, wjp: see above, I *think* there are a visited and a not-yet-visited-but-known states in pst, the other looking blended into the background
[16:48:14] <wjp> chiv: s/wierd/weird/
[16:49:02] <edheldil> ah, are you sure it's really on-off?
[16:49:14] <chiv> heh, if you were to try to get me to spell, you would take a very long time, sometimes my fingers just move too fast for my brain
[16:49:36] <chiv> i will take screens and check
[16:50:11] <edheldil> hex__: don't you have to rebuild port index or st. like that?
[16:50:56] <hex__> which port?
[16:51:03] <wjp> chiv: "port" and related names are fairly common for build scripts for external software
[16:51:49] <hex__> don't think so
[16:52:03] <wjp> *bsd probably being the most well-known
[16:52:45] <wjp> or maybe macports nowadays :-)
[16:52:53] <edheldil> well, at least on FreeBSD the packages are called ports - so if you e.g. created a port, put it to /usr/ports/games/gemrb and did portinstall gemrb, there's a chance it needs to have have a port database updated
[16:53:48] <chiv> http://picpaste.com/mortuary.jpg
[16:53:49] <Seniorita> PicPaste - mortuary.jpg
[16:53:59] <chiv> http://picpaste.com/fortress.pg
[16:54:03] <chiv> http://picpaste.com/fortress.jpg
[16:54:03] <edheldil> http://www.mobygames.com/game/windows/planescape-torment/screenshots/gameShotId,38259/
[16:54:04] <Seniorita> PicPaste - fortress.jpg
[16:54:06] <Seniorita> Planescape: Torment Screenshots for Windows - MobyGames
[16:54:13] <edheldil> looks like I was wrong.
[16:54:29] <chiv> yeah, thats just the normal shading
[16:55:43] <hex__> can you tell who has the copyright of GemRB now??
[16:56:01] <hex__> of 2012
[16:56:26] <hex__> 2003-2010 The GemRB team had
[16:58:12] <chiv> with copyrights, earlier is better :)
[16:58:34] <hex__> hmm...thanx
[16:58:48] <chiv> heh, sorry, just being snarky
[17:01:06] <fizzle> can anyone confirm a solid green rectangle in NW BG right in front of Degrodel's mansion (bg1)?
[17:01:24] <fizzle> just want to make sure my data isn't damaged
[17:01:35] <chiv> but anyway, the copyright doesn't expire just because you dont keep changing the date...
[17:01:46] <chiv> can i have an area code?
[17:01:55] <fizzle> ar0100
[17:01:59] <wjp> and it's not like a 3rd party build script has any effect whatsoever on our copyright :-)
[17:03:00] <chiv> and where is the mansion?
[17:03:08] <chiv> been a long time since i played bg
[17:03:25] <fizzle> big one in the center of the southern map edge
[17:04:02] <hex__> does it still depends on cmake,git,libsdl,sdl-mixer and openal
[17:04:30] <chiv> can't see anything, is it the one with the roof terrace?
[17:05:19] <chiv> with a bright orange noblewoman outside?
[17:05:21] <fizzle> with the small dome? yes
[17:05:35] <chiv> sorry, think its your date
[17:05:38] <chiv> data...
[17:05:43] <fizzle> darn
[17:06:02] <fizzle> thanks anyway
[17:06:03] <chiv> wjp: ^ see...
[17:06:10] <wjp> hm?
[17:06:33] <chiv> my typing problem, i just suffer with it...
[17:07:01] <chiv> my backspace key has worn out
[17:08:38] <chiv> so if my spelling gets on your nerves, imagine how it gets on mine :)
[17:08:51] <wjp> oh, 'wierd' is a special case :-)
[17:09:01] <wjp> along with that 'its' up there ;-)
[17:11:42] <chiv> I save correct typing for ... well.. actually never, I just mash the keys and use spellcheck if its something important
[17:12:35] <lynxlynxlynx> fizzle: it happens, we have that in some other cases too
[17:12:38] <-- hex__ has left IRC (Quit: Page closed)
[17:14:13] <lynxlynxlynx> too bad hex left
[17:14:34] <lynxlynxlynx> we already had a haiku port, so the package is likely already written somewhere too
[17:14:51] --> brada has joined #gemrb
[17:14:57] <brada> chiv: http://picpaste.com/upload.php
[17:14:58] <Seniorita> PicPaste - public beta v5!
[17:17:36] <brada> looks a lot nicer than the bam version ;)
[17:18:43] <brada> it is wierd because i had to swap the bytes for the input string but shouldnt the input string have already been in BE?
[17:19:09] <wjp> chiv: see, that's why "wierd" in particular is noticable ;-)
[17:19:39] <wjp> brada: was that supposed to be a specific image url instead of the upload page?
[17:19:47] <brada> ill thank you not to poke fun at my dyslexia sir
[17:19:57] <brada> ha ha yes
[17:20:01] <edheldil> aaah
[17:20:05] <edheldil> I wondered
[17:20:19] <brada> http://picpaste.com/Screen_Shot_2013-01-11_at_10.13.58_-DN2llffD.png
[17:20:20] <Seniorita> PicPaste - Screen_Shot_2013-01-11_at_10.13.58_-DN2llffD.png
[17:21:37] <edheldil> is not it a bit blurry? Especially that char (book?) before version
[17:21:56] <brada> ed: its blurry because of my retina display
[17:22:12] <brada> so its 2x the actual resolution
[17:23:07] <edheldil> ok .... it's great, then :)
[17:23:11] * edheldil pets brada
[17:23:28] <chiv> holy goddamn awesome
[17:23:57] <edheldil> yeah ... what about input?
[17:25:24] <brada> input?
[17:25:29] <fizzle> lynxlynxlynx: the green stuff?
[17:25:39] <lynxlynxlynx> yep
[17:25:46] <fizzle> I seem to get it a lot in BG
[17:25:57] <brada> yeah
[17:25:59] <brada> thats known
[17:26:02] <brada> you mean water?
[17:26:11] <lynxlynxlynx> i got it too with the gog version
[17:26:17] <fizzle> not always green but tiles misplaced by one, it looks like
[17:26:36] <fizzle> water too but not exclusively
[17:26:39] <lynxlynxlynx> bg2 was much better, i only remember some other tiling/z-order problems
[17:27:16] <chiv> that so much better than the release version...
[17:27:46] <fizzle> specifically, the one I'm looking at seems to be drawn with y off by half a tile
[17:27:49] <lynxlynxlynx> and at the start of how, you have a nice reproducible case, since the only way to start totl is to talk to a gonme(?) who you can hardly see
[17:28:21] <fizzle> assuming that tilea are a square 64x64
[17:28:27] <brada> fuzzie: any idea why i have to swap the bytes of the input text?
[17:28:35] <lynxlynxlynx> fizzle: correct
[17:29:38] <brada> the original patch was doing something funny there...
[17:29:43] <brada> dbString[dbLen] = (string[i]-0x81)*255 + string[i+1] + 128
[17:29:53] <brada> i have: dbString[dbLen] = (string[i+1] << 8) + string[i]
[17:29:56] <fizzle> or rather it's two tiles with y = y - 1...
[17:31:00] <edheldil> brada: is it possible to write chinese as well, e,g, when selecting char's name?
[17:31:13] <brada> i dont know
[17:31:14] <fizzle> shouldn't those errors be always reproducible, though?
[17:31:19] <brada> thats sort of an sdl thing
[17:31:23] <brada> and im using ios simulator
[17:31:28] <brada> ill try on mac
[17:32:43] <edheldil> brada: also check that it does the conversion for save names
[17:33:00] <brada> i cant actually check yet
[17:33:20] <brada> i dont have the patience to stumble though somethng in chinese where the button labels are all blank besides
[17:33:55] <brada> the conversion im doing all happens on the output
[17:34:11] <brada> so i dont know what you are asking exactly but it sounds like the answer is no
[17:34:42] <edheldil> in Font class? Then it should proably work for the save names as well
[17:35:01] <brada> yes in font
[17:35:13] <brada> i cant commit anything yet tho
[17:35:19] <brada> a lot of this is a hack job
[17:35:45] <brada> and i have no idea how to decide when bytes need to be flipped
[17:35:54] <chiv> this is specifically why i like the idea of github :)
[17:36:15] <brada> i also dont know why the button labels are blank
[17:36:22] <brada> maybe something is pushing the text down
[17:37:10] <edheldil> have you tried for some big buttons?
[17:37:30] <brada> i dont know what you are refering to
[17:37:48] <brada> but like i said i dont have the patience to stuble around in the interface
[17:38:37] <brada> hmmm
[17:38:45] <edheldil> e.g. in pst there are big round buttons in the GUIOPT screen
[17:38:50] <brada> maybe the labels being blank have something to do with these logged iconv errors
[17:38:58] <brada> i dont have chinese pst
[17:40:37] <edheldil> btw, the formula you showed above looks like little endian
[17:41:10] <brada> the one i wrote is
[17:41:20] <brada> i dont know what the hell the other one was doing
[17:42:20] <brada> other than converting the cahr to be the index to the bam font
[17:43:18] <edheldil> it's from the original engine?
[17:43:37] <brada> its from the original chinese patch
[17:48:43] <brada> all those iconv errors are EILSEQ
[17:48:49] <brada> ^ illegal sequence
[17:49:48] <brada> should be relatively benign since the text is all there
[17:51:17] <brada> bah except it happens for all the buttons
[17:51:29] <brada> wtf?
[17:51:38] <brada> does that mean they used 2 encodings?
[17:52:22] <fuzzie> your dbString code isn't doing the decoding
[17:52:30] <brada> i know that
[17:52:38] <fuzzie> the patch's dbString was doing the decoding
[17:52:38] <brada> it is swapping the bytes
[17:52:45] <brada> well im not using bam
[17:52:50] <fuzzie> not really 'something funny' :p
[17:53:06] <brada> its complex then
[17:53:26] <fuzzie> it's just about whether you decode or not.
[17:53:57] <brada> well what do you mean by decode?
[17:54:09] <brada> becauses after i swap the bytes i get a valid gbk char
[17:54:19] <fuzzie> you do?
[17:54:21] <brada> valid and correct
[17:54:23] <brada> yes
[17:54:27] <fuzzie> that sounds unlikely
[17:54:31] <brada> did you see my screen shot?
[17:54:34] <fuzzie> no
[17:54:42] <brada> it is correct
[17:54:45] <fuzzie> but screenshot says nothing...
[17:54:49] <brada> it matches the one chiv posted
[17:54:59] <fuzzie> what are you doing exavtly?
[17:55:15] <fuzzie> padsing individual chars to iconv?
[17:55:21] <brada> yes
[17:55:31] <brada> like i said hack job
[17:55:32] <fuzzie> you are checking >0x80?
[17:55:35] <brada> for proof of concept
[17:55:38] <brada> yes
[17:55:41] <brada> i have to
[17:55:46] <fuzzie> and then passing one byte or two?
[17:55:57] <brada> to what?
[17:56:03] <fuzzie> iconv
[17:56:03] <brada> im using ieWord
[17:56:06] <brada> so 2
[17:56:24] <brada> it isnt choking on single byte chars
[17:56:30] <fuzzie> so i'm confused at your qurstion
[17:56:37] <brada> otherwise the latin chars in the screenshot wouldnt be there
[17:56:48] <brada> which question? i asked many
[17:56:53] <fuzzie> you have to byteswap bevause of the endianism it expects.
[17:57:06] <brada> well i thought the input data would already be in BE
[17:57:19] <brada> since apparently thats what GBK is
[17:57:37] <fuzzie> yes./
[17:57:47] <fuzzie> but you are not on BE, right?
[17:57:52] <brada> no intel
[17:59:22] <fuzzie> how are you calling iconv?
[17:59:55] --> Yoshimo has joined #gemrb
[17:59:57] <fuzzie> but anyway, the originsl patch was converting into a GBK char.
[18:00:19] <brada> like i said i already have a gbk character
[18:00:23] <fuzzie> you are not, you are just preserving encoded GBK bytes/shorts.
[18:00:25] <brada> without that nonsense
[18:00:32] <brada> well what is the diff?
[18:00:34] <fuzzie> and presumably getting unicode out.
[18:00:44] <fuzzie> the char is the character id.
[18:00:45] <brada> we are confusing each other
[18:00:54] <fuzzie> irrelevant for your needs.
[18:01:08] <fuzzie> since you make iconv do the whole thing.
[18:01:37] <brada> iconv is converting from gbk to utf-16
[18:01:47] <fuzzie> but you have encoded GBK, which represent GBK char ids when decoded, which != unicode.
[18:01:56] <brada> yes i know that
[18:01:59] <fuzzie> you are pasding the first to iconv
[18:02:06] <fuzzie> and getting the third out
[18:02:07] <brada> yes i know that
[18:02:10] <brada> third?
[18:02:26] <fuzzie> so why confused that the patch produces the second?
[18:02:35] <fuzzie> there's three things involved.
[18:02:54] <fuzzie> GBK char ids being the middle step.
[18:03:26] <brada> let me walk you thought what im doing
[18:03:28] <fuzzie> pretty sure the wikipedia page has a diagram or somesuch.
[18:03:38] <brada> maybe i should look at that
[18:03:53] <fuzzie> the thing is, iconv is doing the work for you
[18:04:09] <fuzzie> i.e. iconv will do the same decoding that the old patch did.
[18:04:28] <brada> all i know is i take 2 bytes from the input string, then reverse them. that gives me a matching code for gbk. i pass that to iconv and get the unicode char
[18:04:29] <fuzzie> then it converts the result to utf16.
[18:05:14] <fuzzie> so iconv usually takes bytes here..
[18:05:25] <fuzzie> hence me asking how you call iconv
[18:06:50] <brada> after i swap the bytes i get a code that matches this table: http://www.khngai.com/chinese/charmap/tblgbk.php?page=3
[18:06:53] <Seniorita> GBK Code Tables
[18:06:59] <fuzzie> sigh :p
[18:07:05] <brada> i agree!
[18:07:07] <fuzzie> that is irrelevant
[18:07:28] <fuzzie> wikipedia's page does explain this in terms of characters btw.
[18:07:42] <fuzzie> but you still didn't say how you call iconv :)
[18:08:13] <-- CamDawg has left #gemrb
[18:08:29] <fuzzie> the rest of it is a distraction
[18:08:54] <brada> i pass it the code i get after byte swapping
[18:09:02] <fuzzie> as an ieWord?
[18:09:05] <brada> yes
[18:09:12] <fuzzie> i.e. what is exact call?
[18:09:24] <edheldil> btw, brada: change the input encoding to GB18030, it gets much lower eilseq count :)
[18:10:36] <chiv> http://picpaste.com/chargen1.jpg just in case you need another sample
[18:10:38] <Seniorita> PicPaste - chargen1.jpg
[18:10:57] <brada> ed: i dont know if it is lower, but it doesnt fix the buttons
[18:11:11] <edheldil> sorry, I was a bit confused
[18:14:25] <brada> fuzzie: right now im copying the input ieWord (byte swapped from before) into a char array of size 2 then passing that to iconv
[18:15:20] <brada> iconv setup: iconv_t cd = iconv_open("UTF-16LE", "GBK");
[18:15:29] <chiv> hmm, apparently, i made a sucessful rebase: http://github.com/chilvence/gemrb/commits/merge2
[18:15:32] <Seniorita> Commit History · chilvence/gemrb · GitHub
[18:15:35] <brada> then this: iconv(cd, &oldchar, &in, &newChar, &out);
[18:15:45] <chiv> i think i have done enough learning for today, time to eat
[18:15:54] <brada> where oldchar is the afore mentioned ieWord
[18:16:07] <brada> and in and out are just the number 2
[18:16:15] <fuzzie> brada: so, answer is, you are passing LE encoded value to iconv.
[18:17:02] <brada> maybe, but it doesnt look that way to me
[18:17:24] <fuzzie> how do you copy ieWord into char array then..?
[18:17:25] <brada> and shouldnt iconv be expeting BE for that encoding?
[18:17:32] <brada> just memcpy
[18:17:36] <fuzzie> On LE system, ieWord is LE.
[18:18:07] <brada> right but i swapped the bytes before
[18:18:49] <brada> the ieWord contains swapped bytes from the input string
[18:18:52] <fuzzie> Yes. But iconv expects BE, so by giving it LE, you effectively byteswap it agsin.
[18:18:55] <fuzzie> = no-op.
[18:19:09] <fuzzie> except it will now break on BE :p
[18:20:10] <fuzzie> But you want it LE because only LE will encode 0x0010 as 0x10, 0x00 as bytes.
[18:20:55] <brada> well whatever the reason the important thing is that it works
[18:21:07] <fuzzie> sure, but it will be broken on BE
[18:21:22] <brada> i was just confused because i didnt expect to have to swap the bytes because i thought the input data would already be in BE
[18:21:29] <fuzzie> memcpying word/dword into char array = endian asdumption
[18:21:43] <fuzzie> so there is your confusion here I tjink
[18:21:50] <brada> ok
[18:22:19] <fuzzie> the input data is in BE, you byte-swap it into ieWord, then byte-swap it again using memcpy.
[18:22:32] <brada> yeah that was my confusion
[18:22:42] <brada> the memcpy bit
[18:22:48] <brada> makes sence now
[18:22:52] <brada> sense
[18:23:12] <fuzzie> no idea if gemrb runs on BE any more, mind :)
[18:23:18] <brada> thank you for taking the time to help me :p
[18:24:04] <fuzzie> well, in any case, if it works, we can bugfix later
[18:24:13] <fuzzie> so you don't have to care :-p
[18:24:23] <brada> i wasnt planning on it per se
[18:24:32] <fuzzie> but maybe this might help if you havd to deal with other encodings
[18:24:39] <fuzzie> or, want to, anyway.
[18:24:41] <brada> yeah thats what i was thinking of
[18:26:35] <brada> now to figure out why buttons are broken
[18:27:59] <fuzzie> that I have no clue about, sorry :/
[18:28:49] <lynxlynxlynx> chiv: cool, i'll take a look tommorow
[18:29:19] <fizzle> lynxlynxlynx: do you think those errors are caused by broken data or code?
[18:30:01] <brada> maybe im still confused because im not using memcpy anymore but i still need to swap the bytes
[18:30:13] <brada> so casting maybe has the same effect?
[18:31:11] <lynxlynxlynx> fizzle: i'm not sure for the half-moved one - would have to check the TIS format to see how things could get out of the planned grid at all
[18:31:20] <brada> char* oldchar = (char*)&chr;
[18:31:34] <brada> where chr is the ieword
[18:31:52] <fizzle> it wasn't half-moved, it was just two misplaced tiles side-by-side
[18:31:53] <fuzzie> the in-memory representation of ieWord is LE
[18:32:18] <fuzzie> so using a pointer to ieWord on LE gives you the inverted order on LE
[18:32:24] <lynxlynxlynx> i'd put that in the same category
[18:32:54] <fuzzie> whether you use memcpy or cast it
[18:33:18] <brada> ok
[18:33:18] <fuzzie> one usual approach is just to invert your original process
[18:33:38] <brada> im not sure what you mean there
[18:35:45] <fuzzie> set the first byte of a char buffer to 'myword >> 8' and second byte to 'myword & 0xff', which encodes myword as BE
[18:36:37] <fuzzie> problem is, for a low char like 0x20 say, that results in [0x00,0x20], which is BE, but probably not the bytes you want to pass to iconv...
[18:37:00] <fuzzie> because iconv is presumably expecting the original bytes here.
[18:38:24] <brada> low byte chars are a single byte
[18:38:42] <fuzzie> if you special-case them then all is good :)
[18:38:48] <brada> yup
[18:39:32] <brada> but enough of this for today
[18:39:39] <brada> need to do actual work
[18:42:41] <-- kida has left IRC (Remote host closed the connection)
[19:10:16] <brada> yay i fixed button labels
[19:10:24] <brada> so much for actual work…
[19:31:31] <fizzle> hm, how many entries does ar0100.tis have for you guys?
[19:56:41] <-- Canageek has left IRC (Ping timeout: 240 seconds)
[20:09:06] --> CamDawg has joined #gemrb
[20:10:53] <-- chiv has left IRC (Ping timeout: 245 seconds)
[20:21:53] --> CamDawg1 has joined #gemrb
[20:24:42] <-- CamDawg has left IRC (Ping timeout: 264 seconds)
[20:30:12] <-- CamDawg1 has left IRC (Ping timeout: 264 seconds)
[20:39:36] --> CamDawg has joined #gemrb
[21:02:02] <-- |Cable| has left IRC (Ping timeout: 252 seconds)
[21:15:04] --> |Cable| has joined #gemrb
[21:55:35] --> miha has joined #gemrb
[21:57:54] <-- lynxlynxlynx has left IRC (Read error: Connection reset by peer)
[22:01:54] <-- CamDawg has left IRC (Ping timeout: 264 seconds)
[22:05:02] --> edheldil_ has joined #gemrb
[22:06:35] <edheldil_> fizzle: what are you trying to achieve? What entries do you mean?
[22:07:06] <fizzle> number of tiles
[22:07:26] <fizzle> I'm trying to find out whether my data is defective or there's a bug in the code
[22:09:05] <edheldil_> 25x18
[22:09:19] <edheldil_> in lynx's data
[22:09:50] <fizzle> huh? mine seems to have 3393
[22:10:06] <edheldil_> what data? Original game or some else?
[22:10:14] <fizzle> original
[22:10:57] <edheldil_> ahhh. What game?
[22:11:01] <fizzle> bg1
[22:12:23] <fizzle> but gemrb tries to access 3394 and 3395 as well
[22:13:49] <-- Cuvieronius has left IRC ()
[22:24:57] <edheldil_> hmm, I have 1260 :)
[22:25:37] <fizzle> uh
[22:25:51] <fizzle> could totsc add to that?
[22:29:07] <edheldil_> sorry!!! That was pst. I have 3394
[22:29:37] <fizzle> ok, starting at 0, I have the same number
[22:31:13] <edheldil_> is there a problem?
[22:32:02] <fizzle> if you go to ar0100 do you also get "Corrupt WED file encountered" messages on the console?
[22:32:28] <fizzle> (they don't turn up as ERROR so I didn't see them at first...)
[22:33:04] <fizzle> I get many "misplaced" tiles in BG
[22:33:13] <fizzle> didn't see that in the rest of the game
[22:33:36] <fizzle> pretty much all related to doors apparently
[22:41:27] <edheldil_> I don't see any errors like that
[22:42:24] <fizzle> hm
[22:43:16] <-- miha has left IRC (Quit: Lost terminal)
[22:44:29] <fizzle> maybe my WED really is corrupted, then
[22:51:20] --> Avenger has joined #gemrb
[22:51:20] --- ChanServ gives channel operator status to Avenger
[22:55:21] <edheldil_> Hi, Avenger
[22:55:29] <Avenger> hi Ed
[22:56:59] --> CamDawg has joined #gemrb
[22:57:59] --- ermo^ is now known as ermo
[22:58:09] <-- Yoshimo has left IRC (Quit: Yoshimo)
[23:06:12] <-- CamDawg has left #gemrb
[23:06:16] --> CamDawg has joined #gemrb
[23:10:19] --- ermo is now known as ermo^
[23:34:28] <-- Avenger has left IRC (Quit: bye!)