--- 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 |