• Welcome to Final Fantasy Hacktics. Please login or sign up.
October 28, 2020, 11:05:06 pm


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

Help! / Re: Destroy Equipment Mechanism
August 24, 2020, 07:38:38 pm
Here are some - not sure if they are all - of the relevant ASM routines on the wiki.

For dealing with Steal or Breaking items, this is what you need.

It is used in these routines:

Note that it checks specific ability slots (Weapon Break, Armor Break, ...); the comments really should say that it checks a specific slot along with the vanilla ability in that position. You could change those so it instead checks if the X or Y value for a given ability is above or below certain values to determine what equipment slot it breaks. I'm not an ASM hacker so I can't say for sure how you'd change it to accomplish it, but it seems doable as far as ASM hacks go.

Look here to get started on finding the "Ability X" and "Ability Y" (Ctrl F them) values, but you'll need more help than I can currently offer to make sense of it:

Also note the addresses where the steal/break hardcoding routine jumps around. Those jumps are essentially if/else-if/else conditionals, though it helps to write it down on paper to get the concepts. You could probably muddle through changing those to ability x/y values with a little hand-holding from an ASM hacker.

The "jal" opcode is a subroutine/function call. I'm not evolved enough yet to make high level programming analogies to other MIPS language structures - if someone wants to write a guide on doing so, please do so.

If you want to change which stat is affected by the Knight and Rune Knight stat break skills, look at this routine:

It is used in these routines:

I assume you'd do the same thing here as above.

Maybe post this reply in discord and see if anyone wants to help you. I am personally interested in dehardcoding breaks/steals, which is why I had this reply prepared.
PSX FFT Hacking / Re: The Blue Mage
May 07, 2020, 11:47:10 pm
Quote from: Nyzer on May 07, 2020, 06:58:53 pmThat's still a very specific kind of monster setup that doesn't even exist in vanilla. No generic monsters are immune to the status effects that would lock them down far more effectively. Someone would have to be designing generic monsters with the clear intent of preventing them from being CC'd in any way before it would come down to trying to "exploit" the fight by draining their MP, and then, well, yeah, just give them sky high MP and maybe Move-MP Up and that solves that.
Agreed, but any modder worth their salt would give every monster at least a few immunities to debuffs, and reactions which make dealing damage more difficult or risky.
Quote from: Biospark74 on May 07, 2020, 07:49:29 pmI will probably go the path of nitwit, I love his take on the job system, it's just the leveling... Im kinda attached to that, it's an rpg dammit xD
but seriously, I know there is work around the leveling system and honestly, removing it could fix a lot of problem with this type of game.
I don't understand, the system I described has multiple different types of leveling. You will get stronger as you gain character levels, but the degree to which you get stronger is up to whoever designs the game. You could have no strength gains from character leveling or massive gains, it's up to you. The system I outlined allows both.

Preventing grinding and power-gaming is easy; make fights dangerous. If there's significant risk to trying it, players will stop doing it.

To grind you need to totally incapacitate an enemy, and kill all the rest. This is usually harder than just killing them all. Look at vanilla FFT, where in order to grind you need to weaken an enemy with equipment breaks, stat breaks, brave or faith reduction, and debuffs. This is a lot more work than just killing everyone, and your characters must be significantly stronger to do it when you compare it to the power needed to be a murder-hobo.

I spent many hours chasing a chocobo around a map and trying 20 times to break it's PA and SP down to 1. In that amount of time I could have fought five battles where I just killed everything. With that in mind, maybe you could have a system where JP gains are determined by the battle itself, rather than what you do in it? The Final Fantasy Tactics Advance method, in other words. It's still grinding, but it's grinding to murder more efficiently, not to toy with your enemies before you kill them.

Removing the need for grinding is a different goal than preventing grinding and power-gaming, but you accomplish it in the same way - by making battles harder.

Within the confines of FFT, that means these things.
  • Make all reaction, support, and movement abilities useful in some way. A movement ability could be something as simple but game-changing as making it cost 2 move to leave any square adjacent to you.
  • Make all equipment useful in some way and of the same general power level, or make the enemy AI equip them intelligently. When trying to avoid stupid AI decisions, removing bad options is as important as adding good ones. If you have an accessory that improves MA and you can't prevent an AI controlled melee character from using it, then you should make it usable only by mages.
  • Don't let any class exactly duplicate the skill sets of any other class. If you have 6 different classes that can heal, revive, and remove debuffs, then each of these classes should do these things in different ways and their means of doing so should have different properties (range and vertical range, area of effect and vertical tolerance, power, base stat, formula, elements, degree of randomness, charge time, ...).
  • Don't let anything offer total protection, or if it does give it considerable drawbacks. Something like a Ribbon could make you immune to buffs as well as debuffs, and give you elemental weaknesses.
  • While it's fine to have some classes focus almost exclusively on one thing or another, try to ensure that each class has something to do at every stage of the battle. If there's always something you can do, then you're always earning experience and JP. For most melee classes this means ranged options, minor short-range single-target buffs, and minor short range single-target healing and debuff removal. Mages need something to do when they're low on MP, which means medium to long range utility weapons. Classes like vanilla Archer need charge skills which add debuffs. You can abstract this for easier planning by giving each class a major and minor role, or three minor roles; where the role is something they do and the major/minor modifier is how well they do it. Even something as simple as a medium range 100% knockback skill which deals no damage in itself is very useful in many situations.
  • Put limits on abilities which are used to grind. An MP cost and charge time could be enough, as are checks built into the ability itself which limit you to a certain range of improvement and then always fail or always give zero experience and JP.
  • Think of ways to make humans, monsters, and humanoids work in tandem. A monster like a Dragon should be equivalent to a multi-stage hunt in Final Fantasy XII; first you debuff it, then you whittle down it's HP, and you try not to die as it throws various things at you. If you go into a battle without the full range of options you might need then you will be in for a long fight, or it could be impossible to win. Imagine trying to kill something with 1000s of HP when the absolute strongest single attack you can use at the end of the game deals 400 damage, the enemy can heal, and you forgot to bring poison and any way to weaken it's attacks. I hope you can heal for the 10 minute it will take to kill that thing.
PSX FFT Hacking / Re: The Blue Mage
May 07, 2020, 06:29:58 pm
Removing MP from a monster to prevent skill use could be the best option if the monster has a healing or revival skill, status immunities, permanent buffs, or useful innate skills.

If you don't like being able to drain monster MP to prevent them from using their skills, the fix is to increase their MP multipliers and growth so it's less feasible.
Quote from: Biospark74 on May 07, 2020, 08:40:02 amThanks for the indepth explaination. I can understand it and work with this better. It's pretty much what I was going for when I think about it.

it's possible to rebalance it to my need or balance if the need ever rise in that case ^^

I will probably still do class scaling to a degree similar to disgaea, yes, the warrior going mage will still be weaker than pure mage, but he will scale a bit so he will have a better fighting chance.
The range of values for stat pool gains from various sources vary enough to allow you any sort of stat progression, from nothing to multiple stat tier gains per character level up. It's up to you, the game designer, to balance it with some vision in mind.

You could do X-Zero's method by zeroing out stat pool gains on character level up, which leaves only gains from learning skills, gaining Job Levels, mastering jobs, and equipment modifications to stats. That would make for a simpler and faster game, with less grinding.

If you can think of any significant limitation to my idea, please post it so I can improve it. And thanks for making this thread.
Let's look at a simplified version of FFT.

Every character has a character level, and character experience. For simplicity we'll just call them level and experience. As you gain experience, you gain a level. Nothing new so far.

Every character also has stats: HP, MP, SP, PA, and MA. Each stat has a tier, which is the visible number besides each pair of letters (HP, MP, SP, PA, MA). Each stat also has a pool (which in actual FFT is invisible and far more complicated than this, but in my idea is visible). As the pool fills up from 0 to 100, that stat gains a tier.

Character Level increases as Character Experience overflows 100.

Stat Tier increases as Stat Pool overflows 100.

Okay then, how do I increase the pools for each stat?

As you gain a character level in a job, each stat pool is increased by a certain number.

Let's say we have two classes: Warrior and Mage.

On gaining a character level, a Warrior increases his stat pools as such:
+ 1000 HP Pool AKA 10 HP Tiers a level
+  300 MP Pool AKA  3 MP Tiers a level
+    5 SP Pool AKA  1 SP Tier every 20 levels
+  10 PA Pool AKA  1 PA Tier every 10 levels
+    3 MA Pool AKA  1 MA Tier every 33 levels

A stat gains a new tier once every pool reaches 100, so a Warrior gains 10 HP and 3 MP a level. SP, PA, and MA increase more slowly, with tier increasing only after multiple levels are gained; the exact amounts vary. Now, onto the mage.

On gaining a character level, a Mage increases his stat pools as such:
+  600 HP Pool AKA  6 HP Tiers a level
+  700 MP Pool AKA  7 MP Tiers a level
+    5 SP Pool AKA  1 SP Tier every 20 levels
+    3 PA Pool AKA  1 PA Tier every 33 levels
+  10 MA Pool AKA  1 MA Tier every 10 levels

This is a much simpler and clearer version of the FFT stat system. Now let's expand it.

Let us say that each skill has a bit toggle (HP, MP, SP, PA, or MA) and a single byte (0 to 255) attached to it. This is used to determine how much that skill increases a certain stat pool upon being learned.

The mage has a skill called "Magic Missile". This skill has an associated stat pool bonus of:
+  20 MA Pool
Learning Magic Missile increases your MA pool by 20, bringing you 1/5 of the way towards a higher MA tier.

You could also have 5 variables for each job, which are used to determine how much that job increases your stat pools upon gaining a job level, and also on mastering that job. Warrior could have a stat pool bonus of this:
+  500 HP Pool AKA  5 HP Tiers
+    0 MP Pool
+    0 SP Pool
+    5 PA Pool AKA  1/20 of a PA Tier
+    0 MA Pool

I like this system better than FFT for these reasons.
  • Everything is visible, much simpler, and more straight-forward than vanilla FFT.
  • You have multiple ways to gain power, which reward multiple styles of play. A low-level gamer can gain some power by learning skills and mastering jobs, while someone that just wants to murder everything as fast as possible can do so without caring too much about managing character level gains for optimal stat tier gains.
  • Just as in vanilla FFT, your previous history stays with you. Gain 20 character levels as a Mage and master a bunch of caster levels, and you will always be a good caster. This will help and hurt you, but it lets you optimize characters for specific roles. Whether or not it is possible to paint yourself into a corner is up to whoever designs the Stat Tier gains for each job relative to one another. If they're all mostly equal, but emphasize different stats then it should be impossible to completely ruin a character.
  • Because there are no stat tier multipliers as in vanilla FFT, you aren't anything special just because you changed jobs. You must actually spend some time as a job to accrue its benefits.
  • You aren't completely screwed if you spend too long in a job which emphasizes one set of stats (unless that job has lower overall stat tier growths than others). You can always go master a few other jobs to gain some stat tiers to even you out.
  • You can grant enemies higher stat tiers by selecting their JP levels. An knight with level 8 Samurai unlocked will have higher stat tiers than a Knight of a similar character level but with only level 1 knight unlocked, because it's spent more JP learning skills and mastering jobs (and increasing its stat tiers and pools).
  • You can graint enemies more nuanced stat tiers. A PA/MA balanced job (like a geomancer) with a level 8 in an MA-emphasized job (summoner, maybe) would have higher MA and MP Tiers than one with level 8 in a PA-emphasized job. Thus you can customize both the stat tiers and the probable skill loadout (probable because it's partially random) of enemies.

I decided to do away with my earlier discussion of stat tier multipliers for each character that stack with job class multipliers because I can sort of replicate the mechanic with the system I outlined above, it's already very complex, and I don't like the idea that putting on a wizard hat suddenly makes you smarter or taking off your shirt allows you to punch someone to death (see attached image where Randy changes job classes to a Monk).

While it wouldn't be too difficult conceptually to add 5 bytes to a character which increase the effective stat tier by n%, and have various ways similar to those listed above of increasing those multipliers, why bother with another thing to balance when the system above is good enough and it gets the job done?
If you think about it, FFT uses what's basically experience and levels for HP, MP, SP, PA, and MA. On gaining a Character Level, each job grants a certain amount of "experience" in each stat, and this is divided by a certain number to determine the "level" of a stat. It's further multiplied by an integer and divided by 100 for each job to reflect that jobs strengths and weaknesses.

The best way to improve on the stat system of FFT is to make this relationship explicit. From there you can add a certain amount of other things.  Here's what I would do.

  • A small amount of fixed stat growth in terms of stat experience to all stats on character level up. You could make this player input if you like, but I would go with a small flat amount of stat experience per each character level up.
  • A small amount of stat experience per every skill learned, either based on the job or based on the skill.
  • A certain amount of stat experience gained per each character level up while a member of a class, where the gains are based on the class itself.

Technically, choosing what jobs to gain levels in is player input, if you design the jobs the right way.

Along with that I would have multiple levels of stat multipliers; one for each character that starts out at a baseline, and one for each job. From there you can improve the multipliers by mastering jobs, learning skills, and changing your job class as in FFT. It wouldn't be a lot - an extra +1 to your PA multiplier percentage for mastering Knight, for instance - but it would alter stats for the character permanently, regardless of the job they are currently select.

You could use one or the other, or both. Additive stat multipliers and explicit stat level/experience both end up in the same place. They reward the player in the same way by doing different things: gaining levels, or learning skills and mastering jobs.

This system is superior to the FFTA system because the numbers don't quadruple or quintuple over the course of a playthrough. You could design it around base stats of 3 to 6, and max stats of 12, without much fuss.

I'm not a fan of random gains unless the total amount is always equal and it's the distribution which is somewhat randomized. Feeling like I need to save-scum to powergame makes me want to put the game down. Powergaming is not a compulsion I can ignore, and I prefer to structure games so I can't do it.
Completed Mods / Re: [PSX] FFT Cerabow's Mod
May 03, 2020, 03:01:42 am
IIRC Zodiac compatibility modifies damage/hit-rate from 50% to 150%. That's so significant I remember building teams with the best compatibilities. A better variation is +-12.5% or +-6.25%; enough to influence the outcomes of individual actions, but not enough to change the outcome of a single battle.
FFTA/FFTA2 Hacking / Re: FFTA AIO Editor help
April 27, 2020, 07:55:27 pm
Just found this while doing some research. It looks like an experimental FFTA map editor.

PSX FFT Hacking / Re: ASM Requests
April 25, 2020, 10:38:10 am
Quote from: ZeroX on April 22, 2020, 05:56:21 amMain request: Nullify EXP gain hack.

Hi guys,  I'm a bit desperate, cause my patch, the way I envisioned it, really need a hack that nullifies EXP Gain. I want the characters to stay stuck on the level that I set for them on the FFT Patcher.

Extra challenge: Job multipliers scale with Job levels hack.

And MUCH more complicated, is it possible, a hack where class stats multipliers, scale with job level?
job level 1 = 100% multiplier (stays the same)
job level 2 = 105% multiplier
Job level 3 = 110% muktiplier
job level 4 = 115% multiplier
job level 5 = 120% multiplier
job level 6 = 125% multiplier
job level 7 = 130% multiplier
job level 8 = 135% multiplier
Mastered = 150% multiplier

I dont know if I really would use this, if this is indeed possible, but I find this much more interesting than leveling up to level 99 through EXP.
You will usually get a better response if you attempt some research on the subject and ask more specific questions on what to modify. The adage that the best way to get a correct answer is to post the wrong one holds true.

Start by searching for "experience" on the wiki.


Since you're just nullifying experience you could try to look for comments that tell you what is happening where, and set the gains to zero.

If you want to learn how to write ASM hacks you could start by watching any of the tutorials in the tutorials section.
Sorry for necrobump, but the download link for Ganesha version 0.72 is dead.

Completed Mods / Re: FFT: Emergence (PSP)
April 15, 2020, 03:47:55 am

QuoteInstead of preventing Chemist & Throw Item / Mediator & Monster Talk / Ninja & Two Swords / Monk & Martial Arts, this hack prevents all inherent abilities from being equipped. So in vanilla it alters nothing, but it will adjust to whatever you do in FFTPatcher. If you're feeling silly, you can do things like giving Knights innate Equip Armor / Equip Sword / Equip Shield to prevent the player from equipping junk. It does not stack with the previous hack; you can't ban specific combos.

It also prevents equipping multiple copies of a single R/S/M ability, which again has no effect in vanilla, but is probably desirable if you're using a "merge Support/Movement" hack.
If anyone's wondering, I'm still working on this but it's going very slow. I'm halfway through world.bin right now. Should be done in another 12 hours of work, which for reasons of sanity I can't do all at once.

You can find out if any routines are missing by searching for the text "missing" in any given file. There are quite a few that were never disassembled, or were disassembled and lost. A handful of wiki pages seem like they existed at one point but now don't. I'll hold off on disassembling those routines and adding them until after I'm finished with all the others and after I add the data tables.
I'm posting this here on the chance that someone else is working on getting all the data tables and disassembled routines on the wiki into a form which can be assembled. Right now it's just copies of most of the disassembled routines for the files straight from the wiki.  Attached is a zipped folder with text files containing the disassembled routines.

It's more tedious than difficult, but with current circumstances being what they are I have more free time than usual. If you want to have the disassembled routines in a convenient off-line form, this would be it. If you have additional information not found in these files or one the wiki, please share or update the wiki.

  • Rip the disassembled routines from the files I haven't done yet from the wiki into the appropriate text files.
  • Add the missing routines into these text files.
  • Add data tables to the text files.
  • Make a duplicate set of files named with the *.asm extension instead of the *.txt extension, for assembling.
  • Replace all the routine calls in *.asm with labels.
  • Replace operands with labels where appropriate in *.asm; will require a bit of thought or maybe pseudo-opcodes.
  • Put data tables in the *.asm files in a form which my assembler will recognize, ideally using labels so they can be resized and altered at will.
  • Put compressed text tables, uncompressed text tables where they exist, and metadata/pointers for media assets into the files or devise some way to automate their creation given a set of inputs.
  • Do whatever else I currently don't know to get the *.asm files to assemble.
  • Apply all the essential and definitive bug-fixes, optimizations, and extensions to the *.asm files.
  • Improve comments in both *.txt and *asm files.
  • Discuss, plan, and implement new optimizations and extensions.
  • Port the codebase and assets to a platform that allows more resources for improving and expanding the codebase, data, and assets, such as the PS2 or PSP. Please note that the PSP version is hardly a real port.

It wouldn't be a bad idea to upload these files to a source host that allows incremental revision such as Github. I make no claims of copyright to any of these files.

I use the assembler ARMIPS.

This thread may be useful if it isn't already incorporated in the wiki.

As of the last edit of this post I have grabbed all the wiki entries on equip.out and require.out; they are in the zip file below. I'm going with the smallest files first. They are missing quite a few disassembled routines which weren't in or disappeared from the wiki, and the comments are sparse compared to SCUS and the battle.out file.

Let me know if you have any issues with these files.
Well if you insist I'll reply.
Quote from: Elric on March 24, 2018, 08:14:28 pm
Back the banhammer up here.

Atleast 80% of anyone banned in the last 5 or 6 years, has been by me, and sitting here looking at the ban log, there isnt a single one who didnt have it coming. When the site has rules and you are called out for not following them, its not a great idea to start name calling an admin.

In raw numbers, how many people were banned over the years?  What percentage of your "logged in that year" userbase were they?  What did they do to "have it coming"?

I pointed out earlier that I'm more than capable of making my own editing tools and given the apparent results of the current administration's tenure I don't need an antagonistic relationship with them to attract a larger active userbase.  All I need to do is focus on hacking, research, and tool development, without the random purges once every 2 or 3 years.  So your threat that "it's not a good idea to start name calling an admin" is toothless because you have nothing to harm me with, I pose more of a threat to you than you do to me, and I'm willing to be reasonable if you meet me halfway

Going by the visible dynamics, you're the enforcer and Xifanie is the policy-maker.  I have no real issue with you because from what I've seen you go by the tone set by others.  Your arguments aren't well thought out, which lends credence to this theory.

You do realize that Xifanie has always been here right? Whether it be Zodiac or Xifanie, shes always been an admin here. So go ahead and tell me who was lost due to this that was needed in any way.

It not who was lost that mattered, it's who was lost that would become someone that mattered.  If you kick off every stupid newb that doesn't know how to act, they will never grow.  Newbs serve a purpose - they are playtesters, bug reporters, cheerleaders, documentation writers, and marketers.  Those with an aptitude for something more involved usually find it and graduate, but the networking effect of having a large group of newbs is greater than the sum of their efforts.


Scale matters.  You don't have the same interaction dynamics in a village of 150 as you do in a city of 150,000,000.  By the same token, progress occurs faster when large groups of people are around to feed on each other's energy and keep one another motivated.  Look at how many releases and code rewrites occur at communities with a handful of active members vs those with hundreds of active members.

By banning every poorly socialized no-nothing you hurt yourself.  It's better in the long run to call them out in an open, neutral fashion, and then encourage them to learn more.

Lets run down the big patches shall we?

- Mercs, LD realized he was way in over his head and had ideas that werent even possible at that time and lots of spriters and people who came up with ideas for it, got burned when he simply bailed with little to no explanation. Nothing to do with Xif there.

- Remix, Zozma may have had issues with some people on the site, but Xif wasnt one of them for the most part and that was also the way of the site way back then before a lot of bad seeds left (feel free to check post history on any of these if you cant take my word for it). He bailed and left his big project unfinished as well, though it certainly went further than mercs.

- IA, good lord, do i even need to go into what happened with this one? The stuff between r999 and voldemort again, nothing to do with Xif.

- Symbols or Rage or whatever, dude got sick and bailed. I dont think Xif mailed him a virus, maybe, but kinda doubt it.

Since those mods, there has been no attempt at anything but small, easy, vanilla patches by 95% of people who come to this site. We have JoT5, TLW and eventually KoI in production by people who actually do things.

And look at where FFH is now, where the people who do things are allowed to do whatever they want to the people who can't yet do things.

If youd look, youd see that anyone who has tried to venture outside of standard fftp work and make a non vanilla mod has still always had their questions answered, and even when it comes to fftp stuff they still usually get an answer, even if we encourage them to work on other things first, but hey, weve only been doing this for a decade, what do we know.

And look at how much your userbase has shrunk in that decade.  Part of it is due to people growing up and moving on, but that's not sufficient.  FFT had releases on PSP, iOS, and Android.  On GameFAQs there's a surge of activity whenever a game is ported, remade, or rereleased, but here?  Almost nothing.

As for your personal life. Thats on you, that is completely irrelevent here. We could go into my background if it would please you, but to me, it seems pretty telling to call out someone else falsly saying that this is all ego related, then feel the need to inform us of your background. Are you also vegan?

Well someone asked a question and I answered it.  If informing people of my background is an ego problem, what is Xifanie's use of chat and the forum as a way to publicly play out her BDSM fetishes?  Granted it's her forum, but she should be aware of the consequences that her behavior will have on the userbase.

Would you be willing to admit that something makes you uncomfortable or seems wildly unrelated to the stated goals of this forum when random newbs get banned for being newbs?  Or would you quietly ghost?

And where were you during all this, Elric?  Too focused on making things to be honest to the person who needed this feedback the most?

Fact is, most of the tools Xif has created the last 5 or 6 years has been to specifically help people out or make their jobs of modding outside of the tiny stuff that FFTP gives access to, easier, and it has allowed many awesome things to be done that otherwise would not have been possible. So if you truely see it the way you describe above, you are incredibly delusional

Quote from: Xifanie on March 24, 2018, 06:53:53 pm
Wow, that is just sad.

Listen, you can either listen to my advice, or be miserable the rest of your life. It's your call if you want to wake up or not. I'm not your boss, and it's your life.

You're going to be fucking wasting your life away if you try to pay back student loans being a dishwasher.

You got replaced because you were very replaceable.
Your current job also has you easily replaceable.

So, how do you make yourself not easily replaceable? You need a skill that is rare, and high in demand. Something that is up to date, not information that you learn in college that immediately puts you 5 years behind in terms of knowledge compared to people who learn how to code using just Google.

The moment you graduated, your knowledge was already was outdated. That's how school curriculums work; they don't change very fast. Now if you only try get a new programming job in 4 years, what's going to happen? Why would anyone hire you? You're not special, you're not up to date, you're fucking nothing.

You need to find a skill you perform well at and stick to it. Use Google; no one in the history of the world ever had access to so much information, and most of it is FREE. I don't care if it's programming or not. Is programming really for you? Is it the only thing you can remotely excel at? Is it worth all the trouble? You have to ask yourself these questions.

Because with your current plan, your life situation will NOT improve. That would be a total fucking delusion. Most Americans don't even have 10k in savings to retire, hell, something like 28% don't even have a single dollar saved for retirement.
And our generation will have it FAR worse. If you don't have plans to excel, yeah, then just get replaced by indians and robots and complain how people should go into prison even though you were so fucking replaceable in the first place. That's gonna help. You can bitch all you want, but it doesn't change the fact that your life is your own responsibility. The sooner you accept that, the sooner you can move on and start improving your life.

I might have sounded harsh, but you need to wake the fuck up.

China requires foreign companies to employ about 50% native Chinese workers and to share tech/I.P. secrets.  A lot of our products are already tariffed by the Chinese - we're already in a trade war with them and we're losing.  There's no reason the USA can't do the same.

The same can be said of illegal immigration and Mexico - Mexico does not allow the children of illegal immigrants to Mexico born in Mexico to become citizens.  Mexico also deports non-citizen legal residents that take part in political protests or general political activism.  So if I snuck into Mexico with my girlfriend, had children, and waved an American flag around at a political rally for other illegal Americans in Mexico so our kids can become Mexican citizens, I would be imprisoned, my property would be seized, I would be deported, and I would be banned from entering Mexico for decades.

All this guff about rights is bullshit, it's people who've are either hypocrites (the illegal Mexicans in the USA who wave Mexican flags), or people that have internalized beliefs that are counter to their interests (tech workers that take the side of tech corporations that bring in hundreds of thousands of foreign scab workers).  What I've noticed is that radical leftists don't care that they're hypocrites, they're willing to say and do anything to get what they want.  They're dumb enough to believe that we care about the sexual escapades of our orange-hued Executive after they spent decades defending everything Bill Clinton does.  We know that Trump is a poon hound, we didn't elect him for principles we elected him because we don't want our traitorous corporate overlords to destroy us.

It galls me watching Trump make deals with these traitors while giving ground on the few things that Democrats do well, like environmentalism, but Trump will only cut deals with people who negotiate.  The Democrats refuse to negotiate, therefore they get nothing.  Trump offered them everything they wanted to resolve DACA (which was a patently illegal executive order by Obama), but they rejected it because they've riled their base up so much that they will tear them limb-from-limb if they are seen negotiating with Cheetoh-Dust Hitler.

We'll see how this plays out in the midterms, but my bet is we will see a spate of suicides by diehard Never-Trumpers and #Resistance when they realize their folly.  Trump has an amazing ability to turn liabilities into advantages, and we have 6 more months to go.

Before anyone gets into a political fight, remember that both Republican and Democrat politicians support unlimited legal and illegal immigration.  Republican politicians support it because their donors want cheap labor; Democrat politicians support it because the children of immigrants overwhelmingly vote Democrat even going back to the days of Irish and Eastern European mass migration in the 1800s.  It took over a century to integrate the Irish and Eastern Europeans into the rest of American society, and if anyone needs reminding the Irish and Eastern Europeans were brought here by giant corporations who wanted cheap expendable labor.  Upton Sinclair - a socialist muck-raker - wrote a book about it called the Jungle.

I'm a radical centrist - a populist, nationalist, and anti-corporate capitalist.  I don't care about culture war bullshit because for the most part it's a distraction.  I'm thankful that Trump hasn't started any wars other than bombing an empty Syrian airbase and bullying Rocketman on twitter (and using North Korea's nukes as an excuse to apply economic pressure on China).  I did not look forward to Fallout 2017, should Hillary have won and started proxy wars with Russia.

I can afford to make more than the minimum payments on my student loans because I cook all my own food and don't have a high maintenance girlfriend.  By my own math it will be 4 to 6 years before I'm out from under them, depending on whether I decide to relocated to do wildland firefighting next year.

If I could go back in time 5 years I would be apprenticed to a plumber, because the key is to find something that isn't easily outsourced or mechanized.
Quote from: Nyzer on March 24, 2018, 03:47:53 pm
I made one of my rare weekday appearances in IRC yesterday to ask a question while I was waiting at a long red light, and while I was in there I saw Xifanie ask if she'd maybe gone too far with her responses to you here. Make what you will of that.

But, dude, some of the questions or ideas you bring up are just... weird.

You asked "how are DVDs and CD-ROMs different" in a topic barely even tangentially related to your question. A quick google search brings up a few general answers. I'm sure you could find the answer to a specific technical question in the same way (or a more appropriate forum for that specific purpose), but even if not, why not ... y'know, be specific with your question in that case?

Good point about the DVDs and CD-ROMs, I should have clarified that - and I will if I remember.  I imagine the sectors are larger and it probably has more features in both the directory sectors and all sectors in general.

Most of the time when I ask a question I'm fishing for information that I can't find in a google search.  Given that FF12 is probably a DVD based game, someone who asks about it may know more about it than me; or may know where to ask about it.

You checked out a decompiler on github and decided to openly wonder what would happen if you tried using it on FFT files, instead of just... finding out by using it? And then when you got asked why you didn't just find out the easy way, you said it "didn't seem wise to use it on a public forum". But you wouldn't be using it on the forum, you'd be using it on your computer... so that reply doesn't really make sense. Are you suggesting the decompiler might not be trustworthy? Or that you couldn't put up the results of the decompiler for some reason (my best guess, the assumed potential risk of legal action)? Couldn't you still mention "it did this thing" without being too specific, if that's the worry?

There's a lot that's platform specific code in most PS1 games so output from a very powerful decompiler wouldn't be 1 for 1 what you could compile on your computer and expect to work, but decompilations that don't use clean-room reverse-engineering practices are illegal in the USA.  This means that one team disassembles something and writes a spec, and then one or more people who weren't part of the first team takes the spec and implements this.  Given the somewhat shady nature of the rom hacking scene, which are basically warez sites (let's not kid ourselves), I don't want to bring any more heat on the forum.

I'm also confused by the idea that you can't run FFTPatcher or "most tools created for Windows". Windows operating systems are so universal that even Apple computers have an option to use 'em. I've been able to run Patcher on a cheap laptop that once crashed trying to open the Documents folder. I just don't get how you don't have that option at all. Or why reinventing the entire wheel from scratch is a worthier time investment than simply going out and grabbing a cheap used PC for stuff like this.
Honestly, I think I can safely suggest that absolutely nobody considered the idea that you wouldn't be able to do this.

The last thing that confuses me here is how you seem to take Xifanie's barbed questions so personally. I mean, normally I'd get it, but it wasn't that long ago that you proposed an idea of digging up old drama and pissing off a lot of people, some of whom ties have been mutually cut with, on the grounds that trolling people like that would boost productivity. (It probably won't surprise you that it was only after this post that I started seeing any comments expressing annoyance with you.) Well, here you are, arguably being trolled (to a far lesser degree than what you proposed), and you're spending time passive-aggressively biting back and asserting that it makes one a poor moderator. So... is it productive or not? You should really make up your mind on that.

Hitting back isn't a bad thing by itself if your arguments are solid and you aren't the sort of autistic person that thinks the emotionality of the argument doesn't matter.  What's it called, escalation of force?  Where you reply with one level of greater intensity of violence than the person attacking you, in order to diffuse the situation via dominance?  That's what I did.

And yeah, you're definitely taking it a bit personally, or else you wouldn't consider Bonesy's completely unrelated and off-topic joke to be "kissing ass". It can't have been a jab at you because it's not at all related to what you're asking. (Messing with you a little, maybe, but not rudely.) And the off topic part shouldn't irk you either, considering when someone else made a topic to discuss the release of FFXII hacks you decided to hop in and ask what the difference between CDs and DVDs was.

Well geez, if I'm going to be struggle-session'd for my off-topic replies let's give Bonesy a struggle session too.

Is there even a tool to extract files from DVDs, specific to rom hacking?  Though you're right that I should have mentioned that it's hard to hack something when there's no easy way to interface with the data.

Usually if someone makes a low detail reply it's best to reply with an equally low effort request for clarification.

I can't really speak for anyone else here. I wouldn't have made the replies Xifanie did. But there's a little insight into why it can be hard to take you seriously and what might be annoying about (some of) what you're posting. And when you're asking a question that an available tool can answer for you, it's easy to see how someone might roll their eyes at it. I'm not saying this out of some attempt to drive you away or whatever; it's not as if you aren't knowledgeable about a lot of stuff. But you're not just being martyred for no reason here.

How is being as straight-forward as possible and calling things as they appear to be passive aggressive?  Isn't that normal aggressive?  The healthy kind where you stand up for yourself?  I'm not the type to shy away from direct confrontation.

Windows isn't an option for me right now because I'm on a hell of a budget paying off my student loans.  The firm that hired me literally brought in dozens of Indians and I was stuck doing IT scut work (imaging DVDs, oddly enough) for 3 weeks until management remembered that they were replacing all the Americans in the job I was hired to fill.  I'm washing dishes in a sushi joint for the next 4+ years until these people get deported... though if we could send the managers to prison and sell their assets to pay back the workers they ripped off that'd be great too.

Coding is one of the ways I keep my skills sharp; it doesn't matter to me if I'm reinventing the wheel.  Given that the wheel in question can't be used by some subset of people (and it's faulty for some use cases ie moving files or changing their sizes) reinventing it seems like a good idea if I'm the one offering to do it.

The issue with Xif's barbed replies is that I have personally seen people banned by her for asking questions when they aren't equipped to understand the replies.  If someone is going to ban me for asking questions and not giving 100% complete context, then that's on them and not me - I did all I could.

RE Bonesy: If someone hits me, I hit back.  Hardly passive.  If you're not getting the joke it's that I'm more bothered when someone suggests I'm passive than I am when someone calls me aggressive.

I wouldn't call going off and building my own tools martyrdom, and anyone who would non-jokingly create a massive shitstorm of non-feigned butthurt over internet insults is a loser (ed. for clarification, this refers to Voldemort).  Even if you did ban me I'd be OK with anyone here using any tools I make, forking them, whatever you want.  I'm just pointing out in my own special (which may be more retarded than special to some people) way that this may not be the best way to moderate a community if you want it to grow.

My style may not be your own.  I'd rather a forum where we don't take anything but hacking and programming seriously, and where we prank each other relentlessly.


I may be an asshole but I strive to be a fair, good-natured asshole.


Fixed some spelling errors.
I already wrote 99% of the code to navigate the disc image directory structure, read to and write from files, and generate EDC and ECC*1.  I'm debugging the last 2 cases of writing to a disc image (case 2, middle of a data table; and case 3, end of a data table).  It's abstracted such that it works on any table*2 in any file in a disc image regardless of it's location.  This is counter to how FFTPatcher works, where everything is hardcoded.

*1: Currently it only works for PS1 disc images, which off the top of my head I think are Mode 2.  I can never remember the correct Mode and Form, I always have to look at my notes.  Anyways, the code could be easily changed to accomodate other game systems that use CD-ROMs (like the Sega Saturn or CD-i), and maybe even the PS2 (which can use CD-ROMs and DVDs) though that would require a lot more work.

*2: Currently it only covers unencrypted, uncompressed tables with an absolute address, which never change size, and where all entries are all the same size.  For the editor I'm currently making for another game, I will eventually need to support tables that are encrypted, compressed, pointer-addressed, null-terminated, and of variable lengths.  I think these categories cover all use cases, though I'm not sure if that applies to images, videos, and sound.

I made this topic because I wanted to see if I can easily adapt this code to FFTPatcher or if I need to add code to handle custom LBA tables.  Java is superficially similar - at least in terms of syntax - to C#, so that's not much of a barrier compared to the operating system barrier (I use linux).  Having to write my own code to move files makes it considerably more difficult to test something - you can use CD Mage to move a file around and test it.

Now that I'm done discussing technical details, let's have a meta-discussion.

Quote from: Xifanie on March 23, 2018, 11:38:17 pm
You just proved my point. Betting would give you an incentive to actually do something with the information.
You even suggesting that shows you were not planning to do a goddamn thing in the first place. Also your failure to mention anything that you've done with your countless pointless questions.

So you don't want to share information because you already did the hard work of finding it and you don't want the plebes to know how to do it?  Is this really a forum about hacking, or is it a project to massage your ego?

How does treating someone like a moron for asking a random question that does not harm this forum in the slightest create an incentive for people to contribute?  I'm not angry, just curious, because it seems like FFH has lost the vast majority of it's participating members under your tenure.

Oh, and just to prove further my point, this is something I figured out in less than a minute by myself when I wanted to figure out how to move files in FFT.

Translation: "I'm a better hacker than you?"  Am I getting that right?  I'm very curious why you're having this outburst when a programmer asks a question.  Have you ever been employed as a programmer?  If instead you want to have a pissing contest then please tell me so I know to unzip my pants.  :)

Oh, and just to prove further my point, I made a fucking tool that allows creating and moving PSX ISO files. You would know the answer already if you gave half a shit.

Well thanks for telling me now.  Couldn't you have said that earlier?  Have you considered that I asked the question because I can't use most tools created for Windows and I'm more interested in programming than hacking hence why I rarely download spreadsheets?  Genuine question.

FFH has a lot of people who don't really do much, and only work on their own personal projects, and I'm still fine helping them.
You? Eeeeeeeeeeeeeehhhhhhhh...

LOL this is a straight-up lie, I've seen you ban people for not displaying proper netiqeutte... though you've stopped that in the past year or so.  I guess you realized that if you chase everyone away with emotional outbursts then there's no point to your project.

Why are you bothered by another forum post which takes up less than 0.01% of your database and bandwidth?  Do you think that mocking the few capable programmers that haven't already left for more relaxed modding forums is a good way to keep this community viable, or is this more of a social board where you can indulge your desire to control and dominate the converation?  Because if it is the latter - and if seeing someone do something that you can't or won't do bothers you - then I will stop posting and instead rely on Private Messages to chat with the remaining assembly language hackers and programmers.

I can't use FFTPatcher or most of the tools here, hence my inclination is to make my own tools.  This will happen with your assistance or without it, but if it happens without it you won't have any influence over me.  I've never moderated a community before and I'm very curious if I can do a better job than you.

In any case I thoroughly enjoyed watching your temper tantrum and I will pass this around to my friends as an example of how not to behave as an authority figure on the internet.  No hard feelings!

Quote from: Bonesy on March 23, 2018, 11:52:08 pm
how hak fft into another game entirely

Kissing the administrator's ass is peurile at best and demonstrates a lack of moral fiber on your part.  Elric and Xifanie have every right to participate in this discussion simply on merit of their contributions; you do not.  I want to make the tools to edit FFT better and most import I have the means to do so, hence why I consider myself on closer footing with them than yourself.

Quote from: Angel on March 23, 2018, 11:44:45 pm
I'll just answer this in the most concise way possible: PlayStation accesses everything by sector, not by structure. This is true even for redbook audio - games do not play audio by track data, but by sector.

I'm aware of that, Angel.  Some games use the directory sectors - which I call a directory structure - to navigate to and read from files on a disc image.  Some games instead load files from custom tables and ignore the directory sectors altogether - Vagrant Story is one such game, according to Valendian.  Using these custom tables (which Valendian and the people at RHDN call LBA tables, which I think stands for logical block addressing) makes it harder to modify the game as you must modify the LBA tables along with the directory sectors if you move files around.  You must find the LBA tables too, of course, which is tedious and time-consuming.

This is why there isn't a univeral disc image patching format other than PPF.  You can't rely on the directory sectors for every game, and you must find the LBA tables and document them before you could patch a game; assuming you wrote code to hande them.  Granted you could set up a repository to document this and let people contribute to it as they find out, allowing your universal disc image patcher to edit more games, but given how petty and spiteful so many people in the rom hacking world are these days it's unlikely this will ever happen.  That isn't a dig at FFH - being overly emotional is more funny than off-putting to me (you can guess how women react to this) - sites like RHDN are far, far worse than FFH ever could be.
Quote from: Xifanie on March 23, 2018, 07:28:55 pm
If I answer this one, will you finally stop asking questions out of pure curiosity? Because we both know you won't be using this information. Just like your last 10 questions.

Are you willing to bet that I won't do anything with this information, and if so how much?
... to navigate to files and load them?