Mokha's Hacks Sundries

Banim Command Expansion

Download here


Working on some simple effect to expand banim command.

1

  1. C0E
    Call for a fake hit (flashing BG) the same as C51, but with red color and hold a longer duration (C51 holds 5 frams but C0E holds 16 frams)

  2. C0F
    Call for a fake hit (flashing BG) the same as C51, but with black color and hold a longer duration (C51 holds 5 frams but C0F holds 16 frams)

2

  1. C16
    Freeze the anim until the DemoKing has been summoned in background
13 Likes

It is welcome if any guys have any ideas on adding new command for banim script. I may try to make it if possible.

Bnaim-cmd

1

5 Likes

Bnaim-cmd

C53C54

  • C53 (CallDuma):
    Freeze the anim until the dragon-Duma has been summoned in background. You must call for C54 (or C17 or C55) to remove it.

  • C54 (RemoveDuma):
    Freeze the anim to remove the summoned Duma by C53

C55

  • C55 (RemoveDumaNonBlocking) :
    The same as C54, but will not freeze the anim.
4 Likes

Some note on banim ekrgauge

0805160C: display left hp bar number
08051688: display right hp bar number

08051746: display left top hp bar
080517AC: display left down hp bar

08051878: display right top hp bar
080518D8: display left down hp bar

0805191C: Hit/Dmg/Crt number LEFT
08051946: Hit/Dmg/Crt text LEFT

0805197C: Hit/Dmg/Crt number RIGHT
080519A2: Hit/Dmg/Crt text RIGHT

* HP bar position

080514FC: handle hp bar (one line) y pos

0805172A: handle hp bar (two line) top y pos LEFT
08051770: handle hp bar (two line) bottom y pos LEFT

0805185C: handle hp bar (two line) top y pos RIGHT
080518A2: handle hp bar (two line) bottom y pos RIGHT

* proc definition

Proc_Ekrgauge:
+3A: base yPos

ClassChg Expansion

Download here

a rework of Old promotion expansion, enable unit promote to no more than 6 classes.

image

1. Custom Usage

1.1. Vanilla table

Vanilla table of 2 selectable classes has been retained. You can also config on old table to diy branched promotion classes.

1.2. Expansion

At the same time, there are two list for promotion expansion:

  1. gPromoJidLutExpa
    A 0x100 * 4 linear table according to class index.
    You can config 4 additional class to promote.You can also config this table by FEBuilder’s patch, ./patches/PATCH_ClassChgExpandList.txt

  2. gClassChgExpaMods
    A table for promotion with higher degrees of freedom. A unit can promote to ClassChgExpaMod::jid_promo if:

  • The configed class index is matched
  • The configed character index is matched
  • The configed item is used for promotion
  • The configed event flag is set

You can config this table by FEBuilder’s patch, ./patches/PATCH_ClassChgExpandModulearList.txt

1.3. Trainees

As for auto-promotion for trainee class, there is also a reworked table for configuration. gpTraineesRe , with two element jid and level .

You can also config this table by FEBuilder’s patch, ./patches/PATCH_ClassChgExpandTrainee.txt

Custom Build

If you want to modify on source code, please refer to CHAX template, note that the C-Lib use the ver.2023.07.31.

You can also write your own jid-getter function and add the function to the list gGetClasschgListFuncs.

/**
 * r0: unit struct
 * r1: protion item
 * r2: out buffer
 * r3: length of the out-buffer, DO NOT overflow!
 *
 * return: amount of the classes to promote
 */
typedef int (* GetClasschgListFunc_t)(struct Unit * unit, u16 item, u8 * out, int len);
extern const GetClasschgListFunc_t gGetClasschgListFuncs[];

Note that this patch has been embedded to the latest version of SkillSystem, you can directly use the FEB patches without installing for skillsys users.

13 Likes

SaveDataExpansion

Download here

If you take a look in sram layout of FE8U and EMS format, you may find there are a lot of space unused in SRAM form 0x0E00691C.

This patch is working on expanding free space in SRAM to such memory by such method:

  1. Remove the multi-arena entry.
  2. Remove the extra-map entry (although it is indeed unused in Vanilla)
  3. Re-alloc others to the tail of SRAM.

Now such SRAM space is free to use for expansion:

0x0E00691C - 0x0E007DEC

This patch is not in conflict to the expanded-moduler-save patch.

7 Likes

I use that area of SRAM for my unit expansion hack that I released recently, just so you know.

Yeah, it is your work that remind me on digging in such memory. Have you reloced the memory from 0x0E007190 to 0x0E007400? If not, maybe you could refer to this patch.

CN translation patch for FE8U (rework)

see here

This patch is mainly port from FEHRR and credit to @MisakaMikoto

A EA installer to install Chinese fonts and texts to FE8U.

fe8-chax

Since the characters is encoded by UTF8 and glyph is searched by Unicode format (just as what FEB work), so this patch can work together properly with FEBuilder. And multi-language characters (such as Japanese, Spanish, etc) may also be further supported by adding your own fonts and texts.

I’m also working on a template to integrate such fonts & texts to your wizardry project (or say, insert everything through EA), see here.

6 Likes

Did you see that we merged UTF-8 with narrowfont support into SkillSys already? I took what you sent me and prepared it.

https://github.com/FireEmblemUniverse/SkillSystem_FE8/tree/17d3d828b16da4c550f70b3b5bb22b65017b42ca/EngineHacks/ExternalHacks/Fonts

If you want anything to be done differently in SkillSys master, please make a pull request for it. Is this post just the standalone version of it? But having language packages that are easy to download and place into the folder would be nice. I used the Chinese characters you sent me in Pokemblem for translation purposes.

This reworked script is quite different to the old. FEHRR use a better scheme than two years ago with better handling on different font liberary, so I try on it.

I may take a look on skillsys later.

BTW, the text process and parser is also reworked to port for UTF8 encoding. You may have a try.

Recent work:

R-Text DIY:


A CHAX rebuild new SkillSys may be published lately :yum:

11 Likes

Better patch to skip prologue intro

    ORG $A39768
    EVBIT_MODIFY 0x1
    SKIPWN
    ENDA

    ORG $09E00
    SHORT $4770

Plays the same as FEB patch Toggle New Game Text, to remove “In an age long past…” before prologue.
1

But this patch performs better, as it may directly skip the whole intro proc.

13 Likes

FE6 style StatScreenfx

111

fe8_hacks_sundries/wizardry/StatScreenfx at main · MokhaLeee/fe8_hacks_sundries (github.com)

Just as the image, let FE8U statscreen display in FE6 style.

This patch has no conflict to SkillSystem, you can directly use this patch to your skillsystem with no worry.

15 Likes

No wait after trade

Unit may not wait after trade with unit nor supply.
1

Download here


In vanilla, if unit has traded with somebody, he can handle other action freely but can only wait if player want to control other units. You can get more details here. This taken action is saved in gBmSt + 0x3D, and may casue wait during pre-action handler PlayerPhase_PrepareAction. This patch hacked such function and handle on actions before that handler in modular.

9 Likes

Dummy Spell anim fix

Download Here

Suppose you set Rapier’s range as 1-2 without configuration on SpellAssoc::efx, you may got a problematic animation as a result that dummy efxmagic does not deal the hitted anim properly. This patch fixed on dummy spell anim as below:
vanilla → 2

fixed → 1

8 Likes

FE7 style thunder bmfx

Download here

1

Port form FE7 event thunder fx to FE8U with API bmbgfx, event script is intergrated, you may save the target character index to slot2 and directly call for event EventScr_CallThunderfx

Example

SVAL 2 Riev
CALL EventScr_CallThunderfx
SVAL 3 0x6 // x
SVAL 4 0x8 // y
CALL EventScr_CallThunderfxAtPosition
11 Likes

FE7 style SpawnAssassinfx

Download here

111

Usage (see here)

SVAL 3 0x6     // [slot3] = x
SVAL 4 0x8     // [slot4] = y
ASMC CallEvent_SpawnAssassinfx
STAL 1

Port from FE7, you can also directly load an Assassin after call for such bmfx just as what it did in FE7

6 Likes