Banner
Views: 852,752,190
Time:
21 users online: Bensalot, brickblock369, CalHal, Dark Prince, FrozenQuills, HammerGuy, JCPrinny, JonnyManjiro,  KevinM,  Koopster, MassPunishment, MegaSonic1999, MellowYouth, Minish Yoshi, MORC, NewPointless, ninjacraftytpro, Noobtella, olgdeldnem, Pancake002, PedroHrodrigues - Guests: 91 - Bots: 82 Users: 47,025 (2,523 active)
Latest: monizomi
Tip: Avoid blind jumps. If the player has to jump down a random hole to proceed with no indication at all that they can go down there, you've done something wrong!Not logged in.
Extended sprites list?
Forum Index - SMW Hacking - SMW Hacking Help - Extended sprites list?
Pages: « 1 »
Could someone please post a list of all the extended sprites, and any other types (that aren't accessible in LM)?

--------------------
Your layout has been removed.
$7E:170B 8 bytes Sprites Type of extended sprite (0-12):

01 - Puff of smoke with various objects
02 - reznor fireball
03 - flame left by hopping flame
04 - hammer
05 - mario fireball
06 - bone
07 - Lava Splash (doesn't hurt, parabolic down)
08 - Torpedo Ted shooter's arm
09 - Red thing that flickers from 16x16 to 8x8
0A - coin from cloud game
0B - piranha fireball
0C - lava lotus fire
0D - baseball
0E - Flower of Wiggler
0F - Trail of smoke
10 - Spin Jump star
11 - yoshi fireballs
12 - Water bubble

You might want to see this, too:

$7E:17F0 12 bytes Sprites Minor Extended Sprites type.
00=None
01=Piece of brick block
02=Small star
03=Cracked shell (Yoshi egg)
04=Fireball from Podoboo
05=Small star?
06=Rip van Fish Z tile
07=Water splash
08=Rip van Fish Z tile (unused)
09=Rip van Fish Z tile (unused)
0A=Boo Stream tile
0B=Unused Yoshi smoke
Very interesting, really...

Erm, well, how could I use these sprites in my game, have I to use xKas or something, or are they accessible from LM?

--------------------
Hey this is me, Darkslayer.
I don't think so. To generate one:

- Store the extended sprite number to $170B.
- Write its X position low.
- Write its X position high.
- Write its Y position low.
- Write its Y position high.
- Write its X speed.
- Write its Y speed.

All of the above should be indexed by X or Y (value in $170B,x or ,y)

Also, you need to loop to check if there are free slots to generate the sprite, using this code:

LDY #$0B
-
LDA $170B,y
BEQ +
DEY
BPL -
RTS

+
~Code to generate extended sprite.

You can create the code through a sprite, block or patch. They all should work.
Could you write down the code for some of them?

--------------------
Your layout has been removed.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; generate extra sprite
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
GEN_EXTRA LDY #$07
EXTRA_LOOP LDA $170B,y
BEQ EXTRA_1
DEY
BPL EXTRA_LOOP
RTS
EXTRA_1 LDA #$03 ;スプライトの種類
STA $170B,y

LDA $E4,x ;x座標下位バイト
STA $171F,y
LDA $14E0,x ;x座標上位バイト
STA $1733,y

LDA $D8,x ;y座標下位バイト
STA $1715,y
LDA $14D4,x ;y座標上位バイト
STA $1729,y

LDA #$00 ;y方向初期速度
STA $173D,y
LDA #$00 ;x方向初期速度
STA $1747,y

LDA #$FF ;一部スプライト用のタイマー
STA $176F,y

RTS

^ That code was written by Carol. It's..eh..all in Japanese, so just look up what he's storing to in the RAM map to figure out what to load.
I commented on it:

GEN_EXTRA LDY #$07 ; # of free slot sprites to loop through
EXTRA_LOOP LDA $170B,y ;\
BEQ EXTRA_1 ; |
DEY ; | loop until a free spot is found,
BPL EXTRA_LOOP ; | else return
RTS ; /
EXTRA_1 LDA #$03
STA $170B,y ; store exsprite # into $170b,y.

LDA $E4,x
STA $171F,y ; store x low position (to sprite pos)
LDA $14E0,x
STA $1733,y ; store x high position (to sprite pos)

LDA $D8,x
STA $1715,y ; store Y low position (to sprite pos)
LDA $14D4,x
STA $1729,y ; store sprite high position (to sprite pos)

LDA #$00 ; y speed = 00 (note: STZ $xxxx,y doesn't
STA $173D,y ; exist)
LDA #$00 ; x speed.
STA $1747,y ; NOTE, index by sprite direction and
; (store left/right speeds)
LDA #$FF ; don't know what this does
STA $176F,y

RTS

This generates an extended sprite (03) relative to the sprite's position (if generating one in a sprite's code). To shift it around, i.e. a bit away from the sprite, you need to add/subtract the offsets from the X/Y position of the sprite before storing to the extended sprite position. You'll also need to add #$00 so that the low byte doesn't overflow. E.g.

LDA $E4,x
CLC
ADC #$08
STA $171F,y
LDA $14E0,x
ADC #$00
STA $1733,y

Etc.

Generating a minor extended sprite is almost the same thing, you just change the sprite tables it stores to (i.e. store to minor extended sprites X low, X high, Y low and Y high along with the speeds and stuff).
OK, thanks. So the code is the same, exept you change #$03 to the extended number, and change x and y speed? Like this?

Code
GEN_EXTRA LDY #$07 ; # of free slot sprites to loop through
EXTRA_LOOP LDA $170B,y ;\
BEQ EXTRA_1 ; |
DEY ; | loop until a free spot is found,
BPL EXTRA_LOOP ; | else return
RTS ; /
EXTRA_1 LDA #$05
STA $170B,y ; store exsprite # into $170b,y.

LDA $E4,x
STA $171F,y ; store x low position (to sprite pos)
LDA $14E0,x
STA $1733,y ; store x high position (to sprite pos)

LDA $D8,x
STA $1715,y ; store Y low position (to sprite pos)
LDA $14D4,x
STA $1729,y ; store sprite high position (to sprite pos)

LDA #$0A ; y speed = 00 (note: STZ $xxxx,y doesn't
STA $173D,y ; exist)
LDA #$0A ; x speed.
STA $1747,y ; NOTE, index by sprite direction and
; (store left/right speeds)
LDA #$FF ; don't know what this does
STA $176F,y

RTS


--------------------
Your layout has been removed.
Yes, that should work fine, assuming that you're indexing X with $15E9 (like in sprites).
So how do you actually put the code in? Is it as a sprite because if it is, what do I replace and don't you need two files for a sprite anyway?

Sorry, I'm bad at this and I need to know how to get the Coin from the coin game cloud as as a sprite.

Thanks
Pages: « 1 »
Forum Index - SMW Hacking - SMW Hacking Help - Extended sprites list?

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

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


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy