(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-18-24 07:19 PM
0 users currently in SMW Hacking.
Acmlm's Board - I3 Archive - SMW Hacking - ASM hacks / Custom Blocks / Custom Sprites Requests New poll | |
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21Add to favorites | Next newer thread | Next older thread
User Post
Alastor
Fearless Moderator Hero








Since: 11-17-05
From: An apartment by DigiPen, Redmond, Washington

Last post: 6298 days
Last view: 6298 days
Posted on 05-22-06 07:14 PM Link | Quote
Yeah... Yeah... This is going to be an odd request, I'm sure, but... I need a block that, when touched, causes Mario to act like it's a "no yoshi entrance" area, so that he walks forward, gets off yoshi, and continues on, and then teleports to whatever level the screen exit is set to.

Or a fix for Podoboos overwriting Yoshi's graphics. That would accomplish the same thing.


(edited by Alastor the Stylish on 05-22-06 06:17 PM)
Glyphodon



 





Since: 11-18-05

Last post: 6339 days
Last view: 6320 days
Posted on 05-23-06 02:17 AM Link | Quote
Easy stuff, Alastor. First you need a custom block that does something like...

A9 0A 85 71 60

A block like that might do exactly what you want. If not, you could try starting with that block and then putting a teleport block in Mario's way. If that still doesn't work, you could try putting in one of a couple of code strings to make the custom block disappear after it's been touched.

If that still doesn't work you could try Counter Break Y which I made to prevent all Yoshi crossover.
Deleted User
Banned


 





Since: 05-08-06

Last post: None
Last view: 6299 days
Posted on 05-23-06 02:03 PM Link | Quote
I need a block that is similar to jump blocks but one that dosent need an animation or one that moves when Mario jumps on it. I need one that propels Mario upward when he jumps on top of it, dosent bounce towards the bottom or in any other direction and must have no animation. Like the trampoline mushrooms from New Super Mario Bros.
Pac

Bandit
Free Ice Man!








Since: 11-18-05
From: Ireland

Rate me

Last post: 6299 days
Last view: 6298 days
Posted on 05-24-06 06:10 AM Link | Quote
Use the Jump Block from BlockTool. It doesn't use any animation, unless you were to set it up in Lunar Magic.
Deleted User
Banned


 





Since: 05-08-06

Last post: None
Last view: 6299 days
Posted on 05-24-06 01:36 PM Link | Quote
Does it bounce like the normal ones?
Pac

Bandit
Free Ice Man!








Since: 11-18-05
From: Ireland

Rate me

Last post: 6299 days
Last view: 6298 days
Posted on 05-24-06 02:39 PM Link | Quote
No. It can be seen in action in the opening demo of KT's SMW Returns.
JJokerDude

Kabu








Since: 11-21-05

Last post: 6514 days
Last view: 6514 days
Posted on 05-24-06 09:35 PM Link | Quote
Um... An object that spawns an infinite amount of green koopa shells?

I need the most annoying blue koopa ever.


(edited by JJokerDude on 05-24-06 08:37 PM)
C:/xkas bio.asm
Compiled ASM code








Since: 11-17-05

Last post: 6299 days
Last view: 6298 days
Posted on 05-24-06 09:38 PM Link | Quote
why not just make the bullet bill shooter generate shell?
JJokerDude

Kabu








Since: 11-21-05

Last post: 6514 days
Last view: 6514 days
Posted on 05-24-06 09:41 PM Link | Quote
Yeah... I suppose that'd work; but I'm gonna need bullet bill launchers later on too.
Cirvania

Cyball
I guess this is as close as Xkeeper will get to spell it right. :<


 





Since: 11-17-05
From: The Island of Puerto Rico.

Last post: 6301 days
Last view: 6299 days
Posted on 05-24-06 11:07 PM Link | Quote
I'm not very good at ASM, but i *think* I can help you with that one...

[A9 DA 8F B2 B4 82 60]


LDA $DA (DA is the sprite number of the green shell)
STA long $82:B4B2 (Writes DA to the SNES LoROM address of the bullet bill shooter)
RTS (Returns from subroutine)


However, I suspect you want to do this in only a few levels, so you might need to use LevelASM. In that case, you need to find the level entry in the LevelASM table and stick the code in there, replacing the 60 (RTS) with 6B (RTL)

I haven't tested it, so if this doesn't work, please contact me, and i'll try to figure out where I went wrong.

Hope this helps


Look at my other post.


(edited by Vexcartin on 05-25-06 08:14 PM)
C:/xkas bio.asm
Compiled ASM code








Since: 11-17-05

Last post: 6299 days
Last view: 6298 days
Posted on 05-24-06 11:51 PM Link | Quote
you can't write to ROM, guess why ROM mean 'read-only memory'


(edited by Bio on 05-24-06 10:51 PM)
Glyphodon



 





Since: 11-18-05

Last post: 6339 days
Last view: 6320 days
Posted on 05-25-06 05:04 AM Link | Quote
Somebody should really fix that. I've got some generator experience from when I made PalEnemy, and I'd love to put in a way to change the generator based on an extra value, but I simply can't think of a value.

For some reason, querying the Map16 low bytes doesn't seem to work for me. In addition, then part of the Map16 would have to be nonsense or whatever the code demands.

Pallette-based ASM isn't good because it requires annoying palette tinkering (and have to be the same for the whole level), and Custom blocks mean more map16 space taken up and something has to hit them before they work, limiting them a bit. LevelASM requires hex editing, and not once but for every level you want something to happen in. I'd like to think there's a better, LM-compatible way.

Also, I'd like to see a generator that generates a sprite and knows not to generate another one until it has been destroyed, knocked off screen, etc. Wouldn't that be wonderful for all kinds of things like P-Switches?

If anybody has any ideas or ever needs help with something like that, I'd love to hear about it.


(edited by Glyph Phoenix on 05-25-06 04:07 AM)
Cirvania

Cyball
I guess this is as close as Xkeeper will get to spell it right. :<


 





Since: 11-17-05
From: The Island of Puerto Rico.

Last post: 6301 days
Last view: 6299 days
Posted on 05-25-06 07:33 PM Link | Quote
WARNING WARNING MAJOR EDITNESS BELOW!

This is the correct way to edit what sprite the bullet bill shoots based on the level, called LevelGen:

Go to offset x13294 in the ROM. Replace this:

[A9 1C 95 9E]

with this:

[22 00 80 25], then place the following code at PC $128200 in the ROM using a hex editor.

[5A AC 0B 01 B9 00 81 95 9E 7A 6B]

Disassembly:

PHY // Push the Y register
LDY $010B // Load the current level number
LDA abs,y $8100 // Load $25:8100 +Y into accumulator
STA $9E //Store $9E into accumulator
PLY // Pull the Y register
RTL // Return from subroutine long


Apply levelnum.ips to your ROM to make the level number be stored in offset $010B, then go to the address 0x100 bytes AFTER the one you placed the above code in, and paste 1C 0x1FF times, so the sprite to shoot is set to the Bullet Bill in every level. To change what it shoots, simply find the corresponding level entry, like so:

Address of the code is PC $128200
Level entries begin at PC $128300
Level entry for Level 100= $128300 + $100= $128400

After you do this, edit that level in LM to add a bullet shooter, save it,and watch in amazement as it generates the sprite which you set it to! This code can be used to control what other sprites throw, like the Lakitu or Hammer Bro, hence the name LevelGen.

If there is a bug, please contact me to see if I can fix it.

Hope this is of some use to you Glyph.

Oh yeah, credit goes to Bio for helping me write this code.


(edited by Vexcartin on 05-25-06 06:34 PM)
(edited by Cirvante on 06-12-06 05:20 PM)
(edited by Cirvante on 06-16-06 08:21 PM)
(edited by Cirvante on 06-16-06 08:24 PM)
Glyphodon



 





Since: 11-18-05

Last post: 6339 days
Last view: 6320 days
Posted on 05-25-06 08:18 PM Link | Quote
I wrote something quite similar to that except I did it with palettes.

Mine required annoying value-palette manipulation, yours requires some hex space and some allocation-by-hand every time a change is required, and both can only change the generators to a single something during the level -- if you were to have a Lakitu and a Bullet Bill in the same level, they'd both either have to shoot bullet bills or spinies.

X and Y hacking won't work right since you'd have to do some unnatural generator positioning just to get the sprite you want. The Extra Info parameter in LM forces you to use Insert Manual instead of the regular insert and only goes from 0 to 3.

An additional sprite that set a value every frame that generators would use might work, but again we'd face the problem of having a lakitu float too close to a "Shoot bullet bills" sprite and then we'd again have a Bullet Bill throwing Lakitu.

I'm honestly quite stumped by all this.


(edited by Glyph Phoenix on 05-25-06 07:19 PM)
C:/xkas bio.asm
Compiled ASM code








Since: 11-17-05

Last post: 6299 days
Last view: 6298 days
Posted on 05-25-06 08:24 PM Link | Quote
Originally posted by Glyph Phoenix
both can only change the generators to a single something during the level -- if you were to have a Lakitu and a Bullet Bill in the same level, they'd both either have to shoot bullet bills or spinies.

not if you write another table just for the lakitu or whatever other stuff you want, and you could write to $10B to change the enemmy spawned during a level


(edited by Bio on 05-25-06 07:24 PM)
Cirvania

Cyball
I guess this is as close as Xkeeper will get to spell it right. :<


 





Since: 11-17-05
From: The Island of Puerto Rico.

Last post: 6301 days
Last view: 6299 days
Posted on 05-25-06 09:13 PM Link | Quote
Yes, like Bio said, writing another table does the trick. The only problem that arises from this method is that it eats ROM like nothing else, especially if you were to modify like 5 or 6 enemies at once. I suggest modifying only two enemies, three at the most.
Glyphodon



 





Since: 11-18-05

Last post: 6339 days
Last view: 6320 days
Posted on 05-27-06 08:48 AM Link | Quote
Needing 0x200some bytes in ROM for each generator sprite isn't terribly demanding thanks to LM's expansions. A lot of them would be empty zeroes, though.

(FFs would actually be rather nice as a "default to whatever you normally generate" command since I don't think it's a valid sprite number. After all, you might want to generate a green shell-less koopa sometime!)

I still think picking a table in a hex editor every time you needed to change a generator's behavior is kind of lame, though, and I don't like the idea of still not being able to change what a generator shoots mid-level.

Changing BMF's level number is an awful idea since it requires subverting BMF's code and just generally misinforming any other subroutines and sprites which read that value. In addition, if we had a decent way to write a special value to RAM during a level we wouldn't need a table in the first place!


(edited by Glyph Phoenix on 05-27-06 07:49 AM)
SnifflySquirrel

Shyguy








Since: 03-03-06
From: Vermont

Last post: 6399 days
Last view: 6299 days
Posted on 05-29-06 08:27 PM Link | Quote
This is a rather minor detail, but when you enter a level through a horizontal pipe, the game doesn't play the "enter/exit pipe" sound effect. Can anyone make a patch to fix that?
cory21391

Red Cheep-cheep








Since: 04-21-06
From: North Carolina

Last post: 6357 days
Last view: 6357 days
Posted on 06-01-06 09:36 AM Link | Quote
This may already be in blocktool or SMW central, but I haven't found it. I want a block that jumps back and forth following and trying to kill Mario (like in the SMB 3 desert levels.) Thanks!
Glyphodon



 





Since: 11-18-05

Last post: 6339 days
Last view: 6320 days
Posted on 06-03-06 10:32 PM Link | Quote
A moving block like that would be muchly impossible. Sprites can move around separately from the others; blocks can't. Changing the graphics of Thwimp is as close as you're going to get.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - SMW Hacking - ASM hacks / Custom Blocks / Custom Sprites Requests |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.016 seconds; used 444.70 kB (max 568.82 kB)