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

#400
New version!

Download
1.1.1 - 2017-07-31
  - Added "Heated (hidden)" palette to Minimap Tile Builder
  - Added option to view mother ship hatches (Zero Mission only)
  - Fixed bug where backgrounds, rooms, spritesets, and minimaps couldn't be exported
  - Combined duplicate values in Physics Editor
  - Sprites are drawn under BG0 when possible

interdpth

How's storyboard or the project process? Need that ish.

biospark

Quote from: interdpth on July 31, 2017, 11:44:33 AM
How's storyboard or the project process? Need that ish.

Um, what are you talking about exactly?

Luce Seyfarth

In the Spriteset Editor, is it normal that I can select GFX rows ranging from 0 to 8? Seems only 0 to 7 would make sense (3 bit), and the window doesn't show a ninth row (row 8) either.

biospark

Quote from: Luce Seyfarth on August 01, 2017, 07:18:02 PM
In the Spriteset Editor, is it normal that I can select GFX rows ranging from 0 to 8? Seems only 0 to 7 would make sense (3 bit), and the window doesn't show a ninth row (row 8) either.

http://arkarian.org/tdk/mage/doc.html#spriteset-editor

Xyifer12

Changing the header for a room causes MAGE to completely break until it's restarted, in 1.1.1.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.InvalidOperationException: Bitmap region is already locked.
   at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
   at System.Drawing.Graphics.DrawImage(Image image, Rectangle destRect, Int32 srcX, Int32 srcY, Int32 srcWidth, Int32 srcHeight, GraphicsUnit srcUnit, ImageAttributes imageAttrs, DrawImageAbort callback, IntPtr callbackData)
   at System.Drawing.Graphics.DrawImage(Image image, Rectangle destRect, Int32 srcX, Int32 srcY, Int32 srcWidth, Int32 srcHeight, GraphicsUnit srcUnit, ImageAttributes imageAttr, DrawImageAbort callback)
   at System.Drawing.Graphics.DrawImage(Image image, Rectangle destRect, Int32 srcX, Int32 srcY, Int32 srcWidth, Int32 srcHeight, GraphicsUnit srcUnit, ImageAttributes imageAttr)
   at System.Windows.Forms.ControlPaint.DrawBackgroundImage(Graphics g, Image backgroundImage, Color backColor, ImageLayout backgroundImageLayout, Rectangle bounds, Rectangle clipRect, Point scrollOffset, RightToLeft rightToLeft)
   at System.Windows.Forms.Control.PaintBackground(PaintEventArgs e, Rectangle rectangle, Color backColor, Point scrollOffset)
   at System.Windows.Forms.Control.PaintBackground(PaintEventArgs e, Rectangle rectangle)
   at System.Windows.Forms.Control.OnPaintBackground(PaintEventArgs pevent)
   at mage.RoomView.OnPaintBackground(PaintEventArgs pevent)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8009 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
mage
    Assembly Version: 1.1.1.0
    Win32 Version: 1.1.1.0
    CodeBase: file:///C:/Users/Robin/Desktop/Modding/mage/mage.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8015 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8686 (QFE.050727-8600)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8019 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8007 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8018 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
xal_kmyi
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8686 (QFE.050727-8600)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


Should i PM the game that causes the error?

biospark

Quote from: Xyifer12 on August 03, 2017, 01:20:08 AM
Changing the header for a room causes MAGE to completely break until it's restarted, in 1.1.1.

What exactly did you change in the header editor? Changing the background data or sprite data offsets can definitely break your room unless you know what you're doing.

matirion

I have two small questions about functionality, as I'm not sure if it has settings for some things.

When the View Clipdata option is active, it differentiates between solid and non-solid, but I'm trying to find a missile block I think I may have misplaced in a large room and both normal blocks and missile blocks are solid so they are outlined as the same group. While I can hover over all solid blocks to see the type, this isn't really a convenient method. So for my first question, is there an option to let us see the difference between blocks with clipdata that are breakable and blocks that are not breakable or something that lets manually define the groups?

My second question is related to testing. If I want to test if certain things work as intended, like if a statue properly gives the item it should, I can't do that when I have all items already. According to the documentation, starting with all abilities is the default, which may mean there is an option to change it. As such, I was wondering if it was possible to disable the feature that gives us all items in the testing mode?

Thank you for your time.

biospark

Quote from: matirion on September 03, 2017, 03:21:20 PM
is there an option to let us see the difference between blocks with clipdata that are breakable and blocks that are not breakable or something that lets manually define the groups?

The next version will have an option for viewing breakable blocks.

Quote from: matirion on September 03, 2017, 03:21:20 PM
I was wondering if it was possible to disable the feature that gives us all items in the testing mode?

There's no option for this, but I may add something for it in the future. For now, you can edit RAM to remove your items and reenter the room.

Mr. Mendelli

I have two questions regarding MAGE:

1. Is it possible to edit the debug/prototype menu texts or am I just missing something?
(They're only in Japanese and I want to translate them)

2. Is there planned support for the Metroid Zero Mission prototype?
(I noticed the Metroid Fusion prototype loads just fine)

biospark

Quote from: Mr. Mendelli on September 08, 2017, 01:13:11 AM
1. Is it possible to edit the debug/prototype menu texts or am I just missing something?
(They're only in Japanese and I want to translate them)

Yes, but not with MAGE. You can probably edit it with a hex editor.

Quote from: Mr. Mendelli on September 08, 2017, 01:13:11 AM
2. Is there planned support for the Metroid Zero Mission prototype?
(I noticed the Metroid Fusion prototype loads just fine)

No, the prototypes will never be supported. Also, MAGE doesn't support the Fusion prototype. You must have loaded the normal (U) version.

Mr. Mendelli

#411
Quote from: biospark on September 08, 2017, 01:46:58 AM
Quote from: Mr. Mendelli on September 08, 2017, 01:13:11 AM
1. Is it possible to edit the debug/prototype menu texts or am I just missing something?
(They're only in Japanese and I want to translate them)

Yes, but not with MAGE. You can probably edit it with a hex editor.

Quote from: Mr. Mendelli on September 08, 2017, 01:13:11 AM
2. Is there planned support for the Metroid Zero Mission prototype?
(I noticed the Metroid Fusion prototype loads just fine)

No, the prototypes will never be supported. Also, MAGE doesn't support the Fusion prototype. You must have loaded the normal (U) version.

I'll look into using HxD to edit the strings. I mixed up the prototype with the patched ROM with debug menu support that had the wrong name. Thanks for the feedback and keep up the great work.

OneOf99

Would it be possible to add a restore defaults button for the physics editor in case we do something horribly wrong?

biospark

Quote from: OneOf99 on September 24, 2017, 12:59:30 PM
Would it be possible to add a restore defaults button for the physics editor in case we do something horribly wrong?

No, because you could do something "horribly wrong" in any of the editors, and I would have to basically include a vanilla copy of each rom within MAGE. Just open an unmodified rom and compare the values.

Conner

Is there any way to use Sprites from Ridley in Brinstar?

Cpt.Glitch


interdpth

Can you add a rectangle to the minimap to show the current room and it's max size?

Rectangle = new Rectangle(roomheader.minimapx, roomheader.minimapy, maxwidthofenabledlayers, maxheightofenabledlayers)


Just need to see to plan :(

biospark

#417
New version!

Download
1.2.0 - 2017-10-29
  - Added Demo Editor
  - Added option to view breakable blocks
  - Fixed bug where BG3 could be interpreted as RLE
  - Added option to view clipdata values
  - Fixed Tile Table Editor bug where saving a tile table from an offset could corrupt the rom
  - Fixed Tile Table Editor bug where the tile table offset wouldn't update
  - Added option to select individual palette rows when importing from image

Maxence Aran

Finally  :grin: :grin:
Just looking for something, is it possible to modifie samus's sprites in this editor ? If yes how ? :)

biospark

From the first post:

Quote from: biospark on June 21, 2016, 06:19:47 PM
Long-term plans
...
Samus graphics editor

So the answer is not yet (and I don't know when).

FelixWright

#420
Quote from: Maxence Aran on November 02, 2017, 03:49:29 PM
Finally  :grin: :grin:
Just looking for something, is it possible to modifie samus's sprites in this editor ? If yes how ? :)

Good luck.

[spoiler]




[/spoiler]

Maxence Aran

Wow, how do you found the sprites ? :) I was looking for, can u help me please in MP  :lol: :lol:

fern

I just started my ZM hack and there are a few things i don´t know how to do/fix, so i was wondering if anyone could help me with that :O_o:
- when transitioning from room 1 of criteria (edited hatch) to room 0 of cratiria (resized and edited completly) the game softlocks in the transition animation, how do i fix that?
- Sometimes Samus would walk mid-air after a slope (steep or otherwise), how do you fix that?
- How do you change Samus´ starting position? i couldn´t find it in the doc
- how do you change the position in the minimap of a room? (what map tile gets revealed when on that room)
thatks in advance to whoever respondes! :heheh:

Cpt.Glitch

Quote from: fern on December 06, 2017, 11:09:57 PM
- Sometimes Samus would walk mid-air after a slope (steep or otherwise), how do you fix that?
- How do you change Samus´ starting position? i couldn´t find it in the doc
- how do you change the position in the minimap of a room? (what map tile gets revealed when on that room)
thatks in advance to whoever respondes! :heheh:
[spoiler=Question 2 Answer] Have a normal solid tile after a slope.[/spoiler]
[spoiler=Question 3 Answer]Q: How do I change the starting position? (ZM)
A: This questions explains how to change the X/Y position Samus' spawns at on Start Game. To change starting area/room, use this asm file: https://cdn.discordapp.com/attachments/280756187522400257/286241312905232386/ZM_U_startingRoom.asm
Samus starting X position is aligned with door 0 for the area. So, door 0 must be in the room you wish Samus to start in. Y position is determined by this two byte address 0x606CC. So open a hex editor to that address and change the existing value to your new value. To find your Y position value use this formula: (64n-1) N is the height in blocks you want Samus to start at. Use the Y value in MAGE to get N. After you perform the equation, convert the answer to hex. You can use the programmer mode calculator on your PC or Google to convert. Once you get
your hex value, reverse the bytes, and then replace the old value at 0x606CC. For example if your value is 027F, reversing it will make it 7F02. make sure to save the changes in your hex editor.
[/spoiler]
[spoiler=Question 4 Answer]There is a mini-map tutorial here. https://www.youtube.com/playlist?list=PL9drn514efFmY8vtWT_BwGU8_y8ZMnHwo[/spoiler]

MetroidPrime_Stratton

Happens When I try to add anything animated. This is happening in 1.2
https://drive.google.com/file/d/1bpcYksqz4qp_MJhfguILsIGUOmcFuh5I/view?usp=sharing
Image showing all the current windows open at the time of the error.
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at mage.Palette.Load(ByteStream bs, Int32 dst, Int32 len)
   at mage.AnimPalette..ctor(ByteStream bs, Byte number)
   at mage.FormAnimation.LoadPalette()
   at mage.FormAnimation.comboBox_paletteNum_SelectedIndexChanged(Object sender, EventArgs e)
   at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
   at mage.FormAnimation.Initialize(Int32 window, Int32 number)
   at mage.FormAdd.AddAnimation()
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)