Project Blazing Shell (Hosted on Unified Dropbox Folder)

PSA: The old version, FireShell, should no longer be used.

When the project first began, I’d hastily adopted a design philosophy of “hey, lets add all this stuff so people won’t have to themselves.” Since then I’ve come to realize, after discussion with my colleagues, that the approach wasn’t conducive to what FireShell sought to be: a blank canvass with functionality improvements via ASM hacking.

It’s also important that the BlazingShell ROM itself is never touched by FEditor (in order to avoid unintentional glitches with data management), which greatly restricts what I can implement until FE Editing Suite 2k15’s tools are developed.

You can find BlazingShell on the Unified FE Hacking Dropbox. Since I’m starting from scratch, and just began working on this new incarnation today, it’s still very much a WIP. I’ll begin providing patches once “Phase One” is reasonably complete.

#Phase One

  • Optimize all significant data arrays for editing.
  • Character Array (wiped clean) [x]
  • Affinities Array (repoint) [x]
  • Support Slots (wiped clean, repoint) [*]
  • Support compatibility [*]
  • Class Array (repoint, partial cleaning) [x]
  • Moving Map Sprite Array (repoint) [x]
  • Standing Map Sprite Array (repoint) [x]
  • Item Array (repoint) [x]
  • Spell Association array (partial cleaning) [x]
  • Event/Map/Tileset Array (partial cleaning) [ ]
  • Compile .dmp files of every modified array.
  • Install basic functionality ASM hacks.
  • venno’s PRF Array hack (enables 255 weapon locks). [x]
  • venno’s Weapon Effectiveness/Class Type hack (enables new Class Type system). [x]
  • venno’s Weapon Rank Bonuses (no bonuses by default). [x]
  • venno’s Hit Bonus hack (integrated with rank bonuses, variable applications). [*]
  • venno’s “Drop Last Item” unit flag hack (frees character slots, flag in events) [x].
  • venno’s Autocursor/Status Screen fix (enables chapters w/ alt lords). [x]
  • venno’s Passive stat boost item effect (without stacking by default).
  • venno’s Might-based staff healing value (also enables staff rank healing boosts).
  • icecube’s Hand Axe animation fix (uses animation index+1 for all ranged axes). [x]
  • icecube’s class value save fix (enables class values < 0x7F, will add when fixed).
  • icecube’s promotion item functionality hack (enables item-based promotion branches). [x]
  • icecube’s battle palette functionality hack (enables trainees, promotion branches).
  • icecube’s range fuctionality fix (enables any range value combo). [x]
  • icecube’s Transform Weapon hack (enables new magic swords, bronze weapons, etc). [x]
  • icecube’s Weapon Animation hack (set weapons to “always range,” add Bo8G). [x]
  • icecube’s Range Penalties hack (deduct hit/mt/crit after X tiles). [x]
  • icecube’s Multiple S-ranks w/ maturity (Afa’s Drops grant this condition). [x]
  • Nintenlord’s class walking sound fix (previously hard-coded SFX). [x]
  • Nintenlord’s character banner/forcer hacks. [x]
  • CT075’s variable level cap hack (enables trainees, Lv30 non-promote classes). [x]
  • CT075’s weapon icon fix (enables up to 255 weapon icons). [x]
  • CrazyColorz’s luck promotion gain array. [x]
  • CrazyColorz’s Hit/Avo/Crit Class Boost array (replaces standard Crit+15). [x]
  • Hextator’s staff bonus EXP array.
  • Compile an up-to-date package of Nightmare Modules customized for BlazingShell.

#Phase Two

“Phase Two” begins once FE Editing Suite 2k15 is ready for application. Mostly, I need “nuke” buttons equipped to the editing interfaces.

  • “Nuke” unnecessary things from the vanilla ROM.
  • Portrait graphics, excluding NPCs/class cards.
  • All non-essential text slots.
  • Events, maps, map changes.
  • Cutscene graphics from the original story.
  • Etcetera (I’ll list more as I realize them).
  • Provide a pre-made free space list compatible with FEES2k15’s data management tools.

Some of this space will be claimed for additional features in Phase Two.

  • Expanded definition/macro set for Event Assembler.
  • New collection of ASM-based event conditions.

Early adopters who utilize the Phase One patch will be able to simply apply a “nuclear patch” that will clear out all of this unnecessary data without touching anything else. As new functionality changes are developed

Please do not add anything new to the D00000 - D20000 or the BE0250 - BE3870 ranges yourselves, only edit the arrays that have been placed there. This is the only way of “future-proofing” the projects you start with Phase One’s patch.

If you have comments/suggestions, please feel free to share?

2 Likes

Starting from the beginning huh.

My hack was going to use Fireshell, darn

In any case, starting from scratch is an interesting decision I’m okay with.

Delay till 2025 confirmed

Good things that happened yesterday: If you look at the Phase One list, over half the things I’d initially listed (and then some!) have been completed. Woooooo, binge working!~

Bad things that happened: Apparently the game wants to soft reset when I press R to view the status screen. I knew I shouldn’t have installed icecube’s things after midnight…

EDIT: All known glitches have been resolved and I’ve updated the dropbox folder. It now contains this first build of BlazingShell, a .zip of the Nightmare Module package, and a few misc documentation files to start.

Once I finish up all the currently planned installations I’ll make the first patch. Going forward, it’s imperative that early adopters follow guidelines on which space NOT to use in order to ensure compatibility with future updates. In the future, two patches will be released simultaneously (a fresh install, and an update compared to the last public version). You’ll be able to freely update BlazingShell in the background as you work on a project! At 0xBE3870 I will write out the version number to make keeping track of the updates easier.

A few suggestions for future builds Arch.

Implementing a con growth option in Blazing Shell.
Blue Druid has recently made an open source Griffon Knight anim. Maybe you could implement that class alongside the already added FE8 classes.
Implementing FE8 and 6’s varients of the lord classes and their promotions, so Lords can have a split promo path.

I’ll start testing phase 1 soon, and let you know of any bugs I come across.

fun fact: if you make a list of all the types of unnecessary changes we were trying to revert by deprecating the old build of FS, every single one is represented in that list of suggestions

Well, a con growth functionality could be useful to have if someone coded it. Same for mov, in case someone’s trying to go “full FE5.”

Trust me when I say that this is part of a larger vision, whereas FS was based on insta-gratification. We’ll be better off for it in the long run, I’m confident.

but those are the kinds of things that a package manager is built for

I mean, we’re still including a core set of engine improvements. That’s the difficulty; what gets relegated to package-only and what gets accepted as part of the BlazingShell base? As long as it weren’t terribly convoluted/space consuming I’d err on the side of “include it and let people who don’t want it just not use it” for con growth. Hopefully the package manager would be able to uninstall things, so users could use that to take things out of the BlazingShell base that they don’t want/need.

I think con growth is kind of gratuitous, but including FE8 animations seems perfectly acceptable. I don’t think it’ll screw anything up except for taking up extra space.

@MisakaMikoto made a con growth patch for FE7 (it has a small bug that still needs to be fixed in the case a unit has capped luck/con but it isn’t game breaking I believe).

Implementing a con growth is very easy apparently. It’s just a matter of what other growth hacks you may want to use with it since at the moment they’ll all conflict, but it’s easy enough to get around that as well.

doesn’t @Blademaster have a US FE7 version of this? pls respond

edit: WHOA I GOT NINJA’D

@MisakaMikoto made one for FE7. I have one for FE8 based on his, but it’s built on one of @Venno’s hacks. It’s easy enough to port anyway.

Question: Is it planned to add an instuments patch to this for custom song insertion, or will I need to do that myself when I get to using this?

You guys are leaving out the arbitrary text edits this time, right? I remember scratching my head at why wyvern riders were changed to dracoknights and every single weapon, even stuff like iron swords, had descriptions (“an ordinary sword”) for some reason.

The instruments are already in the game; you don’t need any sort of patch. All you do is paste the native instrument map into the rom, the map itself being just a collection of pointers pointing to all of FE7’s instruments (iırc).
I could imagine something like Fire Shell inserting new samples for better-sounding guitars/pianos/orchestra hits, but I don’t think that Blazing Shell will bother with that given that anyone can easily insert samples on their own.

@Agro had already made an improved instrument map with sample imports for FireShell. That will probably resurface as a package for BlazingShell in the future.

Bug? I remember checking it by loading the con cap of the class.

Test:
Here I set the con cap of Lyn’s class to 16, and her con growth to 100.
If her con is 15 before LVUP:

If her con is 16 before LVUP:

It is obvious that the con cap works.
PS: Do you mean the displayed “+1” during LVUP? I admit it.X_x

That said, and I don’t know if you did this in FireShell, but will you guys be fixing the capitalization on many of the item names (e.g. “Iron sword” → “Iron Sword”)? Always bugged me that they were like that by default in FE7. It’d be nice to have that fixed from the get-go even though it’s super easy to fix.

When I looked at the code for the patch, part of the routine would never run unless your luck was capped. If I’m mistaken I’m sorry for the mix up.

That would require the use of FEditor tho

Oh whoops I didn’t see the part where they wanted to avoid it in the OP. I’m blind :U