| |||
Views: 88,522,574 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 05-03-24 12:03 PM |
|
Guest: Register | Login |
Main - Posts by city41 |
city41 |
| ||
Goomba Level: 11 Posts: 1/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Hey everyone, I am new to these forums. I thought you all might be interested in a SMA4 level editor I have been working on. You can check it out here: https://smaghetti.com
Still really early and tons of work yet to do, but it's coming along. |
city41 |
| ||
Goomba Level: 11 Posts: 2/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by Plokzig Thanks! My plan is to allow people to share and play each other's levels, kinda like mario maker. You can either play them in the browser, or grab a bunch of levels into a "playlist" and download them into one save file, and then play them on a real GBA or in a offline emulator. That's a ways out though |
city41 |
| ||
Goomba Level: 11 Posts: 3/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by Plokzig Yeah, a C&D could happen. If it does, there are some other options I could go with. The site doesn't have any Nintendo IP, as the user has to provide the rom and I am using normatt's bios. Even the graphics I extract out of the rom. Probably won't actually help, but I figured I'll do this totally clean. |
city41 |
| ||
Goomba Level: 11 Posts: 4/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by Plokzig I made a thread over at romhacking.net http://www.romhacking.net/forum/index.php?topic=32546.0 But even there, only a few replies. Seems interest in SMA4 hacking has died down over the years. Not surprising really. I am actively working on the editor and plan to for quite some time as I personally find it really interesting and fun to work on. I am working on transports (ie doors/pipes) right now. |
city41 |
| ||
Goomba Level: 11 Posts: 5/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by Plokzig Yeah, I am testing on Chrome, Firefox and Safari. Both Firefox and Safari run the emulator rather slowly. Chrome runs it full speed. So Chrome is a better experience. Improving the emulator performance is on my todo list, but it's very low priority. Honestly not sure which rom it supports, it's whichever one I happened to have It does a checksum and denies you if you try to use the wrong rom. I just got transports working. Here is a really crappy video https://www.youtube.com/watch?v=Okq8JQJHWnY Turns out the info on them was a bit off, the x and y in the transport data are flipped, I documented the correct format here https://github.com/city41/smaghetti/wiki/Transports |
city41 |
| ||
Goomba Level: 11 Posts: 6/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
This tool I am building is really increasing the speed and accuracy of reverse engineer. It enables exploring a level, making changes to it, and seeing the changes right away. It is here https://smaghetti.com/tools/hex-tree |
city41 |
| ||
Goomba Level: 11 Posts: 7/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by Plokzig oh nice, thanks for figuring that out. I'll add that to the rom modal. So far only one person has had issues here, he was trying to use an old rom he had procured years ago. It seems nowadays pretty much everyone is using this no intro rom now. |
city41 |
| ||
Goomba Level: 11 Posts: 8/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Interesting, I didn't know any of that thanks for the explanation. I'm pretty new to rom hacking, although I have hacked neo geo roms and made tools for them, so not totally green.
I just had a teeny breakthrough. I think there was an assumption that if an object is not in bank 0, it is always five bytes. But bank 1 objects can be 4 bytes. This is good news as I have now untangled some really strange objects I just could not figure out. Turns out they are all 4 byte bank 1 objects. But it also kinda sucks because just blindly grabbing 5 bytes whenever the bank wasn't zero was pretty simple. I kinda feel like I'm playing wheel of fortune the rendering of the level gradually reveals itself each time I figure one more thing out. Classic 1-2 (star02.level) is really coming along. I have not made very much headway at all on levels that aren't underground type. But I'll get there. |
city41 |
| ||
Goomba Level: 11 Posts: 9/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Anyone ever seen these before?
They are payload id 0xc for the Bubble. once you break the bubble they turn into some weird flat metal looking things that bounce on the bricks, but possibly that's because I don't have the proper graphic set turned on. |
city41 |
| ||
Goomba Level: 11 Posts: 10/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by XAIXER you can pick up the metal thing and then when you let go, it launches, whoa https://www.youtube.com/watch?v=8pDc-QOBW4E Once the bubble is popped, that little gray sliver is probably due to using the wrong graphic set. Or possibly this is just a junk item that doesn't work. But since they don't float and mario seems to push them, doesn't seem like it's the floating block. I have been brute forcing the game over the past several days. I wrote a script that creates a level with one object in it, runs it, and if it doesn't crash, takes a screenshot. I am doing that with every object id in the game for 4 and 5 byte objects, all banks. I will also do it for sprites. This takes a long time. About 20 hours to fully dump one object set, so about a week or more to fully dump everything. It has enabled be to discover the ids, parameters and banks for many objects, just about all of them. I am pretty sure after this is over, the only unknowns object/sprite wise will be things that don't have show up visually in the game. It has also discovered objects that I'm sure nintendo would consider incorrect, but are still kinda cool so I might add them to the editor anyway And anyone familiar with this eyeball? I've never seen it before and btw, this is what I mean by brute forcing, a small sampling of the output, it's super useful! |
city41 |
| ||
Goomba Level: 11 Posts: 11/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
I'm now well under way dumping all sprites. The dump revealed this clock which I've never seen before
When you collect it, it just stops the timer for about 3 real world seconds. It doesn't stop time altogether (for example enemies keep moving), so so far it seems kinda bland. But maybe there's more to it? EDIT floating bubble with payloads inside? whoa https://www.youtube.com/watch?v=PoyJJWKmAbw Pretty sure you should be able to put any payload inside. Sadly, I have not found any way to pop the bubble, nor can Mario stand on it. |
city41 |
| ||
Goomba Level: 11 Posts: 12/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Oh nice, I missed that. I found more unused things that seems TCRF doesn't have yet, so could contribute there.
https://www.youtube.com/watch?v=xT-qFvvKV_E I have put all my videos into this playlist: https://www.youtube.com/playlist?list=PLHpd9DwlchgNiYuotmrfFE70g-ksEbrxd omg, I love the baby cheep cheeps https://www.youtube.com/watch?v=lw5k3jCPgl8 baby cheep cheeps are normally spit out by big bertha (giant fish) in underwater levels. So not unused. But still cool they can be used on their own. |
city41 |
| ||
Goomba Level: 11 Posts: 13/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by XAIXER The one way doors are also used in SMA4, in the level Doors o' Plenty: https://www.youtube.com/watch?v=YkGqpg1xFrM I just screwed up and had the tiles that are actually for the seesaw platform being used, which made them seem like a new kinda door. I finished dumping the sprites, but I am missing a lot. For example no koopalings showed up among many other that are missing. So I am positive there is more to find. I have some ideas in mind to run a few experiments to better understand how the sprite graphic set bytes work. I am hoping that will lead me to find the rest of the sprites, and possibly more stuff from other SMA games like you said? That would rock.
Yeah I will make an offline version eventually. It probably won't be for a good while though. I want to at the very least get ereader level creation really locked down. I am also planning to move into main game level creation and overworld editing so people can make entire games. But that's a long ways off. The offline version will be truly offline, it will save levels locally. People have been asking me to make a discord for smaghetti. I'm not a huge fan of chat though :-/ So I've been considering making a subreddit for it. |
city41 |
| ||
Goomba Level: 11 Posts: 14/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
I'm definitely not starting my own forum, that is a lot of work (and potentially cost). The editor alone is plenty of work
I'll hold off for now. There's a little demand right now but not a ton just yet. |
city41 |
| ||
Goomba Level: 11 Posts: 15/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
We've been chatting about this in the SMA4 hacking thread, but I thought it made sense to start a fresh thread.
Smaghetti is a Super Mario Advance 4 level editor, available here: https://smaghetti.com Still early days, and a lot more work to do, but it's progressing nicely. It creates e-reader levels that are playable in an emulator or on real hardware with an everdrive. It's really easy to use, just draw your level, pretty similar to mario maker in that regard. As of time of writing it has - 105 entities (ie enemies, terrain, etc) to work with - multi room support, with doors to move between them (pipes not yet implemented) - a built in emulator that takes you right to your level for fast feedback - drag and drop, panning, undo/redo, fill, etc - keyboard shortcuts (press ? to see the list) Still to come - full fledged room styles (plains, sky, underwater, etc) - the more elaborate terrain (hills, boxes, air ships, etc) - movement vectors for platforms - autoscroll - saving multiple levels to one save file - regular levels, overworld, tile editing, etc see the what's new page for the latest https://smaghetti.com/whats-new/ warning!! warning!! It has not even reached alpha quality yet. I am actively working on it, and things changes a lot. if you make any levels now, just be aware they may stop working as the editor advances. Once the editor is of beta quality, the level format will be locked in and from there it will be safe to make elaborate levels. For now, you're better off just playing around with it. |
city41 |
| ||
Goomba Level: 11 Posts: 16/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
That's a good idea. For now the interest is low, but the people who are interested seem really interested. I like that, I prefer a small passionate group if I had a choice.
I started a new thread here for it. I thought that's a good first step http://acmlm.kafuka.org/board/thread.php?id=9306 |
city41 |
| ||
Goomba Level: 11 Posts: 17/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by mellodillo Awesome! That's great to hear. I've created a few tools for reverse engineering and lately I've been brute forcing my way through the game. I wrote a script that tries every sprite/object combo there is and captures a screenshot if something appears on screen, then from there I filter down to the good ones. With that I have figured out a lot of things, but there's still a good deal more to find. Here is everything that has been reverse engineered into Smaghetti https://github.com/city41/smaghetti/tree/main/src/entities And here are a bunch of random notes of just things I've found or figured out https://github.com/city41/smaghetti/wiki And also want to take this chance to also say I couldn't have done any of this without the awesome work people on this forum and other forums did well before I came along. All of the docs people wrote, the tools they made, and such were all extremely helpful!! I have it on my todo list to add a thank you page to Smaghetti. I have been collecting people's names who contributed. If you added to the SMA4 knowledge in any way, let me know and I'll make sure you're on the page. |
city41 |
| ||
Goomba Level: 11 Posts: 18/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by mellodillo Cool, those are fun enemies. I haven't added them yet, but they should be pretty straightforward to add now that we know everything about them. EDIT: I added dolphin pod (the swarm of dolphins), but it acts kinda strange. Need to research it more https://www.youtube.com/watch?v=_CuiV2StlZA I have also found there is at least a seventh byte that influences graphic sets, the 26th byte of the level settings section. I think it's possible all twelve bytes in that area are for graphic sets, I plan to run some experiments there. I wrote a script that will dump an entity using all graphic set combos (just six bytes for now), from there by looking at the screenshots can often determine which graphic sets an entity belongs too. Some entities only belong to one, while others can belong to all of them, and a bunch of entities are somewhere in between.
My script found a green parabeetle at graphics set [5, 0, 0, 0, 0, 0] and object id 0x40. I haven't played with it yet though, so possibly it's not correct. I've not found any yellow cheep cheeps, that would be cool EDIT: nope, 0x40 is buster beetle. So green parabeetle is still elusive.
Yeah, please send it my way. I already have a ton of docs, I scoured the internet for them and several people have given me what they collected, but possibly I am still missing some. youtube playlist I've also been capturing video of unusued or interesting things in the game. The playlist is here https://www.youtube.com/playlist?list=PLHpd9DwlchgNiYuotmrfFE70g-ksEbrxd |
city41 |
| ||
Goomba Level: 11 Posts: 19/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Thanks for the well thought out and detailed reply, Quick Curly. Also thanks for adding it to the points of required attention, appreciate it!
I might give a Discord a go. I'll look more into it next week. I do think for now the thread here is probably a decent start. Honestly the number of people interested in Smaghetti at this point is like ... ten. I think a lot of people have moved on, probably Lunar Magic being so mature and also Mario Maker means a new level editor isn't as interesting as it would have been before. |
city41 |
| ||
Goomba Level: 11 Posts: 20/29 EXP: 5303 Next: 682 Since: 03-07-21 From: Ypsilanti, MI Last post: 973 days Last view: 950 days |
Posted by mellodillo Ah good to know. I haven't done anything with water yet so that's all new to me. If anyone has any info I'd love to hear it. I'll explore the ereader water levels and add proper water support at some point.
Hmmm, so far I don't think it's possible, but I'm not 100% certain yet. The poison mushroom can spawn on its own, it's in Smaghetti in the power ups section. You might find this tool interesting https://smaghetti.com/tools/hex-tree/. After loading an ereader level you can change specific bytes and then run the level. You can also start the level in a specific room by clicking the eye icon next to the rooms before it. So if you want to go straight to room 2 on a level, click the eye icons on room 0 and 1 then play the level. The tool is very raw and has no documentation, but eventually I will fix that I think it will be helpful in learning the last final bits about e-reader levels after the easier stuff has already been figured out. To see this tool at its current best, load star02 or star04. |
Main - Posts by city41 |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 127, rows: 159/159, time: 0.223 seconds. |