Acmlm's Board - I2 Archive - Super Mario World hacking - Sorry if this has been asked...
User | Post |
TapTap
Posts: 221/405 |
Thanks! Out of luck, I got it right the first time. I set Above, Below, Side, Fireball, Cape, and sprite offsets to 0, and Reloc to -1, and set the block to act like 25. |
BMF98567
Posts: 1205/1261 |
Those blocks check the highest digit of the timer and branch accordingly, which works great, since it never "wraps." However, checking the middle digit (for the aforementioned 50-second block) doesn't work, since it DOES wrap every 100 seconds--you'd be able to pass at 350, 250, 150, etc. You have to add a little extra code that checks the highest digit first, and then branches if it's greater than zero:
AD 31 0F D0 0E AD 32 0F C9 05 B0 07 A9 30 8D 93 16 A0 01 60
LDA $0F31 ; load highest digit BNE #$0E ; bypass code if timer >= 100
LDA $0F32 ; load middle digit CMP #$05 ; compare to 5 BCS #$07 ; bypass code if timer >= 50
LDA #$30 ; load low byte of block "acts like" setting (in this case, #$130, a cement block) STA $1693 ; store at $1693 LDY #$01 ; load high byte of block "acts like" setting into Y RTS ; end |
Kailieann
Posts: 53/106 |
153 (Low-Time Block) is only passable when the time is less than 100 seconds. Admittedly, that's not quite what you were after, but it's a start. |
TapTap
Posts: 216/405 |
All I saw in BlockTool was the "Add to the Timer" Blocks. I'm a little bit new at Hex Editing, So... I don't really know that well how to make my own block from scratch. |
Kailieann
Posts: 52/106 |
There are several time-limit blocks. I don't believe 50 is one of them, but you can edit one of the existing ones to suit your needs. |
TapTap
Posts: 214/405 |
Sorry if it's already been asked, but is there a custom block that you can go through if the timer is over 50, and solid if the timer is under 50 seconds? I didn't see one in BlockTool. Thanks in advance. |
|