Bly's ASM

FE5 Style RES (FE8)
Makes weapons with the magic bit set in4 the item editor use RES for magic calculation for both fighting and staves.
(FE8) FE5 Style RES Download

Delphi Shield Neutralizes All Effective Damage (FE7)
Made for Ghast, I thiiink? Does what it says on the tin.

[code]ORG $16886
SHORT $2000

ORG $1686A
SHORT $D016[/code]

Difficulty Sets Permanent Event ID (FE8)
Same as above, says what it tin on the does. Wait…
This specifically sets event ID1 0xB0.
(FE8) Difficulty Sets Perm ID # Download

Supply Command (FE8)
This is basically for use in FE8 to fill up the supply with items automatically, via events. The following macro is included.

#define Supply(ItemID,Durability,Amount) "_SETVAL 0x02 ItemID; _SETVAL 0x03 Durability; _SETVAL 0x04 Amount; ASMC SupplyGive|1"

If the supply fills up, it will leave the amount of weapons that were left to be added in event slot 0.
(FE8) Supply Command Download

Supply Hacks (FE8)
Some misc hacks, which you can easily remove from the inst1aller. I’ll just quickly repeat what they do right here: the first two allow Ephraim the same control of the Supply command as Eirika, including letting others use Supply when adjacent to him. The 3rd part allows supply to be used at any time during the story.
(FE8) Supply Hacks Download

Still working on that phoenix down and fe4 randomizer and stuffs, expect that soon.
Decided to post all this now since I’ve been busy af lately, and I figure I might as well.

10 Likes

Repair Inventory Command (FE8)
This is for use in FE8 to add X uses to all of the active unit’s items. This ignores any weapons with usage of FF (which means it is unbreakable), and caps out the usage at 0xFE (i.e. if my item has 0xFD uses left, and i say to increase all item’s usage by 0x02, it will stay at 0xFE). The following macro is included.

#define RepairInventory(amountToAdd) "_SETVAL 0xC amountToAdd; ASMC AddToPerishables|0x01"

(FE8) Repair Inventory Command Download

still have some other stuff coming soonᵗᵐ
I’ve also edited all the links in the OP to automatically download rather than you have go to the dropbox page then download.

2 Likes

So I know you meant this as a joke, but I’ve been reminded of this and feel it necessary to share:

A technique that was actually passed down through my family for generations (my grandfather gave my father this advice who gave it to me) is “Make everything as simple as it needs to be and no simpler”, the perfect example of which is something told to me as “vectorized opcodes”:

It allowed you to perform an operation to a register, and perform these operations on registers A through B inclusive.
For example, multiply r1-7 by r0.
This would be a singular opcode; that would take obscenely largening amounts of time to execute as the values in those eight registers increased.
To the point that your system would be quite likely, if not adequately cooled, to overheat and melt the CPU; 'cuz you can’t send an Interrupt signal during a single opcode’s execution; only between two opcodes.

Which, of course, means that the implementation, in an effort to make things simpler, makes it too simple to a detrimental level.

That’s a wildly different end of opcode optimization than the one you were talking about, though; so

«/tangent»

2 Likes

what the fucq
edit: thats pretty cool tho

Events as Supports (FE8)
This hack allows you to utilize the whole event engine for supports rather than just text. This means you can do things such as give EXP, give items, or set event IDs. There are a couple parts to it. First, in the Support editor, the slot for Text ID has now become something we’ll dub Support ID. The Support ID is just unique for every support convo. (i.e. eirika/seth c is different from eirika/seth b is different from eirika/ephraim c etc. etc. etc.) I’ve included an edited nmm. Next, in the event file, we need to set up a table underneath IDTable:. The following macro is included.

#define SupportTable(SupportID, EventLabel) "SHORT SupportID $0000; POIN EventLabel"

Next, you simply say what is in this event label. Remember, like a normal event, it will keep going until it reaches an ENDA. The following macro is included to imitate vanilla behavior.

#define SupportConvo(TextID) "TEXTSHOW TextID; TEXTEND; ENDA"

If it’s confusing, examples are provided for you in the included installer.
Lastly, I’d like the mention some special cases. When the Support ID is 0x0, then no events will be run. Similarily, if there is no SupportTable entry with the ID entered in the Support editor, the code will fail to find the ID and instead not run any events. Remember, please report any bugs here.
(FE8) Events as Supports Download

8 Likes

The supply hacks download softlocks my ROM after moving a character before the menu can pop up. This happens in a clean ROM and my edited ROM. Anyone else have this?

EDIT: Fixed on Discord. This one has to be done in bl space.

Hey all. Not actually ASM, but this an edit of StanH’s textprocess-classic to be used with narrow font hacks. No idea where to post it so here it goes I suppose. Funny story, I had finished editing textprocess like a week ago but when I was talking to Snakey I found out classic existed and had to switch to that. Anyway, hopefully this makes it less frustrating to write/edit text entries which use the narrow font for those who use it.

textprocess-classic-narrow (textprocess-classic Edit) (FE8)
(This uses the latest textprocess-classic & narrow font hacks as of 7/21/2020.)

Usage

* is used for the narrow serif font and ^ is used for the narrow menu font.
In order from lowest priority to highest priority:

  • Write text as *{text} or ^{text} to use the narrow font only for what’s inside the curly brackets. These brackets must be on the same line.
  • Put a * or a ^ at the end of the first line for a text entry to use the narrow font for the whole text ID.
  • Put a {* or a {^ instead to begin using the narrow font for this whole text ID and every text ID after.
    • Put a } instead to stop using the narrow font. (Note that it will still use the narrow font for the whole text ID you put the } on.)

Things which are names (Characters, Classes, Items) typically use the Menu Font, where as descriptions and conversations typically use the Serif Font.
You should also note that this automatically skips over anything within square brackets. This is so it doesn’t mess up things like [X] or [N].

Examples: (ways to make text use the narrow fonts)

# 0x3e5 VulneraryName ^
Vulnerary[X]
## FirstTextID {*
This text will be narrow.[X]
## SomeOtherTextID }
This text will also be narrow.[X]
## OneMoreTextID
This text will not be narrow.[X]
## PartiallyNarrowTextID
*{This text is narrow} but this text is not.[X]

You’ll still need to use byte codes or ParseDefinitions.txt for Scraiza’s and/or MintX’s icons. In case you don’t already have them, I have them listed right here:

[Armor] = [0x7C]
[Horse] = [0x7B]
[Flier] = [0x7D]
[Dragon] = [0x7F]
[Sword] = [0xB3]
[Lance] = [0xB4]
[Axe] = [0xB5]
[Bow] = [0xB6]
[Light] = [0xB7]
[Anima] = [0xB8]
[Dark] = [0xB9]
[Staff] = [0xBA]

And here are the definititons for MintX’s icons:

[Lock] = [0xD2]
[Monster] = [0xD3]

textprocess-classic-narrow.py Download (For use with Scraiza’a Narrow Font Hack)
textprocess-classic-narrow.py Download (For use with Scraiza’s Narrow Font Hack & MintX’s Extension)
Make sure to edit your makehack files if you’re switching from textprocess to textprocess-classic (see Stan’s PyTools repo).

Credit: circleseverywhere & StanH for original textprocess tools, Scraiza & MintX for narrow font hacks
Thanks to Snakey1 for testing the file to make sure it worked, and both him and MintX for checking over the guide to using it to make sure it made sense.
Links to the og tools & the hacks: Text Processor, Circles | PyTools (contains textprocess-classic), StanH | Narrow Font, Scraiza | Narrow Font Extension, MintX

6 Likes