Language…
6 users online: Cameron, Gamet2004, h.carrell, PROX,  Telinc1, Zavok - Guests: 185 - Bots: 242
Users: 64,667 (2,403 active)
Latest user: DarthHylian

Posts by Jagfillit

Jagfillit's Profile → Posts

Originally posted by Roy
Off-topic, but...

Are you using the latest version of my patch? I know this happened with the first, but it shouldn't be happening with the second.
Did you also repoint correctly?


I think I used the first. It actually worked fine until I modified it.
Originally posted by mr.nintendo
There is a glitch in hammer hills 2 that make the red coins appear again after you took them when you use a pipe


I'm aware of this, however, I don't know how to prevent custom blocks from reappearing.

Originally posted by Kc
I love how you actually took away the outlines and the graphics you made are wonderful. I played the demo and I can't wait to play the full version.


Thank you. I went by a strict "no black outline" rule when making them.
In my hack I have levels where the player must collect 8 red coins to exit, however when using screen exits, the red coins reappear when the area is reentered, allowing the player to cheat and exit without finding 8 different red coins.

How would I solve this problem?
I'm getting an error when using the MORE patch found in the addmusic help thread with the Mario ExGFX patch. When using a screen exit to enter an area using ExGFX for Mario, the music from the previous area (or star/p-switch music, if it's playing as the player exits) keeps playing. The music switches like it should for areas not using Mario ExGFX.

Can anyone help me out with this?
Well, for starters, it's a little too bright. Go with some darker colors for the FG. The BG might be fine as is, though it's hard to tell.

Also, the gray under the green areas on the FG looks bad. Replace it with a color closer to the yellow area.
Updates ahoy!

-Fixed various errors, like the item reserve drop, carrying the P-Switch through pipes, etc.

-Red coins no longer respawn or give the player normal coins. They are hidden many places now, such as inside breakable boxes, frozen in ice or even in the possession of enemies.



-Caps/Fire Flowers now have the correct graphics, and item boxes will spawn them upwards so they are visible.

-The three levels in the demo have been slightly altered. With the loss of red coin healing they are somewhat harder as well.

-I've been working on a new death routine. I may even make a separate death routine when Mario runs out of air underwater.



-Holding the L button will cause Mario's fireballs to fly straight. This will likely be used for puzzles.



-Also, stars now change color once they've already been touched to avoid confusion later in the game.
Originally posted by WhiteYoshiEgg
- As you can see, I still have to make proper GFX for the F.L.U.D.D. I also have to figure out how to put one tile below the other one, instead of them overlapping.


Unless I'm misunderstanding the problem, find the bit of code writing $00 to $0300,y in the GFX routine, and have it ADC #$10 before storing for the second tile, like so:

Code
XPos:
	dcb $00,$10	

LDA $00
CLC
ADC XPos,x
STA $0300,y


I need a little help with something. I'm trying to figure out how to create a slope interaction routine. Specifically, I'm trying to have the sprite change speeds on slopes. I have most of the routine figured out, it's just a matter of making it run. I need an address or routine that will tell if the sprite's going up or down a slope.

I've tried having the code run if $AA,x had upwards or downwards speed, but it seemed to have no effect at all.
First of all, you have it reversed. it should be:

LDA #$01 <- "#$" means the number is a value. So here you're making A equal 01.

STA $19 <- "$" means the number is a RAM address. By using STA, you are putting A into the address $19 (the current player's powerup), making it equal 01 (the value for big Mario).

RTS <- The opcode for ending a routine. If you are using BTSD, it should be RTL instead.

Second, to insert a block by using a .asm file you need to be using Block Tool Super Deluxe (which I would recommend). Whoops, I should've payed closer attention. >>

When inserting with BTSD, the .asm should look like this:

Code
JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireBall
;These determine what code to run based on how the block is being touched. They are best left like this.

MarioAbove:
MarioBelow:
MarioSide:
LDA #$01      ; If Mario is touching the block he'll become big.
STA $19
RTL
SpriteV:
SpriteH:
MarioCape:
MarioFireBall:
RTL      ; If a sprite, fireball or Mario's cape touches the block, it does nothing.


Hope that helps some.

Mod edit: stretch--;
Originally posted by Jagfillit
I need a little help with something. I'm trying to figure out how to create a slope interaction routine. Specifically, I'm trying to have the sprite change speeds on slopes. I have most of the routine figured out, it's just a matter of making it run. I need an address or routine that will tell if the sprite's going up or down a slope.

I've tried having the code run if $AA,x had upwards or downwards speed, but it seemed to have no effect at all.


I hate to bump, but I'm still working on this.

All the code is finished, it's just a matter of figuring out how to determine if a sprite is climbing or not. I've gotten $AA,x to take effect, but I'm not able to figure out what Y speeds are set to when climbing. I've been looking through all.log, but I haven't been able to find where this is handled.
It really depends on what you're going for. If you just want the sprite's GFX to change size instead of it's interaction size, you could just have the tiles dependent on a RAM address you use for HP.

Changing the interaction size too would require writing to the tweaker RAM addresses manually in the ASM.
Originally posted by Miley
I need to know how to make Mario's fireball go through objects. In other words, I want Mario's fireball to not interact with objects at all. I hex-edited the fireball so it goes straight, yet they bounce off slopes and whatnot. Instead of having them poof, I think it'll be easier to make them go through everything, yet still be able to interact with sprites. Thanks for any help.


JSLing to $02B554 seems to be how extended sprites handle this. However, I'm not aware of the correct place to place it in the fireball's routine via xkas...I've managed to get one fireball to do what you want, but the game freezes once there are two fireballs onscreen.
I'm having a little trouble making my own patch. When I try to patch the routine I'm trying to edit with what was already there (like below), it works...

Code
org $029FC2
	INC $1765,x
	JSR $A0AC


But when I try to jump to another address that does the same thing, it causes the game to freeze/explode.

Code
!freeSpace = $080393

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

macro RATS_start(id)
db "STAR"
dw RATS_Endcode<id>-RATS_Startcode<id> 
dw RATS_Endcode<id>-RATS_Startcode<id>^#$FFFF 
RATS_Startcode<id>: 
endmacro

macro RATS_end(id)
RATS_Endcode<id>: 
endmacro

lorom
header

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Hijack the routine loading Mario's palette
org $029FC2
	JSL NewFireballRoutine
	NOP
	NOP
	

org !freeSpace
%RATS_start(0)

NewFireballRoutine:
	INC $1765,x
	JSL $02A0AC
	RTL

%RATS_end(0)


Does anyone know what I'm doing wrong?
...The title's fairly self-explanatory.

I'm starting to take interest in Mega Man # hacking and I have a moderate knowledge of 65c816, so I was wondering how much that helps as far as working with the game's ASM goes.
I need some help working with Mega Man 4. I'm trying to disassemble it via various programs, but nothing seems to work.

Being inexperienced with automatic disassembling clearly isn't helping me here.
That's the NES game. And I have read the documents for the programs I've tried, but none seem to recognize the opcodes correctly. With some I get stuff like this:

Code
dc.b $2	;?
		adc $%,y
		dc.b $7e	;?
		rol $0,y
		dc.b $9e	;?
		dc.b $a7	;?
		dc.b $a7	;?
		dc.b $ff	;?
		dc.b $42	;?
		rol $0,y


Others return with question marks for opcodes they can't read.

It seems to be this way with other Mega Man ROMs as well.
Is there a known disassembler that can read tables, or will I have to do this manually?...And furthermore, how can I tell when a table starts or ends?
I'm having a bit of trouble with a sprite. I'm trying to have it hang just in front of Mario, locked to his position using this code:

Code
	REP #$20		;16bitload
	LDA MARIOX		;mario x
	SEP #$20		;8bit stores
	STA SPRITEXLO,x
	XBA
	STA SPRITEXHI,x


My problem is the matter of moving it from Mario's position. Incrementing or decrementing the low byte works, but not consistently. If Mario is at the border between screens (say #$01FF), doing this causes the sprite to appear on the other side of the screen (#$0100).

So the issue here is how to add/subtract correctly while in 16-bit mode (just sticking CLC & ADC in there crashes the game).
Man, I sure do love giving my projects stupid names.

This engine, as you might guess is for Mega Man fangames, based on the physics of the original NES games (found through debugging and studying screenshots). Currently it's still in the works, but my planned features include:

-Fully commented code, allowing for easy editing.
-Many enemies and all the Robot Masters/Weapons from Mega Man 1-6 (and possibly 9).
-Optional features from the games, such as shops, score, sliding and buster charging.

I've also developed a 2 player version of the engine, however I'm currently unsure if it will be released to the public, as I may attempt to do my own game using it once I finish with this project.



Videos will be put up if my computer ever stops crashing when I record them.