• Welcome to Final Fantasy Hacktics. Please login or sign up.
September 24, 2020, 04:05:42 pm


Use of ePSXe before 2.0 is highly discouraged. Mednafen/RetroArch is recommended for playing/testing, pSX is recommended for debugging.

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Xifanie

Mind you I didn't thoroughly test it
I'm not sure what you're talking about... because adding more jobs isn't possible.

I can only think of 2 things:
  • My spreadsheet that detects unused/duplicates entries for many things, including jobs
  • RAD 3, which allows more units on the job wheel, but is, by design, a cheat and not something that can be used in a proper mod
Balmafula and King Delita are also in there and unused IIRC?
It's technically possible, but realistically it would take a lot of effort while having to deal with severe limitations, particularly the VRAM.
Hacking/Patching Tools / Font Character Creator
July 30, 2020, 11:42:21 am
This is really old, but it still works!
Please remember that a lot of ASM hacks use kanji space, so you will have to try patching this at the same time as every other hack to make sure there is no conflict.
I'd want to make it like JSON, or something. It would improve readability and this type of format could also be extended to event conditionals and world map instructions. Also, this probably won't ever happen as I'm sure it's more than my body can handle. 😅


Offset = 0x12A000;

UnitIDs = {
   Ramza: 0x02,
   Alma: 0x30,
   Simon: 0x80,
   DeadKnight: 0x81,
   DeadMonk: 0x82,

Instructions = {

   X: 392, Y: 1272, Z: 1420,
   Angle: 334, Rotation: 480,
   Zoom: 100%,
   Frames: 1
WaitForInstruction( WaitFor: Camera ),

UnitAnim( UnitID: Simon, Animation: Dead ),
UnitAnim( UnitID: DeadKnight, Animation: Dead ),
UnitAnim( UnitID: DeadMonk, Animation: Dead ),
WarpUnit( UnitID: Ramza, X: 4, Y: 11, Facing: East ),
WarpUnit( UnitID: Alma, X: 4, Y: 11, Facing: East ),

SpriteMove( UnitID: Ramza, X: -44 ), WaitSpriteMove( UnitID: Ramza ),
SpriteMove( UnitID: Alma, X: -40 ), WaitSpriteMove( UnitID: Alma ),
ColorUnit( UnitID: Ramza, Preset: Shadows ), Wait( Frames: 2 ),
ColorUnit( UnitID: Alma, Preset: Shadows ), Wait( Frames: 2 ),

UseFieldObject ( ObjectID: 0x02 ), WaitFieldObject()

RotateUnit ( UnitID: Simon, Rotation: 8, Speed: 1 ), WaitRotateUnit( UnitID: Simon ),
ResetPalette( UnitID: Ramza ), ResetPalette( UnitID: Alma ),

LoadEVTCHR( MemoryBlock: 1, Slot: 0x42 ), WaitForInstruction( WaitFor: LoadEVTCHR ), SaveEVTCHR( MemoryBlock: 1 ),

SpriteMove( UnitID: DeadKnight, Z: 8 ),

EVTCHRPalette( UnitID: DeadKnight, MemoryBlock: 1, Palette: 0x02 ),
EVTCHRPalette( UnitID: DeadMonk, MemoryBlock: 1, Palette: 0x02 ),
UnitAnim( UnitID: DeadKnight, Animation: { Type: EVTCHR, MemoryBlock: 1, ID: 2 } ),
UnitAnim( UnitID: DeadMonk, Animation: { Type: EVTCHR, MemoryBlock: 1, ID: 1 } ),
SpriteMove( UnitID: DeadMonk, Z: 8 ), WaitSpriteMove( UnitID: DeadMonk ),

EVTCHRPalette( UnitID: Simon, MemoryBlock: 1, Palette: 0x04 ),
UnitAnim( UnitID: Simon, Animation: { Type: EVTCHR, MemoryBlock: 1, ID: 7 } ),

Instruction_63( UnknownA: 0xC9 ),


   Wait( Frames: 10 ),
   SpriteMove( UnitID: Ramza, Frames: 36 ),
   Wait( Frames: 16 ),
   ColorUnit ( UnitID: Ramza, Preset: 0x08, Frames: 4 ),
   WaitSpriteMove( UnitID: Ramza ),
   UnitAnim ( UnitID: Ramza, Animation: Standing ),
   Wait( Frames: 20 ),
   UnitAnim ( UnitID: Ramza, Animation: Bow ),   


   Type: CloseByScript | Regular | Bottom,
   UnitID: Simon,
   MessageID: 0x0003,
"{font:08}Simon {br}
{font:00}U, ugh...Alma...{br}
Why...are you....here?{end}",
   Y: 12, ArrowX: -4,
   Open: Smooth
WaitForInstruction( WaitFor: Dialog ),

   Type: CloseByScript | Regular | Top,
   UnitID: Alma,
   MessageID: 0x0004,
{font:00}What happened?{end}",
   X: 18, Y: 28, ArrowX: -4,
   Open: Shock
WaitForInstruction( WaitFor: Dialog ),

   DialogID: Bottom,
   MessageID: 0x0005,
{font:00}It's dangerous....here.{br}
Hurry....run.   {br}
They...came for the Holy{br}
Stone 'Virgo'...{end}"
WaitForInstruction( WaitFor: Dialog ),

ChangeDialog( DialogID: Top, MessageID: Close ),


Hacking/Patching Tools / Re: Online Map Viewer
July 07, 2020, 02:28:35 pm
Holy moogle puffs that's impressive 😮
Hacking/Patching Tools / Re: FFT Mod Helper v1.02
May 14, 2020, 04:19:02 am
Updated to v1.03

  • Fixed a bug where the Brave Story ENTD loaded from Scenarios was erroneous (incorrect offset)
News / Re: FFH's Discord Server
May 03, 2020, 08:48:09 am
Dude, we've had an off-topic section for 4 weeks. What are you talking about?
The Lounge / My recommendations for COVID-19
April 22, 2020, 05:42:40 am
If you show symptoms of COVID-19, even if you tested negative (false negatives are very much a thing), please still consider giving a shot to the advice in this topic, for 1-2 weeks to see how it goes
I am not a licensed medical professional, but any information that I provide can be cross-examined.
I would recommend that you take your health into your own hands and research this instead of just blindly following my advice. All this advice won't be the answer for everyone.

Time for this topic to become demonetized!

As many of you already know, I've become a nutritionist by necessity for my own health, and I've helped quite a few people with their own health through the myriad of knowledge that I acquired over the years. And COVID-19 is no exception to me.

I have some suggestions and I'll explain my reasoning for each:

Raw Garlic
Raw garlic is amazing at boosting oxygenation and insulin sensitivity. It's a performance drug. This means that for shortness of breath, it's effects are undeniable and I can both speak from personal experience with mildew exposure + previous infections and my guinea pig @Elric.

It's also amazing at fighting respiratory tract infections in general, including the flu and fungal infections.

It can be safe to consume up to 1/2 bulb of garlic per day depending on how your body handles it. Even if all you can consume is half a clove a day, it should still help you to breathe tremendously.

How to Prepare
  • Crush/Blend the garlic and let it sit for 10-15min at room temperature (keep away from cats/dogs).
  • Ideally mix it with some lemon juice and refrigerate it for up to 4 days.
  • Once it's fridge cold, swallow the equivalent of 1/3rd of a clove or less at first with some food, including some fats
  • Try to consume this 3-4 times a day. The quantity isn't nearly as important as the frequency! I'd rather you take 1/3rd the total amount twice as often. Allicin has a very short biological half-life.
  • Be especially wary if you have acid reflux, at the same time, try to consume what you can handle.

Zinc (Gluconate)
Viruses hate zinc. Zinc kills them and it prevents them from reproducing! But you can't overdo this because Zinc toxicity is something that can happen pretty quickly. You want zinc gluconate specifically because it is the form of zinc supplementation available that is by far and away the lowest in Cadmium, which is a toxic heavy metal to the body. And do you want to add the stress of eliminating a heavy metal to your body when you're already sick? Of course not.

How to Take
Normally the Daily Value of zinc is 40mg. 100mg per day was proven very effective in treating autoimmune conditions in general. I suspect that a ratio of 2.5x for autoimmune and 2.5x for viral infections would be closer to ideal in order to be healthier. Take with food, split the amount into 2+ times a day. Oysters can work too, but those can be toxic in larger amounts.

If you experience acid reflux or are otherwise known to have low stomach acid, ideally take your zinc with something highly acidic, such as tomatoes.

Get Some Sun
Vitamin D3 is a powerful hormone that is also a powerful antioxidant and helps kill viruses. In fact, many viruses only attempt to come out of the cells to multiply more when they detect a low D3 presence in the blood, indicating a weak immune system. For those further up in the North, definitely try to exposure yourself closer to noon, as the UV rays are still minimal at this time of the year. I would recommend 20min/day for normal exposure, and 60min/day (max 30min sessions) if you're sick. This might be bad for those with Irish genes though. If it makes you feel worse, don't do it.

Blood Production Supporting Supplements, Vitamins and Minerals
The shortness of breath caused by COVID-19 is the result of low blood O2. This means that it's like trying to climb Mt. Kilimanjaro without having trained for it. Thus, anything your body could use to increase your supply of blood could be beneficial, especially if you have a false negative and/or don't expect to be able to receive medical treatment. This is more of a long-term solution to ensure your survival, but still a good strategy nonetheless.

  • Vitamin B12
  • Vitamin B9 (Folate)
  • Vitamin B6 (Folate)
  • Vitamin B3 (Niacin)
  • Iron (ideally heme-iron, from meat)
Try to at least meet your daily requirements, and usually you can multiply the daily amounts of these safely, except for iron which becomes quickly toxic.

Immune Supporting Supplements, Vitamins and Minerals
They reduce inflammation and support your body's fight... very much what you need while fighting any infection.

  • Vitamin E
  • Vitamin C
  • Vitamin A (from animal fats)
  • Vitamin D
  • Selenium (brazil nuts are high in it)
  • Zinc
Vitamin C is the only one that it's not realistically possible to accumulate a toxic amount of, but it's also pointless to take, say, 50g of the stuff per day. It's just more trouble for your kidneys.
For all this stuff in general, go with amounts that make you feel better. You'll need more of those if you're immunocompromised as well.
Help! / Re: Battle Event Editing
April 21, 2020, 11:30:42 am
Quote from: DarthFutuza on April 21, 2020, 10:42:53 amAww darn.  Well I guess that works, how did you guys manage to free additional event slots while also adding more?
Vanilla uses 'setup' events that have no use other than padding in a way that helps avoid otherwise avoidable bugs.
So regular, non-battle events in vanilla always use 2 slots, but they really only need one.

The only issue we encountered was special portraits not rendering properly unless there was an event between a hard save and the event with the special portrait. Or something. Anyway that means 1 event slot freed for every scenario in the game. All the events had to be reorganized, and it took a lot of time and effort.

Gotta thank @Elric for that 💜
Data Types
Spriting / How to resize your avatar for FFH
April 19, 2020, 03:39:06 am
FFH's avatar standard is 80x96, while in-game portraits are 32x48 stretched to 40x48.

Thus, to reproduce the same effect while minimizing quality loss, we can:
  • Resize to 800%, or to 256x384, with the nearest neighbor option
  • Change the color mode to RGB
  • Resize down to 80x96 (31.25% x 25%), with the regular bicubic option (not smooth or sharp)
  • Upload!
In this topic I'm going to share videos I've recorded or streamed about ASM Hacking. The first video was the process of creating a simple formula hack, but I put it in a spoiler tag for now since I figured it was very important for me to go through the basics of ASM first for people to truly appreciate the more complex information I'm putting out there.

Formula hacks are pretty much the easiest thing to create when it comes to ASM, and a great introduction without including the debugger/breakpoints. So, after the basics, this is what this thread will focus on for a while.

Join us on Discord #asm-hacking to know when to expect a live stream to see your questions answered live, or answered in the next video!

Please give me any feedback on how to improve my videos! This isn't just for FFH--I want to make quality videos for my business too.

Kick Formula
Help! / Re: R/S/M modding questions.
April 16, 2020, 06:49:02 pm
1) You can enable all of them, but IIRC some with displayed effects might not stack with each other, like Move HP Up and Move JP Up. My Special Snowflakes hack allows you to give all the R/S/M you want to a unit, but this effect only lasts for the duration of the fight.

2) It's buggy to have innate reaction abilities for the player's units (the reaction slot will be overwritten with one of them), but it's totally fine to have multiple on an enemy-only job.

3) I'm not sure/don't remember.
Mod Reviews / Mod Review Format
April 10, 2020, 11:54:48 pm
Mod Review Format
Copy & Paste and edit it as needed
[mod-highlight]Write a short highlight of how you feel about the mod. Ideally fewer than 25 words.[/mod-highlight]
Write your review as lengthy as you desire, but keep in mind that not everyone will want to read very long reviews. Short and concise reign king. But of course, mention everything that you feel is worthy of mention. More than anything, stay true to your heart!
Mod Highlight: This is what will appear on the special page I'll eventually code so people will quickly know what to expect from the mod and they'll be able to click to read the rest of your review.
Mod Completed: Only use Yes or No
Mod Version: You don't need to be precise here, but don't say "Latest" unless the mod is unlikely to ever see an update again
Mod Scores: Remove any that you feel are irrelevant to your review or to the mod! Only use values between 0 and 5.

Mod Review Example

It's okay... I guess.

This Game is Complete!
Not Completed

Version: Unknown

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec ultrices orci, ac mollis mauris. Praesent in nunc libero. Donec a vestibulum nibh. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi arcu nulla, pharetra sit amet rutrum non, tincidunt vitae sapien. Sed tincidunt mollis nulla, sit amet auctor leo ultrices nec. Nulla rhoncus urna vel tortor semper pharetra. Phasellus massa quam, sodales at tellus non, faucibus bibendum urna. Aenean condimentum tellus id bibendum convallis. Sed sit amet tempor enim, vel venenatis odio. Nullam ornare magna sit amet dui sollicitudin ullamcorper. Nullam nec sagittis nibh, eget tempus diam.

Sed luctus pharetra fermentum. Vestibulum vel orci nunc. Donec non mi quis metus ultrices pharetra. Vivamus felis enim, maximus in justo id, varius aliquam dolor. Ut convallis cursus justo, a vestibulum eros pharetra et. Curabitur mollis ut tortor a cursus. Nam auctor turpis at ultricies tristique. Quisque vitae sodales tortor. Aliquam lorem augue, fringilla sed nisl ac, porttitor ultrices metus. Sed euismod urna sem, ut interdum ipsum suscipit at.

Etiam viverra nulla nec libero sollicitudin bibendum. Aliquam bibendum venenatis arcu, vel convallis massa. Curabitur dapibus nulla sed sagittis vestibulum. Ut ac metus non dui sagittis mollis. Phasellus et imperdiet nisi. Duis a odio accumsan, varius dolor et, dignissim erat. Morbi non enim quis mauris varius blandit id vel ex. Donec non tincidunt lacus.

Pellentesque congue felis ac ante pulvinar pulvinar. Pellentesque ullamcorper tortor sit amet orci porttitor, id pulvinar mi dignissim. Sed tempus diam non pharetra sagittis. Aenean tristique purus et ligula aliquam, ullamcorper congue nisl vestibulum. Donec nec justo lobortis, fringilla tellus id, tristique tortor. Ut eu odio vel arcu tincidunt pellentesque volutpat a nulla. Nam vel urna et purus sodales eleifend. Sed quam mi, euismod ut tempus non, sollicitudin condimentum magna. Integer pretium mauris bibendum, interdum elit vitae, gravida libero. Proin tincidunt, ex at auctor euismod, diam nisi maximus ex, in cursus tortor nunc ut lorem. Suspendisse ultricies sit amet erat quis faucibus. Aenean in urna vel nibh fermentum imperdiet. Aenean consequat justo eget ipsum dignissim, in tincidunt nibh pellentesque. Mauris pharetra tristique mauris eu ultricies. Fusce congue, augue eget vestibulum hendrerit, turpis lectus finibus nulla, a elementum lectus sapien vitae justo. Donec auctor, eros eget porttitor malesuada, risus enim fringilla nisl, quis tempus ligula ante in augue.

In ut elementum elit. Sed eu fringilla quam. Vivamus vel maximus metus. Ut egestas accumsan lacinia. Nulla convallis risus eu egestas interdum. Proin pellentesque commodo arcu. Nullam a ipsum commodo, vulputate augue vel, pretium nunc. Curabitur suscipit semper laoreet. Aenean ex nibh, congue eu pulvinar vitae, gravida sed nunc.
Each mod will have its own topic, and any reviews for that particular mod will belong there.

A specific format needs to be followed for compilations in the future for a page that will allow searching mods by tags and compile scores.

If you wish to post a review for a mod that doesn't have its own topic yet, you can create it yourself if the mod creator is not active anymore following the format below. If the mod creator is still active, please ask them to create the topic in this section themselves. Worst case scenario, I can always move posts or transfer topics to other users, to a certain extent.

Main Post Mod Format
For the topic's subject, please mention the console, PSX or PSP, in brackets, before your mod name. If the project was abandoned or the creator is not showing up on the forum anymore.
Ex: [PSX] The Best FFT Mod in the Whole World (Abandoned)

Copy & Paste and edit it as needed
[mod-title]Your Mod's Title Here[/mod-title]
[mod-feature]Brand New Story[/mod-feature]
[mod-feature]Story Additions[/mod-feature]
[mod-feature]Character Additions[/mod-feature]
[mod-feature]AI Battles[/mod-feature]
[mod-feature]New Mechanics[/mod-feature]
[mod-feature]Quality of Life Tweaks[/mod-feature]
[mod-feature]Harder Difficulty[/mod-feature]
[mod-feature]Easier Difficulty[/mod-feature]
[mod-feature]Easter Eggs[/mod-feature]
A short description with the aim to give an overall feeling of what your mod is about in as few words as possible while still getting the point across. Ideally fewer than 100 words.
[mod-read-more]The url of your main topic or forum section should be inserted within these brackets[/mod-read-more]
On the mod-feature tags... remove the ones that don't apply for your mod.
If you feel a tag should exist but isn't in there, please ask me about it first in this topic or contact me another way. Thank you!
If it's a quick keyword for your mod specifically, you can add your own features but they won't be searchable with the new tool.

Mod Info Example

Topic Title: [PSX] The Best FFT Mod in the Whole World

The Best FFT Mod in the Whole World
  • Brand New Story
  • Character Additions
  • Rebalance/Overhaul
  • Quality of Life Tweaks
  • Harder Difficulty
  • Easter Eggs

It's a mod about Ramza training to become a Holy Swordsman after the original game's story, with Orlandu as his Master/teacher. Lots of comedy and a fully original take of a world-famous fan-fiction!

Quote from: Heisho on April 08, 2020, 03:41:35 pmThe unit will still be alive after the battle ends?
Yes, the unit will still be in your roster available for the next fight right away. I was trying to avoid any ambiguity but it looks like I failed. Can you think of a way to reword the description to make it crystal clear?

Quote from: Heisho on April 08, 2020, 03:41:35 pmWill this still counts towards the Kill count on the Brave History?