Vesly's ASM / C

OK. That works.

This is simultaneously very impressive, and also a tad demoralizing. Because I’ve spent the better part of the last 2 years working on my Custom Build (v20220703) buildfile.

I’m not gonna say it was a waste of time, since I’ve gotten countless help from very talented coders for my own custom skills (Jester, ChiChi, Snerdels, and others). But I feel a bit defeated, nontheless.

I hope more hackers in the future can continue to benefit from the ever-improving Skill System.

I don’t know if it’s advisable to run makehack on the buildfile once and then only ever edit the rom in febuilder. But I was annoyed that the icons etc. weren’t showing up, so I fixed that. Custom build probably has some use, still.

1 Like

BTW. Would you ever work on this more to make it tied to an item? Similar to Engage revival stones

No, sorry

Edit: worth mentioning that Nat made some sort of zombie revival thing for the silly wizardry telephone hack

https://github.com/StanHash/telefon-stan/blob/main/wizardry/source/zombie.c

There is no documentation on this wizardry. If you have questions about how to use it, don’t post here and don’t ping me, sorry. It doesn’t do exactly what you’d want it to do - I mention it only as a reference to code from.

Seems like it would be fairly simple to pull off.

A cursory glance tells me you’d just need to hook into BATTLE_HandleCombatDeaths to intercept the code that kills the unit and BATTLE_PostCombatDeathFades to intercept the animation (if you don’t want it to play when reviving a unit). Then create a function that checks the unit’s inventory for a specific item and refills their HP if so.

I made a revival stone-esqe skill a while back that plays the sacred stone breaking effect when reviving a unit.

2 Likes

@JesterEmblem_EX go make a coding thread lol

I made a fix today so that danger bones won’t interfere with the map sprite animations from this patch I made ages ago.

Previously it was turning units black while the map animation was displayed, similar to that other bug I fixed.

2 Likes

This is so helpfull! Thank you very much. I once started a test with a buildfile only to use the newest skill system (because I still suck at working with buildfiles only and do everything over FEBuilder. I just learned how to make a rom using makehack and that was it.)
and I had to do everything regarding the skills with the hex editor of FEBuilder.

Now I can finally work again like I use to with the newest skills!

2 Likes

Embedding Goombas

Goomba Color is a GB/C emulator written for the GBA. Since some gameboy roms are smaller than the gba’s WRAM size of 256 kb, Goomba includes a multiboot option which puts a bunch of roms into one .gba file, and then loads a specific gameboy rom into WRAM and runs it from there. This is essentially what this hack does: writes a rom that’s 256 kb or smaller to ram and boots it.

Limitations:

  • Saving within the booted game will be reset when the game is exited.
  • The booted game will not return to FE. However, on a reset, the game will boot back into FE and immediately resume the chapter, rerunning the ASMC.
  • The ASMC checks if it just ran, and if so, it does nothing. This is to avoid an infinite loop of booting the gameboy game.

mGBA_aWY6z2fgVQ

Creating a goomba

  1. Download goombacolor Version 3-31-2008
  2. Select goomba_mb.gba as the “emulator file”
  3. Select/name your output file
  4. Select and add your gb/c game
  5. Hit compile
    NOTE: The resulting .gba file must be smaller than 256kb!
  6. Copy the resulting .gba file into my ASM/Goomba folder
  7. Change the #incbin line in my installer.event to match your filename

Commercial gameboy games are protected by copyright and should not be included within a romhack, but there are lots of open source homebrew games available.

Maybe someone will find this useful! I just thought this was cool to try, lol.

19 Likes

Eirika playing snake before Ross tells her there’s no time for games is kinda funny. But this means there’s 1 less step to getting DOOM in FE8, which is a good thing.

9 Likes

Golden Sun Talk Beeps

This replaces the subtle beep sound effects that play when text advances with the overt ones used in golden sun.

There are 8 tone samples included, with 4 pitches for each that it randomizes between. Tana is using the default tone (0, which is identical to 5). They range from highest in pitch (1) to lowest in pitch (8). Here I set Eirika to 2 and Seth to 7 by editing this padding byte in the portrait editor.

You can lower the sfx volume by changing #define BeepVolume 127 to a lower number if you like. You can also set a flag to have an ingame toggle for vanilla behaviour if you wish.

Beep Boop Beep :robot:

22 Likes

Is this compatible with Tequila’s Text Engine Rework? If so, that would be amazing

1 Like

I have no idea. I don’t use that rework, sorry.

You can easily test this yourself by checking the hooks to see if they overlap.

When I open installer, I see no manual hooks, and in the .lyn.event file, we see this:

PUSH
ORG $6c34
ALIGN 4
WORD $46C04778 $E59FC000 $E12FFF1C
POIN Talk_OnIdle
POP
PUSH
ORG $30c94
ALIGN 4
WORD $46C04778 $E59FC000 $E12FFF1C
POIN GetTextDisplaySpeed
POP

Open each ORG address in the febuilder disassembler with the vanilla rom and see how many bytes it reads. This tells you how long to make the protect.

PROTECT $6C34 ($6C34+500) // 500 bytes 
PROTECT $30C94 ($30C94+100) 

Then you add each address with protect to the top of the text rework installer. I’m just guessing how many bytes these functions could be here.

Lastly, you try inserting text rework, and if it errors, then there was a conflict.

Could this be used to make the default noise higher or lower?

I think 99% of the sound effects in the game are stored in the Song Table (I haven’t found the Vanilla dialogue boops. But I’ve found the system text boops).

You can just change the volume of sound effects by editing it in the Song Track Editor, by clicking on “Music Score” to edit all the tracks of a single song.

I don’t want to change the volume of the system bloops, I want to change the pitch of the dialogue bloops by character.

OK. By higher or lower I thought you meant the volume. My bad. For the pitch you’d probably have to either edit the code, since the boops are probably stored as audio files or MIDIs set to square waves. I’m not sure, tho.

1 Like

This inserts 32 tracks into your song table starting at 0x385 by default.

Put a number between 0 and 8 in the portrait editor+0x19 byte for each character. This changes the “voice” used.

Each voice uses 4 tracks at random with slightly varying pitches. It plays the one of the 4 tracks every time there’s [N], , or [A] printing.

Voice 1: 0x385-0x388 (Highest)
Voice 2: 0x389-0x38c
Voice 3: 0x38d-0x390
Voice 4: 0x391-0x394
Voice 5: 0x395-0x398 (0 uses this one as the default)
Voice 6: 0x399-0x39c
Voice 7: 0x39d-0x3a0
Voice 8: 0x3a1-0x3a4 (lowest)

You could try editing this part in the installer to change the pitches of the beeps:

SfxSongDataEntry(sfx256, 0, Cn3)
SfxSongDataEntry(sfx257, 0, Bn2)
SfxSongDataEntry(sfx258, 0, An2)
SfxSongDataEntry(sfx259, 0, Gn2)

Or you could edit the tracks in FEBuilder after inserting if you prefer.

2 Likes

Hi, I need help with something: when I use FEBuilder’s HP Bars w/Warnings patch for FE6, it does implement the bars on the map correctly, but also makes this bugged [R] icon appear on the description text of everything on status screen. Class, unit and item desc (I’m using VBA-M).

Does it have a known fix, or is there an alternative patch available that I need to use instead?

Change your system icon image. Here’s my fe6 one:
FE6-HpBars

https://github.com/Veslyquix/SRR_FEGBA/blob/main/Patches/FE6/FE6-HPBars/FE6-HpBars.png

7 Likes