User | Post |
JJ64
Posts: 618/919 |
You know, that's a good idea. I should have thought of it. Anyway, thanks again! |
Alastor the Stylish
Posts: 1378/7620 |
No, but you can have pipes lead to and from another area that has the message box, it'll display properly there. |
JJ64
Posts: 614/919 |
I'm having another problem. In mode 1F with layer 2, message box text doesn't show up. Can that be fixed? |
FuSoYa
Posts: 82/255 |
Well... |
HyperLamer
Posts: 1209/8210 |
Ever notice the scorebar is on layer 3, in front of everything, but some castles have windows on layer 3 and they're behind everything? That's HDMA at work. (Built-in code, though; you can't edit it any way I know.)
Hmm... Translucency uses colour addition/subtraction. Perhaps, if layer 2 scrolled the same speed as layer 1, and both were object layers (IE: not backgrounds) maybe you could look up the Map16 to find what block is in a certain position, find what palette it uses, and modify the palette of the block above it on the other layer (add/subtract the colours from the other palette) to fake a translucency effect? Of course, that'd mean only one block using that palette could be on the screen at a time, and it might slow the game down. |
Alastor the Stylish
Posts: 1216/7620 |
You have to hack it yourself. |
Darth Coby
Posts: 661/1371 |
Wow, thanks a lot. Now, how would I go and use the HDMA in a hack? Does LM support it or do I have to hack it in myself? |
Alastor the Stylish
Posts: 1209/7620 |
Well I was close. That's good.
And thanks for answering the question. |
d4s
Posts: 42/325 |
its DIRECT MEMORY ACCESS, not direct movement access.
the snes has a feature that allows you to copy data from rom/ram to vram without wasting cpu cycles on it. you can only copy data to vram when the PPUs(graphics processors of the snes) arent active (drawing a scanline), that is during the vertical blank or the horizontal blank period. a vblank occurs every time the PPUs have drawn a complete frame, a hblank occurs every time the PPUs have drawn a single scanline(horizontal line on the screen, one pixel in height). because you have to transfer data very fast in the hblank period, usually DMA is used for this, hence the name HDMA.
now image you have a background layer and change its x-scroll register every other scanline. this trick can be used to create wavy backgrounds or fake-multilayer scroll layers.
image changing the color value of a single palette entry(eg the color of the sky) every other scanline. you can do cool sunburst or color fade effects without having to waste palette entrys on the different colors, you can actually have much more than the normal 256 colors per frame onscreen.(check the background in the first level of donkey kong country to see it in action)
you can also do cool zoom-like effects if you change the y-scroll register during hblank.(check battletoads doubledragon's intro)
|
Alastor the Stylish
Posts: 1107/7620 |
Eh, no problem. I'm bored and have nothing better to do than to answer random questions. |
JJ64
Posts: 580/919 |
It's kind of annoying that I have to mess around with the background, but now I can make the water translucent. Thanks! |
Alastor the Stylish
Posts: 1090/7620 |
I recall hearing it was Horizontal Direct Movement Access, actually, but that's probably wrong. |
Atma X
Posts: 449/801 |
HDMA allows the Game to move/distort a Layer Horizontally in many different ways ("Horizontal DMA",... I'm not sure what DMA means yet). Pushing the "0" Key in Snes9x will allow you to Enable/Disable the one that already exist in a game.
If you want a more detailed Explination, wait until BMF replies.
(BTW BMF: How's SMW Oddissy?, I haven't heard anything about it in a long while ) |
Darth Coby
Posts: 650/1371 |
Originally posted by BMF54123 You know, I just realized you could use HDMA to make part of one of the layers scroll at a different speed, simulating a separate background layer (maybe a line of clouds or something). Of course, this means you couldn't put non-background objects on that layer above a certain Y position in the level, otherwise they'd scroll with the background...
I may have to play around with this idea.
WHAT is this HDMA everyone is talking about anyway? How to use it, what can be done with it, etc? |
BMF98567
Posts: 237/1261 |
You know, I just realized you could use HDMA to make part of one of the layers scroll at a different speed, simulating a separate background layer (maybe a line of clouds or something). Of course, this means you couldn't put non-background objects on that layer above a certain Y position in the level, otherwise they'd scroll with the background...
I may have to play around with this idea. |
Atma X
Posts: 447/801 |
That's true. That would probably be best for some kind of Dungeon Level that has a Background (maybe the Walls of the Dungeon as the BG) that looks like it would be close to the Foreground, so it could actually be better in that case (it all depends on the type of Level and Graphics it uses) |
Alastor the Stylish
Posts: 1058/7620 |
That's not true. You can set the right background color, and make a background out of various tile lookalikes (like clouds and stuff) set to act like background tiles. Granted, it'll scroll at the same speed as everything else, but it works nonetheless. |
Atma X
Posts: 446/801 |
Well, if he want's that one Block (WaterTile) to be translucent, then he's got to do it somehow (which is a shame to have to use a whole Layer for just one thing, because then you don't have a Background Layer,... I wish Fu made Layer 3 Editable, but oh well, he didn't, so we'll just have to live with it the way it is ) |
Alastor the Stylish
Posts: 1056/7620 |
True, but again, that doesn't matter if there's only one thing on the layer :p |
Atma X
Posts: 444/801 |
Kyouji: Um, I was just answering his question directly (no one else posted yet when I went to make a new reply)
Basically what I was saying is the only thing that can be Transparant is a whole Layer (Palettes, Specific Blocks, etc. can't be transparent, just Layers can) |
This is a long thread. Click here to view it. |