Language…
17 users online: AGRMaster,  AmperSam, CourtlyHades296,  DeppySlide, DimeR,  icrawfish, mdavigp1992, mizounimax, Quaza, RXDARK, Rykon-V73, sholmes,  sincx, Snowfool948, solgaleo35, wir4lor, yoshi3706 - Guests: 72 - Bots: 245
Users: 66,272 (2,231 active)
Latest user: JestaJoke

Posts by crocodileman94

crocodileman94's Profile → Posts

It turned out to be the sprite memory setting. I tested a lower limit to see if it happened more frequently, which it did, and then chose the suggested 00, at which point it has yet to happen again after 20+ tries.

Thanks for the help, and I'll make sure to keep the other suggestions in mind for the future.
Probably JUMP, though I'm also quite nostalgic towards Brutal Mario and VIP 4.
I'm working on transferring the gfx of the Custom Bro sprite(s) from SP3 to SP4, and so far I've had an easy time tranferring the in-game graphics, since that code in the .asm file looks like this:

Code
db $CB,$DA,$C8,$AF



The icon used in Lunar magic is messed up though, which is only natural, since those use the code in the .json file. That code, however, look like this:

Code
"Map16": "SwlbCUwJXAlGCVYJRwlXCUoJGQgZCBkIfwkZCBkIGQhFUVVRRFFUUQ=="


which I have no clue how to read, and I haven't managed to find any tutorials explaining how to either.
Thx. I've since managed to translate the text to binary. Is this the binary code that YXPPCCCT is referring to, or is it something else?
I'm gonna recommend bandicoot's hacks and the VIP hacks

The VIP hacks could very well belong to the "repeatedly ran into" hacks though, and even if they aren't, the ones hosted here are in Japanese.
English fan translations, along with part 5 and 6 of the series, are very easy to find elsewhere though.

edit: I'll also add the Super Pika Land duology, if you want something unconventional.
Sad that there's no VLDC but glad that there's an OLDC.
As long as they're followed up by a checkpoint or finish line, I'm ok with them.
I love the creativity found in collab hacks. Especially the VIP series.
This thread gives helpful advice on what to keep in mind when designing a level.

A personal advice is to put as much effort into the overworld as you do with the levels. A well-designed overworld does wonders to the immersion.
The asm file in the level folder looks like this:

Code
init:

     JSL NoEnemyTeleport
     JSL TeleportToLevel
     RTL


main:
   
     JSL NoEnemyTeleport
     JSL TeleportToLevel
     RTL


Both corresponding asm files are located in the library folder, but when trying to insert them into the ROM, I'm told this:

NoEnemyTeleport.asm.22: error: (E5060) Label 'TeleportToLevel' wasn't found
[JSL TeleportToLevel]


Why can't UberASM find TeleportToLevel? The capitalization of letters in the file names match those in the JSL, so it can't be because of that.
Originally posted by Burning Loaf
The reason that error shows up is because UberASM Tool library files can not scan for contents of other library files (yeah it's shitty i know), what's happening is that NoEnemyTeleport.asm is trying to call a routine from TeleportToLevel.asm, but they're both in the library folder.
In order for this to work, you have to use NoEnemyTeleport.asm in the level folder and TeleportToLevel.asm in the library folder as intended

Now i don't know what you're exactly trying to do here, i assume it's that you want multiple codes running in the same level


When you say "level folder", do you mean the folder where all of the LevelX files are located? I tried doing that now, as well as copy-pasting the code you provided, but now it says that it can't find label NoEnemyTeleport.

And what I'm trying to do is having Mario teleport to another room after he defeats a boss, and since the two asm files NoEnemyTeleport and TeleportToLevel where both included in the zip file, I'm assuming that both of these codes need to run in the same level for it to work.
Originally posted by Burning Loaf
They're not. You just need to place NoEnemyTeleport in the level folder and TeleportToLevel in the library folder and it will work as it should.


But when I do that, it tells me that it can't find Label 'NoEnemyTeleport'

For clarity, here's the

Here's the

Here's the

And here's


Could it be Trinkets that's causing this?
It works now. Thank you so much! Up until now, I've only seen such code in the library files, with the level files only requiring the load, init, and main commandos.
Since you've already mentioned the obvious one (Return to Dinosaur Land) I'm gonna suggest the hacks made by Gamma V.
(restricted)
As a start, here's the code I'm using:

Code
!more = 0   ;set to 1 if you want this effect on more than 22 levels
            ;setting this means the patch requires freespace

if read1($00FFD5) == $23
	sa1rom
	!Base2 = $6000
else
	lorom
	!Base2 = $0000
endif

if !more == 0
   org $048D74	; list of levels that should not play music after being beaten (8-bit)
else
   freedata
   LevelTable:
endif

;table which contains the levels that should disable music according to $13BF format.
db $39,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF

if !more == 0
   warnpc $048D8A
   ;If assembling fails with a "warnpc", it means the table above has too many values.
   ;You can't use this on more than 22 levels. Set !more = 1
endif

org $048DDF
Hijack:
SEP #$10             ; level number check, adapted from code beginning at $048DF0
LDX $0DD6+!Base2	   ;
LDA $1F17+!Base2,x   ;
LSR #4               ;
STA $00              ;
LDA $1F19+!Base2,x   ;
LSR #4               ;
STA $02              ;
TXA                  ;
LSR #2               ;
TAX                  ;
JSR $9885            ;
REP #$10             ;
LDX $04              ;
LDA $7ED000,x        ;
AND.w #$00FF         ;
TAX                  ;
SEP #$20             ;
LDA $1EA2+!Base2,x   ;
SEP #$10             ;
BMI .PlayMusic       ; play music if the level has already been beaten
LDY #$15             ;
LDA $13BF+!Base2     ;
.Loop                ;

if !more == 0
   CMP $8D74,y       ; if the level number is one of the ones that should disable music...
else
   CMP LevelTable,y
endif

BEQ .NoMusic         ;
DEY                  ;
BPL .Loop            ;
.PlayMusic           ;
LDX $0DB3            ;
LDA $1F11+!Base2,x   ;
TAX                  ;
LDA $8D8A,x	         ; music list
STA $1DFB+!Base2     ;
.NoMusic             ;
PLB                  ;
RTL                  ;

; $048E2E		;


I'm trying to temporary disable the overworld music when I finish stage 115 and as I've understood it, stage 115 equals 39 in the $13BF format, which is why there's a $39 amongst the many $FF.

When inserting this code with Asar however, not only is the music not temporarily disabled, whenever I finish a stage, it plays the theme of the main overworld during the one second it takes for the map to fade in before it switches to the correct theme.

What am I doing wrong? The patch says that it's sa-1 compatible, so that can't be the problem.
(restricted)
Have you used "Destroy Level Tile Settings" to connect the fortress' destruction to the event that triggers when you finish the level?