Banner
Views: 1,003,315,953
Time:
12 users online: aka_Raccoon, AmyWiltender,  Bench-kun, BrandonBlank, buggy789, Koopster,  Lazy, MarioBaggins, MorrieTheMagpie, SJandCharlieTheCat, Teaser, VinylHeart - Guests: 90 - Bots: 163 Users: 54,838 (2,035 active)
Tip: Read Lunar Magic's help file and SMW Central's F.A.Q., as they cover most of the basics of SMW hacking.
Not logged in.
Sub-Project: Master Hand Sprite
Forum Index - SMW Hacking - SMW Hacking Help - ASM & Related Topics - Sub-Project: Master Hand Sprite
Pages: « 1 2 3 » Link
Originally posted by Boingboingsplat
Some of the hand's finger(s) pop off and fire at Mario like rockets.
They can just grow back or something.


How about just his middle finger, that'd be a great way to taunt Mario... </end of joke>

--------------------
Make an option so he can't fly, so i can use him in MMR :3
Originally posted by Schwa's first post in this thread
Edit: Stop posting suggestions. Suggestions are closed, as I already stated.

This thread is now my Master Hand sprite's Progress Thread. I'll post here whenever I get something working, to let you know the status of the sprite's completion, as it will likely take several days to perfect.

Edit2: What the fuck? I was SURE I posted in this thread last night... O_O Shoot. Well, basically I said suggestions are closed and that I thought of my moveset, and it's not as complex as I thought I'd make it, but that's what makes it a great sprite. It's not Brutal Mario insane or anything, it's a solid, all-purpose custom boss that can work and fit the theme of pretty much any SMW hack in existance.

I wrote all the details about him on my blog, by the way.


Quoted from my edited first post.

--------------------
It's me!!

High on life is the best high.
@Yami I dont think he would want you using a sprite he created and not wanted to release. I already learned that. If I were you, wait till the sprite is first seen in his hack and then ask for it, not now. Besides, it will have some coding in it that will interact with his health bar and it wont be no good to any of us who want to use.

(I don't see how Master Hand would fit into my game anyways.)

--------------------
Your layout has been removed.
Actually I fully intend to release Master Hand to the database, compatible with SMW's unaltered game engine. My own version will just be re-tailored to fit my HP system is all.

However, I've put the coding on hold so that I can enter the SMW Level Design Contest. It shouldn't take more than a few days to make my level. :)

--------------------
It's me!!

High on life is the best high.
Well, wish you good luck, I still have to reenter my level b/c of a small GFX change to the cement blocks to keep Graphical glitches off, but it seems like tiny GFX changes are not allowed, but a custom lightning gen. is.

That's messed up.

(Oh crap, I went off topic. *shot*)

--------------------
Your layout has been removed.
I had that idea.....How about....

1. Either you make a phase about one hand, then TWO hands.
2. Make him pound his fist on the ground slower by low hits,
to faster by high hits.

LOL. i wish the level would flip upside down. to make harder.
like this.

_________________________________________________
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
=================================================


45-90 degrees flipped every(how much you want)hits.....
then back to normal....





--------------------
THIS IS MY FIRST HACK DEMO!!!
http://www.smwcentral.net/?p=showhack&id=3543
if u need masterhand sprites i know where to get some customs.
but it may take a while since the servers shut down for a while.

--------------------
Help I'm stranded in Yoshi's island!!
If you hate yoshi don't turn around(click)
@ABC123

I thought he said no more suggestions...

@Dinoguy

he's already made some awesome sprites, their in one of the later pages in the screenshot/video thread

--------------------
im talking bout new attacks of master hand like the walking the backround punch that.

--------------------
Help I'm stranded in Yoshi's island!!
If you hate yoshi don't turn around(click)
Originally posted by Dinoguy
like the walking the backround punch that.

I see...

--------------------
Yeah guys, I said suggestions are closed.

I'll keep you guys updated though. I just started writing his code last night, but I think I lost it all, because my computer turned off for no reason and wouldn't turn on again for a while. That's fine though, all I had done was lay down some Tilemap tables...

Also, abc123, I can't stand people who request impossible things. Besides this is not a request thread.

--------------------
It's me!!

High on life is the best high.
ok here r the sprites credit to those in the ssbrumble (pm me if ur interested)blog
here these sprites were made by swifty of the ssbrumble forum and nintendo.


--------------------
Help I'm stranded in Yoshi's island!!
If you hate yoshi don't turn around(click)
Um.. the only problem is that I don't think he can fit all of those into one graphics file, unless it's possible for Master Hand to use multiple graphics file.
Two at the most. Unless he uses SP2, in which case he can't use Koopas and whatnot. It all depends on how he decides to arrange the tiles.
Dinoguy, give it a rest, Master hand is already hard enough to code, even with the moves and GFX he has, skwaa does not need more thrown to him by some kid asking for rediculous stuff. If you want to see this sprite in a hack the way you like him, then learn ASM and code it yourself, or wait till skwaa finishes his.

Geez, I know ideas are good, but he already said TWO times in this one page, NO MORE SUGGESTIONS (not screaming, just pointing out a point).

Sorry if I am backseat MODDING.

--------------------
Your layout has been removed.
im just showing custom sprites .not suggesting just showing.

--------------------
Help I'm stranded in Yoshi's island!!
If you hate yoshi don't turn around(click)
Originally posted by Dinoguy
im just showing custom sprites .not suggesting just showing.

Then you need to show them in a different thread.
They have a point Dinoguy. You're really getting annoying, with the lame posts you make and the PMs you've sent me and my friends asking for custom sprite requests. Learn some tact, and better grammar while you're at it, before I burst a blood vessel. Not too much to ask.

Anyway, status update:
Sprite's about 1/3 coded. I was on a spree tonight, still am. I was gonna just test parts of him at a time as I code them, but decided no it's better I just finish it up all at once. The fact that it'll be more complex to debug doesn't phase me a bit; the Debugger can solve ANY problem that comes up, if TRASM.exe doesn't alert me of them first.

Roy taught me a new technique for this sprite: I finally got to use Indirect Indexing, via "JMP (abs, x)"! If you don't know what that means in ASM terms, let me explain it: imagine a JMP command that uses a Table and X Reference to decide where to JMP to, and every value on the Table is a Label name that appears somewhere in the .ASM file. It's pretty freaking sweet.

It's actually pretty fun to code this sprite! I coded a routine at the beginning that branches to 1 of like 20 different MAIN routines depending on what a particular Ram address is (that's what needed the "JMP (abs, x)"), and I'm currently just coding each individual routine jumped to by that. Each routine is rather small too.

Also, I coded a subroutine that a couple of those "action routines" will use, which locks the sprite's Y position on Mario. But this doesn't mean the sprite's Y position permenantly = Mario's Y position. Instead it sets the sprite's Y speed higher or lower depending on how far away it vertically is from Mario, so rather than snapping to his Y position it smoothly slides up or down to match his level.

And here's the routine:
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Vertical Lock-On Subroutine                                      ;
; When called every frame, sprite will vertically stay locked onto ;
; Mario's Y position.                                              ;
; Copy+Paste SUB_VERT_POS from the Subroutine Library somewhere in ;
; your code.                                                       ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

t_EOR:
	db $FF,$00

SUB_LOCKONY:
	JSR SUB_VERT_POS ; "Y" now has 00 if sprite above Mario or 01 if below Mario
	LDA $14D4,x	; \  
	XBA		;  | get sprite relative position to Mario
	LDA $D8,x	;  | (uses 16-bit "A" momentarily)
	REP #$20	;  | 
	SEC		;  | 
	SBC $D3		;  | 
	SEP #$20	; /  
	EOR t_EOR,y	; reverse if needed-- makes value a positive value
	LSR A		; divide by 2
	EOR t_EOR,y	; \ value's +/- is now opposite of whatever it started as
	EOR #$FF	; / 
	STA $AA,x	; store to sprite Y speed. Now it vertically stays locked on to Mario.
	RTS	; return

This routine hasn't been tested and might not work though, so if using it, caution is advised.

If it works though, it should be pretty awesome. The Master Hand sprite uses this during it's Flick Counterattack, and also when it aims before firing his Energy Gun attack.


Edit: Okay, check this out. I wrote a modified version of the Custom Sprite Generation Subroutine by smkdan... It's an alternative method I'm gonna try using for all my future custom sprites. This Routine is adapted so that you can have one sprite generate whatever sprite you want based on a Ram address instead of a Defined variable.
Code
; Generate Custom Sprite Subroutine
;
; When called, $04 should have custom sprite number to generate.
; $05-$06 should have X offsetting (to the right),
;    and $07-$08 should have Y offset. (Both offsettings are Long.)
; X and Y speed etc. should be called from the generated sprite code.
; Generated sprites do NOT call their INIT routine.

SUB_SPRITE_GEN:
	JSL $02A9E4	; \ grab free sprite slot
	BMI RETURNB	; / return if none left before anything else...

	LDA #$08	; \  
	STA $14C8,y	;  | set custom sprite type
	LDA $04		;  | 
	PHX		;  | 
	TYX		;  | 
	STA $7FAB9E,x	;  | 
	PLX		; /  

	LDA $14E0,x	; \  
	XBA		;  | set x position
	LDA $E4,x	;  | (lo+hi)
	PHA		;  | 
	LDA $157C,x	;  | 
	BEQ SPR_RIGHT	;  | 
	REP #$20	;  | 
	LDA $05		;  | 
	EOR #$FFFF	;  | 
	STA $05		;  | 
	SEP #$20	;  | 
SPR_RIGHT:
	PLA		;  | 
	REP #$20	;  | 
	CLC		;  | 
	ADC $05		;  | 
	SEP #$20	;  | 
	STA $E4,y	;  | 
	XBA		;  | 
	STA $14E0,y	; /  
	
	LDA $14D4,x	; \  
	XBA		;  | set y position
	LDA $D8,x	;  | (lo+hi)
	REP #$20	;  | 
	CLC		;  | 
	ADC $07		;  | 
	SEP #$20	;  | 
	STA $D8,y	;  | 
	XBA		;  | 
	STA $14D4,y	; /  

	LDA $09		; \ set sprite X speed
	STA $B6,y	; / 

	LDA $0A		; \ set sprite Y speed
	STA $AA,y	; / 

	TYX		; \  
	JSL $07F7D2	;  | create the sprite and set flags
	JSL $0187A7	;  | 
        LDA #$88	;  | 
        STA $7FAB10,X	; /  
RETURNB:
	RTS			; finish

As you can see, it requires some setting up.

Right before you JSR to this routine, you need to set the Ram addresses $04, $05, $06, $07 and $08 to certain values.

$04: the Custom Sprite number from sprites.TXT to generate.
$05: X Offsetting of generated sprite (lo byte), when its Facing Direction = right.
$06: X Offsetting of generated sprite (hi byte), when its Facing Direction = right.
$07: Y Offsetting of generated sprite (lo byte).
$08: Y Offsetting of generated sprite (hi byte).
$09: X Speed of generated sprite.
$0A: Y Speed of generated sprite.

Custom sprite customization improves DRASTICALLY with this routine. Not only can you have a custom sprite generate many different kinds of custom sprites with ONE routine, but you can do some real cool tricks with it too.

- Use in conjunction with $01ACF9 and a Table to make it generate a random sprite from a list!

- Use in conjunction with SUB_HORZ_POS, and you could have a sprite like the SSBB boss Duon, who does one attack when facing you and another attack when you're behind him!

- Use in conjunction with smkdan's Count Custom Sprites subroutine, and you could have a Lakitu which throws flippable Green Spinies if there are none on the screen, but non-flippable Red Spinies if there are! This way you can have puzzles where you have to get him to throw the Green Spiny at a certain place so you can flip it there and break a block wall, by killing the existing Green Spiny with proper timing.

- Got a sprite with 3 cannons sticking from it in multiple directions? Each cannon can shoot a different projectile at a different speed and angle from a different cannon!

Many more tricks of course-- the possibilities are ENDLESS-- but that's all I can think of. And again this sprite routine is not tested, but I don't see why it shouldn't work.

Edit2: I altered my code so that $09 and $0A set sprite X and Y speed. I'll edit this again later if I find a bug with it.

--------------------
It's me!!

High on life is the best high.
Skwaa, that is fantasic! These routines are really useful. Not only that, but the master hand is looking like it's going well. Nice job!
Pages: « 1 2 3 » Link
Forum Index - SMW Hacking - SMW Hacking Help - ASM & Related Topics - Sub-Project: Master Hand Sprite

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

Copyright © 2005 - 2022 - 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