(shouting)

Sprite / Block request thread

it came, it went! all the old ASMT stuff is here
User avatar
flameofdoubt
Posts: 0
Joined: 14 years ago
Location: Britain

Re: Sprite / Block request thread

Post by flameofdoubt »

For a block: stick the asm file in the asm folder, run up blocktool, open up the database and click add. Put in the details and click OK. click "insert" from the toolbar and say what asm file you want to use, and what map16 tile you want it to go to. Click Save and you're done.
Pixie casts Dekunda. Insufficient MP!
crushawake
Posts: 1
Joined: 14 years ago

Re: Sprite / Block request thread

Post by crushawake »

For a sprite:

1: Download spritetool from SMWCentral.
2: Stick the .asm/.cfg in the "sprites" folder.
3: Edit "sprites.txt" to say the list of sprites you want to insert (so birdo.cfg, sprite1.cfg, etc etc) on the number you want to insert it on. Save.
4: Run spritetool, put in "sprites.txt" then "/pathtomyrom.smc".
5: Open Lunar Magic. Press the insert button on your keyboard. Put the sprite number in, and put 2 in the extra info.

For Blocks:

1: Download BlockToolSuperDeluxe from SMWCentral.
2: Open it up, and click "edit map16 data" in one of the bars at the top.
3: Press add, type in the name of your block, description of it, and the pathway to the .asm file.
4: Insert it.
5: :D
If you need a hand with Mario Romhacking in some way, feel free to PM me. I'll try and answer. <3
User avatar
yoshicookiezeus
Help! pawprint
Posts: 148
Joined: 14 years ago
Pronouns: he/him/his
Location: Sweden

Re: Sprite / Block request thread

Post by yoshicookiezeus »

If I remember correctly, the problem with disassembling the Lakitu is that the respawning routine is handled outside of the sprite itself, and will respawn a normal Lakitu instead of the edited one. I have the same problem with the Magikoopa disassembly I made earlier. If I can find a way to get around this (and I get the time), I'll give the disassembly a try.

Also: Yes, I used a hex edit to disable the x-flipping of the fire flower.
User avatar
Chibikko
Posts: 0
Joined: 14 years ago
Location: La Mulana

Re: Sprite / Block request thread

Post by Chibikko »

flameofdoubt wrote:I've inserted a coin block and got it all working wonderfully. However i have POW switches in my level. Is it possible to make a block or two blocks that mimic a coin and a used block, and alternate between which they are when a POW switch is pressed?
EDIT: Also..., is there any way of using... anything really, to stop the reserve powerup, or a moving powerup, from mirroring horizontally?
Could you explain the coin block thing a little more? Do you mean a block that starts as used when the switch is off and turns into a coin what the switch is on? That would be rather easy to do. If you want the power-ups to not mirror horizontally than flip it in YY-CHR. Anything else might take a patch, which could be level specific.
Personalness wrote:Stupid question: What do I do with an asm file to apply it to a rom?
Download xkas GUI (here) and SMW Free Space Logger (here). Drag the ROM over the free space logger to generate a txt file with free space addresses. Choose one with "0x8000" across from it (the most free space in one place without crossing banks, which is bad). Open the ASM patch and find the place where free space is. Change this value. Backup your ROM. Open xkas GUI and find the patch, followed by the ROM, and then press insert. Run the ROM and if it crashes or the graphics are messed up then use a different free space and try again (which is why you make backups before inserting). It is recommended that before applying a patch to an unmodified ROM that you first extract the GFX and ExGFX, and then insert the ExGFX and GFX (in that order). Then, modify a level and save it. This expands the ROM to 2mg which gives more free space and some patches rely on the fact that Lunar Magic has applied its patches and the ROM had been expanded.
tl;dr- Download xkas GUI and SMW free space logger, then use them. Readmes are there to help.
yoshicookiezeus wrote:I have the same problem with the Magikoopa disassembly I made earlier. If I can find a way to get around this (and I get the time), I'll give the disassembly a try.
If you want a way around this then you could make a patch that checks if the sprite is custom or not and then change the sprite that respawns accordingly. Here is something a good place from all.log to hijack/edit:

Code: Select all

OffScrEraseSprite:  B5 9E         LDA RAM_SpriteNum,X       ; \ If MagiKoopa... 
CODE_01AC82:        C9 1F         CMP.B #$1F                ;  | 
CODE_01AC84:        D0 08         BNE CODE_01AC8E           ;  | Sprite to respawn = MagiKoopa 
CODE_01AC86:        8D C1 18      STA.W RAM_SpriteToRespawn ;  | 
CODE_01AC89:        A9 FF         LDA.B #$FF                ;  | Set timer until respawn 
CODE_01AC8B:        8D C0 18      STA.W RAM_TimeTillRespawn ; / 
RAM $18C1 seems to contain the sprite that will respawn. The disassembly could make use of this.
I am a cat. You cannot prove otherwise.
User avatar
flameofdoubt
Posts: 0
Joined: 14 years ago
Location: Britain

Re: Sprite / Block request thread

Post by flameofdoubt »

What i would like is two custom sprites, a coin and a block. I'd like it so that if i press a POW switch, the custom coin turns into the custom block, and the custom block turns into the custom coin, then back again after the time limit.

To explain why:
I have a POW switch coin/block puzzle in my level, and custom coins so that i can change the graphics for the coin. However as they are custom this means that they don't turn into blocks when a p-switch is pressed, so i can't use them for the coins in the puzzle, but i want to. Plus, i then realized i would need blocks that turned into the custom coins, otherwise i'd still have original coin graphics popping up when you pressed the POW switch, but i only want there to be the custom ones.
Pixie casts Dekunda. Insufficient MP!
User avatar
Chibikko
Posts: 0
Joined: 14 years ago
Location: La Mulana

Re: Sprite / Block request thread

Post by Chibikko »

flameofdoubt wrote:What i would like is two custom sprites, a coin and a block. I'd like it so that if i press a POW switch, the custom coin turns into the custom block, and the custom block turns into the custom coin, then back again after the time limit.

To explain why:
I have a POW switch coin/block puzzle in my level, and custom coins so that i can change the graphics for the coin. However as they are custom this means that they don't turn into blocks when a p-switch is pressed, so i can't use them for the coins in the puzzle, but i want to. Plus, i then realized i would need blocks that turned into the custom coins, otherwise i'd still have original coin graphics popping up when you pressed the POW switch, but i only want there to be the custom ones.
Have exanimation override graphics of blocks acting like 132 and 2B. The first 8 frames are when the POW is off and the next 8 are when it is on. Make sure to set "not used" to "POW activated" in the exanimate editor and it should work fine. There is no need for custom sprites. I think I could make sprites if you really wanted since people have make a coin sprite that acts just like the coin block. Alternately, the Mario ExGFX Patch (here) allows the animated frames to be changed on a per level basis. Changing the graphics there would also work and it would not need to use two map16 slots.
I am a cat. You cannot prove otherwise.
User avatar
flameofdoubt
Posts: 0
Joined: 14 years ago
Location: Britain

Re: Sprite / Block request thread

Post by flameofdoubt »

I've opted for the first method, and it's gone swimmingly apart from one thing. In Lunar Magic the animation looks fine, but when i load it up in an emulator it flashes between the exanimated graphics and the original coin graphics. I must have made some kind of newbie mistake, surely?
Pixie casts Dekunda. Insufficient MP!
User avatar
Chibikko
Posts: 0
Joined: 14 years ago
Location: La Mulana

Re: Sprite / Block request thread

Post by Chibikko »

flameofdoubt wrote:I've opted for the first method, and it's gone swimmingly apart from one thing. In Lunar Magic the animation looks fine, but when i load it up in an emulator it flashes between the exanimated graphics and the original coin graphics. I must have made some kind of newbie mistake, surely?
That sounds odd. Just to make sure of something: your exanimation is overriding the bush or something useless, right? If you try to put it over the coin then I could see that happening since the game's original animation is overriding that tile as well.
Image
I am a cat. You cannot prove otherwise.
User avatar
flameofdoubt
Posts: 0
Joined: 14 years ago
Location: Britain

Re: Sprite / Block request thread

Post by flameofdoubt »

Aha, that was it. It works just great now, thank you for all your help!
Pixie casts Dekunda. Insufficient MP!
Kil
Posts: 13
Joined: 14 years ago

Re: Sprite / Block request thread

Post by Kil »

yoshicookiezeus wrote:If I remember correctly, the problem with disassembling the Lakitu is that the respawning routine is handled outside of the sprite itself, and will respawn a normal Lakitu instead of the edited one. I have the same problem with the Magikoopa disassembly I made earlier. If I can find a way to get around this (and I get the time), I'll give the disassembly a try.

Also: Yes, I used a hex edit to disable the x-flipping of the fire flower.
So it's difficult to make a custom magikoopa? That sort of ruins my idea for an ASMT2 level...
DON'T PM me. Ask your question in the help thread so everyone can be answered.
DaxterSpeed
Posts: 0
Joined: 14 years ago

Re: Sprite / Block request thread

Post by DaxterSpeed »

Kil wrote:
yoshicookiezeus wrote:If I remember correctly, the problem with disassembling the Lakitu is that the respawning routine is handled outside of the sprite itself, and will respawn a normal Lakitu instead of the edited one. I have the same problem with the Magikoopa disassembly I made earlier. If I can find a way to get around this (and I get the time), I'll give the disassembly a try.

Also: Yes, I used a hex edit to disable the x-flipping of the fire flower.
So it's difficult to make a custom magikoopa? That sort of ruins my idea for an ASMT2 level...
"You" don't really need to make a custom MagiKoopa, "you" could edit the original one...
Norpser
Posts: 0
Joined: 14 years ago

Re: Sprite / Block request thread

Post by Norpser »

It sure has been a while since someone posted in this thread but here goes!

Im looking to have my background scroll fast at one part in my level just like this: http://www.youtube.com/watch?v=iyNxBcTo4bQ (around the 3:03 mark)

I know there is a sprite for that one, however in my level im going from left to right. I plan on having the autoscroll in there as well. I know there is a hex code out there(somewhere) but I honestly suck with ASM. If someone could find it for me/explain how to do it, or even possibly put it into a sprite form(generator) that would be awesome.

Oh and I know there already is a thing to do this (sprite f4), but I dont want to have to step on sprite C1 to do it
WHOA MAN! This is a signature.
DaxterSpeed
Posts: 0
Joined: 14 years ago

Re: Sprite / Block request thread

Post by DaxterSpeed »

Norpser wrote:Im looking to have my background scroll fast at one part in my level just like this: http://www.youtube.com/watch?v=iyNxBcTo4bQ (around the 3:03 mark)

I know there is a sprite for that one, however in my level im going from left to right. I plan on having the autoscroll in there as well. I know there is a hex code out there(somewhere) but I honestly suck with ASM. If someone could find it for me/explain how to do it, or even possibly put it into a sprite form(generator) that would be awesome.

Oh and I know there already is a thing to do this (sprite f4), but I dont want to have to step on sprite C1 to do it
You can simply use CTRL + F to find what you need to change in SMWC's ROM map...

Tutorial:

You need Translhextion (http://www.smwcentral.net/download.php?id=36&type=tools) and your ROM.
-Open up your ROM in Translhextion.
-Press CTRL + G.
-Search for 'x2C9BC' (without quotes).
-'Change to A9 08 EA and the background will start scrolling fast with generator F4 without having to touch platform C1' (Copied from SMWC's ROM map)
-Save.
-Test.
-Done.

[EDIT] *facepalm* I was in the right thread. But I was thinking like I was in another forum (romhack shack).

Read the post below instead. (The tutorial remains though.)
Last edited by DaxterSpeed 14 years ago, edited 1 time in total.
User avatar
Chibikko
Posts: 0
Joined: 14 years ago
Location: La Mulana

Re: Sprite / Block request thread

Post by Chibikko »

Norpser wrote:Im looking to have my background scroll fast at one part in my level just like this: http://www.youtube.com/watch?v=iyNxBcTo4bQ (around the 3:03 mark)

I know there is a sprite for that one, however in my level im going from left to right. I plan on having the autoscroll in there as well. I know there is a hex code out there(somewhere) but I honestly suck with ASM. If someone could find it for me/explain how to do it, or even possibly put it into a sprite form(generator) that would be awesome.

Oh and I know there already is a thing to do this (sprite f4), but I dont want to have to step on sprite C1 to do it
Edit: I was ninja'd.
The hex edit $05C7BC [A9 08 EA] would need to be agreed upon by everyone else just in case someone doesn't want it (I don't know why, but still). I could make a patch for your level only, but there is no need if the hex edit is used.
I am a cat. You cannot prove otherwise.
Norpser
Posts: 0
Joined: 14 years ago

Re: Sprite / Block request thread

Post by Norpser »

Chibikko wrote: I could make a patch for your level only, but there is no need if the hex edit is used.

im going to say this is probably a lot easier to do then to ask around and make sure no one elses level has this in it. So if you could make a patch that would be greatly appreciated.

Just remember the background and the foreground itself will be scrolling at the same time (aka an autoscrolling level with a background that scrolls too)
WHOA MAN! This is a signature.
User avatar
Chibikko
Posts: 0
Joined: 14 years ago
Location: La Mulana

Re: Sprite / Block request thread

Post by Chibikko »

Norpser wrote:
Chibikko wrote: I could make a patch for your level only, but there is no need if the hex edit is used.

im going to say this is probably a lot easier to do then to ask around and make sure no one elses level has this in it. So if you could make a patch that would be greatly appreciated.

Just remember the background and the foreground itself will be scrolling at the same time (aka an autoscrolling level with a background that scrolls too)
Alright then, here it is. Make sure to set the level and free space. Level ASM must be patched for this to work. The only problem is that if the hex edit is done after the patch is applied then the game will crash.
Attachments
Fast_BG_Scroll.zip
(414 Bytes) Downloaded 122 times
I am a cat. You cannot prove otherwise.
Norpser
Posts: 0
Joined: 14 years ago

Re: Sprite / Block request thread

Post by Norpser »

Chibikko wrote:
Norpser wrote:
Chibikko wrote: I could make a patch for your level only, but there is no need if the hex edit is used.

im going to say this is probably a lot easier to do then to ask around and make sure no one elses level has this in it. So if you could make a patch that would be greatly appreciated.

Just remember the background and the foreground itself will be scrolling at the same time (aka an autoscrolling level with a background that scrolls too)
Alright then, here it is. Make sure to set the level and free space. Level ASM must be patched for this to work. The only problem is that if the hex edit is done after the patch is applied then the game will crash.
ok So I feel as though I am doing something wrong. I set the level in the ASM as well as the free space, and applied the patch with success. But when I try to insert it, I find nothing has changed. So this is what im guessing happened

A) I didnt insert it correctly
B) I didnt click the right generator to be inserted
C) I didnt communicate properly what I was looking for (and just to be clear its like this http://www.youtube.com/watch?v=iyNxBcTo4bQ [at the 3:03 mark] minus the changing direction of scroll, and instead of going left its to the right)
D) I messed up in changing the level or free space in the asm file.
WHOA MAN! This is a signature.
User avatar
Chdata
Posts: 11
Joined: 14 years ago
Location: Computer Chair

Re: Sprite / Block request thread

Post by Chdata »

How about a block that acts like water (tile 2) to sprites, and tile 25 to mario? I have another gimmick idea for that.
Image
Trouble with a capital COW.

<math>\tan{A}\sin{N}</math>
User avatar
Chibikko
Posts: 0
Joined: 14 years ago
Location: La Mulana

Re: Sprite / Block request thread

Post by Chibikko »

Norpser wrote:ok So I feel as though I am doing something wrong. I set the level in the ASM as well as the free space, and applied the patch with success. But when I try to insert it, I find nothing has changed. So this is what im guessing happened.
If I had to guess, it was none of your guesses. Level ASM must be applied for that patch to work. That is a separate patch found here. Only level.ASM needs to be patched: the other files need to be in the same folder. Level ASM stores the current level number in a free RAM address. I use that free RAM address and it is not set to anything meaningful unless level ASM is patched. In other words, nothing will happen.
chdata wrote:How about a block that acts like water (tile 2) to sprites, and tile 25 to mario? I have another gimmick idea for that.
Here you go. Act like tile 25, or whatever else you want for when the player hits it.
Attachments
Sprite_Water_Request.zip
(259 Bytes) Downloaded 118 times
I am a cat. You cannot prove otherwise.
User avatar
Chdata
Posts: 11
Joined: 14 years ago
Location: Computer Chair

Re: Sprite / Block request thread

Post by Chdata »

Thanks! It works perfectly.

edit: And now I just remembered the other ones I had in mind to fix up my other sublevels.

A block that is exactly the same as a turn block except when hit from below it doesn't bump upwards, start spinning, then stop. Instead it just acts like tile 130. That way I can have spin jump breakable blocks that don't turn into turn blocks when hit from below.

A POW block that also shakes the screen and does that pow hit sound, but does not play pow music.

A coin that when collected also does the same thing as a star, and a coin that is sort of like a star 2 block, it'll refresh your star power only if you already have star power. Other wise it only gives you a coin and not both a coin and the star power. (Will act like a coin in the map16 thing)

A combination of the .bin block on smwc that is a slope that forces you to slide when touched, and the .bin blocks included in the old blocktool that move mario at a medium speed to the right (---->) except in customizeable asm format. (Incase I need to change the speed.)
Also a .asm version of the blocktool block shown above.
[Info about the blocktool block stated above.
MOVE1.bin
A block that will move the player right by 1 pixel for every frame.
Movement Block Right Medium]
I was going to try and do this myself but both those blocks happen to be .bin which I don't know how to edit. (In the custom block way)

Last, a block that acts like 25 to mario but acts like 130 to enemies, and vice versa. I've heard of some kind of
sprite block" But I can't seem to find it.
Image
Trouble with a capital COW.

<math>\tan{A}\sin{N}</math>
Norpser
Posts: 0
Joined: 14 years ago

Re: Sprite / Block request thread

Post by Norpser »

Thanks man! works great. Now this is going to sound silly as a ask for yet another patch -_-. But can you make one that allows both the bg scrolling (like the patch you just made) and level autoscrolling go at the same time? or can it only be one.
WHOA MAN! This is a signature.
User avatar
Chibikko
Posts: 0
Joined: 14 years ago
Location: La Mulana

Re: Sprite / Block request thread

Post by Chibikko »

Norpser wrote:Thanks man! works great. Now this is going to sound silly as a ask for yet another patch -_-. But can you make one that allows both the bg scrolling (like the patch you just made) and level autoscrolling go at the same time? or can it only be one.
I didn't think you needed a patch for that: just set the autoscrolling and BG scrolling as you would normally.
chdata wrote:Thanks! It works perfectly.
edit: And now I just remembered the other ones I had in mind to fix up my other sublevels.
A block that is exactly the same as a turn block except when hit from below it doesn't bump upwards, start spinning, then stop. Instead it just acts like tile 130. That way I can have spin jump breakable blocks that don't turn into turn blocks when hit from below.
A POW block that also shakes the screen and does that pow hit sound, but does not play pow music.
A coin that when collected also does the same thing as a star, and a coin that is sort of like a star 2 block, it'll refresh your star power only if you already have star power. Other wise it only gives you a coin and not both a coin and the star power. (Will act like a coin in the map16 thing)
A combination of the .bin block on smwc that is a slope that forces you to slide when touched, and the .bin blocks included in the old blocktool that move mario at a medium speed to the right (---->) except in customizeable asm format. (Incase I need to change the speed.)
Also a .asm version of the blocktool block shown above.
[Info about the blocktool block stated above.
MOVE1.bin
A block that will move the player right by 1 pixel for every frame.
Movement Block Right Medium]
I was going to try and do this myself but both those blocks happen to be .bin which I don't know how to edit. (In the custom block way)
Last, a block that acts like 25 to mario but acts like 130 to enemies, and vice versa. I've heard of some kind of sprite block" But I can't seem to find it.
Here they all are. If you want to know how to convert BIN to ASM, then just ask.
Attachments
Block_Requests.zip
(1.91 KiB) Downloaded 122 times
I am a cat. You cannot prove otherwise.
Norpser
Posts: 0
Joined: 14 years ago

Re: Sprite / Block request thread

Post by Norpser »

Chibikko wrote:
Norpser wrote:Thanks man! works great. Now this is going to sound silly as a ask for yet another patch -_-. But can you make one that allows both the bg scrolling (like the patch you just made) and level autoscrolling go at the same time? or can it only be one.
I didn't think you needed a patch for that: just set the autoscrolling and BG scrolling as you would normally.

I tried this and it always seems choose one or the other. It never seems to want work with both.
WHOA MAN! This is a signature.
User avatar
Chibikko
Posts: 0
Joined: 14 years ago
Location: La Mulana

Re: Sprite / Block request thread

Post by Chibikko »

Norpser wrote:I tried this and it always seems choose one or the other. It never seems to want work with both.
You seem to be right about that and I think I know why. I recommend this generator for your BG scrolling.
I am a cat. You cannot prove otherwise.
User avatar
Chdata
Posts: 11
Joined: 14 years ago
Location: Computer Chair

Re: Sprite / Block request thread

Post by Chdata »

I've already tried asking SMWC and they say you have to open it up in a hex editor and find the values and stuff. Xcept I'd probably screw it up alot. One person said there was some sort of thing that can dissassemble it or something to a .ASM but I couldn't find whatever he was talking about.

Anyways thanks!
Image
Trouble with a capital COW.

<math>\tan{A}\sin{N}</math>
Locked