Language…
6 users online: crm0622, Danik2343, Firstnamebutt, Mario's GameBase,  Segment1Zone2, tOaO - Guests: 144 - Bots: 342
Users: 64,795 (2,381 active)
Latest user: mathew

Ask anything about SMW Hacking - 2019 Edition

  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 288
  • 289
  • 290


Is there a way to change the graphic Lunar Magic displays for custom blocks? I'm working with a few custom blocks that are intended to be invisible to the player but need to be visible through Lunar Magic in order to keep track of their location. These blocks read and write information when the player walks through them so i'm not sure if they would still work if given a similar function to something like an invisible "?" or Note block.




I'M A CHUCKSTER
Originally posted by NoMoreStars
Is there a way to change the graphic Lunar Magic displays for custom blocks? I'm working with a few custom blocks that are intended to be invisible to the player but need to be visible through Lunar Magic in order to keep track of their location. These blocks read and write information when the player walks through them so i'm not sure if they would still work if given a similar function to something like an invisible "?" or Note block.


You could simply change the map16 to have a visual cue for those blocks and then revert them back to blank tiles when you are done.


There actually is a way, through writing some extra data directly to the .dsc file (which is the file GPS generates to display custom block info in LM).

To do so, in GPS's list.txt file, add an "@dsc" line to the bottom. Every line after that will be directly added to to the .dsc file (which means it MUST go after all your normal custom block definitions!). Each line is formatted as:
Code
Map16 tile number <TAB> special value <TAB> additional argument

Special values 2 or 4 will do what you want. With value 2, you can specify a second Map16 tile to use as a transparent placeholder for the tile (similar to what LM does with invisible coin blocks); value 4 is similar, but it also becomes non-translucent when the POW animation trigger is activated (like tile 29). With both, the additional argument is just the tile number you want to show instead.

So to make e.g. tile 200 look like a transparent ? block in LM, you could type:
Code
200	2	120



Also worth noting that you can similarly show a sprite to display as the block's contents (when that option in the "View" settings is turned on) with special value 10. In that case, the additional argument is the sprite Map16 tile to display (from Map16 pages 0x100+); e.g. displaying a mushroom for tile 200 would be:
Code
200	10	101


Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
After having the exact same issue in my KLDC level I actually made that a feature of GPS directly (I had it planned before then as well but that level made me actually implement it since I kinda needed it there).
click

There are a few display options you can put in a print after the description to change how it looks in Lunar Magic* (same things Thomas mentioned before just defined inside the block itself now)

@hidden=<map16>
hidden blocks

@pswitch=<map16>
hidden pow blocks

@sprite=<sprite map16>
sprite content

<map16> may be prepended with a + or a - to indicate that <map16> is relative to the block itself.

It's not an official release yet as there are still two things I want to take care of but maybe by putting it here I can motivate myself to finish it. I also said that a year ago and it took me until recently to actually work on it and make progress though so ¯\_(ツ)_/¯

*identifiers may change on final release so I'd recommend making defines for them if you use a lot of it
e.g.
Code
!DSC_HIDDEN = "@hidden"
print "!DSC_HIDDEN=50"

with the define being in defines.asm or something
What are the benefits/usage of expanding your SMW rom to 8GB? Why is the option there?
Well mainly for sa-1 since sa-1 can actually use 8mb other than that just for space if for some reason you are really running out. Even really large hacks I've never seen any that needed more then 4mb.

Btw it's not 8GB its 8MB
How do i add dynamic sprites in my hack?
They work the same as non-dynamic sprites except you patch Dynamic Sprites Patch or DynamicZ to your ROM unless it's on a SA-1 ROM in which case it's already installed.
I just downloaded the latest version of Pixi and am trying to put sprites into a ROM but whenever I try I get a ton of errors relating to the file sa1def.asm. I have tried several sprites, and made sure they are compatible with Pixi, and have tried an old version of Pixi but that always happens. Anyone know what the problem may be? I can send screenshots or something if needed.


It would certainly help a lot to send a screenshot of the actual errors you're receiving. Make sure you haven't deleted pixi's asm folder, either; that's where the sa1def.asm file is.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Alright, I got that issue sorted out, (was a problem with the ROM I was using) but now get the following error:

spr_temp.asm:7: error: (E5015): Failed to open file 'C:/Users/ethan/Documents/pixi_v1.2.14/sprites/MainCode:'. [incsrc "C:/Users/ethan/Documents/pixi_v1.2.14/sprites/MainCode:"]


As far as I can tell, the MainCode file doesn't exist. Maybe I'm overlooking something simple, but I'm really unsure. I didn't modify spr_temp.asm, and all I did with the sprites folder was put the sprite to be inserted into it.
Can I get a skull train to be a shorter length in only one level?


Originally posted by ethan
Alright, I got that issue sorted out, (was a problem with the ROM I was using) but now get the following error:

spr_temp.asm:7: error: (E5015): Failed to open file 'C:/Users/ethan/Documents/pixi_v1.2.14/sprites/MainCode:'. [incsrc "C:/Users/ethan/Documents/pixi_v1.2.14/sprites/MainCode:"]


As far as I can tell, the MainCode file doesn't exist. Maybe I'm overlooking something simple, but I'm really unsure. I didn't modify spr_temp.asm, and all I did with the sprites folder was put the sprite to be inserted into it.

That error seems to be resulting from a weird mishmash of a filename and a label within the actual code. My guess is that it's the result of an incomplete filepath in your list.txt file or in the sprite's CFG file, causing what should be two separate lines to be merged into one. Make sure your filepaths are correct; you may want to try redownloading the sprite you're inserting and/or PIXI, in case it's a result of messing with something you shouldn't have when you were debugging your previous issue.

Originally posted by Neeberz
Can I get a skull train to be a shorter length in only one level?

Sure, take the disassembly of the raft and change the number of skulls it creates there, then insert it as a custom sprite.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Thanks worked.

Now I'm having bsnes issues. I load it, and it does nothing even after I use LM's restore feature to revert the PIXI editing. The rom works with snes9x, though.
Is there an UberASM Tutorial out there on the level of MarioFanGamer's PIXI tutorial or Telinc1's GPS tutorial? I'm having trouble understanding how to use the tool. Specifically adding level exclusive codes.

Is it as simple as just dragging the asm file to the "level" folder and then writing it up in the list.txt? Because I tried that and it won't work.
Originally posted by BrownBuddy
Is it as simple as just dragging the asm file to the "level" folder and then writing it up in the list.txt? Because I tried that and it won't work.

Yes, if it is intended as level code. Some UberASM codes are meant to be used as gamemode code, but the procedure is the same (there's a gamemode folder as well as a spot in list.txt for game modes like there is for levels). So make sure to pay attention to that too.

Is it "not working ingame" not working or "not inserting" not working? Did you set the ROM name correctly in list.txt?
It's easily the best thing I've done
So why the empty numb?
Yeah. I was attempting to change a gamemode UberASM to a Level one but when I load up the level it essentially soft locks. Mario is invisible, I can't move, and the timer is at zero. Is there a header that should be before the code that is missing?

Is it possible/is it better to just to place that file in the gamemode folder and make it is own game mode?

I guess for reference I'm trying to use these blocks: https://www.smwcentral.net/?p=section&a=details&id=13508


The UberASM included with that block is kinda awkward, because it's written as a routine rather than a normal code file. To fix it, open the ASM file in a text editor and change the "RTS" line to "RTL", and change "WindStatus:" to "Main:"

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
It works now, thank you both.
Does ASM allow for us to make a sequence of events?

I.E: Can I write a block that makes a sound effect and then after say 2 in game seconds it makes another sound effect?

If so, could write a block that does different actions in order?
I.E: A block that plays SFX then does an action.
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 288
  • 289
  • 290