24 users online: AttentionDeficitDad, Bonobi, codfish1002, Darkanine,  Devazure, GrandMasterLynx, keaks, Knetog, lincolnic, Lyfah, Macrophaje, Mane Bros., MarsAmpere, NGB, Pink Gold Peach, RetroGamingSweden, Ringo, RPG Hacker, Samie Zuccati, ShUriK KiD, smwln,  Tahixham,  Thomas, underway - Guests: 107 - Bots: 172 Users: 55,665 (2,411 active)
Latest user: lincolnic
Not logged in.
Posts by MarioFanGamer
MarioFanGamer's Profile - Posts by MarioFanGamer
Pages: « 1 2283 284 285 286 287 288 289 »
You also have to check if the level is one of the levels with auto moving disabled. This can be changed under Overworld > Change No-Auto-Move Levels...
This mostly comes from the fact that you're using the goal music as local music which first needs to be uploaded to ARAM before it can be played. You can mitigate this by inserting the music as a global song, though not only is adding global songs more difficult, because you need to make some smaller tweaks to the ASM files, but also because these fill up ARAM permanently and handling global songs with custom sampled music also is more difficult than vanilla sampled ones.
Submit a VLDC level for real since VLDCX. I did try to make a level but because I couldn't think on how to continue it, I scrapped it and thus didn't end up entering VLDC13.
File Name: Bottom Status Bar v2.0
Submitted: by Ice Man
Obsoletes: Bottom Status Bar
Authors: Ice Man
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: Update v1.1:
Layer 3 images won't be affected anymore since the status bar will be on top, if there's a layer 3 image in the level. A small glitch with Magikoopa (CGADSUB settings) has been fixed as well.

Update v2.0:
Changed code from Xkas to Asar.
Hijacks optimized, no unnessecary double code.
Magikoopa properly fixed now.
SA-1 support, too!
Tags: lorom, sa1, status bar
Rejected on request.
Address Length Type Description Submitter
$02EC72 28 bytes Sprite tilemap related Sprite tilemap: Super koopa System
Update submitted.
The main purpose of it is to set the data bank or DBR to the current bank. The idea is that the SNES uses a 24-bit address bus but the data bank allows you to leave it out and only write out 16 of the 24 bits. Compare:
	; DBR = $90

	; Long addressing
	LDA $908420

	; Short addressing
	LDA $8420

Both codes are algorithmically equivalent but the latter is faster to access and take up less space, making it preferable when you need to access a lot of tables in ROM of a certain bank, particularly tables assigned in the same bank of the same code such as sprite code.

The problem is that jumping doesn't change the data bank and thus must be changed manually. A traditional method to set the DBR to the current bank is by pushing the program bank first (that's the PHK opcode) and then pulling the data bank (PLB), of course preserving the current DBR as well (PHB) which at the end gets restored before the return (PLB again). This happens extremely often in sprites where ROM tables have to access very often:
	JSR SprMainCode

Edit: Nevermind, I can't read.
As a tip for next time: The easiest solution is to put each tool in their own folders and use a script to call the tool. This not only reduces conflicts, since the tools are dependent on the version of Asar they're released (including Asar DLL), but because they all name their ASM folders asm and read from list.txt by default.
That one requires the use of patches or UberASM and can't be solved with blocks alone (that is, GPS blocks) since the actors of block interaction are the entities themselves and if they don't interact with blocks, there is no way they will interact with GPS blocks. That being said, for your example, this patch adds in custom block interaction for, though it also is independent of GPS's blocks.
I generally like to see secret exits. With more open ended levels, exploration can definitively be fun but beating a level under a certain condition is also a valid way of secret exits (especially in more restricting levels) even if it ends up being a case of "secret exit is put at the level end" but that one is more troublesome with explorations, not challenges.

That being said, a very easy pitfall with secret exits is to put them in long levels unless they're found at more or less the beginning of the level. One reason why secret exits near the goal in SMW aren't that troublesome is because most levels themselves can be beaten in two to three minutes in a regular playthrough (excluding deaths, of course) but many of us tend to build levels which take four minutes upwards and are harder.
I can do it.
Looks interesting, I'll put it on my backlog.
You're treating the extra bytes as a binary option i.e. on and off. No, these are whole bytes i.e. you can easily use AND #$03 of the first extra byte to determine the size. The other two bytes would be wasted space in that case.

The extra bit thing is correction, though.
Originally posted by Flamesofshadow
Originally posted by thomas
LDA !extra_byte_1,x	; you can use this built-in PIXI define instead of the address
	BEQ Small
	CMP #$01
	BEQ Medium
	CMP #$02
	BEQ Large
	; code if not 00/01/02




I've been trying out a few things the past few days when I'm actually able to focus, had partial but very glitchy success with one method but I don't like the results and it's unplayable with the glitchiness of the sprite.

Where is the best place to put that code? I'm trying it in different places and methods, but due to some of the routines being so long, the branches can't reach (mostly the routines for the large grrrol) and that's a hassle.

To be fair, it can be hard to see where exactly the problem is arising when we can't see the code nor how glitchy the sprite is.

On a side note: You can also use JSR (Label,x) which is extremely helpful when you have multiple states or get into the range issue like in your case:
	LDA !extra_byte_1,x
	AND #$03
	ASL		; I forgot this one pre-edit.
	JSR (CodePtrs,x)
	; Other stuff

dw Small
dw Medium
dw Large
; Note that a value of 3 will crash the game
; but that one is an invalid option anyway and
; can be specified in a readme if public.




This by the way is where the suggestion to use AND #$03 is coming from.

Keep in mind that you have to restore X to make the code work. I use TXY before the jump and then execute TYX within the subroutines, though when both registers are used, you can simply load from $15E9 instead.

Originally posted by Flamesofshadow
I've also been going over the tutorial to try to retain what information i know and figure out what i don't, section Part 4.2.5: Complicated graphics routine mentions some stuff that i want to clarify for myself.

1. it mentions using scratch RAM for drawing tiles in a loop, in the source code for that section https://media.smwcentral.net/MarioFanGamer/SpriteCreationTut/tut9.asm the scratch ram is $04 which i think is 7E0004 because 7E0000 is scratch ram? what are the value limits for scratch ram if it is 7E0000.

The reason why I chose $04 and not $00 for the tile index is because $00 is already used for the positon relative to the screen and doing so will overwrite it, something you want to avoid. Other then that, the limit of $00 is the same as for $04.
That one is really just setting the level mode to 0E, no need to use UberASM for that unless you have to (read: it's a vertical level or interacting layer 2 level).
org $008E8B
db $xx	; Timer

org $008F7D
db $xx	; Bonus Stars
If the graphics aren't shoring up in the Map16 editor, you have to create them yourself. Remember that blocks only handle interaction but not graphics.
Done. It should be noted that this primarily affects vanilla blocks while custom blocks are not affected and need some minor modifications to also allow for the Chasing Spiny.
A potentially easy fix would be to just place the first frame of the globe into the destination tile since I think the animation only runs when the one-shot animation is triggered but not before.
Pages: « 1 2283 284 285 286 287 288 289 »
MarioFanGamer's Profile - Posts by MarioFanGamer