Language…
6 users online: fanfan21, Gasterus155, isaix, Maniek, Maw, SweatyNoodle - Guests: 89 - Bots: 96
Users: 68,047 (2,153 active)
Latest user: Luissssssssss

Posts by janklorde

janklorde's Profile → Posts

(restricted)
I'm using this patch and trying to make the platform fall faster. I've successfully changed the speed at which the platform falls down, but not the time it takes to initially make it fall. I see these lines of interest in the asm:
Code
	STA !AA,X               ;/ Initial Y speed when stood on.
	LDA.b #$18  		;\              
	STA.w !1540,X           ;/ Timer it takes to fall down initially when stood upon.


However changing them results in PIXI telling me the bang values are undefined, but there is no defines for them in the patch. I assume it is pulling these values from outside of the patch from somewhere in RAM/ROM? Is there a way to change it so I can input integer values to control these variables? I've tried simply changing them to #$XX but this results in a different error in PIXI.

Forgive my stupidity, I'm dumb.

Any help would be greatly appriciated!

EDIT: Turns out you don't need the '#' at the start of the value. Dumb mistake.
Bottom Text
--------------------
So I'm using some disassembly sprites for falling platforms. The level uses both the vanilla sprites and the custom versions. I was wondering if it would be possible to change the palette for the custom ones so a player can differentiate between the two? I've tried changing the palette but this changes both sprites. Could you make an edit to the asm to tell the custom sprite to use a different palette number perhaps?
Bottom Text
--------------------
I've had a look at the .cfg file but its completely uncommented and I have no idea what its doing. This is it:
Code
01
C4
00 33 F3 A2 A9 41
00 00
grey_plat.asm
00:00


Inside the .asm there is nothing obviously related to the palette, however there is a line inside the graphics routine that references the .cfg settings:

Code
	LDA #$03               ;\ Property from .cfg


Is this referencing the third line of the .cfg file, and in which case would the line
Code
00 33 F3 A2 A9 41
be the colour values?

Thanks :)
Bottom Text
--------------------
Ah thanks guys. I've tried changing the values Thomas mentioned, however now the sprite is using the page 1 graphics rather than page 2 even with the "use second graphics page" checked inside cfg editor. Maybe the value I've inserted to use the cfg data needs incremented perhaps, or change the cfg file manually to point it at the second page?
Bottom Text
--------------------
Ah I've got it now, thanks! I'd misplaced the edit you suggested. Problem solved.

Thanks again guys :)
Bottom Text
--------------------
(restricted)
So I'm using this custom layer 3 background. It looks great in LM but when the ROM is open the top of the BG is missing, as seen here:





Any help getting it to show the full thing would be great :)
Bottom Text
--------------------
Ah shucks, I think I remember reading that somewhere now you mention it... Would it be difficult to use it on layer 2? I'm not actually using anything on layer 2, just inserting the BG as it shipped. I feel like it shouldn't be to much work, but then it doesn't come with a .map16 file so I'm starting to doubt the simplicity.

At any rate thanks for the help :)
Bottom Text
--------------------
Ah dude that would be awesome! The file is linked in the first post I think. I did manage to get it converted to a 4bpp tileset but I don't know where to start with making a map16 for it. Again I feel it probably isn't that hard, but I have no idea where to start with that...
Bottom Text
--------------------
Ah thanks Ninja Boy thats perfect. So you don't need to actually make a .map16 file, just pull them out of the tile memory into map16. Thats simple enough, for future reference!

Thanks for the help guys I really appriciate it :)
Bottom Text
--------------------
Hello again friends.

So I'm using this custom switch palace switch block, I have 2 questions.

Firstly is that it requires insertion via GPS. This is fine as I have done this plenty of times with no issues, however it would appear to have a pre-defined insertion block number for a map16 graphics swap hardcoded in the asm and changing its insertion position in map16 with GPS causes it to draw incorrect blocks when the switch is pressed. It appears to be drawing the blocks at its default insertion point. I can't easily change the tiles occupying the space it wants to use by default as this space is occupied by LX5's custom powerup blocks and I'm sure doing so would mess up a lot of stuff in other levels using them already.

It wants to use blocks 600 and 601 in map16 by default, however I need it to use blocks A00 and A01. The new location isn't so important I just need to change its default location to some free space. I think I have found where in the asm I would need to change but I'm not sure. It is either somewhere in this section:

Code
;Map16 change routine, do not touch, but however, feel free to use it.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	REP #$10		;\Change the top left block.
	LDX #!TopLeft		;|
	%change_map16()		;|
	SEP #$10		;/

	PHY			;>Protect block behavor
	REP #$30		;>16-bit AXY
	LDY #$0004		;>Loop start	
-
	PHP			;>protect processor mode.
	PHY			;>This subroutine should not mess with Y as a loop counter.
	SEP #$30		;>Because this subroutine is 8-bit mode
	JSR SwapXYHigh		;>Vertical levels have their $99 and $9B swapped.
	REP #$30		;>Even with PLP, this needed to prevent game crashes.
	PLY			;>Now use Y as a loop counter index
	PLP			;>restore processor mode.

	LDA $98			;\Shift Y position
	CLC			;|
	ADC YPosShft,y		;|
	STA $98			;/
	LDA $9A			;\Shift X position
	CLC			;|
	ADC XPosShft,y		;|
	STA $9A			;/

	PHY
	LDX TileChangeTbl,y	;\Change current tile
	%change_map16()		;/
	PLY

	DEY			;\two bytes over since the tables are 16-bit numbers.
	DEY			;/
	BPL -

	SEP #$30		;>8-bit AXY
	PLY


Or this:
Code
;Tables to move and change tiles, do not touch, but feel free to use.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
XPosShft:
	dw $FFF0, $0000, $0010
YPosShft:
	dw $0000, $0010, $0000
TileChangeTbl:
	dw !BottomLeft, !BottomRight, !TopRight


Or both? Or maybe neither and I'm dumb. I'm aware it clearly says do not touch this part of the code but I can't see what else you would change to do what I'm wanting. I'm sure I only need to change a couple of things but I can't spot where or how it is referring to these default tile position values.

There is 2 asm included for the top left and top right tiles of the switch respectively, so I know I'd have to change both but they are mostly identical so figuring that part out shouldn't be too much of a problem.

The second question is maybe a big ask, but as this switch has space and capability for executing custom behaviour I was wanting it to act like a giant blue P-Switch which is the main goal here. I've already redrawn the graphics for it in YYCHR to fit the level theme.

Any help would be greatly appriciated as always.

Thanks :)
Bottom Text
--------------------
Ah Kevin my man! Thanks very much. Can't believe I missed them, right at the top too! I believe the expression is "Can't see the woods for the trees". I am blind. You'll be getting special thanks for all the help!

Thanks again Sir.
Bottom Text
--------------------
Don't know if I'm allowed to bump my own thread that I marked solved, but it is directly related to this post... Anyways I apologise in advance if I've misbehaved in doing this! That said, would anyone have advice on how one would go abouts making the switch also function as a regular switch palace switch?

While it does have this functionality in the example included in the asm, this merely sets the flag that the switch palace has been activated but I was hoping to have it trigger the vanilla switch palace behaviour (i.e. activate message box and end the stage).

It would be to be inserted as a seperate entity to the P-switch one of course. Just I was playing with some layer 2 stuff today and found that when the vanilla switch palace switch is on layer 2 it doesn't remove the top tiles as it should, so was thinking it would be possible to use this switch again because this custom one does function correctly on layer 2.

Thanks again :)
Bottom Text
--------------------
Hello friends.

As the title says, my ROM is becoming corrupt when re-patching powerup.asm after changing custom sprite properties with the Custom Powerup Sprite Config Tool included with the most recent release of the powerup pack. I've absolutely narrowed it down to the point I'm sure this is what is causing it (exclusively repatched a functional ROM with Asar using powerup.asm and launching the ROM immediately after). When 'cold booting' the ROM it crashes at the point it would load the title screen. Strangely, it does function correctly if you load in a savestate (i.e. the custom sprite properties have been changed correctly to function as intended with the specified custom powerup).

When saving changes made using the tool it asks you to "proceed to reinsert the main patch and PIXI sprites". I can only assume it does in fact refer to powerup.asm as the "main patch", as like I say it does work correctly when using a savestate to take you straight to the overworld map. I'm at a bit of a loss with this, thankfully I make frequent backups so I haven't lost much work, just lost the custom sprite behaviour in the current level I'm working on.

Sorry if this isn't the place for this, I don't know if its a bug, a conflict with other patches, if I'm just doing the wrong thing, or a combination of these things. I am using v3.4.1 of the powerup pack (most recent).
Bottom Text
--------------------
So im using this sideways springboard sprite. I was wondering if its possible to change the velocity of which mario is propelled by it? Its default speed is too fast to be able to consistently jump when at max spring speed. The code itself is completely uncommented so I'm unsure what part is relating to mario's speed. Theres a few sections which may be of relevance labelled 'springy', 'bounce gravity' and 'bounce Y-speed'. I'm guessing its not the latter as its the X-speed I'm looking at changing.

As always any help would be huglely appriciated.

Thanks :)
Bottom Text
--------------------
Hi all,

I was wondering if there is a way to set the ice physics flag when in contact with a particular block? Dont know if this is possible or not, and conformation will stop me scouring the site for it.

Thanks :)

EDIT: found it. Should've been searching for slippery instead of ice.
Bottom Text
--------------------
Hi again all.

Like the title says, I was having some issues creating new slippery blocks with this patch. For the file in question (iceblock.asm), it contains the following code:

Code
;Icy melting block by Ersanio, example of slippery block by GreenHammerBro
;Behaves #$130

db $42
JMP Return : JMP slip : JMP Return : JMP SpriteV : JMP Return : JMP Return : JMP FIAR
JMP slip : JMP Return : JMP Return

incsrc "SlipDefines/SlipperyDefines.asm"


FIAR:		STZ $170B,x		;\ Erase fireball
		%create_smoke()		;/ Show smoke effect

		LDA #$02		;\
		STA $9C			; | Generate blank block
		JSL $00BEB0		;/

Return:		RTL

slip:
	LDA $72
	BNE done

	LDA #$01		;Note: you can copy this entire code and paste them
	STA !Freeram_MarioSlip	;in other blocks to make them slippery like Icy Melting Blocks
				;from Ersanio. (make sure that the top offset runs the code).
done:
	RTL

SpriteV:
	LDA $AA,x		;\If going upward, return
	BMI done		;/
	LDA #$01
	STA !Freeram_SpriteSlip,x
	RTL
print "A meltable slippery ice block"


I've managed to successfully implement the ice physics behaviour in other blocks which is great, however I want a copy of this block that is not 'meltable'. I know I need to remove the "FIAR" subroutine however when I remove this and the call to it in the offsets GPS throws an error saying:

An error has been detected:
blocks/ice_block_slippery_no_melt.asm:5: error: (E5117): Unknown command. [JMP Return :]

That means I need to remove the Return calls too but there wouldn't be much left without them. So my question is do I need to just remove the calls to Return or do I need to substitute something in its place?


Any help would be hugely appriciated.

Thanks :)
Bottom Text
--------------------
I honestly didn't expect them to also not be 'meltable' seeing as all of the other blocks are susceptible to fireballs. I'm not actively using those blocks and hadn't read through their corresponding asm. Having now had a look at it though, I see they will do the job perfectly without needing to edit anything.

Thanks MFG! Saved me a lot of pain there.
Bottom Text
--------------------
(restricted)