Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Super Mario World hacking: |
Acmlm's Board - I2 Archive - Super Mario World hacking - Multiple sprite/ASM questions | | | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 95/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
Hey! I was working on my hack, but I have run into a problem. I have several ASM-related questions that I need answered: 1. How do you create sprites from another one? 2. how do you moniter to see if a sprite is present? 3. how do you delete/kill sprites? 4. how do you change Layer one and layer 2 objects? 5. 6. what are the entry/exit requirements for sprites? (A/X/Y preservations, sizes) 7. How are sprites used in a level? (Subroutines, macros, etc...) 8. 9. Are there any unused variables in SMW I can use for myself? I need about 4-5. Those are my first set of questions, so If anyone can help me with it I would greatly appreciate it! (edited by Darkflight on 03-04-05 11:21 AM) |
|||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3552/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
1: What exactly do you mean 'from another one'? 2: Present on the screen? Just loop through the sprite tables and look for it. 3: Set their entry in the table to nothing. 4: Map16 data is at $7EC800 (low byte) and $7FC8000 (high byte). (Ex: 7EC804 is the low byte of a tile, and 7FC804 is the high byte of the same tile.) Not sure how layer 2 works though, or how to translate object coords into a Map16 address. 5: You can't scroll individual objects, only the entire layer. You do so by modifying a few addresses, though it seems to cause synchronization problems. 6: In what? If you're talking about ASM (though I don't know of anyone who knows how to hack the sprite ASM yet), I'd suggest just preserving all the registers until you know what they do. 7: There are various tables that say what they are, where they are, how fast they're moving, and so on. Each sprite has an ID number (I imagine the first you added is #1, next is #2, and so on, though deleting them complicates it) which is used as the table index. 8: 7E0013. 9: Tons, look through RAM for large patches of 00s or 55s. The 55s don't get reset between levels though. |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 100/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
Hey!Originally posted by HyperHacker I mean how do you create one sprite using another sprite (i.e. a generator) Originally posted by HyperHacker So if I just placed all the sprites in order, i could easily moniter sprites. Thanks. Originally posted by HyperHacker So how would I use that to change layer one objects at any given time during gameplay? Originally posted by HyperHacker Yes, I mean in ASM. I just don't want to overwrite something that I shouldn't (X/Y registers). Originally posted by HyperHacker Yea, thx. I actually meant are they called as Subroutines, Macros, etc...? |
|||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3574/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
-Creating another sprite, I don't know how to do, but I think a few people are close to figuring it out. -To change layer 1 objects, you would write a new Map16 number into the table (you can get the numbers from LM's Insert Objects window, go to Direct Map16 Access and find the one you want), however, I don't know how to convert coordinates to a Map16 address, so you'll have to just play around with it until you find the address you need every time. (And you'll only be able to do that if you want to change one specific part of a level - custom blocks would have to have a way to figure out their own address.) -As a general rule when ASM hacking, if I don't know whether the game will need a certain register's value, I back it up before I do anything to it. You can experiment to see which does what though. -Not sure about the sprite subroutines or macros; there must be an 'add sprite' subroutine in there somewhere though. |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 127/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
Originally posted by HyperHacker By 'add sprite' subroutine, do you mean creating the sprite or running it's code? I wrote out the shell ASM as a subroutine so I would something to base off of. |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Super Mario World hacking - Multiple sprite/ASM questions | | | |