News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Metroid Advance Game Editor (MAGE) Thread

Started by biospark, June 21, 2016, 06:19:47 PM

Previous topic - Next topic

biospark

Quote from: Quietus on July 15, 2016, 08:34:28 PM
Could you not use one of the navigation rooms to reel off the information? Since it's a boss rush, I suspect interested players would likely run through it multiple times, so having a navigation room at the start, which they can just run through if they've already read it, would work.

I suspect it's Zero Mission. A boss rush hack isn't possible in Fusion without asm hacking.

metalsonic88

Quote from: biospark on July 15, 2016, 09:31:33 PM
Quote from: Quietus on July 15, 2016, 08:34:28 PM
Could you not use one of the navigation rooms to reel off the information? Since it's a boss rush, I suspect interested players would likely run through it multiple times, so having a navigation room at the start, which they can just run through if they've already read it, would work.

I suspect it's Zero Mission. A boss rush hack isn't possible in Fusion without asm hacking.

You suspect correctly. I'm experimenting with altering the titles that appear at the bottom of the screen when entering a new area (coming off the elevator to Norfair displays "NORFAIR" for example), but I only have a single line to work with. Same with re-purposed map rooms. However despite this limitation I think this will suffice.

Quietus

Quote from: biospark on July 15, 2016, 09:31:33 PMI suspect it's Zero Mission. A boss rush hack isn't possible in Fusion without asm hacking.
Dang it, Fusion seriously needs to get fully ripped open, and this hurdle finally overcome. Summon the gurus! :^_^:

interdpth

There's like two limits, most functions that are event based will simply call a function that checks for the proper event number. It may be possible to just have them always return true in the boss AI. But that could lead to weird oddities.

Example of weird oddity, the sprite object 0xBA will spawn as a background sprite if event 0x5C is not active. If it is active, then the sprite spawns with foreground priority and interactivity with Samus.

Events are fun!

biospark

Quote from: Quietus on July 16, 2016, 02:17:24 PM
Dang it, Fusion seriously needs to get fully ripped open, and this hurdle finally overcome. Summon the gurus! :^_^:

That's what my hack (Freedom) intends to do. Though it will be quite some time before it's in a releasable state.

Quietus


biospark

So I looked into pop-ups for doors (at least in Fusion). The text for doors is hard coded for some reason. In other words, the game branches to specific code based on the area and room you're entering. Therefore, I plan to modify the code so that it searches an extendable list.

The format will be:
0 Area
1 Room
2 Text number

I'll add it as another tab to the connection editor, and it will automatically apply the new code if it hasn't been already. Don't know when I'll get around to doing this, but it's near the top of my list.

metalsonic88

#132
Quote from: biospark on July 16, 2016, 08:51:42 PM
So I looked into pop-ups for doors (at least in Fusion). The text for doors is hard coded for some reason. In other words, the game branches to specific code based on the area and room you're entering. Therefore, I plan to modify the code so that it searches an extendable list.

The format will be:
0 Area
1 Room
2 Text number

I'll add it as another tab to the connection editor, and it will automatically apply the new code if it hasn't been already. Don't know when I'll get around to doing this, but it's near the top of my list.

Excellent news, and thanks for looking into it. Having an arbitrary number of text pop-ups would be a huge boon to me at least. Any idea if the number of lines of text displayed could be changed? Or if the period of time that the text is displayed for could be altered?

---

Oh! Almost forgot. Found a bug in MAGE 0.6.1. It has to do with failing to properly undo clipdata. You can reproduce with these steps:

1. Enter BG editing mode and tick the boxes for editing BG 1 and Clip (This probably works with BG 0 & BG 2 as well as no BGs. The important part is Clip)
2. Select a tile (or group of tiles) from the tileset off to the left and assign a clipdata type to it.
3. Place the tile somewhere in the map that has different clipdata than what you selected in step 2
4. Press the Undo button or hotkey and observe that while the visuals have been undone, the clipdata has not

Kazuto

Just because nothing's been happening in the past couple of days, I wanted to comment that I'm still going to do the event connections guide.  I haven't had much computer time in the past few days, and when I have been on, I've been working on something that will hopefully become useful to anyone trying to ASM hack Fusion, Zero Mission and the like.

passarbye

Quote from: Kazuto on July 21, 2016, 06:22:55 PM
Just because nothing's been happening in the past couple of days, I wanted to comment that I'm still going to do the event connections guide.  I haven't had much computer time in the past few days, and when I have been on, I've been working on something that will hopefully become useful to anyone trying to ASM hack Fusion, Zero Mission and the like.
Awesome Kazuto, looking forward to reading it.

Also,
Don't know if anyone else has done something like this, but I've been working on a 'palette hack' of sorts for MZM that replaces all the red outlines to more fitting colors. For example, every tileset has custom outline colors that fit the area. I've gotten up to Chozodia finished already and hope to release it in a few days.

biospark

#135
Edit: Abandoned idea, ignore

[spoiler=Original post]I've slowly been working on "converting" mage from WinForms to WPF. If you don't know what that means, just know that it means I'm trying to revamp the GUI and have a cleaner implementation. This means I probably won't bother fixing minor GUI glitches unless they're really easy to fix. WPF has better graphics features, which means there will now be a zoom option for viewing the room. Don't expect this for a while though. I'll probably do a few more releases with the WinForms version.[/spoiler]

interdpth

Can you make the map have the ability to be it's own Window? Like DH and ZF. I like the artistry feel that element brings.

benyabkn

How do you change the tileset of a room? I've tried changing the tile table and/or the tileset number of certain rooms to others that I want but it doesn't apply.

Hawntah

Quote from: benyabkn on July 29, 2016, 09:08:48 PM
How do you change the tileset of a room? I've tried changing the tile table and/or the tileset number of certain rooms to others that I want but it doesn't apply.
You can change a room's tileset in the header editor.

interdpth

#139
Tried to import some Chozodia tileset, came out odd.

Normal:

Imported to Fusion:

Additionally, this should work as it's a direct rip from an existing tileset from fusion, but mage says there's too many unique tiles:http://i.imgur.com/8YeXFJe.png

Edit: Please read offsets from an external XML or Ini so people can edit them. :(

Edit: Regarding the following in your doc:
"With all these requirements in mind, here are some tips for creating your own tileset. Use an existing tileset image as your base. This will ensure that the image is 32 bbp. Also, make sure you leave in the top five rows (hatches and breakable blocks). Determine your palettes beforehand. Ensure that each 8x8 tile only uses one palette. Try to reuse as many 8x8 tiles as possible. An 8x8 tile can be reused if it is flipped horizontally, flipped vertically, or assigned a different palette."

Does your editor make sure align the normal five rows with the given GFX in the rom?

benyabkn

Also, I had a problem with a room I edited. It happened when I copied the tileset, bg 0, 1 and 2 and some other header things from room 17 of Main deck to room 5.

https://www.youtube.com/watch?v=Pw68-sN2DCc

Skip to 1:24 .

The room itself worked fine before copying some characteristics to other room.

biospark

Quote from: benyabkn on August 07, 2016, 11:42:40 PM
Also, I had a problem with a room I edited.

Can you post an ips patch of your rom here? It's impossible for me to know the problem otherwise.

interdpth

Quote from: benyabkn on August 07, 2016, 11:42:40 PM
Also, I had a problem with a room I edited. It happened when I copied the tileset, bg 0, 1 and 2 and some other header things from room 17 of Main deck to room 5.

https://www.youtube.com/watch?v=Pw68-sN2DCc

Skip to 1:24 .

The room itself worked fine before copying some characteristics to other room.

That's a pointer problem, I tell you what

biospark

Side note: I didn't realize that mono doesn't support WPF. So I'll most likely be sticking with WinForms. Since I'm not satisfied with the gui, I'll have to investigate and find a better way to implement it. I'm open to suggestions, if anyone has experience in this area.

benyabkn

Link to ips patch
[spoiler]https://www.mediafire.com/?hx8lxazk9y95a1x[/spoiler]
Oh well, I didn't have a backup nor did much of a job so I might start over, yet I would still like to know what the problem was.
Additional data: If I'm not mistaken, Room 5's clip is 46FDCC, once I did some changes, it changed to 4729E0.

SpoOkyMagician

Quote from: biospark on August 08, 2016, 02:39:38 PM
Side note: I didn't realize that mono doesn't support WPF.

I found this out a while back... So annoying...

~ SpoOkyMagician

biospark

@benyabkn I think I've figured out what the problem is. Fusion and ZM never share RLE compressed BG data between rooms. In other words, you'll never find two pointers that are the same for BG1, BG2, and clipdata (and sometimes BG0). Therefore, whenever you edit a BG and the resulting data takes up more space than the original data, mage will overwrite the original data (essentially "erase" it) so that it can be used in the future. In your case, you most likely copied a pointer, then edited one room which overwrote the data for the other.

If you don't have any backups, then you're out of luck (though you could just redesign a different room and use that instead). In the future, I'll add an option to not overwrite existing data when saving the ROM. Or, I could have mage search every room header upon saving to check for duplicate pointers. I'll also add an option to give a room new blank data, which should be handy for designing room from scratch or if a room gets corrupted.

I know the room related tools are somewhat lacking, but they will be added eventually.

benyabkn

Quote from: biospark on August 08, 2016, 06:31:52 PM
@benyabkn I think I've figured out what the problem is. Fusion and ZM never share RLE compressed BG data between rooms. In other words, you'll never find two pointers that are the same for BG1, BG2, and clipdata (and sometimes BG0). Therefore, whenever you edit a BG and the resulting data takes up more space than the original data, mage will overwrite the original data (essentially "erase" it) so that it can be used in the future. In your case, you most likely copied a pointer, then edited one room which overwrote the data for the other.

If you don't have any backups, then you're out of luck (though you could just redesign a different room and use that instead). In the future, I'll add an option to not overwrite existing data when saving the ROM. Or, I could have mage search every room header upon saving to check for duplicate pointers. I'll also add an option to give a room new blank data, which should be handy for designing room from scratch or if a room gets corrupted.

I know the room related tools are somewhat lacking, but they will be added eventually.

Thanks for letting me know Bio ^^, take the time you have to take to improve mage, we are patient.

biospark

I decided to rename "door pop-ups" to "location names", and I also changed "pop-ups" from the text editor to "messages", since I think it could have caused some confusion. Since I gave up on converting to WPF, I've finally gotten back to work on adding new features. I'm partially done adding a way to edit location names.



Once I finish this and add a tile table editor, I'll probably release a new version.

biospark

Quote from: Xyifer12 on June 25, 2016, 09:12:24 PM
When i load a vanilla ROM and click the text editor i get this error.

@Xyifer12 Turns out the text editor was using a font that some people might not have. This is fixed and will be included in the next release.