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

Author Topic: Secret of Mana, Turbo - Beta 210502  (Read 502815 times)

Queue

  • Hero Member
  • *****
  • Posts: 560
    • View Profile
Re: Secret of Mana, Turbo - Beta 210128
« Reply #1760 on: January 30, 2021, 03:04:47 pm »
somedit is an awesome resource for looking at game data, but it's incomplete and can't be trusted to make a functional ROM. Even if it wasn't incomplete, it moves stuff around so much that it wouldn't produce output that'd be compatible with any other SoM ROM hacks. While it uses real SoM data as input, it does not interpret everything correctly, so you can't take everything you see in somedit at face value. I do sometimes use it to make mock-ups that I later realize via hand edits.



1) Yes that's the Scorpion Village interiors. Those rooms aren't "unused" as much as they are leftovers. The Scorpion Village interiors use two other town's interiors (Pandora 261 and Kipo 280), overlapped, and just use a select few rooms from the mix of the two. Maybe because the Tropics is so short lived they didn't think it was worth making its own set of interiors from scratch. It also saves some room in the ROM to reuse them, but there was enough unused space that it could've had its own interior.

To see this for yourself, in somedit, go to map 335 and pan to the bottom right; right click and you'll see a context menu which includes:
Piece 61: Edit
Piece 82: Edit
If you pick one of those map piece edit commands, on the right center there's a blue clickable text that says "Find maps that use this piece" and you can see that 61 is used by 261 and 335, and 82 is used by 280 and 335.

All maps are made of 2 or more pieces divided into two layers. Some are made of dozens of pieces. The first piece on each layer dictates the map's size, so some maps have a large but blank piece as their first piece per layer (map piece 235 is the most common blank piece used). One layer controls collision on the map and the other is purely visual, but it's not as simple as foreground and background: both layers can contain foreground and background tiles.

Anyhow, this is how I made the new room for the Resistance Base: Mara's House is map 124 and only uses one room. It's made out of pieces 567 and 568. I overlapped Gold Isle's interior (map 125) map pieces (564 and 565) over the bottom of map 124, and made a new map piece to make adjustments to the room I was going to use.

2) Map 342 uses pieces 18 and 19, which are Potos and Mandala interiors (also note that somedit doesn't make the use of piece 18 easy to find; the right click context menu shows 19 twice). Regardless, there are so many exact same tile arrangements between the pre-release and Potos bar that it surely is the same bar. It's obscured by the HUD, but the pre-release bar also has the south exit in the exact same spot as the Potos bar.

3) By unused doors, do you mean you clicked "Find doors to this map" then checked the resulting list and clicked "Find maps that use this door" and "Find events that use this door"? Not listing a result for 235 is just a failure on somedit's part.
Door235 is used by map 351 (Special event 0xBF type Door value 235).
The other three doors are used by events which somedit does list.

When your character touches what looks like a door, it can either be directly hooked up to a door, or it can be hooked up to an event which can then activate a door. When checking if a door is used or not, you need to check both if they're used directly (by a map trigger tile) and/or used by an event.

A functional door tile is no different than any other trigger tile. It just looks like a door. Assuming its collision data actually includes a trigger. A door tile can also be purely aesthetic.

4) He's not coded differently, somedit just fails to load certain NPC art. There's a green placeholder square in his place.

5) There's not enough data in the ROM to make that determination for certain, but probably not. What you're seeing in somedit is nothing like what happens in-game if you try and load those unused maps. Maps 1 through 14 are or were all probably small test maps for when they were getting collision, animations and layering working. The first real map is 16 and it's not impossible that 16 was where they prototyped stuff.

6) Not sure how you came to that conclusion.

7) Because they reused those map pieces. In this case, they used it as a dead end, so overlapped a small map piece to seal off the north exit. How it looks in somedit isn't exactly how it looks in-game.

8) I think you're just not checking the doors correctly; somedit shows all 3 doors to 128 as in use.

9) Same as 8).

10) Yeah, should've seen how long it took me to make Revisit_Sunken_Continent; editing that map was a bitch!

In somedit, while looking at map 195, upper right is a "State" tab; look at that and enable "Enable map piece filtering" and "Enable object filtering" then flip "Event flag 2" between 1 and 2 to see the map change. It doesn't get the appearance perfect, but it's close enough to get a feel for how it looks in-game.

11) Also super obnoxious to make edits to for Revisit_Pure_Land.



There are 1024 doors. Only 20 are unused. I've used 6 so far in various hacks (1 of them being the Resistance Base door in Reborn). somedit fails to show usage for something like 27 doors that are actually in use.
« Last Edit: January 30, 2021, 04:27:48 pm by Queue »

spinvis

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Secret of Mana, Turbo - Beta 210128
« Reply #1761 on: January 30, 2021, 04:32:57 pm »
I'm really enjoying this hack. Never had so much fun with SoM before. Just one little glitch I noticed so far, after I defeated the spikey tiger boss and talked to the witch and she offered the two treasure chests. The animation of opening the chests glitched out for maybe one or two frames, the treasure chests disappeared and showed glitched textures four rows further down and one row to the left on the screen in the bookcase. This only happened on opening the chests. And after one or two frames the chests reappeared opened just fine. The glitchy textures were about the size of the treasure chests. I'm using the latest bsnes, latest turbo patch, default settings. Got some savestates and a Neko save from before the fight in case you need it.

Edit, after leaving the castle I noticed another glitch, this time in the spelling; "ome to the Water Palace". Screenshot https://imgur.com/ZkfJqj2
« Last Edit: January 30, 2021, 05:06:52 pm by spinvis »

ManaRedux

  • Full Member
  • ***
  • Posts: 156
    • View Profile
    • Secret of Mana: Redux
Re: Secret of Mana, Turbo - Beta 210128
« Reply #1762 on: January 30, 2021, 05:21:52 pm »
2) Map 342 uses pieces 18 and 19, which are Potos and Mandala interiors (also note that somedit doesn't make the use of piece 18 easy to find; the right click context menu shows 19 twice). Regardless, there are so many exact same tile arrangements between the pre-release and Potos bar that it surely is the same bar. It's obscured by the HUD, but the pre-release bar also has the south exit in the exact same spot as the Potos bar.

Thank you for the detailed explanations as always!  And I'm glad to make this particular discovery, though based on the map piece scheme, that doesn't mean that the bar was in Mandala originally.  It came from the second Scoop Guide, which is generally but not always later in the game. 

Queue

  • Hero Member
  • *****
  • Posts: 560
    • View Profile
Re: Secret of Mana, Turbo - Beta 210128
« Reply #1763 on: January 30, 2021, 05:58:57 pm »
spinvis, I was able to reproduce both issues, thank you for reporting them! I'll get them figured out.

ManaRedux, I'm thinking the same, that there's no solid connection to Mandala. It could've easily been Potos, or nowhere that still exists. Heck, Phanna and Sergo could've just been used as placeholders for arbitrary townsfolk, or that art could've even not been assigned to Phanna and Sergo specifically yet.

The HUD art is one indicator for two eras of pre-release, where that more rounded version with black horizontal lines was earlier, while the HUD that looks identical to release is from later in development.

ManaRedux

  • Full Member
  • ***
  • Posts: 156
    • View Profile
    • Secret of Mana: Redux
Re: Secret of Mana, Turbo - Beta 210128
« Reply #1764 on: January 30, 2021, 10:36:35 pm »
Any idea what enemy is at memory location 54 (SoM Edit #84)?

Queue

  • Hero Member
  • *****
  • Posts: 560
    • View Profile
Re: Secret of Mana, Turbo - Beta 210128
« Reply #1765 on: January 30, 2021, 10:54:48 pm »
A targetable snowman (though melee still cannot hit them since the snowman animation frames lack attackable hit boxes). Quite possibly meant for the frostied debuff so you could still do stuff to a frostied enemy instead of them being invulnerable, but in vanilla frostied uses an NPC (i.e. non-enemy) snowman (0xEE) so it cannot be targeted.

Kethinov used it for Balance\Killable_Snowmen and I used it for Items\Farmable_Sword_Orb (and the two are somewhat miraculously compatible with each other). It's the only unused enemy slot.



More details on the bugs spinvis reported:

The issue with the treasure chests had to do with the super hacky way I added a new animation to chests. I think I got it sorted out.

Elinee's room has non-combat, town-style chests, in a room where combat is enabled, which meant a weird mix of animation indexes vs. frames was at play. Town-style chests have far fewer animations (and animation frames) than combat chests (which can be trapped), so I use an out of bounds array access for the town-style chests to re-purpose an unused animation frame. Animation index 0x1C shows animation frame 0x12. I had to make the combat chests match the screwy animation numbering town-style chests use to get rid of the bug.

The text bug is a flaw somewhere in Proportional_Font code. Fixing the chests took all my time today, so haven't looked at that yet.
« Last Edit: January 30, 2021, 11:02:35 pm by Queue »

spinvis

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Secret of Mana, Turbo - Beta 210128
« Reply #1766 on: January 31, 2021, 07:30:25 am »
spinvis, I was able to reproduce both issues, thank you for reporting them! I'll get them figured out.

My pleasure. I'll be continuing my playthrough and will report back with any glitches I'll find. Thanks again for such an awesome hack!

Queue

  • Hero Member
  • *****
  • Posts: 560
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1767 on: January 31, 2021, 05:33:41 pm »
Version 2021-01-31:
https://filebin.net/7spaiz2xfys6b2i1/SoM_Turbo.210131.zip

Changes:
- Fixed animation glitches for certain chests for Quality_of_Life\Faster_Chest_Opening
- Improved automatic line break code for Text\Reborn

Technical Changes:
- Added User-Defined section to very end of ZPS file



I'm hoping there aren't side effects to the change to Reborn's automatic line breaks (it seemed sort've too easy to fix). It's not like the code itself is especially fragile, but the logic has a whole lot of unexpected results that have been hard to predict ahead of time.

hmsong, you should be able to put any code you want at the very end/bottom of the ZPS file, in a newly added &(encode)\User-Defined section. It gets applied near the very very end of the patching process so should override any other enabled features. Let me know if there's any way I could make it more useful or if there are any unexpected issues.

hmsong

  • Hero Member
  • *****
  • Posts: 562
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1768 on: January 31, 2021, 05:44:46 pm »
hmsong, you should be able to put any code you want at the very end/bottom of the ZPS file, in a newly added &(encode)\User-Defined section. It gets applied near the very very end of the patching process so should override any other enabled features. Let me know if there's any way I could make it more useful or if there are any unexpected issues.

Thanks.  I'll let you know if there's a problem (or recommendation on improvement).

Okay.  I would be grateful if you can put a sub-section for User-Defined section for Vanilla (?), VWF, Relocalized, and Reborn.  I think it was supposed to be something like:

Code: [Select]
&(encode)\User-Defined
ASM <.asm>
FILE <Vanilla>
FILE <VWF>
FILE <Relocal>
FILE <Reborn>
&(encode)\User-Defined\.asm

&(encode)\User-Defined\Vanilla
REQ %Vanilla+% %-Reloc%
ASM <.asm>
&(encode)\User-Defined\Vanilla\.asm

&(encode)\User-Defined\VWF
REQ %VWF%
ASM <.asm>
&(encode)\User-Defined\VWF\.asm

&(encode)\User-Defined\Relocal
REQ %Relocal%
ASM <.asm>
&(encode)\User-Defined\Relocal\.asm

&(encode)\User-Defined\Reborn
REQ %Reborn%
ASM <.asm>
&(encode)\User-Defined\Reborn\.asm

I just copied that from Black Hex, but I'm not sure if I got that right in this context.  And I'm not sure if turning on Reborn would turn off vanilla/VWF/Relocal.  Or turning on Relocal would turn off vanilla/VWF (but not Reborn).  Etc etc.  I'm  purposely not using IF function, since doing that would probably screw with numerous things if VWF, Relocal, and Reborn are all on.
« Last Edit: January 31, 2021, 07:31:10 pm by hmsong »

Queue

  • Hero Member
  • *****
  • Posts: 560
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1769 on: January 31, 2021, 09:42:26 pm »
Can do, though the purpose of the compatibility subsections sorta affects which to have. For example:
Code: [Select]
&(encode)\User-Defined\Vanilla
REQ %Vanilla+% %-Reloc%
ASM <.asm>
&(encode)\User-Defined\Vanilla\.asm
and
Code: [Select]
&(encode)\User-Defined\Reloc
REQ %Reloc%
ASM <.asm>
&(encode)\User-Defined\Reloc\.asm
That "Vanilla" means: Vanilla, VWF_Edition and/or Reborn (with Proper-caser support)
And that Reloc means: Relocalized (which overrides Vanilla and VWF_Edition) but NOT Reborn

That pairing is meant for spell descriptions, where currently Vanilla, VWF_Edition and Reborn are shared, while Relocalized is very different.

VWF specific sections are usually for event edits with text.

Reborn (internally Augment, short for Script Augmentation Project), are likewise just meant for event edits when %OFF% Event### isn't suitable.

Yes, Reborn overrides VWF_Edition and Relocalized. In the future, this patch may allow Reborn and Relocalized to both be enabled at the same time, where event text comes from Reborn, and menu text and combat messages comes from Relocalized; currently, if Reborn is On, Relocalized is ignored.
« Last Edit: February 01, 2021, 02:18:19 pm by Queue »

AdamDravian

  • Jr. Member
  • **
  • Posts: 73
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1770 on: January 31, 2021, 10:10:15 pm »
In the future, Reborn and Relocalized may combine, where event text comes from Reborn, and menu text and combat messages comes from Relocalized.

Sounds good to me.
Writer of the '80s-themed webcomic Satan Ninja 198X

hmsong

  • Hero Member
  • *****
  • Posts: 562
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1771 on: January 31, 2021, 11:29:20 pm »
That "Vanilla" means: Vanilla, VWF_Edition and/or Reborn (with Proper-caser support)
And that Reloc means: Relocalized (which overrides Vanilla and VWF_Edition) but NOT Reborn

That pairing is meant for spell descriptions, where currently Vanilla, VWF_Edition and Reborn are shared, while Relocalized is very different.

VWF specific sections are usually for event edits with text.

Reborn (internally Augment, short for Script Augmentation Project), are likewise just meant for event edits when %OFF% Event### isn't suitable.

Yes, Reborn overrides VWF_Edition and Relocalized. In the future, Reborn and Relocalized may combine, where event text comes from Reborn, and menu text and combat messages comes from Relocalized.

Oh.  So putting aside the codes I typed above (which is specifically for spells), how would User-Defined look like?  Would it have four separate sections for each of Vanilla, VWF, Relocalized, and Reborn?  Or is Vanilla not necessary? (probably not)

Yes, I'd love for Relocalized and Reborn to be combined, after the dust settles.


For Stardust Herb Drop and Shop Changes, could you please update the following?  Thanks.

Code: [Select]
@OFF ShopData_Southtown[]
'RAW BA BB BD BE C5 BF 83 84 99 9A AB AC FF
RAW BA BB BD BE C5 BF 83 84 99 9A AC FF
@OFF ShopData_Tasnica[]
'RAW BB BC BD BE C5 BF 89 8A A0 B1 B2 FF
RAW BA BB BC BD BE C5 BF 89 8A A0 B1 B2 FF
« Last Edit: February 01, 2021, 07:36:38 am by hmsong »

lightninghunter

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1772 on: February 01, 2021, 02:11:08 pm »
Quote
Yes, Reborn overrides VWF_Edition and Relocalized. In the future, Reborn and Relocalized may combine, where event text comes from Reborn, and menu text and combat messages comes from Relocalized.

I don't meant to stir up the plan, but I am personally in favor of them being separate.  I currently have relocalized disabled, but was planning on enabling Reborn. This is simply because I like the idea of a better written story, but do not like the new names of enemies, Elementals, and especially not "Lucre" instead of "GP"!

Queue

  • Hero Member
  • *****
  • Posts: 560
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1773 on: February 01, 2021, 02:15:07 pm »
Oh, I don't mean those two projects will be combined, I meant in Turbo, if you enable both Relocalized and Reborn, it would use part of each. Currently, Reborn overrides Relocalized entirely if both are set to On.

If I do work out the logistics to make that work, you could have Reborn On and Relocalized Off to avoid Relocalized's changes (and that will likely be the default setting).

I understand the confusion, I worded it poorly. Going to edit that post even with clearer wording.

lightninghunter

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1774 on: February 01, 2021, 02:19:17 pm »
Oh, I don't mean those two projects will be combined, I meant in Turbo, if you enable both Relocalized and Reborn, it would use part of each. Currently, Reborn overrides Relocalized entirely if both are set to On.

I understand the confusion, I worded it poorly. Going to edit that post even with clearer wording.

Ah, no problem!  :)

ManaRedux

  • Full Member
  • ***
  • Posts: 156
    • View Profile
    • Secret of Mana: Redux
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1775 on: February 01, 2021, 02:27:10 pm »
I don't meant to stir up the plan, but I am personally in favor of them being separate.  I currently have relocalized disabled, but was planning on enabling Reborn. This is simply because I like the idea of a better written story, but do not like the new names of enemies, Elementals, and especially not "Lucre" instead of "GP"!

I'm curious as to which enemy names you're not a fan of? 

lightninghunter

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1776 on: February 01, 2021, 02:50:50 pm »
I'm curious as to which enemy names you're not a fan of?

I can't point out any individual monster names as I only tried it once a while back, but basically I am just a purist when it comes to monster names. Even if someone changes it to more closely match the original translation, I still almost always prefer the originals.  The story is the exception, because a stronger story is usually only ever a good thing!

Queue

  • Hero Member
  • *****
  • Posts: 560
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1777 on: February 01, 2021, 03:00:43 pm »
hmsong, got those Stardust Herb shop changes in.

As for the User-Defined section, let's see...

To provide a usable mix of subsections, maybe it'll be something like:

Code: [Select]
&(encode)\User-Defined
FILE <Only-Vanilla> ' event edits
FILE <Only-VWF> ' event edits
FILE <Only-Reloc> ' event edits
FILE <Only-Augment> ' event edits
FILE <Not-Reloc> ' spell names and descriptions
FILE <Yes-Reloc> ' spell names and descriptions
ASM <.asm> ' general code and data
&(encode)\User-Defined\Only-Vanilla
REQ %Vanilla% %\n%ASM <.asm>
&(encode)\User-Defined\Only-VWF
REQ %VWF% %\n%ASM <.asm>
&(encode)\User-Defined\Only-Reloc
REQ %Reloc% %\n%ASM <.asm>
&(encode)\User-Defined\Only-Augment
REQ %Augment% %\n%ASM <.asm>
&(encode)\User-Defined\Not-Reloc
REQ %Vanilla+% %-Reloc% %\n%ASM <.asm>
&(encode)\User-Defined\Yes-Reloc
REQ %Reloc% %\n%ASM <.asm>
' ---
&(encode)\User-Defined\Only-Vanilla\.asm

&(encode)\User-Defined\Only-VWF\.asm

&(encode)\User-Defined\Only-Reloc\.asm

&(encode)\User-Defined\Only-Augment\.asm

&(encode)\User-Defined\Not-Reloc\.asm

&(encode)\User-Defined\Yes-Reloc\.asm

&(encode)\User-Defined\.asm
Later, once I get Reborn and Relocalized integration worked out, the Yes-Reloc subsection will change from REQ %Reloc% to REQ %Reloc+% while the Only-Reloc subsection would remain as just REQ %Reloc%.

I think those %\n% line merges will work, haven't tested. I wanted the User-Defined section to stay as simple as possible, but to support the script-replacement compatibility stuff, this may be as good as it gets. The generic .asm file is at the bottom, as in theory, this would be the most-used part.

hmsong

  • Hero Member
  • *****
  • Posts: 562
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1778 on: February 01, 2021, 06:47:46 pm »
I think those %\n% line merges will work, haven't tested. I wanted the User-Defined section to stay as simple as possible, but to support the script-replacement compatibility stuff, this may be as good as it gets. The generic .asm file is at the bottom, as in theory, this would be the most-used part.

Thanks.  And yes, the generic .asm would be the most used part (for me, at least).  But since it's placed at the bottom, would it overwrite things that were written in the previous sections, like Only-Augment\.asm, assuming there are overlaps?
« Last Edit: February 01, 2021, 06:56:56 pm by hmsong »

Queue

  • Hero Member
  • *****
  • Posts: 560
    • View Profile
Re: Secret of Mana, Turbo - Beta 210131
« Reply #1779 on: February 01, 2021, 07:11:50 pm »
As it is currently, the generic .asm would override Only-Augment\.asm.

The order they're applied is determined by:
Code: [Select]
&(encode)\User-Defined
FILE <Only-Vanilla> ' event edits
FILE <Only-VWF> ' event edits
FILE <Only-Reloc> ' event edits
FILE <Only-Augment> ' event edits
FILE <Not-Reloc> ' spell names and descriptions
FILE <Yes-Reloc> ' spell names and descriptions
ASM <.asm> ' general code and data
If it were instead:
Code: [Select]
&(encode)\User-Defined
ASM <.asm> ' general code and data
FILE <Only-Vanilla> ' event edits
FILE <Only-VWF> ' event edits
FILE <Only-Reloc> ' event edits
FILE <Only-Augment> ' event edits
FILE <Not-Reloc> ' spell names and descriptions
FILE <Yes-Reloc> ' spell names and descriptions
Then Only-Augment\.asm would override the generic .asm.

So it's not determined by which one is later in the file in an absolute sense, but based on the order they're included via FILE and ASM directives. I don't want this to be confusing, so which layout makes the most sense to you?

1: generic .asm is applied last and overrides everything else and the subsections match the order they're applied
Spoiler:
Code: [Select]
&(encode)\User-Defined
FILE <Only-Vanilla> ' event edits
FILE <Only-VWF> ' event edits
FILE <Only-Reloc> ' event edits
FILE <Only-Augment> ' event edits
FILE <Not-Reloc> ' spell names and descriptions
FILE <Yes-Reloc> ' spell names and descriptions
ASM <.asm> ' general code and data
&(encode)\User-Defined\Only-Vanilla
REQ %Vanilla% %\n%ASM <.asm>
&(encode)\User-Defined\Only-VWF
REQ %VWF% %\n%ASM <.asm>
&(encode)\User-Defined\Only-Reloc
REQ %Reloc% %\n%ASM <.asm>
&(encode)\User-Defined\Only-Augment
REQ %Augment% %\n%ASM <.asm>
&(encode)\User-Defined\Not-Reloc
REQ %Vanilla+% %-Reloc% %\n%ASM <.asm>
&(encode)\User-Defined\Yes-Reloc
REQ %Reloc% %\n%ASM <.asm>
' ---
&(encode)\User-Defined\Only-Vanilla\.asm

&(encode)\User-Defined\Only-VWF\.asm

&(encode)\User-Defined\Only-Reloc\.asm

&(encode)\User-Defined\Only-Augment\.asm

&(encode)\User-Defined\Not-Reloc\.asm

&(encode)\User-Defined\Yes-Reloc\.asm

&(encode)\User-Defined\.asm

2: generic .asm is applied before the specialized subsections but is still at the end
Spoiler:
Code: [Select]
&(encode)\User-Defined
ASM <.asm> ' general code and data
FILE <Only-Vanilla> ' event edits
FILE <Only-VWF> ' event edits
FILE <Only-Reloc> ' event edits
FILE <Only-Augment> ' event edits
FILE <Not-Reloc> ' spell names and descriptions
FILE <Yes-Reloc> ' spell names and descriptions
&(encode)\User-Defined\Only-Vanilla
REQ %Vanilla% %\n%ASM <.asm>
&(encode)\User-Defined\Only-VWF
REQ %VWF% %\n%ASM <.asm>
&(encode)\User-Defined\Only-Reloc
REQ %Reloc% %\n%ASM <.asm>
&(encode)\User-Defined\Only-Augment
REQ %Augment% %\n%ASM <.asm>
&(encode)\User-Defined\Not-Reloc
REQ %Vanilla+% %-Reloc% %\n%ASM <.asm>
&(encode)\User-Defined\Yes-Reloc
REQ %Reloc% %\n%ASM <.asm>
' ---
&(encode)\User-Defined\Only-Vanilla\.asm

&(encode)\User-Defined\Only-VWF\.asm

&(encode)\User-Defined\Only-Reloc\.asm

&(encode)\User-Defined\Only-Augment\.asm

&(encode)\User-Defined\Not-Reloc\.asm

&(encode)\User-Defined\Yes-Reloc\.asm

&(encode)\User-Defined\.asm

3: generic .asm is applied before the specialized subsections and the subsections match the order they're applied
Spoiler:
Code: [Select]
&(encode)\User-Defined
ASM <.asm> ' general code and data
FILE <Only-Vanilla> ' event edits
FILE <Only-VWF> ' event edits
FILE <Only-Reloc> ' event edits
FILE <Only-Augment> ' event edits
FILE <Not-Reloc> ' spell names and descriptions
FILE <Yes-Reloc> ' spell names and descriptions
&(encode)\User-Defined\Only-Vanilla
REQ %Vanilla% %\n%ASM <.asm>
&(encode)\User-Defined\Only-VWF
REQ %VWF% %\n%ASM <.asm>
&(encode)\User-Defined\Only-Reloc
REQ %Reloc% %\n%ASM <.asm>
&(encode)\User-Defined\Only-Augment
REQ %Augment% %\n%ASM <.asm>
&(encode)\User-Defined\Not-Reloc
REQ %Vanilla+% %-Reloc% %\n%ASM <.asm>
&(encode)\User-Defined\Yes-Reloc
REQ %Reloc% %\n%ASM <.asm>
' ---
&(encode)\User-Defined\.asm

&(encode)\User-Defined\Only-Vanilla\.asm

&(encode)\User-Defined\Only-VWF\.asm

&(encode)\User-Defined\Only-Reloc\.asm

&(encode)\User-Defined\Only-Augment\.asm

&(encode)\User-Defined\Not-Reloc\.asm

&(encode)\User-Defined\Yes-Reloc\.asm

I kind've assume you'll pick layout 3, but wanted to check.

While I use layout 3 (essentially) in most of the ZPS file (though the ZPS file as a whole is not applied top-to-bottom), I had been considering layout 1 for User-Defined to try and keep the generic .asm at the very bottom since it'd presumably be used the most and have the subsections match the order they're applied. Layout 2 would be the most likely to cause confusion about the patching order within User-Defined, but would also let the generic .asm be at the very bottom while using the more useful patching order. Layout 3 is the most logical (for useful patching order and having the files match the order in which they're applied), but then requires scrolling up from the bottom to make changes to what I assume will be the most adjust code and data. So there upsides and downsides to all 3. Since you're possibly the only person who will use it though, I want you to pick.