Since some people got upset at Contra 4 encoding having a logo inbetween the screens, maybe we could try reconstructing the missing image in some way using Lua scripts?
For instance, it might be possible to have some of the sprites (say, bullets) move through the gap based on their coordinates and/or velocities.
Any of this feasible at all?
It seems likely you'd have to recode the gapfiller for every game you wanted to encode, since each game would have sprite information in different locations in memory.
Anyone know how the gap is written? I wouldn't be surprised if the DS provides the ability to treat the entire system as one big screen, in which case you might be able to capture the pixels in the gap area and cause them to actually be drawn. Er, if that made any sense.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
No, two screens are treated separately, and sprites for objects not-on-screen might even be unloaded.
Who'd waste memory on non-displayable area of uncertain height? :D
If characters can pass in or out of the empty space quickly, and the screen can scroll up or down to show that area at a moment's notice, then I can't imagine that it wouldn't be drawn somewhere. I'm thinking you could at least make some kind of camera hack that moves the viewpoint up or down far enough each frame, records that now-visible space, and fills it into the middle of the regular video. Although I wonder if some horizontally-scrolling levels didn't bother putting background in the middle...
put yourself in my rocketpack if that poochie is one outrageous dude
How about instead of using a logo in the gap, you used an actual clipped photo of that part of the real device there? Probably less bothering than the logo.
Also, each game treats the gap differently. Some games don't even leave a gap at all.
Right, whatever technique you use would need some room for customization, and you'd have to make sure to only run it on the sections of the game that actually treat the entire DS as one tall playing field.
put yourself in my rocketpack if that poochie is one outrageous dude
How about combining those ideas and put a photoshopped photo of a DS there that has some leet TASVideos spraypaint on? XD
i like the idea too
why not make a camera hack that push the camera upward for the same le ngth as the missing pixel, and simply fill the gap in a new video ( a camera hack like the sonice advance 2 one but not focused on sonic but on the missing gap... )
a simple "camera hack" probably won't do. Sonic's engine allowed free scrolling by just updating the camera's X and Y values. Contra 4 doesn't allow vertical scrolling in horizontal areas - but feel free to try, tell us what happens.
IIRC the DS has two CPUs, usually one is used for each screen. That'd mean there are two seperate framebuffers. (if it was as simple as displaying an internal framebuffer, DeSmuMe would probably have an option already)
so yeah, worst case is: you have to re-create the whole rendering engine in LUA, using reverse engineered ram values :/
Joined: 3/11/2004
Posts: 1058
Location: Reykjavík, Ísland
Why not in the meantime use some filter that takes the color values on the pixels on the edges of the gap, and fill in the gap by using those? It's sometimes used to "remove" watermarks from pirated TV shows, etc. It would make the gap look like opaque glass instead of a black bar. It's not much of an improvement, though.
Joined: 2/12/2008
Posts: 67
Location: San Francisco Bay Area, CA
Tub wrote:
so yeah, worst case is: you have to re-create the whole rendering engine in LUA, using reverse engineered ram values :/
Yeah, this is probably what would have to happen for that to work, unfortunately. You're basically talking about changing the screen resolution of one of the screens.
For some games, it might be more feasible to move the top screen farther down (i.e. eliminate the gap). If the game is actually using one playfield in memory and rendering it from two camera offsets, then it might be relatively straightforward to change the offset of the top (or bottom, or both).
Why not in the meantime use some filter that takes the color values on the pixels on the edges of the gap, and fill in the gap by using those? It's sometimes used to "remove" watermarks from pirated TV shows, etc. It would make the gap look like opaque glass instead of a black bar. It's not much of an improvement, though.
That was my initial idea when I first thought about this, actually. For some reason I thought it would be more distracting than what we have now, but actually I think it wouldn't.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Why not in the meantime use some filter that takes the color values on the pixels on the edges of the gap, and fill in the gap by using those? It's sometimes used to "remove" watermarks from pirated TV shows, etc. It would make the gap look like opaque glass instead of a black bar. It's not much of an improvement, though.
That was my initial idea when I first thought about this, actually. For some reason I thought it would be more distracting than what we have now, but actually I think it wouldn't.
With such a big gap I doubt it would work very well. You would end up with some blurred vertical lines there which change according to what happens at the borders of the screens. IMO better something static than something that is constantly changing.
How about instead of using a logo in the gap, you used an actual clipped photo of that part of the real device there? Probably less bothering than the logo.
In fact, I think this idea could be taken even further: Add the borders of the real device to the left and right sides of the video as well. This way the center gap will feel less out-of-place. Since the video already has a very vertical resolution, making it a bit wider shouldn't be any problem (and since the added parts will be completely static, it shouldn't even make the video file any larger, at least not significantly).
EDIT: As a proof-of-concept I took a pic of the DS from the net and pasted the two parts of a frame in the current TAS, to see how my idea would look:
The gap seems "too" large in the real device. Does it really look like that in the real thing? Maybe if we do this, it might be a good idea to "cheat" a bit and make the gap a bit narrower by putting the two screens closer together...
Joined: 3/11/2004
Posts: 1058
Location: Reykjavík, Ísland
Warp wrote:
Warp wrote:
How about instead of using a logo in the gap, you used an actual clipped photo of that part of the real device there? Probably less bothering than the logo.
In fact, I think this idea could be taken even further: Add the borders of the real device to the left and right sides of the video as well. This way the center gap will feel less out-of-place. Since the video already has a very vertical resolution, making it a bit wider shouldn't be any problem (and since the added parts will be completely static, it shouldn't even make the video file any larger, at least not significantly).
EDIT: As a proof-of-concept I took a pic of the DS from the net and pasted the two parts of a frame in the current TAS, to see how my idea would look:
(snip)
The gap seems "too" large in the real device. Does it really look like that in the real thing? Maybe if we do this, it might be a good idea to "cheat" a bit and make the gap a bit narrower by putting the two screens closer together...
Hey, that gives me an idea. If the "DS" is visible, you could show the input on it, too. So when A is being pressed in the movie, the A on the DS would be pressed as well. And so on. It would probably be a bitch to implement, though. But it would make the movie extra 1337. :)
Hey, that gives me an idea. If the "DS" is visible, you could show the input on it, too. So when A is being pressed in the movie, the A on the DS would be pressed as well. And so on. It would probably be a bitch to implement, though. But it would make the movie extra 1337. :)
That's actually similar to the idea I wrote in the DS group some time ago. I like and fully endorse your idea. :)
I would put the gap only when it matters. When the movie should have a gap, put it. But when the screen are considered on top of each other, then there should be no gap.
In games like New Super Mario Bros, it doesn,t make a difference if there's a gap or not. But I does make sens in Yoshi Island DS.