This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
zero_mission:basic_guides:mage [2017/10/24 23:48] – [Part 4- Clipdata] oneof99 | zero_mission:basic_guides:mage [2024/05/15 03:34] – felixwright | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | <WRaAP center 75% leftalign> |
- | Note: This guide was made in reference to [[http://arkarian.org/tdk/ | + | <WRAP centeralign> |
+ | ======= | ||
+ | FIXME (INCOMPLETE)\\ | ||
+ | |||
+ | <color orange> | ||
+ | |||
+ | Note: This guide was made in reference to [[http://labk.org/ | ||
Quick Links: | Quick Links: | ||
- | [[zero_mission: | + | [[zero_mission: |
- | --------------------------------------------- | + | \\ |
+ | \\ | ||
+ | ---- | ||
+ | </ | ||
- | ===== Blocks and Clipdata | + | <WRAP centeralign> |
+ | ====== | ||
+ | </ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | ===== Guide Expectations ===== | ||
+ | This guide expects the reader to be using Microsoft Windows operating system to hack. | ||
+ | If you are using Mac or a Linux distro, congrats! It is doable now! Though you may need to perform some workarounds. | ||
- | ==== Part 1- Interface ==== | + | This guide is written for use with MAGE 1.4.0. At the time of writing MAGE only supports USA ROMs.\\ |
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
- | {{http://i.imgur.com/8iZnWWB.png}} | + | ===== Create a ROM Hacking Folder ===== |
+ | | ||
+ | |||
+ | This ensures you do not misplace any important files, and they all stay in one place.\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
- | The screen | + | ===== Obtain a USA Metroid Zero Mission ROM ===== |
+ | You must either dump your ROM or search online. Check the first footnote | ||
- | | + | <color orange> |
+ | </ | ||
- | * Orange- Edit selection | + | The ROM should be '' |
- | | + | The ROM's sha1 hash should be '' |
- | * Green- Clipdata selection (only active if clipdata | + | Once you have the correct ROM, you should put it someplace safe, and only edit copies of it. NEVER edit the original. If you follow this practice, you will not have to re-dump or re-download your ROM when you accidentally corrupt or otherwise destroy a copy of it. I personally stick it into a '' |
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
- | * Blue- Tile selection; chosen from available tiles in tile set | + | ===== Download a Game Boy Advance (GBA) emulator ===== |
+ | | ||
- | -------------------------------------------- | + | Once installed, set mGBA as the default program to open GBA files. |
- | ==== Part 2- Layers and Clipdata ==== | + | This can be done by right-clicking a GBA rom and selecting '' |
+ | |||
+ | If you used the 64-bit installer, Browse to '' | ||
+ | If you used the 32-bit installer, Browse to '' | ||
+ | |||
+ | If successful, the thumbnail of gba ROMs should now look like mGBA. mGBA should be able to open and play your ROM.\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Download MAGE and make sure it works ===== | ||
+ | | ||
+ | |||
+ | |||
+ | MAGE Requires .NET 3.0 to be able to function. If your system does not have it installed, Windows 10 will prompt you to install the '' | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== MAGE's files ===== | ||
+ | ^ | ||
+ | | mage.exe | ||
+ | | doc.html | ||
+ | | technical.html | ||
+ | | *.proj files (created next to your ROM) | MAGE Project files. Keeps track of content ADDED to your ROM (new rooms, new doors etc) | | ||
+ | | %temp%\test.gba | ||
+ | | %localappdata%\mage\ | ||
+ | | %localappdata%\mage\mage_1.4.0.exe[...]\1.4.0.0\user.config | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Set up MAGE for easy room testing ===== | ||
+ | Use '' | ||
+ | If all is well, you should be loaded into the very first room in Brinstar. | ||
+ | |||
+ | |||
+ | Move your mouse pointer somewhere in the room and then press the '' | ||
+ | |||
+ | < | ||
+ | ------------------------------------------------------------------ | ||
+ | GBA emulator path has not been set. Would you like to set it now? | ||
+ | ------------------------------------------------------------------ | ||
+ | +=========+ | ||
+ | | | ||
+ | +=========+ | ||
+ | </ | ||
+ | |||
+ | Select '' | ||
+ | |||
+ | If you installed 64-bit mGBA, it will be located at '' | ||
+ | If you installed 32-bit mGBA, it will be located at '' | ||
+ | |||
+ | If successful, mGBA will launch your test ROM. You can close mGBA.\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== THE INSANELY ABSOLUTE IMPORTANCE OF MAKING REGULAR ROM BACK-UPS ===== | ||
+ | All you have to do is click '' | ||
+ | Alternatively, | ||
+ | |||
+ | It cannot be stressed enough how important it is to create regular back-ups of the ROM that you're working on. Make regular and frequent ROM back-ups a habit. Back-ups are your friend, and they will spare you so much pain. There is no reason to not make back-ups. | ||
+ | |||
+ | In addition to on your computer, keep back-ups of your hack stored on USB thumb drives, extra hard drives, web servers, email them to yourself, burn them to CDs or DVDs if you need to. You do not want to lose a thousand collective hours of work on a hack because your computer broke and you didn't have a copy of your hacked ROM anywhere else except on your dead computer' | ||
+ | |||
+ | IF YOU ARE EVER ABOUT TO APPLY A PATCH OR MAKE AN EDIT THAT YOU ARE EVEN SLIGHTLY UNSURE OF, CREATE A BACK-UP FIRST. Preventing catastrophe is just that easy. If hard drive space is an issue, you can create back-up IPS patches of your hack instead (see IPS patch creation).\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Constant Experimentation, | ||
+ | Stay calm and don't let it get you down! It is pretty much impossible to avoid experiencing all of these things and more as you journey through creating your own Metroid Zero Mission hack. Constant experimentation especially - you will need to test everything constantly as you're working on it, or you might waste huge amounts of time stepping backwards through your edits to figure out the problem. TEST EVERYTHING, ALWAYS. | ||
+ | |||
+ | Sometimes, you may make a mistake. That's OK, happens to the best of us! You can quickly reload your rom by selecting it in '' | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Please report any MAGE bugs that you discover! ===== | ||
+ | |||
+ | If you discover a crash or some kind of bug with MAGE itself, click "Help -> About Mage -> https:// | ||
+ | <WRAP centeralign> | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ====== PART 1: MAGE'S EDITORS & OPTIONS | ||
+ | <color orange> | ||
+ | |||
+ | {{zero_mission: | ||
+ | </ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Main Window ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ==== Menu Bar ==== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 1. File Menu === | ||
+ | ^ Name ^ Description | ||
+ | | Open ROM... | ||
+ | | Save ROM | Instantly saves changes made to ROM since it has been opened. This is the ONLY way to permanently save changes. | ||
+ | | Save ROM as... | Save ROM, but you specify what to name the ROM and where it is saved. | ||
+ | | Create Backup | ||
+ | | Recent Files | List of recently opened ROMs. Can be used to reload ROM if undesirable changes are made. | | ||
+ | Note: Some editors will tell you '' | ||
+ | If you broke your ROM, or made some undesirable change, <color lime> you can reset the internal copy by reopening your ROM in MAGE. </ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 2. Edit Menu === | ||
+ | ^ Name ^ Description | ||
+ | | BG Editing Mode | Used to edit blocks on background layers and their collision properties (clipdata). | ||
+ | | Object Editing Mode | Used to edit objects like enemies, doors, and camera scrolls. | ||
+ | | Use Selected Clipdata | ||
+ | | Undo | Steps back edits one at a time. MAGE can remember up to 100 edits. | ||
+ | | Redo | Steps forward edits one at a time. MAGE can remember up to 100 edits. | ||
+ | | BG 0 | Place blocks on Background layer 0. BG0 is a very special layer, but most of the time it's on top. | | ||
+ | | BG 1 | Place blocks on Background layer 1. BG1 is where all the blocks samus and enemies collide with should be. | | ||
+ | | BG 2 | Place blocks on Background layer 2. BG2 is for blocks behind samus and enemies, like plants or rocks for scenery. | ||
+ | | Clip | "Clip Data." Set the type of block used at that X/Y position in the room. Clip can be edited with one layer simultaneously. (ex: Edit BG1 & Clip) | | ||
+ | Note: You cannot use both BG editing mode and Object editing mode at the same time. You pick one or the other | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 3. View Menu === | ||
+ | ^ Name ^ Description | ||
+ | | BG 0 | Toggle viewing Background layer 0. BG0 is a very special layer, but most of the time it's on top. | | ||
+ | | BG 1 | Toggle viewing Background layer 1. BG1 is where all the blocks samus and enemies collide with should be. | | ||
+ | | BG 2 | Toggle viewing Background layer 2. BG2 is for blocks behind samus and enemies, like plants or rocks for scenery. | ||
+ | | BG 3 | Toggle viewing Background layer 3. BG3 is the farthest back there is. It's usually an image. | ||
+ | | Clipdata -> Collision | ||
+ | | Clipdata -> Breakable | ||
+ | | Clipdata -> Values | ||
+ | | Sprites | ||
+ | | Sprite Outlines | ||
+ | | Doors | Toggle solid blue outlines for doors in the room. Useful to move, edit, resize or delete them. | | ||
+ | | Scrolls | ||
+ | | Screen Outlines | ||
+ | | Animated Palette | ||
+ | | Mother Ship Hatches | ||
+ | | Clipboard | ||
+ | | Zoom | Pick between 100%, 200%, 400% and 800% Zoom. | | ||
+ | Notes: Only one of the special clipdata views can be used at a time.\\ | ||
+ | Viewing Mothership hatches will not set the room to use them; it will just show them that way in the editor.\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 4. Editors Menu === | ||
+ | ^ Name | ||
+ | | Header Editor | ||
+ | | Tileset Editor | ||
+ | | Graphics Editor | ||
+ | | Palette Editor | ||
+ | | Tile Table Editor | Used to edit the tile maps of tilesets, title screen, user interface, etc. Tilemaps say how to arrange the graphics and what palettes to use. | | ||
+ | | Animation Editor | ||
+ | | Sprite Editor | ||
+ | | Spriteset Editor | ||
+ | | Minimap Editor | ||
+ | | Connection Editor | Used to link door objects together, use events to lock or connect to a secondary destination, | ||
+ | | Text Editor | ||
+ | | Demo Editor | ||
+ | | Physics Editor | ||
+ | | Weapon Editor | ||
+ | Notes: | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 5. Tools Menu === | ||
+ | ^ Name ^ Description | ||
+ | | Room Options... | ||
+ | | Test Room... | ||
+ | | <color orange> Clipdata Shortcuts </ | ||
+ | | Import -> Tileset... | ||
+ | | Import -> RLE Background... | ||
+ | | Import -> LZ77 Background... | ||
+ | | Import -> Room... | ||
+ | | Import -> Tileset from image... | ||
+ | | Import -> LZ77 BG from image... | ||
+ | | Import -> Ending from image | Image must be 240x416. MAGE will limit colors while preserving quality. This is slightly random so if you dislike what it churns out, try again until you like it. | | ||
+ | | Export -> Tileset... | ||
+ | | Export -> Background... | ||
+ | | Export -> Room... | ||
+ | | Export -> Tileset Image... | ||
+ | | Export -> BG0 Image... | ||
+ | | Export -> BG3 Image... | ||
+ | | Export -> Room Image... | ||
+ | | Compression -> LZ77 Compress File... | ||
+ | | Compression -> LZ77 Decompress File... | ||
+ | | Minimap Tile Builder | ||
+ | | Add -> Background | ||
+ | | Add -> Room Sprites | ||
+ | | Add -> Room | Add extra rooms to the game. Either blank, or duplicate of an existing one. | | ||
+ | | Add -> Tileset | ||
+ | | Add -> Spriteset | ||
+ | | Add -> Animation | ||
+ | | Patches | ||
+ | Notes: In the header editor, if the property (prop) value of a BG layer is 0x10, it is RLE compressed. If the value has 0x40, it is LZ77 compressed. BG 1 and 2 are always RLE, BG3 is always LZ77, and BG0 can be either.\\ | ||
+ | \\ | ||
+ | For importing tilesets / backgrounds from images, you can game it to generate palettes that are just as uniform as those already in the game. Organize the tileset into sections based on what palette blocks use, and from there keep the top left of each section blank. For each section with a different palette, draw an 8x8 tile with the palette in the order you want it to generate, from left to right top to bottom. The top leftmost pixel should be left as the first color, which acts as blank/ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 6. Options Menu === | ||
+ | ^ | ||
+ | | Default View | Set default view settings for MAGE. Only refreshes when you reload a room. | | ||
+ | | Number Base | Switch between using decimal (base 10) and hexadecimal (base 16) as the number base for MAGE. Decimal might cause problems so Hex is recommended most of the time. | | ||
+ | | Disable Tooltips | Hides messages that appear under the mouse cursor when it idles over a point of interest. On Linux they remain as visual artifacts so disabling them is recommended.| | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 7. Help Menu === | ||
+ | ^ | ||
+ | | View Help | Opens the MAGE help file. (doc.html) It's nice to have handy. | ||
+ | | About MAGE | Information about MAGE, like the version you are using, who made it, where you can report issues, and credit for assets used. | | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ==== Tool Bar ==== | ||
+ | Quick access to editors and frequently used actions with interactible icons. | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 8. Open / Save ROM === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 9. Undo / Redo === | ||
+ | Note: Click the small arrow ▼ to undo/redo multiple steps at a time. | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 10. BG / Object Editing Mode === | ||
+ | Switch between editing blocks (speedbooster) or objects (morphball). <color Orange> You will be using this a LOT. </ | ||
+ | \\ | ||
+ | When a sprite is added in object editor mode, you can quickly change it with [ or ]\\ | ||
+ | On QWERTZ keyboard, the keys for this are " | ||
+ | \\ | ||
+ | Door Exit Distances: | ||
+ | 10- Right, no hatch | ||
+ | 20- Right, hatch | ||
+ | E0- Left, hatch | ||
+ | F0- Left, no hatch | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 11. View Sprites / Outlines / Doors / Scrolls === | ||
+ | ^ | ||
+ | | Metroid | ||
+ | | Green Box | Show/Hide Sprite Outlines (actual position of the objects/ | ||
+ | | Blue Box | Show/Hide Doors (objects used to link rooms) | ||
+ | | Yellow Box | Show/Hide Scrolls (objects used to restrict the player camera) | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 12. Header Editor === | ||
+ | ADD IMAGE TODO | ||
+ | |||
+ | BACKGROUND DATA | ||
+ | ^ | ||
+ | | Tileset | ||
+ | | Transparency | ||
+ | | BG3 Scroll | ||
+ | | Effect | ||
+ | | Effect Y Pos | Show/Hide Sprites (enemies and objects with AI, e.g. morph ball item) | | ||
+ | |||
+ | POINTER | ||
+ | | BG0 | Show/Hide Sprite Outlines (actual position of the objects/ | ||
+ | | BG1 | Show/Hide Doors (objects used to link rooms) | ||
+ | | BG2 | Show/Hide Scrolls (objects used to restrict the player camera) | ||
+ | | BG3 | Show/Hide Sprites (enemies and objects with AI, e.g. morph ball item) | | ||
+ | | CLIP | Show/Hide Sprite Outlines (actual position of the objects/ | ||
+ | |||
+ | PROP (BG PROPERTY) | ||
+ | | BG0 | Show/Hide Doors (objects used to link rooms) | ||
+ | | BG1 | Show/Hide Scrolls (objects used to restrict the player camera) | ||
+ | | BG2 | Show/Hide Sprites (enemies and objects with AI, e.g. morph ball item) | | ||
+ | | BG3 | Show/Hide Sprite Outlines (actual position of the objects/ | ||
+ | |||
+ | SPRITESET DATA | ||
+ | |||
+ | POINTER | ||
+ | | DEFAULT | ||
+ | | FIRST | Show/Hide Scrolls (objects used to restrict the player camera) | ||
+ | | SECOND | ||
+ | |||
+ | SET | ||
+ | | DEFAULT | ||
+ | | FIRST | Show/Hide Doors (objects used to link rooms) | ||
+ | | SECOND | ||
+ | |||
+ | EVENT | ||
+ | | FIRST | Show/Hide Sprites (enemies and objects with AI, e.g. morph ball item) | | ||
+ | | SECOND | ||
+ | |||
+ | MISCELLANEOUS | ||
+ | | MAP X | Show/Hide Doors (objects used to link rooms) | ||
+ | | MAP Y | Show/Hide Scrolls (objects used to restrict the player camera) | ||
+ | | MUSIC | Show/Hide Sprites (enemies and objects with AI, e.g. morph ball item) | | ||
+ | |||
+ | ^ | ||
+ | | AREA | Show/Hide Sprite Outlines (actual position of the objects/ | ||
+ | | ROOM | Show/Hide Doors (objects used to link rooms) | ||
+ | | OFFSET | ||
+ | | APPLY | Show/Hide Doors (objects used to link rooms) | ||
+ | | CLOSE | Show/Hide Scrolls (objects used to restrict the player camera) | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 13. Tileset Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 14. Graphics Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 15. Palette Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 16. Tile Table Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 17. Animation Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 18. Sprite Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 19. Spriteset Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 20. Connection Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 21. Minimap Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 22. Text Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 23. Demo Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 24. Physics Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 25. Weapon Editor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 26. Room Options === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 27. Test Room === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 28. Minimap Tile Builder === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 29. Add === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 30. Patches === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Room Editor ===== | ||
+ | {{zero_mission: | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 1. Edit Layers | ||
+ | ^ Name ^ Description | ||
+ | | BG 0 | Place blocks on Background layer 0. BG0 is a very special layer, but most of the time it's on top. | | ||
+ | | BG 1 | Place blocks on Background layer 1. BG1 is where all the blocks samus and enemies collide with should be. | | ||
+ | | BG 2 | Place blocks on Background layer 2. BG2 is for blocks behind samus and enemies, like plants or rocks for scenery. | ||
+ | | Clip | "Clip Data." Set the type of block used at that X/Y position in the room. Clip can be edited with one layer simultaneously. (ex: Edit BG1 & Clip) | | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 2. View Layers === | ||
+ | ^ Name ^ Description | ||
+ | | BG 0 | Toggle viewing Background layer 0. BG0 is a very special layer, but most of the time it's on top. | | ||
+ | | BG 1 | Toggle viewing Background layer 1. BG1 is where all the blocks samus and enemies collide with should be. | | ||
+ | | BG 2 | Toggle viewing Background layer 2. BG2 is for blocks behind samus and enemies, like plants or rocks for scenery. | ||
+ | | BG 3 | Toggle viewing Background layer 3. BG3 is the farthest back there is. It's usually an image. | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 3. Location === | ||
+ | ^ Name ^ Description | ||
+ | | Area | Select an area ID in this dropdown menu to switch areas. | ||
+ | | Room | Select a room ID in this dropdown menu to switch rooms. | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 4. Spriteset === | ||
+ | With Object editing mode, you can move and place objects like enemies and interactibles- MAGE calls them sprites.\\ | ||
+ | The type of sprites used in a room are determined by spritesets, which are set in the room header.\\ | ||
+ | If a room uses more than one, you use this drop-down menu to switch spritesets in the room editor.\\ | ||
+ | This allows you to edit the layout of sprites for each spriteset.\\ | ||
+ | Each spriteset has its own unique layout.\\ | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 5. Clipdata === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 6. Tile Select === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 7. Current Tile Information === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 8. Cursor === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 9. Tooltip === | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === Part 1- BG Editing Mode === | ||
The first step to editing rooms is selecting what layer you want to change. There are 3 layers of tiles that changes how the room looks and one layer that determines how the player will interact with those hitboxes. | The first step to editing rooms is selecting what layer you want to change. There are 3 layers of tiles that changes how the room looks and one layer that determines how the player will interact with those hitboxes. | ||
Line 50: | Line 572: | ||
Shown above is the drop down menu for selecting clipdata. I will explain the different types of clipdata later in this chapter. Keep in mind that some types of clipdata have only minor differences that may wreak havoc upon level design if used incorrectly (i.e. no reform and never reform). | Shown above is the drop down menu for selecting clipdata. I will explain the different types of clipdata later in this chapter. Keep in mind that some types of clipdata have only minor differences that may wreak havoc upon level design if used incorrectly (i.e. no reform and never reform). | ||
- | ---------------------------- | + | \\ |
- | ==== Part 3- Editing Layers ==== | + | \\ |
+ | ---- | ||
- | This section will explain how to edit how a layer “looks”, | + | === 1A- Layers === |
+ | |||
+ | This section will explain how to edit how a layer “looks”, | ||
**Controls** | **Controls** | ||
Line 66: | Line 591: | ||
A general rule of thumb for editing layers is to make the blocks that Samus can stand on be Layer 1, since Layer 2 will always appear behind her. | A general rule of thumb for editing layers is to make the blocks that Samus can stand on be Layer 1, since Layer 2 will always appear behind her. | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
- | --------------------- | + | === 1B- Clipdata === |
- | ==== Part 4- Clipdata | + | |
In bland terms, Clipdata is how each block works. Each tile location in a room has a certain clipdata value assigned, be it 0 for air or 10 or solid. There are FF (255) slots available for different types of clipdata, however many are unused. Be very careful when editing clipdata in a room, because clipdata will work how it wants whether or not you have a block placed in a slot (for example, you can have an invisible slope in the air due to clipdata that has been assigned to empty squares). This means that any block that you do not want to be special will be assigned clipdata value 0, which indicates " | In bland terms, Clipdata is how each block works. Each tile location in a room has a certain clipdata value assigned, be it 0 for air or 10 or solid. There are FF (255) slots available for different types of clipdata, however many are unused. Be very careful when editing clipdata in a room, because clipdata will work how it wants whether or not you have a block placed in a slot (for example, you can have an invisible slope in the air due to clipdata that has been assigned to empty squares). This means that any block that you do not want to be special will be assigned clipdata value 0, which indicates " | ||
- | Clipdata is edited in the same way as block layers, with the only difference being that if you select a large group of blocks in the tile table, they will all share the same clipdata. MAGE is very generous in explaining what each clipdata number does, so I will just explain the important values whose functions may not be obvious at | + | Clipdata is edited in the same way as block layers, with the only difference being that if you select a large group of blocks in the tile table, they will all share the same clipdata. MAGE is very generous in explaining what each clipdata number does, so I will just explain the important values whose functions may not be obvious at all. |
- | [[zero_mission: | + | [[zero_mission: |
Individual Clipdata and how to use them is explained in the above link! | Individual Clipdata and how to use them is explained in the above link! | ||
Alternatively, | Alternatively, | ||
- | ----- | + | \\ |
+ | \\ | ||
+ | ---- | ||
=== a. Basic Blocks === | === a. Basic Blocks === | ||
Line 88: | Line 618: | ||
{{https:// | {{https:// | ||
- | ----- | + | \\ |
+ | \\ | ||
+ | ---- | ||
=== b. Item Tanks === | === b. Item Tanks === | ||
+ | Item tanks are much easier to use than they may seem at first. All one has to do is select the proper tile in the tileset and use the corresponding clipdata on the tile. For example, a missile would use Clip5D to denote its " | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | "But One," you may be asking, "how do I set the tanks to have the properties of the blocks around them?" Well, this is very simple. Use Clip6C-Clip6F for expansions hidden in blocks that must be shot (like in the picture above on the right) or Clip7C-7F for expansions that are placed underwater. | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === c. Breakable Blocks === | ||
+ | |||
+ | An important type of block to have is the breakable block. This includes anything from crumble blocks (which break under the player' | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | A breakable block to note is the horizontal and vertical bomb blocks. These can be used to create the infamous bomb chains that Zero Mission and Fusion have. | ||
+ | |||
+ | {{https:// | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === d. Water, Acid, and Lava === | ||
+ | |||
+ | Clipdata A0, A1, and A2 are used for Weak Lava (which varia suit is immune to), Strong Lava (which gravity suit is immune to), and Acid (which nothing is immune to). These are fine to be used, however it is more recommended to use header effects (explained later) instead of these. The same goes for water, which is clipdata 1B. | ||
+ | |||
+ | {{https:// | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === e. BG0 Transparency === | ||
+ | |||
+ | There are several clipdata blocks that affect layer 0. These are pretty odd, but essentially they change either the transparency of bg0 tiles or make it brighter/ | ||
+ | |||
+ | {{https:// | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === f. Door Transition Tiles === | ||
+ | |||
+ | Doors are an essential part to any hack. Their use is not obvious, but it is rather simpler than one might expect. However, seeing as doors should be paired with sprites, I will explain how to use them in the sprites section. | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === Part 2- Object Editing Mode === | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | Sprites can be easily edited by clicking the morph ball symbol at the top of MAGE. To access the sprite editor, click the long beam button. To access the spriteset editor, click the eticoon/ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === a- Sprite Editor === | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | * Red - Sprite Preview, shows how the sprite looks. Some sprites like geemers and zeelas don't have their alternate colors shown since those are decided by their AI | ||
+ | |||
+ | * Orange - Sprite number and Primary/ | ||
+ | |||
+ | * Yellow - Health and Damage selection. Damage may not be accurate for boss sprites. Suit Reduction only applies to Fusion, where first number is varia suit and second is gravity | ||
+ | |||
+ | * Green - Drop Probability, | ||
+ | |||
+ | * Blue - Vulnerability checkmarks. This decides what can damage an enemy. | ||
+ | |||
+ | * Purple - GFX and Pallete offsets. You can directly go to the graphics editor with these. | ||
+ | |||
+ | * Black - AI Offset. This just indicates to where the AI for the sprite is. | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === b- Spriteset Editor === | ||
+ | |||
+ | Each room has a specific spriteset chosen for its room that can only have up to 8 rows of sprite graphics. This means that stuff like bosses and larger enemies may create problems if you want to have a lot of enemy variety in your room. | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | * Red - Graphics layout. Each spriteset can only have 8 rows of graphics. The bottom two rows are reserved for messages, so make sure that you don't have anything in those two rows if your room contains an item. | ||
+ | |||
+ | * Orange - Preview. Shows the currently selected sprite. | ||
+ | |||
+ | * Yellow - Palletes. These are all the sprite palette rows being used up by sprites in the spriteset. | ||
+ | |||
+ | * Green - Selection of spriteset editor and slot. There can be as many as F slots (aka 15 enemies), however this isn't particularly useful since you can only have 8 rows of graphics anyways. | ||
+ | |||
+ | * Blue - Sprite selection for the current slot you have selected. Then you also select what row the top row of the gfx should be on. | ||
+ | |||
+ | * Purple - Import/ | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 2A- Sprites === | ||
+ | [[https:// | ||
+ | |||
+ | Right clicking anywhere on a room whilst in sprite edit mode will bring up the following menu | ||
+ | |||
+ | {{https:// | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 2B- Doors === | ||
+ | [[https:// | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | === 2C- Scrolls === | ||
+ | FIXME | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | ===== Header Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Tileset Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Graphics Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Palette Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Tile Table Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Animation Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Sprite Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Spriteset Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Connection Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Minimap Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Text Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Demo Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Physics Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | ===== Weapon Editor ===== | ||
+ | \\ | ||
+ | \\ | ||
+ | ---- | ||
+ | |||
+ | <WRAP centeralign> | ||
+ | ====== PART 2: CREATING A ROOM | ||
+ | </ | ||
+ | ===== Basic level editing | ||
+ | ===== Download a hex editor | ||
+ | ===== Hex editor functions | ||
+ | ===== Counting in hexadecimal | ||
+ | ===== Copy/paste the room header | ||
+ | ===== MAGE's room list ===== | ||
+ | ===== Room header format | ||
+ | ===== Room pointers | ||
+ | ===== Banks / ROM minimap | ||
+ | ===== Level data ===== | ||
+ | ===== Background pointer | ||
+ | ===== Room size / map position | ||
+ | ===== Basic room structure | ||
+ | ===== Doors pointer | ||
+ | ===== Door data ===== | ||
+ | ===== Door BTS ===== | ||
+ | ===== Adding new doors ===== | ||
+ | ===== Room Scrolls pointer | ||
+ | ===== Door ASM pointer | ||
+ | ===== Debug your doors ===== | ||
+ | ===== PLM Set pointer | ||
+ | ===== Scroll PLMs ===== | ||
+ | ===== H-Copy / V-Copy | ||
+ | ===== MAGE's layers | ||
+ | ===== Tile highlighting | ||
+ | ===== Graphic Only / BTS Only ===== | ||
+ | ===== BTS (block types) | ||
+ | ===== Basic room design | ||
+ | ===== Slopes | ||
+ | ===== Tiling errors | ||
+ | ===== Up Scroll / Down Scroll | ||
+ | ===== Camera snaps ===== | ||
+ | ===== Scroll snaps ===== | ||
+ | ===== Level design tips ===== | ||
+ | ===== LEVEL DESIGN MISTAKES TO AVOID ===== | ||
+ | ===== Finished room design | ||
+ | ===== Enemy setup ===== | ||
+ | ===== Multi-piece enemies & possessors | ||
+ | ===== Enemy headers | ||
+ | ===== Enemy projectiles | ||
+ | ===== Enemy Palette pointer | ||
+ | ===== Enemy Weaknesses pointer | ||
+ | ===== Enemy Drops pointer | ||
+ | ===== Enemy GFX names ===== | ||
+ | ===== Enemy beta names ===== | ||
+ | ===== General enemy info / limitations | ||
+ | ===== Enemy header copying | ||
+ | ===== Layer 3 effects (" | ||
+ | ===== Door-specific FX ===== | ||
+ | ===== FX palette blends | ||
+ | ===== Screen shakes | ||
+ | ===== Bug fix: liquid graphics | ||
+ | ===== Map editing | ||
+ | ===== Bug fix: map saving/ | ||
+ | ===== Map icons ===== | ||
+ | ===== Room states / events | ||
+ | ===== When to call a room finished? | ||
+ | <WRAP centeralign> | ||
+ | ====== PART 3: OTHER STUFF | ||
+ | </ | ||
+ | ===== Save stations | ||
+ | ===== Elevators | ||
+ | ===== Music selection | ||
+ | ===== Song changes | ||
+ | ===== Sound effects | ||
+ | ===== Color palettes | ||
+ | ===== Tile table editing | ||
+ | ===== Repointing tilesets | ||
+ | ===== Tile sheet (.GFX) editing | ||
+ | ===== Tile rotation | ||
+ | ===== Tileset mixing | ||
+ | ===== Reassigning GFX colors | ||
+ | ===== Graphic and palette locations | ||
+ | ===== IPS/ASM patch usage and creation | ||
+ | ===== Understanding basic ASM ===== | ||
+ | ===== Resources | ||
+ | ===== FAQ ===== | ||
+ | ===== Glossary | ||
+ | ===== Revision history | ||
+ | ===== Special thanks / contact me ===== | ||
+ | |||
+ | ====== Main Window ====== | ||
+ | |||
+ | {{http:// | ||
+ | |||
+ | The screen to the left of a visible room in MAGE will look like this. | ||
+ | |||
+ | * Red- View selection (use to view certain layers) | ||
+ | |||
+ | * Orange- Edit selection (use to select a layer to edit and whether or not to edit clipdata) | ||
+ | |||
+ | * Yellow- Spriteset selection | ||
+ | |||
+ | * Green- Clipdata selection (only active if clipdata edit is selected) | ||
+ | |||
+ | * Blue- Tile selection; chosen from available tiles in tile set | ||
+ | |||
+ | --------------------------------------------- | ||
+ | ==== File ==== | ||
+ | FIXME | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | Backing up your ROM is as easy as clicking on '' | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | Sometimes, you may make a mistake. That's OK, happens to the best of us! You can quickly reload your rom by selecting it in '' | ||
+ | |||
+ | {{https:// | ||
+ | --------------------------------------------- | ||
+ | ==== Edit ==== | ||
+ | FIXME | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | When '' | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | --------------------------------------------- | ||
+ | ==== View ==== | ||
+ | FIXME | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | Can be used to view clipdata in 3 different ways: | ||
+ | |||
+ | * '' | ||
+ | {{https:// | ||
+ | * '' | ||
+ | {{https:// | ||
+ | * '' | ||
+ | {{https:// | ||
+ | |||
+ | You can also show or hide '' | ||
+ | |||
+ | To ensure that a room fits the screen, or to determine its shape in map tiles, you can turn on '' | ||
+ | |||
+ | If your room uses space pirate mothership hatches, you can select '' | ||
+ | |||
+ | You can also adjust '' | ||
+ | --------------------------------------------- | ||
+ | ==== Options ==== | ||
+ | FIXME | ||
+ | |||
+ | You can '' | ||
+ | |||
+ | If you find that the default view of MAGE shows too much or not enough, you can adjust the '' | ||
+ | |||
+ | You also have the option of changing the '' | ||
+ | --------------------------------------------- | ||
+ | </ |