a decomp-based, Skill-Lite style C-HAX builfile
Compare to existing Str/Mag patch on FE7U or SkillSystem-integrated version, this patch alse use Unit+0x3A
byte as unit magic status, and BattleUnit+0x7F
byte as level-up magic status change. the main progress of this rework are:
-
Fix on expand-levelup-screen
: It can not be applied on existing str/mag patch to use expanded-screen. Although we can make a window on the screen, it still lies bugs when level up. Here we made it. BTW, it's now able to expand to even more unit status up, such as Three House style unit's charm or others. If you want to do so, read the source code insideWizardry/CoreHacks/LevelUpRework/LevelUpScreen/src
-
Decomp-based and fit to Skill-Lite construction
: Fit to core-support system of Skill-Lite, includeing Battle-to-Unit-Hook, Load-Unit-Hook and Modular-Level-Up, etc. BTW, all of these base supports are all re-writed in c based on decomp project. Expanded-modular-save has also been included. -
Fix on Other bugs
Including auto-level, check-cap, etc. I did not work on BattleSystem anymore, since both unit attack calc and weapon attack range will all be re-write on construction of Skill-System, so it's pointless to spend too much time on these issues.
For Windows users( I use win10, no idea how it works on mac...), you can simply assemble Main.event
through EventAssembler, just refer to Ultimate Tutorial 2.0. Or, put FE8U clean rom named FE8U
in current folder, opne WSL or Msys2(which are inside DevKitPro) at this dolder, and types sh MakeHack.sh quick
, then you will get a FE8-CHAX.gba
, which are our hacked rom.
For compiling Wizardry
, you are recommended to refer to setup-tips on Skill-Lite:
-
Type
git submodule update --init --recursive
to clone FE-CLib and FE-CLib-Decompatible repos inTools/
; -
Create a folder under
Tools/
namedEventAssembler
(no space!) and put EA file and ColorzCore in thisTools/EventAssembler
; -
Put lyn.exe at
Tools/EventAssembler/Tools
. -
Put a FE8U clean rom and open Msys2, type
sh MakeHack.sh all
-
For vanilla,
gLevelUpStatsBase
(start from 0x2020110, free up to +0x2020132) are used to store both unit base and unit status change on case of Anim-on. Here we just store status-up there, and unit base status are directly loaded from BattleUnit struct. -
TextHandle struct are not enough for expansion, so I use
gStatScreen.texts[]
for displaying level-up texts. -
Further reaserach can refer to my thread and my c-style study on level up screen.
- CoreSupport
- Battle Unit Hook
- Load Unit Hook
- Expanded Modular Save
- CoreHacks
- Modular Status Getter
- Status Screen
- Draw Pages (Page Unit)
- Help Box (Page Unit)
- Level Up Rework
- ModLU: CheckBattleUnitLevelUp
- Level up Screen
- Promotion: ApplyUnitPromotion/ promo-diff
- Auto Level (add unit mag auto-level)
- Check Cap (add check cap for unit mag level up)
- Growth Getter
- Str/Mag Split core
- combat (not change this file)
- Misc Getter (get class mag cap, get unit mag growth, etc)
- SRAM functions for Mod-Exp-Save
- Other HookList functions
- There are problems on class name change process when promoting, currently no idea to fix.
- Magic Booster
- Magic Sword rework
- Weapon bonus of unit mag-status
-
Tequila, the contributer of the 1st version of FE7 Str/Mag Split.
-
StanH, and Skill-Lite, FE-CHAX and C compiling toturials, etc.
-
Laquieer, and FE8U Decomp contribution, Function-Lib, etc.