code logs -> 2012 -> Mon, 01 Oct 2012< code.20120930.log - code.20121002.log >
--- Log opened Mon Oct 01 00:00:00 2012
--- Day changed Mon Oct 01 2012
00:00
<&ToxicFrog>
I honestly cannot think of any that don't, offhand.
00:00
<&Derakon>
Ninja Gaiden, for one. :p
00:00
<&Derakon>
I do remember that Mega Man is unusually generous in this regard.
00:00
<&Derakon>
Since you can have IIRC 2 pixels' worth of feet on the platform and still be supported by it.
00:00
<&ToxicFrog>
For context, almost all of my platforming is on the PC.
00:00
<&Derakon>
Most games are considerably less forgiving.
00:01
<&ToxicFrog>
Where having 2px worth of feet on the platform and still being on it is, in my experience, typical.
00:01
<&Derakon>
Pretty sure that Cave Story isn't that generous.
00:01
<&Derakon>
Iji has mantling and is sufficiently non-platformer-oriented that I never really tested its limits.
00:04 * ToxicFrog golooks
00:05
<&ToxicFrog>
Ok, so
00:05
<&ToxicFrog>
You cannot stand on 1px of hitbox in Cave Story
00:05
<&ToxicFrog>
You can, however, stand on 1px of foot
00:05
<&Derakon>
IIRC the feet are pretty close to the center of the sprite.
00:05
<&ToxicFrog>
At that point, the controls develop a tiny bit of resistance; if you push, your next "step" moves you far enough that your head doesn't clip through the wall when you fall.
00:06
<&ToxicFrog>
Much.
00:07
<&ToxicFrog>
Yeah, in practice it looks like you have a 5 or 7px wide "footprint"
00:07
<&McMartin>
I used hitbox alone
00:07
<&McMartin>
But I'm not using a separate hitbox for floors.
00:07
<&ToxicFrog>
That said, this is entirely consistent with what I said: if any part of your feet are on the platform, you are supported.
00:08 * McMartin checks Project Monocle
00:09
<&ToxicFrog>
(the reason I said (hitbox|visible sprite) is that in some games, your hitbox is basically your entire "tile" and you can thus hover in midair with no foot on the platform, as long as some part of your bounding box is supported by it)
00:09
<&ToxicFrog>
("feet on the ground" seems to be more common, though)
00:10
<&McMartin>
Yeah, so, DD takes the more modern view that player hitbox must always be smaller than the sprite itself
00:10
<&McMartin>
So that you don't get shot by things that didn't hit you.
00:10
<&McMartin>
Anyway, checking DD will have to wait until I finish updating GM:S, since there is an update
00:10
<&Derakon>
Generally players are far less happy to have near misses than they are upset to be hit by things they shouldn't have been.
00:17
<&McMartin>
Yeah
00:17
<&McMartin>
That's when you hit the glitch effect
00:18
<&McMartin>
If your jump sprite is wider than your standing sprite, you can just make a landing as the jumper and then the "landing" means you no longer are standing on the platform.
00:18
<&McMartin>
If you're *very* unfortunately, then once you start falling you then intersect the platform again and you have a physics
00:18
<&McMartin>
*unfortunate
00:19
<&Derakon>
"Have a physics". Heh.
00:21
<&McMartin>
ISTR something similar to this is how the Sonic 3 TASes work.
00:21
<&McMartin>
Get embedded in the geometry in a way that you have some ludicrous forward speed until you are no longer embedded.
00:22
<&McMartin>
OK, it looks like the Delver can actually stand on midair.
00:22
<&McMartin>
His sprite is 32px wide, his hitbox is 16px wide, and it begins at his toes and ends 3px behind his heels.
00:23
<&McMartin>
Perhaps his tux's tails are merely very stiff.
00:23
<&McMartin>
(That said, when moving, he moves 5px/frame)
00:42 You're now known as TheWatcher[T-2]
00:44 io\PACKERS is now known as iospace
00:45 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code
00:45 mode/#code [+o PinkFreud] by ChanServ
00:46 You're now known as TheWatcher[zZzZ]
01:02 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
01:02 Vashicus [Vash@Nightstar-18009871.wlfrct.sbcglobal.net] has joined #code
01:03 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [Ping timeout: 121 seconds]
01:03 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
01:03 mode/#code [+qo Vornicus Vornicus] by ChanServ
01:03 Vashicus is now known as Vash
01:03 mode/#code [+o Vash] by ChanServ
01:28
<&McMartin>
Argh
01:28 * McMartin stabs Debian
01:28
<&McMartin>
No wonder GLEW was so confused
01:29
<&McMartin>
By all fucking means, have the only version available be three releases behind
01:29
<&McMartin>
Well, that's the latest
01:29
<&McMartin>
There is also the one from 12 releases behind that hasn't even heard of my version of Mesa
01:31
<&McMartin>
Meanwhile, GLLoad is trying to link against non-existent GLX stuff >_<
01:33
<&McMartin>
God, how hard can it fucking be to load a fucking DLL
01:33
<&McMartin>
This is making me nostalgic for the clean simplicity of MSVC6, FFS
01:36
<&McMartin>
On the plus side, it looks like a lot of what I want for WELG can be parsed out of data files GLEW itself makes.
01:42
<&McMartin>
OK, yeah, this is exactly what I need, with one exception
01:42
<&McMartin>
The only thing I'm missing here is when specific extensions were promoted into the core library.
01:43
<&McMartin>
... also the lists are not complete
01:43
<&McMartin>
>_<
01:45 * McMartin tries regenerating
01:50
<&McMartin>
There we go
01:52 CaGeRit [x@Nightstar-f0d9c21f.hr.cox.net] has joined #code
02:04
<&McMartin>
HA
02:04
<&McMartin>
Got it working, finally.
02:04
<&McMartin>
Though, um
02:05
<&McMartin>
No real guarantee it doesn't fail the way opengl.org says it does~
02:05
< CaGeRit>
What is it?
02:05
<&McMartin>
GLEW
02:06
< CaGeRit>
Ahh.
02:06
<&McMartin>
The "let's reimplement DLLs" utility for OpenGL because OpenGL is kind of messed up like that.
02:07
<&McMartin>
Hmmm
02:07
<&McMartin>
When an extension is promoted into the standard, is it required to continue to report that "extension" as being supported?
02:08
<&McMartin>
Because if so, then WELG gets a whole lot easier.
02:14 CaGeRit [x@Nightstar-f0d9c21f.hr.cox.net] has quit [[NS] Quit: ["Textual IRC Client: www.textualapp.com"]]
02:46 Attilla [Obsolete@Nightstar-aaae7e42.as43234.net] has quit [Ping timeout: 121 seconds]
02:49
<&McMartin>
OK, I have a name for the project.
02:50
<&McMartin>
Based on my rage in getting anything to work, this tool shall be named:
02:50
<&McMartin>
Automatic Requirements for GL Extensions.
02:50
<&McMartin>
or ARGLE for short.
02:53
<&McMartin>
... and given how I'd like to distribute it, I notice with some concern that Haskell may be my best choice for implementation language
03:00 Orthia [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
03:18
<&Derakon>
You clearly need to figure out some way to get the BARGLE and FARGLE variants too.
03:19 * Derakon eyes his JSON loader.
03:19
<&Derakon>
The problem is that right now the system is "load a giant JSON list of records, then for each record in the list, perform an operation".
03:19
<&Derakon>
And if that operation fails, then all I have is the record number, requiring the user to count records in the data file to figure out which one is actually bogus.
03:19
<&Derakon>
I need some way to map record number to line number...
03:19
<&Derakon>
Without actually writing my own JSON loader.
03:21
<&Derakon>
...I may be able to get this to work by assuming that any line that begins with "{" is starting a new record.
03:22
<&McMartin>
Strictly speaking, this is guaranteed to be true~
03:22
<&McMartin>
Of course, records can nest, but~
03:22
<&Derakon>
Yes, rather.
03:22
<&Derakon>
I meant root-level record.
03:24
<&Derakon>
Yeah, that seems to work okay for the specific problem I had, anyway.
03:53 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
03:58 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
04:51
< Reiv>
McMartin: Why Haskell, of all things?
04:52
<&McMartin>
Reiv: good at streamed data, produces standalone executables
04:53
< Reiv>
... interesting
05:15
<&McMartin>
So, yeah, 31 lines of Haskell and I'm interrogating and ripping out every function call in every extension and version ever by harvesting stuff from GLEW's source code.
05:16 Derakon is now known as Derakon[AFK]
05:24
< Reiv>
... it took 31 lines of Haskell to make the thing work? O.o
05:25
<&McMartin>
Actually, more like 16 when you take out the bookkeeping bits.
05:26
< Reiv>
*snrk*
05:26
< Reiv>
Is this unexpectedly efficient, or just that the task at hand was not as hard as it sounded?
05:27
<&McMartin>
Well, it's a hell of a lot easier than it would be in C++
05:27
<&McMartin>
It's not particularly easier than it would be in Python.
05:27
<&McMartin>
However, it's a lot easier to distribute a binary from Haskell than from Python.
05:27 * McMartin glares at the various packagers.
05:28
<&McMartin>
That said, it's not that hard
05:29
<&McMartin>
Scan every file in a given directory
05:29
<&McMartin>
Extract every word from that directory that is followed by something that begins with a parenthesis.
05:29
<&McMartin>
That's a function name.
05:29
<&McMartin>
Then, I need to build a map from those names to the filename they were in.
05:30
<&McMartin>
The part I haven't yet done is the part where I then take these results and then scan another directory full of C or C++ source, find all the function calls, and cross-check them against my list.
05:30
<&McMartin>
That can then produce a report of "which OpenGL extensions you are actually using"
05:38
<&McMartin>
Hm. Except that's too simplistic.
05:50
<&McMartin>
Ah, no, that was a bug
05:55
<&McMartin>
There we go.
05:55 * McMartin backs out his extra logic
05:55
<&McMartin>
http://pastebin.starforge.co.uk/543
05:56
<&McMartin>
That pulls out all 2,305 API entry points.
06:20 * McMartin modifies it to be able to read multiple directories - indeed, so that you can point it straight at your GLEW install to do it - and has it generate a Haskell module with all the data pre-loaded.
06:41 ErikMesoy|sleep is now known as ErikMesoy
07:00 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Client closed the connection]
07:55 Vash [Vash@Nightstar-18009871.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
08:19 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
08:49 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
08:59 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
09:12 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
09:12 mode/#code [+o himi] by ChanServ
09:27 You're now known as TheWatcher
10:10 Orthia [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
10:25 Attilla [Obsolete@Nightstar-aaae7e42.as43234.net] has joined #code
10:37 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
11:11 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds]
11:19
< froztbyte>
http://www.sciencedaily.com/releases/2012/09/120926133235.htm
11:22
< froztbyte>
http://mdcc.cs.berkeley.edu/
11:25 Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code
11:25 mode/#code [+ao Derakon Derakon] by ChanServ
11:26
<@TheWatcher>
"Human players received an average humanness rating of only 40 percent."
11:26
<@TheWatcher>
snerk
11:27
<&McMartin>
SUBMIT OR DIE, MEATBAG
11:28
< Namegduf>
70% of the remaining were identified to be aimbots.
11:56 Attilla_ [Obsolete@Nightstar-48b517bb.as43234.net] has joined #code
11:58 Attilla [Obsolete@Nightstar-aaae7e42.as43234.net] has quit [Ping timeout: 121 seconds]
11:59 Attilla_ [Obsolete@Nightstar-48b517bb.as43234.net] has quit [[NS] Quit: ]
12:04 Attilla [Obsolete@Nightstar-01979e01.as43234.net] has joined #code
12:26 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Client closed the connection]
12:29 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
12:38
< froztbyte>
McMartin / TheWatcher: http://qdb.slipgate.za.net/FlyingCircus/305
12:39 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Connection closed]
12:47
<@TheWatcher>
... pffft
12:48
<&McMartin>
HAVE AT YOU PLAYER 1
13:15
< gnolam>
<McMartin> When an extension is promoted into the standard, is it required to continue to report that "extension" as being supported?
13:15
< gnolam>
Nope.
13:15
< gnolam>
Which is why it's such a source of pain.
13:16
<@Tamber>
That would make far too much sense.
13:35 Vornotron [vorn@ServerAdministrator.Nightstar.Net] has joined #code
13:37 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
13:50 Emu [Emu@2C3C9C.90BCE7.D6A709.7DD3E6] has joined #code
13:54 Emu [Emu@2C3C9C.90BCE7.D6A709.7DD3E6] has quit [Ping timeout: 121 seconds]
14:19
< gnolam>
Mmm.
14:25 mac [NSwebIRC@Nightstar-cb5f6d54.cc.il.us] has joined #code
14:25 mac [NSwebIRC@Nightstar-cb5f6d54.cc.il.us] has left #code [""]
14:28 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
14:39 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
14:42 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
14:42 mode/#code [+o himi] by ChanServ
15:02
< gnolam>
Hmm. Are front panel wire colors standardized?
15:03
<&jerith>
Hrm.
15:04
<&jerith>
The colours aren't really useful, so I don't think it matters much.
15:05
< gnolam>
Alright then.
15:05
< gnolam>
(In this case, I'm doing the wiring myself, so I can pick whatever colors I want. But it's always nice to follow the standard if one exists.)
15:06
<&jerith>
The last few enclosures I've used haven't even used the same connectors.
15:08 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
15:14
<@TheWatcher>
Yeah, where front panel connectors are concerned, I think the board manufacturers and case manufacturers are sulking at each other or some shit
15:15
<@TheWatcher>
(although, to add to the hilarity, I've had one situation where a case made by aopen had different front panel connectors than the aopen board going into it)
16:07 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Connection closed]
16:20
< gnolam>
Hmm. I'm getting 1.3 V on PWR_LED when it's off.
16:47 Emu [Emu@Nightstar-5aa18eaf.balk.dk] has joined #code
16:48 Emu [Emu@Nightstar-5aa18eaf.balk.dk] has quit [Connection reset by peer]
16:48 Emu [Emu@Nightstar-5aa18eaf.balk.dk] has joined #code
16:50 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
16:54 gnolam_ [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has joined #code
16:55 gnolam is now known as NSGuest59307
16:55 gnolam_ is now known as gnolam
16:56 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
16:57 NSGuest59307 [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds]
17:08 * iospace punts VB
17:33
< RichyB>
Correct reaction. How'd you run into it anyway?
18:40 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
18:53 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
18:53 mode/#code [+o himi] by ChanServ
19:36 jeroid [jerith@687AAB.1BBF0C.EF5B84.C23C24] has joined #code
19:37
<&McMartin>
05:14 < gnolam> Nope.
19:37
<&McMartin>
05:14 < gnolam> Which is why it's such a source of pain.
19:37
<&McMartin>
05:15 <@Tamber> That would make far too much sense.
19:37
<&McMartin>
OK, next questions.
19:38
<&McMartin>
When I ask GLEW "do you have extension X", does that mean "does it report extension X", or does it mean "the function pointers associated with extension X now exist"?
19:40
<&McMartin>
The latter I can work with; the former makes GLEW completely useless, it would seem.
20:18 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
20:32 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
20:32 mode/#code [+o himi] by ChanServ
20:33
< RichyB>
According to the docs, should be the latter.
20:33
< RichyB>
http://glew.sourceforge.net/basic.html <- this is what I would describe as "good documentation, nice API".
20:40 jeroid [jerith@687AAB.1BBF0C.EF5B84.C23C24] has quit [Connection reset by peer]
21:02 Attilla [Obsolete@Nightstar-01979e01.as43234.net] has quit [Ping timeout: 121 seconds]
21:10 Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has joined #code
21:11 Attilla [Obsolete@FBC920.173C5E.F86DF0.D9DC14] has joined #code
21:38 Emu [Emu@Nightstar-5aa18eaf.balk.dk] has quit [Client closed the connection]
21:42
<&McMartin>
OK, that means that ARGLE can actually theoretically work without parsing the entirety of the Khronos internal mailing lists
21:58 ErikMesoy is now known as ErikMesoy|sleep
22:06
< RichyB>
?
22:08
<&McMartin>
ARGLE's intended output is "these are the things you need to have GLEW check for to make sure that your program will actually work"
22:23 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
22:25 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
22:25 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Connection reset by peer]
22:25 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
22:38 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
22:38 mode/#code [+o himi] by ChanServ
22:39 Vornotron is now known as Vornicus
22:39 mode/#code [+qo Vornicus Vornicus] by ChanServ
23:47 You're now known as TheWatcher[t-2]
23:52 Vash [Vash@Nightstar-3ba4108e.wlfrct.sbcglobal.net] has joined #code
23:52 mode/#code [+o Vash] by ChanServ
23:58 You're now known as TheWatcher[zZzZ]
23:59 Emu [Emu@Nightstar-b920a19c.cust.comxnet.dk] has quit [Client closed the connection]
--- Log closed Tue Oct 02 00:00:54 2012
code logs -> 2012 -> Mon, 01 Oct 2012< code.20120930.log - code.20121002.log >

[ Latest log file ]