code logs -> 2012 -> Sun, 30 Sep 2012< code.20120929.log - code.20121001.log >
--- Log opened Sun Sep 30 00:00:24 2012
00:20 You're now known as TheWatcher[T-2]
00:24 You're now known as TheWatcher[zZzZ]
00:39 RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has quit [[NS] Quit: Leaving]
03:16 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code
03:16 mode/#code [+o Vash] by ChanServ
04:02 * McMartin takes the discussion here, where it belongs
04:02
<&McMartin>
There's "put this magic string in front" on pixel shaders, but that's just "#version is mandatory"
04:02
<&McMartin>
Which is fine
04:03
<&McMartin>
The issue I was having was that the actual *contents of the shader* needed to change because the way variables were declared, etc. was different across versions.
04:04
<&McMartin>
Like in the "GLSL 1.20 doesn't let you define variables that way" sense
04:05
<&McMartin>
Also to be fair, given the arcsynthesis explicit goal of breaking from the past, the stuff I'm doing to make it 1.20 compatible is clearly kind of shitty and ad-hoc and I can see why he wants to skip it out~
04:06
<&Derakon>
Well, my main complaint about the version string was that the tutorial I was using didn't have one.
04:06
<&Derakon>
So my code didn't work despite being exactly what the example had.
04:06
<&McMartin>
Oh, uh, yeah
04:06
<&McMartin>
If you don't have a version string the version is 1.10
04:06
<&McMartin>
So, um, no, never, that was a bad tutorial~
04:07
<&McMartin>
(It appears that in GLSL 1.30 and later you stop having your inputs and outputs hardcoded by the pipeline, which I freely recognize is Kind Of A Big Deal)
04:07
<&Derakon>
I see it now does have one, but the tutorial frankly has plenty of other issues; for example there's no one point where it provides the entire program as a chunk, making it impossible to get a high-level view (or even just copy the sample code) without a lot of tedious copy-and-pasting.
04:08
<&McMartin>
(To the point that I'm not sure if the half-conceived thing I have in mind right now is even going to be reasonable in GLSL 1.20)
04:08
<&McMartin>
Which one are you using?
04:08
<&Derakon>
http://pyopengl.sourceforge.net/context/tutorials/shader_1.xhtml
04:08
<&McMartin>
Ah
04:08 * McMartin has been using arcsynthesis, which has the different problem of (a) assuming OpenGL 3.3 support, which only Astatine in fact does, and (b) relying on a GLUT wrapper that he can't get to work on any machine anywhere.
04:09
<&McMartin>
I'm good enough at SDL that (b) was solvable in about 20 minutes, but (a) means I'm having to do a lot of scholarship~
04:11
<&Derakon>
I'm not familiar with arcsynthesis, sadly, so I can't really help you. Good luck.
04:12
<&McMartin>
Well, I'm not at Making Progress levels, so~
04:12
<&McMartin>
But it's http://www.arcsynthesis.org/gltut/index.html
04:12
<&McMartin>
I've managed to create equivalent programs to the first two tutorials that run with 2.1/1.20 instead of 3.3/3.30.
04:13 * Derakon navigates up to http://www.arcsynthesis.org ...uh.
04:13
<&McMartin>
Hooray, misconfigured web servers
04:21
<&McMartin>
Also, I just realized that I have no idea how this code works that I have written.
04:37 Attilla [Obsolete@Nightstar-78cc8c64.as43234.net] has quit [Ping timeout: 121 seconds]
04:38
<&McMartin>
Aha!
04:38
<&McMartin>
It turns out that Generic Vertex Attribute Array 0 is also the position.
04:46
<&McMartin>
So that's why that works, and that's also why there are no calls to glBindAttribLocation in this sample code - because that functionality got moved into GLSL some time after 1.30.
05:37 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
05:40
< Nemu>
Damnit, FTL. I had a two-person Rock raiding crew, maxed damage, massive cash, but only one hit left in my hull
05:40
< Nemu>
Now I'm back at the beginnin
05:41
<&McMartin>
Can't stop the Rock
05:41
<&McMartin>
Or, guess, maybe you can
05:41
< Nemu>
Technically Engi
05:42
< Nemu>
The rock were some lucky addons
05:42
<&McMartin>
Aha
05:43
< Nemu>
...suddenly there's a mantis in my hold
05:43
< Nemu>
He's not a boarder, I don't think
05:43
< Nemu>
He's just..... here
05:44
< Nemu>
Whatev's. He get's to work the engine
05:44
< Nemu>
*gets
05:44
<&McMartin>
Perhaps he is here to help you identify your possessions!
05:50 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
05:50 mode/#code [+o himi] by ChanServ
05:52
< Nemu>
The Engi ship is fun to play when you have all the right equipment. The problem I've found is that, to afford all the right equipment, you have to asphyxiate everyone, which means I usually start a battle, set my ions to O2, and go make a sandwich
05:52
< Nemu>
Makes for high productivity, I guess
06:08
< Namegduf>
Nemu: I tend to deal with weapons, then beam people over, missiling the medibay when someone runs there (hurts AND destroys it) if there is one.
06:09
< Namegduf>
No one dies beaming over, because you can keep them running around ridiculously until the teleporter recharges if necessary, they won't be attacked while being chased.
06:09
< Namegduf>
You *can* kill people by using bombs or missiles or lasers, and I have done that, but it's usually very annoying and doing that all the way normally destroys the ship first.
06:10
< Namegduf>
And by "tend to" I mean I did it with the Kestrel and eventually won a run.
06:12
< Nemu>
I'm starting to prioritize getting that crew teleporter earlier in the game. Engi, I like the idea of the ion blaster, but they're hard to get, and expensive to get enough energy for two. I think with two, I could absolutely rape the other ship.
06:12
< Nemu>
Does the mantis ship start with a teleporter?
06:12
<&Derakon>
Yes.
06:13
<&Derakon>
And the B variant can teleport up to 4 crew at once.
06:13
<&Derakon>
(But it starts with 2 crew and no weapons)
06:13
< Nemu>
Oooooooh
06:13
< Nemu>
Oh
06:13
< Nemu>
Neverminds
06:13
< Nemu>
Shields? If it has a shield, that still may be salvageable
06:13
<&Derakon>
Starts with a 2-layer shield.
06:13
< Nemu>
Nice.
06:13
<&Derakon>
And all systems except cloak.
06:14
< Nemu>
What's up with the second shield unit costing 100 scrap?
06:14
< Nemu>
Not layer, upgrade
06:14
<&Derakon>
It's viable...you just can't take out rebel droneships, and you have to hope the enemy doesn't have missiles or bombs or else you'll spend a long time repairing after each fight.
06:14
<&Derakon>
That's the devs guaranteeing you access to the system but not making it cheap to be actually usable.
06:14
<&Derakon>
Buying the system outright gives you 2 bars but costs 150.
06:14
<&Derakon>
And of course you have to find a store with the system.
06:15 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
06:38 Derakon is now known as Derakon[AFK]
06:48 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!]
07:00 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Client closed the connection]
07:02 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code
07:25 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!]
08:30 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
08:30 You're now known as TheWatcher
08:41 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code
08:43 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
08:43 mode/#code [+o himi] by ChanServ
08:57
< Nemu>
Well, that makes me kind of angry
08:57
< Nemu>
Perfect game, built around boarding
08:58
< Nemu>
Worked great, until I found out you can't teleport someone still moving. So, I had a guy just about to stop, to get teleported out, and my teleporter missed him.
08:58
< Nemu>
This triggered a cascade of failures, and I'm down to one boarder, from four
08:59
< Nemu>
Wouldn't be so bad if it hadn't happened in the middle of the final fight
09:16
<&jerith>
Nemu: That's fixed in the update.
10:05 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
10:19 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
10:19 mode/#code [+o himi] by ChanServ
11:40
<&McMartin>
Hm.
11:41
<&McMartin>
Actually, maybe a good thing for me to learn to do would be to rewrite Sable to use VAOs.
11:42
<&McMartin>
Going OpenGL 2.1 would also let it use Phong shading, which would fix up some of the uglier artifacts on the ship from its low-poly nature.
12:10 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
12:10 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
12:20 Attilla [Obsolete@Nightstar-aaae7e42.as43234.net] has joined #code
12:23 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
12:23 mode/#code [+o himi] by ChanServ
13:28
<&McMartin>
Hm, I've been doing this wrong
13:30 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
13:30
<&McMartin>
I shouldn't be directly linking against anything in OpenGL later than 1.1 =P
13:30
<&McMartin>
I should instead be using something like GLLoad
13:30
<@TheWatcher>
glew is your friend
13:37
< gnolam>
GLEW is indeed your friend.
13:47
<&McMartin>
GLEW breaks on 3.2 and later >_<
13:47
<&McMartin>
At least according to opengl.org
13:52
<@TheWatcher>
... not according to the glew site, which says it supports up to 4.3
14:07 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Connection closed]
14:31 Nemu [NeophoxProd@Nightstar-9610f4cb.asahi-net.or.jp] has quit [Client closed the connection]
14:31 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
14:42 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Client closed the connection]
14:47 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
15:07 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
16:27
<&ToxicFrog>
I'm kind of sad that this is necessary:
16:27
<&ToxicFrog>
function parse_wa() {
16:27
<&ToxicFrog>
sed -r 's/.*pod_0[12]00.*"stringified": "([^"]+)",.*/\1/p; d' \
16:27
<&ToxicFrog>
| python -c 'import HTMLParser as HP; import sys; hp = HP.HTMLParser(); print hp.unescape(sys.stdin.read()).strip().encode("utf-8");'
16:27
<&ToxicFrog>
}
17:01 Derakon[AFK] is now known as Derakon
17:05
< Tarinaky>
Okay. Dumb question.
17:06
< Tarinaky>
The specs for my mobo on the gigabyte website say that it supports 2200/1333/800 MHz.
17:06
< Tarinaky>
Does this mean it doesn't support 1666?
17:06
< Tarinaky>
Or is 2200 the maximum and 1333/800 are listed explicitly for some historical reason?
17:07
< Tarinaky>
Because I can't even find 2200 MHz RAM. Only 2133.
17:07
< froztbyte>
ToxicFrog: ....wow
17:08
<&Derakon>
TF: so that's extracting and then de-HTMLEncoding strings from a file?
17:32
<&ToxicFrog>
Derakon: the input is actually piped from Wolfram Alpha, but yes.
17:33
<&ToxicFrog>
Specifically, it's extracting the 'stringified' entries from the javascript objects for pod_0100 and pod_0200 (which are the interpretation of the question and the answer, respectively)
17:33
<&ToxicFrog>
Tarinaky: is this DDR3 memory?
17:35
<&ToxicFrog>
Because no DDR3 memory operates at 2133MHz; its range is 400-1066MHz, or 800-2133MT/s
17:37
<&ToxicFrog>
Given that the MB specification writers have apparently confused MHz and MT/s, it doesn't seem unlikely that they also rounded 2133 to 2200~
17:37
<&ToxicFrog>
Also, it is, in general, safe to mix different RAM/motherboard speeds; it'll operate at the speed of the slowest component.
17:42 Derakon is now known as Derakon[AFK]
17:47
< froztbyte>
ToxicFrog: why that and not the API, btw?
17:47
< Tarinaky>
ToxicFrog: This defeats the point of spending money to buy it though.
17:48
< Tarinaky>
What's an MT?
17:48
< froztbyte>
transactions, I think
17:48
< froztbyte>
but you may wish to check up on that
17:48
<&ToxicFrog>
franny: Because the API requires signup and consequently faffing about with access keys and cookies and whatnot.
17:48
<&ToxicFrog>
Er
17:48
<&ToxicFrog>
froztbyte: Because the API requires signup and consequently faffing about with access keys and cookies and whatnot.
17:48
< froztbyte>
oh
17:49
< Tarinaky>
"Support for DDR3 2200/1333/1066/800 MHz memory modules"
17:49
< Tarinaky>
http://www.gigabyte.com/products/product-page.aspx?pid=3571#sp
17:49
<&ToxicFrog>
Tarinaky: Transfers.
17:49
<&ToxicFrog>
DDR transfers data on both the rising and falling clock edges, so at the low end DDR3 operates at 400MHz and 800 megatransfers/second.
17:50
< Tarinaky>
If I put 2133 memory in here, will it run at 2133 or 1333?
17:51
<&ToxicFrog>
They probably mean they can drive the memory bus at 2133, 1333, 1066, or 800 MTps, which are four of the six "standard" DDR3 transfer rates.
17:52
<&ToxicFrog>
OTOH, they've already mixed up MTps and MHz, and may be confused on the difference between 2133 and 2200, and I don't have any idea why, supporting those, they wouldn't also support 1866 and 1600
17:52
<&ToxicFrog>
So really, my instinct would be "buy a motherboard from a company that knows what the hell they're doing instead"~
17:53
<&ToxicFrog>
froztbyte: the best part is that WA doesn't actually present the results as text; it generates images on the fly and uses those instead.
17:54
<&ToxicFrog>
Text is a feature that you have to sign up for and specifically enable.
17:54
<&ToxicFrog>
...except the plaintext is then right there in the javascript.
17:55
< Tarinaky>
http://download.gigabyte.eu/FileList/Memory/mb_memory_ga-x58-usb3.pdf Does this provide any clues?
17:55
<&ToxicFrog>
Tarinaky: looking at the - yes, I was just reading that
17:56
<&ToxicFrog>
It also lists DDR3-1800 and DDR3-2000, neither of which are standard speeds, and "2100+" rather than 2133 or 2200
17:56
<&ToxicFrog>
:wtc:
17:56
< Tarinaky>
World Trade Center?
17:56
<@TheWatcher>
What The Crap
17:56
<@TheWatcher>
(specifically, the emoticon for the same)
17:58
<@TheWatcher>
(also, that entire thing reads like someone is quite practiced at being unable to find their own arse with both hands, an atlas, and a team of sherpa guides.)
18:27 rms is now known as Vasi
18:41 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code
18:41 mode/#code [+o Vash] by ChanServ
18:45 ErikMesoy [Erik@Nightstar-bd2f5f93.80-203-16.nextgentel.com] has joined #code
18:47 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
18:55
< ErikMesoy>
Python: how much does math have that numpy doesn't?
18:55
< ErikMesoy>
(Background: math and numpy aren't playing nice when imported together)
18:58
<~Vornicus>
Probably not much, let me check.
18:58
<~Vornicus>
But, uh
18:59
<~Vornicus>
How are you importing these
18:59
<~Vornicus>
because if you're doing from foo import * I need to beat you with a stick.
18:59 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
19:00
< ErikMesoy>
"import numpy" but "from math import *"
19:00 * ErikMesoy holds up textbook as a shield.
19:01
<~Vornicus>
Yes this is your own fault.
19:01 * Vornicus beats erikmesoy with a stick, in the abdomen because the textbook isn't that big.
19:01
<~Vornicus>
okay let's see here.
19:02
< ErikMesoy>
"import math" didn't help though
19:02
< ErikMesoy>
Basically, I need numpy for arrays, and it's supposed to let me do array1 = function(array2).
19:02
< ErikMesoy>
But function(x) includes a define from math, which refuses to take an array.
19:02
< ErikMesoy>
I'm guessing numpy includes most of math's stuff somewhere.
19:02
<~Vornicus>
Okay, what's the error you're getting, what function are you using, and are you sure you're supposed to be able to do that
19:02
<~Vornicus>
I mean
19:03
< ErikMesoy>
"TypeError: only length-1 arrays can be converted to Python scalars"
19:03
< ErikMesoy>
I can do array1 = function(array2) if the function is simple, like def function(x): return 2*x.
19:03
< ErikMesoy>
But if function(x) involves stuff from math, TypeError.
19:03
<~Vornicus>
oh I see what's going on
19:04
<~Vornicus>
arrays work as vectors, and have operator support thereto.
19:04
<~Vornicus>
let me look.
19:06
< ErikMesoy>
Meanwhile, I have kludged my way around the problem by such things as replacing "from math import exp" from "from math import e" and using e**x in my function instead of exp(x). Is this terrible?
19:07
< ErikMesoy>
replacing...with, not from.
19:07
<~Vornicus>
Works but is technically slower
19:08
< simon_>
has anyone here played with Happstack/Yesod, and can they recommend them as alternatives to CGI/Django?
19:10
<~Vornicus>
the math things all work only on floats, of course; what you really need if you want this to work is to rewrite each function so it works on array objects. You may need to handroll these, unfortunately
19:12 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
19:12 mode/#code [+o himi] by ChanServ
19:22
< ErikMesoy>
Vornicus: Why was I to be beaten with a stick?
19:23
<~Vornicus>
Because from foo import * is one of the surest ways to make python code hard to maintain
19:24
<~Vornicus>
and it often causes overwrite problems.
19:29 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds]
19:31 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code
19:46 Moltare [Moltare@Nightstar-ea86315b.range86-185.btcentralplus.com] has joined #code
20:45 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Connection closed]
20:46 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
21:09 Derakon[AFK] is now known as Derakon
21:09 mode/#code [+ao Derakon Derakon] by ChanServ
21:34 iospace is now known as io\PACKERS
21:39 Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Operation timed out]
21:40 ErikMesoy is now known as ErikMesoy|sleep
21:40 Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code
21:40 mode/#code [+ao Derakon Derakon] by ChanServ
22:35 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
22:37 * McMartin flails more at OpenGL
22:38
<&McMartin>
Also, :wtc: is "What the Christ", not "What the crap"
22:38
<&McMartin>
What I really want is something like GLEW but in reverse.
22:39
<&McMartin>
That is, I want a table of every constant and every API Entry point
22:39
<&McMartin>
Combined with the extension in which this constant/entry point was introduced, the version - if any - it became standard, and the version - if any - it became deprecated
22:40
<&Derakon>
That's an awful lot of information.
22:40
<&McMartin>
Yes
22:40
<&McMartin>
But I could then take that information, combine it with a C lexer, and feed it source, and have it come back with "this program assumes that OpenGL version X.Y is available, or that X'.Y' is available and these extensions are present"
22:52
<&McMartin>
Hmm. I might be able to programmatically extract it from glext.h
22:52
<&McMartin>
Which is Seven Hundred KB Long
23:04 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code
23:04 mode/#code [+o Vash] by ChanServ
23:15
<&jerith>
McMartin: WELG.
23:15
<&McMartin>
Is that a thing or just a suggested name for such a project?
23:16
<&McMartin>
(If the latter, it can be backronymed to "Which Extensions Look Good")
23:16 Moltare [Moltare@Nightstar-ea86315b.range86-185.btcentralplus.com] has quit [[NS] Quit: ]
23:28 Vasi is now known as rms
23:36
<&jerith>
McMartin: It's "GLEW" but in reverse. :-P
23:37
<&jerith>
And yes, it's a suggested name.
23:37
<&jerith>
I know not whether it actually exists, but that's what I'd call it if I built it.
23:38
<&McMartin>
Yes, that's why I was asking if it was a suggestiong or a Thing
23:39
<&McMartin>
glext.h looks largely machine generated.
23:39
<&McMartin>
I should try seeing what I can mechanically pull out of it.
23:39
<&McMartin>
I can't get deprecations, but I can get extension name and mainlining (the latter from the comments)
23:46 * gnolam ponders platform collision.
23:48
<&McMartin>
As in, Mac/Linux, or as in Mega Man?
23:48
<&McMartin>
Because if the latter, I have, um, some recent experience in that area
23:48
< gnolam>
As in Mega Man.
23:49
< gnolam>
I'm trying to decide whether I should have single pixel width player VS platform collision or not.
23:50
<&McMartin>
Which thing is single pixel width?
23:50
<&McMartin>
Do *not* under any circumstances do pixel perfect collision or air/ground transitions will fuck up the stage geometry constantly
23:51 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Connection closed]
23:52
< gnolam>
As in, "when checking if the player is on a platform, should the player's collision mask be more than a single pixel wide".
23:52
<&Derakon>
Ninja Gaiden on the NES had a single-pixel-wide hitbox for the player.
23:57
<&ToxicFrog>
Yes it most absolutely should be.
23:58
<&ToxicFrog>
Players will be very unhappily surprised if edging halfway off a platform causes them to fall off it (with their leg clipping through the side of it as they do so)
23:58
<&Derakon>
(Remember that in the Ninja Gaiden games you can wallcling, though)
23:58
<&Derakon>
TF: to be fair, at that point only half of the character would be standing on the platform.
23:58
<&ToxicFrog>
Yes.
23:58
<&ToxicFrog>
And?
23:58
<&Derakon>
It's not reasonable to expect to be able to stand on a platform when 90% of your body mass is off of it.
23:59
<&ToxicFrog>
No, but platformer convention is typically that if any part of your (hitbox|visible sprite) is resting on the platform, you are on the platform.
23:59
<&Derakon>
Nope.
23:59
<&Derakon>
Some games do it that way, but by no means all of them do.
--- Log closed Mon Oct 01 00:00:00 2012
code logs -> 2012 -> Sun, 30 Sep 2012< code.20120929.log - code.20121001.log >

[ Latest log file ]