Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,490,925
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-27-24 03:45 AM
Guest: Register | Login

0 users currently in SMW Hacking | 1 guest

Main - SMW Hacking - Bouncing Block Map16 Table Info New thread | New reply


boingboingsplat
Posted on 10-18-09 07:03 PM Link | Quote | ID: 117468


Giant Koopa
[PREFSTRING:wonderful bounciness]
Level: 74

Posts: 1042/1292
EXP: 3633927
Next: 19617

Since: 07-23-07
From: Michicola

Last post: 4842 days
Last view: 4805 days
This is a follow up to my thread at SMWC, which is right here. I will explain all 4 tables and all the valid values for them.

Anyways, there is 36 bytes in each table. They correspond to the bounce image used, the power-up spawned, which sides it can be bounced on, and what tile it turns into once it has been activated.

All tables use these map16 blocks in the same order:

Bytes $01-$1C = Map16 entries 111-12D
Bytes $1D-$21 = Map16 entries 21-24
Byte $22 = Turn block when spin jumped on while big
Byte $23 = Green ! Block (16A)
Byte $24 = Yellow ! Block (16B)

Anyways, onto the tables!

Bounce image table - 0x00725C ($00F05C)
Pretty self explanatory. As of now, these are the only values that I have proven to actually be safe to use. Maybe I'll snoop around all.log to double check. The ones I left out either seriously mess shit up, or just plain crash the game.
$00 - Turn block
$01 - Note block
$02 - ? block
$03 - Unused turn block you can hit from the sides (P-Switch by default)
$04 - Translucent block
$05 - ON/OFF switch (Makes the sound, too!)
$06 - Turn block; turns into a turning block for a few seconds then changes back to the original tile.
$07 - Shattering block!
$10 - Turn block; uses palette A (Yellow)
$11 - Turn block; uses palette D (Green)

Power-up spawn table - 0x007280 ($00F080)
Now then. Every other value for this table spawns the item before it, except that it will spawn a mushroom if you are small. (With the exception of the star, which will spawn a continuous star on the next value up.) Here are the valid values:
$00 - Nothing
$02 - Mushroom
$04 - Fire flower
$06 - Star
$07 - Continuous Star/Single coin
$08 - Cape feather
$0A - 1-up mushroom (Note: Changes block to a used block, no matter what you set in the table!)
$0C - Single coin
$0E - Multiple coins
$10 - Growing vine, only works twice in one level?
$12 - Nothing, makes growing vine noise?
$14 - Blue/Silver P-Switch
$16 - Key/Wings/P-ballon/Shell
$18 - Yoshi
$1A - Koopa Shell
$1C - Changing Item (Spawns like a mushroom, even!)
$1E - Directional Coins
$20 - Key, only works twice in one level?

Then there's these two which are weird because of a quirk in the code:
$80 - Flower/Feather/Star
$81 and higher - Star 2/1-up mushroom/Vine

Bounce-able sides table - 0x0072A4 ($00F0A4)
This one is simple because it's basically just a set format. Which is as follows:

----btrl
- = Unknown/unused
b = bottom
t = top
r = right
l = left

Each bit, if set, makes it so you can bounce off that side. So if I wanted to bounce off all sides, I'd set it to %00001111, or $0F. If I wanted to bounce off the bottom and the right, I'd set %00001001, or $09.

Block change table - 0x0072C8 ($00F0C8)
These are the tiles that the block changes into after it's done bouncing. It's based off of a set routine that changes based on a RAM address, so this is pretty much straight from all.log:

$01 - Empty space
$02 - Empty space
$03 - Vine
$04 - Bush background, for berries
$05 - Always turning block
$06 - Coin
$07 - Mushroom scale base
$08 - Mole hole
$09 - Invisible solid block
$0A - Multiple coin turn block
$0B - Multiple coin ?-block
$0C - Turn block
$0D - Used block
$0E - Music block
$0F - Music block
$10 - 4-way bounce music block
$11 - Unused side-bounce turn block
$12 - Translucent block
$13 - On/Off block
$14 - Left side of a pipe
$15 - Right side of a pipe
$16 - Used block
$17 - O block from 1up game
$18 - Invisible block containing wings (???, from all.log)
$19 - cage (???, from all.log)
$1A - cage (???, from all.log)

And that's it! Happy hacking, guys!

____________________
 

koala_knight
Posted on 10-19-09 07:15 AM Link | Quote | ID: 117506


Buzzy Beetle
Level: 44

Posts: 328/384
EXP: 591272
Next: 20013

Since: 06-01-07
From: Miami

Last post: 4126 days
Last view: 4114 days
Cool! Thanks for the info.

KingGoomba
Posted on 10-25-09 06:51 PM Link | Quote | ID: 117952

Newcomer
Level: 5

Posts: 3/3
EXP: 378
Next: 151

Since: 10-25-09

Last post: 5297 days
Last view: 5297 days
yeah this is some good info-mation

Main - SMW Hacking - Bouncing Block Map16 Table Info New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.019 seconds. (347KB of memory used)
MySQL - queries: 47, rows: 69/70, time: 0.015 seconds.