News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Secret of Mana, Turbo - Beta 200920  (Read 345243 times)

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1220 on: March 13, 2020, 02:37:49 am »
Oh damn, I think we posted our comments at the same time (mine was update of the previous comment).  Uhh, I actually updated Enemy Behavior and Enemy Stat again.  Haha.  Well, please include that for the next update.  Thanks.

I intend on keeping Black Hex.  It's a cool name, and it's an "upgraded" version of Black Curse from SD3.  I hope you can figure out a method of making enemies use Black Hex while keeping Shadow Saber for PC (if NPC Evil Gate is ON).  Black Hex is much scarier than Evil Gate, I hope, esp when Dark Lich targets everyone with it.

Thanks for uploading all my stuff.  I think we both know there's gonna be more later (I keep trying and doing new things, for better or worse), so thanks in advance.

Wow, new Spell Data.  I need to take a look at that and see how much I can understand that.

I did not know there were two % signs.  Yeesh.  I hope I don't mix things up if I use those.
« Last Edit: March 13, 2020, 03:25:39 am by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1221 on: March 13, 2020, 05:39:57 am »
Yeah, we must have. D'oh.

I'll figure something out for Black Hex; the problem is that I can think of several ways to approach the rather complex compatibility stuff for it and I'm not sure which is best (best in this case being the least fragile, where it would be reasonable to adjust later if there's yet another freaking version of Evil Gate).

The "new" spell data definitions are primarily for use with the COPY directive. For example, in Evil_Gate_-_NPC_Version, before the new definitions it was:
Code: [Select]
@OFF SSE.Data.Extended.Black.4.2
COPY D033A0 40 ' Spell.Data.Evil_Gate
but now it's:
Code: [Select]
@OFF SSE.Data.Extended.Black.4.2
COPY Spell.Data.Evil_Gate Spell.Data.Size

Good news, there are 4 percent signs. :D
% ٪ % ﹪

The percent sign thing is going to be an annoyance; you'll need to either use one of the type-able stand-ins (pct or o/o), or search for one of the alternate symbols to copy-and-paste. The reason for the change that disallows a stand-alone normal percent sign %, is to allow better pseudo-macros such as:
Code: [Select]
/%OP%PHP%REP#1%30%TXA%XBA%LSR%PLP% INLINED|getCharFromOffset()Note the single % between each mnemonic, which was only possible if I made leftover single %'s vanish. The ZPS syntax has a fair number of limitations so I do what I can to stretch its capabilities.

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1222 on: March 13, 2020, 10:19:16 am »
Wow, your % explanation flew right over my head.  The only thing that I picked up was that there are 4 different % signs, and I'm guessing that each serve different purpose.

Sadly, my mind goes to something like this when I see the % sign:

https://i.kinja-img.com/gawker-media/image/upload/c_scale,f_auto,fl_progressive,q_80,w_1600/csoviz5fkeaadaqjouem.jpg

Yeah...

Btw, is there a way I can use the SSE.Data.Extended.Black for the description of a spell?  I want to create one for Thunder Saber and Light Saber (ones with Confuse and Balloon SE), but the space is too limited.  For Relocalized.

Queue

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1223 on: March 13, 2020, 12:34:24 pm »
SSE.Text.Extended.Extra.1 through SSE.Text.Extended.Extra.9 are available for stuff like you're asking (description replacements, etc.). You'd use it like:
Code: [Select]
@OFF Spell.Desc.Thunder_Saber
ADR.16 SSE.Text.Extended.Extra.1
@OFF SSE.Text.Extended.Extra.1
TEXT ^E le c t r i c al _ ha \n z a r d . \0
I think I put the \n in the right spot for a spell description; I hate having to do that. It's some sort of issue related to the original (official) English translation and that newline was a workaround for something they seem to have skipped reprogramming.



Those 4 percent signs are just visual options within unicode, you wouldn't use them any differently other than if you needed a certain specialized appearance to match certain text in style.

Percent sign example:
Code: [Select]
' these all result in the same character, pick one
' I'm using ٪, you just can't use the normal %
TEXT ^I d e n t i c a l _ p e r c e n t _ s i g n s _ ٪ % ﹪ o/o pct \0
' if you did use the normal one it wouldn't show in game
' because the patcher would erase it before converting it into
' the byte value the game uses for percent sign (0xC7)
TEXT ^T e % s t
TEXT ^T e s t
' those two would both use 4 bytes and have the same
' result in game because the % is simply vaporized
I'm using the percent sign with solid dots because it should be the easiest to tell apart from the normal %.

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1224 on: March 13, 2020, 10:26:32 pm »
Hmm.  I took a look at your new text characters, and C7 are all different types of percentages.  So, does that mean that whichever percentage sign I use, it'll ultimately translate into one percentage sign?  Not that I want to use different types of percentage signs or anything, but just curious.  Also, if I were to use "pct" in my TEXT (ex: TEXT pct), then would the ZPS translate into "TEXT C7", which will translate into showing the % sign?

Also, I made something for your [Thunder_Saber_-_Silence] and [Light_Saber_-_Balloon]:

Code: [Select]
IF [Text]
IF Relocalized
@OFF Spell.Desc.Thunder_Saber
ADR.16 SSE.Text.Extended.Extra.1
@OFF SSE.Text.Extended.Extra.1
TEXT _ 3 _ ^M ^P ,_ ^I m b u e_ \n w \ea p on s_ w it h _^W ^I ^N ^D _ & _ ^C ^O ^N ^F ^U ^S ^E \0
ENDIF x2

IF [Text]
IF Relocalized
@OFF Spell.Desc.Light_Saber
ADR.16 SSE.Text.Extended.Extra.2
@OFF SSE.Text.Extended.Extra.2
TEXT _ 5 _ ^M ^P ,_ ^I m b u e_ \n w \ea p on s_ w it h _ ^L ^I ^G ^H ^T _ & _ ^S ^T ^U ^N \0
ENDIF x2

The problem is, when I combine with my [Spell_Balance_Overhaul], the MP cost (in the description) does not correct it.  Thunder Saber is alright, since my patch doesn't even apply if Thunder Saber Confuse is on, but not Light Saber.  Do I correct it by putting the Spell.Desc.Light_Saber and SSE.Text.Extended.Extra.2 to my Spell Overhaul?  Or is there a way I can just add the "_ & _ ^S ^T ^U ^N \0" part at the end without the affecting the front part?  I'm not sure which is the best solution.  I currently have this:

Code: [Select]
IF Light_Saber_-_Balloon ' compat
IF [Text]
IF Relocalized
@OFF Spell.Info.Light_Saber
TEXT _ 3
ENDIF x3

But I'm thinking about this:

Code: [Select]
IF Light_Saber_-_Balloon ' compat
IF [Text]
IF Relocalized
@OFF Spell.Desc.Light_Saber
ADR.16 SSE.Text.Extended.Extra.2
@OFF SSE.Text.Extended.Extra.2
TEXT _ 3
ENDIF x3

If you can think of a better way, please tell me.
« Last Edit: March 14, 2020, 05:27:08 am by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1225 on: March 14, 2020, 10:13:14 am »
Yes, all of them would be turned into C7 before being put into the ROM.
The definitions are in the format:
Code: [Select]
/to fromWhere if something matches the "from" it gets converted into the "to" before final parsing.
So any number of "from"s can be mapped to the same "to".
TEXT = RAW
٪ = C7
pct = C7
\0 = 00
Code: [Select]
TEXT pct ٪ \0gets turned into:
Code: [Select]
RAW C7 C7 00
SSE.Text.Extended.Extra.2 is dynamically allocated, which means if you use it twice, the second use gets glued onto the end of it. If you looked in the ROM with what you have now, you'd see:
_ 5 _ ^M ^P ,_ ^I m b u e_ \n w \ea p on s_ w it h _ ^L ^I ^G ^H ^T _ & _ ^S ^T ^U ^N \0 _ 3
Where the _ 3 is just getting stuck on the end, not overwriting. There is a hacky workaround:
At the first use of SSE.Text.Extended.Extra.2, add the dynamic address that immediately precedes it, like so:
Code: [Select]
@OFF SSE.Text.Extended.Extra.1 ' to make sure this is initialized
@OFF SSE.Text.Extended.Extra.2
TEXT _ 5 _ ^M ^P ,_ ^I m b u e_ \n w \ea p on s_ w it h _ ^L ^I ^G ^H ^T _ & _ ^S ^T ^U ^N \0
Then when you want to overwrite SSE.Text.Extended.Extra.2, you do the following:
Code: [Select]
@OFF $%[]%00 ' have scratch space buffer writes
OFF SSE.Text.Extended.Extra.1 ' no @ causes overwrite of SSE.Text.Extended.Extra.2
TEXT _ 3

It's really complicated why this works, and it's very non-intuitive since you have to use the dynamic address that precedes the one you want to overwrite, and you have to use OFF without an @ which isn't typical. I'll see if I can come up with something that looks nicer / makes more sense.

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1226 on: March 14, 2020, 10:36:45 am »
It's really complicated why this works, and it's very non-intuitive since you have to use the dynamic address that precedes the one you want to overwrite, and you have to use OFF without an @ which isn't typical. I'll see if I can come up with something that looks nicer / makes more sense.

Yikes.  Yes, it's indeed quite non-intuitive.  Yeesh.  I mean, I can copy/paste what you posted, but I don't think I'll be able to replicate what happened in a different situation.  Yes, I'll leave the change to you.  Thank you.  -_-;

March 15, 2020, 06:03:16 am - (Auto Merged - Double Posts are not allowed before 7 days.)

Say, I know you modified the globe map for Kakkara and Ice Tropics, if certain conditions are fulfilled.  Will you be doing the same thing for the Sunken Continent?  I'm sure that's... WAY more work than the other two places, but I thought I should ask.

Also, don't enable Black Hax in just yet (sorry for messing around).  I'm thinking about switching Dispel Magic with Explode, and then making Black Hax instead of Explode (that way, Salamando will have Dispel Magic, and Shade will have both Shadow Saber and Black Hax).  It's just an idea that I'm working on.  Switching (well, recreating) the name, description, effect, and icon should be simple enough (thanks to all your macros), but graphic needs some work.  I need some time to work on it.  I may change my mind about something though.  Or give up the idea.

Also, could you please change my [Spell Balance Overhaul]?

Code: [Select]
@OFF Spell.Text.Silence  <<---- Please get rid of this (I'll keep the original Relocalized name "Confuse").
TEXT ^D i z z y \0

@OFF Spell.Info.Silence  <<---- Silence is an added bonus to Confuse SE, so I thought this desc would be better.  I was actually gonna do "+" instead of "& _", but I don't see that in the TEXT characters.
TEXT _ 1 _ ^M ^P ,_ ^C ^O ^N ^F ^U ^S \n ^E _ ( & _ ^S ^I ^L ^E ^N ^C ^E ) _ f o es \0

EDIT:  Wait, will replacing Dispel Magic with another spell mess things up with Magical Herb/Stardust Herb? (or Dispel Inn that you may do later?)  I wouldn't want one of those items to copy a different effect (Black Hax) or something.  That would be terrible.
« Last Edit: March 15, 2020, 10:37:05 pm by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1227 on: March 16, 2020, 06:38:06 pm »
I probably won't be making any changes to the Sunken Continent on the world map; the palette change and landing behavior change related to it rising and sinking (both in general, and for the "animation" when each happen) can't be realistically adapted to also include changed tiles, at least not without it looking bad. I may be doing something for the Pure Land cloud cover, but don't hold me to that, it's just brainstorming and I won't go through with it if I think it looks bad. Same with some other ideas I've been kicking around.

No, changing Dispel Magic should not affect the items nor an eventual Inn Dispel. The Inn Dispel turned out to be tougher than I'd hoped.

I was also out of town all weekend so getting back to this stuff tomorrow.

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1228 on: March 16, 2020, 11:40:49 pm »
Ahh.  Yeah, I figured the Sunken Continent change map will be ridiculously painful.  I didn't even think about Pure Land.  Hehe.

So, I was working on Exploder <--> Dispel Magic exchange codes.  Everything other than graphic (I figured I'll get to that later).  And changing Exploder to Black Hex (well, I had to change to Doom Hex, due to name space limit -- yes, I know I can change that to longer name, but I'm still in test phase).  But things aren't... working, and I have no idea what I'm doing wrong.  Here's what I have so far:

Code: [Select]
' copy spell function (copies any other changes already made to Dispel Magic, like Comprehensive Dispel)
@OFF Spell.List.Exploder
COPY Spell.List.Dispel_Magic 02

' copy spell data
@OFF Spell.Data.Exploder
COPY Spell.Data.Dispel_Magic Spell.Data.Size

' elemental summon animation fixup (after copying data)
@OFF Spell.Data.Exploder
ADR.16 $D185E0 ' animation script (elemental summon, salamando)
' element fixup (after copying data)
@OFF %Spell.Data.Exploder%Element%
RAW Spell.Element.Salamando

' [Dispel Magic - Evil Gate - Doom Hex]
@OFF Spell.List.Dispel_Magic
ADR.16 SSE.Func.Detrimental.StatsAndEffects
@OFF %Spell.Data.Dispel_Magic%Stat%
RAW SSE.Stat.All.Down
@OFF %Spell.Data.Dispel_Magic%Effect%
ADR.16 #0x2284 ' Poison, Pygmy, Confuse, Tangle
@OFF %Spell.Data.Dispel_Magic%Target%
RAW Spell.Target.Enemies
@OFF %Spell.Data.Dispel_Magic%Cost%
RAW 08

' [Icon Exchange]
@OFF $%[]%00
COPY D8FD98 02 '[Table_SalamandoIcons][01: Exploder]
COPY D8FDCA 02 '[Table_ShadeIcons][02: Dispel Magic]
@OFF $D8FD98 ' Exploder --> Dispel Magic (icon only)
COPY %[]%02 01
@OFF $D8FDCA ' Dispel Magic --> Exploder (icon only)
COPY %[]%00 01

' [Name Change]
@OFF Spell.Text.Exploder
TEXT ^D o^ o^ m^ _ ^H e^ x^ \0
IF [Text] ' compat
IF Relocalized
@OFF Spell.Text.Exploder
TEXT ^D oo m _ ^H e x \0
ENDIF x2

' [Name Exchange]
COPY Spell.Name.Exploder 02
COPY Spell.Name.Dispel_Magic 02
@OFF Spell.Name.Exploder
COPY %[]%02 02
@OFF Spell.Name.Dispel_Magic
COPY %[]%00 02

' [Description Exchange]
@OFF $%[]%00
COPY Spell.Desc.Exploder 02
COPY Spell.Desc.Dispel_Magic 02
@OFF Spell.Desc.Exploder
COPY %[]%02 02
@OFF Spell.Desc.Dispel_Magic
COPY %[]%00 02

IF [Text] ' compat
IF Relocalized
@OFF Spell.Info.Exploder
TEXT _ 8 _ ^M ^P ,_ ^C a us e_ \n v ar i ou s_ ^D e b u f f s_ & _ ^E f f e c t s \0
ENDIF x2
IF [Text]
IFNOT Relocalized
@OFF Spell.Info.Exploder
TEXT _ ^C a^ u^ s^ e^ s^ _ m^ a^ n^ y^ _ \n ^D e^ b^ u^ f^ f^ s^ _ & _ ^E f^ f^ e^ c^ t^ s^ . \0
ENDIF x2
IFNOT [Text]
@OFF Spell.Info.Exploder
TEXT _ ^C a^ u^ s^ e^ s^ _ m^ a^ n^ y^ _ \n ^D e^ b^ u^ f^ f^ s^ _ & _ ^E f^ f^ e^ c^ t^ s^ . \0
ENDIF

Can you please correct me on things I'm doing wrong?  I mean, I can just manually change things here and there, but I figured I should copy what you did for Dust Flare.
« Last Edit: March 17, 2020, 12:12:53 am by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1229 on: March 17, 2020, 12:33:46 am »
Missed a line here:
' [Name Exchange]
@OFF $%[]%00

But that's all that seems off. The now-Salamando Dispel Magic seemed to work, and the Shade Doom Hex spell was applying debuffs. I don't currently see the appeal in this swap, but if I may propose a concept for a name, something along the lines of Cleansing Flame could make sense for why a fire spell is stripping effects.

To keep testing simple, I was turning off Shadow Saber and Hellfire to avoid conflicts.

Edit: Another problem is how you're doing the name replacement: Relocalized only has room for 7 letters, but you're doing TEXT   ^D o^ o^ m^ _ ^H e^ x^ \0 without an IFNOT around it, so if Relocalized is On, Lava Wave's name gets messed up. If Relocalized has the same or more space than vanilla/VWF for the name, you can safely do it this way, or if your vanilla/VWF replacement name was the Relocalized limit or fewer.
« Last Edit: March 17, 2020, 12:41:12 am by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1230 on: March 17, 2020, 01:50:03 am »
Ooohh.  So that's what happened.  Thanks.  Also, an excellent point in the renaming of Fire Dispel.  Cleansing Flame sounds good too (although I want to avoid the same word of "fire" in spells -- Fire Ball, Flame Saber, Blaze Wall, etc.  I shall brainstorm for names, but Cleansing sounds great.  More on that later.

The reason I want this swap was because Useful Evil Gate and Hellfire were both a bit... ineffective against anything other than bosses (including your PC, unless multi-target).  And against bosses, it was a bit "don't think and kill it" type of deal.  Seriously, a 4-hit KO.  Melee becomes even more meaningless against bosses.  I want players to think a bit more.  And it's powerful against your PC, but not that powerful against bosses.  The reason I'm switching places with Dispel is because:
1. Have both Shadow Saber and Doom Hex (and Dispel Magic).
2. I don't want people to have such early access to All-Stat-Down + multi-SE spell so early in the game.
3. Have all menu icon and spell animation spells (including original Evil Gate animation, including the Lv9 animation).  I don't care about Exploder animation, since that's basically shortened version of Burst or Dark Force (the icon is the same as Dark Force), so I decided to replace that.  It's the main reason I used Hellfire.

Speakign of icon, I'm trying to do this:
Code: [Select]
@OFF $D8FD98 ' Exploder --> Dispel Magic (icon only)
RAW BA
@OFF $D8FDCA ' Dispel Magic --> Evil Gate (icon only)
RAW 36 A2


But is there a way to use the @OFF $%[]%00 method?  I got up to:
Code: [Select]
@OFF $%[]%00
COPY D8FD98 02 '[Table_SalamandoIcons][01: Exploder]
COPY D8FDC6 02 '[Table_ShadeIcons][00: Evil Gate]
COPY D8FDCA 02 '[Table_ShadeIcons][02: Dispel Magic]
@OFF $D8FD98 ' Exploder --> Dispel Magic (icon only)
COPY %[]%02 01
But how do I give Evil Gate icon to what used to be Dispel Magic? (which was replaced with Exploder)

The relocalized name should be okay, since relocalized Doom Hex combines "oo".  It should only count for 7 letters.

Oh whoops.  You're right.  That's what you meant.  Haha.  Yeah, I'll get that fixed.

What do you think is the best name?  Of course, you can suggest something completely different (hopefully, something within 12 char):
  Cleanse Heat
  Heat Cleanse
  Dispel Heat
  Heat Dispel
  Dispel Pyre
  Pyro-Dispel

I'm leaning towards Heat Cleanse.  I'm pretty sure there are real-life methods in using heat for hygiene purpose (such as boiling water, burning corpses to kill the disease, etc).  I just don't know what they're called.
« Last Edit: March 17, 2020, 04:44:39 am by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1231 on: March 17, 2020, 05:50:28 am »
If you're looking to use the old Evil Gate icon, but with Shadow Saber also On, that won't be possible with what you're currently trying. Shadow Saber overwrites the Evil Gate icon with its custom one with the sword. I should have time tomorrow to post what it'll require to overwrite the Exploder icon with the vanilla Evil Gate icon; I think that's effectively what you want.

Regardless, to clarify what's going on with the $%[]%00 temporary buffer, it's this:
$%[]%00 is a block of 256 bytes (the 00 at the end ranges from 0x00 to 0xFF).
@OFF $%[]%00
COPY   D8FD98 02   '[Table_SalamandoIcons][01: Exploder]
COPY   D8FDC6 02   '[Table_ShadeIcons][00: Evil Gate]
COPY   D8FDCA 02   '[Table_ShadeIcons][02: Dispel Magic]
is copying 6 bytes to $%[]%00; you're then copying those bytes to somewhere else.
For example, COPY %[]%00 02 is the same as COPY   D8FD98 02, because you copied the two bytes at D8FD98 to the first two bytes of %[]%00.
COPY %[]%02 02 is the same as COPY D8FDC6 02, because you copied the two bytes at D8FDC6 to the third and fourth bytes of %[]%00.
COPY %[]%04 02 is the same as COPY D8FDC6 02, because you copied the two bytes at D8FDC6 to the third and fourth bytes of %[]%00.

Okay, not sure if that clarifies anything, I'm tired and don't think I'm explaining this well.

With what you posted, I think you were trying to do:
Code: [Select]
@OFF $%[]%00
COPY D8FD98 02 ' bytes 00 & 01 '[Table_SalamandoIcons][01: Exploder]
COPY D8FDC6 02 ' bytes 02 & 03 '[Table_ShadeIcons][00: Evil Gate]
COPY D8FDCA 02 ' bytes 04 & 05 '[Table_ShadeIcons][02: Dispel Magic]
@OFF $D8FD98
COPY %[]%04 01 ' Exploder --> Dispel Magic (icon only)
@OFF $D8FDCA
COPY %[]%02 02 ' Dispel Magic --> Evil Gate (icon & palette)
Or more succinctly, since you're not using Exploder's icon:
Code: [Select]
@OFF $%[]%00
COPY D8FDC6 02 ' bytes 00 & 01 '[Table_ShadeIcons][00: Evil Gate]
COPY D8FDCA 02 ' bytes 02 & 03 '[Table_ShadeIcons][02: Dispel Magic]
@OFF $D8FD98
COPY %[]%02 01 ' Exploder --> Dispel Magic (icon only)
@OFF $D8FDCA
COPY %[]%00 02 ' Dispel Magic --> Evil Gate (icon & palette)
Or even more so, since the $%[]%00 buffer is really only needed to directly exchange two things:
Code: [Select]
@OFF $D8FD98
COPY D8FDCA 01 ' Exploder --> Dispel Magic (icon only)
@OFF $D8FDCA
COPY D8FDC6 02 ' Dispel Magic --> Evil Gate (icon & palette)
As long as you copy $D8FDCA before you overwrite it, the temporary copy isn't needed.

Interesting heat words related to cleansing:
cauterize (more of a healing term)
sterilize
pasteurize (this is for food with the intent of not damaging its flavor)
autoclave (a device used to heat sterilize)

Purify might also have potential. "Cleanse" has an unfortunate trendy meaning at the moment that basically relates to fad diets. Like, "heat cleanse" just makes me think it's some even stupider form of a "juice cleanse" (with fire instead of plants). The adjectival form, cleansing, isn't as burdened, but obviously just uses up more letters. =/

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1232 on: March 17, 2020, 07:36:49 am »
Oh... dang it.  Shadow Saber overwrites the icon.  Right.  Crap.  Indeed, I would want to overwrite Exploder with Evil Gate icon.  Thanks for noticing that.

I was looking up synonym for "cleanse", and indeed, purify was one of them, but for whatever reason, "heat purify" sounded a bit too holy (or does it?).  I was also thinking "purge", but I couldn't get that right.

And honestly, Doom Hex sounds pretty bad too.  I wanted to use "Darkurse", but "Dark" is being used by Dark Force.  Doomsday sounded too menacing for a non-dmg spell.  And I didn't want to use "Evil" either, since Shade is merely natural element (has nothing to do with "darkness" theme).  Hex Gate?  Hex Hole?

Man, naming is hard.  Gotta brainstorm s'more.

Any suggestion is welcome.

EDIT:  Wait, wasn't there Hellfire that used Evil Gate icon?  I used both Hellfire and Shadow Saber.  There must be a way I can use that.
« Last Edit: March 17, 2020, 08:05:48 am by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1233 on: March 17, 2020, 03:45:57 pm »
You could just go with "Hex" or "Curse" without a second word. Both are pretty solid "evil" spell names. "Jinx" also has potential as a one-word "Curse" equivalent. Don't get hung up on needing a second word: "Freeze" is just Freeze and not say, Icy Freeze, because it's already water element and doesn't need further explanation. Likewise, a "Curse" is already a dark / evil type of spell. If it was a curse of a non-evil element, like fire, an adjective to explain why an evil spell is fire element could be necessary.

"Consecrate" might be a potential one-word purifying fire spell name, though it's more associated with protecting from impurity than purifying itself. Yeah, I guess I'd name a fire defense buff Consecrate, the same way I'd name a fire healing spell Cauterize. Hmm... it's rather corny, but "Purifyre", where you just cheat and turn the end of the adjective into misspelled Fire, could work. I cringe at it a little, but don't think it's a total miss. I know you wanted to avoid reusing existing Fire synonyms, just brainstorming.

Search the ZPS file for:
Code: [Select]
@OFF $D28DC0 '[GraphicData_Icons_Exploder_01]
That's where Hellfire overwrites the Exploder graphic data with the Evil Gate graphic data. It doesn't copy it, because the Evil Gate graphics have already been overwritten by Shadow Saber by that point; likewise, Black Hex would need to do the same for the same reason. You can copy and paste what Hellfire uses:
Just below the ASM <.asm> for Hellfire is:
FILE <encoded>
FILE <decoded>
which you'll need, then you'll need the matching
&(mods)\Magic\spell_NewEffects\Hellfire\encoded
and
&(mods)\Magic\spell_NewEffects\Hellfire\decoded
sections (not just those lines, I'm just pointing you at where each virtual file begins) but obviously with the path altered to what Black Hex needs.

The renaming and description stuff you want to do is also complex enough that using the same formatting for vanilla / VWF / Relocalized text that Hellfire uses could be a good learning experience. It's the next step up in complexity from using IFs / IFNOTs (conditional assembly). Instead of a bunch of IFs / IFNOTs, it instead uses sub files (FILE <Vanilla> FILE <Reloc>) which each use REQ (short for require) to conditionally include their contents. Then you don't need two copies of the name / description for the IFNOT Relocalized case.

Oh right, and in response to a previous post where you said:
Quote
I was actually gonna do "+" instead of "& _", but I don't see that in the TEXT characters.
That's correct, there is no + character in SoM's font. & only even works in the menu screens and not normal text boxes (the menu font has & but the in-game text font does not). Not a problem for a spell description.

Edit:
SoM fonts (menu and VWF textbox, respectively):

« Last Edit: March 17, 2020, 04:30:08 pm by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1234 on: March 17, 2020, 09:46:51 pm »
Oh, you're right.  I can just use one word name.  Huh.  That never came across my mind, for some reason.  Okay, I'll go with Hex.  It sounds better than Curse or Jinx.  I was also thinking Oblivion, but that sounds way too grand (unless you think that's a better name than Hex).

As for Fire Dispel, I'm thinking Ash Panacea.

I didn't know about the possible fonts being different for menu and normal text.  Glad I didn't screw things up somewhere.

In order to do the "vanilla / VWF / Relocalized text" that Hellfire used, wouldn't the .asm thing differ, depending on the original address? (ex: &(mods)\Magic\spell_NewEffects\Hellfire\Vanilla\.asm)  Would my patch be under [Spell_System_Extensions]?  Hmm.  Well, I suppose that can be rearranged later.

I'm going to do some... things, and I'll post it.  I'd appreciate it if you can correct all the mistakes I'll probably make.

Queue

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1235 on: March 17, 2020, 11:17:51 pm »
Quote from: hmsong
In order to do the "vanilla / VWF / Relocalized text" that Hellfire used, wouldn't the .asm thing differ, depending on the original address? (ex: &(mods)\Magic\spell_NewEffects\Hellfire\Vanilla\.asm)  Would my patch be under [Spell_System_Extensions]?  Hmm.  Well, I suppose that can be rearranged later.
Yes, it would be something like:
&(mods)\Magic\SpellSystemExtensions\Hex\Vanilla (etc.)
And yes it should be under SpellSystemExtensions since your spell concept needs a SSE spell function (that isn't really related to the text, but whatever, you put the whole spell under SSE if any aspect of it needs SSE).

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1236 on: March 18, 2020, 02:07:43 am »
Hmm.  I got "some" part of the menu icon to work.  Of the 2 frames, I got the 1st one correctly, but the 2nd one isn't working (so it goes between Evil Gate icon and Explode icon).  Here's what I did (I'm using [Spell Balance Overhaul] slot as my test subject:

Code: [Select]
ASM <.asm>
FILE <encoded>
FILE <decoded>
FILE <Vanilla>
FILE <Reloc>
&(mods)\Magic\SpellBalanceOverhaul\.asm

' [Icon Exchange]
@OFF $D8FD98 ' Exploder --> Dispel Magic (icon + color)
RAW BA BB
@OFF $D8FDCA ' Dispel Magic --> Exploder (icon) + Evil Gate (color)
RAW 9A A2

&(mods)\Magic\SpellBalanceOverhaul\encoded
IF [Graphics]
IF Decode_Menu_Icons
REQ FALSE
ENDIF x2
ASM <.asm>
&(mods)\Magic\SpellBalanceOverhaul\encoded\.asm

@OFF $D28DC0 '[GraphicData_Icons_Exploder_01]
RAW FEFBFAFCF7F4F1EFE0F9C7E0F3CFC0F3
RAW 8FC0F987C0B987E0 3FFF3F0FFF0FF7FF
RAW 079F9F630707F93B03FD7F03FEFD018F
RAW BF80F1FEC07FDCC0BFE0E09FF9F9C6EF
RAW FFE0F0FFF0FCFFFC 9DE1079FE103CFF1
RAW 03CFF3039FE3078FF7073FEF2F7FDF5F

&(mods)\Magic\SpellBalanceOverhaul\decoded
REQ [Graphics]
REQ Decode_Menu_Icons
ASM <.asm>
&(mods)\Magic\SpellBalanceOverhaul\decoded\.asm

@OFF $D28DC0 '[GraphicData_Icons_Exploder_01]
RAW FEFBFCF7F1EFF9C7F3CFF38FF987B987
RAW FAF4E0E0C0C0C0E0 3FFF0FFFF7FF9F9F
RAW 07073B037F03FD013F0F0763F9FDFE8F
RAW BF80FEC0DCC0E0E0F9F9EFFFF0FFFCFF
RAW F17FBF9FC6E0F0FC 9DE19FE1CFF1CFF3
RAW 9FE38FF73FEF7FDF0703030307072F5F

Well, I did more than what I posted, but we're just talking about menu icon.  Did I miss something?

EDIT:  Okay, apparently, there's more than 2 frames.  Dang it.

March 18, 2020, 03:55:52 am - (Auto Merged - Double Posts are not allowed before 7 days.)

Hmm.  How do I change the animation color and target color for Dispel Magic? (which is now in Exploder slot)  I'm looking at the past posts, and I can't seem to find it.  For Dust Flare, there is this (for target color):

Code: [Select]
' [Target Color Change]
@OFF $D18B07 ' vanilla Speed Up low/mid
RAW 84
@OFF $D18B18 ' vanilla Speed Up high
RAW 84
@OFF $D18F2E ' vanilla Fire Bouquet
RAW 8F
' high level animation, target palette address $C8????
@OFF $DCFC3E ' Fire Bouquet, $C81000 + 0x1E * palette
'ADR.16 $C81F78 ' Fire Bouquet, $C81000 + 0x1E * 0x84
ADR.16 $C820C2 ' Dust Flare 3, $C81000 + 0x1E * 0x8F

' [Animation Color Change]
' num 557, idx 556, pal 136
@OFF $D18F34 ' Dust Flare 1/2 animation color
IF _Mud_Saber_-_Replaces_Stone_Saber ' compat
RAW B8 ' black and yellow
ENDIF
IFNOT _Mud_Saber_-_Replaces_Stone_Saber
RAW 7B ' black brown
ENDIF
' high level animation, effect palette address $D1????
@OFF $DCFC3A ' Fire Bouquet, $D1F600 + 0x0A * palette
'ADR.16 $D1FB50 ' Fire Bouquet, $D1F600 + 0x0A * 0x88
IF _Mud_Saber_-_Replaces_Stone_Saber ' compat
ADR.16 $D1FD30 ' Dust Flare 3, $D1F600 + 0x0A * 0xB8
ENDIF
IFNOT _Mud_Saber_-_Replaces_Stone_Saber
ADR.16 $D1FACE ' Dust Flare 3, $D1F600 + 0x0A * 0x7B
ENDIF

@OFF $D18B05 ' Speed Up 1/2 C8 animation color
RAW 88
@OFF $D18B16 ' Speed Up 3 C8 animation color
RAW 88

Dispel Magic doesn't have separate high level animation, so I just need to change it the regular way, but I don't know how you got the address for Speed Up low/mid and high.  I'm thinking about changing the target color to red (84).  I want to change the last parts for Dispel Magic (instead of blue spark, change to red spark), but I can't even experiment, since I don't know the addresses.

Btw, I just noticed that kethinov's Hellfire doesn't have high-level animation (how did I miss that?).  You'd probably want to add this:

Code: [Select]
' high level animation, hardcoded spell number
@OFF $C13A28
'CMP #24 ' Evil Gate
CMP #0D ' Hellfire (Exploder slot)

But again, I don't know how to find the addresses for target color and animation color.
« Last Edit: March 18, 2020, 03:59:48 am by hmsong »

kethinov

  • Full Member
  • ***
  • Posts: 142
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1237 on: March 18, 2020, 10:28:34 am »
FWIW sometimes I sacrificed high level animations in order to have room to code the low/medium animations, since there is not infinite space in the ROM bank to add new animations. So adding a high level animation may be nontrivial, depending on which spell we're editing. I can't recall if Hellfire was one of the harder ones in this regard or not, though I do recall Freezing Rain required such a tradeoff.

Queue

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1238 on: March 18, 2020, 03:33:11 pm »
It could have also been a matter of if Hellfire had a high level animation, Evil Gate then wouldn't, at least without some really serious work. On my to-do list is an overhaul of the high level animation system (the ones that are separate from typical spell animations) but it's low enough priority that I may never get to it.

hmsong, for now I'll try and explain the icon issue, and when I have another chunk of time I'll see about helping with the animations.

So first off, spell icons can either be two frames of animation with a 5 color palette, or they can be non-animated (one frame) with a 5 color palette that rotates.

Evil Gate's icon is the latter: one frame, the palette rotates to make it look like it's swirling.

Exploder and Dispel Magic are the two frame type.

The icon's palette value (the second byte) also specifies whether it's two frame or one frame with palette rotation. This is controlled by the highest bit in the palette value. For example, if you have an icon where you want to use palette 0x15 and one frame palette rotation, you'd just use the value 0x15, but if you wanted to use a two frame animation, you'd set the top bit (0x80), so you'd use the value 0x95. You could think of it as adding the value 0x80 to the palette number (or subtracting it to remove it from a value where two frame animation is enabled), but technically you should be using bitwise math:
0x15 | 0x80 = 0x95
0x95 ^ 0x80 = 0x15
0x15 ^ 0x80 = 0x95
0x95 & ~0x80 = 0x15
etc.

To try and clarify why 0x80 is "the highest bit" in an 8-bit 1-byte value:
0x15 = 00010101 (binary)
0x95 = 10010101
0x80 = 10000000

Secret of Mana's code checks if that top bit is 0 or 1 to decide if it will be a palette rotation icon or a two frame animation icon, and uses the other 7 bits as the palette number.

Practically, this means you won't be able to COPY or leave as-is a value for the Hex icon's palette, but will need to decide on the value and specify it explicitly, making sure whatever value you use doesn't have the highest bit set.


One more thing to mention, I'd already done some of the boilerplate setup for Black Hex. Up at the start of the ZPS file where the descriptions are, you can find:
0 0 0 _Black_Hex_-_Replaces_Evil_Gate
You can modify that to activate the Black_Hex virtual file I'd already added to SSE:
&(mods)\Magic\SpellSystemExtensions\Black_Hex

The three zeroes need to be changed as follows:
Code: [Select]
0 0 0
| | '- needs to be at least 1 to be usable
| '--- default Off if 0, default On if 1
'----- needs to be changed to 1 so it shows in the patcher
So for testing, it's easiest to set it to 1 1 1. Then you can do you experimenting in:
&(mods)\Magic\SpellSystemExtensions\Black_Hex
&(mods)\Magic\SpellSystemExtensions\Black_Hex\encoded
&(mods)\Magic\SpellSystemExtensions\Black_Hex\Vanilla
etc.

You can also search for and replace all instances of Black_Hex to Hex.

hmsong

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: Secret of Mana, Turbo - Beta 200312
« Reply #1239 on: March 18, 2020, 09:26:21 pm »
@kethinov

Oh.  So that's why.  Heh, I guess I didn't think things through.  Or rather, I didn't know better.  My bad.  Also, as Queue mentioned, it would screw up the regular Evil Gate animation graphic.  Again, I did not know this, but it makes sense now that I think about it (although I'm not sure why anyone would use Evil Gate when they're using Hellfire).  Thanks for telling me.



@Queue

Oh, so that's how it works.  That explains why your Shadow Saber icon rotates, instead of simply shining in 2-frame (other Saber icons simply shine, instead of "rotating").  Hehe.

Okay, got it to work (the menu icon).  Excellent.

As for enabling Black Hex, does it require "REQ [Magic]" and "REQ Spell_System_Extensions"?  My intuition tells me that you'd need those (Spell Balance Overhaul needed it), but spells like Shadow Saber and Dust Flare didn't have it...

Okay, here's what I have so far (minus re-name change, target color, and spell animation color).  I hope I didn't forget anything else:

Code: [Select]
&(mods)\Magic\SpellSystemExtensions\Black_Hex
REQ _Black_Hex_-_Replaces_Evil_Gate

' Title: Black Hex
' Author: hmsong
' Version: 0.0

ASM <.asm>
FILE <encoded>
FILE <decoded>
FILE <Vanilla>
FILE <Reloc>
&(mods)\Magic\SpellSystemExtensions\Black_Hex\.asm

' copy spell function (copies any other changes already made to Dispel Magic, like Comprehensive Dispel)
@OFF Spell.List.Exploder
COPY Spell.List.Dispel_Magic 02

' copy spell data
@OFF Spell.Data.Exploder
COPY Spell.Data.Dispel_Magic Spell.Data.Size

' elemental summon animation fixup (after copying data)
@OFF Spell.Data.Exploder
ADR.16 $D185E0 ' animation script (elemental summon, salamando)
' element fixup (after copying data)
@OFF %Spell.Data.Exploder%Element%
RAW Spell.Element.Salamando

' [Animation Change (Dispel Magic --> Evil Gate)]
@OFF $D03420
RAW 4A86 2905 2905 2905
RAW 9700 426E 0000 9C94
RAW 9700 426E 0000 9C94
RAW 9700 446E 0000 9C94
RAW 9700 446E 0000 9C94
RAW 970E 446E 0000 F694
RAW 970E 446E 0000 F694

' high level animation, hardcoded spell number
@OFF $C13A28
'CMP #24 ' Evil Gate
CMP #26 ' Black Hex (Dispel Magic slot)

' [Dispel Magic slot - Black Hex]
@OFF Spell.List.Dispel_Magic
ADR.16 SSE.Func.Detrimental.StatsAndEffects
@OFF %Spell.Data.Dispel_Magic%Stat%
RAW SSE.Stat.All.Down
@OFF %Spell.Data.Dispel_Magic%Effect%
ADR.16 #0x2284 ' Poison, Pygmy, Confuse, Tangle
@OFF %Spell.Data.Dispel_Magic%Target%
RAW Spell.Target.Enemies
@OFF %Spell.Data.Dispel_Magic%Cost%
RAW 08

' [Animation Color Change]

' [Target Color Change]

' [Icon Exchange]
@OFF $D8FD98 ' Exploder --> Dispel Magic (icon + color)
RAW BA BB
@OFF $D8FDCA ' Dispel Magic --> Exploder (icon) + Evil Gate (color)
RAW 1A A2 ' (9A is for 2-frame animation, and -0x80 is for 1-frame rotation)

' [Name Exchange]
@OFF $%[]%00
COPY Spell.Name.Exploder 02
COPY Spell.Name.Dispel_Magic 02
@OFF Spell.Name.Exploder
COPY %[]%02 02
@OFF Spell.Name.Dispel_Magic
COPY %[]%00 02

' [Description Exchange]
@OFF $%[]%00
COPY Spell.Desc.Exploder 02
COPY Spell.Desc.Dispel_Magic 02
@OFF Spell.Desc.Exploder
COPY %[]%02 02
@OFF Spell.Desc.Dispel_Magic
COPY %[]%00 02

' ---

' [Enemy Spell Change]
@OFF $D073B0 ' Bomb Bee Exploder --> Burst
RAW 1F
@OFF $D08182 ' Imp Exploder --> Blaze Wall
RAW 11
IF _Inferno_Barrier_-_Replaces_Blaze_Wall ' compat
@OFF $D0817F ' Imp Inferno Barrier target = Self
RAW C4
ENDIF
@OFF $D08B41 ' Captain Duck Exploder --> Lava Wave
RAW 0E
@OFF $D097D3 ' Fiend Head Exploder --> Acid Storm
RAW 07
@OFF $D0A2EE ' Master Ninja Exploder --> Thunderbolt
RAW 13
@OFF $D0672D ' Wizard Eye Dispel Magic --> Dispell Ash
RAW 0D
@OFF $D06740 ' Wizard Eye Dispel Magic --> Dispell Ash
RAW 0D
@OFF $D06A57 ' Grave Bat Dispel Magic --> Dispell Ash
RAW 0D
IFNOT _Evil_Gate_-_NPC_Version ' compat
@OFF $D090CF ' Gremlin Evil Gate --> Black Hex
RAW 26
@OFF $D09979 ' National Scar Evil Gate --> Black Hex
RAW 26
@OFF $D09986 ' National Scar Evil Gate --> Black Hex
RAW 26
ENDIF
@OFF $D09956 ' National Scar Dispel Magic --> Dispell Ash
RAW 0D
@OFF $D09963 ' National Scar Dispel Magic --> Dispell Ash
RAW 0D
@OFF $D09A3B ' Dark Stalker Dispel Magic --> Dispell Ash
RAW 0D

@OFF $C2943E ' Mana Beast Dispel Magic --> Dispell Ash
RAW 0D
@OFF $C2E109 ' Fire Gigas Exploder --> Fire Bouquet
RAW 10
IF _Dust_Flare_-_Replaces_Fire_Bouquet ' compat
@OFF $C2E10A ' Fire Gigas Speed Up Target = Self
RAW 02
@OFF $C2E97D ' Dark Lich HP Absorb (one) --> Black Hex (all)
'RAW 08 00
RAW 26 01
ENDIF
IFNOT _Dust_Flare_-_Replaces_Fire_Bouquet ' compat
@OFF $C2E98B ' Dark Lich Dispel Magic (one) --> Black Hex (all)
'RAW 26 00
RAW 26 01
ENDIF
@OFF $C2E273 ' Hexas Dispel Magic --> Dark Force
RAW 25
@OFF $C2E755 ' Buffy Dispel Magic --> Dispell Ash
RAW 0D
@OFF $C2F128 ' Red Dragon Exploder --> Lava Wave
RAW 0E

&(mods)\Magic\SpellSystemExtensions\Black_Hex\encoded
IF [Graphics]
IF Decode_Menu_Icons
REQ FALSE
ENDIF x2
ASM <.asm>
&(mods)\Magic\SpellSystemExtensions\Black_Hex\encoded\.asm

@OFF $D28DC0 '[GraphicData_Icons_Exploder_01]
RAW FEFBFAFCF7F4F1EFE0F9C7E0F3CFC0F3
RAW 8FC0F987C0B987E0 3FFF3F0FFF0FF7FF
RAW 079F9F630707F93B03FD7F03FEFD018F
RAW BF80F1FEC07FDCC0BFE0E09FF9F9C6EF
RAW FFE0F0FFF0FCFFFC 9DE1079FE103CFF1
RAW 03CFF3039FE3078FF7073FEF2F7FDF5F

&(mods)\Magic\SpellSystemExtensions\Black_Hex\decoded
REQ [Graphics]
REQ Decode_Menu_Icons
ASM <.asm>
&(mods)\Magic\SpellSystemExtensions\Black_Hex\decoded\.asm

@OFF $D28DC0 '[GraphicData_Icons_Exploder_01]
RAW FEFBFCF7F1EFF9C7F3CFF38FF987B987
RAW FAF4E0E0C0C0C0E0 3FFF0FFFF7FF9F9F
RAW 07073B037F03FD013F0F0763F9FDFE8F
RAW BF80FEC0DCC0E0E0F9F9EFFFF0FFFCFF
RAW F17FBF9FC6E0F0FC 9DE19FE1CFF1CFF3
RAW 9FE38FF73FEF7FDF0703030307072F5F

&(mods)\Magic\SpellSystemExtensions\Black_Hex\Vanilla
IF [Text]
IF Relocalized
REQ FALSE
ENDIF x2
ASM <.asm>
&(mods)\Magic\SpellSystemExtensions\Black_Hex\Vanilla\.asm

@OFF Spell.Text.Exploder
TEXT ^H e^ x^ \0
@OFF Spell.Text.Dispel_Magic
TEXT ^D i^ s^ p^ e^ l^ l^ _ ^A s^ h^ \0
@OFF Spell.Info.Exploder
TEXT _ ^C a^ u^ s^ e^ s^ _ m^ a^ n^ y^ _ \n d^ e^ b^ u^ f^ f^ s^ _ & _ e^ f^ f^ e^ c^ t^ s^ . \0

&(mods)\Magic\SpellSystemExtensions\Black_Hex\Reloc
REQ [Text]
REQ Relocalized ' compat
ASM <.asm>
&(mods)\Magic\SpellSystemExtensions\Black_Hex\Reloc\.asm

@OFF Spell.Text.Exploder
TEXT ^H e x \0
@OFF Spell.Text.Dispel_Magic
TEXT ^D is p e ll _ ^A s h \0
@OFF Spell.Info.Exploder
TEXT _ 8 _ ^M ^P ,_ ^C a us e_ \n v ar i ou s_ ^D e b u f f s_ & _ ^E f f e c t s \0

Also, how do I make this patch get ignored if either Useful Evil Gate or Hellfire is ON?

Also, please keep the name Black Hex (instead of Hex) for the patch name.  I'm gonna use that after all (using your name-extension macro).  Thanks.

EDIT:  Okay, I did this for the name (4.1 doesn't seem to be in use), but it doesn't seem to work the way I'd like.  Uhh, please help?  And I changed DeMagic Ash to Dispell Magic.

Code: [Select]
@OFF Spell.Text.Exploder ---------------vanilla
ADR.16 SSE.Text.Extended.Black.4.1
@OFF SSE.Text.Extended.Black.4.1
TEXT ^B l^ a^ c^ k^ _ ^H e^ x^ \0

@OFF Spell.Text.Exploder ---------------reloc
ADR.16 SSE.Text.Extended.Black.4.1
@OFF SSE.Text.Extended.Black.4.1
TEXT ^B l a ck _ ^H e x \0
« Last Edit: March 19, 2020, 12:14:04 am by hmsong »