--- Log opened Sun Aug 05 00:00:35 2012 |
00:03 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
00:30 | | Nemu [NeophoxProd@Nightstar-2961d6d6.asahi-net.or.jp] has joined #code |
00:41 | | You're now known as TheWatcher[T-2] |
00:43 | | You're now known as TheWatcher[zZzZ] |
01:49 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Client closed the connection] |
02:16 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
02:18 | | Janus [NSwebIRC@Nightstar-afc5b963.res.rr.com] has joined #code |
02:20 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed] |
02:36 | | Nemu [NeophoxProd@Nightstar-2961d6d6.asahi-net.or.jp] has quit [Ping timeout: 121 seconds] |
03:08 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
03:35 | <&McMartin> | OK, Clojure 1.4 working on Osmium |
03:40 | <&ToxicFrog> | \o/ |
03:42 | <&McMartin> | I should probably try to install sala to see if it breaks horribly on it, but I should probably instead get ocaml working so I can wrap up the OPC stuff. |
03:42 | <&McMartin> | Also, oh hey, Ophis pull requests. |
03:42 | <&McMartin> | Also oh hey, Osmium can't talk to github yet -_- |
03:43 | <&McMartin> | Hm, and the Hex Inverter stuff is on Carlsbad still. |
03:43 | <&McMartin> | I should probably get Eclipse and the Android SDKs up and running here. |
03:43 | <&McMartin> | Also try installing Bastion and Jamestown to see if they work >_> |
03:44 | | Attilla [Obsolete@Nightstar-ac56e080.as43234.net] has quit [Ping timeout: 121 seconds] |
03:56 | <&McMartin> | Osmium's battery life could be better, oh well |
04:32 | | Kindamoody[zZz] is now known as Kindamoody |
04:56 | | Janus [NSwebIRC@Nightstar-afc5b963.res.rr.com] has quit [[NS] Quit: defeated] |
05:06 | <&Derakon> | Bleh. I have some code that wants to handle keyboard input, but independently of the UI code...unfortunately, I need access to control codes, and thus AFAICT that means either using the wxWidgets constants, or writing a translation layer in the UI code. |
05:06 | <&Derakon> | (The code I'm working on is for Prompts, which are basically commands that require further input from the user to be processed. E.g. select an item to use, or write in the answer to a riddle, or...) |
05:53 | <&McMartin> | Letting text input control hit your model is a recipe for sadness and weeping |
05:56 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
06:01 | < Tarinaky> | Anyone here know anything about py2exe? I tried #py2exe on Freenode but it was empty. |
06:04 | <&McMartin> | I used it for Ophis. What's on your mind? |
06:05 | < Tarinaky> | Where do I put the font pygame uses by default? |
06:06 | <&McMartin> | That's going to be tricky without testing it on Windows. If it's not hardcoded, it's gonna be part of the resources list, probably. |
06:06 | <&McMartin> | I've never used py2exe for anything but pure-python stuff. |
06:08 | < Tarinaky> | IOError: [Errno 2] No such file or directory: 'C:\\Users\\Tarinaky\\git\\DuelFie |
06:08 | < Tarinaky> | ldStars\\duelfieldstars\\dist\\library.zip\\pygame\\freesansbold.ttf' |
06:08 | < Tarinaky> | I'm a little shaky on my Windows but at a guess that means inside library.zip - is there an option for the setup.py file? |
06:09 | <~Vornicus> | In which an ESCAPE IS EFFECTED with the SIMPLE EXPEDIENT of a FRONTAL ASSAULT in BROAD DAYLIGHT |
06:27 | | Kindamoody is now known as Kindamoody|breakfast |
06:36 | | Derakon is now known as Derakon[AFK] |
06:53 | <&McMartin> | library.zip is *probably* not what you want; I'd try throwing that .ttf into the "root" directory. |
06:57 | <&McMartin> | Vornicus: Playing Jamestown, are we? |
06:57 | <&McMartin> | Though I guess one could try adding it to that .zip, yeah |
06:58 | <&McMartin> | That is not standard Windows phrasing. |
06:58 | <~Vornicus> | No, I just remember you saying that. |
06:58 | <~Vornicus> | I'm not a shooter kind of guy. |
06:58 | <~Vornicus> | Bullet Fiddlesticks, etc etc |
06:58 | <&McMartin> | py2exe *should* have a thing that can do this - again, my guess is the "resources" thing that's standard with distutils |
06:58 | <&McMartin> | Yeah, the level you name is still available on the Bullet Carnsarnit level. |
07:00 | <~Vornicus> | Heee |
07:00 | <~Vornicus> | but yeah, I don't have Jamestown and don't really plan to get it because I really don't like shooters. |
07:01 | <~Vornicus> | Einhander is really the only one I've gotten close to beating. |
07:03 | < Rhamphoryncus> | Blurghy. Have I said I hate geodesics today? 'cuz I do :P |
07:06 | <~Vornicus> | I still don't, uh. honestly i'm still kind of confused about your goal here. You can't possibly have enough data to make the level of detail you want for your planet, and geodesics are really bad at adaptive LOD |
07:08 | < Rhamphoryncus> | I'm backing off on the adaptive LOD. Right now my goal is simply to use the geodesic for the terrain data, while objects and such will be placed using coordinates |
07:09 | < Rhamphoryncus> | I have a series of Hex objects, generated using a collection of methods until all the holes are filled, each providing their own coordinates. This doesn't scale and doesn't provide a way to index them or access neighbours |
07:11 | < Rhamphoryncus> | That's what I'm trying to improve. I don't want individual hex objects |
07:13 | < Rhamphoryncus> | I want to take an index, get the vertices of it (and possibly its neighbours), retrieve the associated data for it an its neighbours, then render in some terrain |
07:14 | <~Vornicus> | Okay. |
07:14 | <~Vornicus> | Let me see if I can describe to you how I built my hexagons, so you can see how this might work. |
07:14 | | * Rhamphoryncus nods |
07:15 | < Tarinaky> | http://reservedmemoryblog.blogspot.co.uk/2012/08/duelfieldstars-v1-release.html If anyone's on Windows and can give my attempt at making a distributable a thumbs up or down that'd be swell. |
07:16 | <~Vornicus> | A given vertex on my grid has three pieces to its coordinate: a macrocell (which face of the icosahedron is it on?), and a pair of index values that say what lines they're on. The index values, along with the size, also give me a third line. |
07:17 | <~Vornicus> | TO give you some sense of how these index values are used: if my point is at (1, 2) on a size 6 world, there are 7 lines that go through the triangle in each direction: line 0 is the actual edge of the triangle, line 6 goes through only the opposite point. |
07:17 | <~Vornicus> | And all points within the triangle have their three coordinates add up to 6, so I'm 1 line away from the first edge, 2 from the second, 3 from the third. |
07:18 | | Kindamoody|breakfast is now known as Kindamoody |
07:18 | < Rhamphoryncus> | Barycentric coordinates |
07:18 | <~Vornicus> | Basically, yeah. |
07:20 | < Rhamphoryncus> | I was actually just considering switching to an icosahedron for the coordinates |
07:20 | < Rhamphoryncus> | What about hexes on the borders though? |
07:21 | <~Vornicus> | You'll have to fiddle with it a bit, unfortunately, but. |
07:21 | <~Vornicus> | You should be able to, given the connectivity graph of your thing, get the edges to work as appropriate. |
07:21 | <~Vornicus> | Anyway. |
07:22 | < Rhamphoryncus> | hrm |
07:22 | <~Vornicus> | Given my (1, 2, 3) indexes here. |
07:23 | <~Vornicus> | I interpolate along the great circles between the corners of my macrocell, to get six points: the 1 gives me (a * (6 - 1) + c * 1) and (b * (6 - 1) + c * 1), and similarly the 2 gives me things towards b and the 3 gives me things towards a. |
07:23 | <~Vornicus> | These six points, in those pairs, give me three more great circles. |
07:24 | < Rhamphoryncus> | huh.. |
07:24 | <~Vornicus> | I take the intersections of each pair of great circles, to get three points on the surface of the sphere, which I then average to get the actual 3d coordinates. |
07:26 | <~Vornicus> | Generating the great circles themselves is simply taking the cross product of the two points -- this gives you the direction of the axis of the great circle. Then the intersection of two great circles is the cross product of the axes of the great circles. |
07:26 | < Rhamphoryncus> | I wonder if your great circles correspond to a pentakis dodecahedron ^_^ |
07:26 | <~Vornicus> | No. |
07:31 | <~Vornicus> | (I am still having trouble with pov-ray, figuring out how to interpolate around a great circle is giving me fits) |
07:33 | < froztbyte> | McMartin: what's your naming scheme? |
07:33 | <~Vornicus> | (because honestly I did this with angle-axis rotation and I don't have that tool here) |
07:36 | < froztbyte> | Tarinaky: s/my opp/me opp/, and busy waiting for the .zip to finish downloading |
07:42 | < froztbyte> | looks good |
07:43 | < froztbyte> | only two recommendations I have are 1) change your readme to indicate which exe to run (just because), and 2) maybe a short blurb about how the game should be played |
07:48 | < Tarinaky> | I'll try to keep that in mind for the next project. |
07:50 | <~Vornicus> | I'm not nearly as good at rotation math as I wish I were |
07:53 | < Rhamphoryncus> | I wonder if this'd work better if I actually was using great circles. Continuous loops all the way around. Might eliminate some of the border issues |
07:53 | <~Vornicus> | I still don't think we're using great circles in the same way here |
07:54 | < Rhamphoryncus> | Probably not. I only half understood what you said |
07:54 | <~Vornicus> | I'm using them as geometric objects for calculation; most of the stuff that's actually rendered isn't on any great circles. |
07:58 | < Rhamphoryncus> | I think that's what I'm going for |
07:59 | < froztbyte> | my little excursion into handling geospatial things (for wimax network planning) a few years ago had me end up with pyProj as the preferred lib then |
07:59 | < froztbyte> | it had a few options of circles to choose from, and fairly sane movement actions |
08:00 | < froztbyte> | I'm guessing you could look at its math (or the Proj library it's built on) for some reference stuff |
08:01 | < Rhamphoryncus> | irrelevant but cool: http://i428.photobucket.com/albums/qq5/hijujih/vray-remake04_small.jpg |
08:01 | < froztbyte> | haha, nice |
08:11 | < Rhamphoryncus> | Hrm. Assuming for a moment that I punt on the pentagons (they get special-cased), and my indexes only overlap the borders by 1, then a given face of the icosahedron only needs the 3 immediately adjacent |
08:12 | <~Vornicus> | Correct. |
08:12 | <~Vornicus> | --and their orientations. |
08:12 | < Rhamphoryncus> | Or 6 vertices total, vs the 3 for non-borders |
08:13 | < Rhamphoryncus> | 'course that's still half of the total vertices |
08:14 | < Rhamphoryncus> | I wonder, if I made it consider all 12, would I notice a pattern? |
08:20 | < Rhamphoryncus> | Maybe I should do a tetrahedron XD |
08:20 | <~Vornicus> | "consider all 12"? |
08:20 | <~Vornicus> | slep for serious |
08:20 | < Rhamphoryncus> | all 12 vertices, just have most of them weighted at 0 |
08:21 | < Rhamphoryncus> | But the weighting is applied continuously, so it's not a true border |
08:36 | <&McMartin> | froztbyte: Naming scheme? |
08:40 | < froztbyte> | for your hosts |
08:42 | <&McMartin> | Oh. |
08:42 | <&McMartin> | Most of them are named after elements. |
08:42 | <&McMartin> | Astatine, Iodine, Osmium. |
08:43 | <&McMartin> | Carlsbad was so named because it's a Mac and was purchased at the time when the only other alternative was Vista. |
08:43 | <&McMartin> | (Carlsbad is the name of the city in San Diego County - my hometown - next to Vista.) |
08:44 | <&McMartin> | Astatine is the gaming desktop, so named because as a gaming machine it has a useful half-life of 2.5 hours or so - this joke failed to work because here it is 3 years later and still very nearly top of the line. |
08:44 | <&McMartin> | Iodine is the Fedora 17 server machine, named basically by analogy with Astatine. |
08:45 | <&McMartin> | Osmium, an Ubuntu Laptop, was acquired from the supplier "System76", and Osmium is the elemtn with atomic number 76. |
08:49 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
08:49 | < froztbyte> | aha |
08:49 | < froztbyte> | it's Carlsbad that confused me :) |
08:56 | <&McMartin> | That said, the previous generation of machines I had was named after fictional space heroes |
08:56 | <&McMartin> | Iodine, before it was Iodine, was Zinglon. |
08:57 | <&McMartin> | Serving alongside Spiff, a machine now gathering dust in my closet. |
09:30 | < Tarinaky> | I' struggling to remember the name of a piece of technology. |
09:30 | < Tarinaky> | It's a library that gives your software a virtual filesystem for accessing archives shipped with the game. |
09:31 | | * Rhamphoryncus wonders if firefox's "save in folder" dialog is what leaks most for him |
09:32 | < Tarinaky> | Ah! |
09:32 | < Tarinaky> | PhysicsFS |
09:41 | < Rhamphoryncus> | viewed and saved 6 images. about:memory went from 400 megs to 1 gig |
09:51 | < Rhamphoryncus> | 5 gigs, restarting :P |
10:02 | < Rhamphoryncus> | huh, here's another thought: could I generate vertices using a single face, then rotate them into position? |
10:04 | < Rhamphoryncus> | Well, not exactly. They wouldn't be identical so opengl would give me occasional pixel gaps. Mirroring would work though |
10:06 | < Rhamphoryncus> | Yeah, if you consider mirroring and reordering there's only 2 vertices in a dodecahedron.. |
10:06 | < Rhamphoryncus> | a pentakis dodecahedron adds a 3rd |
10:11 | | You're now known as TheWatcher |
10:13 | < Rhamphoryncus> | Might even be able to treat it like a cube.. |
10:59 | | Kindamoody is now known as Kindamoody|gaming |
11:18 | | Attilla [Obsolete@Nightstar-02ceed6a.as43234.net] has joined #code |
11:25 | < froztbyte> | http://www.fourmilab.ch/autofile/www/section2_46_6.html#SECTION00466000000000000 000 |
11:25 | < froztbyte> | fun erad |
11:25 | < froztbyte> | read* |
11:29 | < Rhamphoryncus> | heh |
11:31 | < froztbyte> | http://www.fourmilab.ch/autofile/www/chapter2_43.html#SECTION0043000000000000000 0 |
11:52 | < Tarinaky> | I had forgotten how confusing C++ error messages can be. |
11:53 | < Tarinaky> | Can someone remind me what the syntax is to say "This method does not modify the object" ? |
11:53 | < Tarinaky> | I can't remember where const has to go. |
11:55 | < gnolam> | void foo() const; |
11:56 | < froztbyte> | it saddens me that I could remember that too :( |
11:56 | < Tarinaky> | Ahah, that'll be it then. |
11:57 | < Tarinaky> | For some reason I thought it was void const foo() |
11:57 | < Tarinaky> | I suspect that's something else. |
11:57 | < froztbyte> | nah that's java-like |
11:57 | < froztbyte> | private static foo(**stuff): |
11:57 | < froztbyte> | (why do I still remember these things? :((((( ) |
12:04 | < Tarinaky> | error: no match for 'operator+' in 'std::operator+(_CharT, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>](((const std::basic_string<char>&)(& pair->std::pair<std::basic_string<char>, JSON::Value*>::first))) + 2243104' |
12:05 | | * Tarinaky is trying to ease himself back into C++ by writing a JSON writer/parser >.> |
12:08 | < Tarinaky> | That's associated with the line: "return '"'+pair.first+'": '+pair.second->output();" |
12:09 | < Tarinaky> | pair.first is of a type that is a typedef for std::string, and output() returns a typedef for a std::string. |
12:10 | < Tarinaky> | Which, thinking about it, defeats the entire point of using a typedef. |
12:10 | < gnolam> | ... yes. |
12:11 | < Tarinaky> | Okay. |
12:11 | < Tarinaky> | Now they're both of the same type. |
12:11 | < Tarinaky> | Same error. |
12:11 | < Tarinaky> | Can anyone explain the error message a little? |
12:12 | < Tarinaky> | Or would pastebin be required? |
12:18 | < Rhamphoryncus> | that's return 'x' + std::string("...")? |
12:19 | < Rhamphoryncus> | or char + std::string |
12:19 | < Rhamphoryncus> | '": ' isn't even legal.. |
12:20 | < Tarinaky> | That'll be the issue then. |
12:20 | < Tarinaky> | What's a legal string containing a double quote mark followed by a colon and a space? |
12:23 | < Tarinaky> | oh derp |
12:23 | < Tarinaky> | '' is always for characters >.< |
12:23 | < Tarinaky> | -Now- it makes sense. |
12:24 | < Rhamphoryncus> | yes heh |
12:25 | < Tarinaky> | Okay. Next compiler error... |
12:26 | < Tarinaky> | JSON::Value::dict is a std::map<string,Value*>. "dict["foo"] = JSON::String().set("bar");" gives me |
12:26 | < Tarinaky> | invalid types 'JSON::Value::dict()[const char [4]]' for array subscript |
12:27 | < Tarinaky> | Oh wait. |
12:27 | < Tarinaky> | DEEEEEERP |
13:05 | < Tarinaky> | Okay. I'm either missing something really obvious or I'm missing something really obvious... |
13:06 | < Tarinaky> | But why is it calling a method from the base class instead of the specialisation? |
13:07 | < Tarinaky> | Ahah! |
13:13 | < Tarinaky> | Yaaay. I now have a JSON writer. Now the hard part, reading >.< |
13:35 | | Kindamoody|gaming is now known as Kindamoody |
14:37 | | Nemu [NeophoxProd@Nightstar-06b54f64.asahi-net.or.jp] has joined #code |
15:15 | < Tarinaky> | ://// |
15:16 | < Tarinaky> | Why isn't it letting me create a stringstream object from a string? |
15:18 | < Rhamphoryncus> | you mean a string initializer? |
15:19 | < Tarinaky> | Yes. |
15:20 | < Rhamphoryncus> | hrm. cppreference.com says std::strstream is deprecated and they don't have a page on the constructor |
15:22 | < Rhamphoryncus> | missing for basic_stringbuf too |
15:24 | < Tarinaky> | http://www.cplusplus.com/reference/iostream/stringstream/ is the one I use. |
15:24 | <&ToxicFrog> | Oh, c++ |
15:25 | < Tarinaky> | Good news everyone: It appears to be loading valid JSON. The bad news is it's also loading invalid JSON. |
15:26 | <&ToxicFrog> | You're rolling your own JSON parser in C++ o.O |
15:27 | < Tarinaky> | For its own sake. |
15:27 | < Tarinaky> | I haven't done C++ in ages, I figured it was a good way to 'get back into' the language. |
15:31 | < Tarinaky> | Annoyingly, the docs don't actually say what whitespace is. |
15:32 | < Tarinaky> | Which is slightly annoying. |
15:36 | < Rhamphoryncus> | They don't specify utf-8 either, which is fine when embedding in an existing text stream, but problematic if you want a freestanding file |
15:36 | < Tarinaky> | ToxicFrog: Dunno why the 'o.O', all the problems I've run into where my own stupidity. |
15:37 | < Tarinaky> | Slash forgetting how to write code. |
15:37 | <&ToxicFrog> | Tarinaky: yeah, it's just, if for some reason I wanted to get back into C++, something involving heavy text processing (which C and C++ are generally awful at) would be my last choice. |
15:39 | < Tarinaky> | I guess I lack imagination. |
15:54 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has quit [[NS] Quit: beroot.] |
16:00 | | * TheWatcher eyes Tarinaky |
16:00 | <@TheWatcher> | If you're doign heavy string processing, you should be using Perl ¬¬ |
16:01 | < Tarinaky> | I appologise for taking the time to learn anything :/ |
16:05 | < Rhamphoryncus> | Now now, we fully support your insanity |
16:05 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code |
16:05 | | mode/#code [+o Alek] by ChanServ |
16:05 | < Rhamphoryncus> | After all, everybody puts up with mine |
16:10 | <@TheWatcher> | Tarinaky: it's more that there's some things c++ is good at, and some some things it explicitly seems to be setting out to make you want to kill yourself over, and heavy string processing is quite firmly in the latter, especially if you're talking anything other than ASCII >.> |
16:12 | < Tarinaky> | Anyone wanna see where it's at? |
16:17 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code |
16:17 | | EvilDarkLord [jjlehto3@Nightstar-a5db08cc.org.aalto.fi] has joined #code |
16:19 | <~Vornicus> | Rham: to be fair your insanity is language-independent. |
16:19 | < Rhamphoryncus> | true that |
16:20 | < Rhamphoryncus> | fwiw, my latest approach is to not make a new algorithm. Instead I'm attempting to refactor my existing code |
--- Log closed Sun Aug 05 16:33:41 2012 |
--- Log opened Sun Aug 05 16:33:46 2012 |
16:33 | | TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code |
16:33 | | Irssi: #code: Total of 30 nicks [5 ops, 0 halfops, 0 voices, 25 normal] |
16:33 | | mode/#code [+o TheWatcher] by ChanServ |
16:34 | | Irssi: Join to #code was synced in 41 secs |
17:05 | < Rhamphoryncus> | Oh phew, something failed. I was afraid for a moment when everything worked perfectly |
17:10 | < Rhamphoryncus> | Oh, it does work, I just pessimised my invariant-check |
17:18 | < Rhamphoryncus> | So.. I have hex generation handling overlap by itself. All I need to do now is change how I iterate over the hex centroids to tell them to generate |
17:30 | | Derakon[AFK] is now known as Derakon |
17:46 | | Kindamoody is now known as Kindamoody|out |
18:00 | < Rhamphoryncus> | side benefit: pentagons are created automatically with no special handling |
18:01 | | rms is now known as Vasi |
19:07 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code |
19:07 | | mode/#code [+o Vash] by ChanServ |
19:11 | | Vash is now known as Vash[CoH] |
19:42 | | Kindamoody|out is now known as Kindamoody |
19:49 | | Kindamoody is now known as Kindamoody[zZz] |
20:21 | | Attilla_ [Obsolete@Nightstar-36d1ef0e.as43234.net] has joined #code |
20:22 | | Attilla [Obsolete@Nightstar-02ceed6a.as43234.net] has quit [Ping timeout: 121 seconds] |
20:44 | | Attilla_ is now known as Attilla |
21:31 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
22:14 | < Tarinaky> | Having trouble with something. The linker seems to be removing functions that aren't used in the corpus of the code. This makes debugging a little harder (if I want to invoke thos functions in the debugger to get some kind of information about an object). |
22:15 | < Tarinaky> | I can't find a flag or something to disable this behavior and include all symbols. |
22:17 | < Tarinaky> | I'm already using -O0 |
22:17 | < Tarinaky> | Oh, I'm using the gcc toolchain on cygwin. |
22:18 | | Vash[CoH] is now known as Vash |
22:23 | <&McMartin> | Do a "man ld", you may need to do the -Wl,blah,blah thing. |
22:32 | | Derakon is now known as Derakon[AFK] |
22:35 | <&ToxicFrog> | Tarinaky: make sure you're also using -g. -Wl,--export-dynamic might help as well. |
22:52 | < Tarinaky> | -Wl and --export-dynamic give me unrecognised flag :/ |
22:53 | < Tarinaky> | Ah wait |
22:53 | < Tarinaky> | Derp |
--- Log closed Mon Aug 06 00:00:49 2012 |