--- Log opened Sun Sep 04 00:00:39 2011 |
00:04 | < Vornicus> | Okay. Graph made, now to build the voronoi picker. |
00:05 | | LANrah [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code |
00:08 | | You're now known as TheWatcher[T-2] |
00:10 | | You're now known as TheWatcher[zZzZ] |
00:36 | <@McMartin> | What's going on here? |
00:37 | <@McMartin> | Other than "Vorn Pickers" which I don't really know what they are |
00:43 | <@froztbyte> | http://en.wikipedia.org/wiki/Voronoi_diagram it looks like |
00:43 | < Vornicus> | What I'm actually doing is one of the early steps in the depixelization algorithm that got thrown around a month or two back. |
00:44 | < Vornicus> | Specifically: I'm taking a pixel (well, tile) image and vectorizing it by figuring out what things should stay connected (the graph) and then creating the voronoi diagram of that graph. |
--- Log closed Sun Sep 04 01:12:29 2011 |
--- Log opened Sun Sep 04 01:12:42 2011 |
01:12 | | TheWatcher[zZzZ] [chris@Nightstar-3762b576.co.uk] has joined #code |
01:12 | | Irssi: #code: Total of 24 nicks [7 ops, 0 halfops, 0 voices, 17 normal] |
01:13 | | Irssi: Join to #code was synced in 39 secs |
01:19 | | Derakon[AFK] is now known as Derakon |
01:22 | < Vornicus> | Then I'll remove trivial corners in the voronoi diagram, and have a bunch of tiles that are shaped so they match up nicely with the adjacency graph. |
01:29 | | * McMartin arghs at gcc and its incompatibility on OS X with every version of SDL he can find |
01:30 | | * McMartin goes to poke at the Snow Leopard XCode templates |
01:32 | < gnolam> | I suspect the arghing should be at OS X. |
01:35 | <@McMartin> | Yeah, and gcc specifically |
01:35 | <@McMartin> | Something in crt0.s isn't linking. -_- |
01:36 | <@McMartin> | And it isn't main, which is a "SDL isn't written in Objective C and thus Steve has a sad" |
01:36 | <@McMartin> | Some crazy gcc internal thing |
01:36 | <@McMartin> | Oh, hm, SDL_image has some problems too, but I can ignore that for now |
01:36 | <@McMartin> | (Compiled for the wrong architecture :downs:) |
01:41 | | * Vornicus fiddles. this is a complicated thing to do. |
01:45 | <@McMartin> | RARGHBARGLE |
01:45 | <@McMartin> | NO THERE ARE NO PRECOMPILED HEADERS, STOP FAILING BECAUSE YOU CANNOT FIND THEM |
01:51 | | * McMartin creates an empty one because XCode cannot get its head out of its ass |
01:52 | | Kindamoody[zZz] is now known as Kindamoody |
01:52 | <@McMartin> | There. Finally. |
01:54 | < celticminstrel> | Um, do you have the SDLmain.m? |
01:54 | <@McMartin> | Yes |
01:54 | < celticminstrel> | Oh. Okay then. |
01:54 | < celticminstrel> | Well, it worked for me last I checked. |
01:54 | < celticminstrel> | So, no idea. |
01:54 | <@McMartin> | The one I had didn't compile with the version of Objc I had, and then when I got the latest version, *it* didn't work because it needed "__gcc_personality_v0" and it only got "__gcc_personality_v0$non_lazy_ptr" |
01:55 | <@McMartin> | Those are internal GCC symbols. |
01:55 | <@McMartin> | XCode has now pulled its head out of its ass and is compiling something that runs. |
01:57 | < celticminstrel> | Could it be an issue of mixing static and dynamic linking? |
01:58 | | Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has quit [Ping timeout: 121 seconds] |
02:01 | <@McMartin> | My guess is that I was using an older version of SDL that didn't have the weird changes to GCC internals that were part of 10.6. |
02:01 | <@McMartin> | Now to see if I can get SDL_image to work. |
02:01 | <@McMartin> | My original goal of "have the hex picker working by today" might have been over-ambitious. |
02:02 | < Derakon> | You're making a board game or something? |
02:03 | <@McMartin> | Porting my pre-existing board game to C++. |
02:03 | < celticminstrel> | Speaking of GCC and OSX, I suppose there will never be a GCC that supports both Apple extensions (mainly the -F flag) and C++11? |
02:38 | <@McMartin> | Maybe once it's already gone to LLVM. |
02:38 | <@McMartin> | OK, resource loading works on Mac. |
02:38 | < celticminstrel> | What's "it"? |
02:38 | <@McMartin> | I'm going to have to refactor all of that. |
02:38 | <@McMartin> | gcc. |
02:38 | < celticminstrel> | Wait what? |
02:39 | | * McMartin has determined the next thing he needs to replicate is the bits of Game Maker's sprite library he was relying on. |
03:10 | <@McMartin> | celticminstrel: I would predict that you won't see an Apple-extensions GCC that also supports C++11 until gcc and Apple converge on the LLVM backend. |
03:10 | <@McMartin> | At which point Not Completely Forking GCC will result in them both being available. |
03:11 | < celticminstrel> | You expect that to happen when? |
03:11 | <@McMartin> | Well |
03:12 | <@McMartin> | If C++98 is any predictor, C++11 won't have any support anywhere for any platform until 2017 or so |
03:12 | <@McMartin> | Maybe we'll be more on the ball this time, though~ |
03:12 | <@McMartin> | But the error bars are so wide I consider predictions pointless. |
03:14 | < celticminstrel> | Well, GCC ...7? ...has partial C++11 support, at least. |
03:17 | <@McMartin> | Whether that means stuff written that compiles on it compiles anywhere else, and vice versa, is the question. |
03:18 | <@McMartin> | (Bias alert: My first job basically was to compensate for different "partial" implementations of the STL back before the STL actually fucking worked in all implementations) |
03:18 | <@McMartin> | (I am perhaps unduly skeptical of the ability of C++ compiler developers to Get Their Fucking Acts Together) |
03:23 | < simon_> | GT FAT. |
03:24 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: Z?] |
03:40 | | * McMartin mixes Objective-C and C++ in ways that make Steve cry but make Linus smirk. |
03:40 | <@McMartin> | OS compatibility libraries: now speaking Cocoa and liking it |
03:52 | | Rhamphoryncus [rhamph@Nightstar-14eb6405.abhsia.telus.net] has joined #code |
04:04 | <@McMartin> | All right. Resource loading and panic attacks both work on Mac. |
04:11 | < Vornicus> | "panic attacks"? |
04:12 | <@McMartin> | If something goes fatally wrong, use the OS's traditional message of screaming OMGWTFBBQ at the user and then exit. |
04:12 | <@McMartin> | In OS X's case, that would be NSRunCriticalAlertPanel. |
04:13 | <@McMartin> | In Windows, it's MessageBoxA with the MB_ICON_EXCLAMATION flag set. |
04:16 | <@McMartin> | I have no idea how one pops warning boxes portably on Linux systems. |
04:16 | <@McMartin> | Dump the message to stderr, I guess. =P |
04:43 | | LANrah [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds] |
05:02 | | LANrah [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code |
05:08 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
05:15 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
05:28 | | Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code |
05:28 | | LANrah [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Connection reset by peer] |
05:33 | | celticminstrel [celticminstre@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
05:41 | | Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds] |
05:50 | | Vash [Vash@Nightstar-f03c5637.sd.cox.net] has joined #code |
05:53 | | LANrah [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code |
05:54 | | Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code |
05:54 | | LANrah [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Connection reset by peer] |
06:04 | | LANrah [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code |
06:05 | | Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds] |
07:02 | | kwsn [kwsn@Nightstar-635d16fc.org] has quit [Ping timeout: 121 seconds] |
07:02 | | kwsn [kwsn@Nightstar-635d16fc.org] has joined #code |
07:31 | | Derakon is now known as Derakon[AFK] |
07:39 | | Vash [Vash@Nightstar-f03c5637.sd.cox.net] has quit [[NS] Quit: <3 I Lovecraft Vorn <3 Nyaaaaaaaaaaaaaaa~ ] |
08:44 | | * McMartin callously violates encapsulation rules he never truly believed in. |
08:45 | < Vornicus> | ? |
08:46 | <@McMartin> | http://en.wikipedia.org/wiki/Opaque_pointer |
08:46 | <@McMartin> | To Hell With These. |
08:47 | <@McMartin> | If anyone wants to write a completely different backend for Sprite &c they can bloody well statically link the result after removing the old implementation. |
08:47 | <@Tamber> | ...I thought pointers were all about mucking with the insides of Things That Should Not Be Fiddled With? |
08:47 | <@McMartin> | Pointers are literally the only construct besides constants that the computer ultimately knows about. |
08:48 | <@McMartin> | The quirk of C++ that this is trying to avoid, more or less, is that you can't have an array of objects unless (a) all of those objects are the same size and (b) you can deduce the size of that object at compile-time. |
08:48 | <@McMartin> | Opaque pointers are a way around this, by basically making the objects carry nothing but a reference to the "real" data, and making it a little easier to do massive surgery to your internal representation across DLL boundaries. |
08:49 | <@McMartin> | However, there are no DLL boundaries on any of my work - and, as it turns out, if you care about hot-swapping DLLs you have no business using C++ in the first place. |
08:50 | <@Tamber> | Oh dear. |
08:51 | <@McMartin> | (The basic linker used by every system in use today more or less standardized on the way C represents symbols - it's the one thing every compiler and every system agrees on. As such, if you expect to have your library be usable by any language, it should export a C-compatible interface. C++ can do this, but not if it's exposing any classes.) |
08:51 | <@McMartin> | (If you need to throw classes out to the client so that they can later pass them *back*, it turns out opaque pointers are great for *that*. C just treats them as "void *", and every other language usually has some concept of "mysterious whatsit that cannot be touched, just passed around" |
08:53 | | You're now known as TheWatcher |
09:12 | <@McMartin> | Argh. Right. I forgot. |
09:13 | <@McMartin> | I don't get to have alpha blending in ways I'd want it to ever work. |
09:13 | <@McMartin> | (By which I basically mean "like OpenGL", yes~) |
09:14 | <@McMartin> | For which the solution is basically to do double-buffering by hand, IIRC. |
09:33 | | Kindamoody is now known as Kindamoody|out |
09:40 | | Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has joined #code |
10:30 | <@froztbyte> | http://hardware.slashdot.org/comments.pl?sid=2411934&cid=37300354 |
10:31 | <@Tamber> | haha |
11:00 | <@McMartin> | SUCCESS |
11:00 | | * McMartin gets his hex picker working. |
11:01 | < Vornicus> | VICTORY |
11:01 | <@McMartin> | I do kind of end up requiring 32 bpp internally everywhere, though. |
11:01 | <@McMartin> | So it goes. |
11:03 | <@McMartin> | I figure that's a fairly safe assumption most of the time. |
11:09 | | Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has quit [Ping timeout: 121 seconds] |
11:11 | < Vornicus> | I am not aware of any hardware created in the last, oh, ten years that couldn't handle 32bpp |
11:12 | < Vornicus> | At least, none that you could put SDL apps on. |
11:17 | <@McMartin> | Well, even if it can't (because the video mode has been shifted or some such) it will autoconvert for you. |
11:21 | < Vornicus> | well all right. |
11:23 | <@McMartin> | Since I've already gotten the AI written (that was originally *written* in C++ and ported to GML), the only major challenge left is alpha blitting that works the way I want it to |
11:23 | <@McMartin> | (Which is a nondestructive multiplier to the alpha channel for the duration of a single blit) |
11:30 | | Kindamoody|out is now known as Kindamoody |
11:38 | | Kindamoody is now known as Kindamoody|out |
11:49 | | * Rhamphoryncus waits until no one's looking, then mutates some immutables |
12:48 | | LANrah is now known as Stalker |
12:48 | | Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [[NS] Quit: If the world didn't suck, we'd all fall off.] |
12:59 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code |
14:11 | | Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code |
15:31 | | Kindamoody|out is now known as Kindamoody |
16:23 | | celticminstrel [celticminstre@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
16:52 | | Derakon[AFK] is now known as Derakon |
16:58 | | Kindamoody is now known as Kindamoody|out |
17:09 | | AnnoDomini [annodomini@60F158.737D66.CA1918.CC7562] has joined #code |
18:02 | | Vash [Vash@Nightstar-f03c5637.sd.cox.net] has joined #code |
18:18 | | AnnoDomini [annodomini@60F158.737D66.CA1918.CC7562] has quit [[NS] Quit: I will.] |
18:22 | | Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [[NS] Quit: If the world didn't suck, we'd all fall off.] |
18:40 | | Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has joined #code |
19:00 | | Kindamoody|out is now known as Kindamoody |
19:06 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
19:10 | | Rhamphoryncus [rhamph@Nightstar-14eb6405.abhsia.telus.net] has quit [Client exited] |
19:14 | | Phox is now known as Phox|gone |
19:33 | | Kindamoody is now known as Kindamoody[zZz] |
21:21 | | Vash [Vash@Nightstar-f03c5637.sd.cox.net] has quit [[NS] Quit: <3 I Lovecraft Vorn <3 Nyaaaaaaaaaaaaaaa~ ] |
21:33 | | Phox|gone is now known as Phox |
22:40 | | celticminstrel is now known as celmin|away |
23:14 | | Phox [Phox@Nightstar-3e5deec3.gv.shawcable.net] has quit [NickServ (GHOST command used by Neophox)] |
23:14 | | Phox [Phox@Nightstar-3e5deec3.gv.shawcable.net] has joined #code |
23:45 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
23:54 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
--- Log closed Mon Sep 05 00:00:54 2011 |