
ĭEX After drawing this tile, decrease number of tiles to go through loop. INY | The OAM is 8x8, but our sprite is 16x16. PLX Pull number of times to go through loop. LDA PROPERTIES,x | Set properties based on direction. PHX Push number of times to go through loop + "left" displacement if necessary. For the second tile, F0 is added to make it higher than the first. first tile, then load the first value from the table and apply that ORA $03 / Transfer it to X and add in the "left displacement" if necessary.ĬLC | Apply X displacement of the sprite.ĬLC | Y displacement is added for the Y position, so one tile is higher than the other.ĪDC YDISP,x | Otherwise, both tiles would have been drawn to the same position! PHX Push number of tiles to loop through. LDX #$03 / And load X with number of tiles to loop through. STA $03 / So we can invert XDISP to not mess up the sprite's appearance. STA $02 Store direction to $02 for use with property routine later.ĪDC #$38 | Adding 16 more bytes to the table. LDA SPR_OBJ_STATUS,x return if on the ground LDA SPRITE_STATE,x if retreating into shell LSR A | Add in frame animation rate More LSRs for slower animation.ĪND #$01 | 01 means we animate between 2 frames (00 and 01).ĪSL A | ASL x2 (0-4) makes it switch between the first byte and fifth byte, STA $03 | $03 = index to frame start (0 or 4) THE LAST 8 ARE ONLY CREATED BECAUSE OF XDISP. The info closest to what Im looking for is in the first thread i linked to, the forum suggested looking for $0303 in the graphics routine, so i found it, but the graphics routine looks different than in the first thread example. asm file, but in YXPPCCCT format and that the "use second graphics page" option is off.
#SUPER MARIO WORLD SPRITES 16X16 FULL#
So, there IS some sort of an option to use the "second graphics page" which i think refers to a full 16 color palette instead of 8 colors doubled but, when i change the palette that is used from F or unclick "use second graphics page" the sprite stays the same, just like in the thread i linked to which leads me to believe that the sprite palette info IS within the. I think Im having a similar problem to the member in this thread:įirst, I opened the. I have gathered more info, going through each and every question thread that pertains to the subject.
#SUPER MARIO WORLD SPRITES 16X16 HOW TO#
Ok, the hunt continues for how to fully have control over my custom sprite palettes. I honestly cant figure this out on my own it seems.įebruary 01, 2014, 05:24:08 PM - (Auto Merged - Double Posts are not allowed before 7 days.) pal files with their custom sprites that can only use half the colors the file specifies. It's really frustrating because I can half-ass it and just sample the sprite down to use half the colors in yychr by just using the first 8 palette colors but i KNOW there HAS TO BE A WAY to access the full palette, otherwise i assume people wouldnt put up. Is there a palette property i need to mess with inside of the sprite's. Now, I've tinkered with it a little bit and it seems that the last 8 colors in the palette row, while SAYING they are displaying like this:Īre ACTUALLY repeating the first 8 colors instead and looking like this: Using the ingame palette in yychr, it shows the sprite PERFECTLY (bad pic).īut when I load the game in an emulator or lunar magic, it still displays the off colors, as displayed in the 8x8 tile editor. I save state and open the exgraphics for the custom sprite in yychr to see whats going on. I save my level to rom but, when I open my rom in an emulator, the colors look like this: pal and awesome, now the palette the custom sprite uses (in this case palette row 8 or 0xF) is in my rom, according to lunar magic. When I first started inserting custom sprites in my rom, i couldn't get a majority of them to display the palette correctly, so i read around and found out how to open a custom palette in lunar magic.


I'm fairly new to hacking mario world (almost zero experience with assembly) but have run into a weird sort of problem.
