Holy ****, I hate those Sprites, 'cause they are somewhat tricky. You must pay attention to various things:
- Only use them in a Submarine Level or in a Stone-Castle (you can't use them in a Wooden Castle!)
- To use them in a castle, do the following:
First, create an object 48 and size it to an even number, so it's number*1, leave the height at 1.
Then, create object 8C, make it 2 smaller than the 48 and place it directly above 48, in the middle.
After all that, create 43 twice. Increase the height of each one by 1, then place them right next to 8C, one on each side, so the 48 should be fully covered, now. After that, create Sprite 105 twice. Place one of them on the covered 48, directly next to the left 43. Place then second one one tile away from the right 43. There you go.
- To use them in a Submarine Level, do the following:
First, create object 1A and size it to an even number. Then, create object Xtended 0F twice and place one of them at each edge of 1A. After that, create Sprite 105 twice. Place one of them right of the left Xtended 0F, the other one one tile away from the right Xtended 0F. There you go.
Hope this helped! Simply look how Nintendo did it in their levels.
Lol thank you
Now i can finish my world 2 in peace....
anyways if is possible to use them in stone castle, why is not possible to use them in the brick and wood castles?
or grasslands even if the tiles are glitched?
That's the point, it's glitched.
Haven't tested it. Also, you can use them in both stone castles, 6 and E. They are not displayed correctly in the wooden castle.
@tehaxor69
I'd been considering making mine a full editor. The "Window" tag in the main menu of my editor was the trace of my consideration for other editors, such as a title screen's island editor, an overworld editor and etc.
But I think this year will be hard time to me, so I suppose I can't make any progress after all. Hopefully, I'll have time next year, but at worst I will not. :/
And you're knowledgeable about the GBA version, and the SPC-700, so I think your editor will be better.
@doggy
It's just that the initial y position of them is 8-pixel shifted in order for them to fit into their room in the castle except in the wooden ones, so even in levels of other level type, you can theoretically use them, if you could find other object, which tells where to determine the end of the Boo Guy's room and looks decent in other level types, than a pillar, or the game will freeze.
Here's fix to use them in any castle level. Boo Guy fix
I wonder... Would it be possible to make something like SuperFX-on-demand sprites for Yoshi's Island?
For example in Secret 6 there are these rooms with 3 doors each. In the one with the locked door, there are two Red BulletBill-Blasters.
Now, the problem is, that none of them is shooting, because the doors take up 3 SuperFX slots, and in order to work, each cannon needs at least 2 slots.
Wouldn't it be much more efficient to reserve 1 SuperFX slot for all the doors around instead of using 1 slot for each door?
So, everytime one or more doors (Sprite 001, 012, 04E, 093, 131) are around, one slot is reserved, in case one of them is opened to have the animation played.
The doors don't need a SuperFX slot for their mere "existance", no?
I mean, there is no scaling, rotating or something.
This way, the doors in that room would take up 1 slot, having 3 slots left for the Blasters to shoot.
This feature would be even better in Secret 2, though. Grab an arrow lift in the locked room and jump down the passage. There are disappearing SuperFX sprites, then...
There would be two other ways in order to save SuperFX slots, though.
The first one is to make Red BulletBill-Blasters have a shorter release-BulletBill-animation, so it only needs 1 SuperFX slot at a time.
The second thing would be reducing the amount of SuperFX space used for Sprites 080 and 081 to 1/2.
If it's true, what Mattrizzle said, also 16 16x16 graphics can be used for rotation/stretching.
So, it would be possible to do the same thing with them like with the Snowball: The second half is only a mirrored copy of the first half. The graphics for the Fireballs are at 0x2A0C0 in the AllGFX.bin. The two halves are perfectly symmetrically, so it should be doable without losing quality?
Implementing these three tweaks would solve all SuperFX problems with the Secret levels at once. Sooo... Is anybody able to do that? (The door-thing is the most important one, btw)
(By the way, if anyone cares... the SNES version has 16x13 tiles per screen, the GBA one only 15x10; looking at the screenshots, that is.)
Also, is there a particular reason, why the Fireballs don't emit little flames in the GBA version?
tehaxor69
Posts: 216/304
Since:
Location: Washington, DC
The best way to do this is to create a custom bullet bill blasters that uses alternate VRAM slots, you will need to sacrifice 2 sprite sets for this. The same goes for the area with the arrow lifts.
I will be able to work on this after the first beta release of the editor.
You can get the bullet bill blasters to work with the doors by changing:
Code
$03/AE6C F0 08 BEQ $08
to
$03/AE6C EA EA NOP/NOP
-You will have side effects.
-------------------- Working on Super Mario World 2 - Yoshis IslandBoss Rush Other projects on hold.
Thank you very much. But isn't it better without using Sprite Set space for that? Because then, it would work with all levels.
And looking at two Bullet Bills at different angles I suppose it's unable to rotate via SuperFX afterwards? Sadly, that's another thing against using Sprite-Sets. Wouldn't it be possible to generate the Biting BulletBill a little later? I still want them to use SuperFX, but I don't want them to waste slots, which are not needed.
So, you can do it with the Sprite Sets, if that is a solution, but I still ask for the solution I've mentioned in my above post.
Also, upon doing the NOP-thing, no door is shown at all.
Is that the side-effect you've mentioned?
*EDIT*
@tehaxor69:
This code here works:
Code
$03/AE6C F0 08 BEQ $08
to
$03/AE6C 80 08 BRA $08
The side-effect is, that all doors are opening at the same time AND the cannons behave in a weird way... (One cannon is shooting twice and the other one never shoots)
Also, yay for burnt Fishbone!
*Edit*
I actually thought, that this question would already have been answered, but couldn't find it anywhere.
I mean the coordinates of the small form of Naval Piranha.
The X coordinate is 0x38, if that's correct and seems to be hardcoded. I've already searched [38 00], [00 38] and [80 03] in all of bank $05 (where the rest of found Offsets for Naval Piranha is), but found nothing...
tehaxor69
Posts: 218/304
Since:
Location: Washington, DC
Thank you, it works, but the camera is still scrolling to the old place, with the tiles at X-position 0x2B being the last ones on the left side of the screen.
The Piranha itself is shifted, but Kamek still appears on some position around X 0x3A.
I guess they HAD to hardcode the coordinates for this battle, since the Sprite, which triggers the whole battle itself is placed quite far away from the actual battle.
tehaxor69
Posts: 219/304
Since:
Location: Washington, DC
Pretty great, thank you very much!
I've found some LDA $02B0 at SNES 0x4EA85, it seems to control where camera scrolling ends.
It must be the boss battle with the most hardcoded coordinates of the game.
*Edit*
When you've found some of the camera controls, I assume that they also take place, in case you shoot the Piranha in its small status and Kamek comes to say "OH, MY!", right? Or does that have its own camera scrolling? I guess not.
tehaxor69
Posts: 220/304
Since:
Location: Washington, DC
All these Offsets work, but for some reason, the Piranha will not rise from the water after it jumped into it. (I will test everything with a clean ROM another time now)
Oh, I guess I got what's wrong. It could be, that I've placed Sprite 171 too high in level 7F.
Yes, it was.
*Edit*
Sigh, this damn Piranha Plant has hardcoded area limits...
It rams its head against an invisible wall and goes through walls. This has to be found out, too, in order to relocate it. Also, is there any Adress, at which the Sprite <-> Piranha height distance is determined? Or is it completely depending on the Y position where Sprite 171 is placed, where the big Piranha rises? Also, Nipper creation is at a hardcoded Y (and X, maybe), too.
So, 5 more edits should do the job
Found some CMP #$02D0 and afterwards LDA #$02D0 at ROM 0x176CE changed it. Now, when the Piranha rises, its buds don't stay at X-pos 0x2D.
tehaxor69
Posts: 221/304
Since:
Location: Washington, DC
How far left boss goes
ROM 0x017136 SNES 0x02EF36 [E8 02]
How far right boss goes
ROM 0x017138 SNES 0x02EF38 [A4 03]
SFX to play for spawning sprites
ROM 0x016EF6 0x02ECF6 [83 00]
Number of sprites to generate for spawn = (value * 2)
ROM 0x016EFD 0x02ECFD [06 00]
What sprites to spawn
ROM 0x016F17 0x02ED17 [65 01]
This is one of those things I'll need my editor to support, and I wonder what hard-coded values other bosses have? I have the offsets for the falling rocks in Bowsers battle.
-------------------- Working on Super Mario World 2 - Yoshis IslandBoss Rush Other projects on hold.
It kind of works, but the Offsets for those hardcoded coordinates only seem to affect a small amount of phases of Naval Piranha, so a lot more Offsets must be found... For example, when it rams its head against the wall, the buds are totally off the plant and the thorn vines are also off the battlefield.
Can somebody tell me the the pointer of the level data of room 05 and how to calculate the offset it points to when it points to free space? I've decided to use my already-made level 1-2 in 1-6 instead. I can remake the outdoor area of the level, because it's only small, but it would be easier to use a hex editor to copy over the level data of the large and detailed underground area. I'm planning to use room 3E for the outdoor area and room 05 for the cave area.
Why not just swap the level and midway entrances of 1-2 and 1-6? There's no need to make a sublevel a different number just because you're using it in a different translevel.
Well, I thought it would be inconsistent and a little weird, to make 1-2's main room in the game in 1-6's main room in Golden Egg. It'll make it all very confusing.
Anyway, to swap two levels, switch the six bytes at offset (0xBF9C3 + (6 * levelnumber1)) with the corresponding bytes at offset (0xBF9C3 + (6 * levelnumber2)). (Oh, and remember that 6*5 is 0x1E, not 0x30.)
Follow Us On