--- Log opened Mon Mar 16 00:00:51 2009 |
00:03 | <@Derakon> | ...this line...says something about my coding. I just don't know what. |
00:03 | <@Derakon> | type = self.deadSeeds[(chunk[0][0], chunk[0][1])][0] |
00:03 | <@ToxicFrog> | Still better than linear! |
00:09 | < GeekSoldier> | crap. apparently, pygame does not work with 64 bit windows. |
00:13 | <@Derakon> | Haha, that's got it! |
00:14 | <@Derakon> | http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result10b.png |
00:15 | <@Derakon> | I'm not certain why there are some areas of the map that are skipped by the wallwalker (see e.g. just NW of center at the intersection), mind. |
00:21 | <@Derakon> | Yes, with a little tweaking, I think this will serve nicely. 5.727s to create this: http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result10c.png |
00:38 | <@McMartin> | Hm |
00:38 | | Finerty is now known as Vornicus |
00:38 | <@McMartin> | Hey Vorn! |
00:38 | <@McMartin> | Regarding Vornlink. |
00:38 | <@McMartin> | http://ifwiki.org/index.php/Intro_to_Jabberwocky |
00:38 | <@McMartin> | Oops, wrong link |
00:38 | <@McMartin> | Different game by that guy, Flash h4xx0r game |
00:38 | <@McMartin> | http://www.kongregate.com/games/GregoryWeir/exploit |
00:38 | <@McMartin> | There we go |
00:38 | | * Derakon eyes his wallwalker. |
00:38 | <@Derakon> | This should not be a problem! |
00:44 | < GeekSoldier> | installing 32 bit python instead of 64 bit fixed the problem. |
00:46 | <@Vornicus> | what is your problem? |
00:46 | <@Derakon> | I'm playing Exploit~ |
00:46 | | * McMartin eyes this crash report. |
00:47 | <@McMartin> | The stack trace is 19,250 frames deep. |
00:47 | < GeekSoldier> | pygame was not working previously. apparently, it and Win64 do not play well when Python 64 bit is installed. |
00:47 | <@Derakon> | Yow. |
00:47 | <@Vornicus> | McM: is this at work? |
00:47 | <@ToxicFrog> | That's...fairly impressive. |
00:47 | <@Vornicus> | Yeah. I've hit a thousand frames before but it's... |
00:47 | <@ToxicFrog> | And my instinctive reaction is "the core is corrupt"~ |
00:48 | <@Vornicus> | Well, recursion needs a terminator. |
00:48 | <@McMartin> | Yeah, I'm guessing "runaway recursion" |
00:48 | <@McMartin> | Probably unintentional recursion. |
00:49 | <@McMartin> | C++ is probably doing something behind the code's back that involves going back to its first step |
00:49 | | AnnoDomini [~farkoff@Nightstar-29305.neoplus.adsl.tpnet.pl] has quit [Quit: Death is always at your back, for all return to the earth from which they came, the fire of life is at the births to come, the tears of a mourning woman are at your left, and the wind blows forth from your right.] |
00:52 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
00:54 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
00:54 | | mode/#code [+o Attilla] by ChanServ |
01:02 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>] |
01:19 | <@gnolam> | Hmm. I wonder if I can do anything more creative with this hosting's final months than a rickroll. |
01:20 | < Tarinaky> | meatswing? |
01:21 | < Tarinaky> | Or A biiiig sign that says: "YOU JUST LOST THE GAME" |
01:23 | <@gnolam> | The former is too... nasty, and the latter is a bit too obscure. |
01:23 | <@gnolam> | I don't want to do anything actually /malicious/ here. |
01:23 | < Tarinaky> | The game isn't obscure. |
01:23 | < Tarinaky> | I think everyone in my physics department knows the game. |
01:23 | < Tarinaky> | Possibly everyone in the Uni. |
01:26 | <@gnolam> | But it's not common knowledge among the unwashed masses^W^W general public. |
01:27 | < Tarinaky> | Pfft, fuck the public. |
01:28 | < GeekSoldier> | tried that... stupid anti-prostitution laws. |
01:28 | | * Derakon finishes the story mode on Exploit. |
01:28 | <@Derakon> | Well-made, I have to say. |
01:32 | < Moltare> | gaaah |
01:32 | < Moltare> | SQLWave5 would have to run out of trial time three days before I'm done with it -_- |
01:32 | <@Derakon> | What is it? |
01:33 | < Moltare> | SQL DB manipulation GUI |
01:33 | <@Derakon> | Try MySQL Query Browser. |
01:33 | < Moltare> | ah, thanks; I shall do so |
01:33 | <@Derakon> | Which is pretty no-frills but is a heck of a lot better than running on the command line. |
01:34 | < Moltare> | Yeah, that's what I was using this other one for |
01:35 | < Moltare> | But I need another three days out of it and I'm not dropping seventy quid on it |
01:35 | < Moltare> | and there are no cracks available I MEAN I WOULD NEVER |
01:49 | < Moltare> | hm. Do you happen to recall where the data-entry portion is in MySQL Query Browser? |
01:49 | <@Derakon> | How do you mean, data-entry portion? |
01:49 | <@Derakon> | There should be a query box at the top of the window. |
01:50 | < Moltare> | No, the view that shows you all the entries currently in a given table and lets you edit individual elements |
01:50 | <@Derakon> | ...I'm not aware of any such thing; I always used queries when I wanted to modify things. |
01:51 | <@Derakon> | That doesn't mean it doesn't exist, of course. |
01:51 | < Moltare> | Oh. That was the main reason I was using this other thing |
01:51 | < Moltare> | The other being telling me why my horrible code was breaking, which this is also not doing >_> |
01:52 | < Moltare> | "You got it wrong on line 1" is not helpful when it is all line 1 |
01:52 | <@Derakon> | MySQL Query Browser's error reporting is crap, yes. |
01:52 | < Moltare> | I'd check the help docs, but they're 404ing on me ¬¬ |
01:52 | <@Derakon> | Especially since you can't (AFAICT) clear the error window, and new errors are appended on the bottom, which scrolls off. |
01:53 | < Moltare> | You can clear it, on a right-click |
01:53 | <@Derakon> | Ahhh. |
01:53 | < Moltare> | but, yes, not pleasant |
02:04 | | * Derakon fixes more boogs. |
02:07 | <@ToxicFrog> | mysql-administrator, perhaps? What's the host system? |
02:11 | | somnolence [~somnolenc@Nightstar-5762.hsd1.ca.comcast.net] has joined #code |
02:16 | | * Derakon gets that little pointless-platforms-in-flat-corridors problem licked. Caused by mixing gridspace distances with realspace distances, which are larger by a factor of 10. |
02:18 | < Moltare> | augh. Alright, I admit defeat here, I've reduced this query to its utter minimum and it's still complaining at me and I don't know why. |
02:18 | <@Derakon> | Pastie it? |
02:18 | < Moltare> | UPDATE Project |
02:18 | < Moltare> | SET `slots` = 950 |
02:18 | < Moltare> | WHERE `project_id` = 3; |
02:19 | < Moltare> | Says there's a syntax error in line 1. |
02:19 | | Syloqs-AFH [Syloq@Admin.Nightstar.Net] has quit [Ping Timeout] |
02:20 | < Moltare> | Tried without the backticks, tried with quotes around the values |
02:22 | <@ToxicFrog> | Don't you need a ; on the end? |
02:22 | <@Derakon> | He has one. |
02:22 | <@ToxicFrog> | Oh, I see, that's all one command |
02:22 | < Moltare> | It's word for word taken from a half-dozen web tutorials |
02:22 | | Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code |
02:23 | < Moltare> | I see no reason it shouldn't work, unless I had the names wrong. Which I don't. |
02:23 | <@Derakon> | And that shouldn't be a syntax error, either. |
02:23 | | Syloqs_AFH is now known as Syloqs-AFH |
02:24 | <@Derakon> | Try this? "UPDATE Project SET slots = 950 WHERE project_id = 3;" All on one line, as I would normally write the query. |
02:24 | < Moltare> | Syntax error on line 1, again. |
02:26 | <@Derakon> | Bizarre. |
02:26 | <@Derakon> | Are 'Project' or 'slots' reserved words, maybe? |
02:27 | < Moltare> | None of the SELECT or INSERT INTO queries complained. |
02:28 | < Moltare> | And it still does it if I try grabbing "location" from "Event" |
02:29 | < Moltare> | er, |
02:29 | < Moltare> | updating location in evnt |
02:31 | <@Vornicus> | project is an operation mentioned in relational algebra. |
02:32 | <@Vornicus> | It is probably a reserved word. |
02:32 | <@Vornicus> | The latest mysql docs do not mention it though. |
02:33 | <@Derakon> | That wouldn't explain the location/Event issue. |
02:33 | <@Derakon> | Try lowercase 'project'? *shrug* |
02:34 | | Syloqs-AFH [Syloq@Admin.Nightstar.Net] has quit [Connection reset by peer] |
02:35 | | Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code |
02:36 | | Syloqs_AFH is now known as Syloqs-AFH |
02:37 | < Moltare> | nope |
02:37 | <@Vornicus> | SQL is not case-sensitive. |
02:42 | < Moltare> | I don't understand this ;_; the program's own help docs are telling me I'm doing it right, and yet when I try it it complains |
02:44 | | * Vornicus has no idea. |
02:53 | <@McMartin> | Man, lazy evaluation weirds out my instincts. |
02:53 | <@Derakon> | Implementing it, or using it? |
02:53 | <@McMartin> | Using it |
02:54 | <@McMartin> | Predicting how much computation will be done by a function while writing it, for instance |
02:54 | <@Derakon> | Ahh. |
02:54 | <@McMartin> | In particular, if I go back to ML from these I'm going to get burned so very hard. |
02:54 | <@McMartin> | This code looks like it's reading in an entire file and doing conversions of each character on it, in reverse order. |
02:55 | <@McMartin> | In fact, it reads exactly as much as you ask for, as you need it, and is converting forwards. |
02:56 | <@Vornicus> | Lazy evaluation can be Rather Scary. |
03:14 | <@MyCatVerbs> | Don't worry about how much computation gets done when you hit a particular element - if you wanted hard real-time guarantees everywhere, you should not be using Haskell because it is not designed for that. |
03:14 | <@MyCatVerbs> | What you want to worry about instead is how many nested thunks get built up, because those cost memory and in extreme cases lead to stack overflows when the RTS dives into them to evaluate them. |
03:17 | <@Derakon> | Okay, I guess none of the rest of you will find this interesting, but I do. |
03:17 | <@Derakon> | http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result11a.png |
03:18 | <@Derakon> | In that image, the colored dots indicate which sector of the map has laid claim to that area. |
03:18 | <@Vornicus> | What am I looking at. |
03:18 | <@Derakon> | Sectors are tied to tree branches. |
03:18 | <@Derakon> | The cyan circle represents the point at which the nearly-vertical line tried to find one of its sector borders, for the wallwalking algorithm. |
03:19 | <@Derakon> | Unfortunately for it, all of its sector is embedded in the wall. |
03:19 | <@Derakon> | Because the two yellowish sectors were greedy pigs. |
03:19 | <@Derakon> | So it couldn't find one of its borders, tried to run the wallwalking anyway, and crashed. |
03:19 | <@McMartin> | MCV: But they won't get built up until I hit the immediately previous one in something like foldr, right? |
03:20 | <@Derakon> | Hrm...will 'break' function outside the context of a loop? |
03:20 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?] |
03:20 | <@Derakon> | I want to get back out to the top level of this function, but all I'm contained in is two if statements. |
03:20 | <@Vornicus> | Ooops |
03:20 | <@Derakon> | Hm. No, it doesn't. |
03:21 | <@Derakon> | Neither does 'continue'. |
03:21 | <@Vornicus> | Raise is the usual way to bounce out. |
03:21 | <@Derakon> | Oh, ick. |
03:21 | <@Derakon> | This is an expected (well, expected now), if rare condition. It shouldn't warrant an exception. |
03:21 | <@McMartin> | MCV: If you want to look over http://paste.ubuntu.com/131804/ and tell me where I'm Doing It Wrong, I'd be appreciative. |
03:21 | <@Vornicus> | Oh, out of just if statements, not up a recursive function. |
03:22 | <@Derakon> | Yeah. |
03:22 | <@MyCatVerbs> | McMartin: it depends. Things that immediately result in a constructor can get returned lazily by right folds. Hence, foldr (:) [] is a lazy identity on lists. |
03:22 | <@Derakon> | I'm in "if (foo) { if (bar) {whoops, don't do the rest of if foo} rest of foo} some stuff I want to do" situation. |
03:23 | <@McMartin> | Derakon |
03:23 | <@McMartin> | So... |
03:23 | <@Vornicus> | That's definitely a try / except / finally thing. |
03:23 | <@McMartin> | if (foo) { if (!bar) { rest of foo } } stuff |
03:23 | <@Vornicus> | Or that |
03:23 | <@Derakon> | Bah...that indents the rest of the function again. ¬.¬ |
03:23 | <@McMartin> | Or, if it's actually *right there* |
03:23 | <@Derakon> | But yes, thank you. |
03:23 | <@McMartin> | if (foo && !bar) { stuff; } more stuff; |
03:24 | <@Derakon> | Sadly, there's logic in between. |
03:24 | <@MyCatVerbs> | McMartin: nothing in there immediately strikes me as heinous. |
03:24 | <@Derakon> | It's actually "If (parent is not None) {try to find a wall; if (wall could not be found) {whoops}" |
03:24 | <@McMartin> | Yeah, I'd just invert the test as "if wall { yay wall }" |
03:25 | | * Derakon indents 58 lines of code~ |
03:26 | <@McMartin> | Mmn. Looking at it, I think it's accepting UTF-8 strings it shouldn't. |
03:26 | <@McMartin> | But I'd have to count some stuff up to make sure. |
03:27 | <@McMartin> | I think it might be possible to express codepoints that are outside of UTF8's permitted range. |
03:27 | | * Derakon fixes yet another bug, yay. |
03:27 | <@McMartin> | (Yes, I'm aware there's a Utf8string module, that's not the point) |
03:27 | <@Derakon> | Maybe this time I'll make it through two randomly generated maps before crashing or infinite-looping~ |
03:27 | <@MyCatVerbs> | Perhaps you want to write, innerChar = foldl' (\b x -> b && (inRange 0x80 0xC0)) True -- the foldr there can happily be changed to a foldl', which will be a little faster and allocate a touch less memory, and you can always merge a map with a fold (AFAIK the compiler frontend can do it for you, but sometimes it's fun to do these things oneself anyway). |
03:28 | <@Vornicus> | 58 lines of code? |
03:28 | <@Vornicus> | In one if statement? |
03:28 | <@Derakon> | Yeah. |
03:29 | <@Derakon> | The entire function is 80 lines long. |
03:30 | <@Derakon> | Get border of our sector; walk wall; every 5 paces stop, calculate local slope, and make a platform if necessary; recurse on children. |
03:30 | <@MyCatVerbs> | McMartin: are you actually having trouble with your code there? Because it looks sane. |
03:31 | <@McMartin> | MCV: No; I just wanted to be sanity-checked. |
03:31 | | * Derakon eyes http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result12.png and notes a few problems. |
03:31 | <@McMartin> | It looks like it's working, in that I can say putStrLn $ toUtf8 "\12360\12358" and get kana out on my UTF-8 terminal |
03:32 | <@Derakon> | For example, that terribly narrow vertical shaft SE of center, and the room near the SE corner that can't be exited. |
03:32 | <@MyCatVerbs> | McMartin: good, because I thought *I* was going insane, looking for a problem which I thought you had. No, that's not only sane but actually pretty. =) |
03:32 | <@McMartin> | I was mostly concerned with matters of style and such. |
03:33 | <@McMartin> | (The only bug that might possibly be there is on the guard on line 25, which may need to put sharper restrictions on either h or m1.) |
03:33 | <@MyCatVerbs> | Meh. You already have taste, and you don't actively fight against Haskell's idioms. I wouldn't worry about style. ^^ |
03:34 | <@McMartin> | The point-free style still breaks my mind a little, though I did some simplifications to it |
03:34 | <@McMartin> | inRange and innerChar are in particular kind of o_O |
03:34 | <@MyCatVerbs> | Point-free style isn't necessary if you don't want to use it. GHC generates the same code either way. |
03:34 | <@McMartin> | Well, it was handy for inRange. |
03:35 | <@McMartin> | "Crap, need to convert from Char. Um, I'll just jam a ". ord" at the end." |
03:35 | <@MyCatVerbs> | :) |
03:35 | <@MyCatVerbs> | But yeah, that whole thing looks like it should be properly lazy. If you want to try it the hard way, try it on an infinite string. |
03:35 | <@Derakon> | ...what, are Haskell strings linked lists? |
03:35 | <@McMartin> | Yes. |
03:35 | <@MyCatVerbs> | Derakon: yes. |
03:35 | <@McMartin> | Of characters. |
03:36 | <@Derakon> | Okay then! |
03:36 | <@McMartin> | Which are in turn arbitrary Unicode code points. |
03:36 | <@McMartin> | Which removed a *great many* conversions that were there originally. |
03:36 | <@MyCatVerbs> | Derakon: it costs even more memory than you probably expect it to. Fortunately there are packed string libraries in Hackage. |
03:36 | <@Derakon> | Well, the impression I've gotten is that Haskell is Not About Performance. |
03:37 | <@MyCatVerbs> | Try, say: take 40 . drop 500000 . toUtf8 . cycle $ "Desu! " |
03:37 | <@MyCatVerbs> | That should munch CPU for a little while, but not an interesting quantity of RAM. |
03:38 | <@McMartin> | The fact that most transformers release memory as fast as they allocate new bits makes the "pure functional" stuff pretty irrelevant |
03:38 | <@MyCatVerbs> | Derakon: not entirely. It's not about realtime performance, but there is a pretty strong focus on (perhaps sometimes necessarily amortized) throughput. |
03:40 | | Skalgeth [achmedthed@Nightstar-7055.dialup.spfdmo.swbell.net] has joined #Code |
03:40 | <@MyCatVerbs> | If Haskell really wasn't about performance at all, then it'd probably have had things like extensible records and good runtime code loading a long time ago. |
03:40 | < Skalgeth> | hello |
03:40 | <@Derakon> | G'day. |
03:40 | <@MyCatVerbs> | 'lo there. |
03:42 | | * McMartin got into this trying to extend a decompiler. |
03:42 | < Skalgeth> | wtf |
03:43 | <@ToxicFrog> | "point free style"? |
03:43 | < Skalgeth> | ok |
03:43 | <@McMartin> | TF: basically, defining functions purely in terms of other functions, so that they take no arguments. |
03:43 | <@MyCatVerbs> | ToxicFrog: long story short, (.) :: (b -> c) -> (a -> b) -> (a -> c). |
03:44 | <@McMartin> | The "point" in question is not the ".", though, but the "x" that it operates on. |
03:44 | <@McMartin> | Instead of saying inc x = (+) 1 x, you instead say inc = (+) 1 |
03:45 | <@ToxicFrog> | Aah. |
03:45 | <@ToxicFrog> | (yay curry) |
03:45 | <@MyCatVerbs> | Yes. |
03:45 | <@McMartin> | In this UTF-8 decoder I linked above, I had a function that takes a list of characters and returns TRUE if all of them are middle-of-a-multibyte-char chars. |
03:45 | <@McMartin> | It is this: |
03:45 | <@McMartin> | innerChar = foldr (&&) True . map (inRange 0x80 0xC0) |
03:46 | <@McMartin> | And inRange, similarly, is this: |
03:46 | <@McMartin> | inRange min max = (\x -> (x >= min) && (x < max)) . ord |
03:46 | < Skalgeth> | oh css and c++ |
03:46 | <@MyCatVerbs> | Since Haskell has (define (curry f x) (lambda (a) (f x a))) built into the language itself with no need to specify it. |
03:46 | <@McMartin> | (and would probably be clearer as "inRange min max c = let x = ord c in x >= min && x < max") |
03:47 | <@MyCatVerbs> | (Er, well, Haskell has a function called "curry" which does something entirely different, but nevermind). |
03:47 | <@McMartin> | Anyway, off to dinner |
03:47 | | Skalgeth [achmedthed@Nightstar-7055.dialup.spfdmo.swbell.net] has left #Code [] |
03:47 | <@MyCatVerbs> | McMartin: Your way is a little more terse, and just as logical to anyone who read the bit of SICP where (let ((x y)) (...)) was defined in terms of a transformation to ((lambda (x) (...)) y) ^_^ |
03:49 | <@ToxicFrog> | Ok, I'm clearly too tired to make sense of this. |
03:50 | <@MyCatVerbs> | ToxicFrog: odd. You're pretty much responsible for me being into half of it. :) |
03:54 | <@ToxicFrog> | Yeah, but it's nearly midnight and I have the plague. |
03:55 | <@ToxicFrog> | Also I haven't used haskell since early last semester. |
05:02 | | Syloqs-AFH [Syloq@Admin.Nightstar.Net] has quit [Connection reset by peer] |
05:12 | <@Vornicus> | MUST NOT PLAY UPLINK DAMN MY EYES |
06:12 | | Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: ] |
06:22 | | Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code |
06:26 | | Derakon is now known as Derakon[AFK] |
07:38 | | macdjord [~macdjord@Nightstar-9795.129-97-124-126.uwaterloo.ca] has joined #Code |
07:39 | < macdjord> | Anyone able to help me with a quick Java problem? |
07:42 | < macdjord> | Is there any way to take a sub-array out of an array? Given one array of strings, I need to create a new array that contains all but the first element - preferably without iterating through an copying individual elements. |
08:08 | | Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Ping Timeout] |
08:15 | | Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code |
08:18 | | AnnoDomini [~farkoff@Nightstar-29305.neoplus.adsl.tpnet.pl] has joined #Code |
08:18 | | mode/#code [+o AnnoDomini] by ChanServ |
08:19 | <@McMartin> | macdjord: Check the static methods in java.util.Arrays. |
08:20 | < macdjord> | Okay... |
08:21 | <@McMartin> | In particular, java.util.Arrays.copyOfRange is the routine you want. |
08:21 | <@McMartin> | That said, if you're popping items off the front, you should probably turn it into a linked list and just use that. |
08:22 | <@McMartin> | Copying arrays is inherently an O(n) operation. |
08:26 | < macdjord> | It's an object constructor - gets an array of Strings, pops the first one to a scalar String variable, puts the rest in an array. |
08:27 | < macdjord> | And... copyOfRange is perfect. Except for one thing. |
08:27 | < macdjord> | Javac says it's never heard of it. |
08:27 | < macdjord> | What version of java was it introduced in? |
08:29 | < macdjord> | Ah. 1.6. |
08:29 | < macdjord> | Too recent for my school'd build enviroment. |
08:30 | <@Reiver> | ... |
08:31 | <@Reiver> | 1.6 is too recent? |
08:31 | < macdjord> | Yes. |
08:31 | < macdjord> | Look, it's not /my/ build enviroment. |
08:32 | < macdjord> | It's the schools. |
08:33 | <@Reiver> | Still. pre-2006 setup is such a good sign for the school...~ |
08:35 | | * macdjord shrugs |
08:37 | < macdjord> | They're planning on terminating the Java stream soon, anyway. I guess they aren't worried too much about installing and supporting a system that will see no new users after next year. |
08:44 | | macdjord is now known as macdjord|alep |
08:44 | | macdjord|alep is now known as macdjord|slep |
08:44 | < macdjord|slep> | Thanks, guys. |
08:45 | <@Reiver> | ...terminating Java? |
08:46 | | * Reiver stares at that a bit. Didn't think it'd fallen out of favor that quickly. |
08:50 | < macdjord|slep> | Currently, we have two seperate first-year programs - Java-based, and Scheme-based. They're dropping the Java one. |
08:58 | <@Reiver> | ... Yerrrs, because real-world programming languages are high priority. :p |
08:59 | | Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Quit: Rhamphoryncus] |
09:11 | < macdjord|slep> | Actually, they aren't. It's righ in the course descriptions. There courses are meant to teach us the /theory/ behind what we're doing. Scheme is good at that. We can and will learn many new languages over the course of our carreers - and learning the particular incantations for a particular language is relatively trivial, if you understand the theory behind what those incantaions acomplish. |
09:12 | <@Reiver> | Fair enough. |
10:06 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
10:06 | | mode/#code [+o Attilla] by ChanServ |
10:07 | | macdjord [~macdjord@Nightstar-9795.129-97-124-126.uwaterloo.ca] has joined #Code |
10:07 | | macdjord|slep [~macdjord@Nightstar-9795.129-97-124-126.uwaterloo.ca] has quit [Ping Timeout] |
11:14 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
11:14 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
11:14 | | mode/#code [+o Attilla] by ChanServ |
12:03 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
12:03 | | Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
12:47 | | Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout] |
12:47 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
12:47 | | mode/#code [+o Attilla] by ChanServ |
12:55 | | Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
12:56 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout] |
13:49 | | Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
13:49 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
13:49 | | mode/#code [+o Attilla] by ChanServ |
13:56 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
13:56 | | mode/#code [+o gnolam] by ChanServ |
14:16 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout] |
14:17 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
14:17 | | mode/#code [+o Attilla] by ChanServ |
14:33 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
14:34 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
14:34 | | mode/#code [+o Attilla] by ChanServ |
15:03 | | Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code |
15:05 | | Syloqs_AFH is now known as Syloqs-AFH |
15:13 | | KBot [AnnoDomini@Nightstar-6915.neoplus.adsl.tpnet.pl] has joined #Code |
15:14 | | KarmaBot [AnnoDomini@Nightstar-29305.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
15:15 | | AnnoDomini [~farkoff@Nightstar-29305.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
15:16 | | KBot is now known as KarmaBot |
15:21 | | AnnoDomini [~farkoff@Nightstar-6915.neoplus.adsl.tpnet.pl] has joined #Code |
15:21 | | mode/#code [+o AnnoDomini] by ChanServ |
16:08 | <@jerith> | ... I appear to have lost my marbles. |
16:09 | <@gnolam> | Oh? |
16:09 | <@jerith> | I'm trying to build clusterssh out of iterm, shell scrips and applescript. |
16:09 | < Moltare> | I shuggesht you shober up firsht... hic! |
16:10 | <@jerith> | Because cssh is (a) broken in Leopard and (b) integrates really badly when you patch and compile all the bits needed to get it working. |
16:11 | <@jerith> | By "integrate", I mean "copy/paste". |
16:11 | <@jerith> | Now, I can get iterm to launch a bunch of windows with ssh in them for me. |
16:12 | <@jerith> | It even has a "send this input to all tabs" mode, which would be perfect if you could actually look at multiple tabs simultaneously. |
16:14 | <@jerith> | I've considered a solution involving running 'screen -x' on each machine and having two windows (one in a "send to all tabs" window and the other in its own window), but that's yucky for a variety of reasons. |
16:15 | <@jerith> | Although... |
16:15 | | * jerith tests that manually quick. |
16:16 | <@ToxicFrog> | What is clusterssh? |
16:17 | <@jerith> | A bunch of xterms, each containing an ssh session to a different machine. |
16:18 | <@jerith> | Also an input window that sends keystrokes to all of them simultaneously. |
16:18 | <@jerith> | The multiscreen solution actually isn't that bad. |
16:19 | <@jerith> | I think I can live with this. |
16:20 | <@jerith> | Except scripting the setup will be a massive pain. |
16:20 | <@jerith> | Meh. Another day. |
16:37 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>] |
16:42 | | Vornicus [~vorn@Admin.Nightstar.Net] has joined #code |
16:42 | | mode/#code [+o Vornicus] by ChanServ |
16:44 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
16:44 | | mode/#code [+o Attilla] by ChanServ |
16:49 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
16:51 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
16:51 | | mode/#code [+o Attilla] by ChanServ |
17:02 | | EvilDarkLord [~jjlehto3@Nightstar-9591.cs.hut.fi] has quit [Ping Timeout] |
17:04 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout] |
17:15 | | Derakon[AFK] is now known as Derakon |
17:30 | | Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code |
18:26 | <@Derakon> | I think I can safely say that JBRL game generation will never take as long as DF worldgen does. |
18:27 | <@ToxicFrog> | Likely. |
18:28 | <@ToxicFrog> | (I do recommend trying out 40d9 if you aren't already, though, it speeds stuff up considerably) |
18:28 | <@Derakon> | Where would I download it? |
18:28 | <@Derakon> | (Agh, typing in Qwerty again. ;.;) |
18:28 | <@Derakon> | I looked but could not find it. |
18:29 | <@Derakon> | Oh, wait, I was looking for 409d for some reason. Duh. |
18:31 | | * Derakon eyes the supposed Mac download. |
18:31 | <@Derakon> | Which comes with dwarfort.exe. |
18:33 | <@Derakon> | It does come with a script 'df', which tries to run dwarfort.exe... *facepalms* |
18:34 | <@ToxicFrog> | Yes, this is normal |
18:34 | <@ToxicFrog> | Try 'file dwarfort.exe' |
18:34 | <@ToxicFrog> | It should be an ELF or whatever your native binary format is. |
18:34 | <@Derakon> | O_o |
18:34 | <@ToxicFrog> | When constructing this build he was unaware that convention is '.bin' for indirectly invoked binaries |
18:35 | <@ToxicFrog> | So rather than 'dwarfort' and 'dwarfort.bin' (or dwarfort-bin), it's 'df' and 'dwarfort.exe' |
18:36 | <@Derakon> | Fun. |
18:38 | <@Derakon> | Well, exporting units is about 10x faster. |
18:38 | <@Derakon> | Which is...not where I expected to be seeing speedups. O_o |
18:39 | <@ToxicFrog> | Yeah, DF's code is...kind of fucked up. |
18:40 | <@Derakon> | Ahh, the site finder is still stupid. |
18:41 | <@Derakon> | It found a 4x4 site with underground river, magma pipe, adamantine, and a chasm, and it's still checking the rest of the map. |
18:42 | < macdjord> | Which wouldn't be so bad if there were actually some way to check out any other sites it found. |
18:44 | <@ToxicFrog> | Yeah. |
18:44 | <@ToxicFrog> | 40d9 doesn't change the interface at all, anyways; it's strictly optimization. |
18:45 | <@Derakon> | ...um, either I forget my controls or > and < have been rebound to something besides "change elevation of the viewport". |
18:46 | <@Derakon> | > appears to be the 3D view. |
18:47 | <@Derakon> | Hrm...actually, that appears to be some bizarre Dvorak/Qwerty bug, since > is V in Dvorak, even though I told my computer to use Qwerty. :psyduck: |
18:47 | <@Derakon> | Hm. 37 z-levels. |
18:47 | <@Derakon> | Finding that underground river will be tricky. |
18:49 | <@ToxicFrog> | Well, you know what sector it's in, at least |
19:01 | | * Derakon screws up the grand spiral staircase, remembers why he usually doesn't bother with such things. |
19:03 | | macdjord is now known as macdjord|class |
19:03 | | * Derakon runs DF and JBRL mapgen at the same time. *thunderclaps* |
19:05 | <@AnnoDomini> | Thunderclaps? Is that your fort's name? :P |
19:05 | | * Derakon facepalms. |
19:05 | < Moltare> | What's the latest on DF? Any new changes that don't amount to "Added more useless trivia at the expense of time spent fixing the interface/task-queue, in the name of the Thirty-Year Plan"? |
19:06 | <@Derakon> | No. |
19:06 | < Moltare> | Ta |
19:10 | | * Derakon sighs as JBRL hits another infinite loop. |
19:10 | <@Derakon> | Gives me something to do while the site finder runs, anyway. :\ |
19:19 | <@Derakon> | It would have to happen on a map where every time I draw and save the screen, it takes 6 seconds. |
19:22 | <@McMartin> | Mol: Closest I've heard to an actual gameplay change is that mud doesn't spread out infinitely anymore. |
19:23 | <@McMartin> | Other than that, even more ridiculously morbid wound models for all |
19:23 | < Moltare> | yaaay |
19:23 | < Moltare> | Status: Oozing |
19:25 | <@Derakon> | To be fair, the new system will also supposedly get rid of the "with a single arrow, I've taken out your eyes, ears, throat, and brain" thing. |
19:26 | | * AnnoDomini modifies megabeasts to be 10x larger. |
19:27 | <@Derakon> | Make it 1000x and call them gigabeasts. |
19:27 | <@AnnoDomini> | Pfhaha. |
19:27 | <@AnnoDomini> | That's impractical. As it is, it took the world 302 years to get rid of 20% of them. |
19:29 | < Moltare> | What's this you're modifying, Anno? |
19:29 | <@AnnoDomini> | The RAWs. |
19:29 | <@ToxicFrog> | DF. |
19:38 | <@AnnoDomini> | Year two, and I've yet to set up any sort of farming scheme. Relying on trade to feed and booze my dorfs. <_< |
19:43 | < Tarinaky> | Does anyone know if it's possible, using SDL, to rotate a surface before or during Blitting it? |
19:43 | <@Derakon> | Before, yes. |
19:43 | <@Derakon> | Take a look at rotozoom. |
19:43 | < Tarinaky> | Would you happen to know the name of the function. |
19:44 | <@Derakon> | It depends on what language you're using. |
19:44 | < Tarinaky> | c++ |
19:44 | <@Derakon> | #include "SDL_rotozoom.h" |
19:45 | <@Derakon> | surface = rotozoomSurface(surface, angle, scale, some argument I don't remember the use of but it's zero in my code); |
19:47 | <@McMartin> | Note that the target surface will need to be larger. |
19:47 | <@McMartin> | If you want to actually draw a diamond instead of a square, you should consider making it a texture and using OpenGL. |
19:48 | | * Derakon mutters at his worlds for lacking sites with magma, underground water, chasms/pits, and adamantine all within a 4x4 area. |
19:49 | < Tarinaky> | What I wanted to do was have a sprite of a space ship and have it rotate when left and right were pressed. |
19:50 | <@McMartin> | I'd suggest pre-rendering in that case, honestly. |
19:50 | < Tarinaky> | prerendering? |
19:50 | <@McMartin> | You could use rotozoom to do it, but if you've got a good image editor it will probably do it better. |
19:50 | <@McMartin> | "Make one sprite for each facing" |
19:50 | < Tarinaky> | Ahh. |
19:51 | < Tarinaky> | Any idea on how many facings I should have to make it smooth? |
19:51 | <@McMartin> | Well, Star Control II uses 16. |
19:51 | <@Derakon> | I have 72 for Fusillade. |
19:52 | <@Derakon> | I.e. 1 for every 5°s. |
19:52 | <@McMartin> | Wait, you rotate now in Fusillade? |
19:52 | <@Derakon> | That was added in beta 6, yeah. |
19:52 | <@McMartin> | And yeah, SC2 is noticably chunky, especially for slow-spinning ships |
19:52 | <@Derakon> | A couple new bullet types that can be set so their sprite indicates their facing. |
19:53 | <@McMartin> | Oh. Bullets. Right. |
19:53 | <@Derakon> | Heh. |
19:54 | <@McMartin> | The best you can possibly do will be "determine your rotation speed, then have that many degrees per frame, then have every facing that gives you." |
19:54 | <@McMartin> | "Also, have the number of frames factor 360." |
19:56 | <@Derakon> | In practice, 36 is decent but can be noticeably off for observant players; 72 is plenty for all but the very largest of ships. |
19:57 | <@Derakon> | Like, 400x400 ships might want more frames. |
20:36 | <@Derakon> | Terrible idea: find a site with infinite magma and infinite water. Use these in combination to turn the entire embark site into a massive obsidian block, with tunnels from your fortress to the outside world. |
20:37 | <@Derakon> | Finally, found a decent site! |
20:38 | <@Derakon> | Underground river, adamantine, chasm, magma pipe, sand, goblins at war, humans, dwarves, and all in a 3x3 area! |
20:46 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
21:19 | < Tarinaky> | Grr... I have a sprite of the ship facing one direction but I'm having difficulty getting the different facings >.> |
21:19 | <@Derakon> | What's causing you trouble? |
21:19 | < Tarinaky> | Curse my complete inability at graphical manipulation! |
21:20 | < Tarinaky> | Trying to get them lined up in some sort of grid so I only have to deal with 1 image instead of 36. And making sure that it'll look right rather than sliding about the place when it rotates.. |
21:21 | | EvilDarkLord [~jjlehto3@Nightstar-9591.cs.hut.fi] has joined #code |
21:21 | | mode/#code [+o EvilDarkLord] by ChanServ |
21:21 | <@Derakon> | Why is it better to deal only with one image instead of dealing with 36? |
21:22 | < Tarinaky> | Keeps my filesystem less cluttered. Plus it seemed like the thing to do. |
21:23 | <@Derakon> | Keep your filesystem less cluttered by putting the 36 images in their own directory. |
21:23 | <@Derakon> | As for sliding around, you have to make certain that you're rotating the ship about its center of mass. |
21:25 | <@McMartin> | Rotating pixel images in realtime is actually bad form. |
21:25 | <@McMartin> | If you're going to do it, do it in the GPU. |
21:25 | < Tarinaky> | Okay. Next problem. If I go with the 36 seperate images. How the hell can I get GIMP to not cut the sides off. |
21:26 | < Tarinaky> | McMartin: You said something to that effect a while ago. |
21:26 | <@McMartin> | Ah, OK |
21:26 | | * McMartin has since had lunch and commuted, so~ |
21:26 | <@McMartin> | Make it a larger image |
21:26 | <@McMartin> | To rotate a square image of size XxX, you need one of size YxY, where Y = x * sqrt(2) |
21:28 | < Tarinaky> | Grr. Now I have the problem that GIMP makes my image blurry -_- |
21:32 | <@McMartin> | Hmm. Start larger, rotate, and shrink? |
21:34 | <@Derakon> | I just deal with this by doing rotation in Blender. ¬.¬ |
21:42 | <@McMartin> | That's not a sprite~ |
21:43 | <@Derakon> | Not yet, anyway. |
21:47 | < Rhamphoryncus> | I've always liked the idea of turning a 3d model into a sprite on the fly |
21:48 | < Tarinaky> | Isn't that just rendering? |
21:48 | <@Derakon> | You stole my question. |
21:48 | < Tarinaky> | Sorry. I'll try not to in future. |
21:49 | <@gnolam> | Rhamphoryncus: Impostors then? :) |
21:50 | < Rhamphoryncus> | The key is to use the 2d sprite much more often than the 3d model |
21:50 | < Rhamphoryncus> | ie you cache it |
21:51 | <@McMartin> | It seems like in any reasonable 3d environment you would only get any use out of that for stuff you could just as easily pre-render. |
21:52 | <@McMartin> | I mean, render-to-texture has been around for ages. |
21:52 | < Rhamphoryncus> | Depends on your definition of "pre-render" |
21:52 | <@Derakon> | Presumably the main savings comes in settings where you have lots of CPU and RAM but no storage. |
21:52 | <@gnolam> | Again, impostors. |
21:53 | <@Derakon> | (Or alternatively, if you want to provide a lighter download) |
21:53 | <@McMartin> | gnolam: Ah, I didn't realize that was a term of art |
21:53 | < Rhamphoryncus> | Maybe players can select arbitrary colour schemes. You could pre-render at the start of a match |
21:53 | <@McMartin> | Now that I'm reading it like that, I notice I had it confused with billboards. |
21:53 | < Rhamphoryncus> | Derakon: much of my motivation is due to rarity of free software 3d drivers. I still use software rendering |
21:53 | <@McMartin> | Which I had a Hell of a time making do right. |
21:54 | <@McMartin> | Rhamphoryncus: Aggravatingly, despite basically doing it anyway, most of the open-source 3d drivers *don't* support render-to-texture |
21:54 | <@gnolam> | Well, you use billboarding to display impostors, so... :) |
21:54 | <@McMartin> | As I learned to my cost when working on D2X-XL |
21:54 | < Tarinaky> | Damnit. This is taking forever. I'm only 1/4 of the way through :( |
21:54 | <@McMartin> | gnolam: So, is there a trick to making sure they're rotating with the camera? |
21:54 | <@McMartin> | Or otherwise translating the coordinates so that you can drop them in in an isomorphic view? |
21:55 | <@McMartin> | (Which seems bad as it would wreck your z) |
21:56 | | * McMartin tried to set something like that up for Sable's explosions, but despite a fixed camera could not make it look right |
21:56 | < Rhamphoryncus> | gnolam: huh, interesting. Imposter is a generalization of the concept.. and seems to assume 2d sprite in a 3d environment, rather than 2d sprite in a 2d environment? |
21:58 | < Rhamphoryncus> | although you could also argue that the 2d environment is just 3d limited to orthographic and billboards, no direct models |
22:06 | <@Derakon> | I just love how 40d9 crashes regularly with a bus error~ |
22:07 | < Moltare> | DF has buses now? |
22:07 | <@AnnoDomini> | Derakon: It works perfectly fine for me. |
22:07 | <@Derakon> | Well, something's making it crash for me. |
22:07 | <@Derakon> | And I'm getting tired of losing progress. |
22:09 | <@AnnoDomini> | Try one of the earlier versions? |
22:09 | <@Derakon> | 40d9 is supposedly not glacially slow, though. |
22:09 | <@AnnoDomini> | DF is always glacially slow. What specs are you running it on? |
22:10 | <@Derakon> | Mac. |
22:10 | <@Derakon> | That's all that really matters. The mac version has been shit for speed ever since it came out. |
22:10 | <@AnnoDomini> | This tells me less than nothing. :P |
22:10 | <@Derakon> | Dual-core 2GHz / 2GB RAM. |
22:11 | <@McMartin> | However, since the mac version has been shit for speed comparatively, this means nothing compared to the comparable Windows requirements. |
22:11 | <@AnnoDomini> | With some major tweaks, turning off everything nonessential, I manage to run a 60 dorf fort at reasonable speed on a Sempron (2.0 Ghz) and 1.5 Gb RAM. |
22:12 | <@Derakon> | Whee, there it goes again asdsfasdfasdfasdfasdf |
22:12 | <@Derakon> | I need an auto-save every goddamn day. |
22:12 | <@AnnoDomini> | Unfortunately DF's framerate is a reverse exponential function of the number of dorfs. |
22:12 | <@AnnoDomini> | Don't you have a REAL computer? :P |
22:12 | | * Derakon has AnnoDomini eviscerated. |
22:13 | <@McMartin> | His computer is at least four times as powerful as yours~ |
22:13 | <@McMartin> | It's not his fault nobody can program right. =P |
22:13 | <@AnnoDomini> | DF actually runs slower for me on my Dual Core laptop. |
22:13 | <@McMartin> | Yeah, that implies he's fucking up his threading. |
22:14 | <@AnnoDomini> | Might be the lack of any decent graphics card on the laptop. |
22:14 | <@Derakon> | DF is singlethreaded. |
22:14 | <@McMartin> | AD: how hard is it to render a few thousand quads |
22:14 | <@McMartin> | I mean, I realize that it's apparently insanely hard, given how insanely slow it is, but Jesus Christ. |
22:14 | <@AnnoDomini> | Huh? |
22:14 | <@Derakon> | (Answer: the SNES could do it with a slight hit to framerate) |
22:15 | <@McMartin> | Yeah, I mean, Sable throws more polygons than DF does unless you map the entire world in ultraminiature. |
22:15 | <@McMartin> | And Sable gets 100FPS. |
22:15 | <@McMartin> | It gets 10FPS even with software rendering. |
22:15 | <@McMartin> | So "shitty graphics card" just doesn't fly. |
22:16 | <@AnnoDomini> | Even the integrated things that come with Dells? |
22:16 | <@McMartin> | The integrated things that come with Dells will run Sable at about 80 FPS. |
22:16 | <@McMartin> | Sable is PS1-level graphics. |
22:16 | <@McMartin> | It's a really, really low bar to clear, and everything I've seen of DF says it doesn't. |
22:17 | <@McMartin> | (Well, OK, to be fair, I'm looking at the integrated ones that come with HPs, but that should be similar) |
22:17 | <@AnnoDomini> | Hmm. |
22:17 | <@McMartin> | ... or maybe not, actually. Are we looking at an integrated nVidia/ATI, or one of those Intel jobbers? |
22:17 | <@McMartin> | If the latter, mind running a speed test for me~ |
22:18 | <@AnnoDomini> | I'd have to get it out... eh, fine. How? |
22:18 | <@McMartin> | Visit http://www.stanford.edu/~mcmartin/sable and grab it and see if it runs smoothly. |
22:18 | <@McMartin> | IIRC I eventually put in an FPS cap, though. |
22:18 | <@McMartin> | If it goes chunky you'll notice. |
22:19 | <@McMartin> | (I really need to start migrating all these to my permanent account) |
22:21 | <@McMartin> | But the issue with DF is that it's actually CPU-bound, or should be. |
22:21 | <@McMartin> | Graphical capability should flatly never be an issue. |
22:21 | <@AnnoDomini> | It runs smoothly. |
22:22 | <@McMartin> | Yeah, so that's around 10k polys on screen at once. |
22:22 | <@Derakon> | How much of that is terrain, out of curiousity? |
22:22 | <@AnnoDomini> | From what I've seen on the Task Manager, DF only ever uses one processor. |
22:23 | <@McMartin> | About 1k. |
22:23 | <@Derakon> | DF is, as I said, single-threaded. |
22:23 | <@Derakon> | That means 1 processor. |
22:23 | <@McMartin> | The pylons are about 1k each, though. |
22:23 | <@Derakon> | Really? |
22:23 | <@Derakon> | Wow. |
22:23 | <@McMartin> | Yeah, no texturing except on the ground. |
22:23 | <@AnnoDomini> | So my laptop is essentially my normal computer, only with a shitty graphics card. |
22:23 | <@McMartin> | So all the bumps and stuff have to be done with triangles. |
22:23 | <@Derakon> | Ahh. |
22:24 | <@McMartin> | (The artist winced at that, but SVAF didn't handle textures at the time) |
22:24 | <@McMartin> | (Still doesn't, really) |
22:24 | <@McMartin> | (I should get on that in my copious spare time) |
22:24 | <@McMartin> | (The spec is there for it!) |
22:25 | | * AnnoDomini goes eat. |
22:25 | <@McMartin> | http://svaf.sourceforge.net/svaf.html |
22:27 | <@McMartin> | ... I take it back, I implemented textures 11 months ago. |
22:27 | <@McMartin> | I just never tested it, for lack of a model. |
22:30 | <@McMartin> | I take that back, too. I implemented parsing it, but it never actually creates the textures, I don't think |
22:31 | <@Derakon> | Hrmph. |
22:31 | <@Derakon> | Tried the original, and it also crashed. >.< |
22:31 | <@Derakon> | Maybe I shouldn't try playing DF for now. |
22:36 | <@Derakon> | "Tree" and "acyclic directed planar graph" are equivalent, aren't they? |
22:38 | <@McMartin> | I'm not sure. What does "planar" mean there? |
22:38 | <@Derakon> | Planar graphs can be projected onto the plane without any edges crossing. |
22:38 | <@McMartin> | OK, then, no they aren't equivalent |
22:38 | <@Derakon> | Fair enough. |
22:38 | <@McMartin> | Trees forbid a->b, a->c, b->d, c->d, while planar DAGs do not. |
22:39 | <@McMartin> | Trees are however by nature all planar |
22:39 | <@Derakon> | Ahh, yes, that's not acyclic but does merge branches. |
22:42 | | Moltare [~moltare@Nightstar-16368.plus.com] has quit [Ping Timeout] |
22:44 | | Moltare [~moltare@Nightstar-16368.plus.com] has joined #code |
23:06 | < Tarinaky> | If I have an enumeraion iKeys with each value corresponding to powers of 2. iKeys&=~KLEFT will unset whatever bit corresponds to KLEFT, right? |
23:13 | <@Derakon> | Sounds plausible, Tarinaky. |
23:13 | <@Derakon> | It's been a while since I worked with bitwise stuff though. |
23:17 | < Tarinaky> | Okay. Would it be bad form to call cmath functions to work out d2r/dt^2 in realtime or would it be better to hardcode it for each orientation (or at least only calculate it at program start)? |
23:19 | <@Derakon> | Call it in realtime for now. |
23:19 | <@Derakon> | If it turns out to be a problem when you do your profiling, you can change it. |
23:20 | <@McMartin> | Indeed. |
23:20 | <@McMartin> | Premature optimization is the square root of all evil, etc. |
23:21 | <@McMartin> | (Plausible exceptions include mathematical simplifications and such) |
23:21 | | AnnoDomini [~farkoff@Nightstar-6915.neoplus.adsl.tpnet.pl] has quit [Quit: Do not burn the candle at both ends, as it leads to the life of a hairdresser.] |
23:26 | <@Derakon> | Why do I keep getting loops in my code only when I try to make the really big, slow maps? ;.; |
23:27 | <@Derakon> | To give you some idea, here's the map I'm debugging now: http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result13a.png |
23:27 | <@Derakon> | It's shrunk down so far that the sector coloring is somehow broken. |
23:46 | | Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #Code |
23:56 | < Tarinaky> | What does "error: aggregate std::ostringstream sFileName has incomplete type and cannot be defined" mean? |
23:58 | < Tarinaky> | (Language is C++). |
23:58 | < Tarinaky> | If it helps, what I was trying to do was concatenate an int into a string. |
--- Log closed Tue Mar 17 00:00:03 2009 |