News:

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

Main Menu

[ALTTP, SNES] Black Magic

Started by ICB, July 17, 2011, 04:47:41 PM

Previous topic - Next topic

MathOnNapkins

That's a good point, I hadn't considered that. It's nice to have design people around again!  :oh:

mdtaUK

Quote from: MathOnNapkins on August 22, 2011, 02:02:49 PM
That's a good point, I hadn't considered that. It's nice to have design people around again!  :oh:
I'm here placing flies in your ointments.

Sting_Chameleon

I'm gonna have to start watching this section now. HM for Z3 isn't the best editor around. Sure it supports ASM too, but the tile editing is agreed that it's terrible. I really hope to see your work when it's published Math. Before I even get ahead of myself, there is one thing I want as an option to implement.

- That major glitch fix which was used to complete the game within 5 minutes.

It's easy to navigate to other dungeons and grab early items, leave early and access other early events, ect. I practically know where every dungeon/room/house room/boss room is by walking underneath the entire dungeon floor. I feel like I'm getting my hopes up, lol. Ignore this if needed, Math. :P

wiiqwertyuiop

I'm wondering, is this still alive? It seems like a pretty good idea, and I'd hate to see die.

MathOnNapkins

Yes it's alive, but suspended for the time being due to work on other projects.

mdtaUK

What the ideal (and most probably impossible) end game solution for Black Magic should be, a tool which creates a blank ALttP ROM, and you start dragging and dropping objects and tiles to build a game world, and dungeons.  You can add in new items or objects and interactions, via ASM "plug ins".  Then you create Cutscene scripts via some simple drag and drop script system.  And you setup events which run those cutscenes.

With the title screens, graphics, areas, dungeons, characters, bosses, etc all designed and saved.  You can then add music, sound effects and assign them to actions/locations.  And finally you would have a "Game Outline" section, where you set the order of dungeons, the starting location, when story cutscenes happen, and the ending sequences.

With all that done, you export the ROM and you have a customised game, running on the same engine (near enough).

«•CRIMSON•»

Wow, I definitely love the idea of this program. Hyrule Magic has been giving me headaches lately with color palettes. All I want and need, however, is a simple sprite editor. I'm working on a mod of ALTTP where you play as Zelda, sort of as a redemption from the VERY disappointing CD-i games, but I can not get HM to work properly. I even tweaked Photoshop AND MSPaint AND Paint.net AND the old XP version of MSPaint, still every time I "Paste" the new sprite in, the color palette get's messed up. Does anyone here know where I can find a simple sprite editor, or perhaps know how to do it via Black Magic?

wiiqwertyuiop

Quote from: «•CRIMSON•» on December 26, 2011, 12:10:14 AM
Wow, I definitely love the idea of this program. Hyrule Magic has been giving me headaches lately with color palettes. All I want and need, however, is a simple sprite editor. I'm working on a mod of ALTTP where you play as Zelda, sort of as a redemption from the VERY disappointing CD-i games, but I can not get HM to work properly. I even tweaked Photoshop AND MSPaint AND Paint.net AND the old XP version of MSPaint, still every time I "Paste" the new sprite in, the color palette get's messed up. Does anyone here know where I can find a simple sprite editor, or perhaps know how to do it via Black Magic?

What I usually do is:

1. Open the ROM in YY-CHR
2. Then make a save state and open it in it.
2. Open the image you want to copy from
3. Find the sprites I want to replace
4. Paste over it
5. Then fix the palettes and done

Also I have some ideas (two right now) for this that might be worth considering:

1. GFX extractor and inserter (not sure if this is in it all ready)
2. I also want to make a sprite tool of some sort for this as well, but to do this you would need some easy way of inserting them into the game, I think it would be cool if Black Magic had support for these sprites so people could make there own and insert them.

Thats all I have for now.

«•CRIMSON•»

I know this is supposed to be a thread about Black Magic, but perhaps this information will be useful anyway.

Anyone who's used Hyrule Magic knows that the colors of Links sprites get messed up if you try to "paste" any new / modded sprites. Well I happened to stumble upon a pattern that's happening when you do so. I'm not sure if it's just for my system, or if it's the same for everyone else. FYI, I have an Intel integrated graphics chip and Windows 7 Ultimate 64 bit, ( ew on the gpu, I know).

Each time you "paste" sprites for Link, colors keep getting swapped around, well there is most certainly a pattern here. Now I'm not sure if it's the color, or the position of the colors that's being effected, but here goes anyway...

•The third color, Yellow, is a team player, LOL. It doesn't change at all no matter how many times you "paste" sprites.
•Dark Turquoise, Dark Green, Light Green, & Dark Brown all have irregular patterns compared to all of the other colors, but the 4 all share a unique pattern that seems to intertwine with each other.
•Every other color, just gets messed up, but somehow manage to keep a regular pattern with themselves. If you open this attatched .txt document up, preferably in Notepad++, you'll see what I'm talking about...


...Long story short, I figured out that all you need to do is "copy" your new / modded sprites in a certain color palette, then "paste" into Hyrule Magic.

Here are the colors you need to swap before "pasting", ( These colors are Links DEFAULT colors in order from top to bottom )...

.......FROM.............|............|..........|.......TO.......

Purple••••••••••••••| a918a9 | f8f8f8 |•••••white
white•••••••••••••••| f8f8f8 | c080f0 |•••••Lavender
Yellow••••••••••••••| f0d840 | f0d840 |•••••Yellow
Light Brown•••••••••| b86820 | f0a068 |•••••Light Tan
Light Tan•••••••••••| f0a068 | e860b0 |•••••Pink
Black•••••••••••••••| 282828 | e09050 |•••••Dark Tan
Orange••••••••••••••| f87800 | 40d870 |•••••Light Turquoise
Red•••••••••••••••••| c01820 | f87800 |•••••Orange
Pink••••••••••••••••| e860b0 | a918a9 |•••••Purple
Dark Turquoise••••••| 389068 | 78b820 |•••••Light Green
Light Turquoise•••••| 40d870 | b86820 |•••••Light Brown
Dark Green••••••••••| 509010 | 389068 |•••••Dark Turquoise
Light Green•••••••••| 78b820 | 885828 |•••••Dark Brown
Dark Tan••••••••••••| e09050 | c01820 |•••••Red
Dark Brown••••••••••| 885828 | 509010 |•••••Dark Green
Lavender••••••••••••| c080f0 | 282828 |•••••Black


I might make a video tutorial later, if I do I'll certainly post it here. FYI, I use Photoshop CS5.

puzzledude

Quote from: «•CRIMSON•» on December 26, 2011, 12:10:14 AM
Wow, I definitely love the idea of this program. Hyrule Magic has been giving me headaches lately with color palettes. All I want and need, however, is a simple sprite editor. I'm working on a mod of ALTTP where you play as Zelda, sort of as a redemption from the VERY disappointing CD-i games, but I can not get HM to work properly. I even tweaked Photoshop AND MSPaint AND Paint.net AND the old XP version of MSPaint, still every time I "Paste" the new sprite in, the color palette get's messed up. Does anyone here know where I can find a simple sprite editor, or perhaps know how to do it via Black Magic?

The only photo program that is compatible with HM is Paint Shop Pro. See the Hyrule Magic Guide on how to do it. But there are two methods. I personally use the other one, where you extract all the gfx using a dos based Zcompress. You must do this, while the rom is still compatible to it, because HM tends to change the rom addresses. It is interesting but when the rom is compatible with Zcompress it is not with PaintShop and vice versa. Once you have the bin file, you can load it in YY-CHR. Here you can edit all the sprites (and everything else). To load a correct pallete you will need a save state file from Zsnes emulator. Once you have all the gfx done, recompress it into the rom (theres a you tube video on this).

MathOnNapkins

Collaborating with a certain someone on a python based, crossplatform UI. He did the GUI work, I'm working on the library itself still.









Quietus

Looks good.  Am I allowed to hope that the grid would indicate the annoying tiling issue has been removed, and it's actually more WYSIWYG, with tile for tile placement?

MathOnNapkins

You mean map32? (32x32 pixel blocks). Yeah, fuck that guy. Map32 is dead.

ICB

 :grin: :grin: :grin:

Awesome! Good riddance, map32! Also, glad to see you are still working on it. When can we expect to play with this shiny new toy?

Quietus

Quote from: MathOnNapkins on April 26, 2012, 04:57:44 PMMap32 is dead.
Great news.  I'm sure that a lot of people, myself included, were put of by the fiddliness of it.  It just made things so slooow. :^_^:

MathOnNapkins

I should point out that map32 was nothing more than a compression format. Why Hyrule Magic used it for direct editing is .... beyond me.

Quote from: ICB on April 27, 2012, 01:11:59 AM
:grin: :grin: :grin:

Awesome! Good riddance, map32! Also, glad to see you are still working on it. When can we expect to play with this shiny new toy?

Can't give any dates yet, but we're working on it. One of the things I'm racing to complete is a new system for dungeon editing. Let's just say it involves a custom programming language :cool:.

mdtaUK

As long as this custom language uses proper words, and a simple to read syntax!

MathOnNapkins

Quote from: mdtaUK on May 01, 2012, 03:05:00 PM
As long as this custom language uses proper words, and a simple to read syntax!

The portion of the language that I have finished is for manipulating and creating new dungeon 'objects' as Hyrule Magic calls them. They're basically drawing scripts. I've abstracted them somewhat in this format. You can judge for yourself whether it's easy enough to work with:
http://math.arc-nova.org/temp/objects_mockup.html
http://math.arc-nova.org/temp/blocks.html

Note: The blocks (blocks.html), once imported, will only have a graphical interface. This is just a started kit to add structure to the existing 'blocks' in the rom. We're also planning on a graphical interface for the objects too, at least in some capacity. It depends on how much of a pain it is to get the interpreter (as well as compiler) interfaced to the editor.

Qactis

Something similar to Lin's ZOSE tool for OoX?

MathOnNapkins

Ah yes, I was not aware that Lin had such a tool. But yeah, it's something very akin to that.

Qactis

ZOSE is probably the coolest thing about ZOLE :)

MathOnNapkins

Quick inquiries for y'all.

- I'm contemplating making it so that the target room of a warp object (those orange animated squares) in dungeons can be different for each warp object. Normally this would be the same for all warp objects in a given room, and would be controlled by a single number in the room's header. I'm also thinking of having the optional capability to let them serve as warps back to the Overworld. Any interest in this, or is this overkill? Regardless of what I do with that, I will be separating the warp target room from the "falling into pit" target room. In fact, the actual dungeon header will be obsolete after all the current modifications are done, as the room targets and planes will be encapsulated in the objects themselves. I was not planning on making pits have custom target rooms on a per pit basis, because I think that would be rather confusing for the player, but voice your opinion if you think otherwise.

- As I continue to work on the scripting elements, I have to wonder if perhaps there are some places to put event "hooks" I might be overlooking. I will summarize the following situations where I would most likely be interested in triggering a script:

  • Before you open a chest (to perhaps prevent you from opening it unless a condition has been met)
  • After you open a chest (like in Skull woods when pits appear after opening a chest)
  • After reading a sign / telepath tile
  • Stepping on a switch
  • Releasing a switch (for the ones that are held down)
  • Hitting a crystal switch with something
  • Killing an enemy or boss
  • Torches being lit or going out
  • Lifting a pot
  • Bopping a mole (maybe puzzles involving ordering of mole whacking or something like that)
  • Stepping within a designated rectangle


Charmander106

I think that everything your considering sounds good with me. Whatever makes this game a lot more easier to hack and allowing more freedom is just the kind of thing this game needs.

mdtaUK

Quote from: MathOnNapkins on May 14, 2012, 05:18:04 PM
Quick inquiries for y'all.

- I'm contemplating making it so that the target room of a warp object (those orange animated squares) in dungeons can be different for each warp object. Normally this would be the same for all warp objects in a given room, and would be controlled by a single number in the room's header. I'm also thinking of having the optional capability to let them serve as warps back to the Overworld. Any interest in this, or is this overkill? Regardless of what I do with that, I will be separating the warp target room from the "falling into pit" target room. In fact, the actual dungeon header will be obsolete after all the current modifications are done, as the room targets and planes will be encapsulated in the objects themselves. I was not planning on making pits have custom target rooms on a per pit basis, because I think that would be rather confusing for the player, but voice your opinion if you think otherwise.

- As I continue to work on the scripting elements, I have to wonder if perhaps there are some places to put event "hooks" I might be overlooking. I will summarize the following situations where I would most likely be interested in triggering a script:

  • Before you open a chest (to perhaps prevent you from opening it unless a condition has been met)
  • After you open a chest (like in Skull woods when pits appear after opening a chest)
  • After reading a sign / telepath tile
  • Stepping on a switch
  • Releasing a switch (for the ones that are held down)
  • Hitting a crystal switch with something
  • Killing an enemy or boss
  • Torches being lit or going out
  • Lifting a pot
  • Bopping a mole (maybe puzzles involving ordering of mole whacking or something like that)
  • Stepping within a designated rectangle


Here are some random thoughts...


12. Killing all enemies in a designated area/room
13. Using a specific item on a specific tile/rectangle (Quake medallion, Book of Mudora, Custom item)
14. Torches lit/Switches hit in a specific order
15. Trigger a specified animation (may be useful for cutscene scripting or response to event like praying to open the desert palace)
16. Camera Position Keyframe commands
17. NPC Sprite change/animation/position commands
18. Time based functions (time it takes to move from one position to another etc)
19. Trigger Overworld layout/marked sprite changes (like the water draining from the Dark World Swamp temple)
20. Not sure if possible, but the ability to have something like the Eagle Tower from Link's Awakening.  Destroy pillars to remove a floor of the temple
21. Ability to create custom ends for temples.  Boss with custom reward on defeat.  Portals to leave without a boss.  Place item on another sprite etc.

Zhs2

Quote from: mdtaUK20. Not sure if possible, but the ability to have something like the Eagle Tower from Link's Awakening.  Destroy pillars to remove a floor of the temple
Basically, custom fake enemy with specific vulnerabilities that either sets a bit or triggers a script when killed (the former for multiple enemies of the same type that need to be killed before a script is triggered, which is what I am assuming you were going for.)