Strange as it may seem, the Cross Section/Castle Wall Decoration objects depend on the Layer 2 Image of the level, whether or not they appear normally. Here is a list of the Layer 2 Images those objects appear normally on cross sections with Tilesets 1 and 7:
As far as I'm aware, these objects look glitched when used with these images with Tileset 10, but with the images in the first list, they look normal. These objects look glitched against castle walls when used with Tileset 14.
(if this post contains errors, please let me know and I'll update it)
odd enough, there are other strange mappings around there, like x17ce40 is a starry Bg without moon!-- and others are just garbage tiles as far I can tell.
Note that tiles are stored in 16x16, so is very hard to edit them with just a hex editor.
---
EDIT:Want some help with the tap-tap boss! because I don't understand how this works:[79E4D, 79ECF, 79FF2 and 7A20D] It says that needs to be changed to the translevel number[3F], but changing to 22[4-8] or any other value doesn't affect anything... BUT 3F isn't 6-4, and that confuses me.
any help? I want tap-tap in 4-8!
and I Hope this make sense....
Perhaps you counted the level icons incorrectly? Remember that all 12 (0xC) map icons in each world have their own translevel numbers, not just the 9 that lead to levels. This may help:
World 1
00 01 02 03 04 05
06 07 08 09 0A 0B
World 2
0C 0D 0E 0F 10 11
12 13 14 15 16 17
World 3
18 19 1A 1B 1C 1D
1E 1F 20 21 22 23
World 4
24 25 26 27 28 29
2A 2B 2C 2D 2E 2F
World 5
30 31 32 33 34 35
36 37 38 39 3A 3B
World 6
3C 3D 3E 3F 40 41
42 43 44 45 46 47
(I probably should add this to the FAQ somewhere...)
Oh! I thought the level index was the 'translevel' numberstupid me...
Also messing around with the sound effects values, I found that x06 is an unused sfx, originally from smw(where yoshi hatch from eggs)
edit offset x2DD3D to 06, then hit a hint box to hear it.
All I need is to make a list with all the sound effects values
---
EDIT:My research is being a succes I've found 25 sound effects for now, I'll probably continue tomorrow and see how many sfx has YI
Here's the values I found
00:Nothing
01: Pause
02: Pause(This will disable music)
03:Nothing
04:Nothing
05:Get a supermario star
06:Unused(SMW yoshi hatching from eggs)
07:Stomping a skeleton goonie
08:1-up
09:Coin
0A:Breaking dirt
0B:Koopa shell kick
0C:Koopa shell kick
0D:Koopa shell kick
0E:Koopa shell kick
0F:Koopa shell kick
10:Koopa shell kick
11:Koopa shell kick
12:Koopa shell kick
13:Spring bounce
14:???
15:Expansion block
16:huge red ballon losing air
17:Yoshi being hit By an enemy
18:Raven being lost at the constellation/SMW yoshi coin
19:Unused(SMW midway point)
1A:Yoshi taking an egg when aiming/SMW yoshi's tongue
1B:Spike mace rotating
1C:
1D:Unused?(A low pitched sound)
1E:Key sfx
1F:Ceiling hit
20:Egg throw/flying
21:Touch fuzzy!
22:Nothing
23:Ground pound
24:Nothing
25: Piranha dying
Two questions
-It's possible to edit which boss show the key animation and which not when defeated.(Because I've switched many bosses as possible)
this is not really important, just asking.
-This has been answered before but... how do I add more yoshi colors?(levels)
Sorry @doggy, but afaik nothing is know about your first question.
For the second thing, just do this:
From 0x0079A7 paste this:
| EC 4D 6C 4D | 8C 4D AC 4D | CC 4D 4C 4D | 0C 4E 2C 4E |
| 40 00 5E 00 | 7C 00 9A 00 | B8 00 D6 00 | F4 00 12 01 |
| 08 4E 88 4D | A8 4D C8 4D | E8 4D 68 4D | 28 4E 48 4E |
| 5C 00 7A 00 | 98 00 B6 00 | D4 00 F2 00 | 10 01 2E 01 |
At 0x003C73, replace [BA 14] with [A7 F7]
At 0x003D86, replace [BA 14] with [A7 F7]
At 0x026566, replace [BA 14] with [A7 F7]
At 0x081D36, replace [BA 14] with [A7 F7]
At 0x012E58, replace [23 FB 04] with [C7 F7 00]
At 0x027D51, replace [23 FB 04] with [C7 F7 00]
The tutorial is by Mattrizzle.
But I got a question myself:
For some of my YI levels it's quite a little annoying to have the full lava-death animation of Yoshi played. I don't know how exactly it works, of course, but would it be possible to lock the X and Y coordinates of scrolling as soon as the animation is played? This saves you the long way down in some levels. I suppose, it's programmed so, that the "Retry?"-screen appears, as soon as Yoshi falls off the screen, so that would appear faster, too, then, no?
If you die of lava in a scrolling area, the X and Y coordinates are locked (except if you die while the first or last level scroll is active, since those don't lock the Y coordinate.)
Hhhmmm... Looks like I won't have extra yoshi colors, that space has been already overwritten with levels...
---
Also Is possible to use the space between x1EBcB0 to x1F9400, because golden egg does not scan freespace beyond the graphics data.(x120200)
(No, i'm not running out of freespace, I have alot left)
In case you know ASM, you should know that you can't use any space, which is not in bank $00.
The reason are the pointers stored in bank $00.
The ASM says:
0x3C73: LDA (address) 14BA, Y
0x3D86: LDA (address) 14BA, X
Since long jumps are needed for any pointer outside of bank $00, the latter four pointers can point to any bank.
Opcodes B9 and BD only allow for bank-intern pointers, BF is for long pointing.
Either free some space in bank $00 or don't have additional Yoshis.
Your choice.
And for a new question:what did you change to make castle music disable items? as seen in 4-8.
So I'm forced by you to reveal the darkest secrets of my hack now?
I've simply made a copy of the castle music play as track #F and disabled items for that one.
(With some hyper-advanced ASM code, it could also be possible to reserve a bit in the header for that setting... Since 5 bits seem to be unused, it would make sense to make them useful. Item Allowance, Chomp Rock Color, Ski-Mode, Tileset 1 and Snowball Remembrance, for example)
That reminds me, I wonder how feasible it would be to make the Middle Ring setting use a third bit... I have a feeling the game only allows a certain amount of RAM for keeping track of item memory, but why should Middle Rings be limited to using the exact same bits?
Or to add an 8th bit for the sprite set like in the GBA version (and expand the sprite set table somehow), so each level could have a unique sprite set...
Also, I wonder what it would take to create some kind of custom sprite/object that resets all item memory (or resets all item memory except for the setting matching the current room you're in). If you're creating a level with 5 or more major sublevels, it could be placed at a point where you can't backtrack, to help avoid item memory glitches.
I like your ideas, Zeldara, especially creating a sprite, which resets item memory.
Don't know how space-consuming such a sprite would be. I'm an ASM noob, but wouldn't this be normally required?
STZ (first IM address)
STZ (second IM address)
...
STZ (last IM address)
Something like
STZ (first IM address up to last IM address)
could do it alot more efficiently, if possible.
The expanding the sprite set table-thing doesn't seem to be too complicated, in case it is done by changing some pointers. Doing this would add the ultimate freedom of sprite usage (within the SNES' limits, of course) to the game. Since it would cost 1,332 bytes (because the game has 222 levels, so only 222 sprite sets are needed), there is enough free space for such a thing in bank $00.
As far as I know, the whole item memory takes 1024 bytes (16 bits per screen, 256 bytes per level times 4 are 1024 bytes.)
Also, yes, Secret 6 got more than 4 major sublevels, but I simply limited the usage of normal coins, so no item memory issues in that level (there were some, but fixed them).
I just realized that expanding the sprite set table could actually possibly free up 7 bits from the level header, if an additional change is made so the game uses the level number as the sprite set number.
Regarding item memory, it might only take up 512 bytes actually, considering levels are limited to 64 screens.
Regarding clearing multiple bytes, I know there are shortcuts. Not quite sure what they are though. (I've tried clearing certain SRAM bytes (used for saving additional data) upon loading level 1C5 (the SMW intro level) in my SMW hacks, but the way I did it doesn't quite seem to work-- sometimes it erases every save file instead.)
(By the way, part of the reason I was wondering about this in the first place is because I'm currently planning for the final level of A Timely Change to have one section based on each of the 6 worlds in the game, preferably with a Middle Ring after each one, and possibly a final section at the end before the boss, meaning I'd prefer to have 6-7 checkpoints total, and probably would be dealing with a lot of item memory issues. I do have an alternate solution regarding including more than 4 Middle Rings in a level though-- design the level to loop back to the point where an earlier Middle Ring was (probably after collecting a key), and include a second Middle Ring right before the paths rejoin that restarts from the same midway entrance.)
Regarding item memory, it might only take up 512 bytes actually, considering levels are limited to 64 screens.
Nah, I don't think so, because you can use whatever screen you want, as long as you don't use more than 64 (I actually thought 63) of them. The problem with 512 bytes is, that the game wouldn't know where exactly to set the flags. In case you are right, the game would have to set flags at two X positions at once then. Say, you have a level with item memory 0 and it got a coin at X14. So when it's taken, it must set the flag for X14 and X94(for example), since it only got half the flags necessary to cover a whole level. But afaik, you can make a level with item memory 0, which uses the 8x8 screens on the left and another one with the same item memory, which uses the 8x8 screens on the right without getting IM problems. 1024 bytes make more sense, since you can have more than one level, which share the same item memory index.
Follow Us On