code logs -> 2011 -> Sun, 04 Sep 2011< code.20110903.log - code.20110905.log >
--- 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
code logs -> 2011 -> Sun, 04 Sep 2011< code.20110903.log - code.20110905.log >

[ Latest log file ]