Language…
23 users online: akawo, Alex No,  AmperSam, autisticsceptile1993,  BeeKaay, deadworld2009,  DeppySlide, edgar, Green, JezJitzu,  MarioFanGamer, Metal-Yoshi94, MistaX88, MorrieTheMagpie, Nayfal,  NopeContest, Pink Gold Peach, Rykon-V73, SolveForX,  Telinc1, timeisart, Tulip Time Scholarship Games, wye - Guests: 287 - Bots: 443
Users: 64,795 (2,370 active)
Latest user: mathew

Extended sprites list?

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?
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