• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 26, 2024, 02:10:41 pm

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


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 - EnderC

1
Help! / Re: How do I start with modhacking?
January 11, 2021, 02:53:57 pm
Quote from: darkskyx on December 25, 2020, 10:07:40 pmEdit: Nevermind, I just saw that FFTPatcher came with FFTactext and I can change all there ^_^

Take a look at this thread too:
https://ffhacktics.com/smf/index.php?topic=11204.msg213172#msg213172

Xifanie (the legend she is), made an Excel worksheet that makes it much easier to edit text than doing it in FFTactext.
2
PSX FFT Hacking / Re: ASM Requests
January 11, 2021, 02:45:57 pm
Quote from: zoiwillxx on November 24, 2020, 07:56:52 amAll I want is to replace original damage formulas...

I've been playing around with the base damage formula and it's important to understand how tricky this would be exactly as you've requested.

If you're going to do this it's important to understand that the damage formulas (weapons and skills) don't actually calculate the final damage themselves. They set two variables referred to as XA and YA. Another chunk of code (ie. routine) multiplies whatever values are stored in these variables together to get the damage.

So it's one thing to change how XA and YA are calculated, and that's what different weapons do:

(Knight Sword)
XA := PA(Br/100)
YA := WP

(Guns)
XA := WP
YA := WP

It's another thing entirely to change the multiplication of XA and YA, because this will have an impact on every damage formula that relies on it.

Don't get me wrong, it's not impossible, but realistically you'd have better luck learning assembly (which I encourage you to do!) and doing it yourself.
3
I've got a bug to report: See the Edit for steps to solve this problem:

Starting with a fresh image, I've created a fftext file w/ TacText from the base vanilla game. I then imported it into the TextEditor and exported a second fftext file.

First, the second file (XML-saved) is much smaller than the original, even though no text was changed while in the Editor.

base: 3.95 MB (4,150,937 bytes)
edit: 3.50 MB (3,676,136 bytes)

Secondly, patching a vanilla image with FFTacText fails when using the second file with the following error:

DTE for CARD.OUT 2 failed.

Is the large file size difference expected? I've disabled autocorrect in Excel and I'm using a fresh copy of the worksheet in Excel 2010 on Windows 10.

Edit: Thanks to Elric for the fix:

Visit the Settings tab in the workbook and Uncheck (just hit Delete on the checkmark) CARD.OUT 2 under Export before you save your fftext file.

When you then import your fftext file into FFTacText, it will ask if you want to import the missing data from your image. Once you do this, you should be able to patch your ISO successfully. Probably a good idea to save over the exported file once you import the missing data in FFTacText afterwards.
4
Quote from: nitwit on December 28, 2020, 05:48:54 amIf something is present in let us say Battle.bin but not the Routines page...

This actually strikes me as the root of the problem. A wiki shouldn't have duplicate information in multiple locations, especially when that information isn't finished. One update later, and one page or the other is immediately out of date.
5
Bugs and Suggestions / Re: What does FFH need the most?
January 03, 2021, 10:06:44 pm
I might be the only person on the forum who uses the default theme instead of the custom, because the edge cases where the FFT theme breaks were just annoying enough that I'd rather not deal with them.

If you're taking additional requests though, I'd love to see old and/or useless threads removed or hidden, but I realize moderating the forum that tightly becomes a lot of work.
6
If there are duplicate pages, and one has more detail than the other, by all means set up a #REDIRECT to the more detailed page. It's easy enough to revert if this ends up breaking some other link, but redirects are the right tool to use so that this isn't a problem.
7
Hacking/Patching Tools / Re: FFT Patcher .478 Source Code
December 30, 2020, 04:45:50 pm
Quote from: darkskyx on December 20, 2020, 12:58:27 amI have this error everytime I try to patch: "An error of type System.UnauthorizedAccessException occurred: Incorrect permissions".

This is speculation, but make sure you've placed the tools in a location where your user has full control over the contents in Windows' Properties > Security tab under Permissions.

I would expect to see something like this if you unzipped the tools into a protected folder like, say C:\Program Files.
8
PSX FFT Hacking / Weapon Formula Rewrite (XML Patch)
December 29, 2020, 09:09:08 pm
This patch came from wanting to use the weapon formula table from Raven's Item Workbook and noticing there was a load delay issue when taken as is. The workbook included an update that allows abilities using the weapon formula to include its Y value in the damage formula (the workbook describes this working like the Charge skill but that's not entirely accurate).

This patch takes the base Weapon XA Rewrite found here and adds the Y-value feature without introducing additional formula that were (I think) the part causing the load delay.

In short this lets you customize which weapons use any of the following damage formula:

PA*(Brave/100)*PA
(PA+SP)/2*WP
PA*WP
PA*(Brave/100)*WP
Rdm(PA/2...PA*3/2)*WP
MA*WP
WP*WP
(PA+MA)/2*WP

In addition, any abilities that use your weapon's formula* now add the Y-value to the unit's stats before calculating the result.

* This does not apply to the gun formula WP*WP.

I streamed the process putting this patch together over the last few hours, so if you're interested, check out the VOD here: https://www.twitch.tv/videos/854427761 VOD is now unavailable.

Enjoy!
9
Hacking/Patching Tools / Re: Formula mapping
December 22, 2020, 03:37:00 pm
Quote from: Orkney on December 22, 2020, 02:31:14 pmYou're talking about formatting the raw code of the wiki in a form that's more convenient to program?

Correct. Nitwit seems to be suggesting you write a script to fetch all the code on the wiki and format it for you. That might be putting the cart before the horse IMO.

Quote from: Orkney on December 22, 2020, 02:31:14 pmI understand that you want to give names to groups of lines (like the confusion example), so that you can then call them up and have them substituted again by the original code . But how can we create these labels (in what form? in what programme?), and above all how can we use them again?

ASM code is still code. You can use whatever text editor you'd like, though I'd suggest something that supports color formatting. I'm doing something similar with the Damage Formula code in VSCode myself:


I found this very useful in helping me understand what was going on, and you'll get insights from doing this bit by bit that you wouldn't if you were handed the output of the entire wiki.
10
Hacking/Patching Tools / Re: Formula mapping
December 21, 2020, 09:39:05 pm
I have a feeling Orkney, that you might be after the same goal that I am: better understanding of the codebase. The wiki is useful when you want to reference an individual routine, but it's very difficult to see the bigger picture.

I'm going through the same pain as you and I'm trying to find a better way to explore the code.

Nitwit's suggestion is a good one, to scrape the wiki and (most importantly) attach labels to it. It took looking at some of Pride and Clain's patches that I realized labels were a thing. See this code and how much easier it is to reason over:

<Location file="BATTLE_BIN" offset="15C9F0" mode="ASM" offsetMode="RAM">
    @text_delay_hook:
            .eqv    %max_normal_delay, 2
            .eqv    %min_hard_stop, 45

            li      t2, %max_normal_delay
            sltiu  t1, t0, %min_hard_stop
            beq    t1, zero, text_delay_hook_end
            sltu    t1, t0, t2
            bne    t1, zero, text_delay_hook_end
            nop

            move    t0, t2

        text_delay_hook_end:
            jr      ra
            nop
</Location>
<Location file="BATTLE_BIN" offset="132718" mode="ASM" offsetMode="RAM">
    jal    @text_delay_hook
</Location>

As an aside, it's really handy that you can reference the label even across <Location> elements! Had no idea!

There is a lot going on here that would help me read and write assembly that I wasn't even aware of, and it would certainly help understanding larger sections of code if I had labelled it all up like this!

If I could hijack the thread just for a sec, I think this would be useful, but I have a few questions:

What's the difference here between @text_delay_hook: syntax and the later text_delay_hook_end:?

Why are the registries written as t1, t0 instead of r1, r0? (does it matter?)

Is .eqv an op or is it defining variables that get compiled away?

Sorry for interjecting with questions of my own, but I think there's value here. If not I can start a new thread, nbd.
11
"I'm having trouble" isn't going to be specific enough for anybody to realistically help in a single reply.

Please give more detail so that someone can actually give you a specific answer.

What have you tried, what are you trying, and what is the trouble?
12
If I'm reading this right, you'd like Reactions to trigger before the death check?
13
PSX FFT Hacking / Rubber-band Experience (XML patch)
October 09, 2020, 01:09:06 am
Hey everyone, here's my first patch. It's pretty simple but I'm proud of it, and I'm happy with the results.

Rubber-band (or exponential) experience - rubber-band.xml

This scales the amount of XP a unit earns when acting at a level disadvantage. Targeting a unit a few levels below you will earn very little experience, while targeting units above you will provide increasingly larger amounts of experience (up to 99 exp when your target is +7 levels by default). Killing a unit provides a bonus, treating the target as if they were one level higher.

This lets units that have fallen behind in level with the average party level catch up when supporting allies. It also acts as a handbrake when the player's party out-levels their enemies.

The offset 0x0018d648 can be modified to YY000434 where Experience = (YY + TLv - Lv) ^ 2
The offset 0x0018d664 should then be modified to ZZ000434 and ZZ000234 where ZZ = YY + 1

Because of the room required this patch also (I think?) renders the Gained Exp Up skill inert.

Do with it what you will, and thanks for providing this forum's deep well of knowledge to learn from.

14
PSX FFT Hacking / Re: ASM Requests
October 05, 2020, 08:34:30 am
Request: Fur Shop free pickup

I'm not sure to what extent this is feasible but the idea here is that any items in the Fur Shop can be "purchased" for free.

Items purchased from the fur shop must sell for the normal price when sold to any other vendor.
15
Help! / Re: Altering Geomancy and Math Skill - Problems
October 04, 2020, 10:44:46 am
Quote from: Lionheart537 on August 16, 2017, 04:18:21 pm5. Did it work? (Spoiler yes)
Pictures are worth a thousand words



Is it safe to say that the reason Haste and Stasis Sword are not visible in screenshot 3 is because the unit hasn't learned them?