Acmlm's Board - I2 Archive - Super Mario World hacking - Fading out and in . .
User | Post |
ExKeeper
Posts: 473/512 |
if you want it to be sort of black, but not too bad, you can set it to layer 2 translucent |
HyperLamer
Posts: 6737/8210 |
Writing certain values to 7E0100 will fade the screen to black and back, while still letting you play. It's kinda neat, but you can't see anything - not even Mario - so it wouldn't be practical if you were actually playing the game. However, there's also a brightness adjustment address which lets you darken everything; it has 16 shades of brightness. You ought to check that out. |
SoNotNormal
Posts: 326/793 |
Well . . it's not gonna kill me if I don't have it, I just wanted to know if it could be done . . . it was more of a curiosity thing for me, if I didn't work, no big deal, I just thought of this idea now. So I won't worry about it, life will go on without the blackness.
Besides, I'm sure I can think of a hundred other effects I'd like to try that would be cool but I'll get to them later |
Glyph Phoenix
Posts: 518/745 |
Jeebus. It's not because it's hard, or because it doesn't "suit" Mario games, it's because it's stupid. Flashing black screens on and off aren't cool.
And if you must have it, I suggest trying out the brightness values. An invisible layer 2 blinking of black tiles on and off is even stupider than wanting this effect in SMW in the first place.
So that's where you stand now. Either wisen up and go for a different effect, try the brightness value in RAM (check the memory map), or make a routine that fades all the palettes to black. |
SoNotNormal
Posts: 325/793 |
Maybe it just doesn't suit a Mario game . . .and the only level I could really think of it being in would be a factory - and I, personally, aren't including a factory til World 7 (thats how it is in TTYD with the X-Naut Fortress) Maybe I'll wait til then, by then, I should be a lot more knowledgable than I am now |
Dark Ludwig
Posts: 73/172 |
Or you could just not use palette animations. It slows things down, and there just aren't enough.
You could make a layer 2 level with "interact" on, stick black tiles all over layer 2 on screen 1, set them to have layer priority, and set the BG scroll to V-none and H-none. Then, (with BMF's PALASM pointing to it) made a code that counts to 80, then writes 01 to 7E001F, which is the layer 2 X-position high byte. After 80 more frames, it writes 00 to 7E001F. This causes layer 2, which is layered over everything, to be shifted to the next screen after 80 frames, then it shifts back to the first screen, and so forth and so forth.
It's quite simple really, if you know ASM.
Edit: Bah, the layer 2 X position is updated automatically each frame. Changed the BEQ to a BPL.
***************************************************************** - LDA #7E0013- - ;Load Accumulator with frame counter. - CMP #$00 - - - ;Compare it with 00. - BEQ #$05 - - - ;If it's 0, then branch ahead 05 bytes. (to @) - CMP #$80 - - - ;Compare it with 80. - BPL #$07 - - - ;If it's more than 80, branch ahead 07 bytes. (to %) - RTS- - - - - - ;Return from subroutine. @ LDA #$01 - - - ;Load Accumulator with 01. - STA #7E001F- - ;Store the 1 at L2's X-high byte. - RTS- - - - - - ;Return from subroutine. % STZ #7E001F- - ;Store 0 at L2's X-high byte. - RTS- - - - - - ;Return from subroutine. *****************************************************************
I haven't tested this code yet, but I will shortly.
Still doesn't work! Augh! *crumples up code, trashes, and gets out a fresh sheet of paper, er, HTML, whatever, it's the internet*
LDA #7E0013 CMP #$7F BPL #$01 RTS LDA #$01 STA $7E001F RTS
Hope it works now...
Tested, and it works! Too bad it turned out to be a bad idea, though... |
Glyph Phoenix
Posts: 515/745 |
Actually, that sounds eye-blisteringly stupid. I thought we were talking "Stop and Go" station or something moderately cool like that. Which is just as well, because even if Blackout Basement would be a brilliant addition to any hack I'd probably slack off and not make the hack.
I mean, blacking out every 2 seconds? Seizure inducing. Find a better effect. |
SoNotNormal
Posts: 324/793 |
Hmm, that's not what I mean.
In the level in DKC, every 2 seconds, the screen would go completely black for 2 second, then reppear for 2 seconds. So you can't see squat while it's dark, and you use the light to your advantage. Kinda like that. |
Glyph Phoenix
Posts: 514/745 |
Eeh.. I haven't played that level of DKC, but this is a palette fade we're talking about, right? You could fade a few colors using the custom palette animations in LM, but that would only do a few colors before causing slowdown and/or running out of tiles.
If you could manage to find the fadeout code that runs at the end of a level, and if it doesn't screw with your stats, you might be able to use that.
If you wanted the level to automatically fade out or in when you touched a custom block, that shouldn't be too hard... BMF found the read/write palette registers a while back. |
SoNotNormal
Posts: 323/793 |
Ah crap, all right then, thanks |
d4s
Posts: 296/325 |
Originally posted by SoNotNormal Does anyone know how to make the screen fade out to black and back it (remember Blackout Basement from DKC? Like that) Is there anyway to do that through a hex editor or something? Thanks in advance!
not by using a hexeditor, no. you'd have to know assembler to pull off something like that. i just assume you don't, so you'd be better off asking someone to program that for you. the task itself is rather easy. |
SoNotNormal
Posts: 322/793 |
Does anyone know how to make the screen fade out to black and back it (remember Blackout Basement from DKC? Like that) Is there anyway to do that through a hex editor or something? Thanks in advance! |
|