Banner
Views: 236,777,361
Time: 2013-05-25 08:02:04 PM
23 users online: Amos Defamos, Archie, o Camerin, Dark Mario Bros, Donaldthescotishtwin, o Doopy Buckride, HyperMario, icarusge, o Ladida, levelengine, lordkronos100, Mariohacker14, Masterlink, MonkeyMan, Purple Rex, RaindropDry, Ramidalv, ShadowFire, o ShadowPhoenix, Sokobansolver, o Tokiko, o TRS, o Zildjian - Guests: 31 - Bots: 10Users: 22,893 (1,286 active)
Latest: icarusge
Tip: Create a fair "difficulty curve" - that is, start off easy and then get gradually more difficult as the hack progresses.
Players - by tmercswims
Forum Index - SMW Central - Moderation of Hacks and Files - Blocks - Players - by tmercswims
Pages: « 1 »
Name: Players
Description: Blocks that switch player one to player two, and player two to player one.

Requested by cder3.
Author: tmercswims - Submitted by: tmercswims




Reasons

Let's start with the most unimportant issue:

Code
BRA Return Return: RTL

That branching command is useless here. Keep in mind that labels do not actually interrupt the program flow - the code would have gotten there anyway, with or without the BRA.

And now for something slightly more relevant: The blocks don't work. When playing as Mario, the first block does nothing, and the second one disables all controller input for some reason. Most likely caused by you using a wrong RAM address:

Originally posted by RAM Map
$7E:0DA0 1 byte Player Current Player (0 - Player 1, 1 - Player 2). Used by controller Routine.
Note that the highest bit (#$80) is the "controller 2 plugged in" flag, so you probably want to use $0DB3 instead.

No offense, but actually testing stuff oneself before submitting it would save all of us a lot of time.

To be honest, I don't think changing the current player is as easy as storing to $0DB3 or whatever address - there's just so much stuff you need to look out for when it comes to player changing, I'd say it's barely worth the trouble. Should you manage to do it, though, then I'd suggest not splitting it up into two ASM files - it'd be much more efficient to just have one block that changed Mario to Luigi and vice versa.
Name: Players
Author: tmercswims
Description: Two blocks, one that changes player 1 to player 2, and one that changes player 2 to player 1. Also changes the graphics (palette) back and forth between Mario and Luigi.

Made for cder3.



Reason

Sorry about the misunderstanding earlier. -_- Yeah, the controller swapping does work, as does the palette changing.

However, there's still one small problem I recommend fixing: When switching back from Luigi to Mario, the player name in the status bar isn't updated. Likely an easy fix - storing the appropriate tiles to $0EF9 onwards should do the trick.

I hope I haven't overlooked any other major issues (I had imagined player switching to be much more complicated), but that appears to be it. Once that one issue is fixed, I'll be glad to accept it. ;)
Sorry, I must have worded that last post badly. I was trying to say that when I change back to Mario (turn_player_1.asm), the player name in the status bar still says "Luigi". You should change turn_player_1.asm so that it stores the "Mario" tiles to the status bar.

Also, the newest submission seems to be missing one block.
Pages: « 1 »
Forum Index - SMW Central - Moderation of Hacks and Files - Blocks - Players - by tmercswims

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

Copyright © 2005 - 2013 - SMW Central
Legal Information - Link To Us


Total queries: 27

Menu