Banner
Views: 896,125,108
Time:
12 users online: codfish1002, Copyright, ForthRightMC, HD_DankBaron, Infinity, JonnyManjiro, KazakhGuy,  KevinM, lx5, Metalis, qantuum, xyz600sp - Guests: 46 - Bots: 168 Users: 50,269 (2,281 active)
Latest: BooTheBun
Tip: Doors and pipes act strange near screen boundaries. See this to avoid strange issues.
Not logged in.
Posts by olivebates
olivebates' Profile - Posts by olivebates
Pages: « 1 2 »
olgft4ebhaqT4EW
^Olivebates

... Epic fail xD
Whoa! That went fast xD
'Ello there :),

Well, I was just wondering if it is alowed to have sideways munchers in the Vanilla Contest. Like, using YYCHR to rotate the muncher 90Ā°. Will that acceptable in the next SMW Vanilla Contest?
Oh, btw, thanks, yay :D
I am a big noob at ASM. I couldn't find anything on google. Can someone explain to me what each of the events mean?

And how do I make something that runs every frame even if mario or a sprite isnt touching it?

Originally posted by Thomas
As for your other question about making something run every frame even when not touched, it's not possible for a block on its own.


Then how can I make a block that changes what map16 tile it is, depending on the ON/OFF switch state? If I can only update it when mario touches it?
Originally posted by MarioFanGamer
Simple: Set the acts like on certain conditions and animate them accordingly.


Sorry, I don't understand what this means. What are acts?

I looked at the switch pack, but I don't get how they did it either.

Edit: I tried making my block, but it isn't working

Code
db $37

JMP main : JMP main : JMP main : JMP return : JMP return : JMP return : JMP return
JMP main : JMP main : JMP main : JMP main : JMP main

main:
	LDA $14AF|!addr				; \ If the ON/OFF switch is ON...
	BNE Label_0000				; /
	PHX					; \
	REP #$10				; |
	LDX #$0320				; | Change this block into Map16 tile #$0320.
	%change_map16()				; |
	SEP #$10				; |
	PLX					; /
	BRA Label_0001
Label_0000: 
	PHX					; \
	REP #$10				; |
	LDX #$0321				; | Change this block into Map16 tile #$0321.
	%change_map16()				; |
	SEP #$10				; |
	PLX					; /
Label_0001:					; > --------
return: RTL
Originally posted by MarioFanGamer
However, you mentioned you want to have a block which acts like a different one. The punchline is that instead of reinventing the wheel at the danger of messing up, you should use switch_act.asm from Switch Pack which does exactly what you want


I am doing this to learn though, not just copy someone elses work. I would like to understand why it works, so I can write it myself from scratch.

What does this mean?

Code
db $37
JMP main : JMP main : JMP main : JMP main : JMP main : JMP main : JMP main
JMP main : JMP main : JMP main : JMP main : JMP main


I am looking at switch_act, but I don't get how it can update itself without mario touching it.

Edit: For convenience sake, here is the code in switch_act

Code
!act		= $0025		; Change this if needed.
!switch		= $14AD		; $14AD = Blue P-Switch,	$14AE = Silver P-Switch
				; $14AF = ON/OFF Switch,	$1F27 = Green Switch
				; $1F28 = Yellow Switch,	$1F29 = Blue Switch
				; $1F2A = Red Switch
!reversed	= 0		; Reversed conditions? 0 = false, 1 = true.

db $37
JMP main : JMP main : JMP main : JMP main : JMP main : JMP main : JMP main
JMP main : JMP main : JMP main : JMP main : JMP main

if !switch == $14AF
	!inverted = 1
else
	!inverted = 0
endif

main:	LDA !switch|!addr
if !reversed^!inverted
	BNE .return
else
	BEQ .return
endif
	
	LDY.b #!act>>8
	LDA.b #!act
	STA $1693|!addr
	
.return	RTL

if !reversed
	print "Acts as ", hex(!act), " if a specific switch isn't active."
else
	print "Acts as ", hex(!act), " if a specific switch is active."
endif
Thank you <3
Here's what I tried, but it has no effect on the sprite...

Code
db $37

JMP MarioBelow : JMP MarioAbove : JMP MarioSide
JMP SpriteV : JMP SpriteH
JMP Cape : JMP Fireball
JMP MarioCorner : JMP MarioBody : JMP MarioHead
JMP WallFeet : JMP WallBody

MarioBelow:
MarioAbove:
MarioSide:
RTL

SpriteH:
SpriteV:
	LDA #$EC				; \ Set the sprite's y speed to -20.
	STA !AA,x				; /
	LDA #$0A				; \ Set the sprite's x speed to 10.
	STA !B6,x				; /
RTL




Cape:
Fireball:
MarioCorner:
MarioBody:
MarioHead:
WallFeet:
WallBody:
RTL
THank you, this works :) Unfortunately, like you said, the sprites speed is updated every frame. I would otherwise would have liked to manipulate the movement of thwomps by having them hit invisible blocks that change their trajectory. <3

Can you explain what this does?

Code
PHY
JSL $01802A|!bank
PLY
I would like to make a block that is like invisible coinblocks, except it deletes itself instead of creating a solid block. Is this possible?

I tried making

Code
MarioBelow: %erase_block() RTL


But this didn't work :/

Edit: Nevermind, I figured it out. I was forgetting to check that mario was moving upwards :blush:

Code
MarioBelow:
	LDA $7D					; \ If the player's y speed is less than 0...
	BPL Label_0000				; /
	PHX					; \
	REP #$10				; |
	LDX #$0025				; | Change this block into Map16 tile #$0025.
	%change_map16()				; |
	SEP #$10				; |
	PLX					; /
RTL
Okay, thank you :)
Mario finds himself in an unforgiving world, unlike anything he's experienced before.

This will be the hardest hack that will ever be made. It's The End of all pit hacks.

We chose this room to show off, because it is one of the easiest in the hack so far, as to not give too much away.

Originally posted by Earthling
now make everything invisible =D


That's reserved for the last room ;)

Originally posted by Narcologer
Hope this'll also mark end of hacks that can offer only new layouts/gfx. |-O


What do you mean?
Hello!

I would like to use this block in my hack, but I have never used exgraphics before, and I cannot find a tutorial on how to do it. Can someone help me?

https://www.smwcentral.net/?p=section&a=details&id=23090
I tried following this guide, section 2A and 2B. I don't get why it isn't working though. I tried it with both global animation and level specific.
Ah, I realized the problem... I inserted the block into 405 but was using slot 305 for the tile on the map16.
I am trying to create an exact copy of the muncher, except instead of killing mario on contact, it will turn into another map16 tile.

The hitbox of the block needs to be EXACTLY the same as the muncher. Now I tried all sorts of combinations:

Hitbox slightly too small:
Code
MarioHead:
MarioBody:
	PHX					; \
	REP #$10				; |
	LDX #$0025				; | Change this block into Map16 tile #$0025.
	%change_map16()				; |
	SEP #$10				; |
	PLX					; /
RTL


Hitbox slightly too big:
Code
MarioHead:
MarioBody:
MarioCorner:
	PHX					; \
	REP #$10				; |
	LDX #$0025				; | Change this block into Map16 tile #$0025.
	%change_map16()				; |
	SEP #$10				; |
	PLX					; /
RTL

Code
MarioBelow:
MarioAbove:
MarioSide:
	PHX					; \
	REP #$10				; |
	LDX #$0025				; | Change this block into Map16 tile #$0025.
	%change_map16()				; |
	SEP #$10				; |
	PLX					; /
RTL

Code
MarioBelow:
MarioAbove:
MarioSide:
MarioCorner:
	PHX					; \
	REP #$10				; |
	LDX #$0025				; | Change this block into Map16 tile #$0025.
	%change_map16()				; |
	SEP #$10				; |
	PLX					; /
RTL

Code
MarioBelow:
MarioAbove:
MarioSide:
MarioCorner:
MarioHead:
MarioBody:
	PHX					; \
	REP #$10				; |
	LDX #$0025				; | Change this block into Map16 tile #$0025.
	%change_map16()				; |
	SEP #$10				; |
	PLX					; /
RTL



Can someone help me?
Originally posted by TheBiob
Have you looked at this block yet?


I appreciate you finding this block for me, I couldn't find anything similar when I searched.

I think the code is a bit too advanced for me to understand what is going on šŸ˜¬ Could you help me look at it please?
Pages: « 1 2 »
olivebates' Profile - Posts by olivebates

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2021 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy
  • sm64romhacks