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

Author Topic: Secret of Mana, Turbo - Beta 200211  (Read 189435 times)

Queue

  • Sr. Member
  • ****
  • Posts: 293
    • View Profile
Re: Secret of Mana, Turbo - Beta 191210
« Reply #1040 on: December 15, 2019, 01:49:35 pm »
Mana Magic makes your attacks Dryad element, and since the Mana Beast is Dryad element... Strong_Element_Immunity + element match = 0 damage.

Obviously something that'll need to be dealt with. Not sure yet if I'll make Mana Magic bypass the element checks, or if I'll remove Dryad element from Mana Magic. The latter seems like it's actually the cleaner fix, but I'll want to verify there isn't an unexpected side effect (for example, I think some code checks if your weapon has a non-zero element value, so if Mana Magic doesn't set an element, that check will show as false even though you do have a weapon buff active).

Got all those changes to your patches added. You did all those IF's and IFNOT's perfectly. It's a huge pain in the butt that ZPS's syntax doesn't have slightly better conditionals so we wouldn't have to specify all the permutations for a negative case ourselves. In this circumstance, both to make it more readable and easier to change later, I think I'd recommend the following:
Code: [Select]
@OFF $C2E273 ' Hexas Dispel --> Dark Force
RAW 25
IF [Magic]
IF Spell_System_Extensions
IF _Lunar_Magic_-_Celestial_Cascade ' compat
@OFF $C2E273 ' Hexas Dispel --> Lunar Magic
RAW 1A
ENDIF x3
This style doesn't bother with specifying what to do if Lunar_Magic_-_Celestial_Cascade is Off; instead it just always changes it to Dark Force first, then if Lunar_Magic_-_Celestial_Cascade is On, overwrite the Dark Force change with Lunar Magic. In this case, it's required to have the second @OFF $C2E273. In some cases this isn't feasible, such as if using an @-symbol-prefixed address, but for $-symbol-prefixed addresses it's okay to keep overwriting the same address.

You have IFNOT Harder_Final_Boss on all the Dark Lich changes except HP Absorb -> MP Absorb; just wanted to verify that was intentional.

I'm surprised you didn't add engulf to the Mana Beast's fire spiral, or other status effects to his attacks in general.

Edit: Also, Harder_Final_Boss is applied after Enemy_Behavior_Changes and simply overwrites any of the Lich spell changes Enemy_Behavior_Changes makes, so the IFNOT Harder_Final_Boss stuff actually isn't necessary. Additionally, Evil_Gate_-_NPC_Version happens after all of that and overwrites one of his spell changes as well, which probably shouldn't be happening.
« Last Edit: December 15, 2019, 02:39:26 pm by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 322
    • View Profile
Re: Secret of Mana, Turbo - Beta 191210
« Reply #1041 on: December 15, 2019, 06:10:04 pm »
Oh yeah.

All your suggestions make perfect sense to me.  Should I fix them and repost?  Or will you do that for me?  Either way works.

Oh yeah, now that I look at it, MP Absorb should not be applied if Harder Final Boss is applied.  So no, it was not intentional.  My mistake.

And yes, Fire Spiral Breath should have Engulf.  Good idea.  Very good idea.  Why didn't that cross my mind?  Also, for other melee attacks, do you think adding SE is a good idea?  What SE do you think is a good idea?  None of them seem "natural", although Sleep is very common among boss melee attacks.

Oh yeah.  Evil_Gate_-_NPC_Version.  I'm not entirely sure what to do with that.  I don't think Useful_Evil_Gate changes NPC version of Evil Gate, meaning I shouldn't make it multi-target.  And if I turn on the Shadow Saber and NPC Evil Gate, I think it'll just cast NPC Evil Gate.  Hmm.  Should I just remove Dark Lich's Shadow Saber?

Queue

  • Sr. Member
  • ****
  • Posts: 293
    • View Profile
Re: Secret of Mana, Turbo - Beta 191210
« Reply #1042 on: December 15, 2019, 06:13:20 pm »
I'll take care of them. When I pointed out Evil_Gate_-_NPC_Version, that was just me noticing I'd forgotten compatibility fixups for it.

I don't disagree regarding Mana Beast melee; fire spiral it makes sense, the other attacks it'd probably be a little forced.

hmsong

  • Sr. Member
  • ****
  • Posts: 322
    • View Profile
Re: Secret of Mana, Turbo - Beta 191210
« Reply #1043 on: December 15, 2019, 06:16:24 pm »
When you do the fixup for NPC Evil Gate, you may want to add Gremlin and National Scar's Evil Gates (unless you already did that, or you want to have them cast Shadow Saber on your allies).  And thank you for the fixups for my patches.

Queue

  • Sr. Member
  • ****
  • Posts: 293
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1044 on: December 16, 2019, 05:19:48 pm »
Version 2019-12-16:
https://ufile.io/8pellyr1

Changes:
- Compatibility fixups added to Evil_Gate_-_NPC_Version for Enemy_Behavior_Changes and Harder_Final_Boss
- Evil_Gate_-_NPC_Version now affects Gremlin and National Scar
- Bonus_Weapon_Damage removes Dryad element damage from Mana Magic to prevent unintended interaction with enemy elemental resistances
- Improved New_Game_Plus prompt to resolve the glitchy text highlighting
- Updated hmsong's Enemy_Type_And_Element_Changes, Enemy_Stat_Changes and Enemy_Behavior_Changes



hmsong, I went ahead and added Engulf to the Mana Beast's fire spiral in Enemy_Stat_Changes; let me know if you want it kept or removed, moved to Enemy_Behavior_Changes, etc.

Additionally, if you can double check that I got all the changes to your patches how you wanted, and that I got the descriptions updated accurately, that'd be great.

Thanks for pointing out the missing Gremlin and National Scar Evil Gate spell casts; I had just accidentally overlooked them.

Mr X, I still haven't gotten the girl (or sprite) to jam up when they're charging and I make them cast a spell. There must be some specific circumstance that makes it happen that I've somehow kept missing. I've had them at all sorts of ACT settings, all sorts of max charge level (in ACT settings), various weapon types, tried making them cast using both the normal spell casting and QuickSpell casting, when they're part way through charging, when they're at full charge, casting single target, multi-target, on themselves, party members, enemies, bosses... I remember having told them to cast and them not doing so in the past, but I don't think I've seen it happen even once since I started trying to get this figured out. I've mostly been testing with an endgame save, so I'm suspicious that high defense / lots of immunities is interfering, but haven't gotten to non-endgame tests yet.

hmsong

  • Sr. Member
  • ****
  • Posts: 322
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1045 on: December 16, 2019, 09:08:47 pm »
@Queue

Thanks for the update.  They all work well.  Few things though:
- From [Enemy_Behavior_Changes], I see you removed Flame Saber from Dark Ninja.  I know it was the vanilla behavior, and you were probably wondering why I needed to do what I did before.  My intent was to have Dark Ninja keep his Flame Saber (instead of the new Thunder Saber) if Dark Stalker used Shadow Saber (Dark Stalker would use Flame Saber instead of Ice Saber if Shadow Saber was OFF).  I wanted one (and only one) of the ninjas to use Flame Saber, no matter what the setting was.  I'd appreciate it if you can add that back in (using your new programming method):

Code: [Select]
@OFF $D09407 ' Dark Ninja Flame Saber --> Thunder Saber
RAW 15
IF [Magic]
IF Spell_System_Extensions
IF _Shadow_Saber_-_Replaces_Evil_Gate ' compat
@OFF $D09407 ' Dark Ninja Flame Saber --> Flame Saber (original)
RAW 0F
ENDIF x3

Everything else looks great.

- The description for [Enemy_Stat_Changes] is great.  I assume you'll add that Mana Beast's Fire Spiral Breath adds Engulf SE.  You probably held back on that, because you weren't sure if I'd want the Engulf breath on [Enemy_Stat_Changes].  Yes, please add that, thank you.

- It would seem [Axe_Beak_-_Sonic_Sleep] is still not working.  Neither the Sonic nor Sleep.

Queue

  • Sr. Member
  • ****
  • Posts: 293
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1046 on: December 16, 2019, 10:09:12 pm »
Whoops, the removal of the Dark Ninja spell change was just an accident. I was replacing some of the conditional logic (the IFs/IFNOTs) and forgot to put that one back after removing what was there. Already fixed for the next release.

Got a note added about the Fire Spiral Breath +Engulf as well.

Haven't had a chance to look at Axe_Beak_-_Sonic_Sleep again yet. I suspect that despite the change I made, Axe Beak is still reverting to his default weapon before each attack.

hmsong

  • Sr. Member
  • ****
  • Posts: 322
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1047 on: December 18, 2019, 02:33:18 am »
@Queue

Hey, do you know how to change the amount of money for the already existing money treasure chests? (ex: Potos, Pandora, etc)  I think I already know the location of the chest, but I don't know how to change the amount.

Potos: C8/C448
Pandora: C8/C608, C8/C610, C8/C618, C8/C620

They are all 50 GP, but I'd like to increase that (100? 250?).

Based on what kethinov did, you would need separate patch for VWF/Relocalized for large amount, but I want to limit it to not doing that (my guess is 255 is max, since that's the limit for 1-byte).
« Last Edit: December 18, 2019, 03:38:19 am by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 293
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1048 on: December 18, 2019, 04:25:49 am »
You need compatibility fixups for VWF and Relocalized regardless of gold amount. All pre-placed chests are essentially NPCs with an interaction event attached to them, and it's those event scripts that need the compatibility junk since VWF and Relocalized each entirely supplant the vanilla event scripts.

Gold adding or subtracting in events is always a 16-bit value (using event commands 0x36 and 0x37, respectively).

Event 67E is for the 1000 GP chests, and 67F for the 50 GP chests. In vanilla, event 67E starts at $CA8E6F and 67F starts at $CA8E8C.

For VWF, changing the text that says how much gold the chest contains is harder than changing the amount it actually gives due to VWF's text encoding.

There are various ways to accomplish the compatibility fixups, two examples: you can alter all three separately, or you can alter the vanilla version and redirect both VWF and Relocalized to use the vanilla event.

hmsong

  • Sr. Member
  • ****
  • Posts: 322
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1049 on: December 18, 2019, 09:32:17 am »
Crap.  That sounds way more complicated that I'd like.  I wanted to change all of 50 GP chests (Potos, Witch's Castle, 4 from Pandora, and kethinov's Matango Inn and Northtown chest) into 250 GP chests.  50 GP is so unbelievably little, even for the beginning (Bandana and Wristband cost 50 GP each, and the price for everything goes up very quickly from there).

I can roughly guess that changing all of 50 GP chest is $CA8E9D for vanilla (thanks for the hint), but I'm so lost for changing thing for VWF and Relocalized.  Esp with text changing.  If possible, could you create a patch for for that?

Queue

  • Sr. Member
  • ****
  • Posts: 293
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1050 on: December 18, 2019, 03:21:22 pm »
I'd rather try and show you how to make the changes you want. Very seriously, this is a 30 second change (then +5 minutes to add the Relocalized fixup, and maybe +50 minutes for the VWF Edition fixup), but since this one's fairly straightforward I'd rather spend an hour trying to explain how event scripts work and what needs to be changed since it's not too complicated.

This one is really simple, other than the VWF text fixup, but I can also show one of the approaches that keeps things from being too difficult. Also, yes, you identified the gold adding command correctly.



First I'll break down event 67F. Starting at $CA8E8C is:
Code: [Select]
50
5D
5F
8080A08F958E8480BAB580A1AAC8
363200
5F
2800
51
5E
02
00
ZPS RAW syntax and annotated:
Code: [Select]
@OFF $CA8E8C
RAW 50 ' open text box
RAW 5D ' open gold box
RAW 5F ' refresh gold box
RAW 8080A08F958E8480BAB580A1AAC8
' _ _ F o u n d _ 5 0 _ G P !
RAW 363200 ' add 50 (0x32) gold
RAW 5F ' refresh gold box
RAW 2800 ' wait for input
RAW 51 ' close text box
RAW 5E ' close gold box
RAW 02 ' return
RAW 00 ' end
And in ZPS event syntax:
Code: [Select]
@OFF $CA8E8C
\event \text_open
\event \gold_open
\event \gold_refresh
TEXT _ _ ^F o u n d _ 5 0 _ ^G ^P !
\event \gold_add==
ADR.16 #0x0032
\event \gold_refresh
\event \wait_input
\event \text_close
\event \gold_close
\event \ret
\event \end

So the tricky part with the vanilla text edit is the event has to stay the same total size. It's 27 (0x1B) bytes total. If you make it larger, even 28 bytes, it will overwrite part of event 680, which happens to be the Potos basement chest (which calls event 67F); at best it would break that chest, at worst it would break the game.

To change that "Found 50 GP!" message to say, for example, "Found 250 GP!" you'll need 1 more byte to add the "2" so here are some options:
- relocate the event so it has more space (overkill in this case)
- steal the "\end" byte because the event has a "\ret" which causes the event to return so the "\end" is never used
- steal one of the leading spaces; this will change how it looks, but might be a bearable compromise
- convert some text into DTE, meaning 1 byte displays two characters; "ou" has a DTE value for example, so in ZPS event syntax it would be:
Code: [Select]
TEXT _ _ ^F ou n d _ 2 5 0 _ ^G ^P !Notice how the ou don't have a space between them. The list of the game's text encoding is available in the Turbo ZPS if you search for &(engine)\EventSystem\chartable.adf (it's somewhat near the beginning of the file).

There's also a DTE value for d_ which would mean even less bytes changed:
Code: [Select]
TEXT _ _ ^F o u n d_ 2 5 0 _ ^G ^P !
Personally, I'd either steal the \end byte or use DTE. The second DTE option (d_) is probably the most elegant (2 byte change for the text, 1 byte for the gold amount).

I hope that made the change for vanilla look pretty painless. There are multiple solutions, the change itself is fairly small, etc.



What complicates things for Relocalized compatibility is how much the text changed (in addition to it being located somewhere else). Instead of:
Code: [Select]
TEXT _ _ ^F o u n d _ 5 0 _ ^G ^P !in Relocalized the message becomes:
Code: [Select]
TEXT \n _ _ _ _ _ _ & & & & ^F o u n d _ 5 0 _ ^L u c r e !(and event 67F is located at $E2EA12). Those "&"s don't show in the text box as & symbols, but instead as very small spaces.

If you just redirected the Relocalized event to the vanilla event, it wouldn't be centered in the text box (that's what the \n and all the spaces are for), and it would show GP instead of Lucre.

The same change that was made to the vanilla event could be made to the Relocalized event (for example, using DTE for the ou or d_ in Found_). Alternatively, taking one of the spaces or tiny spaces (&) may make more sense to keep the message centered. This would probably require testing in game to see what looks best (hence the 5 minute estimate).

Before starting on this post, I assumed that redirecting the event would be the easy approach, but if you want to avoid changing how the message looks and preserve the GP -> Lucre change, you'd need to change the Relocalized event itself.



And now the difficult one, VWF Edition. Event 67F is located at $E2E941, but if you go look there, the text appears to be scrambled. Because it is. VWF Edition uses a text encoding where each letter depends on the previous that makes it very difficult to edit.

It's safest to just assume that changing the encoded text isn't a viable option (it can be done, but it's super annoying). Instead you can make VWF Edition treat it as un-encoded text and then just use the game's vanilla text encoding to overwrite all the text in that specific event.

First, we need to change the VWF Edition event pointer for event 67F. VWF Edition (and by extension, Relocalized) has a single huge list of 24-bit addresses for all 0x800 of its events located at $E06000. 24-bit addresses means 3 bytes each, so the address for event 67F is stored at $E0737D ($E06000 + 0x67F * 3). Like its text though, VWF Edition encodes its event pointers. A second list of 24-bit values is located at $E07E03, and is a value that's XOR'd against the value from the list at $E06000. Event 67F's pointer XOR is located at $E09180 ($E07E03 + 0x67F * 3).

To make VWF Edition use un-encoded text, the final address it is told to locate the event script needs to be changed from $E2E941 to $A2E941 (which is $E2E941 XOR 0x400000). The reason for this is complicated and has to do with SNES memory mapping, mirroring, and VWF Edition's own logic that decides whether to process the text as encoded or not.

You have 4 options. In all cases, keep little-endian byte order in mind.
1) Change the value at $E0737D to 0x50D3AF (0x10D3AF XOR 0x400000).
2) Change the value at $E09180 to 0xB23AEE (0xF23AEE XOR 0x400000).
3) Change the value at $E0737D to $A2E941 and $E09180 to 0x000000.
4) Change the value at $E0737D to $E2E941 and $E09180 to 0x400000.

I'd argue option 4 is the best and most correct. $E0737D then contains a literal pointer to the real address of event 67F, and $E09180 contains a XOR value to disable text encoding for event 67F.

With that change made (I know this part is much more complicated than vanilla or Relocalized, don't be discouraged if you've gotten lost or confused) but without changing the event yet, the text in game should now be scrambled for event 67F. If you went and opened a 50 GP chest you'd see a text box containing:
Quote
PCeMx'mR?kD7XJ0'5cok"7kQ

But now you can replace the text, first with what it's supposed to be:
Code: [Select]
TEXT \n _ _ _ _ _ _ _ _ & & & & ^F o u n d _ 5 0 _ ^G ^P !Notice it has 2 more leading spaces than Relocalized, again related to centering the text.

Which you can then change into what you want.
« Last Edit: December 18, 2019, 06:50:15 pm by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 322
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1051 on: December 18, 2019, 06:48:06 pm »
I am sad to say that I'm already lost in the first step for the vanilla (which apparently is supposed to be easy, relative to the Relocalized/VWF).  How do you "steal" the \end byte?  Do I just erase that line (\event   \end), and then add the "2" in the text?  I don't get how that works.

As for Relocalized, I'd like to stick with the relocalized default, so I have no problem with Lucre.  But again, I have no idea how to steal things.

I can't even begin to understand VWF.  That thing looks very complicated.  What the heck?

Btw, I can only look through Relocalized/VWF things using hex editor (vanilla, I can look at using the documents that zoolgremlin gave me).  So I can't even use the cool shortcuts, and I have to use individual letters.  Do you happen to have the documents for Relocalized?

In the interest of saving some reply time, I attempted the following.  Am I doing this right?

Code: [Select]
@OFF $CA8E8C
\event \text_open
\event \gold_open
\event \gold_refresh
TEXT _ _ ^F o u n d _ 2 5 0 _ ^G ^P !
\event \gold_add==
ADR.16 #0x00FA
\event \gold_refresh
\event \wait_input
\event \text_close
\event \gold_close
\event \ret

@OFF $E2EA12
\event \text_open
\event \gold_open
\event \gold_refresh
TEXT \n _ _ _ _ _ _ & & & ^F o u n d _ 2 5 0 _ ^L u c r e !
\event \gold_add==
ADR.16 #0x00FA
\event \gold_refresh
\event \wait_input
\event \text_close
\event \gold_close
\event \ret
\event \end
« Last Edit: December 18, 2019, 07:04:02 pm by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 293
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1052 on: December 18, 2019, 07:03:46 pm »
Let's see, by steal I basically mean relocate. Going to show it as raw bytes because it might make the change clearer. Here's vanilla event 67F as 27 bytes:
Code: [Select]
505D5F8080A08F958E8480BAB580A1AAC83632005F2800515E0200And here it is with the \end byte "stolen" and the values changed to be 250:
Code: [Select]
505D5F8080A08F958E8480B7BAB580A1AAC836FA005F2800515E02And here it is with the bytes for "d" and "_" in Found_ merged into the single "d_" DTE double letter:
Code: [Select]
505D5F8080A08F958E6BB7BAB580A1AAC836FA005F2800515E0200
When you have a fixed amount of space, you have to decide which things can be removed and relocated to get the result you want. In this case, you want to use an additional byte for the character "2" in "Found 250 GP!" so you have to find at least one other byte in the event script that can be gotten rid of.

In ZPS event syntax, you'd comment out a line (like \event \end) to gain a byte, and then "spend" that byte on the change you want to make elsewhere in the event script. Some things, if you commented them out, would have deleterious consequences. For example, commenting out \event \wait_input would free up 2 bytes, but then the text box wouldn't wait for you to press a button before it closes. Or if you commented out \event \ret, the event that called 67F wouldn't get to run any further code which would have all sorts of buggy consequences. I'm specifically telling you that in this circumstance \event \end is safe to comment out BECAUSE \event \ret immediately precedes it, but for many events, removing the final \event \end wouldn't work correctly.

And no, I don't have any documentation for Relocalized; I just typed out the above things by hand after viewing them in a hex editor.
« Last Edit: December 18, 2019, 07:11:35 pm by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 322
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1053 on: December 18, 2019, 07:07:09 pm »
Okay, so... I did the vanilla part correctly (I think) in the previous reply.  Did I do the relocalized part correctly?

Queue

  • Sr. Member
  • ****
  • Posts: 293
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1054 on: December 18, 2019, 07:20:28 pm »
Those do both look like they would work, though I don't know how well centered the text in the Relocalized version would be.

For the vanilla version I'd urge you to re-read where I tried to explain the 2-letters-in-1-byte DTE stuff. In ZPS event syntax it's just a matter of removing a space between two of the letters, so a little bit of experimenting and you should be able to get it to work.

For VWF, try and do what "option 4" says, and then otherwise treat it like the Relocalized version (but note the two extra "_"-spaces on the TEXT line).

hmsong

  • Sr. Member
  • ****
  • Posts: 322
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1055 on: December 18, 2019, 07:41:28 pm »
Yeah, I'm gonna try numerous methods and see which one works the best.  For all versions.

December 18, 2019, 11:19:36 pm - (Auto Merged - Double Posts are not allowed before 7 days.)

Umm.  I know you tried to help me, and I thank you for it, but I'm so lost for VWF.  What is XOR?  I took a look at the addresses you pointed out (E2E941, E0737D, E09180), but I don't understand any of it.  I don't get this.  I'm so thoroughly lost, that it's actually funny and sad at the same time.

I don't use VWF (I use Relocalized), but a part of me still wants it done, for the sake of completion.  If it's not too much trouble, could you please finish up the VWF part for me?

But for vanilla and Relocalized, here it is (tested and verified).  I changed 50 -> 250, and 1000 -> 2000.  My reasoning for these amount is x10 of the average enemy money drop of where the initial chest is found (Witch's Castle for 250, and Fire Palace for 2000).

Code: [Select]
' Vanilla
@OFF $CA8E8F ' 50 GP --> 250 GP text + change
'TEXT _ _  F o u n d _ 5 0 _ G P !
'TEXT _ _ ^F o u nd_ 2 5 0 _^G^P !
RAW 8080 A08F958E6BB7BAB580A1AAC8 36 3200

@OFF $CA8E7A ' 2000 GP text
RAW B7
@OFF $CA8E83 ' 2000 GP change
RAW D007



' Relocalized
@OFF $E2EA15 ' 50 GP --> 250 GP text + change
'TEXT \n _ _ _ _ _ _ & & & & ^F o u n d _ 5 0 _ ^L u c r e !
'TEXT \n _ _ _ _ _ _ & & & ^F o u n d _ 2 5 0 _ ^L u c r e !
RAW 7F808080808080C9C9C9 A08F958E8480B7BAB580 A695839285C8 36 FA00

@OFF $E2E9FD ' 2000 GP text
RAW B7
@OFF $E2EA09 ' 2000 GP change
RAW D007

Could you put this in the Turbo package? (name is... More Chest Money, or whatever you think is appropriate)  If you don't want to do the VWF, that's fine, but please say in the description that this is not compatible with VWF, so that others will know beforehand.  Thank you.


December 19, 2019, 01:30:30 am - (Auto Merged - Double Posts are not allowed before 7 days.)

Also, for Dust Flare, could you add (well, edit) the following?  I made it so Dust Flare animation (and menu icon) color change, depending on if Mud Saber is enabled or not:

Code: [Select]
' 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 ' compat
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 ' compat
ADR.16 $D1FACE ' Dust Flare 3, $D1F600 + 0x0A * 0x7B
ENDIF

' [Icon Exchange]
@OFF $%[]%00
COPY D8FD86 02 '[Table_GnomeIcons][04: Speed Up]
COPY D8FD9E 02 '[Table_SalamandoIcons][04: Fire Bouquet]
@OFF $D8FD86 ' Speed Up --> Fire Bouquet (icon only)
COPY %[]%02 01
IF _Mud_Saber_-_Replaces_Stone_Saber ' compat
RAW C1 ' Dust Flare palette, yellow and black
ENDIF
IFNOT _Mud_Saber_-_Replaces_Stone_Saber ' compat
RAW 8C ' Dust Flare palette, dark red
ENDIF
'RAW A0 ' Dust Flare palette, brown
@OFF $D8FD9E ' Fire Bouquet --> Speed Up (icon only)
COPY %[]%00 01
« Last Edit: December 19, 2019, 01:34:23 am by hmsong »

Singe Horizontal

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1056 on: December 19, 2019, 07:19:50 am »
Hi,
I tried to add "Hard Secret of Mana V1.0 (headerless).ips", but the game was crashing at start. After trying disabling mod after mod I found out that "Polished Weapons" was apparently incompatible, with another one from Audio which I didn't take the time to isolate.

Queue

  • Sr. Member
  • ****
  • Posts: 293
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1057 on: December 19, 2019, 03:37:40 pm »
hmsong, yep I'll add it in. I'll do the VWF Edition stuff (to write up the explanation I'd already figured out what it needs), but I still think this is a good learning opportunity. VWF Edition event compatibility is complicated, but all the necessary changes are listed in that explanation post. After I release the next version, you should look at what I did and see if you can match the ZPS code up with stuff I was trying to explain in the post.

XOR is a computer math thing (like ADD or SUBtract), bitwise eXclusive OR. OR and AND are also other related bitwise operations. For a quick example, let's do some 4-bit math.
The number 7, in binary, is 0111.
The number 4, in binary, is 0100.
7 XOR 4 = 3 (0111 XOR 0100 = 0011).
7 XOR 7 = 0 (0111 XOR 0111 = 0000).
0 XOR 4 = 4 (0000 XOR 0100 = 0100).
Ultimately it's not especially important to understand for the VWF Edition encoding disable trick I'm using, but it's not a bad math operation to at least be aware of when dealing with programming in general.

For a name, how does "Generous Gold Chests" sound? Genericizing from Gold to Money just because Relocalized doesn't call it gold seems unnecessary to me.

Got the Dust Flare changes added.



Singe Horizontal, I appreciate you posting that. I intend to get Hard Secret of Mana imported someday, so that will save me some trouble working out compatibility issues; thank you.
« Last Edit: December 19, 2019, 06:26:05 pm by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 322
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1058 on: December 19, 2019, 05:35:55 pm »
hmsong, yep I'll add it in. I'll do the VWF Edition stuff (to write up the explanation I'd already figured out what it needs), but I still think this is a good learning opportunity. VWF Edition event compatibility is complicated, but all the necessary changes are listed in that explanation post. After I release the next version, you should look at what I did and see if you can match the ZPS code up with stuff I was trying to explain in the post.

For a name, how does "Generous Gold Chests" sound? Genericizing from Gold to Money just because Relocalized doesn't call it gold seems unnecessary to me.

Agreed, and agreed.  Thank you.

Singe Horizontal

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Secret of Mana, Turbo - Beta 191216
« Reply #1059 on: December 19, 2019, 06:32:56 pm »
I played with a friend this evening, we had unbelievable fun, with this setup : hard som, turbo mode off,faster enemies on, quick numbers off and quick recovery off. Then, we chose to not enable manual block, because for us it needs a bit more polishing, like a timing window where it's active, and going off stamina before reuse. Since we needed a way to defend ourselves against spells, we disabled "No Item Damage Canceling", so when the tiger used the fire attack, we immediately countered it with an herb. It had a short timing requirement and we loved it.  It took us something like 10 tries, and in the end we succeeded.
Then my friend found a hilarious way to abuse the small lizard before undine, with the alternate bow attack which shoots arrows in the air, you can freeze the AI, because he can't eat you in oblique direction, but you can actually hit him in a full aoe. So he just stands there waiting to go oom.

EDIT : Barrel Scramble Fix seems to break some monsters' AI, such as Goblin and Iffish.
« Last Edit: December 19, 2019, 08:57:36 pm by Singe Horizontal »