00:00:18 oerjan: No, but it does sound nice. 00:01:21 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 00:02:17 * oerjan now knows what a ting is, and thinks it should have been on the bell 00:22:53 -!- Slereah_ has joined. 00:28:41 oerjan: Envelopes can't ring. 00:28:57 they cannot ting either 00:29:17 They can if they have a silver lining. 00:29:46 which of course there always is 00:30:02 * Sgeo wonders why oerjan isn't in #ircnomic 00:31:10 -!- oerjan has quit ("Because i'm going to bed"). 00:49:38 -!- timotiis has quit (Read error: 110 (Connection timed out)). 01:26:57 -!- ehird has quit (Remote closed the connection). 02:21:21 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)). 02:21:53 -!- Judofyr has joined. 04:05:16 Two more BF clones? :o 04:05:19 Will this never end? 04:08:00 unlikely 04:08:25 We need a new flag languag. 04:08:26 e 04:08:57 Something bold. 04:08:59 Exciting. 04:09:05 Turing complete! 04:09:44 It should have a simple instruction set, and intuitive concept! 04:16:58 Let's make an ESO meeting. 04:17:09 Who's the PR guy of ESO? 04:18:25 /// is my vote 04:18:33 it's simple, intuitive, elegant 04:18:46 unfortunately it's only vaguely possible that it's TC 04:19:20 ais523 and I have done a bit of work on a proof-of-concept halting loop, but no real luck so far 04:36:50 I'll interpret the lack of response as Slereah_ going completely insane trying to use ///. 04:37:43 Well, it's 5AM here. 04:37:47 So I'm not trying anything 04:38:08 ah 04:41:55 Looking at it, the 99 doesn't seem very loopy indeed. 04:44:59 it's a simple compression algorithm, not really a loop 04:49:59 clever, yes, but far less interesting 04:50:51 the main reason I think /// ought to be TC is because the find-and-replace operation *itself* has to do looping and some conditional branching 04:51:41 it's also possible to construct simple logic gate like things, but making them arbitrarily extensible (or resetable) is tricky 04:59:25 -!- Judofyr_ has joined. 04:59:25 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)). 05:22:37 -!- Judofyr_ has quit (Read error: 110 (Connection timed out)). 05:54:47 -!- Sgeo has quit ("Ex-Chat"). 06:01:05 -!- olsner has joined. 06:37:44 -!- calamari has quit ("Leaving"). 06:47:06 -!- Judofyr has joined. 07:03:41 -!- jix has joined. 07:19:49 -!- Judofyr has quit. 07:49:47 -!- GreaseMonkey has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:04:01 -!- Iskr has joined. 08:46:25 -!- sebbu2 has joined. 08:56:05 -!- olsner has quit ("Leaving"). 09:03:41 -!- sebbu has quit (Read error: 110 (Connection timed out)). 09:19:11 -!- jix has quit ("CommandQ"). 09:28:47 -!- immibis has joined. 09:29:26 immybo would ask "is anyone here any good with microsoft paint?" but he can't be bothered coming online. 09:29:48 and wtf is a fluffy bell ring or an envelope ting? 09:53:08 -!- immibis has left (?). 10:47:46 -!- GreaseMonkey has quit ("Unisex."). 10:54:57 -!- pikhq has quit (Read error: 110 (Connection timed out)). 11:04:28 -!- Corun has joined. 11:56:53 -!- ais523 has joined. 12:10:11 ais523: ping 12:10:29 [CTCP] Received CTCP-PING reply from ais523: 42 seconds. 12:10:37 OK, there's definitely something up with the wireless 12:10:51 and that was without me manually editing the timestamp, by the way, and using a proper IRC client 12:17:07 ais523, hi, you got the mail I sent a few days ago? 12:17:15 ais523, about ick failing to compile on freebsd 12:17:31 AnMaster: yes, did you get my reply? 12:17:35 ais523, nop 12:17:51 oh wait it *just* arrived 12:17:57 right when I hit enter 12:18:03 I'll try resending it 12:18:38 ais523, err ^ 12:19:06 yes, I hit 'stop' on my webmail program when I read that, not sure whether it resent or not 12:19:23 real name or nick, hm in a intercal... hm good question... 12:19:31 nick in that case I think 12:19:37 everyone else has used their real name so far, as it happens 12:19:47 well use the real name then 12:20:08 except for the people who created the Atari distribution, who are completely anonymous 12:20:58 by the way, your mail client does "include original message in reply" in an unusual way 12:21:32 it seems to include it at the end of the signature, and without the normal > in front of the lines 12:21:39 AnMaster: I know 12:21:48 what client is it? 12:21:52 Exchange 12:21:59 believe it or not, that's what it does in plain-text view 12:22:00 eww 12:22:03 I don't use it through choice 12:22:19 fun fact: the webmail version of Exchange works properly in Firefox but not in IE 12:22:27 eh what? 12:22:35 is it an old exchange version or something 12:22:39 it detects that the browser isn't IE 12:22:56 and so falls back to text which doesn't use super-proprietary Microsoft extensions which also happen to be buggy 12:23:04 ahaha 12:23:14 I just get a JS error when I try it on IE sometimes, although other times it works fine 12:23:27 I think it's something to do with the IE version or patchlevel, but I don't particularly care 12:24:02 hm 12:25:40 -!- Corun has quit ("This computer has gone to sleep"). 12:28:42 ais523, the mail says "3 and a half bug" 12:28:44 hm 12:29:01 lets see, 1) 64-bit issue, 2) freebsd issue 3) ??? 12:29:05 the FTBFS on FreeBSD and Mac OS X were the same bugs 12:29:41 --prefix 12:29:48 and a typo in the documentation for -b 12:29:48 ais523, maybe try autoscan, it generates a configure.scan file with tests it think are needed, could be useful for see if something is missing in configure.ac 12:29:56 AnMaster: I did, and used it as a guide 12:30:03 ah 12:30:05 when I redid the autoconfiguration 12:30:29 I've rewritten quite a bit of the file to allow for proper --prefix sandboxing, though 12:30:35 by the way, does any system lack stdargs.h these days? 12:31:12 AnMaster: not as far as I know, but CLC-INTERCAL still supports Baudot and punched cards, and maintaining compatibility as far back as possible is a running INTERCAL in-joke 12:31:23 ok 12:31:34 what is "baudot" btw? 12:31:38 I've never come across a single INTERCAL program written in EBCDIC, but C-INTERCAL + convickt could run it if possible 12:31:47 baudot was a 5-bit character set used by teletypewriters 12:31:58 so slightly more advanced than Morse Code, but not by much 12:32:07 I think it predates networked computers, but am not sure 12:32:24 ok... 12:33:01 according to Wikipedia, it was proposed in 1874, and the advanced version with shift codes was implemented around 1901 12:33:06 so old indeed 12:33:21 did computers use it? 12:34:23 not sure, it was mostly a teletypewriter code 12:34:30 ok 12:34:46 it's a bit awkward to use in computers due to the shift codes involved 12:34:57 shift codes is? 12:35:12 5-bit characters aren't enough to encode all the character set by themselves 12:35:19 indeed 12:35:30 so some characters are reserved as shift characters which modify the meanings of future characters 12:35:37 ah I see 12:35:54 ordinary Baudot has a shift to interpret characters as letters, and a shift to interpret characters as numbers/punctuation 12:36:24 CLC-INTERCAL extended Baudot allows double-shift-codes that do lowercase letters and characters from the INTERCAL character set that aren't in the standard punctuation set 12:36:57 well maintaining ick must be painful 12:37:17 the Baudot stuff's in a separate file 12:37:31 clc-cset.i handles all the CLC-INTERCAL character sets, and everything else is done in Latin-1, ASCII, or UTF8 12:37:32 even so, in general I mean 12:37:48 anyway, there's an interesting caveat with your --prefix problem: 12:37:55 ais523, err, you do the conversion in intercal?! 12:38:05 AnMaster: no, in C 12:38:12 it certainly could be done in INTERCAL 12:38:13 " clc-cset.i handles all the CLC-INTERCAL character sets..." 12:38:20 sounds like you meant .c? 12:38:24 yes, I meant .c 12:38:26 sorry 12:38:27 ah 12:38:36 ok, what's the problem with --prefix? 12:38:55 in order to install Info documentation, you need to modify /usr/share/dir (locations vary) 12:39:08 but by default the prefix is /usr/local, so the documentation can't be installed 12:39:18 iirc you only need to modify the "dir" file in the same directory that you install in 12:39:27 AnMaster: there is only one "dir" file on the system 12:39:36 at least on my laptop 12:39:43 if there is a "dir" file on the system, great 12:39:56 err... 12:40:01 there are several here 12:40:05 s/system/prefix directory/ 12:40:12 /usr/share/info/dir 12:40:12 /usr/share/info/emacs-22/dir 12:40:15 /usr/share/binutils-data/x86_64-pc-linux-gnu/2.17/info/dir 12:40:16 AnMaster: so that method will work on your laptop 12:40:18 and so on 12:40:24 s/laptop/computer/ 12:40:26 (sorry) 12:40:44 ais523, I think there is a list of the dir files somewhere central 12:40:57 on setups like mine where the prefix doesn't contain a dir file (as would happen with your create-this-for-me prefix) 12:41:02 /etc/env.d/00basic:INFOPATH="/usr/share/info" 12:41:04 /etc/env.d/50emacs:INFOPATH=/usr/share/info/emacs-22 12:41:06 yep 12:41:06 I now don't install into the main documentation tree 12:41:10 and env-update builds the list 12:41:12 by default, at least 12:41:19 at least on gentoo 12:41:25 ais523, so there can indeed be more than one dir file 12:41:27 I instead give a warning saying that the Info stuff won't be installed because the dir file isn't inside the prefix 12:41:42 AnMaster: can be, but on some systems isn't, and I need to handle those 12:42:07 ais523, anyway on gentoo an ebuild should never touch the dir file, it is regenerated by some system scripts when needed 12:42:09 if the user wants to install to the dir tree anyway (outside the prefix), they can request that by symlinking a dir file from inside the prefix to outside 12:42:45 for the man database, there's a much simpler method: I only regenerate that if you install as root 12:43:09 and otherwise leave it alone for maintenance scripts to update 12:43:34 ais523, so if ick ever becomes a gentoo package, it would error out with something like: "error can not install this package, it is trying to overwrite a file it shouldn't" I think 12:43:54 the people who packaged it would just comment out those lines 12:43:57 or that may only happen when the file is owned by some other package, in this case it may not detect it as the file doesn't below to any package 12:44:13 besides, I check for install-info in the config script, if it isn't there I assume it isn't needed 12:44:27 install-info does exist 12:44:53 ais523, man database? 12:44:58 check for mandb too 12:45:04 but only use it if the install process runs as root 12:45:28 err, you mean for apropos? 12:45:44 yes 12:45:58 there is no mandb command 12:46:05 well, I check for it 12:46:10 and if it isn't there I assume it isn't needed 12:46:32 makewhatis is used to generate the db 12:46:36 at least on gentoo 12:46:41 and it is in a cron script 12:47:10 it's in a cron on Ubuntu too, but it's hardly userfriendly to install documentation with no obvious way to access it 12:47:25 (less severe for man than for install-info, because typing man directly would work) 12:47:25 um? man ick? 12:47:33 yes, man ick works 12:47:58 for telling man to search the right dir, well it's MANPATH set in /etc/env.d/somefile on gentoo 12:48:11 manpath's rarely a problem 12:48:28 so if you needed a custom one, you could install say /etc/env.d/60ick or something like that 12:48:32 apart from mandb sometimes picking up two copies of man pages in /usr/local because it finds them both via a symlink and the realpath 12:48:43 and I don't need a custom man directory 12:48:45 well mandb is stupid then? 12:48:50 AnMaster: yes, it is 12:49:02 whatever "makewhatis" is, I think it is smarter 12:50:01 ais523, anyway, why a symlink? 12:50:16 I didn't put it there, it's in the default directory structure 12:50:26 it's something like /usr/local/man to /usr/local/share/man 12:50:27 of what? debian? 12:50:35 Ubuntu, so presumably Debian 12:50:51 hm gentoo got that too heh 12:51:53 probably to increase portability of installs 12:52:05 install-info is arguably broken when installing to a symlink, anyway 12:52:09 ais523, btw want me to try to compile ick on openbsd? I can do that later this week 12:52:19 AnMaster: the more operating systems the better 12:52:33 actually, I should probably send the patched development somewhere 12:52:39 to make this a bit less cathedral-style 12:52:58 try version control, distributed version control should fit you perfectly 12:54:02 yes, likely a good idea 12:54:38 ais523, of course, if you really do need it on dos...... 12:54:42 my current version control is reasonably frequent .tgz snapshots (getting more frequent in the run-up to a release), and setting Emacs to backup files in a directory other than the originals 12:55:04 AnMaster: I just copy the .tgz to DOS, and test it there, and if it fails change some things and test the resulting source on Linux, etc., iterating to a solution 12:55:41 the other-directory thing, by the way, is so I don't lose work typing 'rm *' (I once deleted all my files about Underlambda that way, which is why I set up the separate-directory backup) 12:56:06 I didn't mean to type rm *, it was a typo, but it's something that it's useful to be protected against 12:57:00 well... version control would also help 12:57:14 yes, it would 12:57:21 I may switch to that when I have the time 12:57:34 probably using darcs, because that's installed here already and I have a vague idea of how to use it 12:58:24 it isn't hard really, like 1-2 minutes. start with a clean source copy. (no *.o and such), run the command to make a repo, for bzr it is: bzr init, other ones are similar 12:58:53 then bzr add . for bzr, to add recursively. commit. then build. see what "unknown files" are listed, and add those to the ignore list 12:59:01 bzr ignore "*.o" for example 12:59:14 then commit the ignores when you are happy with them 12:59:28 should I include temp/parser.c, temp/lexer.c and temp/oil.c? 12:59:32 ais523, the exact commands differ between bzr/hg/git, but the basic idea is the same 12:59:35 they're compiled from yacc and lex files 12:59:47 ais523, generated files should probably not be included 12:59:48 but I include them in the distribution for DOS users without yacc or lex 13:00:13 I don't include configure, only configure.ac, HOWEVER, in a distributed tar ball I include configure 13:00:18 ie, make dist 13:00:30 you can make automake handle the make dist 13:00:35 makes sense 13:00:43 although I don't use automake 13:00:47 to generate a directory ready to be distributed, then tar it up 13:00:53 well, something similar then 13:00:58 a shell script or whatever 13:01:31 presumably it /can/ handle the need to generate a compiler compiler from source (using yacc as a compiler compiler compiler), then using it to compile the compiler 13:01:34 but I don't want to try 13:01:36 you can export clean copies, bzr export, don't know the commands for the other ones 13:01:53 then run some shell script to generate the missing files, ie: configure, your *.c files and such 13:01:56 for tarring up for me, it's make distclean, then ls -R1 > MANIFEST.txt, then tar it up 13:02:19 ais523, well, make distclean could leave some *~ files or such around possibly 13:02:20 sh etc/ctrlmfix.sh too if I've been editing on DOS to try to fix the line endings 13:02:29 AnMaster: my distclean removes *~ files 13:02:45 but I generate those in a separate directory nowadays, as I said earlier 13:02:45 while a command like bzr export, only export the version controlled files 13:02:55 something like: 13:03:01 #!/usr/bin/env bash 13:03:24 rm -rf dist; mkdir dist && bzr export . dist 13:03:27 cd dist 13:03:30 autoreconf 13:03:39 13:03:55 echo "Done, now rename it to the ick-1.2.3.4 and tar it up!" 13:04:11 autoreconf generates the configure files and so on 13:04:23 much better than the older way with a complex ./autogen.sh 13:04:33 ais523, see the basic idea :) 13:04:58 actually not sure if you need to mkdir it before exporting, could depend on what version control system and so on 13:05:17 the best thing about version control is that I can still do things with my makefile if needed 13:05:25 just letting version control handle controlling versions 13:05:28 ais523, even if there are no *~, there could be other things, say *.orig from a patch or so on 13:05:40 I go over the MANIFEST by eye 13:05:44 hm? 13:05:49 ah 13:05:54 I don't like stray files littering the src directory anyway 13:06:07 and I may need to take action concerning them 13:06:20 so I find doing it manually to be useful 13:06:25 well then bzr ignored could list all ignored files, again similar commands exist for other programs 13:07:23 it's also nice to be reminded at the same time of all the files which are there 13:07:35 ais523, anyway, generating files for a tar ball should be quite easy :) 13:07:39 yes, it's easy both ways 13:09:26 and then you need some place to put the repo, some webspace, depending on what version control system you select the needs are different, for example bzr can work with a "dumb" webserver, ie, no special configuration. you can send file over by, scp or ftp to upload 13:09:42 hg prevers some cgi script to work well 13:09:48 git I don't know 13:10:01 ais523, but there are hosting sites for them 13:10:17 * ais523 is annoyed at darcs and mySQL for erroring on -ise spellings and accepting -ize 13:10:22 bzr: launchpad, which should fit you as an ubuntu user 13:10:23 how am I meant to remember which to use? 13:10:33 it's as bad as the COLOR/COLOUR in BASIC 13:10:36 err? 13:10:42 ais523, what? 13:10:55 I use Brittish English in my programs 13:11:13 yes, but my gripe is with keywords which differ in American and British English 13:11:16 they should accept both spellings 13:11:38 using British English in the Win32 API will cause loads of link errors, for instance 13:11:39 well I assume intercal does that? 13:11:55 AnMaster: I think all INTERCAL keywords are dialect-agnostic 13:12:20 ais523, well why not POSIX, most of the time it isn't full words 13:12:22 and internal identifiers tend to be abbreviated anyway 13:12:42 just stuff like memcmp instead of memory compare (that may actually be ANSI C rather than POSIX, not sure) 13:12:52 have you seen SQL, by the way? It seems even better than Cobol as a candidate for the language INTERCAL's statement syntax was parodying 13:12:56 windows would have called it MemoryCompareEx 13:13:02 AnMaster: heh 13:13:14 ais523, I used some sql yes, mainly postgresql 13:13:19 you're right, of course 13:13:39 my favourite SQLism: ANY and SOME do the same thing 13:13:55 but nothing apart from the basic SELECT/INSERT/UPDATE/DELETE stuff 13:14:04 so you can write `column` = ANY (...) and also `column` <> SOME (...) 13:14:12 so it flows more naturally in English, you see... 13:14:14 ais523, done some sqlite too 13:14:16 it's almost as bad as PLEASE 13:14:41 I don't remember what ANY or SOME does 13:15:05 mysql> help analyse; 13:15:05 Name: 'PROCEDURE ANALYSE' 13:15:11 mysql> help analyze; 13:15:11 Name: 'ANALYZE TABLE' 13:15:14 that really is bad 13:15:20 yeah indeed 13:15:22 report a bug? 13:15:34 can't be bothered right now 13:16:11 I might at some point, but I'm just using mysql to learn SQL because it's what I happened to get when collecting dependencies 13:16:35 (I'm learning how to write server-side web applications at the moment, so I installed MediaWiki for the dependencies.) 13:17:36 anyway, expr op ANY (list) returns TRUE expr op value is TRUE for any value in the list 13:17:43 and SOME does exactly the same thing as ANY 13:17:50 ok 13:18:41 the other related operator is ALL, which does what you'd probably expect given the above description 13:19:49 (incidentally, J's 'you never need a loop' philosophy is taken even further to the extremes in SQL) 13:20:06 by the way, a MemoryCompareEx on windows would take 7 arguments, three of them are pointers to structs with unions in them with even more parameters 13:20:07 SQL is almost Turing-complete, but there's no way to write an infinite loop without extensions, I think 13:20:19 I've seen a LOOP statement but don't know if it's standard 13:21:04 AnMaster: thinking about what they'd likely do, two would be handles to the memory pages the memory is allocated in, two would be offsets within the pages, and one would be a pointer to a struct describing the request and setting parameters, so I'd guess 5 params 13:21:18 actually, 6, because the Ex normally means they had to add an extra parameter at some point 13:21:24 ah right 13:21:53 (adding extra params to the struct is backward-compatible in Windows API because they have to list the sizeof the struct as its first element) 13:22:15 huh, that's insane 13:22:56 I've been known to use that technique for binary file formats I create, when I feel like creating a binary file format (usually as the save file for a game) 13:23:20 hm, a version number is saner 13:23:24 but if doing it in an API is a good idea, you've got more fundamental problems elsewhere 13:23:29 such as API bloat 13:24:44 ais523, consider how inspircd does protocol for example, in the initial protocol negotiation the servers send protocol version numbers, if they don't match they abort the link 13:25:11 -!- Corun has joined. 13:25:20 well, I don't intend to change the file format once I've finished initial development 13:25:23 I think the current protocol version is 1105, 11 for 1.1, and 05 for the 5th revision since 1.1.0 was released 13:25:35 all of them happened in early versions 13:25:45 but I use the save files to help test things, and it would be a bit awkward to have to continuously replay the games every time I changed their format 13:25:53 so I put auto-update-from-older-version code in 13:26:08 what games are these? 13:26:54 anyway the normal way of handling it is adding some form of cheat mode while developing 13:27:01 little toy things that have never been released 13:27:05 there are cheat modes too 13:27:17 but having a consistent game state is more useful 13:27:30 as well as allowing me to develop the program and map/levels simultaneously 13:27:30 for example supertux got a console that lets you run things in the script language it use (squirrel) 13:27:44 one of my games stored all its information in binary 13:27:47 ais523, oh and why binary formats? 13:27:54 and you could type a cheat combination and type in raw hex 13:27:56 supertux use S-Expressions :D 13:28:24 binary formats is harder to maintain 13:28:35 binary formats because it saves atoi overhead, and because breaking portability is sort-of what you want with games 13:28:46 you want that? 13:28:49 you don't want it easy for the user to edit the save file either 13:29:32 hm 13:29:43 ais523, well level files shouldn't be in binary then 13:29:52 they're in text in some of the games 13:30:02 -!- Corun has quit (Client Quit). 13:30:12 in some cases I store them in spreadsheets, using the background colour directly 13:30:15 ais523, allowing users to make custom levels in fun 13:30:20 yes 13:30:24 err..? spreadsheets?? 13:30:26 I used to extract the colours with Excel macros 13:30:39 wait a second... this sounds insane? 13:30:48 but OpenOffice.org macros are lousy, so now I parse the raw ODF 13:31:01 ais523, why a document format for it!? 13:31:13 writing a level editor is hard 13:31:14 I mean... even xml is better than that 13:31:28 setting pixels by higlighting them in a spreadsheet program and clicking on a background colour is easy and intuitive 13:31:46 and you can type commands directly into the cells 13:31:59 yes, so it's insane, but useful in some cases, especially when you have many different background colours 13:32:08 most text editors don't have a decent rectangle fill 13:32:29 ais523, writing a level editor is simpler than parsing a spreadsheet file 13:32:33 and with the ones that do, it isn't as intuitive as a spreadsheet, plus you can't store commands in the same place as the colours without breaking the ASCII art 13:32:35 and less prone to bitrot 13:32:42 file formats change 13:32:51 I think openoffice changed it's once, not sure 13:34:19 http://filebin.ca/xkcbq/ods2gbm.pl <-- you can write a level editor simpler than that? 13:34:36 and OpenOffice.org did change its file format once, to comply with the international ODF standard 13:35:14 pretty much all office suites except MS Office use ODF nowadays, and the bits of that standard I use are unlikely to change 13:35:23 ais523, you can reuse a lot between the game and the level editor 13:35:28 ie, rendering, parsing and so on 13:35:52 with a level editor, you generally want much larger amounts of the level to fit onto screen at once than when playing the game 13:36:08 yes, and? 13:36:37 now suppose you're using a custom bitmap tileset, which I often am 13:36:43 if you use opengl to render it you could just move the camera further away 13:36:46 and the tiles become indistinguishable from each other when scaled down 13:36:51 AnMaster: nothing nearly so advanced 13:36:55 my Windows games used GDI 13:37:02 and just blitted prerendered bitmaps to the screen 13:37:08 although I am learning OpenGL at the moment 13:37:14 ais523, supertux use tiles of *.png, it renders them by either sdl or opengl, the level editor is opengl only 13:37:19 most of the games ran under DOS 13:37:23 some were even text-mode 13:37:26 zooming is easy, just some matrix tranformation 13:37:36 I have an ASCII-art platformer somewhere 13:37:56 ais523, well nothing wrong with that, but you can't show more of the level with that 13:38:00 actually, IBM-extended-art 13:38:07 AnMaster: no, you couldn't 13:38:28 anyway you want to be able to zoom in a level editor, to see both the details and to get an overview 13:38:29 I just used edit.com as an editor for that (it worked the best out of the editors I had installed on Windows at that time) 13:38:38 if I was doing it nowadays I'd probably use Emacs 13:38:53 AnMaster: you aren't helping your case that a level editor is easier than just parsing some ODF 13:39:06 after all, both Excel and OpenOffice.org already have zoom functions 13:39:14 as well as nifty things like copy-paste 13:39:21 ais523, point is you can reuse a lot of the game engine 13:39:28 at least if you do it with opengl or similar 13:40:01 ais523, and level parsing/writing is done with serializing classes to 13:40:29 or structs if you aren't used object orientation 13:41:12 mostly arrays, actually 13:41:20 ok 13:41:36 and when using binary I just write them with fwrite 13:42:25 in supertux you can have multiple tilemaps, some solid, other not, to create say rising lava in a level you would fill a tilemap with lava, set it to solid, and add a path, then add a script activator somewhere to start the moving of the tilemap along the path 13:43:02 each tilemap is a class, the tileids are stored in an array of the tilemap 13:44:13 heh, to create rising lava I just fill lots of squares with character 219, foreground set to red... 13:44:24 and how do you make it rise? 13:44:55 anyway having multiple tilemaps, with different z-index, well... a spreadsheet wouldn't work then 13:45:34 AnMaster: 2D, one direction is gravity 13:45:36 ais523, with a design such as that of supertux, a level editor is quite simple. a lot of code can be shared, just add a few dialog boxes and a draw tool basically 13:45:41 so I make it rise by filling in more square 13:46:14 supertux is also 2D 13:47:07 ais523, point is, depending on the design of the game engine, adding a level editor need not be harder than trying to parse a spreadsheet 13:47:23 did you look at my spreadsheet parser? 13:47:28 it's only a couple of screens of Perl 13:47:29 I did 13:47:38 and a substantial portion of that is defining which colours map to which tiles 13:50:25 ais523, yet how would you handle multiple tilemaps in a spreadsheet 13:50:36 or features like adding a path 13:50:38 what do you mean by multiple tilemaps, here? 13:50:53 ais523, say a foreground tilemap, a background one and so on 13:50:57 that are overlayed 13:51:07 some can be solid 13:51:27 at least one should be solid 13:51:31 but more are allowed 13:51:34 I've used patterns (an Excel) feature before when doing that sort of thing, and they could be used for that purpose 13:51:51 ais523, a limit on amount of tilemaps then 13:52:23 I think supertux doesn't have a limit, though 3-5 are recommended, more than that and the game could become slow on old computers 13:52:26 I never used more than 1 anyway 13:52:44 ais523, it is quite useful for creating effects 13:52:52 and nice looking levels 13:53:04 effects are a bit advanced for what I was doing 13:53:26 except for the most recent stuff, it was a case of black blobs are walls, cyan blobs are people, etc... 13:53:28 ais523, consider that some tiles can be transparent, say a grass tile doesn't take up the whole tile 13:53:34 then you want a tree in the bg 13:53:38 yes it does 13:53:46 and if I want a tree I'll place a tree tile 13:53:57 ais523, with a bush in front? 13:54:05 you need a custom tile for each one then 13:54:16 but I'm looking at the game world from above 13:54:18 instead, you could place a tree and in front of it a bush 13:54:24 ais523, ah? not a side scroller? 13:54:38 my side scrollers never got beyond the ASCII-art stage 13:54:40 supertux is a side scroller 13:55:07 ais523, oh and what about secret areas 13:55:23 some games didn't have any 13:55:37 other games just had them far enough from the main view that they weren't onscreen at the same time as the main areas 13:55:47 you want say a grotto on the side that is hidden, then when you enter it, the wall fades away so you can see what's inside the area 13:55:48 because you could only see about 4 tiles away from where you were in most games 13:55:54 then you want several tilemaps 13:56:07 AnMaster: I did that with lots of triggers and recolour commands 13:56:19 go near the wall and it creates the cavern for you 13:56:21 ais523, sounds like harder to maintain 13:56:25 walk away from the wall and it fills it back in 13:56:30 and it was hard to maintain 13:56:52 with supertux you could add a script trigger with say: tilemapfoo.fade(); 13:57:05 (you can name objects that you can use in scripts heh) 13:57:19 actually not sure it is fade(), need to check script api docs XD 13:57:43 http://supertux.lethargik.org/wiki/Scripting_reference 13:58:01 ah it's: fade(float alpha, float seconds) 13:58:22 not FadeTilemapEx? 13:58:25 hahaha 13:58:38 ais523, well the api is somewhat sane IMO 13:58:42 compared to windows API 13:58:55 AnMaster: you could say that about most APIs 13:59:07 and it is object orientated so... 13:59:12 I'd even venture to say that the C-INTERCAL external calls API is somewhat sane compared to the Windows API 13:59:14 ais523, well sane overall 13:59:16 and it has COME FROMs in 14:00:31 ais523, the only issue is that calls tend to be non-blocking, so if you want a cut scene where you want to fade and wait for it to finish, then do something else and so on, you need to add calls to wait() 14:00:58 -!- timotiis has joined. 14:01:02 * ais523 envisions what a cross between C++ and bash would be like 14:01:08 tilemapfoo.fade(a,b) &; 14:01:09 ais523, err why? 14:01:14 hahah 14:01:38 ais523, well, I don't know how the internals of the scripting part work on the C++ side actually 14:01:52 but the scripting language is one called squirrel 14:02:05 and there is where the issues are, rather than in the scripting API 14:02:41 actually, that C++/bash hybrid doesn't seem so ridiculous; bash has a nice easy-to-use attitude to concurrency 14:03:09 then all we need are ONCE, AGAIN, computed ABSTAIN, REINSTATE, and COME FROM, and you can construct most threading primitives pretty easily 14:03:09 want a variable that stays around until next time the script snippet is called? IIRC, you do something like: this.foo <- true 14:03:11 for example 14:03:37 ais523, just one thing: bash does concurrency by fork() iirc 14:03:50 yes, fork/exec 14:03:56 brb food? 14:03:58 its concurrency model isn't powerful, or anything like that 14:04:01 err s/?/ 14:04:12 it's just that it's easy to type and think about 14:12:45 hm 14:13:06 ais523, oh and it does fork for a lot of other cases where it really isn't needed 14:13:07 say: 14:13:33 foo is a bash function, it only uses bash built-ins 14:13:48 then you do say: myvariable=$(foo bar quux) 14:13:55 that will fork and capture the output 14:14:06 when the function is builtin, it really wouldn't be needed 14:14:41 ais523, the only way to return a value from a function therefore is to use a out variable 14:14:42 that's why bash recommends $(< file) rather than $(cat file) 14:14:43 so: 14:14:54 foo myvariable bar quux 14:14:56 then in foo 14:15:08 printf -v "$1" "%s" "$tempvariable" 14:15:18 that needs bash 3.1 or later 14:15:28 the -v option to printf didn't exist before that 14:15:37 ais523, well for reading a file sure 14:15:58 BTW, $() is just backquotes, but nestable, right? 14:16:33 ais523, iirc yes, there may be more syntax differences related to quoting though, but not sure 14:16:42 just using $() is simpler 14:16:47 easier to read and so on 14:17:07 and unless you need it to run on really old shells it works fine 14:17:30 of course for a configure script for example you want backquotes therefore 14:17:48 I like backquotes anyway 14:17:58 I'm glad they're in ASCII 14:18:07 well so are $ and ( and ) iirc? 14:18:13 yes 14:18:17 ais523, anywa ` is just ` here 14:18:21 but I'm not surprised that they're in ASCII 14:18:22 anyway* 14:18:28 ie, ` is a "dead key" 14:18:31 on Swedish keyboard 14:18:46 makes sense, most languages need more letters than English does 14:18:49 for stuff like é and such 14:19:11 ` is dead in the normal Finnish keymap, too, but I always make it undead, since I need ~s and such far oftener than strange accented characters. 14:19:27 actually the forward one is just same as the backward one, same key but ` is shift key as well 14:19:44 fizzie2, err, "need ~s"? 14:19:55 what has ~ got to do with `? 14:20:24 At least here ~ is a dead key too. All three of ^, ~ and ¨ are in a single completely corpse-like key. 14:21:00 on this UK keyboard I only have ¬£ as non-ASCII characters, also a key which sometimes produces a weird vertical-bar-but-not-really char on Windows but is mapped to | on Linux 14:21:00 ~ is a dead key here too, hm: AltGr+ followed by space 14:21:25 over here ~ is right next to return, so much so that you can type rm * rather than rm *~ by mistake 14:21:31 ais523, you mean the split vertical bar thing? 14:21:37 yes 14:21:44 Finnish and Swedish keymaps should be pretty similar, I've used the Swedish one with NetBSD or something which didn't have a specific Finnish one in the default set. 14:21:47 isn't that just a case of weird dos font? 14:21:52 only the key /marked/ split vertical bar is over backspace 14:21:57 that produces regular vertical bar 14:22:01 fizzie2, yeah iirc they are more or less the same 14:22:10 the key which looks like a regular vertical bar is AltGr-` 14:22:17 and it produces split vertical bar on Windows 14:22:28 http://en.wikipedia.org/wiki/Keyboard_layout#Swedish.2FFinnish 14:22:29 and shade-half-the-pixel vertically on DOS 14:22:34 s/pixel/texel/ 14:22:34 fizzie2, wikipedia says they are the same 14:23:11 only the key /marked/ split vertical bar is over backspace <-- I got no one marked like that here 14:23:25 not surprising 14:23:26 and, over backspace? that would be F11-F12 on this keyboard 14:23:28 and not backspace 14:23:30 backslash 14:23:32 ah 14:23:34 and 'over' as in with shift 14:23:41 well \ is AltGr-+ 14:23:47 Actually in this particular keyboard the normal | key is marked with the broken-bar symbol. 14:23:48 + being right of 0 14:23:50 here \ is to the left of z 14:24:05 `1234567890-= 14:24:10 fizzie2, AltGr-< you mean? 14:24:16 ?qwertyuiop[] 14:24:24 AnMaster; Yes. Of course it doesn't produce the silly broken-bar symbol. 14:24:34 asdfghjkl;'# 14:24:35 1234567890+ 14:24:37 ais523, ^ 14:24:45 \zxcvbnm,./ 14:24:48 § is in front of 1 14:24:53 weird IMO 14:24:55 I don't have section-sign on this keyboard 14:25:09 We have a §, and shift-§ produces a ½. 14:25:23 and | and € are the only chars on the whole keyboard that use AltGr 14:25:28 I don't remember when I've last pressed that key non-accidentally. 14:25:31 well I do, but that key looks unused (some keys no longer have readable symbols on them) 14:25:44 it's about as useless as Shift-4 being ¤ 14:25:48 another symbol I never use 14:26:09 fizzie2, same about the ½ bit 14:26:38 I have used that once, in this channel, when I suggested that oklotalk should be able to parse that symbol as a fraction meaning 1/3 14:26:38 my keyboard's really quite impoverished 14:26:39 XD 14:26:43 but US keyboards are even worse 14:26:49 They have two keys for \, I think 14:27:00 ais523, well there are more with AltGr, that aren't marked 14:27:05 µ = AltGr-m 14:27:11 that's actually useful 14:27:23 that is about the only non-marked one I actually use 14:27:30 wish there was one for pi 14:27:33 but I don't think there is 14:27:37 My home keyboard layout has altgr-[a-z] mapped to "correct" greek letters. 14:27:43 oh AltGr-e = € 14:27:45 So altgr-p would produce the pi symbol. 14:27:54 AltGr-p = þ 14:27:55 here 14:27:59 whatever that one is 14:28:17 Yes, the standard xfree/xorg altgr mapping is full of all kinds of unlikely characters. 14:28:33 hey, it works here too, but they're unmarked chars 14:28:39 fizzie2, I use more or less standard Swedish layout, except that I used xmodmap to do something useful with the windows keys 14:28:45 one is meta, the other is super 14:28:53 攢ðeđŋħ→jĸłµnøþ@¶ßŧ↓“ł»←« 14:29:06 oh, and the single Windows key here is super 14:29:22 strange that there's a Windows key at all, though, because the laptop came with Linux preinstalled 14:29:22 Þ and ð are part of at least the Icelandic alphabet. 14:29:26 and XP manuals 14:30:08 which was doubly confusing: both because a Linux computer doesn't need XP manuals, and because I didn't realise such manuals existed (I've haven't seen them with a Windows computer since 3.1) 14:30:40 there are xp manuals? 14:30:53 I can understand µ, since that's so very useful, but I don't quite see why of all the greek letters they've included kappa (ĸ) and not π or λ. 14:30:58 iirc all there was was a "getting started" 4-page thing 14:31:48 AnMaster: I think it may have just been a getting started thing, but it was about 100 pages long 14:34:09 hm, the one I can find here, contains stuff like "here is how you find the help system, and this how awesome xp is" 14:34:35 6 pages in fact 14:35:02 so they could only write 6 pages about how awesome XP was? Sounds about right 14:35:11 Vista would have about 1 and a half pages of how wow it was 14:35:13 well a lot was pictures 14:35:45 and one page is how to find online help 14:35:56 so 5 pages with a lot of pictures 14:36:25 ais523, note that this isn't even a4, it is more like 20*10 cm, where 10 is the height 14:36:36 mine was small too 14:36:42 manuals rarely are A4 14:36:43 quite thick and blank paper though 14:37:03 ais523, well they are rarely wider than they are high though 14:37:07 which this one is 14:37:20 BTW, the reason I haven't been here much recently is that I was recovering from writing a report with a page limit of 80 pages in a group of 10 people 14:37:20 I don't have a ruler here so can't check exactly 14:37:34 ais523, about what? 14:37:37 I had the job of reformatting it from 129 pages down to 80 without changing the paper size or font size 14:37:40 AnMaster: university project 14:37:43 ah 14:37:44 I managed it, though 14:37:54 ais523, what about margins then? 14:37:59 standardising vertical whitespace, using tiny margins, and changing the font to Arial Narrow 14:38:04 ah 14:38:12 also moving pictures next to each other 14:38:27 we had to move 3 pages worth of stuff to appendices to leave room for page numbers, though 14:38:28 ais523, well not very readable then 14:38:33 perfectly readable 14:38:44 just not as space-wasting as usual 14:38:45 I mean, too wide lines are not readable 14:38:59 but the lines weren't much wider than regular lines 14:39:08 hm, you said tiny margins? 14:39:10 the margin was dropped from 1 in to 1 cm 14:39:19 that's not a ridiculous proportional increase in line length 14:39:27 so how long was the line then? 14:39:41 anything wider than 12-13 cm is hard to read IMO 14:39:49 A4 page width - 2 cm 14:39:50 less is preferable 14:39:55 you can work it out from that 14:40:37 I had to fit an amount of text into a four-page two-column conference paper format without changing font sizes, fonts at all, margins, or just about anything; since they were all dictated by the latex template enforced by the conference organizers. Fortunately there weren't that many extra lines of text, so I got it done by tweaking the inter-figure/table spacing to be a bit narrower. 14:40:38 well, that means something like 19 cm wide I think 14:40:59 fizzie2, heh 14:41:49 Now I just stuck the same text to a standard one-column \documentclass{article} template, since they're going to let me extend the paper a bit for study credits; and suddenly it produced a 12-page output file. 14:42:13 the vertical whitespace is what saved most of the space for me 14:42:36 we edited the report in Google Docs, and some people copy/pasted from Microsoft Word (which is not advisable) 14:42:36 -!- Corun has joined. 14:42:58 so I exported as OpenOffice.org and used regexps to fix the paragraph breaks 14:43:14 and then set paragraph spacing to single and between-paragraph spacing to half a line 14:44:05 fizzie2, oh? 14:44:10 interesting 14:44:37 well the \documentclass{article} got sane line length IMO 14:45:17 with 2 columns you can fill more of the page of course 14:45:29 Yes, and the conference paper format was pretty space-efficient, two columns and 9pt font, or 8pt for references. 14:45:54 9 pt, a bit small 14:54:58 The line length (when measured in characters) of the 9pt two-column thing seems to be about 80% of what the default article-class (12pt or 11pt or some-such font, nice and wide margins) has. 14:58:28 * ais523 has seen a web page where they have a middot with every possible combining diacritical mark on it 14:58:39 to its credit, Firefox rendered the resulting mess plausibly 15:00:18 http://forums.thedailywtf.com/forums/t/8425.aspx <--- it's a very esolang-attitude thing they're doing there, although you have to appreciate how bad the forum software is to get what they're doing 15:04:22 I came across a rather horrible 10-or-so-combining-characters example somewhere on unicode.org, too, but the site is so hugey I can't find it againt; it wasn't in any of the three places I thought it might be. 15:06:14 fizzie2, hm how is that possible? 15:06:33 ais523, and that link doesn't seem to have those dots? 15:06:51 AnMaster: they discussed using them for a while, and then moved onto even more insane things 15:07:05 the whole discussion is what's interesting 15:07:06 ais523, it's a long page, I can't find it 15:07:22 basically, the forum software used doesn't escape anything but