Language…
4 users online:  BeeKaay, E623, Guido_Keller, krizeth - Guests: 241 - Bots: 346
Users: 64,795 (2,377 active)
Latest user: mathew

Official Hex/ASM/Etc. Help Thread

  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 418
  • 419
  • 420
I have a question about this block, particularly about the switch_act.asm one.

The define !act is usable for any of the original map16 blocks or I am missunderstanding something? For instance, if I put !act = $0006, it will act as intended; a vine only when the switch set is pressed? If so, you can basically made everything switch-based?
Layout made by MaxodeX
2021 TRENO vibe check thread


Yes, that is how it works.
One acts-like setting is pulled from the value you put in LM, while the other is the one set in the block's ASM.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Hi!

I'm testing stuff with Zuma's Frog and I'd like the extended sprite to not have a random palette when spawning.
Basically, right now, it can spawn with either palette A, B, C or D and it alternates.
To avoid conflicts with throw blocks, I'd like to make it only one palette possible.
But I can't really find anything related to palette in both sprite ASM and extended ASM (meaning it's not explicit enough that I can find it).
If I could choose which palette it uses, it would be cool too.

THanks!

Direct link to sprite ASM
Direct link to extended sprite ASM
Super Mario Pants World
Luigi's Lost Levels
New Super Mario Pants World
Luigi's Lost Levels 2 - Back With A Revenge
Luigi's Lost Levels 3 - Electrik Boogaloo
VLDC12 - 72HoKaizo#1


Found it for you. Apparently, there's a define called !NextBallColor, which actually points to a RAM that control every balls' palette from this sprite. Thing is, you'd need to edit all references to this define and then make it a constant in order to get the balls to use a single palette.





Dream team (feed them, please):






for an easy workaround find this line (this will change the normal balls too, not just the extended)
Code
BallsArray: db $04,$06,$08,$0A

and put everything the same number like this
Code
BallsArray: db $04,$04,$04,$04


00 = mario palette
02 = grey
04 = yellow
06 = blue
08 = red
0A = green
0C = palette E
0E = palette F

i havent tested, but i think that should work
Originally posted by NaroGugul
for an easy workaround find this line (this will change the normal balls too, not just the extended)
Code
BallsArray: db $04,$06,$08,$0A

and put everything the same number like this
Code
BallsArray: db $04,$04,$04,$04


00 = mario palette
02 = grey
04 = yellow
06 = blue
08 = red
0A = green
0C = palette E
0E = palette F

i havent tested, but i think that should work

Thanks, it works fine!
Super Mario Pants World
Luigi's Lost Levels
New Super Mario Pants World
Luigi's Lost Levels 2 - Back With A Revenge
Luigi's Lost Levels 3 - Electrik Boogaloo
VLDC12 - 72HoKaizo#1
In the Princess Peach is rescued sprite, is it even possible to isolate step 5, which is the text "peach is rescued"?
I don't think it is, but I'm looking for a way to get it in a level.
Super Mario Pants World
Luigi's Lost Levels
New Super Mario Pants World
Luigi's Lost Levels 2 - Back With A Revenge
Luigi's Lost Levels 3 - Electrik Boogaloo
VLDC12 - 72HoKaizo#1
i have no idea if this would work.. but try putting this in the init:
find line 84
Code
print "INIT ",pc
RTL


and put this:
Code
print "INIT ",pc
LDA #$05 : STA $C2,x
RTL


The idea of NaroGugul's code is that Peach's rescue sprite uses $C2 as a state pointer. So, since you're loading #$05 to $C2 in the init routine, the sprite actually starts running by the referred state.





Dream team (feed them, please):






Originally posted by NaroGugul
i have no idea if this would work.. but try putting this in the init:
find line 84
Code
print "INIT ",pc
RTL


and put this:
Code
print "INIT ",pc
LDA #$05 : STA $C2,x
RTL

It seems to work although I get a few weird stuff:
- around the end of my text, Mario's graphics disappear.
- after the text is done, I have a green dot that spawns way up on the screen (above "TIME")
- after the green dot (and a couple of seconds more), I get a "M" that spawns near the lives counter ("M" also is the first letter of my text, don't know if that linked)



I tried deleting steps 6 and 7, it doesn't fix the issues (but doesn't glitch the level or the sprite, which is good). I thought the spot could be because of the fireworks step.
The most concerning though is Mario's graphics. I thought it might be sprite overload (I use the no more sprite tile limit patch) but not sure at all
Super Mario Pants World
Luigi's Lost Levels
New Super Mario Pants World
Luigi's Lost Levels 2 - Back With A Revenge
Luigi's Lost Levels 3 - Electrik Boogaloo
VLDC12 - 72HoKaizo#1
I've been wondering if it's possible to make sprites go behind layer 2. I know they can go behind layer 1, like the piranha plants, but layer 2?
I searched the ram map and through some custom sprites but i couldn't find any information to that.

To make it more complicated, i only want some specific sprites to go behind L2, so HDMA is not the answear to my question.
In most levels, BG2 is on the subscreen, while sprites are on the main screen. This means it's normally impossible to make a sprite go behind BG2. You're interested in $7E0D9D and $7E0D9E, which are set by the level mode (inside the "Change Properties in Header" dialog in Lunar Magic; the value of $7E0D9D is "TM & TMW", while $7E0D9E is "TS & TSW"). You're looking for a level mode which places BG2 on the main screen, which would give it standard priority rules with sprites. Alternatively, you could set $212C/$212E and $212D/$212F (see their description in regs.txt) during level init.

After you've got BG2 on the main screen, search for "mode 1" in regs.txt (you're interested in the third match) to see which priority you'd need to set your sprite tiles to.
Hi

I'm trying to insert this Layer 3 (first time messing with layer 3 stuff) and I'm not quite sure how to insert the UberASM part.

Here's what is said in the single ASM file:

"This section is to be used in the INIT code of levelASM"
"This section is to be used in the MAIN code of levelASM"

But where exactly? I tried putting is in other/global_code.asm but it didn't work and it doesn't make sense anyway.
Super Mario Pants World
Luigi's Lost Levels
New Super Mario Pants World
Luigi's Lost Levels 2 - Back With A Revenge
Luigi's Lost Levels 3 - Electrik Boogaloo
VLDC12 - 72HoKaizo#1
This doesn't seem to be made for uberasmtool.

Change
Code
.InitCode:

to
Code
init:

then do the same for main and change all RTS to RTL then try inserting that as level asm.
Originally posted by TheBiob
This doesn't seem to be made for uberasmtool.

Change
Code
.InitCode:

to
Code
init:

then do the same for main and change all RTS to RTL then try inserting that as level asm.

It works, thanks!
Weird because it wasspecified in the level "For use with UBERASM"
Super Mario Pants World
Luigi's Lost Levels
New Super Mario Pants World
Luigi's Lost Levels 2 - Back With A Revenge
Luigi's Lost Levels 3 - Electrik Boogaloo
VLDC12 - 72HoKaizo#1
Originally posted by Romano338
It works, thanks!
Weird because it wasspecified in the level "For use with UBERASM"


That most likely refers to the patch version of uberasm where the insert process is completely different to the tool version.
I'm currently trying to hijack the overworld animation table so I can add more animations to the ow sprite.
Unfortunally I'm kind of stuck since the code I wrote just destroys the player overworld animation entirely on an otherwise clean rom (glitchy gfx, strange palettes etc.).
It shouldn't do anything in it's current form though.

This is the code right now.

Does anybody notice a mistake I made or am I looking in the wrong place?

I know that the code can be optimised further (for example using the original table unless a custom pose is wanted) but that's stuff I'll do after it works #tb{''}
My Youtube channel

Currently working on:
Project C

Finished project:
I'm making carryable sprite and it's supposed to bounce off walls like any other carryable sprite, like so:



But instead, my sprite continues "hugging" wall, like so:



What's wrong? Here's carryable state code.
And here's entire sprite if needed.

Notes: It's GIEPY sprite and I set status override to "Override All" in cfg settings.

E: Forgot to include libraries.


I'm making time add block but when I touch it on 90 sec, timer overflows like *A*. How Can I prevent overflow in timer?
Originally posted by sinseiga
I'm making time add block but when I touch it on 90 sec, timer overflows like *A*. How Can I prevent overflow in timer?

I would like to see your code before saying anything.

Also, maybe you can take a look at the Timer Coins I made for the C3 which function similarly in order to adapt them (caution, the code is really unoptimized and messy, which is why I decided to not release them in the blocks section).
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 418
  • 419
  • 420