Language…
19 users online:  AmperSam,  Anorakun, Beed28, DanMario24YT, gizmo_321, Golden Yoshi, Green, h.carrell, Hammerer, JezJitzu, Mohamad20ZX, OrangeBronzeDaisy, Papangu, recam, Serge, signature_steve, SMW Magic, Spedinja, TrashCity - Guests: 281 - Bots: 412
Users: 64,795 (2,370 active)
Latest user: mathew

YI hacking FAQ v2 (updated for 2018) - Ask questions here!

Link Thread Closed
To use the tileset/palette changer sprites you'll need to create a buffer of a screen or two which doesn't contain any tileset specific objects. Look at how 3-4 does this, for example:
https://i.imgur.com/XhTBwhs.png

And here's an example from 5-3:
https://i.imgur.com/GEez0Ul.png

In this case, sand blocks cannot be used since they aren't in the pond tileset.
Okay, thanks. It works fine now.
Not sure if people know this, but I found a glitch with the layer 3 seesaw. It's about its position. If Yoshi moves to the seesaw from the opposite direction, then the seesaw will be shifted a few blocks to the direction Yoshi is moving.
All (or almost all) of the layer 3 castle sprites do that. You just need to place a second sprite to the right of the first one to account for Yoshi approaching from the right.
I saw it in the editor. Still, thanks, XenonZed.
I do need help regarding the stone palette tileset. I wanted to make new palette, but if I do that, then I'll mess up the palettes for other tilesets. A user named ATOMIC TELESA or Lui37 edited the palettes via SPASM, which is good, since he didn't affect the palette animation.
Can anyone tell me the locations of the palettes used for BG1 and BG2? I want to try to edit those via SPASM.
Editing palettes via SPASM can be a bit tricky and hard to do... but I'll try to explain it as easier as I can:

The key point is the RAM address $702000, which is where the palette mirror is stored, finishing at $7021EF. You will need a way to divide/multiply hex numbers and to see SNES RGB Values too.

By every two-bytes of the latest 3 numbers ($702000, $702002, $702004, etc.., until $7021EF) there is a color stored, which is multiplied by 2. For example, $702022 is the Palette Number 11 ($22/2 = $11), $7021AA is the Palette Number D5 ($1AA/2 = $D5), etc.. (you can see the palette numbers via GoldenEgg).

The usage is very simple:

Code
LDA #$XXXX	; SNES RGB Value
STA $702XXX	; Pointer to the color's mirror


You should put this in level_init_code.asm, and remeber to always finish with RTS.

As an actual example: changing the colors of the object 63 the brown platform (which uses colors 18, 19, 1A and 1B), to blue. The code should be like this:

Code
LDA #$30E2
STA $702030	; $30/2 = $18
LDA #$4DA4
STA $702032	; $32/2 = $19
LDA #$6A88
STA $702034	; $34/2 = $1A
LDA #$7FB2
STA $702036	; $36/2 = $1B
RTS

(the RBG values are the ones of colors 38, 39, 3A and 3B, which I used for the example)

Saving level_init_code.asm and patching level.asm to our rom will do the changes:



BG1 palettes are stored in: colors 1C to 1F, 2C to 2F, 3C to 3F, 43 to 4F and 53 to 5F, while BG2 palettes are stored in: colors 61 to 6F and 71 to 7F (though you usually won't have to edit all of them, that entirely depends of the chosen tileset you want to edit).

I hope you understand, don't hesitate to post any doubt you have.
Layout made by MaxodeX
2021 TRENO vibe check thread
Thanks! I'll experiment.
Edit: If I exit from a pipe, I see the original colors. I have to make Yoshi exit the pipe all the way for the colors to change.
Edit2: Aside from that little error, I changed the color of my FG completely. One more question: I heard Lui37 did some palette animation also. Is that hard to do?
Edit3: I decided to check the pause menu and it's colors are screwed up as well! This is what I did:
Code
	LDA #$08E4	
	STA $702038	
	LDA #$15A9	
	STA $70203A
	LDA #$1E8D	
	STA $70203C
	LDA #$2B52	
	STA $70203E
	RTS

I fixed the suggested thing mentioned at Edit3.
I found a problem regarding the better_midrings.asm and level.asm. Those can't be used since the hijacks are the same:
Code
org $01B084

Is there a way to fix this?
Originally posted by Rykon-V73
If I exit from a pipe, I see the original colors. I have to make Yoshi exit the pipe all the way for the colors to change.

It's known that things like this happen, and I don't know if this is fixable. I guess there could be some hijack that stores the palette permanently when you enter to the level once and so it won't have to load it again, but that's out of my knowledge.

Originally posted by Rykon-V73
One more question: I heard Lui37 did some palette animation also. Is that hard to do?

It's kinda hard yea, I still haven't realized how to do one (partially because it needs a bit more than basic ASM knowledge, which I don't have)

Speaking of ASM knowledge, I also don't know what to do about those patches, and honestly it's the first time I heard they're incompatible (stares at YI mods to add that info to the patches' desciption). I guess, as well, it can be fixed, but again, that's out of my knowledge, I'm sorry.
Layout made by MaxodeX
2021 TRENO vibe check thread
Originally posted by Rykon-V73
I found a problem regarding the better_midrings.asm and level.asm. Those can't be used since the hijacks are the same:
Code
org $01B084

Is there a way to fix this?

Just remove
Code
org $01B084
    JML set_level

from Better Midrings. I had the same issue (and thought my ROM was killed for ever) but removing this hijack (and reapplying SPASM again) should fix it.
I think your fix must be applied the first time. Because if I apply the fix and then patch better_midrings and SPASM, the error is still there.
I don't think that's the way to fix it, honestly. In my end, it redirected all midway entrances to 1-1's.
Layout made by MaxodeX
2021 TRENO vibe check thread
Hm, they shouldn't be incompatible. SMWCI uses both of them at the same time and doesn't have any issues.

I'll go shout at Raiden to update his patches or something.
The version SMWCI uses is basically my edit i.e. Better Midrings without the $01B084 hijack. The only other way is to recreate your hack (or find somewhere a script which allows you to export levels) or hope that the ROM fix with reapplying SPASM still works.
Actually, the SPASM used by SMWCI is also edited to be compatible with the already edited Better Midrings, I've checked the ASM files themselves (some hijacks were missed, and some other were changed). My theory is that we can use SMWCI's versions as a "compatible alternative", assuming the edits made for the patches could eventually work in any hack (in other words, if the patches wasn't edited to work specifically for SMWCI and not for anything else).
Layout made by MaxodeX
2021 TRENO vibe check thread
I tried the new Better Midrings patch and I'm not sure if it works. If I die, it still redirects all midway entrances to 1-1's. I tried applying the patch on an original ROM and the same thing happens.
That version of the patch might be meant to be used in conjunction with SPASM, then.
I tried the 2 patches this time and I get the same 1-1 redirection error. I actually compared version 1.0 with 1.1. The code is the same.
It's not the same code actually, the hijack MFG said was deleted.

However, as you noted it doesn't work, as I said before, no matter if you used or not used SPASM.

And that's because SPASM needs to be edited too to work with Better Midrings. I experimented (comparing both original and SMWCI's version) and I managed it to work for me.

In short words, I change this:

Code
!level				=	$015F

to this:

Code
!level				=	$03B2

in level.asm, which kinda makes sense since Better Midrings uses the similar code to set the levels. This seems to work, but I can't assure nothing (since SMWCI's level.asm seems to be heavily edited compared to the original), but if somebody can confirms this it would be good.
Layout made by MaxodeX
2021 TRENO vibe check thread
Link Thread Closed