code logs -> 2014 -> Sat, 06 Dec 2014< code.20141205.log - code.20141207.log >
--- Log opened Sat Dec 06 00:00:21 2014
00:54
<@celticminstrel>
I wonder if an XML schema can be considered sufficient documentation for a file format...
00:54
<@celticminstrel>
They aren't known for being super-readable...
00:55
<@celticminstrel>
At least, I don't find them super-readable.
00:56
<&McMartin>
They aren't super-readable but they're awesome to have because they are an executable spec, as it were
00:57
<@celticminstrel>
Yeah, I've included xmllint in my build process.
00:57 * McMartin ponders
00:57
<&McMartin>
OK, they aren't great as docs. They're great as *specs* though
00:57
<@celticminstrel>
Mmkay.
01:01
<@celticminstrel>
Doxygen seems to be ignoring some of my ///< comments...
01:05
<@celticminstrel>
Ah, I found a workaround, though it requires a blank line. Oh well.
01:14
<&ToxicFrog>
Jesus goatfucking christ, I am filing all of the bug reports against android backup/restore when I get in on monday
01:15
<&ToxicFrog>
Starting with "it has no progress indicator" and ending with "any sort of failure backing up or restoring, including unplugging the phone while taking the backup or feeding adb restore a corrupted backup file, causes it to exit(0) with no error message"
01:16
<&McMartin>
I think of adb as being part of the SDK. Is this that one or a thing that runs on the proper devices?
01:16
<&ToxicFrog>
It's that one
01:16
<&McMartin>
:openssl:
01:16
<&ToxicFrog>
Although I will also be filing bugs against the backup-and-restore-to-the-cloud thing
01:17
<&ToxicFrog>
But those bugs may have already been fixed, because the point of this entire carnival of failure is to upgrade to 4.3, and latest is 5.something
01:17
<&ToxicFrog>
Whereas I am using the latest version of adb
01:18 Checkmate [Z@Nightstar-ev6.6um.94.83.IP] has quit [Ping timeout: 121 seconds]
01:29 * McMartin reads about the implementation of the C64 graphics chip
01:29
<&McMartin>
This makes so much more sense now that I've dealt with the Atari 2600
01:38
<&McMartin>
Oh hey, and I think this does explain the anomalous behaviour I got on the COLOR CLOCK experiment.
01:39
<&McMartin>
There is a strong implication that I will get different results if I do not put the raster split on character boundaries.
01:39
<&McMartin>
I think what might have been happening is not that the VIC-II was caching a value - but that in loading the next 40 characters out of memory it was actually *disabling the CPU*, meaning that 240 extra pixels got rendered before the timing routine could react.
01:45
<@celticminstrel>
I'm looking at these two classe and noticing they're very similar and wondering if I should (semi-)merge them. >_>
02:22
<&McMartin>
-_-: https://lh5.googleusercontent.com/-WNDYMJ_LDnU/VICMNl3CVLI/AAAAAAABt4s/wzuny_kR5 xY/w695-h724-no/hobbyte.jpg
02:33
<@macdjord|slep>
Tarinaky: A Brachistochrone Trajectory basically means 'point at destination, accelerate halfway, turn around, decelerate until arrival'. (Only with a bit of funny math to account for the fact that both your origin and destination are moving - that's the difference between 'Brachistochrone Trajectory' and 'strait line'.) It ignores gravity entirely.
02:34
<@macdjord|slep>
This works because solar gravity at Earth is about 0.0006 g, so if you have any sort of decent thrust at all, once you break orbit you can ignore gravity.
02:34 macdjord|slep is now known as macdjord
02:36
<@macdjord>
Real-life ion-drive probes do not do this, because /don't/ have any descent thrust at all - an ion drive produces a level of thrust comprable to the weight of a sheet of paper.
02:41
<&ToxicFrog>
macdjord: any sort of decent thrust and shitloads of dv
02:46
<@celticminstrel>
Bah, I typoed in the last post. >_>
03:02 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
03:29 Kindamoody[zZz] is now known as Kindamoody
04:00 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
04:00 mode/#code [+qo Vornicus Vornicus] by ChanServ
04:13 macdjord [macdjord@Nightstar-7rac1r.mc.videotron.ca] has quit [[NS] Quit: Tekeli-li! Tekeli-li!]
04:16
<@celticminstrel>
I press "pause" in the debugger and, by sheer chance, end up pretty close to the area of code that I was interested in debugging.
04:16
<@celticminstrel>
What are the odds of this?
04:17
<@celticminstrel>
...though, I'm not actually certain that that's where the issue lies, to be fair.
04:19
<@celticminstrel>
...yeah, the issue probably lies in the loading code, not the drawing code.
04:19
<@celticminstrel>
I bet I forgot to endian-flip something.
04:19
<~Vornicus>
Depends on what percentage of the time you spend in that hunk of code
04:20
<@celticminstrel>
Well, it's part of the drawing code, which is probably an ungodly high percentage... but, it's only one small part of the drawing code; there are at least six other things to draw in the dialog.
04:25
<@celticminstrel>
Hm.
04:25
<@celticminstrel>
It looks like I forgot to endian-flip something, but I added code to do so and now it's all broken.
04:26
<@celticminstrel>
...oh.
04:27
<@celticminstrel>
Okay yeah, I did endian-flip it.
04:27
<@celticminstrel>
Well, technically that bit isn't my code, but still.
04:37
<@celticminstrel>
...it looks like the issue is in fact a combination of uninitialized memory and failing to account for a little detail of the old scenario format.
04:38
<@celticminstrel>
I wonder if there are any other little "insidious" things like this...
04:41 macdjord [macdjord@Nightstar-7rac1r.mc.videotron.ca] has joined #code
04:41 mode/#code [+o macdjord] by ChanServ
04:43
<~Vornicus>
celmin: working on Exile?
04:43
<@celticminstrel>
Yeah.
04:43
<@celticminstrel>
It seems that conditional breakpoints slow things down a lot. o.O
04:45 * celticminstrel was wondering why code was being skipped and suddenly realized I'd forgotten to recompile. >_>
04:51
<~Vornicus>
heh
05:00
<~Vornicus>
How is work on that progressing?
05:01
<@celticminstrel>
Uh, slowly? I have probably at least 20 dialogs left to convert before the scenario editor becomes even remotely usable.
05:01
<@celticminstrel>
(Remotely here means it works as a viewer.)
05:01
<@celticminstrel>
(Among the unimplemented dialogs are the ones that allow you to switch to a different town.)
05:02
<@celticminstrel>
And I just discovered that my code crashes when it encounters an XML comment in the dialog definition. That probably shouldn't happen.
05:03
<@celticminstrel>
(Well, only in certain places, but still.)
05:29
<@celticminstrel>
And there's tons of display bugs in the game proper which I currently suspect boil down to forgetting to update the display (swap buffers or whatever).
05:29
<~Vornicus>
what are you porting to?
05:30
<@celticminstrel>
Plus some bits that I disabled because they made the game run excruciatingly slow (though admittedly that's with the debugger active).
05:30
<@celticminstrel>
Uh. Currently I'm just on Mac OSX.
05:31
<~Vornicus>
*nods*
05:31
<~Vornicus>
anybody else helping with this project?
05:31
<@celticminstrel>
Not really. There's one other person semi-active on it, but they're not a programmer. There's also one person who has recently said on the forums that they might have a look at stuff.
05:32
<@celticminstrel>
I should probably also not create a new texture every time I want to tile a pattern; I think that's slowing things down a fair bit.
05:39
<@celticminstrel>
The reason I'm doing it is because I can't seem to tile a subrect of a texture in a given area on the target, so I copy the subrect to its own texture and then tile it.
05:39 * celticminstrel isn't quite sure whether this is an OpenGL limitation or an SFML limitation.
05:42 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
06:50 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
06:50 mode/#code [+o Checkmate] by ChanServ
09:32 Kindamoody is now known as Kindamoody|afk
09:46 EiNstEini [Swaynie@Nightstar-eb6s8p.rev.numericable.fr] has joined #code
09:46
< EiNstEini>
www.cryptos-revolution.com
09:46 EiNstEini [Swaynie@Nightstar-eb6s8p.rev.numericable.fr] has quit [[NS] Quit: ]
09:49
<&McMartin>
Those of you who have fond memories of the Commodore 64, here is apparently the canonical document talking about what the graphics chip really does and how to abuse it for fun and profit
09:49
<&McMartin>
http://www.cebix.net/VIC-Article.txt
09:50
<&McMartin>
celticminstrel: Is the idea here that you're drawing a triangle or a quad or w/e and you are using UV texture coordinates larger than 1.0 and would like that to repeat all on its own?
09:51
<&McMartin>
(Which is to say, I suppose, "Are you using OpenGL 1.x here?"
09:51
<&McMartin>
)
09:51
<&McMartin>
If so, that is a restriction of sorts of the early OpenGLs. But the way the later OpenGLs broke that open was by letting you write your own fragment shader and making things like "having textures in the first place" be on you.
09:52
<@celticminstrel>
I see.
09:53
<@celticminstrel>
So basically. if I want to do this without splitting the graphics sheet up, I need to write another shader.
09:53
<&McMartin>
Or expand the one you're already using, I suppose.
09:54
<@celticminstrel>
The one I'm already using is completely unrelated; it uses one texture as a mask for another.
09:54
<@celticminstrel>
(And it's not used in many places.)
09:57
<&McMartin>
Mmm. Well, in that case, yeah, if you're already using a shader, you're out of 1.x land
09:57
<&McMartin>
You just need to make sure that the parameter you're getting that says where you are in the texture is being properly divided out and rebound.
09:58
<&McMartin>
But you kinda have to do that anyway, right?
10:01
<@celticminstrel>
Huh?
10:01
<&McMartin>
"If you're using shaders for stuff, don't have have to eventually do the texture value lookup By Hand?"
10:01
<&McMartin>
"So you can just do some extra math before you do that"
10:02
<&McMartin>
*don't you have
10:02
<@celticminstrel>
Maybe? I don't even remember. >_>
10:02 * McMartin hasn't really done much with shaders intended for actually properly mimicking the old OpenGL systems. :)
10:03
<@celticminstrel>
The masking shader should in theory have taken a subrect from the mask texture. I seem to recall that that caused weird problems though.
10:04
<@celticminstrel>
It's here if you want to look: https://github.com/calref/cboe/blob/master/osx/tools/mask.frag
10:04
<@celticminstrel>
(Substitute vert for frag to get the other half.)
10:04
<@celticminstrel>
...huh, there's a typo in that comment. >_>
10:05
<@celticminstrel>
(Currently I'm still working on documentation.)
10:05
<&McMartin>
Right, I'm thinking you can that the ".xy" and do some extra work when working out what "texpix" is.
10:06
<@celticminstrel>
In order to make it take a subrect?
10:06
<&McMartin>
Like, if your full range was 0-10, and you had a subrect of 3-5 in one dimension
10:06
<&McMartin>
You could subtract 3, take the remainder after dividing the value by 2, and then add 3 back
10:06 * celticminstrel blinkblinks.
10:06
<@celticminstrel>
I have no idea what you did there.
10:07
<&McMartin>
So, if this is like the OGL 1.0 thing, which maybe it isn't!
10:07
<&McMartin>
Then you could have a square poly and set the texture coords to 0,0 on one end and 2.0, 2.0 on the other
10:07
<&McMartin>
And get four copies of the texture on your polygon
10:07
<&McMartin>
(two across, two down)
10:08
<&McMartin>
So I thought at first that what you wanted was "I want to be able to do that, but instead of two copies across of the whole texture, I want four copies across of half of it"
10:08
<@celticminstrel>
That's not exactly accurate, but...
10:09
<@celticminstrel>
Basically I want to tile a 64x64 (or sometimes smaller) subrect of this: https://github.com/calref/cboe/blob/master/rsrc/graphics.exd/mac/pixpats.png
10:10
<@celticminstrel>
So, what you said sounds like the same general sort of idea.
10:10
<&McMartin>
Oh, oh.
10:10
<&McMartin>
Yeah, um
10:10
<&McMartin>
You kinda want to make new textures for that.
10:10
<&McMartin>
BEcaues otherwise when you get too far away from it?
10:10
<@celticminstrel>
I was vaguely considering splitting it up.
10:10
<&McMartin>
It'll start pulling in pixels from the neighboring rectangles.
10:11
<@celticminstrel>
Currently what I'm doing is copying the desired subrect to a new texture and tiling that.
10:11
<@celticminstrel>
Buuut that means I'm creating textures constantly.
10:12
<&McMartin>
You should never have to do it more than, well 20 times.
10:12
<@celticminstrel>
I assume you mean one for each rect?
10:12
<&McMartin>
Right, you can reuse it across frames or scenes.
10:13
<@celticminstrel>
...I suppose, instead of splitting it into a separate file for each texture, I could split it up on load.
10:13
<&McMartin>
That said, if you are instead drawing at perfect 1:1 isometric all the time - using SFML as a 2D engine with no rotozoom tricks - you don't have to break it up.
10:13
<@celticminstrel>
?
10:13
<&McMartin>
Like, the reason this fails is because minification filters will get polluted by your neighbors.
10:13
<&McMartin>
If you never magnify nor minify - if one fragment is always and ever exactly one pixel on the target surface - you're golden.
10:14
<@celticminstrel>
Golden with what exactly?
10:14
<&McMartin>
"You don't have any of these problems"
10:14
<&McMartin>
So, like, in my Monocle work, my program thinks it's rendering to a 640x480 screen.
10:14
<&McMartin>
So I can just render subrects at will (and to do tiling I just draw one quad for each tile)
10:14
<@celticminstrel>
So uh... since I don't have any of these problems, what should I be doing?
10:15
<&McMartin>
Do the tiling by hand. Draw one quad for each tile, and your tiles ought to be able to be placed with no gaps between them on your screen.
10:15
<@celticminstrel>
Okay.
10:15
<&McMartin>
Since your viewport is exactly your render spcae.
10:15
<&McMartin>
*space
10:15
<@celticminstrel>
Funny thing, the tiling code did that at one point.
10:15
<@celticminstrel>
<_<
10:15
<&McMartin>
If it is *not*, then you want to do some kind of render-to-texture thing and then just draw one big polygon that is the whole screen with that "the screen" texture as it.
10:16
<@celticminstrel>
...though, before that it was using Quickdraw automated tiling.
10:16
<&McMartin>
SDL2 now does that under the hood for you when you do "set logical window size"
10:16
<&McMartin>
That's the size of the texture you're rendering to under the hood
10:16
<@celticminstrel>
Okay, so basically you're saying I should probably just tile manually.
10:16
<&McMartin>
Yeah
10:16
<@celticminstrel>
Okay, I'll keep that in mind and try to make the change before I forget. >_>
10:17 * celticminstrel wants to finish that documentation before moving on to other stuff.
11:33 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
12:07 gnolam [lenin@Nightstar-9kr5bj.tbcn.telia.com] has joined #code
12:07 mode/#code [+o gnolam] by ChanServ
14:03
<&McMartin>
https://bumbershootsoft.wordpress.com/2014/12/06/color-test-an-atari-2600-progra m/
14:22 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
14:41
<@gnolam>
http://thedoomthatcametopuppet.tumblr.com/
14:42
<@gnolam>
"Puppet can also be used to demonstrate things here, but it is not wholesome to watch monstrous objects doing what one had known only human beings to do"
14:43
<@Tamber>
hee
14:43
<@gnolam>
"The key words âMUSTâ, âMUST NOTâ, âREQUIREDâ, âSHALLâ, âSHALL NOTâ, âSHOULDâ, âSHOULD NOTâ, âRECOMMENDEDâ, âMAYâ, and âOPTIONALâ in this document are to be interpreted as the fantastic mythology of those beings themselves"
14:44
<@Tamber>
:D
14:44
<@Tamber>
ha! âAt times I feel uncomfortably sure that I was a sysadmin by tradeâ
15:18
<@ErikMesoy>
I wonder what will be markov chained next.
15:50
<@Julius>
This channel?
16:04 Orthia [orthianz@Nightstar-6un.t1g.224.119.IP] has quit [Ping timeout: 121 seconds]
16:08 Orthia [orthianz@Nightstar-20c5p4.callplus.net.nz] has joined #code
16:08 mode/#code [+o Orthia] by ChanServ
16:54 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
16:54 mode/#code [+qo Vornicus Vornicus] by ChanServ
16:58
<&McMartin>
https://bumbershootsoft.wordpress.com/2014/12/06/flickering-scanlines-the-vic-ii -and-bad-lines/
16:58
<&McMartin>
You have gained 2x Appalling Secret (new total 43).
17:09
<@froztbyte>
that's a long post
17:09 * froztbyte notes it for later
17:09
<&McMartin>
I made two long posts this morning!
17:54
<&jerith>
McMartin: "since it at the level of detail" seems to be missing an "is".
17:56
<&McMartin>
Actually missing a "was", since tenses should agree
17:56
<&jerith>
Although the article is still at that level of detail.
17:57
<&jerith>
So both could work.
18:26
<@Alek>
âDuring the Jurassic Age the Old Ones met fresh adversity in the form of facts.â
18:27
<@celticminstrel>
Is that McMartin's blog then?
18:27
<@Alek>
well, that's not wrong.
18:27
<@Alek>
http://thedoomthatcametopuppet.tumblr.com/
18:27 * celticminstrel hasn't actually clicked.
18:29
<&McMartin>
Bumbershoot Software is my devblog, yeah
18:29
<&McMartin>
Mostly retrodev stuff
18:29 * celticminstrel wonders if it includes any Monocle stuff.
18:29
<&McMartin>
Not yet.
18:30
<&McMartin>
But it's in the cards.
18:52
<@celticminstrel>
...it wouldn't cause problems to have scissor and stencil enabled at the same time, would it?
18:55
<&McMartin>
I don't have the chops to answer that one. :/
18:56
<@celticminstrel>
Well, it's not super-important right now, since the "tile to arbitrary region" function is currently unused.
18:56
<@celticminstrel>
I think it's supposed to be used somewhere, though.
18:57
<@celticminstrel>
If having them active at the same time is fine, the aforementioned function could set the stencil, then simply call the "tile to rect:" function with the bounding rect of the region.
18:59 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
19:18
<@celticminstrel>
Okay, now it's flickering for some reason.
19:19
<@celticminstrel>
Perhaps I shouldn't be redrawing at the top of the loop.
19:22
<@celticminstrel>
Okay, well, not quite sure how, but moving it to the bottom fixes it. (Plus of course an initial draw before the loop.)
19:27
<@celticminstrel>
...okay, I was wrong.
19:34
<@celticminstrel>
Huh, by reusing the same sf::Sprite for each quad, it works.
19:34
<@celticminstrel>
Bit more code duplication, but I guess it's worth it.
19:34
<@celticminstrel>
...agh, now I found one that doesn't work.
19:43
<@celticminstrel>
For some obscure reason, nothing is being drawn at all.
20:35
<@celticminstrel>
For some reason, just by changing the tiling function, a whole lot of things are being draw starting down near the bottom of the window instead of in the correct place.
20:36 Kindamoody|afk is now known as Kindamoody
20:38
<@celticminstrel>
Hm, that's inaccurate. It only breaks after showing the broken dialog box.
20:46
<@celticminstrel>
:|
22:25 Kindamoody is now known as Kindamoody[zZz]
22:42
<@macdjord>
âOnce I saw an area of countless miles strewn with age-blasted basaltic ruins whose architecture had been like that of rsyncâ
22:53
<@Julius>
Markov(Dune + Unix Man Pages)?
23:10
<@macdjord>
Julius: Lovecraft, not Dune.
23:11
<@macdjord>
And Puppet documentation, not unix man.
23:11
<@macdjord>
But good guess.
23:12
<@macdjord>
âWe cannot yet explain the engineering principles used in the core `mount` type.â
23:29
<@ErikMesoy>
Dune sounds like a fun thing to put into the next markov chain funny
23:31
<@ErikMesoy>
"I must not fear. Fear is the last element of the list, so we can return it."
--- Log closed Sun Dec 07 00:00:37 2014
code logs -> 2014 -> Sat, 06 Dec 2014< code.20141205.log - code.20141207.log >

[ Latest log file ]