Banner
Views: 793,471,272
Time:
11 users online: 7 up,  Aja, bandicoot, chickaDEE Magazine, DarkTrash, ExONightZ, GarbitheGlitcheress, mikairanutshack, OEOTeam, Skirdus, Yung Gotenks - Guests: 68 - Bots: 224 Users: 41,419 (1,487 active)
Latest: DarkTrash
Tip: If it's possible to carry a tileset-specific sprite (such as a Buzzy Beetle or Bob-omb) through a pipe, make sure it has the correct graphics and sprite palette on the other side!Not logged in.
What the...?
Forum Index - SMW Hacking - SMW Hacking Help - What the...?
Pages: « 1 »
This may sound n00bish but why this happened when I completed the first level?
Originally posted by Galinaceo
Yhis may sound n00bish but why this happened when I completed the first level? *image*

Are you, by any chance, using the first 8 colours of palettes 0-3? If so, they are unusable, and you must use a different palette.
Isn't there anyway to use them? After I play the level again they look fine...
Originally posted by Galinaceo
Isn't there anyway to use them? After I play the level again they look fine...

Theres no way to use them from what I have seen. Alot of ASM might do something, but I think they are used with certain things that have to do with the levels.

--------------------
Living life takes forever
They're used by the tile revealation animations.
Nobody has ever made any patch to make them usable. Don't get your hopes up.

--------------------
<blm> zsnes users are the flatearthers of emulation
I once diasassembled the tile revealation trigger routine but ended up getting rid of them completely in Toad's World since it is a mess of code, really. >_>

However, if you do not need those events, here's a piece of code that will help you to use palettes 2 and 3. 0 and 1 should never be touched anyway.

Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Overworld Custom Palette 2 / 3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Palette:
	LDX #$00

Loop:
	LDA Palette_Color,x
	BEQ Return
	STA $2121
	LDA SNES_Low,x
	STA $2122
	LDA SNES_High,x
	STA $2122
	INX
	BRA Loop

Return:
	RTS

Palette_Color:
	db $21,$22,$23,$24,$25,$26,$27,$28,$29,$2A,$2B,$2C,$2D,$2E,$2F
	db $31,$32,$33,$34,$35,$36,$37,$38,$39,$3A,$3B,$3C,$3D,$3E,$3F
	db $00

SNES_High:
	db $7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F
	db $7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F,$7F

SNES_Low:
	db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
	db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF


To be used with OverworldASM.

Everything is set to be color $7FFF (white). Get the SNES color of your palette and simply edit it's entries.
Palette_Color refers to the palette and its color.
...okay, not getting your hopes up was obviously a bad suggestion.

Originally posted by Ice Man
words

That code is broken. Storing to CGRAM will break in bsnes-accuracy, and risks breaking in other future emulators too.

And because sust saying "don't use this" without offering any alternative will just make me look evil, I will need to offer an alternative, and since none is known, I'll have to make one myself.


Use this one instead.
Advantages: Doesn't require OW ASM, compatible with all emulators, will under no circumstances potentially break during tile revealing (I don't know if Ice Man's one does), uses dw instead of db (translation: you only need to edit one place to edit a color, not two).
Disadvantages: None known. Ice Man's one doesn't get altered per tileset, but neither does mine. Both should be very easy to add this feature to if you know a bit of ASM.
Code
header
lorom

!Pal = 2;Set this to how many palettes you want to use for tile revealing animations. Setting this to 2 allows you to use palettes 2 through 7 on the OW, but only 4 and 5 may be used for appearing tiles (using 2, 3, 6 or 7 will create garbled colors). Note that setting it to 0 will break stuff, and this is not counting that tile revealing will be made impossible.
!Freespace = $1FFFF7;You should know what to do with this.

org $00AD75
JSL LoadMoreColors;This only loads new colors. If this patch is added to LM, this is not needed.
NOP

!70 = !Pal*32-$10

;This stuff is read at $00A4A0.
org $04EA68
LDX.b #!70-1
org $04EA76
LDX.b #!70-1
org $04EA8D
LDA.w #!70
org $00B02A
STA.w !70+$0909,x
org $04EA96
STA.w !70+$0907
org $04EA9B
STZ.w !70+$0979


org !Freespace
db "STAR"
dw Ratlabel1-Ratlabel2-$01
dw Ratlabel1-Ratlabel2-$01^$FFFF
Ratlabel2:
LoadMoreColors:
LDA #$B57C
STA $00

macro line(id)
LDX #$000C
?Loop:
LDA.l <id>*14+TheColors,x
STA.w <id>*32+$0705,x
DEX
DEX
BPL ?Loop
endmacro
%line(0)
%line(1)
%line(2)
%line(3)
RTL

TheColors:
dw $0000,$7FFF,$0000,$7FFF,$0000,$7FFF,$0000
dw $7FFF,$0000,$7FFF,$0000,$7FFF,$0000,$7FFF;Note that the first !Pal palettes here aren't used. 
dw $0000,$7FFF,$0000,$7FFF,$0000,$7FFF,$0000;Also note that the first color in each row is useless too.
dw $7FFF,$0000,$7FFF,$0000,$7FFF,$0000,$7FFF

Ratlabel1:


--------------------
<blm> zsnes users are the flatearthers of emulation
Pages: « 1 »
Forum Index - SMW Hacking - SMW Hacking Help - What the...?

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2019 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 7

Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • SMBX Community
  • ROMhacking.net
  • MFGG